function historyFuc(e,t){let s=document.querySelector("#scrBar"),i=(e+window.innerHeight)/t.DOM.scrollable.scrollWidth;s.style.setProperty("--go",i),$("#tree").find("li").each(function(e){e/($("#tree").find("li").length-1)*.95{var n=i.getBoundingClientRect(),a=n.x-window.innerWidth/2;if(a<0){var o=Math.abs(a)/n.width>1?1:Math.abs(a)/n.width;o>.4&&o<.6&&t.text("0"+(r+1)),i.style.setProperty("--rt",o)}r===s.length-1&&isAd&&(isAd=!1,e.css("width",s.length*n.width+"px"))})}const MathUtils={map:(e,t,s,i,r)=>(e-t)*(r-i)/(s-t)+i,lerp:(e,t,s)=>(1-s)*e+s*t},clamp=(e,t)=>s=>st?t:s,vertex_img="uniform float time;\nuniform float progress;\nuniform vec4 resolution;\nvarying vec2 vUv;\nuniform sampler2D texture1;\n\nconst float pi = 3.1415925;\n\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0 );\n}\n",fragment_img="uniform float time;\nuniform float progress;\nuniform sampler2D texture1;\nuniform vec4 resolution;\nvarying vec2 vUv;\n\n\nvoid main(){\nvec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n// newUV.x += 0.02*sin(newUV.y*20. + time);\ngl_FragColor = texture2D(texture1,newUV);\n}",postFragemt="uniform float time;\nuniform float progress;\nuniform sampler2D tDiffuse;\nuniform vec2 resolution;\nvarying vec2 vUv;\nuniform vec2 uMouse;\nuniform float uVelo;\nuniform int uType;\n\n\n\tfloat circle(vec2 uv, vec2 disc_center, float disc_radius, float border_size) {\n\t\tuv -= disc_center;\n\t\tuv*=resolution;\n\t\tfloat dist = sqrt(dot(uv, uv));\n\t\treturn smoothstep(disc_radius+border_size, disc_radius-border_size, dist);\n\t}\n\n\tfloat map(float value, float min1, float max1, float min2, float max2) {\n\t\treturn min2 + (value - min1) * (max2 - min2) / (max1 - min1);\n\t}\n\n\tfloat remap(float value, float inMin, float inMax, float outMin, float outMax) {\n\t\treturn outMin + (outMax - outMin) * (value - inMin) / (inMax - inMin);\n\t}\n\n\tfloat hash12(vec2 p) {\n\t\tfloat h = dot(p,vec2(127.1,311.7));\t\n\t\treturn fract(sin(h)*43758.5453123);\n\t}\n\n\t// #define HASHSCALE3 vec3(.1031, .1030, .0973)\n\tvec2 hash2d(vec2 p)\n\t{\n\t\tvec3 p3 = fract(vec3(p.xyx) * vec3(.1031, .1030, .0973));\n\t p3 += dot(p3, p3.yzx+19.19);\n\t return fract((p3.xx+p3.yz)*p3.zy);\n\t}\nvoid main()\t{\n\tvec2 newUV = vUv;\n\tvec4 color = vec4(1.,0.,0.,1.);\n\t\n\t// colorful\n\tif(uType==0){\n\t\tfloat c = circle(newUV, uMouse, 0.0, 0.2);\n\t\tfloat r = texture2D(tDiffuse, newUV.xy += c * (uVelo * .5)).x;\n\t\tfloat g = texture2D(tDiffuse, newUV.xy += c * (uVelo * .525)).y;\n\t\tfloat b = texture2D(tDiffuse, newUV.xy += c * (uVelo * .55)).z;\n\t\tcolor = vec4(r, g, b, 1.);\n\t}\n\t// zoom\n\tif(uType==1){\n\t\tfloat c = circle(newUV, uMouse, 0.0, 0.1+uVelo*2.)*70.*uVelo;\n\t\tvec2 offsetVector = normalize(uMouse - vUv);\n\t\tvec2 warpedUV = mix(vUv, uMouse, c * 0.29); //power\n\t\tcolor = texture2D(tDiffuse,warpedUV) + texture2D(tDiffuse,warpedUV)*vec4(vec3(c),1.);\n\t}\n\t// zoom\n\tif(uType==2){\n\t\tfloat hash = hash12(vUv*10.);\n\t\t// float c = -circle(newUV, uMouse, 0.0, 0.1+uVelo*2.)*20.*uVelo;\n\t\t// vec2 offsetVector = -normalize(uMouse - vUv);\n\t\t// vec2 warpedUV = mix(vUv, uMouse, c * 0.6); //power\n\t\t// vec2 warpedUV1 = mix(vUv, uMouse, c * 0.3); //power\n\t\t// vec2 warpedUV2 = mix(vUv, uMouse, c * 0.1); //power\n\t\t// color = vec4(\n\t\t// \ttexture2D(tDiffuse,warpedUV ).r,\n\t\t// \ttexture2D(tDiffuse,warpedUV1 ).g,\n\t\t// \ttexture2D(tDiffuse,warpedUV2 ).b,\n\t\t// \t1.);\n\t\t// color = vec4(,0.,0.,1.);\n\t\tfloat c = circle(newUV, uMouse, 0.0, 0.1+uVelo*0.01)*10.*uVelo;\n\t\tvec2 offsetVector = normalize(uMouse - vUv);\n\t\t// vec2 warpedUV = mix(vUv, uMouse, 20.*hash*c); //power\n\t\tvec2 warpedUV = vUv + vec2(hash - 0.5)*c; //power\n\t\tcolor = texture2D(tDiffuse,warpedUV) + texture2D(tDiffuse,warpedUV)*vec4(vec3(c),1.);\n\t}\n\tgl_FragColor = color;\n}";class Zhcool{constructor(e=null){if(this.body=document.body,this.version=this.getVersion(),this.shu=window.matchMedia("(orientation: portrait)").matches,this.support={animations:Modernizr.cssanimations},this.animEndEventNames={WebkitAnimation:"webkitAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd",animation:"animationend"},this.animEndEventName=this.animEndEventNames[Modernizr.prefixed("animation")],this.onEndAnimation=function(e,t){var s=this,i=function(e){if(s.support.animations){if(e.target!=this)return;this.removeEventListener(s.animEndEventName,i)}t&&"function"==typeof t&&t.call()};s.support.animations?e.addEventListener(s.animEndEventName,i):i()},this.IMAGES=null,window.addEventListener("resize",this.calcWinsize.bind(this)),this.calcWinsize(),this.docScroll=window.pageYOffset||document.documentElement.scrollTop,this.cache=0,this.distance=0,this.IsPc(),"bannerSlider"===e)this.storage();else if("SmoothScroll"===e){var t=window.location.hash.split("#")[1];if(t){var s=this.getTop(document.querySelector("."+t));console.log(s),$("html, body").animate({scrollTop:s},600)}}}createScrollEvent(){window.addEventListener("scroll",this.getPageYScroll.bind(this))}calcWinsize(){this.winsize={width:window.innerWidth,height:window.innerHeight}}getPageYScroll(){this.docScroll=window.pageYOffset||document.documentElement.scrollTop,this.distance=this.docScroll-this.cache,this.cache=this.docScroll,this.scrollChildFn()}scrollChildFn(){}getVersion(){var e=window.navigator.userAgent;return e.indexOf("MSIE")>=0||e.indexOf("Trident")>0?e.indexOf("MSIE 5")>0||e.indexOf("MSIE 6")>0||e.indexOf("MSIE 7")>0||e.indexOf("MSIE 8")>0?"LowerIEVersion":"EdgeOrTrident":e.indexOf("Maxthon")>=0?"Maxthon":e.indexOf("Firefox")>=0?"FireFox":e.indexOf("Chrome")>=0?"Chrome":e.indexOf("Opera")>=0?"Opera":e.indexOf("Safari")>=0?"Safari":void 0}IsPc(){var e=this,t=navigator.userAgent,s=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");e.isPc=!0;for(var i=0;i0){e.isPc=!1;break}if(navigator.maxTouchPoints>0){e.isPc=!1;break}}return e.isAndroid=t.indexOf("Android")>-1||t.indexOf("Adr")>-1,e.isiOS=!!t.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),e.isPc}extend(){for(var e={},t=0,s=arguments.length,i=function(t){for(var s in t)t.hasOwnProperty(s)&&(e[s]=t[s])};t=s?(e.apply(n,a),i=o):r=setTimeout(function(){e.apply(n,a)},t)}}on_(e){e.addClass("on").siblings().removeClass("on")}storage(){var e=JSON.parse(sessionStorage.getItem("key")),t={call:null};null==e?(t.call=1,sessionStorage.setItem("key",JSON.stringify(t))):(t.call=e.call+1,sessionStorage.setItem("key",JSON.stringify(t)))}}class UpdateTarget{constructor(e){this.el=e.item,this.parent=e.parent,this.first=!0,this.rect=this.el.getBoundingClientRect(),this.top=this.getTop(this.el,this.parent.DOM.direction),1===this.parent.DOM.direction&&(this.parent.winsize.height=this.parent.winsize.width),this.isVisible=this.parent.docScroll+this.parent.winsize.height>this.top,this.abs=this.el.getAttribute("data-abs"),this.renderedStyles={y:{current:0,previous:0,speed:parseFloat(this.el.getAttribute("data-y")||0),ease:this.parent.settings.targetSpeed},x:{current:0,previous:0,speed:parseFloat(this.el.getAttribute("data-x")||0),ease:this.parent.settings.targetSpeed},z:{current:0,previous:0,speed:parseFloat(this.el.getAttribute("data-z")||0),ease:this.parent.settings.targetSpeed},s:{previous:1,current:1,ease:this.parent.settings.targetSpeed,maxValue:parseFloat(this.el.getAttribute("data-s")||1),setValue:()=>{const e=this.renderedStyles.s.maxValue;return Math.max(Math.min(MathUtils.map(this.top-this.parent.docScroll,this.parent.winsize.height,-1*this.rect.height,1,e),e),1)},setMap:()=>{const e=this.renderedStyles.s.maxValue;return MathUtils.map(Math.abs(this.parent.distance),0,400,1,e)}},rx:{current:0,previous:0,speed:parseFloat(this.el.getAttribute("data-rx")||0),ease:this.parent.settings.targetSpeed},ry:{current:0,previous:0,speed:parseFloat(this.el.getAttribute("data-ry")||0),ease:this.parent.settings.targetSpeed},rz:{current:0,previous:0,speed:parseFloat(this.el.getAttribute("data-rz")||0),ease:this.parent.settings.targetSpeed},size:{previous:1,current:1,ease:this.parent.settings.targetSpeed,maxValue:parseFloat(this.el.getAttribute("data-size")||1),setValue:()=>{const e=this.renderedStyles.size.maxValue;return Math.max(Math.min(MathUtils.map(this.top-this.parent.docScroll,this.parent.winsize.height/2,-1*this.rect.height,1,e),e),1)}}};this.observer=new IntersectionObserver(e=>{e.forEach(e=>{this.isVisible=e.intersectionRatio>0})},{root:null,rootMargin:"0px 0px 0px 0px",threshold:[0,.1,.3,.4,.5,.6,.7,.8,.9,1]}),0===this.parent.DOM.direction&&this.observer.observe(this.el.parentNode)}getVisible(){if(0===this.parent.DOM.direction)return!1;this.isVisible=this.parent.docScroll+this.parent.winsize.height-this.top>0&&this.parent.docScroll-this.top<0}update(){for(const e in this.renderedStyles)"s"===e&&0!==this.renderedStyles[e].speed?(this.renderedStyles[e].current=this.renderedStyles[e].setMap(),this.renderedStyles[e].previous=MathUtils.lerp(this.renderedStyles[e].previous,this.renderedStyles[e].current,this.renderedStyles[e].ease)):"size"===e&&0!==this.renderedStyles[e].speed?(this.renderedStyles[e].current=this.renderedStyles[e].setValue(),this.renderedStyles[e].previous=MathUtils.lerp(this.renderedStyles[e].previous,this.renderedStyles[e].current,this.renderedStyles[e].ease)):0!==this.renderedStyles[e].speed&&(this.renderedStyles[e].current=(this.parent.docScroll-this.top+(this.parent.winsize.height-this.rect.height)/2)*Number(this.parent.settings.targetPercentage)*Number(this.renderedStyles[e].speed),this.first?(this.renderedStyles[e].previous=this.renderedStyles[e].current,this.first=!1):(this.renderedStyles[e].previous=MathUtils.lerp(this.renderedStyles[e].previous,this.renderedStyles[e].current,this.renderedStyles[e].ease),this.abs&&(this.renderedStyles[e].previous=this.renderedStyles[e].previous>0?this.renderedStyles[e].previous:0)));this.layout()}layout(){1!==this.renderedStyles.size.maxValue&&(this.el.style.fontSize=`${2-this.renderedStyles.size.previous}rem`),this.el.style.transform=`perspective(1200px) translate3D(${this.renderedStyles.x.previous}px,${this.renderedStyles.y.previous}px,${this.renderedStyles.z.previous}px) scaleY(${Math.abs(this.renderedStyles.s.previous)})`}getTop(e,t=0){if(0===t){for(var s;void 0===e.offsetTop;)e=e.parentNode;for(s=e.offsetTop;e=e.offsetParent;)s+=e.offsetTop;return s}for(var i;void 0===e.offsetLeft;)e=e.parentNode;for(i=e.offsetLeft;e=e.offsetParent;)i+=e.offsetLeft;return i}resize(){this.rect=this.el.getBoundingClientRect(),this.top=this.getTop(this.el,this.parent.DOM.direction)}}class SmoothScroll extends Zhcool{constructor(e){super(name="SmoothScroll"),this.shouldRender=!1,this.opt=e,this.Targets=[],this.items=[],this.timer=null,this.isPlaying=!0,this.createScrollEvent(),this.renderedStyles={translationY:{previous:0,current:0,ease:.1,setValue:()=>this.docScroll}}}init(e){this.settings=Object.assign({wrapper:"#scrolly",targets:".scr-el",targets_app:".scr-app",wrapperSpeed:.08,targetSpeed:.1,targetPercentage:.1,callback:function(){}},e||{}),this.DOM={main:document.querySelector(this.settings.wrapper)},this.DOM.scrollable=this.DOM.main.querySelector("div[data-scroll]"),this.DOM.direction=parseInt(this.DOM.scrollable.dataset.direction)||0,this.targets=[],this.shu?(document.querySelectorAll(this.settings.targets_app).forEach(e=>this.targets.push(new UpdateTarget({item:e,parent:this}))),this.scrollChildFn()):(document.querySelectorAll(this.settings.targets).forEach(e=>this.targets.push(new UpdateTarget({item:e,parent:this}))),this.setSize(),this.style(),this.update(),this.render())}update(){let e=this;for(const e in this.renderedStyles)this.renderedStyles[e].current=this.renderedStyles[e].previous=this.renderedStyles[e].setValue();this.DOM.scrollable.style.transform=`translate3d(0,${-1*this.renderedStyles.translationY.previous}px,0)`;for(const t of e.targets)t.getVisible(),t.isVisible&&t.update();this.setPosition(),this.shouldRender=!0}setPosition(){if(Math.round(this.renderedStyles.translationY.previous)!==Math.round(this.renderedStyles.translationY.current)){1===this.DOM.direction?this.DOM.scrollable.style.transform=`translate3d(${-1*this.renderedStyles.translationY.previous}px,0,0)`:this.DOM.scrollable.style.transform=`translate3d(0,${-1*this.renderedStyles.translationY.previous}px,0)`,this.shouldRender=!0,this.distance=Math.round(this.renderedStyles.translationY.previous)-Math.round(this.renderedStyles.translationY.current),this.settings.callback(this.renderedStyles.translationY.previous);for(const e of this.targets)e.getVisible(),e.isVisible&&e.update();if(void 0===this.stop){for(const e of this.items)(e.isVisible||e.isBeingAnimatedNow)&&e.render(this.renderedStyles.translationY.previous);this.warp&&(this.warp.style.transform=`translate3d(0,${1*this.renderedStyles.translationY.previous}px,0)`)}}if(!this.warp)return!1;scene.targetSpeed>.01&&(this.shouldRender=!0),this.shouldRender&&(this.shouldRender=!1,scene.render(0))}setSize(){1===this.DOM.direction?this.body.style.height=this.DOM.scrollable.scrollWidth+"px":this.body.style.height=this.DOM.scrollable.scrollHeight+"px"}style(){this.DOM.main.style.position="fixed",this.DOM.main.style.width=this.DOM.main.style.height="100%",this.DOM.main.style.top=this.DOM.main.style.left=0,this.DOM.main.style.overflow="hidden"}render(){if(this.isPlaying){for(const e in this.renderedStyles)this.renderedStyles[e].current=this.renderedStyles[e].setValue(),this.renderedStyles[e].previous=MathUtils.lerp(this.renderedStyles[e].previous,this.renderedStyles[e].current,this.renderedStyles[e].ease);this.setPosition()}this.timer=requestAnimationFrame(this.render.bind(this))}scrollChildFn(){this.settings.callback(this.docScroll);for(const e of this.targets)e.getVisible(),e.isVisible&&e.update()}stopAni(){this.isPlaying=!1,this.body.style.overflowY="hidden"}start(){this.isPlaying=!0,this.body.style.overflowY=""}createItems(){this.opt.imgArr.forEach(e=>{e.classList.contains("js-image")&&this.items.push(new Item(e,this))})}listenMouse(){document.addEventListener("mousemove",()=>{this.shouldRender=!0})}resize(){this.calcWinsize(),this.setSize(),this.update(),this.targets.forEach(e=>{e.resize()})}}class scrollTarget{constructor(e){this.el=e.elem,this.parent=e.parent,this.toTop=e.top,this.active=!1,this.isVisible=!1,this.effect=this.el.getAttribute("data-effect")||"fadeInUp",this.Tclass=this.el.getAttribute("data-Tclass")||"go",this.init()}init(){let e=this.el;if(this.isVisible=this.parent.docScroll+this.parent.winsize.height>this.toTop,e.classList.contains("father")){var t=e.querySelectorAll(e.getAttribute("data-child")),s=parseFloat(e.getAttribute("data-delay"));[].slice.call(t).forEach(function(e,t){e.classList.add("animated"),e.getAttribute("data-delay")?e.style.animationDelay=e.getAttribute("data-delay")+"s":e.style.animationDelay=s*t+"s"})}else e.classList.contains("font-fadeIn")?this.fontEffect():this.el.classList.contains("classGo")||e.classList.add("animated");this.isVisible&&this.scrollShow()}scroll_(){this.isVisible=this.parent.docScroll+this.parent.winsize.height>this.toTop}scrollShow(){let e=this;if(this.active)return!1;if(this.el.classList.contains("father")){var t=this.el.querySelectorAll(this.el.getAttribute("data-child"));[].slice.call(t).forEach(function(t){TweenMax.set(t,{autoAlpha:1}),t.getAttribute("data-effect")?t.classList.add(t.getAttribute("data-effect")):t.classList.add(e.effect)})}else this.el.classList.contains("font-fadeIn")?this.show(e.effect):this.el.classList.contains("classGo")?(TweenMax.set(e.el,{autoAlpha:1}),e.el.classList.add(e.Tclass)):(TweenMax.set(this.el,{autoAlpha:1}),e.el.classList.add(e.effect),e.el.style.animationDelay=e.el.getAttribute("data-delay")+"s");this.active=!this.active}scrollHide(){let e=this;if(!this.active)return!1;if(this.el.classList.contains("father")){var t=this.el.querySelectorAll(this.el.getAttribute("data-child"));[].slice.call(t).forEach(function(t){t.getAttribute("data-effect")?t.classList.remove(t.getAttribute("data-effect")):t.classList.remove(e.effect),TweenMax.to(t,.5,{autoAlpha:0})})}else this.el.classList.contains("font-fadeIn")?this.stop():this.el.classList.contains("classGo")?TweenMax.to(this.el,.5,{autoAlpha:0,onComplete:function(){e.el.classList.remove(e.Tclass)}}):TweenMax.to(this.el,.5,{autoAlpha:0,onComplete:function(){e.el.classList.remove(e.effect)}});this.active=!this.active}fontEffect(){this.colNum=1,this.el.classList.add("letter-effect"),this.charming(this.el,"letter"),this.letters=[].slice.call(this.el.querySelectorAll("span")),this.lettersTotal=this.letters.length,this.effects={fx1:{in:{duration:700,delay:function(e,t){return 100+50*t},easing:"easeOutCirc",opacity:[0,1],translateX:function(e,t){return[20+10*t,0]}},out:{duration:700,delay:function(e,t){return 50*t},easing:"easeOutCirc",opacity:[0,1],direction:"reverse",translateX:function(e,t){return[20+10*t,0]}}},fx2:{in:{duration:600,delay:function(e,t){return 30*t},easing:"cubicBezier(0.38, 0, 0, 1)",opacity:[0,1],translateY:function(e,t){return["100%","0%"]}},out:{duration:700,delay:function(e,t){return 50*t},easing:"easeOutCirc",opacity:[0,1],direction:"reverse",translateX:function(e,t){return[20+10*t,0]}}}},this.tx=new TimelineMax}charming(e,t){var s=this,i=e.getAttribute("data-text").split("");e.innerHTML="";var r=document.createDocumentFragment();i.forEach(function(e,i){var n=document.createElement("span"),a="wordLine"+s.colNum;"/"===e?(n=document.createElement("br"),s.colNum++,s.shell.push(i)):(n.classList.add(t),n.classList.add(a),n.innerText=e),r.appendChild(n)}),e.appendChild(r)}stop(){anime.remove(this.letters),this.letters.forEach(function(e){e.style.WebkitTransform=e.style.transform=""})}hide(e,t){this.stop(),this._animate("out",e,t)}show(e,t){this.stop(),this._animate("in",e,t)}_animate(e,t,s){var i="string"==typeof t?this.effects[t]:t;void 0!==i.perspective&&(this.el.style.WebkitPerspective=this.el.style.perspective=i.perspective+"px"),void 0!==i.origin&&this.letters.forEach(function(e){e.style.WebkitTransformOrigin=e.style.transformOrigin=i.origin});var r=i[e];for(let e=1;e<=this.colNum;e++){var n=[].slice.call(this.el.querySelectorAll(".wordLine"+e));n.forEach(function(e,t){" "===e.innerHTML&&n.splice(t,1)}),r.targets=n,r.complete=s,anime(r)}}}class ScrollAni extends Zhcool{constructor(e){super(name="ScrollAni");this.opt=Object.assign({className:".scroll-animate",animateClass:"animated"},e),this.elem=document.querySelectorAll(this.opt.className),this.position=[],this.targets=[],this.rang={setValue:()=>this.docScroll},this.createScrollEvent(),this.init()}init(){this.getPosition()}getPosition(){let e=this;[].slice.call(e.elem).forEach(function(t){let s=t.getAttribute("data-offT")||"0";e.targets.push(new scrollTarget({elem:t,parent:e,top:e.getTop(t,s)}))})}scrollChildFn(e){for(const e of this.targets)e.scroll_(),e.isVisible?e.scrollShow():e.scrollHide()}resize(){this.getPosition()}}class imgTarget{constructor(e){this.DOM={el:e.el},this.DOM.imgWrap=this.DOM.el.querySelector(e.opt.wrap),this.DOM.img=this.DOM.imgWrap.querySelector(e.opt.imgEl),this.DOM.inner=this.DOM.imgWrap.querySelector(e.opt.innerImg),this.mouseTime=null,this.createEventsListeners()}createEventsListeners(){this.mouseenterFn=(()=>{clearTimeout(this.mouseTime)}),this.mousemoveFn=(e=>{this.animate(e)}),this.mouseleaveFn=(e=>{clearTimeout(this.mousetime),this.DOM.inner&&TweenMax.to(this.DOM.inner,1.5,{ease:"Power4.easeOut",x:0,y:0})}),this.DOM.imgWrap.addEventListener("mouseenter",this.mouseenterFn),this.DOM.imgWrap.addEventListener("mousemove",this.mousemoveFn),this.DOM.imgWrap.addEventListener("mouseleave",this.mouseleaveFn)}getMousePos(e){let t=0,s=0;return e||(e=window.event),e.pageX||e.pageY?(t=e.pageX,s=e.pageY):(e.clientX||e.clientY)&&(t=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,s=e.clientY+document.body.scrollTop+document.documentElement.scrollTop),{x:t,y:s}}animate(e){const t=this.getMousePos(e),s=this.DOM.imgWrap.getBoundingClientRect(),i={x:t.x-s.left,y:t.y-this.getTop(this.DOM.imgWrap)};let r={x:[-20,20],y:[-20,20]},n={x:[-15,15],y:[-15,15]};const a={translation:{x:(r.x[1]-r.x[0])/s.width*i.x+r.x[0],y:(r.y[1]-r.y[0])/s.height*i.y+r.y[0]},rotation:{x:(n.x[1]-n.x[0])/s.height*i.y+n.x[0],y:(n.y[1]-n.y[0])/s.width*i.x+n.y[0]}};this.DOM.inner&&TweenMax.to(this.DOM.inner,.7,{ease:"Power1.easeOut",x:a.translation.x,y:a.translation.y})}getTop(e,t){for(var s,t=t||0;void 0===e.offsetTop;)e=e.parentNode;for(s=e.offsetTop+t;e=e.offsetParent;)s+=e.offsetTop;return s}}class upImage{constructor(e){if(this.setting={container:".imgBox",wrap:".imgWrap",imgEl:".pic",innerImg:".img"},this.opt=Object.assign(this.setting,e),this.Dom=document.querySelectorAll(this.opt.container),0===this.Dom.length)return!1;this.Dom.forEach(e=>{new imgTarget({el:e,opt:this.opt})})}}class mouseFree{constructor(e){this.setting={container:".cursor--group",elemIn:".cursor--inner",elemOut:".cursor--outer",elemInSpeed:.2,elemOutSpeed:.3,elemHover:".cursorHover",elemNone:".cursorNone"},this.opt=Object.assign(this.setting,e),this.cursor_=document.querySelector(this.opt.container),this.outerCursor=document.querySelector(this.opt.elemOut),this.innerCursor=document.querySelector(this.opt.elemIn),this.outerCursorBox=this.outerCursor.getBoundingClientRect(),this.outerCursorSpeed=0,this.clientX=-100,this.clientY=-100,this.first=!0,this.isFix=!1,this.viewport={width:window.innerWidth,height:window.innerHeight},this.mouse={x:0,y:0},this.cach={cur:0,prev:0,ease:.1,setValue:()=>this.mouse.x+this.mouse.y},this.mouseTogather={banner:document.getElementById("banner"),bannerIn:document.getElementById("bannerLight"),r1:document.getElementById("r1"),r1In:document.getElementById("r1Light"),r4:document.getElementById("r4"),r4In:document.getElementById("r4Light")},this.isActive={light:!1,r1light:!1,r4light:!1},this.unveilCursor=(e=>{this.first&&(TweenMax.to(this.cursor_,.5,{alpha:1}),this.first=!1),this.mouse.y=-e.clientY/this.viewport.height*2+1,this.mouse.x=e.clientX/this.viewport.width*2-1,this.isFix||TweenMax.to(this.outerCursor,this.opt.elemOutSpeed,{x:e.clientX-this.outerCursorBox.width/2,y:e.clientY-this.outerCursorBox.height/2}),this.isActive.light&&TweenMax.to(this.mouseTogather.bannerIn,this.opt.elemOutSpeed,{rotation:5*(this.mouse.y+this.mouse.x)}),this.isActive.r1light&&(TweenMax.to(this.mouseTogather.r1In,this.opt.elemOutSpeed,{rotation:2*(this.mouse.y+this.mouse.x)}),TweenMax.to(this.mouseTogather.r1In.querySelectorAll(".img"),this.opt.elemOutSpeed,{rotation:2*-(this.mouse.y+this.mouse.x)})),this.isActive.r4light&&TweenMax.to(this.mouseTogather.r4In,this.opt.elemOutSpeed,{rotation:3*(this.mouse.y+this.mouse.x)})}),document.addEventListener("mousemove",this.unveilCursor.bind(this)),this.mouseTogather.bannerIn&&(this.mouseTogather.banner.addEventListener("mouseover",()=>{this.isActive.light=!0}),this.mouseTogather.banner.addEventListener("mouseout",()=>{this.isActive.light=!1})),this.mouseTogather.r1&&(this.mouseTogather.r1.addEventListener("mouseover",()=>{this.isActive.r1light=!0}),this.mouseTogather.r1.addEventListener("mouseout",()=>{this.isActive.r1light=!1})),this.mouseTogather.r4&&(this.mouseTogather.r4.addEventListener("mouseover",()=>{this.isActive.r4light=!0}),this.mouseTogather.r4.addEventListener("mouseout",()=>{this.isActive.r4light=!1})),this.initHovers()}initHovers(){var e=this;document.querySelectorAll(this.opt.elemHover).forEach(t=>{t.addEventListener("mouseenter",t=>{e.isFix=!0;const s=t.currentTarget.getBoundingClientRect();this.outerCursorOriginals={width:this.outerCursorBox.width,height:this.outerCursorBox.height},TweenMax.to(this.innerCursor,.2,{opacity:0}),TweenMax.to(this.outerCursor,.2,{x:s.left,y:s.top,width:s.width,height:s.height})}),t.addEventListener("mouseleave",()=>{e.isFix=!1,TweenMax.to(this.innerCursor,.2,{opacity:1}),TweenMax.to(this.outerCursor,.2,{width:this.outerCursorOriginals.width,height:this.outerCursorOriginals.height})})});document.querySelectorAll(this.opt.elemNone).forEach(t=>{t.addEventListener("mouseenter",t=>{e.isFix=!0;t.currentTarget.getBoundingClientRect();this.outerCursorOriginals={width:this.outerCursorBox.width,height:this.outerCursorBox.height},TweenMax.to(this.innerCursor,.2,{opacity:0}),TweenMax.to(this.outerCursor,.2,{opacity:0})}),t.addEventListener("mouseleave",()=>{e.isFix=!1,TweenMax.to(this.innerCursor,.2,{opacity:1}),TweenMax.to(this.outerCursor,.2,{opacity:1,width:this.outerCursorOriginals.width,height:this.outerCursorOriginals.height})})})}}class frameCanvas{constructor(e){var t=this;this.canvas=document.querySelectorAll(e.el),this.canvas.length>0&&(this.ad=document.querySelectorAll(e.ad),this.note=document.querySelectorAll(e.note),this.pages=document.querySelector(e.pager).querySelectorAll("li"),this.maskNode=this.canvas[0].parentNode.querySelector(".photo"),this.images=[],this.state=[],this.url=this.maskNode.getAttribute("data-banner").split(","),this.imgCur=0,this.imgLen=this.url.length-1,this.source=[],this.imagesPath=[],this.frameCount=[],this.context=[],this.sum=0,this.isNum=!1,this.current=0,this.timer=null,this.looper=null,this.isTimer=!0,this.loopTime=5e3,this.angle={value:0},this.rad={value:.4,from:.4,to:1.5},window.matchMedia("(orientation: portrait)").matches&&(this.rad={value:.3,from:.3,to:.7}),[].slice.call(this.canvas).forEach(function(e,s){t.images.push([]),t.state.push({previousFrame:-1,currentFrame:0}),e.width=window.innerWidth,e.height=window.innerHeight,t.imagesPath.push(e.getAttribute("data-images-path")),t.frameCount.push(+e.getAttribute("data-images-count")),t.context.push(e.getContext("2d")),t.loadImages(s,t.imagesPath[s]).then(function(){t.bgImg(0,t.source[t.imgCur]),t.renderFrame(0),t.maskNode.style.backgroundImage="url("+t.url[t.nextCur(t.imgCur)]+")",t.canvas[0].onclick=(()=>{if(t.isHold)return!1;t.go()}),t.pages.forEach((e,s)=>{e.onclick=(()=>{if(t.isHold||s===t.imgCur)return!1;t.go(s),$(e).addClass("on").siblings().removeClass("on"),$(t.note).eq(s).addClass("on").siblings().removeClass("on"),clearTimeout(t.looper)})});t.observer=new IntersectionObserver(e=>{e.forEach(e=>{e.intersectionRatio>0?t.isTimer&&(t.isTimer=!1,t.loop()):t.isTimer||(t.isTimer=!0,clearTimeout(t.looper))})},{root:null,rootMargin:"0px 0px 0px 0px",threshold:[0,.1,.3,.4,.5,.6,.7,.8,.9,1]}),t.observer.observe(e)})}))}loadImages(e,t){var s=this;return function(e){return Promise.all(e.map(function(e,t){return new Promise(function(t,i){var r=new Image;r.src=e,s.source.push(r),r.complete?t(r):(r.addEventListener("load",function(){t(r)}),r.addEventListener("error",function(){t()}))})}))}(this.url)}drawFitCoverImage(e,t=0){var s=this.context[e];s.beginPath(),s.arc(window.innerWidth/2,window.innerHeight/2,window.innerHeight*this.rad.value+2,0-Math.PI/2,Math.PI*t*.01-Math.PI/2,!1),s.lineTo(window.innerWidth/2,window.innerHeight/2),s.closePath(),s.fillStyle="#fff",s.fill()}renderFrame(e){this.state[e].currentFrame!==this.state[e].previousFrame&&(this.drawFitCoverImage(e,0),this.state[e].previousFrame=this.state[e].currentFrame)}bgImg(e,t){const s=this.coverImg(this.canvas[e].width,this.canvas[e].height,t.width,t.height);this.context[e].globalCompositeOperation="source-over",this.context[e].drawImage(t,s.sx,s.sy,s.sw,s.sh,0,0,this.canvas[e].width,this.canvas[e].height),this.context[e].globalCompositeOperation="destination-out"}coverImg(e,t,s,i){let r,n,a,o,h,l;return l=e/t,(h=s/i)<=l?(r=0,n=(i-(o=(a=s)/l))/2):(r=(s-(a=(o=i)*l))/2,n=0),{sx:r,sy:n,sw:a,sh:o}}nextCur(e){return this.isNum?this.imgCur:e0?e-1:this.imgLen}go(e=null){this.isHold=!0;var t=this;null!==e&&(this.isNum=!0,this.imgCur=e),this.maskNode.style.backgroundImage="url("+this.url[this.nextCur(this.imgCur)]+")",$(this.maskNode).addClass("next"),TweenLite.fromTo(t.angle,.7,{value:0},{value:200,delay:.3,ease:Sine.easeOut,onUpdate:()=>{t.drawFitCoverImage(0,t.angle.value)}}),TweenMax.fromTo(t.rad,.5,{value:t.rad.from},{value:t.rad.to,delay:.8,ease:Sine.easeIn,onUpdate:()=>{t.drawFitCoverImage(0,t.angle.value)},onComplete:()=>{this.isHold=!1,this.imgCur=t.nextCur(t.imgCur),t.bgImg(0,t.source[this.imgCur]),$(this.maskNode).removeClass("next"),this.loop(),this.isNum=!1}})}back(){this.hv=-1,this.isHold=!0}elmSet(e,t=0){0===t?($(e).eq(this.imgCur).find("font").addClass("fontOut"),$(e).eq(this.nextCur(this.imgCur)).addClass("in")):($(e).eq(this.imgCur).removeClass("on").find("font").removeClass("fontOut"),$(e).eq(this.nextCur(this.imgCur)).addClass("on").removeClass("in"))}loop(){var e=this;this.looper=setTimeout(function(){e.go(e.nextCur(e.imgCur)),$(e.pages).eq(e.nextCur(e.imgCur)).addClass("on").siblings().removeClass("on"),$(e.note).eq(e.nextCur(e.imgCur)).addClass("on").siblings().removeClass("on"),clearTimeout(e.looper)},this.loopTime)}}class loadFrames{constructor(e){var t=this;this.canvas=document.querySelectorAll(e.el),this.group=document.querySelector("#line"),this.contanier=document.querySelector("#load"),this.progress=document.querySelector("#loadSum"),this.logo=document.querySelector("#loadLogo"),this.images=[],this.state=[],this.imgCur=0,this.source=[],this.imagesPath=[],this.frameCount=[],this.context=[],this.sum=0,this.isNum=!1,this.current=0,this.timer=null,this.canvas&&[].slice.call(this.canvas).forEach(function(e,s){t.images.push([]),t.state.push({previousFrame:-1,currentFrame:0}),e.width=window.innerWidth,e.height=window.innerHeight,t.imagesPath.push(e.getAttribute("data-images-path")),t.frameCount.push(+e.getAttribute("data-images-count")),t.context.push(e.getContext("2d")),t.loadImages(s,t.imagesPath[s]).then(function(){t.renderFrame(0),t.init(),TweenMax.to(t.group,.5,{autoAlpha:1,onComplete:()=>{$(t.logo).addClass("active")}})})})}loadImages(e,t){for(var s=[],i=this,r=0;r{if(this.isHold){this.hNum+=this.hv,this.hNum=this.hNum<=0?0:this.hNum;let e=Math.round(this.hNum);if(e=e>this.frameCount[this.current]-1?this.frameCount[this.current]-1:e,t.progress.innerHTML=Math.round(e/(this.frameCount[this.current]-1)*100),0===e&&this.hv<0&&(this.isHold=!1),e>this.frameCount[this.current]/2?t.isLoop||(t.isLoop=!0):this.frameCount[this.current]/2>e>0&&t.isLoop&&(t.isLoop=!1),e===this.frameCount[this.current]-1&&this.hv>=0){this.isHold=!1;let e=document.querySelector("#mv1"),s=document.querySelector("#mv2"),i=document.querySelector("#mv3"),r=document.querySelector("#loadBtm");TweenMax.to(t.canvas,.5,{opacity:0,onComplete:function(){$(t.group).addClass("active"),TweenMax.to(t.logo,1,{autoAlpha:0,delay:1,onStart:function(){$(t.contanier).addClass("op")}}),TweenMax.to(s,.6,{rotation:180,delay:2,ease:Circ.easeIn,onStart:()=>{TweenMax.to(r,1,{autoAlpha:0})},onComplete:function(){TweenMax.set(i,{opacity:1}),TweenMax.set(s,{opacity:0}),TweenMax.to(e,.6,{rotation:180,ease:Circ.easeOut,onComplete:()=>{$("#home").addClass("on")}})}})}})}if(this.state[this.current].currentFrame=e,0===t.canvas.length)return;t.drawFitCoverImage(0,t.images[0][t.state[0].currentFrame])}t.timer=requestAnimationFrame(t.render)}),this.render()}coverImg(e,t,s,i){let r,n,a,o,h,l;return l=e/t,(h=s/i)<=l?(r=0,n=(i-(o=(a=s)/l))/2):(r=(s-(a=(o=i)*l))/2,n=0),{sx:r,sy:n,sw:a,sh:o}}go(e=null){this.hv=.5,this.hNum=0,this.isHold=!0}back(){this.hv=-1,this.isHold=!0}call(){cancelAnimationFrame(this.timer)}}class frames{constructor(e){var t=this;this.canvas=document.querySelectorAll(e.el),this.url=this.canvas[0].getAttribute("data-pic").split(","),this.rad=parseFloat(this.canvas[0].getAttribute("data-r")),this.v=parseFloat(this.canvas[0].getAttribute("data-speed")),this.source=[],this.images=[],this.state=[],this.imgCur=0,this.source=[],this.imagesPath=[],this.frameCount=[],this.context=[],this.sum=0,this.isNum=!1,this.current=0,this.timer=null,this.angle={value:0},1===this.v?this.tw=TweenLite.to(t.angle,1,{value:200,paused:!0,ease:Sine.easeOut,onUpdate:()=>{t.drawFitCoverImage(0,t.angle.value)}}):this.tw=TweenLite.to(t.angle,1,{value:200,paused:!0,ease:Sine.easeInOut,onUpdate:()=>{t.drawFitCoverImage(0,t.angle.value)}}),this.canvas&&[].slice.call(this.canvas).forEach(function(e,s){t.state.push({previousFrame:-1,currentFrame:0}),e.width=window.innerWidth,e.height=window.innerHeight,t.frameCount.push(+e.getAttribute("data-images-count")),t.context.push(e.getContext("2d")),t.loadImages(s).then(function(){t.renderFrame(0),t.init()})})}loadImages(e,t){var s=this;return function(e){return Promise.all(e.map(function(e,t){return new Promise(function(t,i){var r=new Image(1920,941);r.src=e,s.source.push(r),r.complete?t(r):(r.addEventListener("load",function(){t(r)}),r.addEventListener("error",function(){t()}))})}))}(this.url)}drawFitCoverImage(e,t){var s=this.context[e];s.clearRect(0,0,window.innerWidth,window.innerHeight),s.beginPath(),s.arc(window.innerWidth/2,window.innerHeight/2,window.innerHeight*this.rad+2,-Math.PI*t*.01+Math.PI/4,0+Math.PI/4,!1),s.lineTo(window.innerWidth/2,window.innerHeight/2),s.closePath(),s.fillStyle="#fff",s.fill()}renderFrame(e,t=200){this.state[e].currentFrame!==this.state[e].previousFrame&&(this.drawFitCoverImage(e,t),this.state[e].previousFrame=this.state[e].currentFrame)}init(e){const{Back:t}=window;var s=parseFloat(e-window.innerHeight/3).toFixed(2),i=((s>0?s:0)/(1.3*window.innerHeight)).toFixed(3),r=i>1?1:i;this.tw.seek(1-r,!1)}initApp(e){const{Back:t}=window;var s=parseFloat(e).toFixed(2),i=((s>0?s:0)/window.innerWidth).toFixed(3),r=i>1?1:i;$(this.canvas).parents(".bg")[0].style.setProperty("--go",r),this.tw.seek(1-r,!1)}coverImg(e,t,s,i){let r,n,a,o,h,l;return l=e/t,(h=s/i)<=l?(r=0,n=(i-(o=(a=s)/l))/2):(r=(s-(a=(o=i)*l))/2,n=0),{sx:r,sy:n,sw:a,sh:o}}}class bannerSlider extends Zhcool{constructor(e={}){super(name="bannerSlider"),this.setting={container:".component",elem:".slider",txt:".til",dot:".slider--dot",btn:".slider--btn",sum:".slider-sum",loop:!0,time:5e3},this.opt=Object.assign(this.setting,e),this.container=document.querySelector(this.opt.container),this.elm=this.container.querySelectorAll(this.opt.elem),this.btns=this.container.querySelectorAll(this.opt.btn),this.dots=this.container.querySelectorAll(this.opt.dot),this.sum=this.container.querySelector(this.opt.sum),this.cur=0,this.timer=null,this.itemsCount=this.elm.length,this.active=!1,this.isVisible=!1;this.observer=new IntersectionObserver(e=>{e.forEach(e=>{this.isVisible!==e.intersectionRatio>0&&(e.intersectionRatio>0?this.opt.loop&&this.getLoop():this.stop()),this.isVisible=e.intersectionRatio>0})},{root:null,rootMargin:"10px 0px 0px 0px",threshold:[0,.1,.3,.4,.5,.6,.7,.8,.9,1]}),this.observer.observe(this.container),this.createBtnEvent(),this.createDotEvent()}createBtnEvent(){if(0===this.btns)return!1;let e=this;this.btns.forEach(t=>{t.addEventListener("click",s=>{switch(clearTimeout(e.timer),t.getAttribute("data-type")){case"prev":e.sliderMove("prev");break;case"next":e.sliderMove("next")}ev.preventDefault()})})}createDotEvent(){if(0===this.dots)return!1;let e=this;this.dots.forEach(t=>{t.addEventListener("click",s=>{clearTimeout(e.timer);const i=parseInt(t.getAttribute("data-key"));this.sliderMove("dot",i),ev.preventDefault()})})}getCur(e,t=0){switch(e){case"next":this.cur=this.cur0?this.cur-1:this.itemsCount-1;break;case"dot":this.cur=t}this.on_($(this.dots).eq(this.cur))}getSum(){if(this.sum){let e=this.cur+1<10?"0"+this.cur:this.cur;this.sum.text(e)}}sliderMove(e,t=0){if(this.active)return!1;let s=this;this.active=!0;var i=0,r=this.elm[this.cur];this.getCur(e,t);var n=this.elm[this.cur],a=function(){this.removeEventListener(s.animEndEventName,a),classie.removeClass(this,"current"),classie.removeClass(this,"prev"===e?"navOutPrev":"navOutNext"),2===++i&&(s.active=!1,s.getLoop())},o=function(){this.removeEventListener(s.animEndEventName,o),classie.addClass(this,"current"),classie.removeClass(this,"prev"===e?"navInPrev":"navInNext"),2===++i&&(s.active=!1,s.getLoop())};s.support.animations?(r.addEventListener(s.animEndEventName,a),n.addEventListener(s.animEndEventName,o),classie.addClass(r,"prev"===e?"navOutPrev":"navOutNext"),classie.addClass(n,"prev"===e?"navInPrev":"navInNext"),s.getSum()):console.log("不支持css3 animated")}getLoop(){let e=this;this.timer=setTimeout(function(){e.sliderMove("next")},this.opt.time)}stop(){clearTimeout(this.timer)}}class glSlider{constructor(e){this.default={container:"#glSlider",elem:"#slider",item:".slider--list",btn:".slider--btn",sum:".slider--sum",startBack:()=>{},callBack:()=>{}},this.opt=Object.assign(this.default,e),this.scene=new THREE.Scene,this.vertex="varying vec2 vUv;void main() {vUv = uv;gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );}",this.fragment=e.fragment,this.uniforms=e.uniforms,this.renderer=new THREE.WebGLRenderer,this.width=window.innerWidth,this.height=window.innerHeight,this.renderer.setPixelRatio(window.devicePixelRatio),this.renderer.setSize(this.width,this.height),this.renderer.setClearColor(15658734,1),this.duration=e.duration||1,this.debug=e.debug||!1,this.easing=e.easing||"cubic-bezier(0, 0, 0, 1)",this.clicker=document.querySelector(this.opt.container),this.container=this.clicker.querySelector(this.opt.elem),this.images=this.container.getAttribute("data-images").split(","),this.items=this.clicker.querySelectorAll(this.opt.item),this.btns=this.clicker.querySelectorAll(this.opt.btn),this.sums=this.clicker.querySelector(this.opt.sum),this.width=this.container.offsetWidth,this.height=this.container.offsetHeight,this.container.appendChild(this.renderer.domElement),this.camera=new THREE.PerspectiveCamera(70,window.innerWidth/window.innerHeight,.001,1e3),this.camera.position.set(0,0,2),this.time=0,this.current=0,this.nextCur=0,this.textures=[],this.paused=!0,this.initiate().then(e=>{this.len=e.length,this.addObjects(),this.resize(),this.setupResize(),this.settings(),this.clickEvent(),this.play()})}initiate(){let e=this;return function(t){return Promise.all(t.map(function(t,s){return new Promise(function(i,r){var n=new Image(1920,1e3);n.src=t,n.addEventListener("load",function(){e.textures[s]=(new THREE.TextureLoader).load(t,i)})})}))}(e.images)}clickEvent(){let e=this;if(0===this.btns.length)return!1;this.btns.forEach(t=>{let s=t.getAttribute("data-type");t.addEventListener("click",()=>{e.move(s)})})}settings(){this.debug&&(this.gui=new dat.GUI),this.settings={progress:.5},Object.keys(this.uniforms).forEach(e=>{this.settings[e]=this.uniforms[e].value,this.debug&&this.gui.add(this.settings,e,this.uniforms[e].min,this.uniforms[e].max,.01)})}setupResize(){window.addEventListener("resize",this.resize.bind(this))}resize(){this.width=this.container.offsetWidth,this.height=this.container.offsetHeight,this.renderer.setSize(this.width,this.height),this.camera.aspect=this.width/this.height,this.imageAspect=this.textures[0].image.height/this.textures[0].image.width;let e,t;this.height/this.width>this.imageAspect?(e=this.width/this.height*this.imageAspect,t=1):(e=1,t=this.height/this.width/this.imageAspect),this.material.uniforms.resolution.value.x=this.width,this.material.uniforms.resolution.value.y=this.height,this.material.uniforms.resolution.value.z=e,this.material.uniforms.resolution.value.w=t;const s=this.camera.position.z;this.camera.fov=180/Math.PI*2*Math.atan(1/(2*s)),this.plane.scale.x=this.camera.aspect,this.plane.scale.y=1,this.camera.updateProjectionMatrix()}addObjects(){this.material=new THREE.ShaderMaterial({extensions:{derivatives:"#extension GL_OES_standard_derivatives : enable"},side:THREE.DoubleSide,uniforms:{time:{type:"f",value:0},progress:{type:"f",value:0},border:{type:"f",value:0},intensity:{type:"f",value:0},scaleX:{type:"f",value:40},scaleY:{type:"f",value:40},transition:{type:"f",value:40},swipe:{type:"f",value:0},width:{type:"f",value:0},radius:{type:"f",value:0},texture1:{type:"f",value:this.textures[0]},texture2:{type:"f",value:this.textures[1]},resolution:{type:"v4",value:new THREE.Vector4}},vertexShader:this.vertex,fragmentShader:this.fragment}),this.geometry=new THREE.PlaneGeometry(1,1,2,2),this.plane=new THREE.Mesh(this.geometry,this.material),this.scene.add(this.plane)}stop(){this.paused=!0}play(){this.paused=!1,this.render()}move(e){switch(e){case"next":this.nextCur=(this.current+1)%this.len,this.next();break;case"prev":this.nextCur=this.current>0?this.current-1:this.len-1,this.next()}}next(){if(this.isRunning)return;this.isRunning=!0;let e=this.textures[this.nextCur];this.material.uniforms.texture2.value=e;let t=new TimelineMax;this.itemNext(),t.to(this.material.uniforms.progress,this.duration,{value:1,ease:Power2[this.easing],onStart:()=>{if(0===this.sums.length)return!1;let e=this.nextCur+1<10?"0"+(this.nextCur+1):this.nextCur+1;this.sums.innerText=e,this.opt.startBack(this.nextCur)},onComplete:()=>{this.current=this.nextCur,this.material.uniforms.texture1.value=e,this.material.uniforms.progress.value=0,this.isRunning=!1,this.opt.callBack(this.nextCur)}})}itemNext(){let e=this.items[this.current],t=this.items[this.nextCur],s=new TimelineMax;s.to(e,.8*this.duration,{opacity:0,ease:Power2[this.easing],onComplete:()=>{e.style.display="none",t.style.display="block",s.reverse()}})}render(){this.paused||(this.time+=.05,this.material.uniforms.time.value=this.time,Object.keys(this.uniforms).forEach(e=>{this.material.uniforms[e].value=this.settings[e]}),requestAnimationFrame(this.render.bind(this)),this.renderer.render(this.scene,this.camera))}}class parallaxTargetFn{constructor(e){this.mouse=e.parent.mouse,this.el=e.elm,this.dir=parseInt(this.el.getAttribute("data-dir")),this.isVisible=!1;this.observer=new IntersectionObserver(e=>{e.forEach(e=>{this.isVisible=e.intersectionRatio>0})},{root:null,rootMargin:"0px 0px 0px 0px",threshold:[0,.1,.3,.4,.5,.6,.7,.8,.9,1]}),this.observer.observe(this.el.parentNode),this.key=1,this.renderedStyles={x:{previous:1,current:0,ease:.1,setValue:()=>this.mouse.x},y:{previous:1,current:0,ease:.1,setValue:()=>this.mouse.y}}}animate(){for(const e in this.renderedStyles)this.renderedStyles[e].current=this.renderedStyles[e].setValue(),this.renderedStyles[e].previous=MathUtils.lerp(this.renderedStyles[e].previous,this.renderedStyles[e].current,this.renderedStyles[e].ease).toFixed(2);this.layout()}layout(){Math.round(this.renderedStyles.x.previous)!==Math.round(this.renderedStyles.x.current)&&(this.el.style.transform=`translate3d(${-this.dir*this.key*this.renderedStyles.x.previous}px,${-this.dir*this.key*this.renderedStyles.y.previous}px,0)`,this.el.querySelector("img")&&(this.el.querySelector("img").style.transform=`translate3d(${this.dir*this.key*this.renderedStyles.x.previous}px,${this.dir*this.key*this.renderedStyles.y.previous}px,0)`))}}class parallaxFn{constructor(e){this.container=e.parents,this.mouse={x:0,y:0},this.viewport={width:$(this.container).width(),height:$(this.container).height()},this.targets=[],this.container.addEventListener("mousemove",this.mouseMove.bind(this),!1),this.init(e.elm)}init(e){document.querySelectorAll(e).forEach((e,t)=>{this.targets.push(new parallaxTargetFn({elm:e,parent:this,key:t}))}),this.render()}mouseMove(e){this.mouse.y=-e.clientY/this.viewport.height*40+20,this.mouse.x=e.clientX/this.viewport.width*40-20}render(){for(const e of this.targets)e.isVisible&&e.animate();requestAnimationFrame(this.render.bind(this))}}class lazyLoadImg{constructor(e){this.images=[],this.defaults={el:".lazy",smooth:!0},this.options=Object.assign(this.defaults,e||{}),this.imgEl=document.querySelectorAll(this.options.el),this.respond=window.matchMedia("(orientation: portrait)").matches,this.imgArr=[],this.videoArr=[];let t=this;this.base_(),this._item=document.querySelectorAll(".yAni"),this.loadImages(this.imgEl).then(e=>{if(!this.options.smooth)return!1;window.base=new SmoothScroll({imgArr:e}),$("#business").length>0&&(window.frames_after=new frames({el:".frame__canvas_after"}),window.frames_before=new frames({el:".frame__canvas_before"}));let s=new navColor;if(t.respond){if($(".esg_body").length>0){let e=$(".r5_img_case").eq(0).outerHeight(!0);$(".r5_txt_block").css({padding:e+"px 0"});let t=$(window).height(),s=$(".esg_body .r5").offset().top,i=($(".r5_txt_box").outerHeight(!0),$(".esg_body .r5_img_box").height()),r=$(".esg_body .r5_img_case").outerHeight(!0),n=(r-i)/2,a=($(".esg_body .r5_txt_block").length,$(".r5").outerHeight(!0)),o=r+.09*$(window).width(),h=$(".r5_txt_block").eq(0).outerHeight(!0),l=$(".r5_txt_block").eq(1).outerHeight(!0),u=$(".r5_txt_block").eq(2).outerHeight(!0),c=$(".r5_txt_block").eq(3).outerHeight(!0),d=$(".app-nav").outerHeight(!0),m=$(".r5_txt_block").eq(0).find(".r5_t_case").outerHeight(!0)+r-d-n,g=$(".r5_txt_block").eq(1).find(".r5_t_case").outerHeight(!0)+r-d-n,p=$(".r5_txt_block").eq(2).find(".r5_t_case").outerHeight(!0)+r-d-n,f=$(".r5_txt_block").eq(3).find(".r5_t_case").outerHeight(!0)+r-d-n;console.log(n),$(window).on("scroll touchmove",function(){let e=$(window).scrollTop();if(e=s&&e<=a+s-t?($(".r5 .bg").removeClass("s_det"),$(".r5 .bg").hasClass("f_det")||$(".r5 .bg").addClass("f_det")):($(".r5 .bg").removeClass("f_det"),$(".r5 .bg,.r5_img_case").hasClass("s_det")||$(".r5 .bg,.r5_img_case").addClass("s_det")),e=s&&e<=a+s-o?($(".r5_img_case").removeClass("s_det"),$(".r5_img_case").hasClass("f_det")||$(".r5_img_case").addClass("f_det")):($(".r5_img_case").removeClass("f_det"),$(".r5_img_case").hasClass("s_det")||$(".r5 .bg,.r5_img_case").addClass("s_det")),e>s&&e<=s+h&&(e=s+n&&e<=s+n+m?$(".r5_img_case").hasClass("on")||$(".r5_img_case").addClass("on"):$(".r5_img_case").removeClass("on")),e>s+h&&e<=s+h+l&&(e=s+h+n&&e<=s+h+n+g?$(".r5_img_case").hasClass("on")||$(".r5_img_case").addClass("on"):$(".r5_img_case").removeClass("on")),e>s+h+l&&e<=s+h+l+u&&(e=s+h+l+n&&e<=s+h+l+n+p?$(".r5_img_case").hasClass("on")||$(".r5_img_case").addClass("on"):$(".r5_img_case").removeClass("on")),e>s+h+l+u&&e<=s+h+l+u+c&&(e=s+h+l+u+n&&e<=s+h+l+u+n+f?$(".r5_img_case").hasClass("on")||$(".r5_img_case").addClass("on"):$(".r5_img_case").removeClass("on")),e=s+h-r+n&&e<=s+h-r+n+i){let t=s+h-r+n+i-e;$(".r5_img_box .pub_img_box").eq(1).css({transform:"translate3d(0,"+t+"px,0)"}),$(".r5 .bg").hasClass("on")||$(".r5 .bg").addClass("on")}else $(".r5_img_box .pub_img_box").eq(1).css({transform:"translate3d(0,0,0)"});if(e=s+h+l-r+n&&e<=s+h+l-r+n+i){let t=s+h+l-r+n+i-e;$(".r5_img_box .pub_img_box").eq(2).css({transform:"translate3d(0,"+t+"px,0)"}),$(".r5 .bg").hasClass("on")||$(".r5 .bg").addClass("on")}else $(".r5_img_box .pub_img_box").eq(2).css({transform:"translate3d(0,0,0)"});if(e=s+h+l+u-r+n&&e<=s+h+l+u-r+n+i){let t=s+h+l+u-r+n+i-e;$(".r5_img_box .pub_img_box").eq(3).css({transform:"translate3d(0,"+t+"px,0)"}),$(".r5 .bg").removeClass("on")}else $(".r5_img_box .pub_img_box").eq(3).css({transform:"translate3d(0,0,0)"})}),$("body,html").animate({scrollTop:$(window).scrollTop()+1},10)}base.init({wrapper:".wrapper",callback:function(e){e>200?$(".app-nav .inner_top").addClass("bc"):$(".app-nav .inner_top").removeClass("bc"),$("#business").length>0&&(t._item.length>0&&[].slice.call(t._item).forEach(function(s,i){t.yGo(e,t.getTop(s,base.DOM.direction),s,parseFloat(s.getAttribute("data-offset")),parseFloat(s.getAttribute("data-to"))||1,parseFloat(s.getAttribute("data-Range"))||1,parseFloat(s.getAttribute("data-bg"))||0)}),frames_before.initApp(e))}})}else{let e,i,r,n,a,o,h;$(".esg_body").length>0&&(e=$(window).height(),i=$(".esg_body .r5").offset().top,r=$(".esg_body .r5_img_box").height(),n=$(".esg_body .r5_img_case").height(),o=(a=(n-r)/2)+r,h=$(".esg_body .r5_txt_block").length-1),base.init({wrapper:".wrapper",callback:function(n){if(s.judge(n),t._item.length>0&&[].slice.call(t._item).forEach(function(e,s){t.yGo(n,t.getTop(e,base.DOM.direction),e,parseFloat(e.getAttribute("data-offset")),parseFloat(e.getAttribute("data-to"))||1,parseFloat(e.getAttribute("data-Range"))||1,parseFloat(e.getAttribute("data-bg"))||0)}),$("#history").length>0&&historyFuc(n,base),$("#business").length>0&&(frames_after.init(n),frames_before.init(n),advantageFnc()),$("#investment").length>0&&advantageFnc(),$("#healthy").length>0&&healthyCall.init({top:n,el:base}),$(".esg_body").length>0){let t=$(".r5").outerHeight(!0);if(n>=i&&n<=t+i-e){let t=n-i;if($(".r5 .bg,.r5_img_case").css({transform:"translate3d(0,"+t+"px,0)"}),n=i+a&&n<=i+a+r){let e=i+a+r-n;$(".r5_img_box .pub_img_box").eq(1).css({transform:"translate3d(0,"+e+"px,0)"}),$(".r5 .bg").hasClass("on")||$(".r5 .bg").addClass("on")}else $(".r5_img_box .pub_img_box").eq(1).css({transform:"translate3d(0,0,0)"});if(n=i+e+a&&n<=i+e+a+r){let t=i+a+e+r-n;$(".r5_img_box .pub_img_box").eq(2).css({transform:"translate3d(0,"+t+"px,0)"}),$(".r5 .bg").hasClass("on")||$(".r5 .bg").addClass("on")}else $(".r5_img_box .pub_img_box").eq(2).css({transform:"translate3d(0,0,0)"});if(n=i+2*e+a&&n<=i+2*e+a+r){let t=i+a+2*e+r-n;$(".r5_img_box .pub_img_box").eq(3).css({transform:"translate3d(0,"+t+"px,0)"}),$(".r5 .bg").hasClass("on")&&$(".r5 .bg").removeClass("on")}else $(".r5_img_box .pub_img_box").eq(3).css({transform:"translate3d(0,0,0)"})}if(n>t+i-e){let t=h*e;$(".r5 .bg,.r5_img_case").css({transform:"translate3d(0,"+t+"px,0)"})}n>=$(".r3 .r3_con_b").offset().top-e&&($(".r3").hasClass("on")||$(".r3").addClass("on")),n<$(".r3 .r3_i_box").eq(0).offset().top-1.5*e&&$(".r3").removeClass("on")}}})}$("#history").length>0&&historyFuc(0,base),window.alan=new ScrollAni})}loadImages(e){var t=this,s=[],i=[];[].slice.call(e).forEach(function(e,r){switch(e.nodeName){case"VIDEO":i.push(e.getAttribute("data-src")),t.videoArr.push(e);break;default:s.push(e.getAttribute("data-src")),t.imgArr.push(e)}});return t.respond||function(e){Promise.all(e.map(function(e,s){return new Promise(function(i,r){t.videoArr[s].setAttribute("playsinline","true"),t.videoArr[s].src=e,t.videoArr[s].addEventListener("canplay",function(e){i()})})}))}(i),function(e){return Promise.all(e.map(function(e,s){return new Promise(function(i,r){if($(t.imgArr[s]).hasClass("pc")&&t.respond)return!1;if($(t.imgArr[s]).hasClass("app")&&!t.respond)return!1;if(s<5){var n=new Image;n.src=e,t.images.push(n),n.complete?("IMG"===t.imgArr[s].nodeName?t.imgArr[s].setAttribute("src",e):t.imgArr[s].style.backgroundImage="url("+e+")",i(t.imgArr[s])):(n.addEventListener("load",function(){"IMG"===t.imgArr[s].nodeName?t.imgArr[s].setAttribute("src",e):t.imgArr[s].style.backgroundImage="url("+e+")",i(t.imgArr[s])}),n.addEventListener("error",function(){i()}))}else"IMG"===t.imgArr[s].nodeName?t.imgArr[s].setAttribute("src",e):t.imgArr[s].style.backgroundImage="url("+e+")",i(t.imgArr[s])})}))}(s)}start(e){this.imgEl.length>0?this.loadImages(this.imgEl).then(t=>{e(t)}):e([])}getTop(e,t=0){if(0===t){for(var s;void 0===e.offsetTop;)e=e.parentNode;for(s=e.offsetTop;e=e.offsetParent;)s+=e.offsetTop;return s}for(var i;void 0===e.offsetLeft;)e=e.parentNode;for(i=e.offsetLeft;e=e.offsetParent;)i+=e.offsetLeft;return i}yGo(e,t,s,i,r=1,n=1,a=0){var o=s.style,h=e-(t-window.innerHeight*i);if(h>0){var l=(h/(window.innerHeight*n)).toFixed(4);l=l>r?r:l,0!==a?TweenMax.set(s,{y:h}):h<$(s).parent().height()-s.clientHeight?TweenMax.set(s,{y:h}):TweenMax.to(s,.1,{y:$(s).parent().height()-s.clientHeight}),o.setProperty("--go",l)}else TweenMax.set(s,{y:0})}base_(){this.respond&&$("#business").length>0||$("[data-vh]").each(function(e,t){var s=window.innerHeight,i=parseInt(s*$(this).attr("data-vh"));$(this).css("height",i+1+"px")})}}new lazyLoadImg({smooth:!0});class navColor{constructor(e={}){this.opt=Object.assign({el:".row",nav:".pc-nav"},e),this.position=[],this.target=document.querySelectorAll(this.opt.el),this.nav=document.querySelector(this.opt.nav),this.cur=-1,this.init()}init(){let e=this;this.target.forEach(t=>{this.position.push({top:e.getTop(t)-80,type:parseInt(t.getAttribute("data-nav"))})})}judge(e){for(let t=this.position.length-1;t>=0;t--){let s=this.position[t];if(e>s.top){if(this.cur===t)return!1;switch(s.type){case 0:$(this.nav).removeClass("mbg"),$(this.nav).removeClass("nbg");break;case 1:$(this.nav).addClass("mbg"),$(this.nav).removeClass("nbg");break;case 2:$(this.nav).addClass("nbg")}return void(this.cur=t)}}}getTop(e){for(var t;void 0===e.offsetTop;)e=e.parentNode;for(t=e.offsetTop;e=e.offsetParent;)t+=e.offsetTop;return t}}var isAd=!0,isS=window.matchMedia("(orientation: portrait)").matches;isS||null!==JSON.parse(sessionStorage.getItem("key"))||(window.loadframes=new loadFrames({el:".frame__load"})),$("#home").length>0&&(isS||null!==JSON.parse(sessionStorage.getItem("key"))?($("#load").remove(),$("#home").addClass("on"),window.frames=new frameCanvas({el:".frame__canvas",ad:".h2Txt",note:".h3Txt",pager:"#p1"})):($("body").css("overflow-y","hidden"),setTimeout(function(){window.frames=new frameCanvas({el:".frame__canvas",ad:".h2Txt",note:".h3Txt",pager:"#p1"})},3e3),setTimeout(function(){$("body").css("overflow-y","auto"),loadframes.call()},6e3)));