You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__knowledgegraph__Detail__...

4183 lines
1.9 MiB

!(function(){var Tl=Math.pow;(self.webpackChunk=self.webpackChunk||[]).push([[2524],{65030:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return Se}});var ee=ae(33885),te=ae(42978),X=ae(75931),D=ae(43403),W=ae(92310),y=ae.n(W),L=ae(29301),b=ae(76846),s=ae(96452),T=ae(6089),c=ae(80402),u=ae(34280),f=ae(49658),i=ae(59301),o=ae(54476),d=ae(77900),p=ae(8654);function m(ge){var Re=ge.prefixCls,ve=ge.align,Le=ge.arrow,Ue=ge.arrowPos,me=Le||{},oe=me.className,ie=me.content,he=Ue.x,ye=he===void 0?0:he,ce=Ue.y,Te=ce===void 0?0:ce,Oe=i.useRef();if(!ve||!ve.points)return null;var Be={position:"absolute"};if(ve.autoArrow!==!1){var Xe=ve.points[0],lt=ve.points[1],_t=Xe[0],tt=Xe[1],bt=lt[0],Nt=lt[1];_t===bt||!["t","b"].includes(_t)?Be.top=Te:_t==="t"?Be.top=0:Be.bottom=0,tt===Nt||!["l","r"].includes(tt)?Be.left=ye:tt==="l"?Be.left=0:Be.right=0}return i.createElement("div",{ref:Oe,className:y()("".concat(Re,"-arrow"),oe),style:Be},ie)}function h(ge){var Re=ge.prefixCls,ve=ge.open,Le=ge.zIndex,Ue=ge.mask,me=ge.motion;return Ue?i.createElement(d.default,(0,o.Z)({},me,{motionAppear:!0,visible:ve,removeOnLeave:!0}),function(oe){var ie=oe.className;return i.createElement("div",{style:{zIndex:Le},className:y()("".concat(Re,"-mask"),ie)})}):null}var v=i.memo(function(ge){var Re=ge.children;return Re},function(ge,Re){return Re.cache}),r=v,a=i.forwardRef(function(ge,Re){var ve=ge.popup,Le=ge.className,Ue=ge.prefixCls,me=ge.style,oe=ge.target,ie=ge.onVisibleChanged,he=ge.open,ye=ge.keepDom,ce=ge.fresh,Te=ge.onClick,Oe=ge.mask,Be=ge.arrow,Xe=ge.arrowPos,lt=ge.align,_t=ge.motion,tt=ge.maskMotion,bt=ge.forceRender,Nt=ge.getPopupContainer,Bt=ge.autoDestroy,ot=ge.portal,It=ge.zIndex,cr=ge.onMouseEnter,wr=ge.onMouseLeave,er=ge.onPointerEnter,Wr=ge.onPointerDownCapture,Ct=ge.ready,Et=ge.offsetX,vt=ge.offsetY,nr=ge.offsetR,qt=ge.offsetB,Dt=ge.onAlign,nt=ge.onPrepare,Rt=ge.stretch,Gt=ge.targetWidth,zt=ge.targetHeight,Qt=typeof ve=="function"?ve():ve,it=he||ye,dt=(Nt==null?void 0:Nt.length)>0,St=i.useState(!Nt||!dt),Mt=(0,te.Z)(St,2),Yt=Mt[0],ft=Mt[1];if((0,u.Z)(function(){!Yt&&dt&&oe&&ft(!0)},[Yt,dt,oe]),!Yt)return null;var H="auto",Y={left:"-1000vw",top:"-1000vh",right:H,bottom:H};if(Ct||!he){var J,le=lt.points,_e=lt.dynamicInset||((J=lt._experimental)===null||J===void 0?void 0:J.dynamicInset),Ne=_e&&le[0][1]==="r",Pe=_e&&le[0][0]==="b";Ne?(Y.right=nr,Y.left=H):(Y.left=Et,Y.right=H),Pe?(Y.bottom=qt,Y.top=H):(Y.top=vt,Y.bottom=H)}var $e={};return Rt&&(Rt.includes("height")&&zt?$e.height=zt:Rt.includes("minHeight")&&zt&&($e.minHeight=zt),Rt.includes("width")&&Gt?$e.width=Gt:Rt.includes("minWidth")&&Gt&&($e.minWidth=Gt)),he||($e.pointerEvents="none"),i.createElement(ot,{open:bt||it,getContainer:Nt&&function(){return Nt(oe)},autoDestroy:Bt},i.createElement(h,{prefixCls:Ue,open:he,zIndex:It,mask:Oe,motion:tt}),i.createElement(L.Z,{onResize:Dt,disabled:!he},function(Ye){return i.createElement(d.default,(0,o.Z)({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:bt,leavedClassName:"".concat(Ue,"-hidden")},_t,{onAppearPrepare:nt,onEnterPrepare:nt,visible:he,onVisibleChanged:function(Ht){var Me;_t==null||(Me=_t.onVisibleChanged)===null||Me===void 0||Me.call(_t,Ht),ie(Ht)}}),function(Lt,Ht){var Me=Lt.className,be=Lt.style,ut=y()(Ue,Me,Le);return i.createElement("div",{ref:(0,p.sQ)(Ye,Re,Ht),className:ut,style:(0,ee.Z)((0,ee.Z)((0,ee.Z)((0,ee.Z)({"--arrow-x":"".concat(Xe.x||0,"px"),"--arrow-y":"".concat(Xe.y||0,"px")},Y),$e),be),{},{boxSizing:"border-box",zIndex:It},me),onMouseEnter:cr,onMouseLeave:wr,onPointerEnter:er,onClick:Te,onPointerDownCapture:Wr},Be&&i.createElement(m,{prefixCls:Ue,arrow:Be,arrowPos:Xe,align:lt}),i.createElement(r,{cache:!he&&!ce},Qt))})}))}),g=a,E=i.forwardRef(function(ge,Re){var ve=ge.children,Le=ge.getTriggerDOMNode,Ue=(0,p.Yr)(ve),me=i.useCallback(function(ie){(0,p.mH)(Re,Le?Le(ie):ie)},[Le]),oe=(0,p.x1)(me,(0,p.C4)(ve));return Ue?i.cloneElement(ve,{ref:oe}):ve}),S=E,w=i.createContext(null),R=w;function O(ge){return ge?Array.isArray(ge)?ge:[ge]:[]}function G(ge,Re,ve,Le){return i.useMemo(function(){var Ue=O(ve!=null?ve:Re),me=O(Le!=null?Le:Re),oe=new Set(Ue),ie=new Set(me);return ge&&(oe.has("hover")&&(oe.delete("hover"),oe.add("click")),ie.has("hover")&&(ie.delete("hover"),ie.add("click"))),[oe,ie]},[ge,Re,ve,Le])}var B=ae(29194);function P(){var ge=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],Re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],ve=arguments.length>2?arguments[2]:void 0;return ve?ge[0]===Re[0]:ge[0]===Re[0]&&ge[1]===Re[1]}function F(ge,Re,ve,Le){for(var Ue=ve.points,me=Object.keys(ge),oe=0;oe<me.length;oe+=1){var ie,he=me[oe];if(P((ie=ge[he])===null||ie===void 0?void 0:ie.points,Ue,Le))return"".concat(Re,"-placement-").concat(he)}return""}function K(ge,Re,ve,Le){return Re||(ve?{motionName:"".concat(ge,"-").concat(ve)}:Le?{motionName:Le}:null)}function U(ge){return ge.ownerDocument.defaultView}function V(ge){for(var Re=[],ve=ge==null?void 0:ge.parentElement,Le=["hidden","scroll","clip","auto"];ve;){var Ue=U(ve).getComputedStyle(ve),me=Ue.overflowX,oe=Ue.overflowY,ie=Ue.overflow;[me,oe,ie].some(function(he){return Le.includes(he)})&&Re.push(ve),ve=ve.parentElement}return Re}function C(ge){var Re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return Number.isNaN(ge)?Re:ge}function M(ge){return C(parseFloat(ge),0)}function z(ge,Re){var ve=(0,ee.Z)({},ge);return(Re||[]).forEach(function(Le){if(!(Le instanceof HTMLBodyElement||Le instanceof HTMLHtmlElement)){var Ue=U(Le).getComputedStyle(Le),me=Ue.overflow,oe=Ue.overflowClipMargin,ie=Ue.borderTopWidth,he=Ue.borderBottomWidth,ye=Ue.borderLeftWidth,ce=Ue.borderRightWidth,Te=Le.getBoundingClientRect(),Oe=Le.offsetHeight,Be=Le.clientHeight,Xe=Le.offsetWidth,lt=Le.clientWidth,_t=M(ie),tt=M(he),bt=M(ye),Nt=M(ce),Bt=C(Math.round(Te.width/Xe*1e3)/1e3),ot=C(Math.round(Te.height/Oe*1e3)/1e3),It=(Xe-lt-bt-Nt)*Bt,cr=(Oe-Be-_t-tt)*ot,wr=_t*ot,er=tt*ot,Wr=bt*Bt,Ct=Nt*Bt,Et=0,vt=0;if(me==="clip"){var nr=M(oe);Et=nr*Bt,vt=nr*ot}var qt=Te.x+Wr-Et,Dt=Te.y+wr-vt,nt=qt+Te.width+2*Et-Wr-Ct-It,Rt=Dt+Te.height+2*vt-wr-er-cr;ve.left=Math.max(ve.left,qt),ve.top=Math.max(ve.top,Dt),ve.right=Math.min(ve.right,nt),ve.bottom=Math.min(ve.bottom,Rt)}}),ve}function $(ge){var Re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,ve="".concat(Re),Le=ve.match(/^(.*)\%$/);return Le?ge*(parseFloat(Le[1])/100):parseFloat(ve)}function q(ge,Re){var ve=Re||[],Le=(0,te.Z)(ve,2),Ue=Le[0],me=Le[1];return[$(ge.width,Ue),$(ge.height,me)]}function se(){var ge=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return[ge[0],ge[1]]}function ue(ge,Re){var ve=Re[0],Le=Re[1],Ue,me;return ve==="t"?me=ge.y:ve==="b"?me=ge.y+ge.height:me=ge.y+ge.height/2,Le==="l"?Ue=ge.x:Le==="r"?Ue=ge.x+ge.width:Ue=ge.x+ge.width/2,{x:Ue,y:me}}function pe(ge,Re){var ve={t:"b",b:"t",l:"r",r:"l"};return ge.map(function(Le,Ue){return Ue===Re?ve[Le]||"c":Le}).join("")}function Ee(ge,Re,ve,Le,Ue,me,oe){var ie=i.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:Ue[Le]||{}}),he=(0,te.Z)(ie,2),ye=he[0],ce=he[1],Te=i.useRef(0),Oe=i.useMemo(function(){return Re?V(Re):[]},[Re]),Be=i.useRef({}),Xe=function(){Be.current={}};ge||Xe();var lt=(0,T.Z)(function(){if(Re&&ve&&ge){let Jr=function(wn,Er){var Fr=arguments.length>2&&arguments[2]!==void 0?arguments[2]:yt,br=it.x+wn,Ur=it.y+Er,qr=br+Pe,un=Ur+Ne,Xn=Math.max(br,Fr.left),ur=Math.max(Ur,Fr.top),Rr=Math.min(qr,Fr.right),Vr=Math.min(un,Fr.bottom);return Math.max(0,(Rr-Xn)*(Vr-ur))},yn=function(){hn=it.y+hr,on=hn+Ne,Nr=it.x+ir,lr=Nr+Pe};var bt,Nt,Bt,ot,It=Re,cr=It.ownerDocument,wr=U(It),er=wr.getComputedStyle(It),Wr=er.position,Ct=It.style.left,Et=It.style.top,vt=It.style.right,nr=It.style.bottom,qt=It.style.overflow,Dt=(0,ee.Z)((0,ee.Z)({},Ue[Le]),me),nt=cr.createElement("div");(bt=It.parentElement)===null||bt===void 0||bt.appendChild(nt),nt.style.left="".concat(It.offsetLeft,"px"),nt.style.top="".concat(It.offsetTop,"px"),nt.style.position=Wr,nt.style.height="".concat(It.offsetHeight,"px"),nt.style.width="".concat(It.offsetWidth,"px"),It.style.left="0",It.style.top="0",It.style.right="auto",It.style.bottom="auto",It.style.overflow="hidden";var Rt;if(Array.isArray(ve))Rt={x:ve[0],y:ve[1],width:0,height:0};else{var Gt,zt,Qt=ve.getBoundingClientRect();Qt.x=(Gt=Qt.x)!==null&&Gt!==void 0?Gt:Qt.left,Qt.y=(zt=Qt.y)!==null&&zt!==void 0?zt:Qt.top,Rt={x:Qt.x,y:Qt.y,width:Qt.width,height:Qt.height}}var it=It.getBoundingClientRect(),dt=wr.getComputedStyle(It),St=dt.height,Mt=dt.width;it.x=(Nt=it.x)!==null&&Nt!==void 0?Nt:it.left,it.y=(Bt=it.y)!==null&&Bt!==void 0?Bt:it.top;var Yt=cr.documentElement,ft=Yt.clientWidth,H=Yt.clientHeight,Y=Yt.scrollWidth,J=Yt.scrollHeight,le=Yt.scrollTop,_e=Yt.scrollLeft,Ne=it.height,Pe=it.width,$e=Rt.height,Ye=Rt.width,Lt={left:0,top:0,right:ft,bottom:H},Ht={left:-_e,top:-le,right:Y-_e,bottom:J-le},Me=Dt.htmlRegion,be="visible",ut="visibleFirst";Me!=="scroll"&&Me!==ut&&(Me=be);var Ze=Me===ut,je=z(Ht,Oe),Qe=z(Lt,Oe),yt=Me===be?Qe:je,mt=Ze?Qe:yt;It.style.left="auto",It.style.top="auto",It.style.right="0",It.style.bottom="0";var Ft=It.getBoundingClientRect();It.style.left=Ct,It.style.top=Et,It.style.right=vt,It.style.bottom=nr,It.style.overflow=qt,(ot=It.parentElement)===null||ot===void 0||ot.removeChild(nt);var At=C(Math.round(Pe/parseFloat(Mt)*1e3)/1e3),Pt=C(Math.round(Ne/parseFloat(St)*1e3)/1e3);if(At===0||Pt===0||(0,b.Sh)(ve)&&!(0,B.Z)(ve))return;var Tt=Dt.offset,Xt=Dt.targetOffset,Ut=q(it,Tt),ke=(0,te.Z)(Ut,2),He=ke[0],at=ke[1],We=q(Rt,Xt),rt=(0,te.Z)(We,2),ht=rt[0],xt=rt[1];Rt.x-=ht,Rt.y-=xt;var Wt=Dt.points||[],jt=(0,te.Z)(Wt,2),Jt=jt[0],vr=jt[1],Ve=se(vr),$t=se(Jt),ar=ue(Rt,Ve),yr=ue(it,$t),or=(0,ee.Z)({},Dt),ir=ar.x-yr.x+He,hr=ar.y-yr.y+at,Ar=Jr(ir,hr),Cr=Jr(ir,hr,Qe),Tr=ue(Rt,["t","l"]),Or=ue(it,["t","l"]),pr=ue(Rt,["b","r"]),mr=ue(it,["b","r"]),Zr=Dt.overflow||{},jr=Zr.adjustX,rn=Zr.adjustY,Gr=Zr.shiftX,nn=Zr.shiftY,$r=function(Er){return typeof Er=="boolean"?Er:Er>=0},hn,on,Nr,lr;yn();var kt=$r(rn),Ot=$t[0]===Ve[0];if(kt&&$t[0]==="t"&&(on>mt.bottom||Be.current.bt)){var Zt=hr;Ot?Zt-=Ne-$e:Zt=Tr.y-mr.y-at;var rr=Jr(ir,Zt),xr=Jr(ir,Zt,Qe);rr>Ar||rr===Ar&&(!Ze||xr>=Cr)?(Be.current.bt=!0,hr=Zt,at=-at,or.points=[pe($t,0),pe(Ve,0)]):Be.current.bt=!1}if(kt&&$t[0]==="b"&&(hn<mt.top||Be.current.tb)){var kr=hr;Ot?kr+=Ne-$e:kr=pr.y-Or.y-at;var Xr=Jr(ir,kr),Mr=Jr(ir,kr,Qe);Xr>Ar||Xr===Ar&&(!Ze||Mr>=Cr)?(Be.current.tb=!0,hr=kr,at=-at,or.points=[pe($t,0),pe(Ve,0)]):Be.current.tb=!1}var ln=$r(jr),Tn=$t[1]===Ve[1];if(ln&&$t[1]==="l"&&(lr>mt.right||Be.current.rl)){var mn=ir;Tn?mn-=Pe-Ye:mn=Tr.x-mr.x-He;var Sn=Jr(mn,hr),Qr=Jr(mn,hr,Qe);Sn>Ar||Sn===Ar&&(!Ze||Qr>=Cr)?(Be.current.rl=!0,ir=mn,He=-He,or.points=[pe($t,1),pe(Ve,1)]):Be.current.rl=!1}if(ln&&$t[1]==="r"&&(Nr<mt.left||Be.current.lr)){var Dn=ir;Tn?Dn+=Pe-Ye:Dn=pr.x-Or.x-He;var Ln=Jr(Dn,hr),In=Jr(Dn,hr,Qe);Ln>Ar||Ln===Ar&&(!Ze||In>=Cr)?(Be.current.lr=!0,ir=Dn,He=-He,or.points=[pe($t,1),pe(Ve,1)]):Be.current.lr=!1}yn();var cn=Gr===!0?0:Gr;typeof cn=="number"&&(Nr<Qe.left&&(ir-=Nr-Qe.left-He,Rt.x+Ye<Qe.left+cn&&(ir+=Rt.x-Qe.left+Ye-cn)),lr>Qe.right&&(ir-=lr-Qe.right-He,Rt.x>Qe.right-cn&&(ir+=Rt.x-Qe.right+cn)));var _n=nn===!0?0:nn;typeof _n=="number"&&(hn<Qe.top&&(hr-=hn-Qe.top-at,Rt.y+$e<Qe.top+_n&&(hr+=Rt.y-Qe.top+$e-_n)),on>Qe.bottom&&(hr-=on-Qe.bottom-at,Rt.y>Qe.bottom-_n&&(hr+=Rt.y-Qe.bottom+_n)));var dn=it.x+ir,Nn=dn+Pe,Rn=it.y+hr,Un=Rn+Ne,Pn=Rt.x,An=Pn+Ye,Hn=Rt.y,Lr=Hn+$e,zn=Math.max(dn,Pn),vn=Math.min(Nn,An),ii=(zn+vn)/2,ai=ii-dn,$n=Math.max(Rn,Hn),ui=Math.min(Un,Lr),jn=($n+ui)/2,an=jn-Rn;oe==null||oe(Re,or);var bn=Ft.right-it.x-(ir+it.width),Fn=Ft.bottom-it.y-(hr+it.height);At===1&&(ir=Math.round(ir),bn=Math.round(bn)),Pt===1&&(hr=Math.round(hr),Fn=Math.round(Fn));var Zn={ready:!0,offsetX:ir/At,offsetY:hr/Pt,offsetR:bn/At,offsetB:Fn/Pt,arrowX:ai/At,arrowY:an/Pt,scaleX:At,scaleY:Pt,align:or};ce(Zn)}}),_t=function(){Te.current+=1;var Nt=Te.current;Promise.resolve().then(function(){Te.current===Nt&&lt()})},tt=function(){ce(function(Nt){return(0,ee.Z)((0,ee.Z)({},Nt),{},{ready:!1})})};return(0,u.Z)(tt,[Le]),(0,u.Z)(function(){ge||tt()},[ge]),[ye.ready,ye.offsetX,ye.offsetY,ye.offsetR,ye.offsetB,ye.arrowX,ye.arrowY,ye.scaleX,ye.scaleY,ye.align,_t]}var De=ae(94480);function Fe(ge,Re,ve,Le,Ue){(0,u.Z)(function(){if(ge&&Re&&ve){let Te=function(){Le(),Ue()};var me=Re,oe=ve,ie=V(me),he=V(oe),ye=U(oe),ce=new Set([ye].concat((0,De.Z)(ie),(0,De.Z)(he)));return ce.forEach(function(Oe){Oe.addEventListener("scroll",Te,{passive:!0})}),ye.addEventListener("resize",Te,{passive:!0}),Le(),function(){ce.forEach(function(Oe){Oe.removeEventListener("scroll",Te),ye.removeEventListener("resize",Te)})}}},[ge,Re,ve])}var Ge=ae(48736);function xe(ge,Re,ve,Le,Ue,me,oe,ie){var he=i.useRef(ge);he.current=ge;var ye=i.useRef(!1);i.useEffect(function(){if(Re&&Le&&(!Ue||me)){var Te=function(){ye.current=!1},Oe=function(Bt){var ot;he.current&&!oe(((ot=Bt.composedPath)===null||ot===void 0||(ot=ot.call(Bt))===null||ot===void 0?void 0:ot[0])||Bt.target)&&!ye.current&&ie(!1)},Be=U(Le);Be.addEventListener("pointerdown",Te,!0),Be.addEventListener("mousedown",Oe,!0),Be.addEventListener("contextmenu",Oe,!0);var Xe=(0,s.A)(ve);if(Xe&&(Xe.addEventListener("mousedown",Oe,!0),Xe.addEventListener("contextmenu",Oe,!0)),0)var lt,_t,tt,bt;return function(){Be.removeEventListener("pointerdown",Te,!0),Be.removeEventListener("mousedown",Oe,!0),Be.removeEventListener("contextmenu",Oe,!0),Xe&&(Xe.removeEventListener("mousedown",Oe,!0),Xe.removeEventListener("contextmenu",Oe,!0))}}},[Re,ve,Le,Ue,me]);function ce(){ye.current=!0}return ce}var Ke=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","fresh","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"];function Ce(){var ge=arguments.length>0&&arguments[0]!==void 0?arguments[0]:D.Z,Re=i.forwardRef(function(ve,Le){var Ue=ve.prefixCls,me=Ue===void 0?"rc-trigger-popup":Ue,oe=ve.children,ie=ve.action,he=ie===void 0?"hover":ie,ye=ve.showAction,ce=ve.hideAction,Te=ve.popupVisible,Oe=ve.defaultPopupVisible,Be=ve.onPopupVisibleChange,Xe=ve.afterPopupVisibleChange,lt=ve.mouseEnterDelay,_t=ve.mouseLeaveDelay,tt=_t===void 0?.1:_t,bt=ve.focusDelay,Nt=ve.blurDelay,Bt=ve.mask,ot=ve.maskClosable,It=ot===void 0?!0:ot,cr=ve.getPopupContainer,wr=ve.forceRender,er=ve.autoDestroy,Wr=ve.destroyPopupOnHide,Ct=ve.popup,Et=ve.popupClassName,vt=ve.popupStyle,nr=ve.popupPlacement,qt=ve.builtinPlacements,Dt=qt===void 0?{}:qt,nt=ve.popupAlign,Rt=ve.zIndex,Gt=ve.stretch,zt=ve.getPopupClassNameFromAlign,Qt=ve.fresh,it=ve.alignPoint,dt=ve.onPopupClick,St=ve.onPopupAlign,Mt=ve.arrow,Yt=ve.popupMotion,ft=ve.maskMotion,H=ve.popupTransitionName,Y=ve.popupAnimation,J=ve.maskTransitionName,le=ve.maskAnimation,_e=ve.className,Ne=ve.getTriggerDOMNode,Pe=(0,X.Z)(ve,Ke),$e=er||Wr||!1,Ye=i.useState(!1),Lt=(0,te.Z)(Ye,2),Ht=Lt[0],Me=Lt[1];(0,u.Z)(function(){Me((0,f.Z)())},[]);var be=i.useRef({}),ut=i.useContext(R),Ze=i.useMemo(function(){return{registerSubPopup:function(Rr,Vr){be.current[Rr]=Vr,ut==null||ut.registerSubPopup(Rr,Vr)}}},[ut]),je=(0,c.Z)(),Qe=i.useState(null),yt=(0,te.Z)(Qe,2),mt=yt[0],Ft=yt[1],At=i.useRef(null),Pt=(0,T.Z)(function(ur){At.current=ur,(0,b.Sh)(ur)&&mt!==ur&&Ft(ur),ut==null||ut.registerSubPopup(je,ur)}),Tt=i.useState(null),Xt=(0,te.Z)(Tt,2),Ut=Xt[0],ke=Xt[1],He=i.useRef(null),at=(0,T.Z)(function(ur){(0,b.Sh)(ur)&&Ut!==ur&&(ke(ur),He.current=ur)}),We=i.Children.only(oe),rt=(We==null?void 0:We.props)||{},ht={},xt=(0,T.Z)(function(ur){var Rr,Vr,Kr=Ut;return(Kr==null?void 0:Kr.contains(ur))||((Rr=(0,s.A)(Kr))===null||Rr===void 0?void 0:Rr.host)===ur||ur===Kr||(mt==null?void 0:mt.contains(ur))||((Vr=(0,s.A)(mt))===null||Vr===void 0?void 0:Vr.host)===ur||ur===mt||Object.values(be.current).some(function(Hr){return(Hr==null?void 0:Hr.contains(ur))||ur===Hr})}),Wt=K(me,Yt,Y,H),jt=K(me,ft,le,J),Jt=i.useState(Oe||!1),vr=(0,te.Z)(Jt,2),Ve=vr[0],$t=vr[1],ar=Te!=null?Te:Ve,yr=(0,T.Z)(function(ur){Te===void 0&&$t(ur)});(0,u.Z)(function(){$t(Te||!1)},[Te]);var or=i.useRef(ar);or.current=ar;var ir=i.useRef([]);ir.current=[];var hr=(0,T.Z)(function(ur){var Rr;yr(ur),((Rr=ir.current[ir.current.length-1])!==null&&Rr!==void 0?Rr:ar)!==ur&&(ir.current.push(ur),Be==null||Be(ur))}),Ar=i.useRef(),Cr=function(){clearTimeout(Ar.current)},Tr=function(Rr){var Vr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;Cr(),Vr===0?hr(Rr):Ar.current=setTimeout(function(){hr(Rr)},Vr*1e3)};i.useEffect(function(){return Cr},[]);var Or=i.useState(!1),pr=(0,te.Z)(Or,2),mr=pr[0],Zr=pr[1];(0,u.Z)(function(ur){(!ur||ar)&&Zr(!0)},[ar]);var jr=i.useState(null),rn=(0,te.Z)(jr,2),Gr=rn[0],nn=rn[1],$r=i.useState(null),hn=(0,te.Z)($r,2),on=hn[0],Nr=hn[1],lr=function(Rr){Nr([Rr.clientX,Rr.clientY])},kt=Ee(ar,mt,it&&on!==null?on:Ut,nr,Dt,nt,St),Ot=(0,te.Z)(kt,11),Zt=Ot[0],rr=Ot[1],xr=Ot[2],kr=Ot[3],Xr=Ot[4],Mr=Ot[5],ln=Ot[6],Tn=Ot[7],mn=Ot[8],Sn=Ot[9],Qr=Ot[10],Dn=G(Ht,he,ye,ce),Ln=(0,te.Z)(Dn,2),In=Ln[0],cn=Ln[1],_n=In.has("click"),dn=cn.has("click")||cn.has("contextMenu"),Nn=(0,T.Z)(function(){mr||Qr()}),Rn=function(){or.current&&it&&dn&&Tr(!1)};Fe(ar,Ut,mt,Nn,Rn),(0,u.Z)(function(){Nn()},[on,nr]),(0,u.Z)(function(){ar&&!(Dt!=null&&Dt[nr])&&Nn()},[JSON.stringify(nt)]);var Un=i.useMemo(function(){var ur=F(Dt,me,Sn,it);return y()(ur,zt==null?void 0:zt(Sn))},[Sn,zt,Dt,me,it]);i.useImperativeHandle(Le,function(){return{nativeElement:He.current,popupElement:At.current,forceAlign:Nn}});var Pn=i.useState(0),An=(0,te.Z)(Pn,2),Hn=An[0],Lr=An[1],zn=i.useState(0),vn=(0,te.Z)(zn,2),ii=vn[0],ai=vn[1],$n=function(){if(Gt&&Ut){var Rr=Ut.getBoundingClientRect();Lr(Rr.width),ai(Rr.height)}},ui=function(){$n(),Nn()},jn=function(Rr){Zr(!1),Qr(),Xe==null||Xe(Rr)},an=function(){return new Promise(function(Rr){$n(),nn(function(){return Rr})})};(0,u.Z)(function(){Gr&&(Qr(),Gr(),nn(null))},[Gr]);function bn(ur,Rr,Vr,Kr){ht[ur]=function(Hr){var Qn;Kr==null||Kr(Hr),Tr(Rr,Vr);for(var kn=arguments.length,Jn=new Array(kn>1?kn-1:0),Wn=1;Wn<kn;Wn++)Jn[Wn-1]=arguments[Wn];(Qn=rt[ur])===null||Qn===void 0||Qn.call.apply(Qn,[rt,Hr].concat(Jn))}}(_n||dn)&&(ht.onClick=function(ur){var Rr;or.current&&dn?Tr(!1):!or.current&&_n&&(lr(ur),Tr(!0));for(var Vr=arguments.length,Kr=new Array(Vr>1?Vr-1:0),Hr=1;Hr<Vr;Hr++)Kr[Hr-1]=arguments[Hr];(Rr=rt.onClick)===null||Rr===void 0||Rr.call.apply(Rr,[rt,ur].concat(Kr))});var Fn=xe(ar,dn,Ut,mt,Bt,It,xt,Tr),Zn=In.has("hover"),Jr=cn.has("hover"),yn,wn;Zn&&(bn("onMouseEnter",!0,lt,function(ur){lr(ur)}),bn("onPointerEnter",!0,lt,function(ur){lr(ur)}),yn=function(Rr){(ar||mr)&&mt!==null&&mt!==void 0&&mt.contains(Rr.target)&&Tr(!0,lt)},it&&(ht.onMouseMove=function(ur){var Rr;(Rr=rt.onMouseMove)===null||Rr===void 0||Rr.call(rt,ur)})),Jr&&(bn("onMouseLeave",!1,tt),bn("onPointerLeave",!1,tt),wn=function(){Tr(!1,tt)}),In.has("focus")&&bn("onFocus",!0,bt),cn.has("focus")&&bn("onBlur",!1,Nt),In.has("contextMenu")&&(ht.onContextMenu=function(ur){var Rr;or.current&&cn.has("contextMenu")?Tr(!1):(lr(ur),Tr(!0)),ur.preventDefault();for(var Vr=arguments.length,Kr=new Array(Vr>1?Vr-1:0),Hr=1;Hr<Vr;Hr++)Kr[Hr-1]=arguments[Hr];(Rr=rt.onContextMenu)===null||Rr===void 0||Rr.call.apply(Rr,[rt,ur].concat(Kr))}),_e&&(ht.className=y()(rt.className,_e));var Er=i.useRef(!1);Er.current||(Er.current=wr||ar||mr);var Fr=(0,ee.Z)((0,ee.Z)({},rt),ht),br={},Ur=["onContextMenu","onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur"];Ur.forEach(function(ur){Pe[ur]&&(br[ur]=function(){for(var Rr,Vr=arguments.length,Kr=new Array(Vr),Hr=0;Hr<Vr;Hr++)Kr[Hr]=arguments[Hr];(Rr=Fr[ur])===null||Rr===void 0||Rr.call.apply(Rr,[Fr].concat(Kr)),Pe[ur].apply(Pe,Kr)})});var qr=i.cloneElement(We,(0,ee.Z)((0,ee.Z)({},Fr),br)),un={x:Mr,y:ln},Xn=Mt?(0,ee.Z)({},Mt!==!0?Mt:{}):null;return i.createElement(i.Fragment,null,i.createElement(L.Z,{disabled:!ar,ref:at,onResize:ui},i.createElement(S,{getTriggerDOMNode:Ne},qr)),Er.current&&i.createElement(R.Provider,{value:Ze},i.createElement(g,{portal:ge,ref:Pt,prefixCls:me,popup:Ct,className:y()(Et,Un),style:vt,target:Ut,onMouseEnter:yn,onMouseLeave:wn,onPointerEnter:yn,zIndex:Rt,open:ar,keepDom:mr,fresh:Qt,onClick:dt,onPointerDownCapture:Fn,mask:Bt,motion:Wt,maskMotion:jt,onVisibleChanged:jn,onPrepare:an,forceRender:wr,autoDestroy:$e,getPopupContainer:cr,align:Sn,arrow:Xn,arrowPos:un,ready:Zt,offsetX:rr,offsetY:xr,offsetR:kr,offsetB:Xr,onAlign:Nn,stretch:Gt,targetWidth:Hn/Tn,targetHeight:ii/mn})))});return Re}var Se=Ce(D.Z)},2524:function(tr,qe,ae){"use strict";var ee=ae(59301),te=ae(93314),X=ae(7939),D=Object.defineProperty,W=Object.defineProperties,y=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,T=(i,o,d)=>o in i?D(i,o,{enumerable:!0,configurable:!0,writable:!0,value:d}):i[o]=d,c=(i,o)=>{for(var d in o||(o={}))b.call(o,d)&&T(i,d,o[d]);if(L)for(var d of L(o))s.call(o,d)&&T(i,d,o[d]);return i},u=(i,o)=>W(i,y(o));const f=({img:i,buttonProps:o={},styles:d={},customText:p,ButtonText:m,ButtonClick:h,Buttonclass:v,ButtonTwo:r,imgStyles:a,loading:g=!1,className:E=""})=>ee.createElement("section",{className:`tc animated fadeIn ${E}`,style:c({color:"#999",margin:"100px auto",visibility:g?"hidden":"visible"},d)},ee.createElement("img",{src:i||te,style:u(c({},a),{pointerEvents:"none",userSelect:"none"})}),ee.createElement("p",{className:"mt20 font14"},p||"\u6682\u65F6\u8FD8\u6CA1\u6709\u76F8\u5173\u6570\u636E\u54E6!"),m&&ee.createElement(X.ZP,c({className:v,onClick:h},o),m),r&&r);qe.Z=f},52918:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return v}});var ee=ae(59301),te={wrp:"wrp___dq7YK",bgBlack:"bgBlack___ARIUV",monaco:"monaco___VnZC3",darkBlue:"darkBlue___UprA9",close:"close___LKoWu",embed:"embed___hvpEJ"},X=ae(7939),D=ae(70557),W=ae(50258),y=ae(25399),L=ae(65862),b=ae(87513),s=ae(2524),T=ae(74128),c=ae(7310),u=ae(59301),f=Object.defineProperty,i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,p=(r,a,g)=>a in r?f(r,a,{enumerable:!0,configurable:!0,writable:!0,value:g}):r[a]=g,m=(r,a)=>{for(var g in a||(a={}))o.call(a,g)&&p(r,g,a[g]);if(i)for(var g of i(a))d.call(a,g)&&p(r,g,a[g]);return r},h=(r,a,g)=>new Promise((E,S)=>{var w=G=>{try{O(g.next(G))}catch(B){S(B)}},R=G=>{try{O(g.throw(G))}catch(B){S(B)}},O=G=>G.done?E(G.value):Promise.resolve(G.value).then(w,R);O((g=g.apply(r,a)).next())}),v=({editOffice:r="view",data:a,issaver:g,onSaver:E,theme:S,type:w,filename:R,monacoEditor:O,className:G,style:B,close:P,onClose:F,hasMask:K,disabledDownload:U,onImgDimensions:V,showNodata:C,recordInfo:M})=>{const[z,$]=(0,ee.useState)("https://view.officeapps.live.com/op/view.aspx?src=http://testgs.educoder.net//rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--03541f6234b93d7ac3b2d84e7eb0e6594a952945/1.ppt"),[q,se]=(0,ee.useState)(""),[ue,pe]=(0,ee.useState)(),Ee=window.ENV==="build"?"/react/build":"",De=location.host.startsWith("localhost")?T.Z.PROXY_SERVER:T.Z.API_SERVER,Ge=10*(1024*1024),xe=(0,ee.useRef)();a!=null&&a.startsWith("/api")&&w!=="txt"&&(a=T.Z.API_SERVER+a);const Ke=ve=>ve.substring(ve.lastIndexOf("/")+1).split(".").pop();R&&O&&(O.filename=R),(0,ee.useEffect)(()=>{var ve,Le;const Ue=(Le=(ve=document.cookie)==null?void 0:ve.replace(/\s/g,""))==null?void 0:Le.split(";");Ue==null||Ue.map(me=>{let oe=me.split("=");oe[0]==="_educoder_session"&&se(oe[1])})},[]),(0,ee.useEffect)(()=>{w==="office"&&(a.indexOf("bigfilescdn.")>-1||a.indexOf("bigfiles1")>-1?pe({url:a,fileType:Ke(a),model:a.indexOf("model=edit")?"edit":"view"}):Se())},[w,a]);function Ce(ve){return h(this,null,function*(){ve.data.type==="pdfdata"&&(E(ve.data.data),window.removeEventListener("message",Ce,!1)),console.log("mess---:",ve.data)})}const Se=()=>h(void 0,null,function*(){console.log("data:",a);let ve=a;a.startsWith("http")||(ve=location.origin+ve);let Le=new URL(ve).pathname.split("/").pop();const Ue=yield(0,b.gJ)({attachment_id:Le});Ue.url=De+Ue.url,pe(Ue)}),ge=()=>{if(a.startsWith("http")||a.startsWith("blob:")){Re();return}(0,L.Sv)(R||"educoder",a,R)},Re=()=>{M&&(0,c.fc)({id:M==null?void 0:M.id,watch_type:1,course_id:M==null?void 0:M.course_id}),(0,L.Nd)(R||"educoder",decodeURIComponent(a))};return u.createElement("div",{style:m({},B||{}),className:`${K&&te.bgBlack} ${w?te.wrp:"hide"}`},P&&u.createElement("div",{className:te.close,ref:xe},!!V&&u.createElement(y.Z,{title:"\u70B9\u51FB\u5BF9\u56FE\u7247\u8FDB\u884C\u6279\u6CE8",getPopupContainer:()=>xe.current},u.createElement("span",{onClick:()=>{F(),V()}},u.createElement("i",{className:"icon-yulanpizhu"}))),!U&&u.createElement(y.Z,{title:"\u70B9\u51FB\u4E0B\u8F7D\u6B64\u6587\u4EF6",getPopupContainer:()=>xe.current},u.createElement("span",{onClick:Re},u.createElement("i",{className:"icon-quxiaozhiding"}))),g&&u.createElement(y.Z,{title:"\u4FDD\u5B58pdf\u5E76\u9000\u51FA",getPopupContainer:()=>xe.current},u.createElement("span",{className:"",onClick:()=>{const ve=document.getElementById("pdfiframe");window.addEventListener("message",Ce,!1),setTimeout(()=>{ve.contentWindow.postMessage("getData","*")},300)}},u.createElement("i",{className:"icon-baocun"}))),u.createElement(y.Z,{title:"\u5173\u95ED",getPopupContainer:()=>xe.current},u.createElement("span",{className:"",onClick:()=>{F()}},u.createElement("i",{className:"icon-guanbi1"})))),u.createElement("div",{className:`${te[G]} ${G} ${te.monaco} ${w==="txt"?"show":"hide"}`},w==="txt"&&u.createElement(u.Fragment,null,u.createElement(W.ZP,m({},O)))),w==="audio"&&u.createElement("audio",{src:`${(a==null?void 0:a.indexOf("http://"))>-1||(a==null?void 0:a.indexOf("https://"))>-1?"":"data:audio/mp3;base64,"}${a}`,autoPlay:!0}),w==="video"&&u.createElement(u.Fragment,null,(a==null?void 0:a.indexOf("http"))>-1?u.createElement("video",{controls:!0,src:`${a}`,autoPlay:!0}):u.createElement("video",{controls:!0,src:`data:video/mp4;base64,${a}`,autoPlay:!0})),w==="office"&&ue&&u.createElement("iframe",{src:`${Ee}/office.html?key=${ue.key}&url=${btoa(ue.url)}&callbackUrl=${De+(ue.callbackUrl||"")}&fileType=${ue.fileType}&title=${ue.title||""}&model=${r}&officeServer=${T.Z.ONLYOFFICE}&disabledDownload=${!!U}`}),w==="html"&&u.createElement("iframe",{src:a+"&disposition=inline"}),w==="pdf"&&u.createElement("iframe",{id:"pdfiframe",src:`${Ee}/js/pdf/index.html?filename=${R||"educoder.pdf"}&url=${encodeURIComponent(a)}&disabledDownload=${!!U}&model=${r}`}),w==="image"&&u.createElement("img",{src:`${(a==null?void 0:a.indexOf("http://"))>-1||(a==null?void 0:a.indexOf("https://"))>-1?"":"data:image/png;base64,"}${a}`}),(w==="other"||w==="download")&&u.createElement(u.Fragment,null,C?u.createElement(s.Z,{customText:"\u5F53\u524D\u6587\u4EF6\u4E0D\u652F\u6301\u9884\u89C8\uFF0C\u53EF\u70B9\u51FB\u4E0B\u8F7D\u67E5\u770B",ButtonTwo:u.createElement(X.ZP,{icon:u.createElement("i",{className:"iconfont icon-xiazai4 font14"}),type:"primary",size:"middle",onClick:ge,disabled:U},"\u4E0B\u8F7D")}):u.createElement(X.ZP,{type:"primary",size:"middle",onClick:ge,disabled:U},u.createElement(D.Z,null),"\u70B9\u51FB\u4E0B\u8F7D")),w==="flowChart"&&u.createElement("div",{className:"embed"},u.createElement("iframe",{src:`/drawio/src/main/webapp/viewer.html?id=${a||""}&gapi=0&od=0&db=0&gh=0&gl=0`,width:"100%",height:"100%",frameBorder:"0"})))}},44080:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return o}});var ee=ae(59301),te=ae(6767),X=ae(75727),D=ae(73217),W=ae(80360),y=ae(41867),L=ae(56102),b=ae(84056),s={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"},T=(d,p,m)=>new Promise((h,v)=>{var r=E=>{try{g(m.next(E))}catch(S){v(S)}},a=E=>{try{g(m.throw(E))}catch(S){v(S)}},g=E=>E.done?h(E.value):Promise.resolve(E.value).then(r,a);g((m=m.apply(d,p)).next())});function c(d){if(isNaN(d))return{minutes:"00",seconds:"00"};const p=new Date(d*1e3).toISOString().substr(11,8);return{hour:p.substr(0,2),minutes:p.substr(3,2),seconds:p.substr(6,2)}}Object.defineProperty(HTMLMediaElement.prototype,"playing",{get:function(){return this.currentTime>0&&!this.paused&&!this.ended&&this.readyState>2}});function u(d,p){return d-p}function f(d){d.sort(u);let p=0;for(let m=0;m<d.length-1;m++){let h=Math.abs(d[m+1]-d[m]);h<21&&(p+=h)}return p}const i=/(android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini)/i;var o=(0,ee.forwardRef)(({allow_skip:d,src:p,toLog:m,videoId:h,logWatchHistory:v,courseId:r=null,startTime:a,handlePause:g=()=>{},handlePlay:E=()=>{},handlePlayEnded:S=()=>{},autoPlay:w=!1,onPlayEnded:R=()=>{},isShowWaterMark:O=!0},G)=>{var B;p=p==null?void 0:p.replace("http://","https://");const F=((B=p==null?void 0:p.split("."))==null?void 0:B.pop())==="flv",K=(0,ee.useRef)(),U=(0,ee.useRef)(),V=(0,ee.useRef)(),C=(0,ee.useRef)(),M=(0,ee.useRef)(),z=(0,ee.useRef)(),$=(0,ee.useRef)(),q=(0,ee.useRef)(),se=(0,ee.useRef)(),ue=(0,ee.useRef)(),pe=(0,ee.useRef)(),Ee=(0,ee.useRef)(),De=(0,ee.useRef)(),Fe=(0,ee.useRef)(),Ge=navigator.userAgent.toLowerCase().match(i),xe=Ge?Ge[0]:"pc",Ke=(0,ee.useRef)(!1),Ce=(0,y.eY)();let Se=0,ge=0,Re=0,ve=null,Le=!1,Ue=20,me=1,oe=!1,ie=!1,he=[];(0,ee.useImperativeHandle)(G,()=>({getLastUpdatedTime:()=>K.current.currentTime,getDuration:()=>K.current.duration})),te.ZP.config({maxCount:1,getContainer:()=>V.current});const ye=(0,ee.useCallback)((_t,tt=!1)=>{let bt={point:K.current.currentTime};ve?(bt.log_id=ve,bt.watch_duration=f(he),bt.total_duration=ge):(r?(bt.video_id=parseInt(h,10),bt.course_id=r):bt.video_id=h,bt.duration=Se,bt.device=xe),tt&&(bt.ed="1");function Nt(){return T(this,null,function*(){oe=!0,ve=yield v==null?void 0:v(bt),oe=!1,_t&&_t()})}Nt()},[h,r]);(0,ee.useEffect)(()=>{K.current&&(C.current.style.display="none",M.current.style.display="block"),te.ZP.destroy();let _t=null;return D.Z.isSupported&&F&&p&&(p==null?void 0:p.indexOf(".m3u8"))<0?(_t=D.Z.createPlayer({type:"flv",volume:.8,cors:!0,url:p,muted:!1}),K.current&&(_t.attachMediaElement(K.current),_t.load())):K.current.setAttribute("src",p),Te(),()=>{_t&&(_t.unload(),_t.pause(),_t.destroy(),_t=null)}},[K,F,p]);function ce(){K.current.paused?(C.current.style.display="none",M.current.style.display="block"):(C.current.style.display="block",M.current.style.display="none")}function Te(){pe.current.style.display="none",De.current.style.display="none",Ee.current.style.display="none",K.current.muted||K.current.volume===0?pe.current.style.display="block":K.current.volume>0&&K.current.volume<=.5?De.current.style.display="block":Ee.current.style.display="block"}(0,ee.useEffect)(()=>{const _t=document.getElementById("play"),tt=document.querySelectorAll(".playback-icons use");function bt(){E(),a&&!Ke.current&&(K.current.currentTime=a),Ke.current=!0,he.push(K.current.currentTime),Le||(Le=!0,m&&ye())}function Nt(){return T(this,null,function*(){ce(),he.push(K.current.currentTime),m&&ye(()=>{ve=null,Re=0,Le=!1,oe=!1,ie=!1,he=[],ge=0,me=1},!0),R()})}function Bt(){z.current.value=Math.round(K.current.currentTime),$.current.value=Math.round(K.current.currentTime)}function ot(){const Dt=c(Math.round(K.current.currentTime));se.current.innerText=`${Dt.hour>0?Dt.hour+":":""}${Dt.minutes}:${Dt.seconds}`,se.current.setAttribute("datetime",`${Dt.hour>0?" "+Dt.hour+" ":""}${Dt.minutes}m ${Dt.seconds}s`)}function It(){var Dt,nt,Rt,Gt,zt,Qt,it;const dt=Math.round((Dt=K.current)==null?void 0:Dt.duration);(Rt=(nt=z.current)==null?void 0:nt.setAttribute)==null||Rt.call(nt,"max",dt),(zt=(Gt=$.current)==null?void 0:Gt.setAttribute)==null||zt.call(Gt,"max",dt);const St=c(dt);q.current&&(q.current.innerText=`${St.hour>0?St.hour+":":""}${St.minutes}:${St.seconds}`,(it=(Qt=q.current).setAttribute)==null||it.call(Qt,"datetime",`${St.hour>0?" "+St.hour+" ":""}${St.minutes}m ${St.seconds}s`))}function cr(){try{const Dt=Math.round(K.current.duration);z.current.setAttribute("max",Dt),$.current.setAttribute("max",Dt);const nt=c(Dt);q.current.innerText=`${nt.hour>0?nt.hour+":":""}${nt.minutes}:${nt.seconds}`,q.current.setAttribute("datetime",`${nt.hour>0?" "+nt.hour+" ":""}${nt.minutes}m ${nt.seconds}s`),Bt(),ot();const{width:Rt,height:Gt,x:zt,y:Qt}=U.current.getBoundingClientRect();if(zt<0||Qt<0,!ie){let it=K.current.currentTime,dt=it-Re;Math.abs(dt)<10?(ge+=Math.abs(dt),Re=it,oe||ge-me*Ue>=0&&(me++,he.push(Re),m&&ye())):(Re=it,m&&ye())}}catch(Dt){console.log("videoplaying:",Dt)}}function wr(){ie=!0}function er(){K.current.playing&&he.push(K.current.currentTime,Re),Re=K.current.currentTime,ie=!1}function Wr(){Se=K.current.duration,Se<=20&&(Ue=Se/3),K.current.addEventListener("play",bt)}function Ct(Dt){Dt.preventDefault(),(0,b.vp)()?(K.current.style.width="100%",K.current.style.height="100%"):K.current.style.cssText=""}function Et(){g()}function vt(Dt){if(!d){te.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");return}const nt=Dt.target.dataset.seek?Dt.target.dataset.seek:Dt.target.value;K.current.currentTime=nt,$.current.value=nt,z.current.value=nt}function nr(Dt){const nt=Math.round(Dt.offsetX/Dt.target.clientWidth*parseInt(Dt.target.getAttribute("max"),10));z.current.setAttribute("data-seek",nt);const Rt=c(nt);ue.current.textContent=`${Rt.hour>0?Rt.hour+":":""}${Rt.minutes}:${Rt.seconds}`;const Gt=K.current.getBoundingClientRect();ue.current.style.left=`${Dt.pageX-Gt.left}px`}function qt(Dt){switch(Dt.code){case"Space":Dt.preventDefault(),Xe();break;case"ArrowRight":if(Dt.preventDefault(),!d){te.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(K.current.currentTime>=K.current.duration)break;K.current.currentTime=parseInt(K.current.currentTime)+5,Bt();break;case"ArrowLeft":if(Dt.preventDefault(),!d){te.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(K.current.currentTime===0)break;K.current.currentTime=parseInt(K.current.currentTime)-5,Bt();break;case"ArrowUp":Dt.preventDefault(),K.current.volume<1&&(K.current.volume=(parseInt(K.current.volume*10)+1)/10);break;case"ArrowDown":Dt.preventDefault(),K.current.volume>0&&(K.current.volume=(parseInt(K.current.volume*10)-1)/10);break}}return V.current.addEventListener((0,b.gH)(),Ct),K.current.addEventListener("canplay",Wr),K.current.addEventListener("ended",Nt),K.current.addEventListener("seeking",wr),K.current.addEventListener("seeked",er),K.current.addEventListener("loadedmetadata",It),z.current.addEventListener("mousemove",nr),z.current.addEventListener("input",vt),K.current.addEventListener("timeupdate",cr),K.current.addEventListener("pause",Et),K.current.addEventListener("volumechange",Te),document.addEventListener("keydown",qt),()=>{var Dt,nt,Rt,Gt,zt,Qt,it,dt,St,Mt,Yt,ft;(Dt=K.current)==null||Dt.removeEventListener("canplay",Wr),(nt=K.current)==null||nt.removeEventListener("play",bt),(Rt=K.current)==null||Rt.removeEventListener("ended",Nt),(Gt=K.current)==null||Gt.removeEventListener("seeking",wr),(zt=K.current)==null||zt.removeEventListener("seeked",er),(Qt=z.current)==null||Qt.removeEventListener("mousemove",nr),(it=z.current)==null||it.removeEventListener("input",vt),(dt=K.current)==null||dt.removeEventListener("timeupdate",cr),(St=K.current)==null||St.removeEventListener("pause",Et),(Mt=K.current)==null||Mt.removeEventListener("loadedmetadata",It),(Yt=K.current)==null||Yt.removeEventListener("volumechange",Te),document.removeEventListener("keydown",qt),(ft=K.current)!=null&&ft.playing&&(he.push(Re,K.current.currentTime),m&&ye())}},[K,p]),(0,ee.useEffect)(()=>{if(K.current.onended=()=>{S(K)},K.current.oncontextmenu=()=>!1,(p==null?void 0:p.indexOf(".m3u8"))>-1){if(K.current.canPlayType("application/vnd.apple.mpegurl"))K.current.src=p;else if(W.ZP.isSupported()){var _t=new W.ZP;_t.loadSource(p),_t.attachMedia(K.current)}}},[p]);const[Oe,Be]=(0,ee.useState)(1),Xe=()=>{K.current.paused||K.current.ended?K.current.play():K.current.pause(),ce()};function lt(){K.current.muted=!K.current.muted,K.current.muted?(Fe.current.setAttribute("data-volume",volume.value),Fe.current.value=0):Fe.current.value=Fe.current.dataset.volume}return ee.createElement("div",{style:{position:"relative"},ref:V},ee.createElement("div",{ref:U,className:`${s.watermark} animated_alternate animate__animated_10s animate__infinite animate__stepstart ${s.animate__loop}`},O&&Ce?Ce.login:" "),ee.createElement("div",{className:s.container},ee.createElement("div",{className:s["video-container"],id:"video-container"},ee.createElement("div",{className:s["playback-animation"],id:"playback-animation"},ee.createElement("svg",{className:s["playback-icons"]},ee.createElement("use",{className:"hidden",href:"#play-icon"}),ee.createElement("use",{href:"#pause"}))),ee.createElement("video",{className:s.video,id:"video",preload:"auto",disablePictureInPicture:!0,ref:K,autoPlay:w}),ee.createElement("div",{className:`${s["video-controls"]} `,id:"video-controls"},ee.createElement("div",{className:s["bottom-controls"]},ee.createElement("div",{className:s["left-controls"]},ee.createElement("button",{"data-title":"\u64AD\u653E/\u6682\u505C",id:"play",onClick:Xe},ee.createElement("svg",{className:s["playback-icons"]},ee.createElement("use",{ref:M,href:"#play-icon"}),ee.createElement("use",{ref:C,style:{display:"none"},href:"#pause"}))),ee.createElement("div",{className:s.time},ee.createElement("time",{id:"time-elapsed",ref:se},"00:00"),ee.createElement("span",null," / "),ee.createElement("time",{id:"duration",ref:q},"00:00"))),ee.createElement("div",{className:s["right-controls"]},d&&ee.createElement(X.Z,{placement:"top",overlayClassName:s.rateOverlay,getPopupContainer:_t=>_t.parentNode,menu:{items:[{key:"1",label:ee.createElement("span",{onClick:()=>{Be(1),K.current.playbackRate=1}},"1.0x")},{key:"2",label:ee.createElement("span",{onClick:()=>{Be(1.5),K.current.playbackRate=1.5}},"1.5x")},{key:"3",label:ee.createElement("span",{onClick:()=>{Be(2),K.current.playbackRate=2}},"2.0x")}]}},ee.createElement("div",{className:`${s.controlText} mr5`},"\u500D\u901F")),ee.createElement(L.CopyToClipboard,{text:p,onCopy:()=>te.ZP.success("\u590D\u5236\u6210\u529F")},ee.createElement("button",{"data-title":"\u590D\u5236\u94FE\u63A5"},ee.createElement("i",{className:"icon-lianjie2 iconfont",style:{fontSize:"12px",color:"white"}}))),ee.createElement("div",{className:s["volume-controls"]},ee.createElement("button",{"data-title":"\u5F00\u542F/\u5173\u95ED\u58F0\u97F3",className:s["volume-button"],id:"volume-button",onClick:lt},ee.createElement("i",{ref:pe,className:"icon-a-bianzu8 iconfont",style:{fontSize:"14px",color:"white"}}),ee.createElement("i",{ref:De,className:"icon-shengyinkaibeifen iconfont",style:{fontSize:"14px",color:"white"}}),ee.createElement("i",{ref:Ee,className:"icon-shengyinkai iconfont",style:{fontSize:"14px",color:"white"}})),ee.createElement("input",{className:s.volume,id:"volume",value:"1","data-mute":"0.5",type:"range",max:"1",min:"0",step:"0.01",ref:Fe,style:{display:"none"},onClick:Te})),ee.createElement("button",{"data-title":"\u5168\u5C4F/\u9000\u51FA\u5168\u5C4F",className:s["fullscreen-button"],onClick:()=>{(0,b.vp)()?(0,b.BU)():(0,b.Dj)(V.current)}},ee.createElement("i",{className:"icon-fangda1 iconfont",style:{fontSize:"12px",color:"white"}})))),ee.createElement("div",{className:s["video-progress"]},ee.createElement("progress",{ref:$,value:"0",min:"0"}),ee.createElement("input",{className:s.seek,ref:z,value:"0",min:"0",type:"range",step:"1"}),ee.createElement("div",{className:s["seek-tooltip"],ref:ue,id:"seek-tooltip"},"00:00"))))),ee.createElement("svg",{style:{display:"none"}},ee.createElement("defs",null,ee.createElement("symbol",{id:"pause",viewBox:"0 0 24 24"},ee.createElement("path",{d:"M14.016 5.016h3.984v13.969h-3.984v-13.969zM6 18.984v-13.969h3.984v13.969h-3.984z"})),ee.createElement("symbol",{id:"play-icon",viewBox:"0 0 24 24"},ee.createElement("path",{d:"M8.016 5.016l10.969 6.984-10.969 6.984v-13.969z"})),ee.createElement("symbol",{id:"volume-high",viewBox:"0 0 24 24"},ee.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"})),ee.createElement("symbol",{id:"volume-low",viewBox:"0 0 24 24"},ee.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"})),ee.createElement("symbol",{id:"volume-mute",viewBox:"0 0 24 24"},ee.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"})),ee.createElement("symbol",{id:"fullscreen",viewBox:"0 0 24 24"},ee.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"})),ee.createElement("symbol",{id:"fullscreen-exit",viewBox:"0 0 24 24"},ee.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"})),ee.createElement("symbol",{id:"pip",viewBox:"0 0 24 24"},ee.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"})))))})},50258:function(tr,qe,ae){"use strict";ae.d(qe,{SV:function(){return Ge},ZP:function(){return Fe}});var ee=ae(59301),te=ae(76374);const X={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"]},D={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"]},W={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 <iostream>",content:["#include <iostream>"].join(`
`)},{label:"include <vector>",content:["#include <vector>"].join(`
`)},{label:"include <cstdio>",content:["#include <cstdio>"].join(`
`)},{label:"include <cstring>",content:["#include <cstring>"].join(`
`)},{label:"include <sstream>",content:["#include <sstream>"].join(`
`)},{label:"include <fstream>",content:["#include <fstream>"].join(`
`)},{label:"include <map>",content:["#include <map>"].join(`
`)},{label:"include <string>",content:["#include <string>"].join(`
`)},{label:"include <cmath>",content:["#include <cmath>"].join(`
`)}]},y={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(`
`)}]},L={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 b=ae(53184),s=ae.n(b),T=(xe,Ke,Ce)=>new Promise((Se,ge)=>{var Re=Ue=>{try{Le(Ce.next(Ue))}catch(me){ge(me)}},ve=Ue=>{try{Le(Ce.throw(Ue))}catch(me){ge(me)}},Le=Ue=>Ue.done?Se(Ue.value):Promise.resolve(Ue.value).then(Re,ve);Le((Ce=Ce.apply(xe,Ke)).next())});const c={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"]}},u=(xe,Ke,Ce,Se)=>{const ge=Ke.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:Ce.lineNumber,endColumn:Ce.column});return Array.from(new Set(ge.match(/\b\w{2,}\b/g)||[])).map(ve=>({label:ve,kind:xe.languages.CompletionItemKind.Text,insertText:ve,range:Se}))},f=(xe,Ke,Ce,Se)=>{xe.languages.registerCompletionItemProvider(Ke,{provideCompletionItems(ge,Re){const ve=ge.getWordUntilPosition(Re),Le={startLineNumber:Re.lineNumber,endLineNumber:Re.lineNumber,startColumn:ve.startColumn,endColumn:ve.endColumn},Ue=ge.getLineContent(Re.lineNumber).substring(ve.startColumn-2,ve.endColumn);return{suggestions:[...u(xe,ge,Re,Le),...Ce.map(oe=>({label:oe,kind:xe.languages.CompletionItemKind.Keyword,documentation:oe,insertText:oe,insertTextRules:xe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Le})),...Se.map(oe=>({label:oe.label,kind:xe.languages.CompletionItemKind.Snippet,documentation:oe.content,insertText:Ue.startsWith("#")?oe.content.replace(/#/,""):oe.content,insertTextRules:xe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Le}))]}}})};var i=xe=>{c.languages.forEach(Ke=>{xe.languages.registerDocumentFormattingEditProvider(Ke,{provideDocumentFormattingEdits(Ce){return T(this,null,function*(){const Se=s()(Ce.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:Ce.getFullModelRange(),text:Se}]})}})}),f(xe,"java",D.keywords,D.quickKey),f(xe,"cpp",W.keywords,W.quickKey),f(xe,"c",X.keywords,[]),f(xe,"python",y.keywords,y.quickKey),f(xe,"scala",L.keywords,L.quickKey)};const o="\u8BE5\u4EFB\u52A1\u5173\u5361\u8BBE\u7F6E\u4E86\u7981\u6B62\u590D\u5236\u7C98\u8D34\uFF0C\u8BF7\u624B\u52A8\u8F93\u5165\u4EE3\u7801\u3002";var d=Object.defineProperty,p=(xe,Ke,Ce)=>Ke in xe?d(xe,Ke,{enumerable:!0,configurable:!0,writable:!0,value:Ce}):xe[Ke]=Ce,m=(xe,Ke,Ce)=>p(xe,typeof Ke!="symbol"?Ke+"":Ke,Ce);const h=class Al{constructor(Ke,Ce,Se){this.placeholder=Ke,this.editor=Ce,this.monaco=Se,Ce.onDidChangeModelContent(()=>this.onDidChangeModelContent()),this.onDidChangeModelContent()}onDidChangeModelContent(){this.editor.getValue()===""?this.editor.addContentWidget(this):this.editor.removeContentWidget(this)}getId(){return Al.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)}};m(h,"ID","editor.widget.placeholderHint");var r=h,a=ae(96236),g=ae(6767),E=ae(25399),S=ae(89392),w=ae(77254),R=ae(56102),O=Object.defineProperty,G=Object.defineProperties,B=Object.getOwnPropertyDescriptors,P=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,U=(xe,Ke,Ce)=>Ke in xe?O(xe,Ke,{enumerable:!0,configurable:!0,writable:!0,value:Ce}):xe[Ke]=Ce,V=(xe,Ke)=>{for(var Ce in Ke||(Ke={}))F.call(Ke,Ce)&&U(xe,Ce,Ke[Ce]);if(P)for(var Ce of P(Ke))K.call(Ke,Ce)&&U(xe,Ce,Ke[Ce]);return xe},C=(xe,Ke)=>G(xe,B(Ke)),M=(xe,Ke)=>{var Ce={};for(var Se in xe)F.call(xe,Se)&&Ke.indexOf(Se)<0&&(Ce[Se]=xe[Se]);if(xe!=null&&P)for(var Se of P(xe))Ke.indexOf(Se)<0&&K.call(xe,Se)&&(Ce[Se]=xe[Se]);return Ce},z=(xe,Ke,Ce)=>new Promise((Se,ge)=>{var Re=Ue=>{try{Le(Ce.next(Ue))}catch(me){ge(me)}},ve=Ue=>{try{Le(Ce.throw(Ue))}catch(me){ge(me)}},Le=Ue=>Ue.done?Se(Ue.value):Promise.resolve(Ue.value).then(Re,ve);Le((Ce=Ce.apply(xe,Ke)).next())});function $(xe){return/^\d+$/.test(xe)?`${xe}px`:xe}function q(){}let se=!1;const ue={"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 pe(xe=[]){let Ke=xe;if(Array.isArray(xe)){for(let Ce=0;Ce<xe.length;Ce++){let Se=ue[xe[Ce]];if(Se)return Se}return Ke[0]}return ue[Ke]||Ke}let Ee=null;const De=()=>z(void 0,null,function*(){try{yield navigator.clipboard.writeText(" "),console.log("\u5185\u5BB9\u5DF2\u81EA\u52A8\u590D\u5236\u5230\u526A\u8D34\u677F:")}catch(xe){console.error("\u81EA\u52A8\u590D\u5236\u5931\u8D25:",xe)}});var Fe=xe=>{var Ke=xe,{width:Ce="100%",height:Se="100%",value:ge,language:Re="javascript",style:ve={},options:Le={},overrideServices:Ue={},theme:me="vs-dark",onEditBlur:oe,isCopy:ie=!1,onSave:he,autoHeight:ye=!1,forbidCopy:ce=!1,onChange:Te=q,editorDidMount:Oe=q,onFocus:Be=q,onBreakPoint:Xe=q,breakPointValue:lt=[],filename:_t="educoder.txt",errorLine:tt,errorContent:bt="",highlightLine:Nt,openBreakPoint:Bt=!1,placeholder:ot="",showMiniMap:It=!0}=Ke,cr=M(Ke,["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 wr=(0,ee.useRef)(),er=(0,ee.useRef)({}),Wr=(0,ee.useRef)(),Ct=(0,ee.useRef)(),Et=(0,ee.useRef)([]),vt=(0,ee.useRef)(!1),nr=(0,ee.useRef)(),qt=(0,ee.useRef)(),Dt=(0,ee.useRef)(!1),[nt,Rt]=(0,ee.useState)(!1);function Gt(){let Pe;return wr.current&&(Pe=new te.Z($e=>{for(let Ye of $e)(Ye.target.offsetHeight>0||Ye.target.offsetWidth>0)&&er.current.instance.layout()}),Pe.observe(wr.current)),Pe}function zt(){g.ZP.warning({content:decodeURIComponent(o),key:"monaco-editor-tip"})}const Qt=()=>{let Pe=er.current.instance;if(ge!=null&&Pe&&nt){const $e=Pe.getModel();$e&&ge!==$e.getValue()&&(se=!0,$e.setValue(ge),Pe.layout(),se=!1)}};(0,ee.useEffect)(()=>{const Pe=w.Z.subscribe("formatDocument",$e=>{var Ye;let Lt=er.current.instance;(Ye=Lt==null?void 0:Lt.getAction)==null||Ye.call(Lt,"editor.action.formatDocument").run()});return window.updateMonacoValue=$e=>{Te($e)},Pe},[]),(0,ee.useEffect)(()=>{var Pe;let $e=er.current.instance;Ct.current&&clearTimeout(Ct.current),Ct.current=setTimeout(()=>{Qt()},500),ge&&(ge!=null&&ge.length)&&((Pe=$e==null?void 0:$e.updateOptions)==null||Pe.call($e,{lineNumbersMinChars:Math.max(Math.floor(Math.log10(ge.split(/\r\n|\r|\n/g).length))+3,5)}))},[ge,nt,er.current]),(0,ee.useEffect)(()=>{if(tt&&er.current&&er.current.instance){let $e=er.current.instance;$e.changeViewZones(function(Ye){var Lt=document.createElement("div");Lt.style.padding="10px 20px",Lt.style.width="calc(100% - 20px)",Lt.className="my-error-line-wrp",Lt.innerHTML=bt,Ye.addZone({afterLineNumber:tt||11,heightInLines:3,domNode:Lt})});var Pe={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}};$e.addOverlayWidget(Pe),$e.revealPositionInCenter({lineNumber:20,column:1})}},[tt,er.current,nt]);const it=(Pe="",$e)=>{if(!Pe||Pe.trim()==="")return!0;const Lt=er.current.instance.getModel().getLineTokens($e);let Ht=!1;for(let Me=0;Me<2;Me++)Lt.getStandardTokenType(Me)===1&&(Ht=!0);return Ht};(0,ee.useEffect)(()=>{var Pe;const $e=(Pe=er.current)==null?void 0:Pe.instance;if($e&&nt&&ce){const Ye=$e.onDidBlurEditorWidget(()=>{Dt.current=!1}),Lt=$e.onDidFocusEditorText(()=>{Dt.current=!0});return()=>{Ye.dispose(),Lt.dispose()}}},[er.current,nt,ce]),(0,ee.useEffect)(()=>{var Pe;if((Pe=er.current)!=null&&Pe.instance&&nt&&Bt){let $e=er.current.instance,Ye=$e.getModel();if(!Ye)return;(()=>{var At;let Pt=[],Tt=[];const Xt=Ye.getAllDecorations();for(let ke of Xt)ke.options.className==="highlighted-line"&&(Pt.push((At=ke==null?void 0:ke.range)==null?void 0:At.startLineNumber),Tt.push(ke==null?void 0:ke.id));if(Nt===Pt[0])return;Ye.deltaDecorations(Tt,[]);const Ut=Ye.getLineCount();Nt&&Nt<=Ut&&($e.deltaDecorations([],[{range:new Ee.Range(Nt,1,Nt,Ye.getLineMaxColumn(Nt)),options:{isWholeLine:!0,className:"highlighted-line"}}]),$e.revealLineInCenter(Nt))})();const Ht=(At=!1)=>{var Pt;let Tt=[],Xt=[];const Ut=Ye.getAllDecorations();for(let ke of Ut)ke.options.linesDecorationsClassName==="breakpoints-select"&&(Tt.push((Pt=ke==null?void 0:ke.range)==null?void 0:Pt.startLineNumber),Xt.push(ke==null?void 0:ke.id));if(At)return{lines:Tt,ids:Xt};Xe(Tt)},Me=At=>z(void 0,null,function*(){let Pt={range:new Ee.Range(At,1,At,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}};yield Ye.deltaDecorations([],[Pt]),Ht()}),be=At=>z(void 0,null,function*(){let Pt=[];const Tt=$e.getLineDecorations(At);for(let Xt of Tt)Xt.options.linesDecorationsClassName==="breakpoints-select"&&Pt.push(Xt.id);yield Ye.deltaDecorations(Pt,[]),Ht()}),ut=At=>{let Pt=$e.getLineDecorations(At);for(let Tt of Pt)if(Tt.options.linesDecorationsClassName==="breakpoints-select")return!0;return!1};if(!(0,S.isEqual)(lt,Ht(!0).lines)){Ye.deltaDecorations(Ht(!0).ids,[]);const At=lt.map(Pt=>({range:new Ee.Range(Pt,1,Pt,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}}));Ye.deltaDecorations([],At)}const Ze=$e.onDidChangeModelContent(At=>{let Pt=$e.getPosition();if(Pt){let Tt=Pt.lineNumber;clearTimeout(qt.current),qt.current=setTimeout(()=>{it(Ye.getLineContent(Tt),Tt)?be(Tt):ut(Tt)?(be(Tt),Me(Tt)):Ht()},100)}}),je=$e.onMouseDown(At=>{var Pt,Tt,Xt;if(At.target.detail&&((Xt=(Tt=(Pt=At.target)==null?void 0:Pt.element)==null?void 0:Tt.className)!=null&&Xt.includes("line-numbers"))){let Ut=At.target.position.lineNumber;if(it(Ye.getLineContent(Ut),Ut))return;ut(Ut)?be(Ut):Me(Ut)}}),Qe=At=>{let Pt={range:new Ee.Range(At,1,At,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-fake"}};Et.current=$e.deltaDecorations(Et.current,[Pt])},yt=()=>{Et.current=$e.deltaDecorations(Et.current,[])},mt=$e.onMouseMove(At=>{var Pt,Tt,Xt;if(yt(),At.target.detail&&((Xt=(Tt=(Pt=At.target)==null?void 0:Pt.element)==null?void 0:Tt.className)!=null&&Xt.includes("line-numbers"))){let Ut=At.target.position.lineNumber;if(it(Ye.getLineContent(Ut),Ut))return;Qe(Ut)}}),Ft=$e.onMouseLeave(()=>{yt()});return()=>{Ze.dispose(),je.dispose(),mt.dispose(),Ft.dispose()}}},[er.current,nt,lt,Nt,Bt,Re]),(0,ee.useEffect)(()=>{var Pe;(Pe=er.current)!=null&&Pe.instance&&Bt&&er.current.instance.setPosition({lineNumber:0,column:0})},[Nt]);function dt(){let Pe=er.current.instance;if(Pe){const $e=Pe.getSelection(),Ye=er.current.pastePos||{},Lt=new Ee.Range(Ye.startLineNumber||$e.endLineNumber,Ye.startColumn||$e.endColumn,Ye.endLineNumber||$e.endLineNumber,Ye.endColumn||$e.endColumn);setTimeout(()=>{Pe.executeEdits("",[{range:Lt,text:""}])},300)}}function St(Pe){(window.navigator.platform.match("Mac")?Pe.metaKey:Pe.ctrlKey)&&Pe.keyCode==83&&(Pe.preventDefault(),he())}const Mt=()=>{if(ye&&er.current.instance){const Pe=er.current.instance.getContentHeight();_e(Pe<Se?Se:Pe)}else _e(Se)};function Yt(Pe){var $e=document.createEvent("MouseEvents");$e.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),Pe.dispatchEvent($e)}const ft=Pe=>{if(!Dt.current)return;const{keyCode:$e,ctrlKey:Ye,metaKey:Lt,target:Ht,type:Me}=Pe;return(Me==="paste"||($e===67||$e===86)&&(Lt||Ye))&&Ht.nodeName==="TEXTAREA"&&(zt(),Pe.preventDefault()),!1};function H(Pe,$e){var Ye=window.URL||window.webkitURL||window,Lt=new Blob([$e]),Ht=document.createElementNS("http://www.w3.org/1999/xhtml","a");Ht.href=Ye.createObjectURL(Lt),Ht.download=Pe,Yt(Ht)}(0,ee.useEffect)(()=>{Mt()},[Mt]),(0,ee.useEffect)(()=>{wr.current&&!nt&&Promise.all([ae.e(8909),ae.e(2460)]).then(ae.bind(ae,71448)).then(Pe=>{try{Ee=Pe,er.current.instance=Ee.editor.create(wr.current,{value:ge,language:pe(Re),theme:me,requireConfig:{"vs/nls":{availableLanguages:{"*":"zh-cn"}}},wordWrap:!0,autoIndent:!0,contextmenu:!0,formatOnType:!0,minimap:{enabled:It||!1}},Ue);const $e=er.current.instance;let Ht=[...a.BH._menuItems].find(Ze=>Ze[0]._debugName=="EditorContext")[1],Me=["editor.action.clipboardCopyWithSyntaxHighlightingAction","editor.action.quickCommand","editor.action.clipboardCopyAction","editor.action.clipboardPasteAction","editor.action.clipboardCutAction"],be=(Ze,je)=>{var Qe,yt;let mt=Ze._first;do je.includes((yt=(Qe=mt.element)==null?void 0:Qe.command)==null?void 0:yt.id)&&Ze._remove(mt);while(mt=mt.next)};if(Oe($e,Ee),setTimeout(()=>{Mt(),er.current.instance.addAction({id:"d123123",label:"Download File",contextMenuGroupId:"9_cutcopypaste",run:()=>{H(_t||"educoder.txt",$e.getValue())}})},500),er.current.subscription=$e.onDidChangeModelContent(Ze=>{vt.current?clearTimeout(nr.current):(Mt(),Te($e.getValue(),Ze)),nr.current=setTimeout(()=>{vt.current=!1},500)}),window.Monaco||i(Ee,pe(Re)),ce&&(be(Ht,Me),wr.current.classList.add("noCopyPaste"),window.removeEventListener("keydown",ft),window.removeEventListener("paste",ft),window.addEventListener("keydown",ft),window.addEventListener("paste",ft)),window.Monaco=Ee,oe&&$e.onDidBlurEditorWidget(()=>{oe($e.getValue())}),Be&&$e.onDidFocusEditorText(()=>{ce&&De(),Be($e.getValue())}),ce){De();try{$e.onDidPaste(Ze=>{const je=$e.getSelection(),Qe=er.current.pastePos||{},yt=new Ee.Range(Qe.startLineNumber||je.endLineNumber,Qe.startColumn||je.endColumn,Qe.endLineNumber||je.endLineNumber,Qe.endColumn||je.endColumn);$e.executeEdits("",[{range:Ze.range,text:""}])})}catch(Ze){}}let ut=Gt();return ot&&typeof ot=="string"&&new r(ot,$e,Ee),Rt(!0),()=>{const Ze=er.current.instance;Ze.dispose();const je=Ze.getModel();je&&je.dispose(),er.current.subscription&&er.current.subscription.dispose(),ut.unobserve(wr.current)}}catch($e){}})},[]),(0,ee.useEffect)(()=>{if(er.current.instance&&nt)return document.addEventListener("keydown",St,!1),()=>{document.removeEventListener("keydown",St)}},[he,nt]),(0,ee.useEffect)(()=>{let Pe=er.current.instance;if(Pe&&nt){let $e=pe(Re);Ee.editor.setModelLanguage(Pe.getModel(),$e)}},[Re,nt]),(0,ee.useEffect)(()=>{er.current.instance&&nt&&Ee.editor.setTheme(me)},[me,nt]),(0,ee.useEffect)(()=>{let Pe=er.current.instance;Wr.current=Le,Pe&&nt&&(Pe.updateOptions(V({},Le)),setTimeout(()=>{Pe.getModel().updateOptions(V({},Le))},200))},[JSON.stringify(Le),nt]),(0,ee.useEffect)(()=>{let Pe=er.current.instance;Pe&&nt&&Pe.layout()},[Ce,Se,nt]);const[Y,J]=(0,ee.useState)($(Ce)),[le,_e]=(0,ee.useState)($(Se)),Ne=C(V({},ve),{width:Y,height:le,position:"relative"});return ee.createElement("div",{className:"my-monaco-editor",ref:wr,style:Ne,onFocus:()=>{ce&&De()}},ie&&ee.createElement(R.CopyToClipboard,{text:ge,onCopy:()=>g.ZP.success("\u590D\u5236\u6210\u529F")},ee.createElement(E.Z,{title:"\u590D\u5236\u4EE3\u7801"},ee.createElement("div",{style:{position:"absolute",top:0,right:10,cursor:"pointer",zIndex:10,color:"#165DFF"}},ee.createElement("i",{className:"iconfont icon-fuzhi8",style:{fontSize:14}})," \u590D\u5236\u4EE3\u7801"))))};function Ge({width:xe="100%",height:Ke="100%",original:Ce,modified:Se,language:ge,options:Re={}}){const ve=(0,ee.useRef)(),[Le,Ue]=(0,ee.useState)(null);function me(ye){let ce;return ve.current&&(ce=new te.Z(Te=>{for(let Oe of Te)(Oe.target.offsetHeight>0||Oe.target.offsetWidth>0)&&ye.layout()}),ce.observe(ve.current)),ce}(0,ee.useEffect)(()=>(ve.current&&Promise.all([ae.e(8909),ae.e(9404)]).then(ae.bind(ae,2550)).then(ye=>{Ee=ye;const ce=Ee.editor.createDiffEditor(ve.current,C(V({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},Re),{wordWrap:!0}));Ue(ce);let Te=me(ce);return()=>{ce.dispose();const Oe=ce.getModel();Oe&&Oe.dispose(),Te.unobserve(ve.current)}}),()=>{window.removeEventListener("keydown",checkPaste),window.removeEventListener("paste",checkPaste)}),[]),(0,ee.useEffect)(()=>{Le&&Le.setModel({original:Ee.editor.createModel(Ce,ge),modified:Ee.editor.createModel(Se,ge)})},[Ce,Se,ge,Le]);const oe=$(xe),ie=$(Ke),he={width:oe,height:ie};return ee.createElement("div",{className:"my-diff-editor",ref:ve,style:he})}},61584:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return c}});var ee={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",wrapisCurrent:"wrapisCurrent___qIfQT",tagsDom:"tagsDom___COQg7",hiddenbq:"hiddenbq___TqlUF"},te=ae(29787),X=ae(25399),D=ae(60242),W=ae(92310),y=ae.n(W),L=ae(65862),b=ae(2524),s=ae(59301),c=({className:u,dataSource:f=[],col:i=4,right:o,bottom:d=23,precision:p=0,wrapWidth:m=1200,trackEventItems:h,loading:v,onRemove:r=()=>{},isCurrent:a=!0,showProgress:g=!1,showAlias:E=!1,category:S,hiddenClick:w})=>{const R=Math.floor((m-(i-1)*o)/i),O=[{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 s.createElement(te.Z,{spinning:v},s.createElement("div",{className:y()(ee.list,u)},!!(f!=null&&f.length)&&(f==null?void 0:f.map((G,B)=>{var P,F,K,U,V,C,M,z,$,q,se,ue,pe;const{name:Ee,id:De,identifier:Fe,featured:Ge,school_name:xe,image_url:Ke,excellent:Ce,is_plan:Se}=G;return s.createElement("div",{key:De,className:a&&g?ee.wrapisCurrent:ee.wrap,style:{width:R,marginRight:(1+B)%i===0?0:o+p,marginBottom:d}},s.createElement("a",{className:ee.li,onClick:ge=>{ge.preventDefault(),ge.stopPropagation(),h&&(0,L.L9)([h]),(0,L.xg)(`/paths/${Fe}`)}},s.createElement("div",{className:ee.img},s.createElement("img",{className:ee.cover,src:`${Ke}`}),(P=G==null?void 0:G.subject_tags)==null?void 0:P.map((ge,Re)=>{var ve,Le;if(Re===0){const me=(ve=O.find(oe=>oe.name==ge))==null?void 0:ve.swimg;return s.createElement("img",{className:ee.sign,src:me,style:{left:"-4px"}})}const Ue=(Le=O.find(me=>me.name==ge))==null?void 0:Le.ptimg;return s.createElement("img",{className:ee.sign,src:Ue,style:{left:`${48+52*(Re-1)+2*Re}px`}})}),s.createElement("div",{className:ee.tagsDom},s.createElement("div",{className:"flex flex-wrap gap-10px item-center"},(G==null?void 0:G.excellent)&&s.createElement("div",{className:ee.bq},"\u5F00\u653E\u8BFE\u7A0B"),((F=G==null?void 0:G.custom_tags)==null?void 0:F.length)>0&&s.createElement(X.Z,{title:(V=(U=G==null?void 0:G.custom_tags)==null?void 0:U[((K=G==null?void 0:G.custom_tags)==null?void 0:K.length)-1])==null?void 0:V.tag_name},s.createElement("div",{className:"px-6px rounded-2px c-white h-16px flex item-center",style:{maxWidth:"62px",background:"#3061D0",border:"0.5px solid #8FAFF8"}},s.createElement("span",{className:"multi-llipsis1e text-10px"},(z=(M=G==null?void 0:G.custom_tags)==null?void 0:M[((C=G==null?void 0:G.custom_tags)==null?void 0:C.length)-1])==null?void 0:z.tag_name))))),S=="hide"&&(G==null?void 0:G.studying)&&a&&s.createElement("div",{className:`${ee.movebq} user-path-items`,onClick:ge=>{ge.stopPropagation(),r(G)}},s.createElement("i",{className:"iconfont icon-yichu1 font12"}),s.createElement("span",null,"\u79FB\u9664")),!["collect","payed"].includes(S)&&a&&s.createElement("div",{className:`${ee.hiddenbq} user-path-items`,onClick:ge=>{ge.stopPropagation(),w(G)}},s.createElement("i",{className:`iconfont ${S=="hide"?"icon-chakan2":"icon-yincangtiaojianshezhi"} font12`}),s.createElement("span",null,S=="hide"?"\u53D6\u6D88\u9690\u85CF":"\u9690\u85CF"))),s.createElement("div",{className:ee.name},s.createElement(X.Z,{title:E&&(G!=null&&G.excellent_alias_name)?s.createElement("span",null,`\u8BFE\u7A0B\u539F\u540D\uFF1A${Ee}`,s.createElement("br",null),s.createElement("span",null,`\u8BFE\u7A0B\u522B\u540D\uFF1A${G==null?void 0:G.excellent_alias_name}`)):Ee},s.createElement("span",{className:ee.e},E&&(G==null?void 0:G.excellent_alias_name)||Ee))),a&&g&&(($=G==null?void 0:G.progress)==null?void 0:$.all_score)!=0&&s.createElement("div",{style:{padding:"0px 10px",color:"#333",marginTop:10}},s.createElement(D.Z,{strokeColor:"#44d7b6",gap:"small",percent:(((q=G==null?void 0:G.progress)==null?void 0:q.my_score)/((se=G==null?void 0:G.progress)==null?void 0:se.all_score)*100).toFixed(),showInfo:!1}),"\u5DF2\u5B8C\u6210 ",(ue=G==null?void 0:G.progress)==null?void 0:ue.my_score,"/",(pe=G==null?void 0:G.progress)==null?void 0:pe.all_score),(!a||!g)&&s.createElement(X.Z,{title:`\u53D1\u5E03\u5355\u4F4D\uFF1A${xe}`},s.createElement("div",{className:ee.unit},s.createElement("i",{className:"iconfont icon-danwei1 font14 mr3"}),xe)),(!a||!g)&&s.createElement("div",{className:ee.tags},s.createElement("div",null,s.createElement(X.Z,{placement:"bottom",title:"\u7AE0\u8282\u6570"},s.createElement("span",null,s.createElement("i",{className:"iconfont icon-zhangjie1 font14 mr3"}),s.createElement("span",null,G.stages_count))),s.createElement(X.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},s.createElement("span",null,s.createElement("i",{className:"iconfont icon-chengyuan font14 mr3"}),s.createElement("span",null,G.members_count)))))))})),!f.length&&s.createElement(b.Z,null)))}},82636:function(tr,qe,ae){"use strict";ae.d(qe,{jL:function(){return W},w9:function(){return $},QD:function(){return tt},cQ:function(){return U.Z},op:function(){return Te},O5:function(){return Qt},_b:function(){return cr},t7:function(){return m},Gi:function(){return De},YG:function(){return pe},qp:function(){return c},vr:function(){return Bt},qE:function(){return Xe},Je:function(){return r},wb:function(){return K},cq:function(){return Se},tp:function(){return i}});var ee=ae(59301),te={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"},X="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAAA0CAYAAAAkEw66AAAAAXNSR0IArs4c6QAAGNVJREFUeF7VmwmwHVWdxr9zuvvu9+3ZXsxCiNkIQZOwEzMgyADjggsWgzPqOAJaMiCjYiGKqDBQAo4iWGAxA+ooMm7gBhSyhBBRIIBSAQlrHuTt7913t97PmfpOd4cXlLAFGO6rW9237719+/z6+6/nPIHX+XHttddaex38nlW2lLO1svq1wJ4aeFMM9CqFnNKoaYVapDAOicfjGEMKqKk2nrx59Lbt5xx6aPR6DEG8Hj/K3xwY0YtjSx2vYnlspLEsX0BRKUBrINtyX+PZp0r3fR+IIgzFSo9EsahFUfSHWIj7Pa919zvf2vlo+rFXdWivObjHJvR8S6vTJORHckV0+4GBAF4InwQlBCAIkEMXgCLA9Mn9WCef4ft8HWkgVIDn6ckwUA/HQfCzoFX71TsP6n/41aL3moHTWotnJnGysPEFx8ZcAtMqGTjh2NmVTL+iDB6BZurjsRSe2SogjhNwMZIngbZbqgXom8N26/KjV3femB7ebRxfE3DbRnW/k8c3LQvv5yCjOFVVqhgCyNnJmAhoxyOFasz1OeCM2lLTJryI4BQQUn1RAhI24Lc1dBjc2K6Nnv2edfP+sLvIvergxqb0vpHA1fk8lre9xBZpZsYKU9sMYiDvAHKaqU4HuANcZrIpcILiezRdo7z0aUw3BoJYI4gELAeI/bjZmBq9+PGNd5x/+unHua8U4KsKbriujxUSV9gW+rwg9WPTfpHgpEgUQgAFJwU6LSDwjSxA8F2jslSBBJaZKwVGJRv1pSAJLyQ8qlwLOA4Q1us31Z58+OTj3rX/E68E3qsGbmhK/6Nt40oIFMJwZ5URFh/cZoGgHQKODeSsaUEiA5iSy6IqYRnfmPq66YojPILbYbqpGXuhRhRrFPMSUaP+6OTAtuPff8ze97xceK8KuJGG/oBl4XsaKMTTsiwDKVXZjm1qsgRBU84TXi5VXqo24/syP5ce2xEg0gBDeAZWFijo79JnpLQxXSo7iICiIyD8qUfdxuQRRx24x5MvB95uBzfW1G+XFn4GoMMojQNOYWUK45b+jG9mW+PvFNAKEkqVYgI583VZcOB7WRrCqGwiaQovU1lAlaXKM/BMQNIGbN0FLGh0lySCVv0OP3aPOnKf2a2XCm+3ghuc1AvzOdwmLSwIwkQlBoxMtgZYCkvwQLafBYo0l2v6gBcCxRxQyifwM9PckRCniXIGbjo8wiI4bgnRRFul0XAZMABbaggVoytvo12vff7Qt/Rc8LqBm5jQndrBr3MFHOwyemaJbGaaAKzMp00zV2O+6VVnSTCPcYCNdrItEGAOcKxpVUQKLjPZ6VHVgEuf3Kf/rLk0Y4ViTpiAEUYKJaEgVDg2OTq1+j3r5w68FHi7TXFDU/El1Yr8VLudDM4IjUpLVWW2Mg0GgubybATNfN/0C5+eqjQ9oO0ngAmR0ZF5X2bKjLRZBUFgNE03AKhcPqk62wJsm+qjvyM4Aa0idFN1zcmvHraq90uvObihqej4YsH6nzCEyHwRB0WFZeZJ05xupsZSp6sty+2mXX2a/5rP0fT8MAHRZpmWph48J38zi6xUF1Vqft9KAg2BES6PmyChGGFTBVJ1kb/dq7XeeuTBs0deLLxXrLhHn2nP6+4s3Gk7Yl6Q5mpZMMjAGWjT0o+dgkR6BVnUzJSW2PpzhpHVqIygdPiEET3rzwiHP2QCSlrjUm1epE0el+R1/E6SmjDa2nGEat5Bu9089bC9O7/1moDT0GJkMv5eR6f1oVY7MRfjp2SiNgOO5pkFBpnkadmD/qflRrAtiUrBhJFdPnauJhI6SU6noXSyb2BmUZUqzYKEqSSSZ6SUSU34WagYVUsg9N27R7DtkONWrmRcf8HHK1Lc4EjrqHJn6ZdxBIsXkXU2MqVZqU/ja5ZU/MyWR5/Bps1/wfD2p+G7TUy1QziWRHfZgVXsREd3H1YtnoW+vl709nSjv7f0V4MwPnRaRUGlxSm8rG7N0pAMlim/CE4Jk+tRbTxmAoYK4Qit/Mhb9/a9eze9ILW/YQwv5jvmM/fcs720YMnMDeWStabtJrmVUVaqtsy3sRqgAm+96yH85qbb4DZqWNjfi57uHlRKJViWjSCM0Wr5aDRaqDebqDeaqLkRLFugp7OIQudMrFn+JvT3z8Ee8+dgVldxp+tkpUB42ZZgqLrEnyUq89MkODkunjVVoREFMao5G367een6lZ2fejEQXrbiBgbbn+qZUbyETcWs2KZ/Ynsoi6aMgEPjLVz6Xz/B1OjT2P8tyzB7Zm/i6IMQYRghDGk2ielkLaKIPiiM4PshGk0XzWYDU40a6m6Ickmi3N2Lt+y1B5a+eQ+sXLIQM7rLxi1QiR47I2l3xPizFFyitsQnmqhq8juNks1go2BrDRG4WwMv3veItT1TLwTvZYH7w0NP9y7sn3NPqSgXMiCYRuNz1MbE9eEnRnDhpVdh1fxu7L1iCYIwghcECKMYUfaMY4Rh8jogxJgQNQjP+CECpUK4H8bwPR8tgmzW0Ao8lEsW+vrn4sA1S7Fs2VKsXDIP1UrO3BymMD7PEwvj6wJjnjTTJFAEsUJOJj4y8iMUWIfE8bp1Kzs2virgtg23PtHTV7os9JI0wASFNPWg4vI54LGBMZz/je/i71YvQv/sWXA9D2EYIooiAzCOYoRxDM/z4Xo+PC+Az2MR31NpkU4fpKGUQKRkoiSCjCSiSCAKVPLddgON9hQsK0TXjA7su3YVDjt0Hdbu82ZzbQYgVZb6OJOW0GQjZW54XtACInTkHXjt5kXr9+r4zG4Hd/bZZ8uTTz1rY7liHxiHiR9h+sFAQHNxJMulCGed/x2jtHlv6ofruogILaZpEl6MIAiML2u1XQRhaIDxeKZGqoEAObgoTkBGkUp7bvRRfC0QRpZRkYqk6SjHcYDQryNXVNj/oLX4yIc/iMULZyVVSFr0GxVmlQWDg0xSFG5j372rV1fXr1wpdhldX7Kpbn2mtbqrs7jRkqLIC6VDzgIBwZUKwGXfuwFjA49g331WoO26CSwDh/BieK6HyakaPM9LTZbv0WQJL0r2o9ioMkhN2gDka0JkDhYpExW1FtCQEMKGlg6gbWhTxjPFaKBvZgUfP/njOHz9WrRS5QXG9AkvzeXoHxXrVw0n9puxEm8+dGVlaFeqe8ngBifiT1Y65aUha7+0+M7Sj0IeeOixYXznO1fiHQfvY1REs4wiBoIAcRQZkBOTk/B9P1GSCRBBoraQn/dTmDxOiATGLV+nioxjA49wINjAY4YtIaQFwX1hQYtkn/AtW+Okfzsdf/+OA9H2Uj+XdoiZltBebaGh2a9DrONYvfdtK8q/2L3gaurXxaI4WqUJJH2ETTPltVsaX73wvzG7IjGrrwce4RhoieKCMMDY+LiBZ2AwGJjAQKg0Sx6jCrWBmQAlTJo3vx+ZvIvOXLBEEAJCMPFNQrkBBwnNfcuGMFAFlIqRyxdw+he/gv1WL0PDTftzSicd41jBYaURa/SUHLTrjc+vX9mxy47JS1LcpoGB4qKOuZvzebFMpyUPT0BoTD023P0wfvWL67DfPsvhut4O80z8Woip+hQma41UWVQRDMwEXIQ43Se4OApSYEAYeAijwADSmp1RghPGt3Kb5MMJxEx9VJ2QNu8mYNlQUYj+hUtx9nnnolIpw83KrrSSMOCURmfOQejWr37bis6P7DbFba/ptZal77SlyPFy6WC5ZedBKYWLLrkKs6oOCvl8AoR+zWwjeL6L4dFRuJ5CEGpTsEeBQBD4iFWMWEWIwjpU6Ca+kNswNll+zCgECSkcKM02CQtS/nK0oxPDFDzRIYFSfYRIcFRfzgDktRz7z5/E8Scci7ar0g4xc0aePen0VaSAiLxHutVTe6/cRfn1khQ3OBEdU6xYv4oZbzjJopJISrX96aFtuOaH12D5ogXw/QABVZQFhCDC5NQ4xienEIQCbijh+RKTvXPhVYrIPTGAXLOOOJ4AwhAxzTKomTTEdHy1l/guc5voWTmXSPWFSVAwf7FRH83YuD5jxgQooS3HqE9Bomf2fJx9wcXo7KjAp3swLSZApjPeJUvDioLBkttYvHZtf/v5VPeSwD09Fp9Z7pDnEhzvD1MEqo2d2ut+swEPbr4fM3p7jIqYbhjlBKHxdcMjQ0ZtXmjDbSsMLFqJx048AWDWv/kvWPjNy2DXB5hXAHEIpZqwZNVct1INSFkyoJRyE1g6hjaFnp2IDyrxezqFaMClHQdjsjljsrzuk8/4Cg46ZF9zPQYc05k0qpYswFH+uCW9VYcsm7F994CbiL5fKlkf4lyC1nSswnRlWcBfftVP0RgZRqGQR2jKKd/4JZrpxOQExicmEIQWvDCHhu9gyz99FN76VQCt0AZmnnUxSg/cAUuGEKoJaBdSZjVpBCk7EnDahxRlKHCfjbccNPMis29mWSGMH6TqNKQxWStJVayccQvrjv4ATj7lRLTcpL1k2kym0GUJJlASvuvo6JADV3RtfsngbtXa3gsoBA3k3Rakb8GtiuiaUtk+xveUqRjoU9gmKuYFLr/yGkwMjSBH5xrQ4dNPBaYiGBwehOu24QUCXuhgSnTjsTPOQDxvRjqjrNB31tdRfvwB5O0cEI9BaA9SVhCpGqA56+NAa/oIC5AER2XlmfdDhT60FLBoxlYAof0UnjLukAo1arPyxhev2vcAnHbWOSaJNmWe6elRCAm4TukrS0XvOGivrt+9aHDba8GaQt56r4A8XADztYIVKgimXH6M7iDUebackzJLIm8LlIsSP/jRz/HU1ieQcywDLnHwAWq1BsbGR5M6lYrzJEZmLsHw5z8LlOm0AWwfQ885X0Ol/oypHRFPwpZF2FYXwngEgoBEHpEaNwpTyJsqROsCgupMtFeshLt8Oap/ug8d998CKQgvgICfRFppm/QEBAdg1oIlOOMrF6BcLsAPlCnHIjPvClQcgW4nhFThPxy8ovPXLwjugaGh8uxyzwXlvPOxsoPC9PUaZpYoLZobHtAMtAEhoVDKSXSUHdy+YSN+d9MGFKm4NK0gwKHhUTSaNZPL+ZEFzwXGVrwNk6edlkDjHMLmrei78DzkLR8W18qoEUiRgxR5xKoJ2+ox4EJVh5B9UDqPel8vWgccAW/Naug5Myk84OkJzDn3FOTbIwacFASXJMSC/XOZhxISHTP6ceZ5F6GzuxNekEb5IKlIOvISvU7AhPiog5ZVbtgluE0DurigHPx4RnfunXQXbNJm8wEZQAYCphDs99c9YMqDKbALtjJNyNGRQVx++dWwtDA5GHMyz/ewfXAYntdE4AfwjFkINHsXY+JzXwPmdptGXunKH6D79uuRzxVhqwBKDSFnzTTRNIrHIQXz+RAxTVF1obFqPcY/ehLQVU2CLG+AApwNGzHjR99GTk0Bqg0pvCQ9sRxIY6o5aGmjWOnCmed/A70zZ8INmCpxbGwoAF0Fgd5cEBVkfNj+Szvu2CW4rUPumTN6C+faCijwxqTTeNmXssV+bM1w9oiqm2wToELgt1AtSHQULVxzzU/w5/u2mKUMcRCg3W7hmeFhBF4rKaPY6WDGJDrQnrcUrdX7wRkcQuXe22HHU7CFgDT+zE/AKR9au7CsPkSqAWWiaieG3nkCvPe9G+DSGQrqwUdRuHUjylvvQS4ahaObELoBAVqFSCsJzto4Jkg4OQdn/sd/ord/Plw/MtAIj5Y1oywxq+DXrThae8CKzq3PC+6ux4dndRZ67uut2nM68sn6jWxtx/QvZebKiWKCq7WAmtm2IZSPGR0FjI9uxxVXfB+tqTokYgNu++AQVOSZ1EErunSWRBXTyYASkLIAbdGnMBhI6Lhu5COlA61Ck39JUTHRVAtO73ej0TMbEyeeBj1vjlGauP8RVL7/A+SDQdiowVF1SN02UVaa2fAkl2NU5TNnC5z+5QswY/5iuG4EN1KmhtWxwNwuBws7w+G85S1ftaBr8nnB3f1Y8/hqtfzDzhzQU0qm0v4WOLam6ecIjl2GWhuYaFF5IcamJtFZtNDX4WDzvZvxv9dej9BzoaIIo+Oj0FEAzSxfhyYSa50W5iAU20RNafIuwmol/k0yGPAGJJ0OZSJqHkqWEcU22vPegua/nAR0dxvVWZv+iI6fXomcrsNRDWhNU9UmAWZoVVYOgsFBOCjlLXzqjC+ia+6eaHsRmp5GMScxu8NCf4eF7qKIRBQ8mnfkz4PQ/83SuX/d2BSbHmne3Fktv72vDHQUEsWxGnjuIwPH3hf93FQbGKnTXDUeGhiCFDFmVHPoKlu49dYN+O1vb4alYozXpqBjggvNBHDyYIHDhJVQ+IiSYolFuXHqBQhGT+VCWiUTGaOYQIuIhYWQ34tLcBeugH/ch4DuXmBkEJXvXoB8ewwWXGiT77GWSBoA9G9cKBcLB92dFZx02umI8r0m9Vszv4QVsx10FYUZu7GuNHeuN1XkB9FN7Xbwmb0XVh/KuIhNWwOvs2Tn+6rCZAecITezU9PWc5i0Ml0JZKbfwsTHDU0Bky6wYcs20w7qrThGeaW8xJ0bN+HW2+5Eo9k0lQT9jWkEMVHl2dnhoNp4VLBc4uI4JrKRAcgEO7HDXFLQE64oGNz0k0pUkvUhCxZDrz4A4tEHkXvwLtgihNSJa0gEQNfAXp0NZTnGVSxeuADHHHcCpJXD+9f0YcUc2zRgn6sXnr9O3yeBlqeGJyfDE1cvKlxvkuvfP6512QF6y8kCFwYHllHZsgSezAwh7ZhyPIRHH/fMJDDWAn72x8dQb7XRVbZNoKgWLBRyAvfe/wBuuf0u1CYnIWVaQ9K5pRMrdNw8v5khM2rjZ2iYVGJWfxJunJbwBGjm0kx6ohj/zQpryyS82lKQpopgI0AnLodmaop9C4rVAwTWH3wgluy9Fh/cbxbWLSqa6idbJfpcS3PNupNkQnuioVrDk976I1eV7xW3b2lvL5eKczoLQKWQrIqk6rIeWwYuWw1kymwFTLaAgQlgsK5xxa1bUGu66ChYqOSpXMss4Ms5EtsGnsatGzahMTaWhutsLWsaug2s7F5nix7S/CKZ/08L+7RlZMqpDJ4hk62JShWbLj805Ve2II9zlCbJQqW7C/sftA4HrZiPUw/vRweD7S7A0a/XXW1SsLYSeGpIbxiZeOpIccufG8dVOys/5r2o5JNVQaw9WUrxhDRbk46k62/5moobbySKu397gK/9ZgsKFlDNSZQJzhHI2xKOJVDISTRbbfzpwS0YePxxxL73rJzNwNJZ62yG2dzydNlOUqVnK4PTdpKRWLqfLe/JPpO9nuZnTFRNyFj5Apbtswr5rpn4wpELcPiyqhHKrhTHsTJ4TLnCWNdgA3Dr/lHiuo2j1XJf7x2VvNiHTbZyBs9OA8U02zcTMjKJrsNTwEgT+NE9ow9864Ytt/dVZVDNW6LsSBT5XUsgZ7P7L5BzbDPX+qeHH8HAlr+YZQeJjSWpwk4P2pdhk05mcHfHa3YyzXKa9GD6mez9hOiOhHjHwjzzOzZ65s3B/D2XolSt7nnh+5a9a0mfZcZLkTz3MrJronVxoQ+ziPEWsL3GXDZ60NjIr/6sjynk8EsHEPRxDBK8E1ztw+k+njhHFTqJCTMl4Qm21eDd/KR7+NePLt35fPnO/8fj592ljz5sPn49rwBUC4mF0bqmp2HZMguKhOC4kpPpF8fNgLEjkPzyz/qzjo3zcwKSyqOfy2avePKuNHgwUjEB3j4FbB1R973/3zfsh9ten/+nerk35RM36MPfswdu2qMDoqOY9BO59jhb6zJdbVneyhSMixPpnphR7BSBr3tAf9i2cH45j9k0Dy58Zreitwr0dSRK5J0YbwJDLfo39eWTDrTOebkDeL2+13e5nnPZfrh/UTdmVvOJb6fq6OsIzziK9H8lCI6RldtMcX46ZbDT9V//oJ6fAz4iBI7VMfYp5SBmEFw1uTNcezFcB56YQPv329qHfPXo8n2vF4BX8rsXbdS/WD0L72ZThfA4NrqiLIdlMGSfjtBYn1Nx9HH1wDQ7Nj9v6/zGB3S5HWCvUlFfvWiGWMYFQpQzzXSoAfxlWD1w0X1y33tPEkyy33CPk6/TBx8yF7f05pDjuIrOzuaaVUoExxKT43a5akFCtVys3+Wcwweu1dbHV+LxN3VhPsEx8jANGfOAh4eiL5x0iHPeG47YtAv+9I3xp9f0yIvLDAw6ySIY/ExSnpkqVcels/x/syLgtXHpx9bhlF2CO/tanVuzHHfPqmJVOf0nNdr5SFP7D02Eb/3iEfkdtdsbFeCXbtYfXlDGueU85iKZsjXZklnpyZdpGmgWFcS4pGsQnzvuOBG/4CzXFX/Qp+zZi28pPzkZHeNIS337X2+Qp+IckWajb1RsyXWffqOeN8tRH+rKyWOhsSBnYyYziiCAa0k8EQKb2kF01acPc3akXS8IbsW1Onf6AnVib16ewqWz21vq9qu2yNPeqL7thW7xZ65391jcV1jE/1qKFcaeCfDwOYeK9D83nv32/wHzrWgvjJ8Q7AAAAABJRU5ErkJggg==",W=({dataSource:it=[],img:dt,imgWidth:St=346,title:Mt,sunTitle:Yt,bannerExtraContent:ft})=>ee.createElement("div",{className:te.banner},ee.createElement("div",{className:te.content},ee.createElement("aside",null,ee.createElement("p",null,ee.createElement("b",null,Mt),ee.createElement("span",null,Yt)),it.length>0&&ee.createElement("div",{className:te.btns},it.map((H,Y)=>ee.createElement("div",{key:Y,onClick:H.click},H.name,H.sign?ee.createElement("img",{src:X,width:39}):null))),ft),dt&&ee.createElement("img",{style:{marginTop:33,marginRight:38},src:dt,width:St}))),y={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"},L=ae(92310),b=ae.n(L),s=ae(89392),c=({dataSource:it=[],value:dt,onChange:St,onTitleChange:Mt,className:Yt,title:ft,titleWidth:H=41,style:Y={},fontColor:J="#6A7283",showCount:le})=>{const[_e,Ne]=(0,ee.useState)(1),[Pe,$e]=(0,ee.useState)(!1),Ye=(0,ee.useRef)(null),Lt=(0,ee.useRef)(null);return(0,ee.useEffect)(()=>{var Ht;it.length!==0&&(((Ht=Ye==null?void 0:Ye.current)==null?void 0:Ht.clientHeight)>97?Ne(1):Ne(0)),it.length===0&&Ne(0),$e(!1)},[it]),ee.createElement("div",{className:b()(y.row,Yt,"fadeIn","animated"),style:Y},ee.createElement("div",{onClick:(0,s.throttle)(()=>Mt==null?void 0:Mt(),2e3),style:{width:H,marginTop:Pe?12:4},className:`${y.title} ${Mt?"current":""}`},ft),ee.createElement("div",{className:Pe?`${y.tagsWrap} ${y.tagsBorderWrap}`:y.tagsWrap},ee.createElement("div",{className:y.bar,ref:Lt,style:_e>0?{height:_e===1?97:"auto",overflow:_e===1?"hidden":"auto",paddingRight:55}:{paddingRight:0}},ee.createElement("div",{className:y.tag,ref:Ye},it==null?void 0:it.map(Ht=>ee.createElement("span",{onClick:()=>St(Ht.id),key:Ht.id,style:{color:J},className:dt===Ht.id?y.active:""},ee.createElement("span",{title:Ht.name,className:y.name},Ht.name),!!le&&ee.createElement("span",{className:y.num},Ht.count))))),!!_e&&ee.createElement(ee.Fragment,null,_e===1?ee.createElement("div",{onClick:()=>{var Ht;Ne(2),((Ht=Ye==null?void 0:Ye.current)==null?void 0:Ht.clientHeight)>245?$e(!0):$e(!1)},className:y.action},"\u5C55\u5F00",ee.createElement("i",{style:{transform:"translateY(1px) scale(0.6)"},className:"iconfont icon-zhankai4"})):ee.createElement("div",{onClick:()=>{Lt.current.scrollTop=0,Ne(1),$e(!1)},className:y.action},"\u6536\u8D77",ee.createElement("i",{style:{transform:"translateY(0px) scale(0.6)"},className:"iconfont icon-shouqi3"})))))},u={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"},i=({dataSource:it=[],value:dt,onChange:St,className:Mt,style:Yt={}})=>ee.createElement("div",{style:Yt,className:b()(u.tabs,Mt)},it.map(ft=>ee.createElement("span",{onClick:()=>St(ft.id),className:dt===ft.id?u.active:"",key:ft.id},ft.name))),o={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"},d=ae(37568),m=({dataSource:it=[],value:dt="",onChange:St,onInputChange:Mt=()=>{},className:Yt,style:ft={},placeholder:H,allowClear:Y=!1})=>{var J;const[le,_e]=(0,ee.useState)(""),[Ne,Pe]=(0,ee.useState)("");(0,ee.useEffect)(()=>{var Lt;let Ht=dt;(Lt=JSON.stringify(dt))!=null&&Lt.includes("{")&&(_e(dt.id),Ht=dt.value||"");try{Pe(decodeURIComponent(Ht||""))}catch(Me){Pe(decodeURIComponent(Ht||""))}},[dt]);const $e=()=>{St(encodeURIComponent(Ne),le||null)},Ye=Lt=>{Lt!==le&&(_e(Lt),St(encodeURIComponent(Ne),Lt))};return ee.createElement("div",{className:b()(o.input,Yt),style:ft},!!it.length&&ee.createElement("div",{className:o.dropdown},ee.createElement("div",{className:o.text},(J=it.find(Lt=>Lt.id===le))==null?void 0:J.name,ee.createElement("i",{className:"iconfont icon-zhankai4"}),ee.createElement("b",{className:o.b1}),ee.createElement("b",{className:o.b2})),ee.createElement("div",{className:o.menu},it.map((Lt,Ht)=>ee.createElement("div",{key:Ht,onClick:()=>Ye(Lt.id)},Lt.name)))),ee.createElement(d.default,{onPressEnter:$e,value:Ne,onChange:Lt=>{Pe(Lt.target.value),Mt(encodeURIComponent(Lt.target.value),le||null)},placeholder:H,variant:"borderless",allowClear:Y,onClear:()=>St("",le||null)}),ee.createElement("i",{onClick:$e,className:"iconfont icon-sousuo9 font14 current"}))},h={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"},r=({value:it,onChange:dt,className:St,total:Mt,pageSize:Yt,style:ft={}})=>{const H=it<2,Y=it>=Math.ceil(Mt/Yt);return Mt<=Yt?ee.createElement(ee.Fragment,null):ee.createElement("div",{className:b()(h.quickPager,St),style:ft},ee.createElement("div",{onClick:()=>{H||dt(it-1,"prev")},className:H?h.disabled:""},"\u4E0A\u4E00\u9875"),ee.createElement("div",{onClick:()=>{Y||dt(it+1,"next")},className:Y?h.disabled:""},"\u4E0B\u4E00\u9875"))},a={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"},g=ae(29787),E=ae(25399),S=ae(58018),w=ae(74128),R=ae(65862),O=ae(96908),G=ae(57177),B=ae(81378),P=ae(2524),K=({className:it,dataSource:dt=[],col:St=4,right:Mt,bottom:Yt=23,precision:ft=0,wrapWidth:H=1200,trackEventItems:Y,loading:J})=>{const le=Math.floor((H-(St-1)*Mt)/St);return ee.createElement(g.Z,{spinning:J},ee.createElement("div",{className:b()(a.list,it)},!!dt.length&&dt.map((_e,Ne)=>{const{name:Pe,id:$e,identifier:Ye,power:Lt,cover_image_id:Ht,pic:Me}=_e;return ee.createElement("div",{className:a.wrap,key:$e,style:{width:le,marginRight:(1+Ne)%St===0?0:Mt+ft,marginBottom:Yt}},ee.createElement("a",{target:"_blank",href:`/shixuns/${Ye}/challenges`,className:a.li,onClick:be=>{be.preventDefault(),Y&&(0,R.L9)([Y]),Lt&&(0,R.xg)(`/shixuns/${Ye}/challenges`)}},ee.createElement("div",{className:a.img},ee.createElement("img",{className:a.cover,src:`${Me}`}),_e.is_jupyter&&ee.createElement("img",{className:a.sign,src:O}),_e.is_jupyter_lab&&ee.createElement("img",{className:a.sign,src:G}),_e.is_unity_3d&&ee.createElement("img",{className:a.sign,src:B})),ee.createElement("div",{className:a.name},ee.createElement(E.Z,{title:Pe||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"},ee.createElement("span",{className:a.e},Pe||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"))),ee.createElement("div",{className:a.tags},ee.createElement(E.Z,{placement:"bottom",title:"\u5173\u5361\u6570"},ee.createElement("span",null,ee.createElement("i",{className:"iconfont icon-shixunguanqia font14 mr2"}),ee.createElement("span",null,_e.challenges_count))),!!_e.myshixuns_count&&ee.createElement(E.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},ee.createElement("span",null,ee.createElement("i",{className:"iconfont icon-chengyuan font14 mr2"}),ee.createElement("span",null,_e.myshixuns_count))),ee.createElement(E.Z,{placement:"bottom",title:"\u96BE\u5EA6\u7B49\u7EA7"},ee.createElement("span",null,ee.createElement("span",null,_e.level))),ee.createElement("div",{className:a.rate},ee.createElement(S.Z,{allowHalf:!0,disabled:!0,defaultValue:_e.score_info}),ee.createElement("span",null,"\xA0",_e.score_info?`${_e.score_info}\u5206`:"5\u5206")))),!Lt&&ee.createElement("div",{className:a.lockWrap},ee.createElement("img",{src:`${w.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),ee.createElement("span",{className:"mt15 font16 c-white"},"\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743")))}),!dt.length&&ee.createElement(P.Z,null)))},U=ae(61584),V={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",hidden:"hidden___NniIi",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"},C="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAIABJREFUeF7tXWmQXFd1/s59r3t6nX00o93GluV9AQNxiAkIB0OMISFsFQqSAhOohFR+JKmEQPILClJZfpEfIUAChFQSHIJxnGDiDYwsb8KRLUuWZcmSxqN9pJF6nV7eSZ373u1509Mzvd2eGVt6VV2z9Ht3+9459+yX8Bq4mDmWK2GLqla3MvFWZt4KpjVMSBNzGoQ0M6WJkJbpMiNDxBkwMkyUIUYGxCeJaB8x7fMcZ18yiv1EVHy1Lw+9GicwO8tXlSrlbSB6O4HfANAmZlY250JEHsBHGLQTzA9H3chDfX2012Yfy9HWqwJgZh7NF6vvY/a2gWkbgyeWY3Hq+yDQcRA/RKQeSsSce4jo9EqMo50+Vy3AzNxXKFTv9MAfB/AuZo60M7Fe30tEZQA/UqBvx+POvUQ02+s+O2l/1QGcy5Xe6Cn1SXj8YYAHO5nU8j9DM1D0b8rzvpFMRp9a/v4X73HVAJwplN9GHj7P4NtW0wK1OxYCPcAKX0rHI4+0+2wv7l9xgHPFyrs9j78A5l/sxQRXrE2ix5SiLyZj7v+s2BgArBjA+XzpzR7oq8x880ouQK/7JqKnFfiziUT0iV731aj9ZQeYmYez+fJXiOguZl72/ldkkYmYmb+eSkT+lIjOLOcYlm2BBcx8sfoJz+O/BHhkOSe5evqiaaXoTxIx55tExMsxrmUBOJ/njVVUvgvmW5djUqu+D6JHHbgfTSRostdj7TnAuWLlDq/K37pwqXYxCGlaOfRbyZh7Xy9B7hnAzOzmCpUvA/jDC2WvbReogE3/TTLufo6IKu0+38r9PQE4n+f1VVS+B+ZbWhnEBX8P0Q4H7gcTCZqyvRbWARZHQLlavp8ZG20P9rXcHhEmI07kdtsODasA5/OlX6gy/dfF/bbTV5GmHeL3JBLRxzttof45awCLRYo9vpuZE7YGdyG2Q0R5UvQBWxYwKwBn8pWPEPg7IlhdiKDYnrMIXAz6WDrh/mu3bXcNcEC5P7wIbrdQzH9eQCZF7+2WkrsCWPZcD/TgRbZsF1zTmrBrBX5HN3tyxwD7YTOVRy8KVL0Bd65Vmo667q2dStcdASx6rofyjouqUK/B9dsXFUohcksnenLbAMtemy1UfnrRiLE84NZ6IdqRirtvbdfi1TbA2Xz5r5j5j5Z5ehe705RMf51KRP64ncVoC2BxHLDH9/batlz2gJPnFc7PArNVgvjViABH6Zhm/ZErQoxkH7AmxYhHlsX71s7aWr9XbNek6M52HBQtA6xdflx5pldCVaEMHDuvcK5A8AjI5oB8EShXgEoZKFeBSgVQCohEgKjr/4z3AUP9gCIg7jLWpBn9fa9lsMXa5d7UqquxJYCFYrOFyk964c8V4F44oVCsEs5lgfNZIJcHPMFIk27wU0sbof/V0UcyBgz2AyMDQDQCbBzwXrtAEz2airu/3ErQQEsA5wqVT3qe93WbPKfqAS+eUsiWCWdmgJPTQLVaB2gjw6oB3U9B0azbsGz5XV6KsWFg01pAzGqXjniIua89ilZK3ZWMu99ohklTgP0YqsqLNlnz+SJh7ymF8xkf2JKEkFu+BOx1Y8CGNcBAH2P9gGe5h5VujqZTCfeKZjFeTQHO5EpfA/ApW9N5ZYYweU5h6jhwPlfHcpux5Ha/BxCLAldfBqSijMtHX2sg4x/SyejvLIXNkgAHoa07bEnNe48rnCkQDr8CFBokehh2q1ntIizYsOVG3y/g6AH7dl3gykuAvj4gAkahSihUCCVP9nryJfNgj1dguIrQ5wKJCCMZZaSjjOGEh6jV9LbuSUb2YAW+ZamQ3CUBzubLT9mKW95zTOFkhnDoqC8NL8clL0oqSYgnCSoCVIM92580axAjji+BuyqQ4RgQOq8wUKrK/0jv83Ilo8BQzMO6VBUDseWYQfM+JO46lYi8cbE7FwVYZxxUvf9u3kXzOyZnCIfPKuw/FAhSgcxTz3GbyFQLpOh6Ics877qE9AAQiZEGSyJUI6JGOT5VxlxocEWvdgTcAGQBUtQwWRTDTQTkYhXIlQnZElD2fMBjDmMizdjYX0VkhSlbOepXF/M6LQpwJl/ebiOd5FyR8PxxhQNHgGKP8+9EL04PKU2tAr5LjIQLJB0DJmswDbACpuP41KuBFYDlEwBsKFdz72ClZqvA2SJpI4yALc+PJ6rYPCDSevOXvSd3EG1PJyK/1KjthgBLIhg8frjbwYgq9MRhB5PHgXOZha01k5nq9d4FalEgowk4/UMKTp/fR59iJBX0nqkBo8ASpsGVPdYHVD7yuwY8uLcGcrAyNZCljbopZErAqQKhWPGB3pD2cEl/RUyK3S5d+88renujhLeGI8nmyv9rI8vv+aMKh6cJk8eC8Tbjye1Oi4BEkpDo91lxVDFSjghS/lVjuQZgMXc6DDdgxRrYEAWbl0GDHwC6FMBmuLkycKJAKFUJMQe4YriCwdjy6t6S1ZhKRn6l0TY37386Pxd4st21rr9fWNnTkw72HeyNnit7Z/+YAsn+CUbaBWJ68wzADbFZQ8GaJSuex6INy9ZCVmDvNkBLW2Y/DrPpxdbmTBGYLhCYCBvSVWzury4rNSvgTfX5yQsoOJMr/T2AJXWrVsDfeUThldOEoydbubu9e9wIYWBUFtJnxwPOHPuct28KyHWs1yHWVCsgCgULwAZkDXBA3ealaAdgmYWoXlNZ0vtzfx9wzUhZ97NM19fSyeinw33NA1jKJmTzlePdZtaL40Cod8+BQGq2OLtIFBgcVVrlSTiMtDPXeHgy+ndDgYFkrPfZEBUb9cgA7H8X7M/B3m0o17QXNLvkjGRsx/OkJW+R2q8erWjW3fuLZlIJdyJcTmIewPl85QNV9r7X7UD2nVTYd4wweXTplpoZNuqf7osB6WEFD4xBw5IbdFG/b8rfMlENoKZQn01rISvYg42qNPcSzLFneRH0FWL/razR6QLh7KxvNLl2tLwsUrZD6oOJhHu3Gd88gLP5skRH3tnK4Je6Z/tBBwenGkvOnbYtHqL+Nb5DeFgMFK2wPSNBB9gYdu2zaNZg14QsvZfPl6r1ixH+NFCfms3nfBk4lSdEXcK1Y2X0tTLuZo0u8T0R3ZtKRN67AGApVZQrVI52W81GDANPHnGw64XA5RcaTODsWbSswGJCthguhsYJHjNGWwXXEJ0BSChYfjdsGKzB05Qb/M/swWGVSb8MwbMycNNGeG9uhse5EnC6qLShRUAWga5Xl1T/ScbddabEU42CbbkEX55W2DtFONAg87WZltToBZAFHV4rbBkYiDASLSzOPLYUAtgA6APFvkFD2HQAvBikjSQt1C036BdAKDt4EbSEbQwjIQNIM8BEXz5fJu3Zunqkt7basCuxthbZfOm7zPjNZgNt9v3OSYWXpgjHpxf655sB3Kjt0XEhLyDpMvrrBZVGqmadXlDbPo3QFLJUacOJYuhce+NXDu4z0nRY0hbDiTgu6oWxZmsi30sXIniJk0NUKDGK9Ooiwr+kEtGPhsQGCZEpH7NRQc7sv9PnlgzA0HNrZslKpgnxftKq0FCHZkAjYEl/AkxNWBKngo4aYWxdR7h8Qr5f3AJVKDF2H/FNnZHASSHgmz26FbCkv6kcoQrCVaMVpHsUiCAV+VLJyNoawEHtxz2tDLLZPT894OClI37oTTeXcoHRCaUdBbLvLrH2S3YzT481+CrA84CKJ2oc49feRHA1T176+vlBT8eGxSJ+PJgxc7ZjmRQ9+WiOEHMJ142WemYIibqRqyVYXs8qkyv9HoCvNptgK98/+rKD3S8CxVIrdy9+z8ioguoDBiOMePO1X9hQ6JkwFcuNQkns+UaJSpnx4V8iOC28QY+/6KFSBeIxaJVHuxoDo0k7sz1bIpwrETalq5hI9oxVfzadjP6dD3C+/B9gfn87g1zs3u2HHDz9/CIGjmY8OWhUjBlD4wpR8lWijq6wcyD4XW/ZQTBfqeJHbM5WGB9/W2sA/2yvp6k+0Qckoj6rNlaxdsYoe/8reV/6u3GsBKcdFtBqR0T/kU5EPqABzuZLLzPjklafXeq+n73s4JkXgFIXFDw2IdIMMBbh1vTdRgOqM0roNQwiN8TLpcEtC6dhfPK25gCLivbALtZUm4wDcQFYjCQdbh/ioDg1q3TwwIaUfSomwqFUInqpVOiK5QqVnK16yz854OCFg/LSLBSi6nFopBaJnXlkgtBHjCEb9WVDDgPDmiVao6zBBUR4+sztPsAvHmU89KwvOMn+KuDJfhuLsLZ7y/8kPFc+ArDEZndCwWYdROAShnLjmjKUZSqWetfJuJuk7Cxfx5XyszaoV9rQQtYkMD3TWYsjYwQ3ThgV6u1k7w11G1aRTJy1sEfJnBAOU5DPLOOzd/gA//wA49+3+/ZoAU8C9hIxRqoPSCeAlAG3zwc+2uEebIaYKQPTswqbByoYj9t3L5IbuZ5s2Z/NoB9/WWH/FOHY6QZ6cIM45nAQnbQxsVHpSIzRaGcvSPgpAViANTZvEazEEWDYswB8+QTjnTdKGA7hbJbx7YeBM1mgT8CNCqjsAxuHTpOR/Ve+kxfA2LE7JT6zF8vLcs2wfeOH2KUpVyh/3vP4i90vp9/CnuMKe15pbMlqxqJF700PkdYPJSKjkyvs9dEB8SEjhuy9IgUbAeuWrcC1m+aziVKF8cOngJdPCKA8n3KjQFxYdjRwMYZiuToZqzxzukjIVwnXj5T1S2PzUoq+QNl86dvM+JithjNFwtOTCk8+17zFeqF6fK2CijLWRHyvTzeX5gwBBUs7QrkSzSl6rLDW224A1gws3snOA4xnXvapt541a0NHKOynm3FKQN+JosLGlIeJpKR22LuI8B3K5sr3M/id9pr19+Fn9/sJZK3mFkn/Gy5ROjpj1IJwpfdcAVhin4U1e6ISARMDwLbrhAqbv0FHzzCeeInR5wCpuL/v9sneKy9gyG/czdrJMEVlSrmErcN2UzwI9GPK5MuP2U7mfmZS4YVX/Bjo8LWUGizS85p1hGSdE7+txTP6bqAOCRVrlajqS83XbwbecJnOs2252fwsQ6hZ2pFMRtl/ayG3gamy5cYWufFkUYLwCTeNWbZsEe2gbK70LAPXdTvI8PPTeYKA/OTu4L9GQFzCXzgwAKSGFIYc7spnKtgZdUgAFvelsOZrNwE3X946sOH5VD3Gjn2sbdkxAdmCgBVuX9yJ58oKVw1XkLSY50zAc7IHWzNyhAf96AEH+yehpelWrjVjhGiSMBZlcR51fIUBFoFKqFcMGrddD1w63hnAMpgn93uQUCRRmbQU3aWKFJ5gvgKcLilc2l/FSMye0UOMHZTJlU/bzBw0Az+dIzx3TGHHLn8PbHZt2KSgHMZ4N+qRsVYFrFnSUWXfFYPGO28ELptYCHClyrjnCeCJF32Hxi1XAnfcLFLy/Hu37w0ADqxYhoprHqpmE1zie9HLjxUUxpNVLWzZu2iasvnyLDN3s6yLjuexgw4OHAUOmbjoJUa++RKlY5bFc9TxFQZY2HPZ/+RngXe/Hrh87UKAv79DTJDzA99Fwn7PG+ff+8huD/kS0C/6cNwXtsRUaSNiUnawyRxhKAZcNmBPHyaiUk8Bzs4SnplSePw5P5uwfgsOC12XvE7BdRgjXfDnmr3ZWKvEHBkAfMfrgS3rFgL8Z//M+gUQsIxrUSTmP//Q/Hsf2OXp+/qTvtokurCoSyaeuuOXMnjwlRwhFSVcMWRPktYA94pFmwnvO6EgyWdPPOdLtDUvf92KXHKZ7z3qxLEvL4oSyVli8uTEQckOrPgClrxYuSLjzpsJV6xfCPBf/AvrPVrAMi+gWKw+5/thatf9z3g4XwAGk0DaOBsCn7D2NNZnQrSJ+NG8H30pgpa9S7Po3ghZ4UE+dUjh+DnCzr3zSy6E77lsi9KpJ+0ArM2QoRIe2lsURGr4rkDfW5QtAu97E+HKBgDf97RIyHMAS5ti4br9pvkA3/e0h5k8MBAALGZM0Yd1THUQ01XLoOhAljteJN3ONRbjtbSQ1Qs1qf4NFIqS/fjISWDfoSDZuq6myqVbFGLi/zXSQJ3tPaxpSfvakCFxVAFXEEuV1nsFYDFJGndghZErAO+/hXDVhsZC1oPPAruP+C/LdZuBt1+3UMj6wROM0xnGQMKn4Hk26SDHycRxmQS2dijxaIEQUaQzIWxdWk2ylSbabFCirkim4akZ4NmXfBDCe/DlW5SOvdJOBpNxv0ijJiPfUKuxVA0lgY0jvgAkL4BsCcb+fOm4sNcOSCsYw6GTrL1P2gccfKTfmTxr27b8XwcAhCxcbdhTMCUsOgJcPWSRRRM9JqbKHzH49mYA2fheFuSpIw7OFYCn9wRhPQHKW7YqXdhsIsicr0VfBB2HKdgYMgyI8vKsHwLeek17Viobc2Jm7J1iZIq+AaRmp24zlMcXsoArLAJMoPutOxtaWbTnjymcLRB27YcOr5Vr6xWkY5Q3JedaMKCaMknyjfEQyXeyzwqFFivAnW/ojkJbGfdi92SLjJ0HWbsXta06FAjQChXLnCbzhOE+xusG7TkctLPBtruw1YU6lSHsP62QLQC7DwJrxhWqirFloI5FByjXtuTQPlsTpMrAb79t+anXzFWo+Me7WEd6yN4sTgmTEtMKwBL8d7ygsDZZxXqLhg7tLrTt8G8VYHPfoWmF4znC0TMKmSrwun5PmwH9sjfBj9CebGpVihnSWKlyReBTv9KhA7ndAS9y/z1PeugPoj5MOE+rEZe5ih/ZIUaOIYuJ49rhbztkp5P1kr10+wEXB2cIG/s9DPbNVa+rUYnZi4N4ZpGShTVLPctMAfjM7Z0BfOgE4+cHgfN5YP0ocOtVrbkS6+f5b9s9DKUCCTtg1SbdpdmazJT8tJZrR+xmIOqQHdtBd80ms9j3UtTkP3dHMBpnbOpnQ8C1MoXmOSMxi+QqUq2w+Ewe+My72gf4wV2Me570JV/tpPB8gH7/DmDNYHsS93d/4gNcs3QFOnIrtmrRgUWWuGmNPQm6FnQnC7ccxo5WgL/72QgqHuPGCV4ArBG05Kdmz2UgN+sDfDYL/O672wN4aprxt/fMpaEIECacdt0w8Ad3tgfwPz3kYbQfWk/WwQFBWG0zgEWNFwl6oA/YMmgT4CBsVhY+ky/fDebfaAWEXt7zyAEHR2YUbpjwEHfnDCI1cg4iNLQLMGDPYj48m2kfYKHeR3b7QpGoNgZg8TzJnv4XH5bvWgf5Hx/0MNLvmzLDADdzRuSrUqlH6XoeaxIWPUnhwHebqSvdvABTM8CDByLYMMDYPNA4jNQYLjQQs5J240dBtsuif/A4Y9+UgMFatRGAhTMUSqT39N/eBmwYaR3gbz7oYTQNDKR8Z4REf7TibZJojlmPcMOo9bzhudQVm8ln3QAsz37vWVez5zdvDAEc+tUALM53EbBmAoA//c72WPR9TzFePsma2kR/FR1cABbqPZ8nfPhWYP1wewCPpIHBNgAWs6qwZynWstWigUPWcV7ymd6HLaWPdgvwzikHe04oXD/uYbjBIXnzKLgInAsAvqtNNen+ZxiTp1mrNkJtYkcWwU24grT5628mrG0DYM2iDcChPXgpFi2hOjNlhcstq0cL0kcDQctKAni3AIv/9vu7I7rK683rF7LpBQAXgDMZ4BPvaI+CJc/o2FnW3iHRW8UTJHu7ULAIbe+5mTAx1DoFf+thD8MCcEjIMtV7Gq2JCXqX6gLXj5XbCgRstsYNE8BtlXBo1nkr3+84pPDSGQc3rfMwUkfFJq9XVCRh0YaCP/QWQryFUFjTv0RonJzxU1I0BSs/+kMoeCbruwvHW1SVJL/p7sdYAyxStE5Oa6ImCfWeLYlwVcF4wm7aSsMSDraKsLQCYLN7ciXgnr0RXQfrzZt4XtEWDXCdFC37sGQoXLe5dYr72R4PJ87DZ9GBkGUo+FweeMd1tGRgfHgOzx1mPH+E9f4rAGtX4hIAy94r3iOXCNePlawmni1ahMVn03bKKDUDsJXv/++4g+eOKlw55mHT4NwT2oMU6MEiaIkeLFQsku8Nl0jUhqScNAf68X0eTmXmwm8MixbOIJXof/kawmj/0u3kZhn7p4Bdh31hTbPn4IURgBfLPJR0lUyZsGWwiuG4RdXIP1upcRklWcKVtkuHgfc8xg/3RFGsspaoE0G2gzZ0BA59baoUVSnvmxoF5GyBtIVL9nJxRsglViqxb+uEMskUjPvClXwkPEe8P1pNEs9UYB0TKpb2MtKelA4O0l5M6SVxKMjeLWqWBOJJW8LujbNBUk8bxWsVKuJYIKTlqAGL0Rtm7ZYshGarlGErFNrKPScyhAdecrXA9cYNfhlgk60gYMii66C6or93SuSGRD4KSKUKaVYuFK9LFjoCJOv9Viq362zBIM9Xx2OJqTJg/aYt+SltSx+Vqm9OlMu0pdNLg7YkXlpKOwi7X6x+R1lYc9Yv43PDSFn7j+1eTUoZSme2ipHaGviuowq7TzgYTTJuWucLI8Yebfbi2QBUne8rlBscpCXgGoAFZDE8SByVpj5x64XSQOV7aVf2YT8x3P+ISVTUJ+nLpLqatvTBXAElS1smrSVc+9Ksg6mwU2afNY9YZs26H6X+Ph13PxNe+wWbjK1ywrYAFl/rAy9FcSoHbB5kbBllDZpJKtPpoKGUUJGEBSShNh35EQiopui3T30+0Pr0tKDAmc4hDgQ4kw1hgJW/dX9BrrGpVGteGOEAus0glMcUSgvXddHFSSukzZGXWXTqh9e5pXLCWtiyVBDcFsiywD960UVmlnDNuIe16YCKg2o5RjfWe7MAEQBsYrfmFSM1Vd5DZYRN8W8twAVCnGlT/5T4MX34g++gNtXwxN+rSz0EFfG0V6pW8HRu9lKUVFyCUuXuqhH75Rq0nNFqQXDNpi2V9LcFsLQjqtOPX3Qhhca3jjHWpX1nhA7eC1ixYd36b3koFCigIx39lai5B8Phrvr2IGHcsHbNBYLgwHDYkC6FGDows1Yhvu5QD2nTgCv7vtTFsl2Lo7bG7ZT01yBbOpTDJsiZWeDhgxEtSIlDQth1GBQTqFeLugx1HsSm+1uVsOPQWQ4B7r7TKngpwjU9arFhcxWF5yrBm1LFQQeGLcvzx/KEfIV0wtq1wz0sDE70WDoReUujtV5U0bN5rI5NkCUT75EDEQjYw3HGNeNz0nWAT8jP2KDnYMZm4o1ipswLop9eysgUqsUVbsdUs9NV36OMa0Z7w5bN7Do6VkfvxRYPxrIJsuzJ2w9HcCLrn4N07bicUGazh87bkvpXx3JySAhhPCkCVaV3bNk3bHR2MJZM0fbRdp0vW+Mnxeu055QDqTa1cRDYNMAd17TsdmyyX5+UksEl2eMJW4aqGLPpwG/EjLo92k7vxZYPp+x2Ieufl1NOdr7i4lxRLEuMSwcYo6mFZxzZ7te0J3vtzKwvTMk5iAMxxpXDlR4YMRrOoLvDKX3J0v7xsrYXW3Rl8T7tOen4xUIjrIWwsYSd/N1G4xXVSYA9UyRUPKkeC1w+WMVo74qL1g3D0vGy0upqciUu9XJIwN6+0w4OTit9rI2rWLsb1yQZ6b7OSxKbPkVHlvMLZ2ZJq23i55LDpzcNVrE26fV0r62ft7UDogMq7tkR77apWdqrMuPwjMLhGQdydqI2TijW8dZyVKzYjyWoT2zBi1URFtYrOrcOrq+I98ePwxbmLwYNOdlsfdrDaHx5D7/S62X7iHdf4OKNVa4804t6Hr0A2bQpOvPRjIOTOYWzRd/VOFel3a9ma8yYNcNJrQSir0zJ/RHJXY5D25BFOhYz5cpcNO2Qe1MiQQ1OxVg4ouaO09AzuWLlDvb4XlsHRi/3AklJ4POzCjkpyD0rjgmlvUQV5uBsYXHC+6BHHKF01npsqo+RtFCcrdv5yoHQpOjOZMy9r9W22gJYGs3my3/FzH/UagcX77O3AkT016lE5I/babFtgJnZzRYqP7VdHa+dQV+Q9xLtSMXdtxJRW+kPbQMc7MfrPZR3MGPjBbnYyzxpIkwqRG5JJGiq3a47Alg68YPlK4++2oSudhdo5e+n6ajr3ionqHQylo4B9im59Ase6EFmbhCi3slwLj4TXgEiyivwOxKJ6OOdrkxXAEun4nVij+VQS+sRRp1O6rXwnOy1pOi9yZj7P93Mp2uApfNMvvIRAn/nIsjdQDH3rIDLoI+lE+6/dtuiFYBDlHz3RXbdHSTClknRB7qlXDMKawCbPbnK9F8XBa9OQRYrFb+nmz23vmerABvpulwt339RhWoPZFGFIk7k9k6l5cV6sw6w0ZOrqHzvojGkRZCJdjhwP9iJntush54ALJ2KwJUrVL4M4A9frbbrZovX7fdiWwbwN8m4+7l2LVSt9t0zgM0AxEHhVflbF/flBbvjtHLot9pxHLQK6jxdupOH2n1GuxpR+S6Yb2332dfk/USPOnA/2qrLr5s16DkFm8EJm84Xq5/wPP7LC5eaaVop+pNEzPlmwJ67wa6lZ5cN4BDQw9l8+StEdNeFsjcLmMz89VQi8qdEdKYlZCzdtOwAm3EHIblfZeabLc1lVTYjccsK/NlEIvrESgxwxQAOCWHv9jz+Aph/cSUWoGd9Ej2mFH3RlkWq03GuOMBm4JLwRh4+z+DbOp3ManhOsvxY4UvpeOSR1TGe1TCK0BiC/OS7APoQwKHqHKtsoPOGQzMA/7sCvp5MRp9aTSNdNRRcvyhSTqJQqN7pgT8O4F3MvArC3uZGKdVsAPxIgb4djzv3EtHsagLWjGXVAhxeLCnxlC9W38fsbQPTNgZPrMRiSgU5ED9EpB5KxJx7iKjFkxlXYrR+n68KgOuXJ6ituQ1E2wj8eoA2McuxWPYuqbcM8BEG7QTzw1E38pBtR4C90S7e0qsS4AbsPJYrYYuqVrcy8VZm3gqmcSakiTkFQpqZ0kRIy7PMyBBxBowME2WJkQHxCSLaR0z7PMfZl4xiPxFdXaKvAAAADElEQVQVlwOEXvbx/3Bccpan8cseAAAAAElFTkSuQmCC",M=ae(59301),$=({className:it,dataSource:dt=[],col:St=4,right:Mt,bottom:Yt=23,precision:ft=0,wrapWidth:H=1200,trackEventItems:Y,loading:J,category:le,hiddenClick:_e,handleVery:Ne=()=>!0,isCurrent:Pe})=>{const $e=Math.floor((H-(St-1)*Mt)/St);return M.createElement(g.Z,{spinning:J},M.createElement("div",{className:b()(V.list,it)},!!dt.length&&dt.map((Ye,Lt)=>{const{subject_identifier:Ht,id:Me,identifier:be,power:ut}=Ye,Ze=Ye.is_public!=0&&Ye.is_public;return M.createElement("div",{className:V.wrap,key:Me,style:{width:$e,marginRight:(1+Lt)%St===0?0:Mt+ft,marginBottom:Yt}},M.createElement("a",{className:V.li,onClick:je=>{je.preventDefault(),Ne(Ye==null?void 0:Ye.first_category_url)&&(Y&&(0,R.L9)([Y]),(0,R.xg)(Ye.first_category_url))}},M.createElement("div",{className:V.top},M.createElement(E.Z,{title:Ye.name},M.createElement("div",{className:V.name},Ye.name)),M.createElement("img",{className:V.img,src:w.Z.IMG_SERVER+"/images/"+Ye.avatar_url}),M.createElement("div",{className:V.text,title:Ye.creator},Ye.creator),Ht&&M.createElement("div",{className:V.btns},M.createElement("div",null,"\u5F00\u653E\u8BFE\u7A0B"),M.createElement("aside",null,"\u5F00\u653E\u8BFE\u5802")),Ze&&M.createElement("div",{className:V.sign},"\u516C\u5F00"),Pe&&M.createElement("div",{className:V.hidden,onClick:je=>{je.stopPropagation(),_e(Ye)}},M.createElement("i",{className:`iconfont ${le=="hide"?"icon-chakan2":"icon-yincangtiaojianshezhi"} font12`}),le=="hide"?"\u53D6\u6D88\u9690\u85CF":"\u9690\u85CF")),M.createElement("div",{className:V.bottom},Ye.visits>0&&M.createElement(E.Z,{title:"\u8BBF\u95EE\u91CF",placement:"bottom"},M.createElement("span",null,M.createElement("i",{className:"iconfont icon-liulanyan"}),M.createElement("span",null,Ye.visits))),Ye.course_members_count>0&&M.createElement(E.Z,{title:"\u6210\u5458",placement:"bottom"},M.createElement("span",null,M.createElement("i",{className:"iconfont icon-chengyuan"}),Ye.course_members_count)),Ye.tasks_count>0&&M.createElement(E.Z,{title:"\u4F5C\u4E1A",placement:"bottom"},M.createElement("span",null,M.createElement("i",{className:"iconfont icon-zuoye"}),Ye.tasks_count)),Ye.is_end?M.createElement("div",{style:{color:"#6B758B"}},"\u5DF2\u7ED3\u675F"):M.createElement("div",{style:{color:"#00B187"}},"\u8FDB\u884C\u4E2D"))),!Ye.is_accessible&&M.createElement("div",{className:V.lockWrap},M.createElement("img",{src:`${w.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),M.createElement("span",{className:"mt15 font16 c-white"},"\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165")))}),!dt.length&&M.createElement(P.Z,null)))},q={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"},se=ae(65582),pe=({dataSource:it=[],value:dt,onChange:St,className:Mt,style:Yt={},tabBarExtraContent:ft})=>ee.createElement("div",{className:b()(q.tabs,Mt),style:Yt},ee.createElement("div",{className:q.tabsWrap},it.map((H,Y)=>!(H!=null&&H.hide)&&ee.createElement("aside",{className:q.tab,onClick:()=>{St(H.id),H.link&&se.history.push(H.link)},key:Y},ee.createElement("div",{className:dt===H.id?q.active:""},H.name),(H==null?void 0:H.resetCount)==null&&(H==null?void 0:H.total)!==void 0&&ee.createElement("span",null,"\uFF08",H==null?void 0:H.total,"\uFF09"),(H==null?void 0:H.resetCount)!==void 0&&(H==null?void 0:H.total)!==void 0&&ee.createElement(E.Z,{title:(H==null?void 0:H.tip)!=null?H==null?void 0:H.tip:""},ee.createElement("span",{style:{color:"#9096A3"}},"\uFF08",ee.createElement("span",{style:{color:"#000"}},H==null?void 0:H.resetCount),"/",ee.createElement("span",null,H==null?void 0:H.total),"\uFF09"))))),ee.createElement("div",{className:q.tabBar},ft)),De=({className:it,style:dt={},children:St})=>ee.createElement("div",{className:b()(it),style:dt},St),Fe={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"},Ge=ae(75727),xe=ae(93041);const Ke=[{id:"updated_at",name:"\u6700\u65B0\u52A8\u6001"},{id:"created_at",name:"\u6700\u65B0\u521B\u5EFA"},{id:"name",name:"\u540D\u79F0\u6392\u5E8F"}];var Se=({sortValue:it,dropValue:dt,className:St,onSort:Mt,onDrop:Yt,dataSource:ft=Ke})=>{var H;return ee.createElement("div",{className:b()(Fe.orderWrap,St)},ee.createElement(Ge.Z,{dropdownRender:()=>ee.createElement(xe.default,null,ft.map((Y,J)=>ee.createElement(xe.default.Item,{key:J,onClick:()=>Yt(Y.id)},Y.name)))},ee.createElement("span",{className:Fe.orderTextWrap},(H=ft.find(Y=>dt===Y.id))==null?void 0:H.name)),ee.createElement("span",{className:Fe.orderIconWrap},ee.createElement("span",{className:Fe.orderAsc},ee.createElement("i",{className:it==="asc"?`iconfont icon-sanjiaoxing-up font12 ${Fe.cursorPointer} ${Fe.active}`:`iconfont icon-sanjiaoxing-up font12 ${Fe.cursorPointer}`,onClick:()=>Mt(it==="asc"?"desc":"asc")})),ee.createElement("span",{className:Fe.orderDesc},ee.createElement("i",{className:it==="desc"?`iconfont icon-sanjiaoxing-down font12 ${Fe.cursorPointer} ${Fe.active}`:`iconfont icon-sanjiaoxing-down font12 ${Fe.cursorPointer}`,onClick:()=>Mt(it==="asc"?"desc":"asc")}))))},ge={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"},Re=ae(7939),ve=Object.defineProperty,Le=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable,oe=(it,dt,St)=>dt in it?ve(it,dt,{enumerable:!0,configurable:!0,writable:!0,value:St}):it[dt]=St,ie=(it,dt)=>{for(var St in dt||(dt={}))Ue.call(dt,St)&&oe(it,St,dt[St]);if(Le)for(var St of Le(dt))me.call(dt,St)&&oe(it,St,dt[St]);return it},he=(it,dt)=>{var St={};for(var Mt in it)Ue.call(it,Mt)&&dt.indexOf(Mt)<0&&(St[Mt]=it[Mt]);if(it!=null&&Le)for(var Mt of Le(it))dt.indexOf(Mt)<0&&me.call(it,Mt)&&(St[Mt]=it[Mt]);return St},ye=(it,dt,St)=>new Promise((Mt,Yt)=>{var ft=J=>{try{Y(St.next(J))}catch(le){Yt(le)}},H=J=>{try{Y(St.throw(J))}catch(le){Yt(le)}},Y=J=>J.done?Mt(J.value):Promise.resolve(J.value).then(ft,H);Y((St=St.apply(it,dt)).next())}),Te=it=>{var dt=it,{className:St,style:Mt,children:Yt,loading:ft=!1,openLoading:H,onClick:Y=()=>{},size:J="middle",shape:le="round"}=dt,_e=he(dt,["className","style","children","loading","openLoading","onClick","size","shape"]);const[Ne,Pe]=(0,ee.useState)(!1);return ee.createElement(Re.ZP,ie({onClick:(0,s.throttle)($e=>ye(void 0,null,function*(){H&&Pe(!0);try{yield Y($e)}catch(Ye){console.log("error",Ye)}H&&Pe(!1)}),2e3,{leading:!0,trailing:!1}),className:b()(ge.btn,ge[`${J}-${le}`],St),style:Mt,size:J,shape:le,loading:Ne||ft},_e),Yt)},Oe={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"},Xe=({className:it,style:dt,children:St=null,onClick:Mt,title:Yt})=>ee.createElement("div",{className:b()(Oe.head,it),style:dt},ee.createElement("span",{className:"primary-hover",onClick:Mt},ee.createElement("i",{className:"iconfont icon-fanhui2 font12"}),"\u8FD4\u56DE"),ee.createElement("b",{title:Yt},Yt),ee.createElement("div",{className:Oe.node},St)),lt={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"},tt=({confirmShow:it=!0,confirmTitle:dt,confirmClick:St,cancelShow:Mt=!0,cancelTitle:Yt,cancelClick:ft,className:H,style:Y,confirmLoading:J=!1})=>ee.createElement("div",{className:b()(lt.btns,H),style:Y},it&&ee.createElement(Re.ZP,{loading:J,onClick:St,type:"primary",className:lt.confirm},dt),Mt&&ee.createElement(Re.ZP,{onClick:ft,className:lt.cancel},Yt)),bt={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"},Bt=({className:it,style:dt={},LeftContent:St,children:Mt,RightContent:Yt})=>ee.createElement("div",{className:b()(bt.fixedBottom,it),style:dt},ee.createElement("div",{className:bt.wrap},ee.createElement("div",{className:bt.left},St),ee.createElement("div",{className:bt.center},Mt),ee.createElement("div",{className:bt.right},Yt))),ot={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"},cr=({className:it,style:dt={},dataSource:St=[]})=>ee.createElement("div",{className:b()(ot.crumbs,it),style:dt},St.map((Mt,Yt)=>Yt<St.length-1?ee.createElement(ee.Fragment,{key:Yt},Mt.path||Mt.onClick?ee.createElement("span",{className:ot.hover,onClick:Mt!=null&&Mt.onClick?Mt.onClick:()=>se.history.push(Mt.path)},Mt.name):ee.createElement("span",null,Mt.name),ee.createElement("span",null,"\xA0",">","\xA0")):ee.createElement("span",{key:Yt,style:{color:"#5F6368"}},Mt.name))),wr=ae(11938),er=Object.defineProperty,Wr=Object.defineProperties,Ct=Object.getOwnPropertyDescriptors,Et=Object.getOwnPropertySymbols,vt=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,qt=(it,dt,St)=>dt in it?er(it,dt,{enumerable:!0,configurable:!0,writable:!0,value:St}):it[dt]=St,Dt=(it,dt)=>{for(var St in dt||(dt={}))vt.call(dt,St)&&qt(it,St,dt[St]);if(Et)for(var St of Et(dt))nr.call(dt,St)&&qt(it,St,dt[St]);return it},nt=(it,dt)=>Wr(it,Ct(dt)),Rt=(it,dt)=>{var St={};for(var Mt in it)vt.call(it,Mt)&&dt.indexOf(Mt)<0&&(St[Mt]=it[Mt]);if(it!=null&&Et)for(var Mt of Et(it))dt.indexOf(Mt)<0&&nr.call(it,Mt)&&(St[Mt]=it[Mt]);return St};const{Countdown:Gt}=wr.default;var Qt=it=>{var dt=it,{onChange:St}=dt,Mt=Rt(dt,["onChange"]);const[Yt,ft]=(0,ee.useState)(null);(0,ee.useEffect)(()=>{typeof Yt=="number"&&Yt>=0&&St(Yt)},[Yt]);const H=Y=>{const J=Math.floor(Y/1e3);ft(J)};return ee.createElement(Gt,nt(Dt({},Mt),{onChange:H}))}},84536:function(tr,qe,ae){"use strict";ae.r(qe),ae.d(qe,{default:function(){return Wr}});var ee=ae(65862),te=ae(25399),X=ae(96599),D=ae(60242),W=ae(37285),y=ae(29787),L=ae(91882),b=ae(82326),s=ae(45685),T=ae(62957),c=ae(59301),u=ae(65582),f=ae(2866),i=ae(61527),o=ae(49320),d=ae(44309),p=Object.defineProperty,m=Object.defineProperties,h=Object.getOwnPropertyDescriptors,v=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,g=(Ct,Et,vt)=>Et in Ct?p(Ct,Et,{enumerable:!0,configurable:!0,writable:!0,value:vt}):Ct[Et]=vt,E=(Ct,Et)=>{for(var vt in Et||(Et={}))r.call(Et,vt)&&g(Ct,vt,Et[vt]);if(v)for(var vt of v(Et))a.call(Et,vt)&&g(Ct,vt,Et[vt]);return Ct},S=(Ct,Et)=>m(Ct,h(Et)),w=(Ct,Et,vt)=>new Promise((nr,qt)=>{var Dt=Gt=>{try{Rt(vt.next(Gt))}catch(zt){qt(zt)}},nt=Gt=>{try{Rt(vt.throw(Gt))}catch(zt){qt(zt)}},Rt=Gt=>Gt.done?nr(Gt.value):Promise.resolve(Gt.value).then(Dt,nt);Rt((vt=vt.apply(Ct,Et)).next())});const R=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C"}],O=(Ct,Et)=>{const vt={};let nr=null;return Ct.forEach(qt=>{vt[qt.properties.uuid]=S(E({},qt),{id:qt.properties.uuid,children:[]})}),Et.forEach(qt=>{const Dt=vt[qt.startNodeUuid],nt=vt[qt.endNodeUuid];Dt&&(Dt.id=Dt.properties.uuid),Dt&&nt&&Dt.children.push(nt)}),Ct.forEach(qt=>{!Et.some(nt=>nt.endNodeUuid===qt.properties.uuid)&&(nr=vt[qt.properties.uuid])}),nr},G=(Ct,Et)=>{const vt=Ct.getParentData(Et.id,"tree");return vt?Et.style.x>vt.style.x?"right":"left":"center"};var P=({loading:Ct,nodes:Et=[],relationships:vt=[]})=>{const nr=(0,c.useRef)(null),qt=(0,c.useRef)(),Dt=(0,c.useRef)(0);(0,c.useEffect)(()=>{(Et==null?void 0:Et.length)>0&&nt()},[]);const nt=()=>w(void 0,null,function*(){var Gt,zt,Qt;const it=O(Et==null?void 0:Et.map((Yt,ft)=>{var H,Y,J,le,_e;return S(E({},Yt),{key:ft,title:(H=Yt==null?void 0:Yt.properties)==null?void 0:H.name,newcolor:parseInt((Y=Yt==null?void 0:Yt.properties)==null?void 0:Y.color)===1?"#CC7CF5":((J=R==null?void 0:R.find(Ne=>{var Pe;return(Ne==null?void 0:Ne.name)===((Pe=Yt==null?void 0:Yt.properties)==null?void 0:Pe.nodeType)}))==null?void 0:J.color)||"#2D947C",colornodeType:parseInt((le=Yt==null?void 0:Yt.properties)==null?void 0:le.color)===1?"\u6839\u8282\u70B9":((_e=R==null?void 0:R.find(Ne=>{var Pe;return(Ne==null?void 0:Ne.name)===((Pe=Yt==null?void 0:Yt.properties)==null?void 0:Pe.nodeType)}))==null?void 0:_e.name)||"\u5176\u4ED6"})}),vt==null?void 0:vt.filter(Yt=>Yt.type==="\u5305\u542B"));qt!=null&&qt.current&&((Gt=qt==null?void 0:qt.current)==null||Gt.destroy());const dt=(0,d.RN)(it),St=(zt=dt.nodes)==null?void 0:zt.filter((Yt,ft,H)=>ft===H.findIndex(Y=>Y.id===Yt.id)),Mt=(Qt=dt.edges)==null?void 0:Qt.filter((Yt,ft,H)=>ft===H.findIndex(Y=>Y.source===Yt.source&&Y.target===Yt.target));Rt({nodes:St,edges:Mt})}),Rt=Gt=>{var zt,Qt;qt.current=null,qt.current=new d.kJ({container:nr.current,autoResize:!0,autoFit:{type:((zt=Gt==null?void 0:Gt.nodes)==null?void 0:zt.length)>20?"view":"center",options:{direction:"both",when:"always"}},animation:!(((Qt=Gt==null?void 0:Gt.nodes)==null?void 0:Qt.length)>300),data:Gt,node:{style:{labelText:it=>it.title,labelFill:"#333333",fill:it=>it.newcolor,labelBackground:!1,labelPlacement:function(it){const dt=G(this,it);return dt==="center"?"right":dt},ports:[{placement:"right"},{placement:"left"}]},animation:{enter:!1}},edge:{type:"cubic-horizontal",animation:{enter:!1}},layout:{type:"mindmap",direction:"H",getHeight:()=>32,getWidth:()=>32,getVGap:()=>4,getHGap:()=>80,getSide:it=>(Dt.current++,Dt.current%2==0?"left":"right")},behaviors:["zoom-canvas","collapse-expand","drag-canvas"]}),qt.current.render()};return c.createElement("div",{style:{height:"100%"}},c.createElement(y.Z,{spinning:Ct,className:"mt60 w100",tip:"\u52A0\u8F7D\u4E2D..."}),c.createElement("div",{style:{height:"100%"},ref:nr}))},F=ae(42441),K=ae(41867),V=({abilityGoalItem:Ct=[]})=>{var Et,vt;const nr=(Et=(0,K.eY)())==null?void 0:Et.username,qt=typeof((vt=Ct==null?void 0:Ct[0])==null?void 0:vt.user_grasp_rate)=="number",Dt=Ct.map(zt=>zt.grasp_rate),nt=Ct.map(zt=>zt.user_grasp_rate),Rt=()=>{const zt=Ct.map(dt=>dt.name),Qt=[{type:"bar",name:"\u7CFB\u7EDF\u5E73\u5747",data:Dt,barMaxWidth:"20%",barGap:"50%",itemStyle:{color:"#028DFD"},label:{show:!0,position:"top",formatter:"{c}%",color:"#666"}}];qt&&Qt.unshift({type:"bar",name:nr,data:nt,barMaxWidth:"20%",itemStyle:{color:"#CDCB56"},label:{show:!0,position:"top",formatter:"{c}%",color:"#666"}});const it={tooltip:{appendToBody:!0,trigger:"item",formatter:dt=>{const{value:St,name:Mt,seriesName:Yt}=dt;return`<div>
${Mt}<br/>
${Yt}\uFF1A${St}%
</div>`}},grid:{left:"0%",right:"10%",bottom:"3%",containLabel:!0},xAxis:{data:zt,axisLabel:{color:"#666",formatter:function(dt){return dt.length>4?dt.substring(0,4)+"...":dt}},axisTick:{show:!1},axisLine:{show:!1}},yAxis:{show:!1,type:"value",axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#666",formatter:"{value}%"},splitLine:{lineStyle:{color:"rgba(164,200,252,0.1)"}}},series:Qt};return c.createElement(F.Z,{option:it,className:"w-full"})},Gt=()=>{const zt=Math.max(...Dt,...qt?nt:[])*1.2||10,Qt=[{value:Dt,name:"\u7CFB\u7EDF\u5E73\u5747",lineStyle:{color:"rgba(2, 141, 253, 1)",window:3},areaStyle:{color:"rgba(2, 141, 253, 0.35)"},itemStyle:{color:"rgba(2, 141, 253, 1)",borderWidth:2}}];qt&&Qt.unshift({value:nt,name:nr,lineStyle:{color:"rgba(205, 203, 86, 1)",window:3},areaStyle:{color:"rgba(205, 203, 86, 0.35)"},itemStyle:{color:"rgba(205, 203, 86, 1)",borderWidth:2}});const it={tooltip:{appendToBody:!0,trigger:"item",position:"right"},radar:{indicator:Ct.map(dt=>({name:dt.name,max:zt,min:0})),splitArea:{areaStyle:{color:["#fff","#f3f4f9"]}},name:{color:"#333",fontSize:12,formatter:function(dt){return dt.length>3?dt.slice(0,3)+"...":dt}},nameGap:5,axisLine:{lineStyle:{color:"#D9D9D9"}},splitLine:{lineStyle:{color:"#D9D9D9"}},center:["50%","50%"],radius:"50%"},series:[{type:"radar",symbolSize:2,tooltip:{trigger:"item",formatter:function(dt){console.log(dt);let St=dt.name+"<br/>";return dt.value.forEach((Mt,Yt)=>{St+=Ct[Yt].name+"\uFF1A"+Mt+"%<br/>"}),St}},data:Qt}]};return c.createElement(F.Z,{option:it,className:"w-full"})};return c.createElement("div",{className:"flex flex-col item-center mt-20px-rem"},c.createElement("b",{className:"text-16px-rem"}," ",qt?"\u80FD\u529B\u56FE\u8C31\u4E2A\u4EBA\u638C\u63E1\u60C5\u51B5":"\u80FD\u529B\u56FE\u8C31\u638C\u63E1\u7387\u60C5\u51B5"),qt&&c.createElement("div",{className:"flex item-center gap-20px-rem text-14px-rem mt-10px-rem"},c.createElement("div",{className:"flex item-center"},c.createElement("b",{className:"mr-10px-rem flex",style:{width:"16rem",height:"8rem",background:"#CDCB56"}}),c.createElement(te.Z,{title:nr},c.createElement("span",null,(0,ee.Pq)(nr,4)))),c.createElement("div",{className:"flex item-center"},c.createElement("b",{className:"mr-10px-rem flex",style:{width:"16rem",height:"8rem",background:"#028DFD"}}),"\u7CFB\u7EDF\u5E73\u5747")),Ct.length<3&&Rt(),Ct.length>=3&&Gt())},C=ae(82636),M=ae(38147),z=ae(74128),$=ae(52918),q={NextAbility:"NextAbility___wLOPq",AnchorDomStyle:"AnchorDomStyle___CG1xj",AnchorDom:"AnchorDom___jjRxi"},se="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA1lJREFUWEfFl09oXFUUxn/nvTEpbXXRos4bgwgGRYtZCIILhQSFtgEjgnShCNJV05pMqQstpV1UjW6seY1pFERB6EYEJVJbRMmALgqCixTFlgoupjOjUhdNo0068z65w0ycmcxMJmbk3e39zne+d/69c40Oz45P1PPnbwxZxEgkHjQjJUg5c4OcRM4zfpLH7LY7mftxjy13Qm1rge6ZVnK5yLEInkfctha+fG9c8+B0T4Ljvx6wQjublgL6T6r3L3EkEoeALR05Xg1a9IwTm403Lo/bUjOOpgLcV98o8hni0f/ouN7MOL8pwTPNorFKQN+kBkrGGYm+rjivkJiR9T2Gs2N2oZa3ToD78qUi33fbedWhE9Gb4JHaSKwIcDm/LjJdC3ur8BnntxqD1ZpYEZAKdTwSR7sZ9lZcnvFaLm3HKi0M5aK7yeUNVPt6dS9uuoV+l4pyBFKhTkVidL0sG8F7xkwubfvNTbiref7oeMhsxGt9+V/bHnC7BVPaqRLnusW7Hh7z2WWpUNOR2N/W0Jj3jBcRd0fi8zqsMW/iKYzDEvs8n6cxslGJjxAD7Xg945QlJzUHDLbuGj72U+zL7rG/g0k9Jvi2FpvwGcqOWSYI9abEqwaP5w/ad6n3tVk3eE/ihTYiMhaEuihx3yqQIYwDhXGbcXfJk3qWiA+BW1ewxheFtI3cO6M7FpfKXeTuFvDYWxi3Tyt2o4jpMlvDMeOSJUMtILY2EfBNIW1PDs4pcfECbyni5QZM0fN5KDdmPwehZlz462rMOHH/AK9khqyYDPU14okmPq63FGDGuXzadt/1rrZHRU4LdtYSVNsomNYDusk8kGgQ8JXn89yVl+xqEOqsxK4mqVhonQIo4jNSGLOzkiwIOWQwIehxYd7SS/8vo/Z7MtQsrggrx2BZxpH8OG+bmZJT2k2J2UaB5SlYTkG7IjRk8M62gMNuw0mGGkacMXg9f9CO9k1psFjCFfG/x2fYiS5vUAUm5PaJJvmvGGRcG645BQ1+8Dz2lowUJb40mJTHBMLltr7VfIY9UVDEB4KH12zD2AdR7KPYhaiTNKxnxHaCXfkZOXDsv+NKFOJbSJyA2FeyaipiW0qrhRPrWl4VEevDpCoi1qdZbR/H9jhtHCb/1/P8H/hZr0qiHgOCAAAAAElFTkSuQmCC",ue="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA/1JREFUWEe1l19oW2UYxp/nNMmWdO1cZmcSW3TYKWwKoh3MmdBVUOmEDSeINvNGGEwRLwRR0Y12FHF44c2qTvEuCaNCRS+KiJiQP512eOFFB3XzX7FNXVnLlrRL8+e8ck6XmS45OUc9O5fnfO/7/L7n/b7vvB9h8dk1OuVaLF3po1QOqMBOEgGBBLRwgnMimFOA88KWr7zOzfGpZ3cVraSm2aC7Ryd9xVLxuCoSBqTdbPzad14lJeba6DnxxzM92WYxhgDd4xc2rCxl31YFrwFotSZcN2qZ5AetW3zDF/fvWG2UoyGANutCcfULQPb8R+GbwvjDBrf76UZu1AF0RiYeqKA8LkCnPeLXiwLOKg48Nftc6KfavOsAtJmvFgvn7BavChKcdbndu2uduAGg1Ty/OJ+wz3YD/4jJjYGu3t/7thfWdtD1JxBNnlAFx+y03SgXyeFsOKRr6QBri65w0Wi1EyiAvGaUUASbAVGswhNccbnd3VopdIBANP2hKupLBtuk0N6mbJs+GMwZCfijqXEAPSLS8S8gTmcPh45SO+EuFxcXjA4ZkkvZcMjbLLE/kvrY4VBOlSvqd9YhmNvq8t5Of3TiSZHy103qZQ4QTUYgzAO4SyiPQ9BixQkq7GcgkhpRIS//H4DaWF8kqR29PisACpWP6Iuk4oDsu0UAywQ+BRkUkZ56DSboj6amReReKwAyiV4Qz9eNJcbYg2+09zccIPIk+7MDoXTgzNmH1HLpx5vjSP5MXzSZg2CTFQArtuoAxKaquA4VTb0HkTcagOe1ElwFpM0OgEER5XQ0dQkKD2cHQvrC9kfSbwnUdxvnZ862Egw9LN9+EsucEshZCPo7OtqPLCzkXjUW1xuZaVsWoTZzXZwS02reOTrRXSlVPheRB5uWjYzbsg190fSxFiA9Gw7GzW2vQSJHbDmIfJHUZ0fDwSODpNq85uv9UBTlCVuOYl8sdZICHwTXBHgREKfpjiGu3Hmfp8P8Z0SsOkH/TDi0ZJRUWwOJBJRf59JtJcGfAvGYA3BkPhx6xdLvGESZgrJZUiEcEDjMxoHIu+nq/m1gz1//NCSR9JAK9bhpsB0DyMH5cGhIS7W+JVvKxiF4xA6NJgdbxuv0Pla9uKxrSrfHvr+jIMVzIui6FRAEZzweZfcvhx69VM1f15Z3ncncX65Uxu2G0MSdCvfPDASnaifX8GKiO6EWxwTYa4cTJDMet3KoduaGDlQ/6K1a+fKbELze7G/ZHJA5kO9vdW45aXRZNb2c3jOW2ba8Iu8Q6gsC3GbFEa2PFGGk1cPhRrM2LUEjkX1xcVyYT/WqKg8A2CmAn4B+PRdgjoDWip1XqHy5w783meij6bmhxf4NftTdgSGLQUwAAAAASUVORK5CYII=",pe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAsVJREFUWEfFl0tIVGEUx39nZsxoKpGISlqmC42gxwxCEApBUhC0iR7bMLRyhrZRC6Ntecc0CtoVRRshkbKN0iJ0RmtRBj0WLUKLoEAz0po5cWe4zdWZO/czJuauzz3n9/3P6/sE02/qwSp+fm5FM4dRbUSlDqEu+7syjeg0Iq+RwENWbxqh6eiiiWvxNZrq28z870vASdD1vvZZA5kF7hIOddN05lOpf7wB3iWq+aYXED2PEjYLvMxKmEflKrVyhfquhWI+igPkTj0A2vxPgQt+kjHCoSPF1CgEmOzZQVqGQLeWJ7jjRT4SCBxkz7mXbr9LAXInT5U/uAsiHIq4lcgD5HI+Wj7ZvfSTMWqlxamJPEDS6ga9WF7ZPSEuE43ZnUUOwJb+x6/3ntUujBOqPsbOjg+egBNWK6qDRh1jd8eaqm12KnIASasftMPTuXCKSPy2rzrPr+8jnR5Cda2vLXKDaKxTsCfc/MyXkkNGAieIdN3zdwqkevei6UfAutL2Mkt4y0ZhsvcA6fTjksYrAbAdTSaaSeuw7+QMBtuECauPjHaWFcB2lkrE0cy1kn4D0i+kekZQWsoOMJHoIJPpL+2XUSFpvQFtMAZIWneA7Xl7HSQaL2xfEwDkrZCy5nyr1l0DKasdJT+mg7xgd2yg4AAmACLfVw4wcbMGqCqqWM3CIvVd9ioGEwCYM0yBHCcSu591nLLGUY16pGyYaLzNHCCbApMidAMkdqIUv5gE5OvfbWeigNhFaNSGSwD2o7KhqAIhmWHX2afGCmTb0GgQuQCSPc+ASFEAkSdEYoeMAbKDyGgUuwCM5rFJETqj2GgZyWkisVumsXPF6jcJnWVkG/uuY3lFMNhOpsp7HbvpMgsNoPaGbSyequXrOKdCBS8kNkDFr2ROKip2KXWSVdFruQNR0YeJA1HRp5m7dyr2OF3ewP/pef4HW7pxo3nDj9QAAAAASUVORK5CYII=",Ee="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA75JREFUWEe1l19sU2UYxn9v2dwGzmSoEZJtRhY1StAQtN2YkEUiYOL/C6LhQtPWLQwXwXAlRKsXcjMUJQzFrUaCesGFjptBREJ0iXQmXOGCIQKJZDH4Z2Jm6UZ7HnNqCx30z2ktJ2lz8p3ned7ne8/7ft/5DI9Xb5dunonzJLDSgWVAi0GTjGlgIvM76RPDzXP5NnLMkl6krRSoe7naUileF7yAaCiFd5+bMYn4pL6Rd3Z/Y38U4xQ0EInId/4QbzhiG2KOl8DXYgwu4mP7mhb61x2wVD6NvAb6Vuj2+AyfSTxWSeDrOMaRulrW7Rm1yTwmZw+FOrQUh4MSzVUJnhUxTtfVsnbPqJ3J1Z2Vge4u3ZaMc8ItsKoGv2riVE0j7XuP2MWrQ5k7953/MsKIxOobEjwjanBozZ08ka2JKxkItyviOLx5I4NntX3GK4Mx253uGPfPbbVkip8qrfayTRsX6htoGzhmU2kDoYCGJIJehAx+NzgsuF+w1AunACYSHbO3zF3hEpe44GWRMWPKxAODY3Y2bdyvZ4B+QVu5Rsw4OxSzRRYK6HmJLzwKHI6O2dpcbN/jqotPsgmxVaLRo04a5jMedA18KNHjkfhldMyey4ft7dKC6Utsl3gxW1ulNH0+tlnQrzHg4VLgzPOCBrL8YKce4jLvA8tLaZqx383ArxJ3lAJ7NXDFSLtew2FHUV3jqIX8Sgjqqm0g013jEvcV1DZOWTCguJcOKDcDLj7o18/AokIGDH50MzAhWFjNDLid8c+f7EBsLKZrxtduDYxKdFbLwMsdejaVor/YzLOxDD61sF8fOND3fw10d2hJ0mEn4lGPWu46sMXCAT3tiK88kYyj0ZitysVuXKVbE1O8Legpdy+pNe6xzPtyl+JbSpowEjVG597jdiLSpZrzCXolIhJNJbnXAozxaMwWpzejYEDvITZ5EjESBj9I3A0s8MTJA/IZmwdjtvO/7XiFFiZnOIOor1SwLJ5xrrWVeyMHbCb3g2SD4zBQllCFYJvD+qHv7XOXPuubMOzXfgfWV6jrjWbsi8bM3bDS1ywDW1Zr3uRfxASLvamVhzLj+Nz5dO0aMfc0db0BdyTs112OMYxYUp58cXQ6+E08tes7+y0XmfdgsrlDDX87DEi8VBUTxr558+nOnXnBDOQGDPsVcox3Pa0R+Zwa58zH1mzB5YeUmOKGR9R0OcmrEiHPpyVj3AcfN7cy4LZasRAlT8dZsiTraaczKVaasUyixYwmxDTGBGIC42QNDH8Us9NeX92/T9xk1NzUiXsAAAAASUVORK5CYII=",De="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAYCAYAAADpnJ2CAAAAAXNSR0IArs4c6QAAAu5JREFUSEvlll1IU2EYx//PcW6JSuRFBRVB1I2Qtk3dh1JSXiVRF1bQXaFUBJ5tFFGCLLywTbTtUAwREoIKvIgI+iAqL3Jf0jYUpKsIiogkAsv8aOs8dWyT09zcZnrVe/m+/+f/4/2/7/ucQyhg1I+4ymeLdK0AtQHYQkT3E0LCPVbnmMjXhvIR1o72bvuZ0LSDuA2g9Wk1TIwHMsuuWL09mMtvWeAev6dWEMgBoAWAJpcZGC8Bdkct4kMQcSb9UiA7BUOo4gjAdgANOSEZBMQ0IUN2C9qSu5Ga03G1ZBFYNdZTWjSjPUUMGwg7VgJaWkPvwehLlM4PjFdf+K6sU+OwU/NVV2EH8SUAG1YHtMTlM5jcpNV5yBjwnmDC7TUCpds6qXL4RlmJLjHItHAx1nDw47m54mOLZ2gMS80sczeA3atIjYPxFIRmInRGzGLX37eUmYxBbwsTdQCo/gfwPAM3hQRflYuFMmKeyAxUEWpC3oMyQ7lIhTyNWQYPyCy7x6yOD4qdPiRV5gVMsfcEvFaBcB7AYQBCll3PMMinJbknbLZ9UmvyBur917fHrOfepTqGIdC3E6QRAT4JoDRpOkuALy5rXeP1ZyfBTPqwdJyYy6MW24CiMYQkM5iDOSM1Br0+APuZIJUk5m75Gy5+UwwahwfXTWmn6gTCJi3k50Gr48tCdEGpiQAXwAYmdMfM4uUqv2+jRvgxAmAXAW/lOJmy9lIFyMCZ5E6mwbhDJPdHLPaoOjJj8JqBIbgANKXmU0BjyNPATC8AFP9ulVMyUW2+QDXjNUAjAE8riQHYl36uKaAybwx6WxnoFwiHXpnFRysB5nwtauAfqMcUsdjCC700W3VapDkhakE6UL32PwMDUicTXykoy6SYQGLE0i5lqs0a6dGhoaI3Wz/2giAWAGUm7oqZRGf+vxhp7vqA9wAJ6ARj73JgBkYB6ohZ2p8tp8vrr00xSPZU5ZtpAmMzEbQMmgQQAfO9qFV8kk8SvwBkMTigdig/4QAAAABJRU5ErkJggg==",Fe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAABBRJREFUSEu1ln1MVXUYx7/fc87FQbRaL7PwZZZRDQTOhRxj1mLZqFz9Q8tVWyb34tVirbmsVpvOWfOPXNqGJl7kMvSfbNnLHyWbWfSuw+s95zIYTd0QFGvZ1gvG4J7ze+pc4h0uBLff38/z/Tx7fs8bMctnbuzI1RJOuRCLoSQHhAOyi1Rd4vraYo35HWOlSkLnr3PdvvUUVAJSBGAQwheZilcS6s1S7pUXIGqdCPJS2RJoJbV6QcanwOAmgWyGSPZYH4I90wLNoP0sRXaKIGeWSZjKrEWjvp8Gom7CPQfy50nAkpD4XCe+DyIb5gECyFO3XpN1/7Ha3IHiQNtaJe4RAC3jgB5MOfHPROTBecH+dSb4xS3ZWWsuX716AoJV0FgzDmgGrAMQhNIBG9EgvkvCyD8zaSwbAfqD1jOicCitsDFipPZGLFK4LQks29yT2f/br2cBLPp/gBTd51sUDeddTgKLA/bLSuStNMMugTQgsjCpq3G91VDUlAT6q+y4QArSBSTh6DTKHbhlULLL0yV4MtZYVMaVgfjtCVHn0wVLihNbYhHz7ZJQ+1I3kbgwrG2Qd9MftAKi0JA2IPGRFTErt28X7eNu+xgEFcPaGvVK+gPWVhHsSAuQ/FE3skuj4eW/+6vsnQJ5bdxoI16iP2DvF5FN8waSF3XDWBUN53cXV1uVysXRiZoE9tIMWHshqJkPkMQVzdDui4YLO0tCdrHroAUi104CknU0g/aW4UqaE5Tsg64/YNWvaL0nYN/lQr4Rwc1TaZHY5qX0cRH5YK4wQ9MeO32woMWrSJVwvhXIkum0qCFILypHpPO/Ar00AvojsUjB6dLqtoUDSn0NkTtT6fioLU82vhmwT0KkdLZQb5FqPlYM/Vn7Utdxjs8EI9gWaywqHAIG7WooqZ8NkGCnkalVtL5b0JP8M8HxVGkc7UG+ciZStCsJLK22Fw+40jMTkOCHGdlZVadqc//wqlE50jxdgUzQupR5/Y25P+xZ0j80SwPxHSJq67Sf7R1MwKuxiLnbs0n2mWLTxJslRbGsizWYh5NjryzYfkO/OF1e35A8ISKrJ0YHQ19r1Rd8742rTy7E35w4QVJmhghbEXPjsI3Xh89DyT6SX93xcOHqc83xwyLy1IgB8QuA3QsyFrw3MDBYJ5CHZkr9qC8/14zCNdEwE6PAKuvLf46bck3Hk2cOmkeeeF/0s81xb1LcO1vhKe3Iet0orBkLS6bUDNg/eUuS8OWTaoUS9zkvgLnCSPQK+bq3bKecNv4qu3tSWZN9BPcAGXWUwUcFEhJISaogSHSA2iFNv6k2Gs75a9oCMoPxpynqHQAZAG0Ijmq+7CZvxYx1WrmhPd91Vb5QboPIMggMaOyl4KLyGS3WgTzvJprx/Q3wmMIl7X6GaAAAAABJRU5ErkJggg==",Ge="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAstJREFUSEu9lk1oE1EQx2de06xNxaNSxS+wYltMNi0iBXsSBE/tQawnIZugXtpKUS9VCGgvFgKxF9EkRfHQFA/tSRC9qKAFm2SDKdoKSgVrPUqamK8deSFbt+km2bTb7imZN/v/vbdvvhA0j9MlTzKGk3NB+7TWrv3dfe3Lgb/Z9EsiIMRd56KhEz8r+erZUTU63fJZUugVIH5raba1vRhvzei9IEqxMBBc5GsIGI5OOC7VDSzBAgBwpCiE+JxZGgfnHrUva8U6PXKPUqA3WlsDQs9cSHxnFIr8MxJQ/4YXEJOMkScSEMN8zeslNr0U/whETq0vAkZ6D9tPeb2oGIFilzveVyDyAdHRMqEZQbBe//Cw7Tu3i27ZAwo91r0XRE805AgaAnKn8wOLwq/V1DMiusD/M2zoj4ROTqkCpwcW92SSqUUA2qsrirgiNNuOz463/qkFXQuarivzLYV8bgEJXkcnHH3r7s4ljylAN6qKIY7FQo5bhoHcsdMT67dahFn1MxZt7sQxRcknAMhaXQyzjFk6IsGOr9X81k6o58RhRPmnRNRda+el6H6PaLlcDaoLLN7Zauo2EAzVPln5VjALCH6h2XZP707XAXnozyzFXQQwCkT7jJyqog/iCgKM9B6yT2hT5n/QSLEzCqGfgDq3BCp7mecpQxpSiwM6pc/7gTI+3eQ3kczLIKAwjKIr9gkAOkzUriaVQKcUSxBB+44BebtJZ9M+tQNsGxhhqsnaNLwWNMVOoIC/vDhveQOIUcZgKBJwvC3mqlaw2BF+xCVQYLRi3TS8A/wNDEb6DtpDummh1eGJn0um7igAg5tJfAbwoHG37W7NxC/fvHh1vhVzuSfbXtrWdYqdLN4qWJTk+0B00/T2VEmwVMwXKtbXzTTgWsHnlGQ3EfFBa8OD9Y4YtWB83bQhyghM9TFlTKwHyH1NGYTrgW511P8HVz1GsEaaZFwAAAAASUVORK5CYII=",xe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAcCAYAAAB2+A+pAAAAAXNSR0IArs4c6QAAB/FJREFUSEuVV1uInVcV/vblv51z5nIyk2ScZJI0GfCCYttJAjYv+iS+2BfxoVoFNUwKxQsK5tLWiTH44A2hD+1QUExRtNUmTdpYseiLIqKGChVJ0lwmaZO5ZObMnPv5915L1v7PxKTSgjMc/nP+/e/17bXWt9a3fnWcT21+P0+8ulNtfJ9iNg4ERvGn+lcNBVLwS9xYvsQLs4+Yjz0mS9/hV7fsckPPblcjeytIMmJSJAvBQLHbQCOCRoPz9mu9+eP7B6aOh9Vf0l/PbUH13lW00EIPPXgQh+23wQ0MYlhkiFFCjPM0/7t52z5wnxs/V0Iy1OYcHXbImUBc4CqWj4aFRqIiVFSCTEXuT7ww+Y3s/qvqZXqtt4RGtMB1rKGNDnL42z4X57ZskCJGmRNUkKKMBG24xZjsxhb30OQcbXLoEYW9AigmFBtEMCghQlWVMGYGMOfWDj86vPu76mf0Z3+ZF/WbWMEKt9AOwHd4zECECAnFKAs4MpQ4hmELSUuLcjQpR4c8euTBrMIHpKHFYzYY1ClGVRkTZggO/OxXqnseVt+nV/ILfMPO8QqWVRMdlmAzlEIwoEnBcoSYIyQcoYQECUXQbOCZ0SVC2zv0mOAZIJKNKoAq0ojYoqJSjOkKtpsqMp385ODI3i+ob9HJ7nm+GV/lW1hBC12Vg9fJQWLAQJEKHlqyIdeWIhjWIFZwxAHQExeesgb7IszCSIsoRGqTqmCnrWJYp888sWnffnWQn2+d9zeza2oFdW4HcgmL108sIRMPJG9Mushf/0CFZwIg94vwyvr6M7IOMsgQYVSXsd0MY9SUZo9u3jetvkm/alykxfIN1NBUnR96Vv+ySJQmUsJmeNlrOc+ZmfiDuaevCnPFMy2hRPS6UfGPYxI4IZNV8BrkNXvy8lyUIP76ECe7tkVDqOps9tjYvml1kJ5fu8yLA4uoo63zzwPmnEWqbK5V3C8px5ZzeO7m/sNdl58Q9or3FhYpR3+MsvhrpV7Jyx4LHQrYwbJjYupQFCv9ZEWlH9liKhg0SQF8mH5du0bLQ5JfyW2GBBVOEbOFYRPy1mMfmLtGXaxRD02fh/xKiVU4QRUlDKg01HkEG8Iuue+SR8t75MSBG5t1BWUdzR4bf2BaPUYvLL/Fy9U17krPejJC/I+EYhPDak1KkdbscuYuO9fk3t6mcwfkAEwqsHxIZRcqSL+X6ZgyJLJHGzLwmqjjmbqOIsX6SMxm64jJUDbJ7MzY3gC8dJNqI03kqJnO5Fn15Tdut623ffnk6onJju9cqFMeWCylNaDSX5ze+NmH3mmP3H947rcnU9gHN+gUqY5nj44LsH9hYYHqG5vckzCtZpwuDnJqSipRmpUigjCdVn3Pr1J3dMm1hiXcEkrpYFVd5hGULw+rjCs6MoFc0tiJucnkGy7XXe/vEYZXdSZtc3Zm655p9bg/eWOR6mMNzhGTxSBKGJbuhCTkWBgsfbhGXSz5JhZ8G2uuG2o34xgjqozNegAjOsOAFm6YUH45Mxo+x5qTzialIcCFxzNbp6bVE+7Um/NUH69TFw54yiI+N4DUxlBakZFezz1P1IF3Te93N113/+pt4ATDunRxQCU/kIOWlTWGrAa0dDXqefIt8gakDlk2W4pQJ7MzE/dNq8fdi3MLvj4h4aup3uTZdPodc/yJ2k93+R4uiieOpAIiDKjSz8+Mf/oz75bjz136/cmY7YOjNkOq7ezMRPD49JUFV9++Sl0YmJUE8UJFJTqhSIuySC57RNTyOa1yb9OK61TrXsilAvCQLvEGnV0c4oRTFekYUVHHDO56oqZ3uut5lyGtRmyKzMR9j3un31jwjZ0r1IFmMZYE0qQsFWkDe4s6dlhxHaz4bqhNuZ8gwrDKsEGXMKRSlJTUsQl1LLXb8YSGE7kErNIYtQlKJio8PtJ98cK8b0wuUTN4J1tTTpBIA4GBsDoXBRJwIYvPgyJ5AiKyoXEM6v5hgyQIsA7r3T54OKQxGIukju3s0Yk90+pI5/S/3/Rr7533jSDmskmkTP5FgaQ1ivxJm+x6jzYRemKVjTwRIiMdK4VIpxy1EA3pgjkhOKOVEuJhPC5jKEpmj4rHhztnXp9ztQ+85dYgjcERIZgMclgokbRNKavch9yBPIcDBVGQKYPF02KPCIcoW7En1HPwdtjE2BqXscGmT89smzqgDrbP/POaq33oqqthlXrBM/YqnFzaohgXfRUgqc9g0Mt9EXoD0z/AumavS6LoMXHhbaq0AGJbUsFIlD39bQE+1Hrp3Jyr3XvVrWLZt9Hujy/ibWGkr7HB+7vv/VeXi2lDfhd6LE1Ehi7Ra6BsIoxECXbEAlwqgI80z/5tztWmrrgabvWBRWtFU4MRAYP8FqPFVHHbuIw5d4l/EWYZEZllfJJngYoA2wT3pINyferott2PqEP1l59bpNanJNS3XAdt7wOTJdgSvnUgIVOYevuHCTnuR0SukpLg9fp4K0NbmKuBsrYYjTLsSCoo22T62MTUrHq0eWqcHE4u+Ob9t/K2kWnRSy4F/A7DMsRJzkOO7xjohExCxkAqqOBlmOn7HhuoEOpRm3aqUfybH+14IHS59ZcFfJT/YAfQCEPH0vX2+svE/3TCUq52K9InQHq7hv6LUupLa2nnUvHgVgDX+1f5fR2jZmfAmHrPVGdGFS8adwG/W699+9pDV175YsLmmYb3u5+b/Pjf/5+968/+B+0PhllE845BAAAAAElFTkSuQmCC",Ke="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAAAXNSR0IArs4c6QAABflJREFUSEu1V2tsFUUUPmdmdu+j997SQp9AEULCDxNDCCAEQoqC0R/8IRSIVqIYH7GAT2JMNKlEo4bSFowEEyXBBJUS/5AYRB4lijxU4iMSE5CWh214lL7uo3t356Ezu/e2hVsSkrrJ7s7snJ35zjnfOXMG4bbr8rkvdsVLZ9UzKxZVSiKABFA5IQS8/YcRfX8skFBBCxEQiRJuOj108/zOitlr3hg5xaj5Lvz6SV35lEX7vGwSBXdASQ6g/NVHLp1vB8CGJxkhZf7TfQQkDKgVBmpH5eClU/OrFzx7dlilEXAu/b5nbzgx+XHu9Iv0rb+35lcHAAL0TuWV/k7MDP4TjMGI7iilpG6bQbsmWjr9CRYuhmxf53uV8556qyCAjt8+PcCs+AqeHfBmzHnOvou172mo83BjbShxXzsLJ0AMDXxcteDpDQUBXDy782tCQiuFl/Zmzt80fgAONtbaicp2YheBctPbqxe98HJBABfObN9PWHiVEp43c/6GcQNw6dt3llqximOEhUC5mZbqJQ2vjgGgtY3SSB0CeNPnPj9uAC4feX+ZFS07jEhAeemW6iUbxwBwurWNWbE6goRPm7PeuidH30W463jTchop+05HlHQGm6trN71WmAOnW9uoFa8j1OI1s9eNG4Duo82P0Hj5IZAChJNqqa4dwwUXtQXsRB0hNp86u35cAbB4xSElBSgn2VI5FoCO0zvaqB373wCAlNoFdwFwckcbDWkOMD51zvi6gMXKD4GSIJzB5qraDYU50Hlq+z7CoqsRCa+Z+8y4uaDryIfLraJKQ0LlZporal8sDKDjZGsbEluHoUJkV6xwMbVCMYYsTAgyk4oRUYHSLy1lvvg7glJKCyiQgDoNC66Ul+XCSXGZHaRKyhpEBsCdbRVLG14vnIpPNO8DIKulyAKlIWChBLBQHCiLACHM31yQmFsp4QB3U3oiyiLFCtHSPjZaamSCg/SGQA4lQThJAOEBsghQ4E1lSzduHgPAtq+U4Gu4M2g2VSQhoFYEKLUBkQaLUwPGS/VsDcPQriFFQ4zFtrDwhFVm99QgDBAJimdBuo5ZXINnkWJtr6aK5S8VBtD5Y/OX0nXXeplekJ6TX5Bq7ZEC0SCIBmADYXbeKkpwUNwzC2kQqLdiA0SA4twoQ6wwsKJJQAlrKnu4YQwLtH9Qz73MYukMZBV3OAihzN4qEAljABKRUIqUWoQQi4CiqLdbCUKhEFIKLlFyBUIpCQAMpDEKYRQpK2IYTYSRhA9UPfrKNwVdMF6p917mGVVkXDzeNM9C9iZ3Bz3luVwKVxFjT2IKDZ/72gUEASlhWn9lAsA8wdc+iAi/REEFSJmNYEUYsaMWKviobFlD+x0WUOca7evigauKO+U80wfCy/h+1TGncqVWEAWgI8Fvm8ovYD9qw8vRJRzqmoky0LUAjZZoLvQk7MxkvH+1awDmkHT/vOdzFpnwpJu6ATzTD0qHkPD8ksqPd3MHevm1XmABnQm0EXwJkxN8Sf0OiEvtKNBIMbB4ua6K9pYsXFufB/DPiZ0LQqXTfnCT15mbvA5iqB+ENwQohFncLy19ILkElP+mx3IVcCBr/si3dTjrojQCNJIAligHK17BMXltYdHidb+Yea/9sf+C8tyZTv9V4MmbILJJP361BkYbP+vlQRj9RpbfowHm5InJjbpIpYA05AOITQKrZLIGdD42d8Us7P7psy0sMvFtp+8KuANdwFO9INy0yWSGfwGAPAvMpMMaBr1cQvbfhraBQ3TbALCAWlGgsVKwJlQBK50CMtO3BXv+Oph2kzeiTm/Hn7L32mbwklnPlQqopvPoSydjHd25y7T4WDJ6YISsoAjERitcRDFR9i4rn/Egi08cxK4zu4+C4A95g90pN9XzPXpZT0rpaxCQL8fU3BkAdUgGLvDjIEfNHGFzFgik8ucDCykNUVpUspiVVBcjYcf+s3IjuXo0slspuVJm0yEwxFM65SHRjFN625OIavhgYowb+HcUP3InqBEENGcUqYFoPmlCMH1C6iOUHUg8dmv9v8OxoyB3PgAEAAAAAElFTkSuQmCC",Ce="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAHCFJREFUeF7tnQuUXVV5x//fvnfiK6wiUFnSaoNgYiHknjuDCgUUQXloaAUMVnyAAl1VYQGhEsOcmY5zz81LeSnEqsEHal0SAV0EQQooBQVfzLkYYjNCibLEUhFTSX3M3Hv+7bm5CZkwk9nnfe65+6zFmknyfd/e33/vH+e1z7cF5khEgSU3sPToZsz30FoAkfkA9gXUXMLbSyBzAexFYO7237kXgPbfdTrzDIBtgDxDcJu0f0fnd/UM4Pl//g3IcYXS5oMWYHz9GdJKJJEeDyo9nn/k9Bc6fFmfYD48zKf/E1wA+D9xUOTgwQI8CmAckM1CjENhfJIY32jL48HCGOtdFTCABJwP1RU8xPO845SoN5A8DsDeAUOkbb5VRO726H1bKXX32GWyKe0OdHN7BpBZRq9/JQ/2PBwLzzsGIscAOLCbBxzAYyDvhVL3KoXvPLhcHunyfBLtvgFkGnkrNZ4g4p0MqKMBHp7oCGQeXH4EePeR6rbGkNyReXdy1gEDSGdArNHJo6jUYoEsBrAwZ+OUVnc2EtwgnrfBHe77blqN5rmdngakOsoKS1gsxGKCR+R5oNLum0AeoGCDtLBhbFgaabefl/Z6DpDqah7AJpaQPEWA4/MyEHnuB4G7ROQWKWP92DJ5Is99jbtvPQOItZLz0PTOhci5APaPW8geifckyHUoq3XuctnSCzkXHpDKCs6XVhuMcwDs0wuDmkKOT4O8jiW1rnGZjKfQXmZNFBaQRXUuVN5OMPy31OaIX4FtPiieUuseGpSN8YfPPmLhAFlUZ78izgHoX0rNyV7inujBBCDrPMF1Dw3Kg0XKuDCAHDrCfeb04VKSy4o0QN2Wi4isnpjEmodH5Olu6/t0/S0EIJbDsyC4FOQhRRiUrs9BZBOINa4tX+j2XLoaEGslX80WlwlwercPRBH7T+BGKclqd7n8sFvz60pADhnh3Oc9ezll7jPyPfsm/MuuP01izaYR8Zfpd9XRdYBUHb6jfZ8hqHSV0r3eWaLhgzJmy1e6SYquAWTeCJ+/d9m7HJAPdJPApq+7K8C1W5vqki0j8sdu0KYrAOkfnRjwpHw5BK/vBlFNH2dRgLhHsXnJg8Nzfpx3rXIPSLXefA+pLgewX97FNP0LpMBTIt4lY4Pl6wN5pWyca0Asp7UakEtT1sQ0l6oCXOPapdy+u8olIO31Ux6vAPCWVMfKNJaVArdSydI8ruvKHSAVh6cK2nDMy2q0TLuZKLCFkKUNW27OpPUZGs0VIFadZ4P8XJ4EMn1JWQGR97qD8vmUW52xudwAUnF4voCfyIswph/ZKUDIBQ1brsmuB8+2nAtAqg4/THBlHgQxfciHAgJZPmbLqqx7kzkgVq11BUQuzloI034OFSCvdIdKS7PsWaaAWA5vAehXETGHUWCm2+QNri2nZCVPZoBYjre5U6Izq9xNu92jwLhrK7+ka+pHJoBYjsfUMzUNdr0Crq1Sn6+pN2g5fALgS7t+tEwCGSggv3JtOSDNhlMFxHI8/3vlapoJmrYKp8CYa6v+tLJKDRDL4a0A35xWYqadIisg33RtSWUZUiqAVJzWdQJ5X5GHzOSWrgIEP9uwS36ts0SPxAGxanQgHEw0CxO8NxWg1N0hsZNMPlFAKk7rfIGY5SNJjmCPxyZ4QcMuJbYsJTFAOqtyb+rx8TPpp6AAIacltQo4EUA633N8yyxZT2F2mCZ8BbZQyYlJfE+SCCCW420wHzuZmZuyAre6top92VLsgJjPZFOeFqa5XRSI//PdWAHpFFjo+nKTZs51rwIi3llxFoKIDZB2aR5Vvt1UH+neyVWQnj+lvOZJcZUUigWQdlG3Em83dasKMsW6PQ3inq0tOSmO4nSxAGI5rWtNxcNun1VF6z/Xunbpg1GzigxIu1Yu+K9RO2L8jQJxKyCQM6PWAo4EiF9lfU6J95lC0nEPrYkXiwJEY6IlR0epKh8JkGqdoySHYknGBDEKJKCAiNTGBmU4bOjQgPib16DF+8w+gGGlN34pKTCBkhwddhOf0IBUHO9rZmenlIbYNBNJAX+nq4at3hYmSChA2nsCgrmpfhcmcePTawrI2WH2TAwMiL+bbF8f7jUbZvbaBOvyfEU2TU7imKC77wYGpFrnKrPVcpdPlh7tfnsLuEH5cJD0AwGyqM5+ReZ+V6AgAhjb3lLAExl4aFD84iFaRyBALIfXAkx3j0DyI1qZZGBEYIGI+AXN/P9emEEXgjb5CICfkXxEgKeDOmvZK0V43rPzyv+zf/h/t+PfdrXZ/e9E/G32jtVqK5SRrHVt0X7Drg3IojoXds4eqW67nEWxsKC6V1c88+de64WnichpAE4I6p+oPTEGJTcqDzc9OCQ/TbStGIJbjvftZAHBROcsslGnu9qAWLXWVRC5UCdonDbdAMiu+bbfD3m4DORb49QhRCwX9D7iDpW/HsI3M5cUAAHIq92h0kU6SWoB0vmE1r/3mKsTNE6bbgNkR+6W07oIkH8GsHeceujFkqvQxEfcEdmqZ58fq1QAAbZRyYDOJ7pagFi11hqIfCgLGbsVEF8rq04LxJcAHpqednKGa8v69NqLt6WUAPHPIh91h0qzbhA7KyDWSs5Dq/3kap94pdCL1s2A+Bm+ZgX3nfBwTxqQUMkpjcvErwfQtUdqgPgPKUoy4C6XLXsSa3ZAai0HIpkVfut2QHZectW870FwZFIztyRywI8H5VdJxU8rboqA+GeRujtU2mPhuT0CUl3NAzhJ/5nx/mkJtHs7RQGkfcmV1BOaF8mL3Yu7735jujmVmEbTT+AnpU/6x5bJEzPN7z0CYtV5IcirsoLDb7dIgBw7wvLWMv8tzseYLEl/Y7mMZTlGcbadMiCAyEXuoFwdCpCK490pwPFxChA0VpEAaZ9FanwlpA3JXwXVYnd7Kjm9cZkUqnpl2oAQuKthqzcGBqQ6ygoV3aiDGNW/aIB0IDkPwk9H0ybYG+FobaXnnTYgfmbiiTU2LI3pspzxEsuqcxCkk54007dUREDakNS5HmSobxQAPCp98ro9XTtnPW5h288CEIjY7qDUAwFSdXg/wSPCJhqXX1EBqTo8nOAPw+gk4PvH7NK/hPHNu08WgAjkgTFbpn3COO0ZxBqdPAqq5H9Om/lRVEA6Z5EvgzwzoMjjL3ihWPcvlT8E9OsK8ywAaQvjtY52h/u+u7tI0wJScVorBcHWzSelfpEBqdR5opB+NUr9Q2i7g6VpLwf0g+TXMitACK5q2KXlWoBYjvcTAAvzIGORAfH1rTjeLwR4ma7W9KS/MVycx7q7550VIAA2urY6bFZAKjWeIEJ/b49cHEUHxHJ4B8A3aYr9e9dWL9K07UqzDAEBKSc2huSOXYV7ziWWVWtdAZGL86Ju0QGp1PkxIS/R0ZuCHzcG1eE6tt1qkyUgIK90h0pLZwHEewCC1+ZF4KIDUnU4TGh/Nfkd11ZvyMvYJNGPbAHB990hNeXJ7ZQziDXCeSjzsSQSDxuz8IDUOURyVFMfA4imUKHNmnKgO/LsCt+pgIw2z4RSXw4dPAHHogNScVq2QGqa0hlANIUKbeZ573SHyzuLsU8FpM5rQGp/0B66EwEciw6I5fAygLqPbQ0gAeZOKFORa91BOX+H71RAHG8zgPmhAifkVHhAaq3lEFmhKZ8BRFOoCGbjrq38KjXtYycglRHOlzJ9QHJ1FB2QSp3LhFylKboBRFOoKGZsyoLGiIxPAcSq81yQn4kSOAnfogNiOa1LAVmtqZ0BRFOoSGYi57mDsm4qILXWVyFyRqTACTgXHxD+E8CPakpnANEUKpIZeYM7VHr7VEAcz6+09+JIgRNwLjog1TovIfkxTekMIJpCRTT7rWurdpGS9j3IQocvK4O/iBg0EfeiA1JxWksFcrmmeAYQTaGimjUhL99oy+NtQKp1Hk/yzqhBk/AvOiCWw4sAXqmpnQFEU6ioZiLyxrFBuWs7IDW+n8K1UYMm4V94QGqtCyGiWxjDAJLEJJsmplA+MDYkn2wDYjn+/8H8/5Pl7yg6INU6LyD5cU3lDSCaQkU3k6tcWy7uAOJ9E8DJ0YPGH6HogFSc1vkC+YSmcgYQTaFiMLvNtdWbdwDi7xtxUAxBYw9RdEAsx99vxd93ReswgGjJFIvRo66tDpYlN7D0s3E2YwmZQJCiAxLw/s8AksAcmynkK+dLWfpr/GtPuCnFdgM1VXRAKk7rHwXySU1RDCCaQsVhpiiHiFVrvhWibo4jYBIxCg9Inf8g5Kc0tTOAaAoVixm9UyXgWqBY2g0SpOiAWLXmeRClW2XRABJk8kS25TIfkNWAzLqRSOS2QgYoOiDVGs+hsL0wTuMwgGiIFJ8J10gmO9cGyKDogFTqzfcJ1XWakhhANIWKx0zWSsVpXS+Qd8cTMP4oRQfEqvNskJ/TVO7brq2O07TtSrNMizbsphjBL4rleH75/FPzqmbhAXF4FsDP6+kvd7q26NbQ0guZM6s8AfL/df1u9gHx96qYcX+ErPUrOiBVh+8meL2OzgL51pgtJ+nYdqtNzgC5UyqOd78AmVdxn2lAiw5Ipc53CflFzQndXv6gaduVZnkChMAD/k36TwDmog7vdCNadEAsp/lOQH1JazYTG9whdYqWbZca5QkQQDb6l1j+NriRtwNLajyKDkjV4TsI7qzDNIuO33Bt9daktM5D3HwBgp/7gDwFYN88iNOLZ5DqaPPvqdRXdPQX4qaxIXW6jm232uQMkN/4gPwJwJy8Clr0M0ilzjOE/Kqm/utdW+WusIZm37XMcgbIhAFEa9iSM7IcLgF4g2YLBhBNoWIyawNiLrFiUjNMmKrD0wl+TdPXAKIpVExm7Ussc5Mek5phwlRqPE2EN2r6GkA0hYrJzL9JN495YxIzVJiK0zxVoPzVDDqHAURHpdhsZKN5URibmOECWQ7/DuDXNb0NIJpCxWHWeVFolprEIWbYGNVa828p6hua/gYQTaFiMrvTLFaMScmwYSo1LhbhLZr+BhBNoWIyu9ksd49JybBhrDrfAnKDpr8BRFOoOMw6y939kjN+6Zl8HkV/UVit82SSfl0yncMAoqNSbDay1nxyG5uY4QL113iSJ7xN09sAoilUPGbtT24DbeAST7sBohT9DFKpT54oLN2uKYkBRFOoeMz8og2m7E88WoaMYtX5JpB3aLobQDSFisXML/tjCsfFImXoINXa5BspJf+rTp3DAKKjUkw27cJxpvRoTGqGDLOoxuOU8C5NdwOIplBxmLVLj/qBLMczxavjUDREjEqdbxDybk1XA4imUDGYbS9e3QHEbH8Qg6JhQlRX8PX0+B1NXwOIplAxmO26/YHZQCcGQUOFqDp8HcF7NJ0NIJpCRTfbZQOdgCX4o7cdIELRH/MuGp08RqnSv2tKYgDRFCqq2ZQt2MwmnlHlDO9vreBR8HifZgQDiKZQUc2mbOJptoGOKmd4f8uZ/Bug9F3NCAYQTaGimk3ZBrpzo/40gBdHDRy3f9EvsfodHuGB92vqZgDRFCqi2W9dW+3jx2g/xWoDUmt9FSK5q5hRdEAWjfK1SvEBzQE1gGgKFcmMvMEdKr19KiB1ngvyM5ECJ+BcdECslXw1WvyBpnQGEE2hIpmJnOcOSnvPlp1nkMoI50uZmyMFTsC56IBUHR5O8Iea0hlANIWKYsamLGiMyPgUQDr3IT4g86MEj9u36ID0j04MeKr8I03dDCCaQkUwG3dttWCH/84zSBuQOq8B+cEIwWN3LToglVFWRfFBTeEMIJpChTYTudYdlPOnB2S0eSaU+nLo4Ak4Fh0Qqz5hgeUxTekMIJpChTbzvHe6w+WdxcSnnkFGOA9lPhY6eAKORQekv85FHtnQlM4AoilUaLOmHOiOiF9MsX1MAaR9mVXzHoDgtaEbiNmx6IAcNsrDSooPacpmANEUKpQZ8X13SE3ZTGoaQFpXQOTiUA0k4FR0QCqjPFQUN2pKZwDRFCqUGXmlO1RauqvvcwCp1HiCCL8VqoEEnIoOSHUFD6HHhzWlM4BoChXGjJQTG0My5fPn5wDSvsxyvJ8AyMW2bEUHZGAFX9Xy+FPNATWAaAoVwmyja6vDdvebFpCK01opkA+HaCR2l6IDsqjGBUr4H5rCGUA0hQpqRnBVwy4t1wLEGp08CqqkuwQ7aF8C2RcdkMrIH+dLeY7uCgYDSKDZE8DYax3tDvc9Z1X1tGcQP2zV4f0EM98euuiA9K/kwV6LP9McSgOIplBBzATywJgtR07nMyMgVp2DIJ0gDSVhW3RABmo8qCX0i2boHAYQHZWC2ojY7qDUAwFSHWWFim7QtuK2Lzogi2o8UAn/U1M3A4imUEHMxBNrbFimfVk74xnEb6DieHcKcHyQxuK2LTog1krOQ0t79YIBJOYJRuCuhq3eOFPYPQJi1XkhyKti7lOgcEUHZGAVX95q8ueaohhANIXSNhO5yB2Uq0MBUl3NAzjZXmm6v3aDMRsWHZCA9QAMIPHOryelT/rHlskToQDxnaxay4HIYLz90o9WdEAWjfz+L1X5+Y9rKmIA0RRKy4ysu0Mle0+2e7zEagOy/Rr5xwDaH7GnfRQdkM5Z+peauhpANIXSMHsaJRlwlz+7cnc6n1kB6ZxF1kDkQxqNxm5SdEAG6nxpi5zxFL+boAaQuGYY+VF3qHTpbOG0AKms4Hzx2meRubMFjPvfiw7Iwjr3L5P/pambAURTqFnMtlHJQOOy7d+dR7rE2uFs1VpXQeTC2QLG/e9FB2TRCF+iynxSUzcDiKZQezQjr3aHShfphNI6g/iBFtW5ULF9FpmjEzgum6IDMvAx7tf6I3+tqZcBRFOoPZhNeCIDDw2K1jc42oC070Wc9HfELTogr1nBfSc8PqU57gYQTaFmNpO1ri3ahUkCAbKozv7OWSRyN3UDFB2QQ0f+Z5++8l6/0dTDAKIp1ExmnbOHbhWZ536TPlv71TpXkVw2m11s/05+JLZYcQQSbAW5Baq0BZPY4o7I1ihhrRHujTJ/qxkjMiBLlrD0aD8O9DwcSM97hQAv1Ww7HTOR1wM4NonGRGT12GCw75wCnUH8Th86wn36+nAvyEOSSKILY/qAbAH4sIj6fqs1+YOHhud8XzePgVX8s1aTupAFAsR/+qg8DHiCASEHQLwCgpfr9q1QdiKbJidxzMMj4hdp1z4CA9K5FzkL4Oe1W+k5Q/E/gLpFgFvGbNnj5jgLVnOvF0zyd5oSzQpIe+kKcRoEpwF8nWbcHjCTs11bvhA00VCA+I1UHO9rApwetMEetP8BRK52B2VnMbJdNThkhHPnlPmMpi4zAuIXf/A87wKBvCuL91Wa/c/EjMCNDVu9LUzjoQHpVCX3P8tN9bFvmCTz4CPETZTW5a7d971d+zMwwhe2yvxfzT4+B5CKw78AcL6AfrnM1F/kavY7S7MJlORod7noFgif0tfQgPhRqnWOkhzKMvtua5v03tcYKn9uR7+PvIIv+MPv+XvNPKYAUl3BI0F8luSrNP17zkxEamODMhw28UiAtC8PSrwPgkrYDvSi364VNA7+OJ8393f8o6YOOwHpX8HTPI83avr1phnRmGjJ0ZtGZFtYASIB0j6LOHwHwWmvr8N2qkf8bnVttXjgU+xr/ZoTmjm3AbFqzfMg6tOaPj1rJpAzx2z5ShQBIgPiN245rWsB+UCUjvSkr8hIaT+sCAKIeFKnol+e5kU9qZl20lzr2iXtN+YzhY0FkHkjfP7eJd4Ogf+SxxwBFNi7KX1by5zUdFkP8JeAaC2004xZPDPinq0tOWnLiOheus6oQSyA+NE7OyXdDmC/4imeXEZuU0pWmS3NFtaDOBiCqqZ9L5o9pbzmSQ8Oz/EX1kY+YgOkfT9Sb76HVIFfxkTOoosD+GvNLMejZgrrASzRtO1JMxHvrLHB8vVxJR8rIJ37kdWAzPqlVlwJ9FgcA8geB5xrXLsU6zrB2AHZDom3AcBbemzyppGuAWRmldtPBeMehEQA6Xyi6+8xMi/uDvd0POK/IXhJT2swffJbqOREnU9og2qXCCB+JyoOTxXwpqAdMvZGgaAKEHJaw5abg/rp2CcGyHZIWucL5BM6HTE2RoEwChC8oGGXrgnjq+OTKCDt+5EaHQgzKzynI4Kx6VIFKHV3SPZY+C1qZokD0jmTXCeQ90XtrPE3CuxQgOBnG3bpnKQVSQWQ9pnE4a0A35x0QiZ+Lygg33RtSeUpaWqAbIfE8z+WN2+Be2EOJ5fjmGur/uTCT42cKiCdM8kTAPNVKCAttU07ERWQX7m2HBAxSCD31AHpnEl0l1YESsYYF1uBLEpAZQJIBxK/sMH8Yg+pyS4mBcZdWy2IKVagMJkB0rncugVg7MsDAilgjHOugGxwbTklq05mCkgbklrrCohcnJUApt0cK0Be6Q6VlmbZw8wB8ZOvOvwwwZVZCmHazpcCAlk+ZsuqrHuVC0B8ESoO/dI1ZllK1jMiB+0TckHDlsSWjwRJMTeAtC+36jwb5M6SOEESMbYFUUDkve6g5KZqZ64A6ZxJ/FXAV5il8gWZ8PppbCFkaVKrcvW7MdUyd4C0Idm+5ZsPSSrLCcKKZ/xiU+BWKlmaxPccUXuYS0B2JGU5LfP5btQRzr1//J/JxplyrgFpP+HaXgjiclMtJc5hz0Wsp0S8S+IssJBEVrkHxE+6XVJIypebultJTIEMYhL3KDYvias0T5IZdAUgvgDt4nRl73JTwTHJ6ZBGbK7d2lSXxFHULY3edg0gO8Ro1wL2t4AzBbPTmB/xtUE02lugRayVG1+H9CJ1HSB+Wn5V+ef14dLOXolmfxK9sc7KasIH40+TWBOlynpWne9KQHY+5VrJV7PFZWanq6ymz57b9Xd2kpKsDrt5TR6y6mpAnn0czLMguNRsLJqHKQVAZBOINWH2BMxJBju7UQhA/Gz83XfnPHvZlTede6Y//uXUxCTWBN1NNq8CFQaQHQIvqrNfEecAPNfsn5jatJsAZJ0nuO6hQfHrDhTmKBwgu4CyUHneuRDxS8OYzS2TmbLbQF7nKbXuoUHZmEwT2UYtLCA7ZG2v62rtBGWfbOUuTOtP+2CwpNblcf1UnCoXHpBdnnjNQ7MNin/ptX+cIvZQrCdBrkNZrXOXy5ZeyLtnANkxmNXVPIBNLCF5igDH98IgR82RwF0icouUsX5smTwRNV43+fccILsOTnWUFZawWIjFBI/opoFLuq8CeYCCDdLChrFhaSTdXl7j9zQguw6KNTp5FJVaLBC/ysrCvA5Ywv3aSHCDeN4Gd7jP30m35w8DyDRToFLjCSLeyYA6GuDhxZ4l8iPAu49UtzWG5I5i5xo8OwPILJr1r+TBnodj4XnHQOQYAAcGlzlXHo+BvBdK3asUvvPgcnkkV73LWWcMIAEHpLqCh3ied5wS9QaSxwHYO2CItM23isjdHr1vK6XuHrtMNqXdgW5uzwAScfQWOnxZn2A+PMyn/xP0S2T6JVUPihg6qPujAMYB2SzEOBTGJ4nxjbY8HjSQsX9WAQNIQrNhyQ0sPboZ8z20FkDEB2ZfQM0lvL0E4r/Z34vA3O2/c6/O237/p388A2AbIM8Q3Cbt39H5XT0DeP6ffwNyXKG0+aAFGF9/hrQSSqWnw/4f5GnaW9nfPLQAAAAASUVORK5CYII=",Se=Object.defineProperty,ge=Object.defineProperties,Re=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,Le=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,me=(Ct,Et,vt)=>Et in Ct?Se(Ct,Et,{enumerable:!0,configurable:!0,writable:!0,value:vt}):Ct[Et]=vt,oe=(Ct,Et)=>{for(var vt in Et||(Et={}))Le.call(Et,vt)&&me(Ct,vt,Et[vt]);if(ve)for(var vt of ve(Et))Ue.call(Et,vt)&&me(Ct,vt,Et[vt]);return Ct},ie=(Ct,Et)=>ge(Ct,Re(Et));const he={\u5B9E\u8BAD:se,\u8BD5\u5377:ue,\u8BFE\u4EF6:pe,\u89C6\u9891:Ee,\u4E3B\u80FD\u529B:Fe,\u5B50\u80FD\u529B:Ge,\u77E5\u8BC6\u70B9:xe,\u8D44\u6E90:Ke,\u603B\u6570:De,\u6559\u6750:Ce};var ce=({type:Ct,ImgProps:Et})=>c.createElement("img",ie(oe({src:(he==null?void 0:he[Ct])||(he==null?void 0:he.\u8BFE\u4EF6)},Et),{width:"16rem",style:oe({width:"16rem"},(Et==null?void 0:Et.style)||{})})),Te=ae(44080),Oe=ae(87513),Be=Object.defineProperty,Xe=Object.defineProperties,lt=Object.getOwnPropertyDescriptors,_t=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,bt=Object.prototype.propertyIsEnumerable,Nt=(Ct,Et,vt)=>Et in Ct?Be(Ct,Et,{enumerable:!0,configurable:!0,writable:!0,value:vt}):Ct[Et]=vt,Bt=(Ct,Et)=>{for(var vt in Et||(Et={}))tt.call(Et,vt)&&Nt(Ct,vt,Et[vt]);if(_t)for(var vt of _t(Et))bt.call(Et,vt)&&Nt(Ct,vt,Et[vt]);return Ct},ot=(Ct,Et)=>Xe(Ct,lt(Et)),It=(Ct,Et,vt)=>new Promise((nr,qt)=>{var Dt=Gt=>{try{Rt(vt.next(Gt))}catch(zt){qt(zt)}},nt=Gt=>{try{Rt(vt.throw(Gt))}catch(zt){qt(zt)}},Rt=Gt=>Gt.done?nr(Gt.value):Promise.resolve(Gt.value).then(Dt,nt);Rt((vt=vt.apply(Ct,Et)).next())});const cr=({children:Ct,cout:Et=1})=>{const vt=(0,c.useRef)(null),[nr,qt]=(0,c.useState)(0),[Dt,nt]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{vt.current&&setTimeout(()=>{const Rt=(0,ee.ZR)(vt.current,"rem",1);qt(Rt)},500)},[vt.current]),c.createElement("div",{className:"relative flex item-end "},c.createElement("div",{style:{height:Dt?"auto":`${Et*23.25}rem`,overflow:"hidden"}},c.createElement("div",{ref:vt,style:{fontSize:"14rem"}},Ct)),nr>=Et*23.25&&c.createElement("div",{className:"current c-blue",style:{whiteSpace:"nowrap"},onClick:()=>{nt(!Dt)}},Dt?"\u6536\u8D77":"\u5C55\u793A"))},wr=({DataProps:Ct,pathsDetail:Et,getUrl:vt})=>{var nr,qt,Dt,nt;const{detail:Rt}=Et,[Gt,zt]=(0,c.useState)(!1);return c.createElement("div",{id:`${Ct==null?void 0:Ct.id}`,className:"bg-white",style:{borderRadius:"4rem",padding:"15rem 30rem 30rem"}},c.createElement("div",{style:{color:"#3061D0"}},c.createElement(ce,{type:"\u5B50\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u5B50\u80FD\u529B"),c.createElement("div",{className:"c-grey-333 flex item-center",style:{fontSize:"14rem",margin:"20rem 0 10rem 0",gap:"10rem"}},c.createElement(te.Z,{title:Ct==null?void 0:Ct.name},c.createElement("div",{className:"multi_ellipsis1 minW-0"},Ct==null?void 0:Ct.name)),c.createElement("div",{className:"flex item-center",style:{gap:"5rem"}},(nr=Ct==null?void 0:Ct.ability_tags)==null?void 0:nr.map(Qt=>c.createElement(X.default,{color:"orange",style:{fontSize:"12rem"}},Qt)))),(Ct==null?void 0:Ct.description)&&c.createElement("div",{style:{padding:"12rem",background:"#F6F7F9"}},c.createElement(cr,null,Ct==null?void 0:Ct.description)),c.createElement("div",{className:"flex item-center justify-center w-full",style:{margin:"20rem 0",padding:"12rem",background:"linear-gradient( 180deg, #ECF3FF 0%, rgba(255,255,255,0) 100%)"}},"\u8986\u76D6 ",c.createElement(ce,{type:"\u77E5\u8BC6\u70B9",ImgProps:{style:{margin:"0 5rem"}}})," ",Ct==null?void 0:Ct.knowledge_count,"\u4E2A\u77E5\u8BC6\u70B9",c.createElement("span",{style:{marginLeft:"40rem"}},c.createElement(ce,{type:"\u8D44\u6E90",ImgProps:{style:{marginRight:"5rem"}}}),Ct==null?void 0:Ct.resource_count,"\u4E2A\u8D44\u6E90\u6570")),c.createElement("div",{style:{marginBottom:"10rem"}},c.createElement(ce,{type:"\u77E5\u8BC6\u70B9",ImgProps:{style:{marginRight:"5rem"}}}),"\u8986\u76D6\u77E5\u8BC6\u70B9",Ct==null?void 0:Ct.knowledge_count,"\u4E2A"),c.createElement("div",{style:{height:"320rem",background:"#F6F7F9"}},c.createElement(P,{loading:!1,nodes:Ct==null?void 0:Ct.nodes,relationships:Ct==null?void 0:Ct.relationships})),c.createElement("div",{style:{margin:"30rem 0 10rem"}},c.createElement(ce,{type:"\u8D44\u6E90",ImgProps:{style:{marginRight:"5rem"}}}),"\u8986\u76D6\u8D44\u6E90\u6570",Ct==null?void 0:Ct.resource_count,"\u4E2A"),c.createElement("div",{className:"flex-wrap",style:{gap:"10rem",display:"grid",gridTemplateColumns:"1fr 1fr"}},(nt=((qt=Ct==null?void 0:Ct.resource_knowledge_graphs)==null?void 0:qt.length)>4&&!Gt?(Dt=Ct==null?void 0:Ct.resource_knowledge_graphs)==null?void 0:Dt.slice(0,4):Ct==null?void 0:Ct.resource_knowledge_graphs)==null?void 0:nt.map(Qt=>c.createElement("div",{key:Qt==null?void 0:Qt.id,className:"flex relative current",style:{gap:"10rem",padding:"25rem",background:"#f6f6f6",borderRadius:"10rem"},onClick:()=>It(void 0,null,function*(){yield vt==null?void 0:vt(Qt)})},!(Rt!=null&&Rt.can_managed)&&c.createElement("div",{className:"absolute c-white",style:{top:0,right:0,padding:"2rem 10rem",borderRadius:"0 10rem 0 10rem",color:(Qt==null?void 0:Qt.complete_rate)!=100&&"#7C3100",background:(Qt==null?void 0:Qt.complete_rate)!=100?"#FFC86B":"#37AD83"}},(Qt==null?void 0:Qt.complete_rate)==100?"\u5DF2\u5B8C\u6210":"\u672A\u5B8C\u6210"),c.createElement(D.Z,{type:"circle",percent:Qt==null?void 0:Qt.complete_rate,size:60,status:"success",format:it=>`${it}%`,strokeWidth:10}),c.createElement(ce,{type:Qt==null?void 0:Qt.node_type,ImgProps:{style:{width:"16rem",height:"16rem",marginTop:"3rem"}}}),c.createElement("div",{className:"flex-1 minW-0"},c.createElement(te.Z,{title:Qt==null?void 0:Qt.name,placement:"topLeft"},c.createElement("div",{className:"multi_ellipsis1 c-grey-333 blod",style:{fontSize:"16rem"}},Qt==null?void 0:Qt.name)),c.createElement("div",{className:"c-grey-333",style:{marginTop:"10rem",fontSize:"14rem"}},"\u77E5\u8BC6\u70B9\uFF1A",(Qt==null?void 0:Qt.knowledge_text)||"--"),(Rt==null?void 0:Rt.can_managed)&&c.createElement("div",{className:"flex flex-wrap item-center v-grey-666",style:{marginTop:"20rem",fontSize:"12rem",gap:"10rem"}},c.createElement("div",null,"\u5B66\u4E60\u4EBA\u6570\uFF1A",Qt==null?void 0:Qt.study_count,"\u4EBA"),c.createElement("div",null,"\u638C\u63E1\u4EBA\u6570\uFF1A",Qt==null?void 0:Qt.complete_count,"\u4EBA"),c.createElement("div",null,"\u638C\u63E1\u7387\uFF1A",Qt==null?void 0:Qt.complete_rate,"%")))))),(Ct==null?void 0:Ct.resource_knowledge_graphs.length)>4&&c.createElement("div",{className:"flex item-center justify-center",style:{padding:"0 220rem"},onClick:()=>{zt(!Gt)}},c.createElement(W.Z,{style:{borderColor:"#3061D0",marginBottom:"0rem",cursor:"pointer"},dashed:!0},c.createElement("span",{style:{color:"#3061D0"}},Gt?"\u70B9\u51FB\u6536\u8D77":"\u70B9\u51FB\u5C55\u5F00\u66F4\u591A"))))},er=({pathsDetail:Ct,dispatch:Et,user:vt})=>{var nr,qt,Dt,nt,Rt,Gt,zt,Qt,it,dt,St,Mt,Yt,ft,H,Y,J,le,_e,Ne,Pe,$e,Ye,Lt,Ht,Me,be,ut,Ze,je,Qe,yt,mt;const{detail:Ft}=Ct,At=(0,u.useParams)(),[Pt]=(0,u.useSearchParams)(),[Tt,Xt]=(0,c.useState)({}),[Ut,ke]=(0,c.useState)({id:null,open:!1,resourceUrl:""}),[,He,at,We]=(0,i.U)(o.Ju,{subject_id:At.pathId,id:At==null?void 0:At.abilityId}),[rt,ht]=(0,c.useState)([{name:"\u638C\u63E1\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}},{name:"\u638C\u63E1\u738760%\uFF5E79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63E1\u738780%\uFF5E100%",value:0,itemStyle:{color:"rgb(223,209,38)"}}]),xt=new URLSearchParams(window.location.search),Wt=()=>It(void 0,null,function*(){const Ve=yield at({subject_id:At==null?void 0:At.pathId,id:At==null?void 0:At.abilityId})}),jt=Ve=>Et({type:"userDetail/logWatchHistory",payload:Bt({},Ve)});function Jt(Ve){return It(this,null,function*(){var $t,ar,yr;let or=yield(0,M.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:Ve==null?void 0:Ve.resourceUrl}});if(localStorage.setItem("container_type_tupu",or==null?void 0:or.container_type),(or==null?void 0:or.status)===0){if((Ve==null?void 0:Ve.node_type)=="\u8BD5\u5377"){const ir=yield(0,Oe.Mb)({categoryId:or==null?void 0:or.examination_bank_id});ir!=null&&ir.exercise_id&&(0,ee.xg)(`/classrooms/coursesId/exercise/${ir.exercise_id}/${($t=vt.userInfo)==null?void 0:$t.login}/initate_answer`);return}(or==null?void 0:or.container_type)==="video"?ke({id:or==null?void 0:or.id,open:!0,resourceUrl:Ve==null?void 0:Ve.resourceUrl}):(or==null?void 0:or.container_type)==="att"?Xt({url:z.Z.API_SERVER+((ar=or==null?void 0:or.attachment)==null?void 0:ar.url),file_type:(yr=or==null?void 0:or.attachment)==null?void 0:yr.file_type}):window.open(Ve==null?void 0:Ve.resourceUrl)}})}const vr=Ve=>It(void 0,null,function*(){(Ve==null?void 0:Ve.resourceOrigin)===3?(0,ee.xg)(Ve==null?void 0:Ve.resourceUrl):Jt(Ve),!(Ft!=null&&Ft.can_managed)&&(yield(0,M.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:At==null?void 0:At.pathId,uuid:(Ve==null?void 0:Ve.last_knowledge_uuid)||(Ve==null?void 0:Ve.knowledge_uuid)}}))});return(0,c.useEffect)(()=>{var Ve,$t;if((We==null?void 0:We.status)==0&&(Ft!=null&&Ft.can_managed)){const ar=($t=Object==null?void 0:Object.entries(((Ve=We==null?void 0:We.data)==null?void 0:Ve.study_grasp_hash)||{}))==null?void 0:$t.map(([yr,or],ir)=>({name:yr,value:or,itemStyle:rt[ir].itemStyle}));ht(ar)}},[Ft==null?void 0:Ft.can_managed,We]),(0,c.useEffect)(()=>{Wt()},[At==null?void 0:At.abilityId]),(0,c.useEffect)(()=>{Et({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:Pt.get("type")=="classrooms"?"course":"subject",graphable_id:At==null?void 0:At.pathId}}),xt.set("tabs","5")},[]),(0,c.useEffect)(()=>(Et({type:"globalSetting/footerToggle",payload:!1}),()=>{Et({type:"globalSetting/footerToggle",payload:!0})}),[]),c.createElement(y.Z,{spinning:He},c.createElement("div",{className:"ml-auto mr-auto",style:{width:"1200rem",paddingTop:"15rem"}},c.createElement(L.Z,{style:{fontSize:"14rem",marginBottom:"20rem"},items:[{title:c.createElement("a",{className:"flex item-center",style:{fontSize:"14rem"},onClick:()=>{u.history.push(`/knowledgegraph/${At.pathId}?${xt}`)}},c.createElement(te.Z,{title:"\u8FD4\u56DE"},c.createElement("i",{className:"iconfont icon-fanhui1",style:{fontSize:"14rem",marginRight:"20rem"}})),"\u80FD\u529B\u56FE\u8C31")},{title:"\u80FD\u529B\u8BE6\u60C5"}]}),c.createElement("div",{className:"w-full flex"},c.createElement("div",{className:"sticky flex flex-col",style:{width:"250rem",borderRadius:"4rem 0 0 4rem",maxHeight:"100vh",overflowY:"auto",overflowX:"hidden",top:0,background:"#F6F7F9"}},c.createElement(V,{abilityGoalItem:(nr=We==null?void 0:We.data)==null?void 0:nr.ability_goals}),c.createElement("div",{style:{padding:"10rem 20rem 20rem"}},c.createElement("div",{className:"c-grey-333",style:{fontSize:"16rem"}},"\u76EE\u5F55\u5BFC\u822A"),c.createElement(b.default,{className:"w-full",value:Number(At==null?void 0:At.abilityId),style:{marginTop:"10rem"},onChange:Ve=>{u.history.push(`/knowledgegraph/${At.pathId}/abilityMap/detail/${Ve}?${xt}`)},options:((Dt=(qt=We==null?void 0:We.data)==null?void 0:qt.ability_goals)==null?void 0:Dt.map(Ve=>({label:Ve==null?void 0:Ve.name,value:Ve==null?void 0:Ve.id})))||[],size:"large"})),c.createElement(s.default,{className:q.AnchorDomStyle,items:(Rt=(nt=We==null?void 0:We.data)==null?void 0:nt.children_ability_goals)==null?void 0:Rt.map(Ve=>{var $t;return{key:Ve==null?void 0:Ve.id,href:`#${Ve==null?void 0:Ve.id}`,title:c.createElement("div",{className:`current relative ${q.AnchorDom}`},c.createElement("div",{className:"flex item-center",style:{gap:"10rem"}},c.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 c-grey-333",style:{fontSize:"14rem"}},Ve==null?void 0:Ve.name),c.createElement("span",{style:{color:"#464F66",fontSize:"12rem"}},Ft!=null&&Ft.can_managed?c.createElement(c.Fragment,null,c.createElement("span",{className:"iconfont icon-a-60-kejian",style:{marginRight:"5rem",fontSize:"12rem"}}),Ve==null?void 0:Ve.knowledge_count):c.createElement("span",{style:{color:"#00C088"}},c.createElement("span",{className:"iconfont icon-xuesheng2",style:{marginRight:"5rem",fontSize:"12rem"}}),(Ve==null?void 0:Ve.grasp_rate)||0,"%"))),c.createElement("div",{className:"flex flex-wrap",style:{gap:"5rem",marginTop:"10rem"}},($t=Ve==null?void 0:Ve.ability_tags)==null?void 0:$t.map(ar=>c.createElement(X.default,{color:"orange",style:{fontSize:"12rem"},key:ar},ar))),c.createElement("div",{className:"multi_ellipsis2",style:{marginTop:"20rem",color:"#464F66",fontSize:"12rem"}},Ve==null?void 0:Ve.description))}})})),c.createElement("div",{className:"flex-1 minW-0 flex flex-col",style:{gap:"20rem"}},c.createElement("div",{className:"bg-white relative",style:{borderRadius:"4rem",padding:"15rem 30rem 30rem"}},((zt=(Gt=We==null?void 0:We.data)==null?void 0:Gt.next_ability_goal)==null?void 0:zt.id)&&c.createElement("div",{className:"absolute current",style:{right:0,top:0},onClick:()=>{var Ve,$t;u.history.push(`/knowledgegraph/${At.pathId}/abilityMap/detail/${($t=(Ve=We==null?void 0:We.data)==null?void 0:Ve.next_ability_goal)==null?void 0:$t.id}?${xt}`)}},c.createElement("div",{className:q.NextAbility},c.createElement("div",{className:"multi_ellipsis1"},(it=(Qt=We==null?void 0:We.data)==null?void 0:Qt.next_ability_goal)==null?void 0:it.name),c.createElement("div",null,c.createElement("span",{className:"iconfont icon-you2",style:{fontSize:"14rem"}})))),c.createElement("div",{style:{color:"#3061D0"}},c.createElement(ce,{type:"\u4E3B\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u4E3B\u80FD\u529B"),c.createElement("div",{className:"c-grey-333 blod",style:{fontSize:"14rem",margin:"20rem 0 10rem 0"}},(dt=We==null?void 0:We.data)==null?void 0:dt.name),((St=We==null?void 0:We.data)==null?void 0:St.description)&&c.createElement("div",{style:{padding:"12rem",background:"#F6F7F9"}},c.createElement(cr,null,(Mt=We==null?void 0:We.data)==null?void 0:Mt.description)),(Ft==null?void 0:Ft.can_managed)&&c.createElement(c.Fragment,null,c.createElement("div",{className:"flex",style:{marginTop:"20rem",gap:"20rem"}},[{title:"\u5E73\u5747\u4E3B\u80FD\u529B\u638C\u63E1\u7387",value:(Yt=We==null?void 0:We.data)==null?void 0:Yt.children_ability_goal_grasp_rate,unit:"%",img:ae(46016),bg:"#E3F1FF"},{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(ft=We==null?void 0:We.data)==null?void 0:ft.total_knowledge_count,unit:"\u4E2A",img:ae(99755),bg:"#F1FDEF",ProgressTitle:"\u5360\u603B\u77E5\u8BC6\u70B9",percent:(H=We==null?void 0:We.data)==null?void 0:H.knowledge_rate,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(Y=We==null?void 0:We.data)==null?void 0:Y.total_resource_count,unit:"\u4E2A",img:ae(92691),bg:"#FFF9F4",ProgressTitle:"\u5360\u603B\u8D44\u6E90\u6570",percent:(J=We==null?void 0:We.data)==null?void 0:J.resource_rate,trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((Ve,$t)=>c.createElement("div",{key:$t,className:"flex-1 minW-0 relative",style:{borderRadius:"6rem",background:Ve==null?void 0:Ve.bg,padding:"20rem 30rem"}},c.createElement("img",{src:Ve==null?void 0:Ve.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"30rem",top:"20rem"}}),c.createElement("div",{className:"c-grey-666",style:{fontSize:"14rem"}},Ve==null?void 0:Ve.title),c.createElement("div",{className:"c-grey-333 blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},Ve==null?void 0:Ve.value,c.createElement("span",{style:{fontSize:"14rem"}},Ve==null?void 0:Ve.unit)),(Ve==null?void 0:Ve.ProgressTitle)&&c.createElement("div",{className:"c-grey-666",style:{fontSize:"12rem",marginTop:"20rem"}},c.createElement("div",null,Ve==null?void 0:Ve.ProgressTitle,Ve==null?void 0:Ve.percent,"%"),c.createElement(D.Z,{percent:Ve==null?void 0:Ve.percent,showInfo:!1,trailColor:Ve==null?void 0:Ve.trailColor,strokeColor:Ve==null?void 0:Ve.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))),c.createElement("div",{className:"c-grey-333",style:{margin:"40rem 0 30rem 0",fontSize:"14rem"}},"\u5B66\u4E60\u7EDF\u8BA1"),c.createElement("div",{className:"flex"},c.createElement("div",{className:"minW-0 flex flex-col",style:{gap:"13rem",width:"200rem"}},[{title:"\u5B66\u4E60\u4EBA\u6570",value:(le=We==null?void 0:We.data)==null?void 0:le.study_count,unit:"",img:ae(37426),bg:"rgba(68, 95, 232, 0.1)"},{title:"\u5B66\u4E60\u5B8C\u6210\u7387",value:(_e=We==null?void 0:We.data)==null?void 0:_e.complete_rate,unit:"%",img:ae(19150),bg:"rgba(182, 129, 0, .1)"},{title:"\u5B66\u4E60\u638C\u63E1\u7387",value:(Ne=We==null?void 0:We.data)==null?void 0:Ne.grasp_rate,unit:"%",img:ae(55303),bg:"rgba(6, 145, 127, .1)"}].map((Ve,$t)=>c.createElement("div",{key:$t,className:"relative",style:{borderRadius:"6rem",padding:"20rem",background:Ve==null?void 0:Ve.bg}},c.createElement("div",{style:{fontSize:"14rem"}},Ve==null?void 0:Ve.title),c.createElement("div",{className:"blod",style:{fontSize:"26rem"}},Ve==null?void 0:Ve.value,c.createElement("span",{style:{fontSize:"14rem"}},Ve==null?void 0:Ve.unit)),c.createElement("img",{className:"absolute",style:{right:"6rem",bottom:"6rem"},height:"35rem",src:Ve==null?void 0:Ve.img})))),c.createElement("div",{className:"flex-1 minW-0"},c.createElement(f.Z,{dataSource:rt,legend:{top:null,icon:"roundRect",bottom:10,itemWidth:14,itemGap:50,left:"center",formatter:Ve=>Ve}})))),!(Ft!=null&&Ft.can_managed)&&c.createElement(c.Fragment,null,c.createElement("div",{className:"flex item-center",style:{gap:"20rem",marginTop:"20rem"}},[{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(Pe=We==null?void 0:We.data)==null?void 0:Pe.total_knowledge_count,unit:"\u4E2A",percent:($e=We==null?void 0:We.data)==null?void 0:$e.knowledge_rate,percenttitle:"\u5360\u603B\u77E5\u8BC6\u70B9",trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(Ye=We==null?void 0:We.data)==null?void 0:Ye.total_resource_count,unit:"\u4E2A",percent:(Lt=We==null?void 0:We.data)==null?void 0:Lt.resource_rate,percenttitle:"\u5360\u603B\u8D44\u6E90\u6570",trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((Ve,$t)=>c.createElement("div",{key:$t,className:"flex-1 minW-0 flex justify-between c-grey-333",style:{gap:"20rem",background:"#F6F7F9",borderRadius:"6rem",padding:"30rem 60rem"}},c.createElement("div",{className:"flex flex-col justify-between"},c.createElement("div",{style:{fontSize:"14rem",whiteSpace:"nowrap"}},Ve==null?void 0:Ve.title),c.createElement("div",{className:"blod",style:{fontSize:"26rem"}},Ve==null?void 0:Ve.value,c.createElement("span",{style:{fontSize:"14rem"}},Ve==null?void 0:Ve.unit))),c.createElement("div",{className:"relative",style:{width:"133rem",height:"75rem"}},c.createElement(D.Z,{type:"dashboard",percent:Ve==null?void 0:Ve.percent,gapDegree:178,strokeWidth:10,className:"absolute",style:{right:0,top:0},trailColor:Ve==null?void 0:Ve.trailColor,strokeColor:Ve==null?void 0:Ve.strokeColor,strokeLinecap:"round",format:ar=>c.createElement("div",{className:"c-grey-333",style:{fontSize:"12rem",textAlign:"center",marginTop:"-35rem"}},ar,"%",c.createElement("br",null),c.createElement("br",null),Ve==null?void 0:Ve.percenttitle)}))))),c.createElement("div",{className:"c-grey-333 blod",style:{margin:"40rem 0 30rem 0",fontSize:"14rem"}},"\u5B66\u4E60\u7EDF\u8BA1"),c.createElement("div",{className:"flex",style:{marginTop:"20rem",gap:"20rem"}},[{title:"\u4E3B\u80FD\u529B\u638C\u63E1\u7387",value:(Ht=We==null?void 0:We.data)==null?void 0:Ht.children_ability_goal_grasp_rate,unit:"%",img:ae(46016),bg:"#E3F1FF"},{title:"\u5DF2\u638C\u63E1\u77E5\u8BC6\u70B9",value:((Me=We==null?void 0:We.data)==null?void 0:Me.knowledge_grasp_count)||0,unit:"\u4E2A",img:ae(99755),bg:"#F1FDEF",ProgressTitle:"\u77E5\u8BC6\u70B9\u638C\u63E1\u7387",percent:((be=We==null?void 0:We.data)==null?void 0:be.knowledge_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u5DF2\u5B8C\u6210\u8D44\u6E90\u6570",value:((ut=We==null?void 0:We.data)==null?void 0:ut.resource_complete_count)||0,unit:"\u4E2A",img:ae(92691),bg:"#FFF9F4",ProgressTitle:"\u5B8C\u6210\u8D44\u6E90\u7387",percent:((Ze=We==null?void 0:We.data)==null?void 0:Ze.resource_complete_rate)||0,trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((Ve,$t)=>c.createElement("div",{key:$t,className:"flex-1 minW-0 relative",style:{borderRadius:"6rem",background:Ve==null?void 0:Ve.bg,padding:"20rem 30rem"}},c.createElement("img",{src:Ve==null?void 0:Ve.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"30rem",top:"20rem"}}),c.createElement("div",{className:"c-grey-666",style:{fontSize:"14rem"}},Ve==null?void 0:Ve.title),c.createElement("div",{className:"c-grey-333 blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},Ve==null?void 0:Ve.value,c.createElement("span",{style:{fontSize:"14rem"}},Ve==null?void 0:Ve.unit)),(Ve==null?void 0:Ve.ProgressTitle)&&c.createElement("div",{className:"c-grey-666",style:{fontSize:"12rem",marginTop:"20rem"}},c.createElement("div",null,Ve==null?void 0:Ve.ProgressTitle,Ve==null?void 0:Ve.percent,"%"),c.createElement(D.Z,{percent:Ve==null?void 0:Ve.percent,showInfo:!1,trailColor:Ve==null?void 0:Ve.trailColor,strokeColor:Ve==null?void 0:Ve.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))),c.createElement("div",{className:"c-grey-333 blod",style:{margin:"30rem 0 10rem 0",fontSize:"14rem"}},"\u5F00\u59CB\u5B66\u4E60"),c.createElement("div",{className:"flex flex-col",style:{gap:"10rem"}},(Qe=(je=We==null?void 0:We.data)==null?void 0:je.children_ability_goals)==null?void 0:Qe.map(Ve=>c.createElement("div",{key:Ve==null?void 0:Ve.id,className:"flex item-center",style:{gap:"20rem",padding:"20rem",background:"#F6F7F9",borderRadius:"6rem"}},c.createElement("div",{className:"flex-1 minW-0 flex flex-col"},c.createElement("div",{className:"flex",style:{gap:"10rem"}},c.createElement("div",{style:{color:"#3061D0"}},c.createElement(ce,{type:"\u5B50\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u5B50\u80FD\u529B"),c.createElement(te.Z,{title:Ve==null?void 0:Ve.name,placement:"topLeft"},c.createElement("div",{className:"multi_ellipsis1"},Ve==null?void 0:Ve.name))),c.createElement("div",{className:"flex item-center",style:{gap:"10rem",marginTop:"15rem",fontSize:"14rem"}},c.createElement(X.default,{color:"orange",style:{fontSize:"12rem",lineHeight:"1.5"}},"\u8282\u70B9"),c.createElement("span",{className:"c-grey-333"},Ve==null?void 0:Ve.last_knowledge_name),Ve!=null&&Ve.is_complete?c.createElement("span",{className:"c-green"},"\uFF08\u5DF2\u638C\u63E1\uFF09"):c.createElement("span",{className:"c-grey-666"},"\uFF08\u672A\u638C\u63E1\uFF09"))),c.createElement(C.op,{onClick:()=>It(void 0,null,function*(){yield vr(Ve)})},(Ve==null?void 0:Ve.complete_rate)==0?"\u5F00\u59CB\u5B66\u4E60":"\u7EE7\u7EED\u5B66\u4E60")))))),(mt=(yt=We==null?void 0:We.data)==null?void 0:yt.children_ability_goals)==null?void 0:mt.map(Ve=>c.createElement(wr,{key:Ve==null?void 0:Ve.id,DataProps:Ve,pathsDetail:Ct,getUrl:vr}))))),c.createElement(T.default,{open:Ut==null?void 0:Ut.open,title:"\u89C6\u9891",width:800,centered:!0,onCancel:()=>{ke(ot(Bt({},Ut),{open:!1}))},onOk:()=>{ke(ot(Bt({},Ut),{open:!1}))}},c.createElement(Te.Z,{allow_skip:!0,videoId:Ut.id,toLog:!0,src:Ut==null?void 0:Ut.resourceUrl,logWatchHistory:Ve=>jt(ot(Bt({},Ve),{container_type:localStorage.getItem("container_type_tupu")}))})),c.createElement($.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:Tt==null?void 0:Tt.url,type:Tt==null?void 0:Tt.file_type,disabledDownload:!0,onClose:()=>Xt({})}))};var Wr=(0,u.connect)(({pathsDetail:Ct,user:Et})=>({pathsDetail:Ct,user:Et}))(er)},84056:function(tr,qe,ae){"use strict";ae.d(qe,{BU:function(){return te},Dj:function(){return ee},gH:function(){return X},vp:function(){return D}});function ee(W){try{W.mozRequestFullScreen?W.mozRequestFullScreen():W.webkitRequestFullScreen&&W.webkitRequestFullScreen()}catch(y){console.log(y,":e")}}function te(){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 X=()=>{if(document.webkitExitFullscreen)return"webkitfullscreenchange";if(document.exitFullscreen)return"fullscreenchange";if(document.msExitFullscreen)return"msfullscreenchange";if(document.mozCancelFullScreen)return"mozfullscreenchange"};function D(){var W=window.top.document.fullscreenElement||window.top.document.mozFullscreenElement||window.top.document.webkitFullscreenElement,y=document.fullscreenEnabled||document.mozFullscreenEnabled||document.webkitFullscreenEnabled;return console.log("fullscreenElement",W),window.isFullScreen?window.isFullScreen:W!=null}},61527:function(tr,qe,ae){"use strict";ae.d(qe,{U:function(){return s}});var ee=ae(59301),te=Object.defineProperty,X=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,y=(T,c,u)=>c in T?te(T,c,{enumerable:!0,configurable:!0,writable:!0,value:u}):T[c]=u,L=(T,c)=>{for(var u in c||(c={}))D.call(c,u)&&y(T,u,c[u]);if(X)for(var u of X(c))W.call(c,u)&&y(T,u,c[u]);return T},b=(T,c,u)=>new Promise((f,i)=>{var o=m=>{try{p(u.next(m))}catch(h){i(h)}},d=m=>{try{p(u.throw(m))}catch(h){i(h)}},p=m=>m.done?f(m.value):Promise.resolve(m.value).then(o,d);p((u=u.apply(T,c)).next())});function s(T,c){const[u,f]=(0,ee.useState)(c),[i,o]=(0,ee.useState)(!1),[d,p]=(0,ee.useState)();return[u,i,(h,v=!1)=>b(this,null,function*(){const r=v?c:L(L({},u),h);o(!0),f(r);const a=yield T(r);return o(!1),p(a),a}),d,p]}},73217:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return Yt}});class ee{static install(){Object.setPrototypeOf=Object.setPrototypeOf||function(H,Y){return H.__proto__=Y,H},Object.assign=Object.assign||function(H){if(H==null)throw new TypeError("Cannot convert undefined or null to object");let Y=Object(H);for(let J=1;J<arguments.length;J++){let le=arguments[J];if(le!=null)for(let _e in le)le.hasOwnProperty(_e)&&(Y[_e]=le[_e])}return Y},typeof self.Promise!="function"&&ae(3867).polyfill()}}ee.install();var te=ee,X=ae(86204),D=ae.n(X);class W{static e(H,Y){(!H||W.FORCE_GLOBAL_TAG)&&(H=W.GLOBAL_TAG);let J=`[${H}] > ${Y}`;W.ENABLE_CALLBACK&&W.emitter.emit("log","error",J),W.ENABLE_ERROR&&(console.error?console.error(J):console.warn?console.warn(J):console.log(J))}static i(H,Y){(!H||W.FORCE_GLOBAL_TAG)&&(H=W.GLOBAL_TAG);let J=`[${H}] > ${Y}`;W.ENABLE_CALLBACK&&W.emitter.emit("log","info",J),W.ENABLE_INFO&&(console.info?console.info(J):console.log(J))}static w(H,Y){(!H||W.FORCE_GLOBAL_TAG)&&(H=W.GLOBAL_TAG);let J=`[${H}] > ${Y}`;W.ENABLE_CALLBACK&&W.emitter.emit("log","warn",J),W.ENABLE_WARN&&(console.warn?console.warn(J):console.log(J))}static d(H,Y){(!H||W.FORCE_GLOBAL_TAG)&&(H=W.GLOBAL_TAG);let J=`[${H}] > ${Y}`;W.ENABLE_CALLBACK&&W.emitter.emit("log","debug",J),W.ENABLE_DEBUG&&(console.debug?console.debug(J):console.log(J))}static v(H,Y){(!H||W.FORCE_GLOBAL_TAG)&&(H=W.GLOBAL_TAG);let J=`[${H}] > ${Y}`;W.ENABLE_CALLBACK&&W.emitter.emit("log","verbose",J),W.ENABLE_VERBOSE&&console.log(J)}}W.GLOBAL_TAG="flv.js",W.FORCE_GLOBAL_TAG=!1,W.ENABLE_ERROR=!0,W.ENABLE_INFO=!0,W.ENABLE_WARN=!0,W.ENABLE_DEBUG=!0,W.ENABLE_VERBOSE=!0,W.ENABLE_CALLBACK=!1,W.emitter=new(D());var y=W;class L{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(H){this._firstCheckpoint===0?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=H,this._totalBytes+=H):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=H,this._totalBytes+=H):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=H,this._totalBytes+=H,this._lastCheckpoint=this._now())}get currentKBps(){this.addBytes(0);let H=(this._now()-this._lastCheckpoint)/1e3;return H==0&&(H=1),this._intervalBytes/H/1024}get lastSecondKBps(){return this.addBytes(0),this._lastSecondBytes!==0?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}get averageKBps(){let H=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/H/1024}}var b=L;class s{constructor(H){this._message=H}get name(){return"RuntimeException"}get message(){return this._message}toString(){return this.name+": "+this.message}}class T extends s{constructor(H){super(H)}get name(){return"IllegalStateException"}}class c extends s{constructor(H){super(H)}get name(){return"InvalidArgumentException"}}class u extends s{constructor(H){super(H)}get name(){return"NotImplementedException"}}const f={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},i={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"};class o{constructor(H){this._type=H||"undefined",this._status=f.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}destroy(){this._status=f.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}isWorking(){return this._status===f.kConnecting||this._status===f.kBuffering}get type(){return this._type}get status(){return this._status}get needStashBuffer(){return this._needStash}get onContentLengthKnown(){return this._onContentLengthKnown}set onContentLengthKnown(H){this._onContentLengthKnown=H}get onURLRedirect(){return this._onURLRedirect}set onURLRedirect(H){this._onURLRedirect=H}get onDataArrival(){return this._onDataArrival}set onDataArrival(H){this._onDataArrival=H}get onError(){return this._onError}set onError(H){this._onError=H}get onComplete(){return this._onComplete}set onComplete(H){this._onComplete=H}open(H,Y){throw new u("Unimplemented abstract function!")}abort(){throw new u("Unimplemented abstract function!")}}let d={};function p(){let ft=self.navigator.userAgent.toLowerCase(),H=/(edge)\/([\w.]+)/.exec(ft)||/(opr)[\/]([\w.]+)/.exec(ft)||/(chrome)[ \/]([\w.]+)/.exec(ft)||/(iemobile)[\/]([\w.]+)/.exec(ft)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(ft)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(ft)||/(webkit)[ \/]([\w.]+)/.exec(ft)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ft)||/(msie) ([\w.]+)/.exec(ft)||ft.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(ft)||ft.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(ft)||[],Y=/(ipad)/.exec(ft)||/(ipod)/.exec(ft)||/(windows phone)/.exec(ft)||/(iphone)/.exec(ft)||/(kindle)/.exec(ft)||/(android)/.exec(ft)||/(windows)/.exec(ft)||/(mac)/.exec(ft)||/(linux)/.exec(ft)||/(cros)/.exec(ft)||[],J={browser:H[5]||H[3]||H[1]||"",version:H[2]||H[4]||"0",majorVersion:H[4]||H[2]||"0",platform:Y[0]||""},le={};if(J.browser){le[J.browser]=!0;let _e=J.majorVersion.split(".");le.version={major:parseInt(J.majorVersion,10),string:J.version},_e.length>1&&(le.version.minor=parseInt(_e[1],10)),_e.length>2&&(le.version.build=parseInt(_e[2],10))}if(J.platform&&(le[J.platform]=!0),(le.chrome||le.opr||le.safari)&&(le.webkit=!0),le.rv||le.iemobile){le.rv&&delete le.rv;let _e="msie";J.browser=_e,le[_e]=!0}if(le.edge){delete le.edge;let _e="msedge";J.browser=_e,le[_e]=!0}if(le.opr){let _e="opera";J.browser=_e,le[_e]=!0}if(le.safari&&le.android){let _e="android";J.browser=_e,le[_e]=!0}le.name=J.browser,le.platform=J.platform;for(let _e in d)d.hasOwnProperty(_e)&&delete d[_e];Object.assign(d,le)}p();var m=d;class h extends o{static isSupported(){try{let H=m.msedge&&m.version.minor>=15048,Y=m.msedge?H:!0;return self.fetch&&self.ReadableStream&&Y}catch(H){return!1}}constructor(H,Y){super("fetch-stream-loader"),this.TAG="FetchStreamLoader",this._seekHandler=H,this._config=Y,this._needStash=!0,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),super.destroy()}open(H,Y){this._dataSource=H,this._range=Y;let J=H.url;this._config.reuseRedirectedURL&&H.redirectedURL!=null&&(J=H.redirectedURL);let le=this._seekHandler.getConfig(J,Y),_e=new self.Headers;if(typeof le.headers=="object"){let Pe=le.headers;for(let $e in Pe)Pe.hasOwnProperty($e)&&_e.append($e,Pe[$e])}let Ne={method:"GET",headers:_e,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if(typeof this._config.headers=="object")for(let Pe in this._config.headers)_e.append(Pe,this._config.headers[Pe]);H.cors===!1&&(Ne.mode="same-origin"),H.withCredentials&&(Ne.credentials="include"),H.referrerPolicy&&(Ne.referrerPolicy=H.referrerPolicy),this._status=f.kConnecting,self.fetch(le.url,Ne).then(Pe=>{if(this._requestAbort){this._requestAbort=!1,this._status=f.kIdle;return}if(Pe.ok&&Pe.status>=200&&Pe.status<=299){if(Pe.url!==le.url&&this._onURLRedirect){let Ye=this._seekHandler.removeURLParameters(Pe.url);this._onURLRedirect(Ye)}let $e=Pe.headers.get("Content-Length");return $e!=null&&(this._contentLength=parseInt($e),this._contentLength!==0&&this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)),this._pump.call(this,Pe.body.getReader())}else if(this._status=f.kError,this._onError)this._onError(i.HTTP_STATUS_CODE_INVALID,{code:Pe.status,msg:Pe.statusText});else throw new s("FetchStreamLoader: Http code invalid, "+Pe.status+" "+Pe.statusText)}).catch(Pe=>{if(this._status=f.kError,this._onError)this._onError(i.EXCEPTION,{code:-1,msg:Pe.message});else throw Pe})}abort(){this._requestAbort=!0}_pump(H){return H.read().then(Y=>{if(Y.done)if(this._contentLength!==null&&this._receivedLength<this._contentLength){this._status=f.kError;let J=i.EARLY_EOF,le={code:-1,msg:"Fetch stream meet Early-EOF"};if(this._onError)this._onError(J,le);else throw new s(le.msg)}else this._status=f.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1);else{if(this._requestAbort===!0)return this._requestAbort=!1,this._status=f.kComplete,H.cancel();this._status=f.kBuffering;let J=Y.value.buffer,le=this._range.from+this._receivedLength;this._receivedLength+=J.byteLength,this._onDataArrival&&this._onDataArrival(J,le,this._receivedLength),this._pump(H)}}).catch(Y=>{if(Y.code===11&&m.msedge)return;this._status=f.kError;let J=0,le=null;if((Y.code===19||Y.message==="network error")&&(this._contentLength===null||this._contentLength!==null&&this._receivedLength<this._contentLength)?(J=i.EARLY_EOF,le={code:Y.code,msg:"Fetch stream meet Early-EOF"}):(J=i.EXCEPTION,le={code:Y.code,msg:Y.message}),this._onError)this._onError(J,le);else throw new s(le.msg)})}}var v=h;class r extends o{static isSupported(){try{let H=new XMLHttpRequest;return H.open("GET","https://example.com",!0),H.responseType="moz-chunked-arraybuffer",H.responseType==="moz-chunked-arraybuffer"}catch(H){return y.w("MozChunkedLoader",H.message),!1}}constructor(H,Y){super("xhr-moz-chunked-loader"),this.TAG="MozChunkedLoader",this._seekHandler=H,this._config=Y,this._needStash=!0,this._xhr=null,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}open(H,Y){this._dataSource=H,this._range=Y;let J=H.url;this._config.reuseRedirectedURL&&H.redirectedURL!=null&&(J=H.redirectedURL);let le=this._seekHandler.getConfig(J,Y);this._requestURL=le.url;let _e=this._xhr=new XMLHttpRequest;if(_e.open("GET",le.url,!0),_e.responseType="moz-chunked-arraybuffer",_e.onreadystatechange=this._onReadyStateChange.bind(this),_e.onprogress=this._onProgress.bind(this),_e.onloadend=this._onLoadEnd.bind(this),_e.onerror=this._onXhrError.bind(this),H.withCredentials&&(_e.withCredentials=!0),typeof le.headers=="object"){let Ne=le.headers;for(let Pe in Ne)Ne.hasOwnProperty(Pe)&&_e.setRequestHeader(Pe,Ne[Pe])}if(typeof this._config.headers=="object"){let Ne=this._config.headers;for(let Pe in Ne)Ne.hasOwnProperty(Pe)&&_e.setRequestHeader(Pe,Ne[Pe])}this._status=f.kConnecting,_e.send()}abort(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=f.kComplete}_onReadyStateChange(H){let Y=H.target;if(Y.readyState===2){if(Y.responseURL!=null&&Y.responseURL!==this._requestURL&&this._onURLRedirect){let J=this._seekHandler.removeURLParameters(Y.responseURL);this._onURLRedirect(J)}if(Y.status!==0&&(Y.status<200||Y.status>299))if(this._status=f.kError,this._onError)this._onError(i.HTTP_STATUS_CODE_INVALID,{code:Y.status,msg:Y.statusText});else throw new s("MozChunkedLoader: Http code invalid, "+Y.status+" "+Y.statusText);else this._status=f.kBuffering}}_onProgress(H){if(this._status===f.kError)return;this._contentLength===null&&H.total!==null&&H.total!==0&&(this._contentLength=H.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));let Y=H.target.response,J=this._range.from+this._receivedLength;this._receivedLength+=Y.byteLength,this._onDataArrival&&this._onDataArrival(Y,J,this._receivedLength)}_onLoadEnd(H){if(this._requestAbort===!0){this._requestAbort=!1;return}else if(this._status===f.kError)return;this._status=f.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)}_onXhrError(H){this._status=f.kError;let Y=0,J=null;if(this._contentLength&&H.loaded<this._contentLength?(Y=i.EARLY_EOF,J={code:-1,msg:"Moz-Chunked stream meet Early-Eof"}):(Y=i.EXCEPTION,J={code:-1,msg:H.constructor.name+" "+H.type}),this._onError)this._onError(Y,J);else throw new s(J.msg)}}var a=r;class g extends null{static isSupported(){try{if(typeof self.MSStream=="undefined"||typeof self.MSStreamReader=="undefined")return!1;let H=new XMLHttpRequest;return H.open("GET","https://example.com",!0),H.responseType="ms-stream",H.responseType==="ms-stream"}catch(H){return Log.w("MSStreamLoader",H.message),!1}}constructor(H,Y){super("xhr-msstream-loader"),this.TAG="MSStreamLoader",this._seekHandler=H,this._config=Y,this._needStash=!0,this._xhr=null,this._reader=null,this._totalRange=null,this._currentRange=null,this._currentRequestURL=null,this._currentRedirectedURL=null,this._contentLength=null,this._receivedLength=0,this._bufferLimit=16*1024*1024,this._lastTimeBufferSize=0,this._isReconnecting=!1}destroy(){this.isWorking()&&this.abort(),this._reader&&(this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr=null),super.destroy()}open(H,Y){this._internalOpen(H,Y,!1)}_internalOpen(H,Y,J){this._dataSource=H,J?this._currentRange=Y:this._totalRange=Y;let le=H.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?le=this._currentRedirectedURL:H.redirectedURL!=null&&(le=H.redirectedURL));let _e=this._seekHandler.getConfig(le,Y);this._currentRequestURL=_e.url;let Ne=this._reader=new self.MSStreamReader;Ne.onprogress=this._msrOnProgress.bind(this),Ne.onload=this._msrOnLoad.bind(this),Ne.onerror=this._msrOnError.bind(this);let Pe=this._xhr=new XMLHttpRequest;if(Pe.open("GET",_e.url,!0),Pe.responseType="ms-stream",Pe.onreadystatechange=this._xhrOnReadyStateChange.bind(this),Pe.onerror=this._xhrOnError.bind(this),H.withCredentials&&(Pe.withCredentials=!0),typeof _e.headers=="object"){let $e=_e.headers;for(let Ye in $e)$e.hasOwnProperty(Ye)&&Pe.setRequestHeader(Ye,$e[Ye])}if(typeof this._config.headers=="object"){let $e=this._config.headers;for(let Ye in $e)$e.hasOwnProperty(Ye)&&Pe.setRequestHeader(Ye,$e[Ye])}this._isReconnecting?this._isReconnecting=!1:this._status=LoaderStatus.kConnecting,Pe.send()}abort(){this._internalAbort(),this._status=LoaderStatus.kComplete}_internalAbort(){this._reader&&(this._reader.readyState===1&&this._reader.abort(),this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.abort(),this._xhr.onreadystatechange=null,this._xhr=null)}_xhrOnReadyStateChange(H){let Y=H.target;if(Y.readyState===2)if(Y.status>=200&&Y.status<=299){if(this._status=LoaderStatus.kBuffering,Y.responseURL!=null){let le=this._seekHandler.removeURLParameters(Y.responseURL);Y.responseURL!==this._currentRequestURL&&le!==this._currentRedirectedURL&&(this._currentRedirectedURL=le,this._onURLRedirect&&this._onURLRedirect(le))}let J=Y.getResponseHeader("Content-Length");if(J!=null&&this._contentLength==null){let le=parseInt(J);le>0&&(this._contentLength=le,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else if(this._status=LoaderStatus.kError,this._onError)this._onError(LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:Y.status,msg:Y.statusText});else throw new RuntimeException("MSStreamLoader: Http code invalid, "+Y.status+" "+Y.statusText);else if(Y.readyState===3&&Y.status>=200&&Y.status<=299){this._status=LoaderStatus.kBuffering;let J=Y.response;this._reader.readAsArrayBuffer(J)}}_xhrOnError(H){this._status=LoaderStatus.kError;let Y=LoaderErrors.EXCEPTION,J={code:-1,msg:H.constructor.name+" "+H.type};if(this._onError)this._onError(Y,J);else throw new RuntimeException(J.msg)}_msrOnProgress(H){let J=H.target.result;if(J==null){this._doReconnectIfNeeded();return}let le=J.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=J.byteLength;let _e=this._totalRange.from+this._receivedLength;this._receivedLength+=le.byteLength,this._onDataArrival&&this._onDataArrival(le,_e,this._receivedLength),J.byteLength>=this._bufferLimit&&(Log.v(this.TAG,`MSStream buffer exceeded max size near ${_e+le.byteLength}, reconnecting...`),this._doReconnectIfNeeded())}_doReconnectIfNeeded(){if(this._contentLength==null||this._receivedLength<this._contentLength){this._isReconnecting=!0,this._lastTimeBufferSize=0,this._internalAbort();let H={from:this._totalRange.from+this._receivedLength,to:-1};this._internalOpen(this._dataSource,H,!0)}}_msrOnLoad(H){this._status=LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._totalRange.from,this._totalRange.from+this._receivedLength-1)}_msrOnError(H){this._status=LoaderStatus.kError;let Y=0,J=null;if(this._contentLength&&this._receivedLength<this._contentLength?(Y=LoaderErrors.EARLY_EOF,J={code:-1,msg:"MSStream meet Early-Eof"}):(Y=LoaderErrors.EARLY_EOF,J={code:-1,msg:H.constructor.name+" "+H.type}),this._onError)this._onError(Y,J);else throw new RuntimeException(J.msg)}}var E=null;class S extends o{static isSupported(){try{let H=new XMLHttpRequest;return H.open("GET","https://example.com",!0),H.responseType="arraybuffer",H.responseType==="arraybuffer"}catch(H){return y.w("RangeLoader",H.message),!1}}constructor(H,Y){super("xhr-range-loader"),this.TAG="RangeLoader",this._seekHandler=H,this._config=Y,this._needStash=!1,this._chunkSizeKBList=[128,256,384,512,768,1024,1536,2048,3072,4096,5120,6144,7168,8192],this._currentChunkSizeKB=384,this._currentSpeedNormalized=0,this._zeroSpeedChunkCount=0,this._xhr=null,this._speedSampler=new b,this._requestAbort=!1,this._waitForTotalLength=!1,this._totalLengthReceived=!1,this._currentRequestURL=null,this._currentRedirectedURL=null,this._currentRequestRange=null,this._totalLength=null,this._contentLength=null,this._receivedLength=0,this._lastTimeLoaded=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}get currentSpeed(){return this._speedSampler.lastSecondKBps}open(H,Y){this._dataSource=H,this._range=Y,this._status=f.kConnecting;let J=!1;this._dataSource.filesize!=null&&this._dataSource.filesize!==0&&(J=!0,this._totalLength=this._dataSource.filesize),!this._totalLengthReceived&&!J?(this._waitForTotalLength=!0,this._internalOpen(this._dataSource,{from:0,to:-1})):this._openSubRange()}_openSubRange(){let H=this._currentChunkSizeKB*1024,Y=this._range.from+this._receivedLength,J=Y+H;this._contentLength!=null&&J-this._range.from>=this._contentLength&&(J=this._range.from+this._contentLength-1),this._currentRequestRange={from:Y,to:J},this._internalOpen(this._dataSource,this._currentRequestRange)}_internalOpen(H,Y){this._lastTimeLoaded=0;let J=H.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?J=this._currentRedirectedURL:H.redirectedURL!=null&&(J=H.redirectedURL));let le=this._seekHandler.getConfig(J,Y);this._currentRequestURL=le.url;let _e=this._xhr=new XMLHttpRequest;if(_e.open("GET",le.url,!0),_e.responseType="arraybuffer",_e.onreadystatechange=this._onReadyStateChange.bind(this),_e.onprogress=this._onProgress.bind(this),_e.onload=this._onLoad.bind(this),_e.onerror=this._onXhrError.bind(this),H.withCredentials&&(_e.withCredentials=!0),typeof le.headers=="object"){let Ne=le.headers;for(let Pe in Ne)Ne.hasOwnProperty(Pe)&&_e.setRequestHeader(Pe,Ne[Pe])}if(typeof this._config.headers=="object"){let Ne=this._config.headers;for(let Pe in Ne)Ne.hasOwnProperty(Pe)&&_e.setRequestHeader(Pe,Ne[Pe])}_e.send()}abort(){this._requestAbort=!0,this._internalAbort(),this._status=f.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(H){let Y=H.target;if(Y.readyState===2){if(Y.responseURL!=null){let J=this._seekHandler.removeURLParameters(Y.responseURL);Y.responseURL!==this._currentRequestURL&&J!==this._currentRedirectedURL&&(this._currentRedirectedURL=J,this._onURLRedirect&&this._onURLRedirect(J))}if(Y.status>=200&&Y.status<=299){if(this._waitForTotalLength)return;this._status=f.kBuffering}else if(this._status=f.kError,this._onError)this._onError(i.HTTP_STATUS_CODE_INVALID,{code:Y.status,msg:Y.statusText});else throw new s("RangeLoader: Http code invalid, "+Y.status+" "+Y.statusText)}}_onProgress(H){if(this._status===f.kError)return;if(this._contentLength===null){let J=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,J=!0;let le=H.total;this._internalAbort(),le!=null&le!==0&&(this._totalLength=le)}if(this._range.to===-1?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,J){this._openSubRange();return}this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}let Y=H.loaded-this._lastTimeLoaded;this._lastTimeLoaded=H.loaded,this._speedSampler.addBytes(Y)}_normalizeSpeed(H){let Y=this._chunkSizeKBList,J=Y.length-1,le=0,_e=0,Ne=J;if(H<Y[0])return Y[0];for(;_e<=Ne;){if(le=_e+Math.floor((Ne-_e)/2),le===J||H>=Y[le]&&H<Y[le+1])return Y[le];Y[le]<H?_e=le+1:Ne=le-1}}_onLoad(H){if(this._status===f.kError)return;if(this._waitForTotalLength){this._waitForTotalLength=!1;return}this._lastTimeLoaded=0;let Y=this._speedSampler.lastSecondKBps;if(Y===0&&(this._zeroSpeedChunkCount++,this._zeroSpeedChunkCount>=3&&(Y=this._speedSampler.currentKBps)),Y!==0){let Ne=this._normalizeSpeed(Y);this._currentSpeedNormalized!==Ne&&(this._currentSpeedNormalized=Ne,this._currentChunkSizeKB=Ne)}let J=H.target.response,le=this._range.from+this._receivedLength;this._receivedLength+=J.byteLength;let _e=!1;this._contentLength!=null&&this._receivedLength<this._contentLength?this._openSubRange():_e=!0,this._onDataArrival&&this._onDataArrival(J,le,this._receivedLength),_e&&(this._status=f.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}_onXhrError(H){this._status=f.kError;let Y=0,J=null;if(this._contentLength&&this._receivedLength>0&&this._receivedLength<this._contentLength?(Y=i.EARLY_EOF,J={code:-1,msg:"RangeLoader meet Early-Eof"}):(Y=i.EXCEPTION,J={code:-1,msg:H.constructor.name+" "+H.type}),this._onError)this._onError(Y,J);else throw new s(J.msg)}}var w=S;class R extends o{static isSupported(){try{return typeof self.WebSocket!="undefined"}catch(H){return!1}}constructor(){super("websocket-loader"),this.TAG="WebSocketLoader",this._needStash=!0,this._ws=null,this._requestAbort=!1,this._receivedLength=0}destroy(){this._ws&&this.abort(),super.destroy()}open(H){try{let Y=this._ws=new self.WebSocket(H.url);Y.binaryType="arraybuffer",Y.onopen=this._onWebSocketOpen.bind(this),Y.onclose=this._onWebSocketClose.bind(this),Y.onmessage=this._onWebSocketMessage.bind(this),Y.onerror=this._onWebSocketError.bind(this),this._status=f.kConnecting}catch(Y){this._status=f.kError;let J={code:Y.code,msg:Y.message};if(this._onError)this._onError(i.EXCEPTION,J);else throw new s(J.msg)}}abort(){let H=this._ws;H&&(H.readyState===0||H.readyState===1)&&(this._requestAbort=!0,H.close()),this._ws=null,this._status=f.kComplete}_onWebSocketOpen(H){this._status=f.kBuffering}_onWebSocketClose(H){if(this._requestAbort===!0){this._requestAbort=!1;return}this._status=f.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)}_onWebSocketMessage(H){if(H.data instanceof ArrayBuffer)this._dispatchArrayBuffer(H.data);else if(H.data instanceof Blob){let Y=new FileReader;Y.onload=()=>{this._dispatchArrayBuffer(Y.result)},Y.readAsArrayBuffer(H.data)}else{this._status=f.kError;let Y={code:-1,msg:"Unsupported WebSocket message type: "+H.data.constructor.name};if(this._onError)this._onError(i.EXCEPTION,Y);else throw new s(Y.msg)}}_dispatchArrayBuffer(H){let Y=H,J=this._receivedLength;this._receivedLength+=Y.byteLength,this._onDataArrival&&this._onDataArrival(Y,J,this._receivedLength)}_onWebSocketError(H){this._status=f.kError;let Y={code:H.code,msg:H.message};if(this._onError)this._onError(i.EXCEPTION,Y);else throw new s(Y.msg)}}var O=R;class G{constructor(H){this._zeroStart=H||!1}getConfig(H,Y){let J={};if(Y.from!==0||Y.to!==-1){let le;Y.to!==-1?le=`bytes=${Y.from.toString()}-${Y.to.toString()}`:le=`bytes=${Y.from.toString()}-`,J.Range=le}else this._zeroStart&&(J.Range="bytes=0-");return{url:H,headers:J}}removeURLParameters(H){return H}}var B=G;class P{constructor(H,Y){this._startName=H,this._endName=Y}getConfig(H,Y){let J=H;if(Y.from!==0||Y.to!==-1){let le=!0;J.indexOf("?")===-1&&(J+="?",le=!1),le&&(J+="&"),J+=`${this._startName}=${Y.from.toString()}`,Y.to!==-1&&(J+=`&${this._endName}=${Y.to.toString()}`)}return{url:J,headers:{}}}removeURLParameters(H){let Y=H.split("?")[0],J,le=H.indexOf("?");le!==-1&&(J=H.substring(le+1));let _e="";if(J!=null&&J.length>0){let Ne=J.split("&");for(let Pe=0;Pe<Ne.length;Pe++){let $e=Ne[Pe].split("="),Ye=Pe>0;$e[0]!==this._startName&&$e[0]!==this._endName&&(Ye&&(_e+="&"),_e+=Ne[Pe])}}return _e.length===0?Y:Y+"?"+_e}}var F=P;class K{constructor(H,Y,J){this.TAG="IOController",this._config=Y,this._extraData=J,this._stashInitialSize=1024*384,Y.stashInitialSize!=null&&Y.stashInitialSize>0&&(this._stashInitialSize=Y.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,Y.enableStashBuffer===!1&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=H,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(H.url),this._refTotalLength=H.filesize?H.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new b,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(H){this._extraData=H}get onDataArrival(){return this._onDataArrival}set onDataArrival(H){this._onDataArrival=H}get onSeeked(){return this._onSeeked}set onSeeked(H){this._onSeeked=H}get onError(){return this._onError}set onError(H){this._onError=H}get onComplete(){return this._onComplete}set onComplete(H){this._onComplete=H}get onRedirect(){return this._onRedirect}set onRedirect(H){this._onRedirect=H}get onRecoveredEarlyEof(){return this._onRecoveredEarlyEof}set onRecoveredEarlyEof(H){this._onRecoveredEarlyEof=H}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===w?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}get loaderType(){return this._loader.type}_selectSeekHandler(){let H=this._config;if(H.seekType==="range")this._seekHandler=new B(this._config.rangeLoadZeroStart);else if(H.seekType==="param"){let Y=H.seekParamStart||"bstart",J=H.seekParamEnd||"bend";this._seekHandler=new F(Y,J)}else if(H.seekType==="custom"){if(typeof H.customSeekHandler!="function")throw new c("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new H.customSeekHandler}else throw new c(`Invalid seekType in config: ${H.seekType}`)}_selectLoader(){if(this._config.customLoader!=null)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=O;else if(v.isSupported())this._loaderClass=v;else if(a.isSupported())this._loaderClass=a;else if(w.isSupported())this._loaderClass=w;else throw new s("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(H){this._currentRange={from:0,to:-1},H&&(this._currentRange.from=H),this._speedSampler.reset(),H||(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 H=this._resumeFrom;this._resumeFrom=0,this._internalSeek(H,!0)}}seek(H){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(H,!0)}_internalSeek(H,Y){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(Y),this._loader.destroy(),this._loader=null;let J={from:H,to:-1};this._currentRange={from:J.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,J),this._onSeeked&&this._onSeeked()}updateUrl(H){if(!H||typeof H!="string"||H.length===0)throw new c("Url must be a non-empty string!");this._dataSource.url=H}_expandBuffer(H){let Y=this._stashSize;for(;Y+1024*1024*1<H;)Y*=2;if(Y+=1024*1024*1,Y===this._bufferSize)return;let J=new ArrayBuffer(Y);if(this._stashUsed>0){let le=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(J,0,Y).set(le,0)}this._stashBuffer=J,this._bufferSize=Y}_normalizeSpeed(H){let Y=this._speedNormalizeList,J=Y.length-1,le=0,_e=0,Ne=J;if(H<Y[0])return Y[0];for(;_e<=Ne;){if(le=_e+Math.floor((Ne-_e)/2),le===J||H>=Y[le]&&H<Y[le+1])return Y[le];Y[le]<H?_e=le+1:Ne=le-1}}_adjustStashSize(H){let Y=0;this._config.isLive||H<512?Y=H:H>=512&&H<=1024?Y=Math.floor(H*1.5):Y=H*2,Y>8192&&(Y=8192);let J=Y*1024+1024*1024*1;this._bufferSize<J&&this._expandBuffer(J),this._stashSize=Y*1024}_dispatchChunks(H,Y){return this._currentRange.to=Y+H.byteLength-1,this._onDataArrival(H,Y)}_onURLRedirect(H){this._redirectedURL=H,this._onRedirect&&this._onRedirect(H)}_onContentLengthKnown(H){H&&this._fullRequestFlag&&(this._totalLength=H,this._fullRequestFlag=!1)}_onLoaderChunkArrival(H,Y,J){if(!this._onDataArrival)throw new T("IOController: No existing consumer (onDataArrival) callback!");if(this._paused)return;this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,this._onRecoveredEarlyEof&&this._onRecoveredEarlyEof()),this._speedSampler.addBytes(H.byteLength);let le=this._speedSampler.lastSecondKBps;if(le!==0){let _e=this._normalizeSpeed(le);this._speedNormalized!==_e&&(this._speedNormalized=_e,this._adjustStashSize(_e))}if(this._enableStash)if(this._stashUsed===0&&this._stashByteStart===0&&(this._stashByteStart=Y),this._stashUsed+H.byteLength<=this._stashSize)new Uint8Array(this._stashBuffer,0,this._stashSize).set(new Uint8Array(H),this._stashUsed),this._stashUsed+=H.byteLength;else{let _e=new Uint8Array(this._stashBuffer,0,this._bufferSize);if(this._stashUsed>0){let Ne=this._stashBuffer.slice(0,this._stashUsed),Pe=this._dispatchChunks(Ne,this._stashByteStart);if(Pe<Ne.byteLength){if(Pe>0){let $e=new Uint8Array(Ne,Pe);_e.set($e,0),this._stashUsed=$e.byteLength,this._stashByteStart+=Pe}}else this._stashUsed=0,this._stashByteStart+=Pe;this._stashUsed+H.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+H.byteLength),_e=new Uint8Array(this._stashBuffer,0,this._bufferSize)),_e.set(new Uint8Array(H),this._stashUsed),this._stashUsed+=H.byteLength}else{let Ne=this._dispatchChunks(H,Y);if(Ne<H.byteLength){let Pe=H.byteLength-Ne;Pe>this._bufferSize&&(this._expandBuffer(Pe),_e=new Uint8Array(this._stashBuffer,0,this._bufferSize)),_e.set(new Uint8Array(H,Ne),0),this._stashUsed+=Pe,this._stashByteStart=Y+Ne}}}else if(this._stashUsed===0){let _e=this._dispatchChunks(H,Y);if(_e<H.byteLength){let Ne=H.byteLength-_e;Ne>this._bufferSize&&this._expandBuffer(Ne),new Uint8Array(this._stashBuffer,0,this._bufferSize).set(new Uint8Array(H,_e),0),this._stashUsed+=Ne,this._stashByteStart=Y+_e}}else{this._stashUsed+H.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+H.byteLength);let _e=new Uint8Array(this._stashBuffer,0,this._bufferSize);_e.set(new Uint8Array(H),this._stashUsed),this._stashUsed+=H.byteLength;let Ne=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(Ne<this._stashUsed&&Ne>0){let Pe=new Uint8Array(this._stashBuffer,Ne);_e.set(Pe,0)}this._stashUsed-=Ne,this._stashByteStart+=Ne}}_flushStashBuffer(H){if(this._stashUsed>0){let Y=this._stashBuffer.slice(0,this._stashUsed),J=this._dispatchChunks(Y,this._stashByteStart),le=Y.byteLength-J;if(J<Y.byteLength)if(H)y.w(this.TAG,`${le} bytes unconsumed data remain when flush buffer, dropped`);else{if(J>0){let _e=new Uint8Array(this._stashBuffer,0,this._bufferSize),Ne=new Uint8Array(Y,J);_e.set(Ne,0),this._stashUsed=Ne.byteLength,this._stashByteStart+=J}return 0}return this._stashUsed=0,this._stashByteStart=0,le}return 0}_onLoaderComplete(H,Y){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}_onLoaderError(H,Y){switch(y.e(this.TAG,`Loader error, code = ${Y.code}, msg = ${Y.msg}`),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,H=i.UNRECOVERABLE_EARLY_EOF),H){case i.EARLY_EOF:{if(!this._config.isLive&&this._totalLength){let J=this._currentRange.to+1;J<this._totalLength&&(y.w(this.TAG,"Connection lost, trying reconnect..."),this._isEarlyEofReconnecting=!0,this._internalSeek(J,!1));return}H=i.UNRECOVERABLE_EARLY_EOF;break}case i.UNRECOVERABLE_EARLY_EOF:case i.CONNECTING_TIMEOUT:case i.HTTP_STATUS_CODE_INVALID:case i.EXCEPTION:break}if(this._onError)this._onError(H,Y);else throw new s("IOException: "+Y.msg)}}var U=K;const V={enableWorker:!1,enableStashBuffer:!0,stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:3*60,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:3*60,autoCleanupMinBackwardDuration:2*60,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:"range",seekParamStart:"bstart",seekParamEnd:"bend",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0};function C(){return Object.assign({},V)}class M{static supportMSEH264Playback(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}static supportNetworkStreamIO(){let H=new U({},C()),Y=H.loaderType;return H.destroy(),Y=="fetch-stream-loader"||Y=="xhr-moz-chunked-loader"}static getNetworkLoaderTypeName(){let H=new U({},C()),Y=H.loaderType;return H.destroy(),Y}static supportNativeMediaPlayback(H){M.videoElement==null&&(M.videoElement=window.document.createElement("video"));let Y=M.videoElement.canPlayType(H);return Y==="probably"||Y=="maybe"}static getFeatureList(){let H={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:"",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return H.mseFlvPlayback=M.supportMSEH264Playback(),H.networkStreamIO=M.supportNetworkStreamIO(),H.networkLoaderName=M.getNetworkLoaderTypeName(),H.mseLiveFlvPlayback=H.mseFlvPlayback&&H.networkStreamIO,H.nativeMP4H264Playback=M.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'),H.nativeWebmVP8Playback=M.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'),H.nativeWebmVP9Playback=M.supportNativeMediaPlayback('video/webm; codecs="vp9"'),H}}var z=M,q={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"};class se{static get forceGlobalTag(){return y.FORCE_GLOBAL_TAG}static set forceGlobalTag(H){y.FORCE_GLOBAL_TAG=H,se._notifyChange()}static get globalTag(){return y.GLOBAL_TAG}static set globalTag(H){y.GLOBAL_TAG=H,se._notifyChange()}static get enableAll(){return y.ENABLE_VERBOSE&&y.ENABLE_DEBUG&&y.ENABLE_INFO&&y.ENABLE_WARN&&y.ENABLE_ERROR}static set enableAll(H){y.ENABLE_VERBOSE=H,y.ENABLE_DEBUG=H,y.ENABLE_INFO=H,y.ENABLE_WARN=H,y.ENABLE_ERROR=H,se._notifyChange()}static get enableDebug(){return y.ENABLE_DEBUG}static set enableDebug(H){y.ENABLE_DEBUG=H,se._notifyChange()}static get enableVerbose(){return y.ENABLE_VERBOSE}static set enableVerbose(H){y.ENABLE_VERBOSE=H,se._notifyChange()}static get enableInfo(){return y.ENABLE_INFO}static set enableInfo(H){y.ENABLE_INFO=H,se._notifyChange()}static get enableWarn(){return y.ENABLE_WARN}static set enableWarn(H){y.ENABLE_WARN=H,se._notifyChange()}static get enableError(){return y.ENABLE_ERROR}static set enableError(H){y.ENABLE_ERROR=H,se._notifyChange()}static getConfig(){return{globalTag:y.GLOBAL_TAG,forceGlobalTag:y.FORCE_GLOBAL_TAG,enableVerbose:y.ENABLE_VERBOSE,enableDebug:y.ENABLE_DEBUG,enableInfo:y.ENABLE_INFO,enableWarn:y.ENABLE_WARN,enableError:y.ENABLE_ERROR,enableCallback:y.ENABLE_CALLBACK}}static applyConfig(H){y.GLOBAL_TAG=H.globalTag,y.FORCE_GLOBAL_TAG=H.forceGlobalTag,y.ENABLE_VERBOSE=H.enableVerbose,y.ENABLE_DEBUG=H.enableDebug,y.ENABLE_INFO=H.enableInfo,y.ENABLE_WARN=H.enableWarn,y.ENABLE_ERROR=H.enableError,y.ENABLE_CALLBACK=H.enableCallback}static _notifyChange(){let H=se.emitter;if(H.listenerCount("change")>0){let Y=se.getConfig();H.emit("change",Y)}}static registerListener(H){se.emitter.addListener("change",H)}static removeListener(H){se.emitter.removeListener("change",H)}static addLogListener(H){y.emitter.addListener("log",H),y.emitter.listenerCount("log")>0&&(y.ENABLE_CALLBACK=!0,se._notifyChange())}static removeLogListener(H){y.emitter.removeListener("log",H),y.emitter.listenerCount("log")===0&&(y.ENABLE_CALLBACK=!1,se._notifyChange())}}se.emitter=new(D());var ue=se;class pe{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 H=this.hasAudio===!1||this.hasAudio===!0&&this.audioCodec!=null&&this.audioSampleRate!=null&&this.audioChannelCount!=null,Y=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&&H&&Y}isSeekable(){return this.hasKeyframesIndex===!0}getNearestKeyframe(H){if(this.keyframesIndex==null)return null;let Y=this.keyframesIndex,J=this._search(Y.times,H);return{index:J,milliseconds:Y.times[J],fileposition:Y.filepositions[J]}}_search(H,Y){let J=0,le=H.length-1,_e=0,Ne=0,Pe=le;for(Y<H[0]&&(J=0,Ne=Pe+1);Ne<=Pe;)if(_e=Ne+Math.floor((Pe-Ne)/2),_e===le||Y>=H[_e]&&Y<H[_e+1]){J=_e;break}else H[_e]<Y?Ne=_e+1:Pe=_e-1;return J}}var Ee=pe;function De(ft,H,Y){let J=ft;if(H+Y<J.length){for(;Y--;)if((J[++H]&192)!==128)return!1;return!0}else return!1}function Fe(ft){let H=[],Y=ft,J=0,le=ft.length;for(;J<le;){if(Y[J]<128){H.push(String.fromCharCode(Y[J])),++J;continue}else if(!(Y[J]<192)){if(Y[J]<224){if(De(Y,J,1)){let _e=(Y[J]&31)<<6|Y[J+1]&63;if(_e>=128){H.push(String.fromCharCode(_e&65535)),J+=2;continue}}}else if(Y[J]<240){if(De(Y,J,2)){let _e=(Y[J]&15)<<12|(Y[J+1]&63)<<6|Y[J+2]&63;if(_e>=2048&&(_e&63488)!==55296){H.push(String.fromCharCode(_e&65535)),J+=3;continue}}}else if(Y[J]<248&&De(Y,J,3)){let _e=(Y[J]&7)<<18|(Y[J+1]&63)<<12|(Y[J+2]&63)<<6|Y[J+3]&63;if(_e>65536&&_e<1114112){_e-=65536,H.push(String.fromCharCode(_e>>>10|55296)),H.push(String.fromCharCode(_e&1023|56320)),J+=4;continue}}}H.push("\uFFFD"),++J}return H.join("")}var Ge=Fe;let xe=function(){let ft=new ArrayBuffer(2);return new DataView(ft).setInt16(0,256,!0),new Int16Array(ft)[0]===256}();class Ke{static parseScriptData(H,Y,J){let le={};try{let _e=Ke.parseValue(H,Y,J),Ne=Ke.parseValue(H,Y+_e.size,J-_e.size);le[_e.data]=Ne.data}catch(_e){y.e("AMF",_e.toString())}return le}static parseObject(H,Y,J){if(J<3)throw new T("Data not enough when parse ScriptDataObject");let le=Ke.parseString(H,Y,J),_e=Ke.parseValue(H,Y+le.size,J-le.size),Ne=_e.objectEnd;return{data:{name:le.data,value:_e.data},size:le.size+_e.size,objectEnd:Ne}}static parseVariable(H,Y,J){return Ke.parseObject(H,Y,J)}static parseString(H,Y,J){if(J<2)throw new T("Data not enough when parse String");let _e=new DataView(H,Y,J).getUint16(0,!xe),Ne;return _e>0?Ne=Ge(new Uint8Array(H,Y+2,_e)):Ne="",{data:Ne,size:2+_e}}static parseLongString(H,Y,J){if(J<4)throw new T("Data not enough when parse LongString");let _e=new DataView(H,Y,J).getUint32(0,!xe),Ne;return _e>0?Ne=Ge(new Uint8Array(H,Y+4,_e)):Ne="",{data:Ne,size:4+_e}}static parseDate(H,Y,J){if(J<10)throw new T("Data size invalid when parse Date");let le=new DataView(H,Y,J),_e=le.getFloat64(0,!xe),Ne=le.getInt16(8,!xe);return _e+=Ne*60*1e3,{data:new Date(_e),size:10}}static parseValue(H,Y,J){if(J<1)throw new T("Data not enough when parse Value");let le=new DataView(H,Y,J),_e=1,Ne=le.getUint8(0),Pe,$e=!1;try{switch(Ne){case 0:Pe=le.getFloat64(1,!xe),_e+=8;break;case 1:{Pe=!!le.getUint8(1),_e+=1;break}case 2:{let Ye=Ke.parseString(H,Y+1,J-1);Pe=Ye.data,_e+=Ye.size;break}case 3:{Pe={};let Ye=0;for((le.getUint32(J-4,!xe)&16777215)===9&&(Ye=3);_e<J-4;){let Lt=Ke.parseObject(H,Y+_e,J-_e-Ye);if(Lt.objectEnd)break;Pe[Lt.data.name]=Lt.data.value,_e+=Lt.size}_e<=J-3&&(le.getUint32(_e-1,!xe)&16777215)===9&&(_e+=3);break}case 8:{Pe={},_e+=4;let Ye=0;for((le.getUint32(J-4,!xe)&16777215)===9&&(Ye=3);_e<J-8;){let Lt=Ke.parseVariable(H,Y+_e,J-_e-Ye);if(Lt.objectEnd)break;Pe[Lt.data.name]=Lt.data.value,_e+=Lt.size}_e<=J-3&&(le.getUint32(_e-1,!xe)&16777215)===9&&(_e+=3);break}case 9:Pe=void 0,_e=1,$e=!0;break;case 10:{Pe=[];let Ye=le.getUint32(1,!xe);_e+=4;for(let Lt=0;Lt<Ye;Lt++){let Ht=Ke.parseValue(H,Y+_e,J-_e);Pe.push(Ht.data),_e+=Ht.size}break}case 11:{let Ye=Ke.parseDate(H,Y+1,J-1);Pe=Ye.data,_e+=Ye.size;break}case 12:{let Ye=Ke.parseString(H,Y+1,J-1);Pe=Ye.data,_e+=Ye.size;break}default:_e=J,y.w("AMF","Unsupported AMF value type "+Ne)}}catch(Ye){y.e("AMF",Ye.toString())}return{data:Pe,size:_e,objectEnd:$e}}}var Ce=Ke;class Se{constructor(H){this.TAG="ExpGolomb",this._buffer=H,this._buffer_index=0,this._total_bytes=H.byteLength,this._total_bits=H.byteLength*8,this._current_word=0,this._current_word_bits_left=0}destroy(){this._buffer=null}_fillCurrentWord(){let H=this._total_bytes-this._buffer_index;if(H<=0)throw new T("ExpGolomb: _fillCurrentWord() but no bytes available");let Y=Math.min(4,H),J=new Uint8Array(4);J.set(this._buffer.subarray(this._buffer_index,this._buffer_index+Y)),this._current_word=new DataView(J.buffer).getUint32(0,!1),this._buffer_index+=Y,this._current_word_bits_left=Y*8}readBits(H){if(H>32)throw new c("ExpGolomb: readBits() bits exceeded max 32bits!");if(H<=this._current_word_bits_left){let Ne=this._current_word>>>32-H;return this._current_word<<=H,this._current_word_bits_left-=H,Ne}let Y=this._current_word_bits_left?this._current_word:0;Y=Y>>>32-this._current_word_bits_left;let J=H-this._current_word_bits_left;this._fillCurrentWord();let le=Math.min(J,this._current_word_bits_left),_e=this._current_word>>>32-le;return this._current_word<<=le,this._current_word_bits_left-=le,Y=Y<<le|_e,Y}readBool(){return this.readBits(1)===1}readByte(){return this.readBits(8)}_skipLeadingZero(){let H;for(H=0;H<this._current_word_bits_left;H++)if(this._current_word&2147483648>>>H)return this._current_word<<=H,this._current_word_bits_left-=H,H;return this._fillCurrentWord(),H+this._skipLeadingZero()}readUEG(){let H=this._skipLeadingZero();return this.readBits(H+1)-1}readSEG(){let H=this.readUEG();return H&1?H+1>>>1:-1*(H>>>1)}}var ge=Se;class Re{static _ebsp2rbsp(H){let Y=H,J=Y.byteLength,le=new Uint8Array(J),_e=0;for(let Ne=0;Ne<J;Ne++)Ne>=2&&Y[Ne]===3&&Y[Ne-1]===0&&Y[Ne-2]===0||(le[_e]=Y[Ne],_e++);return new Uint8Array(le.buffer,0,_e)}static parseSPS(H){let Y=Re._ebsp2rbsp(H),J=new ge(Y);J.readByte();let le=J.readByte();J.readByte();let _e=J.readByte();J.readUEG();let Ne=Re.getProfileString(le),Pe=Re.getLevelString(_e),$e=1,Ye=420,Lt=[0,420,422,444],Ht=8;if((le===100||le===110||le===122||le===244||le===44||le===83||le===86||le===118||le===128||le===138||le===144)&&($e=J.readUEG(),$e===3&&J.readBits(1),$e<=3&&(Ye=Lt[$e]),Ht=J.readUEG()+8,J.readUEG(),J.readBits(1),J.readBool())){let Jt=$e!==3?8:12;for(let vr=0;vr<Jt;vr++)J.readBool()&&(vr<6?Re._skipScalingList(J,16):Re._skipScalingList(J,64))}J.readUEG();let Me=J.readUEG();if(Me===0)J.readUEG();else if(Me===1){J.readBits(1),J.readSEG(),J.readSEG();let Jt=J.readUEG();for(let vr=0;vr<Jt;vr++)J.readSEG()}let be=J.readUEG();J.readBits(1);let ut=J.readUEG(),Ze=J.readUEG(),je=J.readBits(1);je===0&&J.readBits(1),J.readBits(1);let Qe=0,yt=0,mt=0,Ft=0;J.readBool()&&(Qe=J.readUEG(),yt=J.readUEG(),mt=J.readUEG(),Ft=J.readUEG());let Pt=1,Tt=1,Xt=0,Ut=!0,ke=0,He=0;if(J.readBool()){if(J.readBool()){let Jt=J.readByte(),vr=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],Ve=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];Jt>0&&Jt<16?(Pt=vr[Jt-1],Tt=Ve[Jt-1]):Jt===255&&(Pt=J.readByte()<<8|J.readByte(),Tt=J.readByte()<<8|J.readByte())}if(J.readBool()&&J.readBool(),J.readBool()&&(J.readBits(4),J.readBool()&&J.readBits(24)),J.readBool()&&(J.readUEG(),J.readUEG()),J.readBool()){let Jt=J.readBits(32),vr=J.readBits(32);Ut=J.readBool(),ke=vr,He=Jt*2,Xt=ke/He}}let We=1;(Pt!==1||Tt!==1)&&(We=Pt/Tt);let rt=0,ht=0;if($e===0)rt=1,ht=2-je;else{let Jt=$e===3?1:2,vr=$e===1?2:1;rt=Jt,ht=vr*(2-je)}let xt=(ut+1)*16,Wt=(2-je)*((Ze+1)*16);xt-=(Qe+yt)*rt,Wt-=(mt+Ft)*ht;let jt=Math.ceil(xt*We);return J.destroy(),J=null,{profile_string:Ne,level_string:Pe,bit_depth:Ht,ref_frames:be,chroma_format:Ye,chroma_format_string:Re.getChromaFormatString(Ye),frame_rate:{fixed:Ut,fps:Xt,fps_den:He,fps_num:ke},sar_ratio:{width:Pt,height:Tt},codec_size:{width:xt,height:Wt},present_size:{width:jt,height:Wt}}}static _skipScalingList(H,Y){let J=8,le=8,_e=0;for(let Ne=0;Ne<Y;Ne++)le!==0&&(_e=H.readSEG(),le=(J+_e+256)%256),J=le===0?J:le}static getProfileString(H){switch(H){case 66:return"Baseline";case 77:return"Main";case 88:return"Extended";case 100:return"High";case 110:return"High10";case 122:return"High422";case 244:return"High444";default:return"Unknown"}}static getLevelString(H){return(H/10).toFixed(1)}static getChromaFormatString(H){switch(H){case 420:return"4:2:0";case 422:return"4:2:2";case 444:return"4:4:4";default:return"Unknown"}}}var ve=Re,Ue={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"};function me(ft){return ft>>>8&255|(ft&255)<<8}function oe(ft){return(ft&4278190080)>>>24|(ft&16711680)>>>8|(ft&65280)<<8|(ft&255)<<24}function ie(ft,H){return ft[H]<<24|ft[H+1]<<16|ft[H+2]<<8|ft[H+3]}class he{constructor(H,Y){this.TAG="FLVDemuxer",this._config=Y,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=H.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=H.hasAudioTrack,this._hasVideo=H.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new Ee,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 J=new ArrayBuffer(2);return new DataView(J).setInt16(0,256,!0),new Int16Array(J)[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(H){let Y=new Uint8Array(H),J={match:!1};if(Y[0]!==70||Y[1]!==76||Y[2]!==86||Y[3]!==1)return J;let le=(Y[4]&4)>>>2!==0,_e=(Y[4]&1)!==0,Ne=ie(Y,5);return Ne<9?J:{match:!0,consumed:Ne,dataOffset:Ne,hasAudioTrack:le,hasVideoTrack:_e}}bindDataSource(H){return H.onDataArrival=this.parseChunks.bind(this),this}get onTrackMetadata(){return this._onTrackMetadata}set onTrackMetadata(H){this._onTrackMetadata=H}get onMediaInfo(){return this._onMediaInfo}set onMediaInfo(H){this._onMediaInfo=H}get onMetaDataArrived(){return this._onMetaDataArrived}set onMetaDataArrived(H){this._onMetaDataArrived=H}get onScriptDataArrived(){return this._onScriptDataArrived}set onScriptDataArrived(H){this._onScriptDataArrived=H}get onError(){return this._onError}set onError(H){this._onError=H}get onDataAvailable(){return this._onDataAvailable}set onDataAvailable(H){this._onDataAvailable=H}get timestampBase(){return this._timestampBase}set timestampBase(H){this._timestampBase=H}get overridedDuration(){return this._duration}set overridedDuration(H){this._durationOverrided=!0,this._duration=H,this._mediaInfo.duration=H}set overridedHasAudio(H){this._hasAudioFlagOverrided=!0,this._hasAudio=H,this._mediaInfo.hasAudio=H}set overridedHasVideo(H){this._hasVideoFlagOverrided=!0,this._hasVideo=H,this._mediaInfo.hasVideo=H}resetMediaInfo(){this._mediaInfo=new Ee}_isInitialMetadataDispatched(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!this._hasAudio&&this._hasVideo?this._videoInitialMetadataDispatched:!1}parseChunks(H,Y){if(!this._onError||!this._onMediaInfo||!this._onTrackMetadata||!this._onDataAvailable)throw new T("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");let J=0,le=this._littleEndian;if(Y===0)if(H.byteLength>13)J=he.probe(H).dataOffset;else return 0;for(this._firstParse&&(this._firstParse=!1,Y+J!==this._dataOffset&&y.w(this.TAG,"First time parsing but chunk byteStart invalid!"),new DataView(H,J).getUint32(0,!le)!==0&&y.w(this.TAG,"PrevTagSize0 !== 0 !!!"),J+=4);J<H.byteLength;){this._dispatch=!0;let _e=new DataView(H,J);if(J+11+4>H.byteLength)break;let Ne=_e.getUint8(0),Pe=_e.getUint32(0,!le)&16777215;if(J+11+Pe+4>H.byteLength)break;if(Ne!==8&&Ne!==9&&Ne!==18){y.w(this.TAG,`Unsupported tag type ${Ne}, skipped`),J+=11+Pe+4;continue}let $e=_e.getUint8(4),Ye=_e.getUint8(5),Lt=_e.getUint8(6),Ht=_e.getUint8(7),Me=Lt|Ye<<8|$e<<16|Ht<<24;(_e.getUint32(7,!le)&16777215)!==0&&y.w(this.TAG,"Meet tag which has StreamID != 0!");let ut=J+11;switch(Ne){case 8:this._parseAudioData(H,ut,Pe,Me);break;case 9:this._parseVideoData(H,ut,Pe,Me,Y+J);break;case 18:this._parseScriptData(H,ut,Pe);break}let Ze=_e.getUint32(11+Pe,!le);Ze!==11+Pe&&y.w(this.TAG,`Invalid PrevTagSize ${Ze}`),J+=11+Pe+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),J}_parseScriptData(H,Y,J){let le=Ce.parseScriptData(H,Y,J);if(le.hasOwnProperty("onMetaData")){if(le.onMetaData==null||typeof le.onMetaData!="object"){y.w(this.TAG,"Invalid onMetaData structure!");return}this._metadata&&y.w(this.TAG,"Found another onMetaData tag!"),this._metadata=le;let _e=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},_e)),typeof _e.hasAudio=="boolean"&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=_e.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),typeof _e.hasVideo=="boolean"&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=_e.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),typeof _e.audiodatarate=="number"&&(this._mediaInfo.audioDataRate=_e.audiodatarate),typeof _e.videodatarate=="number"&&(this._mediaInfo.videoDataRate=_e.videodatarate),typeof _e.width=="number"&&(this._mediaInfo.width=_e.width),typeof _e.height=="number"&&(this._mediaInfo.height=_e.height),typeof _e.duration=="number"){if(!this._durationOverrided){let Ne=Math.floor(_e.duration*this._timescale);this._duration=Ne,this._mediaInfo.duration=Ne}}else this._mediaInfo.duration=0;if(typeof _e.framerate=="number"){let Ne=Math.floor(_e.framerate*1e3);if(Ne>0){let Pe=Ne/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=Pe,this._referenceFrameRate.fps_num=Ne,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=Pe}}if(typeof _e.keyframes=="object"){this._mediaInfo.hasKeyframesIndex=!0;let Ne=_e.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(Ne),_e.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=_e,y.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(le).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},le))}_parseKeyframesIndex(H){let Y=[],J=[];for(let le=1;le<H.times.length;le++){let _e=this._timestampBase+Math.floor(H.times[le]*1e3);Y.push(_e),J.push(H.filepositions[le])}return{times:Y,filepositions:J}}_parseAudioData(H,Y,J,le){if(J<=1){y.w(this.TAG,"Flv: Invalid audio packet, missing SoundData payload!");return}if(this._hasAudioFlagOverrided===!0&&this._hasAudio===!1)return;let _e=this._littleEndian,Pe=new DataView(H,Y,J).getUint8(0),$e=Pe>>>4;if($e!==2&&$e!==10){this._onError(Ue.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+$e);return}let Ye=0,Lt=(Pe&12)>>>2;if(Lt>=0&&Lt<=4)Ye=this._flvSoundRateTable[Lt];else{this._onError(Ue.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+Lt);return}let Ht=(Pe&2)>>>1,Me=Pe&1,be=this._audioMetadata,ut=this._audioTrack;if(be||(this._hasAudio===!1&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),be=this._audioMetadata={},be.type="audio",be.id=ut.id,be.timescale=this._timescale,be.duration=this._duration,be.audioSampleRate=Ye,be.channelCount=Me===0?1:2),$e===10){let Ze=this._parseAACAudioData(H,Y+1,J-1);if(Ze==null)return;if(Ze.packetType===0){be.config&&y.w(this.TAG,"Found another AudioSpecificConfig!");let je=Ze.data;be.audioSampleRate=je.samplingRate,be.channelCount=je.channelCount,be.codec=je.codec,be.originalCodec=je.originalCodec,be.config=je.config,be.refSampleDuration=1024/be.audioSampleRate*be.timescale,y.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",be);let Qe=this._mediaInfo;Qe.audioCodec=be.originalCodec,Qe.audioSampleRate=be.audioSampleRate,Qe.audioChannelCount=be.channelCount,Qe.hasVideo?Qe.videoCodec!=null&&(Qe.mimeType='video/x-flv; codecs="'+Qe.videoCodec+","+Qe.audioCodec+'"'):Qe.mimeType='video/x-flv; codecs="'+Qe.audioCodec+'"',Qe.isComplete()&&this._onMediaInfo(Qe)}else if(Ze.packetType===1){let je=this._timestampBase+le,Qe={unit:Ze.data,length:Ze.data.byteLength,dts:je,pts:je};ut.samples.push(Qe),ut.length+=Ze.data.length}else y.e(this.TAG,`Flv: Unsupported AAC data type ${Ze.packetType}`)}else if($e===2){if(!be.codec){let yt=this._parseMP3AudioData(H,Y+1,J-1,!0);if(yt==null)return;be.audioSampleRate=yt.samplingRate,be.channelCount=yt.channelCount,be.codec=yt.codec,be.originalCodec=yt.originalCodec,be.refSampleDuration=1152/be.audioSampleRate*be.timescale,y.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",be);let mt=this._mediaInfo;mt.audioCodec=be.codec,mt.audioSampleRate=be.audioSampleRate,mt.audioChannelCount=be.channelCount,mt.audioDataRate=yt.bitRate,mt.hasVideo?mt.videoCodec!=null&&(mt.mimeType='video/x-flv; codecs="'+mt.videoCodec+","+mt.audioCodec+'"'):mt.mimeType='video/x-flv; codecs="'+mt.audioCodec+'"',mt.isComplete()&&this._onMediaInfo(mt)}let Ze=this._parseMP3AudioData(H,Y+1,J-1,!1);if(Ze==null)return;let je=this._timestampBase+le,Qe={unit:Ze,length:Ze.byteLength,dts:je,pts:je};ut.samples.push(Qe),ut.length+=Ze.length}}_parseAACAudioData(H,Y,J){if(J<=1){y.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!");return}let le={},_e=new Uint8Array(H,Y,J);return le.packetType=_e[0],_e[0]===0?le.data=this._parseAACAudioSpecificConfig(H,Y+1,J-1):le.data=_e.subarray(1),le}_parseAACAudioSpecificConfig(H,Y,J){let le=new Uint8Array(H,Y,J),_e=null,Ne=0,Pe=0,$e=null,Ye=0,Lt=null;if(Ne=Pe=le[0]>>>3,Ye=(le[0]&7)<<1|le[1]>>>7,Ye<0||Ye>=this._mpegSamplingRates.length){this._onError(Ue.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");return}let Ht=this._mpegSamplingRates[Ye],Me=(le[1]&120)>>>3;if(Me<0||Me>=8){this._onError(Ue.FORMAT_ERROR,"Flv: AAC invalid channel configuration");return}Ne===5&&(Lt=(le[1]&7)<<1|le[2]>>>7,$e=(le[2]&124)>>>2);let be=self.navigator.userAgent.toLowerCase();return be.indexOf("firefox")!==-1?Ye>=6?(Ne=5,_e=new Array(4),Lt=Ye-3):(Ne=2,_e=new Array(2),Lt=Ye):be.indexOf("android")!==-1?(Ne=2,_e=new Array(2),Lt=Ye):(Ne=5,Lt=Ye,_e=new Array(4),Ye>=6?Lt=Ye-3:Me===1&&(Ne=2,_e=new Array(2),Lt=Ye)),_e[0]=Ne<<3,_e[0]|=(Ye&15)>>>1,_e[1]=(Ye&15)<<7,_e[1]|=(Me&15)<<3,Ne===5&&(_e[1]|=(Lt&15)>>>1,_e[2]=(Lt&1)<<7,_e[2]|=8,_e[3]=0),{config:_e,samplingRate:Ht,channelCount:Me,codec:"mp4a.40."+Ne,originalCodec:"mp4a.40."+Pe}}_parseMP3AudioData(H,Y,J,le){if(J<4){y.w(this.TAG,"Flv: Invalid MP3 packet, header missing!");return}let _e=this._littleEndian,Ne=new Uint8Array(H,Y,J),Pe=null;if(le){if(Ne[0]!==255)return;let $e=Ne[1]>>>3&3,Ye=(Ne[1]&6)>>1,Lt=(Ne[2]&240)>>>4,Ht=(Ne[2]&12)>>>2,be=(Ne[3]>>>6&3)!==3?2:1,ut=0,Ze=0,je=34,Qe="mp3";switch($e){case 0:ut=this._mpegAudioV25SampleRateTable[Ht];break;case 2:ut=this._mpegAudioV20SampleRateTable[Ht];break;case 3:ut=this._mpegAudioV10SampleRateTable[Ht];break}switch(Ye){case 1:je=34,Lt<this._mpegAudioL3BitRateTable.length&&(Ze=this._mpegAudioL3BitRateTable[Lt]);break;case 2:je=33,Lt<this._mpegAudioL2BitRateTable.length&&(Ze=this._mpegAudioL2BitRateTable[Lt]);break;case 3:je=32,Lt<this._mpegAudioL1BitRateTable.length&&(Ze=this._mpegAudioL1BitRateTable[Lt]);break}Pe={bitRate:Ze,samplingRate:ut,channelCount:be,codec:Qe,originalCodec:Qe}}else Pe=Ne;return Pe}_parseVideoData(H,Y,J,le,_e){if(J<=1){y.w(this.TAG,"Flv: Invalid video packet, missing VideoData payload!");return}if(this._hasVideoFlagOverrided===!0&&this._hasVideo===!1)return;let Ne=new Uint8Array(H,Y,J)[0],Pe=(Ne&240)>>>4,$e=Ne&15;if($e!==7){this._onError(Ue.CODEC_UNSUPPORTED,`Flv: Unsupported codec in video frame: ${$e}`);return}this._parseAVCVideoPacket(H,Y+1,J-1,le,_e,Pe)}_parseAVCVideoPacket(H,Y,J,le,_e,Ne){if(J<4){y.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");return}let Pe=this._littleEndian,$e=new DataView(H,Y,J),Ye=$e.getUint8(0),Ht=($e.getUint32(0,!Pe)&16777215)<<8>>8;if(Ye===0)this._parseAVCDecoderConfigurationRecord(H,Y+4,J-4);else if(Ye===1)this._parseAVCVideoData(H,Y+4,J-4,le,_e,Ne,Ht);else if(Ye!==2){this._onError(Ue.FORMAT_ERROR,`Flv: Invalid video packet type ${Ye}`);return}}_parseAVCDecoderConfigurationRecord(H,Y,J){if(J<7){y.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");return}let le=this._videoMetadata,_e=this._videoTrack,Ne=this._littleEndian,Pe=new DataView(H,Y,J);le?typeof le.avcc!="undefined"&&y.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(this._hasVideo===!1&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),le=this._videoMetadata={},le.type="video",le.id=_e.id,le.timescale=this._timescale,le.duration=this._duration);let $e=Pe.getUint8(0),Ye=Pe.getUint8(1),Lt=Pe.getUint8(2),Ht=Pe.getUint8(3);if($e!==1||Ye===0){this._onError(Ue.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord");return}if(this._naluLengthSize=(Pe.getUint8(4)&3)+1,this._naluLengthSize!==3&&this._naluLengthSize!==4){this._onError(Ue.FORMAT_ERROR,`Flv: Strange NaluLengthSizeMinusOne: ${this._naluLengthSize-1}`);return}let Me=Pe.getUint8(5)&31;if(Me===0){this._onError(Ue.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No SPS");return}else Me>1&&y.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: SPS Count = ${Me}`);let be=6;for(let Ze=0;Ze<Me;Ze++){let je=Pe.getUint16(be,!Ne);if(be+=2,je===0)continue;let Qe=new Uint8Array(H,Y+be,je);be+=je;let yt=ve.parseSPS(Qe);if(Ze!==0)continue;le.codecWidth=yt.codec_size.width,le.codecHeight=yt.codec_size.height,le.presentWidth=yt.present_size.width,le.presentHeight=yt.present_size.height,le.profile=yt.profile_string,le.level=yt.level_string,le.bitDepth=yt.bit_depth,le.chromaFormat=yt.chroma_format,le.sarRatio=yt.sar_ratio,le.frameRate=yt.frame_rate,(yt.frame_rate.fixed===!1||yt.frame_rate.fps_num===0||yt.frame_rate.fps_den===0)&&(le.frameRate=this._referenceFrameRate);let mt=le.frameRate.fps_den,Ft=le.frameRate.fps_num;le.refSampleDuration=le.timescale*(mt/Ft);let At=Qe.subarray(1,4),Pt="avc1.";for(let Xt=0;Xt<3;Xt++){let Ut=At[Xt].toString(16);Ut.length<2&&(Ut="0"+Ut),Pt+=Ut}le.codec=Pt;let Tt=this._mediaInfo;Tt.width=le.codecWidth,Tt.height=le.codecHeight,Tt.fps=le.frameRate.fps,Tt.profile=le.profile,Tt.level=le.level,Tt.refFrames=yt.ref_frames,Tt.chromaFormat=yt.chroma_format_string,Tt.sarNum=le.sarRatio.width,Tt.sarDen=le.sarRatio.height,Tt.videoCodec=Pt,Tt.hasAudio?Tt.audioCodec!=null&&(Tt.mimeType='video/x-flv; codecs="'+Tt.videoCodec+","+Tt.audioCodec+'"'):Tt.mimeType='video/x-flv; codecs="'+Tt.videoCodec+'"',Tt.isComplete()&&this._onMediaInfo(Tt)}let ut=Pe.getUint8(be);if(ut===0){this._onError(Ue.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No PPS");return}else ut>1&&y.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: PPS Count = ${ut}`);be++;for(let Ze=0;Ze<ut;Ze++){let je=Pe.getUint16(be,!Ne);be+=2,je!==0&&(be+=je)}le.avcc=new Uint8Array(J),le.avcc.set(new Uint8Array(H,Y,J),0),y.v(this.TAG,"Parsed AVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",le)}_parseAVCVideoData(H,Y,J,le,_e,Ne,Pe){let $e=this._littleEndian,Ye=new DataView(H,Y,J),Lt=[],Ht=0,Me=0;const be=this._naluLengthSize;let ut=this._timestampBase+le,Ze=Ne===1;for(;Me<J;){if(Me+4>=J){y.w(this.TAG,`Malformed Nalu near timestamp ${ut}, offset = ${Me}, dataSize = ${J}`);break}let je=Ye.getUint32(Me,!$e);if(be===3&&(je>>>=8),je>J-be){y.w(this.TAG,`Malformed Nalus near timestamp ${ut}, NaluSize > DataSize!`);return}let Qe=Ye.getUint8(Me+be)&31;Qe===5&&(Ze=!0);let yt=new Uint8Array(H,Y+Me,be+je),mt={type:Qe,data:yt};Lt.push(mt),Ht+=yt.byteLength,Me+=be+je}if(Lt.length){let je=this._videoTrack,Qe={units:Lt,length:Ht,isKeyframe:Ze,dts:ut,cts:Pe,pts:ut+Pe};Ze&&(Qe.fileposition=_e),je.samples.push(Qe),je.length+=Ht}}}var ye=he;class ce{static init(){ce.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 Y in ce.types)ce.types.hasOwnProperty(Y)&&(ce.types[Y]=[Y.charCodeAt(0),Y.charCodeAt(1),Y.charCodeAt(2),Y.charCodeAt(3)]);let H=ce.constants={};H.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),H.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),H.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),H.STSC=H.STCO=H.STTS,H.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),H.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]),H.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]),H.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),H.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),H.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(H){let Y=8,J=null,le=Array.prototype.slice.call(arguments,1),_e=le.length;for(let Pe=0;Pe<_e;Pe++)Y+=le[Pe].byteLength;J=new Uint8Array(Y),J[0]=Y>>>24&255,J[1]=Y>>>16&255,J[2]=Y>>>8&255,J[3]=Y&255,J.set(H,4);let Ne=8;for(let Pe=0;Pe<_e;Pe++)J.set(le[Pe],Ne),Ne+=le[Pe].byteLength;return J}static generateInitSegment(H){let Y=ce.box(ce.types.ftyp,ce.constants.FTYP),J=ce.moov(H),le=new Uint8Array(Y.byteLength+J.byteLength);return le.set(Y,0),le.set(J,Y.byteLength),le}static moov(H){let Y=ce.mvhd(H.timescale,H.duration),J=ce.trak(H),le=ce.mvex(H);return ce.box(ce.types.moov,Y,J,le)}static mvhd(H,Y){return ce.box(ce.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,H>>>24&255,H>>>16&255,H>>>8&255,H&255,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&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(H){return ce.box(ce.types.trak,ce.tkhd(H),ce.mdia(H))}static tkhd(H){let Y=H.id,J=H.duration,le=H.presentWidth,_e=H.presentHeight;return ce.box(ce.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&255,0,0,0,0,J>>>24&255,J>>>16&255,J>>>8&255,J&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,le>>>8&255,le&255,0,0,_e>>>8&255,_e&255,0,0]))}static mdia(H){return ce.box(ce.types.mdia,ce.mdhd(H),ce.hdlr(H),ce.minf(H))}static mdhd(H){let Y=H.timescale,J=H.duration;return ce.box(ce.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&255,J>>>24&255,J>>>16&255,J>>>8&255,J&255,85,196,0,0]))}static hdlr(H){let Y=null;return H.type==="audio"?Y=ce.constants.HDLR_AUDIO:Y=ce.constants.HDLR_VIDEO,ce.box(ce.types.hdlr,Y)}static minf(H){let Y=null;return H.type==="audio"?Y=ce.box(ce.types.smhd,ce.constants.SMHD):Y=ce.box(ce.types.vmhd,ce.constants.VMHD),ce.box(ce.types.minf,Y,ce.dinf(),ce.stbl(H))}static dinf(){return ce.box(ce.types.dinf,ce.box(ce.types.dref,ce.constants.DREF))}static stbl(H){return ce.box(ce.types.stbl,ce.stsd(H),ce.box(ce.types.stts,ce.constants.STTS),ce.box(ce.types.stsc,ce.constants.STSC),ce.box(ce.types.stsz,ce.constants.STSZ),ce.box(ce.types.stco,ce.constants.STCO))}static stsd(H){return H.type==="audio"?H.codec==="mp3"?ce.box(ce.types.stsd,ce.constants.STSD_PREFIX,ce.mp3(H)):ce.box(ce.types.stsd,ce.constants.STSD_PREFIX,ce.mp4a(H)):ce.box(ce.types.stsd,ce.constants.STSD_PREFIX,ce.avc1(H))}static mp3(H){let Y=H.channelCount,J=H.audioSampleRate,le=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,Y,0,16,0,0,0,0,J>>>8&255,J&255,0,0]);return ce.box(ce.types[".mp3"],le)}static mp4a(H){let Y=H.channelCount,J=H.audioSampleRate,le=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,Y,0,16,0,0,0,0,J>>>8&255,J&255,0,0]);return ce.box(ce.types.mp4a,le,ce.esds(H))}static esds(H){let Y=H.config||[],J=Y.length,le=new Uint8Array([0,0,0,0,3,23+J,0,1,0,4,15+J,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([J]).concat(Y).concat([6,1,2]));return ce.box(ce.types.esds,le)}static avc1(H){let Y=H.avcc,J=H.codecWidth,le=H.codecHeight,_e=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,J>>>8&255,J&255,le>>>8&255,le&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 ce.box(ce.types.avc1,_e,ce.box(ce.types.avcC,Y))}static mvex(H){return ce.box(ce.types.mvex,ce.trex(H))}static trex(H){let Y=H.id,J=new Uint8Array([0,0,0,0,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return ce.box(ce.types.trex,J)}static moof(H,Y){return ce.box(ce.types.moof,ce.mfhd(H.sequenceNumber),ce.traf(H,Y))}static mfhd(H){let Y=new Uint8Array([0,0,0,0,H>>>24&255,H>>>16&255,H>>>8&255,H&255]);return ce.box(ce.types.mfhd,Y)}static traf(H,Y){let J=H.id,le=ce.box(ce.types.tfhd,new Uint8Array([0,0,0,0,J>>>24&255,J>>>16&255,J>>>8&255,J&255])),_e=ce.box(ce.types.tfdt,new Uint8Array([0,0,0,0,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&255])),Ne=ce.sdtp(H),Pe=ce.trun(H,Ne.byteLength+16+16+8+16+8+8);return ce.box(ce.types.traf,le,_e,Pe,Ne)}static sdtp(H){let Y=H.samples||[],J=Y.length,le=new Uint8Array(4+J);for(let _e=0;_e<J;_e++){let Ne=Y[_e].flags;le[_e+4]=Ne.isLeading<<6|Ne.dependsOn<<4|Ne.isDependedOn<<2|Ne.hasRedundancy}return ce.box(ce.types.sdtp,le)}static trun(H,Y){let J=H.samples||[],le=J.length,_e=12+16*le,Ne=new Uint8Array(_e);Y+=8+_e,Ne.set([0,0,15,1,le>>>24&255,le>>>16&255,le>>>8&255,le&255,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&255],0);for(let Pe=0;Pe<le;Pe++){let $e=J[Pe].duration,Ye=J[Pe].size,Lt=J[Pe].flags,Ht=J[Pe].cts;Ne.set([$e>>>24&255,$e>>>16&255,$e>>>8&255,$e&255,Ye>>>24&255,Ye>>>16&255,Ye>>>8&255,Ye&255,Lt.isLeading<<2|Lt.dependsOn,Lt.isDependedOn<<6|Lt.hasRedundancy<<4|Lt.isNonSync,0,0,Ht>>>24&255,Ht>>>16&255,Ht>>>8&255,Ht&255],12+16*Pe)}return ce.box(ce.types.trun,Ne)}static mdat(H){return ce.box(ce.types.mdat,H)}}ce.init();var Te=ce;class Oe{static getSilentFrame(H,Y){if(H==="mp4a.40.2"){if(Y===1)return new Uint8Array([0,200,0,128,35,128]);if(Y===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(Y===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(Y===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(Y===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(Y===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(Y===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(Y===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(Y===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 Be=Oe;class Xe{constructor(H,Y,J,le,_e){this.dts=H,this.pts=Y,this.duration=J,this.originalDts=le,this.isSyncPoint=_e,this.fileposition=null}}class lt{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(H){H.isSyncPoint=!0,this.syncPoints.push(H)}}class _t{constructor(){this._list=[]}clear(){this._list=[]}appendArray(H){let Y=this._list;H.length!==0&&(Y.length>0&&H[0].originalDts<Y[Y.length-1].originalDts&&this.clear(),Array.prototype.push.apply(Y,H))}getLastSyncPointBeforeDts(H){if(this._list.length==0)return null;let Y=this._list,J=0,le=Y.length-1,_e=0,Ne=0,Pe=le;for(H<Y[0].dts&&(J=0,Ne=Pe+1);Ne<=Pe;)if(_e=Ne+Math.floor((Pe-Ne)/2),_e===le||H>=Y[_e].dts&&H<Y[_e+1].dts){J=_e;break}else Y[_e].dts<H?Ne=_e+1:Pe=_e-1;return this._list[J]}}class tt{constructor(H){this._type=H,this._list=[],this._lastAppendLocation=-1}get type(){return this._type}get length(){return this._list.length}isEmpty(){return this._list.length===0}clear(){this._list=[],this._lastAppendLocation=-1}_searchNearestSegmentBefore(H){let Y=this._list;if(Y.length===0)return-2;let J=Y.length-1,le=0,_e=0,Ne=J,Pe=0;if(H<Y[0].originalBeginDts)return Pe=-1,Pe;for(;_e<=Ne;)if(le=_e+Math.floor((Ne-_e)/2),le===J||H>Y[le].lastSample.originalDts&&H<Y[le+1].originalBeginDts){Pe=le;break}else Y[le].originalBeginDts<H?_e=le+1:Ne=le-1;return Pe}_searchNearestSegmentAfter(H){return this._searchNearestSegmentBefore(H)+1}append(H){let Y=this._list,J=H,le=this._lastAppendLocation,_e=0;le!==-1&&le<Y.length&&J.originalBeginDts>=Y[le].lastSample.originalDts&&(le===Y.length-1||le<Y.length-1&&J.originalBeginDts<Y[le+1].originalBeginDts)?_e=le+1:Y.length>0&&(_e=this._searchNearestSegmentBefore(J.originalBeginDts)+1),this._lastAppendLocation=_e,this._list.splice(_e,0,J)}getLastSegmentBefore(H){let Y=this._searchNearestSegmentBefore(H);return Y>=0?this._list[Y]:null}getLastSampleBefore(H){let Y=this.getLastSegmentBefore(H);return Y!=null?Y.lastSample:null}getLastSyncPointBefore(H){let Y=this._searchNearestSegmentBefore(H),J=this._list[Y].syncPoints;for(;J.length===0&&Y>0;)Y--,J=this._list[Y].syncPoints;return J.length>0?J[J.length-1]:null}}class bt{constructor(H){this.TAG="MP4Remuxer",this._config=H,this._isLive=H.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 tt("audio"),this._videoSegmentInfoList=new tt("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!!(m.chrome&&(m.version.major<50||m.version.major===50&&m.version.build<2661)),this._fillSilentAfterSeek=m.msedge||m.msie,this._mp3UseMpegAudio=!m.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(H){return H.onDataAvailable=this.remux.bind(this),H.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}get onInitSegment(){return this._onInitSegment}set onInitSegment(H){this._onInitSegment=H}get onMediaSegment(){return this._onMediaSegment}set onMediaSegment(H){this._onMediaSegment=H}insertDiscontinuity(){this._audioNextDts=this._videoNextDts=void 0}seek(H){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}remux(H,Y){if(!this._onMediaSegment)throw new T("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(H,Y),this._remuxVideo(Y),this._remuxAudio(H)}_onTrackMetadataReceived(H,Y){let J=null,le="mp4",_e=Y.codec;if(H==="audio")this._audioMeta=Y,Y.codec==="mp3"&&this._mp3UseMpegAudio?(le="mpeg",_e="",J=new Uint8Array):J=Te.generateInitSegment(Y);else if(H==="video")this._videoMeta=Y,J=Te.generateInitSegment(Y);else return;if(!this._onInitSegment)throw new T("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(H,{type:H,data:J.buffer,codec:_e,container:`${H}/${le}`,mediaDuration:Y.duration})}_calculateDtsBase(H,Y){this._dtsBaseInited||(H.samples&&H.samples.length&&(this._audioDtsBase=H.samples[0].dts),Y.samples&&Y.samples.length&&(this._videoDtsBase=Y.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}flushStashedSamples(){let H=this._videoStashedLastSample,Y=this._audioStashedLastSample,J={type:"video",id:1,sequenceNumber:0,samples:[],length:0};H!=null&&(J.samples.push(H),J.length=H.length);let le={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};Y!=null&&(le.samples.push(Y),le.length=Y.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(J,!0),this._remuxAudio(le,!0)}_remuxAudio(H,Y){if(this._audioMeta==null)return;let J=H,le=J.samples,_e,Ne=-1,Pe=-1,$e=-1,Ye=this._audioMeta.refSampleDuration,Lt=this._audioMeta.codec==="mp3"&&this._mp3UseMpegAudio,Ht=this._dtsBaseInited&&this._audioNextDts===void 0,Me=!1;if(!le||le.length===0||le.length===1&&!Y)return;let be=0,ut=null,Ze=0;Lt?(be=0,Ze=J.length):(be=8,Ze=8+J.length);let je=null;if(le.length>1&&(je=le.pop(),Ze-=je.length),this._audioStashedLastSample!=null){let Tt=this._audioStashedLastSample;this._audioStashedLastSample=null,le.unshift(Tt),Ze+=Tt.length}je!=null&&(this._audioStashedLastSample=je);let Qe=le[0].dts-this._dtsBase;if(this._audioNextDts)_e=Qe-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())_e=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&this._audioMeta.originalCodec!=="mp3"&&(Me=!0);else{let Tt=this._audioSegmentInfoList.getLastSampleBefore(Qe);if(Tt!=null){let Xt=Qe-(Tt.originalDts+Tt.duration);Xt<=3&&(Xt=0);let Ut=Tt.dts+Tt.duration+Xt;_e=Qe-Ut}else _e=0}if(Me){let Tt=Qe-_e,Xt=this._videoSegmentInfoList.getLastSegmentBefore(Qe);if(Xt!=null&&Xt.beginDts<Tt){let Ut=Be.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);if(Ut){let ke=Xt.beginDts,He=Tt-Xt.beginDts;y.v(this.TAG,`InsertPrefixSilentAudio: dts: ${ke}, duration: ${He}`),le.unshift({unit:Ut,dts:ke,pts:ke}),Ze+=Ut.byteLength}}else Me=!1}let yt=[];for(let Tt=0;Tt<le.length;Tt++){let Xt=le[Tt],Ut=Xt.unit,ke=Xt.dts-this._dtsBase,He=ke-_e;Ne===-1&&(Ne=He);let at=0;Tt!==le.length-1?at=le[Tt+1].dts-this._dtsBase-_e-He:je!=null?at=je.dts-this._dtsBase-_e-He:yt.length>=1?at=yt[yt.length-1].duration:at=Math.floor(Ye);let We=!1,rt=null;if(at>Ye*1.5&&this._audioMeta.codec!=="mp3"&&this._fillAudioTimestampGap&&!m.safari){We=!0;let ht=Math.abs(at-Ye),xt=Math.ceil(ht/Ye),Wt=He+Ye;y.w(this.TAG,`Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: ${He+at} ms, expected: ${He+Math.round(Ye)} ms, delta: ${Math.round(ht)} ms, generate: ${xt} frames`);let jt=Be.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);jt==null&&(y.w(this.TAG,`Unable to generate silent frame for ${this._audioMeta.originalCodec} with ${this._audioMeta.channelCount} channels, repeat last frame`),jt=Ut),rt=[];for(let vr=0;vr<xt;vr++){let Ve=Math.round(Wt);if(rt.length>0){let ar=rt[rt.length-1];ar.duration=Ve-ar.dts}let $t={dts:Ve,pts:Ve,cts:0,unit:jt,size:jt.byteLength,duration:0,originalDts:ke,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};rt.push($t),Ze+=$t.size,Wt+=Ye}let Jt=rt[rt.length-1];Jt.duration=He+at-Jt.dts,at=Math.round(Ye)}yt.push({dts:He,pts:He,cts:0,unit:Xt.unit,size:Xt.unit.byteLength,duration:at,originalDts:ke,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),We&&yt.push.apply(yt,rt)}Lt?ut=new Uint8Array(Ze):(ut=new Uint8Array(Ze),ut[0]=Ze>>>24&255,ut[1]=Ze>>>16&255,ut[2]=Ze>>>8&255,ut[3]=Ze&255,ut.set(Te.types.mdat,4));for(let Tt=0;Tt<yt.length;Tt++){let Xt=yt[Tt].unit;ut.set(Xt,be),be+=Xt.byteLength}let mt=yt[yt.length-1];Pe=mt.dts+mt.duration,this._audioNextDts=Pe;let Ft=new lt;Ft.beginDts=Ne,Ft.endDts=Pe,Ft.beginPts=Ne,Ft.endPts=Pe,Ft.originalBeginDts=yt[0].originalDts,Ft.originalEndDts=mt.originalDts+mt.duration,Ft.firstSample=new Xe(yt[0].dts,yt[0].pts,yt[0].duration,yt[0].originalDts,!1),Ft.lastSample=new Xe(mt.dts,mt.pts,mt.duration,mt.originalDts,!1),this._isLive||this._audioSegmentInfoList.append(Ft),J.samples=yt,J.sequenceNumber++;let At=null;Lt?At=new Uint8Array:At=Te.moof(J,Ne),J.samples=[],J.length=0;let Pt={type:"audio",data:this._mergeBoxes(At,ut).buffer,sampleCount:yt.length,info:Ft};Lt&&Ht&&(Pt.timestampOffset=Ne),this._onMediaSegment("audio",Pt)}_remuxVideo(H,Y){if(this._videoMeta==null)return;let J=H,le=J.samples,_e,Ne=-1,Pe=-1,$e=-1,Ye=-1;if(!le||le.length===0||le.length===1&&!Y)return;let Lt=8,Ht=null,Me=8+H.length,be=null;if(le.length>1&&(be=le.pop(),Me-=be.length),this._videoStashedLastSample!=null){let mt=this._videoStashedLastSample;this._videoStashedLastSample=null,le.unshift(mt),Me+=mt.length}be!=null&&(this._videoStashedLastSample=be);let ut=le[0].dts-this._dtsBase;if(this._videoNextDts)_e=ut-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())_e=0;else{let mt=this._videoSegmentInfoList.getLastSampleBefore(ut);if(mt!=null){let Ft=ut-(mt.originalDts+mt.duration);Ft<=3&&(Ft=0);let At=mt.dts+mt.duration+Ft;_e=ut-At}else _e=0}let Ze=new lt,je=[];for(let mt=0;mt<le.length;mt++){let Ft=le[mt],At=Ft.dts-this._dtsBase,Pt=Ft.isKeyframe,Tt=At-_e,Xt=Ft.cts,Ut=Tt+Xt;Ne===-1&&(Ne=Tt,$e=Ut);let ke=0;if(mt!==le.length-1?ke=le[mt+1].dts-this._dtsBase-_e-Tt:be!=null?ke=be.dts-this._dtsBase-_e-Tt:je.length>=1?ke=je[je.length-1].duration:ke=Math.floor(this._videoMeta.refSampleDuration),Pt){let He=new Xe(Tt,Ut,ke,Ft.dts,!0);He.fileposition=Ft.fileposition,Ze.appendSyncPoint(He)}je.push({dts:Tt,pts:Ut,cts:Xt,units:Ft.units,size:Ft.length,isKeyframe:Pt,duration:ke,originalDts:At,flags:{isLeading:0,dependsOn:Pt?2:1,isDependedOn:Pt?1:0,hasRedundancy:0,isNonSync:Pt?0:1}})}Ht=new Uint8Array(Me),Ht[0]=Me>>>24&255,Ht[1]=Me>>>16&255,Ht[2]=Me>>>8&255,Ht[3]=Me&255,Ht.set(Te.types.mdat,4);for(let mt=0;mt<je.length;mt++){let Ft=je[mt].units;for(;Ft.length;){let Pt=Ft.shift().data;Ht.set(Pt,Lt),Lt+=Pt.byteLength}}let Qe=je[je.length-1];if(Pe=Qe.dts+Qe.duration,Ye=Qe.pts+Qe.duration,this._videoNextDts=Pe,Ze.beginDts=Ne,Ze.endDts=Pe,Ze.beginPts=$e,Ze.endPts=Ye,Ze.originalBeginDts=je[0].originalDts,Ze.originalEndDts=Qe.originalDts+Qe.duration,Ze.firstSample=new Xe(je[0].dts,je[0].pts,je[0].duration,je[0].originalDts,je[0].isKeyframe),Ze.lastSample=new Xe(Qe.dts,Qe.pts,Qe.duration,Qe.originalDts,Qe.isKeyframe),this._isLive||this._videoSegmentInfoList.append(Ze),J.samples=je,J.sequenceNumber++,this._forceFirstIDR){let mt=je[0].flags;mt.dependsOn=2,mt.isNonSync=0}let yt=Te.moof(J,Ne);J.samples=[],J.length=0,this._onMediaSegment("video",{type:"video",data:this._mergeBoxes(yt,Ht).buffer,sampleCount:je.length,info:Ze})}_mergeBoxes(H,Y){let J=new Uint8Array(H.byteLength+Y.byteLength);return J.set(H,0),J.set(Y,H.byteLength),J}}var Nt=bt,ot={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"};class It{constructor(H,Y){this.TAG="TransmuxingController",this._emitter=new(D()),this._config=Y,H.segments||(H.segments=[{duration:H.duration,filesize:H.filesize,url:H.url}]),typeof H.cors!="boolean"&&(H.cors=!0),typeof H.withCredentials!="boolean"&&(H.withCredentials=!1),this._mediaDataSource=H,this._currentSegmentIndex=0;let J=0;this._mediaDataSource.segments.forEach(le=>{le.timestampBase=J,J+=le.duration,le.cors=H.cors,le.withCredentials=H.withCredentials,Y.referrerPolicy&&(le.referrerPolicy=Y.referrerPolicy)}),!isNaN(J)&&this._mediaDataSource.duration!==J&&(this._mediaDataSource.duration=J),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(H,Y){this._emitter.addListener(H,Y)}off(H,Y){this._emitter.removeListener(H,Y)}start(){this._loadSegment(0),this._enableStatisticsReporter()}_loadSegment(H,Y){this._currentSegmentIndex=H;let J=this._mediaDataSource.segments[H],le=this._ioctl=new U(J,this._config,H);le.onError=this._onIOException.bind(this),le.onSeeked=this._onIOSeeked.bind(this),le.onComplete=this._onIOComplete.bind(this),le.onRedirect=this._onIORedirect.bind(this),le.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),Y?this._demuxer.bindDataSource(this._ioctl):le.onDataArrival=this._onInitChunkArrival.bind(this),le.open(Y)}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(H){if(this._mediaInfo==null||!this._mediaInfo.isSeekable())return;let Y=this._searchSegmentIndexContains(H);if(Y===this._currentSegmentIndex){let J=this._mediaInfo.segments[Y];if(J==null)this._pendingSeekTime=H;else{let le=J.getNearestKeyframe(H);this._remuxer.seek(le.milliseconds),this._ioctl.seek(le.fileposition),this._pendingResolveSeekPoint=le.milliseconds}}else{let J=this._mediaInfo.segments[Y];if(J==null)this._pendingSeekTime=H,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(Y);else{let le=J.getNearestKeyframe(H);this._internalAbort(),this._remuxer.seek(H),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[Y].timestampBase,this._loadSegment(Y,le.fileposition),this._pendingResolveSeekPoint=le.milliseconds,this._reportSegmentMediaInfo(Y)}}this._enableStatisticsReporter()}_searchSegmentIndexContains(H){let Y=this._mediaDataSource.segments,J=Y.length-1;for(let le=0;le<Y.length;le++)if(H<Y[le].timestampBase){J=le-1;break}return J}_onInitChunkArrival(H,Y){let J=null,le=0;if(Y>0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,le=this._demuxer.parseChunks(H,Y);else if((J=ye.probe(H)).match){this._demuxer=new ye(J,this._config),this._remuxer||(this._remuxer=new Nt(this._config));let _e=this._mediaDataSource;_e.duration!=null&&!isNaN(_e.duration)&&(this._demuxer.overridedDuration=_e.duration),typeof _e.hasAudio=="boolean"&&(this._demuxer.overridedHasAudio=_e.hasAudio),typeof _e.hasVideo=="boolean"&&(this._demuxer.overridedHasVideo=_e.hasVideo),this._demuxer.timestampBase=_e.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),le=this._demuxer.parseChunks(H,Y)}else J=null,y.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then(()=>{this._internalAbort()}),this._emitter.emit(ot.DEMUX_ERROR,Ue.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),le=0;return le}_onMediaInfo(H){this._mediaInfo==null&&(this._mediaInfo=Object.assign({},H),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,Ee.prototype));let Y=Object.assign({},H);Object.setPrototypeOf(Y,Ee.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=Y,this._reportSegmentMediaInfo(this._currentSegmentIndex),this._pendingSeekTime!=null&&Promise.resolve().then(()=>{let J=this._pendingSeekTime;this._pendingSeekTime=null,this.seek(J)})}_onMetaDataArrived(H){this._emitter.emit(ot.METADATA_ARRIVED,H)}_onScriptDataArrived(H){this._emitter.emit(ot.SCRIPTDATA_ARRIVED,H)}_onIOSeeked(){this._remuxer.insertDiscontinuity()}_onIOComplete(H){let J=H+1;J<this._mediaDataSource.segments.length?(this._internalAbort(),this._remuxer.flushStashedSamples(),this._loadSegment(J)):(this._remuxer.flushStashedSamples(),this._emitter.emit(ot.LOADING_COMPLETE),this._disableStatisticsReporter())}_onIORedirect(H){let Y=this._ioctl.extraData;this._mediaDataSource.segments[Y].redirectedURL=H}_onIORecoveredEarlyEof(){this._emitter.emit(ot.RECOVERED_EARLY_EOF)}_onIOException(H,Y){y.e(this.TAG,`IOException: type = ${H}, code = ${Y.code}, msg = ${Y.msg}`),this._emitter.emit(ot.IO_ERROR,H,Y),this._disableStatisticsReporter()}_onDemuxException(H,Y){y.e(this.TAG,`DemuxException: type = ${H}, info = ${Y}`),this._emitter.emit(ot.DEMUX_ERROR,H,Y)}_onRemuxerInitSegmentArrival(H,Y){this._emitter.emit(ot.INIT_SEGMENT,H,Y)}_onRemuxerMediaSegmentArrival(H,Y){if(this._pendingSeekTime==null&&(this._emitter.emit(ot.MEDIA_SEGMENT,H,Y),this._pendingResolveSeekPoint!=null&&H==="video")){let J=Y.info.syncPoints,le=this._pendingResolveSeekPoint;this._pendingResolveSeekPoint=null,m.safari&&J.length>0&&J[0].originalDts===le&&(le=J[0].pts),this._emitter.emit(ot.RECOMMEND_SEEKPOINT,le)}}_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(H){let Y=this._mediaInfo.segments[H],J=Object.assign({},Y);J.duration=this._mediaInfo.duration,J.segmentCount=this._mediaInfo.segmentCount,delete J.segments,delete J.keyframesIndex,this._emitter.emit(ot.MEDIA_INFO,J)}_reportStatisticsInfo(){let H={};H.url=this._ioctl.currentURL,H.hasRedirect=this._ioctl.hasRedirect,H.hasRedirect&&(H.redirectedURL=this._ioctl.currentRedirectedURL),H.speed=this._ioctl.currentSpeed,H.loaderType=this._ioctl.loaderType,H.currentSegmentIndex=this._currentSegmentIndex,H.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(ot.STATISTICS_INFO,H)}}var cr=It,er=function(ft){let H="TransmuxingWorker",Y=null,J=Ze.bind(this);te.install(),ft.addEventListener("message",function(je){switch(je.data.cmd){case"init":Y=new cr(je.data.param[0],je.data.param[1]),Y.on(ot.IO_ERROR,Me.bind(this)),Y.on(ot.DEMUX_ERROR,be.bind(this)),Y.on(ot.INIT_SEGMENT,le.bind(this)),Y.on(ot.MEDIA_SEGMENT,_e.bind(this)),Y.on(ot.LOADING_COMPLETE,Ne.bind(this)),Y.on(ot.RECOVERED_EARLY_EOF,Pe.bind(this)),Y.on(ot.MEDIA_INFO,$e.bind(this)),Y.on(ot.METADATA_ARRIVED,Ye.bind(this)),Y.on(ot.SCRIPTDATA_ARRIVED,Lt.bind(this)),Y.on(ot.STATISTICS_INFO,Ht.bind(this)),Y.on(ot.RECOMMEND_SEEKPOINT,ut.bind(this));break;case"destroy":Y&&(Y.destroy(),Y=null),ft.postMessage({msg:"destroyed"});break;case"start":Y.start();break;case"stop":Y.stop();break;case"seek":Y.seek(je.data.param);break;case"pause":Y.pause();break;case"resume":Y.resume();break;case"logging_config":{let Qe=je.data.param;ue.applyConfig(Qe),Qe.enableCallback===!0?ue.addLogListener(J):ue.removeLogListener(J);break}}});function le(je,Qe){let yt={msg:ot.INIT_SEGMENT,data:{type:je,data:Qe}};ft.postMessage(yt,[Qe.data])}function _e(je,Qe){let yt={msg:ot.MEDIA_SEGMENT,data:{type:je,data:Qe}};ft.postMessage(yt,[Qe.data])}function Ne(){let je={msg:ot.LOADING_COMPLETE};ft.postMessage(je)}function Pe(){let je={msg:ot.RECOVERED_EARLY_EOF};ft.postMessage(je)}function $e(je){let Qe={msg:ot.MEDIA_INFO,data:je};ft.postMessage(Qe)}function Ye(je){let Qe={msg:ot.METADATA_ARRIVED,data:je};ft.postMessage(Qe)}function Lt(je){let Qe={msg:ot.SCRIPTDATA_ARRIVED,data:je};ft.postMessage(Qe)}function Ht(je){let Qe={msg:ot.STATISTICS_INFO,data:je};ft.postMessage(Qe)}function Me(je,Qe){ft.postMessage({msg:ot.IO_ERROR,data:{type:je,info:Qe}})}function be(je,Qe){ft.postMessage({msg:ot.DEMUX_ERROR,data:{type:je,info:Qe}})}function ut(je){ft.postMessage({msg:ot.RECOMMEND_SEEKPOINT,data:je})}function Ze(je,Qe){ft.postMessage({msg:"logcat_callback",data:{type:je,logcat:Qe}})}};class Wr{constructor(H,Y){if(this.TAG="Transmuxer",this._emitter=new(D()),Y.enableWorker&&typeof Worker!="undefined")try{let J=ae(82059);this._worker=J(er),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[H,Y]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},ue.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:ue.getConfig()})}catch(J){y.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new cr(H,Y)}else this._controller=new cr(H,Y);if(this._controller){let J=this._controller;J.on(ot.IO_ERROR,this._onIOError.bind(this)),J.on(ot.DEMUX_ERROR,this._onDemuxError.bind(this)),J.on(ot.INIT_SEGMENT,this._onInitSegment.bind(this)),J.on(ot.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),J.on(ot.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),J.on(ot.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),J.on(ot.MEDIA_INFO,this._onMediaInfo.bind(this)),J.on(ot.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),J.on(ot.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),J.on(ot.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),J.on(ot.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}destroy(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),ue.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}on(H,Y){this._emitter.addListener(H,Y)}off(H,Y){this._emitter.removeListener(H,Y)}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(H){this._worker?this._worker.postMessage({cmd:"seek",param:H}):this._controller.seek(H)}pause(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()}resume(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()}_onInitSegment(H,Y){Promise.resolve().then(()=>{this._emitter.emit(ot.INIT_SEGMENT,H,Y)})}_onMediaSegment(H,Y){Promise.resolve().then(()=>{this._emitter.emit(ot.MEDIA_SEGMENT,H,Y)})}_onLoadingComplete(){Promise.resolve().then(()=>{this._emitter.emit(ot.LOADING_COMPLETE)})}_onRecoveredEarlyEof(){Promise.resolve().then(()=>{this._emitter.emit(ot.RECOVERED_EARLY_EOF)})}_onMediaInfo(H){Promise.resolve().then(()=>{this._emitter.emit(ot.MEDIA_INFO,H)})}_onMetaDataArrived(H){Promise.resolve().then(()=>{this._emitter.emit(ot.METADATA_ARRIVED,H)})}_onScriptDataArrived(H){Promise.resolve().then(()=>{this._emitter.emit(ot.SCRIPTDATA_ARRIVED,H)})}_onStatisticsInfo(H){Promise.resolve().then(()=>{this._emitter.emit(ot.STATISTICS_INFO,H)})}_onIOError(H,Y){Promise.resolve().then(()=>{this._emitter.emit(ot.IO_ERROR,H,Y)})}_onDemuxError(H,Y){Promise.resolve().then(()=>{this._emitter.emit(ot.DEMUX_ERROR,H,Y)})}_onRecommendSeekpoint(H){Promise.resolve().then(()=>{this._emitter.emit(ot.RECOMMEND_SEEKPOINT,H)})}_onLoggingConfigChanged(H){this._worker&&this._worker.postMessage({cmd:"logging_config",param:H})}_onWorkerMessage(H){let Y=H.data,J=Y.data;if(Y.msg==="destroyed"||this._workerDestroying){this._workerDestroying=!1,this._worker.terminate(),this._worker=null;return}switch(Y.msg){case ot.INIT_SEGMENT:case ot.MEDIA_SEGMENT:this._emitter.emit(Y.msg,J.type,J.data);break;case ot.LOADING_COMPLETE:case ot.RECOVERED_EARLY_EOF:this._emitter.emit(Y.msg);break;case ot.MEDIA_INFO:Object.setPrototypeOf(J,Ee.prototype),this._emitter.emit(Y.msg,J);break;case ot.METADATA_ARRIVED:case ot.SCRIPTDATA_ARRIVED:case ot.STATISTICS_INFO:this._emitter.emit(Y.msg,J);break;case ot.IO_ERROR:case ot.DEMUX_ERROR:this._emitter.emit(Y.msg,J.type,J.info);break;case ot.RECOMMEND_SEEKPOINT:this._emitter.emit(Y.msg,J);break;case"logcat_callback":y.emitter.emit("log",J.type,J.logcat);break;default:break}}}var Ct=Wr,vt={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"};class nr{constructor(H){this.TAG="MSEController",this._config=H,this._emitter=new(D()),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 _t}destroy(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}on(H,Y){this._emitter.addListener(H,Y)}off(H,Y){this._emitter.removeListener(H,Y)}attachMediaElement(H){if(this._mediaSource)throw new T("MediaSource has been attached to an HTMLMediaElement!");let Y=this._mediaSource=new window.MediaSource;Y.addEventListener("sourceopen",this.e.onSourceOpen),Y.addEventListener("sourceended",this.e.onSourceEnded),Y.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=H,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),H.src=this._mediaSourceObjectURL}detachMediaElement(){if(this._mediaSource){let H=this._mediaSource;for(let Y in this._sourceBuffers){let J=this._pendingSegments[Y];J.splice(0,J.length),this._pendingSegments[Y]=null,this._pendingRemoveRanges[Y]=null,this._lastInitSegments[Y]=null;let le=this._sourceBuffers[Y];if(le){if(H.readyState!=="closed"){try{H.removeSourceBuffer(le)}catch(_e){y.e(this.TAG,_e.message)}le.removeEventListener("error",this.e.onSourceBufferError),le.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[Y]=null,this._sourceBuffers[Y]=null}}if(H.readyState==="open")try{H.endOfStream()}catch(Y){y.e(this.TAG,Y.message)}H.removeEventListener("sourceopen",this.e.onSourceOpen),H.removeEventListener("sourceended",this.e.onSourceEnded),H.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(H,Y){if(!this._mediaSource||this._mediaSource.readyState!=="open"){this._pendingSourceBufferInit.push(H),this._pendingSegments[H.type].push(H);return}let J=H,le=`${J.container}`;J.codec&&J.codec.length>0&&(le+=`;codecs=${J.codec}`);let _e=!1;if(y.v(this.TAG,"Received Initialization Segment, mimeType: "+le),this._lastInitSegments[J.type]=J,le!==this._mimeTypes[J.type]){if(this._mimeTypes[J.type])y.v(this.TAG,`Notice: ${J.type} mimeType changed, origin: ${this._mimeTypes[J.type]}, target: ${le}`);else{_e=!0;try{let Ne=this._sourceBuffers[J.type]=this._mediaSource.addSourceBuffer(le);Ne.addEventListener("error",this.e.onSourceBufferError),Ne.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(Ne){y.e(this.TAG,Ne.message),this._emitter.emit(vt.ERROR,{code:Ne.code,msg:Ne.message});return}}this._mimeTypes[J.type]=le}Y||this._pendingSegments[J.type].push(J),_e||this._sourceBuffers[J.type]&&!this._sourceBuffers[J.type].updating&&this._doAppendSegments(),m.safari&&J.container==="audio/mpeg"&&J.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=J.mediaDuration/1e3,this._updateMediaSourceDuration())}appendMediaSegment(H){let Y=H;this._pendingSegments[Y.type].push(Y),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();let J=this._sourceBuffers[Y.type];J&&!J.updating&&!this._hasPendingRemoveRanges()&&this._doAppendSegments()}seek(H){for(let Y in this._sourceBuffers){if(!this._sourceBuffers[Y])continue;let J=this._sourceBuffers[Y];if(this._mediaSource.readyState==="open")try{J.abort()}catch(_e){y.e(this.TAG,_e.message)}this._idrList.clear();let le=this._pendingSegments[Y];if(le.splice(0,le.length),this._mediaSource.readyState!=="closed"){for(let _e=0;_e<J.buffered.length;_e++){let Ne=J.buffered.start(_e),Pe=J.buffered.end(_e);this._pendingRemoveRanges[Y].push({start:Ne,end:Pe})}if(J.updating||this._doRemoveRanges(),m.safari){let _e=this._lastInitSegments[Y];_e&&(this._pendingSegments[Y].push(_e),J.updating||this._doAppendSegments())}}}}endOfStream(){let H=this._mediaSource,Y=this._sourceBuffers;if(!H||H.readyState!=="open"){H&&H.readyState==="closed"&&this._hasPendingSegments()&&(this._hasPendingEos=!0);return}Y.video&&Y.video.updating||Y.audio&&Y.audio.updating?this._hasPendingEos=!0:(this._hasPendingEos=!1,H.endOfStream())}getNearestKeyframe(H){return this._idrList.getLastSyncPointBeforeDts(H)}_needCleanupSourceBuffer(){if(!this._config.autoCleanupSourceBuffer)return!1;let H=this._mediaElement.currentTime;for(let Y in this._sourceBuffers){let J=this._sourceBuffers[Y];if(J){let le=J.buffered;if(le.length>=1&&H-le.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}_doCleanupSourceBuffer(){let H=this._mediaElement.currentTime;for(let Y in this._sourceBuffers){let J=this._sourceBuffers[Y];if(J){let le=J.buffered,_e=!1;for(let Ne=0;Ne<le.length;Ne++){let Pe=le.start(Ne),$e=le.end(Ne);if(Pe<=H&&H<$e+3){if(H-Pe>=this._config.autoCleanupMaxBackwardDuration){_e=!0;let Ye=H-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[Y].push({start:Pe,end:Ye})}}else $e<H&&(_e=!0,this._pendingRemoveRanges[Y].push({start:Pe,end:$e}))}_e&&!J.updating&&this._doRemoveRanges()}}}_updateMediaSourceDuration(){let H=this._sourceBuffers;if(this._mediaElement.readyState===0||this._mediaSource.readyState!=="open"||H.video&&H.video.updating||H.audio&&H.audio.updating)return;let Y=this._mediaSource.duration,J=this._pendingMediaDuration;J>0&&(isNaN(Y)||J>Y)&&(y.v(this.TAG,`Update MediaSource duration from ${Y} to ${J}`),this._mediaSource.duration=J),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}_doRemoveRanges(){for(let H in this._pendingRemoveRanges){if(!this._sourceBuffers[H]||this._sourceBuffers[H].updating)continue;let Y=this._sourceBuffers[H],J=this._pendingRemoveRanges[H];for(;J.length&&!Y.updating;){let le=J.shift();Y.remove(le.start,le.end)}}}_doAppendSegments(){let H=this._pendingSegments;for(let Y in H)if(!(!this._sourceBuffers[Y]||this._sourceBuffers[Y].updating)&&H[Y].length>0){let J=H[Y].shift();if(J.timestampOffset){let le=this._sourceBuffers[Y].timestampOffset,_e=J.timestampOffset/1e3;Math.abs(le-_e)>.1&&(y.v(this.TAG,`Update MPEG audio timestampOffset from ${le} to ${_e}`),this._sourceBuffers[Y].timestampOffset=_e),delete J.timestampOffset}if(!J.data||J.data.byteLength===0)continue;try{this._sourceBuffers[Y].appendBuffer(J.data),this._isBufferFull=!1,Y==="video"&&J.hasOwnProperty("info")&&this._idrList.appendArray(J.info.syncPoints)}catch(le){this._pendingSegments[Y].unshift(J),le.code===22?(this._isBufferFull||this._emitter.emit(vt.BUFFER_FULL),this._isBufferFull=!0):(y.e(this.TAG,le.message),this._emitter.emit(vt.ERROR,{code:le.code,msg:le.message}))}}}_onSourceOpen(){if(y.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0){let H=this._pendingSourceBufferInit;for(;H.length;){let Y=H.shift();this.appendInitSegment(Y,!0)}}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(vt.SOURCE_OPEN)}_onSourceEnded(){y.v(this.TAG,"MediaSource onSourceEnded")}_onSourceClose(){y.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 H=this._pendingSegments;return H.video.length>0||H.audio.length>0}_hasPendingRemoveRanges(){let H=this._pendingRemoveRanges;return H.video.length>0||H.audio.length>0}_onSourceBufferUpdateEnd(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(vt.UPDATE_END)}_onSourceBufferError(H){y.e(this.TAG,`SourceBuffer Error: ${H}`)}}var qt=nr;const Dt={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},nt={NETWORK_EXCEPTION:i.EXCEPTION,NETWORK_STATUS_CODE_INVALID:i.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:i.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:i.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:Ue.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:Ue.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:Ue.CODEC_UNSUPPORTED};class Rt{constructor(H,Y){if(this.TAG="FlvPlayer",this._type="FlvPlayer",this._emitter=new(D()),this._config=C(),typeof Y=="object"&&Object.assign(this._config,Y),H.type.toLowerCase()!=="flv")throw new c("FlvPlayer requires an flv MediaDataSource input!");H.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=H,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 J=m.chrome&&(m.version.major<50||m.version.major===50&&m.version.build<2661);this._alwaysSeekKeyframe=!!(J||m.msedge||m.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(H,Y){H===q.MEDIA_INFO?this._mediaInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(q.MEDIA_INFO,this.mediaInfo)}):H===q.STATISTICS_INFO&&this._statisticsInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(q.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(H,Y)}off(H,Y){this._emitter.removeListener(H,Y)}attachMediaElement(H){if(this._mediaElement=H,H.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),H.addEventListener("seeking",this.e.onvSeeking),H.addEventListener("canplay",this.e.onvCanPlay),H.addEventListener("stalled",this.e.onvStalled),H.addEventListener("progress",this.e.onvProgress),this._msectl=new qt(this._config),this._msectl.on(vt.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(vt.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(vt.SOURCE_OPEN,()=>{this._mseSourceOpened=!0,this._hasPendingLoad&&(this._hasPendingLoad=!1,this.load())}),this._msectl.on(vt.ERROR,Y=>{this._emitter.emit(q.ERROR,Dt.MEDIA_ERROR,nt.MEDIA_MSE_ERROR,Y)}),this._msectl.attachMediaElement(H),this._pendingSeekTime!=null)try{H.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(Y){}}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 T("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new T("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 Ct(this._mediaDataSource,this._config),this._transmuxer.on(ot.INIT_SEGMENT,(H,Y)=>{this._msectl.appendInitSegment(Y)}),this._transmuxer.on(ot.MEDIA_SEGMENT,(H,Y)=>{if(this._msectl.appendMediaSegment(Y),this._config.lazyLoad&&!this._config.isLive){let J=this._mediaElement.currentTime;Y.info.endDts>=(J+this._config.lazyLoadMaxDuration)*1e3&&this._progressChecker==null&&(y.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}}),this._transmuxer.on(ot.LOADING_COMPLETE,()=>{this._msectl.endOfStream(),this._emitter.emit(q.LOADING_COMPLETE)}),this._transmuxer.on(ot.RECOVERED_EARLY_EOF,()=>{this._emitter.emit(q.RECOVERED_EARLY_EOF)}),this._transmuxer.on(ot.IO_ERROR,(H,Y)=>{this._emitter.emit(q.ERROR,Dt.NETWORK_ERROR,H,Y)}),this._transmuxer.on(ot.DEMUX_ERROR,(H,Y)=>{this._emitter.emit(q.ERROR,Dt.MEDIA_ERROR,H,{code:-1,msg:Y})}),this._transmuxer.on(ot.MEDIA_INFO,H=>{this._mediaInfo=H,this._emitter.emit(q.MEDIA_INFO,Object.assign({},H))}),this._transmuxer.on(ot.METADATA_ARRIVED,H=>{this._emitter.emit(q.METADATA_ARRIVED,H)}),this._transmuxer.on(ot.SCRIPTDATA_ARRIVED,H=>{this._emitter.emit(q.SCRIPTDATA_ARRIVED,H)}),this._transmuxer.on(ot.STATISTICS_INFO,H=>{this._statisticsInfo=this._fillStatisticsInfo(H),this._emitter.emit(q.STATISTICS_INFO,Object.assign({},this._statisticsInfo))}),this._transmuxer.on(ot.RECOMMEND_SEEKPOINT,H=>{this._mediaElement&&!this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=H/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(H){this._mediaElement.volume=H}get muted(){return this._mediaElement.muted}set muted(H){this._mediaElement.muted=H}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(H){this._mediaElement?this._internalSeek(H):this._pendingSeekTime=H}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(H){if(H.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return H;let Y=!0,J=0,le=0;if(this._mediaElement.getVideoPlaybackQuality){let _e=this._mediaElement.getVideoPlaybackQuality();J=_e.totalVideoFrames,le=_e.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(J=this._mediaElement.webkitDecodedFrameCount,le=this._mediaElement.webkitDroppedFrameCount):Y=!1;return Y&&(H.decodedFrames=J,H.droppedFrames=le),H}_onmseUpdateEnd(){if(!this._config.lazyLoad||this._config.isLive)return;let H=this._mediaElement.buffered,Y=this._mediaElement.currentTime,J=0,le=0;for(let _e=0;_e<H.length;_e++){let Ne=H.start(_e),Pe=H.end(_e);if(Ne<=Y&&Y<Pe){J=Ne,le=Pe;break}}le>=Y+this._config.lazyLoadMaxDuration&&this._progressChecker==null&&(y.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}_onmseBufferFull(){y.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 H=this._mediaElement.currentTime,Y=this._mediaElement.buffered,J=!1;for(let le=0;le<Y.length;le++){let _e=Y.start(le),Ne=Y.end(le);if(H>=_e&&H<Ne){H>=Ne-this._config.lazyLoadRecoverDuration&&(J=!0);break}}J&&(window.clearInterval(this._progressChecker),this._progressChecker=null,J&&(y.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))}_isTimepointBuffered(H){let Y=this._mediaElement.buffered;for(let J=0;J<Y.length;J++){let le=Y.start(J),_e=Y.end(J);if(H>=le&&H<_e)return!0}return!1}_internalSeek(H){let Y=this._isTimepointBuffered(H),J=!1,le=0;if(H<1&&this._mediaElement.buffered.length>0){let _e=this._mediaElement.buffered.start(0);(_e<1&&H<_e||m.safari)&&(J=!0,le=m.safari?.1:_e)}if(J)this._requestSetTime=!0,this._mediaElement.currentTime=le;else if(Y){if(!this._alwaysSeekKeyframe)this._requestSetTime=!0,this._mediaElement.currentTime=H;else{let _e=this._msectl.getNearestKeyframe(Math.floor(H*1e3));this._requestSetTime=!0,_e!=null?this._mediaElement.currentTime=_e.dts/1e3:this._mediaElement.currentTime=H}this._progressChecker!=null&&this._checkProgressAndResume()}else this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._msectl.seek(H),this._transmuxer.seek(Math.floor(H*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=H)}_checkAndApplyUnbufferedSeekpoint(){if(this._seekpointRecord)if(this._seekpointRecord.recordTime<=this._now()-100){let H=this._mediaElement.currentTime;this._seekpointRecord=null,this._isTimepointBuffered(H)||(this._progressChecker!=null&&(window.clearTimeout(this._progressChecker),this._progressChecker=null),this._msectl.seek(H),this._transmuxer.seek(Math.floor(H*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=H))}else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_checkAndResumeStuckPlayback(H){let Y=this._mediaElement;if(H||!this._receivedCanPlay||Y.readyState<2){let J=Y.buffered;J.length>0&&Y.currentTime<J.start(0)&&(y.w(this.TAG,`Playback seems stuck at ${Y.currentTime}, seek to ${J.start(0)}`),this._requestSetTime=!0,this._mediaElement.currentTime=J.start(0),this._mediaElement.removeEventListener("progress",this.e.onvProgress))}else this._mediaElement.removeEventListener("progress",this.e.onvProgress)}_onvLoadedMetadata(H){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null)}_onvSeeking(H){let Y=this._mediaElement.currentTime,J=this._mediaElement.buffered;if(this._requestSetTime){this._requestSetTime=!1;return}if(Y<1&&J.length>0){let le=J.start(0);if(le<1&&Y<le||m.safari){this._requestSetTime=!0,this._mediaElement.currentTime=m.safari?.1:le;return}}if(this._isTimepointBuffered(Y)){if(this._alwaysSeekKeyframe){let le=this._msectl.getNearestKeyframe(Math.floor(Y*1e3));le!=null&&(this._requestSetTime=!0,this._mediaElement.currentTime=le.dts/1e3)}this._progressChecker!=null&&this._checkProgressAndResume();return}this._seekpointRecord={seekPoint:Y,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_onvCanPlay(H){this._receivedCanPlay=!0,this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay)}_onvStalled(H){this._checkAndResumeStuckPlayback(!0)}_onvProgress(H){this._checkAndResumeStuckPlayback()}}var Gt=Rt;class zt{constructor(H,Y){if(this.TAG="NativePlayer",this._type="NativePlayer",this._emitter=new(D()),this._config=C(),typeof Y=="object"&&Object.assign(this._config,Y),H.type.toLowerCase()==="flv")throw new c("NativePlayer does't support flv MediaDataSource input!");if(H.hasOwnProperty("segments"))throw new c(`NativePlayer(${H.type}) doesn't support multipart playback!`);this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=H,this._mediaElement=null}destroy(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(H,Y){H===q.MEDIA_INFO?this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(q.MEDIA_INFO,this.mediaInfo)}):H===q.STATISTICS_INFO&&this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(q.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(H,Y)}off(H,Y){this._emitter.removeListener(H,Y)}attachMediaElement(H){if(this._mediaElement=H,H.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._pendingSeekTime!=null)try{H.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(Y){}}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 T("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(H){this._mediaElement.volume=H}get muted(){return this._mediaElement.muted}set muted(H){this._mediaElement.muted=H}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(H){this._mediaElement?this._mediaElement.currentTime=H:this._pendingSeekTime=H}get mediaInfo(){let Y={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(Y.duration=Math.floor(this._mediaElement.duration*1e3),this._mediaElement instanceof HTMLVideoElement&&(Y.width=this._mediaElement.videoWidth,Y.height=this._mediaElement.videoHeight)),Y}get statisticsInfo(){let H={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return H;let Y=!0,J=0,le=0;if(this._mediaElement.getVideoPlaybackQuality){let _e=this._mediaElement.getVideoPlaybackQuality();J=_e.totalVideoFrames,le=_e.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(J=this._mediaElement.webkitDecodedFrameCount,le=this._mediaElement.webkitDroppedFrameCount):Y=!1;return Y&&(H.decodedFrames=J,H.droppedFrames=le),H}_onvLoadedMetadata(H){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(q.MEDIA_INFO,this.mediaInfo)}_reportStatisticsInfo(){this._emitter.emit(q.STATISTICS_INFO,this.statisticsInfo)}}var Qt=zt;te.install();function it(ft,H){let Y=ft;if(Y==null||typeof Y!="object")throw new c("MediaDataSource must be an javascript object!");if(!Y.hasOwnProperty("type"))throw new c("MediaDataSource must has type field to indicate video file type!");switch(Y.type){case"flv":return new Gt(Y,H);default:return new Qt(Y,H)}}function dt(){return z.supportMSEH264Playback()}function St(){return z.getFeatureList()}let Mt={};Mt.createPlayer=it,Mt.isSupported=dt,Mt.getFeatureList=St,Mt.BaseLoader=o,Mt.LoaderStatus=f,Mt.LoaderErrors=i,Mt.Events=q,Mt.ErrorTypes=Dt,Mt.ErrorDetails=nt,Mt.FlvPlayer=Gt,Mt.NativePlayer=Qt,Mt.LoggingControl=ue,Object.defineProperty(Mt,"version",{enumerable:!0,get:function(){return"__VERSION__"}});var Yt=Mt},45685:function(tr,qe,ae){"use strict";ae.d(qe,{default:function(){return B}});var ee=ae(94480),te=ae(59301),X=ae(92310),D=ae.n(X),W=ae(6089),y=ae(16722),L=ae(97224),b=ae(83010),s=ae(48608),T=ae(48755),c=ae(83397),f=te.createContext(void 0),o=P=>{const{href:F,title:K,prefixCls:U,children:V,className:C,target:M,replace:z}=P,$=te.useContext(f),{registerLink:q,unregisterLink:se,scrollTo:ue,onClick:pe,activeLink:Ee,direction:De}=$||{};te.useEffect(()=>(q==null||q(F),()=>{se==null||se(F)}),[F]);const Fe=ge=>{pe==null||pe(ge,{title:K,href:F}),ue==null||ue(F),z&&(ge.preventDefault(),window.location.replace(F))},{getPrefixCls:Ge}=te.useContext(T.E_),xe=Ge("anchor",U),Ke=Ee===F,Ce=D()(`${xe}-link`,C,{[`${xe}-link-active`]:Ke}),Se=D()(`${xe}-link-title`,{[`${xe}-link-title-active`]:Ke});return te.createElement("div",{className:Ce},te.createElement("a",{className:Se,href:F,title:typeof K=="string"?K:"",target:M,onClick:Fe},K),De!=="horizontal"?V:null)},d=ae(36237),p=ae(63356),m=ae(16931),h=ae(51636);const v=P=>{const{componentCls:F,holderOffsetBlock:K,motionDurationSlow:U,lineWidthBold:V,colorPrimary:C,lineType:M,colorSplit:z,calc:$}=P;return{[`${F}-wrapper`]:{marginBlockStart:$(K).mul(-1).equal(),paddingBlockStart:K,[F]:Object.assign(Object.assign({},(0,p.Wf)(P)),{position:"relative",paddingInlineStart:V,[`${F}-link`]:{paddingBlock:P.linkPaddingBlock,paddingInline:`${(0,d.unit)(P.linkPaddingInlineStart)} 0`,"&-title":Object.assign(Object.assign({},p.vS),{position:"relative",display:"block",marginBlockEnd:P.anchorTitleBlock,color:P.colorText,transition:`all ${P.motionDurationSlow}`,"&:only-child":{marginBlockEnd:0}}),[`&-active > ${F}-link-title`]:{color:P.colorPrimary},[`${F}-link`]:{paddingBlock:P.anchorPaddingBlockSecondary}}}),[`&:not(${F}-wrapper-horizontal)`]:{[F]:{"&::before":{position:"absolute",insetInlineStart:0,top:0,height:"100%",borderInlineStart:`${(0,d.unit)(V)} ${M} ${z}`,content:'" "'},[`${F}-ink`]:{position:"absolute",insetInlineStart:0,display:"none",transform:"translateY(-50%)",transition:`top ${U} ease-in-out`,width:V,backgroundColor:C,[`&${F}-ink-visible`]:{display:"inline-block"}}}},[`${F}-fixed ${F}-ink ${F}-ink`]:{display:"none"}}}},r=P=>{const{componentCls:F,motionDurationSlow:K,lineWidthBold:U,colorPrimary:V}=P;return{[`${F}-wrapper-horizontal`]:{position:"relative","&::before":{position:"absolute",left:{_skip_check_:!0,value:0},right:{_skip_check_:!0,value:0},bottom:0,borderBottom:`${(0,d.unit)(P.lineWidth)} ${P.lineType} ${P.colorSplit}`,content:'" "'},[F]:{overflowX:"scroll",position:"relative",display:"flex",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"},[`${F}-link:first-of-type`]:{paddingInline:0},[`${F}-ink`]:{position:"absolute",bottom:0,transition:`left ${K} ease-in-out, width ${K} ease-in-out`,height:U,backgroundColor:V}}}}},a=P=>({linkPaddingBlock:P.paddingXXS,linkPaddingInlineStart:P.padding});var g=(0,m.I$)("Anchor",P=>{const{fontSize:F,fontSizeLG:K,paddingXXS:U,calc:V}=P,C=(0,h.mergeToken)(P,{holderOffsetBlock:U,anchorPaddingBlockSecondary:V(U).div(2).equal(),anchorTitleBlock:V(F).div(14).mul(3).equal(),anchorBallSize:V(K).div(2).equal()});return[v(C),r(C)]},a);function E(){return window}function S(P,F){if(!P.getClientRects().length)return 0;const K=P.getBoundingClientRect();return K.width||K.height?F===window?K.top-P.ownerDocument.documentElement.clientTop:K.top-F.getBoundingClientRect().top:K.top}const w=/#([\S ]+)$/;var O=P=>{var F;const{rootClassName:K,prefixCls:U,className:V,style:C,offsetTop:M,affix:z=!0,showInkInFixed:$=!1,children:q,items:se,direction:ue="vertical",bounds:pe,targetOffset:Ee,onClick:De,onChange:Fe,getContainer:Ge,getCurrentAnchor:xe,replace:Ke}=P,[Ce,Se]=te.useState([]),[ge,Re]=te.useState(null),ve=te.useRef(ge),Le=te.useRef(null),Ue=te.useRef(null),me=te.useRef(!1),{direction:oe,getPrefixCls:ie,className:he,style:ye}=(0,T.dj)("anchor"),{getTargetContainer:ce}=te.useContext(T.E_),Te=ie("anchor",U),Oe=(0,c.Z)(Te),[Be,Xe,lt]=g(Te,Oe),_t=(F=Ge!=null?Ge:ce)!==null&&F!==void 0?F:E,tt=JSON.stringify(Ce),bt=(0,W.Z)(nt=>{Ce.includes(nt)||Se(Rt=>[].concat((0,ee.Z)(Rt),[nt]))}),Nt=(0,W.Z)(nt=>{Ce.includes(nt)&&Se(Rt=>Rt.filter(Gt=>Gt!==nt))}),Bt=()=>{var nt;const Rt=(nt=Le.current)===null||nt===void 0?void 0:nt.querySelector(`.${Te}-link-title-active`);if(Rt&&Ue.current){const{style:Gt}=Ue.current,zt=ue==="horizontal";Gt.top=zt?"":`${Rt.offsetTop+Rt.clientHeight/2}px`,Gt.height=zt?"":`${Rt.clientHeight}px`,Gt.left=zt?`${Rt.offsetLeft}px`:"",Gt.width=zt?`${Rt.clientWidth}px`:"",zt&&(0,y.Z)(Rt,{scrollMode:"if-needed",block:"nearest"})}},ot=function(nt){let Rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Gt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:5;const zt=[],Qt=_t();return nt.forEach(it=>{const dt=w.exec(it==null?void 0:it.toString());if(!dt)return;const St=document.getElementById(dt[1]);if(St){const Mt=S(St,Qt);Mt<=Rt+Gt&&zt.push({link:it,top:Mt})}}),zt.length?zt.reduce((dt,St)=>St.top>dt.top?St:dt).link:""},It=(0,W.Z)(nt=>{if(ve.current===nt)return;const Rt=typeof xe=="function"?xe(nt):nt;Re(Rt),ve.current=Rt,Fe==null||Fe(nt)}),cr=te.useCallback(()=>{if(me.current)return;const nt=ot(Ce,Ee!==void 0?Ee:M||0,pe);It(nt)},[tt,Ee,M]),wr=te.useCallback(nt=>{It(nt);const Rt=w.exec(nt);if(!Rt)return;const Gt=document.getElementById(Rt[1]);if(!Gt)return;const zt=_t(),Qt=(0,L.Z)(zt),it=S(Gt,zt);let dt=Qt+it;dt-=Ee!==void 0?Ee:M||0,me.current=!0,(0,b.Z)(dt,{getContainer:_t,callback(){me.current=!1}})},[Ee,M]),er=D()(Xe,lt,Oe,K,`${Te}-wrapper`,{[`${Te}-wrapper-horizontal`]:ue==="horizontal",[`${Te}-rtl`]:oe==="rtl"},V,he),Wr=D()(Te,{[`${Te}-fixed`]:!z&&!$}),Ct=D()(`${Te}-ink`,{[`${Te}-ink-visible`]:ge}),Et=Object.assign(Object.assign({maxHeight:M?`calc(100vh - ${M}px)`:"100vh"},ye),C),vt=nt=>Array.isArray(nt)?nt.map(Rt=>te.createElement(o,Object.assign({replace:Ke},Rt,{key:Rt.key}),ue==="vertical"&&vt(Rt.children))):null,nr=te.createElement("div",{ref:Le,className:er,style:Et},te.createElement("div",{className:Wr},te.createElement("span",{className:Ct,ref:Ue}),"items"in P?vt(se):q));te.useEffect(()=>{const nt=_t();return cr(),nt==null||nt.addEventListener("scroll",cr),()=>{nt==null||nt.removeEventListener("scroll",cr)}},[tt]),te.useEffect(()=>{typeof xe=="function"&&It(xe(ve.current||""))},[xe]),te.useEffect(()=>{Bt()},[ue,xe,tt,ge]);const qt=te.useMemo(()=>({registerLink:bt,unregisterLink:Nt,scrollTo:wr,activeLink:ge,onClick:De,direction:ue}),[ge,De,wr,ue]),Dt=z&&typeof z=="object"?z:void 0;return Be(te.createElement(f.Provider,{value:qt},z?te.createElement(s.Z,Object.assign({offsetTop:M,target:_t},Dt),nr):nr))};const G=O;G.Link=o;var B=G},25769:function(tr,qe,ae){"use strict";var ee=ae(98040),te={"text/plain":"Text","text/html":"Url",default:"Text"},X="Copy to clipboard: #{key}, Enter";function D(y){var L=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return y.replace(/#{\s*key\s*}/g,L)}function W(y,L){var b,s,T,c,u,f,i=!1;L||(L={}),b=L.debug||!1;try{T=ee(),c=document.createRange(),u=document.getSelection(),f=document.createElement("span"),f.textContent=y,f.ariaHidden="true",f.style.all="unset",f.style.position="fixed",f.style.top=0,f.style.clip="rect(0, 0, 0, 0)",f.style.whiteSpace="pre",f.style.webkitUserSelect="text",f.style.MozUserSelect="text",f.style.msUserSelect="text",f.style.userSelect="text",f.addEventListener("copy",function(d){if(d.stopPropagation(),L.format)if(d.preventDefault(),typeof d.clipboardData=="undefined"){b&&console.warn("unable to use e.clipboardData"),b&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var p=te[L.format]||te.default;window.clipboardData.setData(p,y)}else d.clipboardData.clearData(),d.clipboardData.setData(L.format,y);L.onCopy&&(d.preventDefault(),L.onCopy(d.clipboardData))}),document.body.appendChild(f),c.selectNodeContents(f),u.addRange(c);var o=document.execCommand("copy");if(!o)throw new Error("copy command was unsuccessful");i=!0}catch(d){b&&console.error("unable to copy using execCommand: ",d),b&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(L.format||"text",y),L.onCopy&&L.onCopy(window.clipboardData),i=!0}catch(p){b&&console.error("unable to copy using clipboardData: ",p),b&&console.error("falling back to prompt"),s=D("message"in L?L.message:X),window.prompt(s,y)}}finally{u&&(typeof u.removeRange=="function"?u.removeRange(c):u.removeAllRanges()),f&&document.body.removeChild(f),T()}return i}tr.exports=W},97774:function(tr,qe,ae){"use strict";Object.defineProperty(qe,"__esModule",{value:!0}),qe.default=void 0;var ee=Object.assign||function(d){for(var p=1;p<arguments.length;p++){var m=arguments[p];for(var h in m)Object.prototype.hasOwnProperty.call(m,h)&&(d[h]=m[h])}return d},te=function(){function d(p,m){for(var h=0;h<m.length;h++){var v=m[h];v.enumerable=v.enumerable||!1,v.configurable=!0,"value"in v&&(v.writable=!0),Object.defineProperty(p,v.key,v)}}return function(p,m,h){return m&&d(p.prototype,m),h&&d(p,h),p}}(),X=ae(59301),D=c(X),W=ae(12708),y=c(W),L=ae(53291),b=c(L),s=ae(47242),T=ae(65429);function c(d){return d&&d.__esModule?d:{default:d}}function u(d,p){if(!(d instanceof p))throw new TypeError("Cannot call a class as a function")}function f(d,p){if(!d)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return p&&(typeof p=="object"||typeof p=="function")?p:d}function i(d,p){if(typeof p!="function"&&p!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof p);d.prototype=Object.create(p&&p.prototype,{constructor:{value:d,enumerable:!1,writable:!0,configurable:!0}}),p&&(Object.setPrototypeOf?Object.setPrototypeOf(d,p):d.__proto__=p)}var o=function(d){i(p,d);function p(m){u(this,p);var h=f(this,(p.__proto__||Object.getPrototypeOf(p)).call(this,m));return h.getEchartsInstance=function(){return h.echartsLib.getInstanceByDom(h.echartsElement)||h.echartsLib.init(h.echartsElement,h.props.theme,h.props.opts)},h.dispose=function(){if(h.echartsElement){try{(0,s.clear)(h.echartsElement)}catch(v){console.warn(v)}h.echartsLib.dispose(h.echartsElement)}},h.rerender=function(){var v=h.props,r=v.onEvents,a=v.onChartReady,g=h.renderEchartDom();h.bindEvents(g,r||{}),typeof a=="function"&&h.props.onChartReady(g),h.echartsElement&&(0,s.bind)(h.echartsElement,function(){try{g.resize()}catch(E){console.warn(E)}})},h.bindEvents=function(v,r){var a=function(S,w){typeof S=="string"&&typeof w=="function"&&v.on(S,function(R){w(R,v)})};for(var g in r)Object.prototype.hasOwnProperty.call(r,g)&&a(g,r[g])},h.renderEchartDom=function(){var v=h.getEchartsInstance();return v.setOption(h.props.option,h.props.notMerge||!1,h.props.lazyUpdate||!1),h.props.showLoading?v.showLoading(h.props.loadingOption||null):v.hideLoading(),v},h.echartsLib=m.echarts,h.echartsElement=null,h}return te(p,[{key:"componentDidMount",value:function(){this.rerender()}},{key:"componentDidUpdate",value:function(h){if(!(typeof this.props.shouldSetOption=="function"&&!this.props.shouldSetOption(h,this.props))){if(!(0,b.default)(h.theme,this.props.theme)||!(0,b.default)(h.opts,this.props.opts)||!(0,b.default)(h.onEvents,this.props.onEvents)){this.dispose(),this.rerender();return}var v=["option","notMerge","lazyUpdate","showLoading","loadingOption"];if(!(0,b.default)((0,T.pick)(this.props,v),(0,T.pick)(h,v))){var r=this.renderEchartDom();if(!(0,b.default)(h.style,this.props.style)||!(0,b.default)(h.className,this.props.className))try{r.resize()}catch(a){console.warn(a)}}}}},{key:"componentWillUnmount",value:function(){this.dispose()}},{key:"render",value:function(){var h=this,v=this.props,r=v.style,a=v.className,g=ee({height:300},r);return D.default.createElement("div",{ref:function(S){h.echartsElement=S},style:g,className:"echarts-for-react "+a})}}]),p}(X.Component);qe.default=o,o.propTypes={option:y.default.object.isRequired,echarts:y.default.object,notMerge:y.default.bool,lazyUpdate:y.default.bool,style:y.default.object,className:y.default.string,theme:y.default.oneOfType([y.default.string,y.default.object]),onChartReady:y.default.func,showLoading:y.default.bool,loadingOption:y.default.object,onEvents:y.default.object,opts:y.default.shape({devicePixelRatio:y.default.number,renderer:y.default.oneOf(["canvas","svg"]),width:y.default.oneOfType([y.default.number,y.default.oneOf([null,void 0,"auto"])]),height:y.default.oneOfType([y.default.number,y.default.oneOf([null,void 0,"auto"])])}),shouldSetOption:y.default.func},o.defaultProps={echarts:{},notMerge:!1,lazyUpdate:!1,style:{},className:"",theme:null,onChartReady:function(){},showLoading:!1,loadingOption:null,onEvents:{},opts:{},shouldSetOption:function(){return!0}}},42441:function(tr,qe,ae){"use strict";var ee;ee={value:!0},qe.Z=void 0;var te=ae(76411),X=y(te),D=ae(97774),W=y(D);function y(c){return c&&c.__esModule?c:{default:c}}function L(c,u){if(!(c instanceof u))throw new TypeError("Cannot call a class as a function")}function b(c,u){if(!c)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u&&(typeof u=="object"||typeof u=="function")?u:c}function s(c,u){if(typeof u!="function"&&u!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof u);c.prototype=Object.create(u&&u.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}}),u&&(Object.setPrototypeOf?Object.setPrototypeOf(c,u):c.__proto__=u)}var T=function(c){s(u,c);function u(f){L(this,u);var i=b(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,f));return i.echartsLib=X.default,i}return u}(W.default);qe.Z=T},65429:function(tr,qe){"use strict";Object.defineProperty(qe,"__esModule",{value:!0});var ae=qe.pick=function(te,X){var D={};return X.forEach(function(W){D[W]=te[W]}),D}},48961:function(tr,qe,ae){(function(te,X){tr.exports=X(ae(76411))})(this,function(ee){return function(te){var X={};function D(W){if(X[W])return X[W].exports;var y=X[W]={i:W,l:!1,exports:{}};return te[W].call(y.exports,y,y.exports,D),y.l=!0,y.exports}return D.m=te,D.c=X,D.d=function(W,y,L){D.o(W,y)||Object.defineProperty(W,y,{configurable:!1,enumerable:!0,get:L})},D.n=function(W){var y=W&&W.__esModule?function(){return W.default}:function(){return W};return D.d(y,"a",y),y},D.o=function(W,y){return Object.prototype.hasOwnProperty.call(W,y)},D.p="",D(D.s=87)}([function(te,X){te.exports=ee},function(te,X,D){(function(W){"use strict";var y={};y.exports=X,function(L){if(!b)var b=1e-6;if(!s)var s=typeof Float32Array!="undefined"?Float32Array:Array;if(!T)var T=Math.random;var c={};c.setMatrixArrayType=function(r){s=r},typeof L!="undefined"&&(L.glMatrix=c);var u=Math.PI/180;c.toRadian=function(r){return r*u};var f={};f.create=function(){var r=new s(2);return r[0]=0,r[1]=0,r},f.clone=function(r){var a=new s(2);return a[0]=r[0],a[1]=r[1],a},f.fromValues=function(r,a){var g=new s(2);return g[0]=r,g[1]=a,g},f.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r},f.set=function(r,a,g){return r[0]=a,r[1]=g,r},f.add=function(r,a,g){return r[0]=a[0]+g[0],r[1]=a[1]+g[1],r},f.subtract=function(r,a,g){return r[0]=a[0]-g[0],r[1]=a[1]-g[1],r},f.sub=f.subtract,f.multiply=function(r,a,g){return r[0]=a[0]*g[0],r[1]=a[1]*g[1],r},f.mul=f.multiply,f.divide=function(r,a,g){return r[0]=a[0]/g[0],r[1]=a[1]/g[1],r},f.div=f.divide,f.min=function(r,a,g){return r[0]=Math.min(a[0],g[0]),r[1]=Math.min(a[1],g[1]),r},f.max=function(r,a,g){return r[0]=Math.max(a[0],g[0]),r[1]=Math.max(a[1],g[1]),r},f.scale=function(r,a,g){return r[0]=a[0]*g,r[1]=a[1]*g,r},f.scaleAndAdd=function(r,a,g,E){return r[0]=a[0]+g[0]*E,r[1]=a[1]+g[1]*E,r},f.distance=function(r,a){var g=a[0]-r[0],E=a[1]-r[1];return Math.sqrt(g*g+E*E)},f.dist=f.distance,f.squaredDistance=function(r,a){var g=a[0]-r[0],E=a[1]-r[1];return g*g+E*E},f.sqrDist=f.squaredDistance,f.length=function(r){var a=r[0],g=r[1];return Math.sqrt(a*a+g*g)},f.len=f.length,f.squaredLength=function(r){var a=r[0],g=r[1];return a*a+g*g},f.sqrLen=f.squaredLength,f.negate=function(r,a){return r[0]=-a[0],r[1]=-a[1],r},f.inverse=function(r,a){return r[0]=1/a[0],r[1]=1/a[1],r},f.normalize=function(r,a){var g=a[0],E=a[1],S=g*g+E*E;return S>0&&(S=1/Math.sqrt(S),r[0]=a[0]*S,r[1]=a[1]*S),r},f.dot=function(r,a){return r[0]*a[0]+r[1]*a[1]},f.cross=function(r,a,g){var E=a[0]*g[1]-a[1]*g[0];return r[0]=r[1]=0,r[2]=E,r},f.lerp=function(r,a,g,E){var S=a[0],w=a[1];return r[0]=S+E*(g[0]-S),r[1]=w+E*(g[1]-w),r},f.random=function(r,a){a=a||1;var g=T()*2*Math.PI;return r[0]=Math.cos(g)*a,r[1]=Math.sin(g)*a,r},f.transformMat2=function(r,a,g){var E=a[0],S=a[1];return r[0]=g[0]*E+g[2]*S,r[1]=g[1]*E+g[3]*S,r},f.transformMat2d=function(r,a,g){var E=a[0],S=a[1];return r[0]=g[0]*E+g[2]*S+g[4],r[1]=g[1]*E+g[3]*S+g[5],r},f.transformMat3=function(r,a,g){var E=a[0],S=a[1];return r[0]=g[0]*E+g[3]*S+g[6],r[1]=g[1]*E+g[4]*S+g[7],r},f.transformMat4=function(r,a,g){var E=a[0],S=a[1];return r[0]=g[0]*E+g[4]*S+g[12],r[1]=g[1]*E+g[5]*S+g[13],r},f.forEach=function(){var r=f.create();return function(a,g,E,S,w,R){var O,G;for(g||(g=2),E||(E=0),S?G=Math.min(S*g+E,a.length):G=a.length,O=E;O<G;O+=g)r[0]=a[O],r[1]=a[O+1],w(r,r,R),a[O]=r[0],a[O+1]=r[1];return a}}(),f.str=function(r){return"vec2("+r[0]+", "+r[1]+")"},typeof L!="undefined"&&(L.vec2=f);var i={};i.create=function(){var r=new s(3);return r[0]=0,r[1]=0,r[2]=0,r},i.clone=function(r){var a=new s(3);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a},i.fromValues=function(r,a,g){var E=new s(3);return E[0]=r,E[1]=a,E[2]=g,E},i.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r},i.set=function(r,a,g,E){return r[0]=a,r[1]=g,r[2]=E,r},i.add=function(r,a,g){return r[0]=a[0]+g[0],r[1]=a[1]+g[1],r[2]=a[2]+g[2],r},i.subtract=function(r,a,g){return r[0]=a[0]-g[0],r[1]=a[1]-g[1],r[2]=a[2]-g[2],r},i.sub=i.subtract,i.multiply=function(r,a,g){return r[0]=a[0]*g[0],r[1]=a[1]*g[1],r[2]=a[2]*g[2],r},i.mul=i.multiply,i.divide=function(r,a,g){return r[0]=a[0]/g[0],r[1]=a[1]/g[1],r[2]=a[2]/g[2],r},i.div=i.divide,i.min=function(r,a,g){return r[0]=Math.min(a[0],g[0]),r[1]=Math.min(a[1],g[1]),r[2]=Math.min(a[2],g[2]),r},i.max=function(r,a,g){return r[0]=Math.max(a[0],g[0]),r[1]=Math.max(a[1],g[1]),r[2]=Math.max(a[2],g[2]),r},i.scale=function(r,a,g){return r[0]=a[0]*g,r[1]=a[1]*g,r[2]=a[2]*g,r},i.scaleAndAdd=function(r,a,g,E){return r[0]=a[0]+g[0]*E,r[1]=a[1]+g[1]*E,r[2]=a[2]+g[2]*E,r},i.distance=function(r,a){var g=a[0]-r[0],E=a[1]-r[1],S=a[2]-r[2];return Math.sqrt(g*g+E*E+S*S)},i.dist=i.distance,i.squaredDistance=function(r,a){var g=a[0]-r[0],E=a[1]-r[1],S=a[2]-r[2];return g*g+E*E+S*S},i.sqrDist=i.squaredDistance,i.length=function(r){var a=r[0],g=r[1],E=r[2];return Math.sqrt(a*a+g*g+E*E)},i.len=i.length,i.squaredLength=function(r){var a=r[0],g=r[1],E=r[2];return a*a+g*g+E*E},i.sqrLen=i.squaredLength,i.negate=function(r,a){return r[0]=-a[0],r[1]=-a[1],r[2]=-a[2],r},i.inverse=function(r,a){return r[0]=1/a[0],r[1]=1/a[1],r[2]=1/a[2],r},i.normalize=function(r,a){var g=a[0],E=a[1],S=a[2],w=g*g+E*E+S*S;return w>0&&(w=1/Math.sqrt(w),r[0]=a[0]*w,r[1]=a[1]*w,r[2]=a[2]*w),r},i.dot=function(r,a){return r[0]*a[0]+r[1]*a[1]+r[2]*a[2]},i.cross=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=g[0],O=g[1],G=g[2];return r[0]=S*G-w*O,r[1]=w*R-E*G,r[2]=E*O-S*R,r},i.lerp=function(r,a,g,E){var S=a[0],w=a[1],R=a[2];return r[0]=S+E*(g[0]-S),r[1]=w+E*(g[1]-w),r[2]=R+E*(g[2]-R),r},i.random=function(r,a){a=a||1;var g=T()*2*Math.PI,E=T()*2-1,S=Math.sqrt(1-E*E)*a;return r[0]=Math.cos(g)*S,r[1]=Math.sin(g)*S,r[2]=E*a,r},i.transformMat4=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=g[3]*E+g[7]*S+g[11]*w+g[15];return R=R||1,r[0]=(g[0]*E+g[4]*S+g[8]*w+g[12])/R,r[1]=(g[1]*E+g[5]*S+g[9]*w+g[13])/R,r[2]=(g[2]*E+g[6]*S+g[10]*w+g[14])/R,r},i.transformMat3=function(r,a,g){var E=a[0],S=a[1],w=a[2];return r[0]=E*g[0]+S*g[3]+w*g[6],r[1]=E*g[1]+S*g[4]+w*g[7],r[2]=E*g[2]+S*g[5]+w*g[8],r},i.transformQuat=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=g[0],O=g[1],G=g[2],B=g[3],P=B*E+O*w-G*S,F=B*S+G*E-R*w,K=B*w+R*S-O*E,U=-R*E-O*S-G*w;return r[0]=P*B+U*-R+F*-G-K*-O,r[1]=F*B+U*-O+K*-R-P*-G,r[2]=K*B+U*-G+P*-O-F*-R,r},i.rotateX=function(r,a,g,E){var S=[],w=[];return S[0]=a[0]-g[0],S[1]=a[1]-g[1],S[2]=a[2]-g[2],w[0]=S[0],w[1]=S[1]*Math.cos(E)-S[2]*Math.sin(E),w[2]=S[1]*Math.sin(E)+S[2]*Math.cos(E),r[0]=w[0]+g[0],r[1]=w[1]+g[1],r[2]=w[2]+g[2],r},i.rotateY=function(r,a,g,E){var S=[],w=[];return S[0]=a[0]-g[0],S[1]=a[1]-g[1],S[2]=a[2]-g[2],w[0]=S[2]*Math.sin(E)+S[0]*Math.cos(E),w[1]=S[1],w[2]=S[2]*Math.cos(E)-S[0]*Math.sin(E),r[0]=w[0]+g[0],r[1]=w[1]+g[1],r[2]=w[2]+g[2],r},i.rotateZ=function(r,a,g,E){var S=[],w=[];return S[0]=a[0]-g[0],S[1]=a[1]-g[1],S[2]=a[2]-g[2],w[0]=S[0]*Math.cos(E)-S[1]*Math.sin(E),w[1]=S[0]*Math.sin(E)+S[1]*Math.cos(E),w[2]=S[2],r[0]=w[0]+g[0],r[1]=w[1]+g[1],r[2]=w[2]+g[2],r},i.forEach=function(){var r=i.create();return function(a,g,E,S,w,R){var O,G;for(g||(g=3),E||(E=0),S?G=Math.min(S*g+E,a.length):G=a.length,O=E;O<G;O+=g)r[0]=a[O],r[1]=a[O+1],r[2]=a[O+2],w(r,r,R),a[O]=r[0],a[O+1]=r[1],a[O+2]=r[2];return a}}(),i.angle=function(r,a){var g=i.fromValues(r[0],r[1],r[2]),E=i.fromValues(a[0],a[1],a[2]);i.normalize(g,g),i.normalize(E,E);var S=i.dot(g,E);return S>1?0:Math.acos(S)},i.str=function(r){return"vec3("+r[0]+", "+r[1]+", "+r[2]+")"},typeof L!="undefined"&&(L.vec3=i);var o={};o.create=function(){var r=new s(4);return r[0]=0,r[1]=0,r[2]=0,r[3]=0,r},o.clone=function(r){var a=new s(4);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],a},o.fromValues=function(r,a,g,E){var S=new s(4);return S[0]=r,S[1]=a,S[2]=g,S[3]=E,S},o.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r},o.set=function(r,a,g,E,S){return r[0]=a,r[1]=g,r[2]=E,r[3]=S,r},o.add=function(r,a,g){return r[0]=a[0]+g[0],r[1]=a[1]+g[1],r[2]=a[2]+g[2],r[3]=a[3]+g[3],r},o.subtract=function(r,a,g){return r[0]=a[0]-g[0],r[1]=a[1]-g[1],r[2]=a[2]-g[2],r[3]=a[3]-g[3],r},o.sub=o.subtract,o.multiply=function(r,a,g){return r[0]=a[0]*g[0],r[1]=a[1]*g[1],r[2]=a[2]*g[2],r[3]=a[3]*g[3],r},o.mul=o.multiply,o.divide=function(r,a,g){return r[0]=a[0]/g[0],r[1]=a[1]/g[1],r[2]=a[2]/g[2],r[3]=a[3]/g[3],r},o.div=o.divide,o.min=function(r,a,g){return r[0]=Math.min(a[0],g[0]),r[1]=Math.min(a[1],g[1]),r[2]=Math.min(a[2],g[2]),r[3]=Math.min(a[3],g[3]),r},o.max=function(r,a,g){return r[0]=Math.max(a[0],g[0]),r[1]=Math.max(a[1],g[1]),r[2]=Math.max(a[2],g[2]),r[3]=Math.max(a[3],g[3]),r},o.scale=function(r,a,g){return r[0]=a[0]*g,r[1]=a[1]*g,r[2]=a[2]*g,r[3]=a[3]*g,r},o.scaleAndAdd=function(r,a,g,E){return r[0]=a[0]+g[0]*E,r[1]=a[1]+g[1]*E,r[2]=a[2]+g[2]*E,r[3]=a[3]+g[3]*E,r},o.distance=function(r,a){var g=a[0]-r[0],E=a[1]-r[1],S=a[2]-r[2],w=a[3]-r[3];return Math.sqrt(g*g+E*E+S*S+w*w)},o.dist=o.distance,o.squaredDistance=function(r,a){var g=a[0]-r[0],E=a[1]-r[1],S=a[2]-r[2],w=a[3]-r[3];return g*g+E*E+S*S+w*w},o.sqrDist=o.squaredDistance,o.length=function(r){var a=r[0],g=r[1],E=r[2],S=r[3];return Math.sqrt(a*a+g*g+E*E+S*S)},o.len=o.length,o.squaredLength=function(r){var a=r[0],g=r[1],E=r[2],S=r[3];return a*a+g*g+E*E+S*S},o.sqrLen=o.squaredLength,o.negate=function(r,a){return r[0]=-a[0],r[1]=-a[1],r[2]=-a[2],r[3]=-a[3],r},o.inverse=function(r,a){return r[0]=1/a[0],r[1]=1/a[1],r[2]=1/a[2],r[3]=1/a[3],r},o.normalize=function(r,a){var g=a[0],E=a[1],S=a[2],w=a[3],R=g*g+E*E+S*S+w*w;return R>0&&(R=1/Math.sqrt(R),r[0]=a[0]*R,r[1]=a[1]*R,r[2]=a[2]*R,r[3]=a[3]*R),r},o.dot=function(r,a){return r[0]*a[0]+r[1]*a[1]+r[2]*a[2]+r[3]*a[3]},o.lerp=function(r,a,g,E){var S=a[0],w=a[1],R=a[2],O=a[3];return r[0]=S+E*(g[0]-S),r[1]=w+E*(g[1]-w),r[2]=R+E*(g[2]-R),r[3]=O+E*(g[3]-O),r},o.random=function(r,a){return a=a||1,r[0]=T(),r[1]=T(),r[2]=T(),r[3]=T(),o.normalize(r,r),o.scale(r,r,a),r},o.transformMat4=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3];return r[0]=g[0]*E+g[4]*S+g[8]*w+g[12]*R,r[1]=g[1]*E+g[5]*S+g[9]*w+g[13]*R,r[2]=g[2]*E+g[6]*S+g[10]*w+g[14]*R,r[3]=g[3]*E+g[7]*S+g[11]*w+g[15]*R,r},o.transformQuat=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=g[0],O=g[1],G=g[2],B=g[3],P=B*E+O*w-G*S,F=B*S+G*E-R*w,K=B*w+R*S-O*E,U=-R*E-O*S-G*w;return r[0]=P*B+U*-R+F*-G-K*-O,r[1]=F*B+U*-O+K*-R-P*-G,r[2]=K*B+U*-G+P*-O-F*-R,r},o.forEach=function(){var r=o.create();return function(a,g,E,S,w,R){var O,G;for(g||(g=4),E||(E=0),S?G=Math.min(S*g+E,a.length):G=a.length,O=E;O<G;O+=g)r[0]=a[O],r[1]=a[O+1],r[2]=a[O+2],r[3]=a[O+3],w(r,r,R),a[O]=r[0],a[O+1]=r[1],a[O+2]=r[2],a[O+3]=r[3];return a}}(),o.str=function(r){return"vec4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"},typeof L!="undefined"&&(L.vec4=o);var d={};d.create=function(){var r=new s(4);return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r},d.clone=function(r){var a=new s(4);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],a},d.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r},d.identity=function(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r},d.transpose=function(r,a){if(r===a){var g=a[1];r[1]=a[2],r[2]=g}else r[0]=a[0],r[1]=a[2],r[2]=a[1],r[3]=a[3];return r},d.invert=function(r,a){var g=a[0],E=a[1],S=a[2],w=a[3],R=g*w-S*E;return R?(R=1/R,r[0]=w*R,r[1]=-E*R,r[2]=-S*R,r[3]=g*R,r):null},d.adjoint=function(r,a){var g=a[0];return r[0]=a[3],r[1]=-a[1],r[2]=-a[2],r[3]=g,r},d.determinant=function(r){return r[0]*r[3]-r[2]*r[1]},d.multiply=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=g[0],G=g[1],B=g[2],P=g[3];return r[0]=E*O+w*G,r[1]=S*O+R*G,r[2]=E*B+w*P,r[3]=S*B+R*P,r},d.mul=d.multiply,d.rotate=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=Math.sin(g),G=Math.cos(g);return r[0]=E*G+w*O,r[1]=S*G+R*O,r[2]=E*-O+w*G,r[3]=S*-O+R*G,r},d.scale=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=g[0],G=g[1];return r[0]=E*O,r[1]=S*O,r[2]=w*G,r[3]=R*G,r},d.str=function(r){return"mat2("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"},d.frob=function(r){return Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)+Math.pow(r[3],2))},d.LDU=function(r,a,g,E){return r[2]=E[2]/E[0],g[0]=E[0],g[1]=E[1],g[3]=E[3]-r[2]*g[1],[r,a,g]},typeof L!="undefined"&&(L.mat2=d);var p={};p.create=function(){var r=new s(6);return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r},p.clone=function(r){var a=new s(6);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],a[4]=r[4],a[5]=r[5],a},p.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r[4]=a[4],r[5]=a[5],r},p.identity=function(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r},p.invert=function(r,a){var g=a[0],E=a[1],S=a[2],w=a[3],R=a[4],O=a[5],G=g*w-E*S;return G?(G=1/G,r[0]=w*G,r[1]=-E*G,r[2]=-S*G,r[3]=g*G,r[4]=(S*O-w*R)*G,r[5]=(E*R-g*O)*G,r):null},p.determinant=function(r){return r[0]*r[3]-r[1]*r[2]},p.multiply=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=a[4],G=a[5],B=g[0],P=g[1],F=g[2],K=g[3],U=g[4],V=g[5];return r[0]=E*B+w*P,r[1]=S*B+R*P,r[2]=E*F+w*K,r[3]=S*F+R*K,r[4]=E*U+w*V+O,r[5]=S*U+R*V+G,r},p.mul=p.multiply,p.rotate=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=a[4],G=a[5],B=Math.sin(g),P=Math.cos(g);return r[0]=E*P+w*B,r[1]=S*P+R*B,r[2]=E*-B+w*P,r[3]=S*-B+R*P,r[4]=O,r[5]=G,r},p.scale=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=a[4],G=a[5],B=g[0],P=g[1];return r[0]=E*B,r[1]=S*B,r[2]=w*P,r[3]=R*P,r[4]=O,r[5]=G,r},p.translate=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=a[4],G=a[5],B=g[0],P=g[1];return r[0]=E,r[1]=S,r[2]=w,r[3]=R,r[4]=E*B+w*P+O,r[5]=S*B+R*P+G,r},p.str=function(r){return"mat2d("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+")"},p.frob=function(r){return Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)+Math.pow(r[3],2)+Math.pow(r[4],2)+Math.pow(r[5],2)+1)},typeof L!="undefined"&&(L.mat2d=p);var m={};m.create=function(){var r=new s(9);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r},m.fromMat4=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[4],r[4]=a[5],r[5]=a[6],r[6]=a[8],r[7]=a[9],r[8]=a[10],r},m.clone=function(r){var a=new s(9);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],a[4]=r[4],a[5]=r[5],a[6]=r[6],a[7]=r[7],a[8]=r[8],a},m.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r[4]=a[4],r[5]=a[5],r[6]=a[6],r[7]=a[7],r[8]=a[8],r},m.identity=function(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r},m.transpose=function(r,a){if(r===a){var g=a[1],E=a[2],S=a[5];r[1]=a[3],r[2]=a[6],r[3]=g,r[5]=a[7],r[6]=E,r[7]=S}else r[0]=a[0],r[1]=a[3],r[2]=a[6],r[3]=a[1],r[4]=a[4],r[5]=a[7],r[6]=a[2],r[7]=a[5],r[8]=a[8];return r},m.invert=function(r,a){var g=a[0],E=a[1],S=a[2],w=a[3],R=a[4],O=a[5],G=a[6],B=a[7],P=a[8],F=P*R-O*B,K=-P*w+O*G,U=B*w-R*G,V=g*F+E*K+S*U;return V?(V=1/V,r[0]=F*V,r[1]=(-P*E+S*B)*V,r[2]=(O*E-S*R)*V,r[3]=K*V,r[4]=(P*g-S*G)*V,r[5]=(-O*g+S*w)*V,r[6]=U*V,r[7]=(-B*g+E*G)*V,r[8]=(R*g-E*w)*V,r):null},m.adjoint=function(r,a){var g=a[0],E=a[1],S=a[2],w=a[3],R=a[4],O=a[5],G=a[6],B=a[7],P=a[8];return r[0]=R*P-O*B,r[1]=S*B-E*P,r[2]=E*O-S*R,r[3]=O*G-w*P,r[4]=g*P-S*G,r[5]=S*w-g*O,r[6]=w*B-R*G,r[7]=E*G-g*B,r[8]=g*R-E*w,r},m.determinant=function(r){var a=r[0],g=r[1],E=r[2],S=r[3],w=r[4],R=r[5],O=r[6],G=r[7],B=r[8];return a*(B*w-R*G)+g*(-B*S+R*O)+E*(G*S-w*O)},m.multiply=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=a[4],G=a[5],B=a[6],P=a[7],F=a[8],K=g[0],U=g[1],V=g[2],C=g[3],M=g[4],z=g[5],$=g[6],q=g[7],se=g[8];return r[0]=K*E+U*R+V*B,r[1]=K*S+U*O+V*P,r[2]=K*w+U*G+V*F,r[3]=C*E+M*R+z*B,r[4]=C*S+M*O+z*P,r[5]=C*w+M*G+z*F,r[6]=$*E+q*R+se*B,r[7]=$*S+q*O+se*P,r[8]=$*w+q*G+se*F,r},m.mul=m.multiply,m.translate=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=a[4],G=a[5],B=a[6],P=a[7],F=a[8],K=g[0],U=g[1];return r[0]=E,r[1]=S,r[2]=w,r[3]=R,r[4]=O,r[5]=G,r[6]=K*E+U*R+B,r[7]=K*S+U*O+P,r[8]=K*w+U*G+F,r},m.rotate=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=a[4],G=a[5],B=a[6],P=a[7],F=a[8],K=Math.sin(g),U=Math.cos(g);return r[0]=U*E+K*R,r[1]=U*S+K*O,r[2]=U*w+K*G,r[3]=U*R-K*E,r[4]=U*O-K*S,r[5]=U*G-K*w,r[6]=B,r[7]=P,r[8]=F,r},m.scale=function(r,a,g){var E=g[0],S=g[1];return r[0]=E*a[0],r[1]=E*a[1],r[2]=E*a[2],r[3]=S*a[3],r[4]=S*a[4],r[5]=S*a[5],r[6]=a[6],r[7]=a[7],r[8]=a[8],r},m.fromMat2d=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=0,r[3]=a[2],r[4]=a[3],r[5]=0,r[6]=a[4],r[7]=a[5],r[8]=1,r},m.fromQuat=function(r,a){var g=a[0],E=a[1],S=a[2],w=a[3],R=g+g,O=E+E,G=S+S,B=g*R,P=E*R,F=E*O,K=S*R,U=S*O,V=S*G,C=w*R,M=w*O,z=w*G;return r[0]=1-F-V,r[3]=P-z,r[6]=K+M,r[1]=P+z,r[4]=1-B-V,r[7]=U-C,r[2]=K-M,r[5]=U+C,r[8]=1-B-F,r},m.normalFromMat4=function(r,a){var g=a[0],E=a[1],S=a[2],w=a[3],R=a[4],O=a[5],G=a[6],B=a[7],P=a[8],F=a[9],K=a[10],U=a[11],V=a[12],C=a[13],M=a[14],z=a[15],$=g*O-E*R,q=g*G-S*R,se=g*B-w*R,ue=E*G-S*O,pe=E*B-w*O,Ee=S*B-w*G,De=P*C-F*V,Fe=P*M-K*V,Ge=P*z-U*V,xe=F*M-K*C,Ke=F*z-U*C,Ce=K*z-U*M,Se=$*Ce-q*Ke+se*xe+ue*Ge-pe*Fe+Ee*De;return Se?(Se=1/Se,r[0]=(O*Ce-G*Ke+B*xe)*Se,r[1]=(G*Ge-R*Ce-B*Fe)*Se,r[2]=(R*Ke-O*Ge+B*De)*Se,r[3]=(S*Ke-E*Ce-w*xe)*Se,r[4]=(g*Ce-S*Ge+w*Fe)*Se,r[5]=(E*Ge-g*Ke-w*De)*Se,r[6]=(C*Ee-M*pe+z*ue)*Se,r[7]=(M*se-V*Ee-z*q)*Se,r[8]=(V*pe-C*se+z*$)*Se,r):null},m.str=function(r){return"mat3("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+")"},m.frob=function(r){return Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)+Math.pow(r[3],2)+Math.pow(r[4],2)+Math.pow(r[5],2)+Math.pow(r[6],2)+Math.pow(r[7],2)+Math.pow(r[8],2))},typeof L!="undefined"&&(L.mat3=m);var h={};h.create=function(){var r=new s(16);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r},h.clone=function(r){var a=new s(16);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],a[4]=r[4],a[5]=r[5],a[6]=r[6],a[7]=r[7],a[8]=r[8],a[9]=r[9],a[10]=r[10],a[11]=r[11],a[12]=r[12],a[13]=r[13],a[14]=r[14],a[15]=r[15],a},h.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r[4]=a[4],r[5]=a[5],r[6]=a[6],r[7]=a[7],r[8]=a[8],r[9]=a[9],r[10]=a[10],r[11]=a[11],r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15],r},h.identity=function(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r},h.transpose=function(r,a){if(r===a){var g=a[1],E=a[2],S=a[3],w=a[6],R=a[7],O=a[11];r[1]=a[4],r[2]=a[8],r[3]=a[12],r[4]=g,r[6]=a[9],r[7]=a[13],r[8]=E,r[9]=w,r[11]=a[14],r[12]=S,r[13]=R,r[14]=O}else r[0]=a[0],r[1]=a[4],r[2]=a[8],r[3]=a[12],r[4]=a[1],r[5]=a[5],r[6]=a[9],r[7]=a[13],r[8]=a[2],r[9]=a[6],r[10]=a[10],r[11]=a[14],r[12]=a[3],r[13]=a[7],r[14]=a[11],r[15]=a[15];return r},h.invert=function(r,a){var g=a[0],E=a[1],S=a[2],w=a[3],R=a[4],O=a[5],G=a[6],B=a[7],P=a[8],F=a[9],K=a[10],U=a[11],V=a[12],C=a[13],M=a[14],z=a[15],$=g*O-E*R,q=g*G-S*R,se=g*B-w*R,ue=E*G-S*O,pe=E*B-w*O,Ee=S*B-w*G,De=P*C-F*V,Fe=P*M-K*V,Ge=P*z-U*V,xe=F*M-K*C,Ke=F*z-U*C,Ce=K*z-U*M,Se=$*Ce-q*Ke+se*xe+ue*Ge-pe*Fe+Ee*De;return Se?(Se=1/Se,r[0]=(O*Ce-G*Ke+B*xe)*Se,r[1]=(S*Ke-E*Ce-w*xe)*Se,r[2]=(C*Ee-M*pe+z*ue)*Se,r[3]=(K*pe-F*Ee-U*ue)*Se,r[4]=(G*Ge-R*Ce-B*Fe)*Se,r[5]=(g*Ce-S*Ge+w*Fe)*Se,r[6]=(M*se-V*Ee-z*q)*Se,r[7]=(P*Ee-K*se+U*q)*Se,r[8]=(R*Ke-O*Ge+B*De)*Se,r[9]=(E*Ge-g*Ke-w*De)*Se,r[10]=(V*pe-C*se+z*$)*Se,r[11]=(F*se-P*pe-U*$)*Se,r[12]=(O*Fe-R*xe-G*De)*Se,r[13]=(g*xe-E*Fe+S*De)*Se,r[14]=(C*q-V*ue-M*$)*Se,r[15]=(P*ue-F*q+K*$)*Se,r):null},h.adjoint=function(r,a){var g=a[0],E=a[1],S=a[2],w=a[3],R=a[4],O=a[5],G=a[6],B=a[7],P=a[8],F=a[9],K=a[10],U=a[11],V=a[12],C=a[13],M=a[14],z=a[15];return r[0]=O*(K*z-U*M)-F*(G*z-B*M)+C*(G*U-B*K),r[1]=-(E*(K*z-U*M)-F*(S*z-w*M)+C*(S*U-w*K)),r[2]=E*(G*z-B*M)-O*(S*z-w*M)+C*(S*B-w*G),r[3]=-(E*(G*U-B*K)-O*(S*U-w*K)+F*(S*B-w*G)),r[4]=-(R*(K*z-U*M)-P*(G*z-B*M)+V*(G*U-B*K)),r[5]=g*(K*z-U*M)-P*(S*z-w*M)+V*(S*U-w*K),r[6]=-(g*(G*z-B*M)-R*(S*z-w*M)+V*(S*B-w*G)),r[7]=g*(G*U-B*K)-R*(S*U-w*K)+P*(S*B-w*G),r[8]=R*(F*z-U*C)-P*(O*z-B*C)+V*(O*U-B*F),r[9]=-(g*(F*z-U*C)-P*(E*z-w*C)+V*(E*U-w*F)),r[10]=g*(O*z-B*C)-R*(E*z-w*C)+V*(E*B-w*O),r[11]=-(g*(O*U-B*F)-R*(E*U-w*F)+P*(E*B-w*O)),r[12]=-(R*(F*M-K*C)-P*(O*M-G*C)+V*(O*K-G*F)),r[13]=g*(F*M-K*C)-P*(E*M-S*C)+V*(E*K-S*F),r[14]=-(g*(O*M-G*C)-R*(E*M-S*C)+V*(E*G-S*O)),r[15]=g*(O*K-G*F)-R*(E*K-S*F)+P*(E*G-S*O),r},h.determinant=function(r){var a=r[0],g=r[1],E=r[2],S=r[3],w=r[4],R=r[5],O=r[6],G=r[7],B=r[8],P=r[9],F=r[10],K=r[11],U=r[12],V=r[13],C=r[14],M=r[15],z=a*R-g*w,$=a*O-E*w,q=a*G-S*w,se=g*O-E*R,ue=g*G-S*R,pe=E*G-S*O,Ee=B*V-P*U,De=B*C-F*U,Fe=B*M-K*U,Ge=P*C-F*V,xe=P*M-K*V,Ke=F*M-K*C;return z*Ke-$*xe+q*Ge+se*Fe-ue*De+pe*Ee},h.multiply=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=a[4],G=a[5],B=a[6],P=a[7],F=a[8],K=a[9],U=a[10],V=a[11],C=a[12],M=a[13],z=a[14],$=a[15],q=g[0],se=g[1],ue=g[2],pe=g[3];return r[0]=q*E+se*O+ue*F+pe*C,r[1]=q*S+se*G+ue*K+pe*M,r[2]=q*w+se*B+ue*U+pe*z,r[3]=q*R+se*P+ue*V+pe*$,q=g[4],se=g[5],ue=g[6],pe=g[7],r[4]=q*E+se*O+ue*F+pe*C,r[5]=q*S+se*G+ue*K+pe*M,r[6]=q*w+se*B+ue*U+pe*z,r[7]=q*R+se*P+ue*V+pe*$,q=g[8],se=g[9],ue=g[10],pe=g[11],r[8]=q*E+se*O+ue*F+pe*C,r[9]=q*S+se*G+ue*K+pe*M,r[10]=q*w+se*B+ue*U+pe*z,r[11]=q*R+se*P+ue*V+pe*$,q=g[12],se=g[13],ue=g[14],pe=g[15],r[12]=q*E+se*O+ue*F+pe*C,r[13]=q*S+se*G+ue*K+pe*M,r[14]=q*w+se*B+ue*U+pe*z,r[15]=q*R+se*P+ue*V+pe*$,r},h.multiplyAffine=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[4],O=a[5],G=a[6],B=a[8],P=a[9],F=a[10],K=a[12],U=a[13],V=a[14],C=g[0],M=g[1],z=g[2];return r[0]=C*E+M*R+z*B,r[1]=C*S+M*O+z*P,r[2]=C*w+M*G+z*F,C=g[4],M=g[5],z=g[6],r[4]=C*E+M*R+z*B,r[5]=C*S+M*O+z*P,r[6]=C*w+M*G+z*F,C=g[8],M=g[9],z=g[10],r[8]=C*E+M*R+z*B,r[9]=C*S+M*O+z*P,r[10]=C*w+M*G+z*F,C=g[12],M=g[13],z=g[14],r[12]=C*E+M*R+z*B+K,r[13]=C*S+M*O+z*P+U,r[14]=C*w+M*G+z*F+V,r},h.mul=h.multiply,h.mulAffine=h.multiplyAffine,h.translate=function(r,a,g){var E=g[0],S=g[1],w=g[2],R,O,G,B,P,F,K,U,V,C,M,z;return a===r?(r[12]=a[0]*E+a[4]*S+a[8]*w+a[12],r[13]=a[1]*E+a[5]*S+a[9]*w+a[13],r[14]=a[2]*E+a[6]*S+a[10]*w+a[14],r[15]=a[3]*E+a[7]*S+a[11]*w+a[15]):(R=a[0],O=a[1],G=a[2],B=a[3],P=a[4],F=a[5],K=a[6],U=a[7],V=a[8],C=a[9],M=a[10],z=a[11],r[0]=R,r[1]=O,r[2]=G,r[3]=B,r[4]=P,r[5]=F,r[6]=K,r[7]=U,r[8]=V,r[9]=C,r[10]=M,r[11]=z,r[12]=R*E+P*S+V*w+a[12],r[13]=O*E+F*S+C*w+a[13],r[14]=G*E+K*S+M*w+a[14],r[15]=B*E+U*S+z*w+a[15]),r},h.scale=function(r,a,g){var E=g[0],S=g[1],w=g[2];return r[0]=a[0]*E,r[1]=a[1]*E,r[2]=a[2]*E,r[3]=a[3]*E,r[4]=a[4]*S,r[5]=a[5]*S,r[6]=a[6]*S,r[7]=a[7]*S,r[8]=a[8]*w,r[9]=a[9]*w,r[10]=a[10]*w,r[11]=a[11]*w,r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15],r},h.rotate=function(r,a,g,E){var S=E[0],w=E[1],R=E[2],O=Math.sqrt(S*S+w*w+R*R),G,B,P,F,K,U,V,C,M,z,$,q,se,ue,pe,Ee,De,Fe,Ge,xe,Ke,Ce,Se,ge;return Math.abs(O)<b?null:(O=1/O,S*=O,w*=O,R*=O,G=Math.sin(g),B=Math.cos(g),P=1-B,F=a[0],K=a[1],U=a[2],V=a[3],C=a[4],M=a[5],z=a[6],$=a[7],q=a[8],se=a[9],ue=a[10],pe=a[11],Ee=S*S*P+B,De=w*S*P+R*G,Fe=R*S*P-w*G,Ge=S*w*P-R*G,xe=w*w*P+B,Ke=R*w*P+S*G,Ce=S*R*P+w*G,Se=w*R*P-S*G,ge=R*R*P+B,r[0]=F*Ee+C*De+q*Fe,r[1]=K*Ee+M*De+se*Fe,r[2]=U*Ee+z*De+ue*Fe,r[3]=V*Ee+$*De+pe*Fe,r[4]=F*Ge+C*xe+q*Ke,r[5]=K*Ge+M*xe+se*Ke,r[6]=U*Ge+z*xe+ue*Ke,r[7]=V*Ge+$*xe+pe*Ke,r[8]=F*Ce+C*Se+q*ge,r[9]=K*Ce+M*Se+se*ge,r[10]=U*Ce+z*Se+ue*ge,r[11]=V*Ce+$*Se+pe*ge,a!==r&&(r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15]),r)},h.rotateX=function(r,a,g){var E=Math.sin(g),S=Math.cos(g),w=a[4],R=a[5],O=a[6],G=a[7],B=a[8],P=a[9],F=a[10],K=a[11];return a!==r&&(r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15]),r[4]=w*S+B*E,r[5]=R*S+P*E,r[6]=O*S+F*E,r[7]=G*S+K*E,r[8]=B*S-w*E,r[9]=P*S-R*E,r[10]=F*S-O*E,r[11]=K*S-G*E,r},h.rotateY=function(r,a,g){var E=Math.sin(g),S=Math.cos(g),w=a[0],R=a[1],O=a[2],G=a[3],B=a[8],P=a[9],F=a[10],K=a[11];return a!==r&&(r[4]=a[4],r[5]=a[5],r[6]=a[6],r[7]=a[7],r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15]),r[0]=w*S-B*E,r[1]=R*S-P*E,r[2]=O*S-F*E,r[3]=G*S-K*E,r[8]=w*E+B*S,r[9]=R*E+P*S,r[10]=O*E+F*S,r[11]=G*E+K*S,r},h.rotateZ=function(r,a,g){var E=Math.sin(g),S=Math.cos(g),w=a[0],R=a[1],O=a[2],G=a[3],B=a[4],P=a[5],F=a[6],K=a[7];return a!==r&&(r[8]=a[8],r[9]=a[9],r[10]=a[10],r[11]=a[11],r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15]),r[0]=w*S+B*E,r[1]=R*S+P*E,r[2]=O*S+F*E,r[3]=G*S+K*E,r[4]=B*S-w*E,r[5]=P*S-R*E,r[6]=F*S-O*E,r[7]=K*S-G*E,r},h.fromRotationTranslation=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=E+E,G=S+S,B=w+w,P=E*O,F=E*G,K=E*B,U=S*G,V=S*B,C=w*B,M=R*O,z=R*G,$=R*B;return r[0]=1-(U+C),r[1]=F+$,r[2]=K-z,r[3]=0,r[4]=F-$,r[5]=1-(P+C),r[6]=V+M,r[7]=0,r[8]=K+z,r[9]=V-M,r[10]=1-(P+U),r[11]=0,r[12]=g[0],r[13]=g[1],r[14]=g[2],r[15]=1,r},h.fromQuat=function(r,a){var g=a[0],E=a[1],S=a[2],w=a[3],R=g+g,O=E+E,G=S+S,B=g*R,P=E*R,F=E*O,K=S*R,U=S*O,V=S*G,C=w*R,M=w*O,z=w*G;return r[0]=1-F-V,r[1]=P+z,r[2]=K-M,r[3]=0,r[4]=P-z,r[5]=1-B-V,r[6]=U+C,r[7]=0,r[8]=K+M,r[9]=U-C,r[10]=1-B-F,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r},h.frustum=function(r,a,g,E,S,w,R){var O=1/(g-a),G=1/(S-E),B=1/(w-R);return r[0]=w*2*O,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=w*2*G,r[6]=0,r[7]=0,r[8]=(g+a)*O,r[9]=(S+E)*G,r[10]=(R+w)*B,r[11]=-1,r[12]=0,r[13]=0,r[14]=R*w*2*B,r[15]=0,r},h.perspective=function(r,a,g,E,S){var w=1/Math.tan(a/2),R=1/(E-S);return r[0]=w/g,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=w,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=(S+E)*R,r[11]=-1,r[12]=0,r[13]=0,r[14]=2*S*E*R,r[15]=0,r},h.ortho=function(r,a,g,E,S,w,R){var O=1/(a-g),G=1/(E-S),B=1/(w-R);return r[0]=-2*O,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*G,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*B,r[11]=0,r[12]=(a+g)*O,r[13]=(S+E)*G,r[14]=(R+w)*B,r[15]=1,r},h.lookAt=function(r,a,g,E){var S,w,R,O,G,B,P,F,K,U,V=a[0],C=a[1],M=a[2],z=E[0],$=E[1],q=E[2],se=g[0],ue=g[1],pe=g[2];return Math.abs(V-se)<b&&Math.abs(C-ue)<b&&Math.abs(M-pe)<b?h.identity(r):(P=V-se,F=C-ue,K=M-pe,U=1/Math.sqrt(P*P+F*F+K*K),P*=U,F*=U,K*=U,S=$*K-q*F,w=q*P-z*K,R=z*F-$*P,U=Math.sqrt(S*S+w*w+R*R),U?(U=1/U,S*=U,w*=U,R*=U):(S=0,w=0,R=0),O=F*R-K*w,G=K*S-P*R,B=P*w-F*S,U=Math.sqrt(O*O+G*G+B*B),U?(U=1/U,O*=U,G*=U,B*=U):(O=0,G=0,B=0),r[0]=S,r[1]=O,r[2]=P,r[3]=0,r[4]=w,r[5]=G,r[6]=F,r[7]=0,r[8]=R,r[9]=B,r[10]=K,r[11]=0,r[12]=-(S*V+w*C+R*M),r[13]=-(O*V+G*C+B*M),r[14]=-(P*V+F*C+K*M),r[15]=1,r)},h.str=function(r){return"mat4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+", "+r[9]+", "+r[10]+", "+r[11]+", "+r[12]+", "+r[13]+", "+r[14]+", "+r[15]+")"},h.frob=function(r){return Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)+Math.pow(r[3],2)+Math.pow(r[4],2)+Math.pow(r[5],2)+Math.pow(r[6],2)+Math.pow(r[7],2)+Math.pow(r[8],2)+Math.pow(r[9],2)+Math.pow(r[10],2)+Math.pow(r[11],2)+Math.pow(r[12],2)+Math.pow(r[13],2)+Math.pow(r[14],2)+Math.pow(r[15],2))},typeof L!="undefined"&&(L.mat4=h);var v={};v.create=function(){var r=new s(4);return r[0]=0,r[1]=0,r[2]=0,r[3]=1,r},v.rotationTo=function(){var r=i.create(),a=i.fromValues(1,0,0),g=i.fromValues(0,1,0);return function(E,S,w){var R=i.dot(S,w);return R<-.999999?(i.cross(r,a,S),i.length(r)<1e-6&&i.cross(r,g,S),i.normalize(r,r),v.setAxisAngle(E,r,Math.PI),E):R>.999999?(E[0]=0,E[1]=0,E[2]=0,E[3]=1,E):(i.cross(r,S,w),E[0]=r[0],E[1]=r[1],E[2]=r[2],E[3]=1+R,v.normalize(E,E))}}(),v.setAxes=function(){var r=m.create();return function(a,g,E,S){return r[0]=E[0],r[3]=E[1],r[6]=E[2],r[1]=S[0],r[4]=S[1],r[7]=S[2],r[2]=-g[0],r[5]=-g[1],r[8]=-g[2],v.normalize(a,v.fromMat3(a,r))}}(),v.clone=o.clone,v.fromValues=o.fromValues,v.copy=o.copy,v.set=o.set,v.identity=function(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=1,r},v.setAxisAngle=function(r,a,g){g=g*.5;var E=Math.sin(g);return r[0]=E*a[0],r[1]=E*a[1],r[2]=E*a[2],r[3]=Math.cos(g),r},v.add=o.add,v.multiply=function(r,a,g){var E=a[0],S=a[1],w=a[2],R=a[3],O=g[0],G=g[1],B=g[2],P=g[3];return r[0]=E*P+R*O+S*B-w*G,r[1]=S*P+R*G+w*O-E*B,r[2]=w*P+R*B+E*G-S*O,r[3]=R*P-E*O-S*G-w*B,r},v.mul=v.multiply,v.scale=o.scale,v.rotateX=function(r,a,g){g*=.5;var E=a[0],S=a[1],w=a[2],R=a[3],O=Math.sin(g),G=Math.cos(g);return r[0]=E*G+R*O,r[1]=S*G+w*O,r[2]=w*G-S*O,r[3]=R*G-E*O,r},v.rotateY=function(r,a,g){g*=.5;var E=a[0],S=a[1],w=a[2],R=a[3],O=Math.sin(g),G=Math.cos(g);return r[0]=E*G-w*O,r[1]=S*G+R*O,r[2]=w*G+E*O,r[3]=R*G-S*O,r},v.rotateZ=function(r,a,g){g*=.5;var E=a[0],S=a[1],w=a[2],R=a[3],O=Math.sin(g),G=Math.cos(g);return r[0]=E*G+S*O,r[1]=S*G-E*O,r[2]=w*G+R*O,r[3]=R*G-w*O,r},v.calculateW=function(r,a){var g=a[0],E=a[1],S=a[2];return r[0]=g,r[1]=E,r[2]=S,r[3]=Math.sqrt(Math.abs(1-g*g-E*E-S*S)),r},v.dot=o.dot,v.lerp=o.lerp,v.slerp=function(r,a,g,E){var S=a[0],w=a[1],R=a[2],O=a[3],G=g[0],B=g[1],P=g[2],F=g[3],K,U,V,C,M;return U=S*G+w*B+R*P+O*F,U<0&&(U=-U,G=-G,B=-B,P=-P,F=-F),1-U>1e-6?(K=Math.acos(U),V=Math.sin(K),C=Math.sin((1-E)*K)/V,M=Math.sin(E*K)/V):(C=1-E,M=E),r[0]=C*S+M*G,r[1]=C*w+M*B,r[2]=C*R+M*P,r[3]=C*O+M*F,r},v.invert=function(r,a){var g=a[0],E=a[1],S=a[2],w=a[3],R=g*g+E*E+S*S+w*w,O=R?1/R:0;return r[0]=-g*O,r[1]=-E*O,r[2]=-S*O,r[3]=w*O,r},v.conjugate=function(r,a){return r[0]=-a[0],r[1]=-a[1],r[2]=-a[2],r[3]=a[3],r},v.length=o.length,v.len=v.length,v.squaredLength=o.squaredLength,v.sqrLen=v.squaredLength,v.normalize=o.normalize,v.fromMat3=function(r,a){var g=a[0]+a[4]+a[8],E;if(g>0)E=Math.sqrt(g+1),r[3]=.5*E,E=.5/E,r[0]=(a[5]-a[7])*E,r[1]=(a[6]-a[2])*E,r[2]=(a[1]-a[3])*E;else{var S=0;a[4]>a[0]&&(S=1),a[8]>a[S*3+S]&&(S=2);var w=(S+1)%3,R=(S+2)%3;E=Math.sqrt(a[S*3+S]-a[w*3+w]-a[R*3+R]+1),r[S]=.5*E,E=.5/E,r[3]=(a[w*3+R]-a[R*3+w])*E,r[w]=(a[w*3+S]+a[S*3+w])*E,r[R]=(a[R*3+S]+a[S*3+R])*E}return r},v.str=function(r){return"quat("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"},typeof L!="undefined"&&(L.quat=v)}(y.exports)})(this)},function(te,X,D){"use strict";var W=D(24),y=D(46),L=D(5),b=D(6),s=D(7),T=D(17),c=D(28),u=D(13),f=D(0),i=D.n(f),o=D(29),d=D(53),p=D.n(d),m=D(54),h=D(106),v=D(107),r=D(113),a=D(114),g=D(3),E=D(68),S=D(37),w=D(69),R=D(116),O=D(70),G=D(71),B=D(72),P=D(36),F=D(30),K=D(23),U=D(4),V=D(117),C=D(50),M=D(118),z=D(119),$=D(120),q=D(9),se=D(67),ue=D(49),pe=D(15),Ee=D(52),De=D(121),Fe=D(126),Ge=D(63),xe=D(127),Ke=D(128),Ce=D(129),Se=D(130),ge=D(131),Re=D(132);i.a.util.extend(c.a.prototype,De.a),s.a.import(Fe.a),s.a.import(Ge.a),s.a.import(xe.a),s.a.import(Ke.a),s.a.import(Ce.a),s.a.import(Se.a),s.a.import(ge.a),s.a.import(Re.a);function ve(Te){return!Te||Te==="none"}function Le(Te){return Te instanceof HTMLCanvasElement||Te instanceof HTMLImageElement||Te instanceof Image}function Ue(Te){return Te.getZr&&Te.setOption}var me=o.a.prototype.addToScene,oe=o.a.prototype.removeFromScene;o.a.prototype.addToScene=function(Te){if(me.call(this,Te),this.__zr){var Oe=this.__zr;Te.traverse(function(Be){Be.__zr=Oe,Be.addAnimatorsToZr&&Be.addAnimatorsToZr(Oe)})}},o.a.prototype.removeFromScene=function(Te){oe.call(this,Te),Te.traverse(function(Oe){var Be=Oe.__zr;Oe.__zr=null,Be&&Oe.removeAnimatorsFromZr&&Oe.removeAnimatorsFromZr(Be)})},T.a.prototype.setTextureImage=function(Te,Oe,Be,Xe){if(this.shader){var lt=Be.getZr(),_t=this,tt;return _t.autoUpdateTextureStatus=!1,_t.disableTexture(Te),ve(Oe)||(tt=ie.loadTexture(Oe,Be,Xe,function(bt){_t.enableTexture(Te),lt&&lt.refresh()}),_t.set(Te,tt)),tt}};var ie={};ie.Renderer=y.a,ie.Node=c.a,ie.Mesh=W.a,ie.Shader=s.a,ie.Material=T.a,ie.Texture=b.a,ie.Texture2D=L.a,ie.Geometry=u.a,ie.SphereGeometry=E.a,ie.PlaneGeometry=S.a,ie.CubeGeometry=w.a,ie.AmbientLight=R.a,ie.DirectionalLight=O.a,ie.PointLight=G.a,ie.SpotLight=B.a,ie.PerspectiveCamera=P.a,ie.OrthographicCamera=F.a,ie.Vector2=K.a,ie.Vector3=U.a,ie.Vector4=V.a,ie.Quaternion=C.a,ie.Matrix2=M.a,ie.Matrix2d=z.a,ie.Matrix3=$.a,ie.Matrix4=q.a,ie.Plane=se.a,ie.Ray=ue.a,ie.BoundingBox=pe.a,ie.Frustum=Ee.a;var he=m.a.createBlank("rgba(255,255,255,0)").image;function ye(Te){return Math.pow(2,Math.round(Math.log(Te)/Math.LN2))}function ce(Te){if((Te.wrapS===b.a.REPEAT||Te.wrapT===b.a.REPEAT)&&Te.image){var Oe=ye(Te.width),Be=ye(Te.height);if(Oe!==Te.width||Be!==Te.height){var Xe=document.createElement("canvas");Xe.width=Oe,Xe.height=Be;var lt=Xe.getContext("2d");lt.drawImage(Te.image,0,0,Oe,Be),Te.image=Xe}}}ie.loadTexture=function(Te,Oe,Be,Xe){typeof Be=="function"&&(Xe=Be,Be={}),Be=Be||{};for(var lt=Object.keys(Be).sort(),_t="",tt=0;tt<lt.length;tt++)_t+=lt[tt]+"_"+Be[lt[tt]]+"_";var bt=Oe.__textureCache=Oe.__textureCache||new p.a(20);if(Ue(Te)){var Nt=Te.__textureid__,Bt=bt.get(_t+Nt);if(Bt)Bt.texture.surface.setECharts(Te),Xe&&Xe(Bt.texture);else{var ot=new h.a(Te);ot.onupdate=function(){Oe.getZr().refresh()},Bt={texture:ot.getTexture()};for(var tt=0;tt<lt.length;tt++)Bt.texture[lt[tt]]=Be[lt[tt]];Nt=Te.__textureid__||"__ecgl_ec__"+Bt.texture.__uid__,Te.__textureid__=Nt,bt.put(_t+Nt,Bt),Xe&&Xe(Bt.texture)}return Bt.texture}else if(Le(Te)){var Nt=Te.__textureid__,Bt=bt.get(_t+Nt);if(!Bt){Bt={texture:new ie.Texture2D({image:Te})};for(var tt=0;tt<lt.length;tt++)Bt.texture[lt[tt]]=Be[lt[tt]];Nt=Te.__textureid__||"__ecgl_image__"+Bt.texture.__uid__,Te.__textureid__=Nt,bt.put(_t+Nt,Bt),ce(Bt.texture),Xe&&Xe(Bt.texture)}return Bt.texture}else{var Bt=bt.get(_t+Te);if(Bt)Bt.callbacks?Bt.callbacks.push(Xe):Xe&&Xe(Bt.texture);else if(Te.match(/.hdr$|^data:application\/octet-stream/)){Bt={callbacks:[Xe]};var It=m.a.loadTexture(Te,{exposure:Be.exposure,fileType:"hdr"},function(){It.dirty(),Bt.callbacks.forEach(function(er){er&&er(It)}),Bt.callbacks=null});Bt.texture=It,bt.put(_t+Te,Bt)}else{for(var It=new ie.Texture2D({image:new Image}),tt=0;tt<lt.length;tt++)It[lt[tt]]=Be[lt[tt]];Bt={texture:It,callbacks:[Xe]};var cr=It.image;cr.onload=function(){It.image=cr,ce(It),It.dirty(),Bt.callbacks.forEach(function(Wr){Wr&&Wr(It)}),Bt.callbacks=null},cr.src=Te,It.image=he,bt.put(_t+Te,Bt)}return Bt.texture}},ie.createAmbientCubemap=function(Te,Oe,Be,Xe){Te=Te||{};var lt=Te.texture,_t=g.a.firstNotNull(Te.exposure,1),tt=new v.a({intensity:g.a.firstNotNull(Te.specularIntensity,1)}),bt=new r.a({intensity:g.a.firstNotNull(Te.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 tt.cubemap=ie.loadTexture(lt,Be,{exposure:_t},function(){tt.cubemap.flipY=!1,tt.prefilter(Oe,32),bt.coefficients=a.a.projectEnvironmentMap(Oe,tt.cubemap,{lod:1}),Xe&&Xe()}),{specular:tt,diffuse:bt}},ie.createBlankTexture=m.a.createBlank,ie.isImage=Le,ie.additiveBlend=function(Te){Te.blendEquation(Te.FUNC_ADD),Te.blendFunc(Te.SRC_ALPHA,Te.ONE)},ie.parseColor=function(Te,Oe){return Te instanceof Array?(Oe||(Oe=[]),Oe[0]=Te[0],Oe[1]=Te[1],Oe[2]=Te[2],Te.length>3?Oe[3]=Te[3]:Oe[3]=1,Oe):(Oe=i.a.color.parse(Te||"#000",Oe)||[0,0,0,0],Oe[0]/=255,Oe[1]/=255,Oe[2]/=255,Oe)},ie.directionFromAlphaBeta=function(Te,Oe){var Be=Te/180*Math.PI+Math.PI/2,Xe=-Oe/180*Math.PI+Math.PI/2,lt=[],_t=Math.sin(Be);return lt[0]=_t*Math.cos(Xe),lt[1]=-Math.cos(Be),lt[2]=_t*Math.sin(Xe),lt},ie.getShadowResolution=function(Te){var Oe=1024;switch(Te){case"low":Oe=512;break;case"medium":break;case"high":Oe=2048;break;case"ultra":Oe=4096;break}return Oe},ie.COMMON_SHADERS=["lambert","color","realistic","hatching"],ie.createShader=function(Te){var Oe=s.a.source(Te+".vertex"),Be=s.a.source(Te+".fragment");Oe||console.error("Vertex shader of '%s' not exits",Te),Be||console.error("Fragment shader of '%s' not exits",Te);var Xe=new s.a(Oe,Be);return Xe.name=Te,Xe},ie.createMaterial=function(Te,Oe){Oe instanceof Array||(Oe=[Oe]);var Be=ie.createShader(Te),Xe=new T.a({shader:Be});return Oe.forEach(function(lt){typeof lt=="string"&&Xe.define(lt)}),Xe},ie.setMaterialFromModel=function(Te,Oe,Be,Xe){Oe.autoUpdateTextureStatus=!1;var lt=Be.getModel(Te+"Material"),_t=lt.get("detailTexture"),tt=g.a.firstNotNull(lt.get("textureTiling"),1),bt=g.a.firstNotNull(lt.get("textureOffset"),0);typeof tt=="number"&&(tt=[tt,tt]),typeof bt=="number"&&(bt=[bt,bt]);var Nt=tt[0]>1||tt[1]>1?ie.Texture.REPEAT:ie.Texture.CLAMP_TO_EDGE,Bt={anisotropic:8,wrapS:Nt,wrapT:Nt};if(Te==="realistic"){var ot=lt.get("roughness"),It=lt.get("metalness");It!=null?isNaN(It)&&(Oe.setTextureImage("metalnessMap",It,Xe,Bt),It=g.a.firstNotNull(lt.get("metalnessAdjust"),.5)):It=0,ot!=null?isNaN(ot)&&(Oe.setTextureImage("roughnessMap",ot,Xe,Bt),ot=g.a.firstNotNull(lt.get("roughnessAdjust"),.5)):ot=.5;var cr=lt.get("normalTexture");Oe.setTextureImage("detailMap",_t,Xe,Bt),Oe.setTextureImage("normalMap",cr,Xe,Bt),Oe.set({roughness:ot,metalness:It,detailUvRepeat:tt,detailUvOffset:bt})}else if(Te==="lambert")Oe.setTextureImage("detailMap",_t,Xe,Bt),Oe.set({detailUvRepeat:tt,detailUvOffset:bt});else if(Te==="color")Oe.setTextureImage("detailMap",_t,Xe,Bt),Oe.set({detailUvRepeat:tt,detailUvOffset:bt});else if(Te==="hatching"){var wr=lt.get("hatchingTextures")||[];wr.length<6&&console.error("Invalid hatchingTextures.");for(var er=0;er<6;er++)Oe.setTextureImage("hatch"+(er+1),wr[er],Xe,{anisotropic:8,wrapS:ie.Texture.REPEAT,wrapT:ie.Texture.REPEAT});Oe.set({detailUvRepeat:tt,detailUvOffset:bt})}},ie.updateVertexAnimation=function(Te,Oe,Be,Xe){var lt=Xe.get("animation"),_t=Xe.get("animationDurationUpdate"),tt=Xe.get("animationEasingUpdate"),bt=Be.shadowDepthMaterial;if(lt&&Oe&&_t>0&&Oe.geometry.vertexCount===Be.geometry.vertexCount){Be.material.define("vertex","VERTEX_ANIMATION"),Be.ignorePreZ=!0,bt&&bt.define("vertex","VERTEX_ANIMATION");for(var Nt=0;Nt<Te.length;Nt++)Be.geometry.attributes[Te[Nt][0]].value=Oe.geometry.attributes[Te[Nt][1]].value;Be.geometry.dirty(),Be.__percent=0,Be.material.set("percent",0),Be.stopAnimation(),Be.animate().when(_t,{__percent:1}).during(function(){Be.material.set("percent",Be.__percent),bt&&bt.set("percent",Be.__percent)}).done(function(){Be.ignorePreZ=!1,Be.material.undefine("vertex","VERTEX_ANIMATION"),bt&&bt.undefine("vertex","VERTEX_ANIMATION")}).start(tt)}else Be.material.undefine("vertex","VERTEX_ANIMATION"),bt&&bt.undefine("vertex","VERTEX_ANIMATION")},X.a=ie},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L={firstNotNull:function(){for(var b=0,s=arguments.length;b<s;b++)if(arguments[b]!=null)return arguments[b]},queryDataIndex:function(b,s){if(s.dataIndexInside!=null)return s.dataIndexInside;if(s.dataIndex!=null)return y.a.util.isArray(s.dataIndex)?y.a.util.map(s.dataIndex,function(T){return b.indexOfRawIndex(T)}):b.indexOfRawIndex(s.dataIndex);if(s.name!=null)return y.a.util.isArray(s.name)?y.a.util.map(s.name,function(T){return b.indexOfName(T)}):b.indexOfName(s.name)}};X.a=L},function(te,X,D){"use strict";var W=D(1),y=D.n(W),L=y.a.vec3,b=function(o,d,p){o=o||0,d=d||0,p=p||0,this.array=L.fromValues(o,d,p),this._dirty=!0};b.prototype={constructor:b,add:function(o){return L.add(this.array,this.array,o.array),this._dirty=!0,this},set:function(o,d,p){return this.array[0]=o,this.array[1]=d,this.array[2]=p,this._dirty=!0,this},setArray:function(o){return this.array[0]=o[0],this.array[1]=o[1],this.array[2]=o[2],this._dirty=!0,this},clone:function(){return new b(this.x,this.y,this.z)},copy:function(o){return L.copy(this.array,o.array),this._dirty=!0,this},cross:function(o,d){return L.cross(this.array,o.array,d.array),this._dirty=!0,this},dist:function(o){return L.dist(this.array,o.array)},distance:function(o){return L.distance(this.array,o.array)},div:function(o){return L.div(this.array,this.array,o.array),this._dirty=!0,this},divide:function(o){return L.divide(this.array,this.array,o.array),this._dirty=!0,this},dot:function(o){return L.dot(this.array,o.array)},len:function(){return L.len(this.array)},length:function(){return L.length(this.array)},lerp:function(o,d,p){return L.lerp(this.array,o.array,d.array,p),this._dirty=!0,this},min:function(o){return L.min(this.array,this.array,o.array),this._dirty=!0,this},max:function(o){return L.max(this.array,this.array,o.array),this._dirty=!0,this},mul:function(o){return L.mul(this.array,this.array,o.array),this._dirty=!0,this},multiply:function(o){return L.multiply(this.array,this.array,o.array),this._dirty=!0,this},negate:function(){return L.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return L.normalize(this.array,this.array),this._dirty=!0,this},random:function(o){return L.random(this.array,o),this._dirty=!0,this},scale:function(o){return L.scale(this.array,this.array,o),this._dirty=!0,this},scaleAndAdd:function(o,d){return L.scaleAndAdd(this.array,this.array,o.array,d),this._dirty=!0,this},sqrDist:function(o){return L.sqrDist(this.array,o.array)},squaredDistance:function(o){return L.squaredDistance(this.array,o.array)},sqrLen:function(){return L.sqrLen(this.array)},squaredLength:function(){return L.squaredLength(this.array)},sub:function(o){return L.sub(this.array,this.array,o.array),this._dirty=!0,this},subtract:function(o){return L.subtract(this.array,this.array,o.array),this._dirty=!0,this},transformMat3:function(o){return L.transformMat3(this.array,this.array,o.array),this._dirty=!0,this},transformMat4:function(o){return L.transformMat4(this.array,this.array,o.array),this._dirty=!0,this},transformQuat:function(o){return L.transformQuat(this.array,this.array,o.array),this._dirty=!0,this},applyProjection:function(o){var d=this.array;if(o=o.array,o[15]===0){var p=-1/d[2];d[0]=o[0]*d[0]*p,d[1]=o[5]*d[1]*p,d[2]=(o[10]*d[2]+o[14])*p}else d[0]=o[0]*d[0]+o[12],d[1]=o[5]*d[1]+o[13],d[2]=o[10]*d[2]+o[14];return this._dirty=!0,this},eulerFromQuat:function(o,d){b.eulerFromQuat(this,o,d)},eulerFromMat3:function(o,d){b.eulerFromMat3(this,o,d)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var s=Object.defineProperty;if(s){var T=b.prototype;s(T,"x",{get:function(){return this.array[0]},set:function(o){this.array[0]=o,this._dirty=!0}}),s(T,"y",{get:function(){return this.array[1]},set:function(o){this.array[1]=o,this._dirty=!0}}),s(T,"z",{get:function(){return this.array[2]},set:function(o){this.array[2]=o,this._dirty=!0}})}b.add=function(o,d,p){return L.add(o.array,d.array,p.array),o._dirty=!0,o},b.set=function(o,d,p,m){L.set(o.array,d,p,m),o._dirty=!0},b.copy=function(o,d){return L.copy(o.array,d.array),o._dirty=!0,o},b.cross=function(o,d,p){return L.cross(o.array,d.array,p.array),o._dirty=!0,o},b.dist=function(o,d){return L.distance(o.array,d.array)},b.distance=b.dist,b.div=function(o,d,p){return L.divide(o.array,d.array,p.array),o._dirty=!0,o},b.divide=b.div,b.dot=function(o,d){return L.dot(o.array,d.array)},b.len=function(o){return L.length(o.array)},b.lerp=function(o,d,p,m){return L.lerp(o.array,d.array,p.array,m),o._dirty=!0,o},b.min=function(o,d,p){return L.min(o.array,d.array,p.array),o._dirty=!0,o},b.max=function(o,d,p){return L.max(o.array,d.array,p.array),o._dirty=!0,o},b.mul=function(o,d,p){return L.multiply(o.array,d.array,p.array),o._dirty=!0,o},b.multiply=b.mul,b.negate=function(o,d){return L.negate(o.array,d.array),o._dirty=!0,o},b.normalize=function(o,d){return L.normalize(o.array,d.array),o._dirty=!0,o},b.random=function(o,d){return L.random(o.array,d),o._dirty=!0,o},b.scale=function(o,d,p){return L.scale(o.array,d.array,p),o._dirty=!0,o},b.scaleAndAdd=function(o,d,p,m){return L.scaleAndAdd(o.array,d.array,p.array,m),o._dirty=!0,o},b.sqrDist=function(o,d){return L.sqrDist(o.array,d.array)},b.squaredDistance=b.sqrDist,b.sqrLen=function(o){return L.sqrLen(o.array)},b.squaredLength=b.sqrLen,b.sub=function(o,d,p){return L.subtract(o.array,d.array,p.array),o._dirty=!0,o},b.subtract=b.sub,b.transformMat3=function(o,d,p){return L.transformMat3(o.array,d.array,p.array),o._dirty=!0,o},b.transformMat4=function(o,d,p){return L.transformMat4(o.array,d.array,p.array),o._dirty=!0,o},b.transformQuat=function(o,d,p){return L.transformQuat(o.array,d.array,p.array),o._dirty=!0,o};function c(o,d,p){return o<d?d:o>p?p:o}var u=Math.atan2,f=Math.asin,i=Math.abs;b.eulerFromQuat=function(o,d,R){o._dirty=!0,d=d.array;var m=o.array,h=d[0],v=d[1],r=d[2],a=d[3],g=h*h,E=v*v,S=r*r,w=a*a,R=(R||"XYZ").toUpperCase();switch(R){case"XYZ":m[0]=u(2*(h*a-v*r),w-g-E+S),m[1]=f(c(2*(h*r+v*a),-1,1)),m[2]=u(2*(r*a-h*v),w+g-E-S);break;case"YXZ":m[0]=f(c(2*(h*a-v*r),-1,1)),m[1]=u(2*(h*r+v*a),w-g-E+S),m[2]=u(2*(h*v+r*a),w-g+E-S);break;case"ZXY":m[0]=f(c(2*(h*a+v*r),-1,1)),m[1]=u(2*(v*a-r*h),w-g-E+S),m[2]=u(2*(r*a-h*v),w-g+E-S);break;case"ZYX":m[0]=u(2*(h*a+r*v),w-g-E+S),m[1]=f(c(2*(v*a-h*r),-1,1)),m[2]=u(2*(h*v+r*a),w+g-E-S);break;case"YZX":m[0]=u(2*(h*a-r*v),w-g+E-S),m[1]=u(2*(v*a-h*r),w+g-E-S),m[2]=f(c(2*(h*v+r*a),-1,1));break;case"XZY":m[0]=u(2*(h*a+v*r),w-g+E-S),m[1]=u(2*(h*r+v*a),w+g-E-S),m[2]=f(c(2*(r*a-h*v),-1,1));break;default:console.warn("Unkown order: "+R)}return o},b.eulerFromMat3=function(o,d,G){var m=d.array,h=m[0],v=m[3],r=m[6],a=m[1],g=m[4],E=m[7],S=m[2],w=m[5],R=m[8],O=o.array,G=(G||"XYZ").toUpperCase();switch(G){case"XYZ":O[1]=f(c(r,-1,1)),i(r)<.99999?(O[0]=u(-E,R),O[2]=u(-v,h)):(O[0]=u(w,g),O[2]=0);break;case"YXZ":O[0]=f(-c(E,-1,1)),i(E)<.99999?(O[1]=u(r,R),O[2]=u(a,g)):(O[1]=u(-S,h),O[2]=0);break;case"ZXY":O[0]=f(c(w,-1,1)),i(w)<.99999?(O[1]=u(-S,R),O[2]=u(-v,g)):(O[1]=0,O[2]=u(a,h));break;case"ZYX":O[1]=f(-c(S,-1,1)),i(S)<.99999?(O[0]=u(w,R),O[2]=u(a,h)):(O[0]=0,O[2]=u(-v,g));break;case"YZX":O[2]=f(c(a,-1,1)),i(a)<.99999?(O[0]=u(-E,g),O[1]=u(-S,h)):(O[0]=0,O[1]=u(r,R));break;case"XZY":O[2]=f(-c(v,-1,1)),i(v)<.99999?(O[0]=u(w,g),O[1]=u(r,h)):(O[0]=u(-E,R),O[1]=0);break;default:console.warn("Unkown order: "+G)}return o._dirty=!0,o},b.POSITIVE_X=new b(1,0,0),b.NEGATIVE_X=new b(-1,0,0),b.POSITIVE_Y=new b(0,1,0),b.NEGATIVE_Y=new b(0,-1,0),b.POSITIVE_Z=new b(0,0,1),b.NEGATIVE_Z=new b(0,0,-1),b.UP=new b(0,1,0),b.ZERO=new b(0,0,0),X.a=b},function(te,X,D){"use strict";var W=D(6),y=D(11),L=D(66),b=L.a.isPowerOfTwo,s=W.a.extend(function(){return{image:null,pixels:null,mipmaps:[]}},{update:function(T){var c=T.gl;c.bindTexture(c.TEXTURE_2D,this._cache.get("webgl_texture")),this.updateCommon(T);var u=this.format,f=this.type;c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_S,this.getAvailableWrapS()),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_T,this.getAvailableWrapT()),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var i=T.getGLExtension("EXT_texture_filter_anisotropic");if(i&&this.anisotropic>1&&c.texParameterf(c.TEXTURE_2D,i.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),f===36193){var o=T.getGLExtension("OES_texture_half_float");o||(f=y.a.FLOAT)}if(this.mipmaps.length)for(var d=this.width,p=this.height,m=0;m<this.mipmaps.length;m++){var h=this.mipmaps[m];this._updateTextureData(c,h,m,d,p,u,f),d/=2,p/=2}else this._updateTextureData(c,this,0,this.width,this.height,u,f),this.useMipmap&&!this.NPOT&&c.generateMipmap(c.TEXTURE_2D);c.bindTexture(c.TEXTURE_2D,null)},_updateTextureData:function(T,c,u,f,i,o,d){c.image?T.texImage2D(T.TEXTURE_2D,u,o,o,d,c.image):o<=W.a.COMPRESSED_RGBA_S3TC_DXT5_EXT&&o>=W.a.COMPRESSED_RGB_S3TC_DXT1_EXT?T.compressedTexImage2D(T.TEXTURE_2D,u,o,f,i,0,c.pixels):T.texImage2D(T.TEXTURE_2D,u,o,f,i,0,o,d,c.pixels)},generateMipmap:function(T){var c=T.gl;this.useMipmap&&!this.NPOT&&(c.bindTexture(c.TEXTURE_2D,this._cache.get("webgl_texture")),c.generateMipmap(c.TEXTURE_2D))},isPowerOfTwo:function(){var T,c;return this.image?(T=this.image.width,c=this.image.height):(T=this.width,c=this.height),b(T)&&b(c)},isRenderable:function(){return this.image?this.image.nodeName==="CANVAS"||this.image.nodeName==="VIDEO"||this.image.complete:!!(this.width&&this.height)},bind:function(T){T.gl.bindTexture(T.gl.TEXTURE_2D,this.getWebGLTexture(T))},unbind:function(T){T.gl.bindTexture(T.gl.TEXTURE_2D,null)},load:function(T,c){var u=new Image;c&&(u.crossOrigin=c);var f=this;return u.onload=function(){f.dirty(),f.trigger("success",f),u.onload=null},u.onerror=function(){f.trigger("error",f),u.onerror=null},u.src=T,this.image=u,this}});Object.defineProperty(s.prototype,"width",{get:function(){return this.image?this.image.width:this._width},set:function(T){this.image?console.warn("Texture from image can't set width"):(this._width!==T&&this.dirty(),this._width=T)}}),Object.defineProperty(s.prototype,"height",{get:function(){return this.image?this.image.height:this._height},set:function(T){this.image?console.warn("Texture from image can't set height"):(this._height!==T&&this.dirty(),this._height=T)}}),X.a=s},function(te,X,D){"use strict";var W=D(8),y=D(11),L=D(48),b=W.a.extend({width:512,height:512,type:y.a.UNSIGNED_BYTE,format:y.a.RGBA,wrapS:y.a.REPEAT,wrapT:y.a.REPEAT,minFilter:y.a.LINEAR_MIPMAP_LINEAR,magFilter:y.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,sRGB:!0,unpackAlignment:4,premultiplyAlpha:!1,dynamic:!1,NPOT:!1},function(){this._cache=new L.a},{getWebGLTexture:function(s){var T=s.gl,c=this._cache;return c.use(s.__uid__),c.miss("webgl_texture")&&c.put("webgl_texture",T.createTexture()),this.dynamic?this.update(s):c.isDirty()&&(this.update(s),c.fresh()),c.get("webgl_texture")},bind:function(){},unbind:function(){},dirty:function(){this._cache&&this._cache.dirtyAll()},update:function(s){},updateCommon:function(s){var T=s.gl;T.pixelStorei(T.UNPACK_FLIP_Y_WEBGL,this.flipY),T.pixelStorei(T.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),T.pixelStorei(T.UNPACK_ALIGNMENT,this.unpackAlignment),this.format===y.a.DEPTH_COMPONENT&&(this.useMipmap=!1);var c=s.getGLExtension("EXT_sRGB");this.format===b.SRGB&&!c&&(this.format=b.RGB),this.format===b.SRGB_ALPHA&&!c&&(this.format=b.RGBA),this.NPOT=!this.isPowerOfTwo()},getAvailableWrapS:function(){return this.NPOT?y.a.CLAMP_TO_EDGE:this.wrapS},getAvailableWrapT:function(){return this.NPOT?y.a.CLAMP_TO_EDGE:this.wrapT},getAvailableMinFilter:function(){var s=this.minFilter;return this.NPOT||!this.useMipmap?s==y.a.NEAREST_MIPMAP_NEAREST||s==y.a.NEAREST_MIPMAP_LINEAR?y.a.NEAREST:s==y.a.LINEAR_MIPMAP_LINEAR||s==y.a.LINEAR_MIPMAP_NEAREST?y.a.LINEAR:s:s},getAvailableMagFilter:function(){return this.magFilter},nextHighestPowerOfTwo:function(s){--s;for(var T=1;T<32;T<<=1)s=s|s>>T;return s+1},dispose:function(s){var T=this._cache;T.use(s.__uid__);var c=T.get("webgl_texture");c&&s.gl.deleteTexture(c),T.deleteContext(s.__uid__)},isRenderable:function(){},isPowerOfTwo:function(){}});Object.defineProperty(b.prototype,"width",{get:function(){return this._width},set:function(s){this._width=s}}),Object.defineProperty(b.prototype,"height",{get:function(){return this._height},set:function(s){this._height=s}}),b.BYTE=y.a.BYTE,b.UNSIGNED_BYTE=y.a.UNSIGNED_BYTE,b.SHORT=y.a.SHORT,b.UNSIGNED_SHORT=y.a.UNSIGNED_SHORT,b.INT=y.a.INT,b.UNSIGNED_INT=y.a.UNSIGNED_INT,b.FLOAT=y.a.FLOAT,b.HALF_FLOAT=36193,b.UNSIGNED_INT_24_8_WEBGL=34042,b.DEPTH_COMPONENT=y.a.DEPTH_COMPONENT,b.DEPTH_STENCIL=y.a.DEPTH_STENCIL,b.ALPHA=y.a.ALPHA,b.RGB=y.a.RGB,b.RGBA=y.a.RGBA,b.LUMINANCE=y.a.LUMINANCE,b.LUMINANCE_ALPHA=y.a.LUMINANCE_ALPHA,b.SRGB=35904,b.SRGB_ALPHA=35906,b.COMPRESSED_RGB_S3TC_DXT1_EXT=33776,b.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777,b.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778,b.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779,b.NEAREST=y.a.NEAREST,b.LINEAR=y.a.LINEAR,b.NEAREST_MIPMAP_NEAREST=y.a.NEAREST_MIPMAP_NEAREST,b.LINEAR_MIPMAP_NEAREST=y.a.LINEAR_MIPMAP_NEAREST,b.NEAREST_MIPMAP_LINEAR=y.a.NEAREST_MIPMAP_LINEAR,b.LINEAR_MIPMAP_LINEAR=y.a.LINEAR_MIPMAP_LINEAR,b.REPEAT=y.a.REPEAT,b.CLAMP_TO_EDGE=y.a.CLAMP_TO_EDGE,b.MIRRORED_REPEAT=y.a.MIRRORED_REPEAT,X.a=b},function(te,X,D){"use strict";var W=D(21),y=D(18),L=D(1),b=D.n(L),s=b.a.mat2,T=b.a.mat3,c=b.a.mat4,u=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\w\,]+)?(\[.*?\])?\s*(:\s*([\S\s]+?))?;/g,f=/attribute\s+(float|int|vec2|vec3|vec4)\s+(\w*)\s*(:\s*(\w+))?;/g,i=/#define\s+(\w+)?(\s+[\w-.]+)?\s*;?\s*\n/g,o={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"},d={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 s.create()},mat3:function(){return T.create()},mat4:function(){return c.create()},array:function(){return[]}},p=["POSITION","NORMAL","BINORMAL","TANGENT","TEXCOORD","TEXCOORD_0","TEXCOORD_1","COLOR","JOINT","WEIGHT"],m=["SKIN_MATRIX","VIEWPORT_SIZE","VIEWPORT","DEVICEPIXELRATIO","WINDOW_SIZE","NEAR","FAR","TIME"],h=["WORLD","VIEW","PROJECTION","WORLDVIEW","VIEWPROJECTION","WORLDVIEWPROJECTION","WORLDINVERSE","VIEWINVERSE","PROJECTIONINVERSE","WORLDVIEWINVERSE","VIEWPROJECTIONINVERSE","WORLDVIEWPROJECTIONINVERSE","WORLDTRANSPOSE","VIEWTRANSPOSE","PROJECTIONTRANSPOSE","WORLDVIEWTRANSPOSE","VIEWPROJECTIONTRANSPOSE","WORLDVIEWPROJECTIONTRANSPOSE","WORLDINVERSETRANSPOSE","VIEWINVERSETRANSPOSE","PROJECTIONINVERSETRANSPOSE","WORLDVIEWINVERSETRANSPOSE","VIEWPROJECTIONINVERSETRANSPOSE","WORLDVIEWPROJECTIONINVERSETRANSPOSE"],v={},r={};function a(w,R){var O="vertex:"+w+"fragment:"+R;if(v[O])return v[O];var G=W.a.genGUID();return v[O]=G,r[G]={vertex:w,fragment:R},G}function g(w,R){typeof w=="object"&&(R=w.fragment,w=w.vertex),this._shaderID=a(w,R),this._vertexCode=g.parseImport(w),this._fragmentCode=g.parseImport(R),this.attributeSemantics={},this.matrixSemantics={},this.uniformSemantics={},this.matrixSemanticKeys=[],this.uniformTemplates={},this.attributes={},this.textures={},this.vertexDefines={},this.fragmentDefines={},this._parseAttributes(),this._parseUniforms(),this._parseDefines()}g.prototype={constructor:g,createUniforms:function(){var w={};for(var R in this.uniformTemplates){var O=this.uniformTemplates[R];w[R]={type:O.type,value:O.value()}}return w},_parseImport:function(){this._vertexCode=g.parseImport(this.vertex),this._fragmentCode=g.parseImport(this.fragment)},_parseUniforms:function(){var w={},R=this,O="vertex";this._uniformList=[],this._vertexCode=this._vertexCode.replace(u,G),O="fragment",this._fragmentCode=this._fragmentCode.replace(u,G),R.matrixSemanticKeys=Object.keys(this.matrixSemantics);function G(B,P,F,K,U,V){if(P&&F){var C=o[P],M=!0,z;if(C){if(R._uniformList.push(F),(P==="sampler2D"||P==="samplerCube")&&(R.textures[F]={shaderType:O,type:P}),K&&(C+="v"),V)if(p.indexOf(V)>=0)R.attributeSemantics[V]={symbol:F,type:C},M=!1;else if(h.indexOf(V)>=0){var $=!1,q=V;V.match(/TRANSPOSE$/)&&($=!0,q=V.slice(0,-9)),R.matrixSemantics[V]={symbol:F,type:C,isTranspose:$,semanticNoTranspose:q},M=!1}else if(m.indexOf(V)>=0)R.uniformSemantics[V]={symbol:F,type:C},M=!1;else if(V==="unconfigurable")M=!1;else if(z=R._parseDefaultValue(P,V),z)V="";else throw new Error('Unkown semantic "'+V+'"');M&&(w[F]={type:C,value:K?d.array:z||d[P],semantic:V||null})}return["uniform",P,F,K].join(" ")+`;
`}}this.uniformTemplates=w},_parseDefaultValue:function(w,R){var O=/\[\s*(.*)\s*\]/;if(w==="vec2"||w==="vec3"||w==="vec4"){var G=O.exec(R)[1];if(G){var B=G.split(/\s*,\s*/);return function(){return new y.a.Float32Array(B)}}else return}else{if(w==="bool")return function(){return R.toLowerCase()==="true"};if(w==="float")return function(){return parseFloat(R)};if(w==="int")return function(){return parseInt(R)}}},_parseAttributes:function(){var w={},R=this;this._vertexCode=this._vertexCode.replace(f,O);function O(G,B,P,F,K){if(B&&P){var U=1;switch(B){case"vec4":U=4;break;case"vec3":U=3;break;case"vec2":U=2;break;case"float":U=1;break}if(w[P]={type:"float",size:U,semantic:K||null},K){if(p.indexOf(K)<0)throw new Error('Unkown semantic "'+K+'"');R.attributeSemantics[K]={symbol:P,type:B}}}return["attribute",B,P].join(" ")+`;
`}this.attributes=w},_parseDefines:function(){var w=this,R="vertex";this._vertexCode=this._vertexCode.replace(i,O),R="fragment",this._fragmentCode=this._fragmentCode.replace(i,O);function O(G,B,P){var F=R==="vertex"?w.vertexDefines:w.fragmentDefines;return F[B]||(P=="false"?F[B]=!1:P=="true"?F[B]=!0:F[B]=P?isNaN(parseFloat(P))?P.trim():parseFloat(P):null),""}},clone:function(){var w=r[this._shaderID],R=new g(w.vertex,w.fragment);return R}},Object.defineProperty&&(Object.defineProperty(g.prototype,"shaderID",{get:function(){return this._shaderID}}),Object.defineProperty(g.prototype,"vertex",{get:function(){return this._vertexCode}}),Object.defineProperty(g.prototype,"fragment",{get:function(){return this._fragmentCode}}),Object.defineProperty(g.prototype,"uniforms",{get:function(){return this._uniformList}}));var E=/(@import)\s*([0-9a-zA-Z_\-\.]*)/g;g.parseImport=function(w){return w=w.replace(E,function(B,O,G){var B=g.source(G);return B?g.parseImport(B):(console.error('Shader chunk "'+G+'" not existed in library'),"")}),w};var S=/(@export)\s*([0-9a-zA-Z_\-\.]*)\s*\n([\s\S]*?)@end/g;g.import=function(w){w.replace(S,function(R,O,G,P){var P=P.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+\x24)/g,"");if(P){for(var F=G.split("."),K=g.codes,U=0,V;U<F.length-1;)V=F[U++],K[V]||(K[V]={}),K=K[V];V=F[U],K[V]=P}return P})},g.codes={},g.source=function(w){for(var R=w.split("."),O=g.codes,G=0;O&&G<R.length;){var B=R[G++];O=O[B]}return typeof O!="string"?(console.error('Shader "'+w+'" not existed in library'),""):O},X.a=g},function(te,X,D){"use strict";var W=D(91),y=D(47),L=D(21),b=function(){this.__uid__=L.a.genGUID()};b.__initializers__=[function(s){L.a.extend(this,s)}],L.a.extend(b,W.a),L.a.extend(b.prototype,y.a),X.a=b},function(te,X,D){"use strict";var W=D(1),y=D.n(W),L=D(4),b=y.a.mat4,s=y.a.vec3,T=y.a.mat3,c=y.a.quat,u=function(){this._axisX=new L.a,this._axisY=new L.a,this._axisZ=new L.a,this.array=b.create(),this._dirty=!0};u.prototype={constructor:u,setArray:function(o){for(var d=0;d<this.array.length;d++)this.array[d]=o[d];return this._dirty=!0,this},adjoint:function(){return b.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new u().copy(this)},copy:function(o){return b.copy(this.array,o.array),this._dirty=!0,this},determinant:function(){return b.determinant(this.array)},fromQuat:function(o){return b.fromQuat(this.array,o.array),this._dirty=!0,this},fromRotationTranslation:function(o,d){return b.fromRotationTranslation(this.array,o.array,d.array),this._dirty=!0,this},fromMat2d:function(o){return u.fromMat2d(this,o),this},frustum:function(o,d,p,m,h,v){return b.frustum(this.array,o,d,p,m,h,v),this._dirty=!0,this},identity:function(){return b.identity(this.array),this._dirty=!0,this},invert:function(){return b.invert(this.array,this.array),this._dirty=!0,this},lookAt:function(o,d,p){return b.lookAt(this.array,o.array,d.array,p.array),this._dirty=!0,this},mul:function(o){return b.mul(this.array,this.array,o.array),this._dirty=!0,this},mulLeft:function(o){return b.mul(this.array,o.array,this.array),this._dirty=!0,this},multiply:function(o){return b.multiply(this.array,this.array,o.array),this._dirty=!0,this},multiplyLeft:function(o){return b.multiply(this.array,o.array,this.array),this._dirty=!0,this},ortho:function(o,d,p,m,h,v){return b.ortho(this.array,o,d,p,m,h,v),this._dirty=!0,this},perspective:function(o,d,p,m){return b.perspective(this.array,o,d,p,m),this._dirty=!0,this},rotate:function(o,d){return b.rotate(this.array,this.array,o,d.array),this._dirty=!0,this},rotateX:function(o){return b.rotateX(this.array,this.array,o),this._dirty=!0,this},rotateY:function(o){return b.rotateY(this.array,this.array,o),this._dirty=!0,this},rotateZ:function(o){return b.rotateZ(this.array,this.array,o),this._dirty=!0,this},scale:function(o){return b.scale(this.array,this.array,o.array),this._dirty=!0,this},translate:function(o){return b.translate(this.array,this.array,o.array),this._dirty=!0,this},transpose:function(){return b.transpose(this.array,this.array),this._dirty=!0,this},decomposeMatrix:function(){var o=s.create(),d=s.create(),p=s.create(),m=T.create();return function(h,v,r){var a=this.array;s.set(o,a[0],a[1],a[2]),s.set(d,a[4],a[5],a[6]),s.set(p,a[8],a[9],a[10]);var g=s.length(o),E=s.length(d),S=s.length(p),w=this.determinant();w<0&&(g=-g),h&&h.set(g,E,S),r.set(a[12],a[13],a[14]),T.fromMat4(m,a),m[0]/=g,m[1]/=g,m[2]/=g,m[3]/=E,m[4]/=E,m[5]/=E,m[6]/=S,m[7]/=S,m[8]/=S,c.fromMat3(v.array,m),c.normalize(v.array,v.array),v._dirty=!0,r._dirty=!0}}(),toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var f=Object.defineProperty;if(f){var i=u.prototype;f(i,"z",{get:function(){var o=this.array;return this._axisZ.set(o[8],o[9],o[10]),this._axisZ},set:function(o){var d=this.array;o=o.array,d[8]=o[0],d[9]=o[1],d[10]=o[2],this._dirty=!0}}),f(i,"y",{get:function(){var o=this.array;return this._axisY.set(o[4],o[5],o[6]),this._axisY},set:function(o){var d=this.array;o=o.array,d[4]=o[0],d[5]=o[1],d[6]=o[2],this._dirty=!0}}),f(i,"x",{get:function(){var o=this.array;return this._axisX.set(o[0],o[1],o[2]),this._axisX},set:function(o){var d=this.array;o=o.array,d[0]=o[0],d[1]=o[1],d[2]=o[2],this._dirty=!0}})}u.adjoint=function(o,d){return b.adjoint(o.array,d.array),o._dirty=!0,o},u.copy=function(o,d){return b.copy(o.array,d.array),o._dirty=!0,o},u.determinant=function(o){return b.determinant(o.array)},u.identity=function(o){return b.identity(o.array),o._dirty=!0,o},u.ortho=function(o,d,p,m,h,v,r){return b.ortho(o.array,d,p,m,h,v,r),o._dirty=!0,o},u.perspective=function(o,d,p,m,h){return b.perspective(o.array,d,p,m,h),o._dirty=!0,o},u.lookAt=function(o,d,p,m){return b.lookAt(o.array,d.array,p.array,m.array),o._dirty=!0,o},u.invert=function(o,d){return b.invert(o.array,d.array),o._dirty=!0,o},u.mul=function(o,d,p){return b.mul(o.array,d.array,p.array),o._dirty=!0,o},u.multiply=u.mul,u.fromQuat=function(o,d){return b.fromQuat(o.array,d.array),o._dirty=!0,o},u.fromRotationTranslation=function(o,d,p){return b.fromRotationTranslation(o.array,d.array,p.array),o._dirty=!0,o},u.fromMat2d=function(m,p){m._dirty=!0;var p=p.array,m=m.array;return m[0]=p[0],m[4]=p[2],m[12]=p[4],m[1]=p[1],m[5]=p[3],m[13]=p[5],m},u.rotate=function(o,d,p,m){return b.rotate(o.array,d.array,p,m.array),o._dirty=!0,o},u.rotateX=function(o,d,p){return b.rotateX(o.array,d.array,p),o._dirty=!0,o},u.rotateY=function(o,d,p){return b.rotateY(o.array,d.array,p),o._dirty=!0,o},u.rotateZ=function(o,d,p){return b.rotateZ(o.array,d.array,p),o._dirty=!0,o},u.scale=function(o,d,p){return b.scale(o.array,d.array,p.array),o._dirty=!0,o},u.transpose=function(o,d){return b.transpose(o.array,d.array),o._dirty=!0,o},u.translate=function(o,d,p){return b.translate(o.array,d.array,p.array),o._dirty=!0,o},X.a=u},function(te,X,D){"use strict";var W=D(8),y=D(6),L=D(25),b=D(11),s=D(48),T="framebuffer",c="renderbuffer",u=c+"_width",f=c+"_height",i=c+"_attached",o="depthtexture_attached",d=b.a.FRAMEBUFFER,p=b.a.RENDERBUFFER,m=b.a.DEPTH_ATTACHMENT,h=b.a.COLOR_ATTACHMENT0,v=W.a.extend({depthBuffer:!0,viewport:null,_width:0,_height:0,_textures:null,_boundRenderer:null},function(){this._cache=new s.a,this._textures={}},{getTextureWidth:function(){return this._width},getTextureHeight:function(){return this._height},bind:function(r){if(r.__currentFrameBuffer){if(r.__currentFrameBuffer===this)return;console.warn("Renderer already bound with another framebuffer. Unbind it first")}r.__currentFrameBuffer=this;var a=r.gl;a.bindFramebuffer(d,this._getFrameBufferGL(r)),this._boundRenderer=r;var g=this._cache;g.put("viewport",r.viewport);var E=!1,S,w;for(var R in this._textures){E=!0;var O=this._textures[R];O&&(S=O.texture.width,w=O.texture.height,this._doAttach(r,O.texture,R,O.target))}this._width=S,this._height=w,!E&&this.depthBuffer&&console.error("Must attach texture before bind, or renderbuffer may have incorrect width and height."),this.viewport?r.setViewport(this.viewport):r.setViewport(0,0,S,w,1);var G=g.get("attached_textures");if(G){for(var R in G)if(!this._textures[R]){var B=G[R];this._doDetach(a,R,B)}}if(!g.get(o)&&this.depthBuffer){g.miss(c)&&g.put(c,a.createRenderbuffer());var P=g.get(c);(S!==g.get(u)||w!==g.get(f))&&(a.bindRenderbuffer(p,P),a.renderbufferStorage(p,a.DEPTH_COMPONENT16,S,w),g.put(u,S),g.put(f,w),a.bindRenderbuffer(p,null)),g.get(i)||(a.framebufferRenderbuffer(d,m,p,P),g.put(i,!0))}},unbind:function(r){r.__currentFrameBuffer=null;var a=r.gl;a.bindFramebuffer(d,null),this._boundRenderer=null,this._cache.use(r.__uid__);var g=this._cache.get("viewport");g&&r.setViewport(g),this.updateMipmap(r)},updateMipmap:function(r){var a=r.gl;for(var g in this._textures){var E=this._textures[g];if(E){var S=E.texture;if(!S.NPOT&&S.useMipmap&&S.minFilter===y.a.LINEAR_MIPMAP_LINEAR){var w=S instanceof L.a?b.a.TEXTURE_CUBE_MAP:b.a.TEXTURE_2D;a.bindTexture(w,S.getWebGLTexture(r)),a.generateMipmap(w),a.bindTexture(w,null)}}}},checkStatus:function(r){return r.checkFramebufferStatus(d)},_getFrameBufferGL:function(r){var a=this._cache;return a.use(r.__uid__),a.miss(T)&&a.put(T,r.gl.createFramebuffer()),a.get(T)},attach:function(r,a,g){if(!r.width)throw new Error("The texture attached to color buffer is not a valid.");a=a||h,g=g||b.a.TEXTURE_2D;var E=this._boundRenderer,S=E&&E.gl,w;if(S){var R=this._cache;R.use(E.__uid__),w=R.get("attached_textures")}var O=this._textures[a];if(!(O&&O.target===g&&O.texture===r&&w&&w[a]!=null)){var G=!0;E&&(G=this._doAttach(E,r,a,g),this.viewport||E.setViewport(0,0,r.width,r.height,1)),G&&(this._textures[a]=this._textures[a]||{},this._textures[a].texture=r,this._textures[a].target=g)}},_doAttach:function(r,a,g,E){var S=r.gl,w=a.getWebGLTexture(r),R=this._cache.get("attached_textures");if(R&&R[g]){var O=R[g];if(O.texture===a&&O.target===E)return}g=+g;var G=!0;if(g===m||g===b.a.DEPTH_STENCIL_ATTACHMENT){var B=r.getGLExtension("WEBGL_depth_texture");if(B||(console.error("Depth texture is not supported by the browser"),G=!1),a.format!==b.a.DEPTH_COMPONENT&&a.format!==b.a.DEPTH_STENCIL&&(console.error("The texture attached to depth buffer is not a valid."),G=!1),G){var P=this._cache.get(c);P&&(S.framebufferRenderbuffer(d,m,p,null),S.deleteRenderbuffer(P),this._cache.put(c,!1)),this._cache.put(i,!1),this._cache.put(o,!0)}}return S.framebufferTexture2D(d,g,E,w,0),R||(R={},this._cache.put("attached_textures",R)),R[g]=R[g]||{},R[g].texture=a,R[g].target=E,G},_doDetach:function(r,a,g){r.framebufferTexture2D(d,a,g,null,0);var E=this._cache.get("attached_textures");E&&E[a]&&(E[a]=null),(a===m||a===b.a.DEPTH_STENCIL_ATTACHMENT)&&this._cache.put(o,!1)},detach:function(r,a){if(this._textures[r]=null,this._boundRenderer){var g=this._cache;g.use(this._boundRenderer.__uid__),this._doDetach(this._boundRenderer.gl,r,a)}},dispose:function(r){var a=r.gl,g=this._cache;g.use(r.__uid__);var E=g.get(c);E&&a.deleteRenderbuffer(E);var S=g.get(T);S&&a.deleteFramebuffer(S),g.deleteContext(r.__uid__),this._textures={}}});v.DEPTH_ATTACHMENT=m,v.COLOR_ATTACHMENT0=h,v.STENCIL_ATTACHMENT=b.a.STENCIL_ATTACHMENT,v.DEPTH_STENCIL_ATTACHMENT=b.a.DEPTH_STENCIL_ATTACHMENT,X.a=v},function(te,X,D){"use strict";X.a={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444}},function(te,X){var D={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},W={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},y=Object.prototype.toString,L=Array.prototype,b=L.forEach,s=L.filter,T=L.slice,c=L.map,u=L.reduce,f={};function i(me,oe){f[me]=oe}function o(me){if(me==null||typeof me!="object")return me;var oe=me,ie=y.call(me);if(ie==="[object Array]"){if(!Ce(me)){oe=[];for(var he=0,ye=me.length;he<ye;he++)oe[he]=o(me[he])}}else if(W[ie]){if(!Ce(me)){var ce=me.constructor;if(me.constructor.from)oe=ce.from(me);else{oe=new ce(me.length);for(var he=0,ye=me.length;he<ye;he++)oe[he]=o(me[he])}}}else if(!D[ie]&&!Ce(me)&&!q(me)){oe={};for(var Te in me)me.hasOwnProperty(Te)&&(oe[Te]=o(me[Te]))}return oe}function d(me,oe,ie){if(!M(oe)||!M(me))return ie?o(oe):me;for(var he in oe)if(oe.hasOwnProperty(he)){var ye=me[he],ce=oe[he];M(ce)&&M(ye)&&!U(ce)&&!U(ye)&&!q(ce)&&!q(ye)&&!z(ce)&&!z(ye)&&!Ce(ce)&&!Ce(ye)?d(ye,ce,ie):(ie||!(he in me))&&(me[he]=o(oe[he],!0))}return me}function p(me,oe){for(var ie=me[0],he=1,ye=me.length;he<ye;he++)ie=d(ie,me[he],oe);return ie}function m(me,oe){for(var ie in oe)oe.hasOwnProperty(ie)&&(me[ie]=oe[ie]);return me}function h(me,oe,ie){for(var he in oe)oe.hasOwnProperty(he)&&(ie?oe[he]!=null:me[he]==null)&&(me[he]=oe[he]);return me}var v=function(){return f.createCanvas()};f.createCanvas=function(){return document.createElement("canvas")};var r;function a(){return r||(r=v().getContext("2d")),r}function g(me,oe){if(me){if(me.indexOf)return me.indexOf(oe);for(var ie=0,he=me.length;ie<he;ie++)if(me[ie]===oe)return ie}return-1}function E(me,oe){var ie=me.prototype;function he(){}he.prototype=oe.prototype,me.prototype=new he;for(var ye in ie)me.prototype[ye]=ie[ye];me.prototype.constructor=me,me.superClass=oe}function S(me,oe,ie){me="prototype"in me?me.prototype:me,oe="prototype"in oe?oe.prototype:oe,h(me,oe,ie)}function w(me){if(me)return typeof me=="string"?!1:typeof me.length=="number"}function R(me,oe,ie){if(me&&oe)if(me.forEach&&me.forEach===b)me.forEach(oe,ie);else if(me.length===+me.length)for(var he=0,ye=me.length;he<ye;he++)oe.call(ie,me[he],he,me);else for(var ce in me)me.hasOwnProperty(ce)&&oe.call(ie,me[ce],ce,me)}function O(me,oe,ie){if(me&&oe){if(me.map&&me.map===c)return me.map(oe,ie);for(var he=[],ye=0,ce=me.length;ye<ce;ye++)he.push(oe.call(ie,me[ye],ye,me));return he}}function G(me,oe,ie,he){if(me&&oe){if(me.reduce&&me.reduce===u)return me.reduce(oe,ie,he);for(var ye=0,ce=me.length;ye<ce;ye++)ie=oe.call(he,ie,me[ye],ye,me);return ie}}function B(me,oe,ie){if(me&&oe){if(me.filter&&me.filter===s)return me.filter(oe,ie);for(var he=[],ye=0,ce=me.length;ye<ce;ye++)oe.call(ie,me[ye],ye,me)&&he.push(me[ye]);return he}}function P(me,oe,ie){if(me&&oe){for(var he=0,ye=me.length;he<ye;he++)if(oe.call(ie,me[he],he,me))return me[he]}}function F(me,oe){var ie=T.call(arguments,2);return function(){return me.apply(oe,ie.concat(T.call(arguments)))}}function K(me){var oe=T.call(arguments,1);return function(){return me.apply(this,oe.concat(T.call(arguments)))}}function U(me){return y.call(me)==="[object Array]"}function V(me){return typeof me=="function"}function C(me){return y.call(me)==="[object String]"}function M(me){var oe=typeof me;return oe==="function"||!!me&&oe=="object"}function z(me){return!!D[y.call(me)]}function $(me){return!!W[y.call(me)]}function q(me){return typeof me=="object"&&typeof me.nodeType=="number"&&typeof me.ownerDocument=="object"}function se(me){return me!==me}function ue(me){for(var oe=0,ie=arguments.length;oe<ie;oe++)if(arguments[oe]!=null)return arguments[oe]}function pe(me,oe){return me!=null?me:oe}function Ee(me,oe,ie){return me!=null?me:oe!=null?oe:ie}function De(){return Function.call.apply(T,arguments)}function Fe(me){if(typeof me=="number")return[me,me,me,me];var oe=me.length;return oe===2?[me[0],me[1],me[0],me[1]]:oe===3?[me[0],me[1],me[2],me[1]]:me}function Ge(me,oe){if(!me)throw new Error(oe)}var xe="__ec_primitive__";function Ke(me){me[xe]=!0}function Ce(me){return me[xe]}function Se(me){var oe=U(me);me&&R(me,function(ie,he){oe?this.set(ie,1):this.set(he,ie)},this)}var ge="_ec_",Re=4;Se.prototype={constructor:Se,get:function(me){return this[ge+me]},set:function(me,oe){return this[ge+me]=oe,oe},each:function(me,oe){oe!==void 0&&(me=F(me,oe));for(var ie in this)this.hasOwnProperty(ie)&&me(this[ie],ie.slice(Re))},removeKey:function(me){delete this[ge+me]}};function ve(me){return new Se(me)}function Le(me,oe){for(var ie=new me.constructor(me.length+oe.length),he=0;he<me.length;he++)ie[he]=me[he];var ye=me.length;for(he=0;he<oe.length;he++)ie[he+ye]=oe[he];return ie}function Ue(){}X.$override=i,X.clone=o,X.merge=d,X.mergeAll=p,X.extend=m,X.defaults=h,X.createCanvas=v,X.getContext=a,X.indexOf=g,X.inherits=E,X.mixin=S,X.isArrayLike=w,X.each=R,X.map=O,X.reduce=G,X.filter=B,X.find=P,X.bind=F,X.curry=K,X.isArray=U,X.isFunction=V,X.isString=C,X.isObject=M,X.isBuiltInObject=z,X.isTypedArray=$,X.isDom=q,X.eqNaN=se,X.retrieve=ue,X.retrieve2=pe,X.retrieve3=Ee,X.slice=De,X.normalizeCssArray=Fe,X.assert=Ge,X.setAsPrimitive=Ke,X.isPrimitive=Ce,X.createHashMap=ve,X.concatArray=Le,X.noop=Ue},function(te,X,D){"use strict";var W=D(8),y=D(11),L=D(48),b=D(18),s=D(1),T=D.n(s),c=D(15),u=T.a.vec3,f=T.a.mat4,i=u.create,o=u.add,d=u.set;function p(g){return{byte:b.a.Int8Array,ubyte:b.a.Uint8Array,short:b.a.Int16Array,ushort:b.a.Uint16Array}[g]||b.a.Float32Array}function m(g){return"attr_"+g}function h(g,E,S,w){switch(this.name=g,this.type=E,this.size=S,this.semantic=w||"",this.value=null,S){case 1:this.get=function(R){return this.value[R]},this.set=function(R,O){this.value[R]=O},this.copy=function(R,O){this.value[R]=this.value[R]};break;case 2:this.get=function(R,O){var G=this.value;return O[0]=G[R*2],O[1]=G[R*2+1],O},this.set=function(R,O){var G=this.value;G[R*2]=O[0],G[R*2+1]=O[1]},this.copy=function(R,O){var G=this.value;O*=2,R*=2,G[R]=G[O],G[R+1]=G[O+1]};break;case 3:this.get=function(R,O){var G=R*3,B=this.value;return O[0]=B[G],O[1]=B[G+1],O[2]=B[G+2],O},this.set=function(R,O){var G=R*3,B=this.value;B[G]=O[0],B[G+1]=O[1],B[G+2]=O[2]},this.copy=function(R,O){var G=this.value;O*=3,R*=3,G[R]=G[O],G[R+1]=G[O+1],G[R+2]=G[O+2]};break;case 4:this.get=function(R,O){var G=this.value,B=R*4;return O[0]=G[B],O[1]=G[B+1],O[2]=G[B+2],O[3]=G[B+3],O},this.set=function(R,O){var G=this.value,B=R*4;G[B]=O[0],G[B+1]=O[1],G[B+2]=O[2],G[B+3]=O[3]},this.copy=function(R,O){var G=this.value;O*=4,R*=4,G[R]=G[O],G[R+1]=G[O+1],G[R+2]=G[O+2],G[R+3]=G[O+3]}}}h.prototype.init=function(g){if(!this.value||this.value.length!=g*this.size){var E=p(this.type);this.value=new E(g*this.size)}},h.prototype.fromArray=function(g){var E=p(this.type),S;if(g[0]&&g[0].length){var w=0,R=this.size;S=new E(g.length*R);for(var O=0;O<g.length;O++)for(var G=0;G<R;G++)S[w++]=g[O][G]}else S=new E(g);this.value=S},h.prototype.clone=function(g){var E=new h(this.name,this.type,this.size,this.semantic);return g&&console.warn("todo"),E};function v(g,E,S,w,R){this.name=g,this.type=E,this.buffer=S,this.size=w,this.semantic=R,this.symbol="",this.needsRemove=!1}function r(g){this.buffer=g,this.count=0}var a=W.a.extend(function(){return{attributes:{position:new h("position","float",3,"POSITION"),texcoord0:new h("texcoord0","float",2,"TEXCOORD_0"),texcoord1:new h("texcoord1","float",2,"TEXCOORD_1"),normal:new h("normal","float",3,"NORMAL"),tangent:new h("tangent","float",4,"TANGENT"),color:new h("color","float",4,"COLOR"),weight:new h("weight","float",3,"WEIGHT"),joint:new h("joint","float",4,"JOINT"),barycentric:new h("barycentric","float",3,null)},boundingBox:null,indices:null,dynamic:!0,_enabledAttributes:null}},function(){this._cache=new L.a,this._attributeList=Object.keys(this.attributes)},{mainAttribute:"position",pick:null,pickByRay:null,updateBoundingBox:function(){var g=this.boundingBox;g||(g=this.boundingBox=new c.a);var E=this.attributes.position.value;if(E&&E.length){var S=g.min,w=g.max,R=S.array,O=w.array;u.set(R,E[0],E[1],E[2]),u.set(O,E[0],E[1],E[2]);for(var G=3;G<E.length;){var B=E[G++],P=E[G++],F=E[G++];B<R[0]&&(R[0]=B),P<R[1]&&(R[1]=P),F<R[2]&&(R[2]=F),B>O[0]&&(O[0]=B),P>O[1]&&(O[1]=P),F>O[2]&&(O[2]=F)}S._dirty=!0,w._dirty=!0}},dirty:function(){for(var g=this.getEnabledAttributes(),E=0;E<g.length;E++)this.dirtyAttribute(g[E]);this.dirtyIndices(),this._enabledAttributes=null,this._cache.dirty("any")},dirtyIndices:function(){this._cache.dirtyAll("indices")},dirtyAttribute:function(g){this._cache.dirtyAll(m(g)),this._cache.dirtyAll("attributes")},getTriangleIndices:function(g,E){if(g<this.triangleCount&&g>=0){E||(E=i());var S=this.indices;return E[0]=S[g*3],E[1]=S[g*3+1],E[2]=S[g*3+2],E}},setTriangleIndices:function(g,E){var S=this.indices;S[g*3]=E[0],S[g*3+1]=E[1],S[g*3+2]=E[2]},isUseIndices:function(){return!!this.indices},initIndicesFromArray:function(g){var E,S=this.vertexCount>65535?b.a.Uint32Array:b.a.Uint16Array;if(g[0]&&g[0].length){var w=0,R=3;E=new S(g.length*R);for(var O=0;O<g.length;O++)for(var G=0;G<R;G++)E[w++]=g[O][G]}else E=new S(g);this.indices=E},createAttribute:function(g,E,S,w){var R=new h(g,E,S,w);return this.attributes[g]&&this.removeAttribute(g),this.attributes[g]=R,this._attributeList.push(g),R},removeAttribute:function(g){var E=this._attributeList,S=E.indexOf(g);return S>=0?(E.splice(S,1),delete this.attributes[g],!0):!1},getAttribute:function(g){return this.attributes[g]},getEnabledAttributes:function(){var g=this._enabledAttributes,E=this._attributeList;if(g)return g;for(var S=[],w=this.vertexCount,R=0;R<E.length;R++){var O=E[R],G=this.attributes[O];G.value&&G.value.length===w*G.size&&S.push(O)}return this._enabledAttributes=S,S},getBufferChunks:function(g){var E=this._cache;E.use(g.__uid__);var S=E.isDirty("attributes"),w=E.isDirty("indices");if(S||w){this._updateBuffer(g.gl,S,w);for(var R=this.getEnabledAttributes(),O=0;O<R.length;O++)E.fresh(m(R[O]));E.fresh("attributes"),E.fresh("indices")}return E.fresh("any"),E.get("chunks")},_updateBuffer:function(g,E,S){var w=this._cache,R=w.get("chunks"),O=!1;R||(R=[],R[0]={attributeBuffers:[],indicesBuffer:null},w.put("chunks",R),O=!0);var G=R[0],B=G.attributeBuffers,P=G.indicesBuffer;if(E||O){var F=this.getEnabledAttributes(),K={};if(!O)for(var U=0;U<B.length;U++)K[B[U].name]=B[U];for(var V=0;V<F.length;V++){var C=F[V],M=this.attributes[C],z;O||(z=K[C]);var $;z?$=z.buffer:$=g.createBuffer(),w.isDirty(m(C))&&(g.bindBuffer(g.ARRAY_BUFFER,$),g.bufferData(g.ARRAY_BUFFER,M.value,this.dynamic?y.a.DYNAMIC_DRAW:y.a.STATIC_DRAW)),B[V]=new v(C,M.type,$,M.size,M.semantic)}for(var U=V;U<B.length;U++)g.deleteBuffer(B[U].buffer);B.length=V}this.isUseIndices()&&(S||O)&&(P||(P=new r(g.createBuffer()),G.indicesBuffer=P),P.count=this.indices.length,g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,P.buffer),g.bufferData(g.ELEMENT_ARRAY_BUFFER,this.indices,this.dynamic?y.a.DYNAMIC_DRAW:y.a.STATIC_DRAW))},generateVertexNormals:function(){if(this.vertexCount){var g=this.indices,E=this.attributes,S=E.position.value,w=E.normal.value;if(!w||w.length!==S.length)w=E.normal.value=new b.a.Float32Array(S.length);else for(var R=0;R<w.length;R++)w[R]=0;for(var O=i(),G=i(),B=i(),P=i(),F=i(),K=i(),U=g?g.length:this.vertexCount,V,C,M,z=0;z<U;){g?(V=g[z++],C=g[z++],M=g[z++]):(V=z++,C=z++,M=z++),d(O,S[V*3],S[V*3+1],S[V*3+2]),d(G,S[C*3],S[C*3+1],S[C*3+2]),d(B,S[M*3],S[M*3+1],S[M*3+2]),u.sub(P,O,G),u.sub(F,G,B),u.cross(K,P,F);for(var R=0;R<3;R++)w[V*3+R]=w[V*3+R]+K[R],w[C*3+R]=w[C*3+R]+K[R],w[M*3+R]=w[M*3+R]+K[R]}for(var R=0;R<w.length;)d(K,w[R],w[R+1],w[R+2]),u.normalize(K,K),w[R++]=K[0],w[R++]=K[1],w[R++]=K[2];this.dirty()}},generateFaceNormals:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var g=this.indices,E=this.attributes,S=E.position.value,w=E.normal.value,R=i(),O=i(),G=i(),B=i(),P=i(),F=i();w||(w=E.normal.value=new Float32Array(S.length));for(var K=g?g.length:this.vertexCount,U,V,C,M=0;M<K;){g?(U=g[M++],V=g[M++],C=g[M++]):(U=M++,V=M++,C=M++),d(R,S[U*3],S[U*3+1],S[U*3+2]),d(O,S[V*3],S[V*3+1],S[V*3+2]),d(G,S[C*3],S[C*3+1],S[C*3+2]),u.sub(B,R,O),u.sub(P,O,G),u.cross(F,B,P),u.normalize(F,F);for(var z=0;z<3;z++)w[U*3+z]=F[z],w[V*3+z]=F[z],w[C*3+z]=F[z]}this.dirty()}},generateTangents:function(){if(this.vertexCount){var g=this.vertexCount,E=this.attributes;E.tangent.value||(E.tangent.value=new Float32Array(g*4));var S=E.texcoord0.value,w=E.position.value,R=E.tangent.value,O=E.normal.value;if(!S){console.warn("Geometry without texcoords can't generate tangents.");return}for(var G=[],B=[],P=0;P<g;P++)G[P]=[0,0,0],B[P]=[0,0,0];for(var F=[0,0,0],K=[0,0,0],U=this.indices,V=U?U.length:this.vertexCount,C,M,z,P=0;P<V;){U?(C=U[P++],M=U[P++],z=U[P++]):(C=P++,M=P++,z=P++);var $=S[C*2],q=S[M*2],se=S[z*2],ue=S[C*2+1],pe=S[M*2+1],Ee=S[z*2+1],De=w[C*3],Fe=w[M*3],Ge=w[z*3],xe=w[C*3+1],Ke=w[M*3+1],Ce=w[z*3+1],Se=w[C*3+2],ge=w[M*3+2],Re=w[z*3+2],ve=Fe-De,Le=Ge-De,Ue=Ke-xe,me=Ce-xe,oe=ge-Se,ie=Re-Se,he=q-$,ye=se-$,ce=pe-ue,Te=Ee-ue,Oe=1/(he*Te-ce*ye);F[0]=(Te*ve-ce*Le)*Oe,F[1]=(Te*Ue-ce*me)*Oe,F[2]=(Te*oe-ce*ie)*Oe,K[0]=(he*Le-ye*ve)*Oe,K[1]=(he*me-ye*Ue)*Oe,K[2]=(he*ie-ye*oe)*Oe,o(G[C],G[C],F),o(G[M],G[M],F),o(G[z],G[z],F),o(B[C],B[C],K),o(B[M],B[M],K),o(B[z],B[z],K)}for(var Be=i(),Xe=i(),lt=i(),P=0;P<g;P++){lt[0]=O[P*3],lt[1]=O[P*3+1],lt[2]=O[P*3+2];var _t=G[P];u.scale(Be,lt,u.dot(lt,_t)),u.sub(Be,_t,Be),u.normalize(Be,Be),u.cross(Xe,lt,_t),R[P*4]=Be[0],R[P*4+1]=Be[1],R[P*4+2]=Be[2],R[P*4+3]=u.dot(Xe,B[P])<0?-1:1}this.dirty()}},isUniqueVertex:function(){return this.isUseIndices()?this.vertexCount===this.indices.length:!0},generateUniqueVertex:function(){if(!(!this.vertexCount||!this.indices)){this.indices.length>65535&&(this.indices=new b.a.Uint32Array(this.indices));for(var g=this.attributes,E=this.indices,S=this.getEnabledAttributes(),w={},R=0;R<S.length;R++){var O=S[R];w[O]=g[O].value,g[O].init(this.indices.length)}for(var G=0,B=0;B<E.length;B++){for(var P=E[B],R=0;R<S.length;R++)for(var O=S[R],F=g[O].value,K=g[O].size,U=0;U<K;U++)F[G*K+U]=w[O][P*K+U];E[B]=G,G++}this.dirty()}},generateBarycentric:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var g=this.attributes,E=g.barycentric.value,S=this.indices;if(!(E&&E.length===S.length*3)){E=g.barycentric.value=new Float32Array(S.length*3);for(var w=0;w<(S?S.length:this.vertexCount/3);)for(var R=0;R<3;R++){var O=S?S[w++]:w*3+R;E[O*3+R]=1}this.dirty()}}},applyTransform:function(g){var E=this.attributes,S=E.position.value,w=E.normal.value,R=E.tangent.value;g=g.array;var O=f.create();f.invert(O,g),f.transpose(O,O);var G=u.transformMat4,B=u.forEach;B(S,3,0,null,G,g),w&&B(w,3,0,null,G,O),R&&B(R,4,0,null,G,O),this.boundingBox&&this.updateBoundingBox()},dispose:function(g){var E=this._cache;E.use(g.__uid__);var S=E.get("chunks");if(S)for(var w=0;w<S.length;w++){for(var R=S[w],O=0;O<R.attributeBuffers.length;O++){var G=R.attributeBuffers[O];g.gl.deleteBuffer(G.buffer)}R.indicesBuffer&&g.gl.deleteBuffer(R.indicesBuffer.buffer)}E.deleteContext(g.__uid__)}});Object.defineProperty&&(Object.defineProperty(a.prototype,"vertexCount",{enumerable:!1,get:function(){var g=this.attributes[this.mainAttribute];return!g||!g.value?0:g.value.length/g.size}}),Object.defineProperty(a.prototype,"triangleCount",{enumerable:!1,get:function(){var g=this.indices;return g?g.length/3:0}})),a.STATIC_DRAW=y.a.STATIC_DRAW,a.DYNAMIC_DRAW=y.a.DYNAMIC_DRAW,a.STREAM_DRAW=y.a.STREAM_DRAW,a.AttributeBuffer=v,a.IndicesBuffer=r,a.Attribute=h,X.a=a},function(te,X,D){"use strict";var W=D(8),y=D(30),L=D(37),b=D(7),s=D(17),T=D(24),c=D(11),u=D(109);b.a.import(u.a);var f=new L.a,i=new T.a({geometry:f,frustumCulling:!1}),o=new y.a,d=W.a.extend(function(){return{fragment:"",outputs:null,material:null,blendWithPrevious:!1,clearColor:!1,clearDepth:!0}},function(){var p=new b.a(b.a.source("clay.compositor.vertex"),this.fragment),m=new s.a({shader:p});m.enableTexturesAll(),this.material=m},{setUniform:function(p,m){this.material.setUniform(p,m)},getUniform:function(p){var m=this.material.uniforms[p];if(m)return m.value},attachOutput:function(p,m){this.outputs||(this.outputs={}),m=m||c.a.COLOR_ATTACHMENT0,this.outputs[m]=p},detachOutput:function(p){for(var m in this.outputs)this.outputs[m]===p&&(this.outputs[m]=null)},bind:function(p,m){if(this.outputs)for(var h in this.outputs){var v=this.outputs[h];v&&m.attach(v,h)}m&&m.bind(p)},unbind:function(p,m){m.unbind(p)},render:function(p,m){var h=p.gl;if(m){this.bind(p,m);var v=p.getGLExtension("EXT_draw_buffers");if(v&&this.outputs){var r=[];for(var a in this.outputs)a=+a,a>=h.COLOR_ATTACHMENT0&&a<=h.COLOR_ATTACHMENT0+8&&r.push(a);v.drawBuffersEXT(r)}}this.trigger("beforerender",this,p);var g=this.clearDepth?h.DEPTH_BUFFER_BIT:0;if(h.depthMask(!0),this.clearColor){g=g|h.COLOR_BUFFER_BIT,h.colorMask(!0,!0,!0,!0);var E=this.clearColor;Array.isArray(E)&&h.clearColor(E[0],E[1],E[2],E[3])}h.clear(g),this.blendWithPrevious?(h.enable(h.BLEND),this.material.transparent=!0):(h.disable(h.BLEND),this.material.transparent=!1),this.renderQuad(p),this.trigger("afterrender",this,p),m&&this.unbind(p,m)},renderQuad:function(p){i.material=this.material,p.renderPass([i],o)},dispose:function(p){}});X.a=d},function(te,X,D){"use strict";var W=D(4),y=D(1),L=D.n(y),b=L.a.vec3,s=b.copy,T=b.set,c=function(u,f){this.min=u||new W.a(1/0,1/0,1/0),this.max=f||new W.a(-1/0,-1/0,-1/0)};c.prototype={constructor:c,updateFromVertices:function(u){if(u.length>0){var f=this.min,i=this.max,o=f.array,d=i.array;s(o,u[0]),s(d,u[0]);for(var p=1;p<u.length;p++){var m=u[p];m[0]<o[0]&&(o[0]=m[0]),m[1]<o[1]&&(o[1]=m[1]),m[2]<o[2]&&(o[2]=m[2]),m[0]>d[0]&&(d[0]=m[0]),m[1]>d[1]&&(d[1]=m[1]),m[2]>d[2]&&(d[2]=m[2])}f._dirty=!0,i._dirty=!0}},union:function(u){var f=this.min,i=this.max;return b.min(f.array,f.array,u.min.array),b.max(i.array,i.array,u.max.array),f._dirty=!0,i._dirty=!0,this},intersection:function(u){var f=this.min,i=this.max;return b.max(f.array,f.array,u.min.array),b.min(i.array,i.array,u.max.array),f._dirty=!0,i._dirty=!0,this},intersectBoundingBox:function(u){var f=this.min.array,i=this.max.array,o=u.min.array,d=u.max.array;return!(f[0]>d[0]||f[1]>d[1]||f[2]>d[2]||i[0]<o[0]||i[1]<o[1]||i[2]<o[2])},containBoundingBox:function(u){var f=this.min.array,i=this.max.array,o=u.min.array,d=u.max.array;return f[0]<=o[0]&&f[1]<=o[1]&&f[2]<=o[2]&&i[0]>=d[0]&&i[1]>=d[1]&&i[2]>=d[2]},containPoint:function(u){var f=this.min.array,i=this.max.array,o=u.array;return f[0]<=o[0]&&f[1]<=o[1]&&f[2]<=o[2]&&i[0]>=o[0]&&i[1]>=o[1]&&i[2]>=o[2]},isFinite:function(){var u=this.min.array,f=this.max.array;return isFinite(u[0])&&isFinite(u[1])&&isFinite(u[2])&&isFinite(f[0])&&isFinite(f[1])&&isFinite(f[2])},applyTransform:function(){var u=b.create(),f=b.create(),i=b.create(),o=b.create(),d=b.create(),p=b.create();return function(m){var h=this.min.array,v=this.max.array,r=m.array;return u[0]=r[0]*h[0],u[1]=r[1]*h[0],u[2]=r[2]*h[0],f[0]=r[0]*v[0],f[1]=r[1]*v[0],f[2]=r[2]*v[0],i[0]=r[4]*h[1],i[1]=r[5]*h[1],i[2]=r[6]*h[1],o[0]=r[4]*v[1],o[1]=r[5]*v[1],o[2]=r[6]*v[1],d[0]=r[8]*h[2],d[1]=r[9]*h[2],d[2]=r[10]*h[2],p[0]=r[8]*v[2],p[1]=r[9]*v[2],p[2]=r[10]*v[2],h[0]=Math.min(u[0],f[0])+Math.min(i[0],o[0])+Math.min(d[0],p[0])+r[12],h[1]=Math.min(u[1],f[1])+Math.min(i[1],o[1])+Math.min(d[1],p[1])+r[13],h[2]=Math.min(u[2],f[2])+Math.min(i[2],o[2])+Math.min(d[2],p[2])+r[14],v[0]=Math.max(u[0],f[0])+Math.max(i[0],o[0])+Math.max(d[0],p[0])+r[12],v[1]=Math.max(u[1],f[1])+Math.max(i[1],o[1])+Math.max(d[1],p[1])+r[13],v[2]=Math.max(u[2],f[2])+Math.max(i[2],o[2])+Math.max(d[2],p[2])+r[14],this.min._dirty=!0,this.max._dirty=!0,this}}(),applyProjection:function(u){var f=this.min.array,i=this.max.array,o=u.array,d=f[0],p=f[1],m=f[2],h=i[0],v=i[1],r=f[2],a=i[0],g=i[1],E=i[2];if(o[15]===1)f[0]=o[0]*d+o[12],f[1]=o[5]*p+o[13],i[2]=o[10]*m+o[14],i[0]=o[0]*a+o[12],i[1]=o[5]*g+o[13],f[2]=o[10]*E+o[14];else{var S=-1/m;f[0]=o[0]*d*S,f[1]=o[5]*p*S,i[2]=(o[10]*m+o[14])*S,S=-1/r,i[0]=o[0]*h*S,i[1]=o[5]*v*S,S=-1/E,f[2]=(o[10]*E+o[14])*S}return this.min._dirty=!0,this.max._dirty=!0,this},updateVertices:function(){var u=this.vertices;if(!u){for(var u=[],f=0;f<8;f++)u[f]=b.fromValues(0,0,0);this.vertices=u}var i=this.min.array,o=this.max.array;return T(u[0],i[0],i[1],i[2]),T(u[1],i[0],o[1],i[2]),T(u[2],o[0],i[1],i[2]),T(u[3],o[0],o[1],i[2]),T(u[4],i[0],i[1],o[2]),T(u[5],i[0],o[1],o[2]),T(u[6],o[0],i[1],o[2]),T(u[7],o[0],o[1],o[2]),this},copy:function(u){var f=this.min,i=this.max;return s(f.array,u.min.array),s(i.array,u.max.array),f._dirty=!0,i._dirty=!0,this},clone:function(){var u=new c;return u.copy(this),u}},X.a=c},function(te,X,D){"use strict";X.a=function(W,y,L){return{seriesType:W,reset:function(b,s){var T=b.getData(),c=b.visualColorAccessPath.split(".");c[c.length-1]="opacity";var u=b.get(c);T.setVisual("opacity",u==null?1:u);function f(i){var o=T.getItemModel(i),d=o.get(c);d!=null&&T.setItemVisual(i,"opacity",d)}return{dataEach:T.hasItemOption?f:null}}}}},function(te,X,D){"use strict";var W=D(8),y=D(6),L=D(21),b=D(93),s=b.a.parseToFloat,T={};function c(i,o,d){var p=Object.keys(i);p.sort();for(var m=[],h=0;h<p.length;h++){var v=p[h],r=i[v];r===null?m.push(v):m.push(v+" "+r.toString())}return m.join(`
`)}function u(i,o,d){d.sort();for(var p=[],m=0;m<d.length;m++){var h=d[m];p.push(h)}var v=c(i)+`
`+c(o)+`
`+p.join(`
`);if(T[v])return T[v];var r=L.a.genGUID();return T[v]=r,r}var f=W.a.extend(function(){return{name:"",depthTest:!0,depthMask:!0,transparent:!1,blend:null,autoUpdateTextureStatus:!0,uniforms:{},vertexDefines:{},fragmentDefines:{},_textureStatus:{},_enabledUniforms:null}},function(){this.name||(this.name="MATERIAL_"+this.__uid__),this.shader&&this.attachShader(this.shader,!0)},{precision:"highp",bind:function(i,o,d,p){for(var m=i.gl,h=o.currentTextureSlot(),v=0;v<this._enabledUniforms.length;v++){var r=this._enabledUniforms[v],a=this.uniforms[r].value;if(a instanceof y.a)a.__slot=-1;else if(Array.isArray(a))for(var g=0;g<a.length;g++)a[g]instanceof y.a&&(a[g].__slot=-1)}for(var v=0;v<this._enabledUniforms.length;v++){var r=this._enabledUniforms[v],E=this.uniforms[r],a=E.value;if(a===null){if(E.type==="t"){var S=o.currentTextureSlot(),w=o.setUniform(m,"1i",r,S);w&&o.takeCurrentTextureSlot(i,null)}continue}else if(a instanceof y.a)if(a.__slot<0){var S=o.currentTextureSlot(),w=o.setUniform(m,"1i",r,S);if(!w)continue;o.takeCurrentTextureSlot(i,a),a.__slot=S}else o.setUniform(m,"1i",r,a.__slot);else if(Array.isArray(a)){if(a.length===0)continue;var R=a[0];if(R instanceof y.a){if(!o.hasUniform(r))continue;for(var O=[],g=0;g<a.length;g++){var G=a[g];if(G.__slot<0){var S=o.currentTextureSlot();O.push(S),o.takeCurrentTextureSlot(i,G),G.__slot=S}else O.push(G.__slot)}o.setUniform(m,"1iv",r,O)}else o.setUniform(m,E.type,r,a)}else o.setUniform(m,E.type,r,a)}o.resetTextureSlot(h)},setUniform:function(i,o){o===void 0&&console.warn('Uniform value "'+i+'" is undefined');var d=this.uniforms[i];d&&(typeof o=="string"&&(o=s(o)||o),d.value=o,this.autoUpdateTextureStatus&&d.type==="t"&&(o?this.enableTexture(i):this.disableTexture(i)))},setUniforms:function(i){for(var o in i){var d=i[o];this.setUniform(o,d)}},isUniformEnabled:function(i){return this._enabledUniforms.indexOf(i)>=0},getEnabledUniforms:function(){return this._enabledUniforms},getTextureUniforms:function(){return this._textureUniforms},set:function(i,o){if(typeof i=="object")for(var d in i){var p=i[d];this.setUniform(d,p)}else this.setUniform(i,o)},get:function(i){var o=this.uniforms[i];if(o)return o.value},attachShader:function(i,o){var d=this.uniforms;this.uniforms=i.createUniforms(),this.shader=i;var p=this.uniforms;this._enabledUniforms=Object.keys(p),this._enabledUniforms.sort(),this._textureUniforms=this._enabledUniforms.filter(function(g){var E=this.uniforms[g].type;return E==="t"||E==="tv"},this);var m=this.vertexDefines,h=this.fragmentDefines;if(this.vertexDefines=L.a.clone(i.vertexDefines),this.fragmentDefines=L.a.clone(i.fragmentDefines),o){for(var v in d)p[v]&&(p[v].value=d[v].value);L.a.defaults(this.vertexDefines,m),L.a.defaults(this.fragmentDefines,h)}var r={};for(var a in i.textures)r[a]={shaderType:i.textures[a].shaderType,type:i.textures[a].type,enabled:o&&this._textureStatus[a]?this._textureStatus[a].enabled:!1};this._textureStatus=r,this._programKey=""},clone:function(){var i=new this.constructor({name:this.name,shader:this.shader});for(var o in this.uniforms)i.uniforms[o].value=this.uniforms[o].value;return i.depthTest=this.depthTest,i.depthMask=this.depthMask,i.transparent=this.transparent,i.blend=this.blend,i.vertexDefines=L.a.clone(this.vertexDefines),i.fragmentDefines=L.a.clone(this.fragmentDefines),i.enableTexture(this.getEnabledTextures()),i.precision=this.precision,i},define:function(i,o,d){var p=this.vertexDefines,m=this.fragmentDefines;i!=="vertex"&&i!=="fragment"&&i!=="both"&&arguments.length<3&&(d=o,o=i,i="both"),d=d!=null?d:null,(i==="vertex"||i==="both")&&p[o]!==d&&(p[o]=d,this._programKey=""),(i==="fragment"||i==="both")&&m[o]!==d&&(m[o]=d,i!=="both"&&(this._programKey=""))},undefine:function(i,o){i!=="vertex"&&i!=="fragment"&&i!=="both"&&arguments.length<2&&(o=i,i="both"),(i==="vertex"||i==="both")&&this.isDefined("vertex",o)&&(delete this.vertexDefines[o],this._programKey=""),(i==="fragment"||i==="both")&&this.isDefined("fragment",o)&&(delete this.fragmentDefines[o],i!=="both"&&(this._programKey=""))},isDefined:function(i,o){switch(i){case"vertex":return this.vertexDefines[o]!==void 0;case"fragment":return this.fragmentDefines[o]!==void 0}},getDefine:function(i,o){switch(i){case"vertex":return this.vertexDefines[o];case"fragment":return this.fragmentDefines[o]}},enableTexture:function(i){if(Array.isArray(i)){for(var o=0;o<i.length;o++)this.enableTexture(i[o]);return}var d=this._textureStatus[i];if(d){var p=d.enabled;p||(d.enabled=!0,this._programKey="")}},enableTexturesAll:function(){var i=this._textureStatus;for(var o in i)i[o].enabled=!0;this._programKey=""},disableTexture:function(i){if(Array.isArray(i)){for(var o=0;o<i.length;o++)this.disableTexture(i[o]);return}var d=this._textureStatus[i];if(d){var p=!d.enabled;p||(d.enabled=!1,this._programKey="")}},disableTexturesAll:function(){var i=this._textureStatus;for(var o in i)i[o].enabled=!1;this._programKey=""},isTextureEnabled:function(i){var o=this._textureStatus;return!!o[i]&&o[i].enabled},getEnabledTextures:function(){var i=[],o=this._textureStatus;for(var d in o)o[d].enabled&&i.push(d);return i},dirtyDefines:function(){this._programKey=""}});Object.defineProperty&&(Object.defineProperty(f.prototype,"shader",{get:function(){return this._shader||null},set:function(i){this._shader=i}}),Object.defineProperty(f.prototype,"programKey",{get:function(){return this._programKey||(this._programKey=u(this.vertexDefines,this.fragmentDefines,this.getEnabledTextures())),this._programKey}})),X.a=f},function(te,X,D){"use strict";var W=!0;try{var y=document.createElement("canvas"),L=y.getContext("webgl")||y.getContext("experimental-webgl");if(!L)throw new Error}catch(s){W=!1}var b={};b.supportWebGL=function(){return W},b.Int8Array=typeof Int8Array=="undefined"?Array:Int8Array,b.Uint8Array=typeof Uint8Array=="undefined"?Array:Uint8Array,b.Uint16Array=typeof Uint16Array=="undefined"?Array:Uint16Array,b.Uint32Array=typeof Uint32Array=="undefined"?Array:Uint32Array,b.Int16Array=typeof Int16Array=="undefined"?Array:Int16Array,b.Float32Array=typeof Float32Array=="undefined"?Array:Float32Array,b.Float64Array=typeof Float64Array=="undefined"?Array:Float64Array,X.a=b},function(te,X,D){"use strict";var W=D(28),y=W.a.extend(function(){return{color:[1,1,1],intensity:1,castShadow:!0,shadowResolution:512,group:0}},{type:"",clone:function(){var L=W.a.prototype.clone.call(this);return L.color=Array.prototype.slice.call(this.color),L.intensity=this.intensity,L.castShadow=this.castShadow,L.shadowResolution=this.shadowResolution,L}});X.a=y},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(29),b=D(152),s=D(36),T=D(30),c=D(9),u=D(4),f=D(23),i=D(47),o=D(155),d=D(182),p=D(43);function m(v){v=v||"perspective",this.layer=null,this.scene=new L.a,this.rootNode=this.scene,this.viewport={x:0,y:0,width:0,height:0},this.setProjection(v),this._compositor=new o.a,this._temporalSS=new d.a,this._shadowMapPass=new b.a;for(var r=[],a=0,g=0;g<30;g++){for(var E=[],S=0;S<6;S++)E.push(Object(p.a)(a,2)*4-2),E.push(Object(p.a)(a,3)*4-2),a++;r.push(E)}this._pcfKernels=r,this.scene.on("beforerender",function(w,R,O){this.needsTemporalSS()&&this._temporalSS.jitterProjection(w,O)},this)}m.prototype.setProjection=function(v){var r=this.camera;r&&r.update(),v==="perspective"?this.camera instanceof s.a||(this.camera=new s.a,r&&this.camera.setLocalTransform(r.localTransform)):this.camera instanceof T.a||(this.camera=new T.a,r&&this.camera.setLocalTransform(r.localTransform)),this.camera.near=.1,this.camera.far=2e3},m.prototype.setViewport=function(v,r,a,g,E){this.camera instanceof s.a&&(this.camera.aspect=a/g),E=E||1,this.viewport.x=v,this.viewport.y=r,this.viewport.width=a,this.viewport.height=g,this.viewport.devicePixelRatio=E,this._compositor.resize(a*E,g*E),this._temporalSS.resize(a*E,g*E)},m.prototype.containPoint=function(v,r){var a=this.viewport,g=this.layer.renderer.getHeight();return r=g-r,v>=a.x&&r>=a.y&&v<=a.x+a.width&&r<=a.y+a.height};var h=new f.a;m.prototype.castRay=function(v,r,a){var g=this.layer.renderer,E=g.viewport;return g.viewport=this.viewport,g.screenToNDC(v,r,h),this.camera.castRay(h,a),g.viewport=E,a},m.prototype.prepareRender=function(){this.scene.update(),this.camera.update(),this._needsSortProgressively=!1;for(var v=0;v<this.scene.transparentList.length;v++){var r=this.scene.transparentList[v],a=r.geometry;a.needsSortVerticesProgressively&&a.needsSortVerticesProgressively()&&(this._needsSortProgressively=!0),a.needsSortTrianglesProgressively&&a.needsSortTrianglesProgressively()&&(this._needsSortProgressively=!0)}this._frame=0,this._temporalSS.resetFrame()},m.prototype.render=function(v,r){this._doRender(v,r,this._frame),this._frame++},m.prototype.needsAccumulate=function(){return this.needsTemporalSS()||this._needsSortProgressively},m.prototype.needsTemporalSS=function(){var v=this._enableTemporalSS;return v=="auto"&&(v=this._enablePostEffect),v},m.prototype.hasDOF=function(){return this._enableDOF},m.prototype.isAccumulateFinished=function(){return this.needsTemporalSS()?this._temporalSS.isFinished():this._frame>30},m.prototype._doRender=function(v,r,a){var g=this.scene,E=this.camera;if(a=a||0,this._updateTransparent(v,g,E,a),r||(this._shadowMapPass.kernelPCF=this._pcfKernels[0],this._shadowMapPass.render(v,g,E,!0)),this._updateShadowPCFKernel(a),v.gl.clearColor(0,0,0,0),this._enablePostEffect&&(this.needsTemporalSS()&&this._temporalSS.jitterProjection(v,E),this._compositor.updateNormal(v,g,E,this._temporalSS.getFrame())),this._updateSSAO(v,g,E,this._temporalSS.getFrame()),this._enablePostEffect){var S=this._compositor.getSourceFrameBuffer();S.bind(v),v.gl.clear(v.gl.DEPTH_BUFFER_BIT|v.gl.COLOR_BUFFER_BIT),v.render(g,E,!0,!0),S.unbind(v),this.needsTemporalSS()&&r?(this._compositor.composite(v,E,this._temporalSS.getSourceFrameBuffer(),this._temporalSS.getFrame()),v.setViewport(this.viewport),this._temporalSS.render(v)):(v.setViewport(this.viewport),this._compositor.composite(v,E,null,0))}else if(this.needsTemporalSS()&&r){var S=this._temporalSS.getSourceFrameBuffer();S.bind(v),v.saveClear(),v.clearBit=v.gl.DEPTH_BUFFER_BIT|v.gl.COLOR_BUFFER_BIT,v.render(g,E,!0,!0),v.restoreClear(),S.unbind(v),v.setViewport(this.viewport),this._temporalSS.render(v)}else v.setViewport(this.viewport),v.render(g,E,!0,!0)},m.prototype._updateTransparent=function(v,r,a,g){for(var E=new u.a,S=new c.a,w=a.getWorldPosition(),R=0;R<r.transparentList.length;R++){var O=r.transparentList[R],G=O.geometry;c.a.invert(S,O.worldTransform),u.a.transformMat4(E,w,S),G.needsSortTriangles&&G.needsSortTriangles()&&G.doSortTriangles(E,g),G.needsSortVertices&&G.needsSortVertices()&&G.doSortVertices(E,g)}},m.prototype._updateSSAO=function(v,r,a,g){var E=this._enableSSAO&&this._enablePostEffect;E&&this._compositor.updateSSAO(v,r,a,this._temporalSS.getFrame());for(var S=0;S<r.opaqueList.length;S++){var w=r.opaqueList[S];w.renderNormal&&w.material[E?"enableTexture":"disableTexture"]("ssaoMap"),E&&w.material.set("ssaoMap",this._compositor.getSSAOTexture())}},m.prototype._updateShadowPCFKernel=function(v){for(var r=this._pcfKernels[v%this._pcfKernels.length],a=this.scene.opaqueList,g=0;g<a.length;g++)a[g].receiveShadow&&(a[g].material.set("pcfKernel",r),a[g].material.define("fragment","PCF_KERNEL_SIZE",r.length/2))},m.prototype.dispose=function(v){this._compositor.dispose(v.gl),this._temporalSS.dispose(v.gl),this._shadowMapPass.dispose(v)},m.prototype.setPostEffect=function(v,r){var a=this._compositor;this._enablePostEffect=v.get("enable");var g=v.getModel("bloom"),E=v.getModel("edge"),S=v.getModel("DOF",v.getModel("depthOfField")),w=v.getModel("SSAO",v.getModel("screenSpaceAmbientOcclusion")),R=v.getModel("SSR",v.getModel("screenSpaceReflection")),O=v.getModel("FXAA"),G=v.getModel("colorCorrection");g.get("enable")?a.enableBloom():a.disableBloom(),S.get("enable")?a.enableDOF():a.disableDOF(),R.get("enable")?a.enableSSR():a.disableSSR(),G.get("enable")?a.enableColorCorrection():a.disableColorCorrection(),E.get("enable")?a.enableEdge():a.disableEdge(),O.get("enable")?a.enableFXAA():a.disableFXAA(),this._enableDOF=S.get("enable"),this._enableSSAO=w.get("enable"),this._enableSSAO?a.enableSSAO():a.disableSSAO(),a.setBloomIntensity(g.get("intensity")),a.setEdgeColor(E.get("color")),a.setColorLookupTexture(G.get("lookupTexture"),r),a.setExposure(G.get("exposure")),["radius","quality","intensity"].forEach(function(B){a.setSSAOParameter(B,w.get(B))}),["quality","maxRoughness"].forEach(function(B){a.setSSRParameter(B,R.get(B))}),["quality","focalDistance","focalRange","blurRadius","fstop"].forEach(function(B){a.setDOFParameter(B,S.get(B))}),["brightness","contrast","saturation"].forEach(function(B){a.setColorCorrection(B,G.get(B))})},m.prototype.setDOFFocusOnPoint=function(v){if(this._enablePostEffect)return v>this.camera.far||v<this.camera.near?void 0:(this._compositor.setDOFParameter("focalDistance",v),!0)},m.prototype.setTemporalSuperSampling=function(v){this._enableTemporalSS=v.get("enable")},m.prototype.isLinearSpace=function(){return this._enablePostEffect},m.prototype.setRootNode=function(v){if(this.rootNode!==v){for(var r=this.rootNode.children(),a=0;a<r.length;a++)v.add(r[a]);v!==this.scene&&this.scene.add(v),this.rootNode=v}},m.prototype.add=function(v){this.rootNode.add(v)},m.prototype.remove=function(v){this.rootNode.remove(v)},m.prototype.removeAll=function(v){this.rootNode.removeAll(v)},y.a.util.extend(m.prototype,i.a),X.a=m},function(te,X,D){"use strict";var W=0,y=Array.prototype,L=y.forEach,b={genGUID:function(){return++W},relative2absolute:function(s,T){if(!T||s.match(/^\//))return s;for(var c=s.split("/"),u=T.split("/"),f=c[0];f==="."||f==="..";)f===".."&&u.pop(),c.shift(),f=c[0];return u.join("/")+"/"+c.join("/")},extend:function(s,T){if(T)for(var c in T)T.hasOwnProperty(c)&&(s[c]=T[c]);return s},defaults:function(s,T){if(T)for(var c in T)s[c]===void 0&&(s[c]=T[c]);return s},extendWithPropList:function(s,T,c){if(T)for(var u=0;u<c.length;u++){var f=c[u];s[f]=T[f]}return s},defaultsWithPropList:function(s,T,c){if(T)for(var u=0;u<c.length;u++){var f=c[u];s[f]==null&&(s[f]=T[f])}return s},each:function(s,T,c){if(s&&T)if(s.forEach&&s.forEach===L)s.forEach(T,c);else if(s.length===+s.length)for(var u=0,f=s.length;u<f;u++)T.call(c,s[u],u,s);else for(var i in s)s.hasOwnProperty(i)&&T.call(c,s[i],i,s)},isObject:function(s){return s===Object(s)},isArray:function(s){return Array.isArray(s)},isArrayLike:function(s){return s?s.length===+s.length:!1},clone:function(s){if(b.isObject(s)){if(b.isArray(s))return s.slice();if(b.isArrayLike(s)){for(var T=new s.constructor(s.length),c=0;c<s.length;c++)T[c]=s[c];return T}else return b.extend({},s)}else return s}};X.a=b},function(te,X,D){"use strict";var W=D(13),y=D(0),L=D.n(y),b=D(33),s=D(1),T=D.n(s),c=T.a.vec3,u=[[0,0],[1,1]],f=W.a.extend(function(){return{segmentScale:1,dynamic:!0,useNativeLine:!0,attributes:{position:new W.a.Attribute("position","float",3,"POSITION"),positionPrev:new W.a.Attribute("positionPrev","float",3),positionNext:new W.a.Attribute("positionNext","float",3),prevPositionPrev:new W.a.Attribute("prevPositionPrev","float",3),prevPosition:new W.a.Attribute("prevPosition","float",3),prevPositionNext:new W.a.Attribute("prevPositionNext","float",3),offset:new W.a.Attribute("offset","float",1),color:new W.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(i){var o=this.attributes;this.vertexCount!==i&&(o.position.init(i),o.color.init(i),this.useNativeLine||(o.positionPrev.init(i),o.positionNext.init(i),o.offset.init(i)),i>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(i){this.triangleCount!==i&&(i===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(i*3):new Uint16Array(i*3))},_getCubicCurveApproxStep:function(i,o,d,p){var m=c.dist(i,o)+c.dist(d,o)+c.dist(p,d),h=1/(m+1)*this.segmentScale;return h},getCubicCurveVertexCount:function(i,o,d,p){var m=this._getCubicCurveApproxStep(i,o,d,p),h=Math.ceil(1/m);return this.useNativeLine?h*2:h*2+2},getCubicCurveTriangleCount:function(i,o,d,p){var m=this._getCubicCurveApproxStep(i,o,d,p),h=Math.ceil(1/m);return this.useNativeLine?0:h*2},getLineVertexCount:function(){return this.getPolylineVertexCount(u)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(u)},getPolylineVertexCount:function(i){var o;if(typeof i=="number")o=i;else{var d=typeof i[0]!="number";o=d?i.length:i.length/3}return this.useNativeLine?(o-1)*2:(o-1)*2+2},getPolylineTriangleCount:function(i){var o;if(typeof i=="number")o=i;else{var d=typeof i[0]!="number";o=d?i.length:i.length/3}return this.useNativeLine?0:Math.max(o-1,0)*2},addCubicCurve:function(i,o,d,p,m,h){h==null&&(h=1);for(var v=i[0],r=i[1],a=i[2],g=o[0],E=o[1],S=o[2],w=d[0],R=d[1],O=d[2],G=p[0],B=p[1],P=p[2],F=this._getCubicCurveApproxStep(i,o,d,p),K=F*F,U=K*F,V=3*F,C=3*K,M=6*K,z=6*U,$=v-g*2+w,q=r-E*2+R,se=a-S*2+O,ue=(g-w)*3-v+G,pe=(E-R)*3-r+B,Ee=(S-O)*3-a+P,De=v,Fe=r,Ge=a,xe=(g-v)*V+$*C+ue*U,Ke=(E-r)*V+q*C+pe*U,Ce=(S-a)*V+se*C+Ee*U,Se=$*M+ue*z,ge=q*M+pe*z,Re=se*M+Ee*z,ve=ue*z,Le=pe*z,Ue=Ee*z,me=0,oe=0,ie=Math.ceil(1/F),he=new Float32Array((ie+1)*3),he=[],ye=0,oe=0;oe<ie+1;oe++)he[ye++]=De,he[ye++]=Fe,he[ye++]=Ge,De+=xe,Fe+=Ke,Ge+=Ce,xe+=Se,Ke+=ge,Ce+=Re,Se+=ve,ge+=Le,Re+=Ue,me+=F,me>1&&(De=xe>0?Math.min(De,G):Math.max(De,G),Fe=Ke>0?Math.min(Fe,B):Math.max(Fe,B),Ge=Ce>0?Math.min(Ge,P):Math.max(Ge,P));return this.addPolyline(he,m,h)},addLine:function(i,o,d,p){return this.addPolyline([i,o],d,p)},addPolyline:function(i,o,d,p,m){if(i.length){var h=typeof i[0]!="number";if(m==null&&(m=h?i.length:i.length/3),!(m<2)){p==null&&(p=0),d==null&&(d=1),this._itemVertexOffsets.push(this._vertexOffset);var h=typeof i[0]!="number",v=h?typeof o[0]!="number":o.length/4===m,r=this.attributes.position,a=this.attributes.positionPrev,g=this.attributes.positionNext,E=this.attributes.color,S=this.attributes.offset,w=this.indices,R=this._vertexOffset,O,G;d=Math.max(d,.01);for(var B=p;B<m;B++){if(h)O=i[B],v?G=o[B]:G=o;else{var P=B*3;if(O=O||[],O[0]=i[P],O[1]=i[P+1],O[2]=i[P+2],v){var F=B*4;G=G||[],G[0]=o[F],G[1]=o[F+1],G[2]=o[F+2],G[3]=o[F+3]}else G=o}if(this.useNativeLine?B>1&&(r.copy(R,R-1),E.copy(R,R-1),R++):(B<m-1&&(a.set(R+2,O),a.set(R+3,O)),B>0&&(g.set(R-2,O),g.set(R-1,O)),r.set(R,O),r.set(R+1,O),E.set(R,G),E.set(R+1,G),S.set(R,d/2),S.set(R+1,-d/2),R+=2),this.useNativeLine)E.set(R,G),r.set(R,O),R++;else if(B>0){var K=this._triangleOffset*3,w=this.indices;w[K]=R-4,w[K+1]=R-3,w[K+2]=R-2,w[K+3]=R-3,w[K+4]=R-1,w[K+5]=R-2,this._triangleOffset+=2}}if(!this.useNativeLine){var U=this._vertexOffset,V=this._vertexOffset+m*2;a.copy(U,U+2),a.copy(U+1,U+3),g.copy(V-1,V-3),g.copy(V-2,V-4)}return this._vertexOffset=R,this._vertexOffset}}},setItemColor:function(i,o){for(var d=this._itemVertexOffsets[i],p=i<this._itemVertexOffsets.length-1?this._itemVertexOffsets[i+1]:this._vertexOffset,m=d;m<p;m++)this.attributes.color.set(m,o);this.dirty("color")},currentTriangleOffset:function(){return this._triangleOffset},currentVertexOffset:function(){return this._vertexOffset}});L.a.util.defaults(f.prototype,b.a),X.a=f},function(te,X,D){"use strict";var W=D(1),y=D.n(W),L=y.a.vec2,b=function(T,c){T=T||0,c=c||0,this.array=L.fromValues(T,c),this._dirty=!0};if(b.prototype={constructor:b,add:function(T){return L.add(this.array,this.array,T.array),this._dirty=!0,this},set:function(T,c){return this.array[0]=T,this.array[1]=c,this._dirty=!0,this},setArray:function(T){return this.array[0]=T[0],this.array[1]=T[1],this._dirty=!0,this},clone:function(){return new b(this.x,this.y)},copy:function(T){return L.copy(this.array,T.array),this._dirty=!0,this},cross:function(T,c){return L.cross(T.array,this.array,c.array),T._dirty=!0,this},dist:function(T){return L.dist(this.array,T.array)},distance:function(T){return L.distance(this.array,T.array)},div:function(T){return L.div(this.array,this.array,T.array),this._dirty=!0,this},divide:function(T){return L.divide(this.array,this.array,T.array),this._dirty=!0,this},dot:function(T){return L.dot(this.array,T.array)},len:function(){return L.len(this.array)},length:function(){return L.length(this.array)},lerp:function(T,c,u){return L.lerp(this.array,T.array,c.array,u),this._dirty=!0,this},min:function(T){return L.min(this.array,this.array,T.array),this._dirty=!0,this},max:function(T){return L.max(this.array,this.array,T.array),this._dirty=!0,this},mul:function(T){return L.mul(this.array,this.array,T.array),this._dirty=!0,this},multiply:function(T){return L.multiply(this.array,this.array,T.array),this._dirty=!0,this},negate:function(){return L.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return L.normalize(this.array,this.array),this._dirty=!0,this},random:function(T){return L.random(this.array,T),this._dirty=!0,this},scale:function(T){return L.scale(this.array,this.array,T),this._dirty=!0,this},scaleAndAdd:function(T,c){return L.scaleAndAdd(this.array,this.array,T.array,c),this._dirty=!0,this},sqrDist:function(T){return L.sqrDist(this.array,T.array)},squaredDistance:function(T){return L.squaredDistance(this.array,T.array)},sqrLen:function(){return L.sqrLen(this.array)},squaredLength:function(){return L.squaredLength(this.array)},sub:function(T){return L.sub(this.array,this.array,T.array),this._dirty=!0,this},subtract:function(T){return L.subtract(this.array,this.array,T.array),this._dirty=!0,this},transformMat2:function(T){return L.transformMat2(this.array,this.array,T.array),this._dirty=!0,this},transformMat2d:function(T){return L.transformMat2d(this.array,this.array,T.array),this._dirty=!0,this},transformMat3:function(T){return L.transformMat3(this.array,this.array,T.array),this._dirty=!0,this},transformMat4:function(T){return L.transformMat4(this.array,this.array,T.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},Object.defineProperty){var s=b.prototype;Object.defineProperty(s,"x",{get:function(){return this.array[0]},set:function(T){this.array[0]=T,this._dirty=!0}}),Object.defineProperty(s,"y",{get:function(){return this.array[1]},set:function(T){this.array[1]=T,this._dirty=!0}})}b.add=function(T,c,u){return L.add(T.array,c.array,u.array),T._dirty=!0,T},b.set=function(T,c,u){return L.set(T.array,c,u),T._dirty=!0,T},b.copy=function(T,c){return L.copy(T.array,c.array),T._dirty=!0,T},b.cross=function(T,c,u){return L.cross(T.array,c.array,u.array),T._dirty=!0,T},b.dist=function(T,c){return L.distance(T.array,c.array)},b.distance=b.dist,b.div=function(T,c,u){return L.divide(T.array,c.array,u.array),T._dirty=!0,T},b.divide=b.div,b.dot=function(T,c){return L.dot(T.array,c.array)},b.len=function(T){return L.length(T.array)},b.lerp=function(T,c,u,f){return L.lerp(T.array,c.array,u.array,f),T._dirty=!0,T},b.min=function(T,c,u){return L.min(T.array,c.array,u.array),T._dirty=!0,T},b.max=function(T,c,u){return L.max(T.array,c.array,u.array),T._dirty=!0,T},b.mul=function(T,c,u){return L.multiply(T.array,c.array,u.array),T._dirty=!0,T},b.multiply=b.mul,b.negate=function(T,c){return L.negate(T.array,c.array),T._dirty=!0,T},b.normalize=function(T,c){return L.normalize(T.array,c.array),T._dirty=!0,T},b.random=function(T,c){return L.random(T.array,c),T._dirty=!0,T},b.scale=function(T,c,u){return L.scale(T.array,c.array,u),T._dirty=!0,T},b.scaleAndAdd=function(T,c,u,f){return L.scaleAndAdd(T.array,c.array,u.array,f),T._dirty=!0,T},b.sqrDist=function(T,c){return L.sqrDist(T.array,c.array)},b.squaredDistance=b.sqrDist,b.sqrLen=function(T){return L.sqrLen(T.array)},b.squaredLength=b.sqrLen,b.sub=function(T,c,u){return L.subtract(T.array,c.array,u.array),T._dirty=!0,T},b.subtract=b.sub,b.transformMat2=function(T,c,u){return L.transformMat2(T.array,c.array,u.array),T._dirty=!0,T},b.transformMat2d=function(T,c,u){return L.transformMat2d(T.array,c.array,u.array),T._dirty=!0,T},b.transformMat3=function(T,c,u){return L.transformMat3(T.array,c.array,u.array),T._dirty=!0,T},b.transformMat4=function(T,c,u){return L.transformMat4(T.array,c.array,u.array),T._dirty=!0,T},X.a=b},function(te,X,D){"use strict";var W=D(64),y=D(11),L=D(5),b=W.a.extend({skeleton:null,joints:null,useSkinMatricesTexture:!1},function(){this.joints||(this.joints=[])},{isSkinnedMesh:function(){return!!(this.skeleton&&this.joints&&this.joints.length>0)},render:function(s,T,c){var u=s.gl;if(this.skeleton){this.skeleton.update();var f=this.skeleton.getSubSkinMatrices(this.__uid__,this.joints);c.setUniformOfSemantic(u,"SKIN_MATRIX",f)}return W.a.prototype.render.call(this,s,T,c)},getSkinMatricesTexture:function(){return this._skinMatricesTexture=this._skinMatricesTexture||new L.a({type:y.a.FLOAT,minFilter:y.a.NEAREST,magFilter:y.a.NEAREST,useMipmap:!1,flipY:!1}),this._skinMatricesTexture}});b.POINTS=y.a.POINTS,b.LINES=y.a.LINES,b.LINE_LOOP=y.a.LINE_LOOP,b.LINE_STRIP=y.a.LINE_STRIP,b.TRIANGLES=y.a.TRIANGLES,b.TRIANGLE_STRIP=y.a.TRIANGLE_STRIP,b.TRIANGLE_FAN=y.a.TRIANGLE_FAN,b.BACK=y.a.BACK,b.FRONT=y.a.FRONT,b.FRONT_AND_BACK=y.a.FRONT_AND_BACK,b.CW=y.a.CW,b.CCW=y.a.CCW,X.a=b},function(te,X,D){"use strict";var W=D(6),y=D(11),L=D(21),b=D(66),s=b.a.isPowerOfTwo,T=["px","nx","py","ny","pz","nz"],c=W.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(f){var i=f.gl;i.bindTexture(i.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),this.updateCommon(f);var o=this.format,d=this.type;i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_WRAP_S,this.getAvailableWrapS()),i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_WRAP_T,this.getAvailableWrapT()),i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var p=f.getGLExtension("EXT_texture_filter_anisotropic");if(p&&this.anisotropic>1&&i.texParameterf(i.TEXTURE_CUBE_MAP,p.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),d===36193){var m=f.getGLExtension("OES_texture_half_float");m||(d=y.a.FLOAT)}if(this.mipmaps.length)for(var h=this.width,v=this.height,r=0;r<this.mipmaps.length;r++){var a=this.mipmaps[r];this._updateTextureData(i,a,r,h,v,o,d),h/=2,v/=2}else this._updateTextureData(i,this,0,this.width,this.height,o,d),!this.NPOT&&this.useMipmap&&i.generateMipmap(i.TEXTURE_CUBE_MAP);i.bindTexture(i.TEXTURE_CUBE_MAP,null)},_updateTextureData:function(f,i,o,d,p,m,h){for(var v=0;v<6;v++){var r=T[v],a=i.image&&i.image[r];a?f.texImage2D(f.TEXTURE_CUBE_MAP_POSITIVE_X+v,o,m,m,h,a):f.texImage2D(f.TEXTURE_CUBE_MAP_POSITIVE_X+v,o,m,d,p,0,m,h,i.pixels&&i.pixels[r])}},generateMipmap:function(f){var i=f.gl;this.useMipmap&&!this.NPOT&&(i.bindTexture(i.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),i.generateMipmap(i.TEXTURE_CUBE_MAP))},bind:function(f){f.gl.bindTexture(f.gl.TEXTURE_CUBE_MAP,this.getWebGLTexture(f))},unbind:function(f){f.gl.bindTexture(f.gl.TEXTURE_CUBE_MAP,null)},isPowerOfTwo:function(){return this.image.px?s(this.image.px.width)&&s(this.image.px.height):s(this.width)&&s(this.height)},isRenderable:function(){return this.image.px?u(this.image.px)&&u(this.image.nx)&&u(this.image.py)&&u(this.image.ny)&&u(this.image.pz)&&u(this.image.nz):!!(this.width&&this.height)},load:function(f,i){var o=0,d=this;return L.a.each(f,function(p,m){var h=new Image;i&&(h.crossOrigin=i),h.onload=function(){o--,o===0&&(d.dirty(),d.trigger("success",d)),h.onload=null},h.onerror=function(){o--,h.onerror=null},o++,h.src=p,d.image[m]=h}),this}});Object.defineProperty(c.prototype,"width",{get:function(){return this.image&&this.image.px?this.image.px.width:this._width},set:function(f){this.image&&this.image.px?console.warn("Texture from image can't set width"):(this._width!==f&&this.dirty(),this._width=f)}}),Object.defineProperty(c.prototype,"height",{get:function(){return this.image&&this.image.px?this.image.px.height:this._height},set:function(f){this.image&&this.image.px?console.warn("Texture from image can't set height"):(this._height!==f&&this.dirty(),this._height=f)}});function u(f){return f.nodeName==="CANVAS"||f.nodeName==="VIDEO"||f.complete}X.a=c},function(te,X,D){"use strict";X.a={defaultOption:{shading:null,realisticMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},lambertMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},colorMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},hatchingMaterial:{textureTiling:1,textureOffset:0,paperColor:"#fff"}}}},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L={};L.getFormattedLabel=function(b,s,T,c,u){T=T||"normal";var f=b.getData(c),i=f.getItemModel(s),o=b.getDataParams(s,c);u!=null&&o.value instanceof Array&&(o.value=o.value[u]);var d=i.get(T==="normal"?["label","formatter"]:["emphasis","label","formatter"]);d==null&&(d=i.get(["label","formatter"]));var p;return typeof d=="function"?(o.status=T,p=d(o)):typeof d=="string"&&(p=y.a.format.formatTpl(d,o)),p},L.normalizeToArray=function(b){return b instanceof Array?b:b==null?[]:[b]},X.a=L},function(te,X,D){"use strict";var W=D(8),y=D(4),L=D(50),b=D(9),s=D(1),T=D.n(s),c=D(15),u=T.a.mat4,f=0,i=W.a.extend({name:"",position:null,rotation:null,scale:null,worldTransform:null,localTransform:null,autoUpdateLocalTransform:!0,_parent:null,_scene:null,_needsUpdateWorldTransform:!0,_inIterating:!1,__depth:0},function(){this.name||(this.name=(this.type||"NODE")+"_"+f++),this.position||(this.position=new y.a),this.rotation||(this.rotation=new L.a),this.scale||(this.scale=new y.a(1,1,1)),this.worldTransform=new b.a,this.localTransform=new b.a,this._children=[]},{target:null,invisible:!1,isSkinnedMesh:function(){return!1},isRenderable:function(){return!1},setName:function(o){var d=this._scene;if(d){var p=d._nodeRepository;delete p[this.name],p[o]=this}this.name=o},add:function(o){this._inIterating&&console.warn("Add operation can cause unpredictable error when in iterating");var d=o._parent;if(d!==this){d&&d.remove(o),o._parent=this,this._children.push(o);var p=this._scene;p&&p!==o.scene&&o.traverse(this._addSelfToScene,this),o._needsUpdateWorldTransform=!0}},remove:function(o){this._inIterating&&console.warn("Remove operation can cause unpredictable error when in iterating");var d=this._children,p=d.indexOf(o);p<0||(d.splice(p,1),o._parent=null,this._scene&&o.traverse(this._removeSelfFromScene,this))},removeAll:function(){for(var o=this._children,d=0;d<o.length;d++)o[d]._parent=null,this._scene&&o[d].traverse(this._removeSelfFromScene,this);this._children=[]},getScene:function(){return this._scene},getParent:function(){return this._parent},_removeSelfFromScene:function(o){o._scene.removeFromScene(o),o._scene=null},_addSelfToScene:function(o){this._scene.addToScene(o),o._scene=this._scene},isAncestor:function(o){for(var d=o._parent;d;){if(d===this)return!0;d=d._parent}return!1},children:function(){return this._children.slice()},childAt:function(o){return this._children[o]},getChildByName:function(o){for(var d=this._children,p=0;p<d.length;p++)if(d[p].name===o)return d[p]},getDescendantByName:function(o){for(var d=this._children,p=0;p<d.length;p++){var m=d[p];if(m.name===o)return m;var h=m.getDescendantByName(o);if(h)return h}},queryNode:function(o){if(o){for(var d=o.split("/"),p=this,m=0;m<d.length;m++){var h=d[m];if(h){for(var v=!1,r=p._children,a=0;a<r.length;a++){var g=r[a];if(g.name===h){p=g,v=!0;break}}if(!v)return}}return p}},getPath:function(o){if(!this._parent)return"/";for(var d=this._parent,p=this.name;d._parent&&(p=d.name+"/"+p,d._parent!=o);)d=d._parent;return!d._parent&&o?null:p},traverse:function(o,d,p){this._inIterating=!0,(!p||p.call(d,this))&&o.call(d,this);for(var m=this._children,h=0,v=m.length;h<v;h++)m[h].traverse(o,d,p);this._inIterating=!1},eachChild:function(o,d,p){this._inIterating=!0;for(var m=this._children,h=p==null,v=0,r=m.length;v<r;v++){var a=m[v];(h||a.constructor===p)&&o.call(d,a,v)}this._inIterating=!1},setLocalTransform:function(o){u.copy(this.localTransform.array,o.array),this.decomposeLocalTransform()},decomposeLocalTransform:function(o){var d=o?null:this.scale;this.localTransform.decomposeMatrix(d,this.rotation,this.position)},setWorldTransform:function(o){u.copy(this.worldTransform.array,o.array),this.decomposeWorldTransform()},decomposeWorldTransform:function(){var o=u.create();return function(d){var p=this.localTransform,m=this.worldTransform;this._parent?(u.invert(o,this._parent.worldTransform.array),u.multiply(p.array,o,m.array)):u.copy(p.array,m.array);var h=d?null:this.scale;p.decomposeMatrix(h,this.rotation,this.position)}}(),transformNeedsUpdate:function(){return this.position._dirty||this.rotation._dirty||this.scale._dirty},updateLocalTransform:function(){var o=this.position,d=this.rotation,p=this.scale;if(this.transformNeedsUpdate()){var m=this.localTransform.array;u.fromRotationTranslation(m,d.array,o.array),u.scale(m,m,p.array),d._dirty=!1,p._dirty=!1,o._dirty=!1,this._needsUpdateWorldTransform=!0}},_updateWorldTransformTopDown:function(){var o=this.localTransform.array,d=this.worldTransform.array;this._parent?u.multiplyAffine(d,this._parent.worldTransform.array,o):u.copy(d,o)},updateWorldTransform:function(){for(var o=this;o&&o.getParent()&&o.getParent().transformNeedsUpdate();)o=o.getParent();o.update()},update:function(o){this.autoUpdateLocalTransform?this.updateLocalTransform():o=!0,(o||this._needsUpdateWorldTransform)&&(this._updateWorldTransformTopDown(),o=!0,this._needsUpdateWorldTransform=!1);for(var d=this._children,p=0,m=d.length;p<m;p++)d[p].update(o)},getBoundingBox:function(){function o(h){return!h.invisible&&h.geometry}var d=new c.a,p=new b.a,m=new b.a;return function(h,v){return v=v||new c.a,h=h||o,this._parent?b.a.invert(m,this._parent.worldTransform):b.a.identity(m),this.traverse(function(r){r.geometry&&r.geometry.boundingBox&&(d.copy(r.geometry.boundingBox),b.a.multiply(p,m,r.worldTransform),d.applyTransform(p),v.union(d))},this,o),v}}(),getWorldPosition:function(o){this.transformNeedsUpdate()&&this.updateWorldTransform();var d=this.worldTransform.array;if(o){var p=o.array;return p[0]=d[12],p[1]=d[13],p[2]=d[14],o}else return new y.a(d[12],d[13],d[14])},clone:function(){var o=new this.constructor,d=this._children;o.setName(this.name),o.position.copy(this.position),o.rotation.copy(this.rotation),o.scale.copy(this.scale);for(var p=0;p<d.length;p++)o.add(d[p].clone());return o},rotateAround:function(){var o=new y.a,d=new b.a;return function(p,m,h){o.copy(this.position).subtract(p);var v=this.localTransform;v.identity(),v.translate(p),v.rotate(h,m),d.fromRotationTranslation(this.rotation,o),v.multiply(d),v.scale(this.scale),this.decomposeLocalTransform(),this._needsUpdateWorldTransform=!0}}(),lookAt:function(){var o=new b.a;return function(d,p){o.lookAt(this.position,d,p||this.localTransform.y).invert(),this.setLocalTransform(o),this.target=d}}()});X.a=i},function(te,X,D){"use strict";var W=D(28),y=D(19),L=D(51),b=D(15),s=D(21),T={};function c(i){var o=[],d=Object.keys(i);d.sort();for(var p=0;p<d.length;p++){var m=i[p];o.push(m+" "+i[m])}var h=o.join(`
`);if(T[h])return T[h];var v=s.a.genGUID();return T[h]=v,v}var u=W.a.extend(function(){return{material:null,autoUpdate:!0,opaqueList:[],transparentList:[],lights:[],viewBoundingBoxLastFrame:new b.a,shadowUniforms:{},_cameraList:[],_lightUniforms:{},_previousLightNumber:{},_lightNumber:{},_lightProgramKeys:{},_opaqueObjectCount:0,_transparentObjectCount:0,_nodeRepository:{}}},function(){this._scene=this},{addToScene:function(i){i instanceof L.a&&(this._cameraList.length>0&&console.warn("Found multiple camera in one scene. Use the fist one."),this._cameraList.push(i)),i.name&&(this._nodeRepository[i.name]=i)},removeFromScene:function(i){if(i instanceof L.a){var o=this._cameraList.indexOf(i);o>=0&&this._cameraList.splice(o,1)}i.name&&delete this._nodeRepository[i.name]},getNode:function(i){return this._nodeRepository[i]},cloneNode:function(i){var o=i.clone(),d={},p=function(h,v){h.skeleton&&(v.skeleton=h.skeleton.clone(i,o),v.joints=h.joints.slice()),h.material&&(d[h.material.__uid__]={oldMat:h.material});for(var r=0;r<h._children.length;r++)p(h._children[r],v._children[r])};p(i,o);for(var m in d)d[m].newMat=d[m].oldMat.clone();return o.traverse(function(h){h.material&&(h.material=d[h.material.__uid__].newMat)}),o},update:function(i,o){if(this.autoUpdate||i){W.a.prototype.update.call(this,i);var d=this.lights,p=this.material&&this.material.transparent;if(this._opaqueObjectCount=0,this._transparentObjectCount=0,d.length=0,this._updateRenderList(this,p),this.opaqueList.length=this._opaqueObjectCount,this.transparentList.length=this._transparentObjectCount,!o){this._previousLightNumber=this._lightNumber;for(var m={},h=0;h<d.length;h++){var v=d[h],r=v.group;m[r]||(m[r]={}),m[r][v.type]=m[r][v.type]||0,m[r][v.type]++}this._lightNumber=m;for(var a in m)this._lightProgramKeys[a]=c(m[a]);this._updateLightUniforms()}}},getMainCamera:function(){return this._cameraList[0]},_updateRenderList:function(i,o){if(!i.invisible)for(var d=0;d<i._children.length;d++){var p=i._children[d];p instanceof y.a?this.lights.push(p):p.isRenderable()&&(p.material.transparent||o?this.transparentList[this._transparentObjectCount++]=p:this.opaqueList[this._opaqueObjectCount++]=p),p._children.length>0&&this._updateRenderList(p)}},_updateLightUniforms:function(){var i=this.lights;i.sort(f);var o=this._lightUniforms;for(var d in o)for(var p in o[d])o[d][p].value.length=0;for(var m=0;m<i.length;m++){var h=i[m],d=h.group;for(var p in h.uniformTemplates){var v=h.uniformTemplates[p],r=v.value(h);if(r!=null){o[d]||(o[d]={}),o[d][p]||(o[d][p]={type:"",value:[]});var a=o[d][p];switch(a.type=v.type+"v",v.type){case"1i":case"1f":case"t":a.value.push(r);break;case"2f":case"3f":case"4f":for(var g=0;g<r.length;g++)a.value.push(r[g]);break;default:console.error("Unkown light uniform type "+v.type)}}}}},getLightGroups:function(){var i=[];for(var o in this._lightNumber)i.push(o);return i},getNumberChangedLightGroups:function(){var i=[];for(var o in this._lightNumber)this.isLightNumberChanged(o)&&i.push(o);return i},isLightNumberChanged:function(i){var o=this._previousLightNumber,d=this._lightNumber;for(var p in d[i])if(!o[i]||d[i][p]!==o[i][p])return!0;for(var p in o[i])if(!d[i]||d[i][p]!==o[i][p])return!0;return!1},getLightsNumbers:function(i){return this._lightNumber[i]},getProgramKey:function(i){return this._lightProgramKeys[i]},setLightUniforms:function(){function i(o,d,p){for(var m in o){var h=o[m];if(h.type==="tv"){if(!d.hasUniform(m))continue;for(var v=[],r=0;r<h.value.length;r++){var a=h.value[r],g=d.takeCurrentTextureSlot(p,a);v.push(g)}d.setUniform(p.gl,"1iv",m,v)}else d.setUniform(p.gl,h.type,m,h.value)}}return function(o,d,p){i(this._lightUniforms[d],o,p),i(this.shadowUniforms,o,p)}}(),dispose:function(){this.material=null,this.opaqueList=[],this.transparentList=[],this.lights=[],this._lightUniforms={},this._lightNumber={},this._nodeRepository={}}});function f(i,o){if(o.castShadow&&!i.castShadow)return!0}X.a=u},function(te,X,D){"use strict";var W=D(51),y=W.a.extend({left:-1,right:1,near:-1,far:1,top:1,bottom:-1},{updateProjectionMatrix:function(){this.projectionMatrix.ortho(this.left,this.right,this.bottom,this.top,this.near,this.far)},decomposeProjectionMatrix:function(){var L=this.projectionMatrix.array;this.left=(-1-L[12])/L[0],this.right=(1-L[12])/L[0],this.top=(1-L[13])/L[5],this.bottom=(-1-L[13])/L[5],this.near=-(-1-L[14])/L[10],this.far=-(1-L[14])/L[10]},clone:function(){var L=W.a.prototype.clone.call(this);return L.left=this.left,L.right=this.right,L.near=this.near,L.far=this.far,L.top=this.top,L.bottom=this.bottom,L}});X.a=y},function(te,X,D){"use strict";X.a={defaultOption:{postEffect:{enable:!1,bloom:{enable:!0,intensity:.1},depthOfField:{enable:!1,focalRange:20,focalDistance:50,blurRadius:10,fstop:2.8,quality:"medium"},screenSpaceAmbientOcclusion:{enable:!1,radius:2,quality:"medium",intensity:1},screenSpaceReflection:{enable:!1,quality:"medium",maxRoughness:.8},colorCorrection:{enable:!0,exposure:0,brightness:0,contrast:1,saturation:1,lookupTexture:""},edge:{enable:!1},FXAA:{enable:!1}},temporalSuperSampling:{enable:"auto"}}}},function(te,X,D){"use strict";X.a={defaultOption:{light:{main:{shadow:!1,shadowQuality:"high",color:"#fff",intensity:1,alpha:0,beta:0},ambient:{color:"#fff",intensity:.2},ambientCubemap:{texture:null,exposure:1,diffuseIntensity:.5,specularIntensity:.5}}}}},function(te,X,D){"use strict";X.a={convertToDynamicArray:function(W){W&&this.resetOffset();var y=this.attributes;for(var L in y)W||!y[L].value?y[L].value=[]:y[L].value=Array.prototype.slice.call(y[L].value);W||!this.indices?this.indices=[]:this.indices=Array.prototype.slice.call(this.indices)},convertToTypedArray:function(){var W=this.attributes;for(var y in W)W[y].value&&W[y].value.length>0?W[y].value=new Float32Array(W[y].value):W[y].value=null;this.indices&&this.indices.length>0&&(this.indices=this.vertexCount>65535?new Uint32Array(this.indices):new Uint16Array(this.indices)),this.dirty()}}},function(te,X,D){"use strict";var W=D(2),y=D(57),L=D(56),b=D(0),s=D.n(b);function T(){}T.prototype={constructor:T,setScene:function(c){this._scene=c,this._skybox&&this._skybox.attachScene(this._scene)},initLight:function(c){this._lightRoot=c,this.mainLight=new W.a.DirectionalLight({shadowBias:.005}),this.ambientLight=new W.a.AmbientLight,c.add(this.mainLight),c.add(this.ambientLight)},dispose:function(){this._lightRoot&&(this._lightRoot.remove(this.mainLight),this._lightRoot.remove(this.ambientLight))},updateLight:function(c){var u=this.mainLight,f=this.ambientLight,i=c.getModel("light"),o=i.getModel("main"),d=i.getModel("ambient");u.intensity=o.get("intensity"),f.intensity=d.get("intensity"),u.color=W.a.parseColor(o.get("color")).slice(0,3),f.color=W.a.parseColor(d.get("color")).slice(0,3);var p=o.get("alpha")||0,m=o.get("beta")||0;u.position.setArray(W.a.directionFromAlphaBeta(p,m)),u.lookAt(W.a.Vector3.ZERO),u.castShadow=o.get("shadow"),u.shadowResolution=W.a.getShadowResolution(o.get("shadowQuality"))},updateAmbientCubemap:function(c,u,f){var i=u.getModel("light.ambientCubemap"),o=i.get("texture");if(o){this._cubemapLightsCache=this._cubemapLightsCache||{};var d=this._cubemapLightsCache[o];if(!d){var p=this;d=this._cubemapLightsCache[o]=W.a.createAmbientCubemap(i.option,c,f,function(){p._skybox instanceof y.a&&p._skybox.setEnvironmentMap(d.specular.cubemap),f.getZr().refresh()})}this._lightRoot.add(d.diffuse),this._lightRoot.add(d.specular),this._currentCubemapLights=d}else this._currentCubemapLights&&(this._lightRoot.remove(this._currentCubemapLights.diffuse),this._lightRoot.remove(this._currentCubemapLights.specular),this._currentCubemapLights=null)},updateSkybox:function(c,u,f){var i=u.get("environment"),o=this;function d(){return o._skybox instanceof y.a||(o._skybox&&o._skybox.dispose(c),o._skybox=new y.a),o._skybox}function p(){return o._skybox instanceof L.a||(o._skybox&&o._skybox.dispose(c),o._skybox=new L.a),o._skybox}if(i&&i!=="none")if(i==="auto")if(this._currentCubemapLights){var m=d(),h=this._currentCubemapLights.specular.cubemap;m.setEnvironmentMap(h),this._scene&&m.attachScene(this._scene),m.material.set("lod",2)}else this._skybox&&this._skybox.detachScene();else if(typeof i=="object"&&i.colorStops||typeof i=="string"&&s.a.color.parse(i)){var v=p(),r=new W.a.Texture2D({anisotropic:8,flipY:!1});v.setEnvironmentMap(r);var a=r.image=document.createElement("canvas");a.width=a.height=16;var g=a.getContext("2d"),E=new s.a.graphic.Rect({shape:{x:0,y:0,width:16,height:16},style:{fill:i}});E.brush(g),v.attachScene(this._scene)}else{var v=p(),r=W.a.loadTexture(i,f,{anisotropic:8,flipY:!1});v.setEnvironmentMap(r),v.attachScene(this._scene)}else this._skybox&&this._skybox.detachScene(this._scene),this._skybox=null;var S=u.coordinateSystem;if(this._skybox)if(S&&S.viewGL&&i!=="auto"&&!(i.match&&i.match(/.hdr$/))){var w=S.viewGL.isLinearSpace()?"define":"undefine";this._skybox.material[w]("fragment","SRGB_DECODE")}else this._skybox.material.undefine("fragment","SRGB_DECODE")}},X.a=T},function(te,X,D){"use strict";var W=D(0),y=D.n(W);function L(b,s){var T=[];return y.a.util.each(b.dimensions,function(c){var u=b.getDimensionInfo(c),f=u.otherDims,i=f[s];i!=null&&i!==!1&&(T[i]=u.name)}),T}X.a=function(b,s,T){function c(h){var v=!0,r=[],a=L(u,"tooltip");a.length?y.a.util.each(a,function(E){g(u.get(E,s),E)}):y.a.util.each(h,g);function g(E,S){var w=u.getDimensionInfo(S);if(!(!w||w.otherDims.tooltip===!1)){var R=w.type,O=(v?"- "+(w.tooltipName||w.name)+": ":"")+(R==="ordinal"?E+"":R==="time"?T?"":y.a.format.formatTime("yyyy/MM/dd hh:mm:ss",E):y.a.format.addCommas(E));O&&r.push(y.a.format.encodeHTML(O))}}return(v?"<br/>":"")+r.join(v?"<br/>":", ")}var u=b.getData(),f=b.getRawValue(s),i=y.a.util.isArray(f)?c(f):y.a.format.encodeHTML(y.a.format.addCommas(f)),o=u.getName(s),d=u.getItemVisual(s,"color");y.a.util.isObject(d)&&d.colorStops&&(d=(d.colorStops[0]||{}).color),d=d||"transparent";var p=y.a.format.getTooltipMarker(d),m=b.name;return m==="\0-"&&(m=""),m=m?y.a.format.encodeHTML(m)+(T?": ":"<br/>"):"",T?p+m+i:m+p+(o?y.a.format.encodeHTML(o)+": "+i:i)}},function(te,X,D){"use strict";var W=D(51),y=W.a.extend({fov:50,aspect:1,near:.1,far:2e3},{updateProjectionMatrix:function(){var L=this.fov/180*Math.PI;this.projectionMatrix.perspective(L,this.aspect,this.near,this.far)},decomposeProjectionMatrix:function(){var L=this.projectionMatrix.array,b=Math.atan(1/L[5])*2;this.fov=b/Math.PI*180,this.aspect=L[5]/L[0],this.near=L[14]/(L[10]-1),this.far=L[14]/(L[10]+1)},clone:function(){var L=W.a.prototype.clone.call(this);return L.fov=this.fov,L.aspect=this.aspect,L.near=this.near,L.far=this.far,L}});X.a=y},function(te,X,D){"use strict";var W=D(13),y=D(15),L=W.a.extend({dynamic:!1,widthSegments:1,heightSegments:1},function(){this.build()},{build:function(){for(var b=this.heightSegments,s=this.widthSegments,T=this.attributes,c=[],u=[],f=[],i=[],o=0;o<=b;o++)for(var d=o/b,p=0;p<=s;p++){var m=p/s;if(c.push([2*m-1,2*d-1,0]),u&&u.push([m,d]),f&&f.push([0,0,1]),p<s&&o<b){var h=p+o*(s+1);i.push([h,h+1,h+s+1]),i.push([h+s+1,h+1,h+s+2])}}T.position.fromArray(c),T.texcoord0.fromArray(u),T.normal.fromArray(f),this.initIndicesFromArray(i),this.boundingBox=new y.a,this.boundingBox.min.set(-1,-1,0),this.boundingBox.max.set(1,1,0)}});X.a=L},function(te,X,D){"use strict";X.a={defaultOption:{viewControl:{projection:"perspective",autoRotate:!1,autoRotateDirection:"cw",autoRotateSpeed:10,autoRotateAfterStill:3,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",distance:150,minDistance:40,maxDistance:400,orthographicSize:150,maxOrthographicSize:400,minOrthographicSize:20,center:[0,0,0],alpha:0,beta:0,minAlpha:-90,maxAlpha:90}},setView:function(W){W=W||{},this.option.viewControl=this.option.viewControl||{},W.alpha!=null&&(this.option.viewControl.alpha=W.alpha),W.beta!=null&&(this.option.viewControl.beta=W.beta),W.distance!=null&&(this.option.viewControl.distance=W.distance),W.center!=null&&(this.option.viewControl.center=W.center)}}},function(te,X,D){"use strict";var W=D(8),y=D(23),L=D(4),b=D(50),s=D(3),T=s.a.firstNotNull,c={left:0,middle:1,right:2};function u(i){return i instanceof Array||(i=[i,i]),i}var f=W.a.extend(function(){return{zr:null,viewGL:null,_center:new L.a,minDistance:.5,maxDistance:1.5,maxOrthographicSize:300,minOrthographicSize:30,minAlpha:-90,maxAlpha:90,minBeta:-1/0,maxBeta:1/0,autoRotateAfterStill:0,autoRotateDirection:"cw",autoRotateSpeed:60,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",_mode:"rotate",_camera:null,_needsUpdate:!1,_rotating:!1,_phi:0,_theta:0,_mouseX:0,_mouseY:0,_rotateVelocity:new y.a,_panVelocity:new y.a,_distance:500,_zoomSpeed:0,_stillTimeout:0,_animators:[]}},function(){["_mouseDownHandler","_mouseWheelHandler","_mouseMoveHandler","_mouseUpHandler","_pinchHandler","_contextMenuHandler","_update"].forEach(function(i){this[i]=this[i].bind(this)},this)},{init:function(){var i=this.zr;i&&(i.on("mousedown",this._mouseDownHandler),i.on("globalout",this._mouseUpHandler),i.on("mousewheel",this._mouseWheelHandler),i.on("pinch",this._pinchHandler),i.animation.on("frame",this._update),i.dom.addEventListener("contextmenu",this._contextMenuHandler))},dispose:function(){var i=this.zr;i&&(i.off("mousedown",this._mouseDownHandler),i.off("mousemove",this._mouseMoveHandler),i.off("mouseup",this._mouseUpHandler),i.off("mousewheel",this._mouseWheelHandler),i.off("pinch",this._pinchHandler),i.off("globalout",this._mouseUpHandler),i.dom.removeEventListener("contextmenu",this._contextMenuHandler),i.animation.off("frame",this._update)),this.stopAllAnimation()},getDistance:function(){return this._distance},setDistance:function(i){this._distance=i,this._needsUpdate=!0},getOrthographicSize:function(){return this._orthoSize},setOrthographicSize:function(i){this._orthoSize=i,this._needsUpdate=!0},getAlpha:function(){return this._theta/Math.PI*180},getBeta:function(){return-this._phi/Math.PI*180},getCenter:function(){return this._center.toArray()},setAlpha:function(i){i=Math.max(Math.min(this.maxAlpha,i),this.minAlpha),this._theta=i/180*Math.PI,this._needsUpdate=!0},setBeta:function(i){i=Math.max(Math.min(this.maxBeta,i),this.minBeta),this._phi=-i/180*Math.PI,this._needsUpdate=!0},setCenter:function(i){this._center.setArray(i)},setViewGL:function(i){this.viewGL=i},getCamera:function(){return this.viewGL.camera},setFromViewControlModel:function(i,o){o=o||{};var d=o.baseDistance||0,p=o.baseOrthoSize||1,m=i.get("projection");m!=="perspective"&&m!=="orthographic"&&m!=="isometric"&&(console.error("Unkown projection type %s, use perspective projection instead.",m),m="perspective"),this._projection=m,this.viewGL.setProjection(m);var h=i.get("distance")+d,v=i.get("orthographicSize")+p;[["damping",.8],["autoRotate",!1],["autoRotateAfterStill",3],["autoRotateDirection","cw"],["autoRotateSpeed",10],["minDistance",30],["maxDistance",400],["minOrthographicSize",30],["maxOrthographicSize",300],["minAlpha",-90],["maxAlpha",90],["minBeta",-1/0],["maxBeta",1/0],["rotateSensitivity",1],["zoomSensitivity",1],["panSensitivity",1],["panMouseButton","left"],["rotateMouseButton","middle"]].forEach(function(w){this[w[0]]=T(i.get(w[0]),w[1])},this),this.minDistance+=d,this.maxDistance+=d,this.minOrthographicSize+=p,this.maxOrthographicSize+=p;var r=i.ecModel,a={};["animation","animationDurationUpdate","animationEasingUpdate"].forEach(function(w){a[w]=T(i.get(w),r&&r.get(w))});var g=T(o.alpha,i.get("alpha"))||0,E=T(o.beta,i.get("beta"))||0,S=T(o.center,i.get("center"))||[0,0,0];a.animation&&a.animationDurationUpdate>0&&this._notFirst?this.animateTo({alpha:g,beta:E,center:S,distance:h,targetOrthographicSize:v,easing:a.animationEasingUpdate,duration:a.animationDurationUpdate}):(this.setDistance(h),this.setAlpha(g),this.setBeta(E),this.setCenter(S),this.setOrthographicSize(v)),this._notFirst=!0,this._validateProperties()},_validateProperties:function(){c[this.panMouseButton]==null&&console.error("Unkown panMouseButton %s. It should be left|middle|right",this.panMouseButton),c[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(i){var o=this.zr,d=this,p={},m={};return i.distance!=null&&(p.distance=this.getDistance(),m.distance=i.distance),i.orthographicSize!=null&&(p.orthographicSize=this.getOrthographicSize(),m.orthographicSize=i.orthographicSize),i.alpha!=null&&(p.alpha=this.getAlpha(),m.alpha=i.alpha),i.beta!=null&&(p.beta=this.getBeta(),m.beta=i.beta),i.center!=null&&(p.center=this.getCenter(),m.center=i.center),this._addAnimator(o.animation.animate(p).when(i.duration||1e3,m).during(function(){p.alpha!=null&&d.setAlpha(p.alpha),p.beta!=null&&d.setBeta(p.beta),p.distance!=null&&d.setDistance(p.distance),p.center!=null&&d.setCenter(p.center),p.orthographicSize!=null&&d.setOrthographicSize(p.orthographicSize),d._needsUpdate=!0})).start(i.easing||"linear")},stopAllAnimation:function(){for(var i=0;i<this._animators.length;i++)this._animators[i].stop();this._animators.length=0},_isAnimating:function(){return this._animators.length>0},_update:function(i){if(this._rotating){var o=(this.autoRotateDirection==="cw"?1:-1)*this.autoRotateSpeed/180*Math.PI;this._phi-=o*i/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&&(i=Math.min(i,50),this._updateDistanceOrSize(i),this._updatePan(i),this._updateRotate(i),this._updateTransform(),this.getCamera().update(),this.zr&&this.zr.refresh(),this.trigger("update"),this._needsUpdate=!1)},_updateRotate:function(i){var o=this._rotateVelocity;this._phi=o.y*i/20+this._phi,this._theta=o.x*i/20+this._theta,this.setAlpha(this.getAlpha()),this.setBeta(this.getBeta()),this._vectorDamping(o,Math.pow(this.damping,i/16))},_updateDistanceOrSize:function(i){this._projection==="perspective"?this._setDistance(this._distance+this._zoomSpeed*i/20):this._setOrthoSize(this._orthoSize+this._zoomSpeed*i/20),this._zoomSpeed*=Math.pow(this.damping,i/16)},_setDistance:function(i){this._distance=Math.max(Math.min(i,this.maxDistance),this.minDistance)},_setOrthoSize:function(i){this._orthoSize=Math.max(Math.min(i,this.maxOrthographicSize),this.minOrthographicSize);var o=this.getCamera(),d=this._orthoSize,p=d/this.viewGL.viewport.height*this.viewGL.viewport.width;o.left=-p/2,o.right=p/2,o.top=d/2,o.bottom=-d/2},_updatePan:function(i){var o=this._panVelocity,d=this._distance,p=this.getCamera(),m=p.worldTransform.y,h=p.worldTransform.x;this._center.scaleAndAdd(h,-o.x*d/200).scaleAndAdd(m,-o.y*d/200),this._vectorDamping(o,0)},_updateTransform:function(){var i=this.getCamera(),o=new L.a,d=this._theta+Math.PI/2,p=this._phi+Math.PI/2,m=Math.sin(d);o.x=m*Math.cos(p),o.y=-Math.cos(d),o.z=m*Math.sin(p),i.position.copy(this._center).scaleAndAdd(o,this._distance),i.rotation.identity().rotateY(-this._phi).rotateX(-this._theta)},_startCountingStill:function(){clearTimeout(this._stillTimeout);var i=this.autoRotateAfterStill,o=this;!isNaN(i)&&i>0&&(this._stillTimeout=setTimeout(function(){o._rotating=!0},i*1e3))},_vectorDamping:function(i,o){var d=i.len();d=d*o,d<1e-4&&(d=0),i.normalize().scale(d)},_decomposeTransform:function(){if(this.getCamera()){this.getCamera().updateWorldTransform();var i=this.getCamera().worldTransform.z,o=Math.asin(i.y),d=Math.atan2(i.x,i.z);this._theta=o,this._phi=-d,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(i){if(!i.target&&!this._isAnimating()){var o=i.offsetX,d=i.offsetY;this.viewGL&&!this.viewGL.containPoint(o,d)||(this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler),i.event.targetTouches?i.event.targetTouches.length===1&&(this._mode="rotate"):i.event.button===c[this.rotateMouseButton]?this._mode="rotate":i.event.button===c[this.panMouseButton]?this._mode="pan":this._mode="",this._rotateVelocity.set(0,0),this._rotating=!1,this.autoRotate&&this._startCountingStill(),this._mouseX=i.offsetX,this._mouseY=i.offsetY)}},_mouseMoveHandler:function(i){if(!(i.target&&i.target.__isGLToZRProxy)&&!this._isAnimating()){var o=u(this.panSensitivity),d=u(this.rotateSensitivity);this._mode==="rotate"?(this._rotateVelocity.y=(i.offsetX-this._mouseX)/this.zr.getHeight()*2*d[0],this._rotateVelocity.x=(i.offsetY-this._mouseY)/this.zr.getWidth()*2*d[1]):this._mode==="pan"&&(this._panVelocity.x=(i.offsetX-this._mouseX)/this.zr.getWidth()*o[0]*400,this._panVelocity.y=(-i.offsetY+this._mouseY)/this.zr.getHeight()*o[1]*400),this._mouseX=i.offsetX,this._mouseY=i.offsetY,i.event.preventDefault()}},_mouseWheelHandler:function(i){if(!this._isAnimating()){var o=i.event.wheelDelta||-i.event.detail;this._zoomHandler(i,o)}},_pinchHandler:function(i){this._isAnimating()||(this._zoomHandler(i,i.pinchScale>1?1:-1),this._mode="")},_zoomHandler:function(i,o){if(o!==0){var d=i.offsetX,p=i.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(d,p))){var m;this._projection==="perspective"?m=Math.max(Math.max(Math.min(this._distance-this.minDistance,this.maxDistance-this._distance))/20,.5):m=Math.max(Math.max(Math.min(this._orthoSize-this.minOrthographicSize,this.maxOrthographicSize-this._orthoSize))/20,.5),this._zoomSpeed=(o>0?-1:1)*m*this.zoomSensitivity,this._rotating=!1,this.autoRotate&&this._mode==="rotate"&&this._startCountingStill(),i.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(i){this._isRightMouseButtonUsed()&&i.preventDefault()},_addAnimator:function(i){var o=this._animators;return o.push(i),i.done(function(){var d=o.indexOf(i);d>=0&&o.splice(d,1)}),i}});Object.defineProperty(f.prototype,"autoRotate",{get:function(i){return this._autoRotate},set:function(i){this._autoRotate=i,this._rotating=i}}),X.a=f},function(te,X,D){"use strict";X.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(te,X,D){var W=D(12),y=D(75),L=D(78),b=L.parsePercent,s=D(149),T=W.each,c=["left","right","top","bottom","width","height"],u=[["width","left","right"],["height","top","bottom"]];function f(E,S,w,R,O){var G=0,B=0;R==null&&(R=1/0),O==null&&(O=1/0);var P=0;S.eachChild(function(F,K){var U=F.position,V=F.getBoundingRect(),C=S.childAt(K+1),M=C&&C.getBoundingRect(),z,$;if(E==="horizontal"){var q=V.width+(M?-M.x+V.x:0);z=G+q,z>R||F.newline?(G=0,z=q,B+=P+w,P=V.height):P=Math.max(P,V.height)}else{var se=V.height+(M?-M.y+V.y:0);$=B+se,$>O||F.newline?(G+=P+w,B=0,$=se,P=V.width):P=Math.max(P,V.width)}F.newline||(U[0]=G,U[1]=B,E==="horizontal"?G=z+w:B=$+w)})}var i=f,o=W.curry(f,"vertical"),d=W.curry(f,"horizontal");function p(E,S,w){var R=S.width,O=S.height,G=b(E.x,R),B=b(E.y,O),P=b(E.x2,R),F=b(E.y2,O);return(isNaN(G)||isNaN(parseFloat(E.x)))&&(G=0),(isNaN(P)||isNaN(parseFloat(E.x2)))&&(P=R),(isNaN(B)||isNaN(parseFloat(E.y)))&&(B=0),(isNaN(F)||isNaN(parseFloat(E.y2)))&&(F=O),w=s.normalizeCssArray(w||0),{width:Math.max(P-G-w[1]-w[3],0),height:Math.max(F-B-w[0]-w[2],0)}}function m(E,S,w){w=s.normalizeCssArray(w||0);var R=S.width,O=S.height,G=b(E.left,R),B=b(E.top,O),P=b(E.right,R),F=b(E.bottom,O),K=b(E.width,R),U=b(E.height,O),V=w[2]+w[0],C=w[1]+w[3],M=E.aspect;switch(isNaN(K)&&(K=R-P-C-G),isNaN(U)&&(U=O-F-V-B),M!=null&&(isNaN(K)&&isNaN(U)&&(M>R/O?K=R*.8:U=O*.8),isNaN(K)&&(K=M*U),isNaN(U)&&(U=K/M)),isNaN(G)&&(G=R-P-K-C),isNaN(B)&&(B=O-F-U-V),E.left||E.right){case"center":G=R/2-K/2-w[3];break;case"right":G=R-K-C;break}switch(E.top||E.bottom){case"middle":case"center":B=O/2-U/2-w[0];break;case"bottom":B=O-U-V;break}G=G||0,B=B||0,isNaN(K)&&(K=R-C-G-(P||0)),isNaN(U)&&(U=O-V-B-(F||0));var z=new y(G+w[3],B+w[0],K,U);return z.margin=w,z}function h(E,S,w,R,O){var G=!O||!O.hv||O.hv[0],B=!O||!O.hv||O.hv[1],P=O&&O.boundingMode||"all";if(!(!G&&!B)){var F;if(P==="raw")F=E.type==="group"?new y(0,0,+S.width||0,+S.height||0):E.getBoundingRect();else if(F=E.getBoundingRect(),E.needLocalTransform()){var K=E.getLocalTransform();F=F.clone(),F.applyTransform(K)}S=m(W.defaults({width:F.width,height:F.height},S),w,R);var U=E.position,V=G?S.x-F.x:0,C=B?S.y-F.y:0;E.attr("position",P==="raw"?[V,C]:[U[0]+V,U[1]+C])}}function v(E,S){return E[u[S][0]]!=null||E[u[S][1]]!=null&&E[u[S][2]]!=null}function r(E,S,w){!W.isObject(w)&&(w={});var R=w.ignoreSize;!W.isArray(R)&&(R=[R,R]);var O=B(u[0],0),G=B(u[1],1);K(u[0],E,O),K(u[1],E,G);function B(U,V){var C={},M=0,z={},$=0,q=2;if(T(U,function(pe){z[pe]=E[pe]}),T(U,function(pe){P(S,pe)&&(C[pe]=z[pe]=S[pe]),F(C,pe)&&M++,F(z,pe)&&$++}),R[V])return F(S,U[1])?z[U[2]]=null:F(S,U[2])&&(z[U[1]]=null),z;if($===q||!M)return z;if(M>=q)return C;for(var se=0;se<U.length;se++){var ue=U[se];if(!P(C,ue)&&P(E,ue)){C[ue]=E[ue];break}}return C}function P(U,V){return U.hasOwnProperty(V)}function F(U,V){return U[V]!=null&&U[V]!=="auto"}function K(U,V,C){T(U,function(M){V[M]=C[M]})}}function a(E){return g({},E)}function g(E,S){return S&&E&&T(c,function(w){S.hasOwnProperty(w)&&(E[w]=S[w])}),E}X.LOCATION_PARAMS=c,X.HV_NAMES=u,X.box=i,X.vbox=o,X.hbox=d,X.getAvailableSize=p,X.getLayoutRect=m,X.positionElement=h,X.sizeCalculable=v,X.mergeLayoutParam=r,X.getLayoutParams=a,X.copyLayoutParams=g},function(te,X,D){"use strict";var W=D(8),y=W.a.extend(function(){return{name:"",inputLinks:{},outputLinks:{},_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},{updateParameter:function(L,b){var s=this.outputs[L],T=s.parameters,c=s._parametersCopy;if(c||(c=s._parametersCopy={}),T)for(var u in T)u!=="width"&&u!=="height"&&(c[u]=T[u]);var f,i;return T.width instanceof Function?f=T.width.call(this,b):f=T.width,T.height instanceof Function?i=T.height.call(this,b):i=T.height,(c.width!==f||c.height!==i)&&this._outputTextures[L]&&this._outputTextures[L].dispose(b.gl),c.width=f,c.height=i,c},setParameter:function(L,b){},getParameter:function(L){},setParameters:function(L){for(var b in L)this.setParameter(b,L[b])},render:function(){},getOutput:function(L,b){if(b==null)return b=L,this._outputTextures[b];var s=this.outputs[b];if(s)return this._rendered?s.outputLastFrame?this._prevOutputTextures[b]:this._outputTextures[b]:this._rendering?(this._prevOutputTextures[b]||(this._prevOutputTextures[b]=this._compositor.allocateTexture(s.parameters||{})),this._prevOutputTextures[b]):(this.render(L),this._outputTextures[b])},removeReference:function(L){if(this._outputReferences[L]--,this._outputReferences[L]===0){var b=this.outputs[L];b.keepLastFrame?(this._prevOutputTextures[L]&&this._compositor.releaseTexture(this._prevOutputTextures[L]),this._prevOutputTextures[L]=this._outputTextures[L]):this._compositor.releaseTexture(this._outputTextures[L])}},link:function(L,b,s){this.inputLinks[L]={node:b,pin:s},b.outputLinks[s]||(b.outputLinks[s]=[]),b.outputLinks[s].push({node:this,pin:L}),this.pass.material.enableTexture(L)},clear:function(){this.inputLinks={},this.outputLinks={}},updateReference:function(L){if(!this._rendering){this._rendering=!0;for(var b in this.inputLinks){var s=this.inputLinks[b];s.node.updateReference(s.pin)}this._rendering=!1}L&&this._outputReferences[L]++},beforeFrame:function(){this._rendered=!1;for(var L in this.outputLinks)this._outputReferences[L]=0},afterFrame:function(){for(var L in this.outputLinks)if(this._outputReferences[L]>0){var b=this.outputs[L];b.keepLastFrame?(this._prevOutputTextures[L]&&this._compositor.releaseTexture(this._prevOutputTextures[L]),this._prevOutputTextures[L]=this._outputTextures[L]):this._compositor.releaseTexture(this._outputTextures[L])}}});X.a=y},function(te,X,D){"use strict";function W(y,L){for(var b=0,s=1/L,T=y;T>0;)b=b+s*(T%L),T=Math.floor(T/L),s=s/L;return b}X.a=W},function(te,X,D){"use strict";var W=D(0),y=D.n(W);X.a=function(L,b,s){s=s||L.getSource();var T=b||y.a.getCoordinateSystemDimensions(L.get("coordinateSystem"))||["x","y","z"],c=y.a.helper.createDimensions(s,{dimensionsDefine:s.dimensionsDefine||L.get("dimensions"),encodeDefine:s.encodeDefine||L.get("encode"),coordDimensions:T.map(function(f){var i=L.getReferringComponents(f+"Axis3D")[0];return{type:i&&i.get("type")==="category"?"ordinal":"float",name:f,stackable:f==="z"}})});L.get("coordinateSystem")==="cartesian3D"&&c.forEach(function(f){if(T.indexOf(f.coordDim)>=0){var i=L.getReferringComponents(f.coordDim+"Axis3D")[0];i&&i.get("type")==="category"&&(f.ordinalMeta=i.getOrdinalMeta())}});var u=new y.a.List(c,L);return u.initData(s),u}},function(te,X){function D(W,y,L){return{seriesType:W,performRawSeries:!0,reset:function(b,s,T){var c=b.getData(),u=b.get("symbol")||y,f=b.get("symbolSize");if(c.setVisual({legendSymbol:L||u,symbol:u,symbolSize:f}),s.isSeriesFiltered(b))return;var i=typeof f=="function";function o(d,p){if(typeof f=="function"){var m=b.getRawValue(p),h=b.getDataParams(p);d.setItemVisual(p,"symbolSize",f(m,h))}if(d.hasItemOption){var v=d.getItemModel(p),r=v.getShallow("symbol",!0),a=v.getShallow("symbolSize",!0);r!=null&&d.setItemVisual(p,"symbol",r),a!=null&&d.setItemVisual(p,"symbolSize",a)}}return{dataEach:c.hasItemOption||i?o:null}}}}te.exports=D},function(te,X,D){"use strict";var W=D(8),y=D(92),L=D(11),b=D(18),s=D(15),T=D(9),c=D(17),u=D(23),f=D(96),i=D(7),o=D(98),d=D(63),p=D(1),m=D.n(p);i.a.import(o.a),i.a.import(d.a);var h=m.a.mat4,v=m.a.vec3,r=h.create,a={};function g(R){return R.material}function E(){}var S=W.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 R=this.canvas;try{var O={alpha:this.alpha,depth:this.depth,stencil:this.stencil,antialias:this.antialias,premultipliedAlpha:this.premultipliedAlpha,preserveDrawingBuffer:this.preserveDrawingBuffer};if(this.gl=R.getContext("webgl",O)||R.getContext("experimental-webgl",O),!this.gl)throw new Error;this._glinfo=new y.a(this.gl),this.gl.targetRenderer&&console.error("Already created a renderer"),this.gl.targetRenderer=this,this.resize()}catch(G){throw"Error creating WebGL Context "+G}this._programMgr=new f.a(this)},{resize:function(R,O){var G=this.canvas,B=this.devicePixelRatio;R!=null?(G.style.width=R+"px",G.style.height=O+"px",G.width=R*B,G.height=O*B,this._width=R,this._height=O):(this._width=G.width/B,this._height=G.height/B),this.setViewport(0,0,this._width,this._height)},getWidth:function(){return this._width},getHeight:function(){return this._height},getViewportAspect:function(){var R=this.viewport;return R.width/R.height},setDevicePixelRatio:function(R){this.devicePixelRatio=R,this.resize(this._width,this._height)},getDevicePixelRatio:function(){return this.devicePixelRatio},getGLExtension:function(R){return this._glinfo.getExtension(R)},getGLParameter:function(R){return this._glinfo.getParameter(R)},setViewport:function(R,O,G,B,P){if(typeof R=="object"){var F=R;R=F.x,O=F.y,G=F.width,B=F.height,P=F.devicePixelRatio}P=P||this.devicePixelRatio,this.gl.viewport(R*P,O*P,G*P,B*P),this.viewport={x:R,y:O,width:G,height:B,devicePixelRatio:P}},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 R=this._clearStack.pop();this.clearColor=R.clearColor,this.clearBit=R.clearBit}},bindSceneRendering:function(R){this._sceneRendering=R},render:function(R,O,G,B){var P=this.gl,F=this.clearColor;if(this.clearBit){P.colorMask(!0,!0,!0,!0),P.depthMask(!0);var K=this.viewport,U=!1,V=K.devicePixelRatio;(K.width!==this._width||K.height!==this._height||V&&V!==this.devicePixelRatio||K.x||K.y)&&(U=!0,P.enable(P.SCISSOR_TEST),P.scissor(K.x*V,K.y*V,K.width*V,K.height*V)),P.clearColor(F[0],F[1],F[2],F[3]),P.clear(this.clearBit),U&&P.disable(P.SCISSOR_TEST)}if(G||R.update(!1),O=O||R.getMainCamera(),!O){console.error("Can't find camera in the scene.");return}O.getScene()||O.update(!0),this._sceneRendering=R,R.viewBoundingBoxLastFrame.min.set(1/0,1/0,1/0),R.viewBoundingBoxLastFrame.max.set(-1/0,-1/0,-1/0);var C=this.cullRenderList(R.opaqueList,R,O),M=this.cullRenderList(R.transparentList,R,O),z=R.material;R.trigger("beforerender",this,R,O),B?(this.renderPreZ(C,R,O),P.depthFunc(P.LEQUAL)):P.depthFunc(P.LESS);for(var $=r(),q=v.create(),se=0;se<M.length;se++){var ue=M[se];h.multiplyAffine($,O.viewMatrix.array,ue.worldTransform.array),v.transformMat4(q,ue.position.array,$),ue.__depth=q[2]}var pe=this.renderPass(C,O,{getMaterial:function(Ge){return z||Ge.material},sortCompare:this.opaqueSortCompare}),Ee=this.renderPass(M,O,{getMaterial:function(Ge){return z||Ge.material},sortCompare:this.transparentSortCompare}),De={};for(var Fe in pe)De[Fe]=pe[Fe]+Ee[Fe];return R.trigger("afterrender",this,R,O,De),this._sceneRendering=null,De},getProgram:function(R,O,G){return O=O||R.material,this._programMgr.getProgram(R,O,G)},validateProgram:function(R){if(R.__error){var O=R.__error;if(a[R.__uid__])return;if(a[R.__uid__]=!0,this.throwError)throw new Error(O);this.trigger("error",O)}},updatePrograms:function(R,O,G){var B=G&&G.getMaterial||g;O=O||null;for(var P=0;P<R.length;P++){var F=R[P],K=B.call(this,F);if(P>0){var U=R[P-1],V=U.joints?U.joints.length:0,C=F.joints.length?F.joints.length:0;if(C===V&&F.material===U.material&&F.lightGroup===U.lightGroup){F.__program=U.__program;continue}}var M=this._programMgr.getProgram(F,K,O);this.validateProgram(M),F.__program=M}},cullRenderList:function(R,O,G){for(var B=[],P=0;P<R.length;P++){var F=R[P],K=F.isSkinnedMesh()?w.IDENTITY:F.worldTransform.array,U=F.geometry;h.multiplyAffine(w.WORLDVIEW,G.viewMatrix.array,K),!(U.boundingBox&&this.isFrustumCulled(F,O,G,w.WORLDVIEW,G.projectionMatrix.array))&&B.push(F)}return B},renderPass:function(R,O,G){this.trigger("beforerenderpass",this,R,O,G);var B={triangleCount:0,vertexCount:0,drawCallCount:0,meshCount:R.length,renderedMeshCount:0};G=G||{},G.getMaterial=G.getMaterial||g,G.beforeRender=G.beforeRender||E,G.afterRender=G.afterRender||E,this.updatePrograms(R,this._sceneRendering,G),G.sortCompare&&R.sort(G.sortCompare);var P=this.viewport,F=P.devicePixelRatio,K=[P.x*F,P.y*F,P.width*F,P.height*F],U=this.devicePixelRatio,V=this.__currentFrameBuffer?[this.__currentFrameBuffer.getTextureWidth(),this.__currentFrameBuffer.getTextureHeight()]:[this._width*U,this._height*U],C=[K[2],K[3]],M=Date.now();h.copy(w.VIEW,O.viewMatrix.array),h.copy(w.PROJECTION,O.projectionMatrix.array),h.multiply(w.VIEWPROJECTION,O.projectionMatrix.array,w.VIEW),h.copy(w.VIEWINVERSE,O.worldTransform.array),h.invert(w.PROJECTIONINVERSE,w.PROJECTION),h.invert(w.VIEWPROJECTIONINVERSE,w.VIEWPROJECTION);for(var z=this.gl,$=this._sceneRendering,q,se,ue,pe,Ee,De,Fe,Ge,xe=0;xe<R.length;xe++){var Ke=R[xe];if(!(G.ifRender&&!G.ifRender(Ke))){var Ce=Ke.isSkinnedMesh()?w.IDENTITY:Ke.worldTransform.array,Se=G.getMaterial.call(this,Ke),ge=Ke.__program,Re=Se.shader;h.copy(w.WORLD,Ce),h.multiply(w.WORLDVIEWPROJECTION,w.VIEWPROJECTION,Ce),(Re.matrixSemantics.WORLDINVERSE||Re.matrixSemantics.WORLDINVERSETRANSPOSE)&&h.invert(w.WORLDINVERSE,Ce),(Re.matrixSemantics.WORLDVIEWINVERSE||Re.matrixSemantics.WORLDVIEWINVERSETRANSPOSE)&&h.invert(w.WORLDVIEWINVERSE,w.WORLDVIEW),(Re.matrixSemantics.WORLDVIEWPROJECTIONINVERSE||Re.matrixSemantics.WORLDVIEWPROJECTIONINVERSETRANSPOSE)&&h.invert(w.WORLDVIEWPROJECTIONINVERSE,w.WORLDVIEWPROJECTION),Ke.beforeRender(this),G.beforeRender.call(this,Ke,Se,q);var ve=ge!==se;ve?(ge.bind(this),ge.setUniformOfSemantic(z,"VIEWPORT",K),ge.setUniformOfSemantic(z,"WINDOW_SIZE",V),ge.setUniformOfSemantic(z,"NEAR",O.near),ge.setUniformOfSemantic(z,"FAR",O.far),ge.setUniformOfSemantic(z,"DEVICEPIXELRATIO",F),ge.setUniformOfSemantic(z,"TIME",M),ge.setUniformOfSemantic(z,"VIEWPORT_SIZE",C),$&&$.setLightUniforms(ge,Ke.lightGroup,this)):ge=se,(q!==Se||ve)&&(Se.depthTest!==ue&&(Se.depthTest?z.enable(z.DEPTH_TEST):z.disable(z.DEPTH_TEST),ue=Se.depthTest),Se.depthMask!==pe&&(z.depthMask(Se.depthMask),pe=Se.depthMask),Se.transparent!==Ge&&(Se.transparent?z.enable(z.BLEND):z.disable(z.BLEND),Ge=Se.transparent),Se.transparent&&(Se.blend?Se.blend(z):(z.blendEquationSeparate(z.FUNC_ADD,z.FUNC_ADD),z.blendFuncSeparate(z.SRC_ALPHA,z.ONE_MINUS_SRC_ALPHA,z.ONE,z.ONE_MINUS_SRC_ALPHA))),Se.bind(this,ge,q,se),q=Se);for(var Le=Re.matrixSemanticKeys,Ue=0;Ue<Le.length;Ue++){var me=Le[Ue],oe=Re.matrixSemantics[me],ie=w[me];if(oe.isTranspose){var he=w[oe.semanticNoTranspose];h.transpose(ie,he)}ge.setUniform(z,oe.type,oe.symbol,ie)}Ke.cullFace!==De&&(De=Ke.cullFace,z.cullFace(De)),Ke.frontFace!==Fe&&(Fe=Ke.frontFace,z.frontFace(Fe)),Ke.culling!==Ee&&(Ee=Ke.culling,Ee?z.enable(z.CULL_FACE):z.disable(z.CULL_FACE));var ye=Ke.render(this,Se,ge);ye&&(B.triangleCount+=ye.triangleCount,B.vertexCount+=ye.vertexCount,B.drawCallCount+=ye.drawCallCount,B.renderedMeshCount++),G.afterRender.call(this,Ke,ye),Ke.afterRender(this,ye),se=ge}}for(var xe=0;xe<R.length;xe++)R[xe].__program=null;return this.trigger("afterrenderpass",this,R,O,G),B},renderPreZ:function(R,O,G){var B=this.gl,P=this._prezMaterial||new c.a({shader:new i.a(i.a.source("clay.prez.vertex"),i.a.source("clay.prez.fragment"))});this._prezMaterial=P,B.colorMask(!1,!1,!1,!1),B.depthMask(!0),this.renderPass(R,G,{ifRender:function(F){return!F.ignorePreZ},getMaterial:function(){return P},sort:this.opaqueSortCompare}),B.colorMask(!0,!0,!0,!0),B.depthMask(!0)},isFrustumCulled:function(){var R=new s.a,O=new T.a;return function(G,B,P,F,K){var U=G.boundingBox||G.geometry.boundingBox;if(O.array=F,R.copy(U),R.applyTransform(O),B&&G.isRenderable()&&G.castShadow&&B.viewBoundingBoxLastFrame.union(R),G.frustumCulling&&!G.isSkinnedMesh()){if(!R.intersectBoundingBox(P.frustum.boundingBox))return!0;O.array=K,R.max.array[2]>0&&R.min.array[2]<0&&(R.max.array[2]=-1e-20),R.applyProjection(O);var V=R.min.array,C=R.max.array;if(C[0]<-1||V[0]>1||C[1]<-1||V[1]>1||C[2]<-1||V[2]>1)return!0}return!1}}(),disposeScene:function(R){this.disposeNode(R,!0,!0),R.dispose()},disposeNode:function(R,O,G){R.getParent()&&R.getParent().remove(R),R.traverse(function(B){B.geometry&&O&&B.geometry.dispose(this),B.dispose&&B.dispose(this)},this)},disposeGeometry:function(R){R.dispose(this)},disposeTexture:function(R){R.dispose(this)},disposeFrameBuffer:function(R){R.dispose(this)},dispose:function(){},screenToNDC:function(R,O,G){G||(G=new u.a),O=this._height-O;var B=this.viewport,P=G.array;return P[0]=(R-B.x)/B.width,P[0]=P[0]*2-1,P[1]=(O-B.y)/B.height,P[1]=P[1]*2-1,G}});S.opaqueSortCompare=S.prototype.opaqueSortCompare=function(R,O){return R.renderOrder===O.renderOrder?R.__program===O.__program?R.material===O.material?R.geometry.__uid__-O.geometry.__uid__:R.material.__uid__-O.material.__uid__:R.__program&&O.__program?R.__program.__uid__-O.__program.__uid__:0:R.renderOrder-O.renderOrder},S.transparentSortCompare=S.prototype.transparentSortCompare=function(R,O){return R.renderOrder===O.renderOrder?R.__depth===O.__depth?R.__program===O.__program?R.material===O.material?R.geometry.__uid__-O.geometry.__uid__:R.material.__uid__-O.material.__uid__:R.__program&&O.__program?R.__program.__uid__-O.__program.__uid__:0:R.__depth-O.__depth:R.renderOrder-O.renderOrder};var w={IDENTITY:r(),WORLD:r(),VIEW:r(),PROJECTION:r(),WORLDVIEW:r(),VIEWPROJECTION:r(),WORLDVIEWPROJECTION:r(),WORLDINVERSE:r(),VIEWINVERSE:r(),PROJECTIONINVERSE:r(),WORLDVIEWINVERSE:r(),VIEWPROJECTIONINVERSE:r(),WORLDVIEWPROJECTIONINVERSE:r(),WORLDTRANSPOSE:r(),VIEWTRANSPOSE:r(),PROJECTIONTRANSPOSE:r(),WORLDVIEWTRANSPOSE:r(),VIEWPROJECTIONTRANSPOSE:r(),WORLDVIEWPROJECTIONTRANSPOSE:r(),WORLDINVERSETRANSPOSE:r(),VIEWINVERSETRANSPOSE:r(),PROJECTIONINVERSETRANSPOSE:r(),WORLDVIEWINVERSETRANSPOSE:r(),VIEWPROJECTIONINVERSETRANSPOSE:r(),WORLDVIEWPROJECTIONINVERSETRANSPOSE:r()};S.COLOR_BUFFER_BIT=L.a.COLOR_BUFFER_BIT,S.DEPTH_BUFFER_BIT=L.a.DEPTH_BUFFER_BIT,S.STENCIL_BUFFER_BIT=L.a.STENCIL_BUFFER_BIT,X.a=S},function(te,X,D){"use strict";function W(L,b){this.action=L,this.context=b}var y={trigger:function(L){if(this.hasOwnProperty("__handlers__")&&this.__handlers__.hasOwnProperty(L)){var b=this.__handlers__[L],s=b.length,T=-1,c=arguments;switch(c.length){case 1:for(;++T<s;)b[T].action.call(b[T].context);return;case 2:for(;++T<s;)b[T].action.call(b[T].context,c[1]);return;case 3:for(;++T<s;)b[T].action.call(b[T].context,c[1],c[2]);return;case 4:for(;++T<s;)b[T].action.call(b[T].context,c[1],c[2],c[3]);return;case 5:for(;++T<s;)b[T].action.call(b[T].context,c[1],c[2],c[3],c[4]);return;default:for(;++T<s;)b[T].action.apply(b[T].context,Array.prototype.slice.call(c,1));return}}},on:function(L,b,s){if(!(!L||!b)){var T=this.__handlers__||(this.__handlers__={});if(!T[L])T[L]=[];else if(this.has(L,b))return;var c=new W(b,s||this);return T[L].push(c),this}},once:function(L,b,s){if(!L||!b)return;var T=this;function c(){T.off(L,c),b.apply(this,arguments)}return this.on(L,c,s)},before:function(L,b,s){if(!(!L||!b))return L="before"+L,this.on(L,b,s)},after:function(L,b,s){if(!(!L||!b))return L="after"+L,this.on(L,b,s)},success:function(L,b){return this.once("success",L,b)},error:function(L,b){return this.once("error",L,b)},off:function(L,b){var s=this.__handlers__||(this.__handlers__={});if(!b){s[L]=[];return}if(s[L]){for(var T=s[L],c=[],u=0;u<T.length;u++)b&&T[u].action!==b&&c.push(T[u]);s[L]=c}return this},has:function(L,b){var s=this.__handlers__;if(!s||!s[L])return!1;for(var T=s[L],c=0;c<T.length;c++)if(T[c].action===b)return!0}};X.a=y},function(te,X,D){"use strict";var W="__dt__",y=function(){this._contextId=0,this._caches=[],this._context={}};y.prototype={use:function(L,b){var s=this._caches;s[L]||(s[L]={},b&&(s[L]=b())),this._contextId=L,this._context=s[L]},put:function(L,b){this._context[L]=b},get:function(L){return this._context[L]},dirty:function(L){L=L||"";var b=W+L;this.put(b,!0)},dirtyAll:function(L){L=L||"";for(var b=W+L,s=this._caches,T=0;T<s.length;T++)s[T]&&(s[T][b]=!0)},fresh:function(L){L=L||"";var b=W+L;this.put(b,!1)},freshAll:function(L){L=L||"";for(var b=W+L,s=this._caches,T=0;T<s.length;T++)s[T]&&(s[T][b]=!1)},isDirty:function(L){L=L||"";var b=W+L,s=this._context;return!s.hasOwnProperty(b)||s[b]===!0},deleteContext:function(L){delete this._caches[L],this._context={}},delete:function(L){delete this._context[L]},clearAll:function(){this._caches={}},getContext:function(){return this._context},eachContext:function(L,b){var s=Object.keys(this._caches);s.forEach(function(T){L&&L.call(b,T)})},miss:function(L){return!this._context.hasOwnProperty(L)}},y.prototype.constructor=y,X.a=y},function(te,X,D){"use strict";var W=D(4),y=D(1),L=D.n(y),b=L.a.vec3,s=1e-5,T=function(c,u){this.origin=c||new W.a,this.direction=u||new W.a};T.prototype={constructor:T,intersectPlane:function(c,u){var f=c.normal.array,i=c.distance,o=this.origin.array,d=this.direction.array,p=b.dot(f,d);if(p===0)return null;u||(u=new W.a);var m=(b.dot(f,o)-i)/p;return b.scaleAndAdd(u.array,o,d,-m),u._dirty=!0,u},mirrorAgainstPlane:function(c){var u=b.dot(c.normal.array,this.direction.array);b.scaleAndAdd(this.direction.array,this.direction.array,c.normal.array,-u*2),this.direction._dirty=!0},distanceToPoint:function(){var c=b.create();return function(u){b.sub(c,u,this.origin.array);var f=b.dot(c,this.direction.array);if(f<0)return b.distance(this.origin.array,u);var i=b.lenSquared(c);return Math.sqrt(i-f*f)}}(),intersectSphere:function(){var c=b.create();return function(u,f,i){var o=this.origin.array,d=this.direction.array;u=u.array,b.sub(c,u,o);var p=b.dot(c,d),m=b.squaredLength(c),h=m-p*p,v=f*f;if(!(h>v)){var r=Math.sqrt(v-h),a=p-r,g=p+r;return i||(i=new W.a),a<0?g<0?null:(b.scaleAndAdd(i.array,o,d,g),i):(b.scaleAndAdd(i.array,o,d,a),i)}}}(),intersectBoundingBox:function(c,u){var f=this.direction.array,i=this.origin.array,o=c.min.array,d=c.max.array,p=1/f[0],m=1/f[1],h=1/f[2],v,r,a,g,E,S;if(p>=0?(v=(o[0]-i[0])*p,r=(d[0]-i[0])*p):(r=(o[0]-i[0])*p,v=(d[0]-i[0])*p),m>=0?(a=(o[1]-i[1])*m,g=(d[1]-i[1])*m):(g=(o[1]-i[1])*m,a=(d[1]-i[1])*m),v>g||a>r||((a>v||v!==v)&&(v=a),(g<r||r!==r)&&(r=g),h>=0?(E=(o[2]-i[2])*h,S=(d[2]-i[2])*h):(S=(o[2]-i[2])*h,E=(d[2]-i[2])*h),v>S||E>r)||((E>v||v!==v)&&(v=E),(S<r||r!==r)&&(r=S),r<0))return null;var w=v>=0?v:r;return u||(u=new W.a),b.scaleAndAdd(u.array,i,f,w),u},intersectTriangle:function(){var c=b.create(),u=b.create(),f=b.create(),i=b.create();return function(o,d,p,m,h,v){var r=this.direction.array,a=this.origin.array;o=o.array,d=d.array,p=p.array,b.sub(c,d,o),b.sub(u,p,o),b.cross(i,u,r);var g=b.dot(c,i);if(m){if(g>-s)return null}else if(g>-s&&g<s)return null;b.sub(f,a,o);var E=b.dot(i,f)/g;if(E<0||E>1)return null;b.cross(i,c,f);var S=b.dot(r,i)/g;if(S<0||S>1||E+S>1)return null;b.cross(i,c,u);var w=-b.dot(f,i)/g;return w<0?null:(h||(h=new W.a),v&&W.a.set(v,1-E-S,E,S),b.scaleAndAdd(h.array,a,r,w),h)}}(),applyTransform:function(c){W.a.add(this.direction,this.direction,this.origin),W.a.transformMat4(this.origin,this.origin,c),W.a.transformMat4(this.direction,this.direction,c),W.a.sub(this.direction,this.direction,this.origin),W.a.normalize(this.direction,this.direction)},copy:function(c){W.a.copy(this.origin,c.origin),W.a.copy(this.direction,c.direction)},clone:function(){var c=new T;return c.copy(this),c}},X.a=T},function(te,X,D){"use strict";var W=D(1),y=D.n(W),L=y.a.quat,b=function(c,u,f,i){c=c||0,u=u||0,f=f||0,i=i===void 0?1:i,this.array=L.fromValues(c,u,f,i),this._dirty=!0};b.prototype={constructor:b,add:function(c){return L.add(this.array,this.array,c.array),this._dirty=!0,this},calculateW:function(){return L.calculateW(this.array,this.array),this._dirty=!0,this},set:function(c,u,f,i){return this.array[0]=c,this.array[1]=u,this.array[2]=f,this.array[3]=i,this._dirty=!0,this},setArray:function(c){return this.array[0]=c[0],this.array[1]=c[1],this.array[2]=c[2],this.array[3]=c[3],this._dirty=!0,this},clone:function(){return new b(this.x,this.y,this.z,this.w)},conjugate:function(){return L.conjugate(this.array,this.array),this._dirty=!0,this},copy:function(c){return L.copy(this.array,c.array),this._dirty=!0,this},dot:function(c){return L.dot(this.array,c.array)},fromMat3:function(c){return L.fromMat3(this.array,c.array),this._dirty=!0,this},fromMat4:function(){var c=y.a.mat3,u=c.create();return function(f){return c.fromMat4(u,f.array),c.transpose(u,u),L.fromMat3(this.array,u),this._dirty=!0,this}}(),identity:function(){return L.identity(this.array),this._dirty=!0,this},invert:function(){return L.invert(this.array,this.array),this._dirty=!0,this},len:function(){return L.len(this.array)},length:function(){return L.length(this.array)},lerp:function(c,u,f){return L.lerp(this.array,c.array,u.array,f),this._dirty=!0,this},mul:function(c){return L.mul(this.array,this.array,c.array),this._dirty=!0,this},mulLeft:function(c){return L.multiply(this.array,c.array,this.array),this._dirty=!0,this},multiply:function(c){return L.multiply(this.array,this.array,c.array),this._dirty=!0,this},multiplyLeft:function(c){return L.multiply(this.array,c.array,this.array),this._dirty=!0,this},normalize:function(){return L.normalize(this.array,this.array),this._dirty=!0,this},rotateX:function(c){return L.rotateX(this.array,this.array,c),this._dirty=!0,this},rotateY:function(c){return L.rotateY(this.array,this.array,c),this._dirty=!0,this},rotateZ:function(c){return L.rotateZ(this.array,this.array,c),this._dirty=!0,this},rotationTo:function(c,u){return L.rotationTo(this.array,c.array,u.array),this._dirty=!0,this},setAxes:function(c,u,f){return L.setAxes(this.array,c.array,u.array,f.array),this._dirty=!0,this},setAxisAngle:function(c,u){return L.setAxisAngle(this.array,c.array,u),this._dirty=!0,this},slerp:function(c,u,f){return L.slerp(this.array,c.array,u.array,f),this._dirty=!0,this},sqrLen:function(){return L.sqrLen(this.array)},squaredLength:function(){return L.squaredLength(this.array)},fromEuler:function(c,u){return b.fromEuler(this,c,u)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var s=Object.defineProperty;if(s){var T=b.prototype;s(T,"x",{get:function(){return this.array[0]},set:function(c){this.array[0]=c,this._dirty=!0}}),s(T,"y",{get:function(){return this.array[1]},set:function(c){this.array[1]=c,this._dirty=!0}}),s(T,"z",{get:function(){return this.array[2]},set:function(c){this.array[2]=c,this._dirty=!0}}),s(T,"w",{get:function(){return this.array[3]},set:function(c){this.array[3]=c,this._dirty=!0}})}b.add=function(c,u,f){return L.add(c.array,u.array,f.array),c._dirty=!0,c},b.set=function(c,u,f,i,o){L.set(c.array,u,f,i,o),c._dirty=!0},b.copy=function(c,u){return L.copy(c.array,u.array),c._dirty=!0,c},b.calculateW=function(c,u){return L.calculateW(c.array,u.array),c._dirty=!0,c},b.conjugate=function(c,u){return L.conjugate(c.array,u.array),c._dirty=!0,c},b.identity=function(c){return L.identity(c.array),c._dirty=!0,c},b.invert=function(c,u){return L.invert(c.array,u.array),c._dirty=!0,c},b.dot=function(c,u){return L.dot(c.array,u.array)},b.len=function(c){return L.length(c.array)},b.lerp=function(c,u,f,i){return L.lerp(c.array,u.array,f.array,i),c._dirty=!0,c},b.slerp=function(c,u,f,i){return L.slerp(c.array,u.array,f.array,i),c._dirty=!0,c},b.mul=function(c,u,f){return L.multiply(c.array,u.array,f.array),c._dirty=!0,c},b.multiply=b.mul,b.rotateX=function(c,u,f){return L.rotateX(c.array,u.array,f),c._dirty=!0,c},b.rotateY=function(c,u,f){return L.rotateY(c.array,u.array,f),c._dirty=!0,c},b.rotateZ=function(c,u,f){return L.rotateZ(c.array,u.array,f),c._dirty=!0,c},b.setAxisAngle=function(c,u,f){return L.setAxisAngle(c.array,u.array,f),c._dirty=!0,c},b.normalize=function(c,u){return L.normalize(c.array,u.array),c._dirty=!0,c},b.sqrLen=function(c){return L.sqrLen(c.array)},b.squaredLength=b.sqrLen,b.fromMat3=function(c,u){return L.fromMat3(c.array,u.array),c._dirty=!0,c},b.setAxes=function(c,u,f,i){return L.setAxes(c.array,u.array,f.array,i.array),c._dirty=!0,c},b.rotationTo=function(c,u,f){return L.rotationTo(c.array,u.array,f.array),c._dirty=!0,c},b.fromEuler=function(c,u,r){c._dirty=!0,u=u.array;var i=c.array,o=Math.cos(u[0]/2),d=Math.cos(u[1]/2),p=Math.cos(u[2]/2),m=Math.sin(u[0]/2),h=Math.sin(u[1]/2),v=Math.sin(u[2]/2),r=(r||"XYZ").toUpperCase();switch(r){case"XYZ":i[0]=m*d*p+o*h*v,i[1]=o*h*p-m*d*v,i[2]=o*d*v+m*h*p,i[3]=o*d*p-m*h*v;break;case"YXZ":i[0]=m*d*p+o*h*v,i[1]=o*h*p-m*d*v,i[2]=o*d*v-m*h*p,i[3]=o*d*p+m*h*v;break;case"ZXY":i[0]=m*d*p-o*h*v,i[1]=o*h*p+m*d*v,i[2]=o*d*v+m*h*p,i[3]=o*d*p-m*h*v;break;case"ZYX":i[0]=m*d*p-o*h*v,i[1]=o*h*p+m*d*v,i[2]=o*d*v-m*h*p,i[3]=o*d*p+m*h*v;break;case"YZX":i[0]=m*d*p+o*h*v,i[1]=o*h*p+m*d*v,i[2]=o*d*v-m*h*p,i[3]=o*d*p-m*h*v;break;case"XZY":i[0]=m*d*p-o*h*v,i[1]=o*h*p-m*d*v,i[2]=o*d*v+m*h*p,i[3]=o*d*p+m*h*v;break}},X.a=b},function(te,X,D){"use strict";var W=D(28),y=D(9),L=D(52),b=D(49),s=D(1),T=D.n(s),c=T.a.vec3,u=T.a.vec4,f=W.a.extend(function(){return{projectionMatrix:new y.a,invProjectionMatrix:new y.a,viewMatrix:new y.a,frustum:new L.a}},function(){this.update(!0)},{update:function(i){W.a.prototype.update.call(this,i),y.a.invert(this.viewMatrix,this.worldTransform),this.updateProjectionMatrix(),y.a.invert(this.invProjectionMatrix,this.projectionMatrix),this.frustum.setFromProjection(this.projectionMatrix)},setViewMatrix:function(i){y.a.copy(this.viewMatrix,i),y.a.invert(this.worldTransform,i),this.decomposeWorldTransform()},decomposeProjectionMatrix:function(){},setProjectionMatrix:function(i){y.a.copy(this.projectionMatrix,i),y.a.invert(this.invProjectionMatrix,i),this.decomposeProjectionMatrix()},updateProjectionMatrix:function(){},castRay:function(){var i=u.create();return function(o,d){var p=d!==void 0?d:new b.a,m=o.array[0],h=o.array[1];return u.set(i,m,h,-1,1),u.transformMat4(i,i,this.invProjectionMatrix.array),u.transformMat4(i,i,this.worldTransform.array),c.scale(p.origin.array,i,1/i[3]),u.set(i,m,h,1,1),u.transformMat4(i,i,this.invProjectionMatrix.array),u.transformMat4(i,i,this.worldTransform.array),c.scale(i,i,1/i[3]),c.sub(p.direction.array,i,p.origin.array),c.normalize(p.direction.array,p.direction.array),p.direction._dirty=!0,p.origin._dirty=!0,p}}()});X.a=f},function(te,X,D){"use strict";var W=D(4),y=D(15),L=D(67),b=D(1),s=D.n(b),T=s.a.vec3,c=T.set,u=T.copy,f=T.transformMat4,i=Math.min,o=Math.max,d=function(){this.planes=[];for(var p=0;p<6;p++)this.planes.push(new L.a);this.boundingBox=new y.a,this.vertices=[];for(var p=0;p<8;p++)this.vertices[p]=T.fromValues(0,0,0)};d.prototype={setFromProjection:function(p){var m=this.planes,h=p.array,v=h[0],r=h[1],a=h[2],g=h[3],E=h[4],S=h[5],w=h[6],R=h[7],O=h[8],G=h[9],B=h[10],P=h[11],F=h[12],K=h[13],U=h[14],V=h[15];c(m[0].normal.array,g-v,R-E,P-O),m[0].distance=-(V-F),m[0].normalize(),c(m[1].normal.array,g+v,R+E,P+O),m[1].distance=-(V+F),m[1].normalize(),c(m[2].normal.array,g+r,R+S,P+G),m[2].distance=-(V+K),m[2].normalize(),c(m[3].normal.array,g-r,R-S,P-G),m[3].distance=-(V-K),m[3].normalize(),c(m[4].normal.array,g-a,R-w,P-B),m[4].distance=-(V-U),m[4].normalize(),c(m[5].normal.array,g+a,R+w,P+B),m[5].distance=-(V+U),m[5].normalize();var C=this.boundingBox;if(V===0){var M=S/v,z=-U/(B-1),$=-U/(B+1),q=-$/S,se=-z/S;C.min.set(-q*M,-q,$),C.max.set(q*M,q,z);var ue=this.vertices;c(ue[0],-q*M,-q,$),c(ue[1],-q*M,q,$),c(ue[2],q*M,-q,$),c(ue[3],q*M,q,$),c(ue[4],-se*M,-se,z),c(ue[5],-se*M,se,z),c(ue[6],se*M,-se,z),c(ue[7],se*M,se,z)}else{var pe=(-1-F)/v,Ee=(1-F)/v,De=(1-K)/S,Fe=(-1-K)/S,Ge=(-1-U)/B,xe=(1-U)/B;C.min.set(Math.min(pe,Ee),Math.min(Fe,De),Math.min(xe,Ge)),C.max.set(Math.max(Ee,pe),Math.max(De,Fe),Math.max(Ge,xe));var Ke=C.min.array,Ce=C.max.array,ue=this.vertices;c(ue[0],Ke[0],Ke[1],Ke[2]),c(ue[1],Ke[0],Ce[1],Ke[2]),c(ue[2],Ce[0],Ke[1],Ke[2]),c(ue[3],Ce[0],Ce[1],Ke[2]),c(ue[4],Ke[0],Ke[1],Ce[2]),c(ue[5],Ke[0],Ce[1],Ce[2]),c(ue[6],Ce[0],Ke[1],Ce[2]),c(ue[7],Ce[0],Ce[1],Ce[2])}},getTransformedBoundingBox:function(){var p=T.create();return function(m,h){var v=this.vertices,r=h.array,a=m.min,g=m.max,E=a.array,S=g.array,w=v[0];f(p,w,r),u(E,p),u(S,p);for(var R=1;R<8;R++)w=v[R],f(p,w,r),E[0]=i(p[0],E[0]),E[1]=i(p[1],E[1]),E[2]=i(p[2],E[2]),S[0]=o(p[0],S[0]),S[1]=o(p[1],S[1]),S[2]=o(p[2],S[2]);return a._dirty=!0,g._dirty=!0,m}}()},X.a=d},function(te,X){var D=function(){this.head=null,this.tail=null,this._len=0},W=D.prototype;W.insert=function(T){var c=new y(T);return this.insertEntry(c),c},W.insertEntry=function(T){this.head?(this.tail.next=T,T.prev=this.tail,T.next=null,this.tail=T):this.head=this.tail=T,this._len++},W.remove=function(T){var c=T.prev,u=T.next;c?c.next=u:this.head=u,u?u.prev=c:this.tail=c,T.next=T.prev=null,this._len--},W.len=function(){return this._len},W.clear=function(){this.head=this.tail=null,this._len=0};var y=function(T){this.value=T,this.next,this.prev},L=function(T){this._list=new D,this._map={},this._maxSize=T||10,this._lastRemovedEntry=null},b=L.prototype;b.put=function(T,c){var u=this._list,f=this._map,i=null;if(f[T]==null){var o=u.len(),d=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var p=u.head;u.remove(p),delete f[p.key],i=p.value,this._lastRemovedEntry=p}d?d.value=c:d=new y(c),d.key=T,u.insertEntry(d),f[T]=d}return i},b.get=function(T){var c=this._map[T],u=this._list;if(c!=null)return c!==u.tail&&(u.remove(c),u.insertEntry(c)),c.value},b.clear=function(){this._list.clear(),this._map={}};var s=L;te.exports=s},function(te,X,D){"use strict";var W=D(5),y=D(25),L=D(102),b=D(55),s=D(56),T=D(29),c=D(104),u=D(105),f={loadTexture:function(i,o,d,p){var m;if(typeof o=="function"?(d=o,p=d,o={}):o=o||{},typeof i=="string"){if(i.match(/.hdr$/)||o.fileType==="hdr")return m=new W.a({width:0,height:0,sRGB:!1}),f._fetchTexture(i,function(h){u.a.parseRGBE(h,m,o.exposure),m.dirty(),d&&d(m)},p),m;i.match(/.dds$/)||o.fileType==="dds"?(m=new W.a({width:0,height:0}),f._fetchTexture(i,function(h){c.a.parse(h,m),m.dirty(),d&&d(m)},p)):(m=new W.a,m.load(i),m.success(d),m.error(p))}else if(typeof i=="object"&&typeof i.px!="undefined"){var m=new y.a;m.load(i),m.success(d),m.error(p)}return m},loadPanorama:function(i,o,d,p,m,h){var v=this;typeof p=="function"?(m=p,h=m,p={}):p=p||{},f.loadTexture(o,p,function(r){r.flipY=p.flipY||!1,v.panoramaToCubeMap(i,r,d,p),r.dispose(i),m&&m(d)},h)},panoramaToCubeMap:function(i,o,d,p){var m=new b.a,h=new s.a({scene:new T.a});return h.material.set("diffuseMap",o),p=p||{},p.encodeRGBM&&h.material.define("fragment","RGBM_ENCODE"),d.sRGB=o.sRGB,m.texture=d,m.render(i,h.scene),m.texture=null,m.dispose(i),d},heightToNormal:function(i,o){var d=document.createElement("canvas"),p=d.width=i.width,m=d.height=i.height,h=d.getContext("2d");h.drawImage(i,0,0,p,m),o=o||!1;for(var v=h.getImageData(0,0,p,m),r=h.createImageData(p,m),a=0;a<v.data.length;a+=4){if(o){var g=v.data[a],E=v.data[a+1],S=v.data[a+2],w=Math.abs(g-E)+Math.abs(E-S);if(w>20)return console.warn("Given image is not a height map"),i}var R,O,G,B;a%(p*4)===0?(R=v.data[a],G=v.data[a+4]):a%(p*4)===(p-1)*4?(R=v.data[a-4],G=v.data[a]):(R=v.data[a-4],G=v.data[a+4]),a<p*4?(O=v.data[a],B=v.data[a+p*4]):a>p*(m-1)*4?(O=v.data[a-p*4],B=v.data[a]):(O=v.data[a-p*4],B=v.data[a+p*4]),r.data[a]=R-G+127,r.data[a+1]=O-B+127,r.data[a+2]=255,r.data[a+3]=255}return h.putImageData(r,0,0),d},isHeightImage:function(i,o,d){if(!i||!i.width||!i.height)return!1;var p=document.createElement("canvas"),m=p.getContext("2d"),h=o||32;d=d||20,p.width=p.height=h,m.drawImage(i,0,0,h,h);for(var v=m.getImageData(0,0,h,h),r=0;r<v.data.length;r+=4){var a=v.data[r],g=v.data[r+1],E=v.data[r+2],S=Math.abs(a-g)+Math.abs(g-E);if(S>d)return!1}return!0},_fetchTexture:function(i,o,d){L.a.get({url:i,responseType:"arraybuffer",onload:o,onerror:d})},createChessboard:function(i,o,d,p){i=i||512,o=o||64,d=d||"black",p=p||"white";var m=Math.ceil(i/o),h=document.createElement("canvas");h.width=i,h.height=i;var v=h.getContext("2d");v.fillStyle=p,v.fillRect(0,0,i,i),v.fillStyle=d;for(var r=0;r<m;r++)for(var a=0;a<m;a++){var g=a%2?r%2:r%2-1;g&&v.fillRect(r*o,a*o,o,o)}var E=new W.a({image:h,anisotropic:8});return E},createBlank:function(i){var o=document.createElement("canvas");o.width=1,o.height=1;var d=o.getContext("2d");d.fillStyle=i,d.fillRect(0,0,1,1);var p=new W.a({image:o});return p}};X.a=f},function(te,X,D){"use strict";var W=D(8),y=D(4),L=D(36),b=D(10),s=["px","nx","py","ny","pz","nz"],T=W.a.extend(function(){var c={position:new y.a,far:1e3,near:.1,texture:null,shadowMapPass:null},u=c._cameras={px:new L.a({fov:90}),nx:new L.a({fov:90}),py:new L.a({fov:90}),ny:new L.a({fov:90}),pz:new L.a({fov:90}),nz:new L.a({fov:90})};return u.px.lookAt(y.a.POSITIVE_X,y.a.NEGATIVE_Y),u.nx.lookAt(y.a.NEGATIVE_X,y.a.NEGATIVE_Y),u.py.lookAt(y.a.POSITIVE_Y,y.a.POSITIVE_Z),u.ny.lookAt(y.a.NEGATIVE_Y,y.a.NEGATIVE_Z),u.pz.lookAt(y.a.POSITIVE_Z,y.a.NEGATIVE_Y),u.nz.lookAt(y.a.NEGATIVE_Z,y.a.NEGATIVE_Y),c._frameBuffer=new b.a,c},{getCamera:function(c){return this._cameras[c]},render:function(c,u,f){var i=c.gl;f||u.update();for(var o=this.texture.width,d=2*Math.atan(o/(o-.5))/Math.PI*180,p=0;p<6;p++){var m=s[p],h=this._cameras[m];if(y.a.copy(h.position,this.position),h.far=this.far,h.near=this.near,h.fov=d,this.shadowMapPass){h.update();var v=u.getBoundingBox();v.applyTransform(h.viewMatrix),u.viewBoundingBoxLastFrame.copy(v),this.shadowMapPass.render(c,u,h,!0)}this._frameBuffer.attach(this.texture,i.COLOR_ATTACHMENT0,i.TEXTURE_CUBE_MAP_POSITIVE_X+p),this._frameBuffer.bind(c),c.render(u,h,!0),this._frameBuffer.unbind(c)}},dispose:function(c){this._frameBuffer.dispose(c)}});X.a=T},function(te,X,D){"use strict";var W=D(24),y=D(68),L=D(7),b=D(17),s=D(103);L.a.import(s.a);var T=W.a.extend(function(){var c=new L.a(L.a.source("clay.basic.vertex"),L.a.source("clay.basic.fragment")),u=new b.a({shader:c,depthMask:!1});return u.enableTexture("diffuseMap"),{scene:null,geometry:new y.a({widthSegments:30,heightSegments:30}),material:u,environmentMap:null,culling:!1}},function(){var c=this.scene;c&&this.attachScene(c),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(c){this.scene&&this.detachScene(),c.skydome=this,this.scene=c,c.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skydome=null),this.scene=null},_beforeRenderScene:function(c,u,f){this.position.copy(f.getWorldPosition()),this.update(),c.renderPass([this],f)},setEnvironmentMap:function(c){this.material.set("diffuseMap",c)},getEnvironmentMap:function(){return this.material.get("diffuseMap")},dispose:function(c){this.detachScene(),this.geometry.dispose(c)}});X.a=T},function(te,X,D){"use strict";var W=D(24),y=D(69),L=D(7),b=D(17),s=D(110);L.a.import(s.a);var T=W.a.extend(function(){var c=new L.a({vertex:L.a.source("clay.skybox.vertex"),fragment:L.a.source("clay.skybox.fragment")}),u=new b.a({shader:c,depthMask:!1});return{scene:null,geometry:new y.a,material:u,environmentMap:null,culling:!1}},function(){var c=this.scene;c&&this.attachScene(c),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(c){this.scene&&this.detachScene(),c.skybox=this,this.scene=c,c.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skybox=null),this.scene=null},dispose:function(c){this.detachScene(),this.geometry.dispose(c)},setEnvironmentMap:function(c){this.material.set("environmentMap",c)},getEnvironmentMap:function(){return this.material.get("environmentMap")},_beforeRenderScene:function(c,u,f){this.renderSkybox(c,f)},renderSkybox:function(c,u){this.position.copy(u.getWorldPosition()),this.update(),c.gl.disable(c.gl.BLEND),this.material.get("lod")>0?this.material.define("fragment","LOD"):this.material.undefine("fragment","LOD"),c.renderPass([this],u)}});X.a=T},function(te,X,D){"use strict";var W=D(2),y=D(143),L=D(144);W.a.Shader.import(L.a),X.a=W.a.Mesh.extend(function(){var b=new y.a({dynamic:!0}),s=new W.a.Material({shader:W.a.createShader("ecgl.labels"),transparent:!0,depthMask:!1});return{geometry:b,material:s,culling:!1,castShadow:!1,ignorePicking:!0}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(186),s=D(22),T=D(3),c=D(1),u=D.n(c),f=D(60),i=D(61),o=D(40),d=u.a.vec3;L.a.Shader.import(o.a);function p(m){this.rootNode=new L.a.Node,this._triangulationResults={},this._shadersMap=L.a.COMMON_SHADERS.reduce(function(v,r){return v[r]=L.a.createShader("ecgl."+r),v},{}),this._linesShader=L.a.createShader("ecgl.meshLines3D");var h={};L.a.COMMON_SHADERS.forEach(function(v){h[v]=new L.a.Material({shader:L.a.createShader("ecgl."+v)})}),this._groundMaterials=h,this._groundMesh=new L.a.Mesh({geometry:new L.a.PlaneGeometry({dynamic:!0}),castShadow:!1,renderNormal:!0,$ignorePicking:!0}),this._groundMesh.rotation.rotateX(-Math.PI/2),this._labelsBuilder=new i.a(512,512,m),this._labelsBuilder.getMesh().renderOrder=100,this._labelsBuilder.getMesh().material.depthTest=!1,this.rootNode.add(this._labelsBuilder.getMesh()),this._initMeshes(),this._api=m}p.prototype={constructor:p,extrudeY:!0,update:function(m,h,v,r,a){var g=m.getData();r==null&&(r=0),a==null&&(a=g.count()),this._startIndex=r,this._endIndex=a-1,this._triangulation(m,r,a);var E=this._getShader(m.get("shading"));this._prepareMesh(m,E,v,r,a),this.rootNode.updateWorldTransform(),this._updateRegionMesh(m,v,r,a);var S=m.coordinateSystem;S.type==="geo3D"&&this._updateGroundPlane(m,S,v);var w=this;this._labelsBuilder.updateData(g,r,a),this._labelsBuilder.getLabelPosition=function(R,O,G){var B=g.getName(R),P,F=G;if(S.type==="geo3D"){var K=S.getRegion(B);return P=K.center,S.dataToPoint([P[0],P[1],F])}else var U=w._triangulationResults[R-w._startIndex],P=w.extrudeY?[(U.max[0]+U.min[0])/2,U.max[1]+F,(U.max[2]+U.min[2])/2]:[(U.max[0]+U.min[0])/2,(U.max[1]+U.min[1])/2,U.max[2]+F]},this._data=g,this._labelsBuilder.updateLabels(),this._updateDebugWireframe(m),this._lastHoverDataIndex=0},_initMeshes:function(){this.rootNode.removeAll();var m=this;function h(){var a=new L.a.Mesh({name:"Polygon",material:new L.a.Material({shader:m._shadersMap.lambert}),culling:!1,geometry:new L.a.Geometry({sortTriangles:!0,dynamic:!0}),ignorePicking:!0,renderNormal:!0});return y.a.util.extend(a.geometry,f.a),a}var v=h(),r=new L.a.Mesh({material:new L.a.Material({shader:this._linesShader}),castShadow:!1,ignorePicking:!0,$ignorePicking:!0,geometry:new s.a({useNativeLine:!1})});this.rootNode.add(v),this.rootNode.add(r),v.material.define("both","VERTEX_COLOR"),v.material.define("fragment","DOUBLE_SIDED"),this._polygonMesh=v,this._linesMesh=r,this.rootNode.add(this._groundMesh)},_getShader:function(m){var h=this._shadersMap[m];return h||(console.warn("Unkown shading "+m),h=this._shadersMap.lambert),h.__shading=m,h},_prepareMesh:function(m,h,v,r,a){for(var g=0,E=0,S=0,w=0,R=r;R<a;R++){var O=this._getRegionPolygonInfo(R),G=this._getRegionLinesInfo(R,m,this._linesMesh.geometry);g+=O.vertexCount,E+=O.triangleCount,S+=G.vertexCount,w+=G.triangleCount}var B=this._polygonMesh,P=B.geometry;["position","normal","texcoord0","color"].forEach(function(F){P.attributes[F].init(g)}),P.indices=g>65535?new Uint32Array(E*3):new Uint16Array(E*3),B.material.shader!==h&&B.material.attachShader(h,!0),L.a.setMaterialFromModel(h.__shading,B.material,m,v),S>0&&(this._linesMesh.geometry.resetOffset(),this._linesMesh.geometry.setVertexCount(S),this._linesMesh.geometry.setTriangleCount(w)),this._dataIndexOfVertex=new Uint32Array(g),this._vertexRangeOfDataIndex=new Uint32Array((a-r)*2)},_updateRegionMesh:function(m,h,v,r){for(var a=m.getData(),g=0,E=0,S=!1,q=this._polygonMesh,w=this._linesMesh,R=v;R<r;R++){var O=m.getRegionModel(R),G=O.getModel("itemStyle"),B=G.get("color"),P=T.a.firstNotNull(G.get("opacity"),1),F=a.getItemVisual(R,"color",!0);F!=null&&a.hasValue(R)&&(B=F),a.setItemVisual(R,"color",B),a.setItemVisual(R,"opacity",P),B=L.a.parseColor(B);var K=L.a.parseColor(G.get("borderColor"));B[3]*=P,K[3]*=P;var U=B[3]<.99;q.material.set("color",[1,1,1,1]),S=S||U;for(var V=T.a.firstNotNull(O.get("height",!0),m.get("regionHeight")),C=this._updatePolygonGeometry(m,q.geometry,R,V,g,E,B),M=g;M<C.vertexOffset;M++)this._dataIndexOfVertex[M]=R;this._vertexRangeOfDataIndex[(R-v)*2]=g,this._vertexRangeOfDataIndex[(R-v)*2+1]=C.vertexOffset,g=C.vertexOffset,E=C.triangleOffset;var z=G.get("borderWidth"),$=z>0;$&&(z*=h.getDevicePixelRatio(),this._updateLinesGeometry(w.geometry,m,R,V,z,m.coordinateSystem.transform)),w.invisible=!$,w.material.set({color:K})}var q=this._polygonMesh;q.material.transparent=S,q.material.depthMask=!S,q.geometry.updateBoundingBox(),q.material.get("normalMap")&&q.geometry.generateTangents(),q.seriesIndex=m.seriesIndex,q.on("mousemove",this._onmousemove,this),q.on("mouseout",this._onmouseout,this)},_updateDebugWireframe:function(m){var h=m.getModel("debug.wireframe");if(h.get("show")){var v=L.a.parseColor(h.get("lineStyle.color")||"rgba(0,0,0,0.5)"),r=T.a.firstNotNull(h.get("lineStyle.width"),1),a=this._polygonMesh;a.geometry.generateBarycentric(),a.material.define("both","WIREFRAME_TRIANGLE"),a.material.set("wireframeLineColor",v),a.material.set("wireframeLineWidth",r)}},_onmousemove:function(m){var h=this._dataIndexOfVertex[m.triangle[0]];h==null&&(h=-1),h!==this._lastHoverDataIndex&&(this.downplay(this._lastHoverDataIndex),this.highlight(h)),this._lastHoverDataIndex=h,this._polygonMesh.dataIndex=h},_onmouseover:function(m){if(m.target){var h=m.target.eventData?this._data.indexOfName(m.target.eventData.name):m.target.dataIndex;h!=null&&(this.highlight(h),this._labelsBuilder.updateLabels([h]))}},_onmouseout:function(m){m.target&&(this.downplay(this._lastHoverDataIndex),this._lastHoverDataIndex=-1,this._polygonMesh.dataIndex=-1)},_updateGroundPlane:function(m,h,v){var r=m.getModel("groundPlane",m);if(this._groundMesh.invisible=!r.get("show",!0),!this._groundMesh.invisible){var a=m.get("shading"),g=this._groundMaterials[a];g||(console.warn("Unkown shading "+a),g=this._groundMaterials.lambert),L.a.setMaterialFromModel(a,g,r,v),g.get("normalMap")&&this._groundMesh.geometry.generateTangents(),this._groundMesh.material=g,this._groundMesh.material.set("color",L.a.parseColor(r.get("color"))),this._groundMesh.scale.set(h.size[0],h.size[2],1)}},_triangulation:function(m,h,v){this._triangulationResults=[];for(var r=[1/0,1/0,1/0],a=[-1/0,-1/0,-1/0],g=m.coordinateSystem,E=h;E<v;E++){for(var S=[],w=m.getRegionPolygonCoords(E),R=0;R<w.length;R++){var O=w[R].exterior,G=w[R].interiors,B=[],P=[];if(!(O.length<3)){for(var F=0,K=0;K<O.length;K++){var U=O[K];B[F++]=U[0],B[F++]=U[1]}for(var K=0;K<G.length;K++)if(!(G[K].length<3)){for(var V=B.length/2,C=0;C<G[K].length;C++){var U=G[K][C];B.push(U[0]),B.push(U[1])}P.push(V)}for(var M=Object(b.a)(B,P),z=new Float64Array(B.length/2*3),$=[],q=[1/0,1/0,1/0],se=[-1/0,-1/0,-1/0],ue=0,K=0;K<B.length;)d.set($,B[K++],0,B[K++]),g&&g.transform&&d.transformMat4($,$,g.transform),d.min(q,q,$),d.max(se,se,$),z[ue++]=$[0],z[ue++]=$[1],z[ue++]=$[2];d.min(r,r,q),d.max(a,a,se),S.push({points:z,indices:M,min:q,max:se})}}this._triangulationResults.push(S)}this._geoBoundingBox=[r,a]},_getRegionPolygonInfo:function(m){for(var h=this._triangulationResults[m-this._startIndex],v=0,r=0,a=0;a<h.length;a++)v+=h[a].points.length/3,r+=h[a].indices.length/3;var g=v*2+v*4,E=r*2+v*2;return{vertexCount:g,triangleCount:E}},_updatePolygonGeometry:function(m,h,v,r,a,g,E){var S=m.get("projectUVOnGround"),w=h.attributes.position,R=h.attributes.normal,O=h.attributes.texcoord0,G=h.attributes.color,B=this._triangulationResults[v-this._startIndex],P=G.value&&E,F=h.indices,K=this.extrudeY?1:2,U=this.extrudeY?2:1,V=[this.rootNode.worldTransform.x.len(),this.rootNode.worldTransform.y.len(),this.rootNode.worldTransform.z.len()],C=d.mul([],this._geoBoundingBox[0],V),M=d.mul([],this._geoBoundingBox[1],V),z=Math.max(M[0]-C[0],M[2]-C[2]);function $(ce,Te,Oe){for(var Be=ce.points,Xe=Be.length,lt=[],_t=[],tt=0;tt<Xe;tt+=3)lt[0]=Be[tt],lt[K]=Te,lt[U]=Be[tt+2],_t[0]=(Be[tt]*V[0]-C[0])/z,_t[1]=(Be[tt+2]*V[U]-C[2])/z,w.set(a,lt),P&&G.set(a,E),O.set(a++,_t)}function q(ce,Te,Oe){var Be=a;$(ce,Te,Oe);for(var Xe=0;Xe<ce.indices.length;Xe++)F[g*3+Xe]=ce.indices[Xe]+Be;g+=ce.indices.length/3}for(var se=this.extrudeY?[0,1,0]:[0,0,1],ue=d.negate([],se),pe=0;pe<B.length;pe++){var Ee=a,De=B[pe];q(De,0,0),q(De,r,0);for(var Fe=De.points.length/3,Ge=0;Ge<Fe;Ge++)R.set(Ee+Ge,ue),R.set(Ee+Ge+Fe,se);for(var xe=[0,3,1,1,3,2],Ke=[[],[],[],[]],Ce=[],Se=[],ge=[],Re=[],ve=0,Ge=0;Ge<Fe;Ge++){for(var Le=(Ge+1)%Fe,Ue=(De.points[Le*3]-De.points[Ge*3])*V[0],me=(De.points[Le*3+2]-De.points[Ge*3+2])*V[U],oe=Math.sqrt(Ue*Ue+me*me),ie=0;ie<4;ie++){var he=ie===0||ie===3,ye=(he?Ge:Le)*3;Ke[ie][0]=De.points[ye],Ke[ie][K]=ie>1?r:0,Ke[ie][U]=De.points[ye+2],w.set(a+ie,Ke[ie]),S?(Re[0]=(De.points[ye]*V[0]-C[0])/z,Re[1]=(De.points[ye+2]*V[U]-C[U])/z):(Re[0]=(he?ve:ve+oe)/z,Re[1]=(Ke[ie][K]*V[K]-C[K])/z),O.set(a+ie,Re)}d.sub(Ce,Ke[1],Ke[0]),d.sub(Se,Ke[3],Ke[0]),d.cross(ge,Ce,Se),d.normalize(ge,ge);for(var ie=0;ie<4;ie++)R.set(a+ie,ge),P&&G.set(a+ie,E);for(var ie=0;ie<6;ie++)F[g*3+ie]=xe[ie]+a;a+=4,g+=2,ve+=oe}}return h.dirty(),{vertexOffset:a,triangleOffset:g}},_getRegionLinesInfo:function(m,h,v){var r=0,a=0,g=h.getRegionModel(m),E=g.getModel("itemStyle"),S=E.get("borderWidth");if(S>0){var w=h.getRegionPolygonCoords(m);w.forEach(function(R){var O=R.exterior,G=R.interiors;r+=v.getPolylineVertexCount(O),a+=v.getPolylineTriangleCount(O);for(var B=0;B<G.length;B++)r+=v.getPolylineVertexCount(G[B]),a+=v.getPolylineTriangleCount(G[B])},this)}return{vertexCount:r,triangleCount:a}},_updateLinesGeometry:function(m,h,v,r,a,g){function E(R){for(var O=new Float64Array(R.length*3),G=0,B=[],P=0;P<R.length;P++)B[0]=R[P][0],B[1]=r+.1,B[2]=R[P][1],g&&d.transformMat4(B,B,g),O[G++]=B[0],O[G++]=B[1],O[G++]=B[2];return O}var S=[1,1,1,1],w=h.getRegionPolygonCoords(v);w.forEach(function(R){var O=R.exterior,G=R.interiors;m.addPolyline(E(O),S,a);for(var B=0;B<G.length;B++)m.addPolyline(E(G[B]),S,a)})},highlight:function(m){var h=this._data;if(h){var v=h.getItemModel(m),r=v.getModel("emphasis.itemStyle"),a=r.get("color"),g=T.a.firstNotNull(r.get("opacity"),h.getItemVisual(m,"opacity"),1);if(a==null){var E=h.getItemVisual(m,"color");a=y.a.color.lift(E,-.4)}g==null&&(g=h.getItemVisual(m,"opacity"));var S=L.a.parseColor(a);S[3]*=g,this._setColorOfDataIndex(h,m,S)}},downplay:function(m){var h=this._data;if(h){var v=h.getItemVisual(m,"color"),r=T.a.firstNotNull(h.getItemVisual(m,"opacity"),1),a=L.a.parseColor(v);a[3]*=r,this._setColorOfDataIndex(h,m,a)}},_setColorOfDataIndex:function(m,h,v){if(!(h<this._startIndex&&h>this._endIndex)){h-=this._startIndex;for(var r=this._vertexRangeOfDataIndex[h*2];r<this._vertexRangeOfDataIndex[h*2+1];r++)this._polygonMesh.geometry.attributes.color.set(r,v);this._polygonMesh.geometry.dirty(),this._api.getZr().refresh()}}},X.a=p},function(te,X,D){"use strict";var W=D(81),y=D(1),L=D.n(y),b=L.a.vec3,s=b.create(),T=b.create(),c=b.create();X.a={needsSortTriangles:function(){return this.indices&&this.sortTriangles},needsSortTrianglesProgressively:function(){return this.needsSortTriangles()&&this.triangleCount>=2e4},doSortTriangles:function(u,f){var i=this.indices;if(f===0){var o=this.attributes.position,u=u.array;(!this._triangleZList||this._triangleZList.length!==this.triangleCount)&&(this._triangleZList=new Float32Array(this.triangleCount),this._sortedTriangleIndices=new Uint32Array(this.triangleCount),this._indicesTmp=new i.constructor(i.length),this._triangleZListTmp=new Float32Array(this.triangleCount));for(var d=0,p,m=0;m<i.length;){o.get(i[m++],s),o.get(i[m++],T),o.get(i[m++],c);var h=b.sqrDist(s,u),v=b.sqrDist(T,u),r=b.sqrDist(c,u),a=Math.min(h,v);a=Math.min(a,r),m===3?(p=a,a=0):a=a-p,this._triangleZList[d++]=a}}for(var g=this._sortedTriangleIndices,m=0;m<g.length;m++)g[m]=m;if(this.triangleCount<2e4)f===0&&this._simpleSort(!0);else for(var m=0;m<3;m++)this._progressiveQuickSort(f*3+m);for(var E=this._indicesTmp,S=this._triangleZListTmp,w=this._triangleZList,m=0;m<this.triangleCount;m++){var R=g[m]*3,O=m*3;E[O++]=i[R++],E[O++]=i[R++],E[O]=i[R],S[m]=w[g[m]]}var G=this._indicesTmp;this._indicesTmp=this.indices,this.indices=G;var G=this._triangleZListTmp;this._triangleZListTmp=this._triangleZList,this._triangleZList=G,this.dirtyIndices()},_simpleSort:function(u){var f=this._triangleZList,i=this._sortedTriangleIndices;function o(d,p){return f[p]-f[d]}u?Array.prototype.sort.call(i,o):W.a.sort(i,o,0,i.length-1)},_progressiveQuickSort:function(u){var f=this._triangleZList,i=this._sortedTriangleIndices;this._quickSort=this._quickSort||new W.a,this._quickSort.step(i,function(o,d){return f[d]-f[o]},u)}}},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(73),b=D(58),s=D(3),T=1,c=2;function u(f,i,o){this._labelsMesh=new b.a,this._labelTextureSurface=new L.a({width:512,height:512,devicePixelRatio:o.getDevicePixelRatio(),onupdate:function(){o.getZr().refresh()}}),this._api=o,this._labelsMesh.material.set("textureAtlas",this._labelTextureSurface.getTexture())}u.prototype.getLabelPosition=function(f,i,o){return[0,0,0]},u.prototype.getLabelDistance=function(f,i,o){return 0},u.prototype.getMesh=function(){return this._labelsMesh},u.prototype.updateData=function(f,i,o){i==null&&(i=0),o==null&&(o=f.count()),(!this._labelsVisibilitiesBits||this._labelsVisibilitiesBits.length!==o-i)&&(this._labelsVisibilitiesBits=new Uint8Array(o-i));for(var d=["label","show"],p=["emphasis","label","show"],m=i;m<o;m++){var h=f.getItemModel(m),v=h.get(d),r=h.get(p);r==null&&(r=v);var a=(v?T:0)|(r?c:0);this._labelsVisibilitiesBits[m-i]=a}this._start=i,this._end=o,this._data=f},u.prototype.updateLabels=function(f){if(this._data){f=f||[];for(var i=f.length>0,o={},d=0;d<f.length;d++)o[f[d]]=!0;this._labelsMesh.geometry.convertToDynamicArray(!0),this._labelTextureSurface.clear();for(var p=["label"],m=["emphasis","label"],h=this._data.hostModel,v=this._data,r=h.getModel(p),a=h.getModel(m,r),g={left:"right",right:"left",top:"center",bottom:"center"},E={left:"middle",right:"middle",top:"bottom",bottom:"top"},S=this._start;S<this._end;S++){var w=!1;i&&o[S]&&(w=!0);var R=this._labelsVisibilitiesBits[S-this._start]&(w?c:T);if(R){var O=v.getItemModel(S),G=O.getModel(w?m:p,w?a:r),B=G.get("distance")||0,P=G.get("position"),F=G.getModel("textStyle"),K=this._api.getDevicePixelRatio(),U=h.getFormattedLabel(S,w?"emphasis":"normal");if(U==null||U==="")return;var V=new y.a.graphic.Text;y.a.graphic.setTextStyle(V.style,F,{text:U,textFill:F.get("color")||v.getItemVisual(S,"color")||"#000",textAlign:"left",textVerticalAlign:"top",opacity:s.a.firstNotNull(F.get("opacity"),v.getItemVisual(S,"opacity"),1)});var C=V.getBoundingRect(),M=1.2;C.height*=M;var z=this._labelTextureSurface.add(V),$=g[P]||"center",q=E[P]||"bottom";this._labelsMesh.geometry.addSprite(this.getLabelPosition(S,P,B),[C.width*K,C.height*K],z,$,q,this.getLabelDistance(S,P,B)*K)}}this._labelsMesh.material.set("uvScale",this._labelTextureSurface.getCoordsScale()),this._labelTextureSurface.getZr().refreshImmediately(),this._labelsMesh.geometry.convertToTypedArray(),this._labelsMesh.geometry.dirty()}},X.a=u},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(216),s=D(217),T=D(61),c=D(9),u=D(3),f=20,i=-10;function o(p,m){return p&&m&&p[0]===m[0]&&p[1]===m[1]}function d(p,m){this.rootNode=new L.a.Node,this.is2D=p,this._labelsBuilder=new T.a(256,256,m),this._labelsBuilder.getMesh().renderOrder=100,this.rootNode.add(this._labelsBuilder.getMesh()),this._api=m,this._spriteImageCanvas=document.createElement("canvas"),this._startDataIndex=0,this._endDataIndex=0,this._sizeScale=1}d.prototype={constructor:d,highlightOnMouseover:!0,update:function(p,m,h,v,r){var a=this._prevMesh;this._prevMesh=this._mesh,this._mesh=a;var g=p.getData();if(v==null&&(v=0),r==null&&(r=g.count()),this._startDataIndex=v,this._endDataIndex=r-1,!this._mesh){var E=this._prevMesh&&this._prevMesh.material;this._mesh=new s.a({renderOrder:10,frustumCulling:!1}),E&&(this._mesh.material=E)}var E=this._mesh.material,S=this._mesh.geometry,w=S.attributes;this.rootNode.remove(this._prevMesh),this.rootNode.add(this._mesh),this._setPositionTextureToMesh(this._mesh,this._positionTexture);var R=this._getSymbolInfo(p,v,r),O=h.getDevicePixelRatio(),G=p.getModel("itemStyle").getItemStyle(),B=p.get("large"),P=1;R.maxSize>2?(P=this._updateSymbolSprite(p,G,R,O),E.enableTexture("sprite")):E.disableTexture("sprite"),w.position.init(r-v);var F=[];if(B){E.undefine("VERTEX_SIZE"),E.undefine("VERTEX_COLOR");var K=g.getVisual("color"),U=g.getVisual("opacity");L.a.parseColor(K,F),F[3]*=U,E.set({color:F,u_Size:R.maxSize*this._sizeScale})}else E.set({color:[1,1,1,1]}),E.define("VERTEX_SIZE"),E.define("VERTEX_COLOR"),w.size.init(r-v),w.color.init(r-v),this._originalOpacity=new Float32Array(r-v);for(var V=g.getLayout("points"),C=w.position.value,M=!1,z=0;z<r-v;z++){var $=z*3,q=z*2;if(this.is2D?(C[$]=V[q],C[$+1]=V[q+1],C[$+2]=i):(C[$]=V[$],C[$+1]=V[$+1],C[$+2]=V[$+2]),!B){var K=g.getItemVisual(z,"color"),U=g.getItemVisual(z,"opacity");L.a.parseColor(K,F),F[3]*=U,w.color.set(z,F),F[3]<.99&&(M=!0);var se=g.getItemVisual(z,"symbolSize");se=se instanceof Array?Math.max(se[0],se[1]):se,isNaN(se)&&(se=0),w.size.value[z]=se*P*this._sizeScale,this._originalOpacity[z]=F[3]}}this._mesh.sizeScale=P,S.updateBoundingBox(),S.dirty(),this._updateMaterial(p,G);var ue=p.coordinateSystem;if(ue&&ue.viewGL){var pe=ue.viewGL.isLinearSpace()?"define":"undefine";E[pe]("fragment","SRGB_DECODE")}B||this._updateLabelBuilder(p,v,r),this._updateHandler(p,m,h),this._updateAnimation(p),this._api=h},getPointsMesh:function(){return this._mesh},updateLabels:function(p){this._labelsBuilder.updateLabels(p)},hideLabels:function(){this.rootNode.remove(this._labelsBuilder.getMesh())},showLabels:function(){this.rootNode.add(this._labelsBuilder.getMesh())},_updateSymbolSprite:function(p,m,h,v){h.maxSize=Math.min(h.maxSize*2,200);var r=[];return h.aspect>1?(r[0]=h.maxSize,r[1]=h.maxSize/h.aspect):(r[1]=h.maxSize,r[0]=h.maxSize*h.aspect),r[0]=r[0]||1,r[1]=r[1]||1,(this._symbolType!==h.type||!o(this._symbolSize,r)||this._lineWidth!==m.lineWidth)&&(b.a.createSymbolSprite(h.type,r,{fill:"#fff",lineWidth:m.lineWidth,stroke:"transparent",shadowColor:"transparent",minMargin:Math.min(r[0]/2,10)},this._spriteImageCanvas),b.a.createSDFFromCanvas(this._spriteImageCanvas,Math.min(this._spriteImageCanvas.width,32),f,this._mesh.material.get("sprite").image),this._symbolType=h.type,this._symbolSize=r,this._lineWidth=m.lineWidth),this._spriteImageCanvas.width/h.maxSize*v},_updateMaterial:function(p,m){var h=p.get("blendMode")==="lighter"?L.a.additiveBlend:null,v=this._mesh.material;v.blend=h,v.set("lineWidth",m.lineWidth/f);var r=L.a.parseColor(m.stroke);v.set("strokeColor",r),v.transparent=!0,v.depthMask=!1,v.depthTest=!this.is2D,v.sortVertices=!this.is2D},_updateLabelBuilder:function(p,g,h){var v=p.getData(),r=this._mesh.geometry,a=r.attributes.position.value,g=this._startDataIndex,E=this._mesh.sizeScale;this._labelsBuilder.updateData(v,g,h),this._labelsBuilder.getLabelPosition=function(S,w,R){var O=(S-g)*3;return[a[O],a[O+1],a[O+2]]},this._labelsBuilder.getLabelDistance=function(S,w,R){var O=r.attributes.size.get(S-g)/E;return O/2+R},this._labelsBuilder.updateLabels()},_updateAnimation:function(p){L.a.updateVertexAnimation([["prevPosition","position"],["prevSize","size"]],this._prevMesh,this._mesh,p)},_updateHandler:function(p,m,h){var v=p.getData(),r=this._mesh,a=this,g=-1,E=p.coordinateSystem&&p.coordinateSystem.type==="cartesian3D",S;E&&(S=p.coordinateSystem.model),r.seriesIndex=p.seriesIndex,r.off("mousemove"),r.off("mouseout"),r.on("mousemove",function(w){var R=w.vertexIndex+a._startDataIndex;R!==g&&(this.highlightOnMouseover&&(this.downplay(v,g),this.highlight(v,R),this._labelsBuilder.updateLabels([R])),E&&h.dispatchAction({type:"grid3DShowAxisPointer",value:[v.get(p.coordDimToDataDim("x")[0],R),v.get(p.coordDimToDataDim("y")[0],R),v.get(p.coordDimToDataDim("z")[0],R)],grid3DIndex:S.componentIndex})),r.dataIndex=R,g=R},this),r.on("mouseout",function(w){var R=w.vertexIndex+a._startDataIndex;this.highlightOnMouseover&&(this.downplay(v,R),this._labelsBuilder.updateLabels()),g=-1,r.dataIndex=-1,E&&h.dispatchAction({type:"grid3DHideAxisPointer",grid3DIndex:S.componentIndex})},this)},updateLayout:function(p,m,h){var v=p.getData();if(this._mesh){var r=this._mesh.geometry.attributes.position.value,a=v.getLayout("points");if(this.is2D)for(var g=0;g<a.length/2;g++){var E=g*3,S=g*2;r[E]=a[S],r[E+1]=a[S+1],r[E+2]=i}else for(var g=0;g<a.length;g++)r[g]=a[g];this._mesh.geometry.dirty(),h.getZr().refresh()}},updateView:function(p){if(this._mesh){var m=new c.a;c.a.mul(m,p.viewMatrix,this._mesh.worldTransform),c.a.mul(m,p.projectionMatrix,m),this._mesh.updateNDCPosition(m,this.is2D,this._api)}},highlight:function(p,m){if(!(m>this._endDataIndex||m<this._startDataIndex)){var h=p.getItemModel(m),v=h.getModel("emphasis.itemStyle"),r=v.get("color"),a=v.get("opacity");if(r==null){var g=p.getItemVisual(m,"color");r=y.a.color.lift(g,-.4)}a==null&&(a=p.getItemVisual(m,"opacity"));var E=L.a.parseColor(r);E[3]*=a,this._mesh.geometry.attributes.color.set(m-this._startDataIndex,E),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},downplay:function(p,m){if(!(m>this._endDataIndex||m<this._startDataIndex)){var h=p.getItemVisual(m,"color"),v=p.getItemVisual(m,"opacity"),r=L.a.parseColor(h);r[3]*=v,this._mesh.geometry.attributes.color.set(m-this._startDataIndex,r),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeOutAll:function(p){if(this._originalOpacity){for(var m=this._mesh.geometry,h=0;h<m.vertexCount;h++){var v=this._originalOpacity[h]*p;m.attributes.color.value[h*4+3]=v}m.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeInAll:function(){this.fadeOutAll(1)},setPositionTexture:function(p){this._mesh&&this._setPositionTextureToMesh(this._mesh,p),this._positionTexture=p},removePositionTexture:function(){this._positionTexture=null,this._mesh&&this._setPositionTextureToMesh(this._mesh,null)},setSizeScale:function(p){if(p!==this._sizeScale){if(this._mesh){var m=this._mesh.material.get("u_Size");this._mesh.material.set("u_Size",m/this._sizeScale*p);var h=this._mesh.geometry.attributes;if(h.size.value)for(var v=0;v<h.size.value.length;v++)h.size.value[v]=h.size.value[v]/this._sizeScale*p}this._sizeScale=p}},_setPositionTextureToMesh:function(p,m){m&&p.material.set("positionTexture",m),p.material[m?"enableTexture":"disableTexture"]("positionTexture")},_getSymbolInfo:function(p,m,h){if(p.get("large")){var v=u.a.firstNotNull(p.get("symbolSize"),1),w,a;return v instanceof Array?(w=Math.max(v[0],v[1]),a=v[0]/v[1]):(w=v,a=1),{maxSize:v,type:p.get("symbol"),aspect:a}}for(var r=p.getData(),a,g=!1,E=r.getItemVisual(0,"symbol")||"circle",S=!1,w=0,R=m;R<h;R++){var v=r.getItemVisual(R,"symbolSize"),O=r.getItemVisual(R,"symbol"),G;if(v instanceof Array)G=v[0]/v[1],w=Math.max(Math.max(v[0],v[1]),w);else{if(isNaN(v))return;G=1,w=Math.max(v,w)}a!=null&&Math.abs(G-a)>.05&&(g=!0),O!==E&&(S=!0),E=O,a=G}return g&&console.warn("Different symbol width / height ratio will be ignored."),S&&console.warn("Different symbol type will be ignored."),{maxSize:w,type:E,aspect:a}}},X.a=d},function(te,X,D){"use strict";X.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(te,X,D){"use strict";var W=D(28),y=D(11),L=0,b=null,s=!0,T,c=function(){this.triangleCount=0,this.vertexCount=0,this.drawCallCount=0};function u(i,o,d){this.availableAttributes=i,this.availableAttributeSymbols=o,this.indicesBuffer=d,this.vao=null}var f=W.a.extend({material:null,geometry:null,mode:y.a.TRIANGLES,_drawCache:null,_renderInfo:null},function(){this._drawCache={},this._renderInfo=new c},{__program:null,lightGroup:0,renderOrder:0,lineWidth:1,culling:!0,cullFace:y.a.BACK,frontFace:y.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(i){},afterRender:function(i,o){},getBoundingBox:function(i,o){return o=W.a.prototype.getBoundingBox.call(this,i,o),this.geometry&&this.geometry.boundingBox&&o.union(this.geometry.boundingBox),o},render:function(i,o,d){var p=i.gl;o=o||this.material;var m=o.shader,h=this.geometry,v=this.mode,r=h.vertexCount,a=h.isUseIndices(),g=i.getGLExtension("OES_element_index_uint"),E=g&&r>65535,S=E?p.UNSIGNED_INT:p.UNSIGNED_SHORT,w=i.getGLExtension("OES_vertex_array_object"),R=!h.dynamic,O=this._renderInfo;O.vertexCount=r,O.triangleCount=0,O.drawCallCount=0;var G=!1;if(T=i.__uid__+"-"+h.__uid__+"-"+d.__uid__,(T!==L||w&&R||h._cache.isDirty("any"))&&(G=!0),L=T,!G)s?(p.drawElements(v,b.count,S,0),O.triangleCount=b.count/3):p.drawArrays(v,0,r),O.drawCallCount=1;else{var B=this._drawCache[T];if(!B){var P=h.getBufferChunks(i);if(!P)return;B=[];for(var F=0;F<P.length;F++){for(var K=P[F],U=K.attributeBuffers,V=K.indicesBuffer,C=[],M=[],z=0;z<U.length;z++){var $=U[z],q=$.name,se=$.semantic,ue;if(se){var pe=m.attributeSemantics[se];ue=pe&&pe.symbol}else ue=q;ue&&d.attributes[ue]&&(C.push($),M.push(ue))}var Ee=new u(C,M,V);B.push(Ee)}R&&(this._drawCache[T]=B)}for(var De=0;De<B.length;De++){var Ee=B[De],Fe=!0;w&&R&&(Ee.vao==null?Ee.vao=w.createVertexArrayOES():Fe=!1,w.bindVertexArrayOES(Ee.vao));var C=Ee.availableAttributes,V=Ee.indicesBuffer;if(Fe)for(var Ge=d.enableAttributes(i,Ee.availableAttributeSymbols,w&&R&&Ee.vao),z=0;z<C.length;z++){var xe=Ge[z];if(xe!==-1){var $=C[z],Ke=$.buffer,Ce=$.size,Se;switch($.type){case"float":Se=p.FLOAT;break;case"byte":Se=p.BYTE;break;case"ubyte":Se=p.UNSIGNED_BYTE;break;case"short":Se=p.SHORT;break;case"ushort":Se=p.UNSIGNED_SHORT;break;default:Se=p.FLOAT;break}p.bindBuffer(p.ARRAY_BUFFER,Ke),p.vertexAttribPointer(xe,Ce,Se,!1,0,0)}}(v==y.a.LINES||v==y.a.LINE_STRIP||v==y.a.LINE_LOOP)&&p.lineWidth(this.lineWidth),b=V,s=h.isUseIndices(),s?(Fe&&p.bindBuffer(p.ELEMENT_ARRAY_BUFFER,V.buffer),p.drawElements(v,V.count,S,0),O.triangleCount+=V.count/3):p.drawArrays(v,0,r),w&&R&&w.bindVertexArrayOES(null),O.drawCallCount++}}return O},clone:function(){var i=["castShadow","receiveShadow","mode","culling","cullFace","frontFace","frustumCulling","renderOrder","lineWidth","ignorePicking","ignorePreZ","ignoreGBuffer"];return function(){var o=W.a.prototype.clone.call(this);o.geometry=this.geometry,o.material=this.material;for(var d=0;d<i.length;d++){var p=i[d];o[p]!==this[p]&&(o[p]=this[p])}return o}}()});f.POINTS=y.a.POINTS,f.LINES=y.a.LINES,f.LINE_LOOP=y.a.LINE_LOOP,f.LINE_STRIP=y.a.LINE_STRIP,f.TRIANGLES=y.a.TRIANGLES,f.TRIANGLE_STRIP=y.a.TRIANGLE_STRIP,f.TRIANGLE_FAN=y.a.TRIANGLE_FAN,f.BACK=y.a.BACK,f.FRONT=y.a.FRONT,f.FRONT_AND_BACK=y.a.FRONT_AND_BACK,f.CW=y.a.CW,f.CCW=y.a.CCW,f.RenderInfo=c,X.a=f},function(te,X){var D=typeof window!="undefined"&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(W){setTimeout(W,16)};te.exports=D},function(te,X,D){"use strict";var W={};W.isPowerOfTwo=function(y){return(y&y-1)===0},W.nextPowerOfTwo=function(y){return y--,y|=y>>1,y|=y>>2,y|=y>>4,y|=y>>8,y|=y>>16,y++,y},W.nearestPowerOfTwo=function(y){return Math.pow(2,Math.round(Math.log(y)/Math.LN2))},X.a=W},function(te,X,D){"use strict";var W=D(4),y=D(1),L=D.n(y),b=L.a.vec3,s=L.a.mat4,T=L.a.vec4,c=function(u,f){this.normal=u||new W.a(0,1,0),this.distance=f||0};c.prototype={constructor:c,distanceToPoint:function(u){return b.dot(u.array,this.normal.array)-this.distance},projectPoint:function(u,f){f||(f=new W.a);var i=this.distanceToPoint(u);return b.scaleAndAdd(f.array,u.array,this.normal.array,-i),f._dirty=!0,f},normalize:function(){var u=1/b.len(this.normal.array);b.scale(this.normal.array,u),this.distance*=u},intersectFrustum:function(u){for(var f=u.vertices,i=this.normal.array,o=b.dot(f[0].array,i)>this.distance,d=1;d<8;d++)if(b.dot(f[d].array,i)>this.distance!=o)return!0},intersectLine:function(){var u=b.create();return function(f,i,o){var d=this.distanceToPoint(f),p=this.distanceToPoint(i);if(d>0&&p>0||d<0&&p<0)return null;var m=this.normal.array,h=this.distance,v=f.array;b.sub(u,i.array,f.array),b.normalize(u,u);var r=b.dot(m,u);if(r===0)return null;o||(o=new W.a);var a=(b.dot(m,v)-h)/r;return b.scaleAndAdd(o.array,v,u,-a),o._dirty=!0,o}}(),applyTransform:function(){var u=s.create(),f=T.create(),i=T.create();return i[3]=1,function(o){o=o.array,b.scale(i,this.normal.array,this.distance),T.transformMat4(i,i,o),this.distance=b.dot(i,this.normal.array),s.invert(u,o),s.transpose(u,u),f[3]=0,b.copy(f,this.normal.array),T.transformMat4(f,f,u),b.copy(this.normal.array,f)}}(),copy:function(u){b.copy(this.normal.array,u.normal.array),this.normal._dirty=!0,this.distance=u.distance},clone:function(){var u=new c;return u.copy(this),u}},X.a=c},function(te,X,D){"use strict";var W=D(13),y=D(15),L=W.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 b=this.heightSegments,s=this.widthSegments,T=this.attributes.position,c=this.attributes.texcoord0,u=this.attributes.normal,f=(s+1)*(b+1);T.init(f),c.init(f),u.init(f);var i=f>65535?Uint32Array:Uint16Array,o=this.indices=new i(s*b*6),d,p,m,h,v,r,a,R=this.radius,g=this.phiStart,E=this.phiLength,S=this.thetaStart,w=this.thetaLength,R=this.radius,O=[],G=[],B=0,P=1/R;for(a=0;a<=b;a++)for(r=0;r<=s;r++)h=r/s,v=a/b,d=-R*Math.cos(g+h*E)*Math.sin(S+v*w),p=R*Math.cos(S+v*w),m=R*Math.sin(g+h*E)*Math.sin(S+v*w),O[0]=d,O[1]=p,O[2]=m,G[0]=h,G[1]=v,T.set(B,O),c.set(B,G),O[0]*=P,O[1]*=P,O[2]*=P,u.set(B,O),B++;var F,K,U,V,C=s+1,M=0;for(a=0;a<b;a++)for(r=0;r<s;r++)K=a*C+r,F=a*C+r+1,V=(a+1)*C+r+1,U=(a+1)*C+r,o[M++]=F,o[M++]=K,o[M++]=V,o[M++]=K,o[M++]=U,o[M++]=V;this.boundingBox=new y.a,this.boundingBox.max.set(R,R,R),this.boundingBox.min.set(-R,-R,-R)}});X.a=L},function(te,X,D){"use strict";var W=D(13),y=D(37),L=D(9),b=D(4),s=D(15),T=D(18),c=new L.a,u=W.a.extend({dynamic:!1,widthSegments:1,heightSegments:1,depthSegments:1,inside:!1},function(){this.build()},{build:function(){var i={px:f("px",this.depthSegments,this.heightSegments),nx:f("nx",this.depthSegments,this.heightSegments),py:f("py",this.widthSegments,this.depthSegments),ny:f("ny",this.widthSegments,this.depthSegments),pz:f("pz",this.widthSegments,this.heightSegments),nz:f("nz",this.widthSegments,this.heightSegments)},o=["position","texcoord0","normal"],d=0,p=0;for(var m in i)d+=i[m].vertexCount,p+=i[m].indices.length;for(var h=0;h<o.length;h++)this.attributes[o[h]].init(d);this.indices=new T.a.Uint16Array(p);var v=0,r=0;for(var m in i){for(var a=i[m],h=0;h<o.length;h++)for(var g=o[h],E=a.attributes[g].value,S=a.attributes[g].size,w=g==="normal",R=0;R<E.length;R++){var O=E[R];this.inside&&w&&(O=-O),this.attributes[g].value[R+S*r]=O}for(var G=a.indices.length,R=0;R<a.indices.length;R++)this.indices[R+v]=r+a.indices[this.inside?G-R-1:R];v+=a.indices.length,r+=a.vertexCount}this.boundingBox=new s.a,this.boundingBox.max.set(1,1,1),this.boundingBox.min.set(-1,-1,-1)}});function f(i,o,d){c.identity();var p=new y.a({widthSegments:o,heightSegments:d});switch(i){case"px":L.a.translate(c,c,b.a.POSITIVE_X),L.a.rotateY(c,c,Math.PI/2);break;case"nx":L.a.translate(c,c,b.a.NEGATIVE_X),L.a.rotateY(c,c,-Math.PI/2);break;case"py":L.a.translate(c,c,b.a.POSITIVE_Y),L.a.rotateX(c,c,-Math.PI/2);break;case"ny":L.a.translate(c,c,b.a.NEGATIVE_Y),L.a.rotateX(c,c,Math.PI/2);break;case"pz":L.a.translate(c,c,b.a.POSITIVE_Z);break;case"nz":L.a.translate(c,c,b.a.NEGATIVE_Z),L.a.rotateY(c,c,Math.PI);break}return p.applyTransform(c),p}X.a=u},function(te,X,D){"use strict";var W=D(19),y=D(4),L=W.a.extend({shadowBias:.001,shadowSlopeScale:2,shadowCascade:1,cascadeSplitLogFactor:.2},{type:"DIRECTIONAL_LIGHT",uniformTemplates:{directionalLightDirection:{type:"3f",value:function(b){return b.__dir=b.__dir||new y.a,b.__dir.copy(b.worldTransform.z).normalize().negate().array}},directionalLightColor:{type:"3f",value:function(b){var s=b.color,T=b.intensity;return[s[0]*T,s[1]*T,s[2]*T]}}},clone:function(){var b=W.a.prototype.clone.call(this);return b.shadowBias=this.shadowBias,b.shadowSlopeScale=this.shadowSlopeScale,b}});X.a=L},function(te,X,D){"use strict";var W=D(19),y=W.a.extend({range:100,castShadow:!1},{type:"POINT_LIGHT",uniformTemplates:{pointLightPosition:{type:"3f",value:function(L){return L.getWorldPosition().array}},pointLightRange:{type:"1f",value:function(L){return L.range}},pointLightColor:{type:"3f",value:function(L){var b=L.color,s=L.intensity;return[b[0]*s,b[1]*s,b[2]*s]}}},clone:function(){var L=W.a.prototype.clone.call(this);return L.range=this.range,L}});X.a=y},function(te,X,D){"use strict";var W=D(19),y=D(4),L=W.a.extend({range:20,umbraAngle:30,penumbraAngle:45,falloffFactor:2,shadowBias:2e-4,shadowSlopeScale:2},{type:"SPOT_LIGHT",uniformTemplates:{spotLightPosition:{type:"3f",value:function(b){return b.getWorldPosition().array}},spotLightRange:{type:"1f",value:function(b){return b.range}},spotLightUmbraAngleCosine:{type:"1f",value:function(b){return Math.cos(b.umbraAngle*Math.PI/180)}},spotLightPenumbraAngleCosine:{type:"1f",value:function(b){return Math.cos(b.penumbraAngle*Math.PI/180)}},spotLightFalloffFactor:{type:"1f",value:function(b){return b.falloffFactor}},spotLightDirection:{type:"3f",value:function(b){return b.__dir=b.__dir||new y.a,b.__dir.copy(b.worldTransform.z).negate().array}},spotLightColor:{type:"3f",value:function(b){var s=b.color,T=b.intensity;return[s[0]*T,s[1]*T,s[2]*T]}}},clone:function(){var b=W.a.prototype.clone.call(this);return b.range=this.range,b.umbraAngle=this.umbraAngle,b.penumbraAngle=this.penumbraAngle,b.falloffFactor=this.falloffFactor,b.shadowBias=this.shadowBias,b.shadowSlopeScale=this.shadowSlopeScale,b}});X.a=L},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(5);function b(T,c,u,f,i,o,d){this._zr=T,this._x=0,this._y=0,this._rowHeight=0,this.width=f,this.height=i,this.offsetX=c,this.offsetY=u,this.dpr=d,this.gap=o}b.prototype={constructor:b,clear:function(){this._x=0,this._y=0,this._rowHeight=0},add:function(T,c,u){var f=T.getBoundingRect();c==null&&(c=f.width),u==null&&(u=f.height),c*=this.dpr,u*=this.dpr,this._fitElement(T,c,u);var i=this._x,o=this._y,d=this.width*this.dpr,p=this.height*this.dpr,m=this.gap;if(i+c+m>d&&(i=this._x=0,o+=this._rowHeight+m,this._y=o,this._rowHeight=0),this._x+=c+m,this._rowHeight=Math.max(this._rowHeight,u),o+u+m>p)return null;T.position[0]+=this.offsetX*this.dpr+i,T.position[1]+=this.offsetY*this.dpr+o,this._zr.add(T);var h=[this.offsetX/this.width,this.offsetY/this.height],v=[[i/d+h[0],o/p+h[1]],[(i+c)/d+h[0],(o+u)/p+h[1]]];return v},_fitElement:function(T,c,u){var f=T.getBoundingRect(),i=c/f.width,o=u/f.height;T.position=[-f.x*i,-f.y*o],T.scale=[i,o],T.update()}};function s(T){T=T||{},T.width=T.width||512,T.height=T.height||512,T.devicePixelRatio=T.devicePixelRatio||1,T.gap=T.gap==null?2:T.gap;var c=document.createElement("canvas");c.width=T.width*T.devicePixelRatio,c.height=T.height*T.devicePixelRatio,this._canvas=c,this._texture=new L.a({image:c,flipY:!1});var u=this;this._zr=y.a.zrender.init(c);var f=this._zr.refreshImmediately;this._zr.refreshImmediately=function(){f.call(this),u._texture.dirty(),u.onupdate&&u.onupdate()},this._dpr=T.devicePixelRatio,this._coords={},this.onupdate=T.onupdate,this._gap=T.gap,this._textureAtlasNodes=[new b(this._zr,0,0,T.width,T.height,this._gap,this._dpr)],this._nodeWidth=T.width,this._nodeHeight=T.height,this._currentNodeIdx=0}s.prototype={clear:function(){for(var T=0;T<this._textureAtlasNodes.length;T++)this._textureAtlasNodes[T].clear();this._currentNodeIdx=0,this._zr.clear(),this._coords={}},getWidth:function(){return this._width},getHeight:function(){return this._height},getTexture:function(){return this._texture},getDevicePixelRatio:function(){return this._dpr},getZr:function(){return this._zr},_getCurrentNode:function(){return this._textureAtlasNodes[this._currentNodeIdx]},_expand:function(){if(this._currentNodeIdx++,this._textureAtlasNodes[this._currentNodeIdx])return this._textureAtlasNodes[this._currentNodeIdx];var T=4096/this._dpr,c=this._textureAtlasNodes,u=c.length,f=u*this._nodeWidth%T,i=Math.floor(u*this._nodeWidth/T)*this._nodeHeight;if(i>=T){console.error("Too much labels. Some will be ignored.");return}var o=(f+this._nodeWidth)*this._dpr,d=(i+this._nodeHeight)*this._dpr;try{this._zr.resize({width:o,height:d})}catch(m){this._canvas.width=o,this._canvas.height=d}var p=new b(this._zr,f,i,this._nodeWidth,this._nodeHeight,this._gap,this._dpr);return this._textureAtlasNodes.push(p),p},add:function(T,c,u){if(this._coords[T.id])return console.warn("Element already been add"),this._coords[T.id];var f=this._getCurrentNode().add(T,c,u);if(!f){var i=this._expand();if(!i)return;f=i.add(T,c,u)}return this._coords[T.id]=f,f},getCoordsScale:function(){var T=this._dpr;return[this._nodeWidth/this._canvas.width*T,this._nodeHeight/this._canvas.height*T]},getCoords:function(T){return this._coords[T]}},X.a=s},function(te,X,D){"use strict";X.a=W;function W(y,L,b){var s,T=y.scale;return T.type==="ordinal"&&(typeof b=="function"?(s=T.getTicks()[L],!b(s,T.getLabel(s))):L%(b+1))}},function(te,X,D){var W=D(76),y=D(77),L=W.applyTransform,b=Math.min,s=Math.max;function T(u,f,i,o){i<0&&(u=u+i,i=-i),o<0&&(f=f+o,o=-o),this.x=u,this.y=f,this.width=i,this.height=o}T.prototype={constructor:T,union:function(u){var f=b(u.x,this.x),i=b(u.y,this.y);this.width=s(u.x+u.width,this.x+this.width)-f,this.height=s(u.y+u.height,this.y+this.height)-i,this.x=f,this.y=i},applyTransform:function(){var u=[],f=[],i=[],o=[];return function(d){if(d){u[0]=i[0]=this.x,u[1]=o[1]=this.y,f[0]=o[0]=this.x+this.width,f[1]=i[1]=this.y+this.height,L(u,u,d),L(f,f,d),L(i,i,d),L(o,o,d),this.x=b(u[0],f[0],i[0],o[0]),this.y=b(u[1],f[1],i[1],o[1]);var p=s(u[0],f[0],i[0],o[0]),m=s(u[1],f[1],i[1],o[1]);this.width=p-this.x,this.height=m-this.y}}}(),calculateTransform:function(u){var f=this,i=u.width/f.width,o=u.height/f.height,d=y.create();return y.translate(d,d,[-f.x,-f.y]),y.scale(d,d,[i,o]),y.translate(d,d,[u.x,u.y]),d},intersect:function(u){if(!u)return!1;u instanceof T||(u=T.create(u));var f=this,i=f.x,o=f.x+f.width,d=f.y,p=f.y+f.height,m=u.x,h=u.x+u.width,v=u.y,r=u.y+u.height;return!(o<m||h<i||p<v||r<d)},contain:function(u,f){var i=this;return u>=i.x&&u<=i.x+i.width&&f>=i.y&&f<=i.y+i.height},clone:function(){return new T(this.x,this.y,this.width,this.height)},copy:function(u){this.x=u.x,this.y=u.y,this.width=u.width,this.height=u.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},T.create=function(u){return new T(u.x,u.y,u.width,u.height)};var c=T;te.exports=c},function(te,X){var D=typeof Float32Array=="undefined"?Array:Float32Array;function W(B,P){var F=new D(2);return B==null&&(B=0),P==null&&(P=0),F[0]=B,F[1]=P,F}function y(B,P){return B[0]=P[0],B[1]=P[1],B}function L(B){var P=new D(2);return P[0]=B[0],P[1]=B[1],P}function b(B,P,F){return B[0]=P,B[1]=F,B}function s(B,P,F){return B[0]=P[0]+F[0],B[1]=P[1]+F[1],B}function T(B,P,F,K){return B[0]=P[0]+F[0]*K,B[1]=P[1]+F[1]*K,B}function c(B,P,F){return B[0]=P[0]-F[0],B[1]=P[1]-F[1],B}function u(B){return Math.sqrt(i(B))}var f=u;function i(B){return B[0]*B[0]+B[1]*B[1]}var o=i;function d(B,P,F){return B[0]=P[0]*F[0],B[1]=P[1]*F[1],B}function p(B,P,F){return B[0]=P[0]/F[0],B[1]=P[1]/F[1],B}function m(B,P){return B[0]*P[0]+B[1]*P[1]}function h(B,P,F){return B[0]=P[0]*F,B[1]=P[1]*F,B}function v(B,P){var F=u(P);return F===0?(B[0]=0,B[1]=0):(B[0]=P[0]/F,B[1]=P[1]/F),B}function r(B,P){return Math.sqrt((B[0]-P[0])*(B[0]-P[0])+(B[1]-P[1])*(B[1]-P[1]))}var a=r;function g(B,P){return(B[0]-P[0])*(B[0]-P[0])+(B[1]-P[1])*(B[1]-P[1])}var E=g;function S(B,P){return B[0]=-P[0],B[1]=-P[1],B}function w(B,P,F,K){return B[0]=P[0]+K*(F[0]-P[0]),B[1]=P[1]+K*(F[1]-P[1]),B}function R(B,P,F){var K=P[0],U=P[1];return B[0]=F[0]*K+F[2]*U+F[4],B[1]=F[1]*K+F[3]*U+F[5],B}function O(B,P,F){return B[0]=Math.min(P[0],F[0]),B[1]=Math.min(P[1],F[1]),B}function G(B,P,F){return B[0]=Math.max(P[0],F[0]),B[1]=Math.max(P[1],F[1]),B}X.create=W,X.copy=y,X.clone=L,X.set=b,X.add=s,X.scaleAndAdd=T,X.sub=c,X.len=u,X.length=f,X.lenSquare=i,X.lengthSquare=o,X.mul=d,X.div=p,X.dot=m,X.scale=h,X.normalize=v,X.distance=r,X.dist=a,X.distanceSquare=g,X.distSquare=E,X.negate=S,X.lerp=w,X.applyTransform=R,X.min=O,X.max=G},function(te,X){var D=typeof Float32Array=="undefined"?Array:Float32Array;function W(){var i=new D(6);return y(i),i}function y(i){return i[0]=1,i[1]=0,i[2]=0,i[3]=1,i[4]=0,i[5]=0,i}function L(i,o){return i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=o[3],i[4]=o[4],i[5]=o[5],i}function b(i,o,d){var p=o[0]*d[0]+o[2]*d[1],m=o[1]*d[0]+o[3]*d[1],h=o[0]*d[2]+o[2]*d[3],v=o[1]*d[2]+o[3]*d[3],r=o[0]*d[4]+o[2]*d[5]+o[4],a=o[1]*d[4]+o[3]*d[5]+o[5];return i[0]=p,i[1]=m,i[2]=h,i[3]=v,i[4]=r,i[5]=a,i}function s(i,o,d){return i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=o[3],i[4]=o[4]+d[0],i[5]=o[5]+d[1],i}function T(i,o,d){var p=o[0],m=o[2],h=o[4],v=o[1],r=o[3],a=o[5],g=Math.sin(d),E=Math.cos(d);return i[0]=p*E+v*g,i[1]=-p*g+v*E,i[2]=m*E+r*g,i[3]=-m*g+E*r,i[4]=E*h+g*a,i[5]=E*a-g*h,i}function c(i,o,d){var p=d[0],m=d[1];return i[0]=o[0]*p,i[1]=o[1]*m,i[2]=o[2]*p,i[3]=o[3]*m,i[4]=o[4]*p,i[5]=o[5]*m,i}function u(i,o){var d=o[0],p=o[2],m=o[4],h=o[1],v=o[3],r=o[5],a=d*v-h*p;return a?(a=1/a,i[0]=v*a,i[1]=-h*a,i[2]=-p*a,i[3]=d*a,i[4]=(p*r-v*m)*a,i[5]=(h*m-d*r)*a,i):null}function f(i){var o=W();return L(o,i),o}X.create=W,X.identity=y,X.copy=L,X.mul=b,X.translate=s,X.rotate=T,X.scale=c,X.invert=u,X.clone=f},function(te,X,D){var W=D(12),y=1e-4;function L(w){return w.replace(/^\s+/,"").replace(/\s+$/,"")}function b(w,R,O,G){var B=R[1]-R[0],P=O[1]-O[0];if(B===0)return P===0?O[0]:(O[0]+O[1])/2;if(G)if(B>0){if(w<=R[0])return O[0];if(w>=R[1])return O[1]}else{if(w>=R[0])return O[0];if(w<=R[1])return O[1]}else{if(w===R[0])return O[0];if(w===R[1])return O[1]}return(w-R[0])/B*P+O[0]}function s(w,R){switch(w){case"center":case"middle":w="50%";break;case"left":case"top":w="0%";break;case"right":case"bottom":w="100%";break}return typeof w=="string"?L(w).match(/%$/)?parseFloat(w)/100*R:parseFloat(w):w==null?NaN:+w}function T(w,R,O){return R==null&&(R=10),R=Math.min(Math.max(0,R),20),w=(+w).toFixed(R),O?w:+w}function c(w){return w.sort(function(R,O){return R-O}),w}function u(w){if(w=+w,isNaN(w))return 0;for(var R=1,O=0;Math.round(w*R)/R!==w;)R*=10,O++;return O}function f(w){var R=w.toString(),O=R.indexOf("e");if(O>0){var G=+R.slice(O+1);return G<0?-G:0}else{var B=R.indexOf(".");return B<0?0:R.length-1-B}}function i(w,R){var O=Math.log,G=Math.LN10,B=Math.floor(O(w[1]-w[0])/G),P=Math.round(O(Math.abs(R[1]-R[0]))/G),F=Math.min(Math.max(-B+P,0),20);return isFinite(F)?F:20}function o(w,R,O){if(!w[R])return 0;var G=W.reduce(w,function(q,se){return q+(isNaN(se)?0:se)},0);if(G===0)return 0;for(var B=Math.pow(10,O),P=W.map(w,function(q){return(isNaN(q)?0:q)/G*B*100}),F=B*100,K=W.map(P,function(q){return Math.floor(q)}),U=W.reduce(K,function(q,se){return q+se},0),V=W.map(P,function(q,se){return q-K[se]});U<F;){for(var C=Number.NEGATIVE_INFINITY,M=null,z=0,$=V.length;z<$;++z)V[z]>C&&(C=V[z],M=z);++K[M],V[M]=0,++U}return K[R]/B}var d=9007199254740991;function p(w){var R=Math.PI*2;return(w%R+R)%R}function m(w){return w>-y&&w<y}var h=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function v(w){if(w instanceof Date)return w;if(typeof w=="string"){var R=h.exec(w);if(!R)return new Date(NaN);if(R[8]){var O=+R[4]||0;return R[8].toUpperCase()!=="Z"&&(O-=R[8].slice(0,3)),new Date(Date.UTC(+R[1],+(R[2]||1)-1,+R[3]||1,O,+(R[5]||0),+R[6]||0,+R[7]||0))}else return new Date(+R[1],+(R[2]||1)-1,+R[3]||1,+R[4]||0,+(R[5]||0),+R[6]||0,+R[7]||0)}else if(w==null)return new Date(NaN);return new Date(Math.round(w))}function r(w){return Math.pow(10,a(w))}function a(w){return Math.floor(Math.log(w)/Math.LN10)}function g(w,R){var O=a(w),G=Math.pow(10,O),B=w/G,P;return R?B<1.5?P=1:B<2.5?P=2:B<4?P=3:B<7?P=5:P=10:B<1?P=1:B<2?P=2:B<3?P=3:B<5?P=5:P=10,w=P*G,O>=-20?+w.toFixed(O<0?-O:0):w}function E(w){w.sort(function(U,V){return K(U,V,0)?-1:1});for(var R=-1/0,O=1,G=0;G<w.length;){for(var B=w[G].interval,P=w[G].close,F=0;F<2;F++)B[F]<=R&&(B[F]=R,P[F]=F?1:1-O),R=B[F],O=P[F];B[0]===B[1]&&P[0]*P[1]!==1?w.splice(G,1):G++}return w;function K(U,V,C){return U.interval[C]<V.interval[C]||U.interval[C]===V.interval[C]&&(U.close[C]-V.close[C]===(C?-1:1)||!C&&K(U,V,1))}}function S(w){return w-parseFloat(w)>=0}X.linearMap=b,X.parsePercent=s,X.round=T,X.asc=c,X.getPrecision=u,X.getPrecisionSafe=f,X.getPixelPrecision=i,X.getPercentWithPrecision=o,X.MAX_SAFE_INTEGER=d,X.remRadian=p,X.isRadianAroundZero=m,X.parseDate=v,X.quantity=r,X.nice=g,X.reformIntervals=E,X.isNumeric=S},function(te,X,D){"use strict";var W=D(5),y=D(11),L=D(21),b=function(){this._pool={},this._allocatedTextures=[]};b.prototype={constructor:b,get:function(i){var o=c(i);this._pool.hasOwnProperty(o)||(this._pool[o]=[]);var d=this._pool[o];if(!d.length){var p=new W.a(i);return this._allocatedTextures.push(p),p}return d.pop()},put:function(i){var o=c(i);this._pool.hasOwnProperty(o)||(this._pool[o]=[]);var d=this._pool[o];d.push(i)},clear:function(i){for(var o=0;o<this._allocatedTextures.length;o++)this._allocatedTextures[o].dispose(i);this._pool={},this._allocatedTextures=[]}};var s={width:512,height:512,type:y.a.UNSIGNED_BYTE,format:y.a.RGBA,wrapS:y.a.CLAMP_TO_EDGE,wrapT:y.a.CLAMP_TO_EDGE,minFilter:y.a.LINEAR_MIPMAP_LINEAR,magFilter:y.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,unpackAlignment:4,premultiplyAlpha:!1},T=Object.keys(s);function c(i){L.a.defaultsWithPropList(i,s,T),u(i);for(var o="",d=0;d<T.length;d++){var p=T[d],m=i[p].toString();o+=m}return o}function u(i){var o=f(i.width,i.height);i.format===y.a.DEPTH_COMPONENT&&(i.useMipmap=!1),(!o||!i.useMipmap)&&(i.minFilter==y.a.NEAREST_MIPMAP_NEAREST||i.minFilter==y.a.NEAREST_MIPMAP_LINEAR?i.minFilter=y.a.NEAREST:(i.minFilter==y.a.LINEAR_MIPMAP_LINEAR||i.minFilter==y.a.LINEAR_MIPMAP_NEAREST)&&(i.minFilter=y.a.LINEAR)),o||(i.wrapS=y.a.CLAMP_TO_EDGE,i.wrapT=y.a.CLAMP_TO_EDGE)}function f(i,o){return(i&i-1)===0&&(o&o-1)===0}X.a=b},function(te,X,D){"use strict";var W=D(0),y=D.n(W);X.a={getFilledRegions:function(L,b){var s=(L||[]).slice(),T;if(typeof b=="string"?(b=y.a.getMap(b),T=b&&b.geoJson):b&&b.features&&(T=b),!T)return console.error("Map "+b+" not exists. You can download map file on http://echarts.baidu.com/download-map.html"),T.features||console.error("Invalid GeoJSON for map3D"),[];for(var c={},u=T.features,f=0;f<s.length;f++)c[s[f].name]=s[f];for(var f=0;f<u.length;f++){var i=u[f].properties.name;c[i]||s.push({name:i})}return s},defaultOption:{show:!0,zlevel:-10,map:"",left:0,top:0,width:"100%",height:"100%",boxWidth:100,boxHeight:10,boxDepth:"auto",regionHeight:3,environment:"auto",groundPlane:{show:!1,color:"#aaa"},shading:"lambert",light:{main:{alpha:40,beta:30}},viewControl:{alpha:40,beta:0,distance:100,orthographicSize:60,minAlpha:5,minBeta:-80,maxBeta:80},label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}}},function(te,X,D){"use strict";function W(s,T,c){var u=s[T];s[T]=s[c],s[c]=u}function y(s,T,c,u,f){var i=c,o=s[T];W(s,T,u);for(var d=c;d<u;d++)f(s[d],o)<0&&(W(s,d,i),i++);return W(s,u,i),i}function L(s,T,c,u){if(c<u){var f=Math.floor((c+u)/2),i=y(s,f,c,u,T);L(s,T,c,i-1),L(s,T,i+1,u)}}function b(){this._parts=[]}b.prototype.step=function(s,T,c){var u=s.length;if(c===0){this._parts=[],this._sorted=!1;var f=Math.floor(u/2);this._parts.push({pivot:f,left:0,right:u-1}),this._currentSortPartIdx=0}if(!this._sorted){var i=this._parts;if(i.length===0)return this._sorted=!0,!0;if(i.length<512){for(var o=0;o<i.length;o++)i[o].pivot=y(s,i[o].pivot,i[o].left,i[o].right,T);for(var d=[],o=0;o<i.length;o++){var p=i[o].left,m=i[o].pivot-1;m>p&&d.push({pivot:Math.floor((m+p)/2),left:p,right:m});var p=i[o].pivot+1,m=i[o].right;m>p&&d.push({pivot:Math.floor((m+p)/2),left:p,right:m})}i=this._parts=d}else for(var o=0;o<Math.floor(i.length/10);o++){var h=i.length-1-this._currentSortPartIdx;if(L(s,T,i[h].left,i[h].right),this._currentSortPartIdx++,this._currentSortPartIdx===i.length)return this._sorted=!0,!0}return!1}},b.sort=L,X.a=b},function(te,X,D){"use strict";var W=D(83),y=D(0),L=D.n(y),b=D(41),s=D.n(b),T=D(20),c=D(3);function u(p,m){var h=p.getBoxLayoutParams(),v=s.a.getLayoutRect(h,{width:m.getWidth(),height:m.getHeight()});v.y=m.getHeight()-v.y-v.height,this.viewGL.setViewport(v.x,v.y,v.width,v.height,m.getDevicePixelRatio());var r=this.getGeoBoundingRect(),a=r.width/r.height*(p.get("aspectScale")||.75),g=p.get("boxWidth"),E=p.get("boxDepth"),S=p.get("boxHeight");S==null&&(S=5),isNaN(g)&&isNaN(E)&&(g=100),isNaN(E)?E=g/a:isNaN(g)&&(g=E/a),this.setSize(g,S,E),this.regionHeight=p.get("regionHeight"),this.altitudeAxis&&this.altitudeAxis.setExtent(0,Math.max(S-this.regionHeight,0))}function f(p,m){var h=[1/0,-1/0];if(p.eachSeries(function(r){if(r.coordinateSystem===this&&r.type!=="series.map3D"){var a=r.getData(),g=r.coordDimToDataDim("alt")[0];if(g){var E=a.getDataExtent(g,!0);h[0]=Math.min(h[0],E[0]),h[1]=Math.max(h[1],E[1])}}},this),h&&isFinite(h[1]-h[0])){var v=L.a.helper.createScale(h,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new L.a.Axis("altitude",v),this.resize(this.model,m)}}var i=function(p){console.error("Map "+p+" not exists. You can download map file on http://echarts.baidu.com/download-map.html")},o=0,d={dimensions:W.a.prototype.dimensions,create:function(p,m){var h=[];if(!L.a.getMap)throw new Error("geo3D component depends on geo component");function v(r,a){var g=d.createGeo3D(r);r.__viewGL=r.__viewGL||new T.a,g.viewGL=r.__viewGL,r.coordinateSystem=g,g.model=r,h.push(g),g.resize=u,g.resize(r,m),g.update=f}return p.eachComponent("geo3D",function(r,a){v(r,a)}),p.eachSeriesByType("map3D",function(r,a){var g=r.get("coordinateSystem");g==null&&(g="geo3D"),g==="geo3D"&&v(r,a)}),p.eachSeries(function(r){if(r.get("coordinateSystem")==="geo3D"){if(r.type==="series.map3D")return;var a=r.getReferringComponents("geo3D")[0];if(a||(a=p.getComponent("geo3D")),!a)throw new Error('geo "'+c.a.firstNotNull(r.get("geo3DIndex"),r.get("geo3DId"),0)+'" not found');r.coordinateSystem=a.coordinateSystem}}),h},createGeo3D:function(p){var m=p.get("map"),h;if(typeof m=="string"?(h=m,m=L.a.getMap(m)):m&&m.features&&(m={geoJson:m}),m||i(m),!m.geoJson.features)throw new Error("Invalid GeoJSON for map3D");return h==null&&(h="GEO_ANONYMOUS_"+o++),new W.a(h+o++,h,m&&m.geoJson,m&&m.specialAreas,p.get("nameMap"))}};L.a.registerCoordinateSystem("geo3D",d),X.a=d},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(1),b=D.n(L),s=D(187),T=D.n(s),c=D(188),u=D.n(c),f=b.a.vec3,i=b.a.mat4,o=[T.a,u.a];function d(p,m,h,v,r){this.name=p,this.map=m,this.regionHeight=0,this.regions=[],this._nameCoordMap={},this.loadGeoJson(h,v,r),this.transform=i.identity(new Float64Array(16)),this.invTransform=i.identity(new Float64Array(16)),this.extrudeY=!0,this.altitudeAxis}d.prototype={constructor:d,type:"geo3D",dimensions:["lng","lat","alt"],containPoint:function(){},loadGeoJson:function(p,m,h){var v=y.a.parseGeoJSON||y.a.parseGeoJson;try{this.regions=p?v(p):[]}catch(w){throw`Invalid geoJson format
`+w}m=m||{},h=h||{};for(var r=this.regions,a={},g=0;g<r.length;g++){var E=r[g].name;E=h[E]||E,r[g].name=E,a[E]=r[g],this.addGeoCoord(E,r[g].center);var S=m[E];S&&r[g].transformTo(S.left,S.top,S.width,S.height)}this._regionsMap=a,this._geoRect=null,o.forEach(function(w){w(this)},this)},getGeoBoundingRect:function(){if(this._geoRect)return this._geoRect;for(var p,m=this.regions,h=0;h<m.length;h++){var v=m[h].getBoundingRect();p=p||v.clone(),p.union(v)}return this._geoRect=p||new y.a.graphic.BoundingRect(0,0,0,0)},addGeoCoord:function(p,m){this._nameCoordMap[p]=m},getRegion:function(p){return this._regionsMap[p]},getRegionByCoord:function(p){for(var m=this.regions,h=0;h<m.length;h++)if(m[h].contain(p))return m[h]},setSize:function(p,m,h){this.size=[p,m,h];var v=this.getGeoBoundingRect(),r=p/v.width,a=-h/v.height,g=-p/2-v.x*r,E=h/2-v.y*a,S=this.extrudeY?[g,0,E]:[g,E,0],w=this.extrudeY?[r,1,a]:[r,a,1],R=this.transform;i.identity(R),i.translate(R,R,S),i.scale(R,R,w),i.invert(this.invTransform,R)},dataToPoint:function(p,m){m=m||[];var h=this.extrudeY?1:2,v=this.extrudeY?2:1,r=p[2];return isNaN(r)&&(r=0),m[0]=p[0],m[v]=p[1],this.altitudeAxis?m[h]=this.altitudeAxis.dataToCoord(r):m[h]=0,m[h]+=this.regionHeight,f.transformMat4(m,m,this.transform),m},pointToData:function(p,m){}},X.a=d},function(te,X,D){"use strict";var W=D(77),y=D.n(W),L=D(76),b=D.n(L);function s(T){this.viewGL=T}s.prototype.reset=function(T,c){this._updateCamera(c.getWidth(),c.getHeight(),c.getDevicePixelRatio()),this._viewTransform=y.a.create(),this.updateTransform(T,c)},s.prototype.updateTransform=function(T,c){var u=T.coordinateSystem;u.getRoamTransform&&(y.a.invert(this._viewTransform,u.getRoamTransform()),this._setCameraTransform(this._viewTransform),c.getZr().refresh())},s.prototype.dataToPoint=function(T,c,u){u=T.dataToPoint(c,null,u);var f=this._viewTransform;f&&b.a.applyTransform(u,u,f)},s.prototype.removeTransformInPoint=function(T){return this._viewTransform&&b.a.applyTransform(T,T,this._viewTransform),T},s.prototype.getZoom=function(){if(this._viewTransform){var T=this._viewTransform;return 1/Math.max(Math.sqrt(T[0]*T[0]+T[1]*T[1]),Math.sqrt(T[2]*T[2]+T[3]*T[3]))}return 1},s.prototype._setCameraTransform=function(T){var c=this.viewGL.camera;c.position.set(T[4],T[5],0),c.scale.set(Math.sqrt(T[0]*T[0]+T[1]*T[1]),Math.sqrt(T[2]*T[2]+T[3]*T[3]),1)},s.prototype._updateCamera=function(T,c,u){this.viewGL.setViewport(0,0,T,c,u);var f=this.viewGL.camera;f.left=f.top=0,f.bottom=c,f.right=T,f.near=0,f.far=100},X.a=s},function(te,X,D){(function(W){var y;typeof window!="undefined"?y=window.__DEV__:typeof W!="undefined"&&(y=W.__DEV__),typeof y=="undefined"&&(y=!0);var L=y;X.__DEV__=L}).call(X,D(243))},function(te,X,D){"use strict";var W=D(13),y=D(0),L=D.n(y),b=D(33),s=D(1),T=D.n(s),c=T.a.vec2,u=[[0,0],[1,1]],f=W.a.extend(function(){return{segmentScale:4,dynamic:!0,useNativeLine:!0,attributes:{position:new W.a.Attribute("position","float",2,"POSITION"),normal:new W.a.Attribute("normal","float",2),offset:new W.a.Attribute("offset","float",1),color:new W.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(i){var o=this.attributes;this.vertexCount!==i&&(o.position.init(i),o.color.init(i),this.useNativeLine||(o.offset.init(i),o.normal.init(i)),i>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(i){this.triangleCount!==i&&(i===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(i*3):new Uint16Array(i*3))},_getCubicCurveApproxStep:function(i,o,d,p){var m=c.dist(i,o)+c.dist(d,o)+c.dist(p,d),h=1/(m+1)*this.segmentScale;return h},getCubicCurveVertexCount:function(i,o,d,p){var m=this._getCubicCurveApproxStep(i,o,d,p),h=Math.ceil(1/m);return this.useNativeLine?h*2:h*2+2},getCubicCurveTriangleCount:function(i,o,d,p){var m=this._getCubicCurveApproxStep(i,o,d,p),h=Math.ceil(1/m);return this.useNativeLine?0:h*2},getLineVertexCount:function(){return this.getPolylineVertexCount(u)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(u)},getPolylineVertexCount:function(i){var o;if(typeof i=="number")o=i;else{var d=typeof i[0]!="number";o=d?i.length:i.length/2}return this.useNativeLine?(o-1)*2:(o-1)*2+2},getPolylineTriangleCount:function(i){var o;if(typeof i=="number")o=i;else{var d=typeof i[0]!="number";o=d?i.length:i.length/2}return this.useNativeLine?0:(o-1)*2},addCubicCurve:function(i,o,d,p,m,h){h==null&&(h=1);for(var v=i[0],r=i[1],a=o[0],g=o[1],E=d[0],S=d[1],w=p[0],R=p[1],O=this._getCubicCurveApproxStep(i,o,d,p),G=O*O,B=G*O,P=3*O,F=3*G,K=6*G,U=6*B,V=v-a*2+E,C=r-g*2+S,M=(a-E)*3-v+w,z=(g-S)*3-r+R,$=v,q=r,se=(a-v)*P+V*F+M*B,ue=(g-r)*P+C*F+z*B,pe=V*K+M*U,Ee=C*K+z*U,De=M*U,Fe=z*U,Ge=0,xe=0,Ke=Math.ceil(1/O),Ce=new Float32Array((Ke+1)*3),Ce=[],Se=0,xe=0;xe<Ke+1;xe++)Ce[Se++]=$,Ce[Se++]=q,$+=se,q+=ue,se+=pe,ue+=Ee,pe+=De,Ee+=Fe,Ge+=O,Ge>1&&($=se>0?Math.min($,w):Math.max($,w),q=ue>0?Math.min(q,R):Math.max(q,R));this.addPolyline(Ce,m,h)},addLine:function(i,o,d,p){this.addPolyline([i,o],d,p)},addPolyline:function(){var i=c.create(),o=c.create(),d=c.create(),p=c.create(),m=[],h=[],v=[];return function(r,a,g,E,S){if(r.length){var w=typeof r[0]!="number";if(S==null&&(S=w?r.length:r.length/2),!(S<2)){E==null&&(E=0),g==null&&(g=1),this._itemVertexOffsets.push(this._vertexOffset);for(var R=w?typeof a[0]!="number":a.length/4===S,O=this.attributes.position,G=this.attributes.color,B=this.attributes.offset,P=this.attributes.normal,F=this.indices,K=this._vertexOffset,U,V=0;V<S;V++){if(w)m=r[V+E],R?U=a[V+E]:U=a;else{var C=V*2+E;if(m=m||[],m[0]=r[C],m[1]=r[C+1],R){var M=V*4+E;U=U||[],U[0]=a[M],U[1]=a[M+1],U[2]=a[M+2],U[3]=a[M+3]}else U=a}if(this.useNativeLine)V>1&&(O.copy(K,K-1),G.copy(K,K-1),K++);else{var z;if(V<S-1){if(w)c.copy(h,r[V+1]);else{var C=(V+1)*2+E;h=h||[],h[0]=r[C],h[1]=r[C+1]}if(V>0){c.sub(i,m,v),c.sub(o,h,m),c.normalize(i,i),c.normalize(o,o),c.add(p,i,o),c.normalize(p,p);var $=g/2*Math.min(1/c.dot(i,p),2);d[0]=-p[1],d[1]=p[0],z=$}else c.sub(i,h,m),c.normalize(i,i),d[0]=-i[1],d[1]=i[0],z=g/2}else c.sub(i,m,v),c.normalize(i,i),d[0]=-i[1],d[1]=i[0],z=g/2;P.set(K,d),P.set(K+1,d),B.set(K,z),B.set(K+1,-z),c.copy(v,m),O.set(K,m),O.set(K+1,m),G.set(K,U),G.set(K+1,U),K+=2}if(this.useNativeLine)G.set(K,U),O.set(K,m),K++;else if(V>0){var q=this._faceOffset*3,F=this.indices;F[q]=K-4,F[q+1]=K-3,F[q+2]=K-2,F[q+3]=K-3,F[q+4]=K-1,F[q+5]=K-2,this._faceOffset+=2}}this._vertexOffset=K}}}}(),setItemColor:function(i,o){for(var d=this._itemVertexOffsets[i],p=i<this._itemVertexOffsets.length-1?this._itemVertexOffsets[i+1]:this._vertexOffset,m=d;m<p;m++)this.attributes.color.set(m,o);this.dirty("color")}});L.a.util.defaults(f.prototype,b.a),X.a=f},function(te,X,D){"use strict";Object.defineProperty(X,"__esModule",{value:!0});var W=D(88),y=D(133),L=D(183),b=D(189),s=D(195),T=D(202),c=D(209),u=D(213),f=D(220),i=D(226),o=D(229),d=D(233),p=D(236),m=D(239),h=D(253),v=D(259)},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(89),b=D(90),s=D(101),T=D(2),c={version:"1.0.0",dependencies:{echarts:"4.0.0",claygl:"1.0.0"}},u=c.dependencies;function f(m){throw new Error(m+" version is too old, needs "+u[m]+" or higher")}function i(m,h){m.replace(".","")-0<u[h].replace(".","")-0&&f(h),console.log("Loaded "+h+", version "+m)}i(L.a,"claygl"),i(y.a.version,"echarts");function o(m){this._layers={},this._zr=m}o.prototype.update=function(m,h){var v=this,r=h.getZr();if(!r.getWidth()||!r.getHeight()){console.warn("Dom has no width or height");return}function a(S){var w;S.coordinateSystem&&S.coordinateSystem.model,w=S.get("zlevel");var R=v._layers,O=R[w];if(!O){if(O=R[w]=new b.a("gl-"+w,r),r.painter.isSingleCanvas()){O.virtual=!0;var G=new y.a.graphic.Image({z:1e4,style:{image:O.renderer.canvas},silent:!0});O.__hostImage=G,r.add(G)}r.painter.insertLayer(w,O)}return O.__hostImage&&O.__hostImage.setStyle({width:O.renderer.getWidth(),height:O.renderer.getHeight()}),O}function g(S,w){S&&S.traverse(function(R){R.isRenderable&&R.isRenderable()&&(R.ignorePicking=R.$ignorePicking!=null?R.$ignorePicking:w)})}for(var E in this._layers)this._layers[E].removeViewsAll();m.eachComponent(function(S,w){if(S!=="series"){var R=h.getViewOfComponentModel(w),O=w.coordinateSystem;if(R.__ecgl__){var G;if(O){if(!O.viewGL){console.error("Can't find viewGL in coordinateSystem of component "+w.id);return}G=O.viewGL}else{if(!w.viewGL){console.error("Can't find viewGL of component "+w.id);return}G=O.viewGL}var G=O.viewGL,B=a(w);B.addView(G),R.afterRender&&R.afterRender(w,m,h,B),g(R.groupGL,w.get("silent"))}}}),m.eachSeries(function(S){var w=h.getViewOfSeriesModel(S),R=S.coordinateSystem;if(w.__ecgl__){if(R&&!R.viewGL&&!w.viewGL){console.error("Can't find viewGL of series "+w.id);return}var O=R&&R.viewGL||w.viewGL,G=a(S);G.addView(O),w.afterRender&&w.afterRender(S,m,h,G),g(w.groupGL,S.get("silent"))}})};var d=y.a.init;y.a.init=function(){var m=d.apply(this,arguments);return m.getZr().painter.getRenderedCanvas=function(h){if(h=h||{},this._singleCanvas)return this._layers[0].dom;var v=document.createElement("canvas"),r=h.pixelRatio||this.dpr;v.width=this.getWidth()*r,v.height=this.getHeight()*r;var a=v.getContext("2d");a.dpr=r,a.clearRect(0,0,v.width,v.height),h.backgroundColor&&(a.fillStyle=h.backgroundColor,a.fillRect(0,0,v.width,v.height));var g=this.storage.getDisplayList(!0),E={},S,w=this;function R(P,F){var K=w._zlevelList;P==null&&(P=-1/0);for(var U,V=0;V<K.length;V++){var C=K[V],M=w._layers[C];if(!M.__builtin__&&C>P&&C<F){U=M;break}}U&&U.renderToCanvas&&(a.save(),U.renderToCanvas(a),a.restore())}for(var O={ctx:a},G=0;G<g.length;G++){var B=g[G];B.zlevel!==S&&(R(S,B.zlevel),S=B.zlevel),this._doPaintEl(B,O,!0,E)}return R(S,1/0),v},m},y.a.registerPostUpdate(function(m,h){var v=h.getZr(),r=v.__egl=v.__egl||new o(v);r.update(m,h)}),y.a.registerPreprocessor(s.a),y.a.graphicGL=T.a;var p=o},function(te,X,D){"use strict";X.a="1.0.0"},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(46),b=D(100),s=D(6),T=D(47),c=D(65),u=D.n(c),f=function(v,r){this.id=v,this.zr=r;try{this.renderer=new L.a({clearBit:0,devicePixelRatio:r.painter.dpr,preserveDrawingBuffer:!0,premultipliedAlpha:!0}),this.renderer.resize(r.painter.getWidth(),r.painter.getHeight())}catch(g){this.renderer=null,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute; left: 0; top: 0; right: 0; bottom: 0;",this.dom.className="ecgl-nowebgl",this.dom.innerHTML="Sorry, your browser does support WebGL",console.error(g);return}this.onglobalout=this.onglobalout.bind(this),r.on("globalout",this.onglobalout),this.dom=this.renderer.canvas;var a=this.dom.style;a.position="absolute",a.left="0",a.top="0",this.views=[],this._picking=new b.a({renderer:this.renderer}),this._viewsToDispose=[],this._accumulatingId=0,this._zrEventProxy=new y.a.graphic.Rect({shape:{x:-1,y:-1,width:2,height:2},__isGLToZRProxy:!0})};f.prototype.addView=function(v){if(v.layer!==this){var r=this._viewsToDispose.indexOf(v);r>=0&&this._viewsToDispose.splice(r,1),this.views.push(v),v.layer=this;var a=this.zr;v.scene.traverse(function(g){g.__zr=a,g.addAnimatorsToZr&&g.addAnimatorsToZr(a)})}};function i(v){var r=v.__zr;v.__zr=null,r&&v.removeAnimatorsFromZr&&v.removeAnimatorsFromZr(r)}f.prototype.removeView=function(v){if(v.layer===this){var r=this.views.indexOf(v);r>=0&&(this.views.splice(r,1),v.scene.traverse(i,this),v.layer=null,this._viewsToDispose.push(v))}},f.prototype.removeViewsAll=function(){this.views.forEach(function(v){v.scene.traverse(i,this),v.layer=null,this._viewsToDispose.push(v)},this),this.views.length=0},f.prototype.resize=function(v,r){var a=this.renderer;a.resize(v,r)},f.prototype.clear=function(){var v=this.renderer.gl;v.clearColor(0,0,0,0),v.depthMask(!0),v.colorMask(!0,!0,!0,!0),v.clear(v.DEPTH_BUFFER_BIT|v.COLOR_BUFFER_BIT)},f.prototype.clearDepth=function(){var v=this.renderer.gl;v.clear(v.DEPTH_BUFFER_BIT)},f.prototype.clearColor=function(){var v=this.renderer.gl;v.clearColor(0,0,0,0),v.clear(v.COLOR_BUFFER_BIT)},f.prototype.needsRefresh=function(){this.zr.refresh()},f.prototype.refresh=function(){for(var v=0;v<this.views.length;v++)this.views[v].prepareRender();this._doRender(!1),this._trackAndClean();for(var v=0;v<this._viewsToDispose.length;v++)this._viewsToDispose[v].dispose(this.renderer);this._viewsToDispose.length=0,this._startAccumulating()},f.prototype.renderToCanvas=function(v){this._startAccumulating(!0),v.drawImage(this.dom,0,0,v.canvas.width,v.canvas.height)},f.prototype._doRender=function(v){this.clear(),this.renderer.saveViewport();for(var r=0;r<this.views.length;r++)this.views[r].render(this.renderer,v);this.renderer.restoreViewport()},f.prototype._stopAccumulating=function(){this._accumulatingId=0,clearTimeout(this._accumulatingTimeout)};var o=1;f.prototype._startAccumulating=function(v){var r=this;this._stopAccumulating();for(var a=!1,g=0;g<this.views.length;g++)a=this.views[g].needsAccumulate()||a;if(!a)return;function E(S){if(!(!r._accumulatingId||S!==r._accumulatingId)){for(var w=!0,R=0;R<r.views.length;R++)w=r.views[R].isAccumulateFinished()&&a;w||(r._doRender(!0),v?E(S):u()(function(){E(S)}))}}this._accumulatingId=o++,v?E(r._accumulatingId):this._accumulatingTimeout=setTimeout(function(){E(r._accumulatingId)},50)},f.prototype._trackAndClean=function(){var v=[],r=[];this._textureList&&(d(this._textureList),d(this._geometriesList));for(var a=0;a<this.views.length;a++)h(this.views[a].scene,v,r);this._textureList&&(p(this.renderer,this._textureList),p(this.renderer,this._geometriesList)),this._textureList=v,this._geometriesList=r};function d(v){for(var r=0;r<v.length;r++)v[r].__used__=0}function p(v,r){for(var a=0;a<r.length;a++)r[a].__used__||r[a].dispose(v)}function m(v,r){v.__used__=v.__used__||0,v.__used__++,v.__used__===1&&r.push(v)}function h(v,r,a){function g(S){for(var w,R,O=0;O<S.length;O++){var G=S[O],B=G.geometry,P=G.material;if(P!==w)for(var F=P.getTextureUniforms(),K=0;K<F.length;K++){var U=F[K],V=P.uniforms[U].value;if(V){if(V instanceof s.a)m(V,r);else if(V instanceof Array)for(var C=0;C<V.length;C++)V[C]instanceof s.a&&m(V[C],r)}}B!==R&&m(B,a),w=P,R=B}}g(v.opaqueList),g(v.transparentList);for(var E=0;E<v.lights.length;E++)v.lights[E].cubemap&&m(v.lights[E].cubemap,r)}f.prototype.dispose=function(){this._stopAccumulating(),this.renderer.disposeScene(this.scene),this.zr.off("globalout",this.onglobalout)},f.prototype.onmousedown=function(v){if(!(v.target&&v.target.__isGLToZRProxy)){v=v.event;var r=this.pickObject(v.offsetX,v.offsetY);r&&(this._dispatchEvent("mousedown",v,r),this._dispatchDataEvent("mousedown",v,r)),this._downX=v.offsetX,this._downY=v.offsetY}},f.prototype.onmousemove=function(v){if(!(v.target&&v.target.__isGLToZRProxy)){v=v.event;var r=this.pickObject(v.offsetX,v.offsetY),a=r&&r.target,g=this._hovered;this._hovered=r,g&&a!==g.target&&(g.relatedTarget=a,this._dispatchEvent("mouseout",v,g),this.zr.setCursorStyle("default")),this._dispatchEvent("mousemove",v,r),r&&(this.zr.setCursorStyle("pointer"),(!g||a!==g.target)&&this._dispatchEvent("mouseover",v,r)),this._dispatchDataEvent("mousemove",v,r)}},f.prototype.onmouseup=function(v){if(!(v.target&&v.target.__isGLToZRProxy)){v=v.event;var r=this.pickObject(v.offsetX,v.offsetY);r&&(this._dispatchEvent("mouseup",v,r),this._dispatchDataEvent("mouseup",v,r)),this._upX=v.offsetX,this._upY=v.offsetY}},f.prototype.onclick=f.prototype.dblclick=function(v){if(!(v.target&&v.target.__isGLToZRProxy)){var r=this._upX-this._downX,a=this._upY-this._downY;if(!(Math.sqrt(r*r+a*a)>20)){v=v.event;var g=this.pickObject(v.offsetX,v.offsetY);g&&(this._dispatchEvent(v.type,v,g),this._dispatchDataEvent(v.type,v,g));var E=this._clickToSetFocusPoint(v);if(E){var S=E.view.setDOFFocusOnPoint(E.distance);S&&this.zr.refresh()}}}},f.prototype._clickToSetFocusPoint=function(v){for(var r=this.renderer,a=r.viewport,g=this.views.length-1;g>=0;g--){var E=this.views[g];if(E.hasDOF()&&E.containPoint(v.offsetX,v.offsetY)){this._picking.scene=E.scene,this._picking.camera=E.camera,r.viewport=E.viewport;var S=this._picking.pick(v.offsetX,v.offsetY,!0);if(S)return S.view=E,S}}r.viewport=a},f.prototype.onglobalout=function(v){var r=this._hovered;r&&this._dispatchEvent("mouseout",v,{target:r.target})},f.prototype.pickObject=function(v,r){for(var a=[],g=this.renderer,E=g.viewport,S=0;S<this.views.length;S++){var w=this.views[S];w.containPoint(v,r)&&(this._picking.scene=w.scene,this._picking.camera=w.camera,g.viewport=w.viewport,this._picking.pickAll(v,r,a))}return g.viewport=E,a.sort(function(R,O){return R.distance-O.distance}),a[0]},f.prototype._dispatchEvent=function(v,r,a){a||(a={});var g=a.target;for(a.cancelBubble=!1,a.event=r,a.type=v,a.offsetX=r.offsetX,a.offsetY=r.offsetY;g&&(g.trigger(v,a),g=g.getParent(),!a.cancelBubble););this._dispatchToView(v,a)},f.prototype._dispatchDataEvent=function(v,r,a){var g=a&&a.target,E=g&&g.dataIndex,S=g&&g.seriesIndex,w=g&&g.eventData,R=!1,O=this._zrEventProxy;O.position=[r.offsetX,r.offsetY],O.update();var G={target:O};v==="mousemove"&&(E!=null?E!==this._lastDataIndex&&(parseInt(this._lastDataIndex,10)>=0&&(O.dataIndex=this._lastDataIndex,O.seriesIndex=this._lastSeriesIndex,this.zr.handler.dispatchToElement(G,"mouseout",r)),R=!0):w!=null&&w!==this._lastEventData&&(this._lastEventData!=null&&(O.eventData=this._lastEventData,this.zr.handler.dispatchToElement(G,"mouseout",r)),R=!0),this._lastEventData=w,this._lastDataIndex=E,this._lastSeriesIndex=S),O.eventData=w,O.dataIndex=E,O.seriesIndex=S,(w!=null||parseInt(E,10)>=0)&&(this.zr.handler.dispatchToElement(G,v,r),R&&this.zr.handler.dispatchToElement(G,"mouseover",r))},f.prototype._dispatchToView=function(v,r){for(var a=0;a<this.views.length;a++)this.views[a].containPoint(r.offsetX,r.offsetY)&&this.views[a].trigger(v,r)},y.a.util.extend(f.prototype,T.a),X.a=f},function(te,X,D){"use strict";function W(b,s,T){typeof s=="object"&&(T=s,s=null);var c=this,u;if(!(b instanceof Function)){u=[];for(var f in b)b.hasOwnProperty(f)&&u.push(f)}var i=function(d){if(c.apply(this,arguments),b instanceof Function?y(this,b.call(this,d)):L(this,b,u),this.constructor===i)for(var p=i.__initializers__,m=0;m<p.length;m++)p[m].apply(this,arguments)};i.__super__=c,c.__initializers__?i.__initializers__=c.__initializers__.slice():i.__initializers__=[],s&&i.__initializers__.push(s);var o=function(){};return o.prototype=c.prototype,i.prototype=new o,i.prototype.constructor=i,y(i.prototype,T),i.extend=c.extend,i.derive=c.extend,i}function y(b,s){if(s)for(var T in s)s.hasOwnProperty(T)&&(b[T]=s[T])}function L(b,s,T){for(var c=0;c<T.length;c++){var u=T[c];b[u]=s[u]}}X.a={extend:W,derive:W}},function(te,X,D){"use strict";var W=["OES_texture_float","OES_texture_half_float","OES_texture_float_linear","OES_texture_half_float_linear","OES_standard_derivatives","OES_vertex_array_object","OES_element_index_uint","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","EXT_texture_filter_anisotropic","EXT_shader_texture_lod","WEBGL_draw_buffers","EXT_frag_depth","EXT_sRGB"],y=["MAX_TEXTURE_SIZE","MAX_CUBE_MAP_TEXTURE_SIZE"];function L(b){for(var s={},T={},c=0;c<W.length;c++){var u=W[c];i(u)}for(var c=0;c<y.length;c++){var f=y[c];T[f]=b.getParameter(b[f])}this.getExtension=function(o){return o in s||i(o),s[o]},this.getParameter=function(o){return T[o]};function i(o){var d=b.getExtension(o);d||(d=b.getExtension("MOZ_"+o)),d||(d=b.getExtension("WEBKIT_"+o)),s[o]=d}}X.a=L},function(te,X,D){"use strict";var W=D(94),y={},L={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function b(a){return a=Math.round(a),a<0?0:a>255?255:a}function s(a){return a=Math.round(a),a<0?0:a>360?360:a}function T(a){return a<0?0:a>1?1:a}function c(a){return a.length&&a.charAt(a.length-1)==="%"?b(parseFloat(a)/100*255):b(parseInt(a,10))}function u(a){return a.length&&a.charAt(a.length-1)==="%"?T(parseFloat(a)/100):T(parseFloat(a))}function f(a,g,E){return E<0?E+=1:E>1&&(E-=1),E*6<1?a+(g-a)*E*6:E*2<1?g:E*3<2?a+(g-a)*(2/3-E)*6:a}function i(a,g,E){return a+(g-a)*E}function o(a,g,E,S,w){return a[0]=g,a[1]=E,a[2]=S,a[3]=w,a}function d(a,g){return a[0]=g[0],a[1]=g[1],a[2]=g[2],a[3]=g[3],a}var p=new W.a(20),m=null;function h(a,g){m&&d(m,g),m=p.put(a,m||g.slice())}y.parse=function(a,g){if(a){g=g||[];var E=p.get(a);if(E)return d(g,E);a=a+"";var S=a.replace(/ /g,"").toLowerCase();if(S in L)return d(g,L[S]),h(a,g),g;if(S.charAt(0)==="#"){if(S.length===4){var w=parseInt(S.substr(1),16);if(!(w>=0&&w<=4095)){o(g,0,0,0,1);return}return o(g,(w&3840)>>4|(w&3840)>>8,w&240|(w&240)>>4,w&15|(w&15)<<4,1),h(a,g),g}else if(S.length===7){var w=parseInt(S.substr(1),16);if(!(w>=0&&w<=16777215)){o(g,0,0,0,1);return}return o(g,(w&16711680)>>16,(w&65280)>>8,w&255,1),h(a,g),g}return}var R=S.indexOf("("),O=S.indexOf(")");if(R!==-1&&O+1===S.length){var G=S.substr(0,R),B=S.substr(R+1,O-(R+1)).split(","),P=1;switch(G){case"rgba":if(B.length!==4){o(g,0,0,0,1);return}P=u(B.pop());case"rgb":if(B.length!==3){o(g,0,0,0,1);return}return o(g,c(B[0]),c(B[1]),c(B[2]),P),h(a,g),g;case"hsla":if(B.length!==4){o(g,0,0,0,1);return}return B[3]=u(B[3]),v(B,g),h(a,g),g;case"hsl":if(B.length!==3){o(g,0,0,0,1);return}return v(B,g),h(a,g),g;default:return}}o(g,0,0,0,1)}},y.parseToFloat=function(a,g){if(g=y.parse(a,g),!!g)return g[0]/=255,g[1]/=255,g[2]/=255,g};function v(a,g){var E=(parseFloat(a[0])%360+360)%360/360,S=u(a[1]),w=u(a[2]),R=w<=.5?w*(S+1):w+S-w*S,O=w*2-R;return g=g||[],o(g,b(f(O,R,E+1/3)*255),b(f(O,R,E)*255),b(f(O,R,E-1/3)*255),1),a.length===4&&(g[3]=a[3]),g}function r(a){if(a){var g=a[0]/255,E=a[1]/255,S=a[2]/255,w=Math.min(g,E,S),R=Math.max(g,E,S),O=R-w,G=(R+w)/2,B,P;if(O===0)B=0,P=0;else{G<.5?P=O/(R+w):P=O/(2-R-w);var F=((R-g)/6+O/2)/O,K=((R-E)/6+O/2)/O,U=((R-S)/6+O/2)/O;g===R?B=U-K:E===R?B=1/3+F-U:S===R&&(B=2/3+K-F),B<0&&(B+=1),B>1&&(B-=1)}var V=[B*360,P,G];return a[3]!=null&&V.push(a[3]),V}}y.lift=function(a,g){var E=y.parse(a);if(E){for(var S=0;S<3;S++)g<0?E[S]=E[S]*(1-g)|0:E[S]=(255-E[S])*g+E[S]|0;return y.stringify(E,E.length===4?"rgba":"rgb")}},y.toHex=function(a){var g=y.parse(a);if(g)return((1<<24)+(g[0]<<16)+(g[1]<<8)+ +g[2]).toString(16).slice(1)},y.fastLerp=function(a,g,E){if(!(!(g&&g.length)||!(a>=0&&a<=1))){E=E||[];var S=a*(g.length-1),w=Math.floor(S),R=Math.ceil(S),O=g[w],G=g[R],B=S-w;return E[0]=b(i(O[0],G[0],B)),E[1]=b(i(O[1],G[1],B)),E[2]=b(i(O[2],G[2],B)),E[3]=T(i(O[3],G[3],B)),E}},y.fastMapToColor=y.fastLerp,y.lerp=function(a,g,E){if(!(!(g&&g.length)||!(a>=0&&a<=1))){var S=a*(g.length-1),w=Math.floor(S),R=Math.ceil(S),O=y.parse(g[w]),G=y.parse(g[R]),B=S-w,P=y.stringify([b(i(O[0],G[0],B)),b(i(O[1],G[1],B)),b(i(O[2],G[2],B)),T(i(O[3],G[3],B))],"rgba");return E?{color:P,leftIndex:w,rightIndex:R,value:S}:P}},y.mapToColor=y.lerp,y.modifyHSL=function(a,g,E,S){if(a=y.parse(a),a)return a=r(a),g!=null&&(a[0]=s(g)),E!=null&&(a[1]=u(E)),S!=null&&(a[2]=u(S)),y.stringify(v(a),"rgba")},y.modifyAlpha=function(a,g){if(a=y.parse(a),a&&g!=null)return a[3]=T(g),y.stringify(a,"rgba")},y.stringify=function(a,g){if(!(!a||!a.length)){var E=a[0]+","+a[1]+","+a[2];return(g==="rgba"||g==="hsva"||g==="hsla")&&(E+=","+a[3]),g+"("+E+")"}},X.a=y},function(te,X,D){"use strict";var W=D(95),y=function(L){this._list=new W.a,this._map={},this._maxSize=L||10};y.prototype.setMaxSize=function(L){this._maxSize=L},y.prototype.put=function(L,b){if(typeof this._map[L]=="undefined"){var s=this._list.length();if(s>=this._maxSize&&s>0){var T=this._list.head;this._list.remove(T),delete this._map[T.key]}var c=this._list.insert(b);c.key=L,this._map[L]=c}},y.prototype.get=function(L){var b=this._map[L];if(typeof b!="undefined")return b!==this._list.tail&&(this._list.remove(b),this._list.insertEntry(b)),b.value},y.prototype.remove=function(L){var b=this._map[L];typeof b!="undefined"&&(delete this._map[L],this._list.remove(b))},y.prototype.clear=function(){this._list.clear(),this._map={}},X.a=y},function(te,X,D){"use strict";var W=function(){this.head=null,this.tail=null,this._length=0};W.prototype.insert=function(y){var L=new W.Entry(y);return this.insertEntry(L),L},W.prototype.insertAt=function(y,L){if(!(y<0)){for(var b=this.head,s=0;b&&s!=y;)b=b.next,s++;if(b){var T=new W.Entry(L),c=b.prev;c?(c.next=T,T.prev=c):this.head=T,T.next=b,b.prev=T}else this.insert(L)}},W.prototype.insertBeforeEntry=function(y,L){var b=new W.Entry(y),s=L.prev;s?(s.next=b,b.prev=s):this.head=b,b.next=L,L.prev=b,this._length++},W.prototype.insertEntry=function(y){this.head?(this.tail.next=y,y.prev=this.tail,this.tail=y):this.head=this.tail=y,this._length++},W.prototype.remove=function(y){var L=y.prev,b=y.next;L?L.next=b:this.head=b,b?b.prev=L:this.tail=L,y.next=y.prev=null,this._length--},W.prototype.removeAt=function(y){if(!(y<0)){for(var L=this.head,b=0;L&&b!=y;)L=L.next,b++;if(L)return this.remove(L),L.value}},W.prototype.getHead=function(){if(this.head)return this.head.value},W.prototype.getTail=function(){if(this.tail)return this.tail.value},W.prototype.getAt=function(y){if(!(y<0)){for(var L=this.head,b=0;L&&b!=y;)L=L.next,b++;return L.value}},W.prototype.indexOf=function(y){for(var L=this.head,b=0;L;){if(L.value===y)return b;L=L.next,b++}},W.prototype.length=function(){return this._length},W.prototype.isEmpty=function(){return this._length===0},W.prototype.forEach=function(y,L){for(var b=this.head,s=0,T=typeof L!="undefined";b;)T?y.call(L,b.value,s):y(b.value,s),b=b.next,s++},W.prototype.clear=function(){this.tail=this.head=null,this._length=0},W.Entry=function(y){this.value=y,this.next=null,this.prev=null},X.a=W},function(te,X,D){"use strict";var W=D(97),y=/for\s*?\(int\s*?_idx_\s*\=\s*([\w-]+)\;\s*_idx_\s*<\s*([\w-]+);\s*_idx_\s*\+\+\s*\)\s*\{\{([\s\S]+?)(?=\}\})\}\}/g;function L(u,f,i){function o(m,h,v,r){var a="";isNaN(h)&&(h in f?h=f[h]:h=d[h]),isNaN(v)&&(v in f?v=f[v]:v=d[v]);for(var g=parseInt(h);g<parseInt(v);g++)a+="{"+r.replace(/float\s*\(\s*_idx_\s*\)/g,g.toFixed(1)).replace(/_idx_/g,g)+"}";return a}var d={};for(var p in i)d[p+"_COUNT"]=i[p];return u.replace(y,o)}function b(u,f,i){var o=[];if(f)for(var d in f){var p=f[d];p>0&&o.push("#define "+d.toUpperCase()+"_COUNT "+p)}if(i)for(var m=0;m<i.length;m++){var h=i[m];o.push("#define "+h.toUpperCase()+"_ENABLED")}for(var h in u){var v=u[h];v===null?o.push("#define "+h):o.push("#define "+h+" "+v.toString())}return o.join(`
`)}function s(u){for(var f=[],i=0;i<u.length;i++)f.push("#extension GL_"+u[i]+" : enable");return f.join(`
`)}function T(u){return["precision",u,"float"].join(" ")+`;
`+["precision",u,"int"].join(" ")+`;
`+["precision",u,"sampler2D"].join(" ")+`;
`}function c(u){this._renderer=u,this._cache={}}c.prototype.getProgram=function(u,f,i){var o=this._cache,d="s"+f.shader.shaderID+"m"+f.programKey;i&&(d+="se"+i.getProgramKey(u.lightGroup)),u.isSkinnedMesh()&&(d+=","+u.joints.length);var O=o[d];if(O)return O;var p=i?i.getLightsNumbers(u.lightGroup):{},m=this._renderer,h=m.gl,v=f.getEnabledTextures(),r="";u.isSkinnedMesh()&&(r=`
`+b({SKINNING:null,JOINT_COUNT:u.joints.length})+`
`);var a=r+b(f.vertexDefines,p,v),g=r+b(f.fragmentDefines,p,v),E=a+`
`+f.shader.vertex,S=s(["OES_standard_derivatives","EXT_shader_texture_lod"])+`
`+T(f.precision)+`
`+g+`
`+f.shader.fragment,w=L(E,f.vertexDefines,p),R=L(S,f.fragmentDefines,p),O=new W.a;O.uniformSemantics=f.shader.uniformSemantics,O.attributes=f.shader.attributes;var G=O.buildProgram(h,f.shader,w,R);return O.__error=G,o[d]=O,O},X.a=c},function(te,X,D){"use strict";var W=D(18),y=D(8),L=1,b=2,s=3,T={};function c(i){for(var o=i.split(`
`),d=0,p=o.length;d<p;d++)o[d]=d+1+": "+o[d];return o.join(`
`)}function u(i,o,d){if(!i.getShaderParameter(o,i.COMPILE_STATUS))return[i.getShaderInfoLog(o),c(d)].join(`
`)}var f=y.a.extend({uniformSemantics:{},attributes:{}},function(){this._locations={},this._textureSlot=0,this._program=null},{bind:function(i){this._textureSlot=0,i.gl.useProgram(this._program)},hasUniform:function(i){var o=this._locations[i];return o!=null},useTextureSlot:function(i,o,d){o&&(i.gl.activeTexture(i.gl.TEXTURE0+d),o.isRenderable()?o.bind(i):o.unbind(i))},currentTextureSlot:function(){return this._textureSlot},resetTextureSlot:function(i){this._textureSlot=i||0},takeCurrentTextureSlot:function(i,o){var d=this._textureSlot;return this.useTextureSlot(i,o,d),this._textureSlot++,d},setUniform:function(i,o,d,p){var m=this._locations,h=m[d];if(h==null)return!1;switch(o){case"m4":i.uniformMatrix4fv(h,!1,p);break;case"2i":i.uniform2i(h,p[0],p[1]);break;case"2f":i.uniform2f(h,p[0],p[1]);break;case"3i":i.uniform3i(h,p[0],p[1],p[2]);break;case"3f":i.uniform3f(h,p[0],p[1],p[2]);break;case"4i":i.uniform4i(h,p[0],p[1],p[2],p[3]);break;case"4f":i.uniform4f(h,p[0],p[1],p[2],p[3]);break;case"1i":i.uniform1i(h,p);break;case"1f":i.uniform1f(h,p);break;case"1fv":i.uniform1fv(h,p);break;case"1iv":i.uniform1iv(h,p);break;case"2iv":i.uniform2iv(h,p);break;case"2fv":i.uniform2fv(h,p);break;case"3iv":i.uniform3iv(h,p);break;case"3fv":i.uniform3fv(h,p);break;case"4iv":i.uniform4iv(h,p);break;case"4fv":i.uniform4fv(h,p);break;case"m2":case"m2v":i.uniformMatrix2fv(h,!1,p);break;case"m3":case"m3v":i.uniformMatrix3fv(h,!1,p);break;case"m4v":if(Array.isArray(p)){for(var v=new W.a.Float32Array(p.length*16),r=0,a=0;a<p.length;a++)for(var g=p[a],E=0;E<16;E++)v[r++]=g[E];i.uniformMatrix4fv(h,!1,v)}else p instanceof W.a.Float32Array&&i.uniformMatrix4fv(h,!1,p);break}return!0},setUniformOfSemantic:function(i,o,d){var p=this.uniformSemantics[o];return p?this.setUniform(i,p.type,p.symbol,d):!1},enableAttributes:function(i,o,d){var p=i.gl,m=this._program,h=this._locations,v;d?v=d.__enabledAttributeList:v=T[i.__uid__],v||(d?v=d.__enabledAttributeList=[]:v=T[i.__uid__]=[]);for(var r=[],a=0;a<o.length;a++){var g=o[a];if(!this.attributes[g]){r[a]=-1;continue}var E=h[g];if(E==null){if(E=p.getAttribLocation(m,g),E===-1){r[a]=-1;continue}h[g]=E}r[a]=E,v[E]?v[E]=b:v[E]=L}for(var a=0;a<v.length;a++)switch(v[a]){case L:p.enableVertexAttribArray(a),v[a]=s;break;case b:v[a]=s;break;case s:p.disableVertexAttribArray(a),v[a]=0;break}return r},buildProgram:function(i,o,d,p){var m=i.createShader(i.VERTEX_SHADER),h=i.createProgram();i.shaderSource(m,d),i.compileShader(m);var v=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(v,p),i.compileShader(v);var r=u(i,m,d);if(r||(r=u(i,v,p),r))return r;if(i.attachShader(h,m),i.attachShader(h,v),o.attributeSemantics.POSITION)i.bindAttribLocation(h,0,o.attributeSemantics.POSITION.symbol);else{var a=Object.keys(this.attributes);i.bindAttribLocation(h,0,a[0])}if(i.linkProgram(h),!i.getProgramParameter(h,i.LINK_STATUS))return`Could not link program
VALIDATE_STATUS: `+i.getProgramParameter(h,i.VALIDATE_STATUS)+", gl error ["+i.getError()+"]";for(var g=0;g<o.uniforms.length;g++){var E=o.uniforms[g];this._locations[E]=i.getUniformLocation(h,E)}i.deleteShader(m),i.deleteShader(v),this._program=h,this.vertexCode=d,this.fragmentCode=p}});X.a=f},function(te,X,D){"use strict";var W=D(99),y="uniform vec3 ",L="uniform float ",b="@export clay.header.",s="@end",T=":unconfigurable;";X.a=[b+"directional_light",y+"directionalLightDirection[DIRECTIONAL_LIGHT_COUNT]"+T,y+"directionalLightColor[DIRECTIONAL_LIGHT_COUNT]"+T,s,b+"ambient_light",y+"ambientLightColor[AMBIENT_LIGHT_COUNT]"+T,s,b+"ambient_sh_light",y+"ambientSHLightColor[AMBIENT_SH_LIGHT_COUNT]"+T,y+"ambientSHLightCoefficients[AMBIENT_SH_LIGHT_COUNT * 9]"+T,W.a,s,b+"ambient_cubemap_light",y+"ambientCubemapLightColor[AMBIENT_CUBEMAP_LIGHT_COUNT]"+T,"uniform samplerCube ambientCubemapLightCubemap[AMBIENT_CUBEMAP_LIGHT_COUNT]"+T,"uniform sampler2D ambientCubemapLightBRDFLookup[AMBIENT_CUBEMAP_LIGHT_COUNT]"+T,s,b+"point_light",y+"pointLightPosition[POINT_LIGHT_COUNT]"+T,L+"pointLightRange[POINT_LIGHT_COUNT]"+T,y+"pointLightColor[POINT_LIGHT_COUNT]"+T,s,b+"spot_light",y+"spotLightPosition[SPOT_LIGHT_COUNT]"+T,y+"spotLightDirection[SPOT_LIGHT_COUNT]"+T,L+"spotLightRange[SPOT_LIGHT_COUNT]"+T,L+"spotLightUmbraAngleCosine[SPOT_LIGHT_COUNT]"+T,L+"spotLightPenumbraAngleCosine[SPOT_LIGHT_COUNT]"+T,L+"spotLightFalloffFactor[SPOT_LIGHT_COUNT]"+T,y+"spotLightColor[SPOT_LIGHT_COUNT]"+T,s].join(`
`)},function(te,X,D){"use strict";X.a=`vec3 calcAmbientSHLight(int idx, vec3 N) {
int offset = 9 * idx;
return ambientSHLightCoefficients[0]
+ ambientSHLightCoefficients[1] * N.x
+ ambientSHLightCoefficients[2] * N.y
+ ambientSHLightCoefficients[3] * N.z
+ ambientSHLightCoefficients[4] * N.x * N.z
+ ambientSHLightCoefficients[5] * N.z * N.y
+ ambientSHLightCoefficients[6] * N.y * N.x
+ ambientSHLightCoefficients[7] * (3.0 * N.z * N.z - 1.0)
+ ambientSHLightCoefficients[8] * (N.x * N.x - N.y * N.y);
}`},function(te,X,D){"use strict";var W=D(8),y=D(49),L=D(23),b=D(4),s=D(9),T=D(64),c=D(11),u=D(1),f=D.n(u),i=f.a.vec3,o=W.a.extend({scene:null,camera:null,renderer:null},function(){this._ray=new y.a,this._ndc=new L.a},{pick:function(d,p,m){var h=this.pickAll(d,p,[],m);return h[0]||null},pickAll:function(d,p,m,h){return this.renderer.screenToNDC(d,p,this._ndc),this.camera.castRay(this._ndc,this._ray),m=m||[],this._intersectNode(this.scene,m,h||!1),m.sort(this._intersectionCompareFunc),m},_intersectNode:function(d,p,m){d instanceof T.a&&d.isRenderable()&&(!d.ignorePicking||m)&&(d.mode===c.a.TRIANGLES&&d.geometry.isUseIndices()||d.geometry.pickByRay||d.geometry.pick)&&this._intersectRenderable(d,p);for(var h=0;h<d._children.length;h++)this._intersectNode(d._children[h],p,m)},_intersectRenderable:function(){var d=new b.a,p=new b.a,m=new b.a,h=new y.a,v=new s.a;return function(r,a){var g=r.isSkinnedMesh();h.copy(this._ray),s.a.invert(v,r.worldTransform),g||h.applyTransform(v);var E=r.geometry;if(!(!g&&E.boundingBox&&!h.intersectBoundingBox(E.boundingBox))){if(E.pick){E.pick(this._ndc.x,this._ndc.y,this.renderer,this.camera,r,a);return}else if(E.pickByRay){E.pickByRay(h,r,a);return}var S=r.cullFace===c.a.BACK&&r.frontFace===c.a.CCW||r.cullFace===c.a.FRONT&&r.frontFace===c.a.CW,w,R=E.indices,O=E.attributes.position,G=E.attributes.weight,B=E.attributes.joint,P,F=[];if(!(!O||!O.value||!R)){if(g){P=r.skeleton.getSubSkinMatrices(r.__uid__,r.joints);for(var K=0;K<r.joints.length;K++){F[K]=F[K]||[];for(var U=0;U<16;U++)F[K][U]=P[K*16+U]}var V=[],C=[],M=[],z=[],$=[],q=E.attributes.skinnedPosition;(!q||!q.value)&&(E.createAttribute("skinnedPosition","f",3),q=E.attributes.skinnedPosition,q.init(E.vertexCount));for(var K=0;K<E.vertexCount;K++){O.get(K,V),G.get(K,C),B.get(K,M),C[3]=1-C[0]-C[1]-C[2],i.set(z,0,0,0);for(var U=0;U<4;U++)M[U]>=0&&C[U]>1e-4&&(i.transformMat4($,V,F[M[U]]),i.scaleAndAdd(z,z,$,C[U]));q.set(K,z)}}for(var K=0;K<R.length;K+=3){var se=R[K],ue=R[K+1],pe=R[K+2],Ee=g?E.attributes.skinnedPosition:O;if(Ee.get(se,d.array),Ee.get(ue,p.array),Ee.get(pe,m.array),S?w=h.intersectTriangle(d,p,m,r.culling):w=h.intersectTriangle(d,m,p,r.culling),w){var De=new b.a;g?b.a.copy(De,w):b.a.transformMat4(De,w,r.worldTransform),a.push(new o.Intersection(w,De,r,[se,ue,pe],K/3,b.a.dist(De,this._ray.origin)))}}}}}}(),_intersectionCompareFunc:function(d,p){return d.distance-p.distance}});o.Intersection=function(d,p,m,h,v,r){this.point=d,this.pointWorld=p,this.target=m,this.triangle=h,this.triangleIndex=v,this.distance=r},X.a=o},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=["bar3D","line3D","map3D","scatter3D","surface","lines3D","scatterGL","scatter3D"];function b(c,u){if(c&&c[u]&&(c[u].normal||c[u].emphasis)){var f=c[u].normal,i=c[u].emphasis;f&&(c[u]=f),i&&(c.emphasis=c.emphasis||{},c.emphasis[u]=i)}}function s(c){b(c,"itemStyle"),b(c,"lineStyle"),b(c,"areaStyle"),b(c,"label")}function T(c){c&&(c instanceof Array||(c=[c]),y.a.util.each(c,function(u){if(u.axisLabel){var f=u.axisLabel;y.a.util.extend(f,f.textStyle),f.textStyle=null}}))}X.a=function(c){y.a.util.each(c.series,function(u){y.a.util.indexOf(L,u.type)>=0&&(s(u),u.coordinateSystem==="mapbox"&&(u.coordinateSystem="mapbox3D",c.mapbox3D=c.mapbox))}),T(c.xAxis3D),T(c.yAxis3D),T(c.zAxis3D),T(c.grid3D),b(c.geo3D)}},function(te,X,D){"use strict";function W(y){var L=new XMLHttpRequest;L.open("get",y.url),L.responseType=y.responseType||"text",y.onprogress&&(L.onprogress=function(b){if(b.lengthComputable){var s=b.loaded/b.total;y.onprogress(s,b.loaded,b.total)}else y.onprogress(null)}),L.onload=function(b){L.status>=400?y.onerror&&y.onerror():y.onload&&y.onload(L.response)},y.onerror&&(L.onerror=y.onerror),L.send(null)}X.a={get:W}},function(te,X,D){"use strict";X.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(te,X,D){"use strict";var W=D(6),y=D(5),L=D(25),b=542327876,s=1,T=2,c=4,u=8,f=4096,i=131072,o=524288,d=8388608,p=8,m=4194304,h=4096,v=512,r=1024,a=2048,g=4096,E=8192,S=16384,w=32768,R=2097152,O=1,G=2,B=4,P=64,F=512,K=131072;function U(Re){return Re.charCodeAt(0)+(Re.charCodeAt(1)<<8)+(Re.charCodeAt(2)<<16)+(Re.charCodeAt(3)<<24)}function V(Re){return String.fromCharCode(Re&255,Re>>8&255,Re>>16&255,Re>>24&255)}var C=31,M=U("DXT1"),z=U("DXT3"),$=U("DXT5"),q=0,se=1,ue=2,pe=3,Ee=4,De=7,Fe=20,Ge=21,xe=27,Ke=28,Ce=29,Se=30,ge={parse:function(Re,ve){var Le=new Int32Array(Re,0,C);if(Le[q]!==b||!Le(Fe)&B)return null;var Ue=Le(Ge),me=Le[Ee],oe=Le[pe],ie=Le[Ke]&v,he=Le[ue]&i,ye,ce;switch(Ue){case M:ye=8,ce=W.a.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case z:ye=16,ce=W.a.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case $:ye=16,ce=W.a.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}var Te=Le[se]+4,Oe=ie?6:1,Be=1;he&&(Be=Math.max(1,Le[De]));for(var Xe=[],lt=0;lt<Oe;lt++){var _t=me,tt=oe;Xe[lt]=new y.a({width:_t,height:tt,format:ce});for(var bt=[],Nt=0;Nt<Be;Nt++){var Bt=Math.max(4,_t)/4*Math.max(4,tt)/4*ye,ot=new Uint8Array(Re,Te,Bt);Te+=Bt,_t*=.5,tt*=.5,bt[Nt]=ot}Xe[lt].pixels=bt[0],he&&(Xe[lt].mipmaps=bt)}if(ve)ve.width=Xe[0].width,ve.height=Xe[0].height,ve.format=Xe[0].format,ve.pixels=Xe[0].pixels,ve.mipmaps=Xe[0].mipmaps;else return Xe[0]}};X.a=ge},function(te,X,D){"use strict";var W=D(6),y=D(5),L=String.fromCharCode,b=8,s=32767;function T(d,p,m,h){if(d[3]>0){var v=Math.pow(2,d[3]-128-8+h);p[m+0]=d[0]*v,p[m+1]=d[1]*v,p[m+2]=d[2]*v}else p[m+0]=0,p[m+1]=0,p[m+2]=0;return p[m+3]=1,p}function c(d,p,m){for(var h="",v=p;v<m;v++)h+=L(d[v]);return h}function u(d,p){p[0]=d[0],p[1]=d[1],p[2]=d[2],p[3]=d[3]}function f(d,p,m,h){for(var v=0,r=0,a=h;a>0;)if(d[r][0]=p[m++],d[r][1]=p[m++],d[r][2]=p[m++],d[r][3]=p[m++],d[r][0]===1&&d[r][1]===1&&d[r][2]===1){for(var g=d[r][3]<<v>>>0;g>0;g--)u(d[r-1],d[r]),r++,a--;v+=8}else r++,a--,v=0;return m}function i(d,p,m,h){if(h<b|h>s)return f(d,p,m,h);var v=p[m++];if(v!=2)return f(d,p,m-1,h);if(d[0][1]=p[m++],d[0][2]=p[m++],v=p[m++],(d[0][2]<<8>>>0|v)>>>0!==h)return null;for(var v=0;v<4;v++)for(var r=0;r<h;){var a=p[m++];if(a>128){a=(a&127)>>>0;for(var g=p[m++];a--;)d[r++][v]=g}else for(;a--;)d[r++][v]=p[m++]}return m}var o={parseRGBE:function(d,p,m){m==null&&(m=0);var h=new Uint8Array(d),v=h.length;if(c(h,0,2)==="#?"){for(var r=2;r<v&&!(L(h[r])===`
`&&L(h[r+1])===`
`);r++);if(!(r>=v)){r+=2;for(var a="";r<v;r++){var g=L(h[r]);if(g===`
`)break;a+=g}var E=a.split(" "),S=parseInt(E[1]),w=parseInt(E[3]);if(!(!w||!S)){for(var R=r+1,O=[],G=0;G<w;G++){O[G]=[];for(var B=0;B<4;B++)O[G][B]=0}for(var P=new Float32Array(w*S*4),F=0,K=0;K<S;K++){var R=i(O,h,R,w);if(!R)return null;for(var G=0;G<w;G++)T(O[G],P,F,m),F+=4}return p||(p=new y.a),p.width=w,p.height=S,p.pixels=P,p.type=W.a.FLOAT,p}}}},parseRGBEFromPNG:function(d){}};X.a=o},function(te,X,D){"use strict";var W=D(5),y=D(4),L=D(23),b=["mousedown","mouseup","mousemove","mouseover","mouseout","click","dblclick","contextmenu"];function s(c){return"_on"+c}var T=function(c){var u=this;this._texture=new W.a({anisotropic:32,flipY:!1,surface:this,dispose:function(f){u.dispose(),W.a.prototype.dispose.call(this,f)}}),b.forEach(function(f){this[s(f)]=function(i){i.triangle&&this._meshes.forEach(function(o){this.dispatchEvent(f,o,i.triangle,i.point)},this)}},this),this._meshes=[],c&&this.setECharts(c),this.onupdate=null};T.prototype={constructor:T,getTexture:function(){return this._texture},setECharts:function(c){this._chart=c;var u=c.getDom();if(!(u instanceof HTMLCanvasElement))console.error("ECharts must init on canvas if it is used as texture."),u=document.createElement("canvas");else{var f=this,i=c.getZr(),o=i.__oldRefreshImmediately||i.refreshImmediately;i.refreshImmediately=function(){o.call(this),f._texture.dirty(),f.onupdate&&f.onupdate()},i.__oldRefreshImmediately=o}this._texture.image=u,this._texture.dirty(),this.onupdate&&this.onupdate()},dispatchEvent:function(){var c=new y.a,u=new y.a,f=new y.a,i=new L.a,o=new L.a,d=new L.a,p=new L.a,m=new y.a;return function(h,v,r,a){var g=v.geometry,E=g.attributes.position,S=g.attributes.texcoord0,w=y.a.dot,R=y.a.cross;E.get(r[0],c.array),E.get(r[1],u.array),E.get(r[2],f.array),S.get(r[0],i.array),S.get(r[1],o.array),S.get(r[2],d.array),R(m,u,f);var O=w(c,m),G=w(a,m)/O;R(m,f,c);var B=w(a,m)/O;R(m,c,u);var P=w(a,m)/O;L.a.scale(p,i,G),L.a.scaleAndAdd(p,p,o,B),L.a.scaleAndAdd(p,p,d,P);var F=p.x*this._chart.getWidth(),K=p.y*this._chart.getHeight();this._chart.getZr().handler.dispatch(h,{zrX:F,zrY:K})}}(),attachToMesh:function(c){this._meshes.indexOf(c)>=0||(b.forEach(function(u){c.on(u,this[s(u)],this)},this),this._meshes.push(c))},detachFromMesh:function(c){var u=this._meshes.indexOf(c);u>=0&&this._meshes.splice(u,1),b.forEach(function(f){c.off(f,this[s(f)])},this)},dispose:function(){this._meshes.forEach(function(c){this.detachFromMesh(c)},this)}},X.a=T},function(te,X,D){"use strict";var W=D(19),y=D(108),L=W.a.extend({cubemap:null,castShadow:!1,_normalDistribution:null,_brdfLookup:null},{type:"AMBIENT_CUBEMAP_LIGHT",prefilter:function(b,s){this._brdfLookup||(this._normalDistribution=y.a.generateNormalDistribution(),this._brdfLookup=y.a.integrateBRDF(b,this._normalDistribution));var T=this.cubemap;if(!T.__prefiltered){var c=y.a.prefilterEnvironmentMap(b,T,{encodeRGBM:!0,width:s,height:s},this._normalDistribution,this._brdfLookup);this.cubemap=c.environmentMap,this.cubemap.__prefiltered=!0,T.dispose(b)}},uniformTemplates:{ambientCubemapLightColor:{type:"3f",value:function(b){var s=b.color,T=b.intensity;return[s[0]*T,s[1]*T,s[2]*T]}},ambientCubemapLightCubemap:{type:"t",value:function(b){return b.cubemap}},ambientCubemapLightBRDFLookup:{type:"t",value:function(b){return b._brdfLookup}}}});X.a=L},function(te,X,D){"use strict";var W=D(5),y=D(25),L=D(6),b=D(10),s=D(14),T=D(17),c=D(7),u=D(57),f=D(29),i=D(55),o=D(18),d=D(54),p=D(111),m=D(112),h={},v=["px","nx","py","ny","pz","nz"];h.prefilterEnvironmentMap=function(r,a,g,E,S){(!S||!E)&&(E=h.generateNormalDistribution(),S=h.integrateBRDF(r,E)),g=g||{};var w=g.width||64,R=g.height||64,O=g.type||a.type,G=new y.a({width:w,height:R,type:O,flipY:!1,mipmaps:[]});G.isPowerOfTwo()||console.warn("Width and height must be power of two to enable mipmap.");var B=Math.min(w,R),P=Math.log(B)/Math.log(2)+1,F=new T.a({shader:new c.a({vertex:c.a.source("clay.skybox.vertex"),fragment:m.a})});F.set("normalDistribution",E),g.encodeRGBM&&F.define("fragment","RGBM_ENCODE"),g.decodeRGBM&&F.define("fragment","RGBM_DECODE");var K=new f.a,U;if(a instanceof W.a){var V=new y.a({width:w,height:R,type:O===L.a.FLOAT?L.a.HALF_FLOAT:O});d.a.panoramaToCubeMap(r,a,V,{encodeRGBM:g.decodeRGBM}),a=V}U=new u.a({scene:K,material:F}),U.material.set("environmentMap",a);var C=new i.a({texture:G});g.encodeRGBM&&(O=G.type=L.a.UNSIGNED_BYTE);for(var M=new W.a({width:w,height:R,type:O}),z=new b.a({depthBuffer:!1}),$=o.a[O===L.a.UNSIGNED_BYTE?"Uint8Array":"Float32Array"],q=0;q<P;q++){G.mipmaps[q]={pixels:{}},U.material.set("roughness",q/(v.length-1));for(var se=M.width,ue=2*Math.atan(se/(se-.5))/Math.PI*180,pe=0;pe<v.length;pe++){var Ee=new $(M.width*M.height*4);z.attach(M),z.bind(r);var De=C.getCamera(v[pe]);De.fov=ue,r.render(K,De),r.gl.readPixels(0,0,M.width,M.height,L.a.RGBA,O,Ee),z.unbind(r),G.mipmaps[q].pixels[v[pe]]=Ee}M.width/=2,M.height/=2,M.dirty()}return z.dispose(r),M.dispose(r),U.dispose(r),E.dispose(r),{environmentMap:G,brdfLookup:S,normalDistribution:E,maxMipmapLevel:P}},h.integrateBRDF=function(r,a){a=a||h.generateNormalDistribution();var g=new b.a({depthBuffer:!1}),E=new s.a({fragment:p.a}),S=new W.a({width:512,height:256,type:L.a.HALF_FLOAT,minFilter:L.a.NEAREST,magFilter:L.a.NEAREST,useMipmap:!1});return E.setUniform("normalDistribution",a),E.setUniform("viewportSize",[512,256]),E.attachOutput(S),E.render(r,g),g.dispose(r),S},h.generateNormalDistribution=function(g,E){for(var g=g||256,E=E||1024,S=new W.a({width:g,height:E,type:L.a.FLOAT,minFilter:L.a.NEAREST,magFilter:L.a.NEAREST,useMipmap:!1}),w=new Float32Array(E*g*4),R=0;R<E;R++){var O=R/E,G=(R<<16|R>>>16)>>>0;G=((G&1431655765)<<1|(G&2863311530)>>>1)>>>0,G=((G&858993459)<<2|(G&3435973836)>>>2)>>>0,G=((G&252645135)<<4|(G&4042322160)>>>4)>>>0,G=(((G&16711935)<<8|(G&4278255360)>>>8)>>>0)/4294967296;for(var B=0;B<g;B++){var P=B/g,F=P*P,K=2*Math.PI*O,U=Math.sqrt((1-G)/(1+(F*F-1)*G)),V=Math.sqrt(1-U*U),C=(R*g+B)*4;w[C]=V*Math.cos(K),w[C+1]=V*Math.sin(K),w[C+2]=U,w[C+3]=1}}return S.pixels=w,S},X.a=h},function(te,X,D){"use strict";X.a=`
@export clay.compositor.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
attribute vec2 texcoord : TEXCOORD_0;
varying vec2 v_Texcoord;
void main()
{
v_Texcoord = texcoord;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end`},function(te,X,D){"use strict";X.a=`@export clay.skybox.vertex
uniform mat4 world : WORLD;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
varying vec3 v_WorldPosition;
void main()
{
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end
@export clay.skybox.fragment
uniform mat4 viewInverse : VIEWINVERSE;
uniform samplerCube environmentMap;
uniform float lod: 0.0;
varying vec3 v_WorldPosition;
@import clay.util.rgbm
@import clay.util.srgb
@import clay.util.ACES
void main()
{
vec3 eyePos = viewInverse[3].xyz;
vec3 viewDirection = normalize(v_WorldPosition - eyePos);
#ifdef LOD
vec4 texel = decodeHDR(textureCubeLodEXT(environmentMap, viewDirection, lod));
#else
vec4 texel = decodeHDR(textureCube(environmentMap, viewDirection));
#endif
#ifdef SRGB_DECODE
texel = sRGBToLinear(texel);
#endif
#ifdef TONEMAPPING
texel.rgb = ACESToneMapping(texel.rgb);
#endif
#ifdef SRGB_ENCODE
texel = linearTosRGB(texel);
#endif
gl_FragColor = encodeHDR(vec4(texel.rgb, 1.0));
}
@end`},function(te,X,D){"use strict";X.a=`#define SAMPLE_NUMBER 1024
#define PI 3.14159265358979
uniform sampler2D normalDistribution;
uniform vec2 viewportSize : [512, 256];
const vec3 N = vec3(0.0, 0.0, 1.0);
const float fSampleNumber = float(SAMPLE_NUMBER);
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;
}
float G_Smith(float roughness, float NoV, float NoL) {
float k = roughness * roughness / 2.0;
float G1V = NoV / (NoV * (1.0 - k) + k);
float G1L = NoL / (NoL * (1.0 - k) + k);
return G1L * G1V;
}
void main() {
vec2 uv = gl_FragCoord.xy / viewportSize;
float NoV = uv.x;
float roughness = uv.y;
vec3 V;
V.x = sqrt(1.0 - NoV * NoV);
V.y = 0.0;
V.z = NoV;
float A = 0.0;
float B = 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(L.z, 0.0, 1.0);
float NoH = clamp(H.z, 0.0, 1.0);
float VoH = clamp(dot(V, H), 0.0, 1.0);
if (NoL > 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(te,X,D){"use strict";X.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(te,X,D){"use strict";var W=D(19),y=D(18),L=W.a.extend({castShadow:!1,coefficients:[]},function(){this._coefficientsTmpArr=new y.a.Float32Array(9*3)},{type:"AMBIENT_SH_LIGHT",uniformTemplates:{ambientSHLightColor:{type:"3f",value:function(b){var s=b.color,T=b.intensity;return[s[0]*T,s[1]*T,s[2]*T]}},ambientSHLightCoefficients:{type:"3f",value:function(b){for(var s=b._coefficientsTmpArr,T=0;T<b.coefficients.length;T++)s[T]=b.coefficients[T];return s}}}});X.a=L},function(te,X,D){"use strict";var W=D(6),y=D(10),L=D(5),b=D(14),s=D(18),T=D(57),c=D(56),u=D(55),f=D(29),i=D(1),o=D.n(i),d=D(115),p=o.a.vec3,m={},h=["px","nx","py","ny","pz","nz"];function v(E,S){var w=new L.a({width:9,height:1,type:W.a.FLOAT}),R=new b.a({fragment:d.a});R.material.define("fragment","TEXTURE_SIZE",S.width),R.setUniform("environmentMap",S);var O=new y.a;O.attach(w),R.render(E,O),O.bind(E);var G=new s.a.Float32Array(9*4);E.gl.readPixels(0,0,9,1,W.a.RGBA,W.a.FLOAT,G);for(var B=new s.a.Float32Array(9*3),P=0;P<9;P++)B[P*3]=G[P*4],B[P*3+1]=G[P*4+1],B[P*3+2]=G[P*4+2];return O.unbind(E),O.dispose(E),R.dispose(E),B}function r(E,S){var w=E[0],R=E[1],O=E[2];return S===0?1:S===1?w:S===2?R:S===3?O:S===4?w*O:S===5?R*O:S===6?w*R:S===7?3*O*O-1:w*w-R*R}var a={px:[2,1,0,-1,-1,1],nx:[2,1,0,1,-1,-1],py:[0,2,1,1,-1,-1],ny:[0,2,1,1,1,1],pz:[0,1,2,-1,-1,-1],nz:[0,1,2,1,-1,1]};function g(E,S,w,R){for(var O=new s.a.Float32Array(27),G=p.create(),B=p.create(),P=p.create(),F=0;F<9;F++){for(var K=p.create(),U=0;U<h.length;U++){for(var V=S[h[U]],C=p.create(),M=0,z=0,$=a[h[U]],q=0;q<R;q++)for(var se=0;se<w;se++){G[0]=se/(w-1)*2-1,G[1]=q/(R-1)*2-1,G[2]=-1,p.normalize(G,G),P[0]=G[$[0]]*$[3],P[1]=G[$[1]]*$[4],P[2]=G[$[2]]*$[5],B[0]=V[z++]/255,B[1]=V[z++]/255,B[2]=V[z++]/255;var ue=V[z++]/255*51.5;B[0]*=ue,B[1]*=ue,B[2]*=ue,p.scaleAndAdd(C,C,B,r(P,F)*-G[2]),M+=-G[2]}p.scaleAndAdd(K,K,C,1/M)}O[F*3]=K[0]/6,O[F*3+1]=K[1]/6,O[F*3+2]=K[2]/6}return O}m.projectEnvironmentMap=function(E,S,w){w=w||{},w.lod=w.lod||0;var R,O=new f.a,G=64;S instanceof L.a?R=new c.a({scene:O,environmentMap:S}):(G=S.image&&S.image.px?S.image.px.width:S.width,R=new T.a({scene:O,environmentMap:S}));var B=Math.ceil(G/Math.pow(2,w.lod)),P=Math.ceil(G/Math.pow(2,w.lod)),F=new L.a({width:B,height:P}),K=new y.a;R.material.define("fragment","RGBM_ENCODE"),w.decodeRGBM&&R.material.define("fragment","RGBM_DECODE"),R.material.set("lod",w.lod);for(var U=new u.a({texture:F}),V={},C=0;C<h.length;C++){V[h[C]]=new Uint8Array(B*P*4);var M=U.getCamera(h[C]);M.fov=90,K.attach(F),K.bind(E),E.render(O,M),E.gl.readPixels(0,0,B,P,W.a.RGBA,W.a.UNSIGNED_BYTE,V[h[C]]),K.unbind(E)}return R.dispose(E),K.dispose(E),F.dispose(E),g(E,V,B,P)},X.a=m},function(te,X,D){"use strict";X.a=`uniform samplerCube environmentMap;
varying vec2 v_Texcoord;
#define TEXTURE_SIZE 16
mat3 front = mat3(
1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0
);
mat3 back = mat3(
-1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, -1.0
);
mat3 left = mat3(
0.0, 0.0, -1.0,
0.0, 1.0, 0.0,
1.0, 0.0, 0.0
);
mat3 right = mat3(
0.0, 0.0, 1.0,
0.0, 1.0, 0.0,
-1.0, 0.0, 0.0
);
mat3 up = mat3(
1.0, 0.0, 0.0,
0.0, 0.0, 1.0,
0.0, -1.0, 0.0
);
mat3 down = mat3(
1.0, 0.0, 0.0,
0.0, 0.0, -1.0,
0.0, 1.0, 0.0
);
float harmonics(vec3 normal){
int index = int(gl_FragCoord.x);
float x = normal.x;
float y = normal.y;
float z = normal.z;
if(index==0){
return 1.0;
}
else if(index==1){
return x;
}
else if(index==2){
return y;
}
else if(index==3){
return z;
}
else if(index==4){
return x*z;
}
else if(index==5){
return y*z;
}
else if(index==6){
return x*y;
}
else if(index==7){
return 3.0*z*z - 1.0;
}
else{
return x*x - y*y;
}
}
vec3 sampleSide(mat3 rot)
{
vec3 result = vec3(0.0);
float divider = 0.0;
for (int i = 0; i < TEXTURE_SIZE * TEXTURE_SIZE; i++) {
float x = mod(float(i), float(TEXTURE_SIZE));
float y = float(i / TEXTURE_SIZE);
vec2 sidecoord = ((vec2(x, y) + vec2(0.5, 0.5)) / vec2(TEXTURE_SIZE)) * 2.0 - 1.0;
vec3 normal = normalize(vec3(sidecoord, -1.0));
vec3 fetchNormal = rot * normal;
vec3 texel = textureCube(environmentMap, fetchNormal).rgb;
result += harmonics(fetchNormal) * texel * -normal.z;
divider += -normal.z;
}
return result / divider;
}
void main()
{
vec3 result = (
sampleSide(front) +
sampleSide(back) +
sampleSide(left) +
sampleSide(right) +
sampleSide(up) +
sampleSide(down)
) / 6.0;
gl_FragColor = vec4(result, 1.0);
}`},function(te,X,D){"use strict";var W=D(19),y=W.a.extend({castShadow:!1},{type:"AMBIENT_LIGHT",uniformTemplates:{ambientLightColor:{type:"3f",value:function(L){var b=L.color,s=L.intensity;return[b[0]*s,b[1]*s,b[2]*s]}}}});X.a=y},function(te,X,D){"use strict";var W=D(1),y=D.n(W),L=y.a.vec4,b=function(c,u,f,i){c=c||0,u=u||0,f=f||0,i=i||0,this.array=L.fromValues(c,u,f,i),this._dirty=!0};b.prototype={constructor:b,add:function(c){return L.add(this.array,this.array,c.array),this._dirty=!0,this},set:function(c,u,f,i){return this.array[0]=c,this.array[1]=u,this.array[2]=f,this.array[3]=i,this._dirty=!0,this},setArray:function(c){return this.array[0]=c[0],this.array[1]=c[1],this.array[2]=c[2],this.array[3]=c[3],this._dirty=!0,this},clone:function(){return new b(this.x,this.y,this.z,this.w)},copy:function(c){return L.copy(this.array,c.array),this._dirty=!0,this},dist:function(c){return L.dist(this.array,c.array)},distance:function(c){return L.distance(this.array,c.array)},div:function(c){return L.div(this.array,this.array,c.array),this._dirty=!0,this},divide:function(c){return L.divide(this.array,this.array,c.array),this._dirty=!0,this},dot:function(c){return L.dot(this.array,c.array)},len:function(){return L.len(this.array)},length:function(){return L.length(this.array)},lerp:function(c,u,f){return L.lerp(this.array,c.array,u.array,f),this._dirty=!0,this},min:function(c){return L.min(this.array,this.array,c.array),this._dirty=!0,this},max:function(c){return L.max(this.array,this.array,c.array),this._dirty=!0,this},mul:function(c){return L.mul(this.array,this.array,c.array),this._dirty=!0,this},multiply:function(c){return L.multiply(this.array,this.array,c.array),this._dirty=!0,this},negate:function(){return L.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return L.normalize(this.array,this.array),this._dirty=!0,this},random:function(c){return L.random(this.array,c),this._dirty=!0,this},scale:function(c){return L.scale(this.array,this.array,c),this._dirty=!0,this},scaleAndAdd:function(c,u){return L.scaleAndAdd(this.array,this.array,c.array,u),this._dirty=!0,this},sqrDist:function(c){return L.sqrDist(this.array,c.array)},squaredDistance:function(c){return L.squaredDistance(this.array,c.array)},sqrLen:function(){return L.sqrLen(this.array)},squaredLength:function(){return L.squaredLength(this.array)},sub:function(c){return L.sub(this.array,this.array,c.array),this._dirty=!0,this},subtract:function(c){return L.subtract(this.array,this.array,c.array),this._dirty=!0,this},transformMat4:function(c){return L.transformMat4(this.array,this.array,c.array),this._dirty=!0,this},transformQuat:function(c){return L.transformQuat(this.array,this.array,c.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var s=Object.defineProperty;if(s){var T=b.prototype;s(T,"x",{get:function(){return this.array[0]},set:function(c){this.array[0]=c,this._dirty=!0}}),s(T,"y",{get:function(){return this.array[1]},set:function(c){this.array[1]=c,this._dirty=!0}}),s(T,"z",{get:function(){return this.array[2]},set:function(c){this.array[2]=c,this._dirty=!0}}),s(T,"w",{get:function(){return this.array[3]},set:function(c){this.array[3]=c,this._dirty=!0}})}b.add=function(c,u,f){return L.add(c.array,u.array,f.array),c._dirty=!0,c},b.set=function(c,u,f,i,o){L.set(c.array,u,f,i,o),c._dirty=!0},b.copy=function(c,u){return L.copy(c.array,u.array),c._dirty=!0,c},b.dist=function(c,u){return L.distance(c.array,u.array)},b.distance=b.dist,b.div=function(c,u,f){return L.divide(c.array,u.array,f.array),c._dirty=!0,c},b.divide=b.div,b.dot=function(c,u){return L.dot(c.array,u.array)},b.len=function(c){return L.length(c.array)},b.lerp=function(c,u,f,i){return L.lerp(c.array,u.array,f.array,i),c._dirty=!0,c},b.min=function(c,u,f){return L.min(c.array,u.array,f.array),c._dirty=!0,c},b.max=function(c,u,f){return L.max(c.array,u.array,f.array),c._dirty=!0,c},b.mul=function(c,u,f){return L.multiply(c.array,u.array,f.array),c._dirty=!0,c},b.multiply=b.mul,b.negate=function(c,u){return L.negate(c.array,u.array),c._dirty=!0,c},b.normalize=function(c,u){return L.normalize(c.array,u.array),c._dirty=!0,c},b.random=function(c,u){return L.random(c.array,u),c._dirty=!0,c},b.scale=function(c,u,f){return L.scale(c.array,u.array,f),c._dirty=!0,c},b.scaleAndAdd=function(c,u,f,i){return L.scaleAndAdd(c.array,u.array,f.array,i),c._dirty=!0,c},b.sqrDist=function(c,u){return L.sqrDist(c.array,u.array)},b.squaredDistance=b.sqrDist,b.sqrLen=function(c){return L.sqrLen(c.array)},b.squaredLength=b.sqrLen,b.sub=function(c,u,f){return L.subtract(c.array,u.array,f.array),c._dirty=!0,c},b.subtract=b.sub,b.transformMat4=function(c,u,f){return L.transformMat4(c.array,u.array,f.array),c._dirty=!0,c},b.transformQuat=function(c,u,f){return L.transformQuat(c.array,u.array,f.array),c._dirty=!0,c},X.a=b},function(te,X,D){"use strict";var W=D(1),y=D.n(W),L=y.a.mat2,b=function(){this.array=L.create(),this._dirty=!0};b.prototype={constructor:b,setArray:function(s){for(var T=0;T<this.array.length;T++)this.array[T]=s[T];return this._dirty=!0,this},clone:function(){return new b().copy(this)},copy:function(s){return L.copy(this.array,s.array),this._dirty=!0,this},adjoint:function(){return L.adjoint(this.array,this.array),this._dirty=!0,this},determinant:function(){return L.determinant(this.array)},identity:function(){return L.identity(this.array),this._dirty=!0,this},invert:function(){return L.invert(this.array,this.array),this._dirty=!0,this},mul:function(s){return L.mul(this.array,this.array,s.array),this._dirty=!0,this},mulLeft:function(s){return L.mul(this.array,s.array,this.array),this._dirty=!0,this},multiply:function(s){return L.multiply(this.array,this.array,s.array),this._dirty=!0,this},multiplyLeft:function(s){return L.multiply(this.array,s.array,this.array),this._dirty=!0,this},rotate:function(s){return L.rotate(this.array,this.array,s),this._dirty=!0,this},scale:function(s){return L.scale(this.array,this.array,s.array),this._dirty=!0,this},transpose:function(){return L.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},b.adjoint=function(s,T){return L.adjoint(s.array,T.array),s._dirty=!0,s},b.copy=function(s,T){return L.copy(s.array,T.array),s._dirty=!0,s},b.determinant=function(s){return L.determinant(s.array)},b.identity=function(s){return L.identity(s.array),s._dirty=!0,s},b.invert=function(s,T){return L.invert(s.array,T.array),s._dirty=!0,s},b.mul=function(s,T,c){return L.mul(s.array,T.array,c.array),s._dirty=!0,s},b.multiply=b.mul,b.rotate=function(s,T,c){return L.rotate(s.array,T.array,c),s._dirty=!0,s},b.scale=function(s,T,c){return L.scale(s.array,T.array,c.array),s._dirty=!0,s},b.transpose=function(s,T){return L.transpose(s.array,T.array),s._dirty=!0,s},X.a=b},function(te,X,D){"use strict";var W=D(1),y=D.n(W),L=y.a.mat2d,b=function(){this.array=L.create(),this._dirty=!0};b.prototype={constructor:b,setArray:function(s){for(var T=0;T<this.array.length;T++)this.array[T]=s[T];return this._dirty=!0,this},clone:function(){return new b().copy(this)},copy:function(s){return L.copy(this.array,s.array),this._dirty=!0,this},determinant:function(){return L.determinant(this.array)},identity:function(){return L.identity(this.array),this._dirty=!0,this},invert:function(){return L.invert(this.array,this.array),this._dirty=!0,this},mul:function(s){return L.mul(this.array,this.array,s.array),this._dirty=!0,this},mulLeft:function(s){return L.mul(this.array,s.array,this.array),this._dirty=!0,this},multiply:function(s){return L.multiply(this.array,this.array,s.array),this._dirty=!0,this},multiplyLeft:function(s){return L.multiply(this.array,s.array,this.array),this._dirty=!0,this},rotate:function(s){return L.rotate(this.array,this.array,s),this._dirty=!0,this},scale:function(s){return L.scale(this.array,this.array,s.array),this._dirty=!0,this},translate:function(s){return L.translate(this.array,this.array,s.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},b.copy=function(s,T){return L.copy(s.array,T.array),s._dirty=!0,s},b.determinant=function(s){return L.determinant(s.array)},b.identity=function(s){return L.identity(s.array),s._dirty=!0,s},b.invert=function(s,T){return L.invert(s.array,T.array),s._dirty=!0,s},b.mul=function(s,T,c){return L.mul(s.array,T.array,c.array),s._dirty=!0,s},b.multiply=b.mul,b.rotate=function(s,T,c){return L.rotate(s.array,T.array,c),s._dirty=!0,s},b.scale=function(s,T,c){return L.scale(s.array,T.array,c.array),s._dirty=!0,s},b.translate=function(s,T,c){return L.translate(s.array,T.array,c.array),s._dirty=!0,s},X.a=b},function(te,X,D){"use strict";var W=D(1),y=D.n(W),L=y.a.mat3,b=function(){this.array=L.create(),this._dirty=!0};b.prototype={constructor:b,setArray:function(s){for(var T=0;T<this.array.length;T++)this.array[T]=s[T];return this._dirty=!0,this},adjoint:function(){return L.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new b().copy(this)},copy:function(s){return L.copy(this.array,s.array),this._dirty=!0,this},determinant:function(){return L.determinant(this.array)},fromMat2d:function(s){return L.fromMat2d(this.array,s.array),this._dirty=!0,this},fromMat4:function(s){return L.fromMat4(this.array,s.array),this._dirty=!0,this},fromQuat:function(s){return L.fromQuat(this.array,s.array),this._dirty=!0,this},identity:function(){return L.identity(this.array),this._dirty=!0,this},invert:function(){return L.invert(this.array,this.array),this._dirty=!0,this},mul:function(s){return L.mul(this.array,this.array,s.array),this._dirty=!0,this},mulLeft:function(s){return L.mul(this.array,s.array,this.array),this._dirty=!0,this},multiply:function(s){return L.multiply(this.array,this.array,s.array),this._dirty=!0,this},multiplyLeft:function(s){return L.multiply(this.array,s.array,this.array),this._dirty=!0,this},rotate:function(s){return L.rotate(this.array,this.array,s),this._dirty=!0,this},scale:function(s){return L.scale(this.array,this.array,s.array),this._dirty=!0,this},translate:function(s){return L.translate(this.array,this.array,s.array),this._dirty=!0,this},normalFromMat4:function(s){return L.normalFromMat4(this.array,s.array),this._dirty=!0,this},transpose:function(){return L.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},b.adjoint=function(s,T){return L.adjoint(s.array,T.array),s._dirty=!0,s},b.copy=function(s,T){return L.copy(s.array,T.array),s._dirty=!0,s},b.determinant=function(s){return L.determinant(s.array)},b.identity=function(s){return L.identity(s.array),s._dirty=!0,s},b.invert=function(s,T){return L.invert(s.array,T.array),s},b.mul=function(s,T,c){return L.mul(s.array,T.array,c.array),s._dirty=!0,s},b.multiply=b.mul,b.fromMat2d=function(s,T){return L.fromMat2d(s.array,T.array),s._dirty=!0,s},b.fromMat4=function(s,T){return L.fromMat4(s.array,T.array),s._dirty=!0,s},b.fromQuat=function(s,T){return L.fromQuat(s.array,T.array),s._dirty=!0,s},b.normalFromMat4=function(s,T){return L.normalFromMat4(s.array,T.array),s._dirty=!0,s},b.rotate=function(s,T,c){return L.rotate(s.array,T.array,c),s._dirty=!0,s},b.scale=function(s,T,c){return L.scale(s.array,T.array,c.array),s._dirty=!0,s},b.transpose=function(s,T){return L.transpose(s.array,T.array),s._dirty=!0,s},b.translate=function(s,T,c){return L.translate(s.array,T.array,c.array),s._dirty=!0,s},X.a=b},function(te,X,D){"use strict";var W=D(122),y=D.n(W),L={_animators:null,getAnimators:function(){return this._animators=this._animators||[],this._animators},animate:function(b,s){this._animators=this._animators||[];var T=this,c;if(b){for(var u=b.split("."),f=T,i=0,o=u.length;i<o;i++)f&&(f=f[u[i]]);f&&(c=f)}else c=T;if(c==null)throw new Error("Target "+b+" not exists");var d=this._animators,p=new y.a(c,s),m=this;return p.during(function(){m.__zr&&m.__zr.refresh()}).done(function(){var h=d.indexOf(p);h>=0&&d.splice(h,1)}),d.push(p),this.__zr&&this.__zr.animation.addAnimator(p),p},stopAnimation:function(b){this._animators=this._animators||[];for(var s=this._animators,T=s.length,c=0;c<T;c++)s[c].stop(b);return s.length=0,this},addAnimatorsToZr:function(b){if(this._animators)for(var s=0;s<this._animators.length;s++)b.animation.addAnimator(this._animators[s])},removeAnimatorsFromZr:function(b){if(this._animators)for(var s=0;s<this._animators.length;s++)b.animation.removeAnimator(this._animators[s])}};X.a=L},function(te,X,D){var W=D(123),y=D(125),L=D(12),b=L.isArrayLike,s=Array.prototype.slice;function T(S,w){return S[w]}function c(S,w,R){S[w]=R}function u(S,w,R){return(w-S)*R+S}function f(S,w,R){return R>.5?w:S}function i(S,w,R,O,G){var B=S.length;if(G==1)for(var P=0;P<B;P++)O[P]=u(S[P],w[P],R);else for(var F=B&&S[0].length,P=0;P<B;P++)for(var K=0;K<F;K++)O[P][K]=u(S[P][K],w[P][K],R)}function o(S,w,R){var O=S.length,G=w.length;if(O!==G){var B=O>G;if(B)S.length=G;else for(var P=O;P<G;P++)S.push(R===1?w[P]:s.call(w[P]))}for(var F=S[0]&&S[0].length,P=0;P<S.length;P++)if(R===1)isNaN(S[P])&&(S[P]=w[P]);else for(var K=0;K<F;K++)isNaN(S[P][K])&&(S[P][K]=w[P][K])}function d(S,w,R){if(S===w)return!0;var O=S.length;if(O!==w.length)return!1;if(R===1){for(var G=0;G<O;G++)if(S[G]!==w[G])return!1}else for(var B=S[0].length,G=0;G<O;G++)for(var P=0;P<B;P++)if(S[G][P]!==w[G][P])return!1;return!0}function p(S,w,R,O,G,B,P,F,K){var U=S.length;if(K==1)for(var V=0;V<U;V++)F[V]=m(S[V],w[V],R[V],O[V],G,B,P);else for(var C=S[0].length,V=0;V<U;V++)for(var M=0;M<C;M++)F[V][M]=m(S[V][M],w[V][M],R[V][M],O[V][M],G,B,P)}function m(S,w,R,O,G,B,P){var F=(R-S)*.5,K=(O-w)*.5;return(2*(w-R)+F+K)*P+(-3*(w-R)-2*F-K)*B+F*G+w}function h(S){if(b(S)){var w=S.length;if(b(S[0])){for(var R=[],O=0;O<w;O++)R.push(s.call(S[O]));return R}return s.call(S)}return S}function v(S){return S[0]=Math.floor(S[0]),S[1]=Math.floor(S[1]),S[2]=Math.floor(S[2]),"rgba("+S.join(",")+")"}function r(S){var w=S[S.length-1].value;return b(w&&w[0])?2:1}function a(S,w,R,O,G,B){var P=S._getter,F=S._setter,K=w==="spline",U=O.length;if(U){var V=O[0].value,C=b(V),M=!1,z=!1,$=C?r(O):0,q;O.sort(function(he,ye){return he.time-ye.time}),q=O[U-1].time;for(var se=[],ue=[],pe=O[0].value,Ee=!0,De=0;De<U;De++){se.push(O[De].time/q);var Fe=O[De].value;if(C&&d(Fe,pe,$)||!C&&Fe===pe||(Ee=!1),pe=Fe,typeof Fe=="string"){var Ge=y.parse(Fe);Ge?(Fe=Ge,M=!0):z=!0}ue.push(Fe)}if(!(!B&&Ee)){for(var xe=ue[U-1],De=0;De<U-1;De++)C?o(ue[De],xe,$):isNaN(ue[De])&&!isNaN(xe)&&!z&&!M&&(ue[De]=xe);C&&o(P(S._target,G),xe,$);var Ke=0,Ce=0,Se,ge,Re,ve,Le,Ue;if(M)var me=[0,0,0,0];var oe=function(he,ye){var ce;if(ye<0)ce=0;else if(ye<Ce){for(Se=Math.min(Ke+1,U-1),ce=Se;ce>=0&&!(se[ce]<=ye);ce--);ce=Math.min(ce,U-2)}else{for(ce=Ke;ce<U&&!(se[ce]>ye);ce++);ce=Math.min(ce-1,U-2)}Ke=ce,Ce=ye;var Te=se[ce+1]-se[ce];if(Te!==0)if(ge=(ye-se[ce])/Te,K)if(ve=ue[ce],Re=ue[ce===0?ce:ce-1],Le=ue[ce>U-2?U-1:ce+1],Ue=ue[ce>U-3?U-1:ce+2],C)p(Re,ve,Le,Ue,ge,ge*ge,ge*ge*ge,P(he,G),$);else{var Oe;if(M)Oe=p(Re,ve,Le,Ue,ge,ge*ge,ge*ge*ge,me,1),Oe=v(me);else{if(z)return f(ve,Le,ge);Oe=m(Re,ve,Le,Ue,ge,ge*ge,ge*ge*ge)}F(he,G,Oe)}else if(C)i(ue[ce],ue[ce+1],ge,P(he,G),$);else{var Oe;if(M)i(ue[ce],ue[ce+1],ge,me,1),Oe=v(me);else{if(z)return f(ue[ce],ue[ce+1],ge);Oe=u(ue[ce],ue[ce+1],ge)}F(he,G,Oe)}},ie=new W({target:S._target,life:q,loop:S._loop,delay:S._delay,onframe:oe,ondestroy:R});return w&&w!=="spline"&&(ie.easing=w),ie}}}var g=function(S,w,R,O){this._tracks={},this._target=S,this._loop=w||!1,this._getter=R||T,this._setter=O||c,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};g.prototype={when:function(S,w){var R=this._tracks;for(var O in w)if(w.hasOwnProperty(O)){if(!R[O]){R[O]=[];var G=this._getter(this._target,O);if(G==null)continue;S!==0&&R[O].push({time:0,value:h(G)})}R[O].push({time:S,value:w[O]})}return this},during:function(S){return this._onframeList.push(S),this},pause:function(){for(var S=0;S<this._clipList.length;S++)this._clipList[S].pause();this._paused=!0},resume:function(){for(var S=0;S<this._clipList.length;S++)this._clipList[S].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var S=this._doneList,w=S.length,R=0;R<w;R++)S[R].call(this)},start:function(S,w){var R=this,O=0,G=function(){O--,O||R._doneCallback()},B;for(var P in this._tracks)if(this._tracks.hasOwnProperty(P)){var F=a(this,S,G,this._tracks[P],P,w);F&&(this._clipList.push(F),O++,this.animation&&this.animation.addClip(F),B=F)}if(B){var K=B.onframe;B.onframe=function(U,V){K(U,V);for(var C=0;C<R._onframeList.length;C++)R._onframeList[C](U,V)}}return O||this._doneCallback(),this},stop:function(S){for(var w=this._clipList,R=this.animation,O=0;O<w.length;O++){var G=w[O];S&&G.onframe(this._target,1),R&&R.removeClip(G)}w.length=0},delay:function(S){return this._delay=S,this},done:function(S){return S&&this._doneList.push(S),this},getClips:function(){return this._clipList}};var E=g;te.exports=E},function(te,X,D){var W=D(124);function y(b){this._target=b.target,this._life=b.life||1e3,this._delay=b.delay||0,this._initialized=!1,this.loop=b.loop==null?!1:b.loop,this.gap=b.gap||0,this.easing=b.easing||"Linear",this.onframe=b.onframe,this.ondestroy=b.ondestroy,this.onrestart=b.onrestart,this._pausedTime=0,this._paused=!1}y.prototype={constructor:y,step:function(b,s){if(this._initialized||(this._startTime=b+this._delay,this._initialized=!0),this._paused){this._pausedTime+=s;return}var T=(b-this._startTime-this._pausedTime)/this._life;if(!(T<0)){T=Math.min(T,1);var c=this.easing,u=typeof c=="string"?W[c]:c,f=typeof u=="function"?u(T):T;return this.fire("frame",f),T==1?this.loop?(this.restart(b),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(b){var s=(b-this._startTime-this._pausedTime)%this._life;this._startTime=b-s+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(b,s){b="on"+b,this[b]&&this[b](this._target,s)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var L=y;te.exports=L},function(te,X){var D={linear:function(y){return y},quadraticIn:function(y){return y*y},quadraticOut:function(y){return y*(2-y)},quadraticInOut:function(y){return(y*=2)<1?.5*y*y:-.5*(--y*(y-2)-1)},cubicIn:function(y){return y*y*y},cubicOut:function(y){return--y*y*y+1},cubicInOut:function(y){return(y*=2)<1?.5*y*y*y:.5*((y-=2)*y*y+2)},quarticIn:function(y){return y*y*y*y},quarticOut:function(y){return 1- --y*y*y*y},quarticInOut:function(y){return(y*=2)<1?.5*y*y*y*y:-.5*((y-=2)*y*y*y-2)},quinticIn:function(y){return y*y*y*y*y},quinticOut:function(y){return--y*y*y*y*y+1},quinticInOut:function(y){return(y*=2)<1?.5*y*y*y*y*y:.5*((y-=2)*y*y*y*y+2)},sinusoidalIn:function(y){return 1-Math.cos(y*Math.PI/2)},sinusoidalOut:function(y){return Math.sin(y*Math.PI/2)},sinusoidalInOut:function(y){return .5*(1-Math.cos(Math.PI*y))},exponentialIn:function(y){return y===0?0:Math.pow(1024,y-1)},exponentialOut:function(y){return y===1?1:1-Math.pow(2,-10*y)},exponentialInOut:function(y){return y===0?0:y===1?1:(y*=2)<1?.5*Math.pow(1024,y-1):.5*(-Math.pow(2,-10*(y-1))+2)},circularIn:function(y){return 1-Math.sqrt(1-y*y)},circularOut:function(y){return Math.sqrt(1- --y*y)},circularInOut:function(y){return(y*=2)<1?-.5*(Math.sqrt(1-y*y)-1):.5*(Math.sqrt(1-(y-=2)*y)+1)},elasticIn:function(y){var L,b=.1,s=.4;return y===0?0:y===1?1:(!b||b<1?(b=1,L=s/4):L=s*Math.asin(1/b)/(2*Math.PI),-(b*Math.pow(2,10*(y-=1))*Math.sin((y-L)*(2*Math.PI)/s)))},elasticOut:function(y){var L,b=.1,s=.4;return y===0?0:y===1?1:(!b||b<1?(b=1,L=s/4):L=s*Math.asin(1/b)/(2*Math.PI),b*Math.pow(2,-10*y)*Math.sin((y-L)*(2*Math.PI)/s)+1)},elasticInOut:function(y){var L,b=.1,s=.4;return y===0?0:y===1?1:(!b||b<1?(b=1,L=s/4):L=s*Math.asin(1/b)/(2*Math.PI),(y*=2)<1?-.5*(b*Math.pow(2,10*(y-=1))*Math.sin((y-L)*(2*Math.PI)/s)):b*Math.pow(2,-10*(y-=1))*Math.sin((y-L)*(2*Math.PI)/s)*.5+1)},backIn:function(y){var L=1.70158;return y*y*((L+1)*y-L)},backOut:function(y){var L=1.70158;return--y*y*((L+1)*y+L)+1},backInOut:function(y){var L=2.5949095;return(y*=2)<1?.5*(y*y*((L+1)*y-L)):.5*((y-=2)*y*((L+1)*y+L)+2)},bounceIn:function(y){return 1-D.bounceOut(1-y)},bounceOut:function(y){return y<.36363636363636365?7.5625*y*y:y<.7272727272727273?7.5625*(y-=.5454545454545454)*y+.75:y<.9090909090909091?7.5625*(y-=.8181818181818182)*y+.9375:7.5625*(y-=.9545454545454546)*y+.984375},bounceInOut:function(y){return y<.5?D.bounceIn(y*2)*.5:D.bounceOut(y*2-1)*.5+.5}},W=D;te.exports=W},function(te,X,D){var W=D(53),y={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function L(P){return P=Math.round(P),P<0?0:P>255?255:P}function b(P){return P=Math.round(P),P<0?0:P>360?360:P}function s(P){return P<0?0:P>1?1:P}function T(P){return P.length&&P.charAt(P.length-1)==="%"?L(parseFloat(P)/100*255):L(parseInt(P,10))}function c(P){return P.length&&P.charAt(P.length-1)==="%"?s(parseFloat(P)/100):s(parseFloat(P))}function u(P,F,K){return K<0?K+=1:K>1&&(K-=1),K*6<1?P+(F-P)*K*6:K*2<1?F:K*3<2?P+(F-P)*(2/3-K)*6:P}function f(P,F,K){return P+(F-P)*K}function i(P,F,K,U,V){return P[0]=F,P[1]=K,P[2]=U,P[3]=V,P}function o(P,F){return P[0]=F[0],P[1]=F[1],P[2]=F[2],P[3]=F[3],P}var d=new W(20),p=null;function m(P,F){p&&o(p,F),p=d.put(P,p||F.slice())}function h(P,F){if(P){F=F||[];var K=d.get(P);if(K)return o(F,K);P=P+"";var U=P.replace(/ /g,"").toLowerCase();if(U in y)return o(F,y[U]),m(P,F),F;if(U.charAt(0)==="#"){if(U.length===4){var V=parseInt(U.substr(1),16);if(!(V>=0&&V<=4095)){i(F,0,0,0,1);return}return i(F,(V&3840)>>4|(V&3840)>>8,V&240|(V&240)>>4,V&15|(V&15)<<4,1),m(P,F),F}else if(U.length===7){var V=parseInt(U.substr(1),16);if(!(V>=0&&V<=16777215)){i(F,0,0,0,1);return}return i(F,(V&16711680)>>16,(V&65280)>>8,V&255,1),m(P,F),F}return}var C=U.indexOf("("),M=U.indexOf(")");if(C!==-1&&M+1===U.length){var z=U.substr(0,C),$=U.substr(C+1,M-(C+1)).split(","),q=1;switch(z){case"rgba":if($.length!==4){i(F,0,0,0,1);return}q=c($.pop());case"rgb":if($.length!==3){i(F,0,0,0,1);return}return i(F,T($[0]),T($[1]),T($[2]),q),m(P,F),F;case"hsla":if($.length!==4){i(F,0,0,0,1);return}return $[3]=c($[3]),v($,F),m(P,F),F;case"hsl":if($.length!==3){i(F,0,0,0,1);return}return v($,F),m(P,F),F;default:return}}i(F,0,0,0,1)}}function v(P,F){var K=(parseFloat(P[0])%360+360)%360/360,U=c(P[1]),V=c(P[2]),C=V<=.5?V*(U+1):V+U-V*U,M=V*2-C;return F=F||[],i(F,L(u(M,C,K+1/3)*255),L(u(M,C,K)*255),L(u(M,C,K-1/3)*255),1),P.length===4&&(F[3]=P[3]),F}function r(P){if(P){var F=P[0]/255,K=P[1]/255,U=P[2]/255,V=Math.min(F,K,U),C=Math.max(F,K,U),M=C-V,z=(C+V)/2,$,q;if(M===0)$=0,q=0;else{z<.5?q=M/(C+V):q=M/(2-C-V);var se=((C-F)/6+M/2)/M,ue=((C-K)/6+M/2)/M,pe=((C-U)/6+M/2)/M;F===C?$=pe-ue:K===C?$=1/3+se-pe:U===C&&($=2/3+ue-se),$<0&&($+=1),$>1&&($-=1)}var Ee=[$*360,q,z];return P[3]!=null&&Ee.push(P[3]),Ee}}function a(P,F){var K=h(P);if(K){for(var U=0;U<3;U++)F<0?K[U]=K[U]*(1-F)|0:K[U]=(255-K[U])*F+K[U]|0;return B(K,K.length===4?"rgba":"rgb")}}function g(P){var F=h(P);if(F)return((1<<24)+(F[0]<<16)+(F[1]<<8)+ +F[2]).toString(16).slice(1)}function E(P,F,K){if(!(!(F&&F.length)||!(P>=0&&P<=1))){K=K||[];var U=P*(F.length-1),V=Math.floor(U),C=Math.ceil(U),M=F[V],z=F[C],$=U-V;return K[0]=L(f(M[0],z[0],$)),K[1]=L(f(M[1],z[1],$)),K[2]=L(f(M[2],z[2],$)),K[3]=s(f(M[3],z[3],$)),K}}var S=E;function w(P,F,K){if(!(!(F&&F.length)||!(P>=0&&P<=1))){var U=P*(F.length-1),V=Math.floor(U),C=Math.ceil(U),M=h(F[V]),z=h(F[C]),$=U-V,q=B([L(f(M[0],z[0],$)),L(f(M[1],z[1],$)),L(f(M[2],z[2],$)),s(f(M[3],z[3],$))],"rgba");return K?{color:q,leftIndex:V,rightIndex:C,value:U}:q}}var R=w;function O(P,F,K,U){if(P=h(P),P)return P=r(P),F!=null&&(P[0]=b(F)),K!=null&&(P[1]=c(K)),U!=null&&(P[2]=c(U)),B(v(P),"rgba")}function G(P,F){if(P=h(P),P&&F!=null)return P[3]=s(F),B(P,"rgba")}function B(P,F){if(!(!P||!P.length)){var K=P[0]+","+P[1]+","+P[2];return(F==="rgba"||F==="hsva"||F==="hsla")&&(K+=","+P[3]),F+"("+K+")"}}X.parse=h,X.lift=a,X.toHex=g,X.fastLerp=E,X.fastMapToColor=S,X.lerp=w,X.mapToColor=R,X.modifyHSL=O,X.modifyAlpha=G,X.stringify=B},function(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";var W=D(134),y=D(138),L=D(139),b=D(145),s=D(0),T=D.n(s);T.a.registerAction({type:"grid3DChangeCamera",event:"grid3dcamerachanged",update:"series:updateCamera"},function(c,u){u.eachComponent({mainType:"grid3D",query:c},function(f){f.setView(c)})}),T.a.registerAction({type:"grid3DShowAxisPointer",event:"grid3dshowaxispointer",update:"grid3D:showAxisPointer"},function(c,u){}),T.a.registerAction({type:"grid3DHideAxisPointer",event:"grid3dhideaxispointer",update:"grid3D:hideAxisPointer"},function(c,u){})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(135),b=y.a.extendComponentModel({type:"cartesian3DAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid3D",index:this.option.gridIndex,id:this.option.gridId})[0]}});y.a.helper.mixinAxisModelCommonMethods(b);function s(T,c){return c.type||(c.data?"category":"value")}Object(L.a)("x",b,s,{name:"X"}),Object(L.a)("y",b,s,{name:"Y"}),Object(L.a)("z",b,s,{name:"Z"})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(136),b=D(137),s=D.n(b),T=["value","category","time","log"];X.a=function(c,u,f,i){y.a.util.each(T,function(o){u.extend({type:c+"Axis3D."+o,__ordinalMeta:null,mergeDefaultAndTheme:function(d,p){var m=p.getTheme();y.a.util.merge(d,m.get(o+"Axis3D")),y.a.util.merge(d,this.getDefaultOption()),d.type=f(c,d)},optionUpdated:function(){var d=this.option;d.type==="category"&&(this.__ordinalMeta=s.a.createByAxisModel(this))},getCategories:function(){if(this.option.type==="category")return this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:y.a.util.merge(y.a.util.clone(L.a[o+"Axis3D"]),i||{},!0)})}),u.superClass.registerSubTypeDefaulter(c+"Axis3D",y.a.util.curry(f,c))}},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L={show:!0,grid3DIndex:0,inverse:!1,name:"",nameLocation:"middle",nameTextStyle:{fontSize:16},nameGap:20,axisPointer:{},axisLine:{},axisTick:{},axisLabel:{},splitArea:{}},b=y.a.util.merge({boundaryGap:!0,axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"},axisPointer:{label:{show:!1}}},L),s=y.a.util.merge({boundaryGap:[0,0],splitNumber:5,axisPointer:{label:{}}},L),T=y.a.util.defaults({scale:!0,min:"dataMin",max:"dataMax"},s),c=y.a.util.defaults({logBase:10},s);c.scale=!0,X.a={categoryAxis3D:b,valueAxis3D:s,timeAxis3D:T,logAxis3D:c}},function(te,X,D){var W=D(12),y=W.createHashMap,L=W.isObject,b=W.map;function s(i){this.categories=i.categories||[],this._needCollect=i.needCollect,this._deduplication=i.deduplication,this._map}s.createByAxisModel=function(i){var o=i.option,d=o.data,p=d&&b(d,u);return new s({categories:p,needCollect:!p,deduplication:o.dedplication!==!1})};var T=s.prototype;T.getOrdinal=function(i){return c(this).get(i)},T.parseAndCollect=function(i){var o,d=this._needCollect;if(typeof i!="string"&&!d)return i;if(d&&!this._deduplication)return o=this.categories.length,this.categories[o]=i,o;var p=c(this);return o=p.get(i),o==null&&(d?(o=this.categories.length,this.categories[o]=i,p.set(i,o)):o=NaN),o};function c(i){return i._map||(i._map=y(i.categories))}function u(i){return L(i)&&i.value!=null?i.value:i+""}var f=s;te.exports=f},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(38),b=D(31),s=D(32),T=y.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}}});y.a.util.merge(T.prototype,L.a),y.a.util.merge(T.prototype,b.a),y.a.util.merge(T.prototype,s.a);var c=T},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(39),s=D(22),T=D(3),c=D(73),u=D(34),f=D(140),i=D(142),o=D(58),d=D(40),p=T.a.firstNotNull;L.a.Shader.import(d.a),["x","y","z"].forEach(function(v){y.a.extendComponentView({type:v+"Axis3D"})});var m={x:0,y:2,z:1},h=y.a.extendComponentView({type:"grid3D",__ecgl__:!0,init:function(v,r){var a=[["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"]],g=["x","y","z"],E=new L.a.Material({shader:L.a.createShader("ecgl.color"),depthMask:!1,transparent:!0}),S=new L.a.Material({shader:L.a.createShader("ecgl.meshLines3D"),depthMask:!1,transparent:!0});E.define("fragment","DOUBLE_SIDED"),E.define("both","VERTEX_COLOR"),this.groupGL=new L.a.Node,this._control=new b.a({zr:r.getZr()}),this._control.init(),this._faces=a.map(function(R){var O=new f.a(R,S,E);return this.groupGL.add(O.rootNode),O},this),this._axes=g.map(function(R){var O=new i.a(R,S);return this.groupGL.add(O.rootNode),O},this);var w=r.getDevicePixelRatio();this._axisLabelSurface=new c.a({width:256,height:256,devicePixelRatio:w}),this._axisLabelSurface.onupdate=function(){r.getZr().refresh()},this._axisPointerLineMesh=new L.a.Mesh({geometry:new s.a({useNativeLine:!1}),material:S,castShadow:!1,ignorePicking:!0,renderOrder:3}),this.groupGL.add(this._axisPointerLineMesh),this._axisPointerLabelsSurface=new c.a({width:128,height:128,devicePixelRatio:w}),this._axisPointerLabelsMesh=new o.a({ignorePicking:!0,renderOrder:4,castShadow:!1}),this._axisPointerLabelsMesh.material.set("textureAtlas",this._axisPointerLabelsSurface.getTexture()),this.groupGL.add(this._axisPointerLabelsMesh),this._lightRoot=new L.a.Node,this._sceneHelper=new u.a,this._sceneHelper.initLight(this._lightRoot)},render:function(v,r,a){this._model=v,this._api=a;var g=v.coordinateSystem;g.viewGL.add(this._lightRoot),v.get("show")?g.viewGL.add(this.groupGL):g.viewGL.remove(this.groupGL);var E=this._control;E.setViewGL(g.viewGL);var S=v.getModel("viewControl");E.setFromViewControlModel(S,0),this._axisLabelSurface.clear();var w=["x","y","z"].reduce(function(R,O){var G=g.getAxis(O),B=G.model;return R[O]=p(B.get("axisLabel.interval"),v.get("axisLabel.interval")),G.scale.type==="ordinal"&&(R[O]==null||R[O]=="auto")&&(R[O]=Math.floor(G.scale.getTicks().length/8)),R},{});E.off("update"),v.get("show")&&(this._faces.forEach(function(R){R.update(w,v,r,a)},this),this._axes.forEach(function(R){R.update(v,w,this._axisLabelSurface,a)},this)),E.on("update",this._onCameraChange.bind(this,v,a),this),this._sceneHelper.setScene(g.viewGL.scene),this._sceneHelper.updateLight(v),g.viewGL.setPostEffect(v.getModel("postEffect"),a),g.viewGL.setTemporalSuperSampling(v.getModel("temporalSuperSampling")),this._initMouseHandler(v)},afterRender:function(v,r,a,g){var E=g.renderer;this._sceneHelper.updateAmbientCubemap(E,v,a),this._sceneHelper.updateSkybox(E,v,a)},showAxisPointer:function(v,r,a,g){this._doShowAxisPointer(),this._updateAxisPointer(g.value)},hideAxisPointer:function(v,r,a,g){this._doHideAxisPointer()},_initMouseHandler:function(v){var r=v.coordinateSystem,a=r.viewGL;v.get("show")&&v.get("axisPointer.show")?a.on("mousemove",this._updateAxisPointerOnMousePosition,this):a.off("mousemove",this._updateAxisPointerOnMousePosition)},_updateAxisPointerOnMousePosition:function(v){if(!v.target){for(var r=this._model,a=r.coordinateSystem,g=a.viewGL,E=g.castRay(v.offsetX,v.offsetY,new L.a.Ray),S,w=0;w<this._faces.length;w++){var R=this._faces[w];if(!R.rootNode.invisible){R.plane.normal.dot(g.camera.worldTransform.z)<0&&R.plane.normal.negate();var O=E.intersectPlane(R.plane);if(O){var G=a.getAxis(R.faceInfo[0]),B=a.getAxis(R.faceInfo[1]),P=m[R.faceInfo[0]],F=m[R.faceInfo[1]];G.contain(O.array[P])&&B.contain(O.array[F])&&(S=O)}}}if(S){var K=a.pointToData(S.array,[],!0);this._updateAxisPointer(K),this._doShowAxisPointer()}else this._doHideAxisPointer()}},_onCameraChange:function(v,r){v.get("show")&&(this._updateFaceVisibility(),this._updateAxisLinePosition());var a=this._control;r.dispatchAction({type:"grid3DChangeCamera",alpha:a.getAlpha(),beta:a.getBeta(),distance:a.getDistance(),center:a.getCenter(),from:this.uid,grid3DId:v.id})},_updateFaceVisibility:function(){var v=this._control.getCamera(),r=new L.a.Vector3;v.update();for(var a=0;a<this._faces.length/2;a++){for(var g=[],E=0;E<2;E++){var S=this._faces[a*2+E];S.rootNode.getWorldPosition(r),r.transformMat4(v.viewMatrix),g[E]=r.z}var w=g[0]>g[1]?0:1,R=this._faces[a*2+w],O=this._faces[a*2+1-w];R.rootNode.invisible=!0,O.rootNode.invisible=!1}},_updateAxisLinePosition:function(){var v=this._model.coordinateSystem,r=v.getAxis("x"),a=v.getAxis("y"),g=v.getAxis("z"),E=g.getExtentMax(),S=g.getExtentMin(),w=r.getExtentMin(),R=r.getExtentMax(),O=a.getExtentMax(),G=a.getExtentMin(),B=this._axes[0].rootNode,P=this._axes[1].rootNode,F=this._axes[2].rootNode,K=this._faces,U=K[4].rootNode.invisible?G:O,V=K[2].rootNode.invisible?E:S,C=K[0].rootNode.invisible?w:R,M=K[2].rootNode.invisible?E:S,z=K[0].rootNode.invisible?R:w,$=K[4].rootNode.invisible?G:O;B.rotation.identity(),P.rotation.identity(),F.rotation.identity(),K[4].rootNode.invisible&&(this._axes[0].flipped=!0,B.rotation.rotateX(Math.PI)),K[0].rootNode.invisible&&(this._axes[1].flipped=!0,P.rotation.rotateZ(Math.PI)),K[4].rootNode.invisible&&(this._axes[2].flipped=!0,F.rotation.rotateY(Math.PI)),B.position.set(0,V,U),P.position.set(C,M,0),F.position.set(z,0,$),B.update(),P.update(),F.update(),this._updateAxisLabelAlign()},_updateAxisLabelAlign:function(){var v=this._control.getCamera(),r=[new L.a.Vector4,new L.a.Vector4],a=new L.a.Vector4;this.groupGL.getWorldPosition(a),a.w=1,a.transformMat4(v.viewMatrix).transformMat4(v.projectionMatrix),a.x/=a.w,a.y/=a.w,this._axes.forEach(function(g){for(var E=g.axisLineCoords,S=g.labelsMesh.geometry,w=0;w<r.length;w++)r[w].setArray(E[w]),r[w].w=1,r[w].transformMat4(g.rootNode.worldTransform).transformMat4(v.viewMatrix).transformMat4(v.projectionMatrix),r[w].x/=r[w].w,r[w].y/=r[w].w;var R=r[1].x-r[0].x,O=r[1].y-r[0].y,G=(r[1].x+r[0].x)/2,B=(r[1].y+r[0].y)/2,P,F;Math.abs(O/R)<.5?(P="center",F=B>a.y?"bottom":"top"):(F="middle",P=G>a.x?"left":"right"),g.setSpriteAlign(P,F,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(v){var r=this._model.coordinateSystem,a=r.dataToPoint(v),g=this._axisPointerLineMesh,E=g.geometry,S=this._model.getModel("axisPointer"),w=this._api.getDevicePixelRatio();E.convertToDynamicArray(!0);function R(Ee){return T.a.firstNotNull(Ee.model.get("axisPointer.show"),S.get("show"))}function O(Ee){var De=Ee.model.getModel("axisPointer",S),Fe=De.getModel("lineStyle"),Ge=L.a.parseColor(Fe.get("color")),xe=p(Fe.get("width"),1),Ke=p(Fe.get("opacity"),1);return Ge[3]*=Ke,{color:Ge,lineWidth:xe}}for(var G=0;G<this._faces.length;G++){var B=this._faces[G];if(!B.rootNode.invisible){for(var P=B.faceInfo,F=P[3]<0?r.getAxis(P[2]).getExtentMin():r.getAxis(P[2]).getExtentMax(),K=m[P[2]],U=0;U<2;U++){var V=P[U],C=P[1-U],M=r.getAxis(V),z=r.getAxis(C);if(R(M)){var $=[0,0,0],q=[0,0,0],se=m[V],ue=m[C];$[se]=q[se]=a[se],$[K]=q[K]=F,$[ue]=z.getExtentMin(),q[ue]=z.getExtentMax();var pe=O(M);E.addLine($,q,pe.color,pe.lineWidth*w)}}if(R(r.getAxis(P[2]))){var $=a.slice(),q=a.slice();q[K]=F;var pe=O(r.getAxis(P[2]));E.addLine($,q,pe.color,pe.lineWidth*w)}}}E.convertToTypedArray(),this._updateAxisPointerLabelsMesh(v),this._api.getZr().refresh()},_updateAxisPointerLabelsMesh:function(v){var r=this._model,a=this._axisPointerLabelsMesh,g=this._axisPointerLabelsSurface,E=r.coordinateSystem,S=r.getModel("axisPointer");a.geometry.convertToDynamicArray(!0),g.clear();var w={x:"y",y:"x",z:"y"};this._axes.forEach(function(R,O){var G=E.getAxis(R.dim),B=G.model,P=B.getModel("axisPointer",S),F=P.getModel("label"),K=P.get("lineStyle.color");if(!(!F.get("show")||!P.get("show"))){var U=v[O],V=F.get("formatter"),C=G.scale.getLabel(U);if(V!=null)C=V(C,v);else if(G.scale.type==="interval"||G.scale.type==="log"){var M=y.a.number.getPrecisionSafe(G.scale.getTicks()[0]);C=U.toFixed(M+2)}var z=F.getModel("textStyle"),$=z.get("color"),q=new y.a.graphic.Text;y.a.graphic.setTextStyle(q.style,z,{text:C,textFill:$||K,textAlign:"left",textVerticalAlign:"top"});var se=g.add(q),ue=q.getBoundingRect(),pe=this._api.getDevicePixelRatio(),Ee=R.rootNode.position.toArray(),De=m[w[R.dim]];Ee[De]+=(R.flipped?-1:1)*F.get("margin"),Ee[m[R.dim]]=G.dataToCoord(v[O]),a.geometry.addSprite(Ee,[ue.width*pe,ue.height*pe],se,R.textAlign,R.textVerticalAlign)}},this),g.getZr().refreshImmediately(),a.material.set("uvScale",g.getCoordsScale()),a.geometry.convertToTypedArray()},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(3),s=D(22),T=D(141),c=D(74),u=b.a.firstNotNull,f={x:0,y:2,z:1};function i(d,p,m,h){var v=[0,0,0],r=h<0?m.getExtentMin():m.getExtentMax();v[f[m.dim]]=r,d.position.setArray(v),d.rotation.identity(),p.distance=-Math.abs(r),p.normal.set(0,0,0),m.dim==="x"?(d.rotation.rotateY(h*Math.PI/2),p.normal.x=-h):m.dim==="z"?(d.rotation.rotateX(-h*Math.PI/2),p.normal.y=-h):(h>0&&d.rotation.rotateY(Math.PI),p.normal.z=-h)}function o(d,p,m){this.rootNode=new L.a.Node;var h=new L.a.Mesh({geometry:new s.a({useNativeLine:!1}),material:p,castShadow:!1,ignorePicking:!0,renderOrder:1}),v=new L.a.Mesh({geometry:new T.a,material:m,castShadow:!1,culling:!1,ignorePicking:!0,renderOrder:0});this.rootNode.add(v),this.rootNode.add(h),this.faceInfo=d,this.plane=new L.a.Plane,this.linesMesh=h,this.quadsMesh=v}o.prototype.update=function(d,p,m,h){var v=p.coordinateSystem,r=[v.getAxis(this.faceInfo[0]),v.getAxis(this.faceInfo[1])],a=this.linesMesh.geometry,g=this.quadsMesh.geometry;a.convertToDynamicArray(!0),g.convertToDynamicArray(!0),this._updateSplitLines(a,r,p,d,h),this._udpateSplitAreas(g,r,p,d,h),a.convertToTypedArray(),g.convertToTypedArray();var E=v.getAxis(this.faceInfo[2]);i(this.rootNode,this.plane,E,this.faceInfo[3])},o.prototype._updateSplitLines=function(d,p,m,h,v){var r=v.getDevicePixelRatio();p.forEach(function(a,g){var E=a.model,S=p[1-g].getExtent();if(!a.scale.isBlank()){var w=E.getModel("splitLine",m.getModel("splitLine"));if(w.get("show")){var R=w.getModel("lineStyle"),O=R.get("color"),G=u(R.get("opacity"),1),B=u(R.get("width"),1),P=w.get("interval");(P==null||P==="auto")&&(P=h[a.dim]),O=y.a.util.isArray(O)?O:[O];for(var F=a.getTicksCoords(),K=0,U=0;U<F.length;U++)if(!Object(c.a)(a,U,P)){var V=F[U],C=L.a.parseColor(O[K%O.length]);C[3]*=G;var M=[0,0,0],z=[0,0,0];M[g]=z[g]=V,M[1-g]=S[0],z[1-g]=S[1],d.addLine(M,z,C,B*r),K++}}}})},o.prototype._udpateSplitAreas=function(d,p,m,h,v){p.forEach(function(r,a){var g=r.model,E=p[1-a].getExtent();if(!r.scale.isBlank()){var S=g.getModel("splitArea",m.getModel("splitArea"));if(S.get("show")){var w=S.getModel("areaStyle"),R=w.get("color"),O=u(w.get("opacity"),1),G=S.get("interval");(G==null||G==="auto")&&(G=h[r.dim]),R=y.a.util.isArray(R)?R:[R];for(var B=r.getTicksCoords(),P=0,F=[0,0,0],K=[0,0,0],U=0;U<B.length;U++){var V=B[U],C=[0,0,0],M=[0,0,0];if(C[a]=M[a]=V,C[1-a]=E[0],M[1-a]=E[1],U===0){F=C,K=M;continue}if(!Object(c.a)(r,U,G)){var z=L.a.parseColor(R[P%R.length]);z[3]*=O,d.addQuad([F,C,M,K],z),F=C,K=M,P++}}}}})},X.a=o},function(te,X,D){"use strict";var W=D(13),y=D(0),L=D.n(y),b=D(33),s=D(1),T=D.n(s),c=T.a.vec3,u=W.a.extend(function(){return{segmentScale:1,useNativeLine:!0,attributes:{position:new W.a.Attribute("position","float",3,"POSITION"),normal:new W.a.Attribute("normal","float",3,"NORMAL"),color:new W.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setQuadCount:function(f){var i=this.attributes,o=this.getQuadVertexCount()*f,d=this.getQuadTriangleCount()*f;this.vertexCount!==o&&(i.position.init(o),i.normal.init(o),i.color.init(o)),this.triangleCount!==d&&(this.indices=o>65535?new Uint32Array(d*3):new Uint16Array(d*3))},getQuadVertexCount:function(){return 4},getQuadTriangleCount:function(){return 2},addQuad:function(){var f=c.create(),i=c.create(),o=c.create(),d=[0,3,1,3,2,1];return function(p,m){var h=this.attributes.position,v=this.attributes.normal,r=this.attributes.color;c.sub(f,p[1],p[0]),c.sub(i,p[2],p[1]),c.cross(o,f,i),c.normalize(o,o);for(var a=0;a<4;a++)h.set(this._vertexOffset+a,p[a]),r.set(this._vertexOffset+a,m),v.set(this._vertexOffset+a,o);for(var g=this._faceOffset*3,a=0;a<6;a++)this.indices[g+a]=d[a]+this._vertexOffset;this._vertexOffset+=4,this._faceOffset+=2}}()});L.a.util.defaults(u.prototype,b.a),X.a=u},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(22),s=D(3),T=D(58),c=D(74),u=s.a.firstNotNull,f={x:0,y:2,z:1};function i(d,p){var m=new L.a.Mesh({geometry:new b.a({useNativeLine:!1}),material:p,castShadow:!1,ignorePicking:!0,renderOrder:2}),h=new T.a;h.material.depthMask=!1;var v=new L.a.Node;v.add(m),v.add(h),this.rootNode=v,this.dim=d,this.linesMesh=m,this.labelsMesh=h,this.axisLineCoords=null,this.labelElements=[]}var o={x:"y",y:"x",z:"y"};i.prototype.update=function(d,p,m,h){var v=d.coordinateSystem,r=v.getAxis(this.dim),a=p[this.dim],g=this.linesMesh.geometry,E=this.labelsMesh.geometry;g.convertToDynamicArray(!0),E.convertToDynamicArray(!0);var S=r.model,w=r.getExtent(),Fe=h.getDevicePixelRatio(),R=S.getModel("axisLine",d.getModel("axisLine")),O=S.getModel("axisTick",d.getModel("axisTick")),G=S.getModel("axisLabel",d.getModel("axisLabel")),B=R.get("lineStyle.color");if(R.get("show")){var P=R.getModel("lineStyle"),F=[0,0,0],K=[0,0,0],U=f[r.dim];F[U]=w[0],K[U]=w[1],this.axisLineCoords=[F,K];var V=L.a.parseColor(B),C=u(P.get("width"),1),M=u(P.get("opacity"),1);V[3]*=M,g.addLine(F,K,V,C*Fe)}if(O.get("show")){var z=O.getModel("lineStyle"),$=L.a.parseColor(u(z.get("color"),B)),C=u(z.get("width"),1);$[3]*=u(z.get("opacity"),1);var q=r.getTicksCoords(),se=O.get("interval");(se==null||se==="auto")&&(se=a);for(var ue=O.get("length"),pe=0;pe<q.length;pe++)if(!Object(c.a)(r,pe,se)){var Ee=q[pe],F=[0,0,0],K=[0,0,0],U=f[r.dim],De=f[o[r.dim]];F[U]=K[U]=Ee,K[De]=ue,g.addLine(F,K,$,C*Fe)}}this.labelElements=[];var Fe=h.getDevicePixelRatio();if(G.get("show")){for(var Ge=r.getLabelsCoords(),xe=S.get("data"),se=a,Ke=G.get("margin"),Ce=S.getFormattedLabels(),Se=r.scale.getTicks(),pe=0;pe<Ge.length;pe++)if(!Object(c.a)(r,pe,se)){var Ee=Ge[pe],ge=[0,0,0],U=f[r.dim],De=f[o[r.dim]];ge[U]=ge[U]=Ee,ge[De]=Ke;var Re=G;xe&&xe[Se[pe]]&&xe[Se[pe]].textStyle&&(Re=new y.a.Model(xe[Se[pe]].textStyle,G,S.ecModel));var ve=u(Re.get("color"),B),Le=new y.a.graphic.Text;y.a.graphic.setTextStyle(Le.style,Re,{text:Ce[pe],textFill:typeof ve=="function"?ve(r.type==="category"?Ce[pe]:r.type==="value"?Se[pe]+"":Se[pe],pe):ve,textVerticalAlign:"top",textAlign:"left"});var Ue=m.add(Le),me=Le.getBoundingRect();E.addSprite(ge,[me.width*Fe,me.height*Fe],Ue),this.labelElements.push(Le)}}if(S.get("name")){var oe=S.getModel("nameTextStyle"),ge=[0,0,0],U=f[r.dim],De=f[o[r.dim]],ie=u(oe.get("color"),B),he=oe.get("borderColor"),C=oe.get("borderWidth");ge[U]=ge[U]=(w[0]+w[1])/2,ge[De]=S.get("nameGap");var Le=new y.a.graphic.Text;y.a.graphic.setTextStyle(Le.style,oe,{text:S.get("name"),textFill:ie,textStroke:he,lineWidth:C});var Ue=m.add(Le),me=Le.getBoundingRect();E.addSprite(ge,[me.width*Fe,me.height*Fe],Ue),Le.__idx=this.labelElements.length,this.nameLabelElement=Le}this.labelsMesh.material.set("textureAtlas",m.getTexture()),this.labelsMesh.material.set("uvScale",m.getCoordsScale()),g.convertToTypedArray(),E.convertToTypedArray()},i.prototype.setSpriteAlign=function(d,p,m){for(var h=m.getDevicePixelRatio(),v=this.labelsMesh.geometry,r=0;r<this.labelElements.length;r++){var a=this.labelElements[r],g=a.getBoundingRect();v.setSpriteAlign(r,[g.width*h,g.height*h],d,p)}var E=this.nameLabelElement;if(E){var g=E.getBoundingRect();v.setSpriteAlign(E.__idx,[g.width*h,g.height*h],d,p),v.dirty()}this.textAlign=d,this.textVerticalAlign=p},X.a=i},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(13),b=D(33),s=[0,1,2,0,2,3],T=L.a.extend(function(){return{attributes:{position:new L.a.Attribute("position","float",3,"POSITION"),texcoord:new L.a.Attribute("texcoord","float",2,"TEXCOORD_0"),offset:new L.a.Attribute("offset","float",2),color:new L.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setSpriteCount:function(c){this._spriteCount=c;var u=c*4,f=c*2;this.vertexCount!==u&&(this.attributes.position.init(u),this.attributes.offset.init(u),this.attributes.color.init(u)),this.triangleCount!==f&&(this.indices=u>65535?new Uint32Array(f*3):new Uint16Array(f*3))},setSpriteAlign:function(c,u,f,i,o){f==null&&(f="left"),i==null&&(i="top");var d,p,m,h;switch(o=o||0,f){case"left":d=o,m=u[0]+o;break;case"center":case"middle":d=-u[0]/2,m=u[0]/2;break;case"right":d=-u[0]-o,m=-o;break}switch(i){case"bottom":p=o,h=u[1]+o;break;case"middle":p=-u[1]/2,h=u[1]/2;break;case"top":p=-u[1]-o,h=-o;break}var v=c*4,r=this.attributes.offset;r.set(v,[d,h]),r.set(v+1,[m,h]),r.set(v+2,[m,p]),r.set(v+3,[d,p])},addSprite:function(c,u,f,i,o,d){var p=this._vertexOffset;this.setSprite(this._vertexOffset/4,c,u,f,i,o,d);for(var m=0;m<s.length;m++)this.indices[this._faceOffset*3+m]=s[m]+p;return this._faceOffset+=2,this._vertexOffset+=4,p/4},setSprite:function(c,u,f,i,o,d,p){for(var m=c*4,h=this.attributes,v=0;v<4;v++)h.position.set(m+v,u);var r=h.texcoord;r.set(m,[i[0][0],i[0][1]]),r.set(m+1,[i[1][0],i[0][1]]),r.set(m+2,[i[1][0],i[1][1]]),r.set(m+3,[i[0][0],i[1][1]]),this.setSpriteAlign(c,f,o,d,p)}});y.a.util.defaults(T.prototype,b.a),X.a=T},function(te,X,D){"use strict";X.a=`@export ecgl.labels.vertex
attribute vec3 position: POSITION;
attribute vec2 texcoord: TEXCOORD_0;
attribute vec2 offset;
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
varying vec2 v_Texcoord;
void main()
{
vec4 proj = worldViewProjection * vec4(position, 1.0);
vec2 screen = (proj.xy / abs(proj.w) + 1.0) * 0.5 * viewport.zw;
screen += offset;
proj.xy = (screen / viewport.zw - 0.5) * 2.0 * abs(proj.w);
gl_Position = proj;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
v_Texcoord = texcoord;
}
@end
@export ecgl.labels.fragment
uniform vec3 color : [1.0, 1.0, 1.0];
uniform float alpha : 1.0;
uniform sampler2D textureAtlas;
uniform vec2 uvScale: [1.0, 1.0];
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
varying float v_Miter;
varying vec2 v_Texcoord;
void main()
{
gl_FragColor = vec4(color, alpha) * texture2D(textureAtlas, v_Texcoord * uvScale);
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
}
@end`},function(te,X,D){"use strict";var W=D(146),y=D(148),L=D(0),b=D.n(L),s=D(41),T=D.n(s),c=D(20),u=D(3);function f(p,m){var h=p.getBoxLayoutParams(),v=T.a.getLayoutRect(h,{width:m.getWidth(),height:m.getHeight()});v.y=m.getHeight()-v.y-v.height,this.viewGL.setViewport(v.x,v.y,v.width,v.height,m.getDevicePixelRatio());var r=p.get("boxWidth"),a=p.get("boxHeight"),g=p.get("boxDepth");["x","y","z"].forEach(function(E){if(!this.getAxis(E))throw new Error("Grid"+p.id+" don't have "+E+"Axis")},this),this.getAxis("x").setExtent(-r/2,r/2),this.getAxis("y").setExtent(g/2,-g/2),this.getAxis("z").setExtent(-a/2,a/2),this.size=[r,a,g]}function i(p,m){var h={};function v(r,a){h[r]=h[r]||[1/0,-1/0],h[r][0]=Math.min(a[0],h[r][0]),h[r][1]=Math.max(a[1],h[r][1])}p.eachSeries(function(r){if(r.coordinateSystem===this){var a=r.getData();["x","y","z"].forEach(function(g){v(g,a.getDataExtent(r.coordDimToDataDim(g)[0],!0))})}},this),["xAxis3D","yAxis3D","zAxis3D"].forEach(function(r){p.eachComponent(r,function(a){var g=r.charAt(0),E=a.getReferringComponents("grid3D")[0],S=E.coordinateSystem;if(S===this){var w=S.getAxis(g);if(w){console.warn("Can't have two %s in one grid3D",r);return}var R=b.a.helper.createScale(h[g]||[1/0,-1/0],a);w=new y.a(g,R),w.type=a.get("type");var O=w.type==="category";w.onBand=O&&a.get("boundaryGap"),w.inverse=a.get("inverse"),a.axis=w,w.model=a,S.addAxis(w)}},this)},this),this.resize(this.model,m)}var o={dimensions:W.a.prototype.dimensions,create:function(p,m){var h=[];p.eachComponent("grid3D",function(a){a.__viewGL=a.__viewGL||new c.a;var g=new W.a;g.model=a,g.viewGL=a.__viewGL,a.coordinateSystem=g,h.push(g),g.resize=f,g.update=i});var v=["xAxis3D","yAxis3D","zAxis3D"];function r(a,g){return v.map(function(E){var S=a.getReferringComponents(E)[0];if(S==null&&(S=g.getComponent(E)),!S)throw new Error(E+' "'+u.a.firstNotNull(a.get(E+"Index"),a.get(E+"Id"),0)+'" not found');return S})}return p.eachSeries(function(a){if(a.get("coordinateSystem")==="cartesian3D"){var g=a.getReferringComponents("grid3D")[0];if(g==null){var E=r(a,p),g=E[0].getCoordSysModel();E.forEach(function(R){var O=R.getCoordSysModel();if(!O)throw new Error('grid3D "'+u.a.firstNotNull(R.get("gridIndex"),R.get("gridId"),0)+'" not found');if(O!==g)throw new Error("xAxis3D, yAxis3D, zAxis3D must use the same grid")})}var S=g.coordinateSystem;a.coordinateSystem=S}}),h}};b.a.registerCoordinateSystem("grid3D",o);var d=o},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(147),b=D.n(L);function s(T){b.a.call(this,T),this.size=[0,0,0]}s.prototype={constructor:s,type:"cartesian3D",dimensions:["x","y","z"],model:null,containPoint:function(T){return this.getAxis("x").contain(T[0])&&this.getAxis("y").contain(T[2])&&this.getAxis("z").contain(T[1])},containData:function(T){return this.getAxis("x").containData(T[0])&&this.getAxis("y").containData(T[1])&&this.getAxis("z").containData(T[2])},dataToPoint:function(T,c,u){return c=c||[],c[0]=this.getAxis("x").dataToCoord(T[0],u),c[2]=this.getAxis("y").dataToCoord(T[1],u),c[1]=this.getAxis("z").dataToCoord(T[2],u),c},pointToData:function(T,c,u){return c=c||[],c[0]=this.getAxis("x").coordToData(T[0],u),c[1]=this.getAxis("y").coordToData(T[2],u),c[2]=this.getAxis("z").coordToData(T[1],u),c}},y.a.util.inherits(s,b.a),X.a=s},function(te,X,D){var W=D(12);function y(s){return this._axes[s]}var L=function(s){this._axes={},this._dimList=[],this.name=s||""};L.prototype={constructor:L,type:"cartesian",getAxis:function(s){return this._axes[s]},getAxes:function(){return W.map(this._dimList,y,this)},getAxesByScale:function(s){return s=s.toLowerCase(),W.filter(this.getAxes(),function(T){return T.scale.type===s})},addAxis:function(s){var T=s.dim;this._axes[T]=s,this._dimList.push(T)},dataToCoord:function(s){return this._dataCoordConvert(s,"dataToCoord")},coordToData:function(s){return this._dataCoordConvert(s,"coordToData")},_dataCoordConvert:function(s,T){for(var c=this._dimList,u=s instanceof Array?[]:{},f=0;f<c.length;f++){var i=c[f],o=this._axes[i];u[i]=o[T](s[i])}return u}};var b=L;te.exports=b},function(te,X,D){"use strict";var W=D(0),y=D.n(W);function L(b,s,T){y.a.Axis.call(this,b,s,T)}L.prototype={constructor:L,getExtentMin:function(){var b=this._extent;return Math.min(b[0],b[1])},getExtentMax:function(){var b=this._extent;return Math.max(b[0],b[1])}},y.a.util.inherits(L,y.a.Axis),X.a=L},function(te,X,D){var W=D(12),y=D(150),L=D(78);function b(a){return isNaN(a)?"-":(a=(a+"").split("."),a[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(a.length>1?"."+a[1]:""))}function s(a,g){return a=(a||"").toLowerCase().replace(/-(.)/g,function(E,S){return S.toUpperCase()}),g&&a&&(a=a.charAt(0).toUpperCase()+a.slice(1)),a}var T=W.normalizeCssArray;function c(a){return String(a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var u=["a","b","c","d","e","f","g"],f=function(a,g){return"{"+a+(g==null?"":g)+"}"};function i(a,g,E){W.isArray(g)||(g=[g]);var S=g.length;if(!S)return"";for(var w=g[0].$vars||[],R=0;R<w.length;R++){var O=u[R];a=a.replace(f(O),f(O,0))}for(var G=0;G<S;G++)for(var B=0;B<w.length;B++){var P=g[G][w[B]];a=a.replace(f(u[B],G),E?c(P):P)}return a}function o(a,g,E){return W.each(g,function(S,w){a=a.replace("{"+w+"}",E?c(S):S)}),a}function d(a,w){a=W.isString(a)?{color:a,extraCssText:w}:a||{};var E=a.color,S=a.type,w=a.extraCssText;return E?S==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+c(E)+";"+(w||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+c(E)+";"+(w||"")+'"></span>':""}var p=function(a){return a<10?"0"+a:a};function m(a,g,E){(a==="week"||a==="month"||a==="quarter"||a==="half-year"||a==="year")&&(a=`MM-dd
yyyy`);var S=L.parseDate(g),w=E?"UTC":"",R=S["get"+w+"FullYear"](),O=S["get"+w+"Month"]()+1,G=S["get"+w+"Date"](),B=S["get"+w+"Hours"](),P=S["get"+w+"Minutes"](),F=S["get"+w+"Seconds"]();return a=a.replace("MM",p(O)).replace("M",O).replace("yyyy",R).replace("yy",R%100).replace("dd",p(G)).replace("d",G).replace("hh",p(B)).replace("h",B).replace("mm",p(P)).replace("m",P).replace("ss",p(F)).replace("s",F),a}function h(a){return a&&a.charAt(0).toUpperCase()+a.substr(1)}var v=y.truncateText,r=y.getBoundingRect;X.addCommas=b,X.toCamelCase=s,X.normalizeCssArray=T,X.encodeHTML=c,X.formatTpl=i,X.formatTplSimple=o,X.getTooltipMarker=d,X.formatTime=m,X.capitalFirst=h,X.truncateText=v,X.getTextRect=r},function(te,X,D){var W=D(75),y=D(151),L=D(12),b=L.getContext,s=L.extend,T=L.retrieve2,c=L.retrieve3,u={},f=0,i=5e3,o=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,d="12px sans-serif",p={};function m(C,M){p[C]=M}function h(C,M){M=M||d;var z=C+":"+M;if(u[z])return u[z];for(var $=(C+"").split(`
`),q=0,se=0,ue=$.length;se<ue;se++)q=Math.max(P($[se],M).width,q);return f>i&&(f=0,u={}),f++,u[z]=q,q}function v(C,M,z,$,q,se,ue){return se?a(C,M,z,$,q,se,ue):r(C,M,z,$,q,ue)}function r(C,M,z,$,q,se){var ue=F(C,M,q,se),pe=h(C,M);q&&(pe+=q[1]+q[3]);var Ee=ue.outerHeight,De=g(0,pe,z),Fe=E(0,Ee,$),Ge=new W(De,Fe,pe,Ee);return Ge.lineHeight=ue.lineHeight,Ge}function a(C,M,z,$,q,se,ue){var pe=K(C,{rich:se,truncate:ue,font:M,textAlign:z,textPadding:q}),Ee=pe.outerWidth,De=pe.outerHeight,Fe=g(0,Ee,z),Ge=E(0,De,$);return new W(Fe,Ge,Ee,De)}function g(C,M,z){return z==="right"?C-=M:z==="center"&&(C-=M/2),C}function E(C,M,z){return z==="middle"?C-=M/2:z==="bottom"&&(C-=M),C}function S(C,M,z){var $=M.x,q=M.y,se=M.height,ue=M.width,pe=se/2,Ee="left",De="top";switch(C){case"left":$-=z,q+=pe,Ee="right",De="middle";break;case"right":$+=z+ue,q+=pe,De="middle";break;case"top":$+=ue/2,q-=z,Ee="center",De="bottom";break;case"bottom":$+=ue/2,q+=se+z,Ee="center";break;case"inside":$+=ue/2,q+=pe,Ee="center",De="middle";break;case"insideLeft":$+=z,q+=pe,De="middle";break;case"insideRight":$+=ue-z,q+=pe,Ee="right",De="middle";break;case"insideTop":$+=ue/2,q+=z,Ee="center";break;case"insideBottom":$+=ue/2,q+=se-z,Ee="center",De="bottom";break;case"insideTopLeft":$+=z,q+=z;break;case"insideTopRight":$+=ue-z,q+=z,Ee="right";break;case"insideBottomLeft":$+=z,q+=se-z,De="bottom";break;case"insideBottomRight":$+=ue-z,q+=se-z,Ee="right",De="bottom";break}return{x:$,y:q,textAlign:Ee,textVerticalAlign:De}}function w(C,M,z,$,q){if(!M)return"";var se=(C+"").split(`
`);q=R(M,z,$,q);for(var ue=0,pe=se.length;ue<pe;ue++)se[ue]=O(se[ue],q);return se.join(`
`)}function R(C,M,q,$){$=s({},$),$.font=M;var q=T(q,"...");$.maxIterations=T($.maxIterations,2);var se=$.minChar=T($.minChar,0);$.cnCharWidth=h("\u56FD",M);var ue=$.ascCharWidth=h("a",M);$.placeholder=T($.placeholder,"");for(var pe=C=Math.max(0,C-1),Ee=0;Ee<se&&pe>=ue;Ee++)pe-=ue;var De=h(q);return De>pe&&(q="",De=0),pe=C-De,$.ellipsis=q,$.ellipsisWidth=De,$.contentWidth=pe,$.containerWidth=C,$}function O(C,M){var z=M.containerWidth,$=M.font,q=M.contentWidth;if(!z)return"";var se=h(C,$);if(se<=z)return C;for(var ue=0;;ue++){if(se<=q||ue>=M.maxIterations){C+=M.ellipsis;break}var pe=ue===0?G(C,q,M.ascCharWidth,M.cnCharWidth):se>0?Math.floor(C.length*q/se):0;C=C.substr(0,pe),se=h(C,$)}return C===""&&(C=M.placeholder),C}function G(C,M,z,$){for(var q=0,se=0,ue=C.length;se<ue&&q<M;se++){var pe=C.charCodeAt(se);q+=0<=pe&&pe<=127?z:$}return se}function B(C){return h("\u56FD",C)}function P(C,M){return p.measureText(C,M)}p.measureText=function(C,M){var z=b();return z.font=M||d,z.measureText(C)};function F(C,M,z,$){C!=null&&(C+="");var q=B(M),se=C?C.split(`
`):[],ue=se.length*q,pe=ue;if(z&&(pe+=z[0]+z[2]),C&&$){var Ee=$.outerHeight,De=$.outerWidth;if(Ee!=null&&pe>Ee)C="",se=[];else if(De!=null)for(var Fe=R(De-(z?z[1]+z[3]:0),M,$.ellipsis,{minChar:$.minChar,placeholder:$.placeholder}),Ge=0,xe=se.length;Ge<xe;Ge++)se[Ge]=O(se[Ge],Fe)}return{lines:se,height:ue,outerHeight:pe,lineHeight:q}}function K(C,M){var z={lines:[],width:0,height:0};if(C!=null&&(C+=""),!C)return z;for(var $=o.lastIndex=0,q;(q=o.exec(C))!=null;){var se=q.index;se>$&&U(z,C.substring($,se)),U(z,q[2],q[1]),$=o.lastIndex}$<C.length&&U(z,C.substring($,C.length));var ue=z.lines,pe=0,Ee=0,De=[],Fe=M.textPadding,Ge=M.truncate,xe=Ge&&Ge.outerWidth,Ke=Ge&&Ge.outerHeight;Fe&&(xe!=null&&(xe-=Fe[1]+Fe[3]),Ke!=null&&(Ke-=Fe[0]+Fe[2]));for(var Ce=0;Ce<ue.length;Ce++){for(var Se=ue[Ce],ge=0,Re=0,ve=0;ve<Se.tokens.length;ve++){var Le=Se.tokens[ve],Ue=Le.styleName&&M.rich[Le.styleName]||{},me=Le.textPadding=Ue.textPadding,oe=Le.font=Ue.font||M.font,ie=Le.textHeight=T(Ue.textHeight,B(oe));if(me&&(ie+=me[0]+me[2]),Le.height=ie,Le.lineHeight=c(Ue.textLineHeight,M.textLineHeight,ie),Le.textAlign=Ue&&Ue.textAlign||M.textAlign,Le.textVerticalAlign=Ue&&Ue.textVerticalAlign||"middle",Ke!=null&&pe+Le.lineHeight>Ke)return{lines:[],width:0,height:0};Le.textWidth=h(Le.text,oe);var he=Ue.textWidth,ye=he==null||he==="auto";if(typeof he=="string"&&he.charAt(he.length-1)==="%")Le.percentWidth=he,De.push(Le),he=0;else{if(ye){he=Le.textWidth;var ce=Ue.textBackgroundColor,Te=ce&&ce.image;Te&&(Te=y.findExistImage(Te),y.isImageReady(Te)&&(he=Math.max(he,Te.width*ie/Te.height)))}var Oe=me?me[1]+me[3]:0;he+=Oe;var Be=xe!=null?xe-Re:null;Be!=null&&Be<he&&(!ye||Be<Oe?(Le.text="",Le.textWidth=he=0):(Le.text=w(Le.text,Be-Oe,oe,Ge.ellipsis,{minChar:Ge.minChar}),Le.textWidth=h(Le.text,oe),he=Le.textWidth+Oe))}Re+=Le.width=he,Ue&&(ge=Math.max(ge,Le.lineHeight))}Se.width=Re,Se.lineHeight=ge,pe+=ge,Ee=Math.max(Ee,Re)}z.outerWidth=z.width=T(M.textWidth,Ee),z.outerHeight=z.height=T(M.textHeight,pe),Fe&&(z.outerWidth+=Fe[1]+Fe[3],z.outerHeight+=Fe[0]+Fe[2]);for(var Ce=0;Ce<De.length;Ce++){var Le=De[Ce],Xe=Le.percentWidth;Le.width=parseInt(Xe,10)/100*Ee}return z}function U(C,M,z){for(var $=M==="",q=M.split(`
`),se=C.lines,ue=0;ue<q.length;ue++){var pe=q[ue],Ee={styleName:z,text:pe,isLineHolder:!pe&&!$};if(ue)se.push({tokens:[Ee]});else{var De=(se[se.length-1]||(se[0]={tokens:[]})).tokens,Fe=De.length;Fe===1&&De[0].isLineHolder?De[0]=Ee:(pe||!Fe||$)&&De.push(Ee)}}}function V(C){return(C.fontSize||C.fontFamily)&&[C.fontStyle,C.fontWeight,(C.fontSize||12)+"px",C.fontFamily||"sans-serif"].join(" ")||C.textFont||C.font}X.DEFAULT_FONT=d,X.$override=m,X.getWidth=h,X.getBoundingRect=v,X.adjustTextX=g,X.adjustTextY=E,X.adjustTextPositionOnRect=S,X.truncateText=w,X.getLineHeight=B,X.measureText=P,X.parsePlainText=F,X.parseRichText=K,X.makeFont=V},function(te,X,D){var W=D(53),y=new W(50);function L(c){if(typeof c=="string"){var u=y.get(c);return u&&u.image}else return c}function b(c,u,f,i,o){if(c)if(typeof c=="string"){if(u&&u.__zrImageSrc===c||!f)return u;var d=y.get(c),p={hostEl:f,cb:i,cbPayload:o};return d?(u=d.image,!T(u)&&d.pending.push(p)):(!u&&(u=new Image),u.onload=s,y.put(c,u.__cachedImgObj={image:u,pending:[p]}),u.src=u.__zrImageSrc=c),u}else return c;else return u}function s(){var c=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var u=0;u<c.pending.length;u++){var f=c.pending[u],i=f.cb;i&&i(this,f.cbPayload),f.hostEl.dirty()}c.pending.length=0}function T(c){return c&&c.width&&c.height}X.findExistImage=L,X.createOrUpdateImage=b,X.isImageReady=T},function(te,X,D){"use strict";var W=D(8),y=D(11),L=D(4),b=D(15),s=D(52),T=D(9),c=D(46),u=D(7),f=D(19),i=D(24),o=D(72),d=D(70),p=D(71),m=D(153),h=D(17),v=D(10),r=D(6),a=D(5),g=D(25),E=D(36),S=D(30),w=D(14),R=D(79),O=D(1),G=D.n(O),B=D(154),P=G.a.mat4,F=G.a.vec3,K=["px","nx","py","ny","pz","nz"];u.a.import(B.a);var U=W.a.extend(function(){return{softShadow:U.PCF,shadowBlur:1,lightFrustumBias:"auto",kernelPCF:new Float32Array([1,0,1,1,-1,1,0,1,-1,0,-1,-1,1,-1,0,-1]),precision:"mediump",_lastRenderNotCastShadow:!1,_frameBuffer:new v.a,_textures:{},_shadowMapNumber:{POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},_depthMaterials:{},_distanceMaterials:{},_opaqueCasters:[],_receivers:[],_lightsCastShadow:[],_lightCameras:{},_lightMaterials:{},_texturePool:new R.a}},function(){this._gaussianPassH=new w.a({fragment:u.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassV=new w.a({fragment:u.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassH.setUniform("blurSize",this.shadowBlur),this._gaussianPassH.setUniform("blurDir",0),this._gaussianPassV.setUniform("blurSize",this.shadowBlur),this._gaussianPassV.setUniform("blurDir",1),this._outputDepthPass=new w.a({fragment:u.a.source("clay.sm.debug_depth")})},{render:function(V,C,M,z){M||(M=C.getMainCamera()),this.trigger("beforerender",this,V,C,M),this._renderShadowPass(V,C,M,z),this.trigger("afterrender",this,V,C,M)},renderDebug:function(V,C){V.saveClear();var M=V.viewport,z=0,$=0,q=C||M.width/4,se=q;this.softShadow===U.VSM?this._outputDepthPass.material.define("fragment","USE_VSM"):this._outputDepthPass.material.undefine("fragment","USE_VSM");for(var ue in this._textures){var pe=this._textures[ue];V.setViewport(z,$,q*pe.width/pe.height,se),this._outputDepthPass.setUniform("depthMap",pe),this._outputDepthPass.render(V),z+=q*pe.width/pe.height}V.setViewport(M),V.restoreClear()},_updateCasterAndReceiver:function(V,C){if(C.castShadow&&this._opaqueCasters.push(C),C.receiveShadow?(this._receivers.push(C),C.material.set("shadowEnabled",1),C.material.set("pcfKernel",this.kernelPCF)):C.material.set("shadowEnabled",0),!C.material.shader&&C.material.updateShader&&C.material.updateShader(V),this.softShadow===U.VSM)C.material.define("fragment","USE_VSM"),C.material.undefine("fragment","PCF_KERNEL_SIZE");else{C.material.undefine("fragment","USE_VSM");var M=this.kernelPCF;M&&M.length?C.material.define("fragment","PCF_KERNEL_SIZE",M.length/2):C.material.undefine("fragment","PCF_KERNEL_SIZE")}},_update:function(V,C){for(var M=0;M<C.opaqueList.length;M++)this._updateCasterAndReceiver(V,C.opaqueList[M]);for(var M=0;M<C.transparentList.length;M++)this._updateCasterAndReceiver(V,C.transparentList[M]);for(var M=0;M<C.lights.length;M++){var z=C.lights[M];z.castShadow&&this._lightsCastShadow.push(z)}},_renderShadowPass:function(V,C,M,z){for(var $ in this._shadowMapNumber)this._shadowMapNumber[$]=0;this._lightsCastShadow.length=0,this._opaqueCasters.length=0,this._receivers.length=0;var q=V.gl;if(z||C.update(),M&&M.update(),this._update(V,C),!this._lightsCastShadow.length&&this._lastRenderNotCastShadow)return;this._lastRenderNotCastShadow=this._lightsCastShadow===0,q.enable(q.DEPTH_TEST),q.depthMask(!0),q.disable(q.BLEND),q.clearColor(1,1,1,1);for(var se=[],ue=[],pe=[],Ee=[],De=[],Fe=[],Ge,xe=0;xe<this._lightsCastShadow.length;xe++){var Ke=this._lightsCastShadow[xe];if(Ke instanceof d.a){if(Ge){console.warn("Only one direectional light supported with shadow cascade");continue}if(Ke.shadowCascade>4){console.warn("Support at most 4 cascade");continue}Ke.shadowCascade>1&&(Ge=Ke.shadowCascade),this.renderDirectionalLightShadow(V,C,M,Ke,this._opaqueCasters,De,Ee,pe)}else Ke instanceof o.a?this.renderSpotLightShadow(V,C,Ke,this._opaqueCasters,ue,se):Ke instanceof p.a&&this.renderPointLightShadow(V,C,Ke,this._opaqueCasters,Fe);this._shadowMapNumber[Ke.type]++}for(var Ce in this._shadowMapNumber)for(var Se=this._shadowMapNumber[Ce],ge=Ce+"_SHADOWMAP_COUNT",xe=0;xe<this._receivers.length;xe++){var Re=this._receivers[xe],ve=Re.material;ve.fragmentDefines[ge]!==Se&&(Se>0?ve.define("fragment",ge,Se):ve.isDefined("fragment",ge)&&ve.undefine("fragment",ge))}for(var xe=0;xe<this._receivers.length;xe++){var Re=this._receivers[xe],ve=Re.material;Ge?ve.define("fragment","SHADOW_CASCADE",Ge.shadowCascade):ve.undefine("fragment","SHADOW_CASCADE")}var Le=C.shadowUniforms;function Ue(ye){return ye.height}if(pe.length>0){var me=pe.map(Ue);if(Le.directionalLightShadowMaps={value:pe,type:"tv"},Le.directionalLightMatrices={value:Ee,type:"m4v"},Le.directionalLightShadowMapSizes={value:me,type:"1fv"},Ge){var oe=De.slice(),ie=De.slice();oe.pop(),ie.shift(),oe.reverse(),ie.reverse(),Ee.reverse(),Le.shadowCascadeClipsNear={value:oe,type:"1fv"},Le.shadowCascadeClipsFar={value:ie,type:"1fv"}}}if(se.length>0){var he=se.map(Ue),Le=C.shadowUniforms;Le.spotLightShadowMaps={value:se,type:"tv"},Le.spotLightMatrices={value:ue,type:"m4v"},Le.spotLightShadowMapSizes={value:he,type:"1fv"}}Fe.length>0&&(Le.pointLightShadowMaps={value:Fe,type:"tv"})},renderDirectionalLightShadow:function(){var V=new s.a,C=new T.a,M=new b.a,z=new T.a,$=new T.a,q=new T.a,se=new T.a;return function(ue,pe,Ee,De,Fe,Ge,xe,Ke){var Ce=this._getDepthMaterial(De),Se={getMaterial:function(It){return It.shadowDepthMaterial||Ce},sortCompare:c.a.opaqueSortCompare};if(!pe.viewBoundingBoxLastFrame.isFinite()){var ge=pe.getBoundingBox();pe.viewBoundingBoxLastFrame.copy(ge).applyTransform(Ee.viewMatrix)}var Re=Math.min(-pe.viewBoundingBoxLastFrame.min.z,Ee.far),ve=Math.max(-pe.viewBoundingBoxLastFrame.max.z,Ee.near),Le=this._getDirectionalLightCamera(De,pe,Ee),Ue=q.array;se.copy(Le.projectionMatrix),P.invert($.array,Le.worldTransform.array),P.multiply($.array,$.array,Ee.worldTransform.array),P.multiply(Ue,se.array,$.array);for(var me=[],oe=Ee instanceof E.a,ie=(Ee.near+Ee.far)/(Ee.near-Ee.far),he=2*Ee.near*Ee.far/(Ee.near-Ee.far),ye=0;ye<=De.shadowCascade;ye++){var ce=ve*Math.pow(Re/ve,ye/De.shadowCascade),Te=ve+(Re-ve)*ye/De.shadowCascade,Oe=ce*De.cascadeSplitLogFactor+Te*(1-De.cascadeSplitLogFactor);me.push(Oe),Ge.push(-(-Oe*ie+he)/-Oe)}var Be=this._getTexture(De,De.shadowCascade);Ke.push(Be);var Xe=ue.viewport,lt=ue.gl;this._frameBuffer.attach(Be),this._frameBuffer.bind(ue),lt.clear(lt.COLOR_BUFFER_BIT|lt.DEPTH_BUFFER_BIT);for(var ye=0;ye<De.shadowCascade;ye++){var _t=me[ye],tt=me[ye+1];oe?P.perspective(C.array,Ee.fov/180*Math.PI,Ee.aspect,_t,tt):P.ortho(C.array,Ee.left,Ee.right,Ee.bottom,Ee.top,_t,tt),V.setFromProjection(C),V.getTransformedBoundingBox(M,$),M.applyProjection(se);var bt=M.min.array,Nt=M.max.array;bt[0]=Math.max(bt[0],-1),bt[1]=Math.max(bt[1],-1),Nt[0]=Math.min(Nt[0],1),Nt[1]=Math.min(Nt[1],1),z.ortho(bt[0],Nt[0],bt[1],Nt[1],1,-1),Le.projectionMatrix.multiplyLeft(z);var Bt=De.shadowResolution||512;ue.setViewport((De.shadowCascade-ye-1)*Bt,0,Bt,Bt,1),ue.renderPass(Fe,Le,Se),this.softShadow===U.VSM&&this._gaussianFilter(ue,Be,Be.width);var ot=new T.a;ot.copy(Le.viewMatrix).multiplyLeft(Le.projectionMatrix),xe.push(ot.array),Le.projectionMatrix.copy(se)}this._frameBuffer.unbind(ue),ue.setViewport(Xe)}}(),renderSpotLightShadow:function(V,C,M,z,$,q){var se=this._getTexture(M),ue=this._getSpotLightCamera(M),pe=V.gl;this._frameBuffer.attach(se),this._frameBuffer.bind(V),pe.clear(pe.COLOR_BUFFER_BIT|pe.DEPTH_BUFFER_BIT);var Ee=this._getDepthMaterial(M),De={getMaterial:function(Ge){return Ge.shadowDepthMaterial||Ee},sortCompare:c.a.opaqueSortCompare};V.renderPass(V.cullRenderList(z,null,ue),ue,De),this._frameBuffer.unbind(V),this.softShadow===U.VSM&&this._gaussianFilter(V,se,se.width);var Fe=new T.a;Fe.copy(ue.worldTransform).invert().multiplyLeft(ue.projectionMatrix),q.push(se),$.push(Fe.array)},renderPointLightShadow:function(V,C,M,z,$){var q=this._getTexture(M),se=V.gl;$.push(q);for(var ue=this._getDepthMaterial(M),pe={getMaterial:function(Ge){return Ge.shadowDepthMaterial||ue},sortCompare:c.a.opaqueSortCompare},Ee=0;Ee<6;Ee++){var De=K[Ee],Fe=this._getPointLightCamera(M,De);this._frameBuffer.attach(q,se.COLOR_ATTACHMENT0,se.TEXTURE_CUBE_MAP_POSITIVE_X+Ee),this._frameBuffer.bind(V),se.clear(se.COLOR_BUFFER_BIT|se.DEPTH_BUFFER_BIT),V.renderPass(V.cullRenderList(z,null,Fe),Fe,pe)}this._frameBuffer.unbind(V)},_getDepthMaterial:function(V){var C=this._lightMaterials[V.__uid__],M=V instanceof p.a;if(!C){var z=M?"clay.sm.distance.":"clay.sm.depth.";C=new h.a({precision:this.precision,shader:new u.a(u.a.source(z+"vertex"),u.a.source(z+"fragment"))}),this._lightMaterials[V.__uid__]=C}return V.shadowSlopeScale!=null&&C.setUniform("slopeScale",V.shadowSlopeScale),V.shadowBias!=null&&C.setUniform("shadowBias",V.shadowBias),this.softShadow===U.VSM?C.define("fragment","USE_VSM"):C.undefine("fragment","USE_VSM"),M&&(C.set("lightPosition",V.getWorldPosition().array),C.set("range",V.range)),C},_gaussianFilter:function(V,C,M){var z={width:M,height:M,type:r.a.FLOAT},$=this._texturePool.get(z);this._frameBuffer.attach($),this._frameBuffer.bind(V),this._gaussianPassH.setUniform("texture",C),this._gaussianPassH.setUniform("textureWidth",M),this._gaussianPassH.render(V),this._frameBuffer.attach(C),this._gaussianPassV.setUniform("texture",$),this._gaussianPassV.setUniform("textureHeight",M),this._gaussianPassV.render(V),this._frameBuffer.unbind(V),this._texturePool.put($)},_getTexture:function(V,C){var M=V.__uid__,z=this._textures[M],$=V.shadowResolution||512;return C=C||1,z||(V instanceof p.a?z=new g.a:z=new a.a,z.width=$*C,z.height=$,this.softShadow===U.VSM?(z.type=r.a.FLOAT,z.anisotropic=4):(z.minFilter=y.a.NEAREST,z.magFilter=y.a.NEAREST,z.useMipmap=!1),this._textures[M]=z),z},_getPointLightCamera:function(V,C){this._lightCameras.point||(this._lightCameras.point={px:new E.a,nx:new E.a,py:new E.a,ny:new E.a,pz:new E.a,nz:new E.a});var M=this._lightCameras.point[C];switch(M.far=V.range,M.fov=90,M.position.set(0,0,0),C){case"px":M.lookAt(L.a.POSITIVE_X,L.a.NEGATIVE_Y);break;case"nx":M.lookAt(L.a.NEGATIVE_X,L.a.NEGATIVE_Y);break;case"py":M.lookAt(L.a.POSITIVE_Y,L.a.POSITIVE_Z);break;case"ny":M.lookAt(L.a.NEGATIVE_Y,L.a.NEGATIVE_Z);break;case"pz":M.lookAt(L.a.POSITIVE_Z,L.a.NEGATIVE_Y);break;case"nz":M.lookAt(L.a.NEGATIVE_Z,L.a.NEGATIVE_Y);break}return V.getWorldPosition(M.position),M.update(),M},_getDirectionalLightCamera:function(){var V=new T.a,C=new b.a,M=new b.a;return function(z,$,q){this._lightCameras.directional||(this._lightCameras.directional=new S.a);var se=this._lightCameras.directional;C.copy($.viewBoundingBoxLastFrame),C.intersection(q.frustum.boundingBox),se.position.copy(C.min).add(C.max).scale(.5).transformMat4(q.worldTransform),se.rotation.copy(z.rotation),se.scale.copy(z.scale),se.updateWorldTransform(),T.a.invert(V,se.worldTransform),T.a.multiply(V,V,q.worldTransform),M.copy(C).applyTransform(V);var ue=M.min.array,pe=M.max.array;return se.position.set((ue[0]+pe[0])/2,(ue[1]+pe[1])/2,pe[2]).transformMat4(se.worldTransform),se.near=0,se.far=-ue[2]+pe[2],isNaN(this.lightFrustumBias)?se.far*=4:se.far+=this.lightFrustumBias,se.left=ue[0],se.right=pe[0],se.top=pe[1],se.bottom=ue[1],se.update(!0),se}}(),_getSpotLightCamera:function(V){this._lightCameras.spot||(this._lightCameras.spot=new E.a);var C=this._lightCameras.spot;return C.fov=V.penumbraAngle*2,C.far=V.range,C.worldTransform.copy(V.worldTransform),C.updateProjectionMatrix(),P.invert(C.viewMatrix.array,C.worldTransform.array),C},dispose:function(V){var C=V.gl||V;this._frameBuffer&&this._frameBuffer.dispose(C);for(var M in this._textures)this._textures[M].dispose(C);this._texturePool.clear(V.gl),this._depthMaterials={},this._distanceMaterials={},this._textures={},this._lightCameras={},this._shadowMapNumber={POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},this._meshMaterials={};for(var z=0;z<this._receivers.length;z++){var $=this._receivers[z];if($.material&&$.material.shader){var q=$.material,se=q.shader;se.undefine("fragment","POINT_LIGHT_SHADOW_COUNT"),se.undefine("fragment","DIRECTIONAL_LIGHT_SHADOW_COUNT"),se.undefine("fragment","AMBIENT_LIGHT_SHADOW_COUNT"),q.set("shadowEnabled",0)}}this._opaqueCasters=[],this._receivers=[],this._lightsCastShadow=[]}});U.VSM=1,U.PCF=2,X.a=U},function(te,X,D){"use strict";var W=D(7),y={};function L(){this._pool={}}L.prototype.get=function(c){var u=c;if(this._pool[u])return this._pool[u];var f=y[c];if(!f){console.error('Shader "'+c+'" is not in the library');return}var i=new W.a(f.vertex,f.fragment);return this._pool[u]=i,i},L.prototype.clear=function(){this._pool={}};function b(c,u,f){y[c]={vertex:u,fragment:f}}var s=new L,T={createLibrary:function(){return new L},get:function(){return s.get.apply(s,arguments)},template:b,clear:function(){return s.clear()}}},function(te,X,D){"use strict";X.a=`@export clay.sm.depth.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
#ifdef SHADOW_TRANSPARENT
attribute vec2 texcoord : TEXCOORD_0;
#endif
@import clay.chunk.skinning_header
varying vec4 v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
varying vec2 v_Texcoord;
#endif
void main(){
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
v_ViewPosition = worldViewProjection * vec4(skinnedPosition, 1.0);
gl_Position = v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
v_Texcoord = texcoord;
#endif
}
@end
@export clay.sm.depth.fragment
varying vec4 v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
varying vec2 v_Texcoord;
#endif
uniform float bias : 0.001;
uniform float slopeScale : 1.0;
#ifdef SHADOW_TRANSPARENT
uniform sampler2D transparentMap;
#endif
@import clay.util.encode_float
void main(){
float depth = v_ViewPosition.z / v_ViewPosition.w;
#ifdef USE_VSM
depth = depth * 0.5 + 0.5;
float moment1 = depth;
float moment2 = depth * depth;
float dx = dFdx(depth);
float dy = dFdy(depth);
moment2 += 0.25*(dx*dx+dy*dy);
gl_FragColor = vec4(moment1, moment2, 0.0, 1.0);
#else
float dx = dFdx(depth);
float dy = dFdy(depth);
depth += sqrt(dx*dx + dy*dy) * slopeScale + bias;
#ifdef SHADOW_TRANSPARENT
if (texture2D(transparentMap, v_Texcoord).a <= 0.1) {
gl_FragColor = encodeFloat(0.9999);
return;
}
#endif
gl_FragColor = encodeFloat(depth * 0.5 + 0.5);
#endif
}
@end
@export clay.sm.debug_depth
uniform sampler2D depthMap;
varying vec2 v_Texcoord;
@import clay.util.decode_float
void main() {
vec4 tex = texture2D(depthMap, v_Texcoord);
#ifdef USE_VSM
gl_FragColor = vec4(tex.rgb, 1.0);
#else
float depth = decodeFloat(tex);
gl_FragColor = vec4(depth, depth, depth, 1.0);
#endif
}
@end
@export clay.sm.distance.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform mat4 world : WORLD;
attribute vec3 position : POSITION;
@import clay.chunk.skinning_header
varying vec3 v_WorldPosition;
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);
v_WorldPosition = (world * vec4(skinnedPosition, 1.0)).xyz;
}
@end
@export clay.sm.distance.fragment
uniform vec3 lightPosition;
uniform float range : 100;
varying vec3 v_WorldPosition;
@import clay.util.encode_float
void main(){
float dist = distance(lightPosition, v_WorldPosition);
#ifdef USE_VSM
gl_FragColor = vec4(dist, dist * dist, 0.0, 0.0);
#else
dist = dist / range;
gl_FragColor = encodeFloat(dist);
#endif
}
@end
@export clay.plugin.shadow_map_common
@import clay.util.decode_float
float tapShadowMap(sampler2D map, vec2 uv, float z){
vec4 tex = texture2D(map, uv);
return step(z, decodeFloat(tex) * 2.0 - 1.0);
}
float pcf(sampler2D map, vec2 uv, float z, float textureSize, vec2 scale) {
float shadowContrib = tapShadowMap(map, uv, z);
vec2 offset = vec2(1.0 / textureSize) * scale;
#ifdef PCF_KERNEL_SIZE
for (int _idx_ = 0; _idx_ < PCF_KERNEL_SIZE; _idx_++) {{
shadowContrib += tapShadowMap(map, uv + offset * pcfKernel[_idx_], z);
}}
return shadowContrib / float(PCF_KERNEL_SIZE + 1);
#else
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, 0.0), z);
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(0.0, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, 0.0), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, -offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, -offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(0.0, -offset.y), z);
return shadowContrib / 9.0;
#endif
}
float pcf(sampler2D map, vec2 uv, float z, float textureSize) {
return pcf(map, uv, z, textureSize, vec2(1.0));
}
float chebyshevUpperBound(vec2 moments, float z){
float p = 0.0;
z = z * 0.5 + 0.5;
if (z <= moments.x) {
p = 1.0;
}
float variance = moments.y - moments.x * moments.x;
variance = max(variance, 0.0000001);
float mD = moments.x - z;
float pMax = variance / (variance + mD * mD);
pMax = clamp((pMax-0.4)/(1.0-0.4), 0.0, 1.0);
return max(p, pMax);
}
float computeShadowContrib(
sampler2D map, mat4 lightVPM, vec3 position, float textureSize, vec2 scale, vec2 offset
) {
vec4 posInLightSpace = lightVPM * vec4(position, 1.0);
posInLightSpace.xyz /= posInLightSpace.w;
float z = posInLightSpace.z;
if(all(greaterThan(posInLightSpace.xyz, vec3(-0.99, -0.99, -1.0))) &&
all(lessThan(posInLightSpace.xyz, vec3(0.99, 0.99, 1.0)))){
vec2 uv = (posInLightSpace.xy+1.0) / 2.0;
#ifdef USE_VSM
vec2 moments = texture2D(map, uv * scale + offset).xy;
return chebyshevUpperBound(moments, z);
#else
return pcf(map, uv * scale + offset, z, textureSize, scale);
#endif
}
return 1.0;
}
float computeShadowContrib(sampler2D map, mat4 lightVPM, vec3 position, float textureSize) {
return computeShadowContrib(map, lightVPM, position, textureSize, vec2(1.0), vec2(0.0));
}
float computeShadowContribOmni(samplerCube map, vec3 direction, float range)
{
float dist = length(direction);
vec4 shadowTex = textureCube(map, direction);
#ifdef USE_VSM
vec2 moments = shadowTex.xy;
float variance = moments.y - moments.x * moments.x;
float mD = moments.x - dist;
float p = variance / (variance + mD * mD);
if(moments.x + 0.001 < dist){
return clamp(p, 0.0, 1.0);
}else{
return 1.0;
}
#else
return step(dist, (decodeFloat(shadowTex) + 0.0002) * range);
#endif
}
@end
@export clay.plugin.compute_shadow_map
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT) || defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) || defined(POINT_LIGHT_SHADOWMAP_COUNT)
#ifdef SPOT_LIGHT_SHADOWMAP_COUNT
uniform sampler2D spotLightShadowMaps[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform mat4 spotLightMatrices[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform float spotLightShadowMapSizes[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
#ifdef DIRECTIONAL_LIGHT_SHADOWMAP_COUNT
#if defined(SHADOW_CASCADE)
uniform sampler2D directionalLightShadowMaps[1]:unconfigurable;
uniform mat4 directionalLightMatrices[SHADOW_CASCADE]:unconfigurable;
uniform float directionalLightShadowMapSizes[1]:unconfigurable;
uniform float shadowCascadeClipsNear[SHADOW_CASCADE]:unconfigurable;
uniform float shadowCascadeClipsFar[SHADOW_CASCADE]:unconfigurable;
#else
uniform sampler2D directionalLightShadowMaps[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform mat4 directionalLightMatrices[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform float directionalLightShadowMapSizes[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
#endif
#ifdef POINT_LIGHT_SHADOWMAP_COUNT
uniform samplerCube pointLightShadowMaps[POINT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
uniform bool shadowEnabled : true;
#ifdef PCF_KERNEL_SIZE
uniform vec2 pcfKernel[PCF_KERNEL_SIZE];
#endif
@import clay.plugin.shadow_map_common
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT)
void computeShadowOfSpotLights(vec3 position, inout float shadowContribs[SPOT_LIGHT_COUNT] ) {
float shadowContrib;
for(int _idx_ = 0; _idx_ < SPOT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
shadowContrib = computeShadowContrib(
spotLightShadowMaps[_idx_], spotLightMatrices[_idx_], position,
spotLightShadowMapSizes[_idx_]
);
shadowContribs[_idx_] = shadowContrib;
}}
for(int _idx_ = SPOT_LIGHT_SHADOWMAP_COUNT; _idx_ < SPOT_LIGHT_COUNT; _idx_++){{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
#ifdef SHADOW_CASCADE
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
float depth = (2.0 * gl_FragCoord.z - gl_DepthRange.near - gl_DepthRange.far)
/ (gl_DepthRange.far - gl_DepthRange.near);
float shadowContrib;
shadowContribs[0] = 1.0;
for (int _idx_ = 0; _idx_ < SHADOW_CASCADE; _idx_++) {{
if (
depth >= 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(te,X,D){"use strict";var W=D(7),y=D(5),L=D(6),b=D(10),s=D(156),T=D(162),c=D(164),u=D(166),f=D(2),i=D(167),o=D(169),d=D(9),p=D(170),m=D(171),h=D(172),v=D(173),r=D(174),a=D(175),g=D(176),E=D(177),S=D(178),w=D(179),R=D(180),O=D(181);W.a.import(m.a),W.a.import(h.a),W.a.import(v.a),W.a.import(r.a),W.a.import(a.a),W.a.import(g.a),W.a.import(E.a),W.a.import(S.a),W.a.import(w.a),W.a.import(R.a),W.a.import(O.a);var G={color:{parameters:{width:function(F){return F.getWidth()},height:function(F){return F.getHeight()}}}},B=["composite","FXAA"];function P(){this._sourceTexture=new y.a({type:L.a.HALF_FLOAT}),this._depthTexture=new y.a({format:L.a.DEPTH_COMPONENT,type:L.a.UNSIGNED_INT}),this._framebuffer=new b.a,this._framebuffer.attach(this._sourceTexture),this._framebuffer.attach(this._depthTexture,b.a.DEPTH_ATTACHMENT),this._normalPass=new i.a,this._compositor=Object(s.a)(p.a);var F=this._compositor.getNodeByName("source");F.texture=this._sourceTexture;var K=this._compositor.getNodeByName("coc");this._sourceNode=F,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(V){return this._compositor.getNodeByName(V)},this),this._dofBlurKernel=0,this._dofBlurKernelSize=new Float32Array(0),this._finalNodesChain=B.map(function(V){return this._compositor.getNodeByName(V)},this);var U={normalTexture:this._normalPass.getNormalTexture(),depthTexture:this._normalPass.getDepthTexture()};this._ssaoPass=new T.a(U),this._ssrPass=new c.a(U),this._edgePass=new o.a(U)}P.prototype.resize=function(V,C,U){U=U||1;var V=V*U,C=C*U,M=this._sourceTexture,z=this._depthTexture;M.width=V,M.height=C,z.width=V,z.height=C},P.prototype._ifRenderNormalPass=function(){return this._enableSSAO||this._enableEdge||this._enableSSR},P.prototype._getPrevNode=function(F){for(var K=B.indexOf(F.name)-1,U=this._finalNodesChain[K];U&&!this._compositor.getNodeByName(U.name);)K-=1,U=this._finalNodesChain[K];return U},P.prototype._getNextNode=function(F){for(var K=B.indexOf(F.name)+1,U=this._finalNodesChain[K];U&&!this._compositor.getNodeByName(U.name);)K+=1,U=this._finalNodesChain[K];return U},P.prototype._addChainNode=function(F){var K=this._getPrevNode(F),U=this._getNextNode(F);K&&(K.outputs=G,F.inputs.texture=K.name,U?(F.outputs=G,U.inputs.texture=F.name):F.outputs=null,this._compositor.addNode(F))},P.prototype._removeChainNode=function(F){var K=this._getPrevNode(F),U=this._getNextNode(F);K&&(U?(K.outputs=G,U.inputs.texture=K.name):K.outputs=null,this._compositor.removeNode(F))},P.prototype.updateNormal=function(F,K,U,V){this._ifRenderNormalPass()&&this._normalPass.update(F,K,U)},P.prototype.updateSSAO=function(F,K,U,V){this._ssaoPass.update(F,U,V)},P.prototype.enableSSAO=function(){this._enableSSAO=!0},P.prototype.disableSSAO=function(){this._enableSSAO=!1},P.prototype.enableSSR=function(){this._enableSSR=!0},P.prototype.disableSSR=function(){this._enableSSR=!1},P.prototype.getSSAOTexture=function(F,K,U,V){return this._ssaoPass.getTargetTexture()},P.prototype.getSourceFrameBuffer=function(){return this._framebuffer},P.prototype.getSourceTexture=function(){return this._sourceTexture},P.prototype.disableFXAA=function(){this._removeChainNode(this._fxaaNode)},P.prototype.enableFXAA=function(){this._addChainNode(this._fxaaNode)},P.prototype.enableBloom=function(){this._compositeNode.inputs.bloom="bloom_composite",this._compositor.dirty()},P.prototype.disableBloom=function(){this._compositeNode.inputs.bloom=null,this._compositor.dirty()},P.prototype.enableDOF=function(){this._compositeNode.inputs.texture="dof_composite",this._compositor.dirty()},P.prototype.disableDOF=function(){this._compositeNode.inputs.texture="source",this._compositor.dirty()},P.prototype.enableColorCorrection=function(){this._compositeNode.define("COLOR_CORRECTION"),this._enableColorCorrection=!0},P.prototype.disableColorCorrection=function(){this._compositeNode.undefine("COLOR_CORRECTION"),this._enableColorCorrection=!1},P.prototype.enableEdge=function(){this._enableEdge=!0},P.prototype.disableEdge=function(){this._enableEdge=!1},P.prototype.setBloomIntensity=function(F){this._compositeNode.setParameter("bloomIntensity",F)},P.prototype.setSSAOParameter=function(F,K){switch(F){case"quality":var U={low:6,medium:12,high:32,ultra:62}[K]||12;this._ssaoPass.setParameter("kernelSize",U);break;case"radius":this._ssaoPass.setParameter(F,K),this._ssaoPass.setParameter("bias",K/200);break;case"intensity":this._ssaoPass.setParameter(F,K);break;default:console.warn("Unkown SSAO parameter "+F)}},P.prototype.setDOFParameter=function(F,K){switch(F){case"focalDistance":case"focalRange":case"fstop":this._cocNode.setParameter(F,K);break;case"blurRadius":for(var U=0;U<this._dofBlurNodes.length;U++)this._dofBlurNodes[U].setParameter("blurRadius",K);break;case"quality":var V={low:4,medium:8,high:16,ultra:32}[K]||8;this._dofBlurKernelSize=V;for(var U=0;U<this._dofBlurNodes.length;U++)this._dofBlurNodes[U].pass.material.define("POISSON_KERNEL_SIZE",V);this._dofBlurKernel=new Float32Array(V*2);break;default:console.warn("Unkown DOF parameter "+F)}},P.prototype.setSSRParameter=function(F,K){switch(F){case"quality":var U={low:10,medium:20,high:40,ultra:80}[K]||20,V={low:32,medium:16,high:8,ultra:4}[K]||16;this._ssrPass.setParameter("maxIteration",U),this._ssrPass.setParameter("pixelStride",V);break;case"maxRoughness":this._ssrPass.setParameter("minGlossiness",Math.max(Math.min(1-K,1),0));break;default:console.warn("Unkown SSR parameter "+F)}},P.prototype.setEdgeColor=function(F){var K=f.a.parseColor(F);this._edgePass.setParameter("edgeColor",K)},P.prototype.setExposure=function(F){this._compositeNode.setParameter("exposure",Math.pow(2,F))},P.prototype.setColorLookupTexture=function(F,K){this._compositeNode.pass.material.setTextureImage("lut",this._enableColorCorrection?F:"none",K,{minFilter:f.a.Texture.NEAREST,magFilter:f.a.Texture.NEAREST,flipY:!1})},P.prototype.setColorCorrection=function(F,K){this._compositeNode.setParameter(F,K)},P.prototype.composite=function(F,K,U,V){var C=this._sourceTexture,M=C;this._enableEdge&&(this._edgePass.update(F,K,C,V),C=M=this._edgePass.getTargetTexture()),this._enableSSR&&(this._ssrPass.update(F,K,C,V),M=this._ssrPass.getTargetTexture(),this._ssrPass.setSSAOTexture(this._enableSSAO?this._ssaoPass.getTargetTexture():null)),this._sourceNode.texture=M,this._cocNode.setParameter("depth",this._depthTexture);for(var z=this._dofBlurKernel,$=this._dofBlurKernelSize,q=Math.floor(u.a.length/2/$),se=V%q,ue=0;ue<$*2;ue++)z[ue]=u.a[ue+se*$*2];for(var ue=0;ue<this._dofBlurNodes.length;ue++)this._dofBlurNodes[ue].setParameter("percent",V/30),this._dofBlurNodes[ue].setParameter("poissonKernel",z);this._cocNode.setParameter("zNear",K.near),this._cocNode.setParameter("zFar",K.far),this._compositor.render(F,U)},P.prototype.dispose=function(F){this._sourceTexture.dispose(F),this._depthTexture.dispose(F),this._framebuffer.dispose(F),this._compositor.dispose(F),this._normalPass.dispose(F),this._ssaoPass.dispose(F)},X.a=P},function(te,X,D){"use strict";var W=D(21),y=D(157),L=D(159),b=D(160),s=D(161),T=D(7),c=D(6),u=D(5),f=D(25),i=/^#source\((.*?)\)/;function o(a,g){var E=new y.a;g=g||{};var S={textures:{},parameters:{}},w=function(G,B){for(var P=0;P<a.nodes.length;P++){var F=a.nodes[P],K=d(F,S,g);K&&E.addNode(K)}};for(var R in a.parameters){var O=a.parameters[R];S.parameters[R]=p(O)}return m(a,S,g,function(G){S.textures=G,w()}),E}function d(a,g,E){var S=a.type||"filter",w,R,O;if(S==="filter"){var G=a.shader.trim(),B=i.exec(G);if(B?w=T.a.source(B[1].trim()):G.charAt(0)==="#"&&(w=g.shaders[G.substr(1)]),w||(w=G),!w)return}if(a.inputs){R={};for(var P in a.inputs)typeof a.inputs[P]=="string"?R[P]=a.inputs[P]:R[P]={node:a.inputs[P].node,pin:a.inputs[P].pin}}if(a.outputs){O={};for(var P in a.outputs){var F=a.outputs[P];O[P]={},F.attachment!=null&&(O[P].attachment=F.attachment),F.keepLastFrame!=null&&(O[P].keepLastFrame=F.keepLastFrame),F.outputLastFrame!=null&&(O[P].outputLastFrame=F.outputLastFrame),F.parameters&&(O[P].parameters=p(F.parameters))}}var K;if(S==="scene"?K=new L.a({name:a.name,scene:E.scene,camera:E.camera,outputs:O}):S==="texture"?K=new b.a({name:a.name,outputs:O}):K=new s.a({name:a.name,shader:w,inputs:R,outputs:O}),K){if(a.parameters)for(var P in a.parameters){var U=a.parameters[P];typeof U=="string"&&(U=U.trim(),U.charAt(0)==="#"?U=g.textures[U.substr(1)]:K.on("beforerender",h(P,r(U)))),K.setParameter(P,U)}if(a.defines&&K.pass)for(var P in a.defines){var U=a.defines[P];K.pass.material.define("fragment",P,U)}}return K}function p(a){var g={};return a&&(["type","minFilter","magFilter","wrapS","wrapT","flipY","useMipmap"].forEach(function(E){var S=a[E];S!=null&&(typeof S=="string"&&(S=c.a[S]),g[E]=S)}),["width","height"].forEach(function(E){if(a[E]!=null){var S=a[E];typeof S=="string"?(S=S.trim(),g[E]=v(E,r(S))):g[E]=S}}),a.useMipmap!=null&&(g.useMipmap=a.useMipmap)),g}function m(a,g,E,S){if(!a.textures){S({});return}var w={},R=0,O=!1,G=E.textureRootPath;W.a.each(a.textures,function(B,P){var F,K=B.path,U=p(B.parameters);if(Array.isArray(K)&&K.length===6)G&&(K=K.map(function(V){return W.a.relative2absolute(V,G)})),F=new f.a(U);else if(typeof K=="string")G&&(K=W.a.relative2absolute(K,G)),F=new u.a(U);else return;F.load(K),R++,F.once("success",function(){w[P]=F,R--,R===0&&(S(w),O=!0)})}),R===0&&!O&&S(w)}function h(a,g){return function(E){var S=E.getDevicePixelRatio(),w=E.getWidth(),R=E.getHeight(),O=g(w,R,S);this.setParameter(a,O)}}function v(a,g){return function(E){var S=E.getDevicePixelRatio(),w=E.getWidth(),R=E.getHeight();return g(w,R,S)}}function r(a){var g=/^expr\((.*)\)$/.exec(a);if(g)try{var E=new Function("width","height","dpr","return "+g[1]);return E(1,1),E}catch(S){throw new Error("Invalid expression.")}}X.a=o},function(te,X,D){"use strict";var W=D(158),y=D(79),L=D(10),b=W.a.extend(function(){return{_outputs:[],_texturePool:new y.a,_frameBuffer:new L.a({depthBuffer:!1})}},{addNode:function(s){W.a.prototype.addNode.call(this,s),s._compositor=this},render:function(s,T){if(this._dirty){this.update(),this._dirty=!1,this._outputs.length=0;for(var c=0;c<this.nodes.length;c++)this.nodes[c].outputs||this._outputs.push(this.nodes[c])}for(var c=0;c<this.nodes.length;c++)this.nodes[c].beforeFrame();for(var c=0;c<this._outputs.length;c++)this._outputs[c].updateReference();for(var c=0;c<this._outputs.length;c++)this._outputs[c].render(s,T);for(var c=0;c<this.nodes.length;c++)this.nodes[c].afterFrame()},allocateTexture:function(s){return this._texturePool.get(s)},releaseTexture:function(s){this._texturePool.put(s)},getFrameBuffer:function(){return this._frameBuffer},dispose:function(s){this._texturePool.clear(s)}});X.a=b},function(te,X,D){"use strict";var W=D(8),y=D(42),L=W.a.extend(function(){return{nodes:[]}},{dirty:function(){this._dirty=!0},addNode:function(b){this.nodes.indexOf(b)>=0||(this.nodes.push(b),this._dirty=!0)},removeNode:function(b){typeof b=="string"&&(b=this.getNodeByName(b));var s=this.nodes.indexOf(b);s>=0&&(this.nodes.splice(s,1),this._dirty=!0)},getNodeByName:function(b){for(var s=0;s<this.nodes.length;s++)if(this.nodes[s].name===b)return this.nodes[s]},update:function(){for(var b=0;b<this.nodes.length;b++)this.nodes[b].clear();for(var b=0;b<this.nodes.length;b++){var s=this.nodes[b];if(s.inputs){for(var T in s.inputs)if(s.inputs[T]){if(s.pass&&!s.pass.material.isUniformEnabled(T)){console.warn("Pin "+s.name+"."+T+" not used.");continue}var c=s.inputs[T],u=this.findPin(c);u?s.link(T,u.node,u.pin):console.warn(typeof c=="string"?"Node "+c+" not exist":"Pin of "+c.node+"."+c.pin+" not exist")}}}},findPin:function(b){var s;if((typeof b=="string"||b instanceof y.a)&&(b={node:b}),typeof b.node=="string")for(var T=0;T<this.nodes.length;T++){var c=this.nodes[T];c.name===b.node&&(s=c)}else s=b.node;if(s){var u=b.pin;if(u||s.outputs&&(u=Object.keys(s.outputs)[0]),s.outputs[u])return{node:s,pin:u}}}});X.a=L},function(te,X,D){"use strict";var W=D(42),y=D(11),L=D(10),b=W.a.extend({name:"scene",scene:null,camera:null,autoUpdateScene:!0,preZ:!1},function(){this.frameBuffer=new L.a},{render:function(s){this._rendering=!0;var T=s.gl;this.trigger("beforerender");var c;if(!this.outputs)c=s.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ);else{var u=this.frameBuffer;for(var f in this.outputs){var i=this.updateParameter(f,s),o=this.outputs[f],d=this._compositor.allocateTexture(i);this._outputTextures[f]=d;var p=o.attachment||T.COLOR_ATTACHMENT0;typeof p=="string"&&(p=T[p]),u.attach(d,p)}u.bind(s);var m=s.getGLExtension("EXT_draw_buffers");if(m){var h=[];for(var p in this.outputs)p=parseInt(p),p>=T.COLOR_ATTACHMENT0&&p<=T.COLOR_ATTACHMENT0+8&&h.push(p);m.drawBuffersEXT(h)}s.saveClear(),s.clearBit=y.a.DEPTH_BUFFER_BIT|y.a.COLOR_BUFFER_BIT,c=s.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ),s.restoreClear(),u.unbind(s)}this.trigger("afterrender",c),this._rendering=!1,this._rendered=!0}});X.a=b},function(te,X,D){"use strict";var W=D(42),y=W.a.extend(function(){return{texture:null,outputs:{color:{}}}},function(){},{getOutput:function(L,b){return this.texture},beforeFrame:function(){},afterFrame:function(){}});X.a=y},function(te,X,D){"use strict";var W=D(14),y=D(42),L=y.a.extend(function(){return{name:"",inputs:{},outputs:null,shader:"",inputLinks:{},outputLinks:{},pass:null,_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},function(){var b=new W.a({fragment:this.shader});this.pass=b},{render:function(b,s){this.trigger("beforerender",b),this._rendering=!0;var T=b.gl;for(var c in this.inputLinks){var u=this.inputLinks[c],f=u.node.getOutput(b,u.pin);this.pass.setUniform(c,f)}if(!this.outputs)this.pass.outputs=null,this._compositor.getFrameBuffer().unbind(b),this.pass.render(b,s);else{this.pass.outputs={};var i={};for(var o in this.outputs){var d=this.updateParameter(o,b);isNaN(d.width)&&this.updateParameter(o,b);var p=this.outputs[o],m=this._compositor.allocateTexture(d);this._outputTextures[o]=m;var h=p.attachment||T.COLOR_ATTACHMENT0;typeof h=="string"&&(h=T[h]),i[h]=m}this._compositor.getFrameBuffer().bind(b);for(var h in i)this._compositor.getFrameBuffer().attach(i[h],h);this.pass.render(b),this._compositor.getFrameBuffer().updateMipmap(b.gl)}for(var c in this.inputLinks){var u=this.inputLinks[c];u.node.removeReference(u.pin)}this._rendering=!1,this._rendered=!0,this.trigger("afterrender",b)},updateParameter:function(b,s){var T=this.outputs[b],c=T.parameters,u=T._parametersCopy;if(u||(u=T._parametersCopy={}),c)for(var f in c)f!=="width"&&f!=="height"&&(u[f]=c[f]);var i,o;return c.width instanceof Function?i=c.width.call(this,s):i=c.width,c.height instanceof Function?o=c.height.call(this,s):o=c.height,(u.width!==i||u.height!==o)&&this._outputTextures[b]&&this._outputTextures[b].dispose(s),u.width=i,u.height=o,u},setParameter:function(b,s){this.pass.setUniform(b,s)},getParameter:function(b){return this.pass.getUniform(b)},setParameters:function(b){for(var s in b)this.setParameter(s,b[s])},define:function(b,s){this.pass.material.define("fragment",b,s)},undefine:function(b){this.pass.material.undefine("fragment",b)},removeReference:function(b){if(this._outputReferences[b]--,this._outputReferences[b]===0){var s=this.outputs[b];s.keepLastFrame?(this._prevOutputTextures[b]&&this._compositor.releaseTexture(this._prevOutputTextures[b]),this._prevOutputTextures[b]=this._outputTextures[b]):this._compositor.releaseTexture(this._outputTextures[b])}},clear:function(){y.a.prototype.clear.call(this),this.pass.material.disableTexturesAll()}});X.a=L},function(te,X,D){"use strict";var W=D(9),y=D(4),L=D(5),b=D(6),s=D(14),T=D(7),c=D(10),u=D(43),f=D(163);T.a.import(f.a);function i(m){for(var h=new Uint8Array(m*m*4),v=0,r=new y.a,a=0;a<m;a++)for(var g=0;g<m;g++)r.set(Math.random()*2-1,Math.random()*2-1,0).normalize(),h[v++]=(r.x*.5+.5)*255,h[v++]=(r.y*.5+.5)*255,h[v++]=0,h[v++]=255;return h}function o(m){return new L.a({pixels:i(m),wrapS:b.a.REPEAT,wrapT:b.a.REPEAT,width:m,height:m})}function d(m,h,v){var r=new Float32Array(m*3);h=h||0;for(var a=0;a<m;a++){var g=Object(u.a)(a+h,2)*(v?1:2)*Math.PI,E=Object(u.a)(a+h,3)*Math.PI,S=Math.random(),w=Math.cos(g)*Math.sin(E)*S,R=Math.cos(E)*S,O=Math.sin(g)*Math.sin(E)*S;r[a*3]=w,r[a*3+1]=R,r[a*3+2]=O}return r}function p(m){m=m||{},this._ssaoPass=new s.a({fragment:T.a.source("ecgl.ssao.estimate")}),this._blurPass=new s.a({fragment:T.a.source("ecgl.ssao.blur")}),this._framebuffer=new c.a({depthBuffer:!1}),this._ssaoTexture=new L.a,this._blurTexture=new L.a,this._blurTexture2=new L.a,this._depthTex=m.depthTexture,this._normalTex=m.normalTexture,this.setNoiseSize(4),this.setKernelSize(m.kernelSize||12),m.radius!=null&&this.setParameter("radius",m.radius),m.power!=null&&this.setParameter("power",m.power),this._normalTex||(this._ssaoPass.material.disableTexture("normalTex"),this._blurPass.material.disableTexture("normalTex")),this._depthTex||this._blurPass.material.disableTexture("depthTex"),this._blurPass.material.setUniform("normalTex",this._normalTex),this._blurPass.material.setUniform("depthTex",this._depthTex)}p.prototype.setDepthTexture=function(m){this._depthTex=m},p.prototype.setNormalTexture=function(m){this._normalTex=m,this._ssaoPass.material[m?"enableTexture":"disableTexture"]("normalTex"),this.setKernelSize(this._kernelSize)},p.prototype.update=function(m,h,v){var r=m.getWidth(),a=m.getHeight(),g=this._ssaoPass,E=this._blurPass;g.setUniform("kernel",this._kernels[v%this._kernels.length]),g.setUniform("depthTex",this._depthTex),this._normalTex!=null&&g.setUniform("normalTex",this._normalTex),g.setUniform("depthTexSize",[this._depthTex.width,this._depthTex.height]);var S=new W.a;W.a.transpose(S,h.worldTransform),g.setUniform("projection",h.projectionMatrix.array),g.setUniform("projectionInv",h.invProjectionMatrix.array),g.setUniform("viewInverseTranspose",S.array);var w=this._ssaoTexture,R=this._blurTexture,O=this._blurTexture2;w.width=r/2,w.height=a/2,R.width=r,R.height=a,O.width=r,O.height=a,this._framebuffer.attach(w),this._framebuffer.bind(m),m.gl.clearColor(1,1,1,1),m.gl.clear(m.gl.COLOR_BUFFER_BIT),g.render(m),E.setUniform("textureSize",[r/2,a/2]),E.setUniform("projection",h.projectionMatrix.array),this._framebuffer.attach(R),E.setUniform("direction",0),E.setUniform("ssaoTexture",w),E.render(m),this._framebuffer.attach(O),E.setUniform("textureSize",[r,a]),E.setUniform("direction",1),E.setUniform("ssaoTexture",R),E.render(m),this._framebuffer.unbind(m);var G=m.clearColor;m.gl.clearColor(G[0],G[1],G[2],G[3])},p.prototype.getTargetTexture=function(){return this._blurTexture2},p.prototype.setParameter=function(m,h){m==="noiseTexSize"?this.setNoiseSize(h):m==="kernelSize"?this.setKernelSize(h):m==="intensity"?this._ssaoPass.material.set("intensity",h):this._ssaoPass.setUniform(m,h)},p.prototype.setKernelSize=function(m){this._kernelSize=m,this._ssaoPass.material.define("fragment","KERNEL_SIZE",m),this._kernels=this._kernels||[];for(var h=0;h<30;h++)this._kernels[h]=d(m,h*m,!!this._normalTex)},p.prototype.setNoiseSize=function(m){var h=this._ssaoPass.getUniform("noiseTex");h?(h.data=i(m),h.width=h.height=m,h.dirty()):(h=o(m),this._ssaoPass.setUniform("noiseTex",o(m))),this._ssaoPass.setUniform("noiseTexSize",[m,m])},p.prototype.dispose=function(m){this._blurTexture.dispose(m),this._ssaoTexture.dispose(m),this._blurTexture2.dispose(m)},X.a=p},function(te,X,D){"use strict";X.a=`@export ecgl.ssao.estimate
uniform sampler2D depthTex;
uniform sampler2D normalTex;
uniform sampler2D noiseTex;
uniform vec2 depthTexSize;
uniform vec2 noiseTexSize;
uniform mat4 projection;
uniform mat4 projectionInv;
uniform mat4 viewInverseTranspose;
uniform vec3 kernel[KERNEL_SIZE];
uniform float radius : 1;
uniform float power : 1;
uniform float bias: 1e-2;
uniform float intensity: 1.0;
varying vec2 v_Texcoord;
float ssaoEstimator(in vec3 originPos, in mat3 kernelBasis) {
float occlusion = 0.0;
for (int i = 0; i < KERNEL_SIZE; i++) {
vec3 samplePos = kernel[i];
#ifdef NORMALTEX_ENABLED
samplePos = kernelBasis * samplePos;
#endif
samplePos = samplePos * radius + originPos;
vec4 texCoord = projection * vec4(samplePos, 1.0);
texCoord.xy /= texCoord.w;
vec4 depthTexel = texture2D(depthTex, texCoord.xy * 0.5 + 0.5);
float sampleDepth = depthTexel.r * 2.0 - 1.0;
if (projection[3][3] == 0.0) {
sampleDepth = projection[3][2] / (sampleDepth * projection[2][3] - projection[2][2]);
}
else {
sampleDepth = (sampleDepth - projection[3][2]) / projection[2][2];
}
float rangeCheck = smoothstep(0.0, 1.0, radius / abs(originPos.z - sampleDepth));
occlusion += rangeCheck * step(samplePos.z, sampleDepth - bias);
}
#ifdef NORMALTEX_ENABLED
occlusion = 1.0 - occlusion / float(KERNEL_SIZE);
#else
occlusion = 1.0 - clamp((occlusion / float(KERNEL_SIZE) - 0.6) * 2.5, 0.0, 1.0);
#endif
return pow(occlusion, power);
}
void main()
{
vec4 depthTexel = texture2D(depthTex, v_Texcoord);
#ifdef NORMALTEX_ENABLED
vec4 tex = texture2D(normalTex, v_Texcoord);
if (dot(tex.rgb, tex.rgb) == 0.0) {
gl_FragColor = vec4(1.0);
return;
}
vec3 N = tex.rgb * 2.0 - 1.0;
N = (viewInverseTranspose * vec4(N, 0.0)).xyz;
vec2 noiseTexCoord = depthTexSize / vec2(noiseTexSize) * v_Texcoord;
vec3 rvec = texture2D(noiseTex, noiseTexCoord).rgb * 2.0 - 1.0;
vec3 T = normalize(rvec - N * dot(rvec, N));
vec3 BT = normalize(cross(N, T));
mat3 kernelBasis = mat3(T, BT, N);
#else
if (depthTexel.r > 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(te,X,D){"use strict";var W=D(9),y=D(4),L=D(5),b=D(6),s=D(14),T=D(7),c=D(10),u=D(43),f=D(165);T.a.import(f.a);function i(o){o=o||{},this._ssrPass=new s.a({fragment:T.a.source("ecgl.ssr.main"),clearColor:[0,0,0,0]}),this._blurPass1=new s.a({fragment:T.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._blurPass2=new s.a({fragment:T.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._ssrPass.setUniform("gBufferTexture1",o.normalTexture),this._ssrPass.setUniform("gBufferTexture2",o.depthTexture),this._blurPass1.setUniform("gBufferTexture1",o.normalTexture),this._blurPass1.setUniform("gBufferTexture2",o.depthTexture),this._blurPass2.setUniform("gBufferTexture1",o.normalTexture),this._blurPass2.setUniform("gBufferTexture2",o.depthTexture),this._blurPass2.material.define("fragment","VERTICAL"),this._blurPass2.material.define("fragment","BLEND"),this._texture1=new L.a({type:b.a.HALF_FLOAT}),this._texture2=new L.a({type:b.a.HALF_FLOAT}),this._texture3=new L.a({type:b.a.HALF_FLOAT}),this._frameBuffer=new c.a({depthBuffer:!1})}i.prototype.update=function(o,d,p,m){var h=o.getWidth(),v=o.getHeight(),r=o.getDevicePixelRatio(),a=this._texture1,g=this._texture2,E=this._texture3;g.width=h/2,g.height=v/2,a.width=h,a.height=v,E.width=h*r,E.height=v*r;var S=this._frameBuffer,w=this._ssrPass,R=this._blurPass1,O=this._blurPass2,G=new W.a;W.a.transpose(G,d.worldTransform),w.setUniform("sourceTexture",p),w.setUniform("projection",d.projectionMatrix.array),w.setUniform("projectionInv",d.invProjectionMatrix.array),w.setUniform("viewInverseTranspose",G.array),w.setUniform("nearZ",d.near),w.setUniform("jitterOffset",m/30),R.setUniform("textureSize",[h/2,v/2]),O.setUniform("textureSize",[h,v]),O.setUniform("sourceTexture",p),R.setUniform("projection",d.projectionMatrix.array),O.setUniform("projection",d.projectionMatrix.array),S.attach(a),S.bind(o),w.render(o),S.attach(g),R.setUniform("texture",a),R.render(o),S.attach(E),O.setUniform("texture",g),O.render(o),S.unbind(o)},i.prototype.getTargetTexture=function(){return this._texture3},i.prototype.setParameter=function(o,d){o==="maxIteration"?this._ssrPass.material.define("fragment","MAX_ITERATION",d):this._ssrPass.setUniform(o,d)},i.prototype.setSSAOTexture=function(o){var d=this._blurPass2;o?(d.material.enableTexture("ssaoTex"),d.material.set("ssaoTex",o)):d.material.disableTexture("ssaoTex")},i.prototype.dispose=function(o){this._texture1.dispose(o),this._texture2.dispose(o),this._texture3.dispose(o),this._frameBuffer.dispose(o)},X.a=i},function(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";var W=D(5),y=D(6),L=D(7),b=D(10),s=D(17),T=D(14),c=D(54),u=D(168);L.a.import(u.a);function f(d,p,m,h,v){var r=d.gl;p.setUniform(r,"1i",m,v),r.activeTexture(r.TEXTURE0+v),h.isRenderable()?h.bind(d):h.unbind(d)}function i(d,p,m,h,v){var r,a,g,E,S=d.gl;return function(w,R,O){if(!(E&&E.material===w.material)){var G=w.material,B=w.__program,P=G.get("roughness");P==null&&(P=1);var F=G.get("normalMap")||p,K=G.get("roughnessMap"),U=G.get("bumpMap"),V=G.get("uvRepeat"),C=G.get("uvOffset"),M=G.get("detailUvRepeat"),z=G.get("detailUvOffset"),$=!!U&&G.isTextureEnabled("bumpMap"),q=!!K&&G.isTextureEnabled("roughnessMap"),se=G.isDefined("fragment","DOUBLE_SIDED");U=U||m,K=K||h,O!==R?(R.set("normalMap",F),R.set("bumpMap",U),R.set("roughnessMap",K),R.set("useBumpMap",$),R.set("useRoughnessMap",q),R.set("doubleSide",se),V!=null&&R.set("uvRepeat",V),C!=null&&R.set("uvOffset",C),M!=null&&R.set("detailUvRepeat",M),z!=null&&R.set("detailUvOffset",z),R.set("roughness",P)):(B.setUniform(S,"1f","roughness",P),r!==F&&f(d,B,"normalMap",F,0),a!==U&&U&&f(d,B,"bumpMap",U,1),g!==K&&K&&f(d,B,"roughnessMap",K,2),V!=null&&B.setUniform(S,"2f","uvRepeat",V),C!=null&&B.setUniform(S,"2f","uvOffset",C),M!=null&&B.setUniform(S,"2f","detailUvRepeat",M),z!=null&&B.setUniform(S,"2f","detailUvOffset",z),B.setUniform(S,"1i","useBumpMap",+$),B.setUniform(S,"1i","useRoughnessMap",+q),B.setUniform(S,"1i","doubleSide",+se)),r=F,a=U,g=K,E=w}}}function o(d){d=d||{},this._depthTex=new W.a({format:y.a.DEPTH_COMPONENT,type:y.a.UNSIGNED_INT}),this._normalTex=new W.a({type:y.a.HALF_FLOAT}),this._framebuffer=new b.a,this._framebuffer.attach(this._normalTex),this._framebuffer.attach(this._depthTex,b.a.DEPTH_ATTACHMENT),this._normalMaterial=new s.a({shader:new L.a(L.a.source("ecgl.normal.vertex"),L.a.source("ecgl.normal.fragment"))}),this._normalMaterial.enableTexture(["normalMap","bumpMap","roughnessMap"]),this._defaultNormalMap=c.a.createBlank("#000"),this._defaultBumpMap=c.a.createBlank("#000"),this._defaultRoughessMap=c.a.createBlank("#000"),this._debugPass=new T.a({fragment:L.a.source("clay.compositor.output")}),this._debugPass.setUniform("texture",this._normalTex),this._debugPass.material.undefine("fragment","OUTPUT_ALPHA")}o.prototype.getDepthTexture=function(){return this._depthTex},o.prototype.getNormalTexture=function(){return this._normalTex},o.prototype.update=function(d,p,m){var h=d.getWidth(),v=d.getHeight(),r=this._depthTex,a=this._normalTex,g=this._normalMaterial;r.width=h,r.height=v,a.width=h,a.height=v;var E=p.opaqueList;this._framebuffer.bind(d),d.gl.clearColor(0,0,0,0),d.gl.clear(d.gl.COLOR_BUFFER_BIT|d.gl.DEPTH_BUFFER_BIT),d.gl.disable(d.gl.BLEND),d.renderPass(E,m,{getMaterial:function(){return g},ifRender:function(S){return S.renderNormal},beforeRender:i(d,this._defaultNormalMap,this._defaultBumpMap,this._defaultRoughessMap,this._normalMaterial),sort:d.opaqueSortCompare}),this._framebuffer.unbind(d)},o.prototype.renderDebug=function(d){this._debugPass.render(d)},o.prototype.dispose=function(d){this._depthTex.dispose(d),this._normalTex.dispose(d)},X.a=o},function(te,X,D){"use strict";X.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(te,X,D){"use strict";var W=D(9),y=D(4),L=D(5),b=D(6),s=D(14),T=D(7),c=D(10);function u(f){f=f||{},this._edgePass=new s.a({fragment:T.a.source("ecgl.edge")}),this._edgePass.setUniform("normalTexture",f.normalTexture),this._edgePass.setUniform("depthTexture",f.depthTexture),this._targetTexture=new L.a({type:b.a.HALF_FLOAT}),this._frameBuffer=new c.a,this._frameBuffer.attach(this._targetTexture)}u.prototype.update=function(f,i,o,d){var p=f.getWidth(),m=f.getHeight(),h=this._targetTexture;h.width=p,h.height=m;var v=this._frameBuffer;v.bind(f),this._edgePass.setUniform("projectionInv",i.invProjectionMatrix.array),this._edgePass.setUniform("textureSize",[p,m]),this._edgePass.setUniform("texture",o),this._edgePass.render(f),v.unbind(f)},u.prototype.getTargetTexture=function(){return this._targetTexture},u.prototype.setParameter=function(f,i){this._edgePass.setUniform(f,i)},u.prototype.dispose=function(f){this._targetTexture.dispose(f),this._frameBuffer.dispose(f)},X.a=u},function(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";X.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(te,X,D){"use strict";var W=D(43),y=D(14),L=D(10),b=D(5),s=D(7),T=D(9);function c(u){for(var f=[],i=0;i<30;i++)f.push([Object(W.a)(i,2),Object(W.a)(i,3)]);this._haltonSequence=f,this._frame=0,this._sourceTex=new b.a,this._sourceFb=new L.a,this._sourceFb.attach(this._sourceTex),this._prevFrameTex=new b.a,this._outputTex=new b.a;var o=this._blendPass=new y.a({fragment:s.a.source("clay.compositor.blend")});o.material.disableTexturesAll(),o.material.enableTexture(["texture1","texture2"]),this._blendFb=new L.a({depthBuffer:!1}),this._outputPass=new y.a({fragment:s.a.source("clay.compositor.output"),blendWithPrevious:!0}),this._outputPass.material.define("fragment","OUTPUT_ALPHA"),this._outputPass.material.blend=function(d){d.blendEquationSeparate(d.FUNC_ADD,d.FUNC_ADD),d.blendFuncSeparate(d.ONE,d.ONE_MINUS_SRC_ALPHA,d.ONE,d.ONE_MINUS_SRC_ALPHA)}}c.prototype={constructor:c,jitterProjection:function(u,f){var i=u.viewport,o=i.devicePixelRatio||u.getDevicePixelRatio(),d=i.width*o,p=i.height*o,m=this._haltonSequence[this._frame%this._haltonSequence.length],h=new T.a;h.array[12]=(m[0]*2-1)/d,h.array[13]=(m[1]*2-1)/p,T.a.mul(f.projectionMatrix,h,f.projectionMatrix),T.a.invert(f.invProjectionMatrix,f.projectionMatrix)},resetFrame:function(){this._frame=0},getFrame:function(){return this._frame},getSourceFrameBuffer:function(){return this._sourceFb},getOutputTexture:function(){return this._outputTex},resize:function(u,f){this._prevFrameTex.width=u,this._prevFrameTex.height=f,this._outputTex.width=u,this._outputTex.height=f,this._sourceTex.width=u,this._sourceTex.height=f,this._prevFrameTex.dirty(),this._outputTex.dirty(),this._sourceTex.dirty()},isFinished:function(){return this._frame>=this._haltonSequence.length},render:function(u,f,i){var o=this._blendPass;this._frame===0?(o.setUniform("weight1",0),o.setUniform("weight2",1)):(o.setUniform("weight1",.9),o.setUniform("weight2",.1)),o.setUniform("texture1",this._prevFrameTex),o.setUniform("texture2",f||this._sourceTex),this._blendFb.attach(this._outputTex),this._blendFb.bind(u),o.render(u),this._blendFb.unbind(u),i||(this._outputPass.setUniform("texture",this._outputTex),this._outputPass.render(u));var d=this._prevFrameTex;this._prevFrameTex=this._outputTex,this._outputTex=d,this._frame++},dispose:function(u){this._sourceFb.dispose(u),this._blendFb.dispose(u),this._prevFrameTex.dispose(u),this._outputTex.dispose(u),this._sourceTex.dispose(u),this._outputPass.dispose(u),this._blendPass.dispose(u)}},X.a=c},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(184),b=D(185),s=D(82);y.a.registerAction({type:"geo3DChangeCamera",event:"geo3dcamerachanged",update:"series:updateCamera"},function(T,c){c.eachComponent({mainType:"geo3D",query:T},function(u){u.setView(T)})})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(38),b=D(31),s=D(32),T=D(26),c=D(80),u=y.a.extendComponentModel({type:"geo3D",layoutMode:"box",coordinateSystem:null,optionUpdated:function(){var i=this.option;i.regions=this.getFilledRegions(i.regions,i.map);var o=y.a.helper.completeDimensions(["value"],i.data,{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),d=new y.a.List(o,this);d.initData(i.regions);var p={};d.each(function(m){var h=d.getName(m),v=d.getItemModel(m);p[h]=v}),this._regionModelMap=p,this._data=d},getData:function(){return this._data},getRegionModel:function(i){var o=this.getData().getName(i);return this._regionModelMap[o]||new y.a.Model(null,this)},getRegionPolygonCoords:function(i){var o=this.getData().getName(i),d=this.coordinateSystem.getRegion(o);return d?d.geometries:[]},getFormattedLabel:function(i,o){var d=this._data.getName(i),p=this.getRegionModel(d),m=p.get(o==="normal"?["label","formatter"]:["emphasis","label","formatter"]);m==null&&(m=p.get(["label","formatter"]));var h={name:d};if(typeof m=="function")return h.status=o,m(h);if(typeof m=="string"){var v=h.seriesName;return m.replace("{a}",v!=null?v:"")}else return d},defaultOption:{regions:[]}});y.a.util.merge(u.prototype,c.a),y.a.util.merge(u.prototype,L.a),y.a.util.merge(u.prototype,b.a),y.a.util.merge(u.prototype,s.a),y.a.util.merge(u.prototype,T.a);var f=u},function(te,X,D){"use strict";var W=D(59),y=D(0),L=D.n(y),b=D(2),s=D(39),T=D(34),c=L.a.extendComponentView({type:"geo3D",__ecgl__:!0,init:function(u,f){this._geo3DBuilder=new W.a(f),this.groupGL=new b.a.Node,this._lightRoot=new b.a.Node,this._sceneHelper=new T.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot),this._control=new s.a({zr:f.getZr()}),this._control.init()},render:function(u,f,i){this.groupGL.add(this._geo3DBuilder.rootNode);var o=u.coordinateSystem;if(!(!o||!o.viewGL)){o.viewGL.add(this._lightRoot),u.get("show")?o.viewGL.add(this.groupGL):o.viewGL.remove(this.groupGL);var d=this._control;d.setViewGL(o.viewGL);var p=u.getModel("viewControl");d.setFromViewControlModel(p,0),this._sceneHelper.setScene(o.viewGL.scene),this._sceneHelper.updateLight(u),o.viewGL.setPostEffect(u.getModel("postEffect"),i),o.viewGL.setTemporalSuperSampling(u.getModel("temporalSuperSampling")),this._geo3DBuilder.update(u,f,i,0,u.getData().count());var m=o.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(h){h.material&&h.material[m]("fragment","SRGB_DECODE")}),d.off("update"),d.on("update",function(){i.dispatchAction({type:"geo3DChangeCamera",alpha:d.getAlpha(),beta:d.getBeta(),distance:d.getDistance(),center:d.getCenter(),from:this.uid,geo3DId:u.id})})}},afterRender:function(u,f,i,o){var d=o.renderer;this._sceneHelper.updateAmbientCubemap(d,u,i),this._sceneHelper.updateSkybox(d,u,i)},dispose:function(){this._control.dispose()}})},function(te,X,D){"use strict";X.a=W;function W(U,V,C){C=C||2;var M=V&&V.length,z=M?V[0]*C:U.length,$=y(U,0,z,C,!0),q=[];if(!$)return q;var se,ue,pe,Ee,De,Fe,Ge;if(M&&($=f(U,V,$,C)),U.length>80*C){se=pe=U[0],ue=Ee=U[1];for(var xe=C;xe<z;xe+=C)De=U[xe],Fe=U[xe+1],De<se&&(se=De),Fe<ue&&(ue=Fe),De>pe&&(pe=De),Fe>Ee&&(Ee=Fe);Ge=Math.max(pe-se,Ee-ue)}return b($,q,C,se,ue,Ge),q}function y(U,V,C,M,z){var $,q;if(z===K(U,V,C,M)>0)for($=V;$<C;$+=M)q=B($,U[$],U[$+1],q);else for($=C-M;$>=V;$-=M)q=B($,U[$],U[$+1],q);return q&&E(q,q.next)&&(P(q),q=q.next),q}function L(U,V){if(!U)return U;V||(V=U);var C=U,M;do if(M=!1,!C.steiner&&(E(C,C.next)||g(C.prev,C,C.next)===0)){if(P(C),C=V=C.prev,C===C.next)return null;M=!0}else C=C.next;while(M||C!==V);return V}function b(U,V,C,M,z,$,q){if(U){!q&&$&&p(U,M,z,$);for(var se=U,ue,pe;U.prev!==U.next;){if(ue=U.prev,pe=U.next,$?T(U,M,z,$):s(U)){V.push(ue.i/C),V.push(U.i/C),V.push(pe.i/C),P(U),U=pe.next,se=pe.next;continue}if(U=pe,U===se){q?q===1?(U=c(U,V,C),b(U,V,C,M,z,$,2)):q===2&&u(U,V,C,M,z,$):b(L(U),V,C,M,z,$,1);break}}}}function s(U){var V=U.prev,C=U,M=U.next;if(g(V,C,M)>=0)return!1;for(var z=U.next.next;z!==U.prev;){if(r(V.x,V.y,C.x,C.y,M.x,M.y,z.x,z.y)&&g(z.prev,z,z.next)>=0)return!1;z=z.next}return!0}function T(U,V,C,M){var z=U.prev,$=U,q=U.next;if(g(z,$,q)>=0)return!1;for(var se=z.x<$.x?z.x<q.x?z.x:q.x:$.x<q.x?$.x:q.x,ue=z.y<$.y?z.y<q.y?z.y:q.y:$.y<q.y?$.y:q.y,pe=z.x>$.x?z.x>q.x?z.x:q.x:$.x>q.x?$.x:q.x,Ee=z.y>$.y?z.y>q.y?z.y:q.y:$.y>q.y?$.y:q.y,De=h(se,ue,V,C,M),Fe=h(pe,Ee,V,C,M),Ge=U.nextZ;Ge&&Ge.z<=Fe;){if(Ge!==U.prev&&Ge!==U.next&&r(z.x,z.y,$.x,$.y,q.x,q.y,Ge.x,Ge.y)&&g(Ge.prev,Ge,Ge.next)>=0)return!1;Ge=Ge.nextZ}for(Ge=U.prevZ;Ge&&Ge.z>=De;){if(Ge!==U.prev&&Ge!==U.next&&r(z.x,z.y,$.x,$.y,q.x,q.y,Ge.x,Ge.y)&&g(Ge.prev,Ge,Ge.next)>=0)return!1;Ge=Ge.prevZ}return!0}function c(U,V,C){var M=U;do{var z=M.prev,$=M.next.next;!E(z,$)&&S(z,M,M.next,$)&&R(z,$)&&R($,z)&&(V.push(z.i/C),V.push(M.i/C),V.push($.i/C),P(M),P(M.next),M=U=$),M=M.next}while(M!==U);return M}function u(U,V,C,M,z,$){var q=U;do{for(var se=q.next.next;se!==q.prev;){if(q.i!==se.i&&a(q,se)){var ue=G(q,se);q=L(q,q.next),ue=L(ue,ue.next),b(q,V,C,M,z,$),b(ue,V,C,M,z,$);return}se=se.next}q=q.next}while(q!==U)}function f(U,V,C,M){var z=[],$,q,se,ue,pe;for($=0,q=V.length;$<q;$++)se=V[$]*M,ue=$<q-1?V[$+1]*M:U.length,pe=y(U,se,ue,M,!1),pe===pe.next&&(pe.steiner=!0),z.push(v(pe));for(z.sort(i),$=0;$<z.length;$++)o(z[$],C),C=L(C,C.next);return C}function i(U,V){return U.x-V.x}function o(U,V){if(V=d(U,V),V){var C=G(V,U);L(C,C.next)}}function d(U,V){var C=V,M=U.x,z=U.y,$=-1/0,q;do{if(z<=C.y&&z>=C.next.y&&C.next.y!==C.y){var se=C.x+(z-C.y)*(C.next.x-C.x)/(C.next.y-C.y);if(se<=M&&se>$){if($=se,se===M){if(z===C.y)return C;if(z===C.next.y)return C.next}q=C.x<C.next.x?C:C.next}}C=C.next}while(C!==V);if(!q)return null;if(M===$)return q.prev;var ue=q,pe=q.x,Ee=q.y,De=1/0,Fe;for(C=q.next;C!==ue;)M>=C.x&&C.x>=pe&&M!==C.x&&r(z<Ee?M:$,z,pe,Ee,z<Ee?$:M,z,C.x,C.y)&&(Fe=Math.abs(z-C.y)/(M-C.x),(Fe<De||Fe===De&&C.x>q.x)&&R(C,U)&&(q=C,De=Fe)),C=C.next;return q}function p(U,V,C,M){var z=U;do z.z===null&&(z.z=h(z.x,z.y,V,C,M)),z.prevZ=z.prev,z.nextZ=z.next,z=z.next;while(z!==U);z.prevZ.nextZ=null,z.prevZ=null,m(z)}function m(U){var V,C,M,z,$,q,se,ue,pe=1;do{for(C=U,U=null,$=null,q=0;C;){for(q++,M=C,se=0,V=0;V<pe&&(se++,M=M.nextZ,!!M);V++);for(ue=pe;se>0||ue>0&&M;)se!==0&&(ue===0||!M||C.z<=M.z)?(z=C,C=C.nextZ,se--):(z=M,M=M.nextZ,ue--),$?$.nextZ=z:U=z,z.prevZ=$,$=z;C=M}$.nextZ=null,pe*=2}while(q>1);return U}function h(U,V,C,M,z){return U=32767*(U-C)/z,V=32767*(V-M)/z,U=(U|U<<8)&16711935,U=(U|U<<4)&252645135,U=(U|U<<2)&858993459,U=(U|U<<1)&1431655765,V=(V|V<<8)&16711935,V=(V|V<<4)&252645135,V=(V|V<<2)&858993459,V=(V|V<<1)&1431655765,U|V<<1}function v(U){var V=U,C=U;do V.x<C.x&&(C=V),V=V.next;while(V!==U);return C}function r(U,V,C,M,z,$,q,se){return(z-q)*(V-se)-(U-q)*($-se)>=0&&(U-q)*(M-se)-(C-q)*(V-se)>=0&&(C-q)*($-se)-(z-q)*(M-se)>=0}function a(U,V){return U.next.i!==V.i&&U.prev.i!==V.i&&!w(U,V)&&R(U,V)&&R(V,U)&&O(U,V)}function g(U,V,C){return(V.y-U.y)*(C.x-V.x)-(V.x-U.x)*(C.y-V.y)}function E(U,V){return U.x===V.x&&U.y===V.y}function S(U,V,C,M){return E(U,V)&&E(C,M)||E(U,M)&&E(C,V)?!0:g(U,V,C)>0!=g(U,V,M)>0&&g(C,M,U)>0!=g(C,M,V)>0}function w(U,V){var C=U;do{if(C.i!==U.i&&C.next.i!==U.i&&C.i!==V.i&&C.next.i!==V.i&&S(C,C.next,U,V))return!0;C=C.next}while(C!==U);return!1}function R(U,V){return g(U.prev,U,U.next)<0?g(U,V,U.next)>=0&&g(U,U.prev,V)>=0:g(U,V,U.prev)<0||g(U,U.next,V)<0}function O(U,V){var C=U,M=!1,z=(U.x+V.x)/2,$=(U.y+V.y)/2;do C.y>$!=C.next.y>$&&C.next.y!==C.y&&z<(C.next.x-C.x)*($-C.y)/(C.next.y-C.y)+C.x&&(M=!M),C=C.next;while(C!==U);return M}function G(U,V){var C=new F(U.i,U.x,U.y),M=new F(V.i,V.x,V.y),z=U.next,$=V.prev;return U.next=V,V.prev=U,C.next=z,z.prev=C,M.next=C,C.prev=M,$.next=M,M.prev=$,M}function B(U,V,C,M){var z=new F(U,V,C);return M?(z.next=M.next,z.prev=M,M.next.prev=z,M.next=z):(z.prev=z,z.next=z),z}function P(U){U.next.prev=U.prev,U.prev.next=U.next,U.prevZ&&(U.prevZ.nextZ=U.nextZ),U.nextZ&&(U.nextZ.prevZ=U.prevZ)}function F(U,V,C){this.i=U,this.x=V,this.y=C,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}W.deviation=function(U,V,C,M){var z=V&&V.length,$=z?V[0]*C:U.length,q=Math.abs(K(U,0,$,C));if(z)for(var se=0,ue=V.length;se<ue;se++){var pe=V[se]*C,Ee=se<ue-1?V[se+1]*C:U.length;q-=Math.abs(K(U,pe,Ee,C))}var De=0;for(se=0;se<M.length;se+=3){var Fe=M[se]*C,Ge=M[se+1]*C,xe=M[se+2]*C;De+=Math.abs((U[Fe]-U[xe])*(U[Ge+1]-U[Fe+1])-(U[Fe]-U[Ge])*(U[xe+1]-U[Fe+1]))}return q===0&&De===0?0:Math.abs((De-q)/q)};function K(U,V,C,M){for(var z=0,$=V,q=C-M;$<C;$+=M)z+=(U[q]-U[$])*(U[$+1]+U[q+1]),q=$;return z}},function(te,X,D){var W=D(12),y={\u5357\u6D77\u8BF8\u5C9B:[32,80],\u5E7F\u4E1C:[0,-10],\u9999\u6E2F:[10,5],\u6FB3\u95E8:[-10,10],\u5929\u6D25:[5,5]};function L(b){W.each(b.regions,function(s){var T=y[s.name];if(T){var c=s.center;c[0]+=T[0]/10.5,c[1]+=-T[1]/(10.5/.75)}})}te.exports=L},function(te,X,D){var W=D(12),y={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]};function L(b){W.each(b.regions,function(s){var T=y[s.name];if(T){var c=s.center;c[0]=T[0],c[1]=T[1]}})}te.exports=L},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(190),b=D(191),s=D(193);y.a.registerAction({type:"globeChangeCamera",event:"globecamerachanged",update:"series:updateCamera"},function(T,c){c.eachComponent({mainType:"globe",query:T},function(u){u.setView(T)})}),y.a.registerAction({type:"globeUpdateDisplacment",event:"globedisplacementupdated",update:"update"},function(T,c){})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(38),b=D(31),s=D(32),T=D(26);function c(i,o){i.id=i.id||i.name||o+""}var u=y.a.extendComponentModel({type:"globe",layoutMode:"box",coordinateSystem:null,init:function(){u.superApply(this,"init",arguments),y.a.util.each(this.option.layers,function(i,o){y.a.util.merge(i,this.defaultLayerOption),c(i,o)},this)},mergeOption:function(i){var o=this.option.layers;this.option.layers=null,u.superApply(this,"mergeOption",arguments);function d(v){return y.a.util.reduce(v,function(r,a,g){return c(a,g),r[a.id]=a,r},{})}if(o&&o.length){var p=d(i.layers),m=d(o);for(var h in p)m[h]?y.a.util.merge(m[h],p[h],!0):o.push(i.layers[h]);this.option.layers=o}y.a.util.each(this.option.layers,function(v){y.a.util.merge(v,this.defaultLayerOption)},this)},optionUpdated:function(){this.updateDisplacementHash()},defaultLayerOption:{show:!0,type:"overlay"},defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",baseColor:"#fff",baseTexture:"",heightTexture:"",displacementTexture:"",displacementScale:0,displacementQuality:"medium",globeRadius:100,globeOuterRadius:150,shading:"lambert",light:{main:{time:""}},viewControl:{autoRotate:!0,panSensitivity:0,targetCoord:null},layers:[]},setDisplacementData:function(i,o,d){this.displacementData=i,this.displacementWidth=o,this.displacementHeight=d},getDisplacementTexture:function(){return this.get("displacementTexture")||this.get("heightTexture")},getDisplacemenScale:function(){var i=this.getDisplacementTexture(),o=this.get("displacementScale");return(!i||i==="none")&&(o=0),o},hasDisplacement:function(){return this.getDisplacemenScale()>0},_displacementChanged:!0,_displacementScale:0,updateDisplacementHash:function(){var i=this.getDisplacementTexture(),o=this.getDisplacemenScale();this._displacementChanged=this._displacementTexture!==i||this._displacementScale!==o,this._displacementTexture=i,this._displacementScale=o},isDisplacementChanged:function(){return this._displacementChanged}});y.a.util.merge(u.prototype,L.a),y.a.util.merge(u.prototype,b.a),y.a.util.merge(u.prototype,s.a),y.a.util.merge(u.prototype,T.a);var f=u},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(39),s=D(34),T=D(192),c=D(3),u=y.a.extendComponentView({type:"globe",__ecgl__:!0,_displacementScale:0,init:function(f,i){this.groupGL=new L.a.Node,this._sphereGeometry=new L.a.SphereGeometry({widthSegments:200,heightSegments:100,dynamic:!0}),this._overlayGeometry=new L.a.SphereGeometry({widthSegments:80,heightSegments:40}),this._planeGeometry=new L.a.PlaneGeometry,this._earthMesh=new L.a.Mesh({renderNormal:!0}),this._lightRoot=new L.a.Node,this._sceneHelper=new s.a,this._sceneHelper.initLight(this._lightRoot),this.groupGL.add(this._earthMesh),this._control=new b.a({zr:i.getZr()}),this._control.init(),this._layerMeshes={}},render:function(f,i,o){var d=f.coordinateSystem,p=f.get("shading");d.viewGL.add(this._lightRoot),f.get("show")?d.viewGL.add(this.groupGL):d.viewGL.remove(this.groupGL),this._sceneHelper.setScene(d.viewGL.scene),d.viewGL.setPostEffect(f.getModel("postEffect"),o),d.viewGL.setTemporalSuperSampling(f.getModel("temporalSuperSampling"));var m=this._earthMesh;m.geometry=this._sphereGeometry;var h="ecgl."+p;(!m.material||m.material.shader.name!==h)&&(m.material=L.a.createMaterial(h)),L.a.setMaterialFromModel(p,m.material,f,o),["roughnessMap","metalnessMap","detailMap","normalMap"].forEach(function(g){var E=m.material.get(g);E&&(E.flipY=!1)}),m.material.set("color",L.a.parseColor(f.get("baseColor")));var v=d.radius*.99;m.scale.set(v,v,v);var r=m.material.setTextureImage("diffuseMap",f.get("baseTexture"),o,{flipY:!1,anisotropic:8});r&&r.surface&&r.surface.attachToMesh(m);var a=m.material.setTextureImage("bumpMap",f.get("heightTexture"),o,{flipY:!1,anisotropic:8});a&&a.surface&&a.surface.attachToMesh(m),m.material[f.get("postEffect.enable")?"define":"undefine"]("fragment","SRGB_DECODE"),this._updateLight(f,o),this._displaceVertices(f,o),this._updateViewControl(f,o),this._updateLayers(f,o)},afterRender:function(f,i,o,d){var p=d.renderer;this._sceneHelper.updateAmbientCubemap(p,f,o),this._sceneHelper.updateSkybox(p,f,o)},_updateLayers:function(f,i){var o=f.coordinateSystem,d=f.get("layers"),p=o.radius,m=[],h=[],v=[],r=[];y.a.util.each(d,function(w){var R=new y.a.Model(w),O=R.get("type"),G=L.a.loadTexture(R.get("texture"),i,{flipY:!1,anisotropic:8});if(G.surface&&G.surface.attachToMesh(this._earthMesh),O==="blend"){var B=R.get("blendTo"),P=c.a.firstNotNull(R.get("intensity"),1);B==="emission"?(v.push(G),r.push(P)):(m.push(G),h.push(P))}else{var F=R.get("id"),K=this._layerMeshes[F];K||(K=this._layerMeshes[F]=new L.a.Mesh({geometry:this._overlayGeometry,castShadow:!1,ignorePicking:!0}));var U=R.get("shading");U==="lambert"?(K.material=K.__lambertMaterial||new L.a.Material({autoUpdateTextureStatus:!1,shader:L.a.createShader("ecgl.lambert"),transparent:!0,depthMask:!1}),K.__lambertMaterial=K.material):(K.material=K.__colorMaterial||new L.a.Material({autoUpdateTextureStatus:!1,shader:L.a.createShader("ecgl.color"),transparent:!0,depthMask:!1}),K.__colorMaterial=K.material),K.material.enableTexture("diffuseMap");var V=R.get("distance"),C=p+(V==null?o.radius/100:V);K.scale.set(C,C,C),p=C;var M=this._blankTexture||(this._blankTexture=L.a.createBlankTexture("rgba(255, 255, 255, 0)"));K.material.set("diffuseMap",M),L.a.loadTexture(R.get("texture"),i,{flipY:!1,anisotropic:8},function(z){z.surface&&z.surface.attachToMesh(K),K.material.set("diffuseMap",z),i.getZr().refresh()}),R.get("show")?this.groupGL.add(K):this.groupGL.remove(K)}},this);var a=this._earthMesh.material;a.define("fragment","LAYER_DIFFUSEMAP_COUNT",m.length),a.define("fragment","LAYER_EMISSIVEMAP_COUNT",v.length),a.set("layerDiffuseMap",m),a.set("layerDiffuseIntensity",h),a.set("layerEmissiveMap",v),a.set("layerEmissionIntensity",r);var g=f.getModel("debug.wireframe");if(g.get("show")){a.define("both","WIREFRAME_TRIANGLE");var E=L.a.parseColor(g.get("lineStyle.color")||"rgba(0,0,0,0.5)"),S=c.a.firstNotNull(g.get("lineStyle.width"),1);a.set("wireframeLineWidth",S),a.set("wireframeLineColor",E)}else a.undefine("both","WIREFRAME_TRIANGLE")},_updateViewControl:function(f,i){var o=f.coordinateSystem,d=f.getModel("viewControl"),p=o.viewGL.camera,m=this;function h(){return{type:"globeChangeCamera",alpha:v.getAlpha(),beta:v.getBeta(),distance:v.getDistance()-o.radius,center:v.getCenter(),from:m.uid,globeId:f.id}}var v=this._control;v.setViewGL(o.viewGL);var r=d.get("targetCoord"),a,g;r!=null&&(g=r[0]+90,a=r[1]),v.setFromViewControlModel(d,{baseDistance:o.radius,alpha:a,beta:g}),v.off("update"),v.on("update",function(){i.dispatchAction(h())})},_displaceVertices:function(f,i){var o=f.get("displacementQuality"),d=f.get("debug.wireframe.show"),p=f.coordinateSystem;if(!(!f.isDisplacementChanged()&&o===this._displacementQuality&&d===this._showDebugWireframe)){this._displacementQuality=o,this._showDebugWireframe=d;var m=this._sphereGeometry,h={low:100,medium:200,high:400,ultra:800}[o]||200,v=h/2;(m.widthSegments!==h||d)&&(m.widthSegments=h,m.heightSegments=v,m.build()),this._doDisplaceVertices(m,p),d&&m.generateBarycentric()}},_doDisplaceVertices:function(f,i){var o=f.attributes.position.value,d=f.attributes.texcoord0.value,p=f.__originalPosition;(!p||p.length!==o.length)&&(p=new Float32Array(o.length),p.set(o),f.__originalPosition=p);for(var m=i.displacementWidth,h=i.displacementHeight,v=i.displacementData,r=0;r<f.vertexCount;r++){var a=r*3,g=r*2,E=p[a+1],S=p[a+2],w=p[a+3],R=d[g++],O=d[g++],G=Math.round(R*(m-1)),B=Math.round(O*(h-1)),P=B*m+G,F=v?v[P]:0;o[a+1]=E+E*F,o[a+2]=S+S*F,o[a+3]=w+w*F}f.generateVertexNormals(),f.dirty(),f.updateBoundingBox()},_updateLight:function(f,i){var o=this._earthMesh;this._sceneHelper.updateLight(f);var d=this._sceneHelper.mainLight,p=f.get("light.main.time")||new Date,m=T.a.getPosition(y.a.number.parseDate(p),0,0),h=Math.cos(m.altitude);d.position.y=-h*Math.cos(m.azimuth),d.position.x=Math.sin(m.altitude),d.position.z=h*Math.sin(m.azimuth),d.lookAt(o.getWorldPosition())},dispose:function(f,i){this.groupGL.removeAll(),this._control.dispose()}})},function(te,X,D){"use strict";var W=Math.PI,y=Math.sin,L=Math.cos,b=Math.tan,s=Math.asin,T=Math.atan2,c=W/180,u=1e3*60*60*24,f=2440588,i=2451545;function o(R){return R.valueOf()/u-.5+f}function d(R){return o(R)-i}var p=c*23.4397;function m(R,O){return T(y(R)*L(p)-b(O)*y(p),L(R))}function h(R,O){return s(y(O)*L(p)+L(O)*y(p)*y(R))}function v(R,O,G){return T(y(R),L(R)*y(O)-b(G)*L(O))}function r(R,O,G){return s(y(O)*y(G)+L(O)*L(G)*L(R))}function a(R,O){return c*(280.16+360.9856235*R)-O}function g(R){return c*(357.5291+.98560028*R)}function E(R){var O=c*(1.9148*y(R)+.02*y(2*R)+3e-4*y(3*R)),G=c*102.9372;return R+O+G+W}function S(R){var O=g(R),G=E(O);return{dec:h(G,0),ra:m(G,0)}}var w={};w.getPosition=function(R,O,G){var B=c*-G,P=c*O,F=d(R),K=S(F),U=a(F,B)-K.ra;return{azimuth:v(U,P,K.dec),altitude:r(U,P,K.dec)}},X.a=w},function(te,X,D){"use strict";var W=D(194),y=D(0),L=D.n(y),b=D(41),s=D.n(b),T=D(20),c=D(3),u=D(2);function f(m,h){var v=document.createElement("canvas"),r=v.getContext("2d"),a=m.width,g=m.height;v.width=a,v.height=g,r.drawImage(m,0,0,a,g);for(var E=r.getImageData(0,0,a,g).data,S=new Float32Array(E.length/4),w=0;w<E.length/4;w++){var R=E[w*4];S[w]=R/255*h}return{data:S,width:a,height:g}}function i(m,h){var v=m.getBoxLayoutParams(),r=s.a.getLayoutRect(v,{width:h.getWidth(),height:h.getHeight()});r.y=h.getHeight()-r.y-r.height,this.viewGL.setViewport(r.x,r.y,r.width,r.height,h.getDevicePixelRatio()),this.radius=m.get("globeRadius");var a=m.get("globeOuterRadius");this.altitudeAxis&&this.altitudeAxis.setExtent(0,a-this.radius)}function o(m,h){var v=[1/0,-1/0];if(m.eachSeries(function(a){if(a.coordinateSystem===this){var g=a.getData(),E=a.coordDimToDataDim("alt")[0];if(E){var S=g.getDataExtent(E,!0);v[0]=Math.min(v[0],S[0]),v[1]=Math.max(v[1],S[1])}}},this),v&&isFinite(v[1]-v[0])){var r=L.a.helper.createScale(v,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new L.a.Axis("altitude",r),this.resize(this.model,h)}}var d={dimensions:W.a.prototype.dimensions,create:function(m,h){var v=[];return m.eachComponent("globe",function(r){r.__viewGL=r.__viewGL||new T.a;var a=new W.a;a.viewGL=r.__viewGL,r.coordinateSystem=a,a.model=r,v.push(a),a.resize=i,a.resize(r,h),a.update=o}),m.eachSeries(function(r){if(r.get("coordinateSystem")==="globe"){var a=r.getReferringComponents("globe")[0];if(a||(a=m.getComponent("globe")),!a)throw new Error('globe "'+c.a.firstNotNull(r.get("globe3DIndex"),r.get("globe3DId"),0)+'" not found');var g=a.coordinateSystem;r.coordinateSystem=g}}),m.eachComponent("globe",function(r,a){var g=r.coordinateSystem,E=r.getDisplacementTexture(),S=r.getDisplacemenScale();if(r.isDisplacementChanged()){if(r.hasDisplacement()){var w=!0;u.a.loadTexture(E,h,function(R){var O=R.image,G=f(O,S);r.setDisplacementData(G.data,G.width,G.height),w||h.dispatchAction({type:"globeUpdateDisplacment"})}),w=!1}else g.setDisplacementData(null,0,0);g.setDisplacementData(r.displacementData,r.displacementWidth,r.displacementHeight)}}),v}};L.a.registerCoordinateSystem("globe",d);var p=d},function(te,X,D){"use strict";var W=D(1),y=D.n(W),L=y.a.vec3;function b(s){this.radius=s,this.viewGL=null,this.altitudeAxis,this.displacementData=null,this.displacementWidth,this.displacementHeight}b.prototype={constructor:b,dimensions:["lng","lat","alt"],type:"globe",containPoint:function(){},setDisplacementData:function(s,T,c){this.displacementData=s,this.displacementWidth=T,this.displacementHeight=c},_getDisplacementScale:function(s,T){var c=(s+180)/360*(this.displacementWidth-1),u=(90-T)/180*(this.displacementHeight-1),f=Math.round(c)+Math.round(u)*this.displacementWidth;return this.displacementData[f]},dataToPoint:function(s,T){var c=s[0],u=s[1],f=s[2]||0,i=this.radius;this.displacementData&&(i*=1+this._getDisplacementScale(c,u)),this.altitudeAxis&&(i+=this.altitudeAxis.dataToCoord(f)),c=c*Math.PI/180,u=u*Math.PI/180;var o=Math.cos(u)*i;return T=T||[],T[0]=-o*Math.cos(c+Math.PI),T[1]=Math.sin(u)*i,T[2]=o*Math.sin(c+Math.PI),T},pointToData:function(s,T){var c=s[0],u=s[1],f=s[2],i=L.len(s);c/=i,u/=i,f/=i;var o=Math.asin(u),d=Math.atan2(f,-c);d<0&&(d=Math.PI*2+d);var p=o*180/Math.PI,m=d*180/Math.PI-180;return T=T||[],T[0]=m,T[1]=p,T[2]=i-this.radius,this.altitudeAxis&&(T[2]=this.altitudeAxis.coordToData(T[2])),T}},X.a=b},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(196),b=D(198),s=D(199);y.a.registerAction({type:"mapbox3DChangeCamera",event:"mapbox3dcamerachanged",update:"mapbox3D:updateCamera"},function(T,c){c.eachComponent({mainType:"mapbox3D",query:T},function(u){u.setMapboxCameraOption(T)})})},function(te,X,D){"use strict";var W=D(197),y=D(0),L=D.n(y),b=D(3),s=D(2),T=D(20);function c(o,d){var p=d.getWidth(),m=d.getHeight(),h=d.getDevicePixelRatio();this.viewGL.setViewport(0,0,p,m,h),this.width=p,this.height=m,this.altitudeScale=o.get("altitudeScale"),this.boxHeight=o.get("boxHeight")}function u(o,d){if(this.model.get("boxHeight")!=="auto"){var p=[1/0,-1/0];o.eachSeries(function(m){if(m.coordinateSystem===this){var h=m.getData(),v=m.coordDimToDataDim("alt")[0];if(v){var r=h.getDataExtent(v,!0);p[0]=Math.min(p[0],r[0]),p[1]=Math.max(p[1],r[1])}}},this),p&&isFinite(p[1]-p[0])&&(this.altitudeExtent=p)}}var f={dimensions:W.a.prototype.dimensions,create:function(o,d){var p=[];return o.eachComponent("mapbox3D",function(m){var h=m.__viewGL;h||(h=m.__viewGL=new T.a,h.setRootNode(new s.a.Node));var v=new W.a;v.viewGL=m.__viewGL,v.resize=c,v.resize(m,d),p.push(v),m.coordinateSystem=v,v.model=m,v.setCameraOption(m.getMapboxCameraOption()),v.update=u}),o.eachSeries(function(m){if(m.get("coordinateSystem")==="mapbox3D"){var h=m.getReferringComponents("mapbox3D")[0];if(h||(h=o.getComponent("mapbox3D")),!h)throw new Error('mapbox3D "'+b.a.firstNotNull(m.get("mapbox3DIndex"),m.get("mapbox3DId"),0)+'" not found');m.coordinateSystem=h.coordinateSystem}}),p}};L.a.registerCoordinateSystem("mapbox3D",f);var i=f},function(te,X,D){"use strict";var W=D(1),y=D.n(W),L=y.a.mat4,b=512,s=.6435011087932844,T=Math.PI,c=1/10;function u(){this.width=0,this.height=0,this.altitudeScale=1,this.boxHeight="auto",this.altitudeExtent,this.bearing=0,this.pitch=0,this.center=[0,0],this._origin,this.zoom=0,this._initialZoom}u.prototype={constructor:u,type:"mapbox3D",dimensions:["lng","lat","alt"],containPoint:function(){},setCameraOption:function(f){this.bearing=f.bearing,this.pitch=f.pitch,this.center=f.center,this.zoom=f.zoom,this._origin||(this._origin=this.projectOnTileWithScale(this.center,b)),this._initialZoom==null&&(this._initialZoom=this.zoom),this.updateTransform()},updateTransform:function(){if(this.height){var f=.5/Math.tan(s/2)*this.height*c,i=Math.max(Math.min(this.pitch,60),0)/180*Math.PI,o=s/2,d=Math.PI/2+i,p=Math.sin(o)*f/Math.sin(Math.PI-d-o),m=Math.cos(Math.PI/2-i)*p+f,h=m*1.1,v=new Float64Array(16);L.perspective(v,s,this.width/this.height,1,h),this.viewGL.camera.projectionMatrix.setArray(v),this.viewGL.camera.decomposeProjectionMatrix();var v=L.identity(new Float64Array(16)),r=this.dataToPoint(this.center);L.scale(v,v,[1,-1,1]),L.translate(v,v,[0,0,-f]),L.rotateX(v,v,i),L.rotateZ(v,v,-this.bearing/180*Math.PI),L.translate(v,v,[-r[0]*this.getScale()*c,-r[1]*this.getScale()*c,0]),this.viewGL.camera.viewMatrix.array=v;var a=new Float64Array(16);L.invert(a,v),this.viewGL.camera.worldTransform.array=a,this.viewGL.camera.decomposeWorldTransform();var g=b*this.getScale(),E;if(this.altitudeExtent&&!isNaN(this.boxHeight)){var S=this.altitudeExtent[1]-this.altitudeExtent[0];E=this.boxHeight/S*this.getScale()/Math.pow(2,this._initialZoom)}else E=g/(2*Math.PI*6378e3*Math.abs(Math.cos(this.center[1]*(Math.PI/180))))*this.altitudeScale*c;this.viewGL.rootNode.scale.set(this.getScale()*c,this.getScale()*c,E)}},getScale:function(){return Math.pow(2,this.zoom)},projectOnTile:function(f,i){return this.projectOnTileWithScale(f,this.getScale()*b,i)},projectOnTileWithScale:function(f,i,o){var d=f[0],p=f[1],m=d*T/180,h=p*T/180,v=i*(m+T)/(2*T),r=i*(T-Math.log(Math.tan(T/4+h*.5)))/(2*T);return o=o||[],o[0]=v,o[1]=r,o},unprojectFromTile:function(f,i){return this.unprojectOnTileWithScale(f,this.getScale()*b,i)},unprojectOnTileWithScale:function(f,i,o){var d=f[0],p=f[1],m=d/i*(2*T)-T,h=2*(Math.atan(Math.exp(T-p/i*(2*T)))-T/4);return o=o||[],o[0]=m*180/T,o[1]=h*180/T,o},dataToPoint:function(f,i){return i=this.projectOnTileWithScale(f,b,i),i[0]-=this._origin[0],i[1]-=this._origin[1],i[2]=isNaN(f[2])?0:f[2],isNaN(f[2])||(i[2]=f[2],this.altitudeExtent&&(i[2]-=this.altitudeExtent[0])),i}},X.a=u},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(31),b=D(32),s=["zoom","center","pitch","bearing"],T=y.a.extendComponentModel({type:"mapbox3D",layoutMode:"box",coordinateSystem:null,defaultOption:{zlevel:-10,style:"mapbox://styles/mapbox/light-v9",center:[0,0],zoom:0,pitch:0,bearing:0,light:{main:{alpha:20,beta:30}},altitudeScale:1,boxHeight:"auto"},getMapboxCameraOption:function(){var u=this;return s.reduce(function(f,i){return f[i]=u.get(i),f},{})},setMapboxCameraOption:function(u){u!=null&&s.forEach(function(f){u[f]!=null&&(this.option[f]=u[f])},this)},getMapbox:function(){return this._mapbox},setMapbox:function(u){this._mapbox=u}});y.a.util.merge(T.prototype,L.a),y.a.util.merge(T.prototype,b.a);var c=T},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(200),b=D(34),s=D(2),T=D(201);s.a.Shader.import(T.a);var c=512,u=y.a.extendComponentView({type:"mapbox3D",__ecgl__:!0,init:function(f,i){var o=i.getZr();this._zrLayer=new L.a("mapbox3D",o),o.painter.insertLayer(-1e3,this._zrLayer),this._lightRoot=new s.a.Node,this._sceneHelper=new b.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot);var d=this._zrLayer.getMapbox(),p=this._dispatchInteractAction.bind(this,i,d);["zoom","rotate","drag","pitch","rotate","move"].forEach(function(m){d.on(m,p)}),this._groundMesh=new s.a.Mesh({geometry:new s.a.PlaneGeometry,material:new s.a.Material({shader:new s.a.Shader({vertex:s.a.Shader.source("ecgl.displayShadow.vertex"),fragment:s.a.Shader.source("ecgl.displayShadow.fragment")}),depthMask:!1}),renderOrder:-100,culling:!1,castShadow:!1,$ignorePicking:!0,renderNormal:!0})},render:function(f,i,o){var d=this._zrLayer.getMapbox(),p=f.get("style"),m=JSON.stringify(p);m!==this._oldStyleStr&&p&&d.setStyle(p),this._oldStyleStr=m,d.setCenter(f.get("center")),d.setZoom(f.get("zoom")),d.setPitch(f.get("pitch")),d.setBearing(f.get("bearing")),f.setMapbox(d);var h=f.coordinateSystem;h.viewGL.scene.add(this._lightRoot),h.viewGL.add(this._groundMesh),this._updateGroundMesh(),this._sceneHelper.setScene(h.viewGL.scene),this._sceneHelper.updateLight(f),h.viewGL.setPostEffect(f.getModel("postEffect"),o),h.viewGL.setTemporalSuperSampling(f.getModel("temporalSuperSampling")),this._mapbox3DModel=f},afterRender:function(f,i,o,d){var p=d.renderer;this._sceneHelper.updateAmbientCubemap(p,f,o),this._sceneHelper.updateSkybox(p,f,o),f.coordinateSystem.viewGL.scene.traverse(function(m){m.material&&(m.material.define("fragment","NORMAL_UP_AXIS",2),m.material.define("fragment","NORMAL_FRONT_AXIS",1))})},updateCamera:function(f,i,o,d){f.coordinateSystem.setCameraOption(d),this._updateGroundMesh(),o.getZr().refresh()},_dispatchInteractAction:function(f,i,o){f.dispatchAction({type:"mapbox3DChangeCamera",pitch:i.getPitch(),zoom:i.getZoom(),center:i.getCenter().toArray(),bearing:i.getBearing(),mapbox3DId:this._mapbox3DModel&&this._mapbox3DModel.id})},_updateGroundMesh:function(){if(this._mapbox3DModel){var f=this._mapbox3DModel.coordinateSystem,i=f.dataToPoint(f.center);this._groundMesh.position.set(i[0],i[1],-.001);var o=new s.a.Plane(new s.a.Vector3(0,0,1),0),d=f.viewGL.camera.castRay(new s.a.Vector2(-1,-1)),p=f.viewGL.camera.castRay(new s.a.Vector2(1,1)),m=d.intersectPlane(o),h=p.intersectPlane(o),v=m.dist(h)/f.viewGL.rootNode.scale.x;this._groundMesh.scale.set(v,v,1)}},dispose:function(f,i){i.getZr().delLayer(-1e3)}})},function(te,X,D){"use strict";function W(L,b){if(this.id=L,this.zr=b,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute;left:0;right:0;top:0;bottom:0;",!mapboxgl)throw new Error("Mapbox GL library must be included. See https://www.mapbox.com/mapbox-gl-js/api/");this._mapbox=new mapboxgl.Map({container:this.dom}),this._initEvents()}W.prototype.resize=function(){this._mapbox.resize()},W.prototype.getMapbox=function(){return this._mapbox},W.prototype.clear=function(){},W.prototype.refresh=function(){this._mapbox.resize()};var y=["mousedown","mouseup","click","dblclick","mousemove","mousewheel","wheel","touchstart","touchend","touchmove","touchcancel"];W.prototype._initEvents=function(){var L=this._mapbox.getCanvasContainer();this._handlers=this._handlers||{contextmenu:function(b){return b.preventDefault(),!1}},y.forEach(function(b){this._handlers[b]=function(s){var T={};for(var c in s)T[c]=s[c];T.bubbles=!1;var u=new s.constructor(s.type,T);L.dispatchEvent(u)},this.zr.dom.addEventListener(b,this._handlers[b])},this),this.zr.dom.addEventListener("contextmenu",this._handlers.contextmenu)},W.prototype.dispose=function(){y.forEach(function(L){this.zr.dom.removeEventListener(L,this._handlers[L])},this)},X.a=W},function(te,X,D){"use strict";X.a=`
@export ecgl.displayShadow.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
varying vec3 v_WorldPosition;
varying vec3 v_Normal;
void main()
{
@import ecgl.common.uv.main
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end
@export ecgl.displayShadow.fragment
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform float roughness: 0.2;
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
@import ecgl.common.ssaoMap.header
@import clay.plugin.compute_shadow_map
void main()
{
float shadow = 1.0;
@import ecgl.common.ssaoMap.main
#if defined(DIRECTIONAL_LIGHT_COUNT) && defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
for (int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) {
shadow = min(shadow, shadowContribsDir[i] * 0.5 + 0.5);
}
#endif
shadow *= 0.5 + ao * 0.5;
shadow = clamp(shadow, 0.0, 1.0);
gl_FragColor = vec4(vec3(0.0), 1.0 - shadow);
}
@end`},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(203),b=D(206),s=D(208),T=D(16);y.a.registerVisual(Object(T.a)("bar3D")),y.a.registerProcessor(function(c,u){c.eachSeriesByType("bar3d",function(f){var i=f.getData();i.filterSelf(function(o){return i.hasValue(o)})})})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(4),b=D(1),s=D.n(b),T=D(204),c=D(205),u=s.a.vec3;function f(d,p){var m=d.getData(),h=d.get("minHeight")||0,v=d.get("barSize"),r=["lng","lat","alt"].map(function(E){return d.coordDimToDataDim(E)[0]});if(v==null){var a=p.radius*Math.PI,g=Object(c.a)(m,r[0],r[1]);v=[a/Math.sqrt(m.count()/g),a/Math.sqrt(m.count()/g)]}else y.a.util.isArray(v)||(v=[v,v]);m.each(r,function(E,S,w,R){var O=m.get(r[2],R,!0),G=m.stackedOn?O-w:p.altitudeAxis.scale.getExtent()[0],B=Math.max(p.altitudeAxis.dataToCoord(w),h),P=p.dataToPoint([E,S,G]),F=p.dataToPoint([E,S,O]),K=u.sub([],F,P);u.normalize(K,K);var U=[v[0],B,v[1]];m.setItemLayout(R,[P,K,U])}),m.setLayout("orient",L.a.UP.array)}function i(d,p){var m=d.getData(),h=d.get("barSize"),v=d.get("minHeight")||0,r=["lng","lat","alt"].map(function(S){return d.coordDimToDataDim(S)[0]});if(h==null){var a=Math.min(p.size[0],p.size[2]),g=Object(c.a)(m,r[0],r[1]);h=[a/Math.sqrt(m.count()/g),a/Math.sqrt(m.count()/g)]}else y.a.util.isArray(h)||(h=[h,h]);var E=[0,1,0];m.each(r,function(S,w,R,O){var G=m.get(r[2],O,!0),B=m.stackedOn?G-R:p.altitudeAxis.scale.getExtent()[0],P=Math.max(p.altitudeAxis.dataToCoord(R),v),F=p.dataToPoint([S,w,B]),K=[h[0],P,h[1]];m.setItemLayout(O,[F,E,K])}),m.setLayout("orient",[1,0,0])}function o(d,p){var m=d.getData(),h=d.coordDimToDataDim("lng")[0],v=d.coordDimToDataDim("lat")[0],r=d.coordDimToDataDim("alt")[0],a=d.get("barSize"),g=d.get("minHeight")||0;if(a==null){var E=m.getDataExtent(h),S=m.getDataExtent(v),w=p.dataToPoint([E[0],S[0]]),R=p.dataToPoint([E[1],S[1]]),O=Math.min(Math.abs(w[0]-R[0]),Math.abs(w[1]-R[1]))||1,G=Object(c.a)(m,h,v);a=[O/Math.sqrt(m.count()/G),O/Math.sqrt(m.count()/G)]}else y.a.util.isArray(a)||(a=[a,a]),a[0]/=p.getScale()/16,a[1]/=p.getScale()/16;var B=[0,0,1];m.each([h,v,r],function(P,F,K,U){var V=m.get(r,U,!0),C=m.stackedOn?V-K:0,M=p.dataToPoint([P,F,C]),z=p.dataToPoint([P,F,V]),$=Math.max(z[2]-M[2],g),q=[a[0],$,a[1]];m.setItemLayout(U,[M,B,q])}),m.setLayout("orient",[1,0,0])}y.a.registerLayout(function(d,p){d.eachSeriesByType("bar3D",function(m){var h=m.coordinateSystem,v=h&&h.type;if(v==="globe")f(m,h);else if(v==="cartesian3D")Object(T.a)(m,h);else if(v==="geo3D")i(m,h);else if(v==="mapbox3D")o(m,h);else throw h?new Error("bar3D doesn't support coordinate system "+h.type):new Error("bar3D doesn't have coordinate system.")})})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(1),b=D.n(L),s=b.a.vec3;function T(u){var f=u[0],i=u[1];return!(f>0&&i>0||f<0&&i<0)}function c(u,f){var i=u.getData(),o=u.get("barSize");if(o==null){var d=f.size,p,m,h=f.getAxis("x"),v=f.getAxis("y");h.type==="category"?p=h.getBandWidth()*.7:p=Math.round(d[0]/Math.sqrt(i.count()))*.6,v.type==="category"?m=v.getBandWidth()*.7:m=Math.round(d[1]/Math.sqrt(i.count()))*.6,o=[p,m]}else y.a.util.isArray(o)||(o=[o,o]);var r=f.getAxis("z").scale.getExtent(),a=T(r),g=["x","y","z"].map(function(E){return u.coordDimToDataDim(E)[0]});i.each(g,function(E,S,w,R){var O=i.get(g[2],R,!0),G=i.stackedOn?O-w:a?0:r[0],B=f.dataToPoint([E,S,G]),P=f.dataToPoint([E,S,O]),F=s.dist(B,P),K=[0,P[1]<B[1]?-1:1,0];Math.abs(F)===0&&(F=.1);var U=[o[0],F,o[1]];i.setItemLayout(R,[B,K,U])}),i.setLayout("orient",[1,0,0])}X.a=c},function(te,X,D){"use strict";X.a=function(W,y,L){for(var b=W.getDataExtent(y),s=W.getDataExtent(L),T=b[1]-b[0]||b[0],c=s[1]-s[0]||s[0],u=50,f=new Uint8Array(u*u),i=0;i<W.count();i++){var o=W.get(y,i),d=W.get(L,i),p=Math.floor((o-b[0])/T*(u-1)),m=Math.floor((d-s[0])/c*(u-1)),h=m*u+p;f[h]=f[h]||1}for(var v=0,i=0;i<f.length;i++)f[i]&&v++;return v/f.length}},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(3),s=D(27),T=D(207),c=D(61),u=D(1),f=D.n(u),i=f.a.vec3,o=y.a.extendChartView({type:"bar3D",__ecgl__:!0,init:function(d,p){this.groupGL=new L.a.Node,this._api=p,this._labelsBuilder=new c.a(256,256,p);var m=this;this._labelsBuilder.getLabelPosition=function(h,v,r){if(m._data){var a=m._data.getItemLayout(h),g=a[0],E=a[1],S=a[2][1];return i.scaleAndAdd([],g,E,r+S)}else return[0,0]},this._labelsBuilder.getMesh().renderOrder=100},render:function(d,p,m){var h=this._prevBarMesh;this._prevBarMesh=this._barMesh,this._barMesh=h,this._barMesh||(this._barMesh=new L.a.Mesh({geometry:new T.a,shadowDepthMaterial:new L.a.Material({shader:new L.a.Shader(L.a.Shader.source("ecgl.sm.depth.vertex"),L.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:d.coordinateSystem.type==="cartesian3D",renderOrder:10,renderNormal:!0})),this.groupGL.remove(this._prevBarMesh),this.groupGL.add(this._barMesh),this.groupGL.add(this._labelsBuilder.getMesh());var v=d.coordinateSystem;if(this._doRender(d,m),v&&v.viewGL){v.viewGL.add(this.groupGL);var r=v.viewGL.isLinearSpace()?"define":"undefine";this._barMesh.material[r]("fragment","SRGB_DECODE")}this._data=d.getData(),this._labelsBuilder.updateData(this._data),this._labelsBuilder.updateLabels(),this._updateAnimation(d)},_updateAnimation:function(d){L.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevBarMesh,this._barMesh,d)},_doRender:function(d,p){var m=d.getData(),h=d.get("shading"),v=h!=="color",r=this,a=this._barMesh,g="ecgl."+h;(!a.material||a.material.shader.name!==g)&&(a.material=L.a.createMaterial(g,["VERTEX_COLOR"])),L.a.setMaterialFromModel(h,a.material,d,p),a.geometry.enableNormal=v,a.geometry.resetOffset();var E=d.get("bevelSize"),S=d.get("bevelSmoothness");a.geometry.bevelSegments=S,a.geometry.bevelSize=E;var w=[],R=new Float32Array(m.count()*4),O=0,F=0,G=!1;m.each(function(U){if(m.hasValue(U)){var V=m.getItemVisual(U,"color"),C=m.getItemVisual(U,"opacity");C==null&&(C=1),L.a.parseColor(V,w),w[3]*=C,R[O++]=w[0],R[O++]=w[1],R[O++]=w[2],R[O++]=w[3],w[3]>0&&(F++,w[3]<.99&&(G=!0))}}),a.geometry.setBarCount(F);var B=m.getLayout("orient"),P=this._barIndexOfData=new Int32Array(m.count()),F=0;m.each(function(U){if(!m.hasValue(U)){P[U]=-1;return}var V=m.getItemLayout(U),C=V[0],M=V[1],z=V[2],$=U*4;w[0]=R[$++],w[1]=R[$++],w[2]=R[$++],w[3]=R[$++],w[3]>0&&(r._barMesh.geometry.addBar(C,M,B,z,w,U),P[U]=F++)}),a.geometry.dirty(),a.geometry.updateBoundingBox();var K=a.material;K.transparent=G,K.depthMask=!G,a.geometry.sortTriangles=G,this._initHandler(d,p)},_initHandler:function(d,p){var m=d.getData(),h=this._barMesh,v=d.coordinateSystem.type==="cartesian3D";h.seriesIndex=d.seriesIndex;var r=-1;h.off("mousemove"),h.off("mouseout"),h.on("mousemove",function(a){var g=h.geometry.getDataIndexOfVertex(a.triangle[0]);g!==r&&(this._downplay(r),this._highlight(g),this._labelsBuilder.updateLabels([g]),v&&p.dispatchAction({type:"grid3DShowAxisPointer",value:[m.get("x",g),m.get("y",g),m.get("z",g,!0)]})),r=g,h.dataIndex=g},this),h.on("mouseout",function(a){this._downplay(r),this._labelsBuilder.updateLabels(),r=-1,h.dataIndex=-1,v&&p.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_highlight:function(d){var p=this._data;if(p){var m=this._barIndexOfData[d];if(!(m<0)){var h=p.getItemModel(d),v=h.getModel("emphasis.itemStyle"),r=v.get("color"),a=v.get("opacity");if(r==null){var g=p.getItemVisual(d,"color");r=y.a.color.lift(g,-.4)}a==null&&(a=p.getItemVisual(d,"opacity"));var E=L.a.parseColor(r);E[3]*=a,this._barMesh.geometry.setColor(m,E),this._api.getZr().refresh()}}},_downplay:function(d){var p=this._data;if(p){var m=this._barIndexOfData[d];if(!(m<0)){var h=p.getItemVisual(d,"color"),v=p.getItemVisual(d,"opacity"),r=L.a.parseColor(h);r[3]*=v,this._barMesh.geometry.setColor(m,r),this._api.getZr().refresh()}}},highlight:function(d,p,m,h){this._toggleStatus("highlight",d,p,m,h)},downplay:function(d,p,m,h){this._toggleStatus("downplay",d,p,m,h)},_toggleStatus:function(d,p,m,h,v){var r=p.getData(),a=b.a.queryDataIndex(r,v),g=this;a!=null?y.a.util.each(s.a.normalizeToArray(a),function(E){d==="highlight"?this._highlight(E):this._downplay(E)},this):r.each(function(E){d==="highlight"?g._highlight(E):g._downplay(E)})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(33),b=D(60),s=D(13),T=D(1),c=D.n(T),u=c.a.vec3,f=c.a.mat3,i=s.a.extend(function(){return{attributes:{position:new s.a.Attribute("position","float",3,"POSITION"),normal:new s.a.Attribute("normal","float",3,"NORMAL"),color:new s.a.Attribute("color","float",4,"COLOR"),prevPosition:new s.a.Attribute("prevPosition","float",3),prevNormal:new s.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(o){var d=this.enableNormal,p=this.getBarVertexCount()*o,m=this.getBarTriangleCount()*o;this.vertexCount!==p&&(this.attributes.position.init(p),d?this.attributes.normal.init(p):this.attributes.normal.value=null,this.attributes.color.init(p)),this.triangleCount!==m&&(this.indices=p>65535?new Uint32Array(m*3):new Uint16Array(m*3),this._dataIndices=new Uint32Array(p))},getBarVertexCount:function(){var o=this.bevelSize>0?this.bevelSegments:0;return o>0?this._getBevelBarVertexCount(o):this.enableNormal?24:8},getBarTriangleCount:function(){var o=this.bevelSize>0?this.bevelSegments:0;return o>0?this._getBevelBarTriangleCount(o):12},_getBevelBarVertexCount:function(o){return(o+1)*4*(o+1)*2},_getBevelBarTriangleCount:function(o){var d=o*4+3,p=o*2+1;return(d+1)*p*2+4},setColor:function(o,d){for(var p=this.getBarVertexCount(),m=p*o,h=p*(o+1),v=m;v<h;v++)this.attributes.color.set(v,d);this.dirtyAttribute("color")},getDataIndexOfVertex:function(o){return this._dataIndices?this._dataIndices[o]:null},addBar:function(){for(var o=u.create,d=u.scaleAndAdd,p=o(),m=o(),h=o(),v=o(),r=o(),a=o(),g=o(),E=[],S=[],w=0;w<8;w++)E[w]=o();for(var R=[[0,1,5,4],[2,3,7,6],[4,5,6,7],[3,2,1,0],[0,4,7,3],[1,2,6,5]],O=[0,1,2,0,2,3],G=[],w=0;w<R.length;w++)for(var B=R[w],P=0;P<2;P++){for(var F=[],K=0;K<3;K++)F.push(B[O[P*3+K]]);G.push(F)}return function(U,V,C,M,z,$){var q=this._vertexOffset;if(this.bevelSize>0&&this.bevelSegments>0)this._addBevelBar(U,V,C,M,this.bevelSize,this.bevelSegments,z);else{u.copy(h,V),u.normalize(h,h),u.cross(v,C,h),u.normalize(v,v),u.cross(m,h,v),u.normalize(v,v),u.negate(r,m),u.negate(a,h),u.negate(g,v),d(E[0],U,m,M[0]/2),d(E[0],E[0],v,M[2]/2),d(E[1],U,m,M[0]/2),d(E[1],E[1],g,M[2]/2),d(E[2],U,r,M[0]/2),d(E[2],E[2],g,M[2]/2),d(E[3],U,r,M[0]/2),d(E[3],E[3],v,M[2]/2),d(p,U,h,M[1]),d(E[4],p,m,M[0]/2),d(E[4],E[4],v,M[2]/2),d(E[5],p,m,M[0]/2),d(E[5],E[5],g,M[2]/2),d(E[6],p,r,M[0]/2),d(E[6],E[6],g,M[2]/2),d(E[7],p,r,M[0]/2),d(E[7],E[7],v,M[2]/2);var se=this.attributes;if(this.enableNormal){S[0]=m,S[1]=r,S[2]=h,S[3]=a,S[4]=v,S[5]=g;for(var ue=this._vertexOffset,pe=0;pe<R.length;pe++){for(var Ee=this._triangleOffset*3,De=0;De<6;De++)this.indices[Ee++]=ue+O[De];ue+=4,this._triangleOffset+=2}for(var pe=0;pe<R.length;pe++)for(var Fe=S[pe],De=0;De<4;De++){var Ge=R[pe][De];se.position.set(this._vertexOffset,E[Ge]),se.normal.set(this._vertexOffset,Fe),se.color.set(this._vertexOffset++,z)}}else{for(var pe=0;pe<G.length;pe++){for(var Ee=this._triangleOffset*3,De=0;De<3;De++)this.indices[Ee+De]=G[pe][De]+this._vertexOffset;this._triangleOffset++}for(var pe=0;pe<E.length;pe++)se.position.set(this._vertexOffset,E[pe]),se.color.set(this._vertexOffset++,z)}}for(var xe=this._vertexOffset,pe=q;pe<xe;pe++)this._dataIndices[pe]=$}}(),_addBevelBar:function(){var o=u.create(),d=u.create(),p=u.create(),m=f.create(),h=[],v=[1,-1,-1,1],r=[1,1,-1,-1],a=[2,0];return function(g,E,S,w,R,O,G){u.copy(d,E),u.normalize(d,d),u.cross(p,S,d),u.normalize(p,p),u.cross(o,d,p),u.normalize(p,p),m[0]=o[0],m[1]=o[1],m[2]=o[2],m[3]=d[0],m[4]=d[1],m[5]=d[2],m[6]=p[0],m[7]=p[1],m[8]=p[2],R=Math.min(w[0],w[2])/2*R;for(var B=0;B<3;B++)h[B]=Math.max(w[B]-R*2,0);for(var P=(w[0]-h[0])/2,F=(w[1]-h[1])/2,K=(w[2]-h[2])/2,U=[],V=[],C=this._vertexOffset,M=[],B=0;B<2;B++){M[B]=M[B]=[];for(var z=0;z<=O;z++)for(var $=0;$<4;$++){(z===0&&B===0||B===1&&z===O)&&M[B].push(C);for(var q=0;q<=O;q++){var se=q/O*Math.PI/2+Math.PI/2*$,ue=z/O*Math.PI/2+Math.PI/2*B;V[0]=P*Math.cos(se)*Math.sin(ue),V[1]=F*Math.cos(ue),V[2]=K*Math.sin(se)*Math.sin(ue),U[0]=V[0]+v[$]*h[0]/2,U[1]=V[1]+F+a[B]*h[1]/2,U[2]=V[2]+r[$]*h[2]/2,Math.abs(P-F)<1e-6&&Math.abs(F-K)<1e-6||(V[0]/=P*P,V[1]/=F*F,V[2]/=K*K),u.normalize(V,V),u.transformMat3(U,U,m),u.transformMat3(V,V,m),u.add(U,U,g),this.attributes.position.set(C,U),this.enableNormal&&this.attributes.normal.set(C,V),this.attributes.color.set(C,G),C++}}}for(var pe=O*4+3,Ee=O*2+1,De=pe+1,$=0;$<Ee;$++)for(var B=0;B<=pe;B++){var Fe=$*De+B+this._vertexOffset,Ge=$*De+(B+1)%De+this._vertexOffset,xe=($+1)*De+(B+1)%De+this._vertexOffset,Ke=($+1)*De+B+this._vertexOffset;this.setTriangleIndices(this._triangleOffset++,[xe,Fe,Ge]),this.setTriangleIndices(this._triangleOffset++,[xe,Ke,Fe])}this.setTriangleIndices(this._triangleOffset++,[M[0][0],M[0][2],M[0][1]]),this.setTriangleIndices(this._triangleOffset++,[M[0][0],M[0][3],M[0][2]]),this.setTriangleIndices(this._triangleOffset++,[M[1][0],M[1][1],M[1][2]]),this.setTriangleIndices(this._triangleOffset++,[M[1][0],M[1][2],M[1][3]]),this._vertexOffset=C}}()});y.a.util.defaults(i.prototype,L.a),y.a.util.defaults(i.prototype,b.a),X.a=i},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(26),b=D(27),s=D(35),T=D(44),c=y.a.extendSeriesModel({type:"series.bar3D",dependencies:["globe"],visualColorAccessPath:"itemStyle.color",getInitialData:function(f,i){return Object(T.a)(this)},getFormattedLabel:function(f,i,o,d){var p=b.a.getFormattedLabel(this,f,i,o,d);return p==null&&(p=this.getData().get("z",f)),p},formatTooltip:function(f){return Object(s.a)(this,f)},defaultOption:{coordinateSystem:"cartesian3D",globeIndex:0,grid3DIndex:0,zlevel:-10,bevelSize:0,bevelSmoothness:2,onGridPlane:"xy",shading:"color",minHeight:0,itemStyle:{opacity:1},label:{show:!1,distance:2,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},emphasis:{label:{show:!0}},animationDurationUpdate:500}});y.a.util.merge(c.prototype,L.a);var u=c},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(210),b=D(211),s=D(45),T=D.n(s),c=D(16);y.a.registerVisual(T()("line3D","circle",null)),y.a.registerVisual(Object(c.a)("line3D")),y.a.registerLayout(function(u,f){u.eachSeriesByType("line3D",function(i){var o=i.getData(),d=i.coordinateSystem;if(d){if(d.type!=="cartesian3D"){console.error("line3D needs cartesian3D coordinateSystem");return}var p=new Float32Array(o.count()*3),m=[],h=[],v=d.dimensions,r=v.map(function(a){return i.coordDimToDataDim(a)[0]});d&&o.each(r,function(a,g,E,S){m[0]=a,m[1]=g,m[2]=E,d.dataToPoint(m,h),p[S*3]=h[0],p[S*3+1]=h[1],p[S*3+2]=h[2]}),o.setLayout("points",p)}})})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(35),b=D(44),s=y.a.extendSeriesModel({type:"series.line3D",dependencies:["grid3D"],visualColorAccessPath:"lineStyle.color",getInitialData:function(c,u){return Object(b.a)(this)},formatTooltip:function(c){return Object(L.a)(this,c)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,lineStyle:{width:2},animationDurationUpdate:500}}),T=s},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(3),s=D(22),T=D(9),c=D(4),u=D(212),f=D.n(u),i=D(1),o=D.n(i),d=D(40),p=o.a.vec3;L.a.Shader.import(d.a);var m=y.a.extendChartView({type:"line3D",__ecgl__:!0,init:function(h,v){this.groupGL=new L.a.Node,this._api=v},render:function(h,v,r){var a=this._prevLine3DMesh;this._prevLine3DMesh=this._line3DMesh,this._line3DMesh=a,this._line3DMesh||(this._line3DMesh=new L.a.Mesh({geometry:new s.a({useNativeLine:!1,sortTriangles:!0}),material:new L.a.Material({shader:L.a.createShader("ecgl.meshLines3D")}),renderOrder:10}),this._line3DMesh.geometry.pick=this._pick.bind(this)),this.groupGL.remove(this._prevLine3DMesh),this.groupGL.add(this._line3DMesh);var g=h.coordinateSystem;if(g&&g.viewGL){g.viewGL.add(this.groupGL);var E=g.viewGL.isLinearSpace()?"define":"undefine";this._line3DMesh.material[E]("fragment","SRGB_DECODE")}this._doRender(h,r),this._data=h.getData(),this._camera=g.viewGL.camera,this.updateCamera(),this._updateAnimation(h)},updateCamera:function(){this._updateNDCPosition()},_doRender:function(h,v){var r=h.getData(),a=this._line3DMesh;a.geometry.resetOffset();var g=r.getLayout("points"),E=[],S=new Float32Array(g.length/3*4),w=0,R=!1;r.each(function(B){var P=r.getItemVisual(B,"color"),F=r.getItemVisual(B,"opacity");F==null&&(F=1),L.a.parseColor(P,E),E[3]*=F,S[w++]=E[0],S[w++]=E[1],S[w++]=E[2],S[w++]=E[3],E[3]<.99&&(R=!0)}),a.geometry.setVertexCount(a.geometry.getPolylineVertexCount(g)),a.geometry.setTriangleCount(a.geometry.getPolylineTriangleCount(g)),a.geometry.addPolyline(g,S,b.a.firstNotNull(h.get("lineStyle.width"),1)),a.geometry.dirty(),a.geometry.updateBoundingBox();var O=a.material;O.transparent=R,O.depthMask=!R;var G=h.getModel("debug.wireframe");G.get("show")?(a.geometry.createAttribute("barycentric","float",3),a.geometry.generateBarycentric(),a.material.set("both","WIREFRAME_TRIANGLE"),a.material.set("wireframeLineColor",L.a.parseColor(G.get("lineStyle.color")||"rgba(0,0,0,0.5)")),a.material.set("wireframeLineWidth",b.a.firstNotNull(G.get("lineStyle.width"),1))):a.material.set("both","WIREFRAME_TRIANGLE"),this._points=g,this._initHandler(h,v)},_updateAnimation:function(h){L.a.updateVertexAnimation([["prevPosition","position"],["prevPositionPrev","positionPrev"],["prevPositionNext","positionNext"]],this._prevLine3DMesh,this._line3DMesh,h)},_initHandler:function(h,v){var r=h.getData(),a=h.coordinateSystem,g=this._line3DMesh,E=-1;g.seriesIndex=h.seriesIndex,g.off("mousemove"),g.off("mouseout"),g.on("mousemove",function(S){var w=a.pointToData(S.point.array),R=r.indicesOfNearest("x",w[0])[0];R!==E&&(v.dispatchAction({type:"grid3DShowAxisPointer",value:[r.get("x",R),r.get("y",R),r.get("z",R)]}),g.dataIndex=R),E=R},this),g.on("mouseout",function(S){E=-1,g.dataIndex=-1,v.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateNDCPosition:function(){var h=new T.a,v=this._camera;T.a.multiply(h,v.projectionMatrix,v.viewMatrix);var r=this._positionNDC,a=this._points,g=a.length/3;(!r||r.length/2!==g)&&(r=this._positionNDC=new Float32Array(g*2));for(var E=[],S=0;S<g;S++){var w=S*3,R=S*2;E[0]=a[w],E[1]=a[w+1],E[2]=a[w+2],E[3]=1,p.transformMat4(E,E,h.array),r[R]=E[0]/E[3],r[R+1]=E[1]/E[3]}},_pick:function(h,v,r,a,g,E){var S=this._positionNDC,w=this._data.hostModel,R=w.get("lineStyle.width"),O=-1,G=r.viewport.width,B=r.viewport.height,P=G*.5,F=B*.5;h=(h+1)*P,v=(v+1)*F;for(var K=1;K<S.length/2;K++){var U=(S[(K-1)*2]+1)*P,V=(S[(K-1)*2+1]+1)*F,C=(S[K*2]+1)*P,M=(S[K*2+1]+1)*F;if(f.a.containStroke(U,V,C,M,R,h,v)){var z=(U-h)*(U-h)+(V-v)*(V-v),$=(C-h)*(C-h)+(M-v)*(M-v);O=z<$?K-1:K}}if(O>=0){var q=O*3,se=new c.a(this._points[q],this._points[q+1],this._points[q+2]);E.push({dataIndex:O,point:se,pointWorld:se.clone(),target:this._line3DMesh,distance:this._camera.getWorldPosition().dist(se)})}},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(te,X){function D(W,y,L,b,s,T,c){if(s===0)return!1;var u=s,f=0,i=W;if(c>y+u&&c>b+u||c<y-u&&c<b-u||T>W+u&&T>L+u||T<W-u&&T<L-u)return!1;if(W!==L)f=(y-b)/(W-L),i=(W*b-L*y)/(W-L);else return Math.abs(T-W)<=u/2;var o=f*T-c+i,d=o*o/(f*f+1);return d<=u/2*u/2}X.containStroke=D},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(214),b=D(215),s=D(45),T=D.n(s),c=D(16);y.a.registerVisual(T()("scatter3D","circle",null)),y.a.registerVisual(Object(c.a)("scatter3D")),y.a.registerLayout({seriesType:"scatter3D",reset:function(u){var f=u.coordinateSystem;if(f){var i=f.dimensions;if(i.length<3){console.error("scatter3D needs 3D coordinateSystem");return}var o=i.map(function(m){return u.coordDimToDataDim(m)[0]}),d=[],p=[];return{progress:function(m,h){for(var v=new Float32Array((m.end-m.start)*3),r=m.start;r<m.end;r++){var a=(r-m.start)*3;d[0]=h.get(o[0],r),d[1]=h.get(o[1],r),d[2]=h.get(o[2],r),f.dataToPoint(d,p),v[a]=p[0],v[a+1]=p[1],v[a+2]=p[2]}h.setLayout("points",v)}}}}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(27),b=D(35),s=D(44);y.a.extendSeriesModel({type:"series.scatter3D",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",getInitialData:function(T,c){return Object(s.a)(this)},getFormattedLabel:function(T,c,u,f){var i=L.a.getFormattedLabel(this,T,c,u,f);if(i==null){var o=this.getData(),d=o.dimensions[o.dimensions.length-1];i=o.get(d,T)}return i},formatTooltip:function(T){return Object(b.a)(this,T)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,progressive:1e5,progressiveThreshold:1e5,grid3DIndex:0,globeIndex:0,symbol:"circle",symbolSize:10,blendMode:"source-over",label:{show:!1,position:"right",distance:5,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},itemStyle:{opacity:.8},emphasis:{label:{show:!0}},animationDurationUpdate:500}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(3),s=D(27),T=D(62);y.a.extendChartView({type:"scatter3D",__ecgl__:!0,init:function(c,u){this.groupGL=new L.a.Node,this._pointsBuilderList=[],this._currentStep=0},render:function(c,u,f){if(this.groupGL.removeAll(),!!c.getData().count()){var i=c.coordinateSystem;if(i&&i.viewGL){i.viewGL.add(this.groupGL),this._camera=i.viewGL.camera;var o=this._pointsBuilderList[0];o||(o=this._pointsBuilderList[0]=new T.a(!1,f)),this._pointsBuilderList.length=1,this.groupGL.add(o.rootNode),o.update(c,u,f),o.updateView(i.viewGL.camera)}else throw new Error("Invalid coordinate system")}},incrementalPrepareRender:function(c,u,f){var i=c.coordinateSystem;if(i&&i.viewGL)i.viewGL.add(this.groupGL),this._camera=i.viewGL.camera;else throw new Error("Invalid coordinate system");this.groupGL.removeAll(),this._currentStep=0},incrementalRender:function(c,u,f,i){if(!(c.end<=c.start)){var o=this._pointsBuilderList[this._currentStep];o||(o=new T.a(!1,i),this._pointsBuilderList[this._currentStep]=o),this.groupGL.add(o.rootNode),o.update(u,f,i,c.start,c.end),o.updateView(u.coordinateSystem.viewGL.camera),this._currentStep++}},updateCamera:function(){this._pointsBuilderList.forEach(function(c){c.updateView(this._camera)},this)},highlight:function(c,u,f,i){this._toggleStatus("highlight",c,u,f,i)},downplay:function(c,u,f,i){this._toggleStatus("downplay",c,u,f,i)},_toggleStatus:function(c,u,f,i,o){var d=u.getData(),p=b.a.queryDataIndex(d,o),m=c==="highlight";p!=null?y.a.util.each(s.a.normalizeToArray(p),function(h){for(var v=0;v<this._pointsBuilderList.length;v++){var r=this._pointsBuilderList[v];m?r.highlight(d,h):r.downplay(d,h)}},this):d.each(function(h){for(var v=0;v<this._pointsBuilderList.length;v++){var r=this._pointsBuilderList[v];m?r.highlight(d,h):r.downplay(d,h)}})},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W);function L(c,i,f){var i=i||document.createElement("canvas");i.width=c,i.height=c;var o=i.getContext("2d");return f&&f(o),i}function b(c,u,f,i){y.a.util.isArray(u)||(u=[u,u]);var o=T.getMarginByStyle(f,i),d=u[0]+o.left+o.right,p=u[1]+o.top+o.bottom,m=y.a.helper.createSymbol(c,0,0,u[0],u[1]),h=Math.max(d,p);m.position=[o.left,o.top],d>p?m.position[1]+=(h-p)/2:m.position[0]+=(h-d)/2;var v=m.getBoundingRect();return m.position[0]-=v.x,m.position[1]-=v.y,m.setStyle(f),m.update(),m.__size=h,m}function s(c,u,f){var i=u.width,o=u.height,d=c.canvas.width,p=c.canvas.height,m=i/d,h=o/p;function v(O){return O<128?1:-1}function r(O,G){var B=1/0;O=Math.floor(O*m),G=Math.floor(G*h);for(var P=G*i+O,F=u.data[P*4],K=v(F),U=Math.max(G-f,0);U<Math.min(G+f,o);U++)for(var V=Math.max(O-f,0);V<Math.min(O+f,i);V++){var P=U*i+V,C=u.data[P*4],M=v(C),z=V-O,$=U-G;if(K!==M){var q=z*z+$*$;q<B&&(B=q)}}return K*Math.sqrt(B)}for(var a=c.createImageData(d,p),g=0;g<p;g++)for(var E=0;E<d;E++){var S=r(E,g),w=S/f*.5+.5,R=(g*d+E)*4;a.data[R++]=(1-w)*255,a.data[R++]=(1-w)*255,a.data[R++]=(1-w)*255,a.data[R++]=255}return a}var T={getMarginByStyle:function(c){var u=c.minMargin||0,f=0;c.stroke&&c.stroke!=="none"&&(f=c.lineWidth==null?1:c.lineWidth);var i=c.shadowBlur||0,o=c.shadowOffsetX||0,d=c.shadowOffsetY||0,p={};return p.left=Math.max(f/2,-o+i,u),p.right=Math.max(f/2,o+i,u),p.top=Math.max(f/2,-d+i,u),p.bottom=Math.max(f/2,d+i,u),p},createSymbolSprite:function(c,u,f,i){var o=b(c,u,f),d=T.getMarginByStyle(f);return{image:L(o.__size,i,function(p){o.brush(p)}),margin:d}},createSDFFromCanvas:function(c,u,f,i){return L(u,i,function(o){var d=c.getContext("2d"),p=d.getImageData(0,0,c.width,c.height);o.putImageData(s(o,p,f),0,0)})},createSimpleSprite:function(c,u){return L(c,u,function(f){var i=c/2;f.beginPath(),f.arc(i,i,60,0,Math.PI*2,!1),f.closePath();var o=f.createRadialGradient(i,i,0,i,i,i);o.addColorStop(0,"rgba(255, 255, 255, 1)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),o.addColorStop(1,"rgba(255, 255, 255, 0)"),f.fillStyle=o,f.fill()})}};X.a=T},function(te,X,D){"use strict";var W=D(2),y=D(218),L=D(0),b=D.n(L),s=D(1),T=D.n(s),c=D(219),u=T.a.vec4;W.a.Shader.import(c.a);var f=W.a.Mesh.extend(function(){var i=new W.a.Geometry({dynamic:!0,attributes:{color:new W.a.Geometry.Attribute("color","float",4,"COLOR"),position:new W.a.Geometry.Attribute("position","float",3,"POSITION"),size:new W.a.Geometry.Attribute("size","float",1),prevPosition:new W.a.Geometry.Attribute("prevPosition","float",3),prevSize:new W.a.Geometry.Attribute("prevSize","float",1)}});b.a.util.extend(i,y.a);var o=new W.a.Material({shader:W.a.createShader("ecgl.sdfSprite"),transparent:!0,depthMask:!1});o.enableTexture("sprite"),o.define("both","VERTEX_COLOR"),o.define("both","VERTEX_SIZE");var d=new W.a.Texture2D({image:document.createElement("canvas"),flipY:!1});return o.set("sprite",d),i.pick=this._pick.bind(this),{geometry:i,material:o,mode:W.a.Mesh.POINTS,sizeScale:1}},{_pick:function(i,o,d,p,m,h){var v=this._positionNDC;if(v)for(var r=d.viewport,a=2/r.width,g=2/r.height,E=this.geometry.vertexCount-1;E>=0;E--){var S;this.geometry.indices?S=this.geometry.indices[E]:S=E;var w=v[S*2],R=v[S*2+1],O=this.geometry.attributes.size.get(S)/this.sizeScale,G=O/2;if(i>w-G*a&&i<w+G*a&&o>R-G*g&&o<R+G*g){var B=new W.a.Vector3,P=new W.a.Vector3;this.geometry.attributes.position.get(S,B.array),W.a.Vector3.transformMat4(P,B,this.worldTransform),h.push({vertexIndex:S,point:B,pointWorld:P,target:this,distance:P.distance(p.getWorldPosition())})}}},updateNDCPosition:function(i,o,d){var p=this._positionNDC,m=this.geometry;(!p||p.length/2!==m.vertexCount)&&(p=this._positionNDC=new Float32Array(m.vertexCount*2));for(var h=u.create(),v=0;v<m.vertexCount;v++)m.attributes.position.get(v,h),h[3]=1,u.transformMat4(h,h,i.array),u.scale(h,h,1/h[3]),p[v*2]=h[0],p[v*2+1]=h[1]}});X.a=f},function(te,X,D){"use strict";var W=D(81),y=D(1),L=D.n(y),b=L.a.vec3;X.a={needsSortVertices:function(){return this.sortVertices},needsSortVerticesProgressively:function(){return this.needsSortVertices()&&this.vertexCount>=2e4},doSortVertices:function(s,T){var c=this.indices,u=b.create();if(!c){c=this.indices=this.vertexCount>65535?new Uint32Array(this.vertexCount):new Uint16Array(this.vertexCount);for(var f=0;f<c.length;f++)c[f]=f}if(T===0){var i=this.attributes.position,s=s.array,o=0;(!this._zList||this._zList.length!==this.vertexCount)&&(this._zList=new Float32Array(this.vertexCount));for(var d,f=0;f<this.vertexCount;f++){i.get(f,u);var p=b.sqrDist(u,s);isNaN(p)&&(p=1e7,o++),f===0?(d=p,p=0):p=p-d,this._zList[f]=p}this._noneCount=o}if(this.vertexCount<2e4)T===0&&this._simpleSort(this._noneCount/this.vertexCount>.05);else for(var f=0;f<3;f++)this._progressiveQuickSort(T*3+f);this.dirtyIndices()},_simpleSort:function(s){var T=this._zList,c=this.indices;function u(f,i){return T[i]-T[f]}s?Array.prototype.sort.call(c,u):W.a.sort(c,u,0,c.length-1)},_progressiveQuickSort:function(s){var T=this._zList,c=this.indices;this._quickSort=this._quickSort||new W.a,this._quickSort.step(c,function(u,f){return T[f]-T[u]},s)}}},function(te,X,D){"use strict";X.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(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(221),b=D(222),s=D(225),T=D(16);y.a.registerVisual(Object(T.a)("lines3D")),y.a.registerAction({type:"lines3DPauseEffect",event:"lines3deffectpaused",update:"series.lines3D:pauseEffect"},function(){}),y.a.registerAction({type:"lines3DResumeEffect",event:"lines3deffectresumed",update:"series.lines3D:resumeEffect"},function(){}),y.a.registerAction({type:"lines3DToggleEffect",event:"lines3deffectchanged",update:"series.lines3D:toggleEffect"},function(){})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(1),b=D.n(L),s=b.a.vec3,T=b.a.vec2,c=s.normalize,u=s.cross,f=s.sub,i=s.add,o=s.create,d=o(),p=o(),m=o(),h=o(),v=[],r=[];function a(O,G){T.copy(v,O[0]),T.copy(r,O[1]);var B=[],P=B[0]=o(),F=B[1]=o(),K=B[2]=o(),U=B[3]=o();G.dataToPoint(v,P),G.dataToPoint(r,U),c(d,P),f(p,U,P),c(p,p),u(m,p,d),c(m,m),u(p,d,m),i(F,d,p),c(F,F),c(d,U),f(p,P,U),c(p,p),u(m,p,d),c(m,m),u(p,d,m),i(K,d,p),c(K,K),i(h,P,U),c(h,h);var V=s.dot(P,h),C=s.dot(h,F),M=(Math.max(s.len(P),s.len(U))-V)/C*2;return s.scaleAndAdd(F,P,F,M),s.scaleAndAdd(K,U,K,M),B}function g(O,G,B){var P=[],F=P[0]=s.create(),K=P[1]=s.create(),U=P[2]=s.create(),V=P[3]=s.create();G.dataToPoint(O[0],F),G.dataToPoint(O[1],V);var C=s.dist(F,V);return s.lerp(K,F,V,.3),s.lerp(U,F,V,.3),s.scaleAndAdd(K,K,B,Math.min(C*.1,10)),s.scaleAndAdd(U,U,B,Math.min(C*.1,10)),P}function E(O,G){for(var B=new Float32Array(O.length*3),P=0,F=[],K=0;K<O.length;K++)G.dataToPoint(O[K],F),B[P++]=F[0],B[P++]=F[1],B[P++]=F[2];return B}function S(O){var G=[];return O.each(function(B){var P=O.getItemModel(B),F=P.option instanceof Array?P.option:P.getShallow("coords",!0);if(!(F instanceof Array&&F.length>0&&F[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(F)+". Lines must have 2d coords array in data item.");G.push(F)}),{coordsList:G}}function w(O,G){var B=O.getData(),P=O.get("polyline");B.setLayout("lineType",P?"polyline":"cubicBezier");var F=S(B);B.each(function(K){var U=F.coordsList[K],V=P?E:a;B.setItemLayout(K,V(U,G))})}function R(O,G,B){var P=O.getData(),F=O.get("polyline"),K=S(P);P.setLayout("lineType",F?"polyline":"cubicBezier"),P.each(function(U){var V=K.coordsList[U],C=F?E(V,G):g(V,G,B);P.setItemLayout(U,C)})}y.a.registerLayout(function(O,G){O.eachSeriesByType("lines3D",function(B){var P=B.coordinateSystem;P.type==="globe"?w(B,P):P.type==="geo3D"?R(B,P,[0,1,0]):P.type==="mapbox3D"&&R(B,P,[0,0,1])})})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(22),s=D(223),T=D(40);L.a.Shader.import(T.a);function c(f){return f.radius!=null?f.radius:f.size!=null?Math.max(f.size[0],f.size[1],f.size[2]):100}var u=y.a.extendChartView({type:"lines3D",__ecgl__:!0,init:function(f,i){this.groupGL=new L.a.Node,this._meshLinesMaterial=new L.a.Material({shader:L.a.createShader("ecgl.meshLines3D"),transparent:!0,depthMask:!1}),this._linesMesh=new L.a.Mesh({geometry:new b.a,material:this._meshLinesMaterial,$ignorePicking:!0}),this._trailMesh=new s.a},render:function(f,i,o){this.groupGL.add(this._linesMesh);var d=f.coordinateSystem,p=f.getData();if(d&&d.viewGL){var m=d.viewGL;m.add(this.groupGL),this._updateLines(f,i,o);var h=d.viewGL.isLinearSpace()?"define":"undefine";this._linesMesh.material[h]("fragment","SRGB_DECODE"),this._trailMesh.material[h]("fragment","SRGB_DECODE")}var v=this._trailMesh;if(v.stopAnimation(),f.get("effect.show")){this.groupGL.add(v),v.updateData(p,o,this._linesMesh.geometry),v.__time=v.__time||0;var r=3600*1e3;this._curveEffectsAnimator=v.animate("",{loop:!0}).when(r,{__time:r}).during(function(){v.setAnimationTime(v.__time)}).start()}else this.groupGL.remove(v),this._curveEffectsAnimator=null;this._linesMesh.material.blend=this._trailMesh.material.blend=f.get("blendMode")==="lighter"?L.a.additiveBlend:null},pauseEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.pause()},resumeEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.resume()},toggleEffect:function(){var f=this._curveEffectsAnimator;f&&(f.isPaused()?f.resume():f.pause())},_updateLines:function(f,i,o){var d=f.getData(),p=f.coordinateSystem,m=this._linesMesh.geometry,h=f.get("polyline");m.expandLine=!0;var v=c(p);m.segmentScale=v/20;var r="lineStyle.width".split("."),a=o.getDevicePixelRatio(),g=0;d.each(function(R){var O=d.getItemModel(R),G=O.get(r);G==null&&(G=1),d.setItemVisual(R,"lineWidth",G),g=Math.max(G,g)}),m.useNativeLine=!1;var E=0,S=0;d.each(function(R){var O=d.getItemLayout(R);h?(E+=m.getPolylineVertexCount(O),S+=m.getPolylineTriangleCount(O)):(E+=m.getCubicCurveVertexCount(O[0],O[1],O[2],O[3]),S+=m.getCubicCurveTriangleCount(O[0],O[1],O[2],O[3]))}),m.setVertexCount(E),m.setTriangleCount(S),m.resetOffset();var w=[];d.each(function(R){var O=d.getItemLayout(R),G=d.getItemVisual(R,"color"),B=d.getItemVisual(R,"opacity"),P=d.getItemVisual(R,"lineWidth")*a;B==null&&(B=1),w=L.a.parseColor(G,w),w[3]*=B,h?m.addPolyline(O,w,P):m.addCubicCurve(O[0],O[1],O[2],O[3],w,P)}),m.dirty()},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(1),s=D.n(b),T=D(22),c=D(224),u=s.a.vec3;function f(i){return i>0?1:-1}L.a.Shader.import(c.a),X.a=L.a.Mesh.extend(function(){var i=new L.a.Material({shader:new L.a.Shader(L.a.Shader.source("ecgl.trail2.vertex"),L.a.Shader.source("ecgl.trail2.fragment")),transparent:!0,depthMask:!1}),o=new T.a({dynamic:!0});return o.createAttribute("dist","float",1),o.createAttribute("distAll","float",1),o.createAttribute("start","float",1),{geometry:o,material:i,culling:!1,$ignorePicking:!0}},{updateData:function(i,o,d){var p=i.hostModel,m=this.geometry,h=p.getModel("effect"),v=h.get("trailWidth")*o.getDevicePixelRatio(),r=h.get("trailLength"),a=p.get("effect.constantSpeed"),g=p.get("effect.period")*1e3,E=a!=null;this.getScene()||console.error("TrailMesh must been add to scene before updateData"),E?this.material.set("speed",a/1e3):this.material.set("period",g),this.material[E?"define":"undefine"]("vertex","CONSTANT_SPEED");var S=p.get("polyline");m.trailLength=r,this.material.set("trailLength",r),m.resetOffset(),["position","positionPrev","positionNext"].forEach(function(M){m.attributes[M].value=d.attributes[M].value});var w=["dist","distAll","start","offset","color"];w.forEach(function(M){m.attributes[M].init(m.vertexCount)}),m.indices=d.indices;var R=[],O=h.get("trailColor"),G=h.get("trailOpacity"),B=O!=null,P=G!=null;this.updateWorldTransform();var F=this.worldTransform.x.len(),K=this.worldTransform.y.len(),U=this.worldTransform.z.len(),V=0,C=0;i.each(function(M){var z=i.getItemLayout(M),$=P?G:i.getItemVisual(M,"opacity"),q=i.getItemVisual(M,"color");$==null&&($=1),R=L.a.parseColor(B?O:q,R),R[3]*=$;for(var se=S?d.getPolylineVertexCount(z):d.getCubicCurveVertexCount(z[0],z[1],z[2],z[3]),ue=0,pe=[],Ee=[],De=V;De<V+se;De++)m.attributes.position.get(De,pe),pe[0]*=F,pe[1]*=K,pe[2]*=U,De>V&&(ue+=u.dist(pe,Ee)),m.attributes.dist.set(De,ue),u.copy(Ee,pe);C=Math.max(C,ue);for(var Fe=Math.random()*(E?ue:g),De=V;De<V+se;De++)m.attributes.distAll.set(De,ue),m.attributes.start.set(De,Fe),m.attributes.offset.set(De,f(d.attributes.offset.get(De))*v/2),m.attributes.color.set(De,R);V+=se}),this.material.set("spotSize",C*.1*r),this.material.set("spotIntensity",h.get("spotIntensity")),m.dirty()},setAnimationTime:function(i){this.material.set("time",i)}})},function(te,X,D){"use strict";X.a=`@export ecgl.trail2.vertex
attribute vec3 position: POSITION;
attribute vec3 positionPrev;
attribute vec3 positionNext;
attribute float offset;
attribute float dist;
attribute float distAll;
attribute float start;
attribute vec4 a_Color : COLOR;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
uniform float near : NEAR;
uniform float speed : 0;
uniform float trailLength: 0.3;
uniform float time;
uniform float period: 1000;
uniform float spotSize: 1;
varying vec4 v_Color;
varying float v_Percent;
varying float v_SpotPercent;
@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
#ifdef CONSTANT_SPEED
float t = mod((speed * time + start) / distAll, 1. + trailLength) - trailLength;
#else
float t = mod((time + start) / period, 1. + trailLength) - trailLength;
#endif
float trailLen = distAll * trailLength;
v_Percent = (dist - t * distAll) / trailLen;
v_SpotPercent = spotSize / distAll;
}
@end
@export ecgl.trail2.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform float spotIntensity: 5;
varying vec4 v_Color;
varying float v_Percent;
varying float v_SpotPercent;
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
if (v_Percent > 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(te,X,D){"use strict";var W=D(0),y=D.n(W);y.a.extendSeriesModel({type:"series.lines3D",dependencies:["globe"],visualColorAccessPath:"lineStyle.color",getInitialData:function(L,b){var s=new y.a.List(["value"],this);return s.hasItemOption=!1,s.initData(L.data,[],function(T,c,u,f){if(T instanceof Array)return NaN;s.hasItemOption=!0;var i=T.value;if(i!=null)return i instanceof Array?i[f]:i}),s},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(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(227),b=D(228),s=D(16);y.a.registerVisual(Object(s.a)("polygons3D"))},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(26);function b(c,u){for(var f=[],i=0;i<u.length;i++)f.push(c.dataToPoint(u[i]));return f}var s=y.a.extendSeriesModel({type:"series.polygons3D",getRegionModel:function(c){return this.getData().getItemModel(c)},getRegionPolygonCoords:function(c){var u=this.coordinateSystem,f=this.getData().getItemModel(c),i=f.option instanceof Array?f.option:f.getShallow("coords");f.get("multiPolygon")||(i=[i]);for(var o=[],d=0;d<i.length;d++){for(var p=[],m=1;m<i[d].length;m++)p.push(b(u,i[d][m]));o.push({exterior:b(u,i[d][0]),interiors:p})}return o},getInitialData:function(c){var u=new y.a.List(["value"],this);return u.hasItemOption=!1,u.initData(c.data,[],function(f,i,o,d){if(f instanceof Array)return NaN;u.hasItemOption=!0;var p=f.value;if(p!=null)return p instanceof Array?p[d]:p}),u},defaultOption:{show:!0,data:null,multiPolygon:!1,progressiveThreshold:1e3,progressive:1e3,zlevel:-10,label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}});y.a.util.merge(s.prototype,L.a);var T=s},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(59),b=D(2);y.a.extendChartView({type:"polygons3D",__ecgl__:!0,init:function(s,T){this.groupGL=new b.a.Node,this._geo3DBuilderList=[],this._currentStep=0},render:function(s,T,c){this.groupGL.removeAll();var u=s.coordinateSystem;u&&u.viewGL&&u.viewGL.add(this.groupGL);var f=this._geo3DBuilderList[0];f||(f=new L.a(c),f.extrudeY=u.type!=="mapbox3D",this._geo3DBuilderList[0]=f),this._updateShaderDefines(u,f),f.update(s,T,c),this._geo3DBuilderList.length=1,this.groupGL.add(f.rootNode)},incrementalPrepareRender:function(s,T,c){this.groupGL.removeAll();var u=s.coordinateSystem;u&&u.viewGL&&u.viewGL.add(this.groupGL),this._currentStep=0},incrementalRender:function(s,T,c,u){var f=this._geo3DBuilderList[this._currentStep],i=T.coordinateSystem;f||(f=new L.a(u),f.extrudeY=i.type!=="mapbox3D",this._geo3DBuilderList[this._currentStep]=f),f.update(T,c,u,s.start,s.end),this.groupGL.add(f.rootNode),this._updateShaderDefines(i,f),this._currentStep++},_updateShaderDefines:function(s,T){var c=s.viewGL.isLinearSpace()?"define":"undefine";T.rootNode.traverse(function(u){u.material&&(u.material[c]("fragment","SRGB_DECODE"),s.type==="mapbox3D"&&(u.material.define("fragment","NORMAL_UP_AXIS",2),u.material.define("fragment","NORMAL_FRONT_AXIS",1)))})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(230),b=D(231),s=D(232),T=D(16);y.a.registerVisual(Object(T.a)("surface"))},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(26),b=D(35),s=D(44),T=y.a.extendSeriesModel({type:"series.surface",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",formatTooltip:function(u){return Object(b.a)(this,u)},getInitialData:function(u,f){var i=u.data;function o(z){return!(isNaN(z.min)||isNaN(z.max)||isNaN(z.step))}function d(z){var $=y.a.number.getPrecisionSafe;return Math.max($(z.min),$(z.max),$(z.step))+1}if(!i)if(i=[],u.parametric){var R=u.parametricEquation||{},O=R.u||{},G=R.v||{};["u","v"].forEach(function(z){if(!o(R[z])){console.error("Invalid parametricEquation.%s",z);return}}),["x","y","z"].forEach(function(z){if(typeof R[z]!="function"){console.error("parametricEquation.%s needs to be function",z);return}});for(var B=d(O),P=d(G),F=G.min;F<G.max+G.step*.999;F+=G.step)for(var K=O.min;K<O.max+O.step*.999;K+=O.step){var U=y.a.number.round(Math.min(K,O.max),B),V=y.a.number.round(Math.min(F,G.max),P),g=R.x(U,V),a=R.y(U,V),w=R.z(U,V);i.push([g,a,w,U,V])}}else{var p=u.equation||{},m=p.x||{},h=p.y||{};if(["x","y"].forEach(function(z){if(!o(p[z])){console.error("Invalid equation.%s",z);return}}),typeof p.z!="function"){console.error("equation.z needs to be function");return}for(var v=d(m),r=d(h),a=h.min;a<h.max+h.step*.999;a+=h.step)for(var g=m.min;g<m.max+m.step*.999;g+=m.step){var E=y.a.number.round(Math.min(g,m.max),v),S=y.a.number.round(Math.min(a,h.max),r),w=p.z(E,S);i.push([E,S,w])}}var C=["x","y","z"];u.parametric&&C.push("u","v");var M=Object(s.a)(this,C,u.data||i);return M},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,shading:"lambert",parametric:!1,wireframe:{show:!0,lineStyle:{color:"rgba(0,0,0,0.5)",width:1}},equation:{x:{min:-1,max:1,step:.1},y:{min:-1,max:1,step:.1},z:null},parametricEquation:{u:{min:-1,max:1,step:.1},v:{min:-1,max:1,step:.1},x:null,y:null,z:null},itemStyle:{},animationDurationUpdate:500}});y.a.util.merge(T.prototype,L.a);var c=T},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(3),s=D(1),T=D.n(s),c=D(60),u=T.a.vec3;function f(i){return isNaN(i[0])||isNaN(i[1])||isNaN(i[2])}y.a.extendChartView({type:"surface",__ecgl__:!0,init:function(i,o){this.groupGL=new L.a.Node},render:function(i,o,d){var p=this._prevSurfaceMesh;this._prevSurfaceMesh=this._surfaceMesh,this._surfaceMesh=p,this._surfaceMesh||(this._surfaceMesh=this._createSurfaceMesh()),this.groupGL.remove(this._prevSurfaceMesh),this.groupGL.add(this._surfaceMesh);var m=i.coordinateSystem,h=i.get("shading"),v=i.getData(),r="ecgl."+h;if((!this._surfaceMesh.material||this._surfaceMesh.material.shader.name!==r)&&(this._surfaceMesh.material=L.a.createMaterial(r,["VERTEX_COLOR","DOUBLE_SIDED"])),L.a.setMaterialFromModel(h,this._surfaceMesh.material,i,d),m&&m.viewGL){m.viewGL.add(this.groupGL);var a=m.viewGL.isLinearSpace()?"define":"undefine";this._surfaceMesh.material[a]("fragment","SRGB_DECODE")}var g=i.get("parametric"),E=this._getDataShape(v,g),S=i.getModel("wireframe"),w=S.get("lineStyle.width"),R=S.get("show")&&w>0;this._updateSurfaceMesh(this._surfaceMesh,i,E,R);var O=this._surfaceMesh.material;R?(O.define("WIREFRAME_QUAD"),O.set("wireframeLineWidth",w),O.set("wireframeLineColor",L.a.parseColor(S.get("lineStyle.color")))):O.undefine("WIREFRAME_QUAD"),this._initHandler(i,d),this._updateAnimation(i)},_updateAnimation:function(i){L.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevSurfaceMesh,this._surfaceMesh,i)},_createSurfaceMesh:function(){var i=new L.a.Mesh({geometry:new L.a.Geometry({dynamic:!0,sortTriangles:!0}),shadowDepthMaterial:new L.a.Material({shader:new L.a.Shader(L.a.Shader.source("ecgl.sm.depth.vertex"),L.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:!1,renderOrder:10,renderNormal:!0});return i.geometry.createAttribute("barycentric","float",4),i.geometry.createAttribute("prevPosition","float",3),i.geometry.createAttribute("prevNormal","float",3),y.a.util.extend(i.geometry,c.a),i},_initHandler:function(i,o){var d=i.getData(),p=this._surfaceMesh,m=i.coordinateSystem;function h(r,a){for(var g=1/0,E=-1,S=[],w=0;w<r.length;w++){p.geometry.attributes.position.get(r[w],S);var R=u.dist(a.array,S);R<g&&(g=R,E=r[w])}return E}p.seriesIndex=i.seriesIndex;var v=-1;p.off("mousemove"),p.off("mouseout"),p.on("mousemove",function(r){var a=h(r.triangle,r.point);if(a>=0){var g=[];p.geometry.attributes.position.get(a,g);for(var E=m.pointToData(g),S=1/0,w=-1,R=[],O=0;O<d.count();O++){R[0]=d.get("x",O),R[1]=d.get("y",O),R[2]=d.get("z",O);var G=u.squaredDistance(R,E);G<S&&(w=O,S=G)}w!==v&&o.dispatchAction({type:"grid3DShowAxisPointer",value:E}),v=w,p.dataIndex=w}else p.dataIndex=-1},this),p.on("mouseout",function(r){v=-1,p.dataIndex=-1,o.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateSurfaceMesh:function(i,o,d,p){var m=i.geometry,h=o.getData(),v=h.getLayout("points"),r=0;h.each(function(Te){h.hasValue(Te)||r++});var a=r||p,g=m.attributes.position,E=m.attributes.normal,S=m.attributes.texcoord0,w=m.attributes.barycentric,R=m.attributes.color,O=d.row,G=d.column,B=o.get("shading"),P=B!=="color";if(a){var F=(O-1)*(G-1)*4;g.init(F),p&&w.init(F)}else g.value=new Float32Array(v);R.init(m.vertexCount),S.init(m.vertexCount);var K=[0,3,1,1,3,2],U=[[1,1,0,0],[0,1,0,1],[1,0,0,1],[1,0,1,0]],V=m.indices=new(m.vertexCount>65535?Uint32Array:Uint16Array)((O-1)*(G-1)*6),C=function(Te,Oe,Be){Be[1]=Te*G+Oe,Be[0]=Te*G+Oe+1,Be[3]=(Te+1)*G+Oe+1,Be[2]=(Te+1)*G+Oe},M=!1;if(a){var z=[],$=[],q=0;P?E.init(m.vertexCount):E.value=null;for(var se=[[],[],[]],ue=[],pe=[],Ee=u.create(),De=function(Te,Oe,Be){var Xe=Oe*3;return Be[0]=Te[Xe],Be[1]=Te[Xe+1],Be[2]=Te[Xe+2],Be},Fe=new Float32Array(v.length),Ge=new Float32Array(v.length/3*4),xe=0;xe<h.count();xe++)if(h.hasValue(xe)){var he=L.a.parseColor(h.getItemVisual(xe,"color")),Ke=h.getItemVisual(xe,"opacity");he[3]*=Ke,he[3]<.99&&(M=!0);for(var Ce=0;Ce<4;Ce++)Ge[xe*4+Ce]=he[Ce]}for(var Se=[1e7,1e7,1e7],xe=0;xe<O-1;xe++)for(var ge=0;ge<G-1;ge++){var Re=xe*(G-1)+ge,ve=Re*4;C(xe,ge,z);for(var Le=!1,Ce=0;Ce<4;Ce++)De(v,z[Ce],$),f($)&&(Le=!0);for(var Ce=0;Ce<4;Ce++)Le?g.set(ve+Ce,Se):(De(v,z[Ce],$),g.set(ve+Ce,$)),p&&w.set(ve+Ce,U[Ce]);for(var Ce=0;Ce<6;Ce++)V[q++]=K[Ce]+ve;if(P&&!Le)for(var Ce=0;Ce<2;Ce++){for(var Ue=Ce*3,me=0;me<3;me++){var oe=z[K[Ue]+me];De(v,oe,se[me])}u.sub(ue,se[0],se[1]),u.sub(pe,se[1],se[2]),u.cross(Ee,ue,pe);for(var me=0;me<3;me++){var ie=z[K[Ue]+me]*3;Fe[ie]=Fe[ie]+Ee[0],Fe[ie+1]=Fe[ie+1]+Ee[1],Fe[ie+2]=Fe[ie+2]+Ee[2]}}}if(P)for(var xe=0;xe<Fe.length/3;xe++)De(Fe,xe,Ee),u.normalize(Ee,Ee),Fe[xe*3]=Ee[0],Fe[xe*3+1]=Ee[1],Fe[xe*3+2]=Ee[2];for(var he=[],ye=[],xe=0;xe<O-1;xe++)for(var ge=0;ge<G-1;ge++){var Re=xe*(G-1)+ge,ve=Re*4;C(xe,ge,z);for(var Ce=0;Ce<4;Ce++){for(var me=0;me<4;me++)he[me]=Ge[z[Ce]*4+me];R.set(ve+Ce,he),P&&(De(Fe,z[Ce],Ee),E.set(ve+Ce,Ee));var oe=z[Ce];ye[0]=oe%G/(G-1),ye[1]=Math.floor(oe/G)/(O-1),S.set(ve+Ce,ye)}Re++}}else{for(var ye=[],xe=0;xe<h.count();xe++){ye[0]=xe%G/(G-1),ye[1]=Math.floor(xe/G)/(O-1);var he=L.a.parseColor(h.getItemVisual(xe,"color")),Ke=h.getItemVisual(xe,"opacity");he[3]*=Ke,he[3]<.99&&(M=!0),R.set(xe,he),S.set(xe,ye)}for(var z=[],ce=0,xe=0;xe<O-1;xe++)for(var ge=0;ge<G-1;ge++){C(xe,ge,z);for(var Ce=0;Ce<6;Ce++)V[ce++]=z[K[Ce]]}P?m.generateVertexNormals():E.value=null}i.material.get("normalMap")&&m.generateTangents(),m.updateBoundingBox(),m.dirty(),i.material.transparent=M,i.material.depthMask=!M},_getDataShape:function(i,o){for(var d=-1/0,p=0,m=0,h=0,v=o?"u":"x",r=0;r<i.count();r++){var a=i.get(v,r);if(a<d){if(h&&h!==m)throw new Error("Invalid data. data should be a row major 2d array.");h=m,m=0,p++}d=a,m++}return{row:p+1,column:m}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W);y.a.registerLayout(function(L,b){L.eachSeriesByType("surface",function(s){var T=s.coordinateSystem;(!T||T.type!=="cartesian3D")&&console.error("Surface chart only support cartesian3D coordinateSystem");var c=s.getData(),u=new Float32Array(3*c.count()),f=[NaN,NaN,NaN];if(T&&T.type==="cartesian3D"){var i=T.dimensions,o=i.map(function(d){return s.coordDimToDataDim(d)[0]});c.each(o,function(d,p,m,h){var v;c.hasValue(h)?v=T.dataToPoint([d,p,m]):v=f,u[h*3]=v[0],u[h*3+1]=v[1],u[h*3+2]=v[2]})}c.setLayout("points",u)})})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(83),b=D(234),s=D(235),T=D(16);y.a.registerVisual(Object(T.a)("map3D")),y.a.registerAction({type:"map3DChangeCamera",event:"map3dcamerachanged",update:"series:updateCamera"},function(c,u){u.eachComponent({mainType:"series",subType:"map3D",query:c},function(f){f.setView(c)})})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(38),b=D(31),s=D(32),T=D(26),c=D(80),u=D(27),f=D(35),i=D(82);function o(m,h){for(var v=[],r=0;r<h.length;r++)v.push(m.dataToPoint(h[r]));return v}var d=y.a.extendSeriesModel({type:"series.map3D",layoutMode:"box",coordinateSystem:null,visualColorAccessPath:"itemStyle.color",optionUpdated:function(m){m=m||{};var h=this.get("coordinateSystem");if(!(h==null||h==="geo3D")){var v=["left","top","width","height","boxWidth","boxDepth","boxHeight","light","viewControl","postEffect","temporalSuperSampling","environment","groundPlane"],r=[];v.forEach(function(a){m[a]!=null&&r.push(a)}),r.length&&console.warn("Property %s in map3D series will be ignored if coordinate system is %s",r.join(", "),h),this.get("groundPlane.show")&&(this.option.groundPlane.show=!1),this._geo=null}},getInitialData:function(m){m.data=this.getFilledRegions(m.data,m.map);var h=y.a.helper.completeDimensions(["value"],m.data),v=new y.a.List(h,this);v.initData(m.data);var r={};return v.each(function(a){var g=v.getName(a),E=v.getItemModel(a);r[g]=E}),this._regionModelMap=r,v},formatTooltip:function(m){return Object(f.a)(this,m)},getRegionModel:function(m){var h=this.getData().getName(m);return this._regionModelMap[h]||new y.a.Model(null,this)},getRegionPolygonCoords:function(m){var h=this.coordinateSystem,v=this.getData().getName(m);if(h.transform){var r=h.getRegion(v);return r?r.geometries:[]}else{this._geo||(this._geo=i.a.createGeo3D(this));for(var r=this._geo.getRegion(v),a=[],g=0;g<r.geometries.length;g++){var E=r.geometries[g],S=[],w=o(h,E.exterior);if(S&&S.length)for(var R=0;R<E.interiors.length;R++)S.push(o(h,S[R]));a.push({interiors:S,exterior:w})}return a}},getFormattedLabel:function(m,h){var v=u.a.getFormattedLabel(this,m,h);return v==null&&(v=this.getData().getName(m)),v},defaultOption:{coordinateSystem:"geo3D",data:null}});y.a.util.merge(d.prototype,c.a),y.a.util.merge(d.prototype,L.a),y.a.util.merge(d.prototype,b.a),y.a.util.merge(d.prototype,s.a),y.a.util.merge(d.prototype,T.a);var p=d},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(39),s=D(34),T=D(59),c=y.a.extendChartView({type:"map3D",__ecgl__:!0,init:function(u,f){this._geo3DBuilder=new T.a(f),this.groupGL=new L.a.Node},render:function(u,f,i){var o=u.coordinateSystem;if(!(!o||!o.viewGL)){this.groupGL.add(this._geo3DBuilder.rootNode),o.viewGL.add(this.groupGL);var d;if(o.type==="geo3D"){d=o,this._sceneHelper||(this._sceneHelper=new s.a,this._sceneHelper.initLight(this.groupGL)),this._sceneHelper.setScene(o.viewGL.scene),this._sceneHelper.updateLight(u),o.viewGL.setPostEffect(u.getModel("postEffect"),i),o.viewGL.setTemporalSuperSampling(u.getModel("temporalSuperSampling"));var p=this._control;p||(p=this._control=new b.a({zr:i.getZr()}),this._control.init());var m=u.getModel("viewControl");p.setViewGL(o.viewGL),p.setFromViewControlModel(m,0),p.off("update"),p.on("update",function(){i.dispatchAction({type:"map3DChangeCamera",alpha:p.getAlpha(),beta:p.getBeta(),distance:p.getDistance(),from:this.uid,map3DId:u.id})}),this._geo3DBuilder.extrudeY=!0}else this._control&&(this._control.dispose(),this._control=null),this._sceneHelper&&(this._sceneHelper.dispose(),this._sceneHelper=null),d=u.getData().getLayout("geo3D"),this._geo3DBuilder.extrudeY=!1;this._geo3DBuilder.update(u,f,i,0,u.getData().count());var h=o.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(v){v.material&&v.material[h]("fragment","SRGB_DECODE")})}},afterRender:function(u,f,i,o){var d=o.renderer,p=u.coordinateSystem;p&&p.type==="geo3D"&&(this._sceneHelper.updateAmbientCubemap(d,u,i),this._sceneHelper.updateSkybox(d,u,i))},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(237),b=D(238),s=D(45),T=D.n(s),c=D(16);y.a.registerVisual(T()("scatterGL","circle",null)),y.a.registerVisual(Object(c.a)("scatterGL")),y.a.registerLayout({seriesType:"scatterGL",reset:function(u){var f=u.coordinateSystem,i;if(f){var o=f.dimensions,d=[];o.length===1?i=function(p,m){for(var h=new Float32Array((p.end-p.start)*2),v=p.start;v<p.end;v++){var r=(v-p.start)*2,a=m.get(o[0],v),g=f.dataToPoint(a);h[r]=g[0],h[r+1]=g[1]}m.setLayout("points",h)}:o.length===2&&(i=function(p,m){for(var h=new Float32Array((p.end-p.start)*2),v=p.start;v<p.end;v++){var r=(v-p.start)*2,a=m.get(o[0],v),g=m.get(o[1],v);d[0]=a,d[1]=g,d=f.dataToPoint(d),h[r]=d[0],h[r+1]=d[1]}m.setLayout("points",h)})}return{progress:i}}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W);y.a.extendSeriesModel({type:"series.scatterGL",dependencies:["grid","polar","geo","singleAxis"],visualColorAccessPath:"itemStyle.color",getInitialData:function(){return y.a.helper.createList(this)},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,progressive:1e5,progressiveThreshold:1e5,large:!1,symbol:"circle",symbolSize:10,zoomScale:0,blendMode:"source-over",itemStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(20),s=D(62),T=D(84),c=D(3);y.a.extendChartView({type:"scatterGL",__ecgl__:!0,init:function(u,f){this.groupGL=new L.a.Node,this.viewGL=new b.a("orthographic"),this.viewGL.add(this.groupGL),this._pointsBuilderList=[],this._currentStep=0,this._sizeScale=1,this._glViewHelper=new T.a(this.viewGL)},render:function(u,f,i){if(this.groupGL.removeAll(),this._glViewHelper.reset(u,i),!!u.getData().count()){var o=this._pointsBuilderList[0];o||(o=this._pointsBuilderList[0]=new s.a(!0,i)),this._pointsBuilderList.length=1,this.groupGL.add(o.rootNode),this._removeTransformInPoints(u.getData().getLayout("points")),o.update(u,f,i),this.viewGL.setPostEffect(u.getModel("postEffect"),i)}},incrementalPrepareRender:function(u,f,i){this.groupGL.removeAll(),this._glViewHelper.reset(u,i),this._currentStep=0,this.viewGL.setPostEffect(u.getModel("postEffect"),i)},incrementalRender:function(u,f,i,o){if(!(u.end<=u.start)){var d=this._pointsBuilderList[this._currentStep];d||(d=new s.a(!0,o),this._pointsBuilderList[this._currentStep]=d),this.groupGL.add(d.rootNode),this._removeTransformInPoints(f.getData().getLayout("points")),d.setSizeScale(this._sizeScale),d.update(f,i,o,u.start,u.end),o.getZr().refresh(),this._currentStep++}},updateTransform:function(u,f,i){if(u.coordinateSystem.getRoamTransform){this._glViewHelper.updateTransform(u,i);var o=this._glViewHelper.getZoom(),d=Math.max((u.get("zoomScale")||0)*(o-1)+1,0);this._sizeScale=d,this._pointsBuilderList.forEach(function(p){p.setSizeScale(d)})}},_removeTransformInPoints:function(u){if(u)for(var f=[],i=0;i<u.length;i+=2)f[0]=u[i],f[1]=u[i+1],this._glViewHelper.removeTransformInPoint(f),u[i]=f[0],u[i+1]=f[1]},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(240),b=D(246),s=D(45),T=D.n(s),c=D(16);y.a.registerVisual(T()("graphGL","circle",null)),y.a.registerVisual(Object(c.a)("graphGL")),y.a.registerVisual(function(f){var i={};f.eachSeriesByType("graphGL",function(o){var d=o.getCategoriesData(),p=o.getData(),m={};d.each(function(h){var v=d.getName(h);m[v]=h;var r=d.getItemModel(h),a=r.get("itemStyle.color")||o.getColorFromPalette(v,i);d.setItemVisual(h,"color",a)}),d.count()&&p.each(function(h){var v=p.getItemModel(h),r=v.getShallow("category");r!=null&&(typeof r=="string"&&(r=m[r]),p.getItemVisual(h,"color",!0)||p.setItemVisual(h,"color",d.getItemVisual(r,"color")))})})}),y.a.registerVisual(function(f){f.eachSeriesByType("graphGL",function(i){var o=i.getGraph(),d=i.getEdgeData(),p="lineStyle.color".split("."),m="lineStyle.opacity".split(".");d.setVisual("color",i.get(p)),d.setVisual("opacity",i.get(m)),d.each(function(h){var v=d.getItemModel(h),r=o.getEdgeByIndex(h),a=v.get(p),g=v.get(m);switch(a){case"source":a=r.node1.getVisual("color");break;case"target":a=r.node2.getVisual("color");break}r.setVisual("color",a),r.setVisual("opacity",g)})})}),y.a.registerAction({type:"graphGLRoam",event:"graphglroam",update:"series.graphGL:roam"},function(f,i){i.eachComponent({mainType:"series",query:f},function(o){o.setView(f)})});function u(){}y.a.registerAction({type:"graphGLStartLayout",event:"graphgllayoutstarted",update:"series.graphGL:startLayout"},u),y.a.registerAction({type:"graphGLStopLayout",event:"graphgllayoutstopped",update:"series.graphGL:stopLayout"},u),y.a.registerAction({type:"graphGLFocusNodeAdjacency",event:"graphGLFocusNodeAdjacency",update:"series.graphGL:focusNodeAdjacency"},u),y.a.registerAction({type:"graphGLUnfocusNodeAdjacency",event:"graphGLUnfocusNodeAdjacency",update:"series.graphGL:unfocusNodeAdjacency"},u)},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(241),b=D(27),s=y.a.extendSeriesModel({type:"series.graphGL",visualColorAccessPath:"itemStyle.color",init:function(c){s.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this._updateCategoriesData()},mergeOption:function(c){s.superApply(this,"mergeOption",arguments),this._updateCategoriesData()},getFormattedLabel:function(c,u,f,i){var o=b.a.getFormattedLabel(this,c,u,f,i);if(o==null){var d=this.getData(),p=d.dimensions[d.dimensions.length-1];o=d.get(p,c)}return o},getInitialData:function(c,u){var f=c.edges||c.links||[],i=c.data||c.nodes||[],o=this;if(i&&f)return Object(L.a)(i,f,this,!0,d).data;function d(p,m){p.wrapMethod("getItemModel",function(a){var g=o._categoriesModels,E=a.getShallow("category"),S=g[E];return S&&(S.parentModel=a.parentModel,a.parentModel=S),a});var h=o.getModel("edgeLabel"),v=new y.a.Model({label:h.option},h.parentModel,u);m.wrapMethod("getItemModel",function(a){return a.customizeGetParent(r),a});function r(a){return a=this.parsePath(a),a&&a[0]==="label"?v:this.parentModel}}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(c,u,f){if(f==="edge"){var i=this.getData(),o=this.getDataParams(c,f),d=i.graph.getEdgeByIndex(c),p=i.getName(d.node1.dataIndex),m=i.getName(d.node2.dataIndex),h=[];return p!=null&&h.push(p),m!=null&&h.push(m),h=y.a.format.encodeHTML(h.join(" > ")),o.value&&(h+=" : "+y.a.format.encodeHTML(o.value)),h}else return s.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var c=(this.option.categories||[]).map(function(f){return f.value!=null?f:y.a.util.extend({value:0},f)}),u=new y.a.List(["value"],this);u.initData(c),this._categoriesData=u,this._categoriesModels=u.mapArray(function(f){return u.getItemModel(f,!0)})},setView:function(c){c.zoom!=null&&(this.option.zoom=c.zoom),c.offset!=null&&(this.option.offset=c.offset)},setNodePosition:function(c){for(var u=0;u<c.length/2;u++){var f=c[u*2],i=c[u*2+1],o=this.getData().getRawDataItem(u);o.x=f,o.y=i}},isAnimationEnabled:function(){return s.superCall(this,"isAnimationEnabled")&&!(this.get("layout")==="force"&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:10,z:2,legendHoverLink:!0,layout:"forceAtlas2",forceAtlas2:{initLayout:null,GPU:!0,steps:1,maxSteps:1e3,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,edgeWeightInfluence:1,edgeWeight:[1,4],nodeWeight:[1,4],preventOverlap:!1,gravityCenter:null},focusNodeAdjacency:!0,focusNodeAdjacencyOn:"mouseover",left:"center",top:"center",symbol:"circle",symbolSize:5,roam:!1,center:null,zoom:1,label:{show:!1,formatter:"{b}",position:"right",distance:5,textStyle:{fontSize:14}},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{label:{show:!0}},animation:!1}}),T=s},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(242),b=D.n(L),s=D(245),T=D.n(s),c=D(3);X.a=function(u,f,i,o,d){for(var p=new b.a(o),m=0;m<u.length;m++)p.addNode(c.a.firstNotNull(u[m].id,u[m].name,m),m);for(var h=[],v=[],r=0,m=0;m<f.length;m++){var a=f[m],g=a.source,E=a.target;p.addEdge(g,E,r)&&(v.push(a),h.push(c.a.firstNotNull(a.id,g+" > "+E)),r++)}var S,w=y.a.helper.completeDimensions(["value"],u);S=new y.a.List(w,i),S.initData(u);var R=new y.a.List(["value"],i);return R.initData(v,h),d&&d(S,R),T()({mainData:S,struct:p,structAttr:"graph",datas:{node:S,edge:R},datasAttr:{node:"data",edge:"edgeData"}}),p.update(),p}},function(te,X,D){var W=D(85),y=W.__DEV__,L=D(12),b=D(244),s=b.enableClassCheck;function T(p){return"_EC_"+p}var c=function(p){this._directed=p||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},u=c.prototype;u.type="graph",u.isDirected=function(){return this._directed},u.addNode=function(p,m){p=p||""+m;var h=this._nodesMap;if(!h[T(p)]){var v=new f(p,m);return v.hostGraph=this,this.nodes.push(v),h[T(p)]=v,v}},u.getNodeByIndex=function(p){var m=this.data.getRawIndex(p);return this.nodes[m]},u.getNodeById=function(p){return this._nodesMap[T(p)]},u.addEdge=function(p,m,h){var v=this._nodesMap,r=this._edgesMap;if(typeof p=="number"&&(p=this.nodes[p]),typeof m=="number"&&(m=this.nodes[m]),f.isInstance(p)||(p=v[T(p)]),f.isInstance(m)||(m=v[T(m)]),!(!p||!m)){var a=p.id+"-"+m.id;if(!r[a]){var g=new i(p,m,h);return g.hostGraph=this,this._directed&&(p.outEdges.push(g),m.inEdges.push(g)),p.edges.push(g),p!==m&&m.edges.push(g),this.edges.push(g),r[a]=g,g}}},u.getEdgeByIndex=function(p){var m=this.edgeData.getRawIndex(p);return this.edges[m]},u.getEdge=function(p,m){f.isInstance(p)&&(p=p.id),f.isInstance(m)&&(m=m.id);var h=this._edgesMap;return this._directed?h[p+"-"+m]:h[p+"-"+m]||h[m+"-"+p]},u.eachNode=function(p,m){for(var h=this.nodes,v=h.length,r=0;r<v;r++)h[r].dataIndex>=0&&p.call(m,h[r],r)},u.eachEdge=function(p,m){for(var h=this.edges,v=h.length,r=0;r<v;r++)h[r].dataIndex>=0&&h[r].node1.dataIndex>=0&&h[r].node2.dataIndex>=0&&p.call(m,h[r],r)},u.breadthFirstTraverse=function(p,m,h,v){if(f.isInstance(m)||(m=this._nodesMap[T(m)]),!!m){for(var r=h==="out"?"outEdges":h==="in"?"inEdges":"edges",a=0;a<this.nodes.length;a++)this.nodes[a].__visited=!1;if(!p.call(v,m,null))for(var g=[m];g.length;)for(var E=g.shift(),S=E[r],a=0;a<S.length;a++){var w=S[a],R=w.node1===E?w.node2:w.node1;if(!R.__visited){if(p.call(v,R,E))return;g.push(R),R.__visited=!0}}}},u.update=function(){for(var p=this.data,m=this.edgeData,h=this.nodes,v=this.edges,r=0,a=h.length;r<a;r++)h[r].dataIndex=-1;for(var r=0,a=p.count();r<a;r++)h[p.getRawIndex(r)].dataIndex=r;m.filterSelf(function(g){var E=v[m.getRawIndex(g)];return E.node1.dataIndex>=0&&E.node2.dataIndex>=0});for(var r=0,a=v.length;r<a;r++)v[r].dataIndex=-1;for(var r=0,a=m.count();r<a;r++)v[m.getRawIndex(r)].dataIndex=r},u.clone=function(){for(var p=new c(this._directed),m=this.nodes,h=this.edges,v=0;v<m.length;v++)p.addNode(m[v].id,m[v].dataIndex);for(var v=0;v<h.length;v++){var r=h[v];p.addEdge(r.node1.id,r.node2.id,r.dataIndex)}return p};function f(p,m){this.id=p==null?"":p,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=m==null?-1:m}f.prototype={constructor:f,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(p){if(!(this.dataIndex<0)){var m=this.hostGraph,h=m.data.getItemModel(this.dataIndex);return h.getModel(p)}}};function i(p,m,h){this.node1=p,this.node2=m,this.dataIndex=h==null?-1:h}i.prototype.getModel=function(p){if(!(this.dataIndex<0)){var m=this.hostGraph,h=m.edgeData.getItemModel(this.dataIndex);return h.getModel(p)}};var o=function(p,m){return{getValue:function(h){var v=this[p][m];return v.get(v.getDimension(h||"value"),this.dataIndex)},setVisual:function(h,v){this.dataIndex>=0&&this[p][m].setItemVisual(this.dataIndex,h,v)},getVisual:function(h,v){return this[p][m].getItemVisual(this.dataIndex,h,v)},setLayout:function(h,v){this.dataIndex>=0&&this[p][m].setItemLayout(this.dataIndex,h,v)},getLayout:function(){return this[p][m].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[p][m].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[p][m].getRawIndex(this.dataIndex)}}};L.mixin(f,o("hostGraph","data")),L.mixin(i,o("hostGraph","edgeData")),c.Node=f,c.Edge=i,s(f),s(i);var d=c;te.exports=d},function(te,X){var D;D=function(){return this}();try{D=D||Function("return this")()||(0,eval)("this")}catch(W){typeof window=="object"&&(D=window)}te.exports=D},function(te,X,D){var W=D(85),y=W.__DEV__,L=D(12),b=".",s="___EC__COMPONENT__CONTAINER___";function T(h){var v={main:"",sub:""};return h&&(h=h.split(b),v.main=h[0]||"",v.sub=h[1]||""),v}function c(h){L.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(h),'componentType "'+h+'" illegal')}function u(h,v){h.$constructor=h,h.extend=function(r){var a=this,g=function(){r.$constructor?r.$constructor.apply(this,arguments):a.apply(this,arguments)};return L.extend(g.prototype,r),g.extend=this.extend,g.superCall=o,g.superApply=d,L.inherits(g,this),g.superClass=a,g}}var f=0;function i(h){var v=["__\0is_clz",f++,Math.random().toFixed(3)].join("_");h.prototype[v]=!0,h.isInstance=function(r){return!!(r&&r[v])}}function o(h,v){var r=L.slice(arguments,2);return this.superClass.prototype[v].apply(h,r)}function d(h,v,r){return this.superClass.prototype[v].apply(h,r)}function p(h,v){v=v||{};var r={};h.registerClass=function(E,S){if(S){if(c(S),S=T(S),!S.sub)r[S.main]=E;else if(S.sub!==s){var w=a(S);w[S.sub]=E}}return E},h.getClass=function(E,S,w){var R=r[E];if(R&&R[s]&&(R=S?R[S]:null),w&&!R)throw new Error(S?"Component "+E+"."+(S||"")+" not exists. Load it first.":E+".type should be specified.");return R},h.getClassesByMainType=function(E){E=T(E);var S=[],w=r[E.main];return w&&w[s]?L.each(w,function(R,O){O!==s&&S.push(R)}):S.push(w),S},h.hasClass=function(E){return E=T(E),!!r[E.main]},h.getAllClassMainTypes=function(){var E=[];return L.each(r,function(S,w){E.push(w)}),E},h.hasSubTypes=function(E){E=T(E);var S=r[E.main];return S&&S[s]},h.parseClassType=T;function a(E){var S=r[E.main];return(!S||!S[s])&&(S=r[E.main]={},S[s]=!0),S}if(v.registerWhenExtend){var g=h.extend;g&&(h.extend=function(E){var S=g.call(this,E);return h.registerClass(S,E.type)})}return h}function m(h,v){}X.parseClassType=T,X.enableClassExtend=u,X.enableClassCheck=i,X.enableClassManagement=p,X.setReadOnly=m},function(te,X,D){var W=D(12),y=W.each,L="\0__link_datas",b="\0__link_mainData";function s(m){var h=m.mainData,v=m.datas;v||(v={main:h},m.datasAttr={main:"data"}),m.datas=m.mainData=null,o(h,v,m),y(v,function(r){y(h.TRANSFERABLE_METHODS,function(a){r.wrapMethod(a,W.curry(T,m))})}),h.wrapMethod("cloneShallow",W.curry(u,m)),y(h.CHANGABLE_METHODS,function(r){h.wrapMethod(r,W.curry(c,m))}),W.assert(v[h.dataType]===h)}function T(m,h){if(i(this)){var v=W.extend({},this[L]);v[this.dataType]=h,o(h,v,m)}else d(h,this.dataType,this[b],m);return h}function c(m,h){return m.struct&&m.struct.update(this),h}function u(m,h){return y(h[L],function(v,r){v!==h&&d(v.cloneShallow(),r,h,m)}),h}function f(m){var h=this[b];return m==null||h==null?h:h[L][m]}function i(m){return m[b]===m}function o(m,h,v){m[L]={},y(h,function(r,a){d(r,a,m,v)})}function d(m,h,v,r){v[L][h]=m,m[b]=v,m.dataType=h,r.struct&&(m[r.structAttr]=r.struct,r.struct[r.datasAttr[h]]=m),m.getLinkedData=f}var p=s;te.exports=p},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(41),b=D.n(L),s=D(2),T=D(20),c=D(86),u=D(3),f=D(247),i=D(249),o=D(65),d=D.n(o),p=D(1),m=D.n(p),h=D(251),v=D(62),r=D(252),a=m.a.vec2;s.a.Shader.import(r.a);var g=1;y.a.extendChartView({type:"graphGL",__ecgl__:!0,init:function(E,S){this.groupGL=new s.a.Node,this.viewGL=new T.a("orthographic"),this.viewGL.camera.left=this.viewGL.camera.right=0,this.viewGL.add(this.groupGL),this._pointsBuilder=new v.a(!0,S),this._forceEdgesMesh=new s.a.Mesh({material:new s.a.Material({shader:s.a.createShader("ecgl.forceAtlas2.edges"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new s.a.Geometry({attributes:{node:new s.a.Geometry.Attribute("node","float",2),color:new s.a.Geometry.Attribute("color","float",4,"COLOR")},dynamic:!0,mainAttribute:"node"}),renderOrder:-1,mode:s.a.Mesh.LINES}),this._edgesMesh=new s.a.Mesh({material:new s.a.Material({shader:s.a.createShader("ecgl.meshLines2D"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new c.a({useNativeLine:!1,dynamic:!0}),renderOrder:-1,culling:!1}),this._layoutId=0,this._control=new h.a({zr:S.getZr(),viewGL:this.viewGL}),this._control.setTarget(this.groupGL),this._control.init(),this._clickHandler=this._clickHandler.bind(this)},render:function(E,S,w){this.groupGL.add(this._pointsBuilder.rootNode),this._model=E,this._api=w,this._initLayout(E,S,w),this._pointsBuilder.update(E,S,w),this._forceLayoutInstance instanceof f.a||this.groupGL.remove(this._forceEdgesMesh),this._updateCamera(E,w),this._control.off("update"),this._control.on("update",function(){w.dispatchAction({type:"graphGLRoam",seriesId:E.id,zoom:this._control.getZoom(),offset:this._control.getOffset()}),this._pointsBuilder.updateView(this.viewGL.camera)},this),this._control.setZoom(u.a.firstNotNull(E.get("zoom"),1)),this._control.setOffset(E.get("offset")||[0,0]);var R=this._pointsBuilder.getPointsMesh();if(R.off("mousemove",this._mousemoveHandler),R.off("mouseout",this._mouseOutHandler,this),w.getZr().off("click",this._clickHandler),this._pointsBuilder.highlightOnMouseover=!0,E.get("focusNodeAdjacency")){var O=E.get("focusNodeAdjacencyOn");O==="click"?w.getZr().on("click",this._clickHandler):O==="mouseover"?(R.on("mousemove",this._mousemoveHandler,this),R.on("mouseout",this._mouseOutHandler,this),this._pointsBuilder.highlightOnMouseover=!1):console.warn("Unkown focusNodeAdjacencyOn value s"+O)}this._lastMouseOverDataIndex=-1},_clickHandler:function(E){if(!this._layouting){var S=this._pointsBuilder.getPointsMesh().dataIndex;S>=0?this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:S}):this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id})}},_mousemoveHandler:function(E){if(!this._layouting){var S=this._pointsBuilder.getPointsMesh().dataIndex;S>=0?S!==this._lastMouseOverDataIndex&&this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:S}):this._mouseOutHandler(E),this._lastMouseOverDataIndex=S}},_mouseOutHandler:function(E){this._layouting||(this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id}),this._lastMouseOverDataIndex=-1)},_updateForceEdgesGeometry:function(E,S){var w=this._forceEdgesMesh.geometry,R=S.getEdgeData(),O=0,G=this._forceLayoutInstance,B=R.count()*2;w.attributes.node.init(B),w.attributes.color.init(B),R.each(function(P){var F=E[P];w.attributes.node.set(O,G.getNodeUV(F.node1)),w.attributes.node.set(O+1,G.getNodeUV(F.node2));var K=R.getItemVisual(F.dataIndex,"color"),U=s.a.parseColor(K);U[3]*=u.a.firstNotNull(R.getItemVisual(F.dataIndex,"opacity"),1),w.attributes.color.set(O,U),w.attributes.color.set(O+1,U),O+=2}),w.dirty()},_updateMeshLinesGeometry:function(){var S=this._model.getEdgeData(),E=this._edgesMesh.geometry,S=this._model.getEdgeData(),w=this._model.getData().getLayout("points");E.resetOffset(),E.setVertexCount(S.count()*E.getLineVertexCount()),E.setTriangleCount(S.count()*E.getLineTriangleCount());var R=[],O=[],G=["lineStyle","width"];this._originalEdgeColors=new Float32Array(S.count()*4),this._edgeIndicesMap=new Float32Array(S.count()),S.each(function(B){var P=S.graph.getEdgeByIndex(B),F=P.node1.dataIndex*2,K=P.node2.dataIndex*2;R[0]=w[F],R[1]=w[F+1],O[0]=w[K],O[1]=w[K+1];var U=S.getItemVisual(P.dataIndex,"color"),V=s.a.parseColor(U);V[3]*=u.a.firstNotNull(S.getItemVisual(P.dataIndex,"opacity"),1);var C=S.getItemModel(P.dataIndex),M=u.a.firstNotNull(C.get(G),1)*this._api.getDevicePixelRatio();E.addLine(R,O,V,M);for(var z=0;z<4;z++)this._originalEdgeColors[P.dataIndex*4+z]=V[z];this._edgeIndicesMap[P.dataIndex]=B},!1,this),E.dirty()},_updateForceNodesGeometry:function(E){for(var S=this._pointsBuilder.getPointsMesh(),w=[],R=0;R<E.count();R++)this._forceLayoutInstance.getNodeUV(R,w),S.geometry.attributes.position.set(R,w);S.geometry.dirty("position")},_initLayout:function(E,S,w){var R=E.get("layout"),O=E.getGraph(),G=E.getBoxLayoutParams(),B=b.a.getLayoutRect(G,{width:w.getWidth(),height:w.getHeight()});R==="force"&&(console.warn("Currently only forceAtlas2 layout supported."),R="forceAtlas2"),this.stopLayout(E,S,w,{beforeLayout:!0});var P=E.getData(),F=E.getData();if(R==="forceAtlas2"){var K=E.getModel("forceAtlas2"),U=this._forceLayoutInstance,V=[],C=[],M=P.getDataExtent("value"),z=F.getDataExtent("value"),$=u.a.firstNotNull(K.get("edgeWeight"),1),q=u.a.firstNotNull(K.get("nodeWeight"),1);typeof $=="number"&&($=[$,$]),typeof q=="number"&&(q=[q,q]);var se=0,ue={},pe=new Float32Array(P.count()*2);if(O.eachNode(function(De){var Fe=De.dataIndex,Ge=P.get("value",Fe),xe,Ke;if(P.hasItemOption){var Ce=P.getItemModel(Fe);xe=Ce.get("x"),Ke=Ce.get("y")}xe==null&&(xe=B.x+Math.random()*B.width,Ke=B.y+Math.random()*B.height),pe[se*2]=xe,pe[se*2+1]=Ke,ue[De.id]=se++;var Se=y.a.number.linearMap(Ge,M,q);isNaN(Se)&&(isNaN(q[0])?Se=1:Se=q[0]),V.push({x:xe,y:Ke,mass:Se,size:P.getItemVisual(Fe,"symbolSize")})}),P.setLayout("points",pe),O.eachEdge(function(De){var Fe=De.dataIndex,Ge=P.get("value",Fe),xe=y.a.number.linearMap(Ge,z,$);isNaN(xe)&&(isNaN($[0])?xe=1:xe=$[0]),C.push({node1:ue[De.node1.id],node2:ue[De.node2.id],weight:xe,dataIndex:Fe})}),!U){var Ee=K.get("GPU");this._forceLayoutInstance&&(Ee&&!(this._forceLayoutInstance instanceof f.a)||!Ee&&!(this._forceLayoutInstance instanceof i.a))&&(this._forceLayoutInstanceToDispose=this._forceLayoutInstance),U=this._forceLayoutInstance=Ee?new f.a:new i.a}U.initData(V,C),U.updateOption(K.option),this._updateForceEdgesGeometry(U.getEdges(),E),this._updatePositionTexture(),w.dispatchAction({type:"graphGLStartLayout",from:this.uid})}else{var pe=new Float32Array(P.count()*2),se=0;O.eachNode(function(Ge){var xe=Ge.dataIndex,Ke,Ce;if(P.hasItemOption){var Se=P.getItemModel(xe);Ke=Se.get("x"),Ce=Se.get("y")}pe[se++]=Ke,pe[se++]=Ce}),P.setLayout("points",pe),this._updateAfterLayout(E,S,w)}},_updatePositionTexture:function(){var E=this._forceLayoutInstance.getNodePositionTexture();this._pointsBuilder.setPositionTexture(E),this._forceEdgesMesh.material.set("positionTex",E)},startLayout:function(E,S,G,R){if(!(R&&R.from!=null&&R.from!==this.uid)){var O=this.viewGL,G=this._api,B=this._forceLayoutInstance,P=this._model.getData(),F=this._model.getModel("forceAtlas2");if(!B){console.error("None layout don't have startLayout action");return}if(this.groupGL.remove(this._edgesMesh),this.groupGL.add(this._forceEdgesMesh),!!this._forceLayoutInstance){this._updateForceNodesGeometry(E.getData()),this._pointsBuilder.hideLabels();var K=this,U=this._layoutId=g++,V=F.getShallow("maxSteps"),C=F.getShallow("steps"),M=0,z=Math.max(C*2,20),$=function(q){if(q===K._layoutId){if(B.isFinished(V)){G.dispatchAction({type:"graphGLStopLayout",from:K.uid}),G.dispatchAction({type:"graphGLFinishLayout",points:P.getLayout("points"),from:K.uid});return}B.update(O.layer.renderer,C,function(){K._updatePositionTexture(),M+=C,M>=z&&(K._syncNodePosition(E),M=0),G.getZr().refresh(),d()(function(){$(q)})})}};d()(function(){K._forceLayoutInstanceToDispose&&(K._forceLayoutInstanceToDispose.dispose(O.layer.renderer),K._forceLayoutInstanceToDispose=null),$(U)}),this._layouting=!0}}},stopLayout:function(E,S,w,R){R&&R.from!=null&&R.from!==this.uid||(this._layoutId=0,this.groupGL.remove(this._forceEdgesMesh),this.groupGL.add(this._edgesMesh),this._forceLayoutInstance&&this.viewGL.layer&&(R&&R.beforeLayout||(this._syncNodePosition(E),this._updateAfterLayout(E,S,w)),this._api.getZr().refresh(),this._layouting=!1))},_syncNodePosition:function(E){var S=this._forceLayoutInstance.getNodePosition(this.viewGL.layer.renderer);E.getData().setLayout("points",S),E.setNodePosition(S)},_updateAfterLayout:function(E,S,w){this._updateMeshLinesGeometry(),this._pointsBuilder.removePositionTexture(),this._pointsBuilder.updateLayout(E,S,w),this._pointsBuilder.updateView(this.viewGL.camera),this._pointsBuilder.updateLabels(),this._pointsBuilder.showLabels()},focusNodeAdjacency:function(E,S,w,R){var O=this._model.getData();this._downplayAll();var G=R.dataIndex,B=O.graph,P=[],F=B.getNodeByIndex(G);P.push(F),F.edges.forEach(function(U){U.dataIndex<0||(U.node1!==F&&P.push(U.node1),U.node2!==F&&P.push(U.node2))},this),this._pointsBuilder.fadeOutAll(.05),this._fadeOutEdgesAll(.05),P.forEach(function(U){this._pointsBuilder.highlight(O,U.dataIndex)},this),this._pointsBuilder.updateLabels(P.map(function(U){return U.dataIndex}));var K=[];F.edges.forEach(function(U){U.dataIndex>=0&&(this._highlightEdge(U.dataIndex),K.push(U))},this),this._focusNodes=P,this._focusEdges=K},unfocusNodeAdjacency:function(E,S,w,R){this._downplayAll(),this._pointsBuilder.fadeInAll(),this._fadeInEdgesAll(),this._pointsBuilder.updateLabels()},_highlightEdge:function(E){var S=this._model.getEdgeData().getItemModel(E),w=s.a.parseColor(S.get("emphasis.lineStyle.color")||S.get("lineStyle.color")),R=u.a.firstNotNull(S.get("emphasis.lineStyle.opacity"),S.get("lineStyle.opacity"),1);w[3]*=R,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[E],w)},_downplayAll:function(){this._focusNodes&&this._focusNodes.forEach(function(E){this._pointsBuilder.downplay(this._model.getData(),E.dataIndex)},this),this._focusEdges&&this._focusEdges.forEach(function(E){this._downplayEdge(E.dataIndex)},this)},_downplayEdge:function(E){var S=this._getColor(E,[]);this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[E],S)},_setEdgeFade:function(){var E=[];return function(S,w){this._getColor(S,E),E[3]*=w,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[S],E)}}(),_getColor:function(E,S){for(var w=0;w<4;w++)S[w]=this._originalEdgeColors[E*4+w];return S},_fadeOutEdgesAll:function(E){var S=this._model.getData().graph;S.eachEdge(function(w){this._setEdgeFade(w.dataIndex,E)},this)},_fadeInEdgesAll:function(){this._fadeOutEdgesAll(1)},_updateCamera:function(E,S){this.viewGL.setViewport(0,0,S.getWidth(),S.getHeight(),S.getDevicePixelRatio());for(var w=this.viewGL.camera,R=E.getData(),O=R.getLayout("points"),G=a.create(1/0,1/0),B=a.create(-1/0,-1/0),P=[],F=0;F<O.length;)P[0]=O[F++],P[1]=O[F++],a.min(G,G,P),a.max(B,B,P);var K=(B[1]+G[1])/2,U=(B[0]+G[0])/2;if(!(U>w.left&&U<w.right&&K<w.bottom&&K>w.top)){var V=Math.max(B[0]-G[0],10),C=V/S.getWidth()*S.getHeight();V*=1.4,C*=1.4,G[0]-=V*.2,w.left=G[0],w.top=K-C/2,w.bottom=K+C/2,w.right=V+G[0],w.near=0,w.far=100}},dispose:function(){var E=this.viewGL.layer.renderer;this._forceLayoutInstance&&this._forceLayoutInstance.dispose(E),this.groupGL.removeAll(),this._layoutId=-1},remove:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(14),s=D(10),T=D(248);L.a.Shader.import(T.a);var c={repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null};function u(f){var i={type:L.a.Texture.FLOAT,minFilter:L.a.Texture.NEAREST,magFilter:L.a.Texture.NEAREST};this._positionSourceTex=new L.a.Texture2D(i),this._positionSourceTex.flipY=!1,this._positionTex=new L.a.Texture2D(i),this._positionPrevTex=new L.a.Texture2D(i),this._forceTex=new L.a.Texture2D(i),this._forcePrevTex=new L.a.Texture2D(i),this._weightedSumTex=new L.a.Texture2D(i),this._weightedSumTex.width=this._weightedSumTex.height=1,this._globalSpeedTex=new L.a.Texture2D(i),this._globalSpeedPrevTex=new L.a.Texture2D(i),this._globalSpeedTex.width=this._globalSpeedTex.height=1,this._globalSpeedPrevTex.width=this._globalSpeedPrevTex.height=1,this._nodeRepulsionPass=new b.a({fragment:L.a.Shader.source("ecgl.forceAtlas2.updateNodeRepulsion")}),this._positionPass=new b.a({fragment:L.a.Shader.source("ecgl.forceAtlas2.updatePosition")}),this._globalSpeedPass=new b.a({fragment:L.a.Shader.source("ecgl.forceAtlas2.calcGlobalSpeed")}),this._copyPass=new b.a({fragment:L.a.Shader.source("clay.compositor.output")});var o=function(d){d.blendEquation(d.FUNC_ADD),d.blendFunc(d.ONE,d.ONE)};this._edgeForceMesh=new L.a.Mesh({geometry:new L.a.Geometry({attributes:{node1:new L.a.Geometry.Attribute("node1","float",2),node2:new L.a.Geometry.Attribute("node2","float",2),weight:new L.a.Geometry.Attribute("weight","float",1)},dynamic:!0,mainAttribute:"node1"}),material:new L.a.Material({transparent:!0,shader:L.a.createShader("ecgl.forceAtlas2.updateEdgeAttraction"),blend:o,depthMask:!1,depthText:!1}),mode:L.a.Mesh.POINTS}),this._weightedSumMesh=new L.a.Mesh({geometry:new L.a.Geometry({attributes:{node:new L.a.Geometry.Attribute("node","float",2)},dynamic:!0,mainAttribute:"node"}),material:new L.a.Material({transparent:!0,shader:L.a.createShader("ecgl.forceAtlas2.calcWeightedSum"),blend:o,depthMask:!1,depthText:!1}),mode:L.a.Mesh.POINTS}),this._framebuffer=new s.a({depthBuffer:!1}),this._dummyCamera=new L.a.OrthographicCamera({left:-1,right:1,top:1,bottom:-1,near:0,far:100}),this._globalSpeed=0}u.prototype.updateOption=function(f){for(var i in c)this[i]=c[i];var o=this._nodes.length;if(o>5e4?this.jitterTolerence=10:o>5e3?this.jitterTolerence=1:this.jitterTolerence=.1,o>100?this.scaling=2:this.scaling=10,f)for(var i in c)f[i]!=null&&(this[i]=f[i]);if(this.repulsionByDegree)for(var d=this._positionSourceTex.pixels,p=0;p<this._nodes.length;p++)d[p*4+2]=(this._nodes[p].degree||0)+1},u.prototype._updateGravityCenter=function(f){var i=this._nodes,o=this._edges;if(this.gravityCenter)this._gravityCenter=this.gravityCenter;else{for(var d=[1/0,1/0],p=[-1/0,-1/0],m=0;m<i.length;m++)d[0]=Math.min(i[m].x,d[0]),d[1]=Math.min(i[m].y,d[1]),p[0]=Math.max(i[m].x,p[0]),p[1]=Math.max(i[m].y,p[1]);this._gravityCenter=[(d[0]+p[0])*.5,(d[1]+p[1])*.5]}for(var m=0;m<o.length;m++){var h=o[m].node1,v=o[m].node2;i[h].degree=(i[h].degree||0)+1,i[v].degree=(i[v].degree||0)+1}},u.prototype.initData=function(f,i){this._nodes=f,this._edges=i,this._updateGravityCenter();var o=Math.ceil(Math.sqrt(f.length)),d=o,p=new Float32Array(o*d*4);this._resize(o,d);for(var m=0,h=0;h<f.length;h++){var v=f[h];p[m++]=v.x||0,p[m++]=v.y||0,p[m++]=v.mass||1,p[m++]=v.size||1}this._positionSourceTex.pixels=p;var r=this._edgeForceMesh.geometry,a=i.length;r.attributes.node1.init(a*2),r.attributes.node2.init(a*2),r.attributes.weight.init(a*2);for(var g=[],h=0;h<i.length;h++){var E=r.attributes,S=i[h].weight;S==null&&(S=1),E.node1.set(h,this.getNodeUV(i[h].node1,g)),E.node2.set(h,this.getNodeUV(i[h].node2,g)),E.weight.set(h,S),E.node1.set(h+a,this.getNodeUV(i[h].node2,g)),E.node2.set(h+a,this.getNodeUV(i[h].node1,g)),E.weight.set(h+a,S)}var w=this._weightedSumMesh.geometry;w.attributes.node.init(f.length);for(var h=0;h<f.length;h++)w.attributes.node.set(h,this.getNodeUV(h,g));r.dirty(),w.dirty(),this._nodeRepulsionPass.material.define("fragment","NODE_COUNT",f.length),this._nodeRepulsionPass.material.setUniform("textureSize",[o,d]),this._inited=!1,this._frame=0},u.prototype.getNodes=function(){return this._nodes},u.prototype.getEdges=function(){return this._edges},u.prototype.step=function(f){this._inited||(this._initFromSource(f),this._inited=!0),this._frame++,this._framebuffer.attach(this._forceTex),this._framebuffer.bind(f);var i=this._nodeRepulsionPass;i.setUniform("strongGravityMode",this.strongGravityMode),i.setUniform("gravity",this.gravity),i.setUniform("gravityCenter",this._gravityCenter),i.setUniform("scaling",this.scaling),i.setUniform("preventOverlap",this.preventOverlap),i.setUniform("positionTex",this._positionPrevTex),i.render(f);var o=this._edgeForceMesh;o.material.set("linLogMode",this.linLogMode),o.material.set("edgeWeightInfluence",this.edgeWeightInfluence),o.material.set("preventOverlap",this.preventOverlap),o.material.set("positionTex",this._positionPrevTex),f.gl.enable(f.gl.BLEND),f.renderPass([o],this._dummyCamera),this._framebuffer.attach(this._weightedSumTex),f.gl.clearColor(0,0,0,0),f.gl.clear(f.gl.COLOR_BUFFER_BIT),f.gl.enable(f.gl.BLEND);var d=this._weightedSumMesh;d.material.set("positionTex",this._positionPrevTex),d.material.set("forceTex",this._forceTex),d.material.set("forcePrevTex",this._forcePrevTex),f.renderPass([d],this._dummyCamera),this._framebuffer.attach(this._globalSpeedTex);var p=this._globalSpeedPass;p.setUniform("globalSpeedPrevTex",this._globalSpeedPrevTex),p.setUniform("weightedSumTex",this._weightedSumTex),p.setUniform("jitterTolerence",this.jitterTolerence),f.gl.disable(f.gl.BLEND),p.render(f);var m=this._positionPass;this._framebuffer.attach(this._positionTex),m.setUniform("globalSpeedTex",this._globalSpeedTex),m.setUniform("positionTex",this._positionPrevTex),m.setUniform("forceTex",this._forceTex),m.setUniform("forcePrevTex",this._forcePrevTex),m.render(f),this._framebuffer.unbind(f),this._swapTexture()},u.prototype.update=function(f,i,o){i==null&&(i=1),i=Math.max(i,1);for(var d=0;d<i;d++)this.step(f);o&&o()},u.prototype.getNodePositionTexture=function(){return this._inited?this._positionPrevTex:this._positionSourceTex},u.prototype.getNodeUV=function(f,i){i=i||[];var o=this._positionTex.width,d=this._positionTex.height;return i[0]=f%o/(o-1),i[1]=Math.floor(f/o)/(d-1)||0,i},u.prototype.getNodePosition=function(f,i){var o=this._positionArr,d=this._positionTex.width,p=this._positionTex.height,m=d*p;(!o||o.length!==m*4)&&(o=this._positionArr=new Float32Array(m*4)),this._framebuffer.bind(f),this._framebuffer.attach(this._positionPrevTex),f.gl.readPixels(0,0,d,p,f.gl.RGBA,f.gl.FLOAT,o),this._framebuffer.unbind(f),i||(i=new Float32Array(this._nodes.length*2));for(var h=0;h<this._nodes.length;h++)i[h*2]=o[h*4],i[h*2+1]=o[h*4+1];return i},u.prototype.getTextureData=function(f,i){var o=this["_"+i+"Tex"],d=o.width,p=o.height;this._framebuffer.bind(f),this._framebuffer.attach(o);var m=new Float32Array(d*p*4);return f.gl.readPixels(0,0,d,p,f.gl.RGBA,f.gl.FLOAT,m),this._framebuffer.unbind(f),m},u.prototype.getTextureSize=function(){return{width:this._positionTex.width,height:this._positionTex.height}},u.prototype.isFinished=function(f){return this._frame>f},u.prototype._swapTexture=function(){var f=this._positionPrevTex;this._positionPrevTex=this._positionTex,this._positionTex=f;var f=this._forcePrevTex;this._forcePrevTex=this._forceTex,this._forceTex=f;var f=this._globalSpeedPrevTex;this._globalSpeedPrevTex=this._globalSpeedTex,this._globalSpeedTex=f},u.prototype._initFromSource=function(f){this._framebuffer.attach(this._positionPrevTex),this._framebuffer.bind(f),this._copyPass.setUniform("texture",this._positionSourceTex),this._copyPass.render(f),f.gl.clearColor(0,0,0,0),this._framebuffer.attach(this._forcePrevTex),f.gl.clear(f.gl.COLOR_BUFFER_BIT),this._framebuffer.attach(this._globalSpeedPrevTex),f.gl.clear(f.gl.COLOR_BUFFER_BIT),this._framebuffer.unbind(f)},u.prototype._resize=function(f,i){["_positionSourceTex","_positionTex","_positionPrevTex","_forceTex","_forcePrevTex"].forEach(function(o){this[o].width=f,this[o].height=i,this[o].dirty()},this)},u.prototype.dispose=function(f){this._framebuffer.dispose(f),this._copyPass.dispose(f),this._nodeRepulsionPass.dispose(f),this._positionPass.dispose(f),this._globalSpeedPass.dispose(f),this._edgeForceMesh.geometry.dispose(f),this._weightedSumMesh.geometry.dispose(f),this._positionSourceTex.dispose(f),this._positionTex.dispose(f),this._positionPrevTex.dispose(f),this._forceTex.dispose(f),this._forcePrevTex.dispose(f),this._weightedSumTex.dispose(f),this._globalSpeedTex.dispose(f),this._globalSpeedPrevTex.dispose(f)},y.a.ForceAtlas2GPU=u,X.a=u},function(te,X,D){"use strict";X.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(te,X,D){"use strict";var W=D(5),y=D(6),L=D(250),b=L.a.toString();b=b.slice(b.indexOf("{")+1,b.lastIndexOf("}"));var s={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},T=function(c){for(var u in s)this[u]=s[u];if(c)for(var u in c)this[u]=c[u];this._nodes=[],this._edges=[],this._disposed=!1,this._positionTex=new W.a({type:y.a.FLOAT,flipY:!1,minFilter:y.a.NEAREST,magFilter:y.a.NEAREST})};T.prototype.initData=function(c,u){var f=new Blob([b]),i=window.URL.createObjectURL(f);this._worker=new Worker(i),this._worker.onmessage=this._$onupdate.bind(this),this._nodes=c,this._edges=u,this._frame=0;for(var o=c.length,d=u.length,p=new Float32Array(o*2),m=new Float32Array(o),h=new Float32Array(o),v=new Float32Array(d*2),r=new Float32Array(d),a=0;a<c.length;a++){var g=c[a];p[a*2]=g.x,p[a*2+1]=g.y,m[a]=g.mass==null?1:g.mass,h[a]=g.size==null?1:g.size}for(var a=0;a<u.length;a++){var E=u[a],S=E.node1,w=E.node2;v[a*2]=S,v[a*2+1]=w,r[a]=E.weight==null?1:E.weight}var R=Math.ceil(Math.sqrt(c.length)),O=R,G=new Float32Array(R*O*4),B=this._positionTex;B.width=R,B.height=O,B.pixels=G,this._worker.postMessage({cmd:"init",nodesPosition:p,nodesMass:m,nodesSize:h,edges:v,edgesWeight:r}),this._globalSpeed=1/0},T.prototype.updateOption=function(c){var u={};for(var f in s)u[f]=s[f];var i=this._nodes,o=this._edges,d=i.length;if(d>5e4?u.jitterTolerence=10:d>5e3?u.jitterTolerence=1:u.jitterTolerence=.1,d>100?u.scaling=2:u.scaling=10,d>1e3?u.barnesHutOptimize=!0:u.barnesHutOptimize=!1,c)for(var f in s)c[f]!=null&&(u[f]=c[f]);if(!u.gravityCenter){for(var p=[1/0,1/0],m=[-1/0,-1/0],h=0;h<i.length;h++)p[0]=Math.min(i[h].x,p[0]),p[1]=Math.min(i[h].y,p[1]),m[0]=Math.max(i[h].x,m[0]),m[1]=Math.max(i[h].y,m[1]);u.gravityCenter=[(p[0]+m[0])*.5,(p[1]+m[1])*.5]}for(var h=0;h<o.length;h++){var v=o[h].node1,r=o[h].node2;i[v].degree=(i[v].degree||0)+1,i[r].degree=(i[r].degree||0)+1}this._worker&&this._worker.postMessage({cmd:"updateConfig",config:u})},T.prototype.update=function(c,u,f){u==null&&(u=1),u=Math.max(u,1),this._frame+=u,this._onupdate=f,this._worker&&this._worker.postMessage({cmd:"update",steps:Math.round(u)})},T.prototype._$onupdate=function(c){if(!this._disposed){var u=new Float32Array(c.data.buffer);this._globalSpeed=c.data.globalSpeed,this._positionArr=u,this._updateTexture(u),this._onupdate&&this._onupdate()}},T.prototype.getNodePositionTexture=function(){return this._positionTex},T.prototype.getNodeUV=function(c,u){u=u||[];var f=this._positionTex.width,i=this._positionTex.height;return u[0]=c%f/(f-1),u[1]=Math.floor(c/f)/(i-1),u},T.prototype.getNodes=function(){return this._nodes},T.prototype.getEdges=function(){return this._edges},T.prototype.isFinished=function(c){return this._frame>c},T.prototype.getNodePosition=function(c,u){if(u||(u=new Float32Array(this._nodes.length*2)),this._positionArr)for(var f=0;f<this._positionArr.length;f++)u[f]=this._positionArr[f];return u},T.prototype._updateTexture=function(c){for(var u=this._positionTex.pixels,f=0,i=0;i<c.length;)u[f++]=c[i++],u[f++]=c[i++],u[f++]=1,u[f++]=1;this._positionTex.dirty()},T.prototype.dispose=function(c){this._disposed=!0,this._worker=null},X.a=T},function(te,X,D){"use strict";function W(){var y={create:function(){return new Float32Array(2)},dist:function(i,o){var d=o[0]-i[0],p=o[1]-i[1];return Math.sqrt(d*d+p*p)},len:function(i){var o=i[0],d=i[1];return Math.sqrt(o*o+d*d)},scaleAndAdd:function(i,o,d,p){return i[0]=o[0]+d[0]*p,i[1]=o[1]+d[1]*p,i},scale:function(i,o,d){return i[0]=o[0]*d,i[1]=o[1]*d,i},add:function(i,o,d){return i[0]=o[0]+d[0],i[1]=o[1]+d[1],i},sub:function(i,o,d){return i[0]=o[0]-d[0],i[1]=o[1]-d[1],i},normalize:function(i,o){var d=o[0],p=o[1],m=d*d+p*p;return m>0&&(m=1/Math.sqrt(m),i[0]=o[0]*m,i[1]=o[1]*m),i},negate:function(i,o){return i[0]=-o[0],i[1]=-o[1],i},copy:function(i,o){return i[0]=o[0],i[1]=o[1],i},set:function(i,o,d){return i[0]=o,i[1]=d,i}};function L(){this.subRegions=[],this.nSubRegions=0,this.node=null,this.mass=0,this.centerOfMass=null,this.bbox=new Float32Array(4),this.size=0}var b=L.prototype;b.beforeUpdate=function(){for(var i=0;i<this.nSubRegions;i++)this.subRegions[i].beforeUpdate();this.mass=0,this.centerOfMass&&(this.centerOfMass[0]=0,this.centerOfMass[1]=0),this.nSubRegions=0,this.node=null},b.afterUpdate=function(){this.subRegions.length=this.nSubRegions;for(var i=0;i<this.nSubRegions;i++)this.subRegions[i].afterUpdate()},b.addNode=function(i){if(this.nSubRegions===0)if(this.node==null){this.node=i;return}else this._addNodeToSubRegion(this.node),this.node=null;this._addNodeToSubRegion(i),this._updateCenterOfMass(i)},b.findSubRegion=function(i,o){for(var d=0;d<this.nSubRegions;d++){var p=this.subRegions[d];if(p.contain(i,o))return p}},b.contain=function(i,o){return this.bbox[0]<=i&&this.bbox[2]>=i&&this.bbox[1]<=o&&this.bbox[3]>=o},b.setBBox=function(i,o,d,p){this.bbox[0]=i,this.bbox[1]=o,this.bbox[2]=d,this.bbox[3]=p,this.size=(d-i+p-o)/2},b._newSubRegion=function(){var i=this.subRegions[this.nSubRegions];return i||(i=new L,this.subRegions[this.nSubRegions]=i),this.nSubRegions++,i},b._addNodeToSubRegion=function(i){var o=this.findSubRegion(i.position[0],i.position[1]),d=this.bbox;if(!o){var p=(d[0]+d[2])/2,m=(d[1]+d[3])/2,h=(d[2]-d[0])/2,v=(d[3]-d[1])/2,r=i.position[0]>=p?1:0,a=i.position[1]>=m?1:0,o=this._newSubRegion();o.setBBox(r*h+d[0],a*v+d[1],(r+1)*h+d[0],(a+1)*v+d[1])}o.addNode(i)},b._updateCenterOfMass=function(i){this.centerOfMass==null&&(this.centerOfMass=new Float32Array(2));var o=this.centerOfMass[0]*this.mass,d=this.centerOfMass[1]*this.mass;o+=i.position[0]*i.mass,d+=i.position[1]*i.mass,this.mass+=i.mass,this.centerOfMass[0]=o/this.mass,this.centerOfMass[1]=d/this.mass};function s(){this.position=new Float32Array(2),this.force=y.create(),this.forcePrev=y.create(),this.mass=1,this.inDegree=0,this.outDegree=0}function T(i,o){this.source=i,this.target=o,this.weight=1}function c(){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 L,this.rootRegion.centerOfMass=y.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 u=c.prototype;u.initNodes=function(i,o,d){var p=o.length;this.nodes.length=0;for(var m=typeof d!="undefined",h=0;h<p;h++){var v=new s;v.position[0]=i[h*2],v.position[1]=i[h*2+1],v.mass=o[h],m&&(v.size=d[h]),this.nodes.push(v)}this._massArr=o,this._swingingArr=new Float32Array(p),m&&(this._sizeArr=d)},u.initEdges=function(i,o){var d=i.length/2;this.edges.length=0;for(var p=0;p<d;p++){var m=i[p*2],h=i[p*2+1],v=this.nodes[m],r=this.nodes[h];if(!v||!r){console.error("Node not exists, try initNodes before initEdges");return}v.outDegree++,r.inDegree++;var a=new T(v,r);o&&(a.weight=o[p]),this.edges.push(a)}},u.updateSettings=function(){if(this.repulsionByDegree)for(var i=0;i<this.nodes.length;i++){var o=this.nodes[i];o.mass=o.inDegree+o.outDegree+1}else for(var i=0;i<this.nodes.length;i++){var o=this.nodes[i];o.mass=this._massArr[i]}},u.update=function(){var i=this.nodes.length;if(this.updateSettings(),this.updateBBox(),this.barnesHutOptimize){this.rootRegion.setBBox(this.bbox[0],this.bbox[1],this.bbox[2],this.bbox[3]),this.rootRegion.beforeUpdate();for(var o=0;o<i;o++)this.rootRegion.addNode(this.nodes[o]);this.rootRegion.afterUpdate()}for(var o=0;o<i;o++){var d=this.nodes[o];y.copy(d.forcePrev,d.force),y.set(d.force,0,0)}for(var o=0;o<i;o++){var p=this.nodes[o];if(this.barnesHutOptimize)this.applyRegionToNodeRepulsion(this.rootRegion,p);else for(var m=o+1;m<i;m++){var h=this.nodes[m];this.applyNodeToNodeRepulsion(p,h,!1)}this.gravity>0&&(this.strongGravityMode?this.applyNodeStrongGravity(p):this.applyNodeGravity(p))}for(var o=0;o<this.edges.length;o++)this.applyEdgeAttraction(this.edges[o]);for(var v=0,r=0,a=y.create(),o=0;o<i;o++){var d=this.nodes[o],g=y.dist(d.force,d.forcePrev);v+=g*d.mass,y.add(a,d.force,d.forcePrev);var E=y.len(a)*.5;r+=E*d.mass,this._swingingArr[o]=g}var S=this.jitterTolerence*this.jitterTolerence*r/v;this._globalSpeed>0&&(S=Math.min(S/this._globalSpeed,1.5)*this._globalSpeed),this._globalSpeed=S;for(var o=0;o<i;o++){var d=this.nodes[o],g=this._swingingArr[o],w=.1*S/(1+S*Math.sqrt(g)),R=y.len(d.force);R>0&&(w=Math.min(R*w,10)/R,y.scaleAndAdd(d.position,d.position,d.force,w))}},u.applyRegionToNodeRepulsion=function(){var i=y.create();return function(d,p){if(d.node)this.applyNodeToNodeRepulsion(d.node,p,!0);else{y.sub(i,p.position,d.centerOfMass);var m=i[0]*i[0]+i[1]*i[1];if(m>this.barnesHutTheta*d.size*d.size){var h=this.scaling*p.mass*d.mass/m;y.scaleAndAdd(p.force,p.force,i,h)}else for(var v=0;v<d.nSubRegions;v++)this.applyRegionToNodeRepulsion(d.subRegions[v],p)}}}(),u.applyNodeToNodeRepulsion=function(){var i=y.create();return function(d,p,m){if(d!=p){y.sub(i,d.position,p.position);var h=i[0]*i[0]+i[1]*i[1];if(h!==0){var v;if(this.preventOverlap){var r=Math.sqrt(h);if(r=r-d.size-p.size,r>0)v=this.scaling*d.mass*p.mass/(r*r);else if(r<0)v=this.scaling*100*d.mass*p.mass;else return}else v=this.scaling*d.mass*p.mass/h;y.scaleAndAdd(d.force,d.force,i,v),y.scaleAndAdd(p.force,p.force,i,-v)}}}}(),u.applyEdgeAttraction=function(){var i=y.create();return function(d){var p=d.source,m=d.target;y.sub(i,p.position,m.position);var h=y.len(i),v;this.edgeWeightInfluence===0?v=1:this.edgeWeightInfluence===1?v=d.weight:v=Math.pow(d.weight,this.edgeWeightInfluence);var r;this.preventOverlap&&(h=h-p.size-m.size,h<=0)||(this.linLogMode?r=-v*Math.log(h+1)/(h+1):r=-v,y.scaleAndAdd(p.force,p.force,i,r),y.scaleAndAdd(m.force,m.force,i,-r))}}(),u.applyNodeGravity=function(){var i=y.create();return function(o){y.sub(i,this.gravityCenter,o.position);var d=y.len(i);y.scaleAndAdd(o.force,o.force,i,this.gravity*o.mass/(d+1))}}(),u.applyNodeStrongGravity=function(){var i=y.create();return function(o){y.sub(i,this.gravityCenter,o.position),y.scaleAndAdd(o.force,o.force,i,this.gravity*o.mass)}}(),u.updateBBox=function(){for(var i=1/0,o=1/0,d=-1/0,p=-1/0,m=0;m<this.nodes.length;m++){var h=this.nodes[m].position;i=Math.min(i,h[0]),o=Math.min(o,h[1]),d=Math.max(d,h[0]),p=Math.max(p,h[1])}this.bbox[0]=i,this.bbox[1]=o,this.bbox[2]=d,this.bbox[3]=p},u.getGlobalSpeed=function(){return this._globalSpeed};var f=null;self.onmessage=function(i){switch(i.data.cmd){case"init":f=new c,f.initNodes(i.data.nodesPosition,i.data.nodesMass,i.data.nodesSize),f.initEdges(i.data.edges,i.data.edgesWeight);break;case"updateConfig":if(f)for(var o in i.data.config)f[o]=i.data.config[o];break;case"update":var d=i.data.steps;if(f){for(var p=0;p<d;p++)f.update();for(var m=f.nodes.length,h=new Float32Array(m*2),p=0;p<m;p++){var v=f.nodes[p];h[p*2]=v.position[0],h[p*2+1]=v.position[1]}self.postMessage({buffer:h.buffer,globalSpeed:f.getGlobalSpeed()},[h.buffer])}else{var r=new Float32Array;self.postMessage({buffer:r.buffer,globalSpeed:f.getGlobalSpeed()},[r.buffer])}break}}}X.a=W},function(te,X,D){"use strict";var W=D(8),y=D(3),L=W.a.extend(function(){return{zr:null,viewGL:null,minZoom:.2,maxZoom:5,_needsUpdate:!1,_dx:0,_dy:0,_zoom:1}},function(){this._mouseDownHandler=this._mouseDownHandler.bind(this),this._mouseWheelHandler=this._mouseWheelHandler.bind(this),this._mouseMoveHandler=this._mouseMoveHandler.bind(this),this._mouseUpHandler=this._mouseUpHandler.bind(this),this._update=this._update.bind(this)},{init:function(){var b=this.zr;b.on("mousedown",this._mouseDownHandler),b.on("mousewheel",this._mouseWheelHandler),b.on("globalout",this._mouseUpHandler),b.animation.on("frame",this._update)},setTarget:function(b){this._target=b},setZoom:function(b){this._zoom=Math.max(Math.min(b,this.maxZoom),this.minZoom),this._needsUpdate=!0},setOffset:function(b){this._dx=b[0],this._dy=b[1],this._needsUpdate=!0},getZoom:function(){return this._zoom},getOffset:function(){return[this._dx,this._dy]},_update:function(){if(this._target&&this._needsUpdate){var b=this._target,s=this._zoom;b.position.x=this._dx,b.position.y=this._dy,b.scale.set(s,s,s),this.zr.refresh(),this._needsUpdate=!1,this.trigger("update")}},_mouseDownHandler:function(b){if(!b.target){var s=b.offsetX,T=b.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(s,T))){this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler);var c=this._convertPos(s,T);this._x=c.x,this._y=c.y}}},_convertPos:function(b,s){var T=this.viewGL.camera,c=this.viewGL.viewport;return{x:(b-c.x)/c.width*(T.right-T.left)+T.left,y:(s-c.y)/c.height*(T.bottom-T.top)+T.top}},_mouseMoveHandler:function(b){var s=this._convertPos(b.offsetX,b.offsetY);this._dx+=s.x-this._x,this._dy+=s.y-this._y,this._x=s.x,this._y=s.y,this._needsUpdate=!0},_mouseUpHandler:function(b){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_mouseWheelHandler:function(b){b=b.event;var s=b.wheelDelta||-b.detail;if(s!==0){var T=b.offsetX,c=b.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(T,c))){var u=s>0?1.1:.9,f=Math.max(Math.min(this._zoom*u,this.maxZoom),this.minZoom);u=f/this._zoom;var i=this._convertPos(T,c),o=(i.x-this._dx)*(u-1),d=(i.y-this._dy)*(u-1);this._dx-=o,this._dy-=d,this._zoom=f,this._needsUpdate=!0}}},dispose:function(){var b=this.zr;b.off("mousedown",this._mouseDownHandler),b.off("mousemove",this._mouseMoveHandler),b.off("mouseup",this._mouseUpHandler),b.off("mousewheel",this._mouseWheelHandler),b.off("globalout",this._mouseUpHandler),b.animation.off("frame",this._update)}});X.a=L},function(te,X,D){"use strict";X.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(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(254),b=D(258)},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(3),s=D(20),T=D(255);y.a.extendChartView({type:"flowGL",__ecgl__:!0,init:function(c,u){this.viewGL=new s.a("orthographic"),this.groupGL=new L.a.Node,this.viewGL.add(this.groupGL),this._particleSurface=new T.a;var f=new L.a.Mesh({geometry:new L.a.PlaneGeometry,material:new L.a.Material({shader:new L.a.Shader({vertex:L.a.Shader.source("ecgl.color.vertex"),fragment:L.a.Shader.source("ecgl.color.fragment")}),transparent:!0})});f.material.enableTexture("diffuseMap"),this.groupGL.add(f),this._planeMesh=f},render:function(c,u,f){var i=this._particleSurface;i.setParticleType(c.get("particleType")),i.setSupersampling(c.get("supersampling")),this._updateData(c,f),this._updateCamera(f.getWidth(),f.getHeight(),f.getDevicePixelRatio());var o=b.a.firstNotNull(c.get("particleDensity"),128);i.setParticleDensity(o,o);var d=this._planeMesh,p=+new Date,m=this,h=!0;d.__percent=0,d.stopAnimation(),d.animate("",{loop:!0}).when(1e5,{__percent:1}).during(function(){var a=+new Date,g=Math.min(a-p,20);p=p+g,m._renderer&&(i.update(m._renderer,f,g/1e3,h),d.material.set("diffuseMap",i.getSurfaceTexture())),h=!1}).start();var v=c.getModel("itemStyle"),r=L.a.parseColor(v.get("color"));r[3]*=b.a.firstNotNull(v.get("opacity"),1),d.material.set("color",r),i.setColorTextureImage(c.get("colorTexture"),f),i.setParticleSize(c.get("particleSize")),i.particleSpeedScaling=c.get("particleSpeed"),i.motionBlurFactor=1-Math.pow(.1,c.get("particleTrail"))},updateTransform:function(c,u,f){this._updateData(c,f)},afterRender:function(c,u,f,i){var o=i.renderer;this._renderer=o},_updateData:function(c,u){var f=c.coordinateSystem,i=f.dimensions.map(function(G){return c.coordDimToDataDim(G)[0]}),o=c.getData(),d=o.getDataExtent(i[0]),p=o.getDataExtent(i[1]),m=c.get("gridWidth"),h=c.get("gridHeight");if(m==null||m==="auto"){var v=(d[1]-d[0])/(p[1]-p[0]);m=Math.round(Math.sqrt(v*o.count()))}(h==null||h==="auto")&&(h=Math.ceil(o.count()/m));var r=this._particleSurface.vectorFieldTexture,a=r.pixels;if(!a||a.length!==h*m*4)a=r.pixels=new Float32Array(m*h*4);else for(var g=0;g<a.length;g++)a[g]=0;var E=0,S=1/0,w=new Float32Array(o.count()*2),R=0,O=[[1/0,1/0],[-1/0,-1/0]];o.each([i[0],i[1],"vx","vy"],function(G,B,P,F){var K=f.dataToPoint([G,B]);w[R++]=K[0],w[R++]=K[1],O[0][0]=Math.min(K[0],O[0][0]),O[0][1]=Math.min(K[1],O[0][1]),O[1][0]=Math.max(K[0],O[1][0]),O[1][1]=Math.max(K[1],O[1][1]);var U=Math.sqrt(P*P+F*F);E=Math.max(E,U),S=Math.min(S,U)}),o.each(["vx","vy"],function(G,B,P){var F=Math.round((w[P*2]-O[0][0])/(O[1][0]-O[0][0])*(m-1)),K=h-1-Math.round((w[P*2+1]-O[0][1])/(O[1][1]-O[0][1])*(h-1)),U=(K*m+F)*4;a[U]=G/E*.5+.5,a[U+1]=B/E*.5+.5,a[U+3]=1}),r.width=m,r.height=h,c.get("coordinateSystem")==="bmap"&&this._fillEmptyPixels(r),r.dirty(),this._updatePlanePosition(O[0],O[1],c,u),this._updateGradientTexture(o.getVisual("visualMeta"),[S,E])},_fillEmptyPixels:function(c){var u=c.pixels,f=c.width,i=c.height;function o(w,R,O){w=Math.max(Math.min(w,f-1),0),R=Math.max(Math.min(R,i-1),0);var G=(R*(f-1)+w)*4;return u[G+3]===0?!1:(O[0]=u[G],O[1]=u[G+1],!0)}function d(w,R,O){O[0]=w[0]+R[0],O[1]=w[1]+R[1]}for(var p=[],m=[],h=[],v=[],r=[],a=0,g=0;g<i;g++)for(var E=0;E<f;E++){var S=(g*(f-1)+E)*4;u[S+3]===0&&(a=p[0]=p[1]=0,o(E-1,g,m)&&(a++,d(m,p,p)),o(E+1,g,h)&&(a++,d(h,p,p)),o(E,g-1,v)&&(a++,d(v,p,p)),o(E,g+1,r)&&(a++,d(r,p,p)),p[0]/=a,p[1]/=a,u[S]=p[0],u[S+1]=p[1]),u[S+3]=1}},_updateGradientTexture:function(c,u){if(!c||!c.length){this._particleSurface.setGradientTexture(null);return}this._gradientTexture=this._gradientTexture||new L.a.Texture2D({image:document.createElement("canvas")});var f=this._gradientTexture,i=f.image;i.width=200,i.height=1;var o=i.getContext("2d"),d=o.createLinearGradient(0,.5,i.width,.5);c[0].stops.forEach(function(p){var m;u[1]===u[0]?m=0:(m=p.value/u[1],m=Math.min(Math.max(m,0),1)),d.addColorStop(m,p.color)}),o.fillStyle=d,o.fillRect(0,0,i.width,i.height),f.dirty(),this._particleSurface.setGradientTexture(this._gradientTexture)},_updatePlanePosition:function(c,u,f,i){var o=this._limitInViewportAndFullFill(c,u,f,i);c=o.leftTop,u=o.rightBottom,this._particleSurface.setRegion(o.region),this._planeMesh.position.set((c[0]+u[0])/2,i.getHeight()-(c[1]+u[1])/2,0);var d=u[0]-c[0],p=u[1]-c[1];this._planeMesh.scale.set(d/2,p/2,1),this._particleSurface.resize(Math.max(Math.min(d,2048),1),Math.max(Math.min(p,2048),1)),this._renderer&&this._particleSurface.clearFrame(this._renderer)},_limitInViewportAndFullFill:function(c,u,f,i){var o=[Math.max(c[0],0),Math.max(c[1],0)],d=[Math.min(u[0],i.getWidth()),Math.min(u[1],i.getHeight())];if(f.get("coordinateSystem")==="bmap"){var p=f.getData().getDataExtent(f.coordDimToDataDim("lng")[0]),m=Math.floor(p[1]-p[0])>=359;m&&(o[0]>0&&(o[0]=0),d[0]<i.getWidth()&&(d[0]=i.getWidth()))}var h=u[0]-c[0],v=u[1]-c[1],r=d[0]-o[0],a=d[1]-o[1],g=[(o[0]-c[0])/h,1-a/v-(o[1]-c[1])/v,r/h,a/v];return{leftTop:o,rightBottom:d,region:g}},_updateCamera:function(c,u,f){this.viewGL.setViewport(0,0,c,u,f);var i=this.viewGL.camera;i.left=i.bottom=0,i.top=u,i.right=c,i.near=0,i.far=100,i.position.z=10},remove:function(){this._planeMesh.stopAnimation(),this.groupGL.removeAll()},dispose:function(){this._renderer&&this._particleSurface.dispose(this._renderer),this.groupGL.removeAll()}})},function(te,X,D){"use strict";var W=D(14),y=D(13),L=D(24),b=D(17),s=D(7),T=D(5),c=D(6),u=D(30),f=D(37),i=D(10),o=D(256),d=D(257);s.a.import(d.a);function p(h){var v=document.createElement("canvas");v.width=v.height=h;var r=v.getContext("2d");return r.fillStyle="#fff",r.arc(h/2,h/2,h/2,0,Math.PI*2),r.fill(),v}var m=function(){this.motionBlurFactor=.99,this.vectorFieldTexture=new T.a({type:c.a.FLOAT,flipY:!1}),this.particleLife=[5,20],this._particleType="point",this._particleSize=1,this.particleColor=[1,1,1,1],this.particleSpeedScaling=1,this._thisFrameTexture=null,this._particlePass=null,this._spawnTexture=null,this._particleTexture0=null,this._particleTexture1=null,this._particlePointsMesh=null,this._surfaceFrameBuffer=null,this._elapsedTime=0,this._scene=null,this._camera=null,this._lastFrameTexture=null,this._supersampling=1,this._downsampleTextures=[],this._width=512,this._height=512,this.init()};m.prototype={constructor:m,init:function(){var h={type:c.a.FLOAT,minFilter:c.a.NEAREST,magFilter:c.a.NEAREST,useMipmap:!1};this._spawnTexture=new T.a(h),this._particleTexture0=new T.a(h),this._particleTexture1=new T.a(h),this._frameBuffer=new i.a({depthBuffer:!1}),this._particlePass=new W.a({fragment:s.a.source("ecgl.vfParticle.particle.fragment")}),this._particlePass.setUniform("velocityTexture",this.vectorFieldTexture),this._particlePass.setUniform("spawnTexture",this._spawnTexture),this._downsamplePass=new W.a({fragment:s.a.source("clay.compositor.downsample")});var v=new L.a({renderOrder:10,material:new b.a({shader:new s.a(s.a.source("ecgl.vfParticle.renderPoints.vertex"),s.a.source("ecgl.vfParticle.renderPoints.fragment"))}),mode:L.a.POINTS,geometry:new y.a({dynamic:!0,mainAttribute:"texcoord0"})}),r=new L.a({renderOrder:10,material:new b.a({shader:new s.a(s.a.source("ecgl.vfParticle.renderLines.vertex"),s.a.source("ecgl.vfParticle.renderLines.fragment"))}),geometry:new o.a,culling:!1}),a=new L.a({material:new b.a({shader:new s.a(s.a.source("ecgl.color.vertex"),s.a.source("ecgl.color.fragment"))}),geometry:new f.a});a.material.enableTexture("diffuseMap"),this._particlePointsMesh=v,this._particleLinesMesh=r,this._lastFrameFullQuadMesh=a,this._camera=new u.a,this._thisFrameTexture=new T.a,this._lastFrameTexture=new T.a},setParticleDensity:function(h,v){for(var r=h*v,a=new Float32Array(r*4),g=0,E=this.particleLife,S=0;S<h;S++)for(var w=0;w<v;w++,g++){a[g*4]=Math.random(),a[g*4+1]=Math.random(),a[g*4+2]=Math.random();var R=(E[1]-E[0])*Math.random()+E[0];a[g*4+3]=R}this._particleType==="line"?this._setLineGeometry(h,v):this._setPointsGeometry(h,v),this._spawnTexture.width=h,this._spawnTexture.height=v,this._spawnTexture.pixels=a,this._particleTexture0.width=this._particleTexture1.width=h,this._particleTexture0.height=this._particleTexture1.height=v,this._particlePass.setUniform("textureSize",[h,v])},_setPointsGeometry:function(h,v){var r=h*v,a=this._particlePointsMesh.geometry,g=a.attributes;g.texcoord0.init(r);for(var E=0,S=0;S<h;S++)for(var w=0;w<v;w++,E++)g.texcoord0.value[E*2]=S/h,g.texcoord0.value[E*2+1]=w/v;a.dirty()},_setLineGeometry:function(h,v){var r=h*v,a=this._getParticleMesh().geometry;a.setLineCount(r),a.resetOffset();for(var g=0;g<h;g++)for(var E=0;E<v;E++)a.addLine([g/h,E/v]);a.dirty()},_getParticleMesh:function(){return this._particleType==="line"?this._particleLinesMesh:this._particlePointsMesh},update:function(h,v,r,a){var g=this._getParticleMesh(),E=this._frameBuffer,S=this._particlePass;a&&this._updateDownsampleTextures(h,v),g.material.set("size",this._particleSize*this._supersampling),g.material.set("color",this.particleColor),S.setUniform("speedScaling",this.particleSpeedScaling),E.attach(this._particleTexture1),S.setUniform("firstFrameTime",a?(this.particleLife[1]+this.particleLife[0])/2:0),S.setUniform("particleTexture",this._particleTexture0),S.setUniform("deltaTime",r),S.setUniform("elapsedTime",this._elapsedTime),S.render(h,E),g.material.set("particleTexture",this._particleTexture1),g.material.set("prevParticleTexture",this._particleTexture0),E.attach(this._thisFrameTexture),E.bind(h),h.gl.clear(h.gl.DEPTH_BUFFER_BIT|h.gl.COLOR_BUFFER_BIT);var w=this._lastFrameFullQuadMesh;w.material.set("diffuseMap",this._lastFrameTexture),w.material.set("color",[1,1,1,this.motionBlurFactor]),this._camera.update(!0),h.renderPass([w,g],this._camera),E.unbind(h),this._downsample(h),this._swapTexture(),this._elapsedTime+=r},_downsample:function(h){var v=this._downsampleTextures;if(v.length!==0)for(var r=0,a=this._thisFrameTexture,g=v[r];g;)this._frameBuffer.attach(g),this._downsamplePass.setUniform("texture",a),this._downsamplePass.setUniform("textureSize",[a.width,a.height]),this._downsamplePass.render(h,this._frameBuffer),a=g,g=v[++r]},getSurfaceTexture:function(){var h=this._downsampleTextures;return h.length>0?h[h.length-1]:this._lastFrameTexture},setRegion:function(h){this._particlePass.setUniform("region",h)},resize:function(h,v){this._lastFrameTexture.width=h*this._supersampling,this._lastFrameTexture.height=v*this._supersampling,this._thisFrameTexture.width=h*this._supersampling,this._thisFrameTexture.height=v*this._supersampling,this._width=h,this._height=v},setParticleSize:function(h){var v=this._getParticleMesh();if(h<=2){v.material.disableTexture("spriteTexture"),v.material.transparent=!1;return}this._spriteTexture||(this._spriteTexture=new T.a),(!this._spriteTexture.image||this._spriteTexture.image.width!==h)&&(this._spriteTexture.image=p(h),this._spriteTexture.dirty()),v.material.transparent=!0,v.material.enableTexture("spriteTexture"),v.material.set("spriteTexture",this._spriteTexture),this._particleSize=h},setGradientTexture:function(h){var v=this._getParticleMesh().material;v[h?"enableTexture":"disableTexture"]("gradientTexture"),v.setUniform("gradientTexture",h)},setColorTextureImage:function(h,v){var r=this._getParticleMesh().material;r.setTextureImage("colorTexture",h,v,{flipY:!0})},setParticleType:function(h){this._particleType=h},clearFrame:function(h){var v=this._frameBuffer;v.attach(this._lastFrameTexture),v.bind(h),h.gl.clear(h.gl.DEPTH_BUFFER_BIT|h.gl.COLOR_BUFFER_BIT),v.unbind(h)},setSupersampling:function(h){this._supersampling=h,this.resize(this._width,this._height)},_updateDownsampleTextures:function(h,v){for(var r=this._downsampleTextures,a=Math.max(Math.floor(Math.log(this._supersampling/v.getDevicePixelRatio())/Math.log(2)),0),g=2,E=this._width*this._supersampling,S=this._height*this._supersampling,w=0;w<a;w++)r[w]=r[w]||new T.a,r[w].width=E/g,r[w].height=S/g,g*=2;for(;w<r.length;w++)r[w].dispose(h);r.length=a},_swapTexture:function(){var h=this._particleTexture0;this._particleTexture0=this._particleTexture1,this._particleTexture1=h;var h=this._thisFrameTexture;this._thisFrameTexture=this._lastFrameTexture,this._lastFrameTexture=h},dispose:function(h){h.disposeFrameBuffer(this._frameBuffer),h.disposeTexture(this.vectorFieldTexture),h.disposeTexture(this._spawnTexture),h.disposeTexture(this._particleTexture0),h.disposeTexture(this._particleTexture1),h.disposeTexture(this._thisFrameTexture),h.disposeTexture(this._lastFrameTexture),h.disposeGeometry(this._particleLinesMesh.geometry),h.disposeGeometry(this._particlePointsMesh.geometry),h.disposeGeometry(this._lastFrameFullQuadMesh.geometry),this._spriteTexture&&h.disposeTexture(this._spriteTexture),this._particlePass.dispose(h),this._downsamplePass.dispose(h),this._downsampleTextures.forEach(function(v){v.dispose(h)})}},X.a=m},function(te,X,D){"use strict";var W=D(13),y=D(0),L=D.n(y),b=W.a.extend(function(){return{dynamic:!0,attributes:{position:new W.a.Attribute("position","float",3,"POSITION")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setLineCount:function(s){var T=this.attributes,c=4*s,u=2*s;this.vertexCount!==c&&T.position.init(c),this.triangleCount!==u&&(u===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(u*3):new Uint16Array(u*3))},addLine:function(s){var T=this._vertexOffset;this.attributes.position.set(T,[s[0],s[1],1]),this.attributes.position.set(T+1,[s[0],s[1],-1]),this.attributes.position.set(T+2,[s[0],s[1],2]),this.attributes.position.set(T+3,[s[0],s[1],-2]),this.setTriangleIndices(this._faceOffset++,[T,T+1,T+2]),this.setTriangleIndices(this._faceOffset++,[T+1,T+2,T+3]),this._vertexOffset+=4}});X.a=b},function(te,X,D){"use strict";X.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(te,X,D){"use strict";var W=D(0),y=D.n(W);y.a.extendSeriesModel({type:"series.flowGL",dependencies:["geo","grid","bmap"],visualColorAccessPath:"itemStyle.color",getInitialData:function(L,b){var s=y.a.getCoordinateSystemDimensions(this.get("coordinateSystem"))||["x","y"];if(s.length>2)throw new Error("flowGL can only be used on 2d coordinate systems.");s.push("vx","vy");var T=y.a.helper.completeDimensions(s,this.getSource(),{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),c=new y.a.List(T,this);return c.initData(this.getSource()),c},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(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(260),b=D(261),s=D(16);y.a.registerVisual(Object(s.a)("linesGL"))},function(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(12),b=D.n(L),s=y.a.extendSeriesModel({type:"series.linesGL",dependencies:["grid","geo"],visualColorAccessPath:"lineStyle.color",streamEnabled:!0,init:function(T){var c=this._processFlatCoordsArray(T.data);this._flatCoords=c.flatCoords,this._flatCoordsOffset=c.flatCoordsOffset,c.flatCoords&&(T.data=new Float32Array(c.count)),s.superApply(this,"init",arguments)},mergeOption:function(T){var c=this._processFlatCoordsArray(T.data);this._flatCoords=c.flatCoords,this._flatCoordsOffset=c.flatCoordsOffset,c.flatCoords&&(T.data=new Float32Array(c.count)),s.superApply(this,"mergeOption",arguments)},appendData:function(T){var c=this._processFlatCoordsArray(T.data);c.flatCoords&&(this._flatCoords?(this._flatCoords=Object(L.concatArray)(this._flatCoords,c.flatCoords),this._flatCoordsOffset=Object(L.concatArray)(this._flatCoordsOffset,c.flatCoordsOffset)):(this._flatCoords=c.flatCoords,this._flatCoordsOffset=c.flatCoordsOffset),T.data=new Float32Array(c.count)),this.getRawData().appendData(T.data)},_getCoordsFromItemModel:function(T){var c=this.getData().getItemModel(T),u=c.option instanceof Array?c.option:c.getShallow("coords");if(!(u instanceof Array&&u.length>0&&u[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(u)+". Lines must have 2d coords array in data item.");return u},getLineCoordsCount:function(T){return this._flatCoordsOffset?this._flatCoordsOffset[T*2+1]:this._getCoordsFromItemModel(T).length},getLineCoords:function(T,c){if(this._flatCoordsOffset){for(var u=this._flatCoordsOffset[T*2],f=this._flatCoordsOffset[T*2+1],i=0;i<f;i++)c[i]=c[i]||[],c[i][0]=this._flatCoords[u+i*2],c[i][1]=this._flatCoords[u+i*2+1];return f}else{for(var o=this._getCoordsFromItemModel(T),i=0;i<o.length;i++)c[i]=c[i]||[],c[i][0]=o[i][0],c[i][1]=o[i][1];return o.length}},_processFlatCoordsArray:function(T){var c=0;if(this._flatCoords&&(c=this._flatCoords.length),typeof T[0]=="number"){for(var u=T.length,f=new Uint32Array(u),i=new Float64Array(u),o=0,d=0,p=0,m=0;m<u;){p++;var h=T[m++];f[d++]=o+c,f[d++]=h;for(var v=0;v<h;v++){var r=T[m++],a=T[m++];if(i[o++]=r,i[o++]=a,m>u)throw new Error("Invalid data format.")}}return{flatCoordsOffset:new Uint32Array(f.buffer,0,d),flatCoords:i,count:p}}return{flatCoordsOffset:null,flatCoords:null,count:T.length}},getInitialData:function(T,c){var u=new y.a.List(["value"],this);return u.hasItemOption=!1,u.initData(T.data,[],function(f,i,o,d){if(f instanceof Array)return NaN;u.hasItemOption=!0;var p=f.value;if(p!=null)return p instanceof Array?p[d]:p}),u},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(te,X,D){"use strict";var W=D(0),y=D.n(W),L=D(2),b=D(20),s=D(86),T=D(84),c=D(3);y.a.extendChartView({type:"linesGL",__ecgl__:!0,init:function(u,f){this.groupGL=new L.a.Node,this.viewGL=new b.a("orthographic"),this.viewGL.add(this.groupGL),this._glViewHelper=new T.a(this.viewGL),this._nativeLinesShader=L.a.createShader("ecgl.lines3D"),this._meshLinesShader=L.a.createShader("ecgl.meshLines3D"),this._linesMeshes=[],this._currentStep=0},render:function(u,f,i){this.groupGL.removeAll(),this._glViewHelper.reset(u,i);var o=this._linesMeshes[0];o||(o=this._linesMeshes[0]=this._createLinesMesh(u)),this._linesMeshes.length=1,this.groupGL.add(o),this._updateLinesMesh(u,o,0,u.getData().count()),this.viewGL.setPostEffect(u.getModel("postEffect"),i)},incrementalPrepareRender:function(u,f,i){this.groupGL.removeAll(),this._glViewHelper.reset(u,i),this._currentStep=0,this.viewGL.setPostEffect(u.getModel("postEffect"),i)},incrementalRender:function(u,f,i,o){var d=this._linesMeshes[this._currentStep];d||(d=this._createLinesMesh(f),this._linesMeshes[this._currentStep]=d),this._updateLinesMesh(f,d,u.start,u.end),this.groupGL.add(d),o.getZr().refresh(),this._currentStep++},updateTransform:function(u,f,i){u.coordinateSystem.getRoamTransform&&this._glViewHelper.updateTransform(u,i)},_createLinesMesh:function(u){var f=new L.a.Mesh({$ignorePicking:!0,material:new L.a.Material({shader:L.a.createShader("ecgl.lines3D"),transparent:!0,depthMask:!1,depthTest:!1}),geometry:new s.a({segmentScale:10,useNativeLine:!0,dynamic:!1}),mode:L.a.Mesh.LINES,culling:!1});return f},_updateLinesMesh:function(u,f,i,o){var d=u.getData();f.material.blend=u.get("blendMode")==="lighter"?L.a.additiveBlend:null;var p=u.get("lineStyle.curveness")||0,m=u.get("polyline"),h=f.geometry,v=u.coordinateSystem,r=c.a.firstNotNull(u.get("lineStyle.width"),1);r>1?(f.material.shader!==this._meshLinesShader&&f.material.attachShader(this._meshLinesShader),f.mode=L.a.Mesh.TRIANGLES):(f.material.shader!==this._nativeLinesShader&&f.material.attachShader(this._nativeLinesShader),f.mode=L.a.Mesh.LINES),i=i||0,o=o||d.count(),h.resetOffset();var a=0,g=0,E=[],S=[],w=[],R=[],O=[],G=.3,B=.7;function P(){S[0]=E[0]*B+R[0]*G-(E[1]-R[1])*p,S[1]=E[1]*B+R[1]*G-(R[0]-E[0])*p,w[0]=E[0]*G+R[0]*B-(E[1]-R[1])*p,w[1]=E[1]*G+R[1]*B-(R[0]-E[0])*p}if(m||p!==0)for(var F=i;F<o;F++)if(m){var K=u.getLineCoordsCount(F);a+=h.getPolylineVertexCount(K),g+=h.getPolylineTriangleCount(K)}else u.getLineCoords(F,O),this._glViewHelper.dataToPoint(v,O[0],E),this._glViewHelper.dataToPoint(v,O[1],R),P(),a+=h.getCubicCurveVertexCount(E,S,w,R),g+=h.getCubicCurveTriangleCount(E,S,w,R);else{var U=o-i;a+=U*h.getLineVertexCount(),g+=U*h.getLineVertexCount()}h.setVertexCount(a),h.setTriangleCount(g);for(var V=i,C=[],F=i;F<o;F++){L.a.parseColor(d.getItemVisual(V,"color"),C);var M=c.a.firstNotNull(d.getItemVisual(V,"opacity"),1);C[3]*=M;for(var K=u.getLineCoords(F,O),z=0;z<K;z++)this._glViewHelper.dataToPoint(v,O[z],O[z]);m?h.addPolyline(O,C,r,0,K):p!==0?(E=O[0],R=O[1],P(),h.addCubicCurve(E,S,w,R,C,r)):h.addPolyline(O,C,r,0,2),V++}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})}])})},3867:function(tr,qe,ae){var ee=ae(97671);(function(te,X){tr.exports=X()})(this,function(){"use strict";function te(ie){var he=typeof ie;return ie!==null&&(he==="object"||he==="function")}function X(ie){return typeof ie=="function"}var D=void 0;Array.isArray?D=Array.isArray:D=function(ie){return Object.prototype.toString.call(ie)==="[object Array]"};var W=D,y=0,L=void 0,b=void 0,s=function(he,ye){a[y]=he,a[y+1]=ye,y+=2,y===2&&(b?b(g):S())};function T(ie){b=ie}function c(ie){s=ie}var u=typeof window!="undefined"?window:void 0,f=u||{},i=f.MutationObserver||f.WebKitMutationObserver,o=typeof self=="undefined"&&typeof ee!="undefined"&&{}.toString.call(ee)==="[object process]",d=typeof Uint8ClampedArray!="undefined"&&typeof importScripts!="undefined"&&typeof MessageChannel!="undefined";function p(){return function(){return ee.nextTick(g)}}function m(){return typeof L!="undefined"?function(){L(g)}:r()}function h(){var ie=0,he=new i(g),ye=document.createTextNode("");return he.observe(ye,{characterData:!0}),function(){ye.data=ie=++ie%2}}function v(){var ie=new MessageChannel;return ie.port1.onmessage=g,function(){return ie.port2.postMessage(0)}}function r(){var ie=setTimeout;return function(){return ie(g,1)}}var a=new Array(1e3);function g(){for(var ie=0;ie<y;ie+=2){var he=a[ie],ye=a[ie+1];he(ye),a[ie]=void 0,a[ie+1]=void 0}y=0}function E(){try{var ie=Function("return this")().require("vertx");return L=ie.runOnLoop||ie.runOnContext,m()}catch(he){return r()}}var S=void 0;o?S=p():i?S=h():d?S=v():u===void 0?S=E():S=r();function w(ie,he){var ye=this,ce=new this.constructor(G);ce[O]===void 0&&Ke(ce);var Te=ye._state;if(Te){var Oe=arguments[Te-1];s(function(){return De(Te,ce,Oe,ye._result)})}else pe(ye,ce,ie,he);return ce}function R(ie){var he=this;if(ie&&typeof ie=="object"&&ie.constructor===he)return ie;var ye=new he(G);return $(ye,ie),ye}var O=Math.random().toString(36).substring(2);function G(){}var B=void 0,P=1,F=2;function K(){return new TypeError("You cannot resolve a promise with itself")}function U(){return new TypeError("A promises callback cannot return that same promise.")}function V(ie,he,ye,ce){try{ie.call(he,ye,ce)}catch(Te){return Te}}function C(ie,he,ye){s(function(ce){var Te=!1,Oe=V(ye,he,function(Be){Te||(Te=!0,he!==Be?$(ce,Be):se(ce,Be))},function(Be){Te||(Te=!0,ue(ce,Be))},"Settle: "+(ce._label||" unknown promise"));!Te&&Oe&&(Te=!0,ue(ce,Oe))},ie)}function M(ie,he){he._state===P?se(ie,he._result):he._state===F?ue(ie,he._result):pe(he,void 0,function(ye){return $(ie,ye)},function(ye){return ue(ie,ye)})}function z(ie,he,ye){he.constructor===ie.constructor&&ye===w&&he.constructor.resolve===R?M(ie,he):ye===void 0?se(ie,he):X(ye)?C(ie,he,ye):se(ie,he)}function $(ie,he){if(ie===he)ue(ie,K());else if(te(he)){var ye=void 0;try{ye=he.then}catch(ce){ue(ie,ce);return}z(ie,he,ye)}else se(ie,he)}function q(ie){ie._onerror&&ie._onerror(ie._result),Ee(ie)}function se(ie,he){ie._state===B&&(ie._result=he,ie._state=P,ie._subscribers.length!==0&&s(Ee,ie))}function ue(ie,he){ie._state===B&&(ie._state=F,ie._result=he,s(q,ie))}function pe(ie,he,ye,ce){var Te=ie._subscribers,Oe=Te.length;ie._onerror=null,Te[Oe]=he,Te[Oe+P]=ye,Te[Oe+F]=ce,Oe===0&&ie._state&&s(Ee,ie)}function Ee(ie){var he=ie._subscribers,ye=ie._state;if(he.length!==0){for(var ce=void 0,Te=void 0,Oe=ie._result,Be=0;Be<he.length;Be+=3)ce=he[Be],Te=he[Be+ye],ce?De(ye,ce,Te,Oe):Te(Oe);ie._subscribers.length=0}}function De(ie,he,ye,ce){var Te=X(ye),Oe=void 0,Be=void 0,Xe=!0;if(Te){try{Oe=ye(ce)}catch(lt){Xe=!1,Be=lt}if(he===Oe){ue(he,U());return}}else Oe=ce;he._state!==B||(Te&&Xe?$(he,Oe):Xe===!1?ue(he,Be):ie===P?se(he,Oe):ie===F&&ue(he,Oe))}function Fe(ie,he){try{he(function(ce){$(ie,ce)},function(ce){ue(ie,ce)})}catch(ye){ue(ie,ye)}}var Ge=0;function xe(){return Ge++}function Ke(ie){ie[O]=Ge++,ie._state=void 0,ie._result=void 0,ie._subscribers=[]}function Ce(){return new Error("Array Methods must be provided an Array")}var Se=function(){function ie(he,ye){this._instanceConstructor=he,this.promise=new he(G),this.promise[O]||Ke(this.promise),W(ye)?(this.length=ye.length,this._remaining=ye.length,this._result=new Array(this.length),this.length===0?se(this.promise,this._result):(this.length=this.length||0,this._enumerate(ye),this._remaining===0&&se(this.promise,this._result))):ue(this.promise,Ce())}return ie.prototype._enumerate=function(ye){for(var ce=0;this._state===B&&ce<ye.length;ce++)this._eachEntry(ye[ce],ce)},ie.prototype._eachEntry=function(ye,ce){var Te=this._instanceConstructor,Oe=Te.resolve;if(Oe===R){var Be=void 0,Xe=void 0,lt=!1;try{Be=ye.then}catch(tt){lt=!0,Xe=tt}if(Be===w&&ye._state!==B)this._settledAt(ye._state,ce,ye._result);else if(typeof Be!="function")this._remaining--,this._result[ce]=ye;else if(Te===me){var _t=new Te(G);lt?ue(_t,Xe):z(_t,ye,Be),this._willSettleAt(_t,ce)}else this._willSettleAt(new Te(function(tt){return tt(ye)}),ce)}else this._willSettleAt(Oe(ye),ce)},ie.prototype._settledAt=function(ye,ce,Te){var Oe=this.promise;Oe._state===B&&(this._remaining--,ye===F?ue(Oe,Te):this._result[ce]=Te),this._remaining===0&&se(Oe,this._result)},ie.prototype._willSettleAt=function(ye,ce){var Te=this;pe(ye,void 0,function(Oe){return Te._settledAt(P,ce,Oe)},function(Oe){return Te._settledAt(F,ce,Oe)})},ie}();function ge(ie){return new Se(this,ie).promise}function Re(ie){var he=this;return W(ie)?new he(function(ye,ce){for(var Te=ie.length,Oe=0;Oe<Te;Oe++)he.resolve(ie[Oe]).then(ye,ce)}):new he(function(ye,ce){return ce(new TypeError("You must pass an array to race."))})}function ve(ie){var he=this,ye=new he(G);return ue(ye,ie),ye}function Le(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function Ue(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var me=function(){function ie(he){this[O]=xe(),this._result=this._state=void 0,this._subscribers=[],G!==he&&(typeof he!="function"&&Le(),this instanceof ie?Fe(this,he):Ue())}return ie.prototype.catch=function(ye){return this.then(null,ye)},ie.prototype.finally=function(ye){var ce=this,Te=ce.constructor;return X(ye)?ce.then(function(Oe){return Te.resolve(ye()).then(function(){return Oe})},function(Oe){return Te.resolve(ye()).then(function(){throw Oe})}):ce.then(ye,ye)},ie}();me.prototype.then=w,me.all=ge,me.race=Re,me.resolve=R,me.reject=ve,me._setScheduler=T,me._setAsap=c,me._asap=s;function oe(){var ie=void 0;if(typeof ae.g!="undefined")ie=ae.g;else if(typeof self!="undefined")ie=self;else try{ie=Function("return this")()}catch(ce){throw new Error("polyfill failed because global object is unavailable in this environment")}var he=ie.Promise;if(he){var ye=null;try{ye=Object.prototype.toString.call(he.resolve())}catch(ce){}if(ye==="[object Promise]"&&!he.cast)return}ie.Promise=me}return me.polyfill=oe,me.Promise=me,me})},86204:function(tr){"use strict";var qe=typeof Reflect=="object"?Reflect:null,ae=qe&&typeof qe.apply=="function"?qe.apply:function(v,r,a){return Function.prototype.apply.call(v,r,a)},ee;qe&&typeof qe.ownKeys=="function"?ee=qe.ownKeys:Object.getOwnPropertySymbols?ee=function(v){return Object.getOwnPropertyNames(v).concat(Object.getOwnPropertySymbols(v))}:ee=function(v){return Object.getOwnPropertyNames(v)};function te(h){console&&console.warn&&console.warn(h)}var X=Number.isNaN||function(v){return v!==v};function D(){D.init.call(this)}tr.exports=D,tr.exports.once=d,D.EventEmitter=D,D.prototype._events=void 0,D.prototype._eventsCount=0,D.prototype._maxListeners=void 0;var W=10;function y(h){if(typeof h!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof h)}Object.defineProperty(D,"defaultMaxListeners",{enumerable:!0,get:function(){return W},set:function(h){if(typeof h!="number"||h<0||X(h))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+h+".");W=h}}),D.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},D.prototype.setMaxListeners=function(v){if(typeof v!="number"||v<0||X(v))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+v+".");return this._maxListeners=v,this};function L(h){return h._maxListeners===void 0?D.defaultMaxListeners:h._maxListeners}D.prototype.getMaxListeners=function(){return L(this)},D.prototype.emit=function(v){for(var r=[],a=1;a<arguments.length;a++)r.push(arguments[a]);var g=v==="error",E=this._events;if(E!==void 0)g=g&&E.error===void 0;else if(!g)return!1;if(g){var S;if(r.length>0&&(S=r[0]),S instanceof Error)throw S;var w=new Error("Unhandled error."+(S?" ("+S.message+")":""));throw w.context=S,w}var R=E[v];if(R===void 0)return!1;if(typeof R=="function")ae(R,this,r);else for(var O=R.length,G=f(R,O),a=0;a<O;++a)ae(G[a],this,r);return!0};function b(h,v,r,a){var g,E,S;if(y(r),E=h._events,E===void 0?(E=h._events=Object.create(null),h._eventsCount=0):(E.newListener!==void 0&&(h.emit("newListener",v,r.listener?r.listener:r),E=h._events),S=E[v]),S===void 0)S=E[v]=r,++h._eventsCount;else if(typeof S=="function"?S=E[v]=a?[r,S]:[S,r]:a?S.unshift(r):S.push(r),g=L(h),g>0&&S.length>g&&!S.warned){S.warned=!0;var w=new Error("Possible EventEmitter memory leak detected. "+S.length+" "+String(v)+" listeners added. Use emitter.setMaxListeners() to increase limit");w.name="MaxListenersExceededWarning",w.emitter=h,w.type=v,w.count=S.length,te(w)}return h}D.prototype.addListener=function(v,r){return b(this,v,r,!1)},D.prototype.on=D.prototype.addListener,D.prototype.prependListener=function(v,r){return b(this,v,r,!0)};function s(){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 T(h,v,r){var a={fired:!1,wrapFn:void 0,target:h,type:v,listener:r},g=s.bind(a);return g.listener=r,a.wrapFn=g,g}D.prototype.once=function(v,r){return y(r),this.on(v,T(this,v,r)),this},D.prototype.prependOnceListener=function(v,r){return y(r),this.prependListener(v,T(this,v,r)),this},D.prototype.removeListener=function(v,r){var a,g,E,S,w;if(y(r),g=this._events,g===void 0)return this;if(a=g[v],a===void 0)return this;if(a===r||a.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete g[v],g.removeListener&&this.emit("removeListener",v,a.listener||r));else if(typeof a!="function"){for(E=-1,S=a.length-1;S>=0;S--)if(a[S]===r||a[S].listener===r){w=a[S].listener,E=S;break}if(E<0)return this;E===0?a.shift():i(a,E),a.length===1&&(g[v]=a[0]),g.removeListener!==void 0&&this.emit("removeListener",v,w||r)}return this},D.prototype.off=D.prototype.removeListener,D.prototype.removeAllListeners=function(v){var r,a,g;if(a=this._events,a===void 0)return this;if(a.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):a[v]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete a[v]),this;if(arguments.length===0){var E=Object.keys(a),S;for(g=0;g<E.length;++g)S=E[g],S!=="removeListener"&&this.removeAllListeners(S);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=a[v],typeof r=="function")this.removeListener(v,r);else if(r!==void 0)for(g=r.length-1;g>=0;g--)this.removeListener(v,r[g]);return this};function c(h,v,r){var a=h._events;if(a===void 0)return[];var g=a[v];return g===void 0?[]:typeof g=="function"?r?[g.listener||g]:[g]:r?o(g):f(g,g.length)}D.prototype.listeners=function(v){return c(this,v,!0)},D.prototype.rawListeners=function(v){return c(this,v,!1)},D.listenerCount=function(h,v){return typeof h.listenerCount=="function"?h.listenerCount(v):u.call(h,v)},D.prototype.listenerCount=u;function u(h){var v=this._events;if(v!==void 0){var r=v[h];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}D.prototype.eventNames=function(){return this._eventsCount>0?ee(this._events):[]};function f(h,v){for(var r=new Array(v),a=0;a<v;++a)r[a]=h[a];return r}function i(h,v){for(;v+1<h.length;v++)h[v]=h[v+1];h.pop()}function o(h){for(var v=new Array(h.length),r=0;r<v.length;++r)v[r]=h[r].listener||h[r];return v}function d(h,v){return new Promise(function(r,a){function g(S){h.removeListener(v,E),a(S)}function E(){typeof h.removeListener=="function"&&h.removeListener("error",g),r([].slice.call(arguments))}m(h,v,E,{once:!0}),v!=="error"&&p(h,g,{once:!0})})}function p(h,v,r){typeof h.on=="function"&&m(h,"error",v,r)}function m(h,v,r,a){if(typeof h.on=="function")a.once?h.once(v,r):h.on(v,r);else if(typeof h.addEventListener=="function")h.addEventListener(v,function g(E){a.once&&h.removeEventListener(v,g),r(E)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof h)}},53291:function(tr){"use strict";var qe=Array.isArray,ae=Object.keys,ee=Object.prototype.hasOwnProperty;tr.exports=function te(X,D){if(X===D)return!0;if(X&&D&&typeof X=="object"&&typeof D=="object"){var W=qe(X),y=qe(D),L,b,s;if(W&&y){if(b=X.length,b!=D.length)return!1;for(L=b;L--!==0;)if(!te(X[L],D[L]))return!1;return!0}if(W!=y)return!1;var T=X instanceof Date,c=D instanceof Date;if(T!=c)return!1;if(T&&c)return X.getTime()==D.getTime();var u=X instanceof RegExp,f=D instanceof RegExp;if(u!=f)return!1;if(u&&f)return X.toString()==D.toString();var i=ae(X);if(b=i.length,b!==ae(D).length)return!1;for(L=b;L--!==0;)if(!ee.call(D,i[L]))return!1;for(L=b;L--!==0;)if(s=i[L],!te(X[s],D[s]))return!1;return!0}return X!==X&&D!==D}},53184:function(tr,qe,ae){"use strict";var ee,te;function X(D,W,y){var L=function(b,s){return D.js_beautify(b,s)};return L.js=D.js_beautify,L.css=W.css_beautify,L.html=y.html_beautify,L.js_beautify=D.js_beautify,L.css_beautify=W.css_beautify,L.html_beautify=y.html_beautify,L}ee=[ae(58553),ae(87804),ae(40998)],te=function(D,W,y){return X(D,W,y)}.apply(qe,ee),te!==void 0&&(tr.exports=te)},87804:function(tr,qe){var ae,ee;(function(){var te;(function(){"use strict";var D=[,,function(b){function s(u){this.__parent=u,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}s.prototype.clone_empty=function(){var u=new s(this.__parent);return u.set_indent(this.__indent_count,this.__alignment_count),u},s.prototype.item=function(u){return u<0?this.__items[this.__items.length+u]:this.__items[u]},s.prototype.has_match=function(u){for(var f=this.__items.length-1;f>=0;f--)if(this.__items[f].match(u))return!0;return!1},s.prototype.set_indent=function(u,f){this.is_empty()&&(this.__indent_count=u||0,this.__alignment_count=f||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},s.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},s.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},s.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var u=this.__parent.current_line;return u.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),u.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),u.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,u.__items[0]===" "&&(u.__items.splice(0,1),u.__character_count-=1),!0}return!1},s.prototype.is_empty=function(){return this.__items.length===0},s.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},s.prototype.push=function(u){this.__items.push(u);var f=u.lastIndexOf(`
`);f!==-1?this.__character_count=u.length-f:this.__character_count+=u.length},s.prototype.pop=function(){var u=null;return this.is_empty()||(u=this.__items.pop(),this.__character_count-=u.length),u},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var u="";return this.is_empty()?this.__parent.indent_empty_lines&&(u=this.__parent.get_indent_string(this.__indent_count)):(u=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),u+=this.__items.join("")),u};function T(u,f){this.__cache=[""],this.__indent_size=u.indent_size,this.__indent_string=u.indent_char,u.indent_with_tabs||(this.__indent_string=new Array(u.indent_size+1).join(u.indent_char)),f=f||"",u.indent_level>0&&(f=new Array(u.indent_level+1).join(this.__indent_string)),this.__base_string=f,this.__base_string_length=f.length}T.prototype.get_indent_size=function(u,f){var i=this.__base_string_length;return f=f||0,u<0&&(i=0),i+=u*this.__indent_size,i+=f,i},T.prototype.get_indent_string=function(u,f){var i=this.__base_string;return f=f||0,u<0&&(u=0,i=""),f+=u*this.__indent_size,this.__ensure_cache(f),i+=this.__cache[f],i},T.prototype.__ensure_cache=function(u){for(;u>=this.__cache.length;)this.__add_column()},T.prototype.__add_column=function(){var u=this.__cache.length,f=0,i="";this.__indent_size&&u>=this.__indent_size&&(f=Math.floor(u/this.__indent_size),u-=f*this.__indent_size,i=new Array(f+1).join(this.__indent_string)),u&&(i+=new Array(u+1).join(" ")),this.__cache.push(i)};function c(u,f){this.__indent_cache=new T(u,f),this.raw=!1,this._end_with_newline=u.end_with_newline,this.indent_size=u.indent_size,this.wrap_line_length=u.wrap_line_length,this.indent_empty_lines=u.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}c.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},c.prototype.get_line_number=function(){return this.__lines.length},c.prototype.get_indent_string=function(u,f){return this.__indent_cache.get_indent_string(u,f)},c.prototype.get_indent_size=function(u,f){return this.__indent_cache.get_indent_size(u,f)},c.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},c.prototype.add_new_line=function(u){return this.is_empty()||!u&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},c.prototype.get_code=function(u){this.trim(!0);var f=this.current_line.pop();f&&(f[f.length-1]===`
`&&(f=f.replace(/\n+$/g,"")),this.current_line.push(f)),this._end_with_newline&&this.__add_outputline();var i=this.__lines.join(`
`);return u!==`
`&&(i=i.replace(/[\n]/g,u)),i},c.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},c.prototype.set_indent=function(u,f){return u=u||0,f=f||0,this.next_line.set_indent(u,f),this.__lines.length>1?(this.current_line.set_indent(u,f),!0):(this.current_line.set_indent(),!1)},c.prototype.add_raw_token=function(u){for(var f=0;f<u.newlines;f++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(u.whitespace_before),this.current_line.push(u.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},c.prototype.add_token=function(u){this.__add_space_before_token(),this.current_line.push(u),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},c.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},c.prototype.remove_indent=function(u){for(var f=this.__lines.length;u<f;)this.__lines[u]._remove_indent(),u++;this.current_line._remove_wrap_indent()},c.prototype.trim=function(u){for(u=u===void 0?!1:u,this.current_line.trim();u&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},c.prototype.just_added_newline=function(){return this.current_line.is_empty()},c.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},c.prototype.ensure_empty_line_above=function(u,f){for(var i=this.__lines.length-2;i>=0;){var o=this.__lines[i];if(o.is_empty())break;if(o.item(0).indexOf(u)!==0&&o.item(-1)!==f){this.__lines.splice(i+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}i--}},b.exports.Output=c},,,,function(b){function s(u,f){this.raw_options=T(u,f),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(u,f){var i=this.raw_options[u],o=f||[];return typeof i=="object"?i!==null&&typeof i.concat=="function"&&(o=i.concat()):typeof i=="string"&&(o=i.split(/[^a-zA-Z0-9_\/\-]+/)),o},s.prototype._get_boolean=function(u,f){var i=this.raw_options[u],o=i===void 0?!!f:!!i;return o},s.prototype._get_characters=function(u,f){var i=this.raw_options[u],o=f||"";return typeof i=="string"&&(o=i.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),o},s.prototype._get_number=function(u,f){var i=this.raw_options[u];f=parseInt(f,10),isNaN(f)&&(f=0);var o=parseInt(i,10);return isNaN(o)&&(o=f),o},s.prototype._get_selection=function(u,f,i){var o=this._get_selection_list(u,f,i);if(o.length!==1)throw new Error("Invalid Option Value: The option '"+u+`' can only be one of the following values:
`+f+`
You passed in: '`+this.raw_options[u]+"'");return o[0]},s.prototype._get_selection_list=function(u,f,i){if(!f||f.length===0)throw new Error("Selection list cannot be empty.");if(i=i||[f[0]],!this._is_valid_selection(i,f))throw new Error("Invalid Default Value!");var o=this._get_array(u,i);if(!this._is_valid_selection(o,f))throw new Error("Invalid Option Value: The option '"+u+`' can contain only the following values:
`+f+`
You passed in: '`+this.raw_options[u]+"'");return o},s.prototype._is_valid_selection=function(u,f){return u.length&&f.length&&!u.some(function(i){return f.indexOf(i)===-1})};function T(u,f){var i={};u=c(u);var o;for(o in u)o!==f&&(i[o]=u[o]);if(f&&u[f])for(o in u[f])i[o]=u[f][o];return i}function c(u){var f={},i;for(i in u){var o=i.replace(/-/g,"_");f[o]=u[i]}return f}b.exports.Options=s,b.exports.normalizeOpts=c,b.exports.mergeOpts=T},,function(b){var s=RegExp.prototype.hasOwnProperty("sticky");function T(c){this.__input=c||"",this.__input_length=this.__input.length,this.__position=0}T.prototype.restart=function(){this.__position=0},T.prototype.back=function(){this.__position>0&&(this.__position-=1)},T.prototype.hasNext=function(){return this.__position<this.__input_length},T.prototype.next=function(){var c=null;return this.hasNext()&&(c=this.__input.charAt(this.__position),this.__position+=1),c},T.prototype.peek=function(c){var u=null;return c=c||0,c+=this.__position,c>=0&&c<this.__input_length&&(u=this.__input.charAt(c)),u},T.prototype.__match=function(c,u){c.lastIndex=u;var f=c.exec(this.__input);return f&&!(s&&c.sticky)&&f.index!==u&&(f=null),f},T.prototype.test=function(c,u){return u=u||0,u+=this.__position,u>=0&&u<this.__input_length?!!this.__match(c,u):!1},T.prototype.testChar=function(c,u){var f=this.peek(u);return c.lastIndex=0,f!==null&&c.test(f)},T.prototype.match=function(c){var u=this.__match(c,this.__position);return u?this.__position+=u[0].length:u=null,u},T.prototype.read=function(c,u,f){var i="",o;return c&&(o=this.match(c),o&&(i+=o[0])),u&&(o||!c)&&(i+=this.readUntil(u,f)),i},T.prototype.readUntil=function(c,u){var f="",i=this.__position;c.lastIndex=this.__position;var o=c.exec(this.__input);return o?(i=o.index,u&&(i+=o[0].length)):i=this.__input_length,f=this.__input.substring(this.__position,i),this.__position=i,f},T.prototype.readUntilAfter=function(c){return this.readUntil(c,!0)},T.prototype.get_regexp=function(c,u){var f=null,i="g";return u&&s&&(i="y"),typeof c=="string"&&c!==""?f=new RegExp(c,i):c&&(f=new RegExp(c.source,i)),f},T.prototype.get_literal_regexp=function(c){return RegExp(c.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},T.prototype.peekUntilAfter=function(c){var u=this.__position,f=this.readUntilAfter(c);return this.__position=u,f},T.prototype.lookBack=function(c){var u=this.__position-1;return u>=c.length&&this.__input.substring(u-c.length,u).toLowerCase()===c},b.exports.InputScanner=T},,,,,function(b){function s(T,c){T=typeof T=="string"?T:T.source,c=typeof c=="string"?c:c.source,this.__directives_block_pattern=new RegExp(T+/ beautify( \w+[:]\w+)+ /.source+c,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(T+/\sbeautify\signore:end\s/.source+c,"g")}s.prototype.get_directives=function(T){if(!T.match(this.__directives_block_pattern))return null;var c={};this.__directive_pattern.lastIndex=0;for(var u=this.__directive_pattern.exec(T);u;)c[u[1]]=u[2],u=this.__directive_pattern.exec(T);return c},s.prototype.readIgnored=function(T){return T.readUntilAfter(this.__directives_end_ignore_pattern)},b.exports.Directives=s},,function(b,s,T){var c=T(16).Beautifier,u=T(17).Options;function f(i,o){var d=new c(i,o);return d.beautify()}b.exports=f,b.exports.defaultOptions=function(){return new u}},function(b,s,T){var c=T(17).Options,u=T(2).Output,f=T(8).InputScanner,i=T(13).Directives,o=new i(/\/\*/,/\*\//),d=/\r\n|[\r\n]/,p=/\r\n|[\r\n]/g,m=/\s/,h=/(?:\s|\n)+/g,v=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,r=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function a(g,E){this._source_text=g||"",this._options=new c(E),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,"font-face":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=["grid-template-areas","grid-template"]}a.prototype.eatString=function(g){var E="";for(this._ch=this._input.next();this._ch;){if(E+=this._ch,this._ch==="\\")E+=this._input.next();else if(g.indexOf(this._ch)!==-1||this._ch===`
`)break;this._ch=this._input.next()}return E},a.prototype.eatWhitespace=function(g){for(var E=m.test(this._input.peek()),S=0;m.test(this._input.peek());)this._ch=this._input.next(),g&&this._ch===`
`&&(S===0||S<this._options.max_preserve_newlines)&&(S++,this._output.add_new_line(!0));return E},a.prototype.foundNestedPseudoClass=function(){for(var g=0,E=1,S=this._input.peek(E);S;){if(S==="{")return!0;if(S==="(")g+=1;else if(S===")"){if(g===0)return!1;g-=1}else if(S===";"||S==="}")return!1;E++,S=this._input.peek(E)}return!1},a.prototype.print_string=function(g){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(g)},a.prototype.preserveSingleSpace=function(g){g&&(this._output.space_before_token=!0)},a.prototype.indent=function(){this._indentLevel++},a.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},a.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var g=this._source_text,E=this._options.eol;E==="auto"&&(E=`
`,g&&d.test(g||"")&&(E=g.match(d)[0])),g=g.replace(p,`
`);var S=g.match(/^[\t ]*/)[0];this._output=new u(this._options,S),this._input=new f(g),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var w=0,R=!1,O=!1,G=!1,B=!1,P=!1,F=this._ch,K=!1,U,V,C;U=this._input.read(h),V=U!=="",C=F,this._ch=this._input.next(),this._ch==="\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),F=this._ch,this._ch;)if(this._ch==="/"&&this._input.peek()==="*"){this._output.add_new_line(),this._input.back();var M=this._input.read(v),z=o.get_directives(M);z&&z.ignore==="start"&&(M+=o.readIgnored(this._input)),this.print_string(M),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch==="/"&&this._input.peek()==="/")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(r)),this.eatWhitespace(!0);else if(this._ch==="$"){this.preserveSingleSpace(V),this.print_string(this._ch);var $=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);$.match(/[ :]$/)&&($=this.eatString(": ").replace(/\s+$/,""),this.print_string($),this._output.space_before_token=!0),w===0&&$.indexOf(":")!==-1&&(O=!0,this.indent())}else if(this._ch==="@")if(this.preserveSingleSpace(V),this._input.peek()==="{")this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var q=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);q.match(/[ :]$/)&&(q=this.eatString(": ").replace(/\s+$/,""),this.print_string(q),this._output.space_before_token=!0),w===0&&q.indexOf(":")!==-1?(O=!0,this.indent()):q in this.NESTED_AT_RULE?(this._nestedLevel+=1,q in this.CONDITIONAL_GROUP_RULE&&(G=!0)):w===0&&!O&&(B=!0)}else if(this._ch==="#"&&this._input.peek()==="{")this.preserveSingleSpace(V),this.print_string(this._ch+this.eatString("}"));else if(this._ch==="{")O&&(O=!1,this.outdent()),B=!1,G?(G=!1,R=this._indentLevel>=this._nestedLevel):R=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&R&&this._output.previous_line&&this._output.previous_line.item(-1)!=="{"&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,this._options.brace_style==="expand"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(C==="("?this._output.space_before_token=!1:C!==","&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch==="}")this.outdent(),this._output.add_new_line(),C==="{"&&this._output.trim(!0),O&&(this.outdent(),O=!1),this.print_string(this._ch),R=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!=="}"&&this._output.add_new_line(!0),this._input.peek()===")"&&(this._output.trim(!0),this._options.brace_style==="expand"&&this._output.add_new_line(!0));else if(this._ch===":"){for(var se=0;se<this.NON_SEMICOLON_NEWLINE_PROPERTY.length;se++)if(this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[se])){K=!0;break}(R||G)&&!(this._input.lookBack("&")||this.foundNestedPseudoClass())&&!this._input.lookBack("(")&&!B&&w===0?(this.print_string(":"),O||(O=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):(this._input.lookBack(" ")&&(this._output.space_before_token=!0),this._input.peek()===":"?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":"))}else if(this._ch==='"'||this._ch==="'"){var ue=C==='"'||C==="'";this.preserveSingleSpace(ue||V),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)}else if(this._ch===";")K=!1,w===0?(O&&(this.outdent(),O=!1),B=!1,this.print_string(this._ch),this.eatWhitespace(!0),this._input.peek()!=="/"&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0);else if(this._ch==="(")if(this._input.lookBack("url"))this.print_string(this._ch),this.eatWhitespace(),w++,this.indent(),this._ch=this._input.next(),this._ch===")"||this._ch==='"'||this._ch==="'"?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),w&&(w--,this.outdent()));else{var pe=!1;this._input.lookBack("with")&&(pe=!0),this.preserveSingleSpace(V||pe),this.print_string(this._ch),O&&C==="$"&&this._options.selector_separator_newline?(this._output.add_new_line(),P=!0):(this.eatWhitespace(),w++,this.indent())}else if(this._ch===")")w&&(w--,this.outdent()),P&&this._input.peek()===";"&&this._options.selector_separator_newline&&(P=!1,this.outdent(),this._output.add_new_line()),this.print_string(this._ch);else if(this._ch===",")this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&(!O||P)&&w===0&&!B?this._output.add_new_line():this._output.space_before_token=!0;else if((this._ch===">"||this._ch==="+"||this._ch==="~")&&!O&&w===0)this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&m.test(this._ch)&&(this._ch=""));else if(this._ch==="]")this.print_string(this._ch);else if(this._ch==="[")this.preserveSingleSpace(V),this.print_string(this._ch);else if(this._ch==="=")this.eatWhitespace(),this.print_string("="),m.test(this._ch)&&(this._ch="");else if(this._ch==="!"&&!this._input.lookBack("\\"))this._output.space_before_token=!0,this.print_string(this._ch);else{var Ee=C==='"'||C==="'";this.preserveSingleSpace(Ee||V),this.print_string(this._ch),!this._output.just_added_newline()&&this._input.peek()===`
`&&K&&this._output.add_new_line()}var De=this._output.get_code(E);return De},b.exports.Beautifier=a},function(b,s,T){var c=T(6).Options;function u(f){c.call(this,f,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var i=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||i;var o=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var d=0;d<o.length;d++)o[d]!=="expand"?this.brace_style="collapse":this.brace_style=o[d]}u.prototype=new c,b.exports.Options=u}],W={};function y(b){var s=W[b];if(s!==void 0)return s.exports;var T=W[b]={exports:{}};return D[b](T,T.exports,y),T.exports}var L=y(15);te=L})();var X=te;ae=[],ee=function(){return{css_beautify:X}}.apply(qe,ae),ee!==void 0&&(tr.exports=ee)})()},40998:function(tr,qe,ae){var ee,te;(function(){var X;(function(){"use strict";var L=[,,function(c){function u(o){this.__parent=o,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}u.prototype.clone_empty=function(){var o=new u(this.__parent);return o.set_indent(this.__indent_count,this.__alignment_count),o},u.prototype.item=function(o){return o<0?this.__items[this.__items.length+o]:this.__items[o]},u.prototype.has_match=function(o){for(var d=this.__items.length-1;d>=0;d--)if(this.__items[d].match(o))return!0;return!1},u.prototype.set_indent=function(o,d){this.is_empty()&&(this.__indent_count=o||0,this.__alignment_count=d||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},u.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},u.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},u.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var o=this.__parent.current_line;return o.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),o.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),o.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,o.__items[0]===" "&&(o.__items.splice(0,1),o.__character_count-=1),!0}return!1},u.prototype.is_empty=function(){return this.__items.length===0},u.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},u.prototype.push=function(o){this.__items.push(o);var d=o.lastIndexOf(`
`);d!==-1?this.__character_count=o.length-d:this.__character_count+=o.length},u.prototype.pop=function(){var o=null;return this.is_empty()||(o=this.__items.pop(),this.__character_count-=o.length),o},u.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},u.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},u.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},u.prototype.toString=function(){var o="";return this.is_empty()?this.__parent.indent_empty_lines&&(o=this.__parent.get_indent_string(this.__indent_count)):(o=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),o+=this.__items.join("")),o};function f(o,d){this.__cache=[""],this.__indent_size=o.indent_size,this.__indent_string=o.indent_char,o.indent_with_tabs||(this.__indent_string=new Array(o.indent_size+1).join(o.indent_char)),d=d||"",o.indent_level>0&&(d=new Array(o.indent_level+1).join(this.__indent_string)),this.__base_string=d,this.__base_string_length=d.length}f.prototype.get_indent_size=function(o,d){var p=this.__base_string_length;return d=d||0,o<0&&(p=0),p+=o*this.__indent_size,p+=d,p},f.prototype.get_indent_string=function(o,d){var p=this.__base_string;return d=d||0,o<0&&(o=0,p=""),d+=o*this.__indent_size,this.__ensure_cache(d),p+=this.__cache[d],p},f.prototype.__ensure_cache=function(o){for(;o>=this.__cache.length;)this.__add_column()},f.prototype.__add_column=function(){var o=this.__cache.length,d=0,p="";this.__indent_size&&o>=this.__indent_size&&(d=Math.floor(o/this.__indent_size),o-=d*this.__indent_size,p=new Array(d+1).join(this.__indent_string)),o&&(p+=new Array(o+1).join(" ")),this.__cache.push(p)};function i(o,d){this.__indent_cache=new f(o,d),this.raw=!1,this._end_with_newline=o.end_with_newline,this.indent_size=o.indent_size,this.wrap_line_length=o.wrap_line_length,this.indent_empty_lines=o.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new u(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}i.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},i.prototype.get_line_number=function(){return this.__lines.length},i.prototype.get_indent_string=function(o,d){return this.__indent_cache.get_indent_string(o,d)},i.prototype.get_indent_size=function(o,d){return this.__indent_cache.get_indent_size(o,d)},i.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},i.prototype.add_new_line=function(o){return this.is_empty()||!o&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},i.prototype.get_code=function(o){this.trim(!0);var d=this.current_line.pop();d&&(d[d.length-1]===`
`&&(d=d.replace(/\n+$/g,"")),this.current_line.push(d)),this._end_with_newline&&this.__add_outputline();var p=this.__lines.join(`
`);return o!==`
`&&(p=p.replace(/[\n]/g,o)),p},i.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},i.prototype.set_indent=function(o,d){return o=o||0,d=d||0,this.next_line.set_indent(o,d),this.__lines.length>1?(this.current_line.set_indent(o,d),!0):(this.current_line.set_indent(),!1)},i.prototype.add_raw_token=function(o){for(var d=0;d<o.newlines;d++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(o.whitespace_before),this.current_line.push(o.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},i.prototype.add_token=function(o){this.__add_space_before_token(),this.current_line.push(o),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},i.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},i.prototype.remove_indent=function(o){for(var d=this.__lines.length;o<d;)this.__lines[o]._remove_indent(),o++;this.current_line._remove_wrap_indent()},i.prototype.trim=function(o){for(o=o===void 0?!1:o,this.current_line.trim();o&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},i.prototype.just_added_newline=function(){return this.current_line.is_empty()},i.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},i.prototype.ensure_empty_line_above=function(o,d){for(var p=this.__lines.length-2;p>=0;){var m=this.__lines[p];if(m.is_empty())break;if(m.item(0).indexOf(o)!==0&&m.item(-1)!==d){this.__lines.splice(p+1,0,new u(this)),this.previous_line=this.__lines[this.__lines.length-2];break}p--}},c.exports.Output=i},function(c){function u(f,i,o,d){this.type=f,this.text=i,this.comments_before=null,this.newlines=o||0,this.whitespace_before=d||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}c.exports.Token=u},,,function(c){function u(o,d){this.raw_options=f(o,d),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}u.prototype._get_array=function(o,d){var p=this.raw_options[o],m=d||[];return typeof p=="object"?p!==null&&typeof p.concat=="function"&&(m=p.concat()):typeof p=="string"&&(m=p.split(/[^a-zA-Z0-9_\/\-]+/)),m},u.prototype._get_boolean=function(o,d){var p=this.raw_options[o],m=p===void 0?!!d:!!p;return m},u.prototype._get_characters=function(o,d){var p=this.raw_options[o],m=d||"";return typeof p=="string"&&(m=p.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),m},u.prototype._get_number=function(o,d){var p=this.raw_options[o];d=parseInt(d,10),isNaN(d)&&(d=0);var m=parseInt(p,10);return isNaN(m)&&(m=d),m},u.prototype._get_selection=function(o,d,p){var m=this._get_selection_list(o,d,p);if(m.length!==1)throw new Error("Invalid Option Value: The option '"+o+`' can only be one of the following values:
`+d+`
You passed in: '`+this.raw_options[o]+"'");return m[0]},u.prototype._get_selection_list=function(o,d,p){if(!d||d.length===0)throw new Error("Selection list cannot be empty.");if(p=p||[d[0]],!this._is_valid_selection(p,d))throw new Error("Invalid Default Value!");var m=this._get_array(o,p);if(!this._is_valid_selection(m,d))throw new Error("Invalid Option Value: The option '"+o+`' can contain only the following values:
`+d+`
You passed in: '`+this.raw_options[o]+"'");return m},u.prototype._is_valid_selection=function(o,d){return o.length&&d.length&&!o.some(function(p){return d.indexOf(p)===-1})};function f(o,d){var p={};o=i(o);var m;for(m in o)m!==d&&(p[m]=o[m]);if(d&&o[d])for(m in o[d])p[m]=o[d][m];return p}function i(o){var d={},p;for(p in o){var m=p.replace(/-/g,"_");d[m]=o[p]}return d}c.exports.Options=u,c.exports.normalizeOpts=i,c.exports.mergeOpts=f},,function(c){var u=RegExp.prototype.hasOwnProperty("sticky");function f(i){this.__input=i||"",this.__input_length=this.__input.length,this.__position=0}f.prototype.restart=function(){this.__position=0},f.prototype.back=function(){this.__position>0&&(this.__position-=1)},f.prototype.hasNext=function(){return this.__position<this.__input_length},f.prototype.next=function(){var i=null;return this.hasNext()&&(i=this.__input.charAt(this.__position),this.__position+=1),i},f.prototype.peek=function(i){var o=null;return i=i||0,i+=this.__position,i>=0&&i<this.__input_length&&(o=this.__input.charAt(i)),o},f.prototype.__match=function(i,o){i.lastIndex=o;var d=i.exec(this.__input);return d&&!(u&&i.sticky)&&d.index!==o&&(d=null),d},f.prototype.test=function(i,o){return o=o||0,o+=this.__position,o>=0&&o<this.__input_length?!!this.__match(i,o):!1},f.prototype.testChar=function(i,o){var d=this.peek(o);return i.lastIndex=0,d!==null&&i.test(d)},f.prototype.match=function(i){var o=this.__match(i,this.__position);return o?this.__position+=o[0].length:o=null,o},f.prototype.read=function(i,o,d){var p="",m;return i&&(m=this.match(i),m&&(p+=m[0])),o&&(m||!i)&&(p+=this.readUntil(o,d)),p},f.prototype.readUntil=function(i,o){var d="",p=this.__position;i.lastIndex=this.__position;var m=i.exec(this.__input);return m?(p=m.index,o&&(p+=m[0].length)):p=this.__input_length,d=this.__input.substring(this.__position,p),this.__position=p,d},f.prototype.readUntilAfter=function(i){return this.readUntil(i,!0)},f.prototype.get_regexp=function(i,o){var d=null,p="g";return o&&u&&(p="y"),typeof i=="string"&&i!==""?d=new RegExp(i,p):i&&(d=new RegExp(i.source,p)),d},f.prototype.get_literal_regexp=function(i){return RegExp(i.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},f.prototype.peekUntilAfter=function(i){var o=this.__position,d=this.readUntilAfter(i);return this.__position=o,d},f.prototype.lookBack=function(i){var o=this.__position-1;return o>=i.length&&this.__input.substring(o-i.length,o).toLowerCase()===i},c.exports.InputScanner=f},function(c,u,f){var i=f(8).InputScanner,o=f(3).Token,d=f(10).TokenStream,p=f(11).WhitespacePattern,m={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},h=function(v,r){this._input=new i(v),this._options=r||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new p(this._input)};h.prototype.tokenize=function(){this._input.restart(),this.__tokens=new d,this._reset();for(var v,r=new o(m.START,""),a=null,g=[],E=new d;r.type!==m.EOF;){for(v=this._get_next_token(r,a);this._is_comment(v);)E.add(v),v=this._get_next_token(r,a);E.isEmpty()||(v.comments_before=E,E=new d),v.parent=a,this._is_opening(v)?(g.push(a),a=v):a&&this._is_closing(v,a)&&(v.opened=a,a.closed=v,a=g.pop(),v.parent=a),v.previous=r,r.next=v,this.__tokens.add(v),r=v}return this.__tokens},h.prototype._is_first_token=function(){return this.__tokens.isEmpty()},h.prototype._reset=function(){},h.prototype._get_next_token=function(v,r){this._readWhitespace();var a=this._input.read(/.+/g);return a?this._create_token(m.RAW,a):this._create_token(m.EOF,"")},h.prototype._is_comment=function(v){return!1},h.prototype._is_opening=function(v){return!1},h.prototype._is_closing=function(v,r){return!1},h.prototype._create_token=function(v,r){var a=new o(v,r,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token);return a},h.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},c.exports.Tokenizer=h,c.exports.TOKEN=m},function(c){function u(f){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=f}u.prototype.restart=function(){this.__position=0},u.prototype.isEmpty=function(){return this.__tokens_length===0},u.prototype.hasNext=function(){return this.__position<this.__tokens_length},u.prototype.next=function(){var f=null;return this.hasNext()&&(f=this.__tokens[this.__position],this.__position+=1),f},u.prototype.peek=function(f){var i=null;return f=f||0,f+=this.__position,f>=0&&f<this.__tokens_length&&(i=this.__tokens[f]),i},u.prototype.add=function(f){this.__parent_token&&(f.parent=this.__parent_token),this.__tokens.push(f),this.__tokens_length+=1},c.exports.TokenStream=u},function(c,u,f){var i=f(12).Pattern;function o(d,p){i.call(this,d,p),p?this._line_regexp=this._input.get_regexp(p._line_regexp):this.__set_whitespace_patterns("",""),this.newline_count=0,this.whitespace_before_token=""}o.prototype=new i,o.prototype.__set_whitespace_patterns=function(d,p){d+="\\t ",p+="\\n\\r",this._match_pattern=this._input.get_regexp("["+d+p+"]+",!0),this._newline_regexp=this._input.get_regexp("\\r\\n|["+p+"]")},o.prototype.read=function(){this.newline_count=0,this.whitespace_before_token="";var d=this._input.read(this._match_pattern);if(d===" ")this.whitespace_before_token=" ";else if(d){var p=this.__split(this._newline_regexp,d);this.newline_count=p.length-1,this.whitespace_before_token=p[this.newline_count]}return d},o.prototype.matching=function(d,p){var m=this._create();return m.__set_whitespace_patterns(d,p),m._update(),m},o.prototype._create=function(){return new o(this._input,this)},o.prototype.__split=function(d,p){d.lastIndex=0;for(var m=0,h=[],v=d.exec(p);v;)h.push(p.substring(m,v.index)),m=v.index+v[0].length,v=d.exec(p);return m<p.length?h.push(p.substring(m,p.length)):h.push(""),h},c.exports.WhitespacePattern=o},function(c){function u(f,i){this._input=f,this._starting_pattern=null,this._match_pattern=null,this._until_pattern=null,this._until_after=!1,i&&(this._starting_pattern=this._input.get_regexp(i._starting_pattern,!0),this._match_pattern=this._input.get_regexp(i._match_pattern,!0),this._until_pattern=this._input.get_regexp(i._until_pattern),this._until_after=i._until_after)}u.prototype.read=function(){var f=this._input.read(this._starting_pattern);return(!this._starting_pattern||f)&&(f+=this._input.read(this._match_pattern,this._until_pattern,this._until_after)),f},u.prototype.read_match=function(){return this._input.match(this._match_pattern)},u.prototype.until_after=function(f){var i=this._create();return i._until_after=!0,i._until_pattern=this._input.get_regexp(f),i._update(),i},u.prototype.until=function(f){var i=this._create();return i._until_after=!1,i._until_pattern=this._input.get_regexp(f),i._update(),i},u.prototype.starting_with=function(f){var i=this._create();return i._starting_pattern=this._input.get_regexp(f,!0),i._update(),i},u.prototype.matching=function(f){var i=this._create();return i._match_pattern=this._input.get_regexp(f,!0),i._update(),i},u.prototype._create=function(){return new u(this._input,this)},u.prototype._update=function(){},c.exports.Pattern=u},function(c){function u(f,i){f=typeof f=="string"?f:f.source,i=typeof i=="string"?i:i.source,this.__directives_block_pattern=new RegExp(f+/ beautify( \w+[:]\w+)+ /.source+i,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(f+/\sbeautify\signore:end\s/.source+i,"g")}u.prototype.get_directives=function(f){if(!f.match(this.__directives_block_pattern))return null;var i={};this.__directive_pattern.lastIndex=0;for(var o=this.__directive_pattern.exec(f);o;)i[o[1]]=o[2],o=this.__directive_pattern.exec(f);return i},u.prototype.readIgnored=function(f){return f.readUntilAfter(this.__directives_end_ignore_pattern)},c.exports.Directives=u},function(c,u,f){var i=f(12).Pattern,o={django:!1,erb:!1,handlebars:!1,php:!1,smarty:!1,angular:!1};function d(p,m){i.call(this,p,m),this.__template_pattern=null,this._disabled=Object.assign({},o),this._excluded=Object.assign({},o),m&&(this.__template_pattern=this._input.get_regexp(m.__template_pattern),this._excluded=Object.assign(this._excluded,m._excluded),this._disabled=Object.assign(this._disabled,m._disabled));var h=new i(p);this.__patterns={handlebars_comment:h.starting_with(/{{!--/).until_after(/--}}/),handlebars_unescaped:h.starting_with(/{{{/).until_after(/}}}/),handlebars:h.starting_with(/{{/).until_after(/}}/),php:h.starting_with(/<\?(?:[= ]|php)/).until_after(/\?>/),erb:h.starting_with(/<%[^%]/).until_after(/[^%]%>/),django:h.starting_with(/{%/).until_after(/%}/),django_value:h.starting_with(/{{/).until_after(/}}/),django_comment:h.starting_with(/{#/).until_after(/#}/),smarty:h.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),smarty_comment:h.starting_with(/{\*/).until_after(/\*}/),smarty_literal:h.starting_with(/{literal}/).until_after(/{\/literal}/)}}d.prototype=new i,d.prototype._create=function(){return new d(this._input,this)},d.prototype._update=function(){this.__set_templated_pattern()},d.prototype.disable=function(p){var m=this._create();return m._disabled[p]=!0,m._update(),m},d.prototype.read_options=function(p){var m=this._create();for(var h in o)m._disabled[h]=p.templating.indexOf(h)===-1;return m._update(),m},d.prototype.exclude=function(p){var m=this._create();return m._excluded[p]=!0,m._update(),m},d.prototype.read=function(){var p="";this._match_pattern?p=this._input.read(this._starting_pattern):p=this._input.read(this._starting_pattern,this.__template_pattern);for(var m=this._read_template();m;)this._match_pattern?m+=this._input.read(this._match_pattern):m+=this._input.readUntil(this.__template_pattern),p+=m,m=this._read_template();return this._until_after&&(p+=this._input.readUntilAfter(this._until_pattern)),p},d.prototype.__set_templated_pattern=function(){var p=[];this._disabled.php||p.push(this.__patterns.php._starting_pattern.source),this._disabled.handlebars||p.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.angular||p.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.erb||p.push(this.__patterns.erb._starting_pattern.source),this._disabled.django||(p.push(this.__patterns.django._starting_pattern.source),p.push(this.__patterns.django_value._starting_pattern.source),p.push(this.__patterns.django_comment._starting_pattern.source)),this._disabled.smarty||p.push(this.__patterns.smarty._starting_pattern.source),this._until_pattern&&p.push(this._until_pattern.source),this.__template_pattern=this._input.get_regexp("(?:"+p.join("|")+")")},d.prototype._read_template=function(){var p="",m=this._input.peek();if(m==="<"){var h=this._input.peek(1);!this._disabled.php&&!this._excluded.php&&h==="?"&&(p=p||this.__patterns.php.read()),!this._disabled.erb&&!this._excluded.erb&&h==="%"&&(p=p||this.__patterns.erb.read())}else m==="{"&&(!this._disabled.handlebars&&!this._excluded.handlebars&&(p=p||this.__patterns.handlebars_comment.read(),p=p||this.__patterns.handlebars_unescaped.read(),p=p||this.__patterns.handlebars.read()),this._disabled.django||(!this._excluded.django&&!this._excluded.handlebars&&(p=p||this.__patterns.django_value.read()),this._excluded.django||(p=p||this.__patterns.django_comment.read(),p=p||this.__patterns.django.read())),this._disabled.smarty||this._disabled.django&&this._disabled.handlebars&&(p=p||this.__patterns.smarty_comment.read(),p=p||this.__patterns.smarty_literal.read(),p=p||this.__patterns.smarty.read()));return p},c.exports.TemplatablePattern=d},,,,function(c,u,f){var i=f(19).Beautifier,o=f(20).Options;function d(p,m,h,v){var r=new i(p,m,h,v);return r.beautify()}c.exports=d,c.exports.defaultOptions=function(){return new o}},function(c,u,f){var i=f(20).Options,o=f(2).Output,d=f(21).Tokenizer,p=f(21).TOKEN,m=/\r\n|[\r\n]/,h=/\r\n|[\r\n]/g,v=function(B,P){this.indent_level=0,this.alignment_size=0,this.max_preserve_newlines=B.max_preserve_newlines,this.preserve_newlines=B.preserve_newlines,this._output=new o(B,P)};v.prototype.current_line_has_match=function(B){return this._output.current_line.has_match(B)},v.prototype.set_space_before_token=function(B,P){this._output.space_before_token=B,this._output.non_breaking_space=P},v.prototype.set_wrap_point=function(){this._output.set_indent(this.indent_level,this.alignment_size),this._output.set_wrap_point()},v.prototype.add_raw_token=function(B){this._output.add_raw_token(B)},v.prototype.print_preserved_newlines=function(B){var P=0;B.type!==p.TEXT&&B.previous.type!==p.TEXT&&(P=B.newlines?1:0),this.preserve_newlines&&(P=B.newlines<this.max_preserve_newlines+1?B.newlines:this.max_preserve_newlines+1);for(var F=0;F<P;F++)this.print_newline(F>0);return P!==0},v.prototype.traverse_whitespace=function(B){return B.whitespace_before||B.newlines?(this.print_preserved_newlines(B)||(this._output.space_before_token=!0),!0):!1},v.prototype.previous_token_wrapped=function(){return this._output.previous_token_wrapped},v.prototype.print_newline=function(B){this._output.add_new_line(B)},v.prototype.print_token=function(B){B.text&&(this._output.set_indent(this.indent_level,this.alignment_size),this._output.add_token(B.text))},v.prototype.indent=function(){this.indent_level++},v.prototype.deindent=function(){this.indent_level>0&&(this.indent_level--,this._output.set_indent(this.indent_level,this.alignment_size))},v.prototype.get_full_indent=function(B){return B=this.indent_level+(B||0),B<1?"":this._output.get_indent_string(B)};var r=function(B){for(var P=null,F=B.next;F.type!==p.EOF&&B.closed!==F;){if(F.type===p.ATTRIBUTE&&F.text==="type"){F.next&&F.next.type===p.EQUALS&&F.next.next&&F.next.next.type===p.VALUE&&(P=F.next.next.text);break}F=F.next}return P},a=function(B,P){var F=null,K=null;return P.closed?(B==="script"?F="text/javascript":B==="style"&&(F="text/css"),F=r(P)||F,F.search("text/css")>-1?K="css":F.search(/module|((text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect))/)>-1?K="javascript":F.search(/(text|application|dojo)\/(x-)?(html)/)>-1?K="html":F.search(/test\/null/)>-1&&(K="null"),K):null};function g(B,P){return P.indexOf(B)!==-1}function E(B,P,F){this.parent=B||null,this.tag=P?P.tag_name:"",this.indent_level=F||0,this.parser_token=P||null}function S(B){this._printer=B,this._current_frame=null}S.prototype.get_parser_token=function(){return this._current_frame?this._current_frame.parser_token:null},S.prototype.record_tag=function(B){var P=new E(this._current_frame,B,this._printer.indent_level);this._current_frame=P},S.prototype._try_pop_frame=function(B){var P=null;return B&&(P=B.parser_token,this._printer.indent_level=B.indent_level,this._current_frame=B.parent),P},S.prototype._get_frame=function(B,P){for(var F=this._current_frame;F&&B.indexOf(F.tag)===-1;){if(P&&P.indexOf(F.tag)!==-1){F=null;break}F=F.parent}return F},S.prototype.try_pop=function(B,P){var F=this._get_frame([B],P);return this._try_pop_frame(F)},S.prototype.indent_to_tag=function(B){var P=this._get_frame(B);P&&(this._printer.indent_level=P.indent_level)};function w(B,P,F,K){this._source_text=B||"",P=P||{},this._js_beautify=F,this._css_beautify=K,this._tag_stack=null;var U=new i(P,"html");this._options=U,this._is_wrap_attributes_force=this._options.wrap_attributes.substr(0,5)==="force",this._is_wrap_attributes_force_expand_multiline=this._options.wrap_attributes==="force-expand-multiline",this._is_wrap_attributes_force_aligned=this._options.wrap_attributes==="force-aligned",this._is_wrap_attributes_aligned_multiple=this._options.wrap_attributes==="aligned-multiple",this._is_wrap_attributes_preserve=this._options.wrap_attributes.substr(0,8)==="preserve",this._is_wrap_attributes_preserve_aligned=this._options.wrap_attributes==="preserve-aligned"}w.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var B=this._source_text,P=this._options.eol;this._options.eol==="auto"&&(P=`
`,B&&m.test(B)&&(P=B.match(m)[0])),B=B.replace(h,`
`);var F=B.match(/^[\t ]*/)[0],K={text:"",type:""},U=new R(this._options),V=new v(this._options,F),C=new d(B,this._options).tokenize();this._tag_stack=new S(V);for(var M=null,z=C.next();z.type!==p.EOF;)z.type===p.TAG_OPEN||z.type===p.COMMENT?(M=this._handle_tag_open(V,z,U,K,C),U=M):z.type===p.ATTRIBUTE||z.type===p.EQUALS||z.type===p.VALUE||z.type===p.TEXT&&!U.tag_complete?M=this._handle_inside_tag(V,z,U,K):z.type===p.TAG_CLOSE?M=this._handle_tag_close(V,z,U):z.type===p.TEXT?M=this._handle_text(V,z,U):z.type===p.CONTROL_FLOW_OPEN?M=this._handle_control_flow_open(V,z):z.type===p.CONTROL_FLOW_CLOSE?M=this._handle_control_flow_close(V,z):V.add_raw_token(z),K=M,z=C.next();var $=V._output.get_code(P);return $},w.prototype._handle_control_flow_open=function(B,P){var F={text:P.text,type:P.type};return B.set_space_before_token(P.newlines||P.whitespace_before!=="",!0),P.newlines?B.print_preserved_newlines(P):B.set_space_before_token(P.newlines||P.whitespace_before!=="",!0),B.print_token(P),B.indent(),F},w.prototype._handle_control_flow_close=function(B,P){var F={text:P.text,type:P.type};return B.deindent(),P.newlines?B.print_preserved_newlines(P):B.set_space_before_token(P.newlines||P.whitespace_before!=="",!0),B.print_token(P),F},w.prototype._handle_tag_close=function(B,P,F){var K={text:P.text,type:P.type};return B.alignment_size=0,F.tag_complete=!0,B.set_space_before_token(P.newlines||P.whitespace_before!=="",!0),F.is_unformatted?B.add_raw_token(P):(F.tag_start_char==="<"&&(B.set_space_before_token(P.text[0]==="/",!0),this._is_wrap_attributes_force_expand_multiline&&F.has_wrapped_attrs&&B.print_newline(!1)),B.print_token(P)),F.indent_content&&!(F.is_unformatted||F.is_content_unformatted)&&(B.indent(),F.indent_content=!1),!F.is_inline_element&&!(F.is_unformatted||F.is_content_unformatted)&&B.set_wrap_point(),K},w.prototype._handle_inside_tag=function(B,P,F,K){var U=F.has_wrapped_attrs,V={text:P.text,type:P.type};return B.set_space_before_token(P.newlines||P.whitespace_before!=="",!0),F.is_unformatted?B.add_raw_token(P):F.tag_start_char==="{"&&P.type===p.TEXT?B.print_preserved_newlines(P)?(P.newlines=0,B.add_raw_token(P)):B.print_token(P):(P.type===p.ATTRIBUTE?B.set_space_before_token(!0):(P.type===p.EQUALS||P.type===p.VALUE&&P.previous.type===p.EQUALS)&&B.set_space_before_token(!1),P.type===p.ATTRIBUTE&&F.tag_start_char==="<"&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(B.traverse_whitespace(P),U=U||P.newlines!==0),this._is_wrap_attributes_force&&F.attr_count>=this._options.wrap_attributes_min_attrs&&(K.type!==p.TAG_OPEN||this._is_wrap_attributes_force_expand_multiline)&&(B.print_newline(!1),U=!0)),B.print_token(P),U=U||B.previous_token_wrapped(),F.has_wrapped_attrs=U),V},w.prototype._handle_text=function(B,P,F){var K={text:P.text,type:"TK_CONTENT"};return F.custom_beautifier_name?this._print_custom_beatifier_text(B,P,F):F.is_unformatted||F.is_content_unformatted?B.add_raw_token(P):(B.traverse_whitespace(P),B.print_token(P)),K},w.prototype._print_custom_beatifier_text=function(B,P,F){var K=this;if(P.text!==""){var U=P.text,V,C=1,M="",z="";F.custom_beautifier_name==="javascript"&&typeof this._js_beautify=="function"?V=this._js_beautify:F.custom_beautifier_name==="css"&&typeof this._css_beautify=="function"?V=this._css_beautify:F.custom_beautifier_name==="html"&&(V=function(Ee,De){var Fe=new w(Ee,De,K._js_beautify,K._css_beautify);return Fe.beautify()}),this._options.indent_scripts==="keep"?C=0:this._options.indent_scripts==="separate"&&(C=-B.indent_level);var $=B.get_full_indent(C);if(U=U.replace(/\n[ \t]*$/,""),F.custom_beautifier_name!=="html"&&U[0]==="<"&&U.match(/^(<!--|<!\[CDATA\[)/)){var q=/^(<!--[^\n]*|<!\[CDATA\[)(\n?)([ \t\n]*)([\s\S]*)(-->|]]>)$/.exec(U);if(!q){B.add_raw_token(P);return}M=$+q[1]+`
`,U=q[4],q[5]&&(z=$+q[5]),U=U.replace(/\n[ \t]*$/,""),(q[2]||q[3].indexOf(`
`)!==-1)&&(q=q[3].match(/[ \t]+$/),q&&(P.whitespace_before=q[0]))}if(U)if(V){var se=function(){this.eol=`
`};se.prototype=this._options.raw_options;var ue=new se;U=V($+U,ue)}else{var pe=P.whitespace_before;pe&&(U=U.replace(new RegExp(`
(`+pe+")?","g"),`
`)),U=$+U.replace(/\n/g,`
`+$)}M&&(U?U=M+U+`
`+z:U=M+z),B.print_newline(!1),U&&(P.text=U,P.whitespace_before="",P.newlines=0,B.add_raw_token(P),B.print_newline(!0))}},w.prototype._handle_tag_open=function(B,P,F,K,U){var V=this._get_tag_open_token(P);if((F.is_unformatted||F.is_content_unformatted)&&!F.is_empty_element&&P.type===p.TAG_OPEN&&!V.is_start_tag?(B.add_raw_token(P),V.start_tag_token=this._tag_stack.try_pop(V.tag_name)):(B.traverse_whitespace(P),this._set_tag_position(B,P,V,F,K),V.is_inline_element||B.set_wrap_point(),B.print_token(P)),V.is_start_tag&&this._is_wrap_attributes_force){var C=0,M;do M=U.peek(C),M.type===p.ATTRIBUTE&&(V.attr_count+=1),C+=1;while(M.type!==p.EOF&&M.type!==p.TAG_CLOSE)}return(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple||this._is_wrap_attributes_preserve_aligned)&&(V.alignment_size=P.text.length+1),!V.tag_complete&&!V.is_unformatted&&(B.alignment_size=V.alignment_size),V};var R=function(B,P,F){if(this.parent=P||null,this.text="",this.type="TK_TAG_OPEN",this.tag_name="",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier_name=null,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char="",this.tag_check="",!F)this.tag_complete=!0;else{var K;this.tag_start_char=F.text[0],this.text=F.text,this.tag_start_char==="<"?(K=F.text.match(/^<([^\s>]*)/),this.tag_check=K?K[1]:""):(K=F.text.match(/^{{~?(?:[\^]|#\*?)?([^\s}]+)/),this.tag_check=K?K[1]:"",(F.text.startsWith("{{#>")||F.text.startsWith("{{~#>"))&&this.tag_check[0]===">"&&(this.tag_check===">"&&F.next!==null?this.tag_check=F.next.text.split(" ")[0]:this.tag_check=F.text.split(">")[1])),this.tag_check=this.tag_check.toLowerCase(),F.type===p.COMMENT&&(this.tag_complete=!0),this.is_start_tag=this.tag_check.charAt(0)!=="/",this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||F.closed&&F.closed.text==="/>";var U=2;this.tag_start_char==="{"&&this.text.length>=3&&this.text.charAt(2)==="~"&&(U=3),this.is_end_tag=this.is_end_tag||this.tag_start_char==="{"&&(!B.indent_handlebars||this.text.length<3||/[^#\^]/.test(this.text.charAt(U)))}};w.prototype._get_tag_open_token=function(B){var P=new R(this._options,this._tag_stack.get_parser_token(),B);return P.alignment_size=this._options.wrap_attributes_indent_size,P.is_end_tag=P.is_end_tag||g(P.tag_check,this._options.void_elements),P.is_empty_element=P.tag_complete||P.is_start_tag&&P.is_end_tag,P.is_unformatted=!P.tag_complete&&g(P.tag_check,this._options.unformatted),P.is_content_unformatted=!P.is_empty_element&&g(P.tag_check,this._options.content_unformatted),P.is_inline_element=g(P.tag_name,this._options.inline)||this._options.inline_custom_elements&&P.tag_name.includes("-")||P.tag_start_char==="{",P},w.prototype._set_tag_position=function(B,P,F,K,U){if(F.is_empty_element||(F.is_end_tag?F.start_tag_token=this._tag_stack.try_pop(F.tag_name):(this._do_optional_end_element(F)&&(F.is_inline_element||B.print_newline(!1)),this._tag_stack.record_tag(F),(F.tag_name==="script"||F.tag_name==="style")&&!(F.is_unformatted||F.is_content_unformatted)&&(F.custom_beautifier_name=a(F.tag_check,P)))),g(F.tag_check,this._options.extra_liners)&&(B.print_newline(!1),B._output.just_added_blankline()||B.print_newline(!0)),F.is_empty_element){if(F.tag_start_char==="{"&&F.tag_check==="else"){this._tag_stack.indent_to_tag(["if","unless","each"]),F.indent_content=!0;var V=B.current_line_has_match(/{{#if/);V||B.print_newline(!1)}F.tag_name==="!--"&&U.type===p.TAG_CLOSE&&K.is_end_tag&&F.text.indexOf(`
`)===-1||(F.is_inline_element||F.is_unformatted||B.print_newline(!1),this._calcluate_parent_multiline(B,F))}else if(F.is_end_tag){var C=!1;C=F.start_tag_token&&F.start_tag_token.multiline_content,C=C||!F.is_inline_element&&!(K.is_inline_element||K.is_unformatted)&&!(U.type===p.TAG_CLOSE&&F.start_tag_token===K)&&U.type!=="TK_CONTENT",(F.is_content_unformatted||F.is_unformatted)&&(C=!1),C&&B.print_newline(!1)}else F.indent_content=!F.custom_beautifier_name,F.tag_start_char==="<"&&(F.tag_name==="html"?F.indent_content=this._options.indent_inner_html:F.tag_name==="head"?F.indent_content=this._options.indent_head_inner_html:F.tag_name==="body"&&(F.indent_content=this._options.indent_body_inner_html)),!(F.is_inline_element||F.is_unformatted)&&(U.type!=="TK_CONTENT"||F.is_content_unformatted)&&B.print_newline(!1),this._calcluate_parent_multiline(B,F)},w.prototype._calcluate_parent_multiline=function(B,P){P.parent&&B._output.just_added_newline()&&!((P.is_inline_element||P.is_unformatted)&&P.parent.is_inline_element)&&(P.parent.multiline_content=!0)};var O=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","main","menu","nav","ol","p","pre","section","table","ul"],G=["a","audio","del","ins","map","noscript","video"];w.prototype._do_optional_end_element=function(B){var P=null;if(!(B.is_empty_element||!B.is_start_tag||!B.parent)){if(B.tag_name==="body")P=P||this._tag_stack.try_pop("head");else if(B.tag_name==="li")P=P||this._tag_stack.try_pop("li",["ol","ul","menu"]);else if(B.tag_name==="dd"||B.tag_name==="dt")P=P||this._tag_stack.try_pop("dt",["dl"]),P=P||this._tag_stack.try_pop("dd",["dl"]);else if(B.parent.tag_name==="p"&&O.indexOf(B.tag_name)!==-1){var F=B.parent.parent;(!F||G.indexOf(F.tag_name)===-1)&&(P=P||this._tag_stack.try_pop("p"))}else B.tag_name==="rp"||B.tag_name==="rt"?(P=P||this._tag_stack.try_pop("rt",["ruby","rtc"]),P=P||this._tag_stack.try_pop("rp",["ruby","rtc"])):B.tag_name==="optgroup"?P=P||this._tag_stack.try_pop("optgroup",["select"]):B.tag_name==="option"?P=P||this._tag_stack.try_pop("option",["select","datalist","optgroup"]):B.tag_name==="colgroup"?P=P||this._tag_stack.try_pop("caption",["table"]):B.tag_name==="thead"?(P=P||this._tag_stack.try_pop("caption",["table"]),P=P||this._tag_stack.try_pop("colgroup",["table"])):B.tag_name==="tbody"||B.tag_name==="tfoot"?(P=P||this._tag_stack.try_pop("caption",["table"]),P=P||this._tag_stack.try_pop("colgroup",["table"]),P=P||this._tag_stack.try_pop("thead",["table"]),P=P||this._tag_stack.try_pop("tbody",["table"])):B.tag_name==="tr"?(P=P||this._tag_stack.try_pop("caption",["table"]),P=P||this._tag_stack.try_pop("colgroup",["table"]),P=P||this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"])):(B.tag_name==="th"||B.tag_name==="td")&&(P=P||this._tag_stack.try_pop("td",["table","thead","tbody","tfoot","tr"]),P=P||this._tag_stack.try_pop("th",["table","thead","tbody","tfoot","tr"]));return B.parent=this._tag_stack.get_parser_token(),P}},c.exports.Beautifier=w},function(c,u,f){var i=f(6).Options;function o(d){i.call(this,d,"html"),this.templating.length===1&&this.templating[0]==="auto"&&(this.templating=["django","erb","handlebars","php"]),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"]),this.wrap_attributes_min_attrs=this._get_number("wrap_attributes_min_attrs",2),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","big","strike","tt"]),this.inline_custom_elements=this._get_boolean("inline_custom_elements",!0),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.unformatted_content_delimiter=this._get_characters("unformatted_content_delimiter"),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separate"])}o.prototype=new i,c.exports.Options=o},function(c,u,f){var i=f(9).Tokenizer,o=f(9).TOKEN,d=f(13).Directives,p=f(14).TemplatablePattern,m=f(12).Pattern,h={TAG_OPEN:"TK_TAG_OPEN",TAG_CLOSE:"TK_TAG_CLOSE",CONTROL_FLOW_OPEN:"TK_CONTROL_FLOW_OPEN",CONTROL_FLOW_CLOSE:"TK_CONTROL_FLOW_CLOSE",ATTRIBUTE:"TK_ATTRIBUTE",EQUALS:"TK_EQUALS",VALUE:"TK_VALUE",COMMENT:"TK_COMMENT",TEXT:"TK_TEXT",UNKNOWN:"TK_UNKNOWN",START:o.START,RAW:o.RAW,EOF:o.EOF},v=new d(/<\!--/,/-->/),r=function(a,g){i.call(this,a,g),this._current_tag_name="";var E=new p(this._input).read_options(this._options),S=new m(this._input);if(this.__patterns={word:E.until(/[\n\r\t <]/),word_control_flow_close_excluded:E.until(/[\n\r\t <}]/),single_quote:E.until_after(/'/),double_quote:E.until_after(/"/),attribute:E.until(/[\n\r\t =>]|\/>/),element_name:E.until(/[\n\r\t >\/]/),angular_control_flow_start:S.matching(/\@[a-zA-Z]+[^({]*[({]/),handlebars_comment:S.starting_with(/{{!--/).until_after(/--}}/),handlebars:S.starting_with(/{{/).until_after(/}}/),handlebars_open:S.until(/[\n\r\t }]/),handlebars_raw_close:S.until(/}}/),comment:S.starting_with(/<!--/).until_after(/-->/),cdata:S.starting_with(/<!\[CDATA\[/).until_after(/]]>/),conditional_comment:S.starting_with(/<!\[/).until_after(/]>/),processing:S.starting_with(/<\?/).until_after(/\?>/)},this._options.indent_handlebars&&(this.__patterns.word=this.__patterns.word.exclude("handlebars"),this.__patterns.word_control_flow_close_excluded=this.__patterns.word_control_flow_close_excluded.exclude("handlebars")),this._unformatted_content_delimiter=null,this._options.unformatted_content_delimiter){var w=this._input.get_literal_regexp(this._options.unformatted_content_delimiter);this.__patterns.unformatted_content_delimiter=S.matching(w).until_after(w)}};r.prototype=new i,r.prototype._is_comment=function(a){return!1},r.prototype._is_opening=function(a){return a.type===h.TAG_OPEN||a.type===h.CONTROL_FLOW_OPEN},r.prototype._is_closing=function(a,g){return a.type===h.TAG_CLOSE&&g&&((a.text===">"||a.text==="/>")&&g.text[0]==="<"||a.text==="}}"&&g.text[0]==="{"&&g.text[1]==="{")||a.type===h.CONTROL_FLOW_CLOSE&&a.text==="}"&&g.text.endsWith("{")},r.prototype._reset=function(){this._current_tag_name=""},r.prototype._get_next_token=function(a,g){var E=null;this._readWhitespace();var S=this._input.peek();return S===null?this._create_token(h.EOF,""):(E=E||this._read_open_handlebars(S,g),E=E||this._read_attribute(S,a,g),E=E||this._read_close(S,g),E=E||this._read_script_and_style(S,a),E=E||this._read_control_flows(S,g),E=E||this._read_raw_content(S,a,g),E=E||this._read_content_word(S,g),E=E||this._read_comment_or_cdata(S),E=E||this._read_processing(S),E=E||this._read_open(S,g),E=E||this._create_token(h.UNKNOWN,this._input.next()),E)},r.prototype._read_comment_or_cdata=function(a){var g=null,E=null,S=null;if(a==="<"){var w=this._input.peek(1);w==="!"&&(E=this.__patterns.comment.read(),E?(S=v.get_directives(E),S&&S.ignore==="start"&&(E+=v.readIgnored(this._input))):E=this.__patterns.cdata.read()),E&&(g=this._create_token(h.COMMENT,E),g.directives=S)}return g},r.prototype._read_processing=function(a){var g=null,E=null,S=null;if(a==="<"){var w=this._input.peek(1);(w==="!"||w==="?")&&(E=this.__patterns.conditional_comment.read(),E=E||this.__patterns.processing.read()),E&&(g=this._create_token(h.COMMENT,E),g.directives=S)}return g},r.prototype._read_open=function(a,g){var E=null,S=null;return(!g||g.type===h.CONTROL_FLOW_OPEN)&&a==="<"&&(E=this._input.next(),this._input.peek()==="/"&&(E+=this._input.next()),E+=this.__patterns.element_name.read(),S=this._create_token(h.TAG_OPEN,E)),S},r.prototype._read_open_handlebars=function(a,g){var E=null,S=null;return(!g||g.type===h.CONTROL_FLOW_OPEN)&&(this._options.templating.includes("angular")||this._options.indent_handlebars)&&a==="{"&&this._input.peek(1)==="{"&&(this._options.indent_handlebars&&this._input.peek(2)==="!"?(E=this.__patterns.handlebars_comment.read(),E=E||this.__patterns.handlebars.read(),S=this._create_token(h.COMMENT,E)):(E=this.__patterns.handlebars_open.read(),S=this._create_token(h.TAG_OPEN,E))),S},r.prototype._read_control_flows=function(a,g){var E="",S=null;if(!this._options.templating.includes("angular"))return S;if(a==="@"){if(E=this.__patterns.angular_control_flow_start.read(),E==="")return S;for(var w=E.endsWith("(")?1:0,R=0;!(E.endsWith("{")&&w===R);){var O=this._input.next();if(O===null)break;O==="("?w++:O===")"&&R++,E+=O}S=this._create_token(h.CONTROL_FLOW_OPEN,E)}else a==="}"&&g&&g.type===h.CONTROL_FLOW_OPEN&&(E=this._input.next(),S=this._create_token(h.CONTROL_FLOW_CLOSE,E));return S},r.prototype._read_close=function(a,g){var E=null,S=null;return g&&g.type===h.TAG_OPEN&&(g.text[0]==="<"&&(a===">"||a==="/"&&this._input.peek(1)===">")?(E=this._input.next(),a==="/"&&(E+=this._input.next()),S=this._create_token(h.TAG_CLOSE,E)):g.text[0]==="{"&&a==="}"&&this._input.peek(1)==="}"&&(this._input.next(),this._input.next(),S=this._create_token(h.TAG_CLOSE,"}}"))),S},r.prototype._read_attribute=function(a,g,E){var S=null,w="";if(E&&E.text[0]==="<")if(a==="=")S=this._create_token(h.EQUALS,this._input.next());else if(a==='"'||a==="'"){var R=this._input.next();a==='"'?R+=this.__patterns.double_quote.read():R+=this.__patterns.single_quote.read(),S=this._create_token(h.VALUE,R)}else w=this.__patterns.attribute.read(),w&&(g.type===h.EQUALS?S=this._create_token(h.VALUE,w):S=this._create_token(h.ATTRIBUTE,w));return S},r.prototype._is_content_unformatted=function(a){return this._options.void_elements.indexOf(a)===-1&&(this._options.content_unformatted.indexOf(a)!==-1||this._options.unformatted.indexOf(a)!==-1)},r.prototype._read_raw_content=function(a,g,E){var S="";if(E&&E.text[0]==="{")S=this.__patterns.handlebars_raw_close.read();else if(g.type===h.TAG_CLOSE&&g.opened.text[0]==="<"&&g.text[0]!=="/"){var w=g.opened.text.substr(1).toLowerCase();this._is_content_unformatted(w)&&(S=this._input.readUntil(new RegExp("</"+w+"[\\n\\r\\t ]*?>","ig")))}return S?this._create_token(h.TEXT,S):null},r.prototype._read_script_and_style=function(a,g){if(g.type===h.TAG_CLOSE&&g.opened.text[0]==="<"&&g.text[0]!=="/"){var E=g.opened.text.substr(1).toLowerCase();if(E==="script"||E==="style"){var S=this._read_comment_or_cdata(a);if(S)return S.type=h.TEXT,S;var w=this._input.readUntil(new RegExp("</"+E+"[\\n\\r\\t ]*?>","ig"));if(w)return this._create_token(h.TEXT,w)}}return null},r.prototype._read_content_word=function(a,g){var E="";return this._options.unformatted_content_delimiter&&a===this._options.unformatted_content_delimiter[0]&&(E=this.__patterns.unformatted_content_delimiter.read()),E||(E=g&&g.type===h.CONTROL_FLOW_OPEN?this.__patterns.word_control_flow_close_excluded.read():this.__patterns.word.read()),E?this._create_token(h.TEXT,E):null},c.exports.Tokenizer=r,c.exports.TOKEN=h}],b={};function s(c){var u=b[c];if(u!==void 0)return u.exports;var f=b[c]={exports:{}};return L[c](f,f.exports,s),f.exports}var T=s(18);X=T})();var D=X;if(1)ee=[ae,ae(58553),ae(87804)],te=function(L){var b=ae(58553),s=ae(87804);return{html_beautify:function(T,c){return D(T,c,b.js_beautify,s.css_beautify)}}}.apply(qe,ee),te!==void 0&&(tr.exports=te);else var W,y})()},58553:function(tr,qe){var ae,ee;(function(){var te;(function(){"use strict";var D=[function(b,s,T){var c=T(1).Beautifier,u=T(5).Options;function f(i,o){var d=new c(i,o);return d.beautify()}b.exports=f,b.exports.defaultOptions=function(){return new u}},function(b,s,T){var c=T(2).Output,u=T(3).Token,f=T(4),i=T(5).Options,o=T(7).Tokenizer,d=T(7).line_starters,p=T(7).positionable_operators,m=T(7).TOKEN;function h(M,z){return z.indexOf(M)!==-1}function v(M){return M.replace(/^\s+/g,"")}function r(M){for(var z={},$=0;$<M.length;$++)z[M[$].replace(/-/g,"_")]=M[$];return z}function a(M,z){return M&&M.type===m.RESERVED&&M.text===z}function g(M,z){return M&&M.type===m.RESERVED&&h(M.text,z)}var E=["case","return","do","if","throw","else","await","break","continue","async"],S=["before-newline","after-newline","preserve-newline"],w=r(S),R=[w.before_newline,w.preserve_newline],O={BlockStatement:"BlockStatement",Statement:"Statement",ObjectLiteral:"ObjectLiteral",ArrayLiteral:"ArrayLiteral",ForInitializer:"ForInitializer",Conditional:"Conditional",Expression:"Expression"};function G(M,z){z.multiline_frame||z.mode===O.ForInitializer||z.mode===O.Conditional||M.remove_indent(z.start_line_index)}function B(M){M=M.replace(f.allLineBreaks,`
`);for(var z=[],$=M.indexOf(`
`);$!==-1;)z.push(M.substring(0,$)),M=M.substring($+1),$=M.indexOf(`
`);return M.length&&z.push(M),z}function P(M){return M===O.ArrayLiteral}function F(M){return h(M,[O.Expression,O.ForInitializer,O.Conditional])}function K(M,z){for(var $=0;$<M.length;$++){var q=M[$].trim();if(q.charAt(0)!==z)return!1}return!0}function U(M,z){for(var $=0,q=M.length,se;$<q;$++)if(se=M[$],se&&se.indexOf(z)!==0)return!1;return!0}function V(M,z){z=z||{},this._source_text=M||"",this._output=null,this._tokens=null,this._last_last_text=null,this._flags=null,this._previous_flags=null,this._flag_store=null,this._options=new i(z)}V.prototype.create_flags=function(M,z){var $=0;M&&($=M.indentation_level,!this._output.just_added_newline()&&M.line_indent_level>$&&($=M.line_indent_level));var q={mode:z,parent:M,last_token:M?M.last_token:new u(m.START_BLOCK,""),last_word:M?M.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,inline_frame:!1,if_block:!1,else_block:!1,class_start_block:!1,do_block:!1,do_while:!1,import_block:!1,in_case_statement:!1,in_case:!1,case_body:!1,case_block:!1,indentation_level:$,alignment:0,line_indent_level:M?M.line_indent_level:$,start_line_index:this._output.get_line_number(),ternary_depth:0};return q},V.prototype._reset=function(M){var z=M.match(/^[\t ]*/)[0];this._last_last_text="",this._output=new c(this._options,z),this._output.raw=this._options.test_output_raw,this._flag_store=[],this.set_mode(O.BlockStatement);var $=new o(M,this._options);return this._tokens=$.tokenize(),M},V.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var M,z=this._reset(this._source_text),$=this._options.eol;this._options.eol==="auto"&&($=`
`,z&&f.lineBreak.test(z||"")&&($=z.match(f.lineBreak)[0]));for(var q=this._tokens.next();q;)this.handle_token(q),this._last_last_text=this._flags.last_token.text,this._flags.last_token=q,q=this._tokens.next();return M=this._output.get_code($),M},V.prototype.handle_token=function(M,z){M.type===m.START_EXPR?this.handle_start_expr(M):M.type===m.END_EXPR?this.handle_end_expr(M):M.type===m.START_BLOCK?this.handle_start_block(M):M.type===m.END_BLOCK?this.handle_end_block(M):M.type===m.WORD?this.handle_word(M):M.type===m.RESERVED?this.handle_word(M):M.type===m.SEMICOLON?this.handle_semicolon(M):M.type===m.STRING?this.handle_string(M):M.type===m.EQUALS?this.handle_equals(M):M.type===m.OPERATOR?this.handle_operator(M):M.type===m.COMMA?this.handle_comma(M):M.type===m.BLOCK_COMMENT?this.handle_block_comment(M,z):M.type===m.COMMENT?this.handle_comment(M,z):M.type===m.DOT?this.handle_dot(M):M.type===m.EOF?this.handle_eof(M):M.type===m.UNKNOWN?this.handle_unknown(M,z):this.handle_unknown(M,z)},V.prototype.handle_whitespace_and_comments=function(M,z){var $=M.newlines,q=this._options.keep_array_indentation&&P(this._flags.mode);if(M.comments_before)for(var se=M.comments_before.next();se;)this.handle_whitespace_and_comments(se,z),this.handle_token(se,z),se=M.comments_before.next();if(q)for(var ue=0;ue<$;ue+=1)this.print_newline(ue>0,z);else if(this._options.max_preserve_newlines&&$>this._options.max_preserve_newlines&&($=this._options.max_preserve_newlines),this._options.preserve_newlines&&$>1){this.print_newline(!1,z);for(var pe=1;pe<$;pe+=1)this.print_newline(!0,z)}};var C=["async","break","continue","return","throw","yield"];V.prototype.allow_wrap_or_preserved_newline=function(M,z){if(z=z===void 0?!1:z,!this._output.just_added_newline()){var $=this._options.preserve_newlines&&M.newlines||z,q=h(this._flags.last_token.text,p)||h(M.text,p);if(q){var se=h(this._flags.last_token.text,p)&&h(this._options.operator_position,R)||h(M.text,p);$=$&&se}if($)this.print_newline(!1,!0);else if(this._options.wrap_line_length){if(g(this._flags.last_token,C))return;this._output.set_wrap_point()}}},V.prototype.print_newline=function(M,z){if(!z&&this._flags.last_token.text!==";"&&this._flags.last_token.text!==","&&this._flags.last_token.text!=="="&&(this._flags.last_token.type!==m.OPERATOR||this._flags.last_token.text==="--"||this._flags.last_token.text==="++"))for(var $=this._tokens.peek();this._flags.mode===O.Statement&&!(this._flags.if_block&&a($,"else"))&&!this._flags.do_block;)this.restore_mode();this._output.add_new_line(M)&&(this._flags.multiline_frame=!0)},V.prototype.print_token_line_indentation=function(M){this._output.just_added_newline()&&(this._options.keep_array_indentation&&M.newlines&&(M.text==="["||P(this._flags.mode))?(this._output.current_line.set_indent(-1),this._output.current_line.push(M.whitespace_before),this._output.space_before_token=!1):this._output.set_indent(this._flags.indentation_level,this._flags.alignment)&&(this._flags.line_indent_level=this._flags.indentation_level))},V.prototype.print_token=function(M){if(this._output.raw){this._output.add_raw_token(M);return}if(this._options.comma_first&&M.previous&&M.previous.type===m.COMMA&&this._output.just_added_newline()&&this._output.previous_line.last()===","){var z=this._output.previous_line.pop();this._output.previous_line.is_empty()&&(this._output.previous_line.push(z),this._output.trim(!0),this._output.current_line.pop(),this._output.trim()),this.print_token_line_indentation(M),this._output.add_token(","),this._output.space_before_token=!0}this.print_token_line_indentation(M),this._output.non_breaking_space=!0,this._output.add_token(M.text),this._output.previous_token_wrapped&&(this._flags.multiline_frame=!0)},V.prototype.indent=function(){this._flags.indentation_level+=1,this._output.set_indent(this._flags.indentation_level,this._flags.alignment)},V.prototype.deindent=function(){this._flags.indentation_level>0&&(!this._flags.parent||this._flags.indentation_level>this._flags.parent.indentation_level)&&(this._flags.indentation_level-=1,this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},V.prototype.set_mode=function(M){this._flags?(this._flag_store.push(this._flags),this._previous_flags=this._flags):this._previous_flags=this.create_flags(null,M),this._flags=this.create_flags(this._previous_flags,M),this._output.set_indent(this._flags.indentation_level,this._flags.alignment)},V.prototype.restore_mode=function(){this._flag_store.length>0&&(this._previous_flags=this._flags,this._flags=this._flag_store.pop(),this._previous_flags.mode===O.Statement&&G(this._output,this._previous_flags),this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},V.prototype.start_of_object_property=function(){return this._flags.parent.mode===O.ObjectLiteral&&this._flags.mode===O.Statement&&(this._flags.last_token.text===":"&&this._flags.ternary_depth===0||g(this._flags.last_token,["get","set"]))},V.prototype.start_of_statement=function(M){var z=!1;return z=z||g(this._flags.last_token,["var","let","const"])&&M.type===m.WORD,z=z||a(this._flags.last_token,"do"),z=z||!(this._flags.parent.mode===O.ObjectLiteral&&this._flags.mode===O.Statement)&&g(this._flags.last_token,C)&&!M.newlines,z=z||a(this._flags.last_token,"else")&&!(a(M,"if")&&!M.comments_before),z=z||this._flags.last_token.type===m.END_EXPR&&(this._previous_flags.mode===O.ForInitializer||this._previous_flags.mode===O.Conditional),z=z||this._flags.last_token.type===m.WORD&&this._flags.mode===O.BlockStatement&&!this._flags.in_case&&!(M.text==="--"||M.text==="++")&&this._last_last_text!=="function"&&M.type!==m.WORD&&M.type!==m.RESERVED,z=z||this._flags.mode===O.ObjectLiteral&&(this._flags.last_token.text===":"&&this._flags.ternary_depth===0||g(this._flags.last_token,["get","set"])),z?(this.set_mode(O.Statement),this.indent(),this.handle_whitespace_and_comments(M,!0),this.start_of_object_property()||this.allow_wrap_or_preserved_newline(M,g(M,["do","for","if","while"])),!0):!1},V.prototype.handle_start_expr=function(M){this.start_of_statement(M)||this.handle_whitespace_and_comments(M);var z=O.Expression;if(M.text==="["){if(this._flags.last_token.type===m.WORD||this._flags.last_token.text===")"){g(this._flags.last_token,d)&&(this._output.space_before_token=!0),this.print_token(M),this.set_mode(z),this.indent(),this._options.space_in_paren&&(this._output.space_before_token=!0);return}z=O.ArrayLiteral,P(this._flags.mode)&&(this._flags.last_token.text==="["||this._flags.last_token.text===","&&(this._last_last_text==="]"||this._last_last_text==="}"))&&(this._options.keep_array_indentation||this.print_newline()),h(this._flags.last_token.type,[m.START_EXPR,m.END_EXPR,m.WORD,m.OPERATOR,m.DOT])||(this._output.space_before_token=!0)}else{if(this._flags.last_token.type===m.RESERVED)this._flags.last_token.text==="for"?(this._output.space_before_token=this._options.space_before_conditional,z=O.ForInitializer):h(this._flags.last_token.text,["if","while","switch"])?(this._output.space_before_token=this._options.space_before_conditional,z=O.Conditional):h(this._flags.last_word,["await","async"])?this._output.space_before_token=!0:this._flags.last_token.text==="import"&&M.whitespace_before===""?this._output.space_before_token=!1:(h(this._flags.last_token.text,d)||this._flags.last_token.text==="catch")&&(this._output.space_before_token=!0);else if(this._flags.last_token.type===m.EQUALS||this._flags.last_token.type===m.OPERATOR)this.start_of_object_property()||this.allow_wrap_or_preserved_newline(M);else if(this._flags.last_token.type===m.WORD){this._output.space_before_token=!1;var $=this._tokens.peek(-3);if(this._options.space_after_named_function&&$){var q=this._tokens.peek(-4);g($,["async","function"])||$.text==="*"&&g(q,["async","function"])?this._output.space_before_token=!0:this._flags.mode===O.ObjectLiteral?($.text==="{"||$.text===","||$.text==="*"&&(q.text==="{"||q.text===","))&&(this._output.space_before_token=!0):this._flags.parent&&this._flags.parent.class_start_block&&(this._output.space_before_token=!0)}}else this.allow_wrap_or_preserved_newline(M);(this._flags.last_token.type===m.RESERVED&&(this._flags.last_word==="function"||this._flags.last_word==="typeof")||this._flags.last_token.text==="*"&&(h(this._last_last_text,["function","yield"])||this._flags.mode===O.ObjectLiteral&&h(this._last_last_text,["{",","])))&&(this._output.space_before_token=this._options.space_after_anon_function)}this._flags.last_token.text===";"||this._flags.last_token.type===m.START_BLOCK?this.print_newline():(this._flags.last_token.type===m.END_EXPR||this._flags.last_token.type===m.START_EXPR||this._flags.last_token.type===m.END_BLOCK||this._flags.last_token.text==="."||this._flags.last_token.type===m.COMMA)&&this.allow_wrap_or_preserved_newline(M,M.newlines),this.print_token(M),this.set_mode(z),this._options.space_in_paren&&(this._output.space_before_token=!0),this.indent()},V.prototype.handle_end_expr=function(M){for(;this._flags.mode===O.Statement;)this.restore_mode();this.handle_whitespace_and_comments(M),this._flags.multiline_frame&&this.allow_wrap_or_preserved_newline(M,M.text==="]"&&P(this._flags.mode)&&!this._options.keep_array_indentation),this._options.space_in_paren&&(this._flags.last_token.type===m.START_EXPR&&!this._options.space_in_empty_paren?(this._output.trim(),this._output.space_before_token=!1):this._output.space_before_token=!0),this.deindent(),this.print_token(M),this.restore_mode(),G(this._output,this._previous_flags),this._flags.do_while&&this._previous_flags.mode===O.Conditional&&(this._previous_flags.mode=O.Expression,this._flags.do_block=!1,this._flags.do_while=!1)},V.prototype.handle_start_block=function(M){this.handle_whitespace_and_comments(M);var z=this._tokens.peek(),$=this._tokens.peek(1);this._flags.last_word==="switch"&&this._flags.last_token.type===m.END_EXPR?(this.set_mode(O.BlockStatement),this._flags.in_case_statement=!0):this._flags.case_body?this.set_mode(O.BlockStatement):$&&(h($.text,[":",","])&&h(z.type,[m.STRING,m.WORD,m.RESERVED])||h(z.text,["get","set","..."])&&h($.type,[m.WORD,m.RESERVED]))?h(this._last_last_text,["class","interface"])&&!h($.text,[":",","])?this.set_mode(O.BlockStatement):this.set_mode(O.ObjectLiteral):this._flags.last_token.type===m.OPERATOR&&this._flags.last_token.text==="=>"?this.set_mode(O.BlockStatement):h(this._flags.last_token.type,[m.EQUALS,m.START_EXPR,m.COMMA,m.OPERATOR])||g(this._flags.last_token,["return","throw","import","default"])?this.set_mode(O.ObjectLiteral):this.set_mode(O.BlockStatement),this._flags.last_token&&g(this._flags.last_token.previous,["class","extends"])&&(this._flags.class_start_block=!0);var q=!z.comments_before&&z.text==="}",se=q&&this._flags.last_word==="function"&&this._flags.last_token.type===m.END_EXPR;if(this._options.brace_preserve_inline){var ue=0,pe=null;this._flags.inline_frame=!0;do if(ue+=1,pe=this._tokens.peek(ue-1),pe.newlines){this._flags.inline_frame=!1;break}while(pe.type!==m.EOF&&!(pe.type===m.END_BLOCK&&pe.opened===M))}(this._options.brace_style==="expand"||this._options.brace_style==="none"&&M.newlines)&&!this._flags.inline_frame?this._flags.last_token.type!==m.OPERATOR&&(se||this._flags.last_token.type===m.EQUALS||g(this._flags.last_token,E)&&this._flags.last_token.text!=="else")?this._output.space_before_token=!0:this.print_newline(!1,!0):(P(this._previous_flags.mode)&&(this._flags.last_token.type===m.START_EXPR||this._flags.last_token.type===m.COMMA)&&((this._flags.last_token.type===m.COMMA||this._options.space_in_paren)&&(this._output.space_before_token=!0),(this._flags.last_token.type===m.COMMA||this._flags.last_token.type===m.START_EXPR&&this._flags.inline_frame)&&(this.allow_wrap_or_preserved_newline(M),this._previous_flags.multiline_frame=this._previous_flags.multiline_frame||this._flags.multiline_frame,this._flags.multiline_frame=!1)),this._flags.last_token.type!==m.OPERATOR&&this._flags.last_token.type!==m.START_EXPR&&(h(this._flags.last_token.type,[m.START_BLOCK,m.SEMICOLON])&&!this._flags.inline_frame?this.print_newline():this._output.space_before_token=!0)),this.print_token(M),this.indent(),!q&&!(this._options.brace_preserve_inline&&this._flags.inline_frame)&&this.print_newline()},V.prototype.handle_end_block=function(M){for(this.handle_whitespace_and_comments(M);this._flags.mode===O.Statement;)this.restore_mode();var z=this._flags.last_token.type===m.START_BLOCK;this._flags.inline_frame&&!z?this._output.space_before_token=!0:this._options.brace_style==="expand"?z||this.print_newline():z||(P(this._flags.mode)&&this._options.keep_array_indentation?(this._options.keep_array_indentation=!1,this.print_newline(),this._options.keep_array_indentation=!0):this.print_newline()),this.restore_mode(),this.print_token(M)},V.prototype.handle_word=function(M){if(M.type===m.RESERVED){if(h(M.text,["set","get"])&&this._flags.mode!==O.ObjectLiteral)M.type=m.WORD;else if(M.text==="import"&&h(this._tokens.peek().text,["(","."]))M.type=m.WORD;else if(h(M.text,["as","from"])&&!this._flags.import_block)M.type=m.WORD;else if(this._flags.mode===O.ObjectLiteral){var z=this._tokens.peek();z.text===":"&&(M.type=m.WORD)}}if(this.start_of_statement(M)?g(this._flags.last_token,["var","let","const"])&&M.type===m.WORD&&(this._flags.declaration_statement=!0):M.newlines&&!F(this._flags.mode)&&(this._flags.last_token.type!==m.OPERATOR||this._flags.last_token.text==="--"||this._flags.last_token.text==="++")&&this._flags.last_token.type!==m.EQUALS&&(this._options.preserve_newlines||!g(this._flags.last_token,["var","let","const","set","get"]))?(this.handle_whitespace_and_comments(M),this.print_newline()):this.handle_whitespace_and_comments(M),this._flags.do_block&&!this._flags.do_while)if(a(M,"while")){this._output.space_before_token=!0,this.print_token(M),this._output.space_before_token=!0,this._flags.do_while=!0;return}else this.print_newline(),this._flags.do_block=!1;if(this._flags.if_block)if(!this._flags.else_block&&a(M,"else"))this._flags.else_block=!0;else{for(;this._flags.mode===O.Statement;)this.restore_mode();this._flags.if_block=!1,this._flags.else_block=!1}if(this._flags.in_case_statement&&g(M,["case","default"])){this.print_newline(),!this._flags.case_block&&(this._flags.case_body||this._options.jslint_happy)&&this.deindent(),this._flags.case_body=!1,this.print_token(M),this._flags.in_case=!0;return}if((this._flags.last_token.type===m.COMMA||this._flags.last_token.type===m.START_EXPR||this._flags.last_token.type===m.EQUALS||this._flags.last_token.type===m.OPERATOR)&&!this.start_of_object_property()&&!(h(this._flags.last_token.text,["+","-"])&&this._last_last_text===":"&&this._flags.parent.mode===O.ObjectLiteral)&&this.allow_wrap_or_preserved_newline(M),a(M,"function")){(h(this._flags.last_token.text,["}",";"])||this._output.just_added_newline()&&!(h(this._flags.last_token.text,["(","[","{",":","=",","])||this._flags.last_token.type===m.OPERATOR))&&!this._output.just_added_blankline()&&!M.comments_before&&(this.print_newline(),this.print_newline(!0)),this._flags.last_token.type===m.RESERVED||this._flags.last_token.type===m.WORD?g(this._flags.last_token,["get","set","new","export"])||g(this._flags.last_token,C)?this._output.space_before_token=!0:a(this._flags.last_token,"default")&&this._last_last_text==="export"?this._output.space_before_token=!0:this._flags.last_token.text==="declare"?this._output.space_before_token=!0:this.print_newline():this._flags.last_token.type===m.OPERATOR||this._flags.last_token.text==="="?this._output.space_before_token=!0:!this._flags.multiline_frame&&(F(this._flags.mode)||P(this._flags.mode))||this.print_newline(),this.print_token(M),this._flags.last_word=M.text;return}var $="NONE";if(this._flags.last_token.type===m.END_BLOCK?this._previous_flags.inline_frame?$="SPACE":g(M,["else","catch","finally","from"])?this._options.brace_style==="expand"||this._options.brace_style==="end-expand"||this._options.brace_style==="none"&&M.newlines?$="NEWLINE":($="SPACE",this._output.space_before_token=!0):$="NEWLINE":this._flags.last_token.type===m.SEMICOLON&&this._flags.mode===O.BlockStatement?$="NEWLINE":this._flags.last_token.type===m.SEMICOLON&&F(this._flags.mode)?$="SPACE":this._flags.last_token.type===m.STRING?$="NEWLINE":this._flags.last_token.type===m.RESERVED||this._flags.last_token.type===m.WORD||this._flags.last_token.text==="*"&&(h(this._last_last_text,["function","yield"])||this._flags.mode===O.ObjectLiteral&&h(this._last_last_text,["{",","]))?$="SPACE":this._flags.last_token.type===m.START_BLOCK?this._flags.inline_frame?$="SPACE":$="NEWLINE":this._flags.last_token.type===m.END_EXPR&&(this._output.space_before_token=!0,$="NEWLINE"),g(M,d)&&this._flags.last_token.text!==")"&&(this._flags.inline_frame||this._flags.last_token.text==="else"||this._flags.last_token.text==="export"?$="SPACE":$="NEWLINE"),g(M,["else","catch","finally"]))if((!(this._flags.last_token.type===m.END_BLOCK&&this._previous_flags.mode===O.BlockStatement)||this._options.brace_style==="expand"||this._options.brace_style==="end-expand"||this._options.brace_style==="none"&&M.newlines)&&!this._flags.inline_frame)this.print_newline();else{this._output.trim(!0);var q=this._output.current_line;q.last()!=="}"&&this.print_newline(),this._output.space_before_token=!0}else $==="NEWLINE"?g(this._flags.last_token,E)?this._output.space_before_token=!0:this._flags.last_token.text==="declare"&&g(M,["var","let","const"])?this._output.space_before_token=!0:this._flags.last_token.type!==m.END_EXPR?(this._flags.last_token.type!==m.START_EXPR||!g(M,["var","let","const"]))&&this._flags.last_token.text!==":"&&(a(M,"if")&&a(M.previous,"else")?this._output.space_before_token=!0:this.print_newline()):g(M,d)&&this._flags.last_token.text!==")"&&this.print_newline():this._flags.multiline_frame&&P(this._flags.mode)&&this._flags.last_token.text===","&&this._last_last_text==="}"?this.print_newline():$==="SPACE"&&(this._output.space_before_token=!0);M.previous&&(M.previous.type===m.WORD||M.previous.type===m.RESERVED)&&(this._output.space_before_token=!0),this.print_token(M),this._flags.last_word=M.text,M.type===m.RESERVED&&(M.text==="do"?this._flags.do_block=!0:M.text==="if"?this._flags.if_block=!0:M.text==="import"?this._flags.import_block=!0:this._flags.import_block&&a(M,"from")&&(this._flags.import_block=!1))},V.prototype.handle_semicolon=function(M){this.start_of_statement(M)?this._output.space_before_token=!1:this.handle_whitespace_and_comments(M);for(var z=this._tokens.peek();this._flags.mode===O.Statement&&!(this._flags.if_block&&a(z,"else"))&&!this._flags.do_block;)this.restore_mode();this._flags.import_block&&(this._flags.import_block=!1),this.print_token(M)},V.prototype.handle_string=function(M){M.text.startsWith("`")&&M.newlines===0&&M.whitespace_before===""&&(M.previous.text===")"||this._flags.last_token.type===m.WORD)||(this.start_of_statement(M)?this._output.space_before_token=!0:(this.handle_whitespace_and_comments(M),this._flags.last_token.type===m.RESERVED||this._flags.last_token.type===m.WORD||this._flags.inline_frame?this._output.space_before_token=!0:this._flags.last_token.type===m.COMMA||this._flags.last_token.type===m.START_EXPR||this._flags.last_token.type===m.EQUALS||this._flags.last_token.type===m.OPERATOR?this.start_of_object_property()||this.allow_wrap_or_preserved_newline(M):M.text.startsWith("`")&&this._flags.last_token.type===m.END_EXPR&&(M.previous.text==="]"||M.previous.text===")")&&M.newlines===0?this._output.space_before_token=!0:this.print_newline())),this.print_token(M)},V.prototype.handle_equals=function(M){this.start_of_statement(M)||this.handle_whitespace_and_comments(M),this._flags.declaration_statement&&(this._flags.declaration_assignment=!0),this._output.space_before_token=!0,this.print_token(M),this._output.space_before_token=!0},V.prototype.handle_comma=function(M){this.handle_whitespace_and_comments(M,!0),this.print_token(M),this._output.space_before_token=!0,this._flags.declaration_statement?(F(this._flags.parent.mode)&&(this._flags.declaration_assignment=!1),this._flags.declaration_assignment?(this._flags.declaration_assignment=!1,this.print_newline(!1,!0)):this._options.comma_first&&this.allow_wrap_or_preserved_newline(M)):this._flags.mode===O.ObjectLiteral||this._flags.mode===O.Statement&&this._flags.parent.mode===O.ObjectLiteral?(this._flags.mode===O.Statement&&this.restore_mode(),this._flags.inline_frame||this.print_newline()):this._options.comma_first&&this.allow_wrap_or_preserved_newline(M)},V.prototype.handle_operator=function(M){var z=M.text==="*"&&(g(this._flags.last_token,["function","yield"])||h(this._flags.last_token.type,[m.START_BLOCK,m.COMMA,m.END_BLOCK,m.SEMICOLON])),$=h(M.text,["-","+"])&&(h(this._flags.last_token.type,[m.START_BLOCK,m.START_EXPR,m.EQUALS,m.OPERATOR])||h(this._flags.last_token.text,d)||this._flags.last_token.text===",");if(!this.start_of_statement(M)){var q=!z;this.handle_whitespace_and_comments(M,q)}if(M.text==="*"&&this._flags.last_token.type===m.DOT){this.print_token(M);return}if(M.text==="::"){this.print_token(M);return}if(h(M.text,["-","+"])&&this.start_of_object_property()){this.print_token(M);return}if(this._flags.last_token.type===m.OPERATOR&&h(this._options.operator_position,R)&&this.allow_wrap_or_preserved_newline(M),M.text===":"&&this._flags.in_case){this.print_token(M),this._flags.in_case=!1,this._flags.case_body=!0,this._tokens.peek().type!==m.START_BLOCK?(this.indent(),this.print_newline(),this._flags.case_block=!1):(this._flags.case_block=!0,this._output.space_before_token=!0);return}var se=!0,ue=!0,pe=!1;if(M.text===":"?this._flags.ternary_depth===0?se=!1:(this._flags.ternary_depth-=1,pe=!0):M.text==="?"&&(this._flags.ternary_depth+=1),!$&&!z&&this._options.preserve_newlines&&h(M.text,p)){var Ee=M.text===":",De=Ee&&pe,Fe=Ee&&!pe;switch(this._options.operator_position){case w.before_newline:this._output.space_before_token=!Fe,this.print_token(M),(!Ee||De)&&this.allow_wrap_or_preserved_newline(M),this._output.space_before_token=!0;return;case w.after_newline:this._output.space_before_token=!0,!Ee||De?this._tokens.peek().newlines?this.print_newline(!1,!0):this.allow_wrap_or_preserved_newline(M):this._output.space_before_token=!1,this.print_token(M),this._output.space_before_token=!0;return;case w.preserve_newline:Fe||this.allow_wrap_or_preserved_newline(M),se=!(this._output.just_added_newline()||Fe),this._output.space_before_token=se,this.print_token(M),this._output.space_before_token=!0;return}}if(z){this.allow_wrap_or_preserved_newline(M),se=!1;var Ge=this._tokens.peek();ue=Ge&&h(Ge.type,[m.WORD,m.RESERVED])}else if(M.text==="...")this.allow_wrap_or_preserved_newline(M),se=this._flags.last_token.type===m.START_BLOCK,ue=!1;else if(h(M.text,["--","++","!","~"])||$){if((this._flags.last_token.type===m.COMMA||this._flags.last_token.type===m.START_EXPR)&&this.allow_wrap_or_preserved_newline(M),se=!1,ue=!1,M.newlines&&(M.text==="--"||M.text==="++"||M.text==="~")){var xe=g(this._flags.last_token,E)&&M.newlines;xe&&(this._previous_flags.if_block||this._previous_flags.else_block)&&this.restore_mode(),this.print_newline(xe,!0)}this._flags.last_token.text===";"&&F(this._flags.mode)&&(se=!0),this._flags.last_token.type===m.RESERVED?se=!0:this._flags.last_token.type===m.END_EXPR?se=!(this._flags.last_token.text==="]"&&(M.text==="--"||M.text==="++")):this._flags.last_token.type===m.OPERATOR&&(se=h(M.text,["--","-","++","+"])&&h(this._flags.last_token.text,["--","-","++","+"]),h(M.text,["+","-"])&&h(this._flags.last_token.text,["--","++"])&&(ue=!0)),(this._flags.mode===O.BlockStatement&&!this._flags.inline_frame||this._flags.mode===O.Statement)&&(this._flags.last_token.text==="{"||this._flags.last_token.text===";")&&this.print_newline()}this._output.space_before_token=this._output.space_before_token||se,this.print_token(M),this._output.space_before_token=ue},V.prototype.handle_block_comment=function(M,z){if(this._output.raw){this._output.add_raw_token(M),M.directives&&M.directives.preserve==="end"&&(this._output.raw=this._options.test_output_raw);return}if(M.directives){this.print_newline(!1,z),this.print_token(M),M.directives.preserve==="start"&&(this._output.raw=!0),this.print_newline(!1,!0);return}if(!f.newline.test(M.text)&&!M.newlines){this._output.space_before_token=!0,this.print_token(M),this._output.space_before_token=!0;return}else this.print_block_commment(M,z)},V.prototype.print_block_commment=function(M,z){var $=B(M.text),q,se=!1,ue=!1,pe=M.whitespace_before,Ee=pe.length;if(this.print_newline(!1,z),this.print_token_line_indentation(M),this._output.add_token($[0]),this.print_newline(!1,z),$.length>1){for($=$.slice(1),se=K($,"*"),ue=U($,pe),se&&(this._flags.alignment=1),q=0;q<$.length;q++)se?(this.print_token_line_indentation(M),this._output.add_token(v($[q]))):ue&&$[q]?(this.print_token_line_indentation(M),this._output.add_token($[q].substring(Ee))):(this._output.current_line.set_indent(-1),this._output.add_token($[q])),this.print_newline(!1,z);this._flags.alignment=0}},V.prototype.handle_comment=function(M,z){M.newlines?this.print_newline(!1,z):this._output.trim(!0),this._output.space_before_token=!0,this.print_token(M),this.print_newline(!1,z)},V.prototype.handle_dot=function(M){this.start_of_statement(M)||this.handle_whitespace_and_comments(M,!0),this._flags.last_token.text.match("^[0-9]+$")&&(this._output.space_before_token=!0),g(this._flags.last_token,E)?this._output.space_before_token=!1:this.allow_wrap_or_preserved_newline(M,this._flags.last_token.text===")"&&this._options.break_chained_methods),this._options.unindent_chained_methods&&this._output.just_added_newline()&&this.deindent(),this.print_token(M)},V.prototype.handle_unknown=function(M,z){this.print_token(M),M.text[M.text.length-1]===`
`&&this.print_newline(!1,z)},V.prototype.handle_eof=function(M){for(;this._flags.mode===O.Statement;)this.restore_mode();this.handle_whitespace_and_comments(M)},b.exports.Beautifier=V},function(b){function s(u){this.__parent=u,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}s.prototype.clone_empty=function(){var u=new s(this.__parent);return u.set_indent(this.__indent_count,this.__alignment_count),u},s.prototype.item=function(u){return u<0?this.__items[this.__items.length+u]:this.__items[u]},s.prototype.has_match=function(u){for(var f=this.__items.length-1;f>=0;f--)if(this.__items[f].match(u))return!0;return!1},s.prototype.set_indent=function(u,f){this.is_empty()&&(this.__indent_count=u||0,this.__alignment_count=f||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},s.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},s.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},s.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var u=this.__parent.current_line;return u.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),u.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),u.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,u.__items[0]===" "&&(u.__items.splice(0,1),u.__character_count-=1),!0}return!1},s.prototype.is_empty=function(){return this.__items.length===0},s.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},s.prototype.push=function(u){this.__items.push(u);var f=u.lastIndexOf(`
`);f!==-1?this.__character_count=u.length-f:this.__character_count+=u.length},s.prototype.pop=function(){var u=null;return this.is_empty()||(u=this.__items.pop(),this.__character_count-=u.length),u},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var u="";return this.is_empty()?this.__parent.indent_empty_lines&&(u=this.__parent.get_indent_string(this.__indent_count)):(u=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),u+=this.__items.join("")),u};function T(u,f){this.__cache=[""],this.__indent_size=u.indent_size,this.__indent_string=u.indent_char,u.indent_with_tabs||(this.__indent_string=new Array(u.indent_size+1).join(u.indent_char)),f=f||"",u.indent_level>0&&(f=new Array(u.indent_level+1).join(this.__indent_string)),this.__base_string=f,this.__base_string_length=f.length}T.prototype.get_indent_size=function(u,f){var i=this.__base_string_length;return f=f||0,u<0&&(i=0),i+=u*this.__indent_size,i+=f,i},T.prototype.get_indent_string=function(u,f){var i=this.__base_string;return f=f||0,u<0&&(u=0,i=""),f+=u*this.__indent_size,this.__ensure_cache(f),i+=this.__cache[f],i},T.prototype.__ensure_cache=function(u){for(;u>=this.__cache.length;)this.__add_column()},T.prototype.__add_column=function(){var u=this.__cache.length,f=0,i="";this.__indent_size&&u>=this.__indent_size&&(f=Math.floor(u/this.__indent_size),u-=f*this.__indent_size,i=new Array(f+1).join(this.__indent_string)),u&&(i+=new Array(u+1).join(" ")),this.__cache.push(i)};function c(u,f){this.__indent_cache=new T(u,f),this.raw=!1,this._end_with_newline=u.end_with_newline,this.indent_size=u.indent_size,this.wrap_line_length=u.wrap_line_length,this.indent_empty_lines=u.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}c.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},c.prototype.get_line_number=function(){return this.__lines.length},c.prototype.get_indent_string=function(u,f){return this.__indent_cache.get_indent_string(u,f)},c.prototype.get_indent_size=function(u,f){return this.__indent_cache.get_indent_size(u,f)},c.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},c.prototype.add_new_line=function(u){return this.is_empty()||!u&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},c.prototype.get_code=function(u){this.trim(!0);var f=this.current_line.pop();f&&(f[f.length-1]===`
`&&(f=f.replace(/\n+$/g,"")),this.current_line.push(f)),this._end_with_newline&&this.__add_outputline();var i=this.__lines.join(`
`);return u!==`
`&&(i=i.replace(/[\n]/g,u)),i},c.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},c.prototype.set_indent=function(u,f){return u=u||0,f=f||0,this.next_line.set_indent(u,f),this.__lines.length>1?(this.current_line.set_indent(u,f),!0):(this.current_line.set_indent(),!1)},c.prototype.add_raw_token=function(u){for(var f=0;f<u.newlines;f++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(u.whitespace_before),this.current_line.push(u.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},c.prototype.add_token=function(u){this.__add_space_before_token(),this.current_line.push(u),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},c.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},c.prototype.remove_indent=function(u){for(var f=this.__lines.length;u<f;)this.__lines[u]._remove_indent(),u++;this.current_line._remove_wrap_indent()},c.prototype.trim=function(u){for(u=u===void 0?!1:u,this.current_line.trim();u&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},c.prototype.just_added_newline=function(){return this.current_line.is_empty()},c.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},c.prototype.ensure_empty_line_above=function(u,f){for(var i=this.__lines.length-2;i>=0;){var o=this.__lines[i];if(o.is_empty())break;if(o.item(0).indexOf(u)!==0&&o.item(-1)!==f){this.__lines.splice(i+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}i--}},b.exports.Output=c},function(b){function s(T,c,u,f){this.type=T,this.text=c,this.comments_before=null,this.newlines=u||0,this.whitespace_before=f||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}b.exports.Token=s},function(b,s){var T="\\x23\\x24\\x40\\x41-\\x5a\\x5f\\x61-\\x7a",c="\\x24\\x30-\\x39\\x41-\\x5a\\x5f\\x61-\\x7a",u="\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0\\u08a2-\\u08ac\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua793\\ua7a0-\\ua7aa\\ua7f8-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa80-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc",f="\\u0300-\\u036f\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u0620-\\u0649\\u0672-\\u06d3\\u06e7-\\u06e8\\u06fb-\\u06fc\\u0730-\\u074a\\u0800-\\u0814\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0840-\\u0857\\u08e4-\\u08fe\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962-\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09d7\\u09df-\\u09e0\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2-\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5f-\\u0b60\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c01-\\u0c03\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62-\\u0c63\\u0c66-\\u0c6f\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2-\\u0ce3\\u0ce6-\\u0cef\\u0d02\\u0d03\\u0d46-\\u0d48\\u0d57\\u0d62-\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e34-\\u0e3a\\u0e40-\\u0e45\\u0e50-\\u0e59\\u0eb4-\\u0eb9\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f41-\\u0f47\\u0f71-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u1029\\u1040-\\u1049\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u170e-\\u1710\\u1720-\\u1730\\u1740-\\u1750\\u1772\\u1773\\u1780-\\u17b2\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u1920-\\u192b\\u1930-\\u193b\\u1951-\\u196d\\u19b0-\\u19c0\\u19c8-\\u19c9\\u19d0-\\u19d9\\u1a00-\\u1a15\\u1a20-\\u1a53\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1b46-\\u1b4b\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c00-\\u1c22\\u1c40-\\u1c49\\u1c5b-\\u1c7d\\u1cd0-\\u1cd2\\u1d00-\\u1dbe\\u1e01-\\u1f15\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2d81-\\u2d96\\u2de0-\\u2dff\\u3021-\\u3028\\u3099\\u309a\\ua640-\\ua66d\\ua674-\\ua67d\\ua69f\\ua6f0-\\ua6f1\\ua7f8-\\ua800\\ua806\\ua80b\\ua823-\\ua827\\ua880-\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8f3-\\ua8f7\\ua900-\\ua909\\ua926-\\ua92d\\ua930-\\ua945\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa00-\\uaa27\\uaa40-\\uaa41\\uaa4c-\\uaa4d\\uaa50-\\uaa59\\uaa7b\\uaae0-\\uaae9\\uaaf2-\\uaaf3\\uabc0-\\uabe1\\uabec\\uabed\\uabf0-\\uabf9\\ufb20-\\ufb28\\ufe00-\\ufe0f\\ufe20-\\ufe26\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f",i="\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}",o="(?:"+i+"|["+T+u+"])",d="(?:"+i+"|["+c+u+f+"])*";s.identifier=new RegExp(o+d,"g"),s.identifierStart=new RegExp(o),s.identifierMatch=new RegExp("(?:"+i+"|["+c+u+f+"])+");var p=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/;s.newline=/[\n\r\u2028\u2029]/,s.lineBreak=new RegExp(`\r
|`+s.newline.source),s.allLineBreaks=new RegExp(s.lineBreak.source,"g")},function(b,s,T){var c=T(6).Options,u=["before-newline","after-newline","preserve-newline"];function f(i){c.call(this,i,"js");var o=this.raw_options.brace_style||null;o==="expand-strict"?this.raw_options.brace_style="expand":o==="collapse-preserve-inline"?this.raw_options.brace_style="collapse,preserve-inline":this.raw_options.braces_on_own_line!==void 0&&(this.raw_options.brace_style=this.raw_options.braces_on_own_line?"expand":"collapse");var d=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_preserve_inline=!1,this.brace_style="collapse";for(var p=0;p<d.length;p++)d[p]==="preserve-inline"?this.brace_preserve_inline=!0:this.brace_style=d[p];this.unindent_chained_methods=this._get_boolean("unindent_chained_methods"),this.break_chained_methods=this._get_boolean("break_chained_methods"),this.space_in_paren=this._get_boolean("space_in_paren"),this.space_in_empty_paren=this._get_boolean("space_in_empty_paren"),this.jslint_happy=this._get_boolean("jslint_happy"),this.space_after_anon_function=this._get_boolean("space_after_anon_function"),this.space_after_named_function=this._get_boolean("space_after_named_function"),this.keep_array_indentation=this._get_boolean("keep_array_indentation"),this.space_before_conditional=this._get_boolean("space_before_conditional",!0),this.unescape_strings=this._get_boolean("unescape_strings"),this.e4x=this._get_boolean("e4x"),this.comma_first=this._get_boolean("comma_first"),this.operator_position=this._get_selection("operator_position",u),this.test_output_raw=this._get_boolean("test_output_raw"),this.jslint_happy&&(this.space_after_anon_function=!0)}f.prototype=new c,b.exports.Options=f},function(b){function s(u,f){this.raw_options=T(u,f),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(u,f){var i=this.raw_options[u],o=f||[];return typeof i=="object"?i!==null&&typeof i.concat=="function"&&(o=i.concat()):typeof i=="string"&&(o=i.split(/[^a-zA-Z0-9_\/\-]+/)),o},s.prototype._get_boolean=function(u,f){var i=this.raw_options[u],o=i===void 0?!!f:!!i;return o},s.prototype._get_characters=function(u,f){var i=this.raw_options[u],o=f||"";return typeof i=="string"&&(o=i.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),o},s.prototype._get_number=function(u,f){var i=this.raw_options[u];f=parseInt(f,10),isNaN(f)&&(f=0);var o=parseInt(i,10);return isNaN(o)&&(o=f),o},s.prototype._get_selection=function(u,f,i){var o=this._get_selection_list(u,f,i);if(o.length!==1)throw new Error("Invalid Option Value: The option '"+u+`' can only be one of the following values:
`+f+`
You passed in: '`+this.raw_options[u]+"'");return o[0]},s.prototype._get_selection_list=function(u,f,i){if(!f||f.length===0)throw new Error("Selection list cannot be empty.");if(i=i||[f[0]],!this._is_valid_selection(i,f))throw new Error("Invalid Default Value!");var o=this._get_array(u,i);if(!this._is_valid_selection(o,f))throw new Error("Invalid Option Value: The option '"+u+`' can contain only the following values:
`+f+`
You passed in: '`+this.raw_options[u]+"'");return o},s.prototype._is_valid_selection=function(u,f){return u.length&&f.length&&!u.some(function(i){return f.indexOf(i)===-1})};function T(u,f){var i={};u=c(u);var o;for(o in u)o!==f&&(i[o]=u[o]);if(f&&u[f])for(o in u[f])i[o]=u[f][o];return i}function c(u){var f={},i;for(i in u){var o=i.replace(/-/g,"_");f[o]=u[i]}return f}b.exports.Options=s,b.exports.normalizeOpts=c,b.exports.mergeOpts=T},function(b,s,T){var c=T(8).InputScanner,u=T(9).Tokenizer,f=T(9).TOKEN,i=T(13).Directives,o=T(4),d=T(12).Pattern,p=T(14).TemplatablePattern;function m(K,U){return U.indexOf(K)!==-1}var h={START_EXPR:"TK_START_EXPR",END_EXPR:"TK_END_EXPR",START_BLOCK:"TK_START_BLOCK",END_BLOCK:"TK_END_BLOCK",WORD:"TK_WORD",RESERVED:"TK_RESERVED",SEMICOLON:"TK_SEMICOLON",STRING:"TK_STRING",EQUALS:"TK_EQUALS",OPERATOR:"TK_OPERATOR",COMMA:"TK_COMMA",BLOCK_COMMENT:"TK_BLOCK_COMMENT",COMMENT:"TK_COMMENT",DOT:"TK_DOT",UNKNOWN:"TK_UNKNOWN",START:f.START,RAW:f.RAW,EOF:f.EOF},v=new i(/\/\*/,/\*\//),r=/0[xX][0123456789abcdefABCDEF_]*n?|0[oO][01234567_]*n?|0[bB][01_]*n?|\d[\d_]*n|(?:\.\d[\d_]*|\d[\d_]*\.?[\d_]*)(?:[eE][+-]?[\d_]+)?/,a=/[0-9]/,g=/[^\d\.]/,E=">>> === !== &&= ??= ||= << && >= ** != == <= >> || ?? |> < / - + > : & % ? ^ | *".split(" "),S=">>>= ... >>= <<= === >>> !== **= &&= ??= ||= => ^= :: /= << <= == && -= >= >> != -- += ** || ?? ++ %= &= *= |= |> = ! ? > < : / ^ - + * & % ~ |";S=S.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&"),S="\\?\\.(?!\\d) "+S,S=S.replace(/ /g,"|");var w=new RegExp(S),R="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(","),O=R.concat(["do","in","of","else","get","set","new","catch","finally","typeof","yield","async","await","from","as","class","extends"]),G=new RegExp("^(?:"+O.join("|")+")$"),B,P=function(K,U){u.call(this,K,U),this._patterns.whitespace=this._patterns.whitespace.matching(/\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff/.source,/\u2028\u2029/.source);var V=new d(this._input),C=new p(this._input).read_options(this._options);this.__patterns={template:C,identifier:C.starting_with(o.identifier).matching(o.identifierMatch),number:V.matching(r),punct:V.matching(w),comment:V.starting_with(/\/\//).until(/[\n\r\u2028\u2029]/),block_comment:V.starting_with(/\/\*/).until_after(/\*\//),html_comment_start:V.matching(/<!--/),html_comment_end:V.matching(/-->/),include:V.starting_with(/#include/).until_after(o.lineBreak),shebang:V.starting_with(/#!/).until_after(o.lineBreak),xml:V.matching(/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[^}]+?}|!\[CDATA\[[^\]]*?\]\]|)(\s*{[^}]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{([^{}]|{[^}]+?})+?}))*\s*(\/?)\s*>/),single_quote:C.until(/['\\\n\r\u2028\u2029]/),double_quote:C.until(/["\\\n\r\u2028\u2029]/),template_text:C.until(/[`\\$]/),template_expression:C.until(/[`}\\]/)}};P.prototype=new u,P.prototype._is_comment=function(K){return K.type===h.COMMENT||K.type===h.BLOCK_COMMENT||K.type===h.UNKNOWN},P.prototype._is_opening=function(K){return K.type===h.START_BLOCK||K.type===h.START_EXPR},P.prototype._is_closing=function(K,U){return(K.type===h.END_BLOCK||K.type===h.END_EXPR)&&U&&(K.text==="]"&&U.text==="["||K.text===")"&&U.text==="("||K.text==="}"&&U.text==="{")},P.prototype._reset=function(){B=!1},P.prototype._get_next_token=function(K,U){var V=null;this._readWhitespace();var C=this._input.peek();return C===null?this._create_token(h.EOF,""):(V=V||this._read_non_javascript(C),V=V||this._read_string(C),V=V||this._read_pair(C,this._input.peek(1)),V=V||this._read_word(K),V=V||this._read_singles(C),V=V||this._read_comment(C),V=V||this._read_regexp(C,K),V=V||this._read_xml(C,K),V=V||this._read_punctuation(),V=V||this._create_token(h.UNKNOWN,this._input.next()),V)},P.prototype._read_word=function(K){var U;if(U=this.__patterns.identifier.read(),U!=="")return U=U.replace(o.allLineBreaks,`
`),!(K.type===h.DOT||K.type===h.RESERVED&&(K.text==="set"||K.text==="get"))&&G.test(U)?(U==="in"||U==="of")&&(K.type===h.WORD||K.type===h.STRING)?this._create_token(h.OPERATOR,U):this._create_token(h.RESERVED,U):this._create_token(h.WORD,U);if(U=this.__patterns.number.read(),U!=="")return this._create_token(h.WORD,U)},P.prototype._read_singles=function(K){var U=null;return K==="("||K==="["?U=this._create_token(h.START_EXPR,K):K===")"||K==="]"?U=this._create_token(h.END_EXPR,K):K==="{"?U=this._create_token(h.START_BLOCK,K):K==="}"?U=this._create_token(h.END_BLOCK,K):K===";"?U=this._create_token(h.SEMICOLON,K):K==="."&&g.test(this._input.peek(1))?U=this._create_token(h.DOT,K):K===","&&(U=this._create_token(h.COMMA,K)),U&&this._input.next(),U},P.prototype._read_pair=function(K,U){var V=null;return K==="#"&&U==="{"&&(V=this._create_token(h.START_BLOCK,K+U)),V&&(this._input.next(),this._input.next()),V},P.prototype._read_punctuation=function(){var K=this.__patterns.punct.read();if(K!=="")return K==="="?this._create_token(h.EQUALS,K):K==="?."?this._create_token(h.DOT,K):this._create_token(h.OPERATOR,K)},P.prototype._read_non_javascript=function(K){var U="";if(K==="#"){if(this._is_first_token()&&(U=this.__patterns.shebang.read(),U))return this._create_token(h.UNKNOWN,U.trim()+`
`);if(U=this.__patterns.include.read(),U)return this._create_token(h.UNKNOWN,U.trim()+`
`);K=this._input.next();var V="#";if(this._input.hasNext()&&this._input.testChar(a)){do K=this._input.next(),V+=K;while(this._input.hasNext()&&K!=="#"&&K!=="=");return K==="#"||(this._input.peek()==="["&&this._input.peek(1)==="]"?(V+="[]",this._input.next(),this._input.next()):this._input.peek()==="{"&&this._input.peek(1)==="}"&&(V+="{}",this._input.next(),this._input.next())),this._create_token(h.WORD,V)}this._input.back()}else if(K==="<"&&this._is_first_token()){if(U=this.__patterns.html_comment_start.read(),U){for(;this._input.hasNext()&&!this._input.testChar(o.newline);)U+=this._input.next();return B=!0,this._create_token(h.COMMENT,U)}}else if(B&&K==="-"&&(U=this.__patterns.html_comment_end.read(),U))return B=!1,this._create_token(h.COMMENT,U);return null},P.prototype._read_comment=function(K){var U=null;if(K==="/"){var V="";if(this._input.peek(1)==="*"){V=this.__patterns.block_comment.read();var C=v.get_directives(V);C&&C.ignore==="start"&&(V+=v.readIgnored(this._input)),V=V.replace(o.allLineBreaks,`
`),U=this._create_token(h.BLOCK_COMMENT,V),U.directives=C}else this._input.peek(1)==="/"&&(V=this.__patterns.comment.read(),U=this._create_token(h.COMMENT,V))}return U},P.prototype._read_string=function(K){if(K==="`"||K==="'"||K==='"'){var U=this._input.next();return this.has_char_escapes=!1,K==="`"?U+=this._read_string_recursive("`",!0,"${"):U+=this._read_string_recursive(K),this.has_char_escapes&&this._options.unescape_strings&&(U=F(U)),this._input.peek()===K&&(U+=this._input.next()),U=U.replace(o.allLineBreaks,`
`),this._create_token(h.STRING,U)}return null},P.prototype._allow_regexp_or_xml=function(K){return K.type===h.RESERVED&&m(K.text,["return","case","throw","else","do","typeof","yield"])||K.type===h.END_EXPR&&K.text===")"&&K.opened.previous.type===h.RESERVED&&m(K.opened.previous.text,["if","while","for"])||m(K.type,[h.COMMENT,h.START_EXPR,h.START_BLOCK,h.START,h.END_BLOCK,h.OPERATOR,h.EQUALS,h.EOF,h.SEMICOLON,h.COMMA])},P.prototype._read_regexp=function(K,U){if(K==="/"&&this._allow_regexp_or_xml(U)){for(var V=this._input.next(),C=!1,M=!1;this._input.hasNext()&&(C||M||this._input.peek()!==K)&&!this._input.testChar(o.newline);)V+=this._input.peek(),C?C=!1:(C=this._input.peek()==="\\",this._input.peek()==="["?M=!0:this._input.peek()==="]"&&(M=!1)),this._input.next();return this._input.peek()===K&&(V+=this._input.next(),V+=this._input.read(o.identifier)),this._create_token(h.STRING,V)}return null},P.prototype._read_xml=function(K,U){if(this._options.e4x&&K==="<"&&this._allow_regexp_or_xml(U)){var V="",C=this.__patterns.xml.read_match();if(C){for(var M=C[2].replace(/^{\s+/,"{").replace(/\s+}$/,"}"),z=M.indexOf("{")===0,$=0;C;){var q=!!C[1],se=C[2],ue=!!C[C.length-1]||se.slice(0,8)==="![CDATA[";if(!ue&&(se===M||z&&se.replace(/^{\s+/,"{").replace(/\s+}$/,"}"))&&(q?--$:++$),V+=C[0],$<=0)break;C=this.__patterns.xml.read_match()}return C||(V+=this._input.match(/[\s\S]*/g)[0]),V=V.replace(o.allLineBreaks,`
`),this._create_token(h.STRING,V)}}return null};function F(K){for(var U="",V=0,C=new c(K),M=null;C.hasNext();)if(M=C.match(/([\s]|[^\\]|\\\\)+/g),M&&(U+=M[0]),C.peek()==="\\"){if(C.next(),C.peek()==="x")M=C.match(/x([0-9A-Fa-f]{2})/g);else if(C.peek()==="u")M=C.match(/u([0-9A-Fa-f]{4})/g),M||(M=C.match(/u\{([0-9A-Fa-f]+)\}/g));else{U+="\\",C.hasNext()&&(U+=C.next());continue}if(!M||(V=parseInt(M[1],16),V>126&&V<=255&&M[0].indexOf("x")===0))return K;V>=0&&V<32||V>1114111?U+="\\"+M[0]:V===34||V===39||V===92?U+="\\"+String.fromCharCode(V):U+=String.fromCharCode(V)}return U}P.prototype._read_string_recursive=function(K,U,V){var C,M;K==="'"?M=this.__patterns.single_quote:K==='"'?M=this.__patterns.double_quote:K==="`"?M=this.__patterns.template_text:K==="}"&&(M=this.__patterns.template_expression);for(var z=M.read(),$="";this._input.hasNext();){if($=this._input.next(),$===K||!U&&o.newline.test($)){this._input.back();break}else $==="\\"&&this._input.hasNext()?(C=this._input.peek(),C==="x"||C==="u"?this.has_char_escapes=!0:C==="\r"&&this._input.peek(1)===`
`&&this._input.next(),$+=this._input.next()):V&&(V==="${"&&$==="$"&&this._input.peek()==="{"&&($+=this._input.next()),V===$&&(K==="`"?$+=this._read_string_recursive("}",U,"`"):$+=this._read_string_recursive("`",U,"${"),this._input.hasNext()&&($+=this._input.next())));$+=M.read(),z+=$}return z},b.exports.Tokenizer=P,b.exports.TOKEN=h,b.exports.positionable_operators=E.slice(),b.exports.line_starters=R.slice()},function(b){var s=RegExp.prototype.hasOwnProperty("sticky");function T(c){this.__input=c||"",this.__input_length=this.__input.length,this.__position=0}T.prototype.restart=function(){this.__position=0},T.prototype.back=function(){this.__position>0&&(this.__position-=1)},T.prototype.hasNext=function(){return this.__position<this.__input_length},T.prototype.next=function(){var c=null;return this.hasNext()&&(c=this.__input.charAt(this.__position),this.__position+=1),c},T.prototype.peek=function(c){var u=null;return c=c||0,c+=this.__position,c>=0&&c<this.__input_length&&(u=this.__input.charAt(c)),u},T.prototype.__match=function(c,u){c.lastIndex=u;var f=c.exec(this.__input);return f&&!(s&&c.sticky)&&f.index!==u&&(f=null),f},T.prototype.test=function(c,u){return u=u||0,u+=this.__position,u>=0&&u<this.__input_length?!!this.__match(c,u):!1},T.prototype.testChar=function(c,u){var f=this.peek(u);return c.lastIndex=0,f!==null&&c.test(f)},T.prototype.match=function(c){var u=this.__match(c,this.__position);return u?this.__position+=u[0].length:u=null,u},T.prototype.read=function(c,u,f){var i="",o;return c&&(o=this.match(c),o&&(i+=o[0])),u&&(o||!c)&&(i+=this.readUntil(u,f)),i},T.prototype.readUntil=function(c,u){var f="",i=this.__position;c.lastIndex=this.__position;var o=c.exec(this.__input);return o?(i=o.index,u&&(i+=o[0].length)):i=this.__input_length,f=this.__input.substring(this.__position,i),this.__position=i,f},T.prototype.readUntilAfter=function(c){return this.readUntil(c,!0)},T.prototype.get_regexp=function(c,u){var f=null,i="g";return u&&s&&(i="y"),typeof c=="string"&&c!==""?f=new RegExp(c,i):c&&(f=new RegExp(c.source,i)),f},T.prototype.get_literal_regexp=function(c){return RegExp(c.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},T.prototype.peekUntilAfter=function(c){var u=this.__position,f=this.readUntilAfter(c);return this.__position=u,f},T.prototype.lookBack=function(c){var u=this.__position-1;return u>=c.length&&this.__input.substring(u-c.length,u).toLowerCase()===c},b.exports.InputScanner=T},function(b,s,T){var c=T(8).InputScanner,u=T(3).Token,f=T(10).TokenStream,i=T(11).WhitespacePattern,o={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},d=function(p,m){this._input=new c(p),this._options=m||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new i(this._input)};d.prototype.tokenize=function(){this._input.restart(),this.__tokens=new f,this._reset();for(var p,m=new u(o.START,""),h=null,v=[],r=new f;m.type!==o.EOF;){for(p=this._get_next_token(m,h);this._is_comment(p);)r.add(p),p=this._get_next_token(m,h);r.isEmpty()||(p.comments_before=r,r=new f),p.parent=h,this._is_opening(p)?(v.push(h),h=p):h&&this._is_closing(p,h)&&(p.opened=h,h.closed=p,h=v.pop(),p.parent=h),p.previous=m,m.next=p,this.__tokens.add(p),m=p}return this.__tokens},d.prototype._is_first_token=function(){return this.__tokens.isEmpty()},d.prototype._reset=function(){},d.prototype._get_next_token=function(p,m){this._readWhitespace();var h=this._input.read(/.+/g);return h?this._create_token(o.RAW,h):this._create_token(o.EOF,"")},d.prototype._is_comment=function(p){return!1},d.prototype._is_opening=function(p){return!1},d.prototype._is_closing=function(p,m){return!1},d.prototype._create_token=function(p,m){var h=new u(p,m,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token);return h},d.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},b.exports.Tokenizer=d,b.exports.TOKEN=o},function(b){function s(T){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=T}s.prototype.restart=function(){this.__position=0},s.prototype.isEmpty=function(){return this.__tokens_length===0},s.prototype.hasNext=function(){return this.__position<this.__tokens_length},s.prototype.next=function(){var T=null;return this.hasNext()&&(T=this.__tokens[this.__position],this.__position+=1),T},s.prototype.peek=function(T){var c=null;return T=T||0,T+=this.__position,T>=0&&T<this.__tokens_length&&(c=this.__tokens[T]),c},s.prototype.add=function(T){this.__parent_token&&(T.parent=this.__parent_token),this.__tokens.push(T),this.__tokens_length+=1},b.exports.TokenStream=s},function(b,s,T){var c=T(12).Pattern;function u(f,i){c.call(this,f,i),i?this._line_regexp=this._input.get_regexp(i._line_regexp):this.__set_whitespace_patterns("",""),this.newline_count=0,this.whitespace_before_token=""}u.prototype=new c,u.prototype.__set_whitespace_patterns=function(f,i){f+="\\t ",i+="\\n\\r",this._match_pattern=this._input.get_regexp("["+f+i+"]+",!0),this._newline_regexp=this._input.get_regexp("\\r\\n|["+i+"]")},u.prototype.read=function(){this.newline_count=0,this.whitespace_before_token="";var f=this._input.read(this._match_pattern);if(f===" ")this.whitespace_before_token=" ";else if(f){var i=this.__split(this._newline_regexp,f);this.newline_count=i.length-1,this.whitespace_before_token=i[this.newline_count]}return f},u.prototype.matching=function(f,i){var o=this._create();return o.__set_whitespace_patterns(f,i),o._update(),o},u.prototype._create=function(){return new u(this._input,this)},u.prototype.__split=function(f,i){f.lastIndex=0;for(var o=0,d=[],p=f.exec(i);p;)d.push(i.substring(o,p.index)),o=p.index+p[0].length,p=f.exec(i);return o<i.length?d.push(i.substring(o,i.length)):d.push(""),d},b.exports.WhitespacePattern=u},function(b){function s(T,c){this._input=T,this._starting_pattern=null,this._match_pattern=null,this._until_pattern=null,this._until_after=!1,c&&(this._starting_pattern=this._input.get_regexp(c._starting_pattern,!0),this._match_pattern=this._input.get_regexp(c._match_pattern,!0),this._until_pattern=this._input.get_regexp(c._until_pattern),this._until_after=c._until_after)}s.prototype.read=function(){var T=this._input.read(this._starting_pattern);return(!this._starting_pattern||T)&&(T+=this._input.read(this._match_pattern,this._until_pattern,this._until_after)),T},s.prototype.read_match=function(){return this._input.match(this._match_pattern)},s.prototype.until_after=function(T){var c=this._create();return c._until_after=!0,c._until_pattern=this._input.get_regexp(T),c._update(),c},s.prototype.until=function(T){var c=this._create();return c._until_after=!1,c._until_pattern=this._input.get_regexp(T),c._update(),c},s.prototype.starting_with=function(T){var c=this._create();return c._starting_pattern=this._input.get_regexp(T,!0),c._update(),c},s.prototype.matching=function(T){var c=this._create();return c._match_pattern=this._input.get_regexp(T,!0),c._update(),c},s.prototype._create=function(){return new s(this._input,this)},s.prototype._update=function(){},b.exports.Pattern=s},function(b){function s(T,c){T=typeof T=="string"?T:T.source,c=typeof c=="string"?c:c.source,this.__directives_block_pattern=new RegExp(T+/ beautify( \w+[:]\w+)+ /.source+c,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(T+/\sbeautify\signore:end\s/.source+c,"g")}s.prototype.get_directives=function(T){if(!T.match(this.__directives_block_pattern))return null;var c={};this.__directive_pattern.lastIndex=0;for(var u=this.__directive_pattern.exec(T);u;)c[u[1]]=u[2],u=this.__directive_pattern.exec(T);return c},s.prototype.readIgnored=function(T){return T.readUntilAfter(this.__directives_end_ignore_pattern)},b.exports.Directives=s},function(b,s,T){var c=T(12).Pattern,u={django:!1,erb:!1,handlebars:!1,php:!1,smarty:!1,angular:!1};function f(i,o){c.call(this,i,o),this.__template_pattern=null,this._disabled=Object.assign({},u),this._excluded=Object.assign({},u),o&&(this.__template_pattern=this._input.get_regexp(o.__template_pattern),this._excluded=Object.assign(this._excluded,o._excluded),this._disabled=Object.assign(this._disabled,o._disabled));var d=new c(i);this.__patterns={handlebars_comment:d.starting_with(/{{!--/).until_after(/--}}/),handlebars_unescaped:d.starting_with(/{{{/).until_after(/}}}/),handlebars:d.starting_with(/{{/).until_after(/}}/),php:d.starting_with(/<\?(?:[= ]|php)/).until_after(/\?>/),erb:d.starting_with(/<%[^%]/).until_after(/[^%]%>/),django:d.starting_with(/{%/).until_after(/%}/),django_value:d.starting_with(/{{/).until_after(/}}/),django_comment:d.starting_with(/{#/).until_after(/#}/),smarty:d.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),smarty_comment:d.starting_with(/{\*/).until_after(/\*}/),smarty_literal:d.starting_with(/{literal}/).until_after(/{\/literal}/)}}f.prototype=new c,f.prototype._create=function(){return new f(this._input,this)},f.prototype._update=function(){this.__set_templated_pattern()},f.prototype.disable=function(i){var o=this._create();return o._disabled[i]=!0,o._update(),o},f.prototype.read_options=function(i){var o=this._create();for(var d in u)o._disabled[d]=i.templating.indexOf(d)===-1;return o._update(),o},f.prototype.exclude=function(i){var o=this._create();return o._excluded[i]=!0,o._update(),o},f.prototype.read=function(){var i="";this._match_pattern?i=this._input.read(this._starting_pattern):i=this._input.read(this._starting_pattern,this.__template_pattern);for(var o=this._read_template();o;)this._match_pattern?o+=this._input.read(this._match_pattern):o+=this._input.readUntil(this.__template_pattern),i+=o,o=this._read_template();return this._until_after&&(i+=this._input.readUntilAfter(this._until_pattern)),i},f.prototype.__set_templated_pattern=function(){var i=[];this._disabled.php||i.push(this.__patterns.php._starting_pattern.source),this._disabled.handlebars||i.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.angular||i.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.erb||i.push(this.__patterns.erb._starting_pattern.source),this._disabled.django||(i.push(this.__patterns.django._starting_pattern.source),i.push(this.__patterns.django_value._starting_pattern.source),i.push(this.__patterns.django_comment._starting_pattern.source)),this._disabled.smarty||i.push(this.__patterns.smarty._starting_pattern.source),this._until_pattern&&i.push(this._until_pattern.source),this.__template_pattern=this._input.get_regexp("(?:"+i.join("|")+")")},f.prototype._read_template=function(){var i="",o=this._input.peek();if(o==="<"){var d=this._input.peek(1);!this._disabled.php&&!this._excluded.php&&d==="?"&&(i=i||this.__patterns.php.read()),!this._disabled.erb&&!this._excluded.erb&&d==="%"&&(i=i||this.__patterns.erb.read())}else o==="{"&&(!this._disabled.handlebars&&!this._excluded.handlebars&&(i=i||this.__patterns.handlebars_comment.read(),i=i||this.__patterns.handlebars_unescaped.read(),i=i||this.__patterns.handlebars.read()),this._disabled.django||(!this._excluded.django&&!this._excluded.handlebars&&(i=i||this.__patterns.django_value.read()),this._excluded.django||(i=i||this.__patterns.django_comment.read(),i=i||this.__patterns.django.read())),this._disabled.smarty||this._disabled.django&&this._disabled.handlebars&&(i=i||this.__patterns.smarty_comment.read(),i=i||this.__patterns.smarty_literal.read(),i=i||this.__patterns.smarty.read()));return i},b.exports.TemplatablePattern=f}],W={};function y(b){var s=W[b];if(s!==void 0)return s.exports;var T=W[b]={exports:{}};return D[b](T,T.exports,y),T.exports}var L=y(0);te=L})();var X=te;ae=[],ee=function(){return{js_beautify:X}}.apply(qe,ae),ee!==void 0&&(tr.exports=ee)})()},75918:function(tr,qe,ae){"use strict";ae.d(qe,{Wi:function(){return y},Z0:function(){return L},aU:function(){return W},eZ:function(){return s},wY:function(){return b}});var ee=ae(4348),te=ae(69323),X=ae(13268),D=function(T,c,u,f){function i(o){return o instanceof u?o:new u(function(d){d(o)})}return new(u||(u=Promise))(function(o,d){function p(v){try{h(f.next(v))}catch(r){d(r)}}function m(v){try{h(f.throw(v))}catch(r){d(r)}}function h(v){v.done?o(v.value):i(v.value).then(p,m)}h((f=f.apply(T,c||[])).next())})};class W extends te.JT{constructor(c,u="",f="",i=!0,o){super(),this._onDidChange=this._register(new ee.Q5),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=c,this._label=u,this._cssClass=f,this._enabled=i,this._actionCallback=o}get id(){return this._id}get label(){return this._label}set label(c){this._setLabel(c)}_setLabel(c){this._label!==c&&(this._label=c,this._onDidChange.fire({label:c}))}get tooltip(){return this._tooltip||""}set tooltip(c){this._setTooltip(c)}_setTooltip(c){this._tooltip!==c&&(this._tooltip=c,this._onDidChange.fire({tooltip:c}))}get class(){return this._cssClass}set class(c){this._setClass(c)}_setClass(c){this._cssClass!==c&&(this._cssClass=c,this._onDidChange.fire({class:c}))}get enabled(){return this._enabled}set enabled(c){this._setEnabled(c)}_setEnabled(c){this._enabled!==c&&(this._enabled=c,this._onDidChange.fire({enabled:c}))}get checked(){return this._checked}set checked(c){this._setChecked(c)}_setChecked(c){this._checked!==c&&(this._checked=c,this._onDidChange.fire({checked:c}))}run(c,u){return D(this,void 0,void 0,function*(){this._actionCallback&&(yield this._actionCallback(c))})}}class y extends te.JT{constructor(){super(...arguments),this._onBeforeRun=this._register(new ee.Q5),this.onBeforeRun=this._onBeforeRun.event,this._onDidRun=this._register(new ee.Q5),this.onDidRun=this._onDidRun.event}run(c,u){return D(this,void 0,void 0,function*(){if(!c.enabled)return;this._onBeforeRun.fire({action:c});let f;try{yield this.runAction(c,u)}catch(i){f=i}this._onDidRun.fire({action:c,error:f})})}runAction(c,u){return D(this,void 0,void 0,function*(){yield c.run(u)})}}class L extends W{constructor(c){super(L.ID,c,c?"separator text":"separator"),this.checked=!1,this.enabled=!1}}L.ID="vs.actions.separator";class b{constructor(c,u,f,i){this.tooltip="",this.enabled=!0,this.checked=!1,this.id=c,this.label=u,this.class=i,this._actions=f}get actions(){return this._actions}dispose(){}run(){return D(this,void 0,void 0,function*(){})}}class s extends W{constructor(){super(s.ID,X.N("submenu.empty","(empty)"),void 0,!1)}}s.ID="vs.actions.empty"},76068:function(tr,qe,ae){"use strict";ae.d(qe,{ok:function(){return ee}});function ee(te,X){if(!te)throw new Error(X?`Assertion failed (${X})`:"Assertion Failed")}},52615:function(tr,qe,ae){"use strict";ae.d(qe,{CM:function(){return W},JL:function(){return y},dT:function(){return b},fK:function(){return D},lA:function(){return L}});var ee=ae(4348);class te{constructor(){this._icons=new Map,this._onDidRegister=new ee.Q5}add(T){const c=this._icons.get(T.id);c?T.description?c.description=T.description:console.error(`Duplicate registration of codicon ${T.id}`):(this._icons.set(T.id,T),this._onDidRegister.fire(T))}get(T){return this._icons.get(T)}get all(){return this._icons.values()}get onDidRegister(){return this._onDidRegister.event}}const X=new te,D=X;function W(s,T){return new L(s,T)}function y(s){return s?s.replace(/\$\((.*?)\)/g,(T,c)=>` ${c} `).trim():""}class L{constructor(T,c,u){this.id=T,this.definition=c,this.description=u,X.add(this)}get classNames(){return"codicon codicon-"+this.id}get classNamesArray(){return["codicon","codicon-"+this.id]}get cssSelector(){return".codicon.codicon-"+this.id}}var b;(function(s){s.iconNameSegment="[A-Za-z0-9]+",s.iconNameExpression="[A-Za-z0-9\\-]+",s.iconModifierExpression="~[A-Za-z]+";const T=new RegExp(`^(${s.iconNameExpression})(${s.iconModifierExpression})?$`);function c(i){if(i instanceof L)return["codicon","codicon-"+i.id];const o=T.exec(i.id);if(!o)return c(L.error);let[,d,p]=o;const m=["codicon","codicon-"+d];return p&&m.push("codicon-modifier-"+p.substr(1)),m}s.asClassNameArray=c;function u(i){return c(i).join(" ")}s.asClassName=u;function f(i){return"."+c(i).join(".")}s.asCSSSelector=f})(b||(b={})),function(s){s.add=new s("add",{fontCharacter:"\\ea60"}),s.plus=new s("plus",s.add.definition),s.gistNew=new s("gist-new",s.add.definition),s.repoCreate=new s("repo-create",s.add.definition),s.lightbulb=new s("lightbulb",{fontCharacter:"\\ea61"}),s.lightBulb=new s("light-bulb",{fontCharacter:"\\ea61"}),s.repo=new s("repo",{fontCharacter:"\\ea62"}),s.repoDelete=new s("repo-delete",{fontCharacter:"\\ea62"}),s.gistFork=new s("gist-fork",{fontCharacter:"\\ea63"}),s.repoForked=new s("repo-forked",{fontCharacter:"\\ea63"}),s.gitPullRequest=new s("git-pull-request",{fontCharacter:"\\ea64"}),s.gitPullRequestAbandoned=new s("git-pull-request-abandoned",{fontCharacter:"\\ea64"}),s.recordKeys=new s("record-keys",{fontCharacter:"\\ea65"}),s.keyboard=new s("keyboard",{fontCharacter:"\\ea65"}),s.tag=new s("tag",{fontCharacter:"\\ea66"}),s.tagAdd=new s("tag-add",{fontCharacter:"\\ea66"}),s.tagRemove=new s("tag-remove",{fontCharacter:"\\ea66"}),s.person=new s("person",{fontCharacter:"\\ea67"}),s.personFollow=new s("person-follow",{fontCharacter:"\\ea67"}),s.personOutline=new s("person-outline",{fontCharacter:"\\ea67"}),s.personFilled=new s("person-filled",{fontCharacter:"\\ea67"}),s.gitBranch=new s("git-branch",{fontCharacter:"\\ea68"}),s.gitBranchCreate=new s("git-branch-create",{fontCharacter:"\\ea68"}),s.gitBranchDelete=new s("git-branch-delete",{fontCharacter:"\\ea68"}),s.sourceControl=new s("source-control",{fontCharacter:"\\ea68"}),s.mirror=new s("mirror",{fontCharacter:"\\ea69"}),s.mirrorPublic=new s("mirror-public",{fontCharacter:"\\ea69"}),s.star=new s("star",{fontCharacter:"\\ea6a"}),s.starAdd=new s("star-add",{fontCharacter:"\\ea6a"}),s.starDelete=new s("star-delete",{fontCharacter:"\\ea6a"}),s.starEmpty=new s("star-empty",{fontCharacter:"\\ea6a"}),s.comment=new s("comment",{fontCharacter:"\\ea6b"}),s.commentAdd=new s("comment-add",{fontCharacter:"\\ea6b"}),s.alert=new s("alert",{fontCharacter:"\\ea6c"}),s.warning=new s("warning",{fontCharacter:"\\ea6c"}),s.search=new s("search",{fontCharacter:"\\ea6d"}),s.searchSave=new s("search-save",{fontCharacter:"\\ea6d"}),s.logOut=new s("log-out",{fontCharacter:"\\ea6e"}),s.signOut=new s("sign-out",{fontCharacter:"\\ea6e"}),s.logIn=new s("log-in",{fontCharacter:"\\ea6f"}),s.signIn=new s("sign-in",{fontCharacter:"\\ea6f"}),s.eye=new s("eye",{fontCharacter:"\\ea70"}),s.eyeUnwatch=new s("eye-unwatch",{fontCharacter:"\\ea70"}),s.eyeWatch=new s("eye-watch",{fontCharacter:"\\ea70"}),s.circleFilled=new s("circle-filled",{fontCharacter:"\\ea71"}),s.primitiveDot=new s("primitive-dot",{fontCharacter:"\\ea71"}),s.closeDirty=new s("close-dirty",{fontCharacter:"\\ea71"}),s.debugBreakpoint=new s("debug-breakpoint",{fontCharacter:"\\ea71"}),s.debugBreakpointDisabled=new s("debug-breakpoint-disabled",{fontCharacter:"\\ea71"}),s.debugHint=new s("debug-hint",{fontCharacter:"\\ea71"}),s.primitiveSquare=new s("primitive-square",{fontCharacter:"\\ea72"}),s.edit=new s("edit",{fontCharacter:"\\ea73"}),s.pencil=new s("pencil",{fontCharacter:"\\ea73"}),s.info=new s("info",{fontCharacter:"\\ea74"}),s.issueOpened=new s("issue-opened",{fontCharacter:"\\ea74"}),s.gistPrivate=new s("gist-private",{fontCharacter:"\\ea75"}),s.gitForkPrivate=new s("git-fork-private",{fontCharacter:"\\ea75"}),s.lock=new s("lock",{fontCharacter:"\\ea75"}),s.mirrorPrivate=new s("mirror-private",{fontCharacter:"\\ea75"}),s.close=new s("close",{fontCharacter:"\\ea76"}),s.removeClose=new s("remove-close",{fontCharacter:"\\ea76"}),s.x=new s("x",{fontCharacter:"\\ea76"}),s.repoSync=new s("repo-sync",{fontCharacter:"\\ea77"}),s.sync=new s("sync",{fontCharacter:"\\ea77"}),s.clone=new s("clone",{fontCharacter:"\\ea78"}),s.desktopDownload=new s("desktop-download",{fontCharacter:"\\ea78"}),s.beaker=new s("beaker",{fontCharacter:"\\ea79"}),s.microscope=new s("microscope",{fontCharacter:"\\ea79"}),s.vm=new s("vm",{fontCharacter:"\\ea7a"}),s.deviceDesktop=new s("device-desktop",{fontCharacter:"\\ea7a"}),s.file=new s("file",{fontCharacter:"\\ea7b"}),s.fileText=new s("file-text",{fontCharacter:"\\ea7b"}),s.more=new s("more",{fontCharacter:"\\ea7c"}),s.ellipsis=new s("ellipsis",{fontCharacter:"\\ea7c"}),s.kebabHorizontal=new s("kebab-horizontal",{fontCharacter:"\\ea7c"}),s.mailReply=new s("mail-reply",{fontCharacter:"\\ea7d"}),s.reply=new s("reply",{fontCharacter:"\\ea7d"}),s.organization=new s("organization",{fontCharacter:"\\ea7e"}),s.organizationFilled=new s("organization-filled",{fontCharacter:"\\ea7e"}),s.organizationOutline=new s("organization-outline",{fontCharacter:"\\ea7e"}),s.newFile=new s("new-file",{fontCharacter:"\\ea7f"}),s.fileAdd=new s("file-add",{fontCharacter:"\\ea7f"}),s.newFolder=new s("new-folder",{fontCharacter:"\\ea80"}),s.fileDirectoryCreate=new s("file-directory-create",{fontCharacter:"\\ea80"}),s.trash=new s("trash",{fontCharacter:"\\ea81"}),s.trashcan=new s("trashcan",{fontCharacter:"\\ea81"}),s.history=new s("history",{fontCharacter:"\\ea82"}),s.clock=new s("clock",{fontCharacter:"\\ea82"}),s.folder=new s("folder",{fontCharacter:"\\ea83"}),s.fileDirectory=new s("file-directory",{fontCharacter:"\\ea83"}),s.symbolFolder=new s("symbol-folder",{fontCharacter:"\\ea83"}),s.logoGithub=new s("logo-github",{fontCharacter:"\\ea84"}),s.markGithub=new s("mark-github",{fontCharacter:"\\ea84"}),s.github=new s("github",{fontCharacter:"\\ea84"}),s.terminal=new s("terminal",{fontCharacter:"\\ea85"}),s.console=new s("console",{fontCharacter:"\\ea85"}),s.repl=new s("repl",{fontCharacter:"\\ea85"}),s.zap=new s("zap",{fontCharacter:"\\ea86"}),s.symbolEvent=new s("symbol-event",{fontCharacter:"\\ea86"}),s.error=new s("error",{fontCharacter:"\\ea87"}),s.stop=new s("stop",{fontCharacter:"\\ea87"}),s.variable=new s("variable",{fontCharacter:"\\ea88"}),s.symbolVariable=new s("symbol-variable",{fontCharacter:"\\ea88"}),s.array=new s("array",{fontCharacter:"\\ea8a"}),s.symbolArray=new s("symbol-array",{fontCharacter:"\\ea8a"}),s.symbolModule=new s("symbol-module",{fontCharacter:"\\ea8b"}),s.symbolPackage=new s("symbol-package",{fontCharacter:"\\ea8b"}),s.symbolNamespace=new s("symbol-namespace",{fontCharacter:"\\ea8b"}),s.symbolObject=new s("symbol-object",{fontCharacter:"\\ea8b"}),s.symbolMethod=new s("symbol-method",{fontCharacter:"\\ea8c"}),s.symbolFunction=new s("symbol-function",{fontCharacter:"\\ea8c"}),s.symbolConstructor=new s("symbol-constructor",{fontCharacter:"\\ea8c"}),s.symbolBoolean=new s("symbol-boolean",{fontCharacter:"\\ea8f"}),s.symbolNull=new s("symbol-null",{fontCharacter:"\\ea8f"}),s.symbolNumeric=new s("symbol-numeric",{fontCharacter:"\\ea90"}),s.symbolNumber=new s("symbol-number",{fontCharacter:"\\ea90"}),s.symbolStructure=new s("symbol-structure",{fontCharacter:"\\ea91"}),s.symbolStruct=new s("symbol-struct",{fontCharacter:"\\ea91"}),s.symbolParameter=new s("symbol-parameter",{fontCharacter:"\\ea92"}),s.symbolTypeParameter=new s("symbol-type-parameter",{fontCharacter:"\\ea92"}),s.symbolKey=new s("symbol-key",{fontCharacter:"\\ea93"}),s.symbolText=new s("symbol-text",{fontCharacter:"\\ea93"}),s.symbolReference=new s("symbol-reference",{fontCharacter:"\\ea94"}),s.goToFile=new s("go-to-file",{fontCharacter:"\\ea94"}),s.symbolEnum=new s("symbol-enum",{fontCharacter:"\\ea95"}),s.symbolValue=new s("symbol-value",{fontCharacter:"\\ea95"}),s.symbolRuler=new s("symbol-ruler",{fontCharacter:"\\ea96"}),s.symbolUnit=new s("symbol-unit",{fontCharacter:"\\ea96"}),s.activateBreakpoints=new s("activate-breakpoints",{fontCharacter:"\\ea97"}),s.archive=new s("archive",{fontCharacter:"\\ea98"}),s.arrowBoth=new s("arrow-both",{fontCharacter:"\\ea99"}),s.arrowDown=new s("arrow-down",{fontCharacter:"\\ea9a"}),s.arrowLeft=new s("arrow-left",{fontCharacter:"\\ea9b"}),s.arrowRight=new s("arrow-right",{fontCharacter:"\\ea9c"}),s.arrowSmallDown=new s("arrow-small-down",{fontCharacter:"\\ea9d"}),s.arrowSmallLeft=new s("arrow-small-left",{fontCharacter:"\\ea9e"}),s.arrowSmallRight=new s("arrow-small-right",{fontCharacter:"\\ea9f"}),s.arrowSmallUp=new s("arrow-small-up",{fontCharacter:"\\eaa0"}),s.arrowUp=new s("arrow-up",{fontCharacter:"\\eaa1"}),s.bell=new s("bell",{fontCharacter:"\\eaa2"}),s.bold=new s("bold",{fontCharacter:"\\eaa3"}),s.book=new s("book",{fontCharacter:"\\eaa4"}),s.bookmark=new s("bookmark",{fontCharacter:"\\eaa5"}),s.debugBreakpointConditionalUnverified=new s("debug-breakpoint-conditional-unverified",{fontCharacter:"\\eaa6"}),s.debugBreakpointConditional=new s("debug-breakpoint-conditional",{fontCharacter:"\\eaa7"}),s.debugBreakpointConditionalDisabled=new s("debug-breakpoint-conditional-disabled",{fontCharacter:"\\eaa7"}),s.debugBreakpointDataUnverified=new s("debug-breakpoint-data-unverified",{fontCharacter:"\\eaa8"}),s.debugBreakpointData=new s("debug-breakpoint-data",{fontCharacter:"\\eaa9"}),s.debugBreakpointDataDisabled=new s("debug-breakpoint-data-disabled",{fontCharacter:"\\eaa9"}),s.debugBreakpointLogUnverified=new s("debug-breakpoint-log-unverified",{fontCharacter:"\\eaaa"}),s.debugBreakpointLog=new s("debug-breakpoint-log",{fontCharacter:"\\eaab"}),s.debugBreakpointLogDisabled=new s("debug-breakpoint-log-disabled",{fontCharacter:"\\eaab"}),s.briefcase=new s("briefcase",{fontCharacter:"\\eaac"}),s.broadcast=new s("broadcast",{fontCharacter:"\\eaad"}),s.browser=new s("browser",{fontCharacter:"\\eaae"}),s.bug=new s("bug",{fontCharacter:"\\eaaf"}),s.calendar=new s("calendar",{fontCharacter:"\\eab0"}),s.caseSensitive=new s("case-sensitive",{fontCharacter:"\\eab1"}),s.check=new s("check",{fontCharacter:"\\eab2"}),s.checklist=new s("checklist",{fontCharacter:"\\eab3"}),s.chevronDown=new s("chevron-down",{fontCharacter:"\\eab4"}),s.dropDownButton=new s("drop-down-button",s.chevronDown.definition),s.chevronLeft=new s("chevron-left",{fontCharacter:"\\eab5"}),s.chevronRight=new s("chevron-right",{fontCharacter:"\\eab6"}),s.chevronUp=new s("chevron-up",{fontCharacter:"\\eab7"}),s.chromeClose=new s("chrome-close",{fontCharacter:"\\eab8"}),s.chromeMaximize=new s("chrome-maximize",{fontCharacter:"\\eab9"}),s.chromeMinimize=new s("chrome-minimize",{fontCharacter:"\\eaba"}),s.chromeRestore=new s("chrome-restore",{fontCharacter:"\\eabb"}),s.circleOutline=new s("circle-outline",{fontCharacter:"\\eabc"}),s.debugBreakpointUnverified=new s("debug-breakpoint-unverified",{fontCharacter:"\\eabc"}),s.circleSlash=new s("circle-slash",{fontCharacter:"\\eabd"}),s.circuitBoard=new s("circuit-board",{fontCharacter:"\\eabe"}),s.clearAll=new s("clear-all",{fontCharacter:"\\eabf"}),s.clippy=new s("clippy",{fontCharacter:"\\eac0"}),s.closeAll=new s("close-all",{fontCharacter:"\\eac1"}),s.cloudDownload=new s("cloud-download",{fontCharacter:"\\eac2"}),s.cloudUpload=new s("cloud-upload",{fontCharacter:"\\eac3"}),s.code=new s("code",{fontCharacter:"\\eac4"}),s.collapseAll=new s("collapse-all",{fontCharacter:"\\eac5"}),s.colorMode=new s("color-mode",{fontCharacter:"\\eac6"}),s.commentDiscussion=new s("comment-discussion",{fontCharacter:"\\eac7"}),s.compareChanges=new s("compare-changes",{fontCharacter:"\\eafd"}),s.creditCard=new s("credit-card",{fontCharacter:"\\eac9"}),s.dash=new s("dash",{fontCharacter:"\\eacc"}),s.dashboard=new s("dashboard",{fontCharacter:"\\eacd"}),s.database=new s("database",{fontCharacter:"\\eace"}),s.debugContinue=new s("debug-continue",{fontCharacter:"\\eacf"}),s.debugDisconnect=new s("debug-disconnect",{fontCharacter:"\\ead0"}),s.debugPause=new s("debug-pause",{fontCharacter:"\\ead1"}),s.debugRestart=new s("debug-restart",{fontCharacter:"\\ead2"}),s.debugStart=new s("debug-start",{fontCharacter:"\\ead3"}),s.debugStepInto=new s("debug-step-into",{fontCharacter:"\\ead4"}),s.debugStepOut=new s("debug-step-out",{fontCharacter:"\\ead5"}),s.debugStepOver=new s("debug-step-over",{fontCharacter:"\\ead6"}),s.debugStop=new s("debug-stop",{fontCharacter:"\\ead7"}),s.debug=new s("debug",{fontCharacter:"\\ead8"}),s.deviceCameraVideo=new s("device-camera-video",{fontCharacter:"\\ead9"}),s.deviceCamera=new s("device-camera",{fontCharacter:"\\eada"}),s.deviceMobile=new s("device-mobile",{fontCharacter:"\\eadb"}),s.diffAdded=new s("diff-added",{fontCharacter:"\\eadc"}),s.diffIgnored=new s("diff-ignored",{fontCharacter:"\\eadd"}),s.diffModified=new s("diff-modified",{fontCharacter:"\\eade"}),s.diffRemoved=new s("diff-removed",{fontCharacter:"\\eadf"}),s.diffRenamed=new s("diff-renamed",{fontCharacter:"\\eae0"}),s.diff=new s("diff",{fontCharacter:"\\eae1"}),s.discard=new s("discard",{fontCharacter:"\\eae2"}),s.editorLayout=new s("editor-layout",{fontCharacter:"\\eae3"}),s.emptyWindow=new s("empty-window",{fontCharacter:"\\eae4"}),s.exclude=new s("exclude",{fontCharacter:"\\eae5"}),s.extensions=new s("extensions",{fontCharacter:"\\eae6"}),s.eyeClosed=new s("eye-closed",{fontCharacter:"\\eae7"}),s.fileBinary=new s("file-binary",{fontCharacter:"\\eae8"}),s.fileCode=new s("file-code",{fontCharacter:"\\eae9"}),s.fileMedia=new s("file-media",{fontCharacter:"\\eaea"}),s.filePdf=new s("file-pdf",{fontCharacter:"\\eaeb"}),s.fileSubmodule=new s("file-submodule",{fontCharacter:"\\eaec"}),s.fileSymlinkDirectory=new s("file-symlink-directory",{fontCharacter:"\\eaed"}),s.fileSymlinkFile=new s("file-symlink-file",{fontCharacter:"\\eaee"}),s.fileZip=new s("file-zip",{fontCharacter:"\\eaef"}),s.files=new s("files",{fontCharacter:"\\eaf0"}),s.filter=new s("filter",{fontCharacter:"\\eaf1"}),s.flame=new s("flame",{fontCharacter:"\\eaf2"}),s.foldDown=new s("fold-down",{fontCharacter:"\\eaf3"}),s.foldUp=new s("fold-up",{fontCharacter:"\\eaf4"}),s.fold=new s("fold",{fontCharacter:"\\eaf5"}),s.folderActive=new s("folder-active",{fontCharacter:"\\eaf6"}),s.folderOpened=new s("folder-opened",{fontCharacter:"\\eaf7"}),s.gear=new s("gear",{fontCharacter:"\\eaf8"}),s.gift=new s("gift",{fontCharacter:"\\eaf9"}),s.gistSecret=new s("gist-secret",{fontCharacter:"\\eafa"}),s.gist=new s("gist",{fontCharacter:"\\eafb"}),s.gitCommit=new s("git-commit",{fontCharacter:"\\eafc"}),s.gitCompare=new s("git-compare",{fontCharacter:"\\eafd"}),s.gitMerge=new s("git-merge",{fontCharacter:"\\eafe"}),s.githubAction=new s("github-action",{fontCharacter:"\\eaff"}),s.githubAlt=new s("github-alt",{fontCharacter:"\\eb00"}),s.globe=new s("globe",{fontCharacter:"\\eb01"}),s.grabber=new s("grabber",{fontCharacter:"\\eb02"}),s.graph=new s("graph",{fontCharacter:"\\eb03"}),s.gripper=new s("gripper",{fontCharacter:"\\eb04"}),s.heart=new s("heart",{fontCharacter:"\\eb05"}),s.home=new s("home",{fontCharacter:"\\eb06"}),s.horizontalRule=new s("horizontal-rule",{fontCharacter:"\\eb07"}),s.hubot=new s("hubot",{fontCharacter:"\\eb08"}),s.inbox=new s("inbox",{fontCharacter:"\\eb09"}),s.issueClosed=new s("issue-closed",{fontCharacter:"\\eba4"}),s.issueReopened=new s("issue-reopened",{fontCharacter:"\\eb0b"}),s.issues=new s("issues",{fontCharacter:"\\eb0c"}),s.italic=new s("italic",{fontCharacter:"\\eb0d"}),s.jersey=new s("jersey",{fontCharacter:"\\eb0e"}),s.json=new s("json",{fontCharacter:"\\eb0f"}),s.kebabVertical=new s("kebab-vertical",{fontCharacter:"\\eb10"}),s.key=new s("key",{fontCharacter:"\\eb11"}),s.law=new s("law",{fontCharacter:"\\eb12"}),s.lightbulbAutofix=new s("lightbulb-autofix",{fontCharacter:"\\eb13"}),s.linkExternal=new s("link-external",{fontCharacter:"\\eb14"}),s.link=new s("link",{fontCharacter:"\\eb15"}),s.listOrdered=new s("list-ordered",{fontCharacter:"\\eb16"}),s.listUnordered=new s("list-unordered",{fontCharacter:"\\eb17"}),s.liveShare=new s("live-share",{fontCharacter:"\\eb18"}),s.loading=new s("loading",{fontCharacter:"\\eb19"}),s.location=new s("location",{fontCharacter:"\\eb1a"}),s.mailRead=new s("mail-read",{fontCharacter:"\\eb1b"}),s.mail=new s("mail",{fontCharacter:"\\eb1c"}),s.markdown=new s("markdown",{fontCharacter:"\\eb1d"}),s.megaphone=new s("megaphone",{fontCharacter:"\\eb1e"}),s.mention=new s("mention",{fontCharacter:"\\eb1f"}),s.milestone=new s("milestone",{fontCharacter:"\\eb20"}),s.mortarBoard=new s("mortar-board",{fontCharacter:"\\eb21"}),s.move=new s("move",{fontCharacter:"\\eb22"}),s.multipleWindows=new s("multiple-windows",{fontCharacter:"\\eb23"}),s.mute=new s("mute",{fontCharacter:"\\eb24"}),s.noNewline=new s("no-newline",{fontCharacter:"\\eb25"}),s.note=new s("note",{fontCharacter:"\\eb26"}),s.octoface=new s("octoface",{fontCharacter:"\\eb27"}),s.openPreview=new s("open-preview",{fontCharacter:"\\eb28"}),s.package_=new s("package",{fontCharacter:"\\eb29"}),s.paintcan=new s("paintcan",{fontCharacter:"\\eb2a"}),s.pin=new s("pin",{fontCharacter:"\\eb2b"}),s.play=new s("play",{fontCharacter:"\\eb2c"}),s.run=new s("run",{fontCharacter:"\\eb2c"}),s.plug=new s("plug",{fontCharacter:"\\eb2d"}),s.preserveCase=new s("preserve-case",{fontCharacter:"\\eb2e"}),s.preview=new s("preview",{fontCharacter:"\\eb2f"}),s.project=new s("project",{fontCharacter:"\\eb30"}),s.pulse=new s("pulse",{fontCharacter:"\\eb31"}),s.question=new s("question",{fontCharacter:"\\eb32"}),s.quote=new s("quote",{fontCharacter:"\\eb33"}),s.radioTower=new s("radio-tower",{fontCharacter:"\\eb34"}),s.reactions=new s("reactions",{fontCharacter:"\\eb35"}),s.references=new s("references",{fontCharacter:"\\eb36"}),s.refresh=new s("refresh",{fontCharacter:"\\eb37"}),s.regex=new s("regex",{fontCharacter:"\\eb38"}),s.remoteExplorer=new s("remote-explorer",{fontCharacter:"\\eb39"}),s.remote=new s("remote",{fontCharacter:"\\eb3a"}),s.remove=new s("remove",{fontCharacter:"\\eb3b"}),s.replaceAll=new s("replace-all",{fontCharacter:"\\eb3c"}),s.replace=new s("replace",{fontCharacter:"\\eb3d"}),s.repoClone=new s("repo-clone",{fontCharacter:"\\eb3e"}),s.repoForcePush=new s("repo-force-push",{fontCharacter:"\\eb3f"}),s.repoPull=new s("repo-pull",{fontCharacter:"\\eb40"}),s.repoPush=new s("repo-push",{fontCharacter:"\\eb41"}),s.report=new s("report",{fontCharacter:"\\eb42"}),s.requestChanges=new s("request-changes",{fontCharacter:"\\eb43"}),s.rocket=new s("rocket",{fontCharacter:"\\eb44"}),s.rootFolderOpened=new s("root-folder-opened",{fontCharacter:"\\eb45"}),s.rootFolder=new s("root-folder",{fontCharacter:"\\eb46"}),s.rss=new s("rss",{fontCharacter:"\\eb47"}),s.ruby=new s("ruby",{fontCharacter:"\\eb48"}),s.saveAll=new s("save-all",{fontCharacter:"\\eb49"}),s.saveAs=new s("save-as",{fontCharacter:"\\eb4a"}),s.save=new s("save",{fontCharacter:"\\eb4b"}),s.screenFull=new s("screen-full",{fontCharacter:"\\eb4c"}),s.screenNormal=new s("screen-normal",{fontCharacter:"\\eb4d"}),s.searchStop=new s("search-stop",{fontCharacter:"\\eb4e"}),s.server=new s("server",{fontCharacter:"\\eb50"}),s.settingsGear=new s("settings-gear",{fontCharacter:"\\eb51"}),s.settings=new s("settings",{fontCharacter:"\\eb52"}),s.shield=new s("shield",{fontCharacter:"\\eb53"}),s.smiley=new s("smiley",{fontCharacter:"\\eb54"}),s.sortPrecedence=new s("sort-precedence",{fontCharacter:"\\eb55"}),s.splitHorizontal=new s("split-horizontal",{fontCharacter:"\\eb56"}),s.splitVertical=new s("split-vertical",{fontCharacter:"\\eb57"}),s.squirrel=new s("squirrel",{fontCharacter:"\\eb58"}),s.starFull=new s("star-full",{fontCharacter:"\\eb59"}),s.starHalf=new s("star-half",{fontCharacter:"\\eb5a"}),s.symbolClass=new s("symbol-class",{fontCharacter:"\\eb5b"}),s.symbolColor=new s("symbol-color",{fontCharacter:"\\eb5c"}),s.symbolConstant=new s("symbol-constant",{fontCharacter:"\\eb5d"}),s.symbolEnumMember=new s("symbol-enum-member",{fontCharacter:"\\eb5e"}),s.symbolField=new s("symbol-field",{fontCharacter:"\\eb5f"}),s.symbolFile=new s("symbol-file",{fontCharacter:"\\eb60"}),s.symbolInterface=new s("symbol-interface",{fontCharacter:"\\eb61"}),s.symbolKeyword=new s("symbol-keyword",{fontCharacter:"\\eb62"}),s.symbolMisc=new s("symbol-misc",{fontCharacter:"\\eb63"}),s.symbolOperator=new s("symbol-operator",{fontCharacter:"\\eb64"}),s.symbolProperty=new s("symbol-property",{fontCharacter:"\\eb65"}),s.wrench=new s("wrench",{fontCharacter:"\\eb65"}),s.wrenchSubaction=new s("wrench-subaction",{fontCharacter:"\\eb65"}),s.symbolSnippet=new s("symbol-snippet",{fontCharacter:"\\eb66"}),s.tasklist=new s("tasklist",{fontCharacter:"\\eb67"}),s.telescope=new s("telescope",{fontCharacter:"\\eb68"}),s.textSize=new s("text-size",{fontCharacter:"\\eb69"}),s.threeBars=new s("three-bars",{fontCharacter:"\\eb6a"}),s.thumbsdown=new s("thumbsdown",{fontCharacter:"\\eb6b"}),s.thumbsup=new s("thumbsup",{fontCharacter:"\\eb6c"}),s.tools=new s("tools",{fontCharacter:"\\eb6d"}),s.triangleDown=new s("triangle-down",{fontCharacter:"\\eb6e"}),s.triangleLeft=new s("triangle-left",{fontCharacter:"\\eb6f"}),s.triangleRight=new s("triangle-right",{fontCharacter:"\\eb70"}),s.triangleUp=new s("triangle-up",{fontCharacter:"\\eb71"}),s.twitter=new s("twitter",{fontCharacter:"\\eb72"}),s.unfold=new s("unfold",{fontCharacter:"\\eb73"}),s.unlock=new s("unlock",{fontCharacter:"\\eb74"}),s.unmute=new s("unmute",{fontCharacter:"\\eb75"}),s.unverified=new s("unverified",{fontCharacter:"\\eb76"}),s.verified=new s("verified",{fontCharacter:"\\eb77"}),s.versions=new s("versions",{fontCharacter:"\\eb78"}),s.vmActive=new s("vm-active",{fontCharacter:"\\eb79"}),s.vmOutline=new s("vm-outline",{fontCharacter:"\\eb7a"}),s.vmRunning=new s("vm-running",{fontCharacter:"\\eb7b"}),s.watch=new s("watch",{fontCharacter:"\\eb7c"}),s.whitespace=new s("whitespace",{fontCharacter:"\\eb7d"}),s.wholeWord=new s("whole-word",{fontCharacter:"\\eb7e"}),s.window=new s("window",{fontCharacter:"\\eb7f"}),s.wordWrap=new s("word-wrap",{fontCharacter:"\\eb80"}),s.zoomIn=new s("zoom-in",{fontCharacter:"\\eb81"}),s.zoomOut=new s("zoom-out",{fontCharacter:"\\eb82"}),s.listFilter=new s("list-filter",{fontCharacter:"\\eb83"}),s.listFlat=new s("list-flat",{fontCharacter:"\\eb84"}),s.listSelection=new s("list-selection",{fontCharacter:"\\eb85"}),s.selection=new s("selection",{fontCharacter:"\\eb85"}),s.listTree=new s("list-tree",{fontCharacter:"\\eb86"}),s.debugBreakpointFunctionUnverified=new s("debug-breakpoint-function-unverified",{fontCharacter:"\\eb87"}),s.debugBreakpointFunction=new s("debug-breakpoint-function",{fontCharacter:"\\eb88"}),s.debugBreakpointFunctionDisabled=new s("debug-breakpoint-function-disabled",{fontCharacter:"\\eb88"}),s.debugStackframeActive=new s("debug-stackframe-active",{fontCharacter:"\\eb89"}),s.debugStackframeDot=new s("debug-stackframe-dot",{fontCharacter:"\\eb8a"}),s.debugStackframe=new s("debug-stackframe",{fontCharacter:"\\eb8b"}),s.debugStackframeFocused=new s("debug-stackframe-focused",{fontCharacter:"\\eb8b"}),s.debugBreakpointUnsupported=new s("debug-breakpoint-unsupported",{fontCharacter:"\\eb8c"}),s.symbolString=new s("symbol-string",{fontCharacter:"\\eb8d"}),s.debugReverseContinue=new s("debug-reverse-continue",{fontCharacter:"\\eb8e"}),s.debugStepBack=new s("debug-step-back",{fontCharacter:"\\eb8f"}),s.debugRestartFrame=new s("debug-restart-frame",{fontCharacter:"\\eb90"}),s.callIncoming=new s("call-incoming",{fontCharacter:"\\eb92"}),s.callOutgoing=new s("call-outgoing",{fontCharacter:"\\eb93"}),s.menu=new s("menu",{fontCharacter:"\\eb94"}),s.expandAll=new s("expand-all",{fontCharacter:"\\eb95"}),s.feedback=new s("feedback",{fontCharacter:"\\eb96"}),s.groupByRefType=new s("group-by-ref-type",{fontCharacter:"\\eb97"}),s.ungroupByRefType=new s("ungroup-by-ref-type",{fontCharacter:"\\eb98"}),s.account=new s("account",{fontCharacter:"\\eb99"}),s.bellDot=new s("bell-dot",{fontCharacter:"\\eb9a"}),s.debugConsole=new s("debug-console",{fontCharacter:"\\eb9b"}),s.library=new s("library",{fontCharacter:"\\eb9c"}),s.output=new s("output",{fontCharacter:"\\eb9d"}),s.runAll=new s("run-all",{fontCharacter:"\\eb9e"}),s.syncIgnored=new s("sync-ignored",{fontCharacter:"\\eb9f"}),s.pinned=new s("pinned",{fontCharacter:"\\eba0"}),s.githubInverted=new s("github-inverted",{fontCharacter:"\\eba1"}),s.debugAlt=new s("debug-alt",{fontCharacter:"\\eb91"}),s.serverProcess=new s("server-process",{fontCharacter:"\\eba2"}),s.serverEnvironment=new s("server-environment",{fontCharacter:"\\eba3"}),s.pass=new s("pass",{fontCharacter:"\\eba4"}),s.stopCircle=new s("stop-circle",{fontCharacter:"\\eba5"}),s.playCircle=new s("play-circle",{fontCharacter:"\\eba6"}),s.record=new s("record",{fontCharacter:"\\eba7"}),s.debugAltSmall=new s("debug-alt-small",{fontCharacter:"\\eba8"}),s.vmConnect=new s("vm-connect",{fontCharacter:"\\eba9"}),s.cloud=new s("cloud",{fontCharacter:"\\ebaa"}),s.merge=new s("merge",{fontCharacter:"\\ebab"}),s.exportIcon=new s("export",{fontCharacter:"\\ebac"}),s.graphLeft=new s("graph-left",{fontCharacter:"\\ebad"}),s.magnet=new s("magnet",{fontCharacter:"\\ebae"}),s.notebook=new s("notebook",{fontCharacter:"\\ebaf"}),s.redo=new s("redo",{fontCharacter:"\\ebb0"}),s.checkAll=new s("check-all",{fontCharacter:"\\ebb1"}),s.pinnedDirty=new s("pinned-dirty",{fontCharacter:"\\ebb2"}),s.passFilled=new s("pass-filled",{fontCharacter:"\\ebb3"}),s.circleLargeFilled=new s("circle-large-filled",{fontCharacter:"\\ebb4"}),s.circleLargeOutline=new s("circle-large-outline",{fontCharacter:"\\ebb5"}),s.combine=new s("combine",{fontCharacter:"\\ebb6"}),s.gather=new s("gather",{fontCharacter:"\\ebb6"}),s.table=new s("table",{fontCharacter:"\\ebb7"}),s.variableGroup=new s("variable-group",{fontCharacter:"\\ebb8"}),s.typeHierarchy=new s("type-hierarchy",{fontCharacter:"\\ebb9"}),s.typeHierarchySub=new s("type-hierarchy-sub",{fontCharacter:"\\ebba"}),s.typeHierarchySuper=new s("type-hierarchy-super",{fontCharacter:"\\ebbb"}),s.gitPullRequestCreate=new s("git-pull-request-create",{fontCharacter:"\\ebbc"}),s.runAbove=new s("run-above",{fontCharacter:"\\ebbd"}),s.runBelow=new s("run-below",{fontCharacter:"\\ebbe"}),s.notebookTemplate=new s("notebook-template",{fontCharacter:"\\ebbf"}),s.debugRerun=new s("debug-rerun",{fontCharacter:"\\ebc0"}),s.workspaceTrusted=new s("workspace-trusted",{fontCharacter:"\\ebc1"}),s.workspaceUntrusted=new s("workspace-untrusted",{fontCharacter:"\\ebc2"}),s.workspaceUnspecified=new s("workspace-unspecified",{fontCharacter:"\\ebc3"}),s.terminalCmd=new s("terminal-cmd",{fontCharacter:"\\ebc4"}),s.terminalDebian=new s("terminal-debian",{fontCharacter:"\\ebc5"}),s.terminalLinux=new s("terminal-linux",{fontCharacter:"\\ebc6"}),s.terminalPowershell=new s("terminal-powershell",{fontCharacter:"\\ebc7"}),s.terminalTmux=new s("terminal-tmux",{fontCharacter:"\\ebc8"}),s.terminalUbuntu=new s("terminal-ubuntu",{fontCharacter:"\\ebc9"}),s.terminalBash=new s("terminal-bash",{fontCharacter:"\\ebca"}),s.arrowSwap=new s("arrow-swap",{fontCharacter:"\\ebcb"}),s.copy=new s("copy",{fontCharacter:"\\ebcc"}),s.personAdd=new s("person-add",{fontCharacter:"\\ebcd"}),s.filterFilled=new s("filter-filled",{fontCharacter:"\\ebce"}),s.wand=new s("wand",{fontCharacter:"\\ebcf"}),s.debugLineByLine=new s("debug-line-by-line",{fontCharacter:"\\ebd0"}),s.inspect=new s("inspect",{fontCharacter:"\\ebd1"}),s.layers=new s("layers",{fontCharacter:"\\ebd2"}),s.layersDot=new s("layers-dot",{fontCharacter:"\\ebd3"}),s.layersActive=new s("layers-active",{fontCharacter:"\\ebd4"}),s.compass=new s("compass",{fontCharacter:"\\ebd5"}),s.compassDot=new s("compass-dot",{fontCharacter:"\\ebd6"}),s.compassActive=new s("compass-active",{fontCharacter:"\\ebd7"}),s.azure=new s("azure",{fontCharacter:"\\ebd8"}),s.issueDraft=new s("issue-draft",{fontCharacter:"\\ebd9"}),s.gitPullRequestClosed=new s("git-pull-request-closed",{fontCharacter:"\\ebda"}),s.gitPullRequestDraft=new s("git-pull-request-draft",{fontCharacter:"\\ebdb"}),s.debugAll=new s("debug-all",{fontCharacter:"\\ebdc"}),s.debugCoverage=new s("debug-coverage",{fontCharacter:"\\ebdd"}),s.runErrors=new s("run-errors",{fontCharacter:"\\ebde"}),s.folderLibrary=new s("folder-library",{fontCharacter:"\\ebdf"}),s.debugContinueSmall=new s("debug-continue-small",{fontCharacter:"\\ebe0"}),s.beakerStop=new s("beaker-stop",{fontCharacter:"\\ebe1"}),s.graphLine=new s("graph-line",{fontCharacter:"\\ebe2"}),s.graphScatter=new s("graph-scatter",{fontCharacter:"\\ebe3"}),s.pieChart=new s("pie-chart",{fontCharacter:"\\ebe4"}),s.bracket=new s("bracket",s.json.definition),s.bracketDot=new s("bracket-dot",{fontCharacter:"\\ebe5"}),s.bracketError=new s("bracket-error",{fontCharacter:"\\ebe6"}),s.lockSmall=new s("lock-small",{fontCharacter:"\\ebe7"}),s.azureDevops=new s("azure-devops",{fontCharacter:"\\ebe8"}),s.verifiedFilled=new s("verified-filled",{fontCharacter:"\\ebe9"})}(L||(L={}))},79881:function(tr,qe,ae){"use strict";ae.d(qe,{B8:function(){return c},Cp:function(){return D},F0:function(){return b},L6:function(){return T},VV:function(){return L},b1:function(){return s},dL:function(){return X},ri:function(){return W}});class ee{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(f){setTimeout(()=>{throw f.stack?new Error(f.message+`
`+f.stack):f},0)}}emit(f){this.listeners.forEach(i=>{i(f)})}onUnexpectedError(f){this.unexpectedErrorHandler(f),this.emit(f)}onUnexpectedExternalError(f){this.unexpectedErrorHandler(f)}}const te=new ee;function X(u){L(u)||te.onUnexpectedError(u)}function D(u){L(u)||te.onUnexpectedExternalError(u)}function W(u){if(u instanceof Error){let{name:f,message:i}=u;const o=u.stacktrace||u.stack;return{$isError:!0,name:f,message:i,stack:o}}return u}const y="Canceled";function L(u){return u instanceof Error&&u.name===y&&u.message===y}function b(){const u=new Error(y);return u.name=u.message,u}function s(u){return u?new Error(`Illegal argument: ${u}`):new Error("Illegal argument")}function T(u){return u?new Error(`Illegal state: ${u}`):new Error("Illegal state")}class c extends Error{constructor(f){super("NotSupported"),f&&(this.message=f)}}},4348:function(tr,qe,ae){"use strict";ae.d(qe,{D0:function(){return c},E7:function(){return u},K3:function(){return T},Q5:function(){return s},ZD:function(){return f},ju:function(){return W}});var ee=ae(79881),te=ae(69323),X=ae(34502),D=ae(95830),W;(function(i){i.None=()=>te.JT.None;function o(F){return(K,U=null,V)=>{let C=!1,M;return M=F(z=>{if(!C)return M?M.dispose():C=!0,K.call(U,z)},null,V),C&&M.dispose(),M}}i.once=o;function d(F,K){return a((U,V=null,C)=>F(M=>U.call(V,K(M)),null,C))}i.map=d;function p(F,K){return a((U,V=null,C)=>F(M=>{K(M),U.call(V,M)},null,C))}i.forEach=p;function m(F,K){return a((U,V=null,C)=>F(M=>K(M)&&U.call(V,M),null,C))}i.filter=m;function h(F){return F}i.signal=h;function v(...F){return(K,U=null,V)=>(0,te.F8)(...F.map(C=>C(M=>K.call(U,M),null,V)))}i.any=v;function r(F,K,U){let V=U;return d(F,C=>(V=K(V,C),V))}i.reduce=r;function a(F){let K;const U=new s({onFirstListenerAdd(){K=F(U.fire,U)},onLastListenerRemove(){K.dispose()}});return U.event}function g(F,K,U=100,V=!1,C){let M,z,$,q=0;const se=new s({leakWarningThreshold:C,onFirstListenerAdd(){M=F(ue=>{q++,z=K(z,ue),V&&!$&&(se.fire(z),z=void 0),clearTimeout($),$=setTimeout(()=>{const pe=z;z=void 0,$=void 0,(!V||q>1)&&se.fire(pe),q=0},U)})},onLastListenerRemove(){M.dispose()}});return se.event}i.debounce=g;function E(F,K=(U,V)=>U===V){let U=!0,V;return m(F,C=>{const M=U||!K(C,V);return U=!1,V=C,M})}i.latch=E;function S(F,K){return[i.filter(F,K),i.filter(F,U=>!K(U))]}i.split=S;function w(F,K=!1,U=[]){let V=U.slice(),C=F($=>{V?V.push($):z.fire($)});const M=()=>{V&&V.forEach($=>z.fire($)),V=null},z=new s({onFirstListenerAdd(){C||(C=F($=>z.fire($)))},onFirstListenerDidAdd(){V&&(K?setTimeout(M):M())},onLastListenerRemove(){C&&C.dispose(),C=null}});return z.event}i.buffer=w;class R{constructor(K){this.event=K}map(K){return new R(d(this.event,K))}forEach(K){return new R(p(this.event,K))}filter(K){return new R(m(this.event,K))}reduce(K,U){return new R(r(this.event,K,U))}latch(){return new R(E(this.event))}debounce(K,U=100,V=!1,C){return new R(g(this.event,K,U,V,C))}on(K,U,V){return this.event(K,U,V)}once(K,U,V){return o(this.event)(K,U,V)}}function O(F){return new R(F)}i.chain=O;function G(F,K,U=V=>V){const V=(...$)=>z.fire(U(...$)),C=()=>F.on(K,V),M=()=>F.removeListener(K,V),z=new s({onFirstListenerAdd:C,onLastListenerRemove:M});return z.event}i.fromNodeEventEmitter=G;function B(F,K,U=V=>V){const V=(...$)=>z.fire(U(...$)),C=()=>F.addEventListener(K,V),M=()=>F.removeEventListener(K,V),z=new s({onFirstListenerAdd:C,onLastListenerRemove:M});return z.event}i.fromDOMEventEmitter=B;function P(F){return new Promise(K=>o(F)(K))}i.toPromise=P})(W||(W={}));class y{constructor(o){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${o}_${y._idPool++}`}start(o){this._stopWatch=new D.G(!0),this._listenerCount=o}stop(){if(this._stopWatch){const o=this._stopWatch.elapsed();this._elapsedOverall+=o,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${o.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}y._idPool=0;let L=-1;class b{constructor(o,d=Math.random().toString(18).slice(2,5)){this.customThreshold=o,this.name=d,this._warnCountdown=0}dispose(){this._stacks&&this._stacks.clear()}check(o){let d=L;if(typeof this.customThreshold=="number"&&(d=this.customThreshold),d<=0||o<d)return;this._stacks||(this._stacks=new Map);const p=new Error().stack.split(`
`).slice(3).join(`
`),m=this._stacks.get(p)||0;if(this._stacks.set(p,m+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=d*.5;let h,v=0;for(const[r,a]of this._stacks)(!h||v<a)&&(h=r,v=a);console.warn(`[${this.name}] potential listener LEAK detected, having ${o} listeners already. MOST frequent listener (${v}):`),console.warn(h)}return()=>{const h=this._stacks.get(p)||0;this._stacks.set(p,h-1)}}}class s{constructor(o){var d;this._disposed=!1,this._options=o,this._leakageMon=L>0?new b(this._options&&this._options.leakWarningThreshold):void 0,this._perfMon=!((d=this._options)===null||d===void 0)&&d._profName?new y(this._options._profName):void 0}get event(){return this._event||(this._event=(o,d,p)=>{var m;this._listeners||(this._listeners=new X.S);const h=this._listeners.isEmpty();h&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const v=this._listeners.push(d?[o,d]:o);h&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,o,d);const r=(m=this._leakageMon)===null||m===void 0?void 0:m.check(this._listeners.size),a=(0,te.OF)(()=>{r&&r(),this._disposed||(v(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return p instanceof te.SL?p.add(a):Array.isArray(p)&&p.push(a),a}),this._event}fire(o){var d,p;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new X.S);for(let m of this._listeners)this._deliveryQueue.push([m,o]);for((d=this._perfMon)===null||d===void 0||d.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[m,h]=this._deliveryQueue.shift();try{typeof m=="function"?m.call(void 0,h):m[0].call(m[1],h)}catch(v){(0,ee.dL)(v)}}(p=this._perfMon)===null||p===void 0||p.stop()}}dispose(){var o,d,p,m,h;this._disposed||(this._disposed=!0,(o=this._listeners)===null||o===void 0||o.clear(),(d=this._deliveryQueue)===null||d===void 0||d.clear(),(m=(p=this._options)===null||p===void 0?void 0:p.onLastListenerRemove)===null||m===void 0||m.call(p),(h=this._leakageMon)===null||h===void 0||h.dispose())}}class T extends s{constructor(o){super(o),this._isPaused=0,this._eventQueue=new X.S,this._mergeFn=o==null?void 0:o.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){const o=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(o))}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(o){this._listeners&&(this._isPaused!==0?this._eventQueue.push(o):super.fire(o))}}class c extends T{constructor(o){var d;super(o),this._delay=(d=o.delay)!==null&&d!==void 0?d:100}fire(o){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(o)}}class u{constructor(){this.buffers=[]}wrapEvent(o){return(d,p,m)=>o(h=>{const v=this.buffers[this.buffers.length-1];v?v.push(()=>d.call(p,h)):d.call(p,h)},void 0,m)}bufferEvents(o){const d=[];this.buffers.push(d);const p=o();return this.buffers.pop(),d.forEach(m=>m()),p}}class f{constructor(){this.listening=!1,this.inputEvent=W.None,this.inputEventListener=te.JT.None,this.emitter=new s({onFirstListenerDidAdd:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onLastListenerRemove:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(o){this.inputEvent=o,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=o(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}},17845:function(tr,qe,ae){"use strict";ae.d(qe,{I:function(){return ee}});function ee(te){const X=this;let D=!1,W;return function(){return D||(D=!0,W=te.apply(X,arguments)),W}}},88226:function(tr,qe,ae){"use strict";ae.d(qe,{$:function(){return ee}});var ee;(function(te){function X(v){return v&&typeof v=="object"&&typeof v[Symbol.iterator]=="function"}te.is=X;const D=Object.freeze([]);function W(){return D}te.empty=W;function*y(v){yield v}te.single=y;function L(v){return v||D}te.from=L;function b(v){return!v||v[Symbol.iterator]().next().done===!0}te.isEmpty=b;function s(v){return v[Symbol.iterator]().next().value}te.first=s;function T(v,r){for(const a of v)if(r(a))return!0;return!1}te.some=T;function c(v,r){for(const a of v)if(r(a))return a}te.find=c;function*u(v,r){for(const a of v)r(a)&&(yield a)}te.filter=u;function*f(v,r){let a=0;for(const g of v)yield r(g,a++)}te.map=f;function*i(...v){for(const r of v)for(const a of r)yield a}te.concat=i;function*o(v){for(const r of v)for(const a of r)yield a}te.concatNested=o;function d(v,r,a){let g=a;for(const E of v)g=r(g,E);return g}te.reduce=d;function*p(v,r,a=v.length){for(r<0&&(r+=v.length),a<0?a+=v.length:a>v.length&&(a=v.length);r<a;r++)yield v[r]}te.slice=p;function m(v,r=Number.POSITIVE_INFINITY){const a=[];if(r===0)return[a,v];const g=v[Symbol.iterator]();for(let E=0;E<r;E++){const S=g.next();if(S.done)return[a,te.empty()];a.push(S.value)}return[a,{[Symbol.iterator](){return g}}]}te.consume=m;function h(v,r,a=(g,E)=>g===E){const g=v[Symbol.iterator](),E=r[Symbol.iterator]();for(;;){const S=g.next(),w=E.next();if(S.done!==w.done)return!1;if(S.done)return!0;if(!a(S.value,w.value))return!1}}te.equals=h})(ee||(ee={}))},69323:function(tr,qe,ae){"use strict";ae.d(qe,{B9:function(){return f},F8:function(){return i},JT:function(){return p},Jz:function(){return h},OF:function(){return o},SL:function(){return d},Wf:function(){return u},XK:function(){return m},dk:function(){return T}});var ee=ae(17845),te=ae(88226);const X=!1;let D=null;function W(v){D=v}if(X){const v="__is_disposable_tracked__";W(new class{trackDisposable(r){const a=new Error("Potentially leaked disposable").stack;setTimeout(()=>{r[v]||console.log(a)},3e3)}setParent(r,a){if(r&&r!==p.None)try{r[v]=!0}catch(g){}}markAsDisposed(r){if(r&&r!==p.None)try{r[v]=!0}catch(a){}}markAsSingleton(r){}})}function y(v){return D==null||D.trackDisposable(v),v}function L(v){D==null||D.markAsDisposed(v)}function b(v,r){D==null||D.setParent(v,r)}function s(v,r){if(D)for(const a of v)D.setParent(a,r)}function T(v){return D==null||D.markAsSingleton(v),v}class c extends Error{constructor(r){super(`Encountered errors while disposing of store. Errors: [${r.join(", ")}]`),this.errors=r}}function u(v){return typeof v.dispose=="function"&&v.dispose.length===0}function f(v){if(te.$.is(v)){let r=[];for(const a of v)if(a)try{a.dispose()}catch(g){r.push(g)}if(r.length===1)throw r[0];if(r.length>1)throw new c(r);return Array.isArray(v)?[]:v}else if(v)return v.dispose(),v}function i(...v){const r=o(()=>f(v));return s(v,r),r}function o(v){const r=y({dispose:(0,ee.I)(()=>{L(r),v()})});return r}class d{constructor(){this._toDispose=new Set,this._isDisposed=!1,y(this)}dispose(){this._isDisposed||(L(this),this._isDisposed=!0,this.clear())}clear(){try{f(this._toDispose.values())}finally{this._toDispose.clear()}}add(r){if(!r)return r;if(r===this)throw new Error("Cannot register a disposable on itself!");return b(r,this),this._isDisposed?d.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(r),r}}d.DISABLE_DISPOSED_WARNING=!1;class p{constructor(){this._store=new d,y(this),b(this._store,this)}dispose(){L(this),this._store.dispose()}_register(r){if(r===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(r)}}p.None=Object.freeze({dispose(){}});class m{constructor(){this._isDisposed=!1,y(this)}get value(){return this._isDisposed?void 0:this._value}set value(r){var a;this._isDisposed||r===this._value||((a=this._value)===null||a===void 0||a.dispose(),r&&b(r,this),this._value=r)}clear(){this.value=void 0}dispose(){var r;this._isDisposed=!0,L(this),(r=this._value)===null||r===void 0||r.dispose(),this._value=void 0}clearAndLeak(){const r=this._value;return this._value=void 0,r&&b(r,null),r}}class h{constructor(r){this.object=r}dispose(){}}},34502:function(tr,qe,ae){"use strict";ae.d(qe,{S:function(){return te}});class ee{constructor(D){this.element=D,this.next=ee.Undefined,this.prev=ee.Undefined}}ee.Undefined=new ee(void 0);class te{constructor(){this._first=ee.Undefined,this._last=ee.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===ee.Undefined}clear(){let D=this._first;for(;D!==ee.Undefined;){const W=D.next;D.prev=ee.Undefined,D.next=ee.Undefined,D=W}this._first=ee.Undefined,this._last=ee.Undefined,this._size=0}unshift(D){return this._insert(D,!1)}push(D){return this._insert(D,!0)}_insert(D,W){const y=new ee(D);if(this._first===ee.Undefined)this._first=y,this._last=y;else if(W){const b=this._last;this._last=y,y.prev=b,b.next=y}else{const b=this._first;this._first=y,y.next=b,b.prev=y}this._size+=1;let L=!1;return()=>{L||(L=!0,this._remove(y))}}shift(){if(this._first!==ee.Undefined){const D=this._first.element;return this._remove(this._first),D}}pop(){if(this._last!==ee.Undefined){const D=this._last.element;return this._remove(this._last),D}}_remove(D){if(D.prev!==ee.Undefined&&D.next!==ee.Undefined){const W=D.prev;W.next=D.next,D.next.prev=W}else D.prev===ee.Undefined&&D.next===ee.Undefined?(this._first=ee.Undefined,this._last=ee.Undefined):D.next===ee.Undefined?(this._last=this._last.prev,this._last.next=ee.Undefined):D.prev===ee.Undefined&&(this._first=this._first.next,this._first.prev=ee.Undefined);this._size-=1}*[Symbol.iterator](){let D=this._first;for(;D!==ee.Undefined;)yield D.element,D=D.next}}},23345:function(tr,qe,ae){"use strict";ae.d(qe,{$L:function(){return g},ED:function(){return h},IJ:function(){return r},OS:function(){return R},WE:function(){return S},dz:function(){return v},gn:function(){return E},li:function(){return o},r:function(){return B},tY:function(){return a},xS:function(){return w}});var ee=ae(97671),te;const X="en";let D=!1,W=!1,y=!1,L=!1,b=!1,s=!1,T=!1,c,u=null,f=null,i;const o=typeof self=="object"?self:typeof ae.g=="object"?ae.g:{};let d;typeof o.vscode!="undefined"&&typeof o.vscode.process!="undefined"?d=o.vscode.process:typeof ee!="undefined"&&(d=ee);const p=typeof((te=d==null?void 0:d.versions)===null||te===void 0?void 0:te.electron)=="string"&&d.type==="renderer";if(typeof navigator=="object"&&!p)i=navigator.userAgent,D=i.indexOf("Windows")>=0,W=i.indexOf("Macintosh")>=0,T=(i.indexOf("Macintosh")>=0||i.indexOf("iPad")>=0||i.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,y=i.indexOf("Linux")>=0,s=!0,c=navigator.language,u=c;else if(typeof d=="object"){D=d.platform==="win32",W=d.platform==="darwin",y=d.platform==="linux",L=y&&!!d.env.SNAP&&!!d.env.SNAP_REVISION,c=X,u=X;const P=d.env.VSCODE_NLS_CONFIG;if(P)try{const F=JSON.parse(P),K=F.availableLanguages["*"];c=F.locale,u=K||X,f=F._translationsConfigFile}catch(F){}b=!0}else console.error("Unable to resolve platform.");let m=0;W?m=1:D?m=3:y&&(m=2);const h=D,v=W,r=y,a=b,g=s,E=T,S=i,w=function(){if(o.setImmediate)return o.setImmediate.bind(o);if(typeof o.postMessage=="function"&&!o.importScripts){let K=[];o.addEventListener("message",V=>{if(V.data&&V.data.vscodeSetImmediateId)for(let C=0,M=K.length;C<M;C++){const z=K[C];if(z.id===V.data.vscodeSetImmediateId){K.splice(C,1),z.callback();return}}});let U=0;return V=>{const C=++U;K.push({id:C,callback:V}),o.postMessage({vscodeSetImmediateId:C},"*")}}if(typeof(d==null?void 0:d.nextTick)=="function")return d.nextTick.bind(d);const F=Promise.resolve();return K=>F.then(K)}(),R=W||T?2:D?1:3;let O=!0,G=!1;function B(){if(!G){G=!0;const P=new Uint8Array(2);P[0]=1,P[1]=2,O=new Uint16Array(P.buffer)[0]===513}return O}},95830:function(tr,qe,ae){"use strict";ae.d(qe,{G:function(){return X}});var ee=ae(23345);const te=ee.li.performance&&typeof ee.li.performance.now=="function";class X{constructor(W){this._highResolution=te&&W,this._startTime=this._now(),this._stopTime=-1}static create(W=!0){return new X(W)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?ee.li.performance.now():Date.now()}}},82983:function(tr,qe,ae){"use strict";ae.d(qe,{$i:function(){return q},C8:function(){return De},GF:function(){return c},HO:function(){return U},IO:function(){return u},K7:function(){return Ee},Kw:function(){return xe},LC:function(){return o},Mh:function(){return w},P1:function(){return R},PJ:function(){return Ke},Qe:function(){return se},R1:function(){return T},RP:function(){return z},S6:function(){return Ce},TT:function(){return h},Ut:function(){return C},V8:function(){return d},WU:function(){return X},YK:function(){return G},YU:function(){return D},ZG:function(){return O},ZH:function(){return P},ab:function(){return ue},c1:function(){return Fe},df:function(){return g},ec:function(){return W},fi:function(){return Se},fy:function(){return y},j3:function(){return L},j_:function(){return r},m5:function(){return ee},mK:function(){return a},mr:function(){return f},oH:function(){return ve},oL:function(){return b},ok:function(){return S},ow:function(){return p},qq:function(){return E},qu:function(){return m},rL:function(){return B},uS:function(){return Ge},un:function(){return s},uq:function(){return i},vH:function(){return K},xe:function(){return pe},zY:function(){return v}});function ee(oe){return!oe||typeof oe!="string"?!0:oe.trim().length===0}const te=/{(\d+)}/g;function X(oe,...ie){return ie.length===0?oe:oe.replace(te,function(he,ye){const ce=parseInt(ye,10);return isNaN(ce)||ce<0||ce>=ie.length?he:ie[ce]})}function D(oe){return oe.replace(/[<>&]/g,function(ie){switch(ie){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";default:return ie}})}function W(oe){return oe.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function y(oe,ie=" "){const he=L(oe,ie);return b(he,ie)}function L(oe,ie){if(!oe||!ie)return oe;const he=ie.length;if(he===0||oe.length===0)return oe;let ye=0;for(;oe.indexOf(ie,ye)===ye;)ye=ye+he;return oe.substring(ye)}function b(oe,ie){if(!oe||!ie)return oe;const he=ie.length,ye=oe.length;if(he===0||ye===0)return oe;let ce=ye,Te=-1;for(;Te=oe.lastIndexOf(ie,ce-1),!(Te===-1||Te+he!==ce);){if(Te===0)return"";ce=Te}return oe.substring(0,ce)}function s(oe){return oe.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function T(oe){return oe.replace(/\*/g,"")}function c(oe,ie,he={}){if(!oe)throw new Error("Cannot create regex from empty string");ie||(oe=W(oe)),he.wholeWord&&(/\B/.test(oe.charAt(0))||(oe="\\b"+oe),/\B/.test(oe.charAt(oe.length-1))||(oe=oe+"\\b"));let ye="";return he.global&&(ye+="g"),he.matchCase||(ye+="i"),he.multiline&&(ye+="m"),he.unicode&&(ye+="u"),new RegExp(oe,ye)}function u(oe){return oe.source==="^"||oe.source==="^$"||oe.source==="$"||oe.source==="^\\s*$"?!1:!!(oe.exec("")&&oe.lastIndex===0)}function f(oe){return(oe.global?"g":"")+(oe.ignoreCase?"i":"")+(oe.multiline?"m":"")+(oe.unicode?"u":"")}function i(oe){return oe.split(/\r\n|\r|\n/)}function o(oe){for(let ie=0,he=oe.length;ie<he;ie++){const ye=oe.charCodeAt(ie);if(ye!==32&&ye!==9)return ie}return-1}function d(oe,ie=0,he=oe.length){for(let ye=ie;ye<he;ye++){const ce=oe.charCodeAt(ye);if(ce!==32&&ce!==9)return oe.substring(ie,ye)}return oe.substring(ie,he)}function p(oe,ie=oe.length-1){for(let he=ie;he>=0;he--){const ye=oe.charCodeAt(he);if(ye!==32&&ye!==9)return he}return-1}function m(oe,ie){return oe<ie?-1:oe>ie?1:0}function h(oe,ie,he=0,ye=oe.length,ce=0,Te=ie.length){for(;he<ye&&ce<Te;he++,ce++){let Xe=oe.charCodeAt(he),lt=ie.charCodeAt(ce);if(Xe<lt)return-1;if(Xe>lt)return 1}const Oe=ye-he,Be=Te-ce;return Oe<Be?-1:Oe>Be?1:0}function v(oe,ie){return r(oe,ie,0,oe.length,0,ie.length)}function r(oe,ie,he=0,ye=oe.length,ce=0,Te=ie.length){for(;he<ye&&ce<Te;he++,ce++){let Xe=oe.charCodeAt(he),lt=ie.charCodeAt(ce);if(Xe===lt)continue;if(Xe>=128||lt>=128)return h(oe.toLowerCase(),ie.toLowerCase(),he,ye,ce,Te);a(Xe)&&(Xe-=32),a(lt)&&(lt-=32);const _t=Xe-lt;if(_t!==0)return _t}const Oe=ye-he,Be=Te-ce;return Oe<Be?-1:Oe>Be?1:0}function a(oe){return oe>=97&&oe<=122}function g(oe){return oe>=65&&oe<=90}function E(oe,ie){return oe.length===ie.length&&r(oe,ie)===0}function S(oe,ie){const he=ie.length;return ie.length>oe.length?!1:r(oe,ie,0,he)===0}function w(oe,ie){let he,ye=Math.min(oe.length,ie.length);for(he=0;he<ye;he++)if(oe.charCodeAt(he)!==ie.charCodeAt(he))return he;return ye}function R(oe,ie){let he,ye=Math.min(oe.length,ie.length);const ce=oe.length-1,Te=ie.length-1;for(he=0;he<ye;he++)if(oe.charCodeAt(ce-he)!==ie.charCodeAt(Te-he))return he;return ye}function O(oe){return 55296<=oe&&oe<=56319}function G(oe){return 56320<=oe&&oe<=57343}function B(oe,ie){return(oe-55296<<10)+(ie-56320)+65536}function P(oe,ie,he){const ye=oe.charCodeAt(he);if(O(ye)&&he+1<ie){const ce=oe.charCodeAt(he+1);if(G(ce))return B(ye,ce)}return ye}function F(oe,ie){const he=oe.charCodeAt(ie-1);if(G(he)&&ie>1){const ye=oe.charCodeAt(ie-2);if(O(ye))return B(ye,he)}return he}function K(oe,ie){const he=ge.getInstance(),ye=ie,ce=oe.length,Te=P(oe,ce,ie);ie+=Te>=65536?2:1;let Oe=he.getGraphemeBreakType(Te);for(;ie<ce;){const Be=P(oe,ce,ie),Xe=he.getGraphemeBreakType(Be);if(Se(Oe,Xe))break;ie+=Be>=65536?2:1,Oe=Xe}return ie-ye}function U(oe,ie){const he=ge.getInstance(),ye=ie,ce=F(oe,ie);ie-=ce>=65536?2:1;let Te=he.getGraphemeBreakType(ce);for(;ie>0;){const Oe=F(oe,ie),Be=he.getGraphemeBreakType(Oe);if(Se(Be,Te))break;ie-=Oe>=65536?2:1,Te=Be}return ye-ie}const V=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;function C(oe){return V.test(oe)}const M=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD00-\uDDFF\uDE70-\uDED6])/;function z(oe){return M.test(oe)}const $=/^[\t\n\r\x20-\x7E]*$/;function q(oe){return $.test(oe)}const se=/[\u2028\u2029]/;function ue(oe){return se.test(oe)}function pe(oe){for(let ie=0,he=oe.length;ie<he;ie++)if(Ee(oe.charCodeAt(ie)))return!0;return!1}function Ee(oe){return oe=+oe,oe>=11904&&oe<=55215||oe>=63744&&oe<=64255||oe>=65281&&oe<=65374}function De(oe){return oe>=127462&&oe<=127487||oe===8986||oe===8987||oe===9200||oe===9203||oe>=9728&&oe<=10175||oe===11088||oe===11093||oe>=127744&&oe<=128591||oe>=128640&&oe<=128764||oe>=128992&&oe<=129003||oe>=129280&&oe<=129535||oe>=129648&&oe<=129750}const Fe="\uFEFF";function Ge(oe){return!!(oe&&oe.length>0&&oe.charCodeAt(0)===65279)}function xe(oe,ie=!1){return oe?(ie&&(oe=oe.replace(/\\./g,"")),oe.toLowerCase()!==oe):!1}function Ke(oe){return oe=oe%(2*26),oe<26?String.fromCharCode(97+oe):String.fromCharCode(65+oe-26)}function Ce(oe){return ge.getInstance().getGraphemeBreakType(oe)}function Se(oe,ie){return oe===0?ie!==5&&ie!==7:oe===2&&ie===3?!1:oe===4||oe===2||oe===3||ie===4||ie===2||ie===3?!0:!(oe===8&&(ie===8||ie===9||ie===11||ie===12)||(oe===11||oe===9)&&(ie===9||ie===10)||(oe===12||oe===10)&&ie===10||ie===5||ie===13||ie===7||oe===1||oe===13&&ie===14||oe===6&&ie===6)}class ge{constructor(){this._data=Re()}static getInstance(){return ge._INSTANCE||(ge._INSTANCE=new ge),ge._INSTANCE}getGraphemeBreakType(ie){if(ie<32)return ie===10?3:ie===13?2:4;if(ie<127)return 0;const he=this._data,ye=he.length/3;let ce=1;for(;ce<=ye;)if(ie<he[3*ce])ce=2*ce;else if(ie>he[3*ce+1])ce=2*ce+1;else return he[3*ce+2];return 0}}ge._INSTANCE=null;function Re(){return JSON.parse("[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]")}function ve(oe,ie){if(oe===0)return 0;const he=Le(oe,ie);if(he!==void 0)return he;const ye=F(ie,oe);return oe-=Ue(ye),oe}function Le(oe,ie){let he=F(ie,oe);for(oe-=Ue(he);me(he)||he===65039||he===8419;){if(oe===0)return;he=F(ie,oe),oe-=Ue(he)}if(De(he)){if(oe>=0){const ye=F(ie,oe);ye===8205&&(oe-=Ue(ye))}return oe}}function Ue(oe){return oe>=65536?2:1}function me(oe){return 127995<=oe&&oe<=127999}},72999:function(tr,qe,ae){"use strict";ae.d(qe,{$E:function(){return o},$K:function(){return L},D8:function(){return u},HD:function(){return te},IU:function(){return d},Jp:function(){return b},Kn:function(){return X},cW:function(){return T},f6:function(){return p},hj:function(){return D},jn:function(){return W},kJ:function(){return ee},mf:function(){return c},o8:function(){return y},p_:function(){return s},vE:function(){return m}});function ee(h){return Array.isArray(h)}function te(h){return typeof h=="string"}function X(h){return typeof h=="object"&&h!==null&&!Array.isArray(h)&&!(h instanceof RegExp)&&!(h instanceof Date)}function D(h){return typeof h=="number"&&!isNaN(h)}function W(h){return h===!0||h===!1}function y(h){return typeof h=="undefined"}function L(h){return!b(h)}function b(h){return y(h)||h===null}function s(h,v){if(!h)throw new Error(v?`Unexpected type, expected '${v}'`:"Unexpected type")}function T(h){if(b(h))throw new Error("Assertion Failed: argument is undefined or null");return h}function c(h){return typeof h=="function"}function u(h,v){const r=Math.min(h.length,v.length);for(let a=0;a<r;a++)f(h[a],v[a])}function f(h,v){if(te(v)){if(typeof h!==v)throw new Error(`argument does not match constraint: typeof ${v}`)}else if(c(v)){try{if(h instanceof v)return}catch(r){}if(!b(h)&&h.constructor===v||v.length===1&&v.call(void 0,h)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function i(h){let v=[],r=Object.getPrototypeOf(h);for(;Object.prototype!==r;)v=v.concat(Object.getOwnPropertyNames(r)),r=Object.getPrototypeOf(r);return v}function o(h){const v=[];for(const r of i(h))typeof h[r]=="function"&&v.push(r);return v}function d(h,v){const r=g=>function(){const E=Array.prototype.slice.call(arguments,0);return v(g,E)};let a={};for(const g of h)a[g]=r(g);return a}function p(h){return h===null?void 0:h}function m(h,v="Unreachable"){throw new Error(v)}},13268:function(tr,qe,ae){"use strict";ae.d(qe,{N:function(){return te}});function ee(X,D){let W;return D.length===0?W=X:W=X.replace(/\{(\d+)\}/g,function(y,L){const b=L[0];return typeof D[b]!="undefined"?D[b]:y}),W}function te(X,D,...W){return ee(D,W)}},96236:function(tr,qe,ae){"use strict";ae.d(qe,{BH:function(){return d},NZ:function(){return p},U8:function(){return m},co:function(){return o},eH:function(){return i},vr:function(){return f}});var ee=ae(75918),te=ae(52615),X=ae(4348),D=ae(88226),W=ae(69323),y=ae(34502),L=ae(35884),b=ae(90689),s=ae(16925),T=ae(49055),c=function(h,v,r,a){var g=arguments.length,E=g<3?v:a===null?a=Object.getOwnPropertyDescriptor(v,r):a,S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(h,v,r,a);else for(var w=h.length-1;w>=0;w--)(S=h[w])&&(E=(g<3?S(E):g>3?S(v,r,E):S(v,r))||E);return g>3&&E&&Object.defineProperty(v,r,E),E},u=function(h,v){return function(r,a){v(r,a,h)}};function f(h){return h.command!==void 0}class i{constructor(v){this.id=i._idPool++,this._debugName=v}}i._idPool=0,i.CommandPalette=new i("CommandPalette"),i.EditorContext=new i("EditorContext"),i.SimpleEditorContext=new i("SimpleEditorContext"),i.EditorContextCopy=new i("EditorContextCopy"),i.EditorContextPeek=new i("EditorContextPeek"),i.MenubarEditMenu=new i("MenubarEditMenu"),i.MenubarCopy=new i("MenubarCopy"),i.MenubarGoMenu=new i("MenubarGoMenu"),i.MenubarSelectionMenu=new i("MenubarSelectionMenu"),i.InlineCompletionsActions=new i("InlineCompletionsActions");const o=(0,s.yh)("menuService"),d=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new X.Q5,this.onDidChangeMenu=this._onDidChangeMenu.event,this._commandPaletteChangeEvent={has:h=>h===i.CommandPalette}}addCommand(h){return this.addCommands(D.$.single(h))}addCommands(h){for(const v of h)this._commands.set(v.id,v);return this._onDidChangeMenu.fire(this._commandPaletteChangeEvent),(0,W.OF)(()=>{let v=!1;for(const r of h)v=this._commands.delete(r.id)||v;v&&this._onDidChangeMenu.fire(this._commandPaletteChangeEvent)})}getCommand(h){return this._commands.get(h)}getCommands(){const h=new Map;return this._commands.forEach((v,r)=>h.set(r,v)),h}appendMenuItem(h,v){return this.appendMenuItems(D.$.single({id:h,item:v}))}appendMenuItems(h){const v=new Set,r=new y.S;for(const{id:a,item:g}of h){let E=this._menuItems.get(a);E||(E=new y.S,this._menuItems.set(a,E)),r.push(E.push(g)),v.add(a)}return this._onDidChangeMenu.fire(v),(0,W.OF)(()=>{if(r.size>0){for(let a of r)a();this._onDidChangeMenu.fire(v),r.clear()}})}getMenuItems(h){let v;return this._menuItems.has(h)?v=[...this._menuItems.get(h)]:v=[],h===i.CommandPalette&&this._appendImplicitItems(v),v}_appendImplicitItems(h){const v=new Set;for(const r of h)f(r)&&(v.add(r.command.id),r.alt&&v.add(r.alt.id));this._commands.forEach((r,a)=>{v.has(a)||h.push({command:r})})}};class p extends ee.wY{constructor(v,r,a,g){super(`submenuitem.${v.submenu.id}`,typeof v.title=="string"?v.title:v.title.value,[],"submenu"),this.item=v,this._menuService=r,this._contextKeyService=a,this._options=g}get actions(){const v=[],r=this._menuService.createMenu(this.item.submenu,this._contextKeyService),a=r.getActions(this._options);r.dispose();for(const[,g]of a)g.length>0&&(v.push(...g),v.push(new ee.Z0));return v.length&&v.pop(),v}}let m=class bl{constructor(v,r,a,g,E){var S,w;if(this._commandService=E,this.id=v.id,this.label=a!=null&&a.renderShortTitle&&v.shortTitle?typeof v.shortTitle=="string"?v.shortTitle:v.shortTitle.value:typeof v.title=="string"?v.title:v.title.value,this.tooltip=(w=typeof v.tooltip=="string"?v.tooltip:(S=v.tooltip)===null||S===void 0?void 0:S.value)!==null&&w!==void 0?w:"",this.enabled=!v.precondition||g.contextMatchesRules(v.precondition),this.checked=void 0,v.toggled){const R=v.toggled.condition?v.toggled:{condition:v.toggled};this.checked=g.contextMatchesRules(R.condition),this.checked&&R.tooltip&&(this.tooltip=typeof R.tooltip=="string"?R.tooltip:R.tooltip.value),R.title&&(this.label=typeof R.title=="string"?R.title:R.title.value)}this.item=v,this.alt=r?new bl(r,void 0,a,g,E):void 0,this._options=a,T.kS.isThemeIcon(v.icon)&&(this.class=te.dT.asClassName(v.icon))}dispose(){}run(...v){var r,a;let g=[];return!((r=this._options)===null||r===void 0)&&r.arg&&(g=[...g,this._options.arg]),!((a=this._options)===null||a===void 0)&&a.shouldForwardArgs&&(g=[...g,...v]),this._commandService.executeCommand(this.id,...g)}};m=c([u(3,b.i6),u(4,L.H)],m)},35884:function(tr,qe,ae){"use strict";ae.d(qe,{H:function(){return L},P:function(){return b}});var ee=ae(4348),te=ae(88226),X=ae(69323),D=ae(34502),W=ae(72999),y=ae(16925);const L=(0,y.yh)("commandService"),b=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new ee.Q5,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(s,T){if(!s)throw new Error("invalid command");if(typeof s=="string"){if(!T)throw new Error("invalid command");return this.registerCommand({id:s,handler:T})}if(s.description){const o=[];for(let p of s.description.args)o.push(p.constraint);const d=s.handler;s.handler=function(p,...m){return(0,W.D8)(m,o),d(p,...m)}}const{id:c}=s;let u=this._commands.get(c);u||(u=new D.S,this._commands.set(c,u));let f=u.unshift(s),i=(0,X.OF)(()=>{f();const o=this._commands.get(c);o!=null&&o.isEmpty()&&this._commands.delete(c)});return this._onDidRegisterCommand.fire(c),i}registerCommandAlias(s,T){return b.registerCommand(s,(c,...u)=>c.get(L).executeCommand(T,...u))}getCommand(s){const T=this._commands.get(s);if(!(!T||T.isEmpty()))return te.$.first(T)}getCommands(){const s=new Map;for(const T of this._commands.keys()){const c=this.getCommand(T);c&&s.set(T,c)}return s}};b.registerCommand("noop",()=>{})},90689:function(tr,qe,ae){"use strict";ae.d(qe,{Ao:function(){return L},Eq:function(){return B},Fb:function(){return b},K8:function(){return K},i6:function(){return G},uy:function(){return O}});var ee=ae(23345),te=ae(82983),X=ae(16925);let D=ee.WE||"";const W=new Map;W.set("false",!1),W.set("true",!0),W.set("isMac",ee.dz),W.set("isLinux",ee.IJ),W.set("isWindows",ee.ED),W.set("isWeb",ee.$L),W.set("isMacNative",ee.dz&&!ee.$L),W.set("isEdge",D.indexOf("Edg/")>=0),W.set("isFirefox",D.indexOf("Firefox")>=0),W.set("isChrome",D.indexOf("Chrome")>=0),W.set("isSafari",D.indexOf("Safari")>=0);const y=Object.prototype.hasOwnProperty;class L{static has(C){return u.create(C)}static equals(C,M){return f.create(C,M)}static regex(C,M){return g.create(C,M)}static not(C){return p.create(C)}static and(...C){return w.create(C,null)}static or(...C){return R.create(C,null,!0)}static deserialize(C,M=!1){if(C)return this._deserializeOrExpression(C,M)}static _deserializeOrExpression(C,M){let z=C.split("||");return R.create(z.map($=>this._deserializeAndExpression($,M)),null,!0)}static _deserializeAndExpression(C,M){let z=C.split("&&");return w.create(z.map($=>this._deserializeOne($,M)),null)}static _deserializeOne(C,M){if(C=C.trim(),C.indexOf("!=")>=0){let z=C.split("!=");return d.create(z[0].trim(),this._deserializeValue(z[1],M))}if(C.indexOf("==")>=0){let z=C.split("==");return f.create(z[0].trim(),this._deserializeValue(z[1],M))}if(C.indexOf("=~")>=0){let z=C.split("=~");return g.create(z[0].trim(),this._deserializeRegexValue(z[1],M))}if(C.indexOf(" in ")>=0){let z=C.split(" in ");return i.create(z[0].trim(),z[1].trim())}if(/^[^<=>]+>=[^<=>]+$/.test(C)){const z=C.split(">=");return v.create(z[0].trim(),z[1].trim())}if(/^[^<=>]+>[^<=>]+$/.test(C)){const z=C.split(">");return h.create(z[0].trim(),z[1].trim())}if(/^[^<=>]+<=[^<=>]+$/.test(C)){const z=C.split("<=");return a.create(z[0].trim(),z[1].trim())}if(/^[^<=>]+<[^<=>]+$/.test(C)){const z=C.split("<");return r.create(z[0].trim(),z[1].trim())}return/^\!\s*/.test(C)?p.create(C.substr(1).trim()):u.create(C)}static _deserializeValue(C,M){if(C=C.trim(),C==="true")return!0;if(C==="false")return!1;let z=/^'([^']*)'$/.exec(C);return z?z[1].trim():C}static _deserializeRegexValue(C,M){if((0,te.m5)(C)){if(M)throw new Error("missing regexp-value for =~-expression");return console.warn("missing regexp-value for =~-expression"),null}let z=C.indexOf("/"),$=C.lastIndexOf("/");if(z===$||z<0){if(M)throw new Error(`bad regexp-value '${C}', missing /-enclosure`);return console.warn(`bad regexp-value '${C}', missing /-enclosure`),null}let q=C.slice(z+1,$),se=C[$+1]==="i"?"i":"";try{return new RegExp(q,se)}catch(ue){if(M)throw new Error(`bad regexp-value '${C}', parse error: ${ue}`);return console.warn(`bad regexp-value '${C}', parse error: ${ue}`),null}}}function b(V,C){const M=V?V.substituteConstants():void 0,z=C?C.substituteConstants():void 0;return!M&&!z?!0:!M||!z?!1:M.equals(z)}function s(V,C){return V.cmp(C)}class T{constructor(){this.type=0}cmp(C){return this.type-C.type}equals(C){return C.type===this.type}substituteConstants(){return this}evaluate(C){return!1}serialize(){return"false"}keys(){return[]}negate(){return c.INSTANCE}}T.INSTANCE=new T;class c{constructor(){this.type=1}cmp(C){return this.type-C.type}equals(C){return C.type===this.type}substituteConstants(){return this}evaluate(C){return!0}serialize(){return"true"}keys(){return[]}negate(){return T.INSTANCE}}c.INSTANCE=new c;class u{constructor(C,M){this.key=C,this.negated=M,this.type=2}static create(C,M=null){const z=W.get(C);return typeof z=="boolean"?z?c.INSTANCE:T.INSTANCE:new u(C,M)}cmp(C){return C.type!==this.type?this.type-C.type:P(this.key,C.key)}equals(C){return C.type===this.type?this.key===C.key:!1}substituteConstants(){const C=W.get(this.key);return typeof C=="boolean"?C?c.INSTANCE:T.INSTANCE:this}evaluate(C){return!!C.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=p.create(this.key,this)),this.negated}}class f{constructor(C,M,z){this.key=C,this.value=M,this.negated=z,this.type=4}static create(C,M,z=null){if(typeof M=="boolean")return M?u.create(C,z):p.create(C,z);const $=W.get(C);return typeof $=="boolean"?M===($?"true":"false")?c.INSTANCE:T.INSTANCE:new f(C,M,z)}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){const C=W.get(this.key);if(typeof C=="boolean"){const M=C?"true":"false";return this.value===M?c.INSTANCE:T.INSTANCE}return this}evaluate(C){return C.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=d.create(this.key,this.value,this)),this.negated}}class i{constructor(C,M){this.key=C,this.valueKey=M,this.type=10,this.negated=null}static create(C,M){return new i(C,M)}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.valueKey,C.key,C.valueKey)}equals(C){return C.type===this.type?this.key===C.key&&this.valueKey===C.valueKey:!1}substituteConstants(){return this}evaluate(C){const M=C.getValue(this.valueKey),z=C.getValue(this.key);return Array.isArray(M)?M.indexOf(z)>=0:typeof z=="string"&&typeof M=="object"&&M!==null?y.call(M,z):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=o.create(this)),this.negated}}class o{constructor(C){this._actual=C,this.type=11}static create(C){return new o(C)}cmp(C){return C.type!==this.type?this.type-C.type:this._actual.cmp(C._actual)}equals(C){return C.type===this.type?this._actual.equals(C._actual):!1}substituteConstants(){return this}evaluate(C){return!this._actual.evaluate(C)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}class d{constructor(C,M,z){this.key=C,this.value=M,this.negated=z,this.type=5}static create(C,M,z=null){if(typeof M=="boolean")return M?p.create(C,z):u.create(C,z);const $=W.get(C);return typeof $=="boolean"?M===($?"true":"false")?T.INSTANCE:c.INSTANCE:new d(C,M,z)}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){const C=W.get(this.key);if(typeof C=="boolean"){const M=C?"true":"false";return this.value===M?T.INSTANCE:c.INSTANCE}return this}evaluate(C){return C.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=f.create(this.key,this.value,this)),this.negated}}class p{constructor(C,M){this.key=C,this.negated=M,this.type=3}static create(C,M=null){const z=W.get(C);return typeof z=="boolean"?z?T.INSTANCE:c.INSTANCE:new p(C,M)}cmp(C){return C.type!==this.type?this.type-C.type:P(this.key,C.key)}equals(C){return C.type===this.type?this.key===C.key:!1}substituteConstants(){const C=W.get(this.key);return typeof C=="boolean"?C?T.INSTANCE:c.INSTANCE:this}evaluate(C){return!C.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=u.create(this.key,this)),this.negated}}function m(V,C){if(typeof V=="string"){const M=parseFloat(V);isNaN(M)||(V=M)}return typeof V=="string"||typeof V=="number"?C(V):T.INSTANCE}class h{constructor(C,M,z){this.key=C,this.value=M,this.negated=z,this.type=12}static create(C,M,z=null){return m(M,$=>new h(C,$,z))}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){return this}evaluate(C){return typeof this.value=="string"?!1:parseFloat(C.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=a.create(this.key,this.value,this)),this.negated}}class v{constructor(C,M,z){this.key=C,this.value=M,this.negated=z,this.type=13}static create(C,M,z=null){return m(M,$=>new v(C,$,z))}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){return this}evaluate(C){return typeof this.value=="string"?!1:parseFloat(C.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=r.create(this.key,this.value,this)),this.negated}}class r{constructor(C,M,z){this.key=C,this.value=M,this.negated=z,this.type=14}static create(C,M,z=null){return m(M,$=>new r(C,$,z))}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){return this}evaluate(C){return typeof this.value=="string"?!1:parseFloat(C.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=v.create(this.key,this.value,this)),this.negated}}class a{constructor(C,M,z){this.key=C,this.value=M,this.negated=z,this.type=15}static create(C,M,z=null){return m(M,$=>new a(C,$,z))}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){return this}evaluate(C){return typeof this.value=="string"?!1:parseFloat(C.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=h.create(this.key,this.value,this)),this.negated}}class g{constructor(C,M){this.key=C,this.regexp=M,this.type=7,this.negated=null}static create(C,M){return new g(C,M)}cmp(C){if(C.type!==this.type)return this.type-C.type;if(this.key<C.key)return-1;if(this.key>C.key)return 1;const M=this.regexp?this.regexp.source:"",z=C.regexp?C.regexp.source:"";return M<z?-1:M>z?1:0}equals(C){if(C.type===this.type){const M=this.regexp?this.regexp.source:"",z=C.regexp?C.regexp.source:"";return this.key===C.key&&M===z}return!1}substituteConstants(){return this}evaluate(C){let M=C.getValue(this.key);return this.regexp?this.regexp.test(M):!1}serialize(){const C=this.regexp?`/${this.regexp.source}/${this.regexp.ignoreCase?"i":""}`:"/invalid/";return`${this.key} =~ ${C}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=E.create(this)),this.negated}}class E{constructor(C){this._actual=C,this.type=8}static create(C){return new E(C)}cmp(C){return C.type!==this.type?this.type-C.type:this._actual.cmp(C._actual)}equals(C){return C.type===this.type?this._actual.equals(C._actual):!1}substituteConstants(){return this}evaluate(C){return!this._actual.evaluate(C)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}function S(V){let C=null;for(let M=0,z=V.length;M<z;M++){const $=V[M].substituteConstants();if(V[M]!==$&&C===null){C=[];for(let q=0;q<M;q++)C[q]=V[q]}C!==null&&(C[M]=$)}return C===null?V:C}class w{constructor(C,M){this.expr=C,this.negated=M,this.type=6}static create(C,M){return w._normalizeArr(C,M)}cmp(C){if(C.type!==this.type)return this.type-C.type;if(this.expr.length<C.expr.length)return-1;if(this.expr.length>C.expr.length)return 1;for(let M=0,z=this.expr.length;M<z;M++){const $=s(this.expr[M],C.expr[M]);if($!==0)return $}return 0}equals(C){if(C.type===this.type){if(this.expr.length!==C.expr.length)return!1;for(let M=0,z=this.expr.length;M<z;M++)if(!this.expr[M].equals(C.expr[M]))return!1;return!0}return!1}substituteConstants(){const C=S(this.expr);return C===this.expr?this:w.create(C,this.negated)}evaluate(C){for(let M=0,z=this.expr.length;M<z;M++)if(!this.expr[M].evaluate(C))return!1;return!0}static _normalizeArr(C,M){const z=[];let $=!1;for(const q of C)if(q){if(q.type===1){$=!0;continue}if(q.type===0)return T.INSTANCE;if(q.type===6){z.push(...q.expr);continue}z.push(q)}if(z.length===0&&$)return c.INSTANCE;if(z.length!==0){if(z.length===1)return z[0];z.sort(s);for(let q=1;q<z.length;q++)z[q-1].equals(z[q])&&(z.splice(q,1),q--);if(z.length===1)return z[0];for(;z.length>1;){const q=z[z.length-1];if(q.type!==9)break;z.pop();const se=z.pop(),ue=z.length===0,pe=R.create(q.expr.map(Ee=>w.create([Ee,se],null)),null,ue);pe&&(z.push(pe),z.sort(s))}return z.length===1?z[0]:new w(z,M)}}serialize(){return this.expr.map(C=>C.serialize()).join(" && ")}keys(){const C=[];for(let M of this.expr)C.push(...M.keys());return C}negate(){if(!this.negated){const C=[];for(let M of this.expr)C.push(M.negate());this.negated=R.create(C,this,!0)}return this.negated}}class R{constructor(C,M){this.expr=C,this.negated=M,this.type=9}static create(C,M,z){return R._normalizeArr(C,M,z)}cmp(C){if(C.type!==this.type)return this.type-C.type;if(this.expr.length<C.expr.length)return-1;if(this.expr.length>C.expr.length)return 1;for(let M=0,z=this.expr.length;M<z;M++){const $=s(this.expr[M],C.expr[M]);if($!==0)return $}return 0}equals(C){if(C.type===this.type){if(this.expr.length!==C.expr.length)return!1;for(let M=0,z=this.expr.length;M<z;M++)if(!this.expr[M].equals(C.expr[M]))return!1;return!0}return!1}substituteConstants(){const C=S(this.expr);return C===this.expr?this:R.create(C,this.negated,!1)}evaluate(C){for(let M=0,z=this.expr.length;M<z;M++)if(this.expr[M].evaluate(C))return!0;return!1}static _normalizeArr(C,M,z){let $=[],q=!1;if(C){for(let se=0,ue=C.length;se<ue;se++){const pe=C[se];if(pe){if(pe.type===0){q=!0;continue}if(pe.type===1)return c.INSTANCE;if(pe.type===9){$=$.concat(pe.expr);continue}$.push(pe)}}if($.length===0&&q)return T.INSTANCE;$.sort(s)}if($.length!==0){if($.length===1)return $[0];for(let se=1;se<$.length;se++)$[se-1].equals($[se])&&($.splice(se,1),se--);if($.length===1)return $[0];if(z){for(let se=0;se<$.length;se++)for(let ue=se+1;ue<$.length;ue++)K($[se],$[ue])&&($.splice(ue,1),ue--);if($.length===1)return $[0]}return new R($,M)}}serialize(){return this.expr.map(C=>C.serialize()).join(" || ")}keys(){const C=[];for(let M of this.expr)C.push(...M.keys());return C}negate(){if(!this.negated){let C=[];for(let M of this.expr)C.push(M.negate());for(;C.length>1;){const M=C.shift(),z=C.shift(),$=[];for(const se of U(M))for(const ue of U(z))$.push(w.create([se,ue],null));const q=C.length===0;C.unshift(R.create($,null,q))}this.negated=C[0]}return this.negated}}class O extends u{constructor(C,M,z){super(C,null),this._defaultValue=M,typeof z=="object"?O._info.push(Object.assign(Object.assign({},z),{key:C})):z!==!0&&O._info.push({key:C,description:z,type:M!=null?typeof M:void 0})}static all(){return O._info.values()}bindTo(C){return C.createKey(this.key,this._defaultValue)}getValue(C){return C.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(C){return f.create(this.key,C)}}O._info=[];const G=(0,X.yh)("contextKeyService"),B="setContext";function P(V,C){return V<C?-1:V>C?1:0}function F(V,C,M,z){return V<M?-1:V>M?1:C<z?-1:C>z?1:0}function K(V,C){if(C.type===6&&V.type!==9&&V.type!==6){for(const $ of C.expr)if(V.equals($))return!0}const M=V.negate(),z=U(M).concat(U(C));z.sort(s);for(let $=0;$<z.length;$++){const se=z[$].negate();for(let ue=$+1;ue<z.length;ue++){const pe=z[ue];if(se.equals(pe))return!0}}return!1}function U(V){return V.type===9?V.expr:[V]}},16925:function(tr,qe,ae){"use strict";ae.d(qe,{I8:function(){return ee},TG:function(){return te},jt:function(){return W},yh:function(){return D}});var ee;(function(y){y.serviceIds=new Map,y.DI_TARGET="$di$target",y.DI_DEPENDENCIES="$di$dependencies";function L(b){return b[y.DI_DEPENDENCIES]||[]}y.getServiceDependencies=L})(ee||(ee={}));const te=D("instantiationService");function X(y,L,b,s){L[ee.DI_TARGET]===L?L[ee.DI_DEPENDENCIES].push({id:y,index:b,optional:s}):(L[ee.DI_DEPENDENCIES]=[{id:y,index:b,optional:s}],L[ee.DI_TARGET]=L)}function D(y){if(ee.serviceIds.has(y))return ee.serviceIds.get(y);const L=function(b,s,T){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");X(L,b,T,!1)};return L.toString=()=>y,ee.serviceIds.set(y,L),L}function W(y){return function(L,b,s){if(arguments.length!==3)throw new Error("@optional-decorator can only be used to decorate a parameter");X(y,L,s,!0)}}},44650:function(tr,qe,ae){"use strict";ae.d(qe,{B:function(){return D}});var ee=ae(76068),te=ae(72999);class X{constructor(){this.data=new Map}add(y,L){ee.ok(te.HD(y)),ee.ok(te.Kn(L)),ee.ok(!this.data.has(y),"There is already an extension with this id"),this.data.set(y,L)}as(y){return this.data.get(y)||null}}const D=new X},66213:function(tr,qe,ae){"use strict";ae.d(qe,{e:function(){return ee}});var ee;(function(te){te.DARK="dark",te.LIGHT="light",te.HIGH_CONTRAST="hc"})(ee||(ee={}))},49055:function(tr,qe,ae){"use strict";ae.d(qe,{EN:function(){return s},IP:function(){return u},Ic:function(){return o},XE:function(){return L},bB:function(){return d},kS:function(){return T},m6:function(){return c}});var ee=ae(52615),te=ae(4348),X=ae(69323),D=ae(16925),W=ae(44650),y=ae(66213);const L=(0,D.yh)("themeService");var b;(function(p){function m(h){return h&&typeof h=="object"&&typeof h.id=="string"}p.isThemeColor=m})(b||(b={}));function s(p){return{id:p}}var T;(function(p){function m(E){return E&&typeof E=="object"&&typeof E.id=="string"&&(typeof E.color=="undefined"||b.isThemeColor(E.color))}p.isThemeIcon=m;const h=new RegExp(`^\\$\\((${ee.dT.iconNameExpression}(?:${ee.dT.iconModifierExpression})?)\\)$`);function v(E){const S=h.exec(E);if(!S)return;let[,w]=S;return{id:w}}p.fromString=v;function r(E,S){let w=E.id;const R=w.lastIndexOf("~");return R!==-1&&(w=w.substring(0,R)),S&&(w=`${w}~${S}`),{id:w}}p.modify=r;function a(E,S){var w,R;return E.id===S.id&&((w=E.color)===null||w===void 0?void 0:w.id)===((R=S.color)===null||R===void 0?void 0:R.id)}p.isEqual=a;function g(E,S){return{id:E.id,color:S?s(S):void 0}}p.asThemeIcon=g,p.asClassNameArray=ee.dT.asClassNameArray,p.asClassName=ee.dT.asClassName,p.asCSSSelector=ee.dT.asCSSSelector})(T||(T={}));function c(p){switch(p){case y.e.DARK:return"vs-dark";case y.e.HIGH_CONTRAST:return"hc-black";default:return"vs"}}const u={ThemingContribution:"base.contributions.theming"};class f{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new te.Q5}onColorThemeChange(m){return this.themingParticipants.push(m),this.onThemingParticipantAddedEmitter.fire(m),(0,X.OF)(()=>{const h=this.themingParticipants.indexOf(m);this.themingParticipants.splice(h,1)})}getThemingParticipants(){return this.themingParticipants}}let i=new f;W.B.add(u.ThemingContribution,i);function o(p){return i.onColorThemeChange(p)}class d extends X.JT{constructor(m){super(),this.themeService=m,this.theme=m.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(h=>this.onThemeChange(h)))}onThemeChange(m){this.theme=m,this.updateStyles()}updateStyles(){}}},96478:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return E}});var ee=ae(54476),te=ae(20068),X=ae(42978),D=ae(75931),W=ae(65030),y=ae(92310),L=ae.n(y),b=ae(8654),s=ae(59301),T=ae(10228),c=ae(16089),u=T.Z.ESC,f=T.Z.TAB;function i(S){var w=S.visible,R=S.triggerRef,O=S.onVisibleChange,G=S.autoFocus,B=S.overlayRef,P=s.useRef(!1),F=function(){if(w){var C,M;(C=R.current)===null||C===void 0||(M=C.focus)===null||M===void 0||M.call(C),O==null||O(!1)}},K=function(){var C;return(C=B.current)!==null&&C!==void 0&&C.focus?(B.current.focus(),P.current=!0,!0):!1},U=function(C){switch(C.keyCode){case u:F();break;case f:{var M=!1;P.current||(M=K()),M?C.preventDefault():F();break}}};s.useEffect(function(){return w?(window.addEventListener("keydown",U),G&&(0,c.Z)(K,3),function(){window.removeEventListener("keydown",U),P.current=!1}):function(){P.current=!1}},[w])}var o=(0,s.forwardRef)(function(S,w){var R=S.overlay,O=S.arrow,G=S.prefixCls,B=(0,s.useMemo)(function(){var F;return typeof R=="function"?F=R():F=R,F},[R]),P=(0,b.sQ)(w,(0,b.C4)(B));return s.createElement(s.Fragment,null,O&&s.createElement("div",{className:"".concat(G,"-arrow")}),s.cloneElement(B,{ref:(0,b.Yr)(B)?P:void 0}))}),d=o,p={adjustX:1,adjustY:1},m=[0,0],h={topLeft:{points:["bl","tl"],overflow:p,offset:[0,-4],targetOffset:m},top:{points:["bc","tc"],overflow:p,offset:[0,-4],targetOffset:m},topRight:{points:["br","tr"],overflow:p,offset:[0,-4],targetOffset:m},bottomLeft:{points:["tl","bl"],overflow:p,offset:[0,4],targetOffset:m},bottom:{points:["tc","bc"],overflow:p,offset:[0,4],targetOffset:m},bottomRight:{points:["tr","br"],overflow:p,offset:[0,4],targetOffset:m}},v=h,r=["arrow","prefixCls","transitionName","animation","align","placement","placements","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","visible","trigger","autoFocus","overlay","children","onVisibleChange"];function a(S,w){var R,O=S.arrow,G=O===void 0?!1:O,B=S.prefixCls,P=B===void 0?"rc-dropdown":B,F=S.transitionName,K=S.animation,U=S.align,V=S.placement,C=V===void 0?"bottomLeft":V,M=S.placements,z=M===void 0?v:M,$=S.getPopupContainer,q=S.showAction,se=S.hideAction,ue=S.overlayClassName,pe=S.overlayStyle,Ee=S.visible,De=S.trigger,Fe=De===void 0?["hover"]:De,Ge=S.autoFocus,xe=S.overlay,Ke=S.children,Ce=S.onVisibleChange,Se=(0,D.Z)(S,r),ge=s.useState(),Re=(0,X.Z)(ge,2),ve=Re[0],Le=Re[1],Ue="visible"in S?Ee:ve,me=s.useRef(null),oe=s.useRef(null),ie=s.useRef(null);s.useImperativeHandle(w,function(){return me.current});var he=function(tt){Le(tt),Ce==null||Ce(tt)};i({visible:Ue,triggerRef:ie,onVisibleChange:he,autoFocus:Ge,overlayRef:oe});var ye=function(tt){var bt=S.onOverlayClick;Le(!1),bt&&bt(tt)},ce=function(){return s.createElement(d,{ref:oe,overlay:xe,prefixCls:P,arrow:G})},Te=function(){return typeof xe=="function"?ce:ce()},Oe=function(){var tt=S.minOverlayWidthMatchTrigger,bt=S.alignPoint;return"minOverlayWidthMatchTrigger"in S?tt:!bt},Be=function(){var tt=S.openClassName;return tt!==void 0?tt:"".concat(P,"-open")},Xe=s.cloneElement(Ke,{className:L()((R=Ke.props)===null||R===void 0?void 0:R.className,Ue&&Be()),ref:(0,b.Yr)(Ke)?(0,b.sQ)(ie,(0,b.C4)(Ke)):void 0}),lt=se;return!lt&&Fe.indexOf("contextMenu")!==-1&&(lt=["click"]),s.createElement(W.Z,(0,ee.Z)({builtinPlacements:z},Se,{prefixCls:P,ref:me,popupClassName:L()(ue,(0,te.Z)({},"".concat(P,"-show-arrow"),G)),popupStyle:pe,action:Fe,showAction:q,hideAction:lt,popupPlacement:C,popupAlign:U,popupTransitionName:F,popupAnimation:K,popupVisible:Ue,stretch:Oe()?"minWidth":"",popup:Te(),onPopupVisibleChange:he,onPopupClick:ye,getPopupContainer:$}),Xe)}var g=s.forwardRef(a),E=g},66003:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return L}});var ee=ae(75931),te=ae(33885),X=ae(76190),D=ae(59301),W=["show"];function y(b,s){if(!s.max)return!0;var T=s.strategy(b);return T<=s.max}function L(b,s){return D.useMemo(function(){var T={};s&&(T.show=(0,X.Z)(s)==="object"&&s.formatter?s.formatter:!!s),T=(0,te.Z)((0,te.Z)({},T),b);var c=T,u=c.show,f=(0,ee.Z)(c,W);return(0,te.Z)((0,te.Z)({},f),{},{show:!!u,showFormatter:typeof u=="function"?u:void 0,strategy:f.strategy||function(i){return i.length}})},[b,s])}},36901:function(tr,qe,ae){"use strict";ae.r(qe),ae.d(qe,{BaseInput:function(){return T},default:function(){return v}});var ee=ae(33885),te=ae(54476),X=ae(20068),D=ae(76190),W=ae(92310),y=ae.n(W),L=ae(59301),b=ae(30292),s=L.forwardRef(function(r,a){var g,E,S,w=r.inputElement,R=r.children,O=r.prefixCls,G=r.prefix,B=r.suffix,P=r.addonBefore,F=r.addonAfter,K=r.className,U=r.style,V=r.disabled,C=r.readOnly,M=r.focused,z=r.triggerFocus,$=r.allowClear,q=r.value,se=r.handleReset,ue=r.hidden,pe=r.classes,Ee=r.classNames,De=r.dataAttrs,Fe=r.styles,Ge=r.components,xe=r.onClear,Ke=R!=null?R:w,Ce=(Ge==null?void 0:Ge.affixWrapper)||"span",Se=(Ge==null?void 0:Ge.groupWrapper)||"span",ge=(Ge==null?void 0:Ge.wrapper)||"span",Re=(Ge==null?void 0:Ge.groupAddon)||"span",ve=(0,L.useRef)(null),Le=function(Bt){var ot;(ot=ve.current)!==null&&ot!==void 0&&ot.contains(Bt.target)&&(z==null||z())},Ue=(0,b.X3)(r),me=(0,L.cloneElement)(Ke,{value:q,className:y()((g=Ke.props)===null||g===void 0?void 0:g.className,!Ue&&(Ee==null?void 0:Ee.variant))||null}),oe=(0,L.useRef)(null);if(L.useImperativeHandle(a,function(){return{nativeElement:oe.current||ve.current}}),Ue){var ie=null;if($){var he=!V&&!C&&q,ye="".concat(O,"-clear-icon"),ce=(0,D.Z)($)==="object"&&$!==null&&$!==void 0&&$.clearIcon?$.clearIcon:"\u2716";ie=L.createElement("button",{type:"button",tabIndex:-1,onClick:function(Bt){se==null||se(Bt),xe==null||xe()},onMouseDown:function(Bt){return Bt.preventDefault()},className:y()(ye,(0,X.Z)((0,X.Z)({},"".concat(ye,"-hidden"),!he),"".concat(ye,"-has-suffix"),!!B))},ce)}var Te="".concat(O,"-affix-wrapper"),Oe=y()(Te,(0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)({},"".concat(O,"-disabled"),V),"".concat(Te,"-disabled"),V),"".concat(Te,"-focused"),M),"".concat(Te,"-readonly"),C),"".concat(Te,"-input-with-clear-btn"),B&&$&&q),pe==null?void 0:pe.affixWrapper,Ee==null?void 0:Ee.affixWrapper,Ee==null?void 0:Ee.variant),Be=(B||$)&&L.createElement("span",{className:y()("".concat(O,"-suffix"),Ee==null?void 0:Ee.suffix),style:Fe==null?void 0:Fe.suffix},ie,B);me=L.createElement(Ce,(0,te.Z)({className:Oe,style:Fe==null?void 0:Fe.affixWrapper,onClick:Le},De==null?void 0:De.affixWrapper,{ref:ve}),G&&L.createElement("span",{className:y()("".concat(O,"-prefix"),Ee==null?void 0:Ee.prefix),style:Fe==null?void 0:Fe.prefix},G),me,Be)}if((0,b.He)(r)){var Xe="".concat(O,"-group"),lt="".concat(Xe,"-addon"),_t="".concat(Xe,"-wrapper"),tt=y()("".concat(O,"-wrapper"),Xe,pe==null?void 0:pe.wrapper,Ee==null?void 0:Ee.wrapper),bt=y()(_t,(0,X.Z)({},"".concat(_t,"-disabled"),V),pe==null?void 0:pe.group,Ee==null?void 0:Ee.groupWrapper);me=L.createElement(Se,{className:bt,ref:oe},L.createElement(ge,{className:tt},P&&L.createElement(Re,{className:lt},P),me,F&&L.createElement(Re,{className:lt},F)))}return L.cloneElement(me,{className:y()((E=me.props)===null||E===void 0?void 0:E.className,K)||null,style:(0,ee.Z)((0,ee.Z)({},(S=me.props)===null||S===void 0?void 0:S.style),U),hidden:ue})}),T=s,c=ae(94480),u=ae(42978),f=ae(75931),i=ae(18929),o=ae(2738),d=ae(66003),p=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","onKeyUp","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","count","type","classes","classNames","styles","onCompositionStart","onCompositionEnd"],m=(0,L.forwardRef)(function(r,a){var g=r.autoComplete,E=r.onChange,S=r.onFocus,w=r.onBlur,R=r.onPressEnter,O=r.onKeyDown,G=r.onKeyUp,B=r.prefixCls,P=B===void 0?"rc-input":B,F=r.disabled,K=r.htmlSize,U=r.className,V=r.maxLength,C=r.suffix,M=r.showCount,z=r.count,$=r.type,q=$===void 0?"text":$,se=r.classes,ue=r.classNames,pe=r.styles,Ee=r.onCompositionStart,De=r.onCompositionEnd,Fe=(0,f.Z)(r,p),Ge=(0,L.useState)(!1),xe=(0,u.Z)(Ge,2),Ke=xe[0],Ce=xe[1],Se=(0,L.useRef)(!1),ge=(0,L.useRef)(!1),Re=(0,L.useRef)(null),ve=(0,L.useRef)(null),Le=function(vt){Re.current&&(0,b.nH)(Re.current,vt)},Ue=(0,i.Z)(r.defaultValue,{value:r.value}),me=(0,u.Z)(Ue,2),oe=me[0],ie=me[1],he=oe==null?"":String(oe),ye=(0,L.useState)(null),ce=(0,u.Z)(ye,2),Te=ce[0],Oe=ce[1],Be=(0,d.Z)(z,M),Xe=Be.max||V,lt=Be.strategy(he),_t=!!Xe&&lt>Xe;(0,L.useImperativeHandle)(a,function(){var Et;return{focus:Le,blur:function(){var nr;(nr=Re.current)===null||nr===void 0||nr.blur()},setSelectionRange:function(nr,qt,Dt){var nt;(nt=Re.current)===null||nt===void 0||nt.setSelectionRange(nr,qt,Dt)},select:function(){var nr;(nr=Re.current)===null||nr===void 0||nr.select()},input:Re.current,nativeElement:((Et=ve.current)===null||Et===void 0?void 0:Et.nativeElement)||Re.current}}),(0,L.useEffect)(function(){ge.current&&(ge.current=!1),Ce(function(Et){return Et&&F?!1:Et})},[F]);var tt=function(vt,nr,qt){var Dt=nr;if(!Se.current&&Be.exceedFormatter&&Be.max&&Be.strategy(nr)>Be.max){if(Dt=Be.exceedFormatter(nr,{max:Be.max}),nr!==Dt){var nt,Rt;Oe([((nt=Re.current)===null||nt===void 0?void 0:nt.selectionStart)||0,((Rt=Re.current)===null||Rt===void 0?void 0:Rt.selectionEnd)||0])}}else if(qt.source==="compositionEnd")return;ie(Dt),Re.current&&(0,b.rJ)(Re.current,vt,E,Dt)};(0,L.useEffect)(function(){if(Te){var Et;(Et=Re.current)===null||Et===void 0||Et.setSelectionRange.apply(Et,(0,c.Z)(Te))}},[Te]);var bt=function(vt){tt(vt,vt.target.value,{source:"change"})},Nt=function(vt){Se.current=!1,tt(vt,vt.currentTarget.value,{source:"compositionEnd"}),De==null||De(vt)},Bt=function(vt){R&&vt.key==="Enter"&&!ge.current&&(ge.current=!0,R(vt)),O==null||O(vt)},ot=function(vt){vt.key==="Enter"&&(ge.current=!1),G==null||G(vt)},It=function(vt){Ce(!0),S==null||S(vt)},cr=function(vt){ge.current&&(ge.current=!1),Ce(!1),w==null||w(vt)},wr=function(vt){ie(""),Le(),Re.current&&(0,b.rJ)(Re.current,vt,E)},er=_t&&"".concat(P,"-out-of-range"),Wr=function(){var vt=(0,o.Z)(r,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","count","classes","htmlSize","styles","classNames","onClear"]);return L.createElement("input",(0,te.Z)({autoComplete:g},vt,{onChange:bt,onFocus:It,onBlur:cr,onKeyDown:Bt,onKeyUp:ot,className:y()(P,(0,X.Z)({},"".concat(P,"-disabled"),F),ue==null?void 0:ue.input),style:pe==null?void 0:pe.input,ref:Re,size:K,type:q,onCompositionStart:function(qt){Se.current=!0,Ee==null||Ee(qt)},onCompositionEnd:Nt}))},Ct=function(){var vt=Number(Xe)>0;if(C||Be.show){var nr=Be.showFormatter?Be.showFormatter({value:he,count:lt,maxLength:Xe}):"".concat(lt).concat(vt?" / ".concat(Xe):"");return L.createElement(L.Fragment,null,Be.show&&L.createElement("span",{className:y()("".concat(P,"-show-count-suffix"),(0,X.Z)({},"".concat(P,"-show-count-has-suffix"),!!C),ue==null?void 0:ue.count),style:(0,ee.Z)({},pe==null?void 0:pe.count)},nr),C)}return null};return L.createElement(T,(0,te.Z)({},Fe,{prefixCls:P,className:y()(U,er),handleReset:wr,value:he,focused:Ke,triggerFocus:Le,suffix:Ct(),disabled:F,classes:se,classNames:ue,styles:pe}),Wr())}),h=m,v=h},30292:function(tr,qe,ae){"use strict";ae.d(qe,{He:function(){return ee},X3:function(){return te},nH:function(){return W},rJ:function(){return D}});function ee(y){return!!(y.addonBefore||y.addonAfter)}function te(y){return!!(y.prefix||y.suffix||y.allowClear)}function X(y,L,b){var s=L.cloneNode(!0),T=Object.create(y,{target:{value:s},currentTarget:{value:s}});return s.value=b,typeof L.selectionStart=="number"&&typeof L.selectionEnd=="number"&&(s.selectionStart=L.selectionStart,s.selectionEnd=L.selectionEnd),s.setSelectionRange=function(){L.setSelectionRange.apply(L,arguments)},T}function D(y,L,b,s){if(b){var T=L;if(L.type==="click"){T=X(L,y,""),b(T);return}if(y.type!=="file"&&s!==void 0){T=X(L,y,s),b(T);return}b(T)}}function W(y,L){if(y){y.focus(L);var b=L||{},s=b.cursor;if(s){var T=y.value.length;switch(s){case"start":y.setSelectionRange(0,0);break;case"end":y.setSelectionRange(T,T);break;default:y.setSelectionRange(0,T)}}}}},28321:function(tr,qe,ae){"use strict";ae.d(qe,{iz:function(){return Me},ck:function(){return Dt},BW:function(){return je},sN:function(){return Dt},Wd:function(){return Lt},ZP:function(){return Ut},Xl:function(){return R}});var ee=ae(54476),te=ae(20068),X=ae(33885),D=ae(94480),W=ae(42978),y=ae(75931),L=ae(92310),b=ae.n(L),s=ae(83836),T=ae(18929),c=ae(13697),u=ae(48736),f=ae(59301),i=ae(4676),o=f.createContext(null);function d(ke,He){return ke===void 0?null:"".concat(ke,"-").concat(He)}function p(ke){var He=f.useContext(o);return d(He,ke)}var m=ae(80547),h=["children","locked"],v=f.createContext(null);function r(ke,He){var at=(0,X.Z)({},ke);return Object.keys(He).forEach(function(We){var rt=He[We];rt!==void 0&&(at[We]=rt)}),at}function a(ke){var He=ke.children,at=ke.locked,We=(0,y.Z)(ke,h),rt=f.useContext(v),ht=(0,m.Z)(function(){return r(rt,We)},[rt,We],function(xt,Wt){return!at&&(xt[0]!==Wt[0]||!(0,c.Z)(xt[1],Wt[1],!0))});return f.createElement(v.Provider,{value:ht},He)}var g=[],E=f.createContext(null);function S(){return f.useContext(E)}var w=f.createContext(g);function R(ke){var He=f.useContext(w);return f.useMemo(function(){return ke!==void 0?[].concat((0,D.Z)(He),[ke]):He},[He,ke])}var O=f.createContext(null),G=f.createContext({}),B=G,P=ae(29194);function F(ke){var He=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if((0,P.Z)(ke)){var at=ke.nodeName.toLowerCase(),We=["input","select","textarea","button"].includes(at)||ke.isContentEditable||at==="a"&&!!ke.getAttribute("href"),rt=ke.getAttribute("tabindex"),ht=Number(rt),xt=null;return rt&&!Number.isNaN(ht)?xt=ht:We&&xt===null&&(xt=0),We&&ke.disabled&&(xt=null),xt!==null&&(xt>=0||He&&xt<0)}return!1}function K(ke){var He=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,at=(0,D.Z)(ke.querySelectorAll("*")).filter(function(We){return F(We,He)});return F(ke,He)&&at.unshift(ke),at}var U=null;function V(){U=document.activeElement}function C(){U=null}function M(){if(U)try{U.focus()}catch(ke){}}function z(ke,He){if(He.keyCode===9){var at=K(ke),We=at[He.shiftKey?0:at.length-1],rt=We===document.activeElement||ke===document.activeElement;if(rt){var ht=at[He.shiftKey?at.length-1:0];ht.focus(),He.preventDefault()}}}var $=ae(10228),q=ae(16089),se=$.Z.LEFT,ue=$.Z.RIGHT,pe=$.Z.UP,Ee=$.Z.DOWN,De=$.Z.ENTER,Fe=$.Z.ESC,Ge=$.Z.HOME,xe=$.Z.END,Ke=[pe,Ee,se,ue];function Ce(ke,He,at,We){var rt,ht="prev",xt="next",Wt="children",jt="parent";if(ke==="inline"&&We===De)return{inlineTrigger:!0};var Jt=(0,te.Z)((0,te.Z)({},pe,ht),Ee,xt),vr=(0,te.Z)((0,te.Z)((0,te.Z)((0,te.Z)({},se,at?xt:ht),ue,at?ht:xt),Ee,Wt),De,Wt),Ve=(0,te.Z)((0,te.Z)((0,te.Z)((0,te.Z)((0,te.Z)((0,te.Z)({},pe,ht),Ee,xt),De,Wt),Fe,jt),se,at?Wt:jt),ue,at?jt:Wt),$t={inline:Jt,horizontal:vr,vertical:Ve,inlineSub:Jt,horizontalSub:Ve,verticalSub:Ve},ar=(rt=$t["".concat(ke).concat(He?"":"Sub")])===null||rt===void 0?void 0:rt[We];switch(ar){case ht:return{offset:-1,sibling:!0};case xt:return{offset:1,sibling:!0};case jt:return{offset:-1,sibling:!1};case Wt:return{offset:1,sibling:!1};default:return null}}function Se(ke){for(var He=ke;He;){if(He.getAttribute("data-menu-list"))return He;He=He.parentElement}return null}function ge(ke,He){for(var at=ke||document.activeElement;at;){if(He.has(at))return at;at=at.parentElement}return null}function Re(ke,He){var at=K(ke,!0);return at.filter(function(We){return He.has(We)})}function ve(ke,He,at){var We=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;if(!ke)return null;var rt=Re(ke,He),ht=rt.length,xt=rt.findIndex(function(Wt){return at===Wt});return We<0?xt===-1?xt=ht-1:xt-=1:We>0&&(xt+=1),xt=(xt+ht)%ht,rt[xt]}var Le=function(He,at){var We=new Set,rt=new Map,ht=new Map;return He.forEach(function(xt){var Wt=document.querySelector("[data-menu-id='".concat(d(at,xt),"']"));Wt&&(We.add(Wt),ht.set(Wt,xt),rt.set(xt,Wt))}),{elements:We,key2element:rt,element2key:ht}};function Ue(ke,He,at,We,rt,ht,xt,Wt,jt,Jt){var vr=f.useRef(),Ve=f.useRef();Ve.current=He;var $t=function(){q.Z.cancel(vr.current)};return f.useEffect(function(){return function(){$t()}},[]),function(ar){var yr=ar.which;if([].concat(Ke,[De,Fe,Ge,xe]).includes(yr)){var or=ht(),ir=Le(or,We),hr=ir,Ar=hr.elements,Cr=hr.key2element,Tr=hr.element2key,Or=Cr.get(He),pr=ge(Or,Ar),mr=Tr.get(pr),Zr=Ce(ke,xt(mr,!0).length===1,at,yr);if(!Zr&&yr!==Ge&&yr!==xe)return;(Ke.includes(yr)||[Ge,xe].includes(yr))&&ar.preventDefault();var jr=function(lr){if(lr){var kt=lr,Ot=lr.querySelector("a");Ot!=null&&Ot.getAttribute("href")&&(kt=Ot);var Zt=Tr.get(lr);Wt(Zt),$t(),vr.current=(0,q.Z)(function(){Ve.current===Zt&&kt.focus()})}};if([Ge,xe].includes(yr)||Zr.sibling||!pr){var rn;!pr||ke==="inline"?rn=rt.current:rn=Se(pr);var Gr,nn=Re(rn,Ar);yr===Ge?Gr=nn[0]:yr===xe?Gr=nn[nn.length-1]:Gr=ve(rn,Ar,pr,Zr.offset),jr(Gr)}else if(Zr.inlineTrigger)jt(mr);else if(Zr.offset>0)jt(mr,!0),$t(),vr.current=(0,q.Z)(function(){ir=Le(or,We);var Nr=pr.getAttribute("aria-controls"),lr=document.getElementById(Nr),kt=ve(lr,ir.elements);jr(kt)},5);else if(Zr.offset<0){var $r=xt(mr,!0),hn=$r[$r.length-2],on=Cr.get(hn);jt(hn,!1),jr(on)}}Jt==null||Jt(ar)}}function me(ke){Promise.resolve().then(ke)}var oe="__RC_UTIL_PATH_SPLIT__",ie=function(He){return He.join(oe)},he=function(He){return He.split(oe)},ye="rc-menu-more";function ce(){var ke=f.useState({}),He=(0,W.Z)(ke,2),at=He[1],We=(0,f.useRef)(new Map),rt=(0,f.useRef)(new Map),ht=f.useState([]),xt=(0,W.Z)(ht,2),Wt=xt[0],jt=xt[1],Jt=(0,f.useRef)(0),vr=(0,f.useRef)(!1),Ve=function(){vr.current||at({})},$t=(0,f.useCallback)(function(Cr,Tr){var Or=ie(Tr);rt.current.set(Or,Cr),We.current.set(Cr,Or),Jt.current+=1;var pr=Jt.current;me(function(){pr===Jt.current&&Ve()})},[]),ar=(0,f.useCallback)(function(Cr,Tr){var Or=ie(Tr);rt.current.delete(Or),We.current.delete(Cr)},[]),yr=(0,f.useCallback)(function(Cr){jt(Cr)},[]),or=(0,f.useCallback)(function(Cr,Tr){var Or=We.current.get(Cr)||"",pr=he(Or);return Tr&&Wt.includes(pr[0])&&pr.unshift(ye),pr},[Wt]),ir=(0,f.useCallback)(function(Cr,Tr){return Cr.filter(function(Or){return Or!==void 0}).some(function(Or){var pr=or(Or,!0);return pr.includes(Tr)})},[or]),hr=function(){var Tr=(0,D.Z)(We.current.keys());return Wt.length&&Tr.push(ye),Tr},Ar=(0,f.useCallback)(function(Cr){var Tr="".concat(We.current.get(Cr)).concat(oe),Or=new Set;return(0,D.Z)(rt.current.keys()).forEach(function(pr){pr.startsWith(Tr)&&Or.add(rt.current.get(pr))}),Or},[]);return f.useEffect(function(){return function(){vr.current=!0}},[]),{registerPath:$t,unregisterPath:ar,refreshOverflowKeys:yr,isSubPathKey:ir,getKeyPath:or,getKeys:hr,getSubPathKeys:Ar}}function Te(ke){var He=f.useRef(ke);He.current=ke;var at=f.useCallback(function(){for(var We,rt=arguments.length,ht=new Array(rt),xt=0;xt<rt;xt++)ht[xt]=arguments[xt];return(We=He.current)===null||We===void 0?void 0:We.call.apply(We,[He].concat(ht))},[]);return ke?at:void 0}var Oe=Math.random().toFixed(5).toString().slice(2),Be=0;function Xe(ke){var He=(0,T.Z)(ke,{value:ke}),at=(0,W.Z)(He,2),We=at[0],rt=at[1];return f.useEffect(function(){Be+=1;var ht="".concat(Oe,"-").concat(Be);rt("rc-menu-uuid-".concat(ht))},[]),We}var lt=ae(67732),_t=ae(83652),tt=ae(42403),bt=ae(158),Nt=ae(2738),Bt=ae(8654);function ot(ke,He,at,We){var rt=f.useContext(v),ht=rt.activeKey,xt=rt.onActive,Wt=rt.onInactive,jt={active:ht===ke};return He||(jt.onMouseEnter=function(Jt){at==null||at({key:ke,domEvent:Jt}),xt(ke)},jt.onMouseLeave=function(Jt){We==null||We({key:ke,domEvent:Jt}),Wt(ke)}),jt}function It(ke){var He=f.useContext(v),at=He.mode,We=He.rtl,rt=He.inlineIndent;if(at!=="inline")return null;var ht=ke;return We?{paddingRight:ht*rt}:{paddingLeft:ht*rt}}function cr(ke){var He=ke.icon,at=ke.props,We=ke.children,rt;return He===null||He===!1?null:(typeof He=="function"?rt=f.createElement(He,(0,X.Z)({},at)):typeof He!="boolean"&&(rt=He),rt||We||null)}var wr=["item"];function er(ke){var He=ke.item,at=(0,y.Z)(ke,wr);return Object.defineProperty(at,"item",{get:function(){return(0,u.ZP)(!1,"`info.item` is deprecated since we will move to function component that not provides React Node instance in future."),He}}),at}var Wr=["title","attribute","elementRef"],Ct=["style","className","eventKey","warnKey","disabled","itemIcon","children","role","onMouseEnter","onMouseLeave","onClick","onKeyDown","onFocus"],Et=["active"],vt=function(ke){(0,tt.Z)(at,ke);var He=(0,bt.Z)(at);function at(){return(0,lt.Z)(this,at),He.apply(this,arguments)}return(0,_t.Z)(at,[{key:"render",value:function(){var rt=this.props,ht=rt.title,xt=rt.attribute,Wt=rt.elementRef,jt=(0,y.Z)(rt,Wr),Jt=(0,Nt.Z)(jt,["eventKey","popupClassName","popupOffset","onTitleClick"]);return(0,u.ZP)(!xt,"`attribute` of Menu.Item is deprecated. Please pass attribute directly."),f.createElement(s.Z.Item,(0,ee.Z)({},xt,{title:typeof ht=="string"?ht:void 0},Jt,{ref:Wt}))}}]),at}(f.Component),nr=f.forwardRef(function(ke,He){var at=ke.style,We=ke.className,rt=ke.eventKey,ht=ke.warnKey,xt=ke.disabled,Wt=ke.itemIcon,jt=ke.children,Jt=ke.role,vr=ke.onMouseEnter,Ve=ke.onMouseLeave,$t=ke.onClick,ar=ke.onKeyDown,yr=ke.onFocus,or=(0,y.Z)(ke,Ct),ir=p(rt),hr=f.useContext(v),Ar=hr.prefixCls,Cr=hr.onItemClick,Tr=hr.disabled,Or=hr.overflowDisabled,pr=hr.itemIcon,mr=hr.selectedKeys,Zr=hr.onActive,jr=f.useContext(B),rn=jr._internalRenderMenuItem,Gr="".concat(Ar,"-item"),nn=f.useRef(),$r=f.useRef(),hn=Tr||xt,on=(0,Bt.x1)(He,$r),Nr=R(rt),lr=function(Qr){return{key:rt,keyPath:(0,D.Z)(Nr).reverse(),item:nn.current,domEvent:Qr}},kt=Wt||pr,Ot=ot(rt,hn,vr,Ve),Zt=Ot.active,rr=(0,y.Z)(Ot,Et),xr=mr.includes(rt),kr=It(Nr.length),Xr=function(Qr){if(!hn){var Dn=lr(Qr);$t==null||$t(er(Dn)),Cr(Dn)}},Mr=function(Qr){if(ar==null||ar(Qr),Qr.which===$.Z.ENTER){var Dn=lr(Qr);$t==null||$t(er(Dn)),Cr(Dn)}},ln=function(Qr){Zr(rt),yr==null||yr(Qr)},Tn={};ke.role==="option"&&(Tn["aria-selected"]=xr);var mn=f.createElement(vt,(0,ee.Z)({ref:nn,elementRef:on,role:Jt===null?"none":Jt||"menuitem",tabIndex:xt?null:-1,"data-menu-id":Or&&ir?null:ir},(0,Nt.Z)(or,["extra"]),rr,Tn,{component:"li","aria-disabled":xt,style:(0,X.Z)((0,X.Z)({},kr),at),className:b()(Gr,(0,te.Z)((0,te.Z)((0,te.Z)({},"".concat(Gr,"-active"),Zt),"".concat(Gr,"-selected"),xr),"".concat(Gr,"-disabled"),hn),We),onClick:Xr,onKeyDown:Mr,onFocus:ln}),jt,f.createElement(cr,{props:(0,X.Z)((0,X.Z)({},ke),{},{isSelected:xr}),icon:kt}));return rn&&(mn=rn(mn,ke,{selected:xr})),mn});function qt(ke,He){var at=ke.eventKey,We=S(),rt=R(at);return f.useEffect(function(){if(We)return We.registerPath(at,rt),function(){We.unregisterPath(at,rt)}},[rt]),We?null:f.createElement(nr,(0,ee.Z)({},ke,{ref:He}))}var Dt=f.forwardRef(qt),nt=["className","children"],Rt=function(He,at){var We=He.className,rt=He.children,ht=(0,y.Z)(He,nt),xt=f.useContext(v),Wt=xt.prefixCls,jt=xt.mode,Jt=xt.rtl;return f.createElement("ul",(0,ee.Z)({className:b()(Wt,Jt&&"".concat(Wt,"-rtl"),"".concat(Wt,"-sub"),"".concat(Wt,"-").concat(jt==="inline"?"inline":"vertical"),We),role:"menu"},ht,{"data-menu-list":!0,ref:at}),rt)},Gt=f.forwardRef(Rt);Gt.displayName="SubMenuList";var zt=Gt,Qt=ae(11592);function it(ke,He){return(0,Qt.Z)(ke).map(function(at,We){if(f.isValidElement(at)){var rt,ht,xt=at.key,Wt=(rt=(ht=at.props)===null||ht===void 0?void 0:ht.eventKey)!==null&&rt!==void 0?rt:xt,jt=Wt==null;jt&&(Wt="tmp_key-".concat([].concat((0,D.Z)(He),[We]).join("-")));var Jt={key:Wt,eventKey:Wt};return f.cloneElement(at,Jt)}return at})}var dt=ae(65030),St={adjustX:1,adjustY:1},Mt={topLeft:{points:["bl","tl"],overflow:St},topRight:{points:["br","tr"],overflow:St},bottomLeft:{points:["tl","bl"],overflow:St},bottomRight:{points:["tr","br"],overflow:St},leftTop:{points:["tr","tl"],overflow:St},leftBottom:{points:["br","bl"],overflow:St},rightTop:{points:["tl","tr"],overflow:St},rightBottom:{points:["bl","br"],overflow:St}},Yt={topLeft:{points:["bl","tl"],overflow:St},topRight:{points:["br","tr"],overflow:St},bottomLeft:{points:["tl","bl"],overflow:St},bottomRight:{points:["tr","br"],overflow:St},rightTop:{points:["tr","tl"],overflow:St},rightBottom:{points:["br","bl"],overflow:St},leftTop:{points:["tl","tr"],overflow:St},leftBottom:{points:["bl","br"],overflow:St}},ft=null;function H(ke,He,at){if(He)return He;if(at)return at[ke]||at.other}var Y={horizontal:"bottomLeft",vertical:"rightTop","vertical-left":"rightTop","vertical-right":"leftTop"};function J(ke){var He=ke.prefixCls,at=ke.visible,We=ke.children,rt=ke.popup,ht=ke.popupStyle,xt=ke.popupClassName,Wt=ke.popupOffset,jt=ke.disabled,Jt=ke.mode,vr=ke.onVisibleChange,Ve=f.useContext(v),$t=Ve.getPopupContainer,ar=Ve.rtl,yr=Ve.subMenuOpenDelay,or=Ve.subMenuCloseDelay,ir=Ve.builtinPlacements,hr=Ve.triggerSubMenuAction,Ar=Ve.forceSubMenuRender,Cr=Ve.rootClassName,Tr=Ve.motion,Or=Ve.defaultMotions,pr=f.useState(!1),mr=(0,W.Z)(pr,2),Zr=mr[0],jr=mr[1],rn=ar?(0,X.Z)((0,X.Z)({},Yt),ir):(0,X.Z)((0,X.Z)({},Mt),ir),Gr=Y[Jt],nn=H(Jt,Tr,Or),$r=f.useRef(nn);Jt!=="inline"&&($r.current=nn);var hn=(0,X.Z)((0,X.Z)({},$r.current),{},{leavedClassName:"".concat(He,"-hidden"),removeOnLeave:!1,motionAppear:!0}),on=f.useRef();return f.useEffect(function(){return on.current=(0,q.Z)(function(){jr(at)}),function(){q.Z.cancel(on.current)}},[at]),f.createElement(dt.Z,{prefixCls:He,popupClassName:b()("".concat(He,"-popup"),(0,te.Z)({},"".concat(He,"-rtl"),ar),xt,Cr),stretch:Jt==="horizontal"?"minWidth":null,getPopupContainer:$t,builtinPlacements:rn,popupPlacement:Gr,popupVisible:Zr,popup:rt,popupStyle:ht,popupAlign:Wt&&{offset:Wt},action:jt?[]:[hr],mouseEnterDelay:yr,mouseLeaveDelay:or,onPopupVisibleChange:vr,forceRender:Ar,popupMotion:hn,fresh:!0},We)}var le=ae(77900);function _e(ke){var He=ke.id,at=ke.open,We=ke.keyPath,rt=ke.children,ht="inline",xt=f.useContext(v),Wt=xt.prefixCls,jt=xt.forceSubMenuRender,Jt=xt.motion,vr=xt.defaultMotions,Ve=xt.mode,$t=f.useRef(!1);$t.current=Ve===ht;var ar=f.useState(!$t.current),yr=(0,W.Z)(ar,2),or=yr[0],ir=yr[1],hr=$t.current?at:!1;f.useEffect(function(){$t.current&&ir(!1)},[Ve]);var Ar=(0,X.Z)({},H(ht,Jt,vr));We.length>1&&(Ar.motionAppear=!1);var Cr=Ar.onVisibleChanged;return Ar.onVisibleChanged=function(Tr){return!$t.current&&!Tr&&ir(!0),Cr==null?void 0:Cr(Tr)},or?null:f.createElement(a,{mode:ht,locked:!$t.current},f.createElement(le.default,(0,ee.Z)({visible:hr},Ar,{forceRender:jt,removeOnLeave:!1,leavedClassName:"".concat(Wt,"-hidden")}),function(Tr){var Or=Tr.className,pr=Tr.style;return f.createElement(zt,{id:He,className:Or,style:pr},rt)}))}var Ne=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","popupStyle","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],Pe=["active"],$e=f.forwardRef(function(ke,He){var at=ke.style,We=ke.className,rt=ke.title,ht=ke.eventKey,xt=ke.warnKey,Wt=ke.disabled,jt=ke.internalPopupClose,Jt=ke.children,vr=ke.itemIcon,Ve=ke.expandIcon,$t=ke.popupClassName,ar=ke.popupOffset,yr=ke.popupStyle,or=ke.onClick,ir=ke.onMouseEnter,hr=ke.onMouseLeave,Ar=ke.onTitleClick,Cr=ke.onTitleMouseEnter,Tr=ke.onTitleMouseLeave,Or=(0,y.Z)(ke,Ne),pr=p(ht),mr=f.useContext(v),Zr=mr.prefixCls,jr=mr.mode,rn=mr.openKeys,Gr=mr.disabled,nn=mr.overflowDisabled,$r=mr.activeKey,hn=mr.selectedKeys,on=mr.itemIcon,Nr=mr.expandIcon,lr=mr.onItemClick,kt=mr.onOpenChange,Ot=mr.onActive,Zt=f.useContext(B),rr=Zt._internalRenderSubMenuItem,xr=f.useContext(O),kr=xr.isSubPathKey,Xr=R(),Mr="".concat(Zr,"-submenu"),ln=Gr||Wt,Tn=f.useRef(),mn=f.useRef(),Sn=vr!=null?vr:on,Qr=Ve!=null?Ve:Nr,Dn=rn.includes(ht),Ln=!nn&&Dn,In=kr(hn,ht),cn=ot(ht,ln,Cr,Tr),_n=cn.active,dn=(0,y.Z)(cn,Pe),Nn=f.useState(!1),Rn=(0,W.Z)(Nn,2),Un=Rn[0],Pn=Rn[1],An=function(wn){ln||Pn(wn)},Hn=function(wn){An(!0),ir==null||ir({key:ht,domEvent:wn})},Lr=function(wn){An(!1),hr==null||hr({key:ht,domEvent:wn})},zn=f.useMemo(function(){return _n||(jr!=="inline"?Un||kr([$r],ht):!1)},[jr,_n,$r,Un,ht,kr]),vn=It(Xr.length),ii=function(wn){ln||(Ar==null||Ar({key:ht,domEvent:wn}),jr==="inline"&&kt(ht,!Dn))},ai=Te(function(yn){or==null||or(er(yn)),lr(yn)}),$n=function(wn){jr!=="inline"&&kt(ht,wn)},ui=function(){Ot(ht)},jn=pr&&"".concat(pr,"-popup"),an=f.useMemo(function(){return f.createElement(cr,{icon:jr!=="horizontal"?Qr:void 0,props:(0,X.Z)((0,X.Z)({},ke),{},{isOpen:Ln,isSubMenu:!0})},f.createElement("i",{className:"".concat(Mr,"-arrow")}))},[jr,Qr,ke,Ln,Mr]),bn=f.createElement("div",(0,ee.Z)({role:"menuitem",style:vn,className:"".concat(Mr,"-title"),tabIndex:ln?null:-1,ref:Tn,title:typeof rt=="string"?rt:null,"data-menu-id":nn&&pr?null:pr,"aria-expanded":Ln,"aria-haspopup":!0,"aria-controls":jn,"aria-disabled":ln,onClick:ii,onFocus:ui},dn),rt,an),Fn=f.useRef(jr);if(jr!=="inline"&&Xr.length>1?Fn.current="vertical":Fn.current=jr,!nn){var Zn=Fn.current;bn=f.createElement(J,{mode:Zn,prefixCls:Mr,visible:!jt&&Ln&&jr!=="inline",popupClassName:$t,popupOffset:ar,popupStyle:yr,popup:f.createElement(a,{mode:Zn==="horizontal"?"vertical":Zn},f.createElement(zt,{id:jn,ref:mn},Jt)),disabled:ln,onVisibleChange:$n},bn)}var Jr=f.createElement(s.Z.Item,(0,ee.Z)({ref:He,role:"none"},Or,{component:"li",style:at,className:b()(Mr,"".concat(Mr,"-").concat(jr),We,(0,te.Z)((0,te.Z)((0,te.Z)((0,te.Z)({},"".concat(Mr,"-open"),Ln),"".concat(Mr,"-active"),zn),"".concat(Mr,"-selected"),In),"".concat(Mr,"-disabled"),ln)),onMouseEnter:Hn,onMouseLeave:Lr}),bn,!nn&&f.createElement(_e,{id:jn,open:Ln,keyPath:Xr},Jt));return rr&&(Jr=rr(Jr,ke,{selected:In,active:zn,open:Ln,disabled:ln})),f.createElement(a,{onItemClick:ai,mode:jr==="horizontal"?"vertical":jr,itemIcon:Sn,expandIcon:Qr},Jr)}),Ye=f.forwardRef(function(ke,He){var at=ke.eventKey,We=ke.children,rt=R(at),ht=it(We,rt),xt=S();f.useEffect(function(){if(xt)return xt.registerPath(at,rt),function(){xt.unregisterPath(at,rt)}},[rt]);var Wt;return xt?Wt=ht:Wt=f.createElement($e,(0,ee.Z)({ref:He},ke),ht),f.createElement(w.Provider,{value:rt},Wt)}),Lt=Ye,Ht=ae(76190);function Me(ke){var He=ke.className,at=ke.style,We=f.useContext(v),rt=We.prefixCls,ht=S();return ht?null:f.createElement("li",{role:"separator",className:b()("".concat(rt,"-item-divider"),He),style:at})}var be=["className","title","eventKey","children"],ut=f.forwardRef(function(ke,He){var at=ke.className,We=ke.title,rt=ke.eventKey,ht=ke.children,xt=(0,y.Z)(ke,be),Wt=f.useContext(v),jt=Wt.prefixCls,Jt="".concat(jt,"-item-group");return f.createElement("li",(0,ee.Z)({ref:He,role:"presentation"},xt,{onClick:function(Ve){return Ve.stopPropagation()},className:b()(Jt,at)}),f.createElement("div",{role:"presentation",className:"".concat(Jt,"-title"),title:typeof We=="string"?We:void 0},We),f.createElement("ul",{role:"group",className:"".concat(Jt,"-list")},ht))}),Ze=f.forwardRef(function(ke,He){var at=ke.eventKey,We=ke.children,rt=R(at),ht=it(We,rt),xt=S();return xt?ht:f.createElement(ut,(0,ee.Z)({ref:He},(0,Nt.Z)(ke,["warnKey"])),ht)}),je=Ze,Qe=["label","children","key","type","extra"];function yt(ke,He,at){var We=He.item,rt=He.group,ht=He.submenu,xt=He.divider;return(ke||[]).map(function(Wt,jt){if(Wt&&(0,Ht.Z)(Wt)==="object"){var Jt=Wt,vr=Jt.label,Ve=Jt.children,$t=Jt.key,ar=Jt.type,yr=Jt.extra,or=(0,y.Z)(Jt,Qe),ir=$t!=null?$t:"tmp-".concat(jt);return Ve||ar==="group"?ar==="group"?f.createElement(rt,(0,ee.Z)({key:ir},or,{title:vr}),yt(Ve,He,at)):f.createElement(ht,(0,ee.Z)({key:ir},or,{title:vr}),yt(Ve,He,at)):ar==="divider"?f.createElement(xt,(0,ee.Z)({key:ir},or)):f.createElement(We,(0,ee.Z)({key:ir},or,{extra:yr}),vr,(!!yr||yr===0)&&f.createElement("span",{className:"".concat(at,"-item-extra")},yr))}return null}).filter(function(Wt){return Wt})}function mt(ke,He,at,We,rt){var ht=ke,xt=(0,X.Z)({divider:Me,item:Dt,group:je,submenu:Lt},We);return He&&(ht=yt(He,xt,rt)),it(ht,at)}var Ft=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem","_internalComponents"],At=[],Pt=f.forwardRef(function(ke,He){var at,We=ke,rt=We.prefixCls,ht=rt===void 0?"rc-menu":rt,xt=We.rootClassName,Wt=We.style,jt=We.className,Jt=We.tabIndex,vr=Jt===void 0?0:Jt,Ve=We.items,$t=We.children,ar=We.direction,yr=We.id,or=We.mode,ir=or===void 0?"vertical":or,hr=We.inlineCollapsed,Ar=We.disabled,Cr=We.disabledOverflow,Tr=We.subMenuOpenDelay,Or=Tr===void 0?.1:Tr,pr=We.subMenuCloseDelay,mr=pr===void 0?.1:pr,Zr=We.forceSubMenuRender,jr=We.defaultOpenKeys,rn=We.openKeys,Gr=We.activeKey,nn=We.defaultActiveFirst,$r=We.selectable,hn=$r===void 0?!0:$r,on=We.multiple,Nr=on===void 0?!1:on,lr=We.defaultSelectedKeys,kt=We.selectedKeys,Ot=We.onSelect,Zt=We.onDeselect,rr=We.inlineIndent,xr=rr===void 0?24:rr,kr=We.motion,Xr=We.defaultMotions,Mr=We.triggerSubMenuAction,ln=Mr===void 0?"hover":Mr,Tn=We.builtinPlacements,mn=We.itemIcon,Sn=We.expandIcon,Qr=We.overflowedIndicator,Dn=Qr===void 0?"...":Qr,Ln=We.overflowedIndicatorPopupClassName,In=We.getPopupContainer,cn=We.onClick,_n=We.onOpenChange,dn=We.onKeyDown,Nn=We.openAnimation,Rn=We.openTransitionName,Un=We._internalRenderMenuItem,Pn=We._internalRenderSubMenuItem,An=We._internalComponents,Hn=(0,y.Z)(We,Ft),Lr=f.useMemo(function(){return[mt($t,Ve,At,An,ht),mt($t,Ve,At,{},ht)]},[$t,Ve,An]),zn=(0,W.Z)(Lr,2),vn=zn[0],ii=zn[1],ai=f.useState(!1),$n=(0,W.Z)(ai,2),ui=$n[0],jn=$n[1],an=f.useRef(),bn=Xe(yr),Fn=ar==="rtl",Zn=(0,T.Z)(jr,{value:rn,postState:function(En){return En||At}}),Jr=(0,W.Z)(Zn,2),yn=Jr[0],wn=Jr[1],Er=function(En){var Cn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;function ei(){wn(En),_n==null||_n(En)}Cn?(0,i.flushSync)(ei):ei()},Fr=f.useState(yn),br=(0,W.Z)(Fr,2),Ur=br[0],qr=br[1],un=f.useRef(!1),Xn=f.useMemo(function(){return(ir==="inline"||ir==="vertical")&&hr?["vertical",hr]:[ir,!1]},[ir,hr]),ur=(0,W.Z)(Xn,2),Rr=ur[0],Vr=ur[1],Kr=Rr==="inline",Hr=f.useState(Rr),Qn=(0,W.Z)(Hr,2),kn=Qn[0],Jn=Qn[1],Wn=f.useState(Vr),Ui=(0,W.Z)(Wn,2),_a=Ui[0],ma=Ui[1];f.useEffect(function(){Jn(Rr),ma(Vr),un.current&&(Kr?wn(Ur):Er(At))},[Rr,Vr]);var yi=f.useState(0),Pi=(0,W.Z)(yi,2),ci=Pi[0],pa=Pi[1],Fi=ci>=vn.length-1||kn!=="horizontal"||Cr;f.useEffect(function(){Kr&&qr(yn)},[yn]),f.useEffect(function(){return un.current=!0,function(){un.current=!1}},[]);var Ei=ce(),ki=Ei.registerPath,Zi=Ei.unregisterPath,ea=Ei.refreshOverflowKeys,Mi=Ei.isSubPathKey,ga=Ei.getKeyPath,qn=Ei.getKeys,ta=Ei.getSubPathKeys,va=f.useMemo(function(){return{registerPath:ki,unregisterPath:Zi}},[ki,Zi]),ra=f.useMemo(function(){return{isSubPathKey:Mi}},[Mi]);f.useEffect(function(){ea(Fi?At:vn.slice(ci+1).map(function(Mn){return Mn.key}))},[ci,Fi]);var na=(0,T.Z)(Gr||nn&&((at=vn[0])===null||at===void 0?void 0:at.key),{value:Gr}),Wi=(0,W.Z)(na,2),pi=Wi[0],en=Wi[1],Yr=Te(function(Mn){en(Mn)}),Kn=Te(function(){en(void 0)});(0,f.useImperativeHandle)(He,function(){return{list:an.current,focus:function(En){var Cn,ei=qn(),ti=Le(ei,bn),ia=ti.elements,aa=ti.key2element,Xi=ti.element2key,Pa=Re(an.current,ia),Ea=pi!=null?pi:Pa[0]?Xi.get(Pa[0]):(Cn=vn.find(function(Ma){return!Ma.props.disabled}))===null||Cn===void 0?void 0:Cn.key,Gi=aa.get(Ea);if(Ea&&Gi){var xa;Gi==null||(xa=Gi.focus)===null||xa===void 0||xa.call(Gi,En)}}}});var Gn=(0,T.Z)(lr||[],{value:kt,postState:function(En){return Array.isArray(En)?En:En==null?At:[En]}}),pn=(0,W.Z)(Gn,2),On=pn[0],si=pn[1],oi=function(En){if(hn){var Cn=En.key,ei=On.includes(Cn),ti;Nr?ei?ti=On.filter(function(aa){return aa!==Cn}):ti=[].concat((0,D.Z)(On),[Cn]):ti=[Cn],si(ti);var ia=(0,X.Z)((0,X.Z)({},En),{},{selectedKeys:ti});ei?Zt==null||Zt(ia):Ot==null||Ot(ia)}!Nr&&yn.length&&kn!=="inline"&&Er(At)},xi=Te(function(Mn){cn==null||cn(er(Mn)),oi(Mn)}),Ti=Te(function(Mn,En){var Cn=yn.filter(function(ti){return ti!==Mn});if(En)Cn.push(Mn);else if(kn!=="inline"){var ei=ta(Mn);Cn=Cn.filter(function(ti){return!ei.has(ti)})}(0,c.Z)(yn,Cn,!0)||Er(Cn,!0)}),Ai=function(En,Cn){var ei=Cn!=null?Cn:!yn.includes(En);Ti(En,ei)},Ki=Ue(kn,pi,Fn,bn,an,qn,ga,en,Ai,dn);f.useEffect(function(){jn(!0)},[]);var Oi=f.useMemo(function(){return{_internalRenderMenuItem:Un,_internalRenderSubMenuItem:Pn}},[Un,Pn]),Ia=kn!=="horizontal"||Cr?vn:vn.map(function(Mn,En){return f.createElement(a,{key:Mn.key,overflowDisabled:En>ci},Mn)}),ya=f.createElement(s.Z,(0,ee.Z)({id:yr,ref:an,prefixCls:"".concat(ht,"-overflow"),component:"ul",itemComponent:Dt,className:b()(ht,"".concat(ht,"-root"),"".concat(ht,"-").concat(kn),jt,(0,te.Z)((0,te.Z)({},"".concat(ht,"-inline-collapsed"),_a),"".concat(ht,"-rtl"),Fn),xt),dir:ar,style:Wt,role:"menu",tabIndex:vr,data:Ia,renderRawItem:function(En){return En},renderRawRest:function(En){var Cn=En.length,ei=Cn?vn.slice(-Cn):null;return f.createElement(Lt,{eventKey:ye,title:Dn,disabled:Fi,internalPopupClose:Cn===0,popupClassName:Ln},ei)},maxCount:kn!=="horizontal"||Cr?s.Z.INVALIDATE:s.Z.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(En){pa(En)},onKeyDown:Ki},Hn));return f.createElement(B.Provider,{value:Oi},f.createElement(o.Provider,{value:bn},f.createElement(a,{prefixCls:ht,rootClassName:xt,mode:kn,openKeys:yn,rtl:Fn,disabled:Ar,motion:ui?kr:null,defaultMotions:ui?Xr:null,activeKey:pi,onActive:Yr,onInactive:Kn,selectedKeys:On,inlineIndent:xr,subMenuOpenDelay:Or,subMenuCloseDelay:mr,forceSubMenuRender:Zr,builtinPlacements:Tn,triggerSubMenuAction:ln,getPopupContainer:In,itemIcon:mn,expandIcon:Sn,onItemClick:xi,onOpenChange:Ti},f.createElement(O.Provider,{value:ra},ya),f.createElement("div",{style:{display:"none"},"aria-hidden":!0},f.createElement(E.Provider,{value:va},ii)))))}),Tt=Pt,Xt=Tt;Xt.Item=Dt,Xt.SubMenu=Lt,Xt.ItemGroup=je,Xt.Divider=Me;var Ut=Xt},83836:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return V}});var ee=ae(54476),te=ae(33885),X=ae(42978),D=ae(75931),W=ae(59301),y=ae(92310),L=ae.n(y),b=ae(29301),s=ae(34280),T=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],c=void 0;function u(C,M){var z=C.prefixCls,$=C.invalidate,q=C.item,se=C.renderItem,ue=C.responsive,pe=C.responsiveDisabled,Ee=C.registerSize,De=C.itemKey,Fe=C.className,Ge=C.style,xe=C.children,Ke=C.display,Ce=C.order,Se=C.component,ge=Se===void 0?"div":Se,Re=(0,D.Z)(C,T),ve=ue&&!Ke;function Le(he){Ee(De,he)}W.useEffect(function(){return function(){Le(null)}},[]);var Ue=se&&q!==c?se(q,{index:Ce}):xe,me;$||(me={opacity:ve?0:1,height:ve?0:c,overflowY:ve?"hidden":c,order:ue?Ce:c,pointerEvents:ve?"none":c,position:ve?"absolute":c});var oe={};ve&&(oe["aria-hidden"]=!0);var ie=W.createElement(ge,(0,ee.Z)({className:L()(!$&&z,Fe),style:(0,te.Z)((0,te.Z)({},me),Ge)},oe,Re,{ref:M}),Ue);return ue&&(ie=W.createElement(b.Z,{onResize:function(ye){var ce=ye.offsetWidth;Le(ce)},disabled:pe},ie)),ie}var f=W.forwardRef(u);f.displayName="Item";var i=f,o=ae(6089),d=ae(4676),p=ae(16089);function m(C){if(typeof MessageChannel=="undefined")(0,p.Z)(C);else{var M=new MessageChannel;M.port1.onmessage=function(){return C()},M.port2.postMessage(void 0)}}function h(){var C=W.useRef(null),M=function($){C.current||(C.current=[],m(function(){(0,d.unstable_batchedUpdates)(function(){C.current.forEach(function(q){q()}),C.current=null})})),C.current.push($)};return M}function v(C,M){var z=W.useState(M),$=(0,X.Z)(z,2),q=$[0],se=$[1],ue=(0,o.Z)(function(pe){C(function(){se(pe)})});return[q,ue]}var r=W.createContext(null),a=["component"],g=["className"],E=["className"],S=function(M,z){var $=W.useContext(r);if(!$){var q=M.component,se=q===void 0?"div":q,ue=(0,D.Z)(M,a);return W.createElement(se,(0,ee.Z)({},ue,{ref:z}))}var pe=$.className,Ee=(0,D.Z)($,g),De=M.className,Fe=(0,D.Z)(M,E);return W.createElement(r.Provider,{value:null},W.createElement(i,(0,ee.Z)({ref:z,className:L()(pe,De)},Ee,Fe)))},w=W.forwardRef(S);w.displayName="RawItem";var R=w,O=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","prefix","suffix","component","itemComponent","onVisibleChange"],G="responsive",B="invalidate";function P(C){return"+ ".concat(C.length," ...")}function F(C,M){var z=C.prefixCls,$=z===void 0?"rc-overflow":z,q=C.data,se=q===void 0?[]:q,ue=C.renderItem,pe=C.renderRawItem,Ee=C.itemKey,De=C.itemWidth,Fe=De===void 0?10:De,Ge=C.ssr,xe=C.style,Ke=C.className,Ce=C.maxCount,Se=C.renderRest,ge=C.renderRawRest,Re=C.prefix,ve=C.suffix,Le=C.component,Ue=Le===void 0?"div":Le,me=C.itemComponent,oe=C.onVisibleChange,ie=(0,D.Z)(C,O),he=Ge==="full",ye=h(),ce=v(ye,null),Te=(0,X.Z)(ce,2),Oe=Te[0],Be=Te[1],Xe=Oe||0,lt=v(ye,new Map),_t=(0,X.Z)(lt,2),tt=_t[0],bt=_t[1],Nt=v(ye,0),Bt=(0,X.Z)(Nt,2),ot=Bt[0],It=Bt[1],cr=v(ye,0),wr=(0,X.Z)(cr,2),er=wr[0],Wr=wr[1],Ct=v(ye,0),Et=(0,X.Z)(Ct,2),vt=Et[0],nr=Et[1],qt=v(ye,0),Dt=(0,X.Z)(qt,2),nt=Dt[0],Rt=Dt[1],Gt=(0,W.useState)(null),zt=(0,X.Z)(Gt,2),Qt=zt[0],it=zt[1],dt=(0,W.useState)(null),St=(0,X.Z)(dt,2),Mt=St[0],Yt=St[1],ft=W.useMemo(function(){return Mt===null&&he?Number.MAX_SAFE_INTEGER:Mt||0},[Mt,Oe]),H=(0,W.useState)(!1),Y=(0,X.Z)(H,2),J=Y[0],le=Y[1],_e="".concat($,"-item"),Ne=Math.max(ot,er),Pe=Ce===G,$e=se.length&&Pe,Ye=Ce===B,Lt=$e||typeof Ce=="number"&&se.length>Ce,Ht=(0,W.useMemo)(function(){var rt=se;return $e?Oe===null&&he?rt=se:rt=se.slice(0,Math.min(se.length,Xe/Fe)):typeof Ce=="number"&&(rt=se.slice(0,Ce)),rt},[se,Fe,Oe,Ce,$e]),Me=(0,W.useMemo)(function(){return $e?se.slice(ft+1):se.slice(Ht.length)},[se,Ht,$e,ft]),be=(0,W.useCallback)(function(rt,ht){var xt;return typeof Ee=="function"?Ee(rt):(xt=Ee&&(rt==null?void 0:rt[Ee]))!==null&&xt!==void 0?xt:ht},[Ee]),ut=(0,W.useCallback)(ue||function(rt){return rt},[ue]);function Ze(rt,ht,xt){Mt===rt&&(ht===void 0||ht===Qt)||(Yt(rt),xt||(le(rt<se.length-1),oe==null||oe(rt)),ht!==void 0&&it(ht))}function je(rt,ht){Be(ht.clientWidth)}function Qe(rt,ht){bt(function(xt){var Wt=new Map(xt);return ht===null?Wt.delete(rt):Wt.set(rt,ht),Wt})}function yt(rt,ht){Wr(ht),It(er)}function mt(rt,ht){nr(ht)}function Ft(rt,ht){Rt(ht)}function At(rt){return tt.get(be(Ht[rt],rt))}(0,s.Z)(function(){if(Xe&&typeof Ne=="number"&&Ht){var rt=vt+nt,ht=Ht.length,xt=ht-1;if(!ht){Ze(0,null);return}for(var Wt=0;Wt<ht;Wt+=1){var jt=At(Wt);if(he&&(jt=jt||0),jt===void 0){Ze(Wt-1,void 0,!0);break}if(rt+=jt,xt===0&&rt<=Xe||Wt===xt-1&&rt+At(xt)<=Xe){Ze(xt,null);break}else if(rt+Ne>Xe){Ze(Wt-1,rt-jt-nt+er);break}}ve&&At(0)+nt>Xe&&it(null)}},[Xe,tt,er,vt,nt,be,Ht]);var Pt=J&&!!Me.length,Tt={};Qt!==null&&$e&&(Tt={position:"absolute",left:Qt,top:0});var Xt={prefixCls:_e,responsive:$e,component:me,invalidate:Ye},Ut=pe?function(rt,ht){var xt=be(rt,ht);return W.createElement(r.Provider,{key:xt,value:(0,te.Z)((0,te.Z)({},Xt),{},{order:ht,item:rt,itemKey:xt,registerSize:Qe,display:ht<=ft})},pe(rt,ht))}:function(rt,ht){var xt=be(rt,ht);return W.createElement(i,(0,ee.Z)({},Xt,{order:ht,key:xt,item:rt,renderItem:ut,itemKey:xt,registerSize:Qe,display:ht<=ft}))},ke={order:Pt?ft:Number.MAX_SAFE_INTEGER,className:"".concat(_e,"-rest"),registerSize:yt,display:Pt},He=Se||P,at=ge?W.createElement(r.Provider,{value:(0,te.Z)((0,te.Z)({},Xt),ke)},ge(Me)):W.createElement(i,(0,ee.Z)({},Xt,ke),typeof He=="function"?He(Me):He),We=W.createElement(Ue,(0,ee.Z)({className:L()(!Ye&&$,Ke),style:xe,ref:M},ie),Re&&W.createElement(i,(0,ee.Z)({},Xt,{responsive:Pe,responsiveDisabled:!$e,order:-1,className:"".concat(_e,"-prefix"),registerSize:mt,display:!0}),Re),Ht.map(Ut),Lt?at:null,ve&&W.createElement(i,(0,ee.Z)({},Xt,{responsive:Pe,responsiveDisabled:!$e,order:ft,className:"".concat(_e,"-suffix"),registerSize:Ft,display:!0,style:Tt}),ve));return Pe?W.createElement(b.Z,{onResize:je,disabled:!$e},We):We}var K=W.forwardRef(F);K.displayName="Overflow",K.Item=R,K.RESPONSIVE=G,K.INVALIDATE=B;var U=K,V=U},25930:function(tr,qe,ae){"use strict";ae.d(qe,{Cd:function(){return O}});var ee=ae(54476),te=ae(33885),X=ae(75931),D=ae(59301),W=ae(92310),y=ae.n(W),L={percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,trailColor:"#D9D9D9",trailWidth:1,gapPosition:"bottom"},b=function(){var P=(0,D.useRef)([]),F=(0,D.useRef)(null);return(0,D.useEffect)(function(){var K=Date.now(),U=!1;P.current.forEach(function(V){if(V){U=!0;var C=V.style;C.transitionDuration=".3s, .3s, .3s, .06s",F.current&&K-F.current<100&&(C.transitionDuration="0s, 0s")}}),U&&(F.current=Date.now())}),P.current},s=["className","percent","prefixCls","strokeColor","strokeLinecap","strokeWidth","style","trailColor","trailWidth","transition"],T=function(P){var F=(0,te.Z)((0,te.Z)({},L),P),K=F.className,U=F.percent,V=F.prefixCls,C=F.strokeColor,M=F.strokeLinecap,z=F.strokeWidth,$=F.style,q=F.trailColor,se=F.trailWidth,ue=F.transition,pe=(0,X.Z)(F,s);delete pe.gapPosition;var Ee=Array.isArray(U)?U:[U],De=Array.isArray(C)?C:[C],Fe=b(),Ge=z/2,xe=100-z/2,Ke="M ".concat(M==="round"?Ge:0,",").concat(Ge,`
L `).concat(M==="round"?xe:100,",").concat(Ge),Ce="0 0 100 ".concat(z),Se=0;return D.createElement("svg",(0,ee.Z)({className:y()("".concat(V,"-line"),K),viewBox:Ce,preserveAspectRatio:"none",style:$},pe),D.createElement("path",{className:"".concat(V,"-line-trail"),d:Ke,strokeLinecap:M,stroke:q,strokeWidth:se||z,fillOpacity:"0"}),Ee.map(function(ge,Re){var ve=1;switch(M){case"round":ve=1-z/100;break;case"square":ve=1-z/2/100;break;default:ve=1;break}var Le={strokeDasharray:"".concat(ge*ve,"px, 100px"),strokeDashoffset:"-".concat(Se,"px"),transition:ue||"stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear"},Ue=De[Re]||De[De.length-1];return Se+=ge,D.createElement("path",{key:Re,className:"".concat(V,"-line-path"),d:Ke,strokeLinecap:M,stroke:Ue,strokeWidth:z,fillOpacity:"0",ref:function(oe){Fe[Re]=oe},style:Le})}))},c=T,u=ae(76190),f=ae(42978),i=ae(47273),o=0,d=(0,i.Z)();function p(){var B;return d?(B=o,o+=1):B="TEST_OR_SSR",B}var m=function(B){var P=D.useState(),F=(0,f.Z)(P,2),K=F[0],U=F[1];return D.useEffect(function(){U("rc_progress_".concat(p()))},[]),B||K},h=function(P){var F=P.bg,K=P.children;return D.createElement("div",{style:{width:"100%",height:"100%",background:F}},K)};function v(B,P){return Object.keys(B).map(function(F){var K=parseFloat(F),U="".concat(Math.floor(K*P),"%");return"".concat(B[F]," ").concat(U)})}var r=D.forwardRef(function(B,P){var F=B.prefixCls,K=B.color,U=B.gradientId,V=B.radius,C=B.style,M=B.ptg,z=B.strokeLinecap,$=B.strokeWidth,q=B.size,se=B.gapDegree,ue=K&&(0,u.Z)(K)==="object",pe=ue?"#FFF":void 0,Ee=q/2,De=D.createElement("circle",{className:"".concat(F,"-circle-path"),r:V,cx:Ee,cy:Ee,stroke:pe,strokeLinecap:z,strokeWidth:$,opacity:M===0?0:1,style:C,ref:P});if(!ue)return De;var Fe="".concat(U,"-conic"),Ge=se?"".concat(180+se/2,"deg"):"0deg",xe=v(K,(360-se)/360),Ke=v(K,1),Ce="conic-gradient(from ".concat(Ge,", ").concat(xe.join(", "),")"),Se="linear-gradient(to ".concat(se?"bottom":"top",", ").concat(Ke.join(", "),")");return D.createElement(D.Fragment,null,D.createElement("mask",{id:Fe},De),D.createElement("foreignObject",{x:0,y:0,width:q,height:q,mask:"url(#".concat(Fe,")")},D.createElement(h,{bg:Se},D.createElement(h,{bg:Ce}))))}),a=r,g=100,E=function(P,F,K,U,V,C,M,z,$,q){var se=arguments.length>10&&arguments[10]!==void 0?arguments[10]:0,ue=K/100*360*((360-C)/360),pe=C===0?0:{bottom:0,top:180,left:90,right:-90}[M],Ee=(100-U)/100*F;$==="round"&&U!==100&&(Ee+=q/2,Ee>=F&&(Ee=F-.01));var De=g/2;return{stroke:typeof z=="string"?z:void 0,strokeDasharray:"".concat(F,"px ").concat(P),strokeDashoffset:Ee+se,transform:"rotate(".concat(V+ue+pe,"deg)"),transformOrigin:"".concat(De,"px ").concat(De,"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s",fillOpacity:0}},S=["id","prefixCls","steps","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor","percent"];function w(B){var P=B!=null?B:[];return Array.isArray(P)?P:[P]}var R=function(P){var F=(0,te.Z)((0,te.Z)({},L),P),K=F.id,U=F.prefixCls,V=F.steps,C=F.strokeWidth,M=F.trailWidth,z=F.gapDegree,$=z===void 0?0:z,q=F.gapPosition,se=F.trailColor,ue=F.strokeLinecap,pe=F.style,Ee=F.className,De=F.strokeColor,Fe=F.percent,Ge=(0,X.Z)(F,S),xe=g/2,Ke=m(K),Ce="".concat(Ke,"-gradient"),Se=xe-C/2,ge=Math.PI*2*Se,Re=$>0?90+$/2:-90,ve=ge*((360-$)/360),Le=(0,u.Z)(V)==="object"?V:{count:V,gap:2},Ue=Le.count,me=Le.gap,oe=w(Fe),ie=w(De),he=ie.find(function(lt){return lt&&(0,u.Z)(lt)==="object"}),ye=he&&(0,u.Z)(he)==="object",ce=ye?"butt":ue,Te=E(ge,ve,0,100,Re,$,q,se,ce,C),Oe=b(),Be=function(){var _t=0;return oe.map(function(tt,bt){var Nt=ie[bt]||ie[ie.length-1],Bt=E(ge,ve,_t,tt,Re,$,q,Nt,ce,C);return _t+=tt,D.createElement(a,{key:bt,color:Nt,ptg:tt,radius:Se,prefixCls:U,gradientId:Ce,style:Bt,strokeLinecap:ce,strokeWidth:C,gapDegree:$,ref:function(It){Oe[bt]=It},size:g})}).reverse()},Xe=function(){var _t=Math.round(Ue*(oe[0]/100)),tt=100/Ue,bt=0;return new Array(Ue).fill(null).map(function(Nt,Bt){var ot=Bt<=_t-1?ie[0]:se,It=ot&&(0,u.Z)(ot)==="object"?"url(#".concat(Ce,")"):void 0,cr=E(ge,ve,bt,tt,Re,$,q,ot,"butt",C,me);return bt+=(ve-cr.strokeDashoffset+me)*100/ve,D.createElement("circle",{key:Bt,className:"".concat(U,"-circle-path"),r:Se,cx:xe,cy:xe,stroke:It,strokeWidth:C,opacity:1,style:cr,ref:function(er){Oe[Bt]=er}})})};return D.createElement("svg",(0,ee.Z)({className:y()("".concat(U,"-circle"),Ee),viewBox:"0 0 ".concat(g," ").concat(g),style:pe,id:K,role:"presentation"},Ge),!Ue&&D.createElement("circle",{className:"".concat(U,"-circle-trail"),r:Se,cx:xe,cy:xe,stroke:se,strokeLinecap:ce,strokeWidth:M||C,style:Te}),Ue?Xe():Be())},O=R,G={Line:c,Circle:O}},738:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return v}});var ee=ae(54476),te=ae(20068),X=ae(42978),D=ae(75931),W=ae(92310),y=ae.n(W),L=ae(18929),b=ae(10228),s=ae(26112),T=ae(59301);function c(r,a){var g=r.disabled,E=r.prefixCls,S=r.character,w=r.characterRender,R=r.index,O=r.count,G=r.value,B=r.allowHalf,P=r.focused,F=r.onHover,K=r.onClick,U=function(ue){F(ue,R)},V=function(ue){K(ue,R)},C=function(ue){ue.keyCode===b.Z.ENTER&&K(ue,R)},M=R+1,z=new Set([E]);G===0&&R===0&&P?z.add("".concat(E,"-focused")):B&&G+.5>=M&&G<M?(z.add("".concat(E,"-half")),z.add("".concat(E,"-active")),P&&z.add("".concat(E,"-focused"))):(M<=G?z.add("".concat(E,"-full")):z.add("".concat(E,"-zero")),M===G&&P&&z.add("".concat(E,"-focused")));var $=typeof S=="function"?S(r):S,q=T.createElement("li",{className:y()(Array.from(z)),ref:a},T.createElement("div",{onClick:g?null:V,onKeyDown:g?null:C,onMouseMove:g?null:U,role:"radio","aria-checked":G>R?"true":"false","aria-posinset":R+1,"aria-setsize":O,tabIndex:g?-1:0},T.createElement("div",{className:"".concat(E,"-first")},$),T.createElement("div",{className:"".concat(E,"-second")},$)));return w&&(q=w(q,r)),q}var u=T.forwardRef(c);function f(){var r=T.useRef({});function a(E){return r.current[E]}function g(E){return function(S){r.current[E]=S}}return[a,g]}function i(r){var a=r.pageXOffset,g="scrollLeft";if(typeof a!="number"){var E=r.document;a=E.documentElement[g],typeof a!="number"&&(a=E.body[g])}return a}function o(r){var a,g,E=r.ownerDocument,S=E.body,w=E&&E.documentElement,R=r.getBoundingClientRect();return a=R.left,g=R.top,a-=w.clientLeft||S.clientLeft||0,g-=w.clientTop||S.clientTop||0,{left:a,top:g}}function d(r){var a=o(r),g=r.ownerDocument,E=g.defaultView||g.parentWindow;return a.left+=i(E),a.left}var p=["prefixCls","className","defaultValue","value","count","allowHalf","allowClear","keyboard","character","characterRender","disabled","direction","tabIndex","autoFocus","onHoverChange","onChange","onFocus","onBlur","onKeyDown","onMouseLeave"];function m(r,a){var g=r.prefixCls,E=g===void 0?"rc-rate":g,S=r.className,w=r.defaultValue,R=r.value,O=r.count,G=O===void 0?5:O,B=r.allowHalf,P=B===void 0?!1:B,F=r.allowClear,K=F===void 0?!0:F,U=r.keyboard,V=U===void 0?!0:U,C=r.character,M=C===void 0?"\u2605":C,z=r.characterRender,$=r.disabled,q=r.direction,se=q===void 0?"ltr":q,ue=r.tabIndex,pe=ue===void 0?0:ue,Ee=r.autoFocus,De=r.onHoverChange,Fe=r.onChange,Ge=r.onFocus,xe=r.onBlur,Ke=r.onKeyDown,Ce=r.onMouseLeave,Se=(0,D.Z)(r,p),ge=f(),Re=(0,X.Z)(ge,2),ve=Re[0],Le=Re[1],Ue=T.useRef(null),me=function(){if(!$){var nt;(nt=Ue.current)===null||nt===void 0||nt.focus()}};T.useImperativeHandle(a,function(){return{focus:me,blur:function(){if(!$){var nt;(nt=Ue.current)===null||nt===void 0||nt.blur()}}}});var oe=(0,L.Z)(w||0,{value:R}),ie=(0,X.Z)(oe,2),he=ie[0],ye=ie[1],ce=(0,L.Z)(null),Te=(0,X.Z)(ce,2),Oe=Te[0],Be=Te[1],Xe=function(nt,Rt){var Gt=se==="rtl",zt=nt+1;if(P){var Qt=ve(nt),it=d(Qt),dt=Qt.clientWidth;(Gt&&Rt-it>dt/2||!Gt&&Rt-it<dt/2)&&(zt-=.5)}return zt},lt=function(nt){ye(nt),Fe==null||Fe(nt)},_t=T.useState(!1),tt=(0,X.Z)(_t,2),bt=tt[0],Nt=tt[1],Bt=function(){Nt(!0),Ge==null||Ge()},ot=function(){Nt(!1),xe==null||xe()},It=T.useState(null),cr=(0,X.Z)(It,2),wr=cr[0],er=cr[1],Wr=function(nt,Rt){var Gt=Xe(Rt,nt.pageX);Gt!==Oe&&(er(Gt),Be(null)),De==null||De(Gt)},Ct=function(nt){$||(er(null),Be(null),De==null||De(void 0)),nt&&(Ce==null||Ce(nt))},Et=function(nt,Rt){var Gt=Xe(Rt,nt.pageX),zt=!1;K&&(zt=Gt===he),Ct(),lt(zt?0:Gt),Be(zt?Gt:null)},vt=function(nt){var Rt=nt.keyCode,Gt=se==="rtl",zt=P?.5:1;V&&(Rt===b.Z.RIGHT&&he<G&&!Gt?(lt(he+zt),nt.preventDefault()):Rt===b.Z.LEFT&&he>0&&!Gt||Rt===b.Z.RIGHT&&he>0&&Gt?(lt(he-zt),nt.preventDefault()):Rt===b.Z.LEFT&&he<G&&Gt&&(lt(he+zt),nt.preventDefault())),Ke==null||Ke(nt)};T.useEffect(function(){Ee&&!$&&me()},[]);var nr=new Array(G).fill(0).map(function(Dt,nt){return T.createElement(u,{ref:Le(nt),index:nt,count:G,disabled:$,prefixCls:"".concat(E,"-star"),allowHalf:P,value:wr===null?he:wr,onClick:Et,onHover:Wr,key:Dt||nt,character:M,characterRender:z,focused:bt})}),qt=y()(E,S,(0,te.Z)((0,te.Z)({},"".concat(E,"-disabled"),$),"".concat(E,"-rtl"),se==="rtl"));return T.createElement("ul",(0,ee.Z)({className:qt,onMouseLeave:Ct,tabIndex:$?-1:pe,onFocus:$?null:Bt,onBlur:$?null:ot,onKeyDown:$?null:vt,ref:Ue},(0,s.Z)(Se,{aria:!0,data:!0,attr:!0})),nr)}var h=T.forwardRef(m),v=h},29301:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return B}});var ee=ae(54476),te=ae(59301),X=ae(11592),D=ae(48736),W=ae(33885),y=ae(76190),L=ae(76846),b=ae(8654),s=te.createContext(null);function T(P){var F=P.children,K=P.onBatchResize,U=te.useRef(0),V=te.useRef([]),C=te.useContext(s),M=te.useCallback(function(z,$,q){U.current+=1;var se=U.current;V.current.push({size:z,element:$,data:q}),Promise.resolve().then(function(){se===U.current&&(K==null||K(V.current),V.current=[])}),C==null||C(z,$,q)},[K,C]);return te.createElement(s.Provider,{value:M},F)}var c=ae(76374),u=new Map;function f(P){P.forEach(function(F){var K,U=F.target;(K=u.get(U))===null||K===void 0||K.forEach(function(V){return V(U)})})}var i=new c.Z(f),o=null,d=null;function p(P,F){u.has(P)||(u.set(P,new Set),i.observe(P)),u.get(P).add(F)}function m(P,F){u.has(P)&&(u.get(P).delete(F),u.get(P).size||(i.unobserve(P),u.delete(P)))}var h=ae(67732),v=ae(83652),r=ae(42403),a=ae(158),g=function(P){(0,r.Z)(K,P);var F=(0,a.Z)(K);function K(){return(0,h.Z)(this,K),F.apply(this,arguments)}return(0,v.Z)(K,[{key:"render",value:function(){return this.props.children}}]),K}(te.Component);function E(P,F){var K=P.children,U=P.disabled,V=te.useRef(null),C=te.useRef(null),M=te.useContext(s),z=typeof K=="function",$=z?K(V):K,q=te.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),se=!z&&te.isValidElement($)&&(0,b.Yr)($),ue=se?(0,b.C4)($):null,pe=(0,b.x1)(ue,V),Ee=function(){var xe;return(0,L.ZP)(V.current)||(V.current&&(0,y.Z)(V.current)==="object"?(0,L.ZP)((xe=V.current)===null||xe===void 0?void 0:xe.nativeElement):null)||(0,L.ZP)(C.current)};te.useImperativeHandle(F,function(){return Ee()});var De=te.useRef(P);De.current=P;var Fe=te.useCallback(function(Ge){var xe=De.current,Ke=xe.onResize,Ce=xe.data,Se=Ge.getBoundingClientRect(),ge=Se.width,Re=Se.height,ve=Ge.offsetWidth,Le=Ge.offsetHeight,Ue=Math.floor(ge),me=Math.floor(Re);if(q.current.width!==Ue||q.current.height!==me||q.current.offsetWidth!==ve||q.current.offsetHeight!==Le){var oe={width:Ue,height:me,offsetWidth:ve,offsetHeight:Le};q.current=oe;var ie=ve===Math.round(ge)?ge:ve,he=Le===Math.round(Re)?Re:Le,ye=(0,W.Z)((0,W.Z)({},oe),{},{offsetWidth:ie,offsetHeight:he});M==null||M(ye,Ge,Ce),Ke&&Promise.resolve().then(function(){Ke(ye,Ge)})}},[]);return te.useEffect(function(){var Ge=Ee();return Ge&&!U&&p(Ge,Fe),function(){return m(Ge,Fe)}},[V.current,U]),te.createElement(g,{ref:C},se?te.cloneElement($,{ref:pe}):$)}var S=te.forwardRef(E),w=S,R="rc-observer-key";function O(P,F){var K=P.children,U=typeof K=="function"?[K]:(0,X.Z)(K);return U.map(function(V,C){var M=(V==null?void 0:V.key)||"".concat(R,"-").concat(C);return te.createElement(w,(0,ee.Z)({},P,{key:M,ref:C===0?F:void 0}),V)})}var G=te.forwardRef(O);G.Collection=T;var B=G},6551:function(tr,qe,ae){"use strict";ae.d(qe,{ZP:function(){return L}});var ee=ae(42978),te=ae(59301),X=ae(47273),D=0,W=(0,X.Z)();function y(){var b;return W?(b=D,D+=1):b="TEST_OR_SSR",b}function L(b){var s=te.useState(),T=(0,ee.Z)(s,2),c=T[0],u=T[1];return te.useEffect(function(){u("rc_select_".concat(y()))},[]),b||c}},37463:function(tr,qe,ae){"use strict";ae.d(qe,{Ac:function(){return Nt},Xo:function(){return ot},Wx:function(){return cr},ZP:function(){return Ht},lk:function(){return v}});var ee=ae(54476),te=ae(94480),X=ae(20068),D=ae(33885),W=ae(42978),y=ae(75931),L=ae(76190),b=ae(18929),s=ae(48736),T=ae(59301),c=ae(92310),u=ae.n(c),f=ae(34280),i=ae(49658),o=ae(8654),d=function(be){var ut=be.className,Ze=be.customizeIcon,je=be.customizeIconProps,Qe=be.children,yt=be.onMouseDown,mt=be.onClick,Ft=typeof Ze=="function"?Ze(je):Ze;return T.createElement("span",{className:ut,onMouseDown:function(Pt){Pt.preventDefault(),yt==null||yt(Pt)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:mt,"aria-hidden":!0},Ft!==void 0?Ft:T.createElement("span",{className:u()(ut.split(/\s+/).map(function(At){return"".concat(At,"-icon")}))},Qe))},p=d,m=function(be,ut,Ze,je,Qe){var yt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,mt=arguments.length>6?arguments[6]:void 0,Ft=arguments.length>7?arguments[7]:void 0,At=T.useMemo(function(){if((0,L.Z)(je)==="object")return je.clearIcon;if(Qe)return Qe},[je,Qe]),Pt=T.useMemo(function(){return!!(!yt&&je&&(Ze.length||mt)&&!(Ft==="combobox"&&mt===""))},[je,yt,Ze.length,mt,Ft]);return{allowClear:Pt,clearIcon:T.createElement(p,{className:"".concat(be,"-clear"),onMouseDown:ut,customizeIcon:At},"\xD7")}},h=T.createContext(null);function v(){return T.useContext(h)}function r(){var Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,be=T.useState(!1),ut=(0,W.Z)(be,2),Ze=ut[0],je=ut[1],Qe=T.useRef(null),yt=function(){window.clearTimeout(Qe.current)};T.useEffect(function(){return yt},[]);var mt=function(At,Pt){yt(),Qe.current=window.setTimeout(function(){je(At),Pt&&Pt()},Me)};return[Ze,mt,yt]}function a(){var Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,be=T.useRef(null),ut=T.useRef(null);T.useEffect(function(){return function(){window.clearTimeout(ut.current)}},[]);function Ze(je){(je||be.current===null)&&(be.current=je),window.clearTimeout(ut.current),ut.current=window.setTimeout(function(){be.current=null},Me)}return[function(){return be.current},Ze]}function g(Me,be,ut,Ze){var je=T.useRef(null);je.current={open:be,triggerOpen:ut,customizedTrigger:Ze},T.useEffect(function(){function Qe(yt){var mt;if(!((mt=je.current)!==null&&mt!==void 0&&mt.customizedTrigger)){var Ft=yt.target;Ft.shadowRoot&&yt.composed&&(Ft=yt.composedPath()[0]||Ft),je.current.open&&Me().filter(function(At){return At}).every(function(At){return!At.contains(Ft)&&At!==Ft})&&je.current.triggerOpen(!1)}}return window.addEventListener("mousedown",Qe),function(){return window.removeEventListener("mousedown",Qe)}},[])}var E=ae(10228);function S(Me){return Me&&![E.Z.ESC,E.Z.SHIFT,E.Z.BACKSPACE,E.Z.TAB,E.Z.WIN_KEY,E.Z.ALT,E.Z.META,E.Z.WIN_KEY_RIGHT,E.Z.CTRL,E.Z.SEMICOLON,E.Z.EQUALS,E.Z.CAPS_LOCK,E.Z.CONTEXT_MENU,E.Z.F1,E.Z.F2,E.Z.F3,E.Z.F4,E.Z.F5,E.Z.F6,E.Z.F7,E.Z.F8,E.Z.F9,E.Z.F10,E.Z.F11,E.Z.F12].includes(Me)}var w=ae(26112),R=ae(83836);function O(Me,be,ut){var Ze=(0,D.Z)((0,D.Z)({},Me),ut?be:{});return Object.keys(be).forEach(function(je){var Qe=be[je];typeof Qe=="function"&&(Ze[je]=function(){for(var yt,mt=arguments.length,Ft=new Array(mt),At=0;At<mt;At++)Ft[At]=arguments[At];return Qe.apply(void 0,Ft),(yt=Me[je])===null||yt===void 0?void 0:yt.call.apply(yt,[Me].concat(Ft))})}),Ze}var G=O,B=["prefixCls","id","inputElement","autoFocus","autoComplete","editable","activeDescendantId","value","open","attrs"],P=function(be,ut){var Ze=be.prefixCls,je=be.id,Qe=be.inputElement,yt=be.autoFocus,mt=be.autoComplete,Ft=be.editable,At=be.activeDescendantId,Pt=be.value,Tt=be.open,Xt=be.attrs,Ut=(0,y.Z)(be,B),ke=Qe||T.createElement("input",null),He=ke,at=He.ref,We=He.props;return(0,s.Kp)(!("maxLength"in ke.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),ke=T.cloneElement(ke,(0,D.Z)((0,D.Z)((0,D.Z)({type:"search"},G(Ut,We,!0)),{},{id:je,ref:(0,o.sQ)(ut,at),autoComplete:mt||"off",autoFocus:yt,className:u()("".concat(Ze,"-selection-search-input"),We==null?void 0:We.className),role:"combobox","aria-expanded":Tt||!1,"aria-haspopup":"listbox","aria-owns":"".concat(je,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(je,"_list"),"aria-activedescendant":Tt?At:void 0},Xt),{},{value:Ft?Pt:"",readOnly:!Ft,unselectable:Ft?null:"on",style:(0,D.Z)((0,D.Z)({},We.style),{},{opacity:Ft?null:0})})),ke},F=T.forwardRef(P),K=F;function U(Me){return Array.isArray(Me)?Me:Me!==void 0?[Me]:[]}var V=typeof window!="undefined"&&window.document&&window.document.documentElement,C=V;function M(Me){return Me!=null}function z(Me){return!Me&&Me!==0}function $(Me){return["string","number"].includes((0,L.Z)(Me))}function q(Me){var be=void 0;return Me&&($(Me.title)?be=Me.title.toString():$(Me.label)&&(be=Me.label.toString())),be}function se(Me,be){C?T.useLayoutEffect(Me,be):T.useEffect(Me,be)}function ue(Me){var be;return(be=Me.key)!==null&&be!==void 0?be:Me.value}var pe=function(be){be.preventDefault(),be.stopPropagation()},Ee=function(be){var ut=be.id,Ze=be.prefixCls,je=be.values,Qe=be.open,yt=be.searchValue,mt=be.autoClearSearchValue,Ft=be.inputRef,At=be.placeholder,Pt=be.disabled,Tt=be.mode,Xt=be.showSearch,Ut=be.autoFocus,ke=be.autoComplete,He=be.activeDescendantId,at=be.tabIndex,We=be.removeIcon,rt=be.maxTagCount,ht=be.maxTagTextLength,xt=be.maxTagPlaceholder,Wt=xt===void 0?function(Zt){return"+ ".concat(Zt.length," ...")}:xt,jt=be.tagRender,Jt=be.onToggleOpen,vr=be.onRemove,Ve=be.onInputChange,$t=be.onInputPaste,ar=be.onInputKeyDown,yr=be.onInputMouseDown,or=be.onInputCompositionStart,ir=be.onInputCompositionEnd,hr=be.onInputBlur,Ar=T.useRef(null),Cr=(0,T.useState)(0),Tr=(0,W.Z)(Cr,2),Or=Tr[0],pr=Tr[1],mr=(0,T.useState)(!1),Zr=(0,W.Z)(mr,2),jr=Zr[0],rn=Zr[1],Gr="".concat(Ze,"-selection"),nn=Qe||Tt==="multiple"&&mt===!1||Tt==="tags"?yt:"",$r=Tt==="tags"||Tt==="multiple"&&mt===!1||Xt&&(Qe||jr);se(function(){pr(Ar.current.scrollWidth)},[nn]);var hn=function(rr,xr,kr,Xr,Mr){return T.createElement("span",{title:q(rr),className:u()("".concat(Gr,"-item"),(0,X.Z)({},"".concat(Gr,"-item-disabled"),kr))},T.createElement("span",{className:"".concat(Gr,"-item-content")},xr),Xr&&T.createElement(p,{className:"".concat(Gr,"-item-remove"),onMouseDown:pe,onClick:Mr,customizeIcon:We},"\xD7"))},on=function(rr,xr,kr,Xr,Mr,ln){var Tn=function(Sn){pe(Sn),Jt(!Qe)};return T.createElement("span",{onMouseDown:Tn},jt({label:xr,value:rr,disabled:kr,closable:Xr,onClose:Mr,isMaxTag:!!ln}))},Nr=function(rr){var xr=rr.disabled,kr=rr.label,Xr=rr.value,Mr=!Pt&&!xr,ln=kr;if(typeof ht=="number"&&(typeof kr=="string"||typeof kr=="number")){var Tn=String(ln);Tn.length>ht&&(ln="".concat(Tn.slice(0,ht),"..."))}var mn=function(Qr){Qr&&Qr.stopPropagation(),vr(rr)};return typeof jt=="function"?on(Xr,ln,xr,Mr,mn):hn(rr,ln,xr,Mr,mn)},lr=function(rr){if(!je.length)return null;var xr=typeof Wt=="function"?Wt(rr):Wt;return typeof jt=="function"?on(void 0,xr,!1,!1,void 0,!0):hn({title:xr},xr,!1)},kt=T.createElement("div",{className:"".concat(Gr,"-search"),style:{width:Or},onFocus:function(){rn(!0)},onBlur:function(){rn(!1)}},T.createElement(K,{ref:Ft,open:Qe,prefixCls:Ze,id:ut,inputElement:null,disabled:Pt,autoFocus:Ut,autoComplete:ke,editable:$r,activeDescendantId:He,value:nn,onKeyDown:ar,onMouseDown:yr,onChange:Ve,onPaste:$t,onCompositionStart:or,onCompositionEnd:ir,onBlur:hr,tabIndex:at,attrs:(0,w.Z)(be,!0)}),T.createElement("span",{ref:Ar,className:"".concat(Gr,"-search-mirror"),"aria-hidden":!0},nn,"\xA0")),Ot=T.createElement(R.Z,{prefixCls:"".concat(Gr,"-overflow"),data:je,renderItem:Nr,renderRest:lr,suffix:kt,itemKey:ue,maxCount:rt});return T.createElement("span",{className:"".concat(Gr,"-wrap")},Ot,!je.length&&!nn&&T.createElement("span",{className:"".concat(Gr,"-placeholder")},At))},De=Ee,Fe=function(be){var ut=be.inputElement,Ze=be.prefixCls,je=be.id,Qe=be.inputRef,yt=be.disabled,mt=be.autoFocus,Ft=be.autoComplete,At=be.activeDescendantId,Pt=be.mode,Tt=be.open,Xt=be.values,Ut=be.placeholder,ke=be.tabIndex,He=be.showSearch,at=be.searchValue,We=be.activeValue,rt=be.maxLength,ht=be.onInputKeyDown,xt=be.onInputMouseDown,Wt=be.onInputChange,jt=be.onInputPaste,Jt=be.onInputCompositionStart,vr=be.onInputCompositionEnd,Ve=be.onInputBlur,$t=be.title,ar=T.useState(!1),yr=(0,W.Z)(ar,2),or=yr[0],ir=yr[1],hr=Pt==="combobox",Ar=hr||He,Cr=Xt[0],Tr=at||"";hr&&We&&!or&&(Tr=We),T.useEffect(function(){hr&&ir(!1)},[hr,We]);var Or=Pt!=="combobox"&&!Tt&&!He?!1:!!Tr,pr=$t===void 0?q(Cr):$t,mr=T.useMemo(function(){return Cr?null:T.createElement("span",{className:"".concat(Ze,"-selection-placeholder"),style:Or?{visibility:"hidden"}:void 0},Ut)},[Cr,Or,Ut,Ze]);return T.createElement("span",{className:"".concat(Ze,"-selection-wrap")},T.createElement("span",{className:"".concat(Ze,"-selection-search")},T.createElement(K,{ref:Qe,prefixCls:Ze,id:je,open:Tt,inputElement:ut,disabled:yt,autoFocus:mt,autoComplete:Ft,editable:Ar,activeDescendantId:At,value:Tr,onKeyDown:ht,onMouseDown:xt,onChange:function(jr){ir(!0),Wt(jr)},onPaste:jt,onCompositionStart:Jt,onCompositionEnd:vr,onBlur:Ve,tabIndex:ke,attrs:(0,w.Z)(be,!0),maxLength:hr?rt:void 0})),!hr&&Cr?T.createElement("span",{className:"".concat(Ze,"-selection-item"),title:pr,style:Or?{visibility:"hidden"}:void 0},Cr.label):null,mr)},Ge=Fe,xe=function(be,ut){var Ze=(0,T.useRef)(null),je=(0,T.useRef)(!1),Qe=be.prefixCls,yt=be.open,mt=be.mode,Ft=be.showSearch,At=be.tokenWithEnter,Pt=be.disabled,Tt=be.prefix,Xt=be.autoClearSearchValue,Ut=be.onSearch,ke=be.onSearchSubmit,He=be.onToggleOpen,at=be.onInputKeyDown,We=be.onInputBlur,rt=be.domRef;T.useImperativeHandle(ut,function(){return{focus:function(pr){Ze.current.focus(pr)},blur:function(){Ze.current.blur()}}});var ht=a(0),xt=(0,W.Z)(ht,2),Wt=xt[0],jt=xt[1],Jt=function(pr){var mr=pr.which,Zr=Ze.current instanceof HTMLTextAreaElement;!Zr&&yt&&(mr===E.Z.UP||mr===E.Z.DOWN)&&pr.preventDefault(),at&&at(pr),mr===E.Z.ENTER&&mt==="tags"&&!je.current&&!yt&&(ke==null||ke(pr.target.value)),!(Zr&&!yt&&~[E.Z.UP,E.Z.DOWN,E.Z.LEFT,E.Z.RIGHT].indexOf(mr))&&S(mr)&&He(!0)},vr=function(){jt(!0)},Ve=(0,T.useRef)(null),$t=function(pr){Ut(pr,!0,je.current)!==!1&&He(!0)},ar=function(){je.current=!0},yr=function(pr){je.current=!1,mt!=="combobox"&&$t(pr.target.value)},or=function(pr){var mr=pr.target.value;if(At&&Ve.current&&/[\r\n]/.test(Ve.current)){var Zr=Ve.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");mr=mr.replace(Zr,Ve.current)}Ve.current=null,$t(mr)},ir=function(pr){var mr=pr.clipboardData,Zr=mr==null?void 0:mr.getData("text");Ve.current=Zr||""},hr=function(pr){var mr=pr.target;if(mr!==Ze.current){var Zr=document.body.style.msTouchAction!==void 0;Zr?setTimeout(function(){Ze.current.focus()}):Ze.current.focus()}},Ar=function(pr){var mr=Wt();pr.target!==Ze.current&&!mr&&!(mt==="combobox"&&Pt)&&pr.preventDefault(),(mt!=="combobox"&&(!Ft||!mr)||!yt)&&(yt&&Xt!==!1&&Ut("",!0,!1),He())},Cr={inputRef:Ze,onInputKeyDown:Jt,onInputMouseDown:vr,onInputChange:or,onInputPaste:ir,onInputCompositionStart:ar,onInputCompositionEnd:yr,onInputBlur:We},Tr=mt==="multiple"||mt==="tags"?T.createElement(De,(0,ee.Z)({},be,Cr)):T.createElement(Ge,(0,ee.Z)({},be,Cr));return T.createElement("div",{ref:rt,className:"".concat(Qe,"-selector"),onClick:hr,onMouseDown:Ar},Tt&&T.createElement("div",{className:"".concat(Qe,"-prefix")},Tt),Tr)},Ke=T.forwardRef(xe),Ce=Ke,Se=ae(65030),ge=["prefixCls","disabled","visible","children","popupElement","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","builtinPlacements","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],Re=function(be){var ut=be===!0?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:ut,adjustY:1},htmlRegion:"scroll"},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:ut,adjustY:1},htmlRegion:"scroll"},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:ut,adjustY:1},htmlRegion:"scroll"},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:ut,adjustY:1},htmlRegion:"scroll"}}},ve=function(be,ut){var Ze=be.prefixCls,je=be.disabled,Qe=be.visible,yt=be.children,mt=be.popupElement,Ft=be.animation,At=be.transitionName,Pt=be.dropdownStyle,Tt=be.dropdownClassName,Xt=be.direction,Ut=Xt===void 0?"ltr":Xt,ke=be.placement,He=be.builtinPlacements,at=be.dropdownMatchSelectWidth,We=be.dropdownRender,rt=be.dropdownAlign,ht=be.getPopupContainer,xt=be.empty,Wt=be.getTriggerDOMNode,jt=be.onPopupVisibleChange,Jt=be.onPopupMouseEnter,vr=(0,y.Z)(be,ge),Ve="".concat(Ze,"-dropdown"),$t=mt;We&&($t=We(mt));var ar=T.useMemo(function(){return He||Re(at)},[He,at]),yr=Ft?"".concat(Ve,"-").concat(Ft):At,or=typeof at=="number",ir=T.useMemo(function(){return or?null:at===!1?"minWidth":"width"},[at,or]),hr=Pt;or&&(hr=(0,D.Z)((0,D.Z)({},hr),{},{width:at}));var Ar=T.useRef(null);return T.useImperativeHandle(ut,function(){return{getPopupElement:function(){var Tr;return(Tr=Ar.current)===null||Tr===void 0?void 0:Tr.popupElement}}}),T.createElement(Se.Z,(0,ee.Z)({},vr,{showAction:jt?["click"]:[],hideAction:jt?["click"]:[],popupPlacement:ke||(Ut==="rtl"?"bottomRight":"bottomLeft"),builtinPlacements:ar,prefixCls:Ve,popupTransitionName:yr,popup:T.createElement("div",{onMouseEnter:Jt},$t),ref:Ar,stretch:ir,popupAlign:rt,popupVisible:Qe,getPopupContainer:ht,popupClassName:u()(Tt,(0,X.Z)({},"".concat(Ve,"-empty"),xt)),popupStyle:hr,getTriggerDOMNode:Wt,onPopupVisibleChange:jt}),yt)},Le=T.forwardRef(ve),Ue=Le,me=ae(66712);function oe(Me,be){var ut=Me.key,Ze;return"value"in Me&&(Ze=Me.value),ut!=null?ut:Ze!==void 0?Ze:"rc-index-key-".concat(be)}function ie(Me){return typeof Me!="undefined"&&!Number.isNaN(Me)}function he(Me,be){var ut=Me||{},Ze=ut.label,je=ut.value,Qe=ut.options,yt=ut.groupLabel,mt=Ze||(be?"children":"label");return{label:mt,value:je||"value",options:Qe||"options",groupLabel:yt||mt}}function ye(Me){var be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ut=be.fieldNames,Ze=be.childrenAsData,je=[],Qe=he(ut,!1),yt=Qe.label,mt=Qe.value,Ft=Qe.options,At=Qe.groupLabel;function Pt(Tt,Xt){Array.isArray(Tt)&&Tt.forEach(function(Ut){if(Xt||!(Ft in Ut)){var ke=Ut[mt];je.push({key:oe(Ut,je.length),groupOption:Xt,data:Ut,label:Ut[yt],value:ke})}else{var He=Ut[At];He===void 0&&Ze&&(He=Ut.label),je.push({key:oe(Ut,je.length),group:!0,data:Ut,label:He}),Pt(Ut[Ft],!0)}})}return Pt(Me,!1),je}function ce(Me){var be=(0,D.Z)({},Me);return"props"in be||Object.defineProperty(be,"props",{get:function(){return(0,s.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),be}}),be}var Te=function(be,ut,Ze){if(!ut||!ut.length)return null;var je=!1,Qe=function mt(Ft,At){var Pt=(0,me.Z)(At),Tt=Pt[0],Xt=Pt.slice(1);if(!Tt)return[Ft];var Ut=Ft.split(Tt);return je=je||Ut.length>1,Ut.reduce(function(ke,He){return[].concat((0,te.Z)(ke),(0,te.Z)(mt(He,Xt)))},[]).filter(Boolean)},yt=Qe(be,ut);return je?typeof Ze!="undefined"?yt.slice(0,Ze):yt:null},Oe=T.createContext(null),Be=Oe;function Xe(Me){var be=Me.visible,ut=Me.values;if(!be)return null;var Ze=50;return T.createElement("span",{"aria-live":"polite",style:{width:0,height:0,position:"absolute",overflow:"hidden",opacity:0}},"".concat(ut.slice(0,Ze).map(function(je){var Qe=je.label,yt=je.value;return["number","string"].includes((0,L.Z)(Qe))?Qe:yt}).join(", ")),ut.length>Ze?", ...":null)}var lt=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","prefix","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],_t=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"],tt=function(be){return be==="tags"||be==="multiple"},bt=T.forwardRef(function(Me,be){var ut,Ze=Me.id,je=Me.prefixCls,Qe=Me.className,yt=Me.showSearch,mt=Me.tagRender,Ft=Me.direction,At=Me.omitDomProps,Pt=Me.displayValues,Tt=Me.onDisplayValuesChange,Xt=Me.emptyOptions,Ut=Me.notFoundContent,ke=Ut===void 0?"Not Found":Ut,He=Me.onClear,at=Me.mode,We=Me.disabled,rt=Me.loading,ht=Me.getInputElement,xt=Me.getRawInputElement,Wt=Me.open,jt=Me.defaultOpen,Jt=Me.onDropdownVisibleChange,vr=Me.activeValue,Ve=Me.onActiveValueChange,$t=Me.activeDescendantId,ar=Me.searchValue,yr=Me.autoClearSearchValue,or=Me.onSearch,ir=Me.onSearchSplit,hr=Me.tokenSeparators,Ar=Me.allowClear,Cr=Me.prefix,Tr=Me.suffixIcon,Or=Me.clearIcon,pr=Me.OptionList,mr=Me.animation,Zr=Me.transitionName,jr=Me.dropdownStyle,rn=Me.dropdownClassName,Gr=Me.dropdownMatchSelectWidth,nn=Me.dropdownRender,$r=Me.dropdownAlign,hn=Me.placement,on=Me.builtinPlacements,Nr=Me.getPopupContainer,lr=Me.showAction,kt=lr===void 0?[]:lr,Ot=Me.onFocus,Zt=Me.onBlur,rr=Me.onKeyUp,xr=Me.onKeyDown,kr=Me.onMouseDown,Xr=(0,y.Z)(Me,lt),Mr=tt(at),ln=(yt!==void 0?yt:Mr)||at==="combobox",Tn=(0,D.Z)({},Xr);_t.forEach(function(en){delete Tn[en]}),At==null||At.forEach(function(en){delete Tn[en]});var mn=T.useState(!1),Sn=(0,W.Z)(mn,2),Qr=Sn[0],Dn=Sn[1];T.useEffect(function(){Dn((0,i.Z)())},[]);var Ln=T.useRef(null),In=T.useRef(null),cn=T.useRef(null),_n=T.useRef(null),dn=T.useRef(null),Nn=T.useRef(!1),Rn=r(),Un=(0,W.Z)(Rn,3),Pn=Un[0],An=Un[1],Hn=Un[2];T.useImperativeHandle(be,function(){var en,Yr;return{focus:(en=_n.current)===null||en===void 0?void 0:en.focus,blur:(Yr=_n.current)===null||Yr===void 0?void 0:Yr.blur,scrollTo:function(Gn){var pn;return(pn=dn.current)===null||pn===void 0?void 0:pn.scrollTo(Gn)},nativeElement:Ln.current||In.current}});var Lr=T.useMemo(function(){var en;if(at!=="combobox")return ar;var Yr=(en=Pt[0])===null||en===void 0?void 0:en.value;return typeof Yr=="string"||typeof Yr=="number"?String(Yr):""},[ar,at,Pt]),zn=at==="combobox"&&typeof ht=="function"&&ht()||null,vn=typeof xt=="function"&&xt(),ii=(0,o.x1)(In,vn==null||(ut=vn.props)===null||ut===void 0?void 0:ut.ref),ai=T.useState(!1),$n=(0,W.Z)(ai,2),ui=$n[0],jn=$n[1];(0,f.Z)(function(){jn(!0)},[]);var an=(0,b.Z)(!1,{defaultValue:jt,value:Wt}),bn=(0,W.Z)(an,2),Fn=bn[0],Zn=bn[1],Jr=ui?Fn:!1,yn=!ke&&Xt;(We||yn&&Jr&&at==="combobox")&&(Jr=!1);var wn=yn?!1:Jr,Er=T.useCallback(function(en){var Yr=en!==void 0?en:!Jr;We||(Zn(Yr),Jr!==Yr&&(Jt==null||Jt(Yr)))},[We,Jr,Zn,Jt]),Fr=T.useMemo(function(){return(hr||[]).some(function(en){return[`
`,`\r
`].includes(en)})},[hr]),br=T.useContext(Be)||{},Ur=br.maxCount,qr=br.rawValues,un=function(Yr,Kn,Gn){if(!(Mr&&ie(Ur)&&(qr==null?void 0:qr.size)>=Ur)){var pn=!0,On=Yr;Ve==null||Ve(null);var si=Te(Yr,hr,ie(Ur)?Ur-qr.size:void 0),oi=Gn?null:si;return at!=="combobox"&&oi&&(On="",ir==null||ir(oi),Er(!1),pn=!1),or&&Lr!==On&&or(On,{source:Kn?"typing":"effect"}),pn}},Xn=function(Yr){!Yr||!Yr.trim()||or(Yr,{source:"submit"})};T.useEffect(function(){!Jr&&!Mr&&at!=="combobox"&&un("",!1,!1)},[Jr]),T.useEffect(function(){Fn&&We&&Zn(!1),We&&!Nn.current&&An(!1)},[We]);var ur=a(),Rr=(0,W.Z)(ur,2),Vr=Rr[0],Kr=Rr[1],Hr=T.useRef(!1),Qn=function(Yr){var Kn=Vr(),Gn=Yr.key,pn=Gn==="Enter";if(pn&&(at!=="combobox"&&Yr.preventDefault(),Jr||Er(!0)),Kr(!!Lr),Gn==="Backspace"&&!Kn&&Mr&&!Lr&&Pt.length){for(var On=(0,te.Z)(Pt),si=null,oi=On.length-1;oi>=0;oi-=1){var xi=On[oi];if(!xi.disabled){On.splice(oi,1),si=xi;break}}si&&Tt(On,{type:"remove",values:[si]})}for(var Ti=arguments.length,Ai=new Array(Ti>1?Ti-1:0),Ki=1;Ki<Ti;Ki++)Ai[Ki-1]=arguments[Ki];if(Jr&&(!pn||!Hr.current)){var Oi;pn&&(Hr.current=!0),(Oi=dn.current)===null||Oi===void 0||Oi.onKeyDown.apply(Oi,[Yr].concat(Ai))}xr==null||xr.apply(void 0,[Yr].concat(Ai))},kn=function(Yr){for(var Kn=arguments.length,Gn=new Array(Kn>1?Kn-1:0),pn=1;pn<Kn;pn++)Gn[pn-1]=arguments[pn];if(Jr){var On;(On=dn.current)===null||On===void 0||On.onKeyUp.apply(On,[Yr].concat(Gn))}Yr.key==="Enter"&&(Hr.current=!1),rr==null||rr.apply(void 0,[Yr].concat(Gn))},Jn=function(Yr){var Kn=Pt.filter(function(Gn){return Gn!==Yr});Tt(Kn,{type:"remove",values:[Yr]})},Wn=function(){Hr.current=!1},Ui=T.useRef(!1),_a=function(){An(!0),We||(Ot&&!Ui.current&&Ot.apply(void 0,arguments),kt.includes("focus")&&Er(!0)),Ui.current=!0},ma=function(){Nn.current=!0,An(!1,function(){Ui.current=!1,Nn.current=!1,Er(!1)}),!We&&(Lr&&(at==="tags"?or(Lr,{source:"submit"}):at==="multiple"&&or("",{source:"blur"})),Zt&&Zt.apply(void 0,arguments))},yi=[];T.useEffect(function(){return function(){yi.forEach(function(en){return clearTimeout(en)}),yi.splice(0,yi.length)}},[]);var Pi=function(Yr){var Kn,Gn=Yr.target,pn=(Kn=cn.current)===null||Kn===void 0?void 0:Kn.getPopupElement();if(pn&&pn.contains(Gn)){var On=setTimeout(function(){var Ti=yi.indexOf(On);if(Ti!==-1&&yi.splice(Ti,1),Hn(),!Qr&&!pn.contains(document.activeElement)){var Ai;(Ai=_n.current)===null||Ai===void 0||Ai.focus()}});yi.push(On)}for(var si=arguments.length,oi=new Array(si>1?si-1:0),xi=1;xi<si;xi++)oi[xi-1]=arguments[xi];kr==null||kr.apply(void 0,[Yr].concat(oi))},ci=T.useState({}),pa=(0,W.Z)(ci,2),Fi=pa[1];function Ei(){Fi({})}var ki;vn&&(ki=function(Yr){Er(Yr)}),g(function(){var en;return[Ln.current,(en=cn.current)===null||en===void 0?void 0:en.getPopupElement()]},wn,Er,!!vn);var Zi=T.useMemo(function(){return(0,D.Z)((0,D.Z)({},Me),{},{notFoundContent:ke,open:Jr,triggerOpen:wn,id:Ze,showSearch:ln,multiple:Mr,toggleOpen:Er})},[Me,ke,wn,Jr,Ze,ln,Mr,Er]),ea=!!Tr||rt,Mi;ea&&(Mi=T.createElement(p,{className:u()("".concat(je,"-arrow"),(0,X.Z)({},"".concat(je,"-arrow-loading"),rt)),customizeIcon:Tr,customizeIconProps:{loading:rt,searchValue:Lr,open:Jr,focused:Pn,showSearch:ln}}));var ga=function(){var Yr;He==null||He(),(Yr=_n.current)===null||Yr===void 0||Yr.focus(),Tt([],{type:"clear",values:Pt}),un("",!1,!1)},qn=m(je,ga,Pt,Ar,Or,We,Lr,at),ta=qn.allowClear,va=qn.clearIcon,ra=T.createElement(pr,{ref:dn}),na=u()(je,Qe,(0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)({},"".concat(je,"-focused"),Pn),"".concat(je,"-multiple"),Mr),"".concat(je,"-single"),!Mr),"".concat(je,"-allow-clear"),Ar),"".concat(je,"-show-arrow"),ea),"".concat(je,"-disabled"),We),"".concat(je,"-loading"),rt),"".concat(je,"-open"),Jr),"".concat(je,"-customize-input"),zn),"".concat(je,"-show-search"),ln)),Wi=T.createElement(Ue,{ref:cn,disabled:We,prefixCls:je,visible:wn,popupElement:ra,animation:mr,transitionName:Zr,dropdownStyle:jr,dropdownClassName:rn,direction:Ft,dropdownMatchSelectWidth:Gr,dropdownRender:nn,dropdownAlign:$r,placement:hn,builtinPlacements:on,getPopupContainer:Nr,empty:Xt,getTriggerDOMNode:function(Yr){return In.current||Yr},onPopupVisibleChange:ki,onPopupMouseEnter:Ei},vn?T.cloneElement(vn,{ref:ii}):T.createElement(Ce,(0,ee.Z)({},Me,{domRef:In,prefixCls:je,inputElement:zn,ref:_n,id:Ze,prefix:Cr,showSearch:ln,autoClearSearchValue:yr,mode:at,activeDescendantId:$t,tagRender:mt,values:Pt,open:Jr,onToggleOpen:Er,activeValue:vr,searchValue:Lr,onSearch:un,onSearchSubmit:Xn,onRemove:Jn,tokenWithEnter:Fr,onInputBlur:Wn}))),pi;return vn?pi=Wi:pi=T.createElement("div",(0,ee.Z)({className:na},Tn,{ref:Ln,onMouseDown:Pi,onKeyDown:Qn,onKeyUp:kn,onFocus:_a,onBlur:ma}),T.createElement(Xe,{visible:Pn&&!Jr,values:Pt}),Wi,Mi,ta&&va),T.createElement(h.Provider,{value:Zi},pi)}),Nt=bt,Bt=function(){return null};Bt.isSelectOptGroup=!0;var ot=Bt,It=function(){return null};It.isSelectOption=!0;var cr=It,wr=ae(80547),er=ae(2738),Wr=ae(48911);function Ct(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var Et=["disabled","title","children","style","className"];function vt(Me){return typeof Me=="string"||typeof Me=="number"}var nr=function(be,ut){var Ze=v(),je=Ze.prefixCls,Qe=Ze.id,yt=Ze.open,mt=Ze.multiple,Ft=Ze.mode,At=Ze.searchValue,Pt=Ze.toggleOpen,Tt=Ze.notFoundContent,Xt=Ze.onPopupScroll,Ut=T.useContext(Be),ke=Ut.maxCount,He=Ut.flattenOptions,at=Ut.onActiveValue,We=Ut.defaultActiveFirstOption,rt=Ut.onSelect,ht=Ut.menuItemSelectedIcon,xt=Ut.rawValues,Wt=Ut.fieldNames,jt=Ut.virtual,Jt=Ut.direction,vr=Ut.listHeight,Ve=Ut.listItemHeight,$t=Ut.optionRender,ar="".concat(je,"-item"),yr=(0,wr.Z)(function(){return He},[yt,He],function(lr,kt){return kt[0]&&lr[1]!==kt[1]}),or=T.useRef(null),ir=T.useMemo(function(){return mt&&ie(ke)&&(xt==null?void 0:xt.size)>=ke},[mt,ke,xt==null?void 0:xt.size]),hr=function(kt){kt.preventDefault()},Ar=function(kt){var Ot;(Ot=or.current)===null||Ot===void 0||Ot.scrollTo(typeof kt=="number"?{index:kt}:kt)},Cr=T.useCallback(function(lr){return Ft==="combobox"?!1:xt.has(lr)},[Ft,(0,te.Z)(xt).toString(),xt.size]),Tr=function(kt){for(var Ot=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,Zt=yr.length,rr=0;rr<Zt;rr+=1){var xr=(kt+rr*Ot+Zt)%Zt,kr=yr[xr]||{},Xr=kr.group,Mr=kr.data;if(!Xr&&!(Mr!=null&&Mr.disabled)&&(Cr(Mr.value)||!ir))return xr}return-1},Or=T.useState(function(){return Tr(0)}),pr=(0,W.Z)(Or,2),mr=pr[0],Zr=pr[1],jr=function(kt){var Ot=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;Zr(kt);var Zt={source:Ot?"keyboard":"mouse"},rr=yr[kt];if(!rr){at(null,-1,Zt);return}at(rr.value,kt,Zt)};(0,T.useEffect)(function(){jr(We!==!1?Tr(0):-1)},[yr.length,At]);var rn=T.useCallback(function(lr){return Ft==="combobox"?String(lr).toLowerCase()===At.toLowerCase():xt.has(lr)},[Ft,At,(0,te.Z)(xt).toString(),xt.size]);(0,T.useEffect)(function(){var lr=setTimeout(function(){if(!mt&&yt&&xt.size===1){var Ot=Array.from(xt)[0],Zt=yr.findIndex(function(rr){var xr=rr.data;return At?String(xr.value).startsWith(At):xr.value===Ot});Zt!==-1&&(jr(Zt),Ar(Zt))}});if(yt){var kt;(kt=or.current)===null||kt===void 0||kt.scrollTo(void 0)}return function(){return clearTimeout(lr)}},[yt,At]);var Gr=function(kt){kt!==void 0&&rt(kt,{selected:!xt.has(kt)}),mt||Pt(!1)};if(T.useImperativeHandle(ut,function(){return{onKeyDown:function(kt){var Ot=kt.which,Zt=kt.ctrlKey;switch(Ot){case E.Z.N:case E.Z.P:case E.Z.UP:case E.Z.DOWN:{var rr=0;if(Ot===E.Z.UP?rr=-1:Ot===E.Z.DOWN?rr=1:Ct()&&Zt&&(Ot===E.Z.N?rr=1:Ot===E.Z.P&&(rr=-1)),rr!==0){var xr=Tr(mr+rr,rr);Ar(xr),jr(xr,!0)}break}case E.Z.TAB:case E.Z.ENTER:{var kr,Xr=yr[mr];Xr&&!(Xr!=null&&(kr=Xr.data)!==null&&kr!==void 0&&kr.disabled)&&!ir?Gr(Xr.value):Gr(void 0),yt&&kt.preventDefault();break}case E.Z.ESC:Pt(!1),yt&&kt.stopPropagation()}},onKeyUp:function(){},scrollTo:function(kt){Ar(kt)}}}),yr.length===0)return T.createElement("div",{role:"listbox",id:"".concat(Qe,"_list"),className:"".concat(ar,"-empty"),onMouseDown:hr},Tt);var nn=Object.keys(Wt).map(function(lr){return Wt[lr]}),$r=function(kt){return kt.label};function hn(lr,kt){var Ot=lr.group;return{role:Ot?"presentation":"option",id:"".concat(Qe,"_list_").concat(kt)}}var on=function(kt){var Ot=yr[kt];if(!Ot)return null;var Zt=Ot.data||{},rr=Zt.value,xr=Ot.group,kr=(0,w.Z)(Zt,!0),Xr=$r(Ot);return Ot?T.createElement("div",(0,ee.Z)({"aria-label":typeof Xr=="string"&&!xr?Xr:null},kr,{key:kt},hn(Ot,kt),{"aria-selected":rn(rr)}),rr):null},Nr={role:"listbox",id:"".concat(Qe,"_list")};return T.createElement(T.Fragment,null,jt&&T.createElement("div",(0,ee.Z)({},Nr,{style:{height:0,width:0,overflow:"hidden"}}),on(mr-1),on(mr),on(mr+1)),T.createElement(Wr.Z,{itemKey:"key",ref:or,data:yr,height:vr,itemHeight:Ve,fullHeight:!1,onMouseDown:hr,onScroll:Xt,virtual:jt,direction:Jt,innerProps:jt?null:Nr},function(lr,kt){var Ot=lr.group,Zt=lr.groupOption,rr=lr.data,xr=lr.label,kr=lr.value,Xr=rr.key;if(Ot){var Mr,ln=(Mr=rr.title)!==null&&Mr!==void 0?Mr:vt(xr)?xr.toString():void 0;return T.createElement("div",{className:u()(ar,"".concat(ar,"-group"),rr.className),title:ln},xr!==void 0?xr:Xr)}var Tn=rr.disabled,mn=rr.title,Sn=rr.children,Qr=rr.style,Dn=rr.className,Ln=(0,y.Z)(rr,Et),In=(0,er.Z)(Ln,nn),cn=Cr(kr),_n=Tn||!cn&&ir,dn="".concat(ar,"-option"),Nn=u()(ar,dn,Dn,(0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)({},"".concat(dn,"-grouped"),Zt),"".concat(dn,"-active"),mr===kt&&!_n),"".concat(dn,"-disabled"),_n),"".concat(dn,"-selected"),cn)),Rn=$r(lr),Un=!ht||typeof ht=="function"||cn,Pn=typeof Rn=="number"?Rn:Rn||kr,An=vt(Pn)?Pn.toString():void 0;return mn!==void 0&&(An=mn),T.createElement("div",(0,ee.Z)({},(0,w.Z)(In),jt?{}:hn(lr,kt),{"aria-selected":rn(kr),className:Nn,title:An,onMouseMove:function(){mr===kt||_n||jr(kt)},onClick:function(){_n||Gr(kr)},style:Qr}),T.createElement("div",{className:"".concat(dn,"-content")},typeof $t=="function"?$t(lr,{index:kt}):Pn),T.isValidElement(ht)||cn,Un&&T.createElement(p,{className:"".concat(ar,"-option-state"),customizeIcon:ht,customizeIconProps:{value:kr,disabled:_n,isSelected:cn}},cn?"\u2713":null))}))},qt=T.forwardRef(nr),Dt=qt,nt=function(Me,be){var ut=T.useRef({values:new Map,options:new Map}),Ze=T.useMemo(function(){var Qe=ut.current,yt=Qe.values,mt=Qe.options,Ft=Me.map(function(Tt){if(Tt.label===void 0){var Xt;return(0,D.Z)((0,D.Z)({},Tt),{},{label:(Xt=yt.get(Tt.value))===null||Xt===void 0?void 0:Xt.label})}return Tt}),At=new Map,Pt=new Map;return Ft.forEach(function(Tt){At.set(Tt.value,Tt),Pt.set(Tt.value,be.get(Tt.value)||mt.get(Tt.value))}),ut.current.values=At,ut.current.options=Pt,Ft},[Me,be]),je=T.useCallback(function(Qe){return be.get(Qe)||ut.current.options.get(Qe)},[be]);return[Ze,je]};function Rt(Me,be){return U(Me).join("").toUpperCase().includes(be)}var Gt=function(Me,be,ut,Ze,je){return T.useMemo(function(){if(!ut||Ze===!1)return Me;var Qe=be.options,yt=be.label,mt=be.value,Ft=[],At=typeof Ze=="function",Pt=ut.toUpperCase(),Tt=At?Ze:function(Ut,ke){return je?Rt(ke[je],Pt):ke[Qe]?Rt(ke[yt!=="children"?yt:"label"],Pt):Rt(ke[mt],Pt)},Xt=At?function(Ut){return ce(Ut)}:function(Ut){return Ut};return Me.forEach(function(Ut){if(Ut[Qe]){var ke=Tt(ut,Xt(Ut));if(ke)Ft.push(Ut);else{var He=Ut[Qe].filter(function(at){return Tt(ut,Xt(at))});He.length&&Ft.push((0,D.Z)((0,D.Z)({},Ut),{},(0,X.Z)({},Qe,He)))}return}Tt(ut,Xt(Ut))&&Ft.push(Ut)}),Ft},[Me,Ze,je,ut,be])},zt=ae(6551),Qt=ae(11592),it=["children","value"],dt=["children"];function St(Me){var be=Me,ut=be.key,Ze=be.props,je=Ze.children,Qe=Ze.value,yt=(0,y.Z)(Ze,it);return(0,D.Z)({key:ut,value:Qe!==void 0?Qe:ut,children:je},yt)}function Mt(Me){var be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return(0,Qt.Z)(Me).map(function(ut,Ze){if(!T.isValidElement(ut)||!ut.type)return null;var je=ut,Qe=je.type.isSelectOptGroup,yt=je.key,mt=je.props,Ft=mt.children,At=(0,y.Z)(mt,dt);return be||!Qe?St(ut):(0,D.Z)((0,D.Z)({key:"__RC_SELECT_GRP__".concat(yt===null?Ze:yt,"__"),label:yt},At),{},{options:Mt(Ft)})}).filter(function(ut){return ut})}var Yt=function(be,ut,Ze,je,Qe){return T.useMemo(function(){var yt=be,mt=!be;mt&&(yt=Mt(ut));var Ft=new Map,At=new Map,Pt=function(Ut,ke,He){He&&typeof He=="string"&&Ut.set(ke[He],ke)},Tt=function Xt(Ut){for(var ke=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,He=0;He<Ut.length;He+=1){var at=Ut[He];!at[Ze.options]||ke?(Ft.set(at[Ze.value],at),Pt(At,at,Ze.label),Pt(At,at,je),Pt(At,at,Qe)):Xt(at[Ze.options],!0)}};return Tt(yt),{options:yt,valueOptions:Ft,labelOptions:At}},[be,ut,Ze,je,Qe])},ft=Yt;function H(Me){var be=T.useRef();be.current=Me;var ut=T.useCallback(function(){return be.current.apply(be,arguments)},[]);return ut}function Y(Me){var be=Me.mode,ut=Me.options,Ze=Me.children,je=Me.backfill,Qe=Me.allowClear,yt=Me.placeholder,mt=Me.getInputElement,Ft=Me.showSearch,At=Me.onSearch,Pt=Me.defaultOpen,Tt=Me.autoFocus,Xt=Me.labelInValue,Ut=Me.value,ke=Me.inputValue,He=Me.optionLabelProp,at=isMultiple(be),We=Ft!==void 0?Ft:at||be==="combobox",rt=ut||convertChildrenToData(Ze);if(warning(be!=="tags"||rt.every(function(jt){return!jt.disabled}),"Please avoid setting option to disabled in tags mode since user can always type text as tag."),be==="tags"||be==="combobox"){var ht=rt.some(function(jt){return jt.options?jt.options.some(function(Jt){return typeof("value"in Jt?Jt.value:Jt.key)=="number"}):typeof("value"in jt?jt.value:jt.key)=="number"});warning(!ht,"`value` of Option should not use number type when `mode` is `tags` or `combobox`.")}if(warning(be!=="combobox"||!He,"`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly."),warning(be==="combobox"||!je,"`backfill` only works with `combobox` mode."),warning(be==="combobox"||!mt,"`getInputElement` only work with `combobox` mode."),noteOnce(be!=="combobox"||!mt||!Qe||!yt,"Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`."),At&&!We&&be!=="combobox"&&be!=="tags"&&warning(!1,"`onSearch` should work with `showSearch` instead of use alone."),noteOnce(!Pt||Tt,"`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed."),Ut!=null){var xt=toArray(Ut);warning(!Xt||xt.every(function(jt){return _typeof(jt)==="object"&&("key"in jt||"value"in jt)}),"`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`"),warning(!at||Array.isArray(Ut),"`value` should be array when `mode` is `multiple` or `tags`")}if(Ze){var Wt=null;toNodeArray(Ze).some(function(jt){if(!React.isValidElement(jt)||!jt.type)return!1;var Jt=jt,vr=Jt.type;if(vr.isSelectOption)return!1;if(vr.isSelectOptGroup){var Ve=toNodeArray(jt.props.children).every(function($t){return!React.isValidElement($t)||!jt.type||$t.type.isSelectOption?!0:(Wt=$t.type,!1)});return!Ve}return Wt=vr,!0}),Wt&&warning(!1,"`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(Wt.displayName||Wt.name||Wt,"`.")),warning(ke===void 0,"`inputValue` is deprecated, please use `searchValue` instead.")}}function J(Me,be){if(Me){var ut=function Ze(je){for(var Qe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,yt=0;yt<je.length;yt++){var mt=je[yt];if(mt[be==null?void 0:be.value]===null)return warning(!1,"`value` in Select options should not be `null`."),!0;if(!Qe&&Array.isArray(mt[be==null?void 0:be.options])&&Ze(mt[be==null?void 0:be.options],!0))break}};ut(Me)}}var le=null,_e=["id","mode","prefixCls","backfill","fieldNames","inputValue","searchValue","onSearch","autoClearSearchValue","onSelect","onDeselect","dropdownMatchSelectWidth","filterOption","filterSort","optionFilterProp","optionLabelProp","options","optionRender","children","defaultActiveFirstOption","menuItemSelectedIcon","virtual","direction","listHeight","listItemHeight","labelRender","value","defaultValue","labelInValue","onChange","maxCount"],Ne=["inputValue"];function Pe(Me){return!Me||(0,L.Z)(Me)!=="object"}var $e=T.forwardRef(function(Me,be){var ut=Me.id,Ze=Me.mode,je=Me.prefixCls,Qe=je===void 0?"rc-select":je,yt=Me.backfill,mt=Me.fieldNames,Ft=Me.inputValue,At=Me.searchValue,Pt=Me.onSearch,Tt=Me.autoClearSearchValue,Xt=Tt===void 0?!0:Tt,Ut=Me.onSelect,ke=Me.onDeselect,He=Me.dropdownMatchSelectWidth,at=He===void 0?!0:He,We=Me.filterOption,rt=Me.filterSort,ht=Me.optionFilterProp,xt=Me.optionLabelProp,Wt=Me.options,jt=Me.optionRender,Jt=Me.children,vr=Me.defaultActiveFirstOption,Ve=Me.menuItemSelectedIcon,$t=Me.virtual,ar=Me.direction,yr=Me.listHeight,or=yr===void 0?200:yr,ir=Me.listItemHeight,hr=ir===void 0?20:ir,Ar=Me.labelRender,Cr=Me.value,Tr=Me.defaultValue,Or=Me.labelInValue,pr=Me.onChange,mr=Me.maxCount,Zr=(0,y.Z)(Me,_e),jr=(0,zt.ZP)(ut),rn=tt(Ze),Gr=!!(!Wt&&Jt),nn=T.useMemo(function(){return We===void 0&&Ze==="combobox"?!1:We},[We,Ze]),$r=T.useMemo(function(){return he(mt,Gr)},[JSON.stringify(mt),Gr]),hn=(0,b.Z)("",{value:At!==void 0?At:Ft,postState:function(Fr){return Fr||""}}),on=(0,W.Z)(hn,2),Nr=on[0],lr=on[1],kt=ft(Wt,Jt,$r,ht,xt),Ot=kt.valueOptions,Zt=kt.labelOptions,rr=kt.options,xr=T.useCallback(function(Er){var Fr=U(Er);return Fr.map(function(br){var Ur,qr,un,Xn,ur;if(Pe(br))Ur=br;else{var Rr;un=br.key,qr=br.label,Ur=(Rr=br.value)!==null&&Rr!==void 0?Rr:un}var Vr=Ot.get(Ur);if(Vr){var Kr;if(qr===void 0&&(qr=Vr==null?void 0:Vr[xt||$r.label]),un===void 0&&(un=(Kr=Vr==null?void 0:Vr.key)!==null&&Kr!==void 0?Kr:Ur),Xn=Vr==null?void 0:Vr.disabled,ur=Vr==null?void 0:Vr.title,0)var Hr}return{label:qr,value:Ur,key:un,disabled:Xn,title:ur}})},[$r,xt,Ot]),kr=(0,b.Z)(Tr,{value:Cr}),Xr=(0,W.Z)(kr,2),Mr=Xr[0],ln=Xr[1],Tn=T.useMemo(function(){var Er,Fr=rn&&Mr===null?[]:Mr,br=xr(Fr);return Ze==="combobox"&&z((Er=br[0])===null||Er===void 0?void 0:Er.value)?[]:br},[Mr,xr,Ze,rn]),mn=nt(Tn,Ot),Sn=(0,W.Z)(mn,2),Qr=Sn[0],Dn=Sn[1],Ln=T.useMemo(function(){if(!Ze&&Qr.length===1){var Er=Qr[0];if(Er.value===null&&(Er.label===null||Er.label===void 0))return[]}return Qr.map(function(Fr){var br;return(0,D.Z)((0,D.Z)({},Fr),{},{label:(br=typeof Ar=="function"?Ar(Fr):Fr.label)!==null&&br!==void 0?br:Fr.value})})},[Ze,Qr,Ar]),In=T.useMemo(function(){return new Set(Qr.map(function(Er){return Er.value}))},[Qr]);T.useEffect(function(){if(Ze==="combobox"){var Er,Fr=(Er=Qr[0])===null||Er===void 0?void 0:Er.value;lr(M(Fr)?String(Fr):"")}},[Qr]);var cn=H(function(Er,Fr){var br=Fr!=null?Fr:Er;return(0,X.Z)((0,X.Z)({},$r.value,Er),$r.label,br)}),_n=T.useMemo(function(){if(Ze!=="tags")return rr;var Er=(0,te.Z)(rr),Fr=function(Ur){return Ot.has(Ur)};return(0,te.Z)(Qr).sort(function(br,Ur){return br.value<Ur.value?-1:1}).forEach(function(br){var Ur=br.value;Fr(Ur)||Er.push(cn(Ur,br.label))}),Er},[cn,rr,Ot,Qr,Ze]),dn=Gt(_n,$r,Nr,nn,ht),Nn=T.useMemo(function(){return Ze!=="tags"||!Nr||dn.some(function(Er){return Er[ht||"value"]===Nr})||dn.some(function(Er){return Er[$r.value]===Nr})?dn:[cn(Nr)].concat((0,te.Z)(dn))},[cn,ht,Ze,dn,Nr,$r]),Rn=function Er(Fr){var br=(0,te.Z)(Fr).sort(function(Ur,qr){return rt(Ur,qr,{searchValue:Nr})});return br.map(function(Ur){return Array.isArray(Ur.options)?(0,D.Z)((0,D.Z)({},Ur),{},{options:Ur.options.length>0?Er(Ur.options):Ur.options}):Ur})},Un=T.useMemo(function(){return rt?Rn(Nn):Nn},[Nn,rt,Nr]),Pn=T.useMemo(function(){return ye(Un,{fieldNames:$r,childrenAsData:Gr})},[Un,$r,Gr]),An=function(Fr){var br=xr(Fr);if(ln(br),pr&&(br.length!==Qr.length||br.some(function(un,Xn){var ur;return((ur=Qr[Xn])===null||ur===void 0?void 0:ur.value)!==(un==null?void 0:un.value)}))){var Ur=Or?br:br.map(function(un){return un.value}),qr=br.map(function(un){return ce(Dn(un.value))});pr(rn?Ur:Ur[0],rn?qr:qr[0])}},Hn=T.useState(null),Lr=(0,W.Z)(Hn,2),zn=Lr[0],vn=Lr[1],ii=T.useState(0),ai=(0,W.Z)(ii,2),$n=ai[0],ui=ai[1],jn=vr!==void 0?vr:Ze!=="combobox",an=T.useCallback(function(Er,Fr){var br=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Ur=br.source,qr=Ur===void 0?"keyboard":Ur;ui(Fr),yt&&Ze==="combobox"&&Er!==null&&qr==="keyboard"&&vn(String(Er))},[yt,Ze]),bn=function(Fr,br,Ur){var qr=function(){var Jn,Wn=Dn(Fr);return[Or?{label:Wn==null?void 0:Wn[$r.label],value:Fr,key:(Jn=Wn==null?void 0:Wn.key)!==null&&Jn!==void 0?Jn:Fr}:Fr,ce(Wn)]};if(br&&Ut){var un=qr(),Xn=(0,W.Z)(un,2),ur=Xn[0],Rr=Xn[1];Ut(ur,Rr)}else if(!br&&ke&&Ur!=="clear"){var Vr=qr(),Kr=(0,W.Z)(Vr,2),Hr=Kr[0],Qn=Kr[1];ke(Hr,Qn)}},Fn=H(function(Er,Fr){var br,Ur=rn?Fr.selected:!0;Ur?br=rn?[].concat((0,te.Z)(Qr),[Er]):[Er]:br=Qr.filter(function(qr){return qr.value!==Er}),An(br),bn(Er,Ur),Ze==="combobox"?vn(""):(!tt||Xt)&&(lr(""),vn(""))}),Zn=function(Fr,br){An(Fr);var Ur=br.type,qr=br.values;(Ur==="remove"||Ur==="clear")&&qr.forEach(function(un){bn(un.value,!1,Ur)})},Jr=function(Fr,br){if(lr(Fr),vn(null),br.source==="submit"){var Ur=(Fr||"").trim();if(Ur){var qr=Array.from(new Set([].concat((0,te.Z)(In),[Ur])));An(qr),bn(Ur,!0),lr("")}return}br.source!=="blur"&&(Ze==="combobox"&&An(Fr),Pt==null||Pt(Fr))},yn=function(Fr){var br=Fr;Ze!=="tags"&&(br=Fr.map(function(qr){var un=Zt.get(qr);return un==null?void 0:un.value}).filter(function(qr){return qr!==void 0}));var Ur=Array.from(new Set([].concat((0,te.Z)(In),(0,te.Z)(br))));An(Ur),Ur.forEach(function(qr){bn(qr,!0)})},wn=T.useMemo(function(){var Er=$t!==!1&&at!==!1;return(0,D.Z)((0,D.Z)({},kt),{},{flattenOptions:Pn,onActiveValue:an,defaultActiveFirstOption:jn,onSelect:Fn,menuItemSelectedIcon:Ve,rawValues:In,fieldNames:$r,virtual:Er,direction:ar,listHeight:or,listItemHeight:hr,childrenAsData:Gr,maxCount:mr,optionRender:jt})},[mr,kt,Pn,an,jn,Fn,Ve,In,$r,$t,at,ar,or,hr,Gr,jt]);return T.createElement(Be.Provider,{value:wn},T.createElement(Nt,(0,ee.Z)({},Zr,{id:jr,prefixCls:Qe,ref:be,omitDomProps:Ne,mode:Ze,displayValues:Ln,onDisplayValuesChange:Zn,direction:ar,searchValue:Nr,onSearch:Jr,autoClearSearchValue:Xt,onSearchSplit:yn,dropdownMatchSelectWidth:at,OptionList:Dt,emptyOptions:!Pn.length,activeValue:zn,activeDescendantId:"".concat(jr,"_list_").concat($n)})))}),Ye=$e;Ye.Option=cr,Ye.OptGroup=ot;var Lt=Ye,Ht=Lt},22711:function(tr,qe,ae){"use strict";ae.r(qe),ae.d(qe,{ResizableTextArea:function(){return G},default:function(){return K}});var ee=ae(54476),te=ae(20068),X=ae(33885),D=ae(94480),W=ae(42978),y=ae(75931),L=ae(92310),b=ae.n(L),s=ae(36901),T=ae(66003),c=ae(30292),u=ae(18929),f=ae(59301),i=ae(76190),o=ae(29301),d=ae(34280),p=ae(16089),m=`
min-height:0 !important;
max-height:none !important;
height:0 !important;
visibility:hidden !important;
overflow:hidden !important;
position:absolute !important;
z-index:-1000 !important;
top:0 !important;
right:0 !important;
pointer-events: none !important;
`,h=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],v={},r;function a(U){var V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,C=U.getAttribute("id")||U.getAttribute("data-reactid")||U.getAttribute("name");if(V&&v[C])return v[C];var M=window.getComputedStyle(U),z=M.getPropertyValue("box-sizing")||M.getPropertyValue("-moz-box-sizing")||M.getPropertyValue("-webkit-box-sizing"),$=parseFloat(M.getPropertyValue("padding-bottom"))+parseFloat(M.getPropertyValue("padding-top")),q=parseFloat(M.getPropertyValue("border-bottom-width"))+parseFloat(M.getPropertyValue("border-top-width")),se=h.map(function(pe){return"".concat(pe,":").concat(M.getPropertyValue(pe))}).join(";"),ue={sizingStyle:se,paddingSize:$,borderSize:q,boxSizing:z};return V&&C&&(v[C]=ue),ue}function g(U){var V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;r||(r=document.createElement("textarea"),r.setAttribute("tab-index","-1"),r.setAttribute("aria-hidden","true"),r.setAttribute("name","hiddenTextarea"),document.body.appendChild(r)),U.getAttribute("wrap")?r.setAttribute("wrap",U.getAttribute("wrap")):r.removeAttribute("wrap");var z=a(U,V),$=z.paddingSize,q=z.borderSize,se=z.boxSizing,ue=z.sizingStyle;r.setAttribute("style","".concat(ue,";").concat(m)),r.value=U.value||U.placeholder||"";var pe=void 0,Ee=void 0,De,Fe=r.scrollHeight;if(se==="border-box"?Fe+=q:se==="content-box"&&(Fe-=$),C!==null||M!==null){r.value=" ";var Ge=r.scrollHeight-$;C!==null&&(pe=Ge*C,se==="border-box"&&(pe=pe+$+q),Fe=Math.max(pe,Fe)),M!==null&&(Ee=Ge*M,se==="border-box"&&(Ee=Ee+$+q),De=Fe>Ee?"":"hidden",Fe=Math.min(Ee,Fe))}var xe={height:Fe,overflowY:De,resize:"none"};return pe&&(xe.minHeight=pe),Ee&&(xe.maxHeight=Ee),xe}var E=["prefixCls","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],S=0,w=1,R=2,O=f.forwardRef(function(U,V){var C=U,M=C.prefixCls,z=C.defaultValue,$=C.value,q=C.autoSize,se=C.onResize,ue=C.className,pe=C.style,Ee=C.disabled,De=C.onChange,Fe=C.onInternalAutoSize,Ge=(0,y.Z)(C,E),xe=(0,u.Z)(z,{value:$,postState:function(cr){return cr!=null?cr:""}}),Ke=(0,W.Z)(xe,2),Ce=Ke[0],Se=Ke[1],ge=function(cr){Se(cr.target.value),De==null||De(cr)},Re=f.useRef();f.useImperativeHandle(V,function(){return{textArea:Re.current}});var ve=f.useMemo(function(){return q&&(0,i.Z)(q)==="object"?[q.minRows,q.maxRows]:[]},[q]),Le=(0,W.Z)(ve,2),Ue=Le[0],me=Le[1],oe=!!q,ie=function(){try{if(document.activeElement===Re.current){var cr=Re.current,wr=cr.selectionStart,er=cr.selectionEnd,Wr=cr.scrollTop;Re.current.setSelectionRange(wr,er),Re.current.scrollTop=Wr}}catch(Ct){}},he=f.useState(R),ye=(0,W.Z)(he,2),ce=ye[0],Te=ye[1],Oe=f.useState(),Be=(0,W.Z)(Oe,2),Xe=Be[0],lt=Be[1],_t=function(){Te(S)};(0,d.Z)(function(){oe&&_t()},[$,Ue,me,oe]),(0,d.Z)(function(){if(ce===S)Te(w);else if(ce===w){var It=g(Re.current,!1,Ue,me);Te(R),lt(It)}else ie()},[ce]);var tt=f.useRef(),bt=function(){p.Z.cancel(tt.current)},Nt=function(cr){ce===R&&(se==null||se(cr),q&&(bt(),tt.current=(0,p.Z)(function(){_t()})))};f.useEffect(function(){return bt},[]);var Bt=oe?Xe:null,ot=(0,X.Z)((0,X.Z)({},pe),Bt);return(ce===S||ce===w)&&(ot.overflowY="hidden",ot.overflowX="hidden"),f.createElement(o.Z,{onResize:Nt,disabled:!(q||se)},f.createElement("textarea",(0,ee.Z)({},Ge,{ref:Re,style:ot,className:b()(M,ue,(0,te.Z)({},"".concat(M,"-disabled"),Ee)),disabled:Ee,value:Ce,onChange:ge})))}),G=O,B=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize","onClear","onPressEnter","readOnly","autoSize","onKeyDown"],P=f.forwardRef(function(U,V){var C,M=U.defaultValue,z=U.value,$=U.onFocus,q=U.onBlur,se=U.onChange,ue=U.allowClear,pe=U.maxLength,Ee=U.onCompositionStart,De=U.onCompositionEnd,Fe=U.suffix,Ge=U.prefixCls,xe=Ge===void 0?"rc-textarea":Ge,Ke=U.showCount,Ce=U.count,Se=U.className,ge=U.style,Re=U.disabled,ve=U.hidden,Le=U.classNames,Ue=U.styles,me=U.onResize,oe=U.onClear,ie=U.onPressEnter,he=U.readOnly,ye=U.autoSize,ce=U.onKeyDown,Te=(0,y.Z)(U,B),Oe=(0,u.Z)(M,{value:z,defaultValue:M}),Be=(0,W.Z)(Oe,2),Xe=Be[0],lt=Be[1],_t=Xe==null?"":String(Xe),tt=f.useState(!1),bt=(0,W.Z)(tt,2),Nt=bt[0],Bt=bt[1],ot=f.useRef(!1),It=f.useState(null),cr=(0,W.Z)(It,2),wr=cr[0],er=cr[1],Wr=(0,f.useRef)(null),Ct=(0,f.useRef)(null),Et=function(){var Ye;return(Ye=Ct.current)===null||Ye===void 0?void 0:Ye.textArea},vt=function(){Et().focus()};(0,f.useImperativeHandle)(V,function(){var $e;return{resizableTextArea:Ct.current,focus:vt,blur:function(){Et().blur()},nativeElement:(($e=Wr.current)===null||$e===void 0?void 0:$e.nativeElement)||Et()}}),(0,f.useEffect)(function(){Bt(function($e){return!Re&&$e})},[Re]);var nr=f.useState(null),qt=(0,W.Z)(nr,2),Dt=qt[0],nt=qt[1];f.useEffect(function(){if(Dt){var $e;($e=Et()).setSelectionRange.apply($e,(0,D.Z)(Dt))}},[Dt]);var Rt=(0,T.Z)(Ce,Ke),Gt=(C=Rt.max)!==null&&C!==void 0?C:pe,zt=Number(Gt)>0,Qt=Rt.strategy(_t),it=!!Gt&&Qt>Gt,dt=function(Ye,Lt){var Ht=Lt;!ot.current&&Rt.exceedFormatter&&Rt.max&&Rt.strategy(Lt)>Rt.max&&(Ht=Rt.exceedFormatter(Lt,{max:Rt.max}),Lt!==Ht&&nt([Et().selectionStart||0,Et().selectionEnd||0])),lt(Ht),(0,c.rJ)(Ye.currentTarget,Ye,se,Ht)},St=function(Ye){ot.current=!0,Ee==null||Ee(Ye)},Mt=function(Ye){ot.current=!1,dt(Ye,Ye.currentTarget.value),De==null||De(Ye)},Yt=function(Ye){dt(Ye,Ye.target.value)},ft=function(Ye){Ye.key==="Enter"&&ie&&ie(Ye),ce==null||ce(Ye)},H=function(Ye){Bt(!0),$==null||$(Ye)},Y=function(Ye){Bt(!1),q==null||q(Ye)},J=function(Ye){lt(""),vt(),(0,c.rJ)(Et(),Ye,se)},le=Fe,_e;Rt.show&&(Rt.showFormatter?_e=Rt.showFormatter({value:_t,count:Qt,maxLength:Gt}):_e="".concat(Qt).concat(zt?" / ".concat(Gt):""),le=f.createElement(f.Fragment,null,le,f.createElement("span",{className:b()("".concat(xe,"-data-count"),Le==null?void 0:Le.count),style:Ue==null?void 0:Ue.count},_e)));var Ne=function(Ye){var Lt;me==null||me(Ye),(Lt=Et())!==null&&Lt!==void 0&&Lt.style.height&&er(!0)},Pe=!ye&&!Ke&&!ue;return f.createElement(s.BaseInput,{ref:Wr,value:_t,allowClear:ue,handleReset:J,suffix:le,prefixCls:xe,classNames:(0,X.Z)((0,X.Z)({},Le),{},{affixWrapper:b()(Le==null?void 0:Le.affixWrapper,(0,te.Z)((0,te.Z)({},"".concat(xe,"-show-count"),Ke),"".concat(xe,"-textarea-allow-clear"),ue))}),disabled:Re,focused:Nt,className:b()(Se,it&&"".concat(xe,"-out-of-range")),style:(0,X.Z)((0,X.Z)({},ge),wr&&!Pe?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof _e=="string"?_e:void 0}},hidden:ve,readOnly:he,onClear:oe},f.createElement(G,(0,ee.Z)({},Te,{autoSize:ye,maxLength:pe,onKeyDown:ft,onChange:Yt,onFocus:H,onBlur:Y,onCompositionStart:St,onCompositionEnd:Mt,className:b()(Le==null?void 0:Le.textarea),style:(0,X.Z)((0,X.Z)({},Ue==null?void 0:Ue.textarea),{},{resize:ge==null?void 0:ge.resize}),disabled:Re,prefixCls:xe,onResize:Ne,ref:Ct,readOnly:he})))}),F=P,K=F},29125:function(tr,qe,ae){"use strict";ae.d(qe,{G:function(){return D},Z:function(){return m}});var ee=ae(92310),te=ae.n(ee),X=ae(59301);function D(h){var v=h.children,r=h.prefixCls,a=h.id,g=h.overlayInnerStyle,E=h.bodyClassName,S=h.className,w=h.style;return X.createElement("div",{className:te()("".concat(r,"-content"),S),style:w},X.createElement("div",{className:te()("".concat(r,"-inner"),E),id:a,role:"tooltip",style:g},typeof v=="function"?v():v))}var W=ae(54476),y=ae(33885),L=ae(75931),b=ae(65030),s={shiftX:64,adjustY:1},T={adjustX:1,shiftY:!0},c=[0,0],u={left:{points:["cr","cl"],overflow:T,offset:[-4,0],targetOffset:c},right:{points:["cl","cr"],overflow:T,offset:[4,0],targetOffset:c},top:{points:["bc","tc"],overflow:s,offset:[0,-4],targetOffset:c},bottom:{points:["tc","bc"],overflow:s,offset:[0,4],targetOffset:c},topLeft:{points:["bl","tl"],overflow:s,offset:[0,-4],targetOffset:c},leftTop:{points:["tr","tl"],overflow:T,offset:[-4,0],targetOffset:c},topRight:{points:["br","tr"],overflow:s,offset:[0,-4],targetOffset:c},rightTop:{points:["tl","tr"],overflow:T,offset:[4,0],targetOffset:c},bottomRight:{points:["tr","br"],overflow:s,offset:[0,4],targetOffset:c},rightBottom:{points:["bl","br"],overflow:T,offset:[4,0],targetOffset:c},bottomLeft:{points:["tl","bl"],overflow:s,offset:[0,4],targetOffset:c},leftBottom:{points:["br","bl"],overflow:T,offset:[-4,0],targetOffset:c}},f=null,i=ae(80402),o=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow","classNames","styles"],d=function(v,r){var a=v.overlayClassName,g=v.trigger,E=g===void 0?["hover"]:g,S=v.mouseEnterDelay,w=S===void 0?0:S,R=v.mouseLeaveDelay,O=R===void 0?.1:R,G=v.overlayStyle,B=v.prefixCls,P=B===void 0?"rc-tooltip":B,F=v.children,K=v.onVisibleChange,U=v.afterVisibleChange,V=v.transitionName,C=v.animation,M=v.motion,z=v.placement,$=z===void 0?"right":z,q=v.align,se=q===void 0?{}:q,ue=v.destroyTooltipOnHide,pe=ue===void 0?!1:ue,Ee=v.defaultVisible,De=v.getTooltipContainer,Fe=v.overlayInnerStyle,Ge=v.arrowContent,xe=v.overlay,Ke=v.id,Ce=v.showArrow,Se=Ce===void 0?!0:Ce,ge=v.classNames,Re=v.styles,ve=(0,L.Z)(v,o),Le=(0,i.Z)(Ke),Ue=(0,X.useRef)(null);(0,X.useImperativeHandle)(r,function(){return Ue.current});var me=(0,y.Z)({},ve);"visible"in v&&(me.popupVisible=v.visible);var oe=function(){return X.createElement(D,{key:"content",prefixCls:P,id:Le,bodyClassName:ge==null?void 0:ge.body,overlayInnerStyle:(0,y.Z)((0,y.Z)({},Fe),Re==null?void 0:Re.body)},xe)},ie=function(){var ye=X.Children.only(F),ce=(ye==null?void 0:ye.props)||{},Te=(0,y.Z)((0,y.Z)({},ce),{},{"aria-describedby":xe?Le:null});return X.cloneElement(F,Te)};return X.createElement(b.Z,(0,W.Z)({popupClassName:te()(a,ge==null?void 0:ge.root),prefixCls:P,popup:oe,action:E,builtinPlacements:u,popupPlacement:$,ref:Ue,popupAlign:se,getPopupContainer:De,onPopupVisibleChange:K,afterPopupVisibleChange:U,popupTransitionName:V,popupAnimation:C,popupMotion:M,defaultPopupVisible:Ee,autoDestroy:pe,mouseLeaveDelay:O,popupStyle:(0,y.Z)((0,y.Z)({},G),Re==null?void 0:Re.root),mouseEnterDelay:w,arrow:Se},me),ie())},p=(0,X.forwardRef)(d),m=p},49658:function(tr,qe){"use strict";qe.Z=function(){if(typeof navigator=="undefined"||typeof window=="undefined")return!1;var ae=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(ae)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(ae==null?void 0:ae.substr(0,4))}},48911:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return Ce}});var ee=ae(54476),te=ae(76190),X=ae(33885),D=ae(20068),W=ae(42978),y=ae(75931),L=ae(92310),b=ae.n(L),s=ae(29301),T=ae(70425),c=ae(34280),u=ae(59301),f=ae(4676),i=u.forwardRef(function(Se,ge){var Re=Se.height,ve=Se.offsetY,Le=Se.offsetX,Ue=Se.children,me=Se.prefixCls,oe=Se.onInnerResize,ie=Se.innerProps,he=Se.rtl,ye=Se.extra,ce={},Te={display:"flex",flexDirection:"column"};return ve!==void 0&&(ce={height:Re,position:"relative",overflow:"hidden"},Te=(0,X.Z)((0,X.Z)({},Te),{},(0,D.Z)((0,D.Z)((0,D.Z)((0,D.Z)((0,D.Z)({transform:"translateY(".concat(ve,"px)")},he?"marginRight":"marginLeft",-Le),"position","absolute"),"left",0),"right",0),"top",0))),u.createElement("div",{style:ce},u.createElement(s.Z,{onResize:function(Be){var Xe=Be.offsetHeight;Xe&&oe&&oe()}},u.createElement("div",(0,ee.Z)({style:Te,className:b()((0,D.Z)({},"".concat(me,"-holder-inner"),me)),ref:ge},ie),Ue,ye)))});i.displayName="Filler";var o=i;function d(Se){var ge=Se.children,Re=Se.setRef,ve=u.useCallback(function(Le){Re(Le)},[]);return u.cloneElement(ge,{ref:ve})}function p(Se,ge,Re,ve,Le,Ue,me,oe){var ie=oe.getKey;return Se.slice(ge,Re+1).map(function(he,ye){var ce=ge+ye,Te=me(he,ce,{style:{width:ve},offsetX:Le}),Oe=ie(he);return u.createElement(d,{key:Oe,setRef:function(Xe){return Ue(he,Xe)}},Te)})}function m(Se,ge,Re,ve){var Le=Re-Se,Ue=ge-Re,me=Math.min(Le,Ue)*2;if(ve<=me){var oe=Math.floor(ve/2);return ve%2?Re+oe+1:Re-oe}return Le>Ue?Re-(ve-Ue):Re+(ve-Le)}function h(Se,ge,Re){var ve=Se.length,Le=ge.length,Ue,me;if(ve===0&&Le===0)return null;ve<Le?(Ue=Se,me=ge):(Ue=ge,me=Se);var oe={__EMPTY_ITEM__:!0};function ie(Be){return Be!==void 0?Re(Be):oe}for(var he=null,ye=Math.abs(ve-Le)!==1,ce=0;ce<me.length;ce+=1){var Te=ie(Ue[ce]),Oe=ie(me[ce]);if(Te!==Oe){he=ce,ye=ye||Te!==ie(me[ce+1]);break}}return he===null?null:{index:he,multiple:ye}}function v(Se,ge,Re){var ve=u.useState(Se),Le=(0,W.Z)(ve,2),Ue=Le[0],me=Le[1],oe=u.useState(null),ie=(0,W.Z)(oe,2),he=ie[0],ye=ie[1];return u.useEffect(function(){var ce=h(Ue||[],Se||[],ge);(ce==null?void 0:ce.index)!==void 0&&(Re==null||Re(ce.index),ye(Se[ce.index])),me(Se)},[Se]),[he]}var r=ae(16089),a=(typeof navigator=="undefined"?"undefined":(0,te.Z)(navigator))==="object"&&/Firefox/i.test(navigator.userAgent),g=a,E=function(Se,ge,Re,ve){var Le=(0,u.useRef)(!1),Ue=(0,u.useRef)(null);function me(){clearTimeout(Ue.current),Le.current=!0,Ue.current=setTimeout(function(){Le.current=!1},50)}var oe=(0,u.useRef)({top:Se,bottom:ge,left:Re,right:ve});return oe.current.top=Se,oe.current.bottom=ge,oe.current.left=Re,oe.current.right=ve,function(ie,he){var ye=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,ce=ie?he<0&&oe.current.left||he>0&&oe.current.right:he<0&&oe.current.top||he>0&&oe.current.bottom;return ye&&ce?(clearTimeout(Ue.current),Le.current=!1):(!ce||Le.current)&&me(),!Le.current&&ce}};function S(Se,ge,Re,ve,Le,Ue,me){var oe=(0,u.useRef)(0),ie=(0,u.useRef)(null),he=(0,u.useRef)(null),ye=(0,u.useRef)(!1),ce=E(ge,Re,ve,Le);function Te(tt,bt){if(r.Z.cancel(ie.current),!ce(!1,bt)){var Nt=tt;if(!Nt._virtualHandled)Nt._virtualHandled=!0;else return;oe.current+=bt,he.current=bt,g||Nt.preventDefault(),ie.current=(0,r.Z)(function(){var Bt=ye.current?10:1;me(oe.current*Bt,!1),oe.current=0})}}function Oe(tt,bt){me(bt,!0),g||tt.preventDefault()}var Be=(0,u.useRef)(null),Xe=(0,u.useRef)(null);function lt(tt){if(Se){r.Z.cancel(Xe.current),Xe.current=(0,r.Z)(function(){Be.current=null},2);var bt=tt.deltaX,Nt=tt.deltaY,Bt=tt.shiftKey,ot=bt,It=Nt;(Be.current==="sx"||!Be.current&&Bt&&Nt&&!bt)&&(ot=Nt,It=0,Be.current="sx");var cr=Math.abs(ot),wr=Math.abs(It);Be.current===null&&(Be.current=Ue&&cr>wr?"x":"y"),Be.current==="y"?Te(tt,It):Oe(tt,ot)}}function _t(tt){Se&&(ye.current=tt.detail===he.current)}return[lt,_t]}function w(Se,ge,Re,ve){var Le=u.useMemo(function(){return[new Map,[]]},[Se,Re.id,ve]),Ue=(0,W.Z)(Le,2),me=Ue[0],oe=Ue[1],ie=function(ye){var ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ye,Te=me.get(ye),Oe=me.get(ce);if(Te===void 0||Oe===void 0)for(var Be=Se.length,Xe=oe.length;Xe<Be;Xe+=1){var lt,_t=Se[Xe],tt=ge(_t);me.set(tt,Xe);var bt=(lt=Re.get(tt))!==null&&lt!==void 0?lt:ve;if(oe[Xe]=(oe[Xe-1]||0)+bt,tt===ye&&(Te=Xe),tt===ce&&(Oe=Xe),Te!==void 0&&Oe!==void 0)break}return{top:oe[Te-1]||0,bottom:oe[Oe]}};return ie}var R=ae(67732),O=ae(83652),G=function(){function Se(){(0,R.Z)(this,Se),(0,D.Z)(this,"maps",void 0),(0,D.Z)(this,"id",0),(0,D.Z)(this,"diffRecords",new Map),this.maps=Object.create(null)}return(0,O.Z)(Se,[{key:"set",value:function(Re,ve){this.diffRecords.set(Re,this.maps[Re]),this.maps[Re]=ve,this.id+=1}},{key:"get",value:function(Re){return this.maps[Re]}},{key:"resetRecord",value:function(){this.diffRecords.clear()}},{key:"getRecord",value:function(){return this.diffRecords}}]),Se}(),B=G;function P(Se){var ge=parseFloat(Se);return isNaN(ge)?0:ge}function F(Se,ge,Re){var ve=u.useState(0),Le=(0,W.Z)(ve,2),Ue=Le[0],me=Le[1],oe=(0,u.useRef)(new Map),ie=(0,u.useRef)(new B),he=(0,u.useRef)(0);function ye(){he.current+=1}function ce(){var Oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;ye();var Be=function(){var _t=!1;oe.current.forEach(function(tt,bt){if(tt&&tt.offsetParent){var Nt=tt.offsetHeight,Bt=getComputedStyle(tt),ot=Bt.marginTop,It=Bt.marginBottom,cr=P(ot),wr=P(It),er=Nt+cr+wr;ie.current.get(bt)!==er&&(ie.current.set(bt,er),_t=!0)}}),_t&&me(function(tt){return tt+1})};if(Oe)Be();else{he.current+=1;var Xe=he.current;Promise.resolve().then(function(){Xe===he.current&&Be()})}}function Te(Oe,Be){var Xe=Se(Oe),lt=oe.current.get(Xe);Be?(oe.current.set(Xe,Be),ce()):oe.current.delete(Xe),!lt!=!Be&&(Be?ge==null||ge(Oe):Re==null||Re(Oe))}return(0,u.useEffect)(function(){return ye},[]),[Te,ce,ie.current,Ue]}var K=14/15;function U(Se,ge,Re){var ve=(0,u.useRef)(!1),Le=(0,u.useRef)(0),Ue=(0,u.useRef)(0),me=(0,u.useRef)(null),oe=(0,u.useRef)(null),ie,he=function(Oe){if(ve.current){var Be=Math.ceil(Oe.touches[0].pageX),Xe=Math.ceil(Oe.touches[0].pageY),lt=Le.current-Be,_t=Ue.current-Xe,tt=Math.abs(lt)>Math.abs(_t);tt?Le.current=Be:Ue.current=Xe;var bt=Re(tt,tt?lt:_t,!1,Oe);bt&&Oe.preventDefault(),clearInterval(oe.current),bt&&(oe.current=setInterval(function(){tt?lt*=K:_t*=K;var Nt=Math.floor(tt?lt:_t);(!Re(tt,Nt,!0)||Math.abs(Nt)<=.1)&&clearInterval(oe.current)},16))}},ye=function(){ve.current=!1,ie()},ce=function(Oe){ie(),Oe.touches.length===1&&!ve.current&&(ve.current=!0,Le.current=Math.ceil(Oe.touches[0].pageX),Ue.current=Math.ceil(Oe.touches[0].pageY),me.current=Oe.target,me.current.addEventListener("touchmove",he,{passive:!1}),me.current.addEventListener("touchend",ye,{passive:!0}))};ie=function(){me.current&&(me.current.removeEventListener("touchmove",he),me.current.removeEventListener("touchend",ye))},(0,c.Z)(function(){return Se&&ge.current.addEventListener("touchstart",ce,{passive:!0}),function(){var Te;(Te=ge.current)===null||Te===void 0||Te.removeEventListener("touchstart",ce),ie(),clearInterval(oe.current)}},[Se])}function V(Se){return Math.floor(Math.pow(Se,.5))}function C(Se,ge){var Re="touches"in Se?Se.touches[0]:Se;return Re[ge?"pageX":"pageY"]-window[ge?"scrollX":"scrollY"]}function M(Se,ge,Re){u.useEffect(function(){var ve=ge.current;if(Se&&ve){var Le=!1,Ue,me,oe=function(){r.Z.cancel(Ue)},ie=function Te(){oe(),Ue=(0,r.Z)(function(){Re(me),Te()})},he=function(){Le=!1,oe()},ye=function(Oe){if(!(Oe.target.draggable||Oe.button!==0)){var Be=Oe;Be._virtualHandled||(Be._virtualHandled=!0,Le=!0)}},ce=function(Oe){if(Le){var Be=C(Oe,!1),Xe=ve.getBoundingClientRect(),lt=Xe.top,_t=Xe.bottom;if(Be<=lt){var tt=lt-Be;me=-V(tt),ie()}else if(Be>=_t){var bt=Be-_t;me=V(bt),ie()}else oe()}};return ve.addEventListener("mousedown",ye),ve.ownerDocument.addEventListener("mouseup",he),ve.ownerDocument.addEventListener("mousemove",ce),ve.ownerDocument.addEventListener("dragend",he),function(){ve.removeEventListener("mousedown",ye),ve.ownerDocument.removeEventListener("mouseup",he),ve.ownerDocument.removeEventListener("mousemove",ce),ve.ownerDocument.removeEventListener("dragend",he),oe()}}},[Se])}var z=10;function $(Se,ge,Re,ve,Le,Ue,me,oe){var ie=u.useRef(),he=u.useState(null),ye=(0,W.Z)(he,2),ce=ye[0],Te=ye[1];return(0,c.Z)(function(){if(ce&&ce.times<z){if(!Se.current){Te(function(Rt){return(0,X.Z)({},Rt)});return}Ue();var Oe=ce.targetAlign,Be=ce.originAlign,Xe=ce.index,lt=ce.offset,_t=Se.current.clientHeight,tt=!1,bt=Oe,Nt=null;if(_t){for(var Bt=Oe||Be,ot=0,It=0,cr=0,wr=Math.min(ge.length-1,Xe),er=0;er<=wr;er+=1){var Wr=Le(ge[er]);It=ot;var Ct=Re.get(Wr);cr=It+(Ct===void 0?ve:Ct),ot=cr}for(var Et=Bt==="top"?lt:_t-lt,vt=wr;vt>=0;vt-=1){var nr=Le(ge[vt]),qt=Re.get(nr);if(qt===void 0){tt=!0;break}if(Et-=qt,Et<=0)break}switch(Bt){case"top":Nt=It-lt;break;case"bottom":Nt=cr-_t+lt;break;default:{var Dt=Se.current.scrollTop,nt=Dt+_t;It<Dt?bt="top":cr>nt&&(bt="bottom")}}Nt!==null&&me(Nt),Nt!==ce.lastTop&&(tt=!0)}tt&&Te((0,X.Z)((0,X.Z)({},ce),{},{times:ce.times+1,targetAlign:bt,lastTop:Nt}))}},[ce,Se.current]),function(Oe){if(Oe==null){oe();return}if(r.Z.cancel(ie.current),typeof Oe=="number")me(Oe);else if(Oe&&(0,te.Z)(Oe)==="object"){var Be,Xe=Oe.align;"index"in Oe?Be=Oe.index:Be=ge.findIndex(function(tt){return Le(tt)===Oe.key});var lt=Oe.offset,_t=lt===void 0?0:lt;Te({times:0,index:Be,offset:_t,originAlign:Xe})}}}var q=u.forwardRef(function(Se,ge){var Re=Se.prefixCls,ve=Se.rtl,Le=Se.scrollOffset,Ue=Se.scrollRange,me=Se.onStartMove,oe=Se.onStopMove,ie=Se.onScroll,he=Se.horizontal,ye=Se.spinSize,ce=Se.containerSize,Te=Se.style,Oe=Se.thumbStyle,Be=Se.showScrollBar,Xe=u.useState(!1),lt=(0,W.Z)(Xe,2),_t=lt[0],tt=lt[1],bt=u.useState(null),Nt=(0,W.Z)(bt,2),Bt=Nt[0],ot=Nt[1],It=u.useState(null),cr=(0,W.Z)(It,2),wr=cr[0],er=cr[1],Wr=!ve,Ct=u.useRef(),Et=u.useRef(),vt=u.useState(Be),nr=(0,W.Z)(vt,2),qt=nr[0],Dt=nr[1],nt=u.useRef(),Rt=function(){Be===!0||Be===!1||(clearTimeout(nt.current),Dt(!0),nt.current=setTimeout(function(){Dt(!1)},3e3))},Gt=Ue-ce||0,zt=ce-ye||0,Qt=u.useMemo(function(){if(Le===0||Gt===0)return 0;var J=Le/Gt;return J*zt},[Le,Gt,zt]),it=function(le){le.stopPropagation(),le.preventDefault()},dt=u.useRef({top:Qt,dragging:_t,pageY:Bt,startTop:wr});dt.current={top:Qt,dragging:_t,pageY:Bt,startTop:wr};var St=function(le){tt(!0),ot(C(le,he)),er(dt.current.top),me(),le.stopPropagation(),le.preventDefault()};u.useEffect(function(){var J=function(Pe){Pe.preventDefault()},le=Ct.current,_e=Et.current;return le.addEventListener("touchstart",J,{passive:!1}),_e.addEventListener("touchstart",St,{passive:!1}),function(){le.removeEventListener("touchstart",J),_e.removeEventListener("touchstart",St)}},[]);var Mt=u.useRef();Mt.current=Gt;var Yt=u.useRef();Yt.current=zt,u.useEffect(function(){if(_t){var J,le=function(Pe){var $e=dt.current,Ye=$e.dragging,Lt=$e.pageY,Ht=$e.startTop;r.Z.cancel(J);var Me=Ct.current.getBoundingClientRect(),be=ce/(he?Me.width:Me.height);if(Ye){var ut=(C(Pe,he)-Lt)*be,Ze=Ht;!Wr&&he?Ze-=ut:Ze+=ut;var je=Mt.current,Qe=Yt.current,yt=Qe?Ze/Qe:0,mt=Math.ceil(yt*je);mt=Math.max(mt,0),mt=Math.min(mt,je),J=(0,r.Z)(function(){ie(mt,he)})}},_e=function(){tt(!1),oe()};return window.addEventListener("mousemove",le,{passive:!0}),window.addEventListener("touchmove",le,{passive:!0}),window.addEventListener("mouseup",_e,{passive:!0}),window.addEventListener("touchend",_e,{passive:!0}),function(){window.removeEventListener("mousemove",le),window.removeEventListener("touchmove",le),window.removeEventListener("mouseup",_e),window.removeEventListener("touchend",_e),r.Z.cancel(J)}}},[_t]),u.useEffect(function(){return Rt(),function(){clearTimeout(nt.current)}},[Le]),u.useImperativeHandle(ge,function(){return{delayHidden:Rt}});var ft="".concat(Re,"-scrollbar"),H={position:"absolute",visibility:qt?null:"hidden"},Y={position:"absolute",borderRadius:99,background:"var(--rc-virtual-list-scrollbar-bg, rgba(0, 0, 0, 0.5))",cursor:"pointer",userSelect:"none"};return he?(Object.assign(H,{height:8,left:0,right:0,bottom:0}),Object.assign(Y,(0,D.Z)({height:"100%",width:ye},Wr?"left":"right",Qt))):(Object.assign(H,(0,D.Z)({width:8,top:0,bottom:0},Wr?"right":"left",0)),Object.assign(Y,{width:"100%",height:ye,top:Qt})),u.createElement("div",{ref:Ct,className:b()(ft,(0,D.Z)((0,D.Z)((0,D.Z)({},"".concat(ft,"-horizontal"),he),"".concat(ft,"-vertical"),!he),"".concat(ft,"-visible"),qt)),style:(0,X.Z)((0,X.Z)({},H),Te),onMouseDown:it,onMouseMove:Rt},u.createElement("div",{ref:Et,className:b()("".concat(ft,"-thumb"),(0,D.Z)({},"".concat(ft,"-thumb-moving"),_t)),style:(0,X.Z)((0,X.Z)({},Y),Oe),onMouseDown:St}))}),se=q,ue=20;function pe(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,ge=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Re=Se/ge*Se;return isNaN(Re)&&(Re=0),Re=Math.max(Re,ue),Math.floor(Re)}var Ee=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles","showScrollBar"],De=[],Fe={overflowY:"auto",overflowAnchor:"none"};function Ge(Se,ge){var Re=Se.prefixCls,ve=Re===void 0?"rc-virtual-list":Re,Le=Se.className,Ue=Se.height,me=Se.itemHeight,oe=Se.fullHeight,ie=oe===void 0?!0:oe,he=Se.style,ye=Se.data,ce=Se.children,Te=Se.itemKey,Oe=Se.virtual,Be=Se.direction,Xe=Se.scrollWidth,lt=Se.component,_t=lt===void 0?"div":lt,tt=Se.onScroll,bt=Se.onVirtualScroll,Nt=Se.onVisibleChange,Bt=Se.innerProps,ot=Se.extraRender,It=Se.styles,cr=Se.showScrollBar,wr=cr===void 0?"optional":cr,er=(0,y.Z)(Se,Ee),Wr=u.useCallback(function(kt){return typeof Te=="function"?Te(kt):kt==null?void 0:kt[Te]},[Te]),Ct=F(Wr,null,null),Et=(0,W.Z)(Ct,4),vt=Et[0],nr=Et[1],qt=Et[2],Dt=Et[3],nt=!!(Oe!==!1&&Ue&&me),Rt=u.useMemo(function(){return Object.values(qt.maps).reduce(function(kt,Ot){return kt+Ot},0)},[qt.id,qt.maps]),Gt=nt&&ye&&(Math.max(me*ye.length,Rt)>Ue||!!Xe),zt=Be==="rtl",Qt=b()(ve,(0,D.Z)({},"".concat(ve,"-rtl"),zt),Le),it=ye||De,dt=(0,u.useRef)(),St=(0,u.useRef)(),Mt=(0,u.useRef)(),Yt=(0,u.useState)(0),ft=(0,W.Z)(Yt,2),H=ft[0],Y=ft[1],J=(0,u.useState)(0),le=(0,W.Z)(J,2),_e=le[0],Ne=le[1],Pe=(0,u.useState)(!1),$e=(0,W.Z)(Pe,2),Ye=$e[0],Lt=$e[1],Ht=function(){Lt(!0)},Me=function(){Lt(!1)},be={getKey:Wr};function ut(kt){Y(function(Ot){var Zt;typeof kt=="function"?Zt=kt(Ot):Zt=kt;var rr=vr(Zt);return dt.current.scrollTop=rr,rr})}var Ze=(0,u.useRef)({start:0,end:it.length}),je=(0,u.useRef)(),Qe=v(it,Wr),yt=(0,W.Z)(Qe,1),mt=yt[0];je.current=mt;var Ft=u.useMemo(function(){if(!nt)return{scrollHeight:void 0,start:0,end:it.length-1,offset:void 0};if(!Gt){var kt;return{scrollHeight:((kt=St.current)===null||kt===void 0?void 0:kt.offsetHeight)||0,start:0,end:it.length-1,offset:void 0}}for(var Ot=0,Zt,rr,xr,kr=it.length,Xr=0;Xr<kr;Xr+=1){var Mr=it[Xr],ln=Wr(Mr),Tn=qt.get(ln),mn=Ot+(Tn===void 0?me:Tn);mn>=H&&Zt===void 0&&(Zt=Xr,rr=Ot),mn>H+Ue&&xr===void 0&&(xr=Xr),Ot=mn}return Zt===void 0&&(Zt=0,rr=0,xr=Math.ceil(Ue/me)),xr===void 0&&(xr=it.length-1),xr=Math.min(xr+1,it.length-1),{scrollHeight:Ot,start:Zt,end:xr,offset:rr}},[Gt,nt,H,it,Dt,Ue]),At=Ft.scrollHeight,Pt=Ft.start,Tt=Ft.end,Xt=Ft.offset;Ze.current.start=Pt,Ze.current.end=Tt,u.useLayoutEffect(function(){var kt=qt.getRecord();if(kt.size===1){var Ot=Array.from(kt.keys())[0],Zt=kt.get(Ot),rr=it[Pt];if(rr&&Zt===void 0){var xr=Wr(rr);if(xr===Ot){var kr=qt.get(Ot),Xr=kr-me;ut(function(Mr){return Mr+Xr})}}}qt.resetRecord()},[At]);var Ut=u.useState({width:0,height:Ue}),ke=(0,W.Z)(Ut,2),He=ke[0],at=ke[1],We=function(Ot){at({width:Ot.offsetWidth,height:Ot.offsetHeight})},rt=(0,u.useRef)(),ht=(0,u.useRef)(),xt=u.useMemo(function(){return pe(He.width,Xe)},[He.width,Xe]),Wt=u.useMemo(function(){return pe(He.height,At)},[He.height,At]),jt=At-Ue,Jt=(0,u.useRef)(jt);Jt.current=jt;function vr(kt){var Ot=kt;return Number.isNaN(Jt.current)||(Ot=Math.min(Ot,Jt.current)),Ot=Math.max(Ot,0),Ot}var Ve=H<=0,$t=H>=jt,ar=_e<=0,yr=_e>=Xe,or=E(Ve,$t,ar,yr),ir=function(){return{x:zt?-_e:_e,y:H}},hr=(0,u.useRef)(ir()),Ar=(0,T.zX)(function(kt){if(bt){var Ot=(0,X.Z)((0,X.Z)({},ir()),kt);(hr.current.x!==Ot.x||hr.current.y!==Ot.y)&&(bt(Ot),hr.current=Ot)}});function Cr(kt,Ot){var Zt=kt;Ot?((0,f.flushSync)(function(){Ne(Zt)}),Ar()):ut(Zt)}function Tr(kt){var Ot=kt.currentTarget.scrollTop;Ot!==H&&ut(Ot),tt==null||tt(kt),Ar()}var Or=function(Ot){var Zt=Ot,rr=Xe?Xe-He.width:0;return Zt=Math.max(Zt,0),Zt=Math.min(Zt,rr),Zt},pr=(0,T.zX)(function(kt,Ot){Ot?((0,f.flushSync)(function(){Ne(function(Zt){var rr=Zt+(zt?-kt:kt);return Or(rr)})}),Ar()):ut(function(Zt){var rr=Zt+kt;return rr})}),mr=S(nt,Ve,$t,ar,yr,!!Xe,pr),Zr=(0,W.Z)(mr,2),jr=Zr[0],rn=Zr[1];U(nt,dt,function(kt,Ot,Zt,rr){var xr=rr;return or(kt,Ot,Zt)?!1:!xr||!xr._virtualHandled?(xr&&(xr._virtualHandled=!0),jr({preventDefault:function(){},deltaX:kt?Ot:0,deltaY:kt?0:Ot}),!0):!1}),M(Gt,dt,function(kt){ut(function(Ot){return Ot+kt})}),(0,c.Z)(function(){function kt(Zt){var rr=Ve&&Zt.detail<0,xr=$t&&Zt.detail>0;nt&&!rr&&!xr&&Zt.preventDefault()}var Ot=dt.current;return Ot.addEventListener("wheel",jr,{passive:!1}),Ot.addEventListener("DOMMouseScroll",rn,{passive:!0}),Ot.addEventListener("MozMousePixelScroll",kt,{passive:!1}),function(){Ot.removeEventListener("wheel",jr),Ot.removeEventListener("DOMMouseScroll",rn),Ot.removeEventListener("MozMousePixelScroll",kt)}},[nt,Ve,$t]),(0,c.Z)(function(){if(Xe){var kt=Or(_e);Ne(kt),Ar({x:kt})}},[He.width,Xe]);var Gr=function(){var Ot,Zt;(Ot=rt.current)===null||Ot===void 0||Ot.delayHidden(),(Zt=ht.current)===null||Zt===void 0||Zt.delayHidden()},nn=$(dt,it,qt,me,Wr,function(){return nr(!0)},ut,Gr);u.useImperativeHandle(ge,function(){return{nativeElement:Mt.current,getScrollInfo:ir,scrollTo:function(Ot){function Zt(rr){return rr&&(0,te.Z)(rr)==="object"&&("left"in rr||"top"in rr)}Zt(Ot)?(Ot.left!==void 0&&Ne(Or(Ot.left)),nn(Ot.top)):nn(Ot)}}}),(0,c.Z)(function(){if(Nt){var kt=it.slice(Pt,Tt+1);Nt(kt,it)}},[Pt,Tt,it]);var $r=w(it,Wr,qt,me),hn=ot==null?void 0:ot({start:Pt,end:Tt,virtual:Gt,offsetX:_e,offsetY:Xt,rtl:zt,getSize:$r}),on=p(it,Pt,Tt,Xe,_e,vt,ce,be),Nr=null;Ue&&(Nr=(0,X.Z)((0,D.Z)({},ie?"height":"maxHeight",Ue),Fe),nt&&(Nr.overflowY="hidden",Xe&&(Nr.overflowX="hidden"),Ye&&(Nr.pointerEvents="none")));var lr={};return zt&&(lr.dir="rtl"),u.createElement("div",(0,ee.Z)({ref:Mt,style:(0,X.Z)((0,X.Z)({},he),{},{position:"relative"}),className:Qt},lr,er),u.createElement(s.Z,{onResize:We},u.createElement(_t,{className:"".concat(ve,"-holder"),style:Nr,ref:dt,onScroll:Tr,onMouseEnter:Gr},u.createElement(o,{prefixCls:ve,height:At,offsetX:_e,offsetY:Xt,scrollWidth:Xe,onInnerResize:nr,ref:St,innerProps:Bt,rtl:zt,extra:hn},on))),Gt&&At>Ue&&u.createElement(se,{ref:rt,prefixCls:ve,scrollOffset:H,scrollRange:At,rtl:zt,onScroll:Cr,onStartMove:Ht,onStopMove:Me,spinSize:Wt,containerSize:He.height,style:It==null?void 0:It.verticalScrollBar,thumbStyle:It==null?void 0:It.verticalScrollBarThumb,showScrollBar:wr}),Gt&&Xe>He.width&&u.createElement(se,{ref:ht,prefixCls:ve,scrollOffset:_e,scrollRange:Xe,rtl:zt,onScroll:Cr,onStartMove:Ht,onStopMove:Me,spinSize:xt,containerSize:He.width,horizontal:!0,style:It==null?void 0:It.horizontalScrollBar,thumbStyle:It==null?void 0:It.horizontalScrollBarThumb,showScrollBar:wr}))}var xe=u.forwardRef(Ge);xe.displayName="List";var Ke=xe,Ce=Ke},83145:function(tr,qe,ae){"use strict";Object.defineProperty(qe,"__esModule",{value:!0}),qe.CopyToClipboard=void 0;var ee=X(ae(59301)),te=X(ae(25769));function X(h){return h&&h.__esModule?h:{default:h}}function D(h){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?D=function(r){return typeof r}:D=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},D(h)}function W(h,v){var r=Object.keys(h);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(h);v&&(a=a.filter(function(g){return Object.getOwnPropertyDescriptor(h,g).enumerable})),r.push.apply(r,a)}return r}function y(h){for(var v=1;v<arguments.length;v++){var r=arguments[v]!=null?arguments[v]:{};v%2?W(r,!0).forEach(function(a){p(h,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(h,Object.getOwnPropertyDescriptors(r)):W(r).forEach(function(a){Object.defineProperty(h,a,Object.getOwnPropertyDescriptor(r,a))})}return h}function L(h,v){if(h==null)return{};var r=b(h,v),a,g;if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(h);for(g=0;g<E.length;g++)a=E[g],!(v.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(h,a)&&(r[a]=h[a])}return r}function b(h,v){if(h==null)return{};var r={},a=Object.keys(h),g,E;for(E=0;E<a.length;E++)g=a[E],!(v.indexOf(g)>=0)&&(r[g]=h[g]);return r}function s(h,v){if(!(h instanceof v))throw new TypeError("Cannot call a class as a function")}function T(h,v){for(var r=0;r<v.length;r++){var a=v[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(h,a.key,a)}}function c(h,v,r){return v&&T(h.prototype,v),r&&T(h,r),h}function u(h,v){return v&&(D(v)==="object"||typeof v=="function")?v:i(h)}function f(h){return f=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},f(h)}function i(h){if(h===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return h}function o(h,v){if(typeof v!="function"&&v!==null)throw new TypeError("Super expression must either be null or a function");h.prototype=Object.create(v&&v.prototype,{constructor:{value:h,writable:!0,configurable:!0}}),v&&d(h,v)}function d(h,v){return d=Object.setPrototypeOf||function(a,g){return a.__proto__=g,a},d(h,v)}function p(h,v,r){return v in h?Object.defineProperty(h,v,{value:r,enumerable:!0,configurable:!0,writable:!0}):h[v]=r,h}var m=function(h){o(v,h);function v(){var r,a;s(this,v);for(var g=arguments.length,E=new Array(g),S=0;S<g;S++)E[S]=arguments[S];return a=u(this,(r=f(v)).call.apply(r,[this].concat(E))),p(i(a),"onClick",function(w){var R=a.props,O=R.text,G=R.onCopy,B=R.children,P=R.options,F=ee.default.Children.only(B),K=(0,te.default)(O,P);G&&G(O,K),F&&F.props&&typeof F.props.onClick=="function"&&F.props.onClick(w)}),a}return c(v,[{key:"render",value:function(){var a=this.props,g=a.text,E=a.onCopy,S=a.options,w=a.children,R=L(a,["text","onCopy","options","children"]),O=ee.default.Children.only(w);return ee.default.cloneElement(O,y({},R,{onClick:this.onClick}))}}]),v}(ee.default.PureComponent);qe.CopyToClipboard=m,p(m,"defaultProps",{onCopy:void 0,options:void 0})},56102:function(tr,qe,ae){"use strict";var ee=ae(83145),te=ee.CopyToClipboard;te.CopyToClipboard=te,tr.exports=te},76374:function(tr,qe,ae){"use strict";var ee=function(){if(typeof Map!="undefined")return Map;function B(P,F){var K=-1;return P.some(function(U,V){return U[0]===F?(K=V,!0):!1}),K}return function(){function P(){this.__entries__=[]}return Object.defineProperty(P.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),P.prototype.get=function(F){var K=B(this.__entries__,F),U=this.__entries__[K];return U&&U[1]},P.prototype.set=function(F,K){var U=B(this.__entries__,F);~U?this.__entries__[U][1]=K:this.__entries__.push([F,K])},P.prototype.delete=function(F){var K=this.__entries__,U=B(K,F);~U&&K.splice(U,1)},P.prototype.has=function(F){return!!~B(this.__entries__,F)},P.prototype.clear=function(){this.__entries__.splice(0)},P.prototype.forEach=function(F,K){K===void 0&&(K=null);for(var U=0,V=this.__entries__;U<V.length;U++){var C=V[U];F.call(K,C[1],C[0])}},P}()}(),te=typeof window!="undefined"&&typeof document!="undefined"&&window.document===document,X=function(){return typeof ae.g!="undefined"&&ae.g.Math===Math?ae.g:typeof self!="undefined"&&self.Math===Math?self:typeof window!="undefined"&&window.Math===Math?window:Function("return this")()}(),D=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(X):function(B){return setTimeout(function(){return B(Date.now())},1e3/60)}}(),W=2;function y(B,P){var F=!1,K=!1,U=0;function V(){F&&(F=!1,B()),K&&M()}function C(){D(V)}function M(){var z=Date.now();if(F){if(z-U<W)return;K=!0}else F=!0,K=!1,setTimeout(C,P);U=z}return M}var L=20,b=["top","right","bottom","left","width","height","size","weight"],s=typeof MutationObserver!="undefined",T=function(){function B(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=y(this.refresh.bind(this),L)}return B.prototype.addObserver=function(P){~this.observers_.indexOf(P)||this.observers_.push(P),this.connected_||this.connect_()},B.prototype.removeObserver=function(P){var F=this.observers_,K=F.indexOf(P);~K&&F.splice(K,1),!F.length&&this.connected_&&this.disconnect_()},B.prototype.refresh=function(){var P=this.updateObservers_();P&&this.refresh()},B.prototype.updateObservers_=function(){var P=this.observers_.filter(function(F){return F.gatherActive(),F.hasActive()});return P.forEach(function(F){return F.broadcastActive()}),P.length>0},B.prototype.connect_=function(){!te||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),s?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},B.prototype.disconnect_=function(){!te||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},B.prototype.onTransitionEnd_=function(P){var F=P.propertyName,K=F===void 0?"":F,U=b.some(function(V){return!!~K.indexOf(V)});U&&this.refresh()},B.getInstance=function(){return this.instance_||(this.instance_=new B),this.instance_},B.instance_=null,B}(),c=function(B,P){for(var F=0,K=Object.keys(P);F<K.length;F++){var U=K[F];Object.defineProperty(B,U,{value:P[U],enumerable:!1,writable:!1,configurable:!0})}return B},u=function(B){var P=B&&B.ownerDocument&&B.ownerDocument.defaultView;return P||X},f=g(0,0,0,0);function i(B){return parseFloat(B)||0}function o(B){for(var P=[],F=1;F<arguments.length;F++)P[F-1]=arguments[F];return P.reduce(function(K,U){var V=B["border-"+U+"-width"];return K+i(V)},0)}function d(B){for(var P=["top","right","bottom","left"],F={},K=0,U=P;K<U.length;K++){var V=U[K],C=B["padding-"+V];F[V]=i(C)}return F}function p(B){var P=B.getBBox();return g(0,0,P.width,P.height)}function m(B){var P=B.clientWidth,F=B.clientHeight;if(!P&&!F)return f;var K=u(B).getComputedStyle(B),U=d(K),V=U.left+U.right,C=U.top+U.bottom,M=i(K.width),z=i(K.height);if(K.boxSizing==="border-box"&&(Math.round(M+V)!==P&&(M-=o(K,"left","right")+V),Math.round(z+C)!==F&&(z-=o(K,"top","bottom")+C)),!v(B)){var $=Math.round(M+V)-P,q=Math.round(z+C)-F;Math.abs($)!==1&&(M-=$),Math.abs(q)!==1&&(z-=q)}return g(U.left,U.top,M,z)}var h=function(){return typeof SVGGraphicsElement!="undefined"?function(B){return B instanceof u(B).SVGGraphicsElement}:function(B){return B instanceof u(B).SVGElement&&typeof B.getBBox=="function"}}();function v(B){return B===u(B).document.documentElement}function r(B){return te?h(B)?p(B):m(B):f}function a(B){var P=B.x,F=B.y,K=B.width,U=B.height,V=typeof DOMRectReadOnly!="undefined"?DOMRectReadOnly:Object,C=Object.create(V.prototype);return c(C,{x:P,y:F,width:K,height:U,top:F,right:P+K,bottom:U+F,left:P}),C}function g(B,P,F,K){return{x:B,y:P,width:F,height:K}}var E=function(){function B(P){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=g(0,0,0,0),this.target=P}return B.prototype.isActive=function(){var P=r(this.target);return this.contentRect_=P,P.width!==this.broadcastWidth||P.height!==this.broadcastHeight},B.prototype.broadcastRect=function(){var P=this.contentRect_;return this.broadcastWidth=P.width,this.broadcastHeight=P.height,P},B}(),S=function(){function B(P,F){var K=a(F);c(this,{target:P,contentRect:K})}return B}(),w=function(){function B(P,F,K){if(this.activeObservations_=[],this.observations_=new ee,typeof P!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=P,this.controller_=F,this.callbackCtx_=K}return B.prototype.observe=function(P){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element=="undefined"||!(Element instanceof Object))){if(!(P instanceof u(P).Element))throw new TypeError('parameter 1 is not of type "Element".');var F=this.observations_;F.has(P)||(F.set(P,new E(P)),this.controller_.addObserver(this),this.controller_.refresh())}},B.prototype.unobserve=function(P){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element=="undefined"||!(Element instanceof Object))){if(!(P instanceof u(P).Element))throw new TypeError('parameter 1 is not of type "Element".');var F=this.observations_;F.has(P)&&(F.delete(P),F.size||this.controller_.removeObserver(this))}},B.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},B.prototype.gatherActive=function(){var P=this;this.clearActive(),this.observations_.forEach(function(F){F.isActive()&&P.activeObservations_.push(F)})},B.prototype.broadcastActive=function(){if(this.hasActive()){var P=this.callbackCtx_,F=this.activeObservations_.map(function(K){return new S(K.target,K.broadcastRect())});this.callback_.call(P,F,P),this.clearActive()}},B.prototype.clearActive=function(){this.activeObservations_.splice(0)},B.prototype.hasActive=function(){return this.activeObservations_.length>0},B}(),R=typeof WeakMap!="undefined"?new WeakMap:new ee,O=function(){function B(P){if(!(this instanceof B))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var F=T.getInstance(),K=new w(P,F,this);R.set(this,K)}return B}();["observe","unobserve","disconnect"].forEach(function(B){O.prototype[B]=function(){var P;return(P=R.get(this))[B].apply(P,arguments)}});var G=function(){return typeof X.ResizeObserver!="undefined"?X.ResizeObserver:O}();qe.Z=G},27774:function(tr,qe){"use strict";Object.defineProperty(qe,"__esModule",{value:!0}),qe.SizeSensorId=qe.SensorTabIndex=qe.SensorClassName=void 0;var ae="size-sensor-id";qe.SizeSensorId=ae;var ee="size-sensor-object";qe.SensorClassName=ee;var te="-1";qe.SensorTabIndex=te},79301:function(tr,qe){"use strict";Object.defineProperty(qe,"__esModule",{value:!0}),qe.default=void 0;var ae=function(te){var X=arguments.length>1&&arguments[1]!==void 0?arguments[1]:60,D=null;return function(){for(var W=this,y=arguments.length,L=new Array(y),b=0;b<y;b++)L[b]=arguments[b];clearTimeout(D),D=setTimeout(function(){te.apply(W,L)},X)}};qe.default=ae},79789:function(tr,qe){"use strict";Object.defineProperty(qe,"__esModule",{value:!0}),qe.default=void 0;var ae=1,ee=function(){return"".concat(ae++)};qe.default=ee},47242:function(tr,qe,ae){"use strict";Object.defineProperty(qe,"__esModule",{value:!0}),qe.ver=qe.clear=qe.bind=void 0;var ee=ae(95270),te=function(y,L){var b=(0,ee.getSensor)(y);return b.bind(L),function(){b.unbind(L)}};qe.bind=te;var X=function(y){var L=(0,ee.getSensor)(y);(0,ee.removeSensor)(L)};qe.clear=X;var D="1.0.2";qe.ver=D},95270:function(tr,qe,ae){"use strict";Object.defineProperty(qe,"__esModule",{value:!0}),qe.removeSensor=qe.getSensor=qe.Sensors=void 0;var ee=D(ae(79789)),te=ae(57829),X=ae(27774);function D(s){return s&&s.__esModule?s:{default:s}}var W={};qe.Sensors=W;function y(s){s&&W[s]&&delete W[s]}var L=function(T){var c=T.getAttribute(X.SizeSensorId);if(c&&W[c])return W[c];var u=(0,ee.default)();T.setAttribute(X.SizeSensorId,u);var f=(0,te.createSensor)(T,function(){return y(u)});return W[u]=f,f};qe.getSensor=L;var b=function(T){var c=T.element.getAttribute(X.SizeSensorId);T.destroy(),y(c)};qe.removeSensor=b},57829:function(tr,qe,ae){"use strict";Object.defineProperty(qe,"__esModule",{value:!0}),qe.createSensor=void 0;var ee=ae(20953),te=ae(55202),X=typeof ResizeObserver!="undefined"?te.createSensor:ee.createSensor;qe.createSensor=X},20953:function(tr,qe,ae){"use strict";Object.defineProperty(qe,"__esModule",{value:!0}),qe.createSensor=void 0;var ee=X(ae(79301)),te=ae(27774);function X(W){return W&&W.__esModule?W:{default:W}}var D=function(y,L){var b=void 0,s=[],T=function(){getComputedStyle(y).position==="static"&&(y.style.position="relative");var d=document.createElement("object");return d.onload=function(){d.contentDocument.defaultView.addEventListener("resize",c),c()},d.style.display="block",d.style.position="absolute",d.style.top="0",d.style.left="0",d.style.height="100%",d.style.width="100%",d.style.overflow="hidden",d.style.pointerEvents="none",d.style.zIndex="-1",d.style.opacity="0",d.setAttribute("class",te.SensorClassName),d.setAttribute("tabindex",te.SensorTabIndex),d.type="text/html",y.appendChild(d),d.data="about:blank",d},c=(0,ee.default)(function(){s.forEach(function(o){o(y)})}),u=function(d){b||(b=T()),s.indexOf(d)===-1&&s.push(d)},f=function(){b&&b.parentNode&&(b.contentDocument&&b.contentDocument.defaultView.removeEventListener("resize",c),b.parentNode.removeChild(b),y.removeAttribute(te.SizeSensorId),b=void 0,s=[],L&&L())},i=function(d){var p=s.indexOf(d);p!==-1&&s.splice(p,1),s.length===0&&b&&f()};return{element:y,bind:u,destroy:f,unbind:i}};qe.createSensor=D},55202:function(tr,qe,ae){"use strict";Object.defineProperty(qe,"__esModule",{value:!0}),qe.createSensor=void 0;var ee=ae(27774),te=X(ae(79301));function X(W){return W&&W.__esModule?W:{default:W}}var D=function(y,L){var b=void 0,s=[],T=(0,te.default)(function(){s.forEach(function(o){o(y)})}),c=function(){var d=new ResizeObserver(T);return d.observe(y),T(),d},u=function(d){b||(b=c()),s.indexOf(d)===-1&&s.push(d)},f=function(){b.disconnect(),s=[],b=void 0,y.removeAttribute(ee.SizeSensorId),L&&L()},i=function(d){var p=s.indexOf(d);p!==-1&&s.splice(p,1),s.length===0&&b&&f()};return{element:y,bind:u,destroy:f,unbind:i}};qe.createSensor=D},98040:function(tr){tr.exports=function(){var qe=document.getSelection();if(!qe.rangeCount)return function(){};for(var ae=document.activeElement,ee=[],te=0;te<qe.rangeCount;te++)ee.push(qe.getRangeAt(te));switch(ae.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":ae.blur();break;default:ae=null;break}return qe.removeAllRanges(),function(){qe.type==="Caret"&&qe.removeAllRanges(),qe.rangeCount||ee.forEach(function(X){qe.addRange(X)}),ae&&ae.focus()}}},82059:function(tr){var qe=arguments[3],ae=arguments[4],ee=arguments[5],te=JSON.stringify;tr.exports=function(X,D){for(var W,y=Object.keys(ee),L=0,b=y.length;L<b;L++){var s=y[L],T=ee[s].exports;if(T===X||T&&T.default===X){W=s;break}}if(!W){W=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var c={},L=0,b=y.length;L<b;L++){var s=y[L];c[s]=s}ae[W]=["function(require,module,exports){"+X+"(self); }",c]}var u=Math.floor(Math.pow(16,8)*Math.random()).toString(16),f={};f[W]=W,ae[u]=["function(require,module,exports){var f = require("+te(W)+");(f.default ? f.default : f)(self);}",f];var i={};o(u);function o(r){i[r]=!0;for(var a in ae[r][1]){var g=ae[r][1][a];i[g]||o(g)}}var d="("+qe+")({"+Object.keys(i).map(function(r){return te(r)+":["+ae[r][0]+","+te(ae[r][1])+"]"}).join(",")+"},{},["+te(u)+"])",p=window.URL||window.webkitURL||window.mozURL||window.msURL,m=new Blob([d],{type:"text/javascript"});if(D&&D.bare)return m;var h=p.createObjectURL(m),v=new Worker(h);return v.objectURL=h,v}},93314:function(tr){"use strict";tr.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMwAAACaCAYAAADl9acYAAAAAXNSR0IArs4c6QAAIABJREFUeF7tXQd4U1Ubfs/NaJtO9kzLahFQEJkiUBBFUFFkCCjiAAVFERT5FREQQQXBBcpysWRP2RtkKRsEOphNodCZdDfjnv85CU2TZt2bhABNDw9PmtzvrO+c957xLQIP0pkz1yrQIEmwwcDzHhTj91klEo7jpcG5zetWUJdmRjmPvTM9GI9JgSGvadOoLE9KJJ5kPp2YXLtZdO1kT8ooz2vigCNelvPYezPEG7z0CDAn4pJqPvJA5A3vdcl/S3LEy3Iee29OeIOX5YDx3nh4VFI5YDxin6DM5YARxKb7g6gcMHd+nMoBc+d57LKGhCQ1ZURBCoVL2nKCO8sBZWW50x1TOWDuLP8FlV4OGEFs8glROWB8wmbPKikHjGf882bucsB4k5t3qKxywNwhxrpRbJkGTOx0ehlA3d9e5VEtzA3ulGe55zmg1QOfrCVo34BgQGvr5rLDRl4RRZG+5NjBESBc4FHw1LlrCAuPsCo0JjKi7J5hYqfTXADBq4byCJLf82Nf3kA3OfD9LgKdgeCzZ4CUTJ1VKQFyKQgpmeMSjiKvQC+oplspN/wOMDcBVFv0Bo+KwYJ4VE50H3Jg7j6CWzkEX74A3MrSgTfeKZpSaBCHcAVn/JunBHlFPDR5BkG9LMjPt7mZLOtbskQADea9wqOW9coqiGHlRPcHBxYcJriQQvB9P+v2cqCwWFxgoOJk6JeTNX4HmJMAHv6xP4/6VXw/+OxNx/bM/pIohdUE9VW/VxwjOHiJYO5A6xolpGSpYW3jIW4w/A8wM+h+UHSY2pvHgzV9NXymeor0wPc7Cf7XzWJ/4Nsm+Ly2LzZx+OwZ3yuVbzhNsPEMwcI3rM8wMikHiURi5gNbbQoKrc84zpjkj2eYzQC6f96DomUd305ctrp8tp5gSk/f1utzlFhUOHYthy9f8D1gdpwnWHiEYOVQ6zNM6QM/AY+CImHnF9YtfwTMCgB9P+5G0SHa9xP3bk2gT9cBU3r6Hjp95nBYNcz3gDlwkRhX843vlfS59PmFHfjFzgC/2pJ1nEEnEIpIAG+834Wia2Ox7PJ8wt0twLz7J8Gsl3zf316zCVYPsz5oe85F1yUcu0YwcQPBjlElZyjL8wsrQeyBn+XxK8DETqefgyACFCPe6kjxfDPfT6C7BpilBLMG+L6/A34h+P1VikCZ60nuTYpzN4AxqznjCqPOMZ1RSp9f2OVLYZH1lbOrNvjVlswIGEAKYOyrj1K82NL3E+huAWbEMnbFSn1+Qzd4AcE3fajPZV6X04D3lnHGM4xOawKFJwLLYiD5H2AoCkHwJQMLA42v090CzJjVBBN7UCh8rN3AgDrqCYq6lX3L6RQ1MGQRhwWvA7UrALbnFzCJjOhG+d2WjFCkUYKZPZpSDIv1PWDGrycY34NCahI0+yxN/Ivg3c4UlUN8VqWxok/XEfRrSdG0tm/rzcoHBv7KYc5AILqqLWDcOb/45RmGEFyhFL8/0Yga33y+Tl9uJhjxOEVIoG9rnrqVKSJSRFb0fb3tG1A81sC39TLRSu85HL57Eaii0Bm3oqEKqZXSJaUURUxTU0Tyuy0ZAc5SYCUbxE+6+x4w3+0kGNiWooqP3/Qz9xB0bUTRsLqI2eEFUlbvA9WBJxv5ltdMit9jFocpLwB1InQIkBEQTmLUHStOBoMBOr24K2+/AwwPHOKArS2iKCY9VzKIg34jyMgTv6f1wpwqL8JLHKgUTLHwjZIxZTKg0V2Bzg2tLzvYBYA75xe/25J1mkEnGAzYyXE40KQmMK23uLeLN8b1j0ME7epTxFTzRmnCy/jzXyCqIny+NVryDzFeKfd+xLcrDOMMO8MMfgx45iFrOZA7AstiTvvVoZ91usM3tClHcLpeZWDmAN8DZtlRgkY1KJr5+BC87hQQLAeebCwcZN6gXH6MgG2P+rfyDmD+WLoV8xZugkIRiNh2TTHghcfRoF4tFBZpkXgpGQ81rmdu9puLOLzwMPBYPR1Cgzw/v7CC/WpLxjrc/jtaT2LApRrhwC+DfA+Y9aeI0dKzbT3vTCChk3r7eaBABzzfTGgO79CtPUmM9b7U2jv9bf3kOyjSlihLcoSg93MdkZ2Th227j2Hoq8/inTeeNzZ+xFIOsTHAsw/pAeL5+cUvAdPuG1pVRnArQgEsGex7wGw7RxAgBTo19M4EEjqtD1wEkrPYm15oDu/QbfkPSM0hHsu8du0/gSnfLkFGVrbThjFLynULJ6FOZHUw2RNbyd/qUJLFHZV+ywr9aksWO4Ou0BK8KueRz/bVq++CUuD+RGbhB3R/0LeAOZEEnFIRvPGYb+vdGw+cvU7w3uOe1dv+mfeRk5svCMUfvz8AA3o9jgkbCJQVgPe7lGTz5MDvj4f+VXs/JH1ip1PmAkHy17u8z42bjl4lxjf9C809m0CCZo4FUVwKsDPOJLz0ZTp6Fdh6jtnWe1bvuCm/4q/tRwQ1/b03e2LIwGfw1RaCkADg425AOvPkYCHZd0cG43dbsk4zaDFgWHiHcG85wjBQoEhnMhAzf5r/Jihkf9/+fjXDtDXqGA108+Eqcy0DYAfwMU95NnEFzVgLovibwK8HCab19qze61s24Pf5K7A5KwB5vHM1CblMij9m/Q87rtc1jsek54CMPIBayGD0BgP0ImUw/gwYFiqjllhHGAcvAkuPcijU8cgv0KGgSGv8LNJqweu1MOh14A3ss+S78W+Dzuo3RsPoTy0YgIjQALFz0C36tBzg570EE3p4NnHFVn5TA0zaSPDzy57Vu2bIS6jF67BDHYBHgnVI0kow+6ZjLyZNm9RD+35jkZINfNO7ZIVhEn+e16NQ6157/OqWjJ1h9n1IXoydTi8AeGD+KzxqinCEsfkswfBJC2HQacXOG7v0B+e9CGXVUK+U5aoQdm5iE3eqh296R/XoDEBu0e3/hcz3FzF+Z292trI91Zgav7N2tKrDrrfFTdgTI4dAl61BipZDDXYINRCMvBrusNvBikAMHT8LTM3/pwElK4xMAuQV6uBuKK4yA5hEVfY8SvmmHCETGyjDtzqbQLHf0KMgaCnWEcaW/whGT1mAHHZP6oW09bueaFy3khdKcl0EO+y+v4xgphs2MWxbs+K46bLCDIoi6+9iVLKY4PbTp8UB5t8h/UB53qimz1aJA9lyLExz7H1vyMCnUa15L/x9EfhtkIk/nh74y9ShPz5JnUGA26qFZIdcTofWqR5xxd5Uip1O9wDoJNYRxs4LBB9PXYxUdaHrGSqAYuWUp9GmSQ0BlN4h8cTq8qVfOGgKStpBeAoJb4DEYPrPsU89b/5e/LvEYPubLCIQX06NEtWpfwa/yA4h0FEgqVCK71OCUeTARdLLfbpg9PAXsfGsBBtOA0uHmKpyV0PZsqFl5lo5QaXWgRqNw4pTHiEYGa2M+KX0yMROpxsA9BDrCGNvAsG4GcuQdMt45eJx+nXsk3iyNbOY9k161wOry8/GqZCr1t4GBA/O3T0Nm7gSDl/89IBRHiU0nRk3CgU3knEmT4pZN51rrjI5TN2oGmCOMP44BKx7B8jINemP8ZRCK2Y5LNXAMrMlS0hSpwKw9TRGME+XHf5ekybEfPCInU7/BDBArCOMw5cIPvt+JRJUGqHj7JRu2rsd0P+JGBuanELTTVpwwO3/cnjFxNcTwMz95hquxud5pd+skIEfR6NJA+F2y6o1S3Fj4xpj/X9lBmK7OsDuChMUKMf+v36AXC4Fc4QxYwew/X0gM8/k5VKvN0BvcF9gfc8CJuGWuh4twgoQnJSBzK+nDP+3eLTsBahJSNL8DdD29kaUAFsDSU4vpVJp3FTETqdzAbwl1hHGySSCCTPX41RimlcmzthBrTCsV1Obss5cJ2hWXQupTIoiHUW+1nRYZkcn5kRbTzlIOQq5hBmimfRu2RwoeU4gl5rAFiI3Odpmb/NRK0zXu+zgKzZtWZWK/VvTxWZzSP/EK5HoEivcxsFQWIBzk8caVxmWmMT+g6thNlfMg/p1xYfv9DXSMEcYEzYAu247wnBXQ9myE/fslixRpf6FUgw2N5bgDChmk6Lw33MMqkqlg8JeVKmn8hRjHI0QIdgbiJynGWhiZ9AZoPhgaEeK50Q4wmDCvwmzt+HwGe8EcH67V1N8MshWV4UBpnlNLQID3Lcn5nkKrZ6iUEex4azEqC08di0BW1XDgsTP+2NHsrH6F+/0m9Xetns1PN9b3IWHPi8XyetXIOPoEeg1WbhYKMGK9CCoiiSoWq0SnuvWzqhLVuyoz+wI411mmi3epZI9Lt2zgElIUht9INtpdDJPMUsSGf59NCFFxc8TknI6AoZ9LqbCmj+V4X33zMAEAOMHtaXoJ0KLVpUJjJuzD3v+vSh+xtnJ0ffxaMwY0dHuCtO8pg6BAcK3LI4axCTai/4hRsBM3kww5DGK6o5vYx32S52pw9QxbEi8k6o2DMeoj2q5VVhqNnB29JsI0TP5M6Dj5Gg7dwmkpVZOsyOMtyg4joDyBhRq3d+Osbru3S2ZSp0LCmf+9ZM5CUY3qBWx3LREUy5RpbkKQOl0FAimvrksPAME08Q6wmD74DGz/8H2A/+5NdClM8U2r4VFE7rZBcwjtXQIkHsOGLbSLP7XBJhvdxD0fJiinhs+pVk5n41IBM/UFryQSHggvpxRooovpsgdFwjoD8MQri3ZIso/XYzm9a2FwDfUAFPxX/AaRYSCeCR/KW7fvQuYJE0RQF3vSQh2UQn3bsOaYXEJSZrPADrJBfP5BceCVx+4LO0r1hGG3gC8//Np/LXrmJjxdUhbv1YE9vzU22eAmbOPBRmieNCNFzvP8/jhaxVSL3vn4M9zBJN/bgSZgJsyplZ0KQ24oSZgq8vmE4V4+9hrkNIS8O5uPhbNOz+CprWpWRhd7Ahj9svMYM871rT38pbM/q2XvelHoeU4bpxBgt+Jjr8MAqfi80NXZEW/H1UEuOMIY/zCRPyxZr9XABMSJMP5pbelahYlsjNMi1p6402Pp8lyhWEhIBpVp2hdV1yp6nwgPAhYvzQF/+zOEpfZCfXgz6LRIMrxKsq0B5YcKsL6UxRFvBygelBdLjhZGMCx/RfTKWMCUGZzbAClvJEmtiGH97oEGLdhzBHGjL4UDyvLOmBUmn9AaamAay7GimAXgdErzG1RlX36k9el+PlgsPFtK9YRxtwtNzBl7havTZoLywYhuJRbSCNgauvBlAg9TQYDjyVHOeOWbOVxoEoo0Mn2JttpNZvOcmhfn0KTXoTr8TlITSnCrRSt8TMvV7gj79KVPDskCo+1tb/rZkLScavzcTlTARBrZUu+MB1coHNHZ8rQXEzvH4T+8yWY9DzQrj6QptFDzzRlPUj37JbM5pZMeCfZK5CNgsPt3PlbEny3LwSlHWEIqWLzcTWGfbFaCKkgml0zeyNaaa3QdqcAs+msSa2k+4OCmmYm2nyWQ98W9idabo4eqSla3EopMn6m3mRgKkJ6KlM6dV5Plz418ES3CjZE7Ar9w2X5UGXbv3bmC1NBAiqBEOf34zFhKlzLq40PuxK0i8qFutBzRdd7FjDx1zSDCKELxA2tmZoyyztqqc9tUdDlDAm+2hUCdxxhHIwrwOAJy5EvIkSCsz78Nq4rnmhpfU/BANOytgEydwQmpSpjQro/b68we+JNArzej4jjKouz0q+luDwGAzWCxnI1Kr0qPfpEZTzXv6pVwUzf6+MVBTiX6vi+hxoKQfUF4AJswWZZGF+UCUN2IsYMaINnbcVd4jp0m/qePcNcvJlTldcaUm5vVN3qnKNM1zUcJm4LhTuOMP65qMWYGWtxJcU76jGT3nwUrz1j7ZnCCBilAbLS96RucIFJtv88ZpLD/HMZSEgFXmkrrqANp2yjEYsroYRar6f44I3zxh9qNwnH8FHWNxBLj2ix6F85SKltmGV9lBrAF6RConCuh8fotCn7MSC2Fob3ELkPddDBexYwrL2JSZqtFPQpdwfHUT7mf+zjTWFwxxHG8St6zPhtCw6cZXcSnqdhLzTF2FethZcMMK2UBki9DBgmbz18mYAJbMUk5shiYBsxORzT5ucZ8PHbcUaC4OpBGDe55AbiShqP9/40gHLOt058UZbxXMPJnQuUKK+DLi8DEs0R/PJBLIIVwjULHPXgnt2SsQbHq7JeIJSYFIi8mNgeeeT6cFRQAItFOsL4L5li0do9WLrLriK06FZ2e7QO5v3PwugcgDcBo9MbsPT2CnMxFcYwdiNFuMhlKjcs/J23AMMEoONHJhj5JA2T44tvS2TTo5cX4kKqY5X9YuYacq9CEhzlMngmr8uGQasFLUpDPcUV/DCiKwrcNBwrrvueBsyKFVTSvG32aQraRPRMdJKBWaa+vSrcqNAo1hEGsyD8Y/1R/LzmjFea1EBZAbtn9rIqywiYSB5Siecey3U6A5YeN23JmCCPORIcK8IWhV0ps1Wpj8hzjyPmsDPN5P+ZNCWInMOXPz9g/PtgohZfbpEZ3SE5TxSGXBUkIa61vPnCDLCzFEuGrOMY1q02Xunq2VS6p7dkrKOJ17N7UAPP1PG9moatCoOBJ9go0hEGe+P+vC4e3yw84JX2VAoLxMmFL9sApnUkD4kXAKPV6bHsuNQIGDb5p28nmCwixmZSJnA5jeCZh1x3NzfpKi7M/xlFGRmo0qoNqnfohPAG1mcH1dUCfDP+sqkwjuCreY2Mf478swiJGa6V3Az518EFVgHhXMu0DYUZ4G8Dhuqy0Sg0EfM+8myHf88DhjEzIUmzAaA9XA+ZcIqR60KRp+XgjiOM3Sdu4s0vtyAkSIrgQCmCg6QIYZ+BMuPf7Dfzs9vP2bPi34ICZTh2szJ6NM41HuyrV7f2G8tWmNZRPCSc5yuMJWCYGcjHawm+7Sv8DPPfdSBfS9C5oWveHhg+GFqNyfRBEhgIeWgY2kz7AZysRDh5KT4fP0y5vZ0lwBdzGoO9FwbOK4S6KMDpCkP1eaD6fCNghCSDNhe8zmTsVznrMD59XIGa7Wx194SUVUxzT2/JihuZmJJThWoNZ0HgNY/EH28MRUY+B7GOMFibcrJzkJuXB3Z1zXHc7U9ivNlh0mX2aXpm/7ekLA57E6R44zHm5slWAs0A0ybKpDDoaWLhHJafMK0wLIm1ujx0iYD56WgrQO3ryuplSN6xzajkqM83+RCr1aUrol95A5zUJIT971QO5n2bZPybXYRNntsYvx4guLJrL1qkbsD2moOQHP6wlUskRkt5PfiCm5AEC/exa9DmgNcVoVL2KQy59RsqhAQg6tPvwAU5U1F0zvH7AjCsC4mqnE6UGpitvsfSJ0IIHb8lmNzIlkCsIwxPJzDLf10NrDtJMNyBjzDvAkaH5SdkbgOGOf5oVAN4sKawnl+YOwspf+81EzPIh9VvgCbvfoDAKlVx9JAai+ZcNz4PVBBE9W+M07uPo9/laeBgknSeC22ObbVeQ06QCRzselivuQhZBNveCX+JGAoyEZEThyE3fkIYNa00yh69UPdF6y2wsJ6ZqO6LLZl5pUlW9wHFMkrh6mTokgdf7QzG5UwpxDrCcFmwAAImPPztIMHorva3RkbA1GEhGoRPDkfVMj/EVoARaabM2vliCxj9QQtJ1GDAtU3rcGPXDmjVWWDfWWJbtHp9BiCwRScU6KQICJRg4VEp4g8ex4tXvrFSpGT0JxXNsKraIEgVFaHLuQ5ZSE1wAeLsEioRFZ5PnAVlTok5hiQwCG1+mAupwr1V5r4CDGNkgkrzEij93Znqi5CB/XafAhduySDWEYaQsl3RFGiB6Tsce4NkgGlbx+WtqatqjM9ZlOAVJ0tWmPeWEvzYX3gYcOY9cuKzsLE1EVK5oagQJ7/4DDlXS67gZTVqI6dlXxwNaIXrJ06j75UZkFhoHbNyK7Zqh2E3usHAlCupDgFhtSAJEmdsxsqJqZSHevmJaHPoC6vm1nvpNdTu7t6R+L4DjAk06t7M+tKuDb+QkQTw00EFTl2XQawjDIHFOyVj6h+frSeY4uC2it1MRVXgIeUIpBLTWcjdxMJArDgpN2/JPlpF8PlzwoPDjl9v0vZ1N2k1apz+ehJyVaZzS3HimUMKIoWUWrusqtDqUTR46308/bUKekghU1QBkbq+PbPXPkNuEog8DAOS5+ABzVEzSWj9GDSf+JVbXbovAcNs+oODFYSjsp8oqCm2gcj06z9BOHJNbjTZ7RDt/oQQWa2ZXEw0ZWY1yYzYGdCYuj5L7AJNwgBlvHRgj3mjnfvtx0YlS/Zcp9dj6wU5nmpiysccdLMYm5UECr3HruHwQ3/P+KPLzcWZ6VOQfdG5xWbVzl0R9fJgEI7DjO0Eu85rQSTuH1lbV45HbmYSzl1OR+2im4g0ZEJpyETdAC26zpnv1tDdt4AptulPNJ1rplMKUY6uFh8PxL5LARDrCMMtLtvJJAYw3qqTlcOCw7JYLUoBwWHZWWvBIYJxz3jeAiZxv7R0AZJ3bIetdT1B7T4voebTPc0VMbe2G08Wur26sII+6JyD5x4JQU6+FkfOp+DA2es4fO4GsvO1qFk5BE3qVEaTupWNn9G1K0AmILT1fQ8YxhhKqfTi9ewBoPQjSiFAxAasOh2AbfGBRr0qMY4wPJ86phLuFmBm7ibo2oSioYAL+uPXgKvpBIMe9VavgctnE5C7fyuyz58Bc2oRVKMWaj7XBxVbWGuELjxMsOxIAYjUtaqMo9Z90CkHz7WwXkoNPMXZy2k4ePYGDvx3HVdSTHIjBqCVn7verJQJwBQzjKnzJyRlPcZJuJ6UxwsAHEoP/joXgA3nAiHWEYa3ps7dAgyTeTwSRdHcuecDYzdXHCN4oBrwaH3v9Fqr55GWmY2ICNe3XWtOEvyy17MVZmRsLnq2dH4bdv5qBt6Ytg3d29TDOAFvhjIFmNLDGp+c1UxCycs8xTu3jcrMJDvi5VhxOghiHWF4Z+rcvRXGGBy2EvCYABB8sZHggycpqoa6f+lgya/MXC20RUUIDXV9gGJueb/d5tkZ5r0OOejd2nldm/+5gkkLDuOzQe3QrY1r2+0yDZjiwbp4PUNJeelKSqlZSX3/ZRkWHVNArCMMbwFm/AaC8c9Qt65rPWkDCw7Lggw9YVLhcprWnCCoH5qKGmHUaC4tl8sgl0kgl7FPqWhdt6upuQiWc1AoXN96MSd849ez62/31YPeeSwHL7Z1DpixvxzA7hNJWP9lL1RmjgtcJL8ADOOBSkWDCqiGaQoYlYn+TZJh/hEF3HGE4YqpQp7/sC0PrzRPhYxPg9yQjmCkoTA/HUV5aZDq0wBZBQQ0my6kKFE028/BGODpOYHBYfPy8qDT6aDT6Y2flolpUxeDhznscAWkfxKzEFNDAbncteIk8xIzYinxSBj1VrtcvPSo4y0Zs0Z96qPVqFpBgcXjnhXEx/saMCZfZNmTQCjTmZCAEC0oUglPU3iOnDEYtCcb16nCrDaN6ZxKU1HK0xOEIOrMDSlmHnDPEYZLzhoKAW0aivLSQXRpCKRp4HTpKMxNAy1KN36XE+cRAHjKIb/pckhk7h967bXz70STao47wWHZ9bZebwJOMYDY38Zrb4vEtKwZeAKMq5IJSDKZFOuPpqFr8yqCNBjYDd3AXwwgnPu+2Qa3zccrjzleNY7G3cR7P+7G8+2jMWaAMH8r9zVg4pKynudA1jmawExnjKf8fwRkAwF+j46MuJSoyupEKdkdnyoh0/e65wjDUX1c3MdA3hUEEO+YL6fU+BwRNUQa07tAM7v5OpNM8LoXg8PqDXrotHrojUDSQafXgXmrKZ3i0uV4vKkwiT2TJ/WcqYWBBLp8PzkieK1NIV5r71iO8/2qE1i2O8542GeHfiHpvgbMRVX2RzzlpwnpKCGEOa76i5dynxCeTriaTvpP2RnqliMMhwC9MBaBBaeFNEcQTU7FvpDWeU0QrVCiCynA7jjHip9Cy3FFxxz/mVYi0//sPD2u5wWgXUOBSmkAXvtVj7R819s3R215ta0Orz/m2FVVnwkbkJyWa7xOZtfKQtJ9DZiEpKzXAfKbkI6W0JAiQrDyZjZ5adyWUM4dRxiO6qOqRVCkLRPXHCfUt2gjhLXw7jmGBYdl18Uf+Tg47K4LBCz0uZh6P1oJnL/p/qH/5dYGvNnBfv5rN7PRb9JGVAoLwoavrC1enQ3gfQ2YC1ey6kil3CV2lhE7S7MKuMIxf4UGuuMIw1FdhszjCLk6XmxTHNLrqRT5TVdAJnNfPaR04cbgsPsIJjzrmbqL2E4evgxsPy+uXubM7+Vfmbss9661X2lDMdhuABRgyc4LmLnmJGKbKfHlW8KNyu5rwLBBS0zSbKBuWGOyWCoj1rrnCMPRZNEX5SLk3ACmVih2PjmkV9WYiso1RHrec1I7i1HJ5Ct3Kjiso6rPXgeY9P6bPsKB2uSRWKSlZbjNy3FjhuOTD5kIzja9891OnEhMxVs9muHVbsL5e98DJu5ydkNOxh934enfhmPsUDl0ZRgCZUS0IwyHWzJmqPPfcATorrk9yKUzZld5DTKlKUCQNxLr98jlJhV/X6ZrmcBXmwnmDBReb2R0CxQWmiOaiG5uj+5dsOyPH23yMd2ybmNWg6nJfDv8cbRpLDzO6H0PGMaN2zYyi8Q6/Ru+Ogw6A8FfIh1hOBs5evE7KLJ3ih5cRxluSR5FWLNxXiuPFeRJ6D53G5KWC3y4gmDhG8IAw7Ssa9Vlpsrup8jaNXHh+A6bAnYcu4bPfjto/H3z1D4IZ5JcgalMAIb1NVGlHkwpmQ1QwRf3H6wPRU6Re44wHPHXcGMTQm7+LJD9rsnU+soIaO2ux1z75Yu163fdStcUuYXA6wsIVg4VBpjMLDUeaOrgAOK6OjNFcvwhVCiluzbh90PYdvQqqlcMxuovSjSkhRRbZgDDOnsxOaczpYaFlEKQp4Sxm0KQlidxyxGGI+Zqs+IRfuUDIbwXTJMWsxghIc79CAsu7C6Ndg0lAAAdVklEQVStMEws88Jsgg3DhQEmSXUdLdt55hLJuIKs/g2x7UvcdrJtWPcxq40q/h2bKfGViAM/K69MAYZ16NKlzHCDlHwBwr0FUKdr7efbQpCs8a4jjMKCfITHDQRH3d97l578qmqTUblWczGYcErLzjDT+/hej63HLA5r32YOCl135dyFeHTuahtsynVOa4qvPv8II4aVyLJOXUzFsG9NW+bXuz+EISK9lJc5wBSz69KNzEheLxlFQVnEIrvmUlN3B+NiuncdYWi1OsjjP0KQznvxIDVVh0Bem1kreCcZg8N2pwhzX4juVkN6zebwx+u8oHr/OXoCPXrZBpsSW/GAvj3wy6yvzdl+WnsKi3aYnKFPHtIBnZu79qBpWWeZBUxxJ69coYE6ae4zlOqfIyBPM59uxc++36/AuZvedYTBJNz6+OkIL3AVn1b40N8K6oawRu8Jz+CCcvImgiEdKKoLF7p7pe4B8zl8148XVO+uPQcwYNAwj+tt0iga/+4t0Z4a8MUms9HY0vE9ECnUHc7tlpR5wFhyfA+l0lqq7L4A/QlAhTmHgnA8We51Rxh5FxejcvZSjwe7uIAk/cOo0nqK18qbsYPghebUGO7Dl+n1Pzh89iwvqN71G7fhzbc/9Lh5LALCzr+PQVMkR2w0Na4u566m49J1tVElRqyDEb8CTDH3LyblPMhTw67fjwZVPXTV+44wspP2oVq6IBU3QRPiprYWwtvOE0QrhGj2PoKO0dSoR+fL9O5SDm/H8oLq/XP5Gowc7R2tic9/XIlNyU2wY5RH1gJGVvklYFjHL6k0Ty85EbhxV6KceNsRRuatS6h1fYTX5mK+IQR5TZcbDb+8kVhw2MY1KFrV8UZpwsv4ZC3BCw8LC0o7/7fF+HRCydnDWS1FOSmQh1S363aX5XtlxGTEBfbCxveAIMFCB/s1+i1gGDsGL9Cvvpgm6eVtRxgZGZmomTQYHNUKn01OKHlIcEG5AfWE+eB2WefKY0DVMCDWO0G5XNZXTMDOTu3qUzxuinDhNH0/cx6+nGYrpS+diflxLkhPgFRRGfIQ+wzq9OxA5DUei5VDgYruObw0V+vXgOn8LR3L85jibUcY6iw1KiV9CLnhpqt5Ieg5DxkOV16PRyKFyTBcFbrxDPNZJj44rKtyXT1nvsYaVqeC4k1OmfoDfpjl2ncYb9CiMOOS0edyUOVoEGM4cuvUuGkrBHdbgIVvALWs4++6arLNc78GTOx0yq6efvS2I4zs7ByEJY1HkNYUactZ4kkg9FwE9JIKMEgijH8bjN/Z36bftCQcudLaeKC6q9KEPd8dB2Tliw8OK6x0x1Q/7SWoGkrRt4XrksZN/Brzfl3skpB59S9IN13hy0KrQxZkK+ANCQ1Do7ePYO5AoIF1DFqX5Zcm8G/AfENfB8Fv3naEkZubi6CkbxCou2yc9CZARJgBwcCRVlgZV3KC0aSmAhwnQYBcYowHI5FIwIN9MjPfkt/shcUQPdq3Mxy5DLDwfQNFBod1t77ifMyxuVxCBdX7wZgJWLzUdXh3Zh7NtmSgPCQBIQgIt+8/qtmw3fj5zep4yDoGregu+TVgOk2nTNl8pbcdYeTnFyA9U2MMDhQYIIFcwoGTSGCgnHHLECTnIJVIMG2H1BjywtcCRBYc9shlgrdEBocVPbtKZVjyDwGLLyqk3mHvjsGa9ZtdV0k4FGZdBa/NM/JbUcX+wSy692z8PDoWAjwpOa3TvwEzjXajHLa0b0DxSXfvnA9cj3AJxfe7TG5bq4aKyeU5bWIqsOkswcguvu3zyuPE6IBDSL2DBr+Hrdv3uOxshVqNkZqwH7q8NCNtYKUG4CS2V2G1OozE7ClvoZOHFx3+DZjptD0F/m4RRTHpOd9OHja4c/cRdHuQGh3r+TKxScuMuXz9kmDRmM/dgKB6+wwYgv0HjrhkS6+Bb2PlbzNQpDbZILEtGdualU4VH3gaX0/92ii89HZSVpY7NQllzvOLfYG7W7d7Nqe3a/NGA1hR7WfQZhKKU0yAN62396wkhTKFyUPa1qVo6KXDvNB62YH/2x0EXzzv/cnjrA07zhPsT4SgepkeGdMnc5V++nE6Phz/PTITmEIlhSykOmQK24M/W3mmzV2Lpxp7f5z9BjCPT6P1DRwuetMRhqsBtnzOnFHEVAMeVvp24hbpmata4lHcFzH9LKZl8TJXn4Cgep98+kWcPmtSknSWVi/7BZNmrsc/G2eC1xVAqqgEeYjtVRjhpPji1wN49qE7x+uYyAi7C4E3XvA+XWFU6Vo1ABsP2MzJwvDlMnjTEYarAbZ8zrYoVUKBR+vduUF01J67YUR2OhmYs49g9suu+9uhy/OIT2DyFedpz/bVWLXtFL77/F3o8zMhCQxHQJh9nZ/RU5diYJc7p95QZgCTnKHLppTaHK3Zm3bwYhkqKIDFg72/VLsabLZFYbYhnRu6nkCuyhL7/G4AJuEWwKT9QsyUWz3WDdeSkl1268zR3ThwLgtDBzyFIo0KnDwYgRH2VfYrP/jCzKTdX3pPZ8ll60wE990Kk5yhi6OU2kSaZx5OBy2UIkDqPUcYAnloJDtwkSC7AHj6Dm4THK4wIoPDiumXI1pVJjBqBcGqYa5fEA+16IxbqaabL2cp+dJJ3MqRoGXL1si7cRKcNAiBFe2vIopqDZemn133kqsyvf38fgTMJkops4WxSUOWSFGoI9joRUcYQhl+SgUkZZK7EtBp3DpgsjhzdqHdckiXlQcMWcReTq4Bw+z5mV2/sxQcrMCVuH+NoQof7DwESf/+aTz4B1WyH8tDHl7zhDpxlwA9A4+7alXAfQcYVYb2V1C8YY8N7y6XQl1AsGoojyD3vZK6zWHm9siDmK9u13u3Mgrtb71GbZCbm+e0mbVq1cDJIyavMK99OAvrfp0IfVEOFJWj7earUKUG9mxZ45WuOzqv2Cv8vgNMcqZuCuXpWHudGb1GipvZxKuOMLwyIn5eSGSDR8AiQDtLDzZ+ALu3rTKSzPrzAMa//xK0OSlQVLHZfd8uhuDQ/p1QKDyPiFCmAaNK17KD3g/2mP/ZXxJcyeAw/xUeNT3UZPXzOe7V7tes2wx6vcFpme3btcaa5SbX2gfP56Dnk62NipiKqo7tB1at+BMPPdjE47a6kr1YVnD/rTAZ+r6U8ivscWnyVgnibnL4sT+P+l6yN/F4NMoLQLXIh2zizpRmy9PduuCP+ab3YE4h8OCjzyMzfrvDMwyjm/rVZPR8vofHHC7TgLmRpetoMFC7Ximm75TgVDJn1G96srHrw6jHnC4vQBAHqipd+zvu/2JP/Dhjsrm8zv0n4sSWHx3KYRjh0DcH44NRnt8sl2nApGTROnqD7oq9kZq1T4IjV0Q7/xc06OVE7nPg6DS2bXL+AqvW4hVEdvnEXEna2bW4uGY4pEGO99ZPPv4YZs3y3DNpmQYM42hyujaBAjbXJxvOcFhxggHGI+UD92dGeU67HDg6/SGAd36GqfHoMNTuULJaFGZexem5T4CTOL7ufCCmAf7dv0EQ11MyrWN6WmYq84C5lqEdyVF8J4hTlkQc+URZUSbMG4PowsVlSEhSO3zlBtm5+alR0UOPD+KaZ5fa0aQryM+3oi/d/ocfaYOCQudxQCeOHYUPRrxpLocZk8U0i8Wt1HSHLQ+Qy3Hj0jFjzE1Xya8Bw4IuJWfoFgJ42RWjip8TQlbVqijtbwz3dw8kfwJM23YdkaXWOOX6tMljMWzIQCuawW9/hJVrNznNt37Fr+jc8VGXI+rXgCnmjipT353w/Es80IIALDAIM56QMFBQSpmkLAUEJzmeX1qrSuBfLrnqQwJ/AkyXJ7sh+bo5ALZdLs+cPgmvDuxj9ezPFesxbETJucZexrfeeAnTv3QdQqTMAyY5TdeZEspcjdjXjfDm5Ka4REDerF1F5tos0Ev1+hNger7QGxfiLzrl3PyfpqJfb+sr4vSMTDR4qCOYy15HSVmrJs4ddx3Dp8wDRpWhvQQKYfGjvTGJCS4rK8nvPDhvt9WfADPwlUE4etx5ROpFv/6A55950mYkn+zxMv45etLpCB/esw5NGjm3Vy77gEnX+lyQIua2xFOM+hNghg8fjp17Djhl2aolc9C1i21A1x9//h3jJn3jNO+EsaPwocWFgT3isg+Y8hXGatzv51uyTz75GGvWb3E66Teu+h0dLYIlFRNfuapCs7bOgzG1a9MCW9ezKI+OU5kHTPkZxnrw72fAfP3VFPy+yK42k7mTOzf+idYt7cfB7PBkH6cmzsz/29ULhxAe5thlT5kHjOV0SUzKfp6CLwkMAnIjJjLcyo3bRZV6Kk8xxpyPIjsmqiQgYkKS5jpAzfauBFzP6Miw9Z5urdzN709bsjmzZ+K7mb84ZdWBnavR9MFGdmm+/XE+Jn7pXOy2cP536NnD8UrkX4BRaSZQSieauUnIphhl+LNWoFJpFlFKSy7yCYmLUYabRyBBpdkISp8pzkMImRitDP/c3QnvaT5/AsyyJQswYcq3Tll29O+NaBht/45HyLZs0Et9MOvbSQ7r8DfArKOUPm/BjSkxkRFWl++JKvUuSvF4CSCwO1oZ0aX4e0KSmmn2fWoBmPXRynAf2ymW9MCfALNt8zqMGD3BKWDOHt2BKKVj36+du/XD8VNnHZZRu2YNnD+xqxwwjAOJKvU1SlHiDYGgT4wywspZb8I19QUQlBhPULokJqqCecVJUKl7g8JkocS0zQiSopURUZ6uFO7m9yfA/HtoL14Z8r5TViWe2Y9qVR2HUftp7kJ84iLGjLNVqsysMKcTk2s3i67t0KXIheTsSlJK0yilJRqVFPVjoiIuW59z1Ew5q8T9EsE3McoI85km4Zq6HgjMvn4IIVRPSJVGtcMy3J30nuTzJ8AkXjiJZ3uXRD+2xzdV/BGEhzsO1JlyMxWNHnncqRDzmymfYuhg+9pS3gKMq/kqZE54pBp85sy1CjRIEmww2BfnKoKC23NEsrzk/IKc/PycRjzTzrudQoLCAi3BwH6mlH6eV5Bjjo3HEUIUitALoDBfpfDU0C+/IM+5gEAIB9ygCVGEXXeUrawpX2bcvIx2jzuPHJ167SQCA5yHZevR9w3s+9uxy9mnn+qMZQtYyFPb5Awwaek3BcUBkEg4jhQY8po2jcpyY8gtprAnuV3kTVCpPwKFOcgkIdgbrYzobJntokrTgKfUKjY4B/RvEBlRAjTT1m4Ppehk0fIxMcoI51KxO9Q3f1phaFEmHmhuNWQ2XNWknHMYpq+YePGytXhnpPkYalNGSEgwkuIOQyq11V721grjjeng0QrjqgGJKs0SSqmF/ynyfUxk+CjLfAlJWR0BYmWFKZVyHevVDPvbmk7zHUBHFv9GCPkzWhkuWOPZVVvFPPcnwFQI5lE1qrlD9jA1/bSkUy7Zl52TiwYPdkBhUZFD2u0blqBta9u6/AcwSZrzFNR8PcxR8mqDqHCm2m9O8Uma/gTUKjY4R0h0A2W4lcbfxWuaQTyhC8yAAbkQHRne2OVI3QECfwIME7pWr9sC+QUFdjkZFhqK5MR/BHH5taEfOtUa+GT0u/hk9Ds2ZfkFYG7coIo8gyabUpiDHUqItGl9ZYjV/WJikmYUBbW66A+RhgfXrEmsLJsuqXIfMlD9mZIVBoZgSXhYaTpBI+chkb8BpknLJ6BKvmGXa1WrVMbFs/sFcXT7rv3o8/Iwh7SO1GT8AjCJydmPUp4/ZMGdwmhleCghRG+11VKpp4HiI4vfNDGRETbG4JRSaaJKk8Ni9ZhBw3HtomuHHRY0Wl4kEgsYL1bt9aJcWVyyCnv1HYBz5+x78K9Zswb27NwqqF16gwGxnZ9Eerr9y01mffnv4QNQKIIElceIfKl0y+q7Y2eY+CTNOwS05NqDkKMxyvDWpTmRqNIsppRanEXIhRgHW60ElYb5I21VXAYFGd4wMtxzTwqCh8dE6G+AGfzW2zhwwPLdV8KwunXqYOtm4VpKX0+bjt//cKxs+cu8n9Gh/WOCR6TMACZRlT2PUr7E0Jtw82KUYUNLcyL+mno3ISi5hiFkV4wy/Al7HEtQZc8F5d8q2ZZx86OVYebvgrnsIaG/Aeaj/43Fhr/smxs3bBiDDWtXCubohbg49OzVzyH9kMGv46MPzXc7LsstO4BJ0hyloC3Nkxt4JzoyYnZpDiRcU8eBwOxTlFK6uGFUhVfscSoxSf02BcwrCgE5Fh0Zbl5xXHLXSwRiAXM/ayuztn88/mv8PM/qrsbMyRbNH8KeLVYSAJdcZnKd/87H26Vr3uxB7NtmrR1d5s8w7LxxUZWdQ0Etzhvk0eja4TaSq4Qko4cFs5iYI9y0Bsqw/9kFTLKmLeWp+cxCQAobKMNszkUuR8xDAn8DzLTv5mDy1B/tcq1d25bYus4+mByxedacBRg7cardxxzH4VrcYSt1/zIPmMuqzKZ6ylnatRpCpPlhNWvWtLr5unmTBmdrNbmWnCOUjIqOCv/eHjdv3LihyNUrspmzjOLnUsI3q6esaL498xALgrL7G2B+W7gcI8fYVw5/PPYxrFvO3DcIT2npGWj4cGfo9Vb3P+YCmMSfSf6LU5kHTPy17FcJ4f8o2Y6R89GR4Taepy+pNNEGShOsAYN+0VERDi2WEpM05yioWf5CKfdaw6gws3xG+LC5T+lvgNmwaQcGDravgNm9a2csX2hfpcUZh/u/+i42b9ttl2T40Ffx1eclm4wyD5jEJM131FoqvyRaGW7tuMqo7pIVSynZa8k1Cr5jw8iKVlJ+y+elb9UIyPfRpbQH3IeCsJz+BphDR46jW0+7x0qj4RczABObNm7ZhZdef89uNmaMxozS/GaFSVSp91KKWAtufBQTGTG9NHcuXtf05w3WUn4CNIiOjHAYhTQhST0agFmHjBDsi1ZGlOiYiR05N+j9DTDxiZfRqoOVzZ+Za/369MD8WfbPI85Yq9Pp0fDhTmDumEondo5hZssRtzWgy/QKw1T5L6o0WZbq+pTiiYZRETYWQolJ2R9Q8DMsGRakDFcoCbGvhwEg/pq6CyEwO7MigKaBMrwCU/l3Y+67lcXfAMNC9tVp1M4ur159uQ9mznBsLemMwWMnTMOsueaduxXp0j9m4ZluJpvCMg2YxCR1fQqY9cDYRA4MC6usDCc2r5KEJDVbKdiKUZzUMZERFZwxWaXSVCwE0i1tbFytSm6hwkkmR4Cxp9rPirnfr5WZM75KymYwGGw99Qr1XmmPnefjEtG2k6UxbgmV5TmmbAMmWd2H8jBLsgjBtWhlhN1wuglJmiWAlTbz+Rg7lwOlmZ2oUl+lFGaLS8Khb3TtCLNFprcBUro8fwMM6z/zYpmaZutc/L23X8eUCZaaTeK437l7Pxw/aWu+3Oyhxvh7h2lIyzZgktRTKGCOY0kI1kUrI+xaICUkqZl715LzB8WumKgIu1J+y2FIVKnXUgqzTT8BvoyOjHBsbCFuDF1SiwWMywLvIoEQXTLWvB49+yAhwcpsydjqYUOHYNT79g/vQrq1bPkqTPj8CxtSdo759/DfCA1lLrcdp/te0p+g0myCRWhx5jGmYVQFu5f4CSpNHCg1S/kJIYuileGDXDE6/lrWBOY5xkxHyOYYZbjZq4yr/J4+90fAvPbGWzh8xFaNf8S772D4OzYaT4JZnJubi/Ydu9gNqTF39kx0irX1qGlZuM8Bc+PGZa86k8jVVzwGwOwRQQLD4CCpxq5LkFxDxXOgCC5mAOEwO5jLdHnlUqAP72KA5FcLxqWHSDPNajiCR8tNwlx9xav2sjo6w9ymTeCobjTR3bpjQlaDvLbddjnrptAV5oPRH2PTZlsPmLVrVv1q7+bf57rJSmO2Zu36TM3LLzArmAVWqo+qD/dD96c6Y1T3CiASx/F1JNpku9t9T9rjLO8d01a+Uw0uL/fucCCoSqPvCYGN9JJS8n5B2nn7ejMCmxpUpUl7TsL9HRHdBVWbD0CYspXRNZA+Lz394IQq91SI4HLACBxUfydTVGs8FpROseUDHZafGufRCtNxOh1nyM+YKFVUMqs86fLSaW7y0U1n5j/teahlLw5eOWC8yMyyXJSiWqMhoLBRGiOUvpaXFueRalLsdPongAGMfwUZl6G4sARtcw4e/XrXNhv7qbvN43sCMGcSUyy1Asw8aRpdw+gcw9FzMcwrLktMnnLaEg4oqjV8DpSzsRSjPAYUpF9Y5gmvOs2gbXke069tm8A9l7enaYNQWXCAhKMNK4ZFdl6yxqHfO0/qdDfvPQEYdxtfns93HIj9xpBm0BVUpgYteH0ReL0W1FAEWXDl/w5+VvEhIS1JSbli98VYnLdGjbr7furWZVGYXDawYlAAgmTSMY8vXn1XXGk56k+ZBYw3ViV7TLvXVipXk1DIRHZGwyYxex47nf4LwJ6xXuK+0cR5CDERjdjzWs8IXsvdvJRTGDDt7HXt9QLtmIJbF34QUcQdJS2zgLmjXPPHwmu2UCj0+SxYr1XiCN8l91a8fT19kXwqBv9Xg975fuHZaw9reZN6YLWqlfYe2rGoRO4motxiwIvI4pS0HDDe4qSflDPrqS5aA6UyAtAR23dz3u52gyffH3vj9HYWrcE0Nyl0lCOjC255dnXtrXaWA8ZbnPSTcna/3PsyBa0LILPLkjWVvN3tyk2emp+fljTEVC5N43j0zU2Ps/KM6u06xZRXDhgx3Cqnxe6Xe12gYKFJSF6XJaudK3qJ5xdRVG3ETNvZJcI5nqPPFt6ME629IL5a4TnKNGAopfLkbIRIDAgBj2BQnUJPiUIqQRD7JNSgAIgCBIGUkkCOIIAHH0gIFwBKAkH5QEogJwRyUCKn4OWEcDJCIQeBnFLIACoFAfOgLQX7TnH7O5UCHAdQCQjhQKkEIKbvAGf8m4DAFAqEEGIcCnLbbMH4m3FDAtDbtj70dtADCmb7w/6B8gB4gBiMfxNiAGW/se8sogLRg0IPYvyvA2D6DqIn7DuFlhJoKeV1BJwWhGophZZQaEG4QhBaSClfxIEr/HbR1mZrli2unp/8X6tcHW92bhJdv/6cLRvW/AIiyweHPIMEubXDkEsI0QqfhibK4KqNXqEA86hxOF9X1B1Zl5mDlHsq3dOASU2lIQYZKuv0usrgSCUJIRUBvgLlSQVKEMGBhPOgEaB8OEDCKBBGYAyJEUKBEAI2ocuTOxw4dfoMzp0/j/j4RJw5+x/i4uJZGBKbotq0boWFf9jGwKSAjgDMwUkuBXIIkA3QbBBOw4GoeVANoVATjmYBXJaB0syWrR79SSaX33rhuef7zpr2P/u+ad3pjBfz3BXAUEq5lCzUNhj0dQmhUQBRArQWBalBCGoAtBqlqAZAuM9QLzKlvCjgzaHDceCgydslc+Eqk8nNoSiYIRn7r9PpUCEiAn/vMxvAepN1BYTgFkBuUYoUApoCEBYcWEUpuSaRSK/UqIBkQghbZX2W7jhgKKWylCx9WwOPdoTQhylIE0IRbemzzGe9La+oTHGA+aWjBIkE9Byl5JSEw6EaFaRHCCFs+3lH0h0FTHK6bjIFhoNtm8pTOQd8wgGiJsBPtSvLrAIPe6vqOw8YguGg5YDx1oCVl+OCA4SoCb1PAcO6Zt6SAe0IpQ9TigcBRANwHhSxfGaUc8A1B1g4s0RC8B8l5JQE9/mWzFF/iw/9hOjrGkCiYKDmQz9AaxKCqpSSagAtP/S7njRllIIUEELZgT+VgqZwIDeMh34JUUlAr1FaRg/9noxm8bUy1esq6+1cK5vORiS8/FrZEy7fmbzOrpUBqgGImhCoCUqulaU8zSBSWbpEh/SqVYmVz+0700rxpd7RM4z45ng3hz3BJSREoadQSDkSZKBQgPIKUAeCS8IHMiElE16aBZeAnICTWQouCYHUJMQ0Ci9vCy6JlIJKOJOAkqNMcGkrwCTMFJdYCCwtBZilBZbsO5NWwiQPoaUFlsQouGQSS8oTkzCzRHAJGIWVtLTgEryOAtpiwSUTWjJhJqi14JKnKCKEFoKgEITLlxDk63laICXIh4Hme0Nw6d3RvzOl/R8AdGoXzom1qQAAAABJRU5ErkJggg=="},96908:function(tr){"use strict";tr.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKQAAAA8CAYAAADogBFvAAAAAXNSR0IArs4c6QAADzxJREFUeF7tnQl4VcUVx3/3JSEBARFEFllcQAMJuKDUD7FqtVbFtUqtS6ufS1soxaW1Si0KBaFVWy2ittqqdQ9xpYq4tLgVFWUThYQlJIEkkJXs63u333lzL+/mrfeF9/KSeM/35Xv3zZw5c+bM/83MOTN3ouGQY4EuZAGtC+niqOJYAAeQDgi6lAU0fUayHqCR5gJXEriS/T6TICkZNOMzIN/gFx7/8vvLiFxDtpfP4G2Xb5Ej6SaPKddav6mPtb5g9e/PF9nSvmTVlpD1S36Sr63WOj1ukD/d+PR+b1NpAekmj5Gve8Dd5lc2ivK4G2lzV4K7Eo/8eSrQ3ZW424rw6J/ST1utTb2jtkuhLAplwgDS7BDj09txdgFqgsjCbwVOKMCYAPH+IAzABIDf8qPYz+OygMus0+8HFQDmYDpaypj1mp+m/qKbgMoKQO+zxwIyCzhNPhOIQQFrAas/uK3l5dlt/SEY9bbn0ZsrS1obynfXNJQXFTeUbPugua5utQZrM7PZHgU2EsIaHJAJUcWp1JYFklKgVx/fX0oqpPSBgw6BASOh/xAlxgC+u6WJqh0bqdi2nrb66gI0sjQXL2W8xHpb9XUykwPITjZ43KuTpcnBw2HA4TBwFBw81Dt66+42aoq2U7FjAw0Ve8R52KxpLB6v86KWjTvuetmswAGkTUN1W7aDBsHIieiHjkVDlhpuavbkU7ThE9wtjQLMbTosyFzGc5pGoD/RyQ13ANnJBk9YdSm9YVg6+tB0NC2ZtqZ6dn/1P+rKirwqaRqrknVuSM9mZ8J0FD2CetmJ1MipO74WkPXn0VOg72CvY1ZRuJU9uRvQPW4ZLes0jdszlvG3+CoRWroDyERZPtH1Dk1HH56B5vHQWFvJzrUf42lrUaMlPJ4BMxOxtnQAmWhgJLL+3gPQR5+E1qsPDdXl5G9YjUdipIreGpzGFUOfpb4zVXQA2ZnW7op1paSiH30qWlIqdVWlFGz6Al1ipmqkXH0wnD0ym8bOUt0BZGdZuivXk9IH/ajJaK4Uasr3UJizUQX/Fb2WOZ7LtfniosefHEDG38bdo4bUvuijJqG5XFQU5VOSv22/3hr8NTObWzqjIQ4gO8PK3aWO3v3RR57gHR13blpHQ121FZTTM7N5Od5NcQAZbwt3N/mDjvDu8jQ11rHj6/XoskevqKxXMuOPfZHyeDbJAWQ8rdsdZct2zYjj0VJS2bu7gLLiXdZRMiszmx/Hs1kOIONp3e4qO60/+rBx6O5WdmzeRHOTz8lO0pg2fhkr4tU0B5Dxsmx3lytTd99B1FZVUZC31dqanMzxTNDmsz9gGcumOoCMpTV7kixXEvrwCV4HZ1vuZlqamqytu2VCNn+NR3MdQMbDqj1Epj5wBFqfgVSU7qWkWB3CENKgEhibme39jCklBpCysf/H3aohrY1w64CYNqrLCJOziRJg1hN+qqtjJklJQx88xrudmJuzBY+cVveBcmlmNr/qmODQpRIHyPuKlVYtjXBL/1i3K7HyDh4Gp94IU2+Ee0+A+pgPJJ3WPn3QEWgpvSkpKaaiosJabxsuJk7IYksslXEAGUtrmrIW5sHAkerb7UO6NSBJ6wcDhnvXkFu354HlDK8GKzOzOS+WJnQAGUtrmrIW5atXCHoCIDXwDDwSlyuJvIICGhran7OIdRjIAaQDyIgW0PsNRkvtR2l5OaXlAcuPmIaBuh4gp1wP/QYrI338ODRUBRpM0+Cc36p0OVT6nwd9PIcdAydcqr7nroL8NXDi5TBmKoyepPgL16n0dS+3dzgGjoaTjY0If7n+Wow+GdK/p1Jr9sC+Ihg1SX0X3Xob6+K3F0FLg0r/egUUbWovSRy8SdNh5PEw4jho2Ae71sOuDbDhVaWvP1nbWLIZvvo3TLwQvjtDvdQlaf+eB2Uxeuu1V2/oP4yGhnryCn3etqmWS+PmjGUsiYhsGwxdD5C/WwsjJirV7xkX3KjyPvZSY+poqoXbBvqaetzF8HPjDMAbc2HIWDjlp8FNsfldePIaH+iTU2FxIRxkyHvgu5D3afCyM5dDprF8emuBN4jM6TPDm/zZG+HTf/l4xpwG1z/nXaMFpYIv4fHpUGVEJEwmaxu/eBFyP4Br/t5exMPnwZb3bUDADouGPmiU9+3FnLxC3BZvW0rHMgzUswEpI5O8Q9LaDAVroHgzDE2H0SdB6kGqJyryYdFJ0GicbLnsfjjLOGn1yT/ghRmBPSajmgBXLg+Qwwd3j4WzboXTDV4J95jkPZxghH2e+xl89ozKEVDdlKVu8RAq/lqNikm91Eg++GiVXlsGD52tRr1ggCz+BgaPAXk/20oxBSTo/YagJfdiV8lequuMEd9SnwYxCQP1bECKwerK4ZELQUYbk2RbbNZbMOQYlbJyMSy/Wz3LdDjvG/XcWAN3Hg6t7XYp4IxZ8CNjmSCj7NJp7cEQyamRH8m8zT7H54WZ8MkTPhlyO4ZM+xcvUGkb3oDHLw8OSDP1m3fgw0ehtlSBWUb2ysL2eh3It7T+iMddVV1LUVnQMFZMwkA9H5CPXQqb3gzsChlVBBSyHm2uh7ljFHiFbn4Pjj1DPT/1U5Bp0Uq/XQ1HnKxSnrgC1r8aHSAvnAfn3aXKfPYsPHN9cKiYywIJrC+a5Ft/WqfsSDIOBITWsnJjRr/DaG1pIbewJKjUWISBejYgZTqeOzZ0l9zyPhxzusp/7BLY9JZ6FifjhhfUc85/YckPfDKsI6iMRnNGq3t+rBRphJyzBuQgrNBD34etHwTXcfLVcN3TKu/d++H136lnKyDlx3TXkcGdv1iB0ZTT7zDv0/aiMppaWoNKP9AwUM8G5Fdvwt8MjzuY+ab/Bc40dr+yfw2rDEdRRgMBlXSArAFl9KwyzgVaR7f3HoDX5gRKjgTIh6rV2lZow+uBSwJTojhX489R32QUltHYH5A7P4P7T4s19ILLk2k7JY3SqhpK99WFqvOAwkA9G5Af/R1emhW6s865HS5ZpPJXLYXsW328Fy+EH9yhvi+/B1YafH/YCoceqdLnZUBpu6NZKj0cICVgLvnRkoSCFk8OBOSXy+DJq6OV1jH+5F6Q1p/G5mZ2lAQJxxlSDyQMFHtATpgGR56iVNvyHmz7KLDxstcrXqpQUx3cdoiPJ5ZhnzUvwNPXhjb+tLth2lyV/86f4I3f+3jF8Zmfq+6SLNsB96TDUVPgNx8qHmnXg2cFlx0OkDIyPrhPrV2FJNbqe8MvtK4S3go2Zcv6Vta5nUGicp9B3vuBcooraXMHfxHxQMJAsQfkRQvg3DuVeazeq9Vgo06EOz9XKXu3wvwMX651fbXgeCgxPF5reQlgLzSCvuHikOJpSiwxFF3zBEy5TuU+exN8aqzXTP5fvgkZxvrxz2fC5CvhtJ+p3KevgzXPRw9IKWHd6w41yoYDmH8csrMAKTql9vWGqoqr6qisaw6pZUfDQLEH5Hd+Atc+qRRdmw3/vCpQaStPzn9gybk+nl+8BhMvUN+XXgCb3wksf+1T8J1rVHo4QMoux7xxwcMfElwXUJt7zg+cDnmr29clux+/MDxoGW0zzlVBc9lNmTMy9Nov0hpy1goY/31Vl3/Ix6rB8ZfACT9UKRJe+vw59ZxIQMq0nZJGbUMzBRVhL7XoUBgo9oCUoPMdxu6GBKQXTIByy4VaKWnwm4/VVpnQf5fAy7/2dcP0B+FMY90XbMo9fCLM+UJNpZEAKflfZqndGH8SZ0acGiEJSC82wjhWPokH3pvnA62ZJ/G+rJsDZZop1nWmePni7VvpuIvg56+oFNlynJ8JzX5OgswCd63zbUH+5Xuw/ePEA1KWGvIOt9vNlr21eDyhz3p2JAwUe0CKyWavhHRjfVVXoUAni38x8ik/geHGFC33yMgIZu2wcWfDr972dZ/slnz+PNTuhaNPhUvuVd6vSeFGSPGQBbjrXoH3/gxl22BIOpz0I593LXIevQi+ttRpBc/5c+ECI2hupt8rMcGvQgPSGk6SsFHO+2rPXLxyk2a8DrLeFirdrtaHEryXy0ZlmTD5Kt9uzTcrVXDfpESOkKKD7G3rOruqmqhuCv9qjcvF+RlZhDBuoAnjA0iJ1ckoaR4wCNV1794HrxsBYivPze/CsWcGLyUgWz5XAVMoHCAFiEInXhZcloBkxQKQvehQJFP6wh2+Lb78L+C+KaH5JUeWE7Ks8KdZaeqqZaFDRsCMN3z79qEk7t4IMjo21XQdQLpSvP8QoKaxlcJ9odeRorCmsSVjHBPtvhQWH0CKJtKRVz3mO4BgNXhFgQrHyC8/GMmhUNlTPvWG9rnVJarcphX2DleIByrOxxVL1Mhsxv5EqkyVWbNh4/Lw4JLc2e/4TvbI3raM2pFo6k1wxkwYPNa3z2wFpJSXeOf5v1d751bdJE/WqfJDkeWBf+A90SOkTNtJvdA9bWwpa8ET4RWNaMJA8QOk2WF9DlEHGmS6FhDszVX7rXao76EwdJy6yF2OjJXLieUIFKqzpPMlHCWjdsFadWTMDglQFhVAnwFqi/HOEYHrPTtywvFIBx96FAzPVODbk6PW3XbCQQdad0fLiz11D7urW9nXHP4eqmjCQPEHZEcb3NFysR49JMxz5SNKm9VPgZzYcQjE4ZOzKy1u8qtt3Jmv8fCEZcyOZDoHkJEsNHcjDBuvuO6bCvlG/DRSuW9Dvly74tHZUumOOG3LUWo7L4U5gAwHHHGsxMESkvOKC40DEd8GsEXRxqI6D1VNka+P1ODtzGzOD7t66XGX3sdyypaguATHhbJvg1UPR9FN3x7WxjbYsc/ezSqRwkA9b4QclqE8aiEJeH/5UseQITs5F81X/+tQSPa6g73f0zHpPaqUhMa3VrppDRMkNxscKQzU8wDZo7q6+zSmtFGntN6GcwOECwM5gOw+fd6lNW31QG6lADLytTHhwkAOILt0N3cv5XZWe6gXZNqhEGEgB5B2jOfw2LLAvmad3bX2pu1QYSAHkLZM7TDZsYD4NDn2YpJeccHCQA4g7Vja4bFtgeJ6D5WNNqdtcXD8TgM5gLRtaofRjgWa3LC9yl5M0jtK+p0GcgBpx8oOT1QWyKt209Aa2ds2hbpczM7Iwrvr4AAyKlM7zHYsEKVz0+5uIAeQdizs8Ni2gIyL8icxSbeNnZv9go0wkANI26Z2GKOxwJ56D+VRODdmGMgBZDRWdnhtW6C6WWeX/Zjk/jDQ/wHkSLPJ/mcrgQAAAABJRU5ErkJggg=="},57177:function(tr){"use strict";tr.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANQAAAA8CAYAAAAeyZT3AAAAAXNSR0IArs4c6QAAEpJJREFUeF7tXQeYFdUV/mcbS1F6UUEsoLC7IGKNJWpERbEgSoxGo7HEQFDRWCAGgdASNBbEhglqsC1rAxVBNGg0qNgLsJRddmFhe3vby3uT7393ZmfeezOv7M57W3LP9/EtM3Pn3DPn3n/uvf85c58CKdID0gOOeUBxTJNUJD0gPQAJKNkJpAcc9EALoNRpCaqt3rh4QIkDvH/jxV/zuZZjrVy8uRzvSzDdrx3HxWnnEnz1eevhOf/79HpNdrAs6wrQr9VvtiMc+/kc0HSan9Nrq8Uzt9hquuZjv8kPev26r8x16X5VPYDHDYT7Vy/L8vo94d7P8u5mcV+w+1U34GEZ7a+5Tg/vV31tbrmu36ff23JcB9VdBo9a5v2rekq14/1wN30GNXGzctPKKgf7eExVKUGBpJsSEkgWYPMHXEuH0sHlB5iW8jrAtE6sd9AW8GidVD9mR/fvxDrAzJ3Yp/ObAGL3srC1XweJnf0awHUQWgGJ52i3P+D9OyOP/QHSAjYT8Lwd3gRGH3Bp5dza34D7LUDsD04vmPzuN9cZGkSAF3xm4JttNoFWdasNlRVNta4SV21l6YHakvyPGurrNivA12kZ2B1TdLSisvAA1QrF8hbpAUsP8EWVkAwkdgMSugHxiUB8EpDcC+g1AOjeG+BciSBWPXA3NaA8Pxel+7LRXF+bCwXpShxeTX0V33ZED0tAdcRW+X+2iaN3j35Ar/7iX/e+XnCpbg9cZfkozctBrauci/9tioIlKSpeUTLg7iguk4DqKC0h7bD2QPJBQP/hUHsNhsIVv+qBq7QI+7O2w93USGDtUoEFaavxoqJ4x7Z2FQmodnW/rDxsD3Ba2PcwqL0PhaLEobmxAXnZmaiuKPOqUBRsSlBx06gM7AlbZxQKSkBFwalSZRQ9kJAEDD4GSD7Yyz6WFu5HQV4uVI+Ho1W1ouCe1NV4OooWBFUtAdVenpf1ts0DfQ6F2mcoOMurq6nCnp2Z8DAMwNEKWJEKTG+PtZUEVNuaVd7dnh5I6gF1wFFQEpJQW+1CTtYueBgeEPLuwGRcNWQVamJpogRULL0t63LeA/GJUAeNhBKXgOpqF3Kzs6Ey3iVGqs29gQnDMlDnfMXWGiWgYuVpWU/0PBCfBHXQ0VCUeLgqK7B3b67I4BDyZloKrlTmQ6AsyiIBFWUHS/Ux8kBCMtT+w70MYGlJMfILCloqVoDH0jIwMxaWSEDFwsuyjth4IKk71D7DGKzCnj05qK0zZnoKMDUtA69F2xAJqGh7WOqPrQeYvtSjL+rr65C1JxeqMfUrTkpAyrGvoCSaBklARdO7UnfsPaAAat/DocTFo7C4FMWlIvBLUYD0tAz8KppGSUBF07tSd/t4ILE71N5DoHrcyMrJQ0NjY4sd8QompazGumgZJgEVLc9Kve3rgZ79gW49UVVdg9wDhWZbMtNSMEaZDxEFdlgkoBx2qFTXQTygxHnz/gAPdu3NR2Njk9mwmWMy8Fg0LJWAioZXpU7DA/0OB479hTguyQZ2/Sdm3lF79IWS2B2llVXILylvqVcBuLAamZbh/euotA+geg0E/ponHqSpDrizj6MP1WGU8WM671eq7fhVweTFwIQ/Cpe8PRfY8NfYuue4y4BbNbb6y1eA534Tu/rjEqEeNAAejxs7cgvg4VfGmijA8rQM3Oa0Me0HqKUHxLM01gEzD3b6udpXX+9DgNNvBs64GVh0PFDj+Isw/Oe7fAlw3t2i/NoHgPVLwr/XiZLtCShGpHr29zJ++aWVKHX5pPU1Iw5jx6RjuxOP2QLUsPaUcLJG6uII1ZUBtTAb6McAI4B7BktAtdcIRf/zM/vkg9HY3IydeQxBGbMFBVifloELnezecoRy0pu6rsU5QJ/DJKDogXYeoWiCp2c/7mWF7MJy1Nb7kBNwmkaXgJKAioYHDJ0dAFBqt55Q4ruhyFWDooqArzkcpdE7HqBOuxE4aKBokE9WALUGO9PSStxc4Px7xWFzI/DhI0YDDjoGOP5ycbxjE5CzBRh/JTDiDGD4CaL83m/E+W9e8yUM+g0HTtIC6f56/bvd8JOAURp75SoAKvYDh58gStG27tq68L3FQGOtOP/TOmD/j76aOP09YSowbBww9DigtgLY9y2w7zvguzeEvf5ifsb8bcAPbwNjLwF+Pg3oPQTgubfnAcW7ASfXUAOOBH52PTB0nKiHn6UXZwFFu4DPVwEFFssRK0BRz7gpwn/0U+7XQM6XwFfpYrsxpyUhEUjqhdqGJmQXVgRoj1NwR+pqLHOi2o4HqD99DQwdK55t7mjRKfyF++4t1xIf66uAu/oZJcwNuGYOMHgkcKoNs7TtfWDltQZoOd9eshfoqel76OdA9mfWfp6+FkjTpt/vLhA79Jw1PXibrLoZ+OwFo8yIM4EbXwT6MF5iIblfASumAuUaI6oX8e+kOz4Crn3GV8HjFwLbP3AOUJfMBybO9m7eYCnuJmDjQ4L4MIu/rR8+Bty2zvCxuezuT4AVVwHVxU70bR8dao8+XsY1c38F3Ca2j4WcpNG7NqA4MiT1AJoagNwtwIFtwJBRwPATvVF0r5TmAItPBOoqxfEVDwLnapn+n/4DeHlaYONyVCHw4hPErqoPjATOvRM4Syvr3RVWE2/jaQvhF38HfP4vcYEd7ZZ0sWsu5cBPYlTiW58j6cCjxfmqYuDRCWLU0cXcSQ9sBQaOEPvcmcVJQF08F7joz4b2sr3iRcOX2eHjxT9dVl4HfPWqta0cnRmX4r58WZ8CRbsD24Mvj8UnOE7kqN16eT/t2FdWjcrawFHfKRq9awOKzVpdAjxxCcC3vS79jwBmvCs2+6CQStbfrJxOzdsqzte5gFmHAU31vp317BnAL7VpJke55ZN8r4ciJQjyedsM4uLl6cCnzxo6uDcdp42XLRDnvlsDrLjSupPqZ7duAD5+EqgqEmBkh2fHb+uUjy+eJXliI0rK6/f6TrF5ji+TK5aK65wCzh1lbyvb48nJQM4XRpkBRwHT3gIOGS3Obfw78OYsX5+29YgvnLgklNc0YH+FNgX31ekIjd71AfXU5cCP7wQ2B9/q7NScwjTUAHNGCPBR7tgIHHu2+D8DkQxImuXezcARJ4kzz14FfPuG7/VQgLpkHnDh/eIerj3+daN1d9GnlQwM862tr7/MI1QoHW0FFNdLE+8ToQ6uFTlFtpJFe4C+Q8WVmb2NdaO/rS/cCHyxyro95m4Ve9ozNsn24MvBKeHW10nd0dTsxo5C663TnaDRuzagOJ2bM9K+SWZ+ABxzlrj+1GTgx3fF/0kS3PSy+H/mv4FlFxg6zCMYG3z28MCFdChAzd4CDDte6Hz0PGDnR9Y2nvxr4IbnxbX3HwTe+pP4v7mT8mVw/5HW5A3LthVQ4XboO94Hjj1HlF403hr8ZfsEULQ9HwJUz1gHpJwnTj89RZAtTgpHW9WD3cU1qG+y/iK+rTR61wbUD+8AT2uMn1XDTH0YOEfLPsn4I7BJI3q43zZBcdAgsUZiJyjfJzSYRxcuwt+cHag5FKAerRRrO8p3bwVOKXWNJEdSzhdHHAU5GvoDas/nwINn2nc7JwHF2NrxUwCydP2PFEQMiRzulcdjfV1Ke2iXv61b14vpt52Y169v3Ad88LCTcBJ2KvEoqmpAUbUFeypqaxON3rUB9Z9ngFdn2DfK+fcAzHWjbFoOZNxplL1sIXDBfeJ47VxgvVbuLztFh6LMSwWKdgbqDwYodkpej1RIpS85ObCTfrUaWPnr6AKKDNlVy4DxUwURE0rsABWqPZhzOEXLNfz4KSD99lA1RXbd+1NCiahrdCOrzH4jpLbQ6M4Daswk4MhTxYNu32idXcxcN7JklPpq4K6+hmOcpM23vAw8f7290yc9AEyaI65v+BuwxsRkkbiYv0PM6fWF9lGnAXd/LMoza/qRc611BwMUR6ZHKgz6mbE2uymQWTsZNaspX6iE07aOUInJwO0bgKNPM9qL8bHCXUBVoRhdmxuAibOMaawdoL54EXjht/btYR791y0E3pkfGWBClSbjH0c21IPM4no0e6yTlttCozsPqEsXCOdSzOyZ+WFJs87SWJ7CncD8VOOqeX2xYByQrzFu5vsZgF2oxaeCxaHIdDGWZCfXPgucdoO4uuoW4DNtvaKX/8M7QKq2fvr7OcDJVwNn/k5cff4GYMtLkQOKd5hz/exGuWCdI5Lsg7YCimzj5EXCmrzvBYXP4LO/zPrcCGzbASrYS4j6rvuHCBxT7MiLUKAJdZ3Teag44GpCWZ39j3a0lkZ3HlCnXAdcv1I81tcZwD+vCXxEc5nMD4FlE40yv38TGHuxOF5+MbBtQ+D91z8HnKKxTcEAxSyDeaMFfewvDA4TlHrO3UNnAdmbfUsx++D3GoPH0S51oghIskPNHma/9gm1hjIvvv0pc7MF4yaLNQuF9Dzf8JRYAop0NmcdlGeuBL5fE+hL/qbT0gJjOmgHKLbHn48CXD5f0Ap9bA/67eDB4njp6SKbxWnRfjmzqr4ZuZVBszJaRaM7DygGTe/TsgsYUF0wBigx/SACpxB3fyJSbSj/Xga8pn2vw+OpjwDnaOseqynbYWOB2V+KqRglGKB4neksVlQvyQiSEhQGVJdoNLi5ARkPWpRtgE6/xnhP+h32TW1eZ5FlJNtoluMuBW59XZxhytL8NKCh2rcMR+H7vzFSmB7+BcBMAkosAWWegvPlyJekv5hBx2t2gOK1/64EXro1UMeEu4ApfxPnmYa0VJti2nu59Vfi4r27y24vaYYnyLdqraHRnQcUH/P29cAobX1RXSpAw8U7O8mp1wGHalM8bu7OEcTc4UZPAG57z3AWsxW+eEnM148+XUw/yL7pEgxQZOgIvG9eF8HC4l3A4FHAib802D3qefJS4CdTneamumgOcLFfOs0ixoR+sG9QMx1P2j3zA5EzSFZQF3MnZMYA10cMPvOzbU4zT77GyJbwZ8daCyjq58sjHPlhrfDJb1aKNqMU7gBemgZk/VdkeHCtfPliY82s6w0GKJYhkULSgdN5Zq4wTKGzrbzOGQtnLtES9gmPB/uqPKhsCL6hbFwcLkpNh03nCDQwOoBirIajlJ4gaueY95cCb2kBTnMZc0zD/16CZO0cY14fDFAEEmX8FdYWsJOvWwAwF89OOCVcmGWkCIXz9uR0lNNSf5mRLH6rlsIg6LQ1Rt6iXf1ct3B0qncZJVoLqEg6qM5sWrUlM0hIruiM386PBdj09aUdoLZtFOSGTq8HtK1bZKywX0RVvL/cBlejir2u4D9+qCjYnjoaY8Pd1CU6gKIz2BGvecpIIDU7qDRX0Nl881oJf7WOMYnTb/K9Wpkv7vtxXXjJsWTASB6Q8uVbVo/9UCunWqRlv18buunIcumZ5czt46gZSs64BTh7OjBwpJFnZwYU7+cCmTlyzB0028ZrXKcR6Jxe+mdgxxJQtOWIU4CrHzdYPP3Z2Y7fvi5GV+b7MXmWYgcopi0xiM2g+aARvh7kfhP0LUf0GAk5vu2l7qDTPpoSCY0ePUDpTunRVwzrnO6xE/NNFm5KCXcBHTJaLFT5yQWdHkrsOhs7L6co+ucCTKMJR9jRF+cCjMUwK2HW0MD1Tjh6gpVh+hPz2Q5NE+ApyBTrznDo9LbWHe79tHFIigACaXJOH/VUrXB1mMuxTbne1j+nqSltjZY235NX5UFFiGlfJDR69AHV5keOUEEkb+9wVHMac/UTouTm5wBmjEvpMh6oblKRUxnGb14reHzMaoSMNEtAheoac74HDkkRpZae4ZslHepeeb3De4DL6O1load9/JQ1nE1dJKCCNTmTPUmQUPi90kItobXDdxNpYCQe2F/tQXl96J+PUoD30jJwUdDZe7vsehTJ00Za1skpH4O6DO5SMu4CNj0eqTWyfCfwQF0zkFUR3qf3oWj0rjdCHZJqxE0YczF/PRpJ4zJyf+l8b3ayV5jrZ7W/RSQ6ZdkO6QGyfTvL3Giyye0zGx2KRu96gOqQTSaN6ugeKKpTUVQTBjkRgkaXgOroLS3ti4kH+L3hjjICKvS22cFodAmomDSXrKQzeGBPpQc1Nl/yBthvQ6NLQHWGlpY2xsQDFQ0q8qrCm/bZ0egSUDFpKllJZ/AAOYnM8GJS3sexotEloDpDS0sbY+aBAzUelNWFjknpBvnT6BJQMWsqWVFn8EC9G9hdHl5MyjtK+WWjS0B1hlaWNsbUA9mVbtQ2hWb7TKPU7anp8Eb9JaBi2lSyss7ggQjJCZ+90SWgOkMLSxtj5gGOS/zHmJQ7jMyJFsM0Gl0CKmZNJSvqTB4oqPGgJAJyQqfRJaA6UytLW2PmgcoGFfvCj0m10Oj/A9jGm+feuyEMAAAAAElFTkSuQmCC"},81378:function(tr){"use strict";tr.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAAA8CAYAAADGxTD9AAAAAXNSR0IArs4c6QAAFoFJREFUeF7tXQl4k1W6fv8sTbqvlJa2tJSy74ugsiMqq4AKIlDUueNwR2dGHR0XdLwixW3uuF6Xq3O9o15nxuUiIIsCsijK1pa20NJ937eke5tmmec7f/40TfInaUNK6+R7nj5Jk7Of93z/t55w8JBnBYbwCnBDeOyeoXtWAB4Ae0AwpFeA+1SWbbA1A07KQSID6JWT0ivAyThIpBwgBSQy4+fCq0T4jANnrEdlWFkpjK/0ndAetd/znpMaTO0LZcz74tsxti0xjqVXfeNYZcZyxvHSuK3GbDYX03iMbbLy5nOz+pzGbGDrwpfj52DQG2DQAwad8Gcwvudf9ToDQN/pDdBrDYBFWfqMry/UAytP9fjPjJ/rYVHf2L7Qph4GaA0tOj1UnBYqvd6gMugMKr0OKoOOq+UMhhQ5DGfHPRNWMaSRaxy8bQBzPGAZAI3AFMAoAIJtnBnA2WaagdlU39iOAKKeje85FKY2TYDkwWh+APi2ebD0AJ8HMn/AzAHFA4x9Jxwss7bN5yXUpbnwB4SvY3Nu9LmwLr36NIKWAEhA1BlMgOUBCAZYBtJe761Byx+A3vV54Av1efDrtUawm4G+N+D5MfUcHH5s7H890KnqNjRWNGkaqlXqhgp1VV1JwxkOSJUAqUB0xk4s0Q4FgIty4KEweM8Yba+ARCmBzBuQeksgVXKQKugVkAdIoRwhhU+EHJycg0GrNz01Whs6UJhegtLsCmi7tI0GYC8H7osYTPhuO2Z3D9a19gB4sO6Mm8flFSKBd4QcyuFS+MbKIfOWMM6v69KjIq8WhVlFaKpvAQeuFsCr/gh45wmsbXHzsPrcvAfAfV6yn18FjgN8YmUInKiAd4TMJObUlNQj42wWutq7SNtXA9zrIVC88nts7Bgsq+AB8GDZiUEyDrm/BAFj5PBLUAASniNnpeSgvLCSjZADl8dBev8ubD41GIbsAfBg2IVBOAaSnUNnK6GM5DlyQ5UKmSlZ6GjvJBiT5epdGRSP7MRGzbUcvgfA13L1h0DfPtFyBE9VMKuMVqNH2rl0NNapBG78vQ98b9+B2xuu1VQ8AL5WKz+E+pV6cQiaqoAyXAp9tx5pyZfQUNdoBDEKAG5VEhJzrsWUPAC+Fqs+RPsMnOgF3xg5dBod0i9eRmM9D2IAFYB03m5sKRnoqXkAPNArPsT7CxingE+UFDqdHpfSMtHYYJIecn2hnL8DG+sGcooeAA/kav9M+gpIkEMZJYdBq0PqxXS0NDcLMvEFKRTzB1Kx8wD4ZwKqgZ6G/2g5vCPlaGttR+rFZMaRiSSQvLILW58YqPF4ADxQK/1z64cDs05IlByqqiqRX5gvKHV6gLspCYknB2LKHgAPxCr/TPuQ+XAImOQFzsDh0pVLUDcJ5jWUSaGcuBMbW9099WsOYDKYU8Qbi5zqshnZ6e41uGrtSxScU3NQhErR1UBhae4hstkaBiiWzDtSykSJri4NLmYmQ6s1dfz6bmx7xD0z7Gn1mgN4bX48CyapP9eBI/NLXZ5v3JYAzHlnOGvnyMJSqNO7TG36xMjYe41KB22r+GGR+nC48aNIVrb4780o2+OYkYTOVWLRnijk/JcKee+qoVHzMqE5zXlvOGLW+0MRIsXBGUVouuweJ9bys7HwjpJBldaJk2vcH/brP9aLRb1V11aisLzAKEpwWimks3Zic4bLm2qngUED4K5GHWpOttuda+U3bSj83ya7ZeLvCcD1f+HBd3hOMVQXeQDL/DhsVI1l71MerUXOm/zjzhYRV1lfmsC+Sn28FtmviZcV6t/wUSRGbQ5g/575RRWKPuE1c3Ma8+sgXPcmf7gynqvH5d3OO7DkARIowigzwDEtPxcLryApmrK7cGqtYwB31evQ3Wx94Bz3xJcgOThwrBd0Wj1Ssi6gW8sfTA44swuJ8zje9ewWGjQAdmZ2OW+rkPIwRfeJ09UAsH+CHGuuxLNOzj9Yjfz37R8axTAp1hWPBnmsOuu02BtXCL3Ges8IhOvLRkPmI0FjSie+ud55u//YB4Iw+w0e/Febkh+qQe47apea9Y2VQeYrQXlNGcpqeubFQfKrJGz9wKXG7VQeNADuqNKi6FNrrmU+9rqfOlDxtf3HudMAfkuFmPV+iN0QgMyXG6BK6xE1gqYpsDI5jnX9071VKHYwrklPhWDa88NY+csvNiDj2XrRJZ/7fgRG3xfIvv8qrgAdFc4Jq4MdwHQoCcQkA6fmXIBOz8v4HNAog2zcc9gsviguoNutAKZHsdRHYnd4y76LgU+UHKr0TvxwFx+y54iIu7WX9Ww8SwGS8/mp8YkBmPNuBHv/7fwSHph6A0jBshQhVqbGIWiKAgUfqnFue42p22HzvHHzyZHs/+83VKB8r/ihoRQjkuMp6IVShvYlFGLyjlCEzVXanIZXiJS5Y4laizSij+78/2lisrRA8kAJCz53RKO2BLL+ic5tr0btaftiGZXrrNGhu6n/IoQwJt+RMrbOJTVFqG4030vJX3dj632Oxt6f790K4CWHohF5s29/xmW3DoH98Oyex9TY3wRh9mvij1f15S4cWVBiBWCBW2vb9fhqZIFpEyNv9sGSQzFsDCdWlqHqqDgIiIsv+DyKlS39/xac3lSJpd9EI+Im1+Z9+YUGZPyHbaYVMlOB0DneNtdo5J3+GL7Ih31HcraYtYPmXPSx/SdeXzeORAifETJ0dnYivTgFBoMgRpEMLF24G5tP97VNR+WHJIBL97TgtBm37i+AJV4c1hbEsywEc8XOHJRHl5Si7rTtBASZLwfi4n7xXmydT60rR8XBNkx/IQwhM3s4cMgsJVOqCDT1Z5xLZij6W7MowMxFFkcbLPZ9R7UWX8XwFoOrSd4jOUilMuRWZkHdZq78cpdliJ5xtZNFBwTAxAW+u7nMap1uOhbDTEo1p9qR8oh95Ywe9YJp68fESpT8oyc9K+x6JUas8GPtB09TIGoV/55Eg45qHTprtSj8qMmmFWLKs6GY8scwNOdqcGBSEas3KjEAN3xotGRcV9xLPjafBJnFEv4tyPTRsZtKUfu9NUBJTApf6NOrD1dAYw7gikOt0Hc7r+SHTFcys6W7AOwVLIFXoBQ16iqU1BdaTvOJ3dj2iitzt6w7IADuqNHiq2jr0357xWgow2UoP9CK8/9eDZ8YOXxjZPAZaXyNkcN7uBRHF5dh7gcRGH1vIHQaA/ZE5ovKjk4rcUYzmt9oOW7L5i0Ox28tQ/Xxdkz+YyimPhvGPvsyPA8albV8GLXaF4u+iu61nqIAPhGD8Pk+aM7R4MBk/pC4QuYA3juqAJo+yK/XvRUOkpPdBWB6qpHuo9F0I73sgsU0uTYZFOShc93gb2x5wAD89YQiDLteyUBKDgVSZGI3+bOUb0e0L6EAEx8PRfQaP6gyOnFytbhts68Apr5vOT0SYXO9Uba3BT9sqMSNn0QiblMAOuu12BNpffDIbLYqLY4dPnMSA/CKlFgET1UyRdVcdnc0b7HvB7MIQWP2jiJlk8OVqgy0a6wU4H27sW1df+d+zTjwiRXlTF60R6TFd1Rq0VbSjbYyLdpLu9FW2s2UoxG3+qK1RIumzC67GnN/AEwmqmlJw5D3ngppO+pBjgCSYet+bGfc35IW7olih4mIQK4M44EsBuC1hfHswDYkd+LECuv2zNunC0wcORXMAaxR060nzsNB6ith9mp3cWAaiVewFBQnUaEqRVVzudXgOEjWJGHrAedHLV5ywDjw/rGFWF86Gu2lWrSV8cCM3xbIjPoElB+3VjHw0gbaIsHlXPyPZvyUWCU6I0sAtxV3Y/QvApH332pRTxx56TgJZwLOBtUYyP0kKPhrE87dX92rL6k3hzvrEtiTgwBZ+HGTybsmBuCN6jHMyO8M0eElU5w9MgfwF2F5fTKBCXZodwKY3MoE4rauVmTX2vQkF4dCOfFqpOcPGIBtycArLsQieLoS3a16ZL/WaFOWkyo4hN3gjejVPMdLe7oOWa+YUlms9tkcwAR2Uuh0HXrsH1folCuZYgjWF4/m+9pRh6w/Wfe1+EAUgiYp8M0NJezJILiubQGYAmvu7hjnDHZZmeY8DQ5MtC8nmwOY5Gq6b81Z8o6UMYuIOwFM3gvv4TLGjDJqkqHVWcd8SICXdmHbU86OW6zcNQWwI/OX5aAJ6IdnFqO1yPZNR8RJJz8dhomPhfSqShz/4NQipwAcscwHSw/zNuDv76hA+X5rJwYFDJFtmQKFzA+MLQCbx1VUHmlD9bE2m3sx/qFg5tBRZ3bh0PRipzlwfwHgVgADkAdL2F1zZc1FqG/v/RQzjrmbg9e0JGy60t85UD23AniZUfsmj9P+sdZchTRWAgxxMb943jtli7Tt5HnrRsnnLWg4T/cS9KaEXwZi5EZ/pulLjB45KkHyYe7bauS8pWIXdDgTzDPrtXCM+00w62BPTD46q+2HPToCcNQqXyzay1srLM1/5rNYkRyL4GlKNKZ24pu59mMkzDnwoZnF0DQ5H5o546VhzH3ubgBLlRLI/Tk0dzQjX51pc185cCeTkLhk0AL4ttxR8BvlxdyZx5bwygu5Q8l1KRDJpxTk0pKnYU4Aoti7/EEu1/Zyba/YB3Kn2nJ5Lvh8BAtTtKRvbyxBwwUe8M5Go60rjudd2xmdODzLcbCNIwBPfT4Mk5/iXbv2QihXpsUxsaTuTAeOLrRvZTIHcOmXLcy06CyRJYgcL+4GMF1XJQ+RsvvWLjcmQ0fXadogCbh7diHxY2fHb1nOrRz4rtYxTNkp+byZhQ7OejUc4Yt9cHBKEVryeDFAUM7MvWurMuIQOEGB6hNtOH4Lr8WS6eq23HhUHm5F+tP1vcSIcb8NwqQdoaDNNHQD437Lc1BnwinZ3b7G8xS+0BvLvuNjILLfaETqY44TbB0BeOmRaEQs8WXOhs8CckUDzVdfHoWAcV6oOtYGstjYo8FuRhPGToyJ4lRKW4rQ2NUTa2I+N7o8UAq/cTuxvl/hcG4DMGUd3FHNx9ReebWRKV7ktiVtPPcdFZIf4j1vzgJ4WlIYJj0RCl0nKWRFzGIhELl0dZ383bt9MaORy3j6i8NwfHk5yFohgI3abS3U4OCMYuja7XM3ewCmw3Fn3RjQfWP15ztwZJ44Z70tLx5+cXKTLdpZAP90TxW0rc4H4ox9MAgRS33dzoFp/BTYQ0p4i6YZha1Z9qb03m5s+3V/uLDbAEw3uaxM4e2+KY/VIucNFWb+aRjGPxzCrA57YwuY2coZAFMg9205o9j9tln/2Yi0p8Q5oxiAzZUpciuTB45kZqLkR2qgvtSFZcd47isQZVc4cnHbA/DIDf6Y/7cRrDlH1hMyMZKFoOj/mnDmvt5KD3FmWk+BYtb5IXYjHzx/9pdVIB3BWRqzPYgF+5B+cP6BHq6ozuhinsKrSSRGyPwl7B7izJZU6ETynDhAL4X0hp3Ycr6v/bsNwObKy+m7K9njnUxUxIVJO039Qy2yX1c5BeDrP4xAfGIgU1b2jym06doVJi4GYOK0ltYJqlN9vA2Xkhow+9VwZtKjCKqa4+0smozeH1taJhrMQ/XtAfjmUyMx7EY+auzriYUmscnWJt1Zn8BiCLLfVCH10d5xIRMeDcaMl8L7urd9Kn/xyVpc+bPjzJM+NUpc2FsCCQeUdRRA1S3OeDjg4lQor9uIjc5rpO60Qlz39nCM+RUf6GKuTC3aH4WoFX4sFpZEgbV5fE6cmAx8OanBJJemP1uHzBfFbcCWgBJkYP8xcqzJ4uMdiAiYFBif+VIjU/JINhfk5rz31YzDr8kZxTxsZJc9NKNYNFlTDMAhsxRYfpZ/AjnjQt7UOZYd7LRn6pD1cu85DmUAc3L6SQgJ2rXNKOiwK0ZQbu9Du7Dtzb4cErdwYDLe316eAJKDyQa7L77HsxS9zg8Lv4hC7Q/tOL25EreejrULYJKdKZWGLBDkzeuLTGquxJFiSMmHJZ+1IOvlBjRl8Y9LYTz0XrAXU8KneQaEvYMjBmDzWGjhCSS2MaSg3lHJ6wskEhR+ZB2nS8qQJUUs8wVF01Ecx8Wn6pD9qu3DPeU53hJCQVXkkcx/X42uut6MTswD2hcwiZUlzxz9NkduZxq6DeJiCgeu2RsY/zTsuFotOnELgEes9MXifbzt0zLFhsBNFgaSOYmckYFJGfIf44XmbMcy2vTdYSzwh+jgtCITUClIvTmvmylrAo1Y7osFX45glhLiyidXlZuC16nPVem8ZYBk9q8nFNq0CdsCsLmVwBnuO/EPIZj+Ap+SRFkkDeesbd3CmAkMI1b4ghwfw+bxMjwRJcSeWF1u/aTggDlvDwc5X8htT0Q28eK/tzD7OMm+7ibBNl+tKUO9zn7WDQd8loRtm5wdk1sALERz0SBI9qOYh/GP8KYtSxKi0djPTxnjWsnBwXEcA5Wt5Ehq48y91UyuJgpf5I15n4xgSiEBjoiSK/dEFYgGukTe4ouFe3rAe+GBGuT/pXfyprkcbysugvqxBDB9tvRIDBMHaPxkEqv+js/oGLbAGzNfCYeuXQ9dFz9fUlDDjNkVFAdB4ZZkUbEkGi/FKUet9mNxGgK1FGhw8ck6u2lPVJZMWgRicvpQZJwJ+KfaWYZ2OeUaOq8LOosvVo7iTCgxuVuvQW53msO6UnC3PI/Eow4LuksGnvnncIz/XTDqz3bgyIJSZqqypUA5M0CxMj9urWTiABFpuhvqE/iFMpKjDGaSUZedGMnuM7jwYA3yP7CdeXzT0RgMX+xjU7myBWAy7y0+EA3/0V649Hw9Lu3qSZ2nQKA7ahLYD6pYEkXiHVtSivqztrmv5RqSKzv/AzX70/fxN4ToYFL0XdBk3rJBThvy/rnzMhT62TNyahTpMtFhsO1OF9aEfsYgHKFTfoeVDh8PbuHANJCJj4ewC0QIGOQgEMvh6i+IKw609hIpxv8+mAWp0O0+ZftanLo0hOKRyUYrBl4aG5mvKOWo6ojtRY+72x+z3+Lz8egOhrofOxhXpUd8+h+tc9oS7g9EAF0EYvwJLNJc6n/qQOW3bb0SVS3XhTyYK5LjUL6vlUXJNSaLixlOrSnHZ55MeSaU5fE1pjrEilPNOiqkMtSiSmc/1oNxbXDPJSFxp6P23AZgRx17vu/HCtAD5mo/5t3Rpp2p6aFHji4VBgdaIwd0SsFN2YlE/tZAEfIAuB848lRxbQUq9Plo0ts3hxp7+HY3ti33ANi19fbUvsor0GFoRZHOvk1Y6FIC7q5dSPzcw4Gv8iZ4mnNtBQp0l9BlcHzFAAeu0h8B48V+JdQjQri2D57a/VyBBkMNanSOw1WNCt0bSUh82FZXHgD3cwM81VxbAT10yNWlQm+6vceupKuTQTJ7J7ZYGZE9AHZtHzy1XViBSn0B1Hpnr5jlziZh642WV7V6AOzCBniqurYCnWhDodZ2upGtliXA9l3Y9r75dx4Au7YHntourkChLhOdDjxzPV1wKl8oxpn/Fp0HwC5ugKe6ayvQbGhAuc75SwY5cB8lIfFeoVcPgF1bf09tl1fAgDxdut0wS+supIt2Y8v3zELxqSz7ajsnXZ6Sp4F/rRVoMFShRmf/yq3eK8JljcSE6dsxu9sD4H8trAzK2eqgQ54uDXohPdyJUXLgnkxC4sseADuxWJ4i7l+Ban0JGvW2U+9t9c4B7QZIJ3oA7P698fTgxAo0GepRobN/qaFlMxy4/f8E90wA8RE2tUgAAAAASUVORK5CYII="},19251:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return te}});var ee=ae(3208);function te(X,D){var W=typeof Symbol!="undefined"&&X[Symbol.iterator]||X["@@iterator"];if(!W){if(Array.isArray(X)||(W=(0,ee.Z)(X))||D&&X&&typeof X.length=="number"){W&&(X=W);var y=0,L=function(){};return{s:L,n:function(){return y>=X.length?{done:!0}:{done:!1,value:X[y++]}},e:function(u){throw u},f:L}}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 b,s=!0,T=!1;return{s:function(){W=W.call(X)},n:function(){var u=W.next();return s=u.done,u},e:function(u){T=!0,b=u},f:function(){try{s||W.return==null||W.return()}finally{if(T)throw b}}}}},80360:function(tr,qe,ae){"use strict";ae.d(qe,{ZP:function(){return ji}});const ee=Number.isFinite||function(A){return typeof A=="number"&&isFinite(A)},te=Number.isSafeInteger||function(A){return typeof A=="number"&&Math.abs(A)<=X},X=Number.MAX_SAFE_INTEGER||9007199254740991;let D=function(A){return A.NETWORK_ERROR="networkError",A.MEDIA_ERROR="mediaError",A.KEY_SYSTEM_ERROR="keySystemError",A.MUX_ERROR="muxError",A.OTHER_ERROR="otherError",A}({}),W=function(A){return A.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",A.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",A.KEY_SYSTEM_NO_SESSION="keySystemNoSession",A.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",A.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",A.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",A.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",A.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",A.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",A.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",A.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",A.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",A.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",A.MANIFEST_LOAD_ERROR="manifestLoadError",A.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",A.MANIFEST_PARSING_ERROR="manifestParsingError",A.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",A.LEVEL_EMPTY_ERROR="levelEmptyError",A.LEVEL_LOAD_ERROR="levelLoadError",A.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",A.LEVEL_PARSING_ERROR="levelParsingError",A.LEVEL_SWITCH_ERROR="levelSwitchError",A.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",A.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",A.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",A.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",A.FRAG_LOAD_ERROR="fragLoadError",A.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",A.FRAG_DECRYPT_ERROR="fragDecryptError",A.FRAG_PARSING_ERROR="fragParsingError",A.FRAG_GAP="fragGap",A.REMUX_ALLOC_ERROR="remuxAllocError",A.KEY_LOAD_ERROR="keyLoadError",A.KEY_LOAD_TIMEOUT="keyLoadTimeOut",A.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",A.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",A.BUFFER_APPEND_ERROR="bufferAppendError",A.BUFFER_APPENDING_ERROR="bufferAppendingError",A.BUFFER_STALLED_ERROR="bufferStalledError",A.BUFFER_FULL_ERROR="bufferFullError",A.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",A.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",A.ASSET_LIST_LOAD_ERROR="assetListLoadError",A.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",A.ASSET_LIST_PARSING_ERROR="assetListParsingError",A.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",A.INTERNAL_EXCEPTION="internalException",A.INTERNAL_ABORTED="aborted",A.ATTACH_MEDIA_ERROR="attachMediaError",A.UNKNOWN="unknown",A}({}),y=function(A){return A.MEDIA_ATTACHING="hlsMediaAttaching",A.MEDIA_ATTACHED="hlsMediaAttached",A.MEDIA_DETACHING="hlsMediaDetaching",A.MEDIA_DETACHED="hlsMediaDetached",A.MEDIA_ENDED="hlsMediaEnded",A.STALL_RESOLVED="hlsStallResolved",A.BUFFER_RESET="hlsBufferReset",A.BUFFER_CODECS="hlsBufferCodecs",A.BUFFER_CREATED="hlsBufferCreated",A.BUFFER_APPENDING="hlsBufferAppending",A.BUFFER_APPENDED="hlsBufferAppended",A.BUFFER_EOS="hlsBufferEos",A.BUFFERED_TO_END="hlsBufferedToEnd",A.BUFFER_FLUSHING="hlsBufferFlushing",A.BUFFER_FLUSHED="hlsBufferFlushed",A.MANIFEST_LOADING="hlsManifestLoading",A.MANIFEST_LOADED="hlsManifestLoaded",A.MANIFEST_PARSED="hlsManifestParsed",A.LEVEL_SWITCHING="hlsLevelSwitching",A.LEVEL_SWITCHED="hlsLevelSwitched",A.LEVEL_LOADING="hlsLevelLoading",A.LEVEL_LOADED="hlsLevelLoaded",A.LEVEL_UPDATED="hlsLevelUpdated",A.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",A.LEVELS_UPDATED="hlsLevelsUpdated",A.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",A.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",A.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",A.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",A.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",A.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",A.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",A.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",A.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",A.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",A.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",A.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",A.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",A.CUES_PARSED="hlsCuesParsed",A.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",A.INIT_PTS_FOUND="hlsInitPtsFound",A.FRAG_LOADING="hlsFragLoading",A.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",A.FRAG_LOADED="hlsFragLoaded",A.FRAG_DECRYPTED="hlsFragDecrypted",A.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",A.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",A.FRAG_PARSING_METADATA="hlsFragParsingMetadata",A.FRAG_PARSED="hlsFragParsed",A.FRAG_BUFFERED="hlsFragBuffered",A.FRAG_CHANGED="hlsFragChanged",A.FPS_DROP="hlsFpsDrop",A.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",A.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",A.ERROR="hlsError",A.DESTROYING="hlsDestroying",A.KEY_LOADING="hlsKeyLoading",A.KEY_LOADED="hlsKeyLoaded",A.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",A.BACK_BUFFER_REACHED="hlsBackBufferReached",A.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",A.ASSET_LIST_LOADING="hlsAssetListLoading",A.ASSET_LIST_LOADED="hlsAssetListLoaded",A.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",A.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",A.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",A.INTERSTITIAL_STARTED="hlsInterstitialStarted",A.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",A.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",A.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",A.INTERSTITIAL_ENDED="hlsInterstitialEnded",A.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",A.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",A.EVENT_CUE_ENTER="hlsEventCueEnter",A}({});var L={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},b={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};class s{constructor(e,t=0,n=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=n}sample(e,t){const n=Math.pow(this.alpha_,e);this.estimate_=t*(1-n)+n*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){const e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class T{constructor(e,t,n,l=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=n,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new s(e),this.fast_=new s(t),this.defaultTTFB_=l,this.ttfb_=new s(e)}update(e,t){const{slow_:n,fast_:l,ttfb_:_}=this;n.halfLife!==e&&(this.slow_=new s(e,n.getEstimate(),n.getTotalWeight())),l.halfLife!==t&&(this.fast_=new s(t,l.getEstimate(),l.getTotalWeight())),_.halfLife!==e&&(this.ttfb_=new s(e,_.getEstimate(),_.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);const n=8*t,l=e/1e3,_=n/l;this.fast_.sample(l,_),this.slow_.sample(l,_)}sampleTTFB(e){const t=e/1e3,n=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(n,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}function c(A,e,t){return(e=d(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function u(){return u=Object.assign?Object.assign.bind():function(A){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(A[n]=t[n])}return A},u.apply(null,arguments)}function f(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter(function(l){return Object.getOwnPropertyDescriptor(A,l).enumerable})),t.push.apply(t,n)}return t}function i(A){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?f(Object(t),!0).forEach(function(n){c(A,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):f(Object(t)).forEach(function(n){Object.defineProperty(A,n,Object.getOwnPropertyDescriptor(t,n))})}return A}function o(A,e){if(typeof A!="object"||!A)return A;var t=A[Symbol.toPrimitive];if(t!==void 0){var n=t.call(A,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(A)}function d(A){var e=o(A,"string");return typeof e=="symbol"?e:e+""}class p{constructor(e,t){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;const n=`[${e}]:`;this.trace=m,this.debug=t.debug.bind(null,n),this.log=t.log.bind(null,n),this.warn=t.warn.bind(null,n),this.info=t.info.bind(null,n),this.error=t.error.bind(null,n)}}const m=function(){},h={trace:m,debug:m,log:m,warn:m,info:m,error:m};function v(){return u({},h)}function r(A,e){const t=self.console[A];return t?t.bind(self.console,`${e?"["+e+"] ":""}[${A}] >`):m}function a(A,e,t){return e[A]?e[A].bind(e):r(A,t)}const g=v();function E(A,e,t){const n=v();if(typeof console=="object"&&A===!0||typeof A=="object"){const l=["debug","log","info","warn","error"];l.forEach(_=>{n[_]=a(_,A,t)});try{n.log(`Debug logs enabled for "${e}" in hls.js version 1.6.13`)}catch(_){return v()}l.forEach(_=>{g[_]=a(_,A)})}else u(g,n);return n}const S=g;function w(A=!0){return typeof self=="undefined"?void 0:(A||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function R(A){return typeof self!="undefined"&&A===self.ManagedMediaSource}function O(A,e){const t=Object.keys(A),n=Object.keys(e),l=t.length,_=n.length;return!l||!_||l===_&&!t.some(x=>n.indexOf(x)===-1)}function G(A,e=!1){if(typeof TextDecoder!="undefined"){const N=new TextDecoder("utf-8").decode(A);if(e){const j=N.indexOf("\0");return j!==-1?N.substring(0,j):N}return N.replace(/\0/g,"")}const t=A.length;let n,l,_,x="",I=0;for(;I<t;){if(n=A[I++],n===0&&e)return x;if(n===0||n===3)continue;switch(n>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:x+=String.fromCharCode(n);break;case 12:case 13:l=A[I++],x+=String.fromCharCode((n&31)<<6|l&63);break;case 14:l=A[I++],_=A[I++],x+=String.fromCharCode((n&15)<<12|(l&63)<<6|(_&63)<<0);break}}return x}function B(A){let e="";for(let t=0;t<A.length;t++){let n=A[t].toString(16);n.length<2&&(n="0"+n),e+=n}return e}function P(A){return Uint8Array.from(A.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}function F(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}var K={exports:{}},U;function V(){return U||(U=1,function(A,e){(function(t){var n=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,l=/^(?=([^\/?#]*))\1([^]*)$/,_=/(?:\/|^)\.(?=\/)/g,x=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,I={buildAbsoluteURL:function(k,N,j){if(j=j||{},k=k.trim(),N=N.trim(),!N){if(!j.alwaysNormalize)return k;var Z=I.parseURL(k);if(!Z)throw new Error("Error trying to parse base URL.");return Z.path=I.normalizePath(Z.path),I.buildURLFromParts(Z)}var Q=I.parseURL(N);if(!Q)throw new Error("Error trying to parse relative URL.");if(Q.scheme)return j.alwaysNormalize?(Q.path=I.normalizePath(Q.path),I.buildURLFromParts(Q)):N;var re=I.parseURL(k);if(!re)throw new Error("Error trying to parse base URL.");if(!re.netLoc&&re.path&&re.path[0]!=="/"){var ne=l.exec(re.path);re.netLoc=ne[1],re.path=ne[2]}re.netLoc&&!re.path&&(re.path="/");var de={scheme:re.scheme,netLoc:Q.netLoc,path:null,params:Q.params,query:Q.query,fragment:Q.fragment};if(!Q.netLoc&&(de.netLoc=re.netLoc,Q.path[0]!=="/"))if(!Q.path)de.path=re.path,Q.params||(de.params=re.params,Q.query||(de.query=re.query));else{var fe=re.path,Ae=fe.substring(0,fe.lastIndexOf("/")+1)+Q.path;de.path=I.normalizePath(Ae)}return de.path===null&&(de.path=j.alwaysNormalize?I.normalizePath(Q.path):Q.path),I.buildURLFromParts(de)},parseURL:function(k){var N=n.exec(k);return N?{scheme:N[1]||"",netLoc:N[2]||"",path:N[3]||"",params:N[4]||"",query:N[5]||"",fragment:N[6]||""}:null},normalizePath:function(k){for(k=k.split("").reverse().join("").replace(_,"");k.length!==(k=k.replace(x,"")).length;);return k.split("").reverse().join("")},buildURLFromParts:function(k){return k.scheme+k.netLoc+k.path+k.params+k.query+k.fragment}};A.exports=I})()}(K)),K.exports}var C=V();class M{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}}var z={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"};class ${constructor(e){this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,typeof e=="string"&&(e={url:e}),this.base=e,Ee(this,"stats")}setByteRange(e,t){const n=e.split("@",2);let l;n.length===1?l=(t==null?void 0:t.byteRangeEndOffset)||0:l=parseInt(n[1]),this._byteRange=[l,parseInt(n[0])+l]}get baseurl(){return this.base.url}get byteRange(){return this._byteRange===null?[]:this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){return this._streams===null&&(this._streams={[z.AUDIO]:null,[z.VIDEO]:null,[z.AUDIOVIDEO]:null}),this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return this._stats!==null}get hasStreams(){return this._streams!==null}get stats(){return this._stats===null&&(this._stats=new M),this._stats}set stats(e){this._stats=e}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=C.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}clearElementaryStreamInfo(){const{elementaryStreams:e}=this;e[z.AUDIO]=null,e[z.VIDEO]=null,e[z.AUDIOVIDEO]=null}}function q(A){return A.sn!=="initSegment"}class se extends ${constructor(e,t){super(t),this._decryptdata=null,this._programDateTime=null,this._ref=null,this._bitrate=void 0,this.rawProgramDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.playlistOffset=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get byteLength(){if(this.hasStats){const e=this.stats.total;if(e)return e}if(this.byteRange.length){const e=this.byteRange[0],t=this.byteRange[1];if(ee(e)&&ee(t))return t-e}return null}get bitrate(){return this.byteLength?this.byteLength*8/this.duration:this._bitrate?this._bitrate:null}set bitrate(e){this._bitrate=e}get decryptdata(){var e;const{levelkeys:t}=this;if(!t||t.NONE)return null;if(t.identity)this._decryptdata||(this._decryptdata=t.identity.getDecryptData(this.sn));else if(!((e=this._decryptdata)!=null&&e.keyId)){const n=Object.keys(t);if(n.length===1){const l=this._decryptdata=t[n[0]]||null;l&&(this._decryptdata=l.getDecryptData(this.sn,t))}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null)return null;const e=ee(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){var t;const n=Object.keys(this.levelkeys),l=n.length;if(l>1||l===1&&(t=this.levelkeys[n[0]])!=null&&t.encrypted)return!0}return!1}get programDateTime(){return this._programDateTime===null&&this.rawProgramDateTime&&(this.programDateTime=Date.parse(this.rawProgramDateTime)),this._programDateTime}set programDateTime(e){if(!ee(e)){this._programDateTime=this.rawProgramDateTime=null;return}this._programDateTime=e}get ref(){return q(this)?(this._ref||(this._ref={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime}),this._ref):null}addStart(e){this.setStart(this.start+e)}setStart(e){this.start=e,this._ref&&(this._ref.start=e)}setDuration(e){this.duration=e,this._ref&&(this._ref.duration=e)}setKeyFormat(e){const t=this.levelkeys;if(t){var n;const l=t[e];l&&!((n=this._decryptdata)!=null&&n.keyId)&&(this._decryptdata=l.getDecryptData(this.sn,t))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,n,l,_,x=!1){const{elementaryStreams:I}=this,k=I[e];if(!k){I[e]={startPTS:t,endPTS:n,startDTS:l,endDTS:_,partial:x};return}k.startPTS=Math.min(k.startPTS,t),k.endPTS=Math.max(k.endPTS,n),k.startDTS=Math.min(k.startDTS,l),k.endDTS=Math.max(k.endDTS,_)}}class ue extends ${constructor(e,t,n,l,_){super(n),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=l;const x=e.enumeratedString("BYTERANGE");x&&this.setByteRange(x,_),_&&(this.fragOffset=_.fragOffset+_.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){const{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}}function pe(A,e){const t=Object.getPrototypeOf(A);if(t){const n=Object.getOwnPropertyDescriptor(t,e);return n||pe(t,e)}}function Ee(A,e){const t=pe(A,e);t&&(t.enumerable=!0,Object.defineProperty(A,e,t))}const De=Math.pow(2,32)-1,Fe=[].push,Ge={video:1,audio:2,id3:3,text:4};function xe(A){return String.fromCharCode.apply(null,A)}function Ke(A,e){const t=A[e]<<8|A[e+1];return t<0?65536+t:t}function Ce(A,e){const t=ge(A,e);return t<0?4294967296+t:t}function Se(A,e){let t=Ce(A,e);return t*=Math.pow(2,32),t+=Ce(A,e+4),t}function ge(A,e){return A[e]<<24|A[e+1]<<16|A[e+2]<<8|A[e+3]}function Re(A){const e=A.byteLength;for(let t=0;t<e;){const n=Ce(A,t);if(n>8&&A[t+4]===109&&A[t+5]===111&&A[t+6]===111&&A[t+7]===102)return!0;t=n>1?t+n:e}return!1}function ve(A,e){const t=[];if(!e.length)return t;const n=A.byteLength;for(let l=0;l<n;){const _=Ce(A,l),x=xe(A.subarray(l+4,l+8)),I=_>1?l+_:n;if(x===e[0])if(e.length===1)t.push(A.subarray(l+8,I));else{const k=ve(A.subarray(l+8,I),e.slice(1));k.length&&Fe.apply(t,k)}l=I}return t}function Le(A){const e=[],t=A[0];let n=8;const l=Ce(A,n);n+=4;let _=0,x=0;t===0?(_=Ce(A,n),x=Ce(A,n+4),n+=8):(_=Se(A,n),x=Se(A,n+8),n+=16),n+=2;let I=A.length+x;const k=Ke(A,n);n+=2;for(let N=0;N<k;N++){let j=n;const Z=Ce(A,j);j+=4;const Q=Z&2147483647;if((Z&2147483648)>>>31===1)return S.warn("SIDX has hierarchical references (not supported)"),null;const ne=Ce(A,j);j+=4,e.push({referenceSize:Q,subsegmentDuration:ne,info:{duration:ne/l,start:I,end:I+Q-1}}),I+=Q,j+=4,n=j}return{earliestPresentationTime:_,timescale:l,version:t,referencesCount:k,references:e}}function Ue(A){const e=[],t=ve(A,["moov","trak"]);for(let l=0;l<t.length;l++){const _=t[l],x=ve(_,["tkhd"])[0];if(x){let I=x[0];const k=Ce(x,I===0?12:20),N=ve(_,["mdia","mdhd"])[0];if(N){I=N[0];const j=Ce(N,I===0?12:20),Z=ve(_,["mdia","hdlr"])[0];if(Z){const Q=xe(Z.subarray(8,12)),re={soun:z.AUDIO,vide:z.VIDEO}[Q],ne=ve(_,["mdia","minf","stbl","stsd"])[0],de=me(ne);re?(e[k]={timescale:j,type:re,stsd:de},e[re]=i({timescale:j,id:k},de)):e[k]={timescale:j,type:Q,stsd:de}}}}}return ve(A,["moov","mvex","trex"]).forEach(l=>{const _=Ce(l,4),x=e[_];x&&(x.default={duration:Ce(l,12),flags:Ce(l,20)})}),e}function me(A){const e=A.subarray(8),t=e.subarray(86),n=xe(e.subarray(4,8));let l=n,_;const x=n==="enca"||n==="encv";if(x){const N=ve(e,[n])[0].subarray(n==="enca"?28:78);ve(N,["sinf"]).forEach(Z=>{const Q=ve(Z,["schm"])[0];if(Q){const re=xe(Q.subarray(4,8));if(re==="cbcs"||re==="cenc"){const ne=ve(Z,["frma"])[0];ne&&(l=xe(ne))}}})}const I=l;switch(l){case"avc1":case"avc2":case"avc3":case"avc4":{const k=ve(t,["avcC"])[0];k&&k.length>3&&(l+="."+ye(k[1])+ye(k[2])+ye(k[3]),_=oe(I==="avc1"?"dva1":"dvav",t));break}case"mp4a":{const k=ve(e,[n])[0],N=ve(k.subarray(28),["esds"])[0];if(N&&N.length>7){let j=4;if(N[j++]!==3)break;j=he(N,j),j+=2;const Z=N[j++];if(Z&128&&(j+=2),Z&64&&(j+=N[j++]),N[j++]!==4)break;j=he(N,j);const Q=N[j++];if(Q===64)l+="."+ye(Q);else break;if(j+=12,N[j++]!==5)break;j=he(N,j);const re=N[j++];let ne=(re&248)>>3;ne===31&&(ne+=1+((re&7)<<3)+((N[j]&224)>>5)),l+="."+ne}break}case"hvc1":case"hev1":{const k=ve(t,["hvcC"])[0];if(k&&k.length>12){const N=k[1],j=["","A","B","C"][N>>6],Z=N&31,Q=Ce(k,2),re=(N&32)>>5?"H":"L",ne=k[12],de=k.subarray(6,12);l+="."+j+Z,l+="."+ie(Q).toString(16).toUpperCase(),l+="."+re+ne;let fe="";for(let Ae=de.length;Ae--;){const we=de[Ae];(we||fe)&&(fe="."+we.toString(16).toUpperCase()+fe)}l+=fe}_=oe(I=="hev1"?"dvhe":"dvh1",t);break}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":{l=oe(l,t)||l;break}case"vp09":{const k=ve(t,["vpcC"])[0];if(k&&k.length>6){const N=k[4],j=k[5],Z=k[6]>>4&15;l+="."+ce(N)+"."+ce(j)+"."+ce(Z)}break}case"av01":{const k=ve(t,["av1C"])[0];if(k&&k.length>2){const N=k[1]>>>5,j=k[1]&31,Z=k[2]>>>7?"H":"M",Q=(k[2]&64)>>6,re=(k[2]&32)>>5,ne=N===2&&Q?re?12:10:Q?10:8,de=(k[2]&16)>>4,fe=(k[2]&8)>>3,Ae=(k[2]&4)>>2,we=k[2]&3;l+="."+N+"."+ce(j)+Z+"."+ce(ne)+"."+de+"."+fe+Ae+we+"."+ce(1)+"."+ce(1)+"."+ce(1)+"."+0,_=oe("dav1",t)}break}}return{codec:l,encrypted:x,supplemental:_}}function oe(A,e){const t=ve(e,["dvvC"]),n=t.length?t[0]:ve(e,["dvcC"])[0];if(n){const l=n[2]>>1&127,_=n[2]<<5&32|n[3]>>3&31;return A+"."+ce(l)+"."+ce(_)}}function ie(A){let e=0;for(let t=0;t<32;t++)e|=(A>>t&1)<<31-t;return e>>>0}function he(A,e){const t=e+5;for(;A[e++]&128&&e<t;);return e}function ye(A){return("0"+A.toString(16).toUpperCase()).slice(-2)}function ce(A){return(A<10?"0":"")+A}function Te(A,e){if(!A||!e)return;const t=e.keyId;t&&e.isCommonEncryption&&Be(A,(n,l)=>{const _=n.subarray(8,24);_.some(x=>x!==0)||(S.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${B(_)} -> ${B(t)}`),n.set(t,8))})}function Oe(A){const e=[];return Be(A,t=>e.push(t.subarray(8,24))),e}function Be(A,e){ve(A,["moov","trak"]).forEach(n=>{const l=ve(n,["mdia","minf","stbl","stsd"])[0];if(!l)return;const _=l.subarray(8);let x=ve(_,["enca"]);const I=x.length>0;I||(x=ve(_,["encv"])),x.forEach(k=>{const N=I?k.subarray(28):k.subarray(78);ve(N,["sinf"]).forEach(Z=>{const Q=Xe(Z);Q&&e(Q,I)})})})}function Xe(A){const e=ve(A,["schm"])[0];if(e){const t=xe(e.subarray(4,8));if(t==="cbcs"||t==="cenc"){const n=ve(A,["schi","tenc"])[0];if(n)return n}}}function lt(A,e,t){const n={},l=ve(A,["moof","traf"]);for(let _=0;_<l.length;_++){const x=l[_],I=ve(x,["tfhd"])[0],k=Ce(I,4),N=e[k];if(!N)continue;n[k]||(n[k]={start:NaN,duration:0,sampleCount:0,timescale:N.timescale,type:N.type});const j=n[k],Z=ve(x,["tfdt"])[0];if(Z){const Ie=Z[0];let ze=Ce(Z,4);Ie===1&&(ze===De?t.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"):(ze*=De+1,ze+=Ce(Z,8))),ee(ze)&&(!ee(j.start)||ze<j.start)&&(j.start=ze)}const Q=N.default,re=Ce(I,0)|(Q==null?void 0:Q.flags);let ne=(Q==null?void 0:Q.duration)||0;re&8&&(re&2?ne=Ce(I,12):ne=Ce(I,8));const de=ve(x,["trun"]);let fe=j.start||0,Ae=0,we=ne;for(let Ie=0;Ie<de.length;Ie++){const ze=de[Ie],Je=Ce(ze,4),wt=j.sampleCount;j.sampleCount+=Je;const et=ze[3]&1,gt=ze[3]&4,pt=ze[2]&1,st=ze[2]&2,Vt=ze[2]&4,_r=ze[2]&8;let Sr=8,Br=Je;for(et&&(Sr+=4),gt&&Je&&(!(ze[Sr+1]&1)&&j.keyFrameIndex===void 0&&(j.keyFrameIndex=wt),Sr+=4,pt?(we=Ce(ze,Sr),Sr+=4):we=ne,st&&(Sr+=4),_r&&(Sr+=4),fe+=we,Ae+=we,Br--);Br--;)pt?(we=Ce(ze,Sr),Sr+=4):we=ne,st&&(Sr+=4),Vt&&(ze[Sr+1]&1||j.keyFrameIndex===void 0&&(j.keyFrameIndex=j.sampleCount-(Br+1),j.keyFrameStart=fe),Sr+=4),_r&&(Sr+=4),fe+=we,Ae+=we;!Ae&&ne&&(Ae+=ne*Je)}j.duration+=Ae}if(!Object.keys(n).some(_=>n[_].duration)){let _=1/0,x=0;const I=ve(A,["sidx"]);for(let k=0;k<I.length;k++){const N=Le(I[k]);if(N!=null&&N.references){_=Math.min(_,N.earliestPresentationTime/N.timescale);const j=N.references.reduce((Z,Q)=>Z+Q.info.duration||0,0);x=Math.max(x,j+N.earliestPresentationTime/N.timescale)}}x&&ee(x)&&Object.keys(n).forEach(k=>{n[k].duration||(n[k].duration=x*n[k].timescale-n[k].start)})}return n}function _t(A){const e={valid:null,remainder:null},t=ve(A,["moof"]);if(t.length<2)return e.remainder=A,e;const n=t[t.length-1];return e.valid=A.slice(0,n.byteOffset-8),e.remainder=A.slice(n.byteOffset-8),e}function tt(A,e){const t=new Uint8Array(A.length+e.length);return t.set(A),t.set(e,A.length),t}function bt(A,e){const t=[],n=e.samples,l=e.timescale,_=e.id;let x=!1;return ve(n,["moof"]).map(k=>{const N=k.byteOffset-8;ve(k,["traf"]).map(Z=>{const Q=ve(Z,["tfdt"]).map(re=>{const ne=re[0];let de=Ce(re,4);return ne===1&&(de*=Math.pow(2,32),de+=Ce(re,8)),de/l})[0];return Q!==void 0&&(A=Q),ve(Z,["tfhd"]).map(re=>{const ne=Ce(re,4),de=Ce(re,0)&16777215,fe=(de&1)!==0,Ae=(de&2)!==0,we=(de&8)!==0;let Ie=0;const ze=(de&16)!==0;let Je=0;const wt=(de&32)!==0;let et=8;ne===_&&(fe&&(et+=8),Ae&&(et+=4),we&&(Ie=Ce(re,et),et+=4),ze&&(Je=Ce(re,et),et+=4),wt&&(et+=4),e.type==="video"&&(x=Nt(e.codec)),ve(Z,["trun"]).map(gt=>{const pt=gt[0],st=Ce(gt,0)&16777215,Vt=(st&1)!==0;let _r=0;const Sr=(st&4)!==0,Br=(st&256)!==0;let Dr=0;const sr=(st&512)!==0;let Ir=0;const gr=(st&1024)!==0,Pr=(st&2048)!==0;let zr=0;const fr=Ce(gt,4);let dr=8;Vt&&(_r=Ce(gt,dr),dr+=4),Sr&&(dr+=4);let tn=_r+N;for(let xn=0;xn<fr;xn++){if(Br?(Dr=Ce(gt,dr),dr+=4):Dr=Ie,sr?(Ir=Ce(gt,dr),dr+=4):Ir=Je,gr&&(dr+=4),Pr&&(pt===0?zr=Ce(gt,dr):zr=ge(gt,dr),dr+=4),e.type===z.VIDEO){let sn=0;for(;sn<Ir;){const fn=Ce(n,tn);if(tn+=4,Bt(x,n[tn])){const ri=n.subarray(tn,tn+fn);ot(ri,x?2:1,A+zr/l,t)}tn+=fn,sn+=fn+4}}A+=Dr/l}}))})})}),t}function Nt(A){if(!A)return!1;const e=A.substring(0,4);return e==="hvc1"||e==="hev1"||e==="dvh1"||e==="dvhe"}function Bt(A,e){if(A){const t=e>>1&63;return t===39||t===40}else return(e&31)===6}function ot(A,e,t,n){const l=It(A);let _=0;_+=e;let x=0,I=0,k=0;for(;_<l.length;){x=0;do{if(_>=l.length)break;k=l[_++],x+=k}while(k===255);I=0;do{if(_>=l.length)break;k=l[_++],I+=k}while(k===255);const N=l.length-_;let j=_;if(I<N)_+=I;else if(I>N){S.error(`Malformed SEI payload. ${I} is too small, only ${N} bytes left to parse.`);break}if(x===4){if(l[j++]===181){const Q=Ke(l,j);if(j+=2,Q===49){const re=Ce(l,j);if(j+=4,re===1195456820){const ne=l[j++];if(ne===3){const de=l[j++],fe=31&de,Ae=64&de,we=Ae?2+fe*3:0,Ie=new Uint8Array(we);if(Ae){Ie[0]=de;for(let ze=1;ze<we;ze++)Ie[ze]=l[j++]}n.push({type:ne,payloadType:x,pts:t,bytes:Ie})}}}}}else if(x===5&&I>16){const Z=[];for(let ne=0;ne<16;ne++){const de=l[j++].toString(16);Z.push(de.length==1?"0"+de:de),(ne===3||ne===5||ne===7||ne===9)&&Z.push("-")}const Q=I-16,re=new Uint8Array(Q);for(let ne=0;ne<Q;ne++)re[ne]=l[j++];n.push({payloadType:x,pts:t,uuid:Z.join(""),userData:G(re),userDataBytes:re})}}}function It(A){const e=A.byteLength,t=[];let n=1;for(;n<e-2;)A[n]===0&&A[n+1]===0&&A[n+2]===3?(t.push(n+2),n+=2):n++;if(t.length===0)return A;const l=e-t.length,_=new Uint8Array(l);let x=0;for(n=0;n<l;x++,n++)x===t[0]&&(x++,t.shift()),_[n]=A[x];return _}function cr(A){const e=A[0];let t="",n="",l=0,_=0,x=0,I=0,k=0,N=0;if(e===0){for(;xe(A.subarray(N,N+1))!=="\0";)t+=xe(A.subarray(N,N+1)),N+=1;for(t+=xe(A.subarray(N,N+1)),N+=1;xe(A.subarray(N,N+1))!=="\0";)n+=xe(A.subarray(N,N+1)),N+=1;n+=xe(A.subarray(N,N+1)),N+=1,l=Ce(A,12),_=Ce(A,16),I=Ce(A,20),k=Ce(A,24),N=28}else if(e===1){N+=4,l=Ce(A,N),N+=4;const Z=Ce(A,N);N+=4;const Q=Ce(A,N);for(N+=4,x=Tl(2,32)*Z+Q,te(x)||(x=Number.MAX_SAFE_INTEGER,S.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),I=Ce(A,N),N+=4,k=Ce(A,N),N+=4;xe(A.subarray(N,N+1))!=="\0";)t+=xe(A.subarray(N,N+1)),N+=1;for(t+=xe(A.subarray(N,N+1)),N+=1;xe(A.subarray(N,N+1))!=="\0";)n+=xe(A.subarray(N,N+1)),N+=1;n+=xe(A.subarray(N,N+1)),N+=1}const j=A.subarray(N,A.byteLength);return{schemeIdUri:t,value:n,timeScale:l,presentationTime:x,presentationTimeDelta:_,eventDuration:I,id:k,payload:j}}function wr(A,...e){const t=e.length;let n=8,l=t;for(;l--;)n+=e[l].byteLength;const _=new Uint8Array(n);for(_[0]=n>>24&255,_[1]=n>>16&255,_[2]=n>>8&255,_[3]=n&255,_.set(A,4),l=0,n=8;l<t;l++)_.set(e[l],n),n+=e[l].byteLength;return _}function er(A,e,t){if(A.byteLength!==16)throw new RangeError("Invalid system id");let n,l;n=0,l=new Uint8Array;let _;n>0?(_=new Uint8Array(4),e.length>0&&new DataView(_.buffer).setUint32(0,e.length,!1)):_=new Uint8Array;const x=new Uint8Array(4);return t.byteLength>0&&new DataView(x.buffer).setUint32(0,t.byteLength,!1),wr([112,115,115,104],new Uint8Array([n,0,0,0]),A,_,l,x,t)}function Wr(A){const e=[];if(A instanceof ArrayBuffer){const t=A.byteLength;let n=0;for(;n+32<t;){const l=new DataView(A,n),_=Ct(l);e.push(_),n+=_.size}}return e}function Ct(A){const e=A.getUint32(0),t=A.byteOffset,n=A.byteLength;if(n<e)return{offset:t,size:n};if(A.getUint32(4)!==1886614376)return{offset:t,size:e};const _=A.getUint32(8)>>>24;if(_!==0&&_!==1)return{offset:t,size:e};const x=A.buffer,I=B(new Uint8Array(x,t+12,16));let k=null,N=null,j=0;if(_===0)j=28;else{const Q=A.getUint32(28);if(!Q||n<32+Q*16)return{offset:t,size:e};k=[];for(let re=0;re<Q;re++)k.push(new Uint8Array(x,t+32+re*16,16));j=32+Q*16}if(!j)return{offset:t,size:e};const Z=A.getUint32(j);return e-32<Z?{offset:t,size:e}:(N=new Uint8Array(x,t+j+4,Z),{version:_,systemId:I,kids:k,data:N,offset:t,size:e})}const Et=()=>/\(Windows.+Firefox\//i.test(navigator.userAgent),vt={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,dav1:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function nr(A,e){const t=vt[e];return!!t&&!!t[A.slice(0,4)]}function qt(A,e,t=!0){return!A.split(",").some(n=>!Dt(n,e,t))}function Dt(A,e,t=!0){var n;const l=w(t);return(n=l==null?void 0:l.isTypeSupported(nt(A,e)))!=null?n:!1}function nt(A,e){return`${e}/mp4;codecs=${A}`}function Rt(A){if(A){const e=A.substring(0,4);return vt.video[e]}return 2}function Gt(A){const e=Et();return A.split(",").reduce((t,n)=>{const _=e&&Nt(n)?9:vt.video[n];return _?(_*2+t)/(t?3:2):(vt.audio[n]+t)/(t?2:1)},0)}const zt={};function Qt(A,e=!0){if(zt[A])return zt[A];const t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[A];for(let l=0;l<t.length;l++){var n;if(Dt(t[l],"audio",e))return zt[A]=t[l],t[l];if(t[l]==="mp3"&&(n=w(e))!=null&&n.isTypeSupported("audio/mpeg"))return""}return A}const it=/flac|opus|mp4a\.40\.34/i;function dt(A,e=!0){return A.replace(it,t=>Qt(t.toLowerCase(),e))}function St(A,e){const t=[];if(A){const n=A.split(",");for(let l=0;l<n.length;l++)nr(n[l],"video")||t.push(n[l])}return e&&t.push(e),t.join(",")}function Mt(A,e){if(A&&(A.length>4||["ac-3","ec-3","alac","fLaC","Opus"].indexOf(A)!==-1)&&(Yt(A,"audio")||Yt(A,"video")))return A;if(e){const t=e.split(",");if(t.length>1){if(A){for(let n=t.length;n--;)if(t[n].substring(0,4)===A.substring(0,4))return t[n]}return t[0]}}return e||A}function Yt(A,e){return nr(A,e)&&Dt(A,e)}function ft(A){const e=A.split(",");for(let t=0;t<e.length;t++){const n=e[t].split(".");n.length>2&&n[0]==="avc1"&&(e[t]=`avc1.${parseInt(n[1]).toString(16)}${("000"+parseInt(n[2]).toString(16)).slice(-4)}`)}return e.join(",")}function H(A){if(A.startsWith("av01.")){const e=A.split("."),t=["0","111","01","01","01","0"];for(let n=e.length;n>4&&n<10;n++)e[n]=t[n-4];return e.join(".")}return A}function Y(A){const e=w(A)||{isTypeSupported:()=>!1};return{mpeg:e.isTypeSupported("audio/mpeg"),mp3:e.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:e.isTypeSupported('audio/mp4; codecs="ac-3"')}}function J(A){return A.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}const le={supported:!0,powerEfficient:!0,smooth:!0},_e={supported:!1,smooth:!1,powerEfficient:!1},Ne={supported:!0,configurations:[],decodingInfoResults:[le]};function Pe(A,e){return{supported:!1,configurations:e,decodingInfoResults:[_e],error:A}}function $e(A,e,t,n,l,_){const x=A.videoCodec,I=A.audioCodec?A.audioGroups:null,k=_==null?void 0:_.audioCodec,N=_==null?void 0:_.channels,j=N?parseInt(N):k?1/0:2;let Z=null;if(I!=null&&I.length)try{I.length===1&&I[0]?Z=e.groups[I[0]].channels:Z=I.reduce((Q,re)=>{if(re){const ne=e.groups[re];if(!ne)throw new Error(`Audio track group ${re} not found`);Object.keys(ne.channels).forEach(de=>{Q[de]=(Q[de]||0)+ne.channels[de]})}return Q},{2:0})}catch(Q){return!0}return x!==void 0&&(x.split(",").some(Q=>Nt(Q))||A.width>1920&&A.height>1088||A.height>1920&&A.width>1088||A.frameRate>Math.max(n,30)||A.videoRange!=="SDR"&&A.videoRange!==t||A.bitrate>Math.max(l,8e6))||!!Z&&ee(j)&&Object.keys(Z).some(Q=>parseInt(Q)>j)}function Ye(A,e,t,n={}){const l=A.videoCodec;if(!l&&!A.audioCodec||!t)return Promise.resolve(Ne);const _=[],x=Lt(A),I=x.length,k=Ht(A,e,I>0),N=k.length;for(let j=I||1*N||1;j--;){const Z={type:"media-source"};if(I&&(Z.video=x[j%I]),N){Z.audio=k[j%N];const Q=Z.audio.bitrate;Z.video&&Q&&(Z.video.bitrate-=Q)}_.push(Z)}if(l){const j=navigator.userAgent;if(l.split(",").some(Z=>Nt(Z))&&Et())return Promise.resolve(Pe(new Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${j})`),_))}return Promise.all(_.map(j=>{const Z=ut(j);return n[Z]||(n[Z]=t.decodingInfo(j))})).then(j=>({supported:!j.some(Z=>!Z.supported),configurations:_,decodingInfoResults:j})).catch(j=>({supported:!1,configurations:_,decodingInfoResults:[],error:j}))}function Lt(A){var e;const t=(e=A.videoCodec)==null?void 0:e.split(","),n=be(A),l=A.width||640,_=A.height||480,x=A.frameRate||30,I=A.videoRange.toLowerCase();return t?t.map(k=>{const N={contentType:nt(H(k),"video"),width:l,height:_,bitrate:n,framerate:x};return I!=="sdr"&&(N.transferFunction=I),N}):[]}function Ht(A,e,t){var n;const l=(n=A.audioCodec)==null?void 0:n.split(","),_=be(A);return l&&A.audioGroups?A.audioGroups.reduce((x,I)=>{var k;const N=I?(k=e.groups[I])==null?void 0:k.tracks:null;return N?N.reduce((j,Z)=>{if(Z.groupId===I){const Q=parseFloat(Z.channels||"");l.forEach(re=>{const ne={contentType:nt(re,"audio"),bitrate:t?Me(re,_):_};Q&&(ne.channels=""+Q),j.push(ne)})}return j},x):x},[]):[]}function Me(A,e){if(e<=1)return 1;let t=128e3;return A==="ec-3"?t=768e3:A==="ac-3"&&(t=64e4),Math.min(e/2,t)}function be(A){return Math.ceil(Math.max(A.bitrate*.9,A.averageBitrate)/1e3)*1e3||1}function ut(A){let e="";const{audio:t,video:n}=A;if(n){const l=J(n.contentType);e+=`${l}_r${n.height}x${n.width}f${Math.ceil(n.framerate)}${n.transferFunction||"sd"}_${Math.ceil(n.bitrate/1e5)}`}if(t){const l=J(t.contentType);e+=`${n?"_":""}${l}_c${t.channels}`}return e}const Ze=["NONE","TYPE-0","TYPE-1",null];function je(A){return Ze.indexOf(A)>-1}const Qe=["SDR","PQ","HLG"];function yt(A){return!!A&&Qe.indexOf(A)>-1}var mt={No:"",Yes:"YES",v2:"v2"};function Ft(A){const{canSkipUntil:e,canSkipDateRanges:t,age:n}=A,l=n<e/2;return e&&l?t?mt.v2:mt.Yes:mt.No}class At{constructor(e,t,n){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=n}addDirectives(e){const t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}}class Pt{constructor(e){if(this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.supplemental=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(n=>!!n).map(n=>n.substring(0,4)).join(","),"supplemental"in e){var t;this.supplemental=e.supplemental;const n=(t=e.supplemental)==null?void 0:t.videoCodec;n&&n!==e.videoCodec&&(this.codecSet+=`,${n.substring(0,4)}`)}this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return Tt(this._audioGroups,e)}hasSubtitleGroup(e){return Tt(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if(e==="audio"){let n=this._audioGroups;n||(n=this._audioGroups=[]),n.indexOf(t)===-1&&n.push(t)}else if(e==="text"){let n=this._subtitleGroups;n||(n=this._subtitleGroups=[]),n.indexOf(t)===-1&&n.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}}function Tt(A,e){return!e||!A?!1:A.indexOf(e)!==-1}function Xt(){if(typeof matchMedia=="function"){const A=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(A.media!==e.media)return A.matches===!0}return!1}function Ut(A,e){let t=!1,n=[];if(A&&(t=A!=="SDR",n=[A]),e){n=e.allowedVideoRanges||Qe.slice(0);const l=n.join("")!=="SDR"&&!e.videoCodec;t=e.preferHDR!==void 0?e.preferHDR:l&&Xt(),t||(n=["SDR"])}return{preferHDR:t,allowedVideoRanges:n}}const ke=A=>{const e=new WeakSet;return(t,n)=>{if(A&&(n=A(t,n)),typeof n=="object"&&n!==null){if(e.has(n))return;e.add(n)}return n}},He=(A,e)=>JSON.stringify(A,ke(e));function at(A,e,t,n,l){const _=Object.keys(A),x=n==null?void 0:n.channels,I=n==null?void 0:n.audioCodec,k=l==null?void 0:l.videoCodec,N=x&&parseInt(x)===2;let j=!1,Z=!1,Q=1/0,re=1/0,ne=1/0,de=1/0,fe=0,Ae=[];const{preferHDR:we,allowedVideoRanges:Ie}=Ut(e,l);for(let gt=_.length;gt--;){const pt=A[_[gt]];j||(j=pt.channels[2]>0),Q=Math.min(Q,pt.minHeight),re=Math.min(re,pt.minFramerate),ne=Math.min(ne,pt.minBitrate),Ie.filter(Vt=>pt.videoRanges[Vt]>0).length>0&&(Z=!0)}Q=ee(Q)?Q:0,re=ee(re)?re:0;const ze=Math.max(1080,Q),Je=Math.max(30,re);ne=ee(ne)?ne:t,t=Math.max(ne,t),Z||(e=void 0);const wt=_.length>1;return{codecSet:_.reduce((gt,pt)=>{const st=A[pt];if(pt===gt)return gt;if(Ae=Z?Ie.filter(Vt=>st.videoRanges[Vt]>0):[],wt){if(st.minBitrate>t)return We(pt,`min bitrate of ${st.minBitrate} > current estimate of ${t}`),gt;if(!st.hasDefaultAudio)return We(pt,"no renditions with default or auto-select sound found"),gt;if(I&&pt.indexOf(I.substring(0,4))%5!==0)return We(pt,`audio codec preference "${I}" not found`),gt;if(x&&!N){if(!st.channels[x])return We(pt,`no renditions with ${x} channel sound found (channels options: ${Object.keys(st.channels)})`),gt}else if((!I||N)&&j&&st.channels[2]===0)return We(pt,"no renditions with stereo sound found"),gt;if(st.minHeight>ze)return We(pt,`min resolution of ${st.minHeight} > maximum of ${ze}`),gt;if(st.minFramerate>Je)return We(pt,`min framerate of ${st.minFramerate} > maximum of ${Je}`),gt;if(!Ae.some(Vt=>st.videoRanges[Vt]>0))return We(pt,`no variants with VIDEO-RANGE of ${He(Ae)} found`),gt;if(k&&pt.indexOf(k.substring(0,4))%5!==0)return We(pt,`video codec preference "${k}" not found`),gt;if(st.maxScore<fe)return We(pt,`max score of ${st.maxScore} < selected max of ${fe}`),gt}return gt&&(Gt(pt)>=Gt(gt)||st.fragmentError>A[gt].fragmentError)?gt:(de=st.minIndex,fe=st.maxScore,pt)},void 0),videoRanges:Ae,preferHDR:we,minFramerate:re,minBitrate:ne,minIndex:de}}function We(A,e){S.log(`[abr] start candidates with "${A}" ignored because ${e}`)}function rt(A){return A.reduce((e,t)=>{let n=e.groups[t.groupId];n||(n=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),n.tracks.push(t);const l=t.channels||"2";return n.channels[l]=(n.channels[l]||0)+1,n.hasDefault=n.hasDefault||t.default,n.hasAutoSelect=n.hasAutoSelect||t.autoselect,n.hasDefault&&(e.hasDefaultAudio=!0),n.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function ht(A,e,t,n){return A.slice(t,n+1).reduce((l,_,x)=>{if(!_.codecSet)return l;const I=_.audioGroups;let k=l[_.codecSet];k||(l[_.codecSet]=k={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:x,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!I,fragmentError:0}),k.minBitrate=Math.min(k.minBitrate,_.bitrate);const N=Math.min(_.height,_.width);return k.minHeight=Math.min(k.minHeight,N),k.minFramerate=Math.min(k.minFramerate,_.frameRate),k.minIndex=Math.min(k.minIndex,x),k.maxScore=Math.max(k.maxScore,_.score),k.fragmentError+=_.fragmentError,k.videoRanges[_.videoRange]=(k.videoRanges[_.videoRange]||0)+1,I&&I.forEach(j=>{if(!j)return;const Z=e.groups[j];Z&&(k.hasDefaultAudio=k.hasDefaultAudio||e.hasDefaultAudio?Z.hasDefault:Z.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(Z.channels).forEach(Q=>{k.channels[Q]=(k.channels[Q]||0)+Z.channels[Q]}))}),l},{})}function xt(A){if(!A)return A;const{lang:e,assocLang:t,characteristics:n,channels:l,audioCodec:_}=A;return{lang:e,assocLang:t,characteristics:n,channels:l,audioCodec:_}}function Wt(A,e,t){if("attrs"in A){const n=e.indexOf(A);if(n!==-1)return n}for(let n=0;n<e.length;n++){const l=e[n];if(jt(A,l,t))return n}return-1}function jt(A,e,t){const{groupId:n,name:l,lang:_,assocLang:x,default:I}=A,k=A.forced;return(n===void 0||e.groupId===n)&&(l===void 0||e.name===l)&&(_===void 0||Jt(_,e.lang))&&(_===void 0||e.assocLang===x)&&(I===void 0||e.default===I)&&(k===void 0||e.forced===k)&&(!("characteristics"in A)||vr(A.characteristics||"",e.characteristics))&&(t===void 0||t(A,e))}function Jt(A,e="--"){return A.length===e.length?A===e:A.startsWith(e)||e.startsWith(A)}function vr(A,e=""){const t=A.split(","),n=e.split(",");return t.length===n.length&&!t.some(l=>n.indexOf(l)===-1)}function Ve(A,e){const{audioCodec:t,channels:n}=A;return(t===void 0||(e.audioCodec||"").substring(0,4)===t.substring(0,4))&&(n===void 0||n===(e.channels||"2"))}function $t(A,e,t,n,l){const _=e[n],I=e.reduce((Q,re,ne)=>{const de=re.uri;return(Q[de]||(Q[de]=[])).push(ne),Q},{})[_.uri];I.length>1&&(n=Math.max.apply(Math,I));const k=_.videoRange,N=_.frameRate,j=_.codecSet.substring(0,4),Z=ar(e,n,Q=>{if(Q.videoRange!==k||Q.frameRate!==N||Q.codecSet.substring(0,4)!==j)return!1;const re=Q.audioGroups,ne=t.filter(de=>!re||re.indexOf(de.groupId)!==-1);return Wt(A,ne,l)>-1});return Z>-1?Z:ar(e,n,Q=>{const re=Q.audioGroups,ne=t.filter(de=>!re||re.indexOf(de.groupId)!==-1);return Wt(A,ne,l)>-1})}function ar(A,e,t){for(let n=e;n>-1;n--)if(t(A[n]))return n;for(let n=e+1;n<A.length;n++)if(t(A[n]))return n;return-1}function yr(A,e){var t;return!!A&&A!==((t=e.loadLevelObj)==null?void 0:t.uri)}class or extends p{constructor(e){super("abr",e.logger),this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=t=>{var n;const{fragCurrent:l,partCurrent:_,hls:x}=this,{autoLevelEnabled:I,media:k}=x;if(!l||!k)return;const N=performance.now(),j=_?_.stats:l.stats,Z=_?_.duration:l.duration,Q=N-j.loading.start,re=x.minAutoLevel,ne=l.level,de=this._nextAutoLevel;if(j.aborted||j.loaded&&j.loaded===j.total||ne<=re){this.clearTimer(),this._nextAutoLevel=-1;return}if(!I)return;const fe=de>-1&&de!==ne,Ae=!!t||fe;if(!Ae&&(k.paused||!k.playbackRate||!k.readyState))return;const we=x.mainForwardBufferInfo;if(!Ae&&we===null)return;const Ie=this.bwEstimator.getEstimateTTFB(),ze=Math.abs(k.playbackRate);if(Q<=Math.max(Ie,1e3*(Z/(ze*2))))return;const Je=we?we.len/ze:0,wt=j.loading.first?j.loading.first-j.loading.start:-1,et=j.loaded&&wt>-1,gt=this.getBwEstimate(),pt=x.levels,st=pt[ne],Vt=Math.max(j.loaded,Math.round(Z*(l.bitrate||st.averageBitrate)/8));let _r=et?Q-wt:Q;_r<1&&et&&(_r=Math.min(Q,j.loaded*8/gt));const Sr=et?j.loaded*1e3/_r:0,Br=Ie/1e3,Dr=Sr?(Vt-j.loaded)/Sr:Vt*8/gt+Br;if(Dr<=Je)return;const sr=Sr?Sr*8:gt,Ir=((n=(t==null?void 0:t.details)||this.hls.latestLevelDetails)==null?void 0:n.live)===!0,gr=this.hls.config.abrBandWidthUpFactor;let Pr=Number.POSITIVE_INFINITY,zr;for(zr=ne-1;zr>re;zr--){const xn=pt[zr].maxBitrate,sn=!pt[zr].details||Ir;if(Pr=this.getTimeToLoadFrag(Br,sr,Z*xn,sn),Pr<Math.min(Je,Z+Br))break}if(Pr>=Dr||Pr>Z*10)return;et?this.bwEstimator.sample(Q-Math.min(Ie,wt),j.loaded):this.bwEstimator.sampleTTFB(Q);const fr=pt[zr].maxBitrate;this.getBwEstimate()*gr>fr&&this.resetEstimator(fr);const dr=this.findBestLevel(fr,re,zr,0,Je,1,1);dr>-1&&(zr=dr),this.warn(`Fragment ${l.sn}${_?" part "+_.index:""} of level ${ne} is loading too slowly;
Fragment duration: ${l.duration.toFixed(3)}
Time to underbuffer: ${Je.toFixed(3)} s
Estimated load time for current fragment: ${Dr.toFixed(3)} s
Estimated load time for down switch fragment: ${Pr.toFixed(3)} s
TTFB estimate: ${wt|0} ms
Current BW estimate: ${ee(gt)?gt|0:"Unknown"} bps
New BW estimate: ${this.getBwEstimate()|0} bps
Switching to level ${zr} @ ${fr|0} bps`),x.nextLoadLevel=x.nextAutoLevel=zr,this.clearTimer();const tn=()=>{if(this.clearTimer(),this.fragCurrent===l&&this.hls.loadLevel===zr&&zr>0){const xn=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${zr>0?"and switching down":""}
Fragment duration: ${l.duration.toFixed(3)} s
Time to underbuffer: ${xn.toFixed(3)} s`),l.abortRequests(),this.fragCurrent=this.partCurrent=null,zr>re){let sn=this.findBestLevel(this.hls.levels[re].bitrate,re,zr,0,xn,1,1);sn===-1&&(sn=re),this.hls.nextLoadLevel=this.hls.nextAutoLevel=sn,this.resetEstimator(this.hls.levels[sn].bitrate)}}};fe||Dr>Pr*2?tn():this.timer=self.setInterval(tn,Pr*1e3),x.trigger(y.FRAG_LOAD_EMERGENCY_ABORTED,{frag:l,part:_,stats:j})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(this.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){const e=this.hls.config;return new T(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){const{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e&&(e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(y.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){const n=t.frag;if(!this.ignoreFragment(n)){if(!n.bitrateTest){var l;this.fragCurrent=n,this.partCurrent=(l=t.part)!=null?l:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case W.BUFFER_ADD_CODEC_ERROR:case W.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case W.FRAG_LOAD_TIMEOUT:{const n=t.frag,{fragCurrent:l,partCurrent:_}=this;if(n&&l&&n.sn===l.sn&&n.level===l.level){const x=performance.now(),I=_?_.stats:n.stats,k=x-I.loading.start,N=I.loading.first?I.loading.first-I.loading.start:-1;if(I.loaded&&N>-1){const Z=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(k-Math.min(Z,N),I.loaded)}else this.bwEstimator.sampleTTFB(k)}break}}}getTimeToLoadFrag(e,t,n,l){const _=e+n/t,x=l?e+this.lastLevelLoadSec:0;return _+x}onLevelLoaded(e,t){const n=this.hls.config,{loading:l}=t.stats,_=l.end-l.first;ee(_)&&(this.lastLevelLoadSec=_/1e3),t.details.live?this.bwEstimator.update(n.abrEwmaSlowLive,n.abrEwmaFastLive):this.bwEstimator.update(n.abrEwmaSlowVoD,n.abrEwmaFastVoD),this.timer>-1&&this._abandonRulesCheck(t.levelInfo)}onFragLoaded(e,{frag:t,part:n}){const l=n?n.stats:t.stats;if(t.type===b.MAIN&&this.bwEstimator.sampleTTFB(l.loading.first-l.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){const _=n?n.duration:t.duration,x=this.hls.levels[t.level],I=(x.loaded?x.loaded.bytes:0)+l.loaded,k=(x.loaded?x.loaded.duration:0)+_;x.loaded={bytes:I,duration:k},x.realBitrate=Math.round(8*I/k)}if(t.bitrateTest){const _={stats:l,frag:t,part:n,id:t.type};this.onFragBuffered(y.FRAG_BUFFERED,_),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){const{frag:n,part:l}=t,_=l!=null&&l.stats.loaded?l.stats:n.stats;if(_.aborted||this.ignoreFragment(n))return;const x=_.parsing.end-_.loading.start-Math.min(_.loading.first-_.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(x,_.loaded),_.bwEstimate=this.getBwEstimate(),n.bitrateTest?this.bitrateTestDelay=x/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==b.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){const{maxAutoLevel:e,minAutoLevel:t}=this.hls,n=this.getBwEstimate(),l=this.hls.config.maxStarvationDelay,_=this.findBestLevel(n,t,e,0,l,1,1);if(_>-1)return _;const x=this.hls.firstLevel,I=Math.min(Math.max(x,t),e);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${x} clamped to ${I}`),I}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){const e=this.forcedAutoLevel,n=this.bwEstimator.canEstimate(),l=this.lastLoadedFragLevel>-1;if(e!==-1&&(!n||!l||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;const _=n&&l?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){const x=this.hls.levels;if(x.length>Math.max(e,_)&&x[e].loadError<=x[_].loadError)return e}return this._nextAutoLevel=_,this.nextAutoLevelKey=this.getAutoLevelKey(),_}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){const{fragCurrent:e,partCurrent:t,hls:n}=this;if(n.levels.length<=1)return n.loadLevel;const{maxAutoLevel:l,config:_,minAutoLevel:x}=n,I=t?t.duration:e?e.duration:0,k=this.getBwEstimate(),N=this.getStarvationDelay();let j=_.abrBandWidthFactor,Z=_.abrBandWidthUpFactor;if(N){const fe=this.findBestLevel(k,x,l,N,0,j,Z);if(fe>=0)return this.rebufferNotice=-1,fe}let Q=I?Math.min(I,_.maxStarvationDelay):_.maxStarvationDelay;if(!N){const fe=this.bitrateTestDelay;fe&&(Q=(I?Math.min(I,_.maxLoadingDelay):_.maxLoadingDelay)-fe,this.info(`bitrate test took ${Math.round(1e3*fe)}ms, set first fragment max fetchDuration to ${Math.round(1e3*Q)} ms`),j=Z=1)}const re=this.findBestLevel(k,x,l,N,Q,j,Z);if(this.rebufferNotice!==re&&(this.rebufferNotice=re,this.info(`${N?"rebuffering expected":"buffer is empty"}, optimal quality level ${re}`)),re>-1)return re;const ne=n.levels[x],de=n.loadLevelObj;return de&&(ne==null?void 0:ne.bitrate)<de.bitrate?x:n.loadLevel}getStarvationDelay(){const e=this.hls,t=e.media;if(!t)return 1/0;const n=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,l=e.mainForwardBufferInfo;return(l?l.len:0)/n}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,n,l,_,x,I){var k;const N=l+_,j=this.lastLoadedFragLevel,Z=j===-1?this.hls.firstLevel:j,{fragCurrent:Q,partCurrent:re}=this,{levels:ne,allAudioTracks:de,loadLevel:fe,config:Ae}=this.hls;if(ne.length===1)return 0;const we=ne[Z],Ie=!!((k=this.hls.latestLevelDetails)!=null&&k.live),ze=fe===-1||j===-1;let Je,wt="SDR",et=(we==null?void 0:we.frameRate)||0;const{audioPreference:gt,videoPreference:pt}=Ae,st=this.audioTracksByGroup||(this.audioTracksByGroup=rt(de));let Vt=-1;if(ze){if(this.firstSelection!==-1)return this.firstSelection;const sr=this.codecTiers||(this.codecTiers=ht(ne,st,t,n)),Ir=at(sr,wt,e,gt,pt),{codecSet:gr,videoRanges:Pr,minFramerate:zr,minBitrate:fr,minIndex:dr,preferHDR:tn}=Ir;Vt=dr,Je=gr,wt=tn?Pr[Pr.length-1]:Pr[0],et=zr,e=Math.max(e,fr),this.log(`picked start tier ${He(Ir)}`)}else Je=we==null?void 0:we.codecSet,wt=we==null?void 0:we.videoRange;const _r=re?re.duration:Q?Q.duration:0,Sr=this.bwEstimator.getEstimateTTFB()/1e3,Br=[];for(let sr=n;sr>=t;sr--){var Dr;const Ir=ne[sr],gr=sr>Z;if(!Ir)continue;if(Ae.useMediaCapabilities&&!Ir.supportedResult&&!Ir.supportedPromise){const sn=navigator.mediaCapabilities;typeof(sn==null?void 0:sn.decodingInfo)=="function"&&$e(Ir,st,wt,et,e,gt)?(Ir.supportedPromise=Ye(Ir,st,sn,this.supportedCache),Ir.supportedPromise.then(fn=>{if(!this.hls)return;Ir.supportedResult=fn;const ri=this.hls.levels,Yn=ri.indexOf(Ir);fn.error?this.warn(`MediaCapabilities decodingInfo error: "${fn.error}" for level ${Yn} ${He(fn)}`):fn.supported?fn.decodingInfoResults.some(gi=>gi.smooth===!1||gi.powerEfficient===!1)&&this.log(`MediaCapabilities decodingInfo for level ${Yn} not smooth or powerEfficient: ${He(fn)}`):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${Yn} ${He(fn)}`),Yn>-1&&ri.length>1&&(this.log(`Removing unsupported level ${Yn}`),this.hls.removeLevel(Yn),this.hls.loadLevel===-1&&(this.hls.nextLoadLevel=0)))}).catch(fn=>{this.warn(`Error handling MediaCapabilities decodingInfo: ${fn}`)})):Ir.supportedResult=Ne}if((Je&&Ir.codecSet!==Je||wt&&Ir.videoRange!==wt||gr&&et>Ir.frameRate||!gr&&et>0&&et<Ir.frameRate||(Dr=Ir.supportedResult)!=null&&(Dr=Dr.decodingInfoResults)!=null&&Dr.some(sn=>sn.smooth===!1))&&(!ze||sr!==Vt)){Br.push(sr);continue}const Pr=Ir.details,zr=(re?Pr==null?void 0:Pr.partTarget:Pr==null?void 0:Pr.averagetargetduration)||_r;let fr;gr?fr=I*e:fr=x*e;const dr=_r&&l>=_r*2&&_===0?Ir.averageBitrate:Ir.maxBitrate,tn=this.getTimeToLoadFrag(Sr,fr,dr*zr,Pr===void 0);if(fr>=dr&&(sr===j||Ir.loadError===0&&Ir.fragmentError===0)&&(tn<=Sr||!ee(tn)||Ie&&!this.bitrateTestDelay||tn<N)){const sn=this.forcedAutoLevel;return sr!==fe&&(sn===-1||sn!==fe)&&(Br.length&&this.trace(`Skipped level(s) ${Br.join(",")} of ${n} max with CODECS and VIDEO-RANGE:"${ne[Br[0]].codecs}" ${ne[Br[0]].videoRange}; not compatible with "${Je}" ${wt}`),this.info(`switch candidate:${Z}->${sr} adjustedbw(${Math.round(fr)})-bitrate=${Math.round(fr-dr)} ttfb:${Sr.toFixed(1)} avgDuration:${zr.toFixed(1)} maxFetchDuration:${N.toFixed(1)} fetchDuration:${tn.toFixed(1)} firstSelection:${ze} codecSet:${Ir.codecSet} videoRange:${Ir.videoRange} hls.loadLevel:${fe}`)),ze&&(this.firstSelection=sr),sr}}return-1}set nextAutoLevel(e){const t=this.deriveNextAutoLevel(e);this._nextAutoLevel!==t&&(this.nextAutoLevelKey="",this._nextAutoLevel=t)}deriveNextAutoLevel(e){const{maxAutoLevel:t,minAutoLevel:n}=this.hls;return Math.min(Math.max(e,n),t)}}const ir={search:function(A,e){let t=0,n=A.length-1,l=null,_=null;for(;t<=n;){l=(t+n)/2|0,_=A[l];const x=e(_);if(x>0)t=l+1;else if(x<0)n=l-1;else return _}return null}};function hr(A,e,t){if(e===null||!Array.isArray(A)||!A.length||!ee(e))return null;const n=A[0].programDateTime;if(e<(n||0))return null;const l=A[A.length-1].endProgramDateTime;if(e>=(l||0))return null;for(let _=0;_<A.length;++_){const x=A[_];if(Or(e,t,x))return x}return null}function Ar(A,e,t=0,n=0,l=.005){let _=null;if(A){_=e[1+A.sn-e[0].sn]||null;const I=A.endDTS-t;I>0&&I<15e-7&&(t+=15e-7),_&&A.level!==_.level&&_.end<=A.end&&(_=e[2+A.sn-e[0].sn]||null)}else t===0&&e[0].start===0&&(_=e[0]);if(_&&((!A||A.level===_.level)&&Tr(t,n,_)===0||Cr(_,A,Math.min(l,n))))return _;const x=ir.search(e,Tr.bind(null,t,n));return x&&(x!==A||!_)?x:_}function Cr(A,e,t){if(e&&e.start===0&&e.level<A.level&&(e.endPTS||0)>0){const n=e.tagList.reduce((l,_)=>(_[0]==="INF"&&(l+=parseFloat(_[1])),l),t);return A.start<=n}return!1}function Tr(A=0,e=0,t){if(t.start<=A&&t.start+t.duration>A)return 0;const n=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-n<=A?1:t.start-n>A&&t.start?-1:0}function Or(A,e,t){const n=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-n>A}function pr(A,e,t){if(A&&A.startCC<=e&&A.endCC>=e){let n=A.fragments;const{fragmentHint:l}=A;l&&(n=n.concat(l));let _;return ir.search(n,x=>x.cc<e?1:x.cc>e?-1:(_=x,x.end<=t?1:x.start>t?-1:0)),_||null}return null}function mr(A){switch(A.details){case W.FRAG_LOAD_TIMEOUT:case W.KEY_LOAD_TIMEOUT:case W.LEVEL_LOAD_TIMEOUT:case W.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function Zr(A){return A.details.startsWith("key")}function jr(A){return Zr(A)&&!!A.frag&&!A.frag.decryptdata}function rn(A,e){const t=mr(e);return A.default[`${t?"timeout":"error"}Retry`]}function Gr(A,e){const t=A.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*A.retryDelayMs,A.maxRetryDelayMs)}function nn(A){return i(i({},A),{errorRetry:null,timeoutRetry:null})}function $r(A,e,t,n){if(!A)return!1;const l=n==null?void 0:n.code,_=e<A.maxNumRetry&&(hn(l)||!!t);return A.shouldRetry?A.shouldRetry(A,e,t,n,_):_}function hn(A){return on(A)||!!A&&(A<400||A>499)}function on(A){return A===0&&navigator.onLine===!1}var Nr={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},lr={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,MoveAllAlternatesMatchingKey:4,SwitchToSDR:8};class kt extends p{constructor(e){super("error-controller",e.logger),this.hls=void 0,this.playlistError=0,this.hls=e,this.registerListeners()}registerListeners(){const e=this.hls;e.on(y.ERROR,this.onError,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){const e=this.hls;e&&(e.off(y.ERROR,this.onError,this),e.off(y.ERROR,this.onErrorOut,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(e==null?void 0:e.type)===b.MAIN?e.level:this.getVariantIndex()}getVariantIndex(){var e;const t=this.hls,n=t.currentLevel;return(e=t.loadLevelObj)!=null&&e.details||n===-1?t.loadLevel:n}variantHasKey(e,t){if(e){var n;if((n=e.details)!=null&&n.hasKey(t))return!0;const l=e.audioGroups;if(l)return this.hls.allAudioTracks.filter(x=>l.indexOf(x.groupId)>=0).some(x=>{var I;return(I=x.details)==null?void 0:I.hasKey(t)})}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,t){var n;if(t.fatal)return;const l=this.hls,_=t.context;switch(t.details){case W.FRAG_LOAD_ERROR:case W.FRAG_LOAD_TIMEOUT:case W.KEY_LOAD_ERROR:case W.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case W.FRAG_PARSING_ERROR:if((n=t.frag)!=null&&n.gap){t.errorAction=Ot();return}case W.FRAG_GAP:case W.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=Nr.SendAlternateToPenaltyBox;return}case W.LEVEL_EMPTY_ERROR:case W.LEVEL_PARSING_ERROR:{var x;const k=t.parent===b.MAIN?t.level:l.loadLevel;t.details===W.LEVEL_EMPTY_ERROR&&((x=t.context)!=null&&(x=x.levelDetails)!=null&&x.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,k):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,k))}return;case W.LEVEL_LOAD_ERROR:case W.LEVEL_LOAD_TIMEOUT:typeof(_==null?void 0:_.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,_.level));return;case W.AUDIO_TRACK_LOAD_ERROR:case W.AUDIO_TRACK_LOAD_TIMEOUT:case W.SUBTITLE_LOAD_ERROR:case W.SUBTITLE_TRACK_LOAD_TIMEOUT:if(_){const k=l.loadLevelObj;if(k&&(_.type===L.AUDIO_TRACK&&k.hasAudioGroup(_.groupId)||_.type===L.SUBTITLE_TRACK&&k.hasSubtitleGroup(_.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,l.loadLevel),t.errorAction.action=Nr.SendAlternateToPenaltyBox,t.errorAction.flags=lr.MoveAllAlternatesMatchingHost;return}}return;case W.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:t.errorAction={action:Nr.SendAlternateToPenaltyBox,flags:lr.MoveAllAlternatesMatchingHDCP};return;case W.KEY_SYSTEM_SESSION_UPDATE_FAILED:case W.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case W.KEY_SYSTEM_NO_SESSION:t.errorAction={action:Nr.SendAlternateToPenaltyBox,flags:lr.MoveAllAlternatesMatchingKey};return;case W.BUFFER_ADD_CODEC_ERROR:case W.REMUX_ALLOC_ERROR:case W.BUFFER_APPEND_ERROR:if(!t.errorAction){var I;t.errorAction=this.getLevelSwitchAction(t,(I=t.level)!=null?I:l.loadLevel)}return;case W.INTERNAL_EXCEPTION:case W.BUFFER_APPENDING_ERROR:case W.BUFFER_FULL_ERROR:case W.LEVEL_SWITCH_ERROR:case W.BUFFER_STALLED_ERROR:case W.BUFFER_SEEK_OVER_HOLE:case W.BUFFER_NUDGE_ON_STALL:t.errorAction=Ot();return}t.type===D.KEY_SYSTEM_ERROR&&(t.levelRetry=!1,t.errorAction=Ot())}getPlaylistRetryOrSwitchAction(e,t){const n=this.hls,l=rn(n.config.playlistLoadPolicy,e),_=this.playlistError++;if($r(l,_,mr(e),e.response))return{action:Nr.RetryRequest,flags:lr.None,retryConfig:l,retryCount:_};const I=this.getLevelSwitchAction(e,t);return l&&(I.retryConfig=l,I.retryCount=_),I}getFragRetryOrSwitchAction(e){const t=this.hls,n=this.getVariantLevelIndex(e.frag),l=t.levels[n],{fragLoadPolicy:_,keyLoadPolicy:x}=t.config,I=rn(Zr(e)?x:_,e),k=t.levels.reduce((j,Z)=>j+Z.fragmentError,0);if(l&&(e.details!==W.FRAG_GAP&&l.fragmentError++,!jr(e)&&$r(I,k,mr(e),e.response)))return{action:Nr.RetryRequest,flags:lr.None,retryConfig:I,retryCount:k};const N=this.getLevelSwitchAction(e,n);return I&&(N.retryConfig=I,N.retryCount=k),N}getLevelSwitchAction(e,t){const n=this.hls;t==null&&(t=n.loadLevel);const l=this.hls.levels[t];if(l){var _,x;const N=e.details;l.loadError++,N===W.BUFFER_APPEND_ERROR&&l.fragmentError++;let j=-1;const{levels:Z,loadLevel:Q,minAutoLevel:re,maxAutoLevel:ne}=n;!n.autoLevelEnabled&&!n.config.preserveManualLevelOnError&&(n.loadLevel=-1);const de=(_=e.frag)==null?void 0:_.type,Ae=(de===b.AUDIO&&N===W.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(N===W.BUFFER_ADD_CODEC_ERROR||N===W.BUFFER_APPEND_ERROR))&&Z.some(({audioCodec:wt})=>l.audioCodec!==wt),Ie=e.sourceBufferName==="video"&&(N===W.BUFFER_ADD_CODEC_ERROR||N===W.BUFFER_APPEND_ERROR)&&Z.some(({codecSet:wt,audioCodec:et})=>l.codecSet!==wt&&l.audioCodec===et),{type:ze,groupId:Je}=(x=e.context)!=null?x:{};for(let wt=Z.length;wt--;){const et=(wt+Q)%Z.length;if(et!==Q&&et>=re&&et<=ne&&Z[et].loadError===0){var I,k;const gt=Z[et];if(N===W.FRAG_GAP&&de===b.MAIN&&e.frag){const pt=Z[et].details;if(pt){const st=Ar(e.frag,pt.fragments,e.frag.start);if(st!=null&&st.gap)continue}}else{if(ze===L.AUDIO_TRACK&&gt.hasAudioGroup(Je)||ze===L.SUBTITLE_TRACK&&gt.hasSubtitleGroup(Je))continue;if(de===b.AUDIO&&(I=l.audioGroups)!=null&&I.some(pt=>gt.hasAudioGroup(pt))||de===b.SUBTITLE&&(k=l.subtitleGroups)!=null&&k.some(pt=>gt.hasSubtitleGroup(pt))||Ae&&l.audioCodec===gt.audioCodec||Ie&&l.codecSet===gt.codecSet||!Ae&&l.codecSet!==gt.codecSet)continue}j=et;break}}if(j>-1&&n.loadLevel!==j)return e.levelRetry=!0,this.playlistError=0,{action:Nr.SendAlternateToPenaltyBox,flags:lr.None,nextAutoLevel:j}}return{action:Nr.SendAlternateToPenaltyBox,flags:lr.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var n;switch((n=t.errorAction)==null?void 0:n.action){case Nr.DoNothing:break;case Nr.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==W.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break;case Nr.RetryRequest:break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){const t=this.hls,n=e.errorAction;if(!n)return;const{flags:l}=n,_=n.nextAutoLevel;switch(l){case lr.None:this.switchLevel(e,_);break;case lr.MoveAllAlternatesMatchingHDCP:{const k=this.getVariantLevelIndex(e.frag),N=t.levels[k],j=N==null?void 0:N.attrs["HDCP-LEVEL"];if(n.hdcpLevel=j,j==="NONE")this.warn("HDCP policy resticted output with HDCP-LEVEL=NONE");else if(j){t.maxHdcpLevel=Ze[Ze.indexOf(j)-1],n.resolved=!0,this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}}case lr.MoveAllAlternatesMatchingKey:{const k=e.decryptdata;if(k){const N=this.hls.levels,j=N.length;for(let Q=j;Q--;)if(this.variantHasKey(N[Q],k)){var x,I;this.log(`Banned key found in level ${Q} (${N[Q].bitrate}bps) or audio group "${(x=N[Q].audioGroups)==null?void 0:x.join(",")}" (${(I=e.frag)==null?void 0:I.type} fragment) ${B(k.keyId||[])}`),N[Q].fragmentError++,N[Q].loadError++,this.log(`Removing level ${Q} with key error (${e.error})`),this.hls.removeLevel(Q)}const Z=e.frag;if(this.hls.levels.length<j)n.resolved=!0;else if(Z&&Z.type!==b.MAIN){const Q=Z.decryptdata;Q&&!k.matches(Q)&&(n.resolved=!0)}}break}}n.resolved||this.switchLevel(e,_)}switchLevel(e,t){if(t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel,e.details===W.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&e.sourceBufferName!=="audiovideo")){const n=J(e.mimeType),l=this.hls.levels;for(let _=l.length;_--;)l[_][`${e.sourceBufferName}Codec`]===n&&(this.log(`Removing level ${_} for ${e.details} ("${n}" not supported)`),this.hls.removeLevel(_))}}}function Ot(A){const e={action:Nr.DoNothing,flags:lr.None};return A&&(e.resolved=!0),e}var Zt={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"};class rr{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){const{hls:e}=this;e&&(e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.BUFFER_APPENDED,this.onBufferAppended,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this))}_unregisterListeners(){const{hls:e}=this;e&&(e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.BUFFER_APPENDED,this.onBufferAppended,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this))}destroy(){this._unregisterListeners(),this.hls=this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){const n=this.activePartLists[t];if(n)for(let l=n.length;l--;){const _=n[l];if(!_)break;if(_.start<=e&&e<=_.end&&_.loaded)return _}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){return this.getFragAtPos(e,t,!0)}getFragAtPos(e,t,n){const{fragments:l}=this,_=Object.keys(l);for(let x=_.length;x--;){const I=l[_[x]];if((I==null?void 0:I.body.type)===t&&(!n||I.buffered)){const k=I.body;if(k.start<=e&&e<=k.end)return k}}return null}detectEvictedFragments(e,t,n,l,_){this.timeRanges&&(this.timeRanges[e]=t);const x=(l==null?void 0:l.fragment.sn)||-1;Object.keys(this.fragments).forEach(I=>{const k=this.fragments[I];if(!k||x>=k.body.sn)return;if(!k.buffered&&(!k.loaded||_)){k.body.type===n&&this.removeFragment(k.body);return}const N=k.range[e];if(N){if(N.time.length===0){this.removeFragment(k.body);return}N.time.some(j=>{const Z=!this.isTimeBuffered(j.startPTS,j.endPTS,t);return Z&&this.removeFragment(k.body),Z})}})}detectPartialFragments(e){const t=this.timeRanges;if(!t||e.frag.sn==="initSegment")return;const n=e.frag,l=kr(n),_=this.fragments[l];if(!_||_.buffered&&n.gap)return;const x=!n.relurl;Object.keys(t).forEach(I=>{const k=n.elementaryStreams[I];if(!k)return;const N=t[I],j=x||k.partial===!0;_.range[I]=this.getBufferedTimes(n,e.part,j,N)}),_.loaded=null,Object.keys(_.range).length?(_.buffered=!0,(_.body.endList=n.endList||_.body.endList)&&(this.endListFragments[_.body.type]=_),xr(_)||this.removeParts(n.sn-1,n.type)):this.removeFragment(_.body)}removeParts(e,t){const n=this.activePartLists[t];n&&(this.activePartLists[t]=Xr(n,l=>l.fragment.sn>=e))}fragBuffered(e,t){const n=kr(e);let l=this.fragments[n];!l&&t&&(l=this.fragments[n]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),l&&(l.loaded=null,l.buffered=!0)}getBufferedTimes(e,t,n,l){const _={time:[],partial:n},x=e.start,I=e.end,k=e.minEndPTS||I,N=e.maxStartPTS||x;for(let j=0;j<l.length;j++){const Z=l.start(j)-this.bufferPadding,Q=l.end(j)+this.bufferPadding;if(N>=Z&&k<=Q){_.time.push({startPTS:Math.max(x,l.start(j)),endPTS:Math.min(I,l.end(j))});break}else if(x<Q&&I>Z){const re=Math.max(x,l.start(j)),ne=Math.min(I,l.end(j));ne>re&&(_.partial=!0,_.time.push({startPTS:re,endPTS:ne}))}else if(I<=Z)break}return _}getPartialFragment(e){let t=null,n,l,_,x=0;const{bufferPadding:I,fragments:k}=this;return Object.keys(k).forEach(N=>{const j=k[N];j&&xr(j)&&(l=j.body.start-I,_=j.body.end+I,e>=l&&e<=_&&(n=Math.min(e-l,_-e),x<=n&&(t=j.body,x=n)))}),t}isEndListAppended(e){const t=this.endListFragments[e];return t!==void 0&&(t.buffered||xr(t))}getState(e){const t=kr(e),n=this.fragments[t];return n?n.buffered?xr(n)?Zt.PARTIAL:Zt.OK:Zt.APPENDING:Zt.NOT_LOADED}isTimeBuffered(e,t,n){let l,_;for(let x=0;x<n.length;x++){if(l=n.start(x)-this.bufferPadding,_=n.end(x)+this.bufferPadding,e>=l&&t<=_)return!0;if(t<=l)return!1}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,t){if(t.frag.sn==="initSegment"||t.frag.bitrateTest)return;const n=t.frag,l=t.part?null:t,_=kr(n);this.fragments[_]={body:n,appendedPTS:null,loaded:l,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){const{frag:n,part:l,timeRanges:_,type:x}=t;if(n.sn==="initSegment")return;const I=n.type;if(l){let N=this.activePartLists[I];N||(this.activePartLists[I]=N=[]),N.push(l)}this.timeRanges=_;const k=_[x];this.detectEvictedFragments(x,k,I,l)}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){const t=kr(e);return!!this.fragments[t]}hasFragments(e){const{fragments:t}=this,n=Object.keys(t);if(!e)return n.length>0;for(let l=n.length;l--;){const _=t[n[l]];if((_==null?void 0:_.body.type)===e)return!0}return!1}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,n,l,_){l&&!this.hasGaps||Object.keys(this.fragments).forEach(x=>{const I=this.fragments[x];if(!I)return;const k=I.body;k.type!==n||l&&!k.gap||k.start<t&&k.end>e&&(I.buffered||_)&&this.removeFragment(k)})}removeFragment(e){const t=kr(e);e.clearElementaryStreamInfo();const n=this.activePartLists[e.type];if(n){const l=e.sn;this.activePartLists[e.type]=Xr(n,_=>_.fragment.sn!==l)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){var e;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;const t=(e=this.hls)==null||(e=e.latestLevelDetails)==null?void 0:e.partList;t&&t.forEach(n=>n.clearElementaryStreamInfo())}}function xr(A){var e,t,n;return A.buffered&&!!(A.body.gap||(e=A.range.video)!=null&&e.partial||(t=A.range.audio)!=null&&t.partial||(n=A.range.audiovideo)!=null&&n.partial)}function kr(A){return`${A.type}_${A.level}_${A.sn}`}function Xr(A,e){return A.filter(t=>{const n=e(t);return n||t.clearElementaryStreamInfo(),n})}var Mr={cbc:0,ctr:1};class ln{constructor(e,t,n){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=t,this.aesMode=n}decrypt(e,t){switch(this.aesMode){case Mr.cbc:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e);case Mr.ctr:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},t,e);default:throw new Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}}function Tn(A){const e=A.byteLength,t=e&&new DataView(A.buffer).getUint8(e-1);return t?A.slice(0,e-t):A}class mn{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){const t=new DataView(e),n=new Uint32Array(4);for(let l=0;l<4;l++)n[l]=t.getUint32(l*4);return n}initTable(){const e=this.sBox,t=this.invSBox,n=this.subMix,l=n[0],_=n[1],x=n[2],I=n[3],k=this.invSubMix,N=k[0],j=k[1],Z=k[2],Q=k[3],re=new Uint32Array(256);let ne=0,de=0,fe=0;for(fe=0;fe<256;fe++)fe<128?re[fe]=fe<<1:re[fe]=fe<<1^283;for(fe=0;fe<256;fe++){let Ae=de^de<<1^de<<2^de<<3^de<<4;Ae=Ae>>>8^Ae&255^99,e[ne]=Ae,t[Ae]=ne;const we=re[ne],Ie=re[we],ze=re[Ie];let Je=re[Ae]*257^Ae*16843008;l[ne]=Je<<24|Je>>>8,_[ne]=Je<<16|Je>>>16,x[ne]=Je<<8|Je>>>24,I[ne]=Je,Je=ze*16843009^Ie*65537^we*257^ne*16843008,N[Ae]=Je<<24|Je>>>8,j[Ae]=Je<<16|Je>>>16,Z[Ae]=Je<<8|Je>>>24,Q[Ae]=Je,ne?(ne=we^re[re[re[ze^we]]],de^=re[re[de]]):ne=de=1}}expandKey(e){const t=this.uint8ArrayToUint32Array_(e);let n=!0,l=0;for(;l<t.length&&n;)n=t[l]===this.key[l],l++;if(n)return;this.key=t;const _=this.keySize=t.length;if(_!==4&&_!==6&&_!==8)throw new Error("Invalid aes key size="+_);const x=this.ksRows=(_+6+1)*4;let I,k;const N=this.keySchedule=new Uint32Array(x),j=this.invKeySchedule=new Uint32Array(x),Z=this.sBox,Q=this.rcon,re=this.invSubMix,ne=re[0],de=re[1],fe=re[2],Ae=re[3];let we,Ie;for(I=0;I<x;I++){if(I<_){we=N[I]=t[I];continue}Ie=we,I%_===0?(Ie=Ie<<8|Ie>>>24,Ie=Z[Ie>>>24]<<24|Z[Ie>>>16&255]<<16|Z[Ie>>>8&255]<<8|Z[Ie&255],Ie^=Q[I/_|0]<<24):_>6&&I%_===4&&(Ie=Z[Ie>>>24]<<24|Z[Ie>>>16&255]<<16|Z[Ie>>>8&255]<<8|Z[Ie&255]),N[I]=we=(N[I-_]^Ie)>>>0}for(k=0;k<x;k++)I=x-k,k&3?Ie=N[I]:Ie=N[I-4],k<4||I<=4?j[k]=Ie:j[k]=ne[Z[Ie>>>24]]^de[Z[Ie>>>16&255]]^fe[Z[Ie>>>8&255]]^Ae[Z[Ie&255]],j[k]=j[k]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,n){const l=this.keySize+6,_=this.invKeySchedule,x=this.invSBox,I=this.invSubMix,k=I[0],N=I[1],j=I[2],Z=I[3],Q=this.uint8ArrayToUint32Array_(n);let re=Q[0],ne=Q[1],de=Q[2],fe=Q[3];const Ae=new Int32Array(e),we=new Int32Array(Ae.length);let Ie,ze,Je,wt,et,gt,pt,st,Vt,_r,Sr,Br,Dr,sr;const Ir=this.networkToHostOrderSwap;for(;t<Ae.length;){for(Vt=Ir(Ae[t]),_r=Ir(Ae[t+1]),Sr=Ir(Ae[t+2]),Br=Ir(Ae[t+3]),et=Vt^_[0],gt=Br^_[1],pt=Sr^_[2],st=_r^_[3],Dr=4,sr=1;sr<l;sr++)Ie=k[et>>>24]^N[gt>>16&255]^j[pt>>8&255]^Z[st&255]^_[Dr],ze=k[gt>>>24]^N[pt>>16&255]^j[st>>8&255]^Z[et&255]^_[Dr+1],Je=k[pt>>>24]^N[st>>16&255]^j[et>>8&255]^Z[gt&255]^_[Dr+2],wt=k[st>>>24]^N[et>>16&255]^j[gt>>8&255]^Z[pt&255]^_[Dr+3],et=Ie,gt=ze,pt=Je,st=wt,Dr=Dr+4;Ie=x[et>>>24]<<24^x[gt>>16&255]<<16^x[pt>>8&255]<<8^x[st&255]^_[Dr],ze=x[gt>>>24]<<24^x[pt>>16&255]<<16^x[st>>8&255]<<8^x[et&255]^_[Dr+1],Je=x[pt>>>24]<<24^x[st>>16&255]<<16^x[et>>8&255]<<8^x[gt&255]^_[Dr+2],wt=x[st>>>24]<<24^x[et>>16&255]<<16^x[gt>>8&255]<<8^x[pt&255]^_[Dr+3],we[t]=Ir(Ie^re),we[t+1]=Ir(wt^ne),we[t+2]=Ir(Je^de),we[t+3]=Ir(ze^fe),re=Vt,ne=_r,de=Sr,fe=Br,t=t+4}return we.buffer}}class Sn{constructor(e,t,n){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=t,this.aesMode=n}expandKey(){const e=Qr(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"])}}function Qr(A){switch(A){case Mr.cbc:return"AES-CBC";case Mr.ctr:return"AES-CTR";default:throw new Error(`[FastAESKey] invalid aes mode ${A}`)}}const Dn=16;class Ln{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.enableSoftwareAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{const n=self.crypto;n&&(this.subtle=n.subtle||n.webkitSubtle)}catch(n){}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){const{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;const n=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?Tn(n):n}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,n,l){return this.useSoftware?new Promise((_,x)=>{const I=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(I,t,n,l);const k=this.flush();k?_(k.buffer):x(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,n,l)}softwareDecrypt(e,t,n,l){const{currentIV:_,currentResult:x,remainderData:I}=this;if(l!==Mr.cbc||t.byteLength!==16)return S.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;this.logOnce("JS AES decrypt"),I&&(e=tt(I,e),this.remainderData=null);const k=this.getValidChunk(e);if(!k.length)return null;_&&(n=_);let N=this.softwareDecrypter;N||(N=this.softwareDecrypter=new mn),N.expandKey(t);const j=x;return this.currentResult=N.decrypt(k.buffer,0,n),this.currentIV=k.slice(-16).buffer,j||null}webCryptoDecrypt(e,t,n,l){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,n,l));this.key=t,this.fastAesKey=new Sn(this.subtle,t,l)}return this.fastAesKey.expandKey().then(_=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new ln(this.subtle,new Uint8Array(n),l).decrypt(e.buffer,_)):Promise.reject(new Error("web crypto not initialized"))).catch(_=>(S.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${_.name}: ${_.message}`),this.onWebCryptoError(e,t,n,l)))}onWebCryptoError(e,t,n,l){const _=this.enableSoftwareAES;if(_){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,n,l);const x=this.flush();if(x)return x.buffer}throw new Error("WebCrypto"+(_?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let t=e;const n=e.length-e.length%Dn;return n!==e.length&&(t=e.slice(0,n),this.remainderData=e.slice(n)),t}logOnce(e){this.logEnabled&&(S.log(`[decrypter]: ${e}`),this.logEnabled=!1)}}const In=Math.pow(2,17);class cn{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){const n=e.url;if(!n)return Promise.reject(new Rn({type:D.NETWORK_ERROR,details:W.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${n?"part list":"url"}`),networkDetails:null}));this.abort();const l=this.config,_=l.fLoader,x=l.loader;return new Promise((I,k)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(ne=>ne[0]==="GAP")){k(dn(e));return}else e.gap=!1;const N=this.loader=_?new _(l):new x(l),j=_n(e);e.loader=N;const Z=nn(l.fragLoadPolicy.default),Q={loadPolicy:Z,timeout:Z.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:In};e.stats=N.stats;const re={onSuccess:(ne,de,fe,Ae)=>{this.resetLoader(e,N);let we=ne.data;fe.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(we.slice(0,16)),we=we.slice(16)),I({frag:e,part:null,payload:we,networkDetails:Ae})},onError:(ne,de,fe,Ae)=>{this.resetLoader(e,N),k(new Rn({type:D.NETWORK_ERROR,details:W.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:i({url:n,data:void 0},ne),error:new Error(`HTTP Error ${ne.code} ${ne.text}`),networkDetails:fe,stats:Ae}))},onAbort:(ne,de,fe)=>{this.resetLoader(e,N),k(new Rn({type:D.NETWORK_ERROR,details:W.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:fe,stats:ne}))},onTimeout:(ne,de,fe)=>{this.resetLoader(e,N),k(new Rn({type:D.NETWORK_ERROR,details:W.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${Q.timeout}ms`),networkDetails:fe,stats:ne}))}};t&&(re.onProgress=(ne,de,fe,Ae)=>t({frag:e,part:null,payload:fe,networkDetails:Ae})),N.load(j,Q,re)})}loadPart(e,t,n){this.abort();const l=this.config,_=l.fLoader,x=l.loader;return new Promise((I,k)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){k(dn(e,t));return}const N=this.loader=_?new _(l):new x(l),j=_n(e,t);e.loader=N;const Z=nn(l.fragLoadPolicy.default),Q={loadPolicy:Z,timeout:Z.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:In};t.stats=N.stats,N.load(j,Q,{onSuccess:(re,ne,de,fe)=>{this.resetLoader(e,N),this.updateStatsFromPart(e,t);const Ae={frag:e,part:t,payload:re.data,networkDetails:fe};n(Ae),I(Ae)},onError:(re,ne,de,fe)=>{this.resetLoader(e,N),k(new Rn({type:D.NETWORK_ERROR,details:W.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:i({url:j.url,data:void 0},re),error:new Error(`HTTP Error ${re.code} ${re.text}`),networkDetails:de,stats:fe}))},onAbort:(re,ne,de)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,N),k(new Rn({type:D.NETWORK_ERROR,details:W.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:de,stats:re}))},onTimeout:(re,ne,de)=>{this.resetLoader(e,N),k(new Rn({type:D.NETWORK_ERROR,details:W.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${Q.timeout}ms`),networkDetails:de,stats:re}))}})})}updateStatsFromPart(e,t){const n=e.stats,l=t.stats,_=l.total;if(n.loaded+=l.loaded,_){const k=Math.round(e.duration/t.duration),N=Math.min(Math.round(n.loaded/_),k),Z=(k-N)*Math.round(n.loaded/N);n.total=n.loaded+Z}else n.total=Math.max(n.loaded,n.total);const x=n.loading,I=l.loading;x.start?x.first+=I.first-I.start:(x.start=I.start,x.first=I.first),x.end=I.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function _n(A,e=null){const t=e||A,n={frag:A,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},l=t.byteRangeStartOffset,_=t.byteRangeEndOffset;if(ee(l)&&ee(_)){var x;let I=l,k=_;if(A.sn==="initSegment"&&Nn((x=A.decryptdata)==null?void 0:x.method)){const N=_-l;N%16&&(k=_+(16-N%16)),l!==0&&(n.resetIV=!0,I=l-16)}n.rangeStart=I,n.rangeEnd=k}return n}function dn(A,e){const t=new Error(`GAP ${A.gap?"tag":"attribute"} found`),n={type:D.MEDIA_ERROR,details:W.FRAG_GAP,fatal:!1,frag:A,error:t,networkDetails:null};return e&&(n.part=e),(e||A).stats.aborted=!0,new Rn(n)}function Nn(A){return A==="AES-128"||A==="AES-256"}class Rn extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class Un extends p{constructor(e,t){super(e,t),this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}class Pn{constructor(e,t,n,l=0,_=-1,x=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=An(),this.buffering={audio:An(),video:An(),audiovideo:An()},this.level=e,this.sn=t,this.id=n,this.size=l,this.part=_,this.partial=x}}function An(){return{start:0,executeStart:0,executeEnd:0,end:0}}const Hn={length:0,start:()=>0,end:()=>0};class Lr{static isBuffered(e,t){if(e){const n=Lr.getBuffered(e);for(let l=n.length;l--;)if(t>=n.start(l)&&t<=n.end(l))return!0}return!1}static bufferedRanges(e){if(e){const t=Lr.getBuffered(e);return Lr.timeRangesToArray(t)}return[]}static timeRangesToArray(e){const t=[];for(let n=0;n<e.length;n++)t.push({start:e.start(n),end:e.end(n)});return t}static bufferInfo(e,t,n){if(e){const l=Lr.bufferedRanges(e);if(l.length)return Lr.bufferedInfo(l,t,n)}return{len:0,start:t,end:t,bufferedIndex:-1}}static bufferedInfo(e,t,n){t=Math.max(0,t),e.length>1&&e.sort((j,Z)=>j.start-Z.start||Z.end-j.end);let l=-1,_=[];if(n)for(let j=0;j<e.length;j++){t>=e[j].start&&t<=e[j].end&&(l=j);const Z=_.length;if(Z){const Q=_[Z-1].end;e[j].start-Q<n?e[j].end>Q&&(_[Z-1].end=e[j].end):_.push(e[j])}else _.push(e[j])}else _=e;let x=0,I,k=t,N=t;for(let j=0;j<_.length;j++){const Z=_[j].start,Q=_[j].end;if(l===-1&&t>=Z&&t<=Q&&(l=j),t+n>=Z&&t<Q)k=Z,N=Q,x=N-t;else if(t+n<Z){I=Z;break}}return{len:x,start:k||0,end:N||0,nextStart:I,buffered:e,bufferedIndex:l}}static getBuffered(e){try{return e.buffered||Hn}catch(t){return S.log("failed to get media.buffered",t),Hn}}}const zn=/\{\$([a-zA-Z0-9-_]+)\}/g;function vn(A){return zn.test(A)}function ii(A,e){if(A.variableList!==null||A.hasVariableRefs){const t=A.variableList;return e.replace(zn,n=>{const l=n.substring(2,n.length-1),_=t==null?void 0:t[l];return _===void 0?(A.playlistParsingError||(A.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${l}"`)),n):_})}return e}function ai(A,e,t){let n=A.variableList;n||(A.variableList=n={});let l,_;if("QUERYPARAM"in e){l=e.QUERYPARAM;try{const x=new self.URL(t).searchParams;if(x.has(l))_=x.get(l);else throw new Error(`"${l}" does not match any query parameter in URI: "${t}"`)}catch(x){A.playlistParsingError||(A.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${x.message}`))}}else l=e.NAME,_=e.VALUE;l in n?A.playlistParsingError||(A.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${l}"`)):n[l]=_||""}function $n(A,e,t){const n=e.IMPORT;if(t&&n in t){let l=A.variableList;l||(A.variableList=l={}),l[n]=t[n]}else A.playlistParsingError||(A.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${n}"`))}const ui=/^(\d+)x(\d+)$/,jn=/(.+?)=(".*?"|.*?)(?:,|$)/g;class an{constructor(e,t){typeof e=="string"&&(e=an.parseAttrList(e,t)),u(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)==="X-")}decimalInteger(e){const t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;const n=new Uint8Array(t.length/2);for(let l=0;l<t.length/2;l++)n[l]=parseInt(t.slice(l*2,l*2+2),16);return n}return null}hexadecimalIntegerAsNumber(e){const t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){const n=this[e];return n?parseFloat(n):t}enumeratedString(e){return this[e]}enumeratedStringList(e,t){const n=this[e];return(n?n.split(/[ ,]+/):[]).reduce((l,_)=>(l[_.toLowerCase()]=!0,l),t)}bool(e){return this[e]==="YES"}decimalResolution(e){const t=ui.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e,t){let n;const l={},_='"';for(jn.lastIndex=0;(n=jn.exec(e))!==null;){const x=n[1].trim();let I=n[2];const k=I.indexOf(_)===0&&I.lastIndexOf(_)===I.length-1;let N=!1;if(k)I=I.slice(1,-1);else switch(x){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":N=!0}if(t&&(k||N))I=ii(t,I);else if(!N&&!k)switch(x){case"CLOSED-CAPTIONS":if(I==="NONE")break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":S.warn(`${e}: attribute ${x} is missing quotes`)}l[x]=I}return l}}const bn="com.apple.hls.interstitial";function Fn(A){return A!=="ID"&&A!=="CLASS"&&A!=="CUE"&&A!=="START-DATE"&&A!=="DURATION"&&A!=="END-DATE"&&A!=="END-ON-NEXT"}function Zn(A){return A==="SCTE35-OUT"||A==="SCTE35-IN"||A==="SCTE35-CMD"}class Jr{constructor(e,t,n=0){var l;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=(t==null?void 0:t.tagAnchor)||null,this.tagOrder=(l=t==null?void 0:t.tagOrder)!=null?l:n,t){const _=t.attr;for(const x in _)if(Object.prototype.hasOwnProperty.call(e,x)&&e[x]!==_[x]){S.warn(`DATERANGE tag attribute: "${x}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=x;break}e=u(new an({}),_,e)}if(this.attr=e,t?(this._startDate=t._startDate,this._cue=t._cue,this._endDate=t._endDate,this._dateAtEnd=t._dateAtEnd):this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){const _=(t==null?void 0:t.endDate)||new Date(this.attr["END-DATE"]);ee(_.getTime())&&(this._endDate=_)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){const e=this._cue;return e===void 0?this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1}):e}get startTime(){const{tagAnchor:e}=this;return e===null||e.programDateTime===null?(S.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN):e.start+(this.startDate.getTime()-e.programDateTime)/1e3}get startDate(){return this._startDate}get endDate(){const e=this._endDate||this._dateAtEnd;if(e)return e;const t=this.duration;return t!==null?this._dateAtEnd=new Date(this._startDate.getTime()+t*1e3):null}get duration(){if("DURATION"in this.attr){const e=this.attr.decimalFloatingPoint("DURATION");if(ee(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isInterstitial(){return this.class===bn}get isValid(){return!!this.id&&!this._badValueForSameId&&ee(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||"X-ASSET-URI"in this.attr||"X-ASSET-LIST"in this.attr)}}const yn=10;class wn{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.dateRangeTagCount=0,this.live=!0,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}const t=this.lastPartSn-e.lastPartSn,n=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!n||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&n>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1}hasKey(e){return this.encryptedFragments.some(t=>{let n=t.decryptdata;return n||(t.setKeyFormat(e.keyFormat),n=t.decryptdata),!!n&&e.matches(n)})}get hasProgramDateTime(){return this.fragments.length?ee(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||yn}get drift(){const e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){return this.fragments.length?this.fragments[this.fragments.length-1].end:0}get fragmentStart(){return this.fragments.length?this.fragments[0].start:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get maxPartIndex(){const e=this.partList;if(e){const t=this.lastPartIndex;if(t!==-1){for(let n=e.length;n--;)if(e[n].index>t)return e[n].index;return t}}return 0}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){const e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}}function Er(A,e){return A.length===e.length?!A.some((t,n)=>t!==e[n]):!1}function Fr(A,e){return!A&&!e?!0:!A||!e?!1:Er(A,e)}function br(A){return A==="AES-128"||A==="AES-256"||A==="AES-256-CTR"}function Ur(A){switch(A){case"AES-128":case"AES-256":return Mr.cbc;case"AES-256-CTR":return Mr.ctr;default:throw new Error(`invalid full segment method ${A}`)}}function qr(A){return Uint8Array.from(atob(A),e=>e.charCodeAt(0))}function un(A){return Uint8Array.from(unescape(encodeURIComponent(A)),e=>e.charCodeAt(0))}function Xn(A){const e=un(A).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function ur(A){const e=function(n,l,_){const x=n[l];n[l]=n[_],n[_]=x};e(A,0,3),e(A,1,2),e(A,4,5),e(A,6,7)}function Rr(A){const e=A.split(":");let t=null;if(e[0]==="data"&&e.length===2){const n=e[1].split(";"),l=n[n.length-1].split(",");if(l.length===2){const _=l[0]==="base64",x=l[1];_?(n.splice(-1,1),t=qr(x)):t=Xn(x)}}return t}const Vr=typeof self!="undefined"?self:void 0;var Kr={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Hr={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function Qn(A){switch(A){case Hr.FAIRPLAY:return Kr.FAIRPLAY;case Hr.PLAYREADY:return Kr.PLAYREADY;case Hr.WIDEVINE:return Kr.WIDEVINE;case Hr.CLEARKEY:return Kr.CLEARKEY}}function kn(A){switch(A){case Kr.FAIRPLAY:return Hr.FAIRPLAY;case Kr.PLAYREADY:return Hr.PLAYREADY;case Kr.WIDEVINE:return Hr.WIDEVINE;case Kr.CLEARKEY:return Hr.CLEARKEY}}function Jn(A){const{drmSystems:e,widevineLicenseUrl:t}=A,n=e?[Kr.FAIRPLAY,Kr.WIDEVINE,Kr.PLAYREADY,Kr.CLEARKEY].filter(l=>!!e[l]):[];return!n[Kr.WIDEVINE]&&t&&n.push(Kr.WIDEVINE),n}const Wn=function(A){return Vr!=null&&(A=Vr.navigator)!=null&&A.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function Ui(A,e,t,n){let l;switch(A){case Kr.FAIRPLAY:l=["cenc","sinf"];break;case Kr.WIDEVINE:case Kr.PLAYREADY:l=["cenc"];break;case Kr.CLEARKEY:l=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${A}`)}return _a(l,e,t,n)}function _a(A,e,t,n){return[{initDataTypes:A,persistentState:n.persistentState||"optional",distinctiveIdentifier:n.distinctiveIdentifier||"optional",sessionTypes:n.sessionTypes||[n.sessionType||"temporary"],audioCapabilities:e.map(_=>({contentType:`audio/mp4; codecs=${_}`,robustness:n.audioRobustness||"",encryptionScheme:n.audioEncryptionScheme||null})),videoCapabilities:t.map(_=>({contentType:`video/mp4; codecs=${_}`,robustness:n.videoRobustness||"",encryptionScheme:n.videoEncryptionScheme||null}))}]}function ma(A){var e;return!!A&&(A.sessionType==="persistent-license"||!!((e=A.sessionTypes)!=null&&e.some(t=>t==="persistent-license")))}function yi(A){const e=new Uint16Array(A.buffer,A.byteOffset,A.byteLength/2),t=String.fromCharCode.apply(null,Array.from(e)),n=t.substring(t.indexOf("<"),t.length),x=new DOMParser().parseFromString(n,"text/xml").getElementsByTagName("KID")[0];if(x){const I=x.childNodes[0]?x.childNodes[0].nodeValue:x.getAttribute("VALUE");if(I){const k=qr(I).subarray(0,16);return ur(k),k}}return null}let Pi={};class ci{static clearKeyUriToKeyIdMap(){Pi={}}static setKeyIdForUri(e,t){Pi[e]=t}constructor(e,t,n,l=[1],_=null,x){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=n,this.keyFormatVersions=l,this.iv=_,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&!br(e),x!=null&&x.startsWith("0x")&&(this.keyId=new Uint8Array(P(x)))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&Er(e.keyFormatVersions,this.keyFormatVersions)&&Fr(e.iv,this.iv)&&Fr(e.keyId,this.keyId)}isSupported(){if(this.method){if(br(this.method)||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case Hr.FAIRPLAY:case Hr.WIDEVINE:case Hr.PLAYREADY:case Hr.CLEARKEY:return["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e,t){if(!this.encrypted||!this.uri)return null;if(br(this.method)){let _=this.iv;return _||(typeof e!="number"&&(S.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0),_=Ei(e)),new ci(this.method,this.uri,"identity",this.keyFormatVersions,_)}if(this.keyId){const _=Pi[this.uri];if(_&&!Er(this.keyId,_)&&ci.setKeyIdForUri(this.uri,this.keyId),this.pssh)return this}const n=Rr(this.uri);if(n)switch(this.keyFormat){case Hr.WIDEVINE:if(this.pssh=n,!this.keyId){const _=Wr(n.buffer);if(_.length){var l;const x=_[0];this.keyId=(l=x.kids)!=null&&l.length?x.kids[0]:null}}this.keyId||(this.keyId=Fi(t));break;case Hr.PLAYREADY:{const _=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=er(_,null,n),this.keyId=yi(n);break}default:{let _=n.subarray(0,16);if(_.length!==16){const x=new Uint8Array(16);x.set(_,16-_.length),_=x}this.keyId=_;break}}if(!this.keyId||this.keyId.byteLength!==16){let _;_=pa(t),_||(_=Fi(t),_||(_=Pi[this.uri])),_&&(this.keyId=_,ci.setKeyIdForUri(this.uri,_))}return this}}function pa(A){const e=A==null?void 0:A[Hr.WIDEVINE];return e?e.keyId:null}function Fi(A){const e=A==null?void 0:A[Hr.PLAYREADY];if(e){const t=Rr(e.uri);if(t)return yi(t)}return null}function Ei(A){const e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=A>>8*(15-t)&255;return e}const ki=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,Zi=/#EXT-X-MEDIA:(.*)/g,ea=/^#EXT(?:INF|-X-TARGETDURATION):/m,Mi=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),ga=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));class qn{static findGroup(e,t){for(let n=0;n<e.length;n++){const l=e[n];if(l.id===t)return l}}static resolve(e,t){return C.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return ea.test(e)}static parseMasterPlaylist(e,t){const n=vn(e),l={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:n},_=[];if(ki.lastIndex=0,!e.startsWith("#EXTM3U"))return l.playlistParsingError=new Error("no EXTM3U delimiter"),l;let x;for(;(x=ki.exec(e))!=null;)if(x[1]){var I;const N=new an(x[1],l),j=ii(l,x[2]),Z={attrs:N,bitrate:N.decimalInteger("BANDWIDTH")||N.decimalInteger("AVERAGE-BANDWIDTH"),name:N.NAME,url:qn.resolve(j,t)},Q=N.decimalResolution("RESOLUTION");Q&&(Z.width=Q.width,Z.height=Q.height),Wi(N.CODECS,Z);const re=N["SUPPLEMENTAL-CODECS"];re&&(Z.supplemental={},Wi(re,Z.supplemental)),(I=Z.unknownCodecs)!=null&&I.length||_.push(Z),l.levels.push(Z)}else if(x[3]){const N=x[3],j=x[4];switch(N){case"SESSION-DATA":{const Z=new an(j,l),Q=Z["DATA-ID"];Q&&(l.sessionData===null&&(l.sessionData={}),l.sessionData[Q]=Z);break}case"SESSION-KEY":{const Z=ra(j,t,l);Z.encrypted&&Z.isSupported()?(l.sessionKeys===null&&(l.sessionKeys=[]),l.sessionKeys.push(Z)):S.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${j}"`);break}case"DEFINE":{{const Z=new an(j,l);ai(l,Z,t)}break}case"CONTENT-STEERING":{const Z=new an(j,l);l.contentSteering={uri:qn.resolve(Z["SERVER-URI"],t),pathwayId:Z["PATHWAY-ID"]||"."};break}case"START":{l.startTimeOffset=na(j);break}}}const k=_.length>0&&_.length<l.levels.length;return l.levels=k?_:l.levels,l.levels.length===0&&(l.playlistParsingError=new Error("no levels found in manifest")),l}static parseMasterPlaylistMedia(e,t,n){let l;const _={},x=n.levels,I={AUDIO:x.map(N=>({id:N.attrs.AUDIO,audioCodec:N.audioCodec})),SUBTITLES:x.map(N=>({id:N.attrs.SUBTITLES,textCodec:N.textCodec})),"CLOSED-CAPTIONS":[]};let k=0;for(Zi.lastIndex=0;(l=Zi.exec(e))!==null;){const N=new an(l[1],n),j=N.TYPE;if(j){const Z=I[j],Q=_[j]||[];_[j]=Q;const re=N.LANGUAGE,ne=N["ASSOC-LANGUAGE"],de=N.CHANNELS,fe=N.CHARACTERISTICS,Ae=N["INSTREAM-ID"],we={attrs:N,bitrate:0,id:k++,groupId:N["GROUP-ID"]||"",name:N.NAME||re||"",type:j,default:N.bool("DEFAULT"),autoselect:N.bool("AUTOSELECT"),forced:N.bool("FORCED"),lang:re,url:N.URI?qn.resolve(N.URI,t):""};if(ne&&(we.assocLang=ne),de&&(we.channels=de),fe&&(we.characteristics=fe),Ae&&(we.instreamId=Ae),Z!=null&&Z.length){const Ie=qn.findGroup(Z,we.groupId)||Z[0];pi(we,Ie,"audioCodec"),pi(we,Ie,"textCodec")}Q.push(we)}}return _}static parseLevelPlaylist(e,t,n,l,_,x){var I;const k={url:t},N=new wn(t),j=N.fragments,Z=[];let Q=null,re=0,ne=0,de=0,fe=0,Ae=0,we=null,Ie=new se(l,k),ze,Je,wt,et=-1,gt=!1,pt=null,st;if(Mi.lastIndex=0,N.m3u8=e,N.hasVariableRefs=vn(e),((I=Mi.exec(e))==null?void 0:I[0])!=="#EXTM3U")return N.playlistParsingError=new Error("Missing format identifier #EXTM3U"),N;for(;(ze=Mi.exec(e))!==null;){gt&&(gt=!1,Ie=new se(l,k),Ie.playlistOffset=de,Ie.setStart(de),Ie.sn=re,Ie.cc=fe,Ae&&(Ie.bitrate=Ae),Ie.level=n,Q&&(Ie.initSegment=Q,Q.rawProgramDateTime&&(Ie.rawProgramDateTime=Q.rawProgramDateTime,Q.rawProgramDateTime=null),pt&&(Ie.setByteRange(pt),pt=null)));const Br=ze[1];if(Br){Ie.duration=parseFloat(Br);const Dr=(" "+ze[2]).slice(1);Ie.title=Dr||null,Ie.tagList.push(Dr?["INF",Br,Dr]:["INF",Br])}else if(ze[3]){if(ee(Ie.duration)){Ie.playlistOffset=de,Ie.setStart(de),wt&&Gn(Ie,wt,N),Ie.sn=re,Ie.level=n,Ie.cc=fe,j.push(Ie);const Dr=(" "+ze[3]).slice(1);Ie.relurl=ii(N,Dr),Yr(Ie,we,Z),we=Ie,de+=Ie.duration,re++,ne=0,gt=!0}}else{if(ze=ze[0].match(ga),!ze){S.warn("No matches on slow regex match for level playlist!");continue}for(Je=1;Je<ze.length&&ze[Je]===void 0;Je++);const Dr=(" "+ze[Je]).slice(1),sr=(" "+ze[Je+1]).slice(1),Ir=ze[Je+2]?(" "+ze[Je+2]).slice(1):null;switch(Dr){case"BYTERANGE":we?Ie.setByteRange(sr,we):Ie.setByteRange(sr);break;case"PROGRAM-DATE-TIME":Ie.rawProgramDateTime=sr,Ie.tagList.push(["PROGRAM-DATE-TIME",sr]),et===-1&&(et=j.length);break;case"PLAYLIST-TYPE":N.type&&pn(N,Dr,ze),N.type=sr.toUpperCase();break;case"MEDIA-SEQUENCE":N.startSN!==0?pn(N,Dr,ze):j.length>0&&On(N,Dr,ze),re=N.startSN=parseInt(sr);break;case"SKIP":{N.skippedSegments&&pn(N,Dr,ze);const gr=new an(sr,N),Pr=gr.decimalInteger("SKIPPED-SEGMENTS");if(ee(Pr)){N.skippedSegments+=Pr;for(let fr=Pr;fr--;)j.push(null);re+=Pr}const zr=gr.enumeratedString("RECENTLY-REMOVED-DATERANGES");zr&&(N.recentlyRemovedDateranges=(N.recentlyRemovedDateranges||[]).concat(zr.split(" ")));break}case"TARGETDURATION":N.targetduration!==0&&pn(N,Dr,ze),N.targetduration=Math.max(parseInt(sr),1);break;case"VERSION":N.version!==null&&pn(N,Dr,ze),N.version=parseInt(sr);break;case"INDEPENDENT-SEGMENTS":break;case"ENDLIST":N.live||pn(N,Dr,ze),N.live=!1;break;case"#":(sr||Ir)&&Ie.tagList.push(Ir?[sr,Ir]:[sr]);break;case"DISCONTINUITY":fe++,Ie.tagList.push(["DIS"]);break;case"GAP":Ie.gap=!0,Ie.tagList.push([Dr]);break;case"BITRATE":Ie.tagList.push([Dr,sr]),Ae=parseInt(sr)*1e3,ee(Ae)?Ie.bitrate=Ae:Ae=0;break;case"DATERANGE":{const gr=new an(sr,N),Pr=new Jr(gr,N.dateRanges[gr.ID],N.dateRangeTagCount);N.dateRangeTagCount++,Pr.isValid||N.skippedSegments?N.dateRanges[Pr.id]=Pr:S.warn(`Ignoring invalid DATERANGE tag: "${sr}"`),Ie.tagList.push(["EXT-X-DATERANGE",sr]);break}case"DEFINE":{{const gr=new an(sr,N);"IMPORT"in gr?$n(N,gr,x):ai(N,gr,t)}break}case"DISCONTINUITY-SEQUENCE":N.startCC!==0?pn(N,Dr,ze):j.length>0&&On(N,Dr,ze),N.startCC=fe=parseInt(sr);break;case"KEY":{const gr=ra(sr,t,N);if(gr.isSupported()){if(gr.method==="NONE"){wt=void 0;break}wt||(wt={});const Pr=wt[gr.keyFormat];Pr!=null&&Pr.matches(gr)||(Pr&&(wt=u({},wt)),wt[gr.keyFormat]=gr)}else S.warn(`[Keys] Ignoring unsupported EXT-X-KEY tag: "${sr}"`);break}case"START":N.startTimeOffset=na(sr);break;case"MAP":{const gr=new an(sr,N);if(Ie.duration){const Pr=new se(l,k);Kn(Pr,gr,n,wt),Q=Pr,Ie.initSegment=Q,Q.rawProgramDateTime&&!Ie.rawProgramDateTime&&(Ie.rawProgramDateTime=Q.rawProgramDateTime)}else{const Pr=Ie.byteRangeEndOffset;if(Pr){const zr=Ie.byteRangeStartOffset;pt=`${Pr-zr}@${zr}`}else pt=null;Kn(Ie,gr,n,wt),Q=Ie,gt=!0}Q.cc=fe;break}case"SERVER-CONTROL":{st&&pn(N,Dr,ze),st=new an(sr),N.canBlockReload=st.bool("CAN-BLOCK-RELOAD"),N.canSkipUntil=st.optionalFloat("CAN-SKIP-UNTIL",0),N.canSkipDateRanges=N.canSkipUntil>0&&st.bool("CAN-SKIP-DATERANGES"),N.partHoldBack=st.optionalFloat("PART-HOLD-BACK",0),N.holdBack=st.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{N.partTarget&&pn(N,Dr,ze);const gr=new an(sr);N.partTarget=gr.decimalFloatingPoint("PART-TARGET");break}case"PART":{let gr=N.partList;gr||(gr=N.partList=[]);const Pr=ne>0?gr[gr.length-1]:void 0,zr=ne++,fr=new an(sr,N),dr=new ue(fr,Ie,k,zr,Pr);gr.push(dr),Ie.duration+=dr.duration;break}case"PRELOAD-HINT":{const gr=new an(sr,N);N.preloadHint=gr;break}case"RENDITION-REPORT":{const gr=new an(sr,N);N.renditionReports=N.renditionReports||[],N.renditionReports.push(gr);break}default:S.warn(`line parsed but not handled: ${ze}`);break}}}we&&!we.relurl?(j.pop(),de-=we.duration,N.partList&&(N.fragmentHint=we)):N.partList&&(Yr(Ie,we,Z),Ie.cc=fe,N.fragmentHint=Ie,wt&&Gn(Ie,wt,N)),N.targetduration||(N.playlistParsingError=new Error("Missing Target Duration"));const Vt=j.length,_r=j[0],Sr=j[Vt-1];if(de+=N.skippedSegments*N.targetduration,de>0&&Vt&&Sr){N.averagetargetduration=de/Vt;const Br=Sr.sn;N.endSN=Br!=="initSegment"?Br:0,N.live||(Sr.endList=!0),et>0&&(en(j,et),_r&&Z.unshift(_r))}return N.fragmentHint&&(de+=N.fragmentHint.duration),N.totalduration=de,Z.length&&N.dateRangeTagCount&&_r&&ta(Z,N),N.endCC=fe,N}}function ta(A,e){let t=A.length;if(!t)if(e.hasProgramDateTime){const I=e.fragments[e.fragments.length-1];A.push(I),t++}else return;const n=A[t-1],l=e.live?1/0:e.totalduration,_=Object.keys(e.dateRanges);for(let I=_.length;I--;){const k=e.dateRanges[_[I]],N=k.startDate.getTime();k.tagAnchor=n.ref;for(let j=t;j--;){var x;if(((x=A[j])==null?void 0:x.sn)<e.startSN)break;const Z=va(e,N,A,j,l);if(Z!==-1){k.tagAnchor=e.fragments[Z].ref;break}}}}function va(A,e,t,n,l){const _=t[n];if(_){const I=_.programDateTime;if(e>=I||n===0){var x;const k=(((x=t[n+1])==null?void 0:x.start)||l)-_.start;if(e<=I+k*1e3){const N=t[n].sn-A.startSN;if(N<0)return-1;const j=A.fragments;if(j.length>t.length){const Q=(t[n+1]||j[j.length-1]).sn-A.startSN;for(let re=Q;re>N;re--){const ne=j[re].programDateTime;if(e>=ne&&e<ne+j[re].duration*1e3)return re}}return N}}}return-1}function ra(A,e,t){var n,l;const _=new an(A,t),x=(n=_.METHOD)!=null?n:"",I=_.URI,k=_.hexadecimalInteger("IV"),N=_.KEYFORMATVERSIONS,j=(l=_.KEYFORMAT)!=null?l:"identity";I&&_.IV&&!k&&S.error(`Invalid IV: ${_.IV}`);const Z=I?qn.resolve(I,e):"",Q=(N||"1").split("/").map(Number).filter(Number.isFinite);return new ci(x,Z,j,Q,k,_.KEYID)}function na(A){const t=new an(A).decimalFloatingPoint("TIME-OFFSET");return ee(t)?t:null}function Wi(A,e){let t=(A||"").split(/[ ,]+/).filter(n=>n);["video","audio","text"].forEach(n=>{const l=t.filter(_=>nr(_,n));l.length&&(e[`${n}Codec`]=l.map(_=>_.split("/")[0]).join(","),t=t.filter(_=>l.indexOf(_)===-1))}),e.unknownCodecs=t}function pi(A,e,t){const n=e[t];n&&(A[t]=n)}function en(A,e){let t=A[e];for(let n=e;n--;){const l=A[n];if(!l)return;l.programDateTime=t.programDateTime-l.duration*1e3,t=l}}function Yr(A,e,t){A.rawProgramDateTime?t.push(A):e!=null&&e.programDateTime&&(A.programDateTime=e.endProgramDateTime)}function Kn(A,e,t,n){A.relurl=e.URI,e.BYTERANGE&&A.setByteRange(e.BYTERANGE),A.level=t,A.sn="initSegment",n&&(A.levelkeys=n),A.initSegment=null}function Gn(A,e,t){A.levelkeys=e;const{encryptedFragments:n}=t;(!n.length||n[n.length-1].levelkeys!==e)&&Object.keys(e).some(l=>e[l].isCommonEncryption)&&n.push(A)}function pn(A,e,t){A.playlistParsingError=new Error(`#EXT-X-${e} must not appear more than once (${t[0]})`)}function On(A,e,t){A.playlistParsingError=new Error(`#EXT-X-${e} must appear before the first Media Segment (${t[0]})`)}function si(A,e){const t=e.startPTS;if(ee(t)){let n=0,l;e.sn>A.sn?(n=t-A.start,l=A):(n=A.start-t,l=e),l.duration!==n&&l.setDuration(n)}else e.sn>A.sn?A.cc===e.cc&&A.minEndPTS?e.setStart(A.start+(A.minEndPTS-A.start)):e.setStart(A.start+A.duration):e.setStart(Math.max(A.start-e.duration,0))}function oi(A,e,t,n,l,_,x){n-t<=0&&(x.warn("Fragment should have a positive duration",e),n=t+e.duration,_=l+e.duration);let k=t,N=n;const j=e.startPTS,Z=e.endPTS;if(ee(j)){const Ae=Math.abs(j-t);A&&Ae>A.totalduration?x.warn(`media timestamps and playlist times differ by ${Ae}s for level ${e.level} ${A.url}`):ee(e.deltaPTS)?e.deltaPTS=Math.max(Ae,e.deltaPTS):e.deltaPTS=Ae,k=Math.max(t,j),t=Math.min(t,j),l=e.startDTS!==void 0?Math.min(l,e.startDTS):l,N=Math.min(n,Z),n=Math.max(n,Z),_=e.endDTS!==void 0?Math.max(_,e.endDTS):_}const Q=t-e.start;e.start!==0&&e.setStart(t),e.setDuration(n-e.start),e.startPTS=t,e.maxStartPTS=k,e.startDTS=l,e.endPTS=n,e.minEndPTS=N,e.endDTS=_;const re=e.sn;if(!A||re<A.startSN||re>A.endSN)return 0;let ne;const de=re-A.startSN,fe=A.fragments;for(fe[de]=e,ne=de;ne>0;ne--)si(fe[ne],fe[ne-1]);for(ne=de;ne<fe.length-1;ne++)si(fe[ne],fe[ne+1]);return A.fragmentHint&&si(fe[fe.length-1],A.fragmentHint),A.PTSKnown=A.alignedSliding=!0,Q}function xi(A,e,t){if(A===e)return;let n=null;const l=A.fragments;for(let j=l.length-1;j>=0;j--){const Z=l[j].initSegment;if(Z){n=Z;break}}A.fragmentHint&&delete A.fragmentHint.endPTS;let _;Ki(A,e,(j,Z,Q,re)=>{if((!e.startCC||e.skippedSegments)&&Z.cc!==j.cc){const ne=j.cc-Z.cc;for(let de=Q;de<re.length;de++)re[de].cc+=ne;e.endCC=re[re.length-1].cc}ee(j.startPTS)&&ee(j.endPTS)&&(Z.setStart(Z.startPTS=j.startPTS),Z.startDTS=j.startDTS,Z.maxStartPTS=j.maxStartPTS,Z.endPTS=j.endPTS,Z.endDTS=j.endDTS,Z.minEndPTS=j.minEndPTS,Z.setDuration(j.endPTS-j.startPTS),Z.duration&&(_=Z),e.PTSKnown=e.alignedSliding=!0),j.hasStreams&&(Z.elementaryStreams=j.elementaryStreams),Z.loader=j.loader,j.hasStats&&(Z.stats=j.stats),j.initSegment&&(Z.initSegment=j.initSegment,n=j.initSegment)});const x=e.fragments,I=e.fragmentHint?x.concat(e.fragmentHint):x;if(n&&I.forEach(j=>{var Z;j&&(!j.initSegment||j.initSegment.relurl===((Z=n)==null?void 0:Z.relurl))&&(j.initSegment=n)}),e.skippedSegments){if(e.deltaUpdateFailed=x.some(j=>!j),e.deltaUpdateFailed){t.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let j=e.skippedSegments;j--;)x.shift();e.startSN=x[0].sn}else{e.canSkipDateRanges&&(e.dateRanges=Ti(A.dateRanges,e,t));const j=A.fragments.filter(Z=>Z.rawProgramDateTime);if(A.hasProgramDateTime&&!e.hasProgramDateTime)for(let Z=1;Z<I.length;Z++)I[Z].programDateTime===null&&Yr(I[Z],I[Z-1],j);ta(j,e)}e.endCC=x[x.length-1].cc}if(!e.startCC){var k;const j=En(A,e.startSN-1);e.startCC=(k=j==null?void 0:j.cc)!=null?k:x[0].cc}Ai(A.partList,e.partList,(j,Z)=>{Z.elementaryStreams=j.elementaryStreams,Z.stats=j.stats}),_?oi(e,_,_.startPTS,_.endPTS,_.startDTS,_.endDTS,t):Ia(A,e),x.length&&(e.totalduration=e.edge-x[0].start),e.driftStartTime=A.driftStartTime,e.driftStart=A.driftStart;const N=e.advancedDateTime;if(e.advanced&&N){const j=e.edge;e.driftStart||(e.driftStartTime=N,e.driftStart=j),e.driftEndTime=N,e.driftEnd=j}else e.driftEndTime=A.driftEndTime,e.driftEnd=A.driftEnd,e.advancedDateTime=A.advancedDateTime;e.requestScheduled===-1&&(e.requestScheduled=A.requestScheduled)}function Ti(A,e,t){const{dateRanges:n,recentlyRemovedDateranges:l}=e,_=u({},A);l&&l.forEach(k=>{delete _[k]});const I=Object.keys(_).length;return I?(Object.keys(n).forEach(k=>{const N=_[k],j=new Jr(n[k].attr,N);j.isValid?(_[k]=j,N||(j.tagOrder+=I)):t.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${He(n[k].attr)}"`)}),_):n}function Ai(A,e,t){if(A&&e){let n=0;for(let l=0,_=A.length;l<=_;l++){const x=A[l],I=e[l+n];x&&I&&x.index===I.index&&x.fragment.sn===I.fragment.sn?t(x,I):n--}}}function Ki(A,e,t){const n=e.skippedSegments,l=Math.max(A.startSN,e.startSN)-e.startSN,_=(A.fragmentHint?1:0)+(n?e.endSN:Math.min(A.endSN,e.endSN))-e.startSN,x=e.startSN-A.startSN,I=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,k=A.fragmentHint?A.fragments.concat(A.fragmentHint):A.fragments;for(let N=l;N<=_;N++){const j=k[x+N];let Z=I[N];if(n&&!Z&&j&&(Z=e.fragments[N]=j),j&&Z){t(j,Z,N,I);const Q=j.relurl,re=Z.relurl;if(Q&&ia(Q,re)){e.playlistParsingError=Oi(`media sequence mismatch ${Z.sn}:`,A,e,j,Z);return}else if(j.cc!==Z.cc){e.playlistParsingError=Oi(`discontinuity sequence mismatch (${j.cc}!=${Z.cc})`,A,e,j,Z);return}}}}function Oi(A,e,t,n,l){return new Error(`${A} ${l.url}
Playlist starting @${e.startSN}
${e.m3u8}
Playlist starting @${t.startSN}
${t.m3u8}`)}function Ia(A,e,t=!0){const n=e.startSN+e.skippedSegments-A.startSN,l=A.fragments,_=n>=0;let x=0;if(_&&n<l.length)x=l[n].start;else if(_&&e.startSN===A.endSN+1)x=A.fragmentEnd;else if(_&&t)x=A.fragmentStart+n*e.levelTargetDuration;else if(!e.skippedSegments&&e.fragmentStart===0)x=A.fragmentStart;else return;ya(e,x)}function ya(A,e){if(e){const t=A.fragments;for(let n=A.skippedSegments;n<t.length;n++)t[n].addStart(e);A.fragmentHint&&A.fragmentHint.addStart(e)}}function Mn(A,e=1/0){let t=1e3*A.targetduration;if(A.updated){const n=A.fragments;if(n.length&&t*4>e){const _=n[n.length-1].duration*1e3;_<t&&(t=_)}}else t/=2;return Math.round(t)}function En(A,e,t){if(!A)return null;let n=A.fragments[e-A.startSN];return n||(n=A.fragmentHint,n&&n.sn===e)?n:e<A.startSN&&t&&t.sn===e?t:null}function Cn(A,e,t){return A?ei(A.partList,e,t):null}function ei(A,e,t){if(A)for(let n=A.length;n--;){const l=A[n];if(l.index===t&&l.fragment.sn===e)return l}return null}function ti(A){A.forEach((e,t)=>{var n;(n=e.details)==null||n.fragments.forEach(l=>{l.level=t,l.initSegment&&(l.initSegment.level=t)})})}function ia(A,e){return A!==e&&e?aa(A)!==aa(e):!1}function aa(A){return A.replace(/\?[^?]*$/,"")}function Xi(A,e){for(let n=0,l=A.length;n<l;n++){var t;if(((t=A[n])==null?void 0:t.cc)===e)return A[n]}return null}function Pa(A,e){return!!(A&&e.startCC<A.endCC&&e.endCC>A.startCC)}function Ea(A,e){const t=A.start+e;A.startPTS=t,A.setStart(t),A.endPTS=t+A.duration}function Gi(A,e){const t=e.fragments;for(let n=0,l=t.length;n<l;n++)Ea(t[n],A);e.fragmentHint&&Ea(e.fragmentHint,A),e.alignedSliding=!0}function xa(A,e){A&&(Ma(e,A),e.alignedSliding||Oa(e,A),!e.alignedSliding&&!e.skippedSegments&&Ia(A,e,!1))}function Ma(A,e){if(!Pa(e,A))return;const t=Math.min(e.endCC,A.endCC),n=Xi(e.fragments,t),l=Xi(A.fragments,t);if(!n||!l)return;S.log(`Aligning playlist at start of dicontinuity sequence ${t}`);const _=n.start-l.start;Gi(_,A)}function Oa(A,e){if(!A.hasProgramDateTime||!e.hasProgramDateTime)return;const t=A.fragments,n=e.fragments;if(!t.length||!n.length)return;let l,_;const x=Math.min(e.endCC,A.endCC);e.startCC<x&&A.startCC<x&&(l=Xi(n,x),_=Xi(t,x)),(!l||!_)&&(l=n[Math.floor(n.length/2)],_=Xi(t,l.cc)||t[Math.floor(t.length/2)]);const I=l.programDateTime,k=_.programDateTime;if(!I||!k)return;const N=(k-I)/1e3-(_.start-l.start);Gi(N,A)}function li(A,e,t){hi(A,e,t),A.addEventListener(e,t)}function hi(A,e,t){A.removeEventListener(e,t)}const Sl={toString:function(A){let e="";const t=A.length;for(let n=0;n<t;n++)e+=`[${A.start(n).toFixed(3)}-${A.end(n).toFixed(3)}]`;return e}},Kt={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"};class rs extends Un{constructor(e,t,n,l,_){super(l,e.logger),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=Kt.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.buffering=!0,this.loadingParts=!1,this.loopSn=void 0,this.onMediaSeeking=()=>{const{config:x,fragCurrent:I,media:k,mediaBuffer:N,state:j}=this,Z=k?k.currentTime:0,Q=Lr.bufferInfo(N||k,Z,x.maxBufferHole),re=!Q.len;if(this.log(`Media seeking to ${ee(Z)?Z.toFixed(3):Z}, state: ${j}, ${re?"out of":"in"} buffer`),this.state===Kt.ENDED)this.resetLoadingState();else if(I){const ne=x.maxFragLookUpTolerance,de=I.start-ne,fe=I.start+I.duration+ne;if(re||fe<Q.start||de>Q.end){const Ae=Z>fe;(Z<de||Ae)&&(Ae&&I.loader&&(this.log(`Cancelling fragment load for seek (sn: ${I.sn})`),I.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}if(k){this.fragmentTracker.removeFragmentsInRange(Z,1/0,this.playlistType,!0);const ne=this.lastCurrentTime;if(Z>ne&&(this.lastCurrentTime=Z),!this.loadingParts){const de=Math.max(Q.end,Z),fe=this.shouldLoadParts(this.getLevelDetails(),de);fe&&(this.log(`LL-Part loading ON after seeking to ${Z.toFixed(2)} with buffer @${de.toFixed(2)}`),this.loadingParts=fe)}}this.hls.hasEnoughToStart||(this.log(`Setting ${re?"startPosition":"nextLoadPosition"} to ${Z} for seek without enough to start`),this.nextLoadPosition=Z,re&&(this.startPosition=Z)),re&&this.state===Kt.IDLE&&this.tickImmediate()},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=_,this.hls=e,this.fragmentLoader=new cn(e.config),this.keyLoader=n,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Ln(e.config)}registerListeners(){const{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===Kt.STOPPED)return;this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);const e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=Kt.STOPPED}get startPositionValue(){const{nextLoadPosition:e,startPosition:t}=this;return t===-1&&e?e:t}get bufferingEnabled(){return this.buffering}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,t){if(t.live||!this.media)return!1;const n=e.end||0,l=this.config.timelineOffset||0;if(n<=l)return!1;const _=e.buffered;this.config.maxBufferHole&&_&&_.length>1&&(e=Lr.bufferedInfo(_,e.start,0));const x=e.nextStart;if(x&&x>l&&x<t.edge||this.media.currentTime<e.start)return!1;const k=t.partList;if(k!=null&&k.length){const j=k[k.length-1];return Lr.isBuffered(this.media,j.start+j.duration/2)}const N=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(N)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null)return this.levelLastLoaded.details}get timelineOffset(){const e=this.config.timelineOffset;if(e){var t;return((t=this.getLevelDetails())==null?void 0:t.appliedTimelineOffset)||e}return 0}onMediaAttached(e,t){const n=this.media=this.mediaBuffer=t.media;li(n,"seeking",this.onMediaSeeking),li(n,"ended",this.onMediaEnded);const l=this.config;this.levels&&l.autoStartLoad&&this.state===Kt.STOPPED&&this.startLoad(l.startPosition)}onMediaDetaching(e,t){const n=!!t.transferMedia,l=this.media;if(l!==null){if(l.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),hi(l,"seeking",this.onMediaSeeking),hi(l,"ended",this.onMediaEnded),this.keyLoader&&!n&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loopSn=void 0,n){this.resetLoadingState(),this.resetTransmuxer();return}this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}}onManifestLoading(){this.initPTS=[],this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=this.startPosition=0,this.startFragRequested=!1}onError(e,t){}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset}onHandlerDestroying(){this.stopLoad(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null}onHandlerDestroyed(){this.state=Kt.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,n){this.startFragRequested=!0,this._loadFragForPlayback(e,t,n)}_loadFragForPlayback(e,t,n){const l=_=>{const x=_.frag;if(this.fragContextChanged(x)){this.warn(`${x.type} sn: ${x.sn}${_.part?" part: "+_.part.index:""} of ${this.fragInfo(x,!1,_.part)}) was dropped during download.`),this.fragmentTracker.removeFragment(x);return}x.stats.chunkCount++,this._handleFragmentLoadProgress(_)};this._doFragLoad(e,t,n,l).then(_=>{if(!_)return;const x=this.state,I=_.frag;if(this.fragContextChanged(I)){(x===Kt.FRAG_LOADING||!this.fragCurrent&&x===Kt.PARSING)&&(this.fragmentTracker.removeFragment(I),this.state=Kt.IDLE);return}"payload"in _&&(this.log(`Loaded ${I.type} sn: ${I.sn} of ${this.playlistLabel()} ${I.level}`),this.hls.trigger(y.FRAG_LOADED,_)),this._handleFragmentLoadComplete(_)}).catch(_=>{this.state===Kt.STOPPED||this.state===Kt.ERROR||(this.warn(`Frag error: ${(_==null?void 0:_.message)||_}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;const{fragmentTracker:n}=this;if(n.getState(e)===Zt.APPENDING){const _=e.type,x=this.getFwdBufferInfo(this.mediaBuffer,_),I=Math.max(e.duration,x?x.len:this.config.maxBufferLength),k=this.backtrackFragment;((k?e.sn-k.sn:0)===1||this.reduceMaxBufferLength(I,e.duration))&&n.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?n.removeAllFragments():n.hasParts(e.type)&&(n.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),n.getState(e)===Zt.PARTIAL&&n.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){const t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}waitForLive(e){const t=e.details;return(t==null?void 0:t.live)&&t.type!=="EVENT"&&(this.levelLastLoaded!==e||t.expired)}flushMainBuffer(e,t,n=null){if(!(e-t))return;const l={startOffset:e,endOffset:t,type:n};this.hls.trigger(y.BUFFER_FLUSHING,l)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(n=>{const l=n==null?void 0:n.frag;if(!l||this.fragContextChanged(l)||!this.levels)throw new Error("init load aborted");return n}).then(n=>{const{hls:l}=this,{frag:_,payload:x}=n,I=_.decryptdata;if(x&&x.byteLength>0&&I!=null&&I.key&&I.iv&&br(I.method)){const k=self.performance.now();return this.decrypter.decrypt(new Uint8Array(x),I.key.buffer,I.iv.buffer,Ur(I.method)).catch(N=>{throw l.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.FRAG_DECRYPT_ERROR,fatal:!1,error:N,reason:N.message,frag:_}),N}).then(N=>{const j=self.performance.now();return l.trigger(y.FRAG_DECRYPTED,{frag:_,payload:N,stats:{tstart:k,tdecrypt:j}}),n.payload=N,this.completeInitSegmentLoad(n)})}return this.completeInitSegmentLoad(n)}).catch(n=>{this.state===Kt.STOPPED||this.state===Kt.ERROR||(this.warn(n),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){const{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");const n=e.frag.stats;this.state!==Kt.STOPPED&&(this.state=Kt.IDLE),e.frag.data=new Uint8Array(e.payload),n.parsing.start=n.buffering.start=self.performance.now(),n.parsing.end=n.buffering.end=self.performance.now(),this.tick()}unhandledEncryptionError(e,t){var n,l;const _=e.tracks;if(_&&!t.encrypted&&((n=_.audio)!=null&&n.encrypted||(l=_.video)!=null&&l.encrypted)&&(!this.config.emeEnabled||!this.keyLoader.emeController)){const x=this.media,I=new Error(`Encrypted track with no key in ${this.fragInfo(t)} (media ${x?"attached mediaKeys: "+x.mediaKeys:"detached"})`);return this.warn(I.message),!x||x.mediaKeys?!1:(this.hls.trigger(y.ERROR,{type:D.KEY_SYSTEM_ERROR,details:W.KEY_SYSTEM_NO_KEYS,fatal:!1,error:I,frag:t}),this.resetTransmuxer(),!0)}return!1}fragContextChanged(e){const{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){const n=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)} > buffer:${n?Sl.toString(Lr.getBuffered(n)):"(detached)"})`),q(e)){var l;if(e.type!==b.SUBTITLE){const x=e.elementaryStreams;if(!Object.keys(x).some(I=>!!x[I])){this.state=Kt.IDLE;return}}const _=(l=this.levels)==null?void 0:l[e.level];_!=null&&_.fragmentError&&(this.log(`Resetting level fragment error count of ${_.fragmentError} on frag buffered`),_.fragmentError=0)}this.state=Kt.IDLE}_handleFragmentLoadComplete(e){const{transmuxer:t}=this;if(!t)return;const{frag:n,part:l,partsLoaded:_}=e,x=!_||_.length===0||_.some(k=>!k),I=new Pn(n.level,n.sn,n.stats.chunkCount+1,0,l?l.index:-1,!x);t.flush(I)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,n=null,l){var _;this.fragCurrent=e;const x=t.details;if(!this.levels||!x)throw new Error(`frag load aborted, missing level${x?"":" detail"}s`);let I=null;if(e.encrypted&&!((_=e.decryptdata)!=null&&_.key)){if(this.log(`Loading key for ${e.sn} of [${x.startSN}-${x.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=Kt.KEY_LOADING,this.fragCurrent=e,I=this.keyLoader.load(e).then(Q=>{if(!this.fragContextChanged(Q.frag))return this.hls.trigger(y.KEY_LOADED,Q),this.state===Kt.KEY_LOADING&&(this.state=Kt.IDLE),Q}),this.hls.trigger(y.KEY_LOADING,{frag:e}),this.fragCurrent===null)return this.log("context changed in KEY_LOADING"),Promise.resolve(null)}else e.encrypted||(I=this.keyLoader.loadClear(e,x.encryptedFragments,this.startFragRequested),I&&this.log("[eme] blocking frag load until media-keys acquired"));const k=this.fragPrevious;if(q(e)&&(!k||e.sn!==k.sn)){const Q=this.shouldLoadParts(t.details,e.end);Q!==this.loadingParts&&(this.log(`LL-Part loading ${Q?"ON":"OFF"} loading sn ${k==null?void 0:k.sn}->${e.sn}`),this.loadingParts=Q)}if(n=Math.max(e.start,n||0),this.loadingParts&&q(e)){const Q=x.partList;if(Q&&l){n>x.fragmentEnd&&x.fragmentHint&&(e=x.fragmentHint);const re=this.getNextPart(Q,e,n);if(re>-1){const ne=Q[re];e=this.fragCurrent=ne.fragment,this.log(`Loading ${e.type} sn: ${e.sn} part: ${ne.index} (${re}/${Q.length-1}) of ${this.fragInfo(e,!1,ne)}) cc: ${e.cc} [${x.startSN}-${x.endSN}], target: ${parseFloat(n.toFixed(3))}`),this.nextLoadPosition=ne.start+ne.duration,this.state=Kt.FRAG_LOADING;let de;return I?de=I.then(fe=>!fe||this.fragContextChanged(fe.frag)?null:this.doFragPartsLoad(e,ne,t,l)).catch(fe=>this.handleFragLoadError(fe)):de=this.doFragPartsLoad(e,ne,t,l).catch(fe=>this.handleFragLoadError(fe)),this.hls.trigger(y.FRAG_LOADING,{frag:e,part:ne,targetBufferTime:n}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):de}else if(!e.url||this.loadedEndOfParts(Q,n))return Promise.resolve(null)}}if(q(e)&&this.loadingParts){var N;this.log(`LL-Part loading OFF after next part miss @${n.toFixed(2)} Check buffer at sn: ${e.sn} loaded parts: ${(N=x.partList)==null?void 0:N.filter(Q=>Q.loaded).map(Q=>`[${Q.start}-${Q.end}]`)}`),this.loadingParts=!1}else if(!e.url)return Promise.resolve(null);this.log(`Loading ${e.type} sn: ${e.sn} of ${this.fragInfo(e,!1)}) cc: ${e.cc} ${"["+x.startSN+"-"+x.endSN+"]"}, target: ${parseFloat(n.toFixed(3))}`),ee(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=Kt.FRAG_LOADING;const j=this.config.progressive;let Z;return j&&I?Z=I.then(Q=>!Q||this.fragContextChanged(Q.frag)?null:this.fragmentLoader.load(e,l)).catch(Q=>this.handleFragLoadError(Q)):Z=Promise.all([this.fragmentLoader.load(e,j?l:void 0),I]).then(([Q])=>(!j&&l&&l(Q),Q)).catch(Q=>this.handleFragLoadError(Q)),this.hls.trigger(y.FRAG_LOADING,{frag:e,targetBufferTime:n}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):Z}doFragPartsLoad(e,t,n,l){return new Promise((_,x)=>{var I;const k=[],N=(I=n.details)==null?void 0:I.partList,j=Z=>{this.fragmentLoader.loadPart(e,Z,l).then(Q=>{k[Z.index]=Q;const re=Q.part;this.hls.trigger(y.FRAG_LOADED,Q);const ne=Cn(n.details,e.sn,Z.index+1)||ei(N,e.sn,Z.index+1);if(ne)j(ne);else return _({frag:e,part:re,partsLoaded:k})}).catch(x)};j(t)})}handleFragLoadError(e){if("data"in e){const t=e.data;t.frag&&t.details===W.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):t.frag&&t.type===D.KEY_SYSTEM_ERROR?(t.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(t.frag)):this.hls.trigger(y.ERROR,t)}else this.hls.trigger(y.ERROR,{type:D.OTHER_ERROR,details:W.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){const t=this.getCurrentContext(e);if(!t||this.state!==Kt.PARSING){!this.fragCurrent&&this.state!==Kt.STOPPED&&this.state!==Kt.ERROR&&(this.state=Kt.IDLE);return}const{frag:n,part:l,level:_}=t,x=self.performance.now();n.stats.parsing.end=x,l&&(l.stats.parsing.end=x);const I=this.getLevelDetails(),N=I&&n.sn>I.endSN||this.shouldLoadParts(I,n.end);N!==this.loadingParts&&(this.log(`LL-Part loading ${N?"ON":"OFF"} after parsing segment ending @${n.end.toFixed(2)}`),this.loadingParts=N),this.updateLevelTiming(n,l,_,e.partial)}shouldLoadParts(e,t){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList){var n;const _=e.partList[0];if(_.fragment.type===b.SUBTITLE)return!1;const x=_.end+(((n=e.fragmentHint)==null?void 0:n.duration)||0);if(t>=x){var l;if((this.hls.hasEnoughToStart?((l=this.media)==null?void 0:l.currentTime)||this.lastCurrentTime:this.getLoadPosition())>_.start-_.fragment.duration)return!0}}}return!1}getCurrentContext(e){const{levels:t,fragCurrent:n}=this,{level:l,sn:_,part:x}=e;if(!(t!=null&&t[l]))return this.warn(`Levels object was unset while buffering fragment ${_} of ${this.playlistLabel()} ${l}. The current chunk will not be buffered.`),null;const I=t[l],k=I.details,N=x>-1?Cn(k,_,x):null,j=N?N.fragment:En(k,_,n);return j?(n&&n!==j&&(j.stats=n.stats),{frag:j,part:N,level:I}):null}bufferFragmentData(e,t,n,l,_){if(this.state!==Kt.PARSING)return;const{data1:x,data2:I}=e;let k=x;if(I&&(k=tt(x,I)),!k.length)return;const N=this.initPTS[t.cc],j=N?-N.baseTime/N.timescale:void 0,Z={type:e.type,frag:t,part:n,chunkMeta:l,offset:j,parent:t.type,data:k};if(this.hls.trigger(y.BUFFER_APPENDING,Z),e.dropped&&e.independent&&!n){if(_)return;this.flushBufferGap(t)}}flushBufferGap(e){const t=this.media;if(!t)return;if(!Lr.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}const n=t.currentTime,l=Lr.bufferInfo(t,n,0),_=e.duration,x=Math.min(this.config.maxFragLookUpTolerance*2,_*.25),I=Math.max(Math.min(e.start-x,l.end-x),n+x);e.start-I>x&&this.flushMainBuffer(I,e.start)}getFwdBufferInfo(e,t){var n;const l=this.getLoadPosition();if(!ee(l))return null;const x=this.lastCurrentTime>l||(n=this.media)!=null&&n.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,l,t,x)}getFwdBufferInfoAtPos(e,t,n,l){const _=Lr.bufferInfo(e,t,l);if(_.len===0&&_.nextStart!==void 0){const x=this.fragmentTracker.getBufferedFrag(t,n);if(x&&(_.nextStart<=x.end||x.gap)){const I=Math.max(Math.min(_.nextStart,x.end)-t,l);return Lr.bufferInfo(e,t,I)}}return _}getMaxBufferLength(e){const{config:t}=this;let n;return e?n=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):n=t.maxBufferLength,Math.min(n,t.maxMaxBufferLength)}reduceMaxBufferLength(e,t){const n=this.config,l=Math.max(Math.min(e-t,n.maxBufferLength),t),_=Math.max(e-t*3,n.maxMaxBufferLength/2,l);return _>=l?(n.maxMaxBufferLength=_,this.warn(`Reduce max buffer length to ${_}s`),!0):!1}getAppendedFrag(e,t=b.MAIN){const n=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,t):null;return n&&"fragment"in n?n.fragment:n}getNextFragment(e,t){const n=t.fragments,l=n.length;if(!l)return null;const{config:_}=this,x=n[0].start,I=_.lowLatencyMode&&!!t.partList;let k=null;if(t.live){const Z=_.initialLiveManifestSize;if(l<Z)return this.warn(`Not enough fragments to start playback (have: ${l}, need: ${Z})`),null;if(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<x){var N;I&&!this.loadingParts&&(this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0),k=this.getInitialLiveFragment(t);const Q=this.hls.startPosition,re=this.hls.liveSyncPosition,ne=k?(Q!==-1&&Q>=x?Q:re)||k.start:e;this.log(`Setting startPosition to ${ne} to match start frag at live edge. mainStart: ${Q} liveSyncPosition: ${re} frag.start: ${(N=k)==null?void 0:N.start}`),this.startPosition=this.nextLoadPosition=ne}}else e<=x&&(k=n[0]);if(!k){const Z=this.loadingParts?t.partEnd:t.fragmentEnd;k=this.getFragmentAtPosition(e,Z,t)}let j=this.filterReplacedPrimary(k,t);if(!j&&k){const Z=k.sn-t.startSN;j=this.filterReplacedPrimary(n[Z+1]||null,t)}return this.mapToInitFragWhenRequired(j)}isLoopLoading(e,t){const n=this.fragmentTracker.getState(e);return(n===Zt.OK||n===Zt.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,n,l,_){let x=null;if(e.gap&&(x=this.getNextFragment(this.nextLoadPosition,t),x&&!x.gap&&n.nextStart)){const I=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,n.nextStart,l,0);if(I!==null&&n.len+I.len>=_){const k=x.sn;return this.loopSn!==k&&(this.log(`buffer full after gaps in "${l}" playlist starting at sn: ${k}`),this.loopSn=k),null}}return this.loopSn=void 0,x}get primaryPrefetch(){if(zs(this.config)){var e;if((e=this.hls.interstitialsManager)==null||(e=e.playingItem)==null?void 0:e.event)return!0}return!1}filterReplacedPrimary(e,t){if(!e)return e;if(zs(this.config)&&e.type!==b.SUBTITLE){const n=this.hls.interstitialsManager,l=n==null?void 0:n.bufferingItem;if(l){const x=l.event;if(x){if(x.appendInPlace||Math.abs(e.start-l.start)>1||l.start===0)return null}else if(e.end<=l.start&&(t==null?void 0:t.live)===!1||e.start>l.end&&l.nextEvent&&(l.nextEvent.appendInPlace||e.start-l.end>1))return null}const _=n==null?void 0:n.playerQueue;if(_)for(let x=_.length;x--;){const I=_[x].interstitial;if(I.appendInPlace&&e.start>=I.startTime&&e.end<=I.resumeTime)return null}}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!e.initSegment.data&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,n){let l=-1,_=!1,x=!0;for(let I=0,k=e.length;I<k;I++){const N=e[I];if(x=x&&!N.independent,l>-1&&n<N.start)break;const j=N.loaded;j?l=-1:(_||(N.independent||x)&&N.fragment===t)&&(N.fragment!==t&&this.warn(`Need buffer at ${n} but next unloaded part starts at ${N.start}`),l=I),_=j}return l}loadedEndOfParts(e,t){let n;for(let l=e.length;l--;){if(n=e[l],!n.loaded)return!1;if(t>n.start)return!0}return!1}getInitialLiveFragment(e){const t=e.fragments,n=this.fragPrevious;let l=null;if(n){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${n.programDateTime}`),l=hr(t,n.endProgramDateTime,this.config.maxFragLookUpTolerance)),!l){const _=n.sn+1;if(_>=e.startSN&&_<=e.endSN){const x=t[_-e.startSN];n.cc===x.cc&&(l=x,this.log(`Live playlist, switching playlist, load frag with next SN: ${l.sn}`))}l||(l=pr(e,n.cc,n.end),l&&this.log(`Live playlist, switching playlist, load frag with same CC: ${l.sn}`))}}else{const _=this.hls.liveSyncPosition;_!==null&&(l=this.getFragmentAtPosition(_,this.bitrateTest?e.fragmentEnd:e.edge,e))}return l}getFragmentAtPosition(e,t,n){const{config:l}=this;let{fragPrevious:_}=this,{fragments:x,endSN:I}=n;const{fragmentHint:k}=n,{maxFragLookUpTolerance:N}=l,j=n.partList,Z=!!(this.loadingParts&&j!=null&&j.length&&k);Z&&!this.bitrateTest&&j[j.length-1].fragment.sn===k.sn&&(x=x.concat(k),I=k.sn);let Q;if(e<t){var re;const de=e<this.lastCurrentTime||e>t-N||(re=this.media)!=null&&re.paused||!this.startFragRequested?0:N;Q=Ar(_,x,e,de)}else Q=x[x.length-1];if(Q){const ne=Q.sn-n.startSN,de=this.fragmentTracker.getState(Q);if((de===Zt.OK||de===Zt.PARTIAL&&Q.gap)&&(_=Q),_&&Q.sn===_.sn&&(!Z||j[0].fragment.sn>Q.sn||!n.live)&&Q.level===_.level){const Ae=x[ne+1];Q.sn<I&&this.fragmentTracker.getState(Ae)!==Zt.OK?Q=Ae:Q=null}}return Q}alignPlaylists(e,t,n){const l=e.fragments.length;if(!l)return this.warn("No fragments in live playlist"),0;const _=e.fragmentStart,x=!t,I=e.alignedSliding&&ee(_);if(x||!I&&!_){xa(n,e);const k=e.fragmentStart;return this.log(`Live playlist sliding: ${k.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} fragments: ${l}`),k}return _}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let n=this.startPosition;n<t&&(n=-1);const l=this.timelineOffset;if(n===-1){const _=this.startTimeOffset!==null,x=_?this.startTimeOffset:e.startTimeOffset;x!==null&&ee(x)?(n=t+x,x<0&&(n+=e.edge),n=Math.min(Math.max(t,n),t+e.totalduration),this.log(`Setting startPosition to ${n} for start time offset ${x} found in ${_?"multivariant":"media"} playlist`),this.startPosition=n):e.live?(n=this.hls.liveSyncPosition||t,this.log(`Setting startPosition to -1 to start at live edge ${n}`),this.startPosition=-1):(this.log("setting startPosition to 0 by default"),this.startPosition=n=0),this.lastCurrentTime=n+l}this.nextLoadPosition=n+l}getLoadPosition(){var e;const{media:t}=this;let n=0;return(e=this.hls)!=null&&e.hasEnoughToStart&&t?n=t.currentTime:this.nextLoadPosition>=0&&(n=this.nextLoadPosition),n}handleFragLoadAborted(e,t){this.transmuxer&&e.type===this.playlistType&&q(e)&&e.stats.aborted&&(this.log(`Fragment ${e.sn}${t?" part "+t.index:""} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==Kt.FRAG_LOADING_WAITING_RETRY)&&(this.state=Kt.IDLE)}onFragmentOrKeyLoadError(e,t){var n;if(t.chunkMeta&&!t.frag){const Ae=this.getCurrentContext(t.chunkMeta);Ae&&(t.frag=Ae.frag)}const l=t.frag;if(!l||l.type!==e||!this.levels)return;if(this.fragContextChanged(l)){var _;this.warn(`Frag load error must match current frag to retry ${l.url} > ${(_=this.fragCurrent)==null?void 0:_.url}`);return}const x=t.details===W.FRAG_GAP;x&&this.fragmentTracker.fragBuffered(l,!0);const I=t.errorAction;if(!I){this.state=Kt.ERROR;return}const{action:k,flags:N,retryCount:j=0,retryConfig:Z}=I,Q=!!Z,re=Q&&k===Nr.RetryRequest,ne=Q&&!I.resolved&&N===lr.MoveAllAlternatesMatchingHost,de=(n=this.hls.latestLevelDetails)==null?void 0:n.live;if(!re&&ne&&q(l)&&!l.endList&&de&&!jr(t))this.resetFragmentErrors(e),this.treatAsGap(l),I.resolved=!0;else if((re||ne)&&j<Z.maxNumRetry){var fe;const Ae=on((fe=t.response)==null?void 0:fe.code),we=Gr(Z,j);if(this.resetStartWhenNotLoaded(),this.retryDate=self.performance.now()+we,this.state=Kt.FRAG_LOADING_WAITING_RETRY,I.resolved=!0,Ae){this.log("Waiting for connection (offline)"),this.retryDate=1/0,t.reason="offline";return}this.warn(`Fragment ${l.sn} of ${e} ${l.level} errored with ${t.details}, retrying loading ${j+1}/${Z.maxNumRetry} in ${we}ms`)}else if(Z)if(this.resetFragmentErrors(e),j<Z.maxNumRetry)!x&&k!==Nr.RemoveAlternatePermanently&&(I.resolved=!0);else{this.warn(`${t.details} reached or exceeded max retry (${j})`);return}else k===Nr.SendAlternateToPenaltyBox?this.state=Kt.WAITING_LEVEL:this.state=Kt.ERROR;this.tickImmediate()}checkRetryDate(){const e=self.performance.now(),t=this.retryDate,n=t===1/0;(!t||e>=t||n&&!on(0))&&(n&&this.log("Connection restored (online)"),this.resetStartWhenNotLoaded(),this.state=Kt.IDLE)}reduceLengthAndFlushBuffer(e){if(this.state===Kt.PARSING||this.state===Kt.PARSED){const t=e.frag,n=e.parent,l=this.getFwdBufferInfo(this.mediaBuffer,n),_=l&&l.len>.5;_&&this.reduceMaxBufferLength(l.len,(t==null?void 0:t.duration)||10);const x=!_;return x&&this.warn(`Buffer full error while media.currentTime (${this.getLoadPosition()}) is not buffered, flush ${n} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),x}return!1}resetFragmentErrors(e){e===b.AUDIO&&(this.fragCurrent=null),this.hls.hasEnoughToStart||(this.startFragRequested=!1),this.state!==Kt.STOPPED&&(this.state=Kt.IDLE)}afterBufferFlushed(e,t,n){if(!e)return;const l=Lr.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,l,n),this.state===Kt.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==Kt.STOPPED&&(this.state=Kt.IDLE)}resetStartWhenNotLoaded(){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;const e=this.levelLastLoaded,t=e?e.details:null;t!=null&&t.live?(this.log("resetting startPosition for live start"),this.startPosition=-1,this.setStartPosition(t,t.fragmentStart),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.log(`Loading context changed while buffering sn ${e.sn} of ${this.playlistLabel()} ${e.level===-1?"<removed>":e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,n,l){const _=n.details;if(!_){this.warn("level.details undefined");return}if(!Object.keys(e.elementaryStreams).reduce((k,N)=>{const j=e.elementaryStreams[N];if(j){const Z=j.endPTS-j.startPTS;if(Z<=0)return this.warn(`Could not parse fragment ${e.sn} ${N} duration reliably (${Z})`),k||!1;const Q=l?0:oi(_,e,j.startPTS,j.endPTS,j.startDTS,j.endDTS,this);return this.hls.trigger(y.LEVEL_PTS_UPDATED,{details:_,level:n,drift:Q,type:N,frag:e,start:j.startPTS,end:j.endPTS}),!0}return k},!1)){var I;if(n.fragmentError===0&&this.treatAsGap(e,n),((I=this.transmuxer)==null?void 0:I.error)===null){const k=new Error(`Found no media in fragment ${e.sn} of ${this.playlistLabel()} ${e.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(k.message),this.hls.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.FRAG_PARSING_ERROR,fatal:!1,error:k,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${n.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=Kt.PARSED,this.log(`Parsed ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)})`),this.hls.trigger(y.FRAG_PARSED,{frag:e,part:t})}playlistLabel(){return this.playlistType===b.MAIN?"level":"track"}fragInfo(e,t=!0,n){var l,_;return`${this.playlistLabel()} ${e.level} (${n?"part":"frag"}:[${((l=t&&!n?e.startPTS:(n||e).start)!=null?l:NaN).toFixed(3)}-${((_=t&&!n?e.endPTS:(n||e).end)!=null?_:NaN).toFixed(3)}]${n&&e.type==="main"?"INDEPENDENT="+(n.independent?"YES":"NO"):""}`}treatAsGap(e,t){t&&t.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)}resetTransmuxer(){var e;(e=this.transmuxer)==null||e.reset()}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),this.resetStartWhenNotLoaded(),this.resetLoadingState())}set state(e){const t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}}function zs(A){return!!A.interstitialsController&&A.enableInterstitialPlayback!==!1}class js{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){const{chunks:e,dataLength:t}=this;let n;if(e.length)e.length===1?n=e[0]:n=Dl(e,t);else return new Uint8Array(0);return this.reset(),n}reset(){this.chunks.length=0,this.dataLength=0}}function Dl(A,e){const t=new Uint8Array(e);let n=0;for(let l=0;l<A.length;l++){const _=A[l];t.set(_,n),n+=_.length}return t}var ns={exports:{}},Zs;function Ll(){return Zs||(Zs=1,function(A){var e=Object.prototype.hasOwnProperty,t="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(t=!1));function l(k,N,j){this.fn=k,this.context=N,this.once=j||!1}function _(k,N,j,Z,Q){if(typeof j!="function")throw new TypeError("The listener must be a function");var re=new l(j,Z||k,Q),ne=t?t+N:N;return k._events[ne]?k._events[ne].fn?k._events[ne]=[k._events[ne],re]:k._events[ne].push(re):(k._events[ne]=re,k._eventsCount++),k}function x(k,N){--k._eventsCount===0?k._events=new n:delete k._events[N]}function I(){this._events=new n,this._eventsCount=0}I.prototype.eventNames=function(){var N=[],j,Z;if(this._eventsCount===0)return N;for(Z in j=this._events)e.call(j,Z)&&N.push(t?Z.slice(1):Z);return Object.getOwnPropertySymbols?N.concat(Object.getOwnPropertySymbols(j)):N},I.prototype.listeners=function(N){var j=t?t+N:N,Z=this._events[j];if(!Z)return[];if(Z.fn)return[Z.fn];for(var Q=0,re=Z.length,ne=new Array(re);Q<re;Q++)ne[Q]=Z[Q].fn;return ne},I.prototype.listenerCount=function(N){var j=t?t+N:N,Z=this._events[j];return Z?Z.fn?1:Z.length:0},I.prototype.emit=function(N,j,Z,Q,re,ne){var de=t?t+N:N;if(!this._events[de])return!1;var fe=this._events[de],Ae=arguments.length,we,Ie;if(fe.fn){switch(fe.once&&this.removeListener(N,fe.fn,void 0,!0),Ae){case 1:return fe.fn.call(fe.context),!0;case 2:return fe.fn.call(fe.context,j),!0;case 3:return fe.fn.call(fe.context,j,Z),!0;case 4:return fe.fn.call(fe.context,j,Z,Q),!0;case 5:return fe.fn.call(fe.context,j,Z,Q,re),!0;case 6:return fe.fn.call(fe.context,j,Z,Q,re,ne),!0}for(Ie=1,we=new Array(Ae-1);Ie<Ae;Ie++)we[Ie-1]=arguments[Ie];fe.fn.apply(fe.context,we)}else{var ze=fe.length,Je;for(Ie=0;Ie<ze;Ie++)switch(fe[Ie].once&&this.removeListener(N,fe[Ie].fn,void 0,!0),Ae){case 1:fe[Ie].fn.call(fe[Ie].context);break;case 2:fe[Ie].fn.call(fe[Ie].context,j);break;case 3:fe[Ie].fn.call(fe[Ie].context,j,Z);break;case 4:fe[Ie].fn.call(fe[Ie].context,j,Z,Q);break;default:if(!we)for(Je=1,we=new Array(Ae-1);Je<Ae;Je++)we[Je-1]=arguments[Je];fe[Ie].fn.apply(fe[Ie].context,we)}}return!0},I.prototype.on=function(N,j,Z){return _(this,N,j,Z,!1)},I.prototype.once=function(N,j,Z){return _(this,N,j,Z,!0)},I.prototype.removeListener=function(N,j,Z,Q){var re=t?t+N:N;if(!this._events[re])return this;if(!j)return x(this,re),this;var ne=this._events[re];if(ne.fn)ne.fn===j&&(!Q||ne.once)&&(!Z||ne.context===Z)&&x(this,re);else{for(var de=0,fe=[],Ae=ne.length;de<Ae;de++)(ne[de].fn!==j||Q&&!ne[de].once||Z&&ne[de].context!==Z)&&fe.push(ne[de]);fe.length?this._events[re]=fe.length===1?fe[0]:fe:x(this,re)}return this},I.prototype.removeAllListeners=function(N){var j;return N?(j=t?t+N:N,this._events[j]&&x(this,j)):(this._events=new n,this._eventsCount=0),this},I.prototype.off=I.prototype.removeListener,I.prototype.addListener=I.prototype.on,I.prefixed=t,I.EventEmitter=I,A.exports=I}(ns)),ns.exports}var Rl=Ll(),is=F(Rl);const Ta="1.6.13",sa={};function wl(){return typeof __HLS_WORKER_BUNDLE__=="function"}function Cl(){const A=sa[Ta];if(A)return A.clientCount++,A;const e=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),t=self.URL.createObjectURL(e),l={worker:new self.Worker(t),objectURL:t,clientCount:1};return sa[Ta]=l,l}function Il(A){const e=sa[A];if(e)return e.clientCount++,e;const t=new self.URL(A,self.location.href).href,l={worker:new self.Worker(t),scriptURL:t,clientCount:1};return sa[A]=l,l}function Pl(A){const e=sa[A||Ta];if(e&&e.clientCount--===1){const{worker:n,objectURL:l}=e;delete sa[A||Ta],l&&self.URL.revokeObjectURL(l),n.terminate()}}function Xs(A,e){return e+10<=A.length&&A[e]===51&&A[e+1]===68&&A[e+2]===73&&A[e+3]<255&&A[e+4]<255&&A[e+6]<128&&A[e+7]<128&&A[e+8]<128&&A[e+9]<128}function as(A,e){return e+10<=A.length&&A[e]===73&&A[e+1]===68&&A[e+2]===51&&A[e+3]<255&&A[e+4]<255&&A[e+6]<128&&A[e+7]<128&&A[e+8]<128&&A[e+9]<128}function Na(A,e){let t=0;return t=(A[e]&127)<<21,t|=(A[e+1]&127)<<14,t|=(A[e+2]&127)<<7,t|=A[e+3]&127,t}function Aa(A,e){const t=e;let n=0;for(;as(A,e);){n+=10;const l=Na(A,e+6);n+=l,Xs(A,e+10)&&(n+=10),e+=n}if(n>0)return A.subarray(t,t+n)}function Ml(A,e,t,n){const l=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],_=e[t+2],x=_>>2&15;if(x>12){const re=new Error(`invalid ADTS sampling index:${x}`);A.emit(y.ERROR,y.ERROR,{type:D.MEDIA_ERROR,details:W.FRAG_PARSING_ERROR,fatal:!0,error:re,reason:re.message});return}const I=(_>>6&3)+1,k=e[t+3]>>6&3|(_&1)<<2,N="mp4a.40."+I,j=l[x];let Z=x;(I===5||I===29)&&(Z-=3);const Q=[I<<3|(Z&14)>>1,(Z&1)<<7|k<<3];return S.log(`manifest codec:${n}, parsed codec:${N}, channels:${k}, rate:${j} (ADTS object type:${I} sampling index:${x})`),{config:Q,samplerate:j,channelCount:k,codec:N,parsedCodec:N,manifestCodec:n}}function Ys(A,e){return A[e]===255&&(A[e+1]&246)===240}function $s(A,e){return A[e+1]&1?7:9}function ss(A,e){return(A[e+3]&3)<<11|A[e+4]<<3|(A[e+5]&224)>>>5}function Ol(A,e){return e+5<A.length}function Ba(A,e){return e+1<A.length&&Ys(A,e)}function Nl(A,e){return Ol(A,e)&&Ys(A,e)&&ss(A,e)<=A.length-e}function Bl(A,e){if(Ba(A,e)){const t=$s(A,e);if(e+t>=A.length)return!1;const n=ss(A,e);if(n<=t)return!1;const l=e+n;return l===A.length||Ba(A,l)}return!1}function Qs(A,e,t,n,l){if(!A.samplerate){const _=Ml(e,t,n,l);if(!_)return;u(A,_)}}function Js(A){return 1024*9e4/A}function Ul(A,e){const t=$s(A,e);if(e+t<=A.length){const n=ss(A,e)-t;if(n>0)return{headerLength:t,frameLength:n}}}function qs(A,e,t,n,l){const _=Js(A.samplerate),x=n+l*_,I=Ul(e,t);let k;if(I){const{frameLength:Z,headerLength:Q}=I,re=Q+Z,ne=Math.max(0,t+re-e.length);ne?(k=new Uint8Array(re-Q),k.set(e.subarray(t+Q,e.length),0)):k=e.subarray(t+Q,t+re);const de={unit:k,pts:x};return ne||A.samples.push(de),{sample:de,length:re,missing:ne}}const N=e.length-t;return k=new Uint8Array(N),k.set(e.subarray(t,e.length),0),{sample:{unit:k,pts:x},length:N,missing:-1}}function Fl(A,e){return as(A,e)&&Na(A,e+6)+10<=A.length-e}function kl(A){return A instanceof ArrayBuffer?A:A.byteOffset==0&&A.byteLength==A.buffer.byteLength?A.buffer:new Uint8Array(A).buffer}function os(A,e=0,t=1/0){return Wl(A,e,t,Uint8Array)}function Wl(A,e,t,n){const l=Kl(A);let _=1;"BYTES_PER_ELEMENT"in n&&(_=n.BYTES_PER_ELEMENT);const x=Gl(A)?A.byteOffset:0,I=(x+A.byteLength)/_,k=(x+e)/_,N=Math.floor(Math.max(0,Math.min(k,I))),j=Math.floor(Math.min(N+Math.max(t,0),I));return new n(l,N,j-N)}function Kl(A){return A instanceof ArrayBuffer?A:A.buffer}function Gl(A){return A&&A.buffer instanceof ArrayBuffer&&A.byteLength!==void 0&&A.byteOffset!==void 0}function Vl(A){const e={key:A.type,description:"",data:"",mimeType:null,pictureType:null},t=3;if(A.size<2)return;if(A.data[0]!==t){console.log("Ignore frame with unrecognized character encoding");return}const n=A.data.subarray(1).indexOf(0);if(n===-1)return;const l=G(os(A.data,1,n)),_=A.data[2+n],x=A.data.subarray(3+n).indexOf(0);if(x===-1)return;const I=G(os(A.data,3+n,x));let k;return l==="-->"?k=G(os(A.data,4+n+x)):k=kl(A.data.subarray(4+n+x)),e.mimeType=l,e.pictureType=_,e.description=I,e.data=k,e}function Hl(A){if(A.size<2)return;const e=G(A.data,!0),t=new Uint8Array(A.data.subarray(e.length+1));return{key:A.type,info:e,data:t.buffer}}function zl(A){if(A.size<2)return;if(A.type==="TXXX"){let t=1;const n=G(A.data.subarray(t),!0);t+=n.length+1;const l=G(A.data.subarray(t));return{key:A.type,info:n,data:l}}const e=G(A.data.subarray(1));return{key:A.type,info:"",data:e}}function jl(A){if(A.type==="WXXX"){if(A.size<2)return;let t=1;const n=G(A.data.subarray(t),!0);t+=n.length+1;const l=G(A.data.subarray(t));return{key:A.type,info:n,data:l}}const e=G(A.data);return{key:A.type,info:"",data:e}}function Zl(A){return A.type==="PRIV"?Hl(A):A.type[0]==="W"?jl(A):A.type==="APIC"?Vl(A):zl(A)}function Xl(A){const e=String.fromCharCode(A[0],A[1],A[2],A[3]),t=Na(A,4),n=10;return{type:e,size:t,data:A.subarray(n,n+t)}}const Ua=10,Yl=10;function eo(A){let e=0;const t=[];for(;as(A,e);){const n=Na(A,e+6);A[e+5]>>6&1&&(e+=Ua),e+=Ua;const l=e+n;for(;e+Yl<l;){const _=Xl(A.subarray(e)),x=Zl(_);x&&t.push(x),e+=_.size+Ua}Xs(A,e)&&(e+=Ua)}return t}function to(A){return A&&A.key==="PRIV"&&A.info==="com.apple.streaming.transportStreamTimestamp"}function $l(A){if(A.data.byteLength===8){const e=new Uint8Array(A.data),t=e[3]&1;let n=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return n/=45,t&&(n+=4772185884e-2),Math.round(n)}}function ls(A){const e=eo(A);for(let t=0;t<e.length;t++){const n=e[t];if(to(n))return $l(n)}}let di=function(A){return A.audioId3="org.id3",A.dateRange="com.apple.quicktime.HLS",A.emsg="https://aomedia.org/emsg/ID3",A.misbklv="urn:misb:KLV:bin:1910.1",A}({});function Li(A="",e=9e4){return{type:A,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}class us{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,n,l){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,n){}demux(e,t){this.cachedData&&(e=tt(this.cachedData,e),this.cachedData=null);let n=Aa(e,0),l=n?n.length:0,_;const x=this._audioTrack,I=this._id3Track,k=n?ls(n):void 0,N=e.length;for((this.basePTS===null||this.frameIndex===0&&ee(k))&&(this.basePTS=Ql(k,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),n&&n.length>0&&I.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:n,type:di.audioId3,duration:Number.POSITIVE_INFINITY});l<N;){if(this.canParse(e,l)){const j=this.appendFrame(x,e,l);j?(this.frameIndex++,this.lastPTS=j.sample.pts,l+=j.length,_=l):l=N}else Fl(e,l)?(n=Aa(e,l),I.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:n,type:di.audioId3,duration:Number.POSITIVE_INFINITY}),l+=n.length,_=l):l++;if(l===N&&_!==N){const j=e.slice(_);this.cachedData?this.cachedData=tt(this.cachedData,j):this.cachedData=j}}return{audioTrack:x,videoTrack:Li(),id3Track:I,textTrack:Li()}}demuxSampleAes(e,t,n){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){const t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Li(),id3Track:this._id3Track,textTrack:Li()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}}const Ql=(A,e,t)=>{if(ee(A))return A*90;const n=t?t.baseTime*9e4/t.timescale:0;return e*9e4+n};let Fa=null;const Jl=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],ql=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],eu=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],tu=[0,1,1,4];function ro(A,e,t,n,l){if(t+24>e.length)return;const _=no(e,t);if(_&&t+_.frameLength<=e.length){const x=_.samplesPerFrame*9e4/_.sampleRate,I=n+l*x,k={unit:e.subarray(t,t+_.frameLength),pts:I,dts:I};return A.config=[],A.channelCount=_.channelCount,A.samplerate=_.sampleRate,A.samples.push(k),{sample:k,length:_.frameLength,missing:0}}}function no(A,e){const t=A[e+1]>>3&3,n=A[e+1]>>1&3,l=A[e+2]>>4&15,_=A[e+2]>>2&3;if(t!==1&&l!==0&&l!==15&&_!==3){const x=A[e+2]>>1&1,I=A[e+3]>>6,k=t===3?3-n:n===3?3:4,N=Jl[k*14+l-1]*1e3,Z=ql[(t===3?0:t===2?1:2)*3+_],Q=I===3?1:2,re=eu[t][n],ne=tu[n],de=re*8*ne,fe=Math.floor(re*N/Z+x)*ne;if(Fa===null){const Ie=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Fa=Ie?parseInt(Ie[1]):0}return!!Fa&&Fa<=87&&n===2&&N>=224e3&&I===0&&(A[e+3]=A[e+3]|128),{sampleRate:Z,channelCount:Q,frameLength:fe,samplesPerFrame:de}}}function cs(A,e){return A[e]===255&&(A[e+1]&224)===224&&(A[e+1]&6)!==0}function io(A,e){return e+1<A.length&&cs(A,e)}function ru(A,e){return cs(A,e)&&4<=A.length-e}function ao(A,e){if(e+1<A.length&&cs(A,e)){const n=no(A,e);let l=4;n!=null&&n.frameLength&&(l=n.frameLength);const _=e+l;return _===A.length||io(A,_)}return!1}class nu extends us{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,n,l){super.resetInitSegment(e,t,n,l),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:l,inputTimeScale:9e4,dropped:0}}static probe(e,t){if(!e)return!1;const n=Aa(e,0);let l=(n==null?void 0:n.length)||0;if(ao(e,l))return!1;for(let _=e.length;l<_;l++)if(Bl(e,l))return t.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return Nl(e,t)}appendFrame(e,t,n){Qs(e,this.observer,t,n,e.manifestCodec);const l=qs(e,t,n,this.basePTS,this.frameIndex);if(l&&l.missing===0)return l}}const so=(A,e)=>{let t=0,n=5;e+=n;const l=new Uint32Array(1),_=new Uint32Array(1),x=new Uint8Array(1);for(;n>0;){x[0]=A[e];const I=Math.min(n,8),k=8-I;_[0]=4278190080>>>24+k<<k,l[0]=(x[0]&_[0])>>k,t=t?t<<I|l[0]:l[0],e+=1,n-=I}return t};class iu extends us{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,n,l){super.resetInitSegment(e,t,n,l),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:l,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,n){const l=oo(e,t,n,this.basePTS,this.frameIndex);if(l!==-1)return{sample:e.samples[e.samples.length-1],length:l,missing:0}}static probe(e){if(!e)return!1;const t=Aa(e,0);if(!t)return!1;const n=t.length;return e[n]===11&&e[n+1]===119&&ls(t)!==void 0&&so(e,n)<16}}function oo(A,e,t,n,l){if(t+8>e.length||e[t]!==11||e[t+1]!==119)return-1;const _=e[t+4]>>6;if(_>=3)return-1;const I=[48e3,44100,32e3][_],k=e[t+4]&63,j=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][k*3+_]*2;if(t+j>e.length)return-1;const Z=e[t+6]>>5;let Q=0;Z===2?Q+=2:(Z&1&&Z!==1&&(Q+=2),Z&4&&(Q+=2));const re=(e[t+6]<<8|e[t+7])>>12-Q&1,de=[2,1,2,3,3,4,4,5][Z]+re,fe=e[t+5]>>3,Ae=e[t+5]&7,we=new Uint8Array([_<<6|fe<<1|Ae>>2,(Ae&3)<<6|Z<<3|re<<2|k>>4,k<<4&224]),Ie=1536/I*9e4,ze=n+l*Ie,Je=e.subarray(t,t+j);return A.config=we,A.channelCount=de,A.samplerate=I,A.samples.push({unit:Je,pts:ze}),j}class au extends us{resetInitSegment(e,t,n,l){super.resetInitSegment(e,t,n,l),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:l,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;const t=Aa(e,0);let n=(t==null?void 0:t.length)||0;if(t&&e[n]===11&&e[n+1]===119&&ls(t)!==void 0&&so(e,n)<=16)return!1;for(let l=e.length;n<l;n++)if(ao(e,n))return S.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return ru(e,t)}appendFrame(e,t,n){if(this.basePTS!==null)return ro(e,t,n,this.basePTS,this.frameIndex)}}const su=/\/emsg[-/]ID3/i;class ou{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,n,l){const _=this.videoTrack=Li("video",1),x=this.audioTrack=Li("audio",1),I=this.txtTrack=Li("text",1);if(this.id3Track=Li("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;const k=Ue(e);if(k.video){const{id:N,timescale:j,codec:Z,supplemental:Q}=k.video;_.id=N,_.timescale=I.timescale=j,_.codec=Z,_.supplemental=Q}if(k.audio){const{id:N,timescale:j,codec:Z}=k.audio;x.id=N,x.timescale=j,x.codec=Z}I.id=Ge.text,_.sampleDuration=0,_.duration=x.duration=l}resetContiguity(){this.remainderData=null}static probe(e){return Re(e)}demux(e,t){this.timeOffset=t;let n=e;const l=this.videoTrack,_=this.txtTrack;if(this.config.progressive){this.remainderData&&(n=tt(this.remainderData,e));const I=_t(n);this.remainderData=I.remainder,l.samples=I.valid||new Uint8Array}else l.samples=n;const x=this.extractID3Track(l,t);return _.samples=bt(t,l),{videoTrack:l,audioTrack:this.audioTrack,id3Track:x,textTrack:this.txtTrack}}flush(){const e=this.timeOffset,t=this.videoTrack,n=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;const l=this.extractID3Track(t,this.timeOffset);return n.samples=bt(e,t),{videoTrack:t,audioTrack:Li(),id3Track:l,textTrack:Li()}}extractID3Track(e,t){const n=this.id3Track;if(e.samples.length){const l=ve(e.samples,["emsg"]);l&&l.forEach(_=>{const x=cr(_);if(su.test(x.schemeIdUri)){const I=lo(x,t);let k=x.eventDuration===4294967295?Number.POSITIVE_INFINITY:x.eventDuration/x.timeScale;k<=.001&&(k=Number.POSITIVE_INFINITY);const N=x.payload;n.samples.push({data:N,len:N.byteLength,dts:I,pts:I,type:di.emsg,duration:k})}else if(this.config.enableEmsgKLVMetadata&&x.schemeIdUri.startsWith("urn:misb:KLV:bin:1910.1")){const I=lo(x,t);n.samples.push({data:x.payload,len:x.payload.byteLength,dts:I,pts:I,type:di.misbklv,duration:Number.POSITIVE_INFINITY})}})}return n}demuxSampleAes(e,t,n){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0}}function lo(A,e){return ee(A.presentationTime)?A.presentationTime/A.timeScale:e+A.presentationTimeDelta/A.timeScale}class lu{constructor(e,t,n){this.keyData=void 0,this.decrypter=void 0,this.keyData=n,this.decrypter=new Ln(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,Mr.cbc)}decryptAacSample(e,t,n){const l=e[t].unit;if(l.length<=16)return;const _=l.subarray(16,l.length-l.length%16),x=_.buffer.slice(_.byteOffset,_.byteOffset+_.length);this.decryptBuffer(x).then(I=>{const k=new Uint8Array(I);l.set(k,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,n)}).catch(n)}decryptAacSamples(e,t,n){for(;;t++){if(t>=e.length){n();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,n),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){const t=Math.floor((e.length-48)/160)*16+16,n=new Int8Array(t);let l=0;for(let _=32;_<e.length-16;_+=160,l+=16)n.set(e.subarray(_,_+16),l);return n}getAvcDecryptedUnit(e,t){const n=new Uint8Array(t);let l=0;for(let _=32;_<e.length-16;_+=160,l+=16)e.set(n.subarray(l,l+16),_);return e}decryptAvcSample(e,t,n,l,_){const x=It(_.data),I=this.getAvcEncryptedData(x);this.decryptBuffer(I.buffer).then(k=>{_.data=this.getAvcDecryptedUnit(x,k),this.decrypter.isSync()||this.decryptAvcSamples(e,t,n+1,l)}).catch(l)}decryptAvcSamples(e,t,n,l){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,n=0){if(t>=e.length){l();return}const _=e[t].units;for(;!(n>=_.length);n++){const x=_[n];if(!(x.data.length<=48||x.type!==1&&x.type!==5)&&(this.decryptAvcSample(e,t,n,l,x),!this.decrypter.isSync()))return}}}}class uo{constructor(){this.VideoSample=null}createVideoSample(e,t,n){return{key:e,frame:!1,pts:t,dts:n,units:[],length:0}}getLastNalUnit(e){var t;let n=this.VideoSample,l;if((!n||n.units.length===0)&&(n=e[e.length-1]),(t=n)!=null&&t.units){const _=n.units;l=_[_.length-1]}return l}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){const n=t.samples,l=n.length;if(l){const _=n[l-1];e.pts=_.pts,e.dts=_.dts}else{t.dropped++;return}}t.samples.push(e)}}parseNALu(e,t,n){const l=t.byteLength;let _=e.naluState||0;const x=_,I=[];let k=0,N,j,Z,Q=-1,re=0;for(_===-1&&(Q=0,re=this.getNALuType(t,0),_=0,k=1);k<l;){if(N=t[k++],!_){_=N?0:1;continue}if(_===1){_=N?0:2;continue}if(!N)_=3;else if(N===1){if(j=k-_-1,Q>=0){const ne={data:t.subarray(Q,j),type:re};I.push(ne)}else{const ne=this.getLastNalUnit(e.samples);ne&&(x&&k<=4-x&&ne.state&&(ne.data=ne.data.subarray(0,ne.data.byteLength-x)),j>0&&(ne.data=tt(ne.data,t.subarray(0,j)),ne.state=0))}k<l?(Z=this.getNALuType(t,k),Q=k,re=Z,_=0):_=-1}else _=0}if(Q>=0&&_>=0){const ne={data:t.subarray(Q,l),type:re,state:_};I.push(ne)}if(I.length===0){const ne=this.getLastNalUnit(e.samples);ne&&(ne.data=tt(ne.data,t))}return e.naluState=_,I}}class ba{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){const e=this.data,t=this.bytesAvailable,n=e.byteLength-t,l=new Uint8Array(4),_=Math.min(4,t);if(_===0)throw new Error("no bytes available");l.set(e.subarray(n,n+_)),this.word=new DataView(l.buffer).getUint32(0),this.bitsAvailable=_*8,this.bytesAvailable-=_}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e);const n=this.word>>>32-t;if(e>32&&S.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?n<<t|this.readBits(t):n}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){const e=this.skipLZ();return this.readBits(e+1)-1}readEG(){const e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class uu extends uo{parsePES(e,t,n,l){const _=this.parseNALu(e,n.data,l);let x=this.VideoSample,I,k=!1;n.data=null,x&&_.length&&!e.audFound&&(this.pushAccessUnit(x,e),x=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts)),_.forEach(N=>{var j,Z;switch(N.type){case 1:{let de=!1;I=!0;const fe=N.data;if(k&&fe.length>4){const Ae=this.readSliceType(fe);(Ae===2||Ae===4||Ae===7||Ae===9)&&(de=!0)}if(de){var Q;(Q=x)!=null&&Q.frame&&!x.key&&(this.pushAccessUnit(x,e),x=this.VideoSample=null)}x||(x=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts)),x.frame=!0,x.key=de;break}case 5:I=!0,(j=x)!=null&&j.frame&&!x.key&&(this.pushAccessUnit(x,e),x=this.VideoSample=null),x||(x=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts)),x.key=!0,x.frame=!0;break;case 6:{I=!0,ot(N.data,1,n.pts,t.samples);break}case 7:{var re,ne;I=!0,k=!0;const de=N.data,fe=this.readSPS(de);if(!e.sps||e.width!==fe.width||e.height!==fe.height||((re=e.pixelRatio)==null?void 0:re[0])!==fe.pixelRatio[0]||((ne=e.pixelRatio)==null?void 0:ne[1])!==fe.pixelRatio[1]){e.width=fe.width,e.height=fe.height,e.pixelRatio=fe.pixelRatio,e.sps=[de];const Ae=de.subarray(1,4);let we="avc1.";for(let Ie=0;Ie<3;Ie++){let ze=Ae[Ie].toString(16);ze.length<2&&(ze="0"+ze),we+=ze}e.codec=we}break}case 8:I=!0,e.pps=[N.data];break;case 9:I=!0,e.audFound=!0,(Z=x)!=null&&Z.frame&&(this.pushAccessUnit(x,e),x=null),x||(x=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts));break;case 12:I=!0;break;default:I=!1;break}x&&I&&x.units.push(N)}),l&&x&&(this.pushAccessUnit(x,e),this.VideoSample=null)}getNALuType(e,t){return e[t]&31}readSliceType(e){const t=new ba(e);return t.readUByte(),t.readUEG(),t.readUEG()}skipScalingList(e,t){let n=8,l=8,_;for(let x=0;x<e;x++)l!==0&&(_=t.readEG(),l=(n+_+256)%256),n=l===0?n:l}readSPS(e){const t=new ba(e);let n=0,l=0,_=0,x=0,I,k,N;const j=t.readUByte.bind(t),Z=t.readBits.bind(t),Q=t.readUEG.bind(t),re=t.readBoolean.bind(t),ne=t.skipBits.bind(t),de=t.skipEG.bind(t),fe=t.skipUEG.bind(t),Ae=this.skipScalingList.bind(this);j();const we=j();if(Z(5),ne(3),j(),fe(),we===100||we===110||we===122||we===244||we===44||we===83||we===86||we===118||we===128){const gt=Q();if(gt===3&&ne(1),fe(),fe(),ne(1),re())for(k=gt!==3?8:12,N=0;N<k;N++)re()&&(N<6?Ae(16,t):Ae(64,t))}fe();const Ie=Q();if(Ie===0)Q();else if(Ie===1)for(ne(1),de(),de(),I=Q(),N=0;N<I;N++)de();fe(),ne(1);const ze=Q(),Je=Q(),wt=Z(1);wt===0&&ne(1),ne(1),re()&&(n=Q(),l=Q(),_=Q(),x=Q());let et=[1,1];if(re()&&re())switch(j()){case 1:et=[1,1];break;case 2:et=[12,11];break;case 3:et=[10,11];break;case 4:et=[16,11];break;case 5:et=[40,33];break;case 6:et=[24,11];break;case 7:et=[20,11];break;case 8:et=[32,11];break;case 9:et=[80,33];break;case 10:et=[18,11];break;case 11:et=[15,11];break;case 12:et=[64,33];break;case 13:et=[160,99];break;case 14:et=[4,3];break;case 15:et=[3,2];break;case 16:et=[2,1];break;case 255:{et=[j()<<8|j(),j()<<8|j()];break}}return{width:Math.ceil((ze+1)*16-n*2-l*2),height:(2-wt)*(Je+1)*16-(wt?2:4)*(_+x),pixelRatio:et}}}class cu extends uo{constructor(...e){super(...e),this.initVPS=null}parsePES(e,t,n,l){const _=this.parseNALu(e,n.data,l);let x=this.VideoSample,I,k=!1;n.data=null,x&&_.length&&!e.audFound&&(this.pushAccessUnit(x,e),x=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts)),_.forEach(N=>{var j,Z;switch(N.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:x||(x=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts)),x.frame=!0,I=!0;break;case 16:case 17:case 18:case 21:if(I=!0,k){var Q;(Q=x)!=null&&Q.frame&&!x.key&&(this.pushAccessUnit(x,e),x=this.VideoSample=null)}x||(x=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts)),x.key=!0,x.frame=!0;break;case 19:case 20:I=!0,(j=x)!=null&&j.frame&&!x.key&&(this.pushAccessUnit(x,e),x=this.VideoSample=null),x||(x=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts)),x.key=!0,x.frame=!0;break;case 39:I=!0,ot(N.data,2,n.pts,t.samples);break;case 32:I=!0,e.vps||(typeof e.params!="object"&&(e.params={}),e.params=u(e.params,this.readVPS(N.data)),this.initVPS=N.data),e.vps=[N.data];break;case 33:if(I=!0,k=!0,e.vps!==void 0&&e.vps[0]!==this.initVPS&&e.sps!==void 0&&!this.matchSPS(e.sps[0],N.data)&&(this.initVPS=e.vps[0],e.sps=e.pps=void 0),!e.sps){const re=this.readSPS(N.data);e.width=re.width,e.height=re.height,e.pixelRatio=re.pixelRatio,e.codec=re.codecString,e.sps=[],typeof e.params!="object"&&(e.params={});for(const ne in re.params)e.params[ne]=re.params[ne]}this.pushParameterSet(e.sps,N.data,e.vps),x||(x=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts)),x.key=!0;break;case 34:if(I=!0,typeof e.params=="object"){if(!e.pps){e.pps=[];const re=this.readPPS(N.data);for(const ne in re)e.params[ne]=re[ne]}this.pushParameterSet(e.pps,N.data,e.vps)}break;case 35:I=!0,e.audFound=!0,(Z=x)!=null&&Z.frame&&(this.pushAccessUnit(x,e),x=null),x||(x=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts));break;default:I=!1;break}x&&I&&x.units.push(N)}),l&&x&&(this.pushAccessUnit(x,e),this.VideoSample=null)}pushParameterSet(e,t,n){(n&&n[0]===this.initVPS||!n&&!e.length)&&e.push(t)}getNALuType(e,t){return(e[t]&126)>>>1}ebsp2rbsp(e){const t=new Uint8Array(e.byteLength);let n=0;for(let l=0;l<e.byteLength;l++)l>=2&&e[l]===3&&e[l-1]===0&&e[l-2]===0||(t[n]=e[l],n++);return new Uint8Array(t.buffer,0,n)}pushAccessUnit(e,t){super.pushAccessUnit(e,t),this.initVPS&&(this.initVPS=null)}readVPS(e){const t=new ba(e);t.readUByte(),t.readUByte(),t.readBits(4),t.skipBits(2),t.readBits(6);const n=t.readBits(3),l=t.readBoolean();return{numTemporalLayers:n+1,temporalIdNested:l}}readSPS(e){const t=new ba(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.readBits(4);const n=t.readBits(3);t.readBoolean();const l=t.readBits(2),_=t.readBoolean(),x=t.readBits(5),I=t.readUByte(),k=t.readUByte(),N=t.readUByte(),j=t.readUByte(),Z=t.readUByte(),Q=t.readUByte(),re=t.readUByte(),ne=t.readUByte(),de=t.readUByte(),fe=t.readUByte(),Ae=t.readUByte(),we=[],Ie=[];for(let gn=0;gn<n;gn++)we.push(t.readBoolean()),Ie.push(t.readBoolean());if(n>0)for(let gn=n;gn<8;gn++)t.readBits(2);for(let gn=0;gn<n;gn++)we[gn]&&(t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte()),Ie[gn]&&t.readUByte();t.readUEG();const ze=t.readUEG();ze==3&&t.skipBits(1);const Je=t.readUEG(),wt=t.readUEG(),et=t.readBoolean();let gt=0,pt=0,st=0,Vt=0;et&&(gt+=t.readUEG(),pt+=t.readUEG(),st+=t.readUEG(),Vt+=t.readUEG());const _r=t.readUEG(),Sr=t.readUEG(),Br=t.readUEG(),Dr=t.readBoolean();for(let gn=Dr?0:n;gn<=n;gn++)t.skipUEG(),t.skipUEG(),t.skipUEG();if(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.readBoolean()&&t.readBoolean())for(let ni=0;ni<4;ni++)for(let vi=0;vi<(ni===3?2:6);vi++)if(!t.readBoolean())t.readUEG();else{const Di=Math.min(64,1<<4+(ni<<1));ni>1&&t.readEG();for(let da=0;da<Di;da++)t.readEG()}t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.skipUEG(),t.skipUEG(),t.readBoolean());const gr=t.readUEG();let Pr=0;for(let gn=0;gn<gr;gn++){let ni=!1;if(gn!==0&&(ni=t.readBoolean()),ni){gn===gr&&t.readUEG(),t.readBoolean(),t.readUEG();let vi=0;for(let Ji=0;Ji<=Pr;Ji++){const Di=t.readBoolean();let da=!1;Di||(da=t.readBoolean()),(Di||da)&&vi++}Pr=vi}else{const vi=t.readUEG(),Ji=t.readUEG();Pr=vi+Ji;for(let Di=0;Di<vi;Di++)t.readUEG(),t.readBoolean();for(let Di=0;Di<Ji;Di++)t.readUEG(),t.readBoolean()}}if(t.readBoolean()){const gn=t.readUEG();for(let ni=0;ni<gn;ni++){for(let vi=0;vi<Br+4;vi++)t.readBits(1);t.readBits(1)}}let fr=0,dr=1,tn=1,xn=!0,sn=1,fn=0;t.readBoolean(),t.readBoolean();let ri=!1;if(t.readBoolean()){if(t.readBoolean()){const qi=t.readUByte(),gl=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],ts=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];qi>0&&qi<16?(dr=gl[qi-1],tn=ts[qi-1]):qi===255&&(dr=t.readBits(16),tn=t.readBits(16))}if(t.readBoolean()&&t.readBoolean(),t.readBoolean()&&(t.readBits(3),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.readUByte(),t.readUByte())),t.readBoolean()&&(t.readUEG(),t.readUEG()),t.readBoolean(),t.readBoolean(),t.readBoolean(),ri=t.readBoolean(),ri&&(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG()),t.readBoolean()&&(sn=t.readBits(32),fn=t.readBits(32),t.readBoolean()&&t.readUEG(),t.readBoolean())){const ts=t.readBoolean(),vl=t.readBoolean();let wa=!1;(ts||vl)&&(wa=t.readBoolean(),wa&&(t.readUByte(),t.readBits(5),t.readBoolean(),t.readBits(5)),t.readBits(4),t.readBits(4),wa&&t.readBits(4),t.readBits(5),t.readBits(5),t.readBits(5));for(let yl=0;yl<=n;yl++){xn=t.readBoolean();const Hh=xn||t.readBoolean();let El=!1;Hh?t.readEG():El=t.readBoolean();const xl=El?1:t.readUEG()+1;if(ts)for(let Ca=0;Ca<xl;Ca++)t.readUEG(),t.readUEG(),wa&&(t.readUEG(),t.readUEG()),t.skipBits(1);if(vl)for(let Ca=0;Ca<xl;Ca++)t.readUEG(),t.readUEG(),wa&&(t.readUEG(),t.readUEG()),t.skipBits(1)}}t.readBoolean()&&(t.readBoolean(),t.readBoolean(),t.readBoolean(),fr=t.readUEG())}let gi=Je,Ii=wt;if(et){let gn=1,ni=1;ze===1?gn=ni=2:ze==2&&(gn=2),gi=Je-gn*pt-gn*gt,Ii=wt-ni*Vt-ni*st}const Qi=l?["A","B","C"][l]:"",Vh=I<<24|k<<16|N<<8|j;let Vs=0;for(let gn=0;gn<32;gn++)Vs=(Vs|(Vh>>gn&1)<<31-gn)>>>0;let Hs=Vs.toString(16);return x===1&&Hs==="2"&&(Hs="6"),{codecString:`hvc1.${Qi}${x}.${Hs}.${_?"H":"L"}${Ae}.B0`,params:{general_tier_flag:_,general_profile_idc:x,general_profile_space:l,general_profile_compatibility_flags:[I,k,N,j],general_constraint_indicator_flags:[Z,Q,re,ne,de,fe],general_level_idc:Ae,bit_depth:_r+8,bit_depth_luma_minus8:_r,bit_depth_chroma_minus8:Sr,min_spatial_segmentation_idc:fr,chroma_format_idc:ze,frame_rate:{fixed:xn,fps:fn/sn}},width:gi,height:Ii,pixelRatio:[dr,tn]}}readPPS(e){const t=new ba(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.skipUEG(),t.skipUEG(),t.skipBits(2),t.skipBits(3),t.skipBits(2),t.skipUEG(),t.skipUEG(),t.skipEG(),t.skipBits(2),t.readBoolean()&&t.skipUEG(),t.skipEG(),t.skipEG(),t.skipBits(4);const l=t.readBoolean(),_=t.readBoolean();let x=1;return _&&l?x=0:_?x=3:l&&(x=2),{parallelismType:x}}matchSPS(e,t){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,t).substr(3)}}const Vn=188;class Vi{constructor(e,t,n,l){this.logger=void 0,this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=n,this.logger=l,this.videoParser=null}static probe(e,t){const n=Vi.syncOffset(e);return n>0&&t.warn(`MPEG2-TS detected but first sync word found @ offset ${n}`),n!==-1}static syncOffset(e){const t=e.length;let n=Math.min(Vn*5,t-Vn)+1,l=0;for(;l<n;){let _=!1,x=-1,I=0;for(let k=l;k<t;k+=Vn)if(e[k]===71&&(t-k===Vn||e[k+Vn]===71)){if(I++,x===-1&&(x=k,x!==0&&(n=Math.min(x+Vn*99,e.length-Vn)+1)),_||(_=hs(e,k)===0),_&&I>1&&(x===0&&I>2||k+Vn>n))return x}else{if(I)return-1;break}l++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:Ge[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,n,l){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=Vi.createTrack("video"),this._videoTrack.duration=l,this._audioTrack=Vi.createTrack("audio",l),this._id3Track=Vi.createTrack("id3"),this._txtTrack=Vi.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=n}resetTimeStamp(){}resetContiguity(){const{_audioTrack:e,_videoTrack:t,_id3Track:n}=this;e&&(e.pesData=null),t&&(t.pesData=null),n&&(n.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,n=!1,l=!1){n||(this.sampleAes=null);let _;const x=this._videoTrack,I=this._audioTrack,k=this._id3Track,N=this._txtTrack;let j=x.pid,Z=x.pesData,Q=I.pid,re=k.pid,ne=I.pesData,de=k.pesData,fe=null,Ae=this.pmtParsed,we=this._pmtId,Ie=e.length;if(this.remainderData&&(e=tt(this.remainderData,e),Ie=e.length,this.remainderData=null),Ie<Vn&&!l)return this.remainderData=e,{audioTrack:I,videoTrack:x,id3Track:k,textTrack:N};const ze=Math.max(0,Vi.syncOffset(e));Ie-=(Ie-ze)%Vn,Ie<e.byteLength&&!l&&(this.remainderData=new Uint8Array(e.buffer,Ie,e.buffer.byteLength-Ie));let Je=0;for(let et=ze;et<Ie;et+=Vn)if(e[et]===71){const gt=!!(e[et+1]&64),pt=hs(e,et),st=(e[et+3]&48)>>4;let Vt;if(st>1){if(Vt=et+5+e[et+4],Vt===et+Vn)continue}else Vt=et+4;switch(pt){case j:gt&&(Z&&(_=oa(Z,this.logger))&&(this.readyVideoParser(x.segmentCodec),this.videoParser!==null&&this.videoParser.parsePES(x,N,_,!1)),Z={data:[],size:0}),Z&&(Z.data.push(e.subarray(Vt,et+Vn)),Z.size+=et+Vn-Vt);break;case Q:if(gt){if(ne&&(_=oa(ne,this.logger)))switch(I.segmentCodec){case"aac":this.parseAACPES(I,_);break;case"mp3":this.parseMPEGPES(I,_);break;case"ac3":this.parseAC3PES(I,_);break}ne={data:[],size:0}}ne&&(ne.data.push(e.subarray(Vt,et+Vn)),ne.size+=et+Vn-Vt);break;case re:gt&&(de&&(_=oa(de,this.logger))&&this.parseID3PES(k,_),de={data:[],size:0}),de&&(de.data.push(e.subarray(Vt,et+Vn)),de.size+=et+Vn-Vt);break;case 0:gt&&(Vt+=e[Vt]+1),we=this._pmtId=hu(e,Vt);break;case we:{gt&&(Vt+=e[Vt]+1);const _r=fu(e,Vt,this.typeSupported,n,this.observer,this.logger);j=_r.videoPid,j>0&&(x.pid=j,x.segmentCodec=_r.segmentVideoCodec),Q=_r.audioPid,Q>0&&(I.pid=Q,I.segmentCodec=_r.segmentAudioCodec),re=_r.id3Pid,re>0&&(k.pid=re),fe!==null&&!Ae&&(this.logger.warn(`MPEG-TS PMT found at ${et} after unknown PID '${fe}'. Backtracking to sync byte @${ze} to parse all TS packets.`),fe=null,et=ze-188),Ae=this.pmtParsed=!0;break}case 17:case 8191:break;default:fe=pt;break}}else Je++;Je>0&&fs(this.observer,new Error(`Found ${Je} TS packet/s that do not start with 0x47`),void 0,this.logger),x.pesData=Z,I.pesData=ne,k.pesData=de;const wt={audioTrack:I,videoTrack:x,id3Track:k,textTrack:N};return l&&this.extractRemainingSamples(wt),wt}flush(){const{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){const{audioTrack:t,videoTrack:n,id3Track:l,textTrack:_}=e,x=n.pesData,I=t.pesData,k=l.pesData;let N;if(x&&(N=oa(x,this.logger))?(this.readyVideoParser(n.segmentCodec),this.videoParser!==null&&(this.videoParser.parsePES(n,_,N,!0),n.pesData=null)):n.pesData=x,I&&(N=oa(I,this.logger))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,N);break;case"mp3":this.parseMPEGPES(t,N);break;case"ac3":this.parseAC3PES(t,N);break}t.pesData=null}else I!=null&&I.size&&this.logger.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=I;k&&(N=oa(k,this.logger))?(this.parseID3PES(l,N),l.pesData=null):l.pesData=k}demuxSampleAes(e,t,n){const l=this.demux(e,n,!0,!this.config.progressive),_=this.sampleAes=new lu(this.observer,this.config,t);return this.decrypt(l,_)}readyVideoParser(e){this.videoParser===null&&(e==="avc"?this.videoParser=new uu:e==="hevc"&&(this.videoParser=new cu))}decrypt(e,t){return new Promise(n=>{const{audioTrack:l,videoTrack:_}=e;l.samples&&l.segmentCodec==="aac"?t.decryptAacSamples(l.samples,0,()=>{_.samples?t.decryptAvcSamples(_.samples,0,0,()=>{n(e)}):n(e)}):_.samples&&t.decryptAvcSamples(_.samples,0,0,()=>{n(e)})})}destroy(){this.observer&&this.observer.removeAllListeners(),this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0}parseAACPES(e,t){let n=0;const l=this.aacOverFlow;let _=t.data;if(l){this.aacOverFlow=null;const Z=l.missing,Q=l.sample.unit.byteLength;if(Z===-1)_=tt(l.sample.unit,_);else{const re=Q-Z;l.sample.unit.set(_.subarray(0,Z),re),e.samples.push(l.sample),n=l.missing}}let x,I;for(x=n,I=_.length;x<I-1&&!Ba(_,x);x++);if(x!==n){let Z;const Q=x<I-1;if(Q?Z=`AAC PES did not start with ADTS header,offset:${x}`:Z="No ADTS header found in AAC PES",fs(this.observer,new Error(Z),Q,this.logger),!Q)return}Qs(e,this.observer,_,x,this.audioCodec);let k;if(t.pts!==void 0)k=t.pts;else if(l){const Z=Js(e.samplerate);k=l.sample.pts+Z}else{this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");return}let N=0,j;for(;x<I;)if(j=qs(e,_,x,k,N),x+=j.length,j.missing){this.aacOverFlow=j;break}else for(N++;x<I-1&&!Ba(_,x);x++);}parseMPEGPES(e,t){const n=t.data,l=n.length;let _=0,x=0;const I=t.pts;if(I===void 0){this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;x<l;)if(io(n,x)){const k=ro(e,n,x,I,_);if(k)x+=k.length,_++;else break}else x++}parseAC3PES(e,t){{const n=t.data,l=t.pts;if(l===void 0){this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");return}const _=n.length;let x=0,I=0,k;for(;I<_&&(k=oo(e,n,I,l,x++))>0;)I+=k}}parseID3PES(e,t){if(t.pts===void 0){this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");return}const n=u({},t,{type:this._videoTrack?di.emsg:di.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(n)}}function hs(A,e){return((A[e+1]&31)<<8)+A[e+2]}function hu(A,e){return(A[e+10]&31)<<8|A[e+11]}function fu(A,e,t,n,l,_){const x={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},I=(A[e+1]&15)<<8|A[e+2],k=e+3+I-4,N=(A[e+10]&15)<<8|A[e+11];for(e+=12+N;e<k;){const j=hs(A,e),Z=(A[e+3]&15)<<8|A[e+4];switch(A[e]){case 207:if(!n){ds("ADTS AAC",_);break}case 15:x.audioPid===-1&&(x.audioPid=j);break;case 21:x.id3Pid===-1&&(x.id3Pid=j);break;case 219:if(!n){ds("H.264",_);break}case 27:x.videoPid===-1&&(x.videoPid=j);break;case 3:case 4:!t.mpeg&&!t.mp3?_.log("MPEG audio found, not supported in this browser"):x.audioPid===-1&&(x.audioPid=j,x.segmentAudioCodec="mp3");break;case 193:if(!n){ds("AC-3",_);break}case 129:t.ac3?x.audioPid===-1&&(x.audioPid=j,x.segmentAudioCodec="ac3"):_.log("AC-3 audio found, not supported in this browser");break;case 6:if(x.audioPid===-1&&Z>0){let Q=e+5,re=Z;for(;re>2;){switch(A[Q]){case 106:t.ac3!==!0?_.log("AC-3 audio found, not supported in this browser for now"):(x.audioPid=j,x.segmentAudioCodec="ac3");break}const de=A[Q+1]+2;Q+=de,re-=de}}break;case 194:case 135:return fs(l,new Error("Unsupported EC-3 in M2TS found"),void 0,_),x;case 36:x.videoPid===-1&&(x.videoPid=j,x.segmentVideoCodec="hevc",_.log("HEVC in M2TS found"));break}e+=Z+5}return x}function fs(A,e,t,n){n.warn(`parsing error: ${e.message}`),A.emit(y.ERROR,y.ERROR,{type:D.MEDIA_ERROR,details:W.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:e,reason:e.message})}function ds(A,e){e.log(`${A} with AES-128-CBC encryption found in unencrypted stream`)}function oa(A,e){let t=0,n,l,_,x,I;const k=A.data;if(!A||A.size===0)return null;for(;k[0].length<19&&k.length>1;)k[0]=tt(k[0],k[1]),k.splice(1,1);if(n=k[0],(n[0]<<16)+(n[1]<<8)+n[2]===1){if(l=(n[4]<<8)+n[5],l&&l>A.size-6)return null;const j=n[7];j&192&&(x=(n[9]&14)*536870912+(n[10]&255)*4194304+(n[11]&254)*16384+(n[12]&255)*128+(n[13]&254)/2,j&64?(I=(n[14]&14)*536870912+(n[15]&255)*4194304+(n[16]&254)*16384+(n[17]&255)*128+(n[18]&254)/2,x-I>60*9e4&&(e.warn(`${Math.round((x-I)/9e4)}s delta between PTS and DTS, align them`),x=I)):I=x),_=n[8];let Z=_+9;if(A.size<=Z)return null;A.size-=Z;const Q=new Uint8Array(A.size);for(let re=0,ne=k.length;re<ne;re++){n=k[re];let de=n.byteLength;if(Z)if(Z>de){Z-=de;continue}else n=n.subarray(Z),de-=Z,Z=0;Q.set(n,t),t+=de}return l&&(l-=_+3),{data:Q,pts:x,dts:I,len:l}}return null}class du{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===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(t===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]);break;default:if(t===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(t===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(t===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]);break}}}const Hi=Math.pow(2,32)-1;class ct{static init(){ct.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in ct.types)ct.types.hasOwnProperty(e)&&(ct.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);const t=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]),n=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]);ct.HDLR_TYPES={video:t,audio:n};const l=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),_=new Uint8Array([0,0,0,0,0,0,0,0]);ct.STTS=ct.STSC=ct.STCO=_,ct.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),ct.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),ct.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),ct.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);const x=new Uint8Array([105,115,111,109]),I=new Uint8Array([97,118,99,49]),k=new Uint8Array([0,0,0,1]);ct.FTYP=ct.box(ct.types.ftyp,x,k,x,I),ct.DINF=ct.box(ct.types.dinf,ct.box(ct.types.dref,l))}static box(e,...t){let n=8,l=t.length;const _=l;for(;l--;)n+=t[l].byteLength;const x=new Uint8Array(n);for(x[0]=n>>24&255,x[1]=n>>16&255,x[2]=n>>8&255,x[3]=n&255,x.set(e,4),l=0,n=8;l<_;l++)x.set(t[l],n),n+=t[l].byteLength;return x}static hdlr(e){return ct.box(ct.types.hdlr,ct.HDLR_TYPES[e])}static mdat(e){return ct.box(ct.types.mdat,e)}static mdhd(e,t){t*=e;const n=Math.floor(t/(Hi+1)),l=Math.floor(t%(Hi+1));return ct.box(ct.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,n>>24,n>>16&255,n>>8&255,n&255,l>>24,l>>16&255,l>>8&255,l&255,85,196,0,0]))}static mdia(e){return ct.box(ct.types.mdia,ct.mdhd(e.timescale||0,e.duration||0),ct.hdlr(e.type),ct.minf(e))}static mfhd(e){return ct.box(ct.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?ct.box(ct.types.minf,ct.box(ct.types.smhd,ct.SMHD),ct.DINF,ct.stbl(e)):ct.box(ct.types.minf,ct.box(ct.types.vmhd,ct.VMHD),ct.DINF,ct.stbl(e))}static moof(e,t,n){return ct.box(ct.types.moof,ct.mfhd(e),ct.traf(n,t))}static moov(e){let t=e.length;const n=[];for(;t--;)n[t]=ct.trak(e[t]);return ct.box.apply(null,[ct.types.moov,ct.mvhd(e[0].timescale||0,e[0].duration||0)].concat(n).concat(ct.mvex(e)))}static mvex(e){let t=e.length;const n=[];for(;t--;)n[t]=ct.trex(e[t]);return ct.box.apply(null,[ct.types.mvex,...n])}static mvhd(e,t){t*=e;const n=Math.floor(t/(Hi+1)),l=Math.floor(t%(Hi+1)),_=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,n>>24,n>>16&255,n>>8&255,n&255,l>>24,l>>16&255,l>>8&255,l&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]);return ct.box(ct.types.mvhd,_)}static sdtp(e){const t=e.samples||[],n=new Uint8Array(4+t.length);let l,_;for(l=0;l<t.length;l++)_=t[l].flags,n[l+4]=_.dependsOn<<4|_.isDependedOn<<2|_.hasRedundancy;return ct.box(ct.types.sdtp,n)}static stbl(e){return ct.box(ct.types.stbl,ct.stsd(e),ct.box(ct.types.stts,ct.STTS),ct.box(ct.types.stsc,ct.STSC),ct.box(ct.types.stsz,ct.STSZ),ct.box(ct.types.stco,ct.STCO))}static avc1(e){let t=[],n=[],l,_,x;for(l=0;l<e.sps.length;l++)_=e.sps[l],x=_.byteLength,t.push(x>>>8&255),t.push(x&255),t=t.concat(Array.prototype.slice.call(_));for(l=0;l<e.pps.length;l++)_=e.pps[l],x=_.byteLength,n.push(x>>>8&255),n.push(x&255),n=n.concat(Array.prototype.slice.call(_));const I=ct.box(ct.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(n))),k=e.width,N=e.height,j=e.pixelRatio[0],Z=e.pixelRatio[1];return ct.box(ct.types.avc1,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,k>>8&255,k&255,N>>8&255,N&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),I,ct.box(ct.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),ct.box(ct.types.pasp,new Uint8Array([j>>24,j>>16&255,j>>8&255,j&255,Z>>24,Z>>16&255,Z>>8&255,Z&255])))}static esds(e){const t=e.config;return new Uint8Array([0,0,0,0,3,25,0,1,0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,...t,6,1,2])}static audioStsd(e){const t=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,t>>8&255,t&255,0,0])}static mp4a(e){return ct.box(ct.types.mp4a,ct.audioStsd(e),ct.box(ct.types.esds,ct.esds(e)))}static mp3(e){return ct.box(ct.types[".mp3"],ct.audioStsd(e))}static ac3(e){return ct.box(ct.types["ac-3"],ct.audioStsd(e),ct.box(ct.types.dac3,e.config))}static stsd(e){const{segmentCodec:t}=e;if(e.type==="audio"){if(t==="aac")return ct.box(ct.types.stsd,ct.STSD,ct.mp4a(e));if(t==="ac3"&&e.config)return ct.box(ct.types.stsd,ct.STSD,ct.ac3(e));if(t==="mp3"&&e.codec==="mp3")return ct.box(ct.types.stsd,ct.STSD,ct.mp3(e))}else if(e.pps&&e.sps){if(t==="avc")return ct.box(ct.types.stsd,ct.STSD,ct.avc1(e));if(t==="hevc"&&e.vps)return ct.box(ct.types.stsd,ct.STSD,ct.hvc1(e))}else throw new Error("video track missing pps or sps");throw new Error(`unsupported ${e.type} segment codec (${t}/${e.codec})`)}static tkhd(e){const t=e.id,n=(e.duration||0)*(e.timescale||0),l=e.width||0,_=e.height||0,x=Math.floor(n/(Hi+1)),I=Math.floor(n%(Hi+1));return ct.box(ct.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,x>>24,x>>16&255,x>>8&255,x&255,I>>24,I>>16&255,I>>8&255,I&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,l>>8&255,l&255,0,0,_>>8&255,_&255,0,0]))}static traf(e,t){const n=ct.sdtp(e),l=e.id,_=Math.floor(t/(Hi+1)),x=Math.floor(t%(Hi+1));return ct.box(ct.types.traf,ct.box(ct.types.tfhd,new Uint8Array([0,0,0,0,l>>24,l>>16&255,l>>8&255,l&255])),ct.box(ct.types.tfdt,new Uint8Array([1,0,0,0,_>>24,_>>16&255,_>>8&255,_&255,x>>24,x>>16&255,x>>8&255,x&255])),ct.trun(e,n.length+16+20+8+16+8+8),n)}static trak(e){return e.duration=e.duration||4294967295,ct.box(ct.types.trak,ct.tkhd(e),ct.mdia(e))}static trex(e){const t=e.id;return ct.box(ct.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){const n=e.samples||[],l=n.length,_=12+16*l,x=new Uint8Array(_);let I,k,N,j,Z,Q;for(t+=8+_,x.set([e.type==="video"?1:0,0,15,1,l>>>24&255,l>>>16&255,l>>>8&255,l&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),I=0;I<l;I++)k=n[I],N=k.duration,j=k.size,Z=k.flags,Q=k.cts,x.set([N>>>24&255,N>>>16&255,N>>>8&255,N&255,j>>>24&255,j>>>16&255,j>>>8&255,j&255,Z.isLeading<<2|Z.dependsOn,Z.isDependedOn<<6|Z.hasRedundancy<<4|Z.paddingValue<<1|Z.isNonSync,Z.degradPrio&61440,Z.degradPrio&15,Q>>>24&255,Q>>>16&255,Q>>>8&255,Q&255],12+16*I);return ct.box(ct.types.trun,x)}static initSegment(e){ct.types||ct.init();const t=ct.moov(e);return tt(ct.FTYP,t)}static hvc1(e){const t=e.params,n=[e.vps,e.sps,e.pps],l=4,_=new Uint8Array([1,t.general_profile_space<<6|(t.general_tier_flag?32:0)|t.general_profile_idc,t.general_profile_compatibility_flags[0],t.general_profile_compatibility_flags[1],t.general_profile_compatibility_flags[2],t.general_profile_compatibility_flags[3],t.general_constraint_indicator_flags[0],t.general_constraint_indicator_flags[1],t.general_constraint_indicator_flags[2],t.general_constraint_indicator_flags[3],t.general_constraint_indicator_flags[4],t.general_constraint_indicator_flags[5],t.general_level_idc,240|t.min_spatial_segmentation_idc>>8,255&t.min_spatial_segmentation_idc,252|t.parallelismType,252|t.chroma_format_idc,248|t.bit_depth_luma_minus8,248|t.bit_depth_chroma_minus8,0,parseInt(t.frame_rate.fps),l-1|t.temporal_id_nested<<2|t.num_temporal_layers<<3|(t.frame_rate.fixed?64:0),n.length]);let x=_.length;for(let ne=0;ne<n.length;ne+=1){x+=3;for(let de=0;de<n[ne].length;de+=1)x+=2+n[ne][de].length}const I=new Uint8Array(x);I.set(_,0),x=_.length;const k=n.length-1;for(let ne=0;ne<n.length;ne+=1){I.set(new Uint8Array([32+ne|(ne===k?128:0),0,n[ne].length]),x),x+=3;for(let de=0;de<n[ne].length;de+=1)I.set(new Uint8Array([n[ne][de].length>>8,n[ne][de].length&255]),x),x+=2,I.set(n[ne][de],x),x+=n[ne][de].length}const N=ct.box(ct.types.hvcC,I),j=e.width,Z=e.height,Q=e.pixelRatio[0],re=e.pixelRatio[1];return ct.box(ct.types.hvc1,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,j>>8&255,j&255,Z>>8&255,Z&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),N,ct.box(ct.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),ct.box(ct.types.pasp,new Uint8Array([Q>>24,Q>>16&255,Q>>8&255,Q&255,re>>24,re>>16&255,re>>8&255,re&255])))}}ct.types=void 0,ct.HDLR_TYPES=void 0,ct.STTS=void 0,ct.STSC=void 0,ct.STCO=void 0,ct.STSZ=void 0,ct.VMHD=void 0,ct.SMHD=void 0,ct.STSD=void 0,ct.FTYP=void 0,ct.DINF=void 0;const co=9e4;function _s(A,e,t=1,n=!1){const l=A*e*t;return n?Math.round(l):l}function _u(A,e,t=1,n=!1){return _s(A,e,1/t,n)}function Sa(A,e=!1){return _s(A,1e3,1/co,e)}function mu(A,e=1){return _s(A,co,1/e)}function ho(A){const{baseTime:e,timescale:t,trackId:n}=A;return`${e/t} (${e}/${t}) trackId: ${n}`}const pu=10*1e3,gu=1024,vu=1152,yu=1536;let la=null,ms=null;function fo(A,e,t,n){return{duration:e,size:t,cts:n,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:A?2:1,isNonSync:A?0:1}}}class ka extends p{constructor(e,t,n,l){if(super("mp4-remuxer",l),this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=n,this.ISGenerated=!1,la===null){const x=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);la=x?parseInt(x[1]):0}if(ms===null){const _=navigator.userAgent.match(/Safari\/(\d+)/i);ms=_?parseInt(_[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){const t=this._initPTS;(!t||!e||e.trackId!==t.trackId||e.baseTime!==t.baseTime||e.timescale!==t.timescale)&&this.log(`Reset initPTS: ${t&&ho(t)} > ${e&&ho(e)}`),this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1;const n=e[0].pts,l=e.reduce((_,x)=>{let I=x.pts,k=I-_;return k<-4294967296&&(t=!0,I=_i(I,n),k=I-_),k>0?_:I},n);return t&&this.debug("PTS rollover detected"),l}remux(e,t,n,l,_,x,I,k){let N,j,Z,Q,re,ne,de=_,fe=_;const Ae=e.pid>-1,we=t.pid>-1,Ie=t.samples.length,ze=e.samples.length>0,Je=I&&Ie>0||Ie>1;if((!Ae||ze)&&(!we||Je)||this.ISGenerated||I){if(this.ISGenerated){var et,gt,pt,st;const Br=this.videoTrackConfig;(Br&&(t.width!==Br.width||t.height!==Br.height||((et=t.pixelRatio)==null?void 0:et[0])!==((gt=Br.pixelRatio)==null?void 0:gt[0])||((pt=t.pixelRatio)==null?void 0:pt[1])!==((st=Br.pixelRatio)==null?void 0:st[1]))||!Br&&Je||this.nextAudioTs===null&&ze)&&this.resetInitSegment()}this.ISGenerated||(Z=this.generateIS(e,t,_,x));const Vt=this.isVideoContiguous;let _r=-1,Sr;if(Je&&(_r=Eu(t.samples),!Vt&&this.config.forceKeyFrameOnDiscontinuity))if(ne=!0,_r>0){this.warn(`Dropped ${_r} out of ${Ie} video samples due to a missing keyframe`);const Br=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(_r),t.dropped+=_r,fe+=(t.samples[0].pts-Br)/t.inputTimeScale,Sr=fe}else _r===-1&&(this.warn(`No keyframe found out of ${Ie} video samples`),ne=!1);if(this.ISGenerated){if(ze&&Je){const Br=this.getVideoStartPts(t.samples),sr=(_i(e.samples[0].pts,Br)-Br)/t.inputTimeScale;de+=Math.max(0,sr),fe+=Math.max(0,-sr)}if(ze){if(e.samplerate||(this.warn("regenerate InitSegment as audio detected"),Z=this.generateIS(e,t,_,x)),j=this.remuxAudio(e,de,this.isAudioContiguous,x,we||Je||k===b.AUDIO?fe:void 0),Je){const Br=j?j.endPTS-j.startPTS:0;t.inputTimeScale||(this.warn("regenerate InitSegment as video detected"),Z=this.generateIS(e,t,_,x)),N=this.remuxVideo(t,fe,Vt,Br)}}else Je&&(N=this.remuxVideo(t,fe,Vt,0));N&&(N.firstKeyFrame=_r,N.independent=_r!==-1,N.firstKeyFramePTS=Sr)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(n.samples.length&&(re=_o(n,_,this._initPTS,this._initDTS)),l.samples.length&&(Q=mo(l,_,this._initPTS))),{audio:j,video:N,initSegment:Z,independent:ne,text:Q,id3:re}}computeInitPts(e,t,n,l){const _=Math.round(n*t);let x=_i(e,_);if(x<_+t)for(this.log(`Adjusting PTS for rollover in timeline near ${(_-x)/t} ${l}`);x<_+t;)x+=8589934592;return x-_}generateIS(e,t,n,l){const _=e.samples,x=t.samples,I=this.typeSupported,k={},N=this._initPTS;let j=!N||l,Z="audio/mp4",Q,re,ne,de=-1;if(j&&(Q=re=1/0),e.config&&_.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":I.mpeg?(Z="audio/mpeg",e.codec=""):I.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break}k.audio={id:"audio",container:Z,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&I.mpeg?new Uint8Array(0):ct.initSegment([e]),metadata:{channelCount:e.channelCount}},j&&(de=e.id,ne=e.inputTimeScale,!N||ne!==N.timescale?Q=re=this.computeInitPts(_[0].pts,ne,n,"audio"):j=!1)}if(t.sps&&t.pps&&x.length){if(t.timescale=t.inputTimeScale,k.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:ct.initSegment([t]),metadata:{width:t.width,height:t.height}},j)if(de=t.id,ne=t.inputTimeScale,!N||ne!==N.timescale){const fe=this.getVideoStartPts(x),Ae=_i(x[0].dts,fe),we=this.computeInitPts(Ae,ne,n,"video"),Ie=this.computeInitPts(fe,ne,n,"video");re=Math.min(re,we),Q=Math.min(Q,Ie)}else j=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(k).length)return this.ISGenerated=!0,j?(N&&this.warn(`Timestamps at playlist time: ${l?"":"~"}${n} ${Q/ne} != initPTS: ${N.baseTime/N.timescale} (${N.baseTime}/${N.timescale}) trackId: ${N.trackId}`),this.log(`Found initPTS at playlist time: ${n} offset: ${Q/ne} (${Q}/${ne}) trackId: ${de}`),this._initPTS={baseTime:Q,timescale:ne,trackId:de},this._initDTS={baseTime:re,timescale:ne,trackId:de}):Q=ne=void 0,{tracks:k,initPTS:Q,timescale:ne,trackId:de}}remuxVideo(e,t,n,l){const _=e.inputTimeScale,x=e.samples,I=[],k=x.length,N=this._initPTS,j=N.baseTime*_/N.timescale;let Z=this.nextVideoTs,Q=8,re=this.videoSampleDuration,ne,de,fe=Number.POSITIVE_INFINITY,Ae=Number.NEGATIVE_INFINITY,we=!1;if(!n||Z===null){const fr=j+t*_,dr=x[0].pts-_i(x[0].dts,x[0].pts);la&&Z!==null&&Math.abs(fr-dr-(Z+j))<15e3?n=!0:Z=fr-dr-j}const Ie=Z+j;for(let fr=0;fr<k;fr++){const dr=x[fr];dr.pts=_i(dr.pts,Ie),dr.dts=_i(dr.dts,Ie),dr.dts<x[fr>0?fr-1:fr].dts&&(we=!0)}we&&x.sort(function(fr,dr){const tn=fr.dts-dr.dts,xn=fr.pts-dr.pts;return tn||xn}),ne=x[0].dts,de=x[x.length-1].dts;const ze=de-ne,Je=ze?Math.round(ze/(k-1)):re||e.inputTimeScale/30;if(n){const fr=ne-Ie,dr=fr>Je,tn=fr<-1;if((dr||tn)&&(dr?this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${Sa(fr,!0)} ms (${fr}dts) hole between fragments detected at ${t.toFixed(3)}`):this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${Sa(-fr,!0)} ms (${fr}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!tn||Ie>=x[0].pts||la)){ne=Ie;const xn=x[0].pts-fr;if(dr)x[0].dts=ne,x[0].pts=xn;else{let sn=!0;for(let fn=0;fn<x.length&&!(x[fn].dts>xn&&sn);fn++){const ri=x[fn].pts;if(x[fn].dts-=fr,x[fn].pts-=fr,fn<x.length-1){const Yn=x[fn+1].pts,gi=x[fn].pts,Ii=Yn<=gi,Qi=Yn<=ri;sn=Ii==Qi}}}this.log(`Video: Initial PTS/DTS adjusted: ${Sa(xn,!0)}/${Sa(ne,!0)}, delta: ${Sa(fr,!0)} ms`)}}ne=Math.max(0,ne);let wt=0,et=0,gt=ne;for(let fr=0;fr<k;fr++){const dr=x[fr],tn=dr.units,xn=tn.length;let sn=0;for(let fn=0;fn<xn;fn++)sn+=tn[fn].data.length;et+=sn,wt+=xn,dr.length=sn,dr.dts<gt?(dr.dts=gt,gt+=Je/4|0||1):gt=dr.dts,fe=Math.min(dr.pts,fe),Ae=Math.max(dr.pts,Ae)}de=x[k-1].dts;const pt=et+4*wt+8;let st;try{st=new Uint8Array(pt)}catch(fr){this.observer.emit(y.ERROR,y.ERROR,{type:D.MUX_ERROR,details:W.REMUX_ALLOC_ERROR,fatal:!1,error:fr,bytes:pt,reason:`fail allocating video mdat ${pt}`});return}const Vt=new DataView(st.buffer);Vt.setUint32(0,pt),st.set(ct.types.mdat,4);let _r=!1,Sr=Number.POSITIVE_INFINITY,Br=Number.POSITIVE_INFINITY,Dr=Number.NEGATIVE_INFINITY,sr=Number.NEGATIVE_INFINITY;for(let fr=0;fr<k;fr++){const dr=x[fr],tn=dr.units;let xn=0;for(let ri=0,Yn=tn.length;ri<Yn;ri++){const gi=tn[ri],Ii=gi.data,Qi=gi.data.byteLength;Vt.setUint32(Q,Qi),Q+=4,st.set(Ii,Q),Q+=Qi,xn+=4+Qi}let sn;if(fr<k-1)re=x[fr+1].dts-dr.dts,sn=x[fr+1].pts-dr.pts;else{const ri=this.config,Yn=fr>0?dr.dts-x[fr-1].dts:Je;if(sn=fr>0?dr.pts-x[fr-1].pts:Je,ri.stretchShortVideoTrack&&this.nextAudioTs!==null){const gi=Math.floor(ri.maxBufferHole*_),Ii=(l?fe+l*_:this.nextAudioTs+j)-dr.pts;Ii>gi?(re=Ii-Yn,re<0?re=Yn:_r=!0,this.log(`It is approximately ${Ii/90} ms to the next segment; using duration ${re/90} ms for the last video frame.`)):re=Yn}else re=Yn}const fn=Math.round(dr.pts-dr.dts);Sr=Math.min(Sr,re),Dr=Math.max(Dr,re),Br=Math.min(Br,sn),sr=Math.max(sr,sn),I.push(fo(dr.key,re,xn,fn))}if(I.length){if(la){if(la<70){const fr=I[0].flags;fr.dependsOn=2,fr.isNonSync=0}}else if(ms&&sr-Br<Dr-Sr&&Je/Dr<.025&&I[0].cts===0){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let fr=ne;for(let dr=0,tn=I.length;dr<tn;dr++){const xn=fr+I[dr].duration,sn=fr+I[dr].cts;if(dr<tn-1){const fn=xn+I[dr+1].cts;I[dr].duration=fn-sn}else I[dr].duration=dr?I[dr-1].duration:Je;I[dr].cts=0,fr=xn}}}re=_r||!re?Je:re;const Ir=de+re;this.nextVideoTs=Z=Ir-j,this.videoSampleDuration=re,this.isVideoContiguous=!0;const zr={data1:ct.moof(e.sequenceNumber++,ne,u(e,{samples:I})),data2:st,startPTS:(fe-j)/_,endPTS:(Ae+re-j)/_,startDTS:(ne-j)/_,endDTS:Z/_,type:"video",hasAudio:!1,hasVideo:!0,nb:I.length,dropped:e.dropped};return e.samples=[],e.dropped=0,zr}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return vu;case"ac3":return yu;default:return gu}}remuxAudio(e,t,n,l,_){const x=e.inputTimeScale,I=e.samplerate?e.samplerate:x,k=x/I,N=this.getSamplesPerFrame(e),j=N*k,Z=this._initPTS,Q=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,re=[],ne=_!==void 0;let de=e.samples,fe=Q?0:8,Ae=this.nextAudioTs||-1;const we=Z.baseTime*x/Z.timescale,Ie=we+t*x;if(this.isAudioContiguous=n=n||de.length&&Ae>0&&(l&&Math.abs(Ie-(Ae+we))<9e3||Math.abs(_i(de[0].pts,Ie)-(Ae+we))<20*j),de.forEach(function(sr){sr.pts=_i(sr.pts,Ie)}),!n||Ae<0){const sr=de.length;if(de=de.filter(Ir=>Ir.pts>=0),sr!==de.length&&this.warn(`Removed ${de.length-sr} of ${sr} samples (initPTS ${we} / ${x})`),!de.length)return;_===0?Ae=0:l&&!ne?Ae=Math.max(0,Ie-we):Ae=de[0].pts-we}if(e.segmentCodec==="aac"){const sr=this.config.maxAudioFramesDrift;for(let Ir=0,gr=Ae+we;Ir<de.length;Ir++){const Pr=de[Ir],zr=Pr.pts,fr=zr-gr,dr=Math.abs(1e3*fr/x);if(fr<=-sr*j&&ne)Ir===0&&(this.warn(`Audio frame @ ${(zr/x).toFixed(3)}s overlaps marker by ${Math.round(1e3*fr/x)} ms.`),this.nextAudioTs=Ae=zr-we,gr=zr);else if(fr>=sr*j&&dr<pu&&ne){let tn=Math.round(fr/j);for(gr=zr-tn*j;gr<0&&tn&&j;)tn--,gr+=j;Ir===0&&(this.nextAudioTs=Ae=gr-we),this.warn(`Injecting ${tn} audio frames @ ${((gr-we)/x).toFixed(3)}s due to ${Math.round(1e3*fr/x)} ms gap.`);for(let xn=0;xn<tn;xn++){let sn=du.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);sn||(this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),sn=Pr.unit.subarray()),de.splice(Ir,0,{unit:sn,pts:gr}),gr+=j,Ir++}}Pr.pts=gr,gr+=j}}let ze=null,Je=null,wt,et=0,gt=de.length;for(;gt--;)et+=de[gt].unit.byteLength;for(let sr=0,Ir=de.length;sr<Ir;sr++){const gr=de[sr],Pr=gr.unit;let zr=gr.pts;if(Je!==null){const dr=re[sr-1];dr.duration=Math.round((zr-Je)/k)}else if(n&&e.segmentCodec==="aac"&&(zr=Ae+we),ze=zr,et>0){et+=fe;try{wt=new Uint8Array(et)}catch(dr){this.observer.emit(y.ERROR,y.ERROR,{type:D.MUX_ERROR,details:W.REMUX_ALLOC_ERROR,fatal:!1,error:dr,bytes:et,reason:`fail allocating audio mdat ${et}`});return}Q||(new DataView(wt.buffer).setUint32(0,et),wt.set(ct.types.mdat,4))}else return;wt.set(Pr,fe);const fr=Pr.byteLength;fe+=fr,re.push(fo(!0,N,fr,0)),Je=zr}const pt=re.length;if(!pt)return;const st=re[re.length-1];Ae=Je-we,this.nextAudioTs=Ae+k*st.duration;const Vt=Q?new Uint8Array(0):ct.moof(e.sequenceNumber++,ze/k,u({},e,{samples:re}));e.samples=[];const _r=(ze-we)/x,Sr=Ae/x,Dr={data1:Vt,data2:wt,startPTS:_r,endPTS:Sr,startDTS:_r,endDTS:Sr,type:"audio",hasAudio:!0,hasVideo:!1,nb:pt};return this.isAudioContiguous=!0,Dr}}function _i(A,e){let t;if(e===null)return A;for(e<A?t=-8589934592:t=8589934592;Math.abs(A-e)>4294967296;)A+=t;return A}function Eu(A){for(let e=0;e<A.length;e++)if(A[e].key)return e;return-1}function _o(A,e,t,n){const l=A.samples.length;if(!l)return;const _=A.inputTimeScale;for(let I=0;I<l;I++){const k=A.samples[I];k.pts=_i(k.pts-t.baseTime*_/t.timescale,e*_)/_,k.dts=_i(k.dts-n.baseTime*_/n.timescale,e*_)/_}const x=A.samples;return A.samples=[],{samples:x}}function mo(A,e,t){const n=A.samples.length;if(!n)return;const l=A.inputTimeScale;for(let x=0;x<n;x++){const I=A.samples[x];I.pts=_i(I.pts-t.baseTime*l/t.timescale,e*l)/l}A.samples.sort((x,I)=>x.pts-I.pts);const _=A.samples;return A.samples=[],{samples:_}}class xu extends p{constructor(e,t,n,l){super("passthrough-remuxer",l),this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null,this.isVideoContiguous=!1}destroy(){}resetTimeStamp(e){this.lastEndTime=null;const t=this.initPTS;t&&e&&t.baseTime===e.baseTime&&t.timescale===e.timescale||(this.initPTS=e)}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,t,n,l){this.audioCodec=t,this.videoCodec=n,this.generateInitSegment(e,l),this.emitInitSegment=!0}generateInitSegment(e,t){let{audioCodec:n,videoCodec:l}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}const{audio:_,video:x}=this.initData=Ue(e);if(t)Te(e,t);else{const k=_||x;k!=null&&k.encrypted&&this.warn(`Init segment with encrypted track with has no key ("${k.codec}")!`)}_&&(n=po(_,z.AUDIO,this)),x&&(l=po(x,z.VIDEO,this));const I={};_&&x?I.audiovideo={container:"video/mp4",codec:n+","+l,supplemental:x.supplemental,encrypted:x.encrypted,initSegment:e,id:"main"}:_?I.audio={container:"audio/mp4",codec:n,encrypted:_.encrypted,initSegment:e,id:"audio"}:x?I.video={container:"video/mp4",codec:l,supplemental:x.supplemental,encrypted:x.encrypted,initSegment:e,id:"main"}:this.warn("initSegment does not contain moov or trak boxes."),this.initTracks=I}remux(e,t,n,l,_,x){var I,k;let{initPTS:N,lastEndTime:j}=this;const Z={audio:void 0,video:void 0,text:l,id3:n,initSegment:void 0};ee(j)||(j=this.lastEndTime=_||0);const Q=t.samples;if(!Q.length)return Z;const re={initPTS:void 0,timescale:void 0,trackId:void 0};let ne=this.initData;if((I=ne)!=null&&I.length||(this.generateInitSegment(Q),ne=this.initData),!((k=ne)!=null&&k.length))return this.warn("Failed to generate initSegment."),Z;this.emitInitSegment&&(re.tracks=this.initTracks,this.emitInitSegment=!1);const de=lt(Q,ne,this),fe=ne.audio?de[ne.audio.id]:null,Ae=ne.video?de[ne.video.id]:null,we=Wa(Ae,1/0),Ie=Wa(fe,1/0),ze=Wa(Ae,0,!0),Je=Wa(fe,0,!0);let wt=_,et=0;const gt=fe&&(!Ae||!N&&Ie<we||N&&N.trackId===ne.audio.id),pt=gt?fe:Ae;if(pt){const gr=pt.timescale,Pr=pt.start-_*gr,zr=gt?ne.audio.id:ne.video.id;wt=pt.start/gr,et=gt?Je-Ie:ze-we,(x||!N)&&(Tu(N,wt,_,et)||gr!==N.timescale)&&(N&&this.warn(`Timestamps at playlist time: ${x?"":"~"}${_} ${Pr/gr} != initPTS: ${N.baseTime/N.timescale} (${N.baseTime}/${N.timescale}) trackId: ${N.trackId}`),this.log(`Found initPTS at playlist time: ${_} offset: ${wt-_} (${Pr}/${gr}) trackId: ${zr}`),N=null,re.initPTS=Pr,re.timescale=gr,re.trackId=zr)}else this.warn(`No audio or video samples found for initPTS at playlist time: ${_}`);N?(re.initPTS=N.baseTime,re.timescale=N.timescale,re.trackId=N.trackId):((!re.timescale||re.trackId===void 0||re.initPTS===void 0)&&(this.warn("Could not set initPTS"),re.initPTS=wt,re.timescale=1,re.trackId=-1),this.initPTS=N={baseTime:re.initPTS,timescale:re.timescale,trackId:re.trackId});const st=wt-N.baseTime/N.timescale,Vt=st+et;et>0?this.lastEndTime=Vt:(this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());const _r=!!ne.audio,Sr=!!ne.video;let Br="";_r&&(Br+="audio"),Sr&&(Br+="video");const Dr=(ne.audio?ne.audio.encrypted:!1)||(ne.video?ne.video.encrypted:!1),sr={data1:Q,startPTS:st,startDTS:st,endPTS:Vt,endDTS:Vt,type:Br,hasAudio:_r,hasVideo:Sr,nb:1,dropped:0,encrypted:Dr};Z.audio=_r&&!Sr?sr:void 0,Z.video=Sr?sr:void 0;const Ir=Ae==null?void 0:Ae.sampleCount;if(Ir){const gr=Ae.keyFrameIndex,Pr=gr!==-1;sr.nb=Ir,sr.dropped=gr===0||this.isVideoContiguous?0:Pr?gr:Ir,sr.independent=Pr,sr.firstKeyFrame=gr,Pr&&Ae.keyFrameStart&&(sr.firstKeyFramePTS=(Ae.keyFrameStart-N.baseTime)/N.timescale),this.isVideoContiguous||(Z.independent=Pr),this.isVideoContiguous||(this.isVideoContiguous=Pr),sr.dropped&&this.warn(`fmp4 does not start with IDR: firstIDR ${gr}/${Ir} dropped: ${sr.dropped} start: ${sr.firstKeyFramePTS||"NA"}`)}return Z.initSegment=re,Z.id3=_o(n,_,N,N),l.samples.length&&(Z.text=mo(l,_,N)),Z}}function Wa(A,e,t=!1){return(A==null?void 0:A.start)!==void 0?(A.start+(t?A.duration:0))/A.timescale:e}function Tu(A,e,t,n){if(A===null)return!0;const l=Math.max(n,1),_=e-A.baseTime/A.timescale;return Math.abs(_-t)>l}function po(A,e,t){const n=A.codec;return n&&n.length>4?n:e===z.AUDIO?n==="ec-3"||n==="ac-3"||n==="alac"?n:n==="fLaC"||n==="Opus"?dt(n,!1):(t.warn(`Unhandled audio codec "${n}" in mp4 MAP`),n||"mp4a"):(t.warn(`Unhandled video codec "${n}" in mp4 MAP`),n||"avc1")}let Ni;try{Ni=self.performance.now.bind(self.performance)}catch(A){Ni=Date.now}const Ka=[{demux:ou,remux:xu},{demux:Vi,remux:ka},{demux:nu,remux:ka},{demux:au,remux:ka}];Ka.splice(2,0,{demux:iu,remux:ka});class go{constructor(e,t,n,l,_,x){this.asyncResult=!1,this.logger=void 0,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=n,this.id=_,this.logger=x}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,n,l){const _=n.transmuxing;_.executeStart=Ni();let x=new Uint8Array(e);const{currentTransmuxState:I,transmuxConfig:k}=this;l&&(this.currentTransmuxState=l);const{contiguous:N,discontinuity:j,trackSwitch:Z,accurateTimeOffset:Q,timeOffset:re,initSegmentChange:ne}=l||I,{audioCodec:de,videoCodec:fe,defaultInitPts:Ae,duration:we,initSegmentData:Ie}=k,ze=Au(x,t);if(ze&&br(ze.method)){const gt=this.getDecrypter(),pt=Ur(ze.method);if(gt.isSync()){let st=gt.softwareDecrypt(x,ze.key.buffer,ze.iv.buffer,pt);if(n.part>-1){const _r=gt.flush();st=_r&&_r.buffer}if(!st)return _.executeEnd=Ni(),ps(n);x=new Uint8Array(st)}else return this.asyncResult=!0,this.decryptionPromise=gt.webCryptoDecrypt(x,ze.key.buffer,ze.iv.buffer,pt).then(st=>{const Vt=this.push(st,null,n);return this.decryptionPromise=null,Vt}),this.decryptionPromise}const Je=this.needsProbing(j,Z);if(Je){const gt=this.configureTransmuxer(x);if(gt)return this.logger.warn(`[transmuxer] ${gt.message}`),this.observer.emit(y.ERROR,y.ERROR,{type:D.MEDIA_ERROR,details:W.FRAG_PARSING_ERROR,fatal:!1,error:gt,reason:gt.message}),_.executeEnd=Ni(),ps(n)}(j||Z||ne||Je)&&this.resetInitSegment(Ie,de,fe,we,t),(j||ne||Je)&&this.resetInitialTimestamp(Ae),N||this.resetContiguity();const wt=this.transmux(x,ze,re,Q,n);this.asyncResult=Da(wt);const et=this.currentTransmuxState;return et.contiguous=!0,et.discontinuity=!1,et.trackSwitch=!1,_.executeEnd=Ni(),wt}flush(e){const t=e.transmuxing;t.executeStart=Ni();const{decrypter:n,currentTransmuxState:l,decryptionPromise:_}=this;if(_)return this.asyncResult=!0,_.then(()=>this.flush(e));const x=[],{timeOffset:I}=l;if(n){const Z=n.flush();Z&&x.push(this.push(Z.buffer,null,e))}const{demuxer:k,remuxer:N}=this;if(!k||!N){t.executeEnd=Ni();const Z=[ps(e)];return this.asyncResult?Promise.resolve(Z):Z}const j=k.flush(I);return Da(j)?(this.asyncResult=!0,j.then(Z=>(this.flushRemux(x,Z,e),x))):(this.flushRemux(x,j,e),this.asyncResult?Promise.resolve(x):x)}flushRemux(e,t,n){const{audioTrack:l,videoTrack:_,id3Track:x,textTrack:I}=t,{accurateTimeOffset:k,timeOffset:N}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${n.sn}${n.part>-1?" part: "+n.part:""} of ${this.id===b.MAIN?"level":"track"} ${n.level}`);const j=this.remuxer.remux(l,_,x,I,N,k,!0,this.id);e.push({remuxResult:j,chunkMeta:n}),n.transmuxing.executeEnd=Ni()}resetInitialTimestamp(e){const{demuxer:t,remuxer:n}=this;!t||!n||(t.resetTimeStamp(e),n.resetTimeStamp(e))}resetContiguity(){const{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,n,l,_){const{demuxer:x,remuxer:I}=this;!x||!I||(x.resetInitSegment(e,t,n,l),I.resetInitSegment(e,t,n,_))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,n,l,_){let x;return t&&t.method==="SAMPLE-AES"?x=this.transmuxSampleAes(e,t,n,l,_):x=this.transmuxUnencrypted(e,n,l,_),x}transmuxUnencrypted(e,t,n,l){const{audioTrack:_,videoTrack:x,id3Track:I,textTrack:k}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(_,x,I,k,t,n,!1,this.id),chunkMeta:l}}transmuxSampleAes(e,t,n,l,_){return this.demuxer.demuxSampleAes(e,t,n).then(x=>({remuxResult:this.remuxer.remux(x.audioTrack,x.videoTrack,x.id3Track,x.textTrack,n,l,!1,this.id),chunkMeta:_}))}configureTransmuxer(e){const{config:t,observer:n,typeSupported:l}=this;let _;for(let Z=0,Q=Ka.length;Z<Q;Z++){var x;if((x=Ka[Z].demux)!=null&&x.probe(e,this.logger)){_=Ka[Z];break}}if(!_)return new Error("Failed to find demuxer by probing fragment data");const I=this.demuxer,k=this.remuxer,N=_.remux,j=_.demux;(!k||!(k instanceof N))&&(this.remuxer=new N(n,t,l,this.logger)),(!I||!(I instanceof j))&&(this.demuxer=new j(n,t,l,this.logger),this.probe=j.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new Ln(this.config)),e}}function Au(A,e){let t=null;return A.byteLength>0&&(e==null?void 0:e.key)!=null&&e.iv!==null&&e.method!=null&&(t=e),t}const ps=A=>({remuxResult:{},chunkMeta:A});function Da(A){return"then"in A&&A.then instanceof Function}class bu{constructor(e,t,n,l,_){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=n,this.duration=l,this.defaultInitPts=_||null}}class Su{constructor(e,t,n,l,_,x){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=n,this.trackSwitch=l,this.timeOffset=_,this.initSegmentChange=x}}let vo=0;class yo{constructor(e,t,n,l){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=vo++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=k=>{const N=k.data,j=this.hls;if(!(!j||!(N!=null&&N.event)||N.instanceNo!==this.instanceNo))switch(N.event){case"init":{var Z;const Q=(Z=this.workerContext)==null?void 0:Z.objectURL;Q&&self.URL.revokeObjectURL(Q);break}case"transmuxComplete":{this.handleTransmuxComplete(N.data);break}case"flush":{this.onFlush(N.data);break}case"workerLog":{j.logger[N.data.logType]&&j.logger[N.data.logType](N.data.message);break}default:{N.data=N.data||{},N.data.frag=this.frag,N.data.part=this.part,N.data.id=this.id,j.trigger(N.event,N.data);break}}},this.onWorkerError=k=>{if(!this.hls)return;const N=new Error(`${k.message} (${k.filename}:${k.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(y.ERROR,{type:D.OTHER_ERROR,details:W.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:N})};const _=e.config;this.hls=e,this.id=t,this.useWorker=!!_.enableWorker,this.onTransmuxComplete=n,this.onFlush=l;const x=(k,N)=>{N=N||{},N.frag=this.frag||void 0,k===y.ERROR&&(N=N,N.parent=this.id,N.part=this.part,this.error=N.error),this.hls.trigger(k,N)};this.observer=new is,this.observer.on(y.FRAG_DECRYPTED,x),this.observer.on(y.ERROR,x);const I=Y(_.preferManagedMediaSource);if(this.useWorker&&typeof Worker!="undefined"){const k=this.hls.logger;if(_.workerPath||wl()){try{_.workerPath?(k.log(`loading Web Worker ${_.workerPath} for "${t}"`),this.workerContext=Il(_.workerPath)):(k.log(`injecting Web Worker for "${t}"`),this.workerContext=Cl());const{worker:j}=this.workerContext;j.addEventListener("message",this.onWorkerMessage),j.addEventListener("error",this.onWorkerError),j.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:I,id:t,config:He(_)})}catch(j){k.warn(`Error setting up "${t}" Web Worker, fallback to inline`,j),this.terminateWorker(),this.error=null,this.transmuxer=new go(this.observer,I,_,"",t,e.logger)}return}}this.transmuxer=new go(this.observer,I,_,"",t,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){const e=this.instanceNo;this.instanceNo=vo++;const t=this.hls.config,n=Y(t.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupported:n,id:this.id,config:He(t)})}}terminateWorker(){if(this.workerContext){const{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),Pl(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{const t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}const e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,t,n,l,_,x,I,k,N,j){var Z,Q;N.transmuxing.start=self.performance.now();const{instanceNo:re,transmuxer:ne}=this,de=x?x.start:_.start,fe=_.decryptdata,Ae=this.frag,we=!(Ae&&_.cc===Ae.cc),Ie=!(Ae&&N.level===Ae.level),ze=Ae?N.sn-Ae.sn:-1,Je=this.part?N.part-this.part.index:-1,wt=ze===0&&N.id>1&&N.id===(Ae==null?void 0:Ae.stats.chunkCount),et=!Ie&&(ze===1||ze===0&&(Je===1||wt&&Je<=0)),gt=self.performance.now();(Ie||ze||_.stats.parsing.start===0)&&(_.stats.parsing.start=gt),x&&(Je||!et)&&(x.stats.parsing.start=gt);const pt=!(Ae&&((Z=_.initSegment)==null?void 0:Z.url)===((Q=Ae.initSegment)==null?void 0:Q.url)),st=new Su(we,et,k,Ie,de,pt);if(!et||we||pt){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${_.type} sn: ${N.sn}${N.part>-1?" part: "+N.part:""} ${this.id===b.MAIN?"level":"track"}: ${N.level} id: ${N.id}
discontinuity: ${we}
trackSwitch: ${Ie}
contiguous: ${et}
accurateTimeOffset: ${k}
timeOffset: ${de}
initSegmentChange: ${pt}`);const Vt=new bu(n,l,t,I,j);this.configureTransmuxer(Vt)}if(this.frag=_,this.part=x,this.workerContext)this.workerContext.worker.postMessage({instanceNo:re,cmd:"demux",data:e,decryptdata:fe,chunkMeta:N,state:st},e instanceof ArrayBuffer?[e]:[]);else if(ne){const Vt=ne.push(e,fe,N,st);Da(Vt)?Vt.then(_r=>{this.handleTransmuxComplete(_r)}).catch(_r=>{this.transmuxerError(_r,N,"transmuxer-interface push error")}):this.handleTransmuxComplete(Vt)}}flush(e){e.transmuxing.start=self.performance.now();const{instanceNo:t,transmuxer:n}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:t,cmd:"flush",chunkMeta:e});else if(n){const l=n.flush(e);Da(l)?l.then(_=>{this.handleFlushResult(_,e)}).catch(_=>{this.transmuxerError(_,e,"transmuxer-interface flush error")}):this.handleFlushResult(l,e)}}transmuxerError(e,t,n){this.hls&&(this.error=e,this.hls.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:n}))}handleFlushResult(e,t){e.forEach(n=>{this.handleTransmuxComplete(n)}),this.onFlush(t)}configureTransmuxer(e){const{instanceNo:t,transmuxer:n}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:t,cmd:"configure",config:e}):n&&n.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}const Eo=100;class Du extends rs{constructor(e,t,n){super(e,t,n,"audio-stream-controller",b.AUDIO),this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();const{hls:e}=this;e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(y.BUFFER_RESET,this.onBufferReset,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){const{hls:e}=this;e&&(super.unregisterListeners(),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(y.BUFFER_RESET,this.onBufferReset,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this))}onInitPtsFound(e,{frag:t,id:n,initPTS:l,timescale:_,trackId:x}){if(n===b.MAIN){const I=t.cc,k=this.fragCurrent;if(this.initPTS[I]={baseTime:l,timescale:_,trackId:x},this.log(`InitPTS for cc: ${I} found from main: ${l/_} (${l}/${_}) trackId: ${x}`),this.mainAnchor=t,this.state===Kt.WAITING_INIT_PTS){const N=this.waitingData;(!N&&!this.loadingParts||N&&N.frag.cc!==I)&&this.syncWithAnchor(t,N==null?void 0:N.frag)}else!this.hls.hasEnoughToStart&&k&&k.cc!==I?(k.abortRequests(),this.syncWithAnchor(t,k)):this.state===Kt.IDLE&&this.tick()}}getLoadPosition(){return!this.startFragRequested&&this.nextLoadPosition>=0?this.nextLoadPosition:super.getLoadPosition()}syncWithAnchor(e,t){var n;const l=((n=this.mainFragLoading)==null?void 0:n.frag)||null;if(t&&(l==null?void 0:l.cc)===t.cc)return;const _=(l||e).cc,x=this.getLevelDetails(),I=this.getLoadPosition(),k=pr(x,_,I);k&&(this.log(`Syncing with main frag at ${k.start} cc ${k.cc}`),this.startFragRequested=!1,this.nextLoadPosition=k.start,this.resetLoadingState(),this.state===Kt.IDLE&&this.doTickIdle())}startLoad(e,t){if(!this.levels){this.startPosition=e,this.state=Kt.STOPPED;return}const n=this.lastCurrentTime;this.stopLoad(),this.setInterval(Eo),n>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${n.toFixed(3)}`),e=n,this.state=Kt.IDLE):this.state=Kt.WAITING_TRACK,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}doTick(){switch(this.state){case Kt.IDLE:this.doTickIdle();break;case Kt.WAITING_TRACK:{const{levels:e,trackId:t}=this,n=e==null?void 0:e[t],l=n==null?void 0:n.details;if(l&&!this.waitForLive(n)){if(this.waitForCdnTuneIn(l))break;this.state=Kt.WAITING_INIT_PTS}break}case Kt.FRAG_LOADING_WAITING_RETRY:{this.checkRetryDate();break}case Kt.WAITING_INIT_PTS:{const e=this.waitingData;if(e){const{frag:t,part:n,cache:l,complete:_}=e,x=this.mainAnchor;if(this.initPTS[t.cc]!==void 0){this.waitingData=null,this.state=Kt.FRAG_LOADING;const I=l.flush().buffer,k={frag:t,part:n,payload:I,networkDetails:null};this._handleFragmentLoadProgress(k),_&&super._handleFragmentLoadComplete(k)}else x&&x.cc!==e.frag.cc&&this.syncWithAnchor(x,e.frag)}else this.state=Kt.IDLE}}this.onTickEnd()}resetLoadingState(){const e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null),super.resetLoadingState()}onTickEnd(){const{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){var e;const{hls:t,levels:n,media:l,trackId:_}=this,x=t.config;if(!this.buffering||!l&&!this.primaryPrefetch&&(this.startFragRequested||!x.startFragPrefetch)||!(n!=null&&n[_]))return;const I=n[_],k=I.details;if(!k||this.waitForLive(I)||this.waitForCdnTuneIn(k)){this.state=Kt.WAITING_TRACK,this.startFragRequested=!1;return}const N=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&N&&(this.bufferFlushed=!1,this.afterBufferFlushed(N,z.AUDIO,b.AUDIO));const j=this.getFwdBufferInfo(N,b.AUDIO);if(j===null)return;if(!this.switchingTrack&&this._streamEnded(j,k)){t.trigger(y.BUFFER_EOS,{type:"audio"}),this.state=Kt.ENDED;return}const Z=j.len,Q=t.maxBufferLength,re=k.fragments,ne=re[0].start,de=this.getLoadPosition(),fe=this.flushing?de:j.end;if(this.switchingTrack&&l){const Ie=de;k.PTSKnown&&Ie<ne&&(j.end>ne||j.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),l.currentTime=ne+.05)}if(Z>=Q&&!this.switchingTrack&&fe<re[re.length-1].start)return;let Ae=this.getNextFragment(fe,k);if(Ae&&this.isLoopLoading(Ae,fe)&&(Ae=this.getNextFragmentLoopLoading(Ae,k,j,b.MAIN,Q)),!Ae){this.bufferFlushed=!0;return}let we=((e=this.mainFragLoading)==null?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&we&&q(Ae)&&!Ae.endList&&(!k.live||!this.loadingParts&&fe<this.hls.liveSyncPosition)&&(this.fragmentTracker.getState(we)===Zt.OK&&(this.mainFragLoading=we=null),we&&q(we))){if(Ae.start>we.end){const ze=this.fragmentTracker.getFragAtPos(fe,b.MAIN);ze&&ze.end>we.end&&(we=ze,this.mainFragLoading={frag:ze,targetBufferTime:null})}if(Ae.start>we.end)return}this.loadFragment(Ae,I,fe)}onMediaDetaching(e,t){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,t)}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(n=>new Pt(n))}onAudioTrackSwitching(e,t){const n=!!t.url;this.trackId=t.id;const{fragCurrent:l}=this;l&&(l.abortRequests(),this.removeUnbufferedFrags(l.start)),this.resetLoadingState(),n?(this.switchingTrack=t,this.flushAudioIfNeeded(t),this.state!==Kt.STOPPED&&(this.setInterval(Eo),this.state=Kt.IDLE,this.tick())):(this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=t,this.clearInterval())}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,t){this.mainDetails=t.details;const n=this.cachedTrackLoadedData;n&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(y.AUDIO_TRACK_LOADED,n))}onAudioTrackLoaded(e,t){var n;const{levels:l}=this,{details:_,id:x,groupId:I,track:k}=t;if(!l){this.warn(`Audio tracks reset while loading track ${x} "${k.name}" of "${I}"`);return}const N=this.mainDetails;if(!N||_.endCC>N.endCC||N.expired){this.cachedTrackLoadedData=t,this.state!==Kt.STOPPED&&(this.state=Kt.WAITING_TRACK);return}this.cachedTrackLoadedData=null,this.log(`Audio track ${x} "${k.name}" of "${I}" loaded [${_.startSN},${_.endSN}]${_.lastPartSn?`[part-${_.lastPartSn}-${_.lastPartIndex}]`:""},duration:${_.totalduration}`);const j=l[x];let Z=0;if(_.live||(n=j.details)!=null&&n.live){if(this.checkLiveUpdate(_),_.deltaUpdateFailed)return;if(j.details){var Q;Z=this.alignPlaylists(_,j.details,(Q=this.levelLastLoaded)==null?void 0:Q.details)}_.alignedSliding||(Ma(_,N),_.alignedSliding||Oa(_,N),Z=_.fragmentStart)}j.details=_,this.levelLastLoaded=j,this.startFragRequested||this.setStartPosition(N,Z),this.hls.trigger(y.AUDIO_TRACK_UPDATED,{details:_,id:x,groupId:t.groupId}),this.state===Kt.WAITING_TRACK&&!this.waitForCdnTuneIn(_)&&(this.state=Kt.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;const n=e.frag,{part:l,payload:_}=e,{config:x,trackId:I,levels:k}=this;if(!k){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${n.sn} of level ${n.level} will not be buffered`);return}const N=k[I];if(!N){this.warn("Audio track is undefined on fragment load progress");return}const j=N.details;if(!j){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(n.start);return}const Z=x.defaultAudioCodec||N.audioCodec||"mp4a.40.2";let Q=this.transmuxer;Q||(Q=this.transmuxer=new yo(this.hls,b.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));const re=this.initPTS[n.cc],ne=(t=n.initSegment)==null?void 0:t.data;if(re!==void 0){const fe=l?l.index:-1,Ae=fe!==-1,we=new Pn(n.level,n.sn,n.stats.chunkCount,_.byteLength,fe,Ae);Q.push(_,ne,Z,"",n,l,j.totalduration,!1,we,re)}else{this.log(`Unknown video PTS for cc ${n.cc}, waiting for video PTS before demuxing audio frag ${n.sn} of [${j.startSN} ,${j.endSN}],track ${I}`);const{cache:de}=this.waitingData=this.waitingData||{frag:n,part:l,cache:new js,complete:!1};de.push(new Uint8Array(_)),this.state!==Kt.STOPPED&&(this.state=Kt.WAITING_INIT_PTS)}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,t){this.bufferFlushed=this.flushing=!1;const n=t.tracks.audio;n&&(this.mediaBuffer=n.buffer||null)}onFragLoading(e,t){!this.audioOnly&&t.frag.type===b.MAIN&&q(t.frag)&&(this.mainFragLoading=t,this.state===Kt.IDLE&&this.tick())}onFragBuffered(e,t){const{frag:n,part:l}=t;if(n.type!==b.AUDIO){!this.audioOnly&&n.type===b.MAIN&&!n.elementaryStreams.video&&!n.elementaryStreams.audiovideo&&(this.audioOnly=!0,this.mainFragLoading=null);return}if(this.fragContextChanged(n)){this.warn(`Fragment ${n.sn}${l?" p: "+l.index:""} of level ${n.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(q(n)){this.fragPrevious=n;const _=this.switchingTrack;_&&(this.bufferedTrack=_,this.switchingTrack=null,this.hls.trigger(y.AUDIO_TRACK_SWITCHED,i({},_)))}this.fragBufferedComplete(n,l),this.media&&this.tick()}onError(e,t){var n;if(t.fatal){this.state=Kt.ERROR;return}switch(t.details){case W.FRAG_GAP:case W.FRAG_PARSING_ERROR:case W.FRAG_DECRYPT_ERROR:case W.FRAG_LOAD_ERROR:case W.FRAG_LOAD_TIMEOUT:case W.KEY_LOAD_ERROR:case W.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(b.AUDIO,t);break;case W.AUDIO_TRACK_LOAD_ERROR:case W.AUDIO_TRACK_LOAD_TIMEOUT:case W.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===Kt.WAITING_TRACK&&((n=t.context)==null?void 0:n.type)===L.AUDIO_TRACK&&(this.state=Kt.IDLE);break;case W.BUFFER_ADD_CODEC_ERROR:case W.BUFFER_APPEND_ERROR:if(t.parent!=="audio")return;this.reduceLengthAndFlushBuffer(t)||this.resetLoadingState();break;case W.BUFFER_FULL_ERROR:if(t.parent!=="audio")return;this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case W.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushing(e,{type:t}){t!==z.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==z.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===Kt.ENDED&&(this.state=Kt.IDLE);const n=this.mediaBuffer||this.media;n&&(this.afterBufferFlushed(n,t,b.AUDIO),this.tick())}}_handleTransmuxComplete(e){var t;const n="audio",{hls:l}=this,{remuxResult:_,chunkMeta:x}=e,I=this.getCurrentContext(x);if(!I){this.resetWhenMissingContext(x);return}const{frag:k,part:N,level:j}=I,{details:Z}=j,{audio:Q,text:re,id3:ne,initSegment:de}=_;if(this.fragContextChanged(k)||!Z){this.fragmentTracker.removeFragment(k);return}if(this.state=Kt.PARSING,this.switchingTrack&&Q&&this.completeAudioSwitch(this.switchingTrack),de!=null&&de.tracks){const fe=k.initSegment||k;if(this.unhandledEncryptionError(de,k))return;this._bufferInitSegment(j,de.tracks,fe,x),l.trigger(y.FRAG_PARSING_INIT_SEGMENT,{frag:fe,id:n,tracks:de.tracks})}if(Q){const{startPTS:fe,endPTS:Ae,startDTS:we,endDTS:Ie}=Q;N&&(N.elementaryStreams[z.AUDIO]={startPTS:fe,endPTS:Ae,startDTS:we,endDTS:Ie}),k.setElementaryStreamInfo(z.AUDIO,fe,Ae,we,Ie),this.bufferFragmentData(Q,k,N,x)}if(ne!=null&&(t=ne.samples)!=null&&t.length){const fe=u({id:n,frag:k,details:Z},ne);l.trigger(y.FRAG_PARSING_METADATA,fe)}if(re){const fe=u({id:n,frag:k,details:Z},re);l.trigger(y.FRAG_PARSING_USERDATA,fe)}}_bufferInitSegment(e,t,n,l){if(this.state!==Kt.PARSING||(t.video&&delete t.video,t.audiovideo&&delete t.audiovideo,!t.audio))return;const _=t.audio;_.id=b.AUDIO;const x=e.audioCodec;this.log(`Init audio buffer, container:${_.container}, codecs[level/parsed]=[${x}/${_.codec}]`),x&&x.split(",").length===1&&(_.levelCodec=x),this.hls.trigger(y.BUFFER_CODECS,t);const I=_.initSegment;if(I!=null&&I.byteLength){const k={type:"audio",frag:n,part:null,chunkMeta:l,parent:n.type,data:I};this.hls.trigger(y.BUFFER_APPENDING,k)}this.tickImmediate()}loadFragment(e,t,n){const l=this.fragmentTracker.getState(e);if(this.switchingTrack||l===Zt.NOT_LOADED||l===Zt.PARTIAL){var _;if(!q(e))this._loadInitSegment(e,t);else if((_=t.details)!=null&&_.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=Kt.WAITING_INIT_PTS;const x=this.mainDetails;x&&x.fragmentStart!==t.details.fragmentStart&&Oa(t.details,x)}else super.loadFragment(e,t,n)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){const{name:t,lang:n,assocLang:l,characteristics:_,audioCodec:x,channels:I}=this.bufferedTrack;jt({name:t,lang:n,assocLang:l,characteristics:_,audioCodec:x,channels:I},e,Ve)||(yr(e.url,this.hls)?(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null):this.bufferedTrack=e)}}completeAudioSwitch(e){const{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(y.AUDIO_TRACK_SWITCHED,i({},e))}}class gs extends p{constructor(e,t){super(t,e.logger),this.hls=void 0,this.canLoad=!1,this.timer=-1,this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,n){const l=t==null?void 0:t.renditionReports;if(l){let _=-1;for(let x=0;x<l.length;x++){const I=l[x];let k;try{k=new self.URL(I.URI,t.url).href}catch(N){this.warn(`Could not construct new URL for Rendition Report: ${N}`),k=I.URI||""}if(k===e){_=x;break}else k===e.substring(0,k.length)&&(_=x)}if(_!==-1){const x=l[_],I=parseInt(x["LAST-MSN"])||t.lastPartSn;let k=parseInt(x["LAST-PART"])||t.lastPartIndex;if(this.hls.config.lowLatencyMode){const j=Math.min(t.age-t.partTarget,t.targetduration);k>=0&&j>t.partTarget&&(k+=1)}const N=n&&Ft(n);return new At(I,k>=0?k:void 0,N)}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,t){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,t){if(t)try{return t.addDirectives(e)}catch(n){this.warn(`Could not construct new URL with HLS Delivery Directives: ${n}`)}return e}playlistLoaded(e,t,n){const{details:l,stats:_}=t,x=self.performance.now(),I=_.loading.first?Math.max(0,x-_.loading.first):0;l.advancedDateTime=Date.now()-I;const k=this.hls.config.timelineOffset;if(k!==l.appliedTimelineOffset){const j=Math.max(k||0,0);l.appliedTimelineOffset=j,l.fragments.forEach(Z=>{Z.setStart(Z.playlistOffset+j)})}if(l.live||n!=null&&n.live){const j="levelInfo"in t?t.levelInfo:t.track;if(l.reloaded(n),n&&l.fragments.length>0){xi(n,l,this);const we=l.playlistParsingError;if(we){this.warn(we);const Ie=this.hls;if(!Ie.config.ignorePlaylistParsingErrors){var N;const{networkDetails:ze}=t;Ie.trigger(y.ERROR,{type:D.NETWORK_ERROR,details:W.LEVEL_PARSING_ERROR,fatal:!1,url:l.url,error:we,reason:we.message,level:t.level||void 0,parent:(N=l.fragments[0])==null?void 0:N.type,networkDetails:ze,stats:_});return}l.playlistParsingError=null}}l.requestScheduled===-1&&(l.requestScheduled=_.loading.start);const Z=this.hls.mainForwardBufferInfo,Q=Z?Z.end-Z.len:0,re=(l.edge-Q)*1e3,ne=Mn(l,re);if(l.requestScheduled+ne<x?l.requestScheduled=x:l.requestScheduled+=ne,this.log(`live playlist ${e} ${l.advanced?"REFRESHED "+l.lastPartSn+"-"+l.lastPartIndex:l.updated?"UPDATED":"MISSED"}`),!this.canLoad||!l.live)return;let de,fe,Ae;if(l.canBlockReload&&l.endSN&&l.advanced){const we=this.hls.config.lowLatencyMode,Ie=l.lastPartSn,ze=l.endSN,Je=l.lastPartIndex,wt=Je!==-1,et=Ie===ze;wt?et?(fe=ze+1,Ae=we?0:Je):(fe=Ie,Ae=we?Je+1:l.maxPartIndex):fe=ze+1;const gt=l.age,pt=gt+l.ageHeader;let st=Math.min(pt-l.partTarget,l.targetduration*1.5);if(st>0){if(pt>l.targetduration*3)this.log(`Playlist last advanced ${gt.toFixed(2)}s ago. Omitting segment and part directives.`),fe=void 0,Ae=void 0;else if(n!=null&&n.tuneInGoal&&pt-l.partTarget>n.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${n.tuneInGoal} to: ${st} with playlist age: ${l.age}`),st=0;else{const Vt=Math.floor(st/l.targetduration);if(fe+=Vt,Ae!==void 0){const _r=Math.round(st%l.targetduration/l.partTarget);Ae+=_r}this.log(`CDN Tune-in age: ${l.ageHeader}s last advanced ${gt.toFixed(2)}s goal: ${st} skip sn ${Vt} to part ${Ae}`)}l.tuneInGoal=st}if(de=this.getDeliveryDirectives(l,t.deliveryDirectives,fe,Ae),we||!et){l.requestScheduled=x,this.loadingPlaylist(j,de);return}}else(l.canBlockReload||l.canSkipUntil)&&(de=this.getDeliveryDirectives(l,t.deliveryDirectives,fe,Ae));de&&fe!==void 0&&l.canBlockReload&&(l.requestScheduled=_.loading.first+Math.max(ne-I*2,ne/2)),this.scheduleLoading(j,de,l)}else this.clearTimer()}scheduleLoading(e,t,n){const l=n||e.details;if(!l){this.loadingPlaylist(e,t);return}const _=self.performance.now(),x=l.requestScheduled;if(_>=x){this.loadingPlaylist(e,t);return}const I=x-_;this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(I)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,t),I)}getDeliveryDirectives(e,t,n,l){let _=Ft(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(n=t.msn,l=t.part,_=mt.No),new At(n,l,_)}checkRetry(e){const t=e.details,n=mr(e),l=e.errorAction,{action:_,retryCount:x=0,retryConfig:I}=l||{},k=!!l&&!!I&&(_===Nr.RetryRequest||!l.resolved&&_===Nr.SendAlternateToPenaltyBox);if(k){var N;if(x>=I.maxNumRetry)return!1;if(n&&(N=e.context)!=null&&N.deliveryDirectives)this.warn(`Retrying playlist loading ${x+1}/${I.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{const j=Gr(I,x);this.clearTimer(),this.timer=self.setTimeout(()=>this.loadPlaylist(),j),this.warn(`Retrying playlist loading ${x+1}/${I.maxNumRetry} after "${t}" in ${j}ms`)}e.levelRetry=!0,l.resolved=!0}return k}}function xo(A,e){if(A.length!==e.length)return!1;for(let t=0;t<A.length;t++)if(!La(A[t].attrs,e[t].attrs))return!1;return!0}function La(A,e,t){const n=A["STABLE-RENDITION-ID"];return n&&!t?n===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(l=>A[l]!==e[l])}function vs(A,e){return e.label.toLowerCase()===A.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(A.lang||"").toLowerCase())}class Lu extends gs{constructor(e){super(e,"audio-track-controller"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){const{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(y.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){const{id:n,groupId:l,details:_}=t,x=this.tracksInGroup[n];if(!x||x.groupId!==l){this.warn(`Audio track with id:${n} and group:${l} not found in active group ${x==null?void 0:x.groupId}`);return}const I=x.details;x.details=t.details,this.log(`Audio track ${n} "${x.name}" lang:${x.lang} group:${l} loaded [${_.startSN}-${_.endSN}]`),n===this.trackId&&this.playlistLoaded(n,t,I)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){const t=this.hls.levels[e];if(!t)return;const n=t.audioGroups||null,l=this.groupIds;let _=this.currentTrack;if(!n||(l==null?void 0:l.length)!==(n==null?void 0:n.length)||n!=null&&n.some(I=>(l==null?void 0:l.indexOf(I))===-1)){this.groupIds=n,this.trackId=-1,this.currentTrack=null;const I=this.tracks.filter(Q=>!n||n.indexOf(Q.groupId)!==-1);if(I.length)this.selectDefaultTrack&&!I.some(Q=>Q.default)&&(this.selectDefaultTrack=!1),I.forEach((Q,re)=>{Q.id=re});else if(!_&&!this.tracksInGroup.length)return;this.tracksInGroup=I;const k=this.hls.config.audioPreference;if(!_&&k){const Q=Wt(k,I,Ve);if(Q>-1)_=I[Q];else{const re=Wt(k,this.tracks);_=this.tracks[re]}}let N=this.findTrackId(_);N===-1&&_&&(N=this.findTrackId(null));const j={audioTracks:I};this.log(`Updating audio tracks, ${I.length} track(s) found in group(s): ${n==null?void 0:n.join(",")}`),this.hls.trigger(y.AUDIO_TRACKS_UPDATED,j);const Z=this.trackId;if(N!==-1&&Z===-1)this.setAudioTrack(N);else if(I.length&&Z===-1){var x;const Q=new Error(`No audio track selected for current audio group-ID(s): ${(x=this.groupIds)==null?void 0:x.join(",")} track count: ${I.length}`);this.warn(Q.message),this.hls.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:Q})}}}onError(e,t){t.fatal||!t.context||t.context.type===L.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){const t=this.hls;if(t.config.audioPreference=e,e){const n=this.allAudioTracks;if(this.selectDefaultTrack=!1,n.length){const l=this.currentTrack;if(l&&jt(e,l,Ve))return l;const _=Wt(e,this.tracksInGroup,Ve);if(_>-1){const x=this.tracksInGroup[_];return this.setAudioTrack(_),x}else if(l){let x=t.loadLevel;x===-1&&(x=t.firstAutoLevel);const I=$t(e,t.levels,n,x,Ve);if(I===-1)return null;t.nextLoadLevel=I}if(e.channels||e.audioCodec){const x=Wt(e,n);if(x>-1)return n[x]}}}return null}setAudioTrack(e){const t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return}this.selectDefaultTrack=!1;const n=this.currentTrack,l=t[e],_=l.details&&!l.details.live;if(e===this.trackId&&l===n&&_||(this.log(`Switching to audio-track ${e} "${l.name}" lang:${l.lang} group:${l.groupId} channels:${l.channels}`),this.trackId=e,this.currentTrack=l,this.hls.trigger(y.AUDIO_TRACK_SWITCHING,i({},l)),_))return;const x=this.switchParams(l.url,n==null?void 0:n.details,l.details);this.loadPlaylist(x)}findTrackId(e){const t=this.tracksInGroup;for(let n=0;n<t.length;n++){const l=t[n];if(!(this.selectDefaultTrack&&!l.default)&&(!e||jt(e,l,Ve)))return n}if(e){const{name:n,lang:l,assocLang:_,characteristics:x,audioCodec:I,channels:k}=e;for(let N=0;N<t.length;N++){const j=t[N];if(jt({name:n,lang:l,assocLang:_,characteristics:x,audioCodec:I,channels:k},j,Ve))return N}for(let N=0;N<t.length;N++){const j=t[N];if(La(e.attrs,j.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return N}for(let N=0;N<t.length;N++){const j=t[N];if(La(e.attrs,j.attrs,["LANGUAGE"]))return N}}return-1}loadPlaylist(e){super.loadPlaylist();const t=this.currentTrack;this.shouldLoadPlaylist(t)&&yr(t.url,this.hls)&&this.scheduleLoading(t,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);const n=e.id,l=e.groupId,_=this.getUrlWithDirectives(e.url,t),x=e.details,I=x==null?void 0:x.age;this.log(`Loading audio-track ${n} "${e.name}" lang:${e.lang} group:${l}${(t==null?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${I&&x.live?" age "+I.toFixed(1)+(x.type?" "+x.type||0:""):""} ${_}`),this.hls.trigger(y.AUDIO_TRACK_LOADING,{url:_,id:n,groupId:l,deliveryDirectives:t||null,track:e})}}class Ru{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,t,n){if(this.queues===null||this.tracks===null)return;const l=this.queues[t];l.push(e),l.length===1&&!n&&this.executeNext(t)}appendBlocker(e){return new Promise(t=>{const n={label:"async-blocker",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.append(n,e)})}prependBlocker(e){return new Promise(t=>{if(this.queues){const n={label:"async-blocker-prepend",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.queues[e].unshift(n)}})}removeBlockers(){this.queues!==null&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEach(e=>{var t;const n=(t=e[0])==null?void 0:t.label;(n==="async-blocker"||n==="async-blocker-prepend")&&(e[0].execute(),e.splice(0,1))})}unblockAudio(e){if(this.queues===null)return;this.queues.audio[0]===e&&this.shiftAndExecuteNext("audio")}executeNext(e){if(this.queues===null||this.tracks===null)return;const t=this.queues[e];if(t.length){const l=t[0];try{l.execute()}catch(_){var n;if(l.onError(_),this.queues===null||this.tracks===null)return;const x=(n=this.tracks[e])==null?void 0:n.buffer;x!=null&&x.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues!==null&&(this.queues[e].shift(),this.executeNext(e))}current(e){var t;return((t=this.queues)==null?void 0:t[e][0])||null}toString(){const{queues:e,tracks:t}=this;return e===null||t===null?"<destroyed>":`
${this.list("video")}
${this.list("audio")}
${this.list("audiovideo")}}`}list(e){var t,n;return(t=this.queues)!=null&&t[e]||(n=this.tracks)!=null&&n[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:""}listSbInfo(e){var t;const n=(t=this.tracks)==null?void 0:t[e],l=n==null?void 0:n.buffer;return l?`SourceBuffer${l.updating?" updating":""}${n.ended?" ended":""}${n.ending?" ending":""}`:"none"}listOps(e){var t;return((t=this.queues)==null?void 0:t[e].map(n=>n.label).join(", "))||""}}const To=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,Ao="HlsJsTrackRemovedError";class wu extends Error{constructor(e){super(e),this.name=Ao}}class Cu extends p{constructor(e,t){super("buffer-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.blockedAudioAppend=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=n=>{var l;this.hls&&((l=this.mediaSource)==null?void 0:l.readyState)==="open"&&this.hls.pauseBuffering()},this._onStartStreaming=n=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=n=>{const{media:l,mediaSource:_}=this;n&&this.log("Media source opened"),!(!l||!_)&&(_.removeEventListener("sourceopen",this._onMediaSourceOpen),l.removeEventListener("emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(y.MEDIA_ATTACHED,{media:l,mediaSource:_}),this.mediaSource!==null&&this.checkPendingTracks())},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{const{mediaSrc:n,_objectUrl:l}=this;n!==l&&this.error(`Media element src was set while attaching MediaSource (${l} > ${n})`)},this.hls=e,this.fragmentTracker=t,this.appendSource=R(w(e.config.preferManagedMediaSource)),this.initTracks(),this.registerListeners()}hasSourceTypes(){return Object.keys(this.tracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.transferData=this.overrides=void 0,this.operationQueue&&(this.operationQueue.destroy(),this.operationQueue=null),this.hls=this.fragmentTracker=null,this._onMediaSourceOpen=this._onMediaSourceClose=null,this._onMediaSourceEnded=null,this._onStartStreaming=this._onEndStreaming=null}registerListeners(){const{hls:e}=this;e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.BUFFER_RESET,this.onBufferReset,this),e.on(y.BUFFER_APPENDING,this.onBufferAppending,this),e.on(y.BUFFER_CODECS,this.onBufferCodecs,this),e.on(y.BUFFER_EOS,this.onBufferEos,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(y.FRAG_PARSED,this.onFragParsed,this),e.on(y.FRAG_CHANGED,this.onFragChanged,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.BUFFER_RESET,this.onBufferReset,this),e.off(y.BUFFER_APPENDING,this.onBufferAppending,this),e.off(y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(y.BUFFER_EOS,this.onBufferEos,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(y.FRAG_PARSED,this.onFragParsed,this),e.off(y.FRAG_CHANGED,this.onFragChanged,this),e.off(y.ERROR,this.onError,this)}transferMedia(){const{media:e,mediaSource:t}=this;if(!e)return null;const n={};if(this.operationQueue){const _=this.isUpdating();_||this.operationQueue.removeBlockers();const x=this.isQueued();(_||x)&&this.warn(`Transfering MediaSource with${x?" operations in queue":""}${_?" updating SourceBuffer(s)":""} ${this.operationQueue}`),this.operationQueue.destroy()}const l=this.transferData;return!this.sourceBufferCount&&l&&l.mediaSource===t?u(n,l.tracks):this.sourceBuffers.forEach(_=>{const[x]=_;x&&(n[x]=u({},this.tracks[x]),this.removeBuffer(x)),_[0]=_[1]=null}),{media:e,mediaSource:t,tracks:n}}initTracks(){const e={};this.sourceBuffers=[[null,null],[null,null]],this.tracks=e,this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){var n;let l=2;(t.audio&&!t.video||!t.altAudio)&&(l=1),this.bufferCodecEventsTotal=l,this.log(`${l} bufferCodec event(s) expected.`),(n=this.transferData)!=null&&n.mediaSource&&this.sourceBufferCount&&l&&this.bufferCreated()}onMediaAttaching(e,t){const n=this.media=t.media;this.transferData=this.overrides=void 0;const l=w(this.appendSource);if(l){const _=!!t.mediaSource;(_||t.overrides)&&(this.transferData=t,this.overrides=t.overrides);const x=this.mediaSource=t.mediaSource||new l;if(this.assignMediaSource(x),_)this._objectUrl=n.src,this.attachTransferred();else{const I=this._objectUrl=self.URL.createObjectURL(x);if(this.appendSource)try{n.removeAttribute("src");const k=self.ManagedMediaSource;n.disableRemotePlayback=n.disableRemotePlayback||k&&x instanceof k,bo(n),Iu(n,I),n.load()}catch(k){n.src=I}else n.src=I}n.addEventListener("emptied",this._onMediaEmptied)}}assignMediaSource(e){var t,n;this.log(`${((t=this.transferData)==null?void 0:t.mediaSource)===e?"transferred":"created"} media source: ${(n=e.constructor)==null?void 0:n.name}`),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming))}attachTransferred(){const e=this.media,t=this.transferData;if(!t||!e)return;const n=this.tracks,l=t.tracks,_=l?Object.keys(l):null,x=_?_.length:0,I=()=>{Promise.resolve().then(()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen()})};if(l&&_&&x){if(!this.tracksReady){this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");return}if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal})
required tracks: ${He(n,(k,N)=>k==="initSegment"?void 0:N)};
transfer tracks: ${He(l,(k,N)=>k==="initSegment"?void 0:N)}}`),!O(l,n)){t.mediaSource=null,t.tracks=void 0;const k=e.currentTime,N=this.details,j=Math.max(k,(N==null?void 0:N.fragments[0].start)||0);if(j-k>1){this.log(`attachTransferred: waiting for playback to reach new tracks start time ${k} -> ${j}`);return}this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(l)}"->"${Object.keys(n)}") start time: ${j} currentTime: ${k}`),this.onMediaDetaching(y.MEDIA_DETACHING,{}),this.onMediaAttaching(y.MEDIA_ATTACHING,t),e.currentTime=j;return}this.transferData=void 0,_.forEach(k=>{const N=k,j=l[N];if(j){const Z=j.buffer;if(Z){const Q=this.fragmentTracker,re=j.id;if(Q.hasFragments(re)||Q.hasParts(re)){const fe=Lr.getBuffered(Z);Q.detectEvictedFragments(N,fe,re,null,!0)}const ne=ys(N),de=[N,Z];this.sourceBuffers[ne]=de,Z.updating&&this.operationQueue&&this.operationQueue.prependBlocker(N),this.trackSourceBuffer(N,j)}}}),I(),this.bufferCreated()}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),I()}get mediaSourceOpenOrEnded(){var e;const t=(e=this.mediaSource)==null?void 0:e.readyState;return t==="open"||t==="ended"}onMediaDetaching(e,t){const n=!!t.transferMedia;this.transferData=this.overrides=void 0;const{media:l,mediaSource:_,_objectUrl:x}=this;if(_){if(this.log(`media source ${n?"transferring":"detaching"}`),n)this.sourceBuffers.forEach(([I])=>{I&&this.removeBuffer(I)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){const I=_.readyState==="open";try{const k=_.sourceBuffers;for(let N=k.length;N--;)I&&k[N].abort(),_.removeSourceBuffer(k[N]);I&&_.endOfStream()}catch(k){this.warn(`onMediaDetaching: ${k.message} while calling endOfStream`)}}this.sourceBufferCount&&this.onBufferReset()}_.removeEventListener("sourceopen",this._onMediaSourceOpen),_.removeEventListener("sourceended",this._onMediaSourceEnded),_.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(_.removeEventListener("startstreaming",this._onStartStreaming),_.removeEventListener("endstreaming",this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null}l&&(l.removeEventListener("emptied",this._onMediaEmptied),n||(x&&self.URL.revokeObjectURL(x),this.mediaSrc===x?(l.removeAttribute("src"),this.appendSource&&bo(l),l.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.media=null),this.hls.trigger(y.MEDIA_DETACHED,t)}onBufferReset(){this.sourceBuffers.forEach(([e])=>{e&&this.resetBuffer(e)}),this.initTracks()}resetBuffer(e){var t;const n=(t=this.tracks[e])==null?void 0:t.buffer;if(this.removeBuffer(e),n)try{var l;(l=this.mediaSource)!=null&&l.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(n)}catch(_){this.warn(`onBufferReset ${e}`,_)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[ys(e)]=[null,null];const t=this.tracks[e];t&&(t.buffer=void 0)}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new Ru(this.tracks)}onBufferCodecs(e,t){var n;const l=this.tracks,_=Object.keys(t);this.log(`BUFFER_CODECS: "${_}" (current SB count ${this.sourceBufferCount})`);const x="audiovideo"in t&&(l.audio||l.video)||l.audiovideo&&("audio"in t||"video"in t),I=!x&&this.sourceBufferCount&&this.media&&_.some(k=>!l[k]);if(x||I){this.warn(`Unsupported transition between "${Object.keys(l)}" and "${_}" SourceBuffers`);return}_.forEach(k=>{var N,j;const Z=t[k],{id:Q,codec:re,levelCodec:ne,container:de,metadata:fe,supplemental:Ae}=Z;let we=l[k];const Ie=(N=this.transferData)==null||(N=N.tracks)==null?void 0:N[k],ze=Ie!=null&&Ie.buffer?Ie:we,Je=(ze==null?void 0:ze.pendingCodec)||(ze==null?void 0:ze.codec),wt=ze==null?void 0:ze.levelCodec;we||(we=l[k]={buffer:void 0,listeners:[],codec:re,supplemental:Ae,container:de,levelCodec:ne,metadata:fe,id:Q});const et=Mt(Je,wt),gt=et==null?void 0:et.replace(To,"$1");let pt=Mt(re,ne);const st=(j=pt)==null?void 0:j.replace(To,"$1");pt&&et&&gt!==st&&(k.slice(0,5)==="audio"&&(pt=dt(pt,this.appendSource)),this.log(`switching codec ${Je} to ${pt}`),pt!==(we.pendingCodec||we.codec)&&(we.pendingCodec=pt),we.container=de,this.appendChangeType(k,de,pt))}),(this.tracksReady||this.sourceBufferCount)&&(t.tracks=this.sourceBufferTracks),!this.sourceBufferCount&&(this.bufferCodecEventsTotal>1&&!this.tracks.video&&!t.video&&((n=t.audio)==null?void 0:n.id)==="main"&&(this.log("Main audio-only"),this.bufferCodecEventsTotal=1),this.mediaSourceOpenOrEnded&&this.checkPendingTracks())}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,t)=>{const n=this.tracks[t];return e[t]={id:n.id,container:n.container,codec:n.codec,levelCodec:n.levelCodec},e},{})}appendChangeType(e,t,n){const l=`${t};codecs=${n}`,_={label:`change-type=${l}`,execute:()=>{const x=this.tracks[e];if(x){const I=x.buffer;I!=null&&I.changeType&&(this.log(`changing ${e} sourceBuffer type to ${l}`),I.changeType(l),x.codec=n,x.container=t)}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:x=>{this.warn(`Failed to change ${e} SourceBuffer type`,x)}};this.append(_,e,this.isPending(this.tracks[e]))}blockAudio(e){var t;const n=e.start,l=n+e.duration*.05;if(((t=this.fragmentTracker.getAppendedFrag(n,b.MAIN))==null?void 0:t.gap)===!0)return;const x={label:"block-audio",execute:()=>{var I;const k=this.tracks.video;(this.lastVideoAppendEnd>l||k!=null&&k.buffer&&Lr.isBuffered(k.buffer,l)||((I=this.fragmentTracker.getAppendedFrag(l,b.MAIN))==null?void 0:I.gap)===!0)&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext("audio"))},onStart:()=>{},onComplete:()=>{},onError:I=>{this.warn("Error executing block-audio operation",I)}};this.blockedAudioAppend={op:x,frag:e},this.append(x,"audio",!0)}unblockAudio(){const{blockedAudioAppend:e,operationQueue:t}=this;e&&t&&(this.blockedAudioAppend=null,t.unblockAudio(e.op))}onBufferAppending(e,t){const{tracks:n}=this,{data:l,type:_,parent:x,frag:I,part:k,chunkMeta:N,offset:j}=t,Z=N.buffering[_],{sn:Q,cc:re}=I,ne=self.performance.now();Z.start=ne;const de=I.stats.buffering,fe=k?k.stats.buffering:null;de.start===0&&(de.start=ne),fe&&fe.start===0&&(fe.start=ne);const Ae=n.audio;let we=!1;_==="audio"&&(Ae==null?void 0:Ae.container)==="audio/mpeg"&&(we=!this.lastMpegAudioChunk||N.id===1||this.lastMpegAudioChunk.sn!==N.sn,this.lastMpegAudioChunk=N);const Ie=n.video,ze=Ie==null?void 0:Ie.buffer;if(ze&&Q!=="initSegment"){const et=k||I,gt=this.blockedAudioAppend;if(_==="audio"&&x!=="main"&&!this.blockedAudioAppend&&!(Ie.ending||Ie.ended)){const st=et.start+et.duration*.05,Vt=ze.buffered,_r=this.currentOp("video");!Vt.length&&!_r?this.blockAudio(et):!_r&&!Lr.isBuffered(ze,st)&&this.lastVideoAppendEnd<st&&this.blockAudio(et)}else if(_==="video"){const pt=et.end;if(gt){const st=gt.frag.start;(pt>st||pt<this.lastVideoAppendEnd||Lr.isBuffered(ze,st))&&this.unblockAudio()}this.lastVideoAppendEnd=pt}}const Je=(k||I).start,wt={label:`append-${_}`,execute:()=>{var et;Z.executeStart=self.performance.now();const gt=(et=this.tracks[_])==null?void 0:et.buffer;gt&&(we?this.updateTimestampOffset(gt,Je,.1,_,Q,re):j!==void 0&&ee(j)&&this.updateTimestampOffset(gt,j,1e-6,_,Q,re)),this.appendExecutor(l,_)},onStart:()=>{},onComplete:()=>{const et=self.performance.now();Z.executeEnd=Z.end=et,de.first===0&&(de.first=et),fe&&fe.first===0&&(fe.first=et);const gt={};this.sourceBuffers.forEach(([pt,st])=>{pt&&(gt[pt]=Lr.getBuffered(st))}),this.appendErrors[_]=0,_==="audio"||_==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(y.BUFFER_APPENDED,{type:_,frag:I,part:k,chunkMeta:N,parent:I.type,timeRanges:gt})},onError:et=>{var gt;const pt={type:D.MEDIA_ERROR,parent:I.type,details:W.BUFFER_APPEND_ERROR,sourceBufferName:_,frag:I,part:k,chunkMeta:N,error:et,err:et,fatal:!1},st=(gt=this.media)==null?void 0:gt.error;if(et.code===DOMException.QUOTA_EXCEEDED_ERR||et.name=="QuotaExceededError"||"quota"in et)pt.details=W.BUFFER_FULL_ERROR;else if(et.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!st)pt.errorAction=Ot(!0);else if(et.name===Ao&&this.sourceBufferCount===0)pt.errorAction=Ot(!0);else{const Vt=++this.appendErrors[_];this.warn(`Failed ${Vt}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${_}" sourceBuffer (${st||"no media error"})`),(Vt>=this.hls.config.appendErrorMaxRetry||st)&&(pt.fatal=!0)}this.hls.trigger(y.ERROR,pt)}};this.log(`queuing "${_}" append sn: ${Q}${k?" p: "+k.index:""} of ${I.type===b.MAIN?"level":"track"} ${I.level} cc: ${re}`),this.append(wt,_,this.isPending(this.tracks[_]))}getFlushOp(e,t,n){return this.log(`queuing "${e}" remove ${t}-${n}`),{label:"remove",execute:()=>{this.removeExecutor(e,t,n)},onStart:()=>{},onComplete:()=>{this.hls.trigger(y.BUFFER_FLUSHED,{type:e})},onError:l=>{this.warn(`Failed to remove ${t}-${n} from "${e}" SourceBuffer`,l)}}}onBufferFlushing(e,t){const{type:n,startOffset:l,endOffset:_}=t;n?this.append(this.getFlushOp(n,l,_),n):this.sourceBuffers.forEach(([x])=>{x&&this.append(this.getFlushOp(x,l,_),x)})}onFragParsed(e,t){const{frag:n,part:l}=t,_=[],x=l?l.elementaryStreams:n.elementaryStreams;x[z.AUDIOVIDEO]?_.push("audiovideo"):(x[z.AUDIO]&&_.push("audio"),x[z.VIDEO]&&_.push("video"));const I=()=>{const k=self.performance.now();n.stats.buffering.end=k,l&&(l.stats.buffering.end=k);const N=l?l.stats:n.stats;this.hls.trigger(y.FRAG_BUFFERED,{frag:n,part:l,stats:N,id:n.type})};_.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${n.type} level: ${n.level} sn: ${n.sn}`),this.blockBuffers(I,_).catch(k=>{this.warn(`Fragment buffered callback ${k}`),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,t){this.trimBuffers()}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{if(e){const t=this.tracks[e];if(t)return!t.ended||t.ending}return!1})}onBufferEos(e,t){var n;this.sourceBuffers.forEach(([x])=>{if(x){const I=this.tracks[x];(!t.type||t.type===x)&&(I.ending=!0,I.ended||(I.ended=!0,this.log(`${x} buffer reached EOS`)))}});const l=((n=this.overrides)==null?void 0:n.endOfStream)!==!1;this.sourceBufferCount>0&&!this.sourceBuffers.some(([x])=>{var I;return x&&!((I=this.tracks[x])!=null&&I.ended)})?l?(this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();const{mediaSource:x}=this;if(!x||x.readyState!=="open"){x&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${x.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),x.endOfStream(),this.hls.trigger(y.BUFFERED_TO_END,void 0)})):(this.tracksEnded(),this.hls.trigger(y.BUFFERED_TO_END,void 0)):t.type==="video"&&this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(e!==null){const t=this.tracks[e];t&&(t.ending=!1)}})}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.updateDuration())}updateDuration(){this.blockUntilOpen(()=>{const e=this.getDurationAndRange();e&&this.updateMediaSource(e)})}onError(e,t){if(t.details===W.BUFFER_APPEND_ERROR&&t.frag){var n;const l=(n=t.errorAction)==null?void 0:n.nextAutoLevel;ee(l)&&l!==t.frag.level&&this.resetAppendErrors()}}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0}}trimBuffers(){const{hls:e,details:t,media:n}=this;if(!n||t===null||!this.sourceBufferCount)return;const l=e.config,_=n.currentTime,x=t.levelTargetDuration,I=t.live&&l.liveBackBufferLength!==null?l.liveBackBufferLength:l.backBufferLength;if(ee(I)&&I>=0){const N=Math.max(I,x),j=Math.floor(_/x)*x-N;this.flushBackBuffer(_,x,j)}const k=l.frontBufferFlushThreshold;if(ee(k)&&k>0){const N=Math.max(l.maxBufferLength,k),j=Math.max(N,x),Z=Math.floor(_/x)*x+j;this.flushFrontBuffer(_,x,Z)}}flushBackBuffer(e,t,n){this.sourceBuffers.forEach(([l,_])=>{if(_){const I=Lr.getBuffered(_);if(I.length>0&&n>I.start(0)){var x;this.hls.trigger(y.BACK_BUFFER_REACHED,{bufferEnd:n});const k=this.tracks[l];if((x=this.details)!=null&&x.live)this.hls.trigger(y.LIVE_BACK_BUFFER_REACHED,{bufferEnd:n});else if(k!=null&&k.ended){this.log(`Cannot flush ${l} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(y.BUFFER_FLUSHING,{startOffset:0,endOffset:n,type:l})}}})}flushFrontBuffer(e,t,n){this.sourceBuffers.forEach(([l,_])=>{if(_){const x=Lr.getBuffered(_),I=x.length;if(I<2)return;const k=x.start(I-1),N=x.end(I-1);if(n>k||e>=k&&e<=N)return;this.hls.trigger(y.BUFFER_FLUSHING,{startOffset:k,endOffset:1/0,type:l})}})}getDurationAndRange(){var e;const{details:t,mediaSource:n}=this;if(!t||!this.media||(n==null?void 0:n.readyState)!=="open")return null;const l=t.edge;if(t.live&&this.hls.config.liveDurationInfinity){if(t.fragments.length&&n.setLiveSeekableRange){const N=Math.max(0,t.fragmentStart),j=Math.max(N,l);return{duration:1/0,start:N,end:j}}return{duration:1/0}}const _=(e=this.overrides)==null?void 0:e.duration;if(_)return ee(_)?{duration:_}:null;const x=this.media.duration,I=ee(n.duration)?n.duration:0;return l>I&&l>x||!ee(x)?{duration:l}:null}updateMediaSource({duration:e,start:t,end:n}){const l=this.mediaSource;!this.media||!l||l.readyState!=="open"||(l.duration!==e&&(ee(e)&&this.log(`Updating MediaSource duration to ${e.toFixed(3)}`),l.duration=e),t!==void 0&&n!==void 0&&(this.log(`MediaSource duration is set to ${l.duration}. Setting seekable range to ${t}-${n}.`),l.setLiveSeekableRange(t,n)))}get tracksReady(){const e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){const{bufferCodecEventsTotal:e,pendingTrackCount:t,tracks:n}=this;if(this.log(`checkPendingTracks (pending: ${t} codec events expected: ${e}) ${He(n)}`),this.tracksReady){var l;const _=(l=this.transferData)==null?void 0:l.tracks;_&&Object.keys(_).length?this.attachTransferred():this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){const e={};this.sourceBuffers.forEach(([t,n])=>{if(t){const l=this.tracks[t];e[t]={buffer:n,container:l.container,codec:l.codec,supplemental:l.supplemental,levelCodec:l.levelCodec,id:l.id,metadata:l.metadata}}}),this.hls.trigger(y.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([t])=>{this.executeNext(t)})}else{const e=new Error("could not create source buffer for media codec(s)");this.hls.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){const{tracks:e,sourceBuffers:t,mediaSource:n}=this;if(!n)throw new Error("createSourceBuffers called when mediaSource was null");for(const _ in e){const x=_,I=e[x];if(this.isPending(I)){const k=this.getTrackCodec(I,x),N=`${I.container};codecs=${k}`;I.codec=k,this.log(`creating sourceBuffer(${N})${this.currentOp(x)?" Queued":""} ${He(I)}`);try{const j=n.addSourceBuffer(N),Z=ys(x),Q=[x,j];t[Z]=Q,I.buffer=j}catch(j){var l;this.error(`error while trying to add sourceBuffer: ${j.message}`),this.shiftAndExecuteNext(x),(l=this.operationQueue)==null||l.removeBlockers(),delete this.tracks[x],this.hls.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:j,sourceBufferName:x,mimeType:N,parent:I.id});return}this.trackSourceBuffer(x,I)}}this.bufferCreated()}getTrackCodec(e,t){const n=e.supplemental;let l=e.codec;n&&(t==="video"||t==="audiovideo")&&qt(n,"video")&&(l=St(l,n));const _=Mt(l,e.levelCodec);return _?t.slice(0,5)==="audio"?dt(_,this.appendSource):_:""}trackSourceBuffer(e,t){const n=t.buffer;if(!n)return;const l=this.getTrackCodec(t,e);this.tracks[e]={buffer:n,codec:l,container:t.container,levelCodec:t.levelCodec,supplemental:t.supplemental,metadata:t.metadata,id:t.id,listeners:[]},this.removeBufferListeners(e),this.addBufferListener(e,"updatestart",this.onSBUpdateStart),this.addBufferListener(e,"updateend",this.onSBUpdateEnd),this.addBufferListener(e,"error",this.onSBUpdateError),this.appendSource&&this.addBufferListener(e,"bufferedchange",(_,x)=>{const I=x.removedRanges;I!=null&&I.length&&this.hls.trigger(y.BUFFER_FLUSHED,{type:_})})}get mediaSrc(){var e,t;const n=((e=this.media)==null||(t=e.querySelector)==null?void 0:t.call(e,"source"))||this.media;return n==null?void 0:n.src}onSBUpdateStart(e){const t=this.currentOp(e);t&&t.onStart()}onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return}const n=this.currentOp(e);n&&(n.onComplete(),this.shiftAndExecuteNext(e))}onSBUpdateError(e,t){var n;const l=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(n=this.mediaSource)==null?void 0:n.readyState}`);this.error(`${l}`,t),this.hls.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:l,fatal:!1});const _=this.currentOp(e);_&&_.onError(l)}updateTimestampOffset(e,t,n,l,_,x){const I=t-e.timestampOffset;Math.abs(I)>=n&&(this.log(`Updating ${l} SourceBuffer timestampOffset to ${t} (sn: ${_} cc: ${x})`),e.timestampOffset=t)}removeExecutor(e,t,n){const{media:l,mediaSource:_}=this,x=this.tracks[e],I=x==null?void 0:x.buffer;if(!l||!_||!I){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),this.shiftAndExecuteNext(e);return}const k=ee(l.duration)?l.duration:1/0,N=ee(_.duration)?_.duration:1/0,j=Math.max(0,t),Z=Math.min(n,k,N);Z>j&&(!x.ending||x.ended)?(x.ended=!1,this.log(`Removing [${j},${Z}] from the ${e} SourceBuffer`),I.remove(j,Z)):this.shiftAndExecuteNext(e)}appendExecutor(e,t){const n=this.tracks[t],l=n==null?void 0:n.buffer;if(!l)throw new wu(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);n.ending=!1,n.ended=!1,l.appendBuffer(e)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch(t=>{this.warn(`SourceBuffer blocked callback ${t}`),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(t){this.warn(`Callback run without blocking ${this.operationQueue} ${t}`)}}isUpdating(){return this.sourceBuffers.some(([e,t])=>e&&t.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}blockBuffers(e,t=this.sourceBufferTypes){if(!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);const{operationQueue:n}=this,l=t.map(x=>this.appendBlocker(x));return t.length>1&&!!this.blockedAudioAppend&&this.unblockAudio(),Promise.all(l).then(x=>{n===this.operationQueue&&(e(),this.stepOperationQueue(this.sourceBufferTypes))})}stepOperationQueue(e){e.forEach(t=>{var n;const l=(n=this.tracks[t])==null?void 0:n.buffer;!l||l.updating||this.shiftAndExecuteNext(t)})}append(e,t,n){this.operationQueue&&this.operationQueue.append(e,t,n)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){return this.operationQueue?this.operationQueue.current(e):null}executeNext(e){e&&this.operationQueue&&this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){this.operationQueue&&this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,t)=>e+(this.isPending(this.tracks[t])?1:0),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[t])=>e+(t?1:0),0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter(e=>!!e)}addBufferListener(e,t,n){const l=this.tracks[e];if(!l)return;const _=l.buffer;if(!_)return;const x=n.bind(this,e);l.listeners.push({event:t,listener:x}),_.addEventListener(t,x)}removeBufferListeners(e){const t=this.tracks[e];if(!t)return;const n=t.buffer;n&&(t.listeners.forEach(l=>{n.removeEventListener(l.event,l.listener)}),t.listeners.length=0)}}function bo(A){const e=A.querySelectorAll("source");[].slice.call(e).forEach(t=>{A.removeChild(t)})}function Iu(A,e){const t=self.document.createElement("source");t.type="video/mp4",t.src=e,A.appendChild(t)}function ys(A){return A==="audio"?1:0}class Es{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){const{hls:e}=this;e.on(y.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.BUFFER_CODECS,this.onBufferCodecs,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){const{hls:e}=this;e.off(y.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){const n=this.hls.levels[t.droppedLevel];this.isLevelAllowed(n)&&this.restrictedLevels.push({bitrate:n.bitrate,height:n.height,width:n.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){const n=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,n.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&ee(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}const e=this.hls.levels;if(e.length){const t=this.hls,n=this.getMaxLevel(e.length-1);n!==this.autoLevelCapping&&t.logger.log(`Setting autoLevelCapping to ${n}: ${e[n].height}p@${e[n].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=n,t.autoLevelEnabled&&t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){const t=this.hls.levels;if(!t.length)return-1;const n=t.filter((l,_)=>this.isLevelAllowed(l)&&_<=e);return this.clientRect=null,Es.getMaxLevelByMediaSize(n,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;const e=this.media,t={width:0,height:0};if(e){const n=e.getBoundingClientRect();t.width=n.width,t.height=n.height,!t.width&&!t.height&&(t.width=n.right-n.left||e.width||0,t.height=n.bottom-n.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(t){}return Math.min(e,this.hls.config.maxDevicePixelRatio)}isLevelAllowed(e){return!this.restrictedLevels.some(n=>e.bitrate===n.bitrate&&e.width===n.width&&e.height===n.height)}static getMaxLevelByMediaSize(e,t,n){if(!(e!=null&&e.length))return-1;const l=(I,k)=>k?I.width!==k.width||I.height!==k.height:!0;let _=e.length-1;const x=Math.max(t,n);for(let I=0;I<e.length;I+=1){const k=e[I];if((k.width>=x||k.height>=x)&&l(k,e[I+1])){_=I;break}}return _}}const fi={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},Pu={HLS:"h"};class Ri{constructor(e,t){Array.isArray(e)&&(e=e.map(n=>n instanceof Ri?n:new Ri(n))),this.value=e,this.params=t}}const Mu="Dict";function Ou(A){return Array.isArray(A)?JSON.stringify(A):A instanceof Map?"Map{}":A instanceof Set?"Set{}":typeof A=="object"?JSON.stringify(A):String(A)}function Nu(A,e,t,n){return new Error(`failed to ${A} "${Ou(e)}" as ${t}`,{cause:n})}function wi(A,e,t){return Nu("serialize",A,e,t)}class So{constructor(e){this.description=e}}const Do="Bare Item",Bu="Boolean";function Uu(A){if(typeof A!="boolean")throw wi(A,Bu);return A?"?1":"?0"}function Fu(A){return btoa(String.fromCharCode(...A))}const ku="Byte Sequence";function Wu(A){if(ArrayBuffer.isView(A)===!1)throw wi(A,ku);return`:${Fu(A)}:`}const Ku="Integer";function Gu(A){return A<-999999999999999||999999999999999<A}function Lo(A){if(Gu(A))throw wi(A,Ku);return A.toString()}function Vu(A){return`@${Lo(A.getTime()/1e3)}`}function Ro(A,e){if(A<0)return-Ro(-A,e);const t=Math.pow(10,e);if(Math.abs(A*t%1-.5)<Number.EPSILON){const l=Math.floor(A*t);return(l%2===0?l:l+1)/t}else return Math.round(A*t)/t}const Hu="Decimal";function zu(A){const e=Ro(A,3);if(Math.floor(Math.abs(e)).toString().length>12)throw wi(A,Hu);const t=e.toString();return t.includes(".")?t:`${t}.0`}const ju="String",Zu=/[\x00-\x1f\x7f]+/;function Xu(A){if(Zu.test(A))throw wi(A,ju);return`"${A.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function Yu(A){return A.description||A.toString().slice(7,-1)}const $u="Token";function wo(A){const e=Yu(A);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw wi(e,$u);return e}function xs(A){switch(typeof A){case"number":if(!ee(A))throw wi(A,Do);return Number.isInteger(A)?Lo(A):zu(A);case"string":return Xu(A);case"symbol":return wo(A);case"boolean":return Uu(A);case"object":if(A instanceof Date)return Vu(A);if(A instanceof Uint8Array)return Wu(A);if(A instanceof So)return wo(A);default:throw wi(A,Do)}}const Qu="Key";function Ts(A){if(/^[a-z*][a-z0-9\-_.*]*$/.test(A)===!1)throw wi(A,Qu);return A}function As(A){return A==null?"":Object.entries(A).map(([e,t])=>t===!0?`;${Ts(e)}`:`;${Ts(e)}=${xs(t)}`).join("")}function Co(A){return A instanceof Ri?`${xs(A.value)}${As(A.params)}`:xs(A)}function Ju(A){return`(${A.value.map(Co).join(" ")})${As(A.params)}`}function qu(A,e={whitespace:!0}){if(typeof A!="object"||A==null)throw wi(A,Mu);const t=A instanceof Map?A.entries():Object.entries(A),n=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([l,_])=>{_ instanceof Ri||(_=new Ri(_));let x=Ts(l);return _.value===!0?x+=As(_.params):(x+="=",Array.isArray(_.value)?x+=Ju(_):x+=Co(_)),x}).join(`,${n}`)}function Io(A,e){return qu(A,e)}const Ci="CMCD-Object",Bn="CMCD-Request",Yi="CMCD-Session",zi="CMCD-Status",ec={br:Ci,ab:Ci,d:Ci,ot:Ci,tb:Ci,tpb:Ci,lb:Ci,tab:Ci,lab:Ci,url:Ci,pb:Bn,bl:Bn,tbl:Bn,dl:Bn,ltc:Bn,mtp:Bn,nor:Bn,nrr:Bn,rc:Bn,sn:Bn,sta:Bn,su:Bn,ttfb:Bn,ttfbb:Bn,ttlb:Bn,cmsdd:Bn,cmsds:Bn,smrt:Bn,df:Bn,cs:Bn,ts:Bn,cid:Yi,pr:Yi,sf:Yi,sid:Yi,st:Yi,v:Yi,msd:Yi,bs:zi,bsd:zi,cdn:zi,rtp:zi,bg:zi,pt:zi,ec:zi,e:zi},tc={REQUEST:Bn};function rc(A){return Object.keys(A).reduce((e,t)=>{var n;return(n=A[t])===null||n===void 0||n.forEach(l=>e[l]=t),e},{})}function nc(A,e){const t={};if(!A)return t;const n=Object.keys(A),l=e?rc(e):{};return n.reduce((_,x)=>{var I;const k=ec[x]||l[x]||tc.REQUEST,N=(I=_[k])!==null&&I!==void 0?I:_[k]={};return N[x]=A[x],_},t)}function ic(A){return["ot","sf","st","e","sta"].includes(A)}function ac(A){return typeof A=="number"?ee(A):A!=null&&A!==""&&A!==!1}const Po="event";function sc(A,e){const t=new URL(A),n=new URL(e);if(t.origin!==n.origin)return A;const l=t.pathname.split("/").slice(1),_=n.pathname.split("/").slice(1,-1);for(;l[0]===_[0];)l.shift(),_.shift();for(;_.length;)_.shift(),l.unshift("..");return l.join("/")+t.search+t.hash}const Ga=A=>Math.round(A),bs=(A,e)=>Array.isArray(A)?A.map(t=>bs(t,e)):A instanceof Ri&&typeof A.value=="string"?new Ri(bs(A.value,e),A.params):(e.baseUrl&&(A=sc(A,e.baseUrl)),e.version===1?encodeURIComponent(A):A),Va=A=>Ga(A/100)*100,oc={br:Ga,d:Ga,bl:Va,dl:Va,mtp:Va,nor:(A,e)=>{let t=A;return e.version>=2&&(A instanceof Ri&&typeof A.value=="string"?t=new Ri([A]):typeof A=="string"&&(t=[A])),bs(t,e)},rtp:Va,tb:Ga},Mo="request",Oo="response",Ss=["ab","bg","bl","br","bs","bsd","cdn","cid","cs","df","ec","lab","lb","ltc","msd","mtp","pb","pr","pt","sf","sid","sn","st","sta","tab","tb","tbl","tpb","ts","v"],lc=["e"],uc=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function Ha(A){return uc.test(A)}function cc(A){return Ss.includes(A)||lc.includes(A)||Ha(A)}const No=["d","dl","nor","ot","rtp","su"];function hc(A){return Ss.includes(A)||No.includes(A)||Ha(A)}const fc=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"];function dc(A){return Ss.includes(A)||No.includes(A)||fc.includes(A)||Ha(A)}const _c=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"];function mc(A){return _c.includes(A)||Ha(A)}const pc={[Oo]:dc,[Po]:cc,[Mo]:hc};function Bo(A,e={}){const t={};if(A==null||typeof A!="object")return t;const n=e.version||A.v||1,l=e.reportingMode||Mo,_=n===1?mc:pc[l];let x=Object.keys(A).filter(_);const I=e.filter;typeof I=="function"&&(x=x.filter(I));const k=l===Oo||l===Po;k&&!x.includes("ts")&&x.push("ts"),n>1&&!x.includes("v")&&x.push("v");const N=u({},oc,e.formatters),j={version:n,reportingMode:l,baseUrl:e.baseUrl};return x.sort().forEach(Z=>{let Q=A[Z];const re=N[Z];if(typeof re=="function"&&(Q=re(Q,j)),Z==="v"){if(n===1)return;Q=n}Z=="pr"&&Q===1||(k&&Z==="ts"&&!ee(Q)&&(Q=Date.now()),ac(Q)&&(ic(Z)&&typeof Q=="string"&&(Q=new So(Q)),t[Z]=Q))}),t}function gc(A,e={}){const t={};if(!A)return t;const n=Bo(A,e),l=nc(n,e==null?void 0:e.customHeaderMap);return Object.entries(l).reduce((_,[x,I])=>{const k=Io(I,{whitespace:!1});return k&&(_[x]=k),_},t)}function vc(A,e,t){return u(A,gc(e,t))}const yc="CMCD";function Ec(A,e={}){return A?Io(Bo(A,e),{whitespace:!1}):""}function xc(A,e={}){if(!A)return"";const t=Ec(A,e);return encodeURIComponent(t)}function Tc(A,e={}){if(!A)return"";const t=xc(A,e);return`${yc}=${t}`}const Uo=/CMCD=[^&#]+/;function Ac(A,e,t){const n=Tc(e,t);if(!n)return A;if(Uo.test(A))return A.replace(Uo,n);const l=A.includes("?")?"&":"?";return`${A}${l}${n}`}class bc{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=l=>{try{this.apply(l,{ot:fi.MANIFEST,su:!this.initialized})}catch(_){this.hls.logger.warn("Could not generate manifest CMCD data.",_)}},this.applyFragmentData=l=>{try{const{frag:_,part:x}=l,I=this.hls.levels[_.level],k=this.getObjectType(_),N={d:(x||_).duration*1e3,ot:k};(k===fi.VIDEO||k===fi.AUDIO||k==fi.MUXED)&&(N.br=I.bitrate/1e3,N.tb=this.getTopBandwidth(k)/1e3,N.bl=this.getBufferLength(k));const j=x?this.getNextPart(x):this.getNextFrag(_);j!=null&&j.url&&j.url!==_.url&&(N.nor=j.url),this.apply(l,N)}catch(_){this.hls.logger.warn("Could not generate segment CMCD data.",_)}},this.hls=e;const t=this.config=e.config,{cmcd:n}=t;n!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=n.sessionId||e.sessionId,this.cid=n.contentId,this.useHeaders=n.useHeaders===!0,this.includeKeys=n.includeKeys,this.registerListeners())}registerListeners(){const e=this.hls;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHED,this.onMediaDetached,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){const e=this.hls;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHED,this.onMediaDetached,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=this.media=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var n,l;this.audioBuffer=(n=t.tracks.audio)==null?void 0:n.buffer,this.videoBuffer=(l=t.tracks.video)==null?void 0:l.buffer}createData(){var e;return{v:1,sf:Pu.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){u(t,this.createData());const n=t.ot===fi.INIT||t.ot===fi.VIDEO||t.ot===fi.MUXED;this.starved&&n&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);const{includeKeys:l}=this;l&&(t=Object.keys(t).reduce((x,I)=>(l.includes(I)&&(x[I]=t[I]),x),{}));const _={baseUrl:e.url};this.useHeaders?(e.headers||(e.headers={}),vc(e.headers,t,_)):e.url=Ac(e.url,t,_)}getNextFrag(e){var t;const n=(t=this.hls.levels[e.level])==null?void 0:t.details;if(n){const l=e.sn-n.startSN;return n.fragments[l+1]}}getNextPart(e){var t;const{index:n,fragment:l}=e,_=(t=this.hls.levels[l.level])==null||(t=t.details)==null?void 0:t.partList;if(_){const{sn:x}=l;for(let I=_.length-1;I>=0;I--){const k=_[I];if(k.index===n&&k.fragment.sn===x)return _[I+1]}}}getObjectType(e){const{type:t}=e;if(t==="subtitle")return fi.TIMED_TEXT;if(e.sn==="initSegment")return fi.INIT;if(t==="audio")return fi.AUDIO;if(t==="main")return this.hls.audioTracks.length?fi.VIDEO:fi.MUXED}getTopBandwidth(e){let t=0,n;const l=this.hls;if(e===fi.AUDIO)n=l.audioTracks;else{const _=l.maxAutoLevel,x=_>-1?_+1:l.levels.length;n=l.levels.slice(0,x)}return n.forEach(_=>{_.bitrate>t&&(t=_.bitrate)}),t>0?t:NaN}getBufferLength(e){const t=this.media,n=e===fi.AUDIO?this.audioBuffer:this.videoBuffer;return!n||!t?NaN:Lr.bufferInfo(n,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){const{pLoader:e}=this.config,t=this.applyPlaylistData,n=e||this.config.loader;return class{constructor(_){this.loader=void 0,this.loader=new n(_)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(_,x,I){t(_),this.loader.load(_,x,I)}}}createFragmentLoader(){const{fLoader:e}=this.config,t=this.applyFragmentData,n=e||this.config.loader;return class{constructor(_){this.loader=void 0,this.loader=new n(_)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(_,x,I){t(_),this.loader.load(_,x,I)}}}}const Sc=3e5;class Dc extends p{constructor(e){super("content-steering",e.logger),this.hls=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this._pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.registerListeners()}registerListeners(){const e=this.hls;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const e=this.hls;e&&(e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.ERROR,this.onError,this))}pathways(){return(this.levels||[]).reduce((e,t)=>(e.indexOf(t.pathwayId)===-1&&e.push(t.pathwayId),e),[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){const e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){const t=this.levels;t&&(this.levels=t.filter(n=>n!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){const{contentSteering:n}=t;n!==null&&(this.pathwayId=n.pathwayId,this.uri=n.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){const{errorAction:n}=t;if((n==null?void 0:n.action)===Nr.SendAlternateToPenaltyBox&&n.flags===lr.MoveAllAlternatesMatchingHost){const l=this.levels;let _=this._pathwayPriority,x=this.pathwayId;if(t.context){const{groupId:I,pathwayId:k,type:N}=t.context;I&&l?x=this.getPathwayForGroupId(I,N,x):k&&(x=k)}x in this.penalizedPathways||(this.penalizedPathways[x]=performance.now()),!_&&l&&(_=this.pathways()),_&&_.length>1&&(this.updatePathwayPriority(_),n.resolved=this.pathwayId!==x),t.details===W.BUFFER_APPEND_ERROR&&!t.fatal?n.resolved=!0:n.resolved||this.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${x} levels: ${l&&l.length} priorities: ${He(_)} penalized: ${He(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){const n=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${n}"`),t=this.getLevelsForPathway(n),this.pathwayId=n}return t.length!==e.length&&this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this._pathwayPriority=e;let t;const n=this.penalizedPathways,l=performance.now();Object.keys(n).forEach(_=>{l-n[_]>Sc&&delete n[_]});for(let _=0;_<e.length;_++){const x=e[_];if(x in n)continue;if(x===this.pathwayId)return;const I=this.hls.nextLoadLevel,k=this.hls.levels[I];if(t=this.getLevelsForPathway(x),t.length>0){this.log(`Setting Pathway to "${x}"`),this.pathwayId=x,ti(t),this.hls.trigger(y.LEVELS_UPDATED,{levels:t});const N=this.hls.levels[I];k&&N&&this.levels&&(N.attrs["STABLE-VARIANT-ID"]!==k.attrs["STABLE-VARIANT-ID"]&&N.bitrate!==k.bitrate&&this.log(`Unstable Pathways change from bitrate ${k.bitrate} to ${N.bitrate}`),this.hls.nextLoadLevel=I);break}}}getPathwayForGroupId(e,t,n){const l=this.getLevelsForPathway(n).concat(this.levels||[]);for(let _=0;_<l.length;_++)if(t===L.AUDIO_TRACK&&l[_].hasAudioGroup(e)||t===L.SUBTITLE_TRACK&&l[_].hasSubtitleGroup(e))return l[_].pathwayId;return n}clonePathways(e){const t=this.levels;if(!t)return;const n={},l={};e.forEach(_=>{const{ID:x,"BASE-ID":I,"URI-REPLACEMENT":k}=_;if(t.some(j=>j.pathwayId===x))return;const N=this.getLevelsForPathway(I).map(j=>{const Z=new an(j.attrs);Z["PATHWAY-ID"]=x;const Q=Z.AUDIO&&`${Z.AUDIO}_clone_${x}`,re=Z.SUBTITLES&&`${Z.SUBTITLES}_clone_${x}`;Q&&(n[Z.AUDIO]=Q,Z.AUDIO=Q),re&&(l[Z.SUBTITLES]=re,Z.SUBTITLES=re);const ne=ko(j.uri,Z["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",k),de=new Pt({attrs:Z,audioCodec:j.audioCodec,bitrate:j.bitrate,height:j.height,name:j.name,url:ne,videoCodec:j.videoCodec,width:j.width});if(j.audioGroups)for(let fe=1;fe<j.audioGroups.length;fe++)de.addGroupId("audio",`${j.audioGroups[fe]}_clone_${x}`);if(j.subtitleGroups)for(let fe=1;fe<j.subtitleGroups.length;fe++)de.addGroupId("text",`${j.subtitleGroups[fe]}_clone_${x}`);return de});t.push(...N),Fo(this.audioTracks,n,k,x),Fo(this.subtitleTracks,l,k,x)})}loadSteeringManifest(e){const t=this.hls.config,n=t.loader;this.loader&&this.loader.destroy(),this.loader=new n(t);let l;try{l=new self.URL(e)}catch(j){this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(l.protocol!=="data:"){const j=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;l.searchParams.set("_HLS_pathway",this.pathwayId),l.searchParams.set("_HLS_throughput",""+j)}const _={responseType:"json",url:l.href},x=t.steeringManifestLoadPolicy.default,I=x.errorRetry||x.timeoutRetry||{},k={loadPolicy:x,timeout:x.maxLoadTimeMs,maxRetry:I.maxNumRetry||0,retryDelay:I.retryDelayMs||0,maxRetryDelay:I.maxRetryDelayMs||0},N={onSuccess:(j,Z,Q,re)=>{this.log(`Loaded steering manifest: "${l}"`);const ne=j.data;if((ne==null?void 0:ne.VERSION)!==1){this.log(`Steering VERSION ${ne.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=ne.TTL;const{"RELOAD-URI":de,"PATHWAY-CLONES":fe,"PATHWAY-PRIORITY":Ae}=ne;if(de)try{this.uri=new self.URL(de,l).href}catch(Ie){this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${de}`);return}this.scheduleRefresh(this.uri||Q.url),fe&&this.clonePathways(fe);const we={steeringManifest:ne,url:l.toString()};this.hls.trigger(y.STEERING_MANIFEST_LOADED,we),Ae&&this.updatePathwayPriority(Ae)},onError:(j,Z,Q,re)=>{if(this.log(`Error loading steering manifest: ${j.code} ${j.text} (${Z.url})`),this.stopLoad(),j.code===410){this.enabled=!1,this.log(`Steering manifest ${Z.url} no longer available`);return}let ne=this.timeToLoad*1e3;if(j.code===429){const de=this.loader;if(typeof(de==null?void 0:de.getResponseHeader)=="function"){const fe=de.getResponseHeader("Retry-After");fe&&(ne=parseFloat(fe)*1e3)}this.log(`Steering manifest ${Z.url} rate limited`);return}this.scheduleRefresh(this.uri||Z.url,ne)},onTimeout:(j,Z,Q)=>{this.log(`Timeout loading steering manifest (${Z.url})`),this.scheduleRefresh(this.uri||Z.url)}};this.log(`Requesting steering manifest: ${l}`),this.loader.load(_,k,N)}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var n;const l=(n=this.hls)==null?void 0:n.media;if(l&&!l.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1e3)},t)}}function Fo(A,e,t,n){A&&Object.keys(e).forEach(l=>{const _=A.filter(x=>x.groupId===l).map(x=>{const I=u({},x);return I.details=void 0,I.attrs=new an(I.attrs),I.url=I.attrs.URI=ko(x.url,x.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),I.groupId=I.attrs["GROUP-ID"]=e[l],I.attrs["PATHWAY-ID"]=n,I});A.push(..._)})}function ko(A,e,t,n){const{HOST:l,PARAMS:_,[t]:x}=n;let I;e&&(I=x==null?void 0:x[e],I&&(A=I));const k=new self.URL(A);return l&&!I&&(k.host=l),_&&Object.keys(_).sort().forEach(N=>{N&&k.searchParams.set(N,_[N])}),k.href}class ua extends p{constructor(e){super("eme",e.logger),this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.mediaKeys=null,this.setMediaKeysQueue=ua.CDMCleanupPromise?[ua.CDMCleanupPromise]:[],this.bannedKeyIds={},this.onMediaEncrypted=t=>{const{initDataType:n,initData:l}=t,_=`"${t.type}" event: init data type: "${n}"`;if(this.debug(_),l!==null){if(!this.keyFormatPromise){let x=Object.keys(this.keySystemAccessPromises);x.length||(x=Jn(this.config));const I=x.map(kn).filter(k=>!!k);this.keyFormatPromise=this.getKeyFormatPromise(I)}this.keyFormatPromise.then(x=>{const I=Qn(x);if(n!=="sinf"||I!==Kr.FAIRPLAY){this.log(`Ignoring "${t.type}" event with init data type: "${n}" for selected key-system ${I}`);return}let k;try{const re=xe(new Uint8Array(l)),ne=qr(JSON.parse(re).sinf),de=Xe(ne);if(!de)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");k=new Uint8Array(de.subarray(8,24))}catch(re){this.warn(`${_} Failed to parse sinf: ${re}`);return}const N=B(k),{keyIdToKeySessionPromise:j,mediaKeySessions:Z}=this;let Q=j[N];for(let re=0;re<Z.length;re++){const ne=Z[re],de=ne.decryptdata;if(!de.keyId)continue;const fe=B(de.keyId);if(Er(k,de.keyId)||de.uri.replace(/-/g,"").indexOf(N)!==-1){if(Q=j[fe],!Q)continue;if(de.pssh)break;delete j[fe],de.pssh=new Uint8Array(l),de.keyId=k,Q=j[N]=Q.then(()=>this.generateRequestWithPreferredKeySession(ne,n,l,"encrypted-event-key-match")),Q.catch(Ae=>this.handleError(Ae));break}}Q||this.handleError(new Error(`Key ID ${N} not encountered in playlist. Key-system sessions ${Z.length}.`))}).catch(x=>this.handleError(x))}},this.onWaitingForKey=t=>{this.log(`"${t.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();const e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=this.keyIdToKeySessionPromise=null,this.onMediaEncrypted=this.onWaitingForKey=null}registerListeners(){this.hls.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(y.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(y.DESTROYING,this.onDestroying,this)}unregisterListeners(){this.hls.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(y.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(y.DESTROYING,this.onDestroying,this)}getLicenseServerUrl(e){const{drmSystems:t,widevineLicenseUrl:n}=this.config,l=t==null?void 0:t[e];if(l)return l.licenseUrl;if(e===Kr.WIDEVINE&&n)return n}getLicenseServerUrlOrThrow(e){const t=this.getLicenseServerUrl(e);if(t===void 0)throw new Error(`no license server URL configured for key-system "${e}"`);return t}getServerCertificateUrl(e){const{drmSystems:t}=this.config,n=t==null?void 0:t[e];if(n)return n.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){const t=this.hls.levels,n=(x,I,k)=>!!x&&k.indexOf(x)===I,l=t.map(x=>x.audioCodec).filter(n),_=t.map(x=>x.videoCodec).filter(n);return l.length+_.length===0&&_.push("avc1.42e01e"),new Promise((x,I)=>{const k=N=>{const j=N.shift();this.getMediaKeysPromise(j,l,_).then(Z=>x({keySystem:j,mediaKeys:Z})).catch(Z=>{N.length?k(N):Z instanceof mi?I(Z):I(new mi({type:D.KEY_SYSTEM_ERROR,details:W.KEY_SYSTEM_NO_ACCESS,error:Z,fatal:!0},Z.message))})};k(e)})}requestMediaKeySystemAccess(e,t){const{requestMediaKeySystemAccessFunc:n}=this.config;if(typeof n!="function"){let l=`Configured requestMediaKeySystemAccess is not a function ${n}`;return Wn===null&&self.location.protocol==="http:"&&(l=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(l))}return n(e,t)}getMediaKeysPromise(e,t,n){var l;const _=Ui(e,t,n,this.config.drmSystemOptions||{});let x=this.keySystemAccessPromises[e],I=(l=x)==null?void 0:l.keySystemAccess;if(!I){this.log(`Requesting encrypted media "${e}" key-system access with config: ${He(_)}`),I=this.requestMediaKeySystemAccess(e,_);const k=x=this.keySystemAccessPromises[e]={keySystemAccess:I};return I.catch(N=>{this.log(`Failed to obtain access to key-system "${e}": ${N}`)}),I.then(N=>{this.log(`Access for key-system "${N.keySystem}" obtained`);const j=this.fetchServerCertificate(e);this.log(`Create media-keys for "${e}"`);const Z=k.mediaKeys=N.createMediaKeys().then(Q=>(this.log(`Media-keys created for "${e}"`),k.hasMediaKeys=!0,j.then(re=>re?this.setMediaKeysServerCertificate(Q,e,re):Q)));return Z.catch(Q=>{this.error(`Failed to create media-keys for "${e}"}: ${Q}`)}),Z})}return I.then(()=>x.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:n}){this.log(`Creating key-system session "${t}" keyId: ${B(e.keyId||[])} keyUri: ${e.uri}`);const l=n.createSession(),_={decryptdata:e,keySystem:t,mediaKeys:n,mediaKeysSession:l,keyStatus:"status-pending"};return this.mediaKeySessions.push(_),_}renewKeySession(e){const t=e.decryptdata;if(t.pssh){const n=this.createMediaKeySessionContext(e),l=za(t),_="cenc";this.keyIdToKeySessionPromise[l]=this.generateRequestWithPreferredKeySession(n,_,t.pssh.buffer,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}updateKeySession(e,t){const n=e.mediaKeysSession;return this.log(`Updating key-session "${n.sessionId}" for keyId ${B(e.decryptdata.keyId||[])}
} (data length: ${t.byteLength})`),n.update(t)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map(e=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>kn(e)).filter(e=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:t,mediaKeys:n})=>this.attemptSetMediaKeys(t,n))}selectKeySystem(e){return new Promise((t,n)=>{this.getKeySystemSelectionPromise(e).then(({keySystem:l})=>{const _=kn(l);_?t(_):n(new Error(`Unable to find format for key-system "${l}"`))}).catch(n)})}selectKeySystemFormat(e){const t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){const t=Jn(this.config),n=e.map(Qn).filter(l=>!!l&&t.indexOf(l)!==-1);return this.selectKeySystem(n)}getKeyStatus(e){const{mediaKeySessions:t}=this;for(let n=0;n<t.length;n++){const l=Lc(e,t[n]);if(l)return l}}loadKey(e){const t=e.keyInfo.decryptdata,n=za(t),l=this.bannedKeyIds[n];if(l||this.getKeyStatus(t)==="internal-error"){const I=Wo(l||"internal-error",t);return this.handleError(I,e.frag),Promise.reject(I)}const _=`(keyId: ${n} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${_}`);const x=this.keyIdToKeySessionPromise[n];if(!x){const I=this.getKeySystemForKeyPromise(t).then(({keySystem:k,mediaKeys:N})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${_}`),this.attemptSetMediaKeys(k,N).then(()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:k,mediaKeys:N,decryptdata:t}))))).then(k=>{const N="cenc",j=t.pssh?t.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(k,N,j,"playlist-key")});return I.catch(k=>this.handleError(k,e.frag)),this.keyIdToKeySessionPromise[n]=I,I}return x.catch(I=>{if(I instanceof mi){const k=i({},I.data);this.getKeyStatus(t)==="internal-error"&&(k.decryptdata=t);const N=new mi(k,I.message);this.handleError(N,e.frag)}}),x}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e,t){if(this.hls)if(e instanceof mi){t&&(e.data.frag=t);const n=e.data.decryptdata;this.error(`${e.message}${n?` (${B(n.keyId||[])})`:""}`),this.hls.trigger(y.ERROR,e.data)}else this.error(e.message),this.hls.trigger(y.ERROR,{type:D.KEY_SYSTEM_ERROR,details:W.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})}getKeySystemForKeyPromise(e){const t=za(e),n=this.keyIdToKeySessionPromise[t];if(!n){const l=Qn(e.keyFormat),_=l?[l]:Jn(this.config);return this.attemptKeySystemAccess(_)}return n}getKeySystemSelectionPromise(e){if(e.length||(e=Jn(this.config)),e.length===0)throw new mi({type:D.KEY_SYSTEM_ERROR,details:W.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${He({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}attemptSetMediaKeys(e,t){if(this.mediaKeys===t)return Promise.resolve();const n=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);const l=Promise.all(n).then(()=>{if(!this.media)throw this.mediaKeys=null,new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.mediaKeys=t,this.setMediaKeysQueue.push(l),l.then(()=>{this.log(`Media-keys set for "${e}"`),n.push(l),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(_=>n.indexOf(_)===-1)})}generateRequestWithPreferredKeySession(e,t,n,l){var _;const x=(_=this.config.drmSystems)==null||(_=_[e.keySystem])==null?void 0:_.generateRequest;if(x)try{const ne=x.call(this.hls,t,n,e);if(!ne)throw new Error("Invalid response from configured generateRequest filter");t=ne.initDataType,n=ne.initData?ne.initData:null,e.decryptdata.pssh=n?new Uint8Array(n):null}catch(ne){if(this.warn(ne.message),this.hls&&this.hls.config.debug)throw ne}if(n===null)return this.log(`Skipping key-session request for "${l}" (no initData)`),Promise.resolve(e);const I=za(e.decryptdata),k=e.decryptdata.uri;this.log(`Generating key-session request for "${l}" keyId: ${I} URI: ${k} (init data type: ${t} length: ${n.byteLength})`);const N=new is,j=e._onmessage=ne=>{const de=e.mediaKeysSession;if(!de){N.emit("error",new Error("invalid state"));return}const{messageType:fe,message:Ae}=ne;this.log(`"${fe}" message event for session "${de.sessionId}" message size: ${Ae.byteLength}`),fe==="license-request"||fe==="license-renewal"?this.renewLicense(e,Ae).catch(we=>{N.eventNames().length?N.emit("error",we):this.handleError(we)}):fe==="license-release"?e.keySystem===Kr.FAIRPLAY&&this.updateKeySession(e,un("acknowledged")).then(()=>this.removeSession(e)).catch(we=>this.handleError(we)):this.warn(`unhandled media key message type "${fe}"`)},Z=(ne,de)=>{de.keyStatus=ne;let fe;ne.startsWith("usable")?N.emit("resolved"):ne==="internal-error"||ne==="output-restricted"||ne==="output-downscaled"?fe=Wo(ne,de.decryptdata):ne==="expired"?fe=new Error(`key expired (keyId: ${I})`):ne==="released"?fe=new Error("key released"):ne==="status-pending"||this.warn(`unhandled key status change "${ne}" (keyId: ${I})`),fe&&(N.eventNames().length?N.emit("error",fe):this.handleError(fe))},Q=e._onkeystatuseschange=ne=>{if(!e.mediaKeysSession){N.emit("error",new Error("invalid state"));return}const fe=this.getKeyStatuses(e);if(!Object.keys(fe).some(ze=>fe[ze]!=="status-pending"))return;if(fe[I]==="expired"){this.log(`Expired key ${He(fe)} in key-session "${e.mediaKeysSession.sessionId}"`),this.renewKeySession(e);return}let we=fe[I];if(we)Z(we,e);else{var Ie;e.keyStatusTimeouts||(e.keyStatusTimeouts={}),(Ie=e.keyStatusTimeouts)[I]||(Ie[I]=self.setTimeout(()=>{if(!e.mediaKeysSession||!this.mediaKeys)return;const Je=this.getKeyStatus(e.decryptdata);if(Je&&Je!=="status-pending")return this.log(`No status for keyId ${I} in key-session "${e.mediaKeysSession.sessionId}". Using session key-status ${Je} from other session.`),Z(Je,e);this.log(`key status for ${I} in key-session "${e.mediaKeysSession.sessionId}" timed out after 1000ms`),we="internal-error",Z(we,e)},1e3)),this.log(`No status for keyId ${I} (${He(fe)}).`)}};li(e.mediaKeysSession,"message",j),li(e.mediaKeysSession,"keystatuseschange",Q);const re=new Promise((ne,de)=>{N.on("error",de),N.on("resolved",ne)});return e.mediaKeysSession.generateRequest(t,n).then(()=>{this.log(`Request generated for key-session "${e.mediaKeysSession.sessionId}" keyId: ${I} URI: ${k}`)}).catch(ne=>{throw new mi({type:D.KEY_SYSTEM_ERROR,details:W.KEY_SYSTEM_NO_SESSION,error:ne,decryptdata:e.decryptdata,fatal:!1},`Error generating key-session request: ${ne}`)}).then(()=>re).catch(ne=>(N.removeAllListeners(),this.removeSession(e).then(()=>{throw ne}))).then(()=>(N.removeAllListeners(),e))}getKeyStatuses(e){const t={};return e.mediaKeysSession.keyStatuses.forEach((n,l)=>{if(typeof l=="string"&&typeof n=="object"){const I=l;l=n,n=I}const _="buffer"in l?new Uint8Array(l.buffer,l.byteOffset,l.byteLength):new Uint8Array(l);e.keySystem===Kr.PLAYREADY&&_.length===16&&ur(_);const x=B(_);n==="internal-error"&&(this.bannedKeyIds[x]=n),this.log(`key status change "${n}" for keyStatuses keyId: ${x} key-session "${e.mediaKeysSession.sessionId}"`),t[x]=n}),t}fetchServerCertificate(e){const t=this.config,n=t.loader,l=new n(t),_=this.getServerCertificateUrl(e);return _?(this.log(`Fetching server certificate for "${e}"`),new Promise((x,I)=>{const k={responseType:"arraybuffer",url:_},N=t.certLoadPolicy.default,j={loadPolicy:N,timeout:N.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},Z={onSuccess:(Q,re,ne,de)=>{x(Q.data)},onError:(Q,re,ne,de)=>{I(new mi({type:D.KEY_SYSTEM_ERROR,details:W.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:ne,response:i({url:k.url,data:void 0},Q)},`"${e}" certificate request failed (${_}). Status: ${Q.code} (${Q.text})`))},onTimeout:(Q,re,ne)=>{I(new mi({type:D.KEY_SYSTEM_ERROR,details:W.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:ne,response:{url:k.url,data:void 0}},`"${e}" certificate request timed out (${_})`))},onAbort:(Q,re,ne)=>{I(new Error("aborted"))}};l.load(k,j,Z)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,n){return new Promise((l,_)=>{e.setServerCertificate(n).then(x=>{this.log(`setServerCertificate ${x?"success":"not supported by CDM"} (${n.byteLength}) on "${t}"`),l(e)}).catch(x=>{_(new mi({type:D.KEY_SYSTEM_ERROR,details:W.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:x,fatal:!0},x.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(n=>this.updateKeySession(e,new Uint8Array(n)).catch(l=>{throw new mi({type:D.KEY_SYSTEM_ERROR,details:W.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:e.decryptdata,error:l,fatal:!1},l.message)}))}unpackPlayReadyKeyMessage(e,t){const n=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!n.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;const l=new DOMParser().parseFromString(n,"application/xml"),_=l.querySelectorAll("HttpHeader");if(_.length>0){let j;for(let Z=0,Q=_.length;Z<Q;Z++){var x,I;j=_[Z];const re=(x=j.querySelector("name"))==null?void 0:x.textContent,ne=(I=j.querySelector("value"))==null?void 0:I.textContent;re&&ne&&e.setRequestHeader(re,ne)}}const k=l.querySelector("Challenge"),N=k==null?void 0:k.textContent;if(!N)throw new Error("Cannot find <Challenge> in key message");return un(atob(N))}setupLicenseXHR(e,t,n,l){const _=this.config.licenseXhrSetup;return _?Promise.resolve().then(()=>{if(!n.decryptdata)throw new Error("Key removed");return _.call(this.hls,e,t,n,l)}).catch(x=>{if(!n.decryptdata)throw x;return e.open("POST",t,!0),_.call(this.hls,e,t,n,l)}).then(x=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:x||l})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:l}))}requestLicense(e,t){const n=this.config.keyLoadPolicy.default;return new Promise((l,_)=>{const x=this.getLicenseServerUrlOrThrow(e.keySystem);this.log(`Sending license request to URL: ${x}`);const I=new XMLHttpRequest;I.responseType="arraybuffer",I.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return _(new Error("invalid state"));if(I.readyState===4)if(I.status===200){this._requestLicenseFailureCount=0;let k=I.response;this.log(`License received ${k instanceof ArrayBuffer?k.byteLength:k}`);const N=this.config.licenseResponseCallback;if(N)try{k=N.call(this.hls,I,x,e)}catch(j){this.error(j)}l(k)}else{const k=n.errorRetry,N=k?k.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>N||I.status>=400&&I.status<500)_(new mi({type:D.KEY_SYSTEM_ERROR,details:W.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:e.decryptdata,fatal:!0,networkDetails:I,response:{url:x,data:void 0,code:I.status,text:I.statusText}},`License Request XHR failed (${x}). Status: ${I.status} (${I.statusText})`));else{const j=N-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${j} attempts left`),this.requestLicense(e,t).then(l,_)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=I,this.setupLicenseXHR(I,x,e,t).then(({xhr:k,licenseChallenge:N})=>{e.keySystem==Kr.PLAYREADY&&(N=this.unpackPlayReadyKeyMessage(k,N)),k.send(N)}).catch(_)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,t){if(!this.config.emeEnabled)return;const n=t.media;this.media=n,li(n,"encrypted",this.onMediaEncrypted),li(n,"waitingforkey",this.onWaitingForKey)}onMediaDetached(){const e=this.media;e&&(hi(e,"encrypted",this.onMediaEncrypted),hi(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null)}_clear(){var e;if(this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},this.bannedKeyIds={},!this.mediaKeys&&!this.mediaKeySessions.length)return;const t=this.media,n=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,ci.clearKeyUriToKeyIdMap();const l=n.length;ua.CDMCleanupPromise=Promise.all(n.map(_=>this.removeSession(_)).concat((t==null||(e=t.setMediaKeys(null))==null?void 0:e.catch(_=>{this.log(`Could not clear media keys: ${_}`),this.hls&&this.hls.trigger(y.ERROR,{type:D.OTHER_ERROR,details:W.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:new Error(`Could not clear media keys: ${_}`)})}))||Promise.resolve())).catch(_=>{this.log(`Could not close sessions and clear media keys: ${_}`),this.hls&&this.hls.trigger(y.ERROR,{type:D.OTHER_ERROR,details:W.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error(`Could not close sessions and clear media keys: ${_}`)})}).then(()=>{l&&this.log("finished closing key sessions and clearing media keys")})}onManifestLoading(){this.keyFormatPromise=null,this.bannedKeyIds={}}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){const n=t.reduce((l,_)=>(l.indexOf(_.keyFormat)===-1&&l.push(_.keyFormat),l),[]);this.log(`Selecting key-system from session-keys ${n.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(n)}}removeSession(e){const{mediaKeysSession:t,licenseXhr:n,decryptdata:l}=e;if(t){this.log(`Remove licenses and keys and close session "${t.sessionId}" keyId: ${B((l==null?void 0:l.keyId)||[])}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),n&&n.readyState!==XMLHttpRequest.DONE&&n.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;const _=this.mediaKeySessions.indexOf(e);_>-1&&this.mediaKeySessions.splice(_,1);const{keyStatusTimeouts:x}=e;x&&Object.keys(x).forEach(N=>self.clearTimeout(x[N]));const{drmSystemOptions:I}=this.config;return(ma(I)?new Promise((N,j)=>{self.setTimeout(()=>j(new Error("MediaKeySession.remove() timeout")),8e3),t.remove().then(N).catch(j)}):Promise.resolve()).catch(N=>{this.log(`Could not remove session: ${N}`),this.hls&&this.hls.trigger(y.ERROR,{type:D.OTHER_ERROR,details:W.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:new Error(`Could not remove session: ${N}`)})}).then(()=>t.close()).catch(N=>{this.log(`Could not close session: ${N}`),this.hls&&this.hls.trigger(y.ERROR,{type:D.OTHER_ERROR,details:W.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error(`Could not close session: ${N}`)})})}return Promise.resolve()}}ua.CDMCleanupPromise=void 0;function za(A){if(!A)throw new Error("Could not read keyId of undefined decryptdata");if(A.keyId===null)throw new Error("keyId is null");return B(A.keyId)}function Lc(A,e){if(A.keyId&&e.mediaKeysSession.keyStatuses.has(A.keyId))return e.mediaKeysSession.keyStatuses.get(A.keyId);if(A.matches(e.decryptdata))return e.keyStatus}class mi extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}}function Wo(A,e){const t=A==="output-restricted",n=t?W.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:W.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new mi({type:D.KEY_SYSTEM_ERROR,details:n,fatal:!1,decryptdata:e},t?"HDCP level output restricted":`key status changed to "${A}"`)}class Rc{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(y.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(y.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){const n=this.hls.config;if(n.capLevelOnFPSDrop){const l=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=l,l&&typeof l.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),n.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,t,n){const l=performance.now();if(t){if(this.lastTime){const _=l-this.lastTime,x=n-this.lastDroppedFrames,I=t-this.lastDecodedFrames,k=1e3*x/_,N=this.hls;if(N.trigger(y.FPS_DROP,{currentDropped:x,currentDecoded:I,totalDroppedFrames:n}),k>0&&x>N.config.fpsDroppedMonitoringThreshold*I){let j=N.currentLevel;N.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+j),j>0&&(N.autoLevelCapping===-1||N.autoLevelCapping>=j)&&(j=j-1,N.trigger(y.FPS_DROP_LEVEL_CAPPING,{level:j,droppedLevel:N.currentLevel}),N.autoLevelCapping=j,this.streamController.nextLevelSwitch())}}this.lastTime=l,this.lastDroppedFrames=n,this.lastDecodedFrames=t}}checkFPSInterval(){const e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){const t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}}function Ko(A,e){let t;try{t=new Event("addtrack")}catch(n){t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=A,e.dispatchEvent(t)}function Go(A,e){const t=A.mode;if(t==="disabled"&&(A.mode="hidden"),A.cues&&!A.cues.getCueById(e.id))try{if(A.addCue(e),!A.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(n){S.debug(`[texttrack-utils]: ${n}`);try{const l=new self.TextTrackCue(e.startTime,e.endTime,e.text);l.id=e.id,A.addCue(l)}catch(l){S.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${l}`)}}t==="disabled"&&(A.mode=t)}function ca(A,e){const t=A.mode;if(t==="disabled"&&(A.mode="hidden"),A.cues)for(let n=A.cues.length;n--;)e&&A.cues[n].removeEventListener("enter",e),A.removeCue(A.cues[n]);t==="disabled"&&(A.mode=t)}function Ds(A,e,t,n){const l=A.mode;if(l==="disabled"&&(A.mode="hidden"),A.cues&&A.cues.length>0){const _=Cc(A.cues,e,t);for(let x=0;x<_.length;x++)(!n||n(_[x]))&&A.removeCue(_[x])}l==="disabled"&&(A.mode=l)}function wc(A,e){if(e<=A[0].startTime)return 0;const t=A.length-1;if(e>A[t].endTime)return-1;let n=0,l=t,_;for(;n<=l;)if(_=Math.floor((l+n)/2),e<A[_].startTime)l=_-1;else if(e>A[_].startTime&&n<t)n=_+1;else return _;return A[n].startTime-e<e-A[l].startTime?n:l}function Cc(A,e,t){const n=[],l=wc(A,e);if(l>-1)for(let _=l,x=A.length;_<x;_++){const I=A[_];if(I.startTime>=e&&I.endTime<=t)n.push(I);else if(I.startTime>t)return n}return n}function ja(A){const e=[];for(let t=0;t<A.length;t++){const n=A[t];(n.kind==="subtitles"||n.kind==="captions")&&n.label&&e.push(A[t])}return e}class Ic extends gs{constructor(e){super(e,"subtitle-track-controller"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null;const n=ja(this.media.textTracks);for(let _=0;_<n.length;_++)if(n[_].mode==="hidden")t=n[_];else if(n[_].mode==="showing"){t=n[_];break}const l=this.findTrackForTextTrack(t);this.subtitleTrack!==l&&this.setSubtitleTrack(l)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){const{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(y.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(e,t){const n=this.media;if(!n)return;const l=!!t.transferMedia;if(self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||n.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),this.subtitleTrack=-1,this.media=null,l)return;ja(n.textTracks).forEach(x=>{ca(x)})}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){const{id:n,groupId:l,details:_}=t,x=this.tracksInGroup[n];if(!x||x.groupId!==l){this.warn(`Subtitle track with id:${n} and group:${l} not found in active group ${x==null?void 0:x.groupId}`);return}const I=x.details;x.details=t.details,this.log(`Subtitle track ${n} "${x.name}" lang:${x.lang} group:${l} loaded [${_.startSN}-${_.endSN}]`),n===this.trackId&&this.playlistLoaded(n,t,I)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){const t=this.hls.levels[e];if(!t)return;const n=t.subtitleGroups||null,l=this.groupIds;let _=this.currentTrack;if(!n||(l==null?void 0:l.length)!==(n==null?void 0:n.length)||n!=null&&n.some(x=>(l==null?void 0:l.indexOf(x))===-1)){this.groupIds=n,this.trackId=-1,this.currentTrack=null;const x=this.tracks.filter(j=>!n||n.indexOf(j.groupId)!==-1);if(x.length)this.selectDefaultTrack&&!x.some(j=>j.default)&&(this.selectDefaultTrack=!1),x.forEach((j,Z)=>{j.id=Z});else if(!_&&!this.tracksInGroup.length)return;this.tracksInGroup=x;const I=this.hls.config.subtitlePreference;if(!_&&I){this.selectDefaultTrack=!1;const j=Wt(I,x);if(j>-1)_=x[j];else{const Z=Wt(I,this.tracks);_=this.tracks[Z]}}let k=this.findTrackId(_);k===-1&&_&&(k=this.findTrackId(null));const N={subtitleTracks:x};this.log(`Updating subtitle tracks, ${x.length} track(s) found in "${n==null?void 0:n.join(",")}" group-id`),this.hls.trigger(y.SUBTITLE_TRACKS_UPDATED,N),k!==-1&&this.trackId===-1&&this.setSubtitleTrack(k)}}findTrackId(e){const t=this.tracksInGroup,n=this.selectDefaultTrack;for(let l=0;l<t.length;l++){const _=t[l];if(!(n&&!_.default||!n&&!e)&&(!e||jt(_,e)))return l}if(e){for(let l=0;l<t.length;l++){const _=t[l];if(La(e.attrs,_.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return l}for(let l=0;l<t.length;l++){const _=t[l];if(La(e.attrs,_.attrs,["LANGUAGE"]))return l}}return-1}findTrackForTextTrack(e){if(e){const t=this.tracksInGroup;for(let n=0;n<t.length;n++){const l=t[n];if(vs(l,e))return n}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===L.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){if(e.id===-1)return this.setSubtitleTrack(-1),null;const t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){const n=this.currentTrack;if(n&&jt(e,n))return n;const l=Wt(e,this.tracksInGroup);if(l>-1){const _=this.tracksInGroup[l];return this.setSubtitleTrack(l),_}else{if(n)return null;{const _=Wt(e,t);if(_>-1)return t[_]}}}}return null}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack)&&this.scheduleLoading(this.currentTrack,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);const n=e.id,l=e.groupId,_=this.getUrlWithDirectives(e.url,t),x=e.details,I=x==null?void 0:x.age;this.log(`Loading subtitle ${n} "${e.name}" lang:${e.lang} group:${l}${(t==null?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${I&&x.live?" age "+I.toFixed(1)+(x.type?" "+x.type||0:""):""} ${_}`),this.hls.trigger(y.SUBTITLE_TRACK_LOADING,{url:_,id:n,groupId:l,deliveryDirectives:t||null,track:e})}toggleTrackModes(){const{media:e}=this;if(!e)return;const t=ja(e.textTracks),n=this.currentTrack;let l;if(n&&(l=t.filter(_=>vs(n,_))[0],l||this.warn(`Unable to find subtitle TextTrack with name "${n.name}" and language "${n.lang}"`)),[].slice.call(t).forEach(_=>{_.mode!=="disabled"&&_!==l&&(_.mode="disabled")}),l){const _=this.subtitleDisplay?"showing":"hidden";l.mode!==_&&(l.mode=_)}}setSubtitleTrack(e){const t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!ee(e)){this.warn(`Invalid subtitle track id: ${e}`);return}this.selectDefaultTrack=!1;const n=this.currentTrack,l=t[e]||null;if(this.trackId=e,this.currentTrack=l,this.toggleTrackModes(),!l){this.hls.trigger(y.SUBTITLE_TRACK_SWITCH,{id:e});return}const _=!!l.details&&!l.details.live;if(e===this.trackId&&l===n&&_)return;this.log(`Switching to subtitle-track ${e}`+(l?` "${l.name}" lang:${l.lang} group:${l.groupId}`:""));const{id:x,groupId:I="",name:k,type:N,url:j}=l;this.hls.trigger(y.SUBTITLE_TRACK_SWITCH,{id:x,groupId:I,name:k,type:N,url:j});const Z=this.switchParams(l.url,n==null?void 0:n.details,l.details);this.loadPlaylist(Z)}}function Pc(){try{return crypto.randomUUID()}catch(A){try{const e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(e){let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,l=>{const _=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(l=="x"?_:_&3|8).toString(16)})}}}function Ra(A){let e=5381,t=A.length;for(;t;)e=e*33^A.charCodeAt(--t);return(e>>>0).toString()}const ha=.025;let Za=function(A){return A[A.Point=0]="Point",A[A.Range=1]="Range",A}({});function Mc(A,e,t){return`${A.identifier}-${t+1}-${Ra(e)}`}class Oc{constructor(e,t){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=t,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions)}reset(){var e;this.appendInPlaceStarted=!1,(e=this.assetListLoader)==null||e.destroy(),this.assetListLoader=void 0,this.supplementsPrimary||(this.assetListResponse=null,this.assetList=[],this._duration=null)}isAssetPastPlayoutLimit(e){var t;if(e>0&&e>=this.assetList.length)return!0;const n=this.playoutLimit;return e<=0||isNaN(n)?!1:n===0?!0:(((t=this.assetList[e])==null?void 0:t.startOffset)||0)>n}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){const e=this.dateRange.startTime;if(this.snapOptions.out){const t=this.dateRange.tagAnchor;if(t)return Ls(e,t)}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(this.startTime===0||this.snapOptions.out)return!0;const e=this.dateRange.tagAnchor;if(e){const t=this.dateRange.startTime,n=Ls(t,e);return t-n<.1}return!1}get resumptionOffset(){const e=this.resumeOffset,t=ee(e)?e:this.duration;return this.cumulativeDuration+t}get resumeTime(){const e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){const t=this.resumeAnchor;if(t)return Ls(e,t)}return e}get appendInPlace(){return this.appendInPlaceStarted?!0:this.appendInPlaceDisabled?!1:!!(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&Math.abs(this.resumeOffset-this.duration)<ha))}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return}this.appendInPlaceDisabled=!e}get timelineStart(){return this._timelineStart!==null?this._timelineStart:this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){const e=this.playoutLimit;let t;return this._duration!==null?t=this._duration:this.dateRange.duration?t=this.dateRange.duration:t=this.dateRange.plannedDuration||0,!isNaN(e)&&e<t&&(t=e),t}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){return this.dateRange.attr["X-TIMELINE-OCCUPIES"]==="RANGE"?Za.Range:Za.Point}get supplementsPrimary(){return this.dateRange.attr["X-TIMELINE-STYLE"]==="PRIMARY"}get contentMayVary(){return this.dateRange.attr["X-CONTENT-MAY-VARY"]!=="NO"}get assetUrl(){return this.dateRange.attr["X-ASSET-URI"]}get assetListUrl(){return this.dateRange.attr["X-ASSET-LIST"]}get baseUrl(){return this.base.url}get assetListLoaded(){return this.assetList.length>0||this.assetListResponse!==null}toString(){return Nc(this)}}function Ls(A,e){return A-e.start<e.duration/2&&!(Math.abs(A-(e.start+e.duration))<ha)?e.start:e.start+e.duration}function Vo(A,e,t){const n=new self.URL(A,t);return n.protocol!=="data:"&&n.searchParams.set("_HLS_primary_id",e),n}function Rs(A,e){for(;(t=A.assetList[++e])!=null&&t.error;)var t;return e}function Nc(A){return`["${A.identifier}" ${A.cue.pre?"<pre>":A.cue.post?"<post>":""}${A.timelineStart.toFixed(2)}-${A.resumeTime.toFixed(2)}]`}function fa(A){const e=A.timelineStart,t=A.duration||0;return`["${A.identifier}" ${e.toFixed(2)}-${(e+t).toFixed(2)}]`}class Bc{constructor(e,t,n,l){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetails=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{this.reachedPlayout(this.currentTime)&&this.hls&&this.hls.trigger(y.PLAYOUT_LIMIT_REACHED,{})};const _=this.hls=new e(t);this.interstitial=n,this.assetItem=l;const x=()=>{this.hasDetails=!0};_.once(y.LEVEL_LOADED,x),_.once(y.AUDIO_TRACK_LOADED,x),_.once(y.SUBTITLE_TRACK_LOADED,x),_.on(y.MEDIA_ATTACHING,(I,{media:k})=>{this.removeMediaListeners(),this.mediaAttached=k,this.interstitial.playoutLimit&&(k.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace&&_.on(y.BUFFER_APPENDED,()=>{const j=this.bufferedEnd;this.reachedPlayout(j)&&(this._bufferedEosTime=j,_.trigger(y.BUFFERED_TO_END,void 0))}))})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){const e=this.hls;if(e)if(e.url)e.levels.length&&!e.started&&e.startLoad(-1,!0);else{let t=this.assetItem.uri;try{t=Vo(t,e.config.primarySessionId||"").href}catch(n){}e.loadSource(t)}}bufferedInPlaceToEnd(e){var t;if(!this.appendInPlace)return!1;if((t=this.hls)!=null&&t.bufferedToEnd)return!0;if(!e)return!1;const n=Math.min(this._bufferedEosTime||1/0,this.duration),l=this.timelineOffset,_=Lr.bufferInfo(e,l,0);return this.getAssetTime(_.end)>=n-.02}reachedPlayout(e){const n=this.interstitial.playoutLimit;return this.startOffset+e>=n}get destroyed(){var e;return!((e=this.hls)!=null&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return((e=this.hls)==null?void 0:e.media)||null}get bufferedEnd(){const e=this.media||this.mediaAttached;if(!e)return this._bufferedEosTime?this._bufferedEosTime:this.currentTime;const t=Lr.bufferInfo(e,e.currentTime,.001);return this.getAssetTime(t.end)}get currentTime(){const e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0}get duration(){const e=this.assetItem.duration;if(!e)return 0;const t=this.interstitial.playoutLimit;if(t){const n=t-this.startOffset;if(n>0&&n<e)return n}return e}get remaining(){const e=this.duration;return e?Math.max(0,e-this.currentTime):0}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){var e;return((e=this.hls)==null?void 0:e.config.timelineOffset)||0}set timelineOffset(e){const t=this.timelineOffset;if(e!==t){const n=e-t;if(Math.abs(n)>1/9e4&&this.hls){if(this.hasDetails)throw new Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}}getAssetTime(e){const t=this.timelineOffset,n=this.duration;return Math.min(Math.max(0,e-t),n)}removeMediaListeners(){const e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout))}bufferSnapShot(){if(this.mediaAttached){var e;(e=this.hls)!=null&&e.bufferedToEnd&&(this._bufferedEosTime=this.bufferedEnd)}}destroy(){this.removeMediaListeners(),this.hls&&this.hls.destroy(),this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){var t;this.loadSource(),(t=this.hls)==null||t.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),this.mediaAttached=null,(e=this.hls)==null||e.detachMedia()}resumeBuffering(){var e;(e=this.hls)==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.hls)==null||e.pauseBuffering()}transferMedia(){var e;return this.bufferSnapShot(),((e=this.hls)==null?void 0:e.transferMedia())||null}resetDetails(){const e=this.hls;if(e&&this.hasDetails){e.stopLoad();const t=n=>delete n.details;e.levels.forEach(t),e.allAudioTracks.forEach(t),e.allSubtitleTracks.forEach(t),this.hasDetails=!1}}on(e,t,n){var l;(l=this.hls)==null||l.on(e,t)}once(e,t,n){var l;(l=this.hls)==null||l.once(e,t)}off(e,t,n){var l;(l=this.hls)==null||l.off(e,t)}toString(){var e;return`HlsAssetPlayer: ${fa(this.assetItem)} ${(e=this.hls)==null?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`}}const Ho=.033;class Uc extends p{constructor(e,t){super("interstitials-sched",t),this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){this.eventMap={},this.setDurations(0,0,0),this.events&&this.events.forEach(e=>e.reset()),this.events=this.items=null}resetErrorsInRange(e,t){return this.events?this.events.reduce((n,l)=>e<=l.startOffset&&t>l.startOffset?(delete l.error,n+1):n,0):0}get duration(){const e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e&&this.eventMap[e]||null}hasEvent(e){return e in this.eventMap}findItemIndex(e,t){if(e.event)return this.findEventIndex(e.event.identifier);let n=-1;e.nextEvent?n=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(n=this.findEventIndex(e.previousEvent.identifier)+1);const l=this.items;if(l)for(l[n]||(t===void 0&&(t=e.start),n=this.findItemIndexAtTime(t));n>=0&&(_=l[n])!=null&&_.event;){var _;n--}return n}findItemIndexAtTime(e,t){const n=this.items;if(n)for(let l=0;l<n.length;l++){let _=n[l];if(t&&t!=="primary"&&(_=_[t]),e===_.start||e>_.start&&e<_.end)return l}return-1}findJumpRestrictedIndex(e,t){const n=this.items;if(n)for(let l=e;l<=t&&n[l];l++){const _=n[l].event;if(_!=null&&_.restrictions.jump&&!_.appendInPlace)return l}return-1}findEventIndex(e){const t=this.items;if(t)for(let l=t.length;l--;){var n;if(((n=t[l].event)==null?void 0:n.identifier)===e)return l}return-1}findAssetIndex(e,t){const n=e.assetList,l=n.length;if(l>1)for(let _=0;_<l;_++){const x=n[_];if(!x.error){const I=x.timelineStart;if(t===I||t>I&&(t<I+(x.duration||0)||_===l-1))return _}}return 0}get assetIdAtEnd(){var e;const t=(e=this.items)==null||(e=e[this.length-1])==null?void 0:e.event;if(t){const n=t.assetList,l=n[n.length-1];if(l)return l.identifier}return null}parseInterstitialDateRanges(e,t){const n=e.main.details,{dateRanges:l}=n,_=this.events,x=this.parseDateRanges(l,{url:n.url},t),I=Object.keys(l),k=_?_.filter(N=>!I.includes(N.identifier)):[];x.length&&x.sort((N,j)=>{const Z=N.cue.pre,Q=N.cue.post,re=j.cue.pre,ne=j.cue.post;if(Z&&!re)return-1;if(re&&!Z||Q&&!ne)return 1;if(ne&&!Q)return-1;if(!Z&&!re&&!Q&&!ne){const de=N.startTime,fe=j.startTime;if(de!==fe)return de-fe}return N.dateRange.tagOrder-j.dateRange.tagOrder}),this.events=x,k.forEach(N=>{this.removeEvent(N)}),this.updateSchedule(e,k)}updateSchedule(e,t=[],n=!1){const l=this.events||[];if(l.length||t.length||this.length<2){const _=this.items,x=this.parseSchedule(l,e);(n||t.length||(_==null?void 0:_.length)!==x.length||x.some((k,N)=>Math.abs(k.playout.start-_[N].playout.start)>.005||Math.abs(k.playout.end-_[N].playout.end)>.005))&&(this.items=x,this.onScheduleUpdate(t,_))}}parseDateRanges(e,t,n){const l=[],_=Object.keys(e);for(let x=0;x<_.length;x++){const I=_[x],k=e[I];if(k.isInterstitial){let N=this.eventMap[I];N?N.setDateRange(k):(N=new Oc(k,t),this.eventMap[I]=N,n===!1&&(N.appendInPlace=n)),l.push(N)}}return l}parseSchedule(e,t){const n=[],l=t.main.details,_=l.live?1/0:l.edge;let x=0;if(e=e.filter(k=>!k.error&&!(k.cue.once&&k.hasPlayed)),e.length){this.resolveOffsets(e,t);let k=0,N=0;if(e.forEach((j,Z)=>{const Q=j.cue.pre,re=j.cue.post,ne=e[Z-1]||null,de=j.appendInPlace,fe=re?_:j.startOffset,Ae=j.duration,we=j.timelineOccupancy===Za.Range?Ae:0,Ie=j.resumptionOffset,ze=(ne==null?void 0:ne.startTime)===fe,Je=fe+j.cumulativeDuration;let wt=de?Je+Ae:fe+Ie;if(Q||!re&&fe<=0){const gt=N;N+=we,j.timelineStart=Je;const pt=x;x+=Ae,n.push({event:j,start:Je,end:wt,playout:{start:pt,end:x},integrated:{start:gt,end:N}})}else if(fe<=_){if(!ze){const st=fe-k;if(st>Ho){const Vt=k,_r=N;N+=st;const Sr=x;x+=st;const Br={previousEvent:e[Z-1]||null,nextEvent:j,start:Vt,end:Vt+st,playout:{start:Sr,end:x},integrated:{start:_r,end:N}};n.push(Br)}else st>0&&ne&&(ne.cumulativeDuration+=st,n[n.length-1].end=fe)}re&&(wt=Je),j.timelineStart=Je;const gt=N;N+=we;const pt=x;x+=Ae,n.push({event:j,start:Je,end:wt,playout:{start:pt,end:x},integrated:{start:gt,end:N}})}else return;const et=j.resumeTime;re||et>_?k=_:k=et}),k<_){var I;const j=k,Z=N,Q=_-k;N+=Q;const re=x;x+=Q,n.push({previousEvent:((I=n[n.length-1])==null?void 0:I.event)||null,nextEvent:null,start:k,end:j+Q,playout:{start:re,end:x},integrated:{start:Z,end:N}})}this.setDurations(_,x,N)}else n.push({previousEvent:null,nextEvent:null,start:0,end:_,playout:{start:0,end:_},integrated:{start:0,end:_}}),this.setDurations(_,_,_);return n}setDurations(e,t,n){this.durations={primary:e,playout:t,integrated:n}}resolveOffsets(e,t){const n=t.main.details,l=n.live?1/0:n.edge;let _=0,x=-1;e.forEach((I,k)=>{const N=I.cue.pre,j=I.cue.post,Z=N?0:j?l:I.startTime;this.updateAssetDurations(I),x===Z?I.cumulativeDuration=_:(_=0,x=Z),!j&&I.snapOptions.in&&(I.resumeAnchor=Ar(null,n.fragments,I.startOffset+I.resumptionOffset,0,0)||void 0),I.appendInPlace&&!I.appendInPlaceStarted&&(this.primaryCanResumeInPlaceAt(I,t)||(I.appendInPlace=!1)),!I.appendInPlace&&k+1<e.length&&e[k+1].startTime-e[k].resumeTime<Ho&&(e[k+1].appendInPlace=!1,e[k+1].appendInPlace&&this.warn(`Could not change append strategy for abutting event ${I}`));const re=ee(I.resumeOffset)?I.resumeOffset:I.duration;_+=re})}primaryCanResumeInPlaceAt(e,t){const n=e.resumeTime,l=e.startTime+e.resumptionOffset;return Math.abs(n-l)>ha?(this.log(`"${e.identifier}" resumption ${n} not aligned with estimated timeline end ${l}`),!1):!Object.keys(t).some(x=>{const I=t[x].details,k=I.edge;if(n>=k)return this.log(`"${e.identifier}" resumption ${n} past ${x} playlist end ${k}`),!1;const N=Ar(null,I.fragments,n);if(!N)return this.log(`"${e.identifier}" resumption ${n} does not align with any fragments in ${x} playlist (${I.fragStart}-${I.fragmentEnd})`),!0;const j=x==="audio"?.175:0;return Math.abs(N.start-n)<ha+j||Math.abs(N.end-n)<ha+j?!1:(this.log(`"${e.identifier}" resumption ${n} not aligned with ${x} fragment bounds (${N.start}-${N.end} sn: ${N.sn} cc: ${N.cc})`),!0)})}updateAssetDurations(e){if(!e.assetListLoaded)return;const t=e.timelineStart;let n=0,l=!1,_=!1;for(let x=0;x<e.assetList.length;x++){const I=e.assetList[x],k=t+n;I.startOffset=n,I.timelineStart=k,l||(l=I.duration===null),_||(_=!!I.error);const N=I.error?0:I.duration||0;n+=N}l&&!_?e.duration=Math.max(n,e.duration):e.duration=n}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}}function bi(A){return`[${A.event?'"'+A.event.identifier+'"':"primary"}: ${A.start.toFixed(2)}-${A.end.toFixed(2)}]`}class Fc{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,t){const n=e.assetListUrl;let l;try{l=Vo(n,this.hls.sessionId,e.baseUrl)}catch(Q){const re=this.assignAssetListError(e,W.ASSET_LIST_LOAD_ERROR,Q,n);this.hls.trigger(y.ERROR,re);return}t&&l.protocol!=="data:"&&l.searchParams.set("_HLS_start_offset",""+t);const _=this.hls.config,x=_.loader,I=new x(_),k={responseType:"json",url:l.href},N=_.interstitialAssetListLoadPolicy.default,j={loadPolicy:N,timeout:N.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},Z={onSuccess:(Q,re,ne,de)=>{const fe=Q.data,Ae=fe==null?void 0:fe.ASSETS;if(!Array.isArray(Ae)){const we=this.assignAssetListError(e,W.ASSET_LIST_PARSING_ERROR,new Error("Invalid interstitial asset list"),ne.url,re,de);this.hls.trigger(y.ERROR,we);return}e.assetListResponse=fe,this.hls.trigger(y.ASSET_LIST_LOADED,{event:e,assetListResponse:fe,networkDetails:de})},onError:(Q,re,ne,de)=>{const fe=this.assignAssetListError(e,W.ASSET_LIST_LOAD_ERROR,new Error(`Error loading X-ASSET-LIST: HTTP status ${Q.code} ${Q.text} (${re.url})`),re.url,de,ne);this.hls.trigger(y.ERROR,fe)},onTimeout:(Q,re,ne)=>{const de=this.assignAssetListError(e,W.ASSET_LIST_LOAD_TIMEOUT,new Error(`Timeout loading X-ASSET-LIST (${re.url})`),re.url,Q,ne);this.hls.trigger(y.ERROR,de)}};return I.load(k,j,Z),this.hls.trigger(y.ASSET_LIST_LOADING,{event:e}),I}assignAssetListError(e,t,n,l,_,x){return e.error=n,{type:D.NETWORK_ERROR,details:t,fatal:!1,interstitial:e,url:l,error:n,networkDetails:x,stats:_}}}function zo(A){A==null||A.play().catch(()=>{})}function Xa(A,e){return`[${A}] Advancing timeline position to ${e}`}class kc extends p{constructor(e,t){super("interstitials",e.logger),this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1},this.onSeeking=()=>{const n=this.currentTime;if(n===void 0||this.playbackDisabled||!this.schedule)return;const l=n-this.timelinePos;if(Math.abs(l)<1/7056e5)return;const x=l<=-.01;this.timelinePos=n,this.bufferedPos=n;const I=this.playingItem;if(!I){this.checkBuffer();return}if(x&&this.schedule.resetErrorsInRange(n,n-l)&&this.updateSchedule(!0),this.checkBuffer(),x&&n<I.start||n>=I.end){var k;const re=this.findItemIndex(I);let ne=this.schedule.findItemIndexAtTime(n);if(ne===-1&&(ne=re+(x?-1:1),this.log(`seeked ${x?"back ":""}to position not covered by schedule ${n} (resolving from ${re} to ${ne})`)),!this.isInterstitial(I)&&(k=this.media)!=null&&k.paused&&(this.shouldPlay=!1),!x&&ne>re){const de=this.schedule.findJumpRestrictedIndex(re+1,ne);if(de>re){this.setSchedulePosition(de);return}}this.setSchedulePosition(ne);return}const N=this.playingAsset;if(!N){if(this.playingLastItem&&this.isInterstitial(I)){const re=I.event.assetList[0];re&&(this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(n,re))}return}const j=N.timelineStart,Z=N.duration||0;if(x&&n<j||n>=j+Z){var Q;(Q=I.event)!=null&&Q.appendInPlace&&(this.clearInterstitial(I.event,I),this.flushFrontBuffer(n)),this.setScheduleToAssetAtTime(n,N)}},this.onTimeupdate=()=>{const n=this.currentTime;if(n===void 0||this.playbackDisabled)return;if(n>this.timelinePos)this.timelinePos=n,n>this.bufferedPos&&this.checkBuffer();else return;const l=this.playingItem;if(!l||this.playingLastItem)return;if(n>=l.end){this.timelinePos=l.end;const I=this.findItemIndex(l);this.setSchedulePosition(I+1)}const _=this.playingAsset;if(!_)return;const x=_.timelineStart+(_.duration||0);n>=x&&this.setScheduleToAssetAtTime(n,_)},this.onScheduleUpdate=(n,l)=>{const _=this.schedule;if(!_)return;const x=this.playingItem,I=_.events||[],k=_.items||[],N=_.durations,j=n.map(de=>de.identifier),Z=!!(I.length||j.length);(Z||l)&&this.log(`INTERSTITIALS_UPDATED (${I.length}): ${I}
Schedule: ${k.map(de=>bi(de))} pos: ${this.timelinePos}`),j.length&&this.log(`Removed events ${j}`);let Q=null,re=null;x&&(Q=this.updateItem(x,this.timelinePos),this.itemsMatch(x,Q)?this.playingItem=Q:this.waitingItem=this.endedItem=null),this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);const ne=this.bufferingItem;if(ne&&(re=this.updateItem(ne,this.bufferedPos),this.itemsMatch(ne,re)?this.bufferingItem=re:ne.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(ne.event,null))),n.forEach(de=>{de.assetList.forEach(fe=>{this.clearAssetPlayer(fe.identifier,null)})}),this.playerQueue.forEach(de=>{if(de.interstitial.appendInPlace){const fe=de.assetItem.timelineStart,Ae=de.timelineOffset-fe;if(Ae)try{de.timelineOffset=fe}catch(we){Math.abs(Ae)>ha&&this.warn(`${we} ("${de.assetId}" ${de.timelineOffset}->${fe})`)}}}),Z||l){if(this.hls.trigger(y.INTERSTITIALS_UPDATED,{events:I.slice(0),schedule:k.slice(0),durations:N,removedIds:j}),this.isInterstitial(x)&&j.includes(x.event.identifier)){this.warn(`Interstitial "${x.event.identifier}" removed while playing`),this.primaryFallback(x.event);return}x&&this.trimInPlace(Q,x),ne&&re!==Q&&this.trimInPlace(re,ne),this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=t,this.assetListLoader=new Fc(e),this.schedule=new Uc(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){const e=this.hls;e&&(e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(y.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(y.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(y.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(y.BUFFER_APPENDED,this.onBufferAppended,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(y.MEDIA_ENDED,this.onMediaEnded,this),e.on(y.ERROR,this.onError,this),e.on(y.DESTROYING,this.onDestroying,this))}unregisterListeners(){const e=this.hls;e&&(e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(y.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(y.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(y.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(y.BUFFER_APPENDED,this.onBufferAppended,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(y.MEDIA_ENDED,this.onMediaEnded,this),e.off(y.ERROR,this.onError,this),e.off(y.DESTROYING,this.onDestroying,this))}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;(e=this.getBufferingPlayer())==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.getBufferingPlayer())==null||e.pauseBuffering()}destroy(){this.unregisterListeners(),this.stopLoad(),this.assetListLoader&&this.assetListLoader.destroy(),this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule&&this.schedule.destroy(),this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=this.log=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){const e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e)}removeMediaListeners(e){hi(e,"play",this.onPlay),hi(e,"pause",this.onPause),hi(e,"seeking",this.onSeeking),hi(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,t){const n=this.media=t.media;li(n,"seeking",this.onSeeking),li(n,"timeupdate",this.onTimeupdate),li(n,"play",this.onPlay),li(n,"pause",this.onPause)}onMediaAttached(e,t){const n=this.effectivePlayingItem,l=this.detachedData;if(this.detachedData=null,n===null)this.checkStart();else if(!l){this.clearScheduleState();const _=this.findItemIndex(n);this.setSchedulePosition(_)}}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,t){const n=!!t.transferMedia,l=this.media;if(this.media=null,!n&&(l&&this.removeMediaListeners(l),this.detachedData)){const _=this.getBufferingPlayer();_&&(this.log(`Removing schedule state for detachedData and ${_}`),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,_.detachMedia()),this.shouldPlay=!1}}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;const e=this,t=()=>e.bufferingItem||e.waitingItem,n=Z=>Z&&e.getAssetPlayer(Z.identifier),l=(Z,Q,re,ne,de)=>{if(Z){let fe=Z[Q].start;const Ae=Z.event;if(Ae){if(Q==="playout"||Ae.timelineOccupancy!==Za.Point){const we=n(re);(we==null?void 0:we.interstitial)===Ae&&(fe+=we.assetItem.startOffset+we[de])}}else{const we=ne==="bufferedPos"?x():e[ne];fe+=we-Z.start}return fe}return 0},_=(Z,Q)=>{var re;if(Z!==0&&Q!=="primary"&&(re=e.schedule)!=null&&re.length){var ne;const de=e.schedule.findItemIndexAtTime(Z),fe=(ne=e.schedule.items)==null?void 0:ne[de];if(fe){const Ae=fe[Q].start-fe.start;return Z+Ae}}return Z},x=()=>{const Z=e.bufferedPos;return Z===Number.MAX_VALUE?I("primary"):Math.max(Z,0)},I=Z=>{var Q,re;return(Q=e.primaryDetails)!=null&&Q.live?e.primaryDetails.edge:((re=e.schedule)==null?void 0:re.durations[Z])||0},k=(Z,Q)=>{var re,ne;const de=e.effectivePlayingItem;if(de!=null&&(re=de.event)!=null&&re.restrictions.skip||!e.schedule)return;e.log(`seek to ${Z} "${Q}"`);const fe=e.effectivePlayingItem,Ae=e.schedule.findItemIndexAtTime(Z,Q),we=(ne=e.schedule.items)==null?void 0:ne[Ae],Ie=e.getBufferingPlayer(),ze=Ie==null?void 0:Ie.interstitial,Je=ze==null?void 0:ze.appendInPlace,wt=fe&&e.itemsMatch(fe,we);if(fe&&(Je||wt)){const et=n(e.playingAsset),gt=(et==null?void 0:et.media)||e.primaryMedia;if(gt){const pt=Q==="primary"?gt.currentTime:l(fe,Q,e.playingAsset,"timelinePos","currentTime"),st=Z-pt,Vt=(Je?pt:gt.currentTime)+st;if(Vt>=0&&(!et||Je||Vt<=et.duration)){gt.currentTime=Vt;return}}}if(we){let et=Z;if(Q!=="primary"){const pt=we[Q].start,st=Z-pt;et=we.start+st}const gt=!e.isInterstitial(we);if((!e.isInterstitial(fe)||fe.event.appendInPlace)&&(gt||we.event.appendInPlace)){const pt=e.media||(Je?Ie==null?void 0:Ie.media:null);pt&&(pt.currentTime=et)}else if(fe){const pt=e.findItemIndex(fe);if(Ae>pt){const Vt=e.schedule.findJumpRestrictedIndex(pt+1,Ae);if(Vt>pt){e.setSchedulePosition(Vt);return}}let st=0;if(gt)e.timelinePos=et,e.checkBuffer();else{const Vt=we.event.assetList,_r=Z-(we[Q]||we).start;for(let Sr=Vt.length;Sr--;){const Br=Vt[Sr];if(Br.duration&&_r>=Br.startOffset&&_r<Br.startOffset+Br.duration){st=Sr;break}}}e.setSchedulePosition(Ae,st)}}},N=()=>{const Z=e.effectivePlayingItem;if(e.isInterstitial(Z))return Z;const Q=t();return e.isInterstitial(Q)?Q:null},j={get bufferedEnd(){const Z=t(),Q=e.bufferingItem;if(Q&&Q===Z){var re;return l(Q,"playout",e.bufferingAsset,"bufferedPos","bufferedEnd")-Q.playout.start||((re=e.bufferingAsset)==null?void 0:re.startOffset)||0}return 0},get currentTime(){const Z=N(),Q=e.effectivePlayingItem;return Q&&Q===Z?l(Q,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-Q.playout.start:0},set currentTime(Z){const Q=N(),re=e.effectivePlayingItem;re&&re===Q&&k(Z+re.playout.start,"playout")},get duration(){const Z=N();return Z?Z.playout.end-Z.playout.start:0},get assetPlayers(){var Z;const Q=(Z=N())==null?void 0:Z.event.assetList;return Q?Q.map(re=>e.getAssetPlayer(re.identifier)):[]},get playingIndex(){var Z;const Q=(Z=N())==null?void 0:Z.event;return Q&&e.effectivePlayingAsset?Q.findAssetIndex(e.effectivePlayingAsset):-1},get scheduleItem(){return N()}};return this.manager={get events(){var Z;return((Z=e.schedule)==null||(Z=Z.events)==null?void 0:Z.slice(0))||[]},get schedule(){var Z;return((Z=e.schedule)==null||(Z=Z.items)==null?void 0:Z.slice(0))||[]},get interstitialPlayer(){return N()?j:null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return t()},get bufferingIndex(){const Z=t();return e.findItemIndex(Z)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){const Z=e.effectivePlayingItem;return e.findItemIndex(Z)},primary:{get bufferedEnd(){return x()},get currentTime(){const Z=e.timelinePos;return Z>0?Z:0},set currentTime(Z){k(Z,"primary")},get duration(){return I("primary")},get seekableStart(){var Z;return((Z=e.primaryDetails)==null?void 0:Z.fragmentStart)||0}},integrated:{get bufferedEnd(){return l(t(),"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd")},get currentTime(){return l(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime")},set currentTime(Z){k(Z,"integrated")},get duration(){return I("integrated")},get seekableStart(){var Z;return _(((Z=e.primaryDetails)==null?void 0:Z.fragmentStart)||0,"integrated")}},skip:()=>{const Z=e.effectivePlayingItem,Q=Z==null?void 0:Z.event;if(Q&&!Q.restrictions.skip){const re=e.findItemIndex(Z);if(Q.appendInPlace){const ne=Z.playout.start+Z.event.duration;k(ne+.001,"playout")}else e.advanceAfterAssetEnded(Q,re,1/0)}}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e;const t=this.playingItem,n=(e=this.schedule)==null?void 0:e.items;return!this.playbackStarted||!t||!n?!1:this.findItemIndex(t)===n.length-1}get playbackStarted(){return this.effectivePlayingItem!==null}get currentTime(){var e,t;if(this.mediaSelection===null)return;const n=this.waitingItem||this.playingItem;if(this.isInterstitial(n)&&!n.event.appendInPlace)return;let l=this.media;!l&&(e=this.bufferingItem)!=null&&(e=e.event)!=null&&e.appendInPlace&&(l=this.primaryMedia);const _=(t=l)==null?void 0:t.currentTime;if(!(_===void 0||!ee(_)))return _}get primaryMedia(){var e;return this.media||((e=this.detachedData)==null?void 0:e.media)||null}isInterstitial(e){return!!(e!=null&&e.event)}retreiveMediaSource(e,t){const n=this.getAssetPlayer(e);n&&this.transferMediaFromPlayer(n,t)}transferMediaFromPlayer(e,t){const n=e.interstitial.appendInPlace,l=e.media;if(n&&l===this.primaryMedia){if(this.bufferingAsset=null,(!t||this.isInterstitial(t)&&!t.event.appendInPlace)&&t&&l){this.detachedData={media:l};return}const _=e.transferMedia();this.log(`transfer MediaSource from ${e} ${He(_)}`),this.detachedData=_}else t&&l&&(this.shouldPlay||(this.shouldPlay=!l.paused))}transferMediaTo(e,t){var n,l;if(e.media===t)return;let _=null;const x=this.hls,I=e!==x,k=I&&e.interstitial.appendInPlace,N=(n=this.detachedData)==null?void 0:n.mediaSource;let j;if(x.media)k&&(_=x.transferMedia(),this.detachedData=_),j="Primary";else if(N){const ne=this.getBufferingPlayer();ne?(_=ne.transferMedia(),j=`${ne}`):j="detached MediaSource"}else j="detached media";if(!_){if(N)_=this.detachedData,this.log(`using detachedData: MediaSource ${He(_)}`);else if(!this.detachedData||x.media===t){const ne=this.playerQueue;ne.length>1&&ne.forEach(de=>{if(I&&de.interstitial.appendInPlace!==k){const fe=de.interstitial;this.clearInterstitial(de.interstitial,null),fe.appendInPlace=!1,fe.appendInPlace&&this.warn(`Could not change append strategy for queued assets ${fe}`)}}),this.hls.detachMedia(),this.detachedData={media:t}}}const Z=_&&"mediaSource"in _&&((l=_.mediaSource)==null?void 0:l.readyState)!=="closed",Q=Z&&_?_:t;this.log(`${Z?"transfering MediaSource":"attaching media"} to ${I?e:"Primary"} from ${j} (media.currentTime: ${t.currentTime})`);const re=this.schedule;if(Q===_&&re){const ne=I&&e.assetId===re.assetIdAtEnd;Q.overrides={duration:re.duration,endOfStream:!I||ne,cueRemoval:!I}}e.attachMedia(Q)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){const e=this.schedule,t=e==null?void 0:e.events;if(!t||this.playbackDisabled||!this.media)return;this.bufferedPos===-1&&(this.bufferedPos=0);const n=this.timelinePos,l=this.effectivePlayingItem;if(n===-1){const _=this.hls.startPosition;if(this.log(Xa("checkStart",_)),this.timelinePos=_,t.length&&t[0].cue.pre){const x=e.findEventIndex(t[0].identifier);this.setSchedulePosition(x)}else if(_>=0||!this.primaryLive){const x=this.timelinePos=_>0?_:0,I=e.findItemIndexAtTime(x);this.setSchedulePosition(I)}}else if(l&&!this.playingItem){const _=e.findItemIndex(l);this.setSchedulePosition(_)}}advanceAssetBuffering(e,t){const n=e.event,l=n.findAssetIndex(t),_=Rs(n,l);if(!n.isAssetPastPlayoutLimit(_))this.bufferedToEvent(e,_);else if(this.schedule){var x;const I=(x=this.schedule.items)==null?void 0:x[this.findItemIndex(e)+1];I&&this.bufferedToItem(I)}}advanceAfterAssetEnded(e,t,n){const l=Rs(e,n);if(e.isAssetPastPlayoutLimit(l)){if(this.schedule){const _=this.schedule.items;if(_){const x=t+1,I=_.length;if(x>=I){this.setSchedulePosition(-1);return}const k=e.resumeTime;this.timelinePos<k&&(this.log(Xa("advanceAfterAssetEnded",k)),this.timelinePos=k,e.appendInPlace&&this.advanceInPlace(k),this.checkBuffer(this.bufferedPos<k)),this.setSchedulePosition(x)}}}else{if(e.appendInPlace){const _=e.assetList[l];_&&this.advanceInPlace(_.timelineStart)}this.setSchedulePosition(t,l)}}setScheduleToAssetAtTime(e,t){const n=this.schedule;if(!n)return;const l=t.parentIdentifier,_=n.getEvent(l);if(_){const x=n.findEventIndex(l),I=n.findAssetIndex(_,e);this.advanceAfterAssetEnded(_,x,I-1)}}setSchedulePosition(e,t){var n;const l=(n=this.schedule)==null?void 0:n.items;if(!l||this.playbackDisabled)return;const _=e>=0?l[e]:null;this.log(`setSchedulePosition ${e}, ${t} (${_&&bi(_)}) pos: ${this.timelinePos}`);const x=this.waitingItem||this.playingItem,I=this.playingLastItem;if(this.isInterstitial(x)){const j=x.event,Z=this.playingAsset,Q=Z==null?void 0:Z.identifier,re=Q?this.getAssetPlayer(Q):null;if(re&&Q&&(!this.eventItemsMatch(x,_)||t!==void 0&&Q!==j.assetList[t].identifier)){var k;const ne=j.findAssetIndex(Z);if(this.log(`INTERSTITIAL_ASSET_ENDED ${ne+1}/${j.assetList.length} ${fa(Z)}`),this.endedAsset=Z,this.playingAsset=null,this.hls.trigger(y.INTERSTITIAL_ASSET_ENDED,{asset:Z,assetListIndex:ne,event:j,schedule:l.slice(0),scheduleIndex:e,player:re}),x!==this.playingItem){this.itemsMatch(x,this.playingItem)&&!this.playingAsset&&this.advanceAfterAssetEnded(j,this.findItemIndex(this.playingItem),ne);return}this.retreiveMediaSource(Q,_),re.media&&!((k=this.detachedData)!=null&&k.mediaSource)&&re.detachMedia()}if(!this.eventItemsMatch(x,_)&&(this.endedItem=x,this.playingItem=null,this.log(`INTERSTITIAL_ENDED ${j} ${bi(x)}`),j.hasPlayed=!0,this.hls.trigger(y.INTERSTITIAL_ENDED,{event:j,schedule:l.slice(0),scheduleIndex:e}),j.cue.once)){var N;this.updateSchedule();const ne=(N=this.schedule)==null?void 0:N.items;if(_&&ne){const de=this.findItemIndex(_);this.advanceSchedule(de,ne,t,x,I)}return}}this.advanceSchedule(e,l,t,x,I)}advanceSchedule(e,t,n,l,_){const x=this.schedule;if(!x)return;const I=t[e]||null,k=this.primaryMedia,N=this.playerQueue;if(N.length&&N.forEach(j=>{const Z=j.interstitial,Q=x.findEventIndex(Z.identifier);(Q<e||Q>e+1)&&this.clearInterstitial(Z,I)}),this.isInterstitial(I)){this.timelinePos=Math.min(Math.max(this.timelinePos,I.start),I.end);const j=I.event;if(n===void 0){n=x.findAssetIndex(j,this.timelinePos);const ne=Rs(j,n-1);if(j.isAssetPastPlayoutLimit(ne)||j.appendInPlace&&this.timelinePos===I.end){this.advanceAfterAssetEnded(j,e,n);return}n=ne}const Z=this.waitingItem;this.assetsBuffered(I,k)||this.setBufferingItem(I);let Q=this.preloadAssets(j,n);if(this.eventItemsMatch(I,Z||l)||(this.waitingItem=I,this.log(`INTERSTITIAL_STARTED ${bi(I)} ${j.appendInPlace?"append in place":""}`),this.hls.trigger(y.INTERSTITIAL_STARTED,{event:j,schedule:t.slice(0),scheduleIndex:e})),!j.assetListLoaded){this.log(`Waiting for ASSET-LIST to complete loading ${j}`);return}if(j.assetListLoader&&(j.assetListLoader.destroy(),j.assetListLoader=void 0),!k){this.log(`Waiting for attachMedia to start Interstitial ${j}`);return}this.waitingItem=this.endedItem=null,this.playingItem=I;const re=j.assetList[n];if(!re){this.advanceAfterAssetEnded(j,e,n||0);return}if(Q||(Q=this.getAssetPlayer(re.identifier)),Q===null||Q.destroyed){const ne=j.assetList.length;this.warn(`asset ${n+1}/${ne} player destroyed ${j}`),Q=this.createAssetPlayer(j,re,n),Q.loadSource()}if(!this.eventItemsMatch(I,this.bufferingItem)&&j.appendInPlace&&this.isAssetBuffered(re))return;this.startAssetPlayer(Q,n,t,e,k),this.shouldPlay&&zo(Q.media)}else I?(this.resumePrimary(I,e,l),this.shouldPlay&&zo(this.hls.media)):_&&this.isInterstitial(l)&&(this.endedItem=null,this.playingItem=l,l.event.appendInPlace||this.attachPrimary(x.durations.primary,null))}get playbackDisabled(){return this.hls.config.enableInterstitialPlayback===!1}get primaryDetails(){var e;return(e=this.mediaSelection)==null?void 0:e.main.details}get primaryLive(){var e;return!!((e=this.primaryDetails)!=null&&e.live)}resumePrimary(e,t,n){var l,_;if(this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=this.endedItem=null,this.bufferedToItem(e),this.log(`resuming ${bi(e)}`),!((l=this.detachedData)!=null&&l.mediaSource)){let I=this.timelinePos;(I<e.start||I>=e.end)&&(I=this.getPrimaryResumption(e,t),this.log(Xa("resumePrimary",I)),this.timelinePos=I),this.attachPrimary(I,e)}if(!n)return;const x=(_=this.schedule)==null?void 0:_.items;x&&(this.log(`INTERSTITIALS_PRIMARY_RESUMED ${bi(e)}`),this.hls.trigger(y.INTERSTITIALS_PRIMARY_RESUMED,{schedule:x.slice(0),scheduleIndex:t}),this.checkBuffer())}getPrimaryResumption(e,t){const n=e.start;if(this.primaryLive){const l=this.primaryDetails;if(t===0)return this.hls.startPosition;if(l&&(n<l.fragmentStart||n>l.edge))return this.hls.liveSyncPosition||-1}return n}isAssetBuffered(e){const t=this.getAssetPlayer(e.identifier);return t!=null&&t.hls?t.hls.bufferedToEnd:Lr.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,t,n){t?this.setBufferingItem(t):this.bufferingItem=this.playingItem,this.bufferingAsset=null;const l=this.primaryMedia;if(!l)return;const _=this.hls;_.media?this.checkBuffer():(this.transferMediaTo(_,l),n&&this.startLoadingPrimaryAt(e,n)),n||(this.log(Xa("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,n))}startLoadingPrimaryAt(e,t){var n;const l=this.hls;!l.loadingEnabled||!l.media||Math.abs((((n=l.mainForwardBufferInfo)==null?void 0:n.start)||l.media.currentTime)-e)>.5?l.startLoad(e,t):l.bufferingEnabled||l.resumeBuffering()}onManifestLoading(){var e;this.stopLoad(),(e=this.schedule)==null||e.reset(),this.emptyPlayerQueue(),this.clearScheduleState(),this.shouldPlay=!1,this.bufferedPos=this.timelinePos=-1,this.mediaSelection=this.altSelection=this.manager=this.requiredTracks=null,this.hls.off(y.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(y.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,t){if(t.level===-1||!this.schedule)return;const n=this.hls.levels[t.level];if(!n.details)return;const l=i(i({},this.mediaSelection||this.altSelection),{},{main:n});this.mediaSelection=l,this.schedule.parseInterstitialDateRanges(l,this.hls.config.interstitialAppendInPlace),!this.effectivePlayingItem&&this.schedule.items&&this.checkStart()}onAudioTrackUpdated(e,t){const n=this.hls.audioTracks[t.id],l=this.mediaSelection;if(!l){this.altSelection=i(i({},this.altSelection),{},{audio:n});return}const _=i(i({},l),{},{audio:n});this.mediaSelection=_}onSubtitleTrackUpdated(e,t){const n=this.hls.subtitleTracks[t.id],l=this.mediaSelection;if(!l){this.altSelection=i(i({},this.altSelection),{},{subtitles:n});return}const _=i(i({},l),{},{subtitles:n});this.mediaSelection=_}onAudioTrackSwitching(e,t){const n=xt(t);this.playerQueue.forEach(({hls:l})=>l&&(l.setAudioOption(t)||l.setAudioOption(n)))}onSubtitleTrackSwitch(e,t){const n=xt(t);this.playerQueue.forEach(({hls:l})=>l&&(l.setSubtitleOption(t)||t.id!==-1&&l.setSubtitleOption(n)))}onBufferCodecs(e,t){const n=t.tracks;n&&(this.requiredTracks=n)}onBufferAppended(e,t){this.checkBuffer()}onBufferFlushed(e,t){const n=this.playingItem;if(n&&!this.itemsMatch(n,this.bufferingItem)&&!this.isInterstitial(n)){const l=this.timelinePos;this.bufferedPos=l,this.checkBuffer()}}onBufferedToEnd(e){if(!this.schedule)return;const t=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&t){for(let l=0;l<t.length;l++){const _=t[l];if(_.cue.post){var n;const x=this.schedule.findEventIndex(_.identifier),I=(n=this.schedule.items)==null?void 0:n[x];this.isInterstitial(I)&&this.eventItemsMatch(I,this.bufferingItem)&&this.bufferedToItem(I,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){const t=this.playingItem;if(!this.playingLastItem&&t){const n=this.findItemIndex(t);this.setSchedulePosition(n+1)}else this.shouldPlay=!1}updateItem(e,t){var n;const l=(n=this.schedule)==null?void 0:n.items;if(e&&l){const _=this.findItemIndex(e,t);return l[_]||null}return null}trimInPlace(e,t){if(this.isInterstitial(e)&&e.event.appendInPlace&&t.end-e.end>.25){e.event.assetList.forEach((_,x)=>{e.event.isAssetPastPlayoutLimit(x)&&this.clearAssetPlayer(_.identifier,null)});const n=e.end+.25,l=Lr.bufferInfo(this.primaryMedia,n,0);(l.end>n||(l.nextStart||0)>n)&&(this.log(`trim buffered interstitial ${bi(e)} (was ${bi(t)})`),this.attachPrimary(n,null,!0),this.flushFrontBuffer(n))}}itemsMatch(e,t){return!!t&&(e===t||e.event&&t.event&&this.eventItemsMatch(e,t)||!e.event&&!t.event&&this.findItemIndex(e)===this.findItemIndex(t))}eventItemsMatch(e,t){var n;return!!t&&(e===t||e.event.identifier===((n=t.event)==null?void 0:n.identifier))}findItemIndex(e,t){return e&&this.schedule?this.schedule.findItemIndex(e,t):-1}updateSchedule(e=!1){var t;const n=this.mediaSelection;n&&((t=this.schedule)==null||t.updateSchedule(n,[],e))}checkBuffer(e){var t;const n=(t=this.schedule)==null?void 0:t.items;if(!n)return;const l=Lr.bufferInfo(this.primaryMedia,this.timelinePos,0);e&&(this.bufferedPos=this.timelinePos),e||(e=l.len<1),this.updateBufferedPos(l.end,n,e)}updateBufferedPos(e,t,n){const l=this.schedule,_=this.bufferingItem;if(this.bufferedPos>e||!l)return;if(t.length===1&&this.itemsMatch(t[0],_)){this.bufferedPos=e;return}const x=this.playingItem,I=this.findItemIndex(x);let k=l.findItemIndexAtTime(e);if(this.bufferedPos<e){var N;const j=this.findItemIndex(_),Z=Math.min(j+1,t.length-1),Q=t[Z];if((k===-1&&_&&e>=_.end||(N=Q.event)!=null&&N.appendInPlace&&e+.01>=Q.start)&&(k=Z),this.isInterstitial(_)){const re=_.event;if(Z-I>1&&re.appendInPlace===!1||re.assetList.length===0&&re.assetListLoader)return}if(this.bufferedPos=e,k>j&&k>I)this.bufferedToItem(Q);else{const re=this.primaryDetails;this.primaryLive&&re&&e>re.edge-re.targetduration&&Q.start<re.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(Q)&&this.preloadAssets(Q.event,0)}}else n&&x&&!this.itemsMatch(x,_)&&(k===I?this.bufferedToItem(x):k===I+1&&this.bufferedToItem(t[k]))}assetsBuffered(e,t){return e.event.assetList.length===0?!1:!e.event.assetList.some(l=>{const _=this.getAssetPlayer(l.identifier);return!(_!=null&&_.bufferedInPlaceToEnd(t))})}setBufferingItem(e){const t=this.bufferingItem,n=this.schedule;if(!this.itemsMatch(e,t)&&n){const{items:l,events:_}=n;if(!l||!_)return t;const x=this.isInterstitial(e),I=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));const k=I?I.remaining:t?t.end-this.timelinePos:0;if(this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${bi(e)}`+(t?` (${k.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(x){const N=n.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((j,Z)=>{const Q=this.getAssetPlayer(j.identifier);Q&&(Z===N&&Q.loadSource(),Q.resumeBuffering())})}else this.hls.resumeBuffering(),this.playerQueue.forEach(N=>N.pauseBuffering());this.hls.trigger(y.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:_.slice(0),schedule:l.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else this.bufferingItem!==e&&(this.bufferingItem=e);return t}bufferedToItem(e,t=0){const n=this.setBufferingItem(e);if(!this.playbackDisabled){if(this.isInterstitial(e))this.bufferedToEvent(e,t);else if(n!==null){this.bufferingAsset=null;const l=this.detachedData;l?l.mediaSource?this.attachPrimary(e.start,e,!0):this.preloadPrimary(e):this.preloadPrimary(e)}}}preloadPrimary(e){const t=this.findItemIndex(e),n=this.getPrimaryResumption(e,t);this.startLoadingPrimaryAt(n)}bufferedToEvent(e,t){const n=e.event,l=n.assetList.length===0&&!n.assetListLoader,_=n.cue.once;if(l||!_){const x=this.preloadAssets(n,t);if(x!=null&&x.interstitial.appendInPlace){const I=this.primaryMedia;I&&this.bufferAssetPlayer(x,I)}}}preloadAssets(e,t){const n=e.assetUrl,l=e.assetList.length,_=l===0&&!e.assetListLoader,x=e.cue.once;if(_){const k=e.timelineStart;if(e.appendInPlace){var I;const Q=this.playingItem;!this.isInterstitial(Q)&&(Q==null||(I=Q.nextEvent)==null?void 0:I.identifier)===e.identifier&&this.flushFrontBuffer(k+.25)}let N,j=0;if(!this.playingItem&&this.primaryLive&&(j=this.hls.startPosition,j===-1&&(j=this.hls.liveSyncPosition||0)),j&&!(e.cue.pre||e.cue.post)){const Q=j-k;Q>0&&(N=Math.round(Q*1e3)/1e3)}if(this.log(`Load interstitial asset ${t+1}/${n?1:l} ${e}${N?` live-start: ${j} start-offset: ${N}`:""}`),n)return this.createAsset(e,0,0,k,e.duration,n);const Z=this.assetListLoader.loadAssetList(e,N);Z&&(e.assetListLoader=Z)}else if(!x&&l){for(let N=t;N<l;N++){const j=e.assetList[N],Z=this.getAssetPlayerQueueIndex(j.identifier);(Z===-1||this.playerQueue[Z].destroyed)&&!j.error&&this.createAssetPlayer(e,j,N)}const k=e.assetList[t];if(k){const N=this.getAssetPlayer(k.identifier);return N&&N.loadSource(),N}}return null}flushFrontBuffer(e){const t=this.requiredTracks;if(!t)return;this.log(`Removing front buffer starting at ${e}`),Object.keys(t).forEach(l=>{this.hls.trigger(y.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:l})})}getAssetPlayerQueueIndex(e){const t=this.playerQueue;for(let n=0;n<t.length;n++)if(e===t[n].assetId)return n;return-1}getAssetPlayer(e){const t=this.getAssetPlayerQueueIndex(e);return this.playerQueue[t]||null}getBufferingPlayer(){const{playerQueue:e,primaryMedia:t}=this;if(t){for(let n=0;n<e.length;n++)if(e[n].media===t)return e[n]}return null}createAsset(e,t,n,l,_,x){const I={parentIdentifier:e.identifier,identifier:Mc(e,x,t),duration:_,startOffset:n,timelineStart:l,uri:x};return this.createAssetPlayer(e,I,t)}createAssetPlayer(e,t,n){const l=this.hls,_=l.userConfig;let x=_.videoPreference;const I=l.loadLevelObj||l.levels[l.currentLevel];(x||I)&&(x=u({},x),I.videoCodec&&(x.videoCodec=I.videoCodec),I.videoRange&&(x.allowedVideoRanges=[I.videoRange]));const k=l.audioTracks[l.audioTrack],N=l.subtitleTracks[l.subtitleTrack];let j=0;if(this.primaryLive||e.appendInPlace){const ze=this.timelinePos-t.timelineStart;if(ze>1){const Je=t.duration;Je&&ze<Je&&(j=ze)}}const Z=t.identifier,Q=i(i({},_),{},{maxMaxBufferLength:Math.min(180,l.config.maxMaxBufferLength),autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:l.sessionId,assetPlayerId:Z,abrEwmaDefaultEstimate:l.bandwidthEstimate,interstitialsController:void 0,startPosition:j,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:x,audioPreference:k||_.audioPreference,subtitlePreference:N||_.subtitlePreference});e.appendInPlace&&(e.appendInPlaceStarted=!0,t.timelineStart&&(Q.timelineOffset=t.timelineStart));const re=Q.cmcd;re!=null&&re.sessionId&&re.contentId&&(Q.cmcd=u({},re,{contentId:Ra(t.uri)})),this.getAssetPlayer(Z)&&this.warn(`Duplicate date range identifier ${e} and asset ${Z}`);const ne=new Bc(this.HlsPlayerClass,Q,e,t);this.playerQueue.push(ne),e.assetList[n]=t;let de=!0;const fe=ze=>{if(ze.live){var Je;const gt=new Error(`Interstitials MUST be VOD assets ${e}`),pt={fatal:!0,type:D.OTHER_ERROR,details:W.INTERSTITIAL_ASSET_ITEM_ERROR,error:gt},st=((Je=this.schedule)==null?void 0:Je.findEventIndex(e.identifier))||-1;this.handleAssetItemError(pt,e,st,n,gt.message);return}const wt=ze.edge-ze.fragmentStart,et=t.duration;(de||et===null||wt>et)&&(de=!1,this.log(`Interstitial asset "${Z}" duration change ${et} > ${wt}`),t.duration=wt,this.updateSchedule())};ne.on(y.LEVEL_UPDATED,(ze,{details:Je})=>fe(Je)),ne.on(y.LEVEL_PTS_UPDATED,(ze,{details:Je})=>fe(Je)),ne.on(y.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter());const Ae=(ze,Je)=>{const wt=this.getAssetPlayer(Z);if(wt&&Je.tracks){wt.off(y.BUFFER_CODECS,Ae),wt.tracks=Je.tracks;const et=this.primaryMedia;this.bufferingAsset===wt.assetItem&&et&&!wt.media&&this.bufferAssetPlayer(wt,et)}};ne.on(y.BUFFER_CODECS,Ae);const we=()=>{var ze;const Je=this.getAssetPlayer(Z);if(this.log(`buffered to end of asset ${Je}`),!Je||!this.schedule)return;const wt=this.schedule.findEventIndex(e.identifier),et=(ze=this.schedule.items)==null?void 0:ze[wt];this.isInterstitial(et)&&this.advanceAssetBuffering(et,t)};ne.on(y.BUFFERED_TO_END,we);const Ie=ze=>()=>{if(!this.getAssetPlayer(Z)||!this.schedule)return;this.shouldPlay=!0;const wt=this.schedule.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,wt,ze)};return ne.once(y.MEDIA_ENDED,Ie(n)),ne.once(y.PLAYOUT_LIMIT_REACHED,Ie(1/0)),ne.on(y.ERROR,(ze,Je)=>{if(!this.schedule)return;const wt=this.getAssetPlayer(Z);if(Je.details===W.BUFFER_STALLED_ERROR){if(wt!=null&&wt.appendInPlace){this.handleInPlaceStall(e);return}this.onTimeupdate(),this.checkBuffer(!0);return}this.handleAssetItemError(Je,e,this.schedule.findEventIndex(e.identifier),n,`Asset player error ${Je.error} ${e}`)}),ne.on(y.DESTROYING,()=>{if(!this.getAssetPlayer(Z)||!this.schedule)return;const Je=new Error(`Asset player destroyed unexpectedly ${Z}`),wt={fatal:!0,type:D.OTHER_ERROR,details:W.INTERSTITIAL_ASSET_ITEM_ERROR,error:Je};this.handleAssetItemError(wt,e,this.schedule.findEventIndex(e.identifier),n,Je.message)}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${fa(t)}`),this.hls.trigger(y.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:t,assetListIndex:n,event:e,player:ne}),ne}clearInterstitial(e,t){e.assetList.forEach(n=>{this.clearAssetPlayer(n.identifier,t)}),e.reset()}resetAssetPlayer(e){const t=this.getAssetPlayerQueueIndex(e);if(t!==-1){this.log(`reset asset player "${e}" after error`);const n=this.playerQueue[t];this.transferMediaFromPlayer(n,null),n.resetDetails()}}clearAssetPlayer(e,t){const n=this.getAssetPlayerQueueIndex(e);if(n!==-1){const l=this.playerQueue[n];this.log(`clear ${l} toSegment: ${t&&bi(t)}`),this.transferMediaFromPlayer(l,t),this.playerQueue.splice(n,1),l.destroy()}}emptyPlayerQueue(){let e;for(;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[]}startAssetPlayer(e,t,n,l,_){const{interstitial:x,assetItem:I,assetId:k}=e,N=x.assetList.length,j=this.playingAsset;this.endedAsset=null,this.playingAsset=I,(!j||j.identifier!==k)&&(j&&(this.clearAssetPlayer(j.identifier,n[l]),delete j.error),this.log(`INTERSTITIAL_ASSET_STARTED ${t+1}/${N} ${fa(I)}`),this.hls.trigger(y.INTERSTITIAL_ASSET_STARTED,{asset:I,assetListIndex:t,event:x,schedule:n.slice(0),scheduleIndex:l,player:e})),this.bufferAssetPlayer(e,_)}bufferAssetPlayer(e,t){var n,l;if(!this.schedule)return;const{interstitial:_,assetItem:x}=e,I=this.schedule.findEventIndex(_.identifier),k=(n=this.schedule.items)==null?void 0:n[I];if(!k)return;e.loadSource(),this.setBufferingItem(k),this.bufferingAsset=x;const N=this.getBufferingPlayer();if(N===e)return;const j=_.appendInPlace;if(j&&(N==null?void 0:N.interstitial.appendInPlace)===!1)return;const Z=(N==null?void 0:N.tracks)||((l=this.detachedData)==null?void 0:l.tracks)||this.requiredTracks;if(j&&x!==this.playingAsset){if(!e.tracks){this.log(`Waiting for track info before buffering ${e}`);return}if(Z&&!O(Z,e.tracks)){const Q=new Error(`Asset ${fa(x)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(Z)}')`),re={fatal:!0,type:D.OTHER_ERROR,details:W.INTERSTITIAL_ASSET_ITEM_ERROR,error:Q},ne=_.findAssetIndex(x);this.handleAssetItemError(re,_,I,ne,Q.message);return}}this.transferMediaTo(e,t)}handleInPlaceStall(e){const t=this.schedule,n=this.primaryMedia;if(!t||!n)return;const l=n.currentTime,_=t.findAssetIndex(e,l),x=e.assetList[_];if(x){const I=this.getAssetPlayer(x.identifier);if(I){const k=I.currentTime||l-x.timelineStart,N=I.duration-k;if(this.warn(`Stalled at ${k} of ${k+N} in ${I} ${e} (media.currentTime: ${l})`),k&&(N/n.playbackRate<.5||I.bufferedInPlaceToEnd(n))&&I.hls){const j=t.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,j,_)}}}}advanceInPlace(e){const t=this.primaryMedia;t&&t.currentTime<e&&(t.currentTime=e)}handleAssetItemError(e,t,n,l,_){if(e.details===W.BUFFER_STALLED_ERROR)return;const x=t.assetList[l]||null;if(this.warn(`INTERSTITIAL_ASSET_ERROR ${x&&fa(x)} ${e.error}`),!this.schedule)return;const I=(x==null?void 0:x.identifier)||"",k=this.getAssetPlayerQueueIndex(I),N=this.playerQueue[k]||null,j=this.schedule.items,Z=u({},e,{fatal:!1,errorAction:Ot(!0),asset:x,assetListIndex:l,event:t,schedule:j,scheduleIndex:n,player:N});if(this.hls.trigger(y.INTERSTITIAL_ASSET_ERROR,Z),!e.fatal)return;const Q=this.playingAsset,re=this.bufferingAsset,ne=new Error(_);if(x&&(this.clearAssetPlayer(I,null),x.error=ne),!t.assetList.some(de=>!de.error))t.error=ne;else for(let de=l;de<t.assetList.length;de++)this.resetAssetPlayer(t.assetList[de].identifier);this.updateSchedule(!0),t.error?this.primaryFallback(t):Q&&Q.identifier===I?this.advanceAfterAssetEnded(t,n,l):re&&re.identifier===I&&this.isInterstitial(this.bufferingItem)&&this.advanceAssetBuffering(this.bufferingItem,re)}primaryFallback(e){const t=e.timelineStart,n=this.effectivePlayingItem;if(n){this.log(`Fallback to primary from event "${e.identifier}" start: ${t} pos: ${this.timelinePos} playing: ${bi(n)} error: ${e.error}`);let l=this.timelinePos;l===-1&&(l=this.hls.startPosition);const _=this.updateItem(n,l);if(this.itemsMatch(n,_)&&this.clearInterstitial(e,null),e.appendInPlace&&(this.attachPrimary(t,null),this.flushFrontBuffer(t)),!this.schedule)return;const x=this.schedule.findItemIndexAtTime(l);this.setSchedulePosition(x)}else this.checkStart()}onAssetListLoaded(e,t){var n,l;const _=t.event,x=_.identifier,I=t.assetListResponse.ASSETS;if(!((n=this.schedule)!=null&&n.hasEvent(x)))return;const k=_.timelineStart,N=_.duration;let j=0;I.forEach((de,fe)=>{const Ae=parseFloat(de.DURATION);this.createAsset(_,fe,j,k+j,Ae,de.URI),j+=Ae}),_.duration=j,this.log(`Loaded asset-list with duration: ${j} (was: ${N}) ${_}`);const Z=this.waitingItem,Q=(Z==null?void 0:Z.event.identifier)===x;this.updateSchedule();const re=(l=this.bufferingItem)==null?void 0:l.event;if(Q){var ne;const de=this.schedule.findEventIndex(x),fe=(ne=this.schedule.items)==null?void 0:ne[de];if(fe){if(!this.playingItem&&this.timelinePos>fe.end&&this.schedule.findItemIndexAtTime(this.timelinePos)!==de){_.error=new Error(`Interstitial no longer within playback range ${this.timelinePos} ${_}`),this.updateSchedule(!0),this.primaryFallback(_);return}this.setBufferingItem(fe)}this.setSchedulePosition(de)}else if((re==null?void 0:re.identifier)===x){const de=_.assetList[0];if(de){const fe=this.getAssetPlayer(de.identifier);if(re.appendInPlace){const Ae=this.primaryMedia;fe&&Ae&&this.bufferAssetPlayer(fe,Ae)}else fe&&fe.loadSource()}}}onError(e,t){if(this.schedule)switch(t.details){case W.ASSET_LIST_PARSING_ERROR:case W.ASSET_LIST_LOAD_ERROR:case W.ASSET_LIST_LOAD_TIMEOUT:{const n=t.interstitial;n&&(this.updateSchedule(!0),this.primaryFallback(n));break}case W.BUFFER_STALLED_ERROR:{const n=this.endedItem||this.waitingItem||this.playingItem;if(this.isInterstitial(n)&&n.event.appendInPlace){this.handleInPlaceStall(n.event);return}this.log(`Primary player stall @${this.timelinePos} bufferedPos: ${this.bufferedPos}`),this.onTimeupdate(),this.checkBuffer(!0);break}}}}const jo=500;class Wc extends rs{constructor(e,t,n){super(e,t,n,"subtitle-stream-controller",b.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();const{hls:e}=this;e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(y.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();const{hls:e}=this;e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(y.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,t){this.stopLoad(),this.state=Kt.IDLE,this.setInterval(jo),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,t){this.tracksBuffered=[],super.onMediaDetaching(e,t)}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){const{frag:n,success:l}=t;if(this.fragContextChanged(n)||(q(n)&&(this.fragPrevious=n),this.state=Kt.IDLE),!l)return;const _=this.tracksBuffered[this.currentTrackId];if(!_)return;let x;const I=n.start;for(let N=0;N<_.length;N++)if(I>=_[N].start&&I<=_[N].end){x=_[N];break}const k=n.start+n.duration;x?x.end=k:(x={start:I,end:k},_.push(x)),this.fragmentTracker.fragBuffered(n),this.fragBufferedComplete(n,null),this.media&&this.tick()}onBufferFlushing(e,t){const{startOffset:n,endOffset:l}=t;if(n===0&&l!==Number.POSITIVE_INFINITY){const _=l-1;if(_<=0)return;t.endOffsetSubtitles=Math.max(0,_),this.tracksBuffered.forEach(x=>{for(let I=0;I<x.length;){if(x[I].end<=_){x.shift();continue}else if(x[I].start<_)x[I].start=_;else break;I++}}),this.fragmentTracker.removeFragmentsInRange(n,_,b.SUBTITLE)}}onError(e,t){const n=t.frag;(n==null?void 0:n.type)===b.SUBTITLE&&(t.details===W.FRAG_GAP&&this.fragmentTracker.fragBuffered(n,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==Kt.STOPPED&&(this.state=Kt.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&xo(this.levels,t)){this.levels=t.map(n=>new Pt(n));return}this.tracksBuffered=[],this.levels=t.map(n=>{const l=new Pt(n);return this.tracksBuffered[l.id]=[],l}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,b.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var n;if(this.currentTrackId=t.id,!((n=this.levels)!=null&&n.length)||this.currentTrackId===-1){this.clearInterval();return}const l=this.levels[this.currentTrackId];l!=null&&l.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,l&&this.state!==Kt.STOPPED&&this.setInterval(jo)}onSubtitleTrackLoaded(e,t){var n;const{currentTrackId:l,levels:_}=this,{details:x,id:I}=t;if(!_){this.warn(`Subtitle tracks were reset while loading level ${I}`);return}const k=_[I];if(I>=_.length||!k)return;this.log(`Subtitle track ${I} loaded [${x.startSN},${x.endSN}]${x.lastPartSn?`[part-${x.lastPartSn}-${x.lastPartIndex}]`:""},duration:${x.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let N=0;if(x.live||(n=k.details)!=null&&n.live){if(x.deltaUpdateFailed)return;const Z=this.mainDetails;if(!Z){this.startFragRequested=!1;return}const Q=Z.fragments[0];if(!k.details)x.hasProgramDateTime&&Z.hasProgramDateTime?(Oa(x,Z),N=x.fragmentStart):Q&&(N=Q.start,ya(x,N));else{var j;N=this.alignPlaylists(x,k.details,(j=this.levelLastLoaded)==null?void 0:j.details),N===0&&Q&&(N=Q.start,ya(x,N))}Z&&!this.startFragRequested&&this.setStartPosition(Z,N)}k.details=x,this.levelLastLoaded=k,I===l&&(this.hls.trigger(y.SUBTITLE_TRACK_UPDATED,{details:x,id:I,groupId:t.groupId}),this.tick(),x.live&&!this.fragCurrent&&this.media&&this.state===Kt.IDLE&&(Ar(null,x.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),k.details=void 0)))}_handleFragmentLoadComplete(e){const{frag:t,payload:n}=e,l=t.decryptdata,_=this.hls;if(!this.fragContextChanged(t)&&n&&n.byteLength>0&&l!=null&&l.key&&l.iv&&br(l.method)){const x=performance.now();this.decrypter.decrypt(new Uint8Array(n),l.key.buffer,l.iv.buffer,Ur(l.method)).catch(I=>{throw _.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.FRAG_DECRYPT_ERROR,fatal:!1,error:I,reason:I.message,frag:t}),I}).then(I=>{const k=performance.now();_.trigger(y.FRAG_DECRYPTED,{frag:t,payload:I,stats:{tstart:x,tdecrypt:k}})}).catch(I=>{this.warn(`${I.name}: ${I.message}`),this.state=Kt.IDLE})}}doTick(){if(!this.media){this.state=Kt.IDLE;return}if(this.state===Kt.IDLE){const{currentTrackId:e,levels:t}=this,n=t==null?void 0:t[e];if(!n||!t.length||!n.details||this.waitForLive(n))return;const{config:l}=this,_=this.getLoadPosition(),x=Lr.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],_,l.maxBufferHole),{end:I,len:k}=x,N=n.details,j=this.hls.maxBufferLength+N.levelTargetDuration;if(k>j)return;const Z=N.fragments,Q=Z.length,re=N.edge;let ne=null;const de=this.fragPrevious;if(I<re){const we=l.maxFragLookUpTolerance,Ie=I>re-we?0:we;ne=Ar(de,Z,Math.max(Z[0].start,I),Ie),!ne&&de&&de.start<Z[0].start&&(ne=Z[0])}else ne=Z[Q-1];if(ne=this.filterReplacedPrimary(ne,n.details),!ne)return;const fe=ne.sn-N.startSN,Ae=Z[fe-1];if(Ae&&Ae.cc===ne.cc&&this.fragmentTracker.getState(Ae)===Zt.NOT_LOADED&&(ne=Ae),this.fragmentTracker.getState(ne)===Zt.NOT_LOADED){const we=this.mapToInitFragWhenRequired(ne);we&&this.loadFragment(we,n,I)}}}loadFragment(e,t,n){q(e)?super.loadFragment(e,t,n):this._loadInitSegment(e,t)}get mediaBufferTimeRanges(){return new Kc(this.tracksBuffered[this.currentTrackId]||[])}}class Kc{constructor(e){this.buffered=void 0;const t=(n,l,_)=>{if(l=l>>>0,l>_-1)throw new DOMException(`Failed to execute '${n}' on 'TimeRanges': The index provided (${l}) is greater than the maximum bound (${_})`);return e[l][n]};this.buffered={get length(){return e.length},end(n){return t("end",n,e.length)},start(n){return t("start",n,e.length)}}}}const Gc={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},Zo=A=>String.fromCharCode(Gc[A]||A),Si=15,Bi=100,Vc={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Hc={17:2,18:4,21:6,22:8,23:10,19:13,20:15},zc={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},jc={25:2,26:4,29:6,30:8,31:10,27:13,28:15},Zc=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class Xc{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){const n=typeof t=="function"?t():t;S.log(`${this.time} [${e}] ${n}`)}}}const $i=function(e){const t=[];for(let n=0;n<e.length;n++)t.push(e[n].toString(16));return t};class Xo{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){const t=["foreground","underline","italics","background","flash"];for(let n=0;n<t.length;n++){const l=t[n];e.hasOwnProperty(l)&&(this[l]=e[l])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}}class Yc{constructor(){this.uchar=" ",this.penState=new Xo}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return this.uchar===" "&&this.penState.isDefault()}}class $c{constructor(e){this.chars=[],this.pos=0,this.currPenState=new Xo,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<Bi;t++)this.chars.push(new Yc);this.logger=e}equals(e){for(let t=0;t<Bi;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<Bi;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<Bi;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>Bi&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Bi)}moveCursor(e){const t=this.pos+e;if(e>1)for(let n=this.pos+1;n<t+1;n++)this.chars[n].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();const t=Zo(e);if(this.pos>=Bi){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<Bi;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){const e=[];let t=!0;for(let n=0;n<Bi;n++){const l=this.chars[n].uchar;l!==" "&&(t=!1),e.push(l)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class ws{constructor(e){this.rows=[],this.currRow=Si-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<Si;t++)this.rows.push(new $c(e));this.logger=e}reset(){for(let e=0;e<Si;e++)this.rows[e].clear();this.currRow=Si-1}equals(e){let t=!0;for(let n=0;n<Si;n++)if(!this.rows[n].equals(e.rows[n])){t=!1;break}return t}copy(e){for(let t=0;t<Si;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<Si;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+He(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let I=0;I<Si;I++)this.rows[I].clear();const _=this.currRow+1-this.nrRollUpRows,x=this.lastOutputScreen;if(x){const I=x.rows[_].cueStartTime,k=this.logger.time;if(I!==null&&k!==null&&I<k)for(let N=0;N<this.nrRollUpRows;N++)this.rows[t-this.nrRollUpRows+N+1].copy(x.rows[_+N])}}this.currRow=t;const n=this.rows[this.currRow];if(e.indent!==null){const _=e.indent,x=Math.max(_-1,0);n.setCursor(e.indent),e.color=n.chars[x].penState.foreground}const l={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(l)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+He(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());const e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;const t=[];let n="",l=-1;for(let _=0;_<Si;_++){const x=this.rows[_].getTextString();x&&(l=_+1,e?t.push("Row "+l+": '"+x+"'"):t.push(x.trim()))}return t.length>0&&(e?n="["+t.join(" | ")+"]":n=t.join(`
`)),n}getTextAndFormat(){return this.rows}}class Yo{constructor(e,t,n){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new ws(n),this.nonDisplayedMemory=new ws(n),this.lastOutputScreen=new ws(n),this.currRollUpRow=this.displayedMemory.rows[Si-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=n}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[Si-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let n=0;n<e.length;n++)this.writeScreen.insertChar(e[n]);const t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){const e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){const t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{const n=Math.floor(e/2)-16,l=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=l[n]}this.logger.log(2,"MIDROW: "+He(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){const t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}}class $o{constructor(e,t,n){this.channels=void 0,this.currentChannel=0,this.cmdHistory=Jc(),this.logger=void 0;const l=this.logger=new Xc;this.channels=[null,new Yo(e,t,l),new Yo(e+1,n,l)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let n=0;n<t.length;n+=2){const l=t[n]&127,_=t[n+1]&127;let x=!1,I=null;if(l===0&&_===0)continue;this.logger.log(3,()=>"["+$i([t[n],t[n+1]])+"] -> ("+$i([l,_])+")");const k=this.cmdHistory;if(l>=16&&l<=31){if(Qc(l,_,k)){Ya(null,null,k),this.logger.log(3,()=>"Repeated command ("+$i([l,_])+") is dropped");continue}Ya(l,_,this.cmdHistory),x=this.parseCmd(l,_),x||(x=this.parseMidrow(l,_)),x||(x=this.parsePAC(l,_)),x||(x=this.parseBackgroundAttributes(l,_))}else Ya(null,null,k);if(!x&&(I=this.parseChars(l,_),I)){const j=this.currentChannel;j&&j>0?this.channels[j].insertChars(I):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!x&&!I&&this.logger.log(2,()=>"Couldn't parse cleaned data "+$i([l,_])+" orig: "+$i([t[n],t[n+1]]))}}parseCmd(e,t){const n=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,l=(e===23||e===31)&&t>=33&&t<=35;if(!(n||l))return!1;const _=e===20||e===21||e===23?1:2,x=this.channels[_];return e===20||e===21||e===28||e===29?t===32?x.ccRCL():t===33?x.ccBS():t===34?x.ccAOF():t===35?x.ccAON():t===36?x.ccDER():t===37?x.ccRU(2):t===38?x.ccRU(3):t===39?x.ccRU(4):t===40?x.ccFON():t===41?x.ccRDC():t===42?x.ccTR():t===43?x.ccRTD():t===44?x.ccEDM():t===45?x.ccCR():t===46?x.ccENM():t===47&&x.ccEOC():x.ccTO(t-32),this.currentChannel=_,!0}parseMidrow(e,t){let n=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?n=1:n=2,n!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;const l=this.channels[n];return l?(l.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+$i([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let n;const l=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,_=(e===16||e===24)&&t>=64&&t<=95;if(!(l||_))return!1;const x=e<=23?1:2;t>=64&&t<=95?n=x===1?Vc[e]:zc[e]:n=x===1?Hc[e]:jc[e];const I=this.channels[x];return I?(I.setPAC(this.interpretPAC(n,t)),this.currentChannel=x,!0):!1}interpretPAC(e,t){let n;const l={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?n=t-96:n=t-64,l.underline=(n&1)===1,n<=13?l.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(n/2)]:n<=15?(l.italics=!0,l.color="white"):l.indent=Math.floor((n-16)/2)*4,l}parseChars(e,t){let n,l=null,_=null;if(e>=25?(n=2,_=e-8):(n=1,_=e),_>=17&&_<=19){let x;_===17?x=t+80:_===18?x=t+112:x=t+144,this.logger.log(2,()=>"Special char '"+Zo(x)+"' in channel "+n),l=[x]}else e>=32&&e<=127&&(l=t===0?[e]:[e,t]);return l&&this.logger.log(3,()=>"Char codes = "+$i(l).join(",")),l}parseBackgroundAttributes(e,t){const n=(e===16||e===24)&&t>=32&&t<=47,l=(e===23||e===31)&&t>=45&&t<=47;if(!(n||l))return!1;let _;const x={};e===16||e===24?(_=Math.floor((t-32)/2),x.background=Zc[_],t%2===1&&(x.background=x.background+"_semi")):t===45?x.background="transparent":(x.foreground="black",t===47&&(x.underline=!0));const I=e<=23?1:2;return this.channels[I].setBkgData(x),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){const t=this.channels[e];t&&t.reset()}Ya(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){const n=this.channels[t];n&&n.cueSplitAtTime(e)}}}function Ya(A,e,t){t.a=A,t.b=e}function Qc(A,e,t){return t.a===A&&t.b===e}function Jc(){return{a:null,b:null}}var Cs=function(){if(Vr!=null&&Vr.VTTCue)return self.VTTCue;const A=["","lr","rl"],e=["start","middle","end","left","right"];function t(I,k){if(typeof k!="string"||!Array.isArray(I))return!1;const N=k.toLowerCase();return~I.indexOf(N)?N:!1}function n(I){return t(A,I)}function l(I){return t(e,I)}function _(I,...k){let N=1;for(;N<arguments.length;N++){const j=arguments[N];for(const Z in j)I[Z]=j[Z]}return I}function x(I,k,N){const j=this,Z={enumerable:!0};j.hasBeenReset=!1;let Q="",re=!1,ne=I,de=k,fe=N,Ae=null,we="",Ie=!0,ze="auto",Je="start",wt=50,et="middle",gt=50,pt="middle";Object.defineProperty(j,"id",_({},Z,{get:function(){return Q},set:function(st){Q=""+st}})),Object.defineProperty(j,"pauseOnExit",_({},Z,{get:function(){return re},set:function(st){re=!!st}})),Object.defineProperty(j,"startTime",_({},Z,{get:function(){return ne},set:function(st){if(typeof st!="number")throw new TypeError("Start time must be set to a number.");ne=st,this.hasBeenReset=!0}})),Object.defineProperty(j,"endTime",_({},Z,{get:function(){return de},set:function(st){if(typeof st!="number")throw new TypeError("End time must be set to a number.");de=st,this.hasBeenReset=!0}})),Object.defineProperty(j,"text",_({},Z,{get:function(){return fe},set:function(st){fe=""+st,this.hasBeenReset=!0}})),Object.defineProperty(j,"region",_({},Z,{get:function(){return Ae},set:function(st){Ae=st,this.hasBeenReset=!0}})),Object.defineProperty(j,"vertical",_({},Z,{get:function(){return we},set:function(st){const Vt=n(st);if(Vt===!1)throw new SyntaxError("An invalid or illegal string was specified.");we=Vt,this.hasBeenReset=!0}})),Object.defineProperty(j,"snapToLines",_({},Z,{get:function(){return Ie},set:function(st){Ie=!!st,this.hasBeenReset=!0}})),Object.defineProperty(j,"line",_({},Z,{get:function(){return ze},set:function(st){if(typeof st!="number"&&st!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");ze=st,this.hasBeenReset=!0}})),Object.defineProperty(j,"lineAlign",_({},Z,{get:function(){return Je},set:function(st){const Vt=l(st);if(!Vt)throw new SyntaxError("An invalid or illegal string was specified.");Je=Vt,this.hasBeenReset=!0}})),Object.defineProperty(j,"position",_({},Z,{get:function(){return wt},set:function(st){if(st<0||st>100)throw new Error("Position must be between 0 and 100.");wt=st,this.hasBeenReset=!0}})),Object.defineProperty(j,"positionAlign",_({},Z,{get:function(){return et},set:function(st){const Vt=l(st);if(!Vt)throw new SyntaxError("An invalid or illegal string was specified.");et=Vt,this.hasBeenReset=!0}})),Object.defineProperty(j,"size",_({},Z,{get:function(){return gt},set:function(st){if(st<0||st>100)throw new Error("Size must be between 0 and 100.");gt=st,this.hasBeenReset=!0}})),Object.defineProperty(j,"align",_({},Z,{get:function(){return pt},set:function(st){const Vt=l(st);if(!Vt)throw new SyntaxError("An invalid or illegal string was specified.");pt=Vt,this.hasBeenReset=!0}})),j.displayState=void 0}return x.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},x}();class qc{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function Qo(A){function e(n,l,_,x){return(n|0)*3600+(l|0)*60+(_|0)+parseFloat(x||0)}const t=A.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}class eh{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,n){return n?this.has(e)?this.values[e]:t[n]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,n){for(let l=0;l<n.length;++l)if(t===n[l]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){const n=parseFloat(t);if(n>=0&&n<=100)return this.set(e,n),!0}return!1}}function Jo(A,e,t,n){const l=n?A.split(n):[A];for(const _ in l){if(typeof l[_]!="string")continue;const x=l[_].split(t);if(x.length!==2)continue;const I=x[0],k=x[1];e(I,k)}}const Is=new Cs(0,0,""),$a=Is.align==="middle"?"middle":"center";function th(A,e,t){const n=A;function l(){const I=Qo(A);if(I===null)throw new Error("Malformed timestamp: "+n);return A=A.replace(/^[^\sa-zA-Z-]+/,""),I}function _(I,k){const N=new eh;Jo(I,function(Q,re){let ne;switch(Q){case"region":for(let de=t.length-1;de>=0;de--)if(t[de].id===re){N.set(Q,t[de].region);break}break;case"vertical":N.alt(Q,re,["rl","lr"]);break;case"line":ne=re.split(","),N.integer(Q,ne[0]),N.percent(Q,ne[0])&&N.set("snapToLines",!1),N.alt(Q,ne[0],["auto"]),ne.length===2&&N.alt("lineAlign",ne[1],["start",$a,"end"]);break;case"position":ne=re.split(","),N.percent(Q,ne[0]),ne.length===2&&N.alt("positionAlign",ne[1],["start",$a,"end","line-left","line-right","auto"]);break;case"size":N.percent(Q,re);break;case"align":N.alt(Q,re,["start",$a,"end","left","right"]);break}},/:/,/\s/),k.region=N.get("region",null),k.vertical=N.get("vertical","");let j=N.get("line","auto");j==="auto"&&Is.line===-1&&(j=-1),k.line=j,k.lineAlign=N.get("lineAlign","start"),k.snapToLines=N.get("snapToLines",!0),k.size=N.get("size",100),k.align=N.get("align",$a);let Z=N.get("position","auto");Z==="auto"&&Is.position===50&&(Z=k.align==="start"||k.align==="left"?0:k.align==="end"||k.align==="right"?100:50),k.position=Z}function x(){A=A.replace(/^\s+/,"")}if(x(),e.startTime=l(),x(),A.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+n);A=A.slice(3),x(),e.endTime=l(),x(),_(A,e)}function qo(A){return A.replace(/<br(?: \/)?>/gi,`
`)}class rh{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new qc,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){const t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function n(){let _=t.buffer,x=0;for(_=qo(_);x<_.length&&_[x]!=="\r"&&_[x]!==`
`;)++x;const I=_.slice(0,x);return _[x]==="\r"&&++x,_[x]===`
`&&++x,t.buffer=_.slice(x),I}function l(_){Jo(_,function(x,I){},/:/)}try{let _="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;_=n();const I=_.match(/^()?WEBVTT([ \t].*)?$/);if(!(I!=null&&I[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let x=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(x?x=!1:_=n(),t.state){case"HEADER":/:/.test(_)?l(_):_||(t.state="ID");continue;case"NOTE":_||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(_)){t.state="NOTE";break}if(!_)continue;if(t.cue=new Cs(0,0,""),t.state="CUE",_.indexOf("-->")===-1){t.cue.id=_;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{th(_,t.cue,t.regionList)}catch(I){t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{const I=_.indexOf("-->")!==-1;if(!_||I&&(x=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
`),t.cue.text+=_}continue;case"BADCUE":_||(t.state="ID")}}}catch(_){t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){const e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=`
`,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}}const nh=/\r\n|\n\r|\n|\r/g,Ps=function(e,t,n=0){return e.slice(n,n+t.length)===t},ih=function(e){let t=parseInt(e.slice(-3));const n=parseInt(e.slice(-6,-4)),l=parseInt(e.slice(-9,-7)),_=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!ee(t)||!ee(n)||!ee(l)||!ee(_))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*n,t+=60*1e3*l,t+=60*60*1e3*_,t};function Ms(A,e,t){return Ra(A.toString())+Ra(e.toString())+Ra(t)}const ah=function(e,t,n){let l=e[t],_=e[l.prevCC];if(!_||!_.new&&l.new){e.ccOffset=e.presentationOffset=l.start,l.new=!1;return}for(;(x=_)!=null&&x.new;){var x;e.ccOffset+=l.start-_.start,l.new=!1,l=_,_=e[l.prevCC]}e.presentationOffset=n};function sh(A,e,t,n,l,_,x){const I=new rh,k=G(new Uint8Array(A)).trim().replace(nh,`
`).split(`
`),N=[],j=e?mu(e.baseTime,e.timescale):0;let Z="00:00.000",Q=0,re=0,ne,de=!0;I.oncue=function(fe){const Ae=t[n];let we=t.ccOffset;const Ie=(Q-j)/9e4;if(Ae!=null&&Ae.new&&(re!==void 0?we=t.ccOffset=Ae.start:ah(t,n,Ie)),Ie){if(!e){ne=new Error("Missing initPTS for VTT MPEGTS");return}we=Ie-t.presentationOffset}const ze=fe.endTime-fe.startTime,Je=_i((fe.startTime+we-re)*9e4,l*9e4)/9e4;fe.startTime=Math.max(Je,0),fe.endTime=Math.max(Je+ze,0);const wt=fe.text.trim();fe.text=decodeURIComponent(encodeURIComponent(wt)),fe.id||(fe.id=Ms(fe.startTime,fe.endTime,wt)),fe.endTime>0&&N.push(fe)},I.onparsingerror=function(fe){ne=fe},I.onflush=function(){if(ne){x(ne);return}_(N)},k.forEach(fe=>{if(de)if(Ps(fe,"X-TIMESTAMP-MAP=")){de=!1,fe.slice(16).split(",").forEach(Ae=>{Ps(Ae,"LOCAL:")?Z=Ae.slice(6):Ps(Ae,"MPEGTS:")&&(Q=parseInt(Ae.slice(7)))});try{re=ih(Z)/1e3}catch(Ae){ne=Ae}return}else fe===""&&(de=!1);I.parse(fe+`
`)}),I.flush()}const Os="stpp.ttml.im1t",el=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,tl=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,oh={left:"start",center:"center",right:"end",start:"start",end:"end"};function rl(A,e,t,n){const l=ve(new Uint8Array(A),["mdat"]);if(l.length===0){n(new Error("Could not parse IMSC1 mdat"));return}const _=l.map(I=>G(I)),x=_u(e.baseTime,1,e.timescale);try{_.forEach(I=>t(lh(I,x)))}catch(I){n(I)}}function lh(A,e){const l=new DOMParser().parseFromString(A,"text/xml").getElementsByTagName("tt")[0];if(!l)throw new Error("Invalid ttml");const _={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},x=Object.keys(_).reduce((Z,Q)=>(Z[Q]=l.getAttribute(`ttp:${Q}`)||_[Q],Z),{}),I=l.getAttribute("xml:space")!=="preserve",k=nl(Ns(l,"styling","style")),N=nl(Ns(l,"layout","region")),j=Ns(l,"body","[begin]");return[].map.call(j,Z=>{const Q=il(Z,I);if(!Q||!Z.hasAttribute("begin"))return null;const re=Us(Z.getAttribute("begin"),x),ne=Us(Z.getAttribute("dur"),x);let de=Us(Z.getAttribute("end"),x);if(re===null)throw al(Z);if(de===null){if(ne===null)throw al(Z);de=re+ne}const fe=new Cs(re-e,de-e,Q);fe.id=Ms(fe.startTime,fe.endTime,fe.text);const Ae=N[Z.getAttribute("region")],we=k[Z.getAttribute("style")],Ie=uh(Ae,we,k),{textAlign:ze}=Ie;if(ze){const Je=oh[ze];Je&&(fe.lineAlign=Je),fe.align=ze}return u(fe,Ie),fe}).filter(Z=>Z!==null)}function Ns(A,e,t){const n=A.getElementsByTagName(e)[0];return n?[].slice.call(n.querySelectorAll(t)):[]}function nl(A){return A.reduce((e,t)=>{const n=t.getAttribute("xml:id");return n&&(e[n]=t),e},{})}function il(A,e){return[].slice.call(A.childNodes).reduce((t,n,l)=>{var _;return n.nodeName==="br"&&l?t+`
`:(_=n.childNodes)!=null&&_.length?il(n,e):e?t+n.textContent.trim().replace(/\s+/g," "):t+n.textContent},"")}function uh(A,e,t){const n="http://www.w3.org/ns/ttml#styling";let l=null;const _=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],x=A!=null&&A.hasAttribute("style")?A.getAttribute("style"):null;return x&&t.hasOwnProperty(x)&&(l=t[x]),_.reduce((I,k)=>{const N=Bs(e,n,k)||Bs(A,n,k)||Bs(l,n,k);return N&&(I[k]=N),I},{})}function Bs(A,e,t){return A&&A.hasAttributeNS(e,t)?A.getAttributeNS(e,t):null}function al(A){return new Error(`Could not parse ttml timestamp ${A}`)}function Us(A,e){if(!A)return null;let t=Qo(A);return t===null&&(el.test(A)?t=ch(A,e):tl.test(A)&&(t=hh(A,e))),t}function ch(A,e){const t=el.exec(A),n=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+n/e.frameRate}function hh(A,e){const t=tl.exec(A),n=Number(t[1]);switch(t[2]){case"h":return n*3600;case"m":return n*60;case"ms":return n*1e3;case"f":return n/e.frameRate;case"t":return n/e.tickRate}return n}class Qa{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,n){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=n,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}class fh{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=ll(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){const{hls:e}=this;e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){const e=new Qa(this,"textTrack1"),t=new Qa(this,"textTrack2"),n=new Qa(this,"textTrack3"),l=new Qa(this,"textTrack4");this.cea608Parser1=new $o(1,e,t),this.cea608Parser2=new $o(3,n,l)}addCues(e,t,n,l,_){let x=!1;for(let I=_.length;I--;){const k=_[I],N=dh(k[0],k[1],t,n);if(N>=0&&(k[0]=Math.min(k[0],t),k[1]=Math.max(k[1],n),x=!0,N/(n-t)>.5))return}if(x||_.push([t,n]),this.config.renderTextTracksNatively){const I=this.captionsTracks[e];this.Cues.newCue(I,t,n,l)}else{const I=this.Cues.newCue(null,t,n,l);this.hls.trigger(y.CUES_PARSED,{type:"captions",cues:I,track:e})}}onInitPtsFound(e,{frag:t,id:n,initPTS:l,timescale:_,trackId:x}){const{unparsedVttFrags:I}=this;n===b.MAIN&&(this.initPTS[t.cc]={baseTime:l,timescale:_,trackId:x}),I.length&&(this.unparsedVttFrags=[],I.forEach(k=>{this.initPTS[k.frag.cc]?this.onFragLoaded(y.FRAG_LOADED,k):this.hls.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:k.frag,error:new Error("Subtitle discontinuity domain does not match main")})}))}getExistingTrack(e,t){const{media:n}=this;if(n)for(let l=0;l<n.textTracks.length;l++){const _=n.textTracks[l];if(ol(_,{name:e,lang:t,characteristics:"transcribes-spoken-dialog,describes-music-and-sound"}))return _}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;const{captionsProperties:t,captionsTracks:n,media:l}=this,{label:_,languageCode:x}=t[e],I=this.getExistingTrack(_,x);if(I)n[e]=I,ca(n[e]),Ko(n[e],l);else{const k=this.createTextTrack("captions",_,x);k&&(k[e]=!0,n[e]=k)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;const t=this.captionsProperties[e];if(!t)return;const n=t.label,l={_id:e,label:n,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=l,this.hls.trigger(y.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[l]})}createTextTrack(e,t,n){const l=this.media;if(l)return l.addTextTrack(e,t,n)}onMediaAttaching(e,t){this.media=t.media,t.mediaSource||this._cleanTracks()}onMediaDetaching(e,t){const n=!!t.transferMedia;if(this.media=null,n)return;const{captionsTracks:l}=this;Object.keys(l).forEach(_=>{ca(l[_]),delete l[_]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=ll(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){const{media:e}=this;if(!e)return;const t=e.textTracks;if(t)for(let n=0;n<t.length;n++)ca(t[n])}onSubtitleTracksUpdated(e,t){const n=t.subtitleTracks||[],l=n.some(_=>_.textCodec===Os);if(this.config.enableWebVTT||l&&this.config.enableIMSC1){if(xo(this.tracks,n)){this.tracks=n;return}if(this.textTracks=[],this.tracks=n,this.config.renderTextTracksNatively){const x=this.media,I=x?ja(x.textTracks):null;if(this.tracks.forEach((k,N)=>{let j;if(I){let Z=null;for(let Q=0;Q<I.length;Q++)if(I[Q]&&ol(I[Q],k)){Z=I[Q],I[Q]=null;break}Z&&(j=Z)}if(j)ca(j);else{const Z=sl(k);j=this.createTextTrack(Z,k.name,k.lang),j&&(j.mode="disabled")}j&&this.textTracks.push(j)}),I!=null&&I.length){const k=I.filter(N=>N!==null).map(N=>N.label);k.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${k.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){const x=this.tracks.map(I=>({label:I.name,kind:I.type.toLowerCase(),default:I.default,subtitleTrack:I}));this.hls.trigger(y.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:x})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(n=>{const l=/(?:CC|SERVICE)([1-4])/.exec(n.instreamId);if(!l)return;const _=`textTrack${l[1]}`,x=this.captionsProperties[_];x&&(x.label=n.name,n.lang&&(x.languageCode=n.lang),x.media=n)})}closedCaptionsForLevel(e){const t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===b.MAIN){var n,l;const{cea608Parser1:_,cea608Parser2:x,lastSn:I}=this,{cc:k,sn:N}=t.frag,j=(n=(l=t.part)==null?void 0:l.index)!=null?n:-1;_&&x&&(N!==I+1||N===I&&j!==this.lastPartIndex+1||k!==this.lastCc)&&(_.reset(),x.reset()),this.lastCc=k,this.lastSn=N,this.lastPartIndex=j}}onFragLoaded(e,t){const{frag:n,payload:l}=t;if(n.type===b.SUBTITLE)if(l.byteLength){const _=n.decryptdata,x="stats"in t;if(_==null||!_.encrypted||x){const I=this.tracks[n.level],k=this.vttCCs;k[n.cc]||(k[n.cc]={start:n.start,prevCC:this.prevCC,new:!0},this.prevCC=n.cc),I&&I.textCodec===Os?this._parseIMSC1(n,l):this._parseVTTs(t)}}else this.hls.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){const n=this.hls;rl(t,this.initPTS[e.cc],l=>{this._appendCues(l,e.level),n.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},l=>{n.logger.log(`Failed to parse IMSC1: ${l}`),n.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:l})})}_parseVTTs(e){var t;const{frag:n,payload:l}=e,{initPTS:_,unparsedVttFrags:x}=this,I=_.length-1;if(!_[n.cc]&&I===-1){x.push(e);return}const k=this.hls,N=(t=n.initSegment)!=null&&t.data?tt(n.initSegment.data,new Uint8Array(l)).buffer:l;sh(N,this.initPTS[n.cc],this.vttCCs,n.cc,n.start,j=>{this._appendCues(j,n.level),k.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:n})},j=>{const Z=j.message==="Missing initPTS for VTT MPEGTS";Z?x.push(e):this._fallbackToIMSC1(n,l),k.logger.log(`Failed to parse VTT cue: ${j}`),!(Z&&I>n.cc)&&k.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n,error:j})})}_fallbackToIMSC1(e,t){const n=this.tracks[e.level];n.textCodec||rl(t,this.initPTS[e.cc],()=>{n.textCodec=Os,this._parseIMSC1(e,t)},()=>{n.textCodec="wvtt"})}_appendCues(e,t){const n=this.hls;if(this.config.renderTextTracksNatively){const l=this.textTracks[t];if(!l||l.mode==="disabled")return;e.forEach(_=>Go(l,_))}else{const l=this.tracks[t];if(!l)return;const _=l.default?"default":"subtitles"+t;n.trigger(y.CUES_PARSED,{type:"subtitles",cues:e,track:_})}}onFragDecrypted(e,t){const{frag:n}=t;n.type===b.SUBTITLE&&this.onFragLoaded(y.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){if(!this.enabled||!this.config.enableCEA708Captions)return;const{frag:n,samples:l}=t;if(!(n.type===b.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let _=0;_<l.length;_++){const x=l[_].bytes;if(x){this.cea608Parser1||this.initCea608Parsers();const I=this.extractCea608Data(x);this.cea608Parser1.addData(l[_].pts,I[0]),this.cea608Parser2.addData(l[_].pts,I[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:n,endOffsetSubtitles:l,type:_}){const{media:x}=this;if(!(!x||x.currentTime<n)){if(!_||_==="video"){const{captionsTracks:I}=this;Object.keys(I).forEach(k=>Ds(I[k],t,n))}if(this.config.renderTextTracksNatively&&t===0&&l!==void 0){const{textTracks:I}=this;Object.keys(I).forEach(k=>Ds(I[k],t,l))}}}extractCea608Data(e){const t=[[],[]],n=e[0]&31;let l=2;for(let _=0;_<n;_++){const x=e[l++],I=127&e[l++],k=127&e[l++];if(I===0&&k===0)continue;if((4&x)!==0){const j=3&x;(j===0||j===1)&&(t[j].push(I),t[j].push(k))}}return t}}function sl(A){return A.characteristics&&/transcribes-spoken-dialog/gi.test(A.characteristics)&&/describes-music-and-sound/gi.test(A.characteristics)?"captions":"subtitles"}function ol(A,e){return!!A&&A.kind===sl(e)&&vs(e,A)}function dh(A,e,t,n){return Math.min(e,n)-Math.max(A,t)}function ll(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}const _h=/\s/,mh={newCue(A,e,t,n){const l=[];let _,x,I,k,N;const j=self.VTTCue||self.TextTrackCue;for(let Q=0;Q<n.rows.length;Q++)if(_=n.rows[Q],I=!0,k=0,N="",!_.isEmpty()){var Z;for(let de=0;de<_.chars.length;de++)_h.test(_.chars[de].uchar)&&I?k++:(N+=_.chars[de].uchar,I=!1);_.cueStartTime=e,e===t&&(t+=1e-4),k>=16?k--:k++;const re=qo(N.trim()),ne=Ms(e,t,re);A!=null&&(Z=A.cues)!=null&&Z.getCueById(ne)||(x=new j(e,t,re),x.id=ne,x.line=Q+1,x.align="left",x.position=10+Math.min(80,Math.floor(k*8/32)*10),l.push(x))}return A&&l.length&&(l.sort((Q,re)=>Q.line==="auto"||re.line==="auto"?0:Q.line>8&&re.line>8?re.line-Q.line:Q.line-re.line),l.forEach(Q=>Go(A,Q))),l}};function ph(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(A){}return!1}const gh=/(\d+)-(\d+)\/(\d+)/;class ul{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||xh,this.controller=new self.AbortController,this.stats=new M}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,n){const l=this.stats;if(l.loading.start)throw new Error("Loader can only be used once.");l.loading.start=self.performance.now();const _=vh(e,this.controller.signal),x=e.responseType==="arraybuffer",I=x?"byteLength":"length",{maxTimeToFirstByteMs:k,maxLoadTimeMs:N}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=n,this.request=this.fetchSetup(e,_),self.clearTimeout(this.requestTimeout),t.timeout=k&&ee(k)?k:N,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(l,e,this.response))},t.timeout),(Da(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(Z=>{var Q;this.response=this.loader=Z;const re=Math.max(self.performance.now(),l.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=N,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(l,e,this.response))},N-(re-l.loading.start)),!Z.ok){const{status:de,statusText:fe}=Z;throw new Th(fe||"fetch, bad network response",de,Z)}l.loading.first=re,l.total=Eh(Z.headers)||l.total;const ne=(Q=this.callbacks)==null?void 0:Q.onProgress;return ne&&ee(t.highWaterMark)?this.loadProgressively(Z,l,e,t.highWaterMark,ne):x?Z.arrayBuffer():e.responseType==="json"?Z.json():Z.text()}).then(Z=>{var Q,re;const ne=this.response;if(!ne)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),l.loading.end=Math.max(self.performance.now(),l.loading.first);const de=Z[I];de&&(l.loaded=l.total=de);const fe={url:ne.url,data:Z,code:ne.status},Ae=(Q=this.callbacks)==null?void 0:Q.onProgress;Ae&&!ee(t.highWaterMark)&&Ae(l,e,Z,ne),(re=this.callbacks)==null||re.onSuccess(fe,l,e,ne)}).catch(Z=>{var Q;if(self.clearTimeout(this.requestTimeout),l.aborted)return;const re=Z&&Z.code||0,ne=Z?Z.message:null;(Q=this.callbacks)==null||Q.onError({code:re,text:ne},e,Z?Z.details:null,l)})}getCacheAge(){let e=null;if(this.response){const t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,n,l=0,_){const x=new js,I=e.body.getReader(),k=()=>I.read().then(N=>{if(N.done)return x.dataLength&&_(t,n,x.flush().buffer,e),Promise.resolve(new ArrayBuffer(0));const j=N.value,Z=j.length;return t.loaded+=Z,Z<l||x.dataLength?(x.push(j),x.dataLength>=l&&_(t,n,x.flush().buffer,e)):_(t,n,j.buffer,e),k()}).catch(()=>Promise.reject());return k()}}function vh(A,e){const t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(u({},A.headers))};return A.rangeEnd&&t.headers.set("Range","bytes="+A.rangeStart+"-"+String(A.rangeEnd-1)),t}function yh(A){const e=gh.exec(A);if(e)return parseInt(e[2])-parseInt(e[1])+1}function Eh(A){const e=A.get("Content-Range");if(e){const n=yh(e);if(ee(n))return n}const t=A.get("Content-Length");if(t)return parseInt(t)}function xh(A,e){return new self.Request(A.url,e)}class Th extends Error{constructor(e,t,n){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=n}}const Ah=/^age:\s*[\d.]+\s*$/im;class cl{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new M,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){const e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,n){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=n,this.loadInternal()}loadInternal(){const{config:e,context:t}=this;if(!e||!t)return;const n=this.loader=new self.XMLHttpRequest,l=this.stats;l.loading.first=0,l.loaded=0,l.aborted=!1;const _=this.xhrSetup;_?Promise.resolve().then(()=>{if(!(this.loader!==n||this.stats.aborted))return _(n,t.url)}).catch(x=>{if(!(this.loader!==n||this.stats.aborted))return n.open("GET",t.url,!0),_(n,t.url)}).then(()=>{this.loader!==n||this.stats.aborted||this.openAndSendXhr(n,t,e)}).catch(x=>{var I;(I=this.callbacks)==null||I.onError({code:n.status,text:x.message},t,n,l)}):this.openAndSendXhr(n,t,e)}openAndSendXhr(e,t,n){e.readyState||e.open("GET",t.url,!0);const l=t.headers,{maxTimeToFirstByteMs:_,maxLoadTimeMs:x}=n.loadPolicy;if(l)for(const I in l)e.setRequestHeader(I,l[I]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),n.timeout=_&&ee(_)?_:x,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.timeout),e.send()}readystatechange(){const{context:e,loader:t,stats:n}=this;if(!e||!t)return;const l=t.readyState,_=this.config;if(!n.aborted&&l>=2&&(n.loading.first===0&&(n.loading.first=Math.max(self.performance.now(),n.loading.start),_.timeout!==_.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),_.timeout=_.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),_.loadPolicy.maxLoadTimeMs-(n.loading.first-n.loading.start)))),l===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;const N=t.status,j=t.responseType==="text"?t.responseText:null;if(N>=200&&N<300){const ne=j!=null?j:t.response;if(ne!=null){var x,I;n.loading.end=Math.max(self.performance.now(),n.loading.first);const de=t.responseType==="arraybuffer"?ne.byteLength:ne.length;n.loaded=n.total=de,n.bwEstimate=n.total*8e3/(n.loading.end-n.loading.first);const fe=(x=this.callbacks)==null?void 0:x.onProgress;fe&&fe(n,e,ne,t);const Ae={url:t.responseURL,data:ne,code:N};(I=this.callbacks)==null||I.onSuccess(Ae,n,e,t);return}}const Z=_.loadPolicy.errorRetry,Q=n.retry,re={url:e.url,data:void 0,code:N};if($r(Z,Q,!1,re))this.retry(Z);else{var k;S.error(`${N} while loading ${e.url}`),(k=this.callbacks)==null||k.onError({code:N,text:t.statusText},e,t,n)}}}loadtimeout(){if(!this.config)return;const e=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if($r(e,t,!0))this.retry(e);else{var n;S.warn(`timeout while loading ${(n=this.context)==null?void 0:n.url}`);const l=this.callbacks;l&&(this.abortInternal(),l.onTimeout(this.stats,this.context,this.loader))}}retry(e){const{context:t,stats:n}=this;this.retryDelay=Gr(e,n.retry),n.retry++,S.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?void 0:t.url}, retrying ${n.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){const t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&Ah.test(this.loader.getAllResponseHeaders())){const t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}const bh={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},Sh=i(i({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:60*1e3*1e3,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,ignorePlaylistParsingErrors:!1,loader:cl,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:or,bufferController:Cu,capLevelController:Es,errorController:kt,fpsController:Rc,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:Wn,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:bh},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},Dh()),{},{subtitleStreamController:Wc,subtitleTrackController:Ic,timelineController:fh,audioStreamController:Du,audioTrackController:Lu,emeController:ua,cmcdController:bc,contentSteeringController:Dc,interstitialsController:kc});function Dh(){return{cueHandler:mh,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function Lh(A,e,t){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');const n=Fs(A),l=["manifest","level","frag"],_=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return l.forEach(x=>{const I=`${x==="level"?"playlist":x}LoadPolicy`,k=e[I]===void 0,N=[];_.forEach(j=>{const Z=`${x}Loading${j}`,Q=e[Z];if(Q!==void 0&&k){N.push(Z);const re=n[I].default;switch(e[I]={default:re},j){case"TimeOut":re.maxLoadTimeMs=Q,re.maxTimeToFirstByteMs=Q;break;case"MaxRetry":re.errorRetry.maxNumRetry=Q,re.timeoutRetry.maxNumRetry=Q;break;case"RetryDelay":re.errorRetry.retryDelayMs=Q,re.timeoutRetry.retryDelayMs=Q;break;case"MaxRetryTimeout":re.errorRetry.maxRetryDelayMs=Q,re.timeoutRetry.maxRetryDelayMs=Q;break}}}),N.length&&t.warn(`hls.js config: "${N.join('", "')}" setting(s) are deprecated, use "${I}": ${He(e[I])}`)}),i(i({},n),e)}function Fs(A){return A&&typeof A=="object"?Array.isArray(A)?A.map(Fs):Object.keys(A).reduce((e,t)=>(e[t]=Fs(A[t]),e),{}):A}function Rh(A,e){const t=A.loader;t!==ul&&t!==cl?(e.log("[config]: Custom loader detected, cannot enable progressive streaming"),A.progressive=!1):ph()&&(A.loader=ul,A.progressive=!0,A.enableSoftwareAES=!0,e.log("[config]: Progressive streaming enabled, using FetchLoader"))}const Ja=2,wh=.1,Ch=.05,Ih=100;class Ph extends Un{constructor(e,t){super("gap-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var n;(n=this.media)!=null&&n.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>{if(this.hls){var n;this.ended=((n=this.media)==null?void 0:n.currentTime)||1,this.hls.trigger(y.MEDIA_ENDED,{stalled:!1})}},this.hls=e,this.fragmentTracker=t,this.registerListeners()}registerListeners(){const{hls:e}=this;e&&(e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){const{hls:e}=this;e&&(e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,t){this.setInterval(Ih),this.mediaSource=t.mediaSource;const n=this.media=t.media;li(n,"playing",this.onMediaPlaying),li(n,"waiting",this.onMediaWaiting),li(n,"ended",this.onMediaEnded)}onMediaDetaching(e,t){this.clearInterval();const{media:n}=this;n&&(hi(n,"playing",this.onMediaPlaying),hi(n,"waiting",this.onMediaWaiting),hi(n,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(e,t){this.buffered=t.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}tick(){var e;if(!((e=this.media)!=null&&e.readyState)||!this.hasBuffered)return;const t=this.media.currentTime;this.poll(t,this.lastCurrentTime),this.lastCurrentTime=t}poll(e,t){var n,l;const _=(n=this.hls)==null?void 0:n.config;if(!_)return;const x=this.media;if(!x)return;const{seeking:I}=x,k=this.seeking&&!I,N=!this.seeking&&I,j=x.paused&&!I||x.ended||x.playbackRate===0;if(this.seeking=I,e!==t){t&&(this.ended=0),this.moved=!0,I||(this.nudgeRetry=0,_.nudgeOnVideoHole&&!j&&e>t&&this.nudgeOnVideoHole(e,t)),this.waiting===0&&this.stallResolved(e);return}if(N||k){k&&this.stallResolved(e);return}if(j){this.nudgeRetry=0,this.stallResolved(e),!this.ended&&x.ended&&this.hls&&(this.ended=e||1,this.hls.trigger(y.MEDIA_ENDED,{stalled:!1}));return}if(!Lr.getBuffered(x).length){this.nudgeRetry=0;return}const Z=Lr.bufferInfo(x,e,0),Q=Z.nextStart||0,re=this.fragmentTracker;if(I&&re&&this.hls){const wt=hl(this.hls.inFlightFragments,e),et=Z.len>Ja,gt=!Q||wt||Q-e>Ja&&!re.getPartialFragment(e);if(et||gt)return;this.moved=!1}const ne=(l=this.hls)==null?void 0:l.latestLevelDetails;if(!this.moved&&this.stalled!==null&&re){if(!(Z.len>0)&&!Q)return;const et=Math.max(Q,Z.start||0)-e,pt=!!(ne!=null&&ne.live)?ne.targetduration*2:Ja,st=qa(e,re);if(et>0&&(et<=pt||st)){x.paused||this._trySkipBufferHole(st);return}}const de=_.detectStallWithCurrentTimeMs,fe=self.performance.now(),Ae=this.waiting;let we=this.stalled;if(we===null)if(Ae>0&&fe-Ae<de)we=this.stalled=Ae;else{this.stalled=fe;return}const Ie=fe-we;if(!I&&(Ie>=de||Ae)&&this.hls){var ze;if(((ze=this.mediaSource)==null?void 0:ze.readyState)==="ended"&&!(ne!=null&&ne.live)&&Math.abs(e-((ne==null?void 0:ne.edge)||0))<1){if(this.ended)return;this.ended=e||1,this.hls.trigger(y.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(Z),!this.media||!this.hls)return}const Je=Lr.bufferInfo(x,e,_.maxBufferHole);this._tryFixBufferStall(Je,Ie,e)}stallResolved(e){const t=this.stalled;if(t&&this.hls&&(this.stalled=null,this.stallReported)){const n=self.performance.now()-t;this.log(`playback not stuck anymore @${e}, after ${Math.round(n)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(y.STALL_RESOLVED,{})}}nudgeOnVideoHole(e,t){var n;const l=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&(n=this.buffered.audio)!=null&&n.length&&l&&l.length>1&&e>l.end(0)){const _=Lr.bufferedInfo(Lr.timeRangesToArray(this.buffered.audio),e,0);if(_.len>1&&t>=_.start){const x=Lr.timeRangesToArray(l),I=Lr.bufferedInfo(x,t,0).bufferedIndex;if(I>-1&&I<x.length-1){const k=Lr.bufferedInfo(x,e,0).bufferedIndex,N=x[I].end,j=x[I+1].start;if((k===-1||k>I)&&j-N<1&&e-N<2){const Z=new Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${N} -> ${j} buffered index: ${k}`);this.warn(Z.message),this.media.currentTime+=1e-6;let Q=qa(e,this.fragmentTracker);Q&&"fragment"in Q?Q=Q.fragment:Q||(Q=void 0);const re=Lr.bufferInfo(this.media,e,0);this.hls.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:Z,reason:Z.message,frag:Q,buffer:re.len,bufferInfo:re})}}}}}_tryFixBufferStall(e,t,n){var l,_;const{fragmentTracker:x,media:I}=this,k=(l=this.hls)==null?void 0:l.config;if(!I||!x||!k)return;const N=(_=this.hls)==null?void 0:_.latestLevelDetails,j=qa(n,x);if((j||N!=null&&N.live&&n<N.fragmentStart)&&(this._trySkipBufferHole(j)||!this.media))return;const Z=e.buffered,Q=this.adjacentTraversal(e,n);(Z&&Z.length>1&&e.len>k.maxBufferHole||e.nextStart&&(e.nextStart-n<k.maxBufferHole||Q))&&(t>k.highBufferWatchdogPeriod*1e3||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e))}adjacentTraversal(e,t){const n=this.fragmentTracker,l=e.nextStart;if(n&&l){const _=n.getFragAtPos(t,b.MAIN),x=n.getFragAtPos(l,b.MAIN);if(_&&x)return x.sn-_.sn<2}return!1}_reportStall(e){const{hls:t,media:n,stallReported:l,stalled:_}=this;if(!l&&_!==null&&n&&t){this.stallReported=!0;const x=new Error(`Playback stalling at @${n.currentTime} due to low buffer (${He(e)})`);this.warn(x.message),t.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.BUFFER_STALLED_ERROR,fatal:!1,error:x,buffer:e.len,bufferInfo:e,stalled:{start:_}})}}_trySkipBufferHole(e){var t;const{fragmentTracker:n,media:l}=this,_=(t=this.hls)==null?void 0:t.config;if(!l||!n||!_)return 0;const x=l.currentTime,I=Lr.bufferInfo(l,x,0),k=x<I.start?I.start:I.nextStart;if(k&&this.hls){const j=I.len<=_.maxBufferHole,Z=I.len>0&&I.len<1&&l.readyState<3,Q=k-x;if(Q>0&&(j||Z)){if(Q>_.maxBufferHole){let ne=!1;if(x===0){const de=n.getAppendedFrag(0,b.MAIN);de&&k<de.end&&(ne=!0)}if(!ne&&e){var N;if(!((N=this.hls.loadLevelObj)!=null&&N.details)||hl(this.hls.inFlightFragments,k))return 0;let fe=!1,Ae=e.end;for(;Ae<k;){const we=qa(Ae,n);if(we)Ae+=we.duration;else{fe=!0;break}}if(fe)return 0}}const re=Math.max(k+Ch,x+wh);if(this.warn(`skipping hole, adjusting currentTime from ${x} to ${re}`),this.moved=!0,l.currentTime=re,!(e!=null&&e.gap)){const ne=new Error(`fragment loaded with buffer holes, seeking from ${x} to ${re}`),de={type:D.MEDIA_ERROR,details:W.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:ne,reason:ne.message,buffer:I.len,bufferInfo:I};e&&("fragment"in e?de.part=e:de.frag=e),this.hls.trigger(y.ERROR,de)}return re}}return 0}_tryNudgeBuffer(e){const{hls:t,media:n,nudgeRetry:l}=this,_=t==null?void 0:t.config;if(!n||!_)return 0;const x=n.currentTime;if(this.nudgeRetry++,l<_.nudgeMaxRetry){const I=x+(l+1)*_.nudgeOffset,k=new Error(`Nudging 'currentTime' from ${x} to ${I}`);this.warn(k.message),n.currentTime=I,t.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.BUFFER_NUDGE_ON_STALL,error:k,fatal:!1,buffer:e.len,bufferInfo:e})}else{const I=new Error(`Playhead still not moving while enough data buffered @${x} after ${_.nudgeMaxRetry} nudges`);this.error(I.message),t.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.BUFFER_STALLED_ERROR,error:I,fatal:!0,buffer:e.len,bufferInfo:e})}}}function hl(A,e){const t=fl(A.main);if(t&&t.start<=e)return t;const n=fl(A.audio);return n&&n.start<=e?n:null}function fl(A){if(!A)return null;switch(A.state){case Kt.IDLE:case Kt.STOPPED:case Kt.ENDED:case Kt.ERROR:return null}return A.frag}function qa(A,e){return e.getAppendedFrag(A,b.MAIN)||e.getPartialFragment(A)}const Mh=.25;function ks(){if(typeof self!="undefined")return self.VTTCue||self.TextTrackCue}function Ws(A,e,t,n,l){let _=new A(e,t,"");try{_.value=n,l&&(_.type=l)}catch(x){_=new A(e,t,He(l?i({type:l},n):n))}return _}const es=(()=>{const A=ks();try{A&&new A(0,Number.POSITIVE_INFINITY,"")}catch(e){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();class Oh{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(y.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){const{hls:e}=this;e&&(e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(y.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}_unregisterListeners(){const{hls:e}=this;e&&(e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(y.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}onMediaAttaching(e,t){var n;this.media=t.media,((n=t.overrides)==null?void 0:n.cueRemoval)===!1&&(this.removeCues=!1)}onMediaAttached(){var e;const t=(e=this.hls)==null?void 0:e.latestLevelDetails;t&&this.updateDateRangeCues(t)}onMediaDetaching(e,t){this.media=null,!t.transferMedia&&(this.id3Track&&(this.removeCues&&ca(this.id3Track,this.onEventCueEnter),this.id3Track=null),this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){const t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){const n=e[t];if(n.kind==="metadata"&&n.label==="id3")return Ko(n,this.media),n}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media||!this.hls)return;const{enableEmsgMetadataCues:n,enableID3MetadataCues:l}=this.hls.config;if(!n&&!l)return;const{samples:_}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));const x=ks();if(x)for(let I=0;I<_.length;I++){const k=_[I].type;if(k===di.emsg&&!n||!l)continue;const N=eo(_[I].data),j=_[I].pts;let Z=j+_[I].duration;Z>es&&(Z=es),Z-j<=0&&(Z=j+Mh);for(let re=0;re<N.length;re++){const ne=N[re];if(!to(ne)){this.updateId3CueEnds(j,k);const de=Ws(x,j,Z,ne,k);de&&this.id3Track.addCue(de)}}}}updateId3CueEnds(e,t){var n;const l=(n=this.id3Track)==null?void 0:n.cues;if(l)for(let _=l.length;_--;){const x=l[_];x.type===t&&x.startTime<e&&x.endTime===es&&(x.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:n,type:l}){const{id3Track:_,hls:x}=this;if(!x)return;const{config:{enableEmsgMetadataCues:I,enableID3MetadataCues:k}}=x;if(_&&(I||k)){let N;l==="audio"?N=j=>j.type===di.audioId3&&k:l==="video"?N=j=>j.type===di.emsg&&I:N=j=>j.type===di.audioId3&&k||j.type===di.emsg&&I,Ds(_,t,n,N)}}onLevelUpdated(e,{details:t}){this.updateDateRangeCues(t,!0)}onLevelPtsUpdated(e,t){Math.abs(t.drift)>.01&&this.updateDateRangeCues(t.details)}updateDateRangeCues(e,t){if(!this.hls||!this.media)return;const{assetPlayerId:n,timelineOffset:l,enableDateRangeMetadataCues:_,interstitialsController:x}=this.hls.config;if(!_)return;const I=ks();if(n&&l&&!x){const{fragmentStart:de,fragmentEnd:fe}=e;let Ae=this.assetCue;Ae?(Ae.startTime=de,Ae.endTime=fe):I&&(Ae=this.assetCue=Ws(I,de,fe,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"),Ae&&(Ae.id=n,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.addCue(Ae),Ae.addEventListener("enter",this.onEventCueEnter)))}if(!e.hasProgramDateTime)return;const{id3Track:k}=this,{dateRanges:N}=e,j=Object.keys(N);let Z=this.dateRangeCuesAppended;if(k&&t){var Q;if((Q=k.cues)!=null&&Q.length){const de=Object.keys(Z).filter(fe=>!j.includes(fe));for(let fe=de.length;fe--;){var re;const Ae=de[fe],we=(re=Z[Ae])==null?void 0:re.cues;delete Z[Ae],we&&Object.keys(we).forEach(Ie=>{const ze=we[Ie];if(ze){ze.removeEventListener("enter",this.onEventCueEnter);try{k.removeCue(ze)}catch(Je){}}})}}else Z=this.dateRangeCuesAppended={}}const ne=e.fragments[e.fragments.length-1];if(!(j.length===0||!ee(ne==null?void 0:ne.programDateTime))){this.id3Track||(this.id3Track=this.createTrack(this.media));for(let de=0;de<j.length;de++){const fe=j[de],Ae=N[fe],we=Ae.startTime,Ie=Z[fe],ze=(Ie==null?void 0:Ie.cues)||{};let Je=(Ie==null?void 0:Ie.durationKnown)||!1,wt=es;const{duration:et,endDate:gt}=Ae;if(gt&&et!==null)wt=we+et,Je=!0;else if(Ae.endOnNext&&!Je){const st=j.reduce((Vt,_r)=>{if(_r!==Ae.id){const Sr=N[_r];if(Sr.class===Ae.class&&Sr.startDate>Ae.startDate&&(!Vt||Ae.startDate<Vt.startDate))return Sr}return Vt},null);st&&(wt=st.startTime,Je=!0)}const pt=Object.keys(Ae.attr);for(let st=0;st<pt.length;st++){const Vt=pt[st];if(!Fn(Vt))continue;const _r=ze[Vt];if(_r)Je&&!(Ie!=null&&Ie.durationKnown)?_r.endTime=wt:Math.abs(_r.startTime-we)>.01&&(_r.startTime=we,_r.endTime=wt);else if(I){let Sr=Ae.attr[Vt];Zn(Vt)&&(Sr=P(Sr));const Dr=Ws(I,we,wt,{key:Vt,data:Sr},di.dateRange);Dr&&(Dr.id=fe,this.id3Track.addCue(Dr),ze[Vt]=Dr,x&&(Vt==="X-ASSET-LIST"||Vt==="X-ASSET-URL")&&Dr.addEventListener("enter",this.onEventCueEnter))}}Z[fe]={cues:ze,dateRange:Ae,durationKnown:Je}}}}}class Nh{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{const{media:t}=this,n=this.levelDetails;if(!t||!n)return;this.currentTime=t.currentTime;const l=this.computeLatency();if(l===null)return;this._latency=l;const{lowLatencyMode:_,maxLiveSyncPlaybackRate:x}=this.config;if(!_||x===1||!n.live)return;const I=this.targetLatency;if(I===null)return;const k=l-I,N=Math.min(this.maxLatency,I+n.targetduration);if(k<N&&k>.05&&this.forwardBufferLength>1){const Z=Math.min(2,Math.max(1,x)),Q=Math.round(2/(1+Math.exp(-.75*k-this.edgeStalled))*20)/20,re=Math.min(Z,Math.max(1,Q));this.changeMediaPlaybackRate(t,re)}else t.playbackRate!==1&&t.playbackRate!==0&&this.changeMediaPlaybackRate(t,1)},this.hls=e,this.config=e.config,this.registerListeners()}get levelDetails(){var e;return((e=this.hls)==null?void 0:e.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){const{config:e}=this;if(e.liveMaxLatencyDuration!==void 0)return e.liveMaxLatencyDuration;const t=this.levelDetails;return t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){const e=this.levelDetails;if(e===null||this.hls===null)return null;const{holdBack:t,partHoldBack:n,targetduration:l}=e,{liveSyncDuration:_,liveSyncDurationCount:x,lowLatencyMode:I}=this.config,k=this.hls.userConfig;let N=I&&n||t;(this._targetLatencyUpdated||k.liveSyncDuration||k.liveSyncDurationCount||N===0)&&(N=_!==void 0?_:x*l);const j=l;return N+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,j)}set targetLatency(e){this.stallCount=0,this.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){const e=this.estimateLiveEdge(),t=this.targetLatency;if(e===null||t===null)return null;const n=this.levelDetails;if(n===null)return null;const l=n.edge,_=e-t-this.edgeStalled,x=l-n.totalduration,I=l-(this.config.lowLatencyMode&&n.partTarget||n.targetduration);return Math.min(Math.max(x,_),I)}get drift(){const e=this.levelDetails;return e===null?1:e.drift}get edgeStalled(){const e=this.levelDetails;if(e===null)return 0;const t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){const{media:e}=this,t=this.levelDetails;if(!e||!t)return 0;const n=e.buffered.length;return(n?e.buffered.end(n-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){const{hls:e}=this;e&&(e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(y.ERROR,this.onError,this))}unregisterListeners(){const{hls:e}=this;e&&(e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(y.ERROR,this.onError,this))}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null)}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){t.advanced&&this.onTimeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.onTimeupdate)}onError(e,t){var n;t.details===W.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&(n=this.levelDetails)!=null&&n.live&&this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency"))}changeMediaPlaybackRate(e,t){var n,l;e.playbackRate!==t&&((n=this.hls)==null||n.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${(l=this.targetLatency)==null?void 0:l.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${t}`),e.playbackRate=t)}estimateLiveEdge(){const e=this.levelDetails;return e===null?null:e.edge+e.age}computeLatency(){const e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}}class Bh extends gs{constructor(e,t){super(e,"level-controller"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){const{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.ERROR,this.onError,this)}_unregisterListeners(){const{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){const n=this.hls.config.preferManagedMediaSource,l=[],_={},x={};let I=!1,k=!1,N=!1;t.levels.forEach(j=>{const Z=j.attrs;let{audioCodec:Q,videoCodec:re}=j;Q&&(j.audioCodec=Q=dt(Q,n)||void 0),re&&(re=j.videoCodec=ft(re));const{width:ne,height:de,unknownCodecs:fe}=j,Ae=(fe==null?void 0:fe.length)||0;if(I||(I=!!(ne&&de)),k||(k=!!re),N||(N=!!Q),Ae||Q&&!this.isAudioSupported(Q)||re&&!this.isVideoSupported(re)){this.log(`Some or all CODECS not supported "${Z.CODECS}"`);return}const{CODECS:we,"FRAME-RATE":Ie,"HDCP-LEVEL":ze,"PATHWAY-ID":Je,RESOLUTION:wt,"VIDEO-RANGE":et}=Z,pt=`${`${Je||"."}-`}${j.bitrate}-${wt}-${Ie}-${we}-${et}-${ze}`;if(_[pt])if(_[pt].uri!==j.url&&!j.attrs["PATHWAY-ID"]){const st=x[pt]+=1;j.attrs["PATHWAY-ID"]=new Array(st+1).join(".");const Vt=this.createLevel(j);_[pt]=Vt,l.push(Vt)}else _[pt].addGroupId("audio",Z.AUDIO),_[pt].addGroupId("text",Z.SUBTITLES);else{const st=this.createLevel(j);_[pt]=st,x[pt]=1,l.push(st)}}),this.filterAndSortMediaOptions(l,t,I,k,N)}createLevel(e){const t=new Pt(e),n=e.supplemental;if(n!=null&&n.videoCodec&&!this.isVideoSupported(n.videoCodec)){const l=new Error(`SUPPLEMENTAL-CODECS not supported "${n.videoCodec}"`);this.log(l.message),t.supportedResult=Pe(l,[])}return t}isAudioSupported(e){return qt(e,"audio",this.hls.config.preferManagedMediaSource)}isVideoSupported(e){return qt(e,"video",this.hls.config.preferManagedMediaSource)}filterAndSortMediaOptions(e,t,n,l,_){var x;let I=[],k=[],N=e;const j=((x=t.stats)==null?void 0:x.parsing)||{};if((n||l)&&_&&(N=N.filter(({videoCodec:we,videoRange:Ie,width:ze,height:Je})=>(!!we||!!(ze&&Je))&&yt(Ie))),N.length===0){Promise.resolve().then(()=>{if(this.hls){let we="no level with compatible codecs found in manifest",Ie=we;t.levels.length&&(Ie=`one or more CODECS in variant not supported: ${He(t.levels.map(Je=>Je.attrs.CODECS).filter((Je,wt,et)=>et.indexOf(Je)===wt))}`,this.warn(Ie),we+=` (${Ie})`);const ze=new Error(we);this.hls.trigger(y.ERROR,{type:D.MEDIA_ERROR,details:W.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:ze,reason:Ie})}}),j.end=performance.now();return}t.audioTracks&&(I=t.audioTracks.filter(we=>!we.audioCodec||this.isAudioSupported(we.audioCodec)),dl(I)),t.subtitles&&(k=t.subtitles,dl(k));const Z=N.slice(0);N.sort((we,Ie)=>{if(we.attrs["HDCP-LEVEL"]!==Ie.attrs["HDCP-LEVEL"])return(we.attrs["HDCP-LEVEL"]||"")>(Ie.attrs["HDCP-LEVEL"]||"")?1:-1;if(n&&we.height!==Ie.height)return we.height-Ie.height;if(we.frameRate!==Ie.frameRate)return we.frameRate-Ie.frameRate;if(we.videoRange!==Ie.videoRange)return Qe.indexOf(we.videoRange)-Qe.indexOf(Ie.videoRange);if(we.videoCodec!==Ie.videoCodec){const ze=Rt(we.videoCodec),Je=Rt(Ie.videoCodec);if(ze!==Je)return Je-ze}if(we.uri===Ie.uri&&we.codecSet!==Ie.codecSet){const ze=Gt(we.codecSet),Je=Gt(Ie.codecSet);if(ze!==Je)return Je-ze}return we.averageBitrate!==Ie.averageBitrate?we.averageBitrate-Ie.averageBitrate:0});let Q=Z[0];if(this.steering&&(N=this.steering.filterParsedLevels(N),N.length!==Z.length)){for(let we=0;we<Z.length;we++)if(Z[we].pathwayId===N[0].pathwayId){Q=Z[we];break}}this._levels=N;for(let we=0;we<N.length;we++)if(N[we]===Q){var re;this._firstLevel=we;const Ie=Q.bitrate,ze=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${N.length} level(s) found, first bitrate: ${Ie}`),((re=this.hls.userConfig)==null?void 0:re.abrEwmaDefaultEstimate)===void 0){const Je=Math.min(Ie,this.hls.config.abrEwmaDefaultEstimateMax);Je>ze&&ze===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=Je)}break}const ne=_&&!l,de=this.hls.config,fe=!!(de.audioStreamController&&de.audioTrackController),Ae={levels:N,audioTracks:I,subtitleTracks:k,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:_,video:l,altAudio:fe&&!ne&&I.some(we=>!!we.url)};j.end=performance.now(),this.hls.trigger(y.MANIFEST_PARSED,Ae)}get levels(){return this._levels.length===0?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){const t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){const j=new Error("invalid level idx"),Z=e<0;if(this.hls.trigger(y.ERROR,{type:D.OTHER_ERROR,details:W.LEVEL_SWITCH_ERROR,level:e,fatal:Z,error:j,reason:j.message}),Z)return;e=Math.min(e,t.length-1)}const n=this.currentLevelIndex,l=this.currentLevel,_=l?l.attrs["PATHWAY-ID"]:void 0,x=t[e],I=x.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=x,n===e&&l&&_===I)return;this.log(`Switching to level ${e} (${x.height?x.height+"p ":""}${x.videoRange?x.videoRange+" ":""}${x.codecSet?x.codecSet+" ":""}@${x.bitrate})${I?" with Pathway "+I:""} from level ${n}${_?" with Pathway "+_:""}`);const k={level:e,attrs:x.attrs,details:x.details,bitrate:x.bitrate,averageBitrate:x.averageBitrate,maxBitrate:x.maxBitrate,realBitrate:x.realBitrate,width:x.width,height:x.height,codecSet:x.codecSet,audioCodec:x.audioCodec,videoCodec:x.videoCodec,audioGroups:x.audioGroups,subtitleGroups:x.subtitleGroups,loaded:x.loaded,loadError:x.loadError,fragmentError:x.fragmentError,name:x.name,id:x.id,uri:x.uri,url:x.url,urlId:0,audioGroupIds:x.audioGroupIds,textGroupIds:x.textGroupIds};this.hls.trigger(y.LEVEL_SWITCHING,k);const N=x.details;if(!N||N.live){const j=this.switchParams(x.uri,l==null?void 0:l.details,N);this.loadPlaylist(j)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){const e=this.hls.config.startLevel;return e!==void 0?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(e){if(this.steering){const t=this.steering.pathways(),n=e.filter(l=>t.indexOf(l)!==-1);if(e.length<1){this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${t}`);return}this.steering.pathwayPriority=n}}onError(e,t){t.fatal||!t.context||t.context.type===L.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===b.MAIN){const n=t.elementaryStreams;if(!Object.keys(n).some(_=>!!n[_]))return;const l=this._levels[t.level];l!=null&&l.loadError&&(this.log(`Resetting level error count of ${l.loadError} on frag buffered`),l.loadError=0)}}onLevelLoaded(e,t){var n;const{level:l,details:_}=t,x=t.levelInfo;if(!x){var I;this.warn(`Invalid level index ${l}`),(I=t.deliveryDirectives)!=null&&I.skip&&(_.deltaUpdateFailed=!0);return}if(x===this.currentLevel||t.withoutMultiVariant){x.fragmentError===0&&(x.loadError=0);let k=x.details;k===t.details&&k.advanced&&(k=void 0),this.playlistLoaded(l,t,k)}else(n=t.deliveryDirectives)!=null&&n.skip&&(_.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLoading(this.currentLevel,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);const n=this.getUrlWithDirectives(e.uri,t),l=this.currentLevelIndex,_=e.attrs["PATHWAY-ID"],x=e.details,I=x==null?void 0:x.age;this.log(`Loading level index ${l}${(t==null?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${_?" Pathway "+_:""}${I&&x.live?" age "+I.toFixed(1)+(x.type?" "+x.type||0:""):""} ${n}`),this.hls.trigger(y.LEVEL_LOADING,{url:n,level:l,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;if(this._levels.length===1)return;const n=this._levels.filter((_,x)=>x!==e?!0:(this.steering&&this.steering.removeLevel(_),_===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,_.details&&_.details.fragments.forEach(I=>I.level=-1)),!1));ti(n),this._levels=n,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);const l=n.length-1;this._firstLevel=Math.min(this._firstLevel,l),this._startLevel&&(this._startLevel=Math.min(this._startLevel,l)),this.hls.trigger(y.LEVELS_UPDATED,{levels:n})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){const{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:n}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(y.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:n}))}}function dl(A){const e={};A.forEach(t=>{const n=t.groupId||"";t.id=e[n]=e[n]||0,e[n]++})}function _l(){return self.SourceBuffer||self.WebKitSourceBuffer}function ml(){if(!w())return!1;const e=_l();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function Uh(){if(!ml())return!1;const A=w();return typeof(A==null?void 0:A.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>A.isTypeSupported(nt(e,"video")))||["mp4a.40.2","fLaC"].some(e=>A.isTypeSupported(nt(e,"audio"))))}function Fh(){var A;const e=_l();return typeof(e==null||(A=e.prototype)==null?void 0:A.changeType)=="function"}const kh=100;class Wh extends rs{constructor(e,t,n){super(e,t,n,"stream-controller",b.MAIN),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{const l=this.media,_=l?l.currentTime:null;if(_===null||!ee(_)||(this.log(`Media seeked to ${_.toFixed(3)}`),!this.getBufferedFrag(_)))return;const x=this.getFwdBufferInfoAtPos(l,_,b.MAIN,0);if(x===null||x.len===0){this.warn(`Main forward buffer length at ${_} on "seeked" event ${x?x.len:"empty"})`);return}this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();const{hls:e}=this;e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();const{hls:e}=this;e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,t){if(this.levels){const{lastCurrentTime:n,hls:l}=this;if(this.stopLoad(),this.setInterval(kh),this.level=-1,!this.startFragRequested){let _=l.startLevel;_===-1&&(l.config.testBandwidth&&this.levels.length>1?(_=0,this.bitrateTest=!0):_=l.firstAutoLevel),l.nextLoadLevel=_,this.level=l.loadLevel,this._hasEnoughToStart=!!t}n>0&&e===-1&&!t&&(this.log(`Override startPosition with lastCurrentTime @${n.toFixed(3)}`),e=n),this.state=Kt.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}else this._forceStartLoad=!0,this.state=Kt.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case Kt.WAITING_LEVEL:{const{levels:e,level:t}=this,n=e==null?void 0:e[t],l=n==null?void 0:n.details;if(l&&(!l.live||this.levelLastLoaded===n&&!this.waitForLive(n))){if(this.waitForCdnTuneIn(l))break;this.state=Kt.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=Kt.IDLE;break}break}case Kt.FRAG_LOADING_WAITING_RETRY:this.checkRetryDate();break}this.state===Kt.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){var e;super.onTickEnd(),(e=this.media)!=null&&e.readyState&&this.media.seeking===!1&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged()}doTickIdle(){const{hls:e,levelLastLoaded:t,levels:n,media:l}=this;if(t===null||!l&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;const _=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(n!=null&&n[_]))return;const x=n[_],I=this.getMainFwdBufferInfo();if(I===null)return;const k=this.getLevelDetails();if(k&&this._streamEnded(I,k)){const de={};this.altAudio===2&&(de.type="video"),this.hls.trigger(y.BUFFER_EOS,de),this.state=Kt.ENDED;return}if(!this.buffering)return;e.loadLevel!==_&&e.manualLevel===-1&&this.log(`Adapting to level ${_} from level ${this.level}`),this.level=e.nextLoadLevel=_;const N=x.details;if(!N||this.state===Kt.WAITING_LEVEL||this.waitForLive(x)){this.level=_,this.state=Kt.WAITING_LEVEL,this.startFragRequested=!1;return}const j=I.len,Z=this.getMaxBufferLength(x.maxBitrate);if(j>=Z)return;this.backtrackFragment&&this.backtrackFragment.start>I.end&&(this.backtrackFragment=null);const Q=this.backtrackFragment?this.backtrackFragment.start:I.end;let re=this.getNextFragment(Q,N);if(this.couldBacktrack&&!this.fragPrevious&&re&&q(re)&&this.fragmentTracker.getState(re)!==Zt.OK){var ne;const fe=((ne=this.backtrackFragment)!=null?ne:re).sn-N.startSN,Ae=N.fragments[fe-1];Ae&&re.cc===Ae.cc&&(re=Ae,this.fragmentTracker.removeFragment(Ae))}else this.backtrackFragment&&I.len&&(this.backtrackFragment=null);if(re&&this.isLoopLoading(re,Q)){if(!re.gap){const fe=this.audioOnly&&!this.altAudio?z.AUDIO:z.VIDEO,Ae=(fe===z.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;Ae&&this.afterBufferFlushed(Ae,fe,b.MAIN)}re=this.getNextFragmentLoopLoading(re,N,I,b.MAIN,Z)}re&&(re.initSegment&&!re.initSegment.data&&!this.bitrateTest&&(re=re.initSegment),this.loadFragment(re,x,Q))}loadFragment(e,t,n){const l=this.fragmentTracker.getState(e);l===Zt.NOT_LOADED||l===Zt.PARTIAL?q(e)?this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):super.loadFragment(e,t,n):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,b.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){const{levels:e,media:t}=this;if(t!=null&&t.readyState){let n;const l=this.getAppendedFrag(t.currentTime);l&&l.start>1&&this.flushMainBuffer(0,l.start-1);const _=this.getLevelDetails();if(_!=null&&_.live){const I=this.getMainFwdBufferInfo();if(!I||I.len<_.targetduration*2)return}if(!t.paused&&e){const I=this.hls.nextLoadLevel,k=e[I],N=this.fragLastKbps;N&&this.fragCurrent?n=this.fragCurrent.duration*k.maxBitrate/(1e3*N)+1:n=0}else n=0;const x=this.getBufferedFrag(t.currentTime+n);if(x){const I=this.followingBufferedFrag(x);if(I){this.abortCurrentFrag();const k=I.maxStartPTS?I.maxStartPTS:I.start,N=I.duration,j=Math.max(x.end,k+Math.min(Math.max(N-this.config.maxFragLookUpTolerance,N*(this.couldBacktrack?.5:.125)),N*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(j,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){const e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case Kt.KEY_LOADING:case Kt.FRAG_LOADING:case Kt.FRAG_LOADING_WAITING_RETRY:case Kt.PARSING:case Kt.PARSED:this.state=Kt.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio===2?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);const n=t.media;li(n,"playing",this.onMediaPlaying),li(n,"seeked",this.onMediaSeeked)}onMediaDetaching(e,t){const{media:n}=this;n&&(hi(n,"playing",this.onMediaPlaying),hi(n,"seeked",this.onMediaSeeked)),this.videoBuffer=null,this.fragPlaying=null,super.onMediaDetaching(e,t),!t.transferMedia&&(this._hasEnoughToStart=!1)}onManifestLoading(){super.onManifestLoading(),this.log("Trigger BUFFER_RESET"),this.hls.trigger(y.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.fragLastKbps=0,this.fragPlaying=this.backtrackFragment=null,this.altAudio=0,this.audioOnly=!1}onManifestParsed(e,t){let n=!1,l=!1;for(let _=0;_<t.levels.length;_++){const x=t.levels[_].audioCodec;x&&(n=n||x.indexOf("mp4a.40.2")!==-1,l=l||x.indexOf("mp4a.40.5")!==-1)}this.audioCodecSwitch=n&&l&&!Fh(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){const{levels:n}=this;if(!n||this.state!==Kt.IDLE)return;const l=t.levelInfo;(!l.details||l.details.live&&(this.levelLastLoaded!==l||l.details.expired)||this.waitForCdnTuneIn(l.details))&&(this.state=Kt.WAITING_LEVEL)}onLevelLoaded(e,t){var n;const{levels:l,startFragRequested:_}=this,x=t.level,I=t.details,k=I.totalduration;if(!l){this.warn(`Levels were reset while loading level ${x}`);return}this.log(`Level ${x} loaded [${I.startSN},${I.endSN}]${I.lastPartSn?`[part-${I.lastPartSn}-${I.lastPartIndex}]`:""}, cc [${I.startCC}, ${I.endCC}] duration:${k}`);const N=t.levelInfo,j=this.fragCurrent;j&&(this.state===Kt.FRAG_LOADING||this.state===Kt.FRAG_LOADING_WAITING_RETRY)&&j.level!==t.level&&j.loader&&this.abortCurrentFrag();let Z=0;if(I.live||(n=N.details)!=null&&n.live){var Q;if(this.checkLiveUpdate(I),I.deltaUpdateFailed)return;Z=this.alignPlaylists(I,N.details,(Q=this.levelLastLoaded)==null?void 0:Q.details)}if(N.details=I,this.levelLastLoaded=N,_||this.setStartPosition(I,Z),this.hls.trigger(y.LEVEL_UPDATED,{details:I,level:x}),this.state===Kt.WAITING_LEVEL){if(this.waitForCdnTuneIn(I))return;this.state=Kt.IDLE}_&&I.live&&this.synchronizeToLiveEdge(I),this.tick()}synchronizeToLiveEdge(e){const{config:t,media:n}=this;if(!n)return;const l=this.hls.liveSyncPosition,_=this.getLoadPosition(),x=e.fragmentStart,I=e.edge,k=_>=x-t.maxFragLookUpTolerance&&_<=I;if(l!==null&&n.duration>l&&(_<l||!k)){const j=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;if((!k&&n.readyState<4||_<I-j)&&(this._hasEnoughToStart||(this.nextLoadPosition=l),n.readyState))if(this.warn(`Playback: ${_.toFixed(3)} is located too far from the end of live sliding playlist: ${I}, reset currentTime to : ${l.toFixed(3)}`),this.config.liveSyncMode==="buffered"){var N;const Z=Lr.bufferInfo(n,l,0);if(!((N=Z.buffered)!=null&&N.length)){n.currentTime=l;return}if(Z.start<=_){n.currentTime=l;return}const{nextStart:re}=Lr.bufferedInfo(Z.buffered,_,0);re&&(n.currentTime=re)}else n.currentTime=l}}_handleFragmentLoadProgress(e){var t;const n=e.frag,{part:l,payload:_}=e,{levels:x}=this;if(!x){this.warn(`Levels were reset while fragment load was in progress. Fragment ${n.sn} of level ${n.level} will not be buffered`);return}const I=x[n.level];if(!I){this.warn(`Level ${n.level} not found on progress`);return}const k=I.details;if(!k){this.warn(`Dropping fragment ${n.sn} of level ${n.level} after level details were reset`),this.fragmentTracker.removeFragment(n);return}const N=I.videoCodec,j=k.PTSKnown||!k.live,Z=(t=n.initSegment)==null?void 0:t.data,Q=this._getAudioCodec(I),re=this.transmuxer=this.transmuxer||new yo(this.hls,b.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),ne=l?l.index:-1,de=ne!==-1,fe=new Pn(n.level,n.sn,n.stats.chunkCount,_.byteLength,ne,de),Ae=this.initPTS[n.cc];re.push(_,Z,Q,N,n,l,k.totalduration,j,fe,Ae)}onAudioTrackSwitching(e,t){const n=this.hls,l=this.altAudio===2;if(yr(t.url,n))this.altAudio=1;else{if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;const x=this.fragCurrent;x&&(this.log("Switching to main audio track, cancel main fragment load"),x.abortRequests(),this.fragmentTracker.removeFragment(x)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();if(l){this.fragmentTracker.removeAllFragments(),n.once(y.BUFFER_FLUSHED,()=>{this.hls&&this.hls.trigger(y.AUDIO_TRACK_SWITCHED,t)}),n.trigger(y.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null});return}n.trigger(y.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){const n=yr(t.url,this.hls);if(n){const l=this.videoBuffer;l&&this.mediaBuffer!==l&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=l)}this.altAudio=n?2:0,this.tick()}onBufferCreated(e,t){const n=t.tracks;let l,_,x=!1;for(const I in n){const k=n[I];if(k.id==="main"){if(_=I,l=k,I==="video"){const N=n[I];N&&(this.videoBuffer=N.buffer)}}else x=!0}x&&l?(this.log(`Alternate track found, use ${_}.buffered to schedule main fragment loading`),this.mediaBuffer=l.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){const{frag:n,part:l}=t,_=n.type===b.MAIN;if(_){if(this.fragContextChanged(n)){this.warn(`Fragment ${n.sn}${l?" p: "+l.index:""} of level ${n.level} finished buffering, but was aborted. state: ${this.state}`),this.state===Kt.PARSED&&(this.state=Kt.IDLE);return}const I=l?l.stats:n.stats;this.fragLastKbps=Math.round(8*I.total/(I.buffering.end-I.loading.first)),q(n)&&(this.fragPrevious=n),this.fragBufferedComplete(n,l)}const x=this.media;x&&(!this._hasEnoughToStart&&Lr.getBuffered(x).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),_&&this.tick())}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,t){var n;if(t.fatal){this.state=Kt.ERROR;return}switch(t.details){case W.FRAG_GAP:case W.FRAG_PARSING_ERROR:case W.FRAG_DECRYPT_ERROR:case W.FRAG_LOAD_ERROR:case W.FRAG_LOAD_TIMEOUT:case W.KEY_LOAD_ERROR:case W.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(b.MAIN,t);break;case W.LEVEL_LOAD_ERROR:case W.LEVEL_LOAD_TIMEOUT:case W.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===Kt.WAITING_LEVEL&&((n=t.context)==null?void 0:n.type)===L.LEVEL&&(this.state=Kt.IDLE);break;case W.BUFFER_ADD_CODEC_ERROR:case W.BUFFER_APPEND_ERROR:if(t.parent!=="main")return;this.reduceLengthAndFlushBuffer(t)&&this.resetLoadingState();break;case W.BUFFER_FULL_ERROR:if(t.parent!=="main")return;this.reduceLengthAndFlushBuffer(t)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,Number.POSITIVE_INFINITY));break;case W.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onFragLoadEmergencyAborted(){this.state=Kt.IDLE,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==z.AUDIO||!this.altAudio){const n=(t===z.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;n&&(this.afterBufferFlushed(n,t,b.MAIN),this.tick())}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,this.level===-1&&this.resetWhenMissingContext(this.fragCurrent)),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){const{media:e}=this;if(!e)return;const t=e.currentTime;let n=this.startPosition;if(n>=0&&t<n){if(e.seeking){this.log(`could not seek to ${n}, already seeking at ${t}`);return}const l=this.timelineOffset;l&&n&&(n+=l);const _=this.getLevelDetails(),x=Lr.getBuffered(e),I=x.length?x.start(0):0,k=I-n,N=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);(this.config.startOnSegmentBoundary||k>0&&(k<N||this.loadingParts&&k<2*((_==null?void 0:_.partTarget)||0)))&&(this.log(`adjusting start position by ${k} to match buffer start`),n+=k,this.startPosition=n),t<n&&(this.log(`seek to target start position ${n} from current time ${t} buffer start ${I}`),e.currentTime=n)}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(n=>{const{hls:l}=this,_=n==null?void 0:n.frag;if(!_||this.fragContextChanged(_))return;t.fragmentError=0,this.state=Kt.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;const x=_.stats;x.parsing.start=x.parsing.end=x.buffering.start=x.buffering.end=self.performance.now(),l.trigger(y.FRAG_LOADED,n),_.bitrateTest=!1}).catch(n=>{this.state===Kt.STOPPED||this.state===Kt.ERROR||(this.warn(n),this.resetFragmentLoading(e))})}_handleTransmuxComplete(e){const t=this.playlistType,{hls:n}=this,{remuxResult:l,chunkMeta:_}=e,x=this.getCurrentContext(_);if(!x){this.resetWhenMissingContext(_);return}const{frag:I,part:k,level:N}=x,{video:j,text:Z,id3:Q,initSegment:re}=l,{details:ne}=N,de=this.altAudio?void 0:l.audio;if(this.fragContextChanged(I)){this.fragmentTracker.removeFragment(I);return}if(this.state=Kt.PARSING,re){const fe=re.tracks;if(fe){const ze=I.initSegment||I;if(this.unhandledEncryptionError(re,I))return;this._bufferInitSegment(N,fe,ze,_),n.trigger(y.FRAG_PARSING_INIT_SEGMENT,{frag:ze,id:t,tracks:fe})}const Ae=re.initPTS,we=re.timescale,Ie=this.initPTS[I.cc];if(ee(Ae)&&(!Ie||Ie.baseTime!==Ae||Ie.timescale!==we)){const ze=re.trackId;this.initPTS[I.cc]={baseTime:Ae,timescale:we,trackId:ze},n.trigger(y.INIT_PTS_FOUND,{frag:I,id:t,initPTS:Ae,timescale:we,trackId:ze})}}if(j&&ne){de&&j.type==="audiovideo"&&this.logMuxedErr(I);const fe=ne.fragments[I.sn-1-ne.startSN],Ae=I.sn===ne.startSN,we=!fe||I.cc>fe.cc;if(l.independent!==!1){const{startPTS:Ie,endPTS:ze,startDTS:Je,endDTS:wt}=j;if(k)k.elementaryStreams[j.type]={startPTS:Ie,endPTS:ze,startDTS:Je,endDTS:wt};else if(j.firstKeyFrame&&j.independent&&_.id===1&&!we&&(this.couldBacktrack=!0),j.dropped&&j.independent){const et=this.getMainFwdBufferInfo(),gt=(et?et.end:this.getLoadPosition())+this.config.maxBufferHole,pt=j.firstKeyFramePTS?j.firstKeyFramePTS:Ie;if(!Ae&&gt<pt-this.config.maxBufferHole&&!we){this.backtrack(I);return}else we&&(I.gap=!0);I.setElementaryStreamInfo(j.type,I.start,ze,I.start,wt,!0)}else Ae&&Ie-(ne.appliedTimelineOffset||0)>Ja&&(I.gap=!0);I.setElementaryStreamInfo(j.type,Ie,ze,Je,wt),this.backtrackFragment&&(this.backtrackFragment=I),this.bufferFragmentData(j,I,k,_,Ae||we)}else if(Ae||we)I.gap=!0;else{this.backtrack(I);return}}if(de){const{startPTS:fe,endPTS:Ae,startDTS:we,endDTS:Ie}=de;k&&(k.elementaryStreams[z.AUDIO]={startPTS:fe,endPTS:Ae,startDTS:we,endDTS:Ie}),I.setElementaryStreamInfo(z.AUDIO,fe,Ae,we,Ie),this.bufferFragmentData(de,I,k,_)}if(ne&&Q!=null&&Q.samples.length){const fe={id:t,frag:I,details:ne,samples:Q.samples};n.trigger(y.FRAG_PARSING_METADATA,fe)}if(ne&&Z){const fe={id:t,frag:I,details:ne,samples:Z.samples};n.trigger(y.FRAG_PARSING_USERDATA,fe)}}logMuxedErr(e){this.warn(`${q(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,t,n,l){if(this.state!==Kt.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&(delete t.audio,t.audiovideo&&this.logMuxedErr(n));const{audio:_,video:x,audiovideo:I}=t;if(_){const N=e.audioCodec;let j=Mt(_.codec,N);j==="mp4a"&&(j="mp4a.40.5");const Z=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){j&&(j.indexOf("mp4a.40.5")!==-1?j="mp4a.40.2":j="mp4a.40.5");const Q=_.metadata;Q&&"channelCount"in Q&&(Q.channelCount||1)!==1&&Z.indexOf("firefox")===-1&&(j="mp4a.40.5")}j&&j.indexOf("mp4a.40.5")!==-1&&Z.indexOf("android")!==-1&&_.container!=="audio/mpeg"&&(j="mp4a.40.2",this.log(`Android: force audio codec to ${j}`)),N&&N!==j&&this.log(`Swapping manifest audio codec "${N}" for "${j}"`),_.levelCodec=j,_.id=b.MAIN,this.log(`Init audio buffer, container:${_.container}, codecs[selected/level/parsed]=[${j||""}/${N||""}/${_.codec}]`),delete t.audiovideo}if(x){x.levelCodec=e.videoCodec,x.id=b.MAIN;const N=x.codec;if((N==null?void 0:N.length)===4)switch(N){case"hvc1":case"hev1":x.codec="hvc1.1.6.L120.90";break;case"av01":x.codec="av01.0.04M.08";break;case"avc1":x.codec="avc1.42e01e";break}this.log(`Init video buffer, container:${x.container}, codecs[level/parsed]=[${e.videoCodec||""}/${N}]${x.codec!==N?" parsed-corrected="+x.codec:""}${x.supplemental?" supplemental="+x.supplemental:""}`),delete t.audiovideo}I&&(this.log(`Init audiovideo buffer, container:${I.container}, codecs[level/parsed]=[${e.codecs}/${I.codec}]`),delete t.video,delete t.audio);const k=Object.keys(t);if(k.length){if(this.hls.trigger(y.BUFFER_CODECS,t),!this.hls)return;k.forEach(N=>{const Z=t[N].initSegment;Z!=null&&Z.byteLength&&this.hls.trigger(y.BUFFER_APPENDING,{type:N,data:Z,frag:n,part:null,chunkMeta:l,parent:n.type})})}this.tickImmediate()}getMainFwdBufferInfo(){const e=this.mediaBuffer&&this.altAudio===2?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,b.MAIN)}get maxBufferLength(){const{levels:e,level:t}=this,n=e==null?void 0:e[t];return n?this.getMaxBufferLength(n.maxBitrate):this.config.maxBufferLength}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=Kt.IDLE}checkFragmentChanged(){const e=this.media;let t=null;if(e&&e.readyState>1&&e.seeking===!1){const n=e.currentTime;if(Lr.isBuffered(e,n)?t=this.getAppendedFrag(n):Lr.isBuffered(e,n+.1)&&(t=this.getAppendedFrag(n+.1)),t){this.backtrackFragment=null;const l=this.fragPlaying,_=t.level;(!l||t.sn!==l.sn||l.level!==_)&&(this.fragPlaying=t,this.hls.trigger(y.FRAG_CHANGED,{frag:t}),(!l||l.level!==_)&&this.hls.trigger(y.LEVEL_SWITCHED,{level:_}))}}}get nextLevel(){const e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){var e;if(this.fragPlaying)return this.fragPlaying;const t=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;return ee(t)?this.getAppendedFrag(t):null}get currentProgramDateTime(){var e;const t=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;if(ee(t)){const n=this.getLevelDetails(),l=this.currentFrag||(n?Ar(null,n.fragments,t):null);if(l){const _=l.programDateTime;if(_!==null){const x=_+(t-l.start)*1e3;return new Date(x)}}}return null}get currentLevel(){const e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){const e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}}class Kh extends p{constructor(e,t){super("key-loader",t),this.config=void 0,this.keyIdToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(const n in this.keyIdToKeyInfo){const l=this.keyIdToKeyInfo[n].loader;if(l){var t;if(e&&e!==((t=l.context)==null?void 0:t.frag.type))return;l.abort()}}}detach(){for(const e in this.keyIdToKeyInfo){const t=this.keyIdToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyIdToKeyInfo[e]}}destroy(){this.detach();for(const e in this.keyIdToKeyInfo){const t=this.keyIdToKeyInfo[e].loader;t&&t.destroy()}this.keyIdToKeyInfo={}}createKeyLoadError(e,t=W.KEY_LOAD_ERROR,n,l,_){return new Rn({type:D.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:_,error:n,networkDetails:l})}loadClear(e,t,n){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length){if(t.length)for(let l=0,_=t.length;l<_;l++){const x=t[l];if(e.cc<=x.cc&&(!q(e)||!q(x)||e.sn<x.sn)||!n&&l==_-1)return this.emeController.selectKeySystemFormat(x).then(I=>{if(!this.emeController)return;x.setKeyFormat(I);const k=Qn(I);if(k)return this.emeController.getKeySystemAccess([k])})}if(this.config.requireKeySystemAccessOnStart){const l=Jn(this.config);if(l.length)return this.emeController.getKeySystemAccess(l)}}return null}load(e){return!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var n,l;t&&e.setKeyFormat(t);const _=e.decryptdata;if(!_){const N=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(this.createKeyLoadError(e,W.KEY_LOAD_ERROR,N))}const x=_.uri;if(!x)return Promise.reject(this.createKeyLoadError(e,W.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${x}"`)));const I=Ks(_);let k=this.keyIdToKeyInfo[I];if((n=k)!=null&&n.decryptdata.key)return _.key=k.decryptdata.key,Promise.resolve({frag:e,keyInfo:k});if(this.emeController&&(l=k)!=null&&l.keyLoadPromise)switch(this.emeController.getKeyStatus(k.decryptdata)){case"usable":case"usable-in-future":return k.keyLoadPromise.then(j=>{const{keyInfo:Z}=j;return _.key=Z.decryptdata.key,{frag:e,keyInfo:Z}})}switch(this.log(`${this.keyIdToKeyInfo[I]?"Rel":"L"}oading${_.keyId?" keyId: "+B(_.keyId):""} URI: ${_.uri} from ${e.type} ${e.level}`),k=this.keyIdToKeyInfo[I]={decryptdata:_,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},_.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return _.keyFormat==="identity"?this.loadKeyHTTP(k,e):this.loadKeyEME(k,e);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(k,e);default:return Promise.reject(this.createKeyLoadError(e,W.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${_.method}"`)))}}loadKeyEME(e,t){const n={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var l;if(!e.decryptdata.keyId&&(l=t.initSegment)!=null&&l.data){const x=Oe(t.initSegment.data);if(x.length){const I=x[0];I.some(k=>k!==0)&&(this.log(`Using keyId found in init segment ${B(I)}`),e.decryptdata.keyId=I,ci.setKeyIdForUri(e.decryptdata.uri,I))}}const _=this.emeController.loadKey(n);return(e.keyLoadPromise=_.then(x=>(e.mediaKeySessionContext=x,n))).catch(x=>{throw e.keyLoadPromise=null,"data"in x&&(x.data.frag=t),x})}return Promise.resolve(n)}loadKeyHTTP(e,t){const n=this.config,l=n.loader,_=new l(n);return t.keyLoader=e.loader=_,e.keyLoadPromise=new Promise((x,I)=>{const k={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},N=n.keyLoadPolicy.default,j={loadPolicy:N,timeout:N.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},Z={onSuccess:(Q,re,ne,de)=>{const{frag:fe,keyInfo:Ae}=ne,we=Ks(Ae.decryptdata);if(!fe.decryptdata||Ae!==this.keyIdToKeyInfo[we])return I(this.createKeyLoadError(fe,W.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),de));Ae.decryptdata.key=fe.decryptdata.key=new Uint8Array(Q.data),fe.keyLoader=null,Ae.loader=null,x({frag:fe,keyInfo:Ae})},onError:(Q,re,ne,de)=>{this.resetLoader(re),I(this.createKeyLoadError(t,W.KEY_LOAD_ERROR,new Error(`HTTP Error ${Q.code} loading key ${Q.text}`),ne,i({url:k.url,data:void 0},Q)))},onTimeout:(Q,re,ne)=>{this.resetLoader(re),I(this.createKeyLoadError(t,W.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),ne))},onAbort:(Q,re,ne)=>{this.resetLoader(re),I(this.createKeyLoadError(t,W.INTERNAL_ABORTED,new Error("key loading aborted"),ne))}};_.load(k,j,Z)})}resetLoader(e){const{frag:t,keyInfo:n,url:l}=e,_=n.loader;t.keyLoader===_&&(t.keyLoader=null,n.loader=null);const x=Ks(n.decryptdata)||l;delete this.keyIdToKeyInfo[x],_&&_.destroy()}}function Ks(A){if(A.keyFormat!==Hr.FAIRPLAY){const e=A.keyId;if(e)return B(e)}return A.uri}function pl(A){const{type:e}=A;switch(e){case L.AUDIO_TRACK:return b.AUDIO;case L.SUBTITLE_TRACK:return b.SUBTITLE;default:return b.MAIN}}function Gs(A,e){let t=A.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}class Gh{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){const{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(y.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){const{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(y.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){const t=this.hls.config,n=t.pLoader,l=t.loader,_=n||l,x=new _(t);return this.loaders[e.type]=x,x}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(const e in this.loaders){const t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){const{url:n}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:L.MANIFEST,url:n,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,t){const{id:n,level:l,pathwayId:_,url:x,deliveryDirectives:I,levelInfo:k}=t;this.load({id:n,level:l,pathwayId:_,responseType:"text",type:L.LEVEL,url:x,deliveryDirectives:I,levelOrTrack:k})}onAudioTrackLoading(e,t){const{id:n,groupId:l,url:_,deliveryDirectives:x,track:I}=t;this.load({id:n,groupId:l,level:null,responseType:"text",type:L.AUDIO_TRACK,url:_,deliveryDirectives:x,levelOrTrack:I})}onSubtitleTrackLoading(e,t){const{id:n,groupId:l,url:_,deliveryDirectives:x,track:I}=t;this.load({id:n,groupId:l,level:null,responseType:"text",type:L.SUBTITLE_TRACK,url:_,deliveryDirectives:x,levelOrTrack:I})}onLevelsUpdated(e,t){const n=this.loaders[L.LEVEL];if(n){const l=n.context;l&&!t.levels.some(_=>_===l.levelOrTrack)&&(n.abort(),delete this.loaders[L.LEVEL])}}load(e){var t;const n=this.hls.config;let l=this.getInternalLoader(e);if(l){const N=this.hls.logger,j=l.context;if(j&&j.levelOrTrack===e.levelOrTrack&&(j.url===e.url||j.deliveryDirectives&&!e.deliveryDirectives)){j.url===e.url?N.log(`[playlist-loader]: ignore ${e.url} ongoing request`):N.log(`[playlist-loader]: ignore ${e.url} in favor of ${j.url}`);return}N.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),l.abort()}let _;if(e.type===L.MANIFEST?_=n.manifestLoadPolicy.default:_=u({},n.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),l=this.createInternalLoader(e),ee((t=e.deliveryDirectives)==null?void 0:t.part)){let N;if(e.type===L.LEVEL&&e.level!==null?N=this.hls.levels[e.level].details:e.type===L.AUDIO_TRACK&&e.id!==null?N=this.hls.audioTracks[e.id].details:e.type===L.SUBTITLE_TRACK&&e.id!==null&&(N=this.hls.subtitleTracks[e.id].details),N){const j=N.partTarget,Z=N.targetduration;if(j&&Z){const Q=Math.max(j*3,Z*.8)*1e3;_=u({},_,{maxTimeToFirstByteMs:Math.min(Q,_.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(Q,_.maxTimeToFirstByteMs)})}}}const x=_.errorRetry||_.timeoutRetry||{},I={loadPolicy:_,timeout:_.maxLoadTimeMs,maxRetry:x.maxNumRetry||0,retryDelay:x.retryDelayMs||0,maxRetryDelay:x.maxRetryDelayMs||0},k={onSuccess:(N,j,Z,Q)=>{const re=this.getInternalLoader(Z);this.resetInternalLoader(Z.type);const ne=N.data;j.parsing.start=performance.now(),qn.isMediaPlaylist(ne)||Z.type!==L.MANIFEST?this.handleTrackOrLevelPlaylist(N,j,Z,Q||null,re):this.handleMasterPlaylist(N,j,Z,Q)},onError:(N,j,Z,Q)=>{this.handleNetworkError(j,Z,!1,N,Q)},onTimeout:(N,j,Z)=>{this.handleNetworkError(j,Z,!0,void 0,N)}};l.load(e,I,k)}checkAutostartLoad(){if(!this.hls)return;const{config:{autoStartLoad:e,startPosition:t},forceStartLoad:n}=this.hls;(e||n)&&(this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${t}`),this.hls.startLoad(t))}handleMasterPlaylist(e,t,n,l){const _=this.hls,x=e.data,I=Gs(e,n),k=qn.parseMasterPlaylist(x,I);if(k.playlistParsingError){t.parsing.end=performance.now(),this.handleManifestParsingError(e,n,k.playlistParsingError,l,t);return}const{contentSteering:N,levels:j,sessionData:Z,sessionKeys:Q,startTimeOffset:re,variableList:ne}=k;this.variableList=ne,j.forEach(we=>{const{unknownCodecs:Ie}=we;if(Ie){const{preferManagedMediaSource:ze}=this.hls.config;let{audioCodec:Je,videoCodec:wt}=we;for(let et=Ie.length;et--;){const gt=Ie[et];qt(gt,"audio",ze)?(we.audioCodec=Je=Je?`${Je},${gt}`:gt,vt.audio[Je.substring(0,4)]=2,Ie.splice(et,1)):qt(gt,"video",ze)&&(we.videoCodec=wt=wt?`${wt},${gt}`:gt,vt.video[wt.substring(0,4)]=2,Ie.splice(et,1))}}});const{AUDIO:de=[],SUBTITLES:fe,"CLOSED-CAPTIONS":Ae}=qn.parseMasterPlaylistMedia(x,I,k);de.length&&!de.some(Ie=>!Ie.url)&&j[0].audioCodec&&!j[0].attrs.AUDIO&&(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),de.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new an({}),bitrate:0,url:""})),_.trigger(y.MANIFEST_LOADED,{levels:j,audioTracks:de,subtitles:fe,captions:Ae,contentSteering:N,url:I,stats:t,networkDetails:l,sessionData:Z,sessionKeys:Q,startTimeOffset:re,variableList:ne})}handleTrackOrLevelPlaylist(e,t,n,l,_){const x=this.hls,{id:I,level:k,type:N}=n,j=Gs(e,n),Z=ee(k)?k:ee(I)?I:0,Q=pl(n),re=qn.parseLevelPlaylist(e.data,j,Z,Q,0,this.variableList);if(N===L.MANIFEST){const ne={attrs:new an({}),bitrate:0,details:re,name:"",url:j};re.requestScheduled=t.loading.start+Mn(re,0),x.trigger(y.MANIFEST_LOADED,{levels:[ne],audioTracks:[],url:j,stats:t,networkDetails:l,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),n.levelDetails=re,this.handlePlaylistLoaded(re,e,t,n,l,_)}handleManifestParsingError(e,t,n,l,_){this.hls.trigger(y.ERROR,{type:D.NETWORK_ERROR,details:W.MANIFEST_PARSING_ERROR,fatal:t.type===L.MANIFEST,url:e.url,err:n,error:n,reason:n.message,response:e,context:t,networkDetails:l,stats:_})}handleNetworkError(e,t,n=!1,l,_){let x=`A network ${n?"timeout":"error"+(l?" (status "+l.code+")":"")} occurred while loading ${e.type}`;e.type===L.LEVEL?x+=`: ${e.level} id: ${e.id}`:(e.type===L.AUDIO_TRACK||e.type===L.SUBTITLE_TRACK)&&(x+=` id: ${e.id} group-id: "${e.groupId}"`);const I=new Error(x);this.hls.logger.warn(`[playlist-loader]: ${x}`);let k=W.UNKNOWN,N=!1;const j=this.getInternalLoader(e);switch(e.type){case L.MANIFEST:k=n?W.MANIFEST_LOAD_TIMEOUT:W.MANIFEST_LOAD_ERROR,N=!0;break;case L.LEVEL:k=n?W.LEVEL_LOAD_TIMEOUT:W.LEVEL_LOAD_ERROR,N=!1;break;case L.AUDIO_TRACK:k=n?W.AUDIO_TRACK_LOAD_TIMEOUT:W.AUDIO_TRACK_LOAD_ERROR,N=!1;break;case L.SUBTITLE_TRACK:k=n?W.SUBTITLE_TRACK_LOAD_TIMEOUT:W.SUBTITLE_LOAD_ERROR,N=!1;break}j&&this.resetInternalLoader(e.type);const Z={type:D.NETWORK_ERROR,details:k,fatal:N,url:e.url,loader:j,context:e,error:I,networkDetails:t,stats:_};if(l){const Q=(t==null?void 0:t.url)||e.url;Z.response=i({url:Q,data:void 0},l)}this.hls.trigger(y.ERROR,Z)}handlePlaylistLoaded(e,t,n,l,_,x){const I=this.hls,{type:k,level:N,levelOrTrack:j,id:Z,groupId:Q,deliveryDirectives:re}=l,ne=Gs(t,l),de=pl(l);let fe=typeof l.level=="number"&&de===b.MAIN?N:void 0;const Ae=e.playlistParsingError;if(Ae){if(this.hls.logger.warn(`${Ae} ${e.url}`),!I.config.ignorePlaylistParsingErrors){I.trigger(y.ERROR,{type:D.NETWORK_ERROR,details:W.LEVEL_PARSING_ERROR,fatal:!1,url:ne,error:Ae,reason:Ae.message,response:t,context:l,level:fe,parent:de,networkDetails:_,stats:n});return}e.playlistParsingError=null}if(!e.fragments.length){const we=e.playlistParsingError=new Error("No Segments found in Playlist");I.trigger(y.ERROR,{type:D.NETWORK_ERROR,details:W.LEVEL_EMPTY_ERROR,fatal:!1,url:ne,error:we,reason:we.message,response:t,context:l,level:fe,parent:de,networkDetails:_,stats:n});return}switch(e.live&&x&&(x.getCacheAge&&(e.ageHeader=x.getCacheAge()||0),(!x.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),k){case L.MANIFEST:case L.LEVEL:if(fe){if(!j)fe=0;else if(j!==I.levels[fe]){const we=I.levels.indexOf(j);we>-1&&(fe=we)}}I.trigger(y.LEVEL_LOADED,{details:e,levelInfo:j||I.levels[0],level:fe||0,id:Z||0,stats:n,networkDetails:_,deliveryDirectives:re,withoutMultiVariant:k===L.MANIFEST});break;case L.AUDIO_TRACK:I.trigger(y.AUDIO_TRACK_LOADED,{details:e,track:j,id:Z||0,groupId:Q||"",stats:n,networkDetails:_,deliveryDirectives:re});break;case L.SUBTITLE_TRACK:I.trigger(y.SUBTITLE_TRACK_LOADED,{details:e,track:j,id:Z||0,groupId:Q||"",stats:n,networkDetails:_,deliveryDirectives:re});break}}}class ji{static get version(){return Ta}static isMSESupported(){return ml()}static isSupported(){return Uh()}static getMediaSource(){return w()}static get Events(){return y}static get MetadataSchema(){return di}static get ErrorTypes(){return D}static get ErrorDetails(){return W}static get DefaultConfig(){return ji.defaultConfig?ji.defaultConfig:Sh}static set DefaultConfig(e){ji.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new is,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;const t=this.logger=E(e.debug||!1,"Hls instance",e.assetPlayerId),n=this.config=Lh(ji.DefaultConfig,e,t);this.userConfig=e,n.progressive&&Rh(n,t);const{abrController:l,bufferController:_,capLevelController:x,errorController:I,fpsController:k}=n,N=new I(this),j=this.abrController=new l(this),Z=new rr(this),Q=n.interstitialsController,re=Q?this.interstitialsController=new Q(this,ji):null,ne=this.bufferController=new _(this,Z),de=this.capLevelController=new x(this),fe=new k(this),Ae=new Gh(this),we=n.contentSteeringController,Ie=we?new we(this):null,ze=this.levelController=new Bh(this,Ie),Je=new Oh(this),wt=new Kh(this.config,this.logger),et=this.streamController=new Wh(this,Z,wt),gt=this.gapController=new Ph(this,Z);de.setStreamController(et),fe.setStreamController(et);const pt=[Ae,ze,et];re&&pt.splice(1,0,re),Ie&&pt.splice(1,0,Ie),this.networkControllers=pt;const st=[j,ne,gt,de,fe,Je,Z];this.audioTrackController=this.createController(n.audioTrackController,pt);const Vt=n.audioStreamController;Vt&&pt.push(this.audioStreamController=new Vt(this,Z,wt)),this.subtitleTrackController=this.createController(n.subtitleTrackController,pt);const _r=n.subtitleStreamController;_r&&pt.push(this.subtititleStreamController=new _r(this,Z,wt)),this.createController(n.timelineController,st),wt.emeController=this.emeController=this.createController(n.emeController,st),this.cmcdController=this.createController(n.cmcdController,st),this.latencyController=this.createController(Nh,st),this.coreComponents=st,pt.push(N);const Sr=N.onErrorOut;typeof Sr=="function"&&this.on(y.ERROR,Sr,N),this.on(y.MANIFEST_LOADED,Ae.onManifestLoaded,Ae)}createController(e,t){if(e){const n=new e(this);return t&&t.push(n),n}return null}on(e,t,n=this){this._emitter.on(e,t,n)}once(e,t,n=this){this._emitter.once(e,t,n)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,n=this,l){this._emitter.off(e,t,n,l)}listeners(e){return this._emitter.listeners(e)}emit(e,t,n){return this._emitter.emit(e,t,n)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(n){if(this.logger.error("An internal error happened while handling event "+e+'. Error message: "'+n.message+'". Here is a stacktrace:',n),!this.triggeringException){this.triggeringException=!0;const l=e===y.ERROR;this.trigger(y.ERROR,{type:D.OTHER_ERROR,details:W.INTERNAL_EXCEPTION,fatal:l,event:e,error:n}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(y.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;const e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||"media"in e&&!e.media){const _=new Error(`attachMedia failed: invalid argument (${e})`);this.trigger(y.ERROR,{type:D.OTHER_ERROR,details:W.ATTACH_MEDIA_ERROR,fatal:!0,error:_});return}this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia());const t="media"in e,n=t?e.media:e,l=t?e:{media:n};this._media=n,this.trigger(y.MEDIA_ATTACHING,l)}detachMedia(){this.logger.log("detachMedia"),this.trigger(y.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;const e=this.bufferController.transferMedia();return this.trigger(y.MEDIA_DETACHING,{transferMedia:e}),e}loadSource(e){this.stopLoad();const t=this.media,n=this._url,l=this._url=C.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${l}`),t&&n&&(n!==l||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(y.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(e=-1,t){this.logger.log(`startLoad(${e+(t?", <skip seek to start>":"")})`),this.started=!0,this.resumeBuffering();for(let n=0;n<this.networkControllers.length&&(this.networkControllers[n].startLoad(e,t),!(!this.started||!this.networkControllers));n++);}stopLoad(){this.logger.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length&&(this.networkControllers[e].stopLoad(),!(this.started||!this.networkControllers));e++);}get loadingEnabled(){return this.started}get bufferingEnabled(){return this.streamController.bufferingEnabled}resumeBuffering(){this.bufferingEnabled||(this.logger.log("resume buffering"),this.networkControllers.forEach(e=>{e.resumeBuffering&&e.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()}))}get inFlightFragments(){const e={[b.MAIN]:this.streamController.inFlightFrag};return this.audioStreamController&&(e[b.AUDIO]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(e[b.SUBTITLE]=this.subtititleStreamController.inFlightFrag),e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");const e=this._media,t=e==null?void 0:e.currentTime;this.detachMedia(),e&&(this.attachMedia(e),t&&this.startLoad(t))}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;return e||(e=this._sessionId=Pc()),e}get levels(){const e=this.levelController.levels;return e||[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){this.logger.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){const e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){this.logger.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){const t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){const{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get abrEwmaDefaultEstimate(){const{bwEstimator:e}=this.abrController;return e?e.defaultEstimate:NaN}get ttfbEstimate(){const{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(this.logger.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){je(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){const{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;const n=e.length;for(let l=0;l<n;l++)if(e[l].maxBitrate>=t)return l;return 0}get maxAutoLevel(){const{levels:e,autoLevelCapping:t,maxHdcpLevel:n}=this;let l;if(t===-1&&e!=null&&e.length?l=e.length-1:l=t,n)for(let _=l;_--;){const x=e[_].attrs["HDCP-LEVEL"];if(x&&x<=n)return _}return l}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var t;return((t=this.audioTrackController)==null?void 0:t.setAudioOption(e))||null}setSubtitleOption(e){var t;return((t=this.subtitleTrackController)==null?void 0:t.setSubtitleOption(e))||null}get allAudioTracks(){const e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){const e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){const e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){const t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){const e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){const e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){const e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){const t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){const e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){const t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}set targetLatency(e){this.latencyController.targetLatency=e}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!!((e=this.bufferController)!=null&&e.bufferedToEnd)}get interstitialsManager(){var e;return((e=this.interstitialsController)==null?void 0:e.interstitialsManager)||null}getMediaDecodingInfo(e,t=this.allAudioTracks){const n=rt(t);return Ye(e,n,navigator.mediaCapabilities)}}ji.defaultConfig=void 0},16722:function(tr,qe,ae){"use strict";ae.d(qe,{Z:function(){return b}});const ee=s=>typeof s=="object"&&s!=null&&s.nodeType===1,te=(s,T)=>(!T||s!=="hidden")&&s!=="visible"&&s!=="clip",X=(s,T)=>{if(s.clientHeight<s.scrollHeight||s.clientWidth<s.scrollWidth){const c=getComputedStyle(s,null);return te(c.overflowY,T)||te(c.overflowX,T)||(u=>{const f=(i=>{if(!i.ownerDocument||!i.ownerDocument.defaultView)return null;try{return i.ownerDocument.defaultView.frameElement}catch(o){return null}})(u);return!!f&&(f.clientHeight<u.scrollHeight||f.clientWidth<u.scrollWidth)})(s)}return!1},D=(s,T,c,u,f,i,o,d)=>i<s&&o>T||i>s&&o<T?0:i<=s&&d<=c||o>=T&&d>=c?i-s-u:o>T&&d<c||i<s&&d>c?o-T+f:0,W=s=>{const T=s.parentElement;return T==null?s.getRootNode().host||null:T},y=(s,T)=>{var c,u,f,i;if(typeof document=="undefined")return[];const{scrollMode:o,block:d,inline:p,boundary:m,skipOverflowHiddenElements:h}=T,v=typeof m=="function"?m:se=>se!==m;if(!ee(s))throw new TypeError("Invalid target");const r=document.scrollingElement||document.documentElement,a=[];let g=s;for(;ee(g)&&v(g);){if(g=W(g),g===r){a.push(g);break}g!=null&&g===document.body&&X(g)&&!X(document.documentElement)||g!=null&&X(g,h)&&a.push(g)}const E=(u=(c=window.visualViewport)==null?void 0:c.width)!=null?u:innerWidth,S=(i=(f=window.visualViewport)==null?void 0:f.height)!=null?i:innerHeight,{scrollX:w,scrollY:R}=window,{height:O,width:G,top:B,right:P,bottom:F,left:K}=s.getBoundingClientRect(),{top:U,right:V,bottom:C,left:M}=(se=>{const ue=window.getComputedStyle(se);return{top:parseFloat(ue.scrollMarginTop)||0,right:parseFloat(ue.scrollMarginRight)||0,bottom:parseFloat(ue.scrollMarginBottom)||0,left:parseFloat(ue.scrollMarginLeft)||0}})(s);let z=d==="start"||d==="nearest"?B-U:d==="end"?F+C:B+O/2-U+C,$=p==="center"?K+G/2-M+V:p==="end"?P+V:K-M;const q=[];for(let se=0;se<a.length;se++){const ue=a[se],{height:pe,width:Ee,top:De,right:Fe,bottom:Ge,left:xe}=ue.getBoundingClientRect();if(o==="if-needed"&&B>=0&&K>=0&&F<=S&&P<=E&&(ue===r&&!X(ue)||B>=De&&F<=Ge&&K>=xe&&P<=Fe))return q;const Ke=getComputedStyle(ue),Ce=parseInt(Ke.borderLeftWidth,10),Se=parseInt(Ke.borderTopWidth,10),ge=parseInt(Ke.borderRightWidth,10),Re=parseInt(Ke.borderBottomWidth,10);let ve=0,Le=0;const Ue="offsetWidth"in ue?ue.offsetWidth-ue.clientWidth-Ce-ge:0,me="offsetHeight"in ue?ue.offsetHeight-ue.clientHeight-Se-Re:0,oe="offsetWidth"in ue?ue.offsetWidth===0?0:Ee/ue.offsetWidth:0,ie="offsetHeight"in ue?ue.offsetHeight===0?0:pe/ue.offsetHeight:0;if(r===ue)ve=d==="start"?z:d==="end"?z-S:d==="nearest"?D(R,R+S,S,Se,Re,R+z,R+z+O,O):z-S/2,Le=p==="start"?$:p==="center"?$-E/2:p==="end"?$-E:D(w,w+E,E,Ce,ge,w+$,w+$+G,G),ve=Math.max(0,ve+R),Le=Math.max(0,Le+w);else{ve=d==="start"?z-De-Se:d==="end"?z-Ge+Re+me:d==="nearest"?D(De,Ge,pe,Se,Re+me,z,z+O,O):z-(De+pe/2)+me/2,Le=p==="start"?$-xe-Ce:p==="center"?$-(xe+Ee/2)+Ue/2:p==="end"?$-Fe+ge+Ue:D(xe,Fe,Ee,Ce,ge+Ue,$,$+G,G);const{scrollLeft:he,scrollTop:ye}=ue;ve=ie===0?0:Math.max(0,Math.min(ye+ve/ie,ue.scrollHeight-pe/ie+me)),Le=oe===0?0:Math.max(0,Math.min(he+Le/oe,ue.scrollWidth-Ee/oe+Ue)),z+=ye-ve,$+=he-Le}q.push({el:ue,top:ve,left:Le})}return q},L=s=>s===!1?{block:"end",inline:"nearest"}:(T=>T===Object(T)&&Object.keys(T).length!==0)(s)?s:{block:"start",inline:"nearest"};function b(s,T){if(!s.isConnected||!(f=>{let i=f;for(;i&&i.parentNode;){if(i.parentNode===document)return!0;i=i.parentNode instanceof ShadowRoot?i.parentNode.host:i.parentNode}return!1})(s))return;const c=(f=>{const i=window.getComputedStyle(f);return{top:parseFloat(i.scrollMarginTop)||0,right:parseFloat(i.scrollMarginRight)||0,bottom:parseFloat(i.scrollMarginBottom)||0,left:parseFloat(i.scrollMarginLeft)||0}})(s);if((f=>typeof f=="object"&&typeof f.behavior=="function")(T))return T.behavior(y(s,T));const u=typeof T=="boolean"||T==null?void 0:T.behavior;for(const{el:f,top:i,left:o}of y(s,L(T))){const d=i-c.top+c.bottom,p=o-c.left+c.right;f.scroll({top:d,left:p,behavior:u})}}}}]);
}());