(self.webpackChunk=self.webpackChunk||[]).push([[9752],{34182:function(Ar,At,Z){"use strict";Z.d(At,{Z:function(){return v}});var G=Z(87462),J=Z(67294),W={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"minus-square",theme:"outlined"},E=W,R=Z(17207),h=function(A,y){return J.createElement(R.Z,(0,G.Z)({},A,{ref:y,icon:E}))},v=J.forwardRef(h)},74664:function(Ar,At,Z){"use strict";Z.d(At,{Z:function(){return v}});var G=Z(87462),J=Z(67294),W={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"plus-square",theme:"outlined"},E=W,R=Z(17207),h=function(A,y){return J.createElement(R.Z,(0,G.Z)({},A,{ref:y,icon:E}))},v=J.forwardRef(h)},39132:function(Ar,At){"use strict";At.Z={flex_box_center:"flex_box_center___vG4eV",flex_space_between:"flex_space_between___qVVxe",flex_box_vertical_center:"flex_box_vertical_center___P8Z8s",flex_box_center_end:"flex_box_center_end___VMme3",flex_box_column:"flex_box_column___VMHwm",dropdownmenus:"dropdownmenus___oVzoj",popupClassNames:"popupClassNames___OcZq7",selectdown:"selectdown___mmcA8"}},91064:function(Ar,At){"use strict";At.Z={ChangeBut:"ChangeBut___VMCUO",DefaultDiv:"DefaultDiv___diOnG",DefaultDivItemActive:"DefaultDivItemActive___p8PnJ",DefaultDivItem:"DefaultDivItem___BkCuW",TableStyle:"TableStyle___DOsaq",ProgressStyle:"ProgressStyle___Mbw5z",ProgressStyle2:"ProgressStyle2___w9DG9",RankingDiv:"RankingDiv___RCXlB",NavBgTwo:"NavBgTwo___KU7t1",NavBgTwoActive:"NavBgTwoActive___hkC0h",NavBgItem:"NavBgItem___TBfQf",InputStyle:"InputStyle___BAYzG",TableMyHeader:"TableMyHeader___nZel6",TableMyDiv:"TableMyDiv___F4fkZ",CollapseStyle:"CollapseStyle___VkVMr",Item:"Item___pqPqX",SituationItem:"SituationItem___MzguO",waveDom:"waveDom___N1Yew",wave:"wave___UTqsO",select:"select___Yd9qe",selectWrap:"selectWrap___ddND4"}},52070:function(Ar,At){var Z=(G,J,W)=>new Promise((E,R)=>{var h=A=>{try{m(W.next(A))}catch(y){R(y)}},v=A=>{try{m(W.throw(A))}catch(y){R(y)}},m=A=>A.done?E(A.value):Promise.resolve(A.value).then(h,v);m((W=W.apply(G,J)).next())});(function(G,J){J(At)})(this,function(G){"use strict";var J={value:()=>{}};function W(){for(var C,L=0,I=arguments.length,k={};L=0&&(k=I.slice(X+1),I=I.slice(0,X)),I&&!L.hasOwnProperty(I))throw new Error("unknown type: "+I);return{type:I,name:k}})}function h(C,L){for(var I,k=0,X=C.length;k0)for(var I,k,X=new Array(I),Q=0;Q=0&&(L=C.slice(0,I))!=="xmlns"&&(C=C.slice(I+1)),A.hasOwnProperty(L)?{space:A[L],local:C}:C}function u(C){return function(){var L=this.ownerDocument,I=this.namespaceURI;return I===m&&L.documentElement.namespaceURI===m?L.createElement(C):L.createElementNS(I,C)}}function c(C){return function(){return this.ownerDocument.createElementNS(C.space,C.local)}}function p(C){var L=y(C);return(L.local?c:u)(L)}function r(){}function n(C){return C==null?r:function(){return this.querySelector(C)}}function o(C){return C==null?[]:Array.isArray(C)?C:Array.from(C)}function i(){return[]}function s(C){return C==null?i:function(){return this.querySelectorAll(C)}}function l(C){return function(){return this.matches(C)}}function d(C){return function(L){return L.matches(C)}}var e=Array.prototype.find;function t(){return this.firstElementChild}var a=Array.prototype.filter;function f(){return Array.from(this.children)}function g(C){return new Array(C.length)}function x(C,L){this.ownerDocument=C.ownerDocument,this.namespaceURI=C.namespaceURI,this._next=null,this._parent=C,this.__data__=L}function _(C){return function(){return C}}function D(C,L,I,k,X,Q){for(var te,q=0,ce=L.length,ee=Q.length;qL?1:C>=L?0:NaN}function K(C){return function(){this.removeAttribute(C)}}function S(C){return function(){this.removeAttributeNS(C.space,C.local)}}function B(C,L){return function(){this.setAttribute(C,L)}}function O(C,L){return function(){this.setAttributeNS(C.space,C.local,L)}}function U(C,L){return function(){var I=L.apply(this,arguments);I==null?this.removeAttribute(C):this.setAttribute(C,I)}}function F(C,L){return function(){var I=L.apply(this,arguments);I==null?this.removeAttributeNS(C.space,C.local):this.setAttributeNS(C.space,C.local,I)}}function H(C){return C.ownerDocument&&C.ownerDocument.defaultView||C.document&&C||C.defaultView}function Y(C){return function(){this.style.removeProperty(C)}}function ne(C,L,I){return function(){this.style.setProperty(C,L,I)}}function ae(C,L,I){return function(){var k=L.apply(this,arguments);k==null?this.style.removeProperty(C):this.style.setProperty(C,k,I)}}function me(C,L){return C.style.getPropertyValue(L)||H(C).getComputedStyle(C,null).getPropertyValue(L)}function Ce(C){return function(){delete this[C]}}function ge(C,L){return function(){this[C]=L}}function pe(C,L){return function(){var I=L.apply(this,arguments);I==null?delete this[C]:this[C]=I}}function we(C){return C.trim().split(/^|\s+/)}function De(C){return C.classList||new Se(C)}function Se(C){this._node=C,this._names=we(C.getAttribute("class")||"")}function ve(C,L){for(var I=De(C),k=-1,X=L.length;++k=0&&(I=L.slice(k+1),L=L.slice(0,k)),{type:L,name:I}})}function Nt(C){return function(){var L=this.__on;if(L){for(var I,k=0,X=-1,Q=L.length;k=0&&(this._names.splice(L,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(C){return this._names.indexOf(C)>=0}};var nt=[null];function Gt(C,L){this._groups=C,this._parents=L}function Tr(){return new Gt([[document.documentElement]],nt)}function rr(C){return typeof C=="string"?new Gt([[document.querySelector(C)]],[document.documentElement]):new Gt([[C]],nt)}function Pt(C,L){if(C=function(Q){let te;for(;te=Q.sourceEvent;)Q=te;return Q}(C),L===void 0&&(L=C.currentTarget),L){var I=L.ownerSVGElement||L;if(I.createSVGPoint){var k=I.createSVGPoint();return k.x=C.clientX,k.y=C.clientY,[(k=k.matrixTransform(L.getScreenCTM().inverse())).x,k.y]}if(L.getBoundingClientRect){var X=L.getBoundingClientRect();return[C.clientX-X.left-L.clientLeft,C.clientY-X.top-L.clientTop]}}return[C.pageX,C.pageY]}Gt.prototype=Tr.prototype={constructor:Gt,select:function(C){typeof C!="function"&&(C=n(C));for(var L=this._groups,I=L.length,k=new Array(I),X=0;X=_r&&(_r=Zt+1);!(Lt=je[_r])&&++_r=0;)(k=X[Q])&&(te&&4^k.compareDocumentPosition(te)&&te.parentNode.insertBefore(k,te),te=k);return this},sort:function(C){function L(be,Le){return be&&Le?C(be.__data__,Le.__data__):!be-!Le}C||(C=N);for(var I=this._groups,k=I.length,X=new Array(k),Q=0;Q1?this.each((L==null?Y:typeof L=="function"?ae:ne)(C,L,I==null?"":I)):me(this.node(),C)},property:function(C,L){return arguments.length>1?this.each((L==null?Ce:typeof L=="function"?pe:ge)(C,L)):this.node()[C]},classed:function(C,L){var I=we(C+"");if(arguments.length<2){for(var k=De(this.node()),X=-1,Q=I.length;++X()=>C;function Kt(C,{sourceEvent:L,subject:I,target:k,identifier:X,active:Q,x:te,y:q,dx:ce,dy:ee,dispatch:fe}){Object.defineProperties(this,{type:{value:C,enumerable:!0,configurable:!0},sourceEvent:{value:L,enumerable:!0,configurable:!0},subject:{value:I,enumerable:!0,configurable:!0},target:{value:k,enumerable:!0,configurable:!0},identifier:{value:X,enumerable:!0,configurable:!0},active:{value:Q,enumerable:!0,configurable:!0},x:{value:te,enumerable:!0,configurable:!0},y:{value:q,enumerable:!0,configurable:!0},dx:{value:ce,enumerable:!0,configurable:!0},dy:{value:ee,enumerable:!0,configurable:!0},_:{value:fe}})}function Ke(C){return!C.ctrlKey&&!C.button}function He(){return this.parentNode}function Ue(C,L){return L==null?{x:C.x,y:C.y}:L}function et(){return navigator.maxTouchPoints||"ontouchstart"in this}function tt(C,L,I){C.prototype=L.prototype=I,I.constructor=C}function it(C,L){var I=Object.create(C.prototype);for(var k in L)I[k]=L[k];return I}function vt(){}Kt.prototype.on=function(){var C=this._.on.apply(this._,arguments);return C===this._?this:C};var pt=.7,Xt=1/pt,ke="\\s*([+-]?\\d+)\\s*",T="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",P="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",V=/^#([0-9a-f]{3,8})$/,$=new RegExp(`^rgb\\(${ke},${ke},${ke}\\)$`),re=new RegExp(`^rgb\\(${P},${P},${P}\\)$`),xe=new RegExp(`^rgba\\(${ke},${ke},${ke},${T}\\)$`),Me=new RegExp(`^rgba\\(${P},${P},${P},${T}\\)$`),at=new RegExp(`^hsl\\(${T},${P},${P}\\)$`),dt=new RegExp(`^hsla\\(${T},${P},${P},${T}\\)$`),Ot={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function jt(){return this.rgb().formatHex()}function Mr(){return this.rgb().formatRgb()}function Yt(C){var L,I;return C=(C+"").trim().toLowerCase(),(L=V.exec(C))?(I=L[1].length,L=parseInt(L[1],16),I===6?Er(L):I===3?new kt(L>>8&15|L>>4&240,L>>4&15|240&L,(15&L)<<4|15&L,1):I===8?sr(L>>24&255,L>>16&255,L>>8&255,(255&L)/255):I===4?sr(L>>12&15|L>>8&240,L>>8&15|L>>4&240,L>>4&15|240&L,((15&L)<<4|15&L)/255):null):(L=$.exec(C))?new kt(L[1],L[2],L[3],1):(L=re.exec(C))?new kt(255*L[1]/100,255*L[2]/100,255*L[3]/100,1):(L=xe.exec(C))?sr(L[1],L[2],L[3],L[4]):(L=Me.exec(C))?sr(255*L[1]/100,255*L[2]/100,255*L[3]/100,L[4]):(L=at.exec(C))?Pr(L[1],L[2]/100,L[3]/100,1):(L=dt.exec(C))?Pr(L[1],L[2]/100,L[3]/100,L[4]):Ot.hasOwnProperty(C)?Er(Ot[C]):C==="transparent"?new kt(NaN,NaN,NaN,0):null}function Er(C){return new kt(C>>16&255,C>>8&255,255&C,1)}function sr(C,L,I,k){return k<=0&&(C=L=I=NaN),new kt(C,L,I,k)}function Bt(C){return C instanceof vt||(C=Yt(C)),C?new kt((C=C.rgb()).r,C.g,C.b,C.opacity):new kt}function Jt(C,L,I,k){return arguments.length===1?Bt(C):new kt(C,L,I,k==null?1:k)}function kt(C,L,I,k){this.r=+C,this.g=+L,this.b=+I,this.opacity=+k}function xr(){return`#${nr(this.r)}${nr(this.g)}${nr(this.b)}`}function Ir(){const C=Ye(this.opacity);return`${C===1?"rgb(":"rgba("}${wr(this.r)}, ${wr(this.g)}, ${wr(this.b)}${C===1?")":`, ${C})`}`}function Ye(C){return isNaN(C)?1:Math.max(0,Math.min(1,C))}function wr(C){return Math.max(0,Math.min(255,Math.round(C)||0))}function nr(C){return((C=wr(C))<16?"0":"")+C.toString(16)}function Pr(C,L,I,k){return k<=0?C=L=I=NaN:I<=0||I>=1?C=L=NaN:L<=0&&(C=NaN),new zr(C,L,I,k)}function jr(C){if(C instanceof zr)return new zr(C.h,C.s,C.l,C.opacity);if(C instanceof vt||(C=Yt(C)),!C)return new zr;if(C instanceof zr)return C;var L=(C=C.rgb()).r/255,I=C.g/255,k=C.b/255,X=Math.min(L,I,k),Q=Math.max(L,I,k),te=NaN,q=Q-X,ce=(Q+X)/2;return q?(te=L===Q?(I-k)/q+6*(I0&&ce<1?0:te,new zr(te,q,ce,C.opacity)}function zr(C,L,I,k){this.h=+C,this.s=+L,this.l=+I,this.opacity=+k}function Wn(C){return(C=(C||0)%360)<0?C+360:C}function ua(C){return Math.max(0,Math.min(1,C||0))}function ca(C,L,I){return 255*(C<60?L+(I-L)*C/60:C<180?I:C<240?L+(I-L)*(240-C)/60:L)}tt(vt,Yt,{copy(C){return Object.assign(new this.constructor,this,C)},displayable(){return this.rgb().displayable()},hex:jt,formatHex:jt,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return jr(this).formatHsl()},formatRgb:Mr,toString:Mr}),tt(kt,Jt,it(vt,{brighter(C){return C=C==null?Xt:Math.pow(Xt,C),new kt(this.r*C,this.g*C,this.b*C,this.opacity)},darker(C){return C=C==null?pt:Math.pow(pt,C),new kt(this.r*C,this.g*C,this.b*C,this.opacity)},rgb(){return this},clamp(){return new kt(wr(this.r),wr(this.g),wr(this.b),Ye(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:xr,formatHex:xr,formatHex8:function(){return`#${nr(this.r)}${nr(this.g)}${nr(this.b)}${nr(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Ir,toString:Ir})),tt(zr,function(C,L,I,k){return arguments.length===1?jr(C):new zr(C,L,I,k==null?1:k)},it(vt,{brighter(C){return C=C==null?Xt:Math.pow(Xt,C),new zr(this.h,this.s,this.l*C,this.opacity)},darker(C){return C=C==null?pt:Math.pow(pt,C),new zr(this.h,this.s,this.l*C,this.opacity)},rgb(){var C=this.h%360+360*(this.h<0),L=isNaN(C)||isNaN(this.s)?0:this.s,I=this.l,k=I+(I<.5?I:1-I)*L,X=2*I-k;return new kt(ca(C>=240?C-240:C+120,X,k),ca(C,X,k),ca(C<120?C+240:C-120,X,k),this.opacity)},clamp(){return new zr(Wn(this.h),ua(this.s),ua(this.l),Ye(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const C=Ye(this.opacity);return`${C===1?"hsl(":"hsla("}${Wn(this.h)}, ${100*ua(this.s)}%, ${100*ua(this.l)}%${C===1?")":`, ${C})`}`}}));var na=C=>()=>C;function Qn(C){return(C=+C)==1?Ra:function(L,I){return I-L?function(k,X,Q){return k=Math.pow(k,Q),X=Math.pow(X,Q)-k,Q=1/Q,function(te){return Math.pow(k+te*X,Q)}}(L,I,C):na(isNaN(L)?I:L)}}function Ra(C,L){var I=L-C;return I?function(k,X){return function(Q){return k+Q*X}}(C,I):na(isNaN(C)?L:C)}var wa=function C(L){var I=Qn(L);function k(X,Q){var te=I((X=Jt(X)).r,(Q=Jt(Q)).r),q=I(X.g,Q.g),ce=I(X.b,Q.b),ee=Ra(X.opacity,Q.opacity);return function(fe){return X.r=te(fe),X.g=q(fe),X.b=ce(fe),X.opacity=ee(fe),X+""}}return k.gamma=C,k}(1);function Ia(C,L){L||(L=[]);var I,k=C?Math.min(L.length,C.length):0,X=L.slice();return function(Q){for(I=0;IQ&&(X=L.slice(Q,X),q[te]?q[te]+=X:q[++te]=X),(I=I[0])===(k=k[0])?q[te]?q[te]+=k:q[++te]=k:(q[++te]=null,ce.push({i:te,x:ot(I,k)})),Q=qt.lastIndex;return Q180?fe+=360:fe-ee>180&&(ee+=360),Le.push({i:be.push(X(be)+"rotate(",null,k)-2,x:ot(ee,fe)})):fe&&be.push(X(be)+"rotate("+fe+k)}(Q.rotate,te.rotate,q,ce),function(ee,fe,be,Le){ee!==fe?Le.push({i:be.push(X(be)+"skewX(",null,k)-2,x:ot(ee,fe)}):fe&&be.push(X(be)+"skewX("+fe+k)}(Q.skewX,te.skewX,q,ce),function(ee,fe,be,Le,$e,Ze){if(ee!==be||fe!==Le){var Ge=$e.push(X($e)+"scale(",null,",",null,")");Ze.push({i:Ge-4,x:ot(ee,be)},{i:Ge-2,x:ot(fe,Le)})}else be===1&&Le===1||$e.push(X($e)+"scale("+be+","+Le+")")}(Q.scaleX,Q.scaleY,te.scaleX,te.scaleY,q,ce),Q=te=null,function(ee){for(var fe,be=-1,Le=ce.length;++be=0&&L._call.call(void 0,C),L=L._next;--Vr})()}finally{Vr=0,function(){for(var C,L,I=ir,k=1/0;I;)I._call?(k>I._time&&(k=I._time),C=I,I=I._next):(L=I._next,I._next=null,I=C?C._next=L:ir=L);Wt=C,vr(k)}(),Yr=0}}function Bn(){var C=Cn.now(),L=C-Zr;L>1e3&&(Nn-=L,Zr=C)}function vr(C){Vr||(An&&(An=clearTimeout(An)),C-Yr>24?(C<1/0&&(An=setTimeout(Hn,C-Cn.now()-Nn)),_n&&(_n=clearInterval(_n))):(_n||(Zr=Cn.now(),_n=setInterval(Bn,1e3)),Vr=1,cn(Hn)))}function nn(C,L,I){var k=new Sn;return L=L==null?0:+L,k.restart(X=>{k.stop(),C(X+L)},L,I),k}Sn.prototype=mn.prototype={constructor:Sn,restart:function(C,L,I){if(typeof C!="function")throw new TypeError("callback is not a function");I=(I==null?yr():+I)+(L==null?0:+L),this._next||Wt===this||(Wt?Wt._next=this:ir=this,Wt=this),this._call=C,this._time=I,vr()},stop:function(){this._call&&(this._call=null,this._time=1/0,vr())}};var Un=W("start","end","cancel","interrupt"),mr=[];function Gn(C,L,I,k,X,Q){var te=C.__transition;if(te){if(I in te)return}else C.__transition={};(function(q,ce,ee){var fe,be=q.__transition;function Le(je){ee.state=1,ee.timer.restart($e,ee.delay,ee.time),ee.delay<=je&&$e(je-ee.delay)}function $e(je){var yt,lt,Lt,Zt;if(ee.state!==1)return Ge();for(yt in be)if((Zt=be[yt]).name===ee.name){if(Zt.state===3)return nn($e);Zt.state===4?(Zt.state=6,Zt.timer.stop(),Zt.on.call("interrupt",q,q.__data__,Zt.index,Zt.group),delete be[yt]):+yt0)throw new Error("too late; already scheduled");return I}function Jn(C,L){var I=ft(C,L);if(I.state>3)throw new Error("too late; already running");return I}function ft(C,L){var I=C.__transition;if(!I||!(I=I[L]))throw new Error("transition not found");return I}function Pn(C,L){var I,k,X,Q=C.__transition,te=!0;if(Q){for(X in L=L==null?null:L+"",Q)(I=Q[X]).name===L?(k=I.state>2&&I.state<5,I.state=6,I.timer.stop(),I.on.call(k?"interrupt":"cancel",C,C.__data__,I.index,I.group),delete Q[X]):te=!1;te&&delete C.__transition}}function ni(C,L){var I,k;return function(){var X=Jn(this,C),Q=X.tween;if(Q!==I){for(var te=0,q=(k=I=Q).length;te=0&&(q=q.slice(0,ce)),!q||q==="start"})}(L)?bn:Jn;return function(){var te=Q(this,C),q=te.on;q!==k&&(X=(k=q).copy()).on(L,I),te.on=X}}var en=Tr.prototype.constructor;function da(C){return function(){this.style.removeProperty(C)}}function Zn(C,L,I){return function(k){this.style.setProperty(C,L.call(this,k),I)}}function sa(C,L,I){var k,X;function Q(){var te=L.apply(this,arguments);return te!==X&&(k=(X=te)&&Zn(C,te,I)),k}return Q._value=L,Q}function Ga(C){return function(L){this.textContent=C.call(this,L)}}function _a(C){var L,I;function k(){var X=C.apply(this,arguments);return X!==I&&(L=(I=X)&&Ga(X)),L}return k._value=C,k}var ta=0;function ya(C,L,I,k){this._groups=C,this._parents=L,this._name=I,this._id=k}function pi(){return++ta}var Fa=Tr.prototype;ya.prototype={constructor:ya,select:function(C){var L=this._name,I=this._id;typeof C!="function"&&(C=n(C));for(var k=this._groups,X=k.length,Q=new Array(X),te=0;te=(Q=(Ge+yt)/2))?Ge=Q:yt=Q,(fe=I>=(te=(je+lt)/2))?je=te:lt=te,X=$e,!($e=$e[be=fe<<1|ee]))return X[be]=Ze,C;if(q=+C._x.call(null,$e.data),ce=+C._y.call(null,$e.data),L===q&&I===ce)return Ze.next=$e,X?X[be]=Ze:C._root=Ze,C;do X=X?X[be]=new Array(4):C._root=new Array(4),(ee=L>=(Q=(Ge+yt)/2))?Ge=Q:yt=Q,(fe=I>=(te=(je+lt)/2))?je=te:lt=te;while((be=fe<<1|ee)==(Le=(ce>=te)<<1|q>=Q));return X[Le]=$e,X[be]=Ze,C}function Va(C,L,I,k,X){this.node=C,this.x0=L,this.y0=I,this.x1=k,this.y1=X}function to(C){return C[0]}function ro(C){return C[1]}function Di(C,L,I){var k=new Ni(L==null?to:L,I==null?ro:I,NaN,NaN,NaN,NaN);return C==null?k:k.addAll(C)}function Ni(C,L,I,k,X,Q){this._x=C,this._y=L,this._x0=I,this._y0=k,this._x1=X,this._y1=Q,this._root=void 0}function Hi(C){for(var L={data:C.data},I=L;C=C.next;)I=I.next={data:C.data};return L}zi.prototype=Ea.prototype={constructor:zi,moveTo:function(C,L){this._+="M"+(this._x0=this._x1=+C)+","+(this._y0=this._y1=+L)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(C,L){this._+="L"+(this._x1=+C)+","+(this._y1=+L)},quadraticCurveTo:function(C,L,I,k){this._+="Q"+ +C+","+ +L+","+(this._x1=+I)+","+(this._y1=+k)},bezierCurveTo:function(C,L,I,k,X,Q){this._+="C"+ +C+","+ +L+","+ +I+","+ +k+","+(this._x1=+X)+","+(this._y1=+Q)},arcTo:function(C,L,I,k,X){C=+C,L=+L,I=+I,k=+k,X=+X;var Q=this._x1,te=this._y1,q=I-C,ce=k-L,ee=Q-C,fe=te-L,be=ee*ee+fe*fe;if(X<0)throw new Error("negative radius: "+X);if(this._x1===null)this._+="M"+(this._x1=C)+","+(this._y1=L);else if(be>Ci)if(Math.abs(fe*q-ce*ee)>Ci&&X){var Le=I-Q,$e=k-te,Ze=q*q+ce*ce,Ge=Le*Le+$e*$e,je=Math.sqrt(Ze),yt=Math.sqrt(be),lt=X*Math.tan((Li-Math.acos((Ze+be-Ge)/(2*je*yt)))/2),Lt=lt/yt,Zt=lt/je;Math.abs(Lt-1)>Ci&&(this._+="L"+(C+Lt*ee)+","+(L+Lt*fe)),this._+="A"+X+","+X+",0,0,"+ +(fe*Le>ee*$e)+","+(this._x1=C+Zt*q)+","+(this._y1=L+Zt*ce)}else this._+="L"+(this._x1=C)+","+(this._y1=L)},arc:function(C,L,I,k,X,Q){C=+C,L=+L,Q=!!Q;var te=(I=+I)*Math.cos(k),q=I*Math.sin(k),ce=C+te,ee=L+q,fe=1^Q,be=Q?k-X:X-k;if(I<0)throw new Error("negative radius: "+I);this._x1===null?this._+="M"+ce+","+ee:(Math.abs(this._x1-ce)>Ci||Math.abs(this._y1-ee)>Ci)&&(this._+="L"+ce+","+ee),I&&(be<0&&(be=be%Ii+Ii),be>si?this._+="A"+I+","+I+",0,1,"+fe+","+(C-te)+","+(L-q)+"A"+I+","+I+",0,1,"+fe+","+(this._x1=ce)+","+(this._y1=ee):be>Ci&&(this._+="A"+I+","+I+",0,"+ +(be>=Li)+","+fe+","+(this._x1=C+I*Math.cos(X))+","+(this._y1=L+I*Math.sin(X))))},rect:function(C,L,I,k){this._+="M"+(this._x0=this._x1=+C)+","+(this._y0=this._y1=+L)+"h"+ +I+"v"+ +k+"h"+-I+"Z"},toString:function(){return this._}};var ja=Di.prototype=Ni.prototype;function $a(C){return function(){return C}}function mi(C){return 1e-6*(C()-.5)}function vo(C){return C.x+C.vx}function no(C){return C.y+C.vy}function mo(C){return C.index}function ao(C,L){var I=C.get(L);if(!I)throw new Error("node not found: "+L);return I}function Ti(C){var L,I,k,X,Q,te,q=mo,ce=function(Ge){return 1/Math.min(X[Ge.source.index],X[Ge.target.index])},ee=$a(30),fe=1;function be(Ge){for(var je=0,yt=C.length;je[q(Zt,_r,k),Zt]));for(Ge=0,X=new Array(yt);Gefe&&(fe=k),Xbe&&(be=X));if(ce>fe||ee>be)return this;for(this.cover(ce,ee).cover(fe,be),I=0;IC||C>=X||k>L||L>=Q;)switch(q=(LLe||(Q=ce.y0)>$e||(te=ce.x1)=yt)<<1|C>=je)&&(ce=Ze[Ze.length-1],Ze[Ze.length-1]=Ze[Ze.length-1-ee],Ze[Ze.length-1-ee]=ce)}else{var lt=C-+this._x.call(null,Ge.data),Lt=L-+this._y.call(null,Ge.data),Zt=lt*lt+Lt*Lt;if(Zt=(q=(Ze+je)/2))?Ze=q:je=q,(fe=te>=(ce=(Ge+yt)/2))?Ge=ce:yt=ce,L=$e,!($e=$e[be=fe<<1|ee]))return this;if(!$e.length)break;(L[be+1&3]||L[be+2&3]||L[be+3&3])&&(I=L,Le=be)}for(;$e.data!==C;)if(k=$e,!($e=$e.next))return this;return(X=$e.next)&&delete $e.next,k?(X?k.next=X:delete k.next,this):L?(X?L[be]=X:delete L[be],($e=L[0]||L[1]||L[2]||L[3])&&$e===(L[3]||L[2]||L[1]||L[0])&&!$e.length&&(I?I[Le]=$e:this._root=$e),this):(this._root=X,this)},ja.removeAll=function(C){for(var L=0,I=C.length;L(Ge=(1664525*Ge+1013904223)%wi)/wi}();function be(){Le(),ee.call("tick",L),I1?(je==null?q.delete(Ge):q.set(Ge,Ze(je)),L):q.get(Ge)},find:function(Ge,je,yt){var lt,Lt,Zt,_r,wt,pr=0,Br=C.length;for(yt==null?yt=1/0:yt*=yt,pr=0;pr1?(ee.on(Ge,je),L):ee.on(Ge)}}}function xa(C){return function(){return C}}const po=Math.abs,ka=Math.atan2,_i=Math.cos,io=Math.max,ji=Math.min,vi=Math.sin,xi=Math.sqrt,ei=1e-12,Mi=Math.PI,ti=Mi/2,Bi=2*Mi;function Jr(C){return C>1?0:C<-1?Mi:Math.acos(C)}function di(C){return C>=1?ti:C<=-1?-ti:Math.asin(C)}function oo(C){return C.innerRadius}function Zi(C){return C.outerRadius}function go(C){return C.startAngle}function _o(C){return C.endAngle}function Oi(C){return C&&C.padAngle}function yo(C,L,I,k,X,Q,te,q){var ce=I-C,ee=k-L,fe=te-X,be=q-Q,Le=be*ce-fe*ee;if(!(Le*LeSt*St+Ht*Ht&&(Br=It,Ur=Ut),{cx:Br,cy:Ur,x01:-fe,y01:-be,x11:Br*(X/_r-1),y11:Ur*(X/_r-1)}}function so(){var C=oo,L=Zi,I=xa(0),k=null,X=go,Q=_o,te=Oi,q=null;function ce(){var ee,fe,be=+C.apply(this,arguments),Le=+L.apply(this,arguments),$e=X.apply(this,arguments)-ti,Ze=Q.apply(this,arguments)-ti,Ge=po(Ze-$e),je=Ze>$e;if(q||(q=ee=Ea()),Leei)if(Ge>Bi-ei)q.moveTo(Le*_i($e),Le*vi($e)),q.arc(0,0,Le,$e,Ze,!je),be>ei&&(q.moveTo(be*_i(Ze),be*vi(Ze)),q.arc(0,0,be,Ze,$e,je));else{var yt,lt,Lt=$e,Zt=Ze,_r=$e,wt=Ze,pr=Ge,Br=Ge,Ur=te.apply(this,arguments)/2,It=Ur>ei&&(k?+k.apply(this,arguments):xi(be*be+Le*Le)),Ut=ji(po(Le-be)/2,+I.apply(this,arguments)),Lr=Ut,Qe=Ut;if(It>ei){var St=di(It/be*vi(Ur)),Ht=di(It/Le*vi(Ur));(pr-=2*St)>ei?(_r+=St*=je?1:-1,wt-=St):(pr=0,_r=wt=($e+Ze)/2),(Br-=2*Ht)>ei?(Lt+=Ht*=je?1:-1,Zt-=Ht):(Br=0,Lt=Zt=($e+Ze)/2)}var Vt=Le*_i(Lt),cr=Le*vi(Lt),or=be*_i(wt),tr=be*vi(wt);if(Ut>ei){var Rr,pn=Le*_i(Zt),Cr=Le*vi(Zt),Kn=be*_i(_r),Vn=be*vi(_r);if(Geei?Qe>ei?(yt=Pi(Kn,Vn,Vt,cr,Le,Qe,je),lt=Pi(pn,Cr,or,tr,Le,Qe,je),q.moveTo(yt.cx+yt.x01,yt.cy+yt.y01),Qeei&&pr>ei?Lr>ei?(yt=Pi(or,tr,pn,Cr,be,-Lr,je),lt=Pi(Vt,cr,Kn,Vn,be,-Lr,je),q.lineTo(yt.cx+yt.x01,yt.cy+yt.y01),LrC?1:L>=C?0:NaN}function dn(C){return C}function sn(){var C=dn,L=Nr,I=null,k=xa(0),X=xa(Bi),Q=xa(0);function te(q){var ce,ee,fe,be,Le,$e=(q=mt(q)).length,Ze=0,Ge=new Array($e),je=new Array($e),yt=+k.apply(this,arguments),lt=Math.min(Bi,Math.max(-Bi,X.apply(this,arguments)-yt)),Lt=Math.min(Math.abs(lt)/$e,Q.apply(this,arguments)),Zt=Lt*(lt<0?-1:1);for(ce=0;ce<$e;++ce)(Le=je[Ge[ce]=ce]=+C(q[ce],ce,q))>0&&(Ze+=Le);for(L!=null?Ge.sort(function(_r,wt){return L(je[_r],je[wt])}):I!=null&&Ge.sort(function(_r,wt){return I(q[_r],q[wt])}),ce=0,fe=Ze?(lt-$e*Zt)/Ze:0;ce<$e;++ce,yt=be)ee=Ge[ce],be=yt+((Le=je[ee])>0?Le*fe:0)+Zt,je[ee]={data:q[ee],index:ce,value:Le,startAngle:yt,endAngle:be,padAngle:Lt};return je}return te.value=function(q){return arguments.length?(C=typeof q=="function"?q:xa(+q),te):C},te.sortValues=function(q){return arguments.length?(L=q,I=null,te):L},te.sort=function(q){return arguments.length?(I=q,L=null,te):I},te.startAngle=function(q){return arguments.length?(k=typeof q=="function"?q:xa(+q),te):k},te.endAngle=function(q){return arguments.length?(X=typeof q=="function"?q:xa(+q),te):X},te.padAngle=function(q){return arguments.length?(Q=typeof q=="function"?q:xa(+q),te):Q},te}var Ma=C=>()=>C;function la(C,{sourceEvent:L,target:I,transform:k,dispatch:X}){Object.defineProperties(this,{type:{value:C,enumerable:!0,configurable:!0},sourceEvent:{value:L,enumerable:!0,configurable:!0},target:{value:I,enumerable:!0,configurable:!0},transform:{value:k,enumerable:!0,configurable:!0},_:{value:X}})}function qn(C,L,I){this.k=C,this.x=L,this.y=I}qn.prototype={constructor:qn,scale:function(C){return C===1?this:new qn(this.k*C,this.x,this.y)},translate:function(C,L){return C===0&L===0?this:new qn(this.k,this.x+this.k*C,this.y+this.k*L)},apply:function(C){return[C[0]*this.k+this.x,C[1]*this.k+this.y]},applyX:function(C){return C*this.k+this.x},applyY:function(C){return C*this.k+this.y},invert:function(C){return[(C[0]-this.x)/this.k,(C[1]-this.y)/this.k]},invertX:function(C){return(C-this.x)/this.k},invertY:function(C){return(C-this.y)/this.k},rescaleX:function(C){return C.copy().domain(C.range().map(this.invertX,this).map(C.invert,C))},rescaleY:function(C){return C.copy().domain(C.range().map(this.invertY,this).map(C.invert,C))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ba=new qn(1,0,0);function Pa(C){C.stopImmediatePropagation()}function za(C){C.preventDefault(),C.stopImmediatePropagation()}function hi(C){return!(C.ctrlKey&&C.type!=="wheel"||C.button)}function Si(){var C=this;return C instanceof SVGElement?(C=C.ownerSVGElement||C).hasAttribute("viewBox")?[[(C=C.viewBox.baseVal).x,C.y],[C.x+C.width,C.y+C.height]]:[[0,0],[C.width.baseVal.value,C.height.baseVal.value]]:[[0,0],[C.clientWidth,C.clientHeight]]}function Ri(){return this.__zoom||ba}function Ui(C){return-C.deltaY*(C.deltaMode===1?.05:C.deltaMode?1:.002)*(C.ctrlKey?10:1)}function Fi(){return navigator.maxTouchPoints||"ontouchstart"in this}function Wi(C,L,I){var k=C.invertX(L[0][0])-I[0][0],X=C.invertX(L[1][0])-I[1][0],Q=C.invertY(L[0][1])-I[0][1],te=C.invertY(L[1][1])-I[1][1];return C.translate(X>k?(k+X)/2:Math.min(0,k)||Math.max(0,X),te>Q?(Q+te)/2:Math.min(0,Q)||Math.max(0,te))}function Qr(){var C,L,I,k=hi,X=Si,Q=Wi,te=Ui,q=Fi,ce=[0,1/0],ee=[[-1/0,-1/0],[1/0,1/0]],fe=250,be=fr,Le=W("start","zoom","end"),$e=500,Ze=0,Ge=10;function je(Qe){Qe.property("__zoom",Ri).on("wheel.zoom",pr,{passive:!1}).on("mousedown.zoom",Br).on("dblclick.zoom",Ur).filter(q).on("touchstart.zoom",It).on("touchmove.zoom",Ut).on("touchend.zoom touchcancel.zoom",Lr).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function yt(Qe,St){return(St=Math.max(ce[0],Math.min(ce[1],St)))===Qe.k?Qe:new qn(St,Qe.x,Qe.y)}function lt(Qe,St,Ht){var Vt=St[0]-Ht[0]*Qe.k,cr=St[1]-Ht[1]*Qe.k;return Vt===Qe.x&&cr===Qe.y?Qe:new qn(Qe.k,Vt,cr)}function Lt(Qe){return[(+Qe[0][0]+ +Qe[1][0])/2,(+Qe[0][1]+ +Qe[1][1])/2]}function Zt(Qe,St,Ht,Vt){Qe.on("start.zoom",function(){_r(this,arguments).event(Vt).start()}).on("interrupt.zoom end.zoom",function(){_r(this,arguments).event(Vt).end()}).tween("zoom",function(){var cr=this,or=arguments,tr=_r(cr,or).event(Vt),Rr=X.apply(cr,or),pn=Ht==null?Lt(Rr):typeof Ht=="function"?Ht.apply(cr,or):Ht,Cr=Math.max(Rr[1][0]-Rr[0][0],Rr[1][1]-Rr[0][1]),Kn=cr.__zoom,Vn=typeof St=="function"?St.apply(cr,or):St,Ca=be(Kn.invert(pn).concat(Cr/Kn.k),Vn.invert(pn).concat(Cr/Vn.k));return function(Da){if(Da===1)Da=Vn;else{var Xa=Ca(Da),Ai=Cr/Xa[2];Da=new qn(Ai,pn[0]-Xa[0]*Ai,pn[1]-Xa[1]*Ai)}tr.zoom(null,Da)}})}function _r(Qe,St,Ht){return!Ht&&Qe.__zooming||new wt(Qe,St)}function wt(Qe,St){this.that=Qe,this.args=St,this.active=0,this.sourceEvent=null,this.extent=X.apply(Qe,St),this.taps=0}function pr(Qe,...St){if(k.apply(this,arguments)){var Ht=_r(this,St).event(Qe),Vt=this.__zoom,cr=Math.max(ce[0],Math.min(ce[1],Vt.k*Math.pow(2,te.apply(this,arguments)))),or=Pt(Qe);if(Ht.wheel)Ht.mouse[0][0]===or[0]&&Ht.mouse[0][1]===or[1]||(Ht.mouse[1]=Vt.invert(Ht.mouse[0]=or)),clearTimeout(Ht.wheel);else{if(Vt.k===cr)return;Ht.mouse=[or,Vt.invert(or)],Pn(this),Ht.start()}za(Qe),Ht.wheel=setTimeout(tr,150),Ht.zoom("mouse",Q(lt(yt(Vt,cr),Ht.mouse[0],Ht.mouse[1]),Ht.extent,ee))}function tr(){Ht.wheel=null,Ht.end()}}function Br(Qe,...St){if(!I&&k.apply(this,arguments)){var Ht=Qe.currentTarget,Vt=_r(this,St,!0).event(Qe),cr=rr(Qe.view).on("mousemove.zoom",pn,!0).on("mouseup.zoom",Cr,!0),or=Pt(Qe,Ht),tr=Qe.clientX,Rr=Qe.clientY;an(Qe.view),Pa(Qe),Vt.mouse=[or,this.__zoom.invert(or)],Pn(this),Vt.start()}function pn(Kn){if(za(Kn),!Vt.moved){var Vn=Kn.clientX-tr,Ca=Kn.clientY-Rr;Vt.moved=Vn*Vn+Ca*Ca>Ze}Vt.event(Kn).zoom("mouse",Q(lt(Vt.that.__zoom,Vt.mouse[0]=Pt(Kn,Ht),Vt.mouse[1]),Vt.extent,ee))}function Cr(Kn){cr.on("mousemove.zoom mouseup.zoom",null),Ln(Kn.view,Vt.moved),za(Kn),Vt.event(Kn).end()}}function Ur(Qe,...St){if(k.apply(this,arguments)){var Ht=this.__zoom,Vt=Pt(Qe.changedTouches?Qe.changedTouches[0]:Qe,this),cr=Ht.invert(Vt),or=Ht.k*(Qe.shiftKey?.5:2),tr=Q(lt(yt(Ht,or),Vt,cr),X.apply(this,St),ee);za(Qe),fe>0?rr(this).transition().duration(fe).call(Zt,tr,Vt,Qe):rr(this).call(je.transform,tr,Vt,Qe)}}function It(Qe,...St){if(k.apply(this,arguments)){var Ht,Vt,cr,or,tr=Qe.touches,Rr=tr.length,pn=_r(this,St,Qe.changedTouches.length===Rr).event(Qe);for(Pa(Qe),Vt=0;Vt=0;--Qe){var St=this.tryEntries[Qe],Ht=St.completion;if(St.tryLoc==="root")return Lr("end");if(St.tryLoc<=this.prev){var Vt=I.call(St,"catchLoc"),cr=I.call(St,"finallyLoc");if(Vt&&cr){if(this.prev=0;--Lr){var Qe=this.tryEntries[Lr];if(Qe.tryLoc<=this.prev&&I.call(Qe,"finallyLoc")&&this.prev=0;--Ut){var Lr=this.tryEntries[Ut];if(Lr.finallyLoc===It)return this.complete(Lr.completion,Lr.afterLoc),wt(Lr),fe}},catch:function(It){for(var Ut=this.tryEntries.length-1;Ut>=0;--Ut){var Lr=this.tryEntries[Ut];if(Lr.tryLoc===It){var Qe=Lr.completion;if(Qe.type==="throw"){var St=Qe.arg;wt(Lr)}return St}}throw new Error("illegal catch attempt")},delegateYield:function(It,Ut,Lr){return this.delegate={iterator:Br(It),resultName:Ut,nextLoc:Lr},this.method==="next"&&(this.arg=void 0),fe}},C}function La(C){return La=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(L){return typeof L}:function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},La(C)}function Na(C,L,I,k,X,Q,te){try{var q=C[Q](te),ce=q.value}catch(ee){return void I(ee)}q.done?L(ce):Promise.resolve(ce).then(k,X)}function Wa(C){return function(){var L=this,I=arguments;return new Promise(function(k,X){var Q=C.apply(L,I);function te(ce){Na(Q,k,X,te,q,"next",ce)}function q(ce){Na(Q,k,X,te,q,"throw",ce)}te(void 0)})}}function Xi(C,L){if(!(C instanceof L))throw new TypeError("Cannot call a class as a function")}function Yi(C,L){for(var I=0;IC.length)&&(L=C.length);for(var I=0,k=new Array(L);I=C.length?{done:!0}:{done:!1,value:C[k++]}},e:function(ce){throw ce},f:X}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Q,te=!0,q=!1;return{s:function(){I=I.call(C)},n:function(){var ce=I.next();return te=ce.done,ce},e:function(ce){q=!0,Q=ce},f:function(){try{te||I.return==null||I.return()}finally{if(q)throw Q}}}}function le(C){var L=32;switch(C){case 0:L=23;break;case 1:L=26;break;case 2:default:L=32;break;case 3:L=38}return L}function ue(C){C=C.sort();for(var L=[],I=0;IL&&I<2*L||I>L&&I<3*L)&&k.push(C.length);var ce=k.length;ce===1?X.push({text:C,x:0,y:0}):ce===2?k.forEach(function(ee,fe){fe===0?X.push({text:C.substring(0,ee),x:0,y:-7}):X.push({text:C.substring(k[0],ee),x:0,y:7})}):k.forEach(function(ee,fe){fe===0?X.push({text:C.substring(0,ee),x:0,y:-12}):fe===1?X.push({text:C.substring(k[0],ee+1),x:0,y:4}):C.length>ee?(()=>{var be=X.reduce((Le,$e)=>Le+$e.text.length,0);X.push({text:C.substring(be,be+2)+(C.length-(be+2)>0?"...":""),x:0,y:16})})():X.push({text:C.substring(k[1]+1,ee),x:0,y:16})})}(),X}qn.prototype;var Ne=["circle","rect","ellipse"],Ve=["url(#radialGradient-1)","url(#radialGradient-2)","url(#radialGradient-3)"],Je=["url(#lines1)","url(#lines2)","url(#lines3)"];function gt(C,L,I){return C.selectAll(".node-circle").remove(),C.selectAll(".node-circle").data(L,function(k){return k.id}).enter().append(function(k){return Ne.includes(k.shape)?document.createElementNS("http://www.w3.org/2000/svg",k.shape):document.createElementNS("http://www.w3.org/2000/svg","circle")}).style("display",function(k){return k.hide?"none":"block"}).style("opacity",function(k){return k.hide?"0":"1"}).attr("r",function(k){return k.shape=="circle"?rt(k.size):null}).attr("rx",function(k){return k.shape=="ellipse"?rt(k.size)+10:k.shape=="rect"?10:null}).attr("ry",function(k){return k.shape=="ellipse"?rt(k.size)+10:k.shape=="rect"?10:null}).attr("width",function(k){return k.shape=="rect"?3*(rt(k.size)-6):2*(rt(k.size)-6)}).attr("height",function(k){return k.shape=="rect"?1.5*(rt(k.size)-6):2*(rt(k.size)-6)}).attr("fill",function(k){return k.colorType?Ve[k.colorType-1]:k.color||"url(#radialGradient-1)"}).attr("color",function(k){return k.color||"#2E8B57"}).attr("class",function(k){return"node-circle node-circle-".concat(k.id," transition-opacity duration-500")}).attr("id",function(k){return"node-circle".concat(k.id)}).style("cursor","pointer").on("mouseover",function(k,X){var Q=X.activeColor||"#008FFF";k.target.setAttribute("stroke",Q),k.target.setAttribute("stroke-width","8")}).on("mouseout",function(k){k.target.setAttribute("stroke-width","0")}).append("title").text(function(k){return k.name}),C.selectAll(".node-circle")}function rt(C){var L=32;switch(C){case 0:L=23;break;case 1:L=26;break;case 2:default:L=32;break;case 3:L=38}return L}function bt(C,L){return C.selectAll("text").remove(),C.selectAll("text").data(L,function(I){return I.id}).enter().append("text").attr("dy",".35em").attr("text-anchor","middle").attr("pointer-events","none").style("fill","#fff").style("font-size","10px").style("text-anchor","middle").attr("class",function(I){return"node-text node-circle node-circle--text-".concat(I.id," node-text-").concat(I.id," transition-opacity duration-500")}).style("cursor","pointer").append("svg:title").text(function(I){return I.name}),C.selectAll("text").style("display",function(I){return I.hide?"none":"block"}),C.selectAll("text").attr("d",function(I){I.shape=="rect"?rr(".node-circle--text-".concat(I.id)).append("tspan").style("cursor","pointer").append("tspan").text(function(k){return k.name}):Oe(I.name,rt(I.size)).forEach(function(k,X){rr(".node-circle--text-".concat(I.id)).append("tspan").style("cursor","pointer").attr("class",function(Q){return"node-circle--tspan-".concat(Q.id,"-").concat(X)}).attr("x",k.x).attr("y",k.y).text(function(){return k.text})})}),C.selectAll("text")}function ct(C){var L=arguments.length>1&&arguments[1]!==void 0&&arguments[1],I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},X=k._ops,Q=rr("body"),te=[];if(L&&X.isShowBatchOperation)return I.push(C.id),rr("".concat(X.containerName)).style("background","#5e5e5e"),I.forEach(function(be){te.push(Q.select("".concat(X.containerName," .node-circle-").concat(be)).attr("color"))}),Q.selectAll("".concat(X.containerName," .node-circle")).attr("fill","#3c3b3b"),I.forEach(function(be,Le){Q.select("".concat(X.containerName," .node-circle-").concat(be)).attr("fill",te[Le])}),void rr(".graph-bath").style("display","block");if(X.isShowMask){var q=[],ce=[];X.links.map(function(be){be.source.id==C.id&&(q.push(be.target.id),ce.push(be.source.id+be.target.id)),be.target.id==C.id&&(q.push(be.source.id),ce.push(be.source.id+be.target.id))});var ee=ue(q),fe=ue(ce);ee.push(C.id),Q.selectAll("".concat(X.containerName," .line-item")).style("display","none"),rr("".concat(X.containerName)).style("background","#5e5e5e"),ee.forEach(function(be){te.push(Q.select("".concat(X.containerName," .node-circle-").concat(be)).attr("color"))}),Q.selectAll("".concat(X.containerName," .node-circle")).attr("fill","#3c3b3b"),ee.forEach(function(be,Le){Q.select("".concat(X.containerName," .node-circle-").concat(be)).attr("fill",te[Le])}),fe.forEach(function(be){Q.selectAll("".concat(X.containerName," .line-item-").concat(be)).style("display",function(Le){return Le.hide?"none":"block"})})}}var Ct=[],Et={addPath:function(C){C.forEach(function(L){var I=Ct.indexOf(L);I!=-1&&Ct.splice(I,1),Ct.unshift(L)})},getPath:function(){return Ct},clearPath:function(){Ct.length=0}};function Rt(C,L,I,k){return $t.apply(this,arguments)}function $t(){return $t=Wa(ma().mark(function C(L,I,k,X){var Q;return ma().wrap(function(te){for(;;)switch(te.prev=te.next){case 0:return Q=k._ops,te.delegateYield(ma().mark(function q(){var ce,ee,fe,be,Le,$e,Ze,Ge,je,yt,lt,Lt,Zt,_r,wt,pr,Br,Ur,It,Ut,Lr,Qe,St,Ht,Vt,cr,or,tr,Rr,pn;return ma().wrap(function(Cr){for(;;)switch(Cr.prev=Cr.next){case 0:Cr.t0=L,Cr.next=Cr.t0==="remove"?3:Cr.t0==="hide"?19:Cr.t0==="contraction"?22:Cr.t0==="extend"?42:Cr.t0==="editSize"?62:Cr.t0==="editColor"?71:Cr.t0==="editShape"?79:Cr.t0==="extend-path"?87:Cr.t0==="contraction-path"?96:100;break;case 3:ce=0;case 4:if(!(ce1?or[1]:null)&&dr.contractionPath(tr,or,k),dr.extendPath(cr,k),dr.previousStep.id=cr,dr.previousStep.operate="extend",k.update(),Cr.abrupt("break",100);case 96:return Rr=I[0],(pn=Et.getPath()).indexOf(Rr)!=-1&&(dr.contractionPath(Rr,pn,k),dr.previousStep.operate=="extend"&&dr.previousStep.id!=Rr?(dr.extendPath(dr.previousStep.id,k),dr.previousStep.operate="extend"):(dr.previousStep.id=Rr,dr.previousStep.operate="contraction"),k.update()),Cr.abrupt("break",100);case 100:case"end":return Cr.stop()}},q)})(),"t0",2);case 2:rr(Q.containerName).style("background",Q.background);case 3:case"end":return te.stop()}},C)})),$t.apply(this,arguments)}var ur,dr={extendPath:function(C,L){for(var I=L._ops,k=I.nodes,X=I.links,Q=[],te=[],q=0;q0)for(var fe=0;fe1&&arguments[1]!==void 0?arguments[1]:{};ur=C,L._linkContainer.selectAll(".connect-item")._groups[0].length||L._linkContainer.append("g").attr("class","connect-item").append("path").attr("stroke-width",2).attr("stroke","#5e5ef0").attr("class","connect-item-inner"),rr("".concat(L._ops.containerName)).on("mousemove",function(I){rn(I,L)})}function rn(C,L){var I,k,X,Q=(I=L._linkContainer._groups[0][0].parentNode.attributes.transform,{translate:(X=(k=I)&&/translate/.test(k.value)&&/scale/.test(k.value)&&k.value.match(/translate\(([^\)]+)\)\s?scale\(([^\)]+)/))&&X[1].split(",")||[0,0],scale:X&&X[2]||1}),te=Q.translate,q=Q.scale;L._linkContainer.selectAll(".connect-item-inner").attr("d",function(){return"M".concat(ur.x,", ").concat(ur.y," L").concat(C.offsetX/q-te[0]/q,", ").concat(C.offsetY/q-te[1]/q)})}function Mn(C){return Array.isArray(C[0])?{message:"success",done:function(L){for(var I=0;I1&&arguments[1]!==void 0?arguments[1]:"order",I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,X=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,Q=!0;return k==1&&C.length%2==0&&(Q=!1),C.map(function(te,q){te._level=k,te._value=k==1?q+1:q+1+(I-1)*C.length,te._parent=k==2?1:X,te._site=k!=1||Q?L:q=je/2){var _r=Lt.startAngle;Lt.startAngle=Lt.endAngle,Lt.endAngle=_r}return Lt})):(je=ee._level==1?ee.children.length*be._toolbarData.length:ee.children.length*ee._num,Ge=sn()(new Array(je).fill(1)).map(function(Lt){if(ee._site=="left"){var Zt=Lt.startAngle;Lt.startAngle=Lt.endAngle,Lt.endAngle=Zt}return Lt})),fe._num=Ge.length;var lt=ee._value;return fe._site=="left"?(yt=Ge.slice(Ge.length/2,Ge.length),lt=ee._value-ee._num/2):yt=Ge.slice(0,Ge.length/2),Le=Ka(yt,yt.length/(ee._num/2))[lt-1],ee._level==0&&(Le=Ge),Le}(I,Q,k),ce=Xe(q[te].startAngle,q[te].endAngle);return function(ee){return br?function(fe,be,Le,$e,Ze,Ge,je,yt){var lt=gn(Le[je].startAngle,be(fe),Ze._level+1,Ze._level+2,yt),Lt=lt.centroid(Le[je]);return $e[je].setAttribute("x",Lt[0]-6),$e[je].setAttribute("y",Lt[1]-6),yt._operationContainer.selectAll("".concat(Ge," .pie-icon")).transition().delay(150).styleTween("display",function(){return Dn("none",br?"block":"none")}),lt()}(ee,ce,q,X,I,L,te,k):""}})}}}]),C}();function un(C){C.selectAll(".arc-item .pie-item").interrupt().attr("d",null),C.selectAll(".arc-item .pie-icon").interrupt().style("display","none"),C.style("display","none"),C.selectAll(".operation-item").attr("transform",function(){return"rotate(0)"}),br=!1}var gn=function(C,L){var I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:2,X=arguments.length>4?arguments[4]:void 0;return so().innerRadius(I*X.containerSize+2).outerRadius(k*X.containerSize).padAngle(.02).startAngle(C).endAngle(L)};function In(){return In=Wa(ma().mark(function C(L,I,k){var X,Q,te;return ma().wrap(function(q){for(;;)switch(q.prev=q.next){case 0:q.t0=L.type,q.next=q.t0==="connect"?3:q.t0==="unlocked"?8:33;break;case 3:return Dr.length=0,qr=!0,Dr.push(I),Or(I,k._example),q.abrupt("break",36);case 8:Q=oe(k._example._ops.nodes),q.prev=9,Q.s();case 11:if((te=Q.n()).done){q.next=19;break}if((X=te.value).id!=I.id){q.next=17;break}return X.fx=null,X.fy=null,q.abrupt("break",19);case 17:q.next=11;break;case 19:q.next=24;break;case 21:q.prev=21,q.t1=q.catch(9),Q.e(q.t1);case 24:return q.prev=24,Q.f(),q.finish(24);case 27:return k._example._simulation._simulation.nodes(k._example._ops.nodes),k._example._simulation._simulation.alphaTarget(.08).restart(),setTimeout(function(){k._example._simulation._simulation.alphaTarget(0)},300),q.next=32,L.click(I);case 32:return q.abrupt("break",36);case 33:return q.next=35,L.click({node:I});case 35:Rt(L.type,[I.id],k._example);case 36:En=null,un(k._operationContainer);case 38:case"end":return q.stop()}},C,null,[[9,21,24,27]])})),In.apply(this,arguments)}function ra(){return(ra=Wa(ma().mark(function C(L,I){var k,X,Q;return ma().wrap(function(te){for(;;)switch(te.prev=te.next){case 0:return rr(".graph-container").on("mousemove",null),qr=!1,Dr.push(L),X={node:L,connects:(k=[]).concat.apply(k,Dr)},te.next=6,Xn.click(X);case 6:Q=te.sent,Mn(Q||[Dr.splice(0)]).done(I),ct(X.connects[0],!1,[],I),Dr.length=0;case 11:case"end":return te.stop()}},C)}))).apply(this,arguments)}function Ka(C,L){for(var I=[],k=0;k4&&arguments[4]!==void 0?arguments[4]:1,Q=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7,te=arguments.length>6&&arguments[6]!==void 0?arguments[6]:7;this.deflection=k;var q=function(or){return or*or},ce=this.deflection*Math.PI/180,ee={x:Math.cos(ce)*C,y:Math.sin(ce)*C},fe=C/(L+te),be=-I*fe/(1-fe),Le=function(or,tr,Rr,pn){var Cr=or.y/(or.x-be),Kn=or.y-Cr*or.x,Vn=1+q(Cr),Ca=2*(Cr*Kn-Rr),Da=q(Kn)+q(Rr)-q(tr),Xa={x:(-Ca+pn*Math.sqrt(q(Ca)-4*Vn*Da))/(2*Vn)};return Xa.y=(Xa.x-be)*Cr,Xa},$e=Le(ee,L+te,I,-1),Ze=-ee.x/ee.y,Ge=ee.y+q(ee.x)/ee.y,je=-($e.x-I)/$e.y,yt=$e.y+($e.x-I)*$e.x/$e.y,lt=(Ge-yt)/(je-Ze),Lt=Ze*lt+Ge,Zt=Math.sqrt(q(lt-ee.x)+q(Lt-ee.y)),_r=Math.atan2(ee.x-lt,Lt-ee.y),wt=Math.atan2($e.x-lt,Lt-$e.y),pr=(_r+wt)/2;this.deflection>0&&(pr+=Math.PI);var Br=wt-_r;this.deflection>0&&(Br=2*Math.PI-Br),this.shaftLength=Br*Zt,_r>wt&&(this.shaftLength=0),this.midShaftPoint={x:lt+Zt*Math.sin(pr),y:Lt-Zt*Math.cos(pr)};var Ur=function(or){var tr=(or<0?1:-1)*Math.sqrt(q(or)/(1+q(Ze))),Rr=Ze*tr;return{x:ee.x+tr,y:ee.y+Rr}},It=function(or){var tr=(or<0?-1:1)*Math.sqrt(q(or)/(1+q(je))),Rr=je*tr;return{x:$e.x+tr,y:$e.y+Rr}},Ut=function(or,tr){return{x:lt+(Zt+tr)*Math.sin(or),y:Lt-(Zt+tr)*Math.cos(or)}},Lr=function(or){var tr=(or<0?-1:1)*Math.sqrt(q(or)/(1+q(1/je))),Rr=tr/je;return{x:$e.x+tr,y:$e.y-Rr}},Qe=function(or){return or.x+","+or.y},St=X/2,Ht=Q/2,Vt=ee.y>0?0:1,cr=ee.y<0?0:1;this.outline=function(){if(_r>wt)return["M",Qe(It(-Ht)),"L",Qe(Lr(te)),"L",Qe(It(Ht)),"Z"].join(" ");var or=pr-0,tr=pr+0;return["M",Qe(Ur(St)),"L",Qe(Ur(-St)),"A",Zt-St,Zt-St,0,0,Vt,Qe(Ut(or,-St)),"L",Qe(Ut(or,St)),"A",Zt+St,Zt+St,0,0,cr,Qe(Ur(St)),"Z","M",Qe(Ut(tr,St)),"L",Qe(Ut(tr,-St)),"A",Zt-St,Zt-St,0,0,Vt,Qe(It(-St)),"L",Qe(It(-Ht)),"L",Qe(Lr(te)),"L",Qe(It(Ht)),"L",Qe(It(St)),"A",Zt+St,Zt+St,0,0,cr,Qe(Ut(tr,St))].join(" ")}}function Qa(C,L,I){var k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:8,X=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,Q=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7,te=arguments.length>6&&arguments[6]!==void 0?arguments[6]:7,q=I*Math.PI/180,ce=C,ee=C+te,fe=C+L,be=fe*Math.tan(q/2),Le=X/2;function $e(lt,Lt){return lt+","+Lt}this.shaftLength=3*be+X;var Ze=function(lt,Lt,Zt){var _r=Lt*Math.tan(q/2),wt=Lt/Math.cos(q/2);return $e((_r+Zt)*Math.sin(lt),wt+(_r+Zt)*Math.cos(lt))},Ge=function(){var lt=Ze(0,fe,Le+k/2+2).split(",");return{x:lt[0],y:lt[1]}};this.midShaftPoint=Ge();var je=function(lt,Lt){return Ze((Math.PI+q)/2,lt,Lt)},yt=function(lt,Lt){return Ze(-(Math.PI+q)/2,lt,Lt)};this.outline=function(){var lt=be-Le,Lt=be+Le;return["M",je(ce,Le),"L",je(fe,Le),"A",Lt,Lt,0,1,1,yt(fe,Le),"L",yt(ee,Le),"L",yt(ee,-Q/2),"L",yt(ce,0),"L",yt(ee,Q/2),"L",yt(ee,-Le),"L",yt(fe,-Le),"A",lt,lt,0,1,0,je(fe,-Le),"L",je(ce,-Le),"Z"].join(" ")}}function ci(C,L,I){var k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,X=arguments.length>4&&arguments[4]!==void 0?arguments[4]:7,Q=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7;this.length=I-(C+L),this.shaftLength=this.length-Q;var te=C,q=te+this.shaftLength,ce=te+this.length,ee=k/2,fe=X/2;this.midShaftPoint={x:te+this.shaftLength/2,y:0},this.outline=function(){var be=0,Le=0;return["M",te,ee,"L",be,ee,"L",be,-ee,"L",te,-ee,"Z","M",Le,ee,"L",q,ee,"L",q,fe,"L",ce,0,"L",q,-fe,"L",q,-ee,"L",Le,-ee,"Z"].join(" ")}}function Za(){}var pa=new Za;function $n(C,L){this.relationships=[],C.idk)return I;var X=Math.ceil((k-L)/12);return I.length-X<=0?"":I.substr(0,I.length-X)+"\u2026"}},Za.prototype.distributeAnglesForLoopArrows=function(C,L){for(var I,k=0,X=Array.from(C);k0){var Le=void 0,$e=void 0,Ze={start:0,end:0};for(Q=0;QZe.end-Ze.start&&(Ze.start=$e,Ze.end=Le);for(te=(Ze.end-Ze.start)/(I.relationships.length+1),Q=0;Q150?150/ee:30,be=0;beLe.x&&(Q=Le.x),teLe.y&&(q=Le.y),ce=Le)){(lt.data!==te||lt.next)&&(wt===0&&(Ur+=(wt=mi(q))*wt),pr===0&&(Ur+=(pr=mi(q))*pr),Uryt+Ht||Utlt+Ht||Lrje.index){var Vt=yt-Qe.x-Qe.vx,cr=lt-Qe.y-Qe.vy,or=Vt*Vt+cr*cr;orZe.r&&(Ze.r=Ze[Ge].r)}function $e(){if(te){var Ze,Ge,je=te.length;for(q=new Array(je),Ze=0;Ze3&&arguments[3]!==void 0?arguments[3]:1,Q=k.benchmark,te=k.height,q=k.width,ce=k.isResize,ee=k.layout,fe=ee.distance?ee.distance:Math.min(te,q)/2-80,be=Ti(I).iterations(.05).id(function(Le){return Le[Q]}).distance(function(){return I.length<=5&&ce?100:I.length<=20&&ce?fe:I.length<=60?180:230});this._simulation.nodes(L).force("link",be).velocityDecay(.2).alpha(X).alphaDecay(.08),this._simulation.restart()}},{key:"addSimulationEvent",value:function(L,I,k,X){var Q=this,te=Eo(L,3),q=te[0],ce=te[1],ee=te[2];this._simulation.on("tick",function(){return pa.layoutRelationships(X),Q._root.layout.force&&pa.layoutNodes(Q._root),q.attr("transform",function(fe){return"translate("+fe.source.x+" "+fe.source.y+") rotate("+(fe.naturalAngle-180)+")"}),ce.attr("d",function(fe){return fe.arrow.outline(fe)}),ee.attr("x",function(fe){return fe.arrow.midShaftPoint.x}).attr("y",function(fe){return fe.arrow.midShaftPoint.y+13}).attr("transform",function(fe){return fe.naturalAngle<90||fe.naturalAngle>270?"rotate(180 "+fe.arrow.midShaftPoint.x+" "+fe.arrow.midShaftPoint.y+")":null}).text(function(fe){return fe.shortCaption}),I.attr("cx",function(fe){return fe.x}).attr("cy",function(fe){return fe.y}).attr("x",function(fe){return fe.shape=="rect"?fe.x-le(fe.size):fe.x-fe.size+6}).attr("y",function(fe){return fe.shape=="rect"?fe.y-le(fe.size)/1.5:fe.y-fe.size+6}),void k.attr("x",function(fe){return Oe(fe.name,le(fe.size)).forEach(function(be,Le){rr(".node-circle--tspan-".concat(fe.id,"-").concat(Le)).attr("x",fe.x).attr("y",be.y+fe.y)}),fe.x}).attr("y",function(fe){return fe.y})})}},{key:"drag",value:function(){var L=this;return function(){var I,k,X,Q,te=Ke,q=He,ce=Ue,ee=et,fe={},be=W("start","drag","end"),Le=0,$e=0;function Ze(wt){wt.on("mousedown.drag",Ge).filter(ee).on("touchstart.drag",lt).on("touchmove.drag",Lt,Sr).on("touchend.drag touchcancel.drag",Zt).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function Ge(wt,pr){if(!Q&&te.call(this,wt,pr)){var Br=_r(this,q.call(this,wt,pr),wt,pr,"mouse");Br&&(rr(wt.view).on("mousemove.drag",je,$r).on("mouseup.drag",yt,$r),an(wt.view),vn(wt),X=!1,I=wt.clientX,k=wt.clientY,Br("start",wt))}}function je(wt){if(Gr(wt),!X){var pr=wt.clientX-I,Br=wt.clientY-k;X=pr*pr+Br*Br>$e}fe.mouse("drag",wt)}function yt(wt){rr(wt.view).on("mousemove.drag mouseup.drag",null),Ln(wt.view,X),Gr(wt),fe.mouse("end",wt)}function lt(wt,pr){if(te.call(this,wt,pr)){var Br,Ur,It=wt.changedTouches,Ut=q.call(this,wt,pr),Lr=It.length;for(Br=0;Br `;G.createContainer=class{constructor(C){var L=["style","innerHTML","body","absolute","append","defsvg","div","createElement","zIndex"],I=function(q,ce){q=q-0;var ee=L[q];return ee};if(!document.getElementById("defsvg")){var k=document[I("0x7")](I("0x6"));k.id=I("0x5"),k[I("0x1")]=Yn,k[I("0x0")].position=I("0x3"),k.style.top="-10000px",k[I("0x0")][I("0x8")]=-1,document[I("0x2")][I("0x4")](k)}Tr.prototype.addElement=function(q){for(var ce=arguments.length,ee=new Array(ce>1?ce-1:0),fe=1;fe2&&arguments[2]!==void 0?arguments[2]:.1,Ge=arguments.length>3&&arguments[3]!==void 0?arguments[3]:15,je=Qr().scaleExtent([Ze,Ge]).on("zoom",function(yt){$e.attr("transform",yt.transform)});te.zoom=je,Le.call(je),$e.on("dblclick.zoom",null),Le.on("dblclick.zoom",null)}(fe,be,ee.zoomOptions.minScale,ee.zoomOptions.maxScale)}(X,this),this._simulation=new ga(this),this._pie=new ln(this),this.update()}addNode(C){(function(L,I){I._ops.nodes.push(L),I.update()})(C,this)}zoomIn(){rr(this._ops.containerName).select("svg").transition().duration(750).call(this.zoom.scaleBy,1.2)}zoomOut(){rr(this._ops.containerName).select("svg").transition().duration(750).call(this.zoom.scaleBy,.8)}toggleNode(C){if(!this._ops.clickToggle)return;var L=this._ops.nodes,I=this._ops.links;C.isExtendedState=!C.isExtendedState;var k=!C.isExtendedState,X=[C.id];function Q(te,q,ce){ce.forEach(ee=>{if(ee.source.id===te){ee.hide=k;const fe=q.find(be=>be.id===ee.target.id);fe&&(fe.hide=k,X.push(fe.id),Q(fe.id,q,ce))}})}setTimeout(()=>{X.forEach(te=>{I.forEach(q=>{(q.source.id===te||q.target.id===te)&&q.target.id!==C.id&&(q.hide=k)})}),this.update()},100),Q(C.id,L,I)}showAllNodes(){this._ops.nodes.forEach(C=>{C.hide=!1}),this._ops.links.forEach(C=>{C.hide=!1}),this.update()}deleteNode(C){(function(L,I){I._ops.nodes=I._ops.nodes.filter(function(k){return k.id!==L.id}),I._ops.links=I._ops.links.filter(function(k){return k.source.id!==L.id&&k.target.id!==L.id}),I.update(),un(I.operationContainer)})(C,this)}scrollToNode(C){const I=document.querySelector(this._ops.containerName+" svg").querySelector("g.graph-box"),k=this._ops.nodes.find(fe=>fe.id===C);if(!k)return;const X=k.x,Q=k.y,te=1287,q=596,ce=te/2-X,ee=q/2-Q;I.setAttribute("transform",`translate(${ce}, ${ee})`)}selectToNode(C){const L=document.querySelector(this._ops.containerName+" svg");document.body.querySelectorAll("circle.node-circle").forEach(I=>{I.classList.remove("highlightNode")}),C&&L.querySelector(".node-circle-"+C).classList.add("highlightNode")}update(C=!0,L={}){var I,k;this._pie.showPie("");const X=this._ops.nodes,Q=this._ops.links,te=this._nodeContainer.addElement(gt,X,this),q=this._linkContainer.addElement(lr,Q,this),ce=this._textContainer.addElement(bt,X);te.on("click",(Le,$e)=>Z(this,null,function*(){this.toggleNode($e);const Ze=yield this._ops.nodeClick($e);if(Ze){const{type:Ge,id:je}=Ze;Rt(Ge,je,this)}})),this._ops.isCustomMouse&&(te.on("mouseover",(Le,$e)=>Z(this,null,function*(){yield this._ops.nodeMouseover($e)})),te.on("mouseout",()=>Z(this,null,function*(){yield this._ops.nodeMouseout()}))),te.on("contextmenu",(Le,$e)=>{Le.preventDefault(),this._pie.showPie($e,Le)}),te.call(this._simulation.drag());const ee=(I=document.querySelector(this._ops.containerName))===null||I===void 0?void 0:I.clientWidth,fe=(k=document.querySelector(this._ops.containerName))===null||k===void 0?void 0:k.clientHeight,be=document.getElementsByClassName(`${this._ops.containerName}-graph-container`)[0];be&&ee&&fe&&(this._ops.width=ee,this._ops.height=fe,be.setAttribute("viewBox",`0 0 ${ee} ${fe}`)),C?this._simulation.updateSimulation(X,Q,this._ops):this._simulation.updateSimulation(X,Q,this._ops,.1),this._simulation.addSimulationEvent(q,te,ce,Q),function(Le,$e){var Ze=["object","function","undefined"];if(La($e)!=="object")return Le;for(var Ge in $e)Ze.indexOf(La($e[Ge]))===-1&&(Le[Ge]=$e[Ge])}(this._ops,L),Object.getOwnPropertyNames(L).length&&this._updateBaseTheme()}_updateBaseTheme(){rr(this._ops.containerName).style("background",this._ops.background)}},G.storage=Et,Object.defineProperty(G,"__esModule",{value:!0})})},26194:function(Ar,At,Z){"use strict";var G=Z(67294),J=Z(4977),W=Z(85804),E=Object.defineProperty,R=Object.defineProperties,h=Object.getOwnPropertyDescriptors,v=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,y=(r,n,o)=>n in r?E(r,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[n]=o,u=(r,n)=>{for(var o in n||(n={}))m.call(n,o)&&y(r,o,n[o]);if(v)for(var o of v(n))A.call(n,o)&&y(r,o,n[o]);return r},c=(r,n)=>R(r,h(n));const p=({img:r,buttonProps:n={},styles:o={},customText:i,ButtonText:s,ButtonClick:l,Buttonclass:d,ButtonTwo:e,imgStyles:t,loading:a=!1,className:f=""})=>G.createElement("section",{className:`tc animated fadeIn ${f}`,style:u({color:"#999",margin:"100px auto",visibility:a?"hidden":"visible"},o)},G.createElement("img",{src:r||J,style:c(u({},t),{pointerEvents:"none",userSelect:"none"})}),G.createElement("p",{className:"mt20 font14"},i||"\u6682\u65F6\u8FD8\u6CA1\u6709\u76F8\u5173\u6570\u636E\u54E6!"),s&&G.createElement(W.ZP,u({className:d,onClick:l},n),s),e&&e);At.Z=p},20819:function(Ar,At,Z){"use strict";Z.d(At,{Z:function(){return d}});var G=Z(67294),J={wrp:"wrp___dq7YK",bgBlack:"bgBlack___ARIUV",monaco:"monaco___VnZC3",darkBlue:"darkBlue___UprA9",close:"close___LKoWu",embed:"embed___hvpEJ"},W=Z(85804),E=Z(30153),R=Z(36295),h=Z(83062),v=Z(28706),m=Z(15835),A=Z(26194),y=Z(11320),u=Z(66540),c=Z(67294),p=Object.defineProperty,r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,i=(e,t,a)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,s=(e,t)=>{for(var a in t||(t={}))n.call(t,a)&&i(e,a,t[a]);if(r)for(var a of r(t))o.call(t,a)&&i(e,a,t[a]);return e},l=(e,t,a)=>new Promise((f,g)=>{var x=M=>{try{D(a.next(M))}catch(w){g(w)}},_=M=>{try{D(a.throw(M))}catch(w){g(w)}},D=M=>M.done?f(M.value):Promise.resolve(M.value).then(x,_);D((a=a.apply(e,t)).next())}),d=({editOffice:e="view",data:t,issaver:a,onSaver:f,theme:g,type:x,filename:_,monacoEditor:D,className:M,style:w,close:b,onClose:N,hasMask:K,disabledDownload:S,onImgDimensions:B,showNodata:O,recordInfo:U})=>{const[F,H]=(0,G.useState)("https://view.officeapps.live.com/op/view.aspx?src=http://testgs.educoder.net//rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--03541f6234b93d7ac3b2d84e7eb0e6594a952945/1.ppt"),[Y,ne]=(0,G.useState)(""),[ae,me]=(0,G.useState)(),Ce=window.ENV==="build"?"/react/build":"",ge=location.host.startsWith("localhost")?y.Z.PROXY_SERVER:y.Z.API_SERVER,we=10*(1024*1024),De=(0,G.useRef)();t!=null&&t.startsWith("/api")&&x!=="txt"&&(t=y.Z.API_SERVER+t);const Se=Ie=>Ie.substring(Ie.lastIndexOf("/")+1).split(".").pop();_&&D&&(D.filename=_),(0,G.useEffect)(()=>{var Ie,Fe;const ze=(Fe=(Ie=document.cookie)==null?void 0:Ie.replace(/\s/g,""))==null?void 0:Fe.split(";");ze==null||ze.map(z=>{let _e=z.split("=");_e[0]==="_educoder_session"&&ne(_e[1])})},[]),(0,G.useEffect)(()=>{x==="office"&&(t.indexOf("bigfilescdn.")>-1||t.indexOf("bigfiles1")>-1?me({url:t,fileType:Se(t),model:t.indexOf("model=edit")?"edit":"view"}):Ee())},[x,t]);function ve(Ie){return l(this,null,function*(){Ie.data.type==="pdfdata"&&(f(Ie.data.data),window.removeEventListener("message",ve,!1)),console.log("mess---:",Ie.data)})}const Ee=()=>l(void 0,null,function*(){console.log("data:",t);let Ie=t;t.startsWith("http")||(Ie=location.origin+Ie);let Fe=new URL(Ie).pathname.split("/").pop();const ze=yield(0,m.gJ)({attachment_id:Fe});ze.url=ge+ze.url,me(ze)}),Re=()=>{if(t.startsWith("http")||t.startsWith("blob:")){qe();return}(0,v.Sv)(_||"educoder",t,_)},qe=()=>{U&&(0,u.fc)({id:U==null?void 0:U.id,watch_type:1,course_id:U==null?void 0:U.course_id}),(0,v.Nd)(_||"educoder",decodeURIComponent(t))};return c.createElement("div",{style:s({},w||{}),className:`${K&&J.bgBlack} ${x?J.wrp:"hide"}`},b&&c.createElement("div",{className:J.close,ref:De},!!B&&c.createElement(h.Z,{title:"\u70B9\u51FB\u5BF9\u56FE\u7247\u8FDB\u884C\u6279\u6CE8",getPopupContainer:()=>De.current},c.createElement("span",{onClick:()=>{N(),B()}},c.createElement("i",{className:"icon-yulanpizhu"}))),!S&&c.createElement(h.Z,{title:"\u70B9\u51FB\u4E0B\u8F7D\u6B64\u6587\u4EF6",getPopupContainer:()=>De.current},c.createElement("span",{onClick:qe},c.createElement("i",{className:"icon-quxiaozhiding"}))),a&&c.createElement(h.Z,{title:"\u4FDD\u5B58pdf\u5E76\u9000\u51FA",getPopupContainer:()=>De.current},c.createElement("span",{className:"",onClick:()=>{const Ie=document.getElementById("pdfiframe");window.addEventListener("message",ve,!1),setTimeout(()=>{Ie.contentWindow.postMessage("getData","*")},300)}},c.createElement("i",{className:"icon-baocun"}))),c.createElement(h.Z,{title:"\u5173\u95ED",getPopupContainer:()=>De.current},c.createElement("span",{className:"",onClick:()=>{N()}},c.createElement("i",{className:"icon-guanbi1"})))),c.createElement("div",{className:`${J[M]} ${M} ${J.monaco} ${x==="txt"?"show":"hide"}`},x==="txt"&&c.createElement(c.Fragment,null,c.createElement(R.ZP,s({},D)))),x==="audio"&&c.createElement("audio",{src:`${(t==null?void 0:t.indexOf("http://"))>-1||(t==null?void 0:t.indexOf("https://"))>-1?"":"data:audio/mp3;base64,"}${t}`,autoPlay:!0}),x==="video"&&c.createElement(c.Fragment,null,(t==null?void 0:t.indexOf("http"))>-1?c.createElement("video",{controls:!0,src:`${t}`,autoPlay:!0}):c.createElement("video",{controls:!0,src:`data:video/mp4;base64,${t}`,autoPlay:!0})),x==="office"&&ae&&c.createElement("iframe",{src:`${Ce}/office.html?key=${ae.key}&url=${btoa(ae.url)}&callbackUrl=${ge+(ae.callbackUrl||"")}&fileType=${ae.fileType}&title=${ae.title||""}&model=${e}&officeServer=${y.Z.ONLYOFFICE}&disabledDownload=${!!S}`}),x==="html"&&c.createElement("iframe",{src:t+"&disposition=inline"}),x==="pdf"&&c.createElement("iframe",{id:"pdfiframe",src:`${Ce}/js/pdfview/index.html?filename=${_||"educoder.pdf"}&url=${encodeURIComponent(t)}&disabledDownload=${!!S}&model=${e}`}),x==="image"&&c.createElement("img",{src:`${(t==null?void 0:t.indexOf("http://"))>-1||(t==null?void 0:t.indexOf("https://"))>-1?"":"data:image/png;base64,"}${t}`}),(x==="other"||x==="download")&&c.createElement(c.Fragment,null,O?c.createElement(A.Z,{customText:"\u5F53\u524D\u6587\u4EF6\u4E0D\u652F\u6301\u9884\u89C8\uFF0C\u53EF\u70B9\u51FB\u4E0B\u8F7D\u67E5\u770B",ButtonTwo:c.createElement(W.ZP,{icon:c.createElement("i",{className:"iconfont icon-xiazai4 font14"}),type:"primary",size:"middle",onClick:Re,disabled:S},"\u4E0B\u8F7D")}):c.createElement(W.ZP,{type:"primary",size:"middle",onClick:Re,disabled:S},c.createElement(E.Z,null),"\u70B9\u51FB\u4E0B\u8F7D")))}},35936:function(Ar,At,Z){"use strict";Z.d(At,{Z:function(){return v}});var G=Z(42196),J=Z(31282),E={token:{colorPrimary:"#1B8565",colorInfo:"#1B8565",colorLink:"#1B8565",borderRadius:2,fontSizeLG:14},components:{Radio:{radioSize:16,dotSize:6},Modal:{titleFontSize:16,titleColor:"#000"}}},R=Z(67294),v=({children:m,prefixCls:A="knowledgeGraph"})=>document.documentElement.style.fontSize!==""?R.createElement(G.V9,{transformers:[(0,G.$t)({rootValue:1})]},R.createElement(J.ZP,{prefixCls:A,theme:E},m)):R.createElement(R.Fragment,null,m)},22190:function(Ar,At,Z){"use strict";var G=Z(67294),J=Z(91773),W=Z(71230),E=Z(88044),R=Z(28802),h=Z(63960),v=Z(85804),m=Z(84567),A=Z(83062),y=Z(2453),u=Z(57399),c=Z(35973),p=Z(94699),r=Z.n(p),n=Z(246),o=Z.n(n),i=Z(58143),s=Z(89779),l=Z(30001),d=Z(39132),e=Z(67294),t=Object.defineProperty,a=Object.defineProperties,f=Object.getOwnPropertyDescriptors,g=Object.getOwnPropertySymbols,x=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable,D=(U,F,H)=>F in U?t(U,F,{enumerable:!0,configurable:!0,writable:!0,value:H}):U[F]=H,M=(U,F)=>{for(var H in F||(F={}))x.call(F,H)&&D(U,H,F[H]);if(g)for(var H of g(F))_.call(F,H)&&D(U,H,F[H]);return U},w=(U,F)=>a(U,f(F)),b=(U,F,H)=>new Promise((Y,ne)=>{var ae=ge=>{try{Ce(H.next(ge))}catch(pe){ne(pe)}},me=ge=>{try{Ce(H.throw(ge))}catch(pe){ne(pe)}},Ce=ge=>ge.done?Y(ge.value):Promise.resolve(ge.value).then(ae,me);Ce((H=H.apply(U,F)).next())});const N=[];function K({onSearch:U,schools:F}){return e.createElement(J.default,{colon:!1,layout:"horizontal",onFinish:U,initialValues:{keyword:"",school_name:"",search_type:"1"}},e.createElement(W.Z,{style:{flexWrap:"nowrap"}},e.createElement(J.default.Item,{name:"search_type",label:"\u641C\u7D22\u7C7B\u578B"},e.createElement(E.default,{popupClassName:d.Z.selectdown,style:{width:106}},e.createElement(E.default.Option,{value:"1"},"\u59D3\u540D"),e.createElement(E.default.Option,{value:"2"},"\u624B\u673A\u53F7"),e.createElement(E.default.Option,{value:"3"},"\u90AE\u7BB1"))),e.createElement(J.default.Item,{style:{marginLeft:20},label:"\u641C\u7D22\u5185\u5BB9",name:"keyword",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9"}]},e.createElement(R.default,{allowClear:!0,style:{width:300},size:"middle"})),e.createElement(J.default.Item,{style:{marginLeft:20},label:"\u5355\u4F4D",name:"school_name"},e.createElement(h.Z,{options:F,style:{width:300},size:"middle",showSearch:!0,filterOption:(H,Y)=>Y.value.toUpperCase().indexOf(H.toUpperCase())!==-1,placeholder:"\u8BF7\u8F93\u5165\u5355\u4F4D\u540D\u79F0"})),e.createElement(v.ZP,{type:"primary",style:{background:"#F6F7F9 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)",borderRadius:16,color:"#165DFF",marginLeft:40,border:"1px solid #BACFFE"},htmlType:"submit"},"\u641C\u7D22")))}var S=(U=>(U[U.INITDATA=0]="INITDATA",U[U.INITSCHOOLS=1]="INITSCHOOLS",U[U.SHOWLOADING=2]="SHOWLOADING",U[U.SELECTEDIDS=3]="SELECTEDIDS",U[U.SETQUERY=4]="SETQUERY",U[U.SETPAGE=5]="SETPAGE",U))(S||{});function B(U,F){switch(F.type){case 0:return M(M({},U),F.payload);case 4:return M(M({},U),F.payload);case 5:return w(M({},U),{page:F.payload,reload:!1});case 2:return w(M({},U),{loading:F.payload});case 1:return w(M({},U),{schools:F.payload});case 3:return w(M({},U),{selectedIds:F.payload});default:throw new Error}}const O={data:[],schools:[],loading:!1,selectedIds:[],query:null,page:1,count:0,reload:!1};At.Z=({onSelect:U,onCancel:F,container_id:H,container_type:Y})=>{const[ne,ae]=(0,G.useReducer)(B,O),{data:me,schools:Ce,loading:ge,selectedIds:pe,page:we,count:De,query:Se,reload:ve}=ne;(0,G.useEffect)(()=>{function z(){return b(this,null,function*(){const{users:_e,user_count:ie}=yield(0,s.nQ)(w(M({},Se),{page:we,container_type:Y,container_id:H,display_aliases:!0}));ae({type:0,payload:{data:ve?_e:[...me,..._e],count:ie}})})}Se&&z()},[we,Se,ve,H,Y]),(0,G.useEffect)(()=>{function z(){return b(this,null,function*(){const{school_names:_e}=yield(0,s.K$)({display_aliases:!0});ae({type:1,payload:_e.map(ie=>({value:ie}))})})}z()},[]);const Ee=[{title:"",dataIndex:"added",width:40,ellipsis:!0,render:(z,_e)=>e.createElement(m.default,{value:_e.numid,checked:pe.includes(_e.numid),disabled:!!z})},{title:"\u59D3\u540D",width:100,ellipsis:!0,align:"left",dataIndex:"username",render:(z,_e)=>e.createElement("div",null,e.createElement(A.Z,{placement:"bottom",title:z},e.createElement(c.Link,{style:{color:"#000000"},className:"bold c-black",to:`/users/${_e.login}`,target:"_blank"},z||"--")))},{title:"\u624B\u673A",width:100,dataIndex:"phone",ellipsis:!0,render:z=>e.createElement(A.Z,{placement:"bottom",title:z},e.createElement("span",{style:{color:"#000000"}},z||"--"))},{title:"\u90AE\u7BB1",dataIndex:"email",width:100,ellipsis:!0,render:z=>e.createElement(A.Z,{placement:"bottom",title:z},e.createElement("span",{style:{color:"#000000"}},z||"--"))},{title:"\u5B66\u53F7/\u5DE5\u53F7",width:100,dataIndex:"student_number",ellipsis:!0,render:z=>e.createElement(A.Z,{placement:"bottom",title:z},e.createElement("span",{style:{color:"#000000"}},z||"--"))},{title:"\u5B66\u6821/\u5355\u4F4D",width:150,dataIndex:"school_name",ellipsis:!0,render:z=>e.createElement(A.Z,{placement:"bottom",title:z},e.createElement("span",{style:{color:"#000000"}},z||"--"))},{title:"\u9662\u7CFB/\u90E8\u95E8",dataIndex:"depart_name",width:130,ellipsis:!0,render:z=>e.createElement(A.Z,{placement:"bottom",title:z},e.createElement("span",{style:{color:"#000000"}},z||"--"))},{title:"\u5B9E\u540D\u8BA4\u8BC1",dataIndex:"auth",width:100,render:z=>e.createElement("span",{style:{color:"#000000"}},z?"\u662F":"\u5426")},{title:"\u6700\u540E\u767B\u5F55\u65F6\u95F4",dataIndex:"last_login_on",width:140,ellipsis:!0,render:z=>e.createElement(A.Z,{placement:"bottom",title:z},e.createElement("span",{style:{color:"#000000"}},r()(z).format("YYYY-MM-DD HH:mm")))},{title:"\u72B6\u6001",dataIndex:"added",width:80,render:z=>{if(z===1)return e.createElement("span",{style:{color:"#000000"}},"\u5DF2\u6DFB\u52A0")}}];function Re(z){ae({type:4,payload:{page:1,reload:!0,query:z}})}function qe(z){ae({type:5,payload:z})}function Ie(z){let _e=pe.indexOf(z);_e>=0?pe.splice(_e,1):pe.push(z),ae({type:3,payload:[...pe]})}function Fe(){pe.length===0?y.ZP.warning("\u8BF7\u5148\u5728\u4E0B\u9762\u5217\u8868\u4E2D\u9009\u62E9\u8981\u6DFB\u52A0\u6210\u5458"):(U(pe,H),ae({type:0,payload:{data:[],count:0,page:1,selectedIds:[],query:null,reload:!1}}))}const ze=De>we*10;return e.createElement("div",{className:"select-user-container",style:{paddingBottom:20}},e.createElement(K,{onSearch:Re,schools:Ce}),Se?e.createElement(e.Fragment,null,e.createElement("div",{className:"flexd-table-header mt20"},e.createElement(l.Gi,null,e.createElement(u.default,{pagination:!1,dataSource:N,columns:Ee}))),e.createElement("div",{style:{maxHeight:260,overflow:"auto",marginBottom:20}},e.createElement(o(),{initialLoad:!1,pageStart:1,threshold:20,loadMore:qe,hasMore:ze,useWindow:!1},e.createElement(l.Gi,null,e.createElement(u.default,{loading:ge,showHeader:!1,pagination:!1,dataSource:me,columns:Ee,onRow:z=>({onClick:_e=>{z.added!==1&&Ie(z.numid)}})})))),e.createElement("div",{className:"flex-container flex-end"},e.createElement(v.ZP,{type:"ghost",style:{marginRight:10,border:"1px solid #C3CFE0",color:"#464F66"},onClick:F},"\u53D6\u6D88"),e.createElement(v.ZP,{style:{background:"#F6F7F9 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)",borderRadius:2,color:"#165DFF",border:"1px solid #BACFFE"},type:"primary",onClick:Fe},"\u786E\u5B9A"))):e.createElement("div",{className:"tc font16 c-light-black mt40 pb30"},e.createElement("img",{src:i,width:"100",alt:""}),e.createElement("br",null),e.createElement("p",{className:"mt20"},"\u8BF7\u641C\u7D22\u8981\u6DFB\u52A0\u7684\u4EBA\u5458")))}},6104:function(Ar,At,Z){"use strict";Z.d(At,{Z:function(){return o}});var G=Z(67294),J=Z(2453),W=Z(85418),E=Z(24577),R=Z(67631),h=Z.n(R),v=Z(52262),m=Z(74855),A=Z(51959),y={watermark:"watermark___hNYlv",videovideo:"videovideo___ovOkV",animate__loop:"animate__loop___mvL6s",upDown:"upDown___SlgHv",container:"container___g1WYG","video-container":"video-container___XPkWR","video-controls":"video-controls___to0Zq",hide:"hide___NA3DV","video-progress":"video-progress___gqHsd",seek:"seek___iZHBm","seek-tooltip":"seek-tooltip___uWyXx","bottom-controls":"bottom-controls___uoIBm","left-controls":"left-controls___mBEx4","right-controls":"right-controls___e9L6r",rateOverlay:"rateOverlay___HHBWe",controlText:"controlText___M_BWR","volume-controls":"volume-controls___fa3mE","fullscreen-button":"fullscreen-button___ur0es","fullscreen-button1":"fullscreen-button1___rfaXm","pip-button":"pip-button___GFO8W","playback-animation":"playback-animation___ndURq",volume:"volume___OTmpP",hidden:"hidden___o7GkT"},u=(i,s,l)=>new Promise((d,e)=>{var t=g=>{try{f(l.next(g))}catch(x){e(x)}},a=g=>{try{f(l.throw(g))}catch(x){e(x)}},f=g=>g.done?d(g.value):Promise.resolve(g.value).then(t,a);f((l=l.apply(i,s)).next())});function c(i){if(isNaN(i))return{minutes:"00",seconds:"00"};const s=new Date(i*1e3).toISOString().substr(11,8);return{hour:s.substr(0,2),minutes:s.substr(3,2),seconds:s.substr(6,2)}}Object.defineProperty(HTMLMediaElement.prototype,"playing",{get:function(){return this.currentTime>0&&!this.paused&&!this.ended&&this.readyState>2}});function p(i,s){return i-s}function r(i){i.sort(p);let s=0;for(let l=0;l{},handlePlay:g=()=>{},handlePlayEnded:x=()=>{},autoPlay:_=!1,onPlayEnded:D=()=>{},isShowWaterMark:M=!0},w)=>{var b;s=s==null?void 0:s.replace("http://","https://");const K=((b=s==null?void 0:s.split("."))==null?void 0:b.pop())==="flv",S=(0,G.useRef)(),B=(0,G.useRef)(),O=(0,G.useRef)(),U=(0,G.useRef)(),F=(0,G.useRef)(),H=(0,G.useRef)(),Y=(0,G.useRef)(),ne=(0,G.useRef)(),ae=(0,G.useRef)(),me=(0,G.useRef)(),Ce=(0,G.useRef)(),ge=(0,G.useRef)(),pe=(0,G.useRef)(),we=(0,G.useRef)(),De=navigator.userAgent.toLowerCase().match(n),Se=De?De[0]:"pc",ve=(0,G.useRef)(!1),Ee=(0,v.eY)();let Re=0,qe=0,Ie=0,Fe=null,ze=!1,z=20,_e=1,ie=!1,Ae=!1,de=[];(0,G.useImperativeHandle)(w,()=>({getLastUpdatedTime:()=>S.current.currentTime,getDuration:()=>S.current.duration})),J.ZP.config({maxCount:1,getContainer:()=>O.current});const se=(0,G.useCallback)((xt,Dt=!1)=>{let Tt={point:S.current.currentTime};Fe?(Tt.log_id=Fe,Tt.watch_duration=r(de),Tt.total_duration=qe):(t?(Tt.video_id=parseInt(d,10),Tt.course_id=t):Tt.video_id=d,Tt.duration=Re,Tt.device=Se),Dt&&(Tt.ed="1");function Ft(){return u(this,null,function*(){ie=!0,Fe=yield e==null?void 0:e(Tt),ie=!1,xt&&xt()})}Ft()},[d,t]);(0,G.useEffect)(()=>{S.current&&(U.current.style.display="none",F.current.style.display="block"),J.ZP.destroy();let xt=null;return E.Z.isSupported&&K&&s&&(s==null?void 0:s.indexOf(".m3u8"))<0?(xt=E.Z.createPlayer({type:"flv",volume:.8,cors:!0,url:s,muted:!1}),S.current&&(xt.attachMediaElement(S.current),xt.load())):S.current.setAttribute("src",s),Pe(),()=>{xt&&(xt.unload(),xt.pause(),xt.destroy(),xt=null)}},[S,K,s]);function he(){S.current.paused?(U.current.style.display="none",F.current.style.display="block"):(U.current.style.display="block",F.current.style.display="none")}function Pe(){Ce.current.style.display="none",pe.current.style.display="none",ge.current.style.display="none",S.current.muted||S.current.volume===0?Ce.current.style.display="block":S.current.volume>0&&S.current.volume<=.5?pe.current.style.display="block":ge.current.style.display="block"}(0,G.useEffect)(()=>{const xt=document.getElementById("play"),Dt=document.querySelectorAll(".playback-icons use");function Tt(){g(),a&&!ve.current&&(S.current.currentTime=a),ve.current=!0,de.push(S.current.currentTime),ze||(ze=!0,l&&se())}function Ft(){return u(this,null,function*(){he(),de.push(S.current.currentTime),l&&se(()=>{Fe=null,Ie=0,ze=!1,ie=!1,Ae=!1,de=[],qe=0,_e=1},!0),D()})}function nt(){H.current.value=Math.round(S.current.currentTime),Y.current.value=Math.round(S.current.currentTime)}function Gt(){const Kt=c(Math.round(S.current.currentTime));ae.current.innerText=`${Kt.hour>0?Kt.hour+":":""}${Kt.minutes}:${Kt.seconds}`,ae.current.setAttribute("datetime",`${Kt.hour>0?" "+Kt.hour+" ":""}${Kt.minutes}m ${Kt.seconds}s`)}function Tr(){var Kt,Ke,He,Ue,et,tt,it;const vt=Math.round((Kt=S.current)==null?void 0:Kt.duration);(He=(Ke=H.current)==null?void 0:Ke.setAttribute)==null||He.call(Ke,"max",vt),(et=(Ue=Y.current)==null?void 0:Ue.setAttribute)==null||et.call(Ue,"max",vt);const pt=c(vt);ne.current&&(ne.current.innerText=`${pt.hour>0?pt.hour+":":""}${pt.minutes}:${pt.seconds}`,(it=(tt=ne.current).setAttribute)==null||it.call(tt,"datetime",`${pt.hour>0?" "+pt.hour+" ":""}${pt.minutes}m ${pt.seconds}s`))}function rr(){try{const Kt=Math.round(S.current.duration);H.current.setAttribute("max",Kt),Y.current.setAttribute("max",Kt);const Ke=c(Kt);ne.current.innerText=`${Ke.hour>0?Ke.hour+":":""}${Ke.minutes}:${Ke.seconds}`,ne.current.setAttribute("datetime",`${Ke.hour>0?" "+Ke.hour+" ":""}${Ke.minutes}m ${Ke.seconds}s`),nt(),Gt();const{width:He,height:Ue,x:et,y:tt}=B.current.getBoundingClientRect();if(et<0||tt<0,!Ae){let it=S.current.currentTime,vt=it-Ie;Math.abs(vt)<10?(qe+=Math.abs(vt),Ie=it,ie||qe-_e*z>=0&&(_e++,de.push(Ie),l&&se())):(Ie=it,l&&se())}}catch(Kt){console.log("videoplaying:",Kt)}}function Pt(){Ae=!0}function Sr(){S.current.playing&&de.push(S.current.currentTime,Ie),Ie=S.current.currentTime,Ae=!1}function $r(){Re=S.current.duration,Re<=20&&(z=Re/3),S.current.addEventListener("play",Tt)}function vn(Kt){Kt.preventDefault(),(0,A.vp)()?(S.current.style.width="100%",S.current.style.height="100%"):S.current.style.cssText=""}function Gr(){f()}function an(Kt){if(!i){J.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");return}const Ke=Kt.target.dataset.seek?Kt.target.dataset.seek:Kt.target.value;S.current.currentTime=Ke,Y.current.value=Ke,H.current.value=Ke}function Ln(Kt){const Ke=Math.round(Kt.offsetX/Kt.target.clientWidth*parseInt(Kt.target.getAttribute("max"),10));H.current.setAttribute("data-seek",Ke);const He=c(Ke);me.current.textContent=`${He.hour>0?He.hour+":":""}${He.minutes}:${He.seconds}`;const Ue=S.current.getBoundingClientRect();me.current.style.left=`${Kt.pageX-Ue.left}px`}function kr(Kt){switch(Kt.code){case"Space":Kt.preventDefault(),_t();break;case"ArrowRight":if(Kt.preventDefault(),!i){J.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(S.current.currentTime>=S.current.duration)break;S.current.currentTime=parseInt(S.current.currentTime)+5,nt();break;case"ArrowLeft":if(Kt.preventDefault(),!i){J.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(S.current.currentTime===0)break;S.current.currentTime=parseInt(S.current.currentTime)-5,nt();break;case"ArrowUp":Kt.preventDefault(),S.current.volume<1&&(S.current.volume=(parseInt(S.current.volume*10)+1)/10);break;case"ArrowDown":Kt.preventDefault(),S.current.volume>0&&(S.current.volume=(parseInt(S.current.volume*10)-1)/10);break}}return O.current.addEventListener((0,A.gH)(),vn),S.current.addEventListener("canplay",$r),S.current.addEventListener("ended",Ft),S.current.addEventListener("seeking",Pt),S.current.addEventListener("seeked",Sr),S.current.addEventListener("loadedmetadata",Tr),H.current.addEventListener("mousemove",Ln),H.current.addEventListener("input",an),S.current.addEventListener("timeupdate",rr),S.current.addEventListener("pause",Gr),S.current.addEventListener("volumechange",Pe),document.addEventListener("keydown",kr),()=>{var Kt,Ke,He,Ue,et,tt,it,vt,pt,Xt,ke,T;(Kt=S.current)==null||Kt.removeEventListener("canplay",$r),(Ke=S.current)==null||Ke.removeEventListener("play",Tt),(He=S.current)==null||He.removeEventListener("ended",Ft),(Ue=S.current)==null||Ue.removeEventListener("seeking",Pt),(et=S.current)==null||et.removeEventListener("seeked",Sr),(tt=H.current)==null||tt.removeEventListener("mousemove",Ln),(it=H.current)==null||it.removeEventListener("input",an),(vt=S.current)==null||vt.removeEventListener("timeupdate",rr),(pt=S.current)==null||pt.removeEventListener("pause",Gr),(Xt=S.current)==null||Xt.removeEventListener("loadedmetadata",Tr),(ke=S.current)==null||ke.removeEventListener("volumechange",Pe),document.removeEventListener("keydown",kr),(T=S.current)!=null&&T.playing&&(de.push(Ie,S.current.currentTime),l&&se())}},[S,s]),(0,G.useEffect)(()=>{if(S.current.onended=()=>{x(S)},S.current.oncontextmenu=()=>!1,(s==null?void 0:s.indexOf(".m3u8"))>-1){if(S.current.canPlayType("application/vnd.apple.mpegurl"))S.current.src=s;else if(h().isSupported()){var xt=new(h());xt.loadSource(s),xt.attachMedia(S.current)}}},[s]);const[We,ht]=(0,G.useState)(1),_t=()=>{S.current.paused||S.current.ended?S.current.play():S.current.pause(),he()};function Nt(){S.current.muted=!S.current.muted,S.current.muted?(we.current.setAttribute("data-volume",volume.value),we.current.value=0):we.current.value=we.current.dataset.volume}return G.createElement("div",{style:{position:"relative"},ref:O},G.createElement("div",{ref:B,className:`${y.watermark} animated_alternate animate__animated_10s animate__infinite animate__stepstart ${y.animate__loop}`},M&&Ee?Ee.login:" "),G.createElement("div",{className:y.container},G.createElement("div",{className:y["video-container"],id:"video-container"},G.createElement("div",{className:y["playback-animation"],id:"playback-animation"},G.createElement("svg",{className:y["playback-icons"]},G.createElement("use",{className:"hidden",href:"#play-icon"}),G.createElement("use",{href:"#pause"}))),G.createElement("video",{className:y.video,id:"video",preload:"auto",disablePictureInPicture:!0,ref:S,autoPlay:_}),G.createElement("div",{className:`${y["video-controls"]} `,id:"video-controls"},G.createElement("div",{className:y["bottom-controls"]},G.createElement("div",{className:y["left-controls"]},G.createElement("button",{"data-title":"\u64AD\u653E/\u6682\u505C",id:"play",onClick:_t},G.createElement("svg",{className:y["playback-icons"]},G.createElement("use",{ref:F,href:"#play-icon"}),G.createElement("use",{ref:U,style:{display:"none"},href:"#pause"}))),G.createElement("div",{className:y.time},G.createElement("time",{id:"time-elapsed",ref:ae},"00:00"),G.createElement("span",null," / "),G.createElement("time",{id:"duration",ref:ne},"00:00"))),G.createElement("div",{className:y["right-controls"]},i&&G.createElement(W.Z,{placement:"top",overlayClassName:y.rateOverlay,getPopupContainer:xt=>xt.parentNode,menu:{items:[{key:"1",label:G.createElement("span",{onClick:()=>{ht(1),S.current.playbackRate=1}},"1.0x")},{key:"2",label:G.createElement("span",{onClick:()=>{ht(1.5),S.current.playbackRate=1.5}},"1.5x")},{key:"3",label:G.createElement("span",{onClick:()=>{ht(2),S.current.playbackRate=2}},"2.0x")}]}},G.createElement("div",{className:`${y.controlText} mr5`},"\u500D\u901F")),G.createElement(m.CopyToClipboard,{text:s,onCopy:()=>J.ZP.success("\u590D\u5236\u6210\u529F")},G.createElement("button",{"data-title":"\u590D\u5236\u94FE\u63A5"},G.createElement("i",{className:"icon-lianjie2 iconfont",style:{fontSize:"12px",color:"white"}}))),G.createElement("div",{className:y["volume-controls"]},G.createElement("button",{"data-title":"\u5F00\u542F/\u5173\u95ED\u58F0\u97F3",className:y["volume-button"],id:"volume-button",onClick:Nt},G.createElement("i",{ref:Ce,className:"icon-a-bianzu8 iconfont",style:{fontSize:"14px",color:"white"}}),G.createElement("i",{ref:pe,className:"icon-shengyinkaibeifen iconfont",style:{fontSize:"14px",color:"white"}}),G.createElement("i",{ref:ge,className:"icon-shengyinkai iconfont",style:{fontSize:"14px",color:"white"}})),G.createElement("input",{className:y.volume,id:"volume",value:"1","data-mute":"0.5",type:"range",max:"1",min:"0",step:"0.01",ref:we,style:{display:"none"},onClick:Pe})),G.createElement("button",{"data-title":"\u5168\u5C4F/\u9000\u51FA\u5168\u5C4F",className:y["fullscreen-button"],onClick:()=>{(0,A.vp)()?(0,A.BU)():(0,A.Dj)(O.current)}},G.createElement("i",{className:"icon-fangda1 iconfont",style:{fontSize:"12px",color:"white"}})))),G.createElement("div",{className:y["video-progress"]},G.createElement("progress",{ref:Y,value:"0",min:"0"}),G.createElement("input",{className:y.seek,ref:H,value:"0",min:"0",type:"range",step:"1"}),G.createElement("div",{className:y["seek-tooltip"],ref:me,id:"seek-tooltip"},"00:00"))))),G.createElement("svg",{style:{display:"none"}},G.createElement("defs",null,G.createElement("symbol",{id:"pause",viewBox:"0 0 24 24"},G.createElement("path",{d:"M14.016 5.016h3.984v13.969h-3.984v-13.969zM6 18.984v-13.969h3.984v13.969h-3.984z"})),G.createElement("symbol",{id:"play-icon",viewBox:"0 0 24 24"},G.createElement("path",{d:"M8.016 5.016l10.969 6.984-10.969 6.984v-13.969z"})),G.createElement("symbol",{id:"volume-high",viewBox:"0 0 24 24"},G.createElement("path",{d:"M14.016 3.234q3.047 0.656 5.016 3.117t1.969 5.648-1.969 5.648-5.016 3.117v-2.063q2.203-0.656 3.586-2.484t1.383-4.219-1.383-4.219-3.586-2.484v-2.063zM16.5 12q0 2.813-2.484 4.031v-8.063q1.031 0.516 1.758 1.688t0.727 2.344zM3 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6z"})),G.createElement("symbol",{id:"volume-low",viewBox:"0 0 24 24"},G.createElement("path",{d:"M5.016 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6zM18.516 12q0 2.766-2.531 4.031v-8.063q1.031 0.516 1.781 1.711t0.75 2.32z"})),G.createElement("symbol",{id:"volume-mute",viewBox:"0 0 24 24"},G.createElement("path",{d:"M12 3.984v4.219l-2.109-2.109zM4.266 3l16.734 16.734-1.266 1.266-2.063-2.063q-1.547 1.313-3.656 1.828v-2.063q1.172-0.328 2.25-1.172l-4.266-4.266v6.75l-5.016-5.016h-3.984v-6h4.734l-4.734-4.734zM18.984 12q0-2.391-1.383-4.219t-3.586-2.484v-2.063q3.047 0.656 5.016 3.117t1.969 5.648q0 2.203-1.031 4.172l-1.5-1.547q0.516-1.266 0.516-2.625zM16.5 12q0 0.422-0.047 0.609l-2.438-2.438v-2.203q1.031 0.516 1.758 1.688t0.727 2.344z"})),G.createElement("symbol",{id:"fullscreen",viewBox:"0 0 24 24"},G.createElement("path",{d:"M14.016 5.016h4.969v4.969h-1.969v-3h-3v-1.969zM17.016 17.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 9.984v-4.969h4.969v1.969h-3v3h-1.969zM6.984 14.016v3h3v1.969h-4.969v-4.969h1.969z"})),G.createElement("symbol",{id:"fullscreen-exit",viewBox:"0 0 24 24"},G.createElement("path",{d:"M15.984 8.016h3v1.969h-4.969v-4.969h1.969v3zM14.016 18.984v-4.969h4.969v1.969h-3v3h-1.969zM8.016 8.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 15.984v-1.969h4.969v4.969h-1.969v-3h-3z"})),G.createElement("symbol",{id:"pip",viewBox:"0 0 24 24"},G.createElement("path",{d:"M21 19.031v-14.063h-18v14.063h18zM23.016 18.984q0 0.797-0.609 1.406t-1.406 0.609h-18q-0.797 0-1.406-0.609t-0.609-1.406v-14.016q0-0.797 0.609-1.383t1.406-0.586h18q0.797 0 1.406 0.586t0.609 1.383v14.016zM18.984 11.016v6h-7.969v-6h7.969z"})))))})},36295:function(Ar,At,Z){"use strict";Z.d(At,{SV:function(){return we},ZP:function(){return pe}});var G=Z(67294),J=Z(91033);const W={keywords:["print","auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int","long","register","return","short","signed","sizeof","static","struct","switch","typedef","union","unsigned","void","volatile","while"]},E={quickKey:[{label:"main",content:["public static void main(String[] args) {"," $0","}"].join(` `)},{label:"System.out.println",content:["System.out.println($0)"].join(` `)},{label:"System.out.print",content:["System.out.print($0)"].join(` `)}],keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"]},R={keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","friend","gcnew","generic","goto","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],quickKey:[{label:"ifelse",content:["if (${1:condition}) {"," $0","} else {"," ","}"].join(` `)},{label:"include",content:"include<$0>"},{label:"printf",content:"printf($0)"},{label:"system",content:'system("$0")'},{label:"main",content:["int main () {"," $0","}"].join(` `)},{label:"if",content:["if () {"," $0","}"].join(` `)},{label:"for",content:["for(int j=0 ; j<10; j++){"," $0","}"].join(` `)},{label:"trycatch",content:["try{"," $0","}catch(ExceptionName e){","}"].join(` `)},{label:"using namespace std;",content:["using namespace std;"].join(` `)},{label:"include ",content:["#include "].join(` `)},{label:"include ",content:["#include "].join(` `)},{label:"include ",content:["#include "].join(` `)},{label:"include ",content:["#include "].join(` `)},{label:"include ",content:["#include "].join(` `)},{label:"include ",content:["#include "].join(` `)},{label:"include ",content:["#include "].join(` `)},{label:"include ",content:["#include "].join(` `)},{label:"include ",content:["#include "].join(` `)}]},h={keywords:["and","as","assert","break","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","None","not","or","pass","raise","return","self","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","True","False","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],quickKey:[{label:"print",content:["print($0)"].join(` `)}]},v={keywords:["asInstanceOf","catch","class","classOf","def","do","else","extends","finally","for","foreach","forSome","if","import","isInstanceOf","macro","match","new","object","package","return","throw","trait","try","type","until","val","var","while","with","yield","given","enum","then"],quickKey:[{label:"println",content:["println($0)"].join(` `)}]};var m=Z(84204),A=Z.n(m),y=(De,Se,ve)=>new Promise((Ee,Re)=>{var qe=ze=>{try{Fe(ve.next(ze))}catch(z){Re(z)}},Ie=ze=>{try{Fe(ve.throw(ze))}catch(z){Re(z)}},Fe=ze=>ze.done?Ee(ze.value):Promise.resolve(ze.value).then(qe,Ie);Fe((ve=ve.apply(De,Se)).next())});const u={languages:["c","abap","apex","azcli","bat","cameligo","clojure","coffee","cpp","csharp","csp","css","dockerfile","fsharp","go","graphql","handlebars","html","ini","java","javascript","json","kotlin","less","lua","markdown","mips","msdax","mysql","objective-c","pascal","pascaligo","perl","pgsql","php","postiats","powerquery","powershell","pug","python","r","razor","redis","redshift","restructuredtext","ruby","rust","sb","scheme","scss","shell","solidity","sophia","sql","st","swift","tcl","twig","vb","xml","yaml'"],tables:{users:["name","id","email","phone","password"],roles:["id","name","order","created_at","updated_at","deleted_at"]}},c=(De,Se,ve,Ee)=>{const Re=Se.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:ve.lineNumber,endColumn:ve.column});return Array.from(new Set(Re.match(/\b\w{2,}\b/g)||[])).map(Ie=>({label:Ie,kind:De.languages.CompletionItemKind.Text,insertText:Ie,range:Ee}))},p=(De,Se,ve,Ee)=>{De.languages.registerCompletionItemProvider(Se,{provideCompletionItems(Re,qe){const Ie=Re.getWordUntilPosition(qe),Fe={startLineNumber:qe.lineNumber,endLineNumber:qe.lineNumber,startColumn:Ie.startColumn,endColumn:Ie.endColumn},ze=Re.getLineContent(qe.lineNumber).substring(Ie.startColumn-2,Ie.endColumn);return{suggestions:[...c(De,Re,qe,Fe),...ve.map(_e=>({label:_e,kind:De.languages.CompletionItemKind.Keyword,documentation:_e,insertText:_e,insertTextRules:De.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Fe})),...Ee.map(_e=>({label:_e.label,kind:De.languages.CompletionItemKind.Snippet,documentation:_e.content,insertText:ze.startsWith("#")?_e.content.replace(/#/,""):_e.content,insertTextRules:De.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Fe}))]}}})};var r=De=>{u.languages.forEach(Se=>{De.languages.registerDocumentFormattingEditProvider(Se,{provideDocumentFormattingEdits(ve){return y(this,null,function*(){const Ee=A()(ve.getValue(),{indent_size:2,indent_char:" ",max_preserve_newlines:2,preserve_newlines:!0,keep_array_indentation:!0,break_chained_methods:!1,indent_scripts:"normal",brace_style:"collapse",space_before_conditional:!0,unescape_strings:!1,jslint_happy:!1,end_with_newline:!0,wrap_line_length:0,indent_inner_html:!1,comma_first:!1,e4x:!1,indent_empty_lines:!1});return[{range:ve.getFullModelRange(),text:Ee}]})}})}),p(De,"java",E.keywords,E.quickKey),p(De,"cpp",R.keywords,R.quickKey),p(De,"c",W.keywords,[]),p(De,"python",h.keywords,h.quickKey),p(De,"scala",v.keywords,v.quickKey)};const n="\u8BE5\u4EFB\u52A1\u5173\u5361\u8BBE\u7F6E\u4E86\u7981\u6B62\u590D\u5236\u7C98\u8D34\uFF0C\u8BF7\u624B\u52A8\u8F93\u5165\u4EE3\u7801\u3002";var o=Object.defineProperty,i=(De,Se,ve)=>Se in De?o(De,Se,{enumerable:!0,configurable:!0,writable:!0,value:ve}):De[Se]=ve,s=(De,Se,ve)=>i(De,typeof Se!="symbol"?Se+"":Se,ve);const l=class Ho{constructor(Se,ve,Ee){this.placeholder=Se,this.editor=ve,this.monaco=Ee,ve.onDidChangeModelContent(()=>this.onDidChangeModelContent()),this.onDidChangeModelContent()}onDidChangeModelContent(){this.editor.getValue()===""?this.editor.addContentWidget(this):this.editor.removeContentWidget(this)}getId(){return Ho.ID}getDomNode(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.style.width="max-content",this.domNode.textContent=this.placeholder,this.domNode.style.fontStyle="initial",this.domNode.style.color="#D7D7D7",this.domNode.style.pointerEvents="none",this.editor.applyFontInfo(this.domNode)),this.domNode}getPosition(){return{position:{lineNumber:1,column:1},preference:[this.monaco.editor.ContentWidgetPositionPreference.EXACT]}}dispose(){this.editor.removeContentWidget(this)}};s(l,"ID","editor.widget.placeholderHint");var e=l,t=Z(84144),a=Z(2453),f=Z(83062),g=Z(96486),x=Z(33054),_=Z(74855),D=Object.defineProperty,M=Object.defineProperties,w=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertySymbols,N=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,S=(De,Se,ve)=>Se in De?D(De,Se,{enumerable:!0,configurable:!0,writable:!0,value:ve}):De[Se]=ve,B=(De,Se)=>{for(var ve in Se||(Se={}))N.call(Se,ve)&&S(De,ve,Se[ve]);if(b)for(var ve of b(Se))K.call(Se,ve)&&S(De,ve,Se[ve]);return De},O=(De,Se)=>M(De,w(Se)),U=(De,Se)=>{var ve={};for(var Ee in De)N.call(De,Ee)&&Se.indexOf(Ee)<0&&(ve[Ee]=De[Ee]);if(De!=null&&b)for(var Ee of b(De))Se.indexOf(Ee)<0&&K.call(De,Ee)&&(ve[Ee]=De[Ee]);return ve},F=(De,Se,ve)=>new Promise((Ee,Re)=>{var qe=ze=>{try{Fe(ve.next(ze))}catch(z){Re(z)}},Ie=ze=>{try{Fe(ve.throw(ze))}catch(z){Re(z)}},Fe=ze=>ze.done?Ee(ze.value):Promise.resolve(ze.value).then(qe,Ie);Fe((ve=ve.apply(De,Se)).next())});function H(De){return/^\d+$/.test(De)?`${De}px`:De}function Y(){}let ne=!1;const ae={"Python3.6":"python","Python2.7":"python",Dynamips:"cpp",Java:"java",Web:"php",Html:"html",Hive:"sql",Hadoop:"java",SDL:"cpp",PHP:"php",Matlab:"python",Git:"python",Python:"python","C/C++":"cpp","C++":"cpp",C:"cpp",Ruby:"ruby",Shell:"shell",JavaScript:"javascript",Perl6:"perl",Kotlin:"kotlin",Elixir:"elixir",Android:"java",JavaWeb:"java",Go:"go",Spark:"sql",MachineLearning:"python",Verilog:"xml","Verilog/VNC":"xml",Docker:"dockerfile","C#":"csharp",SQLite3:"sql",Oracle:"sql",Vhdl:"vhdl",R:"r",Swift:"swift",SQLServer:"mysql",MySQL:"mysql",Mongo:"sql",PostgreSql:"pgsql",Hbase:"powershell",Sqoop:"sql",Nasm:"cpp",Kafka:"java",Flink:"java",Sml:"javascript",OpenGL:"cpp",Perl5:"perl",Orange:"python",Scala:"scale",solidity:"sol"};function me(De=[]){let Se=De;if(Array.isArray(De)){for(let ve=0;veF(void 0,null,function*(){try{yield navigator.clipboard.writeText(" "),console.log("\u5185\u5BB9\u5DF2\u81EA\u52A8\u590D\u5236\u5230\u526A\u8D34\u677F:")}catch(De){console.error("\u81EA\u52A8\u590D\u5236\u5931\u8D25:",De)}});var pe=De=>{var Se=De,{width:ve="100%",height:Ee="100%",value:Re,language:qe="javascript",style:Ie={},options:Fe={},overrideServices:ze={},theme:z="vs-dark",onEditBlur:_e,isCopy:ie=!1,onSave:Ae,autoHeight:de=!1,forbidCopy:se=!1,onChange:he=Y,editorDidMount:Pe=Y,onFocus:We=Y,onBreakPoint:ht=Y,breakPointValue:_t=[],filename:Nt="educoder.txt",errorLine:xt,errorContent:Dt="",highlightLine:Tt,openBreakPoint:Ft=!1,placeholder:nt="",showMiniMap:Gt=!0}=Se,Tr=U(Se,["width","height","value","language","style","options","overrideServices","theme","onEditBlur","isCopy","onSave","autoHeight","forbidCopy","onChange","editorDidMount","onFocus","onBreakPoint","breakPointValue","filename","errorLine","errorContent","highlightLine","openBreakPoint","placeholder","showMiniMap"]);const rr=(0,G.useRef)(),Pt=(0,G.useRef)({}),Sr=(0,G.useRef)(),$r=(0,G.useRef)(),vn=(0,G.useRef)([]),Gr=(0,G.useRef)(!1),an=(0,G.useRef)(),Ln=(0,G.useRef)(),kr=(0,G.useRef)(!1),[Kt,Ke]=(0,G.useState)(!1);function He(){let Me;return rr.current&&(Me=new J.Z(at=>{for(let dt of at)(dt.target.offsetHeight>0||dt.target.offsetWidth>0)&&Pt.current.instance.layout()}),Me.observe(rr.current)),Me}function Ue(){a.ZP.warning({content:decodeURIComponent(n),key:"monaco-editor-tip"})}const et=()=>{let Me=Pt.current.instance;if(Re!=null&&Me&&Kt){const at=Me.getModel();at&&Re!==at.getValue()&&(ne=!0,at.setValue(Re),Me.layout(),ne=!1)}};(0,G.useEffect)(()=>{const Me=x.Z.subscribe("formatDocument",at=>{var dt;let Ot=Pt.current.instance;(dt=Ot==null?void 0:Ot.getAction)==null||dt.call(Ot,"editor.action.formatDocument").run()});return window.updateMonacoValue=at=>{he(at)},Me},[]),(0,G.useEffect)(()=>{var Me;let at=Pt.current.instance;$r.current&&clearTimeout($r.current),$r.current=setTimeout(()=>{et()},500),Re&&(Re!=null&&Re.length)&&((Me=at==null?void 0:at.updateOptions)==null||Me.call(at,{lineNumbersMinChars:Math.max(Math.floor(Math.log10(Re.split(/\r\n|\r|\n/g).length))+3,5)}))},[Re,Kt,Pt.current]),(0,G.useEffect)(()=>{if(xt&&Pt.current&&Pt.current.instance){let at=Pt.current.instance;at.changeViewZones(function(dt){var Ot=document.createElement("div");Ot.style.padding="10px 20px",Ot.style.width="calc(100% - 20px)",Ot.className="my-error-line-wrp",Ot.innerHTML=Dt,dt.addZone({afterLineNumber:xt||11,heightInLines:3,domNode:Ot})});var Me={domNode:null,getId:function(){return"my.overlay.widget"},getDomNode:function(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.innerHTML="",this.domNode.style.width="100%",this.domNode.style.padding="20px 100px",this.domNode.style.right="0px",this.domNode.style.top="50px",this.domNode.style.position="relative",this.domNode.style.color="#333"),this.domNode},getPosition:function(){return null}};at.addOverlayWidget(Me),at.revealPositionInCenter({lineNumber:20,column:1})}},[xt,Pt.current,Kt]);const tt=(Me="",at)=>{if(!Me||Me.trim()==="")return!0;const Ot=Pt.current.instance.getModel().getLineTokens(at);let jt=!1;for(let Mr=0;Mr<2;Mr++)Ot.getStandardTokenType(Mr)===1&&(jt=!0);return jt};(0,G.useEffect)(()=>{var Me;const at=(Me=Pt.current)==null?void 0:Me.instance;if(at&&Kt&&se){const dt=at.onDidBlurEditorWidget(()=>{kr.current=!1}),Ot=at.onDidFocusEditorText(()=>{kr.current=!0});return()=>{dt.dispose(),Ot.dispose()}}},[Pt.current,Kt,se]),(0,G.useEffect)(()=>{var Me;if((Me=Pt.current)!=null&&Me.instance&&Kt&&Ft){let at=Pt.current.instance,dt=at.getModel();if(!dt)return;(()=>{var Ye;let wr=[],nr=[];const Pr=dt.getAllDecorations();for(let zr of Pr)zr.options.className==="highlighted-line"&&(wr.push((Ye=zr==null?void 0:zr.range)==null?void 0:Ye.startLineNumber),nr.push(zr==null?void 0:zr.id));if(Tt===wr[0])return;dt.deltaDecorations(nr,[]);const jr=dt.getLineCount();Tt&&Tt<=jr&&(at.deltaDecorations([],[{range:new Ce.Range(Tt,1,Tt,dt.getLineMaxColumn(Tt)),options:{isWholeLine:!0,className:"highlighted-line"}}]),at.revealLineInCenter(Tt))})();const jt=(Ye=!1)=>{var wr;let nr=[],Pr=[];const jr=dt.getAllDecorations();for(let zr of jr)zr.options.linesDecorationsClassName==="breakpoints-select"&&(nr.push((wr=zr==null?void 0:zr.range)==null?void 0:wr.startLineNumber),Pr.push(zr==null?void 0:zr.id));if(Ye)return{lines:nr,ids:Pr};ht(nr)},Mr=Ye=>F(void 0,null,function*(){let wr={range:new Ce.Range(Ye,1,Ye,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}};yield dt.deltaDecorations([],[wr]),jt()}),Yt=Ye=>F(void 0,null,function*(){let wr=[];const nr=at.getLineDecorations(Ye);for(let Pr of nr)Pr.options.linesDecorationsClassName==="breakpoints-select"&&wr.push(Pr.id);yield dt.deltaDecorations(wr,[]),jt()}),Er=Ye=>{let wr=at.getLineDecorations(Ye);for(let nr of wr)if(nr.options.linesDecorationsClassName==="breakpoints-select")return!0;return!1};if(!(0,g.isEqual)(_t,jt(!0).lines)){dt.deltaDecorations(jt(!0).ids,[]);const Ye=_t.map(wr=>({range:new Ce.Range(wr,1,wr,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}}));dt.deltaDecorations([],Ye)}const sr=at.onDidChangeModelContent(Ye=>{let wr=at.getPosition();if(wr){let nr=wr.lineNumber;clearTimeout(Ln.current),Ln.current=setTimeout(()=>{tt(dt.getLineContent(nr),nr)?Yt(nr):Er(nr)?(Yt(nr),Mr(nr)):jt()},100)}}),Bt=at.onMouseDown(Ye=>{var wr,nr,Pr;if(Ye.target.detail&&((Pr=(nr=(wr=Ye.target)==null?void 0:wr.element)==null?void 0:nr.className)!=null&&Pr.includes("line-numbers"))){let jr=Ye.target.position.lineNumber;if(tt(dt.getLineContent(jr),jr))return;Er(jr)?Yt(jr):Mr(jr)}}),Jt=Ye=>{let wr={range:new Ce.Range(Ye,1,Ye,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-fake"}};vn.current=at.deltaDecorations(vn.current,[wr])},kt=()=>{vn.current=at.deltaDecorations(vn.current,[])},xr=at.onMouseMove(Ye=>{var wr,nr,Pr;if(kt(),Ye.target.detail&&((Pr=(nr=(wr=Ye.target)==null?void 0:wr.element)==null?void 0:nr.className)!=null&&Pr.includes("line-numbers"))){let jr=Ye.target.position.lineNumber;if(tt(dt.getLineContent(jr),jr))return;Jt(jr)}}),Ir=at.onMouseLeave(()=>{kt()});return()=>{sr.dispose(),Bt.dispose(),xr.dispose(),Ir.dispose()}}},[Pt.current,Kt,_t,Tt,Ft,qe]),(0,G.useEffect)(()=>{var Me;(Me=Pt.current)!=null&&Me.instance&&Ft&&Pt.current.instance.setPosition({lineNumber:0,column:0})},[Tt]);function it(){let Me=Pt.current.instance;if(Me){const at=Me.getSelection(),dt=Pt.current.pastePos||{},Ot=new Ce.Range(dt.startLineNumber||at.endLineNumber,dt.startColumn||at.endColumn,dt.endLineNumber||at.endLineNumber,dt.endColumn||at.endColumn);setTimeout(()=>{Me.executeEdits("",[{range:Ot,text:""}])},300)}}function vt(Me){(window.navigator.platform.match("Mac")?Me.metaKey:Me.ctrlKey)&&Me.keyCode==83&&(Me.preventDefault(),Ae())}const pt=()=>{if(de&&Pt.current.instance){const Me=Pt.current.instance.getContentHeight();re(Me{if(!kr.current)return;const{keyCode:at,ctrlKey:dt,metaKey:Ot,target:jt,type:Mr}=Me;return(Mr==="paste"||(at===67||at===86)&&(Ot||dt))&&jt.nodeName==="TEXTAREA"&&(Ue(),Me.preventDefault()),!1};function T(Me,at){var dt=window.URL||window.webkitURL||window,Ot=new Blob([at]),jt=document.createElementNS("http://www.w3.org/1999/xhtml","a");jt.href=dt.createObjectURL(Ot),jt.download=Me,Xt(jt)}(0,G.useEffect)(()=>{pt()},[pt]),(0,G.useEffect)(()=>{rr.current&&!Kt&&Promise.all([Z.e(5552),Z.e(9651)]).then(Z.bind(Z,55826)).then(Me=>{try{Ce=Me,Pt.current.instance=Ce.editor.create(rr.current,{value:Re,language:me(qe),theme:z,requireConfig:{"vs/nls":{availableLanguages:{"*":"zh-cn"}}},wordWrap:!0,autoIndent:!0,contextmenu:!0,formatOnType:!0,minimap:{enabled:Gt||!1}},ze);const at=Pt.current.instance;let jt=[...t.BH._menuItems].find(sr=>sr[0]._debugName=="EditorContext")[1],Mr=["editor.action.clipboardCopyWithSyntaxHighlightingAction","editor.action.quickCommand","editor.action.clipboardCopyAction","editor.action.clipboardPasteAction","editor.action.clipboardCutAction"],Yt=(sr,Bt)=>{var Jt,kt;let xr=sr._first;do Bt.includes((kt=(Jt=xr.element)==null?void 0:Jt.command)==null?void 0:kt.id)&&sr._remove(xr);while(xr=xr.next)};if(Pe(at,Ce),setTimeout(()=>{pt(),Pt.current.instance.addAction({id:"d123123",label:"Download File",contextMenuGroupId:"9_cutcopypaste",run:()=>{T(Nt||"educoder.txt",at.getValue())}})},500),Pt.current.subscription=at.onDidChangeModelContent(sr=>{Gr.current?clearTimeout(an.current):(pt(),he(at.getValue(),sr)),an.current=setTimeout(()=>{Gr.current=!1},500)}),window.Monaco||r(Ce,me(qe)),se&&(Yt(jt,Mr),rr.current.classList.add("noCopyPaste"),window.removeEventListener("keydown",ke),window.removeEventListener("paste",ke),window.addEventListener("keydown",ke),window.addEventListener("paste",ke)),window.Monaco=Ce,_e&&at.onDidBlurEditorWidget(()=>{_e(at.getValue())}),We&&at.onDidFocusEditorText(()=>{se&&ge(),We(at.getValue())}),se){ge();try{at.onDidPaste(sr=>{const Bt=at.getSelection(),Jt=Pt.current.pastePos||{},kt=new Ce.Range(Jt.startLineNumber||Bt.endLineNumber,Jt.startColumn||Bt.endColumn,Jt.endLineNumber||Bt.endLineNumber,Jt.endColumn||Bt.endColumn);at.executeEdits("",[{range:sr.range,text:""}])})}catch(sr){}}let Er=He();return nt&&typeof nt=="string"&&new e(nt,at,Ce),Ke(!0),()=>{const sr=Pt.current.instance;sr.dispose();const Bt=sr.getModel();Bt&&Bt.dispose(),Pt.current.subscription&&Pt.current.subscription.dispose(),Er.unobserve(rr.current)}}catch(at){}})},[]),(0,G.useEffect)(()=>{if(Pt.current.instance&&Kt)return document.addEventListener("keydown",vt,!1),()=>{document.removeEventListener("keydown",vt)}},[Ae,Kt]),(0,G.useEffect)(()=>{let Me=Pt.current.instance;if(Me&&Kt){let at=me(qe);Ce.editor.setModelLanguage(Me.getModel(),at)}},[qe,Kt]),(0,G.useEffect)(()=>{Pt.current.instance&&Kt&&Ce.editor.setTheme(z)},[z,Kt]),(0,G.useEffect)(()=>{let Me=Pt.current.instance;Sr.current=Fe,Me&&Kt&&(Me.updateOptions(B({},Fe)),setTimeout(()=>{Me.getModel().updateOptions(B({},Fe))},200))},[JSON.stringify(Fe),Kt]),(0,G.useEffect)(()=>{let Me=Pt.current.instance;Me&&Kt&&Me.layout()},[ve,Ee,Kt]);const[P,V]=(0,G.useState)(H(ve)),[$,re]=(0,G.useState)(H(Ee)),xe=O(B({},Ie),{width:P,height:$,position:"relative"});return G.createElement("div",{className:"my-monaco-editor",ref:rr,style:xe},ie&&G.createElement(_.CopyToClipboard,{text:Re,onCopy:()=>a.ZP.success("\u590D\u5236\u6210\u529F")},G.createElement(f.Z,{title:"\u590D\u5236\u4EE3\u7801"},G.createElement("div",{style:{position:"absolute",top:0,right:10,cursor:"pointer",zIndex:10,color:"#165DFF"}},G.createElement("i",{className:"iconfont icon-fuzhi8",style:{fontSize:14}})," \u590D\u5236\u4EE3\u7801"))))};function we({width:De="100%",height:Se="100%",original:ve,modified:Ee,language:Re,options:qe={}}){const Ie=(0,G.useRef)(),[Fe,ze]=(0,G.useState)(null);function z(de){let se;return Ie.current&&(se=new J.Z(he=>{for(let Pe of he)(Pe.target.offsetHeight>0||Pe.target.offsetWidth>0)&&de.layout()}),se.observe(Ie.current)),se}(0,G.useEffect)(()=>(Ie.current&&Promise.all([Z.e(5552),Z.e(9404)]).then(Z.bind(Z,50048)).then(de=>{Ce=de;const se=Ce.editor.createDiffEditor(Ie.current,O(B({enableSplitViewResizing:!1,scrollBeyondLastLine:!1,roundedSelection:!1,renderIndicators:!1,useShadows:!1,horizontal:"hidden",lineNumbers:"off",wordWrap:"off",ignoreTrimWhitespace:!1,"semanticHighlighting.enabled":!0,followsCaret:!0,ignoreCharChanges:!0,minimap:{enabled:!1},readOnly:!0},qe),{wordWrap:!0}));ze(se);let he=z(se);return()=>{se.dispose();const Pe=se.getModel();Pe&&Pe.dispose(),he.unobserve(Ie.current)}}),()=>{window.removeEventListener("keydown",checkPaste),window.removeEventListener("paste",checkPaste)}),[]),(0,G.useEffect)(()=>{Fe&&Fe.setModel({original:Ce.editor.createModel(ve,Re),modified:Ce.editor.createModel(Ee,Re)})},[ve,Ee,Re,Fe]);const _e=H(De),ie=H(Se),Ae={width:_e,height:ie};return G.createElement("div",{className:"my-diff-editor",ref:Ie,style:Ae})}},5476:function(Ar,At,Z){"use strict";Z.d(At,{Z:function(){return u}});var G={flex_box_center:"flex_box_center___AQ53o",flex_space_between:"flex_space_between___i2aIa",flex_box_vertical_center:"flex_box_vertical_center___sPEKB",flex_box_center_end:"flex_box_center_end___GhSSH",flex_box_column:"flex_box_column___R9_Hb",list:"list___jb2Ay",wrap:"wrap___VsQDr",lockWrap:"lockWrap___g1k1T",li:"li___IxCLC",cover:"cover___Mu8wr",img:"img___IpFLA",movebq:"movebq___mF7wt",bq:"bq___Bil0T",sign:"sign___DXJ4d",name:"name___l7FoJ",e:"e___pXQUG",unit:"unit___wCIFR",tags:"tags___w_Mil",tag1:"tag1___dxm7r",tag2:"tag2___llZkf"},J=Z(74330),W=Z(83062),E=Z(94184),R=Z.n(E),h=Z(28706),v=Z(26194),m=Z(52262),A=Z(67294),u=({className:c,dataSource:p=[],col:r=4,right:n,bottom:o=23,precision:i=0,wrapWidth:s=1200,trackEventItems:l,loading:d,onRemove:e=()=>{},isCurrent:t=!0,showAlias:a=!1})=>{const f=Math.floor((s-(r-1)*n)/r),g=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:"/images/tjzx.png",swimg:"/images/sw_tjzx.png"},{name:"101\u8BA1\u5212",ptimg:"/images/jh.png",swimg:"/images/sw_jh.png"},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:"/images/gjyl.png",swimg:"/images/sw_gjyl.png"},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:"/images/sjyl.png",swimg:"/images/sw_sjyl.png"},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:"/images/jpkc.png",swimg:"/images/sw_jpkc.png"},{name:"\u519B\u961F\u4E00\u6D41",ptimg:"/images/jdyl.png",swimg:"/images/sw_jdyl.png"},{name:"\u65B0\u578B\u6559\u6750",ptimg:"/images/xxjc.png",swimg:"/images/sw_xxjc.png"}];return A.createElement(J.Z,{spinning:d},A.createElement("div",{className:R()(G.list,c)},!!(p!=null&&p.length)&&(p==null?void 0:p.map((x,_)=>{var D;const{name:M,id:w,identifier:b,featured:N,school_name:K,image_url:S,excellent:B,is_plan:O}=x;return A.createElement("div",{key:w,className:G.wrap,style:{width:f,marginRight:(1+_)%r===0?0:n+i,marginBottom:o}},A.createElement("a",{className:G.li,onClick:U=>{U.preventDefault(),U.stopPropagation(),l&&(0,h.L9)([l]),(0,h.xg)(`/paths/${b}`)}},A.createElement("div",{className:G.img},A.createElement("img",{className:G.cover,src:`${S}`}),t&&(0,m.bg)()&&(x==null?void 0:x.studying)&&A.createElement("div",{className:`${G.movebq} user-path-items`,onClick:U=>{U.stopPropagation(),e(x)}},A.createElement("i",{className:"iconfont icon-yichu1 mr5 c-red"}),A.createElement("span",{className:"c-red"},"\u79FB\u9664")),(D=x==null?void 0:x.subject_tags)==null?void 0:D.map((U,F)=>{var H,Y;if(F===0){const ae=(H=g.find(me=>me.name==U))==null?void 0:H.swimg;return A.createElement("img",{className:G.sign,src:ae,style:{left:"-4px"}})}const ne=(Y=g.find(ae=>ae.name==U))==null?void 0:Y.ptimg;return A.createElement("img",{className:G.sign,src:ne,style:{left:`${48+52*(F-1)+2*F}px`}})}),A.createElement("div",{style:{position:"absolute",top:"150px",left:"4px"}},(x==null?void 0:x.excellent)&&A.createElement("div",{className:G.bq},"\u5F00\u653E\u8BFE\u7A0B"))),A.createElement("div",{className:G.name},A.createElement(W.Z,{title:a&&(x!=null&&x.excellent_alias_name)?A.createElement("span",null,`\u8BFE\u7A0B\u539F\u540D\uFF1A${M}`,A.createElement("br",null),A.createElement("span",null,`\u8BFE\u7A0B\u522B\u540D\uFF1A${x==null?void 0:x.excellent_alias_name}`)):M},A.createElement("span",{className:G.e},a&&(x==null?void 0:x.excellent_alias_name)||M))),A.createElement(W.Z,{title:`\u53D1\u5E03\u5355\u4F4D\uFF1A${K}`},A.createElement("div",{className:G.unit},A.createElement("i",{className:"iconfont icon-danwei1 font14 mr3"}),K)),A.createElement("div",{className:G.tags},A.createElement("div",null,A.createElement(W.Z,{placement:"bottom",title:"\u7AE0\u8282\u6570"},A.createElement("span",null,A.createElement("i",{className:"iconfont icon-zhangjie1 font14 mr3"}),A.createElement("span",null,x.stages_count))),A.createElement(W.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},A.createElement("span",null,A.createElement("i",{className:"iconfont icon-chengyuan font14 mr3"}),A.createElement("span",null,x.members_count)))))))})),!p.length&&A.createElement(v.Z,null)))}},30001:function(Ar,At,Z){"use strict";Z.d(At,{jL:function(){return R},w9:function(){return H},QD:function(){return xt},cQ:function(){return S.Z},op:function(){return he},O5:function(){return et},_b:function(){return Tr},t7:function(){return s},Gi:function(){return ge},YG:function(){return me},qp:function(){return u},vr:function(){return Ft},qE:function(){return ht},Je:function(){return e},wb:function(){return K},cq:function(){return Ee},tp:function(){return r}});var G=Z(67294),J={flex_box_center:"flex_box_center___NeSU8",flex_space_between:"flex_space_between___ImTGl",flex_box_vertical_center:"flex_box_vertical_center___BtRd9",flex_box_center_end:"flex_box_center_end___qcLe3",flex_box_column:"flex_box_column___Ze_3q",banner:"banner___PoUBO",content:"content___XoDjy",btns:"btns___Pb35j"},W="data:image/png;base64,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",R=({dataSource:tt=[],img:it,imgWidth:vt=346,title:pt,sunTitle:Xt,bannerExtraContent:ke})=>G.createElement("div",{className:J.banner},G.createElement("div",{className:J.content},G.createElement("aside",null,G.createElement("p",null,G.createElement("b",null,pt),G.createElement("span",null,Xt)),tt.length>0&&G.createElement("div",{className:J.btns},tt.map((T,P)=>G.createElement("div",{key:P,onClick:T.click},T.name,T.sign?G.createElement("img",{src:W,width:39}):null))),ke),it&&G.createElement("img",{style:{marginTop:33,marginRight:38},src:it,width:vt}))),h={flex_box_center:"flex_box_center___hG6RI",flex_space_between:"flex_space_between___ss3Fh",flex_box_vertical_center:"flex_box_vertical_center___K80p9",flex_box_center_end:"flex_box_center_end___qmXX3",flex_box_column:"flex_box_column___GFV8F",row:"row___aXJjm",title:"title___HUKL0",tagsWrap:"tagsWrap___XB2W3",action:"action___VdHb1",bar:"bar___t1kKC",tag:"tag___V7Eft",name:"name___Hk1Ip",num:"num___xQpcH",active:"active___XryTX",tagsBorderWrap:"tagsBorderWrap___OMxjs"},v=Z(94184),m=Z.n(v),A=Z(96486),u=({dataSource:tt=[],value:it,onChange:vt,onTitleChange:pt,className:Xt,title:ke,titleWidth:T=41,style:P={},fontColor:V="#6A7283",showCount:$})=>{const[re,xe]=(0,G.useState)(0),[Me,at]=(0,G.useState)(!1),dt=(0,G.useRef)(null),Ot=(0,G.useRef)(null);return(0,G.useEffect)(()=>{var jt;tt.length!==0&&(((jt=dt==null?void 0:dt.current)==null?void 0:jt.clientHeight)>97?xe(1):xe(0)),tt.length===0&&xe(0),at(!1)},[tt]),G.createElement("div",{className:m()(h.row,Xt),style:P},G.createElement("div",{onClick:(0,A.throttle)(()=>pt==null?void 0:pt(),2e3),style:{width:T,marginTop:Me?12:4},className:`${h.title} ${pt?"current":""}`},ke),G.createElement("div",{className:Me?`${h.tagsWrap} ${h.tagsBorderWrap}`:h.tagsWrap},G.createElement("div",{className:h.bar,ref:Ot,style:re>0?{height:re===1?97:"auto",overflow:re===1?"hidden":"auto",paddingRight:55}:{paddingRight:0}},G.createElement("div",{className:h.tag,ref:dt},tt==null?void 0:tt.map(jt=>G.createElement("span",{onClick:()=>vt(jt.id),key:jt.id,style:{color:V},className:it===jt.id?h.active:""},G.createElement("span",{title:jt.name,className:h.name},jt.name),!!$&&G.createElement("span",{className:h.num},jt.count))))),!!re&&G.createElement(G.Fragment,null,re===1?G.createElement("div",{onClick:()=>{var jt;xe(2),((jt=dt==null?void 0:dt.current)==null?void 0:jt.clientHeight)>245?at(!0):at(!1)},className:h.action},"\u5C55\u5F00",G.createElement("i",{style:{transform:"translateY(1px) scale(0.6)"},className:"iconfont icon-zhankai4"})):G.createElement("div",{onClick:()=>{Ot.current.scrollTop=0,xe(1),at(!1)},className:h.action},"\u6536\u8D77",G.createElement("i",{style:{transform:"translateY(0px) scale(0.6)"},className:"iconfont icon-shouqi3"})))))},c={flex_box_center:"flex_box_center___aK2n3",flex_space_between:"flex_space_between___HX0Oh",flex_box_vertical_center:"flex_box_vertical_center___LJOJr",flex_box_center_end:"flex_box_center_end___SCakF",flex_box_column:"flex_box_column___AYv4m",tabs:"tabs___GTqPV",active:"active___F26E8"},r=({dataSource:tt=[],value:it,onChange:vt,className:pt,style:Xt={}})=>G.createElement("div",{style:Xt,className:m()(c.tabs,pt)},tt.map(ke=>G.createElement("span",{onClick:()=>vt(ke.id),className:it===ke.id?c.active:"",key:ke.id},ke.name))),n={flex_box_center:"flex_box_center___yX6Oa",flex_space_between:"flex_space_between___t7oqF",flex_box_vertical_center:"flex_box_vertical_center___dEIHy",flex_box_center_end:"flex_box_center_end___taQDF",flex_box_column:"flex_box_column___xY_Lr",input:"input___PW2zI",dropdown:"dropdown___vSy8B",menu:"menu___NiyBu",text:"text___Grueu",b1:"b1___ZKryM",b2:"b2___aKyGa"},o=Z(28802),s=({dataSource:tt=[],value:it="",onChange:vt,onInputChange:pt=()=>{},className:Xt,style:ke={},placeholder:T,allowClear:P=!1})=>{var V;const[$,re]=(0,G.useState)(""),[xe,Me]=(0,G.useState)("");(0,G.useEffect)(()=>{var Ot;let jt=it;(Ot=JSON.stringify(it))!=null&&Ot.includes("{")&&(re(it.id),jt=it.value||"");try{Me(decodeURIComponent(jt||""))}catch(Mr){Me(decodeURIComponent(jt||""))}},[it]);const at=()=>{vt(encodeURIComponent(xe),$||null)},dt=Ot=>{Ot!==$&&(re(Ot),vt(encodeURIComponent(xe),Ot))};return G.createElement("div",{className:m()(n.input,Xt),style:ke},!!tt.length&&G.createElement("div",{className:n.dropdown},G.createElement("div",{className:n.text},(V=tt.find(Ot=>Ot.id===$))==null?void 0:V.name,G.createElement("i",{className:"iconfont icon-zhankai4"}),G.createElement("b",{className:n.b1}),G.createElement("b",{className:n.b2})),G.createElement("div",{className:n.menu},tt.map((Ot,jt)=>G.createElement("div",{key:jt,onClick:()=>dt(Ot.id)},Ot.name)))),G.createElement(o.default,{onPressEnter:at,value:xe,onChange:Ot=>{Me(Ot.target.value),pt(encodeURIComponent(Ot.target.value),$||null)},bordered:!1,placeholder:T}),G.createElement("i",{onClick:at,className:"iconfont icon-sousuo9 font14 pl10 current"}))},l={flex_box_center:"flex_box_center___tol8o",flex_space_between:"flex_space_between___Z235C",flex_box_vertical_center:"flex_box_vertical_center___Wq1sZ",flex_box_center_end:"flex_box_center_end___LLxom",flex_box_column:"flex_box_column___DbMSN",quickPager:"quickPager___GM30J",disabled:"disabled___Ozc8I"},e=({value:tt,onChange:it,className:vt,total:pt,pageSize:Xt,style:ke={}})=>{const T=tt<2,P=tt>=Math.ceil(pt/Xt);return pt<=Xt?G.createElement(G.Fragment,null):G.createElement("div",{className:m()(l.quickPager,vt),style:ke},G.createElement("div",{onClick:()=>{T||it(tt-1,"prev")},className:T?l.disabled:""},"\u4E0A\u4E00\u9875"),G.createElement("div",{onClick:()=>{P||it(tt+1,"next")},className:P?l.disabled:""},"\u4E0B\u4E00\u9875"))},t={flex_box_center:"flex_box_center___FO7TP",flex_space_between:"flex_space_between___LotYx",flex_box_vertical_center:"flex_box_vertical_center___bWdaw",flex_box_center_end:"flex_box_center_end___mVJ1o",flex_box_column:"flex_box_column___M83Mm",list:"list___oOsiS",wrap:"wrap___G6T7F",lockWrap:"lockWrap___Rl79E",li:"li___oZZ7l",cover:"cover___b2bYW",img:"img___IQX7w",sign:"sign___HkT6C",name:"name___SsJx8",e:"e___TMqq0",tags:"tags___bcjyo",rate:"rate___YACg7"},a=Z(74330),f=Z(83062),g=Z(57097),x=Z(11320),_=Z(28706),D=Z(96908),M=Z(57177),w=Z(81378),b=Z(26194),K=({className:tt,dataSource:it=[],col:vt=4,right:pt,bottom:Xt=23,precision:ke=0,wrapWidth:T=1200,trackEventItems:P,loading:V})=>{const $=Math.floor((T-(vt-1)*pt)/vt);return G.createElement(a.Z,{spinning:V},G.createElement("div",{className:m()(t.list,tt)},!!it.length&&it.map((re,xe)=>{const{name:Me,id:at,identifier:dt,power:Ot,cover_image_id:jt,pic:Mr}=re;return G.createElement("div",{className:t.wrap,key:at,style:{width:$,marginRight:(1+xe)%vt===0?0:pt+ke,marginBottom:Xt}},G.createElement("a",{target:"_blank",href:`/shixuns/${dt}/challenges`,className:t.li,onClick:Yt=>{Yt.preventDefault(),P&&(0,_.L9)([P]),Ot&&(0,_.xg)(`/shixuns/${dt}/challenges`)}},G.createElement("div",{className:t.img},G.createElement("img",{className:t.cover,src:`${Mr}`}),re.is_jupyter&&G.createElement("img",{className:t.sign,src:D}),re.is_jupyter_lab&&G.createElement("img",{className:t.sign,src:M}),re.is_unity_3d&&G.createElement("img",{className:t.sign,src:w})),G.createElement("div",{className:t.name},G.createElement(f.Z,{title:Me||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"},G.createElement("span",{className:t.e},Me||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"))),G.createElement("div",{className:t.tags},G.createElement(f.Z,{placement:"bottom",title:"\u5173\u5361\u6570"},G.createElement("span",null,G.createElement("i",{className:"iconfont icon-shixunguanqia font14 mr2"}),G.createElement("span",null,re.challenges_count))),!!re.myshixuns_count&&G.createElement(f.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},G.createElement("span",null,G.createElement("i",{className:"iconfont icon-chengyuan font14 mr2"}),G.createElement("span",null,re.myshixuns_count))),G.createElement(f.Z,{placement:"bottom",title:"\u96BE\u5EA6\u7B49\u7EA7"},G.createElement("span",null,G.createElement("span",null,re.level))),G.createElement("div",{className:t.rate},G.createElement(g.Z,{allowHalf:!0,disabled:!0,defaultValue:re.score_info}),G.createElement("span",null,"\xA0",re.score_info?`${re.score_info}\u5206`:"5\u5206")))),!Ot&&G.createElement("div",{className:t.lockWrap},G.createElement("img",{src:`${x.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),G.createElement("span",{className:"mt15 font16 c-white"},"\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743")))}),!it.length&&G.createElement(b.Z,null)))},S=Z(5476),B={flex_box_center:"flex_box_center___eMcr7",flex_space_between:"flex_space_between___HcNca",flex_box_vertical_center:"flex_box_vertical_center___ZnvVN",flex_box_center_end:"flex_box_center_end___fdgDf",flex_box_column:"flex_box_column___SEKvd",list:"list___L1hmU",wrap:"wrap___pKgcW",lockWrap:"lockWrap___SMhkK",top:"top___udHSB",sign:"sign___uwRpq",name:"name___Fpf90",img:"img___AMLhL",text:"text___KiTb7",btns:"btns___i6IuZ",bottom:"bottom____k2sh"},O="data:image/png;base64,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",U=Z(67294),H=({className:tt,dataSource:it=[],col:vt=4,right:pt,bottom:Xt=23,precision:ke=0,wrapWidth:T=1200,trackEventItems:P,loading:V,handleVery:$=()=>!0})=>{const re=Math.floor((T-(vt-1)*pt)/vt);return U.createElement(a.Z,{spinning:V},U.createElement("div",{className:m()(B.list,tt)},!!it.length&&it.map((xe,Me)=>{const{subject_identifier:at,id:dt,identifier:Ot,power:jt}=xe,Mr=xe.is_public!=0&&xe.is_public;return U.createElement("div",{className:B.wrap,key:dt,style:{width:re,marginRight:(1+Me)%vt===0?0:pt+ke,marginBottom:Xt}},U.createElement("a",{className:B.li,onClick:Yt=>{Yt.preventDefault(),$(xe==null?void 0:xe.first_category_url)&&(P&&(0,_.L9)([P]),(0,_.xg)(xe.first_category_url))}},U.createElement("div",{className:B.top},U.createElement(f.Z,{title:xe.name},U.createElement("div",{className:B.name},xe.name)),U.createElement("img",{className:B.img,src:x.Z.IMG_SERVER+"/images/"+xe.avatar_url}),U.createElement("div",{className:B.text,title:xe.creator},xe.creator),at&&U.createElement("div",{className:B.btns},U.createElement("div",null,"\u5F00\u653E\u8BFE\u7A0B"),U.createElement("aside",null,"\u5F00\u653E\u8BFE\u5802")),Mr&&U.createElement("div",{className:B.sign},"\u516C\u5F00")),U.createElement("div",{className:B.bottom},xe.visits>0&&U.createElement(f.Z,{title:"\u8BBF\u95EE\u91CF",placement:"bottom"},U.createElement("span",null,U.createElement("i",{className:"iconfont icon-liulanyan"}),U.createElement("span",null,xe.visits))),xe.course_members_count>0&&U.createElement(f.Z,{title:"\u6210\u5458",placement:"bottom"},U.createElement("span",null,U.createElement("i",{className:"iconfont icon-chengyuan"}),xe.course_members_count)),xe.tasks_count>0&&U.createElement(f.Z,{title:"\u4F5C\u4E1A",placement:"bottom"},U.createElement("span",null,U.createElement("i",{className:"iconfont icon-zuoye"}),xe.tasks_count)),xe.is_end?U.createElement("div",{style:{color:"#6B758B"}},"\u5DF2\u7ED3\u675F"):U.createElement("div",{style:{color:"#00B187"}},"\u8FDB\u884C\u4E2D"))),!xe.is_accessible&&U.createElement("div",{className:B.lockWrap},U.createElement("img",{src:`${x.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),U.createElement("span",{className:"mt15 font16 c-white"},"\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165")))}),!it.length&&U.createElement(b.Z,null)))},Y={flex_box_center:"flex_box_center___d27mZ",flex_space_between:"flex_space_between___qfRU9",flex_box_vertical_center:"flex_box_vertical_center___fCRld",flex_box_center_end:"flex_box_center_end___ORMV8",flex_box_column:"flex_box_column___PNKtZ",tabs:"tabs___alpa7",tabsWrap:"tabsWrap___aCQjw",tab:"tab___MKLr4",active:"active___nl_4v"},ne=Z(35973),me=({dataSource:tt=[],value:it,onChange:vt,className:pt,style:Xt={},tabBarExtraContent:ke})=>G.createElement("div",{className:m()(Y.tabs,pt),style:Xt},G.createElement("div",{className:Y.tabsWrap},tt.map((T,P)=>!(T!=null&&T.hide)&&G.createElement("aside",{className:Y.tab,onClick:()=>{vt(T.id),T.link&&ne.history.push(T.link)},key:P},G.createElement("div",{className:it===T.id?Y.active:""},T.name),(T==null?void 0:T.resetCount)==null&&(T==null?void 0:T.total)!==void 0&&G.createElement("span",null,"\uFF08",T==null?void 0:T.total,"\uFF09"),(T==null?void 0:T.resetCount)!==void 0&&(T==null?void 0:T.total)!==void 0&&G.createElement(f.Z,{title:(T==null?void 0:T.tip)!=null?T==null?void 0:T.tip:""},G.createElement("span",{style:{color:"#9096A3"}},"\uFF08",G.createElement("span",{style:{color:"#000"}},T==null?void 0:T.resetCount),"/",G.createElement("span",null,T==null?void 0:T.total),"\uFF09"))))),G.createElement("div",{className:Y.tabBar},ke)),ge=({className:tt,style:it={},children:vt})=>G.createElement("div",{className:m()(tt),style:it},vt),pe={flex_box_center:"flex_box_center___e6HxQ",flex_space_between:"flex_space_between___RnXYe",flex_box_vertical_center:"flex_box_vertical_center___lVxPk",flex_box_center_end:"flex_box_center_end___bu8yv",flex_box_column:"flex_box_column___JczGj",orderWrap:"orderWrap___ZfyGX",orderIconWrap:"orderIconWrap___XTB_O",orderAsc:"orderAsc___KWHmA",orderDesc:"orderDesc___rHdbB",active:"active___a7eSP",cursorPointer:"cursorPointer___gs9kL",orderTextWrap:"orderTextWrap___teAKn"},we=Z(85418),De=Z(50136);const Se=[{id:"updated_at",name:"\u6700\u65B0\u52A8\u6001"},{id:"created_at",name:"\u6700\u65B0\u521B\u5EFA"},{id:"name",name:"\u540D\u79F0\u6392\u5E8F"}];var Ee=({sortValue:tt,dropValue:it,className:vt,onSort:pt,onDrop:Xt,dataSource:ke=Se})=>{var T;return G.createElement("div",{className:m()(pe.orderWrap,vt)},G.createElement(we.Z,{dropdownRender:()=>G.createElement(De.default,null,ke.map((P,V)=>G.createElement(De.default.Item,{key:V,onClick:()=>Xt(P.id)},P.name)))},G.createElement("span",{className:pe.orderTextWrap},(T=ke.find(P=>it===P.id))==null?void 0:T.name)),G.createElement("span",{className:pe.orderIconWrap},G.createElement("span",{className:pe.orderAsc},G.createElement("i",{className:tt==="asc"?`iconfont icon-sanjiaoxing-up font12 ${pe.cursorPointer} ${pe.active}`:`iconfont icon-sanjiaoxing-up font12 ${pe.cursorPointer}`,onClick:()=>pt(tt==="asc"?"desc":"asc")})),G.createElement("span",{className:pe.orderDesc},G.createElement("i",{className:tt==="desc"?`iconfont icon-sanjiaoxing-down font12 ${pe.cursorPointer} ${pe.active}`:`iconfont icon-sanjiaoxing-down font12 ${pe.cursorPointer}`,onClick:()=>pt(tt==="asc"?"desc":"asc")}))))},Re={flex_box_center:"flex_box_center___LCi0B",flex_space_between:"flex_space_between___hzONe",flex_box_vertical_center:"flex_box_vertical_center___ZyQRE",flex_box_center_end:"flex_box_center_end___XKM74",flex_box_column:"flex_box_column___p8LCU",btn:"btn___In02G","mediacy-round":"mediacy-round___uveEv","mediacy-default":"mediacy-default___dDxsd",default:"default___K791v"},qe=Z(85804),Ie=Object.defineProperty,Fe=Object.getOwnPropertySymbols,ze=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,_e=(tt,it,vt)=>it in tt?Ie(tt,it,{enumerable:!0,configurable:!0,writable:!0,value:vt}):tt[it]=vt,ie=(tt,it)=>{for(var vt in it||(it={}))ze.call(it,vt)&&_e(tt,vt,it[vt]);if(Fe)for(var vt of Fe(it))z.call(it,vt)&&_e(tt,vt,it[vt]);return tt},Ae=(tt,it)=>{var vt={};for(var pt in tt)ze.call(tt,pt)&&it.indexOf(pt)<0&&(vt[pt]=tt[pt]);if(tt!=null&&Fe)for(var pt of Fe(tt))it.indexOf(pt)<0&&z.call(tt,pt)&&(vt[pt]=tt[pt]);return vt},de=(tt,it,vt)=>new Promise((pt,Xt)=>{var ke=V=>{try{P(vt.next(V))}catch($){Xt($)}},T=V=>{try{P(vt.throw(V))}catch($){Xt($)}},P=V=>V.done?pt(V.value):Promise.resolve(V.value).then(ke,T);P((vt=vt.apply(tt,it)).next())}),he=tt=>{var it=tt,{className:vt,style:pt,children:Xt,loading:ke=!1,openLoading:T,onClick:P=()=>{},size:V="middle",shape:$="round"}=it,re=Ae(it,["className","style","children","loading","openLoading","onClick","size","shape"]);const[xe,Me]=(0,G.useState)(!1);return G.createElement(qe.ZP,ie({onClick:(0,A.throttle)(at=>de(void 0,null,function*(){T&&Me(!0);try{yield P(at)}catch(dt){console.log("error",dt)}T&&Me(!1)}),2e3,{leading:!0,trailing:!1}),className:m()(Re.btn,Re[`${V}-${$}`],vt),style:pt,size:V,shape:$,loading:xe||ke},re),Xt)},Pe={flex_box_center:"flex_box_center___TB7bQ",flex_space_between:"flex_space_between___oBlTb",flex_box_vertical_center:"flex_box_vertical_center___b5XbB",flex_box_center_end:"flex_box_center_end___CNhe7",flex_box_column:"flex_box_column___yHXKW",head:"head___ghH72",node:"node___mjPEy"},ht=({className:tt,style:it,children:vt=null,onClick:pt,title:Xt})=>G.createElement("div",{className:m()(Pe.head,tt),style:it},G.createElement("span",{className:"primary-hover",onClick:pt},G.createElement("i",{className:"iconfont icon-fanhui2 font12"}),"\u8FD4\u56DE"),G.createElement("b",{title:Xt},Xt),G.createElement("div",{className:Pe.node},vt)),_t={flex_box_center:"flex_box_center___AlHuF",flex_space_between:"flex_space_between___vN2LW",flex_box_vertical_center:"flex_box_vertical_center___Ac7D2",flex_box_center_end:"flex_box_center_end___y38I7",flex_box_column:"flex_box_column___iQE6P",btns:"btns___sNgTb",confirm:"confirm___Ozirl",cancel:"cancel___aiq1I"},xt=({confirmShow:tt=!0,confirmTitle:it,confirmClick:vt,cancelShow:pt=!0,cancelTitle:Xt,cancelClick:ke,className:T,style:P,confirmLoading:V=!1})=>G.createElement("div",{className:m()(_t.btns,T),style:P},tt&&G.createElement(qe.ZP,{loading:V,onClick:vt,type:"primary",className:_t.confirm},it),pt&&G.createElement(qe.ZP,{onClick:ke,className:_t.cancel},Xt)),Dt={flex_box_center:"flex_box_center___jkpdr",flex_space_between:"flex_space_between___OtsL8",flex_box_vertical_center:"flex_box_vertical_center___rbcb_",flex_box_center_end:"flex_box_center_end___zBR21",flex_box_column:"flex_box_column___nS_eP",fixedBottom:"fixedBottom___oJl7m",wrap:"wrap___A3Oq1",center:"center____VL1y"},Ft=({className:tt,style:it={},LeftContent:vt,children:pt,RightContent:Xt})=>G.createElement("div",{className:m()(Dt.fixedBottom,tt),style:it},G.createElement("div",{className:Dt.wrap},G.createElement("div",{className:Dt.left},vt),G.createElement("div",{className:Dt.center},pt),G.createElement("div",{className:Dt.right},Xt))),nt={flex_box_center:"flex_box_center___tY8Yn",flex_space_between:"flex_space_between___vHdYA",flex_box_vertical_center:"flex_box_vertical_center___pa61F",flex_box_center_end:"flex_box_center_end___HyDXt",flex_box_column:"flex_box_column___UjZek",crumbs:"crumbs___V41Oe",hover:"hover___bEIVd"},Tr=({className:tt,style:it={},dataSource:vt=[]})=>G.createElement("div",{className:m()(nt.crumbs,tt),style:it},vt.map((pt,Xt)=>Xtne.history.push(pt.path)},pt.name):G.createElement("span",null,pt.name),G.createElement("span",null,"\xA0",">","\xA0")):G.createElement("span",{key:Xt,style:{color:"#5F6368"}},pt.name))),rr=Z(55054),Pt=Object.defineProperty,Sr=Object.defineProperties,$r=Object.getOwnPropertyDescriptors,vn=Object.getOwnPropertySymbols,Gr=Object.prototype.hasOwnProperty,an=Object.prototype.propertyIsEnumerable,Ln=(tt,it,vt)=>it in tt?Pt(tt,it,{enumerable:!0,configurable:!0,writable:!0,value:vt}):tt[it]=vt,kr=(tt,it)=>{for(var vt in it||(it={}))Gr.call(it,vt)&&Ln(tt,vt,it[vt]);if(vn)for(var vt of vn(it))an.call(it,vt)&&Ln(tt,vt,it[vt]);return tt},Kt=(tt,it)=>Sr(tt,$r(it)),Ke=(tt,it)=>{var vt={};for(var pt in tt)Gr.call(tt,pt)&&it.indexOf(pt)<0&&(vt[pt]=tt[pt]);if(tt!=null&&vn)for(var pt of vn(tt))it.indexOf(pt)<0&&an.call(tt,pt)&&(vt[pt]=tt[pt]);return vt};const{Countdown:He}=rr.default;var et=tt=>{var it=tt,{onChange:vt}=it,pt=Ke(it,["onChange"]);const[Xt,ke]=(0,G.useState)(null);(0,G.useEffect)(()=>{typeof Xt=="number"&&Xt>=0&&vt(Xt)},[Xt]);const T=P=>{const V=Math.floor(P/1e3);ke(V)};return G.createElement(He,Kt(kr({},pt),{onChange:T}))}},55099:function(Ar,At,Z){"use strict";Z.r(At),Z.d(At,{NoData:function(){return Ee},default:function(){return ze}});var G=Z(67294),J=Z(85804),W=Z(62844),E="data:image/png;base64,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",R=Z(33170);function h(){return(0,R.U2)("teach_groups.json")}function v(z){return(0,R.v_)("teach_groups.json",z)}function m(z,_e){return(0,R.gz)(`teach_groups/${z}.json`,_e)}function A(z){return(0,R.v_)("teach_group_members.json",z)}function y(z){return(0,R.IV)(`teach_group_members/${z}.json`)}function u(z,_e){return(0,R.gz)(`teach_groups/${z}/change_admin.json`,{member_id:_e})}function c(z,_e){return(0,R.IV)(`teach_groups/${z}/del_member.json`,{member_id:_e})}function p(z){return(0,R.IV)(`teach_groups/${z}.json`)}function r(z){return(0,R.U2)(`teach_groups/${z}/show_permission.json`)}function n(z){return(0,R.gz)(`teach_groups/${z==null?void 0:z.id}/update_permission.json`,z)}var o=Z(91773),i=Z(28802),s=Z(39132),l=({callback:z,visible:_e,onCancel:ie,id:Ae,name:de})=>{function se(Pe){z(Pe)}const[he]=o.default.useForm();return(0,G.useEffect)(()=>{he.setFieldsValue({name:de})},[de]),G.createElement(W.default,{centered:!0,title:Ae?"\u4FEE\u6539\u540D\u79F0":"\u65B0\u5EFA",open:_e,onCancel:ie,onOk:()=>{he.submit()},wrapClassName:s.Z.CustomCss},G.createElement(o.default,{form:he,initialValues:{name:de},onFinish:se},G.createElement(o.default.Item,{label:"\u6559\u7814\u56E2\u961F\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC720\u5B57\u7684\u540D\u79F0"}]},G.createElement(i.default,{placeholder:"\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC720\u5B57\u7684\u540D\u79F0",maxLength:20}))))},d=Z(84567),e=Z(85418),t=Z(50136),a=Z(57399),f=Z(2453),g=Z(98813),x=Object.defineProperty,_=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable,w=(z,_e,ie)=>_e in z?x(z,_e,{enumerable:!0,configurable:!0,writable:!0,value:ie}):z[_e]=ie,b=(z,_e)=>{for(var ie in _e||(_e={}))D.call(_e,ie)&&w(z,ie,_e[ie]);if(_)for(var ie of _(_e))M.call(_e,ie)&&w(z,ie,_e[ie]);return z};const N=z=>React.createElement("svg",b({className:"cjz_svg__icon",viewBox:"0 0 3194 1024",xmlns:"http://www.w3.org/2000/svg",width:623.828,height:200},z),React.createElement("path",{d:"M512 0h2170.88c282.624 0 512 229.376 512 512s-229.376 512-512 512H512C229.376 1024 0 794.624 0 512S229.376 0 512 0z",fill:"#EBEEFD"}),React.createElement("path",{d:"M1638.4 741.376c28.672 0 40.96-16.384 40.96-45.056V294.912h-36.864v393.216c0 16.384-8.192 20.48-20.48 20.48-24.576 0-45.056 0-73.728-4.096l8.192 32.768h81.92zm-372.736-258.048c49.152-45.056 90.112-94.208 126.976-147.456 32.768 32.768 69.632 77.824 110.592 135.168l24.576-24.576c-40.96-49.152-81.92-98.304-122.88-143.36h-24.576c-40.96 57.344-81.92 110.592-131.072 155.648l16.384 24.576zm323.584 159.744V339.968h-32.768v307.2h32.768zm-131.072 94.208c24.576 0 36.864-4.096 45.056-12.288s16.384-36.864 20.48-77.824l-32.768-12.288c0 28.672-4.096 45.056-8.192 53.248s-16.384 12.288-32.768 12.288h-98.304c-12.288 0-20.48-4.096-20.48-16.384v-204.8h106.496v94.208c0 12.288-8.192 20.48-20.48 20.48-16.384 0-32.768 0-49.152-4.096l8.192 32.768h53.248c28.672 0 40.96-16.384 40.96-40.96V450.56h-176.128v245.76c0 24.576 12.288 36.864 40.96 36.864h122.88zm585.728-53.248V634.88h131.072v-28.672h-131.072v-40.96h114.688v-28.672h-114.688v-40.96H2150.4v-69.632h32.768v-28.672H2150.4V327.68h-106.496v-32.768h-32.768v32.768h-86.016v28.672h86.016v36.864h-110.592v28.672h110.592v40.96h-86.016v28.672h86.016v40.96h-98.304v28.672h98.304v40.96h-110.592v28.672h110.592v49.152h32.768zm-270.336 57.344c24.576-16.384 40.96-36.864 57.344-61.44 4.096 4.096 12.288 8.192 16.384 12.288 36.864 24.576 102.4 36.864 188.416 36.864h147.456l4.096-32.768c-57.344 0-110.592 4.096-167.936 4.096-65.536 0-118.784-12.288-151.552-28.672-8.192-4.096-16.384-12.288-24.576-20.48 24.576-45.056 36.864-98.304 36.864-163.84v-20.48h-77.824c24.576-32.768 49.152-73.728 73.728-118.784v-28.672H1761.28v32.768h81.92c-24.576 40.96-49.152 81.92-77.824 118.784v28.672h90.112c-4.096 45.056-12.288 86.016-28.672 122.88-12.288-20.48-24.576-49.152-32.768-86.016l-32.768 12.288c12.288 40.96 28.672 77.824 45.056 106.496-16.384 24.576-36.864 40.96-57.344 57.344l24.576 28.672zm339.968-344.064h-69.632v-36.864h69.632v36.864zm0 69.632h-69.632v-40.96h69.632v40.96zm253.952 278.528v-20.48h212.992v20.48h36.864V524.288h-184.32c28.672-12.288 53.248-24.576 77.824-40.96l20.48-12.288h151.552v-32.768h-106.496c32.768-24.576 65.536-57.344 94.208-90.112l-32.768-20.48c-36.864 40.96-73.728 77.824-122.88 110.592h-61.44v-61.44h114.688v-32.768h-114.688v-49.152h-36.864v53.248h-135.168v32.768h135.168v57.344h-180.224v32.768h225.28c-69.632 40.96-147.456 69.632-229.376 90.112l16.384 32.768c28.672-8.192 57.344-20.48 81.92-28.672v180.224h36.864zm212.992-139.264h-212.992v-49.152h212.992v49.152zm0 86.016h-212.992v-53.248h212.992v53.248z",fill:"#165DFF"}),React.createElement("path",{d:"M573.44 204.8h327.68c90.112 0 163.84 73.728 163.84 163.84v327.68c0 90.112-73.728 163.84-163.84 163.84H573.44c-90.112 0-163.84-73.728-163.84-163.84V368.64c0-90.112 73.728-163.84 163.84-163.84z",fill:"#C2D0FF"}),React.createElement("path",{d:"M868.352 581.632c4.096 24.576 12.288 49.152 16.384 69.632 0 8.192 4.096 16.384 4.096 24.576s4.096 16.384 4.096 24.576 4.096 12.288 4.096 16.384v8.192c0 8.192 0 12.288-4.096 12.288-4.096 4.096-8.192 4.096-12.288 4.096h-8.192c-4.096 0-4.096 0-8.192-4.096L737.28 667.648c-24.576 12.288-45.056 24.576-61.44 36.864L651.264 716.8c-8.192 4.096-16.384 8.192-20.48 12.288-8.192 4.096-16.384 8.192-20.48 12.288s-8.192 4.096-8.192 4.096c-4.096 0-8.192 4.096-8.192 0-4.096 0-8.192 0-8.192-4.096-4.096 0-4.096-4.096-4.096-8.192v-8.192s0-4.096 4.096-8.192c0-4.096 4.096-12.288 4.096-16.384 0-8.192 4.096-16.384 4.096-24.576s4.096-16.384 8.192-24.576c4.096-20.48 12.288-45.056 16.384-69.632-24.576-16.384-45.056-28.672-57.344-45.056-8.192-4.096-16.384-8.192-20.48-16.384s-12.288-8.192-16.384-12.288S512 499.712 512 495.616c-4.096-4.096-8.192-4.096-8.192-4.096-4.096-4.096-4.096-8.192-8.192-12.288s-4.096-8.192-4.096-12.288 4.096-8.192 4.096-12.288c4.096 0 8.192-4.096 12.288-4.096l151.552-12.288L716.8 307.2c0-4.096 4.096-8.192 8.192-12.288 0-8.192 8.192-8.192 12.288-8.192s4.096 0 8.192 4.096c4.096 0 4.096 4.096 4.096 4.096l4.096 4.096s0 4.096 4.096 4.096l53.248 131.072 155.648 16.384c8.192 0 12.288 4.096 12.288 4.096 4.096 4.096 4.096 8.192 4.096 12.288s0 8.192-4.096 12.288l-12.288 12.288-98.304 90.112z",fill:"#2E5BEC"}));var K="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDMxOTQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNjIzLjgyOCIgaGVpZ2h0PSIyMDAiPjxwYXRoIGQ9Ik01MTIgMGgyMTcwLjg4YzI4Mi42MjQgMCA1MTIgMjI5LjM3NiA1MTIgNTEycy0yMjkuMzc2IDUxMi01MTIgNTEySDUxMkMyMjkuMzc2IDEwMjQgMCA3OTQuNjI0IDAgNTEyUzIyOS4zNzYgMCA1MTIgMHoiIGZpbGw9IiNFQkVFRkQiLz48cGF0aCBkPSJNMTYzOC40IDc0MS4zNzZjMjguNjcyIDAgNDAuOTYtMTYuMzg0IDQwLjk2LTQ1LjA1NlYyOTQuOTEyaC0zNi44NjR2MzkzLjIxNmMwIDE2LjM4NC04LjE5MiAyMC40OC0yMC40OCAyMC40OC0yNC41NzYgMC00NS4wNTYgMC03My43MjgtNC4wOTZsOC4xOTIgMzIuNzY4aDgxLjkyem0tMzcyLjczNi0yNTguMDQ4YzQ5LjE1Mi00NS4wNTYgOTAuMTEyLTk0LjIwOCAxMjYuOTc2LTE0Ny40NTYgMzIuNzY4IDMyLjc2OCA2OS42MzIgNzcuODI0IDExMC41OTIgMTM1LjE2OGwyNC41NzYtMjQuNTc2Yy00MC45Ni00OS4xNTItODEuOTItOTguMzA0LTEyMi44OC0xNDMuMzZoLTI0LjU3NmMtNDAuOTYgNTcuMzQ0LTgxLjkyIDExMC41OTItMTMxLjA3MiAxNTUuNjQ4bDE2LjM4NCAyNC41NzZ6bTMyMy41ODQgMTU5Ljc0NFYzMzkuOTY4aC0zMi43Njh2MzA3LjJoMzIuNzY4em0tMTMxLjA3MiA5NC4yMDhjMjQuNTc2IDAgMzYuODY0LTQuMDk2IDQ1LjA1Ni0xMi4yODhzMTYuMzg0LTM2Ljg2NCAyMC40OC03Ny44MjRsLTMyLjc2OC0xMi4yODhjMCAyOC42NzItNC4wOTYgNDUuMDU2LTguMTkyIDUzLjI0OHMtMTYuMzg0IDEyLjI4OC0zMi43NjggMTIuMjg4aC05OC4zMDRjLTEyLjI4OCAwLTIwLjQ4LTQuMDk2LTIwLjQ4LTE2LjM4NHYtMjA0LjhoMTA2LjQ5NnY5NC4yMDhjMCAxMi4yODgtOC4xOTIgMjAuNDgtMjAuNDggMjAuNDgtMTYuMzg0IDAtMzIuNzY4IDAtNDkuMTUyLTQuMDk2bDguMTkyIDMyLjc2OGg1My4yNDhjMjguNjcyIDAgNDAuOTYtMTYuMzg0IDQwLjk2LTQwLjk2VjQ1MC41NmgtMTc2LjEyOHYyNDUuNzZjMCAyNC41NzYgMTIuMjg4IDM2Ljg2NCA0MC45NiAzNi44NjRoMTIyLjg4em01ODUuNzI4LTUzLjI0OFY2MzQuODhoMTMxLjA3MnYtMjguNjcyaC0xMzEuMDcydi00MC45NmgxMTQuNjg4di0yOC42NzJoLTExNC42ODh2LTQwLjk2SDIxNTAuNHYtNjkuNjMyaDMyLjc2OHYtMjguNjcySDIxNTAuNFYzMjcuNjhoLTEwNi40OTZ2LTMyLjc2OGgtMzIuNzY4djMyLjc2OGgtODYuMDE2djI4LjY3Mmg4Ni4wMTZ2MzYuODY0aC0xMTAuNTkydjI4LjY3MmgxMTAuNTkydjQwLjk2aC04Ni4wMTZ2MjguNjcyaDg2LjAxNnY0MC45NmgtOTguMzA0djI4LjY3Mmg5OC4zMDR2NDAuOTZoLTExMC41OTJ2MjguNjcyaDExMC41OTJ2NDkuMTUyaDMyLjc2OHptLTI3MC4zMzYgNTcuMzQ0YzI0LjU3Ni0xNi4zODQgNDAuOTYtMzYuODY0IDU3LjM0NC02MS40NCA0LjA5NiA0LjA5NiAxMi4yODggOC4xOTIgMTYuMzg0IDEyLjI4OCAzNi44NjQgMjQuNTc2IDEwMi40IDM2Ljg2NCAxODguNDE2IDM2Ljg2NGgxNDcuNDU2bDQuMDk2LTMyLjc2OGMtNTcuMzQ0IDAtMTEwLjU5MiA0LjA5Ni0xNjcuOTM2IDQuMDk2LTY1LjUzNiAwLTExOC43ODQtMTIuMjg4LTE1MS41NTItMjguNjcyLTguMTkyLTQuMDk2LTE2LjM4NC0xMi4yODgtMjQuNTc2LTIwLjQ4IDI0LjU3Ni00NS4wNTYgMzYuODY0LTk4LjMwNCAzNi44NjQtMTYzLjg0di0yMC40OGgtNzcuODI0YzI0LjU3Ni0zMi43NjggNDkuMTUyLTczLjcyOCA3My43MjgtMTE4Ljc4NHYtMjguNjcySDE3NjEuMjh2MzIuNzY4aDgxLjkyYy0yNC41NzYgNDAuOTYtNDkuMTUyIDgxLjkyLTc3LjgyNCAxMTguNzg0djI4LjY3Mmg5MC4xMTJjLTQuMDk2IDQ1LjA1Ni0xMi4yODggODYuMDE2LTI4LjY3MiAxMjIuODgtMTIuMjg4LTIwLjQ4LTI0LjU3Ni00OS4xNTItMzIuNzY4LTg2LjAxNmwtMzIuNzY4IDEyLjI4OGMxMi4yODggNDAuOTYgMjguNjcyIDc3LjgyNCA0NS4wNTYgMTA2LjQ5Ni0xNi4zODQgMjQuNTc2LTM2Ljg2NCA0MC45Ni01Ny4zNDQgNTcuMzQ0bDI0LjU3NiAyOC42NzJ6bTMzOS45NjgtMzQ0LjA2NGgtNjkuNjMydi0zNi44NjRoNjkuNjMydjM2Ljg2NHptMCA2OS42MzJoLTY5LjYzMnYtNDAuOTZoNjkuNjMydjQwLjk2em0yNTMuOTUyIDI3OC41Mjh2LTIwLjQ4aDIxMi45OTJ2MjAuNDhoMzYuODY0VjUyNC4yODhoLTE4NC4zMmMyOC42NzItMTIuMjg4IDUzLjI0OC0yNC41NzYgNzcuODI0LTQwLjk2bDIwLjQ4LTEyLjI4OGgxNTEuNTUydi0zMi43NjhoLTEwNi40OTZjMzIuNzY4LTI0LjU3NiA2NS41MzYtNTcuMzQ0IDk0LjIwOC05MC4xMTJsLTMyLjc2OC0yMC40OGMtMzYuODY0IDQwLjk2LTczLjcyOCA3Ny44MjQtMTIyLjg4IDExMC41OTJoLTYxLjQ0di02MS40NGgxMTQuNjg4di0zMi43NjhoLTExNC42ODh2LTQ5LjE1MmgtMzYuODY0djUzLjI0OGgtMTM1LjE2OHYzMi43NjhoMTM1LjE2OHY1Ny4zNDRoLTE4MC4yMjR2MzIuNzY4aDIyNS4yOGMtNjkuNjMyIDQwLjk2LTE0Ny40NTYgNjkuNjMyLTIyOS4zNzYgOTAuMTEybDE2LjM4NCAzMi43NjhjMjguNjcyLTguMTkyIDU3LjM0NC0yMC40OCA4MS45Mi0yOC42NzJ2MTgwLjIyNGgzNi44NjR6bTIxMi45OTItMTM5LjI2NGgtMjEyLjk5MnYtNDkuMTUyaDIxMi45OTJ2NDkuMTUyem0wIDg2LjAxNmgtMjEyLjk5MnYtNTMuMjQ4aDIxMi45OTJ2NTMuMjQ4eiIgZmlsbD0iIzE2NURGRiIvPjxwYXRoIGQ9Ik01NzMuNDQgMjA0LjhoMzI3LjY4YzkwLjExMiAwIDE2My44NCA3My43MjggMTYzLjg0IDE2My44NHYzMjcuNjhjMCA5MC4xMTItNzMuNzI4IDE2My44NC0xNjMuODQgMTYzLjg0SDU3My40NGMtOTAuMTEyIDAtMTYzLjg0LTczLjcyOC0xNjMuODQtMTYzLjg0VjM2OC42NGMwLTkwLjExMiA3My43MjgtMTYzLjg0IDE2My44NC0xNjMuODR6IiBmaWxsPSIjQzJEMEZGIi8+PHBhdGggZD0iTTg2OC4zNTIgNTgxLjYzMmM0LjA5NiAyNC41NzYgMTIuMjg4IDQ5LjE1MiAxNi4zODQgNjkuNjMyIDAgOC4xOTIgNC4wOTYgMTYuMzg0IDQuMDk2IDI0LjU3NnM0LjA5NiAxNi4zODQgNC4wOTYgMjQuNTc2IDQuMDk2IDEyLjI4OCA0LjA5NiAxNi4zODR2OC4xOTJjMCA4LjE5MiAwIDEyLjI4OC00LjA5NiAxMi4yODgtNC4wOTYgNC4wOTYtOC4xOTIgNC4wOTYtMTIuMjg4IDQuMDk2aC04LjE5MmMtNC4wOTYgMC00LjA5NiAwLTguMTkyLTQuMDk2TDczNy4yOCA2NjcuNjQ4Yy0yNC41NzYgMTIuMjg4LTQ1LjA1NiAyNC41NzYtNjEuNDQgMzYuODY0TDY1MS4yNjQgNzE2LjhjLTguMTkyIDQuMDk2LTE2LjM4NCA4LjE5Mi0yMC40OCAxMi4yODgtOC4xOTIgNC4wOTYtMTYuMzg0IDguMTkyLTIwLjQ4IDEyLjI4OHMtOC4xOTIgNC4wOTYtOC4xOTIgNC4wOTZjLTQuMDk2IDAtOC4xOTIgNC4wOTYtOC4xOTIgMC00LjA5NiAwLTguMTkyIDAtOC4xOTItNC4wOTYtNC4wOTYgMC00LjA5Ni00LjA5Ni00LjA5Ni04LjE5MnYtOC4xOTJzMC00LjA5NiA0LjA5Ni04LjE5MmMwLTQuMDk2IDQuMDk2LTEyLjI4OCA0LjA5Ni0xNi4zODQgMC04LjE5MiA0LjA5Ni0xNi4zODQgNC4wOTYtMjQuNTc2czQuMDk2LTE2LjM4NCA4LjE5Mi0yNC41NzZjNC4wOTYtMjAuNDggMTIuMjg4LTQ1LjA1NiAxNi4zODQtNjkuNjMyLTI0LjU3Ni0xNi4zODQtNDUuMDU2LTI4LjY3Mi01Ny4zNDQtNDUuMDU2LTguMTkyLTQuMDk2LTE2LjM4NC04LjE5Mi0yMC40OC0xNi4zODRzLTEyLjI4OC04LjE5Mi0xNi4zODQtMTIuMjg4UzUxMiA0OTkuNzEyIDUxMiA0OTUuNjE2Yy00LjA5Ni00LjA5Ni04LjE5Mi00LjA5Ni04LjE5Mi00LjA5Ni00LjA5Ni00LjA5Ni00LjA5Ni04LjE5Mi04LjE5Mi0xMi4yODhzLTQuMDk2LTguMTkyLTQuMDk2LTEyLjI4OCA0LjA5Ni04LjE5MiA0LjA5Ni0xMi4yODhjNC4wOTYgMCA4LjE5Mi00LjA5NiAxMi4yODgtNC4wOTZsMTUxLjU1Mi0xMi4yODhMNzE2LjggMzA3LjJjMC00LjA5NiA0LjA5Ni04LjE5MiA4LjE5Mi0xMi4yODggMC04LjE5MiA4LjE5Mi04LjE5MiAxMi4yODgtOC4xOTJzNC4wOTYgMCA4LjE5MiA0LjA5NmM0LjA5NiAwIDQuMDk2IDQuMDk2IDQuMDk2IDQuMDk2bDQuMDk2IDQuMDk2czAgNC4wOTYgNC4wOTYgNC4wOTZsNTMuMjQ4IDEzMS4wNzIgMTU1LjY0OCAxNi4zODRjOC4xOTIgMCAxMi4yODggNC4wOTYgMTIuMjg4IDQuMDk2IDQuMDk2IDQuMDk2IDQuMDk2IDguMTkyIDQuMDk2IDEyLjI4OHMwIDguMTkyLTQuMDk2IDEyLjI4OGwtMTIuMjg4IDEyLjI4OC05OC4zMDQgOTAuMTEyeiIgZmlsbD0iIzJFNUJFQyIvPjwvc3ZnPg==",S=Z(30001),B=(z,_e,ie)=>new Promise((Ae,de)=>{var se=We=>{try{Pe(ie.next(We))}catch(ht){de(ht)}},he=We=>{try{Pe(ie.throw(We))}catch(ht){de(ht)}},Pe=We=>We.done?Ae(We.value):Promise.resolve(We.value).then(se,he);Pe((ie=ie.apply(z,_e)).next())});const O=50;var U=({data:z,isAdminOrTeacher:_e,onDelGroup:ie,onChangeGroupName:Ae,onPlusMember:de,onDelMember:se,onExitGroup:he,Transferteams:Pe})=>{var We,ht;const[_t,Nt]=(0,G.useState)(0),[xt,Dt]=(0,G.useState)(0);let[Tt,Ft]=(0,G.useState)(),[nt,Gt]=(0,G.useState)(),[Tr,rr]=(0,G.useState)(!1),[Pt,Sr]=(0,G.useState)(),[$r,vn]=(0,G.useState)(),[Gr,an]=(0,G.useState)(!1),[Ln,kr]=(0,G.useState)(!1),[Kt,Ke]=(0,G.useState)("");function He(ke){let T=parseInt(ke.key,10);Ke(T),kr(!0)}function Ue(ke){let T=parseInt(ke.key,10);W.default.confirm({title:"\u9000\u51FA\u63D0\u793A",okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",content:"\u9000\u51FA\u5C06\u5BF9\u60A8\u4E0E\u7EC4\u5185\u6210\u5458\u5171\u540C\u5F00\u5C55\u6559\u7814\u6D3B\u52A8\u9020\u6210\u4E0D\u4FBF\u3002\u60A8\u786E\u5B9A\u8981\u9000\u51FA\u5417\uFF1F",onOk:()=>{he(T)}})}function et(ke){let T=parseInt(ke,10);W.default.confirm({title:"\u9000\u51FA\u63D0\u793A",okText:"\u786E\u5B9A",icon:!1,className:s.Z.CustomTipsModalCss,cancelText:"\u53D6\u6D88",content:"\u9000\u51FA\u5C06\u5BF9\u60A8\u4E0E\u7EC4\u5185\u6210\u5458\u5171\u540C\u5F00\u5C55\u6559\u7814\u6D3B\u52A8\u9020\u6210\u4E0D\u4FBF\u3002\u60A8\u786E\u5B9A\u8981\u9000\u51FA\u5417\uFF1F",onOk:()=>{he(T)}})}function tt(ke,T){W.default.confirm({title:"\u6E29\u99A8\u63D0\u793A",content:"\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u7EC4\u5458\u5417?",icon:!1,className:s.Z.CustomTipsModalCss,okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",onOk:()=>{se(ke,T)}})}const it={display:"block",height:"30px",lineHeight:"30px"};function vt(ke){vn(ke),Sr(ke==null?void 0:ke.id),an(!0)}const pt=[{title:"\u6210\u5458\u540D\u79F0",dataIndex:"name",width:150},{title:"\u4F7F\u7528\u5171\u4EAB\u8BD5\u9898",dataIndex:"item_bank",align:"center",width:150,render:(ke,T,P)=>G.createElement(d.default,{disabled:T==null?void 0:T.is_creator,defaultChecked:ke,onChange:V=>{n({id:Pt,member_id:T.id,clazz:"item_bank",enable:V.target.checked})}})},{title:"\u7F16\u8F91\u5171\u4EAB\u8BD5\u9898",dataIndex:"edit_item_bank",align:"center",width:150,render:(ke,T,P)=>G.createElement(d.default,{disabled:T==null?void 0:T.is_creator,defaultChecked:ke,onChange:V=>{n({id:Pt,member_id:T.id,clazz:"edit_item_bank",enable:V.target.checked})}})},{title:"\u4F7F\u7528\u5171\u4EAB\u8BD5\u5377",dataIndex:"exercise",align:"center",render:(ke,T,P)=>G.createElement(d.default,{disabled:T==null?void 0:T.is_creator,defaultChecked:ke,onChange:V=>{n({id:Pt,member_id:T.id,clazz:"exercise",enable:V.target.checked})}})}];function Xt(ke){return B(this,null,function*(){const T=yield r(ke==null?void 0:ke.id);Sr(ke==null?void 0:ke.id),Gt(T),rr(!0)})}return G.createElement("ul",{className:"teaching-lists"},z.map((ke,T)=>G.createElement("li",{key:ke.id,style:{marginTop:T===0?30:16},onClick:()=>Nt(T)},G.createElement("div",{className:"item-group"},G.createElement("span",{style:{color:"#000000",fontSize:16,fontWeight:600}},ke.name,"\u7684\u6559\u7814\u56E2\u961F"),G.createElement("div",{className:"action-group"})),G.createElement("div",{style:{display:"flex"}},G.createElement("span",{style:{marginTop:29,marginLeft:24,color:"#5F6367"}},"\u56E2\u961F\u6210\u5458\uFF1A"),G.createElement("ul",{className:"info",style:{flex:1}},ke.memers.map(P=>{var V;return G.createElement("li",{key:P.id||P.name,onClick:()=>{Dt(P.id)},className:"directionItemWrap"},G.createElement("div",{className:"hovename",style:{display:"flex",alignItems:"center",justifyContent:"center",fontWeight:400,fontSize:14,color:P!=null&&P.is_creater?"#000000":"#5F6367"}},((V=P.name)==null?void 0:V.length)>6?P.name.substr(0,6)+"....":P.name,G.createElement("img",{src:K,style:{marginLeft:5,display:!(P!=null&&P.is_creater)&&"none",height:25,width:78}})),ke.is_creat?G.createElement("div",{className:"groupActionWrap",style:{display:!(P!=null&&P.id)&&"none"}},G.createElement("a",{className:"btn-del",onClick:$=>{$.preventDefault(),$.stopPropagation(),tt(ke.id,P.id)}},"x")):null)})),ke.is_creat||_e?G.createElement(e.Z,{overlayClassName:"dropdowns",dropdownRender:()=>G.createElement(t.default,null,G.createElement(t.default.Item,{onClick:()=>{Ae(ke)}},"\u4FEE\u6539\u540D\u79F0"),G.createElement(t.default.Item,{disabled:ke.memers.length>=50,onClick:()=>{de(ke)}},"\u6DFB\u52A0\u6210\u5458"),ke.is_creat&&G.createElement(t.default.Item,{onClick:()=>Xt(ke)},"\u6743\u9650\u914D\u7F6E"),ke.is_creat&&G.createElement(t.default.Item,{onClick:()=>vt(ke)},"\u8F6C\u8BA9\u56E2\u961F"),G.createElement(t.default.Item,{key:ke.id+"",onClick:ke.is_creat?He:Ue},ke.is_creat?"\u89E3\u6563":"\u9000\u51FA"))},G.createElement("span",{style:{marginTop:30,marginRight:24,color:"#165DFF",fontSize:14,height:20}},"\u8BBE\u7F6E",G.createElement("i",{style:{marginLeft:5,color:"#979797"},className:"iconfont icon-a-bianzu11"}))):G.createElement("span",{key:ke.id+"",style:{marginTop:30,marginRight:24,color:"#165DFF",fontSize:14,height:20},className:"c-grey-c",onClick:()=>et(ke.id)},"\u9000\u51FA")))),G.createElement(W.default,{width:700,wrapClassName:s.Z.CustomCss,title:"\u6743\u9650\u914D\u7F6E",footer:null,open:Tr,onCancel:()=>rr(!1)},G.createElement(S.Gi,null,G.createElement(a.default,{dataSource:nt==null?void 0:nt.members,columns:pt,pagination:!1,scroll:{y:240}})),G.createElement("p",{style:{color:"#FF9D18",marginTop:5}},"*\u9009\u4E2D\u4EE3\u8868\u8BE5\u6210\u5458\u53EF\u4EE5\u4F7F\u7528\u56E2\u961F\u5185\u6240\u6709\u6210\u5458\u5171\u4EAB\u7684\u8D44\u6E90\uFF0C\u5426\u5219\u4E0D\u53EF\u4EE5")),G.createElement(W.default,{title:"\u89E3\u6563\u63D0\u793A",wrapClassName:s.Z.CustomCss,onOk:()=>{ie(Kt),kr(!1)},open:Ln,onCancel:()=>kr(!1)},G.createElement("p",null,"\u89E3\u6563\u6559\u7814\u56E2\u961F\u5C06\u5BF9\u56E2\u961F\u6210\u5458\u4E4B\u95F4\u5171\u4EAB\u5B9E\u8BAD\u3001\u8BD5\u5377\u7B49\u529F\u80FD\u9020\u6210\u4E0D\u4FBF\u3002"),G.createElement("p",null,"\u60A8\u786E\u5B9A\u8981\u89E3\u6563\u672C\u6559\u7814\u56E2\u961F\u5417\uFF1F")),G.createElement(W.default,{wrapClassName:s.Z.CustomCss,title:"\u8F6C\u8BA9\u56E2\u961F",onOk:()=>{if(!Tt){f.ZP.info("\u521B\u5EFA\u4EBA\u4E0D\u80FD\u4E3A\u7A7A");return}Pe(Pt,Tt),an(!1),Tt=""},open:Gr,onCancel:()=>{an(!1),Tt=""}},G.createElement("p",{style:{textAlign:"left"}},"\u9009\u4E2D\u7684\u6210\u5458\u5C06\u4F1A\u4EE5\u65B0\u7684\u521B\u5EFA\u4EBA\u8EAB\u4EFD\u63A5\u7BA1\u56E2\u4F53 ",G.createElement("br",null)," \u60A8\u5C06\u4E0D\u518D\u62E5\u6709\u521B\u5EFA\u4EBA\u7684\u8EAB\u4EFD\u548C\u6743\u9650\uFF0C\u4F46\u60A8\u4ECD\u662F\u56E2\u961F\u4E2D\u7684\u4E00\u5458"),G.createElement("div",null,G.createElement(g.ZP.Group,{defaultValue:[],onChange:ke=>{Tt=ke.target.value,Ft(ke.target.value)}},(ht=(We=$r==null?void 0:$r.memers)==null?void 0:We.filter(ke=>ke.is_teacher))==null?void 0:ht.map((ke,T)=>G.createElement(g.ZP,{style:it,value:ke==null?void 0:ke.id},ke==null?void 0:ke.name))))))},F=Z(28706),H=Z(35973),Y=Z(22190),ne=Object.defineProperty,ae=Object.defineProperties,me=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,ge=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable,we=(z,_e,ie)=>_e in z?ne(z,_e,{enumerable:!0,configurable:!0,writable:!0,value:ie}):z[_e]=ie,De=(z,_e)=>{for(var ie in _e||(_e={}))ge.call(_e,ie)&&we(z,ie,_e[ie]);if(Ce)for(var ie of Ce(_e))pe.call(_e,ie)&&we(z,ie,_e[ie]);return z},Se=(z,_e)=>ae(z,me(_e)),ve=(z,_e,ie)=>new Promise((Ae,de)=>{var se=We=>{try{Pe(ie.next(We))}catch(ht){de(ht)}},he=We=>{try{Pe(ie.throw(We))}catch(ht){de(ht)}},Pe=We=>We.done?Ae(We.value):Promise.resolve(We.value).then(se,he);Pe((ie=ie.apply(z,_e)).next())});function Ee({children:z}){return G.createElement("div",{className:"no-data"},G.createElement("img",{src:E,alt:"no-data",width:300}),z)}const Re={data:[],loading:!0,selectedGroup:{},showFormPanel:!1,showMemberPanel:!1,index:0};var qe=(z=>(z[z.INITDATA=0]="INITDATA",z[z.SHOWLOADING=1]="SHOWLOADING",z[z.SHOWFORMPANEL=2]="SHOWFORMPANEL",z[z.SHOWMEMBERPANEL=3]="SHOWMEMBERPANEL",z[z.SELECTGROUP=4]="SELECTGROUP",z[z.SETINDEX=5]="SETINDEX",z))(qe||{});function Ie(z,_e){switch(_e.type){case 0:return De(De({},z),_e.payload);case 1:return Se(De({},z),{loading:_e.payload});case 5:return Se(De({},z),{index:_e.payload});case 2:return De(De({},z),_e.payload);case 3:return De(De({},z),_e.payload);case 4:return Se(De({},z),{selectedGroup:_e.payload,showFormPanel:!0});default:throw new Error}}function Fe({user:z}){var _e;const ie=(0,H.useLocation)(),[Ae]=(0,H.useSearchParams)(),[de,se]=(0,G.useReducer)(Ie,Re),{data:he,index:Pe,loading:We,showFormPanel:ht,selectedGroup:_t,showMemberPanel:Nt}=de,xt=(_e=z.userInfo)==null?void 0:_e.role,[Dt,Tt]=(0,G.useState)(Ae.get("category")||"0"),Ft=(0,G.useMemo)(()=>{let He=[],Ue=[];if(he){for(let et of he)et.is_creat?He.push(et):Ue.push(et);return[He,Ue]}},[he]);(0,G.useEffect)(()=>{xt===15&&se({type:5,payload:1})},[xt]);function nt(){return ve(this,null,function*(){const He=yield h();(He==null?void 0:He.status)!==401&&se({type:0,payload:{loading:!1,showFormPanel:!1,data:He.groups,index:Ae.get("category")||0}})})}(0,G.useEffect)(()=>{nt()},[]);function Gt(He){return ve(this,null,function*(){_t.id?yield m(_t.id,He):yield v(He),nt()})}function Tr(){se({type:2,payload:{showFormPanel:!0,selectedGroup:{}}})}function rr(He){se({type:4,payload:He})}function Pt(){se({type:2,payload:{showFormPanel:!1}})}function Sr(){se({type:3,payload:{showMemberPanel:!1,selectedGroup:{}}})}function $r(He){se({type:3,payload:{showMemberPanel:!0,selectedGroup:He}})}function vn(He,Ue){return ve(this,null,function*(){yield c(He,Ue),nt()})}function Gr(He){return ve(this,null,function*(){yield p(He),nt()})}function an(He){return ve(this,null,function*(){yield y(He),nt()})}function Ln(He,Ue){return ve(this,null,function*(){yield u(He,Ue),nt()})}function kr(He){se({type:5,payload:parseInt(He.target.id,10)})}function Kt(He,Ue){return ve(this,null,function*(){Sr(),yield A({user_ids:He,group_id:Ue}),nt()})}const Ke=[{id:"0",name:"\u6211\u521B\u5EFA\u7684"},{id:"1",name:"\u6211\u52A0\u5165\u7684"}];return G.createElement(G.Fragment,null,G.createElement("div",{className:"teaching-circling-container",style:{paddingLeft:45,paddingTop:22}},G.createElement("div",{className:"teaching-circling-body"},xt===15?null:G.createElement(S.YG,{value:Dt,onChange:He=>{var Ue;(Ue=window.location.href.toString())!=null&&Ue.includes("category")?(0,F.jz)("category",He):window.history.replaceState(null,"",window.location.href.indexOf("?")>-1?window.location.href+`&category=${He}`:`?category=${He}`),Tt(He),se({type:5,payload:parseInt(He,10)})},tabBarExtraContent:G.createElement(J.ZP,{type:"primary",disabled:he.length>=50,style:{width:60,height:32,borderRadius:16,border:"1px solid #BACFFE",background:"#F6F7F9 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)",color:"#3061D0"},title:he.length>=50?"\u60A8\u52A0\u5165\u7684\u6559\u7814\u7EC4\u5DF2\u8FBE\u4E0A\u9650":"",onClick:Tr},"\u65B0\u5EFA"),className:"mb25",dataSource:Ke}),G.createElement("div",{className:Ft[Pe].length===0?"nodata-content":"main-content"},Ft[Pe].length===0?G.createElement(Ee,null,xt<=12?G.createElement(G.Fragment,null," ",G.createElement("p",null,"\u6559\u7814\u56E2\u961F\u6709\u52A9\u4E8E\u4F60\u548C\u4F60\u7684\u4F19\u4F34\u4EEC\u4E00\u8D77\u521B\u5EFA\u5B9E\u8BAD\u3001\u534F\u540C\u6559\u5B66\uFF0C\u6216\u5F00\u5C55\u5176\u4ED6\u6559\u7814\u6D3B\u52A8\u3002")," ",G.createElement("p",null,"\u5F53\u524D\u60A8\u5C1A\u672A\u7EC4\u5EFA\u5C5E\u4E8E\u81EA\u5DF1\u6559\u7814\u56E2\u961F\uFF0C\u5FEB\u53BB\u7EC4\u5EFA\u5427\uFF01")," "):G.createElement("p",null," \u60A8\u5C1A\u672A\u52A0\u5165\u4EFB\u4F55\u6559\u7814\u5C0F\u7EC4\uFF0C\u8BF7\u7B49\u5F85\u8001\u5E08\u7684\u53EC\u5524\u5427\uFF01 ")):G.createElement(U,{onExitGroup:an,Transferteams:Ln,onPlusMember:$r,onDelMember:vn,onDelGroup:Gr,isAdminOrTeacher:xt<=12,onChangeGroupName:rr,data:Ft[Pe]})))),G.createElement(l,{callback:Gt,visible:ht,onCancel:Pt,id:_t.id,name:_t.name}),G.createElement(W.default,{centered:!0,title:"\u6DFB\u52A0\u6210\u5458",open:Nt,onCancel:Sr,footer:null,width:1150,bodyStyle:{minHeight:200},wrapClassName:s.Z.CustomCss},G.createElement(Y.Z,{container_id:_t.id,container_type:4,onSelect:Kt,onCancel:Sr})))}var ze=(0,H.connect)(({user:z})=>({user:z}))(Fe)},51246:function(Ar,At,Z){"use strict";var G=Z(67294),J=Z(70596),W=Z.n(J),E=Z(43085),R=Z.n(E),h=Z(67294),v=Object.defineProperty,m=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,u=(r,n,o)=>n in r?v(r,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[n]=o,c=(r,n)=>{for(var o in n||(n={}))A.call(n,o)&&u(r,o,n[o]);if(m)for(var o of m(n))y.call(n,o)&&u(r,o,n[o]);return r};const p=({dataSource:r,height:n,labelTextColor:o,legend:i={}})=>{console.log("dataSource:",r);const s=(0,G.useRef)(null),l=(0,G.useRef)(null),[d,e]=(0,G.useState)({}),[t,a]=(0,G.useState)(""),[f,g]=(0,G.useState)(""),x=r||[{name:"\u638C\u63E1\u738780%~100%",value:1,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u638C\u63D0\u738760%~79%",value:2,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63A8\u738759%\u4EE5\u4E0B",value:3,itemStyle:{color:"rgb(6,110,247)"}}];(0,G.useEffect)(()=>(D(),window.addEventListener("resize",_),()=>{window.removeEventListener("resize",_)}),[]),(0,G.useEffect)(()=>{r!=null&&r.length&&_()},[r]);const _=()=>{var S,B;const O=M(x,.8);(S=l.current)==null||S.setOption(O),(B=l.current)==null||B.resize()},D=()=>{const S=s.current;l.current=J.init(S);const B=M(x,.8);e(B),l.current.setOption(B),l.current.getZr().off("mousewheel"),B.series.push({name:"\u638C\u63E1\u7387",type:"pie",labelLine:{length:10,length2:10},startAngle:-20,clockwise:!1,radius:["20%","50%"],center:["50%","50%"],data:x,itemStyle:{opacity:0}}),l.current.setOption(B),K(l.current)},M=(S,B)=>{let O,U=[],F=0,H=0,Y=0,ne=[],ae=[],me=1-B;S.sort((ge,pe)=>pe.value-ge.value);for(let ge=0;geDe.name===ge)[0],we=N(pe.value*100,2)+"%";return`${pe.name} ${we}`}},i),labelLine:{show:!0,lineStyle:{color:"#7BC0CB"}},label:{show:!0,position:"outside",rich:{b:{color:o||"#FFF",fontSize:12,lineHeight:20},c:{fontSize:16,lineHeight:24,color:o||"#FFF"}},formatter:`{b|{b} }{c|{c}}{b|}`},xAxis3D:{min:-1,max:1},yAxis3D:{min:-1,max:1},zAxis3D:{min:-1,max:1},grid3D:{show:!1,boxHeight:Ce,viewControl:{alpha:40,distance:300,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1}},series:U}},w=(S,B)=>(S.sort((O,U)=>U.pieData.value-O.pieData.value),B*25/S[0].pieData.value),b=(S,B,O,U,F,H)=>{let Y=(S+B)/2,ne=S*Math.PI*2,ae=B*Math.PI*2,me=Y*Math.PI*2;S===0&&B===1&&(O=!1),F=typeof F!="undefined"?F:1/3;let Ce=O?Math.cos(me)*.1:0,ge=O?Math.sin(me)*.1:0,pe=U?1.05:1;return{u:{min:-Math.PI,max:Math.PI*3,step:Math.PI/32},v:{min:0,max:Math.PI*2,step:Math.PI/20},x:function(we,De){return weae?Ce+Math.cos(ae)*(1+Math.cos(De)*F)*pe:Ce+Math.cos(we)*(1+Math.cos(De)*F)*pe},y:function(we,De){return weae?ge+Math.sin(ae)*(1+Math.cos(De)*F)*pe:ge+Math.sin(we)*(1+Math.cos(De)*F)*pe},z:function(we,De){return we<-Math.PI*.5?Math.sin(we):we>Math.PI*2.5?Math.sin(we)*H*.1:Math.sin(De)>0?1*H*.1:-1}}},N=(S,B)=>{let O=parseFloat(S);if(isNaN(O))return!1;O=Math.round(S*Math.pow(10,B))/Math.pow(10,B);let U=O.toString();(U==null?void 0:U.indexOf("."))<0&&(U+=".");for(let H=U.length-(U==null?void 0:U.indexOf("."));H<=B;H++)U+="0";return U},K=()=>{l.current.on("click",function(S){if(S.seriesName==="pie2d"){a(S.dataIndex);let B=l.current.getWidth()/2,O=l.current.getHeight()/2;l.current.dispatchAction({type:"pieSelect",seriesIndex:0,dataIndex:S.dataIndex})}}),l.current.on("mousemove",function(S){}),l.current.on("mouseout",function(){l.current.dispatchAction({type:"pieUnSelect",seriesIndex:0,dataIndex:f}),g("")})};return h.createElement("div",{ref:s,style:{width:"100%",height:n||"500rem"}})};At.Z=p},53051:function(Ar,At,Z){"use strict";Z.d(At,{Z:function(){return oa}});var G=Z(67294),J=Z(35973),W=Z(91773),E=Z(2453),R=Z(35059),h=Z(95012),v=Z(85804),m=Z(62844),A=Z(28802),y=Z(83062),u=Z(55238),c=Z(98813),p=Z(51380),r={flex_box_center:"flex_box_center___bAhU8",flex_space_between:"flex_space_between___fGcUL",flex_box_vertical_center:"flex_box_vertical_center___hqbFm",flex_box_center_end:"flex_box_center_end___h8cjt",flex_box_column:"flex_box_column___jkfSL",detailmodal:"detailmodal___KEy8k",title:"title___M0Bdn",button:"button___oEMiZ",drawer:"drawer___Pwq6m",tabstyle:"tabstyle___hGelr",items:"items___RrF7L",itemsactivite:"itemsactivite____kVzF",nodetitle:"nodetitle___UgLxl",nodeboyd:"nodeboyd___R1M87",listitem:"listitem___CjR4j",Tabs:"Tabs___gAkar",addmodal:"addmodal___KHvV4",gxcoent:"gxcoent___B8UeJ",gxtitle:"gxtitle___Ezw1C",Colortitle:"Colortitle___kChPm",gxbody:"gxbody___HmZPk",tag:"tag___b2Gak",form:"form___wY8YH",radioform:"radioform___RW7Fy",settingmodal:"settingmodal___LgbSA",body:"body___KaaXx",left:"left___BbRKH",header:"header___E8vej",treenode:"treenode___XViAn",hudong:"hudong___MzZbW",colortitle:"colortitle___PgqHg",right:"right___jzXCF",multiple:"multiple___GQEEM",settingtag:"settingtag___XVMCI",tree:"tree___zz_WU",select:"select___HL7_r",input:"input___reuVt",DetailStatistics:"DetailStatistics___v31Uq",xxrs:"xxrs___Q156g",xxrscount:"xxrscount___OdU60",righttop:"righttop___dnIBD",rightbottom:"rightbottom___B0s8j"},n=Z(73475),o=Z(74664),i=Z(34182),s={tag:"tag___aXy_L",active:"active___kZOMC",tagsModal:"tagsModal___wsl_M",btn:"btn___S2nL4",modal:"modal___r3iAS",mHead:"mHead___imW9A",body:"body___fZUhx",add:"add___QHMDJ",error:"error___aJzBo"},l=Z(94184),d=Z.n(l),e=Z(33170),t=Z(67294),a=Object.defineProperty,f=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable,_=(ot,Mt,ut)=>Mt in ot?a(ot,Mt,{enumerable:!0,configurable:!0,writable:!0,value:ut}):ot[Mt]=ut,D=(ot,Mt)=>{for(var ut in Mt||(Mt={}))g.call(Mt,ut)&&_(ot,ut,Mt[ut]);if(f)for(var ut of f(Mt))x.call(Mt,ut)&&_(ot,ut,Mt[ut]);return ot},M=(ot,Mt,ut)=>new Promise((qt,Dn)=>{var Xe=ar=>{try{gr(ut.next(ar))}catch(ye){Dn(ye)}},fn=ar=>{try{gr(ut.throw(ar))}catch(ye){Dn(ye)}},gr=ar=>ar.done?qt(ar.value):Promise.resolve(ar.value).then(Xe,fn);gr((ut=ut.apply(ot,Mt)).next())});let w=[{name:"\u4F5C\u4E1A",id:"zy",item_type:2},{name:"\u5B9E\u8BAD",id:"sx",item_type:2},{name:"\u6559\u6750",id:"jc",item_type:2},{name:"\u89C6\u9891",id:"sp",item_type:2},{name:"\u8BFE\u4EF6",id:"kj",item_type:2},{name:"\u8BD5\u5377",id:"sj",item_type:2},{name:"\u9898\u96C6",id:"tj",item_type:2}],b=[{name:"\u7AE0\u8282",id:"zj",item_type:1},{name:"\u77E5\u8BC6\u70B9",id:"zsd",item_type:1}];var K=({value:ot=[],onChange:Mt,type:ut,dataSources:qt=[],pathsDetail:Dn={},showmodal:Xe,containerRef:fn})=>{const gr=(0,J.useParams)(),[ar,ye]=(0,G.useState)(!1),[Te,Be]=(0,G.useState)([]),[st,zt]=(0,G.useState)(),[ir,Wt]=(0,G.useState)(""),[fr,Vr]=(0,G.useState)(""),[An,_n]=(0,G.useState)(""),[Zr,Yr]=(0,G.useState)(!1),[Nn,Cn]=(0,G.useState)(!1),[cn,yr]=(0,G.useState)([]),[zn,Sn]=(0,G.useState)("");(0,G.useEffect)(()=>{ar&&mn()},[ar]);function mn(){return M(this,null,function*(){let mr=yield(0,e.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:ut,subject_id:gr==null?void 0:gr.pathId}});(mr==null?void 0:mr.status)===0&&(ut===3?Be(mr==null?void 0:mr.data):(Be([...b,...mr==null?void 0:mr.data]),yr([...w,...mr==null?void 0:mr.data2])))})}const Hn=[{background:"#6236FF",borderColor:"#9D82FF"},{background:"#6DB9FF",borderColor:"#6DB9FF"},{background:"rgba(27,175,234,0.8)",borderColor:"#68D5FF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"rgba(29,94,255,0.8)",borderColor:"#6D97FE"},{background:"#E75454",borderColor:"#FE8383"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"},{background:"rgba(224,32,32,0.8)",borderColor:"#E02020"},{background:"rgba(255,126,15,0.8)",borderColor:"#FF7E0F"},{background:"rgba(29,94,255,0.8)",borderColor:"#1D5EFF"},{background:"#2BAC8E",borderColor:"#30CB9D"},{background:"#EE5D5D",borderColor:"#FF8181"},{background:"#7E5AFE",borderColor:"#9173FA"},{background:"#3ABCEF",borderColor:"#6FD6FF"},{background:"#B132C2",borderColor:"#C57AF6"},{background:"#46A4FB",borderColor:"#72BBFF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"#1D5EFF",borderColor:"#6D97FE"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"}],Bn="\u6807\u7B7E";(0,G.useEffect)(()=>{Be(qt)},[]),(0,G.useEffect)(()=>{ar&&zt(ot)},[ar]);const vr=({title:mr="",style:Gn={},values:bn="",showDelete:Jn=!0,modal:ft=!1,active:Pn=!1})=>{const ai=(Rn=>Rn.split("").reduce((Tn,tn)=>Tn+tn.charCodeAt(0),0))(mr)%Hn.length,{background:qa,borderColor:Qt}=Hn[ai];return t.createElement("div",{className:d()(s.tag,Pn?s.active:""),onClick:()=>{var Rn;if(ft){if(ar===1){let Tn=[...Te,...cn];zt([...Tn.filter(tn=>(tn==null?void 0:tn.id)===bn)])}ar===2&&((Rn=st==null?void 0:st.map(Tn=>Tn.id))!=null&&Rn.includes(bn)?zt(st.filter(Tn=>Tn.id!==bn)):zt([...st,...Te.filter(Tn=>(Tn==null?void 0:Tn.id)===bn)]))}},style:D({background:qa,borderColor:Qt},Gn)},t.createElement("span",null,mr),Jn&&t.createElement("i",{onClick:Rn=>M(void 0,null,function*(){var Tn;if(Rn.stopPropagation(),ft){Be(Te.filter(Ta=>Ta.name!==mr)),Be(Te.filter(Ta=>Ta.name!==mr));let tn=yield(0,e.ZP)(`/api/knowledge_items/${bn}.json`,{method:"delete",body:{id:bn,subject_id:(Tn=Dn==null?void 0:Dn.detail)==null?void 0:Tn.id}});(tn==null?void 0:tn.status)===0&&mn()}else Mt(ot.filter(tn=>tn.id!==bn))}),className:"iconfont icon-shanchu5"}))},nn=()=>{Mt(st),ye(!1)},Un=mr=>M(void 0,null,function*(){if(!ir.replace(/\s+/g,"")&&mr===1){_n(`${Bn}\u4E0D\u80FD\u4E3A\u7A7A`);return}if(!fr.replace(/\s+/g,"")&&mr===2){Sn("\u8D44\u6E90\u4E0D\u80FD\u4E3A\u7A7A");return}if((Te.map(bn=>bn.name).includes(ir)||cn.map(bn=>bn.name).includes(ir))&&mr===1){_n(`\u8BE5${Bn}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01`);return}if((cn.map(bn=>bn.name).includes(fr)||Te.map(bn=>bn.name).includes(fr))&&mr===2){Sn("\u8BE5\u8D44\u6E90\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01");return}let Gn=yield(0,e.ZP)("/api/knowledge_items.json",{method:"post",body:{item_type:ut===3?3:mr,name:ut===3||mr===1?ir:fr,subject_id:gr==null?void 0:gr.pathId}});(Gn==null?void 0:Gn.status)===0&&mn(),mr===1&&Yr(!1),mr===2&&Cn(!1)});return t.createElement("div",{className:s.tagsModal},ut===5&&t.createElement(t.Fragment,null,ot==null?void 0:ot.map((mr,Gn)=>t.createElement(vr,{values:mr.id,key:Gn,title:mr.name,showDelete:!1,style:{marginRight:"20rem",marginBottom:0}})),Xe&&t.createElement("div",{onClick:()=>ye(1),style:{marginBottom:"0rem"},className:s.btn},t.createElement("i",{className:"iconfont icon-genghuanguanliyuan1"}),ot!=null&&ot.length?"\u66F4\u6362":"\u9009\u62E9","\u7C7B\u578B")),ut===3&&t.createElement(t.Fragment,null,ot==null?void 0:ot.map((mr,Gn)=>t.createElement(vr,{values:mr.id,key:Gn,title:mr.name})),Xe&&t.createElement("div",{onClick:()=>ye(2),className:s.btn,style:{marginBottom:"10rem"}},t.createElement("i",{className:"iconfont icon-tianjiatixing"}),ot!=null&&ot.length?"\u66F4\u6362":"\u9009\u62E9","\u6807\u7B7E")),t.createElement(m.default,{open:!!ar,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",getContainer:()=>fn.current,onCancel:()=>ye(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{Yr(!1),Cn(!1),_n(""),Wt("")},onOk:nn,title:`\u9009\u62E9${Bn}`},t.createElement("div",{className:s.modal},t.createElement("div",{className:s.mHead},t.createElement("b",null),t.createElement("span",null,`${Bn}`,"\uFF08",Te.length,"\uFF09"),t.createElement("div",{onClick:()=>{Yr(!0),_n(""),Wt("")},className:s.btn},t.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),t.createElement("div",{className:s.body},Te==null?void 0:Te.map((mr,Gn)=>{var bn,Jn,ft;return t.createElement(vr,{showDelete:ut===3?!((bn=st==null?void 0:st.map(Pn=>Pn==null?void 0:Pn.id))!=null&&bn.includes(mr==null?void 0:mr.id)):!((Jn=st==null?void 0:st.map(Pn=>Pn==null?void 0:Pn.id))!=null&&Jn.includes(mr==null?void 0:mr.id))&&!((ft=b.map(Pn=>Pn.name))!=null&&ft.includes(mr.name)),modal:!0,style:{cursor:"pointer"},active:st==null?void 0:st.map(Pn=>Pn==null?void 0:Pn.id).includes(mr==null?void 0:mr.id),key:mr==null?void 0:mr.id,values:mr==null?void 0:mr.id,title:mr==null?void 0:mr.name})}),Zr&&t.createElement("div",{className:s.add},t.createElement(A.default,{style:{width:"rem"},size:"large",value:ir,onChange:mr=>{_n(""),Wt(mr.target.value)}}),t.createElement("i",{onClick:()=>Un(1),className:"iconfont icon-dui",style:{color:"#1B8565"}}),t.createElement("i",{onClick:()=>Yr(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!An&&t.createElement("div",{className:s.error},An)))),ut===5&&t.createElement("div",{className:s.modal},t.createElement("div",{className:s.mHead},t.createElement("b",null),t.createElement("span",null,"\u8D44\u6E90","\uFF08",cn.length,"\uFF09"),t.createElement("div",{onClick:()=>{Cn(!0),Sn(""),Vr("")},className:s.btn},t.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),t.createElement("div",{className:s.body},cn==null?void 0:cn.map((mr,Gn)=>{var bn,Jn;return t.createElement(vr,{showDelete:!((bn=st==null?void 0:st.map(ft=>ft==null?void 0:ft.id))!=null&&bn.includes(mr==null?void 0:mr.id))&&!((Jn=w.map(ft=>ft.name))!=null&&Jn.includes(mr.name)),modal:!0,style:{cursor:"pointer"},active:st==null?void 0:st.map(ft=>ft==null?void 0:ft.id).includes(mr==null?void 0:mr.id),key:mr==null?void 0:mr.id,values:mr==null?void 0:mr.id,title:mr==null?void 0:mr.name})}),Nn&&t.createElement("div",{className:s.add},t.createElement(A.default,{style:{width:"rem"},size:"large",value:fr,onChange:mr=>{Sn(""),Vr(mr.target.value)}}),t.createElement("i",{onClick:()=>Un(2),className:"iconfont icon-dui",style:{color:"#1B8565"}}),t.createElement("i",{onClick:()=>Cn(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!zn&&t.createElement("div",{className:s.error},zn))))))},S=Z(11320),B=Z(88044),O=Z(57399),U=Z(14845),F=Z(6104),H=Z(67294),Y=Object.getOwnPropertySymbols,ne=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable,me=(ot,Mt)=>{var ut={};for(var qt in ot)ne.call(ot,qt)&&Mt.indexOf(qt)<0&&(ut[qt]=ot[qt]);if(ot!=null&&Y)for(var qt of Y(ot))Mt.indexOf(qt)<0&&ae.call(ot,qt)&&(ut[qt]=ot[qt]);return ut},Ce=(ot,Mt,ut)=>new Promise((qt,Dn)=>{var Xe=ar=>{try{gr(ut.next(ar))}catch(ye){Dn(ye)}},fn=ar=>{try{gr(ut.throw(ar))}catch(ye){Dn(ye)}},gr=ar=>ar.done?qt(ar.value):Promise.resolve(ar.value).then(Xe,fn);gr((ut=ut.apply(ot,Mt)).next())});let ge=[{label:"\u5B9E\u8BAD",key:"1"},{label:"\u89C6\u9891",key:"2"},{label:"\u8BFE\u4EF6",key:"3"},{label:"\u8BD5\u5377",key:"4"}];const pe=ot=>{var Mt=ot,{types:ut,globalSetting:qt,loading:Dn,dispatch:Xe,pathsDetail:fn,onChange:gr,ktzykey:ar,getother:ye}=Mt,Te=me(Mt,["types","globalSetting","loading","dispatch","pathsDetail","onChange","ktzykey","getother"]),Be,st,zt,ir;let[Wt,fr]=(0,G.useState)({page:1,limit:10,type:ut,keyword:"",select_type:1,subject_id:"",course_id:""});const[Vr,An]=(0,G.useState)([]);(0,G.useEffect)(()=>{_n()},[ut]);function _n(){return Ce(this,null,function*(){Wt.select_type===3&&(Wt.subject_id="",Wt.course_id=""),Wt.select_type===2&&(Wt.subject_id=""),Wt.select_type===1&&(Wt.course_id="");let Zr=yield(0,e.ZP)("/api/paths/search_all.json",{method:"get",params:Wt});(Zr==null?void 0:Zr.status)===0&&An(Zr)})}return H.createElement("div",{style:{padding:"10rem 20rem"}},H.createElement("div",{style:{display:"flex"}},H.createElement("div",null,ut==="1"&&H.createElement(A.default,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u67E5\u8BE2",style:{width:"992rem",marginRight:"10rem",height:"40rem"},onChange:Zr=>{Wt.keyword=Zr.target.value,Wt.page=1,Wt.limit=10,fr(Wt)}}),ut!=="1"&&H.createElement("div",{style:{display:"flex"}},H.createElement("div",{style:{width:"223rem",alignItems:"center",display:"flex",height:"40rem"}},H.createElement("span",{style:{width:"92rem",border:"1rem solid #DCDCDC",borderRightStyle:"none",background:"#F6F7F9",height:"40rem",display:"flex",alignItems:"center",justifyContent:"center",lineHeight:"40rem",fontSize:"16rem",color:"#666666"}},"\u6240\u5728\u4F4D\u7F6E"),H.createElement(B.default,{value:Wt.select_type,onChange:Zr=>{Wt.select_type=Zr,Wt.page=1,Wt.limit=10,fr(Wt),_n()},className:r.select,style:{width:"131rem",height:"40rem"}},H.createElement(B.default.Option,{value:1},"\u5B9E\u8DF5\u8BFE\u7A0B"),H.createElement(B.default.Option,{value:2},"\u6559\u5B66\u8BFE\u5802"),H.createElement(B.default.Option,{value:3},"\u4E2A\u4EBA\u4E2D\u5FC3"))),Wt.select_type!==3&&H.createElement(B.default,{value:Wt.subject_id||Wt.course_id,onChange:Zr=>{Wt.course_id=Zr,Wt.subject_id=Zr,Wt.page=1,Wt.limit=10,fr(Wt),_n()},className:r.select,style:{width:"270rem",marginLeft:"8rem"}},Wt.select_type===1&&((Be=Vr==null?void 0:Vr.subjects)==null?void 0:Be.map(Zr=>H.createElement(B.default.Option,{value:Zr.id},Zr.name))),Wt.select_type===2&&((st=Vr==null?void 0:Vr.courses)==null?void 0:st.map(Zr=>H.createElement(B.default.Option,{value:Zr.id},Zr.name)))),H.createElement(A.default,{onChange:Zr=>{Wt.keyword=Zr.target.value,Wt.page=1,Wt.limit=10,fr(Wt)},addonBefore:((zt=ge==null?void 0:ge.find(Zr=>Zr.key===ut))==null?void 0:zt.label)+"\u540D\u79F0",className:r.input,style:{marginLeft:"10rem",width:"486rem",height:"40rem"}}))),H.createElement(v.ZP,{type:"primary",style:{height:"40rem",fontSize:"14rem",boxShadow:"none",lineHeight:"40rem",width:"108rem",padding:"0",marginLeft:"10rem"},onClick:()=>{_n()}},"\u67E5\u8BE2")),H.createElement(O.default,{style:{marginTop:"10rem"},dataSource:Vr==null?void 0:Vr.data,pagination:!1,rowKey:Zr=>Zr.id,scroll:{y:"400rem"},columns:[{title:((ir=ge==null?void 0:ge.find(Zr=>Zr.key===ut))==null?void 0:ir.label)+"\u540D\u79F0",dataIndex:"name",ellipsis:!0,key:"name"},{title:ut==="1"?"\u5408\u4F5C\u8005":"\u6240\u5C5E\u6A21\u5757",dataIndex:"name",key:"name",ellipsis:!0,render:(Zr,Yr)=>H.createElement("span",null,ut==="1"?Yr==null?void 0:Yr.user_names:Yr==null?void 0:Yr.model)},{title:ut==="1"?"\u6700\u8FD1\u4FEE\u6539\u65F6\u95F4":"\u6240\u5728\u4F4D\u7F6E",dataIndex:"updated_at",ellipsis:!0,render:(Zr,Yr)=>H.createElement("span",null,ut==="1"?Yr==null?void 0:Yr.updated_at:Yr==null?void 0:Yr.stage_name)},{title:"\u64CD\u4F5C",dataIndex:"url",width:"100rem",render:(Zr,Yr)=>H.createElement("a",{onClick:()=>{(Yr==null?void 0:Yr.container_type)==="Video"?m.default.confirm({icon:null,title:"\u89C6\u9891\u64AD\u653E",centered:!0,closable:!0,footer:!1,width:600,content:H.createElement(F.Z,{allow_skip:!0,src:Zr})}):ut==="3"?ye(Zr):window.open(Zr)}},"\u67E5\u770B")}],rowSelection:{type:"radio",onChange(Zr,Yr){gr(Yr)}}}),H.createElement(U.Z,{hideOnSinglePage:!0,style:{marginTop:"20rem"},total:Vr==null?void 0:Vr.total_count,current:Wt==null?void 0:Wt.page,pageSize:Wt==null?void 0:Wt.limit,onChange:(Zr,Yr)=>{Wt.page=Zr,Wt.limit=Yr,fr(Wt),_n()}}))};var we=(0,J.connect)(({pathsDetail:ot,user:Mt,loading:ut,globalSetting:qt})=>({pathsDetail:ot,user:Mt,globalSetting:qt,loading:ut.models.index}))(pe),De=Z(74330),Se=Z(42922),ve=Z(28706),Ee=Z(67294),Re=Object.defineProperty,qe=Object.defineProperties,Ie=Object.getOwnPropertyDescriptors,Fe=Object.getOwnPropertySymbols,ze=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,_e=(ot,Mt,ut)=>Mt in ot?Re(ot,Mt,{enumerable:!0,configurable:!0,writable:!0,value:ut}):ot[Mt]=ut,ie=(ot,Mt)=>{for(var ut in Mt||(Mt={}))ze.call(Mt,ut)&&_e(ot,ut,Mt[ut]);if(Fe)for(var ut of Fe(Mt))z.call(Mt,ut)&&_e(ot,ut,Mt[ut]);return ot},Ae=(ot,Mt)=>qe(ot,Ie(Mt)),de=(ot,Mt)=>{var ut={};for(var qt in ot)ze.call(ot,qt)&&Mt.indexOf(qt)<0&&(ut[qt]=ot[qt]);if(ot!=null&&Fe)for(var qt of Fe(ot))Mt.indexOf(qt)<0&&z.call(ot,qt)&&(ut[qt]=ot[qt]);return ut},se=(ot,Mt,ut)=>new Promise((qt,Dn)=>{var Xe=ar=>{try{gr(ut.next(ar))}catch(ye){Dn(ye)}},fn=ar=>{try{gr(ut.throw(ar))}catch(ye){Dn(ye)}},gr=ar=>ar.done?qt(ar.value):Promise.resolve(ar.value).then(Xe,fn);gr((ut=ut.apply(ot,Mt)).next())});const he=ot=>{var Mt=ot,{typesdata:ut,globalSetting:qt,loading:Dn,dispatch:Xe,pathsDetail:fn,onChange:gr,uuid:ar,itemsuuid:ye}=Mt,Te=de(Mt,["typesdata","globalSetting","loading","dispatch","pathsDetail","onChange","uuid","itemsuuid"]),Be,st,zt,ir,Wt,fr,Vr,An,_n,Zr,Yr,Nn;const Cn=(0,J.useParams)();let[cn,yr]=(0,G.useState)([]),[zn,Sn]=(0,G.useState)(!1);const[mn,Hn]=(0,G.useState)([]),[Bn,vr]=(0,G.useState)(""),[nn,Un]=(0,G.useState)(""),[mr,Gn]=(0,G.useState)([]),[bn,Jn]=(0,G.useState)(!1);let[ft,Pn]=(0,G.useState)({bh:[],qx:[],hx:[],gl:[]});(0,G.useEffect)(()=>{ni()},[ar]),(0,G.useEffect)(()=>{if(ut){let Qt=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));Pn(Qt)}return()=>{}},[ut]);function ni(){return se(this,null,function*(){var Qt,Rn,Tn,tn,Ta;Sn(!0);let fa=yield(0,e.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:ar,subject_id:Cn==null?void 0:Cn.pathId,depth:-1,relationshipFilter:"\u5305\u542B>"}});if(Sn(!1),(fa==null?void 0:fa.status)===0){Hn(fa==null?void 0:fa.data);const Sa=[...(0,ve.fX)((Rn=(Qt=fa==null?void 0:fa.data)==null?void 0:Qt.nodes)==null?void 0:Rn.map((Aa,Hr)=>{var er,Fr;return Ae(ie({},Aa),{key:(er=Aa==null?void 0:Aa.properties)==null?void 0:er.uuid,title:(Fr=Aa==null?void 0:Aa.properties)==null?void 0:Fr.name})}),(Ta=(tn=(Tn=fa==null?void 0:fa.data)==null?void 0:Tn.relationships)==null?void 0:tn.filter(Aa=>Aa.type==="\u5305\u542B"||Aa.type==="\u524D\u5E8F"))==null?void 0:Ta.filter((Aa,Hr,er)=>Hr===er.findIndex(Fr=>Fr.endNodeUuid===Aa.endNodeUuid))).children||[]];cn=Sa,Un(JSON.stringify(Sa)),yr(Sa)}})}(0,G.useEffect)(()=>{gr(ft)},[ft]);function ai(Qt,Rn,Tn){for(let tn of Qt)tn!=null&&tn.title.includes(Rn)&&Tn.push(tn),tn.children&&tn.children.length>0&&(ai(tn.children,Rn,Tn),qa(tn.children,Rn,Tn)&&Tn.push(tn))}function qa(Qt,Rn,Tn){for(let tn of Qt)if(tn!=null&&tn.title.includes(Rn))return!0}return Ee.createElement(De.Z,{spinning:zn},Ee.createElement("div",{className:r.body},Ee.createElement("div",{className:r.left},Ee.createElement("div",{className:r.header},Ee.createElement("div",null,"\u5171",Ee.createElement("span",{style:{color:"#1B8565"}},((st=(Be=mn==null?void 0:mn.metricCounters)==null?void 0:Be[0])==null?void 0:st.count)||0),"\u4E2A\u6807\u7B7E\u8282\u70B9\uFF0C",Ee.createElement("span",{style:{color:"#1B8565"}},((ir=(zt=mn==null?void 0:mn.metricCounters)==null?void 0:zt[1])==null?void 0:ir.count)||0),"\u4E2A\u77E5\u8BC6\u8282\u70B9"),Ee.createElement(A.default.Search,{style:{width:"350rem",borderRadius:"50%"},onChange:Qt=>{var Rn,Tn,tn,Ta;const{value:fa}=Qt.target;vr(fa);let Oa=[];ai(JSON.parse(nn),fa,Oa),Oa.push((Rn=mn==null?void 0:mn.nodes)==null?void 0:Rn[0]);const Sa=(Tn=mn==null?void 0:mn.nodes)==null?void 0:Tn.filter(er=>{var Fr,jn;return((jn=(Fr=er==null?void 0:er.properties)==null?void 0:Fr.name)==null?void 0:jn.indexOf(fa))>-1}).map(er=>{var Fr;return(Fr=er==null?void 0:er.properties)==null?void 0:Fr.uuid});Gn(Sa);const Hr=[...(0,ve.fX)(Oa,(Ta=(tn=mn==null?void 0:mn.relationships)==null?void 0:tn.filter(er=>er.type==="\u5305\u542B"||er.type==="\u524D\u5E8F"))==null?void 0:Ta.filter((er,Fr,jn)=>Fr===jn.findIndex(Fn=>Fn.endNodeUuid===er.endNodeUuid)).filter(er=>(Oa==null?void 0:Oa.map(Fr=>Fr==null?void 0:Fr.key).includes(er.endNodeUuid))||(Oa==null?void 0:Oa.map(Fr=>Fr==null?void 0:Fr.key).includes(er.startNodeUuid)))).children||[]];cn=Hr,yr(Hr),Jn(!0)},placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22"})),Ee.createElement(p.default,{style:{marginTop:"30rem",maxHeight:"320rem",overflow:"auto"},showLine:!0,treeData:cn,className:r.tree,expandedKeys:mr,onExpand:Qt=>{Gn(Qt),Jn(!1)},autoExpandParent:bn,blockNode:!0,switcherIcon:Ee.createElement(Se.Z,null),titleRender:Qt=>{var Rn,Tn,tn,Ta,fa,Oa,Sa,Aa,Hr,er,Fr,jn,Fn,wn,Ua;return Ee.createElement("div",{className:r.treenode,key:(Rn=Qt==null?void 0:Qt.properties)==null?void 0:Rn.uuid},Ee.createElement("div",{style:{width:"50%",display:"flex",alignItems:"center"}},((Tn=ft==null?void 0:ft.bh)==null?void 0:Tn.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)}))&&Ee.createElement("span",{className:r.settingtag,style:{background:"#6236ff"}},"\u5305\u542B"),((tn=ft==null?void 0:ft.qx)==null?void 0:tn.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)}))&&Ee.createElement("span",{className:r.settingtag,style:{background:"#24A881"}},"\u524D\u7F6E"),((Ta=ft==null?void 0:ft.hx)==null?void 0:Ta.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)}))&&Ee.createElement("span",{className:r.settingtag,style:{background:"#EC8657"}},"\u540E\u7F6E"),((fa=ft==null?void 0:ft.gl)==null?void 0:fa.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)}))&&Ee.createElement("span",{className:r.settingtag,style:{background:"#497DFF"}},"\u5173\u8054"),Ee.createElement("div",{className:r.multiple,title:Qt==null?void 0:Qt.title,dangerouslySetInnerHTML:{__html:(Oa=Qt==null?void 0:Qt.title)==null?void 0:Oa.replaceAll(Bn,`${Bn}`)},style:{width:"100%",fontSize:"14rem",color:"#000",fontWeight:400}})),Ee.createElement("div",{className:r.hudong},!((Sa=ft==null?void 0:ft.qx)!=null&&Sa.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)})||(Aa=ft==null?void 0:ft.bh)!=null&&Aa.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)})||(Hr=ft==null?void 0:ft.hx)!=null&&Hr.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)})||(er=ft==null?void 0:ft.gl)!=null&&er.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)}))&&ye!==((Fr=Qt==null?void 0:Qt.properties)==null?void 0:Fr.uuid)&&Ee.createElement("div",null,Ee.createElement("span",{onClick:()=>{var Wr,en,da,Zn;if(!(((en=(Wr=ft==null?void 0:ft.bh)==null?void 0:Wr.filter(sa=>{var Ga;return(sa==null?void 0:sa.uuid)===((Ga=Qt==null?void 0:Qt.properties)==null?void 0:Ga.uuid)}))==null?void 0:en.length)>0)){let sa=[];sa.push({name:(da=Qt==null?void 0:Qt.properties)==null?void 0:da.name,uuid:(Zn=Qt==null?void 0:Qt.properties)==null?void 0:Zn.uuid}),Pn({bh:[...sa,...ft==null?void 0:ft.bh],qx:ft==null?void 0:ft.qx,hx:ft==null?void 0:ft.hx,gl:ft==null?void 0:ft.gl})}},className:r.colortitle,style:{marginRight:"20rem"}},"\u8BBE\u4E3A\u5305\u542B"),Ee.createElement("span",{onClick:()=>{var Wr,en,da,Zn;if(!(((en=(Wr=ft==null?void 0:ft.qx)==null?void 0:Wr.filter(sa=>{var Ga;return(sa==null?void 0:sa.uuid)===((Ga=Qt==null?void 0:Qt.properties)==null?void 0:Ga.uuid)}))==null?void 0:en.length)>0)){let sa=[];sa.push({name:(da=Qt==null?void 0:Qt.properties)==null?void 0:da.name,uuid:(Zn=Qt==null?void 0:Qt.properties)==null?void 0:Zn.uuid}),Pn({qx:[...sa,...ft==null?void 0:ft.qx],hx:ft==null?void 0:ft.hx,bh:ft==null?void 0:ft.bh,gl:ft==null?void 0:ft.gl})}},className:r.colortitle},"\u8BBE\u4E3A\u524D\u7F6E"),Ee.createElement("span",{onClick:()=>{var Wr,en,da,Zn;if(!(((en=(Wr=ft==null?void 0:ft.hx)==null?void 0:Wr.filter(sa=>{var Ga;return(sa==null?void 0:sa.uuid)===((Ga=Qt==null?void 0:Qt.properties)==null?void 0:Ga.uuid)}))==null?void 0:en.length)>0)){let sa=[];sa.push({name:(da=Qt==null?void 0:Qt.properties)==null?void 0:da.name,uuid:(Zn=Qt==null?void 0:Qt.properties)==null?void 0:Zn.uuid}),Pn({qx:ft==null?void 0:ft.qx,hx:[...sa,...ft==null?void 0:ft.hx],bh:ft==null?void 0:ft.bh,gl:ft==null?void 0:ft.gl})}},style:{margin:"0rem 20rem"},className:r.colortitle},"\u8BBE\u4E3A\u540E\u7F6E"),Ee.createElement("span",{onClick:()=>{var Wr,en,da,Zn;if(!(((en=(Wr=ft==null?void 0:ft.gl)==null?void 0:Wr.filter(sa=>{var Ga;return(sa==null?void 0:sa.uuid)===((Ga=Qt==null?void 0:Qt.properties)==null?void 0:Ga.uuid)}))==null?void 0:en.length)>0)){let sa=[];sa.push({name:(da=Qt==null?void 0:Qt.properties)==null?void 0:da.name,uuid:(Zn=Qt==null?void 0:Qt.properties)==null?void 0:Zn.uuid}),Pn({qx:ft==null?void 0:ft.qx,hx:ft==null?void 0:ft.hx,gl:[...sa,...ft==null?void 0:ft.gl],bh:ft==null?void 0:ft.bh})}},className:r.colortitle},"\u8BBE\u4E3A\u5173\u8054")),Ee.createElement("span",{onClick:()=>{var Wr;let en=(Wr=ft==null?void 0:ft.bh)==null?void 0:Wr.filter(da=>{var Zn;return da.uuid!==((Zn=Qt==null?void 0:Qt.properties)==null?void 0:Zn.uuid)});Pn({bh:en,hx:ft==null?void 0:ft.hx,qx:ft==null?void 0:ft.qx,gl:ft==null?void 0:ft.gl})}},((jn=ft==null?void 0:ft.bh)==null?void 0:jn.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)}))&&"\u53D6\u6D88\u5305\u542B"),Ee.createElement("span",{onClick:()=>{var Wr;let en=(Wr=ft==null?void 0:ft.qx)==null?void 0:Wr.filter(da=>{var Zn;return da.uuid!==((Zn=Qt==null?void 0:Qt.properties)==null?void 0:Zn.uuid)});Pn({qx:en,hx:ft==null?void 0:ft.hx,bh:ft==null?void 0:ft.bh,gl:ft==null?void 0:ft.gl})}},((Fn=ft==null?void 0:ft.qx)==null?void 0:Fn.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)}))&&"\u53D6\u6D88\u524D\u7F6E"),Ee.createElement("span",{onClick:()=>{var Wr;let en=(Wr=ft==null?void 0:ft.hx)==null?void 0:Wr.filter(da=>{var Zn;return da.uuid!==((Zn=Qt==null?void 0:Qt.properties)==null?void 0:Zn.uuid)});Pn({qx:ft==null?void 0:ft.qx,hx:en,bh:ft==null?void 0:ft.bh,gl:ft==null?void 0:ft.gl})}},((wn=ft==null?void 0:ft.hx)==null?void 0:wn.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)}))&&"\u53D6\u6D88\u540E\u7F6E"),Ee.createElement("span",{onClick:()=>{var Wr;let en=(Wr=ft==null?void 0:ft.gl)==null?void 0:Wr.filter(da=>{var Zn;return da.uuid!==((Zn=Qt==null?void 0:Qt.properties)==null?void 0:Zn.uuid)});Pn({qx:ft==null?void 0:ft.qx,hx:ft==null?void 0:ft.hx,bh:ft==null?void 0:ft.bh,gl:en})}},((Ua=ft==null?void 0:ft.gl)==null?void 0:Ua.find(Wr=>{var en;return(Wr==null?void 0:Wr.uuid)===((en=Qt==null?void 0:Qt.properties)==null?void 0:en.uuid)}))&&"\u53D6\u6D88\u5173\u8054")))}})),Ee.createElement("div",{className:r.right},Ee.createElement("div",{className:r.title},"\u5DF2\u5173\u8054\u5173\u7CFB"),Ee.createElement("div",{style:{padding:"20rem 25rem"}},Ee.createElement("div",{className:r.gxtitle},Ee.createElement("div",{className:r.Colortitle,style:{background:"#6236ff"}}),Ee.createElement("div",null,"\u88AB\u5305\u542B\uFF08",(Wt=ft.bh)==null?void 0:Wt.length,"\uFF09")),Ee.createElement("div",{className:r.gxbody},(fr=ft==null?void 0:ft.bh)==null?void 0:fr.map(Qt=>Ee.createElement("div",{className:r.tag,style:{background:"#6236ff"}},Ee.createElement("span",{style:{marginRight:"10rem"}},Qt==null?void 0:Qt.name)," ",Ee.createElement(n.Z,{onClick:()=>{var Rn;let Tn=(Rn=ft==null?void 0:ft.bh)==null?void 0:Rn.filter(tn=>tn.uuid!==Qt.uuid);Pn({bh:Tn,hx:ft==null?void 0:ft.hx,qx:ft==null?void 0:ft.qx,gl:ft==null?void 0:ft.gl})}})))),Ee.createElement("div",{className:r.gxtitle,style:{marginTop:"30rem"}},Ee.createElement("div",{className:r.Colortitle,style:{background:"#24A881"}}),Ee.createElement("div",null,"\u524D\u5E8F\uFF08",(Vr=ft.qx)==null?void 0:Vr.length,"\uFF09")),Ee.createElement("div",{className:r.gxbody},(An=ft==null?void 0:ft.qx)==null?void 0:An.map(Qt=>Ee.createElement("div",{className:r.tag,style:{background:"#24A881"}},Ee.createElement("span",{style:{marginRight:"10rem"}},Qt==null?void 0:Qt.name)," ",Ee.createElement(n.Z,{onClick:()=>{var Rn;let Tn=(Rn=ft==null?void 0:ft.qx)==null?void 0:Rn.filter(tn=>tn.uuid!==Qt.uuid);Pn({qx:Tn,hx:ft==null?void 0:ft.hx,bh:ft==null?void 0:ft.bh,gl:ft==null?void 0:ft.gl})}})))),Ee.createElement("div",{className:r.gxtitle,style:{marginTop:"30rem"}},Ee.createElement("div",{className:r.Colortitle,style:{background:"#EC8657"}}),Ee.createElement("div",null,"\u540E\u5E8F\uFF08",(_n=ft.hx)==null?void 0:_n.length,"\uFF09")),Ee.createElement("div",{className:r.gxbody},(Zr=ft==null?void 0:ft.hx)==null?void 0:Zr.map(Qt=>Ee.createElement("div",{className:r.tag,style:{background:"#EC8657"}},Ee.createElement("span",{style:{marginRight:"10rem"}},Qt==null?void 0:Qt.name)," ",Ee.createElement(n.Z,{onClick:()=>{var Rn;let Tn=(Rn=ft==null?void 0:ft.hx)==null?void 0:Rn.filter(tn=>tn.uuid!==Qt.uuid);Pn({qx:ft==null?void 0:ft.qx,bh:ft==null?void 0:ft.bh,hx:Tn,gl:ft==null?void 0:ft.gl})}})))),Ee.createElement("div",{className:r.gxtitle,style:{marginTop:"30rem"}},Ee.createElement("div",{className:r.Colortitle,style:{background:"#497DFF"}}),Ee.createElement("div",null,"\u5173\u8054\uFF08",(Yr=ft.gl)==null?void 0:Yr.length,"\uFF09")),Ee.createElement("div",{className:r.gxbody},(Nn=ft==null?void 0:ft.gl)==null?void 0:Nn.map(Qt=>Ee.createElement("div",{className:r.tag,style:{background:"#497DFF"}},Ee.createElement("span",{style:{marginRight:"10rem"}},Qt==null?void 0:Qt.name)," ",Ee.createElement(n.Z,{onClick:()=>{var Rn;let Tn=(Rn=ft==null?void 0:ft.gl)==null?void 0:Rn.filter(tn=>tn.uuid!==Qt.uuid);Pn({qx:ft==null?void 0:ft.qx,bh:ft==null?void 0:ft.bh,hx:ft==null?void 0:ft.hx,gl:Tn})}}))))))))};var Pe=(0,J.connect)(({pathsDetail:ot,user:Mt,loading:ut,globalSetting:qt})=>({pathsDetail:ot,user:Mt,globalSetting:qt,loading:ut.models.index}))(he),We=Z(96486),ht=Z(52262),_t=Z(52070),Nt=Z(67294),xt=Object.getOwnPropertySymbols,Dt=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable,Ft=(ot,Mt)=>{var ut={};for(var qt in ot)Dt.call(ot,qt)&&Mt.indexOf(qt)<0&&(ut[qt]=ot[qt]);if(ot!=null&&xt)for(var qt of xt(ot))Mt.indexOf(qt)<0&&Tt.call(ot,qt)&&(ut[qt]=ot[qt]);return ut},nt=(ot,Mt,ut)=>new Promise((qt,Dn)=>{var Xe=ar=>{try{gr(ut.next(ar))}catch(ye){Dn(ye)}},fn=ar=>{try{gr(ut.throw(ar))}catch(ye){Dn(ye)}},gr=ar=>ar.done?qt(ar.value):Promise.resolve(ar.value).then(Xe,fn);gr((ut=ut.apply(ot,Mt)).next())});const Gt=[3,2,1];let Tr=null;const rr=ot=>{var Mt=ot,{pathsDetail:ut,user:qt,globalSetting:Dn,loading:Xe,dispatch:fn,datas:gr,items:ar}=Mt,ye=Ft(Mt,["pathsDetail","user","globalSetting","loading","dispatch","datas","items"]);const Te=(0,G.useRef)(),Be=(0,G.useRef)(),st=(0,G.useRef)(null);(0,G.useEffect)(()=>{ir()},[gr]),(0,G.useEffect)(()=>(window.addEventListener("resize",zt),()=>{window.removeEventListener("resize",zt)}),[]);function zt(){var Wt,fr;(fr=(Wt=Te.current)==null?void 0:Wt.update)==null||fr.call(Wt)}function ir(){return nt(this,null,function*(){var Wt,fr,Vr,An,_n,Zr,Yr,Nn;if(((Wt=gr==null?void 0:gr.nodes)==null?void 0:Wt.length)>0){let Cn=(fr=gr==null?void 0:gr.nodes)==null?void 0:fr.filter(yr=>{var zn;return ar==null?void 0:ar.includes((zn=yr==null?void 0:yr.properties)==null?void 0:zn.uuid)}).map(yr=>{var zn,Sn,mn,Hn,Bn,vr,nn,Un,mr,Gn,bn,Jn;return{rootNodeUuid:(zn=yr==null?void 0:yr.properties)==null?void 0:zn.rootNodeUuid,id:((Sn=yr==null?void 0:yr.properties)==null?void 0:Sn.uuid)+"_",name:(mn=yr==null?void 0:yr.properties)==null?void 0:mn.name,description:(Hn=yr==null?void 0:yr.properties)==null?void 0:Hn.description,nodeType:(Bn=yr==null?void 0:yr.properties)==null?void 0:Bn.nodeType,tags:((vr=yr==null?void 0:yr.properties)==null?void 0:vr.tags)&&((mr=(Un=(nn=yr==null?void 0:yr.properties)==null?void 0:nn.tags)==null?void 0:Un.split("\uFF0C"))==null?void 0:mr.map(ft=>({name:ft}))),colorType:parseInt((Gn=yr==null?void 0:yr.properties)==null?void 0:Gn.color)>3?"3":(bn=yr==null?void 0:yr.properties)==null?void 0:bn.color,activeColor:"#FA6400",size:Gt[((Jn=yr==null?void 0:yr.properties)==null?void 0:Jn.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0}}),cn=(Zr=(_n=(An=(Vr=gr==null?void 0:gr.relationships)==null?void 0:Vr.filter(yr=>{var zn,Sn,mn,Hn,Bn,vr;return yr.endNodeUuid!==((mn=(Sn=(zn=gr==null?void 0:gr.nodes)==null?void 0:zn[0])==null?void 0:Sn.properties)==null?void 0:mn.rootNodeUuid)&&yr.startNodeUuid!==((vr=(Bn=(Hn=gr==null?void 0:gr.nodes)==null?void 0:Hn[0])==null?void 0:Bn.properties)==null?void 0:vr.rootNodeUuid)}))==null?void 0:An.filter(yr=>(ar==null?void 0:ar.includes(yr.startNodeUuid))&&(ar==null?void 0:ar.includes(yr.endNodeUuid))))==null?void 0:_n.filter(yr=>yr.type==="\u5305\u542B"||yr.type==="\u524D\u5E8F"||yr.type==="\u5173\u8054"))==null?void 0:Zr.map(yr=>({hide:!1,id:(yr==null?void 0:yr.endNodeUuid)+"_",label:yr==null?void 0:yr.type,props:[],colorType:1,sourceRadius:32,targetRadius:32,source:(yr==null?void 0:yr.startNodeUuid)+"_",target:(yr==null?void 0:yr.endNodeUuid)+"_",value:10}));Te.current=null,Be.current.innerHTML="",Te.current=new _t.createContainer({containerName:"#graphRefs",width:((Yr=Be==null?void 0:Be.current)==null?void 0:Yr.clientWidth)||0,height:((Nn=Be==null?void 0:Be.current)==null?void 0:Nn.clientHeight)||0,toolbarData:[],clickToggle:!1,background:"#fff",isShowMask:!1,nodes:Cn,links:cn,zoomOptions:{minScale:.2,maxScale:5},nodeMouseover:function(yr){return yr},nodeClick:function(yr){var zn;return(zn=Te==null?void 0:Te.current)==null||zn.selectToNode(yr.id),yr},layout:{force:!1,x:20,y:60}}),Te.current.zoomOut()}})}return Nt.createElement("div",{ref:st,style:{background:"#fff",height:"455rem"}},Nt.createElement("div",{style:{width:"100%",height:"455rem"},ref:Be,id:"graphRefs"}))};var Pt=(0,J.connect)(({pathsDetail:ot,user:Mt,loading:ut,globalSetting:qt})=>({pathsDetail:ot,user:Mt,globalSetting:qt,loading:ut.models.index}))(rr),Sr="data:image/png;base64,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",$r="data:image/png;base64,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",vn="data:image/png;base64,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",Gr="data:image/png;base64,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",an=Z(96074),Ln=Z(50976),kr=Z(51246);const Kt=ot=>({tooltip:{trigger:"item"},legend:{top:"0%",left:"center"},series:[{name:"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5",type:"pie",radius:["40%","70%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:10,borderColor:"#fff",borderWidth:2},label:{show:!1,position:"center"},emphasis:{label:{show:!0,fontSize:14,fontWeight:"bold"}},labelLine:{show:!1},data:ot}]});var Ke=Z(55099),He=Z(67294),Ue=Object.defineProperty,et=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable,vt=(ot,Mt,ut)=>Mt in ot?Ue(ot,Mt,{enumerable:!0,configurable:!0,writable:!0,value:ut}):ot[Mt]=ut,pt=(ot,Mt)=>{for(var ut in Mt||(Mt={}))tt.call(Mt,ut)&&vt(ot,ut,Mt[ut]);if(et)for(var ut of et(Mt))it.call(Mt,ut)&&vt(ot,ut,Mt[ut]);return ot},Xt=(ot,Mt)=>{var ut={};for(var qt in ot)tt.call(ot,qt)&&Mt.indexOf(qt)<0&&(ut[qt]=ot[qt]);if(ot!=null&&et)for(var qt of et(ot))Mt.indexOf(qt)<0&&it.call(ot,qt)&&(ut[qt]=ot[qt]);return ut},ke=(ot,Mt,ut)=>new Promise((qt,Dn)=>{var Xe=ar=>{try{gr(ut.next(ar))}catch(ye){Dn(ye)}},fn=ar=>{try{gr(ut.throw(ar))}catch(ye){Dn(ye)}},gr=ar=>ar.done?qt(ar.value):Promise.resolve(ar.value).then(Xe,fn);gr((ut=ut.apply(ot,Mt)).next())});const T=[{name:"",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"",value:0,itemStyle:{color:"rgb(6,110,247)"}}],P=ot=>{var Mt=ot,{pathsDetail:ut,user:qt,globalSetting:Dn,loading:Xe,dispatch:fn,uuid:gr}=Mt,ar=Xt(Mt,["pathsDetail","user","globalSetting","loading","dispatch","uuid"]),ye,Te,Be,st;const zt=(0,J.useParams)();let[ir,Wt]=(0,G.useState)({subject_id:zt==null?void 0:zt.pathId,course_id:"",parentNodeUuid:gr,type:1});const[fr,Vr]=(0,G.useState)(),[An,_n]=(0,G.useState)([]),[Zr,Yr]=(0,G.useState)([]),[Nn]=(0,J.useSearchParams)();(0,G.useEffect)(()=>{Cn()},[gr]);function Cn(){return ke(this,null,function*(){var cn,yr,zn;let Sn=yield(0,e.ZP)("/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:ir});Vr(Sn);let mn=Object.entries((cn=Sn==null?void 0:Sn.data)==null?void 0:cn.study_grasp_hash).map(([Bn,vr],nn)=>({name:Bn,value:vr,itemStyle:T[nn].itemStyle})),Hn=Object.entries((yr=Sn==null?void 0:Sn.data)==null?void 0:yr.study_complete_hash).map(([Bn,vr],nn)=>({name:Bn,value:vr}));Yr(Hn),((zn=mn==null?void 0:mn.filter(Bn=>(Bn==null?void 0:Bn.value)>0))==null?void 0:zn.length)===0?_n([]):_n(mn)})}return He.createElement("div",{className:r.DetailStatistics},Nn.get("type")!=="classrooms"&&He.createElement("div",{className:r.header},He.createElement("span",{className:r.title},"\u7EDF\u8BA1\u8303\u56F4"),He.createElement(c.ZP.Group,{onChange:cn=>{ir.type=cn.target.value,Wt(pt({},ir)),Cn()},value:ir.type},He.createElement(c.ZP,{value:1},"\u5168\u90E8"),He.createElement(c.ZP,{value:2},"\u81EA\u4E3B\u5B66\u4E60"),He.createElement(c.ZP,{value:3},"\u8BFE\u5802\u5B66\u4E60")),(ir==null?void 0:ir.type)===3&&He.createElement(B.default,{onChange:cn=>{ir.course_id=cn,Wt(pt({},ir)),Cn()},style:{marginLeft:"-15rem",width:"148rem",height:"36rem"}},(ye=fr==null?void 0:fr.courses)==null?void 0:ye.map(cn=>He.createElement(B.default.Option,{value:cn==null?void 0:cn.id},cn==null?void 0:cn.name)))),He.createElement("div",{style:{marginTop:"16rem",display:"flex"}},He.createElement("div",{className:r.left,style:{backgroundImage:`url(${Sr}),linear-gradient(180deg, rgba(221, 233, 241, 0.4) 0%, rgba(255, 255, 255, 0.49) 100%)`}},He.createElement("img",{src:$r}),He.createElement("div",{style:{marginTop:"20rem"}},He.createElement("div",{className:r.xxrs},"\u5B66\u4E60\u4EBA\u6570"),He.createElement("div",{className:r.xxrscount},(Te=fr==null?void 0:fr.data)==null?void 0:Te.study_count))),He.createElement("div",{className:r.right},He.createElement("div",{className:r.righttop},He.createElement("img",{src:vn}),He.createElement("div",null,He.createElement("div",{className:r.xxrs},"\u5B66\u4E60\u5B8C\u6210\u7387"),He.createElement("div",{className:r.xxrscount},(Be=fr==null?void 0:fr.data)==null?void 0:Be.study_complete_rate,"%"))),He.createElement("div",{className:r.rightbottom},He.createElement("img",{src:Gr}),He.createElement("div",null,He.createElement("div",{className:r.xxrs},"\u5B66\u4E60\u638C\u63E1\u7387"),He.createElement("div",{className:r.xxrscount},(st=fr==null?void 0:fr.data)==null?void 0:st.study_grasp_rate,"%"))))),He.createElement(an.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5"),He.createElement(Ln.Z,{option:Kt(Zr),style:{height:300,width:400},opts:{renderer:"svg"}}),He.createElement(an.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u638C\u63A7\u7387"),(An==null?void 0:An.length)>0?He.createElement(kr.Z,{labelTextColor:"#333",dataSource:An}):He.createElement(Ke.NoData,{children:He.createElement("div",{style:{textAlign:"center",fontSize:"14rem"}},"\u6682\u65E0\u638C\u63A7\u7387\u6570\u636E")}))};var V=(0,J.connect)(({pathsDetail:ot,user:Mt,loading:ut,globalSetting:qt})=>({pathsDetail:ot,user:Mt,globalSetting:qt,loading:ut.models.index}))(P),$=Z(26194),re=Z(67294),xe=Object.defineProperty,Me=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,dt=Object.prototype.propertyIsEnumerable,Ot=(ot,Mt,ut)=>Mt in ot?xe(ot,Mt,{enumerable:!0,configurable:!0,writable:!0,value:ut}):ot[Mt]=ut,jt=(ot,Mt)=>{for(var ut in Mt||(Mt={}))at.call(Mt,ut)&&Ot(ot,ut,Mt[ut]);if(Me)for(var ut of Me(Mt))dt.call(Mt,ut)&&Ot(ot,ut,Mt[ut]);return ot},Mr=(ot,Mt)=>{var ut={};for(var qt in ot)at.call(ot,qt)&&Mt.indexOf(qt)<0&&(ut[qt]=ot[qt]);if(ot!=null&&Me)for(var qt of Me(ot))Mt.indexOf(qt)<0&&dt.call(ot,qt)&&(ut[qt]=ot[qt]);return ut},Yt=(ot,Mt,ut)=>new Promise((qt,Dn)=>{var Xe=ar=>{try{gr(ut.next(ar))}catch(ye){Dn(ye)}},fn=ar=>{try{gr(ut.throw(ar))}catch(ye){Dn(ye)}},gr=ar=>ar.done?qt(ar.value):Promise.resolve(ar.value).then(Xe,fn);gr((ut=ut.apply(ot,Mt)).next())});const Er=[{name:"",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"",value:0,itemStyle:{color:"rgb(6,110,247)"}}],sr=ot=>{var Mt=ot,{pathsDetail:ut,user:qt,globalSetting:Dn,loading:Xe,dispatch:fn,uuid:gr}=Mt,ar=Mr(Mt,["pathsDetail","user","globalSetting","loading","dispatch","uuid"]),ye,Te,Be,st;const zt=(0,J.useParams)();let[ir,Wt]=(0,G.useState)({subject_id:zt==null?void 0:zt.pathId,course_id:"",parentNodeUuid:gr,type:1});const[fr,Vr]=(0,G.useState)(),[An,_n]=(0,G.useState)([]),[Zr]=(0,J.useSearchParams)(),[Yr,Nn]=(0,G.useState)([]);(0,G.useEffect)(()=>{Cn()},[gr]);function Cn(){return Yt(this,null,function*(){var cn,yr,zn;let Sn=yield(0,e.ZP)("/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:ir});Vr(Sn);let mn=Object.entries((cn=Sn==null?void 0:Sn.data)==null?void 0:cn.study_grasp_hash).map(([Bn,vr],nn)=>({name:Bn,value:vr,itemStyle:Er[nn].itemStyle})),Hn=Object.entries((yr=Sn==null?void 0:Sn.data)==null?void 0:yr.study_complete_hash).map(([Bn,vr],nn)=>({name:Bn,value:vr}));Nn(Hn),((zn=mn==null?void 0:mn.filter(Bn=>(Bn==null?void 0:Bn.value)>0))==null?void 0:zn.length)===0?_n([]):_n(mn)})}return re.createElement("div",{className:r.DetailStatistics},Zr.get("type")!=="classrooms"&&re.createElement("div",{className:r.header},re.createElement("span",{className:r.title},"\u7EDF\u8BA1\u8303\u56F4"),re.createElement(c.ZP.Group,{onChange:cn=>{ir.type=cn.target.value,Wt(jt({},ir)),Cn()},value:ir.type},re.createElement(c.ZP,{value:1},"\u5168\u90E8"),re.createElement(c.ZP,{value:2},"\u81EA\u4E3B\u5B66\u4E60"),re.createElement(c.ZP,{value:3},"\u8BFE\u5802\u5B66\u4E60")),(ir==null?void 0:ir.type)===3&&re.createElement(B.default,{onChange:cn=>{ir.course_id=cn,Wt(jt({},ir)),Cn()},style:{marginLeft:"-15rem",width:"148rem",height:"36rem"}},(ye=fr==null?void 0:fr.courses)==null?void 0:ye.map(cn=>re.createElement(B.default.Option,{value:cn==null?void 0:cn.id},cn==null?void 0:cn.name)))),re.createElement("div",{style:{marginTop:"16rem",display:"flex"}},re.createElement("div",{className:r.left,style:{backgroundImage:`url(${Sr}),linear-gradient(180deg, rgba(221, 233, 241, 0.4) 0%, rgba(255, 255, 255, 0.49) 100%)`}},re.createElement("img",{src:$r}),re.createElement("div",{style:{marginTop:"20rem"}},re.createElement("div",{className:r.xxrs},"\u5B66\u4E60\u4EBA\u6570"),re.createElement("div",{className:r.xxrscount},(Te=fr==null?void 0:fr.data)==null?void 0:Te.study_count))),re.createElement("div",{className:r.right},re.createElement("div",{className:r.righttop},re.createElement("img",{src:vn}),re.createElement("div",null,re.createElement("div",{className:r.xxrs},"\u5B66\u4E60\u5B8C\u6210\u7387"),re.createElement("div",{className:r.xxrscount},(Be=fr==null?void 0:fr.data)==null?void 0:Be.study_complete_rate,"%"))),re.createElement("div",{className:r.rightbottom},re.createElement("img",{src:Gr}),re.createElement("div",null,re.createElement("div",{className:r.xxrs},"\u5B66\u4E60\u638C\u63E1\u7387"),re.createElement("div",{className:r.xxrscount},(st=fr==null?void 0:fr.data)==null?void 0:st.study_grasp_rate,"%"))))),re.createElement(an.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5"),re.createElement(Ln.Z,{option:Kt(Yr),style:{height:300,width:400},opts:{renderer:"svg"}}),re.createElement(an.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u638C\u63A7\u7387"),(An==null?void 0:An.length)>0?re.createElement(kr.Z,{labelTextColor:"#333",dataSource:An}):re.createElement($.Z,{children:re.createElement("div",{style:{textAlign:"center",fontSize:"14rem"}},"\u6682\u65E0\u638C\u63A7\u7387\u6570\u636E")}))};var Bt=(0,J.connect)(({pathsDetail:ot,user:Mt,loading:ut,globalSetting:qt})=>({pathsDetail:ot,user:Mt,globalSetting:qt,loading:ut.models.index}))(sr),Jt=Z(20819),kt=Z(35936),xr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAXlJREFUOE/VlD1Lw1AUhp+YmkGQSnFR8AcUoSJ+LiKCqINQqIODbk51ETpaVHTyD6h/QQddXMRNRal1qLaDOhSFQicdiiKUNrkSmzQxH6WCg2a6Iec+7z3ve24kIYTMLz7SPwSmozPI2h6InroTkqQvywjOQNlm4PDczyV3yxfDT4AFa97fAmhxN/C0u9o8w6wUtYUkFdzAk1CVyC4E+x3cr7YBY7NTtZSB7DLewKF9Xa4xwAnUfU7P+wBHjjy6dgqY77a2r2MG8GV9CaQdhAhYJI8NnuYqEBgFqQ1SswawmEiCttnQIxfMdmKlD5QIXE0ZwMJKGPUjV0uqyYzNbPR6OQTBRbgct3mYX7hDiN46zr7BHq6fYGccUlEb8GFuDaFuuKbCNwtDURgFHdOQTdqA97Ewlfec75xZ99DbE6ULno8dY5MZs9r2mV/fbPQPr3kH8GZwFVXd+lE4doXyW/H7TbmdaKf0eIBWmQRamszbLNOQWxN//wf7CYUnn95U81GtAAAAAElFTkSuQmCC",Ir=Z(15835),Ye=Z(67294),wr=Object.defineProperty,nr=Object.defineProperties,Pr=Object.getOwnPropertyDescriptors,jr=Object.getOwnPropertySymbols,zr=Object.prototype.hasOwnProperty,Wn=Object.prototype.propertyIsEnumerable,ua=(ot,Mt,ut)=>Mt in ot?wr(ot,Mt,{enumerable:!0,configurable:!0,writable:!0,value:ut}):ot[Mt]=ut,ca=(ot,Mt)=>{for(var ut in Mt||(Mt={}))zr.call(Mt,ut)&&ua(ot,ut,Mt[ut]);if(jr)for(var ut of jr(Mt))Wn.call(Mt,ut)&&ua(ot,ut,Mt[ut]);return ot},na=(ot,Mt)=>nr(ot,Pr(Mt)),Qn=(ot,Mt,ut)=>new Promise((qt,Dn)=>{var Xe=ar=>{try{gr(ut.next(ar))}catch(ye){Dn(ye)}},fn=ar=>{try{gr(ut.throw(ar))}catch(ye){Dn(ye)}},gr=ar=>ar.done?qt(ar.value):Promise.resolve(ar.value).then(Xe,fn);gr((ut=ut.apply(ot,Mt)).next())});const Ra=[{name:"\u57FA\u672C\u4FE1\u606F",key:1},{name:"\u5B66\u4E60\u7EDF\u8BA1",key:3}];let wa=[{name:"\u4F5C\u4E1A",id:"zy",item_type:2},{name:"\u5B9E\u8BAD",id:"sx",item_type:2},{name:"\u6559\u6750",id:"jc",item_type:2},{name:"\u89C6\u9891",id:"sp",item_type:2},{name:"\u8BFE\u4EF6",id:"kj",item_type:2},{name:"\u8BD5\u5377",id:"sj",item_type:2},{name:"\u9898\u96C6",id:"tj",item_type:2}],Ia=[{name:"\u7AE0\u8282",id:"zj",item_type:1},{name:"\u77E5\u8BC6\u70B9",id:"zsd",item_type:1}];const va=({pathsDetail:ot,user:Mt,globalSetting:ut,loading:qt,dispatch:Dn,items:Xe,showdetail:fn,setshowdetail:gr,containerRef:ar,getData:ye,setshow:Te,Tabsdatas:Be,uuid:st,tpacti:zt,initdata:ir})=>{var Wt,fr,Vr,An,_n,Zr,Yr,Nn,Cn,cn,yr,zn,Sn,mn,Hn,Bn,vr,nn,Un,mr,Gn,bn,Jn,ft,Pn,ni,ai,qa,Qt,Rn,Tn,tn,Ta,fa,Oa,Sa,Aa,Hr;const er=(0,J.useParams)(),[Fr,jn]=(0,G.useState)(0),[Fn]=W.default.useForm(),[wn,Ua]=(0,G.useState)({});let[Wr,en]=(0,G.useState)(!1);const[da,Zn]=(0,G.useState)(!1),[sa,Ga]=(0,G.useState)("1"),[_a,ta]=(0,G.useState)([]),[ya,pi]=(0,G.useState)(1),[Fa,fi]=(0,G.useState)(2),[Ei,Li]=(0,G.useState)(2),[Ii,Ci]=(0,G.useState)(),[si,zi]=(0,G.useState)();let[Ea,gi]=(0,G.useState)([]);const[Va,to]=(0,G.useState)({}),[ro,Di]=(0,G.useState)(!1),[Ni,Hi]=(0,G.useState)(""),[ja,$a]=(0,G.useState)([]),[mi]=(0,J.useSearchParams)(),[vo,no]=(0,G.useState)(!1),[mo,ao]=(0,G.useState)([]),[Ti,wi]=(0,G.useState)([]),[Ya,li]=(0,G.useState)([]);let[ui,Gi]=(0,G.useState)({tags:[],tagszy:[],tagslx:[]});const[xa,po]=(0,G.useState)([{label:"\u5B9E\u8BAD",children:Ye.createElement(we,{getother:Oi,types:"1",ktzykey:sa,onChange:mt=>{ta(mt)}}),key:"1"},{label:"\u89C6\u9891",children:Ye.createElement(we,{getother:Oi,types:"2",ktzykey:sa,onChange:mt=>{ta(mt)}}),key:"2"},{label:"\u8BFE\u4EF6",children:Ye.createElement(we,{getother:Oi,types:"3",ktzykey:sa,onChange:mt=>{ta(mt)}}),key:"3"},{label:"\u8BD5\u5377",children:Ye.createElement(we,{getother:Oi,types:"4",ktzykey:sa,onChange:mt=>{ta(mt)}}),key:"4"}].filter(mt=>!!mt));let[ka,_i]=(0,G.useState)([]),[io,ji]=(0,G.useState)([]);const[vi,xi]=(0,G.useState)(0),[ei,Mi]=(0,G.useState)(0),[ti,Bi]=(0,G.useState)([]),[Jr,di]=(0,G.useState)({bh:[],qx:[],hx:[],gl:[]}),oo=mt=>{var Nr,dn;return(0,e.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:er==null?void 0:er.pathId,uuid:((Nr=mt==null?void 0:mt.items)==null?void 0:Nr.uuid)||((dn=mt==null?void 0:mt.items)==null?void 0:dn.id)}}),Dn({type:"userDetail/logWatchHistory",payload:ca({},mt)})},Zi={maxCount:1,fileList:Ea,accept:((fr=(Wt=wn==null?void 0:wn.label)==null?void 0:Wt[0])==null?void 0:fr.name)==="\u89C6\u9891"?".mp4":"",withCredentials:!0,beforeUpload:mt=>{var Nr,dn;if(!(mt.type==="video/mp4")&&((dn=(Nr=wn==null?void 0:wn.label)==null?void 0:Nr[0])==null?void 0:dn.name)==="\u89C6\u9891")return E.ZP.error("\u53EA\u80FD\u4E0A\u4F20\u89C6\u9891"),R.default.LIST_IGNORE},action:`${S.Z.API_SERVER}/api/attachments.json`,onChange:mt=>{gi(mt==null?void 0:mt.fileList)}};function go(){return Qn(this,null,function*(){var mt,Nr,dn,sn,Ma;let la=yield(0,e.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:1,subject_id:er==null?void 0:er.pathId}});if((la==null?void 0:la.status)===0){xi(st);const qn=[...(Ma=(sn=(mt=la==null?void 0:la.data)==null?void 0:mt.nodes)==null?void 0:sn.splice(1,(dn=(Nr=la==null?void 0:la.data)==null?void 0:Nr.nodes)==null?void 0:dn.length))==null?void 0:Ma.map(ba=>{var Pa,za,hi;return ca({label:(Pa=ba==null?void 0:ba.properties)==null?void 0:Pa.name,children:Ye.createElement(Pe,{onChange:Si=>{sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(Si))},itemsuuid:Xe==null?void 0:Xe.uuid,uuid:(za=ba==null?void 0:ba.properties)==null?void 0:za.uuid,typesdata:Jr}),key:(hi=ba==null?void 0:ba.properties)==null?void 0:hi.uuid},ba)})];ka=qn,_i(qn),sessionStorage.setItem("typesdatajson",JSON.stringify(Jr)),sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(Jr)),en(!0)}})}function _o(){return Qn(this,null,function*(){var mt;let Nr=yield(0,e.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:er==null?void 0:er.pathId}});(Nr==null?void 0:Nr.status)===0&&(ui.tags=Nr==null?void 0:Nr.data,Gi(ca({},ui)));let dn=yield(0,e.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:5,subject_id:er==null?void 0:er.pathId}});(dn==null?void 0:dn.status)===0&&(ui.tagszy=[...wa,...dn==null?void 0:dn.data2],ui.tagslx=[...Ia,...dn==null?void 0:dn.data],Gi(ca({},ui)));let sn=yield(0,e.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:Xe==null?void 0:Xe.resourceUrl,item_banks_group_ids:Xe==null?void 0:Xe.itemBanksGroupIds}});if(Hi(""),li([]),localStorage.setItem("container_type_tupu",sn==null?void 0:sn.container_type),(Xe==null?void 0:Xe.nodeType)==="\u89C6\u9891"&&(((mt=sn==null?void 0:sn.attachment)==null?void 0:mt.file_type)==="video"||(sn==null?void 0:sn.container_type)==="video")&&Hi(sn==null?void 0:sn.id),(Xe==null?void 0:Xe.resourceOrigin)===1&&(Xe==null?void 0:Xe.nodeType)!=="\u9898\u96C6"){let Ma={url:Xe==null?void 0:Xe.resourceUrl,name:sn==null?void 0:sn.name,id:sn==null?void 0:sn.examination_bank_id};ta([Ma])}(Xe==null?void 0:Xe.resourceOrigin)===1&&(Xe==null?void 0:Xe.nodeType)==="\u9898\u96C6"&&li(sn==null?void 0:sn.item_banks_groups),(Xe==null?void 0:Xe.resourceOrigin)===2&&gi([{uid:"123",name:sn==null?void 0:sn.name,response:{id:"123",url:Xe==null?void 0:Xe.resourceUrl}}])})}function Oi(mt){return Qn(this,null,function*(){var Nr,dn;let sn=yield(0,e.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:mt}});(sn==null?void 0:sn.status)===0&&((sn==null?void 0:sn.container_type)==="att"?to({url:S.Z.API_SERVER+((Nr=sn==null?void 0:sn.attachment)==null?void 0:Nr.url),file_type:(dn=sn==null?void 0:sn.attachment)==null?void 0:dn.file_type}):window.open(mt))})}function yo(){return Qn(this,null,function*(){let mt=yield(0,e.ZP)("/api/knowledge/v2/item_bank_groups.json",{method:"get",params:{subject_id:er==null?void 0:er.pathId}});(mt==null?void 0:mt.status)===0&&ao(mt==null?void 0:mt.data)})}function Pi(){return Qn(this,null,function*(){var mt,Nr,dn,sn,Ma,la;let qn=yield(0,e.ZP)("/api/knowledge/v2/get_node_detail.json",{method:"get",params:{nodeUuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id),parentNodeUuids:Be==null?void 0:Be.map(ba=>ba==null?void 0:ba.uuid).join(),depth:1,relationshipFilter:">",subgraphDepth:"-1",subgraphRelationshipFilter:"\u5305\u542B>",subject_id:er==null?void 0:er.pathId}});if((qn==null?void 0:qn.status)===0){Bi((mt=qn==null?void 0:qn.data)==null?void 0:mt.nodes),Ci((dn=(Nr=qn==null?void 0:qn.data)==null?void 0:Nr.nodes)==null?void 0:dn.filter(Pa=>{var za;return((za=Pa==null?void 0:Pa.properties)==null?void 0:za.uuid)===(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id)})),zi((sn=qn==null?void 0:qn.data)==null?void 0:sn.relationships);const ba=[...(la=(Ma=qn==null?void 0:qn.data)==null?void 0:Ma.graphNodeMappings)==null?void 0:la.map((Pa,za)=>{var hi;return{label:`${Pa==null?void 0:Pa.parentNodeName}\uFF08${(hi=Pa==null?void 0:Pa.childNodeUuids)==null?void 0:hi.length}\uFF09`,children:Ye.createElement(Pt,{datas:qn==null?void 0:qn.data,items:Pa==null?void 0:Pa.childNodeUuids}),key:za}})];Mi(0),io=ba,ji(ba)}})}(0,G.useEffect)(()=>{fn&&(Pi(),_o())},[fn,Xe]);const so=(...mt)=>Qn(void 0,[...mt],function*(Nr={}){return yield Dn({type:"pathsDetail/getKnowledgeGraphs",payload:ca({graphable_type:mi.get("type")==="classrooms"?"course":"subject",graphable_id:er==null?void 0:er.pathId},Nr)})});return Ye.createElement(kt.Z,null,Ye.createElement("div",null,fn&&Ye.createElement(h.Z,{open:fn,width:"700rem",mask:!1,closable:!1,rootClassName:r.drawer,destroyOnClose:!0,getContainer:()=>ar.current,onCancel:()=>{gr(!1),Hi("")}},Ye.createElement("div",{className:r.detailmodal},Ye.createElement("div",null,Ye.createElement("span",{className:r.title},"\u8282\u70B9\u8BE6\u60C5"),((Vr=ot==null?void 0:ot.detail)==null?void 0:Vr.can_managed)&&st!=="\u5B66\u4E60\u8DEF\u5F84"&&(Xe==null?void 0:Xe.colorType)!=="1"&&Ye.createElement("i",{className:"iconfont icon-bianji-moren",onClick:()=>Qn(void 0,null,function*(){var mt,Nr,dn,sn,Ma,la,qn,ba,Pa,za;jn(3),gr(!1);let hi={name:Xe.name,description:Xe.description,label:((Nr=(mt=Ii==null?void 0:Ii[0])==null?void 0:mt.labels)==null?void 0:Nr[1])==="\u8D44\u6E90"?(dn=ui==null?void 0:ui.tagszy)==null?void 0:dn.filter(Qr=>(Qr==null?void 0:Qr.name)===(Xe==null?void 0:Xe.nodeType)):(sn=ui==null?void 0:ui.tagslx)==null?void 0:sn.filter(Qr=>(Qr==null?void 0:Qr.name)===(Xe==null?void 0:Xe.nodeType)),tag:(Ma=ui==null?void 0:ui.tags)==null?void 0:Ma.filter(Qr=>{var ma,La;return(La=(ma=Xe==null?void 0:Xe.tags)==null?void 0:ma.map(Na=>Na==null?void 0:Na.name))==null?void 0:La.includes(Qr==null?void 0:Qr.name)}),resourceOrigin:Xe.resourceOrigin,url:(Xe==null?void 0:Xe.resourceOrigin)===3?Xe==null?void 0:Xe.resourceUrl:""},Si=(la=si==null?void 0:si.filter(Qr=>(Qr==null?void 0:Qr.type)==="\u88AB\u5305\u542B"&&(Qr==null?void 0:Qr.startNodeUuid)===((Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id))))==null?void 0:la.map(Qr=>{var ma,La;return{uuid:Qr==null?void 0:Qr.endNodeUuid,name:(La=(ma=ti==null?void 0:ti.find(Na=>{var Wa;return((Wa=Na==null?void 0:Na.properties)==null?void 0:Wa.uuid)===(Qr==null?void 0:Qr.endNodeUuid)}))==null?void 0:ma.properties)==null?void 0:La.name}}),Ri=(qn=si==null?void 0:si.filter(Qr=>(Qr==null?void 0:Qr.type)==="\u5305\u542B"&&(Qr==null?void 0:Qr.startNodeUuid)===((Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id))))==null?void 0:qn.map(Qr=>{var ma,La;return{uuid:Qr==null?void 0:Qr.endNodeUuid,name:(La=(ma=ti==null?void 0:ti.find(Na=>{var Wa;return((Wa=Na==null?void 0:Na.properties)==null?void 0:Wa.uuid)===(Qr==null?void 0:Qr.endNodeUuid)}))==null?void 0:ma.properties)==null?void 0:La.name}});$a(Ri);let Ui=(ba=si==null?void 0:si.filter(Qr=>(Qr==null?void 0:Qr.type)==="\u524D\u5E8F"&&(Qr==null?void 0:Qr.startNodeUuid)===((Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id))))==null?void 0:ba.map(Qr=>{var ma,La;return{uuid:Qr==null?void 0:Qr.endNodeUuid,name:(La=(ma=ti==null?void 0:ti.find(Na=>{var Wa;return((Wa=Na==null?void 0:Na.properties)==null?void 0:Wa.uuid)===(Qr==null?void 0:Qr.endNodeUuid)}))==null?void 0:ma.properties)==null?void 0:La.name}}),Fi=(Pa=si==null?void 0:si.filter(Qr=>(Qr==null?void 0:Qr.type)==="\u540E\u5E8F"&&(Qr==null?void 0:Qr.startNodeUuid)===((Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id))))==null?void 0:Pa.map(Qr=>{var ma,La;return{uuid:Qr==null?void 0:Qr.endNodeUuid,name:(La=(ma=ti==null?void 0:ti.find(Na=>{var Wa;return((Wa=Na==null?void 0:Na.properties)==null?void 0:Wa.uuid)===(Qr==null?void 0:Qr.endNodeUuid)}))==null?void 0:ma.properties)==null?void 0:La.name}}),Wi=(za=si==null?void 0:si.filter(Qr=>((Qr==null?void 0:Qr.type)==="\u5173\u8054"||(Qr==null?void 0:Qr.type)==="\u88AB\u5173\u8054")&&(Qr==null?void 0:Qr.startNodeUuid)===((Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id))))==null?void 0:za.map(Qr=>{var ma,La;return{uuid:Qr==null?void 0:Qr.endNodeUuid,name:(La=(ma=ti==null?void 0:ti.find(Na=>{var Wa;return((Wa=Na==null?void 0:Na.properties)==null?void 0:Wa.uuid)===(Qr==null?void 0:Qr.endNodeUuid)}))==null?void 0:ma.properties)==null?void 0:La.name}});di({bh:Si,qx:Ui,hx:Fi,gl:Wi}),Fn.setFieldsValue(hi),Ua(hi)}),style:{color:"#1B8565",marginLeft:10,cursor:"pointer"}})),Ye.createElement("div",{style:{display:"flex",alignItems:"center"}},(Xe==null?void 0:Xe.colorType)!=="1"&&((An=ot==null?void 0:ot.detail)==null?void 0:An.can_managed)&&st!=="\u5B66\u4E60\u8DEF\u5F84"&&Ye.createElement(v.ZP,{type:"primary",className:r.button,onClick:(0,We.debounce)(()=>Qn(void 0,null,function*(){var mt,Nr;let dn=yield(0,e.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id),subject_id:er==null?void 0:er.pathId,depth:1,relationshipFilter:"\u88AB\u5305\u542B>"}});if((dn==null?void 0:dn.status)===0){let sn=(Nr=(mt=dn==null?void 0:dn.data)==null?void 0:mt.nodes)==null?void 0:Nr.filter(la=>{var qn;return((qn=la==null?void 0:la.properties)==null?void 0:qn.uuid)!==((Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id))}),Ma=sn==null?void 0:sn.map(la=>{var qn,ba;return{name:(qn=la==null?void 0:la.properties)==null?void 0:qn.name,uuid:(ba=la==null?void 0:la.properties)==null?void 0:ba.uuid}});Jr.bh=Ma,di(Jr),jn(1),gr(!1),ta([]),li([]),gi([])}}),500)},"\u589E\u52A0\u540C\u7EA7\u8282\u70B9"),((_n=ot==null?void 0:ot.detail)==null?void 0:_n.can_managed)&&st!=="\u5B66\u4E60\u8DEF\u5F84"&&Ye.createElement(v.ZP,{type:"primary",className:r.button,onClick:()=>{var mt,Nr;((Nr=(mt=Jr==null?void 0:Jr.bh)==null?void 0:mt.filter(dn=>(dn==null?void 0:dn.uuid)===(Xe==null?void 0:Xe.id)))==null?void 0:Nr.length)>0||Jr.bh.push({name:Xe==null?void 0:Xe.name,uuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id)}),jn(2),gr(!1),ta([]),li([]),gi([])}},"\u589E\u52A0\u5B50\u7EA7\u8282\u70B9"),((Zr=ot==null?void 0:ot.detail)==null?void 0:Zr.can_managed)&&st!=="\u5B66\u4E60\u8DEF\u5F84"&&Ye.createElement(v.ZP,{className:r.button,onClick:()=>{let mt="";m.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:ar.current,content:Ye.createElement("div",null,Ye.createElement("p",null,"\u5220\u9664\u8282\u70B9\u4F1A\u540C\u6B65\u5220\u9664\u5F53\u524D\u8282\u70B9\u7684\u5B50\u7EA7\u8282\u70B9\uFF0C\u8BF7\u5728\u4E0B\u65B9\u8F93\u5165\u6846\u8F93\u5165",Ye.createElement("span",{style:{color:"red"}},"\u201C\u786E\u8BA4\u5220\u9664\u201D")),Ye.createElement(A.default,{onChange:Nr=>{mt=Nr.target.value}})),onOk:()=>Qn(void 0,null,function*(){if(mt!=="\u786E\u8BA4\u5220\u9664")return E.ZP.info("\u8BF7\u8F93\u5165\u786E\u8BA4\u5220\u9664"),Promise.reject();if(mt==="\u786E\u8BA4\u5220\u9664"){let Nr=yield(0,e.ZP)("/api/knowledge/v2/del_node.json",{method:"post",body:{uuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id),subject_id:er==null?void 0:er.pathId}});(Nr==null?void 0:Nr.status)===0&&(E.ZP.info("\u5220\u9664\u6210\u529F"),so({graphable_id:er==null?void 0:er.pathId}),(Xe==null?void 0:Xe.colorType)!=="1"?(Te(!1),ye()):ir(),gr(!1))}})})}},"\u5220\u9664\u8282\u70B9"),((Yr=ot==null?void 0:ot.detail)==null?void 0:Yr.can_managed)&&st==="\u5B66\u4E60\u8DEF\u5F84"&&mi.get("type")==="classrooms"&&Ye.createElement(v.ZP,{type:"primary",className:r.button,onClick:()=>{m.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:ar.current,okText:"\u786E\u8BA4\u540C\u6B65",content:Ye.createElement("div",null,"\u8BE5\u8282\u70B9\u4E0B\u5171",Ye.createElement("span",{className:"c-light-primary"},Xe==null?void 0:Xe.currentResourceTotal),"\u4E2A\u8D44\u6E90\uFF0C\u786E\u8BA4\u540C\u6B65\u540E\uFF0C\u8FD9\u4E9B\u8D44\u6E90\u5C06\u6309\u7167\u7C7B\u578B\u5206\u522B\u53D1\u9001\u5230\u8BFE\u5802\u5B9E\u9A8C\u3001\u56FE\u6587\u4F5C\u4E1A\u3001\u5728\u7EBF\u8003\u8BD5\u3001\u89C6\u9891\u76F4\u64AD\u3001\u6559\u5B66\u8D44\u6599\u6A21\u5757\u4E2D\uFF0C\u53EF\u524D\u5F80\u5BF9\u5E94\u6A21\u5757\u8FDB\u884C\u8D44\u6E90\u53D1\u5E03\u7B49\u64CD\u4F5C\u3002"),onOk:()=>Qn(void 0,null,function*(){const mt=yield(0,e.ZP)("/api/subject_knowledge/send_to_course",{method:"post",body:{id:Xe==null?void 0:Xe.resourceid,subject_id:er==null?void 0:er.pathId}});(mt==null?void 0:mt.status)===0&&E.ZP.success("\u64CD\u4F5C\u6210\u529F")})})}},"\u540C\u6B65\u8D44\u6E90\u5230\u8BFE\u5802"),Ye.createElement(n.Z,{onClick:()=>{gr(!1)},style:{marginLeft:"10rem",fontSize:"16rem",color:"#979797"}}))),Ye.createElement("div",{className:r.tabstyle},Ra==null?void 0:Ra.map(mt=>Ye.createElement("div",{onClick:()=>{pi(mt.key)},className:ya===(mt==null?void 0:mt.key)?r.itemsactivite:r.items},mt==null?void 0:mt.name))),ya===1&&Ye.createElement("div",null,Ye.createElement("div",{className:r.nodetitle},Fa===1&&Ye.createElement(o.Z,{onClick:()=>fi(2)}),Fa===2&&Ye.createElement(i.Z,{onClick:()=>fi(1)}),Ye.createElement("span",{style:{marginLeft:"10rem",fontSize:"16rem",color:"#1B8565"}},"\u8282\u70B9\u5C5E\u6027")),Fa===2&&Ye.createElement("div",{className:r.nodeboyd},Ye.createElement("div",{className:r.listitem,style:{marginTop:"0rem"}},Ye.createElement("label",null,"\u8282\u70B9\u540D\u79F0"),Ye.createElement("span",null,Xe==null?void 0:Xe.name)),Ye.createElement("div",{className:r.listitem},Ye.createElement("label",null,"\u8282\u70B9\u7B80\u4ECB"),Ye.createElement("pre",null,(Xe==null?void 0:Xe.description)||"\u6682\u65E0")),Ye.createElement("div",{className:r.listitem},Ye.createElement("label",null,"\u8282\u70B9\u7C7B\u578B"),Ye.createElement("div",null,(Xe==null?void 0:Xe.nodeType)&&Ye.createElement(K,{containerRef:ar,type:5,value:[{name:Xe==null?void 0:Xe.nodeType}],pathsDetail:ot,showmodal:!1,dataSources:[]})," ")),Ye.createElement("div",{className:r.listitem},Ye.createElement("label",null,"\u8282\u70B9\u6807\u7B7E"),Ye.createElement("span",null,((Nn=Xe==null?void 0:Xe.tags)==null?void 0:Nn.length)>0&&Ye.createElement(K,{containerRef:ar,type:5,pathsDetail:ot,value:Xe==null?void 0:Xe.tags,showmodal:!1,dataSources:[]}))),(Xe==null?void 0:Xe.nodeType)==="\u89C6\u9891"&&(Xe==null?void 0:Xe.resourceOrigin)!==3&&Ni&&Ye.createElement("div",{style:{height:"300rem",marginTop:"20rem"}},Ye.createElement(F.Z,{allow_skip:!0,videoId:Ni,toLog:!0,src:Xe==null?void 0:Xe.resourceUrl,logWatchHistory:mt=>oo(na(ca({},mt),{container_type:localStorage.getItem("container_type_tupu"),items:Xe}))})),(Xe==null?void 0:Xe.resourceOrigin)===3&&Ye.createElement("div",{style:{display:"flex",marginTop:"20rem",alignItems:"center"}},Ye.createElement("span",{style:{color:"#1B8565",fontSize:"16rem"}},Xe==null?void 0:Xe.resourceUrl),Ye.createElement(v.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>Qn(void 0,null,function*(){let mt=yield(0,e.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:er==null?void 0:er.pathId,uuid:Xe==null?void 0:Xe.uuid}});window.open(Xe==null?void 0:Xe.resourceUrl)}),type:"primary"},"\u524D\u5F80\u67E5\u770B")),(Xe==null?void 0:Xe.nodeType)==="\u9898\u96C6"&&(Ya==null?void 0:Ya.map(mt=>Ye.createElement("div",{style:{display:"flex",alignItems:"center",marginTop:"10rem"}},Ye.createElement(y.Z,{title:mt==null?void 0:mt.name},Ye.createElement("span",{className:r.multiple,style:{color:"#1B8565",fontSize:"16rem",maxWidth:"80%"}},mt==null?void 0:mt.name)),Ye.createElement("div",{style:{marginLeft:"10rem",padding:"0rem 10rem",fontSize:"12rem",background:"#F6F7F9",color:"#909D99",borderRadius:"20rem"}},"\u8BD5\u9898\u6570 ",mt==null?void 0:mt.count)))),(Xe==null?void 0:Xe.nodeType)!="\u89C6\u9891"&&(Xe==null?void 0:Xe.nodeType)!="\u9898\u96C6"&&(Xe!=null&&Xe.resourceOrigin)&&[1,2].includes(Xe==null?void 0:Xe.resourceOrigin)?Ye.createElement("div",{style:{display:"flex",marginTop:"20rem",alignItems:"center"}},Ye.createElement("span",{style:{color:"#1B8565",fontSize:"16rem"}},(Xe==null?void 0:Xe.resourceOrigin)===1?(Cn=_a==null?void 0:_a[0])==null?void 0:Cn.name:(cn=Ea==null?void 0:Ea[0])==null?void 0:cn.name),(0,ht.JA)()&&(Xe==null?void 0:Xe.nodeType)==="\u8BD5\u5377"?"":Ye.createElement(v.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>Qn(void 0,null,function*(){Oi(Xe==null?void 0:Xe.resourceUrl);let mt=yield(0,e.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:er==null?void 0:er.pathId,uuid:Xe==null?void 0:Xe.uuid}})}),type:"primary"},"\u524D\u5F80\u67E5\u770B"),(Xe==null?void 0:Xe.nodeType)==="\u8BD5\u5377"&&(Xe==null?void 0:Xe.resourceOrigin)===1&&Ye.createElement(v.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>Qn(void 0,null,function*(){var mt,Nr;const dn=yield(0,Ir.Mb)({categoryId:(mt=_a==null?void 0:_a[0])==null?void 0:mt.id});dn!=null&&dn.exercise_id&&(0,ve.xg)(`/classrooms/coursesId/exercise/${dn.exercise_id}/${(Nr=Mt.userInfo)==null?void 0:Nr.login}/initate_answer`)}),type:"primary"},"\u6A21\u62DF\u8003\u8BD5")):""),Ye.createElement("div",{className:r.nodetitle},Ei===1&&Ye.createElement(o.Z,{onClick:()=>Li(2)}),Ei===2&&Ye.createElement(i.Z,{onClick:()=>Li(1)}),Ye.createElement("span",{style:{marginLeft:"10rem",fontSize:"16rem",color:"#1B8565"}},"\u8282\u70B9\u5173\u7CFB")),Ei===2&&Ye.createElement("div",{className:r.nodeboyd,style:{padding:0,minHeight:"530rem"}},Ye.createElement(u.default,{className:r.Tabs,activeKey:ei,destroyInactiveTabPane:!0,onChange:mt=>{Mi(parseInt(mt))},type:"card",items:io}))),ya===3&&Ye.createElement("div",null,(0,ht.JA)()?Ye.createElement(Bt,{uuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id)}):Ye.createElement(V,{uuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id)}))),Ye.createElement(m.default,{title:Ye.createElement("span",{style:{fontSize:"18rem",color:"#000"}},Fr===3?"\u7F16\u8F91":"\u521B\u5EFA","\u8282\u70B9"),centered:!0,destroyOnClose:!0,width:"1200rem",open:Fr>0,getContainer:()=>ar.current,onCancel:()=>{jn(0),Fn.resetFields(),di({qx:[],bh:[],hx:[],gl:[]}),gi([]),Ua({}),ta([]),li([])},okButtonProps:{loading:ro},onOk:()=>{Fn.submit()}},Ye.createElement("div",{className:r.addmodal},Ye.createElement("div",{className:r.title},"\u8282\u70B9\u5C5E\u6027"),Ye.createElement(W.default,{className:r.form,labelCol:{flex:"92rem"},layout:"horizontal",form:Fn,colon:!1,onValuesChange:(mt,Nr)=>{var dn,sn,Ma,la;Ua(ca({},Nr)),(Nr==null?void 0:Nr.resourceOrigin)!==1&&ta([]),((sn=(dn=Nr==null?void 0:Nr.label)==null?void 0:dn[0])==null?void 0:sn.name)!=="\u9898\u96C6"&&li([]),((la=(Ma=Nr==null?void 0:Nr.label)==null?void 0:Ma[0])==null?void 0:la.item_type)!==2&&(ta([]),gi([]),li([]),Fn.setFieldsValue({resourceOrigin:0,url:""}))},onFinish:(0,We.debounce)(mt=>Qn(void 0,null,function*(){var Nr,dn,sn,Ma,la,qn,ba,Pa,za,hi,Si,Ri,Ui,Fi,Wi,Qr,ma,La,Na,Wa,Xi,Yi,Ki,Eo,lo,j,oe,le,ue,Oe,Ne,Ve,Je,gt,rt,bt,ct,Ct,Et,Rt,$t,ur,dr,lr,hr,Or,rn,Mn,Xr,yn;if(((Nr=Jr==null?void 0:Jr.bh)==null?void 0:Nr.length)===0){E.ZP.warning("\u8282\u70B9\u5305\u542B\u5173\u7CFB\u4E0D\u80FD\u4E3A\u7A7A");return}if((mt==null?void 0:mt.resourceOrigin)===0){E.ZP.warning("\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B");return}if((mt==null?void 0:mt.resourceOrigin)===1&&(_a==null?void 0:_a.length)<=0&&((dn=mt==null?void 0:mt.label[0])==null?void 0:dn.name)!=="\u9898\u96C6"){E.ZP.warning("\u8BF7\u9009\u62E9\u5BF9\u5E94\u8D44\u6E90");return}if((mt==null?void 0:mt.resourceOrigin)===1&&(Ya==null?void 0:Ya.length)<=0&&((sn=mt==null?void 0:mt.label[0])==null?void 0:sn.name)==="\u9898\u96C6"){E.ZP.warning("\u8BF7\u9009\u62E9\u5BF9\u5E94\u8D44\u6E90");return}if((mt==null?void 0:mt.resourceOrigin)===2&&(Ea==null?void 0:Ea.length)===0){E.ZP.warning("\u8BF7\u4E0A\u4F20\u6587\u4EF6");return}Di(!0);let En=Fr===3?"/api/knowledge/v2/mod_node.json":"/api/knowledge/v2/add_node.json",On=Fr===3?{subject_id:er==null?void 0:er.pathId,properties:{description:mt.description,rootNodeUuid:Xe==null?void 0:Xe.rootNodeUuid,name:mt.name,uuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id),nodeType:(Ma=mt==null?void 0:mt.label[0])==null?void 0:Ma.name,tags:((qn=(la=mt.tag)==null?void 0:la.map(br=>br==null?void 0:br.name))==null?void 0:qn.join("\uFF0C"))||"",color:Xe==null?void 0:Xe.color,resourceOrigin:mt.resourceOrigin,resourceUrl:mt.resourceOrigin===3?mt.url:mt.resourceOrigin===2?((za=(Pa=(ba=Ea==null?void 0:Ea[0])==null?void 0:ba.response)==null?void 0:Pa.url)==null?void 0:za.indexOf("educoder.net"))>-1?(Si=(hi=Ea==null?void 0:Ea[0])==null?void 0:hi.response)==null?void 0:Si.url:((Ri=ut==null?void 0:ut.setting)==null?void 0:Ri.public_bucket_host)+((Fi=(Ui=Ea==null?void 0:Ea[0])==null?void 0:Ui.response)==null?void 0:Fi.url):(Wi=_a==null?void 0:_a[0])==null?void 0:Wi.url,container_type:((Qr=mt==null?void 0:mt.label[0])==null?void 0:Qr.name)==="\u9898\u96C6"?"ItemBanksGroup":(mt.resourceOrigin===1||mt.resourceOrigin===2)&&((ma=_a==null?void 0:_a[0])==null?void 0:ma.container_type)||((Na=(La=Ea==null?void 0:Ea[0])==null?void 0:La.response)==null?void 0:Na.container_type),container_id:(mt.resourceOrigin===1||mt.resourceOrigin===2)&&((Wa=_a==null?void 0:_a[0])==null?void 0:Wa.container_id)||((Yi=(Xi=Ea==null?void 0:Ea[0])==null?void 0:Xi.response)==null?void 0:Yi.container_id),itemBanksGroupIds:Ya==null?void 0:Ya.map(br=>br==null?void 0:br.group_id).toString()},subgraphNodeUuid:zt,relationships:[...(Ki=Jr.bh)==null?void 0:Ki.map(br=>({startNodeUuid:br.uuid,endNodeUuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id),type:"\u5305\u542B"})),...ja==null?void 0:ja.map(br=>({endNodeUuid:br.uuid,startNodeUuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id),type:"\u5305\u542B"})),...(Eo=Jr.qx)==null?void 0:Eo.map(br=>({endNodeUuid:br.uuid,startNodeUuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id),type:"\u524D\u5E8F"})),...(lo=Jr.hx)==null?void 0:lo.map(br=>({endNodeUuid:br.uuid,startNodeUuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id),type:"\u540E\u5E8F"})),...(j=Jr.gl)==null?void 0:j.map(br=>({startNodeUuid:br.uuid,endNodeUuid:(Xe==null?void 0:Xe.keys)||(Xe==null?void 0:Xe.id),type:"\u5173\u8054"}))]}:{label:((oe=mt==null?void 0:mt.label[0])==null?void 0:oe.item_type)===1?"\u6807\u7B7E":"\u8D44\u6E90",subject_id:er==null?void 0:er.pathId,properties:{description:mt.description,rootNodeUuid:Xe==null?void 0:Xe.rootNodeUuid,name:mt.name,nodeType:(le=mt==null?void 0:mt.label[0])==null?void 0:le.name,tags:((Oe=(ue=mt.tag)==null?void 0:ue.map(br=>br==null?void 0:br.name))==null?void 0:Oe.join("\uFF0C"))||"",color:Fr===1?"2":parseInt(Xe==null?void 0:Xe.colorType)+1+"",resourceOrigin:mt.resourceOrigin,resourceUrl:mt.resourceOrigin===3?mt.url:mt.resourceOrigin===2?((Je=(Ve=(Ne=Ea==null?void 0:Ea[0])==null?void 0:Ne.response)==null?void 0:Ve.url)==null?void 0:Je.indexOf("educoder.net"))>-1?(rt=(gt=Ea==null?void 0:Ea[0])==null?void 0:gt.response)==null?void 0:rt.url:((bt=ut==null?void 0:ut.setting)==null?void 0:bt.public_bucket_host)+((Ct=(ct=Ea==null?void 0:Ea[0])==null?void 0:ct.response)==null?void 0:Ct.url):(Et=_a==null?void 0:_a[0])==null?void 0:Et.url,container_type:((Rt=mt==null?void 0:mt.label[0])==null?void 0:Rt.name)==="\u9898\u96C6"?"ItemBanksGroup":(mt.resourceOrigin===1||mt.resourceOrigin===2)&&(($t=_a==null?void 0:_a[0])==null?void 0:$t.container_type)||((dr=(ur=Ea==null?void 0:Ea[0])==null?void 0:ur.response)==null?void 0:dr.container_type),container_id:(mt.resourceOrigin===1||mt.resourceOrigin===2)&&((lr=_a==null?void 0:_a[0])==null?void 0:lr.container_id)||((Or=(hr=Ea==null?void 0:Ea[0])==null?void 0:hr.response)==null?void 0:Or.container_id),itemBanksGroupIds:Ya==null?void 0:Ya.map(br=>br==null?void 0:br.group_id).toString()},subgraphNodeUuid:zt,relationships:[...(rn=Jr.bh)==null?void 0:rn.map(br=>({startNodeUuid:br.uuid,type:"\u5305\u542B"})),...(Mn=Jr.qx)==null?void 0:Mn.map(br=>({startNodeUuid:br.uuid,type:"\u524D\u5E8F"})),...(Xr=Jr.hx)==null?void 0:Xr.map(br=>({endNodeUuid:br.uuid,type:"\u540E\u5E8F"})),...(yn=Jr.gl)==null?void 0:yn.map(br=>({startNodeUuid:br.uuid,type:"\u5173\u8054"}))]};const Xn=yield(0,e.ZP)(En,{method:"POST",body:On});Di(!1),(Xn==null?void 0:Xn.status)===0&&(so({graphable_id:er==null?void 0:er.pathId}),E.ZP.info(Fr===3?"\u7F16\u8F91\u6210\u529F":"\u521B\u5EFA\u6210\u529F"),jn(0),Te(!1),ye(),Fn.resetFields(),gi([]),Ua({}),ta([]),li([]),di({qx:[],hx:[],bh:[],gl:[]}))}),500),size:"large"},Ye.createElement(W.default.Item,{label:"\u8282\u70B9\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:200,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Ye.createElement(A.default,{maxLength:200,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Ye.createElement(W.default.Item,{label:"\u8282\u70B9\u7B80\u4ECB",name:"description",rules:[{type:"string",max:5e3,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Ye.createElement(A.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Ye.createElement(W.default.Item,{label:"\u8282\u70B9\u7C7B\u578B",name:"label",style:{marginBottom:"0rem"},rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},Ye.createElement(K,{containerRef:ar,type:5,pathsDetail:ot,showmodal:Fr!==3,dataSources:[]})),((zn=(yr=wn==null?void 0:wn.label)==null?void 0:yr[0])==null?void 0:zn.item_type)===2&&Ye.createElement(W.default.Item,{label:" ",name:"resourceOrigin",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B"}]},Ye.createElement(c.ZP.Group,{className:r.radioform},Ye.createElement(c.ZP,{value:1},"\u9009\u62E9\u5E73\u53F0\u8D44\u6E90"),((mn=(Sn=wn==null?void 0:wn.label)==null?void 0:Sn[0])==null?void 0:mn.name)!=="\u9898\u96C6"&&Ye.createElement(c.ZP,{value:2},"\u4E0A\u4F20\u6587\u4EF6"),((Bn=(Hn=wn==null?void 0:wn.label)==null?void 0:Hn[0])==null?void 0:Bn.name)!=="\u9898\u96C6"&&Ye.createElement(c.ZP,{value:3},"\u5916\u94FE"))),(wn==null?void 0:wn.resourceOrigin)===1&&((nn=(vr=wn==null?void 0:wn.label)==null?void 0:vr[0])==null?void 0:nn.item_type)===2&&Ye.createElement(W.default.Item,{label:" ",name:""},Ye.createElement(v.ZP,{onClick:()=>{var mt,Nr,dn,sn,Ma,la;((Nr=(mt=wn==null?void 0:wn.label)==null?void 0:mt[0])==null?void 0:Nr.name)==="\u9898\u96C6"?(no(!0),wi(Ya),yo()):(Zn(!0),Ga(((sn=(dn=wn==null?void 0:wn.label)==null?void 0:dn[0])==null?void 0:sn.name)==="\u89C6\u9891"?"2":((la=(Ma=wn==null?void 0:wn.label)==null?void 0:Ma[0])==null?void 0:la.name)==="\u8BD5\u5377"?"4":"1"))},type:"primary",style:{height:"40rem",lineHeight:"40rem",padding:"0rem 32rem",boxShadow:"none"}},((mr=(Un=wn==null?void 0:wn.label)==null?void 0:Un[0])==null?void 0:mr.name)==="\u9898\u96C6"?"\u9009\u62E9\u9898\u96C6":"\u9009\u62E9\u8D44\u6E90"),(_a==null?void 0:_a.length)>0&&Ye.createElement("div",{style:{color:"#1B8565",marginTop:"5rem",fontSize:"16rem",display:"flex",alignItems:"center"}},Ye.createElement("div",{className:r.multiple,title:(Gn=_a==null?void 0:_a[0])==null?void 0:Gn.name},(bn=_a==null?void 0:_a[0])==null?void 0:bn.name),Ye.createElement("i",{style:{fontSize:"16rem",cursor:"pointer",marginLeft:"10rem"},onClick:()=>{ta([])},className:"iconfont icon-shanchu12"})," "),(Ya==null?void 0:Ya.length)>0&&(Ya==null?void 0:Ya.map(mt=>Ye.createElement("div",{style:{color:"#1B8565",marginTop:"5rem",fontSize:"16rem",display:"flex",alignItems:"center"}},Ye.createElement("div",{className:r.multiple,title:mt==null?void 0:mt.name},mt==null?void 0:mt.name),Ye.createElement("i",{style:{fontSize:"16rem",cursor:"pointer",marginLeft:"10rem"},onClick:()=>{li(Ya==null?void 0:Ya.filter(Nr=>(Nr==null?void 0:Nr.group_id)!==(mt==null?void 0:mt.group_id)))},className:"iconfont icon-shanchu12"})," ")))),(wn==null?void 0:wn.resourceOrigin)===2&&((ft=(Jn=wn==null?void 0:wn.label)==null?void 0:Jn[0])==null?void 0:ft.item_type)===2&&Ye.createElement(W.default.Item,{label:" ",name:"file",shouldUpdate:!0},Ye.createElement(R.default,ca({},Zi),Ye.createElement(v.ZP,{type:"primary",style:{height:"40rem",lineHeight:"40rem",padding:"0rem 32rem",boxShadow:"none"}},"\u4E0A\u4F20\u6587\u4EF6"))),(wn==null?void 0:wn.resourceOrigin)===3&&((ni=(Pn=wn==null?void 0:wn.label)==null?void 0:Pn[0])==null?void 0:ni.item_type)===2&&Ye.createElement(W.default.Item,{label:" ",name:"url"},Ye.createElement(W.default.Item,{label:"\u5916\u94FE\u94FE\u63A5",name:"url",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5916\u94FE"}]},Ye.createElement(A.default,{style:{height:"40rem"}}))),Ye.createElement(W.default.Item,{label:"\u8282\u70B9\u6807\u7B7E",name:"tag"},Ye.createElement(K,{containerRef:ar,type:3,pathsDetail:ot,showmodal:!0,dataSources:[]})))),Ye.createElement("div",{className:r.addmodal,style:{marginTop:"20rem"}},Ye.createElement("div",{className:r.title},Ye.createElement("span",null,"\u8282\u70B9\u5173\u7CFB"),Ye.createElement("span",{style:{cursor:"pointer"},onClick:()=>{go()}},"\u5173\u7CFB\u8BBE\u7F6E")),Ye.createElement("div",{className:r.gxcoent,style:{padding:"20rem 25rem"}},Ye.createElement("div",{className:r.gxtitle},Ye.createElement("div",{className:r.Colortitle,style:{background:"#6236ff"}}),Ye.createElement("div",null,"\u88AB\u5305\u542B\uFF08",(ai=Jr.bh)==null?void 0:ai.length,"\uFF09")),Ye.createElement("div",{className:r.gxbody},(qa=Jr==null?void 0:Jr.bh)==null?void 0:qa.map(mt=>Ye.createElement("div",{className:r.tag,style:{background:"#6236ff"}},Ye.createElement("span",{style:{marginRight:"10rem"}},mt==null?void 0:mt.name)," ",Ye.createElement(n.Z,{onClick:()=>{var Nr;let dn=(Nr=Jr==null?void 0:Jr.bh)==null?void 0:Nr.filter(sn=>sn.uuid!==mt.uuid);di({bh:dn,hx:Jr==null?void 0:Jr.hx,qx:Jr==null?void 0:Jr.qx,gl:Jr==null?void 0:Jr.gl})}})))),Ye.createElement("div",{className:r.gxtitle,style:{marginTop:"30rem"}},Ye.createElement("div",{className:r.Colortitle,style:{background:"#24A881"}}),Ye.createElement("div",null,"\u524D\u5E8F\uFF08",(Qt=Jr.qx)==null?void 0:Qt.length,"\uFF09")),Ye.createElement("div",{className:r.gxbody},(Rn=Jr==null?void 0:Jr.qx)==null?void 0:Rn.map(mt=>Ye.createElement("div",{className:r.tag,style:{background:"#24A881"}},Ye.createElement("span",{style:{marginRight:"10rem"}},mt==null?void 0:mt.name)," ",Ye.createElement(n.Z,{onClick:()=>{var Nr;let dn=(Nr=Jr==null?void 0:Jr.qx)==null?void 0:Nr.filter(sn=>sn.uuid!==mt.uuid);di({qx:dn,bh:Jr==null?void 0:Jr.bh,hx:Jr==null?void 0:Jr.hx,gl:Jr==null?void 0:Jr.gl})}})))),Ye.createElement("div",{className:r.gxtitle,style:{marginTop:"30rem"}},Ye.createElement("div",{className:r.Colortitle,style:{background:"#EC8657"}}),Ye.createElement("div",null,"\u540E\u5E8F\uFF08",(Tn=Jr.hx)==null?void 0:Tn.length,"\uFF09")),Ye.createElement("div",{className:r.gxbody},(tn=Jr==null?void 0:Jr.hx)==null?void 0:tn.map(mt=>Ye.createElement("div",{className:r.tag,style:{background:"#EC8657"}},Ye.createElement("span",{style:{marginRight:"10rem"}},mt==null?void 0:mt.name)," ",Ye.createElement(n.Z,{onClick:()=>{var Nr;let dn=(Nr=Jr==null?void 0:Jr.hx)==null?void 0:Nr.filter(sn=>sn.uuid!==mt.uuid);di({qx:Jr==null?void 0:Jr.qx,bh:Jr==null?void 0:Jr.bh,hx:dn,gl:Jr==null?void 0:Jr.gl})}})))),Ye.createElement("div",{className:r.gxtitle,style:{marginTop:"30rem"}},Ye.createElement("div",{className:r.Colortitle,style:{background:"#497DFF"}}),Ye.createElement("div",null,"\u5173\u8054\uFF08",(Ta=Jr.gl)==null?void 0:Ta.length,"\uFF09")),Ye.createElement("div",{className:r.gxbody},(fa=Jr==null?void 0:Jr.gl)==null?void 0:fa.map(mt=>Ye.createElement("div",{className:r.tag,style:{background:"#497DFF"}},Ye.createElement("span",{style:{marginRight:"10rem"}},mt==null?void 0:mt.name)," ",Ye.createElement(n.Z,{onClick:()=>{var Nr;let dn=(Nr=Jr==null?void 0:Jr.gl)==null?void 0:Nr.filter(sn=>sn.uuid!==mt.uuid);di({qx:Jr==null?void 0:Jr.qx,hx:Jr==null?void 0:Jr.hx,bh:Jr==null?void 0:Jr.bh,gl:dn})}}))))))),Ye.createElement(m.default,{title:"\u9009\u62E9\u9898\u96C6",open:vo,destroyOnClose:!0,centered:!0,getContainer:()=>ar.current,width:"1200rem",onOk:()=>{if((Ti==null?void 0:Ti.length)<=0){E.ZP.info("\u8BF7\u9009\u62E9\u9898\u96C6");return}li(Ti),no(!1)},onCancel:()=>{wi([]),no(!1)}},Ye.createElement(p.default,{checkable:!0,style:{margin:20,maxHeight:400,overflow:"auto"},blockNode:!0,checkStrictly:!0,checkedKeys:Ti==null?void 0:Ti.map(mt=>mt==null?void 0:mt.group_id),onCheck:(mt,Nr)=>{wi(Nr==null?void 0:Nr.checkedNodes)},treeData:mo,fieldNames:{key:"group_id",title:"name"},titleRender:mt=>Ye.createElement("div",{style:{display:"flex",alignItems:"center",paddingRight:"14px"}},Ye.createElement(y.Z,{title:mt==null?void 0:mt.name},Ye.createElement("div",{className:r.multiple,style:{display:"flex",alignItems:"center",maxWidth:"80%"}},Ye.createElement("img",{src:xr,style:{marginRight:10}}),Ye.createElement("span",null,mt==null?void 0:mt.name))),Ye.createElement("div",{style:{padding:"0rem 10rem",fontSize:"12rem",background:"#F6F7F9",color:"#909D99",borderRadius:"20rem"}},"\u8BD5\u9898\u6570 ",mt==null?void 0:mt.count))})),Ye.createElement(m.default,{title:"\u9009\u62E9\u5E73\u53F0\u8D44\u6E90",open:da,destroyOnClose:!0,centered:!0,getContainer:()=>ar.current,width:"1200rem",onOk:()=>{Zn(!1)},onCancel:()=>{Zn(!1),Fr!==3&&ta([]),Ga("1")}},Ye.createElement("div",{className:r.settingmodal},Ye.createElement(u.default,{className:r.Tabs,activeKey:sa,destroyInactiveTabPane:!0,onChange:mt=>{Ga(mt)},type:"card",items:((Sa=(Oa=wn==null?void 0:wn.label)==null?void 0:Oa[0])==null?void 0:Sa.name)==="\u89C6\u9891"?xa.filter(mt=>(mt==null?void 0:mt.label)==="\u89C6\u9891"):((Hr=(Aa=wn==null?void 0:wn.label)==null?void 0:Aa[0])==null?void 0:Hr.name)==="\u8BD5\u5377"?xa.filter(mt=>(mt==null?void 0:mt.label)==="\u8BD5\u5377"):xa.filter(mt=>(mt==null?void 0:mt.label)!=="\u89C6\u9891")}))),Ye.createElement(Jt.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:Va==null?void 0:Va.url,type:Va==null?void 0:Va.file_type,disabledDownload:!0,onClose:()=>to({})}),Ye.createElement(m.default,{title:"\u5173\u7CFB\u8BBE\u7F6E",open:Wr,destroyOnClose:!0,centered:!0,getContainer:()=>ar.current,width:"1200rem",onCancel:()=>{en(!1);let mt=JSON.parse(sessionStorage.getItem("typesdatajson"));di(mt)},onOk:()=>{let mt=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));di(mt),en(!1)}},Ye.createElement("div",{className:r.settingmodal},Ye.createElement(u.default,{className:r.Tabs,activeKey:vi,destroyInactiveTabPane:!0,onChange:mt=>{xi(mt)},type:"card",items:ka})))))};var oa=(0,J.connect)(({pathsDetail:ot,user:Mt,loading:ut,globalSetting:qt})=>({pathsDetail:ot,user:Mt,globalSetting:qt,loading:ut.models.index}))(va)},51959:function(Ar,At,Z){"use strict";Z.d(At,{BU:function(){return J},Dj:function(){return G},gH:function(){return W},vp:function(){return E}});function G(R){try{R.mozRequestFullScreen?R.mozRequestFullScreen():R.webkitRequestFullScreen&&R.webkitRequestFullScreen()}catch(h){console.log(h,":e")}}function J(){window.top.document.webkitExitFullscreen?window.top.document.webkitExitFullscreen():document.exitFullscreen?window.top.document.exitFullscreen():document.msExitFullscreen?window.top.document.msExitFullscreen():document.mozCancelFullScreen&&window.top.document.mozCancelFullScreen()}const W=()=>{if(document.webkitExitFullscreen)return"webkitfullscreenchange";if(document.exitFullscreen)return"fullscreenchange";if(document.msExitFullscreen)return"msfullscreenchange";if(document.mozCancelFullScreen)return"mozfullscreenchange"};function E(){var R=window.top.document.fullscreenElement||window.top.document.mozFullscreenElement||window.top.document.webkitFullscreenElement,h=document.fullscreenEnabled||document.mozFullscreenEnabled||document.webkitFullscreenEnabled;return console.log("fullscreenElement",R),window.isFullScreen?window.isFullScreen:R!=null}},9343:function(Ar,At,Z){"use strict";Z.d(At,{U:function(){return A}});var G=Z(67294),J=Object.defineProperty,W=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable,h=(y,u,c)=>u in y?J(y,u,{enumerable:!0,configurable:!0,writable:!0,value:c}):y[u]=c,v=(y,u)=>{for(var c in u||(u={}))E.call(u,c)&&h(y,c,u[c]);if(W)for(var c of W(u))R.call(u,c)&&h(y,c,u[c]);return y},m=(y,u,c)=>new Promise((p,r)=>{var n=s=>{try{i(c.next(s))}catch(l){r(l)}},o=s=>{try{i(c.throw(s))}catch(l){r(l)}},i=s=>s.done?p(s.value):Promise.resolve(s.value).then(n,o);i((c=c.apply(y,u)).next())});function A(y,u){const[c,p]=(0,G.useState)(u),[r,n]=(0,G.useState)(!1),[o,i]=(0,G.useState)();return[c,r,(l,d=!1)=>m(this,null,function*(){const e=d?u:v(v({},c),l);n(!0),p(e);const t=yield y(e);return n(!1),i(t),t}),o,i]}},24577:function(Ar,At,Z){"use strict";Z.d(At,{Z:function(){return Xt}});class G{static install(){Object.setPrototypeOf=Object.setPrototypeOf||function(T,P){return T.__proto__=P,T},Object.assign=Object.assign||function(T){if(T==null)throw new TypeError("Cannot convert undefined or null to object");let P=Object(T);for(let V=1;V ${P}`;R.ENABLE_CALLBACK&&R.emitter.emit("log","error",V),R.ENABLE_ERROR&&(console.error?console.error(V):console.warn?console.warn(V):console.log(V))}static i(T,P){(!T||R.FORCE_GLOBAL_TAG)&&(T=R.GLOBAL_TAG);let V=`[${T}] > ${P}`;R.ENABLE_CALLBACK&&R.emitter.emit("log","info",V),R.ENABLE_INFO&&(console.info?console.info(V):console.log(V))}static w(T,P){(!T||R.FORCE_GLOBAL_TAG)&&(T=R.GLOBAL_TAG);let V=`[${T}] > ${P}`;R.ENABLE_CALLBACK&&R.emitter.emit("log","warn",V),R.ENABLE_WARN&&(console.warn?console.warn(V):console.log(V))}static d(T,P){(!T||R.FORCE_GLOBAL_TAG)&&(T=R.GLOBAL_TAG);let V=`[${T}] > ${P}`;R.ENABLE_CALLBACK&&R.emitter.emit("log","debug",V),R.ENABLE_DEBUG&&(console.debug?console.debug(V):console.log(V))}static v(T,P){(!T||R.FORCE_GLOBAL_TAG)&&(T=R.GLOBAL_TAG);let V=`[${T}] > ${P}`;R.ENABLE_CALLBACK&&R.emitter.emit("log","verbose",V),R.ENABLE_VERBOSE&&console.log(V)}}R.GLOBAL_TAG="flv.js",R.FORCE_GLOBAL_TAG=!1,R.ENABLE_ERROR=!0,R.ENABLE_INFO=!0,R.ENABLE_WARN=!0,R.ENABLE_DEBUG=!0,R.ENABLE_VERBOSE=!0,R.ENABLE_CALLBACK=!1,R.emitter=new(E());var h=R;class v{constructor(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}reset(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}addBytes(T){this._firstCheckpoint===0?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=T,this._totalBytes+=T):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=T,this._totalBytes+=T):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=T,this._totalBytes+=T,this._lastCheckpoint=this._now())}get currentKBps(){this.addBytes(0);let T=(this._now()-this._lastCheckpoint)/1e3;return T==0&&(T=1),this._intervalBytes/T/1024}get lastSecondKBps(){return this.addBytes(0),this._lastSecondBytes!==0?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}get averageKBps(){let T=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/T/1024}}var m=v;class A{constructor(T){this._message=T}get name(){return"RuntimeException"}get message(){return this._message}toString(){return this.name+": "+this.message}}class y extends A{constructor(T){super(T)}get name(){return"IllegalStateException"}}class u extends A{constructor(T){super(T)}get name(){return"InvalidArgumentException"}}class c extends A{constructor(T){super(T)}get name(){return"NotImplementedException"}}const p={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},r={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"};class n{constructor(T){this._type=T||"undefined",this._status=p.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}destroy(){this._status=p.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}isWorking(){return this._status===p.kConnecting||this._status===p.kBuffering}get type(){return this._type}get status(){return this._status}get needStashBuffer(){return this._needStash}get onContentLengthKnown(){return this._onContentLengthKnown}set onContentLengthKnown(T){this._onContentLengthKnown=T}get onURLRedirect(){return this._onURLRedirect}set onURLRedirect(T){this._onURLRedirect=T}get onDataArrival(){return this._onDataArrival}set onDataArrival(T){this._onDataArrival=T}get onError(){return this._onError}set onError(T){this._onError=T}get onComplete(){return this._onComplete}set onComplete(T){this._onComplete=T}open(T,P){throw new c("Unimplemented abstract function!")}abort(){throw new c("Unimplemented abstract function!")}}let o={};function i(){let ke=self.navigator.userAgent.toLowerCase(),T=/(edge)\/([\w.]+)/.exec(ke)||/(opr)[\/]([\w.]+)/.exec(ke)||/(chrome)[ \/]([\w.]+)/.exec(ke)||/(iemobile)[\/]([\w.]+)/.exec(ke)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(ke)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(ke)||/(webkit)[ \/]([\w.]+)/.exec(ke)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ke)||/(msie) ([\w.]+)/.exec(ke)||ke.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(ke)||ke.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(ke)||[],P=/(ipad)/.exec(ke)||/(ipod)/.exec(ke)||/(windows phone)/.exec(ke)||/(iphone)/.exec(ke)||/(kindle)/.exec(ke)||/(android)/.exec(ke)||/(windows)/.exec(ke)||/(mac)/.exec(ke)||/(linux)/.exec(ke)||/(cros)/.exec(ke)||[],V={browser:T[5]||T[3]||T[1]||"",version:T[2]||T[4]||"0",majorVersion:T[4]||T[2]||"0",platform:P[0]||""},$={};if(V.browser){$[V.browser]=!0;let re=V.majorVersion.split(".");$.version={major:parseInt(V.majorVersion,10),string:V.version},re.length>1&&($.version.minor=parseInt(re[1],10)),re.length>2&&($.version.build=parseInt(re[2],10))}if(V.platform&&($[V.platform]=!0),($.chrome||$.opr||$.safari)&&($.webkit=!0),$.rv||$.iemobile){$.rv&&delete $.rv;let re="msie";V.browser=re,$[re]=!0}if($.edge){delete $.edge;let re="msedge";V.browser=re,$[re]=!0}if($.opr){let re="opera";V.browser=re,$[re]=!0}if($.safari&&$.android){let re="android";V.browser=re,$[re]=!0}$.name=V.browser,$.platform=V.platform;for(let re in o)o.hasOwnProperty(re)&&delete o[re];Object.assign(o,$)}i();var s=o;class l extends n{static isSupported(){try{let T=s.msedge&&s.version.minor>=15048,P=s.msedge?T:!0;return self.fetch&&self.ReadableStream&&P}catch(T){return!1}}constructor(T,P){super("fetch-stream-loader"),this.TAG="FetchStreamLoader",this._seekHandler=T,this._config=P,this._needStash=!0,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),super.destroy()}open(T,P){this._dataSource=T,this._range=P;let V=T.url;this._config.reuseRedirectedURL&&T.redirectedURL!=null&&(V=T.redirectedURL);let $=this._seekHandler.getConfig(V,P),re=new self.Headers;if(typeof $.headers=="object"){let Me=$.headers;for(let at in Me)Me.hasOwnProperty(at)&&re.append(at,Me[at])}let xe={method:"GET",headers:re,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if(typeof this._config.headers=="object")for(let Me in this._config.headers)re.append(Me,this._config.headers[Me]);T.cors===!1&&(xe.mode="same-origin"),T.withCredentials&&(xe.credentials="include"),T.referrerPolicy&&(xe.referrerPolicy=T.referrerPolicy),this._status=p.kConnecting,self.fetch($.url,xe).then(Me=>{if(this._requestAbort){this._requestAbort=!1,this._status=p.kIdle;return}if(Me.ok&&Me.status>=200&&Me.status<=299){if(Me.url!==$.url&&this._onURLRedirect){let dt=this._seekHandler.removeURLParameters(Me.url);this._onURLRedirect(dt)}let at=Me.headers.get("Content-Length");return at!=null&&(this._contentLength=parseInt(at),this._contentLength!==0&&this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)),this._pump.call(this,Me.body.getReader())}else if(this._status=p.kError,this._onError)this._onError(r.HTTP_STATUS_CODE_INVALID,{code:Me.status,msg:Me.statusText});else throw new A("FetchStreamLoader: Http code invalid, "+Me.status+" "+Me.statusText)}).catch(Me=>{if(this._status=p.kError,this._onError)this._onError(r.EXCEPTION,{code:-1,msg:Me.message});else throw Me})}abort(){this._requestAbort=!0}_pump(T){return T.read().then(P=>{if(P.done)if(this._contentLength!==null&&this._receivedLength{if(P.code===11&&s.msedge)return;this._status=p.kError;let V=0,$=null;if((P.code===19||P.message==="network error")&&(this._contentLength===null||this._contentLength!==null&&this._receivedLength299))if(this._status=p.kError,this._onError)this._onError(r.HTTP_STATUS_CODE_INVALID,{code:P.status,msg:P.statusText});else throw new A("MozChunkedLoader: Http code invalid, "+P.status+" "+P.statusText);else this._status=p.kBuffering}}_onProgress(T){if(this._status===p.kError)return;this._contentLength===null&&T.total!==null&&T.total!==0&&(this._contentLength=T.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));let P=T.target.response,V=this._range.from+this._receivedLength;this._receivedLength+=P.byteLength,this._onDataArrival&&this._onDataArrival(P,V,this._receivedLength)}_onLoadEnd(T){if(this._requestAbort===!0){this._requestAbort=!1;return}else if(this._status===p.kError)return;this._status=p.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)}_onXhrError(T){this._status=p.kError;let P=0,V=null;if(this._contentLength&&T.loaded=200&&P.status<=299){if(this._status=LoaderStatus.kBuffering,P.responseURL!=null){let $=this._seekHandler.removeURLParameters(P.responseURL);P.responseURL!==this._currentRequestURL&&$!==this._currentRedirectedURL&&(this._currentRedirectedURL=$,this._onURLRedirect&&this._onURLRedirect($))}let V=P.getResponseHeader("Content-Length");if(V!=null&&this._contentLength==null){let $=parseInt(V);$>0&&(this._contentLength=$,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else if(this._status=LoaderStatus.kError,this._onError)this._onError(LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:P.status,msg:P.statusText});else throw new RuntimeException("MSStreamLoader: Http code invalid, "+P.status+" "+P.statusText);else if(P.readyState===3&&P.status>=200&&P.status<=299){this._status=LoaderStatus.kBuffering;let V=P.response;this._reader.readAsArrayBuffer(V)}}_xhrOnError(T){this._status=LoaderStatus.kError;let P=LoaderErrors.EXCEPTION,V={code:-1,msg:T.constructor.name+" "+T.type};if(this._onError)this._onError(P,V);else throw new RuntimeException(V.msg)}_msrOnProgress(T){let V=T.target.result;if(V==null){this._doReconnectIfNeeded();return}let $=V.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=V.byteLength;let re=this._totalRange.from+this._receivedLength;this._receivedLength+=$.byteLength,this._onDataArrival&&this._onDataArrival($,re,this._receivedLength),V.byteLength>=this._bufferLimit&&(Log.v(this.TAG,`MSStream buffer exceeded max size near ${re+$.byteLength}, reconnecting...`),this._doReconnectIfNeeded())}_doReconnectIfNeeded(){if(this._contentLength==null||this._receivedLength=this._contentLength&&(V=this._range.from+this._contentLength-1),this._currentRequestRange={from:P,to:V},this._internalOpen(this._dataSource,this._currentRequestRange)}_internalOpen(T,P){this._lastTimeLoaded=0;let V=T.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?V=this._currentRedirectedURL:T.redirectedURL!=null&&(V=T.redirectedURL));let $=this._seekHandler.getConfig(V,P);this._currentRequestURL=$.url;let re=this._xhr=new XMLHttpRequest;if(re.open("GET",$.url,!0),re.responseType="arraybuffer",re.onreadystatechange=this._onReadyStateChange.bind(this),re.onprogress=this._onProgress.bind(this),re.onload=this._onLoad.bind(this),re.onerror=this._onXhrError.bind(this),T.withCredentials&&(re.withCredentials=!0),typeof $.headers=="object"){let xe=$.headers;for(let Me in xe)xe.hasOwnProperty(Me)&&re.setRequestHeader(Me,xe[Me])}if(typeof this._config.headers=="object"){let xe=this._config.headers;for(let Me in xe)xe.hasOwnProperty(Me)&&re.setRequestHeader(Me,xe[Me])}re.send()}abort(){this._requestAbort=!0,this._internalAbort(),this._status=p.kComplete}_internalAbort(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)}_onReadyStateChange(T){let P=T.target;if(P.readyState===2){if(P.responseURL!=null){let V=this._seekHandler.removeURLParameters(P.responseURL);P.responseURL!==this._currentRequestURL&&V!==this._currentRedirectedURL&&(this._currentRedirectedURL=V,this._onURLRedirect&&this._onURLRedirect(V))}if(P.status>=200&&P.status<=299){if(this._waitForTotalLength)return;this._status=p.kBuffering}else if(this._status=p.kError,this._onError)this._onError(r.HTTP_STATUS_CODE_INVALID,{code:P.status,msg:P.statusText});else throw new A("RangeLoader: Http code invalid, "+P.status+" "+P.statusText)}}_onProgress(T){if(this._status===p.kError)return;if(this._contentLength===null){let V=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,V=!0;let $=T.total;this._internalAbort(),$!=null&$!==0&&(this._totalLength=$)}if(this._range.to===-1?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,V){this._openSubRange();return}this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}let P=T.loaded-this._lastTimeLoaded;this._lastTimeLoaded=T.loaded,this._speedSampler.addBytes(P)}_normalizeSpeed(T){let P=this._chunkSizeKBList,V=P.length-1,$=0,re=0,xe=V;if(T=P[$]&&T=3&&(P=this._speedSampler.currentKBps)),P!==0){let xe=this._normalizeSpeed(P);this._currentSpeedNormalized!==xe&&(this._currentSpeedNormalized=xe,this._currentChunkSizeKB=xe)}let V=T.target.response,$=this._range.from+this._receivedLength;this._receivedLength+=V.byteLength;let re=!1;this._contentLength!=null&&this._receivedLength0&&this._receivedLength{this._dispatchArrayBuffer(P.result)},P.readAsArrayBuffer(T.data)}else{this._status=p.kError;let P={code:-1,msg:"Unsupported WebSocket message type: "+T.data.constructor.name};if(this._onError)this._onError(r.EXCEPTION,P);else throw new A(P.msg)}}_dispatchArrayBuffer(T){let P=T,V=this._receivedLength;this._receivedLength+=P.byteLength,this._onDataArrival&&this._onDataArrival(P,V,this._receivedLength)}_onWebSocketError(T){this._status=p.kError;let P={code:T.code,msg:T.message};if(this._onError)this._onError(r.EXCEPTION,P);else throw new A(P.msg)}}var D=_;class M{constructor(T){this._zeroStart=T||!1}getConfig(T,P){let V={};if(P.from!==0||P.to!==-1){let $;P.to!==-1?$=`bytes=${P.from.toString()}-${P.to.toString()}`:$=`bytes=${P.from.toString()}-`,V.Range=$}else this._zeroStart&&(V.Range="bytes=0-");return{url:T,headers:V}}removeURLParameters(T){return T}}var w=M;class b{constructor(T,P){this._startName=T,this._endName=P}getConfig(T,P){let V=T;if(P.from!==0||P.to!==-1){let $=!0;V.indexOf("?")===-1&&(V+="?",$=!1),$&&(V+="&"),V+=`${this._startName}=${P.from.toString()}`,P.to!==-1&&(V+=`&${this._endName}=${P.to.toString()}`)}return{url:V,headers:{}}}removeURLParameters(T){let P=T.split("?")[0],V,$=T.indexOf("?");$!==-1&&(V=T.substring($+1));let re="";if(V!=null&&V.length>0){let xe=V.split("&");for(let Me=0;Me0;at[0]!==this._startName&&at[0]!==this._endName&&(dt&&(re+="&"),re+=xe[Me])}}return re.length===0?P:P+"?"+re}}var N=b;class K{constructor(T,P,V){this.TAG="IOController",this._config=P,this._extraData=V,this._stashInitialSize=1024*384,P.stashInitialSize!=null&&P.stashInitialSize>0&&(this._stashInitialSize=P.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=1024*1024*3,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,P.enableStashBuffer===!1&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=T,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(T.url),this._refTotalLength=T.filesize?T.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new m,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}destroy(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null}isWorking(){return this._loader&&this._loader.isWorking()&&!this._paused}isPaused(){return this._paused}get status(){return this._loader.status}get extraData(){return this._extraData}set extraData(T){this._extraData=T}get onDataArrival(){return this._onDataArrival}set onDataArrival(T){this._onDataArrival=T}get onSeeked(){return this._onSeeked}set onSeeked(T){this._onSeeked=T}get onError(){return this._onError}set onError(T){this._onError=T}get onComplete(){return this._onComplete}set onComplete(T){this._onComplete=T}get onRedirect(){return this._onRedirect}set onRedirect(T){this._onRedirect=T}get onRecoveredEarlyEof(){return this._onRecoveredEarlyEof}set onRecoveredEarlyEof(T){this._onRecoveredEarlyEof=T}get currentURL(){return this._dataSource.url}get hasRedirect(){return this._redirectedURL!=null||this._dataSource.redirectedURL!=null}get currentRedirectedURL(){return this._redirectedURL||this._dataSource.redirectedURL}get currentSpeed(){return this._loaderClass===x?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}get loaderType(){return this._loader.type}_selectSeekHandler(){let T=this._config;if(T.seekType==="range")this._seekHandler=new w(this._config.rangeLoadZeroStart);else if(T.seekType==="param"){let P=T.seekParamStart||"bstart",V=T.seekParamEnd||"bend";this._seekHandler=new N(P,V)}else if(T.seekType==="custom"){if(typeof T.customSeekHandler!="function")throw new u("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new T.customSeekHandler}else throw new u(`Invalid seekType in config: ${T.seekType}`)}_selectLoader(){if(this._config.customLoader!=null)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=D;else if(d.isSupported())this._loaderClass=d;else if(t.isSupported())this._loaderClass=t;else if(x.isSupported())this._loaderClass=x;else throw new A("Your browser doesn't support xhr with arraybuffer responseType!")}_createLoader(){this._loader=new this._loaderClass(this._seekHandler,this._config),this._loader.needStashBuffer===!1&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}open(T){this._currentRange={from:0,to:-1},T&&(this._currentRange.from=T),this._speedSampler.reset(),T||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))}abort(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)}pause(){this.isWorking()&&(this._loader.abort(),this._stashUsed!==0?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)}resume(){if(this._paused){this._paused=!1;let T=this._resumeFrom;this._resumeFrom=0,this._internalSeek(T,!0)}}seek(T){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(T,!0)}_internalSeek(T,P){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(P),this._loader.destroy(),this._loader=null;let V={from:T,to:-1};this._currentRange={from:V.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,V),this._onSeeked&&this._onSeeked()}updateUrl(T){if(!T||typeof T!="string"||T.length===0)throw new u("Url must be a non-empty string!");this._dataSource.url=T}_expandBuffer(T){let P=this._stashSize;for(;P+1024*1024*10){let $=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(V,0,P).set($,0)}this._stashBuffer=V,this._bufferSize=P}_normalizeSpeed(T){let P=this._speedNormalizeList,V=P.length-1,$=0,re=0,xe=V;if(T=P[$]&&T=512&&T<=1024?P=Math.floor(T*1.5):P=T*2,P>8192&&(P=8192);let V=P*1024+1024*1024*1;this._bufferSize0){let xe=this._stashBuffer.slice(0,this._stashUsed),Me=this._dispatchChunks(xe,this._stashByteStart);if(Me0){let at=new Uint8Array(xe,Me);re.set(at,0),this._stashUsed=at.byteLength,this._stashByteStart+=Me}}else this._stashUsed=0,this._stashByteStart+=Me;this._stashUsed+T.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+T.byteLength),re=new Uint8Array(this._stashBuffer,0,this._bufferSize)),re.set(new Uint8Array(T),this._stashUsed),this._stashUsed+=T.byteLength}else{let xe=this._dispatchChunks(T,P);if(xethis._bufferSize&&(this._expandBuffer(Me),re=new Uint8Array(this._stashBuffer,0,this._bufferSize)),re.set(new Uint8Array(T,xe),0),this._stashUsed+=Me,this._stashByteStart=P+xe}}}else if(this._stashUsed===0){let re=this._dispatchChunks(T,P);if(rethis._bufferSize&&this._expandBuffer(xe),new Uint8Array(this._stashBuffer,0,this._bufferSize).set(new Uint8Array(T,re),0),this._stashUsed+=xe,this._stashByteStart=P+re}}else{this._stashUsed+T.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+T.byteLength);let re=new Uint8Array(this._stashBuffer,0,this._bufferSize);re.set(new Uint8Array(T),this._stashUsed),this._stashUsed+=T.byteLength;let xe=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(xe0){let Me=new Uint8Array(this._stashBuffer,xe);re.set(Me,0)}this._stashUsed-=xe,this._stashByteStart+=xe}}_flushStashBuffer(T){if(this._stashUsed>0){let P=this._stashBuffer.slice(0,this._stashUsed),V=this._dispatchChunks(P,this._stashByteStart),$=P.byteLength-V;if(V0){let re=new Uint8Array(this._stashBuffer,0,this._bufferSize),xe=new Uint8Array(P,V);re.set(xe,0),this._stashUsed=xe.byteLength,this._stashByteStart+=V}return 0}return this._stashUsed=0,this._stashByteStart=0,$}return 0}_onLoaderComplete(T,P){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}_onLoaderError(T,P){switch(h.e(this.TAG,`Loader error, code = ${P.code}, msg = ${P.msg}`),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,T=r.UNRECOVERABLE_EARLY_EOF),T){case r.EARLY_EOF:{if(!this._config.isLive&&this._totalLength){let V=this._currentRange.to+1;V0){let P=ne.getConfig();T.emit("change",P)}}static registerListener(T){ne.emitter.addListener("change",T)}static removeListener(T){ne.emitter.removeListener("change",T)}static addLogListener(T){h.emitter.addListener("log",T),h.emitter.listenerCount("log")>0&&(h.ENABLE_CALLBACK=!0,ne._notifyChange())}static removeLogListener(T){h.emitter.removeListener("log",T),h.emitter.listenerCount("log")===0&&(h.ENABLE_CALLBACK=!1,ne._notifyChange())}}ne.emitter=new(E());var ae=ne;class me{constructor(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}isComplete(){let T=this.hasAudio===!1||this.hasAudio===!0&&this.audioCodec!=null&&this.audioSampleRate!=null&&this.audioChannelCount!=null,P=this.hasVideo===!1||this.hasVideo===!0&&this.videoCodec!=null&&this.width!=null&&this.height!=null&&this.fps!=null&&this.profile!=null&&this.level!=null&&this.refFrames!=null&&this.chromaFormat!=null&&this.sarNum!=null&&this.sarDen!=null;return this.mimeType!=null&&this.duration!=null&&this.metadata!=null&&this.hasKeyframesIndex!=null&&T&&P}isSeekable(){return this.hasKeyframesIndex===!0}getNearestKeyframe(T){if(this.keyframesIndex==null)return null;let P=this.keyframesIndex,V=this._search(P.times,T);return{index:V,milliseconds:P.times[V],fileposition:P.filepositions[V]}}_search(T,P){let V=0,$=T.length-1,re=0,xe=0,Me=$;for(P=T[re]&&P=128){T.push(String.fromCharCode(re&65535)),V+=2;continue}}}else if(P[V]<240){if(ge(P,V,2)){let re=(P[V]&15)<<12|(P[V+1]&63)<<6|P[V+2]&63;if(re>=2048&&(re&63488)!==55296){T.push(String.fromCharCode(re&65535)),V+=3;continue}}}else if(P[V]<248&&ge(P,V,3)){let re=(P[V]&7)<<18|(P[V+1]&63)<<12|(P[V+2]&63)<<6|P[V+3]&63;if(re>65536&&re<1114112){re-=65536,T.push(String.fromCharCode(re>>>10|55296)),T.push(String.fromCharCode(re&1023|56320)),V+=4;continue}}}T.push("\uFFFD"),++V}return T.join("")}var we=pe;let De=function(){let ke=new ArrayBuffer(2);return new DataView(ke).setInt16(0,256,!0),new Int16Array(ke)[0]===256}();class Se{static parseScriptData(T,P,V){let $={};try{let re=Se.parseValue(T,P,V),xe=Se.parseValue(T,P+re.size,V-re.size);$[re.data]=xe.data}catch(re){h.e("AMF",re.toString())}return $}static parseObject(T,P,V){if(V<3)throw new y("Data not enough when parse ScriptDataObject");let $=Se.parseString(T,P,V),re=Se.parseValue(T,P+$.size,V-$.size),xe=re.objectEnd;return{data:{name:$.data,value:re.data},size:$.size+re.size,objectEnd:xe}}static parseVariable(T,P,V){return Se.parseObject(T,P,V)}static parseString(T,P,V){if(V<2)throw new y("Data not enough when parse String");let re=new DataView(T,P,V).getUint16(0,!De),xe;return re>0?xe=we(new Uint8Array(T,P+2,re)):xe="",{data:xe,size:2+re}}static parseLongString(T,P,V){if(V<4)throw new y("Data not enough when parse LongString");let re=new DataView(T,P,V).getUint32(0,!De),xe;return re>0?xe=we(new Uint8Array(T,P+4,re)):xe="",{data:xe,size:4+re}}static parseDate(T,P,V){if(V<10)throw new y("Data size invalid when parse Date");let $=new DataView(T,P,V),re=$.getFloat64(0,!De),xe=$.getInt16(8,!De);return re+=xe*60*1e3,{data:new Date(re),size:10}}static parseValue(T,P,V){if(V<1)throw new y("Data not enough when parse Value");let $=new DataView(T,P,V),re=1,xe=$.getUint8(0),Me,at=!1;try{switch(xe){case 0:Me=$.getFloat64(1,!De),re+=8;break;case 1:{Me=!!$.getUint8(1),re+=1;break}case 2:{let dt=Se.parseString(T,P+1,V-1);Me=dt.data,re+=dt.size;break}case 3:{Me={};let dt=0;for(($.getUint32(V-4,!De)&16777215)===9&&(dt=3);re32)throw new u("ExpGolomb: readBits() bits exceeded max 32bits!");if(T<=this._current_word_bits_left){let xe=this._current_word>>>32-T;return this._current_word<<=T,this._current_word_bits_left-=T,xe}let P=this._current_word_bits_left?this._current_word:0;P=P>>>32-this._current_word_bits_left;let V=T-this._current_word_bits_left;this._fillCurrentWord();let $=Math.min(V,this._current_word_bits_left),re=this._current_word>>>32-$;return this._current_word<<=$,this._current_word_bits_left-=$,P=P<<$|re,P}readBool(){return this.readBits(1)===1}readByte(){return this.readBits(8)}_skipLeadingZero(){let T;for(T=0;T>>T)return this._current_word<<=T,this._current_word_bits_left-=T,T;return this._fillCurrentWord(),T+this._skipLeadingZero()}readUEG(){let T=this._skipLeadingZero();return this.readBits(T+1)-1}readSEG(){let T=this.readUEG();return T&1?T+1>>>1:-1*(T>>>1)}}var Re=Ee;class qe{static _ebsp2rbsp(T){let P=T,V=P.byteLength,$=new Uint8Array(V),re=0;for(let xe=0;xe=2&&P[xe]===3&&P[xe-1]===0&&P[xe-2]===0||($[re]=P[xe],re++);return new Uint8Array($.buffer,0,re)}static parseSPS(T){let P=qe._ebsp2rbsp(T),V=new Re(P);V.readByte();let $=V.readByte();V.readByte();let re=V.readByte();V.readUEG();let xe=qe.getProfileString($),Me=qe.getLevelString(re),at=1,dt=420,Ot=[0,420,422,444],jt=8;if(($===100||$===110||$===122||$===244||$===44||$===83||$===86||$===118||$===128||$===138||$===144)&&(at=V.readUEG(),at===3&&V.readBits(1),at<=3&&(dt=Ot[at]),jt=V.readUEG()+8,V.readUEG(),V.readBits(1),V.readBool())){let va=at!==3?8:12;for(let oa=0;oa0&&va<16?(wr=oa[va-1],nr=ot[va-1]):va===255&&(wr=V.readByte()<<8|V.readByte(),nr=V.readByte()<<8|V.readByte())}if(V.readBool()&&V.readBool(),V.readBool()&&(V.readBits(4),V.readBool()&&V.readBits(24)),V.readBool()&&(V.readUEG(),V.readUEG()),V.readBool()){let va=V.readBits(32),oa=V.readBits(32);jr=V.readBool(),zr=oa,Wn=va*2,Pr=zr/Wn}}let ca=1;(wr!==1||nr!==1)&&(ca=wr/nr);let na=0,Qn=0;if(at===0)na=1,Qn=2-Bt;else{let va=at===3?1:2,oa=at===1?2:1;na=va,Qn=oa*(2-Bt)}let Ra=(Er+1)*16,wa=(2-Bt)*((sr+1)*16);Ra-=(Jt+kt)*na,wa-=(xr+Ir)*Qn;let Ia=Math.ceil(Ra*ca);return V.destroy(),V=null,{profile_string:xe,level_string:Me,bit_depth:jt,ref_frames:Yt,chroma_format:dt,chroma_format_string:qe.getChromaFormatString(dt),frame_rate:{fixed:jr,fps:Pr,fps_den:Wn,fps_num:zr},sar_ratio:{width:wr,height:nr},codec_size:{width:Ra,height:wa},present_size:{width:Ia,height:wa}}}static _skipScalingList(T,P){let V=8,$=8,re=0;for(let xe=0;xe>>8&255|(ke&255)<<8}function _e(ke){return(ke&4278190080)>>>24|(ke&16711680)>>>8|(ke&65280)<<8|(ke&255)<<24}function ie(ke,T){return ke[T]<<24|ke[T+1]<<16|ke[T+2]<<8|ke[T+3]}class Ae{constructor(T,P){this.TAG="FLVDemuxer",this._config=P,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=T.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=T.hasAudioTrack,this._hasVideo=T.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new Ce,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=function(){let V=new ArrayBuffer(2);return new DataView(V).setInt16(0,256,!0),new Int16Array(V)[0]===256}()}destroy(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null}static probe(T){let P=new Uint8Array(T),V={match:!1};if(P[0]!==70||P[1]!==76||P[2]!==86||P[3]!==1)return V;let $=(P[4]&4)>>>2!==0,re=(P[4]&1)!==0,xe=ie(P,5);return xe<9?V:{match:!0,consumed:xe,dataOffset:xe,hasAudioTrack:$,hasVideoTrack:re}}bindDataSource(T){return T.onDataArrival=this.parseChunks.bind(this),this}get onTrackMetadata(){return this._onTrackMetadata}set onTrackMetadata(T){this._onTrackMetadata=T}get onMediaInfo(){return this._onMediaInfo}set onMediaInfo(T){this._onMediaInfo=T}get onMetaDataArrived(){return this._onMetaDataArrived}set onMetaDataArrived(T){this._onMetaDataArrived=T}get onScriptDataArrived(){return this._onScriptDataArrived}set onScriptDataArrived(T){this._onScriptDataArrived=T}get onError(){return this._onError}set onError(T){this._onError=T}get onDataAvailable(){return this._onDataAvailable}set onDataAvailable(T){this._onDataAvailable=T}get timestampBase(){return this._timestampBase}set timestampBase(T){this._timestampBase=T}get overridedDuration(){return this._duration}set overridedDuration(T){this._durationOverrided=!0,this._duration=T,this._mediaInfo.duration=T}set overridedHasAudio(T){this._hasAudioFlagOverrided=!0,this._hasAudio=T,this._mediaInfo.hasAudio=T}set overridedHasVideo(T){this._hasVideoFlagOverrided=!0,this._hasVideo=T,this._mediaInfo.hasVideo=T}resetMediaInfo(){this._mediaInfo=new Ce}_isInitialMetadataDispatched(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!this._hasAudio&&this._hasVideo?this._videoInitialMetadataDispatched:!1}parseChunks(T,P){if(!this._onError||!this._onMediaInfo||!this._onTrackMetadata||!this._onDataAvailable)throw new y("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");let V=0,$=this._littleEndian;if(P===0)if(T.byteLength>13)V=Ae.probe(T).dataOffset;else return 0;for(this._firstParse&&(this._firstParse=!1,P+V!==this._dataOffset&&h.w(this.TAG,"First time parsing but chunk byteStart invalid!"),new DataView(T,V).getUint32(0,!$)!==0&&h.w(this.TAG,"PrevTagSize0 !== 0 !!!"),V+=4);VT.byteLength)break;let xe=re.getUint8(0),Me=re.getUint32(0,!$)&16777215;if(V+11+Me+4>T.byteLength)break;if(xe!==8&&xe!==9&&xe!==18){h.w(this.TAG,`Unsupported tag type ${xe}, skipped`),V+=11+Me+4;continue}let at=re.getUint8(4),dt=re.getUint8(5),Ot=re.getUint8(6),jt=re.getUint8(7),Mr=Ot|dt<<8|at<<16|jt<<24;(re.getUint32(7,!$)&16777215)!==0&&h.w(this.TAG,"Meet tag which has StreamID != 0!");let Er=V+11;switch(xe){case 8:this._parseAudioData(T,Er,Me,Mr);break;case 9:this._parseVideoData(T,Er,Me,Mr,P+V);break;case 18:this._parseScriptData(T,Er,Me);break}let sr=re.getUint32(11+Me,!$);sr!==11+Me&&h.w(this.TAG,`Invalid PrevTagSize ${sr}`),V+=11+Me+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),V}_parseScriptData(T,P,V){let $=ve.parseScriptData(T,P,V);if($.hasOwnProperty("onMetaData")){if($.onMetaData==null||typeof $.onMetaData!="object"){h.w(this.TAG,"Invalid onMetaData structure!");return}this._metadata&&h.w(this.TAG,"Found another onMetaData tag!"),this._metadata=$;let re=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},re)),typeof re.hasAudio=="boolean"&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=re.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),typeof re.hasVideo=="boolean"&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=re.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),typeof re.audiodatarate=="number"&&(this._mediaInfo.audioDataRate=re.audiodatarate),typeof re.videodatarate=="number"&&(this._mediaInfo.videoDataRate=re.videodatarate),typeof re.width=="number"&&(this._mediaInfo.width=re.width),typeof re.height=="number"&&(this._mediaInfo.height=re.height),typeof re.duration=="number"){if(!this._durationOverrided){let xe=Math.floor(re.duration*this._timescale);this._duration=xe,this._mediaInfo.duration=xe}}else this._mediaInfo.duration=0;if(typeof re.framerate=="number"){let xe=Math.floor(re.framerate*1e3);if(xe>0){let Me=xe/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=Me,this._referenceFrameRate.fps_num=xe,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=Me}}if(typeof re.keyframes=="object"){this._mediaInfo.hasKeyframesIndex=!0;let xe=re.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(xe),re.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=re,h.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys($).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},$))}_parseKeyframesIndex(T){let P=[],V=[];for(let $=1;$>>4;if(at!==2&&at!==10){this._onError(ze.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+at);return}let dt=0,Ot=(Me&12)>>>2;if(Ot>=0&&Ot<=4)dt=this._flvSoundRateTable[Ot];else{this._onError(ze.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+Ot);return}let jt=(Me&2)>>>1,Mr=Me&1,Yt=this._audioMetadata,Er=this._audioTrack;if(Yt||(this._hasAudio===!1&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),Yt=this._audioMetadata={},Yt.type="audio",Yt.id=Er.id,Yt.timescale=this._timescale,Yt.duration=this._duration,Yt.audioSampleRate=dt,Yt.channelCount=Mr===0?1:2),at===10){let sr=this._parseAACAudioData(T,P+1,V-1);if(sr==null)return;if(sr.packetType===0){Yt.config&&h.w(this.TAG,"Found another AudioSpecificConfig!");let Bt=sr.data;Yt.audioSampleRate=Bt.samplingRate,Yt.channelCount=Bt.channelCount,Yt.codec=Bt.codec,Yt.originalCodec=Bt.originalCodec,Yt.config=Bt.config,Yt.refSampleDuration=1024/Yt.audioSampleRate*Yt.timescale,h.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",Yt);let Jt=this._mediaInfo;Jt.audioCodec=Yt.originalCodec,Jt.audioSampleRate=Yt.audioSampleRate,Jt.audioChannelCount=Yt.channelCount,Jt.hasVideo?Jt.videoCodec!=null&&(Jt.mimeType='video/x-flv; codecs="'+Jt.videoCodec+","+Jt.audioCodec+'"'):Jt.mimeType='video/x-flv; codecs="'+Jt.audioCodec+'"',Jt.isComplete()&&this._onMediaInfo(Jt)}else if(sr.packetType===1){let Bt=this._timestampBase+$,Jt={unit:sr.data,length:sr.data.byteLength,dts:Bt,pts:Bt};Er.samples.push(Jt),Er.length+=sr.data.length}else h.e(this.TAG,`Flv: Unsupported AAC data type ${sr.packetType}`)}else if(at===2){if(!Yt.codec){let kt=this._parseMP3AudioData(T,P+1,V-1,!0);if(kt==null)return;Yt.audioSampleRate=kt.samplingRate,Yt.channelCount=kt.channelCount,Yt.codec=kt.codec,Yt.originalCodec=kt.originalCodec,Yt.refSampleDuration=1152/Yt.audioSampleRate*Yt.timescale,h.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",Yt);let xr=this._mediaInfo;xr.audioCodec=Yt.codec,xr.audioSampleRate=Yt.audioSampleRate,xr.audioChannelCount=Yt.channelCount,xr.audioDataRate=kt.bitRate,xr.hasVideo?xr.videoCodec!=null&&(xr.mimeType='video/x-flv; codecs="'+xr.videoCodec+","+xr.audioCodec+'"'):xr.mimeType='video/x-flv; codecs="'+xr.audioCodec+'"',xr.isComplete()&&this._onMediaInfo(xr)}let sr=this._parseMP3AudioData(T,P+1,V-1,!1);if(sr==null)return;let Bt=this._timestampBase+$,Jt={unit:sr,length:sr.byteLength,dts:Bt,pts:Bt};Er.samples.push(Jt),Er.length+=sr.length}}_parseAACAudioData(T,P,V){if(V<=1){h.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!");return}let $={},re=new Uint8Array(T,P,V);return $.packetType=re[0],re[0]===0?$.data=this._parseAACAudioSpecificConfig(T,P+1,V-1):$.data=re.subarray(1),$}_parseAACAudioSpecificConfig(T,P,V){let $=new Uint8Array(T,P,V),re=null,xe=0,Me=0,at=null,dt=0,Ot=null;if(xe=Me=$[0]>>>3,dt=($[0]&7)<<1|$[1]>>>7,dt<0||dt>=this._mpegSamplingRates.length){this._onError(ze.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");return}let jt=this._mpegSamplingRates[dt],Mr=($[1]&120)>>>3;if(Mr<0||Mr>=8){this._onError(ze.FORMAT_ERROR,"Flv: AAC invalid channel configuration");return}xe===5&&(Ot=($[1]&7)<<1|$[2]>>>7,at=($[2]&124)>>>2);let Yt=self.navigator.userAgent.toLowerCase();return Yt.indexOf("firefox")!==-1?dt>=6?(xe=5,re=new Array(4),Ot=dt-3):(xe=2,re=new Array(2),Ot=dt):Yt.indexOf("android")!==-1?(xe=2,re=new Array(2),Ot=dt):(xe=5,Ot=dt,re=new Array(4),dt>=6?Ot=dt-3:Mr===1&&(xe=2,re=new Array(2),Ot=dt)),re[0]=xe<<3,re[0]|=(dt&15)>>>1,re[1]=(dt&15)<<7,re[1]|=(Mr&15)<<3,xe===5&&(re[1]|=(Ot&15)>>>1,re[2]=(Ot&1)<<7,re[2]|=8,re[3]=0),{config:re,samplingRate:jt,channelCount:Mr,codec:"mp4a.40."+xe,originalCodec:"mp4a.40."+Me}}_parseMP3AudioData(T,P,V,$){if(V<4){h.w(this.TAG,"Flv: Invalid MP3 packet, header missing!");return}let re=this._littleEndian,xe=new Uint8Array(T,P,V),Me=null;if($){if(xe[0]!==255)return;let at=xe[1]>>>3&3,dt=(xe[1]&6)>>1,Ot=(xe[2]&240)>>>4,jt=(xe[2]&12)>>>2,Yt=(xe[3]>>>6&3)!==3?2:1,Er=0,sr=0,Bt=34,Jt="mp3";switch(at){case 0:Er=this._mpegAudioV25SampleRateTable[jt];break;case 2:Er=this._mpegAudioV20SampleRateTable[jt];break;case 3:Er=this._mpegAudioV10SampleRateTable[jt];break}switch(dt){case 1:Bt=34,Ot>>4,at=xe&15;if(at!==7){this._onError(ze.CODEC_UNSUPPORTED,`Flv: Unsupported codec in video frame: ${at}`);return}this._parseAVCVideoPacket(T,P+1,V-1,$,re,Me)}_parseAVCVideoPacket(T,P,V,$,re,xe){if(V<4){h.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");return}let Me=this._littleEndian,at=new DataView(T,P,V),dt=at.getUint8(0),jt=(at.getUint32(0,!Me)&16777215)<<8>>8;if(dt===0)this._parseAVCDecoderConfigurationRecord(T,P+4,V-4);else if(dt===1)this._parseAVCVideoData(T,P+4,V-4,$,re,xe,jt);else if(dt!==2){this._onError(ze.FORMAT_ERROR,`Flv: Invalid video packet type ${dt}`);return}}_parseAVCDecoderConfigurationRecord(T,P,V){if(V<7){h.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");return}let $=this._videoMetadata,re=this._videoTrack,xe=this._littleEndian,Me=new DataView(T,P,V);$?typeof $.avcc!="undefined"&&h.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(this._hasVideo===!1&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),$=this._videoMetadata={},$.type="video",$.id=re.id,$.timescale=this._timescale,$.duration=this._duration);let at=Me.getUint8(0),dt=Me.getUint8(1),Ot=Me.getUint8(2),jt=Me.getUint8(3);if(at!==1||dt===0){this._onError(ze.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord");return}if(this._naluLengthSize=(Me.getUint8(4)&3)+1,this._naluLengthSize!==3&&this._naluLengthSize!==4){this._onError(ze.FORMAT_ERROR,`Flv: Strange NaluLengthSizeMinusOne: ${this._naluLengthSize-1}`);return}let Mr=Me.getUint8(5)&31;if(Mr===0){this._onError(ze.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No SPS");return}else Mr>1&&h.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: SPS Count = ${Mr}`);let Yt=6;for(let sr=0;sr1&&h.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: PPS Count = ${Er}`);Yt++;for(let sr=0;sr=V){h.w(this.TAG,`Malformed Nalu near timestamp ${Er}, offset = ${Mr}, dataSize = ${V}`);break}let Bt=dt.getUint32(Mr,!at);if(Yt===3&&(Bt>>>=8),Bt>V-Yt){h.w(this.TAG,`Malformed Nalus near timestamp ${Er}, NaluSize > DataSize!`);return}let Jt=dt.getUint8(Mr+Yt)&31;Jt===5&&(sr=!0);let kt=new Uint8Array(T,P+Mr,Yt+Bt),xr={type:Jt,data:kt};Ot.push(xr),jt+=kt.byteLength,Mr+=Yt+Bt}if(Ot.length){let Bt=this._videoTrack,Jt={units:Ot,length:jt,isKeyframe:sr,dts:Er,cts:Me,pts:Er+Me};sr&&(Jt.fileposition=re),Bt.samples.push(Jt),Bt.length+=jt}}}var de=Ae;class se{static init(){se.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]};for(let P in se.types)se.types.hasOwnProperty(P)&&(se.types[P]=[P.charCodeAt(0),P.charCodeAt(1),P.charCodeAt(2),P.charCodeAt(3)]);let T=se.constants={};T.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),T.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),T.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),T.STSC=T.STCO=T.STTS,T.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),T.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),T.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),T.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),T.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),T.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(T){let P=8,V=null,$=Array.prototype.slice.call(arguments,1),re=$.length;for(let Me=0;Me>>24&255,V[1]=P>>>16&255,V[2]=P>>>8&255,V[3]=P&255,V.set(T,4);let xe=8;for(let Me=0;Me>>24&255,T>>>16&255,T>>>8&255,T&255,P>>>24&255,P>>>16&255,P>>>8&255,P&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(T){return se.box(se.types.trak,se.tkhd(T),se.mdia(T))}static tkhd(T){let P=T.id,V=T.duration,$=T.presentWidth,re=T.presentHeight;return se.box(se.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,P>>>24&255,P>>>16&255,P>>>8&255,P&255,0,0,0,0,V>>>24&255,V>>>16&255,V>>>8&255,V&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,$>>>8&255,$&255,0,0,re>>>8&255,re&255,0,0]))}static mdia(T){return se.box(se.types.mdia,se.mdhd(T),se.hdlr(T),se.minf(T))}static mdhd(T){let P=T.timescale,V=T.duration;return se.box(se.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,P>>>24&255,P>>>16&255,P>>>8&255,P&255,V>>>24&255,V>>>16&255,V>>>8&255,V&255,85,196,0,0]))}static hdlr(T){let P=null;return T.type==="audio"?P=se.constants.HDLR_AUDIO:P=se.constants.HDLR_VIDEO,se.box(se.types.hdlr,P)}static minf(T){let P=null;return T.type==="audio"?P=se.box(se.types.smhd,se.constants.SMHD):P=se.box(se.types.vmhd,se.constants.VMHD),se.box(se.types.minf,P,se.dinf(),se.stbl(T))}static dinf(){return se.box(se.types.dinf,se.box(se.types.dref,se.constants.DREF))}static stbl(T){return se.box(se.types.stbl,se.stsd(T),se.box(se.types.stts,se.constants.STTS),se.box(se.types.stsc,se.constants.STSC),se.box(se.types.stsz,se.constants.STSZ),se.box(se.types.stco,se.constants.STCO))}static stsd(T){return T.type==="audio"?T.codec==="mp3"?se.box(se.types.stsd,se.constants.STSD_PREFIX,se.mp3(T)):se.box(se.types.stsd,se.constants.STSD_PREFIX,se.mp4a(T)):se.box(se.types.stsd,se.constants.STSD_PREFIX,se.avc1(T))}static mp3(T){let P=T.channelCount,V=T.audioSampleRate,$=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,P,0,16,0,0,0,0,V>>>8&255,V&255,0,0]);return se.box(se.types[".mp3"],$)}static mp4a(T){let P=T.channelCount,V=T.audioSampleRate,$=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,P,0,16,0,0,0,0,V>>>8&255,V&255,0,0]);return se.box(se.types.mp4a,$,se.esds(T))}static esds(T){let P=T.config||[],V=P.length,$=new Uint8Array([0,0,0,0,3,23+V,0,1,0,4,15+V,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([V]).concat(P).concat([6,1,2]));return se.box(se.types.esds,$)}static avc1(T){let P=T.avcc,V=T.codecWidth,$=T.codecHeight,re=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,V>>>8&255,V&255,$>>>8&255,$&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return se.box(se.types.avc1,re,se.box(se.types.avcC,P))}static mvex(T){return se.box(se.types.mvex,se.trex(T))}static trex(T){let P=T.id,V=new Uint8Array([0,0,0,0,P>>>24&255,P>>>16&255,P>>>8&255,P&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return se.box(se.types.trex,V)}static moof(T,P){return se.box(se.types.moof,se.mfhd(T.sequenceNumber),se.traf(T,P))}static mfhd(T){let P=new Uint8Array([0,0,0,0,T>>>24&255,T>>>16&255,T>>>8&255,T&255]);return se.box(se.types.mfhd,P)}static traf(T,P){let V=T.id,$=se.box(se.types.tfhd,new Uint8Array([0,0,0,0,V>>>24&255,V>>>16&255,V>>>8&255,V&255])),re=se.box(se.types.tfdt,new Uint8Array([0,0,0,0,P>>>24&255,P>>>16&255,P>>>8&255,P&255])),xe=se.sdtp(T),Me=se.trun(T,xe.byteLength+16+16+8+16+8+8);return se.box(se.types.traf,$,re,Me,xe)}static sdtp(T){let P=T.samples||[],V=P.length,$=new Uint8Array(4+V);for(let re=0;re>>24&255,$>>>16&255,$>>>8&255,$&255,P>>>24&255,P>>>16&255,P>>>8&255,P&255],0);for(let Me=0;Me<$;Me++){let at=V[Me].duration,dt=V[Me].size,Ot=V[Me].flags,jt=V[Me].cts;xe.set([at>>>24&255,at>>>16&255,at>>>8&255,at&255,dt>>>24&255,dt>>>16&255,dt>>>8&255,dt&255,Ot.isLeading<<2|Ot.dependsOn,Ot.isDependedOn<<6|Ot.hasRedundancy<<4|Ot.isNonSync,0,0,jt>>>24&255,jt>>>16&255,jt>>>8&255,jt&255],12+16*Me)}return se.box(se.types.trun,xe)}static mdat(T){return se.box(se.types.mdat,T)}}se.init();var he=se;class Pe{static getSilentFrame(T,P){if(T==="mp4a.40.2"){if(P===1)return new Uint8Array([0,200,0,128,35,128]);if(P===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(P===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(P===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(P===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(P===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(P===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(P===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(P===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}var We=Pe;class ht{constructor(T,P,V,$,re){this.dts=T,this.pts=P,this.duration=V,this.originalDts=$,this.isSyncPoint=re,this.fileposition=null}}class _t{constructor(){this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}appendSyncPoint(T){T.isSyncPoint=!0,this.syncPoints.push(T)}}class Nt{constructor(){this._list=[]}clear(){this._list=[]}appendArray(T){let P=this._list;T.length!==0&&(P.length>0&&T[0].originalDts=P[re].dts&&TP[$].lastSample.originalDts&&T=P[$].lastSample.originalDts&&($===P.length-1||$0&&(re=this._searchNearestSegmentBefore(V.originalBeginDts)+1),this._lastAppendLocation=re,this._list.splice(re,0,V)}getLastSegmentBefore(T){let P=this._searchNearestSegmentBefore(T);return P>=0?this._list[P]:null}getLastSampleBefore(T){let P=this.getLastSegmentBefore(T);return P!=null?P.lastSample:null}getLastSyncPointBefore(T){let P=this._searchNearestSegmentBefore(T),V=this._list[P].syncPoints;for(;V.length===0&&P>0;)P--,V=this._list[P].syncPoints;return V.length>0?V[V.length-1]:null}}class Dt{constructor(T){this.TAG="MP4Remuxer",this._config=T,this._isLive=T.isLive===!0,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new xt("audio"),this._videoSegmentInfoList=new xt("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!!(s.chrome&&(s.version.major<50||s.version.major===50&&s.version.build<2661)),this._fillSilentAfterSeek=s.msedge||s.msie,this._mp3UseMpegAudio=!s.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}destroy(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null}bindDataSource(T){return T.onDataAvailable=this.remux.bind(this),T.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}get onInitSegment(){return this._onInitSegment}set onInitSegment(T){this._onInitSegment=T}get onMediaSegment(){return this._onMediaSegment}set onMediaSegment(T){this._onMediaSegment=T}insertDiscontinuity(){this._audioNextDts=this._videoNextDts=void 0}seek(T){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}remux(T,P){if(!this._onMediaSegment)throw new y("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(T,P),this._remuxVideo(P),this._remuxAudio(T)}_onTrackMetadataReceived(T,P){let V=null,$="mp4",re=P.codec;if(T==="audio")this._audioMeta=P,P.codec==="mp3"&&this._mp3UseMpegAudio?($="mpeg",re="",V=new Uint8Array):V=he.generateInitSegment(P);else if(T==="video")this._videoMeta=P,V=he.generateInitSegment(P);else return;if(!this._onInitSegment)throw new y("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(T,{type:T,data:V.buffer,codec:re,container:`${T}/${$}`,mediaDuration:P.duration})}_calculateDtsBase(T,P){this._dtsBaseInited||(T.samples&&T.samples.length&&(this._audioDtsBase=T.samples[0].dts),P.samples&&P.samples.length&&(this._videoDtsBase=P.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}flushStashedSamples(){let T=this._videoStashedLastSample,P=this._audioStashedLastSample,V={type:"video",id:1,sequenceNumber:0,samples:[],length:0};T!=null&&(V.samples.push(T),V.length=T.length);let $={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};P!=null&&($.samples.push(P),$.length=P.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(V,!0),this._remuxAudio($,!0)}_remuxAudio(T,P){if(this._audioMeta==null)return;let V=T,$=V.samples,re,xe=-1,Me=-1,at=-1,dt=this._audioMeta.refSampleDuration,Ot=this._audioMeta.codec==="mp3"&&this._mp3UseMpegAudio,jt=this._dtsBaseInited&&this._audioNextDts===void 0,Mr=!1;if(!$||$.length===0||$.length===1&&!P)return;let Yt=0,Er=null,sr=0;Ot?(Yt=0,sr=V.length):(Yt=8,sr=8+V.length);let Bt=null;if($.length>1&&(Bt=$.pop(),sr-=Bt.length),this._audioStashedLastSample!=null){let nr=this._audioStashedLastSample;this._audioStashedLastSample=null,$.unshift(nr),sr+=nr.length}Bt!=null&&(this._audioStashedLastSample=Bt);let Jt=$[0].dts-this._dtsBase;if(this._audioNextDts)re=Jt-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())re=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&this._audioMeta.originalCodec!=="mp3"&&(Mr=!0);else{let nr=this._audioSegmentInfoList.getLastSampleBefore(Jt);if(nr!=null){let Pr=Jt-(nr.originalDts+nr.duration);Pr<=3&&(Pr=0);let jr=nr.dts+nr.duration+Pr;re=Jt-jr}else re=0}if(Mr){let nr=Jt-re,Pr=this._videoSegmentInfoList.getLastSegmentBefore(Jt);if(Pr!=null&&Pr.beginDts=1?ua=kt[kt.length-1].duration:ua=Math.floor(dt);let ca=!1,na=null;if(ua>dt*1.5&&this._audioMeta.codec!=="mp3"&&this._fillAudioTimestampGap&&!s.safari){ca=!0;let Qn=Math.abs(ua-dt),Ra=Math.ceil(Qn/dt),wa=Wn+dt;h.w(this.TAG,`Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync. dts: ${Wn+ua} ms, expected: ${Wn+Math.round(dt)} ms, delta: ${Math.round(Qn)} ms, generate: ${Ra} frames`);let Ia=We.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);Ia==null&&(h.w(this.TAG,`Unable to generate silent frame for ${this._audioMeta.originalCodec} with ${this._audioMeta.channelCount} channels, repeat last frame`),Ia=jr),na=[];for(let oa=0;oa0){let ut=na[na.length-1];ut.duration=ot-ut.dts}let Mt={dts:ot,pts:ot,cts:0,unit:Ia,size:Ia.byteLength,duration:0,originalDts:zr,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};na.push(Mt),sr+=Mt.size,wa+=dt}let va=na[na.length-1];va.duration=Wn+ua-va.dts,ua=Math.round(dt)}kt.push({dts:Wn,pts:Wn,cts:0,unit:Pr.unit,size:Pr.unit.byteLength,duration:ua,originalDts:zr,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),ca&&kt.push.apply(kt,na)}Ot?Er=new Uint8Array(sr):(Er=new Uint8Array(sr),Er[0]=sr>>>24&255,Er[1]=sr>>>16&255,Er[2]=sr>>>8&255,Er[3]=sr&255,Er.set(he.types.mdat,4));for(let nr=0;nr1&&(Yt=$.pop(),Mr-=Yt.length),this._videoStashedLastSample!=null){let xr=this._videoStashedLastSample;this._videoStashedLastSample=null,$.unshift(xr),Mr+=xr.length}Yt!=null&&(this._videoStashedLastSample=Yt);let Er=$[0].dts-this._dtsBase;if(this._videoNextDts)re=Er-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())re=0;else{let xr=this._videoSegmentInfoList.getLastSampleBefore(Er);if(xr!=null){let Ir=Er-(xr.originalDts+xr.duration);Ir<=3&&(Ir=0);let Ye=xr.dts+xr.duration+Ir;re=Er-Ye}else re=0}let sr=new _t,Bt=[];for(let xr=0;xr<$.length;xr++){let Ir=$[xr],Ye=Ir.dts-this._dtsBase,wr=Ir.isKeyframe,nr=Ye-re,Pr=Ir.cts,jr=nr+Pr;xe===-1&&(xe=nr,at=jr);let zr=0;if(xr!==$.length-1?zr=$[xr+1].dts-this._dtsBase-re-nr:Yt!=null?zr=Yt.dts-this._dtsBase-re-nr:Bt.length>=1?zr=Bt[Bt.length-1].duration:zr=Math.floor(this._videoMeta.refSampleDuration),wr){let Wn=new ht(nr,jr,zr,Ir.dts,!0);Wn.fileposition=Ir.fileposition,sr.appendSyncPoint(Wn)}Bt.push({dts:nr,pts:jr,cts:Pr,units:Ir.units,size:Ir.length,isKeyframe:wr,duration:zr,originalDts:Ye,flags:{isLeading:0,dependsOn:wr?2:1,isDependedOn:wr?1:0,hasRedundancy:0,isNonSync:wr?0:1}})}jt=new Uint8Array(Mr),jt[0]=Mr>>>24&255,jt[1]=Mr>>>16&255,jt[2]=Mr>>>8&255,jt[3]=Mr&255,jt.set(he.types.mdat,4);for(let xr=0;xr{$.timestampBase=V,V+=$.duration,$.cors=T.cors,$.withCredentials=T.withCredentials,P.referrerPolicy&&($.referrerPolicy=P.referrerPolicy)}),!isNaN(V)&&this._mediaDataSource.duration!==V&&(this._mediaDataSource.duration=V),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}destroy(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null}on(T,P){this._emitter.addListener(T,P)}off(T,P){this._emitter.removeListener(T,P)}start(){this._loadSegment(0),this._enableStatisticsReporter()}_loadSegment(T,P){this._currentSegmentIndex=T;let V=this._mediaDataSource.segments[T],$=this._ioctl=new S(V,this._config,T);$.onError=this._onIOException.bind(this),$.onSeeked=this._onIOSeeked.bind(this),$.onComplete=this._onIOComplete.bind(this),$.onRedirect=this._onIORedirect.bind(this),$.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),P?this._demuxer.bindDataSource(this._ioctl):$.onDataArrival=this._onInitChunkArrival.bind(this),$.open(P)}stop(){this._internalAbort(),this._disableStatisticsReporter()}_internalAbort(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)}pause(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())}resume(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())}seek(T){if(this._mediaInfo==null||!this._mediaInfo.isSeekable())return;let P=this._searchSegmentIndexContains(T);if(P===this._currentSegmentIndex){let V=this._mediaInfo.segments[P];if(V==null)this._pendingSeekTime=T;else{let $=V.getNearestKeyframe(T);this._remuxer.seek($.milliseconds),this._ioctl.seek($.fileposition),this._pendingResolveSeekPoint=$.milliseconds}}else{let V=this._mediaInfo.segments[P];if(V==null)this._pendingSeekTime=T,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(P);else{let $=V.getNearestKeyframe(T);this._internalAbort(),this._remuxer.seek(T),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[P].timestampBase,this._loadSegment(P,$.fileposition),this._pendingResolveSeekPoint=$.milliseconds,this._reportSegmentMediaInfo(P)}}this._enableStatisticsReporter()}_searchSegmentIndexContains(T){let P=this._mediaDataSource.segments,V=P.length-1;for(let $=0;$0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,$=this._demuxer.parseChunks(T,P);else if((V=de.probe(T)).match){this._demuxer=new de(V,this._config),this._remuxer||(this._remuxer=new Tt(this._config));let re=this._mediaDataSource;re.duration!=null&&!isNaN(re.duration)&&(this._demuxer.overridedDuration=re.duration),typeof re.hasAudio=="boolean"&&(this._demuxer.overridedHasAudio=re.hasAudio),typeof re.hasVideo=="boolean"&&(this._demuxer.overridedHasVideo=re.hasVideo),this._demuxer.timestampBase=re.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),$=this._demuxer.parseChunks(T,P)}else V=null,h.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then(()=>{this._internalAbort()}),this._emitter.emit(nt.DEMUX_ERROR,ze.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),$=0;return $}_onMediaInfo(T){this._mediaInfo==null&&(this._mediaInfo=Object.assign({},T),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,Ce.prototype));let P=Object.assign({},T);Object.setPrototypeOf(P,Ce.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=P,this._reportSegmentMediaInfo(this._currentSegmentIndex),this._pendingSeekTime!=null&&Promise.resolve().then(()=>{let V=this._pendingSeekTime;this._pendingSeekTime=null,this.seek(V)})}_onMetaDataArrived(T){this._emitter.emit(nt.METADATA_ARRIVED,T)}_onScriptDataArrived(T){this._emitter.emit(nt.SCRIPTDATA_ARRIVED,T)}_onIOSeeked(){this._remuxer.insertDiscontinuity()}_onIOComplete(T){let V=T+1;V0&&V[0].originalDts===$&&($=V[0].pts),this._emitter.emit(nt.RECOMMEND_SEEKPOINT,$)}}_enableStatisticsReporter(){this._statisticsReporter==null&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))}_disableStatisticsReporter(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}_reportSegmentMediaInfo(T){let P=this._mediaInfo.segments[T],V=Object.assign({},P);V.duration=this._mediaInfo.duration,V.segmentCount=this._mediaInfo.segmentCount,delete V.segments,delete V.keyframesIndex,this._emitter.emit(nt.MEDIA_INFO,V)}_reportStatisticsInfo(){let T={};T.url=this._ioctl.currentURL,T.hasRedirect=this._ioctl.hasRedirect,T.hasRedirect&&(T.redirectedURL=this._ioctl.currentRedirectedURL),T.speed=this._ioctl.currentSpeed,T.loaderType=this._ioctl.loaderType,T.currentSegmentIndex=this._currentSegmentIndex,T.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(nt.STATISTICS_INFO,T)}}var Tr=Gt,Pt=function(ke){let T="TransmuxingWorker",P=null,V=sr.bind(this);J.install(),ke.addEventListener("message",function(Bt){switch(Bt.data.cmd){case"init":P=new Tr(Bt.data.param[0],Bt.data.param[1]),P.on(nt.IO_ERROR,Mr.bind(this)),P.on(nt.DEMUX_ERROR,Yt.bind(this)),P.on(nt.INIT_SEGMENT,$.bind(this)),P.on(nt.MEDIA_SEGMENT,re.bind(this)),P.on(nt.LOADING_COMPLETE,xe.bind(this)),P.on(nt.RECOVERED_EARLY_EOF,Me.bind(this)),P.on(nt.MEDIA_INFO,at.bind(this)),P.on(nt.METADATA_ARRIVED,dt.bind(this)),P.on(nt.SCRIPTDATA_ARRIVED,Ot.bind(this)),P.on(nt.STATISTICS_INFO,jt.bind(this)),P.on(nt.RECOMMEND_SEEKPOINT,Er.bind(this));break;case"destroy":P&&(P.destroy(),P=null),ke.postMessage({msg:"destroyed"});break;case"start":P.start();break;case"stop":P.stop();break;case"seek":P.seek(Bt.data.param);break;case"pause":P.pause();break;case"resume":P.resume();break;case"logging_config":{let Jt=Bt.data.param;ae.applyConfig(Jt),Jt.enableCallback===!0?ae.addLogListener(V):ae.removeLogListener(V);break}}});function $(Bt,Jt){let kt={msg:nt.INIT_SEGMENT,data:{type:Bt,data:Jt}};ke.postMessage(kt,[Jt.data])}function re(Bt,Jt){let kt={msg:nt.MEDIA_SEGMENT,data:{type:Bt,data:Jt}};ke.postMessage(kt,[Jt.data])}function xe(){let Bt={msg:nt.LOADING_COMPLETE};ke.postMessage(Bt)}function Me(){let Bt={msg:nt.RECOVERED_EARLY_EOF};ke.postMessage(Bt)}function at(Bt){let Jt={msg:nt.MEDIA_INFO,data:Bt};ke.postMessage(Jt)}function dt(Bt){let Jt={msg:nt.METADATA_ARRIVED,data:Bt};ke.postMessage(Jt)}function Ot(Bt){let Jt={msg:nt.SCRIPTDATA_ARRIVED,data:Bt};ke.postMessage(Jt)}function jt(Bt){let Jt={msg:nt.STATISTICS_INFO,data:Bt};ke.postMessage(Jt)}function Mr(Bt,Jt){ke.postMessage({msg:nt.IO_ERROR,data:{type:Bt,info:Jt}})}function Yt(Bt,Jt){ke.postMessage({msg:nt.DEMUX_ERROR,data:{type:Bt,info:Jt}})}function Er(Bt){ke.postMessage({msg:nt.RECOMMEND_SEEKPOINT,data:Bt})}function sr(Bt,Jt){ke.postMessage({msg:"logcat_callback",data:{type:Bt,logcat:Jt}})}};class Sr{constructor(T,P){if(this.TAG="Transmuxer",this._emitter=new(E()),P.enableWorker&&typeof Worker!="undefined")try{let V=Z(18034);this._worker=V(Pt),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[T,P]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},ae.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:ae.getConfig()})}catch(V){h.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new Tr(T,P)}else this._controller=new Tr(T,P);if(this._controller){let V=this._controller;V.on(nt.IO_ERROR,this._onIOError.bind(this)),V.on(nt.DEMUX_ERROR,this._onDemuxError.bind(this)),V.on(nt.INIT_SEGMENT,this._onInitSegment.bind(this)),V.on(nt.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),V.on(nt.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),V.on(nt.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),V.on(nt.MEDIA_INFO,this._onMediaInfo.bind(this)),V.on(nt.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),V.on(nt.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),V.on(nt.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),V.on(nt.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}destroy(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),ae.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}on(T,P){this._emitter.addListener(T,P)}off(T,P){this._emitter.removeListener(T,P)}hasWorker(){return this._worker!=null}open(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()}close(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()}seek(T){this._worker?this._worker.postMessage({cmd:"seek",param:T}):this._controller.seek(T)}pause(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()}resume(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()}_onInitSegment(T,P){Promise.resolve().then(()=>{this._emitter.emit(nt.INIT_SEGMENT,T,P)})}_onMediaSegment(T,P){Promise.resolve().then(()=>{this._emitter.emit(nt.MEDIA_SEGMENT,T,P)})}_onLoadingComplete(){Promise.resolve().then(()=>{this._emitter.emit(nt.LOADING_COMPLETE)})}_onRecoveredEarlyEof(){Promise.resolve().then(()=>{this._emitter.emit(nt.RECOVERED_EARLY_EOF)})}_onMediaInfo(T){Promise.resolve().then(()=>{this._emitter.emit(nt.MEDIA_INFO,T)})}_onMetaDataArrived(T){Promise.resolve().then(()=>{this._emitter.emit(nt.METADATA_ARRIVED,T)})}_onScriptDataArrived(T){Promise.resolve().then(()=>{this._emitter.emit(nt.SCRIPTDATA_ARRIVED,T)})}_onStatisticsInfo(T){Promise.resolve().then(()=>{this._emitter.emit(nt.STATISTICS_INFO,T)})}_onIOError(T,P){Promise.resolve().then(()=>{this._emitter.emit(nt.IO_ERROR,T,P)})}_onDemuxError(T,P){Promise.resolve().then(()=>{this._emitter.emit(nt.DEMUX_ERROR,T,P)})}_onRecommendSeekpoint(T){Promise.resolve().then(()=>{this._emitter.emit(nt.RECOMMEND_SEEKPOINT,T)})}_onLoggingConfigChanged(T){this._worker&&this._worker.postMessage({cmd:"logging_config",param:T})}_onWorkerMessage(T){let P=T.data,V=P.data;if(P.msg==="destroyed"||this._workerDestroying){this._workerDestroying=!1,this._worker.terminate(),this._worker=null;return}switch(P.msg){case nt.INIT_SEGMENT:case nt.MEDIA_SEGMENT:this._emitter.emit(P.msg,V.type,V.data);break;case nt.LOADING_COMPLETE:case nt.RECOVERED_EARLY_EOF:this._emitter.emit(P.msg);break;case nt.MEDIA_INFO:Object.setPrototypeOf(V,Ce.prototype),this._emitter.emit(P.msg,V);break;case nt.METADATA_ARRIVED:case nt.SCRIPTDATA_ARRIVED:case nt.STATISTICS_INFO:this._emitter.emit(P.msg,V);break;case nt.IO_ERROR:case nt.DEMUX_ERROR:this._emitter.emit(P.msg,V.type,V.info);break;case nt.RECOMMEND_SEEKPOINT:this._emitter.emit(P.msg,V);break;case"logcat_callback":h.emitter.emit("log",V.type,V.logcat);break;default:break}}}var $r=Sr,Gr={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"};class an{constructor(T){this.TAG="MSEController",this._config=T,this._emitter=new(E()),this._config.isLive&&this._config.autoCleanupSourceBuffer==null&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new Nt}destroy(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}on(T,P){this._emitter.addListener(T,P)}off(T,P){this._emitter.removeListener(T,P)}attachMediaElement(T){if(this._mediaSource)throw new y("MediaSource has been attached to an HTMLMediaElement!");let P=this._mediaSource=new window.MediaSource;P.addEventListener("sourceopen",this.e.onSourceOpen),P.addEventListener("sourceended",this.e.onSourceEnded),P.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=T,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),T.src=this._mediaSourceObjectURL}detachMediaElement(){if(this._mediaSource){let T=this._mediaSource;for(let P in this._sourceBuffers){let V=this._pendingSegments[P];V.splice(0,V.length),this._pendingSegments[P]=null,this._pendingRemoveRanges[P]=null,this._lastInitSegments[P]=null;let $=this._sourceBuffers[P];if($){if(T.readyState!=="closed"){try{T.removeSourceBuffer($)}catch(re){h.e(this.TAG,re.message)}$.removeEventListener("error",this.e.onSourceBufferError),$.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[P]=null,this._sourceBuffers[P]=null}}if(T.readyState==="open")try{T.endOfStream()}catch(P){h.e(this.TAG,P.message)}T.removeEventListener("sourceopen",this.e.onSourceOpen),T.removeEventListener("sourceended",this.e.onSourceEnded),T.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)}appendInitSegment(T,P){if(!this._mediaSource||this._mediaSource.readyState!=="open"){this._pendingSourceBufferInit.push(T),this._pendingSegments[T.type].push(T);return}let V=T,$=`${V.container}`;V.codec&&V.codec.length>0&&($+=`;codecs=${V.codec}`);let re=!1;if(h.v(this.TAG,"Received Initialization Segment, mimeType: "+$),this._lastInitSegments[V.type]=V,$!==this._mimeTypes[V.type]){if(this._mimeTypes[V.type])h.v(this.TAG,`Notice: ${V.type} mimeType changed, origin: ${this._mimeTypes[V.type]}, target: ${$}`);else{re=!0;try{let xe=this._sourceBuffers[V.type]=this._mediaSource.addSourceBuffer($);xe.addEventListener("error",this.e.onSourceBufferError),xe.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(xe){h.e(this.TAG,xe.message),this._emitter.emit(Gr.ERROR,{code:xe.code,msg:xe.message});return}}this._mimeTypes[V.type]=$}P||this._pendingSegments[V.type].push(V),re||this._sourceBuffers[V.type]&&!this._sourceBuffers[V.type].updating&&this._doAppendSegments(),s.safari&&V.container==="audio/mpeg"&&V.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=V.mediaDuration/1e3,this._updateMediaSourceDuration())}appendMediaSegment(T){let P=T;this._pendingSegments[P.type].push(P),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();let V=this._sourceBuffers[P.type];V&&!V.updating&&!this._hasPendingRemoveRanges()&&this._doAppendSegments()}seek(T){for(let P in this._sourceBuffers){if(!this._sourceBuffers[P])continue;let V=this._sourceBuffers[P];if(this._mediaSource.readyState==="open")try{V.abort()}catch(re){h.e(this.TAG,re.message)}this._idrList.clear();let $=this._pendingSegments[P];if($.splice(0,$.length),this._mediaSource.readyState!=="closed"){for(let re=0;re=1&&T-$.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}_doCleanupSourceBuffer(){let T=this._mediaElement.currentTime;for(let P in this._sourceBuffers){let V=this._sourceBuffers[P];if(V){let $=V.buffered,re=!1;for(let xe=0;xe<$.length;xe++){let Me=$.start(xe),at=$.end(xe);if(Me<=T&&T=this._config.autoCleanupMaxBackwardDuration){re=!0;let dt=T-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[P].push({start:Me,end:dt})}}else at0&&(isNaN(P)||V>P)&&(h.v(this.TAG,`Update MediaSource duration from ${P} to ${V}`),this._mediaSource.duration=V),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}_doRemoveRanges(){for(let T in this._pendingRemoveRanges){if(!this._sourceBuffers[T]||this._sourceBuffers[T].updating)continue;let P=this._sourceBuffers[T],V=this._pendingRemoveRanges[T];for(;V.length&&!P.updating;){let $=V.shift();P.remove($.start,$.end)}}}_doAppendSegments(){let T=this._pendingSegments;for(let P in T)if(!(!this._sourceBuffers[P]||this._sourceBuffers[P].updating)&&T[P].length>0){let V=T[P].shift();if(V.timestampOffset){let $=this._sourceBuffers[P].timestampOffset,re=V.timestampOffset/1e3;Math.abs($-re)>.1&&(h.v(this.TAG,`Update MPEG audio timestampOffset from ${$} to ${re}`),this._sourceBuffers[P].timestampOffset=re),delete V.timestampOffset}if(!V.data||V.data.byteLength===0)continue;try{this._sourceBuffers[P].appendBuffer(V.data),this._isBufferFull=!1,P==="video"&&V.hasOwnProperty("info")&&this._idrList.appendArray(V.info.syncPoints)}catch($){this._pendingSegments[P].unshift(V),$.code===22?(this._isBufferFull||this._emitter.emit(Gr.BUFFER_FULL),this._isBufferFull=!0):(h.e(this.TAG,$.message),this._emitter.emit(Gr.ERROR,{code:$.code,msg:$.message}))}}}_onSourceOpen(){if(h.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0){let T=this._pendingSourceBufferInit;for(;T.length;){let P=T.shift();this.appendInitSegment(P,!0)}}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(Gr.SOURCE_OPEN)}_onSourceEnded(){h.v(this.TAG,"MediaSource onSourceEnded")}_onSourceClose(){h.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&this.e!=null&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))}_hasPendingSegments(){let T=this._pendingSegments;return T.video.length>0||T.audio.length>0}_hasPendingRemoveRanges(){let T=this._pendingRemoveRanges;return T.video.length>0||T.audio.length>0}_onSourceBufferUpdateEnd(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(Gr.UPDATE_END)}_onSourceBufferError(T){h.e(this.TAG,`SourceBuffer Error: ${T}`)}}var Ln=an;const kr={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},Kt={NETWORK_EXCEPTION:r.EXCEPTION,NETWORK_STATUS_CODE_INVALID:r.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:r.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:r.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:ze.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:ze.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:ze.CODEC_UNSUPPORTED};class Ke{constructor(T,P){if(this.TAG="FlvPlayer",this._type="FlvPlayer",this._emitter=new(E()),this._config=O(),typeof P=="object"&&Object.assign(this._config,P),T.type.toLowerCase()!=="flv")throw new u("FlvPlayer requires an flv MediaDataSource input!");T.isLive===!0&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=T,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;let V=s.chrome&&(s.version.major<50||s.version.major===50&&s.version.build<2661);this._alwaysSeekKeyframe=!!(V||s.msedge||s.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}destroy(){this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(T,P){T===Y.MEDIA_INFO?this._mediaInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(Y.MEDIA_INFO,this.mediaInfo)}):T===Y.STATISTICS_INFO&&this._statisticsInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(Y.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(T,P)}off(T,P){this._emitter.removeListener(T,P)}attachMediaElement(T){if(this._mediaElement=T,T.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),T.addEventListener("seeking",this.e.onvSeeking),T.addEventListener("canplay",this.e.onvCanPlay),T.addEventListener("stalled",this.e.onvStalled),T.addEventListener("progress",this.e.onvProgress),this._msectl=new Ln(this._config),this._msectl.on(Gr.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(Gr.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(Gr.SOURCE_OPEN,()=>{this._mseSourceOpened=!0,this._hasPendingLoad&&(this._hasPendingLoad=!1,this.load())}),this._msectl.on(Gr.ERROR,P=>{this._emitter.emit(Y.ERROR,kr.MEDIA_ERROR,Kt.MEDIA_MSE_ERROR,P)}),this._msectl.attachMediaElement(T),this._pendingSeekTime!=null)try{T.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(P){}}detachMediaElement(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)}load(){if(!this._mediaElement)throw new y("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new y("FlvPlayer.load() has been called, please call unload() first!");if(!this._hasPendingLoad){if(this._config.deferLoadAfterSourceOpen&&this._mseSourceOpened===!1){this._hasPendingLoad=!0;return}this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new $r(this._mediaDataSource,this._config),this._transmuxer.on(nt.INIT_SEGMENT,(T,P)=>{this._msectl.appendInitSegment(P)}),this._transmuxer.on(nt.MEDIA_SEGMENT,(T,P)=>{if(this._msectl.appendMediaSegment(P),this._config.lazyLoad&&!this._config.isLive){let V=this._mediaElement.currentTime;P.info.endDts>=(V+this._config.lazyLoadMaxDuration)*1e3&&this._progressChecker==null&&(h.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}}),this._transmuxer.on(nt.LOADING_COMPLETE,()=>{this._msectl.endOfStream(),this._emitter.emit(Y.LOADING_COMPLETE)}),this._transmuxer.on(nt.RECOVERED_EARLY_EOF,()=>{this._emitter.emit(Y.RECOVERED_EARLY_EOF)}),this._transmuxer.on(nt.IO_ERROR,(T,P)=>{this._emitter.emit(Y.ERROR,kr.NETWORK_ERROR,T,P)}),this._transmuxer.on(nt.DEMUX_ERROR,(T,P)=>{this._emitter.emit(Y.ERROR,kr.MEDIA_ERROR,T,{code:-1,msg:P})}),this._transmuxer.on(nt.MEDIA_INFO,T=>{this._mediaInfo=T,this._emitter.emit(Y.MEDIA_INFO,Object.assign({},T))}),this._transmuxer.on(nt.METADATA_ARRIVED,T=>{this._emitter.emit(Y.METADATA_ARRIVED,T)}),this._transmuxer.on(nt.SCRIPTDATA_ARRIVED,T=>{this._emitter.emit(Y.SCRIPTDATA_ARRIVED,T)}),this._transmuxer.on(nt.STATISTICS_INFO,T=>{this._statisticsInfo=this._fillStatisticsInfo(T),this._emitter.emit(Y.STATISTICS_INFO,Object.assign({},this._statisticsInfo))}),this._transmuxer.on(nt.RECOMMEND_SEEKPOINT,T=>{this._mediaElement&&!this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=T/1e3)}),this._transmuxer.open()}}unload(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(T){this._mediaElement.volume=T}get muted(){return this._mediaElement.muted}set muted(T){this._mediaElement.muted=T}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(T){this._mediaElement?this._internalSeek(T):this._pendingSeekTime=T}get mediaInfo(){return Object.assign({},this._mediaInfo)}get statisticsInfo(){return this._statisticsInfo==null&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)}_fillStatisticsInfo(T){if(T.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return T;let P=!0,V=0,$=0;if(this._mediaElement.getVideoPlaybackQuality){let re=this._mediaElement.getVideoPlaybackQuality();V=re.totalVideoFrames,$=re.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(V=this._mediaElement.webkitDecodedFrameCount,$=this._mediaElement.webkitDroppedFrameCount):P=!1;return P&&(T.decodedFrames=V,T.droppedFrames=$),T}_onmseUpdateEnd(){if(!this._config.lazyLoad||this._config.isLive)return;let T=this._mediaElement.buffered,P=this._mediaElement.currentTime,V=0,$=0;for(let re=0;re=P+this._config.lazyLoadMaxDuration&&this._progressChecker==null&&(h.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}_onmseBufferFull(){h.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),this._progressChecker==null&&this._suspendTransmuxer()}_suspendTransmuxer(){this._transmuxer&&(this._transmuxer.pause(),this._progressChecker==null&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))}_checkProgressAndResume(){let T=this._mediaElement.currentTime,P=this._mediaElement.buffered,V=!1;for(let $=0;$=re&&T=xe-this._config.lazyLoadRecoverDuration&&(V=!0);break}}V&&(window.clearInterval(this._progressChecker),this._progressChecker=null,V&&(h.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))}_isTimepointBuffered(T){let P=this._mediaElement.buffered;for(let V=0;V=$&&T0){let re=this._mediaElement.buffered.start(0);(re<1&&T0&&P.currentTime0){let $=V.start(0);if($<1&&P<$||s.safari){this._requestSetTime=!0,this._mediaElement.currentTime=s.safari?.1:$;return}}if(this._isTimepointBuffered(P)){if(this._alwaysSeekKeyframe){let $=this._msectl.getNearestKeyframe(Math.floor(P*1e3));$!=null&&(this._requestSetTime=!0,this._mediaElement.currentTime=$.dts/1e3)}this._progressChecker!=null&&this._checkProgressAndResume();return}this._seekpointRecord={seekPoint:P,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_onvCanPlay(T){this._receivedCanPlay=!0,this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay)}_onvStalled(T){this._checkAndResumeStuckPlayback(!0)}_onvProgress(T){this._checkAndResumeStuckPlayback()}}var He=Ke;class Ue{constructor(T,P){if(this.TAG="NativePlayer",this._type="NativePlayer",this._emitter=new(E()),this._config=O(),typeof P=="object"&&Object.assign(this._config,P),T.type.toLowerCase()==="flv")throw new u("NativePlayer does't support flv MediaDataSource input!");if(T.hasOwnProperty("segments"))throw new u(`NativePlayer(${T.type}) doesn't support multipart playback!`);this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=T,this._mediaElement=null}destroy(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(T,P){T===Y.MEDIA_INFO?this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(Y.MEDIA_INFO,this.mediaInfo)}):T===Y.STATISTICS_INFO&&this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(Y.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(T,P)}off(T,P){this._emitter.removeListener(T,P)}attachMediaElement(T){if(this._mediaElement=T,T.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._pendingSeekTime!=null)try{T.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(P){}}detachMediaElement(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement=null),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}load(){if(!this._mediaElement)throw new y("HTMLMediaElement must be attached before load()!");this._mediaElement.src=this._mediaDataSource.url,this._mediaElement.readyState>0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)}unload(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(T){this._mediaElement.volume=T}get muted(){return this._mediaElement.muted}set muted(T){this._mediaElement.muted=T}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(T){this._mediaElement?this._mediaElement.currentTime=T:this._pendingSeekTime=T}get mediaInfo(){let P={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(P.duration=Math.floor(this._mediaElement.duration*1e3),this._mediaElement instanceof HTMLVideoElement&&(P.width=this._mediaElement.videoWidth,P.height=this._mediaElement.videoHeight)),P}get statisticsInfo(){let T={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return T;let P=!0,V=0,$=0;if(this._mediaElement.getVideoPlaybackQuality){let re=this._mediaElement.getVideoPlaybackQuality();V=re.totalVideoFrames,$=re.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(V=this._mediaElement.webkitDecodedFrameCount,$=this._mediaElement.webkitDroppedFrameCount):P=!1;return P&&(T.decodedFrames=V,T.droppedFrames=$),T}_onvLoadedMetadata(T){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(Y.MEDIA_INFO,this.mediaInfo)}_reportStatisticsInfo(){this._emitter.emit(Y.STATISTICS_INFO,this.statisticsInfo)}}var et=Ue;J.install();function tt(ke,T){let P=ke;if(P==null||typeof P!="object")throw new u("MediaDataSource must be an javascript object!");if(!P.hasOwnProperty("type"))throw new u("MediaDataSource must has type field to indicate video file type!");switch(P.type){case"flv":return new He(P,T);default:return new et(P,T)}}function it(){return F.supportMSEH264Playback()}function vt(){return F.getFeatureList()}let pt={};pt.createPlayer=tt,pt.isSupported=it,pt.getFeatureList=vt,pt.BaseLoader=n,pt.LoaderStatus=p,pt.LoaderErrors=r,pt.Events=Y,pt.ErrorTypes=kr,pt.ErrorDetails=Kt,pt.FlvPlayer=He,pt.NativePlayer=et,pt.LoggingControl=ae,Object.defineProperty(pt,"version",{enumerable:!0,get:function(){return"__VERSION__"}});var Xt=pt},87155:function(Ar,At,Z){"use strict";Object.defineProperty(At,"__esModule",{value:!0}),At.default=void 0;var G=Object.assign||function(o){for(var i=1;i0&&(g=1/Math.sqrt(g),e[0]=t[0]*g,e[1]=t[1]*g),e},p.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]},p.cross=function(e,t,a){var f=t[0]*a[1]-t[1]*a[0];return e[0]=e[1]=0,e[2]=f,e},p.lerp=function(e,t,a,f){var g=t[0],x=t[1];return e[0]=g+f*(a[0]-g),e[1]=x+f*(a[1]-x),e},p.random=function(e,t){t=t||1;var a=y()*2*Math.PI;return e[0]=Math.cos(a)*t,e[1]=Math.sin(a)*t,e},p.transformMat2=function(e,t,a){var f=t[0],g=t[1];return e[0]=a[0]*f+a[2]*g,e[1]=a[1]*f+a[3]*g,e},p.transformMat2d=function(e,t,a){var f=t[0],g=t[1];return e[0]=a[0]*f+a[2]*g+a[4],e[1]=a[1]*f+a[3]*g+a[5],e},p.transformMat3=function(e,t,a){var f=t[0],g=t[1];return e[0]=a[0]*f+a[3]*g+a[6],e[1]=a[1]*f+a[4]*g+a[7],e},p.transformMat4=function(e,t,a){var f=t[0],g=t[1];return e[0]=a[0]*f+a[4]*g+a[12],e[1]=a[1]*f+a[5]*g+a[13],e},p.forEach=function(){var e=p.create();return function(t,a,f,g,x,_){var D,M;for(a||(a=2),f||(f=0),g?M=Math.min(g*a+f,t.length):M=t.length,D=f;D0&&(x=1/Math.sqrt(x),e[0]=t[0]*x,e[1]=t[1]*x,e[2]=t[2]*x),e},r.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},r.cross=function(e,t,a){var f=t[0],g=t[1],x=t[2],_=a[0],D=a[1],M=a[2];return e[0]=g*M-x*D,e[1]=x*_-f*M,e[2]=f*D-g*_,e},r.lerp=function(e,t,a,f){var g=t[0],x=t[1],_=t[2];return e[0]=g+f*(a[0]-g),e[1]=x+f*(a[1]-x),e[2]=_+f*(a[2]-_),e},r.random=function(e,t){t=t||1;var a=y()*2*Math.PI,f=y()*2-1,g=Math.sqrt(1-f*f)*t;return e[0]=Math.cos(a)*g,e[1]=Math.sin(a)*g,e[2]=f*t,e},r.transformMat4=function(e,t,a){var f=t[0],g=t[1],x=t[2],_=a[3]*f+a[7]*g+a[11]*x+a[15];return _=_||1,e[0]=(a[0]*f+a[4]*g+a[8]*x+a[12])/_,e[1]=(a[1]*f+a[5]*g+a[9]*x+a[13])/_,e[2]=(a[2]*f+a[6]*g+a[10]*x+a[14])/_,e},r.transformMat3=function(e,t,a){var f=t[0],g=t[1],x=t[2];return e[0]=f*a[0]+g*a[3]+x*a[6],e[1]=f*a[1]+g*a[4]+x*a[7],e[2]=f*a[2]+g*a[5]+x*a[8],e},r.transformQuat=function(e,t,a){var f=t[0],g=t[1],x=t[2],_=a[0],D=a[1],M=a[2],w=a[3],b=w*f+D*x-M*g,N=w*g+M*f-_*x,K=w*x+_*g-D*f,S=-_*f-D*g-M*x;return e[0]=b*w+S*-_+N*-M-K*-D,e[1]=N*w+S*-D+K*-_-b*-M,e[2]=K*w+S*-M+b*-D-N*-_,e},r.rotateX=function(e,t,a,f){var g=[],x=[];return g[0]=t[0]-a[0],g[1]=t[1]-a[1],g[2]=t[2]-a[2],x[0]=g[0],x[1]=g[1]*Math.cos(f)-g[2]*Math.sin(f),x[2]=g[1]*Math.sin(f)+g[2]*Math.cos(f),e[0]=x[0]+a[0],e[1]=x[1]+a[1],e[2]=x[2]+a[2],e},r.rotateY=function(e,t,a,f){var g=[],x=[];return g[0]=t[0]-a[0],g[1]=t[1]-a[1],g[2]=t[2]-a[2],x[0]=g[2]*Math.sin(f)+g[0]*Math.cos(f),x[1]=g[1],x[2]=g[2]*Math.cos(f)-g[0]*Math.sin(f),e[0]=x[0]+a[0],e[1]=x[1]+a[1],e[2]=x[2]+a[2],e},r.rotateZ=function(e,t,a,f){var g=[],x=[];return g[0]=t[0]-a[0],g[1]=t[1]-a[1],g[2]=t[2]-a[2],x[0]=g[0]*Math.cos(f)-g[1]*Math.sin(f),x[1]=g[0]*Math.sin(f)+g[1]*Math.cos(f),x[2]=g[2],e[0]=x[0]+a[0],e[1]=x[1]+a[1],e[2]=x[2]+a[2],e},r.forEach=function(){var e=r.create();return function(t,a,f,g,x,_){var D,M;for(a||(a=3),f||(f=0),g?M=Math.min(g*a+f,t.length):M=t.length,D=f;D1?0:Math.acos(g)},r.str=function(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"},typeof v!="undefined"&&(v.vec3=r);var n={};n.create=function(){var e=new A(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e},n.clone=function(e){var t=new A(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},n.fromValues=function(e,t,a,f){var g=new A(4);return g[0]=e,g[1]=t,g[2]=a,g[3]=f,g},n.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},n.set=function(e,t,a,f,g){return e[0]=t,e[1]=a,e[2]=f,e[3]=g,e},n.add=function(e,t,a){return e[0]=t[0]+a[0],e[1]=t[1]+a[1],e[2]=t[2]+a[2],e[3]=t[3]+a[3],e},n.subtract=function(e,t,a){return e[0]=t[0]-a[0],e[1]=t[1]-a[1],e[2]=t[2]-a[2],e[3]=t[3]-a[3],e},n.sub=n.subtract,n.multiply=function(e,t,a){return e[0]=t[0]*a[0],e[1]=t[1]*a[1],e[2]=t[2]*a[2],e[3]=t[3]*a[3],e},n.mul=n.multiply,n.divide=function(e,t,a){return e[0]=t[0]/a[0],e[1]=t[1]/a[1],e[2]=t[2]/a[2],e[3]=t[3]/a[3],e},n.div=n.divide,n.min=function(e,t,a){return e[0]=Math.min(t[0],a[0]),e[1]=Math.min(t[1],a[1]),e[2]=Math.min(t[2],a[2]),e[3]=Math.min(t[3],a[3]),e},n.max=function(e,t,a){return e[0]=Math.max(t[0],a[0]),e[1]=Math.max(t[1],a[1]),e[2]=Math.max(t[2],a[2]),e[3]=Math.max(t[3],a[3]),e},n.scale=function(e,t,a){return e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e[3]=t[3]*a,e},n.scaleAndAdd=function(e,t,a,f){return e[0]=t[0]+a[0]*f,e[1]=t[1]+a[1]*f,e[2]=t[2]+a[2]*f,e[3]=t[3]+a[3]*f,e},n.distance=function(e,t){var a=t[0]-e[0],f=t[1]-e[1],g=t[2]-e[2],x=t[3]-e[3];return Math.sqrt(a*a+f*f+g*g+x*x)},n.dist=n.distance,n.squaredDistance=function(e,t){var a=t[0]-e[0],f=t[1]-e[1],g=t[2]-e[2],x=t[3]-e[3];return a*a+f*f+g*g+x*x},n.sqrDist=n.squaredDistance,n.length=function(e){var t=e[0],a=e[1],f=e[2],g=e[3];return Math.sqrt(t*t+a*a+f*f+g*g)},n.len=n.length,n.squaredLength=function(e){var t=e[0],a=e[1],f=e[2],g=e[3];return t*t+a*a+f*f+g*g},n.sqrLen=n.squaredLength,n.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e},n.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e},n.normalize=function(e,t){var a=t[0],f=t[1],g=t[2],x=t[3],_=a*a+f*f+g*g+x*x;return _>0&&(_=1/Math.sqrt(_),e[0]=t[0]*_,e[1]=t[1]*_,e[2]=t[2]*_,e[3]=t[3]*_),e},n.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},n.lerp=function(e,t,a,f){var g=t[0],x=t[1],_=t[2],D=t[3];return e[0]=g+f*(a[0]-g),e[1]=x+f*(a[1]-x),e[2]=_+f*(a[2]-_),e[3]=D+f*(a[3]-D),e},n.random=function(e,t){return t=t||1,e[0]=y(),e[1]=y(),e[2]=y(),e[3]=y(),n.normalize(e,e),n.scale(e,e,t),e},n.transformMat4=function(e,t,a){var f=t[0],g=t[1],x=t[2],_=t[3];return e[0]=a[0]*f+a[4]*g+a[8]*x+a[12]*_,e[1]=a[1]*f+a[5]*g+a[9]*x+a[13]*_,e[2]=a[2]*f+a[6]*g+a[10]*x+a[14]*_,e[3]=a[3]*f+a[7]*g+a[11]*x+a[15]*_,e},n.transformQuat=function(e,t,a){var f=t[0],g=t[1],x=t[2],_=a[0],D=a[1],M=a[2],w=a[3],b=w*f+D*x-M*g,N=w*g+M*f-_*x,K=w*x+_*g-D*f,S=-_*f-D*g-M*x;return e[0]=b*w+S*-_+N*-M-K*-D,e[1]=N*w+S*-D+K*-_-b*-M,e[2]=K*w+S*-M+b*-D-N*-_,e},n.forEach=function(){var e=n.create();return function(t,a,f,g,x,_){var D,M;for(a||(a=4),f||(f=0),g?M=Math.min(g*a+f,t.length):M=t.length,D=f;D.999999?(f[0]=0,f[1]=0,f[2]=0,f[3]=1,f):(r.cross(e,g,x),f[0]=e[0],f[1]=e[1],f[2]=e[2],f[3]=1+_,d.normalize(f,f))}}(),d.setAxes=function(){var e=s.create();return function(t,a,f,g){return e[0]=f[0],e[3]=f[1],e[6]=f[2],e[1]=g[0],e[4]=g[1],e[7]=g[2],e[2]=-a[0],e[5]=-a[1],e[8]=-a[2],d.normalize(t,d.fromMat3(t,e))}}(),d.clone=n.clone,d.fromValues=n.fromValues,d.copy=n.copy,d.set=n.set,d.identity=function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},d.setAxisAngle=function(e,t,a){a=a*.5;var f=Math.sin(a);return e[0]=f*t[0],e[1]=f*t[1],e[2]=f*t[2],e[3]=Math.cos(a),e},d.add=n.add,d.multiply=function(e,t,a){var f=t[0],g=t[1],x=t[2],_=t[3],D=a[0],M=a[1],w=a[2],b=a[3];return e[0]=f*b+_*D+g*w-x*M,e[1]=g*b+_*M+x*D-f*w,e[2]=x*b+_*w+f*M-g*D,e[3]=_*b-f*D-g*M-x*w,e},d.mul=d.multiply,d.scale=n.scale,d.rotateX=function(e,t,a){a*=.5;var f=t[0],g=t[1],x=t[2],_=t[3],D=Math.sin(a),M=Math.cos(a);return e[0]=f*M+_*D,e[1]=g*M+x*D,e[2]=x*M-g*D,e[3]=_*M-f*D,e},d.rotateY=function(e,t,a){a*=.5;var f=t[0],g=t[1],x=t[2],_=t[3],D=Math.sin(a),M=Math.cos(a);return e[0]=f*M-x*D,e[1]=g*M+_*D,e[2]=x*M+f*D,e[3]=_*M-g*D,e},d.rotateZ=function(e,t,a){a*=.5;var f=t[0],g=t[1],x=t[2],_=t[3],D=Math.sin(a),M=Math.cos(a);return e[0]=f*M+g*D,e[1]=g*M-f*D,e[2]=x*M+_*D,e[3]=_*M-x*D,e},d.calculateW=function(e,t){var a=t[0],f=t[1],g=t[2];return e[0]=a,e[1]=f,e[2]=g,e[3]=Math.sqrt(Math.abs(1-a*a-f*f-g*g)),e},d.dot=n.dot,d.lerp=n.lerp,d.slerp=function(e,t,a,f){var g=t[0],x=t[1],_=t[2],D=t[3],M=a[0],w=a[1],b=a[2],N=a[3],K,S,B,O,U;return S=g*M+x*w+_*b+D*N,S<0&&(S=-S,M=-M,w=-w,b=-b,N=-N),1-S>1e-6?(K=Math.acos(S),B=Math.sin(K),O=Math.sin((1-f)*K)/B,U=Math.sin(f*K)/B):(O=1-f,U=f),e[0]=O*g+U*M,e[1]=O*x+U*w,e[2]=O*_+U*b,e[3]=O*D+U*N,e},d.invert=function(e,t){var a=t[0],f=t[1],g=t[2],x=t[3],_=a*a+f*f+g*g+x*x,D=_?1/_:0;return e[0]=-a*D,e[1]=-f*D,e[2]=-g*D,e[3]=x*D,e},d.conjugate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e},d.length=n.length,d.len=d.length,d.squaredLength=n.squaredLength,d.sqrLen=d.squaredLength,d.normalize=n.normalize,d.fromMat3=function(e,t){var a=t[0]+t[4]+t[8],f;if(a>0)f=Math.sqrt(a+1),e[3]=.5*f,f=.5/f,e[0]=(t[5]-t[7])*f,e[1]=(t[6]-t[2])*f,e[2]=(t[1]-t[3])*f;else{var g=0;t[4]>t[0]&&(g=1),t[8]>t[g*3+g]&&(g=2);var x=(g+1)%3,_=(g+2)%3;f=Math.sqrt(t[g*3+g]-t[x*3+x]-t[_*3+_]+1),e[g]=.5*f,f=.5/f,e[3]=(t[x*3+_]-t[_*3+x])*f,e[x]=(t[x*3+g]+t[g*3+x])*f,e[_]=(t[_*3+g]+t[g*3+_])*f}return e},d.str=function(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},typeof v!="undefined"&&(v.quat=d)}(h.exports)})(this)},function(J,W,E){"use strict";var R=E(24),h=E(46),v=E(5),m=E(6),A=E(7),y=E(17),u=E(28),c=E(13),p=E(0),r=E.n(p),n=E(29),o=E(53),i=E.n(o),s=E(54),l=E(106),d=E(107),e=E(113),t=E(114),a=E(3),f=E(68),g=E(37),x=E(69),_=E(116),D=E(70),M=E(71),w=E(72),b=E(36),N=E(30),K=E(23),S=E(4),B=E(117),O=E(50),U=E(118),F=E(119),H=E(120),Y=E(9),ne=E(67),ae=E(49),me=E(15),Ce=E(52),ge=E(121),pe=E(126),we=E(63),De=E(127),Se=E(128),ve=E(129),Ee=E(130),Re=E(131),qe=E(132);r.a.util.extend(u.a.prototype,ge.a),A.a.import(pe.a),A.a.import(we.a),A.a.import(De.a),A.a.import(Se.a),A.a.import(ve.a),A.a.import(Ee.a),A.a.import(Re.a),A.a.import(qe.a);function Ie(he){return!he||he==="none"}function Fe(he){return he instanceof HTMLCanvasElement||he instanceof HTMLImageElement||he instanceof Image}function ze(he){return he.getZr&&he.setOption}var z=n.a.prototype.addToScene,_e=n.a.prototype.removeFromScene;n.a.prototype.addToScene=function(he){if(z.call(this,he),this.__zr){var Pe=this.__zr;he.traverse(function(We){We.__zr=Pe,We.addAnimatorsToZr&&We.addAnimatorsToZr(Pe)})}},n.a.prototype.removeFromScene=function(he){_e.call(this,he),he.traverse(function(Pe){var We=Pe.__zr;Pe.__zr=null,We&&Pe.removeAnimatorsFromZr&&Pe.removeAnimatorsFromZr(We)})},y.a.prototype.setTextureImage=function(he,Pe,We,ht){if(this.shader){var _t=We.getZr(),Nt=this,xt;return Nt.autoUpdateTextureStatus=!1,Nt.disableTexture(he),Ie(Pe)||(xt=ie.loadTexture(Pe,We,ht,function(Dt){Nt.enableTexture(he),_t&&_t.refresh()}),Nt.set(he,xt)),xt}};var ie={};ie.Renderer=h.a,ie.Node=u.a,ie.Mesh=R.a,ie.Shader=A.a,ie.Material=y.a,ie.Texture=m.a,ie.Texture2D=v.a,ie.Geometry=c.a,ie.SphereGeometry=f.a,ie.PlaneGeometry=g.a,ie.CubeGeometry=x.a,ie.AmbientLight=_.a,ie.DirectionalLight=D.a,ie.PointLight=M.a,ie.SpotLight=w.a,ie.PerspectiveCamera=b.a,ie.OrthographicCamera=N.a,ie.Vector2=K.a,ie.Vector3=S.a,ie.Vector4=B.a,ie.Quaternion=O.a,ie.Matrix2=U.a,ie.Matrix2d=F.a,ie.Matrix3=H.a,ie.Matrix4=Y.a,ie.Plane=ne.a,ie.Ray=ae.a,ie.BoundingBox=me.a,ie.Frustum=Ce.a;var Ae=s.a.createBlank("rgba(255,255,255,0)").image;function de(he){return Math.pow(2,Math.round(Math.log(he)/Math.LN2))}function se(he){if((he.wrapS===m.a.REPEAT||he.wrapT===m.a.REPEAT)&&he.image){var Pe=de(he.width),We=de(he.height);if(Pe!==he.width||We!==he.height){var ht=document.createElement("canvas");ht.width=Pe,ht.height=We;var _t=ht.getContext("2d");_t.drawImage(he.image,0,0,Pe,We),he.image=ht}}}ie.loadTexture=function(he,Pe,We,ht){typeof We=="function"&&(ht=We,We={}),We=We||{};for(var _t=Object.keys(We).sort(),Nt="",xt=0;xt<_t.length;xt++)Nt+=_t[xt]+"_"+We[_t[xt]]+"_";var Dt=Pe.__textureCache=Pe.__textureCache||new i.a(20);if(ze(he)){var Tt=he.__textureid__,Ft=Dt.get(Nt+Tt);if(Ft)Ft.texture.surface.setECharts(he),ht&&ht(Ft.texture);else{var nt=new l.a(he);nt.onupdate=function(){Pe.getZr().refresh()},Ft={texture:nt.getTexture()};for(var xt=0;xt<_t.length;xt++)Ft.texture[_t[xt]]=We[_t[xt]];Tt=he.__textureid__||"__ecgl_ec__"+Ft.texture.__uid__,he.__textureid__=Tt,Dt.put(Nt+Tt,Ft),ht&&ht(Ft.texture)}return Ft.texture}else if(Fe(he)){var Tt=he.__textureid__,Ft=Dt.get(Nt+Tt);if(!Ft){Ft={texture:new ie.Texture2D({image:he})};for(var xt=0;xt<_t.length;xt++)Ft.texture[_t[xt]]=We[_t[xt]];Tt=he.__textureid__||"__ecgl_image__"+Ft.texture.__uid__,he.__textureid__=Tt,Dt.put(Nt+Tt,Ft),se(Ft.texture),ht&&ht(Ft.texture)}return Ft.texture}else{var Ft=Dt.get(Nt+he);if(Ft)Ft.callbacks?Ft.callbacks.push(ht):ht&&ht(Ft.texture);else if(he.match(/.hdr$|^data:application\/octet-stream/)){Ft={callbacks:[ht]};var Gt=s.a.loadTexture(he,{exposure:We.exposure,fileType:"hdr"},function(){Gt.dirty(),Ft.callbacks.forEach(function(Pt){Pt&&Pt(Gt)}),Ft.callbacks=null});Ft.texture=Gt,Dt.put(Nt+he,Ft)}else{for(var Gt=new ie.Texture2D({image:new Image}),xt=0;xt<_t.length;xt++)Gt[_t[xt]]=We[_t[xt]];Ft={texture:Gt,callbacks:[ht]};var Tr=Gt.image;Tr.onload=function(){Gt.image=Tr,se(Gt),Gt.dirty(),Ft.callbacks.forEach(function(Sr){Sr&&Sr(Gt)}),Ft.callbacks=null},Tr.src=he,Gt.image=Ae,Dt.put(Nt+he,Ft)}return Ft.texture}},ie.createAmbientCubemap=function(he,Pe,We,ht){he=he||{};var _t=he.texture,Nt=a.a.firstNotNull(he.exposure,1),xt=new d.a({intensity:a.a.firstNotNull(he.specularIntensity,1)}),Dt=new e.a({intensity:a.a.firstNotNull(he.diffuseIntensity,1),coefficients:[.844,.712,.691,-.037,.083,.167,.343,.288,.299,-.041,-.021,-.009,-.003,-.041,-.064,-.011,-.007,-.004,-.031,.034,.081,-.06,-.049,-.06,.046,.056,.05]});return xt.cubemap=ie.loadTexture(_t,We,{exposure:Nt},function(){xt.cubemap.flipY=!1,xt.prefilter(Pe,32),Dt.coefficients=t.a.projectEnvironmentMap(Pe,xt.cubemap,{lod:1}),ht&&ht()}),{specular:xt,diffuse:Dt}},ie.createBlankTexture=s.a.createBlank,ie.isImage=Fe,ie.additiveBlend=function(he){he.blendEquation(he.FUNC_ADD),he.blendFunc(he.SRC_ALPHA,he.ONE)},ie.parseColor=function(he,Pe){return he instanceof Array?(Pe||(Pe=[]),Pe[0]=he[0],Pe[1]=he[1],Pe[2]=he[2],he.length>3?Pe[3]=he[3]:Pe[3]=1,Pe):(Pe=r.a.color.parse(he||"#000",Pe)||[0,0,0,0],Pe[0]/=255,Pe[1]/=255,Pe[2]/=255,Pe)},ie.directionFromAlphaBeta=function(he,Pe){var We=he/180*Math.PI+Math.PI/2,ht=-Pe/180*Math.PI+Math.PI/2,_t=[],Nt=Math.sin(We);return _t[0]=Nt*Math.cos(ht),_t[1]=-Math.cos(We),_t[2]=Nt*Math.sin(ht),_t},ie.getShadowResolution=function(he){var Pe=1024;switch(he){case"low":Pe=512;break;case"medium":break;case"high":Pe=2048;break;case"ultra":Pe=4096;break}return Pe},ie.COMMON_SHADERS=["lambert","color","realistic","hatching"],ie.createShader=function(he){var Pe=A.a.source(he+".vertex"),We=A.a.source(he+".fragment");Pe||console.error("Vertex shader of '%s' not exits",he),We||console.error("Fragment shader of '%s' not exits",he);var ht=new A.a(Pe,We);return ht.name=he,ht},ie.createMaterial=function(he,Pe){Pe instanceof Array||(Pe=[Pe]);var We=ie.createShader(he),ht=new y.a({shader:We});return Pe.forEach(function(_t){typeof _t=="string"&&ht.define(_t)}),ht},ie.setMaterialFromModel=function(he,Pe,We,ht){Pe.autoUpdateTextureStatus=!1;var _t=We.getModel(he+"Material"),Nt=_t.get("detailTexture"),xt=a.a.firstNotNull(_t.get("textureTiling"),1),Dt=a.a.firstNotNull(_t.get("textureOffset"),0);typeof xt=="number"&&(xt=[xt,xt]),typeof Dt=="number"&&(Dt=[Dt,Dt]);var Tt=xt[0]>1||xt[1]>1?ie.Texture.REPEAT:ie.Texture.CLAMP_TO_EDGE,Ft={anisotropic:8,wrapS:Tt,wrapT:Tt};if(he==="realistic"){var nt=_t.get("roughness"),Gt=_t.get("metalness");Gt!=null?isNaN(Gt)&&(Pe.setTextureImage("metalnessMap",Gt,ht,Ft),Gt=a.a.firstNotNull(_t.get("metalnessAdjust"),.5)):Gt=0,nt!=null?isNaN(nt)&&(Pe.setTextureImage("roughnessMap",nt,ht,Ft),nt=a.a.firstNotNull(_t.get("roughnessAdjust"),.5)):nt=.5;var Tr=_t.get("normalTexture");Pe.setTextureImage("detailMap",Nt,ht,Ft),Pe.setTextureImage("normalMap",Tr,ht,Ft),Pe.set({roughness:nt,metalness:Gt,detailUvRepeat:xt,detailUvOffset:Dt})}else if(he==="lambert")Pe.setTextureImage("detailMap",Nt,ht,Ft),Pe.set({detailUvRepeat:xt,detailUvOffset:Dt});else if(he==="color")Pe.setTextureImage("detailMap",Nt,ht,Ft),Pe.set({detailUvRepeat:xt,detailUvOffset:Dt});else if(he==="hatching"){var rr=_t.get("hatchingTextures")||[];rr.length<6&&console.error("Invalid hatchingTextures.");for(var Pt=0;Pt<6;Pt++)Pe.setTextureImage("hatch"+(Pt+1),rr[Pt],ht,{anisotropic:8,wrapS:ie.Texture.REPEAT,wrapT:ie.Texture.REPEAT});Pe.set({detailUvRepeat:xt,detailUvOffset:Dt})}},ie.updateVertexAnimation=function(he,Pe,We,ht){var _t=ht.get("animation"),Nt=ht.get("animationDurationUpdate"),xt=ht.get("animationEasingUpdate"),Dt=We.shadowDepthMaterial;if(_t&&Pe&&Nt>0&&Pe.geometry.vertexCount===We.geometry.vertexCount){We.material.define("vertex","VERTEX_ANIMATION"),We.ignorePreZ=!0,Dt&&Dt.define("vertex","VERTEX_ANIMATION");for(var Tt=0;Tti?i:n}var c=Math.atan2,p=Math.asin,r=Math.abs;m.eulerFromQuat=function(n,o,_){n._dirty=!0,o=o.array;var s=n.array,l=o[0],d=o[1],e=o[2],t=o[3],a=l*l,f=d*d,g=e*e,x=t*t,_=(_||"XYZ").toUpperCase();switch(_){case"XYZ":s[0]=c(2*(l*t-d*e),x-a-f+g),s[1]=p(u(2*(l*e+d*t),-1,1)),s[2]=c(2*(e*t-l*d),x+a-f-g);break;case"YXZ":s[0]=p(u(2*(l*t-d*e),-1,1)),s[1]=c(2*(l*e+d*t),x-a-f+g),s[2]=c(2*(l*d+e*t),x-a+f-g);break;case"ZXY":s[0]=p(u(2*(l*t+d*e),-1,1)),s[1]=c(2*(d*t-e*l),x-a-f+g),s[2]=c(2*(e*t-l*d),x-a+f-g);break;case"ZYX":s[0]=c(2*(l*t+e*d),x-a-f+g),s[1]=p(u(2*(d*t-l*e),-1,1)),s[2]=c(2*(l*d+e*t),x+a-f-g);break;case"YZX":s[0]=c(2*(l*t-e*d),x-a+f-g),s[1]=c(2*(d*t-l*e),x+a-f-g),s[2]=p(u(2*(l*d+e*t),-1,1));break;case"XZY":s[0]=c(2*(l*t+d*e),x-a+f-g),s[1]=c(2*(l*e+d*t),x+a-f-g),s[2]=p(u(2*(e*t-l*d),-1,1));break;default:console.warn("Unkown order: "+_)}return n},m.eulerFromMat3=function(n,o,M){var s=o.array,l=s[0],d=s[3],e=s[6],t=s[1],a=s[4],f=s[7],g=s[2],x=s[5],_=s[8],D=n.array,M=(M||"XYZ").toUpperCase();switch(M){case"XYZ":D[1]=p(u(e,-1,1)),r(e)<.99999?(D[0]=c(-f,_),D[2]=c(-d,l)):(D[0]=c(x,a),D[2]=0);break;case"YXZ":D[0]=p(-u(f,-1,1)),r(f)<.99999?(D[1]=c(e,_),D[2]=c(t,a)):(D[1]=c(-g,l),D[2]=0);break;case"ZXY":D[0]=p(u(x,-1,1)),r(x)<.99999?(D[1]=c(-g,_),D[2]=c(-d,a)):(D[1]=0,D[2]=c(t,l));break;case"ZYX":D[1]=p(-u(g,-1,1)),r(g)<.99999?(D[0]=c(x,_),D[2]=c(t,l)):(D[0]=0,D[2]=c(-d,a));break;case"YZX":D[2]=p(u(t,-1,1)),r(t)<.99999?(D[0]=c(-f,a),D[1]=c(-g,l)):(D[0]=0,D[1]=c(e,_));break;case"XZY":D[2]=p(-u(d,-1,1)),r(d)<.99999?(D[0]=c(x,a),D[1]=c(e,l)):(D[0]=c(-f,_),D[1]=0);break;default:console.warn("Unkown order: "+M)}return n._dirty=!0,n},m.POSITIVE_X=new m(1,0,0),m.NEGATIVE_X=new m(-1,0,0),m.POSITIVE_Y=new m(0,1,0),m.NEGATIVE_Y=new m(0,-1,0),m.POSITIVE_Z=new m(0,0,1),m.NEGATIVE_Z=new m(0,0,-1),m.UP=new m(0,1,0),m.ZERO=new m(0,0,0),W.a=m},function(J,W,E){"use strict";var R=E(6),h=E(11),v=E(66),m=v.a.isPowerOfTwo,A=R.a.extend(function(){return{image:null,pixels:null,mipmaps:[]}},{update:function(y){var u=y.gl;u.bindTexture(u.TEXTURE_2D,this._cache.get("webgl_texture")),this.updateCommon(y);var c=this.format,p=this.type;u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_S,this.getAvailableWrapS()),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_T,this.getAvailableWrapT()),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var r=y.getGLExtension("EXT_texture_filter_anisotropic");if(r&&this.anisotropic>1&&u.texParameterf(u.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),p===36193){var n=y.getGLExtension("OES_texture_half_float");n||(p=h.a.FLOAT)}if(this.mipmaps.length)for(var o=this.width,i=this.height,s=0;s=R.a.COMPRESSED_RGB_S3TC_DXT1_EXT?y.compressedTexImage2D(y.TEXTURE_2D,c,n,p,r,0,u.pixels):y.texImage2D(y.TEXTURE_2D,c,n,p,r,0,n,o,u.pixels)},generateMipmap:function(y){var u=y.gl;this.useMipmap&&!this.NPOT&&(u.bindTexture(u.TEXTURE_2D,this._cache.get("webgl_texture")),u.generateMipmap(u.TEXTURE_2D))},isPowerOfTwo:function(){var y,u;return this.image?(y=this.image.width,u=this.image.height):(y=this.width,u=this.height),m(y)&&m(u)},isRenderable:function(){return this.image?this.image.nodeName==="CANVAS"||this.image.nodeName==="VIDEO"||this.image.complete:!!(this.width&&this.height)},bind:function(y){y.gl.bindTexture(y.gl.TEXTURE_2D,this.getWebGLTexture(y))},unbind:function(y){y.gl.bindTexture(y.gl.TEXTURE_2D,null)},load:function(y,u){var c=new Image;u&&(c.crossOrigin=u);var p=this;return c.onload=function(){p.dirty(),p.trigger("success",p),c.onload=null},c.onerror=function(){p.trigger("error",p),c.onerror=null},c.src=y,this.image=c,this}});Object.defineProperty(A.prototype,"width",{get:function(){return this.image?this.image.width:this._width},set:function(y){this.image?console.warn("Texture from image can't set width"):(this._width!==y&&this.dirty(),this._width=y)}}),Object.defineProperty(A.prototype,"height",{get:function(){return this.image?this.image.height:this._height},set:function(y){this.image?console.warn("Texture from image can't set height"):(this._height!==y&&this.dirty(),this._height=y)}}),W.a=A},function(J,W,E){"use strict";var R=E(8),h=E(11),v=E(48),m=R.a.extend({width:512,height:512,type:h.a.UNSIGNED_BYTE,format:h.a.RGBA,wrapS:h.a.REPEAT,wrapT:h.a.REPEAT,minFilter:h.a.LINEAR_MIPMAP_LINEAR,magFilter:h.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,sRGB:!0,unpackAlignment:4,premultiplyAlpha:!1,dynamic:!1,NPOT:!1},function(){this._cache=new v.a},{getWebGLTexture:function(A){var y=A.gl,u=this._cache;return u.use(A.__uid__),u.miss("webgl_texture")&&u.put("webgl_texture",y.createTexture()),this.dynamic?this.update(A):u.isDirty()&&(this.update(A),u.fresh()),u.get("webgl_texture")},bind:function(){},unbind:function(){},dirty:function(){this._cache&&this._cache.dirtyAll()},update:function(A){},updateCommon:function(A){var y=A.gl;y.pixelStorei(y.UNPACK_FLIP_Y_WEBGL,this.flipY),y.pixelStorei(y.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),y.pixelStorei(y.UNPACK_ALIGNMENT,this.unpackAlignment),this.format===h.a.DEPTH_COMPONENT&&(this.useMipmap=!1);var u=A.getGLExtension("EXT_sRGB");this.format===m.SRGB&&!u&&(this.format=m.RGB),this.format===m.SRGB_ALPHA&&!u&&(this.format=m.RGBA),this.NPOT=!this.isPowerOfTwo()},getAvailableWrapS:function(){return this.NPOT?h.a.CLAMP_TO_EDGE:this.wrapS},getAvailableWrapT:function(){return this.NPOT?h.a.CLAMP_TO_EDGE:this.wrapT},getAvailableMinFilter:function(){var A=this.minFilter;return this.NPOT||!this.useMipmap?A==h.a.NEAREST_MIPMAP_NEAREST||A==h.a.NEAREST_MIPMAP_LINEAR?h.a.NEAREST:A==h.a.LINEAR_MIPMAP_LINEAR||A==h.a.LINEAR_MIPMAP_NEAREST?h.a.LINEAR:A:A},getAvailableMagFilter:function(){return this.magFilter},nextHighestPowerOfTwo:function(A){--A;for(var y=1;y<32;y<<=1)A=A|A>>y;return A+1},dispose:function(A){var y=this._cache;y.use(A.__uid__);var u=y.get("webgl_texture");u&&A.gl.deleteTexture(u),y.deleteContext(A.__uid__)},isRenderable:function(){},isPowerOfTwo:function(){}});Object.defineProperty(m.prototype,"width",{get:function(){return this._width},set:function(A){this._width=A}}),Object.defineProperty(m.prototype,"height",{get:function(){return this._height},set:function(A){this._height=A}}),m.BYTE=h.a.BYTE,m.UNSIGNED_BYTE=h.a.UNSIGNED_BYTE,m.SHORT=h.a.SHORT,m.UNSIGNED_SHORT=h.a.UNSIGNED_SHORT,m.INT=h.a.INT,m.UNSIGNED_INT=h.a.UNSIGNED_INT,m.FLOAT=h.a.FLOAT,m.HALF_FLOAT=36193,m.UNSIGNED_INT_24_8_WEBGL=34042,m.DEPTH_COMPONENT=h.a.DEPTH_COMPONENT,m.DEPTH_STENCIL=h.a.DEPTH_STENCIL,m.ALPHA=h.a.ALPHA,m.RGB=h.a.RGB,m.RGBA=h.a.RGBA,m.LUMINANCE=h.a.LUMINANCE,m.LUMINANCE_ALPHA=h.a.LUMINANCE_ALPHA,m.SRGB=35904,m.SRGB_ALPHA=35906,m.COMPRESSED_RGB_S3TC_DXT1_EXT=33776,m.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777,m.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778,m.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779,m.NEAREST=h.a.NEAREST,m.LINEAR=h.a.LINEAR,m.NEAREST_MIPMAP_NEAREST=h.a.NEAREST_MIPMAP_NEAREST,m.LINEAR_MIPMAP_NEAREST=h.a.LINEAR_MIPMAP_NEAREST,m.NEAREST_MIPMAP_LINEAR=h.a.NEAREST_MIPMAP_LINEAR,m.LINEAR_MIPMAP_LINEAR=h.a.LINEAR_MIPMAP_LINEAR,m.REPEAT=h.a.REPEAT,m.CLAMP_TO_EDGE=h.a.CLAMP_TO_EDGE,m.MIRRORED_REPEAT=h.a.MIRRORED_REPEAT,W.a=m},function(J,W,E){"use strict";var R=E(21),h=E(18),v=E(1),m=E.n(v),A=m.a.mat2,y=m.a.mat3,u=m.a.mat4,c=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\w\,]+)?(\[.*?\])?\s*(:\s*([\S\s]+?))?;/g,p=/attribute\s+(float|int|vec2|vec3|vec4)\s+(\w*)\s*(:\s*(\w+))?;/g,r=/#define\s+(\w+)?(\s+[\w-.]+)?\s*;?\s*\n/g,n={bool:"1i",int:"1i",sampler2D:"t",samplerCube:"t",float:"1f",vec2:"2f",vec3:"3f",vec4:"4f",ivec2:"2i",ivec3:"3i",ivec4:"4i",mat2:"m2",mat3:"m3",mat4:"m4"},o={bool:function(){return!0},int:function(){return 0},float:function(){return 0},sampler2D:function(){return null},samplerCube:function(){return null},vec2:function(){return[0,0]},vec3:function(){return[0,0,0]},vec4:function(){return[0,0,0,0]},ivec2:function(){return[0,0]},ivec3:function(){return[0,0,0]},ivec4:function(){return[0,0,0,0]},mat2:function(){return A.create()},mat3:function(){return y.create()},mat4:function(){return u.create()},array:function(){return[]}},i=["POSITION","NORMAL","BINORMAL","TANGENT","TEXCOORD","TEXCOORD_0","TEXCOORD_1","COLOR","JOINT","WEIGHT"],s=["SKIN_MATRIX","VIEWPORT_SIZE","VIEWPORT","DEVICEPIXELRATIO","WINDOW_SIZE","NEAR","FAR","TIME"],l=["WORLD","VIEW","PROJECTION","WORLDVIEW","VIEWPROJECTION","WORLDVIEWPROJECTION","WORLDINVERSE","VIEWINVERSE","PROJECTIONINVERSE","WORLDVIEWINVERSE","VIEWPROJECTIONINVERSE","WORLDVIEWPROJECTIONINVERSE","WORLDTRANSPOSE","VIEWTRANSPOSE","PROJECTIONTRANSPOSE","WORLDVIEWTRANSPOSE","VIEWPROJECTIONTRANSPOSE","WORLDVIEWPROJECTIONTRANSPOSE","WORLDINVERSETRANSPOSE","VIEWINVERSETRANSPOSE","PROJECTIONINVERSETRANSPOSE","WORLDVIEWINVERSETRANSPOSE","VIEWPROJECTIONINVERSETRANSPOSE","WORLDVIEWPROJECTIONINVERSETRANSPOSE"],d={},e={};function t(x,_){var D="vertex:"+x+"fragment:"+_;if(d[D])return d[D];var M=R.a.genGUID();return d[D]=M,e[M]={vertex:x,fragment:_},M}function a(x,_){typeof x=="object"&&(_=x.fragment,x=x.vertex),this._shaderID=t(x,_),this._vertexCode=a.parseImport(x),this._fragmentCode=a.parseImport(_),this.attributeSemantics={},this.matrixSemantics={},this.uniformSemantics={},this.matrixSemanticKeys=[],this.uniformTemplates={},this.attributes={},this.textures={},this.vertexDefines={},this.fragmentDefines={},this._parseAttributes(),this._parseUniforms(),this._parseDefines()}a.prototype={constructor:a,createUniforms:function(){var x={};for(var _ in this.uniformTemplates){var D=this.uniformTemplates[_];x[_]={type:D.type,value:D.value()}}return x},_parseImport:function(){this._vertexCode=a.parseImport(this.vertex),this._fragmentCode=a.parseImport(this.fragment)},_parseUniforms:function(){var x={},_=this,D="vertex";this._uniformList=[],this._vertexCode=this._vertexCode.replace(c,M),D="fragment",this._fragmentCode=this._fragmentCode.replace(c,M),_.matrixSemanticKeys=Object.keys(this.matrixSemantics);function M(w,b,N,K,S,B){if(b&&N){var O=n[b],U=!0,F;if(O){if(_._uniformList.push(N),(b==="sampler2D"||b==="samplerCube")&&(_.textures[N]={shaderType:D,type:b}),K&&(O+="v"),B)if(i.indexOf(B)>=0)_.attributeSemantics[B]={symbol:N,type:O},U=!1;else if(l.indexOf(B)>=0){var H=!1,Y=B;B.match(/TRANSPOSE$/)&&(H=!0,Y=B.slice(0,-9)),_.matrixSemantics[B]={symbol:N,type:O,isTranspose:H,semanticNoTranspose:Y},U=!1}else if(s.indexOf(B)>=0)_.uniformSemantics[B]={symbol:N,type:O},U=!1;else if(B==="unconfigurable")U=!1;else if(F=_._parseDefaultValue(b,B),F)B="";else throw new Error('Unkown semantic "'+B+'"');U&&(x[N]={type:O,value:K?o.array:F||o[b],semantic:B||null})}return["uniform",b,N,K].join(" ")+`; `}}this.uniformTemplates=x},_parseDefaultValue:function(x,_){var D=/\[\s*(.*)\s*\]/;if(x==="vec2"||x==="vec3"||x==="vec4"){var M=D.exec(_)[1];if(M){var w=M.split(/\s*,\s*/);return function(){return new h.a.Float32Array(w)}}else return}else{if(x==="bool")return function(){return _.toLowerCase()==="true"};if(x==="float")return function(){return parseFloat(_)};if(x==="int")return function(){return parseInt(_)}}},_parseAttributes:function(){var x={},_=this;this._vertexCode=this._vertexCode.replace(p,D);function D(M,w,b,N,K){if(w&&b){var S=1;switch(w){case"vec4":S=4;break;case"vec3":S=3;break;case"vec2":S=2;break;case"float":S=1;break}if(x[b]={type:"float",size:S,semantic:K||null},K){if(i.indexOf(K)<0)throw new Error('Unkown semantic "'+K+'"');_.attributeSemantics[K]={symbol:b,type:w}}}return["attribute",w,b].join(" ")+`; `}this.attributes=x},_parseDefines:function(){var x=this,_="vertex";this._vertexCode=this._vertexCode.replace(r,D),_="fragment",this._fragmentCode=this._fragmentCode.replace(r,D);function D(M,w,b){var N=_==="vertex"?x.vertexDefines:x.fragmentDefines;return N[w]||(b=="false"?N[w]=!1:b=="true"?N[w]=!0:N[w]=b?isNaN(parseFloat(b))?b.trim():parseFloat(b):null),""}},clone:function(){var x=e[this._shaderID],_=new a(x.vertex,x.fragment);return _}},Object.defineProperty&&(Object.defineProperty(a.prototype,"shaderID",{get:function(){return this._shaderID}}),Object.defineProperty(a.prototype,"vertex",{get:function(){return this._vertexCode}}),Object.defineProperty(a.prototype,"fragment",{get:function(){return this._fragmentCode}}),Object.defineProperty(a.prototype,"uniforms",{get:function(){return this._uniformList}}));var f=/(@import)\s*([0-9a-zA-Z_\-\.]*)/g;a.parseImport=function(x){return x=x.replace(f,function(w,D,M){var w=a.source(M);return w?a.parseImport(w):(console.error('Shader chunk "'+M+'" not existed in library'),"")}),x};var g=/(@export)\s*([0-9a-zA-Z_\-\.]*)\s*\n([\s\S]*?)@end/g;a.import=function(x){x.replace(g,function(_,D,M,b){var b=b.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+\x24)/g,"");if(b){for(var N=M.split("."),K=a.codes,S=0,B;SD[0]&&(D[0]=w),b>D[1]&&(D[1]=b),N>D[2]&&(D[2]=N)}g._dirty=!0,x._dirty=!0}},dirty:function(){for(var a=this.getEnabledAttributes(),f=0;f=0){f||(f=r());var g=this.indices;return f[0]=g[a*3],f[1]=g[a*3+1],f[2]=g[a*3+2],f}},setTriangleIndices:function(a,f){var g=this.indices;g[a*3]=f[0],g[a*3+1]=f[1],g[a*3+2]=f[2]},isUseIndices:function(){return!!this.indices},initIndicesFromArray:function(a){var f,g=this.vertexCount>65535?m.a.Uint32Array:m.a.Uint16Array;if(a[0]&&a[0].length){var x=0,_=3;f=new g(a.length*_);for(var D=0;D=0?(f.splice(g,1),delete this.attributes[a],!0):!1},getAttribute:function(a){return this.attributes[a]},getEnabledAttributes:function(){var a=this._enabledAttributes,f=this._attributeList;if(a)return a;for(var g=[],x=this.vertexCount,_=0;_65535&&(this.indices=new m.a.Uint32Array(this.indices));for(var a=this.attributes,f=this.indices,g=this.getEnabledAttributes(),x={},_=0;_=l.COLOR_ATTACHMENT0&&t<=l.COLOR_ATTACHMENT0+8&&e.push(t);d.drawBuffersEXT(e)}}this.trigger("beforerender",this,i);var a=this.clearDepth?l.DEPTH_BUFFER_BIT:0;if(l.depthMask(!0),this.clearColor){a=a|l.COLOR_BUFFER_BIT,l.colorMask(!0,!0,!0,!0);var f=this.clearColor;Array.isArray(f)&&l.clearColor(f[0],f[1],f[2],f[3])}l.clear(a),this.blendWithPrevious?(l.enable(l.BLEND),this.material.transparent=!0):(l.disable(l.BLEND),this.material.transparent=!1),this.renderQuad(i),this.trigger("afterrender",this,i),s&&this.unbind(i,s)},renderQuad:function(i){r.material=this.material,i.renderPass([r],n)},dispose:function(i){}});W.a=o},function(J,W,E){"use strict";var R=E(4),h=E(1),v=E.n(h),m=v.a.vec3,A=m.copy,y=m.set,u=function(c,p){this.min=c||new R.a(1/0,1/0,1/0),this.max=p||new R.a(-1/0,-1/0,-1/0)};u.prototype={constructor:u,updateFromVertices:function(c){if(c.length>0){var p=this.min,r=this.max,n=p.array,o=r.array;A(n,c[0]),A(o,c[0]);for(var i=1;io[0]&&(o[0]=s[0]),s[1]>o[1]&&(o[1]=s[1]),s[2]>o[2]&&(o[2]=s[2])}p._dirty=!0,r._dirty=!0}},union:function(c){var p=this.min,r=this.max;return m.min(p.array,p.array,c.min.array),m.max(r.array,r.array,c.max.array),p._dirty=!0,r._dirty=!0,this},intersection:function(c){var p=this.min,r=this.max;return m.max(p.array,p.array,c.min.array),m.min(r.array,r.array,c.max.array),p._dirty=!0,r._dirty=!0,this},intersectBoundingBox:function(c){var p=this.min.array,r=this.max.array,n=c.min.array,o=c.max.array;return!(p[0]>o[0]||p[1]>o[1]||p[2]>o[2]||r[0]=o[0]&&r[1]>=o[1]&&r[2]>=o[2]},containPoint:function(c){var p=this.min.array,r=this.max.array,n=c.array;return p[0]<=n[0]&&p[1]<=n[1]&&p[2]<=n[2]&&r[0]>=n[0]&&r[1]>=n[1]&&r[2]>=n[2]},isFinite:function(){var c=this.min.array,p=this.max.array;return isFinite(c[0])&&isFinite(c[1])&&isFinite(c[2])&&isFinite(p[0])&&isFinite(p[1])&&isFinite(p[2])},applyTransform:function(){var c=m.create(),p=m.create(),r=m.create(),n=m.create(),o=m.create(),i=m.create();return function(s){var l=this.min.array,d=this.max.array,e=s.array;return c[0]=e[0]*l[0],c[1]=e[1]*l[0],c[2]=e[2]*l[0],p[0]=e[0]*d[0],p[1]=e[1]*d[0],p[2]=e[2]*d[0],r[0]=e[4]*l[1],r[1]=e[5]*l[1],r[2]=e[6]*l[1],n[0]=e[4]*d[1],n[1]=e[5]*d[1],n[2]=e[6]*d[1],o[0]=e[8]*l[2],o[1]=e[9]*l[2],o[2]=e[10]*l[2],i[0]=e[8]*d[2],i[1]=e[9]*d[2],i[2]=e[10]*d[2],l[0]=Math.min(c[0],p[0])+Math.min(r[0],n[0])+Math.min(o[0],i[0])+e[12],l[1]=Math.min(c[1],p[1])+Math.min(r[1],n[1])+Math.min(o[1],i[1])+e[13],l[2]=Math.min(c[2],p[2])+Math.min(r[2],n[2])+Math.min(o[2],i[2])+e[14],d[0]=Math.max(c[0],p[0])+Math.max(r[0],n[0])+Math.max(o[0],i[0])+e[12],d[1]=Math.max(c[1],p[1])+Math.max(r[1],n[1])+Math.max(o[1],i[1])+e[13],d[2]=Math.max(c[2],p[2])+Math.max(r[2],n[2])+Math.max(o[2],i[2])+e[14],this.min._dirty=!0,this.max._dirty=!0,this}}(),applyProjection:function(c){var p=this.min.array,r=this.max.array,n=c.array,o=p[0],i=p[1],s=p[2],l=r[0],d=r[1],e=p[2],t=r[0],a=r[1],f=r[2];if(n[15]===1)p[0]=n[0]*o+n[12],p[1]=n[5]*i+n[13],r[2]=n[10]*s+n[14],r[0]=n[0]*t+n[12],r[1]=n[5]*a+n[13],p[2]=n[10]*f+n[14];else{var g=-1/s;p[0]=n[0]*o*g,p[1]=n[5]*i*g,r[2]=(n[10]*s+n[14])*g,g=-1/e,r[0]=n[0]*l*g,r[1]=n[5]*d*g,g=-1/f,p[2]=(n[10]*f+n[14])*g}return this.min._dirty=!0,this.max._dirty=!0,this},updateVertices:function(){var c=this.vertices;if(!c){for(var c=[],p=0;p<8;p++)c[p]=m.fromValues(0,0,0);this.vertices=c}var r=this.min.array,n=this.max.array;return y(c[0],r[0],r[1],r[2]),y(c[1],r[0],n[1],r[2]),y(c[2],n[0],r[1],r[2]),y(c[3],n[0],n[1],r[2]),y(c[4],r[0],r[1],n[2]),y(c[5],r[0],n[1],n[2]),y(c[6],n[0],r[1],n[2]),y(c[7],n[0],n[1],n[2]),this},copy:function(c){var p=this.min,r=this.max;return A(p.array,c.min.array),A(r.array,c.max.array),p._dirty=!0,r._dirty=!0,this},clone:function(){var c=new u;return c.copy(this),c}},W.a=u},function(J,W,E){"use strict";W.a=function(R,h,v){return{seriesType:R,reset:function(m,A){var y=m.getData(),u=m.visualColorAccessPath.split(".");u[u.length-1]="opacity";var c=m.get(u);y.setVisual("opacity",c==null?1:c);function p(r){var n=y.getItemModel(r),o=n.get(u);o!=null&&y.setItemVisual(r,"opacity",o)}return{dataEach:y.hasItemOption?p:null}}}}},function(J,W,E){"use strict";var R=E(8),h=E(6),v=E(21),m=E(93),A=m.a.parseToFloat,y={};function u(r,n,o){var i=Object.keys(r);i.sort();for(var s=[],l=0;l=0},getEnabledUniforms:function(){return this._enabledUniforms},getTextureUniforms:function(){return this._textureUniforms},set:function(r,n){if(typeof r=="object")for(var o in r){var i=r[o];this.setUniform(o,i)}else this.setUniform(r,n)},get:function(r){var n=this.uniforms[r];if(n)return n.value},attachShader:function(r,n){var o=this.uniforms;this.uniforms=r.createUniforms(),this.shader=r;var i=this.uniforms;this._enabledUniforms=Object.keys(i),this._enabledUniforms.sort(),this._textureUniforms=this._enabledUniforms.filter(function(a){var f=this.uniforms[a].type;return f==="t"||f==="tv"},this);var s=this.vertexDefines,l=this.fragmentDefines;if(this.vertexDefines=v.a.clone(r.vertexDefines),this.fragmentDefines=v.a.clone(r.fragmentDefines),n){for(var d in o)i[d]&&(i[d].value=o[d].value);v.a.defaults(this.vertexDefines,s),v.a.defaults(this.fragmentDefines,l)}var e={};for(var t in r.textures)e[t]={shaderType:r.textures[t].shaderType,type:r.textures[t].type,enabled:n&&this._textureStatus[t]?this._textureStatus[t].enabled:!1};this._textureStatus=e,this._programKey=""},clone:function(){var r=new this.constructor({name:this.name,shader:this.shader});for(var n in this.uniforms)r.uniforms[n].value=this.uniforms[n].value;return r.depthTest=this.depthTest,r.depthMask=this.depthMask,r.transparent=this.transparent,r.blend=this.blend,r.vertexDefines=v.a.clone(this.vertexDefines),r.fragmentDefines=v.a.clone(this.fragmentDefines),r.enableTexture(this.getEnabledTextures()),r.precision=this.precision,r},define:function(r,n,o){var i=this.vertexDefines,s=this.fragmentDefines;r!=="vertex"&&r!=="fragment"&&r!=="both"&&arguments.length<3&&(o=n,n=r,r="both"),o=o!=null?o:null,(r==="vertex"||r==="both")&&i[n]!==o&&(i[n]=o,this._programKey=""),(r==="fragment"||r==="both")&&s[n]!==o&&(s[n]=o,r!=="both"&&(this._programKey=""))},undefine:function(r,n){r!=="vertex"&&r!=="fragment"&&r!=="both"&&arguments.length<2&&(n=r,r="both"),(r==="vertex"||r==="both")&&this.isDefined("vertex",n)&&(delete this.vertexDefines[n],this._programKey=""),(r==="fragment"||r==="both")&&this.isDefined("fragment",n)&&(delete this.fragmentDefines[n],r!=="both"&&(this._programKey=""))},isDefined:function(r,n){switch(r){case"vertex":return this.vertexDefines[n]!==void 0;case"fragment":return this.fragmentDefines[n]!==void 0}},getDefine:function(r,n){switch(r){case"vertex":return this.vertexDefines[n];case"fragment":return this.fragmentDefines[n]}},enableTexture:function(r){if(Array.isArray(r)){for(var n=0;n=t.x&&e>=t.y&&d<=t.x+t.width&&e<=t.y+t.height};var l=new p.a;s.prototype.castRay=function(d,e,t){var a=this.layer.renderer,f=a.viewport;return a.viewport=this.viewport,a.screenToNDC(d,e,l),this.camera.castRay(l,t),a.viewport=f,t},s.prototype.prepareRender=function(){this.scene.update(),this.camera.update(),this._needsSortProgressively=!1;for(var d=0;d30},s.prototype._doRender=function(d,e,t){var a=this.scene,f=this.camera;if(t=t||0,this._updateTransparent(d,a,f,t),e||(this._shadowMapPass.kernelPCF=this._pcfKernels[0],this._shadowMapPass.render(d,a,f,!0)),this._updateShadowPCFKernel(t),d.gl.clearColor(0,0,0,0),this._enablePostEffect&&(this.needsTemporalSS()&&this._temporalSS.jitterProjection(d,f),this._compositor.updateNormal(d,a,f,this._temporalSS.getFrame())),this._updateSSAO(d,a,f,this._temporalSS.getFrame()),this._enablePostEffect){var g=this._compositor.getSourceFrameBuffer();g.bind(d),d.gl.clear(d.gl.DEPTH_BUFFER_BIT|d.gl.COLOR_BUFFER_BIT),d.render(a,f,!0,!0),g.unbind(d),this.needsTemporalSS()&&e?(this._compositor.composite(d,f,this._temporalSS.getSourceFrameBuffer(),this._temporalSS.getFrame()),d.setViewport(this.viewport),this._temporalSS.render(d)):(d.setViewport(this.viewport),this._compositor.composite(d,f,null,0))}else if(this.needsTemporalSS()&&e){var g=this._temporalSS.getSourceFrameBuffer();g.bind(d),d.saveClear(),d.clearBit=d.gl.DEPTH_BUFFER_BIT|d.gl.COLOR_BUFFER_BIT,d.render(a,f,!0,!0),d.restoreClear(),g.unbind(d),d.setViewport(this.viewport),this._temporalSS.render(d)}else d.setViewport(this.viewport),d.render(a,f,!0,!0)},s.prototype._updateTransparent=function(d,e,t,a){for(var f=new c.a,g=new u.a,x=t.getWorldPosition(),_=0;_this.camera.far||d65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(r){this.triangleCount!==r&&(r===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(r*3):new Uint16Array(r*3))},_getCubicCurveApproxStep:function(r,n,o,i){var s=u.dist(r,n)+u.dist(o,n)+u.dist(i,o),l=1/(s+1)*this.segmentScale;return l},getCubicCurveVertexCount:function(r,n,o,i){var s=this._getCubicCurveApproxStep(r,n,o,i),l=Math.ceil(1/s);return this.useNativeLine?l*2:l*2+2},getCubicCurveTriangleCount:function(r,n,o,i){var s=this._getCubicCurveApproxStep(r,n,o,i),l=Math.ceil(1/s);return this.useNativeLine?0:l*2},getLineVertexCount:function(){return this.getPolylineVertexCount(c)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(c)},getPolylineVertexCount:function(r){var n;if(typeof r=="number")n=r;else{var o=typeof r[0]!="number";n=o?r.length:r.length/3}return this.useNativeLine?(n-1)*2:(n-1)*2+2},getPolylineTriangleCount:function(r){var n;if(typeof r=="number")n=r;else{var o=typeof r[0]!="number";n=o?r.length:r.length/3}return this.useNativeLine?0:Math.max(n-1,0)*2},addCubicCurve:function(r,n,o,i,s,l){l==null&&(l=1);for(var d=r[0],e=r[1],t=r[2],a=n[0],f=n[1],g=n[2],x=o[0],_=o[1],D=o[2],M=i[0],w=i[1],b=i[2],N=this._getCubicCurveApproxStep(r,n,o,i),K=N*N,S=K*N,B=3*N,O=3*K,U=6*K,F=6*S,H=d-a*2+x,Y=e-f*2+_,ne=t-g*2+D,ae=(a-x)*3-d+M,me=(f-_)*3-e+w,Ce=(g-D)*3-t+b,ge=d,pe=e,we=t,De=(a-d)*B+H*O+ae*S,Se=(f-e)*B+Y*O+me*S,ve=(g-t)*B+ne*O+Ce*S,Ee=H*U+ae*F,Re=Y*U+me*F,qe=ne*U+Ce*F,Ie=ae*F,Fe=me*F,ze=Ce*F,z=0,_e=0,ie=Math.ceil(1/N),Ae=new Float32Array((ie+1)*3),Ae=[],de=0,_e=0;_e1&&(ge=De>0?Math.min(ge,M):Math.max(ge,M),pe=Se>0?Math.min(pe,w):Math.max(pe,w),we=ve>0?Math.min(we,b):Math.max(we,b));return this.addPolyline(Ae,s,l)},addLine:function(r,n,o,i){return this.addPolyline([r,n],o,i)},addPolyline:function(r,n,o,i,s){if(r.length){var l=typeof r[0]!="number";if(s==null&&(s=l?r.length:r.length/3),!(s<2)){i==null&&(i=0),o==null&&(o=1),this._itemVertexOffsets.push(this._vertexOffset);var l=typeof r[0]!="number",d=l?typeof n[0]!="number":n.length/4===s,e=this.attributes.position,t=this.attributes.positionPrev,a=this.attributes.positionNext,f=this.attributes.color,g=this.attributes.offset,x=this.indices,_=this._vertexOffset,D,M;o=Math.max(o,.01);for(var w=i;w1&&(e.copy(_,_-1),f.copy(_,_-1),_++):(w0&&(a.set(_-2,D),a.set(_-1,D)),e.set(_,D),e.set(_+1,D),f.set(_,M),f.set(_+1,M),g.set(_,o/2),g.set(_+1,-o/2),_+=2),this.useNativeLine)f.set(_,M),e.set(_,D),_++;else if(w>0){var K=this._triangleOffset*3,x=this.indices;x[K]=_-4,x[K+1]=_-3,x[K+2]=_-2,x[K+3]=_-3,x[K+4]=_-1,x[K+5]=_-2,this._triangleOffset+=2}}if(!this.useNativeLine){var S=this._vertexOffset,B=this._vertexOffset+s*2;t.copy(S,S+2),t.copy(S+1,S+3),a.copy(B-1,B-3),a.copy(B-2,B-4)}return this._vertexOffset=_,this._vertexOffset}}},setItemColor:function(r,n){for(var o=this._itemVertexOffsets[r],i=r0)},render:function(A,y,u){var c=A.gl;if(this.skeleton){this.skeleton.update();var p=this.skeleton.getSubSkinMatrices(this.__uid__,this.joints);u.setUniformOfSemantic(c,"SKIN_MATRIX",p)}return R.a.prototype.render.call(this,A,y,u)},getSkinMatricesTexture:function(){return this._skinMatricesTexture=this._skinMatricesTexture||new v.a({type:h.a.FLOAT,minFilter:h.a.NEAREST,magFilter:h.a.NEAREST,useMipmap:!1,flipY:!1}),this._skinMatricesTexture}});m.POINTS=h.a.POINTS,m.LINES=h.a.LINES,m.LINE_LOOP=h.a.LINE_LOOP,m.LINE_STRIP=h.a.LINE_STRIP,m.TRIANGLES=h.a.TRIANGLES,m.TRIANGLE_STRIP=h.a.TRIANGLE_STRIP,m.TRIANGLE_FAN=h.a.TRIANGLE_FAN,m.BACK=h.a.BACK,m.FRONT=h.a.FRONT,m.FRONT_AND_BACK=h.a.FRONT_AND_BACK,m.CW=h.a.CW,m.CCW=h.a.CCW,W.a=m},function(J,W,E){"use strict";var R=E(6),h=E(11),v=E(21),m=E(66),A=m.a.isPowerOfTwo,y=["px","nx","py","ny","pz","nz"],u=R.a.extend(function(){return{image:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},pixels:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},mipmaps:[]}},{update:function(p){var r=p.gl;r.bindTexture(r.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),this.updateCommon(p);var n=this.format,o=this.type;r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_WRAP_S,this.getAvailableWrapS()),r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_WRAP_T,this.getAvailableWrapT()),r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var i=p.getGLExtension("EXT_texture_filter_anisotropic");if(i&&this.anisotropic>1&&r.texParameterf(r.TEXTURE_CUBE_MAP,i.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),o===36193){var s=p.getGLExtension("OES_texture_half_float");s||(o=h.a.FLOAT)}if(this.mipmaps.length)for(var l=this.width,d=this.height,e=0;e0&&console.warn("Found multiple camera in one scene. Use the fist one."),this._cameraList.push(r)),r.name&&(this._nodeRepository[r.name]=r)},removeFromScene:function(r){if(r instanceof v.a){var n=this._cameraList.indexOf(r);n>=0&&this._cameraList.splice(n,1)}r.name&&delete this._nodeRepository[r.name]},getNode:function(r){return this._nodeRepository[r]},cloneNode:function(r){var n=r.clone(),o={},i=function(l,d){l.skeleton&&(d.skeleton=l.skeleton.clone(r,n),d.joints=l.joints.slice()),l.material&&(o[l.material.__uid__]={oldMat:l.material});for(var e=0;e0&&this._updateRenderList(i)}},_updateLightUniforms:function(){var r=this.lights;r.sort(p);var n=this._lightUniforms;for(var o in n)for(var i in n[o])n[o][i].value.length=0;for(var s=0;s0?R[h].value=new Float32Array(R[h].value):R[h].value=null;this.indices&&this.indices.length>0&&(this.indices=this.vertexCount>65535?new Uint32Array(this.indices):new Uint16Array(this.indices)),this.dirty()}}},function(J,W,E){"use strict";var R=E(2),h=E(57),v=E(56),m=E(0),A=E.n(m);function y(){}y.prototype={constructor:y,setScene:function(u){this._scene=u,this._skybox&&this._skybox.attachScene(this._scene)},initLight:function(u){this._lightRoot=u,this.mainLight=new R.a.DirectionalLight({shadowBias:.005}),this.ambientLight=new R.a.AmbientLight,u.add(this.mainLight),u.add(this.ambientLight)},dispose:function(){this._lightRoot&&(this._lightRoot.remove(this.mainLight),this._lightRoot.remove(this.ambientLight))},updateLight:function(u){var c=this.mainLight,p=this.ambientLight,r=u.getModel("light"),n=r.getModel("main"),o=r.getModel("ambient");c.intensity=n.get("intensity"),p.intensity=o.get("intensity"),c.color=R.a.parseColor(n.get("color")).slice(0,3),p.color=R.a.parseColor(o.get("color")).slice(0,3);var i=n.get("alpha")||0,s=n.get("beta")||0;c.position.setArray(R.a.directionFromAlphaBeta(i,s)),c.lookAt(R.a.Vector3.ZERO),c.castShadow=n.get("shadow"),c.shadowResolution=R.a.getShadowResolution(n.get("shadowQuality"))},updateAmbientCubemap:function(u,c,p){var r=c.getModel("light.ambientCubemap"),n=r.get("texture");if(n){this._cubemapLightsCache=this._cubemapLightsCache||{};var o=this._cubemapLightsCache[n];if(!o){var i=this;o=this._cubemapLightsCache[n]=R.a.createAmbientCubemap(r.option,u,p,function(){i._skybox instanceof h.a&&i._skybox.setEnvironmentMap(o.specular.cubemap),p.getZr().refresh()})}this._lightRoot.add(o.diffuse),this._lightRoot.add(o.specular),this._currentCubemapLights=o}else this._currentCubemapLights&&(this._lightRoot.remove(this._currentCubemapLights.diffuse),this._lightRoot.remove(this._currentCubemapLights.specular),this._currentCubemapLights=null)},updateSkybox:function(u,c,p){var r=c.get("environment"),n=this;function o(){return n._skybox instanceof h.a||(n._skybox&&n._skybox.dispose(u),n._skybox=new h.a),n._skybox}function i(){return n._skybox instanceof v.a||(n._skybox&&n._skybox.dispose(u),n._skybox=new v.a),n._skybox}if(r&&r!=="none")if(r==="auto")if(this._currentCubemapLights){var s=o(),l=this._currentCubemapLights.specular.cubemap;s.setEnvironmentMap(l),this._scene&&s.attachScene(this._scene),s.material.set("lod",2)}else this._skybox&&this._skybox.detachScene();else if(typeof r=="object"&&r.colorStops||typeof r=="string"&&A.a.color.parse(r)){var d=i(),e=new R.a.Texture2D({anisotropic:8,flipY:!1});d.setEnvironmentMap(e);var t=e.image=document.createElement("canvas");t.width=t.height=16;var a=t.getContext("2d"),f=new A.a.graphic.Rect({shape:{x:0,y:0,width:16,height:16},style:{fill:r}});f.brush(a),d.attachScene(this._scene)}else{var d=i(),e=R.a.loadTexture(r,p,{anisotropic:8,flipY:!1});d.setEnvironmentMap(e),d.attachScene(this._scene)}else this._skybox&&this._skybox.detachScene(this._scene),this._skybox=null;var g=c.coordinateSystem;if(this._skybox)if(g&&g.viewGL&&r!=="auto"&&!(r.match&&r.match(/.hdr$/))){var x=g.viewGL.isLinearSpace()?"define":"undefine";this._skybox.material[x]("fragment","SRGB_DECODE")}else this._skybox.material.undefine("fragment","SRGB_DECODE")}},W.a=y},function(J,W,E){"use strict";var R=E(0),h=E.n(R);function v(m,A){var y=[];return h.a.util.each(m.dimensions,function(u){var c=m.getDimensionInfo(u),p=c.otherDims,r=p[A];r!=null&&r!==!1&&(y[r]=c.name)}),y}W.a=function(m,A,y){function u(l){var d=!0,e=[],t=v(c,"tooltip");t.length?h.a.util.each(t,function(f){a(c.get(f,A),f)}):h.a.util.each(l,a);function a(f,g){var x=c.getDimensionInfo(g);if(!(!x||x.otherDims.tooltip===!1)){var _=x.type,D=(d?"- "+(x.tooltipName||x.name)+": ":"")+(_==="ordinal"?f+"":_==="time"?y?"":h.a.format.formatTime("yyyy/MM/dd hh:mm:ss",f):h.a.format.addCommas(f));D&&e.push(h.a.format.encodeHTML(D))}}return(d?"
":"")+e.join(d?"
":", ")}var c=m.getData(),p=m.getRawValue(A),r=h.a.util.isArray(p)?u(p):h.a.format.encodeHTML(h.a.format.addCommas(p)),n=c.getName(A),o=c.getItemVisual(A,"color");h.a.util.isObject(o)&&o.colorStops&&(o=(o.colorStops[0]||{}).color),o=o||"transparent";var i=h.a.format.getTooltipMarker(o),s=m.name;return s==="\0-"&&(s=""),s=s?h.a.format.encodeHTML(s)+(y?": ":"
"):"",y?i+s+r:s+i+(n?h.a.format.encodeHTML(n)+": "+r:r)}},function(J,W,E){"use strict";var R=E(51),h=R.a.extend({fov:50,aspect:1,near:.1,far:2e3},{updateProjectionMatrix:function(){var v=this.fov/180*Math.PI;this.projectionMatrix.perspective(v,this.aspect,this.near,this.far)},decomposeProjectionMatrix:function(){var v=this.projectionMatrix.array,m=Math.atan(1/v[5])*2;this.fov=m/Math.PI*180,this.aspect=v[5]/v[0],this.near=v[14]/(v[10]-1),this.far=v[14]/(v[10]+1)},clone:function(){var v=R.a.prototype.clone.call(this);return v.fov=this.fov,v.aspect=this.aspect,v.near=this.near,v.far=this.far,v}});W.a=h},function(J,W,E){"use strict";var R=E(13),h=E(15),v=R.a.extend({dynamic:!1,widthSegments:1,heightSegments:1},function(){this.build()},{build:function(){for(var m=this.heightSegments,A=this.widthSegments,y=this.attributes,u=[],c=[],p=[],r=[],n=0;n<=m;n++)for(var o=n/m,i=0;i<=A;i++){var s=i/A;if(u.push([2*s-1,2*o-1,0]),c&&c.push([s,o]),p&&p.push([0,0,1]),i0&&this._notFirst?this.animateTo({alpha:a,beta:f,center:g,distance:l,targetOrthographicSize:d,easing:t.animationEasingUpdate,duration:t.animationDurationUpdate}):(this.setDistance(l),this.setAlpha(a),this.setBeta(f),this.setCenter(g),this.setOrthographicSize(d)),this._notFirst=!0,this._validateProperties()},_validateProperties:function(){u[this.panMouseButton]==null&&console.error("Unkown panMouseButton %s. It should be left|middle|right",this.panMouseButton),u[this.rotateMouseButton]==null&&console.error("Unkown rotateMouseButton %s. It should be left|middle|right",this.rotateMouseButton),this.autoRotateDirection!=="cw"&&this.autoRotateDirection!=="ccw"&&console.error("Unkown autoRotateDirection %s. It should be cw|ccw",this.autoRotateDirection)},animateTo:function(r){var n=this.zr,o=this,i={},s={};return r.distance!=null&&(i.distance=this.getDistance(),s.distance=r.distance),r.orthographicSize!=null&&(i.orthographicSize=this.getOrthographicSize(),s.orthographicSize=r.orthographicSize),r.alpha!=null&&(i.alpha=this.getAlpha(),s.alpha=r.alpha),r.beta!=null&&(i.beta=this.getBeta(),s.beta=r.beta),r.center!=null&&(i.center=this.getCenter(),s.center=r.center),this._addAnimator(n.animation.animate(i).when(r.duration||1e3,s).during(function(){i.alpha!=null&&o.setAlpha(i.alpha),i.beta!=null&&o.setBeta(i.beta),i.distance!=null&&o.setDistance(i.distance),i.center!=null&&o.setCenter(i.center),i.orthographicSize!=null&&o.setOrthographicSize(i.orthographicSize),o._needsUpdate=!0})).start(r.easing||"linear")},stopAllAnimation:function(){for(var r=0;r0},_update:function(r){if(this._rotating){var n=(this.autoRotateDirection==="cw"?1:-1)*this.autoRotateSpeed/180*Math.PI;this._phi-=n*r/1e3,this._needsUpdate=!0}else this._rotateVelocity.len()>0&&(this._needsUpdate=!0);(Math.abs(this._zoomSpeed)>.1||this._panVelocity.len()>0)&&(this._needsUpdate=!0),this._needsUpdate&&(r=Math.min(r,50),this._updateDistanceOrSize(r),this._updatePan(r),this._updateRotate(r),this._updateTransform(),this.getCamera().update(),this.zr&&this.zr.refresh(),this.trigger("update"),this._needsUpdate=!1)},_updateRotate:function(r){var n=this._rotateVelocity;this._phi=n.y*r/20+this._phi,this._theta=n.x*r/20+this._theta,this.setAlpha(this.getAlpha()),this.setBeta(this.getBeta()),this._vectorDamping(n,Math.pow(this.damping,r/16))},_updateDistanceOrSize:function(r){this._projection==="perspective"?this._setDistance(this._distance+this._zoomSpeed*r/20):this._setOrthoSize(this._orthoSize+this._zoomSpeed*r/20),this._zoomSpeed*=Math.pow(this.damping,r/16)},_setDistance:function(r){this._distance=Math.max(Math.min(r,this.maxDistance),this.minDistance)},_setOrthoSize:function(r){this._orthoSize=Math.max(Math.min(r,this.maxOrthographicSize),this.minOrthographicSize);var n=this.getCamera(),o=this._orthoSize,i=o/this.viewGL.viewport.height*this.viewGL.viewport.width;n.left=-i/2,n.right=i/2,n.top=o/2,n.bottom=-o/2},_updatePan:function(r){var n=this._panVelocity,o=this._distance,i=this.getCamera(),s=i.worldTransform.y,l=i.worldTransform.x;this._center.scaleAndAdd(l,-n.x*o/200).scaleAndAdd(s,-n.y*o/200),this._vectorDamping(n,0)},_updateTransform:function(){var r=this.getCamera(),n=new v.a,o=this._theta+Math.PI/2,i=this._phi+Math.PI/2,s=Math.sin(o);n.x=s*Math.cos(i),n.y=-Math.cos(o),n.z=s*Math.sin(i),r.position.copy(this._center).scaleAndAdd(n,this._distance),r.rotation.identity().rotateY(-this._phi).rotateX(-this._theta)},_startCountingStill:function(){clearTimeout(this._stillTimeout);var r=this.autoRotateAfterStill,n=this;!isNaN(r)&&r>0&&(this._stillTimeout=setTimeout(function(){n._rotating=!0},r*1e3))},_vectorDamping:function(r,n){var o=r.len();o=o*n,o<1e-4&&(o=0),r.normalize().scale(o)},_decomposeTransform:function(){if(this.getCamera()){this.getCamera().updateWorldTransform();var r=this.getCamera().worldTransform.z,n=Math.asin(r.y),o=Math.atan2(r.x,r.z);this._theta=n,this._phi=-o,this.setBeta(this.getBeta()),this.setAlpha(this.getAlpha()),this.getCamera().aspect?this._setDistance(this.getCamera().position.dist(this._center)):this._setOrthoSize(this.getCamera().top-this.getCamera().bottom)}},_mouseDownHandler:function(r){if(!r.target&&!this._isAnimating()){var n=r.offsetX,o=r.offsetY;this.viewGL&&!this.viewGL.containPoint(n,o)||(this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler),r.event.targetTouches?r.event.targetTouches.length===1&&(this._mode="rotate"):r.event.button===u[this.rotateMouseButton]?this._mode="rotate":r.event.button===u[this.panMouseButton]?this._mode="pan":this._mode="",this._rotateVelocity.set(0,0),this._rotating=!1,this.autoRotate&&this._startCountingStill(),this._mouseX=r.offsetX,this._mouseY=r.offsetY)}},_mouseMoveHandler:function(r){if(!(r.target&&r.target.__isGLToZRProxy)&&!this._isAnimating()){var n=c(this.panSensitivity),o=c(this.rotateSensitivity);this._mode==="rotate"?(this._rotateVelocity.y=(r.offsetX-this._mouseX)/this.zr.getHeight()*2*o[0],this._rotateVelocity.x=(r.offsetY-this._mouseY)/this.zr.getWidth()*2*o[1]):this._mode==="pan"&&(this._panVelocity.x=(r.offsetX-this._mouseX)/this.zr.getWidth()*n[0]*400,this._panVelocity.y=(-r.offsetY+this._mouseY)/this.zr.getHeight()*n[1]*400),this._mouseX=r.offsetX,this._mouseY=r.offsetY,r.event.preventDefault()}},_mouseWheelHandler:function(r){if(!this._isAnimating()){var n=r.event.wheelDelta||-r.event.detail;this._zoomHandler(r,n)}},_pinchHandler:function(r){this._isAnimating()||(this._zoomHandler(r,r.pinchScale>1?1:-1),this._mode="")},_zoomHandler:function(r,n){if(n!==0){var o=r.offsetX,i=r.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(o,i))){var s;this._projection==="perspective"?s=Math.max(Math.max(Math.min(this._distance-this.minDistance,this.maxDistance-this._distance))/20,.5):s=Math.max(Math.max(Math.min(this._orthoSize-this.minOrthographicSize,this.maxOrthographicSize-this._orthoSize))/20,.5),this._zoomSpeed=(n>0?-1:1)*s*this.zoomSensitivity,this._rotating=!1,this.autoRotate&&this._mode==="rotate"&&this._startCountingStill(),r.event.preventDefault()}}},_mouseUpHandler:function(){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_isRightMouseButtonUsed:function(){return this.rotateMouseButton==="right"||this.panMouseButton==="right"},_contextMenuHandler:function(r){this._isRightMouseButtonUsed()&&r.preventDefault()},_addAnimator:function(r){var n=this._animators;return n.push(r),r.done(function(){var o=n.indexOf(r);o>=0&&n.splice(o,1)}),r}});Object.defineProperty(p.prototype,"autoRotate",{get:function(r){return this._autoRotate},set:function(r){this._autoRotate=r,this._rotating=r}}),W.a=p},function(J,W,E){"use strict";W.a=`@export ecgl.lines3D.vertex uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; attribute vec3 position: POSITION; attribute vec4 a_Color : COLOR; varying vec4 v_Color; void main() { gl_Position = worldViewProjection * vec4(position, 1.0); v_Color = a_Color; } @end @export ecgl.lines3D.fragment uniform vec4 color : [1.0, 1.0, 1.0, 1.0]; varying vec4 v_Color; @import clay.util.srgb void main() { #ifdef SRGB_DECODE gl_FragColor = sRGBToLinear(color * v_Color); #else gl_FragColor = color * v_Color; #endif } @end @export ecgl.lines3D.clipNear vec4 clipNear(vec4 p1, vec4 p2) { float n = (p1.w - near) / (p1.w - p2.w); return vec4(mix(p1.xy, p2.xy, n), -near, near); } @end @export ecgl.lines3D.expandLine #ifdef VERTEX_ANIMATION vec4 prevProj = worldViewProjection * vec4(mix(prevPositionPrev, positionPrev, percent), 1.0); vec4 currProj = worldViewProjection * vec4(mix(prevPosition, position, percent), 1.0); vec4 nextProj = worldViewProjection * vec4(mix(prevPositionNext, positionNext, percent), 1.0); #else vec4 prevProj = worldViewProjection * vec4(positionPrev, 1.0); vec4 currProj = worldViewProjection * vec4(position, 1.0); vec4 nextProj = worldViewProjection * vec4(positionNext, 1.0); #endif if (currProj.w < 0.0) { if (nextProj.w > 0.0) { currProj = clipNear(currProj, nextProj); } else if (prevProj.w > 0.0) { currProj = clipNear(currProj, prevProj); } } vec2 prevScreen = (prevProj.xy / abs(prevProj.w) + 1.0) * 0.5 * viewport.zw; vec2 currScreen = (currProj.xy / abs(currProj.w) + 1.0) * 0.5 * viewport.zw; vec2 nextScreen = (nextProj.xy / abs(nextProj.w) + 1.0) * 0.5 * viewport.zw; vec2 dir; float len = offset; if (position == positionPrev) { dir = normalize(nextScreen - currScreen); } else if (position == positionNext) { dir = normalize(currScreen - prevScreen); } else { vec2 dirA = normalize(currScreen - prevScreen); vec2 dirB = normalize(nextScreen - currScreen); vec2 tanget = normalize(dirA + dirB); float miter = 1.0 / max(dot(tanget, dirA), 0.5); len *= miter; dir = tanget; } dir = vec2(-dir.y, dir.x) * len; currScreen += dir; currProj.xy = (currScreen / viewport.zw - 0.5) * 2.0 * abs(currProj.w); @end @export ecgl.meshLines3D.vertex attribute vec3 position: POSITION; attribute vec3 positionPrev; attribute vec3 positionNext; attribute float offset; attribute vec4 a_Color : COLOR; #ifdef VERTEX_ANIMATION attribute vec3 prevPosition; attribute vec3 prevPositionPrev; attribute vec3 prevPositionNext; uniform float percent : 1.0; #endif uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; uniform vec4 viewport : VIEWPORT; uniform float near : NEAR; varying vec4 v_Color; @import ecgl.common.wireframe.vertexHeader @import ecgl.lines3D.clipNear void main() { @import ecgl.lines3D.expandLine gl_Position = currProj; v_Color = a_Color; @import ecgl.common.wireframe.vertexMain } @end @export ecgl.meshLines3D.fragment uniform vec4 color : [1.0, 1.0, 1.0, 1.0]; varying vec4 v_Color; @import ecgl.common.wireframe.fragmentHeader @import clay.util.srgb void main() { #ifdef SRGB_DECODE gl_FragColor = sRGBToLinear(color * v_Color); #else gl_FragColor = color * v_Color; #endif @import ecgl.common.wireframe.fragmentMain } @end`},function(J,W,E){var R=E(12),h=E(75),v=E(78),m=v.parsePercent,A=E(149),y=R.each,u=["left","right","top","bottom","width","height"],c=[["width","left","right"],["height","top","bottom"]];function p(f,g,x,_,D){var M=0,w=0;_==null&&(_=1/0),D==null&&(D=1/0);var b=0;g.eachChild(function(N,K){var S=N.position,B=N.getBoundingRect(),O=g.childAt(K+1),U=O&&O.getBoundingRect(),F,H;if(f==="horizontal"){var Y=B.width+(U?-U.x+B.x:0);F=M+Y,F>_||N.newline?(M=0,F=Y,w+=b+x,b=B.height):b=Math.max(b,B.height)}else{var ne=B.height+(U?-U.y+B.y:0);H=w+ne,H>D||N.newline?(M+=b+x,w=0,H=ne,b=B.width):b=Math.max(b,B.width)}N.newline||(S[0]=M,S[1]=w,f==="horizontal"?M=F+x:w=H+x)})}var r=p,n=R.curry(p,"vertical"),o=R.curry(p,"horizontal");function i(f,g,x){var _=g.width,D=g.height,M=m(f.x,_),w=m(f.y,D),b=m(f.x2,_),N=m(f.y2,D);return(isNaN(M)||isNaN(parseFloat(f.x)))&&(M=0),(isNaN(b)||isNaN(parseFloat(f.x2)))&&(b=_),(isNaN(w)||isNaN(parseFloat(f.y)))&&(w=0),(isNaN(N)||isNaN(parseFloat(f.y2)))&&(N=D),x=A.normalizeCssArray(x||0),{width:Math.max(b-M-x[1]-x[3],0),height:Math.max(N-w-x[0]-x[2],0)}}function s(f,g,x){x=A.normalizeCssArray(x||0);var _=g.width,D=g.height,M=m(f.left,_),w=m(f.top,D),b=m(f.right,_),N=m(f.bottom,D),K=m(f.width,_),S=m(f.height,D),B=x[2]+x[0],O=x[1]+x[3],U=f.aspect;switch(isNaN(K)&&(K=_-b-O-M),isNaN(S)&&(S=D-N-B-w),U!=null&&(isNaN(K)&&isNaN(S)&&(U>_/D?K=_*.8:S=D*.8),isNaN(K)&&(K=U*S),isNaN(S)&&(S=K/U)),isNaN(M)&&(M=_-b-K-O),isNaN(w)&&(w=D-N-S-B),f.left||f.right){case"center":M=_/2-K/2-x[3];break;case"right":M=_-K-O;break}switch(f.top||f.bottom){case"middle":case"center":w=D/2-S/2-x[0];break;case"bottom":w=D-S-B;break}M=M||0,w=w||0,isNaN(K)&&(K=_-O-M-(b||0)),isNaN(S)&&(S=D-B-w-(N||0));var F=new h(M+x[3],w+x[0],K,S);return F.margin=x,F}function l(f,g,x,_,D){var M=!D||!D.hv||D.hv[0],w=!D||!D.hv||D.hv[1],b=D&&D.boundingMode||"all";if(!(!M&&!w)){var N;if(b==="raw")N=f.type==="group"?new h(0,0,+g.width||0,+g.height||0):f.getBoundingRect();else if(N=f.getBoundingRect(),f.needLocalTransform()){var K=f.getLocalTransform();N=N.clone(),N.applyTransform(K)}g=s(R.defaults({width:N.width,height:N.height},g),x,_);var S=f.position,B=M?g.x-N.x:0,O=w?g.y-N.y:0;f.attr("position",b==="raw"?[B,O]:[S[0]+B,S[1]+O])}}function d(f,g){return f[c[g][0]]!=null||f[c[g][1]]!=null&&f[c[g][2]]!=null}function e(f,g,x){!R.isObject(x)&&(x={});var _=x.ignoreSize;!R.isArray(_)&&(_=[_,_]);var D=w(c[0],0),M=w(c[1],1);K(c[0],f,D),K(c[1],f,M);function w(S,B){var O={},U=0,F={},H=0,Y=2;if(y(S,function(me){F[me]=f[me]}),y(S,function(me){b(g,me)&&(O[me]=F[me]=g[me]),N(O,me)&&U++,N(F,me)&&H++}),_[B])return N(g,S[1])?F[S[2]]=null:N(g,S[2])&&(F[S[1]]=null),F;if(H===Y||!U)return F;if(U>=Y)return O;for(var ne=0;ne0){var m=this.outputs[v];m.keepLastFrame?(this._prevOutputTextures[v]&&this._compositor.releaseTexture(this._prevOutputTextures[v]),this._prevOutputTextures[v]=this._outputTextures[v]):this._compositor.releaseTexture(this._outputTextures[v])}}});W.a=h},function(J,W,E){"use strict";function R(h,v){for(var m=0,A=1/v,y=h;y>0;)m=m+A*(y%v),y=Math.floor(y/v),A=A/v;return m}W.a=R},function(J,W,E){"use strict";var R=E(0),h=E.n(R);W.a=function(v,m,A){A=A||v.getSource();var y=m||h.a.getCoordinateSystemDimensions(v.get("coordinateSystem"))||["x","y","z"],u=h.a.helper.createDimensions(A,{dimensionsDefine:A.dimensionsDefine||v.get("dimensions"),encodeDefine:A.encodeDefine||v.get("encode"),coordDimensions:y.map(function(p){var r=v.getReferringComponents(p+"Axis3D")[0];return{type:r&&r.get("type")==="category"?"ordinal":"float",name:p,stackable:p==="z"}})});v.get("coordinateSystem")==="cartesian3D"&&u.forEach(function(p){if(y.indexOf(p.coordDim)>=0){var r=v.getReferringComponents(p.coordDim+"Axis3D")[0];r&&r.get("type")==="category"&&(p.ordinalMeta=r.getOrdinalMeta())}});var c=new h.a.List(u,v);return c.initData(A),c}},function(J,W){function E(R,h,v){return{seriesType:R,performRawSeries:!0,reset:function(m,A,y){var u=m.getData(),c=m.get("symbol")||h,p=m.get("symbolSize");if(u.setVisual({legendSymbol:v||c,symbol:c,symbolSize:p}),A.isSeriesFiltered(m))return;var r=typeof p=="function";function n(o,i){if(typeof p=="function"){var s=m.getRawValue(i),l=m.getDataParams(i);o.setItemVisual(i,"symbolSize",p(s,l))}if(o.hasItemOption){var d=o.getItemModel(i),e=d.getShallow("symbol",!0),t=d.getShallow("symbolSize",!0);e!=null&&o.setItemVisual(i,"symbol",e),t!=null&&o.setItemVisual(i,"symbolSize",t)}}return{dataEach:u.hasItemOption||r?n:null}}}}J.exports=E},function(J,W,E){"use strict";var R=E(8),h=E(92),v=E(11),m=E(18),A=E(15),y=E(9),u=E(17),c=E(23),p=E(96),r=E(7),n=E(98),o=E(63),i=E(1),s=E.n(i);r.a.import(n.a),r.a.import(o.a);var l=s.a.mat4,d=s.a.vec3,e=l.create,t={};function a(_){return _.material}function f(){}var g=R.a.extend(function(){return{canvas:null,_width:100,_height:100,devicePixelRatio:window.devicePixelRatio||1,clearColor:[0,0,0,0],clearBit:17664,alpha:!0,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!1,throwError:!0,gl:null,viewport:{},__currentFrameBuffer:null,_viewportStack:[],_clearStack:[],_sceneRendering:null}},function(){this.canvas||(this.canvas=document.createElement("canvas"));var _=this.canvas;try{var D={alpha:this.alpha,depth:this.depth,stencil:this.stencil,antialias:this.antialias,premultipliedAlpha:this.premultipliedAlpha,preserveDrawingBuffer:this.preserveDrawingBuffer};if(this.gl=_.getContext("webgl",D)||_.getContext("experimental-webgl",D),!this.gl)throw new Error;this._glinfo=new h.a(this.gl),this.gl.targetRenderer&&console.error("Already created a renderer"),this.gl.targetRenderer=this,this.resize()}catch(M){throw"Error creating WebGL Context "+M}this._programMgr=new p.a(this)},{resize:function(_,D){var M=this.canvas,w=this.devicePixelRatio;_!=null?(M.style.width=_+"px",M.style.height=D+"px",M.width=_*w,M.height=D*w,this._width=_,this._height=D):(this._width=M.width/w,this._height=M.height/w),this.setViewport(0,0,this._width,this._height)},getWidth:function(){return this._width},getHeight:function(){return this._height},getViewportAspect:function(){var _=this.viewport;return _.width/_.height},setDevicePixelRatio:function(_){this.devicePixelRatio=_,this.resize(this._width,this._height)},getDevicePixelRatio:function(){return this.devicePixelRatio},getGLExtension:function(_){return this._glinfo.getExtension(_)},getGLParameter:function(_){return this._glinfo.getParameter(_)},setViewport:function(_,D,M,w,b){if(typeof _=="object"){var N=_;_=N.x,D=N.y,M=N.width,w=N.height,b=N.devicePixelRatio}b=b||this.devicePixelRatio,this.gl.viewport(_*b,D*b,M*b,w*b),this.viewport={x:_,y:D,width:M,height:w,devicePixelRatio:b}},saveViewport:function(){this._viewportStack.push(this.viewport)},restoreViewport:function(){this._viewportStack.length>0&&this.setViewport(this._viewportStack.pop())},saveClear:function(){this._clearStack.push({clearBit:this.clearBit,clearColor:this.clearColor})},restoreClear:function(){if(this._clearStack.length>0){var _=this._clearStack.pop();this.clearColor=_.clearColor,this.clearBit=_.clearBit}},bindSceneRendering:function(_){this._sceneRendering=_},render:function(_,D,M,w){var b=this.gl,N=this.clearColor;if(this.clearBit){b.colorMask(!0,!0,!0,!0),b.depthMask(!0);var K=this.viewport,S=!1,B=K.devicePixelRatio;(K.width!==this._width||K.height!==this._height||B&&B!==this.devicePixelRatio||K.x||K.y)&&(S=!0,b.enable(b.SCISSOR_TEST),b.scissor(K.x*B,K.y*B,K.width*B,K.height*B)),b.clearColor(N[0],N[1],N[2],N[3]),b.clear(this.clearBit),S&&b.disable(b.SCISSOR_TEST)}if(M||_.update(!1),D=D||_.getMainCamera(),!D){console.error("Can't find camera in the scene.");return}D.getScene()||D.update(!0),this._sceneRendering=_,_.viewBoundingBoxLastFrame.min.set(1/0,1/0,1/0),_.viewBoundingBoxLastFrame.max.set(-1/0,-1/0,-1/0);var O=this.cullRenderList(_.opaqueList,_,D),U=this.cullRenderList(_.transparentList,_,D),F=_.material;_.trigger("beforerender",this,_,D),w?(this.renderPreZ(O,_,D),b.depthFunc(b.LEQUAL)):b.depthFunc(b.LESS);for(var H=e(),Y=d.create(),ne=0;ne0){var S=_[b-1],B=S.joints?S.joints.length:0,O=N.joints.length?N.joints.length:0;if(O===B&&N.material===S.material&&N.lightGroup===S.lightGroup){N.__program=S.__program;continue}}var U=this._programMgr.getProgram(N,K,D);this.validateProgram(U),N.__program=U}},cullRenderList:function(_,D,M){for(var w=[],b=0;b<_.length;b++){var N=_[b],K=N.isSkinnedMesh()?x.IDENTITY:N.worldTransform.array,S=N.geometry;l.multiplyAffine(x.WORLDVIEW,M.viewMatrix.array,K),!(S.boundingBox&&this.isFrustumCulled(N,D,M,x.WORLDVIEW,M.projectionMatrix.array))&&w.push(N)}return w},renderPass:function(_,D,M){this.trigger("beforerenderpass",this,_,D,M);var w={triangleCount:0,vertexCount:0,drawCallCount:0,meshCount:_.length,renderedMeshCount:0};M=M||{},M.getMaterial=M.getMaterial||a,M.beforeRender=M.beforeRender||f,M.afterRender=M.afterRender||f,this.updatePrograms(_,this._sceneRendering,M),M.sortCompare&&_.sort(M.sortCompare);var b=this.viewport,N=b.devicePixelRatio,K=[b.x*N,b.y*N,b.width*N,b.height*N],S=this.devicePixelRatio,B=this.__currentFrameBuffer?[this.__currentFrameBuffer.getTextureWidth(),this.__currentFrameBuffer.getTextureHeight()]:[this._width*S,this._height*S],O=[K[2],K[3]],U=Date.now();l.copy(x.VIEW,D.viewMatrix.array),l.copy(x.PROJECTION,D.projectionMatrix.array),l.multiply(x.VIEWPROJECTION,D.projectionMatrix.array,x.VIEW),l.copy(x.VIEWINVERSE,D.worldTransform.array),l.invert(x.PROJECTIONINVERSE,x.PROJECTION),l.invert(x.VIEWPROJECTIONINVERSE,x.VIEWPROJECTION);for(var F=this.gl,H=this._sceneRendering,Y,ne,ae,me,Ce,ge,pe,we,De=0;De<_.length;De++){var Se=_[De];if(!(M.ifRender&&!M.ifRender(Se))){var ve=Se.isSkinnedMesh()?x.IDENTITY:Se.worldTransform.array,Ee=M.getMaterial.call(this,Se),Re=Se.__program,qe=Ee.shader;l.copy(x.WORLD,ve),l.multiply(x.WORLDVIEWPROJECTION,x.VIEWPROJECTION,ve),(qe.matrixSemantics.WORLDINVERSE||qe.matrixSemantics.WORLDINVERSETRANSPOSE)&&l.invert(x.WORLDINVERSE,ve),(qe.matrixSemantics.WORLDVIEWINVERSE||qe.matrixSemantics.WORLDVIEWINVERSETRANSPOSE)&&l.invert(x.WORLDVIEWINVERSE,x.WORLDVIEW),(qe.matrixSemantics.WORLDVIEWPROJECTIONINVERSE||qe.matrixSemantics.WORLDVIEWPROJECTIONINVERSETRANSPOSE)&&l.invert(x.WORLDVIEWPROJECTIONINVERSE,x.WORLDVIEWPROJECTION),Se.beforeRender(this),M.beforeRender.call(this,Se,Ee,Y);var Ie=Re!==ne;Ie?(Re.bind(this),Re.setUniformOfSemantic(F,"VIEWPORT",K),Re.setUniformOfSemantic(F,"WINDOW_SIZE",B),Re.setUniformOfSemantic(F,"NEAR",D.near),Re.setUniformOfSemantic(F,"FAR",D.far),Re.setUniformOfSemantic(F,"DEVICEPIXELRATIO",N),Re.setUniformOfSemantic(F,"TIME",U),Re.setUniformOfSemantic(F,"VIEWPORT_SIZE",O),H&&H.setLightUniforms(Re,Se.lightGroup,this)):Re=ne,(Y!==Ee||Ie)&&(Ee.depthTest!==ae&&(Ee.depthTest?F.enable(F.DEPTH_TEST):F.disable(F.DEPTH_TEST),ae=Ee.depthTest),Ee.depthMask!==me&&(F.depthMask(Ee.depthMask),me=Ee.depthMask),Ee.transparent!==we&&(Ee.transparent?F.enable(F.BLEND):F.disable(F.BLEND),we=Ee.transparent),Ee.transparent&&(Ee.blend?Ee.blend(F):(F.blendEquationSeparate(F.FUNC_ADD,F.FUNC_ADD),F.blendFuncSeparate(F.SRC_ALPHA,F.ONE_MINUS_SRC_ALPHA,F.ONE,F.ONE_MINUS_SRC_ALPHA))),Ee.bind(this,Re,Y,ne),Y=Ee);for(var Fe=qe.matrixSemanticKeys,ze=0;ze0&&_.min.array[2]<0&&(_.max.array[2]=-1e-20),_.applyProjection(D);var B=_.min.array,O=_.max.array;if(O[0]<-1||B[0]>1||O[1]<-1||B[1]>1||O[2]<-1||B[2]>1)return!0}return!1}}(),disposeScene:function(_){this.disposeNode(_,!0,!0),_.dispose()},disposeNode:function(_,D,M){_.getParent()&&_.getParent().remove(_),_.traverse(function(w){w.geometry&&D&&w.geometry.dispose(this),w.dispose&&w.dispose(this)},this)},disposeGeometry:function(_){_.dispose(this)},disposeTexture:function(_){_.dispose(this)},disposeFrameBuffer:function(_){_.dispose(this)},dispose:function(){},screenToNDC:function(_,D,M){M||(M=new c.a),D=this._height-D;var w=this.viewport,b=M.array;return b[0]=(_-w.x)/w.width,b[0]=b[0]*2-1,b[1]=(D-w.y)/w.height,b[1]=b[1]*2-1,M}});g.opaqueSortCompare=g.prototype.opaqueSortCompare=function(_,D){return _.renderOrder===D.renderOrder?_.__program===D.__program?_.material===D.material?_.geometry.__uid__-D.geometry.__uid__:_.material.__uid__-D.material.__uid__:_.__program&&D.__program?_.__program.__uid__-D.__program.__uid__:0:_.renderOrder-D.renderOrder},g.transparentSortCompare=g.prototype.transparentSortCompare=function(_,D){return _.renderOrder===D.renderOrder?_.__depth===D.__depth?_.__program===D.__program?_.material===D.material?_.geometry.__uid__-D.geometry.__uid__:_.material.__uid__-D.material.__uid__:_.__program&&D.__program?_.__program.__uid__-D.__program.__uid__:0:_.__depth-D.__depth:_.renderOrder-D.renderOrder};var x={IDENTITY:e(),WORLD:e(),VIEW:e(),PROJECTION:e(),WORLDVIEW:e(),VIEWPROJECTION:e(),WORLDVIEWPROJECTION:e(),WORLDINVERSE:e(),VIEWINVERSE:e(),PROJECTIONINVERSE:e(),WORLDVIEWINVERSE:e(),VIEWPROJECTIONINVERSE:e(),WORLDVIEWPROJECTIONINVERSE:e(),WORLDTRANSPOSE:e(),VIEWTRANSPOSE:e(),PROJECTIONTRANSPOSE:e(),WORLDVIEWTRANSPOSE:e(),VIEWPROJECTIONTRANSPOSE:e(),WORLDVIEWPROJECTIONTRANSPOSE:e(),WORLDINVERSETRANSPOSE:e(),VIEWINVERSETRANSPOSE:e(),PROJECTIONINVERSETRANSPOSE:e(),WORLDVIEWINVERSETRANSPOSE:e(),VIEWPROJECTIONINVERSETRANSPOSE:e(),WORLDVIEWPROJECTIONINVERSETRANSPOSE:e()};g.COLOR_BUFFER_BIT=v.a.COLOR_BUFFER_BIT,g.DEPTH_BUFFER_BIT=v.a.DEPTH_BUFFER_BIT,g.STENCIL_BUFFER_BIT=v.a.STENCIL_BUFFER_BIT,W.a=g},function(J,W,E){"use strict";function R(v,m){this.action=v,this.context=m}var h={trigger:function(v){if(this.hasOwnProperty("__handlers__")&&this.__handlers__.hasOwnProperty(v)){var m=this.__handlers__[v],A=m.length,y=-1,u=arguments;switch(u.length){case 1:for(;++yd)){var e=Math.sqrt(d-l),t=i-e,a=i+e;return r||(r=new R.a),t<0?a<0?null:(m.scaleAndAdd(r.array,n,o,a),r):(m.scaleAndAdd(r.array,n,o,t),r)}}}(),intersectBoundingBox:function(u,c){var p=this.direction.array,r=this.origin.array,n=u.min.array,o=u.max.array,i=1/p[0],s=1/p[1],l=1/p[2],d,e,t,a,f,g;if(i>=0?(d=(n[0]-r[0])*i,e=(o[0]-r[0])*i):(e=(n[0]-r[0])*i,d=(o[0]-r[0])*i),s>=0?(t=(n[1]-r[1])*s,a=(o[1]-r[1])*s):(a=(n[1]-r[1])*s,t=(o[1]-r[1])*s),d>a||t>e||((t>d||d!==d)&&(d=t),(a=0?(f=(n[2]-r[2])*l,g=(o[2]-r[2])*l):(g=(n[2]-r[2])*l,f=(o[2]-r[2])*l),d>g||f>e)||((f>d||d!==d)&&(d=f),(g=0?d:e;return c||(c=new R.a),m.scaleAndAdd(c.array,r,p,x),c},intersectTriangle:function(){var u=m.create(),c=m.create(),p=m.create(),r=m.create();return function(n,o,i,s,l,d){var e=this.direction.array,t=this.origin.array;n=n.array,o=o.array,i=i.array,m.sub(u,o,n),m.sub(c,i,n),m.cross(r,c,e);var a=m.dot(u,r);if(s){if(a>-A)return null}else if(a>-A&&a1)return null;m.cross(r,u,p);var g=m.dot(e,r)/a;if(g<0||g>1||f+g>1)return null;m.cross(r,u,c);var x=-m.dot(p,r)/a;return x<0?null:(l||(l=new R.a),d&&R.a.set(d,1-f-g,f,g),m.scaleAndAdd(l.array,t,e,x),l)}}(),applyTransform:function(u){R.a.add(this.direction,this.direction,this.origin),R.a.transformMat4(this.origin,this.origin,u),R.a.transformMat4(this.direction,this.direction,u),R.a.sub(this.direction,this.direction,this.origin),R.a.normalize(this.direction,this.direction)},copy:function(u){R.a.copy(this.origin,u.origin),R.a.copy(this.direction,u.direction)},clone:function(){var u=new y;return u.copy(this),u}},W.a=y},function(J,W,E){"use strict";var R=E(1),h=E.n(R),v=h.a.quat,m=function(u,c,p,r){u=u||0,c=c||0,p=p||0,r=r===void 0?1:r,this.array=v.fromValues(u,c,p,r),this._dirty=!0};m.prototype={constructor:m,add:function(u){return v.add(this.array,this.array,u.array),this._dirty=!0,this},calculateW:function(){return v.calculateW(this.array,this.array),this._dirty=!0,this},set:function(u,c,p,r){return this.array[0]=u,this.array[1]=c,this.array[2]=p,this.array[3]=r,this._dirty=!0,this},setArray:function(u){return this.array[0]=u[0],this.array[1]=u[1],this.array[2]=u[2],this.array[3]=u[3],this._dirty=!0,this},clone:function(){return new m(this.x,this.y,this.z,this.w)},conjugate:function(){return v.conjugate(this.array,this.array),this._dirty=!0,this},copy:function(u){return v.copy(this.array,u.array),this._dirty=!0,this},dot:function(u){return v.dot(this.array,u.array)},fromMat3:function(u){return v.fromMat3(this.array,u.array),this._dirty=!0,this},fromMat4:function(){var u=h.a.mat3,c=u.create();return function(p){return u.fromMat4(c,p.array),u.transpose(c,c),v.fromMat3(this.array,c),this._dirty=!0,this}}(),identity:function(){return v.identity(this.array),this._dirty=!0,this},invert:function(){return v.invert(this.array,this.array),this._dirty=!0,this},len:function(){return v.len(this.array)},length:function(){return v.length(this.array)},lerp:function(u,c,p){return v.lerp(this.array,u.array,c.array,p),this._dirty=!0,this},mul:function(u){return v.mul(this.array,this.array,u.array),this._dirty=!0,this},mulLeft:function(u){return v.multiply(this.array,u.array,this.array),this._dirty=!0,this},multiply:function(u){return v.multiply(this.array,this.array,u.array),this._dirty=!0,this},multiplyLeft:function(u){return v.multiply(this.array,u.array,this.array),this._dirty=!0,this},normalize:function(){return v.normalize(this.array,this.array),this._dirty=!0,this},rotateX:function(u){return v.rotateX(this.array,this.array,u),this._dirty=!0,this},rotateY:function(u){return v.rotateY(this.array,this.array,u),this._dirty=!0,this},rotateZ:function(u){return v.rotateZ(this.array,this.array,u),this._dirty=!0,this},rotationTo:function(u,c){return v.rotationTo(this.array,u.array,c.array),this._dirty=!0,this},setAxes:function(u,c,p){return v.setAxes(this.array,u.array,c.array,p.array),this._dirty=!0,this},setAxisAngle:function(u,c){return v.setAxisAngle(this.array,u.array,c),this._dirty=!0,this},slerp:function(u,c,p){return v.slerp(this.array,u.array,c.array,p),this._dirty=!0,this},sqrLen:function(){return v.sqrLen(this.array)},squaredLength:function(){return v.squaredLength(this.array)},fromEuler:function(u,c){return m.fromEuler(this,u,c)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var A=Object.defineProperty;if(A){var y=m.prototype;A(y,"x",{get:function(){return this.array[0]},set:function(u){this.array[0]=u,this._dirty=!0}}),A(y,"y",{get:function(){return this.array[1]},set:function(u){this.array[1]=u,this._dirty=!0}}),A(y,"z",{get:function(){return this.array[2]},set:function(u){this.array[2]=u,this._dirty=!0}}),A(y,"w",{get:function(){return this.array[3]},set:function(u){this.array[3]=u,this._dirty=!0}})}m.add=function(u,c,p){return v.add(u.array,c.array,p.array),u._dirty=!0,u},m.set=function(u,c,p,r,n){v.set(u.array,c,p,r,n),u._dirty=!0},m.copy=function(u,c){return v.copy(u.array,c.array),u._dirty=!0,u},m.calculateW=function(u,c){return v.calculateW(u.array,c.array),u._dirty=!0,u},m.conjugate=function(u,c){return v.conjugate(u.array,c.array),u._dirty=!0,u},m.identity=function(u){return v.identity(u.array),u._dirty=!0,u},m.invert=function(u,c){return v.invert(u.array,c.array),u._dirty=!0,u},m.dot=function(u,c){return v.dot(u.array,c.array)},m.len=function(u){return v.length(u.array)},m.lerp=function(u,c,p,r){return v.lerp(u.array,c.array,p.array,r),u._dirty=!0,u},m.slerp=function(u,c,p,r){return v.slerp(u.array,c.array,p.array,r),u._dirty=!0,u},m.mul=function(u,c,p){return v.multiply(u.array,c.array,p.array),u._dirty=!0,u},m.multiply=m.mul,m.rotateX=function(u,c,p){return v.rotateX(u.array,c.array,p),u._dirty=!0,u},m.rotateY=function(u,c,p){return v.rotateY(u.array,c.array,p),u._dirty=!0,u},m.rotateZ=function(u,c,p){return v.rotateZ(u.array,c.array,p),u._dirty=!0,u},m.setAxisAngle=function(u,c,p){return v.setAxisAngle(u.array,c.array,p),u._dirty=!0,u},m.normalize=function(u,c){return v.normalize(u.array,c.array),u._dirty=!0,u},m.sqrLen=function(u){return v.sqrLen(u.array)},m.squaredLength=m.sqrLen,m.fromMat3=function(u,c){return v.fromMat3(u.array,c.array),u._dirty=!0,u},m.setAxes=function(u,c,p,r){return v.setAxes(u.array,c.array,p.array,r.array),u._dirty=!0,u},m.rotationTo=function(u,c,p){return v.rotationTo(u.array,c.array,p.array),u._dirty=!0,u},m.fromEuler=function(u,c,e){u._dirty=!0,c=c.array;var r=u.array,n=Math.cos(c[0]/2),o=Math.cos(c[1]/2),i=Math.cos(c[2]/2),s=Math.sin(c[0]/2),l=Math.sin(c[1]/2),d=Math.sin(c[2]/2),e=(e||"XYZ").toUpperCase();switch(e){case"XYZ":r[0]=s*o*i+n*l*d,r[1]=n*l*i-s*o*d,r[2]=n*o*d+s*l*i,r[3]=n*o*i-s*l*d;break;case"YXZ":r[0]=s*o*i+n*l*d,r[1]=n*l*i-s*o*d,r[2]=n*o*d-s*l*i,r[3]=n*o*i+s*l*d;break;case"ZXY":r[0]=s*o*i-n*l*d,r[1]=n*l*i+s*o*d,r[2]=n*o*d+s*l*i,r[3]=n*o*i-s*l*d;break;case"ZYX":r[0]=s*o*i-n*l*d,r[1]=n*l*i+s*o*d,r[2]=n*o*d-s*l*i,r[3]=n*o*i+s*l*d;break;case"YZX":r[0]=s*o*i+n*l*d,r[1]=n*l*i+s*o*d,r[2]=n*o*d-s*l*i,r[3]=n*o*i-s*l*d;break;case"XZY":r[0]=s*o*i-n*l*d,r[1]=n*l*i-s*o*d,r[2]=n*o*d+s*l*i,r[3]=n*o*i+s*l*d;break}},W.a=m},function(J,W,E){"use strict";var R=E(28),h=E(9),v=E(52),m=E(49),A=E(1),y=E.n(A),u=y.a.vec3,c=y.a.vec4,p=R.a.extend(function(){return{projectionMatrix:new h.a,invProjectionMatrix:new h.a,viewMatrix:new h.a,frustum:new v.a}},function(){this.update(!0)},{update:function(r){R.a.prototype.update.call(this,r),h.a.invert(this.viewMatrix,this.worldTransform),this.updateProjectionMatrix(),h.a.invert(this.invProjectionMatrix,this.projectionMatrix),this.frustum.setFromProjection(this.projectionMatrix)},setViewMatrix:function(r){h.a.copy(this.viewMatrix,r),h.a.invert(this.worldTransform,r),this.decomposeWorldTransform()},decomposeProjectionMatrix:function(){},setProjectionMatrix:function(r){h.a.copy(this.projectionMatrix,r),h.a.invert(this.invProjectionMatrix,r),this.decomposeProjectionMatrix()},updateProjectionMatrix:function(){},castRay:function(){var r=c.create();return function(n,o){var i=o!==void 0?o:new m.a,s=n.array[0],l=n.array[1];return c.set(r,s,l,-1,1),c.transformMat4(r,r,this.invProjectionMatrix.array),c.transformMat4(r,r,this.worldTransform.array),u.scale(i.origin.array,r,1/r[3]),c.set(r,s,l,1,1),c.transformMat4(r,r,this.invProjectionMatrix.array),c.transformMat4(r,r,this.worldTransform.array),u.scale(r,r,1/r[3]),u.sub(i.direction.array,r,i.origin.array),u.normalize(i.direction.array,i.direction.array),i.direction._dirty=!0,i.origin._dirty=!0,i}}()});W.a=p},function(J,W,E){"use strict";var R=E(4),h=E(15),v=E(67),m=E(1),A=E.n(m),y=A.a.vec3,u=y.set,c=y.copy,p=y.transformMat4,r=Math.min,n=Math.max,o=function(){this.planes=[];for(var i=0;i<6;i++)this.planes.push(new v.a);this.boundingBox=new h.a,this.vertices=[];for(var i=0;i<8;i++)this.vertices[i]=y.fromValues(0,0,0)};o.prototype={setFromProjection:function(i){var s=this.planes,l=i.array,d=l[0],e=l[1],t=l[2],a=l[3],f=l[4],g=l[5],x=l[6],_=l[7],D=l[8],M=l[9],w=l[10],b=l[11],N=l[12],K=l[13],S=l[14],B=l[15];u(s[0].normal.array,a-d,_-f,b-D),s[0].distance=-(B-N),s[0].normalize(),u(s[1].normal.array,a+d,_+f,b+D),s[1].distance=-(B+N),s[1].normalize(),u(s[2].normal.array,a+e,_+g,b+M),s[2].distance=-(B+K),s[2].normalize(),u(s[3].normal.array,a-e,_-g,b-M),s[3].distance=-(B-K),s[3].normalize(),u(s[4].normal.array,a-t,_-x,b-w),s[4].distance=-(B-S),s[4].normalize(),u(s[5].normal.array,a+t,_+x,b+w),s[5].distance=-(B+S),s[5].normalize();var O=this.boundingBox;if(B===0){var U=g/d,F=-S/(w-1),H=-S/(w+1),Y=-H/g,ne=-F/g;O.min.set(-Y*U,-Y,H),O.max.set(Y*U,Y,F);var ae=this.vertices;u(ae[0],-Y*U,-Y,H),u(ae[1],-Y*U,Y,H),u(ae[2],Y*U,-Y,H),u(ae[3],Y*U,Y,H),u(ae[4],-ne*U,-ne,F),u(ae[5],-ne*U,ne,F),u(ae[6],ne*U,-ne,F),u(ae[7],ne*U,ne,F)}else{var me=(-1-N)/d,Ce=(1-N)/d,ge=(1-K)/g,pe=(-1-K)/g,we=(-1-S)/w,De=(1-S)/w;O.min.set(Math.min(me,Ce),Math.min(pe,ge),Math.min(De,we)),O.max.set(Math.max(Ce,me),Math.max(ge,pe),Math.max(we,De));var Se=O.min.array,ve=O.max.array,ae=this.vertices;u(ae[0],Se[0],Se[1],Se[2]),u(ae[1],Se[0],ve[1],Se[2]),u(ae[2],ve[0],Se[1],Se[2]),u(ae[3],ve[0],ve[1],Se[2]),u(ae[4],Se[0],Se[1],ve[2]),u(ae[5],Se[0],ve[1],ve[2]),u(ae[6],ve[0],Se[1],ve[2]),u(ae[7],ve[0],ve[1],ve[2])}},getTransformedBoundingBox:function(){var i=y.create();return function(s,l){var d=this.vertices,e=l.array,t=s.min,a=s.max,f=t.array,g=a.array,x=d[0];p(i,x,e),c(f,i),c(g,i);for(var _=1;_<8;_++)x=d[_],p(i,x,e),f[0]=r(i[0],f[0]),f[1]=r(i[1],f[1]),f[2]=r(i[2],f[2]),g[0]=n(i[0],g[0]),g[1]=n(i[1],g[1]),g[2]=n(i[2],g[2]);return t._dirty=!0,a._dirty=!0,s}}()},W.a=o},function(J,W){var E=function(){this.head=null,this.tail=null,this._len=0},R=E.prototype;R.insert=function(y){var u=new h(y);return this.insertEntry(u),u},R.insertEntry=function(y){this.head?(this.tail.next=y,y.prev=this.tail,y.next=null,this.tail=y):this.head=this.tail=y,this._len++},R.remove=function(y){var u=y.prev,c=y.next;u?u.next=c:this.head=c,c?c.prev=u:this.tail=u,y.next=y.prev=null,this._len--},R.len=function(){return this._len},R.clear=function(){this.head=this.tail=null,this._len=0};var h=function(y){this.value=y,this.next,this.prev},v=function(y){this._list=new E,this._map={},this._maxSize=y||10,this._lastRemovedEntry=null},m=v.prototype;m.put=function(y,u){var c=this._list,p=this._map,r=null;if(p[y]==null){var n=c.len(),o=this._lastRemovedEntry;if(n>=this._maxSize&&n>0){var i=c.head;c.remove(i),delete p[i.key],r=i.value,this._lastRemovedEntry=i}o?o.value=u:o=new h(u),o.key=y,c.insertEntry(o),p[y]=o}return r},m.get=function(y){var u=this._map[y],c=this._list;if(u!=null)return u!==c.tail&&(c.remove(u),c.insertEntry(u)),u.value},m.clear=function(){this._list.clear(),this._map={}};var A=v;J.exports=A},function(J,W,E){"use strict";var R=E(5),h=E(25),v=E(102),m=E(55),A=E(56),y=E(29),u=E(104),c=E(105),p={loadTexture:function(r,n,o,i){var s;if(typeof n=="function"?(o=n,i=o,n={}):n=n||{},typeof r=="string"){if(r.match(/.hdr$/)||n.fileType==="hdr")return s=new R.a({width:0,height:0,sRGB:!1}),p._fetchTexture(r,function(l){c.a.parseRGBE(l,s,n.exposure),s.dirty(),o&&o(s)},i),s;r.match(/.dds$/)||n.fileType==="dds"?(s=new R.a({width:0,height:0}),p._fetchTexture(r,function(l){u.a.parse(l,s),s.dirty(),o&&o(s)},i)):(s=new R.a,s.load(r),s.success(o),s.error(i))}else if(typeof r=="object"&&typeof r.px!="undefined"){var s=new h.a;s.load(r),s.success(o),s.error(i)}return s},loadPanorama:function(r,n,o,i,s,l){var d=this;typeof i=="function"?(s=i,l=s,i={}):i=i||{},p.loadTexture(n,i,function(e){e.flipY=i.flipY||!1,d.panoramaToCubeMap(r,e,o,i),e.dispose(r),s&&s(o)},l)},panoramaToCubeMap:function(r,n,o,i){var s=new m.a,l=new A.a({scene:new y.a});return l.material.set("diffuseMap",n),i=i||{},i.encodeRGBM&&l.material.define("fragment","RGBM_ENCODE"),o.sRGB=n.sRGB,s.texture=o,s.render(r,l.scene),s.texture=null,s.dispose(r),o},heightToNormal:function(r,n){var o=document.createElement("canvas"),i=o.width=r.width,s=o.height=r.height,l=o.getContext("2d");l.drawImage(r,0,0,i,s),n=n||!1;for(var d=l.getImageData(0,0,i,s),e=l.createImageData(i,s),t=0;t20)return console.warn("Given image is not a height map"),r}var _,D,M,w;t%(i*4)===0?(_=d.data[t],M=d.data[t+4]):t%(i*4)===(i-1)*4?(_=d.data[t-4],M=d.data[t]):(_=d.data[t-4],M=d.data[t+4]),ti*(s-1)*4?(D=d.data[t-i*4],w=d.data[t]):(D=d.data[t-i*4],w=d.data[t+i*4]),e.data[t]=_-M+127,e.data[t+1]=D-w+127,e.data[t+2]=255,e.data[t+3]=255}return l.putImageData(e,0,0),o},isHeightImage:function(r,n,o){if(!r||!r.width||!r.height)return!1;var i=document.createElement("canvas"),s=i.getContext("2d"),l=n||32;o=o||20,i.width=i.height=l,s.drawImage(r,0,0,l,l);for(var d=s.getImageData(0,0,l,l),e=0;eo)return!1}return!0},_fetchTexture:function(r,n,o){v.a.get({url:r,responseType:"arraybuffer",onload:n,onerror:o})},createChessboard:function(r,n,o,i){r=r||512,n=n||64,o=o||"black",i=i||"white";var s=Math.ceil(r/n),l=document.createElement("canvas");l.width=r,l.height=r;var d=l.getContext("2d");d.fillStyle=i,d.fillRect(0,0,r,r),d.fillStyle=o;for(var e=0;e0?this.material.define("fragment","LOD"):this.material.undefine("fragment","LOD"),u.renderPass([this],c)}});W.a=y},function(J,W,E){"use strict";var R=E(2),h=E(143),v=E(144);R.a.Shader.import(v.a),W.a=R.a.Mesh.extend(function(){var m=new h.a({dynamic:!0}),A=new R.a.Material({shader:R.a.createShader("ecgl.labels"),transparent:!0,depthMask:!1});return{geometry:m,material:A,culling:!1,castShadow:!1,ignorePicking:!0}})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(2),m=E(186),A=E(22),y=E(3),u=E(1),c=E.n(u),p=E(60),r=E(61),n=E(40),o=c.a.vec3;v.a.Shader.import(n.a);function i(s){this.rootNode=new v.a.Node,this._triangulationResults={},this._shadersMap=v.a.COMMON_SHADERS.reduce(function(d,e){return d[e]=v.a.createShader("ecgl."+e),d},{}),this._linesShader=v.a.createShader("ecgl.meshLines3D");var l={};v.a.COMMON_SHADERS.forEach(function(d){l[d]=new v.a.Material({shader:v.a.createShader("ecgl."+d)})}),this._groundMaterials=l,this._groundMesh=new v.a.Mesh({geometry:new v.a.PlaneGeometry({dynamic:!0}),castShadow:!1,renderNormal:!0,$ignorePicking:!0}),this._groundMesh.rotation.rotateX(-Math.PI/2),this._labelsBuilder=new r.a(512,512,s),this._labelsBuilder.getMesh().renderOrder=100,this._labelsBuilder.getMesh().material.depthTest=!1,this.rootNode.add(this._labelsBuilder.getMesh()),this._initMeshes(),this._api=s}i.prototype={constructor:i,extrudeY:!0,update:function(s,l,d,e,t){var a=s.getData();e==null&&(e=0),t==null&&(t=a.count()),this._startIndex=e,this._endIndex=t-1,this._triangulation(s,e,t);var f=this._getShader(s.get("shading"));this._prepareMesh(s,f,d,e,t),this.rootNode.updateWorldTransform(),this._updateRegionMesh(s,d,e,t);var g=s.coordinateSystem;g.type==="geo3D"&&this._updateGroundPlane(s,g,d);var x=this;this._labelsBuilder.updateData(a,e,t),this._labelsBuilder.getLabelPosition=function(_,D,M){var w=a.getName(_),b,N=M;if(g.type==="geo3D"){var K=g.getRegion(w);return b=K.center,g.dataToPoint([b[0],b[1],N])}else var S=x._triangulationResults[_-x._startIndex],b=x.extrudeY?[(S.max[0]+S.min[0])/2,S.max[1]+N,(S.max[2]+S.min[2])/2]:[(S.max[0]+S.min[0])/2,(S.max[1]+S.min[1])/2,S.max[2]+N]},this._data=a,this._labelsBuilder.updateLabels(),this._updateDebugWireframe(s),this._lastHoverDataIndex=0},_initMeshes:function(){this.rootNode.removeAll();var s=this;function l(){var t=new v.a.Mesh({name:"Polygon",material:new v.a.Material({shader:s._shadersMap.lambert}),culling:!1,geometry:new v.a.Geometry({sortTriangles:!0,dynamic:!0}),ignorePicking:!0,renderNormal:!0});return h.a.util.extend(t.geometry,p.a),t}var d=l(),e=new v.a.Mesh({material:new v.a.Material({shader:this._linesShader}),castShadow:!1,ignorePicking:!0,$ignorePicking:!0,geometry:new A.a({useNativeLine:!1})});this.rootNode.add(d),this.rootNode.add(e),d.material.define("both","VERTEX_COLOR"),d.material.define("fragment","DOUBLE_SIDED"),this._polygonMesh=d,this._linesMesh=e,this.rootNode.add(this._groundMesh)},_getShader:function(s){var l=this._shadersMap[s];return l||(console.warn("Unkown shading "+s),l=this._shadersMap.lambert),l.__shading=s,l},_prepareMesh:function(s,l,d,e,t){for(var a=0,f=0,g=0,x=0,_=e;_65535?new Uint32Array(f*3):new Uint16Array(f*3),w.material.shader!==l&&w.material.attachShader(l,!0),v.a.setMaterialFromModel(l.__shading,w.material,s,d),g>0&&(this._linesMesh.geometry.resetOffset(),this._linesMesh.geometry.setVertexCount(g),this._linesMesh.geometry.setTriangleCount(x)),this._dataIndexOfVertex=new Uint32Array(a),this._vertexRangeOfDataIndex=new Uint32Array((t-e)*2)},_updateRegionMesh:function(s,l,d,e){for(var t=s.getData(),a=0,f=0,g=!1,Y=this._polygonMesh,x=this._linesMesh,_=d;_0;H&&(F*=l.getDevicePixelRatio(),this._updateLinesGeometry(x.geometry,s,_,B,F,s.coordinateSystem.transform)),x.invisible=!H,x.material.set({color:K})}var Y=this._polygonMesh;Y.material.transparent=g,Y.material.depthMask=!g,Y.geometry.updateBoundingBox(),Y.material.get("normalMap")&&Y.geometry.generateTangents(),Y.seriesIndex=s.seriesIndex,Y.on("mousemove",this._onmousemove,this),Y.on("mouseout",this._onmouseout,this)},_updateDebugWireframe:function(s){var l=s.getModel("debug.wireframe");if(l.get("show")){var d=v.a.parseColor(l.get("lineStyle.color")||"rgba(0,0,0,0.5)"),e=y.a.firstNotNull(l.get("lineStyle.width"),1),t=this._polygonMesh;t.geometry.generateBarycentric(),t.material.define("both","WIREFRAME_TRIANGLE"),t.material.set("wireframeLineColor",d),t.material.set("wireframeLineWidth",e)}},_onmousemove:function(s){var l=this._dataIndexOfVertex[s.triangle[0]];l==null&&(l=-1),l!==this._lastHoverDataIndex&&(this.downplay(this._lastHoverDataIndex),this.highlight(l)),this._lastHoverDataIndex=l,this._polygonMesh.dataIndex=l},_onmouseover:function(s){if(s.target){var l=s.target.eventData?this._data.indexOfName(s.target.eventData.name):s.target.dataIndex;l!=null&&(this.highlight(l),this._labelsBuilder.updateLabels([l]))}},_onmouseout:function(s){s.target&&(this.downplay(this._lastHoverDataIndex),this._lastHoverDataIndex=-1,this._polygonMesh.dataIndex=-1)},_updateGroundPlane:function(s,l,d){var e=s.getModel("groundPlane",s);if(this._groundMesh.invisible=!e.get("show",!0),!this._groundMesh.invisible){var t=s.get("shading"),a=this._groundMaterials[t];a||(console.warn("Unkown shading "+t),a=this._groundMaterials.lambert),v.a.setMaterialFromModel(t,a,e,d),a.get("normalMap")&&this._groundMesh.geometry.generateTangents(),this._groundMesh.material=a,this._groundMesh.material.set("color",v.a.parseColor(e.get("color"))),this._groundMesh.scale.set(l.size[0],l.size[2],1)}},_triangulation:function(s,l,d){this._triangulationResults=[];for(var e=[1/0,1/0,1/0],t=[-1/0,-1/0,-1/0],a=s.coordinateSystem,f=l;f1?e:0,Se[ie][S]=ge.points[de+2],x.set(t+ie,Se[ie]),g?(qe[0]=(ge.points[de]*B[0]-O[0])/F,qe[1]=(ge.points[de+2]*B[S]-O[S])/F):(qe[0]=(Ae?Ie:Ie+_e)/F,qe[1]=(Se[ie][K]*B[K]-O[K])/F),D.set(t+ie,qe)}o.sub(ve,Se[1],Se[0]),o.sub(Ee,Se[3],Se[0]),o.cross(Re,ve,Ee),o.normalize(Re,Re);for(var ie=0;ie<4;ie++)_.set(t+ie,Re),b&&M.set(t+ie,f);for(var ie=0;ie<6;ie++)N[a*3+ie]=De[ie]+t;t+=4,a+=2,Ie+=_e}}return l.dirty(),{vertexOffset:t,triangleOffset:a}},_getRegionLinesInfo:function(s,l,d){var e=0,t=0,a=l.getRegionModel(s),f=a.getModel("itemStyle"),g=f.get("borderWidth");if(g>0){var x=l.getRegionPolygonCoords(s);x.forEach(function(_){var D=_.exterior,M=_.interiors;e+=d.getPolylineVertexCount(D),t+=d.getPolylineTriangleCount(D);for(var w=0;wthis._endIndex)){l-=this._startIndex;for(var e=this._vertexRangeOfDataIndex[l*2];e=2e4},doSortTriangles:function(c,p){var r=this.indices;if(p===0){var n=this.attributes.position,c=c.array;(!this._triangleZList||this._triangleZList.length!==this.triangleCount)&&(this._triangleZList=new Float32Array(this.triangleCount),this._sortedTriangleIndices=new Uint32Array(this.triangleCount),this._indicesTmp=new r.constructor(r.length),this._triangleZListTmp=new Float32Array(this.triangleCount));for(var o=0,i,s=0;s0,n={},o=0;o2?(b=this._updateSymbolSprite(i,M,_,D),f.enableTexture("sprite")):f.disableTexture("sprite"),x.position.init(e-d);var N=[];if(w){f.undefine("VERTEX_SIZE"),f.undefine("VERTEX_COLOR");var K=a.getVisual("color"),S=a.getVisual("opacity");v.a.parseColor(K,N),N[3]*=S,f.set({color:N,u_Size:_.maxSize*this._sizeScale})}else f.set({color:[1,1,1,1]}),f.define("VERTEX_SIZE"),f.define("VERTEX_COLOR"),x.size.init(e-d),x.color.init(e-d),this._originalOpacity=new Float32Array(e-d);for(var B=a.getLayout("points"),O=x.position.value,U=!1,F=0;F1?(e[0]=l.maxSize,e[1]=l.maxSize/l.aspect):(e[1]=l.maxSize,e[0]=l.maxSize*l.aspect),e[0]=e[0]||1,e[1]=e[1]||1,(this._symbolType!==l.type||!n(this._symbolSize,e)||this._lineWidth!==s.lineWidth)&&(m.a.createSymbolSprite(l.type,e,{fill:"#fff",lineWidth:s.lineWidth,stroke:"transparent",shadowColor:"transparent",minMargin:Math.min(e[0]/2,10)},this._spriteImageCanvas),m.a.createSDFFromCanvas(this._spriteImageCanvas,Math.min(this._spriteImageCanvas.width,32),p,this._mesh.material.get("sprite").image),this._symbolType=l.type,this._symbolSize=e,this._lineWidth=s.lineWidth),this._spriteImageCanvas.width/l.maxSize*d},_updateMaterial:function(i,s){var l=i.get("blendMode")==="lighter"?v.a.additiveBlend:null,d=this._mesh.material;d.blend=l,d.set("lineWidth",s.lineWidth/p);var e=v.a.parseColor(s.stroke);d.set("strokeColor",e),d.transparent=!0,d.depthMask=!1,d.depthTest=!this.is2D,d.sortVertices=!this.is2D},_updateLabelBuilder:function(i,a,l){var d=i.getData(),e=this._mesh.geometry,t=e.attributes.position.value,a=this._startDataIndex,f=this._mesh.sizeScale;this._labelsBuilder.updateData(d,a,l),this._labelsBuilder.getLabelPosition=function(g,x,_){var D=(g-a)*3;return[t[D],t[D+1],t[D+2]]},this._labelsBuilder.getLabelDistance=function(g,x,_){var D=e.attributes.size.get(g-a)/f;return D/2+_},this._labelsBuilder.updateLabels()},_updateAnimation:function(i){v.a.updateVertexAnimation([["prevPosition","position"],["prevSize","size"]],this._prevMesh,this._mesh,i)},_updateHandler:function(i,s,l){var d=i.getData(),e=this._mesh,t=this,a=-1,f=i.coordinateSystem&&i.coordinateSystem.type==="cartesian3D",g;f&&(g=i.coordinateSystem.model),e.seriesIndex=i.seriesIndex,e.off("mousemove"),e.off("mouseout"),e.on("mousemove",function(x){var _=x.vertexIndex+t._startDataIndex;_!==a&&(this.highlightOnMouseover&&(this.downplay(d,a),this.highlight(d,_),this._labelsBuilder.updateLabels([_])),f&&l.dispatchAction({type:"grid3DShowAxisPointer",value:[d.get(i.coordDimToDataDim("x")[0],_),d.get(i.coordDimToDataDim("y")[0],_),d.get(i.coordDimToDataDim("z")[0],_)],grid3DIndex:g.componentIndex})),e.dataIndex=_,a=_},this),e.on("mouseout",function(x){var _=x.vertexIndex+t._startDataIndex;this.highlightOnMouseover&&(this.downplay(d,_),this._labelsBuilder.updateLabels()),a=-1,e.dataIndex=-1,f&&l.dispatchAction({type:"grid3DHideAxisPointer",grid3DIndex:g.componentIndex})},this)},updateLayout:function(i,s,l){var d=i.getData();if(this._mesh){var e=this._mesh.geometry.attributes.position.value,t=d.getLayout("points");if(this.is2D)for(var a=0;athis._endDataIndex||sthis._endDataIndex||s.05&&(a=!0),D!==f&&(g=!0),f=D,t=M}return a&&console.warn("Different symbol width / height ratio will be ignored."),g&&console.warn("Different symbol type will be ignored."),{maxSize:x,type:f,aspect:t}}},W.a=o},function(J,W,E){"use strict";W.a=`@export clay.prez.vertex uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; attribute vec3 position : POSITION; @import clay.chunk.skinning_header void main() { vec3 skinnedPosition = position; #ifdef SKINNING @import clay.chunk.skin_matrix skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz; #endif gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0); } @end @export clay.prez.fragment void main() { gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); } @end`},function(J,W,E){"use strict";var R=E(28),h=E(11),v=0,m=null,A=!0,y,u=function(){this.triangleCount=0,this.vertexCount=0,this.drawCallCount=0};function c(r,n,o){this.availableAttributes=r,this.availableAttributeSymbols=n,this.indicesBuffer=o,this.vao=null}var p=R.a.extend({material:null,geometry:null,mode:h.a.TRIANGLES,_drawCache:null,_renderInfo:null},function(){this._drawCache={},this._renderInfo=new u},{__program:null,lightGroup:0,renderOrder:0,lineWidth:1,culling:!0,cullFace:h.a.BACK,frontFace:h.a.CCW,frustumCulling:!0,receiveShadow:!0,castShadow:!0,ignorePicking:!1,ignorePreZ:!1,ignoreGBuffer:!1,isRenderable:function(){return this.geometry&&this.material&&this.material.shader&&!this.invisible&&this.geometry.vertexCount>0},beforeRender:function(r){},afterRender:function(r,n){},getBoundingBox:function(r,n){return n=R.a.prototype.getBoundingBox.call(this,r,n),this.geometry&&this.geometry.boundingBox&&n.union(this.geometry.boundingBox),n},render:function(r,n,o){var i=r.gl;n=n||this.material;var s=n.shader,l=this.geometry,d=this.mode,e=l.vertexCount,t=l.isUseIndices(),a=r.getGLExtension("OES_element_index_uint"),f=a&&e>65535,g=f?i.UNSIGNED_INT:i.UNSIGNED_SHORT,x=r.getGLExtension("OES_vertex_array_object"),_=!l.dynamic,D=this._renderInfo;D.vertexCount=e,D.triangleCount=0,D.drawCallCount=0;var M=!1;if(y=r.__uid__+"-"+l.__uid__+"-"+o.__uid__,(y!==v||x&&_||l._cache.isDirty("any"))&&(M=!0),v=y,!M)A?(i.drawElements(d,m.count,g,0),D.triangleCount=m.count/3):i.drawArrays(d,0,e),D.drawCallCount=1;else{var w=this._drawCache[y];if(!w){var b=l.getBufferChunks(r);if(!b)return;w=[];for(var N=0;N>1,h|=h>>2,h|=h>>4,h|=h>>8,h|=h>>16,h++,h},R.nearestPowerOfTwo=function(h){return Math.pow(2,Math.round(Math.log(h)/Math.LN2))},W.a=R},function(J,W,E){"use strict";var R=E(4),h=E(1),v=E.n(h),m=v.a.vec3,A=v.a.mat4,y=v.a.vec4,u=function(c,p){this.normal=c||new R.a(0,1,0),this.distance=p||0};u.prototype={constructor:u,distanceToPoint:function(c){return m.dot(c.array,this.normal.array)-this.distance},projectPoint:function(c,p){p||(p=new R.a);var r=this.distanceToPoint(c);return m.scaleAndAdd(p.array,c.array,this.normal.array,-r),p._dirty=!0,p},normalize:function(){var c=1/m.len(this.normal.array);m.scale(this.normal.array,c),this.distance*=c},intersectFrustum:function(c){for(var p=c.vertices,r=this.normal.array,n=m.dot(p[0].array,r)>this.distance,o=1;o<8;o++)if(m.dot(p[o].array,r)>this.distance!=n)return!0},intersectLine:function(){var c=m.create();return function(p,r,n){var o=this.distanceToPoint(p),i=this.distanceToPoint(r);if(o>0&&i>0||o<0&&i<0)return null;var s=this.normal.array,l=this.distance,d=p.array;m.sub(c,r.array,p.array),m.normalize(c,c);var e=m.dot(s,c);if(e===0)return null;n||(n=new R.a);var t=(m.dot(s,d)-l)/e;return m.scaleAndAdd(n.array,d,c,-t),n._dirty=!0,n}}(),applyTransform:function(){var c=A.create(),p=y.create(),r=y.create();return r[3]=1,function(n){n=n.array,m.scale(r,this.normal.array,this.distance),y.transformMat4(r,r,n),this.distance=m.dot(r,this.normal.array),A.invert(c,n),A.transpose(c,c),p[3]=0,m.copy(p,this.normal.array),y.transformMat4(p,p,c),m.copy(this.normal.array,p)}}(),copy:function(c){m.copy(this.normal.array,c.normal.array),this.normal._dirty=!0,this.distance=c.distance},clone:function(){var c=new u;return c.copy(this),c}},W.a=u},function(J,W,E){"use strict";var R=E(13),h=E(15),v=R.a.extend({dynamic:!1,widthSegments:40,heightSegments:20,phiStart:0,phiLength:Math.PI*2,thetaStart:0,thetaLength:Math.PI,radius:1},function(){this.build()},{build:function(){var m=this.heightSegments,A=this.widthSegments,y=this.attributes.position,u=this.attributes.texcoord0,c=this.attributes.normal,p=(A+1)*(m+1);y.init(p),u.init(p),c.init(p);var r=p>65535?Uint32Array:Uint16Array,n=this.indices=new r(A*m*6),o,i,s,l,d,e,t,_=this.radius,a=this.phiStart,f=this.phiLength,g=this.thetaStart,x=this.thetaLength,_=this.radius,D=[],M=[],w=0,b=1/_;for(t=0;t<=m;t++)for(e=0;e<=A;e++)l=e/A,d=t/m,o=-_*Math.cos(a+l*f)*Math.sin(g+d*x),i=_*Math.cos(g+d*x),s=_*Math.sin(a+l*f)*Math.sin(g+d*x),D[0]=o,D[1]=i,D[2]=s,M[0]=l,M[1]=d,y.set(w,D),u.set(w,M),D[0]*=b,D[1]*=b,D[2]*=b,c.set(w,D),w++;var N,K,S,B,O=A+1,U=0;for(t=0;to&&(r=this._x=0,n+=this._rowHeight+s,this._y=n,this._rowHeight=0),this._x+=u+s,this._rowHeight=Math.max(this._rowHeight,c),n+c+s>i)return null;y.position[0]+=this.offsetX*this.dpr+r,y.position[1]+=this.offsetY*this.dpr+n,this._zr.add(y);var l=[this.offsetX/this.width,this.offsetY/this.height],d=[[r/o+l[0],n/i+l[1]],[(r+u)/o+l[0],(n+c)/i+l[1]]];return d},_fitElement:function(y,u,c){var p=y.getBoundingRect(),r=u/p.width,n=c/p.height;y.position=[-p.x*r,-p.y*n],y.scale=[r,n],y.update()}};function A(y){y=y||{},y.width=y.width||512,y.height=y.height||512,y.devicePixelRatio=y.devicePixelRatio||1,y.gap=y.gap==null?2:y.gap;var u=document.createElement("canvas");u.width=y.width*y.devicePixelRatio,u.height=y.height*y.devicePixelRatio,this._canvas=u,this._texture=new v.a({image:u,flipY:!1});var c=this;this._zr=h.a.zrender.init(u);var p=this._zr.refreshImmediately;this._zr.refreshImmediately=function(){p.call(this),c._texture.dirty(),c.onupdate&&c.onupdate()},this._dpr=y.devicePixelRatio,this._coords={},this.onupdate=y.onupdate,this._gap=y.gap,this._textureAtlasNodes=[new m(this._zr,0,0,y.width,y.height,this._gap,this._dpr)],this._nodeWidth=y.width,this._nodeHeight=y.height,this._currentNodeIdx=0}A.prototype={clear:function(){for(var y=0;y=y){console.error("Too much labels. Some will be ignored.");return}var n=(p+this._nodeWidth)*this._dpr,o=(r+this._nodeHeight)*this._dpr;try{this._zr.resize({width:n,height:o})}catch(s){this._canvas.width=n,this._canvas.height=o}var i=new m(this._zr,p,r,this._nodeWidth,this._nodeHeight,this._gap,this._dpr);return this._textureAtlasNodes.push(i),i},add:function(y,u,c){if(this._coords[y.id])return console.warn("Element already been add"),this._coords[y.id];var p=this._getCurrentNode().add(y,u,c);if(!p){var r=this._expand();if(!r)return;p=r.add(y,u,c)}return this._coords[y.id]=p,p},getCoordsScale:function(){var y=this._dpr;return[this._nodeWidth/this._canvas.width*y,this._nodeHeight/this._canvas.height*y]},getCoords:function(y){return this._coords[y]}},W.a=A},function(J,W,E){"use strict";W.a=R;function R(h,v,m){var A,y=h.scale;return y.type==="ordinal"&&(typeof m=="function"?(A=y.getTicks()[v],!m(A,y.getLabel(A))):v%(m+1))}},function(J,W,E){var R=E(76),h=E(77),v=R.applyTransform,m=Math.min,A=Math.max;function y(c,p,r,n){r<0&&(c=c+r,r=-r),n<0&&(p=p+n,n=-n),this.x=c,this.y=p,this.width=r,this.height=n}y.prototype={constructor:y,union:function(c){var p=m(c.x,this.x),r=m(c.y,this.y);this.width=A(c.x+c.width,this.x+this.width)-p,this.height=A(c.y+c.height,this.y+this.height)-r,this.x=p,this.y=r},applyTransform:function(){var c=[],p=[],r=[],n=[];return function(o){if(o){c[0]=r[0]=this.x,c[1]=n[1]=this.y,p[0]=n[0]=this.x+this.width,p[1]=r[1]=this.y+this.height,v(c,c,o),v(p,p,o),v(r,r,o),v(n,n,o),this.x=m(c[0],p[0],r[0],n[0]),this.y=m(c[1],p[1],r[1],n[1]);var i=A(c[0],p[0],r[0],n[0]),s=A(c[1],p[1],r[1],n[1]);this.width=i-this.x,this.height=s-this.y}}}(),calculateTransform:function(c){var p=this,r=c.width/p.width,n=c.height/p.height,o=h.create();return h.translate(o,o,[-p.x,-p.y]),h.scale(o,o,[r,n]),h.translate(o,o,[c.x,c.y]),o},intersect:function(c){if(!c)return!1;c instanceof y||(c=y.create(c));var p=this,r=p.x,n=p.x+p.width,o=p.y,i=p.y+p.height,s=c.x,l=c.x+c.width,d=c.y,e=c.y+c.height;return!(n=r.x&&c<=r.x+r.width&&p>=r.y&&p<=r.y+r.height},clone:function(){return new y(this.x,this.y,this.width,this.height)},copy:function(c){this.x=c.x,this.y=c.y,this.width=c.width,this.height=c.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},y.create=function(c){return new y(c.x,c.y,c.width,c.height)};var u=y;J.exports=u},function(J,W){var E=typeof Float32Array=="undefined"?Array:Float32Array;function R(w,b){var N=new E(2);return w==null&&(w=0),b==null&&(b=0),N[0]=w,N[1]=b,N}function h(w,b){return w[0]=b[0],w[1]=b[1],w}function v(w){var b=new E(2);return b[0]=w[0],b[1]=w[1],b}function m(w,b,N){return w[0]=b,w[1]=N,w}function A(w,b,N){return w[0]=b[0]+N[0],w[1]=b[1]+N[1],w}function y(w,b,N,K){return w[0]=b[0]+N[0]*K,w[1]=b[1]+N[1]*K,w}function u(w,b,N){return w[0]=b[0]-N[0],w[1]=b[1]-N[1],w}function c(w){return Math.sqrt(r(w))}var p=c;function r(w){return w[0]*w[0]+w[1]*w[1]}var n=r;function o(w,b,N){return w[0]=b[0]*N[0],w[1]=b[1]*N[1],w}function i(w,b,N){return w[0]=b[0]/N[0],w[1]=b[1]/N[1],w}function s(w,b){return w[0]*b[0]+w[1]*b[1]}function l(w,b,N){return w[0]=b[0]*N,w[1]=b[1]*N,w}function d(w,b){var N=c(b);return N===0?(w[0]=0,w[1]=0):(w[0]=b[0]/N,w[1]=b[1]/N),w}function e(w,b){return Math.sqrt((w[0]-b[0])*(w[0]-b[0])+(w[1]-b[1])*(w[1]-b[1]))}var t=e;function a(w,b){return(w[0]-b[0])*(w[0]-b[0])+(w[1]-b[1])*(w[1]-b[1])}var f=a;function g(w,b){return w[0]=-b[0],w[1]=-b[1],w}function x(w,b,N,K){return w[0]=b[0]+K*(N[0]-b[0]),w[1]=b[1]+K*(N[1]-b[1]),w}function _(w,b,N){var K=b[0],S=b[1];return w[0]=N[0]*K+N[2]*S+N[4],w[1]=N[1]*K+N[3]*S+N[5],w}function D(w,b,N){return w[0]=Math.min(b[0],N[0]),w[1]=Math.min(b[1],N[1]),w}function M(w,b,N){return w[0]=Math.max(b[0],N[0]),w[1]=Math.max(b[1],N[1]),w}W.create=R,W.copy=h,W.clone=v,W.set=m,W.add=A,W.scaleAndAdd=y,W.sub=u,W.len=c,W.length=p,W.lenSquare=r,W.lengthSquare=n,W.mul=o,W.div=i,W.dot=s,W.scale=l,W.normalize=d,W.distance=e,W.dist=t,W.distanceSquare=a,W.distSquare=f,W.negate=g,W.lerp=x,W.applyTransform=_,W.min=D,W.max=M},function(J,W){var E=typeof Float32Array=="undefined"?Array:Float32Array;function R(){var r=new E(6);return h(r),r}function h(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r}function v(r,n){return r[0]=n[0],r[1]=n[1],r[2]=n[2],r[3]=n[3],r[4]=n[4],r[5]=n[5],r}function m(r,n,o){var i=n[0]*o[0]+n[2]*o[1],s=n[1]*o[0]+n[3]*o[1],l=n[0]*o[2]+n[2]*o[3],d=n[1]*o[2]+n[3]*o[3],e=n[0]*o[4]+n[2]*o[5]+n[4],t=n[1]*o[4]+n[3]*o[5]+n[5];return r[0]=i,r[1]=s,r[2]=l,r[3]=d,r[4]=e,r[5]=t,r}function A(r,n,o){return r[0]=n[0],r[1]=n[1],r[2]=n[2],r[3]=n[3],r[4]=n[4]+o[0],r[5]=n[5]+o[1],r}function y(r,n,o){var i=n[0],s=n[2],l=n[4],d=n[1],e=n[3],t=n[5],a=Math.sin(o),f=Math.cos(o);return r[0]=i*f+d*a,r[1]=-i*a+d*f,r[2]=s*f+e*a,r[3]=-s*a+f*e,r[4]=f*l+a*t,r[5]=f*t-a*l,r}function u(r,n,o){var i=o[0],s=o[1];return r[0]=n[0]*i,r[1]=n[1]*s,r[2]=n[2]*i,r[3]=n[3]*s,r[4]=n[4]*i,r[5]=n[5]*s,r}function c(r,n){var o=n[0],i=n[2],s=n[4],l=n[1],d=n[3],e=n[5],t=o*d-l*i;return t?(t=1/t,r[0]=d*t,r[1]=-l*t,r[2]=-i*t,r[3]=o*t,r[4]=(i*e-d*s)*t,r[5]=(l*s-o*e)*t,r):null}function p(r){var n=R();return v(n,r),n}W.create=R,W.identity=h,W.copy=v,W.mul=m,W.translate=A,W.rotate=y,W.scale=u,W.invert=c,W.clone=p},function(J,W,E){var R=E(12),h=1e-4;function v(x){return x.replace(/^\s+/,"").replace(/\s+$/,"")}function m(x,_,D,M){var w=_[1]-_[0],b=D[1]-D[0];if(w===0)return b===0?D[0]:(D[0]+D[1])/2;if(M)if(w>0){if(x<=_[0])return D[0];if(x>=_[1])return D[1]}else{if(x>=_[0])return D[0];if(x<=_[1])return D[1]}else{if(x===_[0])return D[0];if(x===_[1])return D[1]}return(x-_[0])/w*b+D[0]}function A(x,_){switch(x){case"center":case"middle":x="50%";break;case"left":case"top":x="0%";break;case"right":case"bottom":x="100%";break}return typeof x=="string"?v(x).match(/%$/)?parseFloat(x)/100*_:parseFloat(x):x==null?NaN:+x}function y(x,_,D){return _==null&&(_=10),_=Math.min(Math.max(0,_),20),x=(+x).toFixed(_),D?x:+x}function u(x){return x.sort(function(_,D){return _-D}),x}function c(x){if(x=+x,isNaN(x))return 0;for(var _=1,D=0;Math.round(x*_)/_!==x;)_*=10,D++;return D}function p(x){var _=x.toString(),D=_.indexOf("e");if(D>0){var M=+_.slice(D+1);return M<0?-M:0}else{var w=_.indexOf(".");return w<0?0:_.length-1-w}}function r(x,_){var D=Math.log,M=Math.LN10,w=Math.floor(D(x[1]-x[0])/M),b=Math.round(D(Math.abs(_[1]-_[0]))/M),N=Math.min(Math.max(-w+b,0),20);return isFinite(N)?N:20}function n(x,_,D){if(!x[_])return 0;var M=R.reduce(x,function(Y,ne){return Y+(isNaN(ne)?0:ne)},0);if(M===0)return 0;for(var w=Math.pow(10,D),b=R.map(x,function(Y){return(isNaN(Y)?0:Y)/M*w*100}),N=w*100,K=R.map(b,function(Y){return Math.floor(Y)}),S=R.reduce(K,function(Y,ne){return Y+ne},0),B=R.map(b,function(Y,ne){return Y-K[ne]});SO&&(O=B[F],U=F);++K[U],B[U]=0,++S}return K[_]/w}var o=9007199254740991;function i(x){var _=Math.PI*2;return(x%_+_)%_}function s(x){return x>-h&&x=-20?+x.toFixed(D<0?-D:0):x}function f(x){x.sort(function(S,B){return K(S,B,0)?-1:1});for(var _=-1/0,D=1,M=0;M=0}W.linearMap=m,W.parsePercent=A,W.round=y,W.asc=u,W.getPrecision=c,W.getPrecisionSafe=p,W.getPixelPrecision=r,W.getPercentWithPrecision=n,W.MAX_SAFE_INTEGER=o,W.remRadian=i,W.isRadianAroundZero=s,W.parseDate=d,W.quantity=e,W.nice=a,W.reformIntervals=f,W.isNumeric=g},function(J,W,E){"use strict";var R=E(5),h=E(11),v=E(21),m=function(){this._pool={},this._allocatedTextures=[]};m.prototype={constructor:m,get:function(r){var n=u(r);this._pool.hasOwnProperty(n)||(this._pool[n]=[]);var o=this._pool[n];if(!o.length){var i=new R.a(r);return this._allocatedTextures.push(i),i}return o.pop()},put:function(r){var n=u(r);this._pool.hasOwnProperty(n)||(this._pool[n]=[]);var o=this._pool[n];o.push(r)},clear:function(r){for(var n=0;ni&&o.push({pivot:Math.floor((s+i)/2),left:i,right:s});var i=r[n].pivot+1,s=r[n].right;s>i&&o.push({pivot:Math.floor((s+i)/2),left:i,right:s})}r=this._parts=o}else for(var n=0;n65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(r){this.triangleCount!==r&&(r===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(r*3):new Uint16Array(r*3))},_getCubicCurveApproxStep:function(r,n,o,i){var s=u.dist(r,n)+u.dist(o,n)+u.dist(i,o),l=1/(s+1)*this.segmentScale;return l},getCubicCurveVertexCount:function(r,n,o,i){var s=this._getCubicCurveApproxStep(r,n,o,i),l=Math.ceil(1/s);return this.useNativeLine?l*2:l*2+2},getCubicCurveTriangleCount:function(r,n,o,i){var s=this._getCubicCurveApproxStep(r,n,o,i),l=Math.ceil(1/s);return this.useNativeLine?0:l*2},getLineVertexCount:function(){return this.getPolylineVertexCount(c)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(c)},getPolylineVertexCount:function(r){var n;if(typeof r=="number")n=r;else{var o=typeof r[0]!="number";n=o?r.length:r.length/2}return this.useNativeLine?(n-1)*2:(n-1)*2+2},getPolylineTriangleCount:function(r){var n;if(typeof r=="number")n=r;else{var o=typeof r[0]!="number";n=o?r.length:r.length/2}return this.useNativeLine?0:(n-1)*2},addCubicCurve:function(r,n,o,i,s,l){l==null&&(l=1);for(var d=r[0],e=r[1],t=n[0],a=n[1],f=o[0],g=o[1],x=i[0],_=i[1],D=this._getCubicCurveApproxStep(r,n,o,i),M=D*D,w=M*D,b=3*D,N=3*M,K=6*M,S=6*w,B=d-t*2+f,O=e-a*2+g,U=(t-f)*3-d+x,F=(a-g)*3-e+_,H=d,Y=e,ne=(t-d)*b+B*N+U*w,ae=(a-e)*b+O*N+F*w,me=B*K+U*S,Ce=O*K+F*S,ge=U*S,pe=F*S,we=0,De=0,Se=Math.ceil(1/D),ve=new Float32Array((Se+1)*3),ve=[],Ee=0,De=0;De1&&(H=ne>0?Math.min(H,x):Math.max(H,x),Y=ae>0?Math.min(Y,_):Math.max(Y,_));this.addPolyline(ve,s,l)},addLine:function(r,n,o,i){this.addPolyline([r,n],o,i)},addPolyline:function(){var r=u.create(),n=u.create(),o=u.create(),i=u.create(),s=[],l=[],d=[];return function(e,t,a,f,g){if(e.length){var x=typeof e[0]!="number";if(g==null&&(g=x?e.length:e.length/2),!(g<2)){f==null&&(f=0),a==null&&(a=1),this._itemVertexOffsets.push(this._vertexOffset);for(var _=x?typeof t[0]!="number":t.length/4===g,D=this.attributes.position,M=this.attributes.color,w=this.attributes.offset,b=this.attributes.normal,N=this.indices,K=this._vertexOffset,S,B=0;B1&&(D.copy(K,K-1),M.copy(K,K-1),K++);else{var F;if(B0){u.sub(r,s,d),u.sub(n,l,s),u.normalize(r,r),u.normalize(n,n),u.add(i,r,n),u.normalize(i,i);var H=a/2*Math.min(1/u.dot(r,i),2);o[0]=-i[1],o[1]=i[0],F=H}else u.sub(r,l,s),u.normalize(r,r),o[0]=-r[1],o[1]=r[0],F=a/2}else u.sub(r,s,d),u.normalize(r,r),o[0]=-r[1],o[1]=r[0],F=a/2;b.set(K,o),b.set(K+1,o),w.set(K,F),w.set(K+1,-F),u.copy(d,s),D.set(K,s),D.set(K+1,s),M.set(K,S),M.set(K+1,S),K+=2}if(this.useNativeLine)M.set(K,S),D.set(K,s),K++;else if(B>0){var Y=this._faceOffset*3,N=this.indices;N[Y]=K-4,N[Y+1]=K-3,N[Y+2]=K-2,N[Y+3]=K-3,N[Y+4]=K-1,N[Y+5]=K-2,this._faceOffset+=2}}this._vertexOffset=K}}}}(),setItemColor:function(r,n){for(var o=this._itemVertexOffsets[r],i=rb&&O=0&&this._viewsToDispose.splice(e,1),this.views.push(d),d.layer=this;var t=this.zr;d.scene.traverse(function(a){a.__zr=t,a.addAnimatorsToZr&&a.addAnimatorsToZr(t)})}};function r(d){var e=d.__zr;d.__zr=null,e&&d.removeAnimatorsFromZr&&d.removeAnimatorsFromZr(e)}p.prototype.removeView=function(d){if(d.layer===this){var e=this.views.indexOf(d);e>=0&&(this.views.splice(e,1),d.scene.traverse(r,this),d.layer=null,this._viewsToDispose.push(d))}},p.prototype.removeViewsAll=function(){this.views.forEach(function(d){d.scene.traverse(r,this),d.layer=null,this._viewsToDispose.push(d)},this),this.views.length=0},p.prototype.resize=function(d,e){var t=this.renderer;t.resize(d,e)},p.prototype.clear=function(){var d=this.renderer.gl;d.clearColor(0,0,0,0),d.depthMask(!0),d.colorMask(!0,!0,!0,!0),d.clear(d.DEPTH_BUFFER_BIT|d.COLOR_BUFFER_BIT)},p.prototype.clearDepth=function(){var d=this.renderer.gl;d.clear(d.DEPTH_BUFFER_BIT)},p.prototype.clearColor=function(){var d=this.renderer.gl;d.clearColor(0,0,0,0),d.clear(d.COLOR_BUFFER_BIT)},p.prototype.needsRefresh=function(){this.zr.refresh()},p.prototype.refresh=function(){for(var d=0;d20)){d=d.event;var a=this.pickObject(d.offsetX,d.offsetY);a&&(this._dispatchEvent(d.type,d,a),this._dispatchDataEvent(d.type,d,a));var f=this._clickToSetFocusPoint(d);if(f){var g=f.view.setDOFFocusOnPoint(f.distance);g&&this.zr.refresh()}}}},p.prototype._clickToSetFocusPoint=function(d){for(var e=this.renderer,t=e.viewport,a=this.views.length-1;a>=0;a--){var f=this.views[a];if(f.hasDOF()&&f.containPoint(d.offsetX,d.offsetY)){this._picking.scene=f.scene,this._picking.camera=f.camera,e.viewport=f.viewport;var g=this._picking.pick(d.offsetX,d.offsetY,!0);if(g)return g.view=f,g}}e.viewport=t},p.prototype.onglobalout=function(d){var e=this._hovered;e&&this._dispatchEvent("mouseout",d,{target:e.target})},p.prototype.pickObject=function(d,e){for(var t=[],a=this.renderer,f=a.viewport,g=0;g=0&&(D.dataIndex=this._lastDataIndex,D.seriesIndex=this._lastSeriesIndex,this.zr.handler.dispatchToElement(M,"mouseout",e)),_=!0):x!=null&&x!==this._lastEventData&&(this._lastEventData!=null&&(D.eventData=this._lastEventData,this.zr.handler.dispatchToElement(M,"mouseout",e)),_=!0),this._lastEventData=x,this._lastDataIndex=f,this._lastSeriesIndex=g),D.eventData=x,D.dataIndex=f,D.seriesIndex=g,(x!=null||parseInt(f,10)>=0)&&(this.zr.handler.dispatchToElement(M,d,e),_&&this.zr.handler.dispatchToElement(M,"mouseover",e))},p.prototype._dispatchToView=function(d,e){for(var t=0;t255?255:t}function A(t){return t=Math.round(t),t<0?0:t>360?360:t}function y(t){return t<0?0:t>1?1:t}function u(t){return t.length&&t.charAt(t.length-1)==="%"?m(parseFloat(t)/100*255):m(parseInt(t,10))}function c(t){return t.length&&t.charAt(t.length-1)==="%"?y(parseFloat(t)/100):y(parseFloat(t))}function p(t,a,f){return f<0?f+=1:f>1&&(f-=1),f*6<1?t+(a-t)*f*6:f*2<1?a:f*3<2?t+(a-t)*(2/3-f)*6:t}function r(t,a,f){return t+(a-t)*f}function n(t,a,f,g,x){return t[0]=a,t[1]=f,t[2]=g,t[3]=x,t}function o(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t}var i=new R.a(20),s=null;function l(t,a){s&&o(s,a),s=i.put(t,s||a.slice())}h.parse=function(t,a){if(t){a=a||[];var f=i.get(t);if(f)return o(a,f);t=t+"";var g=t.replace(/ /g,"").toLowerCase();if(g in v)return o(a,v[g]),l(t,a),a;if(g.charAt(0)==="#"){if(g.length===4){var x=parseInt(g.substr(1),16);if(!(x>=0&&x<=4095)){n(a,0,0,0,1);return}return n(a,(x&3840)>>4|(x&3840)>>8,x&240|(x&240)>>4,x&15|(x&15)<<4,1),l(t,a),a}else if(g.length===7){var x=parseInt(g.substr(1),16);if(!(x>=0&&x<=16777215)){n(a,0,0,0,1);return}return n(a,(x&16711680)>>16,(x&65280)>>8,x&255,1),l(t,a),a}return}var _=g.indexOf("("),D=g.indexOf(")");if(_!==-1&&D+1===g.length){var M=g.substr(0,_),w=g.substr(_+1,D-(_+1)).split(","),b=1;switch(M){case"rgba":if(w.length!==4){n(a,0,0,0,1);return}b=c(w.pop());case"rgb":if(w.length!==3){n(a,0,0,0,1);return}return n(a,u(w[0]),u(w[1]),u(w[2]),b),l(t,a),a;case"hsla":if(w.length!==4){n(a,0,0,0,1);return}return w[3]=c(w[3]),d(w,a),l(t,a),a;case"hsl":if(w.length!==3){n(a,0,0,0,1);return}return d(w,a),l(t,a),a;default:return}}n(a,0,0,0,1)}},h.parseToFloat=function(t,a){if(a=h.parse(t,a),!!a)return a[0]/=255,a[1]/=255,a[2]/=255,a};function d(t,a){var f=(parseFloat(t[0])%360+360)%360/360,g=c(t[1]),x=c(t[2]),_=x<=.5?x*(g+1):x+g-x*g,D=x*2-_;return a=a||[],n(a,m(p(D,_,f+1/3)*255),m(p(D,_,f)*255),m(p(D,_,f-1/3)*255),1),t.length===4&&(a[3]=t[3]),a}function e(t){if(t){var a=t[0]/255,f=t[1]/255,g=t[2]/255,x=Math.min(a,f,g),_=Math.max(a,f,g),D=_-x,M=(_+x)/2,w,b;if(D===0)w=0,b=0;else{M<.5?b=D/(_+x):b=D/(2-_-x);var N=((_-a)/6+D/2)/D,K=((_-f)/6+D/2)/D,S=((_-g)/6+D/2)/D;a===_?w=S-K:f===_?w=1/3+N-S:g===_&&(w=2/3+K-N),w<0&&(w+=1),w>1&&(w-=1)}var B=[w*360,b,M];return t[3]!=null&&B.push(t[3]),B}}h.lift=function(t,a){var f=h.parse(t);if(f){for(var g=0;g<3;g++)a<0?f[g]=f[g]*(1-a)|0:f[g]=(255-f[g])*a+f[g]|0;return h.stringify(f,f.length===4?"rgba":"rgb")}},h.toHex=function(t){var a=h.parse(t);if(a)return((1<<24)+(a[0]<<16)+(a[1]<<8)+ +a[2]).toString(16).slice(1)},h.fastLerp=function(t,a,f){if(!(!(a&&a.length)||!(t>=0&&t<=1))){f=f||[];var g=t*(a.length-1),x=Math.floor(g),_=Math.ceil(g),D=a[x],M=a[_],w=g-x;return f[0]=m(r(D[0],M[0],w)),f[1]=m(r(D[1],M[1],w)),f[2]=m(r(D[2],M[2],w)),f[3]=y(r(D[3],M[3],w)),f}},h.fastMapToColor=h.fastLerp,h.lerp=function(t,a,f){if(!(!(a&&a.length)||!(t>=0&&t<=1))){var g=t*(a.length-1),x=Math.floor(g),_=Math.ceil(g),D=h.parse(a[x]),M=h.parse(a[_]),w=g-x,b=h.stringify([m(r(D[0],M[0],w)),m(r(D[1],M[1],w)),m(r(D[2],M[2],w)),y(r(D[3],M[3],w))],"rgba");return f?{color:b,leftIndex:x,rightIndex:_,value:g}:b}},h.mapToColor=h.lerp,h.modifyHSL=function(t,a,f,g){if(t=h.parse(t),t)return t=e(t),a!=null&&(t[0]=A(a)),f!=null&&(t[1]=c(f)),g!=null&&(t[2]=c(g)),h.stringify(d(t),"rgba")},h.modifyAlpha=function(t,a){if(t=h.parse(t),t&&a!=null)return t[3]=y(a),h.stringify(t,"rgba")},h.stringify=function(t,a){if(!(!t||!t.length)){var f=t[0]+","+t[1]+","+t[2];return(a==="rgba"||a==="hsva"||a==="hsla")&&(f+=","+t[3]),a+"("+f+")"}},W.a=h},function(J,W,E){"use strict";var R=E(95),h=function(v){this._list=new R.a,this._map={},this._maxSize=v||10};h.prototype.setMaxSize=function(v){this._maxSize=v},h.prototype.put=function(v,m){if(typeof this._map[v]=="undefined"){var A=this._list.length();if(A>=this._maxSize&&A>0){var y=this._list.head;this._list.remove(y),delete this._map[y.key]}var u=this._list.insert(m);u.key=v,this._map[v]=u}},h.prototype.get=function(v){var m=this._map[v];if(typeof m!="undefined")return m!==this._list.tail&&(this._list.remove(m),this._list.insertEntry(m)),m.value},h.prototype.remove=function(v){var m=this._map[v];typeof m!="undefined"&&(delete this._map[v],this._list.remove(m))},h.prototype.clear=function(){this._list.clear(),this._map={}},W.a=h},function(J,W,E){"use strict";var R=function(){this.head=null,this.tail=null,this._length=0};R.prototype.insert=function(h){var v=new R.Entry(h);return this.insertEntry(v),v},R.prototype.insertAt=function(h,v){if(!(h<0)){for(var m=this.head,A=0;m&&A!=h;)m=m.next,A++;if(m){var y=new R.Entry(v),u=m.prev;u?(u.next=y,y.prev=u):this.head=y,y.next=m,m.prev=y}else this.insert(v)}},R.prototype.insertBeforeEntry=function(h,v){var m=new R.Entry(h),A=v.prev;A?(A.next=m,m.prev=A):this.head=m,m.next=v,v.prev=m,this._length++},R.prototype.insertEntry=function(h){this.head?(this.tail.next=h,h.prev=this.tail,this.tail=h):this.head=this.tail=h,this._length++},R.prototype.remove=function(h){var v=h.prev,m=h.next;v?v.next=m:this.head=m,m?m.prev=v:this.tail=v,h.next=h.prev=null,this._length--},R.prototype.removeAt=function(h){if(!(h<0)){for(var v=this.head,m=0;v&&m!=h;)v=v.next,m++;if(v)return this.remove(v),v.value}},R.prototype.getHead=function(){if(this.head)return this.head.value},R.prototype.getTail=function(){if(this.tail)return this.tail.value},R.prototype.getAt=function(h){if(!(h<0)){for(var v=this.head,m=0;v&&m!=h;)v=v.next,m++;return v.value}},R.prototype.indexOf=function(h){for(var v=this.head,m=0;v;){if(v.value===h)return m;v=v.next,m++}},R.prototype.length=function(){return this._length},R.prototype.isEmpty=function(){return this._length===0},R.prototype.forEach=function(h,v){for(var m=this.head,A=0,y=typeof v!="undefined";m;)y?h.call(v,m.value,A):h(m.value,A),m=m.next,A++},R.prototype.clear=function(){this.tail=this.head=null,this._length=0},R.Entry=function(h){this.value=h,this.next=null,this.prev=null},W.a=R},function(J,W,E){"use strict";var R=E(97),h=/for\s*?\(int\s*?_idx_\s*\=\s*([\w-]+)\;\s*_idx_\s*<\s*([\w-]+);\s*_idx_\s*\+\+\s*\)\s*\{\{([\s\S]+?)(?=\}\})\}\}/g;function v(c,p,r){function n(s,l,d,e){var t="";isNaN(l)&&(l in p?l=p[l]:l=o[l]),isNaN(d)&&(d in p?d=p[d]:d=o[d]);for(var a=parseInt(l);a0&&n.push("#define "+o.toUpperCase()+"_COUNT "+i)}if(r)for(var s=0;s=0&&O[S]>1e-4&&(r.transformMat4(H,B,N[U[S]]),r.scaleAndAdd(F,F,H,O[S]));Y.set(K,F)}}for(var K=0;K<_.length;K+=3){var ne=_[K],ae=_[K+1],me=_[K+2],Ce=a?f.attributes.skinnedPosition:D;if(Ce.get(ne,o.array),Ce.get(ae,i.array),Ce.get(me,s.array),g?x=l.intersectTriangle(o,i,s,e.culling):x=l.intersectTriangle(o,s,i,e.culling),x){var ge=new m.a;a?m.a.copy(ge,x):m.a.transformMat4(ge,x,e.worldTransform),t.push(new n.Intersection(x,ge,e,[ne,ae,me],K/3,m.a.dist(ge,this._ray.origin)))}}}}}}(),_intersectionCompareFunc:function(o,i){return o.distance-i.distance}});n.Intersection=function(o,i,s,l,d,e){this.point=o,this.pointWorld=i,this.target=s,this.triangle=l,this.triangleIndex=d,this.distance=e},W.a=n},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=["bar3D","line3D","map3D","scatter3D","surface","lines3D","scatterGL","scatter3D"];function m(u,c){if(u&&u[c]&&(u[c].normal||u[c].emphasis)){var p=u[c].normal,r=u[c].emphasis;p&&(u[c]=p),r&&(u.emphasis=u.emphasis||{},u.emphasis[c]=r)}}function A(u){m(u,"itemStyle"),m(u,"lineStyle"),m(u,"areaStyle"),m(u,"label")}function y(u){u&&(u instanceof Array||(u=[u]),h.a.util.each(u,function(c){if(c.axisLabel){var p=c.axisLabel;h.a.util.extend(p,p.textStyle),p.textStyle=null}}))}W.a=function(u){h.a.util.each(u.series,function(c){h.a.util.indexOf(v,c.type)>=0&&(A(c),c.coordinateSystem==="mapbox"&&(c.coordinateSystem="mapbox3D",u.mapbox3D=u.mapbox))}),y(u.xAxis3D),y(u.yAxis3D),y(u.zAxis3D),y(u.grid3D),m(u.geo3D)}},function(J,W,E){"use strict";function R(h){var v=new XMLHttpRequest;v.open("get",h.url),v.responseType=h.responseType||"text",h.onprogress&&(v.onprogress=function(m){if(m.lengthComputable){var A=m.loaded/m.total;h.onprogress(A,m.loaded,m.total)}else h.onprogress(null)}),v.onload=function(m){v.status>=400?h.onerror&&h.onerror():h.onload&&h.onload(v.response)},h.onerror&&(v.onerror=h.onerror),v.send(null)}W.a={get:R}},function(J,W,E){"use strict";W.a=`@export clay.basic.vertex uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; uniform vec2 uvRepeat : [1.0, 1.0]; uniform vec2 uvOffset : [0.0, 0.0]; attribute vec2 texcoord : TEXCOORD_0; attribute vec3 position : POSITION; attribute vec3 barycentric; @import clay.chunk.skinning_header varying vec2 v_Texcoord; varying vec3 v_Barycentric; #ifdef VERTEX_COLOR attribute vec4 a_Color : COLOR; varying vec4 v_Color; #endif void main() { vec3 skinnedPosition = position; #ifdef SKINNING @import clay.chunk.skin_matrix skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz; #endif v_Texcoord = texcoord * uvRepeat + uvOffset; v_Barycentric = barycentric; gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0); #ifdef VERTEX_COLOR v_Color = a_Color; #endif } @end @export clay.basic.fragment varying vec2 v_Texcoord; uniform sampler2D diffuseMap; uniform vec3 color : [1.0, 1.0, 1.0]; uniform vec3 emission : [0.0, 0.0, 0.0]; uniform float alpha : 1.0; #ifdef ALPHA_TEST uniform float alphaCutoff: 0.9; #endif #ifdef VERTEX_COLOR varying vec4 v_Color; #endif uniform float lineWidth : 0.0; uniform vec4 lineColor : [0.0, 0.0, 0.0, 0.6]; varying vec3 v_Barycentric; @import clay.util.edge_factor @import clay.util.rgbm @import clay.util.srgb @import clay.util.ACES void main() { #ifdef RENDER_TEXCOORD gl_FragColor = vec4(v_Texcoord, 1.0, 1.0); return; #endif gl_FragColor = vec4(color, alpha); #ifdef VERTEX_COLOR gl_FragColor *= v_Color; #endif #ifdef DIFFUSEMAP_ENABLED vec4 tex = decodeHDR(texture2D(diffuseMap, v_Texcoord)); #ifdef SRGB_DECODE tex = sRGBToLinear(tex); #endif #if defined(DIFFUSEMAP_ALPHA_ALPHA) gl_FragColor.a = tex.a; #endif gl_FragColor.rgb *= tex.rgb; #endif gl_FragColor.rgb += emission; if( lineWidth > 0.) { gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor(lineWidth)) * lineColor.a); } #ifdef ALPHA_TEST if (gl_FragColor.a < alphaCutoff) { discard; } #endif #ifdef TONEMAPPING gl_FragColor.rgb = ACESToneMapping(gl_FragColor.rgb); #endif #ifdef SRGB_ENCODE gl_FragColor = linearTosRGB(gl_FragColor); #endif gl_FragColor = encodeHDR(gl_FragColor); } @end`},function(J,W,E){"use strict";var R=E(6),h=E(5),v=E(25),m=542327876,A=1,y=2,u=4,c=8,p=4096,r=131072,n=524288,o=8388608,i=8,s=4194304,l=4096,d=512,e=1024,t=2048,a=4096,f=8192,g=16384,x=32768,_=2097152,D=1,M=2,w=4,b=64,N=512,K=131072;function S(qe){return qe.charCodeAt(0)+(qe.charCodeAt(1)<<8)+(qe.charCodeAt(2)<<16)+(qe.charCodeAt(3)<<24)}function B(qe){return String.fromCharCode(qe&255,qe>>8&255,qe>>16&255,qe>>24&255)}var O=31,U=S("DXT1"),F=S("DXT3"),H=S("DXT5"),Y=0,ne=1,ae=2,me=3,Ce=4,ge=7,pe=20,we=21,De=27,Se=28,ve=29,Ee=30,Re={parse:function(qe,Ie){var Fe=new Int32Array(qe,0,O);if(Fe[Y]!==m||!Fe(pe)&w)return null;var ze=Fe(we),z=Fe[Ce],_e=Fe[me],ie=Fe[Se]&d,Ae=Fe[ae]&r,de,se;switch(ze){case U:de=8,se=R.a.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case F:de=16,se=R.a.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case H:de=16,se=R.a.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}var he=Fe[ne]+4,Pe=ie?6:1,We=1;Ae&&(We=Math.max(1,Fe[ge]));for(var ht=[],_t=0;_t0){var d=Math.pow(2,o[3]-128-8+l);i[s+0]=o[0]*d,i[s+1]=o[1]*d,i[s+2]=o[2]*d}else i[s+0]=0,i[s+1]=0,i[s+2]=0;return i[s+3]=1,i}function u(o,i,s){for(var l="",d=i;d0;)if(o[e][0]=i[s++],o[e][1]=i[s++],o[e][2]=i[s++],o[e][3]=i[s++],o[e][0]===1&&o[e][1]===1&&o[e][2]===1){for(var a=o[e][3]<>>0;a>0;a--)c(o[e-1],o[e]),e++,t--;d+=8}else e++,t--,d=0;return s}function r(o,i,s,l){if(lA)return p(o,i,s,l);var d=i[s++];if(d!=2)return p(o,i,s-1,l);if(o[0][1]=i[s++],o[0][2]=i[s++],d=i[s++],(o[0][2]<<8>>>0|d)>>>0!==l)return null;for(var d=0;d<4;d++)for(var e=0;e128){t=(t&127)>>>0;for(var a=i[s++];t--;)o[e++][d]=a}else for(;t--;)o[e++][d]=i[s++]}return s}var n={parseRGBE:function(o,i,s){s==null&&(s=0);var l=new Uint8Array(o),d=l.length;if(u(l,0,2)==="#?"){for(var e=2;e=d)){e+=2;for(var t="";e=0||(m.forEach(function(c){u.on(c,this[A(c)],this)},this),this._meshes.push(u))},detachFromMesh:function(u){var c=this._meshes.indexOf(u);c>=0&&this._meshes.splice(c,1),m.forEach(function(p){u.off(p,this[A(p)])},this)},dispose:function(){this._meshes.forEach(function(u){this.detachFromMesh(u)},this)}},W.a=y},function(J,W,E){"use strict";var R=E(19),h=E(108),v=R.a.extend({cubemap:null,castShadow:!1,_normalDistribution:null,_brdfLookup:null},{type:"AMBIENT_CUBEMAP_LIGHT",prefilter:function(m,A){this._brdfLookup||(this._normalDistribution=h.a.generateNormalDistribution(),this._brdfLookup=h.a.integrateBRDF(m,this._normalDistribution));var y=this.cubemap;if(!y.__prefiltered){var u=h.a.prefilterEnvironmentMap(m,y,{encodeRGBM:!0,width:A,height:A},this._normalDistribution,this._brdfLookup);this.cubemap=u.environmentMap,this.cubemap.__prefiltered=!0,y.dispose(m)}},uniformTemplates:{ambientCubemapLightColor:{type:"3f",value:function(m){var A=m.color,y=m.intensity;return[A[0]*y,A[1]*y,A[2]*y]}},ambientCubemapLightCubemap:{type:"t",value:function(m){return m.cubemap}},ambientCubemapLightBRDFLookup:{type:"t",value:function(m){return m._brdfLookup}}}});W.a=v},function(J,W,E){"use strict";var R=E(5),h=E(25),v=E(6),m=E(10),A=E(14),y=E(17),u=E(7),c=E(57),p=E(29),r=E(55),n=E(18),o=E(54),i=E(111),s=E(112),l={},d=["px","nx","py","ny","pz","nz"];l.prefilterEnvironmentMap=function(e,t,a,f,g){(!g||!f)&&(f=l.generateNormalDistribution(),g=l.integrateBRDF(e,f)),a=a||{};var x=a.width||64,_=a.height||64,D=a.type||t.type,M=new h.a({width:x,height:_,type:D,flipY:!1,mipmaps:[]});M.isPowerOfTwo()||console.warn("Width and height must be power of two to enable mipmap.");var w=Math.min(x,_),b=Math.log(w)/Math.log(2)+1,N=new y.a({shader:new u.a({vertex:u.a.source("clay.skybox.vertex"),fragment:s.a})});N.set("normalDistribution",f),a.encodeRGBM&&N.define("fragment","RGBM_ENCODE"),a.decodeRGBM&&N.define("fragment","RGBM_DECODE");var K=new p.a,S;if(t instanceof R.a){var B=new h.a({width:x,height:_,type:D===v.a.FLOAT?v.a.HALF_FLOAT:D});o.a.panoramaToCubeMap(e,t,B,{encodeRGBM:a.decodeRGBM}),t=B}S=new c.a({scene:K,material:N}),S.material.set("environmentMap",t);var O=new r.a({texture:M});a.encodeRGBM&&(D=M.type=v.a.UNSIGNED_BYTE);for(var U=new R.a({width:x,height:_,type:D}),F=new m.a({depthBuffer:!1}),H=n.a[D===v.a.UNSIGNED_BYTE?"Uint8Array":"Float32Array"],Y=0;Y>>16)>>>0;M=((M&1431655765)<<1|(M&2863311530)>>>1)>>>0,M=((M&858993459)<<2|(M&3435973836)>>>2)>>>0,M=((M&252645135)<<4|(M&4042322160)>>>4)>>>0,M=(((M&16711935)<<8|(M&4278255360)>>>8)>>>0)/4294967296;for(var w=0;w 0.0) { float G = G_Smith(roughness, NoV, NoL); float G_Vis = G * VoH / (NoH * NoV); float Fc = pow(1.0 - VoH, 5.0); A += (1.0 - Fc) * G_Vis; B += Fc * G_Vis; } } gl_FragColor = vec4(vec2(A, B) / fSampleNumber, 0.0, 1.0); } `},function(J,W,E){"use strict";W.a=`#define SAMPLE_NUMBER 1024 #define PI 3.14159265358979 uniform mat4 viewInverse : VIEWINVERSE; uniform samplerCube environmentMap; uniform sampler2D normalDistribution; uniform float roughness : 0.5; varying vec2 v_Texcoord; varying vec3 v_WorldPosition; const float fSampleNumber = float(SAMPLE_NUMBER); @import clay.util.rgbm vec3 importanceSampleNormal(float i, float roughness, vec3 N) { vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb; vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); vec3 tangentX = normalize(cross(upVector, N)); vec3 tangentY = cross(N, tangentX); return tangentX * H.x + tangentY * H.y + N * H.z; } void main() { vec3 eyePos = viewInverse[3].xyz; vec3 V = normalize(v_WorldPosition - eyePos); vec3 N = V; vec3 R = V; vec3 prefilteredColor = vec3(0.0); float totalWeight = 0.0; for (int i = 0; i < SAMPLE_NUMBER; i++) { vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N); vec3 L = reflect(-V, H); float NoL = clamp(dot(N, L), 0.0, 1.0); if (NoL > 0.0) { prefilteredColor += decodeHDR(textureCube(environmentMap, L)).rgb * NoL; totalWeight += NoL; } } gl_FragColor = encodeHDR(vec4(prefilteredColor / totalWeight, 1.0)); } `},function(J,W,E){"use strict";var R=E(19),h=E(18),v=R.a.extend({castShadow:!1,coefficients:[]},function(){this._coefficientsTmpArr=new h.a.Float32Array(9*3)},{type:"AMBIENT_SH_LIGHT",uniformTemplates:{ambientSHLightColor:{type:"3f",value:function(m){var A=m.color,y=m.intensity;return[A[0]*y,A[1]*y,A[2]*y]}},ambientSHLightCoefficients:{type:"3f",value:function(m){for(var A=m._coefficientsTmpArr,y=0;y=0&&o.splice(l,1)}),o.push(i),this.__zr&&this.__zr.animation.addAnimator(i),i},stopAnimation:function(m){this._animators=this._animators||[];for(var A=this._animators,y=A.length,u=0;u.5?x:g}function r(g,x,_,D,M){var w=g.length;if(M==1)for(var b=0;bM;if(w)g.length=M;else for(var b=D;b=0&&!(ne[se]<=de);se--);se=Math.min(se,S-2)}else{for(se=Se;sede);se++);se=Math.min(se-1,S-2)}Se=se,ve=de;var he=ne[se+1]-ne[se];if(he!==0)if(Re=(de-ne[se])/he,K)if(Ie=ae[se],qe=ae[se===0?se:se-1],Fe=ae[se>S-2?S-1:se+1],ze=ae[se>S-3?S-1:se+2],O)i(qe,Ie,Fe,ze,Re,Re*Re,Re*Re*Re,b(Ae,M),H);else{var Pe;if(U)Pe=i(qe,Ie,Fe,ze,Re,Re*Re,Re*Re*Re,z,1),Pe=d(z);else{if(F)return p(Ie,Fe,Re);Pe=s(qe,Ie,Fe,ze,Re,Re*Re,Re*Re*Re)}N(Ae,M,Pe)}else if(O)r(ae[se],ae[se+1],Re,b(Ae,M),H);else{var Pe;if(U)r(ae[se],ae[se+1],Re,z,1),Pe=d(z);else{if(F)return p(ae[se],ae[se+1],Re);Pe=c(ae[se],ae[se+1],Re)}N(Ae,M,Pe)}},ie=new R({target:g._target,life:Y,loop:g._loop,delay:g._delay,onframe:_e,ondestroy:_});return x&&x!=="spline"&&(ie.easing=x),ie}}}var a=function(g,x,_,D){this._tracks={},this._target=g,this._loop=x||!1,this._getter=_||y,this._setter=D||u,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};a.prototype={when:function(g,x){var _=this._tracks;for(var D in x)if(x.hasOwnProperty(D)){if(!_[D]){_[D]=[];var M=this._getter(this._target,D);if(M==null)continue;g!==0&&_[D].push({time:0,value:l(M)})}_[D].push({time:g,value:x[D]})}return this},during:function(g){return this._onframeList.push(g),this},pause:function(){for(var g=0;g255?255:b}function m(b){return b=Math.round(b),b<0?0:b>360?360:b}function A(b){return b<0?0:b>1?1:b}function y(b){return b.length&&b.charAt(b.length-1)==="%"?v(parseFloat(b)/100*255):v(parseInt(b,10))}function u(b){return b.length&&b.charAt(b.length-1)==="%"?A(parseFloat(b)/100):A(parseFloat(b))}function c(b,N,K){return K<0?K+=1:K>1&&(K-=1),K*6<1?b+(N-b)*K*6:K*2<1?N:K*3<2?b+(N-b)*(2/3-K)*6:b}function p(b,N,K){return b+(N-b)*K}function r(b,N,K,S,B){return b[0]=N,b[1]=K,b[2]=S,b[3]=B,b}function n(b,N){return b[0]=N[0],b[1]=N[1],b[2]=N[2],b[3]=N[3],b}var o=new R(20),i=null;function s(b,N){i&&n(i,N),i=o.put(b,i||N.slice())}function l(b,N){if(b){N=N||[];var K=o.get(b);if(K)return n(N,K);b=b+"";var S=b.replace(/ /g,"").toLowerCase();if(S in h)return n(N,h[S]),s(b,N),N;if(S.charAt(0)==="#"){if(S.length===4){var B=parseInt(S.substr(1),16);if(!(B>=0&&B<=4095)){r(N,0,0,0,1);return}return r(N,(B&3840)>>4|(B&3840)>>8,B&240|(B&240)>>4,B&15|(B&15)<<4,1),s(b,N),N}else if(S.length===7){var B=parseInt(S.substr(1),16);if(!(B>=0&&B<=16777215)){r(N,0,0,0,1);return}return r(N,(B&16711680)>>16,(B&65280)>>8,B&255,1),s(b,N),N}return}var O=S.indexOf("("),U=S.indexOf(")");if(O!==-1&&U+1===S.length){var F=S.substr(0,O),H=S.substr(O+1,U-(O+1)).split(","),Y=1;switch(F){case"rgba":if(H.length!==4){r(N,0,0,0,1);return}Y=u(H.pop());case"rgb":if(H.length!==3){r(N,0,0,0,1);return}return r(N,y(H[0]),y(H[1]),y(H[2]),Y),s(b,N),N;case"hsla":if(H.length!==4){r(N,0,0,0,1);return}return H[3]=u(H[3]),d(H,N),s(b,N),N;case"hsl":if(H.length!==3){r(N,0,0,0,1);return}return d(H,N),s(b,N),N;default:return}}r(N,0,0,0,1)}}function d(b,N){var K=(parseFloat(b[0])%360+360)%360/360,S=u(b[1]),B=u(b[2]),O=B<=.5?B*(S+1):B+S-B*S,U=B*2-O;return N=N||[],r(N,v(c(U,O,K+1/3)*255),v(c(U,O,K)*255),v(c(U,O,K-1/3)*255),1),b.length===4&&(N[3]=b[3]),N}function e(b){if(b){var N=b[0]/255,K=b[1]/255,S=b[2]/255,B=Math.min(N,K,S),O=Math.max(N,K,S),U=O-B,F=(O+B)/2,H,Y;if(U===0)H=0,Y=0;else{F<.5?Y=U/(O+B):Y=U/(2-O-B);var ne=((O-N)/6+U/2)/U,ae=((O-K)/6+U/2)/U,me=((O-S)/6+U/2)/U;N===O?H=me-ae:K===O?H=1/3+ne-me:S===O&&(H=2/3+ae-ne),H<0&&(H+=1),H>1&&(H-=1)}var Ce=[H*360,Y,F];return b[3]!=null&&Ce.push(b[3]),Ce}}function t(b,N){var K=l(b);if(K){for(var S=0;S<3;S++)N<0?K[S]=K[S]*(1-N)|0:K[S]=(255-K[S])*N+K[S]|0;return w(K,K.length===4?"rgba":"rgb")}}function a(b){var N=l(b);if(N)return((1<<24)+(N[0]<<16)+(N[1]<<8)+ +N[2]).toString(16).slice(1)}function f(b,N,K){if(!(!(N&&N.length)||!(b>=0&&b<=1))){K=K||[];var S=b*(N.length-1),B=Math.floor(S),O=Math.ceil(S),U=N[B],F=N[O],H=S-B;return K[0]=v(p(U[0],F[0],H)),K[1]=v(p(U[1],F[1],H)),K[2]=v(p(U[2],F[2],H)),K[3]=A(p(U[3],F[3],H)),K}}var g=f;function x(b,N,K){if(!(!(N&&N.length)||!(b>=0&&b<=1))){var S=b*(N.length-1),B=Math.floor(S),O=Math.ceil(S),U=l(N[B]),F=l(N[O]),H=S-B,Y=w([v(p(U[0],F[0],H)),v(p(U[1],F[1],H)),v(p(U[2],F[2],H)),A(p(U[3],F[3],H))],"rgba");return K?{color:Y,leftIndex:B,rightIndex:O,value:S}:Y}}var _=x;function D(b,N,K,S){if(b=l(b),b)return b=e(b),N!=null&&(b[0]=m(N)),K!=null&&(b[1]=u(K)),S!=null&&(b[2]=u(S)),w(d(b),"rgba")}function M(b,N){if(b=l(b),b&&N!=null)return b[3]=A(N),w(b,"rgba")}function w(b,N){if(!(!b||!b.length)){var K=b[0]+","+b[1]+","+b[2];return(N==="rgba"||N==="hsva"||N==="hsla")&&(K+=","+b[3]),N+"("+K+")"}}W.parse=l,W.lift=t,W.toHex=a,W.fastLerp=f,W.fastMapToColor=g,W.lerp=x,W.mapToColor=_,W.modifyHSL=D,W.modifyAlpha=M,W.stringify=w},function(J,W,E){"use strict";W.a=` @export clay.util.rand highp float rand(vec2 uv) { const highp float a = 12.9898, b = 78.233, c = 43758.5453; highp float dt = dot(uv.xy, vec2(a,b)), sn = mod(dt, 3.141592653589793); return fract(sin(sn) * c); } @end @export clay.util.calculate_attenuation uniform float attenuationFactor : 5.0; float lightAttenuation(float dist, float range) { float attenuation = 1.0; attenuation = dist*dist/(range*range+1.0); float att_s = attenuationFactor; attenuation = 1.0/(attenuation*att_s+1.0); att_s = 1.0/(att_s+1.0); attenuation = attenuation - att_s; attenuation /= 1.0 - att_s; return clamp(attenuation, 0.0, 1.0); } @end @export clay.util.edge_factor float edgeFactor(float width) { vec3 d = fwidth(v_Barycentric); vec3 a3 = smoothstep(vec3(0.0), d * width, v_Barycentric); return min(min(a3.x, a3.y), a3.z); } @end @export clay.util.encode_float vec4 encodeFloat(const in float depth) { const vec4 bitShifts = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0); const vec4 bit_mask = vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0); vec4 res = fract(depth * bitShifts); res -= res.xxyz * bit_mask; return res; } @end @export clay.util.decode_float float decodeFloat(const in vec4 color) { const vec4 bitShifts = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0); return dot(color, bitShifts); } @end @export clay.util.float @import clay.util.encode_float @import clay.util.decode_float @end @export clay.util.rgbm_decode vec3 RGBMDecode(vec4 rgbm, float range) { return range * rgbm.rgb * rgbm.a; } @end @export clay.util.rgbm_encode vec4 RGBMEncode(vec3 color, float range) { if (dot(color, color) == 0.0) { return vec4(0.0); } vec4 rgbm; color /= range; rgbm.a = clamp(max(max(color.r, color.g), max(color.b, 1e-6)), 0.0, 1.0); rgbm.a = ceil(rgbm.a * 255.0) / 255.0; rgbm.rgb = color / rgbm.a; return rgbm; } @end @export clay.util.rgbm @import clay.util.rgbm_decode @import clay.util.rgbm_encode vec4 decodeHDR(vec4 color) { #if defined(RGBM_DECODE) || defined(RGBM) return vec4(RGBMDecode(color, 51.5), 1.0); #else return color; #endif } vec4 encodeHDR(vec4 color) { #if defined(RGBM_ENCODE) || defined(RGBM) return RGBMEncode(color.xyz, 51.5); #else return color; #endif } @end @export clay.util.srgb vec4 sRGBToLinear(in vec4 value) { return vec4(mix(pow(value.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), value.rgb * 0.0773993808, vec3(lessThanEqual(value.rgb, vec3(0.04045)))), value.w); } vec4 linearTosRGB(in vec4 value) { return vec4(mix(pow(value.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), value.rgb * 12.92, vec3(lessThanEqual(value.rgb, vec3(0.0031308)))), value.w); } @end @export clay.chunk.skinning_header #ifdef SKINNING attribute vec3 weight : WEIGHT; attribute vec4 joint : JOINT; uniform mat4 skinMatrix[JOINT_COUNT] : SKIN_MATRIX; mat4 getSkinMatrix(float idx) { return skinMatrix[int(idx)]; } #endif @end @export clay.chunk.skin_matrix mat4 skinMatrixWS = getSkinMatrix(joint.x) * weight.x; if (weight.y > 1e-4) { skinMatrixWS += getSkinMatrix(joint.y) * weight.y; } if (weight.z > 1e-4) { skinMatrixWS += getSkinMatrix(joint.z) * weight.z; } float weightW = 1.0-weight.x-weight.y-weight.z; if (weightW > 1e-4) { skinMatrixWS += getSkinMatrix(joint.w) * weightW; } @end @export clay.util.parallax_correct vec3 parallaxCorrect(in vec3 dir, in vec3 pos, in vec3 boxMin, in vec3 boxMax) { vec3 first = (boxMax - pos) / dir; vec3 second = (boxMin - pos) / dir; vec3 further = max(first, second); float dist = min(further.x, min(further.y, further.z)); vec3 fixedPos = pos + dir * dist; vec3 boxCenter = (boxMax + boxMin) * 0.5; return normalize(fixedPos - boxCenter); } @end @export clay.util.clamp_sample vec4 clampSample(const in sampler2D texture, const in vec2 coord) { #ifdef STEREO float eye = step(0.5, coord.x) * 0.5; vec2 coordClamped = clamp(coord, vec2(eye, 0.0), vec2(0.5 + eye, 1.0)); #else vec2 coordClamped = clamp(coord, vec2(0.0), vec2(1.0)); #endif return texture2D(texture, coordClamped); } @end @export clay.util.ACES vec3 ACESToneMapping(vec3 color) { const float A = 2.51; const float B = 0.03; const float C = 2.43; const float D = 0.59; const float E = 0.14; return (color * (A * color + B)) / (color * (C * color + D) + E); } @end`},function(J,W,E){"use strict";W.a=` @export ecgl.common.transformUniforms uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; uniform mat4 worldInverseTranspose : WORLDINVERSETRANSPOSE; uniform mat4 world : WORLD; @end @export ecgl.common.attributes attribute vec3 position : POSITION; attribute vec2 texcoord : TEXCOORD_0; attribute vec3 normal : NORMAL; @end @export ecgl.common.uv.header uniform vec2 uvRepeat : [1.0, 1.0]; uniform vec2 uvOffset : [0.0, 0.0]; uniform vec2 detailUvRepeat : [1.0, 1.0]; uniform vec2 detailUvOffset : [0.0, 0.0]; varying vec2 v_Texcoord; varying vec2 v_DetailTexcoord; @end @export ecgl.common.uv.main v_Texcoord = texcoord * uvRepeat + uvOffset; v_DetailTexcoord = texcoord * detailUvRepeat + detailUvOffset; @end @export ecgl.common.uv.fragmentHeader varying vec2 v_Texcoord; varying vec2 v_DetailTexcoord; @end @export ecgl.common.albedo.main vec4 albedoTexel = vec4(1.0); #ifdef DIFFUSEMAP_ENABLED albedoTexel = texture2D(diffuseMap, v_Texcoord); #ifdef SRGB_DECODE albedoTexel = sRGBToLinear(albedoTexel); #endif #endif #ifdef DETAILMAP_ENABLED vec4 detailTexel = texture2D(detailMap, v_DetailTexcoord); #ifdef SRGB_DECODE detailTexel = sRGBToLinear(detailTexel); #endif albedoTexel.rgb = mix(albedoTexel.rgb, detailTexel.rgb, detailTexel.a); albedoTexel.a = detailTexel.a + (1.0 - detailTexel.a) * albedoTexel.a; #endif @end @export ecgl.common.wireframe.vertexHeader #ifdef WIREFRAME_QUAD attribute vec4 barycentric; varying vec4 v_Barycentric; #elif defined(WIREFRAME_TRIANGLE) attribute vec3 barycentric; varying vec3 v_Barycentric; #endif @end @export ecgl.common.wireframe.vertexMain #if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE) v_Barycentric = barycentric; #endif @end @export ecgl.common.wireframe.fragmentHeader uniform float wireframeLineWidth : 1; uniform vec4 wireframeLineColor: [0, 0, 0, 0.5]; #ifdef WIREFRAME_QUAD varying vec4 v_Barycentric; float edgeFactor () { vec4 d = fwidth(v_Barycentric); vec4 a4 = smoothstep(vec4(0.0), d * wireframeLineWidth, v_Barycentric); return min(min(min(a4.x, a4.y), a4.z), a4.w); } #elif defined(WIREFRAME_TRIANGLE) varying vec3 v_Barycentric; float edgeFactor () { vec3 d = fwidth(v_Barycentric); vec3 a3 = smoothstep(vec3(0.0), d * wireframeLineWidth, v_Barycentric); return min(min(a3.x, a3.y), a3.z); } #endif @end @export ecgl.common.wireframe.fragmentMain #if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE) if (wireframeLineWidth > 0.) { vec4 lineColor = wireframeLineColor; #ifdef SRGB_DECODE lineColor = sRGBToLinear(lineColor); #endif gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor()) * lineColor.a); } #endif @end @export ecgl.common.bumpMap.header #ifdef BUMPMAP_ENABLED uniform sampler2D bumpMap; uniform float bumpScale : 1.0; vec3 bumpNormal(vec3 surfPos, vec3 surfNormal, vec3 baseNormal) { vec2 dSTdx = dFdx(v_Texcoord); vec2 dSTdy = dFdy(v_Texcoord); float Hll = bumpScale * texture2D(bumpMap, v_Texcoord).x; float dHx = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdx).x - Hll; float dHy = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdy).x - Hll; vec3 vSigmaX = dFdx(surfPos); vec3 vSigmaY = dFdy(surfPos); vec3 vN = surfNormal; vec3 R1 = cross(vSigmaY, vN); vec3 R2 = cross(vN, vSigmaX); float fDet = dot(vSigmaX, R1); vec3 vGrad = sign(fDet) * (dHx * R1 + dHy * R2); return normalize(abs(fDet) * baseNormal - vGrad); } #endif @end @export ecgl.common.normalMap.vertexHeader #ifdef NORMALMAP_ENABLED attribute vec4 tangent : TANGENT; varying vec3 v_Tangent; varying vec3 v_Bitangent; #endif @end @export ecgl.common.normalMap.vertexMain #ifdef NORMALMAP_ENABLED if (dot(tangent, tangent) > 0.0) { v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz); v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w); } #endif @end @export ecgl.common.normalMap.fragmentHeader #ifdef NORMALMAP_ENABLED uniform sampler2D normalMap; varying vec3 v_Tangent; varying vec3 v_Bitangent; #endif @end @export ecgl.common.normalMap.fragmentMain #ifdef NORMALMAP_ENABLED if (dot(v_Tangent, v_Tangent) > 0.0) { vec3 normalTexel = texture2D(normalMap, v_DetailTexcoord).xyz; if (dot(normalTexel, normalTexel) > 0.0) { N = normalTexel * 2.0 - 1.0; mat3 tbn = mat3(v_Tangent, v_Bitangent, v_Normal); N = normalize(tbn * N); } } #endif @end @export ecgl.common.vertexAnimation.header #ifdef VERTEX_ANIMATION attribute vec3 prevPosition; attribute vec3 prevNormal; uniform float percent; #endif @end @export ecgl.common.vertexAnimation.main #ifdef VERTEX_ANIMATION vec3 pos = mix(prevPosition, position, percent); vec3 norm = mix(prevNormal, normal, percent); #else vec3 pos = position; vec3 norm = normal; #endif @end @export ecgl.common.ssaoMap.header #ifdef SSAOMAP_ENABLED uniform sampler2D ssaoMap; uniform vec4 viewport : VIEWPORT; #endif @end @export ecgl.common.ssaoMap.main float ao = 1.0; #ifdef SSAOMAP_ENABLED ao = texture2D(ssaoMap, (gl_FragCoord.xy - viewport.xy) / viewport.zw).r; #endif @end @export ecgl.common.diffuseLayer.header #if (LAYER_DIFFUSEMAP_COUNT > 0) uniform float layerDiffuseIntensity[LAYER_DIFFUSEMAP_COUNT]; uniform sampler2D layerDiffuseMap[LAYER_DIFFUSEMAP_COUNT]; #endif @end @export ecgl.common.emissiveLayer.header #if (LAYER_EMISSIVEMAP_COUNT > 0) uniform float layerEmissionIntensity[LAYER_EMISSIVEMAP_COUNT]; uniform sampler2D layerEmissiveMap[LAYER_EMISSIVEMAP_COUNT]; #endif @end @export ecgl.common.layers.header @import ecgl.common.diffuseLayer.header @import ecgl.common.emissiveLayer.header @end @export ecgl.common.diffuseLayer.main #if (LAYER_DIFFUSEMAP_COUNT > 0) for (int _idx_ = 0; _idx_ < LAYER_DIFFUSEMAP_COUNT; _idx_++) {{ float intensity = layerDiffuseIntensity[_idx_]; vec4 texel2 = texture2D(layerDiffuseMap[_idx_], v_Texcoord); #ifdef SRGB_DECODE texel2 = sRGBToLinear(texel2); #endif albedoTexel.rgb = mix(albedoTexel.rgb, texel2.rgb * intensity, texel2.a); albedoTexel.a = texel2.a + (1.0 - texel2.a) * albedoTexel.a; }} #endif @end @export ecgl.common.emissiveLayer.main #if (LAYER_EMISSIVEMAP_COUNT > 0) for (int _idx_ = 0; _idx_ < LAYER_EMISSIVEMAP_COUNT; _idx_++) {{ vec4 texel2 = texture2D(layerEmissiveMap[_idx_], v_Texcoord) * layerEmissionIntensity[_idx_]; #ifdef SRGB_DECODE texel2 = sRGBToLinear(texel2); #endif float intensity = layerEmissionIntensity[_idx_]; gl_FragColor.rgb += texel2.rgb * texel2.a * intensity; }} #endif @end `},function(J,W,E){"use strict";W.a=`@export ecgl.color.vertex uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; @import ecgl.common.uv.header attribute vec2 texcoord : TEXCOORD_0; attribute vec3 position: POSITION; @import ecgl.common.wireframe.vertexHeader #ifdef VERTEX_COLOR attribute vec4 a_Color : COLOR; varying vec4 v_Color; #endif #ifdef VERTEX_ANIMATION attribute vec3 prevPosition; uniform float percent : 1.0; #endif void main() { #ifdef VERTEX_ANIMATION vec3 pos = mix(prevPosition, position, percent); #else vec3 pos = position; #endif gl_Position = worldViewProjection * vec4(pos, 1.0); @import ecgl.common.uv.main #ifdef VERTEX_COLOR v_Color = a_Color; #endif @import ecgl.common.wireframe.vertexMain } @end @export ecgl.color.fragment #define LAYER_DIFFUSEMAP_COUNT 0 #define LAYER_EMISSIVEMAP_COUNT 0 uniform sampler2D diffuseMap; uniform sampler2D detailMap; uniform vec4 color : [1.0, 1.0, 1.0, 1.0]; #ifdef VERTEX_COLOR varying vec4 v_Color; #endif @import ecgl.common.layers.header @import ecgl.common.uv.fragmentHeader @import ecgl.common.wireframe.fragmentHeader @import clay.util.srgb void main() { #ifdef SRGB_DECODE gl_FragColor = sRGBToLinear(color); #else gl_FragColor = color; #endif #ifdef VERTEX_COLOR gl_FragColor *= v_Color; #endif @import ecgl.common.albedo.main @import ecgl.common.diffuseLayer.main gl_FragColor *= albedoTexel; @import ecgl.common.emissiveLayer.main @import ecgl.common.wireframe.fragmentMain } @end`},function(J,W,E){"use strict";W.a=`/** * http: */ @export ecgl.lambert.vertex @import ecgl.common.transformUniforms @import ecgl.common.uv.header @import ecgl.common.attributes @import ecgl.common.wireframe.vertexHeader #ifdef VERTEX_COLOR attribute vec4 a_Color : COLOR; varying vec4 v_Color; #endif @import ecgl.common.vertexAnimation.header varying vec3 v_Normal; varying vec3 v_WorldPosition; void main() { @import ecgl.common.uv.main @import ecgl.common.vertexAnimation.main gl_Position = worldViewProjection * vec4(pos, 1.0); v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz); v_WorldPosition = (world * vec4(pos, 1.0)).xyz; #ifdef VERTEX_COLOR v_Color = a_Color; #endif @import ecgl.common.wireframe.vertexMain } @end @export ecgl.lambert.fragment #define LAYER_DIFFUSEMAP_COUNT 0 #define LAYER_EMISSIVEMAP_COUNT 0 #define NORMAL_UP_AXIS 1 #define NORMAL_FRONT_AXIS 2 @import ecgl.common.uv.fragmentHeader varying vec3 v_Normal; varying vec3 v_WorldPosition; uniform sampler2D diffuseMap; uniform sampler2D detailMap; @import ecgl.common.layers.header uniform float emissionIntensity: 1.0; uniform vec4 color : [1.0, 1.0, 1.0, 1.0]; uniform mat4 viewInverse : VIEWINVERSE; #ifdef AMBIENT_LIGHT_COUNT @import clay.header.ambient_light #endif #ifdef AMBIENT_SH_LIGHT_COUNT @import clay.header.ambient_sh_light #endif #ifdef DIRECTIONAL_LIGHT_COUNT @import clay.header.directional_light #endif #ifdef VERTEX_COLOR varying vec4 v_Color; #endif @import ecgl.common.ssaoMap.header @import ecgl.common.bumpMap.header @import clay.util.srgb @import ecgl.common.wireframe.fragmentHeader @import clay.plugin.compute_shadow_map void main() { #ifdef SRGB_DECODE gl_FragColor = sRGBToLinear(color); #else gl_FragColor = color; #endif #ifdef VERTEX_COLOR #ifdef SRGB_DECODE gl_FragColor *= sRGBToLinear(v_Color); #else gl_FragColor *= v_Color; #endif #endif @import ecgl.common.albedo.main @import ecgl.common.diffuseLayer.main gl_FragColor *= albedoTexel; vec3 N = v_Normal; #ifdef DOUBLE_SIDED vec3 eyePos = viewInverse[3].xyz; vec3 V = normalize(eyePos - v_WorldPosition); if (dot(N, V) < 0.0) { N = -N; } #endif float ambientFactor = 1.0; #ifdef BUMPMAP_ENABLED N = bumpNormal(v_WorldPosition, v_Normal, N); ambientFactor = dot(v_Normal, N); #endif vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]); vec3 diffuseColor = vec3(0.0, 0.0, 0.0); @import ecgl.common.ssaoMap.main #ifdef AMBIENT_LIGHT_COUNT for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++) { diffuseColor += ambientLightColor[i] * ambientFactor * ao; } #endif #ifdef AMBIENT_SH_LIGHT_COUNT for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++) {{ diffuseColor += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao; }} #endif #ifdef DIRECTIONAL_LIGHT_COUNT #if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT]; if(shadowEnabled) { computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir); } #endif for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) { vec3 lightDirection = -directionalLightDirection[i]; vec3 lightColor = directionalLightColor[i]; float shadowContrib = 1.0; #if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) if (shadowEnabled) { shadowContrib = shadowContribsDir[i]; } #endif float ndl = dot(N, normalize(lightDirection)) * shadowContrib; diffuseColor += lightColor * clamp(ndl, 0.0, 1.0); } #endif gl_FragColor.rgb *= diffuseColor; @import ecgl.common.emissiveLayer.main @import ecgl.common.wireframe.fragmentMain } @end`},function(J,W,E){"use strict";W.a=`@export ecgl.realistic.vertex @import ecgl.common.transformUniforms @import ecgl.common.uv.header @import ecgl.common.attributes @import ecgl.common.wireframe.vertexHeader #ifdef VERTEX_COLOR attribute vec4 a_Color : COLOR; varying vec4 v_Color; #endif #ifdef NORMALMAP_ENABLED attribute vec4 tangent : TANGENT; varying vec3 v_Tangent; varying vec3 v_Bitangent; #endif @import ecgl.common.vertexAnimation.header varying vec3 v_Normal; varying vec3 v_WorldPosition; void main() { @import ecgl.common.uv.main @import ecgl.common.vertexAnimation.main gl_Position = worldViewProjection * vec4(pos, 1.0); v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz); v_WorldPosition = (world * vec4(pos, 1.0)).xyz; #ifdef VERTEX_COLOR v_Color = a_Color; #endif #ifdef NORMALMAP_ENABLED v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz); v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w); #endif @import ecgl.common.wireframe.vertexMain } @end @export ecgl.realistic.fragment #define LAYER_DIFFUSEMAP_COUNT 0 #define LAYER_EMISSIVEMAP_COUNT 0 #define PI 3.14159265358979 #define ROUGHNESS_CHANEL 0 #define METALNESS_CHANEL 1 #define NORMAL_UP_AXIS 1 #define NORMAL_FRONT_AXIS 2 #ifdef VERTEX_COLOR varying vec4 v_Color; #endif @import ecgl.common.uv.fragmentHeader varying vec3 v_Normal; varying vec3 v_WorldPosition; uniform sampler2D diffuseMap; uniform sampler2D detailMap; uniform sampler2D metalnessMap; uniform sampler2D roughnessMap; @import ecgl.common.layers.header uniform float emissionIntensity: 1.0; uniform vec4 color : [1.0, 1.0, 1.0, 1.0]; uniform float metalness : 0.0; uniform float roughness : 0.5; uniform mat4 viewInverse : VIEWINVERSE; #ifdef AMBIENT_LIGHT_COUNT @import clay.header.ambient_light #endif #ifdef AMBIENT_SH_LIGHT_COUNT @import clay.header.ambient_sh_light #endif #ifdef AMBIENT_CUBEMAP_LIGHT_COUNT @import clay.header.ambient_cubemap_light #endif #ifdef DIRECTIONAL_LIGHT_COUNT @import clay.header.directional_light #endif @import ecgl.common.normalMap.fragmentHeader @import ecgl.common.ssaoMap.header @import ecgl.common.bumpMap.header @import clay.util.srgb @import clay.util.rgbm @import ecgl.common.wireframe.fragmentHeader @import clay.plugin.compute_shadow_map vec3 F_Schlick(float ndv, vec3 spec) { return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0); } float D_Phong(float g, float ndh) { float a = pow(8192.0, g); return (a + 2.0) / 8.0 * pow(ndh, a); } void main() { vec4 albedoColor = color; vec3 eyePos = viewInverse[3].xyz; vec3 V = normalize(eyePos - v_WorldPosition); #ifdef VERTEX_COLOR #ifdef SRGB_DECODE albedoColor *= sRGBToLinear(v_Color); #else albedoColor *= v_Color; #endif #endif @import ecgl.common.albedo.main @import ecgl.common.diffuseLayer.main albedoColor *= albedoTexel; float m = metalness; #ifdef METALNESSMAP_ENABLED float m2 = texture2D(metalnessMap, v_DetailTexcoord)[METALNESS_CHANEL]; m = clamp(m2 + (m - 0.5) * 2.0, 0.0, 1.0); #endif vec3 baseColor = albedoColor.rgb; albedoColor.rgb = baseColor * (1.0 - m); vec3 specFactor = mix(vec3(0.04), baseColor, m); float g = 1.0 - roughness; #ifdef ROUGHNESSMAP_ENABLED float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL]; g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0); #endif vec3 N = v_Normal; #ifdef DOUBLE_SIDED if (dot(N, V) < 0.0) { N = -N; } #endif float ambientFactor = 1.0; #ifdef BUMPMAP_ENABLED N = bumpNormal(v_WorldPosition, v_Normal, N); ambientFactor = dot(v_Normal, N); #endif @import ecgl.common.normalMap.fragmentMain vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]); vec3 diffuseTerm = vec3(0.0); vec3 specularTerm = vec3(0.0); float ndv = clamp(dot(N, V), 0.0, 1.0); vec3 fresnelTerm = F_Schlick(ndv, specFactor); @import ecgl.common.ssaoMap.main #ifdef AMBIENT_LIGHT_COUNT for(int _idx_ = 0; _idx_ < AMBIENT_LIGHT_COUNT; _idx_++) {{ diffuseTerm += ambientLightColor[_idx_] * ambientFactor * ao; }} #endif #ifdef AMBIENT_SH_LIGHT_COUNT for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++) {{ diffuseTerm += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao; }} #endif #ifdef DIRECTIONAL_LIGHT_COUNT #if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT]; if(shadowEnabled) { computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir); } #endif for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{ vec3 L = -directionalLightDirection[_idx_]; vec3 lc = directionalLightColor[_idx_]; vec3 H = normalize(L + V); float ndl = clamp(dot(N, normalize(L)), 0.0, 1.0); float ndh = clamp(dot(N, H), 0.0, 1.0); float shadowContrib = 1.0; #if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) if (shadowEnabled) { shadowContrib = shadowContribsDir[_idx_]; } #endif vec3 li = lc * ndl * shadowContrib; diffuseTerm += li; specularTerm += li * fresnelTerm * D_Phong(g, ndh); }} #endif #ifdef AMBIENT_CUBEMAP_LIGHT_COUNT vec3 L = reflect(-V, N); L = vec3(L.x, L[NORMAL_UP_AXIS], L[NORMAL_FRONT_AXIS]); float rough2 = clamp(1.0 - g, 0.0, 1.0); float bias2 = rough2 * 5.0; vec2 brdfParam2 = texture2D(ambientCubemapLightBRDFLookup[0], vec2(rough2, ndv)).xy; vec3 envWeight2 = specFactor * brdfParam2.x + brdfParam2.y; vec3 envTexel2; for(int _idx_ = 0; _idx_ < AMBIENT_CUBEMAP_LIGHT_COUNT; _idx_++) {{ envTexel2 = RGBMDecode(textureCubeLodEXT(ambientCubemapLightCubemap[_idx_], L, bias2), 51.5); specularTerm += ambientCubemapLightColor[_idx_] * envTexel2 * envWeight2 * ao; }} #endif gl_FragColor.rgb = albedoColor.rgb * diffuseTerm + specularTerm; gl_FragColor.a = albedoColor.a; #ifdef SRGB_ENCODE gl_FragColor = linearTosRGB(gl_FragColor); #endif @import ecgl.common.emissiveLayer.main @import ecgl.common.wireframe.fragmentMain } @end`},function(J,W,E){"use strict";W.a=`@export ecgl.hatching.vertex @import ecgl.realistic.vertex @end @export ecgl.hatching.fragment #define NORMAL_UP_AXIS 1 #define NORMAL_FRONT_AXIS 2 @import ecgl.common.uv.fragmentHeader varying vec3 v_Normal; varying vec3 v_WorldPosition; uniform vec4 color : [0.0, 0.0, 0.0, 1.0]; uniform vec4 paperColor : [1.0, 1.0, 1.0, 1.0]; uniform mat4 viewInverse : VIEWINVERSE; #ifdef AMBIENT_LIGHT_COUNT @import clay.header.ambient_light #endif #ifdef AMBIENT_SH_LIGHT_COUNT @import clay.header.ambient_sh_light #endif #ifdef DIRECTIONAL_LIGHT_COUNT @import clay.header.directional_light #endif #ifdef VERTEX_COLOR varying vec4 v_Color; #endif @import ecgl.common.ssaoMap.header @import ecgl.common.bumpMap.header @import clay.util.srgb @import ecgl.common.wireframe.fragmentHeader @import clay.plugin.compute_shadow_map uniform sampler2D hatch1; uniform sampler2D hatch2; uniform sampler2D hatch3; uniform sampler2D hatch4; uniform sampler2D hatch5; uniform sampler2D hatch6; float shade(in float tone) { vec4 c = vec4(1. ,1., 1., 1.); float step = 1. / 6.; vec2 uv = v_DetailTexcoord; if (tone <= step / 2.0) { c = mix(vec4(0.), texture2D(hatch6, uv), 12. * tone); } else if (tone <= step) { c = mix(texture2D(hatch6, uv), texture2D(hatch5, uv), 6. * tone); } if(tone > step && tone <= 2. * step){ c = mix(texture2D(hatch5, uv), texture2D(hatch4, uv) , 6. * (tone - step)); } if(tone > 2. * step && tone <= 3. * step){ c = mix(texture2D(hatch4, uv), texture2D(hatch3, uv), 6. * (tone - 2. * step)); } if(tone > 3. * step && tone <= 4. * step){ c = mix(texture2D(hatch3, uv), texture2D(hatch2, uv), 6. * (tone - 3. * step)); } if(tone > 4. * step && tone <= 5. * step){ c = mix(texture2D(hatch2, uv), texture2D(hatch1, uv), 6. * (tone - 4. * step)); } if(tone > 5. * step){ c = mix(texture2D(hatch1, uv), vec4(1.), 6. * (tone - 5. * step)); } return c.r; } const vec3 w = vec3(0.2125, 0.7154, 0.0721); void main() { #ifdef SRGB_DECODE vec4 inkColor = sRGBToLinear(color); #else vec4 inkColor = color; #endif #ifdef VERTEX_COLOR #ifdef SRGB_DECODE inkColor *= sRGBToLinear(v_Color); #else inkColor *= v_Color; #endif #endif vec3 N = v_Normal; #ifdef DOUBLE_SIDED vec3 eyePos = viewInverse[3].xyz; vec3 V = normalize(eyePos - v_WorldPosition); if (dot(N, V) < 0.0) { N = -N; } #endif float tone = 0.0; float ambientFactor = 1.0; #ifdef BUMPMAP_ENABLED N = bumpNormal(v_WorldPosition, v_Normal, N); ambientFactor = dot(v_Normal, N); #endif vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]); @import ecgl.common.ssaoMap.main #ifdef AMBIENT_LIGHT_COUNT for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++) { tone += dot(ambientLightColor[i], w) * ambientFactor * ao; } #endif #ifdef AMBIENT_SH_LIGHT_COUNT for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++) {{ tone += dot(calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_], w) * ao; }} #endif #ifdef DIRECTIONAL_LIGHT_COUNT #if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT]; if(shadowEnabled) { computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir); } #endif for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) { vec3 lightDirection = -directionalLightDirection[i]; float lightTone = dot(directionalLightColor[i], w); float shadowContrib = 1.0; #if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) if (shadowEnabled) { shadowContrib = shadowContribsDir[i]; } #endif float ndl = dot(N, normalize(lightDirection)) * shadowContrib; tone += lightTone * clamp(ndl, 0.0, 1.0); } #endif gl_FragColor = mix(inkColor, paperColor, shade(clamp(tone, 0.0, 1.0))); } @end `},function(J,W,E){"use strict";W.a=`@export ecgl.sm.depth.vertex uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; attribute vec3 position : POSITION; #ifdef VERTEX_ANIMATION attribute vec3 prevPosition; uniform float percent : 1.0; #endif varying vec4 v_ViewPosition; void main(){ #ifdef VERTEX_ANIMATION vec3 pos = mix(prevPosition, position, percent); #else vec3 pos = position; #endif v_ViewPosition = worldViewProjection * vec4(pos, 1.0); gl_Position = v_ViewPosition; } @end @export ecgl.sm.depth.fragment @import clay.sm.depth.fragment @end`},function(J,W,E){"use strict";var R=E(134),h=E(138),v=E(139),m=E(145),A=E(0),y=E.n(A);y.a.registerAction({type:"grid3DChangeCamera",event:"grid3dcamerachanged",update:"series:updateCamera"},function(u,c){c.eachComponent({mainType:"grid3D",query:u},function(p){p.setView(u)})}),y.a.registerAction({type:"grid3DShowAxisPointer",event:"grid3dshowaxispointer",update:"grid3D:showAxisPointer"},function(u,c){}),y.a.registerAction({type:"grid3DHideAxisPointer",event:"grid3dhideaxispointer",update:"grid3D:hideAxisPointer"},function(u,c){})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(135),m=h.a.extendComponentModel({type:"cartesian3DAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid3D",index:this.option.gridIndex,id:this.option.gridId})[0]}});h.a.helper.mixinAxisModelCommonMethods(m);function A(y,u){return u.type||(u.data?"category":"value")}Object(v.a)("x",m,A,{name:"X"}),Object(v.a)("y",m,A,{name:"Y"}),Object(v.a)("z",m,A,{name:"Z"})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(136),m=E(137),A=E.n(m),y=["value","category","time","log"];W.a=function(u,c,p,r){h.a.util.each(y,function(n){c.extend({type:u+"Axis3D."+n,__ordinalMeta:null,mergeDefaultAndTheme:function(o,i){var s=i.getTheme();h.a.util.merge(o,s.get(n+"Axis3D")),h.a.util.merge(o,this.getDefaultOption()),o.type=p(u,o)},optionUpdated:function(){var o=this.option;o.type==="category"&&(this.__ordinalMeta=A.a.createByAxisModel(this))},getCategories:function(){if(this.option.type==="category")return this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:h.a.util.merge(h.a.util.clone(v.a[n+"Axis3D"]),r||{},!0)})}),c.superClass.registerSubTypeDefaulter(u+"Axis3D",h.a.util.curry(p,u))}},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v={show:!0,grid3DIndex:0,inverse:!1,name:"",nameLocation:"middle",nameTextStyle:{fontSize:16},nameGap:20,axisPointer:{},axisLine:{},axisTick:{},axisLabel:{},splitArea:{}},m=h.a.util.merge({boundaryGap:!0,axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"},axisPointer:{label:{show:!1}}},v),A=h.a.util.merge({boundaryGap:[0,0],splitNumber:5,axisPointer:{label:{}}},v),y=h.a.util.defaults({scale:!0,min:"dataMin",max:"dataMax"},A),u=h.a.util.defaults({logBase:10},A);u.scale=!0,W.a={categoryAxis3D:m,valueAxis3D:A,timeAxis3D:y,logAxis3D:u}},function(J,W,E){var R=E(12),h=R.createHashMap,v=R.isObject,m=R.map;function A(r){this.categories=r.categories||[],this._needCollect=r.needCollect,this._deduplication=r.deduplication,this._map}A.createByAxisModel=function(r){var n=r.option,o=n.data,i=o&&m(o,c);return new A({categories:i,needCollect:!i,deduplication:n.dedplication!==!1})};var y=A.prototype;y.getOrdinal=function(r){return u(this).get(r)},y.parseAndCollect=function(r){var n,o=this._needCollect;if(typeof r!="string"&&!o)return r;if(o&&!this._deduplication)return n=this.categories.length,this.categories[n]=r,n;var i=u(this);return n=i.get(r),n==null&&(o?(n=this.categories.length,this.categories[n]=r,i.set(r,n)):n=NaN),n};function u(r){return r._map||(r._map=h(r.categories))}function c(r){return v(r)&&r.value!=null?r.value:r+""}var p=A;J.exports=p},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(38),m=E(31),A=E(32),y=h.a.extendComponentModel({type:"grid3D",dependencies:["xAxis3D","yAxis3D","zAxis3D"],defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",boxWidth:100,boxHeight:100,boxDepth:100,axisPointer:{show:!0,lineStyle:{color:"rgba(0, 0, 0, 0.8)",width:1},label:{show:!0,formatter:null,margin:8,textStyle:{fontSize:14,color:"#fff",backgroundColor:"rgba(0,0,0,0.5)",padding:3,borderRadius:3}}},axisLine:{show:!0,lineStyle:{color:"#333",width:2,type:"solid"}},axisTick:{show:!0,inside:!1,length:3,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,margin:8,textStyle:{fontSize:12}},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}},light:{main:{alpha:30,beta:40},ambient:{intensity:.4}},viewControl:{alpha:20,beta:40,autoRotate:!1,distance:200,minDistance:40,maxDistance:400}}});h.a.util.merge(y.prototype,v.a),h.a.util.merge(y.prototype,m.a),h.a.util.merge(y.prototype,A.a);var u=y},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(2),m=E(39),A=E(22),y=E(3),u=E(73),c=E(34),p=E(140),r=E(142),n=E(58),o=E(40),i=y.a.firstNotNull;v.a.Shader.import(o.a),["x","y","z"].forEach(function(d){h.a.extendComponentView({type:d+"Axis3D"})});var s={x:0,y:2,z:1},l=h.a.extendComponentView({type:"grid3D",__ecgl__:!0,init:function(d,e){var t=[["y","z","x",-1,"left"],["y","z","x",1,"right"],["x","y","z",-1,"bottom"],["x","y","z",1,"top"],["x","z","y",-1,"far"],["x","z","y",1,"near"]],a=["x","y","z"],f=new v.a.Material({shader:v.a.createShader("ecgl.color"),depthMask:!1,transparent:!0}),g=new v.a.Material({shader:v.a.createShader("ecgl.meshLines3D"),depthMask:!1,transparent:!0});f.define("fragment","DOUBLE_SIDED"),f.define("both","VERTEX_COLOR"),this.groupGL=new v.a.Node,this._control=new m.a({zr:e.getZr()}),this._control.init(),this._faces=t.map(function(_){var D=new p.a(_,g,f);return this.groupGL.add(D.rootNode),D},this),this._axes=a.map(function(_){var D=new r.a(_,g);return this.groupGL.add(D.rootNode),D},this);var x=e.getDevicePixelRatio();this._axisLabelSurface=new u.a({width:256,height:256,devicePixelRatio:x}),this._axisLabelSurface.onupdate=function(){e.getZr().refresh()},this._axisPointerLineMesh=new v.a.Mesh({geometry:new A.a({useNativeLine:!1}),material:g,castShadow:!1,ignorePicking:!0,renderOrder:3}),this.groupGL.add(this._axisPointerLineMesh),this._axisPointerLabelsSurface=new u.a({width:128,height:128,devicePixelRatio:x}),this._axisPointerLabelsMesh=new n.a({ignorePicking:!0,renderOrder:4,castShadow:!1}),this._axisPointerLabelsMesh.material.set("textureAtlas",this._axisPointerLabelsSurface.getTexture()),this.groupGL.add(this._axisPointerLabelsMesh),this._lightRoot=new v.a.Node,this._sceneHelper=new c.a,this._sceneHelper.initLight(this._lightRoot)},render:function(d,e,t){this._model=d,this._api=t;var a=d.coordinateSystem;a.viewGL.add(this._lightRoot),d.get("show")?a.viewGL.add(this.groupGL):a.viewGL.remove(this.groupGL);var f=this._control;f.setViewGL(a.viewGL);var g=d.getModel("viewControl");f.setFromViewControlModel(g,0),this._axisLabelSurface.clear();var x=["x","y","z"].reduce(function(_,D){var M=a.getAxis(D),w=M.model;return _[D]=i(w.get("axisLabel.interval"),d.get("axisLabel.interval")),M.scale.type==="ordinal"&&(_[D]==null||_[D]=="auto")&&(_[D]=Math.floor(M.scale.getTicks().length/8)),_},{});f.off("update"),d.get("show")&&(this._faces.forEach(function(_){_.update(x,d,e,t)},this),this._axes.forEach(function(_){_.update(d,x,this._axisLabelSurface,t)},this)),f.on("update",this._onCameraChange.bind(this,d,t),this),this._sceneHelper.setScene(a.viewGL.scene),this._sceneHelper.updateLight(d),a.viewGL.setPostEffect(d.getModel("postEffect"),t),a.viewGL.setTemporalSuperSampling(d.getModel("temporalSuperSampling")),this._initMouseHandler(d)},afterRender:function(d,e,t,a){var f=a.renderer;this._sceneHelper.updateAmbientCubemap(f,d,t),this._sceneHelper.updateSkybox(f,d,t)},showAxisPointer:function(d,e,t,a){this._doShowAxisPointer(),this._updateAxisPointer(a.value)},hideAxisPointer:function(d,e,t,a){this._doHideAxisPointer()},_initMouseHandler:function(d){var e=d.coordinateSystem,t=e.viewGL;d.get("show")&&d.get("axisPointer.show")?t.on("mousemove",this._updateAxisPointerOnMousePosition,this):t.off("mousemove",this._updateAxisPointerOnMousePosition)},_updateAxisPointerOnMousePosition:function(d){if(!d.target){for(var e=this._model,t=e.coordinateSystem,a=t.viewGL,f=a.castRay(d.offsetX,d.offsetY,new v.a.Ray),g,x=0;xa[1]?0:1,_=this._faces[t*2+x],D=this._faces[t*2+1-x];_.rootNode.invisible=!0,D.rootNode.invisible=!1}},_updateAxisLinePosition:function(){var d=this._model.coordinateSystem,e=d.getAxis("x"),t=d.getAxis("y"),a=d.getAxis("z"),f=a.getExtentMax(),g=a.getExtentMin(),x=e.getExtentMin(),_=e.getExtentMax(),D=t.getExtentMax(),M=t.getExtentMin(),w=this._axes[0].rootNode,b=this._axes[1].rootNode,N=this._axes[2].rootNode,K=this._faces,S=K[4].rootNode.invisible?M:D,B=K[2].rootNode.invisible?f:g,O=K[0].rootNode.invisible?x:_,U=K[2].rootNode.invisible?f:g,F=K[0].rootNode.invisible?_:x,H=K[4].rootNode.invisible?M:D;w.rotation.identity(),b.rotation.identity(),N.rotation.identity(),K[4].rootNode.invisible&&(this._axes[0].flipped=!0,w.rotation.rotateX(Math.PI)),K[0].rootNode.invisible&&(this._axes[1].flipped=!0,b.rotation.rotateZ(Math.PI)),K[4].rootNode.invisible&&(this._axes[2].flipped=!0,N.rotation.rotateY(Math.PI)),w.position.set(0,B,S),b.position.set(O,U,0),N.position.set(F,0,H),w.update(),b.update(),N.update(),this._updateAxisLabelAlign()},_updateAxisLabelAlign:function(){var d=this._control.getCamera(),e=[new v.a.Vector4,new v.a.Vector4],t=new v.a.Vector4;this.groupGL.getWorldPosition(t),t.w=1,t.transformMat4(d.viewMatrix).transformMat4(d.projectionMatrix),t.x/=t.w,t.y/=t.w,this._axes.forEach(function(a){for(var f=a.axisLineCoords,g=a.labelsMesh.geometry,x=0;xt.y?"bottom":"top"):(N="middle",b=M>t.x?"left":"right"),a.setSpriteAlign(b,N,this._api)},this)},_doShowAxisPointer:function(){this._axisPointerLineMesh.invisible&&(this._axisPointerLineMesh.invisible=!1,this._axisPointerLabelsMesh.invisible=!1,this._api.getZr().refresh())},_doHideAxisPointer:function(){this._axisPointerLineMesh.invisible||(this._axisPointerLineMesh.invisible=!0,this._axisPointerLabelsMesh.invisible=!0,this._api.getZr().refresh())},_updateAxisPointer:function(d){var e=this._model.coordinateSystem,t=e.dataToPoint(d),a=this._axisPointerLineMesh,f=a.geometry,g=this._model.getModel("axisPointer"),x=this._api.getDevicePixelRatio();f.convertToDynamicArray(!0);function _(Ce){return y.a.firstNotNull(Ce.model.get("axisPointer.show"),g.get("show"))}function D(Ce){var ge=Ce.model.getModel("axisPointer",g),pe=ge.getModel("lineStyle"),we=v.a.parseColor(pe.get("color")),De=i(pe.get("width"),1),Se=i(pe.get("opacity"),1);return we[3]*=Se,{color:we,lineWidth:De}}for(var M=0;M0&&o.rotation.rotateY(Math.PI),i.normal.z=-l)}function n(o,i,s){this.rootNode=new v.a.Node;var l=new v.a.Mesh({geometry:new A.a({useNativeLine:!1}),material:i,castShadow:!1,ignorePicking:!0,renderOrder:1}),d=new v.a.Mesh({geometry:new y.a,material:s,castShadow:!1,culling:!1,ignorePicking:!0,renderOrder:0});this.rootNode.add(d),this.rootNode.add(l),this.faceInfo=o,this.plane=new v.a.Plane,this.linesMesh=l,this.quadsMesh=d}n.prototype.update=function(o,i,s,l){var d=i.coordinateSystem,e=[d.getAxis(this.faceInfo[0]),d.getAxis(this.faceInfo[1])],t=this.linesMesh.geometry,a=this.quadsMesh.geometry;t.convertToDynamicArray(!0),a.convertToDynamicArray(!0),this._updateSplitLines(t,e,i,o,l),this._udpateSplitAreas(a,e,i,o,l),t.convertToTypedArray(),a.convertToTypedArray();var f=d.getAxis(this.faceInfo[2]);r(this.rootNode,this.plane,f,this.faceInfo[3])},n.prototype._updateSplitLines=function(o,i,s,l,d){var e=d.getDevicePixelRatio();i.forEach(function(t,a){var f=t.model,g=i[1-a].getExtent();if(!t.scale.isBlank()){var x=f.getModel("splitLine",s.getModel("splitLine"));if(x.get("show")){var _=x.getModel("lineStyle"),D=_.get("color"),M=c(_.get("opacity"),1),w=c(_.get("width"),1),b=x.get("interval");(b==null||b==="auto")&&(b=l[t.dim]),D=h.a.util.isArray(D)?D:[D];for(var N=t.getTicksCoords(),K=0,S=0;S65535?new Uint32Array(o*3):new Uint16Array(o*3))},getQuadVertexCount:function(){return 4},getQuadTriangleCount:function(){return 2},addQuad:function(){var p=u.create(),r=u.create(),n=u.create(),o=[0,3,1,3,2,1];return function(i,s){var l=this.attributes.position,d=this.attributes.normal,e=this.attributes.color;u.sub(p,i[1],i[0]),u.sub(r,i[2],i[1]),u.cross(n,p,r),u.normalize(n,n);for(var t=0;t<4;t++)l.set(this._vertexOffset+t,i[t]),e.set(this._vertexOffset+t,s),d.set(this._vertexOffset+t,n);for(var a=this._faceOffset*3,t=0;t<6;t++)this.indices[a+t]=o[t]+this._vertexOffset;this._vertexOffset+=4,this._faceOffset+=2}}()});v.a.util.defaults(c.prototype,m.a),W.a=c},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(2),m=E(22),A=E(3),y=E(58),u=E(74),c=A.a.firstNotNull,p={x:0,y:2,z:1};function r(o,i){var s=new v.a.Mesh({geometry:new m.a({useNativeLine:!1}),material:i,castShadow:!1,ignorePicking:!0,renderOrder:2}),l=new y.a;l.material.depthMask=!1;var d=new v.a.Node;d.add(s),d.add(l),this.rootNode=d,this.dim=o,this.linesMesh=s,this.labelsMesh=l,this.axisLineCoords=null,this.labelElements=[]}var n={x:"y",y:"x",z:"y"};r.prototype.update=function(o,i,s,l){var d=o.coordinateSystem,e=d.getAxis(this.dim),t=i[this.dim],a=this.linesMesh.geometry,f=this.labelsMesh.geometry;a.convertToDynamicArray(!0),f.convertToDynamicArray(!0);var g=e.model,x=e.getExtent(),pe=l.getDevicePixelRatio(),_=g.getModel("axisLine",o.getModel("axisLine")),D=g.getModel("axisTick",o.getModel("axisTick")),M=g.getModel("axisLabel",o.getModel("axisLabel")),w=_.get("lineStyle.color");if(_.get("show")){var b=_.getModel("lineStyle"),N=[0,0,0],K=[0,0,0],S=p[e.dim];N[S]=x[0],K[S]=x[1],this.axisLineCoords=[N,K];var B=v.a.parseColor(w),O=c(b.get("width"),1),U=c(b.get("opacity"),1);B[3]*=U,a.addLine(N,K,B,O*pe)}if(D.get("show")){var F=D.getModel("lineStyle"),H=v.a.parseColor(c(F.get("color"),w)),O=c(F.get("width"),1);H[3]*=c(F.get("opacity"),1);var Y=e.getTicksCoords(),ne=D.get("interval");(ne==null||ne==="auto")&&(ne=t);for(var ae=D.get("length"),me=0;me65535?new Uint32Array(p*3):new Uint16Array(p*3))},setSpriteAlign:function(u,c,p,r,n){p==null&&(p="left"),r==null&&(r="top");var o,i,s,l;switch(n=n||0,p){case"left":o=n,s=c[0]+n;break;case"center":case"middle":o=-c[0]/2,s=c[0]/2;break;case"right":o=-c[0]-n,s=-n;break}switch(r){case"bottom":i=n,l=c[1]+n;break;case"middle":i=-c[1]/2,l=c[1]/2;break;case"top":i=-c[1]-n,l=-n;break}var d=u*4,e=this.attributes.offset;e.set(d,[o,l]),e.set(d+1,[s,l]),e.set(d+2,[s,i]),e.set(d+3,[o,i])},addSprite:function(u,c,p,r,n,o){var i=this._vertexOffset;this.setSprite(this._vertexOffset/4,u,c,p,r,n,o);for(var s=0;s1?"."+t[1]:""))}function A(t,a){return t=(t||"").toLowerCase().replace(/-(.)/g,function(f,g){return g.toUpperCase()}),a&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}var y=R.normalizeCssArray;function u(t){return String(t).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}var c=["a","b","c","d","e","f","g"],p=function(t,a){return"{"+t+(a==null?"":a)+"}"};function r(t,a,f){R.isArray(a)||(a=[a]);var g=a.length;if(!g)return"";for(var x=a[0].$vars||[],_=0;_':'':""}var i=function(t){return t<10?"0"+t:t};function s(t,a,f){(t==="week"||t==="month"||t==="quarter"||t==="half-year"||t==="year")&&(t=`MM-dd yyyy`);var g=v.parseDate(a),x=f?"UTC":"",_=g["get"+x+"FullYear"](),D=g["get"+x+"Month"]()+1,M=g["get"+x+"Date"](),w=g["get"+x+"Hours"](),b=g["get"+x+"Minutes"](),N=g["get"+x+"Seconds"]();return t=t.replace("MM",i(D)).replace("M",D).replace("yyyy",_).replace("yy",_%100).replace("dd",i(M)).replace("d",M).replace("hh",i(w)).replace("h",w).replace("mm",i(b)).replace("m",b).replace("ss",i(N)).replace("s",N),t}function l(t){return t&&t.charAt(0).toUpperCase()+t.substr(1)}var d=h.truncateText,e=h.getBoundingRect;W.addCommas=m,W.toCamelCase=A,W.normalizeCssArray=y,W.encodeHTML=u,W.formatTpl=r,W.formatTplSimple=n,W.getTooltipMarker=o,W.formatTime=s,W.capitalFirst=l,W.truncateText=d,W.getTextRect=e},function(J,W,E){var R=E(75),h=E(151),v=E(12),m=v.getContext,A=v.extend,y=v.retrieve2,u=v.retrieve3,c={},p=0,r=5e3,n=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,o="12px sans-serif",i={};function s(O,U){i[O]=U}function l(O,U){U=U||o;var F=O+":"+U;if(c[F])return c[F];for(var H=(O+"").split(` `),Y=0,ne=0,ae=H.length;ner&&(p=0,c={}),p++,c[F]=Y,Y}function d(O,U,F,H,Y,ne,ae){return ne?t(O,U,F,H,Y,ne,ae):e(O,U,F,H,Y,ae)}function e(O,U,F,H,Y,ne){var ae=N(O,U,Y,ne),me=l(O,U);Y&&(me+=Y[1]+Y[3]);var Ce=ae.outerHeight,ge=a(0,me,F),pe=f(0,Ce,H),we=new R(ge,pe,me,Ce);return we.lineHeight=ae.lineHeight,we}function t(O,U,F,H,Y,ne,ae){var me=K(O,{rich:ne,truncate:ae,font:U,textAlign:F,textPadding:Y}),Ce=me.outerWidth,ge=me.outerHeight,pe=a(0,Ce,F),we=f(0,ge,H);return new R(pe,we,Ce,ge)}function a(O,U,F){return F==="right"?O-=U:F==="center"&&(O-=U/2),O}function f(O,U,F){return F==="middle"?O-=U/2:F==="bottom"&&(O-=U),O}function g(O,U,F){var H=U.x,Y=U.y,ne=U.height,ae=U.width,me=ne/2,Ce="left",ge="top";switch(O){case"left":H-=F,Y+=me,Ce="right",ge="middle";break;case"right":H+=F+ae,Y+=me,ge="middle";break;case"top":H+=ae/2,Y-=F,Ce="center",ge="bottom";break;case"bottom":H+=ae/2,Y+=ne+F,Ce="center";break;case"inside":H+=ae/2,Y+=me,Ce="center",ge="middle";break;case"insideLeft":H+=F,Y+=me,ge="middle";break;case"insideRight":H+=ae-F,Y+=me,Ce="right",ge="middle";break;case"insideTop":H+=ae/2,Y+=F,Ce="center";break;case"insideBottom":H+=ae/2,Y+=ne-F,Ce="center",ge="bottom";break;case"insideTopLeft":H+=F,Y+=F;break;case"insideTopRight":H+=ae-F,Y+=F,Ce="right";break;case"insideBottomLeft":H+=F,Y+=ne-F,ge="bottom";break;case"insideBottomRight":H+=ae-F,Y+=ne-F,Ce="right",ge="bottom";break}return{x:H,y:Y,textAlign:Ce,textVerticalAlign:ge}}function x(O,U,F,H,Y){if(!U)return"";var ne=(O+"").split(` `);Y=_(U,F,H,Y);for(var ae=0,me=ne.length;ae=ae;Ce++)me-=ae;var ge=l(Y);return ge>me&&(Y="",ge=0),me=O-ge,H.ellipsis=Y,H.ellipsisWidth=ge,H.contentWidth=me,H.containerWidth=O,H}function D(O,U){var F=U.containerWidth,H=U.font,Y=U.contentWidth;if(!F)return"";var ne=l(O,H);if(ne<=F)return O;for(var ae=0;;ae++){if(ne<=Y||ae>=U.maxIterations){O+=U.ellipsis;break}var me=ae===0?M(O,Y,U.ascCharWidth,U.cnCharWidth):ne>0?Math.floor(O.length*Y/ne):0;O=O.substr(0,me),ne=l(O,H)}return O===""&&(O=U.placeholder),O}function M(O,U,F,H){for(var Y=0,ne=0,ae=O.length;neCe)O="",ne=[];else if(ge!=null)for(var pe=_(ge-(F?F[1]+F[3]:0),U,H.ellipsis,{minChar:H.minChar,placeholder:H.placeholder}),we=0,De=ne.length;weH&&S(F,O.substring(H,ne)),S(F,Y[2],Y[1]),H=n.lastIndex}HSe)return{lines:[],width:0,height:0};Fe.textWidth=l(Fe.text,_e);var Ae=ze.textWidth,de=Ae==null||Ae==="auto";if(typeof Ae=="string"&&Ae.charAt(Ae.length-1)==="%")Fe.percentWidth=Ae,ge.push(Fe),Ae=0;else{if(de){Ae=Fe.textWidth;var se=ze.textBackgroundColor,he=se&&se.image;he&&(he=h.findExistImage(he),h.isImageReady(he)&&(Ae=Math.max(Ae,he.width*ie/he.height)))}var Pe=z?z[1]+z[3]:0;Ae+=Pe;var We=De!=null?De-qe:null;We!=null&&We4){console.warn("Support at most 4 cascade");continue}Se.shadowCascade>1&&(we=Se.shadowCascade),this.renderDirectionalLightShadow(B,O,U,Se,this._opaqueCasters,ge,Ce,me)}else Se instanceof n.a?this.renderSpotLightShadow(B,O,Se,this._opaqueCasters,ae,ne):Se instanceof i.a&&this.renderPointLightShadow(B,O,Se,this._opaqueCasters,pe);this._shadowMapNumber[Se.type]++}for(var ve in this._shadowMapNumber)for(var Ee=this._shadowMapNumber[ve],Re=ve+"_SHADOWMAP_COUNT",De=0;De0?Ie.define("fragment",Re,Ee):Ie.isDefined("fragment",Re)&&Ie.undefine("fragment",Re))}for(var De=0;De0){var z=me.map(ze);if(Fe.directionalLightShadowMaps={value:me,type:"tv"},Fe.directionalLightMatrices={value:Ce,type:"m4v"},Fe.directionalLightShadowMapSizes={value:z,type:"1fv"},we){var _e=ge.slice(),ie=ge.slice();_e.pop(),ie.shift(),_e.reverse(),ie.reverse(),Ce.reverse(),Fe.shadowCascadeClipsNear={value:_e,type:"1fv"},Fe.shadowCascadeClipsFar={value:ie,type:"1fv"}}}if(ne.length>0){var Ae=ne.map(ze),Fe=O.shadowUniforms;Fe.spotLightShadowMaps={value:ne,type:"tv"},Fe.spotLightMatrices={value:ae,type:"m4v"},Fe.spotLightShadowMapSizes={value:Ae,type:"1fv"}}pe.length>0&&(Fe.pointLightShadowMaps={value:pe,type:"tv"})},renderDirectionalLightShadow:function(){var B=new A.a,O=new y.a,U=new m.a,F=new y.a,H=new y.a,Y=new y.a,ne=new y.a;return function(ae,me,Ce,ge,pe,we,De,Se){var ve=this._getDepthMaterial(ge),Ee={getMaterial:function(Gt){return Gt.shadowDepthMaterial||ve},sortCompare:u.a.opaqueSortCompare};if(!me.viewBoundingBoxLastFrame.isFinite()){var Re=me.getBoundingBox();me.viewBoundingBoxLastFrame.copy(Re).applyTransform(Ce.viewMatrix)}var qe=Math.min(-me.viewBoundingBoxLastFrame.min.z,Ce.far),Ie=Math.max(-me.viewBoundingBoxLastFrame.max.z,Ce.near),Fe=this._getDirectionalLightCamera(ge,me,Ce),ze=Y.array;ne.copy(Fe.projectionMatrix),b.invert(H.array,Fe.worldTransform.array),b.multiply(H.array,H.array,Ce.worldTransform.array),b.multiply(ze,ne.array,H.array);for(var z=[],_e=Ce instanceof f.a,ie=(Ce.near+Ce.far)/(Ce.near-Ce.far),Ae=2*Ce.near*Ce.far/(Ce.near-Ce.far),de=0;de<=ge.shadowCascade;de++){var se=Ie*Math.pow(qe/Ie,de/ge.shadowCascade),he=Ie+(qe-Ie)*de/ge.shadowCascade,Pe=se*ge.cascadeSplitLogFactor+he*(1-ge.cascadeSplitLogFactor);z.push(Pe),we.push(-(-Pe*ie+Ae)/-Pe)}var We=this._getTexture(ge,ge.shadowCascade);Se.push(We);var ht=ae.viewport,_t=ae.gl;this._frameBuffer.attach(We),this._frameBuffer.bind(ae),_t.clear(_t.COLOR_BUFFER_BIT|_t.DEPTH_BUFFER_BIT);for(var de=0;de= shadowCascadeClipsNear[_idx_] && depth <= shadowCascadeClipsFar[_idx_] ) { shadowContrib = computeShadowContrib( directionalLightShadowMaps[0], directionalLightMatrices[_idx_], position, directionalLightShadowMapSizes[0], vec2(1.0 / float(SHADOW_CASCADE), 1.0), vec2(float(_idx_) / float(SHADOW_CASCADE), 0.0) ); shadowContribs[0] = shadowContrib; } }} for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{ shadowContribs[_idx_] = 1.0; }} } #else void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){ float shadowContrib; for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_++) {{ shadowContrib = computeShadowContrib( directionalLightShadowMaps[_idx_], directionalLightMatrices[_idx_], position, directionalLightShadowMapSizes[_idx_] ); shadowContribs[_idx_] = shadowContrib; }} for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{ shadowContribs[_idx_] = 1.0; }} } #endif #endif #if defined(POINT_LIGHT_SHADOWMAP_COUNT) void computeShadowOfPointLights(vec3 position, inout float shadowContribs[POINT_LIGHT_COUNT] ){ vec3 lightPosition; vec3 direction; for(int _idx_ = 0; _idx_ < POINT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{ lightPosition = pointLightPosition[_idx_]; direction = position - lightPosition; shadowContribs[_idx_] = computeShadowContribOmni(pointLightShadowMaps[_idx_], direction, pointLightRange[_idx_]); }} for(int _idx_ = POINT_LIGHT_SHADOWMAP_COUNT; _idx_ < POINT_LIGHT_COUNT; _idx_++) {{ shadowContribs[_idx_] = 1.0; }} } #endif #endif @end`},function(J,W,E){"use strict";var R=E(7),h=E(5),v=E(6),m=E(10),A=E(156),y=E(162),u=E(164),c=E(166),p=E(2),r=E(167),n=E(169),o=E(9),i=E(170),s=E(171),l=E(172),d=E(173),e=E(174),t=E(175),a=E(176),f=E(177),g=E(178),x=E(179),_=E(180),D=E(181);R.a.import(s.a),R.a.import(l.a),R.a.import(d.a),R.a.import(e.a),R.a.import(t.a),R.a.import(a.a),R.a.import(f.a),R.a.import(g.a),R.a.import(x.a),R.a.import(_.a),R.a.import(D.a);var M={color:{parameters:{width:function(N){return N.getWidth()},height:function(N){return N.getHeight()}}}},w=["composite","FXAA"];function b(){this._sourceTexture=new h.a({type:v.a.HALF_FLOAT}),this._depthTexture=new h.a({format:v.a.DEPTH_COMPONENT,type:v.a.UNSIGNED_INT}),this._framebuffer=new m.a,this._framebuffer.attach(this._sourceTexture),this._framebuffer.attach(this._depthTexture,m.a.DEPTH_ATTACHMENT),this._normalPass=new r.a,this._compositor=Object(A.a)(i.a);var N=this._compositor.getNodeByName("source");N.texture=this._sourceTexture;var K=this._compositor.getNodeByName("coc");this._sourceNode=N,this._cocNode=K,this._compositeNode=this._compositor.getNodeByName("composite"),this._fxaaNode=this._compositor.getNodeByName("FXAA"),this._dofBlurNodes=["dof_far_blur","dof_near_blur","dof_coc_blur"].map(function(B){return this._compositor.getNodeByName(B)},this),this._dofBlurKernel=0,this._dofBlurKernelSize=new Float32Array(0),this._finalNodesChain=w.map(function(B){return this._compositor.getNodeByName(B)},this);var S={normalTexture:this._normalPass.getNormalTexture(),depthTexture:this._normalPass.getDepthTexture()};this._ssaoPass=new y.a(S),this._ssrPass=new u.a(S),this._edgePass=new n.a(S)}b.prototype.resize=function(B,O,S){S=S||1;var B=B*S,O=O*S,U=this._sourceTexture,F=this._depthTexture;U.width=B,U.height=O,F.width=B,F.height=O},b.prototype._ifRenderNormalPass=function(){return this._enableSSAO||this._enableEdge||this._enableSSR},b.prototype._getPrevNode=function(N){for(var K=w.indexOf(N.name)-1,S=this._finalNodesChain[K];S&&!this._compositor.getNodeByName(S.name);)K-=1,S=this._finalNodesChain[K];return S},b.prototype._getNextNode=function(N){for(var K=w.indexOf(N.name)+1,S=this._finalNodesChain[K];S&&!this._compositor.getNodeByName(S.name);)K+=1,S=this._finalNodesChain[K];return S},b.prototype._addChainNode=function(N){var K=this._getPrevNode(N),S=this._getNextNode(N);K&&(K.outputs=M,N.inputs.texture=K.name,S?(N.outputs=M,S.inputs.texture=N.name):N.outputs=null,this._compositor.addNode(N))},b.prototype._removeChainNode=function(N){var K=this._getPrevNode(N),S=this._getNextNode(N);K&&(S?(K.outputs=M,S.inputs.texture=K.name):K.outputs=null,this._compositor.removeNode(N))},b.prototype.updateNormal=function(N,K,S,B){this._ifRenderNormalPass()&&this._normalPass.update(N,K,S)},b.prototype.updateSSAO=function(N,K,S,B){this._ssaoPass.update(N,S,B)},b.prototype.enableSSAO=function(){this._enableSSAO=!0},b.prototype.disableSSAO=function(){this._enableSSAO=!1},b.prototype.enableSSR=function(){this._enableSSR=!0},b.prototype.disableSSR=function(){this._enableSSR=!1},b.prototype.getSSAOTexture=function(N,K,S,B){return this._ssaoPass.getTargetTexture()},b.prototype.getSourceFrameBuffer=function(){return this._framebuffer},b.prototype.getSourceTexture=function(){return this._sourceTexture},b.prototype.disableFXAA=function(){this._removeChainNode(this._fxaaNode)},b.prototype.enableFXAA=function(){this._addChainNode(this._fxaaNode)},b.prototype.enableBloom=function(){this._compositeNode.inputs.bloom="bloom_composite",this._compositor.dirty()},b.prototype.disableBloom=function(){this._compositeNode.inputs.bloom=null,this._compositor.dirty()},b.prototype.enableDOF=function(){this._compositeNode.inputs.texture="dof_composite",this._compositor.dirty()},b.prototype.disableDOF=function(){this._compositeNode.inputs.texture="source",this._compositor.dirty()},b.prototype.enableColorCorrection=function(){this._compositeNode.define("COLOR_CORRECTION"),this._enableColorCorrection=!0},b.prototype.disableColorCorrection=function(){this._compositeNode.undefine("COLOR_CORRECTION"),this._enableColorCorrection=!1},b.prototype.enableEdge=function(){this._enableEdge=!0},b.prototype.disableEdge=function(){this._enableEdge=!1},b.prototype.setBloomIntensity=function(N){this._compositeNode.setParameter("bloomIntensity",N)},b.prototype.setSSAOParameter=function(N,K){switch(N){case"quality":var S={low:6,medium:12,high:32,ultra:62}[K]||12;this._ssaoPass.setParameter("kernelSize",S);break;case"radius":this._ssaoPass.setParameter(N,K),this._ssaoPass.setParameter("bias",K/200);break;case"intensity":this._ssaoPass.setParameter(N,K);break;default:console.warn("Unkown SSAO parameter "+N)}},b.prototype.setDOFParameter=function(N,K){switch(N){case"focalDistance":case"focalRange":case"fstop":this._cocNode.setParameter(N,K);break;case"blurRadius":for(var S=0;S=0||(this.nodes.push(m),this._dirty=!0)},removeNode:function(m){typeof m=="string"&&(m=this.getNodeByName(m));var A=this.nodes.indexOf(m);A>=0&&(this.nodes.splice(A,1),this._dirty=!0)},getNodeByName:function(m){for(var A=0;A=y.COLOR_ATTACHMENT0&&i<=y.COLOR_ATTACHMENT0+8&&l.push(i);s.drawBuffersEXT(l)}A.saveClear(),A.clearBit=h.a.DEPTH_BUFFER_BIT|h.a.COLOR_BUFFER_BIT,u=A.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ),A.restoreClear(),c.unbind(A)}this.trigger("afterrender",u),this._rendering=!1,this._rendered=!0}});W.a=m},function(J,W,E){"use strict";var R=E(42),h=R.a.extend(function(){return{texture:null,outputs:{color:{}}}},function(){},{getOutput:function(v,m){return this.texture},beforeFrame:function(){},afterFrame:function(){}});W.a=h},function(J,W,E){"use strict";var R=E(14),h=E(42),v=h.a.extend(function(){return{name:"",inputs:{},outputs:null,shader:"",inputLinks:{},outputLinks:{},pass:null,_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},function(){var m=new R.a({fragment:this.shader});this.pass=m},{render:function(m,A){this.trigger("beforerender",m),this._rendering=!0;var y=m.gl;for(var u in this.inputLinks){var c=this.inputLinks[u],p=c.node.getOutput(m,c.pin);this.pass.setUniform(u,p)}if(!this.outputs)this.pass.outputs=null,this._compositor.getFrameBuffer().unbind(m),this.pass.render(m,A);else{this.pass.outputs={};var r={};for(var n in this.outputs){var o=this.updateParameter(n,m);isNaN(o.width)&&this.updateParameter(n,m);var i=this.outputs[n],s=this._compositor.allocateTexture(o);this._outputTextures[n]=s;var l=i.attachment||y.COLOR_ATTACHMENT0;typeof l=="string"&&(l=y[l]),r[l]=s}this._compositor.getFrameBuffer().bind(m);for(var l in r)this._compositor.getFrameBuffer().attach(r[l],l);this.pass.render(m),this._compositor.getFrameBuffer().updateMipmap(m.gl)}for(var u in this.inputLinks){var c=this.inputLinks[u];c.node.removeReference(c.pin)}this._rendering=!1,this._rendered=!0,this.trigger("afterrender",m)},updateParameter:function(m,A){var y=this.outputs[m],u=y.parameters,c=y._parametersCopy;if(c||(c=y._parametersCopy={}),u)for(var p in u)p!=="width"&&p!=="height"&&(c[p]=u[p]);var r,n;return u.width instanceof Function?r=u.width.call(this,A):r=u.width,u.height instanceof Function?n=u.height.call(this,A):n=u.height,(c.width!==r||c.height!==n)&&this._outputTextures[m]&&this._outputTextures[m].dispose(A),c.width=r,c.height=n,c},setParameter:function(m,A){this.pass.setUniform(m,A)},getParameter:function(m){return this.pass.getUniform(m)},setParameters:function(m){for(var A in m)this.setParameter(A,m[A])},define:function(m,A){this.pass.material.define("fragment",m,A)},undefine:function(m){this.pass.material.undefine("fragment",m)},removeReference:function(m){if(this._outputReferences[m]--,this._outputReferences[m]===0){var A=this.outputs[m];A.keepLastFrame?(this._prevOutputTextures[m]&&this._compositor.releaseTexture(this._prevOutputTextures[m]),this._prevOutputTextures[m]=this._outputTextures[m]):this._compositor.releaseTexture(this._outputTextures[m])}},clear:function(){h.a.prototype.clear.call(this),this.pass.material.disableTexturesAll()}});W.a=v},function(J,W,E){"use strict";var R=E(9),h=E(4),v=E(5),m=E(6),A=E(14),y=E(7),u=E(10),c=E(43),p=E(163);y.a.import(p.a);function r(s){for(var l=new Uint8Array(s*s*4),d=0,e=new h.a,t=0;t 0.99999) { gl_FragColor = vec4(1.0); return; } mat3 kernelBasis; #endif float z = depthTexel.r * 2.0 - 1.0; vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0); vec4 p4 = projectionInv * projectedPos; vec3 position = p4.xyz / p4.w; float ao = ssaoEstimator(position, kernelBasis); ao = clamp(1.0 - (1.0 - ao) * intensity, 0.0, 1.0); gl_FragColor = vec4(vec3(ao), 1.0); } @end @export ecgl.ssao.blur #define SHADER_NAME SSAO_BLUR uniform sampler2D ssaoTexture; #ifdef NORMALTEX_ENABLED uniform sampler2D normalTex; #endif varying vec2 v_Texcoord; uniform vec2 textureSize; uniform float blurSize : 1.0; uniform int direction: 0.0; #ifdef DEPTHTEX_ENABLED uniform sampler2D depthTex; uniform mat4 projection; uniform float depthRange : 0.5; float getLinearDepth(vec2 coord) { float depth = texture2D(depthTex, coord).r * 2.0 - 1.0; return projection[3][2] / (depth * projection[2][3] - projection[2][2]); } #endif void main() { float kernel[5]; kernel[0] = 0.122581; kernel[1] = 0.233062; kernel[2] = 0.288713; kernel[3] = 0.233062; kernel[4] = 0.122581; vec2 off = vec2(0.0); if (direction == 0) { off[0] = blurSize / textureSize.x; } else { off[1] = blurSize / textureSize.y; } vec2 coord = v_Texcoord; float sum = 0.0; float weightAll = 0.0; #ifdef NORMALTEX_ENABLED vec3 centerNormal = texture2D(normalTex, v_Texcoord).rgb * 2.0 - 1.0; #endif #if defined(DEPTHTEX_ENABLED) float centerDepth = getLinearDepth(v_Texcoord); #endif for (int i = 0; i < 5; i++) { vec2 coord = clamp(v_Texcoord + vec2(float(i) - 2.0) * off, vec2(0.0), vec2(1.0)); float w = kernel[i]; #ifdef NORMALTEX_ENABLED vec3 normal = texture2D(normalTex, coord).rgb * 2.0 - 1.0; w *= clamp(dot(normal, centerNormal), 0.0, 1.0); #endif #ifdef DEPTHTEX_ENABLED float d = getLinearDepth(coord); w *= (1.0 - smoothstep(abs(centerDepth - d) / depthRange, 0.0, 1.0)); #endif weightAll += w; sum += texture2D(ssaoTexture, coord).r * w; } gl_FragColor = vec4(vec3(sum / weightAll), 1.0); } @end `},function(J,W,E){"use strict";var R=E(9),h=E(4),v=E(5),m=E(6),A=E(14),y=E(7),u=E(10),c=E(43),p=E(165);y.a.import(p.a);function r(n){n=n||{},this._ssrPass=new A.a({fragment:y.a.source("ecgl.ssr.main"),clearColor:[0,0,0,0]}),this._blurPass1=new A.a({fragment:y.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._blurPass2=new A.a({fragment:y.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._ssrPass.setUniform("gBufferTexture1",n.normalTexture),this._ssrPass.setUniform("gBufferTexture2",n.depthTexture),this._blurPass1.setUniform("gBufferTexture1",n.normalTexture),this._blurPass1.setUniform("gBufferTexture2",n.depthTexture),this._blurPass2.setUniform("gBufferTexture1",n.normalTexture),this._blurPass2.setUniform("gBufferTexture2",n.depthTexture),this._blurPass2.material.define("fragment","VERTICAL"),this._blurPass2.material.define("fragment","BLEND"),this._texture1=new v.a({type:m.a.HALF_FLOAT}),this._texture2=new v.a({type:m.a.HALF_FLOAT}),this._texture3=new v.a({type:m.a.HALF_FLOAT}),this._frameBuffer=new u.a({depthBuffer:!1})}r.prototype.update=function(n,o,i,s){var l=n.getWidth(),d=n.getHeight(),e=n.getDevicePixelRatio(),t=this._texture1,a=this._texture2,f=this._texture3;a.width=l/2,a.height=d/2,t.width=l,t.height=d,f.width=l*e,f.height=d*e;var g=this._frameBuffer,x=this._ssrPass,_=this._blurPass1,D=this._blurPass2,M=new R.a;R.a.transpose(M,o.worldTransform),x.setUniform("sourceTexture",i),x.setUniform("projection",o.projectionMatrix.array),x.setUniform("projectionInv",o.invProjectionMatrix.array),x.setUniform("viewInverseTranspose",M.array),x.setUniform("nearZ",o.near),x.setUniform("jitterOffset",s/30),_.setUniform("textureSize",[l/2,d/2]),D.setUniform("textureSize",[l,d]),D.setUniform("sourceTexture",i),_.setUniform("projection",o.projectionMatrix.array),D.setUniform("projection",o.projectionMatrix.array),g.attach(t),g.bind(n),x.render(n),g.attach(a),_.setUniform("texture",t),_.render(n),g.attach(f),D.setUniform("texture",a),D.render(n),g.unbind(n)},r.prototype.getTargetTexture=function(){return this._texture3},r.prototype.setParameter=function(n,o){n==="maxIteration"?this._ssrPass.material.define("fragment","MAX_ITERATION",o):this._ssrPass.setUniform(n,o)},r.prototype.setSSAOTexture=function(n){var o=this._blurPass2;n?(o.material.enableTexture("ssaoTex"),o.material.set("ssaoTex",n)):o.material.disableTexture("ssaoTex")},r.prototype.dispose=function(n){this._texture1.dispose(n),this._texture2.dispose(n),this._texture3.dispose(n),this._frameBuffer.dispose(n)},W.a=r},function(J,W,E){"use strict";W.a=`@export ecgl.ssr.main #define MAX_ITERATION 20; uniform sampler2D sourceTexture; uniform sampler2D gBufferTexture1; uniform sampler2D gBufferTexture2; uniform mat4 projection; uniform mat4 projectionInv; uniform mat4 viewInverseTranspose; uniform float maxRayDistance: 50; uniform float pixelStride: 16; uniform float pixelStrideZCutoff: 50; uniform float screenEdgeFadeStart: 0.9; uniform float eyeFadeStart : 0.2; uniform float eyeFadeEnd: 0.8; uniform float minGlossiness: 0.2; uniform float zThicknessThreshold: 10; uniform float nearZ; uniform vec2 viewportSize : VIEWPORT_SIZE; uniform float jitterOffset: 0; varying vec2 v_Texcoord; #ifdef DEPTH_DECODE @import clay.util.decode_float #endif float fetchDepth(sampler2D depthTexture, vec2 uv) { vec4 depthTexel = texture2D(depthTexture, uv); return depthTexel.r * 2.0 - 1.0; } float linearDepth(float depth) { if (projection[3][3] == 0.0) { return projection[3][2] / (depth * projection[2][3] - projection[2][2]); } else { return (depth - projection[3][2]) / projection[2][2]; } } bool rayIntersectDepth(float rayZNear, float rayZFar, vec2 hitPixel) { if (rayZFar > rayZNear) { float t = rayZFar; rayZFar = rayZNear; rayZNear = t; } float cameraZ = linearDepth(fetchDepth(gBufferTexture2, hitPixel)); return rayZFar <= cameraZ && rayZNear >= cameraZ - zThicknessThreshold; } bool traceScreenSpaceRay( vec3 rayOrigin, vec3 rayDir, float jitter, out vec2 hitPixel, out vec3 hitPoint, out float iterationCount ) { float rayLength = ((rayOrigin.z + rayDir.z * maxRayDistance) > -nearZ) ? (-nearZ - rayOrigin.z) / rayDir.z : maxRayDistance; vec3 rayEnd = rayOrigin + rayDir * rayLength; vec4 H0 = projection * vec4(rayOrigin, 1.0); vec4 H1 = projection * vec4(rayEnd, 1.0); float k0 = 1.0 / H0.w, k1 = 1.0 / H1.w; vec3 Q0 = rayOrigin * k0, Q1 = rayEnd * k1; vec2 P0 = (H0.xy * k0 * 0.5 + 0.5) * viewportSize; vec2 P1 = (H1.xy * k1 * 0.5 + 0.5) * viewportSize; P1 += dot(P1 - P0, P1 - P0) < 0.0001 ? 0.01 : 0.0; vec2 delta = P1 - P0; bool permute = false; if (abs(delta.x) < abs(delta.y)) { permute = true; delta = delta.yx; P0 = P0.yx; P1 = P1.yx; } float stepDir = sign(delta.x); float invdx = stepDir / delta.x; vec3 dQ = (Q1 - Q0) * invdx; float dk = (k1 - k0) * invdx; vec2 dP = vec2(stepDir, delta.y * invdx); float strideScaler = 1.0 - min(1.0, -rayOrigin.z / pixelStrideZCutoff); float pixStride = 1.0 + strideScaler * pixelStride; dP *= pixStride; dQ *= pixStride; dk *= pixStride; vec4 pqk = vec4(P0, Q0.z, k0); vec4 dPQK = vec4(dP, dQ.z, dk); pqk += dPQK * jitter; float rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w); float rayZNear; bool intersect = false; vec2 texelSize = 1.0 / viewportSize; iterationCount = 0.0; for (int i = 0; i < MAX_ITERATION; i++) { pqk += dPQK; rayZNear = rayZFar; rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w); hitPixel = permute ? pqk.yx : pqk.xy; hitPixel *= texelSize; intersect = rayIntersectDepth(rayZNear, rayZFar, hitPixel); iterationCount += 1.0; if (intersect) { break; } } Q0.xy += dQ.xy * iterationCount; Q0.z = pqk.z; hitPoint = Q0 / pqk.w; return intersect; } float calculateAlpha( float iterationCount, float reflectivity, vec2 hitPixel, vec3 hitPoint, float dist, vec3 rayDir ) { float alpha = clamp(reflectivity, 0.0, 1.0); alpha *= 1.0 - (iterationCount / float(MAX_ITERATION)); vec2 hitPixelNDC = hitPixel * 2.0 - 1.0; float maxDimension = min(1.0, max(abs(hitPixelNDC.x), abs(hitPixelNDC.y))); alpha *= 1.0 - max(0.0, maxDimension - screenEdgeFadeStart) / (1.0 - screenEdgeFadeStart); float _eyeFadeStart = eyeFadeStart; float _eyeFadeEnd = eyeFadeEnd; if (_eyeFadeStart > _eyeFadeEnd) { float tmp = _eyeFadeEnd; _eyeFadeEnd = _eyeFadeStart; _eyeFadeStart = tmp; } float eyeDir = clamp(rayDir.z, _eyeFadeStart, _eyeFadeEnd); alpha *= 1.0 - (eyeDir - _eyeFadeStart) / (_eyeFadeEnd - _eyeFadeStart); alpha *= 1.0 - clamp(dist / maxRayDistance, 0.0, 1.0); return alpha; } @import clay.util.rand @import clay.util.rgbm void main() { vec4 normalAndGloss = texture2D(gBufferTexture1, v_Texcoord); if (dot(normalAndGloss.rgb, vec3(1.0)) == 0.0) { discard; } float g = normalAndGloss.a; if (g <= minGlossiness) { discard; } float reflectivity = (g - minGlossiness) / (1.0 - minGlossiness); vec3 N = normalAndGloss.rgb * 2.0 - 1.0; N = normalize((viewInverseTranspose * vec4(N, 0.0)).xyz); vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, fetchDepth(gBufferTexture2, v_Texcoord), 1.0); vec4 pos = projectionInv * projectedPos; vec3 rayOrigin = pos.xyz / pos.w; vec3 rayDir = normalize(reflect(normalize(rayOrigin), N)); vec2 hitPixel; vec3 hitPoint; float iterationCount; vec2 uv2 = v_Texcoord * viewportSize; float jitter = rand(fract(v_Texcoord + jitterOffset)); bool intersect = traceScreenSpaceRay(rayOrigin, rayDir, jitter, hitPixel, hitPoint, iterationCount); float dist = distance(rayOrigin, hitPoint); float alpha = calculateAlpha(iterationCount, reflectivity, hitPixel, hitPoint, dist, rayDir) * float(intersect); vec3 hitNormal = texture2D(gBufferTexture1, hitPixel).rgb * 2.0 - 1.0; hitNormal = normalize((viewInverseTranspose * vec4(hitNormal, 0.0)).xyz); if (dot(hitNormal, rayDir) >= 0.0) { discard; } if (!intersect) { discard; } vec4 color = decodeHDR(texture2D(sourceTexture, hitPixel)); gl_FragColor = encodeHDR(vec4(color.rgb * alpha, color.a)); } @end @export ecgl.ssr.blur uniform sampler2D texture; uniform sampler2D gBufferTexture1; uniform sampler2D gBufferTexture2; uniform mat4 projection; uniform float depthRange : 0.05; varying vec2 v_Texcoord; uniform vec2 textureSize; uniform float blurSize : 4.0; #ifdef BLEND #ifdef SSAOTEX_ENABLED uniform sampler2D ssaoTex; #endif uniform sampler2D sourceTexture; #endif float getLinearDepth(vec2 coord) { float depth = texture2D(gBufferTexture2, coord).r * 2.0 - 1.0; return projection[3][2] / (depth * projection[2][3] - projection[2][2]); } @import clay.util.rgbm void main() { @import clay.compositor.kernel.gaussian_9 vec4 centerNTexel = texture2D(gBufferTexture1, v_Texcoord); float g = centerNTexel.a; float maxBlurSize = clamp(1.0 - g + 0.1, 0.0, 1.0) * blurSize; #ifdef VERTICAL vec2 off = vec2(0.0, maxBlurSize / textureSize.y); #else vec2 off = vec2(maxBlurSize / textureSize.x, 0.0); #endif vec2 coord = v_Texcoord; vec4 sum = vec4(0.0); float weightAll = 0.0; vec3 cN = centerNTexel.rgb * 2.0 - 1.0; float cD = getLinearDepth(v_Texcoord); for (int i = 0; i < 9; i++) { vec2 coord = clamp((float(i) - 4.0) * off + v_Texcoord, vec2(0.0), vec2(1.0)); float w = gaussianKernel[i] * clamp(dot(cN, texture2D(gBufferTexture1, coord).rgb * 2.0 - 1.0), 0.0, 1.0); float d = getLinearDepth(coord); w *= (1.0 - smoothstep(abs(cD - d) / depthRange, 0.0, 1.0)); weightAll += w; sum += decodeHDR(texture2D(texture, coord)) * w; } #ifdef BLEND float aoFactor = 1.0; #ifdef SSAOTEX_ENABLED aoFactor = texture2D(ssaoTex, v_Texcoord).r; #endif gl_FragColor = encodeHDR( sum / weightAll * aoFactor + decodeHDR(texture2D(sourceTexture, v_Texcoord)) ); #else gl_FragColor = encodeHDR(sum / weightAll); #endif } @end`},function(J,W,E){"use strict";W.a=[0,0,-.321585265978,-.154972575841,.458126042375,.188473391593,.842080129861,.527766490688,.147304551086,-.659453822776,-.331943915203,-.940619700594,.0479226680259,.54812163202,.701581552186,-.709825561388,-.295436780218,.940589268233,-.901489676764,.237713156085,.973570876096,-.109899459384,-.866792314779,-.451805525005,.330975007087,.800048655954,-.344275183665,.381779221166,-.386139432542,-.437418421534,-.576478634965,-.0148463392551,.385798197415,-.262426961053,-.666302061145,.682427250835,-.628010632582,-.732836215494,.10163141741,-.987658134403,.711995289051,-.320024291314,.0296005138058,.950296523438,.0130612307608,-.351024443122,-.879596633704,-.10478487883,.435712737232,.504254490347,.779203817497,.206477676721,.388264289969,-.896736162545,-.153106280781,-.629203242522,-.245517550697,.657969239148,.126830499058,.26862328493,-.634888119007,-.302301223431,.617074219636,.779817204925]},function(J,W,E){"use strict";var R=E(5),h=E(6),v=E(7),m=E(10),A=E(17),y=E(14),u=E(54),c=E(168);v.a.import(c.a);function p(o,i,s,l,d){var e=o.gl;i.setUniform(e,"1i",s,d),e.activeTexture(e.TEXTURE0+d),l.isRenderable()?l.bind(o):l.unbind(o)}function r(o,i,s,l,d){var e,t,a,f,g=o.gl;return function(x,_,D){if(!(f&&f.material===x.material)){var M=x.material,w=x.__program,b=M.get("roughness");b==null&&(b=1);var N=M.get("normalMap")||i,K=M.get("roughnessMap"),S=M.get("bumpMap"),B=M.get("uvRepeat"),O=M.get("uvOffset"),U=M.get("detailUvRepeat"),F=M.get("detailUvOffset"),H=!!S&&M.isTextureEnabled("bumpMap"),Y=!!K&&M.isTextureEnabled("roughnessMap"),ne=M.isDefined("fragment","DOUBLE_SIDED");S=S||s,K=K||l,D!==_?(_.set("normalMap",N),_.set("bumpMap",S),_.set("roughnessMap",K),_.set("useBumpMap",H),_.set("useRoughnessMap",Y),_.set("doubleSide",ne),B!=null&&_.set("uvRepeat",B),O!=null&&_.set("uvOffset",O),U!=null&&_.set("detailUvRepeat",U),F!=null&&_.set("detailUvOffset",F),_.set("roughness",b)):(w.setUniform(g,"1f","roughness",b),e!==N&&p(o,w,"normalMap",N,0),t!==S&&S&&p(o,w,"bumpMap",S,1),a!==K&&K&&p(o,w,"roughnessMap",K,2),B!=null&&w.setUniform(g,"2f","uvRepeat",B),O!=null&&w.setUniform(g,"2f","uvOffset",O),U!=null&&w.setUniform(g,"2f","detailUvRepeat",U),F!=null&&w.setUniform(g,"2f","detailUvOffset",F),w.setUniform(g,"1i","useBumpMap",+H),w.setUniform(g,"1i","useRoughnessMap",+Y),w.setUniform(g,"1i","doubleSide",+ne)),e=N,t=S,a=K,f=x}}}function n(o){o=o||{},this._depthTex=new R.a({format:h.a.DEPTH_COMPONENT,type:h.a.UNSIGNED_INT}),this._normalTex=new R.a({type:h.a.HALF_FLOAT}),this._framebuffer=new m.a,this._framebuffer.attach(this._normalTex),this._framebuffer.attach(this._depthTex,m.a.DEPTH_ATTACHMENT),this._normalMaterial=new A.a({shader:new v.a(v.a.source("ecgl.normal.vertex"),v.a.source("ecgl.normal.fragment"))}),this._normalMaterial.enableTexture(["normalMap","bumpMap","roughnessMap"]),this._defaultNormalMap=u.a.createBlank("#000"),this._defaultBumpMap=u.a.createBlank("#000"),this._defaultRoughessMap=u.a.createBlank("#000"),this._debugPass=new y.a({fragment:v.a.source("clay.compositor.output")}),this._debugPass.setUniform("texture",this._normalTex),this._debugPass.material.undefine("fragment","OUTPUT_ALPHA")}n.prototype.getDepthTexture=function(){return this._depthTex},n.prototype.getNormalTexture=function(){return this._normalTex},n.prototype.update=function(o,i,s){var l=o.getWidth(),d=o.getHeight(),e=this._depthTex,t=this._normalTex,a=this._normalMaterial;e.width=l,e.height=d,t.width=l,t.height=d;var f=i.opaqueList;this._framebuffer.bind(o),o.gl.clearColor(0,0,0,0),o.gl.clear(o.gl.COLOR_BUFFER_BIT|o.gl.DEPTH_BUFFER_BIT),o.gl.disable(o.gl.BLEND),o.renderPass(f,s,{getMaterial:function(){return a},ifRender:function(g){return g.renderNormal},beforeRender:r(o,this._defaultNormalMap,this._defaultBumpMap,this._defaultRoughessMap,this._normalMaterial),sort:o.opaqueSortCompare}),this._framebuffer.unbind(o)},n.prototype.renderDebug=function(o){this._debugPass.render(o)},n.prototype.dispose=function(o){this._depthTex.dispose(o),this._normalTex.dispose(o)},W.a=n},function(J,W,E){"use strict";W.a=`@export ecgl.normal.vertex @import ecgl.common.transformUniforms @import ecgl.common.uv.header @import ecgl.common.attributes varying vec3 v_Normal; varying vec3 v_WorldPosition; @import ecgl.common.normalMap.vertexHeader @import ecgl.common.vertexAnimation.header void main() { @import ecgl.common.vertexAnimation.main @import ecgl.common.uv.main v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz); v_WorldPosition = (world * vec4(pos, 1.0)).xyz; @import ecgl.common.normalMap.vertexMain gl_Position = worldViewProjection * vec4(pos, 1.0); } @end @export ecgl.normal.fragment #define ROUGHNESS_CHANEL 0 uniform bool useBumpMap; uniform bool useRoughnessMap; uniform bool doubleSide; uniform float roughness; @import ecgl.common.uv.fragmentHeader varying vec3 v_Normal; varying vec3 v_WorldPosition; uniform mat4 viewInverse : VIEWINVERSE; @import ecgl.common.normalMap.fragmentHeader @import ecgl.common.bumpMap.header uniform sampler2D roughnessMap; void main() { vec3 N = v_Normal; bool flipNormal = false; if (doubleSide) { vec3 eyePos = viewInverse[3].xyz; vec3 V = normalize(eyePos - v_WorldPosition); if (dot(N, V) < 0.0) { flipNormal = true; } } @import ecgl.common.normalMap.fragmentMain if (useBumpMap) { N = bumpNormal(v_WorldPosition, v_Normal, N); } float g = 1.0 - roughness; if (useRoughnessMap) { float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL]; g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0); } if (flipNormal) { N = -N; } gl_FragColor.rgb = (N.xyz + 1.0) * 0.5; gl_FragColor.a = g; } @end`},function(J,W,E){"use strict";var R=E(9),h=E(4),v=E(5),m=E(6),A=E(14),y=E(7),u=E(10);function c(p){p=p||{},this._edgePass=new A.a({fragment:y.a.source("ecgl.edge")}),this._edgePass.setUniform("normalTexture",p.normalTexture),this._edgePass.setUniform("depthTexture",p.depthTexture),this._targetTexture=new v.a({type:m.a.HALF_FLOAT}),this._frameBuffer=new u.a,this._frameBuffer.attach(this._targetTexture)}c.prototype.update=function(p,r,n,o){var i=p.getWidth(),s=p.getHeight(),l=this._targetTexture;l.width=i,l.height=s;var d=this._frameBuffer;d.bind(p),this._edgePass.setUniform("projectionInv",r.invProjectionMatrix.array),this._edgePass.setUniform("textureSize",[i,s]),this._edgePass.setUniform("texture",n),this._edgePass.render(p),d.unbind(p)},c.prototype.getTargetTexture=function(){return this._targetTexture},c.prototype.setParameter=function(p,r){this._edgePass.setUniform(p,r)},c.prototype.dispose=function(p){this._targetTexture.dispose(p),this._frameBuffer.dispose(p)},W.a=c},function(J,W,E){"use strict";W.a={type:"compositor",nodes:[{name:"source",type:"texture",outputs:{color:{}}},{name:"source_half",shader:"#source(clay.compositor.downsample)",inputs:{texture:"source"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bright",shader:"#source(clay.compositor.bright)",inputs:{texture:"source_half"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{threshold:2,scale:4,textureSize:"expr([width * 1.0 / 2, height / 2])"}},{name:"bright_downsample_4",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 2, height / 2] )"}},{name:"bright_downsample_8",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 4, height / 4] )"}},{name:"bright_downsample_16",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 8, height / 8] )"}},{name:"bright_downsample_32",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 32)",height:"expr(height * 1.0 / 32)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 16, height / 16] )"}},{name:"bright_upsample_16_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_32"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 32, height / 32] )"}},{name:"bright_upsample_16_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_16_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_8_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_8_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_8_blur_v",texture2:"bright_upsample_16_blur_v"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_4_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_4_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_4_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_4_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_4_blur_v",texture2:"bright_upsample_8_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_2_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_2_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_2_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_2_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_2_blur_v",texture2:"bright_upsample_4_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_full_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_full_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_full_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bloom_composite",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_full_blur_v",texture2:"bright_upsample_2_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"coc",shader:"#source(ecgl.dof.coc)",outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{focalDist:50,focalRange:30}},{name:"dof_far_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"dof_near_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_NEARFIELD:null}},{name:"dof_coc_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"coc"},outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_COC:null}},{name:"dof_composite",shader:"#source(ecgl.dof.composite)",inputs:{original:"source",blurred:"dof_far_blur",nearfield:"dof_near_blur",coc:"coc",nearcoc:"dof_coc_blur"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}}},{name:"composite",shader:"#source(clay.compositor.hdr.composite)",inputs:{texture:"source",bloom:"bloom_composite"},defines:{}},{name:"FXAA",shader:"#source(clay.compositor.fxaa)",inputs:{texture:"composite"}}]}},function(J,W,E){"use strict";W.a=`@export clay.compositor.kernel.gaussian_9 float gaussianKernel[9]; gaussianKernel[0] = 0.07; gaussianKernel[1] = 0.09; gaussianKernel[2] = 0.12; gaussianKernel[3] = 0.14; gaussianKernel[4] = 0.16; gaussianKernel[5] = 0.14; gaussianKernel[6] = 0.12; gaussianKernel[7] = 0.09; gaussianKernel[8] = 0.07; @end @export clay.compositor.kernel.gaussian_13 float gaussianKernel[13]; gaussianKernel[0] = 0.02; gaussianKernel[1] = 0.03; gaussianKernel[2] = 0.06; gaussianKernel[3] = 0.08; gaussianKernel[4] = 0.11; gaussianKernel[5] = 0.13; gaussianKernel[6] = 0.14; gaussianKernel[7] = 0.13; gaussianKernel[8] = 0.11; gaussianKernel[9] = 0.08; gaussianKernel[10] = 0.06; gaussianKernel[11] = 0.03; gaussianKernel[12] = 0.02; @end @export clay.compositor.gaussian_blur #define SHADER_NAME gaussian_blur uniform sampler2D texture;varying vec2 v_Texcoord; uniform float blurSize : 2.0; uniform vec2 textureSize : [512.0, 512.0]; uniform float blurDir : 0.0; @import clay.util.rgbm @import clay.util.clamp_sample void main (void) { @import clay.compositor.kernel.gaussian_9 vec2 off = blurSize / textureSize; off *= vec2(1.0 - blurDir, blurDir); vec4 sum = vec4(0.0); float weightAll = 0.0; for (int i = 0; i < 9; i++) { float w = gaussianKernel[i]; vec4 texel = decodeHDR(clampSample(texture, v_Texcoord + float(i - 4) * off)); sum += texel * w; weightAll += w; } gl_FragColor = encodeHDR(sum / max(weightAll, 0.01)); } @end `},function(J,W,E){"use strict";W.a=` @export clay.compositor.lut varying vec2 v_Texcoord; uniform sampler2D texture; uniform sampler2D lookup; void main() { vec4 tex = texture2D(texture, v_Texcoord); float blueColor = tex.b * 63.0; vec2 quad1; quad1.y = floor(floor(blueColor) / 8.0); quad1.x = floor(blueColor) - (quad1.y * 8.0); vec2 quad2; quad2.y = floor(ceil(blueColor) / 8.0); quad2.x = ceil(blueColor) - (quad2.y * 8.0); vec2 texPos1; texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r); texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g); vec2 texPos2; texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r); texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g); vec4 newColor1 = texture2D(lookup, texPos1); vec4 newColor2 = texture2D(lookup, texPos2); vec4 newColor = mix(newColor1, newColor2, fract(blueColor)); gl_FragColor = vec4(newColor.rgb, tex.w); } @end`},function(J,W,E){"use strict";W.a=`@export clay.compositor.output #define OUTPUT_ALPHA varying vec2 v_Texcoord; uniform sampler2D texture; @import clay.util.rgbm void main() { vec4 tex = decodeHDR(texture2D(texture, v_Texcoord)); gl_FragColor.rgb = tex.rgb; #ifdef OUTPUT_ALPHA gl_FragColor.a = tex.a; #else gl_FragColor.a = 1.0; #endif gl_FragColor = encodeHDR(gl_FragColor); #ifdef PREMULTIPLY_ALPHA gl_FragColor.rgb *= gl_FragColor.a; #endif } @end`},function(J,W,E){"use strict";W.a=`@export clay.compositor.bright uniform sampler2D texture; uniform float threshold : 1; uniform float scale : 1.0; uniform vec2 textureSize: [512, 512]; varying vec2 v_Texcoord; const vec3 lumWeight = vec3(0.2125, 0.7154, 0.0721); @import clay.util.rgbm vec4 median(vec4 a, vec4 b, vec4 c) { return a + b + c - min(min(a, b), c) - max(max(a, b), c); } void main() { vec4 texel = decodeHDR(texture2D(texture, v_Texcoord)); #ifdef ANTI_FLICKER vec3 d = 1.0 / textureSize.xyx * vec3(1.0, 1.0, 0.0); vec4 s1 = decodeHDR(texture2D(texture, v_Texcoord - d.xz)); vec4 s2 = decodeHDR(texture2D(texture, v_Texcoord + d.xz)); vec4 s3 = decodeHDR(texture2D(texture, v_Texcoord - d.zy)); vec4 s4 = decodeHDR(texture2D(texture, v_Texcoord + d.zy)); texel = median(median(texel, s1, s2), s3, s4); #endif float lum = dot(texel.rgb , lumWeight); vec4 color; if (lum > threshold && texel.a > 0.0) { color = vec4(texel.rgb * scale, texel.a * scale); } else { color = vec4(0.0); } gl_FragColor = encodeHDR(color); } @end `},function(J,W,E){"use strict";W.a=`@export clay.compositor.downsample uniform sampler2D texture; uniform vec2 textureSize : [512, 512]; varying vec2 v_Texcoord; @import clay.util.rgbm float brightness(vec3 c) { return max(max(c.r, c.g), c.b); } @import clay.util.clamp_sample void main() { vec4 d = vec4(-1.0, -1.0, 1.0, 1.0) / textureSize.xyxy; #ifdef ANTI_FLICKER vec3 s1 = decodeHDR(clampSample(texture, v_Texcoord + d.xy)).rgb; vec3 s2 = decodeHDR(clampSample(texture, v_Texcoord + d.zy)).rgb; vec3 s3 = decodeHDR(clampSample(texture, v_Texcoord + d.xw)).rgb; vec3 s4 = decodeHDR(clampSample(texture, v_Texcoord + d.zw)).rgb; float s1w = 1.0 / (brightness(s1) + 1.0); float s2w = 1.0 / (brightness(s2) + 1.0); float s3w = 1.0 / (brightness(s3) + 1.0); float s4w = 1.0 / (brightness(s4) + 1.0); float oneDivideSum = 1.0 / (s1w + s2w + s3w + s4w); vec4 color = vec4( (s1 * s1w + s2 * s2w + s3 * s3w + s4 * s4w) * oneDivideSum, 1.0 ); #else vec4 color = decodeHDR(clampSample(texture, v_Texcoord + d.xy)); color += decodeHDR(clampSample(texture, v_Texcoord + d.zy)); color += decodeHDR(clampSample(texture, v_Texcoord + d.xw)); color += decodeHDR(clampSample(texture, v_Texcoord + d.zw)); color *= 0.25; #endif gl_FragColor = encodeHDR(color); } @end`},function(J,W,E){"use strict";W.a=` @export clay.compositor.upsample #define HIGH_QUALITY uniform sampler2D texture; uniform vec2 textureSize : [512, 512]; uniform float sampleScale: 0.5; varying vec2 v_Texcoord; @import clay.util.rgbm @import clay.util.clamp_sample void main() { #ifdef HIGH_QUALITY vec4 d = vec4(1.0, 1.0, -1.0, 0.0) / textureSize.xyxy * sampleScale; vec4 s; s = decodeHDR(clampSample(texture, v_Texcoord - d.xy)); s += decodeHDR(clampSample(texture, v_Texcoord - d.wy)) * 2.0; s += decodeHDR(clampSample(texture, v_Texcoord - d.zy)); s += decodeHDR(clampSample(texture, v_Texcoord + d.zw)) * 2.0; s += decodeHDR(clampSample(texture, v_Texcoord )) * 4.0; s += decodeHDR(clampSample(texture, v_Texcoord + d.xw)) * 2.0; s += decodeHDR(clampSample(texture, v_Texcoord + d.zy)); s += decodeHDR(clampSample(texture, v_Texcoord + d.wy)) * 2.0; s += decodeHDR(clampSample(texture, v_Texcoord + d.xy)); gl_FragColor = encodeHDR(s / 16.0); #else vec4 d = vec4(-1.0, -1.0, +1.0, +1.0) / textureSize.xyxy; vec4 s; s = decodeHDR(clampSample(texture, v_Texcoord + d.xy)); s += decodeHDR(clampSample(texture, v_Texcoord + d.zy)); s += decodeHDR(clampSample(texture, v_Texcoord + d.xw)); s += decodeHDR(clampSample(texture, v_Texcoord + d.zw)); gl_FragColor = encodeHDR(s / 4.0); #endif } @end`},function(J,W,E){"use strict";W.a=`@export clay.compositor.hdr.composite uniform sampler2D texture; #ifdef BLOOM_ENABLED uniform sampler2D bloom; #endif #ifdef LENSFLARE_ENABLED uniform sampler2D lensflare; uniform sampler2D lensdirt; #endif #ifdef LUM_ENABLED uniform sampler2D lum; #endif #ifdef LUT_ENABLED uniform sampler2D lut; #endif #ifdef COLOR_CORRECTION uniform float brightness : 0.0; uniform float contrast : 1.0; uniform float saturation : 1.0; #endif #ifdef VIGNETTE uniform float vignetteDarkness: 1.0; uniform float vignetteOffset: 1.0; #endif uniform float exposure : 1.0; uniform float bloomIntensity : 0.25; uniform float lensflareIntensity : 1; varying vec2 v_Texcoord; @import clay.util.srgb vec3 ACESToneMapping(vec3 color) { const float A = 2.51; const float B = 0.03; const float C = 2.43; const float D = 0.59; const float E = 0.14; return (color * (A * color + B)) / (color * (C * color + D) + E); } float eyeAdaption(float fLum) { return mix(0.2, fLum, 0.5); } #ifdef LUT_ENABLED vec3 lutTransform(vec3 color) { float blueColor = color.b * 63.0; vec2 quad1; quad1.y = floor(floor(blueColor) / 8.0); quad1.x = floor(blueColor) - (quad1.y * 8.0); vec2 quad2; quad2.y = floor(ceil(blueColor) / 8.0); quad2.x = ceil(blueColor) - (quad2.y * 8.0); vec2 texPos1; texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r); texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g); vec2 texPos2; texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r); texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g); vec4 newColor1 = texture2D(lut, texPos1); vec4 newColor2 = texture2D(lut, texPos2); vec4 newColor = mix(newColor1, newColor2, fract(blueColor)); return newColor.rgb; } #endif @import clay.util.rgbm void main() { vec4 texel = vec4(0.0); vec4 originalTexel = vec4(0.0); #ifdef TEXTURE_ENABLED texel = decodeHDR(texture2D(texture, v_Texcoord)); originalTexel = texel; #endif #ifdef BLOOM_ENABLED vec4 bloomTexel = decodeHDR(texture2D(bloom, v_Texcoord)); texel.rgb += bloomTexel.rgb * bloomIntensity; texel.a += bloomTexel.a * bloomIntensity; #endif #ifdef LENSFLARE_ENABLED texel += decodeHDR(texture2D(lensflare, v_Texcoord)) * texture2D(lensdirt, v_Texcoord) * lensflareIntensity; #endif texel.a = min(texel.a, 1.0); #ifdef LUM_ENABLED float fLum = texture2D(lum, vec2(0.5, 0.5)).r; float adaptedLumDest = 3.0 / (max(0.1, 1.0 + 10.0*eyeAdaption(fLum))); float exposureBias = adaptedLumDest * exposure; #else float exposureBias = exposure; #endif texel.rgb *= exposureBias; texel.rgb = ACESToneMapping(texel.rgb); texel = linearTosRGB(texel); #ifdef LUT_ENABLED texel.rgb = lutTransform(clamp(texel.rgb,vec3(0.0),vec3(1.0))); #endif #ifdef COLOR_CORRECTION texel.rgb = clamp(texel.rgb + vec3(brightness), 0.0, 1.0); texel.rgb = clamp((texel.rgb - vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0); float lum = dot(texel.rgb, vec3(0.2125, 0.7154, 0.0721)); texel.rgb = mix(vec3(lum), texel.rgb, saturation); #endif #ifdef VIGNETTE vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(vignetteOffset); texel.rgb = mix(texel.rgb, vec3(1.0 - vignetteDarkness), dot(uv, uv)); #endif gl_FragColor = encodeHDR(texel); #ifdef DEBUG #if DEBUG == 1 gl_FragColor = encodeHDR(decodeHDR(texture2D(texture, v_Texcoord))); #elif DEBUG == 2 gl_FragColor = encodeHDR(decodeHDR(texture2D(bloom, v_Texcoord)) * bloomIntensity); #elif DEBUG == 3 gl_FragColor = encodeHDR(decodeHDR(texture2D(lensflare, v_Texcoord) * lensflareIntensity)); #endif #endif if (originalTexel.a <= 0.01 && gl_FragColor.a > 1e-5) { gl_FragColor.a = dot(gl_FragColor.rgb, vec3(0.2125, 0.7154, 0.0721)); } #ifdef PREMULTIPLY_ALPHA gl_FragColor.rgb *= gl_FragColor.a; #endif } @end`},function(J,W,E){"use strict";W.a=`@export clay.compositor.blend #define SHADER_NAME blend #ifdef TEXTURE1_ENABLED uniform sampler2D texture1; uniform float weight1 : 1.0; #endif #ifdef TEXTURE2_ENABLED uniform sampler2D texture2; uniform float weight2 : 1.0; #endif #ifdef TEXTURE3_ENABLED uniform sampler2D texture3; uniform float weight3 : 1.0; #endif #ifdef TEXTURE4_ENABLED uniform sampler2D texture4; uniform float weight4 : 1.0; #endif #ifdef TEXTURE5_ENABLED uniform sampler2D texture5; uniform float weight5 : 1.0; #endif #ifdef TEXTURE6_ENABLED uniform sampler2D texture6; uniform float weight6 : 1.0; #endif varying vec2 v_Texcoord; @import clay.util.rgbm void main() { vec4 tex = vec4(0.0); #ifdef TEXTURE1_ENABLED tex += decodeHDR(texture2D(texture1, v_Texcoord)) * weight1; #endif #ifdef TEXTURE2_ENABLED tex += decodeHDR(texture2D(texture2, v_Texcoord)) * weight2; #endif #ifdef TEXTURE3_ENABLED tex += decodeHDR(texture2D(texture3, v_Texcoord)) * weight3; #endif #ifdef TEXTURE4_ENABLED tex += decodeHDR(texture2D(texture4, v_Texcoord)) * weight4; #endif #ifdef TEXTURE5_ENABLED tex += decodeHDR(texture2D(texture5, v_Texcoord)) * weight5; #endif #ifdef TEXTURE6_ENABLED tex += decodeHDR(texture2D(texture6, v_Texcoord)) * weight6; #endif gl_FragColor = encodeHDR(tex); } @end`},function(J,W,E){"use strict";W.a=`@export clay.compositor.fxaa uniform sampler2D texture; uniform vec4 viewport : VIEWPORT; varying vec2 v_Texcoord; #define FXAA_REDUCE_MIN (1.0/128.0) #define FXAA_REDUCE_MUL (1.0/8.0) #define FXAA_SPAN_MAX 8.0 @import clay.util.rgbm void main() { vec2 resolution = 1.0 / viewport.zw; vec3 rgbNW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ) ).xyz; vec3 rgbNE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ) ).xyz; vec3 rgbSW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ) ).xyz; vec3 rgbSE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ) ).xyz; vec4 rgbaM = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution ) ); vec3 rgbM = rgbaM.xyz; float opacity = rgbaM.w; vec3 luma = vec3( 0.299, 0.587, 0.114 ); float lumaNW = dot( rgbNW, luma ); float lumaNE = dot( rgbNE, luma ); float lumaSW = dot( rgbSW, luma ); float lumaSE = dot( rgbSE, luma ); float lumaM = dot( rgbM, luma ); float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) ); float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) ); vec2 dir; dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE)); dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE)); float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN ); float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce ); dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX), max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX), dir * rcpDirMin)) * resolution; vec3 rgbA = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 1.0 / 3.0 - 0.5 ) ) ).xyz; rgbA += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 2.0 / 3.0 - 0.5 ) ) ).xyz; rgbA *= 0.5; vec3 rgbB = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * -0.5 ) ).xyz; rgbB += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * 0.5 ) ).xyz; rgbB *= 0.25; rgbB += rgbA * 0.5; float lumaB = dot( rgbB, luma ); if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) ) { gl_FragColor = vec4( rgbA, opacity ); } else { gl_FragColor = vec4( rgbB, opacity ); } } @end`},function(J,W,E){"use strict";W.a=`@export ecgl.dof.coc uniform sampler2D depth; uniform float zNear: 0.1; uniform float zFar: 2000; uniform float focalDistance: 3; uniform float focalRange: 1; uniform float focalLength: 30; uniform float fstop: 2.8; varying vec2 v_Texcoord; @import clay.util.encode_float void main() { float z = texture2D(depth, v_Texcoord).r * 2.0 - 1.0; float dist = 2.0 * zNear * zFar / (zFar + zNear - z * (zFar - zNear)); float aperture = focalLength / fstop; float coc; float uppper = focalDistance + focalRange; float lower = focalDistance - focalRange; if (dist <= uppper && dist >= lower) { coc = 0.5; } else { float focalAdjusted = dist > uppper ? uppper : lower; coc = abs(aperture * (focalLength * (dist - focalAdjusted)) / (dist * (focalAdjusted - focalLength))); coc = clamp(coc, 0.0, 2.0) / 2.00001; if (dist < lower) { coc = -coc; } coc = coc * 0.5 + 0.5; } gl_FragColor = encodeFloat(coc); } @end @export ecgl.dof.composite #define DEBUG 0 uniform sampler2D original; uniform sampler2D blurred; uniform sampler2D nearfield; uniform sampler2D coc; uniform sampler2D nearcoc; varying vec2 v_Texcoord; @import clay.util.rgbm @import clay.util.float void main() { vec4 blurredColor = decodeHDR(texture2D(blurred, v_Texcoord)); vec4 originalColor = decodeHDR(texture2D(original, v_Texcoord)); float fCoc = decodeFloat(texture2D(coc, v_Texcoord)); fCoc = abs(fCoc * 2.0 - 1.0); float weight = smoothstep(0.0, 1.0, fCoc); #ifdef NEARFIELD_ENABLED vec4 nearfieldColor = decodeHDR(texture2D(nearfield, v_Texcoord)); float fNearCoc = decodeFloat(texture2D(nearcoc, v_Texcoord)); fNearCoc = abs(fNearCoc * 2.0 - 1.0); gl_FragColor = encodeHDR( mix( nearfieldColor, mix(originalColor, blurredColor, weight), pow(1.0 - fNearCoc, 4.0) ) ); #else gl_FragColor = encodeHDR(mix(originalColor, blurredColor, weight)); #endif } @end @export ecgl.dof.diskBlur #define POISSON_KERNEL_SIZE 16; uniform sampler2D texture; uniform sampler2D coc; varying vec2 v_Texcoord; uniform float blurRadius : 10.0; uniform vec2 textureSize : [512.0, 512.0]; uniform vec2 poissonKernel[POISSON_KERNEL_SIZE]; uniform float percent; float nrand(const in vec2 n) { return fract(sin(dot(n.xy ,vec2(12.9898,78.233))) * 43758.5453); } @import clay.util.rgbm @import clay.util.float void main() { vec2 offset = blurRadius / textureSize; float rnd = 6.28318 * nrand(v_Texcoord + 0.07 * percent ); float cosa = cos(rnd); float sina = sin(rnd); vec4 basis = vec4(cosa, -sina, sina, cosa); #if !defined(BLUR_NEARFIELD) && !defined(BLUR_COC) offset *= abs(decodeFloat(texture2D(coc, v_Texcoord)) * 2.0 - 1.0); #endif #ifdef BLUR_COC float cocSum = 0.0; #else vec4 color = vec4(0.0); #endif float weightSum = 0.0; for (int i = 0; i < POISSON_KERNEL_SIZE; i++) { vec2 ofs = poissonKernel[i]; ofs = vec2(dot(ofs, basis.xy), dot(ofs, basis.zw)); vec2 uv = v_Texcoord + ofs * offset; vec4 texel = texture2D(texture, uv); float w = 1.0; #ifdef BLUR_COC float fCoc = decodeFloat(texel) * 2.0 - 1.0; cocSum += clamp(fCoc, -1.0, 0.0) * w; #else texel = decodeHDR(texel); #if !defined(BLUR_NEARFIELD) float fCoc = decodeFloat(texture2D(coc, uv)) * 2.0 - 1.0; w *= abs(fCoc); #endif color += texel * w; #endif weightSum += w; } #ifdef BLUR_COC gl_FragColor = encodeFloat(clamp(cocSum / weightSum, -1.0, 0.0) * 0.5 + 0.5); #else color /= weightSum; gl_FragColor = encodeHDR(color); #endif } @end`},function(J,W,E){"use strict";W.a=`@export ecgl.edge uniform sampler2D texture; uniform sampler2D normalTexture; uniform sampler2D depthTexture; uniform mat4 projectionInv; uniform vec2 textureSize; uniform vec4 edgeColor: [0,0,0,0.8]; varying vec2 v_Texcoord; vec3 packColor(vec2 coord) { float z = texture2D(depthTexture, coord).r * 2.0 - 1.0; vec4 p = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0); vec4 p4 = projectionInv * p; return vec3( texture2D(normalTexture, coord).rg, -p4.z / p4.w / 5.0 ); } void main() { vec2 cc = v_Texcoord; vec3 center = packColor(cc); float size = clamp(1.0 - (center.z - 10.0) / 100.0, 0.0, 1.0) * 0.5; float dx = size / textureSize.x; float dy = size / textureSize.y; vec2 coord; vec3 topLeft = packColor(cc+vec2(-dx, -dy)); vec3 top = packColor(cc+vec2(0.0, -dy)); vec3 topRight = packColor(cc+vec2(dx, -dy)); vec3 left = packColor(cc+vec2(-dx, 0.0)); vec3 right = packColor(cc+vec2(dx, 0.0)); vec3 bottomLeft = packColor(cc+vec2(-dx, dy)); vec3 bottom = packColor(cc+vec2(0.0, dy)); vec3 bottomRight = packColor(cc+vec2(dx, dy)); vec3 v = -topLeft-2.0*top-topRight+bottomLeft+2.0*bottom+bottomRight; vec3 h = -bottomLeft-2.0*left-topLeft+bottomRight+2.0*right+topRight; float edge = sqrt(dot(h, h) + dot(v, v)); edge = smoothstep(0.8, 1.0, edge); gl_FragColor = mix(texture2D(texture, v_Texcoord), vec4(edgeColor.rgb, 1.0), edgeColor.a * edge); } @end`},function(J,W,E){"use strict";var R=E(43),h=E(14),v=E(10),m=E(5),A=E(7),y=E(9);function u(c){for(var p=[],r=0;r<30;r++)p.push([Object(R.a)(r,2),Object(R.a)(r,3)]);this._haltonSequence=p,this._frame=0,this._sourceTex=new m.a,this._sourceFb=new v.a,this._sourceFb.attach(this._sourceTex),this._prevFrameTex=new m.a,this._outputTex=new m.a;var n=this._blendPass=new h.a({fragment:A.a.source("clay.compositor.blend")});n.material.disableTexturesAll(),n.material.enableTexture(["texture1","texture2"]),this._blendFb=new v.a({depthBuffer:!1}),this._outputPass=new h.a({fragment:A.a.source("clay.compositor.output"),blendWithPrevious:!0}),this._outputPass.material.define("fragment","OUTPUT_ALPHA"),this._outputPass.material.blend=function(o){o.blendEquationSeparate(o.FUNC_ADD,o.FUNC_ADD),o.blendFuncSeparate(o.ONE,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA)}}u.prototype={constructor:u,jitterProjection:function(c,p){var r=c.viewport,n=r.devicePixelRatio||c.getDevicePixelRatio(),o=r.width*n,i=r.height*n,s=this._haltonSequence[this._frame%this._haltonSequence.length],l=new y.a;l.array[12]=(s[0]*2-1)/o,l.array[13]=(s[1]*2-1)/i,y.a.mul(p.projectionMatrix,l,p.projectionMatrix),y.a.invert(p.invProjectionMatrix,p.projectionMatrix)},resetFrame:function(){this._frame=0},getFrame:function(){return this._frame},getSourceFrameBuffer:function(){return this._sourceFb},getOutputTexture:function(){return this._outputTex},resize:function(c,p){this._prevFrameTex.width=c,this._prevFrameTex.height=p,this._outputTex.width=c,this._outputTex.height=p,this._sourceTex.width=c,this._sourceTex.height=p,this._prevFrameTex.dirty(),this._outputTex.dirty(),this._sourceTex.dirty()},isFinished:function(){return this._frame>=this._haltonSequence.length},render:function(c,p,r){var n=this._blendPass;this._frame===0?(n.setUniform("weight1",0),n.setUniform("weight2",1)):(n.setUniform("weight1",.9),n.setUniform("weight2",.1)),n.setUniform("texture1",this._prevFrameTex),n.setUniform("texture2",p||this._sourceTex),this._blendFb.attach(this._outputTex),this._blendFb.bind(c),n.render(c),this._blendFb.unbind(c),r||(this._outputPass.setUniform("texture",this._outputTex),this._outputPass.render(c));var o=this._prevFrameTex;this._prevFrameTex=this._outputTex,this._outputTex=o,this._frame++},dispose:function(c){this._sourceFb.dispose(c),this._blendFb.dispose(c),this._prevFrameTex.dispose(c),this._outputTex.dispose(c),this._sourceTex.dispose(c),this._outputPass.dispose(c),this._blendPass.dispose(c)}},W.a=u},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(184),m=E(185),A=E(82);h.a.registerAction({type:"geo3DChangeCamera",event:"geo3dcamerachanged",update:"series:updateCamera"},function(y,u){u.eachComponent({mainType:"geo3D",query:y},function(c){c.setView(y)})})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(38),m=E(31),A=E(32),y=E(26),u=E(80),c=h.a.extendComponentModel({type:"geo3D",layoutMode:"box",coordinateSystem:null,optionUpdated:function(){var r=this.option;r.regions=this.getFilledRegions(r.regions,r.map);var n=h.a.helper.completeDimensions(["value"],r.data,{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),o=new h.a.List(n,this);o.initData(r.regions);var i={};o.each(function(s){var l=o.getName(s),d=o.getItemModel(s);i[l]=d}),this._regionModelMap=i,this._data=o},getData:function(){return this._data},getRegionModel:function(r){var n=this.getData().getName(r);return this._regionModelMap[n]||new h.a.Model(null,this)},getRegionPolygonCoords:function(r){var n=this.getData().getName(r),o=this.coordinateSystem.getRegion(n);return o?o.geometries:[]},getFormattedLabel:function(r,n){var o=this._data.getName(r),i=this.getRegionModel(o),s=i.get(n==="normal"?["label","formatter"]:["emphasis","label","formatter"]);s==null&&(s=i.get(["label","formatter"]));var l={name:o};if(typeof s=="function")return l.status=n,s(l);if(typeof s=="string"){var d=l.seriesName;return s.replace("{a}",d!=null?d:"")}else return o},defaultOption:{regions:[]}});h.a.util.merge(c.prototype,u.a),h.a.util.merge(c.prototype,v.a),h.a.util.merge(c.prototype,m.a),h.a.util.merge(c.prototype,A.a),h.a.util.merge(c.prototype,y.a);var p=c},function(J,W,E){"use strict";var R=E(59),h=E(0),v=E.n(h),m=E(2),A=E(39),y=E(34),u=v.a.extendComponentView({type:"geo3D",__ecgl__:!0,init:function(c,p){this._geo3DBuilder=new R.a(p),this.groupGL=new m.a.Node,this._lightRoot=new m.a.Node,this._sceneHelper=new y.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot),this._control=new A.a({zr:p.getZr()}),this._control.init()},render:function(c,p,r){this.groupGL.add(this._geo3DBuilder.rootNode);var n=c.coordinateSystem;if(!(!n||!n.viewGL)){n.viewGL.add(this._lightRoot),c.get("show")?n.viewGL.add(this.groupGL):n.viewGL.remove(this.groupGL);var o=this._control;o.setViewGL(n.viewGL);var i=c.getModel("viewControl");o.setFromViewControlModel(i,0),this._sceneHelper.setScene(n.viewGL.scene),this._sceneHelper.updateLight(c),n.viewGL.setPostEffect(c.getModel("postEffect"),r),n.viewGL.setTemporalSuperSampling(c.getModel("temporalSuperSampling")),this._geo3DBuilder.update(c,p,r,0,c.getData().count());var s=n.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(l){l.material&&l.material[s]("fragment","SRGB_DECODE")}),o.off("update"),o.on("update",function(){r.dispatchAction({type:"geo3DChangeCamera",alpha:o.getAlpha(),beta:o.getBeta(),distance:o.getDistance(),center:o.getCenter(),from:this.uid,geo3DId:c.id})})}},afterRender:function(c,p,r,n){var o=n.renderer;this._sceneHelper.updateAmbientCubemap(o,c,r),this._sceneHelper.updateSkybox(o,c,r)},dispose:function(){this._control.dispose()}})},function(J,W,E){"use strict";W.a=R;function R(S,B,O){O=O||2;var U=B&&B.length,F=U?B[0]*O:S.length,H=h(S,0,F,O,!0),Y=[];if(!H)return Y;var ne,ae,me,Ce,ge,pe,we;if(U&&(H=p(S,B,H,O)),S.length>80*O){ne=me=S[0],ae=Ce=S[1];for(var De=O;Deme&&(me=ge),pe>Ce&&(Ce=pe);we=Math.max(me-ne,Ce-ae)}return m(H,Y,O,ne,ae,we),Y}function h(S,B,O,U,F){var H,Y;if(F===K(S,B,O,U)>0)for(H=B;H=B;H-=U)Y=w(H,S[H],S[H+1],Y);return Y&&f(Y,Y.next)&&(b(Y),Y=Y.next),Y}function v(S,B){if(!S)return S;B||(B=S);var O=S,U;do if(U=!1,!O.steiner&&(f(O,O.next)||a(O.prev,O,O.next)===0)){if(b(O),O=B=O.prev,O===O.next)return null;U=!0}else O=O.next;while(U||O!==B);return B}function m(S,B,O,U,F,H,Y){if(S){!Y&&H&&i(S,U,F,H);for(var ne=S,ae,me;S.prev!==S.next;){if(ae=S.prev,me=S.next,H?y(S,U,F,H):A(S)){B.push(ae.i/O),B.push(S.i/O),B.push(me.i/O),b(S),S=me.next,ne=me.next;continue}if(S=me,S===ne){Y?Y===1?(S=u(S,B,O),m(S,B,O,U,F,H,2)):Y===2&&c(S,B,O,U,F,H):m(v(S),B,O,U,F,H,1);break}}}}function A(S){var B=S.prev,O=S,U=S.next;if(a(B,O,U)>=0)return!1;for(var F=S.next.next;F!==S.prev;){if(e(B.x,B.y,O.x,O.y,U.x,U.y,F.x,F.y)&&a(F.prev,F,F.next)>=0)return!1;F=F.next}return!0}function y(S,B,O,U){var F=S.prev,H=S,Y=S.next;if(a(F,H,Y)>=0)return!1;for(var ne=F.xH.x?F.x>Y.x?F.x:Y.x:H.x>Y.x?H.x:Y.x,Ce=F.y>H.y?F.y>Y.y?F.y:Y.y:H.y>Y.y?H.y:Y.y,ge=l(ne,ae,B,O,U),pe=l(me,Ce,B,O,U),we=S.nextZ;we&&we.z<=pe;){if(we!==S.prev&&we!==S.next&&e(F.x,F.y,H.x,H.y,Y.x,Y.y,we.x,we.y)&&a(we.prev,we,we.next)>=0)return!1;we=we.nextZ}for(we=S.prevZ;we&&we.z>=ge;){if(we!==S.prev&&we!==S.next&&e(F.x,F.y,H.x,H.y,Y.x,Y.y,we.x,we.y)&&a(we.prev,we,we.next)>=0)return!1;we=we.prevZ}return!0}function u(S,B,O){var U=S;do{var F=U.prev,H=U.next.next;!f(F,H)&&g(F,U,U.next,H)&&_(F,H)&&_(H,F)&&(B.push(F.i/O),B.push(U.i/O),B.push(H.i/O),b(U),b(U.next),U=S=H),U=U.next}while(U!==S);return U}function c(S,B,O,U,F,H){var Y=S;do{for(var ne=Y.next.next;ne!==Y.prev;){if(Y.i!==ne.i&&t(Y,ne)){var ae=M(Y,ne);Y=v(Y,Y.next),ae=v(ae,ae.next),m(Y,B,O,U,F,H),m(ae,B,O,U,F,H);return}ne=ne.next}Y=Y.next}while(Y!==S)}function p(S,B,O,U){var F=[],H,Y,ne,ae,me;for(H=0,Y=B.length;H=O.next.y&&O.next.y!==O.y){var ne=O.x+(F-O.y)*(O.next.x-O.x)/(O.next.y-O.y);if(ne<=U&&ne>H){if(H=ne,ne===U){if(F===O.y)return O;if(F===O.next.y)return O.next}Y=O.x=O.x&&O.x>=me&&U!==O.x&&e(FY.x)&&_(O,S)&&(Y=O,ge=pe)),O=O.next;return Y}function i(S,B,O,U){var F=S;do F.z===null&&(F.z=l(F.x,F.y,B,O,U)),F.prevZ=F.prev,F.nextZ=F.next,F=F.next;while(F!==S);F.prevZ.nextZ=null,F.prevZ=null,s(F)}function s(S){var B,O,U,F,H,Y,ne,ae,me=1;do{for(O=S,S=null,H=null,Y=0;O;){for(Y++,U=O,ne=0,B=0;B0||ae>0&&U;)ne!==0&&(ae===0||!U||O.z<=U.z)?(F=O,O=O.nextZ,ne--):(F=U,U=U.nextZ,ae--),H?H.nextZ=F:S=F,F.prevZ=H,H=F;O=U}H.nextZ=null,me*=2}while(Y>1);return S}function l(S,B,O,U,F){return S=32767*(S-O)/F,B=32767*(B-U)/F,S=(S|S<<8)&16711935,S=(S|S<<4)&252645135,S=(S|S<<2)&858993459,S=(S|S<<1)&1431655765,B=(B|B<<8)&16711935,B=(B|B<<4)&252645135,B=(B|B<<2)&858993459,B=(B|B<<1)&1431655765,S|B<<1}function d(S){var B=S,O=S;do B.x=0&&(S-Y)*(U-ne)-(O-Y)*(B-ne)>=0&&(O-Y)*(H-ne)-(F-Y)*(U-ne)>=0}function t(S,B){return S.next.i!==B.i&&S.prev.i!==B.i&&!x(S,B)&&_(S,B)&&_(B,S)&&D(S,B)}function a(S,B,O){return(B.y-S.y)*(O.x-B.x)-(B.x-S.x)*(O.y-B.y)}function f(S,B){return S.x===B.x&&S.y===B.y}function g(S,B,O,U){return f(S,B)&&f(O,U)||f(S,U)&&f(O,B)?!0:a(S,B,O)>0!=a(S,B,U)>0&&a(O,U,S)>0!=a(O,U,B)>0}function x(S,B){var O=S;do{if(O.i!==S.i&&O.next.i!==S.i&&O.i!==B.i&&O.next.i!==B.i&&g(O,O.next,S,B))return!0;O=O.next}while(O!==S);return!1}function _(S,B){return a(S.prev,S,S.next)<0?a(S,B,S.next)>=0&&a(S,S.prev,B)>=0:a(S,B,S.prev)<0||a(S,S.next,B)<0}function D(S,B){var O=S,U=!1,F=(S.x+B.x)/2,H=(S.y+B.y)/2;do O.y>H!=O.next.y>H&&O.next.y!==O.y&&F<(O.next.x-O.x)*(H-O.y)/(O.next.y-O.y)+O.x&&(U=!U),O=O.next;while(O!==S);return U}function M(S,B){var O=new N(S.i,S.x,S.y),U=new N(B.i,B.x,B.y),F=S.next,H=B.prev;return S.next=B,B.prev=S,O.next=F,F.prev=O,U.next=O,O.prev=U,H.next=U,U.prev=H,U}function w(S,B,O,U){var F=new N(S,B,O);return U?(F.next=U.next,F.prev=U,U.next.prev=F,U.next=F):(F.prev=F,F.next=F),F}function b(S){S.next.prev=S.prev,S.prev.next=S.next,S.prevZ&&(S.prevZ.nextZ=S.nextZ),S.nextZ&&(S.nextZ.prevZ=S.prevZ)}function N(S,B,O){this.i=S,this.x=B,this.y=O,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}R.deviation=function(S,B,O,U){var F=B&&B.length,H=F?B[0]*O:S.length,Y=Math.abs(K(S,0,H,O));if(F)for(var ne=0,ae=B.length;ne0},_displacementChanged:!0,_displacementScale:0,updateDisplacementHash:function(){var r=this.getDisplacementTexture(),n=this.getDisplacemenScale();this._displacementChanged=this._displacementTexture!==r||this._displacementScale!==n,this._displacementTexture=r,this._displacementScale=n},isDisplacementChanged:function(){return this._displacementChanged}});h.a.util.merge(c.prototype,v.a),h.a.util.merge(c.prototype,m.a),h.a.util.merge(c.prototype,A.a),h.a.util.merge(c.prototype,y.a);var p=c},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(2),m=E(39),A=E(34),y=E(192),u=E(3),c=h.a.extendComponentView({type:"globe",__ecgl__:!0,_displacementScale:0,init:function(p,r){this.groupGL=new v.a.Node,this._sphereGeometry=new v.a.SphereGeometry({widthSegments:200,heightSegments:100,dynamic:!0}),this._overlayGeometry=new v.a.SphereGeometry({widthSegments:80,heightSegments:40}),this._planeGeometry=new v.a.PlaneGeometry,this._earthMesh=new v.a.Mesh({renderNormal:!0}),this._lightRoot=new v.a.Node,this._sceneHelper=new A.a,this._sceneHelper.initLight(this._lightRoot),this.groupGL.add(this._earthMesh),this._control=new m.a({zr:r.getZr()}),this._control.init(),this._layerMeshes={}},render:function(p,r,n){var o=p.coordinateSystem,i=p.get("shading");o.viewGL.add(this._lightRoot),p.get("show")?o.viewGL.add(this.groupGL):o.viewGL.remove(this.groupGL),this._sceneHelper.setScene(o.viewGL.scene),o.viewGL.setPostEffect(p.getModel("postEffect"),n),o.viewGL.setTemporalSuperSampling(p.getModel("temporalSuperSampling"));var s=this._earthMesh;s.geometry=this._sphereGeometry;var l="ecgl."+i;(!s.material||s.material.shader.name!==l)&&(s.material=v.a.createMaterial(l)),v.a.setMaterialFromModel(i,s.material,p,n),["roughnessMap","metalnessMap","detailMap","normalMap"].forEach(function(a){var f=s.material.get(a);f&&(f.flipY=!1)}),s.material.set("color",v.a.parseColor(p.get("baseColor")));var d=o.radius*.99;s.scale.set(d,d,d);var e=s.material.setTextureImage("diffuseMap",p.get("baseTexture"),n,{flipY:!1,anisotropic:8});e&&e.surface&&e.surface.attachToMesh(s);var t=s.material.setTextureImage("bumpMap",p.get("heightTexture"),n,{flipY:!1,anisotropic:8});t&&t.surface&&t.surface.attachToMesh(s),s.material[p.get("postEffect.enable")?"define":"undefine"]("fragment","SRGB_DECODE"),this._updateLight(p,n),this._displaceVertices(p,n),this._updateViewControl(p,n),this._updateLayers(p,n)},afterRender:function(p,r,n,o){var i=o.renderer;this._sceneHelper.updateAmbientCubemap(i,p,n),this._sceneHelper.updateSkybox(i,p,n)},_updateLayers:function(p,r){var n=p.coordinateSystem,o=p.get("layers"),i=n.radius,s=[],l=[],d=[],e=[];h.a.util.each(o,function(x){var _=new h.a.Model(x),D=_.get("type"),M=v.a.loadTexture(_.get("texture"),r,{flipY:!1,anisotropic:8});if(M.surface&&M.surface.attachToMesh(this._earthMesh),D==="blend"){var w=_.get("blendTo"),b=u.a.firstNotNull(_.get("intensity"),1);w==="emission"?(d.push(M),e.push(b)):(s.push(M),l.push(b))}else{var N=_.get("id"),K=this._layerMeshes[N];K||(K=this._layerMeshes[N]=new v.a.Mesh({geometry:this._overlayGeometry,castShadow:!1,ignorePicking:!0}));var S=_.get("shading");S==="lambert"?(K.material=K.__lambertMaterial||new v.a.Material({autoUpdateTextureStatus:!1,shader:v.a.createShader("ecgl.lambert"),transparent:!0,depthMask:!1}),K.__lambertMaterial=K.material):(K.material=K.__colorMaterial||new v.a.Material({autoUpdateTextureStatus:!1,shader:v.a.createShader("ecgl.color"),transparent:!0,depthMask:!1}),K.__colorMaterial=K.material),K.material.enableTexture("diffuseMap");var B=_.get("distance"),O=i+(B==null?n.radius/100:B);K.scale.set(O,O,O),i=O;var U=this._blankTexture||(this._blankTexture=v.a.createBlankTexture("rgba(255, 255, 255, 0)"));K.material.set("diffuseMap",U),v.a.loadTexture(_.get("texture"),r,{flipY:!1,anisotropic:8},function(F){F.surface&&F.surface.attachToMesh(K),K.material.set("diffuseMap",F),r.getZr().refresh()}),_.get("show")?this.groupGL.add(K):this.groupGL.remove(K)}},this);var t=this._earthMesh.material;t.define("fragment","LAYER_DIFFUSEMAP_COUNT",s.length),t.define("fragment","LAYER_EMISSIVEMAP_COUNT",d.length),t.set("layerDiffuseMap",s),t.set("layerDiffuseIntensity",l),t.set("layerEmissiveMap",d),t.set("layerEmissionIntensity",e);var a=p.getModel("debug.wireframe");if(a.get("show")){t.define("both","WIREFRAME_TRIANGLE");var f=v.a.parseColor(a.get("lineStyle.color")||"rgba(0,0,0,0.5)"),g=u.a.firstNotNull(a.get("lineStyle.width"),1);t.set("wireframeLineWidth",g),t.set("wireframeLineColor",f)}else t.undefine("both","WIREFRAME_TRIANGLE")},_updateViewControl:function(p,r){var n=p.coordinateSystem,o=p.getModel("viewControl"),i=n.viewGL.camera,s=this;function l(){return{type:"globeChangeCamera",alpha:d.getAlpha(),beta:d.getBeta(),distance:d.getDistance()-n.radius,center:d.getCenter(),from:s.uid,globeId:p.id}}var d=this._control;d.setViewGL(n.viewGL);var e=o.get("targetCoord"),t,a;e!=null&&(a=e[0]+90,t=e[1]),d.setFromViewControlModel(o,{baseDistance:n.radius,alpha:t,beta:a}),d.off("update"),d.on("update",function(){r.dispatchAction(l())})},_displaceVertices:function(p,r){var n=p.get("displacementQuality"),o=p.get("debug.wireframe.show"),i=p.coordinateSystem;if(!(!p.isDisplacementChanged()&&n===this._displacementQuality&&o===this._showDebugWireframe)){this._displacementQuality=n,this._showDebugWireframe=o;var s=this._sphereGeometry,l={low:100,medium:200,high:400,ultra:800}[n]||200,d=l/2;(s.widthSegments!==l||o)&&(s.widthSegments=l,s.heightSegments=d,s.build()),this._doDisplaceVertices(s,i),o&&s.generateBarycentric()}},_doDisplaceVertices:function(p,r){var n=p.attributes.position.value,o=p.attributes.texcoord0.value,i=p.__originalPosition;(!i||i.length!==n.length)&&(i=new Float32Array(n.length),i.set(n),p.__originalPosition=i);for(var s=r.displacementWidth,l=r.displacementHeight,d=r.displacementData,e=0;e0&&r>0||p<0&&r<0)}function u(c,p){var r=c.getData(),n=c.get("barSize");if(n==null){var o=p.size,i,s,l=p.getAxis("x"),d=p.getAxis("y");l.type==="category"?i=l.getBandWidth()*.7:i=Math.round(o[0]/Math.sqrt(r.count()))*.6,d.type==="category"?s=d.getBandWidth()*.7:s=Math.round(o[1]/Math.sqrt(r.count()))*.6,n=[i,s]}else h.a.util.isArray(n)||(n=[n,n]);var e=p.getAxis("z").scale.getExtent(),t=y(e),a=["x","y","z"].map(function(f){return c.coordDimToDataDim(f)[0]});r.each(a,function(f,g,x,_){var D=r.get(a[2],_,!0),M=r.stackedOn?D-x:t?0:e[0],w=p.dataToPoint([f,g,M]),b=p.dataToPoint([f,g,D]),N=A.dist(w,b),K=[0,b[1]0&&(N++,x[3]<.99&&(M=!0))}}),t.geometry.setBarCount(N);var w=s.getLayout("orient"),b=this._barIndexOfData=new Int32Array(s.count()),N=0;s.each(function(S){if(!s.hasValue(S)){b[S]=-1;return}var B=s.getItemLayout(S),O=B[0],U=B[1],F=B[2],H=S*4;x[0]=_[H++],x[1]=_[H++],x[2]=_[H++],x[3]=_[H++],x[3]>0&&(e._barMesh.geometry.addBar(O,U,w,F,x,S),b[S]=N++)}),t.geometry.dirty(),t.geometry.updateBoundingBox();var K=t.material;K.transparent=M,K.depthMask=!M,t.geometry.sortTriangles=M,this._initHandler(o,i)},_initHandler:function(o,i){var s=o.getData(),l=this._barMesh,d=o.coordinateSystem.type==="cartesian3D";l.seriesIndex=o.seriesIndex;var e=-1;l.off("mousemove"),l.off("mouseout"),l.on("mousemove",function(t){var a=l.geometry.getDataIndexOfVertex(t.triangle[0]);a!==e&&(this._downplay(e),this._highlight(a),this._labelsBuilder.updateLabels([a]),d&&i.dispatchAction({type:"grid3DShowAxisPointer",value:[s.get("x",a),s.get("y",a),s.get("z",a,!0)]})),e=a,l.dataIndex=a},this),l.on("mouseout",function(t){this._downplay(e),this._labelsBuilder.updateLabels(),e=-1,l.dataIndex=-1,d&&i.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_highlight:function(o){var i=this._data;if(i){var s=this._barIndexOfData[o];if(!(s<0)){var l=i.getItemModel(o),d=l.getModel("emphasis.itemStyle"),e=d.get("color"),t=d.get("opacity");if(e==null){var a=i.getItemVisual(o,"color");e=h.a.color.lift(a,-.4)}t==null&&(t=i.getItemVisual(o,"opacity"));var f=v.a.parseColor(e);f[3]*=t,this._barMesh.geometry.setColor(s,f),this._api.getZr().refresh()}}},_downplay:function(o){var i=this._data;if(i){var s=this._barIndexOfData[o];if(!(s<0)){var l=i.getItemVisual(o,"color"),d=i.getItemVisual(o,"opacity"),e=v.a.parseColor(l);e[3]*=d,this._barMesh.geometry.setColor(s,e),this._api.getZr().refresh()}}},highlight:function(o,i,s,l){this._toggleStatus("highlight",o,i,s,l)},downplay:function(o,i,s,l){this._toggleStatus("downplay",o,i,s,l)},_toggleStatus:function(o,i,s,l,d){var e=i.getData(),t=m.a.queryDataIndex(e,d),a=this;t!=null?h.a.util.each(A.a.normalizeToArray(t),function(f){o==="highlight"?this._highlight(f):this._downplay(f)},this):e.each(function(f){o==="highlight"?a._highlight(f):a._downplay(f)})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(33),m=E(60),A=E(13),y=E(1),u=E.n(y),c=u.a.vec3,p=u.a.mat3,r=A.a.extend(function(){return{attributes:{position:new A.a.Attribute("position","float",3,"POSITION"),normal:new A.a.Attribute("normal","float",3,"NORMAL"),color:new A.a.Attribute("color","float",4,"COLOR"),prevPosition:new A.a.Attribute("prevPosition","float",3),prevNormal:new A.a.Attribute("prevNormal","float",3)},dynamic:!0,enableNormal:!1,bevelSize:1,bevelSegments:0,_dataIndices:null,_vertexOffset:0,_triangleOffset:0}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0},setBarCount:function(n){var o=this.enableNormal,i=this.getBarVertexCount()*n,s=this.getBarTriangleCount()*n;this.vertexCount!==i&&(this.attributes.position.init(i),o?this.attributes.normal.init(i):this.attributes.normal.value=null,this.attributes.color.init(i)),this.triangleCount!==s&&(this.indices=i>65535?new Uint32Array(s*3):new Uint16Array(s*3),this._dataIndices=new Uint32Array(i))},getBarVertexCount:function(){var n=this.bevelSize>0?this.bevelSegments:0;return n>0?this._getBevelBarVertexCount(n):this.enableNormal?24:8},getBarTriangleCount:function(){var n=this.bevelSize>0?this.bevelSegments:0;return n>0?this._getBevelBarTriangleCount(n):12},_getBevelBarVertexCount:function(n){return(n+1)*4*(n+1)*2},_getBevelBarTriangleCount:function(n){var o=n*4+3,i=n*2+1;return(o+1)*i*2+4},setColor:function(n,o){for(var i=this.getBarVertexCount(),s=i*n,l=i*(n+1),d=s;d0&&this.bevelSegments>0)this._addBevelBar(S,B,O,U,this.bevelSize,this.bevelSegments,F);else{c.copy(l,B),c.normalize(l,l),c.cross(d,O,l),c.normalize(d,d),c.cross(s,l,d),c.normalize(d,d),c.negate(e,s),c.negate(t,l),c.negate(a,d),o(f[0],S,s,U[0]/2),o(f[0],f[0],d,U[2]/2),o(f[1],S,s,U[0]/2),o(f[1],f[1],a,U[2]/2),o(f[2],S,e,U[0]/2),o(f[2],f[2],a,U[2]/2),o(f[3],S,e,U[0]/2),o(f[3],f[3],d,U[2]/2),o(i,S,l,U[1]),o(f[4],i,s,U[0]/2),o(f[4],f[4],d,U[2]/2),o(f[5],i,s,U[0]/2),o(f[5],f[5],a,U[2]/2),o(f[6],i,e,U[0]/2),o(f[6],f[6],a,U[2]/2),o(f[7],i,e,U[0]/2),o(f[7],f[7],d,U[2]/2);var ne=this.attributes;if(this.enableNormal){g[0]=s,g[1]=e,g[2]=l,g[3]=t,g[4]=d,g[5]=a;for(var ae=this._vertexOffset,me=0;me<_.length;me++){for(var Ce=this._triangleOffset*3,ge=0;ge<6;ge++)this.indices[Ce++]=ae+D[ge];ae+=4,this._triangleOffset+=2}for(var me=0;me<_.length;me++)for(var pe=g[me],ge=0;ge<4;ge++){var we=_[me][ge];ne.position.set(this._vertexOffset,f[we]),ne.normal.set(this._vertexOffset,pe),ne.color.set(this._vertexOffset++,F)}}else{for(var me=0;me=0){var Y=D*3,ne=new u.a(this._points[Y],this._points[Y+1],this._points[Y+2]);f.push({dataIndex:D,point:ne,pointWorld:ne.clone(),target:this._line3DMesh,distance:this._camera.getWorldPosition().dist(ne)})}},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(J,W){function E(R,h,v,m,A,y,u){if(A===0)return!1;var c=A,p=0,r=R;if(u>h+c&&u>m+c||uR+c&&y>v+c||yi?s.position[1]+=(l-i)/2:s.position[0]+=(l-o)/2;var d=s.getBoundingRect();return s.position[0]-=d.x,s.position[1]-=d.y,s.setStyle(p),s.update(),s.__size=l,s}function A(u,c,p){var r=c.width,n=c.height,o=u.canvas.width,i=u.canvas.height,s=r/o,l=n/i;function d(D){return D<128?1:-1}function e(D,M){var w=1/0;D=Math.floor(D*s),M=Math.floor(M*l);for(var b=M*r+D,N=c.data[b*4],K=d(N),S=Math.max(M-p,0);S=0;f--){var g;this.geometry.indices?g=this.geometry.indices[f]:g=f;var x=d[g*2],_=d[g*2+1],D=this.geometry.attributes.size.get(g)/this.sizeScale,M=D/2;if(r>x-M*t&&r_-M*a&&n<_+M*a){var w=new R.a.Vector3,b=new R.a.Vector3;this.geometry.attributes.position.get(g,w.array),R.a.Vector3.transformMat4(b,w,this.worldTransform),l.push({vertexIndex:g,point:w,pointWorld:b,target:this,distance:b.distance(i.getWorldPosition())})}}},updateNDCPosition:function(r,n,o){var i=this._positionNDC,s=this.geometry;(!i||i.length/2!==s.vertexCount)&&(i=this._positionNDC=new Float32Array(s.vertexCount*2));for(var l=c.create(),d=0;d=2e4},doSortVertices:function(A,y){var u=this.indices,c=m.create();if(!u){u=this.indices=this.vertexCount>65535?new Uint32Array(this.vertexCount):new Uint16Array(this.vertexCount);for(var p=0;p.05);else for(var p=0;p<3;p++)this._progressiveQuickSort(y*3+p);this.dirtyIndices()},_simpleSort:function(A){var y=this._zList,u=this.indices;function c(p,r){return y[r]-y[p]}A?Array.prototype.sort.call(u,c):R.a.sort(u,c,0,u.length-1)},_progressiveQuickSort:function(A){var y=this._zList,u=this.indices;this._quickSort=this._quickSort||new R.a,this._quickSort.step(u,function(c,p){return y[p]-y[c]},A)}}},function(J,W,E){"use strict";W.a=`@export ecgl.sdfSprite.vertex uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; uniform float elapsedTime : 0; attribute vec3 position : POSITION; #ifdef VERTEX_SIZE attribute float size; #else uniform float u_Size; #endif #ifdef VERTEX_COLOR attribute vec4 a_FillColor: COLOR; varying vec4 v_Color; #endif #ifdef VERTEX_ANIMATION attribute vec3 prevPosition; attribute float prevSize; uniform float percent : 1.0; #endif #ifdef POSITIONTEXTURE_ENABLED uniform sampler2D positionTexture; #endif varying float v_Size; void main() { #ifdef POSITIONTEXTURE_ENABLED gl_Position = worldViewProjection * vec4(texture2D(positionTexture, position.xy).xy, -10.0, 1.0); #else #ifdef VERTEX_ANIMATION vec3 pos = mix(prevPosition, position, percent); #else vec3 pos = position; #endif gl_Position = worldViewProjection * vec4(pos, 1.0); #endif #ifdef VERTEX_SIZE #ifdef VERTEX_ANIMATION v_Size = mix(prevSize, size, percent); #else v_Size = size; #endif #else v_Size = u_Size; #endif #ifdef VERTEX_COLOR v_Color = a_FillColor; #endif gl_PointSize = v_Size; } @end @export ecgl.sdfSprite.fragment uniform vec4 color: [1, 1, 1, 1]; uniform vec4 strokeColor: [1, 1, 1, 1]; uniform float smoothing: 0.07; uniform float lineWidth: 0.0; #ifdef VERTEX_COLOR varying vec4 v_Color; #endif varying float v_Size; uniform sampler2D sprite; @import clay.util.srgb void main() { gl_FragColor = color; vec4 _strokeColor = strokeColor; #ifdef VERTEX_COLOR gl_FragColor *= v_Color; #endif #ifdef SPRITE_ENABLED float d = texture2D(sprite, gl_PointCoord).r; gl_FragColor.a *= smoothstep(0.5 - smoothing, 0.5 + smoothing, d); if (lineWidth > 0.0) { float sLineWidth = lineWidth / 2.0; float outlineMaxValue0 = 0.5 + sLineWidth; float outlineMaxValue1 = 0.5 + sLineWidth + smoothing; float outlineMinValue0 = 0.5 - sLineWidth - smoothing; float outlineMinValue1 = 0.5 - sLineWidth; if (d <= outlineMaxValue1 && d >= outlineMinValue0) { float a = _strokeColor.a; if (d <= outlineMinValue1) { a = a * smoothstep(outlineMinValue0, outlineMinValue1, d); } else { a = a * smoothstep(outlineMaxValue1, outlineMaxValue0, d); } gl_FragColor.rgb = mix(gl_FragColor.rgb * gl_FragColor.a, _strokeColor.rgb, a); gl_FragColor.a = gl_FragColor.a * (1.0 - a) + a; } } #endif #ifdef SRGB_DECODE gl_FragColor = sRGBToLinear(gl_FragColor); #endif } @end`},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(221),m=E(222),A=E(225),y=E(16);h.a.registerVisual(Object(y.a)("lines3D")),h.a.registerAction({type:"lines3DPauseEffect",event:"lines3deffectpaused",update:"series.lines3D:pauseEffect"},function(){}),h.a.registerAction({type:"lines3DResumeEffect",event:"lines3deffectresumed",update:"series.lines3D:resumeEffect"},function(){}),h.a.registerAction({type:"lines3DToggleEffect",event:"lines3deffectchanged",update:"series.lines3D:toggleEffect"},function(){})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(1),m=E.n(v),A=m.a.vec3,y=m.a.vec2,u=A.normalize,c=A.cross,p=A.sub,r=A.add,n=A.create,o=n(),i=n(),s=n(),l=n(),d=[],e=[];function t(D,M){y.copy(d,D[0]),y.copy(e,D[1]);var w=[],b=w[0]=n(),N=w[1]=n(),K=w[2]=n(),S=w[3]=n();M.dataToPoint(d,b),M.dataToPoint(e,S),u(o,b),p(i,S,b),u(i,i),c(s,i,o),u(s,s),c(i,o,s),r(N,o,i),u(N,N),u(o,S),p(i,b,S),u(i,i),c(s,i,o),u(s,s),c(i,o,s),r(K,o,i),u(K,K),r(l,b,S),u(l,l);var B=A.dot(b,l),O=A.dot(l,N),U=(Math.max(A.len(b),A.len(S))-B)/O*2;return A.scaleAndAdd(N,b,N,U),A.scaleAndAdd(K,S,K,U),w}function a(D,M,w){var b=[],N=b[0]=A.create(),K=b[1]=A.create(),S=b[2]=A.create(),B=b[3]=A.create();M.dataToPoint(D[0],N),M.dataToPoint(D[1],B);var O=A.dist(N,B);return A.lerp(K,N,B,.3),A.lerp(S,N,B,.3),A.scaleAndAdd(K,K,w,Math.min(O*.1,10)),A.scaleAndAdd(S,S,w,Math.min(O*.1,10)),b}function f(D,M){for(var w=new Float32Array(D.length*3),b=0,N=[],K=0;K0&&N[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(N)+". Lines must have 2d coords array in data item.");M.push(N)}),{coordsList:M}}function x(D,M){var w=D.getData(),b=D.get("polyline");w.setLayout("lineType",b?"polyline":"cubicBezier");var N=g(w);w.each(function(K){var S=N.coordsList[K],B=b?f:t;w.setItemLayout(K,B(S,M))})}function _(D,M,w){var b=D.getData(),N=D.get("polyline"),K=g(b);b.setLayout("lineType",N?"polyline":"cubicBezier"),b.each(function(S){var B=K.coordsList[S],O=N?f(B,M):a(B,M,w);b.setItemLayout(S,O)})}h.a.registerLayout(function(D,M){D.eachSeriesByType("lines3D",function(w){var b=w.coordinateSystem;b.type==="globe"?x(w,b):b.type==="geo3D"?_(w,b,[0,1,0]):b.type==="mapbox3D"&&_(w,b,[0,0,1])})})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(2),m=E(22),A=E(223),y=E(40);v.a.Shader.import(y.a);function u(p){return p.radius!=null?p.radius:p.size!=null?Math.max(p.size[0],p.size[1],p.size[2]):100}var c=h.a.extendChartView({type:"lines3D",__ecgl__:!0,init:function(p,r){this.groupGL=new v.a.Node,this._meshLinesMaterial=new v.a.Material({shader:v.a.createShader("ecgl.meshLines3D"),transparent:!0,depthMask:!1}),this._linesMesh=new v.a.Mesh({geometry:new m.a,material:this._meshLinesMaterial,$ignorePicking:!0}),this._trailMesh=new A.a},render:function(p,r,n){this.groupGL.add(this._linesMesh);var o=p.coordinateSystem,i=p.getData();if(o&&o.viewGL){var s=o.viewGL;s.add(this.groupGL),this._updateLines(p,r,n);var l=o.viewGL.isLinearSpace()?"define":"undefine";this._linesMesh.material[l]("fragment","SRGB_DECODE"),this._trailMesh.material[l]("fragment","SRGB_DECODE")}var d=this._trailMesh;if(d.stopAnimation(),p.get("effect.show")){this.groupGL.add(d),d.updateData(i,n,this._linesMesh.geometry),d.__time=d.__time||0;var e=3600*1e3;this._curveEffectsAnimator=d.animate("",{loop:!0}).when(e,{__time:e}).during(function(){d.setAnimationTime(d.__time)}).start()}else this.groupGL.remove(d),this._curveEffectsAnimator=null;this._linesMesh.material.blend=this._trailMesh.material.blend=p.get("blendMode")==="lighter"?v.a.additiveBlend:null},pauseEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.pause()},resumeEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.resume()},toggleEffect:function(){var p=this._curveEffectsAnimator;p&&(p.isPaused()?p.resume():p.pause())},_updateLines:function(p,r,n){var o=p.getData(),i=p.coordinateSystem,s=this._linesMesh.geometry,l=p.get("polyline");s.expandLine=!0;var d=u(i);s.segmentScale=d/20;var e="lineStyle.width".split("."),t=n.getDevicePixelRatio(),a=0;o.each(function(_){var D=o.getItemModel(_),M=D.get(e);M==null&&(M=1),o.setItemVisual(_,"lineWidth",M),a=Math.max(M,a)}),s.useNativeLine=!1;var f=0,g=0;o.each(function(_){var D=o.getItemLayout(_);l?(f+=s.getPolylineVertexCount(D),g+=s.getPolylineTriangleCount(D)):(f+=s.getCubicCurveVertexCount(D[0],D[1],D[2],D[3]),g+=s.getCubicCurveTriangleCount(D[0],D[1],D[2],D[3]))}),s.setVertexCount(f),s.setTriangleCount(g),s.resetOffset();var x=[];o.each(function(_){var D=o.getItemLayout(_),M=o.getItemVisual(_,"color"),w=o.getItemVisual(_,"opacity"),b=o.getItemVisual(_,"lineWidth")*t;w==null&&(w=1),x=v.a.parseColor(M,x),x[3]*=w,l?s.addPolyline(D,x,b):s.addCubicCurve(D[0],D[1],D[2],D[3],x,b)}),s.dirty()},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(2),m=E(1),A=E.n(m),y=E(22),u=E(224),c=A.a.vec3;function p(r){return r>0?1:-1}v.a.Shader.import(u.a),W.a=v.a.Mesh.extend(function(){var r=new v.a.Material({shader:new v.a.Shader(v.a.Shader.source("ecgl.trail2.vertex"),v.a.Shader.source("ecgl.trail2.fragment")),transparent:!0,depthMask:!1}),n=new y.a({dynamic:!0});return n.createAttribute("dist","float",1),n.createAttribute("distAll","float",1),n.createAttribute("start","float",1),{geometry:n,material:r,culling:!1,$ignorePicking:!0}},{updateData:function(r,n,o){var i=r.hostModel,s=this.geometry,l=i.getModel("effect"),d=l.get("trailWidth")*n.getDevicePixelRatio(),e=l.get("trailLength"),t=i.get("effect.constantSpeed"),a=i.get("effect.period")*1e3,f=t!=null;this.getScene()||console.error("TrailMesh must been add to scene before updateData"),f?this.material.set("speed",t/1e3):this.material.set("period",a),this.material[f?"define":"undefine"]("vertex","CONSTANT_SPEED");var g=i.get("polyline");s.trailLength=e,this.material.set("trailLength",e),s.resetOffset(),["position","positionPrev","positionNext"].forEach(function(U){s.attributes[U].value=o.attributes[U].value});var x=["dist","distAll","start","offset","color"];x.forEach(function(U){s.attributes[U].init(s.vertexCount)}),s.indices=o.indices;var _=[],D=l.get("trailColor"),M=l.get("trailOpacity"),w=D!=null,b=M!=null;this.updateWorldTransform();var N=this.worldTransform.x.len(),K=this.worldTransform.y.len(),S=this.worldTransform.z.len(),B=0,O=0;r.each(function(U){var F=r.getItemLayout(U),H=b?M:r.getItemVisual(U,"opacity"),Y=r.getItemVisual(U,"color");H==null&&(H=1),_=v.a.parseColor(w?D:Y,_),_[3]*=H;for(var ne=g?o.getPolylineVertexCount(F):o.getCubicCurveVertexCount(F[0],F[1],F[2],F[3]),ae=0,me=[],Ce=[],ge=B;geB&&(ae+=c.dist(me,Ce)),s.attributes.dist.set(ge,ae),c.copy(Ce,me);O=Math.max(O,ae);for(var pe=Math.random()*(f?ae:a),ge=B;ge 1.0 || v_Percent < 0.0) { discard; } float fade = v_Percent; #ifdef SRGB_DECODE gl_FragColor = sRGBToLinear(color * v_Color); #else gl_FragColor = color * v_Color; #endif @import ecgl.common.wireframe.fragmentMain if (v_Percent > (1.0 - v_SpotPercent)) { gl_FragColor.rgb *= spotIntensity; } gl_FragColor.a *= fade; } @end`},function(J,W,E){"use strict";var R=E(0),h=E.n(R);h.a.extendSeriesModel({type:"series.lines3D",dependencies:["globe"],visualColorAccessPath:"lineStyle.color",getInitialData:function(v,m){var A=new h.a.List(["value"],this);return A.hasItemOption=!1,A.initData(v.data,[],function(y,u,c,p){if(y instanceof Array)return NaN;A.hasItemOption=!0;var r=y.value;if(r!=null)return r instanceof Array?r[p]:r}),A},defaultOption:{coordinateSystem:"globe",globeIndex:0,geo3DIndex:0,zlevel:-10,polyline:!1,effect:{show:!1,period:4,trailWidth:4,trailLength:.2,spotIntensity:6},silent:!0,blendMode:"source-over",lineStyle:{width:1,opacity:.5}}})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(227),m=E(228),A=E(16);h.a.registerVisual(Object(A.a)("polygons3D"))},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(26);function m(u,c){for(var p=[],r=0;r0;this._updateSurfaceMesh(this._surfaceMesh,r,f,_);var D=this._surfaceMesh.material;_?(D.define("WIREFRAME_QUAD"),D.set("wireframeLineWidth",x),D.set("wireframeLineColor",v.a.parseColor(g.get("lineStyle.color")))):D.undefine("WIREFRAME_QUAD"),this._initHandler(r,o),this._updateAnimation(r)},_updateAnimation:function(r){v.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevSurfaceMesh,this._surfaceMesh,r)},_createSurfaceMesh:function(){var r=new v.a.Mesh({geometry:new v.a.Geometry({dynamic:!0,sortTriangles:!0}),shadowDepthMaterial:new v.a.Material({shader:new v.a.Shader(v.a.Shader.source("ecgl.sm.depth.vertex"),v.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:!1,renderOrder:10,renderNormal:!0});return r.geometry.createAttribute("barycentric","float",4),r.geometry.createAttribute("prevPosition","float",3),r.geometry.createAttribute("prevNormal","float",3),h.a.util.extend(r.geometry,u.a),r},_initHandler:function(r,n){var o=r.getData(),i=this._surfaceMesh,s=r.coordinateSystem;function l(e,t){for(var a=1/0,f=-1,g=[],x=0;x=0){var a=[];i.geometry.attributes.position.get(t,a);for(var f=s.pointToData(a),g=1/0,x=-1,_=[],D=0;D65535?Uint32Array:Uint16Array)((D-1)*(M-1)*6),O=function(he,Pe,We){We[1]=he*M+Pe,We[0]=he*M+Pe+1,We[3]=(he+1)*M+Pe+1,We[2]=(he+1)*M+Pe},U=!1;if(t){var F=[],H=[],Y=0;b?f.init(s.vertexCount):f.value=null;for(var ne=[[],[],[]],ae=[],me=[],Ce=c.create(),ge=function(he,Pe,We){var ht=Pe*3;return We[0]=he[ht],We[1]=he[ht+1],We[2]=he[ht+2],We},pe=new Float32Array(d.length),we=new Float32Array(d.length/3*4),De=0;De ")),n.value&&(l+=" : "+h.a.format.encodeHTML(n.value)),l}else return A.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var u=(this.option.categories||[]).map(function(p){return p.value!=null?p:h.a.util.extend({value:0},p)}),c=new h.a.List(["value"],this);c.initData(u),this._categoriesData=c,this._categoriesModels=c.mapArray(function(p){return c.getItemModel(p,!0)})},setView:function(u){u.zoom!=null&&(this.option.zoom=u.zoom),u.offset!=null&&(this.option.offset=u.offset)},setNodePosition:function(u){for(var c=0;c "+f)),e++)}var g,x=h.a.helper.completeDimensions(["value"],c);g=new h.a.List(x,r),g.initData(c);var _=new h.a.List(["value"],r);return _.initData(d,l),o&&o(g,_),y()({mainData:g,struct:i,structAttr:"graph",datas:{node:g,edge:_},datasAttr:{node:"data",edge:"edgeData"}}),i.update(),i}},function(J,W,E){var R=E(85),h=R.__DEV__,v=E(12),m=E(244),A=m.enableClassCheck;function y(i){return"_EC_"+i}var u=function(i){this._directed=i||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},c=u.prototype;c.type="graph",c.isDirected=function(){return this._directed},c.addNode=function(i,s){i=i||""+s;var l=this._nodesMap;if(!l[y(i)]){var d=new p(i,s);return d.hostGraph=this,this.nodes.push(d),l[y(i)]=d,d}},c.getNodeByIndex=function(i){var s=this.data.getRawIndex(i);return this.nodes[s]},c.getNodeById=function(i){return this._nodesMap[y(i)]},c.addEdge=function(i,s,l){var d=this._nodesMap,e=this._edgesMap;if(typeof i=="number"&&(i=this.nodes[i]),typeof s=="number"&&(s=this.nodes[s]),p.isInstance(i)||(i=d[y(i)]),p.isInstance(s)||(s=d[y(s)]),!(!i||!s)){var t=i.id+"-"+s.id;if(!e[t]){var a=new r(i,s,l);return a.hostGraph=this,this._directed&&(i.outEdges.push(a),s.inEdges.push(a)),i.edges.push(a),i!==s&&s.edges.push(a),this.edges.push(a),e[t]=a,a}}},c.getEdgeByIndex=function(i){var s=this.edgeData.getRawIndex(i);return this.edges[s]},c.getEdge=function(i,s){p.isInstance(i)&&(i=i.id),p.isInstance(s)&&(s=s.id);var l=this._edgesMap;return this._directed?l[i+"-"+s]:l[i+"-"+s]||l[s+"-"+i]},c.eachNode=function(i,s){for(var l=this.nodes,d=l.length,e=0;e=0&&i.call(s,l[e],e)},c.eachEdge=function(i,s){for(var l=this.edges,d=l.length,e=0;e=0&&l[e].node1.dataIndex>=0&&l[e].node2.dataIndex>=0&&i.call(s,l[e],e)},c.breadthFirstTraverse=function(i,s,l,d){if(p.isInstance(s)||(s=this._nodesMap[y(s)]),!!s){for(var e=l==="out"?"outEdges":l==="in"?"inEdges":"edges",t=0;t=0&&f.node2.dataIndex>=0});for(var e=0,t=d.length;e=0&&this[i][s].setItemVisual(this.dataIndex,l,d)},getVisual:function(l,d){return this[i][s].getItemVisual(this.dataIndex,l,d)},setLayout:function(l,d){this.dataIndex>=0&&this[i][s].setItemLayout(this.dataIndex,l,d)},getLayout:function(){return this[i][s].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[i][s].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[i][s].getRawIndex(this.dataIndex)}}};v.mixin(p,n("hostGraph","data")),v.mixin(r,n("hostGraph","edgeData")),u.Node=p,u.Edge=r,A(p),A(r);var o=u;J.exports=o},function(J,W){var E;E=function(){return this}();try{E=E||Function("return this")()||(0,eval)("this")}catch(R){typeof window=="object"&&(E=window)}J.exports=E},function(J,W,E){var R=E(85),h=R.__DEV__,v=E(12),m=".",A="___EC__COMPONENT__CONTAINER___";function y(l){var d={main:"",sub:""};return l&&(l=l.split(m),d.main=l[0]||"",d.sub=l[1]||""),d}function u(l){v.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(l),'componentType "'+l+'" illegal')}function c(l,d){l.$constructor=l,l.extend=function(e){var t=this,a=function(){e.$constructor?e.$constructor.apply(this,arguments):t.apply(this,arguments)};return v.extend(a.prototype,e),a.extend=this.extend,a.superCall=n,a.superApply=o,v.inherits(a,this),a.superClass=t,a}}var p=0;function r(l){var d=["__\0is_clz",p++,Math.random().toFixed(3)].join("_");l.prototype[d]=!0,l.isInstance=function(e){return!!(e&&e[d])}}function n(l,d){var e=v.slice(arguments,2);return this.superClass.prototype[d].apply(l,e)}function o(l,d,e){return this.superClass.prototype[d].apply(l,e)}function i(l,d){d=d||{};var e={};l.registerClass=function(f,g){if(g){if(u(g),g=y(g),!g.sub)e[g.main]=f;else if(g.sub!==A){var x=t(g);x[g.sub]=f}}return f},l.getClass=function(f,g,x){var _=e[f];if(_&&_[A]&&(_=g?_[g]:null),x&&!_)throw new Error(g?"Component "+f+"."+(g||"")+" not exists. Load it first.":f+".type should be specified.");return _},l.getClassesByMainType=function(f){f=y(f);var g=[],x=e[f.main];return x&&x[A]?v.each(x,function(_,D){D!==A&&g.push(_)}):g.push(x),g},l.hasClass=function(f){return f=y(f),!!e[f.main]},l.getAllClassMainTypes=function(){var f=[];return v.each(e,function(g,x){f.push(x)}),f},l.hasSubTypes=function(f){f=y(f);var g=e[f.main];return g&&g[A]},l.parseClassType=y;function t(f){var g=e[f.main];return(!g||!g[A])&&(g=e[f.main]={},g[A]=!0),g}if(d.registerWhenExtend){var a=l.extend;a&&(l.extend=function(f){var g=a.call(this,f);return l.registerClass(g,f.type)})}return l}function s(l,d){}W.parseClassType=y,W.enableClassExtend=c,W.enableClassCheck=r,W.enableClassManagement=i,W.setReadOnly=s},function(J,W,E){var R=E(12),h=R.each,v="\0__link_datas",m="\0__link_mainData";function A(s){var l=s.mainData,d=s.datas;d||(d={main:l},s.datasAttr={main:"data"}),s.datas=s.mainData=null,n(l,d,s),h(d,function(e){h(l.TRANSFERABLE_METHODS,function(t){e.wrapMethod(t,R.curry(y,s))})}),l.wrapMethod("cloneShallow",R.curry(c,s)),h(l.CHANGABLE_METHODS,function(e){l.wrapMethod(e,R.curry(u,s))}),R.assert(d[l.dataType]===l)}function y(s,l){if(r(this)){var d=R.extend({},this[v]);d[this.dataType]=l,n(l,d,s)}else o(l,this.dataType,this[m],s);return l}function u(s,l){return s.struct&&s.struct.update(this),l}function c(s,l){return h(l[v],function(d,e){d!==l&&o(d.cloneShallow(),e,l,s)}),l}function p(s){var l=this[m];return s==null||l==null?l:l[v][s]}function r(s){return s[m]===s}function n(s,l,d){s[v]={},h(l,function(e,t){o(e,t,s,d)})}function o(s,l,d,e){d[v][l]=s,s[m]=d,s.dataType=l,e.struct&&(s[e.structAttr]=e.struct,e.struct[e.datasAttr[l]]=s),s.getLinkedData=p}var i=A;J.exports=i},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(41),m=E.n(v),A=E(2),y=E(20),u=E(86),c=E(3),p=E(247),r=E(249),n=E(65),o=E.n(n),i=E(1),s=E.n(i),l=E(251),d=E(62),e=E(252),t=s.a.vec2;A.a.Shader.import(e.a);var a=1;h.a.extendChartView({type:"graphGL",__ecgl__:!0,init:function(f,g){this.groupGL=new A.a.Node,this.viewGL=new y.a("orthographic"),this.viewGL.camera.left=this.viewGL.camera.right=0,this.viewGL.add(this.groupGL),this._pointsBuilder=new d.a(!0,g),this._forceEdgesMesh=new A.a.Mesh({material:new A.a.Material({shader:A.a.createShader("ecgl.forceAtlas2.edges"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new A.a.Geometry({attributes:{node:new A.a.Geometry.Attribute("node","float",2),color:new A.a.Geometry.Attribute("color","float",4,"COLOR")},dynamic:!0,mainAttribute:"node"}),renderOrder:-1,mode:A.a.Mesh.LINES}),this._edgesMesh=new A.a.Mesh({material:new A.a.Material({shader:A.a.createShader("ecgl.meshLines2D"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new u.a({useNativeLine:!1,dynamic:!0}),renderOrder:-1,culling:!1}),this._layoutId=0,this._control=new l.a({zr:g.getZr(),viewGL:this.viewGL}),this._control.setTarget(this.groupGL),this._control.init(),this._clickHandler=this._clickHandler.bind(this)},render:function(f,g,x){this.groupGL.add(this._pointsBuilder.rootNode),this._model=f,this._api=x,this._initLayout(f,g,x),this._pointsBuilder.update(f,g,x),this._forceLayoutInstance instanceof p.a||this.groupGL.remove(this._forceEdgesMesh),this._updateCamera(f,x),this._control.off("update"),this._control.on("update",function(){x.dispatchAction({type:"graphGLRoam",seriesId:f.id,zoom:this._control.getZoom(),offset:this._control.getOffset()}),this._pointsBuilder.updateView(this.viewGL.camera)},this),this._control.setZoom(c.a.firstNotNull(f.get("zoom"),1)),this._control.setOffset(f.get("offset")||[0,0]);var _=this._pointsBuilder.getPointsMesh();if(_.off("mousemove",this._mousemoveHandler),_.off("mouseout",this._mouseOutHandler,this),x.getZr().off("click",this._clickHandler),this._pointsBuilder.highlightOnMouseover=!0,f.get("focusNodeAdjacency")){var D=f.get("focusNodeAdjacencyOn");D==="click"?x.getZr().on("click",this._clickHandler):D==="mouseover"?(_.on("mousemove",this._mousemoveHandler,this),_.on("mouseout",this._mouseOutHandler,this),this._pointsBuilder.highlightOnMouseover=!1):console.warn("Unkown focusNodeAdjacencyOn value s"+D)}this._lastMouseOverDataIndex=-1},_clickHandler:function(f){if(!this._layouting){var g=this._pointsBuilder.getPointsMesh().dataIndex;g>=0?this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:g}):this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id})}},_mousemoveHandler:function(f){if(!this._layouting){var g=this._pointsBuilder.getPointsMesh().dataIndex;g>=0?g!==this._lastMouseOverDataIndex&&this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:g}):this._mouseOutHandler(f),this._lastMouseOverDataIndex=g}},_mouseOutHandler:function(f){this._layouting||(this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id}),this._lastMouseOverDataIndex=-1)},_updateForceEdgesGeometry:function(f,g){var x=this._forceEdgesMesh.geometry,_=g.getEdgeData(),D=0,M=this._forceLayoutInstance,w=_.count()*2;x.attributes.node.init(w),x.attributes.color.init(w),_.each(function(b){var N=f[b];x.attributes.node.set(D,M.getNodeUV(N.node1)),x.attributes.node.set(D+1,M.getNodeUV(N.node2));var K=_.getItemVisual(N.dataIndex,"color"),S=A.a.parseColor(K);S[3]*=c.a.firstNotNull(_.getItemVisual(N.dataIndex,"opacity"),1),x.attributes.color.set(D,S),x.attributes.color.set(D+1,S),D+=2}),x.dirty()},_updateMeshLinesGeometry:function(){var g=this._model.getEdgeData(),f=this._edgesMesh.geometry,g=this._model.getEdgeData(),x=this._model.getData().getLayout("points");f.resetOffset(),f.setVertexCount(g.count()*f.getLineVertexCount()),f.setTriangleCount(g.count()*f.getLineTriangleCount());var _=[],D=[],M=["lineStyle","width"];this._originalEdgeColors=new Float32Array(g.count()*4),this._edgeIndicesMap=new Float32Array(g.count()),g.each(function(w){var b=g.graph.getEdgeByIndex(w),N=b.node1.dataIndex*2,K=b.node2.dataIndex*2;_[0]=x[N],_[1]=x[N+1],D[0]=x[K],D[1]=x[K+1];var S=g.getItemVisual(b.dataIndex,"color"),B=A.a.parseColor(S);B[3]*=c.a.firstNotNull(g.getItemVisual(b.dataIndex,"opacity"),1);var O=g.getItemModel(b.dataIndex),U=c.a.firstNotNull(O.get(M),1)*this._api.getDevicePixelRatio();f.addLine(_,D,B,U);for(var F=0;F<4;F++)this._originalEdgeColors[b.dataIndex*4+F]=B[F];this._edgeIndicesMap[b.dataIndex]=w},!1,this),f.dirty()},_updateForceNodesGeometry:function(f){for(var g=this._pointsBuilder.getPointsMesh(),x=[],_=0;_=F&&(K._syncNodePosition(f),U=0),M.getZr().refresh(),o()(function(){H(Y)})})}};o()(function(){K._forceLayoutInstanceToDispose&&(K._forceLayoutInstanceToDispose.dispose(D.layer.renderer),K._forceLayoutInstanceToDispose=null),H(S)}),this._layouting=!0}}},stopLayout:function(f,g,x,_){_&&_.from!=null&&_.from!==this.uid||(this._layoutId=0,this.groupGL.remove(this._forceEdgesMesh),this.groupGL.add(this._edgesMesh),this._forceLayoutInstance&&this.viewGL.layer&&(_&&_.beforeLayout||(this._syncNodePosition(f),this._updateAfterLayout(f,g,x)),this._api.getZr().refresh(),this._layouting=!1))},_syncNodePosition:function(f){var g=this._forceLayoutInstance.getNodePosition(this.viewGL.layer.renderer);f.getData().setLayout("points",g),f.setNodePosition(g)},_updateAfterLayout:function(f,g,x){this._updateMeshLinesGeometry(),this._pointsBuilder.removePositionTexture(),this._pointsBuilder.updateLayout(f,g,x),this._pointsBuilder.updateView(this.viewGL.camera),this._pointsBuilder.updateLabels(),this._pointsBuilder.showLabels()},focusNodeAdjacency:function(f,g,x,_){var D=this._model.getData();this._downplayAll();var M=_.dataIndex,w=D.graph,b=[],N=w.getNodeByIndex(M);b.push(N),N.edges.forEach(function(S){S.dataIndex<0||(S.node1!==N&&b.push(S.node1),S.node2!==N&&b.push(S.node2))},this),this._pointsBuilder.fadeOutAll(.05),this._fadeOutEdgesAll(.05),b.forEach(function(S){this._pointsBuilder.highlight(D,S.dataIndex)},this),this._pointsBuilder.updateLabels(b.map(function(S){return S.dataIndex}));var K=[];N.edges.forEach(function(S){S.dataIndex>=0&&(this._highlightEdge(S.dataIndex),K.push(S))},this),this._focusNodes=b,this._focusEdges=K},unfocusNodeAdjacency:function(f,g,x,_){this._downplayAll(),this._pointsBuilder.fadeInAll(),this._fadeInEdgesAll(),this._pointsBuilder.updateLabels()},_highlightEdge:function(f){var g=this._model.getEdgeData().getItemModel(f),x=A.a.parseColor(g.get("emphasis.lineStyle.color")||g.get("lineStyle.color")),_=c.a.firstNotNull(g.get("emphasis.lineStyle.opacity"),g.get("lineStyle.opacity"),1);x[3]*=_,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[f],x)},_downplayAll:function(){this._focusNodes&&this._focusNodes.forEach(function(f){this._pointsBuilder.downplay(this._model.getData(),f.dataIndex)},this),this._focusEdges&&this._focusEdges.forEach(function(f){this._downplayEdge(f.dataIndex)},this)},_downplayEdge:function(f){var g=this._getColor(f,[]);this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[f],g)},_setEdgeFade:function(){var f=[];return function(g,x){this._getColor(g,f),f[3]*=x,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[g],f)}}(),_getColor:function(f,g){for(var x=0;x<4;x++)g[x]=this._originalEdgeColors[f*4+x];return g},_fadeOutEdgesAll:function(f){var g=this._model.getData().graph;g.eachEdge(function(x){this._setEdgeFade(x.dataIndex,f)},this)},_fadeInEdgesAll:function(){this._fadeOutEdgesAll(1)},_updateCamera:function(f,g){this.viewGL.setViewport(0,0,g.getWidth(),g.getHeight(),g.getDevicePixelRatio());for(var x=this.viewGL.camera,_=f.getData(),D=_.getLayout("points"),M=t.create(1/0,1/0),w=t.create(-1/0,-1/0),b=[],N=0;Nx.left&&Sx.top)){var B=Math.max(w[0]-M[0],10),O=B/g.getWidth()*g.getHeight();B*=1.4,O*=1.4,M[0]-=B*.2,x.left=M[0],x.top=K-O/2,x.bottom=K+O/2,x.right=B+M[0],x.near=0,x.far=100}},dispose:function(){var f=this.viewGL.layer.renderer;this._forceLayoutInstance&&this._forceLayoutInstance.dispose(f),this.groupGL.removeAll(),this._layoutId=-1},remove:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(2),m=E(14),A=E(10),y=E(248);v.a.Shader.import(y.a);var u={repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null};function c(p){var r={type:v.a.Texture.FLOAT,minFilter:v.a.Texture.NEAREST,magFilter:v.a.Texture.NEAREST};this._positionSourceTex=new v.a.Texture2D(r),this._positionSourceTex.flipY=!1,this._positionTex=new v.a.Texture2D(r),this._positionPrevTex=new v.a.Texture2D(r),this._forceTex=new v.a.Texture2D(r),this._forcePrevTex=new v.a.Texture2D(r),this._weightedSumTex=new v.a.Texture2D(r),this._weightedSumTex.width=this._weightedSumTex.height=1,this._globalSpeedTex=new v.a.Texture2D(r),this._globalSpeedPrevTex=new v.a.Texture2D(r),this._globalSpeedTex.width=this._globalSpeedTex.height=1,this._globalSpeedPrevTex.width=this._globalSpeedPrevTex.height=1,this._nodeRepulsionPass=new m.a({fragment:v.a.Shader.source("ecgl.forceAtlas2.updateNodeRepulsion")}),this._positionPass=new m.a({fragment:v.a.Shader.source("ecgl.forceAtlas2.updatePosition")}),this._globalSpeedPass=new m.a({fragment:v.a.Shader.source("ecgl.forceAtlas2.calcGlobalSpeed")}),this._copyPass=new m.a({fragment:v.a.Shader.source("clay.compositor.output")});var n=function(o){o.blendEquation(o.FUNC_ADD),o.blendFunc(o.ONE,o.ONE)};this._edgeForceMesh=new v.a.Mesh({geometry:new v.a.Geometry({attributes:{node1:new v.a.Geometry.Attribute("node1","float",2),node2:new v.a.Geometry.Attribute("node2","float",2),weight:new v.a.Geometry.Attribute("weight","float",1)},dynamic:!0,mainAttribute:"node1"}),material:new v.a.Material({transparent:!0,shader:v.a.createShader("ecgl.forceAtlas2.updateEdgeAttraction"),blend:n,depthMask:!1,depthText:!1}),mode:v.a.Mesh.POINTS}),this._weightedSumMesh=new v.a.Mesh({geometry:new v.a.Geometry({attributes:{node:new v.a.Geometry.Attribute("node","float",2)},dynamic:!0,mainAttribute:"node"}),material:new v.a.Material({transparent:!0,shader:v.a.createShader("ecgl.forceAtlas2.calcWeightedSum"),blend:n,depthMask:!1,depthText:!1}),mode:v.a.Mesh.POINTS}),this._framebuffer=new A.a({depthBuffer:!1}),this._dummyCamera=new v.a.OrthographicCamera({left:-1,right:1,top:1,bottom:-1,near:0,far:100}),this._globalSpeed=0}c.prototype.updateOption=function(p){for(var r in u)this[r]=u[r];var n=this._nodes.length;if(n>5e4?this.jitterTolerence=10:n>5e3?this.jitterTolerence=1:this.jitterTolerence=.1,n>100?this.scaling=2:this.scaling=10,p)for(var r in u)p[r]!=null&&(this[r]=p[r]);if(this.repulsionByDegree)for(var o=this._positionSourceTex.pixels,i=0;ip},c.prototype._swapTexture=function(){var p=this._positionPrevTex;this._positionPrevTex=this._positionTex,this._positionTex=p;var p=this._forcePrevTex;this._forcePrevTex=this._forceTex,this._forceTex=p;var p=this._globalSpeedPrevTex;this._globalSpeedPrevTex=this._globalSpeedTex,this._globalSpeedTex=p},c.prototype._initFromSource=function(p){this._framebuffer.attach(this._positionPrevTex),this._framebuffer.bind(p),this._copyPass.setUniform("texture",this._positionSourceTex),this._copyPass.render(p),p.gl.clearColor(0,0,0,0),this._framebuffer.attach(this._forcePrevTex),p.gl.clear(p.gl.COLOR_BUFFER_BIT),this._framebuffer.attach(this._globalSpeedPrevTex),p.gl.clear(p.gl.COLOR_BUFFER_BIT),this._framebuffer.unbind(p)},c.prototype._resize=function(p,r){["_positionSourceTex","_positionTex","_positionPrevTex","_forceTex","_forcePrevTex"].forEach(function(n){this[n].width=p,this[n].height=r,this[n].dirty()},this)},c.prototype.dispose=function(p){this._framebuffer.dispose(p),this._copyPass.dispose(p),this._nodeRepulsionPass.dispose(p),this._positionPass.dispose(p),this._globalSpeedPass.dispose(p),this._edgeForceMesh.geometry.dispose(p),this._weightedSumMesh.geometry.dispose(p),this._positionSourceTex.dispose(p),this._positionTex.dispose(p),this._positionPrevTex.dispose(p),this._forceTex.dispose(p),this._forcePrevTex.dispose(p),this._weightedSumTex.dispose(p),this._globalSpeedTex.dispose(p),this._globalSpeedPrevTex.dispose(p)},h.a.ForceAtlas2GPU=c,W.a=c},function(J,W,E){"use strict";W.a=`@export ecgl.forceAtlas2.updateNodeRepulsion #define NODE_COUNT 0 uniform sampler2D positionTex; uniform vec2 textureSize; uniform float gravity; uniform float scaling; uniform vec2 gravityCenter; uniform bool strongGravityMode; uniform bool preventOverlap; varying vec2 v_Texcoord; void main() { vec4 n0 = texture2D(positionTex, v_Texcoord); vec2 force = vec2(0.0); for (int i = 0; i < NODE_COUNT; i++) { vec2 uv = vec2( mod(float(i), textureSize.x) / (textureSize.x - 1.0), floor(float(i) / textureSize.x) / (textureSize.y - 1.0) ); vec4 n1 = texture2D(positionTex, uv); vec2 dir = n0.xy - n1.xy; float d2 = dot(dir, dir); if (d2 > 0.0) { float factor = 0.0; if (preventOverlap) { float d = sqrt(d2); d = d - n0.w - n1.w; if (d > 0.0) { factor = scaling * n0.z * n1.z / (d * d); } else if (d < 0.0) { factor = scaling * 100.0 * n0.z * n1.z; } } else { factor = scaling * n0.z * n1.z / d2; } force += dir * factor; } } vec2 dir = gravityCenter - n0.xy; float d = 1.0; if (!strongGravityMode) { d = length(dir); } force += dir * n0.z * gravity / (d + 1.0); gl_FragColor = vec4(force, 0.0, 1.0); } @end @export ecgl.forceAtlas2.updateEdgeAttraction.vertex attribute vec2 node1; attribute vec2 node2; attribute float weight; uniform sampler2D positionTex; uniform float edgeWeightInfluence; uniform bool preventOverlap; uniform bool linLogMode; uniform vec2 windowSize: WINDOW_SIZE; varying vec2 v_Force; void main() { vec4 n0 = texture2D(positionTex, node1); vec4 n1 = texture2D(positionTex, node2); vec2 dir = n1.xy - n0.xy; float d = length(dir); float w; if (edgeWeightInfluence == 0.0) { w = 1.0; } else if (edgeWeightInfluence == 1.0) { w = weight; } else { w = pow(weight, edgeWeightInfluence); } vec2 offset = vec2(1.0 / windowSize.x, 1.0 / windowSize.y); vec2 scale = vec2((windowSize.x - 1.0) / windowSize.x, (windowSize.y - 1.0) / windowSize.y); vec2 pos = node1 * scale * 2.0 - 1.0; gl_Position = vec4(pos + offset, 0.0, 1.0); gl_PointSize = 1.0; float factor; if (preventOverlap) { d = d - n1.w - n0.w; } if (d <= 0.0) { v_Force = vec2(0.0); return; } if (linLogMode) { factor = w * log(d) / d; } else { factor = w; } v_Force = dir * factor; } @end @export ecgl.forceAtlas2.updateEdgeAttraction.fragment varying vec2 v_Force; void main() { gl_FragColor = vec4(v_Force, 0.0, 0.0); } @end @export ecgl.forceAtlas2.calcWeightedSum.vertex attribute vec2 node; varying vec2 v_NodeUv; void main() { v_NodeUv = node; gl_Position = vec4(0.0, 0.0, 0.0, 1.0); gl_PointSize = 1.0; } @end @export ecgl.forceAtlas2.calcWeightedSum.fragment varying vec2 v_NodeUv; uniform sampler2D positionTex; uniform sampler2D forceTex; uniform sampler2D forcePrevTex; void main() { vec2 force = texture2D(forceTex, v_NodeUv).rg; vec2 forcePrev = texture2D(forcePrevTex, v_NodeUv).rg; float mass = texture2D(positionTex, v_NodeUv).z; float swing = length(force - forcePrev) * mass; float traction = length(force + forcePrev) * 0.5 * mass; gl_FragColor = vec4(swing, traction, 0.0, 0.0); } @end @export ecgl.forceAtlas2.calcGlobalSpeed uniform sampler2D globalSpeedPrevTex; uniform sampler2D weightedSumTex; uniform float jitterTolerence; void main() { vec2 weightedSum = texture2D(weightedSumTex, vec2(0.5)).xy; float prevGlobalSpeed = texture2D(globalSpeedPrevTex, vec2(0.5)).x; float globalSpeed = jitterTolerence * jitterTolerence * weightedSum.y / weightedSum.x; if (prevGlobalSpeed > 0.0) { globalSpeed = min(globalSpeed / prevGlobalSpeed, 1.5) * prevGlobalSpeed; } gl_FragColor = vec4(globalSpeed, 0.0, 0.0, 1.0); } @end @export ecgl.forceAtlas2.updatePosition uniform sampler2D forceTex; uniform sampler2D forcePrevTex; uniform sampler2D positionTex; uniform sampler2D globalSpeedTex; varying vec2 v_Texcoord; void main() { vec2 force = texture2D(forceTex, v_Texcoord).xy; vec2 forcePrev = texture2D(forcePrevTex, v_Texcoord).xy; vec4 node = texture2D(positionTex, v_Texcoord); float globalSpeed = texture2D(globalSpeedTex, vec2(0.5)).r; float swing = length(force - forcePrev); float speed = 0.1 * globalSpeed / (0.1 + globalSpeed * sqrt(swing)); float df = length(force); if (df > 0.0) { speed = min(df * speed, 10.0) / df; gl_FragColor = vec4(node.xy + speed * force, node.zw); } else { gl_FragColor = node; } } @end @export ecgl.forceAtlas2.edges.vertex uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; attribute vec2 node; attribute vec4 a_Color : COLOR; varying vec4 v_Color; uniform sampler2D positionTex; void main() { gl_Position = worldViewProjection * vec4( texture2D(positionTex, node).xy, -10.0, 1.0 ); v_Color = a_Color; } @end @export ecgl.forceAtlas2.edges.fragment uniform vec4 color : [1.0, 1.0, 1.0, 1.0]; varying vec4 v_Color; void main() { gl_FragColor = color * v_Color; } @end`},function(J,W,E){"use strict";var R=E(5),h=E(6),v=E(250),m=v.a.toString();m=m.slice(m.indexOf("{")+1,m.lastIndexOf("}"));var A={barnesHutOptimize:!0,barnesHutTheta:1.5,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null},y=function(u){for(var c in A)this[c]=A[c];if(u)for(var c in u)this[c]=u[c];this._nodes=[],this._edges=[],this._disposed=!1,this._positionTex=new R.a({type:h.a.FLOAT,flipY:!1,minFilter:h.a.NEAREST,magFilter:h.a.NEAREST})};y.prototype.initData=function(u,c){var p=new Blob([m]),r=window.URL.createObjectURL(p);this._worker=new Worker(r),this._worker.onmessage=this._$onupdate.bind(this),this._nodes=u,this._edges=c,this._frame=0;for(var n=u.length,o=c.length,i=new Float32Array(n*2),s=new Float32Array(n),l=new Float32Array(n),d=new Float32Array(o*2),e=new Float32Array(o),t=0;t5e4?c.jitterTolerence=10:o>5e3?c.jitterTolerence=1:c.jitterTolerence=.1,o>100?c.scaling=2:c.scaling=10,o>1e3?c.barnesHutOptimize=!0:c.barnesHutOptimize=!1,u)for(var p in A)u[p]!=null&&(c[p]=u[p]);if(!c.gravityCenter){for(var i=[1/0,1/0],s=[-1/0,-1/0],l=0;lu},y.prototype.getNodePosition=function(u,c){if(c||(c=new Float32Array(this._nodes.length*2)),this._positionArr)for(var p=0;p0&&(s=1/Math.sqrt(s),r[0]=n[0]*s,r[1]=n[1]*s),r},negate:function(r,n){return r[0]=-n[0],r[1]=-n[1],r},copy:function(r,n){return r[0]=n[0],r[1]=n[1],r},set:function(r,n,o){return r[0]=n,r[1]=o,r}};function v(){this.subRegions=[],this.nSubRegions=0,this.node=null,this.mass=0,this.centerOfMass=null,this.bbox=new Float32Array(4),this.size=0}var m=v.prototype;m.beforeUpdate=function(){for(var r=0;r=r&&this.bbox[1]<=n&&this.bbox[3]>=n},m.setBBox=function(r,n,o,i){this.bbox[0]=r,this.bbox[1]=n,this.bbox[2]=o,this.bbox[3]=i,this.size=(o-r+i-n)/2},m._newSubRegion=function(){var r=this.subRegions[this.nSubRegions];return r||(r=new v,this.subRegions[this.nSubRegions]=r),this.nSubRegions++,r},m._addNodeToSubRegion=function(r){var n=this.findSubRegion(r.position[0],r.position[1]),o=this.bbox;if(!n){var i=(o[0]+o[2])/2,s=(o[1]+o[3])/2,l=(o[2]-o[0])/2,d=(o[3]-o[1])/2,e=r.position[0]>=i?1:0,t=r.position[1]>=s?1:0,n=this._newSubRegion();n.setBBox(e*l+o[0],t*d+o[1],(e+1)*l+o[0],(t+1)*d+o[1])}n.addNode(r)},m._updateCenterOfMass=function(r){this.centerOfMass==null&&(this.centerOfMass=new Float32Array(2));var n=this.centerOfMass[0]*this.mass,o=this.centerOfMass[1]*this.mass;n+=r.position[0]*r.mass,o+=r.position[1]*r.mass,this.mass+=r.mass,this.centerOfMass[0]=n/this.mass,this.centerOfMass[1]=o/this.mass};function A(){this.position=new Float32Array(2),this.force=h.create(),this.forcePrev=h.create(),this.mass=1,this.inDegree=0,this.outDegree=0}function y(r,n){this.source=r,this.target=n,this.weight=1}function u(){this.autoSettings=!0,this.barnesHutOptimize=!0,this.barnesHutTheta=1.5,this.repulsionByDegree=!0,this.linLogMode=!1,this.strongGravityMode=!1,this.gravity=1,this.scaling=1,this.edgeWeightInfluence=1,this.jitterTolerence=.1,this.preventOverlap=!1,this.dissuadeHubs=!1,this.rootRegion=new v,this.rootRegion.centerOfMass=h.create(),this.nodes=[],this.edges=[],this.bbox=new Float32Array(4),this.gravityCenter=null,this._massArr=null,this._swingingArr=null,this._sizeArr=null,this._globalSpeed=0}var c=u.prototype;c.initNodes=function(r,n,o){var i=n.length;this.nodes.length=0;for(var s=typeof o!="undefined",l=0;l0&&(this.strongGravityMode?this.applyNodeStrongGravity(i):this.applyNodeGravity(i))}for(var n=0;n0&&(g=Math.min(g/this._globalSpeed,1.5)*this._globalSpeed),this._globalSpeed=g;for(var n=0;n0&&(x=Math.min(_*x,10)/_,h.scaleAndAdd(o.position,o.position,o.force,x))}},c.applyRegionToNodeRepulsion=function(){var r=h.create();return function(o,i){if(o.node)this.applyNodeToNodeRepulsion(o.node,i,!0);else{h.sub(r,i.position,o.centerOfMass);var s=r[0]*r[0]+r[1]*r[1];if(s>this.barnesHutTheta*o.size*o.size){var l=this.scaling*i.mass*o.mass/s;h.scaleAndAdd(i.force,i.force,r,l)}else for(var d=0;d0)d=this.scaling*o.mass*i.mass/(e*e);else if(e<0)d=this.scaling*100*o.mass*i.mass;else return}else d=this.scaling*o.mass*i.mass/l;h.scaleAndAdd(o.force,o.force,r,d),h.scaleAndAdd(i.force,i.force,r,-d)}}}}(),c.applyEdgeAttraction=function(){var r=h.create();return function(o){var i=o.source,s=o.target;h.sub(r,i.position,s.position);var l=h.len(r),d;this.edgeWeightInfluence===0?d=1:this.edgeWeightInfluence===1?d=o.weight:d=Math.pow(o.weight,this.edgeWeightInfluence);var e;this.preventOverlap&&(l=l-i.size-s.size,l<=0)||(this.linLogMode?e=-d*Math.log(l+1)/(l+1):e=-d,h.scaleAndAdd(i.force,i.force,r,e),h.scaleAndAdd(s.force,s.force,r,-e))}}(),c.applyNodeGravity=function(){var r=h.create();return function(n){h.sub(r,this.gravityCenter,n.position);var o=h.len(r);h.scaleAndAdd(n.force,n.force,r,this.gravity*n.mass/(o+1))}}(),c.applyNodeStrongGravity=function(){var r=h.create();return function(n){h.sub(r,this.gravityCenter,n.position),h.scaleAndAdd(n.force,n.force,r,this.gravity*n.mass)}}(),c.updateBBox=function(){for(var r=1/0,n=1/0,o=-1/0,i=-1/0,s=0;s0?1.1:.9,p=Math.max(Math.min(this._zoom*c,this.maxZoom),this.minZoom);c=p/this._zoom;var r=this._convertPos(y,u),n=(r.x-this._dx)*(c-1),o=(r.y-this._dy)*(c-1);this._dx-=n,this._dy-=o,this._zoom=p,this._needsUpdate=!0}}},dispose:function(){var m=this.zr;m.off("mousedown",this._mouseDownHandler),m.off("mousemove",this._mouseMoveHandler),m.off("mouseup",this._mouseUpHandler),m.off("mousewheel",this._mouseWheelHandler),m.off("globalout",this._mouseUpHandler),m.animation.off("frame",this._update)}});W.a=v},function(J,W,E){"use strict";W.a=`@export ecgl.lines2D.vertex uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; attribute vec2 position: POSITION; attribute vec4 a_Color : COLOR; varying vec4 v_Color; #ifdef POSITIONTEXTURE_ENABLED uniform sampler2D positionTexture; #endif void main() { gl_Position = worldViewProjection * vec4(position, -10.0, 1.0); v_Color = a_Color; } @end @export ecgl.lines2D.fragment uniform vec4 color : [1.0, 1.0, 1.0, 1.0]; varying vec4 v_Color; void main() { gl_FragColor = color * v_Color; } @end @export ecgl.meshLines2D.vertex attribute vec2 position: POSITION; attribute vec2 normal; attribute float offset; attribute vec4 a_Color : COLOR; uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; uniform vec4 viewport : VIEWPORT; varying vec4 v_Color; varying float v_Miter; void main() { vec4 p2 = worldViewProjection * vec4(position + normal, -10.0, 1.0); gl_Position = worldViewProjection * vec4(position, -10.0, 1.0); p2.xy /= p2.w; gl_Position.xy /= gl_Position.w; vec2 N = normalize(p2.xy - gl_Position.xy); gl_Position.xy += N * offset / viewport.zw * 2.0; gl_Position.xy *= gl_Position.w; v_Color = a_Color; } @end @export ecgl.meshLines2D.fragment uniform vec4 color : [1.0, 1.0, 1.0, 1.0]; varying vec4 v_Color; varying float v_Miter; void main() { gl_FragColor = color * v_Color; } @end`},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(254),m=E(258)},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(2),m=E(3),A=E(20),y=E(255);h.a.extendChartView({type:"flowGL",__ecgl__:!0,init:function(u,c){this.viewGL=new A.a("orthographic"),this.groupGL=new v.a.Node,this.viewGL.add(this.groupGL),this._particleSurface=new y.a;var p=new v.a.Mesh({geometry:new v.a.PlaneGeometry,material:new v.a.Material({shader:new v.a.Shader({vertex:v.a.Shader.source("ecgl.color.vertex"),fragment:v.a.Shader.source("ecgl.color.fragment")}),transparent:!0})});p.material.enableTexture("diffuseMap"),this.groupGL.add(p),this._planeMesh=p},render:function(u,c,p){var r=this._particleSurface;r.setParticleType(u.get("particleType")),r.setSupersampling(u.get("supersampling")),this._updateData(u,p),this._updateCamera(p.getWidth(),p.getHeight(),p.getDevicePixelRatio());var n=m.a.firstNotNull(u.get("particleDensity"),128);r.setParticleDensity(n,n);var o=this._planeMesh,i=+new Date,s=this,l=!0;o.__percent=0,o.stopAnimation(),o.animate("",{loop:!0}).when(1e5,{__percent:1}).during(function(){var t=+new Date,a=Math.min(t-i,20);i=i+a,s._renderer&&(r.update(s._renderer,p,a/1e3,l),o.material.set("diffuseMap",r.getSurfaceTexture())),l=!1}).start();var d=u.getModel("itemStyle"),e=v.a.parseColor(d.get("color"));e[3]*=m.a.firstNotNull(d.get("opacity"),1),o.material.set("color",e),r.setColorTextureImage(u.get("colorTexture"),p),r.setParticleSize(u.get("particleSize")),r.particleSpeedScaling=u.get("particleSpeed"),r.motionBlurFactor=1-Math.pow(.1,u.get("particleTrail"))},updateTransform:function(u,c,p){this._updateData(u,p)},afterRender:function(u,c,p,r){var n=r.renderer;this._renderer=n},_updateData:function(u,c){var p=u.coordinateSystem,r=p.dimensions.map(function(M){return u.coordDimToDataDim(M)[0]}),n=u.getData(),o=n.getDataExtent(r[0]),i=n.getDataExtent(r[1]),s=u.get("gridWidth"),l=u.get("gridHeight");if(s==null||s==="auto"){var d=(o[1]-o[0])/(i[1]-i[0]);s=Math.round(Math.sqrt(d*n.count()))}(l==null||l==="auto")&&(l=Math.ceil(n.count()/s));var e=this._particleSurface.vectorFieldTexture,t=e.pixels;if(!t||t.length!==l*s*4)t=e.pixels=new Float32Array(s*l*4);else for(var a=0;a=359;s&&(n[0]>0&&(n[0]=0),o[0]0?l[l.length-1]:this._lastFrameTexture},setRegion:function(l){this._particlePass.setUniform("region",l)},resize:function(l,d){this._lastFrameTexture.width=l*this._supersampling,this._lastFrameTexture.height=d*this._supersampling,this._thisFrameTexture.width=l*this._supersampling,this._thisFrameTexture.height=d*this._supersampling,this._width=l,this._height=d},setParticleSize:function(l){var d=this._getParticleMesh();if(l<=2){d.material.disableTexture("spriteTexture"),d.material.transparent=!1;return}this._spriteTexture||(this._spriteTexture=new y.a),(!this._spriteTexture.image||this._spriteTexture.image.width!==l)&&(this._spriteTexture.image=i(l),this._spriteTexture.dirty()),d.material.transparent=!0,d.material.enableTexture("spriteTexture"),d.material.set("spriteTexture",this._spriteTexture),this._particleSize=l},setGradientTexture:function(l){var d=this._getParticleMesh().material;d[l?"enableTexture":"disableTexture"]("gradientTexture"),d.setUniform("gradientTexture",l)},setColorTextureImage:function(l,d){var e=this._getParticleMesh().material;e.setTextureImage("colorTexture",l,d,{flipY:!0})},setParticleType:function(l){this._particleType=l},clearFrame:function(l){var d=this._frameBuffer;d.attach(this._lastFrameTexture),d.bind(l),l.gl.clear(l.gl.DEPTH_BUFFER_BIT|l.gl.COLOR_BUFFER_BIT),d.unbind(l)},setSupersampling:function(l){this._supersampling=l,this.resize(this._width,this._height)},_updateDownsampleTextures:function(l,d){for(var e=this._downsampleTextures,t=Math.max(Math.floor(Math.log(this._supersampling/d.getDevicePixelRatio())/Math.log(2)),0),a=2,f=this._width*this._supersampling,g=this._height*this._supersampling,x=0;x65535?new Uint32Array(c*3):new Uint16Array(c*3))},addLine:function(A){var y=this._vertexOffset;this.attributes.position.set(y,[A[0],A[1],1]),this.attributes.position.set(y+1,[A[0],A[1],-1]),this.attributes.position.set(y+2,[A[0],A[1],2]),this.attributes.position.set(y+3,[A[0],A[1],-2]),this.setTriangleIndices(this._faceOffset++,[y,y+1,y+2]),this.setTriangleIndices(this._faceOffset++,[y+1,y+2,y+3]),this._vertexOffset+=4}});W.a=m},function(J,W,E){"use strict";W.a=`@export ecgl.vfParticle.particle.fragment uniform sampler2D particleTexture; uniform sampler2D spawnTexture; uniform sampler2D velocityTexture; uniform float deltaTime; uniform float elapsedTime; uniform float speedScaling : 1.0; uniform vec2 textureSize; uniform vec4 region : [0, 0, 1, 1]; uniform float firstFrameTime; varying vec2 v_Texcoord; void main() { vec4 p = texture2D(particleTexture, v_Texcoord); bool spawn = false; if (p.w <= 0.0) { p = texture2D(spawnTexture, fract(v_Texcoord + elapsedTime / 10.0)); p.w -= firstFrameTime; spawn = true; } vec2 v = texture2D(velocityTexture, fract(p.xy * region.zw + region.xy)).xy; v = (v - 0.5) * 2.0; p.z = length(v); p.xy += v * deltaTime / 10.0 * speedScaling; p.w -= deltaTime; if (spawn || p.xy != fract(p.xy)) { p.z = 0.0; } p.xy = fract(p.xy); gl_FragColor = p; } @end @export ecgl.vfParticle.renderPoints.vertex #define PI 3.1415926 attribute vec2 texcoord : TEXCOORD_0; uniform sampler2D particleTexture; uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; uniform float size : 1.0; varying float v_Mag; varying vec2 v_Uv; void main() { vec4 p = texture2D(particleTexture, texcoord); if (p.w > 0.0 && p.z > 1e-5) { gl_Position = worldViewProjection * vec4(p.xy * 2.0 - 1.0, 0.0, 1.0); } else { gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0); } v_Mag = p.z; v_Uv = p.xy; gl_PointSize = size; } @end @export ecgl.vfParticle.renderPoints.fragment uniform vec4 color : [1.0, 1.0, 1.0, 1.0]; uniform sampler2D gradientTexture; uniform sampler2D colorTexture; uniform sampler2D spriteTexture; varying float v_Mag; varying vec2 v_Uv; void main() { gl_FragColor = color; #ifdef SPRITETEXTURE_ENABLED gl_FragColor *= texture2D(spriteTexture, gl_PointCoord); if (color.a == 0.0) { discard; } #endif #ifdef GRADIENTTEXTURE_ENABLED gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5)); #endif #ifdef COLORTEXTURE_ENABLED gl_FragColor *= texture2D(colorTexture, v_Uv); #endif } @end @export ecgl.vfParticle.renderLines.vertex #define PI 3.1415926 attribute vec3 position : POSITION; uniform sampler2D particleTexture; uniform sampler2D prevParticleTexture; uniform float size : 1.0; uniform vec4 vp: VIEWPORT; uniform mat4 worldViewProjection : WORLDVIEWPROJECTION; varying float v_Mag; varying vec2 v_Uv; @import clay.util.rand void main() { vec4 p = texture2D(particleTexture, position.xy); vec4 p2 = texture2D(prevParticleTexture, position.xy); p.xy = p.xy * 2.0 - 1.0; p2.xy = p2.xy * 2.0 - 1.0; if (p.w > 0.0 && p.z > 1e-5) { vec2 dir = normalize(p.xy - p2.xy); vec2 norm = vec2(dir.y / vp.z, -dir.x / vp.w) * sign(position.z) * size; if (abs(position.z) == 2.0) { gl_Position = vec4(p.xy + norm, 0.0, 1.0); v_Uv = p.xy; v_Mag = p.z; } else { gl_Position = vec4(p2.xy + norm, 0.0, 1.0); v_Mag = p2.z; v_Uv = p2.xy; } gl_Position = worldViewProjection * gl_Position; } else { gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0); } } @end @export ecgl.vfParticle.renderLines.fragment uniform vec4 color : [1.0, 1.0, 1.0, 1.0]; uniform sampler2D gradientTexture; uniform sampler2D colorTexture; varying float v_Mag; varying vec2 v_Uv; void main() { gl_FragColor = color; #ifdef GRADIENTTEXTURE_ENABLED gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5)); #endif #ifdef COLORTEXTURE_ENABLED gl_FragColor *= texture2D(colorTexture, v_Uv); #endif } @end `},function(J,W,E){"use strict";var R=E(0),h=E.n(R);h.a.extendSeriesModel({type:"series.flowGL",dependencies:["geo","grid","bmap"],visualColorAccessPath:"itemStyle.color",getInitialData:function(v,m){var A=h.a.getCoordinateSystemDimensions(this.get("coordinateSystem"))||["x","y"];if(A.length>2)throw new Error("flowGL can only be used on 2d coordinate systems.");A.push("vx","vy");var y=h.a.helper.completeDimensions(A,this.getSource(),{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),u=new h.a.List(y,this);return u.initData(this.getSource()),u},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,supersampling:1,particleType:"point",particleDensity:128,particleSize:1,particleSpeed:1,particleTrail:2,colorTexture:null,gridWidth:"auto",gridHeight:"auto",itemStyle:{color:"#fff",opacity:.8}}})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(260),m=E(261),A=E(16);h.a.registerVisual(Object(A.a)("linesGL"))},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(12),m=E.n(v),A=h.a.extendSeriesModel({type:"series.linesGL",dependencies:["grid","geo"],visualColorAccessPath:"lineStyle.color",streamEnabled:!0,init:function(y){var u=this._processFlatCoordsArray(y.data);this._flatCoords=u.flatCoords,this._flatCoordsOffset=u.flatCoordsOffset,u.flatCoords&&(y.data=new Float32Array(u.count)),A.superApply(this,"init",arguments)},mergeOption:function(y){var u=this._processFlatCoordsArray(y.data);this._flatCoords=u.flatCoords,this._flatCoordsOffset=u.flatCoordsOffset,u.flatCoords&&(y.data=new Float32Array(u.count)),A.superApply(this,"mergeOption",arguments)},appendData:function(y){var u=this._processFlatCoordsArray(y.data);u.flatCoords&&(this._flatCoords?(this._flatCoords=Object(v.concatArray)(this._flatCoords,u.flatCoords),this._flatCoordsOffset=Object(v.concatArray)(this._flatCoordsOffset,u.flatCoordsOffset)):(this._flatCoords=u.flatCoords,this._flatCoordsOffset=u.flatCoordsOffset),y.data=new Float32Array(u.count)),this.getRawData().appendData(y.data)},_getCoordsFromItemModel:function(y){var u=this.getData().getItemModel(y),c=u.option instanceof Array?u.option:u.getShallow("coords");if(!(c instanceof Array&&c.length>0&&c[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(c)+". Lines must have 2d coords array in data item.");return c},getLineCoordsCount:function(y){return this._flatCoordsOffset?this._flatCoordsOffset[y*2+1]:this._getCoordsFromItemModel(y).length},getLineCoords:function(y,u){if(this._flatCoordsOffset){for(var c=this._flatCoordsOffset[y*2],p=this._flatCoordsOffset[y*2+1],r=0;rc)throw new Error("Invalid data format.")}}return{flatCoordsOffset:new Uint32Array(p.buffer,0,o),flatCoords:r,count:i}}return{flatCoordsOffset:null,flatCoords:null,count:y.length}},getInitialData:function(y,u){var c=new h.a.List(["value"],this);return c.hasItemOption=!1,c.initData(y.data,[],function(p,r,n,o){if(p instanceof Array)return NaN;c.hasItemOption=!0;var i=p.value;if(i!=null)return i instanceof Array?i[o]:i}),c},defaultOption:{coordinateSystem:"geo",zlevel:10,progressive:1e4,progressiveThreshold:5e4,blendMode:"source-over",lineStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(J,W,E){"use strict";var R=E(0),h=E.n(R),v=E(2),m=E(20),A=E(86),y=E(84),u=E(3);h.a.extendChartView({type:"linesGL",__ecgl__:!0,init:function(c,p){this.groupGL=new v.a.Node,this.viewGL=new m.a("orthographic"),this.viewGL.add(this.groupGL),this._glViewHelper=new y.a(this.viewGL),this._nativeLinesShader=v.a.createShader("ecgl.lines3D"),this._meshLinesShader=v.a.createShader("ecgl.meshLines3D"),this._linesMeshes=[],this._currentStep=0},render:function(c,p,r){this.groupGL.removeAll(),this._glViewHelper.reset(c,r);var n=this._linesMeshes[0];n||(n=this._linesMeshes[0]=this._createLinesMesh(c)),this._linesMeshes.length=1,this.groupGL.add(n),this._updateLinesMesh(c,n,0,c.getData().count()),this.viewGL.setPostEffect(c.getModel("postEffect"),r)},incrementalPrepareRender:function(c,p,r){this.groupGL.removeAll(),this._glViewHelper.reset(c,r),this._currentStep=0,this.viewGL.setPostEffect(c.getModel("postEffect"),r)},incrementalRender:function(c,p,r,n){var o=this._linesMeshes[this._currentStep];o||(o=this._createLinesMesh(p),this._linesMeshes[this._currentStep]=o),this._updateLinesMesh(p,o,c.start,c.end),this.groupGL.add(o),n.getZr().refresh(),this._currentStep++},updateTransform:function(c,p,r){c.coordinateSystem.getRoamTransform&&this._glViewHelper.updateTransform(c,r)},_createLinesMesh:function(c){var p=new v.a.Mesh({$ignorePicking:!0,material:new v.a.Material({shader:v.a.createShader("ecgl.lines3D"),transparent:!0,depthMask:!1,depthTest:!1}),geometry:new A.a({segmentScale:10,useNativeLine:!0,dynamic:!1}),mode:v.a.Mesh.LINES,culling:!1});return p},_updateLinesMesh:function(c,p,r,n){var o=c.getData();p.material.blend=c.get("blendMode")==="lighter"?v.a.additiveBlend:null;var i=c.get("lineStyle.curveness")||0,s=c.get("polyline"),l=p.geometry,d=c.coordinateSystem,e=u.a.firstNotNull(c.get("lineStyle.width"),1);e>1?(p.material.shader!==this._meshLinesShader&&p.material.attachShader(this._meshLinesShader),p.mode=v.a.Mesh.TRIANGLES):(p.material.shader!==this._nativeLinesShader&&p.material.attachShader(this._nativeLinesShader),p.mode=v.a.Mesh.LINES),r=r||0,n=n||o.count(),l.resetOffset();var t=0,a=0,f=[],g=[],x=[],_=[],D=[],M=.3,w=.7;function b(){g[0]=f[0]*w+_[0]*M-(f[1]-_[1])*i,g[1]=f[1]*w+_[1]*M-(_[0]-f[0])*i,x[0]=f[0]*M+_[0]*w-(f[1]-_[1])*i,x[1]=f[1]*M+_[1]*w-(_[0]-f[0])*i}if(s||i!==0)for(var N=r;N0&&(g=e[0]),g instanceof Error)throw g;var x=new Error("Unhandled error."+(g?" ("+g.message+")":""));throw x.context=g,x}var _=f[d];if(_===void 0)return!1;if(typeof _=="function")Z(_,this,e);else for(var D=_.length,M=p(_,D),t=0;t0&&g.length>a&&!g.warned){g.warned=!0;var x=new Error("Possible EventEmitter memory leak detected. "+g.length+" "+String(d)+" listeners added. Use emitter.setMaxListeners() to increase limit");x.name="MaxListenersExceededWarning",x.emitter=l,x.type=d,x.count=g.length,J(x)}return l}E.prototype.addListener=function(d,e){return m(this,d,e,!1)},E.prototype.on=E.prototype.addListener,E.prototype.prependListener=function(d,e){return m(this,d,e,!0)};function A(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function y(l,d,e){var t={fired:!1,wrapFn:void 0,target:l,type:d,listener:e},a=A.bind(t);return a.listener=e,t.wrapFn=a,a}E.prototype.once=function(d,e){return h(e),this.on(d,y(this,d,e)),this},E.prototype.prependOnceListener=function(d,e){return h(e),this.prependListener(d,y(this,d,e)),this},E.prototype.removeListener=function(d,e){var t,a,f,g,x;if(h(e),a=this._events,a===void 0)return this;if(t=a[d],t===void 0)return this;if(t===e||t.listener===e)--this._eventsCount===0?this._events=Object.create(null):(delete a[d],a.removeListener&&this.emit("removeListener",d,t.listener||e));else if(typeof t!="function"){for(f=-1,g=t.length-1;g>=0;g--)if(t[g]===e||t[g].listener===e){x=t[g].listener,f=g;break}if(f<0)return this;f===0?t.shift():r(t,f),t.length===1&&(a[d]=t[0]),a.removeListener!==void 0&&this.emit("removeListener",d,x||e)}return this},E.prototype.off=E.prototype.removeListener,E.prototype.removeAllListeners=function(d){var e,t,a;if(t=this._events,t===void 0)return this;if(t.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):t[d]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete t[d]),this;if(arguments.length===0){var f=Object.keys(t),g;for(a=0;a=0;a--)this.removeListener(d,e[a]);return this};function u(l,d,e){var t=l._events;if(t===void 0)return[];var a=t[d];return a===void 0?[]:typeof a=="function"?e?[a.listener||a]:[a]:e?n(a):p(a,a.length)}E.prototype.listeners=function(d){return u(this,d,!0)},E.prototype.rawListeners=function(d){return u(this,d,!1)},E.listenerCount=function(l,d){return typeof l.listenerCount=="function"?l.listenerCount(d):c.call(l,d)},E.prototype.listenerCount=c;function c(l){var d=this._events;if(d!==void 0){var e=d[l];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}E.prototype.eventNames=function(){return this._eventsCount>0?G(this._events):[]};function p(l,d){for(var e=new Array(d),t=0;tye.length)&&(Te=ye.length);for(var Be=0,st=Array(Te);Beye.length)&&(Te=ye.length);for(var Be=0,st=new Array(Te);Be0&&arguments[0]!==void 0?arguments[0]:{},Te=ye.mark;return Te?Te.startsWith("data-")?Te:"data-".concat(Te):ve}function qe(ye){if(ye.attachTo)return ye.attachTo;var Te=document.querySelector("head");return Te||document.body}function Ie(ye){return ye==="queue"?"prependQueue":ye?"prepend":"append"}function Fe(ye){return Array.from((Ee.get(ye)||ye).children).filter(function(Te){return Te.tagName==="STYLE"})}function ze(ye){var Te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!e())return null;var Be=Te.csp,st=Te.prepend,zt=document.createElement("style");zt.setAttribute(Se,Ie(st)),Be!=null&&Be.nonce&&(zt.nonce=Be==null?void 0:Be.nonce),zt.innerHTML=ye;var ir=qe(Te),Wt=ir.firstChild;if(st){if(st==="queue"){var fr=Fe(ir).filter(function(Vr){return["prepend","prependQueue"].includes(Vr.getAttribute(Se))});if(fr.length)return ir.insertBefore(zt,fr[fr.length-1].nextSibling),zt}ir.insertBefore(zt,Wt)}else ir.appendChild(zt);return zt}function z(ye){var Te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Be=qe(Te);return Fe(Be).find(function(st){return st.getAttribute(Re(Te))===ye})}function _e(ye){var Te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Be=z(ye,Te);if(Be){var st=qe(Te);st.removeChild(Be)}}function ie(ye,Te){var Be=Ee.get(ye);if(!Be||!De(document,Be)){var st=ze("",Te),zt=st.parentNode;Ee.set(ye,zt),ye.removeChild(st)}}function Ae(){Ee.clear()}function de(ye,Te){var Be=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},st=qe(Be);ie(st,Be);var zt=z(Te,Be);if(zt){var ir,Wt;if((ir=Be.csp)!==null&&ir!==void 0&&ir.nonce&&zt.nonce!==((Wt=Be.csp)===null||Wt===void 0?void 0:Wt.nonce)){var fr;zt.nonce=(fr=Be.csp)===null||fr===void 0?void 0:fr.nonce}return zt.innerHTML!==ye&&(zt.innerHTML=ye),zt}var Vr=ze(ye,Be);return Vr.setAttribute(Re(Be),Te),Vr}var se;function he(ye){if(typeof document=="undefined")return 0;if(ye||se===void 0){var Te=document.createElement("div");Te.style.width="100%",Te.style.height="200px";var Be=document.createElement("div"),st=Be.style;st.position="absolute",st.top="0",st.left="0",st.pointerEvents="none",st.visibility="hidden",st.width="200px",st.height="150px",st.overflow="hidden",Be.appendChild(Te),document.body.appendChild(Be);var zt=Te.offsetWidth;Be.style.overflow="scroll";var ir=Te.offsetWidth;zt===ir&&(ir=Be.clientWidth),document.body.removeChild(Be),se=zt-ir}return se}function Pe(ye){var Te=ye.match(/^(.*)px$/),Be=Number(Te==null?void 0:Te[1]);return Number.isNaN(Be)?he():Be}function We(ye){if(typeof document=="undefined"||!ye||!(ye instanceof Element))return{width:0,height:0};var Te=getComputedStyle(ye,"::-webkit-scrollbar"),Be=Te.width,st=Te.height;return{width:Pe(Be),height:Pe(st)}}function ht(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var _t="rc-util-locker-".concat(Date.now()),Nt=0;function xt(ye){var Te=!!ye,Be=l.useState(function(){return Nt+=1,"".concat(_t,"_").concat(Nt)}),st=s(Be,1),zt=st[0];Ce(function(){if(Te){var ir=We(document.body).width,Wt=ht();de(` html body { overflow-y: hidden; `.concat(Wt?"width: calc(100% - ".concat(ir,"px);"):"",` }`),zt)}else _e(zt);return function(){_e(zt)}},[Te,zt])}var Dt=!1;function Tt(ye){return typeof ye=="boolean"&&(Dt=ye),Dt}var Ft=function(Te){return Te===!1?!1:!e()||!Te?null:typeof Te=="string"?document.querySelector(Te):typeof Te=="function"?Te():Te},nt=l.forwardRef(function(ye,Te){var Be=ye.open,st=ye.autoLock,zt=ye.getContainer,ir=ye.debug,Wt=ye.autoDestroy,fr=Wt===void 0?!0:Wt,Vr=ye.children,An=l.useState(Be),_n=s(An,2),Zr=_n[0],Yr=_n[1],Nn=Zr||Be;l.useEffect(function(){(fr||Be)&&Yr(Be)},[Be,fr]);var Cn=l.useState(function(){return Ft(zt)}),cn=s(Cn,2),yr=cn[0],zn=cn[1];l.useEffect(function(){var Jn=Ft(zt);zn(Jn!=null?Jn:null)});var Sn=we(Nn&&!yr,ir),mn=s(Sn,2),Hn=mn[0],Bn=mn[1],vr=yr!=null?yr:Hn;xt(st&&Be&&e()&&(vr===Hn||vr===document.body));var nn=null;if(Vr&&O(Vr)&&Te){var Un=Vr;nn=Un.ref}var mr=B(nn,Te);if(!Nn||!e()||yr===void 0)return null;var Gn=vr===!1||Tt(),bn=Vr;return Te&&(bn=l.cloneElement(Vr,{ref:mr})),l.createElement(F.Provider,{value:Bn},Gn?bn:(0,d.createPortal)(bn,vr))}),Gt=nt,Tr=Gt;function rr(){return!!(typeof window!="undefined"&&window.document&&window.document.createElement)}var Pt=rr()?l.useLayoutEffect:l.useEffect,Sr=function(Te,Be){var st=l.useRef(!0);Pt(function(){return Te(st.current)},Be),Pt(function(){return st.current=!1,function(){st.current=!0}},[])},$r=function(Te,Be){Sr(function(st){if(!st)return Te()},Be)},vn=Sr,Gr=l.createContext(null),an=l.createContext({}),Ln=Gr;function kr(){return kr=Object.assign?Object.assign.bind():function(ye){for(var Te=1;Te=Ue.F1&&Be<=Ue.F12)return!1;switch(Be){case Ue.ALT:case Ue.CAPS_LOCK:case Ue.CONTEXT_MENU:case Ue.CTRL:case Ue.DOWN:case Ue.END:case Ue.ESC:case Ue.HOME:case Ue.INSERT:case Ue.LEFT:case Ue.MAC_FF_META:case Ue.META:case Ue.NUMLOCK:case Ue.NUM_CENTER:case Ue.PAGE_DOWN:case Ue.PAGE_UP:case Ue.PAUSE:case Ue.PRINT_SCREEN:case Ue.RIGHT:case Ue.SHIFT:case Ue.UP:case Ue.WIN_KEY:case Ue.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(Te){if(Te>=Ue.ZERO&&Te<=Ue.NINE||Te>=Ue.NUM_ZERO&&Te<=Ue.NUM_MULTIPLY||Te>=Ue.A&&Te<=Ue.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&Te===0)return!0;switch(Te){case Ue.SPACE:case Ue.QUESTION_MARK:case Ue.NUM_PLUS:case Ue.NUM_MINUS:case Ue.NUM_PERIOD:case Ue.NUM_DIVISION:case Ue.SEMICOLON:case Ue.DASH:case Ue.EQUALS:case Ue.COMMA:case Ue.PERIOD:case Ue.SLASH:case Ue.APOSTROPHE:case Ue.SINGLE_QUOTE:case Ue.OPEN_SQUARE_BRACKET:case Ue.BACKSLASH:case Ue.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}},et=Ue;function tt(ye){"@babel/helpers - typeof";return tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Te){return typeof Te}:function(Te){return Te&&typeof Symbol=="function"&&Te.constructor===Symbol&&Te!==Symbol.prototype?"symbol":typeof Te},tt(ye)}function it(ye,Te){if(tt(ye)!=="object"||ye===null)return ye;var Be=ye[Symbol.toPrimitive];if(Be!==void 0){var st=Be.call(ye,Te||"default");if(tt(st)!=="object")return st;throw new TypeError("@@toPrimitive must return a primitive value.")}return(Te==="string"?String:Number)(ye)}function vt(ye){var Te=it(ye,"string");return tt(Te)==="symbol"?Te:String(Te)}function pt(ye,Te,Be){return Te=vt(Te),Te in ye?Object.defineProperty(ye,Te,{value:Be,enumerable:!0,configurable:!0,writable:!0}):ye[Te]=Be,ye}function Xt(ye,Te){var Be=Object.keys(ye);if(Object.getOwnPropertySymbols){var st=Object.getOwnPropertySymbols(ye);Te&&(st=st.filter(function(zt){return Object.getOwnPropertyDescriptor(ye,zt).enumerable})),Be.push.apply(Be,st)}return Be}function ke(ye){for(var Te=1;Te