@galacean/effects-threejs 2.0.0-alpha.10 → 2.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -3,11 +3,6 @@
3
3
  * Description: Galacean Effects runtime threejs plugin for the web
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
6
- * Version: v2.0.0-alpha.10
7
- */function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("three")):"function"==typeof define&&define.amd?define(["exports","three"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).ge=t.ge||{},t.ge.three={}),t.THREE)}(this,function(t,e){"use strict";var r,i,n,o,a,s,u,l,c,h,f,m,d,p,v,y,g,x,T,E,_,C,A,S,R,b,O,w,I,L,M,P,V,N,F,z,D,U,k,B,G,X,H,Y,j,W,Z,q,K,Q,J,$,tt,te,tr,ti,tn,to,ta,ts,tu,tl,tc,th,tf,tm,td,tp,tv,ty,tg,tx,tT,tE,t_,tC,tA,tS,tR,tb,tO,tw,tI,tL,tM,tP,tV,tN,tF,tz,tD,tU,tk,tB,tG,tX,tH,tY,tj,tW,tZ,tq,tK,tQ,tJ,t$,t0,t1,t2,t3,t4,t5,t6,t8,t9,t7,et,ee,er,ei,en,eo,ea,es,eu,el,ec,eh,ef,em,ed,ep,ev,ey,eg,ex,eT,eE,e_,eC,eA,eS,eR,eb,eO,ew,eI,eL,eM,eP,eV,eN,eF,ez,eD,eU,ek,eB,eG,eX,eH,eY,ej,eW,eZ,eq,eK=function(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}}),e.default=t,Object.freeze(e)}(e);function eQ(t,e,r,i,n,o,a){try{var s=t[o](a),u=s.value}catch(t){r(t);return}s.done?e(u):Promise.resolve(u).then(i,n)}function eJ(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var o=t.apply(e,r);function a(t){eQ(o,i,n,a,s,"next",t)}function s(t){eQ(o,i,n,a,s,"throw",t)}a(void 0)})}}function e$(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):e$(t,e)}function e0(t){return t&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t}function e1(t,e,r,i){var n,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,r,i);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,r,a):n(e,r))||a);return o>3&&a&&Object.defineProperty(e,r,a),a}function e2(t,e){var r,i,n,o,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(r)throw TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(n=(n=a.trys).length>0&&n[n.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){a.label=s[1];break}if(6===s[0]&&a.label<n[1]){a.label=n[1],n=s;break}if(n&&a.label<n[2]){a.label=n[2],a.ops.push(s);break}n[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(t){s=[6,t],i=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}"function"==typeof SuppressedError&&SuppressedError;for(var e3=new Uint8Array(16),e4=[],e5=0;e5<256;++e5)e4.push((e5+256).toString(16).slice(1));var e6={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function e8(t,e){return t.includes(e)||t.push(e),t}function e9(t,e){var r=t.indexOf(e);return r>-1&&t.splice(r,1),t}function e7(t,e,r,i){if(void 0===r&&(r=1),t.buffer.byteLength<t.BYTES_PER_ELEMENT*e){var n=Math.ceil(e*r);isNaN(i)||(n=Math.min(n,i));var o=new ArrayBuffer(t.BYTES_PER_ELEMENT*n),a=new t.constructor(o);return a.set(t),a}return t}function rt(t,e){var r=[0,0,0,0];if(rp(t)){t=t.replace(/[\s\t\r\n]/g,"");var i=/rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(t);if(i){var n=+i[4];r=[+i[1],+i[2],+i[3],isNaN(n)?255:255*n]}else/^#[a-f\d]{3}$/i.test(t)?r=[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),255]:(i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t))&&(r=[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16),255])}else e$(t,Array)&&(r=[t[0],t[1],t[2],isNaN(t[3])?255:t[3]]);if(e)for(var o=0;o<4;o++)r[o]/=255;return r}function re(t,e,r){if(t.length){for(var i,n=1;n<=t.length-1;n++){var o=t[n-1],a=t[n];if(o.stop<=e&&e<=a.stop){i=ri(o.color,a.color,(e-o.stop)/(a.stop-o.stop));break}}return i||(i=t[t.length-1].color),r?i.map(function(t){return t/255}):i}return[0,0,0,0]}function rr(t){var e=[];if(e$(t,Array)?t.forEach(function(t){var r=t[0],i=t[1],n=t[2],o=t[3],a=t[4];e.push({stop:rn(r),color:[i,n,o,a]})}):Object.keys(t).forEach(function(r){var i=rt(t[r]);e.push({stop:rn(r),color:i})}),(e=e.sort(function(t,e){return t.stop-e.stop})).length){0!==e[0].stop&&e.unshift({stop:0,color:e[0].color.slice()});var r=e[e.length-1];1!==r.stop&&e.push({stop:1,color:r.color.slice()})}return e}function ri(t,e,r,i){var n=[],o=1-r;if(i)for(var a=0;a<4;a++)n[a]=t[a]*o+e[a]*r;else{for(var s=0;s<3;s++)n[s]=Math.round(Math.sqrt(t[s]*t[s]*o+e[s]*e[s]*r));n[3]=Math.round(t[3]*o+e[3]*r)}return n}function rn(t){var e=/^(-)?([\d+.]+)%$/.exec(t);return e?+e[2]/100*(e[1]?-1:1):+t}function ro(){return/\b[Aa]ndroid\b/.test(navigator.userAgent)}function ra(){return ro()||/\b(iPad|iPhone|iPod)\b/.test(navigator.userAgent)}function rs(t){var e={width:128,height:1,data:new Uint8Array(512)},r=e.data,i=rr(t);if(i.length){r.set(i[0].color,0);for(var n=1;n<127;n++){for(var o=n/128,a=void 0,s=void 0,u=0;u<i.length&&(a=i[u],s=i[u+1],!(a.stop<=o)||!(s.stop>o));u++);var l=ri(a.color,s.color,(o-a.stop)/(s.stop-a.stop));r.set(l,4*n)}r.set(i[i.length-1].color,508)}return e}function ru(t,e){void 0===e&&(e=2);var r=t.length;if(r<=1||1===e)return t;if(!(r<=30))return function t(e,r,i,n){if(void 0===i&&(i=0),void 0===n&&(n=e.length-1),i>=n)return e;for(var o,a,s=e[i],u=i,l=n;u<l;){if(2===r){for(;e[l].priority>s.priority&&l>=u;)l--;for(;e[u].priority<=s.priority&&u<l;)u++}else{for(;e[l].priority<s.priority&&l>=u;)l--;for(;e[u].priority>=s.priority&&u<l;)u++}o=[e[l],e[u]],e[u]=o[0],e[l]=o[1]}return a=[e[u],e[i]],e[i]=a[0],e[u]=a[1],t(e,r,i,u-1),t(e,r,l+1,n),e}(t,e);for(var i=1;i<r;i++)rc(t,i,e);return t}function rl(t,e,r){return void 0===r&&(r=2),t.includes(e)||(t.push(e),1===t.length||1!==r&&rc(t,t.length-1,r)),t}function rc(t,e,r){var i=t[e];if(2!==r)for(;e>=1&&t[e-1].priority<i.priority&&(t[e]=t[e-1],0!=--e););else for(;e>=1&&t[e-1].priority>i.priority&&(t[e]=t[e-1],0!=--e););t[e]=i}function rh(t,e){if(void 0===e&&(e="item doesn't exist"),null==t)throw Error(e)}function rf(t){return["%c[Galacean Effects]","color: #AA0100",""+t]}t.OrderType=void 0,(r=t.OrderType||(t.OrderType={}))[r.none=1]="none",r[r.ascending=2]="ascending",r[r.descending=3]="descending";var rm={error:function(t){for(var e,r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];(e=console).error.apply(e,[].concat(rf(t),[i])),null==tP||tP("error",t,i)},info:function(t){for(var e,r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];(e=console).debug.apply(e,[].concat(rf(t))),null==tP||tP("info",t,i)},warn:function(t){for(var e,r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];(e=console).warn.apply(e,[].concat(rf(t))),null==tP||tP("warn",t,i)},register:function(t){t&&ry(t)&&(tP=t)}};function rd(){}function rp(t){return"string"==typeof t}t.DestroyOptions=void 0,(i=t.DestroyOptions||(t.DestroyOptions={}))[i.destroy=0]="destroy",i[i.keep=1]="keep",i[i.force=0]="force";var rv=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function ry(t){return"[object Function]"===Object.prototype.toString.call(t)}function rg(t){return"[object Object]"===Object.prototype.toString.call(t)}function rx(t,e){return t+Math.random()*(e-t)}function rT(){throw Error("destroyed item cannot be used again")}function rE(){return(function(t,e,r){if(e6.randomUUID&&!t)return e6.randomUUID();var i,n=(t=t||{}).random||(t.rng||function(){if(!tM&&!(tM="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return tM(e3)})();return n[6]=15&n[6]|64,n[8]=63&n[8]|128,void 0===i&&(i=0),e4[n[i+0]]+e4[n[i+1]]+e4[n[i+2]]+e4[n[i+3]]+"-"+e4[n[i+4]]+e4[n[i+5]]+"-"+e4[n[i+6]]+e4[n[i+7]]+"-"+e4[n[i+8]]+e4[n[i+9]]+"-"+e4[n[i+10]]+e4[n[i+11]]+e4[n[i+12]]+e4[n[i+13]]+e4[n[i+14]]+e4[n[i+15]]})().replace(/-/g,"")}function r_(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function rC(t,e,r){return e&&r_(t.prototype,e),r&&r_(t,r),t}function rA(t,e){return(rA=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function rS(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&rA(t,e)}function rR(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,i=Array(e);r<e;r++)i[r]=t[r];return i}function rb(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return rR(t,void 0);var r=Object.prototype.toString.call(t).slice(8,-1);if("Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return rR(t,void 0)}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var rO=Math.PI/180,rw=180/Math.PI;function rI(t,e){return 1e-6>Math.abs(t-e)||t===1/0&&e===1/0||t===-1/0&&e===-1/0}var rL=function(t,e,r){return(1-r)*t+r*e};function rM(t,e,r){var i=isNaN(e)?-1/0:e,n=isNaN(r)?1/0:r;return Math.min(Math.max(t,Math.min(i,n)),Math.max(i,n))}var rP=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}var e=t.prototype;return e.set=function(t,e){return this.x=t,this.y=e,this},e.setZero=function(){return this.x=0,this.y=0,this},e.setFromNumber=function(t){return this.x=t,this.y=t,this},e.setFromArray=function(t,e){var r,i;return void 0===e&&(e=0),this.x=null!=(r=t[e])?r:0,this.y=null!=(i=t[e+1])?i:0,this},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this},e.clone=function(){return new t(this.x,this.y)},e.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t):e$(t,Array)?(this.x+=t[0],this.y+=t[1]):(this.x+=t.x,this.y+=t.y),this},e.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},e.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t):e$(t,Array)?(this.x-=t[0],this.y-=t[1]):(this.x-=t.x,this.y-=t.y),this},e.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},e.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t):e$(t,Array)?(this.x*=t[0],this.y*=t[1]):(this.x*=t.x,this.y*=t.y),this},e.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this},e.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t):e$(t,Array)?(this.x/=t[0],this.y/=t[1]):(this.x/=t.x,this.y/=t.y),this},e.scale=function(t){return this.x*=t,this.y*=t,this},e.sum=function(){return this.x+this.y},e.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y)),this},e.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},e.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},e.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},e.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},e.lengthSquared=function(){return this.x*this.x+this.y*this.y},e.normalize=function(){return this.divide(this.length()||1)},e.setLength=function(t){return this.normalize().multiply(t)},e.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this},e.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this},e.dot=function(t){return this.x*t.x+this.y*t.y},e.cross=function(t){return this.x*t.y-this.y*t.x},e.distance=function(t){var e=this.x-t.x,r=this.y-t.y;return Math.sqrt(e*e+r*r)},e.distanceSquared=function(t){var e=this.x-t.x,r=this.y-t.y;return e*e+r*r},e.equals=function(t){return this.x===t.x&&this.y===t.y},e.isZero=function(){var t=this.x,e=this.y;return 1e-6>=Math.abs(t)&&1e-6>=Math.abs(e)},e.toArray=function(){return[this.x,this.y]},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y},e.random=function(){return this.x=Math.random(),this.y=Math.random(),this},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t}();rP.ONE=new rP(1,1),rP.ZERO=new rP(0,0);var rV=function(){function t(t,e,r){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),this.x=t,this.y=e,this.z=r}var e=t.prototype;return e.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},e.setZero=function(){return this.x=0,this.y=0,this.z=0,this},e.setFromNumber=function(t){return this.x=t,this.y=t,this.z=t,this},e.setFromArray=function(t,e){var r,i,n;return void 0===e&&(e=0),this.x=null!=(r=t[e])?r:0,this.y=null!=(i=t[e+1])?i:0,this.z=null!=(n=t[e+2])?n:0,this},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},e.clone=function(){return new t(this.x,this.y,this.z)},e.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t,this.z+=t):e$(t,Array)?(this.x+=t[0],this.y+=t[1],this.z+=t[2]):(this.x+=t.x,this.y+=t.y,this.z+=t.z),this},e.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},e.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},e.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t,this.z-=t):e$(t,Array)?(this.x-=t[0],this.y-=t[1],this.z-=t[2]):(this.x-=t.x,this.y-=t.y,this.z-=t.z),this},e.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},e.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t,this.z*=t):e$(t,Array)?(this.x*=t[0],this.y*=t[1],this.z*=t[2]):(this.x*=t.x,this.y*=t.y,this.z*=t.z),this},e.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},e.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t,this.z/=t):e$(t,Array)?(this.x/=t[0],this.y/=t[1],this.z/=t[2]):(this.x/=t.x,this.y/=t.y,this.z/=t.z),this},e.scale=function(t){return this.x*=t,this.y*=t,this.z*=t,this},e.sum=function(){return this.x+this.y+this.z},e.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t),this.z=Math.min(this.z,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z)),this},e.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t),this.z=Math.max(this.z,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},e.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},e.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},e.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this.z=Math.abs(this.z),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},e.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z},e.normalize=function(){return this.divide(this.length()||1)},e.setLength=function(t){return this.normalize().multiply(t)},e.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this},e.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this.z=t.z+(e.z-t.z)*r,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},e.cross=function(t){return this.crossVectors(this,t)},e.crossVectors=function(t,e){var r=t.x,i=t.y,n=t.z,o=e.x,a=e.y,s=e.z;return this.x=i*s-n*a,this.y=n*o-r*s,this.z=r*a-i*o,this},e.reflect=function(t){return this.subtract(t.clone().multiply(2*this.dot(t)))},e.distance=function(t){return Math.sqrt(this.distanceSquared(t))},e.distanceSquared=function(t){var e=this.x-t.x,r=this.y-t.y,i=this.z-t.z;return e*e+r*r+i*i},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},e.isZero=function(){var t=this.x,e=this.y,r=this.z;return 1e-6>=Math.abs(t)&&1e-6>=Math.abs(e)&&1e-6>=Math.abs(r)},e.toArray=function(){return[this.x,this.y,this.z]},e.toVector2=function(){return new rP(this.x,this.y)},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z},e.random=function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this},e.applyEuler=function(t,e){return t.rotateVector3(this,e)},e.applyQuaternion=function(t,e){return t.rotateVector3(this,e)},e.applyMatrix=function(t,e){return t.transformPoint(this,e)},e.applyNormalMatrix=function(t,e){return t.transformNormal(this,e)},e.applyProjectionMatrix=function(t,e){return t.projectPoint(this,e)},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t}();rV.X=new rV(1,0,0),rV.Y=new rV(0,1,0),rV.Z=new rV(0,0,1),rV.ONE=new rV(1,1,1),rV.ZERO=new rV(0,0,0);var rN=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=1),this.x=t,this.y=e,this.z=r,this.w=i}var e=t.prototype;return e.set=function(t,e,r,i){return this.x=t,this.y=e,this.z=r,this.w=i,this},e.setFromEuler=function(t){return t.toQuaternion(this),this},e.setFromAxisAngle=function(e,r){var i=r/2,n=Math.sin(i),o=t.tempVec0;return o.copyFrom(e).normalize(),this.x=o.x*n,this.y=o.y*n,this.z=o.z*n,this.w=Math.cos(i),this},e.setFromArray=function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this},e.setFromRotationMatrix=function(t){var e=t.elements,r=e[0],i=e[4],n=e[8],o=e[1],a=e[5],s=e[9],u=e[2],l=e[6],c=e[10],h=r+a+c;if(h>0){var f=.5/Math.sqrt(h+1);this.w=.25/f,this.x=(l-s)*f,this.y=(n-u)*f,this.z=(o-i)*f}else if(r>a&&r>c){var m=2*Math.sqrt(1+r-a-c);this.w=(l-s)/m,this.x=.25*m,this.y=(i+o)/m,this.z=(n+u)/m,this.negate()}else if(a>c){var d=2*Math.sqrt(1+a-r-c);this.w=(n-u)/d,this.x=(i+o)/d,this.y=.25*d,this.z=(s+l)/d,this.negate()}else{var p=2*Math.sqrt(1+c-r-a);this.w=(o-i)/p,this.x=(n+u)/p,this.y=(s+l)/p,this.z=.25*p,this.negate()}return this},e.setFromUnitVectors=function(t,e){var r=t.dot(e)+1;return r<Number.EPSILON?(r=0,Math.abs(t.x)>Math.abs(t.z)?(this.x=-t.y,this.y=t.x,this.z=0):(this.x=0,this.y=-t.z,this.z=t.y)):(this.x=t.y*e.z-t.z*e.y,this.y=t.z*e.x-t.x*e.z,this.z=t.x*e.y-t.y*e.x),this.w=r,this.normalize()},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.clone=function(){return new t(this.x,this.y,this.z,this.w)},e.angleTo=function(t){return 2*Math.acos(Math.abs(rM(this.dot(t),-1,1)))},e.rotateTowards=function(t,e){var r=this.angleTo(t);return 0===r||this.slerp(t,Math.min(1,e/r)),this},e.identity=function(){return this.set(0,0,0,1)},e.invert=function(){return this.conjugate()},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},e.conjugate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.normalize=function(){var t=this.length();return 0===t?(this.x=0,this.y=0,this.z=0,this.w=1):(t=1/t,this.x=this.x*t,this.y=this.y*t,this.z=this.z*t,this.w=this.w*t),this},e.multiply=function(t){return this.multiplyQuaternions(this,t)},e.premultiply=function(t){return this.multiplyQuaternions(t,this)},e.multiplyQuaternions=function(t,e){var r=t.x,i=t.y,n=t.z,o=t.w,a=e.x,s=e.y,u=e.z,l=e.w;return this.x=r*l+o*a+i*u-n*s,this.y=i*l+o*s+n*a-r*u,this.z=n*l+o*u+r*s-i*a,this.w=o*l-r*a-i*s-n*u,this},e.slerp=function(t,e){if(0===e)return this;if(1===e)return this.copyFrom(t);var r=this.x,i=this.y,n=this.z,o=this.w,a=o*t.w+r*t.x+i*t.y+n*t.z;if(a<0?(this.w=-t.w,this.x=-t.x,this.y=-t.y,this.z=-t.z,a=-a):this.copyFrom(t),a>=1)return this.w=o,this.x=r,this.y=i,this.z=n,this;var s=1-a*a;if(s<=Number.EPSILON){var u=1-e;return this.w=u*o+e*this.w,this.x=u*r+e*this.x,this.y=u*i+e*this.y,this.z=u*n+e*this.z,this.normalize(),this}var l=Math.sqrt(s),c=Math.atan2(l,a),h=Math.sin((1-e)*c)/l,f=Math.sin(e*c)/l;return this.w=o*h+this.w*f,this.x=r*h+this.x*f,this.y=i*h+this.y*f,this.z=n*h+this.z*f,this},e.slerpQuaternions=function(t,e,r){this.copyFrom(t).slerp(e,r)},e.rotateVector3=function(t,e){var r=this.x,i=this.y,n=this.z,o=this.w,a=t.x,s=t.y,u=t.z,l=o*a+i*u-n*s,c=o*s+n*a-r*u,h=o*u+r*s-i*a,f=-r*a-i*s-n*u,m=null!=e?e:t;return m.x=l*o+-(f*r)+-(c*n)- -(h*i),m.y=c*o+-(f*i)+-(h*r)- -(l*n),m.z=h*o+-(f*n)+-(l*i)- -(c*r),m},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},e.toArray=function(){return[this.x,this.y,this.z,this.w]},e.toVector4=function(t){return t.set(this.x,this.y,this.z,this.w)},e.toEuler=function(t){return t.setFromQuaternion(this)},e.toMatrix4=function(t){return t.compose(rV.ZERO,this,rV.ONE)},t.fromEuler=function(e){return new t().setFromEuler(e)},t.fromAxisAngle=function(e,r){return new t().setFromAxisAngle(e,r)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromRotationMatrix=function(e){return new t().setFromRotationMatrix(e)},t.fromUnitVectors=function(e,r){return new t().setFromUnitVectors(e,r)},t}();rN.tempVec0=new rV;var rF=function(){function t(t,e,r,i,n,o,a,s,u,l,c,h,f,m,d,p){void 0===t&&(t=1),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=1),void 0===a&&(a=0),void 0===s&&(s=0),void 0===u&&(u=0),void 0===l&&(l=0),void 0===c&&(c=1),void 0===h&&(h=0),void 0===f&&(f=0),void 0===m&&(m=0),void 0===d&&(d=0),void 0===p&&(p=1),this.elements=[t,e,r,i,n,o,a,s,u,l,c,h,f,m,d,p]}var e=t.prototype;return e.set=function(t,e,r,i,n,o,a,s,u,l,c,h,f,m,d,p){var v=this.elements;return v[0]=t,v[1]=e,v[2]=r,v[3]=i,v[4]=n,v[5]=o,v[6]=a,v[7]=s,v[8]=u,v[9]=l,v[10]=c,v[11]=h,v[12]=f,v[13]=m,v[14]=d,v[15]=p,this},e.setFromRowMajorData=function(t,e,r,i,n,o,a,s,u,l,c,h,f,m,d,p){var v=this.elements;return v[0]=t,v[4]=e,v[8]=r,v[12]=i,v[1]=n,v[5]=o,v[9]=a,v[13]=s,v[2]=u,v[6]=l,v[10]=c,v[14]=h,v[3]=f,v[7]=m,v[11]=d,v[15]=p,this},e.setFromColumnVectors=function(t,e,r,i){return this.set(t.x,t.y,t.z,t.w,e.x,e.y,e.z,e.w,r.x,r.y,r.z,r.w,i.x,i.y,i.z,i.w)},e.setFromMatrix3=function(t){var e=t.elements;return this.set(e[0],e[1],e[2],0,e[3],e[4],e[5],0,e[6],e[7],e[8],0,0,0,0,1),this},e.setFromArray=function(t,e){void 0===e&&(e=0);for(var r=0;r<16;r++)this.elements[r]=t[e+r];return this},e.setFromScale=function(t,e,r){return this.set(t,0,0,0,0,e,0,0,0,0,r,0,0,0,0,1)},e.setFromTranslation=function(t,e,r){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,t,e,r,1)},e.setFromRotationX=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(1,0,0,0,0,e,r,0,0,-r,e,0,0,0,0,1)},e.setFromRotationY=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(e,0,-r,0,0,1,0,0,r,0,e,0,0,0,0,1)},e.setFromRotationZ=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(e,r,0,0,-r,e,0,0,0,0,1,0,0,0,0,1)},e.setFromRotationAxis=function(e,r){var i=t.tempVec0;i.copyFrom(e).normalize();var n=Math.cos(r),o=Math.sin(r),a=1-n,s=i.x,u=i.y,l=i.z,c=a*s,h=a*u;return this.set(c*s+n,c*u+o*l,c*l-o*u,0,c*u-o*l,h*u+n,h*l+o*s,0,c*l+o*u,h*l-o*s,a*l*l+n,0,0,0,0,1)},e.setFromEuler=function(t){return t.toMatrix4(this),this},e.setFromQuaternion=function(t){return this.compose(rV.ZERO,t,rV.ONE)},e.setFromShear=function(t,e,r){return this.set(1,t,t,0,e,1,e,0,r,r,1,0,0,0,0,1)},e.setFromBasis=function(t,e,r){return this.set(t.x,t.y,t.z,0,e.x,e.y,e.z,0,r.x,r.y,r.z,0,0,0,0,1)},e.setZero=function(){for(var t=0;t<16;t++)this.elements[t]=0;return this},e.identity=function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},e.isIdentity=function(){var t=this.elements;return 1===t[0]&&0===t[4]&&0===t[8]&&0===t[12]&&0===t[1]&&1===t[5]&&0===t[9]&&0===t[13]&&0===t[2]&&0===t[6]&&1===t[10]&&0===t[14]&&0===t[3]&&0===t[7]&&0===t[11]&&1===t[15]},e.clone=function(){var e=this.elements;return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},e.copyFrom=function(t){return this.elements=[].concat(t.elements),this},e.getColumnVector=function(t,e){return e.set(this.elements[4*t],this.elements[4*t+1],this.elements[4*t+2],this.elements[4*t+3])},e.lookAt=function(e,r,i){var n=t.tempVec0,o=t.tempVec1,a=t.tempVec2;a.subtractVectors(e,r),a.normalize(),n.crossVectors(i,a),n.normalize(),o.crossVectors(a,n);var s=this.elements;return s[0]=n.x,s[1]=o.x,s[2]=a.x,s[3]=0,s[4]=n.y,s[5]=o.y,s[6]=a.y,s[7]=0,s[8]=n.z,s[9]=o.z,s[10]=a.z,s[11]=0,s[12]=-n.dot(e),s[13]=-o.dot(e),s[14]=-a.dot(e),s[15]=1,this},e.addScaledMatrix=function(t,e){for(var r=this.elements,i=t.elements,n=0;n<16;n++)r[n]+=i[n]*e;return this},e.multiply=function(t){if("number"!=typeof t)return this.multiplyMatrices(this,t);for(var e=0;e<16;e++)this.elements[e]*=t;return this},e.premultiply=function(t){return this.multiplyMatrices(t,this)},e.multiplyMatrices=function(t,e){var r=t.elements,i=e.elements,n=this.elements,o=r[0],a=r[4],s=r[8],u=r[12],l=r[1],c=r[5],h=r[9],f=r[13],m=r[2],d=r[6],p=r[10],v=r[14],y=r[3],g=r[7],x=r[11],T=r[15],E=i[0],_=i[4],C=i[8],A=i[12],S=i[1],R=i[5],b=i[9],O=i[13],w=i[2],I=i[6],L=i[10],M=i[14],P=i[3],V=i[7],N=i[11],F=i[15];return n[0]=o*E+a*S+s*w+u*P,n[4]=o*_+a*R+s*I+u*V,n[8]=o*C+a*b+s*L+u*N,n[12]=o*A+a*O+s*M+u*F,n[1]=l*E+c*S+h*w+f*P,n[5]=l*_+c*R+h*I+f*V,n[9]=l*C+c*b+h*L+f*N,n[13]=l*A+c*O+h*M+f*F,n[2]=m*E+d*S+p*w+v*P,n[6]=m*_+d*R+p*I+v*V,n[10]=m*C+d*b+p*L+v*N,n[14]=m*A+d*O+p*M+v*F,n[3]=y*E+g*S+x*w+T*P,n[7]=y*_+g*R+x*I+T*V,n[11]=y*C+g*b+x*L+T*N,n[15]=y*A+g*O+x*M+T*F,this},e.multiplyScalar=function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this},e.determinant=function(){var t=this.elements,e=t[0],r=t[4],i=t[8],n=t[12],o=t[1],a=t[5],s=t[9],u=t[13],l=t[2],c=t[6],h=t[10],f=t[14];return t[3]*(+n*s*c-i*u*c-n*a*h+r*u*h+i*a*f-r*s*f)+t[7]*(+e*s*f-e*u*h+n*o*h-i*o*f+i*u*l-n*s*l)+t[11]*(+e*u*c-e*a*f-n*o*c+r*o*f+n*a*l-r*u*l)+t[15]*(-i*a*l-e*s*c+e*a*h+i*o*c-r*o*h+r*s*l)},e.transpose=function(){var t,e=this.elements;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this},e.invert=function(){var t=this.elements,e=t[0],r=t[1],i=t[2],n=t[3],o=t[4],a=t[5],s=t[6],u=t[7],l=t[8],c=t[9],h=t[10],f=t[11],m=t[12],d=t[13],p=t[14],v=t[15],y=c*p*u-d*h*u+d*s*f-a*p*f-c*s*v+a*h*v,g=m*h*u-l*p*u-m*s*f+o*p*f+l*s*v-o*h*v,x=l*d*u-m*c*u+m*a*f-o*d*f-l*a*v+o*c*v,T=m*c*s-l*d*s-m*a*h+o*d*h+l*a*p-o*c*p,E=e*y+r*g+i*x+n*T;if(0===E)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);var _=1/E;return t[0]=y*_,t[1]=(d*h*n-c*p*n-d*i*f+r*p*f+c*i*v-r*h*v)*_,t[2]=(a*p*n-d*s*n+d*i*u-r*p*u-a*i*v+r*s*v)*_,t[3]=(c*s*n-a*h*n-c*i*u+r*h*u+a*i*f-r*s*f)*_,t[4]=g*_,t[5]=(l*p*n-m*h*n+m*i*f-e*p*f-l*i*v+e*h*v)*_,t[6]=(m*s*n-o*p*n-m*i*u+e*p*u+o*i*v-e*s*v)*_,t[7]=(o*h*n-l*s*n+l*i*u-e*h*u-o*i*f+e*s*f)*_,t[8]=x*_,t[9]=(m*c*n-l*d*n-m*r*f+e*d*f+l*r*v-e*c*v)*_,t[10]=(o*d*n-m*a*n+m*r*u-e*d*u-o*r*v+e*a*v)*_,t[11]=(l*a*n-o*c*n-l*r*u+e*c*u+o*r*f-e*a*f)*_,t[12]=T*_,t[13]=(l*d*i-m*c*i+m*r*h-e*d*h-l*r*p+e*c*p)*_,t[14]=(m*a*i-o*d*i-m*r*s+e*d*s+o*r*p-e*a*p)*_,t[15]=(o*c*i-l*a*i+l*r*s-e*c*s-o*r*h+e*a*h)*_,this},e.extractBasis=function(t,e,r){var i=this.elements;return t.set(i[0],i[1],i[2]),e.set(i[4],i[5],i[6]),r.set(i[8],i[9],i[10]),this},e.compose=function(t,e,r,i){void 0===i&&(i=rV.ZERO);var n=this.elements,o=e.x,a=e.y,s=e.z,u=e.w,l=-i.x,c=-i.y,h=-i.z,f=o+o,m=a+a,d=s+s,p=o*f,v=o*m,y=o*d,g=a*m,x=a*d,T=s*d,E=u*f,_=u*m,C=u*d,A=r.x,S=r.y,R=r.z;return n[0]=(1-(g+T))*A,n[1]=(v+C)*A,n[2]=(y-_)*A,n[3]=0,n[4]=(v-C)*S,n[5]=(1-(p+T))*S,n[6]=(x+E)*S,n[7]=0,n[8]=(y+_)*R,n[9]=(x-E)*R,n[10]=(1-(p+g))*R,n[11]=0,n[12]=l*n[0]+c*n[4]+h*n[8]-l+t.x,n[13]=l*n[1]+c*n[5]+h*n[9]-c+t.y,n[14]=l*n[2]+c*n[6]+h*n[10]-h+t.z,this},e.decompose=function(e,r,i){var n=t.tempVec0,o=this.elements,a=n.set(o[0],o[1],o[2]).length(),s=n.set(o[4],o[5],o[6]).length(),u=n.set(o[8],o[9],o[10]).length();0>this.determinant()&&(a=-a),e.x=o[12],e.y=o[13],e.z=o[14];var l=t.tempMat0;l.copyFrom(this);var c=1/a,h=1/s,f=1/u;return l.elements[0]*=c,l.elements[1]*=c,l.elements[2]*=c,l.elements[4]*=h,l.elements[5]*=h,l.elements[6]*=h,l.elements[8]*=f,l.elements[9]*=f,l.elements[10]*=f,r.setFromRotationMatrix(l),i.x=a,i.y=s,i.z=u,this},e.getTranslation=function(t){var e=this.elements;return t.set(e[12],e[13],e[14])},e.getScale=function(t){var e=this.elements;return t.set(Math.hypot(e[0],e[1],e[2]),Math.hypot(e[4],e[5],e[6]),Math.hypot(e[8],e[9],e[10]))},e.getTransform=function(){var t=new rV,e=new rN,r=new rV;return this.decompose(t,e,r),{translation:t,rotation:e,scale:r}},e.orthographic=function(t,e,r,i,n,o){var a=1/(e-t),s=1/(r-i),u=1/(o-n),l=-(e+t)*a,c=-(r+i)*s,h=-(o+n)*u;a*=2,s*=2,u*=-2;var f=this.elements;return f[0]=a,f[1]=0,f[2]=0,f[3]=0,f[4]=0,f[5]=s,f[6]=0,f[7]=0,f[8]=0,f[9]=0,f[10]=u,f[11]=0,f[12]=l,f[13]=c,f[14]=h,f[15]=1,this},e.perspective=function(t,e,r,i,n){var o=1/Math.tan(.5*t),a=1/(r-i),s=this.elements;return s[0]=n?o:o/e,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=n?o*e:o,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=(i+r)*a,s[11]=-1,s[12]=0,s[13]=0,s[14]=2*i*r*a,s[15]=0,(null===i||i===1/0)&&(s[10]=-1,s[14]=-2*r),this},e.projectPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;a.x=o[0]*r+o[4]*i+o[8]*n+o[12],a.y=o[1]*r+o[5]*i+o[9]*n+o[13],a.z=o[2]*r+o[6]*i+o[10]*n+o[14];var s=o[3]*r+o[7]*i+o[11]*n+o[15];return a.multiply(1/s)},e.transformPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[4]*i+o[8]*n+o[12],a.y=o[1]*r+o[5]*i+o[9]*n+o[13],a.z=o[2]*r+o[6]*i+o[10]*n+o[14],a},e.transformNormal=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[4]*i+o[8]*n,a.y=o[1]*r+o[5]*i+o[9]*n,a.z=o[2]*r+o[6]*i+o[10]*n,a.normalize()},e.transformVector4=function(t,e){var r=t.x,i=t.y,n=t.z,o=t.w,a=this.elements,s=null!=e?e:t;return s.x=a[0]*r+a[4]*i+a[8]*n+a[12]*o,s.y=a[1]*r+a[5]*i+a[9]*n+a[13]*o,s.z=a[2]*r+a[6]*i+a[10]*n+a[14]*o,s.w=a[3]*r+a[7]*i+a[11]*n+a[15]*o,s},e.equals=function(t){for(var e=this.elements,r=t.elements,i=0;i<16;i++)if(!rI(e[i],r[i]))return!1;return!0},e.toArray=function(){return[].concat(this.elements)},e.fill=function(t,e){void 0===e&&(e=0);var r=this.elements;t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8],t[e+9]=r[9],t[e+10]=r[10],t[e+11]=r[11],t[e+12]=r[12],t[e+13]=r[13],t[e+14]=r[14],t[e+15]=r[15]},t.fromIdentity=function(){return new t(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},t.fromLookAt=function(e,r,i){return new t().lookAt(e,r,i)},t.fromPerspective=function(e,r,i,n,o){return new t().perspective(e,r,i,n,o)},t.fromColumnVectors=function(e,r,i,n){return new t().setFromColumnVectors(e,r,i,n)},t.fromMatrix3=function(e){return new t().setFromMatrix3(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromScale=function(e,r,i){return new t().setFromScale(e,r,i)},t.fromTranslation=function(e,r,i){return new t().setFromTranslation(e,r,i)},t.fromRotationX=function(e){return new t().setFromRotationX(e)},t.fromRotationY=function(e){return new t().setFromRotationY(e)},t.fromRotationZ=function(e){return new t().setFromRotationZ(e)},t.fromRotationAxis=function(e,r){return new t().setFromRotationAxis(e,r)},t.fromEuler=function(e){return new t().setFromEuler(e)},t.fromQuaternion=function(e){return new t().setFromQuaternion(e)},t.fromShear=function(e,r,i){return new t().setFromShear(e,r,i)},t.fromBasis=function(e,r,i){return new t().setFromBasis(e,r,i)},t.fromRowMajorData=function(e,r,i,n,o,a,s,u,l,c,h,f,m,d,p,v){return new t(e,o,l,m,r,a,c,d,i,s,h,p,n,u,f,v)},t}();rF.IDENTITY=new rF(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),rF.ZERO=new rF(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),rF.tempVec0=new rV,rF.tempVec1=new rV,rF.tempVec2=new rV,rF.tempMat0=new rF,(n=tV||(tV={}))[n.XYZ=0]="XYZ",n[n.XZY=1]="XZY",n[n.YXZ=2]="YXZ",n[n.YZX=3]="YZX",n[n.ZXY=4]="ZXY",n[n.ZYX=5]="ZYX";var rz=function(){function t(e,r,i,n){void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=t.DEFAULT_ORDER),this.x=e,this.y=r,this.z=i,this.order=n}var e=t.prototype;return e.set=function(t,e,r,i){return void 0===i&&(i=this.order),this.x=t,this.y=e,this.z=r,this.order=i,this},e.setZero=function(t){return void 0===t&&(t=this.order),this.set(0,0,0,t)},e.setFromRotationMatrix4=function(t,e){void 0===e&&(e=this.order);var r=t.elements,i=r[0],n=r[4],o=r[8],a=r[1],s=r[5],u=r[9],l=r[2],c=r[6],h=r[10];switch(e){case tV.XYZ:this.y=Math.asin(rM(o,-1,1)),.9999999>Math.abs(o)?(this.x=Math.atan2(-u,h),this.z=Math.atan2(-n,i)):(this.x=Math.atan2(c,s),this.z=0);break;case tV.YXZ:this.x=Math.asin(-rM(u,-1,1)),.9999999>Math.abs(u)?(this.y=Math.atan2(o,h),this.z=Math.atan2(a,s)):(this.y=Math.atan2(-l,i),this.z=0);break;case tV.ZXY:this.x=Math.asin(rM(c,-1,1)),.9999999>Math.abs(c)?(this.y=Math.atan2(-l,h),this.z=Math.atan2(-n,s)):(this.y=0,this.z=Math.atan2(a,i));break;case tV.ZYX:this.y=Math.asin(-rM(l,-1,1)),.9999999>Math.abs(l)?(this.x=Math.atan2(c,h),this.z=Math.atan2(a,i)):(this.x=0,this.z=Math.atan2(-n,s));break;case tV.YZX:this.z=Math.asin(rM(a,-1,1)),.9999999>Math.abs(a)?(this.x=Math.atan2(-u,s),this.y=Math.atan2(-l,i)):(this.x=0,this.y=Math.atan2(o,h));break;case tV.XZY:this.z=Math.asin(-rM(n,-1,1)),.9999999>Math.abs(n)?(this.x=Math.atan2(c,s),this.y=Math.atan2(o,i)):(this.x=Math.atan2(-u,h),this.y=0);break;default:console.error("setFromRotationMatrix: unknown order: "+e)}return this.x*=rw,this.y*=rw,this.z*=rw,this.order=e,this},e.setFromQuaternion=function(e,r){void 0===r&&(r=this.order);var i=t.tempMat0;return i.setFromQuaternion(e),this.setFromRotationMatrix4(i,r)},e.setFromVector3=function(t,e){return void 0===e&&(e=this.order),this.set(t.x,t.y,t.z,e)},e.setFromArray=function(t,e,r){var i,n,o,a;return void 0===e&&(e=0),void 0===r&&(r=this.order),this.x=null!=(i=t[e])?i:0,this.y=null!=(n=t[e+1])?n:0,this.z=null!=(o=t[e+2])?o:0,this.order=null!=(a=t[e+3])?a:r,this},e.clone=function(){return new t(this.x,this.y,this.z,this.order)},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.order=t.order,this},e.add=function(t){return this.order!=t.order?console.error("add euler with different order"):(this.x+=t.x,this.y+=t.y,this.z+=t.z),this},e.addEulers=function(t,e){return t.order!=e.order?console.error("add euler with different order"):(this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.order=t.order),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},e.reorder=function(t){var e=new rN;return e.setFromEuler(this),this.setFromQuaternion(e,t)},e.rotateVector3=function(e,r){return t.tempQuat0.setFromEuler(this).rotateVector3(e,r)},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.order===this.order},e.toVector3=function(t){return t.set(this.x,this.y,this.z)},e.toArray=function(){return[this.x,this.y,this.z]},e.toQuaternion=function(t){var e=this.x,r=this.y,i=this.z,n=this.order,o=Math.cos(e*rO*.5),a=Math.cos(r*rO*.5),s=Math.cos(i*rO*.5),u=Math.sin(e*rO*.5),l=Math.sin(r*rO*.5),c=Math.sin(i*rO*.5);switch(n){case tV.XYZ:t.set(u*a*s+o*l*c,o*l*s-u*a*c,o*a*c+u*l*s,o*a*s-u*l*c);break;case tV.YXZ:t.set(u*a*s+o*l*c,o*l*s-u*a*c,o*a*c-u*l*s,o*a*s+u*l*c);break;case tV.ZXY:t.set(u*a*s-o*l*c,o*l*s+u*a*c,o*a*c+u*l*s,o*a*s-u*l*c);break;case tV.ZYX:t.set(u*a*s-o*l*c,o*l*s+u*a*c,o*a*c-u*l*s,o*a*s+u*l*c);break;case tV.YZX:t.set(u*a*s+o*l*c,o*l*s+u*a*c,o*a*c-u*l*s,o*a*s-u*l*c);break;case tV.XZY:t.set(u*a*s-o*l*c,o*l*s-u*a*c,o*a*c+u*l*s,o*a*s+u*l*c);break;default:console.error("unknown euler order: "+n)}return t},e.toMatrix4=function(t){var e=t.elements,r=this.x,i=this.y,n=this.z,o=this.order,a=Math.cos(r*rO),s=Math.sin(r*rO),u=Math.cos(i*rO),l=Math.sin(i*rO),c=Math.cos(n*rO),h=Math.sin(n*rO);if(o===tV.XYZ){var f=a*c,m=a*h,d=s*c,p=s*h;e[0]=u*c,e[4]=-u*h,e[8]=l,e[1]=m+d*l,e[5]=f-p*l,e[9]=-s*u,e[2]=p-f*l,e[6]=d+m*l,e[10]=a*u}else if(o===tV.YXZ){var v=u*c,y=u*h,g=l*c,x=l*h;e[0]=v+x*s,e[4]=g*s-y,e[8]=a*l,e[1]=a*h,e[5]=a*c,e[9]=-s,e[2]=y*s-g,e[6]=x+v*s,e[10]=a*u}else if(o===tV.ZXY){var T=u*c,E=u*h,_=l*c,C=l*h;e[0]=T-C*s,e[4]=-a*h,e[8]=_+E*s,e[1]=E+_*s,e[5]=a*c,e[9]=C-T*s,e[2]=-a*l,e[6]=s,e[10]=a*u}else if(o===tV.ZYX){var A=a*c,S=a*h,R=s*c,b=s*h;e[0]=u*c,e[4]=R*l-S,e[8]=A*l+b,e[1]=u*h,e[5]=b*l+A,e[9]=S*l-R,e[2]=-l,e[6]=s*u,e[10]=a*u}else if(o===tV.YZX){var O=a*u,w=a*l,I=s*u,L=s*l;e[0]=u*c,e[4]=L-O*h,e[8]=I*h+w,e[1]=h,e[5]=a*c,e[9]=-s*c,e[2]=-l*c,e[6]=w*h+I,e[10]=O-L*h}else if(o===tV.XZY){var M=a*u,P=a*l,V=s*u,N=s*l;e[0]=u*c,e[4]=-h,e[8]=l*c,e[1]=M*h+N,e[5]=a*c,e[9]=P*h-V,e[2]=V*h-P,e[6]=s*c,e[10]=N*h+M}else console.error("toMatrix4: Invalid order "+o);return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,t},t.fromRotationMatrix4=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),new t().setFromRotationMatrix4(e,r)},t.fromQuaternion=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),new t().setFromQuaternion(e,r)},t.fromVector3=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),new t().setFromVector3(e,r)},t.fromArray=function(e,r,i){return void 0===r&&(r=0),void 0===i&&(i=t.DEFAULT_ORDER),new t().setFromArray(e,r,i)},t}();rz.DEFAULT_ORDER=tV.ZYX,rz.tempQuat0=new rN,rz.tempMat0=new rF,/*!
8
- * Name: @galacean/effects-specification
9
- * Description: Galacean Effects JSON Specification
10
- * Author: Ant Group CO., Ltd.
11
- * Version: v2.0.0-alpha.9
12
- */"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);for(var rD=[],rU=0;rU<256;++rU)rD.push((rU+256).toString(16).slice(1));(o=tN||(tN={})).S="S",o.APlus="A+",o.A="A",o.BPlus="B+",o.B="B",(a=tF||(tF={}))[a.ALPHA=0]="ALPHA",a[a.ADD=1]="ADD",a[a.MULTIPLY=2]="MULTIPLY",a[a.BRIGHTNESS=3]="BRIGHTNESS",a[a.SUBTRACTION=4]="SUBTRACTION",a[a.STRONG_LIGHT=5]="STRONG_LIGHT",a[a.WEAK_LIGHT=6]="WEAK_LIGHT",a[a.SUPERPOSITION=7]="SUPERPOSITION",(s=tz||(tz={}))[s.DOUBLE=1032]="DOUBLE",s[s.FRONT=1028]="FRONT",s[s.BACK=1029]="BACK",(u=tD||(tD={}))[u.NONE=0]="NONE",u[u.MASK=1]="MASK",u[u.OBSCURED=2]="OBSCURED",u[u.REVERSE_OBSCURED=3]="REVERSE_OBSCURED",(l=tU||(tU={}))[l.NONE=0]="NONE",l[l.SPHERE=1]="SPHERE",l[l.CONE=2]="CONE",l[l.HEMISPHERE=3]="HEMISPHERE",l[l.CIRCLE=4]="CIRCLE",l[l.DONUT=5]="DONUT",l[l.RECTANGLE=6]="RECTANGLE",l[l.RECTANGLE_EDGE=7]="RECTANGLE_EDGE",l[l.EDGE=8]="EDGE",l[l.TEXTURE=9]="TEXTURE",(c=tk||(tk={}))[c.GYROSCOPE=0]="GYROSCOPE",c[c.SPINE=1]="SPINE",(h=tB||(tB={}))[h.CLICK=0]="CLICK",h[h.MESSAGE=1]="MESSAGE",h[h.DRAG=2]="DRAG",(f=tG||(tG={}))[f.NONE=0]="NONE",f[f.NOTIFY=1]="NOTIFY",f[f.RESUME_PLAYER=2]="RESUME_PLAYER",f[f.REMOVE=3]="REMOVE",f[f.PAUSE=4]="PAUSE",(m=tX||(tX={})).base="0",m.sprite="1",m.particle="2",m.null="3",m.interact="4",m.plugin="5",m.camera="6",m.composition="7",m.spine="spine",m.mesh="mesh",m.tree="tree",m.text="text",m.light="light",m.skybox="skybox",m.effect="effect",(d=tH||(tH={}))[d.BILLBOARD=0]="BILLBOARD",d[d.MESH=1]="MESH",d[d.VERTICAL_BILLBOARD=2]="VERTICAL_BILLBOARD",d[d.HORIZONTAL_BILLBOARD=3]="HORIZONTAL_BILLBOARD",(p=tY||(tY={}))[p.PARTICLE_ORIGIN_CENTER=0]="PARTICLE_ORIGIN_CENTER",p[p.PARTICLE_ORIGIN_LEFT_TOP=1]="PARTICLE_ORIGIN_LEFT_TOP",p[p.PARTICLE_ORIGIN_LEFT_CENTER=2]="PARTICLE_ORIGIN_LEFT_CENTER",p[p.PARTICLE_ORIGIN_LEFT_BOTTOM=3]="PARTICLE_ORIGIN_LEFT_BOTTOM",p[p.PARTICLE_ORIGIN_CENTER_TOP=4]="PARTICLE_ORIGIN_CENTER_TOP",p[p.PARTICLE_ORIGIN_CENTER_BOTTOM=5]="PARTICLE_ORIGIN_CENTER_BOTTOM",p[p.PARTICLE_ORIGIN_RIGHT_TOP=6]="PARTICLE_ORIGIN_RIGHT_TOP",p[p.PARTICLE_ORIGIN_RIGHT_CENTER=7]="PARTICLE_ORIGIN_RIGHT_CENTER",p[p.PARTICLE_ORIGIN_RIGHT_BOTTOM=8]="PARTICLE_ORIGIN_RIGHT_BOTTOM",(v=tj||(tj={}))[v.portrait=1]="portrait",v[v.landscape=0]="landscape",(y=tW||(tW={}))[y.destroy=0]="destroy",y[y.pause=1]="pause",y[y.restart=5]="restart",y[y.forward=2]="forward",y[y.pause_destroy=3]="pause_destroy",y[y.freeze=4]="freeze",(g=tZ||(tZ={})).video="video",g.image="image",(x=tq||(tq={}))[x.CONSTANT=0]="CONSTANT",x[x.CONSTANT_VEC2=1]="CONSTANT_VEC2",x[x.CONSTANT_VEC3=2]="CONSTANT_VEC3",x[x.CONSTANT_VEC4=3]="CONSTANT_VEC4",x[x.RANDOM=4]="RANDOM",x[x.LINE=5]="LINE",x[x.CURVE=6]="CURVE",x[x.BEZIER_PATH=7]="BEZIER_PATH",x[x.RGBA_COLOR=8]="RGBA_COLOR",x[x.GRADIENT_COLOR=9]="GRADIENT_COLOR",x[x.SHAPE_POINTS=10]="SHAPE_POINTS",x[x.SHAPE_SPLITS=11]="SHAPE_SPLITS",x[x.LINEAR_PATH=12]="LINEAR_PATH",x[x.COLORS=13]="COLORS",x[x.BINARY=20]="BINARY",x[x.BEZIER_CURVE=21]="BEZIER_CURVE",x[x.BEZIER_CURVE_PATH=22]="BEZIER_CURVE_PATH",(T=tK||(tK={}))[T.AUTO=0]="AUTO",T[T.EASE=1]="EASE",T[T.EASE_IN=2]="EASE_IN",T[T.EASE_OUT=3]="EASE_OUT",T[T.LINE=4]="LINE",T[T.HOLD=5]="HOLD",T[T.LINE_OUT=6]="LINE_OUT",(E=tQ||(tQ={}))[E.destroy=0]="destroy",E[E.loop=5]="loop",E[E.freeze=4]="freeze",(_=tJ||(tJ={}))[_.destroyChildren=6]="destroyChildren",(C=t$||(t$={}))[C.none=0]="none",C[C.removeParticle=1]="removeParticle",(A=t0||(t0={}))[A.RANDOM=0]="RANDOM",A[A.UNIDIRECTIONAL_CYCLE=1]="UNIDIRECTIONAL_CYCLE",A[A.BIDIRECTIONAL_CYCLE=2]="BIDIRECTIONAL_CYCLE",A[A.UNIFORM_BURST=3]="UNIFORM_BURST",(S=t1||(t1={})).point="point",S.spot="spot",S.directional="directional",S.ambient="ambient",(R=t2||(t2={}))[R.box=2]="box",R[R.sphere=3]="sphere",(b=t3||(t3={})).orthographic="orthographic",b.perspective="perspective",(O=t4||(t4={})).unlit="unlit",O.pbr="pbr",O.hair="hair",(w=t5||(t5={}))[w.opaque=100]="opaque",w[w.masked=101]="masked",w[w.translucent=102]="translucent",w[w.additive=103]="additive",(I=t6||(t6={})).none="none",I.uv="uv",I.normal="normal",I.basecolor="basecolor",I.alpha="alpha",I.metallic="metallic",I.roughness="roughness",I.ao="ao",I.emissive="emissive",(L=t8||(t8={}))[L.display=0]="display",L[L.clip=1]="clip",L[L.ellipsis=2]="ellipsis",(M=t9||(t9={}))[M.top=0]="top",M[M.middle=1]="middle",M[M.bottom=2]="bottom",(P=t7||(t7={}))[P.left=0]="left",P[P.middle=1]="middle",P[P.right=2]="right",(V=et||(et={})).normal="normal",V.bold="bold",V.lighter="lighter",(N=ee||(ee={})).normal="normal",N.italic="italic",N.oblique="oblique",(F=er||(er={})).VFXItemData="VFXItemData",F.EffectComponent="EffectComponent",F.Material="Material",F.Shader="Shader",F.SpriteComponent="SpriteComponent",F.ParticleSystem="ParticleSystem",F.InteractComponent="InteractComponent",F.CameraController="CameraController",F.Geometry="Geometry",F.Texture="Texture",F.TextComponent="TextComponent",F.MeshComponent="MeshComponent",F.SkyboxComponent="SkyboxComponent",F.LightComponent="LightComponent",F.CameraComponent="CameraComponent",F.ModelPluginComponent="ModelPluginComponent",F.TreeComponent="TreeComponent",(z=ei||(ei={}))[z.POINTS=0]="POINTS",z[z.LINES=1]="LINES",z[z.LINE_LOOP=2]="LINE_LOOP",z[z.LINE_STRIP=3]="LINE_STRIP",z[z.TRIANGLES=4]="TRIANGLES",z[z.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",z[z.TRIANGLE_FAN=6]="TRIANGLE_FAN";var rk=Object.freeze({__proto__:null,get BackgroundType(){return tZ},get BezierKeyframeType(){return tK},get BlendingMode(){return tF},BuiltinObjectGUID:function(){function t(){}return t.WhiteTexture="whitetexture00000000000000000000",t.PBRShader="pbr00000000000000000000000000000",t.UnlitShader="unlit000000000000000000000000000",t}(),CAMERA_CLIP_MODE_NORMAL:0,CAMERA_CLIP_MODE_VERTICAL:1,get CameraClipMode(){return tj},get CameraType(){return t3},get CompositionEndBehavior(){return tW},get DataType(){return er},END_BEHAVIOR_DESTROY:0,END_BEHAVIOR_DESTROY_CHILDREN:6,END_BEHAVIOR_FORWARD:2,END_BEHAVIOR_FREEZE:4,END_BEHAVIOR_PAUSE:1,END_BEHAVIOR_PAUSE_AND_DESTROY:3,END_BEHAVIOR_RESTART:5,get FontStyle(){return ee},get GeometryType(){return ei},get InteractBehavior(){return tG},get InteractType(){return tB},get ItemEndBehavior(){return tQ},get ItemType(){return tX},get LightType(){return t1},MESSAGE_ITEM_PHRASE_BEGIN:2,MESSAGE_ITEM_PHRASE_END:1,get MaskMode(){return tD},get MaterialBlending(){return t5},get MaterialType(){return t4},get ModelBoundingType(){return t2},get ParentItemEndBehavior(){return tJ},get ParticleInteractionBehavior(){return t$},get ParticleOrigin(){return tY},get PluginType(){return tk},get RenderLevel(){return tN},get RenderMode(){return tH},get RenderMode3D(){return t6},get ShapeArcMode(){return t0},get ShapeType(){return tU},get SideMode(){return tz},get TextAlignment(){return t7},get TextBaseline(){return t9},get TextOverflow(){return t8},get TextWeight(){return et},get ValueType(){return tq}}),rB={},rG={},rX={};function rH(t){var e=t.constructor.name;if(rX[e])return rX[e];rX[e]={};for(var r=rX[e],i=t,n=e;n;){var o=rG[n];for(var a in o)r[a]=o[a];var s=Object.getPrototypeOf(i);if("Object"===(n=Object.getPrototypeOf(s).constructor.name))break;i=s}return r}function rY(t){return function(e,r){var i,n=(rG[i=e.constructor.name]||(rG[i]={}),rG[i]);n[r]||(n[r]={type:0,sourceName:t})}}function rj(t){return function(e,r){rB[t]&&console.warn("Class "+t+" 重复注册"),rB[t]=e}}var rW=function(){function t(t){this.engine=t,this.guid=rE(),this.taggedProperties={},this.engine.addInstance(this)}var e=t.prototype;return e.getInstanceId=function(){return this.guid},e.setInstanceId=function(t){this.engine.removeInstance(this.guid),this.guid=t,this.engine.addInstance(this)},e.toData=function(){},e.fromData=function(t){t.id&&this.setInstanceId(t.id)},e.dispose=function(){},t}();e1([rY()],rW.prototype,"guid",void 0);var rZ=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.onAttached=function(){},r.onDestroy=function(){},r.fromData=function(e){t.prototype.fromData.call(this,e),e.item&&(this.item=e.item)},r.dispose=function(){this.onDestroy(),this.item&&e9(this.item.components,this)},rC(e,[{key:"transform",get:function(){return this.item.transform}}]),e}(rW),rq=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e._enabled=!0,e}rS(e,t);var r=e.prototype;return r.onBehaviourEnable=function(){},r.fromData=function(e){t.prototype.fromData.call(this,e)},r.toData=function(){t.prototype.toData.call(this)},rC(e,[{key:"isActiveAndEnabled",get:function(){return this.item.getVisible()&&this.enabled}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t,t&&this.onBehaviourEnable()}}]),e}(rZ);e1([rY()],rq.prototype,"_enabled",void 0);var rK=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.started=!1,e}rS(e,t);var r=e.prototype;return r.onEnable=function(){},r.start=function(){},r.update=function(t){},r.lateUpdate=function(t){},r.onAttached=function(){this.item.itemBehaviours.push(this)},r.dispose=function(){this.item&&e9(this.item.itemBehaviours,this),t.prototype.dispose.call(this)},r.onBehaviourEnable=function(){this.onEnable(),this.started||(this.start(),this.started=!0)},e}(rq),rQ=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.started=!1,e.materials=[],e._enabled=!0,e}rS(e,t);var r=e.prototype;return r.onEnable=function(){},r.start=function(){},r.update=function(t){},r.lateUpdate=function(t){},r.render=function(t){},r.onAttached=function(){this.item.rendererComponents.push(this)},r.fromData=function(e){t.prototype.fromData.call(this,e)},r.toData=function(){t.prototype.toData.call(this)},r.dispose=function(){this.item&&e9(this.item.rendererComponents,this),t.prototype.dispose.call(this)},rC(e,[{key:"priority",get:function(){return this._priority},set:function(t){this._priority=t}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t,t&&this.onEnable()}},{key:"isActiveAndEnabled",get:function(){return this.item.getVisible()&&this.enabled}},{key:"material",get:function(){return this.materials[0]},set:function(t){0===this.materials.length?this.materials.push(t):this.materials[0]=t}}]),e}(rZ);e1([rY()],rQ.prototype,"materials",void 0),e1([rY()],rQ.prototype,"_priority",void 0),e1([rY()],rQ.prototype,"_enabled",void 0);var rJ=function(){function t(){this.order=100,this.name=""}var e=t.prototype;return e.onCompositionConstructed=function(t,e){},e.onCompositionItemLifeBegin=function(t,e){},e.onCompositionItemLifeEnd=function(t,e){},e.onCompositionItemRemoved=function(t,e){},e.onCompositionReset=function(t,e){},e.onCompositionWillReset=function(t,e){},e.onCompositionDestroyed=function(t){},e.onCompositionUpdate=function(t,e){},e.prepareRenderFrame=function(t,e){return!1},e.postProcessFrame=function(t,e){},t.precompile=function(t,e){return Promise.resolve()},t}(),r$=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),this.x=t,this.y=e,this.z=r,this.w=i}var e=t.prototype;return e.set=function(t,e,r,i){return this.x=t,this.y=e,this.z=r,this.w=i,this},e.setZero=function(){return this.x=0,this.y=0,this.z=0,this.w=0,this},e.setFromNumber=function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},e.setFromArray=function(t,e){var r,i,n,o;return void 0===e&&(e=0),this.x=null!=(r=t[e])?r:0,this.y=null!=(i=t[e+1])?i:0,this.z=null!=(n=t[e+2])?n:0,this.w=null!=(o=t[e+3])?o:0,this},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.clone=function(){return new t(this.x,this.y,this.z,this.w)},e.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t,this.z+=t,this.w+=t):e$(t,Array)?(this.x+=t[0],this.y+=t[1],this.z+=t[2],this.w+=t[3]):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w),this},e.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},e.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},e.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t,this.z-=t,this.w-=t):e$(t,Array)?(this.x-=t[0],this.y-=t[1],this.z-=t[2],this.w-=t[3]):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w),this},e.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},e.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t,this.z*=t,this.w*=t):e$(t,Array)?(this.x*=t[0],this.y*=t[1],this.z*=t[2],this.w*=t[3]):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w),this},e.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this.w=t.w*e.w,this},e.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t,this.z/=t,this.w/=t):e$(t,Array)?(this.x/=t[0],this.y/=t[1],this.z/=t[2],this.w/=t[3]):(this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w),this},e.scale=function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},e.sum=function(){return this.x+this.y+this.z+this.w},e.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t),this.z=Math.min(this.z,t),this.w=Math.min(this.w,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w)),this},e.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t),this.z=Math.max(this.z,t),this.w=Math.max(this.w,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},e.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},e.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},e.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this.z=Math.abs(this.z),this.w=Math.abs(this.w),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},e.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.normalize=function(){return this.divide(this.length()||1)},e.setLength=function(t){return this.normalize().multiply(t)},e.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this},e.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this.z=t.z+(e.z-t.z)*r,this.w=t.w+(e.w-t.w)*r,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},e.isZero=function(){var t=this.x,e=this.y,r=this.z,i=this.w;return 1e-6>=Math.abs(t)&&1e-6>=Math.abs(e)&&1e-6>=Math.abs(r)&&1e-6>=Math.abs(i)},e.toArray=function(){return[this.x,this.y,this.z,this.w]},e.toVector3=function(){return new rV(this.x,this.y,this.z)},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w},e.random=function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this},e.applyMatrix=function(t,e){return t.transformVector4(this,e)},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t}();r$.ONE=new r$(1,1,1,1),r$.ZERO=new r$(0,0,0,0);var r0=function(){function t(t,e,r,i,n,o,a,s,u){void 0===t&&(t=1),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=1),void 0===o&&(o=0),void 0===a&&(a=0),void 0===s&&(s=0),void 0===u&&(u=1),this.elements=[t,e,r,i,n,o,a,s,u]}var e=t.prototype;return e.set=function(t,e,r,i,n,o,a,s,u){var l=this.elements;return l[0]=t,l[3]=i,l[6]=a,l[1]=e,l[4]=n,l[7]=s,l[2]=r,l[5]=o,l[8]=u,this},e.setFromRowMajorData=function(t,e,r,i,n,o,a,s,u){var l=this.elements;return l[0]=t,l[3]=e,l[6]=r,l[1]=i,l[4]=n,l[7]=o,l[2]=a,l[5]=s,l[8]=u,this},e.setFromColumnVectors=function(t,e,r){return this.set(t.x,t.y,t.z,e.x,e.y,e.z,r.x,r.y,r.z)},e.setFromMatrix4=function(t){var e=t.elements;return this.set(e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10])},e.setFromArray=function(t,e){void 0===e&&(e=0);for(var r=0;r<9;r++)this.elements[r]=t[e+r];return this},e.setFromQuaternion=function(t){var e=t.x,r=t.y,i=t.z,n=t.w,o=e+e,a=r+r,s=i+i,u=e*o,l=e*a,c=e*s,h=r*a,f=r*s,m=i*s,d=n*o,p=n*a,v=n*s,y=this.elements;return y[0]=1-(h+m),y[1]=l+v,y[2]=c-p,y[3]=l-v,y[4]=1-(u+m),y[5]=f+d,y[6]=c+p,y[7]=f-d,y[8]=1-(u+h),this},e.setZero=function(){for(var t=0;t<9;t++)this.elements[t]=0;return this},e.identity=function(){return this.set(1,0,0,0,1,0,0,0,1)},e.clone=function(){var e=this.elements;return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},e.copyFrom=function(t){return this.elements=[].concat(t.elements),this},e.getColumnVector=function(t,e){return e.set(this.elements[3*t],this.elements[3*t+1],this.elements[3*t+2])},e.scale=function(t,e){var r=this.elements;return r[0]*=t,r[3]*=t,r[6]*=t,r[1]*=e,r[4]*=e,r[7]*=e,this},e.rotate=function(t){var e=Math.cos(t),r=Math.sin(t),i=this.elements,n=i[0],o=i[3],a=i[6],s=i[1],u=i[4],l=i[7];return i[0]=e*n+r*s,i[3]=e*o+r*u,i[6]=e*a+r*l,i[1]=-r*n+e*s,i[4]=-r*o+e*u,i[7]=-r*a+e*l,this},e.translate=function(t,e){var r=this.elements;return r[0]+=t*r[2],r[3]+=t*r[5],r[6]+=t*r[8],r[1]+=e*r[2],r[4]+=e*r[5],r[7]+=e*r[8],this},e.multiply=function(t){if("number"!=typeof t)return this.multiplyMatrices(this,t);for(var e=0;e<9;e++)this.elements[e]*=t;return this},e.premultiply=function(t){return this.multiplyMatrices(t,this)},e.multiplyMatrices=function(t,e){var r=t.elements,i=e.elements,n=this.elements,o=r[0],a=r[3],s=r[6],u=r[1],l=r[4],c=r[7],h=r[2],f=r[5],m=r[8],d=i[0],p=i[3],v=i[6],y=i[1],g=i[4],x=i[7],T=i[2],E=i[5],_=i[8];return n[0]=o*d+a*y+s*T,n[3]=o*p+a*g+s*E,n[6]=o*v+a*x+s*_,n[1]=u*d+l*y+c*T,n[4]=u*p+l*g+c*E,n[7]=u*v+l*x+c*_,n[2]=h*d+f*y+m*T,n[5]=h*p+f*g+m*E,n[8]=h*v+f*x+m*_,this},e.determinant=function(){var t=this.elements,e=t[0],r=t[3],i=t[6],n=t[1],o=t[4],a=t[7],s=t[2],u=t[5],l=t[8];return e*(o*l-u*a)+n*(u*i-r*l)+s*(r*a-o*i)},e.invert=function(){var t=this.elements,e=t[0],r=t[3],i=t[6],n=t[1],o=t[4],a=t[7],s=t[2],u=t[5],l=t[8],c=l*o-u*a,h=u*i-l*r,f=a*r-o*i,m=e*c+n*h+s*f;if(0===m)return this.set(0,0,0,0,0,0,0,0,0);var d=1/m;return t[0]=c*d,t[1]=(s*a-l*n)*d,t[2]=(u*n-s*o)*d,t[3]=h*d,t[4]=(l*e-s*i)*d,t[5]=(s*r-u*e)*d,t[6]=f*d,t[7]=(n*i-a*e)*d,t[8]=(o*e-n*r)*d,this},e.transpose=function(){var t,e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this},e.transformPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[3]*i+o[6]*n,a.y=o[1]*r+o[4]*i+o[7]*n,a.z=o[2]*r+o[5]*i+o[8]*n,a},e.transformNormal=function(t,e){return this.transformPoint(t,e).normalize()},e.equals=function(t){for(var e=this.elements,r=t.elements,i=0;i<9;i++)if(!rI(e[i],r[i]))return!1;return!0},e.toArray=function(){return[].concat(this.elements)},e.fill=function(t,e){void 0===e&&(e=0);var r=this.elements;t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8]},t.fromIdentity=function(){return new t(1,0,0,0,1,0,0,0,1)},t.fromColumnVectors=function(e,r,i){return new t().setFromColumnVectors(e,r,i)},t.fromMatrix4=function(e){return new t().setFromMatrix4(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromQuaternion=function(e){return new t().setFromQuaternion(e)},t.fromRowMajorData=function(e,r,i,n,o,a,s,u,l){return new t(e,n,s,r,o,u,i,a,l)},t}(),r1=function(){function t(t,e){void 0===t&&(t=rV.ZERO),void 0===e&&(e=rV.X),this.origin=new rV,this.direction=new rV,this.origin.copyFrom(t),this.direction.copyFrom(e).normalize()}var e=t.prototype;return e.set=function(t,e){return this.origin.copyFrom(t),this.direction.copyFrom(e).normalize(),this},e.clone=function(){return new t(this.origin,this.direction)},e.copyFrom=function(t){return this.set(t.origin,t.direction)},e.recast=function(e){return this.origin.copyFrom(this.at(e,t.tempVec0)),this},e.at=function(t,e){var r=e||new rV;return r.copyFrom(this.origin),r.addScaledVector(this.direction,t)},e.equals=function(t){return this.origin.equals(t.origin)&&this.direction.equals(t.direction)},e.applyMatrix=function(t){return this.origin.applyProjectionMatrix(t),this.direction.applyNormalMatrix(t),this},e.intersectBox=function(t,e){var r,i,n,o,a,s,u=this.origin,l=u.x,c=u.y,h=u.z,f=this.direction,m=f.x,d=f.y,p=f.z,v=t.min,y=v.x,g=v.y,x=v.z,T=t.max,E=T.x,_=T.y,C=T.z,A=1/m,S=1/d,R=1/p;if(A>=0?(r=(y-l)*A,i=(E-l)*A):(r=(E-l)*A,i=(y-l)*A),S>=0?(n=(g-c)*S,o=(_-c)*S):(n=(_-c)*S,o=(g-c)*S),!(r>o)&&!(n>i)&&((n>r||r!=r)&&(r=n),(o<i||i!=i)&&(i=o),(n>r||r!=r)&&(r=n),(o<i||i!=i)&&(i=o),R>=0?(a=(x-h)*R,s=(C-h)*R):(a=(C-h)*R,s=(x-h)*R),!(r>s)&&!(a>i))&&((a>r||r!=r)&&(r=a),(s<i||i!=i)&&(i=s),!(i<0)))return r>=0?this.at(r,e):this.at(i,e)},e.intersectPlane=function(t,e){var r=t.normal,i=t.distance,n=r.dot(this.direction);if(0===n)return 0===r.dot(this.origin)+i?(e||new rV).copyFrom(this.origin):void 0;var o=-(this.origin.dot(r)+i)/n;return o>=0?this.at(o,e):void 0},e.intersectSphere=function(e,r){var i=e.center,n=t.tempVec0.subtractVectors(i,this.origin),o=n.dot(this.direction),a=n.dot(n)-o*o,s=e.radius*e.radius;if(!(a>s)){var u=Math.sqrt(s-a),l=o-u,c=o+u;if(!(c<0))return l>=0?this.at(l,r):this.at(c,r)}},e.intersectTriangle=function(e,r,i){var n,o=e.p0,a=e.p1,s=e.p2,u=t.tempVec0.subtractVectors(a,o),l=t.tempVec1.subtractVectors(s,o),c=t.tempVec2.subtractVectors(this.origin,o),h=t.tempVec3.crossVectors(u,l),f=this.direction.dot(h);if(f>0){if(i)return;n=1}else{if(!(f<0))return;n=-1,f=-f}l.crossVectors(c,l);var m=n*this.direction.dot(l);if(!(m<0)){u.cross(c);var d=n*this.direction.dot(u);if(!(d<0)&&!(m+d>f)){var p=-n*c.dot(h);if(!(p<0))return this.at(p/f,r)}}},t}();r1.tempVec0=new rV,r1.tempVec1=new rV,r1.tempVec2=new rV,r1.tempVec3=new rV;var r2=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),this.r=t,this.g=e,this.b=r,this.a=i}var e=t.prototype;return e.set=function(t,e,r,i){return this.r=t,this.g=e,this.b=r,this.a=i,this},e.setZero=function(){return this.r=0,this.g=0,this.b=0,this.a=0,this},e.setFromNumber=function(t){return this.r=t,this.g=t,this.b=t,this.a=t,this},e.setFromVector4=function(t){return this.r=t.x,this.g=t.y,this.b=t.z,this.a=t.w,this},e.setFromArray=function(t,e){var r,i,n,o;return void 0===e&&(e=0),this.r=null!=(r=t[e])?r:0,this.g=null!=(i=t[e+1])?i:0,this.b=null!=(n=t[e+2])?n:0,this.a=null!=(o=t[e+3])?o:0,this},e.setFromHSV=function(t,e,r,i){void 0===i&&(i=1);var n=r*e,o=t/60,a=n*(1-Math.abs(o%2-1)),s=0,u=0,l=0;o>=0&&o<=1?(s=n,u=a):o>=1&&o<=2?(s=a,u=n):o>=2&&o<=3?(u=n,l=a):o>=3&&o<=4?(u=a,l=n):o>=4&&o<=5?(s=a,l=n):o>=5&&o<=6&&(s=n,l=a);var c=r-n;return this.set(s+c,u+c,l+c,i)},e.setFromHexString=function(t){if("#"!==t.substring(0,1)||9!==t.length&&7!==t.length)return this;var e=parseInt(t.substring(1,3),16)/255,r=parseInt(t.substring(3,5),16)/255,i=parseInt(t.substring(5,7),16)/255,n=9===t.length?parseInt(t.substring(7,9),16)/255:1;return this.set(e,r,i,n)},e.copyFrom=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},e.clone=function(){return new t(this.r,this.g,this.b,this.a)},e.setElement=function(t,e){switch(t){case 0:this.r=e;break;case 1:this.g=e;break;case 2:this.b=e;break;case 3:this.a=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.r;case 1:return this.g;case 2:return this.b;case 3:return this.a;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.r+=t,this.g+=t,this.b+=t,this.a+=t):e$(t,Array)?(this.r+=t[0],this.g+=t[1],this.b+=t[2],this.a+=t[3]):(this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a),this},e.subtract=function(t){return"number"==typeof t?(this.r-=t,this.g-=t,this.b-=t,this.a-=t):e$(t,Array)?(this.r-=t[0],this.g-=t[1],this.b-=t[2],this.a-=t[3]):(this.r-=t.r,this.g-=t.g,this.b-=t.b,this.a-=t.a),this},e.multiply=function(t){return"number"==typeof t?(this.r*=t,this.g*=t,this.b*=t,this.a*=t):e$(t,Array)?(this.r*=t[0],this.g*=t[1],this.b*=t[2],this.a*=t[3]):(this.r*=t.r,this.g*=t.g,this.b*=t.b,this.a*=t.a),this},e.divide=function(t){return"number"==typeof t?(this.r/=t,this.g/=t,this.b/=t,this.a/=t):e$(t,Array)?(this.r/=t[0],this.g/=t[1],this.b/=t[2],this.a/=t[3]):(this.r/=t.r,this.g/=t.g,this.b/=t.b,this.a/=t.a),this},e.scale=function(t){return this.r*=t,this.g*=t,this.b*=t,this.a*=t,this},e.min=function(t){return"number"==typeof t?(this.r=Math.min(this.r,t),this.g=Math.min(this.g,t),this.b=Math.min(this.b,t),this.a=Math.min(this.a,t)):(this.r=Math.min(this.r,t.r),this.g=Math.min(this.g,t.g),this.b=Math.min(this.b,t.b),this.a=Math.min(this.a,t.a)),this},e.max=function(t){return"number"==typeof t?(this.r=Math.max(this.r,t),this.g=Math.max(this.g,t),this.b=Math.max(this.b,t),this.a=Math.max(this.a,t)):(this.r=Math.max(this.r,t.r),this.g=Math.max(this.g,t.g),this.b=Math.max(this.b,t.b),this.a=Math.max(this.a,t.a)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.lerp=function(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this.a+=(t.a-this.a)*e,this},e.luminance=function(){return .3*this.r+.59*this.g+.11*this.b},e.equals=function(t){return t.r===this.r&&t.g===this.g&&t.b===this.b&&t.a===this.a},e.toLinear=function(){return this.r=t.gammaToLinear(this.r),this.g=t.gammaToLinear(this.g),this.b=t.gammaToLinear(this.b),this},e.toGamma=function(){return this.r=t.linearToGamma(this.r),this.g=t.linearToGamma(this.g),this.b=t.linearToGamma(this.b),this},e.toArray=function(){return[this.r,this.g,this.b,this.a]},e.toVector4=function(){return new r$(this.r,this.g,this.b,this.a)},e.toHSV=function(){var e=this.r,r=this.g,i=this.b,n=this.a,o=Math.max(e,r,i),a=Math.min(e,r,i),s=o-a,u=0,l=0;return 0!==o&&(l=s/o),o!=a&&(o==e?(u=(r-i)/s,r<i&&(u+=6)):o==r?u=(i-e)/s+2:o==i&&(u=(e-r)/s+4),u*=60),new t(u,l,o,n)},e.toHexString=function(e){void 0===e&&(e=!0);var r=t.ToHex(Math.round(255*this.r)),i=t.ToHex(Math.round(255*this.g)),n=t.ToHex(Math.round(255*this.b)),o=t.ToHex(Math.round(255*this.a));return e?"#"+r+i+n+o:"#"+r+i+n},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t[e+3]=this.a},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromHexString=function(e){return new t().setFromHexString(e)},t.fromHSV=function(e,r,i,n){return void 0===n&&(n=1),new t().setFromHSV(e,r,i,n)},t.gammaToLinear=function(t){return t<=0?0:t<=.04045?t/12.92:t<1?Math.pow((t+.055)/1.055,2.4):Math.pow(t,2.4)},t.linearToGamma=function(t){return t<=0?0:t<.0031308?12.92*t:t<1?1.055*Math.pow(t,.41666)-.055:Math.pow(t,.41666)},t.ToHex=function(t){var e=t.toString(16);return t<=15?("0"+e).toUpperCase():e.toUpperCase()},t}();r2.BLACK=new r2(0,0,0,1),r2.BLUE=new r2(0,0,1,1),r2.CLEAR=new r2(0,0,0,0),r2.CYAN=new r2(0,1,1,1),r2.GRAY=new r2(.5,.5,.5,1),r2.GREEN=new r2(0,1,0,1),r2.MAGENTA=new r2(1,0,1,1),r2.RED=new r2(1,0,0,1),r2.WHITE=new r2(1,1,1,1),r2.YELLOW=new r2(1,.92,.016,1);var r3=function(){function t(t,e){void 0===t&&(t=new rV(1/0,1/0,1/0)),void 0===e&&(e=new rV(-1/0,-1/0,-1/0)),this.min=t.clone(),this.max=e.clone()}var e=t.prototype;return e.set=function(t,e){return this.min.copyFrom(t),this.max.copyFrom(e),this},e.setFromArray=function(t){for(var e=Number(1/0),r=Number(1/0),i=Number(1/0),n=-1/0,o=-1/0,a=-1/0,s=0,u=t.length;s<u;s+=3){var l=t[s],c=t[s+1],h=t[s+2];l<e&&(e=l),c<r&&(r=c),h<i&&(i=h),l>n&&(n=l),c>o&&(o=c),h>a&&(a=h)}return this.min.set(e,r,i),this.max.set(n,o,a),this},e.setFromPoints=function(t){this.makeEmpty();for(var e=0,r=t.length;e<r;e++)this.expandByPoint(t[e]);return this},e.setFromCenterAndSize=function(t,e){var r=e.clone().multiply(.5);return this.min.copyFrom(t).subtract(r),this.max.copyFrom(t).add(r),this},e.setFromObject=function(t){return this.makeEmpty(),this.expandByObject(t)},e.clone=function(){return new t().copyFrom(this)},e.copyFrom=function(t){return this.min.copyFrom(t.min),this.max.copyFrom(t.max),this},e.makeEmpty=function(){return this.min.x=this.min.y=this.min.z=Number(1/0),this.max.x=this.max.y=this.max.z=-1/0,this},e.isEmpty=function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},e.getCenter=function(t){return void 0===t&&(t=new rV),this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiply(.5)},e.getSize=function(t){return void 0===t&&(t=new rV),this.isEmpty()?t.set(0,0,0):t.subtractVectors(this.max,this.min)},e.expandByPoint=function(t){return this.min.min(t),this.max.max(t),this},e.expandByVector=function(t){return this.min.subtract(t),this.max.add(t),this},e.expandByScalar=function(t){return this.min.add(-t),this.max.add(t),this},e.expandByBox=function(t){return this.min.min(t.min),this.max.max(t.max),this},e.expandByObject=function(e){e.updateWorldMatrix(!1,!1);var r=e.geometry;if(void 0!==r){null===r.boundingBox&&r.computeBoundingBox();var i=new t;i.copyFrom(r.boundingBox),i.applyMatrix4(e.matrixWorld),this.union(i)}for(var n=e.children,o=0,a=n.length;o<a;o++)this.expandByObject(n[o]);return this},e.containsPoint=function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)},e.containsBox=function(t){return this.min.x<=t.min.x&&this.max.x>=t.max.x&&this.min.y<=t.min.y&&this.max.y>=t.max.y&&this.min.z<=t.min.z&&this.max.z>=t.max.z},e.getParameter=function(t,e){return void 0===e&&(e=new rV),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))},e.intersectsBox=function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)},e.intersectsSphere=function(t){var e=new rV;return this.clampPoint(t.center,e),e.distanceSquared(t.center)<=t.radius*t.radius},e.clampPoint=function(t,e){return void 0===e&&(e=new rV),e.copyFrom(t).clamp(this.min,this.max)},e.distanceToPoint=function(t){return t.clone().clamp(this.min,this.max).subtract(t).length()},e.intersect=function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},e.union=function(t){return this.min.min(t.min),this.max.max(t.max),this},e.applyMatrix4=function(t,e){if(void 0===e&&(e=new rV),this.isEmpty())return this;var r=this.getOBBPoints(t,e);return this.setFromPoints(r),this},e.getOBBPoints=function(t,e){if(void 0===e&&(e=new rV),this.isEmpty())return[];var r=[];return r[0]=new rV(this.min.x,this.min.y,this.min.z),r[1]=new rV(this.min.x,this.min.y,this.max.z),r[2]=new rV(this.min.x,this.max.y,this.min.z),r[3]=new rV(this.min.x,this.max.y,this.max.z),r[4]=new rV(this.max.x,this.min.y,this.min.z),r[5]=new rV(this.max.x,this.min.y,this.max.z),r[6]=new rV(this.max.x,this.max.y,this.min.z),r[7]=new rV(this.max.x,this.max.y,this.max.z),r.forEach(function(r){r.subtract(e),r.applyMatrix(t),r.add(e)}),r},e.getBoundingSphere=function(t){this.getCenter(t.center);var e=new rV;return t.radius=.5*this.getSize(e).length(),t},e.translate=function(t){return this.min.add(t),this.max.add(t),this},e.equals=function(t){return t.min.equals(this.min)&&t.max.equals(this.max)},t}(),r4=function(){function t(t,e){void 0===t&&(t=rV.ZERO),void 0===e&&(e=-1),this.center=t.clone(),this.radius=e}var e=t.prototype;return e.set=function(t,e){return this.center.copyFrom(t),this.radius=e,this},e.setFromPoints=function(t,e){var r=this.center;if(void 0!==e){r.copyFrom(e);for(var i=0,n=0;n<t.length;n++)i=Math.max(i,r.distanceSquared(t[n]));this.radius=Math.sqrt(i)}else{var o=new r3().setFromPoints(t);o.getCenter(r),this.radius=o.getSize().length()/2}return this},e.copyFrom=function(t){return this.center.copyFrom(t.center),this.radius=t.radius,this},e.isEmpty=function(){return this.radius<0},e.makeEmpty=function(){return this.center.set(0,0,0),this.radius=-1,this},e.containsPoint=function(t){return t.distanceSquared(this.center)<=this.radius*this.radius},e.distanceToPoint=function(t){return t.distance(this.center)-this.radius},e.intersectsSphere=function(t){var e=this.radius+t.radius;return t.center.distanceSquared(this.center)<=e*e},e.intersectsBox=function(t){return t.intersectsSphere(this)},e.clampPoint=function(t,e){var r=this.center.distanceSquared(t);return void 0===e&&(e=new rV),e.copyFrom(t),r>this.radius*this.radius&&(e.subtract(this.center).normalize(),e.multiply(this.radius).add(this.center)),e},e.getBoundingBox=function(t){return(void 0===t&&(t=new r3),this.isEmpty())?t.makeEmpty():(t.set(this.center,this.center),t.expandByScalar(this.radius)),t},e.applyMatrix4=function(t){var e=t.elements,r=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],n=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return this.center.applyMatrix(t),this.radius=this.radius*Math.sqrt(Math.max(r,i,n)),this},e.translate=function(t){return this.center.add(t),this},e.expandByPoint=function(t){var e=new rV().subtractVectors(t,this.center),r=e.lengthSquared();if(r>this.radius*this.radius){var i=Math.sqrt(r),n=(i-this.radius)*.5;this.center.add(e.multiply(n/i)),this.radius+=n}return this},e.union=function(t){var e=new rV,r=new rV;return r.subtractVectors(t.center,this.center).normalize().multiply(t.radius),this.expandByPoint(e.copyFrom(t.center).add(r)),this.expandByPoint(e.copyFrom(t.center).subtract(r)),this},e.intersect=function(t){var e=new rV().subtractVectors(this.center,t.center),r=e.length();return r>this.radius+t.radius?this.makeEmpty():(this.center=this.center.add(e.normalize().multiply(r/2)),this.radius=this.radius+t.radius-r,this)},e.equals=function(t){return t.center.equals(this.center)&&t.radius===this.radius},e.clone=function(){return new t().copyFrom(this)},t}(),r5=Object.freeze({__proto__:null,get EulerOrder(){return tV},Euler:rz,Quaternion:rN,Vector2:rP,Vector3:rV,Vector4:r$,Matrix3:r0,Matrix4:rF,Ray:r1,PI2:2*Math.PI,DEG2RAD:rO,RAD2DEG:rw,NumberEpsilon:1e-6,isZero:function(t){return isNaN(t)||1e-6>Math.abs(t)},isEqual:rI,damp:function(t,e,r,i){return rL(t,e,1-Math.exp(-r*i))},lerp:rL,degToRad:function(t){return t*rO},radToDeg:function(t){return t*rw},clamp:rM,Color:r2,Box3:r3,Sphere:r4}),r6=(U=new Int32Array((D=new Float32Array(1)).buffer),function(t){D[0]=t;var e=U[0],r=e>>16&32768,i=e>>12&2047,n=e>>23&255;return n<103?r:n>142?(r|=31744,r|=(255==n?0:1)&&8388607&e):n<113?(i|=2048,r|=(i>>114-n)+(i>>113-n&1)):(r|=n-112<<10|i>>1,r+=1&i)}),r8=function(){function t(t){if(Number.isInteger(t))this.data=new Uint16Array(t);else if(t&&"object"==typeof t&&Number.isInteger(t.length))for(var e=this.data=new Uint16Array(t.length),r=0;r<e.length;r++)e[r]=r6(t[r])}return t.prototype.set=function(t,e){for(var r=0;r<t.length;r++)this.data[r+e]=r6(t[r])},t}(),r9=new rz,r7=new rF;function it(t,e,r,i,n,o,a){var s=i/n,u=i,l=e.speedOverLifetime;l&&(u=l.getIntegrateValue(0,i,n));var c=e.gravityModifier?e.gravityModifier.getIntegrateByTime(0,i):0;t.copyFrom(o),t.addScaledVector(a,u),t.addScaledVector(r,c);var h=e.linearVelOverLifetime||{},f=e.orbitalVelOverLifetime||{},m=["x","y","z"];if(f.enabled){var d=new rV;f.center&&d.setFromArray(f.center);var p=t.clone().subtract(d),v=f.asRotation,y=m.map(function(t){var e=f[t];return e?v?e.getValue(s):e.getIntegrateValue(0,i,n):0});r9.setFromArray(y).negate(),r7.setFromEuler(r9);var g=r7.transformPoint(p);t.addVectors(d,g)}if(h.enabled)for(var x=h.asMovement,T=0;T<3;T++){var E=h[m[T]];if(E){var _=x?E.getValue(s):E.getIntegrateValue(0,i,n);t.setElement(T,t.getElement(T)+_)}}return t}function ie(t){return Array.isArray(t)?[t[0],t[1],t[2]]:[0,0,0]}function ir(t,e){for(var r=0,i=t.length;r<i;r++)t[r]=e;return t}function ii(t,e,r,i){void 0===i&&(i=0);for(var n=0;n<r;n++)t[n]=e[n+i];return t}function io(t,e,r){if(e&&r)for(var i=0,n=e.length;i<n;i++)t[i]=e[i]*r[i];else if(e){if(t!==e)for(var o=0;o<e.length;o++)t[o]=e[o]}else if(r&&t!==r)for(var a=0;a<r.length;a++)t[a]=r[a];return t}var ia=((en={})[tY.PARTICLE_ORIGIN_CENTER]=[0,0],en[tY.PARTICLE_ORIGIN_CENTER_BOTTOM]=[0,-.5],en[tY.PARTICLE_ORIGIN_CENTER_TOP]=[0,.5],en[tY.PARTICLE_ORIGIN_LEFT_TOP]=[-.5,.5],en[tY.PARTICLE_ORIGIN_LEFT_CENTER]=[-.5,0],en[tY.PARTICLE_ORIGIN_LEFT_BOTTOM]=[-.5,-.5],en[tY.PARTICLE_ORIGIN_RIGHT_CENTER]=[.5,0],en[tY.PARTICLE_ORIGIN_RIGHT_BOTTOM]=[.5,-.5],en[tY.PARTICLE_ORIGIN_RIGHT_TOP]=[.5,.5],en);function is(t,e,r){var i=r.position,n=new rV(t,e,0),o=new rV;return r.getInverseViewProjectionMatrix().projectPoint(n,o),o.subtract(i),new r1(i,o)}function iu(t,e,r){var i=t.x,n=t.y,o=t.z,a=new rV(i-e,n+r,o),s=new rV(i-e,n-r,o),u=new rV(i+e,n-r,o),l=new rV(i+e,n+r,o);return[{p0:a,p1:s,p2:u},{p0:a.clone(),p1:u.clone(),p2:l}]}function il(t,e,r){return void 0===r&&(r=1e-6),Math.abs(t-e)<r}function ic(t,e){void 0===e&&(e=2);var r=Math.pow(10,e);return Math.floor(t*r)/r}function ih(t,e,r){return(ih=!function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}()?function(t,e,r){var i=[null];i.push.apply(i,e);var n=new(Function.bind.apply(t,i));return r&&rA(n,r.prototype),n}:Reflect.construct).apply(null,arguments)}var im={getPointInCurve:function(t){t[0];var e=t[1],r=this.getPointIndexInCurve(t),i=r.xIndex,n=r.yIndex;return new rP(e[i],e[n])},getPointIndexInCurve:function(t){var e=t[0],r=t[2],i=e===tK.LINE?0:e===tK.EASE_OUT?0:e===tK.EASE_IN?2:e===tK.EASE?2:e===tK.HOLD&&r===tK.EASE_IN?2:0;return{xIndex:i,yIndex:i+1}},isLeftSideEase:function(t){var e=t[0];t[1];var r=t[2];return!!(e===tK.HOLD&&this.isKeyframeTypeLeftSideEase(r))||this.isKeyframeTypeLeftSideEase(e)},isRightSideEase:function(t){var e=t[0];t[1];var r=t[2];return!!(e===tK.HOLD&&this.isKeyframeTypeRightSideEase(r))||this.isKeyframeTypeRightSideEase(e)},isKeyframeTypeLeftSideEase:function(t){return[tK.EASE,tK.EASE_IN,tK.AUTO].includes(t)},isKeyframeTypeRightSideEase:function(t){return[tK.EASE,tK.EASE_OUT,tK.AUTO].includes(t)},isHoldInKeyframe:function(t){var e=t[0];t[1];var r=t[2];return e===tK.HOLD&&[tK.HOLD,tK.LINE_OUT,tK.EASE_OUT].includes(r)},isHoldOutKeyframe:function(t){var e=t[0];t[1];var r=t[2];return e===tK.HOLD&&[tK.HOLD,tK.LINE,tK.EASE_IN].includes(r)}},id=function(t,e){this.points=t,this.totalLength=e},ip={},iv={};function iy(t,e,r){return(((1-3*r+3*e)*t+(3*r-6*e))*t+3*e)*t}function ig(t,e,r){return 3*(1-3*r+3*e)*t*t+2*(3*r-6*e)*t+3*e}var ix=function(){function t(t,e,r,i){this.p1=t,this.p2=e,this.p3=r,this.p4=i,this.catching={lastPoint:0,lastAddedLength:0};var n=function(t,e,r,i){var n=ic(e.x-t.x,3)+"_"+ic(e.y-t.y,3)+"_"+ic(e.z-t.z,3)+"&"+(ic(r.x-t.x,3)+"_"+ic(r.y-t.y,3))+"_"+ic(r.z-t.z,3)+"&"+(ic(i.x-t.x,3)+"_"+ic(i.y-t.y,3))+"_"+ic(i.z-t.z,3);if(iv[n])return{data:iv[n],interval:t};for(var o=[],a=null,s=0,u=0,l=0;l<300;l+=1){var c=new rV,h=l/299;u=0,c.x=3*Math.pow(1-h,2)*h*(r.x-t.x)+3*(1-h)*Math.pow(h,2)*(i.x-t.x)+Math.pow(h,3)*(e.x-t.x),c.y=3*Math.pow(1-h,2)*h*(r.y-t.y)+3*(1-h)*Math.pow(h,2)*(i.y-t.y)+Math.pow(h,3)*(e.y-t.y),c.z=3*Math.pow(1-h,2)*h*(r.z-t.z)+3*(1-h)*Math.pow(h,2)*(i.z-t.z)+Math.pow(h,3)*(e.z-t.z),null!==a&&(u+=Math.pow(c.x-a.x,2)+Math.pow(c.y-a.y,2)+Math.pow(c.z-a.z,2)),a=c,s+=u=Math.sqrt(u),o[l]={partialLength:u,point:c}}var f=new id(o,s);return iv[n]=f,{data:f,interval:new rV(t.x,t.y,t.z)}}(t,e,r,i),o=n.data,a=n.interval;this.lengthData=o,this.interval=a,this.totalLength=o.totalLength}return t.prototype.getPointInPercent=function(t){var e=this.lengthData;if(0===t)return e.points[0].point.clone().add(this.interval);if(il(1-t,0))return e.points[299].point.clone().add(this.interval);if(il(e.totalLength,0))return this.p1.clone();var r=new rV,i=ic(e.totalLength*t,4),n=this.catching.lastAddedLength,o=this.catching.lastPoint;if(il(n,i))return e.points[o].point.clone().add(this.interval);var a=!0,s=1;for(i<n&&(s=-1);a;){if(i>=n){if(299===o){r.x=e.points[o].point.x,r.y=e.points[o].point.y,r.z=e.points[o].point.z;break}if(i<n+e.points[o+1].partialLength){var u=(i-n)/e.points[o+1].partialLength;r.x=e.points[o].point.x+(e.points[o+1].point.x-e.points[o].point.x)*u,r.y=e.points[o].point.y+(e.points[o+1].point.y-e.points[o].point.y)*u,r.z=e.points[o].point.z+(e.points[o+1].point.z-e.points[o].point.z)*u;break}}s>0&&o<299?(o+=s,n+=ic(e.points[o].partialLength,5)):s<0&&o>0?(n-=ic(e.points[o].partialLength,5),o+=s):a=!1}return this.catching.lastPoint=o,this.catching.lastAddedLength=n,r.add(this.interval),r},t}(),iT=function(){function t(t,e,r,i){this.mX1=t,this.mY1=e,this.mX2=r,this.mY2=i,this.precomputed=!1,this.mSampleValues=Array(11)}var e=t.prototype;return e.precompute=function(){this.precomputed=!0,(this.mX1!==this.mY1||this.mX2!==this.mY2)&&this.calcSampleValues()},e.getValue=function(t){return this.mX1===this.mY1&&this.mX2===this.mY2?t:isNaN(this.mY1)||isNaN(this.mY2)?0:0===t||1===t?t:(this.precomputed||this.precompute(),iy(this.getTForX(t),this.mY1,this.mY2))},e.calcSampleValues=function(){for(var t=0;t<11;++t)this.mSampleValues[t]=iy(.1*t,this.mX1,this.mX2)},e.getTForX=function(t){for(var e=this.mSampleValues,r=0,i=1;10!==i&&e[i]<=t;++i)r+=.1;var n=r+(t-e[--i])/(e[i+1]-e[i])*.1,o=ig(n,this.mX1,this.mX2);return o>=.001?function(t,e,r,i){for(var n=0;n<4;++n){var o=ig(e,r,i);if(0===o)break;var a=iy(e,r,i)-t;e-=a/o}return e}(t,n,this.mX1,this.mX2):0===o?n:function(t,e,r,i,n){var o,a,s=0;do(o=iy(a=e+(r-e)/2,i,n)-t)>0?r=a:e=a;while(Math.abs(o)>1e-7&&++s<10);return a}(t,r,r+.1,this.mX1,this.mX2)},t}();function iE(t,e){var r,i,n,o=function(t,e,r){var i=t[1],n=im.isHoldOutKeyframe(t),o=im.isHoldInKeyframe(e),a=!o&&im.isRightSideEase(t),s=!n&&im.isLeftSideEase(e);if(a&&!s&&!o){var u=new rP(i[i.length-4],i[i.length-3]),l=new rP(i[i.length-2],i[i.length-1]),c=im.getPointInCurve(e),h=new rP(c.x,c.y),f=new rP(h.x-(h.x-u.x)/10,h.y);return{type:"ease",p0:u,p1:l,p2:f,p3:h}}if(!a&&s&&!n){var m=e[1],d=im.getPointInCurve(t),p=new rP(d.x,d.y),v=new rP(m[0],m[1]),y=new rP(m[2],m[3]),g=new rP(p.x+(y.x-p.x)/10,p.y);return{type:"ease",p0:p,p1:g,p2:v,p3:y}}if(a&&s){var x=e[1];return{type:"ease",p0:new rP(i[i.length-4],i[i.length-3]),p1:new rP(i[i.length-2],i[i.length-1]),p2:new rP(x[0],x[1]),p3:new rP(x[2],x[3])}}var T=im.getPointInCurve(t),E=im.getPointInCurve(e);if(n?E.y=T.y:o&&(T.y=E.y),!r)return{type:"line",p0:T,p1:E,isHold:n||o,leftHoldLine:n,rightHoldLine:o};var _=new rP((E.x-T.x)/3+T.x,(E.y-T.y)/3+T.y),C=new rP((E.x-T.x)/3*2+T.x,(E.y-T.y)/3*2+T.y);return{type:"ease",p0:T,p1:_,p2:C,p3:E,isHold:n||o,leftHoldLine:n,rightHoldLine:o}}(t,e,!0),a=o.p0,s=o.p1,u=o.p2,l=o.p3;rh(u),rh(l);var c=l.x-a.x,h=l.y-a.y,f=ic((s.x-a.x)/c,5),m=ic((u.x-a.x)/c,5);il(h,0)?r=i=NaN:(r=ic((s.y-a.y)/h,5),i=ic((u.y-a.y)/h,5)),f<0&&(console.error("invalid bezier points, x1 < 0",a,s,u,l),f=0),m<0&&(console.error("invalid bezier points, x2 < 0",a,s,u,l),m=0),f>1&&(console.error("invalid bezier points, x1 >= 1",a,s,u,l),f=1),m>1&&(console.error("invalid bezier points, x2 >= 1",a,s,u,l),m=1);var d=("bez_"+f+"_"+r+"_"+m+"_"+i).replace(/\./g,"p");return ip[d]?n=ip[d]:(n=new iT(f,r,m,i),ip[d]=n),{points:[a,s,u,l],timeInterval:c,valueInterval:h,curve:n}}var i_="not_implement",iC=function(){function t(t){this.onCreate(t)}var e=t.prototype;return e.onCreate=function(t){throw Error(i_)},e.getIntegrateValue=function(t,e,r){throw Error(i_)},e.getIntegrateByTime=function(t,e){throw Error(i_)},e.getValue=function(t){throw Error(i_)},e.toUniform=function(t){throw Error(i_)},e.map=function(t){throw Error(i_)},e.scaleXCoord=function(t){return this},e.toData=function(){throw Error(i_)},t.getAllData=function(t,e){for(var r=new(e?r8:Float32Array)(4*t.index),i=0,n=0,o=t.curves;i<o.length;i++){var a=o[i].toData();r.set(a,n),n+=a.length}return e?r.data:r},t}(),iA=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.onCreate=function(t){this.value=t},r.getIntegrateValue=function(t,e,r){return this.value*(e-t)},r.getIntegrateByTime=function(t,e){return .5*this.value*(e*e-t*t)},r.getValue=function(t){return this.value},r.toUniform=function(){return new Float32Array([0,this.value,0,0])},r.map=function(t){var e=this.value;return this.value=t(e),this},e}(iC),iS=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.onCreate=function(t){this.items=t},r.getValue=function(t){var e=this.items;return e[Math.floor(Math.random()*e.length)]},r.map=function(t){return this.items=this.items.map(t),this},e}(iC),iR=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.onCreate=function(t){this.min=t[0],this.max=t[1]},r.getValue=function(t){return rx(this.min,this.max)},r.toUniform=function(){return new Float32Array([4,this.min,this.max,0])},r.map=function(t){return this.min=t(this.min),this.max=t(this.max),this},e}(iC),ib=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.onCreate=function(t){this.min=t[0],this.max=t[1]},r.getValue=function(t){for(var e=this.min,r=this.max,i=[],n=0;n<e.length;n++){var o=Math.random();i[n]=e[n]*(1-o)+r[n]*o}return i},r.map=function(t){return this.min=this.min.map(t),this.max=this.max.map(t),this},e}(iC),iO=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.onCreate=function(t){this.min=t[0],this.max=t[1],this.xCoord=1},r.getValue=function(t){return t/=this.xCoord,this.min*(1-t)+this.max*t},r.toUniform=function(){return new Float32Array([1,this.min,this.max,this.xCoord])},r.getIntegrateValue=function(t,e,r){void 0===r&&(r=1);var i=this.min,n=this.max,o=this.xCoord*r;return((i+e/o*(n-i)+i)*e-(i+t/o*(n-i)+i)*t)/2},r.getIntegrateByTime=function(t,e){return iF(e,0,this.xCoord,this.min,this.max)-iF(t,0,this.xCoord,this.min,this.max)},r.map=function(t){return this.min=t(this.min),this.max=t(this.max),this},r.scaleXCoord=function(t){return this.xCoord=t,this},e}(iC),iw=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.onCreate=function(t){this.stops=rr(t)},r.getStops=function(){return this.stops},r.getValue=function(t){for(var e=this.stops,r=e.length-1,i=0;i<r;i++){var n=e[i],o=e[i+1];if(n.stop<=t&&o.stop>t){var a=(t-n.stop)/(o.stop-n.stop);return ri(n.color,o.color,a,!0)}}return e[r].color.slice()},e}(iC),iI=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.onCreate=function(t){this.keys=t.map(function(t){return t.slice?t.slice(0,2):[t.time,t.value]}).sort(function(t,e){return t[0]-e[0]});var e=this.keys[this.keys.length-1];e[0]<1&&this.keys.push([1,e[1]]);var r=this.keys[0];r[0]>0&&this.keys.unshift([0,r[1]]),this.isLineSeg=!0},r.getValue=function(t){var e=this.keys;if(t<e[0][0])return e[0][1];for(var r=e.length-1,i=0;i<r;i++){var n=e[i],o=e[i+1],a=n[0],s=o[0];if(t>=a&&t<=s){var u=(t-a)/(s-a),l=n[1];return l+u*(o[1]-l)}}return e[r][1]},r.getIntegrateValue=function(t,e,r){return void 0===r&&(r=1),(this.integrate(e,!1)-this.integrate(t,!1))*r},r.getIntegrateByTime=function(t,e){return this.integrate(e,!0)-this.integrate(t,!0)},r.integrate=function(t,e){var r=this.keys;if(t<=r[0][0])return 0;for(var i=0,n=r.length-1,o=e?iF:iN,a=0;a<n;a++){var s=r[a],u=r[a+1],l=s[0],c=u[0];if(t>l&&t<=c)return i+o(t,l,c,s[1],u[1]);i+=o(c,l,c,s[1],u[1])}return i},r.toData=function(){for(var t=this.keys,e=new Float32Array(4*Math.ceil(t.length/2)),r=0,i=0;r<t.length;r++,i+=2)e.set(t[r],i);return e.set(t[t.length-1],e.length-2),e},r.toUniform=function(t){var e=t.index,r=Math.ceil(this.keys.length/2);return t.lineSegCount+=r,t.curves.push(this),t.index+=r,t.max=Math.max(t.max,r),new Float32Array([3,e,r,0])},r.map=function(t){return this.keys.forEach(function(e){return e[1]=t(e[1])}),this},r.scaleXCoord=function(t){return this.keys.forEach(function(e){return e[0]=t*e[0]}),this},e}(iC),iL=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.onCreate=function(t){this.curveMap={},this.keys=[];for(var e=0;e<t.length-1;e++){var r=iE(t[e],t[e+1]),i=r.points,n=r.curve,o=r.timeInterval,a=r.valueInterval,s=i[0],u=i[i.length-1];this.keys.push([].concat(s.toArray(),i[1].toArray())),this.keys.push([].concat(u.toArray(),i[2].toArray())),this.curveMap[s.x+"&"+u.x]={points:i,timeInterval:o,valueInterval:a,curve:n}}},r.getValue=function(t){var e=0,r=Object.keys(this.curveMap),i=Number(r[0].split("&")[0]),n=Number(r[r.length-1].split("&")[1]);if(t<=i)return this.getCurveValue(r[0],i);if(t>=n)return this.getCurveValue(r[r.length-1],n);for(var o=0;o<r.length;o++){var a=r[o].split("&"),s=a[0],u=a[1];if(t>=Number(s)&&t<Number(u)){e=this.getCurveValue(r[o],t);break}}return e},r.getIntegrateValue=function(t,e,r){void 0===r&&(r=1);var i=(e-t)/r,n=0,o=Object.keys(this.curveMap);if(i<=Number(o[0].split("&")[0]))return 0;for(var a=0;a<o.length;a++){var s=o[a].split("&"),u=s[0],l=s[1];if(i>=Number(l)&&(n+=r*this.getCurveIntegrateValue(o[a],Number(l))),i>=Number(u)&&i<Number(l)){n+=r*this.getCurveIntegrateValue(o[a],i);break}}return n},r.getIntegrateByTime=function(t,e){return this.getIntegrateValue(0,e)-this.getIntegrateValue(0,t)},r.getCurveIntegrateValue=function(t,e){for(var r=this.curveMap[t],i=r.points[0],n=r.timeInterval,o=r.valueInterval,a=0,s=(e-i.x)/20,u=0;u<=20;u++){var l=u*s/n,c=i.y+o*r.curve.getValue(l);0===u||20===u?a+=c:u%2==1?a+=4*c:a+=2*c}return s/3*a},r.getCurveValue=function(t,e){var r=this.curveMap[t],i=r.points[0],n=r.timeInterval,o=r.valueInterval,a=(e-i.x)/n,s=r.curve.getValue(a);return i.y+o*s},r.toUniform=function(t){var e=t.index,r=this.keys.length;return t.curves.push(this),t.index=e+r,t.max=Math.max(t.max,r),t.curveCount+=r,new Float32Array([5,e+1/r,e,r])},r.toData=function(){for(var t=this.keys,e=new Float32Array(4*t.length),r=0,i=0;r<t.length;r++,i+=4)e.set(t[r],i);return e},e}(iC),iM=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.onCreate=function(t){var e=t[0],r=t[1],i=t[2];if(this.curveSegments={},i.length)for(var n=0;n<e.length-1;n++){var o=e[n],a=e[n+1],s=new rV(r[n][0],r[n][1],r[n][2]),u=new rV(r[n+1][0],r[n+1][1],r[n+1][2]),l=new rV(i[2*n][0],i[2*n][1],i[2*n][2]),c=new rV(i[2*n+1][0],i[2*n+1][1],i[2*n+1][2]),h=iE(o,a),f=h.points,m=h.curve,d=h.timeInterval,p=h.valueInterval,v=f[0],y=f[f.length-1],g=new ix(s,u,l,c);this.curveSegments[v.x+"&"+y.x]={points:f,timeInterval:d,valueInterval:p,easingCurve:m,pathCurve:g}}},r.getValue=function(t){var e=ic(t,5),r=0,i=new rV,n=Object.keys(this.curveSegments);if(!n.length)return i;var o=Number(n[0].split("&")[0]),a=Number(n[n.length-1].split("&")[1]);if(e<=o)return this.curveSegments[n[0]].pathCurve.getPointInPercent(0);if(e>=a)return this.curveSegments[n[n.length-1]].pathCurve.getPointInPercent(1);for(var s=0;s<n.length;s++){var u=n[s].split("&"),l=u[0],c=u[1];if(e>=Number(l)&&e<Number(c)){var h=this.curveSegments[n[s]].pathCurve;r=this.getPercValue(n[s],e),i=h.getPointInPercent(r)}}return i},r.getPercValue=function(t,e){var r=this.curveSegments[t],i=r.points[0],n=r.timeInterval,o=ic((e-i.x)/n,4);return rM(r.easingCurve.getValue(o),0,1)},e}(iC),iP=((eo={})[tq.RANDOM]=function(t){return e$(t[0],Array)?new ib(t):new iR(t)},eo[tq.CONSTANT]=function(t){return new iA(t)},eo[tq.CONSTANT_VEC2]=function(t){return new iA(t)},eo[tq.CONSTANT_VEC3]=function(t){return new iA(t)},eo[tq.CONSTANT_VEC4]=function(t){return new iA(t)},eo[tq.RGBA_COLOR]=function(t){return new iA(t)},eo[tq.COLORS]=function(t){return new iS(t.map(function(t){return rt(t,!1)}))},eo[tq.LINE]=function(t){return 2===t.length&&0===t[0][0]&&1===t[1][0]?new iO([t[0][1],t[1][1]]):new iI(t)},eo[tq.GRADIENT_COLOR]=function(t){return new iw(t)},eo[tq.BEZIER_CURVE]=function(t){return 1===t.length?new iA(t[0][1][1]):new iL(t)},eo[tq.BEZIER_CURVE_PATH]=function(t){return 1===t[0].length?new iA(ih(rV,[].concat(t[1][0]))):new iM(t)},eo);function iV(t){if(!t||!isNaN(+t))return new iA(t||0);if(e$(t,iC))return t;if(ry(iP[t[0]]))return iP[t[0]](t[1]);throw Error("ValueType: "+t[0]+" is not support")}function iN(t,e,r,i,n){var o=t-e;return(i+i+(n-i)*o/(r-e))*o/2}function iF(t,e,r,i,n){var o=t*t,a=e*e;return(o*t*2*(i-n)+3*o*(e*n-r*i)-a*e*(2*i+n)+3*a*r*i)/(6*(e-r))}function iz(t,e){if(e){var r=e[0],i=e[1];if(r===tq.CURVE){t.curves.push(i);var n=i.length;i[0][0]>0&&n++,i[i.length-1][0]<1&&n++,t.index+=n,t.max=Math.max(t.max,n),t.curveCount+=n}else if(r===tq.LINE){var o=i.length;if(2===o&&0===i[0][0]&&1===i[1][0])return;i[0][0]>0&&o++,i[i.length-1][0]<1&&o++;var a=Math.ceil(o/2);t.lineSegCount+=a,t.curves.push(i),t.index+=a,t.max=Math.max(t.max,a)}else if(r===tq.BEZIER_CURVE){var s=i.length-1;t.index+=2*s,t.curves.push(i),t.max=Math.max(t.max,2*s),t.curveCount+=2*s}}}function iD(){return{curves:[],index:0,max:0,lineSegCount:0,curveCount:0}}var iU=new rN,ik=1,iB=function(){function t(t,e){void 0===t&&(t={}),this.taggedProperties={},this.position=new rV(0,0,0),this.quat=new rN(0,0,0,1),this.rotation=new rz(0,0,0),this.scale=new rV(1,1,1),this.anchor=new rV(0,0,0),this.size=new rP(1,1),this.children=[],this.worldMatrix=rF.fromIdentity(),this.localMatrix=rF.fromIdentity(),this.valid=!0,this.dirtyFlags={localData:!1,localMatrix:!1,worldMatrix:!1,parentMatrix:!1},this.worldTRSCache={position:new rV(0,0,0),quat:new rN(0,0,0,1),scale:new rV(1,1,1)},this.name="transform_"+ik++,t&&this.setTransform(t),e&&(this.parentTransform=e),void 0!==t.valid&&this.setValid(t.valid)}var e=t.prototype;return e.setPosition=function(t,e,r){(this.position.x!==t||this.position.y!==e||this.position.z!==r)&&(this.position.x=t,this.position.y=e,this.position.z=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.translate=function(t,e,r){(0!==t||0!==e||0!==r)&&(this.position.x+=t,this.position.y+=e,this.position.z+=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setRotation=function(t,e,r){(this.rotation.x!==t||this.rotation.y!==e||this.rotation.z!==r)&&(this.rotation.x=t,this.rotation.y=e,this.rotation.z=r,this.quat.setFromEuler(this.rotation),this.quat.conjugate(),this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setQuaternion=function(t,e,r,i){(this.quat.x!==t||this.quat.y!==e||this.quat.z!==r||this.quat.w!==i)&&(this.quat.x=t,this.quat.y=e,this.quat.z=r,this.quat.w=i,this.rotation.setFromQuaternion(this.quat),this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setScale=function(t,e,r){(this.scale.x!==t||this.scale.y!==e||this.scale.z!==r)&&(this.scale.x=t,this.scale.y=e,this.scale.z=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setSize=function(t,e){(this.size.x!==t||this.size.y!==e)&&(this.size.x=t,this.size.y=e,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.rotateByQuat=function(t){this.quat.multiply(t),this.rotation.setFromQuaternion(this.quat),this.dirtyFlags.localData=!0,this.dispatchValueChange()},e.scaleBy=function(t,e,r){this.scale.x*=t,this.scale.y*=e,this.scale.z*=r,this.dirtyFlags.localData=!0,this.dispatchValueChange()},e.setAnchor=function(t,e){(this.anchor.x!==t||this.anchor.y!==e)&&(this.anchor.x=t,this.anchor.y=e,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setTransform=function(t,e){var r=t.position,i=t.rotation,n=t.scale,o=t.size,a=t.quat,s=t.name,u=t.anchor;if(s&&(this.name=s),r&&(e$(r,rV)?this.setPosition(r.x,r.y,r.z):this.setPosition(r[0],r[1],r[2])),a)e$(a,rN)?this.setQuaternion(a.x,a.y,a.z,a.w):this.setQuaternion(a[0],a[1],a[2],a[3]);else if(i){var l=e?-1:1;e$(i,rz)?this.setRotation(i.x*l,i.y*l,i.z*l):this.setRotation(i[0]*l,i[1]*l,i[2]*l)}n&&(e$(n,rV)?this.setScale(n.x,n.y,n.z):this.setScale(n[0],n[1],n[2])),o&&this.setSize(o.x,o.y),u&&(e$(u,rP)?this.setAnchor(u.x,u.y):this.setAnchor(u[0],u[1]))},e.addChild=function(t){e8(this.children,t)},e.removeChild=function(t){e9(this.children,t)},e.getRotation=function(){return t.getRotation(this.quat,new rz)},e.getQuaternion=function(){return this.quat},e.updateLocalMatrix=function(){this.valid?(this.dirtyFlags.localData&&(this.localMatrix.compose(this.position,this.quat,this.scale,this.anchor),this.dirtyFlags.localMatrix=!0),this.dirtyFlags.localData=!1):this.localMatrix.isIdentity()||(this.localMatrix.identity(),this.dirtyFlags.localMatrix=!0)},e.getMatrix=function(){return this.updateLocalMatrix(),this.localMatrix},e.getParentMatrix=function(){return this.parent&&(this.parentMatrix=this.parent.getWorldMatrix(),this.dirtyFlags.parentMatrix=this.dirtyFlags.parentMatrix||this.parent.dirtyFlags.localMatrix||this.parent.dirtyFlags.worldMatrix),this.parentMatrix},e.getWorldMatrix=function(){var t=this.getMatrix(),e=this.getParentMatrix();return(this.dirtyFlags.localMatrix||this.dirtyFlags.parentMatrix)&&(e?this.worldMatrix.multiplyMatrices(e,t):this.worldMatrix.copyFrom(t),this.dirtyFlags.worldMatrix=!0,this.dirtyFlags.localMatrix=!1,this.dirtyFlags.parentMatrix=!1),this.worldMatrix},e.getWorldScale=function(){var t=this.worldTRSCache;return this.dirtyFlags.worldMatrix&&(this.getWorldMatrix().decompose(t.position,t.quat,t.scale),this.dirtyFlags.worldMatrix=!1),this.worldTRSCache.scale.clone()},e.getWorldPosition=function(){return this.updateTRSCache(),this.worldTRSCache.position.clone()},e.getWorldRotation=function(){return this.updateTRSCache(),t.getRotation(this.worldTRSCache.quat,new rz)},e.assignWorldTRS=function(t,e,r){this.updateTRSCache(),t&&t.copyFrom(this.worldTRSCache.position),e&&e.copyFrom(this.worldTRSCache.quat),r&&r.copyFrom(this.worldTRSCache.scale)},e.cloneFromMatrix=function(t,e){t.decompose(this.position,this.quat,this.scale),e&&e.copyFrom(this.scale),this.dirtyFlags.localData=!0,this.dispatchValueChange()},e.setValid=function(t){this.valid!==t&&(this.valid=t,t?this.dirtyFlags.localData=!0:(this.localMatrix.identity(),this.dirtyFlags.localMatrix=!0),this.dispatchValueChange())},e.getValid=function(){return this.valid},e.toData=function(){var t=this.taggedProperties;return t.position=this.position.clone(),t.eulerHint={x:this.rotation.x,y:this.rotation.y,z:this.rotation.z},t.scale=this.scale.clone(),t},e.fromData=function(t){var e={position:new rV().copyFrom(t.position),rotation:new rz(t.eulerHint.x,t.eulerHint.y,t.eulerHint.z),scale:new rV().copyFrom(t.scale)};this.setTransform(e)},e.dispose=function(){},e.updateTRSCache=function(){var t=this.getWorldMatrix();if(this.dirtyFlags.worldMatrix){var e=this.worldTRSCache;t.decompose(e.position,e.quat,e.scale),this.dirtyFlags.worldMatrix=!1}},e.dispatchValueChange=function(){this.children.forEach(function(t){t.parentMatrixDirty=!0})},t.getRotation=function(t,e){var r=iU.copyFrom(t);return r.conjugate(),e.setFromQuaternion(r)},rC(t,[{key:"parentTransform",get:function(){return this.parent},set:function(t){t&&this.parent!==t&&this!==t&&(this.parent&&this.parent.removeChild(this),t.addChild(this),this.parent=t,this.parentMatrixDirty=!0)}},{key:"parentMatrixDirty",get:function(){return this.dirtyFlags.parentMatrix},set:function(t){this.dirtyFlags.parentMatrix!==t&&(this.dirtyFlags.parentMatrix=t,this.dispatchValueChange())}}]),t}();t.CameraController=function(t){function e(e,r){var i;return i=t.call(this,e)||this,r&&i.fromData(r),i}rS(e,t);var r=e.prototype;return r.start=function(){this.options.position=this.transform.position.clone(),this.options.rotation=this.transform.getRotation().clone()},r.update=function(){var t=this.item.lifetime;if(!(t<0)&&this.item.transform.getValid()){var e=new rN,r=new rV,i=new rz;r.copyFrom(this.options.position),i.copyFrom(this.options.rotation);var n=this.translateOverLifetime,o=this.rotationOverLifetime;if(t=rM(t,0,1),n&&(r.x+=n.x.getValue(t),r.y+=n.y.getValue(t),r.z+=n.z.getValue(t),n.path)){var a=n.path.getValue(t);r.add(a)}if(o){var s=o.z.getValue(t);i.z+=s,o.separateAxes?(i.x+=o.x.getValue(t),i.y+=o.y.getValue(t)):(i.x+=s,i.y+=s)}this.far=this.options.far.getValue(t),this.near=this.options.near.getValue(t),this.fov=this.options.fov.getValue(t),this.transform.setPosition(r.x,r.y,r.z),this.transform.setRotation(i.x,i.y,i.z),this.transform.assignWorldTRS(r,e),this.position=r,this.rotation=iB.getRotation(e,i),this.updateCamera()}},r.fromData=function(e){t.prototype.fromData.call(this,e);var r=e.options,i=r.near,n=r.far,o=r.fov,a=r.clipMode;if(this.clipMode=a,this.options={position:new rV,rotation:new rz,near:iV(i),far:iV(n),fov:iV(o)},e.positionOverLifetime){var s=e.positionOverLifetime,u=s.path,l=s.linearX,c=s.linearY,h=s.linearZ;this.translateOverLifetime={path:u&&iV(u),x:iV(void 0===l?0:l),y:iV(void 0===c?0:c),z:iV(void 0===h?0:h)}}if(e.rotationOverLifetime){var f=e.rotationOverLifetime,m=f.separateAxes,d=f.x,p=f.y,v=f.z;this.rotationOverLifetime={separateAxes:m,x:iV(void 0===d?0:d),y:iV(void 0===p?0:p),z:iV(void 0===v?0:v)}}},r.updateCamera=function(){if(this.item.composition){var t=this.item.composition.camera;t.near=this.near,t.far=this.far,t.fov=this.fov,t.clipMode=this.clipMode,t.position=this.position,t.rotation=this.rotation}},e}(rK),t.CameraController=e1([rj(er.CameraController)],t.CameraController);var iG=function(t){function e(){return t.apply(this,arguments)}return rS(e,t),e}(rJ);t.HitTestType=void 0,(k=t.HitTestType||(t.HitTestType={}))[k.triangle=1]="triangle",k[k.box=2]="box",k[k.sphere=3]="sphere",k[k.custom=4]="custom";var iX="click",iH="touchstart",iY="touchmove",ij="touchend",iW=tG,iZ=function(){function t(t,e){void 0===e&&(e=!1),this.target=t,this.allowPropagation=e,this.enabled=!0,this.handlers={},this.nativeHandlers={}}var e=t.prototype;return e.bindListeners=function(){var t,e,r,i,n,o,a=this;n=function(t){return t};var s="mousedown",u="mousemove",l="mouseup",c=function(t,e,r,n,o){void 0===n&&(n=0),void 0===o&&(o=0);var s=a.target,u=s.width,l=s.height,c=performance.now(),h=0,f=0;if(i){var m=c-i.ts;h=(n-i.dx)/m||0,f=(o-i.dy)/m||0,i={dx:n,dy:o,ts:c}}return{x:e,y:r,vx:h,vy:f,dx:n,dy:o,ts:c,width:u,height:l,origin:t}};ra()&&(n=function(t){var e=t.touches,r=t.changedTouches;return e[0]||r[0]},s="touchstart",u="touchmove",l="touchend"),this.nativeHandlers=((o={})[s]=function(o){if(a.enabled){var s=n(o),u=iq(s);t=u.x,e=u.y,i=r={clientX:s.clientX,clientY:s.clientY,ts:performance.now(),x:t,y:e},a.dispatchEvent(iH,c(o,t,e))}},o[u]=function(i){if(r&&a.enabled){var o=iq(n(i));t=o.x,e=o.y,a.dispatchEvent(iY,c(i,t,e,t-r.x,e-r.y))}},o[l]=function(i){if(r&&a.enabled){!a.allowPropagation&&i.cancelable&&(i.preventDefault(),i.stopPropagation());var o=n(i),s=iq(o),u=Math.abs(r.clientX-o.clientX)+Math.abs(r.clientY-o.clientY);t=s.x,e=s.y,u<4&&a.dispatchEvent(iX,c(i,t,e)),a.dispatchEvent(ij,c(i,t,e,t-r.x,e-r.y))}r=0},o),Object.keys(this.nativeHandlers).forEach(function(t){var e;null==(e=a.target)||e.addEventListener(String(t),a.nativeHandlers[t])})},e.dispatchEvent=function(t,e){var r=this.handlers[t];null==r||r.forEach(function(t){return t(e)})},e.addEventListener=function(t,e){var r=this.handlers[t];return r||(r=this.handlers[t]=[]),e8(r,e),function(){e9(r,e)}},e.removeEventListener=function(t,e){var r=this.handlers[t];r&&e9(r,e)},e.dispose=function(){var t=this;this.target&&(this.handlers={},Object.keys(this.nativeHandlers).forEach(function(e){var r;null==(r=t.target)||r.removeEventListener(String(e),t.nativeHandlers[e])}),this.nativeHandlers={},this.target=null)},t}();function iq(t){var e=t.target,r=t.clientX,i=t.clientY,n=e.getBoundingClientRect(),o=n.left,a=n.top;return{x:(r-o)/n.width*2-1,y:1-(i-a)/n.height*2}}var iK=function(t){function e(){return t.apply(this,arguments)}return rS(e,t),e}(rJ),iQ="editor",iJ={"Filter not imported":"https://galacean.antgroup.com/effects/#/user/gasrv4ka5sacrwpg","Item duration can't be less than 0":"https://galacean.antgroup.com/effects/#/user/gasrv4ka5sacrwpg"},i$=[],i0={};function i1(){"function"==typeof WebGL2RenderingContext?i2(WebGL2RenderingContext):"undefined"!=typeof WebGLRenderingContext?(i2(WebGLRenderingContext),i2(WebGLRenderingContext.prototype)):i$.push("iOS16 lockdown mode, WebGL Constants not in global"),i$.length||"HALF_FLOAT"in i0||(i0.HALF_FLOAT=5131)}function i2(t){for(var e in t)/^[A-Z_]/.test(e)&&(i0[e]=t[e])}function i3(t){switch(t){case tF.ALPHA:case tF.ADD:case tF.SUBTRACTION:case tF.STRONG_LIGHT:case tF.WEAK_LIGHT:return 1;case tF.SUPERPOSITION:return 2;case tF.BRIGHTNESS:return 3;case tF.MULTIPLY:return 0;default:return 1}}i$.length||i1(),t.ShaderType=void 0,(B=t.ShaderType||(t.ShaderType={}))[B.vertex=0]="vertex",B[B.fragment=1]="fragment";var i4=((ea={})[t.ShaderType.vertex]={in:"attribute",out:"varying"},ea[t.ShaderType.fragment]={in:"varying"},ea);function i5(t,e,r,i){var n=[],o="";n.push("#define GE_RUNTIME"),t&&(t.forEach(function(t){var e=t[0],r=t[1];!0===r?n.push("#define "+e):Number.isFinite(r)&&n.push("#define "+e+" "+r)}),o=n.length?n.join("\n")+"\n":"");var a="WEBGL"+i,s=(o=o+("\n#ifndef "+a)+"\n#define "+a+"\n#endif")+"\n"+e,u=s.match(/#version\s+\b\d{3}\b\s*(es)?/),l=u?u[0]:"";if(l&&l.includes("300")){var c=RegExp(""+l,"g");1===i&&(s=s.replace(/\b(in|out)\b/g,function(t){var e;return null!=(e=i4[r][t])?e:t})),s=s.replace(c,"\n")}return s}function i6(t,e){switch(e){case void 0:case tF.ALPHA:t.blendFunction=[i0.ONE,i0.ONE_MINUS_SRC_ALPHA,i0.ONE,i0.ONE_MINUS_SRC_ALPHA];break;case tF.ADD:t.blendFunction=[i0.ONE,i0.ONE,i0.ONE,i0.ONE];break;case tF.SUBTRACTION:t.blendFunction=[i0.ONE,i0.ONE,i0.ZERO,i0.ONE],t.blendEquation=[i0.FUNC_REVERSE_SUBTRACT,i0.FUNC_REVERSE_SUBTRACT];break;case tF.SUPERPOSITION:t.blendFunction=[i0.ONE,i0.ONE,i0.ONE,i0.ONE];break;case tF.MULTIPLY:t.blendFunction=[i0.DST_COLOR,i0.ONE_MINUS_SRC_ALPHA,i0.DST_COLOR,i0.ONE_MINUS_SRC_ALPHA];break;case tF.BRIGHTNESS:t.blendFunction=[i0.ONE,i0.ONE_MINUS_SRC_ALPHA,i0.ONE,i0.ONE_MINUS_SRC_ALPHA];break;case tF.STRONG_LIGHT:t.blendFunction=[i0.DST_COLOR,i0.DST_ALPHA,i0.ZERO,i0.ONE];break;case tF.WEAK_LIGHT:t.blendFunction=[i0.DST_COLOR,i0.ZERO,i0.ZERO,i0.ONE];break;default:console.warn("blendMode "+e+" not in specification, please set blend params separately")}}function i8(t,e){e===tz.DOUBLE?t.culling=!1:(t.culling=!0,t.frontFace=i0.CW,t.cullFace=e===tz.BACK?i0.BACK:i0.FRONT)}function i9(t,e){switch(e){case void 0:t.stencilTest=!1;break;case tD.MASK:t.stencilTest=!0,t.stencilFunc=[i0.ALWAYS,i0.ALWAYS],t.stencilOpZPass=[i0.REPLACE,i0.REPLACE];break;case tD.OBSCURED:t.stencilTest=!0,t.stencilFunc=[i0.EQUAL,i0.EQUAL];break;case tD.REVERSE_OBSCURED:t.stencilTest=!0,t.stencilFunc=[i0.NOTEQUAL,i0.NOTEQUAL];break;case tD.NONE:t.stencilTest=!1;break;default:console.warn("maskMode "+e+" not in specification, please set stencil params seperately")}}function i7(){return(i7=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t}).apply(this,arguments)}t.TextureLoadAction=void 0,(G=t.TextureLoadAction||(t.TextureLoadAction={}))[G.whatever=0]="whatever",G[G.clear=2]="clear",t.TextureSourceType=void 0,(X=t.TextureSourceType||(t.TextureSourceType={}))[X.none=0]="none",X[X.data=1]="data",X[X.image=2]="image",X[X.compressed=3]="compressed",X[X.video=4]="video",X[X.canvas=5]="canvas",X[X.framebuffer=6]="framebuffer",X[X.mipmaps=7]="mipmaps";var nt=function(){function t(){this.callbacks={}}var e=t.prototype;return e.downloadJSON=function(t,e,r){this.download(t,"json",e,r)},e.downloadBinary=function(t,e,r){this.download(t,"arraybuffer",e,r)},e.downloadBlob=function(t,e,r){this.download(t,"blob",e,r)},e.download=function(t,e,r,i){var n=this;if(void 0===e&&(e="json"),!this.start(t,r,i)){var o=new XMLHttpRequest,a=function(){n.finish(t,o.status,o.response)};o.responseType=e,o.addEventListener("load",function(){200==o.status||0==o.status?n.finish(t,200,o.response):a()}),o.addEventListener("error",a),o.open("GET",t,!0),o.send()}},e.start=function(t,e,r){var i=this.callbacks[t];try{if(i)return!0;this.callbacks[t]=i=[]}finally{i.push(e,r)}},e.finish=function(t,e,r){var i=this.callbacks[t];delete this.callbacks[t];for(var n=200==e||0==e?[r]:[e,r],o=n.length-1,a=i.length;o<a;o+=2)i[o].apply(null,n)},t}(),ne=!1;function nr(t,e){return ni.apply(this,arguments)}function ni(){return(ni=eJ(function(t,e){return e2(this,function(r){switch(r.label){case 0:if(!(ne||!e))return[3,2];return[4,nn(t)];case 1:case 5:return[2,{image:r.sent(),url:t}];case 2:return r.trys.push([2,4,,6]),[4,nn(e)];case 3:return[2,{image:r.sent(),url:e}];case 4:return r.sent(),ne=!0,[4,nn(t)];case 6:return[2]}})})).apply(this,arguments)}function nn(t){return no.apply(this,arguments)}function no(){return(no=eJ(function(t){var e,r;return e2(this,function(i){if(e="",e$(t,HTMLImageElement)){if(t.complete)return[2,t];e=t.src}else e$(t,Blob)?(e=URL.createObjectURL(t),r=!0):"string"==typeof t&&(e=t);if(!e)throw Error("Invalid url type: "+JSON.stringify(t));return[2,new Promise(function(t,i){var n=new Image;/^data:/.test(e)||(n.crossOrigin="*"),n.onload=function(){return n.onload=null,r&&URL.revokeObjectURL(e),t(n)},n.onerror=function(t){return n.onerror=null,r&&URL.revokeObjectURL(e),i("Load image fail: "+e+", reason: "+JSON.stringify(t))},n.src=e})]})})).apply(this,arguments)}function na(t){return ns.apply(this,arguments)}function ns(){return(ns=eJ(function(t){return e2(this,function(e){return[2,new Promise(function(e,r){new nt().downloadBinary(t,e,function(e,i){r("Couldn't load bins "+t+": status "+e+", "+i)})})]})})).apply(this,arguments)}function nu(){return(nu=eJ(function(t){return e2(this,function(e){return[2,new Promise(function(e,r){new nt().downloadBlob(t,e,function(e,i){r("Couldn't load blob "+t+": status "+e+", "+i)})})]})})).apply(this,arguments)}function nl(t){return nc.apply(this,arguments)}function nc(){return(nc=eJ(function(t){var e;return e2(this,function(r){return e=document.createElement("video"),"string"==typeof t?e.src=t:e.srcObject=t,e.crossOrigin="anonymous",e.muted=!0,ro()&&e.setAttribute("renderer","standard"),e.setAttribute("playsinline","playsinline"),[2,new Promise(function(t,r){var i=e.play();i?i.then(function(){return t(e)}):e.addEventListener("loadeddata",function r(){t(e),e.removeEventListener("loadeddata",r)},!0),e.addEventListener("error",function(t){r(t)})})]})})).apply(this,arguments)}function nh(t,e){return nf.apply(this,arguments)}function nf(){return(nf=eJ(function(t,e){return e2(this,function(r){switch(r.label){case 0:if(!Array.isArray(t))return[3,5];r.label=1;case 1:return r.trys.push([1,3,,5]),[4,e(t[0])];case 2:case 4:return[2,r.sent()];case 3:return r.sent(),[4,e(t[1])];case 5:return[2,e(t)]}})})).apply(this,arguments)}function nm(t,e){return nd.apply(this,arguments)}function nd(){return(nd=eJ(function(e,r,i){var n,o,a,s,u,l,c,h;return e2(this,function(f){switch(f.label){case 0:if(void 0===i&&(i=[]),34067!==e.target)return[3,2];return n=e.mipmaps,o=e.target,[4,Promise.all(n.map(function(t){return Promise.all(t.map(function(t){return np(t,r)}))}))];case 1:return a=f.sent(),s=i[n[0][0][1][0]].url,[2,i7({keepImageSource:!1},e,{mipmaps:a,sourceFrom:{target:o,bin:s,type:t.TextureSourceType.mipmaps,mipmaps:n.map(function(t){return t.map(function(t){return[t[1][1],t[1][2]]})})}})];case 2:return u=e.mipmaps,l=e.target,[4,Promise.all(u.map(function(t){return np(t,r)}))];case 3:return c=f.sent(),h=i[u[0][1][0]].url,[2,i7({keepImageSource:!1},e,{mipmaps:c,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{target:l,bin:h,type:t.TextureSourceType.mipmaps,mipmaps:u.map(function(t){return[t[1][1],t[1][2]]})}})];case 4:return[2]}})})).apply(this,arguments)}function np(t,e){return nv.apply(this,arguments)}function nv(){return(nv=eJ(function(t,e){var r,i,n,o,a;return e2(this,function(s){if(i=(r=t[1])[0],n=r[1],o=r[2],!(a=e[i]))throw Error("invalid bin pointer: "+JSON.stringify(t));return[2,nn(new Blob([new Uint8Array(a,n,o)]))]})})).apply(this,arguments)}var ny=1,ng=function(e){function r(t){var r;return(r=e.call(this,t)||this).destroyed=!1,r.id="Tex"+ny++,r}rS(r,e);var i=r.prototype;return i.getWidth=function(){return this.width||0},i.getHeight=function(){return this.height||0},i.uploadCurrentVideoFrame=function(){},i.offloadData=function(){},i.reloadData=function(){},i.initialize=function(){},i.assembleOptions=function(e){var r=e.target,i=void 0===r?i0.TEXTURE_2D:r,n=e.format,o=void 0===n?i0.RGBA:n;return e.sourceType||("image"in e?e.sourceType=t.TextureSourceType.image:"data"in e?e.sourceType=t.TextureSourceType.data:"video"in e?e.sourceType=t.TextureSourceType.video:e.sourceType=0),i7({minFilter:i0.NEAREST,magFilter:i0.NEAREST,wrapS:i0.CLAMP_TO_EDGE,wrapT:i0.CLAMP_TO_EDGE,target:i,format:i0.RGBA,internalFormat:o,type:i0.UNSIGNED_BYTE},e)},r.fromImage=function(e,i){return eJ(function(){var n,o;return e2(this,function(a){switch(a.label){case 0:return[4,nn(e)];case 1:return n=a.sent(),(o=r.create(i,{sourceType:t.TextureSourceType.image,image:n,id:rE()})).initialize(),[2,o]}})})()},rC(r,[{key:"isDestroyed",get:function(){return this.destroyed}}]),r}(rW);function nx(t,e,r,i){var n,o,a=e.length/r/i;return o=n=4===a||0===a?i0.RGBA:3===a?i0.RGB:2===a?i0.LUMINANCE_ALPHA:i0.LUMINANCE,ng.createWithData(t,{data:e,width:r,height:i},{type:i0.HALF_FLOAT,format:n,internalFormat:o,wrapS:i0.CLAMP_TO_EDGE,wrapT:i0.CLAMP_TO_EDGE})}var nT=function(){function t(t,e,r){void 0===r&&(r=0),this.arrayBuffer=t,this.baseOffset=r;var i=new Uint8Array(this.arrayBuffer,this.baseOffset,12);if(171!==i[0]||75!==i[1]||84!==i[2]||88!==i[3]||32!==i[4]||49!==i[5]||49!==i[6]||187!==i[7]||13!==i[8]||10!==i[9]||26!==i[10]||10!==i[11])throw Error("texture missing KTX identifier");var n=Uint32Array.BYTES_PER_ELEMENT,o=new DataView(this.arrayBuffer,this.baseOffset+12,13*n),a=67305985===o.getUint32(0,!0);if(this.glType=o.getUint32(1*n,a),this.glTypeSize=o.getUint32(2*n,a),this.glFormat=o.getUint32(3*n,a),this.glInternalFormat=o.getUint32(4*n,a),this.glBaseInternalFormat=o.getUint32(5*n,a),this.pixelWidth=o.getUint32(6*n,a),this.pixelHeight=o.getUint32(7*n,a),this.pixelDepth=o.getUint32(8*n,a),this.numberOfArrayElements=o.getUint32(9*n,a),this.numberOfFaces=o.getUint32(10*n,a),this.numberOfMipmapLevels=o.getUint32(11*n,a),this.bytesOfKeyValueData=o.getUint32(12*n,a),this.numberOfMipmapLevels=Math.max(1,this.numberOfMipmapLevels),0===this.pixelHeight||0!==this.pixelDepth){rm.warn("Only 2D textures currently supported");return}if(0!==this.numberOfArrayElements){rm.warn("Texture arrays not currently supported");return}if(this.numberOfFaces!==e){rm.warn("Number of faces expected"+e+", but found "+this.numberOfFaces);return}0===this.glType?this.loadType=0:this.loadType=2}return t.prototype.mipmaps=function(t){for(var e=[],r=64+this.bytesOfKeyValueData,i=this.pixelWidth,n=this.pixelHeight,o=t?this.numberOfMipmapLevels:1,a=0;a<o;a++){for(var s=new Int32Array(this.arrayBuffer,this.baseOffset+r,1)[0],u=0;u<this.numberOfFaces;u++){var l=new Uint8Array(this.arrayBuffer,this.baseOffset+r+4,s);e.push({data:l,width:i,height:n}),r+=s+4+(3-(s+3)%4)}i=Math.max(1,.5*i),n=Math.max(1,.5*n)}return e},t}();function nE(e){var r=new nT(e,1),i=r.numberOfMipmapLevels,n=r.pixelWidth,o=r.pixelHeight,a=r.glType,s=r.numberOfFaces,u=r.glInternalFormat,l=r.glFormat;return{sourceType:t.TextureSourceType.compressed,type:a,target:6===s?i0.TEXTURE_CUBE_MAP:i0.TEXTURE_2D,internalFormat:u,format:l,mipmaps:r.mipmaps(i>=Math.floor(Math.log2(Math.max(n,o))+1))}}var n_=function(){function e(){this.reloadPending={}}var r=e.prototype;return r.reload=function(t){var e=this;return eJ(function(){var r,i;return e2(this,function(n){switch(n.label){case 0:if(r=t.id,e.reloadPending[r])return[2];if(!t.sourceFrom)return[3,2];return e.reloadPending[r]=!0,[4,e.loadSource(t.sourceFrom)];case 1:return i=n.sent(),t.updateSource(i),e.reloadPending[r]=!1,[3,3];case 2:throw Error("No source from");case 3:return[2]}})})()},r.canOffloadTexture=function(e){if(e){var r=e.type;if(r===t.TextureSourceType.compressed||r===t.TextureSourceType.image){var i=e.target,n=e.map,o=e.url;return i===i0.TEXTURE_CUBE_MAP?"object"==typeof n&&!!n:rp(o)&&o.length>0}if(r===t.TextureSourceType.mipmaps){var a=e.bin,s=e.mipmaps,u=e.target,l=e.maps,c=e.urls;return a?s.length>0:u===i0.TEXTURE_CUBE_MAP?l.every(function(t){return"object"==typeof t&&t}):c.every(function(t){return rp(t)&&t.length>0})}}return!1},r.loadSource=function(e,r){var i=this;return eJ(function(){var n,o,a,s,u,l,c,h,f,m,d,p,v,y,g,x,T,E;return e2(this,function(_){switch(_.label){case 0:if(n=e.type,o=e.target,a=e.map,s=e.url,u=e.bin,l=e.mipmaps,c=e.urls,h=e.maps,!(o===i0.TEXTURE_CUBE_MAP&&n!==t.TextureSourceType.mipmaps))return[3,2];return[4,i.loadCubeMap(a)];case 1:return f=_.sent(),[2,i7({},r,{cube:f,target:i0.TEXTURE_CUBE_MAP,sourceType:t.TextureSourceType.image,sourceFrom:{type:t.TextureSourceType.image,map:i7({},a),target:i0.TEXTURE_CUBE_MAP}})];case 2:if(n!==t.TextureSourceType.image)return[3,4];return[4,nn(s)];case 3:return m=_.sent(),[2,i7({},r,{image:m,sourceType:t.TextureSourceType.image,sourceFrom:{type:n,url:s,target:i0.TEXTURE_2D}})];case 4:if(n!==t.TextureSourceType.video)return[3,6];return[4,nl(s)];case 5:return d=_.sent(),[2,i7({},r,{video:d,sourceType:t.TextureSourceType.video})];case 6:if(n!==t.TextureSourceType.compressed)return[3,8];return[4,na(s)];case 7:return p=_.sent(),[2,i7({},nE(p),r,{sourceFrom:{url:s,type:t.TextureSourceType.compressed}})];case 8:if(n!==t.TextureSourceType.mipmaps)return[3,17];if(!u)return[3,13];return[4,na(u)];case 9:if(v=_.sent(),g=(y=null!=o?o:i0.TEXTURE_2D)===i0.TEXTURE_2D?l.slice():l.map(function(t){return t.slice()}),o!==i0.TEXTURE_CUBE_MAP)return[3,11];return[4,Promise.all(l.map(function(t){return i.loadMipmapImages(t,v)}))];case 10:return x=_.sent(),[3,12];case 11:x=i.loadMipmapImages(l,v),_.label=12;case 12:return[2,i7({},r,{mipmaps:x,target:y,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{bin:u,mipmaps:g,target:y,type:t.TextureSourceType.mipmaps}})];case 13:if(!(o===i0.TEXTURE_2D||!o))return[3,15];return[4,Promise.all(c.map(function(t){return nn(t)}))];case 14:return T=_.sent(),[2,i7({},r,{mipmaps:T,target:i0.TEXTURE_2D,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{type:n,urls:c.slice(),target:i0.TEXTURE_2D}})];case 15:if(o!==i0.TEXTURE_CUBE_MAP)return[3,17];return[4,Promise.all(h.map(function(t){return i.loadCubeMap(t)}))];case 16:return E=_.sent(),[2,i7({},r,{mipmaps:E,target:i0.TEXTURE_CUBE_MAP,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{type:n,maps:h.map(function(t){return i7({},t)}),target:i0.TEXTURE_CUBE_MAP}})];case 17:throw Error("Invalid resource type: "+n)}})})()},r.loadMipmapImages=function(t,e){return eJ(function(){return e2(this,function(r){return[2,Promise.all(t.map(function(t){return nn(new Blob([new Uint8Array(e,t[0],t[1])]))}))]})})()},r.loadCubeMap=function(t){return eJ(function(){return e2(this,function(e){return[2,Promise.all(t.map(function(t){return nn(t)}))]})})()},e}(),nC=function(){function t(t){this.destroyed=!1;var e=t.name;this.name=void 0===e?"defaultDataBlock":e}var e=t.prototype;return e.setUniformValues=function(t){var e=this;Object.keys(t).forEach(function(r){e.setUniformValue(r,t[r])})},e.invalidAllFlags=function(){},e.updateUniformSubData=function(t,e,r){},t}();function nA(t){return"object"==typeof t&&t&&void 0===t.length&&e$(t,ng)}t.MaterialRenderType=void 0,(H=t.MaterialRenderType||(t.MaterialRenderType={}))[H.normal=0]="normal",H[H.transformFeedback=1]="transformFeedback";var nS=1,nR=function(t){function e(e,r){var i;if((i=t.call(this,e)||this).stringTags={},i.destroyed=!1,i.initialized=!1,r){var n=r.name,o=void 0===n?"Material"+nS++:n,a=r.renderType,s=r.shader,u=r.uniformSemantics;i.name=o,i.renderType=void 0===a?0:a,i.shaderSource=s,i.props=r,i.uniformSemantics=i7({},u)}else i.name="Material"+nS++,i.renderType=0;return i}rS(e,t);var r=e.prototype;return r.initialize=function(){},r.use=function(t,e){},rC(e,[{key:"blending",set:function(t){}},{key:"blendFunction",set:function(t){}},{key:"blendEquation",set:function(t){}},{key:"depthTest",set:function(t){}},{key:"depthMask",set:function(t){}},{key:"stencilTest",set:function(t){}},{key:"stencilRef",set:function(t){}},{key:"stencilFunc",set:function(t){}},{key:"stencilOpZPass",set:function(t){}},{key:"culling",set:function(t){}},{key:"frontFace",set:function(t){}},{key:"cullFace",set:function(t){}},{key:"blendColor",set:function(t){}},{key:"depthRange",set:function(t){}},{key:"depthFunc",set:function(t){}},{key:"polygonOffsetFill",set:function(t){}},{key:"polygonOffset",set:function(t){}},{key:"sampleAlphaToCoverage",set:function(t){}},{key:"colorMask",set:function(t){}},{key:"stencilMask",set:function(t){}},{key:"stencilOpFail",set:function(t){}},{key:"stencilOpZFail",set:function(t){}}]),e}(rW);t.ShaderCompileResultStatus=void 0,(Y=t.ShaderCompileResultStatus||(t.ShaderCompileResultStatus={}))[Y.noShader=0]="noShader",Y[Y.success=1]="success",Y[Y.fail=2]="fail",Y[Y.compiling=3]="compiling",t.GLSLVersion=void 0,(j=t.GLSLVersion||(t.GLSLVersion={})).GLSL1="100",j.GLSL3="300 es";var nb=function(t){function e(e,r){var i;return(i=t.call(this,e)||this).source=r,i}return rS(e,t),e}(rW);t.Shader=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.createVariant=function(t){var e=[];if(t)for(var r,i=rb(Object.keys(t));!(r=i()).done;){var n=r.value;e.push([n,t[n]])}var o=this.engine.getShaderLibrary().createShader(this.shaderData,e);return o.shader=this,o},r.fromData=function(e){t.prototype.fromData.call(this,e),this.shaderData=e},e}(rW),t.Shader=e1([rj("Shader")],t.Shader);var nO="effects-internal-copy",nw="effects-internal-copy-mesh",nI="\n#ifdef WEBGL2\n#define vsIn in\n#define vsOut out\n#else\n#define vsIn attribute\n#define vsOut varying\n#endif\nprecision highp float;\nvsIn vec2 aPos;\nvsOut vec2 vTex;\nvoid main(){\n gl_Position = vec4(aPos,0.,1.0);\n vTex = (aPos + vec2(1.0))/2.;\n}",nL="precision mediump float;\n#ifdef WEBGL2\n#define fsIn in\n#define fsOut out\n#define texture2D texture\n#else\n#define fsIn varying\n#endif\nfsIn vec2 vTex;\n#ifdef WEBGL2\nlayout (location = 0) out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\n\n#ifdef DEPTH_TEXTURE\nuniform sampler2D uDepth;\n#ifndef WEBGL2\n#extension GL_EXT_frag_depth : enable\n#define gl_FragDepth gl_FragDepthEXT\n#endif\n#endif\nvoid main(){\n #ifdef DEPTH_TEXTURE\n gl_FragDepth = texture2D(uDepth,vTex).r;\n #endif\n}\n";function nM(e,r){var i=2===e,n=i?"#version 300 es":"";return{name:nO,vertex:n+"\n"+nI,fragment:n+"\n"+nL,glslVersion:i?t.GLSLVersion.GLSL3:t.GLSLVersion.GLSL1,marcos:[["WEBGL2",!!i],["DEPTH_TEXTURE",!!r]],cacheId:nw+ +r}}var nP={format:i0.RGBA,type:i0.UNSIGNED_BYTE,minFilter:i0.LINEAR,magFilter:i0.LINEAR,wrapS:i0.CLAMP_TO_EDGE,wrapT:i0.CLAMP_TO_EDGE},nV=Symbol("dispose"),nN=function(){function e(t){this.textureCache={},this.textureRef={},this.engine=t}var r=e.prototype;return r.requestColorAttachmentTexture=function(e){var r=this,i=e.width,n=e.height,o=e.name,a={sourceType:t.TextureSourceType.framebuffer,data:{width:i,height:n},name:o},s=[o];Object.getOwnPropertyNames(nP).forEach(function(t){var r,i=null!=(r=e[t])?r:nP[t];a[t]=i,s.push(t,i)});var u=s.join(":"),l=this.textureCache[u];if(l)this.textureRef[u]++;else{var c=this.engine;rh(c),l=ng.create(c,a),this.textureCache[u]=l,this.textureRef[u]=1,l[nV]=l.dispose,l.dispose=function(){return r.removeTexture(u)}}return l},r.removeTexture=function(t){var e=this.textureRef[t];if(e<=1){e<0&&console.error("ref count < 0");var r=this.textureCache[t];r&&(r[nV](),r.dispose=r[nV]),delete this.textureCache[t],delete this.textureRef[t]}else this.textureRef[t]=e-1},r.dispose=function(){var t=this;Object.keys(this.textureCache).forEach(function(e){var r=t.textureCache[e];r[nV](),r.dispose=r[nV]}),this.textureCache={},this.textureRef={},this.engine=void 0},e}(),nF=function(){function t(t){void 0===t&&(t={}),this.semantics=i7({},t)}var e=t.prototype;return e.toObject=function(){return i7({},this.semantics)},e.setSemantic=function(t,e){void 0===e?delete this.semantics[t]:this.semantics[t]=e},e.getSemanticValue=function(t,e){var r=this.semantics[t];return ry(r)?r(e):r},e.hasSemanticValue=function(t){return t in this.semantics},e.dispose=function(){var t=this;Object.keys(this.semantics).forEach(function(e){delete t.semantics[e]})},t}(),nz=((eu={})[i0.FLOAT]=Float32Array.BYTES_PER_ELEMENT,eu[i0.INT]=Int32Array.BYTES_PER_ELEMENT,eu[i0.SHORT]=Int16Array.BYTES_PER_ELEMENT,eu[i0.BYTE]=Int8Array.BYTES_PER_ELEMENT,eu),nD=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.initialize=function(){},r.flush=function(){},e}(rW);function nU(t){return t===i0.INT?new Int32Array(0):t===i0.SHORT?new Int16Array(0):new Float32Array(0)}var nk=1,nB=function(e){function r(t,r){var i;if((i=e.call(this,t)||this).destroyed=!1,i.visible=!0,r){var n=r.material,o=r.geometry,a=r.name,s=r.priority,u=r.worldMatrix,l=void 0===u?rF.fromIdentity():u;i.id="Mesh"+nk++,i.name=void 0===a?"<unnamed>":a,i.geometry=o,i.material=n,i.priority=void 0===s?0:s,i.worldMatrix=l}else i.id="Mesh"+nk++,i.name="<unnamed>",i.worldMatrix=rF.fromIdentity(),i._priority=0;return i}rS(r,e);var i=r.prototype;return i.setVisible=function(t){this.visible=t},i.getVisible=function(){return this.visible},i.render=function(t){!this.isDestroyed&&this.getVisible()&&(t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.worldMatrix),t.drawGeometry(this.geometry,this.material))},i.firstGeometry=function(){return this.geometry},i.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e},i.restore=function(){},i.dispose=function(e){if(!this.destroyed){(null==e?void 0:e.geometries)!==t.DestroyOptions.keep&&this.geometry.dispose();var r=null==e?void 0:e.material;r!==t.DestroyOptions.keep&&this.material.dispose(r),this.destroyed=!0,void 0!==this.engine&&(this.engine.removeMesh(this),this.engine=void 0)}},rC(r,[{key:"isDestroyed",get:function(){return this.destroyed}}]),r}(rQ);t.RenderPassAttachmentStorageType=void 0,(W=t.RenderPassAttachmentStorageType||(t.RenderPassAttachmentStorageType={}))[W.none=0]="none",W[W.color=1]="color",W[W.stencil_8_opaque=2]="stencil_8_opaque",W[W.depth_16_opaque=3]="depth_16_opaque",W[W.depth_stencil_opaque=4]="depth_stencil_opaque",W[W.depth_16_texture=5]="depth_16_texture",W[W.depth_24_stencil_8_texture=6]="depth_24_stencil_8_texture",t.TextureStoreAction=void 0,(Z=t.TextureStoreAction||(t.TextureStoreAction={}))[Z.store=0]="store",Z[Z.clear=2]="clear";var nG=function(){function e(e,r){if(this.destroyed=!1,r){var i=r.texture,n=r.size;if(e$(i,ng))this.texture=i,this.externalTexture=!0;else if(i){var o=i.wrapT,a=i.wrapS,s=i.minFilter,u=i.magFilter,l=i.internalFormat,c=i.format,h=void 0===c?i0.RGBA:c,f=i.type,m=void 0===f?i0.UNSIGNED_BYTE:f;this.externalTexture=!1,this.textureOptions={size:n,format:h,type:m,internalFormat:l||h,wrapT:o,wrapS:a,minFilter:s,magFilter:u,name:r.name},this.texture=ng.create(e,i7({},this.textureOptions,{sourceType:t.TextureSourceType.framebuffer,data:{width:n[0],height:n[1]}}))}}}return e.prototype.dispose=function(){this.destroyed||(this.texture.dispose(),this.destroyed=!0)},rC(e,[{key:"isDestroyed",get:function(){return this.destroyed}},{key:"storageType",get:function(){return 1}},{key:"size",get:function(){var t=this.texture;return t?[t.getWidth(),t.getHeight()]:[0,0]}},{key:"width",get:function(){return this.texture.getWidth()||0}},{key:"height",get:function(){return this.texture.getHeight()||0}}]),e}();t.RenderPassDestroyAttachmentType=void 0,(q=t.RenderPassDestroyAttachmentType||(t.RenderPassDestroyAttachmentType={}))[q.force=0]="force",q[q.keep=1]="keep",q[q.keepExternal=2]="keepExternal",q[q.destroy=0]="destroy";var nX=1,nH=function(){function e(e,r){this.attachments=[],this.destroyed=!1,this.initialized=!1;var i=r.name,n=void 0===i?"RenderPass_"+nX++:i,o=r.clearAction,a=r.semantics,s=r.depthStencilAttachment,u=r.storeAction,l=r.priority,c=r.meshOrder,h=void 0===c?t.OrderType.ascending:c,f=r.meshes,m=r.delegate;this.name=n,this.renderer=e,this.priority=void 0===l?0:l,this.meshOrder=h,this.meshes=ru((void 0===f?[]:f).slice(),this.meshOrder),this.depthStencilType=(null==s?void 0:s.storageType)||0,this.clearAction=i7({},o),this.storeAction=i7({colorAction:0,depthAction:0,stencilAction:0},u),this.semantics=new nF(a),this.options=r,this.delegate=void 0===m?{}:m,this.setViewportOptions(r)}var r=e.prototype;return r.addMesh=function(t){rl(this.meshes,t,this.meshOrder)},r.removeMesh=function(t){e9(this.meshes,t)},r.setMeshes=function(t){var e;return this.meshes.length=0,(e=this.meshes).splice.apply(e,[].concat([0,0],t)),ru(this.meshes,this.meshOrder),this.meshes},r.getInitAttachments=function(){return this.attachments.length>0?this.attachments:this.options.attachments},r.configure=function(t){if(this.frameBuffer)t.setFrameBuffer(this.frameBuffer);else{var e=this.getViewport(),r=e[0],i=e[1],n=e[2],o=e[3];t.setViewport(r,i,n,o)}},r.execute=function(t){t.clear(this.clearAction),t.renderMeshes(this.meshes),t.clear(this.storeAction)},r.frameCleanup=function(t){},r.resetColorAttachments=function(e){var r=this;if(e.length||this.resetAttachments({attachments:[]}),this.attachments.length){var i=e.map(function(e){return e.updateSource({sourceType:t.TextureSourceType.framebuffer}),new nG(r.renderer.engine,{texture:e})});this.attachments.forEach(function(t){return!t.externalTexture&&t.dispose()}),this.attachments=i,this.frameBuffer&&(this.frameBuffer.bind(),this.frameBuffer.resetColorTextures(e.map(function(t){return t})))}else this.resetAttachments({attachments:e.map(function(t){return{texture:t}})})},r.resetAttachments=function(t){this.options=t,this.setViewportOptions(t),this.renderer&&this._resetAttachments()},r.setViewportOptions=function(t){if(t.viewport){if(this.isCustomViewport=!0,this.viewportScale=1,this.customViewport=t.viewport.slice(0,4),this.frameBuffer){var e=this.customViewport;this.frameBuffer.isCustomViewport=!1,this.frameBuffer.resize(e[0],e[1],e[2],e[3])}}else this.isCustomViewport=!1,this.viewportScale=t.viewportScale||1,this.frameBuffer&&(this.frameBuffer.isCustomViewport=!0,this.frameBuffer.viewportScale=this.viewportScale)},r._resetAttachments=function(){var t,e,r=this,i=this.renderer,n=this.options;this.attachments.length&&(this.attachments.forEach(function(t){return!t.externalTexture&&t.dispose()}),this.attachments.length=0,null==(e=this.frameBuffer)||e.dispose({depthStencilAttachment:2}),this.frameBuffer=null);var o=this.viewportScale,a=this.isCustomViewport?this.customViewport:[0,0,i.getWidth()*o,i.getHeight()*o],s=[a[2],a[3]],u=this.name;if(null==(t=n.attachments)?void 0:t.length){var l=n.attachments.map(function(t,e){var i;return new nG(r.renderer.engine,i7({size:s,name:(null==(i=t.texture)?void 0:i.name)||u+"##color_"+e},t))});this.attachments=l;var c=ol.create({storeAction:this.storeAction,name:u,viewport:a,viewportScale:this.viewportScale,isCustomViewport:this.isCustomViewport,attachments:l.map(function(t){return t.texture}),depthStencilAttachment:n.depthStencilAttachment||{storageType:0}},i);c.bind(),c.unbind(),this.frameBuffer=c}else this.attachments.length=0},r.getViewport=function(){var t,e=(null==(t=this.frameBuffer)?void 0:t.viewport)||this.customViewport;if(e)return e;var r=this.renderer,i=this.viewportScale;return r?[0,0,r.getWidth()*i,r.getHeight()*i]:[0,0,0,0]},r.getDepthAttachment=function(){var t=this.frameBuffer;if(t)return{storageType:t.depthStencilStorageType,storage:t.depthStorage,texture:t.getDepthTexture()?this.getDepthTexture(t.getDepthTexture(),t.externalStorage):void 0}},r.getStencilAttachment=function(){var t=this.frameBuffer;if(t)return{storageType:t.depthStencilStorageType,storage:t.stencilStorage,texture:t.getStencilTexture()?this.getStencilTexture(t.getStencilTexture(),t.externalStorage):void 0}},r.getDepthTexture=function(t,e){if(!this.depthTexture){var r,i=null==(r=this.options.depthStencilAttachment)?void 0:r.texture,n=t===i?i:t;return e||(this.depthTexture=n),n}return this.depthTexture},r.getStencilTexture=function(t,e){if(!this.stencilTexture){var r,i=null==(r=this.options.depthStencilAttachment)?void 0:r.texture,n=t===i?i:t;return e||(this.stencilTexture=n),n}return this.stencilTexture},r.initialize=function(t){return this.initialized||(this._resetAttachments(),this.initialized=!0),this},r.dispose=function(e){if(!this.destroyed){var r,i,n=(null==e?void 0:e.meshes)||void 0;n!==t.DestroyOptions.keep&&this.meshes.forEach(function(t){t.dispose(n)}),this.meshes.length=0;var o=(null==e?void 0:e.colorAttachment)?e.colorAttachment:0;this.attachments.forEach(function(t){t.externalTexture&&2===o||1===o||t.dispose()}),this.attachments.length=0,(null==e?void 0:e.semantics)!==t.DestroyOptions.keep&&this.semantics.dispose(),this.destroyed=!0;var a=(null==e?void 0:e.depthStencilAttachment)?e.depthStencilAttachment:0,s=this.frameBuffer;s&&(s.dispose({depthStencilAttachment:a}),s.externalStorage&&2===a||1===a||(null==(r=this.stencilTexture)||r.dispose(),null==(i=this.depthTexture)||i.dispose())),this.options=this.renderer=null,this.initialize=rT}},rC(e,[{key:"isDestroyed",get:function(){return this.destroyed}},{key:"viewport",get:function(){return this.getViewport()}},{key:"stencilAttachment",get:function(){return this.getStencilAttachment()}},{key:"depthAttachment",get:function(){return this.getDepthAttachment()}}]),e}(),nY="#version 300 es\nprecision highp float;\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\nvec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}in vec4 vColor;in vec4 vTexCoord;in highp vec2 vParams;uniform vec3 uFrameColor;void main(){fragColor=vec4(uFrameColor.xyz,1.0);}",nj="precision highp float;attribute vec2 atlasOffset;attribute vec3 aPos;varying vec2 vTexCoord;varying vec3 vParams;varying vec4 vColor;uniform vec2 _Size;uniform vec4 _Color;uniform vec4 _TexParams;uniform vec4 _TexOffset;uniform mat4 effects_MatrixVP;uniform mat4 effects_MatrixInvV;uniform mat4 effects_ObjectToWorld;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvoid main(){vec4 texParams=_TexParams;vTexCoord=vec2(atlasOffset.xy*_TexOffset.zw+_TexOffset.xy);vColor=_Color;vParams=vec3(0.0,texParams.y,texParams.x);vec4 pos=vec4(aPos.xy*_Size,aPos.z,1.0);gl_Position=effects_MatrixVP*effects_ObjectToWorld*pos;\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}",nW="precision highp float;varying vec4 vColor;varying vec2 vTexCoord;varying vec3 vParams;uniform sampler2D uSampler0;vec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}void main(){vec4 color=vec4(0.);vec4 texColor=texture2D(uSampler0,vTexCoord.xy);color=blendColor(texColor,vColor,floor(0.5+vParams.y));if(vParams.z==0.&&color.a<0.04){discard;}color.a=clamp(color.a,0.0,1.0);gl_FragColor=color;}",nZ="#version 300 es\nprecision mediump float;\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\nvec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}\n#define PATICLE_SHADER 1\nin float vLife;in vec2 vTexCoord;in vec4 vColor;uniform vec3 emissionColor;uniform float emissionIntensity;uniform sampler2D uMaskTex;uniform vec4 uColorParams;uniform vec2 uTexOffset;\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\n#ifdef USE_SPRITE\nin vec4 vTexCoordBlend;\n#endif\nin float vSeed;\n#ifdef PREVIEW_BORDER\nuniform vec4 uPreviewColor;\n#endif\n#ifdef USE_SPRITE\nvec4 getTextureColor(sampler2D tex,vec2 texCoord){if(vTexCoordBlend.w>0.){return mix(texture2D(tex,texCoord),texture2D(tex,vTexCoordBlend.xy+texCoord),vTexCoordBlend.z);}return texture2D(tex,texCoord);}\n#else\n#define getTextureColor texture2D\n#endif\n#ifndef WEBGL2\n#define round(a) floor(0.5+a)\n#endif\n#ifdef PREVIEW_BORDER\nvoid main(){fragColor=uPreviewColor;}\n#else\nvoid main(){vec4 color=vec4(1.0);vec4 tempColor=vColor;vec2 texOffset=uTexOffset;if(vLife<0.){discard;}if(uColorParams.x>0.0){color=getTextureColor(uMaskTex,vTexCoord);}\n#ifdef COLOR_OVER_LIFETIME\n#ifndef ENABLE_VERTEX_TEXTURE\ntempColor*=texture2D(uColorOverLifetime,vec2(vLife,0.));\n#endif\n#endif\ncolor=blendColor(color,tempColor,round(uColorParams.y));if(color.a<=0.01&&uColorParams.w>0.){float _at=texture2D(uMaskTex,vTexCoord+texOffset).a+texture2D(uMaskTex,vTexCoord+texOffset*-1.).a;if(_at<=0.02){discard;}}vec3 emission=emissionColor*pow(2.0,emissionIntensity);color=vec4(pow(pow(color.rgb,vec3(2.2))+emission,vec3(1.0/2.2)),color.a);fragColor=color;}\n#endif\n",nq="#version 300 es\nprecision mediump float;\n#define SHADER_VERTEX 1\n#define PATICLE_SHADER 1\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#define NONE_CONST_INDEX 1\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#endif\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\nmat4 cubicBezierMatrix=mat4(1.0,-3.0,3.0,-1.0,0.0,3.0,-6.0,3.0,0.0,0.0,3.0,-3.0,0.0,0.0,0.0,1.0);float cubicBezier(float t,float y1,float y2,float y3,float y4){vec4 tVec=vec4(1.0,t,t*t,t*t*t);vec4 yVec=vec4(y1,y2,y3,y4);vec4 result=tVec*cubicBezierMatrix*yVec;return result.x+result.y+result.z+result.w;}float binarySearchT(float x,float x1,float x2,float x3,float x4){float left=0.0;float right=1.0;float mid=0.0;float computedX;for(int i=0;i<8;i++){mid=(left+right)*0.5;computedX=cubicBezier(mid,x1,x2,x3,x4);if(abs(computedX-x)<0.0001){break;}else if(computedX>x){right=mid;}else{left=mid;}}return mid;}float valueFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);for(int i=0;i<ITR_END;i+=2){if(i>=count){break;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return k0.y;}if(i==int(frameCount-2.)&&time>=k1.x){return k1.y;}if(time>=k0.x&&time<=k1.x){float t=(time-k0.x)/(k1.x-k0.x);float nt=binarySearchT(time,k0.x,k0.z,k1.z,k1.x);return cubicBezier(nt,k0.y,k0.w,k1.w,k1.y);}}}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){if(i>count){return lookup_curve(i).w;}vec4 seg=lookup_curve(i+start);vec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}vec2 p2=lookup_curve(i+start+1).xy;if(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed);}if(type==5.){return valueFromBezierCurveFrames(time,value.z,value.w);}return 0.;}float calculateMovement(float t,vec2 p1,vec2 p2,vec2 p3,vec2 p4){float movement=0.0;float h=(t-p1.x)*0.05;for(int i=0;i<=20;i++){float t=float(i)*h;float nt=binarySearchT(t,p1.x,p2.x,p3.x,p4.x);float y=cubicBezier(nt,p1.y,p2.y,p3.y,p4.y);float weight=(i==0||i==20)? 1.0 :(mod(float(i),2.)!=0.)? 4.0 : 2.0;movement+=weight*y;}movement*=h/3.;return movement;}float integrateFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i+=2){vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return ret;}vec2 p1=vec2(k0.x,k0.y);vec2 p2=vec2(k0.z,k0.w);vec2 p3=vec2(k1.z,k1.w);vec2 p4=vec2(k1.x,k1.y);if(time>=k1.x){ret+=calculateMovement(k1.x,p1,p2,p3,p4);}if(time>=k0.x&&time<k1.x){return ret+calculateMovement(time,p1,p2,p3,p4);}}return ret;}float integrateByTimeLineSeg(float t,vec2 p0,vec2 p1){float t0=p0.x;float t1=p1.x;float y0=p0.y;float y1=p1.y;vec4 tSqr=vec4(t,t,t0,t0);tSqr=tSqr*tSqr;vec4 a=vec4(2.*t,3.,-t0,3.)*tSqr;float t1y0=t1*y0;vec4 b=vec4(y0-y1,t0*y1-t1y0,2.*y0+y1,t1y0);float r=dot(a,b);return r/(t0-t1)*0.16666667;}float integrateLineSeg(float time,vec2 p0,vec2 p1){float h=time-p0.x;float y0=p0.y;return(y0+y0+(p1.y-y0)*h/(p1.x-p0.x))*h/2.;}float integrateFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateLineSeg(time,k0,k1);}ret+=integrateLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateLineSeg(time,k1,k2);}ret+=integrateLineSeg(k2.x,k1,k2);}return ret;}float integrateByTimeFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateByTimeLineSeg(time,k0,k1);}ret+=integrateByTimeLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateByTimeLineSeg(time,k1,k2);}ret+=integrateByTimeLineSeg(k2.x,k1,k2);}return ret;}float getIntegrateFromTime0(float t1,vec4 value){float type=value.x;if(type==0.){return value.y*t1;}if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateLineSeg(t1,p0,p1);}if(type==3.){return integrateFromLineSeg(t1,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*t1;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w);}return 0.;}float getIntegrateByTimeFromTime(float t0,float t1,vec4 value){float type=value.x;if(type==0.){return value.y*(t1*t1-t0*t0)/2.;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateByTimeLineSeg(t1,p0,p1)-integrateByTimeLineSeg(t0,p0,p1);}if(type==3.){return integrateByTimeFromLineSeg(t1,value.y,value.z)-integrateByTimeFromLineSeg(t0,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*(t1*t1-t0*t0)/2.;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w)-integrateFromBezierCurveFrames(t0,value.z,value.w);}return 0.;}const float d2r=3.141592653589793/180.;in vec3 aPos;in vec4 aOffset;in vec3 aVel;in vec3 aRot;in vec4 aColor;in vec3 aDirX;in vec3 aDirY;\n#ifdef USE_SPRITE\nin vec3 aSprite;uniform vec4 uSprite;struct UVDetail{vec2 uv0;vec3 uv1;};UVDetail getSpriteUV(vec2 uv,float lifeTime);out vec4 vTexCoordBlend;\n#endif\n#ifdef FINAL_TARGET\nuniform vec3 uFinalTarget;uniform vec4 uForceCurve;\n#endif\nuniform mat4 effects_ObjectToWorld;uniform mat4 effects_MatrixV;uniform mat4 effects_MatrixVP;uniform vec4 uParams;uniform vec4 uAcceleration;uniform vec4 uGravityModifierValue;uniform vec4 uOpacityOverLifetimeValue;\n#ifdef ROT_X_LIFETIME\nuniform vec4 uRXByLifeTimeValue;\n#endif\n#ifdef ROT_Y_LIFETIME\nuniform vec4 uRYByLifeTimeValue;\n#endif\n#ifdef ROT_Z_LIFETIME\nuniform vec4 uRZByLifeTimeValue;\n#endif\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\n#if LINEAR_VEL_X + LINEAR_VEL_Y + LINEAR_VEL_Z\n#if LINEAR_VEL_X\nuniform vec4 uLinearXByLifetimeValue;\n#endif\n#if LINEAR_VEL_Y\nuniform vec4 uLinearYByLifetimeValue;\n#endif\n#if LINEAR_VEL_Z\nuniform vec4 uLinearZByLifetimeValue;\n#endif\n#endif\n#ifdef SPEED_OVER_LIFETIME\nuniform vec4 uSpeedLifetimeValue;\n#endif\n#if ORB_VEL_X + ORB_VEL_Y + ORB_VEL_Z\n#if ORB_VEL_X\nuniform vec4 uOrbXByLifetimeValue;\n#endif\n#if ORB_VEL_Y\nuniform vec4 uOrbYByLifetimeValue;\n#endif\n#if ORB_VEL_Z\nuniform vec4 uOrbZByLifetimeValue;\n#endif\nuniform vec3 uOrbCenter;\n#endif\nuniform vec4 uSizeByLifetimeValue;\n#ifdef SIZE_Y_BY_LIFE\nuniform vec4 uSizeYByLifetimeValue;\n#endif\nout float vLife;out vec4 vColor;out vec2 vTexCoord;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvec3 calOrbitalMov(float _life,float _dur){vec3 orb=vec3(0.0);\n#ifdef AS_ORBITAL_MOVEMENT\n#define FUNC(a) getValueFromTime(_life,a)\n#else\n#define FUNC(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#if ORB_VEL_X\norb.x=FUNC(uOrbXByLifetimeValue);\n#endif\n#if ORB_VEL_Y\norb.y=FUNC(uOrbYByLifetimeValue);\n#endif\n#if ORB_VEL_Z\norb.z=FUNC(uOrbZByLifetimeValue);\n#endif\n#undef FUNC\nreturn orb;}vec3 calLinearMov(float _life,float _dur){vec3 mov=vec3(0.0);\n#ifdef AS_LINEAR_MOVEMENT\n#define FUNC(a) getValueFromTime(_life,a)\n#else\n#define FUNC(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#if LINEAR_VEL_X\nmov.x=FUNC(uLinearXByLifetimeValue);\n#endif\n#if LINEAR_VEL_Y\nmov.y=FUNC(uLinearYByLifetimeValue);\n#endif\n#if LINEAR_VEL_Z\nmov.z=FUNC(uLinearZByLifetimeValue);\n#endif\n#undef FUNC\nreturn mov;}mat3 mat3FromRotation(vec3 rotation){vec3 sinR=sin(rotation*d2r);vec3 cosR=cos(rotation*d2r);return mat3(cosR.z,-sinR.z,0.,sinR.z,cosR.z,0.,0.,0.,1.)*mat3(cosR.y,0.,sinR.y,0.,1.,0.,-sinR.y,0,cosR.y)*mat3(1.,0.,0.,0,cosR.x,-sinR.x,0.,sinR.x,cosR.x);}\n#ifdef USE_SPRITE\nUVDetail getSpriteUV(vec2 uv,float lifeTime){float t=fract(clamp((lifeTime-aSprite.x)/aSprite.y,0.0,1.)*aSprite.z);float frame=uSprite.z*t;float frameIndex=max(ceil(frame)-1.,0.);float row=floor((frameIndex+0.1)/uSprite.x);float col=frameIndex-row*uSprite.x;vec2 retUV=(vec2(col,row)+uv)/uSprite.xy;UVDetail ret;if(uSprite.w>0.){float blend=frame-frameIndex;float frameIndex1=min(ceil(frame),uSprite.z-1.);float row1=floor((frameIndex1+0.1)/uSprite.x);float col1=frameIndex1-row1*uSprite.x;vec2 coord=(vec2(col1,row1)+uv)/uSprite.xy-retUV;ret.uv1=vec3(coord.x,1.-coord.y,blend);}ret.uv0=vec2(retUV.x,1.-retUV.y);return ret;}\n#endif\nvec3 calculateTranslation(vec3 vel,float t0,float t1,float dur){float dt=t1-t0;float d=getIntegrateByTimeFromTime(0.,dt,uGravityModifierValue);vec3 acc=uAcceleration.xyz*d;\n#ifdef SPEED_OVER_LIFETIME\nreturn vel*getIntegrateFromTime0(dt/dur,uSpeedLifetimeValue)*dur+acc;\n#endif\nreturn vel*dt+acc;}mat3 transformFromRotation(vec3 rot,float _life,float _dur){vec3 rotation=rot;\n#ifdef ROT_LIFETIME_AS_MOVEMENT\n#define FUNC1(a) getValueFromTime(_life,a)\n#else\n#define FUNC1(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#ifdef ROT_X_LIFETIME\nrotation.x+=FUNC1(uRXByLifeTimeValue);\n#endif\n#ifdef ROT_Y_LIFETIME\nrotation.y+=FUNC1(uRYByLifeTimeValue);\n#endif\n#ifdef ROT_Z_LIFETIME\nrotation.z+=FUNC1(uRZByLifeTimeValue);\n#endif\nif(dot(rotation,rotation)==0.0){return mat3(1.0);}\n#undef FUNC1\nreturn mat3FromRotation(rotation);}void main(){float time=uParams.x-aOffset.z;float dur=aOffset.w;if(time<0.||time>dur){gl_Position=vec4(-3.,-3.,-3.,1.);}else{float life=clamp(time/dur,0.0,1.0);vLife=life;\n#ifdef USE_SPRITE\nUVDetail uvD=getSpriteUV(aOffset.xy,time);vTexCoord=uvD.uv0;vTexCoordBlend=vec4(uvD.uv1,uSprite.w);\n#else\nvTexCoord=aOffset.xy;\n#endif\nvColor=aColor;\n#ifdef COLOR_OVER_LIFETIME\n#ifdef ENABLE_VERTEX_TEXTURE\nvColor*=texture2D(uColorOverLifetime,vec2(life,0.));\n#endif\n#endif\nvColor.a*=clamp(getValueFromTime(life,uOpacityOverLifetimeValue),0.,1.);vec3 size=vec3(vec2(getValueFromTime(life,uSizeByLifetimeValue)),1.0);\n#ifdef SIZE_Y_BY_LIFE\nsize.y=getValueFromTime(life,uSizeYByLifetimeValue);\n#endif\nvec3 point=transformFromRotation(aRot,life,dur)*(aDirX*size.x+aDirY*size.y);vec3 pt=calculateTranslation(aVel,aOffset.z,uParams.x,dur);vec3 _pos=aPos+pt;\n#if ORB_VEL_X + ORB_VEL_Y + ORB_VEL_Z\n_pos=mat3FromRotation(calOrbitalMov(life,dur))*(_pos-uOrbCenter);_pos+=uOrbCenter;\n#endif\n#if LINEAR_VEL_X + LINEAR_VEL_Y + LINEAR_VEL_Z\n_pos.xyz+=calLinearMov(life,dur);\n#endif\n#ifdef FINAL_TARGET\nfloat force=getValueFromTime(life,uForceCurve);vec4 pos=vec4(mix(_pos,uFinalTarget,force),1.);\n#else\nvec4 pos=vec4(_pos,1.0);\n#endif\n#if RENDER_MODE == 1\npos.xyz+=point;pos=effects_ObjectToWorld*pos;\n#elif RENDER_MODE == 3\npos=effects_ObjectToWorld*pos;pos.xyz+=effects_MatrixV[0].xyz*point.x+effects_MatrixV[2].xyz*point.y;\n#elif RENDER_MODE == 2\npos=effects_ObjectToWorld*pos;pos.xy+=point.xy;\n#elif RENDER_MODE == 0\npos=effects_ObjectToWorld*pos;pos.xyz+=effects_MatrixV[0].xyz*point.x+effects_MatrixV[1].xyz*point.y;\n#endif\ngl_Position=effects_MatrixVP*pos;vSeed=aSeed;gl_PointSize=6.0;\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}}",nK="#version 300 es\nprecision mediump float;\n#define SHADER_VERTEX 1\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#define NONE_CONST_INDEX 1\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#endif\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\nmat4 cubicBezierMatrix=mat4(1.0,-3.0,3.0,-1.0,0.0,3.0,-6.0,3.0,0.0,0.0,3.0,-3.0,0.0,0.0,0.0,1.0);float cubicBezier(float t,float y1,float y2,float y3,float y4){vec4 tVec=vec4(1.0,t,t*t,t*t*t);vec4 yVec=vec4(y1,y2,y3,y4);vec4 result=tVec*cubicBezierMatrix*yVec;return result.x+result.y+result.z+result.w;}float binarySearchT(float x,float x1,float x2,float x3,float x4){float left=0.0;float right=1.0;float mid=0.0;float computedX;for(int i=0;i<8;i++){mid=(left+right)*0.5;computedX=cubicBezier(mid,x1,x2,x3,x4);if(abs(computedX-x)<0.0001){break;}else if(computedX>x){right=mid;}else{left=mid;}}return mid;}float valueFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);for(int i=0;i<ITR_END;i+=2){if(i>=count){break;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return k0.y;}if(i==int(frameCount-2.)&&time>=k1.x){return k1.y;}if(time>=k0.x&&time<=k1.x){float t=(time-k0.x)/(k1.x-k0.x);float nt=binarySearchT(time,k0.x,k0.z,k1.z,k1.x);return cubicBezier(nt,k0.y,k0.w,k1.w,k1.y);}}}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){if(i>count){return lookup_curve(i).w;}vec4 seg=lookup_curve(i+start);vec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}vec2 p2=lookup_curve(i+start+1).xy;if(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed);}if(type==5.){return valueFromBezierCurveFrames(time,value.z,value.w);}return 0.;}in vec4 aPos;in vec3 aDir;in vec3 aInfo;in vec4 aColor;in float aTime;\n#ifdef ATTR_TRAIL_START\nin float aTrailStart;\n#else\nuniform float uTrailStart[64];in float aTrailStartIndex;\n#endif\nuniform mat4 effects_MatrixInvV;uniform mat4 effects_ObjectToWorld;uniform mat4 effects_MatrixVP;uniform vec4 uTextureMap;uniform float uTime;uniform vec4 uParams;uniform vec4 uColorParams;uniform vec4 uOpacityOverLifetimeValue;uniform vec4 uWidthOverTrail;\n#ifdef COLOR_OVER_TRAIL\nuniform sampler2D uColorOverTrail;\n#endif\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\nout float vLife;out vec2 vTexCoord;out vec4 vColor;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvoid main(){vec4 _pa=effects_MatrixVP*vec4(aPos.xyz,1.);vec4 _pb=effects_MatrixVP*vec4(aPos.xyz+aDir,1.);vec2 dir=normalize(_pb.xy/_pb.w-_pa.xy/_pa.w);vec2 screen_xy=vec2(-dir.y,dir.x);vec4 pos=effects_ObjectToWorld*vec4(aPos.xyz,1.);\n#ifdef ATTR_TRAIL_START\nfloat ts=aTrailStart;\n#else\nfloat ts=uTrailStart[int(aTrailStartIndex)];\n#endif\nfloat trail=(ts-aInfo.y)/uParams.y;float width=aPos.w*getValueFromTime(trail,uWidthOverTrail)/max(abs(screen_xy.x),abs(screen_xy.y));pos.xyz+=(effects_MatrixInvV[0].xyz*screen_xy.x+effects_MatrixInvV[1].xyz*screen_xy.y)*width;float time=min((uTime-aTime)/aInfo.x,1.0);gl_Position=effects_MatrixVP*pos;vColor=aColor;\n#ifdef COLOR_OVER_LIFETIME\n#ifdef ENABLE_VERTEX_TEXTURE\nvColor*=texture2D(uColorOverLifetime,vec2(time,0.));\n#endif\n#endif\n#ifdef COLOR_OVER_TRAIL\nvColor*=texture2D(uColorOverTrail,vec2(trail,0.));\n#endif\nvColor.a*=clamp(getValueFromTime(time,uOpacityOverLifetimeValue),0.,1.);vLife=time;vTexCoord=uTextureMap.xy+vec2(trail,aInfo.z)*uTextureMap.zw;vSeed=aSeed;\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}",nQ="precision highp float;attribute vec2 aPos;varying vec2 uv;void main(){gl_Position=vec4(aPos,0.,1.0);uv=(aPos+vec2(1.0))/2.;}",nJ="precision highp float;\n#define HALF_MAX 60000.0\n#define ACEScc_MIDGRAY 0.4135884\nvarying vec2 uv;uniform sampler2D _GaussianTex;uniform sampler2D _SceneTex;uniform float _BloomIntensity;uniform float _Brightness;uniform float _Saturation;uniform float _Contrast;uniform bool _UseBloom;uniform bool _UseToneMapping;uniform vec3 _VignetteColor;uniform vec2 _VignetteCenter;uniform float _VignetteIntensity;uniform float _VignetteSmoothness;uniform float _VignetteRoundness;mat3 LinearToACES=mat3(0.59719,0.07600,0.02840,0.35458,0.90834,0.13383,0.04823,0.01566,0.83777);mat3 ACESToLinear=mat3(1.60475,-0.10208,-0.00327,-0.53108,1.10813,-0.07276,-0.07367,-0.00605,1.07602);float log10(float x){return log(x)/log(10.0);}vec3 log10(vec3 v){return vec3(log10(v.x),log10(v.y),log10(v.z));}vec3 LinearToLogC(vec3 x){return 0.244161*log10(5.555556*x+0.047996)+0.386036;}vec3 LogCToLinear(vec3 x){return(pow(vec3(10.0),(x-0.386036)/0.244161)-0.047996)/5.555556;}vec3 rrt_and_odt_fit(vec3 col){vec3 a=col*(col+0.0245786)-0.000090537;vec3 b=col*(0.983729*col+0.4329510)+0.238081;return a/b;}vec3 ACESToneMapping(vec3 col){vec3 aces=LinearToACES*col;aces=rrt_and_odt_fit(aces);col=ACESToLinear*aces;return col;}vec3 LinearToSrgb(vec3 c){return mix(1.055*pow(c,vec3(1./2.4))-0.055,12.92*c,step(c,vec3(0.0031308)));}vec3 GammaCorrection(vec3 c){return pow(c,vec3(1.0/2.2));}vec3 ApplyVignette(vec3 inputColor,vec2 uv,vec2 center,float intensity,float roundness,float smoothness,vec3 color){vec2 dist=abs(uv-center)*intensity;dist.x*=roundness;float vfactor=pow(clamp((1.0-dot(dist,dist)),0.0,1.0),smoothness);return inputColor*mix(color,vec3(1.0),vfactor);}void main(){vec4 hdrColor=texture2D(_SceneTex,uv);hdrColor.rgb=pow(hdrColor.rgb,vec3(2.2));vec3 finalColor=hdrColor.rgb;if(_UseBloom){vec4 bloomColor=texture2D(_GaussianTex,uv);bloomColor.rgb*=_BloomIntensity;finalColor+=bloomColor.rgb;}if(_VignetteIntensity>0.0){finalColor=ApplyVignette(finalColor,uv,_VignetteCenter,_VignetteIntensity,_VignetteRoundness,_VignetteSmoothness,_VignetteColor);}finalColor=finalColor*_Brightness;vec3 colorLog=LinearToLogC(finalColor);colorLog=(colorLog-ACEScc_MIDGRAY)*_Contrast+ACEScc_MIDGRAY;finalColor=LogCToLinear(colorLog);finalColor=max(finalColor,0.0);float luminance=0.2125*finalColor.r+0.7154*finalColor.g+0.0721*finalColor.b;vec3 luminanceColor=vec3(luminance,luminance,luminance);finalColor=(finalColor-luminanceColor)*_Saturation+luminanceColor;finalColor=max(finalColor,0.0);if(_UseToneMapping){finalColor=max(vec3(0.0),ACESToneMapping(finalColor));}gl_FragColor=vec4(clamp(GammaCorrection(finalColor),0.0,1.0),1.0);}",n$="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;vec3 GaussH(sampler2D tex,vec2 uv){vec3 color=vec3(0.0);float offsets[9];offsets[0]=-4.0;offsets[1]=-3.0;offsets[2]=-2.0;offsets[3]=-1.0;offsets[4]=0.0;offsets[5]=1.0;offsets[6]=2.0;offsets[7]=3.0;offsets[8]=4.0;float weights[9];weights[0]=0.01621622;weights[1]=0.05405405;weights[2]=0.12162162;weights[3]=0.19459459;weights[4]=0.22702703;weights[5]=0.19459459;weights[6]=0.12162162;weights[7]=0.05405405;weights[8]=0.01621622;for(int i=0;i<9;i++){vec2 offset=vec2(offsets[i]*2.0*(1.0/_TextureSize.x),0);color+=texture2D(tex,uv+offset).rgb*weights[i];}return color;}void main(){vec3 color=GaussH(_MainTex,uv);gl_FragColor=vec4(color,1.0);}",n0="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;vec3 GaussV(sampler2D tex,vec2 uv){vec3 color=vec3(0.0);float offsets[5];offsets[0]=-3.23076923;offsets[1]=-1.38461538;offsets[2]=0.0;offsets[3]=1.38461538;offsets[4]=3.23076923;float weights[5];weights[0]=0.07027027;weights[1]=0.31621622;weights[2]=0.22702703;weights[3]=0.31621622;weights[4]=0.07027027;for(int i=0;i<5;i++){vec2 offset=vec2(0,offsets[i]*(1.0/_TextureSize.y));color+=texture2D(tex,uv+offset).rgb*weights[i];}return color;}void main(){vec3 color=GaussV(_MainTex,uv);gl_FragColor=vec4(color,1.0);}",n1="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform sampler2D _GaussianDownTex;uniform vec2 _GaussianDownTextureSize;float GaussWeight2D(float x,float y,float sigma){float PI=3.14159265358;float E=2.71828182846;float sigma_2=pow(sigma,2.0);float a=-(x*x+y*y)/(2.0*sigma_2);return pow(E,a)/(2.0*PI*sigma_2);}vec3 GaussNxN(sampler2D tex,vec2 uv,vec2 stride,float sigma){vec3 color=vec3(0.,0.,0.);const int r=1;float weight=0.0;for(int i=-r;i<=r;i++){for(int j=-r;j<=r;j++){float w=GaussWeight2D(float(i),float(j),sigma);vec2 coord=uv+vec2(i,j)*stride;color+=texture2D(tex,coord).rgb*w;weight+=w;}}color/=weight;return color;}void main(){vec3 lowResColor=GaussNxN(_MainTex,uv,0.5/_GaussianDownTextureSize,1.0);vec3 highResColor=GaussNxN(_GaussianDownTex,uv,1.0/_GaussianDownTextureSize,1.0);vec3 color=mix(highResColor,lowResColor,0.7);gl_FragColor=vec4(color,1.0);}",n2="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform float _Threshold;void main(){vec4 mainColor=texture2D(_MainTex,uv);mainColor.rgb=pow(mainColor.rgb,vec3(2.2));float brightness=max(mainColor.r,max(mainColor.g,mainColor.b));float w=max(0.0,brightness-_Threshold)/max(brightness,0.00001);mainColor.rgb*=w;gl_FragColor=vec4(mainColor.rgb,1.0);}",n3=function(e){function r(r,i){var n,o=(n=e.call(this,r,i)||this).renderer.engine,a=nD.create(o,{mode:i0.TRIANGLE_STRIP,attributes:{aPos:{type:i0.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),s=nR.create(o,{shader:{vertex:nQ,fragment:n2,glslVersion:t.GLSLVersion.GLSL1}});return s.blending=!1,s.depthTest=!1,s.culling=!1,n.screenMesh=nB.create(o,{geometry:a,material:s,priority:0}),n.priority=5e3,n}rS(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],this.sceneTextureHandle.texture=this.mainTexture,t.setFrameBuffer(this.frameBuffer)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture);var r=e.renderingData.currentFrame.globalVolume.threshold;this.screenMesh.material.setFloat("_Threshold",r),e.renderMeshes([this.screenMesh])},r}(nH),n4=function(e){function r(r,i,n){(o=e.call(this,r,n)||this).type=i;var o,a=o.renderer.engine,s="PostProcess",u=nD.create(a,{name:s,mode:i0.TRIANGLE_STRIP,attributes:{aPos:{type:i0.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),l={vertex:nQ,fragment:"H"==i?n$:n0,glslVersion:t.GLSLVersion.GLSL1},c=nR.create(a,{name:s,shader:l});return c.blending=!1,c.depthTest=!1,c.culling=!1,o.screenMesh=nB.create(a,{name:s,geometry:u,material:c,priority:0}),o.priority=5e3,o}rS(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(this.frameBuffer)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture),this.screenMesh.material.setVector2("_TextureSize",oe(this.mainTexture)),e.renderMeshes([this.screenMesh]),"V"===this.type&&(this.gaussianResult.texture=e.getFrameBuffer().getColorTextures()[0])},r}(nH),n5=function(e){function r(t,r){i=e.call(this,t,r)||this;var i,n="PostProcess",o=i.renderer.engine,a=nD.create(o,{name:n,mode:i0.TRIANGLE_STRIP,attributes:{aPos:{type:i0.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),s=nR.create(o,{name:n,shader:{vertex:nQ,fragment:n1}});return s.blending=!1,s.depthTest=!1,s.culling=!1,i.screenMesh=nB.create(o,{name:n,geometry:a,material:s,priority:0}),i.priority=5e3,i}rS(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(this.frameBuffer)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture),this.screenMesh.material.setTexture("_GaussianDownTex",this.gaussianDownSampleResult.texture),this.screenMesh.material.setVector2("_GaussianDownTextureSize",oe(this.gaussianDownSampleResult.texture)),e.renderMeshes([this.screenMesh])},r}(nH),n6=function(e){function r(r,i){n=e.call(this,r,{})||this;var n,o="PostProcess",a=n.renderer.engine;n.sceneTextureHandle=i||new nG(a);var s=nD.create(a,{name:o,mode:i0.TRIANGLE_STRIP,attributes:{aPos:{type:i0.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),u=nR.create(a,{name:o,shader:{vertex:nQ,fragment:nJ,glslVersion:t.GLSLVersion.GLSL1}});return u.blending=!1,u.depthTest=!1,u.culling=!1,n.screenMesh=nB.create(a,{name:o,geometry:s,material:u,priority:0}),n.priority=5e3,n}rS(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],this.sceneTextureHandle.texture||(this.sceneTextureHandle.texture=this.mainTexture),t.setFrameBuffer(null)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear});var r=e.renderingData.currentFrame.globalVolume,i=r.useBloom,n=r.bloomIntensity,o=r.brightness,a=r.saturation,s=r.contrast,u=r.useToneMapping,l=r.vignetteIntensity,c=r.vignetteSmoothness,h=r.vignetteRoundness;this.screenMesh.material.setTexture("_SceneTex",this.sceneTextureHandle.texture),this.screenMesh.material.setFloat("_Brightness",o),this.screenMesh.material.setFloat("_Saturation",a),this.screenMesh.material.setFloat("_Contrast",s),this.screenMesh.material.setInt("_UseBloom",i),i&&(this.screenMesh.material.setTexture("_GaussianTex",this.mainTexture),this.screenMesh.material.setFloat("_BloomIntensity",n)),l>0&&(this.screenMesh.material.setFloat("_VignetteIntensity",l),this.screenMesh.material.setFloat("_VignetteSmoothness",c),this.screenMesh.material.setFloat("_VignetteRoundness",h),this.screenMesh.material.setVector2("_VignetteCenter",new rP(.5,.5)),this.screenMesh.material.setVector3("_VignetteColor",new rV(0,0,0))),this.screenMesh.material.setInt("_UseToneMapping",u),e.renderMeshes([this.screenMesh])},r}(nH),n8={useHDR:!1,usePostProcessing:!1,useBloom:1,threshold:1,bloomIntensity:1,brightness:1,saturation:1,contrast:1,vignetteIntensity:.2,vignetteSmoothness:.4,vignetteRoundness:1,useToneMapping:1},n9="_effects_default_",n7=1,ot=function(){function e(e){this.renderQueue=[],this.destroyed=!1,this.renderPassInfoMap=new WeakMap;var r=e.camera,i=e.keepColorBuffer,n=e.renderer,o=e.editorTransform,a=e.globalVolume,s=e.clearAction,u=void 0===s?{colorAction:t.TextureLoadAction.whatever,stencilAction:t.TextureLoadAction.clear,depthAction:t.TextureLoadAction.whatever}:s,l=n.engine;a&&(this.globalVolume=i7({},n8,a)),this.globalUniforms=new oi;var c=[],h={};if(this.renderer=n,this.globalVolume){var f=this.globalVolume.useHDR?i0.HALF_FLOAT:i0.UNSIGNED_BYTE;c=[{texture:{format:i0.RGBA,type:f,magFilter:i0.LINEAR,minFilter:i0.LINEAR}}],p={storageType:t.RenderPassAttachmentStorageType.depth_stencil_opaque},h={colorAction:t.TextureLoadAction.clear,stencilAction:t.TextureLoadAction.clear,depthAction:t.TextureLoadAction.clear}}var m=[new nH(n,{name:n9,priority:1e3,meshOrder:t.OrderType.ascending,depthStencilAttachment:p,attachments:c,clearAction:h})];if(this.setRenderPasses(m),this.globalVolume){var d,p,v,y=this.globalVolume.useBloom,g=new nG(l);if(y){var x=[0,0,this.renderer.getWidth()/2,this.renderer.getHeight()/2],T=Array(7),E=this.globalVolume.useHDR?i0.HALF_FLOAT:i0.UNSIGNED_BYTE,_=new n3(n,{name:"BloomThresholdPass",attachments:[{texture:{format:i0.RGBA,type:E,minFilter:i0.LINEAR,magFilter:i0.LINEAR}}]});_.sceneTextureHandle=g,this.addRenderPass(_);for(var C=0;C<7;C++){T[C]=new nG(l);var A=new n4(n,"H",{name:"GaussianDownPassH"+C,viewport:x,attachments:[{texture:{format:i0.RGBA,type:E,minFilter:i0.LINEAR,magFilter:i0.LINEAR}}]}),S=new n4(n,"V",{name:"GaussianDownPassV"+C,viewport:x,attachments:[{texture:{format:i0.RGBA,type:E,minFilter:i0.LINEAR,magFilter:i0.LINEAR}}]});S.gaussianResult=T[C],this.addRenderPass(A),this.addRenderPass(S),x[2]/=2,x[3]/=2}x[2]*=4,x[3]*=4;for(var R=0;R<6;R++){var b=new n5(n,{name:"GaussianUpPass"+R,viewport:x,attachments:[{texture:{format:i0.RGBA,type:E,minFilter:i0.LINEAR,magFilter:i0.LINEAR}}]});b.gaussianDownSampleResult=T[5-R],this.addRenderPass(b),x[2]*=2,x[3]*=2}}v=y?new n6(n,g):new n6(n),this.addRenderPass(v)}this.semantics=new nF(e.semantics),this.clearAction=u,this.name="RenderFrame"+n7++;var O=m[0],w={type:i0.UNSIGNED_BYTE,format:i0.RGBA,internalFormat:i0.RGBA,wrapS:i0.MIRRORED_REPEAT,wrapT:i0.MIRRORED_REPEAT,minFilter:i0.NEAREST,magFilter:i0.NEAREST};this.emptyTexture=ng.create(l,i7({data:{width:1,height:1,data:new Uint8Array([255,255,255,255])},sourceType:t.TextureSourceType.data},w)),this.transparentTexture=ng.create(l,i7({data:{width:1,height:1,data:new Uint8Array([0,0,0,0])},sourceType:t.TextureSourceType.data},w)),this.camera=r,this.keepColorBuffer=i,this.renderPassInfoMap.set(O,{listStart:0,listEnd:0,renderPass:O,intermedia:!1}),this.editorTransform=r$.fromArray(void 0===o?[1,1,0,0]:o),e.clearAction||this.resetClearActions(),this.passTextureCache=new nN(l);var I=l.gpuCapability,L=I.detail,M=nM(I.level,L.readableDepthStencilTextures&&L.writableFragDepth);null==(d=this.renderer.getShaderLibrary())||d.addShader(M)}var r=e.prototype;return r.addMeshToDefaultRenderPass=function(t){t&&this.renderPasses[0].addMesh(t)},r.removeMeshFromDefaultRenderPass=function(t){},r.dispose=function(e){(null==e?void 0:e.semantics)!==t.DestroyOptions.keep&&this.semantics.dispose();var r,i,n=(null==e?void 0:e.passes)?e.passes:void 0;n!==t.DestroyOptions.keep&&this._renderPasses.forEach(function(t){t.dispose(n)}),this.passTextureCache.dispose(),this._renderPasses.length=0,this.emptyTexture.dispose(),this.transparentTexture.dispose(),this.resource&&(this.resource.color_a.dispose(),this.resource.color_b.dispose(),null==(i=this.resource.depthStencil)||null==(r=i.texture)||r.dispose(),this.resource.finalCopyRP.dispose(),this.resource.resRP.dispose(),this.resource=null),this.destroyed=!0},r.resetRenderPassDefaultAttachment=function(t,e){for(var r=this.resource,i=r.color_a,n=r.color_b,o=e;o<t.length;o++){var a,s,u,l=t[o],c=null==(s=l.attachments[0])?void 0:s.texture;if(c&&a===c){var h=c===i?n:i;l.resetColorAttachments([h])}(c=null==(u=l.attachments[0])?void 0:u.texture)&&(a=c)}},r.findMeshRenderPassIndex=function(t){var e=-1;return this.renderPasses.every(function(r,i){return!(r.name.startsWith(n9)&&r.meshes.includes(t))||(e=i,!1)}),e},r.addToRenderPass=function(t,e){var r=this.renderPassInfoMap.get(t),i=e.priority;0===t.meshes.length?r.listStart=r.listEnd=i:i<r.listStart?r.listStart=i:i>r.listEnd&&(r.listEnd=i),t.addMesh(e)},r.getRPAttachments=function(t,e){if((null==t?void 0:t.length)===1){var r,i=t[0],n=i.texture,o=i.persistent,a=n.format,s=null!=(r=null==e?void 0:e.getInitAttachments())?r:[];if(a===i0.RGBA&&!o){var u=this.resource.color_a;return 0===s.length?[{texture:u}]:[{texture:s[0].texture===u?this.resource.color_b:u}]}}return t},r.resetClearActions=function(){var e=this.renderPasses.length>1?t.TextureLoadAction.clear:t.TextureLoadAction.whatever;this.clearAction.stencilAction=e,this.clearAction.depthAction=e,this.clearAction.colorAction=e,this.keepColorBuffer&&(this.clearAction.colorAction=t.TextureLoadAction.whatever)},r.setRenderPasses=function(t){var e=this;void 0!==this.renderer&&t.forEach(function(t){return t.initialize(e.renderer)}),this._renderPasses=t.slice()},r.addRenderPass=function(t){void 0!==this.renderer&&t.initialize(this.renderer),this._renderPasses.push(t)},r.createResource=function(){var e=this.renderer.engine;if(!this.resource){var r,i=e.gpuCapability,n=i.detail,o=i.level,a=this.renderer.getWidth(),s=this.renderer.getHeight(),u=2===o?i0.LINEAR:i0.NEAREST,l=ng.create(e,{sourceType:t.TextureSourceType.framebuffer,format:i0.RGBA,name:"frame_a",minFilter:u,magFilter:u}),c=ng.create(e,{sourceType:t.TextureSourceType.framebuffer,format:i0.RGBA,data:{width:a,height:s},minFilter:u,magFilter:u,name:"frame_b"}),h=n.readableDepthStencilTextures&&n.writableFragDepth?t.RenderPassAttachmentStorageType.depth_24_stencil_8_texture:t.RenderPassAttachmentStorageType.depth_stencil_opaque,f=new nH(this.renderer,{depthStencilAttachment:{storageType:h},attachments:[{texture:l}]}).initialize(this.renderer),m=new or(this.renderer,{name:"effects-final-copy",priority:1600,clearAction:{depthAction:t.TextureLoadAction.clear,stencilAction:t.TextureLoadAction.clear,colorAction:t.TextureLoadAction.clear},meshOrder:t.OrderType.ascending,meshes:[this.createCopyMesh({blend:!0,depthTexture:null==(r=f.getDepthAttachment())?void 0:r.texture})]});this.resource={color_a:f.attachments[0].texture,color_b:c,finalCopyRP:m,depthStencil:f.depthAttachment,resRP:f}}},r.createCopyMesh=function(t){var e=this.renderer.engine,r=nD.create(e,{name:nO,mode:i0.TRIANGLE_STRIP,attributes:{aPos:{type:i0.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),i=nM(e.gpuCapability.level,!!(null==t?void 0:t.depthTexture));this.renderer.getShaderLibrary().addShader(i);var n=nR.create(e,{uniformValues:{uDepth:null==t?void 0:t.depthTexture},name:nO,shader:i});return n.blending=!1,n.depthTest=!1,n.culling=!1,(null==t?void 0:t.blend)&&(n.blending=!0,n.blendFunction=[i0.SRC_ALPHA,i0.ONE_MINUS_SRC_ALPHA,i0.SRC_ALPHA,i0.ONE_MINUS_SRC_ALPHA]),nB.create(e,{name:nO,geometry:r,material:n,priority:0})},r.removeRenderPass=function(t){e9(this._renderPasses,t)},rC(e,[{key:"renderPasses",get:function(){return this._renderPasses.slice()}},{key:"isDestroyed",get:function(){return this.destroyed}}]),e}();function oe(t){return t?new rP(t.getWidth(),t.getHeight()):new rP}var or=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.configure=function(t){this.prePassTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(null)},r.execute=function(t){t.clear(this.clearAction),this.meshes[0].material.setTexture("uFilterSource",this.prePassTexture),this.meshes[0].material.setVector2("uFilterSourceSize",oe(this.prePassTexture)),t.renderMeshes(this.meshes),this.storeAction&&t.clear(this.storeAction)},e}(nH),oi=function(){this.floats={},this.ints={},this.matrices={},this.samplers=[],this.uniforms=[]},on=function(){function t(t){this.size=[0,0],this.multiSample=1,this.destroyed=!1;var e=t.storageType,r=t.format,i=t.attachment;this.storageType=e,this.format=r,this.attachment=i}return rC(t,[{key:"isDestroyed",get:function(){return this.destroyed}}]),t}(),oo="function"==typeof WebGL2RenderingContext,oa=function(){function t(t){this.setupCapability(t)}var e=t.prototype;return e.setupCapability=function(t){var e,r=oo&&e$(t,WebGL2RenderingContext)?2:1,i=2===r,n=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),o=t.getExtension("WEBGL_depth_texture"),a=!!t.getExtension("OES_texture_half_float_linear"),s=!!t.getExtension("OES_texture_float_linear");this.level=r,this.type=i?"webgl2":"webgl",this.vaoExt=t.getExtension("OES_vertex_array_object"),this.glAsyncCompileExt=t.getExtension("KHR_parallel_shader_compile"),this.UNSIGNED_INT_24_8=t.UNSIGNED_INT_24_8,this.drawBufferExtension=t.getExtension("WEBGL_draw_buffers"),o&&(this.UNSIGNED_INT_24_8=o.UNSIGNED_INT_24_8_WEBGL),i&&!a&&(a=os(t,t.HALF_FLOAT)),i&&!s&&(s=os(t,t.FLOAT)),this.internalFormatDepth16=i?t.DEPTH_COMPONENT16:t.DEPTH_COMPONENT,this.internalFormatDepth24_stencil8=i?t.DEPTH24_STENCIL8:t.DEPTH_STENCIL;var u=i||t.getExtension("OES_texture_float")?t.FLOAT:0,l=i?WebGL2RenderingContext.HALF_FLOAT:(null==(e=t.getExtension("OES_texture_half_float"))?void 0:e.HALF_FLOAT_OES)||0,c={floatTexture:u,halfFloatTexture:l,maxSample:i?t.getParameter(t.MAX_SAMPLES):1,maxVertexUniforms:t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),maxVertexTextures:t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxFragmentUniforms:t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),maxFragmentTextures:t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),floatColorAttachment:i?!!t.getExtension("EXT_color_buffer_float"):u>0&&!!t.getExtension("WEBGL_color_buffer_float"),halfFloatColorAttachment:i?!!t.getExtension("EXT_color_buffer_float"):l>0&&!!t.getExtension("EXT_color_buffer_half_float"),maxTextureSize:t.getParameter(t.MAX_TEXTURE_SIZE),maxShaderTexCount:t.getParameter(t.MAX_COMBINED_TEXTURE_IMAGE_UNITS),compressedTexture:t.getExtension("WEBGL_compressed_texture_astc")?ou.ASTC:t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc")?ou.PVRTC:ou.NONE,halfFloatLinear:a,floatLinear:s,maxTextureAnisotropy:n?t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,shaderTextureLod:i||!!t.getExtension("EXT_shader_texture_lod"),instanceDraw:i||!!t.getExtension("ANGLE_instanced_arrays"),drawBuffers:i||!!this.drawBufferExtension,asyncShaderCompile:!!t.getExtension("KHR_parallel_shader_compile"),intIndexElementBuffer:!!t.getExtension("OES_element_index_uint"),standardDerivatives:i||!!t.getExtension("OES_standard_derivatives"),readableDepthStencilTextures:i||!!o,writableFragDepth:i||!!t.getExtension("EXT_frag_depth")};this.detail=c,n&&(this.textureMaxAnisotropyExt=n.TEXTURE_MAX_ANISOTROPY_EXT)},e.framebufferTexture2D=function(t,e,r,i,n){var o=this.drawBufferExtension;if(1===this.level&&!o&&r>0)throw Error("draw multiple color buffers not available");var a=o?o["COLOR_ATTACHMENT"+r+"_WEBGL"]:t["COLOR_ATTACHMENT"+r];a?t.framebufferTexture2D(e,a,i,n,0):console.error("invalid color attachment index: "+r)},e.drawBuffers=function(t,e){var r=this.drawBufferExtension;if(1===this.level&&!r){if(!(e.length>1))return;throw Error("draw buffers not available")}var i=e.map(function(e,i){return e?r?r["COLOR_ATTACHMENT"+i+"_WEBGL"]:t["COLOR_ATTACHMENT"+i]:t.NONE});r?r.drawBuffersWEBGL(i):t.drawBuffers(i)},e.setTextureAnisotropic=function(t,e,r){var i=this.detail.maxTextureAnisotropy;i&&t.texParameterf(e,this.textureMaxAnisotropyExt,Math.min(i,r||4))},t}();function os(t,e){var r=t.createTexture(),i=!1;return t.getError(),t.bindTexture(t.TEXTURE_2D,r),t.texImage2D(t.TEXTURE_2D,0,t.R16F,1,1,0,t.RED,e,null),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.getError()||(i=!0),t.deleteTexture(r),i}var ou={NONE:0,PVRTC:1,ASTC:2};t.FilterMode=void 0,(K=t.FilterMode||(t.FilterMode={}))[K.Nearest=0]="Nearest",K[K.Linear=1]="Linear",t.RenderTextureFormat=void 0,(Q=t.RenderTextureFormat||(t.RenderTextureFormat={}))[Q.RGBA32=0]="RGBA32",Q[Q.RGBAHalf=1]="RGBAHalf";var ol=function(){function t(){}var e=t.prototype;return e.resize=function(t,e,r,i){},e.resetColorTextures=function(t){},e.unbind=function(){},e.bind=function(){},e.getDepthTexture=function(){},e.getStencilTexture=function(){},e.getColorTextures=function(){return[]},e.dispose=function(t){},rC(t,[{key:"stencilStorage",get:function(){}},{key:"depthStorage",get:function(){}}]),t}(),oc=function(){function t(){}var e=t.prototype;return e.setGlobalFloat=function(t,e){},e.setGlobalInt=function(t,e){},e.setGlobalMatrix=function(t,e){},e.getFrameBuffer=function(){return null},e.setFrameBuffer=function(t){},e.setViewport=function(t,e,r,i){},e.resize=function(t,e){},e.clear=function(t){},e.getWidth=function(){return 0},e.getHeight=function(){return 0},e.addLostHandler=function(t){},e.addRestoreHandler=function(t){},e.lost=function(t){},e.restore=function(){},e.getShaderLibrary=function(){},e.renderRenderFrame=function(t){},e.renderMeshes=function(t){},e.drawGeometry=function(t,e){},e.getTemporaryRT=function(t,e,r,i,n,o){return null},e.dispose=function(t){},t}(),oh=1,of=function(){function e(t,e,r,i){this.transform=r,this.engine=i,this.color=t.options.previewColor;var n=this.createMaterial(e),o=this.createGeometry();this.mesh=this.createMesh(o,n),this.updateMesh()}var r=e.prototype;return r.updateMesh=function(){var t=this.mesh.material,e=t.getVector2("uSize").clone(),r=t.getVector4("uPos").clone(),i=new rV,n=new rN,o=this.transform.scale.clone();this.transform.assignWorldTRS(i,n,o),e.x=o.x,e.y=o.y,r.x=i.x,r.y=i.y,r.z=i.z,t.setVector2("uSize",e),t.setVector4("uPos",r),t.setQuaternion("uQuat",n)},r.createMaterial=function(e){var r,i=[["ENV_EDITOR",(null==(r=this.engine.renderer)?void 0:r.env)===iQ]],n=iV(this.color).getValue(0),o={shader:{vertex:"\nprecision highp float;\n\nattribute vec2 aPoint;\nuniform vec4 uPos;\nuniform vec2 uSize;\nuniform vec4 uQuat;\nuniform vec4 uColor;\nuniform mat4 effects_ObjectToWorld;\nuniform mat4 effects_MatrixInvV;\nuniform mat4 effects_MatrixVP;\nvarying vec4 vColor;\n#ifdef ENV_EDITOR\n uniform vec4 uEditorTransform;\n#endif\n\nvec3 rotateByQuat(vec3 a, vec4 quat){\n vec3 qvec = quat.xyz;\n vec3 uv = cross(qvec, a);\n vec3 uuv = cross(qvec, uv) * 2.;\n return a +(uv * 2. * quat.w + uuv);\n}\n\nvoid main() {\n vec4 _pos = uPos;\n vec3 point = rotateByQuat(vec3(aPoint.xy * uSize, 0.),uQuat);\n vec4 pos = vec4(_pos.xyz, 1.0);\n pos = effects_ObjectToWorld * pos;\n pos.xyz += effects_MatrixInvV[0].xyz * point.x+ effects_MatrixInvV[1].xyz * point.y;\n gl_Position = effects_MatrixVP * pos;\n vColor = uColor;\n #ifdef ENV_EDITOR\n gl_Position = vec4(gl_Position.xy * uEditorTransform.xy + uEditorTransform.zw * gl_Position.w, gl_Position.zw);\n #endif\n}\n",fragment:"\nprecision highp float;\n\n#define fragColor gl_FragColor\n\nvarying vec4 vColor;\nvoid main() {\n gl_FragColor = vColor;\n}\n",glslVersion:t.GLSLVersion.GLSL1,cacheId:""+e.cachePrefix+"_effects_interact",marcos:i},uniformSemantics:{effects_MatrixVP:"VIEWPROJECTION",effects_MatrixInvV:"VIEWINVERSE",effects_ObjectToWorld:"MODEL",uEditorTransform:"EDITOR_TRANSFORM"}},a=nR.create(this.engine,o);return a.depthTest=!1,a.setVector4("uPos",new r$(0,0,0,0)),a.setVector2("uSize",new rP(1,1)),a.setVector4("uColor",new r$(n[0]/255,n[1]/255,n[2]/255,n[3])),a.setQuaternion("uQuat",new rN(0,0,0,0)),a},r.createGeometry=function(){var t=new Uint8Array([0,1,1,2,2,3,3,0]);return nD.create(this.engine,{attributes:{aPoint:{size:2,offset:0,stride:2*Float32Array.BYTES_PER_ELEMENT,data:new Float32Array([-.5,.5,.5,.5,.5,-.5,-.5,-.5])}},drawCount:t.length,indices:{data:t},mode:i0.LINES,maxVertex:4})},r.createMesh=function(t,e){return nB.create(this.engine,{name:"Interact_preview"+oh++,priority:0,worldMatrix:rF.fromIdentity(),geometry:t,material:e})},e}();function om(t,e){var r=1e-5*(e||1);return t&&Math.abs(t.vx||0)<r&&Math.abs(t.vy||0)<r}function od(t){var e=t.renderer,r=e.blending,i=e.side,n=e.occlusion,o=e.mask,a=e.maskMode,s=e.order,u=t.cachePrefix||"-";return{side:i,occlusion:n,blending:r,mask:o,maskMode:a,cachePrefix:u,cacheId:u+"."+ +i+"+"+ +n+"+"+ +r+"+"+s+"+"+a+"."+o}}function op(e,r){var i=null!=r?r:{},n=i.count,o=i.env,a=i.ignoreBlend,s=i.wireframe,u=[["MAX_ITEM_COUNT",void 0===n?2:n],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",(void 0===o?"":o)===iQ],["USE_BLEND",!a],["MAX_FRAG_TEX",t.maxSpriteTextureCount>=16?16:8]];return{fragment:s?nY:nW,vertex:nj,glslVersion:1===e?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,marcos:u,shared:!0}}function ov(t,e){return t.cachePrefix+"_effects_sprite_"+e}function oy(t,e,r,i){var n=t.wireframe,o=op(r,{count:e,wireframe:n,env:i});return o.shared=!0,n||(o.cacheId=ov(t,e)),o}function og(e){t.maxSpriteMeshItemCount=e}t.InteractComponent=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.getHitTestParams=function(e){if(t.clickable){var r=t.item.props.content.options.behavior,i=t.getBoundingBox();if(i)return{type:i.type,triangles:i.area,behavior:r}}},t}rS(r,e);var i=r.prototype;return i.start=function(){var t=this,e=this.item.props.content.options,r=this.item.engine.renderer.env,i=this.item.composition,n=this.interactData.options,o=n.type,a=n.showPreview;if(o===tB.CLICK&&(this.clickable=!0,a&&r===iQ)){var s=this.item.composition.getRendererOptions();this.previewContent=new of(this.item.props.content,s,this.transform,this.engine)}i.addInteractiveItem(this.item,e.type),this.item.onEnd=function(){return i.removeInteractiveItem(t.item,e.type)},e.type===tB.DRAG&&(r!==iQ||e.enableInEditor)&&i.event&&this.beginDragTarget(e,i.event),this.previewContent&&(this.previewContent.mesh.item=this.item,this.materials=this.previewContent.mesh.materials),this.item.getHitTestParams=this.getHitTestParams},i.update=function(t){var e;null==(e=this.previewContent)||e.updateMesh(),this.dragEvent&&this.bouncingArg&&(this.bouncingArg.vx*=.95,this.bouncingArg.vy*=.95,this.bouncingArg.dy+=this.bouncingArg.vy,this.bouncingArg.dx+=this.bouncingArg.vx,om(this.bouncingArg)?(this.dragEvent=null,this.bouncingArg=null):this.handleDragMove(this.dragEvent,this.bouncingArg))},i.render=function(t){this.previewContent&&this.previewContent.mesh.render(t)},i.onDestroy=function(){if(this.item&&this.item.composition){var t;this.item.composition.removeInteractiveItem(this.item,this.item.props.content.options.type),this.clickable=!1,null==(t=this.previewContent)||t.mesh.dispose(),this.endDragTarget()}},i.endDragTarget=function(){},i.handleDragMove=function(t,e){if(t&&t.cameraParam&&this.item.composition){var r=this.item.props.content.options,i=t.cameraParam,n=i.position,o=i.fov,a=e.dy,s=e.dx*e.width/e.height,u=n[2],l=Math.tan(o*Math.PI/180/2)*Math.abs(u),c=n[0]-s*l,h=n[1]-a*l;if(r.dxRange){var f,m=r.dxRange,d=m[0],p=m[1];(c=rM(c,d,p))!==d&&c!==p&&d!==p&&(null==(f=e.origin)||f.preventDefault())}if(r.dyRange){var v,y=r.dyRange,g=y[0],x=y[1];(h=rM(h,g,x))!==g&&h!==x&&g!==x&&(null==(v=e.origin)||v.preventDefault())}this.item.composition.camera.position=new rV(c,h,u)}},i.beginDragTarget=function(t,e){var i,n=this;if("camera"===t.target){var o={touchstart:function(t){n.dragEvent=null,n.bouncingArg=null;var e,r=null==(e=n.item.composition)?void 0:e.camera;i={x:t.x,y:t.y,cameraParam:{position:(null==r?void 0:r.position.toArray())||[0,0,8],fov:(null==r?void 0:r.fov)||60}}},touchmove:function(t){n.handleDragMove(i,t),n.bouncingArg=t},touchend:function(t){var e=n.bouncingArg;!om(e,3)&&e&&(e.vx*=5,e.vy*=5,n.dragEvent=i7({},i)),i=null}};Object.keys(o).forEach(function(t){e.addEventListener(t,o[t])}),o.touchmove({dx:0,dy:0,width:1,height:1}),this.item.getComponent(r).endDragTarget=function(){Object.keys(o).forEach(function(t){e.removeEventListener(t,o[t])})}}},i.getBoundingBox=function(){var e=this.transform.getWorldMatrix(),r=iu(rV.ZERO,.5,.5);return r.forEach(function(t){e.transformPoint(t.p0),e.transformPoint(t.p1),e.transformPoint(t.p2)}),{type:t.HitTestType.triangle,area:r}},i.fromData=function(t){e.prototype.fromData.call(this,t),this.interactData=t},r}(rQ),t.InteractComponent=e1([rj(er.InteractComponent)],t.InteractComponent),t.maxSpriteMeshItemCount=8,t.maxSpriteTextureCount=8;var ox={blending:0,cacheId:"-",mask:0,maskMode:0,occlusion:!1,side:0,cachePrefix:"-"},oT=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.name="sprite",t}return rS(r,e),r.precompile=function(e,r,i){var n=r.getShaderLibrary(),o=r.engine.gpuCapability,a=o.level,s=o.detail,u=(null!=i?i:{}).env;return!n.shaderResults[ov(ox,2)]&&(n.addShader(oy(ox,2,1,u)),n.addShader(oy(ox,t.maxSpriteMeshItemCount,1,u)),s.writableFragDepth&&n.addShader(nM(a,!0))),Promise.resolve()},r}(rJ),oE=function(){function t(){this.playableOutputs=[]}var e=t.prototype;return e.evaluate=function(t){for(var e,r=rb(this.playableOutputs);!(e=r()).done;){var i=e.value;this.callProcessFrame(i.sourcePlayable,t),i.processFrame(t)}},e.connect=function(t,e){e.connect(t)},e.addOutput=function(t){this.playableOutputs.push(t)},e.callProcessFrame=function(t,e){for(var r,i=rb(t.getInputs());!(r=i()).done;){var n=r.value;this.callProcessFrame(n,e)}t.processFrame(e)},t}(),o_=function(){function t(){this.inputs=[]}var e=t.prototype;return e.connect=function(t){this.inputs.push(t)},e.getInputs=function(){return this.inputs},e.getInput=function(t){if(!(t>this.inputs.length-1))return this.inputs[t]},e.setTime=function(t){this.time=t},e.getTime=function(){return this.time},e.onGraphStart=function(){},e.onGraphStop=function(){},e.onPlayablePlay=function(){},e.processFrame=function(t){},e.onPlayableDestroy=function(){},e.fromData=function(t){},t}(),oC=function(){function t(){}var e=t.prototype;return e.setSourcePlayeble=function(t){this.sourcePlayable=t},e.onGraphStart=function(){},e.processFrame=function(t){},t}(),oA=function(){function t(){}return t.prototype.fromData=function(t){},t}(),oS=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.clips=[],e.clipSeed=0,e}rS(e,t);var r=e.prototype;return r.createOutput=function(){return new oC},r.createMixerPlayable=function(){return new o_},r.createPlayable=function(){for(var t,e=this.createMixerPlayable(),r=rb(this.clips);!(t=r()).done;){var i=t.value;e.connect(i.playable)}return e},r.createClip=function(t,e){var r=new oR;return r.playable=new t,r.name=e||"TimelineClip"+r.id,this.addClip(r),r},r.getClips=function(){return this.clips},r.findClip=function(t){for(var e,r=rb(this.clips);!(e=r()).done;){var i=e.value;if(i.name===t)return i}},r.addClip=function(t){t.playable.bindingItem=this.bindingItem,t.id=(this.clipSeed++).toString(),this.clips.push(t)},e}(oA),oR=function(){this.start=0,this.duration=0};function ob(t){if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var oO=function(){function t(t){this.curveValues={},this.playable=t}var e=t.prototype;return e.setCurveValue=function(t,e,r){return this.findCurveValue(t,e)?this.curveValues[t+e].value=r:this.curveValues[t+e]={componentType:t,propertyName:e,value:r},this.curveValues[t+e]},e.findCurveValue=function(t,e){return this.curveValues[t+e]},e.getInputStream=function(t){var e=this.playable.getInput(t);if(e$(e,ow))return e.animationStream},t}(),ow=function(t){function e(){var e;return(e=t.call(this)||this).animationStream=new oO(ob(e)),e}return rS(e,t),e}(o_),oI=new rz,oL=new rV(1,1,1),oM=new rV,oP=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.processFrame=function(t){this.bindingItem.composition&&this.sampleAnimation()},r.sampleAnimation=function(){var t=this,e=this.bindingItem.duration,r=this.time/e;if(r=r<0?0:r>1?1:r,this.sizeXOverLifetime){oL.x=this.sizeXOverLifetime.getValue(r),this.sizeSeparateAxes?(oL.y=this.sizeYOverLifetime.getValue(r),oL.z=this.sizeZOverLifetime.getValue(r)):oL.z=oL.y=oL.x;var i=this.originalTransform.scale;this.bindingItem.transform.setScale(oL.x*i.x,oL.y*i.y,oL.z*i.z)}if(this.rotationOverLifetime){var n=function(i){return t.rotationOverLifetime.asRotation?i.getValue(r):i.getIntegrateValue(0,r,e)},o=n(this.rotationOverLifetime.z),a=this.rotationOverLifetime.separateAxes;oI.x=a?n(this.rotationOverLifetime.x):0,oI.y=a?n(this.rotationOverLifetime.y):0,oI.z=o;var s=oI.addEulers(this.originalTransform.rotation,oI);this.bindingItem.transform.setRotation(s.x,s.y,s.z)}this.positionOverLifetime&&(it(oM,this,this.gravity,this.time,e,this.originalTransform.position,this.velocity),this.originalTransform.path&&oM.add(this.originalTransform.path.getValue(r)),this.bindingItem.transform.setPosition(oM.x,oM.y,oM.z))},r.fromData=function(t){var e,r=this.bindingItem.transform.scale;this.originalTransform={position:this.bindingItem.transform.position.clone(),rotation:this.bindingItem.transform.getRotation().clone(),scale:new rV(r.x,r.y,r.x)};var i=t.positionOverLifetime,n=t.rotationOverLifetime,o=t.sizeOverLifetime;if(i&&0!==Object.keys(i).length){this.positionOverLifetime=i,i.path&&(this.originalTransform.path=iV(i.path));var a=i.linearX||i.linearY||i.linearZ;a&&(this.linearVelOverLifetime={x:i.linearX&&iV(i.linearX),y:i.linearY&&iV(i.linearY),z:i.linearZ&&iV(i.linearZ),asMovement:i.asMovement,enabled:!!a});var s=i.orbitalX||i.orbitalY||i.orbitalZ;s&&(this.orbitalVelOverLifetime={x:i.orbitalX&&iV(i.orbitalX),y:i.orbitalY&&iV(i.orbitalY),z:i.orbitalZ&&iV(i.orbitalZ),center:ie(i.orbCenter),asRotation:i.asRotation,enabled:!!s}),this.speedOverLifetime=i.speedOverLifetime&&iV(i.speedOverLifetime)}if(o&&(o.separateAxes?(this.sizeSeparateAxes=!0,this.sizeXOverLifetime=iV(o.x||1),this.sizeYOverLifetime=iV(o.y||1),this.sizeZOverLifetime=iV(o.z||1)):this.sizeXOverLifetime=iV(o.size||1)),n&&(this.rotationOverLifetime={asRotation:n.asRotation,separateAxes:n.separateAxes,z:iV(n.z||0)},n.separateAxes)){var u=this.rotationOverLifetime;u.x=iV(n.x||0),u.y=iV(n.y||0)}this.gravity=rV.fromArray((null==i?void 0:i.gravity)||[]),this.gravityModifier=iV(null!=(e=null==i?void 0:i.gravityOverLifetime)?e:0),this.direction=(null==i?void 0:i.direction)?rV.fromArray(i.direction).normalize():new rV,this.startSpeed=(null==i?void 0:i.startSpeed)||0,this.velocity=this.direction.clone(),this.velocity.multiply(this.startSpeed)},e}(ow),oV=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.createPlayable=function(){var t=new oP;return t.fromData(this.transformAnimationData),t},r.fromData=function(t){this.transformAnimationData=t},e}(oA),oN=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.onGraphStart=function(){this.bindingItem.transform.setValid(!1),this.hideRendererComponents()},r.onPlayablePlay=function(){this.bindingItem.transform.setValid(!0),this.showRendererComponents()},r.onPlayableDestroy=function(){this.bindingItem.transform.setValid(!1),this.hideRendererComponents()},r.hideRendererComponents=function(){for(var t,e=rb(this.bindingItem.rendererComponents);!(t=e()).done;){var r=t.value;r.enabled&&(r.enabled=!1)}},r.showRendererComponents=function(){for(var t,e=rb(this.bindingItem.rendererComponents);!(t=e()).done;){var r=t.value;r.enabled||(r.enabled=!0)}},e}(o_),oF=function(e){function r(t){var r;return(r=e.call(this,t)||this).reusable=!1,r.timelineStarted=!1,r.playableGraph=new oE,r.time=0,r.tracks=[],r.trackSeed=0,r}rS(r,e);var i=r.prototype;return i.start=function(){for(var t,e=rb(this.tracks);!(t=e()).done;)for(var r,i=t.value,n=rb(i.getClips());!(r=n()).done;){var o=r.value;o.start=this.item.start,o.duration=this.item.duration}this.compileTracks(this.playableGraph)},i.update=function(e){if(!this.item.stopped&&this.item.composition){if(!this.timelineStarted){for(var r,i=rb(this.tracks);!(r=i()).done;)for(var n,o=r.value,a=rb(o.getClips());!(n=a()).done;)n.value.playable.onGraphStart();this.timelineStarted=!0}var s=this.time;if(this.item.delaying&&s>=0&&s<=this.item.duration){this.item.delaying=!1;for(var u,l=rb(this.tracks);!(u=l()).done;)for(var c,h=u.value,f=rb(h.getClips());!(c=f()).done;)c.value.playable.onPlayablePlay()}if(t.VFXItem.isParticle(this.item)?this.item.isEnded(s)&&this.item.content.destoryed:this.item.isEnded(s)){var m=this.item.endBehavior;if(!this.item.ended&&(this.item.ended=!0,this.item.onEnd(),0===m)){for(var d,p=rb(this.tracks);!(d=p()).done;)for(var v,y=d.value,g=rb(y.getClips());!(v=g()).done;)v.value.playable.onPlayableDestroy();if(this.item.delaying=!0,!this.item.reusable&&!this.reusable){this.item.dispose();return}}}if(!this.item.delaying){var x=this.time/this.item.duration;this.item.lifetime=x;for(var T,E=rb(this.tracks);!(T=E()).done;)for(var _,C=T.value,A=rb(C.getClips());!(_=A()).done;)_.value.playable.setTime(this.time);this.playableGraph.evaluate(e)}}},i.setTime=function(t){this.time=t},i.getTime=function(){return this.time},i.toLocalTime=function(t){var e=t-this.options.start,r=this.options.duration;return e-r>.001&&(5===this.options.endBehavior?e%=r:4===this.options.endBehavior&&(e=Math.min(r,e))),e},i.createTrack=function(t,e){var r=new t;return r.bindingItem=this.item,r.id=(this.trackSeed++).toString(),r.name=e||"Track"+r.id,this.tracks.push(r),r},i.getTracks=function(){return this.tracks},i.findTrack=function(t){for(var e,r=rb(this.tracks);!(e=r()).done;){var i=e.value;if(i.name===t)return i}},i.rebuildGraph=function(){this.playableGraph=new oE,this.compileTracks(this.playableGraph)},i.compileTracks=function(t){for(var e,r=rb(this.tracks);!(e=r()).done;){var i=e.value,n=i.createPlayable(),o=i.createOutput();t.addOutput(o),o.setSourcePlayeble(n)}},i.fromData=function(t){if(e.prototype.fromData.call(this,t),this.options={start:this.item.start,duration:this.item.duration,looping:5===this.item.endBehavior,endBehavior:this.item.endBehavior||0},this.id=this.item.id,this.name=this.item.name,this.createTrack(oS,"ActivationTrack").createClip(oN,"ActivationTimelineClip"),t.tracks)for(var r,i=t.tracks,n=rb(i);!(r=n()).done;)for(var o,a=r.value,s=this.createTrack(oS),u=rb(a.clips);!(o=u()).done;){var l=o.value;switch(l.dataType){case"TransformAnimationPlayableAsset":s.name="AnimationTrack",s.createClip(oP,"AnimationTimelineClip").playable.fromData(l.animationClip);break;case"SpriteColorAnimationPlayableAsset":s.name="SpriteColorTrack",s.createClip(ok,"SpriteColorClip").playable.fromData(l.animationClip)}}},i.toData=function(){e.prototype.toData.call(this)},r}(rK);e1([rY()],oF.prototype,"time",void 0);var oz=[[0,0,1,1,void 0]],oD=[1,1,1,1],oU=0,ok=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.renderColor=[1,1,1,1],t}rS(r,e);var i=r.prototype;return i.onPlayablePlay=function(){this.spriteMaterial=this.bindingItem.getComponent(t.SpriteComponent).material},i.processFrame=function(t){var e,r=ir(oD,1),i=this.time/this.bindingItem.duration,n=this.opacityOverLifetime,o=this.colorOverLifetime;o&&(r=re(o,i,!0),e=!0),n&&(r[3]*=n.getValue(i),e=!0),e&&(io(this.renderColor,r,this.startColor),this.spriteMaterial.getVector4("_Color").setFromArray(this.renderColor))},i.fromData=function(t){this.clipData=t;var e,r=t.colorOverLifetime;return r&&(this.opacityOverLifetime=iV(null!=(e=r.opacity)?e:1),r.color&&r.color[0]===tq.GRADIENT_COLOR&&(this.colorOverLifetime=rr(r.color[1]))),this.startColor=t.startColor||[1,1,1,1],this},r}(o_);t.SpriteComponent=function(e){function r(t,r){var i;return(i=e.call(this,t)||this).color=[1,1,1,1],i.visible=!0,i.getHitTestParams=function(t){var e=i.interaction;if(t||e){var r,n=i.getBoundingBox();if(n)return{behavior:(null==(r=i.interaction)?void 0:r.behavior)||0,type:n.type,triangles:n.area,backfaceCulling:i.renderer.side===tz.FRONT}}},r&&i.fromData(r),i}rS(r,e);var i=r.prototype;return i.setVisible=function(t){this.visible=t},i.getVisible=function(){return this.visible},i.setColor=function(t){this.color=t,this.material.setVector4("_Color",new r$().setFromArray(t))},i.setTexture=function(t){this.renderer.texture=t,this.material.setTexture("uSampler0",t)},i.render=function(t){if(this.getVisible()){var e=this.material,r=this.geometry;t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),this.material.setVector2("_Size",this.transform.size),t.drawGeometry(r,e)}},i.start=function(){this.priority=this.item.listIndex,this.timelineComponent=this.item.getComponent(oF),this.item.getHitTestParams=this.getHitTestParams},i.update=function(t){var e=this.timelineComponent.getTime(),r=this.item.duration,i=this.textureSheetAnimation;if(i){var n,o,a,s,u=i.total||i.row*i.col,l=0,c=0,h=1,f=1;if(this.splits){var m=this.splits[0];n=m[4],l=m[0],c=m[1],n?(h=m[3],f=m[2]):(h=m[2],f=m[3])}if(n?(o=1/i.row*h,a=1/i.col*f):(o=1/i.col*h,a=1/i.row*f),i.animate){var d=Math.round(Math.min(Math.max(e/r,0),1)*(u-1)),p=Math.floor(d/i.col),v=d-p*i.col;s=n?[o*p,a*(i.col-v)]:[o*v,a*(1+p)]}else s=[0,a];this.material.getVector4("_TexOffset").setFromArray([l+s[0],f+c-s[1],o,a])}},i.onDestroy=function(){this.item&&this.item.composition&&this.item.composition.destroyTextures(this.getTextures())},i.getItemInitData=function(t,e,r,i){var n=t.geoData;n||(n=t.geoData=this.getItemGeometryData(t,e));var o=n.index,a=o.length,s=this.wireframe?new Uint8Array([0,1,1,3,2,3,2,0]):new o.constructor(a);if(!this.wireframe)for(var u=0;u<a;u++)s[u]=r+o[u];return{atlasOffset:n.atlasOffset,index:s}},i.setItem=function(){var e=[],r=this.renderer.texture;r&&e8(e,r);var i=(r=this.renderer.texture)?e.indexOf(r):-1,n=this.getItemInitData(this,0,0,i),o=this.renderer,a=this.material.getVector4("_TexParams");a.x=o.occlusion?+o.transparentOcclusion:1,a.y=+this.preMultiAlpha,a.z=o.renderMode;var s={atlasOffset:new Float32Array(n.atlasOffset.length),index:new Uint16Array(n.index.length)};s.atlasOffset.set(n.atlasOffset),s.index.set(n.index);var u=this.material,l=this.geometry,c=s.index;l.setIndexData(c),l.setAttributeData("atlasOffset",s.atlasOffset),l.setDrawCount(n.index.length);for(var h=0;h<e.length;h++){var f=e[h];u.setTexture("uSampler"+h,f)}for(var m=this.emptyTexture,d=e.length;d<t.maxSpriteMeshItemCount;d++)u.setTexture("uSampler"+d,m)},i.createGeometry=function(t){var e=12*this.splits.length;return nD.create(this.engine,{attributes:{aPos:{type:i0.FLOAT,size:3,data:new Float32Array([-.5,.5,0,-.5,-.5,0,.5,.5,0,.5,-.5,0])},atlasOffset:{size:2,offset:0,releasable:!0,type:i0.FLOAT,data:new Float32Array(0)}},indices:{data:new Uint16Array(0),releasable:!0},mode:t,maxVertex:e})},i.createMaterial=function(t,e){var r=t.side,i=t.occlusion,n=t.blending,o=t.maskMode,a=t.mask,s={shader:oy(t,e,1)};this.preMultiAlpha=i3(n);var u=nR.create(this.engine,s),l={side:r,blending:!0,blendMode:n,mask:a,maskMode:o,depthTest:!0,depthMask:i};return u.blending=l.blending,u.stencilRef=void 0!==l.mask?[l.mask,l.mask]:void 0,u.depthTest=l.depthTest,u.depthMask=l.depthMask,i6(u,l.blendMode),i9(u,l.maskMode),i8(u,l.side),u.hasUniform("_Color")||u.setVector4("_Color",new r$(0,0,0,1)),u.hasUniform("_TexOffset")||u.setVector4("_TexOffset",new r$),u.hasUniform("_TexParams")||u.setVector4("_TexParams",new r$),u},i.getItemGeometryData=function(t,e){var r=t.splits,i=t.renderer,n=t.textureSheetAnimation;if(i.shape){for(var o=i.shape,a=o.index,s=o.aPoint,u=new Float32Array(s),l=[],c=[],h=0;h<u.length;h+=6)u[h]*=1,u[h+1]*=1,c.push(s[h+2],s[h+3]),l.push(u[h],u[h+1],0);return this.geometry.setAttributeData("aPos",new Float32Array(l)),{index:a,atlasOffset:c}}var f=[],m=[],d=2,p=2;1===r.length&&(d=1,p=1);for(var v=[],y=0;y<d;y++)for(var g=0;g<p;g++){var x=(2*g+y)*4,T=n?[0,0,1,1,r[0][4]]:r[2*g+y],E=T[4]?[0,0,1,0,0,1,1,1]:[0,1,0,0,1,1,1,0],_=((y+y+1)/d-1)/2,C=((g+g+1)/p-1)/2,A=T[0],S=T[1],R=T[4]?T[3]:T[2],b=T[4]?T[2]:T[3],O=[-.5/d+_,.5/p+C,-.5/d+_,-.5/p+C,.5/d+_,.5/p+C,.5/d+_,-.5/p+C];f.push(E[0]*R+A,E[1]*b+S,E[2]*R+A,E[3]*b+S,E[4]*R+A,E[5]*b+S,E[6]*R+A,E[7]*b+S),v.push(1*O[0],1*O[1],0,1*O[2],1*O[3],0,1*O[4],1*O[5],0,1*O[6],1*O[7],0),m.push(x,1+x,2+x,2+x,1+x,3+x)}return this.geometry.setAttributeData("aPos",new Float32Array(v)),{index:m,atlasOffset:f}},i.getTextures=function(){var t=[],e=this.renderer.texture;return e&&t.push(e),t},i.getBoundingBox=function(){if(this.item){var e=this.transform.getWorldMatrix(),r=iu(rV.ZERO,.5,.5);return r.forEach(function(t){e.transformPoint(t.p0),e.transformPoint(t.p1),e.transformPoint(t.p2)}),{type:t.HitTestType.triangle,area:r}}},i.fromData=function(t){e.prototype.fromData.call(this,t);var r,i,n,o,a,s,u=t.interaction,l=t.options,c=t.listIndex,h=t.renderer;h||(h={}),this.interaction=u,this.renderer={renderMode:null!=(r=h.renderMode)?r:tH.BILLBOARD,blending:null!=(i=h.blending)?i:tF.ALPHA,texture:null!=(n=h.texture)?n:this.engine.emptyTexture,occlusion:!!h.occlusion,transparentOcclusion:!!h.transparentOcclusion||h.maskMode===tD.MASK,side:null!=(o=h.side)?o:tz.DOUBLE,shape:h.shape,mask:null!=(a=h.mask)?a:0,maskMode:null!=(s=h.maskMode)?s:tD.NONE,order:void 0===c?0:c},this.emptyTexture=this.engine.emptyTexture,this.splits=t.splits||oz,this.textureSheetAnimation=t.textureSheetAnimation,this.cachePrefix="-",this.renderInfo=od(this);var f=this.createGeometry(i0.TRIANGLES),m=this.createMaterial(this.renderInfo,2);this.worldMatrix=rF.fromIdentity(),this.material=m,this.geometry=f,this.name="MSprite"+oU++;var d=l.startColor||[1,1,1,1];this.material.setVector4("_Color",new r$().setFromArray(d)),this.material.setVector4("_TexOffset",new r$().setFromArray([0,0,1,1])),this.setItem()},i.toData=function(){e.prototype.toData.call(this)},r}(rQ),t.SpriteComponent=e1([rj(er.SpriteComponent)],t.SpriteComponent);var oB="lookup_texture",oG="offscreen_canvas",oX={},oH=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}return t.prototype.generate=function(t){var e=oY(this.arc,this.arcMode,t)*rO,r=new rV(Math.cos(e)*this.radius,Math.sin(e)*this.radius,0),i=Math.tan(this.angle*rO),n=r.clone().multiply(i);return n.z+=1,{position:r.multiply(rx(0,1)),direction:n.normalize()}},t}();function oY(t,e,r){if(e===t0.RANDOM)t=rx(0,t);else if(e===t0.UNIDIRECTIONAL_CYCLE){var i=r.index%(r.total+1);t=t/r.total*i}else if(e===t0.BIDIRECTIONAL_CYCLE){var n=r.index/(r.total+1),o=n-Math.floor(n);t*=Math.floor(n)%2?1-o:o}else e===t0.UNIFORM_BURST&&(t=t*r.burstIndex/r.burstCount);return t}var oj=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}return t.prototype.generate=function(t){var e=oY(this.arc,this.arcMode,t)*rO,r=new rV(Math.cos(e),Math.sin(e),0),i=this.radius;return{direction:r,position:r.clone().multiply(i)}},t}(),oW=function(){function t(t){this._d=(t.width||1)/2,this._h=(t.height||1)/2}return t.prototype.generate=function(t){var e=rx(-this._d,this._d),r=rx(-this._h,this._h);return{direction:new rV(0,0,1),position:new rV(e,r,0)}},t}(),oZ=function(){function t(t){this._d=(t.width||1)/2,this._h=(t.height||1)/2,this.arcMode=t.arcMode,this.arc=t.arc}return t.prototype.generate=function(t){var e=oY(this.arc,this.arcMode,t)*rO,r=new rV(Math.cos(e),Math.sin(e),0),i=this._d,n=this._h,o=Math.atan2(n,i),a=Math.tan(e),s=new rV;return e<o?s.set(i,i*a,0):e>=o&&e<Math.PI-o?s.set(n/a,n,0):e<Math.PI+o?s.set(-i,-i*a,0):e<2*Math.PI-o?s.set(-n/a,-n,0):s.set(i,i*a,0),{direction:r,position:s}},t}(),oq=function(){function t(t){this._d=(t.width||1)/2,this.arcMode=t.arcMode}return t.prototype.generate=function(t){var e=this.arcMode===t0.UNIFORM_BURST?t.burstIndex%t.burstCount/(t.burstCount-1):rx(0,1);return{direction:new rV(0,1,0),position:new rV(this._d*(e-.5),0,0)}},t}(),oK=new rF,oQ=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}return t.prototype.generate=function(t){var e=this.donutRadius,r=this.radius-e,i=rx(0,2*Math.PI),n=oY(this.arc,this.arcMode,t)*rO,o=oK.setFromRotationZ(n),a=new rV(Math.cos(i),Math.sin(i),0),s=new rV(r+Math.cos(i)*e,0,Math.sin(i)*e);return{direction:o.transformNormal(a),position:o.transformPoint(s)}},t}(),oJ=new rF,o$=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}var e=t.prototype;return e.getHorizontalAngle=function(){return rx(-90,90)},e.generate=function(t){var e=oY(this.arc,this.arcMode,t)*rO,r=this.getHorizontalAngle()*rO,i=this.radius,n=new rV(Math.cos(r),0,Math.sin(r)),o=oJ.setFromRotationZ(e).transformNormal(n);return{position:o.clone().multiply(i),direction:o}},t}(),o0=function(t){function e(){return t.apply(this,arguments)}return rS(e,t),e.prototype.getHorizontalAngle=function(){return rx(0,90)},e}(o$),o1=function(){function t(t){var e=t.detail||{anchors:[.5,.5],block:[0,0]};this.anchors=new Float32Array(e.anchors),this.width=t.width||1,this.height=t.height||1,this.block=e.block,this.arcMode=t.arcMode,this.random=rM(t.random||0,0,1)}return t.prototype.generate=function(t){var e=this.anchors,r=Math.floor(oY(e.length/2-1,this.arcMode,t)),i=(e[2*r]+this.block[0]*this.random*Math.random())%1-.5,n=(e[2*r+1]+this.block[1]*this.random*Math.random())%1-.5,o=new rV(i,n,0);return{position:new rV(i*this.width,n*this.height,0),direction:o.normalize()}},t}(),o2=function(){function t(){}return t.prototype.generate=function(){return{position:new rV,direction:new rV}},t}(),o3=((el={})[tU.NONE]=o2,el[tU.CONE]=oH,el[tU.SPHERE]=o$,el[tU.HEMISPHERE]=o0,el[tU.CIRCLE]=oj,el[tU.DONUT]=oQ,el[tU.RECTANGLE]=oW,el[tU.EDGE]=oq,el[tU.RECTANGLE_EDGE]=oZ,el[tU.TEXTURE]=o1,el);function o4(t){if(!t)return new o2;var e=i7({radius:1,arc:360,angle:0,arcMode:t0.RANDOM},t),r=t.type,i=o3[r];if(!i)throw Error("invalid shape:"+r);var n=new i(e);if(r!==tU.NONE){var o=t.alignSpeedDirection,a=t.upDirection;n.alignSpeedDirection=o,n.upDirection=rV.fromArray(void 0===a?[0,0,1]:a).normalize()}return n}function o5(t,e,r,i,n){var o,a;if(n===function(t,e,r,i){for(var n=0,o=e,a=r-i;o<r;o+=i)n+=(t[a]-t[o])*(t[o+1]+t[a+1]),a=o;return n}(t,e,r,i)>0)for(o=e;o<r;o+=i)a=as(o,t[o],t[o+1],a);else for(o=r-i;o>=e;o-=i)a=as(o,t[o],t[o+1],a);return a&&ae(a,a.next)&&(au(a),a=a.next),a}function o6(t,e){if(!t)return t;e||(e=t);var r,i=t;do if(r=!1,!i.steiner&&(ae(i,i.next)||0===at(i.prev,i,i.next))){if(au(i),(i=e=i.prev)===i.next)break;r=!0}else i=i.next;while(r||i!==e);return e}function o8(t,e){return t.x-e.x}function o9(t,e,r,i,n){return(t=((t=((t=((t=((t=32767*(t-r)*n)|t<<8)&16711935)|t<<4)&252645135)|t<<2)&858993459)|t<<1)&1431655765)|(e=((e=((e=((e=((e=32767*(e-i)*n)|e<<8)&16711935)|e<<4)&252645135)|e<<2)&858993459)|e<<1)&1431655765)<<1}function o7(t,e,r,i,n,o,a,s){return(n-a)*(e-s)-(t-a)*(o-s)>=0&&(t-a)*(i-s)-(r-a)*(e-s)>=0&&(r-a)*(o-s)-(n-a)*(i-s)>=0}function at(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function ae(t,e){return t.x===e.x&&t.y===e.y}function ar(t,e,r,i){var n=an(at(t,e,r)),o=an(at(t,e,i)),a=an(at(r,i,t)),s=an(at(r,i,e));return!!(n!==o&&a!==s||0===n&&ai(t,r,e)||0===o&&ai(t,i,e)||0===a&&ai(r,t,i)||0===s&&ai(r,e,i))}function ai(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function an(t){return t>0?1:t<0?-1:0}function ao(t,e){return 0>at(t.prev,t,t.next)?at(t,e,t.next)>=0&&at(t,t.prev,e)>=0:0>at(t,e,t.prev)||0>at(t,t.next,e)}function aa(t,e){var r=new al(t.i,t.x,t.y),i=new al(e.i,e.x,e.y),n=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=n,n.prev=r,i.next=r,r.prev=i,o.next=i,i.prev=o,i}function as(t,e,r,i){var n=new al(t,e,r);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function au(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function al(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}var ac=0;function ah(t,e,r,i){r=r||2,ac=i||0;var n,o,a,s,u,l,c,h=e&&e.length,f=h?e[0]*r:t.length,m=o5(t,0,f,r,!0),d=[];if(!m||m.next===m.prev)return d;if(h&&(m=function(t,e,r,i){var n,o,a,s,u,l=[];for(n=0,o=e.length;n<o;n++)a=e[n]*i,s=n<o-1?e[n+1]*i:t.length,(u=o5(t,a,s,i,!1))===u.next&&(u.steiner=!0),l.push(function(t){var e=t,r=t;do(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;while(e!==t);return r}(u));for(l.sort(o8),n=0;n<l.length;n++)(function(t,e){if(e=function(t,e){var r,i,n,o=e,a=t.x,s=t.y,u=-1/0;do{if(s<=o.y&&s>=o.next.y&&o.next.y!==o.y){var l=o.x+(s-o.y)*(o.next.x-o.x)/(o.next.y-o.y);if(l<=a&&l>u){if(u=l,l===a){if(s===o.y)return o;if(s===o.next.y)return o.next}n=o.x<o.next.x?o:o.next}}o=o.next}while(o!==e);if(!n)return null;if(a===u)return n;var c,h=n,f=n.x,m=n.y,d=1/0;o=n;do a>=o.x&&o.x>=f&&a!==o.x&&o7(s<m?a:u,s,f,m,s<m?u:a,s,o.x,o.y)&&(c=Math.abs(s-o.y)/(a-o.x),ao(o,t)&&(c<d||c===d&&(o.x>n.x||o.x===n.x&&(r=n,i=o,0>at(r.prev,r,i.prev)&&0>at(i.next,r,r.next))))&&(n=o,d=c)),o=o.next;while(o!==h);return n}(t,e)){var r=aa(e,t);o6(e,e.next),o6(r,r.next)}})(l[n],r),r=o6(r,r.next);return r}(t,e,m,r)),t.length>80*r){n=a=t[0],o=s=t[1];for(var p=r;p<f;p+=r)u=t[p],l=t[p+1],u<n&&(n=u),l<o&&(o=l),u>a&&(a=u),l>s&&(s=l);c=0!==(c=Math.max(a-n,s-o))?1/c:0}return function t(e,r,i,n,o,a,s){if(e){!s&&a&&function(t,e,r,i){var n=t;do null===n.z&&(n.z=o9(n.x,n.y,e,r,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next;while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){var e,r,i,n,o,a,s,u,l=1;do{for(r=t,t=null,o=null,a=0;r;){for(a++,i=r,s=0,e=0;e<l&&(s++,i=i.nextZ);e++);for(u=l;s>0||u>0&&i;)0!==s&&(0===u||!i||r.z<=i.z)?(n=r,r=r.nextZ,s--):(n=i,i=i.nextZ,u--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;r=i}o.nextZ=null,l*=2}while(a>1)}(n)}(e,n,o,a);for(var u,l,c=e;e.prev!==e.next;){if(u=e.prev,l=e.next,a?function(t,e,r,i){var n=t.prev,o=t.next;if(at(n,t,o)>=0)return!1;for(var a=n.x<t.x?n.x<o.x?n.x:o.x:t.x<o.x?t.x:o.x,s=n.y<t.y?n.y<o.y?n.y:o.y:t.y<o.y?t.y:o.y,u=n.x>t.x?n.x>o.x?n.x:o.x:t.x>o.x?t.x:o.x,l=n.y>t.y?n.y>o.y?n.y:o.y:t.y>o.y?t.y:o.y,c=o9(a,s,e,r,i),h=o9(u,l,e,r,i),f=t.prevZ,m=t.nextZ;f&&f.z>=c&&m&&m.z<=h;){if(f!==t.prev&&f!==t.next&&o7(n.x,n.y,t.x,t.y,o.x,o.y,f.x,f.y)&&at(f.prev,f,f.next)>=0||(f=f.prevZ,m!==t.prev&&m!==t.next&&o7(n.x,n.y,t.x,t.y,o.x,o.y,m.x,m.y)&&at(m.prev,m,m.next)>=0))return!1;m=m.nextZ}for(;f&&f.z>=c;){if(f!==t.prev&&f!==t.next&&o7(n.x,n.y,t.x,t.y,o.x,o.y,f.x,f.y)&&at(f.prev,f,f.next)>=0)return!1;f=f.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&o7(n.x,n.y,t.x,t.y,o.x,o.y,m.x,m.y)&&at(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}(e,n,o,a):function(t){var e=t.prev,r=t.next;if(at(e,t,r)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(o7(e.x,e.y,t.x,t.y,r.x,r.y,i.x,i.y)&&at(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}(e)){r.push(u.i/i+ac),r.push(e.i/i+ac),r.push(l.i/i+ac),au(e),e=l.next,c=l.next;continue}if((e=l)===c){s?1===s?t(e=function(t,e,r){var i=t;do{var n=i.prev,o=i.next.next;!ae(n,o)&&ar(n,i,i.next,o)&&ao(n,o)&&ao(o,n)&&(e.push(n.i/r+ac),e.push(i.i/r+ac),e.push(o.i/r+ac),au(i),au(i.next),i=t=o),i=i.next}while(i!==t);return o6(i)}(o6(e),r,i),r,i,n,o,a,2):2===s&&function(e,r,i,n,o,a){var s=e;do{for(var u,l,c=s.next.next;c!==s.prev;){if(s.i!==c.i&&(u=s,l=c,u.next.i!==l.i&&u.prev.i!==l.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ar(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(u,l)&&(ao(u,l)&&ao(l,u)&&function(t,e){var r=t,i=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do r.y>o!=r.next.y>o&&r.next.y!==r.y&&n<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==t);return i}(u,l)&&(at(u.prev,u,l.prev)||at(u,l.prev,l))||ae(u,l)&&at(u.prev,u,u.next)>0&&at(l.prev,l,l.next)>0))){var h=aa(s,c);s=o6(s,s.next),h=o6(h,h.next),t(s,r,i,n,o,a),t(h,r,i,n,o,a);return}c=c.next}s=s.next}while(s!==e)}(e,r,i,n,o,a):t(o6(e),r,i,n,o,a,1);break}}}}(m,d,r,n,o,c),d}function af(t,e){for(var r,i,n=t.s,o=t.p,a=n[1],s=o[1],u=0,l=0;l<a.length;l++)u+=a[l].length-1;var c,h=new Float32Array(6*u),f=e.indexBase,m=e.uvTransform,d=0,p=0,v=0,y=1,g=1;m&&(p=m[0],v=m[1],y=(c=m[4])?m[3]:m[2],g=c?m[2]:m[3]);for(var x=[0,0],T=0===c?0:-Math.PI/2,E=0;E<a.length;E++)for(var _=a[E],C=s[E],A=s[E+1]||s[0],S=[0,0],R=0;R<_.length-1;R++)(function(t,e,r,i,n,o,a,s){var u=1-e,l=u*u*u,c=3*e*u*u,h=3*e*e*u,f=e*e*e;t[0]=l*r[0]+c*n+h*a+f*i[0],t[1]=l*r[1]+c*o+h*s+f*i[1]})(S,_[R],C,A,C[4],C[5],A[2],A[3]),r=S[0],i=S[1],h[d++]=r/2,h[d++]=i/2,m?(x[0]=r,x[1]=i,ad(x,x,T),h[d++]=p+(x[0]+1)/2*y,h[d++]=v+(x[1]+1)/2*g):(h[d++]=(r+1)/2,h[d++]=(i+1)/2),d+=2;var b=ah(Array.from(h),null,6,void 0===f?0:f);return{aPoint:h,index:new Uint16Array(b)}}function am(t,e){for(var r,i=[],n=(r=[],t.gs?t.gs.forEach(function(t){r.push({p:[tq.SHAPE_POINTS,t.p],s:[tq.SHAPE_SPLITS,t.s]})}):t.g?r.push({p:[tq.SHAPE_POINTS,t.g.p],s:[tq.SHAPE_SPLITS,t.g.s]}):r.push(t),r),o=0,a=0,s=0,u=0;u<n.length;u++){var l=af(n[u],{indexBase:o,uvTransform:e});o+=l.aPoint.length/5,i.push(l),a+=l.aPoint.length,s+=l.index.length}if(1===i.length)return i[0];for(var c=new Float32Array(a),h=new Uint16Array(s),f=0,m=0,d=0;f<i[f];f++){var p=i[f];c.set(p.aPoint,m),m+=p.aPoint.length,h.set(p.index,d),d+=p.index.length}return{aPoint:c,index:h}}function ad(t,e,r){var i=Math.cos(r),n=Math.sin(r),o=e[0],a=e[1];return t[0]=i*o+n*a,t[1]=-n*o+i*a,t}var ap=function(){function t(t){var e=t.time,r=t.interval,i=t.count,n=t.cycles,o=t.probability;this.time=+e||0,this.interval=+r||1,this.count=e$(i,iC)?i:iV(i),this.cycles=+n||1/0,this.probability=isNaN(o)?1:+o,this.reset()}var e=t.prototype;return e.getGeneratorOptions=function(t,e){if(t-this.time-this.now>this.interval*this.index&&this.internalCycles>0)return this.internalCycles--,this.index++,Math.random()<=this.probability?{index:this.index,total:1/this.interval,count:this.count.getValue(e),cycleIndex:this.cycles-this.internalCycles-1}:null},e.reset=function(){this.internalCycles=this.cycles,this.index=0,this.now=0},e.clone=function(){return new t(this)},t}(),av=function(t){this.content=t},ay=function(){function t(t){this.sort=t,this.length=0}var e=t.prototype;return e.findNodeByContent=function(t){var e=this.first;if(e)do if(t(e.content))return e;while(e=e.next)},e.insertNode=function(t,e){var r=t.next;t.next=e,e.pre=t,e.next=r,r&&(r.pre=e)},e.shiftNode=function(t){var e=new av(t);if(this.length++,1===this.length)return this.first=this.last=e;for(var r=this.first;r;){if(!(0>=this.sort(r.content,e.content)))return r.pre?this.insertNode(r.pre,e):(this.first=e,e.next=r,r.pre=e),e;if(!r.next)return this.insertNode(r,e),this.last=e;r=r.next}},e.pushNode=function(t){var e=new av(t);if(this.length++,1===this.length)return this.last=this.first=e;for(var r=this.last;r;){if(!(0>=this.sort(e.content,r.content)))return this.insertNode(r,e),r===this.last&&(this.last=e),e;if(this.first===r)return r.pre=e,e.next=r,this.first=e;r=r.pre}},e.removeNode=function(t){var e=this.first;if(this.length--,e===t){var r=this.first=e.next;r&&(r.pre=null)}else if((e=this.last)===t){var i=this.last=e.pre;i&&(i.next=null)}else if(t){var n=t.pre,o=t.next;n.next=o,o&&(o.pre=n)}t.pre=null,t.next=null},e.forEach=function(t,e){var r=this.first,i=0;if(r)do t.call(e||this,r.content,i++);while(r=r.next)},e.forEachReverse=function(t,e){var r=this.last,i=this.length-1;if(r)do t.call(e||this,r.content,i--);while(r=r.pre)},t}(),ag=new rV,ax=new rV,aT=function(){function e(e,r){this.pointStart=[];var i,n=r.colorOverLifetime,o=r.colorOverTrail,a=r.maxTrailCount,s=r.opacityOverLifetime,u=void 0===s?iV(1):s,l=r.widthOverTrail,c=r.name,h=r.occlusion,f=r.blending,m=r.maskMode,d=r.textureMap,p=r.texture,v=r.transparentOcclusion,y=r.minimumVertexDistance,g=r.lifetime,x=r.matrix,T=e.gpuCapability,E=T.detail,_=T.level,C=Math.max(r.pointCountPerTrail,2),A=iD(),S=E.maxVertexTextures>0,R=(null!=(i=e.renderer)?i:{}).env,b={},O=[["ENABLE_VERTEX_TEXTURE",S],["LOOKUP_TEXTURE_CURVE",0],["ENV_EDITOR",R===iQ]],w=a>64,I=0;n&&(O.push(["COLOR_OVER_LIFETIME",!0]),I|=1,b.uColorOverLifetime=ng.createWithData(e,rs(n))),o&&(O.push(["COLOR_OVER_TRAIL",!0]),I|=4,b.uColorOverTrail=ng.createWithData(e,rs(o))),w?(O.push(["ATTR_TRAIL_START",1]),I|=8):b.uTrailStart=new Float32Array(a),b.uOpacityOverLifetimeValue=u.toUniform(A);var L=l.toUniform(A);O.push(["VERT_CURVE_VALUE_COUNT",A.index],["VERT_MAX_KEY_FRAME_COUNT",A.max]),b.uVCurveValues=iC.getAllData(A);var M={shader:{vertex:nK,fragment:nZ,marcos:O,glslVersion:1===_?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,shared:!0,name:"trail#"+c,cacheId:"-t:+"+I+"+"+A.index+"+"+A.max},uniformSemantics:{effects_MatrixVP:"VIEWPROJECTION",effects_MatrixInvV:"VIEWINVERSE",effects_ObjectToWorld:"MODEL",uEditorTransform:"EDITOR_TRANSFORM"}},P=C*a*2,V=(C-1)*a,N=Float32Array.BYTES_PER_ELEMENT,F=12*N,z={attributes:{aColor:{size:4,stride:F,data:new Float32Array(12*P)},aSeed:{size:1,stride:F,offset:4*N,dataSource:"aColor"},aInfo:{size:3,stride:F,offset:5*N,dataSource:"aColor"},aPos:{size:4,stride:F,offset:8*N,dataSource:"aColor"},aTime:{size:1,data:new Float32Array(P)},aDir:{size:3,data:new Float32Array(3*P)}},indices:{data:new Uint16Array(6*P)},drawCount:6*V,name:"trail#"+c,bufferUsage:i0.DYNAMIC_DRAW};if(w)z.attributes.aTrailStart={size:1,data:new Float32Array(P)};else{var D=new Float32Array(P);z.attributes.aTrailStartIndex={size:1,data:D};for(var U=0;U<a;U++)for(var k=2*C,B=U*k,G=0;G<k;G++)D[B+G]=U}var X=i3(f),H=nR.create(e,M);H.blending=!0,H.depthMask=h,H.depthTest=!0,i9(H,m),i6(H,f);var Y=this.mesh=nB.create(e,{name:"MTrail_"+c,material:H,geometry:nD.create(e,z)}),j=null!=p?p:ng.createWithData(e);Object.keys(b).map(function(t){var e=b[t];if(e$(e,ng))H.setTexture(t,e);else if("uTrailStart"===t)H.setFloats("uTrailStart",e);else if("uVCurveValues"===t){for(var r=[],i=0;i<e.length;i+=4){var n=new r$(e[i],e[i+1],e[i+2],e[i+3]);r.push(n)}H.setVector4Array(t,r)}else H.setVector4(t,r$.fromArray(e))}),H.setFloat("uTime",0),H.setVector4("uWidthOverTrail",r$.fromArray(L)),H.setVector2("uTexOffset",new rP(0,0)),H.setVector4("uTextureMap",r$.fromArray(void 0===d?[0,0,1,1]:d)),H.setVector4("uParams",new r$(0,C-1,0,0)),H.setTexture("uMaskTex",j),H.setVector4("uColorParams",new r$(p?1:0,+X,0,+(h&&!v))),this.maxTrailCount=a,this.pointCountPerTrail=C,this.checkVertexDistance=y>0,this.minimumVertexDistance=Math.pow(y||.001,2),this.useAttributeTrailStart=w,this.lifetime=g,x&&(this.mesh.worldMatrix=x),this.geometry=Y.firstGeometry(),this.trailCursors=new Uint16Array(a)}var r=e.prototype;return r.addPoint=function(t,e,r){r=r||{};var i=this.trailCursors[t],n=this.pointCountPerTrail,o=this.geometry,a=n-1,s=i%n,u=(i-1)%n,l=(i-2)%n,c=this.getTrailPosition(t,u,ag);if(!(c&&this.checkVertexDistance&&(null==c?void 0:c.distanceSquared(e))<this.minimumVertexDistance)){var h=t*n+s,f=aA(c,e),m=r.time||this.time,d=[Math.random(),r.lifetime||this.lifetime,i],p=r.size||1,v=new Float32Array(6);v.set(f,0),v.set(f,3),o.setAttributeSubData("aDir",6*h,v),o.setAttributeSubData("aTime",2*h,new Float32Array([m,m]));var y=r.color||[1,1,1,1],g=new Float32Array(24),x=e.toArray();if(g.set(y,0),g.set(d,4),g[7]=0,g.set(x,8),g[11]=.5*p,g.set(y,12),g.set(d,16),g[19]=1,g.set(x,20),g[23]=-.5*p,o.setAttributeSubData("aColor",24*h,g),u>=0){var T=new Float32Array(aA(this.getTrailPosition(t,l,ax),c,e)),E=(t*n+u)*6;o.setAttributeSubData("aDir",E,T),o.setAttributeSubData("aDir",E+3,T);var _=t*n*2,C=new Uint16Array([2*u+_,2*u+1+_,2*s+_,2*s+_,2*u+1+_,2*s+1+_]),A=(t*a+(i-1)%a)*6;o.setIndexSubData(A,C)}i=++this.trailCursors[t];var S=this.mesh.material,R=S.getVector4("uParams"),b=d[2];if(this.useAttributeTrailStart){for(var O=2*n,w=new Float32Array(O),I=0;I<O;I++)w[I]=b;o.setAttributeSubData("aTrailStart",t*w.length,w)}else{var L=S.getFloats("uTrailStart");void 0!=L&&(L[t]=b,S.setFloats("uTrailStart",L))}R&&(R.y=Math.max(R.y,i-1)-Math.max(0,i-n),S.setVector4("uParams",R))}},r.getTrailPosition=function(t,e,r){var i=this.pointCountPerTrail;if(e>=0&&e<i){var n=(t*i+e)*24+8,o=this.geometry.getAttributeData("aColor");return r.x=o[n],r.y=o[1+n],r.z=o[2+n],r}},r.clearAllTrails=function(){var t=this.geometry;this.trailCursors=new Uint16Array(this.trailCursors.length),t.setIndexData(new Uint16Array(t.getIndexData().length))},r.minusTime=function(t){for(var e=this.geometry.getAttributeData("aTime"),r=0;r<e.length;r++)e[r]-=t;this.geometry.setAttributeData("aTime",e),this.time-=t},r.clearTrail=function(t){if(0!==this.trailCursors[t]){var e=(this.pointCountPerTrail-1)*6,r=this.geometry.getIndexData();r.set(new Uint16Array(e),t*e),this.geometry.setIndexData(r),this.trailCursors[t]=0}},r.getPointStartPos=function(t){return this.pointStart[t]},r.setPointStartPos=function(t,e){this.pointStart[t]=e},r.onUpdate=function(t){},rC(e,[{key:"time",get:function(){return this.mesh.material.getFloat("uTime")||0},set:function(t){this.mesh.material.setFloat("uTime",null!=t?t:0)}}]),e}(),aE=new rV,a_=new rV,aC=new rV;function aA(t,e,r){return t||r?(t?r?(a_.subtractVectors(e,t).normalize(),a_.subtractVectors(r,e),aC.copyFrom(a_).normalize(),aE.addVectors(a_,aC)):aE.subtractVectors(e,t):aE.subtractVectors(r,e),aE.normalize().toArray()):[0,0,0]}var aS=function(t){function e(e,r,i){(n=t.call(this,e)||this).name="ParticleSystemRenderer",n.particleMesh=new az(e,r),void 0!==i&&(n.trailMesh=new aT(e,i));var n,o=[n.particleMesh.mesh];return n.materials.push(n.particleMesh.mesh.material),n.trailMesh&&(o.push(n.trailMesh.mesh),n.materials.push(n.trailMesh.mesh.material)),n.meshes=o,n}rS(e,t);var r=e.prototype;return r.start=function(){this._priority=this.item.listIndex,this.particleMesh.gravityModifier.scaleXCoord(this.item.duration);for(var t,e=rb(this.meshes);!(t=e()).done;)t.value.start()},r.update=function(t){var e=this.particleMesh.time;this.particleMesh.mesh.material.setVector4("uParams",new r$(e,this.item.duration,0,0))},r.render=function(t){for(var e,r=rb(this.meshes);!(e=r()).done;)e.value.render(t)},r.reset=function(){var t;this.particleMesh.clearPoints(),null==(t=this.trailMesh)||t.clearAllTrails()},r.updateTime=function(t,e){this.particleMesh.time=t,this.trailMesh&&(this.trailMesh.time=t,this.trailMesh.onUpdate(e))},r.minusTimeForLoop=function(t){var e;this.particleMesh.minusTime(t),null==(e=this.trailMesh)||e.minusTime(t)},r.updateWorldMatrix=function(t){this.particleMesh.mesh.worldMatrix=t,this.trailMesh&&(this.trailMesh.mesh.worldMatrix=t)},r.setVisible=function(t){var e;this.particleMesh.mesh.setVisible(t),null==(e=this.trailMesh)||e.mesh.setVisible(t)},r.getTextures=function(){var t=[],e=this.particleMesh.mesh.material.textures;if(Object.keys(e).forEach(function(r){t.push(e[r])}),this.trailMesh){var r=this.trailMesh.mesh.material.textures;Object.keys(r).forEach(function(e){t.push(r[e])})}return t},r.setParticlePoint=function(t,e){this.particleMesh.setPoint(t,e)},r.removeParticlePoint=function(t){this.particleMesh.removePoint(t)},r.getParticlePointColor=function(t){return this.particleMesh.getPointColor(t)},r.hasTrail=function(){return void 0!==this.trailMesh},r.clearTrail=function(t){var e;null==(e=this.trailMesh)||e.clearTrail(t)},r.addTrailPoint=function(t,e,r){var i;null==(i=this.trailMesh)||i.addPoint(t,e,r)},r.setTrailStartPosition=function(t,e){var r;null==(r=this.trailMesh)||r.setPointStartPos(t,e)},r.getTrailStartPosition=function(t){return this.trailMesh.getPointStartPos(t)},e}(rQ);t.ParticleSystem=function(e){function r(r,i){var n;return(n=e.call(this,r)||this).destoryed=!1,n.getHitTestParams=function(e){var r=n.interaction;if(e||r)return{type:t.HitTestType.custom,collect:function(t){return n.raycast({radius:(null==r?void 0:r.radius)||.4,multiple:!!(null==r?void 0:r.multiple),removeParticle:(null==r?void 0:r.behavior)===t$.removeParticle,ray:t})}}},i&&n.fromData(i),n}rS(r,e);var i=r.prototype;return i.initEmitterTransform=function(){var t,e=this.item.transform.position.clone(),r=this.item.transform.rotation.clone(),i=this.props.emitterTransform&&this.props.emitterTransform.path;i&&(i[0]===tq.CONSTANT_VEC3?e.add(i[1]):t=iV(i)),this.basicTransform={position:e,rotation:r,path:t};var n=this.transform.parentTransform,o=e.clone();if(t&&o.add(t.getValue(0)),this.transform.setPosition(o.x,o.y,o.z),this.options.particleFollowParent&&n){var a=n.getWorldMatrix();this.renderer.updateWorldMatrix(a)}},i.updateEmitterTransform=function(t){var e=this.transform.parentTransform,r=this.basicTransform,i=r.path,n=r.position.clone();if(i){var o=this.item.duration;n.add(i.getValue(t/o))}if(this.transform.setPosition(n.x,n.y,n.z),this.options.particleFollowParent&&e){var a=e.getWorldMatrix();this.renderer.updateWorldMatrix(a)}},i.addParticle=function(t,e){var r,i=this.particleLink,n=[t.delay+t.lifetime,0,t.delay,t];if(i.length<e)r=n[1]=i.length;else{var o=i.first;i.removeNode(o),r=n[1]=o.content[1]}i.pushNode(n),this.renderer.setParticlePoint(r,t),this.clearPointTrail(r),this.transform.parentTransform&&this.renderer.setTrailStartPosition(r,this.transform.parentTransform.position.clone())},i.setVisible=function(t){this.renderer.setVisible(t)},i.setOpacity=function(t){var e,r=this.renderer.particleMesh.mesh.material,i=this.renderer.particleMesh.mesh.geometry,n=(null==(e=r.getVector4("uOpacityOverLifetimeValue"))?void 0:e.toArray())||[1,1,1,1];r.setVector4("uOpacityOverLifetimeValue",new r$(n[0],n[1],n[2],t));for(var o=i.getAttributeData("aColor")||[],a=0;a<o.length;a+=32)o[8*a+7]=t},i.setColor=function(t,e,r,i){var n,o=this.renderer.particleMesh.mesh.material,a=this.renderer.particleMesh.mesh.geometry,s=(null==(n=o.getVector4("uOpacityOverLifetimeValue"))?void 0:n.toArray())||[1,1,1,1];o.setVector4("uOpacityOverLifetimeValue",new r$(s[0],s[1],s[2],i));for(var u=a.getAttributeData("aColor")||[],l=0;l<u.length;l+=32)u[8*l+4]=t,u[8*l+5]=e,u[8*l+6]=r,u[8*l+7]=i},i.setParentTransform=function(t){},i.getTextures=function(){return this.renderer.getTextures()},i.start=function(){(!this.started||this.ended)&&(this.reset(),this.started=!0,this.ended=!1)},i.stop=function(){this.ended=!0,this.started=!1},i.reset=function(){this.renderer.reset(),this.lastUpdate=0,this.loopStartTime=0,this.lastEmitTime=-1/this.emission.rateOverTime.getValue(0),this.generatedCount=0,this.particleLink=new ay(function(t,e){return t[0]-e[0]}),this.emission.bursts.forEach(function(t){return t.reset()}),this.frozen=!1},i.onUpdate=function(t){var e=this;if(this.started&&!this.frozen){var r=this.lastUpdate+t/1e3,i=this.options,n=this.loopStartTime,o=this.emission;this.lastUpdate=r,this.upDirectionWorld=null,this.renderer.updateTime(r,t);var a=this.particleLink,s=(r-n)/this.item.duration,u=this.timePassed,l=!1,c=function(){e.trails&&!l&&(l=!0,a.forEach(function(t){var r=t[0],i=t[1],n=t[2],o=t[3];r<u?e.clearPointTrail(i):u>n&&e.updatePointTrail(i,s,o,n)}))};if(this.ended){if(this.item.endBehavior!==tQ.loop&&0===this.item.endBehavior){var h=a.last;h&&h.content[0]<this.lastUpdate&&(this.destoryed=!0)}}else{var f=this.item.duration,m=this.lifetime;if(u<f){var d=1/o.rateOverTime.getValue(m),p=Math.floor((u-this.lastEmitTime)/d),v=d/p,y=i.maxCount;this.updateEmitterTransform(u);for(var g=function(){var t=a.first;return e.emissionStopped||a.length===y&&t&&t.content[0]-n>u},x=0;x<p&&x<y&&!g();x++){var T=this.createPoint(m);T.delay+=r+x*v,this.addParticle(T,y),this.lastEmitTime=u}for(var E=o.bursts,_=(null==E?void 0:E.length)-1,C=0;_>=0&&C<y&&!g();_--){var A=E[_],S=!A.disabled&&A.getGeneratorOptions(u,m);if(S){var R=[0,0,0],b=o.burstOffsets[_],O=b&&b[S.cycleIndex]||R;A.once&&this.removeBurst(_);for(var w=0;w<S.count&&C<y&&!g();w++){var I,L=this.initPoint(this.shape.generate({total:S.total,index:S.index,burstIndex:w,burstCount:S.count}));L.delay+=r,C++,(I=L.transform).translate.apply(I,[].concat(O)),this.addParticle(L,y)}}}}else this.item.endBehavior===tQ.loop?(c(),this.loopStartTime=r-f,this.lastEmitTime-=f,this.lastUpdate-=f,o.bursts.forEach(function(t){return t.reset()}),this.particleLink.forEach(function(t){t[0]-=f,t[2]-=f,t[3].delay-=f}),this.renderer.minusTimeForLoop(f),this.onIterate(this)):(this.ended=!0,this.onEnd(this),4===this.item.endBehavior&&(this.frozen=!0))}c()}},i.onDestroy=function(){this.item&&this.item.composition&&(this.item.composition.destroyTextures(this.getTextures()),this.meshes.forEach(function(e){return e.dispose({material:{textures:t.DestroyOptions.keep}})}))},i.getParticleBoxes=function(){var t=this.particleLink,e=this.renderer,r=[],i=this.particleCount,n=0;if(!(t&&e))return r;for(var o=t.last,a=!1;!a;){var s=o.content[0],u=o.content[3];if(s>this.timePassed){var l=this.getPointPosition(u);r.push({center:l,size:u.transform.scale}),o.pre?o=o.pre:a=!0}++n>i&&(a=!0)}return r},i.raycast=function(t){var e=this.particleLink,r=this.renderer;if(e&&r){var i=e.last,n=[],o=new rV,a=!1;if(i&&i.content)do{var s=i.content,u=s[0],l=s[1];s[2];var c=s[3];if(u>this.timePassed){var h=this.getPointPosition(c),f=t.ray,m=!1;f&&(m=!!f.intersectSphere({center:h,radius:t.radius},o)),m&&(t.removeParticle&&(r.removeParticlePoint(l),this.clearPointTrail(l),e.removeNode(i),i.content=[0]),n.push(h),t.multiple||(a=!0))}else break}while((i=i.pre)&&!a);return n}},i.clearPointTrail=function(t){this.trails&&this.trails.dieWithParticles&&this.renderer.clearTrail(t)},i.updatePointTrail=function(t,e,r,i){var n=this.renderer;if(n.hasTrail()){var o=this.trails,a=this.getPointPosition(r),s=o.inheritParticleColor?n.getParticlePointColor(t):[1,1,1,1],u=r.transform.getWorldScale().toArray(),l=1,c=o.lifetime.getValue(e);if(o.sizeAffectsWidth&&(l*=u[0]),o.sizeAffectsLifetime&&(c*=u[0]),o.parentAffectsPosition&&this.transform.parentTransform){a.add(this.transform.parentTransform.position);var h=n.getTrailStartPosition(t);h&&a.subtract(h)}n.addTrailPoint(t,a,{color:s,lifetime:c,size:l,time:i})}},i.getPointPosition=function(t){var e=t.transform,r=t.vel,i=t.lifetime,n=t.delay,o=t.gravity,a=this.options.forceTarget,s=this.lastUpdate-n,u=new rV,l=rV.fromArray(void 0===o?[]:o);e.assignWorldTRS(u);var c=it(new rV,this.options,l,s,i,u,r);if(a){var h=a.target||[0,0,0],f=a.curve.getValue(s/i),m=1-f;c.x=c.x*m+h[0]*f,c.y=c.y*m+h[1]*f,c.z=c.z*m+h[2]*f}return c},i.onEnd=function(t){},i.onIterate=function(t){},i.initPoint=function(t){var e,r,i,n,o=this.options,a=this.lifetime,s=this.shape,u=o.startSpeed.getValue(a),l=o.particleFollowParent?this.transform.getMatrix():this.transform.getWorldMatrix(),c=new iB({position:l.transformPoint(t.position,new rV),valid:!0}),h=t.direction;if(h=l.transformNormal(h,aR).normalize(),o.startTurbulence&&o.turbulence){for(var f=0;f<3;f++)aL.setElement(f,o.turbulence[f].getValue(a));aM.setFromVector3(aL.negate()),aV.setFromEuler(aM).transformNormal(h).normalize()}s.alignSpeedDirection?(aI.copyFrom(h),this.upDirectionWorld||(s.upDirection?this.upDirectionWorld=s.upDirection.clone():this.upDirectionWorld=rV.Z.clone(),l.transformNormal(this.upDirectionWorld)),aw.crossVectors(aI,this.upDirectionWorld).normalize(),aw.isZero()&&aw.set(1,0,0)):(aw.set(1,0,0),aI.set(0,1,0));var m=this.textureSheetAnimation;m&&m.animate&&((n=aP)[0]=m.animationDelay.getValue(a),n[1]=m.animationDuration.getValue(a),n[2]=m.cycles.getValue(a)),o.start3DRotation?aO.set(o.startRotationX.getValue(a),o.startRotationY.getValue(a),o.startRotationZ.getValue(a)):o.startRotation?aO.set(0,0,o.startRotation.getValue(a)):aO.set(0,0,0),c.setRotation(aO.x,aO.y,aO.z);var d=o.startColor.getValue(a);if(3===d.length&&(d[3]=1),o.start3DSize)ab.x=o.startSizeX.getValue(a),ab.y=o.startSizeY.getValue(a);else{var p=o.startSize.getValue(a),v=o.sizeAspect.getValue(a);ab.x=p,ab.y=0===v?0:p/v}var y=h.clone();if(y.multiply(u),!o.particleFollowParent){var g=new rV;this.transform.assignWorldTRS(void 0,void 0,g),ab.x*=g.x,ab.y*=g.y}return c.setScale(ab.x,ab.y,1),{size:ab,vel:y,color:d,delay:o.startDelay.getValue(a),lifetime:o.startLifetime.getValue(a),uv:(r=Math.floor(Math.random()*(e=this.uvs).length),i=e[r],i),gravity:o.gravity,sprite:n,dirY:aI,dirX:aw,transform:c}},i.addBurst=function(t,e){var r=!1;if(this.emission.bursts.includes(t)||(this.emission.bursts.push(t),r=!0),r&&e$(e,Array)){var i=this.emission.bursts.indexOf(t);return this.emission.burstOffsets[i]=e,i}return -1},i.removeBurst=function(t){t<this.emission.bursts.length&&(this.emission.burstOffsets[t]=null,this.emission.bursts.splice(t,1))},i.createPoint=function(t){var e={total:this.emission.rateOverTime.getValue(t),index:this.generatedCount,burstIndex:0,burstCount:0};return this.generatedCount++,this.initPoint(this.shape.generate(e))},i.stopParticleEmission=function(){this.emissionStopped=!0},i.resumeParticleEmission=function(){this.emissionStopped=!1},i.getBoundingBox=function(){var e=this.getParticleBoxes();return{type:t.HitTestType.sphere,area:e}},i.fromData=function(t){e.prototype.fromData.call(this,t),this.props=t,this.destoryed=!1;var r,i,n,o,a,s,u,l,c,h,f,m,d=t.options,p=t.positionOverLifetime,v=t.shape,y=p.gravityOverLifetime,g=ie(p.gravity),x=t.textureSheetAnimation,T=x?{animationDelay:iV(x.animationDelay||0),animationDuration:iV(x.animationDuration||1),cycles:iV(x.cycles||1),animate:x.animate,col:x.col,row:x.row,total:x.total||x.col*x.row}:void 0,E=!!(v&&v.turbulenceX||v.turbulenceY||v.turbulenceZ);E&&(n=[iV(null!=(o=v.turbulenceX)?o:0),iV(null!=(a=v.turbulenceY)?a:0),iV(null!=(s=v.turbulenceZ)?s:0)]),this.name="ParticleSystem",this.shape=o4(v),this.emission={rateOverTime:iV(t.emission.rateOverTime),burstOffsets:(r=null!=(u=t.emission.burstOffsets)?u:[],i={},Array.isArray(r)&&r.forEach(function(t){var e=e$(t,Array),r=e?t[0]:t.index,n=i[r];n||(n=i[r]=[]),e?n.push(t.slice(1,4)):n.push([+t.x,+t.y,+t.z])}),i),bursts:(t.emission.bursts||[]).map(function(t){return new ap(t)})},this.textureSheetAnimation=T;var _=t.renderer||{},C={},A=t.rotationOverLifetime;A&&(C.asRotation=!!A.asRotation,C.z=A.z?iV(A.z):iV(0),A.separateAxes&&(C.x=A.x&&iV(A.x),C.y=A.y&&iV(A.y))),p.forceTarget&&(l={target:p.target||[0,0,0],curve:iV(p.forceCurve||[tq.LINE,[[0,0],[1,1]]])});var S={x:p.linearX&&iV(p.linearX||0),y:p.linearY&&iV(p.linearY||0),z:p.linearZ&&iV(p.linearZ||0),asMovement:p.asMovement},R={x:p.orbitalX&&iV(p.orbitalX),y:p.orbitalY&&iV(p.orbitalY),z:p.orbitalZ&&iV(p.orbitalZ),center:p.orbCenter,asRotation:p.asRotation},b=t.sizeOverLifetime||{},O=t.colorOverLifetime,w=(null==b?void 0:b.separateAxes)?{separateAxes:!0,x:iV(b.x),y:iV(b.y)}:{separateAxes:!1,x:iV(("size"in b?b.size:b.x)||1)};_.anchor=_.anchor||[0,0];var I=rP.fromArray(_.anchor);this.options={particleFollowParent:!!d.particleFollowParent,startLifetime:iV(d.startLifetime),startDelay:iV(d.startDelay||0),startSpeed:iV(p.startSpeed||0),startColor:iV(d.startColor),looping:!1,maxCount:null!=(c=d.maxCount)?c:0,gravityModifier:iV(y||0),gravity:g,start3DSize:!!d.start3DSize,startTurbulence:E,turbulence:n,speedOverLifetime:p.speedOverLifetime&&iV(p.speedOverLifetime),linearVelOverLifetime:S,orbitalVelOverLifetime:R,forceTarget:l},d.startRotationZ&&(this.options.startRotation=iV(d.startRotationZ||0)),(d.startRotationX||d.startRotationY)&&(this.options.start3DRotation=!0,this.options.startRotationX=iV(d.startRotationX||0),this.options.startRotationY=iV(d.startRotationY||0),this.options.startRotationZ=iV(d.startRotationZ||0)),d.start3DSize?(this.options.startSizeX=iV(d.startSizeX),this.options.startSizeY=iV(d.startSizeY)):(this.options.startSize=iV(d.startSize),this.options.sizeAspect=iV(d.sizeAspect||1));var L={meshSlots:d.meshSlots,name:this.name,matrix:rF.IDENTITY,shaderCachePrefix:"",renderMode:_.renderMode||tH.BILLBOARD,side:_.side||tz.DOUBLE,gravity:g,blending:_.blending||tF.ALPHA,rotationOverLifetime:C,gravityModifier:this.options.gravityModifier,linearVelOverLifetime:this.options.linearVelOverLifetime,orbitalVelOverLifetime:this.options.orbitalVelOverLifetime,speedOverLifetime:this.options.speedOverLifetime,sprite:T,occlusion:!!_.occlusion,transparentOcclusion:!!_.transparentOcclusion,maxCount:d.maxCount,mask:_.mask,maskMode:null!=(h=_.maskMode)?h:tD.NONE,forceTarget:l,diffuse:_.texture,sizeOverLifetime:w,anchor:I};if(O){var M=O.color,P=O.opacity;L.colorOverLifetime={},P&&(L.colorOverLifetime.opacity=iV(O.opacity)),M&&(M[0]===tq.GRADIENT_COLOR?L.colorOverLifetime.color=O.color[1]:M[0]===tq.RGBA_COLOR?L.colorOverLifetime.color=ng.createWithData(this.engine,{data:new Uint8Array(M[1]),width:1,height:1}):e$(M,ng)&&(L.colorOverLifetime.color=M))}var V=[],N=[0,0,1,1];if(t.splits){var F=t.splits[0];N=(f=F[4])?[F[0],F[1],F[3],F[2]]:[F[0],F[1],F[2],F[3]]}if(T&&!T.animate)for(var z=f?T.row:T.col,D=f?T.col:T.row,U=T.total||z*D,k=0,B=0;B<z;B++)for(var G=0;G<D&&k<U;G++,k++)V.push([B*N[2]/z+N[0],G*N[3]/D+N[1],N[2]/z,N[3]/D]);else V.push(N);this.uvs=V,L.textureFlip=f;var X=t.trails;X&&(this.trails={lifetime:iV(X.lifetime),dieWithParticles:!1!==X.dieWithParticles,sizeAffectsWidth:!!X.sizeAffectsWidth,sizeAffectsLifetime:!!X.sizeAffectsLifetime,inheritParticleColor:!!X.inheritParticleColor,parentAffectsPosition:!!X.parentAffectsPosition},m={name:"Trail",matrix:rF.IDENTITY,minimumVertexDistance:X.minimumVertexDistance||.02,maxTrailCount:d.maxCount,pointCountPerTrail:Math.round(X.maxPointPerTrail)||32,blending:X.blending,texture:X.texture,opacityOverLifetime:iV(X.opacityOverLifetime||1),widthOverTrail:iV(X.widthOverTrail||1),shaderCachePrefix:"",lifetime:this.trails.lifetime,occlusion:!!X.occlusion,transparentOcclusion:!!X.transparentOcclusion,textureMap:X.textureMap,mask:_.mask,maskMode:_.maskMode},X.colorOverLifetime&&X.colorOverLifetime[0]===tq.GRADIENT_COLOR&&(m.colorOverLifetime=X.colorOverLifetime[1]),X.colorOverTrail&&X.colorOverTrail[0]===tq.GRADIENT_COLOR&&(m.colorOverTrail=X.colorOverTrail[1])),this.renderer=new aS(this.engine,L,m),this.meshes=this.renderer.meshes;var H=t.interaction;H&&(this.interaction={multiple:H.multiple,radius:H.radius,behavior:H.behavior}),this.item.getHitTestParams=this.getHitTestParams,this.item._content=this,this.renderer.item=this.item,this.item.components.push(this.renderer),this.item.rendererComponents.push(this.renderer),this.item.getComponent(oF).createTrack(oS).createClip(aN)},rC(r,[{key:"timePassed",get:function(){return this.lastUpdate-this.loopStartTime}},{key:"lifetime",get:function(){return this.timePassed/this.item.duration}},{key:"particleCount",get:function(){return this.particleLink.length}}]),r}(rZ),t.ParticleSystem=e1([rj(er.ParticleSystem)],t.ParticleSystem);var aR=new rV,ab=new rP,aO=new rz,aw=new rV,aI=new rV,aL=new rV,aM=new rz,aP=[0,0,0],aV=new rF,aN=function(e){function r(){return e.apply(this,arguments)}rS(r,e);var i=r.prototype;return i.onPlayablePlay=function(){this.particleSystem=this.bindingItem.getComponent(t.ParticleSystem),this.particleSystem&&(this.particleSystem.name=this.bindingItem.name,this.particleSystem.start(),this.particleSystem.initEmitterTransform())},i.processFrame=function(t){var e=this.particleSystem;e&&(e.setVisible(!0),e.onUpdate(t))},r}(o_),aF={uSprite:"vec4",uParams:"vec4",uAcceleration:"vec4",uGravityModifierValue:"vec4",uOpacityOverLifetimeValue:"vec4",uRXByLifeTimeValue:"vec4",uRYByLifeTimeValue:"vec4",uRZByLifeTimeValue:"vec4",uLinearXByLifetimeValue:"vec4",uLinearYByLifetimeValue:"vec4",uLinearZByLifetimeValue:"vec4",uSpeedLifetimeValue:"vec4",uOrbXByLifetimeValue:"vec4",uOrbYByLifetimeValue:"vec4",uOrbZByLifetimeValue:"vec4",uSizeByLifetimeValue:"vec4",uSizeYByLifetimeValue:"vec4",uColorParams:"vec4",uFSprite:"vec4",uPreviewColor:"vec4",uVCurveValues:"vec4Array",uFCurveValues:"vec4",uFinalTarget:"vec3",uForceCurve:"vec4",uOrbCenter:"vec3",uTexOffset:"vec2",uPeriodValue:"vec4",uMovementValue:"vec4",uStrengthValue:"vec4",uWaveParams:"vec4"},az=function(){function e(e,r){this.particleCount=0;var i,n,o,a,s,u,l,c,h,f=(null!=(l=e.renderer)?l:{}).env,m=r.speedOverLifetime,d=r.colorOverLifetime,p=r.linearVelOverLifetime,v=r.orbitalVelOverLifetime,y=r.sizeOverLifetime,g=r.rotationOverLifetime,x=r.sprite,T=r.gravityModifier,E=r.maxCount,_=r.textureFlip,C=r.useSprite,A=r.name,S=r.gravity,R=r.forceTarget,b=r.side,O=r.occlusion,w=r.anchor,I=r.blending,L=r.maskMode,M=r.mask,P=r.transparentOcclusion,V=r.meshSlots,N=r.renderMode,F=void 0===N?0:N,z=r.diffuse,D=void 0===z?ng.createWithData(e):z,U=e.gpuCapability.detail,k=U.halfFloatTexture,B=U.maxVertexUniforms,G=[["RENDER_MODE",+F],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",f===iQ]],X=e.gpuCapability.level,H=iD(),Y=iD(),j=B>0,W={},Z=0,q=0;this.useSprite=C,j&&G.push(["ENABLE_VERTEX_TEXTURE",!0]),m&&(G.push(["SPEED_OVER_LIFETIME",!0]),q|=2,W.uSpeedLifetimeValue=m.toUniform(H)),(null==x?void 0:x.animate)&&(G.push(["USE_SPRITE",!0]),q|=4,W.uFSprite=W.uSprite=new Float32Array([x.col,x.row,x.total,x.blend?1:0]),this.useSprite=!0),(null==d?void 0:d.color)&&(G.push(["COLOR_OVER_LIFETIME",!0]),q|=16,W.uColorOverLifetime=e$(d.color,ng)?d.color:ng.createWithData(e,rs(d.color))),(null==d?void 0:d.opacity)?W.uOpacityOverLifetimeValue=d.opacity.toUniform(H):W.uOpacityOverLifetimeValue=iV(1).toUniform(H),["x","y","z"].forEach(function(t,e){var r=0,i=0;(null==p?void 0:p[t])&&(W["uLinear"+t.toUpperCase()+"ByLifetimeValue"]=p[t].toUniform(H),r=1,q|=1<<7+e,p.enabled=!0),G.push(["LINEAR_VEL_"+t.toUpperCase(),r]),(null==v?void 0:v[t])&&(W["uOrb"+t.toUpperCase()+"ByLifetimeValue"]=v[t].toUniform(H),i=1,q|=1<<10+e,c=!0,v.enabled=!0),G.push(["ORB_VEL_"+t.toUpperCase(),i])}),(null==p?void 0:p.asMovement)&&(G.push(["AS_LINEAR_MOVEMENT",!0]),q|=32),c&&((null==v?void 0:v.asRotation)&&(G.push(["AS_ORBITAL_MOVEMENT",!0]),q|=64),W.uOrbCenter=new Float32Array((null==v?void 0:v.center)||[0,0,0])),W.uSizeByLifetimeValue=null==y?void 0:y.x.toUniform(H),(null==y?void 0:y.separateAxes)&&(G.push(["SIZE_Y_BY_LIFE",1]),q|=16384,W.uSizeYByLifetimeValue=null==y?void 0:null==(h=y.y)?void 0:h.toUniform(H)),(null==g?void 0:g.z)&&(W.uRZByLifeTimeValue=g.z.toUniform(H),q|=32768,G.push(["ROT_Z_LIFETIME",1])),(null==g?void 0:g.x)&&(W.uRXByLifeTimeValue=g.x.toUniform(H),q|=65536,G.push(["ROT_X_LIFETIME",1])),(null==g?void 0:g.y)&&(W.uRYByLifeTimeValue=g.y.toUniform(H),q|=131072,G.push(["ROT_Y_LIFETIME",1])),(null==g?void 0:g.asRotation)&&(G.push(["ROT_LIFETIME_AS_MOVEMENT",1]),q|=262144),W.uGravityModifierValue=T.toUniform(H),R&&(G.push(["FINAL_TARGET",!0]),q|=524288,W.uFinalTarget=new Float32Array(R.target||[0,0,0]),W.uForceCurve=R.curve.toUniform(H)),k&&Y.max?(q|=1048576,W.uFCurveValueTexture=nx(e,iC.getAllData(Y,!0),Y.index,1)):W.uFCurveValues=iC.getAllData(Y);var K=H.max+H.curves.length-32>B;if(2===X&&(H.max=-1,H.index=V?V[0]:aU(H.index),Y.index>0&&(Y.max=-1,Y.index=V?V[1]:aU(Y.index))),K&&k&&j){var Q=nx(e,iC.getAllData(H,!0),H.index,1);W.uVCurveValueTexture=Q,Z=1}else W.uVCurveValues=iC.getAllData(H);var J=["-p:",F,q,H.index,H.max,Y.index,Y.max].join("+");G.push(["VERT_CURVE_VALUE_COUNT",H.index],["FRAG_CURVE_VALUE_COUNT",Y.index],["VERT_MAX_KEY_FRAME_COUNT",H.max],["FRAG_MAX_KEY_FRAME_COUNT",Y.max]);var $={fragment:nZ,vertex:"#define LOOKUP_TEXTURE_CURVE "+Z+"\n"+nq,glslVersion:1===X?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,shared:!0,cacheId:J,marcos:G,name:"particle#"+A},tt=i3(I);W.uTexOffset=new Float32Array(D?[1/D.getWidth(),1/D.getHeight()]:[0,0]),W.uMaskTex=D,W.uColorParams=new Float32Array([D?1:0,+tt,0,+(!!O&&!P)]),W.uParams=[0,0,0,0],W.uAcceleration=[(null==S?void 0:S[0])||0,(null==S?void 0:S[1])||0,(null==S?void 0:S[2])||0,0];var te=nR.create(e,{shader:$,uniformSemantics:{effects_MatrixV:"VIEW",effects_MatrixVP:"VIEWPROJECTION",uEditorTransform:"EDITOR_TRANSFORM",effects_ObjectToWorld:"MODEL"}});te.blending=!0,te.depthTest=!0,te.depthMask=!!O,te.stencilRef=M?[M,M]:void 0,i9(te,L),i6(te,I),i8(te,b),Object.keys(W).map(function(t){var e=W[t];if(e$(e,ng)){te.setTexture(t,e);return}var r=[];switch(aF[t]){case"vec4":te.setVector4(t,r$.fromArray(e));break;case"vec3":te.setVector3(t,rV.fromArray(e));break;case"vec2":te.setVector2(t,rP.fromArray(e));break;case"vec4Array":for(var i=0;i<e.length;i+=4){var n=new r$(e[i],e[i+1],e[i+2],e[i+3]);r.push(n)}te.setVector4Array(t,r),r.length=0;break;default:console.warn("uniform "+t+"'s type not in typeMap")}}),te.setVector3("emissionColor",new rV(0,0,0)),te.setFloat("emissionIntensity",0);var tr=nD.create(e,(i=4*E,n=this.useSprite,o="particle#"+A,u={aPos:{size:3,offset:0,stride:s=12*(a=Float32Array.BYTES_PER_ELEMENT),data:new Float32Array(0)},aVel:{size:3,offset:3*a,stride:s,dataSource:"aPos"},aDirX:{size:3,offset:6*a,stride:s,dataSource:"aPos"},aDirY:{size:3,offset:9*a,stride:s,dataSource:"aPos"},aRot:{size:3,offset:0,stride:8*a,data:new Float32Array(0)},aSeed:{size:1,offset:3*a,stride:8*a,dataSource:"aRot"},aColor:{size:4,offset:4*a,stride:8*a,dataSource:"aRot"},aOffset:{size:4,stride:4*a,data:new Float32Array(0)}},n&&(u.aSprite={size:3,stride:3*a,data:new Float32Array(0)}),{attributes:u,indices:{data:new Uint16Array(0)},name:o,maxVertex:i})),ti=nB.create(e,{name:"MParticle_"+A,material:te,geometry:tr});this.anchor=w,this.mesh=ti,this.geometry=ti.firstGeometry(),this.forceTarget=R,this.sizeOverLifetime=y,this.speedOverLifetime=m,this.linearVelOverLifetime=p,this.orbitalVelOverLifetime=v,this.orbitalVelOverLifetime=v,this.gravityModifier=T,this.maxCount=E,this.textureOffsets=_?[0,0,1,0,0,1,1,1]:[0,1,0,0,1,1,1,0],this.time=0}var r=e.prototype;return r.getPointColor=function(t){var e=this.geometry.getAttributeData("aRot"),r=32*t+4;return[e[r],e[r+1],e[r+2],e[r+3]]},r.getPointPosition=function(t){var e=this.geometry,r=48*t,i=e.getAttributeData("aPos"),n=e.getAttributeData("aOffset"),o=this.time-n[16*t+2],a=n[16*t+3],s=this.mesh.material,u=s.getVector4("uAcceleration").toVector3(),l=rV.fromArray(i,r),c=rV.fromArray(i,r+3),h=it(new rV,this,u,o,a,l,c);if(this.forceTarget){var f=s.getVector3("uFinalTarget"),m=this.forceTarget.curve.getValue(o/a),d=1-m;h.x=h.x*d+f.x*m,h.y=h.y*d+f.y*m,h.z=h.z*d+f.z*m}return h},r.clearPoints=function(){this.resetGeometryData(this.geometry),this.particleCount=0,this.geometry.setDrawCount(0),this.maxParticleBufferCount=0},r.resetGeometryData=function(t){for(var e=t.getAttributeNames(),r=t.getIndexData(),i=0;i<e.length;i++){var n=e[i],o=t.getAttributeData(n);o&&t.setAttributeData(n,new o.constructor(0))}t.setIndexData(new r.constructor(0))},r.minusTime=function(t){for(var e=this.geometry.getAttributeData("aOffset"),r=0;r<e.length;r+=4)e[r+2]-=t;this.geometry.setAttributeData("aOffset",e),this.time-=t},r.removePoint=function(t){t<this.particleCount&&this.geometry.setAttributeSubData("aOffset",16*t,new Float32Array(16))},r.setPoint=function(t,e){var r=this.maxCount;if(t<r){var i,n=t+1,o=4*n,a=this.geometry,s=n>this.maxParticleBufferCount,u=1;this.particleCount>300?u=(this.particleCount+100)/this.particleCount:this.particleCount>100?u=1.4:this.particleCount>0&&(u=2);var l={aPos:new Float32Array(48),aRot:new Float32Array(32),aOffset:new Float32Array(16)},c=this.useSprite;c&&(l.aSprite=new Float32Array(12));var h=new rV,f=new rN,m=new rV(1,1,1);e.transform.assignWorldTRS(h,f,m);var d=iB.getRotation(f,new rz),p=h.toArray(),v=d.toArray(),y=this.textureOffsets,g=[0,0,e.delay,e.lifetime],x=[0,0,1,1],T=e.vel,E=e.color,_=[-.5,.5,-.5,-.5,.5,.5,.5,-.5],C=Math.random();c&&(i=e.sprite);for(var A=0;A<4;A++){var S=2*A,R=3*A,b=4*A,O=12*A,w=8*A;l.aPos.set(p,O),T.fill(l.aPos,O+3),l.aRot.set(v,w),l.aRot[w+3]=C,l.aRot.set(E,w+4),c&&l.aSprite.set(i,R);var I=e.uv||x;if(I){var L=c?1-y[S+1]:y[S+1];g[0]=I[0]+y[S]*I[2],g[1]=I[1]+L*I[3]}l.aOffset.set(g,b);for(var M=A+A,P=(_[M]-this.anchor.x)*m.x,V=(_[M+1]-this.anchor.y)*m.y,N=0;N<3;N++)l.aPos[O+6+N]=e.dirX.getElement(N)*P,l.aPos[O+9+N]=e.dirY.getElement(N)*V}var F=new Uint16Array([0,1,2,2,1,3].map(function(e){return e+4*t}));if(s){var z=e7(a.getIndexData(),6*n,u,6*r);z.set(F,6*t),a.setIndexData(z),this.maxParticleBufferCount=z.length/6}else a.setIndexSubData(6*t,F);Object.keys(l).forEach(function(e){var i=l[e],n=a.getAttributeStride(e)/Float32Array.BYTES_PER_ELEMENT;if(s){var c=e7(a.getAttributeData(e),o*n,u,4*r*n);c.set(i,i.length*t),a.setAttributeData(e,c)}else a.setAttributeSubData(e,i.length*t,i)}),this.particleCount=Math.max(n,this.particleCount),a.setDrawCount(6*this.particleCount)}},e}(),aD=[10,32,64,160];function aU(t){for(var e=0;e<aD.length;e++){var r=aD[e];if(r>t)return r}return t||aD[0]}function ak(t,e,r){void 0===e&&(e="");var i,n,o,a=t.content,s=+((null==(i=a.renderer)?void 0:i.renderMode)||0),u=[["RENDER_MODE",s],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",e===iQ]],l=r.level,c=r.detail,h=iD(),f=iD(),m=c.maxVertexUniforms>0,d=(null!=(n=a.positionOverLifetime)?n:{}).speedOverLifetime,p=0,v=0;m&&u.push(["ENABLE_VERTEX_TEXTURE",!0]),d&&(u.push(["SPEED_OVER_LIFETIME",!0]),v|=2,iz(h,d));var y=a.textureSheetAnimation;y&&y.animate&&(u.push(["USE_SPRITE",!0]),v|=4);var g=a.colorOverLifetime;g&&g.color&&(u.push(["COLOR_OVER_LIFETIME",!0]),v|=16);var x=g&&g.opacity;x&&iz(h,x);var T=a.positionOverLifetime;if(["x","y","z"].forEach(function(t,e){var r=0,i="linear"+t.toUpperCase(),n="orbital"+t.toUpperCase();(null==T?void 0:T[i])&&(iz(h,T[i]),r=1,v|=1<<7+e),u.push(["LINEAR_VEL_"+t.toUpperCase(),r]);var a=0;(null==T?void 0:T[n])&&(iz(h,T[n]),a=1,v|=1<<10+e,o=!0),u.push(["ORB_VEL_"+t.toUpperCase(),a])}),(null==T?void 0:T.asMovement)&&(u.push(["AS_LINEAR_MOVEMENT",!0]),v|=32),o&&(null==T?void 0:T.asRotation)&&(u.push(["AS_ORBITAL_MOVEMENT",!0]),v|=64),a.sizeOverLifetime){var E=a.sizeOverLifetime;E.separateAxes?(iz(h,E.x),u.push(["SIZE_Y_BY_LIFE",1]),v|=16384,iz(h,E.y)):iz(h,E.size)}if(a.rotationOverLifetime){var _=a.rotationOverLifetime;_.z&&(iz(h,null==_?void 0:_.z),v|=32768,u.push(["ROT_Z_LIFETIME",1])),_.separateAxes&&(_.x&&(iz(h,_.x),v|=65536,u.push(["ROT_X_LIFETIME",1])),_.y&&(iz(h,_.y),v|=131072,u.push(["ROT_Y_LIFETIME",1]))),(null==_?void 0:_.asRotation)&&(u.push(["ROT_LIFETIME_AS_MOVEMENT",1]),v|=262144)}iz(h,null==T?void 0:T.gravityOverLifetime),(null==T?void 0:T.forceTarget)&&(u.push(["FINAL_TARGET",!0]),v|=524288,iz(h,T.forceCurve));var C=c.halfFloatTexture;C&&f.max&&(v|=1048576);var A=c.maxVertexUniforms,S=h.max+h.curves.length-32>A;oX[oB]&&(S=!0),2===l&&(h.max=-1,f.index>0&&(f.max=-1)),S&&C&&m&&(p=1);var R={fragment:nZ,vertex:"#define LOOKUP_TEXTURE_CURVE "+p+"\n"+nq,shared:!0,cacheId:["-p:",s,v,h.index,h.max,f.index,f.max].join("+"),marcos:u,name:"particle#"+t.name};return u.push(["VERT_CURVE_VALUE_COUNT",h.index],["FRAG_CURVE_VALUE_COUNT",f.index],["VERT_MAX_KEY_FRAME_COUNT",h.max],["FRAG_MAX_KEY_FRAME_COUNT",f.max]),{shader:R,vertex:h.index,fragment:f.index}}function aB(t,e,r){var i,n=null==(i=t.cacheId)?void 0:i.split("+");if(n[3]=e,n[5]=r,t.cacheId=n.join("+"),t.marcos)for(var o=0;o<t.marcos.length;o++){var a=t.marcos[o];if("VERT_CURVE_VALUE_COUNT"===a[0])a[1]=e;else if("FRAG_CURVE_VALUE_COUNT"===a[0]){a[1]=r;break}}}var aG=function(e){function r(){return e.apply(this,arguments)}return rS(r,e),r.precompile=function(e,r,i){var n=r.engine.gpuCapability,o=n.level,a=(null!=i?i:{}).env,s=r.getShaderLibrary(),u=[],l=[],c=0,h=0;return e.forEach(function(e){e.items.forEach(function(e){t.Item.isParticle(e)&&u.push(e)})}),u.forEach(function(e){var r=ak(e,a,n),i=r.shader,u=r.fragment,f=r.vertex;if(l.push(i),c=Math.max(c,u),h=Math.max(h,f),e.content.trails){var m,d,p,v,y,g,x,T,E,_,C=(m=e.content.trails,d=e.content.options.maxCount,p=e.name,void 0===(v=a)&&(v=""),y=0,g=oX[oB]?1:0,x=[["ENABLE_VERTEX_TEXTURE",n.detail.maxVertexTextures>0],["LOOKUP_TEXTURE_CURVE",g],["ENV_EDITOR",v===iQ]],T=iD(),m.colorOverLifetime&&(x.push(["COLOR_OVER_LIFETIME",!0]),y|=1),m.colorOverTrail&&(x.push(["COLOR_OVER_TRAIL",!0]),y|=4),d>64&&(x.push(["ATTR_TRAIL_START",1]),y|=8),iz(T,m.opacityOverLifetime),iz(T,m.widthOverTrail),x.push(["VERT_CURVE_VALUE_COUNT",T.index],["VERT_MAX_KEY_FRAME_COUNT",T.max]),{vertex:nK,fragment:nZ,marcos:x,shared:!0,name:"trail#"+p,cacheId:"-t:+"+y+"+"+T.index+"+"+T.max});C.vertex=i5(null!=(E=C.marcos)?E:[],C.vertex,t.ShaderType.vertex,o),C.fragment=i5(null!=(_=C.marcos)?_:[],C.fragment,t.ShaderType.fragment,o),C.glslVersion=2===o?t.GLSLVersion.GLSL3:t.GLSLVersion.GLSL1,s.addShader(C)}}),l.forEach(function(e){var r,i;2===o?(aB(e,h,c),e.glslVersion=t.GLSLVersion.GLSL3):e.glslVersion=t.GLSLVersion.GLSL1,e.vertex=i5(null!=(r=e.marcos)?r:[],e.vertex,t.ShaderType.vertex,o),e.fragment=i5(null!=(i=e.marcos)?i:[],e.fragment,t.ShaderType.fragment,o),s.addShader(e)}),2===o&&u.forEach(function(t){t.content.options.meshSlots=[h,c]}),Promise.resolve()},r}(rJ),aX=function(t){function e(){return t.apply(this,arguments)}return rS(e,t),e}(rJ);function aH(t,e){return e&&("object"===e0(e)||"function"==typeof e)?e:ob(t)}var aY=function(){function t(t){this.width=0,this.height=0;var e=t.textHeight,r=t.textWidth,i=t.textOverflow,n=void 0===i?t8.display:i,o=t.textBaseline,a=void 0===o?t9.top:o,s=t.textAlign,u=void 0===s?t7.left:s,l=t.text,c=t.letterSpace,h=void 0===c?0:c,f=t.autoWidth,m=t.fontSize,d=t.lineHeight;this.autoWidth=void 0!==f&&f,this.maxTextWidth=l.length*(m+h),this.width=void 0===r?100:r,this.height=void 0===e?100:e,this.letterSpace=h,this.overFlow=n,this.textBaseline=a,this.textAlign=u,this.lineHeight=void 0===d?m:d}var e=t.prototype;return e.getOffsetY=function(t){var e=0,r=(t.fontSize+t.outlineWidth)*t.fontScale;switch(this.textBaseline){case t9.top:e=r;break;case t9.middle:e=(this.height+r)/2;break;case t9.bottom:e=this.height-r/2}return e},e.getOffsetX=function(t,e){var r=0;switch(this.textAlign){case t7.left:r=t.outlineWidth*t.fontScale;break;case t7.middle:r=(this.width*t.fontScale-e)/2;break;case t7.right:r=this.width*t.fontScale-e}return r},e.setSize=function(t,e){this.width=t,this.height=e},t}(),aj=function(t){this.isUnderline=!1,this.underlineHeight=1,this.isOutlined=!1,this.outlineWidth=0,this.hasShadow=!1,this.fontDesc="",this.fontScale=2,this.fontOffset=0;var e,r,i,n,o,a,s=t.textColor,u=t.fontSize,l=t.outline,c=t.shadow,h=t.fontWeight,f=t.fontStyle,m=t.fontFamily;this.textColor=void 0===s?[1,1,1,1]:s,this.textWeight=void 0===h?"normal":h,this.fontStyle=void 0===f?"normal":f,this.fontFamily=void 0===m?"sans-serif":m,this.fontSize=void 0===u?40:u,l&&(this.isOutlined=!0,this.outlineColor=null!=(e=l.outlineColor)?e:[1,1,1,1],this.outlineWidth=null!=(r=l.outlineWidth)?r:1,this.fontOffset+=this.outlineWidth),c&&(this.hasShadow=!0,this.shadowBlur=null!=(i=c.shadowBlur)?i:2,this.shadowColor=null!=(n=c.shadowColor)?n:[0,0,0,1],this.shadowOffsetX=null!=(o=c.shadowOffsetX)?o:0,this.shadowOffsetY=null!=(a=c.shadowOffsetY)?a:0),this.fontStyle!==ee.normal&&(this.fontOffset+=this.fontSize*Math.tan(.20943951))},aW=new(function(){function t(){this.elements=[]}var e=t.prototype;return e.dispose=function(){this.elements.forEach(function(t){return t.remove()}),this.elements.length=0},e.getCanvas=function(){if(0!==this.elements.length)return this.elements.shift();if(oX[oG])return window._createOffscreenCanvas(10,10);var t=document.createElement("canvas");return t.getContext("2d",{willReadFrequently:!0}),t},e.saveCanvas=function(t){t.width=1,t.height=1,this.elements.length<3?e8(this.elements,t):t.remove()},t}()),aZ=["serif","sans-serif","monospace","courier"];t.TextComponent=function(t){function e(e,r){if((i=t.call(this,e,r)||this).isDirty=!0,i.canvas=aW.getCanvas(),aW.saveCanvas(i.canvas),i.context=i.canvas.getContext("2d",{willReadFrequently:!0}),!r)return aH(i);var i,n=r.options;return i.textStyle=new aj(n),i.textLayout=new aY(n),i.text=n.text,i.updateTexture(),i}rS(e,t);var r=e.prototype;return r.setFontSize=function(t){if(this.textStyle.fontSize!==t){var e=this.textStyle.fontSize-t;this.textLayout.lineHeight+=e,this.textStyle.fontSize=t,this.isDirty=!0}},r.setFontWeight=function(t){this.textStyle.textWeight!==t&&(this.textStyle.textWeight=t,this.isDirty=!0)},r.setFontStyle=function(t){this.textStyle.fontStyle!==t&&(this.textStyle.fontStyle=t,this.isDirty=!0)},r.setText=function(t){this.text!==t&&(this.text=t,this.isDirty=!0)},r.setTextAlign=function(t){this.textLayout.textAlign!==t&&(this.textLayout.textAlign=t,this.isDirty=!0)},r.setTextBaseline=function(t){this.textLayout.textBaseline!==t&&(this.textLayout.textBaseline=t,this.isDirty=!0)},r.setTextColor=function(t){this.textStyle.textColor!==t&&(this.textStyle.textColor=t,this.isDirty=!0)},r.setFontFamily=function(t){this.textStyle.fontFamily!==t&&(this.textStyle.fontFamily=t,this.isDirty=!0)},r.setOutlineColor=function(t){this.textStyle.outlineColor!==t&&(this.textStyle.outlineColor=t,this.isDirty=!0)},r.setOutlineWidth=function(t){this.textStyle.outlineWidth!==t&&(this.textStyle.outlineWidth=t,this.isDirty=!0)},r.setShadowBlur=function(t){this.textStyle.shadowBlur!==t&&(this.textStyle.shadowBlur=t,this.isDirty=!0)},r.setShadowColor=function(t){this.textStyle.shadowColor!==t&&(this.textStyle.shadowColor=t,this.isDirty=!0)},r.setShadowOffsetX=function(t){this.textStyle.shadowOffsetX!==t&&(this.textStyle.shadowOffsetX=t,this.isDirty=!0)},r.setShadowOffsetY=function(t){this.textStyle.shadowOffsetY!==t&&(this.textStyle.shadowOffsetY=t,this.isDirty=!0)},r.setFontScale=function(t){this.textStyle.fontScale!==t&&(this.textStyle.fontScale=t,this.isDirty=!0)},r.update=function(e){t.prototype.update.call(this,e),this.updateTexture()},r.updateTexture=function(){if(this.isDirty&&this.context&&this.canvas){var t=this.context,e=this.textStyle,r=this.textLayout,i=e.fontScale,n=(r.width+e.fontOffset)*i,o=r.height*i,a=e.fontSize*i,s=r.lineHeight*i;this.char=(this.text||"").split(""),this.canvas.width=n,this.canvas.height=o,t.clearRect(0,0,n,this.canvas.height),t.fillStyle="rgba(255, 255, 255, 0.0039)",t.fillRect(0,0,n,this.canvas.height),e.fontDesc=this.getFontDesc(),t.font=e.fontDesc,e.hasShadow&&this.setupShadow(),e.isOutlined&&this.setupOutline(),t.fillStyle="rgba("+e.textColor[0]+", "+e.textColor[1]+", "+e.textColor[2]+", "+e.textColor[3]+")";for(var u=[],l=0,c=r.getOffsetY(e)+(s-a)/3,h=[],f=[],m=0;m<this.char.length;m++){var d=this.char[m],p=t.measureText(d);((l+=r.letterSpace*i)+p.width>n&&m>0||"\n"===d)&&(u.push({y:c,width:l,chars:h,charOffsetX:f}),l=0,c+=s,h=[],f=[]),"\n"!==d&&(h.push(d),f.push(l),l+=p.width)}u.push({y:c,width:l,chars:h,charOffsetX:f}),u.forEach(function(i){var n=r.getOffsetX(e,i.width);i.chars.forEach(function(r,o){e.isOutlined&&t.strokeText(r,n+i.charOffsetX[o],i.y),t.fillText(r,n+i.charOffsetX[o],i.y)})}),e.hasShadow&&(t.shadowColor="transparent");var v=t.getImageData(0,0,this.canvas.width,this.canvas.height);this.material.setTexture("uSampler0",ng.createWithData(this.engine,{data:new Uint8Array(v.data),width:v.width,height:v.height},{flipY:!0,magFilter:i0.LINEAR,minFilter:i0.LINEAR,wrapS:i0.CLAMP_TO_EDGE,wrapT:i0.CLAMP_TO_EDGE})),this.isDirty=!1}},r.fromData=function(e){t.prototype.fromData.call(this,e);var r=e.options;this.textStyle=new aj(r),this.textLayout=new aY(r),this.text=r.text,this.updateTexture()},r.getFontDesc=function(){var t=this.textStyle,e=""+(t.fontSize*t.fontScale).toString()+"px ";return aZ.includes(t.fontFamily)?e+=t.fontFamily:e+='"'+t.fontFamily+'"',t.textWeight!==et.normal&&(e=t.textWeight+" "+e),t.fontStyle!==ee.normal&&(e=t.fontStyle+" "+e),e},r.setupOutline=function(){var t=this.context,e=this.textStyle;t.strokeStyle="rgba("+255*e.outlineColor[0]+", "+255*e.outlineColor[1]+", "+255*e.outlineColor[2]+", "+e.outlineColor[3]+")",t.lineWidth=2*e.outlineWidth},r.setupShadow=function(){var t=this.context,e=this.textStyle;t.shadowColor="rgba("+255*e.shadowColor[0]+", "+255*e.shadowColor[1]+", "+255*e.shadowColor[2]+", "+e.shadowColor[3]+")",t.shadowBlur=e.shadowBlur,t.shadowOffsetX=e.shadowOffsetX,t.shadowOffsetY=-e.shadowOffsetY},e}(t.SpriteComponent),t.TextComponent=e1([rj(er.TextComponent)],t.TextComponent);var aq=function(t){function e(){return t.apply(this,arguments)}return rS(e,t),e}(rJ),aK=1;function aQ(t,e){var r=t.type,i=t.pluginName;if(!i)switch(r){case tX.null:i="cal";break;case tX.sprite:i="sprite";break;case tX.particle:i="particle";break;case tX.interact:i="interact";break;case tX.camera:i="camera";break;case tX.text:i="text";break;case tX.tree:i="tree";break;default:throw Error("invalid vfx item type")}return e.pluginSystem.createPluginItem(i,t,e)}t.EffectComponent=function(e){function r(t){var r;return(r=e.call(this,t)||this).worldMatrix=rF.fromIdentity(),r.triangles=[],r.destroyed=!1,r.visible=!1,r.getHitTestParams=function(t){var e=r.getBoundingBox();if(e)return{type:e.type,triangles:e.area}},r.id="Mesh"+aK++,r.name="<unnamed>",r._priority=0,r}rS(r,e);var i=r.prototype;return i.setVisible=function(t){this.visible=t},i.start=function(){this.item.getHitTestParams=this.getHitTestParams},i.render=function(t){t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),t.drawGeometry(this.geometry,this.material)},i.getVisible=function(){return this.visible},i.firstGeometry=function(){return this.geometry},i.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e},i.getBoundingBox=function(){var e=this.transform.getWorldMatrix();this.hitTestGeometry!==this.geometry&&(this.triangles=function(t){for(var e=t.getIndexData(),r=t.getAttributeData("aPos"),i=[],n=0;n<e.length;n+=3){var o=3*e[n],a=3*e[n+1],s=3*e[n+2],u={x:r[o],y:r[o+1],z:r[o+2]},l={x:r[a],y:r[a+1],z:r[a+2]},c={x:r[s],y:r[s+1],z:r[s+2]};i.push({p0:u,p1:l,p2:c})}return i}(this.geometry),this.hitTestGeometry=this.geometry);for(var r,i=[],n=rb(this.triangles);!(r=n()).done;){var o=r.value;i.push({p0:o.p0,p1:o.p1,p2:o.p2})}return i.forEach(function(t){t.p0=e.transformPoint(t.p0,new rV),t.p1=e.transformPoint(t.p1,new rV),t.p2=e.transformPoint(t.p2,new rV)}),{type:t.HitTestType.triangle,area:i}},i.fromData=function(t){e.prototype.fromData.call(this,t),this.material=this.materials[0]},i.toData=function(){this.taggedProperties.id=this.guid},i.dispose=function(t){this.destroyed||(this.destroyed=!0,e.prototype.dispose.call(this))},rC(r,[{key:"isDestroyed",get:function(){return this.destroyed}}]),r}(rQ),e1([rY()],t.EffectComponent.prototype,"geometry",void 0),t.EffectComponent=e1([rj(er.EffectComponent)],t.EffectComponent),t.VFXItem=function(e){function r(t,r){var i;return(i=e.call(this,t)||this).children=[],i.transform=new iB,i.duration=0,i.start=0,i.ended=!1,i.delaying=!0,i.type=tX.base,i.stopped=!1,i.components=[],i.itemBehaviours=[],i.rendererComponents=[],i.visible=!0,i._contentVisible=!1,i.speed=1,i.name="VFXItem",i.transform.name=i.name,i.transform.engine=t,i.addComponent(oF),r&&i.fromData(r),i}rS(r,e);var i=r.prototype;return i.setSpeed=function(t){this.speed=t},i.getSpeed=function(){return this.speed},i.addComponent=function(t){var e=new t(this.engine);return e.item=this,this.components.push(e),e.onAttached(),e},i.getComponent=function(t){for(var e,r,i=rb(this.components);!(r=i()).done;){var n=r.value;if(e$(n,t)){e=n;break}}return e},i.getComponents=function(t){for(var e,r=[],i=rb(this.components);!(e=i()).done;){var n=e.value;e$(n,t)&&r.push(n)}return r},i.setParent=function(t){t!==this&&(this.parent&&e9(this.parent.children,this),this.parent=t,t&&(r.isCamera(this)||(this.transform.parentTransform=t.transform),t.children.push(this),this.composition||(this.composition=t.composition)))},i.stop=function(){this.stopped=!0},i.onEnd=function(){},i.setColor=function(t,e,r,i){},i.setOpacity=function(t){},i.getVisible=function(){return this.visible},i.setVisible=function(t){this.visible!==t&&(this.visible=!!t)},i.getWorldTransform=function(t){var e=null!=t?t:new iB({valid:!0});return e.cloneFromMatrix(this.transform.getWorldMatrix()),e},i.getNodeTransform=function(t){for(var e=0;e<this.components.length;e++){var r=this.components[1];if(r.getNodeTransform)return r.getNodeTransform(t)}return this.transform},i.translate=function(t,e,r){this.transform.translate(t,e,r)},i.rotate=function(t,e,r){var i=new rz(t,e,r),n=rN.fromEuler(i);n.conjugate(),this.transform.rotateByQuat(n)},i.scale=function(t,e,r){this.transform.scaleBy(t,e,r)},i.setPositionByPixel=function(t,e){if(this.composition){var r=this.transform.getWorldPosition().z,i=this.composition.camera.getInverseVPRatio(r),n=i.x,o=i.y,a=this.composition.renderer.getWidth()/2,s=this.composition.renderer.getHeight()/2;this.transform.setPosition(2*t*n/a,-2*e*o/s,r)}},i.setPosition=function(t,e,r){this.transform.setPosition(t,e,r)},i.setRotation=function(t,e,r){this.transform.setRotation(t,e,r)},i.setScale=function(t,e,r){this.transform.setScale(t,e,r)},i.getBoundingBox=function(){},i.getHitTestParams=function(t){},i.getCurrentPosition=function(){var t=new rV;return this.transform.assignWorldTRS(t),t},i.isEnded=function(t){return t-this.duration>.001},i.find=function(t){if(this.name===t)return this;for(var e,r=rb(this.children);!(e=r()).done;){var i=e.value;if(i.name===t)return i}for(var n,o=rb(this.children);!(n=o()).done;){var a=n.value.find(t);if(a)return a}},i.fromData=function(t){e.prototype.fromData.call(this,t);var r=t.id,i=t.name,n=t.delay,o=t.parentId,a=t.endBehavior,s=t.transform,u=t.listIndex,l=t.duration,c=void 0===l?0:l;if(this.props=t,this.type=t.type,this.id=r.toString(),this.name=i,this.start=n||this.start,s&&(s.position=new rV().copyFrom(s.position),s.rotation=new rz().copyFrom(null!=(h=s.eulerHint)?h:s.rotation),s.scale=new rV().copyFrom(s.scale),s.size&&(s.size=new rP().copyFrom(s.size)),s.anchor&&(s.anchor=new rP().copyFrom(s.anchor)),this.transform.setTransform(s)),this.transform.name=this.name,this.transform.engine=this.engine,this.parentId=o,this.duration=c,this.endBehavior=a,this.lifetime=-(this.start/this.duration),this.listIndex=void 0===u?0:u,this.oldId=t.oldId,t.content||(t.content={options:{}}),this.getComponent(oF).fromData(t.content),c<=0)throw Error("Item duration can't be less than 0, see "+iJ["Item duration can't be less than 0"]);if(t.components)for(var h,f,m=rb(t.components);!(f=m()).done;){var d=f.value;this.components.push(d),e$(d,rQ)?this.rendererComponents.push(d):e$(d,rK)&&this.itemBehaviours.push(d)}},i.toData=function(){if(this.taggedProperties.id=this.guid,this.taggedProperties.transform=this.transform.toData(),this.taggedProperties.dataType=er.VFXItemData,(null==(e=this.parent)?void 0:e.name)!=="rootItem"&&(this.taggedProperties.parentId=null==(r=this.parent)?void 0:r.guid),!this.taggedProperties.components){this.taggedProperties.components=[];for(var e,r,i,n=rb(this.components);!(i=n()).done;){var o=i.value;e$(o,t.EffectComponent)&&this.taggedProperties.components.push(o)}}this.taggedProperties.content={}},i.translateByPixel=function(t,e){if(this.composition){var r=this.composition.renderer.canvas.getBoundingClientRect(),i=r.width,n=r.height,o=this.transform.getWorldPosition().z,a=this.composition.camera.getInverseVPRatio(o),s=a.x,u=a.y;this.transform.translate(2*t*s/i,-2*e*u/n,0)}},i.dispose=function(){if(this.resetChildrenParent(),this.composition){this.composition.destroyItem(this);for(var t,e=rb(this.components.slice());!(t=e()).done;)t.value.dispose();this.components=[],this._content=void 0,this.composition=null,this._contentVisible=!1,this.transform.setValid(!1)}},i.resetChildrenParent=function(){for(var t,e,r=rb(this.children);!(e=r()).done;){var i=e.value;this.parent&&i.setParent(this.parent)}this.parent&&e9(null==(t=this.parent)?void 0:t.children,this)},r.isComposition=function(t){return t.type===tX.composition},r.isSprite=function(t){return t.type===tX.sprite},r.isParticle=function(t){return t.type===tX.particle},r.isNull=function(t){return t.type===tX.null},r.isTree=function(t){return t.type===tX.tree},r.isCamera=function(t){return t.type===tX.camera},r.isExtraCamera=function(t){return"extra-camera"===t.id&&"extra-camera"===t.name},rC(r,[{key:"content",get:function(){return this._content}},{key:"reusable",get:function(){var t,e;return null!=(e=null==(t=this.composition)?void 0:t.reusable)&&e}},{key:"lifetimeStarted",get:function(){return!this.delaying}}]),r}(rW),t.VFXItem=e1([rj(er.VFXItemData)],t.VFXItem),t.Item=void 0,(J=t.Item||(t.Item={})).is=function(t,e){return t.type===e},J.isComposition=function(t){return t.type===tX.composition},J.isParticle=function(t){return t.type===tX.particle},J.isNull=function(t){return t.type===tX.null};var aJ={},a$=[],a0={};function a1(t,e,r,i){a0[t]=r,aJ[t]=e,i&&e8(a$,t)}var a2=function(){function e(t){var e={},r=[],i=function(t){var i=aJ[t];r.includes(i)||(r.push(i),e[t]=i)};a$.forEach(i),t.forEach(i),this.plugins=Object.keys(e).map(function(t){var e,r=aJ[t];if(!r)throw Error("plugin '"+t+"' not found."+((e=a3[t])?"\nInstall Plugin: npm i "+e+"@latest --save\nImport Plugin: import '"+e+"'":""));var i=new r;return i.name=t,i}).sort(function(t,e){return t.order-e.order})}var r=e.prototype;return r.initializeComposition=function(t,e){this.plugins.forEach(function(r){return r.onCompositionConstructed(t,e)})},r.destroyComposition=function(t){this.plugins.forEach(function(e){return e.onCompositionDestroyed(t)})},r.resetComposition=function(t,e){this.plugins.forEach(function(r){return r.onCompositionReset(t,e)})},r.createPluginItem=function(e,r,i){var n=a0[e];if(!n)throw Error("plugin "+e+" no registered constructor");var o=new n(i.getEngine(),r,i);if(o.composition=i,!e$(o,t.VFXItem))throw Error("plugin "+e+" invalid constructor type");return o},r.processRawJSON=function(t,e){var r=this;return eJ(function(){return e2(this,function(i){return[2,r.callStatic("processRawJSON",t,e)]})})()},r.callStatic=function(t){for(var e=arguments.length,r=Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];var n=this;return eJ(function(){var e,i,o,a,s,u;return e2(this,function(l){for(o=0,e=[],i=n.plugins;o<i.length;o++)t in(a=aJ[i[o].name])&&e.push(Promise.resolve(null==(u=a[t])?void 0:(s=u).call.apply(s,[].concat([a],r))));return[2,Promise.all(e)]})})()},r.precompile=function(t,e,r){var i=this;return eJ(function(){return e2(this,function(n){return[2,i.callStatic("precompile",t,e,r)]})})()},r.loadResources=function(t,e){var r=this;return eJ(function(){return e2(this,function(i){return[2,r.callStatic("prepareResource",t,e)]})})()},e}(),a3={"alipay-downgrade":"@galacean/effects-plugin-alipay-downgrade","editor-gizmo":"@galacean/effects-plugin-editor-gizmo",tree:"@galacean/effects-plugin-model",model:"@galacean/effects-plugin-model","orientation-transformer":"@galacean/effects-plugin-orientation-transformer",spine:"@galacean/effects-plugin-spine"},a4=function(){return(a4=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)};function a5(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function a6(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,n,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)a.push(i.value)}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return a}function a8(t,e,r){if(r||2==arguments.length)for(var i,n=0,o=e.length;n<o;n++)!i&&n in e||(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return t.concat(i||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;for(var a9={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)},a7=new Uint8Array(16),st=[],se=0;se<256;++se)st.push((se+256).toString(16).slice(1));function sr(t,e){if(!t.includes(e))return t.push(e),!0}function si(t){if(Number.isFinite(t))return[eS.CONSTANT,t];if(t){var e=t[0],r=t[1];if(Array.isArray(e))return;if("static"===e||e===eS.CONSTANT)return[eS.CONSTANT,t[1]];if("lines"===e)return[eS.LINE,t[1]];if(e===eS.LINE){var i=r.map(function(t){return[eR.LINE,t]});return[eS.BEZIER_CURVE,i]}return"curve"===e||e===eS.CURVE?[eS.BEZIER_CURVE,sT(r)]:t}}function sn(t,e){return Array.isArray(t)&&"random"===t[0]?[eS.CONSTANT,t[1][e]]:si(t)}function so(t){return t&&"color"===t[0]?su(t[1],!0):[1,1,1,1]}function sa(t){return t&&"random"===t[0]?[eS.RANDOM,t[1]]:si(t)}function ss(t,e){if(t){var r=[];return Object.getOwnPropertyNames(t).forEach(function(i){var n,o=(n=/^(-)?([\d+.]+)%$/.exec(i))?+n[2]/100*(n[1]?-1:1):+i,a=su(t[i],e);r.push([o,a[0],a[1],a[2],a[3]])}),r=r.sort(function(t,e){return t[0]-e[0]}),[eS.GRADIENT_COLOR,r]}}function su(t,e){var r;if("string"==typeof t){t=t.replace(/[\s\t\r\n]/g,"");var i=/rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(t);if(i){var n=+i[4];r=[+i[1],+i[2],+i[3],isNaN(n)?255:Math.round(255*n)]}else/^#[a-f\d]{3}$/i.test(t)?r=[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),255]:(i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t))&&(r=[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16),255])}else e$(t,Array)&&(r=[t[0],t[1],t[2],isNaN(t[3])?255:Math.round(255*t[3])]);return e&&(r=function(t){if(Array.isArray(t))return t.map(function(t){return Number.isFinite(t/255)?Number((t/255).toFixed(6)):0})}(r)),r}function sl(t,e){return Array.isArray(t)?t[0]===eS.GRADIENT_COLOR?t:("gradient"===t[0]||"color"===t[0])&&ss(t[1],e):ss(t,e)}function sc(t){if(t){if(3===t.length)return[eS.CONSTANT_VEC3,t];var e=t[0];if("path"===e||"bezier"===e||e===eS.BEZIER_PATH||e===eS.LINEAR_PATH){var r=t[1],i=r[0],n=r[1],o=r[2],a=sT(i);if(!o){o=[];for(var s=0;s<n.length;s++){var u=n[s].slice();0===s||s<n.length-1&&o.push(u),o.push(u)}}return[eS.BEZIER_CURVE_PATH,[a,n,o]]}return t}}function sh(t){var e,r;try{for(var i=a5(Object.keys(t)),n=i.next();!n.done;n=i.next()){var o=n.value;t[o]=Number(t[o])}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return t}function sf(t){var e,r;try{for(var i=a5(Object.keys(t)),n=i.next();!n.done;n=i.next()){var o=n.value;void 0===t[o]&&delete t[o]}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return t}($=eh||(eh={})).S="S",$.APlus="A+",$.A="A",$.BPlus="B+",$.B="B",(tt=ef||(ef={}))[tt.ALPHA=0]="ALPHA",tt[tt.ADD=1]="ADD",tt[tt.MULTIPLY=2]="MULTIPLY",tt[tt.BRIGHTNESS=3]="BRIGHTNESS",tt[tt.SUBTRACTION=4]="SUBTRACTION",tt[tt.STRONG_LIGHT=5]="STRONG_LIGHT",tt[tt.WEAK_LIGHT=6]="WEAK_LIGHT",tt[tt.SUPERPOSITION=7]="SUPERPOSITION",(te=em||(em={}))[te.DOUBLE=1032]="DOUBLE",te[te.FRONT=1028]="FRONT",te[te.BACK=1029]="BACK",(tr=ed||(ed={}))[tr.NONE=0]="NONE",tr[tr.MASK=1]="MASK",tr[tr.OBSCURED=2]="OBSCURED",tr[tr.REVERSE_OBSCURED=3]="REVERSE_OBSCURED",(ti=ep||(ep={}))[ti.NONE=0]="NONE",ti[ti.SPHERE=1]="SPHERE",ti[ti.CONE=2]="CONE",ti[ti.HEMISPHERE=3]="HEMISPHERE",ti[ti.CIRCLE=4]="CIRCLE",ti[ti.DONUT=5]="DONUT",ti[ti.RECTANGLE=6]="RECTANGLE",ti[ti.RECTANGLE_EDGE=7]="RECTANGLE_EDGE",ti[ti.EDGE=8]="EDGE",ti[ti.TEXTURE=9]="TEXTURE",(tn=ev||(ev={}))[tn.GYROSCOPE=0]="GYROSCOPE",tn[tn.SPINE=1]="SPINE",(to=ey||(ey={}))[to.CLICK=0]="CLICK",to[to.MESSAGE=1]="MESSAGE",to[to.DRAG=2]="DRAG",(ta=eg||(eg={}))[ta.NONE=0]="NONE",ta[ta.NOTIFY=1]="NOTIFY",ta[ta.RESUME_PLAYER=2]="RESUME_PLAYER",ta[ta.REMOVE=3]="REMOVE",ta[ta.PAUSE=4]="PAUSE",(ts=ex||(ex={})).base="0",ts.sprite="1",ts.particle="2",ts.null="3",ts.interact="4",ts.plugin="5",ts.camera="6",ts.composition="7",ts.spine="spine",ts.mesh="mesh",ts.tree="tree",ts.text="text",ts.light="light",ts.skybox="skybox",ts.effect="effect",(tu=eT||(eT={}))[tu.BILLBOARD=0]="BILLBOARD",tu[tu.MESH=1]="MESH",tu[tu.VERTICAL_BILLBOARD=2]="VERTICAL_BILLBOARD",tu[tu.HORIZONTAL_BILLBOARD=3]="HORIZONTAL_BILLBOARD",(tl=eE||(eE={}))[tl.PARTICLE_ORIGIN_CENTER=0]="PARTICLE_ORIGIN_CENTER",tl[tl.PARTICLE_ORIGIN_LEFT_TOP=1]="PARTICLE_ORIGIN_LEFT_TOP",tl[tl.PARTICLE_ORIGIN_LEFT_CENTER=2]="PARTICLE_ORIGIN_LEFT_CENTER",tl[tl.PARTICLE_ORIGIN_LEFT_BOTTOM=3]="PARTICLE_ORIGIN_LEFT_BOTTOM",tl[tl.PARTICLE_ORIGIN_CENTER_TOP=4]="PARTICLE_ORIGIN_CENTER_TOP",tl[tl.PARTICLE_ORIGIN_CENTER_BOTTOM=5]="PARTICLE_ORIGIN_CENTER_BOTTOM",tl[tl.PARTICLE_ORIGIN_RIGHT_TOP=6]="PARTICLE_ORIGIN_RIGHT_TOP",tl[tl.PARTICLE_ORIGIN_RIGHT_CENTER=7]="PARTICLE_ORIGIN_RIGHT_CENTER",tl[tl.PARTICLE_ORIGIN_RIGHT_BOTTOM=8]="PARTICLE_ORIGIN_RIGHT_BOTTOM",(tc=e_||(e_={}))[tc.portrait=1]="portrait",tc[tc.landscape=0]="landscape",(th=eC||(eC={}))[th.destroy=0]="destroy",th[th.pause=1]="pause",th[th.restart=5]="restart",th[th.forward=2]="forward",th[th.pause_destroy=3]="pause_destroy",th[th.freeze=4]="freeze",(tf=eA||(eA={})).video="video",tf.image="image",(tm=eS||(eS={}))[tm.CONSTANT=0]="CONSTANT",tm[tm.CONSTANT_VEC2=1]="CONSTANT_VEC2",tm[tm.CONSTANT_VEC3=2]="CONSTANT_VEC3",tm[tm.CONSTANT_VEC4=3]="CONSTANT_VEC4",tm[tm.RANDOM=4]="RANDOM",tm[tm.LINE=5]="LINE",tm[tm.CURVE=6]="CURVE",tm[tm.BEZIER_PATH=7]="BEZIER_PATH",tm[tm.RGBA_COLOR=8]="RGBA_COLOR",tm[tm.GRADIENT_COLOR=9]="GRADIENT_COLOR",tm[tm.SHAPE_POINTS=10]="SHAPE_POINTS",tm[tm.SHAPE_SPLITS=11]="SHAPE_SPLITS",tm[tm.LINEAR_PATH=12]="LINEAR_PATH",tm[tm.COLORS=13]="COLORS",tm[tm.BINARY=20]="BINARY",tm[tm.BEZIER_CURVE=21]="BEZIER_CURVE",tm[tm.BEZIER_CURVE_PATH=22]="BEZIER_CURVE_PATH",(td=eR||(eR={}))[td.AUTO=0]="AUTO",td[td.EASE=1]="EASE",td[td.EASE_IN=2]="EASE_IN",td[td.EASE_OUT=3]="EASE_OUT",td[td.LINE=4]="LINE",td[td.HOLD=5]="HOLD",td[td.LINE_OUT=6]="LINE_OUT",(tp=eb||(eb={}))[tp.destroy=0]="destroy",tp[tp.loop=5]="loop",tp[tp.freeze=4]="freeze",(tv=eO||(eO={}))[tv.destroyChildren=6]="destroyChildren",(ty=ew||(ew={}))[ty.none=0]="none",ty[ty.removeParticle=1]="removeParticle",(tg=eI||(eI={}))[tg.RANDOM=0]="RANDOM",tg[tg.UNIDIRECTIONAL_CYCLE=1]="UNIDIRECTIONAL_CYCLE",tg[tg.BIDIRECTIONAL_CYCLE=2]="BIDIRECTIONAL_CYCLE",tg[tg.UNIFORM_BURST=3]="UNIFORM_BURST",(tx=eL||(eL={})).point="point",tx.spot="spot",tx.directional="directional",tx.ambient="ambient",(tT=eM||(eM={}))[tT.box=2]="box",tT[tT.sphere=3]="sphere",(tE=eP||(eP={})).orthographic="orthographic",tE.perspective="perspective",(t_=eV||(eV={})).unlit="unlit",t_.pbr="pbr",t_.hair="hair",(tC=eN||(eN={}))[tC.opaque=100]="opaque",tC[tC.masked=101]="masked",tC[tC.translucent=102]="translucent",tC[tC.additive=103]="additive",(tA=eF||(eF={})).none="none",tA.uv="uv",tA.normal="normal",tA.basecolor="basecolor",tA.alpha="alpha",tA.metallic="metallic",tA.roughness="roughness",tA.ao="ao",tA.emissive="emissive",(tS=ez||(ez={}))[tS.display=0]="display",tS[tS.clip=1]="clip",tS[tS.ellipsis=2]="ellipsis",(tR=eD||(eD={}))[tR.top=0]="top",tR[tR.middle=1]="middle",tR[tR.bottom=2]="bottom",(tb=eU||(eU={}))[tb.left=0]="left",tb[tb.middle=1]="middle",tb[tb.right=2]="right",(tO=ek||(ek={})).normal="normal",tO.bold="bold",tO.lighter="lighter",(tw=eB||(eB={})).normal="normal",tw.italic="italic",tw.oblique="oblique",(tI=eG||(eG={})).VFXItemData="VFXItemData",tI.EffectComponent="EffectComponent",tI.Material="Material",tI.Shader="Shader",tI.SpriteComponent="SpriteComponent",tI.ParticleSystem="ParticleSystem",tI.InteractComponent="InteractComponent",tI.CameraController="CameraController",tI.Geometry="Geometry",tI.Texture="Texture",tI.TextComponent="TextComponent",tI.MeshComponent="MeshComponent",tI.SkyboxComponent="SkyboxComponent",tI.LightComponent="LightComponent",tI.CameraComponent="CameraComponent",tI.ModelPluginComponent="ModelPluginComponent",tI.TreeComponent="TreeComponent",(tL=eX||(eX={}))[tL.POINTS=0]="POINTS",tL[tL.LINES=1]="LINES",tL[tL.LINE_LOOP=2]="LINE_LOOP",tL[tL.LINE_STRIP=3]="LINE_STRIP",tL[tL.TRIANGLES=4]="TRIANGLES",tL[tL.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",tL[tL.TRIANGLE_FAN=6]="TRIANGLE_FAN";var sm=Math.cos,sd=Math.sin,sp=Math.PI/180,sv=180/Math.PI;function sy(){return(function(t,e,r){if(a9.randomUUID&&!t)return a9.randomUUID();var i,n=(t=t||{}).random||(t.rng||function(){if(!ec&&!(ec="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ec(a7)})();return n[6]=15&n[6]|64,n[8]=63&n[8]|128,void 0===i&&(i=0),st[n[i+0]]+st[n[i+1]]+st[n[i+2]]+st[n[i+3]]+"-"+st[n[i+4]]+st[n[i+5]]+"-"+st[n[i+6]]+st[n[i+7]]+"-"+st[n[i+8]]+st[n[i+9]]+"-"+st[n[i+10]]+st[n[i+11]]+st[n[i+12]]+st[n[i+13]]+st[n[i+14]]+st[n[i+15]]})().replace(/-/g,"")}function sg(t,e){return t?[t[0]-.5,.5-t[1]]:e?sx[e]:[0,0]}var sx=((eH={})[eE.PARTICLE_ORIGIN_CENTER]=[0,0],eH[eE.PARTICLE_ORIGIN_CENTER_BOTTOM]=[0,-.5],eH[eE.PARTICLE_ORIGIN_CENTER_TOP]=[0,.5],eH[eE.PARTICLE_ORIGIN_LEFT_TOP]=[-.5,.5],eH[eE.PARTICLE_ORIGIN_LEFT_CENTER]=[-.5,0],eH[eE.PARTICLE_ORIGIN_LEFT_BOTTOM]=[-.5,-.5],eH[eE.PARTICLE_ORIGIN_RIGHT_CENTER]=[.5,0],eH[eE.PARTICLE_ORIGIN_RIGHT_BOTTOM]=[.5,-.5],eH[eE.PARTICLE_ORIGIN_RIGHT_TOP]=[.5,.5],eH);function sT(t){for(var e=-1e6,r=1e6,i=0;i<t.length;i++)e=Math.max(e,t[i][1]),r=Math.min(r,t[i][1]);for(var n=[[t[0][0],t[0][1]]],i=0;i<t.length-1;i++){var o=t[i][3]*(e-r),a=t[i+1][2]*(e-r),s=[t[i][0],t[i][1]],u=[t[i+1][0],t[i+1][1]];if(s[0]!=u[0]){var l=function(t,e,r,i){var n=r[0],o=r[1],a=i[0],s=i[1],u=a-n;return[[n+(a-n)/3,o+(t*=u)/3],[a-(a-n)/3,s-(e*=u)/3]]}(o,a,s,u),c=l[0],h=l[1];n[n.length-1].push(c[0]),n[n.length-1].push(c[1]),n.push([h[0],h[1],u[0],u[1]])}else n[n.length-1].push(u[0]),n[n.length-1].push(u[1])}return n.map(function(t,e){return 0===e?[eR.EASE_OUT,t]:e===n.length-1?[eR.EASE_IN,t]:[eR.EASE,t]})}function sE(t,e){var r,i=t.options,n=t.velocityOverLifetime||{},o={path:sc(null===(r=t.transform)||void 0===r?void 0:r.path),gravity:i.gravity,gravityOverLifetime:si(i.gravityModifier),direction:i.direction,startSpeed:i.startSpeed,asMovement:n.asMovement,linearX:si(n.linearX),linearY:si(n.linearY),linearZ:si(n.linearZ),asRotation:n.asRotation,orbCenter:n.orbCenter,orbitalX:si(n.orbitalX),orbitalY:si(n.orbitalY),orbitalZ:si(n.orbitalZ),speedOverLifetime:si(n.speedOverLifetime)};sf(o);var a={options:{startColor:so(i.startColor)},positionOverLifetime:o};i.startSize&&(e.scale=[i.startSize,i.startSize/(i.sizeAspect||1),1]),i.startRotation&&(e.rotation?e.rotation[2]+=i.startRotation:e.rotation=[0,0,i.startRotation]);var s=t.rotationOverLifetime;if(s){var u=a.rotationOverLifetime={separateAxes:s.separateAxes,asRotation:s.asRotation};u.separateAxes?(u.x=si(s.x),u.y=si(s.y),u.z=si(s.z)):u.z=si(s.angularVelocity)}var l=t.colorOverLifetime;if(l){var c=a.colorOverLifetime={opacity:si(l.opacity)};l.color&&(c.color=sl(l.color))}var h=t.sizeOverLifetime;return h&&(a.sizeOverLifetime={separateAxes:h.separateAxes,size:si(h.size),x:si(h.x),y:si(h.y),z:si(h.z)}),a}function s_(t){return t.compositions.forEach(function(t){t.items.forEach(function(t){t.type===ex.null&&t.endBehavior===eb.destroy&&(t.endBehavior=eb.freeze)})}),t.version="2.1",t}function sC(t){var e,r,i,n,o,a,s,u,l,c,h,f,m=a4(a4({},t),{items:[],components:[],materials:[],shaders:[],geometries:[]});if(null!==(o=m.textures)&&void 0!==o||(m.textures=[]),m.textures.forEach(function(t){t.id=sy(),t.dataType=eG.Texture}),m.textures.length<m.images.length)for(var d=m.textures.length;d<m.images.length;d++)m.textures.push({id:sy(),dataType:eG.Texture,source:d,flipY:!0});var p={},v=function(t){(3===t.endBehavior||1===t.endBehavior)&&(t.endBehavior=4),t.items=t.items.filter(function(t){return"8"!==t.type}),t.items.forEach(function(t){t.type===ex.particle&&t.content.filter&&delete t.content.filter});var e,r,i={};try{for(var n=(e=void 0,a5(t.items)),o=n.next();!o.done;o=n.next()){var a=o.value;i[a.id]=sy(),a.oldId=a.id,a.id=i[a.id]}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}t.items.forEach(function(e,r){if(e.parentId){if(e.parentId.includes("^")){var n=e.parentId.split("^")[0],o=e.parentId.split("^")[1];e.parentId=i[n]+"^"+o}else e.parentId=i[e.parentId]}m.items.push(e),t.items[r]={id:e.id}})};try{for(var y=a5(t.compositions),g=y.next();!g.done;g=y.next()){var x=g.value;v(x)}}catch(t){e={error:t}}finally{try{g&&!g.done&&(r=y.return)&&r.call(y)}finally{if(e)throw e.error}}try{for(var T=a5(m.items),E=T.next();!E.done;E=T.next()){var _=E.value;if(_.content){if(_.content.renderer&&void 0!==_.content.renderer.texture){var C=_.content.renderer.texture;_.content.renderer.texture={id:m.textures[C].id}}if(_.content.trails&&void 0!==_.content.trails.texture){var C=_.content.trails.texture;_.content.trails.texture={id:m.textures[C].id}}}if(_.transform){var A=a8([],a6(null!==(a=_.transform.position)&&void 0!==a?a:[0,0,0]),!1),S=a8([],a6(null!==(s=_.transform.rotation)&&void 0!==s?s:[0,0,0]),!1),R=a8([],a6(null!==(u=_.transform.scale)&&void 0!==u?u:[1,1,1]),!1);if(Object.assign(_,{transform:{position:{x:A[0],y:A[1],z:A[2]},eulerHint:{x:S[0],y:S[1],z:S[2]},scale:{x:R[0],y:R[1],z:R[0]}}}),_.type===ex.sprite&&(_.transform.size={x:R[0],y:R[1]},_.transform.scale={x:1,y:1,z:1}),_.type===ex.sprite){var b=_.content;b.renderer||(b.renderer={});var O=b.renderer,w=sg(O.anchor,O.particleOrigin),I=_.transform.size;O.anchor||void 0===O.particleOrigin||(_.transform.position.x+=-w[0]*(null!==(l=null==I?void 0:I.x)&&void 0!==l?l:1),_.transform.position.y+=-w[1]*(null!==(c=null==I?void 0:I.y)&&void 0!==c?c:1)),_.transform.anchor={x:w[0]*(null!==(h=null==I?void 0:I.x)&&void 0!==h?h:1),y:w[1]*(null!==(f=null==I?void 0:I.y)&&void 0!==f?f:1)}}}if(_.type===ex.particle){var b=_.content;b.renderer||(b.renderer={});var O=b.renderer;b.renderer.anchor=sg(O.anchor,O.particleOrigin)}_.content.tracks=[];var L=_.content.tracks;_.type!==ex.particle&&L.push({clips:[{dataType:"TransformAnimationPlayableAsset",animationClip:{sizeOverLifetime:_.content.sizeOverLifetime,rotationOverLifetime:_.content.rotationOverLifetime,positionOverLifetime:_.content.positionOverLifetime}}]}),_.type===ex.sprite&&L.push({clips:[{dataType:"SpriteColorAnimationPlayableAsset",animationClip:{colorOverLifetime:_.content.colorOverLifetime,startColor:_.content.options.startColor}}]}),_.content.options.target&&(_.content.options.target=p[_.content.options.target]);var M=sy();switch((_.type===ex.sprite||_.type===ex.particle||_.type===ex.mesh||_.type===ex.skybox||_.type===ex.light||"camera"===_.type||_.type===ex.tree||_.type===ex.interact||_.type===ex.camera||_.type===ex.text)&&(_.components=[],m.components.push(_.content),_.content.id=M,_.content.item={id:_.id},_.dataType=eG.VFXItemData,_.components.push({id:_.content.id})),_.type){case ex.sprite:_.content.dataType=eG.SpriteComponent;break;case ex.particle:_.content.dataType=eG.ParticleSystem;break;case ex.mesh:_.content.dataType=eG.MeshComponent;break;case ex.skybox:_.content.dataType=eG.SkyboxComponent;break;case ex.light:_.content.dataType=eG.LightComponent;break;case"camera":_.content.dataType=eG.CameraComponent;break;case ex.tree:_.content.dataType=eG.TreeComponent;break;case ex.interact:_.content.dataType=eG.InteractComponent;break;case ex.camera:_.content.dataType=eG.CameraController;break;case ex.text:_.content.dataType=eG.TextComponent}}}catch(t){i={error:t}}finally{try{E&&!E.done&&(n=T.return)&&n.call(T)}finally{if(i)throw i.error}}return m.version="3.0",m}var sA=/^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/,sS=/^(\d+)\.(\d+)$/,sR=!1;function sb(t){if(!t||"object"!=typeof t)throw Error("expect a json object");if(!(f=null===(h=(c=t).version)||void 0===h?void 0:h.split("."))||Number(f[0])>2||2===Number(f[0])&&Number(f[1])>=2||c.compositions.forEach(function(t){t.items.forEach(function(t){(t.type===ex.mesh||t.type===ex.light)&&(t.endBehavior=1===t.endBehavior?eb.destroy:t.endBehavior)})}),sA.test(t.version)){var e,r,i,n,o,a,s,u;return sR=(null===(m=/^(\d+)/.exec(t.version))||void 0===m?void 0:m[0])==="0",sC(s_((sO="1.0",n=(e=t).plugins||[],(null===(r=e.bins)||void 0===r?void 0:r.length)&&(sO="1.3"),o=(e.requires||[]).slice(),a=e.images.map(function(t,r){return sw(t,r,e.imageTags||[])}),s=e.textures||a.map(function(t,e){return{source:e,flipY:!0}}),u={plugins:n,shapes:e.shapes||[],type:"ge",version:sO,playerVersion:null!==(i=e.playerVersion)&&void 0!==i?i:{web:"",native:""},compositionId:e.compositionId+"",compositions:e.compositions.map(function(t){return sI(t,{plugins:n,requires:o})}),images:a,imgUsage:e._imgs,binUsage:e.binUsage,spines:e.spines,requires:e.requires,textures:s,bins:(e.bins||[]).slice()},e._textures&&(u._textures=e._textures),u)))}var l,c,h,f,m,d=sS.exec(t.version)||[],p=Number(d[1]),v=Number(d[2]);if(p)return(p<2||2===p&&v<4)&&((l=t).compositions.map(function(t){var e,r;try{for(var i=a5(t.items),n=i.next();!n.done;n=i.next()){var o=n.value;(function t(e){var r,i;if(e)try{for(var n=a5(Object.keys(e)),o=n.next();!o.done;o=n.next()){var a=o.value,s=e[a],u=Array.isArray(s);u&&2===s.length&&Array.isArray(s[1])?"path"===a?e[a]=sc(s):e[a]=si(s):u||"object"!=typeof s||t(s)}}catch(t){r={error:t}}finally{try{o&&!o.done&&(i=n.return)&&i.call(n)}finally{if(r)throw r.error}}})(o.content)}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}}),t=l),p<3?sC(s_(t)):t;throw Error("invalid json version "+t.version)}var sO="1.0";function sw(t,e,r){var i=r[e],n=t.oriY;if("string"==typeof t)return{renderLevel:i,url:t,oriY:n};if(t.template)return{url:t.url,template:t.template,webp:t.webp,renderLevel:i,oriY:n};if(t.compressed)return{url:t.url,oriY:n,compressed:{astc:t.compressed.android,pvrtc:t.compressed.iOS},webp:t.webp,renderLevel:i};if(t.url)return{url:t.url,webp:t.webp,renderLevel:i,oriY:n};if(t&&t.sourceType)return t;throw Error("invalid image type")}function sI(t,e){void 0===e&&(e={});var r,i={id:t.id+"",camera:a4({clipMode:0},t.camera),duration:t.duration,endBehavior:t.endBehavior,items:t.items.map(function(t){return sM(t,e)}),name:t.name},n=t.startTime||t.st;n&&(i.startTime=n);var o=null===(r=t.meta)||void 0===r?void 0:r.previewSize;return o&&o[0]===o[1]&&0===o[0]&&(o=void 0),o&&(i.previewSize=o),i}var sL=[0,0,0,1];function sM(t,e){void 0===e&&(e={});var r,i,n,o,a,s,u,l,c,h,f,m,d=ex.base,p=t.endBehavior,v=NaN;if(t.content?(d=t.type||ex.plugin,m=t.pn,f=t.pluginName,c=t.content,l=t.content,isNaN(m)&&!f&&(f=c.options.type),t.duration&&(v=t.duration),u=t.transform||T(l.transform)):t.particle?(d=ex.particle,u=T((l=t.particle).transform,sR,!0),c=function(t){var e,r=t.options,i=t.transform,n={type:ep.NONE};if(t.shape){var o=null===(e=t.shape.shape)||void 0===e?void 0:e.replace(/([A-Z])/g,"_$1").toUpperCase().replace(/^_/,"");if(n=a4(a4({},t.shape),{type:ep[o]}),t.shape.upDirection){var a=a6(t.shape.upDirection,3),s=a[0],u=a[1],l=a[2];0===s&&0===u&&0===l&&delete n.upDirection}}r.startTurbulence&&(n.turbulenceX=sa(r.turbulenceX),n.turbulenceY=sa(r.turbulenceY),n.turbulenceZ=sa(r.turbulenceZ));var c=t.emission;c.bursts&&c.bursts.length>0&&(c.bursts=c.bursts.map(function(t){return sh(t)})),c.burstOffsets&&c.burstOffsets.length>0&&(c.burstOffsets=c.burstOffsets.map(function(t){return sh(t)})),c.rateOverTime&&(c.rateOverTime=sa(c.rateOverTime));var h={renderer:t.renderer,shape:n,splits:t.splits,emission:c,options:{startLifetime:sa(r.startLifetime),start3DSize:!!r.start3DSize,startSize:sa(r.startSize),startSizeX:sa(r.startSizeX),startSizeY:sa(r.startSizeY),sizeAspect:sa(r.sizeAspect),maxCount:r.maxCount,startDelay:sa(r.startDelay),startColor:function(t,e){if(t)return"colors"===t[0]?[eS.COLORS,t[1].map(function(t){return su(t,e)})]:"gradient"===t[0]?ss(t[1],e):"color"===t[0]?[eS.RGBA_COLOR,su(t[1],e)]:t}(r.startColor,!0),startRotationZ:sa(r.startRotation||r.startRotationZ),particleFollowParent:r.particleFollowParent}};r.start3DRotation&&(h.options.startRotationX=sa(r.startRotationX),h.options.startRotationY=sa(r.startRotationY)),i&&i.path&&(h.emitterTransform={path:sc(i.path)});var f=t.sizeOverLifetime;f&&(f.separateAxes?h.sizeOverLifetime={separateAxes:!0,x:sa(f.x),y:sa(f.y)}:h.sizeOverLifetime={size:sa(f.size)});var m=t.velocityOverLifetime||{},d=m.speedOverLifetime;d=d?si(d):void 0,h.positionOverLifetime={gravity:r.gravity,gravityOverLifetime:si(r.gravityModifier),startSpeed:sa(r.startSpeed),speedOverLifetime:d,asMovement:m.asMovement,linearX:sa(m.linearX),linearY:sa(m.linearY),linearZ:sa(m.linearZ),asRotation:m.asRotation,orbCenter:m.orbCenter,orbitalX:sa(m.orbitalX),orbitalY:sa(m.orbitalY),orbitalZ:sa(m.orbitalZ),forceTarget:m.forceTarget,target:m.target,forceCurve:si(m.forceCurve)},sf(h.positionOverLifetime);var p=t.rotationOverLifetime;p&&(h.rotationOverLifetime={separateAxes:p.separateAxes,asRotation:p.asRotation,z:sa(p.separateAxes?p.z:p.angularVelocity)},p.separateAxes&&(h.rotationOverLifetime.y=si(p.y),h.rotationOverLifetime.x=si(p.x)));var v=t.colorOverLifetime;if(v){var y=h.colorOverLifetime={opacity:si(v.opacity)};v.color&&(y.color=sl(v.color))}var g=t.textureSheetAnimation;g&&(h.textureSheetAnimation={row:g.row,col:g.col,total:g.total,animate:g.animate,cycles:si(g.cycles),animationDelay:sn(g.animationDelay,0),animationDuration:sn(g.animationDuration,0)});var x=t.trails;x&&(h.trails={lifetime:sa(x.lifetime),dieWithParticles:x.dieWithParticles,maxPointPerTrail:x.maxPointPerTrail,minimumVertexDistance:x.minimumVertexDistance,widthOverTrail:si(x.widthOverTrail),colorOverTrail:x.colorOverTrail&&sl(x.colorOverTrail,!1),blending:x.blending,colorOverLifetime:x.colorOverLifetime&&sl(x.colorOverLifetime,!1),inheritParticleColor:x.inheritParticleColor,occlusion:x.occlusion,transparentOcclusion:x.transparentOcclusion,orderOffset:x.orderOffset,sizeAffectsLifetime:x.sizeAffectsLifetime,sizeAffectsWidth:x.sizeAffectsWidth,texture:x.texture,parentAffectsPosition:x.parentAffectsPosition,opacityOverLifetime:sa(x.opacityOverLifetime)}),h.trails&&sf(h.trails);var T=t.interaction;return T&&(h.interaction={behavior:T.behavior,radius:T.radius,multiple:T.multiple}),h}(l)):t.sprite?(d=ex.sprite,u=T((l=t.sprite).transform,!1,!0),i=sE(r=l,u),(n=r.textureSheetAnimation)&&(i.textureSheetAnimation={row:n.row,col:n.col,total:n.total||void 0,animate:n.animate}),i.renderer=r.renderer,r.splits&&(i.splits=r.splits),r.interaction&&(i.interaction=r.interaction),c=i):t.cal?(d=ex.null,u=T((l=t.cal).transform,!1,!0),c=sE(l,u)):t.ui?(d=ex.interact,u=T((l=t.ui).transform),c=function(t){var e,r=t.options;switch(r.type){case"click":e={type:ey.CLICK,showPreview:r.showPreview,previewColor:r.previewColor&&so(r.previewColor),behavior:r.behavior||eg.NOTIFY};break;case"drag":e={type:ey.DRAG,enableInEditor:!!r.enableInEditor,dxRange:r.dxRange,dyRange:r.dyRange,target:r.target};break;case"message":e={type:ey.MESSAGE}}return{options:e}}(l),u.scale=[l.options.width||1,l.options.height||1,1]):t.model&&(l=t.model,1===t.model.options.type&&(d=ex.camera,u=T(l.transform),c=function(t){var e,r,i=t.options,n={options:{fov:i.fov,far:i.far,near:i.near,clipMode:i.clipMode}},o=t.velocityOverLifetime;if(o||(null===(e=t.transform)||void 0===e?void 0:e.path)){var a={path:sc(null===(r=t.transform)||void 0===r?void 0:r.path),linearX:si(null==o?void 0:o.translateX),linearY:si(null==o?void 0:o.translateY),linearZ:si(null==o?void 0:o.translateZ)};sf(a),n.positionOverLifetime=a}var s=t.rotationOverLifetime;if(s){var u={separateAxes:s.separateAxes,x:si(null==s?void 0:s.rotateX),y:si(null==s?void 0:s.rotateY),z:s.separateAxes?si(null==s?void 0:s.rotateZ):si(s.rotation)};sf(u),n.rotationOverLifetime=u}return n}(l))),null===(o=c.renderer)||void 0===o?void 0:o.anchor){var y=new Float32Array(c.renderer.anchor);.5==y[0]&&.5==y[1]?delete c.renderer.anchor:e.requires&&sr(e.requires,"anchor")}if(l){var g=null===(a=l.options)||void 0===a?void 0:a.looping;p=g?Array.isArray(g)?g[1]?eb.loop:eb.destroy:eb.loop:p||(null===(s=null==l?void 0:l.options)||void 0===s?void 0:s.endBehavior)||eb.destroy,l.options.renderLevel&&(h=l.options.renderLevel),isNaN(v)&&(v=l.options.duration)}var x={type:d,name:t.name,delay:t.delay,duration:v,id:t.id+"",transform:u,endBehavior:p,renderLevel:h,content:c};return f?e.plugins?(sr(e.plugins,f),x.pn=e.plugins.indexOf(f)):x.pluginName=f:Number.isInteger(m)&&(x.pn=m),t.parentId&&(x.parentId=t.parentId+""),x;function T(t,e,r){if(t){var i={},n=t.rotation;if(n&&(e?i.rotation=[-n[0],-n[1],-n[2]]:i.rotation=[n[0],n[1],n[2]],r)){var o,a,s,u,l,c,h,f,m,d,p,v,y,g,x,T,E,_,C,A,S,R,b,O,w=(o=i.rotation[0],a=i.rotation[1],s=i.rotation[2],u=sm(o*sp/2),l=sm(a*sp/2),c=sm(s*sp/2),h=sd(o*sp/2),f=sd(a*sp/2),m=sd(s*sp/2),sL[0]=h*l*c+u*f*m,sL[1]=u*f*c-h*l*m,sL[2]=u*l*m+h*f*c,sL[3]=u*l*c-h*f*m,sL);i.rotation=(d=[],p=w[0],v=w[1],y=w[2],g=w[3],x=p+p,T=v+v,E=y+y,_=p*x,C=v*x,A=v*T,S=y*E,R=g*E,b=y*x-g*T,d[1]=Math.asin((O=-b)>1?1:O<-1?-1:O)*sv,.9999999>Math.abs(b)?(d[0]=Math.atan2(y*T+g*x,1-_-A)*sv,d[2]=Math.atan2(C+R,1-A-S)*sv):(d[0]=0,d[2]=Math.atan2(-(C-R),1-_-S)*sv),d)}return t.position&&(i.position=t.position),Array.isArray(t.scale)&&(i.scale=[t.scale[0]||1,t.scale[1]||1,t.scale[2]||1]),i}return{}}}var sP=((eY={})[tN.S]=[tN.S,tN.BPlus,tN.APlus],eY[tN.A]=[tN.A,tN.BPlus,tN.APlus],eY[tN.B]=[tN.B,tN.BPlus],eY);function sV(t,e){if(!t||!e)return!0;var r=sP[e];return!!r&&r.includes(t)}function sN(t){return rg(t)&&"jsonScene"in t}function sF(t){return rg(t)&&"url"in t}function sz(t){return rg(t)&&"options"in t}function sD(t,e){var r,i,n=null!=(i=null==t?void 0:t.background)?i:{},o=n.name,a=n.url;return o&&(e&&e[o]?r=e[o]:a&&(r=a)),r}function sU(t,e,r){return sk.apply(this,arguments)}function sk(){return(sk=eJ(function(t,e,r){var i,n,o,a;return e2(this,function(s){switch(s.label){case 0:if("string"!=typeof t)return[3,2];return[4,nn(t)];case 1:return i=s.sent(),[3,3];case 2:i=t,s.label=3;case 3:if(!i)throw Error("image not provided.");if(!e)return[2,i];if(n=i,!((o=sD(e,r))&&rp(o)&&o!==i.src))return[3,7];if(!rp(o))return[3,5];return[4,nn(o)];case 4:return a=s.sent(),[3,6];case 5:a=o,s.label=6;case 6:n=a,s.label=7;case 7:return[2,n]}})})).apply(this,arguments)}var sB=1,sG=function(){function e(t,e){void 0===t&&(t={}),void 0===e&&(e=new nt),this.options=t,this.downloader=e,this.assets={},this.id=sB++,this.timers=[],this.updateOptions(t)}var r=e.prototype;return r.updateOptions=function(t){void 0===t&&(t={}),this.options=t,t.pluginData||(t.pluginData={});var e=t.timeout;this.timeout=void 0===e?10:e},r.updateSceneData=function(t){var e=this.options.variables;e&&0!==Object.keys(e).length&&t.forEach(function(t){if(t.type===tX.text){var r=e[t.name];r&&(t.content.options.text=r)}})},r.loadScene=function(t,e,r){var i=this;return eJ(function(){var n,o,a,s,u,l,c,h,f,m,d,p,v,y;return e2(this,function(g){return a=rp(t)?t:i.id,s=performance.now(),u=[],h=null!=(c=null==(l=null==e?void 0:e.engine.gpuCapability)?void 0:null==(n=l.detail)?void 0:n.asyncShaderCompile)&&c,m=null!=(f=null==l?void 0:l.detail.compressedTexture)?f:0,p=!1,v=new Promise(function(t,e){d=window.setTimeout(function(){p=!0,i.removeTimer(d),e(Error("Load time out: totalTime: "+(performance.now()-s).toFixed(4)+"ms "+u.join(" ")+", url: "+a))},1e3*i.timeout),i.timers.push(d)}),y=eJ(function(t,e){var r,i;return e2(this,function(n){switch(n.label){case 0:if(p)return[3,4];r=performance.now(),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,e()];case 2:return i=n.sent(),u.push("["+t+": "+(performance.now()-r).toFixed(2)+"]"),[2,i];case 3:throw Error("Load error in "+t+", "+n.sent());case 4:throw Error("Load canceled.")}})}),[2,Promise.race([v,eJ(function(){var n,l,c,f,p,v,g,x,T,E,_,C,A,S,R,b,O,w,I;return e2(this,function(L){switch(L.label){case 0:if(!rg(t))return[3,1];return o=t,i.baseUrl=location.href,[3,3];case 1:return t=new URL(t,location.href).href,i.baseUrl=t,[4,y("loadJSON",function(){return i.loadJSON(t)})];case 2:o=L.sent(),L.label=3;case 3:if(!sN(o))return[3,6];if(n=i7({},o),!(i.options&&i.options.variables&&0!==Object.keys(i.options.variables).length))return[3,5];for(f=0,l=o.jsonScene.images,c=n.images;f<l.length;f++)e$(c[f],HTMLCanvasElement)&&(c[f]=l[f]);return[4,y("processImages",function(){return i.processImages(c,n.usedImages,m)})];case 4:for(p=0,n.images=L.sent();p<n.images.length;p++)n.textureOptions[p].image=n.images[p];i.updateSceneData(n.jsonScene.items),L.label=5;case 5:return[3,12];case 6:return[4,y("processJSON",function(){return i.processJSON(o)})];case 7:return g=(v=L.sent()).usedImages,x=v.jsonScene,T=v.pluginSystem,_=void 0===(E=x.bins)?[]:E,C=x.images,A=x.compositions,S=x.fonts,[4,Promise.all([y("processBins",function(){return i.processBins(_)}),y("processImages",function(){return i.processImages(C,g,m)}),y((h?"async":"sync")+" compile",function(){return i.precompile(A,T,e,r)})])];case 8:return b=(R=L.sent())[0],O=R[1],[4,y("processFontURL",function(){return i.processFontURL(S)})];case 9:return L.sent(),[4,y("processTextures",function(){return i.processTextures(O,b,x)})];case 10:return w=L.sent(),i.updateSceneData(x.items),n={url:t,renderLevel:i.options.renderLevel,storage:{},pluginSystem:T,jsonScene:x,usedImages:g,images:O,textureOptions:w,bins:b},[4,y("processPlugins",function(){return T.loadResources(n,i.options)})];case 11:L.sent(),L.label=12;case 12:return I=performance.now()-s,rm.info("Load asset: totalTime: "+I.toFixed(4)+"ms "+u.join(" ")+", url: "+a),window.clearTimeout(d),i.removeTimer(d),n.totalTime=I,n.startTime=s,[2,n]}})})()])]})})()},r.precompile=function(t,e,r,i){return eJ(function(){var n;return e2(this,function(o){switch(o.label){case 0:if(!r||!r.getShaderLibrary())return[2];return n=null==r?void 0:r.getShaderLibrary(),[4,null==e?void 0:e.precompile(t,r,i)];case 1:return o.sent(),[4,new Promise(function(t){n.compileAllShaders(function(){t(null)})})];case 2:return o.sent(),[2]}})})()},r.processJSON=function(t){var e=this;return eJ(function(){var r,i,n,o,a,s,u,l,c;return e2(this,function(h){switch(h.label){case 0:return r=sb(t),t.compositions.forEach(function(t,e){t.globalVolume&&(r.compositions[e].globalVolume=t.globalVolume)}),n=void 0===(i=r.plugins)?[]:i,o=r.compositions,a=r.imgUsage,s=r.images,[4,(u=new a2(n)).processRawJSON(r,e.options)];case 1:return h.sent(),l=e.options.renderLevel,c={},a?function(t,e,r,i,n){for(var o=0;o<e.length;o++){var a=r[e[o].id];if(a)for(var s=0;s<a.length;s++){var u=a[s];sV(i[u].renderLevel,n)&&(t[u]=!0)}}}(c,o,a,s,l):null==s||s.forEach(function(t,e){c[e]=!0}),[2,{usedImages:c,jsonScene:r,pluginSystem:u}]}})})()},r.processBins=function(t){var e=this;return eJ(function(){var r,i;return e2(this,function(n){return r=e.options.renderLevel,i=e.baseUrl,[2,Promise.all(t.map(function(n){if(e$(n,ArrayBuffer))return n;if(sV(n.renderLevel,r))return e.loadBins(new URL(n.url,i).href);throw Error("Invalid bins source: "+JSON.stringify(t))}))]})})()},r.processFontURL=function(t){var r=this;return eJ(function(){return e2(this,function(i){return t?[2,Promise.all(t.map(eJ(function(t){var i,n,o;return e2(this,function(a){switch(a.label){case 0:if(!(t.fontURL&&!e.fonts.has(t.fontFamily)))return[3,4];i=new URL(t.fontURL,r.baseUrl).href,o=new FontFace(null!=(n=t.fontFamily)?n:"","url("+i+")"),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,o.load()];case 2:return a.sent(),document.fonts.add(o),e.fonts.add(t.fontFamily),[3,4];case 3:return a.sent(),rm.warn("Invalid fonts source: "+JSON.stringify(i)),[3,4];case 4:return[2]}})})))]:[2]})})()},r.processImages=function(e,r,i){var n=this;return eJ(function(){var o,a,s,u;return e2(this,function(l){return a=(o=n.options).useCompressedTexture,s=o.variables,u=n.baseUrl,[2,Promise.all(e.map(eJ(function(e,o){var l,c,h,f,m,d,p,v,y,g,x,T,E,_,C,A;return e2(this,function(S){switch(S.label){case 0:if(!r[o])return[2,void 0];if(l=e.url,c=e.webp,h=new URL(l,u).href,f=c&&new URL(c,u).href,!("template"in e))return[3,8];if(!(d=(m=e.template).background))return[3,7];p=sD(m,s),v=d.type===tZ.video,y=d&&v?nl:nn,S.label=1;case 1:return S.trys.push([1,6,,7]),[4,nh(p,y)];case 2:if(!e$(g=S.sent(),HTMLVideoElement))return[3,3];return[2,g];case 3:return d&&Array.isArray(p)&&s&&(s[d.name]=g.src),[4,sU(g,m,s)];case 4:return[2,S.sent()];case 5:return[3,7];case 6:throw S.sent(),Error("Failed to load. Check the template or if the URL is "+(v?"video":"image")+" type, URL: "+p+".");case 7:return[3,9];case 8:if("compressed"in e&&a&&i){if(x=e.compressed,i===ou.ASTC?T=x.astc:i===ou.PVRTC&&(T=x.pvrtc),T)return E=new URL(T,u).href,n.assets[o]={url:E,type:t.TextureSourceType.compressed},[2,n.loadBins(E)]}else if("sourceType"in e)return[2,e];else if(e$(e,HTMLImageElement)||e$(e,HTMLCanvasElement)||e$(e,HTMLVideoElement)||e$(e,ng))return[2,e];S.label=9;case 9:return[4,nr(h,f)];case 10:return C=(_=S.sent()).url,A=_.image,n.assets[o]={url:C,type:t.TextureSourceType.image},[2,A]}})})))]})})()},r.processTextures=function(e,r,i){var n=this;return eJ(function(){var o;return e2(this,function(a){return[2,Promise.all((null!=(o=i.textures)?o:e.map(function(t,e){return{source:e}})).map(eJ(function(o,a){var s,u,l;return e2(this,function(c){switch(c.label){case 0:if(e$(o,ng))return[2,o];if(!("mipmaps"in o))return[3,4];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,nm(o,r,i.bins)];case 2:return[2,c.sent()];case 3:throw Error("load texture "+a+" fails, error message: "+c.sent());case 4:if("number"!=typeof(s=o.source))return[3,5];return u=e[s],[3,7];case 5:if("string"!=typeof s)return[3,7];return[4,nn(function(t,e,r){void 0===e&&(e="base64File"),void 0===r&&(r="");for(var i=atob(t.split(",")[1]||t),n=[],o=0;o<i.length;o+=512){for(var a=i.slice(o,o+512),s=Array(a.length),u=0;u<a.length;u++)s[u]=a.charCodeAt(u);var l=new Uint8Array(s);n.push(l)}return new File([new Blob(n,{type:r})],e,{type:r})}(s))];case 6:u=c.sent(),c.label=7;case 7:if(u)return(l=function(e,r){var i;if(e$(e,ng))return e.source;if(e$(e,HTMLImageElement)||"object"==typeof e&&null!==e&&(null==(i=e.tagName)?void 0:i.toUpperCase())==="CANVAS")return{image:e,sourceType:t.TextureSourceType.image,sourceFrom:r,keepImageSource:!0,minFilter:i0.LINEAR,magFilter:i0.LINEAR};if(e$(e,HTMLVideoElement))return{sourceType:t.TextureSourceType.video,video:e,minFilter:i0.LINEAR,magFilter:i0.LINEAR};if(e$(e,ArrayBuffer))return i7({},nE(e),{sourceFrom:r});if("width"in e&&"height"in e&&"data"in e)return{sourceType:t.TextureSourceType.data,data:e,wrapS:i0.CLAMP_TO_EDGE,wrapT:i0.CLAMP_TO_EDGE,minFilter:i0.NEAREST,magFilter:i0.NEAREST};throw Error("Invalid texture options")}(u,n.assets[a])).id=o.id,l.dataType=er.Texture,[2,l.sourceType===t.TextureSourceType.compressed?l:i7({},l,o)];throw Error("Invalid texture source: "+s)}})})))]})})()},r.loadJSON=function(t){var e=this;return eJ(function(){return e2(this,function(r){return[2,new Promise(function(r,i){e.downloader.downloadJSON(t,r,function(e,r){i("Couldn't load JSON "+JSON.stringify(t)+": status "+e+", "+r)})})]})})()},r.loadBins=function(t){var e=this;return eJ(function(){return e2(this,function(r){return[2,new Promise(function(r,i){e.downloader.downloadBinary(t,r,function(e,r){i("Couldn't load bins "+JSON.stringify(t)+": status "+e+", "+r)})})]})})()},r.removeTimer=function(t){var e=this.timers.indexOf(t);-1!==e&&this.timers.splice(e,1)},r.dispose=function(){for(var t in this.timers.length&&this.timers.map(function(t){return window.clearTimeout(t)}),this.assets){var e,r=this.assets[t];null==r||null==(e=r.dispose)||e.call(r)}this.assets={},this.timers=[]},e}();sG.fonts=new Set;var sX=new rV(1,1,1),sH=function(){function t(t,e){void 0===e&&(e={}),this.name=t,this.viewMatrix=rF.fromIdentity(),this.projectionMatrix=rF.fromIdentity(),this.viewProjectionMatrix=rF.fromIdentity(),this.inverseViewMatrix=rF.fromIdentity(),this.dirty=!0;var r=e.near,i=e.far,n=e.fov,o=e.aspect,a=e.clipMode,s=void 0===a?tj.portrait:a,u=e.position,l=e.rotation;this.options={near:void 0===r?.1:r,far:void 0===i?20:i,fov:void 0===n?60:n,aspect:void 0===o?1:o,clipMode:s,position:rV.fromArray(void 0===u?[0,0,8]:u),rotation:rz.fromArray(void 0===l?[0,0,0]:l)},this.dirty=!0,this.updateMatrix()}var e=t.prototype;return e.getViewMatrix=function(){return this.updateMatrix(),this.viewMatrix.clone()},e.getInverseViewMatrix=function(){return this.updateMatrix(),this.inverseViewMatrix.clone()},e.getProjectionMatrix=function(){return this.updateMatrix(),this.projectionMatrix.clone()},e.getInverseProjectionMatrix=function(){var t;return this.updateMatrix(),null==(t=this.inverseProjectionMatrix)?void 0:t.clone()},e.getViewProjectionMatrix=function(){return this.updateMatrix(),this.viewProjectionMatrix.clone()},e.getInverseViewProjectionMatrix=function(){return this.updateMatrix(),this.inverseViewProjectionMatrix||(this.inverseViewProjectionMatrix=this.viewProjectionMatrix.clone(),this.inverseViewProjectionMatrix.invert()),this.inverseViewProjectionMatrix.clone()},e.getModelViewProjection=function(t,e){return t.multiplyMatrices(this.viewProjectionMatrix,e)},e.getInverseVPRatio=function(t){var e=new rV(0,0,t),r=this.getViewProjectionMatrix(),i=this.getInverseViewProjectionMatrix(),n=r.projectPoint(e).z;return i.projectPoint(new rV(1,1,n))},e.setQuat=function(t){void 0===this.options.quat?(this.options.quat=t.clone(),this.dirty=!0):this.options.quat.equals(t)||(this.options.quat.copyFrom(t),this.dirty=!0),this.dirty&&this.setRotationByQuat(t)},e.getQuat=function(){var t=this.options.quat;if(void 0===t){t=new rN;var e=this.options.rotation;e&&t.setFromEuler(e),this.options.quat=t}return t},e.getOptions=function(){return this.options},e.copy=function(t){var e=t.near,r=t.far,i=t.fov,n=t.clipMode,o=t.aspect,a=t.position,s=t.rotation;this.near=e,this.far=r,this.fov=i,this.clipMode=n,this.aspect=o,this.position=a,this.rotation=s,this.updateMatrix()},e.updateMatrix=function(){if(this.dirty){var t=this.options,e=t.fov,r=t.aspect,i=t.near,n=t.far,o=t.clipMode,a=t.position;this.projectionMatrix.perspective(e*rO,r,i,n,o===tj.portrait),this.inverseViewMatrix.compose(a,this.getQuat(),sX),this.viewMatrix.copyFrom(this.inverseViewMatrix).invert(),this.viewProjectionMatrix.multiplyMatrices(this.projectionMatrix,this.viewMatrix),this.inverseViewProjectionMatrix=null,this.dirty=!1}},e.setRotationByQuat=function(t){iB.getRotation(t,this.options.rotation)},rC(t,[{key:"near",get:function(){return this.options.near},set:function(t){this.options.near!==t&&(this.options.near=t,this.dirty=!0)}},{key:"far",get:function(){return this.options.far},set:function(t){this.options.far!==t&&(this.options.far=t,this.dirty=!0)}},{key:"fov",get:function(){return this.options.fov},set:function(t){this.options.fov!==t&&(this.options.fov=t,this.dirty=!0)}},{key:"aspect",get:function(){return this.options.aspect},set:function(t){this.options.aspect!==t&&(this.options.aspect=t,this.dirty=!0)}},{key:"clipMode",get:function(){return this.options.clipMode},set:function(t){void 0!==t&&this.options.clipMode!==t&&(this.options.clipMode=t,this.dirty=!0)}},{key:"position",get:function(){return this.options.position.clone()},set:function(t){this.options.position.equals(t)||(this.options.position.copyFrom(t),this.dirty=!0)}},{key:"rotation",get:function(){return this.options.rotation.clone()},set:function(t){this.options.rotation.equals(t)||(this.options.rotation.copyFrom(t),this.dirty=!0,this.options.quat=void 0)}}]),t}(),sY=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.items=[],t}rS(r,e);var i=r.prototype;return i.start=function(){var t=this.item.props.startTime;this.startTime=void 0===t?0:t,this.timelineComponents=[],this.timelineComponent=this.item.getComponent(oF);for(var e,r=rb(this.items);!(e=r()).done;){var i=e.value.getComponent(oF);i&&(this.timelineComponents.push(i),(0!==this.item.endBehavior||this.timelineComponent.reusable)&&(i.reusable=!0))}},i.update=function(t){for(var e,r=this.timelineComponent.getTime(),i=rb(this.timelineComponents);!(e=i()).done;){var n=e.value,o=n.toLocalTime(r);n.setTime(o)}},i.resetStatus=function(){this.item.ended=!1,this.item.delaying=!0},i.createContent=function(){var e=this.items;if(this.items.length=0,this.item.composition)for(var i=this.item.engine.assetLoader,n=this.item.props.items?this.item.props.items:[],o=0;o<n.length;o++){var a=void 0,s=n[o];if(t.Item.isComposition(s)){var u=s.content.options.refId,l=this.item.composition.refCompositionProps.get(u);if(!l)throw Error("引用的Id: "+u+" 的预合成不存在");l.content=s.content,(a=new t.VFXItem(this.engine,i7({},l,s))).type=tX.composition,a.composition=this.item.composition,a.addComponent(r).refId=u,a.transform.parentTransform=this.transform,this.item.composition.refContent.push(a),5===a.endBehavior&&(this.item.composition.autoRefTex=!1),a.getComponent(r).createContent();for(var c,h=rb(a.getComponent(r).items);!(c=h()).done;){var f=c.value;f.setInstanceId(rE());for(var m,d=rb(f.components);!(m=d()).done;)m.value.setInstanceId(rE())}}else"ECS"===s.type||s.type===tX.sprite||s.type===tX.text||s.type===tX.particle||s.type===tX.mesh||s.type===tX.skybox||s.type===tX.light||"camera"===s.type||s.type===tX.tree||s.type===tX.interact||s.type===tX.camera?(a=i.loadGUID(s.id)).composition=this.item.composition:((a=new t.VFXItem(this.engine,s)).composition=this.item.composition,a=aQ(s,this.item.composition));a.parent=this.item,a.transform.parentTransform=s.type===tX.camera?new iB:this.transform,t.VFXItem.isExtraCamera(a)&&(this.item.composition.extraCamera=a),e.push(a)}},i.onDestroy=function(){this.item.composition&&this.items&&(this.items.forEach(function(t){return t.dispose()}),this.items.length=0)},i.hitTest=function(e,r,i,n,o,a){for(var s,u=[],l=(null==a?void 0:a.stop)||rd,c=(null==a?void 0:a.skip)||rd,h=(null==a?void 0:a.maxCount)||this.items.length,f=0;f<this.items.length&&n.length<h;f++){var m=(s=this,function(a){var h=s.items[a];if(h.lifetime>=0&&!h.ended&&!t.VFXItem.isComposition(h)&&!c(h)){var f=h.getHitTestParams(o);if(f){var m=!1,d=new rV;if(f.type===t.HitTestType.triangle)for(var p=f.triangles,v=f.backfaceCulling,y=0;y<p.length;y++){var g=p[y];if(e.intersectTriangle(g,d,v)){m=!0,u.push(d);break}}else if(f.type===t.HitTestType.box){var x=f.center,T=f.size,E=x.clone().addScaledVector(T,.5),_=x.clone().addScaledVector(T,-.5);e.intersectBox({min:E,max:_},d)&&(m=!0,u.push(d))}else if(f.type===t.HitTestType.sphere){var C=f.center,A=f.radius;e.intersectSphere({center:C,radius:A},d)&&(m=!0,u.push(d))}else if(f.type===t.HitTestType.custom){var S=f.collect(e,new rP(r,i));S&&S.length>0&&(S.forEach(function(t){u.push(t)}),m=!0)}if(m){var R={compContent:s.item,id:h.id,name:h.name,position:u[u.length-1],parentId:h.parentId,hitPositions:u,behavior:f.behavior};if(n.push(R),l(R))return{v:n}}}}}(f));if("object"===e0(m))return m.v}return n},r}(rK),sj=function(){function e(e,r,i){var n,o=this;this.compositionSourceManager=i,this.speed=1,this.loaderData={},this.refContent=[],this.refCompositionProps=new Map,this.assigned=!1,this.destroyed=!1,this.paused=!1,this.lastVideoUpdateTime=0,this.postLoaders=[];var a=e.reusable,s=void 0!==a&&a,u=e.speed,l=e.baseRenderOrder,c=e.renderer,h=e.onPlayerPause,f=e.onMessageItem,m=e.onEnd,d=e.event,p=e.width,v=e.height;r.jsonScene.imgUsage=void 0,s&&(this.keepResource=!0,r.textures=void 0,r.consumed=!0);var y=this.compositionSourceManager,g=y.sourceContent,x=y.pluginSystem,T=y.imgUsage,E=y.totalTime,_=y.renderLevel,C=y.refCompositionProps;rh(g),this.renderer=c,this.refCompositionProps=C;var A=new t.VFXItem(this.getEngine(),g);A.name="rootItem",A.type=tX.composition,A.composition=this,this.rootComposition=A.addComponent(sY),this.rootTimeline=A.getComponent(oF);var S=!s&&T;this.transform=new iB({name:this.name}),this.transform.engine=this.getEngine(),A.transform=this.transform,this.globalVolume=g.globalVolume,this.width=p,this.height=v,this.renderOrder=void 0===l?0:l,this.id=g.id,this.renderer=c,this.texInfo=null!=S?S:{},this.event=d,this.statistic={loadTime:null!=E?E:0,loadStart:null!=(n=r.startTime)?n:0,firstFrameTime:0},this.reusable=s,this.speed=void 0===u?1:u,this.renderLevel=_,this.autoRefTex=!this.keepResource&&S&&5!==A.endBehavior,this.rootItem=A,this.name=g.name,this.pluginSystem=x,this.pluginSystem.initializeComposition(this,r),this.camera=new sH(this.name,i7({},null==g?void 0:g.camera,{aspect:p/v})),this.url=r.url,this.assigned=!0,this.globalTime=0,this.onPlayerPause=h,this.onMessageItem=f,this.onEnd=m,this.createRenderFrame(),this.rendererOptions=null,this.rootComposition.createContent(),this.buildItemTree(this.rootItem),this.rootItem.onEnd=function(){window.setTimeout(function(){null==o.onEnd||o.onEnd.call(o,o)},0)},this.pluginSystem.resetComposition(this,this.renderFrame)}var r=e.prototype;return r.getDuration=function(){return this.rootItem.duration},r.restart=function(){this.prepareRender(),this.reset(),this.transform.setValid(!0),this.rootComposition.resetStatus(),this.forwardTime(this.startTime)},r.setIndex=function(t){this.renderOrder=t},r.getIndex=function(){return this.renderOrder},r.setSpeed=function(t){this.speed=t},r.setVisible=function(t){this.items.forEach(function(e){e.setVisible(t)})},r.getSpeed=function(){return this.speed},r.play=function(){this.rootItem.ended&&this.reusable&&this.restart(),this.rootTimeline.timelineStarted?this.gotoAndPlay(this.time-this.startTime):this.gotoAndPlay(0)},r.pause=function(){this.paused=!0},r.getPaused=function(){return this.paused},r.resume=function(){this.paused=!1},r.gotoAndPlay=function(t){this.resume(),this.rootTimeline.timelineStarted||this.rootComposition.start(),this.forwardTime(t+this.startTime)},r.gotoAndStop=function(t){this.gotoAndPlay(t),this.pause()},r.createRenderFrame=function(){this.renderFrame=new ot({camera:this.camera,renderer:this.renderer,keepColorBuffer:this.keepColorBuffer,globalVolume:this.globalVolume}),this.renderFrame.cachedTextures=this.textures},r.setTime=function(t){var e=this.paused;e&&this.resume(),this.rootTimeline.timelineStarted||this.rootComposition.start(),this.forwardTime(t+this.startTime,!0),e&&this.pause()},r.addItem=function(t){this.items.push(t),t.setParent(this.rootItem)},r.forwardTime=function(t,e){void 0===e&&(e=!1);for(var r=1e3*t-1e3*this.rootTimeline.getTime(),i=r<0,n=Math.abs(r),o=i?-15:15;n>15;n-=15)this.update(o,e);this.update(i?-n:n,e)},r.reset=function(){var e=this,r=new t.VFXItem(this.getEngine(),this.compositionSourceManager.sourceContent);r.type=tX.composition,r.composition=this,this.rootComposition=r.addComponent(sY),this.rootTimeline=r.getComponent(oF),this.transform=new iB({name:this.name}),this.transform.engine=this.getEngine(),r.transform=this.transform,this.rootItem=r,this.rendererOptions=null,this.globalTime=0,this.rootComposition.createContent(),this.buildItemTree(this.rootItem),this.rootItem.onEnd=function(){window.setTimeout(function(){null==e.onEnd||e.onEnd.call(e,e)},0)},this.pluginSystem.resetComposition(this,this.renderFrame)},r.prepareRender=function(){var t=this,e=this.renderFrame;e._renderPasses[0].meshes.length=0,this.postLoaders.length=0,this.pluginSystem.plugins.forEach(function(r){r.prepareRenderFrame(t,e)&&t.postLoaders.push(r)});for(var r,i=rb(this.rootComposition.items);!(r=i()).done;)for(var n,o=r.value.getComponents(rQ),a=rb(o);!(n=a()).done;){var s=n.value;s.isActiveAndEnabled&&e.addMeshToDefaultRenderPass(s)}for(var u,l=rb(this.refContent);!(u=l()).done;)for(var c,h=u.value,f=rb(h.getComponent(sY).items);!(c=f()).done;)for(var m,d=c.value.getComponents(rQ),p=rb(d);!(m=p()).done;){var v=m.value;v.isActiveAndEnabled&&e.addMeshToDefaultRenderPass(v)}this.postLoaders.forEach(function(r){return r.postProcessFrame(t,e)})},r.shouldRestart=function(){var t=this.rootItem,e=t.ended,r=t.endBehavior;return e&&5===r},r.shouldDispose=function(){if(this.reusable)return!1;var t=this.rootItem,e=t.ended,r=t.endBehavior;return e&&(!r||3===r)},r.update=function(t,e){if(void 0===e&&(e=!1),this.assigned&&!this.paused){this.shouldRestart()&&this.restart();var r,i,n=this.getUpdateTime(t*this.speed);if(this.globalTime+=n,this.rootTimeline.isActiveAndEnabled){var o=this.rootTimeline.toLocalTime(this.globalTime/1e3);this.rootTimeline.setTime(o)}this.updateVideo(),this.updatePluginLoaders(t),this.callStart(this.rootItem),this.callUpdate(this.rootItem,n),this.callLateUpdate(this.rootItem,n),null==(i=this.extraCamera)||null==(r=i.getComponent(oF))||r.update(t),this.updateCamera(),this.shouldDispose()?this.dispose():e||this.prepareRender()}},r.getUpdateTime=function(t){var e=1e3*this.startTime,r=1e3*this.rootTimeline.getTime();return t<0&&r+t<e?e-r:t},r.callStart=function(t){for(var e,r=rb(t.itemBehaviours);!(e=r()).done;){var i=e.value;i.isActiveAndEnabled&&!i.started&&(i.start(),i.started=!0)}for(var n,o=rb(t.rendererComponents);!(n=o()).done;){var a=n.value;a.isActiveAndEnabled&&!a.started&&(a.start(),a.started=!0)}for(var s,u=rb(t.children);!(s=u()).done;){var l=s.value;this.callStart(l)}},r.callUpdate=function(e,r){for(var i,n=rb(e.itemBehaviours);!(i=n()).done;){var o=i.value;o.isActiveAndEnabled&&o.started&&o.update(r)}for(var a,s=rb(e.rendererComponents);!(a=s()).done;){var u=a.value;u.isActiveAndEnabled&&u.started&&u.update(r)}for(var l,c=rb(e.children);!(l=c()).done;){var h=l.value;t.VFXItem.isComposition(h)&&h.ended&&5===h.endBehavior?(h.getComponent(sY).resetStatus(),this.callUpdate(h,0)):this.callUpdate(h,r)}},r.callLateUpdate=function(t,e){for(var r,i=rb(t.itemBehaviours);!(r=i()).done;){var n=r.value;n.isActiveAndEnabled&&n.started&&n.lateUpdate(e)}for(var o,a=rb(t.rendererComponents);!(o=a()).done;){var s=o.value;s.isActiveAndEnabled&&s.started&&s.lateUpdate(e)}for(var u,l=rb(t.children);!(u=l()).done;){var c=u.value;this.callLateUpdate(c,e)}},r.buildItemTree=function(e){if(e.composition){for(var r,i=new Map,n=e.getComponent(sY).items,o=rb(n);!(r=o()).done;){var a=r.value;i.set(a.id,a)}for(var s,u=rb(n);!(s=u()).done;){var l=s.value;if(void 0===l.parentId)l.setParent(e);else{var c=this.getParentIdWithoutSuffix(l.parentId),h=i.get(c);if(h)t.VFXItem.isTree(h)&&l.parentId.includes("^")?(l.parent=h,l.transform.parentTransform=h.getNodeTransform(l.parentId)):(l.parent=h,l.transform.parentTransform=h.transform),h.children.push(l);else throw Error("元素引用了不存在的元素,请检查数据")}}for(var f,m=rb(n);!(f=m()).done;){var d=f.value;t.VFXItem.isComposition(d)&&this.buildItemTree(d)}}},r.getParentIdWithoutSuffix=function(t){var e=t.lastIndexOf("^");return e>-1?t.substring(0,e):t},r.updateVideo=function(){var t,e=performance.now();e-this.lastVideoUpdateTime>33&&((null!=(t=this.textures)?t:[]).forEach(function(t){return null==t?void 0:t.uploadCurrentVideoFrame()}),this.lastVideoUpdateTime=e)},r.updateCamera=function(){this.camera.updateMatrix()},r.updatePluginLoaders=function(t){var e=this;this.pluginSystem.plugins.forEach(function(r){return r.onCompositionUpdate(e,t)})},r.getItemByName=function(t){return this.rootItem.find(t)},r.getHitTestRay=function(t,e){var r=this.renderFrame.editorTransform,i=r.x,n=r.y;return is((t-r.z)/i,(e-r.w)/n,this.camera)},r.getEngine=function(){var t;return null==(t=this.renderer)?void 0:t.engine},r.hitTest=function(t,e,r,i){if(this.isDestroyed)return[];var n,o=[],a=this.getHitTestRay(t,e);return null==(n=this.rootItem.getComponent(sY))||n.hitTest(a,t,e,o,r,i),this.refContent.forEach(function(n){var s;null==(s=n.getComponent(sY))||s.hitTest(a,t,e,o,r,i)}),o},r.addInteractiveItem=function(t,e){if(e===tB.MESSAGE)return null==this.onMessageItem||this.onMessageItem.call(this,{name:t.name,phrase:2,id:t.id,compositionId:this.id}),t.id},r.removeInteractiveItem=function(t,e){e===tB.MESSAGE&&(null==this.onMessageItem||this.onMessageItem.call(this,{name:t.name,phrase:1,id:t.id,compositionId:this.id}))},r.destroyTextures=function(e){for(var r=0;r<e.length;r++){var i,n=e[r];if(n){if(n.sourceType===t.TextureSourceType.data&&!this.texInfo[n.getInstanceId()]){n!==(null==(i=this.rendererOptions)?void 0:i.emptyTexture)&&n!==this.renderFrame.transparentTexture&&n!==this.getEngine().emptyTexture&&n.dispose();continue}!this.autoRefTex||--this.texInfo[n.getInstanceId()]||n.dispose()}}},r.destroyItem=function(t){var e=this;t.type==tX.composition?4!==t.endBehavior&&t.getComponent(sY).items.forEach(function(t){return e.pluginSystem.plugins.forEach(function(r){return r.onCompositionItemRemoved(e,t)})}):(e9(this.items,t),this.pluginSystem.plugins.forEach(function(r){return r.onCompositionItemRemoved(e,t)}))},r.lost=function(t){this.videoState=this.textures.map(function(t){if("video"in t.source)return t.source.video.pause(),t.source.video.currentTime}),this.textures.map(function(t){return t.dispose()}),this.dispose()},r.dispose=function(){var e,r,i=this;if(!this.destroyed){this.destroyed=!0;var n={},o=this.textures;o&&this.keepResource&&o.forEach(function(t){(null==t?void 0:t.dispose)&&(n[t.id]=t.dispose,t.dispose=rd)}),this.rootItem.dispose(),this.renderFrame.dispose(),null==(e=this.rendererOptions)||e.emptyTexture.dispose(),null==(r=this.pluginSystem)||r.destroyComposition(this),this.update=function(){rm.error("Update disposed composition: "+i.name+".")},this.onPlayerPause=rd,this.dispose=rd,o&&this.keepResource&&o.forEach(function(t){return t.dispose=n[t.id]}),this.compositionSourceManager.dispose(),this.refCompositionProps.clear(),this.renderer.env!==iQ&&this.renderer.clear({stencilAction:t.TextureLoadAction.clear,clearStencil:0,depthAction:t.TextureLoadAction.clear,clearDepth:1,colorAction:t.TextureLoadAction.clear,clearColor:[0,0,0,0]})}},r.setEditorTransform=function(t,e,r){this.renderFrame.editorTransform.set(t,t,e,r)},r.translateByPixel=function(t,e){if(!this.renderer){console.warn("Can not translate position when container not assigned");return}this.rootItem.translateByPixel(t,e)},r.translate=function(t,e,r){this.rootItem.translate(t,e,r)},r.setPosition=function(t,e,r){this.rootItem.setPosition(t,e,r)},r.rotate=function(t,e,r){this.rootItem.rotate(t,e,r)},r.setRotation=function(t,e,r){this.rootItem.setRotation(t,e,r)},r.scale=function(t,e,r){this.rootItem.scale(t,e,r)},r.setScale=function(t,e,r){this.rootItem.setScale(t,e,r)},r.offloadTexture=function(){this.textureOffloaded||(this.textures.forEach(function(t){return t&&t.offloadData()}),this.textureOffloaded=!0)},r.getRendererOptions=function(){return this.rendererOptions||(this.rendererOptions={emptyTexture:this.renderFrame.emptyTexture,cachePrefix:"-"}),this.rendererOptions},r.reloadTexture=function(){var t=this;return eJ(function(){return e2(this,function(e){switch(e.label){case 0:if(!t.textureOffloaded)return[3,2];return[4,Promise.all(t.textures.map(function(t){return null==t?void 0:t.reloadData()}))];case 1:e.sent(),t.textureOffloaded=!1,e.label=2;case 2:return[2]}})})()},rC(e,[{key:"handleEnd",set:function(t){console.warn("The handleEnd property is deprecated. Use onEnd instead."),this.onEnd=t}},{key:"textures",get:function(){return this.compositionSourceManager.textures}},{key:"items",get:function(){return this.rootComposition.items}},{key:"startTime",get:function(){var t;return null!=(t=this.rootComposition.startTime)?t:0}},{key:"time",get:function(){return this.rootTimeline.getTime()}},{key:"isDestroyed",get:function(){return this.destroyed}}]),e}(),sW=0,sZ=function(){function t(t,e){this.refCompositions=new Map,this.refCompositionProps=new Map,this.mask=0,this.engine=e;var r=t.jsonScene,i=t.renderLevel,n=t.textureOptions,o=t.pluginSystem,a=t.totalTime,s=r.compositions,u=r.imgUsage,l=r.compositionId;if(!n)throw Error("scene.textures expected");for(var c,h=rb(s);!(c=h()).done;){var f=c.value;f.id===l?this.composition=f:this.refCompositions.set(f.id,f)}if(!this.composition)throw Error("Invalid composition id: "+l);this.jsonScene=r,this.renderLevel=i,this.pluginSystem=o,this.totalTime=null!=a?a:0,this.imgUsage=null!=u?u:{},this.textures=n,sW=0,this.sourceContent=this.getContent(this.composition)}var e=t.prototype;return e.getContent=function(t){var e=t.id,r=t.duration,i=t.name,n=t.endBehavior,o=t.camera,a=t.globalVolume,s=t.startTime,u=this.assembleItems(t);return{id:e,duration:r,name:i,endBehavior:isNaN(n)?1:n,items:u,camera:o,startTime:void 0===s?0:s,globalVolume:a}},e.assembleItems=function(t){var e=this,r=[];this.mask++;for(var i,n={},o=rb(this.jsonScene.components);!(i=o()).done;){var a=i.value;n[a.id]=a}for(var s,u=rb(t.items);!(s=u()).done;){var l=s.value,c=this.engine.jsonSceneData[l.id];if(sV(c.renderLevel,this.renderLevel)){if(c.type===tX.sprite||c.type===tX.particle)for(var h,f=rb(c.components);!(h=f()).done;){var m=n[h.value.id];this.preProcessItemContent(m)}else{var d=c.content;d&&this.preProcessItemContent(d)}var p=c.pn,v=this.jsonScene.plugins,y=void 0===v?[]:v;if(c.listIndex=sW++,void 0!==p&&Number.isInteger(p)&&(c.pluginName=y[p]),c.type===tX.composition){var g=c.content.options.refId;if(!this.refCompositions.get(g))throw Error("Invalid Ref Composition id: "+g);var x=this.getContent(this.refCompositions.get(g));this.refCompositionProps.has(g)||this.refCompositionProps.set(g,x),x.items.forEach(function(t){e.processMask(t.content)}),c.items=x.items}r.push(c)}}return r},e.preProcessItemContent=function(t){if(t.renderer){t.renderer=this.changeTex(t.renderer),t.renderer.mask||this.processMask(t.renderer);var e,r=t.splits&&!t.textureSheetAnimation&&t.splits[0];Number.isInteger(t.renderer.shape)?t.renderer.shape=am(null==(e=this.jsonScene)?void 0:e.shapes[t.renderer.shape],r):t.renderer.shape&&rg(t.renderer.shape)&&(t.renderer.shape=am(t.renderer.shape,r))}t.trails&&(t.trails=this.changeTex(t.trails))},e.changeTex=function(t){if(!t.texture)return t;var e=t.texture.id;return void 0!==e&&this.addTextureUsage(e),t},e.addTextureUsage=function(t){var e,r=null!=(e=this.imgUsage)?e:{};t&&r&&(r.hasOwnProperty(t)||(r[t]=0),r[t]++)},e.processMask=function(t){var e=t.maskMode;e!==tD.NONE&&(t.mask||(e===tD.MASK?t.mask=++this.mask:e!==tD.OBSCURED&&e!==tD.REVERSE_OBSCURED||(t.mask=this.mask)))},e.dispose=function(){this.textures=[],this.composition=void 0,this.jsonScene=void 0,this.totalTime=0,this.pluginSystem=void 0,this.sourceContent=void 0,this.refCompositions.clear(),this.refCompositionProps.clear()},t}(),sq=function(){function t(){}return t.collectSerializableObject=function(t,e){if(!e[t.getInstanceId()]){t.toData(),e[t.getInstanceId()]=t;for(var r,i=rH(t),n=rb(Object.keys(i));!(r=n()).done;){var o=r.value,a=t.taggedProperties[o];if(void 0===a&&(a=t[o]),e$(a,rW))this.collectSerializableObject(a,e);else if(e$(a,Array))for(var s,u=rb(a);!(s=u()).done;){var l=s.value;e$(l,rW)&&this.collectSerializableObject(l,e)}else if(e$(a,Object))for(var c,h=rb(Object.keys(a));!(c=h()).done;){var f=a[c.value];e$(f,rW)&&this.collectSerializableObject(f,e)}}}},t.serializeEffectObject=function(e){var r={},i=e.engine,n=i7({},i.jsonSceneData);t.collectSerializableObject(e,r);for(var o,a=rb(Object.keys(r));!(o=a()).done;){var s=r[o.value];n[s.getInstanceId()]||(n[s.getInstanceId()]={}),t.serializeTaggedProperties(s,n[s.getInstanceId()])}return n},t.serializeTaggedProperties=function(e,r){e.toData(),r||(r={});for(var i,n=rH(e),o=rb(Object.keys(n));!(i=o()).done;){var a=i.value,s=e[a];"number"==typeof s||"string"==typeof s||"boolean"==typeof s||t.checkTypedArray(s)?r[a]=s:e$(s,Array)?(r[a]||(r[a]=[]),t.serializeArrayProperty(s,r[a],0)):e$(s,rW)?r[a]={id:s.getInstanceId()}:e$(s,Object)&&(r[a]||(r[a]={}),t.serializeObjectProperty(s,r[a],0))}for(var u,l=rb(Object.keys(e.taggedProperties));!(u=l()).done;){var c=u.value,h=e.taggedProperties[c];"number"==typeof h||"string"==typeof h||"boolean"==typeof h||t.checkTypedArray(h)?r[c]=h:e$(h,Array)?(r[c]||(r[c]=[]),t.serializeArrayProperty(h,r[c],0)):e$(h,rW)?r[c]={id:h.getInstanceId()}:e$(h,Object)&&(r[c]||(r[c]={}),t.serializeObjectProperty(h,r[c],0))}return r},t.deserializeTaggedProperties=function(e,r){for(var i,n=r.taggedProperties,o=rH(r),a=r.engine,s=rb(Object.keys(e));!(i=s()).done;){var u=i.value;if(!o[u]){var l=e[u];n[u]=t.deserializeProperty(l,a,0)}}for(var c,h=rb(Object.keys(o));!(c=h()).done;){var f=c.value,m=e[f];void 0!==m&&(r[f]=t.deserializeProperty(m,a,0))}r.fromData(n)},t.deserializeTaggedPropertiesAsync=function(e,r){return eJ(function(){var i,n,o,a,s,u,l,c,h,f,m;return e2(this,function(d){switch(d.label){case 0:i=r.taggedProperties,n=rH(r),o=r.engine,a=rb(Object.keys(e)),d.label=1;case 1:if((s=a()).done)return[3,4];if(n[u=s.value])return[3,3];return l=e[u],[4,t.deserializePropertyAsync(l,o,0)];case 2:i[u]=d.sent(),d.label=3;case 3:return[3,1];case 4:c=rb(Object.keys(n)),d.label=5;case 5:if((h=c()).done)return[3,8];if(void 0===(m=e[f=h.value]))return[3,7];return[4,t.deserializePropertyAsync(m,o,0)];case 6:r[f]=d.sent(),d.label=7;case 7:return[3,5];case 8:return r.fromData(i),[2]}})})()},t.checkTypedArray=function(t){return e$(t,Int8Array)||e$(t,Uint8Array)||e$(t,Uint8ClampedArray)||e$(t,Int16Array)||e$(t,Uint16Array)||e$(t,Int32Array)||e$(t,Uint32Array)||e$(t,Float32Array)||e$(t,Float64Array)},t.checkDataPath=function(t){return e$(t,Object)&&1===Object.keys(t).length&&t.id&&32===t.id.length},t.checkGLTFNode=function(t){return e$(t,Object)&&void 0!==t.nodeIndex&&void 0!==t.isJoint},t.deserializeProperty=function(e,r,i){if(i>14){console.error("序列化数据的内嵌对象层数大于上限");return}if("number"==typeof e||"string"==typeof e||"boolean"==typeof e)return e;if(e$(e,Array)){for(var n,o=[],a=rb(e);!(n=a()).done;){var s=n.value;o.push(t.deserializeProperty(s,r,i+1))}return o}if(t.checkDataPath(e))return r.assetLoader.loadGUID(e.id);if(e$(e,rW)||t.checkTypedArray(e)||t.checkGLTFNode(e))return e;if(e$(e,Object)){for(var u,l={},c=rb(Object.keys(e));!(u=c()).done;){var h=u.value;l[h]=t.deserializeProperty(e[h],r,i+1)}return l}},t.deserializePropertyAsync=function(e,r,i){return eJ(function(){var n,o,a,s,u,l,c,h,f;return e2(this,function(m){switch(m.label){case 0:if(i>14)return console.error("序列化数据的内嵌对象层数大于上限"),[2];if(!("number"==typeof e||"string"==typeof e||"boolean"==typeof e))return[3,1];return[2,e];case 1:if(!e$(e,Array))return[3,6];n=[],o=rb(e),m.label=2;case 2:if((a=o()).done)return[3,5];return s=a.value,u=n.push,[4,t.deserializePropertyAsync(s,r,i+1)];case 3:u.apply(n,[m.sent()]),m.label=4;case 4:return[3,2];case 5:return[2,n];case 6:if(!t.checkDataPath(e))return[3,8];return[4,r.assetLoader.loadGUIDAsync(e.id)];case 7:return[2,m.sent()];case 8:if(!(e$(e,rW)||t.checkTypedArray(e)||t.checkGLTFNode(e)))return[3,9];return[2,e];case 9:if(!e$(e,Object))return[3,14];l={},c=rb(Object.keys(e)),m.label=10;case 10:if((h=c()).done)return[3,13];return f=h.value,[4,t.deserializePropertyAsync(e[f],r,i+1)];case 11:l[f]=m.sent(),m.label=12;case 12:return[3,10];case 13:return[2,l];case 14:return[2]}})})()},t.serializeObjectProperty=function(e,r,i){if(i>14){console.error("序列化数据的内嵌对象层数大于上限");return}r||(r={});for(var n,o=rb(Object.keys(e));!(n=o()).done;){var a=n.value,s=e[a];"number"==typeof s||"string"==typeof s||"boolean"==typeof s||t.checkTypedArray(e)?r[a]=s:e$(s,Array)?(r[a]||(r[a]=[]),t.serializeArrayProperty(s,r[a],i+1)):e$(s,rW)?r[a]={id:s.getInstanceId()}:e$(s,Object)&&(r[a]||(r[a]={}),t.serializeObjectProperty(s,r[a],i+1))}},t.serializeArrayProperty=function(e,r,i){if(i>14){console.error("序列化数据的内嵌对象层数大于上限");return}r||(r=[]);for(var n=0;n<e.length;n++){var o=e[n];"number"==typeof o||"string"==typeof o||"boolean"==typeof o||t.checkTypedArray(e)?r[n]=o:e$(o,Array)?(r[n]||(r[n]=[]),this.serializeArrayProperty(o,r[n],i+1)):e$(o,rW)?r[n]={id:o.getInstanceId()}:e$(o,Object)&&(r[n]||(r[n]={}),t.serializeObjectProperty(o,r[n],i+1))}},t}(),sK=function(){function t(t){this.engine=t}var e=t.prototype;return e.loadGUID=function(e){if(this.engine.objectInstance[e])return this.engine.objectInstance[e];var r,i=this.findData(e);if(!i){console.error("未找到 uuid: "+e+"的对象数据");return}switch(i.dataType){case er.Material:r=nR.create(this.engine);break;case er.Geometry:r=nD.create(this.engine);break;case er.Texture:return ng.create(this.engine,i);default:var n=t.getClass(i.dataType);n&&(r=new n(this.engine))}if(!r){console.error("未找到 DataType: "+i.dataType+"的构造函数");return}return r.setInstanceId(i.id),this.engine.addInstance(r),sq.deserializeTaggedProperties(i,r),r},e.loadGUIDAsync=function(e){var r=this;return eJ(function(){var i,n,o;return e2(this,function(a){switch(a.label){case 0:if(r.engine.objectInstance[e])return[2,r.engine.objectInstance[e]];if(n=r.findData(e))return[3,2];if(!r.engine.database)return console.error("未找到 uuid: "+e+"的对象数据"),[2,void 0];return[4,r.engine.database.loadGUID(e)];case 1:if(!(i=a.sent()))return console.error("未找到 uuid: "+e+"的磁盘数据"),[2,void 0];return r.engine.addInstance(i),[2,i];case 2:switch(n.dataType){case er.Material:i=nR.create(r.engine);break;case er.Geometry:i=nD.create(r.engine);break;case er.Texture:return[2,i=ng.create(r.engine,n)];default:(o=t.getClass(n.dataType))&&(i=new o(r.engine))}if(!i)return console.error("未找到 DataType: "+n.dataType+"的构造函数"),[2,void 0];return i.setInstanceId(n.id),r.engine.addInstance(i),[4,sq.deserializeTaggedPropertiesAsync(n,i)];case 3:return a.sent(),[2,i]}})})()},e.findData=function(t){return this.engine.jsonSceneData[t]},t.getClass=function(t){return rB[t]},t}(),sQ=function(){function t(){}return t.prototype.loadGUID=function(t){return eJ(function(){return e2(this,function(t){return[2,void 0]})})()},t}(),sJ=function(){function e(){this.destroyed=!1,this.textures=[],this.materials=[],this.geometries=[],this.meshes=[],this.renderPasses=[],this.jsonSceneData={},this.objectInstance={},this.assetLoader=new sK(this),this.createDefaultTexture()}var r=e.prototype;return r.clearResources=function(){this.jsonSceneData={},this.objectInstance={}},r.addEffectsObjectData=function(t){this.jsonSceneData[t.id]=t},r.findEffectsObjectData=function(t){return this.jsonSceneData[t]},r.addInstance=function(t){this.objectInstance[t.getInstanceId()]=t},r.getInstance=function(t){return this.objectInstance[t]},r.removeInstance=function(t){delete this.objectInstance[t]},r.addPackageDatas=function(t){var e=t.jsonScene;if(e.items)for(var r,i=rb(e.items);!(r=i()).done;){var n=r.value;this.addEffectsObjectData(n)}if(e.materials)for(var o,a=rb(e.materials);!(o=a()).done;){var s=o.value;this.addEffectsObjectData(s)}if(e.shaders)for(var u,l=rb(e.shaders);!(u=l()).done;){var c=u.value;this.addEffectsObjectData(c)}if(e.geometries)for(var h,f=rb(e.geometries);!(h=f()).done;){var m=h.value;this.addEffectsObjectData(m)}if(e.components)for(var d,p=rb(e.components);!(d=p()).done;){var v=d.value;this.addEffectsObjectData(v)}if(t.textureOptions)for(var y,g=rb(t.textureOptions);!(y=g()).done;){var x=y.value;this.addEffectsObjectData(x)}},r.createVFXItemsAsync=function(t){var e=this;return eJ(function(){var r,i,n,o;return e2(this,function(a){switch(a.label){case 0:r=rb(t.jsonScene.items),a.label=1;case 1:if((i=r()).done)return[3,4];if(!("ECS"===(o=(n=i.value).type)||"camera"===o||o===tX.sprite||o===tX.particle||o===tX.mesh||o===tX.skybox||o===tX.light||o===tX.tree||o===tX.interact||o===tX.camera)||!e.database)return[3,3];return[4,e.assetLoader.loadGUIDAsync(n.id)];case 2:a.sent(),a.label=3;case 3:return[3,1];case 4:return[2]}})})()},r.addTexture=function(t){this.destroyed||e8(this.textures,t)},r.removeTexture=function(t){this.destroyed||e9(this.textures,t)},r.addMaterial=function(t){this.destroyed||e8(this.materials,t)},r.removeMaterial=function(t){this.destroyed||e9(this.materials,t)},r.addGeometry=function(t){this.destroyed||e8(this.geometries,t)},r.removeGeometry=function(t){this.destroyed||e9(this.geometries,t)},r.addMesh=function(t){this.destroyed||e8(this.meshes,t)},r.removeMesh=function(t){this.destroyed||e9(this.meshes,t)},r.addRenderPass=function(t){this.destroyed||e8(this.renderPasses,t)},r.removeRenderPass=function(t){this.destroyed||e9(this.renderPasses,t)},r.getShaderLibrary=function(){return this.renderer.getShaderLibrary()},r.createDefaultTexture=function(){var e={type:i0.UNSIGNED_BYTE,format:i0.RGBA,internalFormat:i0.RGBA,wrapS:i0.MIRRORED_REPEAT,wrapT:i0.MIRRORED_REPEAT,minFilter:i0.NEAREST,magFilter:i0.NEAREST};this.emptyTexture=ng.create(this,i7({data:{width:1,height:1,data:new Uint8Array([255,255,255,255])},sourceType:t.TextureSourceType.data},e)),this.transparentTexture=ng.create(this,i7({data:{width:1,height:1,data:new Uint8Array([0,0,0,0])},sourceType:t.TextureSourceType.data},e))},r.dispose=function(){if(!this.destroyed){this.destroyed=!0;var t=[];this.renderPasses.length>0&&t.push("Pass "+this.renderPasses.length),this.meshes.length>0&&t.push("Mesh "+this.meshes.length),this.geometries.length>0&&t.push("Geom "+this.geometries.length),this.textures.length>0&&t.push("Tex "+this.textures.length),t.length>0&&rm.warn("Release GPU memory: "+t.join(", ")),this.renderPasses.forEach(function(t){t.dispose()}),this.meshes.forEach(function(t){t.dispose()}),this.geometries.forEach(function(t){t.dispose()}),this.materials.forEach(function(t){t.dispose()}),this.textures.forEach(function(t){t.dispose()}),this.textures=[],this.materials=[],this.geometries=[],this.meshes=[],this.renderPasses=[],this.renderer=null}},rC(e,[{key:"isDestroyed",get:function(){return this.destroyed}}]),e}(),s$=function(){function t(t){void 0===t&&(t=60),this.paused=!0,this.lastTime=0,this._deltaTime=0,this.setFPS(t),this.tickers=[]}var e=t.prototype;return e.getFPS=function(){return this.targetFPS},e.setFPS=function(t){this.targetFPS=rM(t,1,120),this.interval=Math.floor(1e3/t)-2},e.getPaused=function(){return this.paused},e.start=function(){var t=this;if(this.paused=!1,this._deltaTime=0,!this.intervalId){this.lastTime=performance.now();var e=requestAnimationFrame||function(t){return window.setTimeout(t,16.7)},r=function(){t.intervalId=e(r),t.paused||t.tick()};r()}},e.stop=function(){(cancelAnimationFrame||window.clearTimeout)(this.intervalId),this.intervalId=0,this.lastTime=0,this.paused=!0,this._deltaTime=0,this.tickers=[]},e.pause=function(){this.paused=!0,this._deltaTime=0},e.resume=function(){this.paused=!1,this._deltaTime=0},e.tick=function(){if(!this.paused){var t=performance.now();if(this._deltaTime=t-this.lastTime,this._deltaTime>=this.interval){this.lastTime=t,this.resetTickers&&(this.tickers=this.tickers.filter(function(t){return t}),this.resetTickers=!1);for(var e=0,r=this.tickers.length;e<r;e++)(0,this.tickers[e])(this._deltaTime)}}},e.add=function(t){if("function"!=typeof t)throw Error("Ticker: The tick object must implement the tick method.");this.tickers.push(t)},rC(t,[{key:"deltaTime",get:function(){return this._deltaTime}}]),t}();a1("camera",iG,t.VFXItem,!0),a1("text",aq,t.VFXItem,!0),a1("sprite",oT,t.VFXItem,!0),a1("particle",aG,t.VFXItem,!0),a1("cal",aX,t.VFXItem,!0),a1("interact",iK,t.VFXItem,!0);var s0=((ej={})[i0.ONE]=eK.OneFactor,ej[i0.ZERO]=eK.ZeroFactor,ej[i0.SRC_COLOR]=eK.SrcColorFactor,ej[i0.SRC_ALPHA]=eK.SrcAlphaFactor,ej[i0.ONE_MINUS_SRC_COLOR]=eK.OneMinusSrcColorFactor,ej[i0.ONE_MINUS_SRC_ALPHA]=eK.OneMinusSrcAlphaFactor,ej[i0.DST_COLOR]=eK.DstColorFactor,ej[i0.DST_ALPHA]=eK.DstAlphaFactor,ej[i0.ONE_MINUS_DST_COLOR]=eK.OneMinusDstColorFactor,ej[i0.ONE_MINUS_DST_ALPHA]=eK.OneMinusDstAlphaFactor,ej),s1=((eW={})[i0.NEVER]=eK.NeverStencilFunc,eW[i0.EQUAL]=eK.EqualStencilFunc,eW[i0.LESS]=eK.LessStencilFunc,eW[i0.LEQUAL]=eK.LessEqualStencilFunc,eW[i0.ALWAYS]=eK.AlwaysStencilFunc,eW[i0.NOTEQUAL]=eK.NotEqualStencilFunc,eW[i0.GREATER]=eK.GreaterStencilFunc,eW[i0.GEQUAL]=eK.GreaterEqualStencilFunc,eW),s2=((eZ={})[i0.KEEP]=eK.KeepStencilOp,eZ[i0.ZERO]=eK.ZeroStencilOp,eZ[i0.REPLACE]=eK.ReplaceStencilOp,eZ[i0.INCR]=eK.IncrementStencilOp,eZ[i0.DECR]=eK.DecrementStencilOp,eZ[i0.INCR_WRAP]=eK.IncrementWrapStencilOp,eZ[i0.DECR_WRAP]=eK.IncrementWrapStencilOp,eZ[i0.INVERT]=eK.InvertStencilOp,eZ),s3=((eq={})[i0.NEVER]=eK.NeverDepth,eq[i0.ALWAYS]=eK.AlwaysDepth,eq[i0.EQUAL]=eK.EqualDepth,eq[i0.LESS]=eK.LessDepth,eq[i0.LEQUAL]=eK.LessEqualDepth,eq[i0.GREATER]=eK.GreaterDepth,eq[i0.GEQUAL]=eK.GreaterEqualDepth,eq[i0.NOTEQUAL]=eK.NotEqualDepth,eq),s4=["uMaskTex","uSampler0","uSampler1","uSampler2","uSampler3","uSampler4","uSampler5","uSampler6","uSampler7","uSampler8","uSampler9","uSampler10","uSampler11","uSampler12","uSampler13","uSampler14","uSampler15","uColorOverLifetime","uColorOverTrail"],s5=function(e){function r(r,i){(n=e.call(this,r,i)||this).textures={},n.material=new eK.RawShaderMaterial,n.uniforms={};for(var n,o=null==i?void 0:i.shader,a=r.gpuCapability.level,s=0;s<t.maxSpriteMeshItemCount;s++)n.uniforms["uSampler"+s]=new eK.Uniform(null);return n.uniforms.uEditorTransform=new eK.Uniform([1,1,0,0]),n.uniforms.effects_ObjectToWorld=new eK.Uniform(new eK.Matrix4().identity()),n.uniforms.effects_MatrixInvV=new eK.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,8,1]),n.uniforms.effects_MatrixVP=new eK.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,-8,1]),n.uniforms.effects_MatrixV=new eK.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,8,1]),n.material=new eK.RawShaderMaterial({vertexShader:i5(o.marcos,o.vertex,t.ShaderType.vertex,n.engine.gpuCapability.level),fragmentShader:i5(o.marcos,o.fragment,t.ShaderType.fragment,n.engine.gpuCapability.level),alphaToCoverage:!1,depthFunc:eK.LessDepth,polygonOffsetFactor:eK.ZeroFactor,polygonOffsetUnits:eK.ZeroFactor,polygonOffset:!1,uniforms:n.uniforms}),1===a?n.material.glslVersion=eK.GLSL1:n.material.glslVersion=eK.GLSL3,n}rS(r,e);var i=r.prototype;return i.onSetUniformValue=function(t,e){var r;s4.includes(t)&&(r=e.texture),this.material.uniforms[t]?this.material.uniforms[t].value=r||e:this.material.uniforms[t]=new eK.Uniform(r||e)},i.use=function(t,e){var r=this.engine,i=r.composition,n=r.threeCamera;if(n){var o=new eK.Matrix4().multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse);this.setMatrix("effects_MatrixVP",o)}else{var a=i.camera;this.setMatrix("effects_MatrixVP",a.getViewProjectionMatrix()),this.setMatrix("effects_MatrixV",a.getViewMatrix())}},i.onRemoveUniformValue=function(t){this.material.uniforms[t]&&(this.material.uniforms[t].value=null)},i.getTexture=function(t){return this.textures[t]},i.setTexture=function(t,e){this.setUniform(t,e.texture),this.textures[t]=e},i.getVector4Array=function(t){return this.uniforms[t].value},i.setVector4Array=function(t,e){for(var r,i=[],n=rb(e);!(r=n()).done;){var o=r.value;i=i.concat(o.toArray())}this.setUniform(t,i)},i.getMatrixArray=function(t){return this.uniforms[t].value},i.setMatrixArray=function(t,e){for(var r,i=[],n=rb(e);!(r=n()).done;){var o=r.value;i=i.concat(o.elements)}this.setUniform(t,i)},i.setMatrixNumberArray=function(t,e){this.setUniform(t,e)},i.getMatrix=function(t){return this.uniforms[t].value},i.setMatrix=function(t,e){this.setUniform(t,e)},i.setMatrix3=function(t,e){this.setUniform(t,e)},i.getVector2=function(t){return this.uniforms[t].value},i.setVector2=function(t,e){this.setUniform(t,e)},i.getVector3=function(t){return this.uniforms[t].value},i.setVector3=function(t,e){this.setUniform(t,e)},i.getVector4=function(t){return this.uniforms[t].value},i.setVector4=function(t,e){this.setUniform(t,e)},i.getColor=function(t){return this.uniforms[t].value},i.setColor=function(t,e){this.setUniform(t,e)},i.getQuaternion=function(t){return this.uniforms[t].value},i.setQuaternion=function(t,e){this.setUniform(t,e)},i.getFloat=function(t){return this.uniforms[t].value},i.setFloat=function(t,e){this.setUniform(t,e)},i.getFloats=function(t){return this.uniforms[t].value},i.setFloats=function(t,e){this.setUniform(t,e)},i.getInt=function(t){return this.uniforms[t].value},i.setInt=function(t,e){this.setUniform(t,e)},i.hasUniform=function(t){return!!this.uniforms[t]},i.setUniform=function(t,e){var r=new eK.Uniform(e);this.uniforms[t]=this.material.uniforms[t]=r},i.enableMacro=function(t){throw Error("Method not implemented.")},i.disableMacro=function(t){throw Error("Method not implemented.")},i.isMacroEnabled=function(t){throw Error("Method not implemented.")},i.clone=function(t){throw Error("Method not implemented.")},i.cloneUniforms=function(t){throw Error("Method not implemented.")},i.fromData=function(t){throw Error("Method not implemented.")},i.dispose=function(t){this.destroyed&&(this.material.dispose(),this.destroyed=!0)},rC(r,[{key:"blending",get:function(){return this.material.blending!==eK.NoBlending},set:function(t){this.material.blending=t?eK.CustomBlending:eK.NoBlending}},{key:"blendFunction",get:function(){var t=this.material,e=t.blendSrc,r=t.blendDst;return[e,r,t.blendSrcAlpha||e,t.blendDstAlpha||r]},set:function(t){if(t){var e=t[0],r=t[1],i=t[2],n=t[3];this.material.blendSrc=s0[e],this.material.blendDst=s0[r],this.material.blendSrcAlpha=s0[i],this.material.blendDstAlpha=s0[n]}}},{key:"blendEquation",get:function(){var t=this.material,e=t.blendEquation;return[e,t.blendEquationAlpha||e]},set:function(t){if(t){var e=t[0],r=t[1];this.material.blendEquation=e,this.material.blendEquationAlpha=r}}},{key:"depthTest",get:function(){return this.material.depthTest},set:function(t){this.material.depthTest=!!t}},{key:"depthMask",get:function(){return this.material.depthWrite},set:function(t){this.material.depthWrite=!!t}},{key:"depthFunc",get:function(){return this.material.depthFunc},set:function(t){void 0!==t&&(this.material.depthFunc=s3[t])}},{key:"polygonOffsetFill",get:function(){return this.material.polygonOffset},set:function(t){this.material.polygonOffset=!!t}},{key:"polygonOffset",get:function(){return[this.material.polygonOffsetFactor,this.material.polygonOffsetUnits]},set:function(t){if(t){var e=t[0],r=t[1];this.material.polygonOffsetFactor=e,this.material.polygonOffsetUnits=r}}},{key:"sampleAlphaToCoverage",get:function(){return this.material.alphaToCoverage},set:function(t){this.material.alphaToCoverage=!!t}},{key:"stencilTest",get:function(){return this.material.stencilWrite},set:function(t){this.material.stencilWrite=!!t}},{key:"stencilMask",get:function(){return[this.material.stencilWriteMask,this.material.stencilWriteMask]},set:function(t){t&&(this.material.stencilWriteMask=t[0])}},{key:"stencilRef",get:function(){return[this.material.stencilRef,this.material.stencilRef]},set:function(t){t&&(this.material.stencilRef=t[0])}},{key:"stencilFunc",get:function(){return[this.material.stencilFunc,this.material.stencilFunc]},set:function(t){t&&(this.material.stencilFunc=s1[t[0]])}},{key:"stencilOpFail",get:function(){return[this.material.stencilFail,this.material.stencilZFail]},set:function(t){t&&(this.material.stencilFail=s2[t[0]])}},{key:"stencilOpZFail",get:function(){return[this.material.stencilZFail,this.material.stencilZFail]},set:function(t){t&&(this.material.stencilZFail=s2[t[0]])}},{key:"stencilOpZPass",get:function(){return[this.material.stencilZPass,this.material.stencilZPass]},set:function(t){t&&(this.material.stencilZPass=s2[t[0]])}},{key:"culling",get:function(){return this.material.side!==eK.DoubleSide},set:function(t){this.material.side=t?eK.FrontSide:eK.DoubleSide}},{key:"cullFace",get:function(){return this.material.side},set:function(t){t===tz.FRONT?this.material.side=eK.FrontSide:t===tz.BACK&&(this.material.side=eK.BackSide)}}]),r}(nR),s6=1,s8=function(t){function e(e,r){if((i=t.call(this,e)||this).attributes={},i.destroyed=!1,i.attributesName=[],!r)return aH(i);var i,n=r.drawStart,o=r.drawCount,a=r.indices,s=r.mode,u=r.name,l=void 0===u?"effectsGeometry:"+s6++:u;i.name=l,i.mode=null!=s?s:i0.TRIANGLES;var c=[],h={},f=new eK.BufferGeometry;return Object.keys(r.attributes).forEach(function(t){var e=r.attributes[t];if("dataSource"in e){var n=e.dataSource;if(n){void 0===h[n]&&i.setAttributeType(n,e,f,h,r.maxVertex);var o=e.size,a=e.offset,s=e.normalize,u=h[n],l=u.buffer,m=u.dataLength,d=new eK.InterleavedBufferAttribute(l,o,(null!=a?a:0)/m,s);f.setAttribute(t,d),h[t]={buffer:l,attribute:d,type:u.type,dataLength:m}}}else i.setAttributeType(t,e,f,h,r.maxVertex);c.push(t)}),a&&a.data&&f.setIndex(new eK.BufferAttribute(a.data,1)),i.geometry=f,i.attributes=h,i.attributesName=c,i.drawStart=void 0===n?0:n,i.drawCount=null!=o?o:0,i}rS(e,t);var r=e.prototype;return r.getAttributeData=function(t){if(void 0!=this.attributes[t])return this.attributes[t].buffer.array},r.setAttributeData=function(t,e){if(void 0!=this.attributes[t]){var r=this.attributes[t].buffer;if(e.length>r.array.length){var i=new eK.InterleavedBuffer(e,r.stride);r=this.attributes[t].attribute.data=i,this.geometry.setAttribute(t,this.attributes[t].attribute)}else r.set(e,0),r.updateRange.count=e.length,r.updateRange.offset=0;this.geometry.attributes[t].needsUpdate=!0}},r.setAttributeSubData=function(t,e,r){void 0!=this.attributes[t]&&(this.attributes[t].buffer.set(r,e),this.geometry.attributes[t].needsUpdate=!0)},r.getAttributeStride=function(t){var e=this.attributes[t];return e.buffer.stride*nz[e.type]},r.getAttributeNames=function(){return this.attributesName},r.getIndexData=function(){var t=this.geometry.getIndex();return null===t?void 0:t.array},r.setIndexData=function(t){t&&(this.geometry.setIndex(new eK.BufferAttribute(t,1)),this.geometry.index.needsUpdate=!0)},r.setIndexSubData=function(t,e){var r=this.geometry.getIndex();if(null!==r){var i=t+e.length;if(r.count<i){var n=new e.constructor(end);n.set(r.array),r.array=n}r.array.set(e,t),this.geometry.index.needsUpdate=!0}},r.setDrawStart=function(t){this.drawStart=t},r.getDrawStart=function(){return this.drawStart},r.setDrawCount=function(t){this.drawCount=t},r.getDrawCount=function(){return this.drawCount},r.dispose=function(){this.destroyed||(this.geometry.dispose(),this.destroyed=!0)},r.setAttributeType=function(t,e,r,i,n){var o=e.stride,a=e.size,s=e.offset,u=e.normalize,l=e.type,c=void 0===l?i0.FLOAT:l,h=e.data;if(c&&!h&&(h=nU(c)),h){var f=e$(h,Float32Array)?Float32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,m=(void 0===o?0:o)/f,d=(n=(null!=n?n:0)*m)||a*f;d&&0===h.length&&(h=e$(h,Float32Array)?new Float32Array(d):new Uint16Array(d));var p=new eK.InterleavedBuffer(h,m),v=new eK.InterleavedBufferAttribute(p,a,(null!=s?s:0)/f,u);r.setAttribute(t,v),i[t]={buffer:p,attribute:v,type:c,dataLength:f}}},rC(e,[{key:"drawCount",get:function(){return this.geometry.drawRange.count},set:function(t){this.geometry.drawRange.count=t}},{key:"drawStart",get:function(){return this.geometry.drawRange.start},set:function(t){this.geometry.drawRange.start=t}}]),e}(nD),s9=function(e){function r(t,r){if(!r)return aH(i);var i,n=r.material,o=r.geometry,a=r.priority;return(i=e.call(this,t,r)||this).geometry=o,i.material=n,o.mode===i0.LINES?i.mesh=new eK.LineSegments(o.geometry,n.material):i.mesh=new eK.Mesh(o.geometry,n.material),i.priority=void 0===a?0:a,i}rS(r,e);var i=r.prototype;return i.setVisible=function(t){this.mesh.visible=t},i.getVisible=function(){return this.mesh.visible},i.firstGeometry=function(){return this.geometry},i.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e,this.mesh.material=e.material},i.start=function(){e.prototype.start.call(this),this.engine.threeGroup.add(this.mesh)},i.restore=function(){},i.render=function(t){!this.isDestroyed&&this.getVisible()&&(this.material.setMatrix("effects_ObjectToWorld",this.worldMatrix),this.material.use(t,t.renderingData.currentFrame.globalUniforms))},i.dispose=function(t){this.destroyed||(this.mesh.clear(),this.destroyed=!0)},rC(r,[{key:"priority",get:function(){return this.mesh.renderOrder},set:function(t){this.mesh&&(this.mesh.renderOrder=t)}}]),r}(nB),s7=function(e){function r(r,i,n){if(void 0===n&&(n={}),o=e.call(this,r)||this,i){var o,a=i.width,s=i.height;o.texture=o.createTextureByType(i7({},n,{sourceType:t.TextureSourceType.data,data:i})),o.width=void 0===a?1:a,o.height=void 0===s?1:s}else o.texture=o.createTextureByType(n);return o.texture.needsUpdate=!0,o}rS(r,e);var i=r.prototype;return i.updateSource=function(t){this.texture.dispose(),this.texture=this.createTextureByType(t),this.texture.needsUpdate=!0},i.startVideo=function(){var e=this;return eJ(function(){var r;return e2(this,function(i){switch(i.label){case 0:if(e.sourceType!==t.TextureSourceType.video||!(r=e.texture.source.data).paused)return[3,2];return[4,r.play()];case 1:i.sent(),i.label=2;case 2:return[2]}})})()},i.assembleOptions=function(e){var i=e.target,n=void 0===i?i0.TEXTURE_2D:i;return e.sourceType||("image"in e?e.sourceType=t.TextureSourceType.image:"data"in e?e.sourceType=t.TextureSourceType.data:"video"in e?e.sourceType=t.TextureSourceType.video:e.sourceType=t.TextureSourceType.none),i7({target:n,format:eK.RGBAFormat,type:eK.UnsignedByteType},e,{minFilter:r.toThreeJsTextureFilter(e.minFilter),magFilter:r.toThreeJsTextureFilter(e.magFilter),wrapS:r.toThreeJsTextureWrap(e.wrapS),wrapT:r.toThreeJsTextureWrap(e.wrapT)})},i.dispose=function(){this.texture.dispose()},i.createTextureByType=function(e){var r=this.assembleOptions(e),i=r.flipY,n=r.type,o=r.wrapS,a=r.wrapT,s=r.minFilter,u=r.magFilter,l=r.sourceType,c=eK.UVMapping,h=r.format,f=void 0;if(this.sourceType=l,l===t.TextureSourceType.data){var m=e.data;f=new eK.DataTexture(m.data,m.width,m.height,h,n,c,o,a,u,s),this.width=m.width,this.height=m.height}else if(l===t.TextureSourceType.image){var d=e.image;f=new eK.Texture(d,c,o,a,u,s,h,n),this.width=d.width,this.height=d.height}else if(l===t.TextureSourceType.compressed){var p=0,v=0,y=e.mipmaps.map(function(t){var e=t.data,r=t.width,i=t.height;return p=p<r?r:p,v=v<i?i:v,{data:e,width:r,height:i,colorSpace:"srgb"}});h=eK.RGBA_ASTC_4x4_Format,f=new eK.CompressedTexture(y,p,v,h,n,c,o,a,u,s),this.width=p,this.height=v}else if(l===t.TextureSourceType.video)f=new eK.VideoTexture(e.video,c,o,a,u,s,h,n);else if(l===t.TextureSourceType.framebuffer){var g=e.data;if(g){var x,T,E=null!=(x=g.width)?x:0,_=null!=(T=g.height)?T:0;f=new eK.FramebufferTexture(E,_,h),this.width=E,this.height=_}}else l===t.TextureSourceType.none&&((f=new eK.DataTexture(new Uint8Array(4).fill(255),1,1)).wrapS=eK.MirroredRepeatWrapping,f.wrapT=eK.MirroredRepeatWrapping,this.width=this.height=1);if(f)return f.flipY=!!i,f;throw Error("使用未知的数据类型创建纹理")},r.toThreeJsTextureFilter=function(t){return t===i0.LINEAR?eK.LinearFilter:eK.NearestFilter},r.toThreeJsTextureWrap=function(t){switch(t){case i0.MIRRORED_REPEAT:return eK.MirroredRepeatWrapping;case i0.REPEAT:return eK.RepeatWrapping;default:return eK.ClampToEdgeWrapping}},r}(ng),ut=function(t){function e(e,r,i){var n;return(n=t.call(this,e,r,i)||this).rootItem.getComponent(sY).resetStatus(),n}rS(e,t);var r=e.prototype;return r.updateVideo=function(){this.textures.map(function(t){return t.startVideo()})},r.prepareRender=function(){var t=this.renderer;this.renderFrame._renderPasses[0].meshes.length=0;for(var e,r=rb(this.rootComposition.items);!(e=r()).done;)for(var i,n=e.value.getComponents(rQ),o=rb(n);!(i=o()).done;){var a=i.value;a.isActiveAndEnabled&&a.render(t)}for(var s,u=rb(this.refContent);!(s=u()).done;)for(var l,c=s.value,h=rb(c.getComponent(sY).items);!(l=h()).done;)for(var f,m=l.value.getComponents(rQ),d=rb(m);!(f=d()).done;){var p=f.value;p.isActiveAndEnabled&&p.render(t)}},r.getRendererOptions=function(){var t=s7.createWithData(this.renderer.engine,{data:new Uint8Array(4).fill(255),width:1,height:1});return t.texture.needsUpdate=!0,this.rendererOptions||(this.rendererOptions={emptyTexture:t,cachePrefix:"-"}),this.rendererOptions},e}(sj);ut.shape={};var ue=function(t){function e(e){var r;return(r=t.call(this)||this).gpuCapability=new oa(e),r}return rS(e,t),e.prototype.setOptions=function(t){var e=t.threeCamera,r=t.threeGroup,i=t.composition;this.threeCamera=e,this.threeGroup=r,this.composition=i},e}(sJ),ur=function(t){function e(e){var r;return(r=t.call(this)||this).engine=new ue(e),r.renderingData={currentFrame:{}},r}return rS(e,t),e}(oc),ui=function(t){function e(e,r){(i=t.call(this)||this).compositions=[],i.baseCompositionIndex=0,i.env="";var i,n=r.width,o=r.height,a=r.camera;return i.renderer=new ur(e),i.width=n,i.height=o,i.camera=a,i}rS(e,t);var r=e.prototype;return r.loadScene=function(t,e){var r=this;return eJ(function(){var i,n;return e2(this,function(o){switch(o.label){case 0:if(n=r.baseCompositionIndex,!rv(t))return[3,2];return r.baseCompositionIndex+=t.length,[4,Promise.all(t.map(eJ(function(t,i){var o;return e2(this,function(a){switch(a.label){case 0:return[4,r.createComposition(t,e)];case 1:return(o=a.sent()).setIndex(n+i),[2,o]}})})))];case 1:return i=o.sent(),[3,4];case 2:return r.baseCompositionIndex+=1,[4,r.createComposition(t,e)];case 3:(i=o.sent()).setIndex(n),o.label=4;case 4:return[2,i]}})})()},r.createComposition=function(t,e){void 0===e&&(e={});var r=this;return eJ(function(){var i,n,o,a,s,u,l,c,h;return e2(this,function(f){switch(f.label){case 0:return i=performance.now(),n=i7({autoplay:!0},e),sF(t)?(o=t.url,sz(t)&&(n=i7({},n,t.options||{}))):o=t,r.assetManager?r.assetManager.updateOptions(n):r.assetManager=new sG(n),[4,r.assetManager.loadScene(o,r.renderer,{env:r.env})];case 1:for(a=f.sent(),(s=r.renderer.engine).clearResources(),s.addPackageDatas(a),u=0;u<a.textureOptions.length;u++)a.textureOptions[u]=s.assetLoader.loadGUID(a.textureOptions[u].id),a.textureOptions[u].initialize();if(l=new sZ(a,s),!s.database)return[3,3];return[4,s.createVFXItemsAsync(a)];case 2:f.sent(),f.label=3;case 3:return c=new ut(i7({},n,{width:r.width,height:r.height,renderer:r.renderer}),a,l),r.renderer.engine.setOptions({threeCamera:r.camera,threeGroup:r,composition:c}),n.autoplay?c.play():c.pause(),h=performance.now()-i+c.statistic.loadTime,c.statistic.firstFrameTime=h,rm.info("first frame: ["+c.name+"]"+h.toFixed(4)+"ms"),r.compositions.push(c),[2,c]}})})()},r.update=function(t){this.compositions.forEach(function(e){e.update(t)})},rC(e,[{key:"currentComposition",get:function(){return this.compositions[0]}}]),e}(eK.Group);t.ThreeSpriteComponent=function(t){function e(){return t.apply(this,arguments)}rS(e,t);var r=e.prototype;return r.setVisible=function(t){this.threeMesh.visible=t},r.getVisible=function(){return this.threeMesh.visible},r.dispose=function(){t.prototype.dispose.call(this),this.isActiveAndEnabled||this.threeMesh.clear()},r.fromData=function(e){t.prototype.fromData.call(this,e),this.threeMesh||(this.geometry.mode===i0.LINES?this.threeMesh=new eK.LineSegments(this.geometry.geometry,this.material.material):this.threeMesh=new eK.Mesh(this.geometry.geometry,this.material.material))},r.start=function(){t.prototype.start.call(this),this.engine.threeGroup.add(this.threeMesh)},r.render=function(t){this.isActiveAndEnabled&&(this.material.setVector2("_Size",this.transform.size),this.material.setMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),this.material.use(t,t.renderingData.currentFrame.globalUniforms))},r.onDestroy=function(){this.threeMesh.clear()},rC(e,[{key:"priority",get:function(){return this.threeMesh.renderOrder},set:function(t){this.threeMesh&&(this.threeMesh.renderOrder=t)}},{key:"enabled",get:function(){return this.threeMesh.visible},set:function(t){this.threeMesh.visible=t,t&&this.onEnable()}}]),e}(t.SpriteComponent),t.ThreeSpriteComponent=e1([rj(er.SpriteComponent)],t.ThreeSpriteComponent),og(8),ng.create=function(t,e){return new s7(t,void 0,e)},ng.createWithData=function(t,e,r){return new s7(t,e,r)},nR.create=function(t,e){return new s5(t,e)},nD.create=function(t,e){return new s8(t,e)},nB.create=function(t,e){return new s9(t,e)};var un="2.0.0-alpha.10";rm.info("THREEJS plugin version: "+un),t.AbstractPlugin=rJ,t.ActivationPlayable=oN,t.AssetLoader=sK,t.AssetManager=sG,t.BYTES_TYPE_MAP=nz,t.Behaviour=rq,t.BezierCurve=iL,t.BezierCurvePath=iM,t.COMPRESSED_TEXTURE=ou,t.CONSTANT_MAP_BLEND=s0,t.CONSTANT_MAP_DEPTH=s3,t.CONSTANT_MAP_STENCIL_FUNC=s1,t.CONSTANT_MAP_STENCIL_OP=s2,t.COPY_FRAGMENT_SHADER=nL,t.COPY_MESH_SHADER_ID=nw,t.COPY_VERTEX_SHADER=nI,t.CalculateLoader=aX,t.Camera=sH,t.CameraVFXItemLoader=iG,t.Component=rZ,t.Composition=sj,t.CompositionComponent=sY,t.CompositionSourceManager=sZ,t.DEFAULT_FONTS=aZ,t.Database=sQ,t.Downloader=nt,t.EFFECTS_COPY_MESH_NAME=nO,t.EVENT_TYPE_CLICK=iX,t.EVENT_TYPE_TOUCH_END=ij,t.EVENT_TYPE_TOUCH_MOVE=iY,t.EVENT_TYPE_TOUCH_START=iH,t.EffectsObject=rW,t.Engine=sJ,t.EventSystem=iZ,t.Float16ArrayWrapper=r8,t.FrameBuffer=ol,t.GPUCapability=oa,t.Geometry=nD,t.GlobalUniforms=oi,t.GradientValue=iw,t.HELP_LINK=iJ,t.InteractBehavior=iW,t.InteractLoader=iK,t.InteractMesh=of,t.ItemBehaviour=rK,t.KTXTexture=nT,t.LineSegments=iI,t.LinearValue=iO,t.Material=nR,t.MaterialDataBlock=nC,t.Mesh=nB,t.PLAYER_OPTIONS_ENV_EDITOR=iQ,t.POST_PROCESS_SETTINGS="post_process_settings",t.ParticleBehaviourPlayable=aN,t.ParticleLoader=aG,t.ParticleMesh=az,t.ParticleSystemRenderer=aS,t.PassTextureCache=nN,t.PluginSystem=a2,t.RENDER_PASS_NAME_PREFIX=n9,t.RENDER_PREFER_LOOKUP_TEXTURE=oB,t.RUNTIME_ENV="runtime_env",t.RandomSetValue=iS,t.RandomValue=iR,t.RandomVectorValue=ib,t.RenderBuffer=on,t.RenderFrame=ot,t.RenderPass=nH,t.RenderPassPriorityNormal=1e3,t.RenderPassPriorityPostprocess=3e3,t.RenderPassPriorityPrepare=0,t.RenderTargetHandle=nG,t.Renderer=oc,t.RendererComponent=rQ,t.SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0="PRE_MAIN_COLOR_0",t.SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0="PRE_MAIN_COLOR_SIZE_0",t.SEMANTIC_PRE_COLOR_ATTACHMENT_0="PRE_COLOR_0",t.SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0="PRE_COLOR_SIZE_0",t.SPRITE_VERTEX_STRIDE=6,t.SemanticMap=nF,t.SerializationHelper=sq,t.ShaderVariant=nb,t.SpriteColorPlayable=ok,t.SpriteLoader=oT,t.StaticValue=iA,t.TEMPLATE_USE_OFFSCREEN_CANVAS=oG,t.TEXTURE_UNIFORM_MAP=s4,t.TextLoader=aq,t.Texture=ng,t.TextureFactory=n_,t.ThreeComposition=ut,t.ThreeDisplayObject=ui,t.ThreeEngine=ue,t.ThreeMaterial=s5,t.ThreeTexture=s7,t.Ticker=s$,t.TimelineClip=oR,t.TimelineComponent=oF,t.Track=oS,t.Transform=iB,t.TransformAnimationPlayable=oP,t.TransformAnimationPlayableAsset=oV,t.ValueGetter=iC,t.addByOrder=rl,t.addItem=e8,t.addItemWithOrder=function(t,e,r,i){if(void 0===i&&(i=!1),!t.includes(e)&&(t.push(e),1!==t.length)){var n=t.length-1;if(n){var o=t[n];if(i)for(;t[n-1][r]<o[r]&&(t[n]=t[n-1],0!=--n););else for(;t[n-1][r]>o[r]&&(t[n]=t[n-1],0!=--n););t[n]=o}}},t.assertExist=rh,t.asserts=function(t,e){if(void 0===e&&(e="asserts failed"),!t)throw Error(e)},t.blend="vec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}",t.calculateTranslation=it,t.canvasPool=aW,t.colorGradingFrag=nJ,t.colorStopsFromGradient=rr,t.colorToArr=rt,t.combineImageTemplate=sU,t.compatibleFrag="#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\n",t.compatibleVert="#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n",t.createCopyShader=nM,t.createGLContext=function(t,e,r){var i;if(void 0===e&&(e="webgl"),"webgl2"!==e||(i=t.getContext("webgl2",r))||console.debug("WebGL2 context retrieval failed, falling back to WebGL context."),i&&"webgl"!==e||(i=t.getContext("webgl",r)),!i)throw Error("This browser does not support WebGL or the WebGL version is incorrect. Please check your WebGL version.");return i},t.createKeyFrameMeta=iD,t.createShaderWithMarcos=i5,t.createShape=o4,t.createVFXItem=aQ,t.createValueGetter=iV,t.decimalEqual=il,t.deepClone=function t(e){if(rv(e))return e.map(t);if(e&&"object"==typeof e){if(ArrayBuffer.isView(e))return e.slice();for(var r={},i=Object.keys(e),n=0;n<i.length;n++){var o=i[n];r[o]=t(e[o])}return r}return e},t.defaultGlobalVolume=n8,t.defaultPlugins=a$,t.deserializeMipmapTexture=nm,t.earcut=ah,t.effectsClass=rj,t.effectsClassStore=rB,t.enlargeBuffer=e7,t.ensureVec3=ie,t.findPreviousRenderPass=function(t,e){var r=t.indexOf(e);return t[r-1]},t.gaussianDownFrag="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;float GaussWeight2D(float x,float y,float sigma){float PI=3.14159265358;float E=2.71828182846;float sigma_2=pow(sigma,2.0);float a=-(x*x+y*y)/(2.0*sigma_2);return pow(E,a)/(2.0*PI*sigma_2);}vec3 GaussNxN(sampler2D tex,vec2 uv,vec2 stride,float sigma){vec3 color=vec3(0.,0.,0.);const int r=5/2;float weight=0.0;for(int i=-r;i<=r;i++){for(int j=-r;j<=r;j++){float w=GaussWeight2D(float(i),float(j),sigma);vec2 coord=uv+vec2(i,j)*stride;color+=texture2D(tex,coord).rgb*w;weight+=w;}}color/=weight;return color;}void main(){vec4 mainColor=texture2D(_MainTex,uv);vec3 color=mainColor.rgb;color=GaussNxN(_MainTex,uv,1.0/_TextureSize,1.0);gl_FragColor=vec4(color,1.0);}",t.gaussianDownHFrag=n$,t.gaussianDownVFrag=n0,t.gaussianUpFrag=n1,t.generateEmptyTypedArray=nU,t.generateGUID=rE,t.generateHalfFloatTexture=nx,t.getBackgroundImage=sD,t.getColorFromGradientStops=re,t.getConfig=function(t){return oX[t]},t.getDefaultTemplateCanvasPool=function(){return aW},t.getDefaultTextureFactory=function(){return es||(es=new n_),es},t.getGeometryByShape=am,t.getGeometryTriangles=af,t.getImageItemRenderInfo=od,t.getKTXTextureOptions=nE,t.getKeyFrameMetaByRawValue=iz,t.getMergedStore=rH,t.getParticleMeshShader=ak,t.getPixelRatio=function(){if("object"==typeof screen&&"object"==typeof document){var t=Math.max(document.documentElement.clientWidth,window.innerWidth||0);return Math.min(screen.width/t*2,2)}return 1},t.getPreMultiAlpha=i3,t.getStandardComposition=sI,t.getStandardImage=sw,t.getStandardItem=sM,t.getStandardJSON=sb,t.getTextureSize=oe,t.glContext=i0,t.gpuTimer=function(t){var e=t.getExtension("EXT_disjoint_timer_query_webgl2");if(e){var r=t.createQuery(),i=eJ(function(){return e2(this,function(n){return[2,new Promise(function(n,o){if(r){var a=t.getQueryParameter(r,t.QUERY_RESULT_AVAILABLE),s=t.getParameter(e.GPU_DISJOINT_EXT);a&&!s&&n(t.getQueryParameter(r,t.QUERY_RESULT)/1e3/1e3),(a||s)&&(t.deleteQuery(r),r=null),null!==a&&r&&window.setTimeout(function(){i().then(n).catch},1)}})]})});if(!r)return;return{begin:function(){r&&t.beginQuery(e.TIME_ELAPSED_EXT,r)},end:function(){t.endQuery(e.TIME_ELAPSED_EXT)},getTime:i}}},t.imageDataFromColor=function(t){rp(t)&&(t=rt(t));for(var e=t,r={width:1,height:1,data:new Uint8Array(4)},i=r.data,n=0;n<4;n++)i[n]=e[n];return r},t.imageDataFromGradient=rs,t.initErrors=i$,t.initGLContext=i1,t.integrate="float calculateMovement(float t,vec2 p1,vec2 p2,vec2 p3,vec2 p4){float movement=0.0;float h=(t-p1.x)*0.05;for(int i=0;i<=20;i++){float t=float(i)*h;float nt=binarySearchT(t,p1.x,p2.x,p3.x,p4.x);float y=cubicBezier(nt,p1.y,p2.y,p3.y,p4.y);float weight=(i==0||i==20)? 1.0 :(mod(float(i),2.)!=0.)? 4.0 : 2.0;movement+=weight*y;}movement*=h/3.;return movement;}float integrateFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i+=2){vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return ret;}vec2 p1=vec2(k0.x,k0.y);vec2 p2=vec2(k0.z,k0.w);vec2 p3=vec2(k1.z,k1.w);vec2 p4=vec2(k1.x,k1.y);if(time>=k1.x){ret+=calculateMovement(k1.x,p1,p2,p3,p4);}if(time>=k0.x&&time<k1.x){return ret+calculateMovement(time,p1,p2,p3,p4);}}return ret;}float integrateByTimeLineSeg(float t,vec2 p0,vec2 p1){float t0=p0.x;float t1=p1.x;float y0=p0.y;float y1=p1.y;vec4 tSqr=vec4(t,t,t0,t0);tSqr=tSqr*tSqr;vec4 a=vec4(2.*t,3.,-t0,3.)*tSqr;float t1y0=t1*y0;vec4 b=vec4(y0-y1,t0*y1-t1y0,2.*y0+y1,t1y0);float r=dot(a,b);return r/(t0-t1)*0.16666667;}float integrateLineSeg(float time,vec2 p0,vec2 p1){float h=time-p0.x;float y0=p0.y;return(y0+y0+(p1.y-y0)*h/(p1.x-p0.x))*h/2.;}float integrateFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateLineSeg(time,k0,k1);}ret+=integrateLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateLineSeg(time,k1,k2);}ret+=integrateLineSeg(k2.x,k1,k2);}return ret;}float integrateByTimeFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateByTimeLineSeg(time,k0,k1);}ret+=integrateByTimeLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateByTimeLineSeg(time,k1,k2);}ret+=integrateByTimeLineSeg(k2.x,k1,k2);}return ret;}float getIntegrateFromTime0(float t1,vec4 value){float type=value.x;if(type==0.){return value.y*t1;}if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateLineSeg(t1,p0,p1);}if(type==3.){return integrateFromLineSeg(t1,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*t1;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w);}return 0.;}float getIntegrateByTimeFromTime(float t0,float t1,vec4 value){float type=value.x;if(type==0.){return value.y*(t1*t1-t0*t0)/2.;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateByTimeLineSeg(t1,p0,p1)-integrateByTimeLineSeg(t0,p0,p1);}if(type==3.){return integrateByTimeFromLineSeg(t1,value.y,value.z)-integrateByTimeFromLineSeg(t0,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*(t1*t1-t0*t0)/2.;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w)-integrateFromBezierCurveFrames(t0,value.z,value.w);}return 0.;}",t.interpolateColor=ri,t.isAndroid=ro,t.isArray=rv,t.isFunction=ry,t.isIOS=function(){return!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)},t.isObject=rg,t.isSceneJSON=sN,t.isSceneURL=sF,t.isSceneWithOptions=sz,t.isSimulatorCellPhone=ra,t.isString=rp,t.isUniformStruct=nA,t.isUniformStructArray=function(t){return t&&void 0!==t.length&&nA(t[0])},t.isWebGL2=function(t){return"undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===t.constructor.name},t.itemFrag=nW,t.itemFrameFrag=nY,t.itemVert=nj,t.loadBinary=na,t.loadBlob=function(t){return nu.apply(this,arguments)},t.loadImage=nn,t.loadMedia=nh,t.loadVideo=nl,t.loadWebPOptional=nr,t.logger=rm,t.math=r5,t.modifyMaxKeyframeShader=aB,t.nearestPowerOfTwo=function(t){return Math.pow(2,Math.round(Math.log(t)/Math.LN2))},t.noop=rd,t.numberToFix=ic,t.parsePercent=rn,t.particleFrag=nZ,t.particleOriginTranslateMap=ia,t.particleUniformTypeMap=aF,t.particleVert=nq,t.pluginLoaderMap=aJ,t.pointOnLine=function(t,e,r,i,n,o){var a=t*i+e*n+r*o-n*i-o*t-r*e;return a>-.001&&a<.001},t.random=rx,t.registerPlugin=a1,t.removeItem=e9,t.rotateVec2=ad,t.screenMeshVert=nQ,t.serialize=rY,t.setBlendMode=i6,t.setConfig=function(t,e){return oX[t]=e},t.setDefaultTextureFactory=function(t){es=t},t.setMaskMode=i9,t.setMaxSpriteMeshItemCount=og,t.setRayFromCamera=is,t.setSideMode=i8,t.setSpriteMeshMaxFragmentTextures=function(e){t.maxSpriteTextureCount=e},t.setSpriteMeshMaxItemCountByGPU=function(e){return(t.maxSpriteTextureCount=Math.min(e.maxFragmentTextures,16),e.maxVertexUniforms>=256)?t.maxSpriteMeshItemCount=32:e.maxVertexUniforms>=128?t.maxSpriteMeshItemCount=16:void(t.maxSpriteTextureCount=8)},t.setUniformValue=function(t,e,r){t[e]?t[e].value=r:t[e]=new eK.Uniform(r)},t.sortByOrder=ru,t.spec=rk,t.spriteMeshShaderFromFilter=op,t.spriteMeshShaderFromRenderInfo=oy,t.spriteMeshShaderIdFromRenderInfo=ov,t.thresholdFrag=n2,t.throwDestroyedError=rT,t.trailVert=nK,t.translatePoint=function(t,e){for(var r=[-.5,.5,-.5,-.5,.5,.5,.5,-.5],i=0;i<8;i+=2)r[i]+=t,r[i+1]+=e;return r},t.trianglesFromRect=iu,t.unregisterPlugin=function(t){delete a0[t],delete aJ[t],e9(a$,t)},t.valIfUndefined=function(t,e){return null==t?e:t},t.value="#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#define NONE_CONST_INDEX 1\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#endif\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\nmat4 cubicBezierMatrix=mat4(1.0,-3.0,3.0,-1.0,0.0,3.0,-6.0,3.0,0.0,0.0,3.0,-3.0,0.0,0.0,0.0,1.0);float cubicBezier(float t,float y1,float y2,float y3,float y4){vec4 tVec=vec4(1.0,t,t*t,t*t*t);vec4 yVec=vec4(y1,y2,y3,y4);vec4 result=tVec*cubicBezierMatrix*yVec;return result.x+result.y+result.z+result.w;}float binarySearchT(float x,float x1,float x2,float x3,float x4){float left=0.0;float right=1.0;float mid=0.0;float computedX;for(int i=0;i<8;i++){mid=(left+right)*0.5;computedX=cubicBezier(mid,x1,x2,x3,x4);if(abs(computedX-x)<0.0001){break;}else if(computedX>x){right=mid;}else{left=mid;}}return mid;}float valueFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);for(int i=0;i<ITR_END;i+=2){if(i>=count){break;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return k0.y;}if(i==int(frameCount-2.)&&time>=k1.x){return k1.y;}if(time>=k0.x&&time<=k1.x){float t=(time-k0.x)/(k1.x-k0.x);float nt=binarySearchT(time,k0.x,k0.z,k1.z,k1.x);return cubicBezier(nt,k0.y,k0.w,k1.w,k1.y);}}}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){if(i>count){return lookup_curve(i).w;}vec4 seg=lookup_curve(i+start);vec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}vec2 p2=lookup_curve(i+start+1).xy;if(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed);}if(type==5.){return valueFromBezierCurveFrames(time,value.z,value.w);}return 0.;}",t.valueDefine="#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n",t.vecAssign=ii,t.vecFill=ir,t.vecMulCombine=io,t.vecNormalize=function(t,e){1==arguments.length&&(e=t,t=[]);var r,i=e,n=(r=Math).hypot.apply(r,[].concat(i));if(0===n)return ii(t,i,i.length);for(var o=0;o<i.length;o++)t[o]=i[o]/n;return t},t.version=un,Object.defineProperty(t,"__esModule",{value:!0})});
6
+ * Version: v2.0.0-alpha.11
7
+ */function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("three")):"function"==typeof define&&define.amd?define(["exports","three"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).ge=t.ge||{},t.ge.three={}),t.THREE)}(this,function(t,e){"use strict";var r,i,n,o,a,s,u,c,l,h,f,m,d,p,v,y,g,x,T,E,_,C,b,A,S,w,R,O,M,L,I,V,P,F,z,N,D,U,k,B,G,X,H,Y,j,W,Z,q,K,Q,J,$,tt,te,tr,ti,tn,to,ta,ts,tu,tc,tl,th,tf,tm,td,tp,tv,ty,tg,tx,tT,tE,t_,tC,tb,tA,tS,tw,tR,tO,tM,tL,tI,tV,tP,tF,tz,tN,tD,tU,tk,tB,tG,tX,tH,tY,tj,tW=function(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}}),e.default=t,Object.freeze(e)}(e);function tZ(t,e,r,i,n,o,a){try{var s=t[o](a),u=s.value}catch(t){r(t);return}s.done?e(u):Promise.resolve(u).then(i,n)}function tq(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var o=t.apply(e,r);function a(t){tZ(o,i,n,a,s,"next",t)}function s(t){tZ(o,i,n,a,s,"throw",t)}a(void 0)})}}function tK(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):tK(t,e)}function tQ(t){return t&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t}function tJ(t,e,r,i){var n,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,r,i);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,r,a):n(e,r))||a);return o>3&&a&&Object.defineProperty(e,r,a),a}function t$(t,e){var r,i,n,o,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(r)throw TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(n=(n=a.trys).length>0&&n[n.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){a.label=s[1];break}if(6===s[0]&&a.label<n[1]){a.label=n[1],n=s;break}if(n&&a.label<n[2]){a.label=n[2],a.ops.push(s);break}n[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(t){s=[6,t],i=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}"function"==typeof SuppressedError&&SuppressedError;for(var t0=new Uint8Array(16),t1=[],t2=0;t2<256;++t2)t1.push((t2+256).toString(16).slice(1));var t3={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function t4(t,e){return t.includes(e)||t.push(e),t}function t5(t,e){var r=t.indexOf(e);return r>-1&&t.splice(r,1),t}function t6(t,e,r,i){if(void 0===r&&(r=1),t.buffer.byteLength<t.BYTES_PER_ELEMENT*e){var n=Math.ceil(e*r);isNaN(i)||(n=Math.min(n,i));var o=new ArrayBuffer(t.BYTES_PER_ELEMENT*n),a=new t.constructor(o);return a.set(t),a}return t}function t8(t,e){var r=[0,0,0,0];if(ef(t)){t=t.replace(/[\s\t\r\n]/g,"");var i=/rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(t);if(i){var n=+i[4];r=[+i[1],+i[2],+i[3],isNaN(n)?255:255*n]}else/^#[a-f\d]{3}$/i.test(t)?r=[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),255]:(i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t))&&(r=[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16),255])}else tK(t,Array)&&(r=[t[0],t[1],t[2],isNaN(t[3])?255:t[3]]);if(e)for(var o=0;o<4;o++)r[o]/=255;return r}function t9(t,e,r){if(t.length){for(var i,n=1;n<=t.length-1;n++){var o=t[n-1],a=t[n];if(o.stop<=e&&e<=a.stop){i=et(o.color,a.color,(e-o.stop)/(a.stop-o.stop));break}}return i||(i=t[t.length-1].color),r?i.map(function(t){return t/255}):i}return[0,0,0,0]}function t7(t){var e=[];if(tK(t,Array)?t.forEach(function(t){var r=t[0],i=t[1],n=t[2],o=t[3],a=t[4];e.push({stop:ee(r),color:[i,n,o,a]})}):Object.keys(t).forEach(function(r){var i=t8(t[r]);e.push({stop:ee(r),color:i})}),(e=e.sort(function(t,e){return t.stop-e.stop})).length){0!==e[0].stop&&e.unshift({stop:0,color:e[0].color.slice()});var r=e[e.length-1];1!==r.stop&&e.push({stop:1,color:r.color.slice()})}return e}function et(t,e,r,i){var n=[],o=1-r;if(i)for(var a=0;a<4;a++)n[a]=t[a]*o+e[a]*r;else{for(var s=0;s<3;s++)n[s]=Math.round(Math.sqrt(t[s]*t[s]*o+e[s]*e[s]*r));n[3]=Math.round(t[3]*o+e[3]*r)}return n}function ee(t){var e=/^(-)?([\d+.]+)%$/.exec(t);return e?+e[2]/100*(e[1]?-1:1):+t}function er(){return/\b[Aa]ndroid\b/.test(navigator.userAgent)}function ei(){return er()||/\b(iPad|iPhone|iPod)\b/.test(navigator.userAgent)}function en(t){var e={width:128,height:1,data:new Uint8Array(512)},r=e.data,i=t7(t);if(i.length){r.set(i[0].color,0);for(var n=1;n<127;n++){for(var o=n/128,a=void 0,s=void 0,u=0;u<i.length&&(a=i[u],s=i[u+1],!(a.stop<=o)||!(s.stop>o));u++);var c=et(a.color,s.color,(o-a.stop)/(s.stop-a.stop));r.set(c,4*n)}r.set(i[i.length-1].color,508)}return e}function eo(t,e){void 0===e&&(e=2);var r=t.length;if(r<=1||1===e)return t;if(!(r<=30))return function t(e,r,i,n){if(void 0===i&&(i=0),void 0===n&&(n=e.length-1),i>=n)return e;for(var o,a,s=e[i],u=i,c=n;u<c;){if(2===r){for(;e[c].priority>s.priority&&c>=u;)c--;for(;e[u].priority<=s.priority&&u<c;)u++}else{for(;e[c].priority<s.priority&&c>=u;)c--;for(;e[u].priority>=s.priority&&u<c;)u++}o=[e[c],e[u]],e[u]=o[0],e[c]=o[1]}return a=[e[u],e[i]],e[i]=a[0],e[u]=a[1],t(e,r,i,u-1),t(e,r,c+1,n),e}(t,e);for(var i=1;i<r;i++)es(t,i,e);return t}function ea(t,e,r){return void 0===r&&(r=2),t.includes(e)||(t.push(e),1===t.length||1!==r&&es(t,t.length-1,r)),t}function es(t,e,r){var i=t[e];if(2!==r)for(;e>=1&&t[e-1].priority<i.priority&&(t[e]=t[e-1],0!=--e););else for(;e>=1&&t[e-1].priority>i.priority&&(t[e]=t[e-1],0!=--e););t[e]=i}function eu(t,e){if(void 0===e&&(e="item doesn't exist"),null==t)throw Error(e)}function ec(t){return["%c[Galacean Effects]","color: #AA0100",""+t]}t.OrderType=void 0,(r=t.OrderType||(t.OrderType={}))[r.none=1]="none",r[r.ascending=2]="ascending",r[r.descending=3]="descending";var el={error:function(t){for(var e,r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];(e=console).error.apply(e,[].concat(ec(t),[i])),null==tt||tt("error",t,i)},info:function(t){for(var e,r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];(e=console).debug.apply(e,[].concat(ec(t))),null==tt||tt("info",t,i)},warn:function(t){for(var e,r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];(e=console).warn.apply(e,[].concat(ec(t))),null==tt||tt("warn",t,i)},register:function(t){t&&ed(t)&&(tt=t)}};function eh(){}function ef(t){return"string"==typeof t}t.DestroyOptions=void 0,(i=t.DestroyOptions||(t.DestroyOptions={}))[i.destroy=0]="destroy",i[i.keep=1]="keep",i[i.force=0]="force";var em=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function ed(t){return"[object Function]"===Object.prototype.toString.call(t)}function ep(t){return"[object Object]"===Object.prototype.toString.call(t)}function ev(t,e){return t+Math.random()*(e-t)}function ey(){throw Error("destroyed item cannot be used again")}function eg(){return(function(t,e,r){if(t3.randomUUID&&!t)return t3.randomUUID();var i,n=(t=t||{}).random||(t.rng||function(){if(!$&&!($="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return $(t0)})();return n[6]=15&n[6]|64,n[8]=63&n[8]|128,void 0===i&&(i=0),t1[n[i+0]]+t1[n[i+1]]+t1[n[i+2]]+t1[n[i+3]]+"-"+t1[n[i+4]]+t1[n[i+5]]+"-"+t1[n[i+6]]+t1[n[i+7]]+"-"+t1[n[i+8]]+t1[n[i+9]]+"-"+t1[n[i+10]]+t1[n[i+11]]+t1[n[i+12]]+t1[n[i+13]]+t1[n[i+14]]+t1[n[i+15]]})().replace(/-/g,"")}function ex(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function eT(t,e,r){return e&&ex(t.prototype,e),r&&ex(t,r),t}function eE(t,e){return(eE=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function e_(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&eE(t,e)}function eC(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,i=Array(e);r<e;r++)i[r]=t[r];return i}function eb(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return eC(t,void 0);var r=Object.prototype.toString.call(t).slice(8,-1);if("Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return eC(t,void 0)}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var eA=Math.PI/180,eS=180/Math.PI;function ew(t,e){return 1e-6>Math.abs(t-e)||t===1/0&&e===1/0||t===-1/0&&e===-1/0}var eR=function(t,e,r){return(1-r)*t+r*e};function eO(t,e,r){var i=isNaN(e)?-1/0:e,n=isNaN(r)?1/0:r;return Math.min(Math.max(t,Math.min(i,n)),Math.max(i,n))}var eM=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}var e=t.prototype;return e.set=function(t,e){return this.x=t,this.y=e,this},e.setZero=function(){return this.x=0,this.y=0,this},e.setFromNumber=function(t){return this.x=t,this.y=t,this},e.setFromArray=function(t,e){var r,i;return void 0===e&&(e=0),this.x=null!=(r=t[e])?r:0,this.y=null!=(i=t[e+1])?i:0,this},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this},e.clone=function(){return new t(this.x,this.y)},e.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t):tK(t,Array)?(this.x+=t[0],this.y+=t[1]):(this.x+=t.x,this.y+=t.y),this},e.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},e.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t):tK(t,Array)?(this.x-=t[0],this.y-=t[1]):(this.x-=t.x,this.y-=t.y),this},e.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},e.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t):tK(t,Array)?(this.x*=t[0],this.y*=t[1]):(this.x*=t.x,this.y*=t.y),this},e.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this},e.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t):tK(t,Array)?(this.x/=t[0],this.y/=t[1]):(this.x/=t.x,this.y/=t.y),this},e.scale=function(t){return this.x*=t,this.y*=t,this},e.sum=function(){return this.x+this.y},e.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y)),this},e.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},e.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},e.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},e.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},e.lengthSquared=function(){return this.x*this.x+this.y*this.y},e.normalize=function(){return this.divide(this.length()||1)},e.setLength=function(t){return this.normalize().multiply(t)},e.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this},e.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this},e.dot=function(t){return this.x*t.x+this.y*t.y},e.cross=function(t){return this.x*t.y-this.y*t.x},e.distance=function(t){var e=this.x-t.x,r=this.y-t.y;return Math.sqrt(e*e+r*r)},e.distanceSquared=function(t){var e=this.x-t.x,r=this.y-t.y;return e*e+r*r},e.equals=function(t){return this.x===t.x&&this.y===t.y},e.isZero=function(){var t=this.x,e=this.y;return 1e-6>=Math.abs(t)&&1e-6>=Math.abs(e)},e.toArray=function(){return[this.x,this.y]},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y},e.random=function(){return this.x=Math.random(),this.y=Math.random(),this},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t}();eM.ONE=new eM(1,1),eM.ZERO=new eM(0,0);var eL=function(){function t(t,e,r){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),this.x=t,this.y=e,this.z=r}var e=t.prototype;return e.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},e.setZero=function(){return this.x=0,this.y=0,this.z=0,this},e.setFromNumber=function(t){return this.x=t,this.y=t,this.z=t,this},e.setFromArray=function(t,e){var r,i,n;return void 0===e&&(e=0),this.x=null!=(r=t[e])?r:0,this.y=null!=(i=t[e+1])?i:0,this.z=null!=(n=t[e+2])?n:0,this},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},e.clone=function(){return new t(this.x,this.y,this.z)},e.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t,this.z+=t):tK(t,Array)?(this.x+=t[0],this.y+=t[1],this.z+=t[2]):(this.x+=t.x,this.y+=t.y,this.z+=t.z),this},e.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},e.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},e.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t,this.z-=t):tK(t,Array)?(this.x-=t[0],this.y-=t[1],this.z-=t[2]):(this.x-=t.x,this.y-=t.y,this.z-=t.z),this},e.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},e.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t,this.z*=t):tK(t,Array)?(this.x*=t[0],this.y*=t[1],this.z*=t[2]):(this.x*=t.x,this.y*=t.y,this.z*=t.z),this},e.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},e.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t,this.z/=t):tK(t,Array)?(this.x/=t[0],this.y/=t[1],this.z/=t[2]):(this.x/=t.x,this.y/=t.y,this.z/=t.z),this},e.scale=function(t){return this.x*=t,this.y*=t,this.z*=t,this},e.sum=function(){return this.x+this.y+this.z},e.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t),this.z=Math.min(this.z,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z)),this},e.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t),this.z=Math.max(this.z,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},e.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},e.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},e.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this.z=Math.abs(this.z),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},e.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z},e.normalize=function(){return this.divide(this.length()||1)},e.setLength=function(t){return this.normalize().multiply(t)},e.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this},e.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this.z=t.z+(e.z-t.z)*r,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},e.cross=function(t){return this.crossVectors(this,t)},e.crossVectors=function(t,e){var r=t.x,i=t.y,n=t.z,o=e.x,a=e.y,s=e.z;return this.x=i*s-n*a,this.y=n*o-r*s,this.z=r*a-i*o,this},e.reflect=function(t){return this.subtract(t.clone().multiply(2*this.dot(t)))},e.distance=function(t){return Math.sqrt(this.distanceSquared(t))},e.distanceSquared=function(t){var e=this.x-t.x,r=this.y-t.y,i=this.z-t.z;return e*e+r*r+i*i},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},e.isZero=function(){var t=this.x,e=this.y,r=this.z;return 1e-6>=Math.abs(t)&&1e-6>=Math.abs(e)&&1e-6>=Math.abs(r)},e.toArray=function(){return[this.x,this.y,this.z]},e.toVector2=function(){return new eM(this.x,this.y)},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z},e.random=function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this},e.applyEuler=function(t,e){return t.rotateVector3(this,e)},e.applyQuaternion=function(t,e){return t.rotateVector3(this,e)},e.applyMatrix=function(t,e){return t.transformPoint(this,e)},e.applyNormalMatrix=function(t,e){return t.transformNormal(this,e)},e.applyProjectionMatrix=function(t,e){return t.projectPoint(this,e)},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t}();eL.X=new eL(1,0,0),eL.Y=new eL(0,1,0),eL.Z=new eL(0,0,1),eL.ONE=new eL(1,1,1),eL.ZERO=new eL(0,0,0);var eI=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=1),this.x=t,this.y=e,this.z=r,this.w=i}var e=t.prototype;return e.set=function(t,e,r,i){return this.x=t,this.y=e,this.z=r,this.w=i,this},e.setFromEuler=function(t){return t.toQuaternion(this),this},e.setFromAxisAngle=function(e,r){var i=r/2,n=Math.sin(i),o=t.tempVec0;return o.copyFrom(e).normalize(),this.x=o.x*n,this.y=o.y*n,this.z=o.z*n,this.w=Math.cos(i),this},e.setFromVector4=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.setFromArray=function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this},e.setFromRotationMatrix=function(t){var e=t.elements,r=e[0],i=e[4],n=e[8],o=e[1],a=e[5],s=e[9],u=e[2],c=e[6],l=e[10],h=r+a+l;if(h>0){var f=.5/Math.sqrt(h+1);this.w=.25/f,this.x=(c-s)*f,this.y=(n-u)*f,this.z=(o-i)*f}else if(r>a&&r>l){var m=2*Math.sqrt(1+r-a-l);this.w=(c-s)/m,this.x=.25*m,this.y=(i+o)/m,this.z=(n+u)/m,this.negate()}else if(a>l){var d=2*Math.sqrt(1+a-r-l);this.w=(n-u)/d,this.x=(i+o)/d,this.y=.25*d,this.z=(s+c)/d,this.negate()}else{var p=2*Math.sqrt(1+l-r-a);this.w=(o-i)/p,this.x=(n+u)/p,this.y=(s+c)/p,this.z=.25*p,this.negate()}return this},e.setFromUnitVectors=function(t,e){var r=t.dot(e)+1;return r<Number.EPSILON?(r=0,Math.abs(t.x)>Math.abs(t.z)?(this.x=-t.y,this.y=t.x,this.z=0):(this.x=0,this.y=-t.z,this.z=t.y)):(this.x=t.y*e.z-t.z*e.y,this.y=t.z*e.x-t.x*e.z,this.z=t.x*e.y-t.y*e.x),this.w=r,this.normalize()},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.clone=function(){return new t(this.x,this.y,this.z,this.w)},e.angleTo=function(t){return 2*Math.acos(Math.abs(eO(this.dot(t),-1,1)))},e.rotateTowards=function(t,e){var r=this.angleTo(t);return 0===r||this.slerp(t,Math.min(1,e/r)),this},e.identity=function(){return this.set(0,0,0,1)},e.invert=function(){return this.conjugate()},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},e.conjugate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.normalize=function(){var t=this.length();return 0===t?(this.x=0,this.y=0,this.z=0,this.w=1):(t=1/t,this.x=this.x*t,this.y=this.y*t,this.z=this.z*t,this.w=this.w*t),this},e.multiply=function(t){return this.multiplyQuaternions(this,t)},e.premultiply=function(t){return this.multiplyQuaternions(t,this)},e.multiplyQuaternions=function(t,e){var r=t.x,i=t.y,n=t.z,o=t.w,a=e.x,s=e.y,u=e.z,c=e.w;return this.x=r*c+o*a+i*u-n*s,this.y=i*c+o*s+n*a-r*u,this.z=n*c+o*u+r*s-i*a,this.w=o*c-r*a-i*s-n*u,this},e.slerp=function(t,e){if(0===e)return this;if(1===e)return this.copyFrom(t);var r=this.x,i=this.y,n=this.z,o=this.w,a=o*t.w+r*t.x+i*t.y+n*t.z;if(a<0?(this.w=-t.w,this.x=-t.x,this.y=-t.y,this.z=-t.z,a=-a):this.copyFrom(t),a>=1)return this.w=o,this.x=r,this.y=i,this.z=n,this;var s=1-a*a;if(s<=Number.EPSILON){var u=1-e;return this.w=u*o+e*this.w,this.x=u*r+e*this.x,this.y=u*i+e*this.y,this.z=u*n+e*this.z,this.normalize(),this}var c=Math.sqrt(s),l=Math.atan2(c,a),h=Math.sin((1-e)*l)/c,f=Math.sin(e*l)/c;return this.w=o*h+this.w*f,this.x=r*h+this.x*f,this.y=i*h+this.y*f,this.z=n*h+this.z*f,this},e.slerpQuaternions=function(t,e,r){this.copyFrom(t).slerp(e,r)},e.rotateVector3=function(t,e){var r=this.x,i=this.y,n=this.z,o=this.w,a=t.x,s=t.y,u=t.z,c=o*a+i*u-n*s,l=o*s+n*a-r*u,h=o*u+r*s-i*a,f=-r*a-i*s-n*u,m=null!=e?e:t;return m.x=c*o+-(f*r)+-(l*n)- -(h*i),m.y=l*o+-(f*i)+-(h*r)- -(c*n),m.z=h*o+-(f*n)+-(c*i)- -(l*r),m},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},e.toArray=function(){return[this.x,this.y,this.z,this.w]},e.toVector4=function(t){return t.set(this.x,this.y,this.z,this.w)},e.toEuler=function(t){return t.setFromQuaternion(this)},e.toMatrix4=function(t){return t.compose(eL.ZERO,this,eL.ONE)},t.fromEuler=function(e){return new t().setFromEuler(e)},t.fromAxisAngle=function(e,r){return new t().setFromAxisAngle(e,r)},t.fromVector4=function(e){return new t().setFromVector4(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromRotationMatrix=function(e){return new t().setFromRotationMatrix(e)},t.fromUnitVectors=function(e,r){return new t().setFromUnitVectors(e,r)},t}();eI.tempVec0=new eL;var eV=function(){function t(t,e,r,i,n,o,a,s,u,c,l,h,f,m,d,p){void 0===t&&(t=1),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=1),void 0===a&&(a=0),void 0===s&&(s=0),void 0===u&&(u=0),void 0===c&&(c=0),void 0===l&&(l=1),void 0===h&&(h=0),void 0===f&&(f=0),void 0===m&&(m=0),void 0===d&&(d=0),void 0===p&&(p=1),this.elements=[t,e,r,i,n,o,a,s,u,c,l,h,f,m,d,p]}var e=t.prototype;return e.set=function(t,e,r,i,n,o,a,s,u,c,l,h,f,m,d,p){var v=this.elements;return v[0]=t,v[1]=e,v[2]=r,v[3]=i,v[4]=n,v[5]=o,v[6]=a,v[7]=s,v[8]=u,v[9]=c,v[10]=l,v[11]=h,v[12]=f,v[13]=m,v[14]=d,v[15]=p,this},e.setFromRowMajorData=function(t,e,r,i,n,o,a,s,u,c,l,h,f,m,d,p){var v=this.elements;return v[0]=t,v[4]=e,v[8]=r,v[12]=i,v[1]=n,v[5]=o,v[9]=a,v[13]=s,v[2]=u,v[6]=c,v[10]=l,v[14]=h,v[3]=f,v[7]=m,v[11]=d,v[15]=p,this},e.setFromColumnVectors=function(t,e,r,i){return this.set(t.x,t.y,t.z,t.w,e.x,e.y,e.z,e.w,r.x,r.y,r.z,r.w,i.x,i.y,i.z,i.w)},e.setFromMatrix3=function(t){var e=t.elements;return this.set(e[0],e[1],e[2],0,e[3],e[4],e[5],0,e[6],e[7],e[8],0,0,0,0,1),this},e.setFromArray=function(t,e){void 0===e&&(e=0);for(var r=0;r<16;r++)this.elements[r]=t[e+r];return this},e.setFromScale=function(t,e,r){return this.set(t,0,0,0,0,e,0,0,0,0,r,0,0,0,0,1)},e.setFromTranslation=function(t,e,r){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,t,e,r,1)},e.setFromRotationX=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(1,0,0,0,0,e,r,0,0,-r,e,0,0,0,0,1)},e.setFromRotationY=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(e,0,-r,0,0,1,0,0,r,0,e,0,0,0,0,1)},e.setFromRotationZ=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(e,r,0,0,-r,e,0,0,0,0,1,0,0,0,0,1)},e.setFromRotationAxis=function(e,r){var i=t.tempVec0;i.copyFrom(e).normalize();var n=Math.cos(r),o=Math.sin(r),a=1-n,s=i.x,u=i.y,c=i.z,l=a*s,h=a*u;return this.set(l*s+n,l*u+o*c,l*c-o*u,0,l*u-o*c,h*u+n,h*c+o*s,0,l*c+o*u,h*c-o*s,a*c*c+n,0,0,0,0,1)},e.setFromEuler=function(t){return t.toMatrix4(this),this},e.setFromQuaternion=function(t){return this.compose(eL.ZERO,t,eL.ONE)},e.setFromShear=function(t,e,r){return this.set(1,t,t,0,e,1,e,0,r,r,1,0,0,0,0,1)},e.setFromBasis=function(t,e,r){return this.set(t.x,t.y,t.z,0,e.x,e.y,e.z,0,r.x,r.y,r.z,0,0,0,0,1)},e.setZero=function(){for(var t=0;t<16;t++)this.elements[t]=0;return this},e.identity=function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},e.isIdentity=function(){var t=this.elements;return 1===t[0]&&0===t[4]&&0===t[8]&&0===t[12]&&0===t[1]&&1===t[5]&&0===t[9]&&0===t[13]&&0===t[2]&&0===t[6]&&1===t[10]&&0===t[14]&&0===t[3]&&0===t[7]&&0===t[11]&&1===t[15]},e.clone=function(){var e=this.elements;return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},e.copyFrom=function(t){return this.elements=[].concat(t.elements),this},e.getColumnVector=function(t,e){return e.set(this.elements[4*t],this.elements[4*t+1],this.elements[4*t+2],this.elements[4*t+3])},e.lookAt=function(e,r,i){var n=t.tempVec0,o=t.tempVec1,a=t.tempVec2;a.subtractVectors(e,r),a.normalize(),n.crossVectors(i,a),n.normalize(),o.crossVectors(a,n);var s=this.elements;return s[0]=n.x,s[1]=o.x,s[2]=a.x,s[3]=0,s[4]=n.y,s[5]=o.y,s[6]=a.y,s[7]=0,s[8]=n.z,s[9]=o.z,s[10]=a.z,s[11]=0,s[12]=-n.dot(e),s[13]=-o.dot(e),s[14]=-a.dot(e),s[15]=1,this},e.addScaledMatrix=function(t,e){for(var r=this.elements,i=t.elements,n=0;n<16;n++)r[n]+=i[n]*e;return this},e.multiply=function(t){if("number"!=typeof t)return this.multiplyMatrices(this,t);for(var e=0;e<16;e++)this.elements[e]*=t;return this},e.premultiply=function(t){return this.multiplyMatrices(t,this)},e.multiplyMatrices=function(t,e){var r=t.elements,i=e.elements,n=this.elements,o=r[0],a=r[4],s=r[8],u=r[12],c=r[1],l=r[5],h=r[9],f=r[13],m=r[2],d=r[6],p=r[10],v=r[14],y=r[3],g=r[7],x=r[11],T=r[15],E=i[0],_=i[4],C=i[8],b=i[12],A=i[1],S=i[5],w=i[9],R=i[13],O=i[2],M=i[6],L=i[10],I=i[14],V=i[3],P=i[7],F=i[11],z=i[15];return n[0]=o*E+a*A+s*O+u*V,n[4]=o*_+a*S+s*M+u*P,n[8]=o*C+a*w+s*L+u*F,n[12]=o*b+a*R+s*I+u*z,n[1]=c*E+l*A+h*O+f*V,n[5]=c*_+l*S+h*M+f*P,n[9]=c*C+l*w+h*L+f*F,n[13]=c*b+l*R+h*I+f*z,n[2]=m*E+d*A+p*O+v*V,n[6]=m*_+d*S+p*M+v*P,n[10]=m*C+d*w+p*L+v*F,n[14]=m*b+d*R+p*I+v*z,n[3]=y*E+g*A+x*O+T*V,n[7]=y*_+g*S+x*M+T*P,n[11]=y*C+g*w+x*L+T*F,n[15]=y*b+g*R+x*I+T*z,this},e.multiplyScalar=function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this},e.determinant=function(){var t=this.elements,e=t[0],r=t[4],i=t[8],n=t[12],o=t[1],a=t[5],s=t[9],u=t[13],c=t[2],l=t[6],h=t[10],f=t[14];return t[3]*(+n*s*l-i*u*l-n*a*h+r*u*h+i*a*f-r*s*f)+t[7]*(+e*s*f-e*u*h+n*o*h-i*o*f+i*u*c-n*s*c)+t[11]*(+e*u*l-e*a*f-n*o*l+r*o*f+n*a*c-r*u*c)+t[15]*(-i*a*c-e*s*l+e*a*h+i*o*l-r*o*h+r*s*c)},e.transpose=function(){var t,e=this.elements;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this},e.invert=function(){var t=this.elements,e=t[0],r=t[1],i=t[2],n=t[3],o=t[4],a=t[5],s=t[6],u=t[7],c=t[8],l=t[9],h=t[10],f=t[11],m=t[12],d=t[13],p=t[14],v=t[15],y=l*p*u-d*h*u+d*s*f-a*p*f-l*s*v+a*h*v,g=m*h*u-c*p*u-m*s*f+o*p*f+c*s*v-o*h*v,x=c*d*u-m*l*u+m*a*f-o*d*f-c*a*v+o*l*v,T=m*l*s-c*d*s-m*a*h+o*d*h+c*a*p-o*l*p,E=e*y+r*g+i*x+n*T;if(0===E)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);var _=1/E;return t[0]=y*_,t[1]=(d*h*n-l*p*n-d*i*f+r*p*f+l*i*v-r*h*v)*_,t[2]=(a*p*n-d*s*n+d*i*u-r*p*u-a*i*v+r*s*v)*_,t[3]=(l*s*n-a*h*n-l*i*u+r*h*u+a*i*f-r*s*f)*_,t[4]=g*_,t[5]=(c*p*n-m*h*n+m*i*f-e*p*f-c*i*v+e*h*v)*_,t[6]=(m*s*n-o*p*n-m*i*u+e*p*u+o*i*v-e*s*v)*_,t[7]=(o*h*n-c*s*n+c*i*u-e*h*u-o*i*f+e*s*f)*_,t[8]=x*_,t[9]=(m*l*n-c*d*n-m*r*f+e*d*f+c*r*v-e*l*v)*_,t[10]=(o*d*n-m*a*n+m*r*u-e*d*u-o*r*v+e*a*v)*_,t[11]=(c*a*n-o*l*n-c*r*u+e*l*u+o*r*f-e*a*f)*_,t[12]=T*_,t[13]=(c*d*i-m*l*i+m*r*h-e*d*h-c*r*p+e*l*p)*_,t[14]=(m*a*i-o*d*i-m*r*s+e*d*s+o*r*p-e*a*p)*_,t[15]=(o*l*i-c*a*i+c*r*s-e*l*s-o*r*h+e*a*h)*_,this},e.extractBasis=function(t,e,r){var i=this.elements;return t.set(i[0],i[1],i[2]),e.set(i[4],i[5],i[6]),r.set(i[8],i[9],i[10]),this},e.compose=function(t,e,r,i){void 0===i&&(i=eL.ZERO);var n=this.elements,o=e.x,a=e.y,s=e.z,u=e.w,c=-i.x,l=-i.y,h=-i.z,f=o+o,m=a+a,d=s+s,p=o*f,v=o*m,y=o*d,g=a*m,x=a*d,T=s*d,E=u*f,_=u*m,C=u*d,b=r.x,A=r.y,S=r.z;return n[0]=(1-(g+T))*b,n[1]=(v+C)*b,n[2]=(y-_)*b,n[3]=0,n[4]=(v-C)*A,n[5]=(1-(p+T))*A,n[6]=(x+E)*A,n[7]=0,n[8]=(y+_)*S,n[9]=(x-E)*S,n[10]=(1-(p+g))*S,n[11]=0,n[12]=c*n[0]+l*n[4]+h*n[8]-c+t.x,n[13]=c*n[1]+l*n[5]+h*n[9]-l+t.y,n[14]=c*n[2]+l*n[6]+h*n[10]-h+t.z,this},e.decompose=function(e,r,i){var n=t.tempVec0,o=this.elements,a=n.set(o[0],o[1],o[2]).length(),s=n.set(o[4],o[5],o[6]).length(),u=n.set(o[8],o[9],o[10]).length();0>this.determinant()&&(a=-a),e.x=o[12],e.y=o[13],e.z=o[14];var c=t.tempMat0;c.copyFrom(this);var l=1/a,h=1/s,f=1/u;return c.elements[0]*=l,c.elements[1]*=l,c.elements[2]*=l,c.elements[4]*=h,c.elements[5]*=h,c.elements[6]*=h,c.elements[8]*=f,c.elements[9]*=f,c.elements[10]*=f,r.setFromRotationMatrix(c),i.x=a,i.y=s,i.z=u,this},e.getTranslation=function(t){var e=this.elements;return t.set(e[12],e[13],e[14])},e.getScale=function(t){var e=this.elements;return t.set(Math.hypot(e[0],e[1],e[2]),Math.hypot(e[4],e[5],e[6]),Math.hypot(e[8],e[9],e[10]))},e.getTransform=function(){var t=new eL,e=new eI,r=new eL;return this.decompose(t,e,r),{translation:t,rotation:e,scale:r}},e.orthographic=function(t,e,r,i,n,o){var a=1/(e-t),s=1/(r-i),u=1/(o-n),c=-(e+t)*a,l=-(r+i)*s,h=-(o+n)*u;a*=2,s*=2,u*=-2;var f=this.elements;return f[0]=a,f[1]=0,f[2]=0,f[3]=0,f[4]=0,f[5]=s,f[6]=0,f[7]=0,f[8]=0,f[9]=0,f[10]=u,f[11]=0,f[12]=c,f[13]=l,f[14]=h,f[15]=1,this},e.perspective=function(t,e,r,i,n){var o=1/Math.tan(.5*t),a=1/(r-i),s=this.elements;return s[0]=n?o:o/e,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=n?o*e:o,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=(i+r)*a,s[11]=-1,s[12]=0,s[13]=0,s[14]=2*i*r*a,s[15]=0,(null===i||i===1/0)&&(s[10]=-1,s[14]=-2*r),this},e.projectPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;a.x=o[0]*r+o[4]*i+o[8]*n+o[12],a.y=o[1]*r+o[5]*i+o[9]*n+o[13],a.z=o[2]*r+o[6]*i+o[10]*n+o[14];var s=o[3]*r+o[7]*i+o[11]*n+o[15];return a.multiply(1/s)},e.transformPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[4]*i+o[8]*n+o[12],a.y=o[1]*r+o[5]*i+o[9]*n+o[13],a.z=o[2]*r+o[6]*i+o[10]*n+o[14],a},e.transformNormal=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[4]*i+o[8]*n,a.y=o[1]*r+o[5]*i+o[9]*n,a.z=o[2]*r+o[6]*i+o[10]*n,a.normalize()},e.transformVector4=function(t,e){var r=t.x,i=t.y,n=t.z,o=t.w,a=this.elements,s=null!=e?e:t;return s.x=a[0]*r+a[4]*i+a[8]*n+a[12]*o,s.y=a[1]*r+a[5]*i+a[9]*n+a[13]*o,s.z=a[2]*r+a[6]*i+a[10]*n+a[14]*o,s.w=a[3]*r+a[7]*i+a[11]*n+a[15]*o,s},e.equals=function(t){for(var e=this.elements,r=t.elements,i=0;i<16;i++)if(!ew(e[i],r[i]))return!1;return!0},e.toArray=function(){return[].concat(this.elements)},e.fill=function(t,e){void 0===e&&(e=0);var r=this.elements;t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8],t[e+9]=r[9],t[e+10]=r[10],t[e+11]=r[11],t[e+12]=r[12],t[e+13]=r[13],t[e+14]=r[14],t[e+15]=r[15]},t.fromIdentity=function(){return new t(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},t.fromLookAt=function(e,r,i){return new t().lookAt(e,r,i)},t.fromPerspective=function(e,r,i,n,o){return new t().perspective(e,r,i,n,o)},t.fromColumnVectors=function(e,r,i,n){return new t().setFromColumnVectors(e,r,i,n)},t.fromMatrix3=function(e){return new t().setFromMatrix3(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromScale=function(e,r,i){return new t().setFromScale(e,r,i)},t.fromTranslation=function(e,r,i){return new t().setFromTranslation(e,r,i)},t.fromRotationX=function(e){return new t().setFromRotationX(e)},t.fromRotationY=function(e){return new t().setFromRotationY(e)},t.fromRotationZ=function(e){return new t().setFromRotationZ(e)},t.fromRotationAxis=function(e,r){return new t().setFromRotationAxis(e,r)},t.fromEuler=function(e){return new t().setFromEuler(e)},t.fromQuaternion=function(e){return new t().setFromQuaternion(e)},t.fromShear=function(e,r,i){return new t().setFromShear(e,r,i)},t.fromBasis=function(e,r,i){return new t().setFromBasis(e,r,i)},t.fromRowMajorData=function(e,r,i,n,o,a,s,u,c,l,h,f,m,d,p,v){return new t(e,o,c,m,r,a,l,d,i,s,h,p,n,u,f,v)},t}();eV.IDENTITY=new eV(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),eV.ZERO=new eV(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),eV.tempVec0=new eL,eV.tempVec1=new eL,eV.tempVec2=new eL,eV.tempMat0=new eV,(n=te||(te={}))[n.XYZ=0]="XYZ",n[n.XZY=1]="XZY",n[n.YXZ=2]="YXZ",n[n.YZX=3]="YZX",n[n.ZXY=4]="ZXY",n[n.ZYX=5]="ZYX";var eP=function(){function t(e,r,i,n){void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=t.DEFAULT_ORDER),this.x=e,this.y=r,this.z=i,this.order=n}var e=t.prototype;return e.set=function(t,e,r,i){return void 0===i&&(i=this.order),this.x=t,this.y=e,this.z=r,this.order=i,this},e.setZero=function(t){return void 0===t&&(t=this.order),this.set(0,0,0,t)},e.setFromRotationMatrix4=function(t,e){void 0===e&&(e=this.order);var r=t.elements,i=r[0],n=r[4],o=r[8],a=r[1],s=r[5],u=r[9],c=r[2],l=r[6],h=r[10];switch(e){case te.XYZ:this.y=Math.asin(eO(o,-1,1)),.9999999>Math.abs(o)?(this.x=Math.atan2(-u,h),this.z=Math.atan2(-n,i)):(this.x=Math.atan2(l,s),this.z=0);break;case te.YXZ:this.x=Math.asin(-eO(u,-1,1)),.9999999>Math.abs(u)?(this.y=Math.atan2(o,h),this.z=Math.atan2(a,s)):(this.y=Math.atan2(-c,i),this.z=0);break;case te.ZXY:this.x=Math.asin(eO(l,-1,1)),.9999999>Math.abs(l)?(this.y=Math.atan2(-c,h),this.z=Math.atan2(-n,s)):(this.y=0,this.z=Math.atan2(a,i));break;case te.ZYX:this.y=Math.asin(-eO(c,-1,1)),.9999999>Math.abs(c)?(this.x=Math.atan2(l,h),this.z=Math.atan2(a,i)):(this.x=0,this.z=Math.atan2(-n,s));break;case te.YZX:this.z=Math.asin(eO(a,-1,1)),.9999999>Math.abs(a)?(this.x=Math.atan2(-u,s),this.y=Math.atan2(-c,i)):(this.x=0,this.y=Math.atan2(o,h));break;case te.XZY:this.z=Math.asin(-eO(n,-1,1)),.9999999>Math.abs(n)?(this.x=Math.atan2(l,s),this.y=Math.atan2(o,i)):(this.x=Math.atan2(-u,h),this.y=0);break;default:console.error("setFromRotationMatrix: unknown order: "+e)}return this.x*=eS,this.y*=eS,this.z*=eS,this.order=e,this},e.setFromQuaternion=function(e,r){void 0===r&&(r=this.order);var i=t.tempMat0;return i.setFromQuaternion(e),this.setFromRotationMatrix4(i,r)},e.setFromVector3=function(t,e){return void 0===e&&(e=this.order),this.set(t.x,t.y,t.z,e)},e.setFromArray=function(t,e,r){var i,n,o,a;return void 0===e&&(e=0),void 0===r&&(r=this.order),this.x=null!=(i=t[e])?i:0,this.y=null!=(n=t[e+1])?n:0,this.z=null!=(o=t[e+2])?o:0,this.order=null!=(a=t[e+3])?a:r,this},e.clone=function(){return new t(this.x,this.y,this.z,this.order)},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.order=t.order,this},e.add=function(t){return this.order!=t.order?console.error("add euler with different order"):(this.x+=t.x,this.y+=t.y,this.z+=t.z),this},e.addEulers=function(t,e){return t.order!=e.order?console.error("add euler with different order"):(this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.order=t.order),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},e.reorder=function(t){var e=new eI;return e.setFromEuler(this),this.setFromQuaternion(e,t)},e.rotateVector3=function(e,r){return t.tempQuat0.setFromEuler(this).rotateVector3(e,r)},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.order===this.order},e.toVector3=function(t){return t.set(this.x,this.y,this.z)},e.toArray=function(){return[this.x,this.y,this.z]},e.toQuaternion=function(t){var e=this.x,r=this.y,i=this.z,n=this.order,o=Math.cos(e*eA*.5),a=Math.cos(r*eA*.5),s=Math.cos(i*eA*.5),u=Math.sin(e*eA*.5),c=Math.sin(r*eA*.5),l=Math.sin(i*eA*.5);switch(n){case te.XYZ:t.set(u*a*s+o*c*l,o*c*s-u*a*l,o*a*l+u*c*s,o*a*s-u*c*l);break;case te.YXZ:t.set(u*a*s+o*c*l,o*c*s-u*a*l,o*a*l-u*c*s,o*a*s+u*c*l);break;case te.ZXY:t.set(u*a*s-o*c*l,o*c*s+u*a*l,o*a*l+u*c*s,o*a*s-u*c*l);break;case te.ZYX:t.set(u*a*s-o*c*l,o*c*s+u*a*l,o*a*l-u*c*s,o*a*s+u*c*l);break;case te.YZX:t.set(u*a*s+o*c*l,o*c*s+u*a*l,o*a*l-u*c*s,o*a*s-u*c*l);break;case te.XZY:t.set(u*a*s-o*c*l,o*c*s-u*a*l,o*a*l+u*c*s,o*a*s+u*c*l);break;default:console.error("unknown euler order: "+n)}return t},e.toMatrix4=function(t){var e=t.elements,r=this.x,i=this.y,n=this.z,o=this.order,a=Math.cos(r*eA),s=Math.sin(r*eA),u=Math.cos(i*eA),c=Math.sin(i*eA),l=Math.cos(n*eA),h=Math.sin(n*eA);if(o===te.XYZ){var f=a*l,m=a*h,d=s*l,p=s*h;e[0]=u*l,e[4]=-u*h,e[8]=c,e[1]=m+d*c,e[5]=f-p*c,e[9]=-s*u,e[2]=p-f*c,e[6]=d+m*c,e[10]=a*u}else if(o===te.YXZ){var v=u*l,y=u*h,g=c*l,x=c*h;e[0]=v+x*s,e[4]=g*s-y,e[8]=a*c,e[1]=a*h,e[5]=a*l,e[9]=-s,e[2]=y*s-g,e[6]=x+v*s,e[10]=a*u}else if(o===te.ZXY){var T=u*l,E=u*h,_=c*l,C=c*h;e[0]=T-C*s,e[4]=-a*h,e[8]=_+E*s,e[1]=E+_*s,e[5]=a*l,e[9]=C-T*s,e[2]=-a*c,e[6]=s,e[10]=a*u}else if(o===te.ZYX){var b=a*l,A=a*h,S=s*l,w=s*h;e[0]=u*l,e[4]=S*c-A,e[8]=b*c+w,e[1]=u*h,e[5]=w*c+b,e[9]=A*c-S,e[2]=-c,e[6]=s*u,e[10]=a*u}else if(o===te.YZX){var R=a*u,O=a*c,M=s*u,L=s*c;e[0]=u*l,e[4]=L-R*h,e[8]=M*h+O,e[1]=h,e[5]=a*l,e[9]=-s*l,e[2]=-c*l,e[6]=O*h+M,e[10]=R-L*h}else if(o===te.XZY){var I=a*u,V=a*c,P=s*u,F=s*c;e[0]=u*l,e[4]=-h,e[8]=c*l,e[1]=I*h+F,e[5]=a*l,e[9]=V*h-P,e[2]=P*h-V,e[6]=s*l,e[10]=F*h+I}else console.error("toMatrix4: Invalid order "+o);return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,t},t.fromRotationMatrix4=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),new t().setFromRotationMatrix4(e,r)},t.fromQuaternion=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),new t().setFromQuaternion(e,r)},t.fromVector3=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),new t().setFromVector3(e,r)},t.fromArray=function(e,r,i){return void 0===r&&(r=0),void 0===i&&(i=t.DEFAULT_ORDER),new t().setFromArray(e,r,i)},t}();eP.DEFAULT_ORDER=te.ZYX,eP.tempQuat0=new eI,eP.tempMat0=new eV,(o=tr||(tr={})).S="S",o.APlus="A+",o.A="A",o.BPlus="B+",o.B="B",(a=ti||(ti={}))[a.ALPHA=0]="ALPHA",a[a.ADD=1]="ADD",a[a.MULTIPLY=2]="MULTIPLY",a[a.BRIGHTNESS=3]="BRIGHTNESS",a[a.SUBTRACTION=4]="SUBTRACTION",a[a.STRONG_LIGHT=5]="STRONG_LIGHT",a[a.WEAK_LIGHT=6]="WEAK_LIGHT",a[a.SUPERPOSITION=7]="SUPERPOSITION",(s=tn||(tn={}))[s.DOUBLE=1032]="DOUBLE",s[s.FRONT=1028]="FRONT",s[s.BACK=1029]="BACK",(u=to||(to={}))[u.NONE=0]="NONE",u[u.MASK=1]="MASK",u[u.OBSCURED=2]="OBSCURED",u[u.REVERSE_OBSCURED=3]="REVERSE_OBSCURED",(c=ta||(ta={}))[c.NONE=0]="NONE",c[c.SPHERE=1]="SPHERE",c[c.CONE=2]="CONE",c[c.HEMISPHERE=3]="HEMISPHERE",c[c.CIRCLE=4]="CIRCLE",c[c.DONUT=5]="DONUT",c[c.RECTANGLE=6]="RECTANGLE",c[c.RECTANGLE_EDGE=7]="RECTANGLE_EDGE",c[c.EDGE=8]="EDGE",c[c.TEXTURE=9]="TEXTURE",(l=ts||(ts={}))[l.GYROSCOPE=0]="GYROSCOPE",l[l.SPINE=1]="SPINE",(h=tu||(tu={}))[h.CLICK=0]="CLICK",h[h.MESSAGE=1]="MESSAGE",h[h.DRAG=2]="DRAG",(f=tc||(tc={}))[f.NONE=0]="NONE",f[f.NOTIFY=1]="NOTIFY",f[f.RESUME_PLAYER=2]="RESUME_PLAYER",f[f.REMOVE=3]="REMOVE",f[f.PAUSE=4]="PAUSE",(m=tl||(tl={})).base="0",m.sprite="1",m.particle="2",m.null="3",m.interact="4",m.plugin="5",m.camera="6",m.composition="7",m.spine="spine",m.mesh="mesh",m.tree="tree",m.text="text",m.light="light",m.skybox="skybox",m.effect="effect",(d=th||(th={}))[d.BILLBOARD=0]="BILLBOARD",d[d.MESH=1]="MESH",d[d.VERTICAL_BILLBOARD=2]="VERTICAL_BILLBOARD",d[d.HORIZONTAL_BILLBOARD=3]="HORIZONTAL_BILLBOARD",(p=tf||(tf={}))[p.PARTICLE_ORIGIN_CENTER=0]="PARTICLE_ORIGIN_CENTER",p[p.PARTICLE_ORIGIN_LEFT_TOP=1]="PARTICLE_ORIGIN_LEFT_TOP",p[p.PARTICLE_ORIGIN_LEFT_CENTER=2]="PARTICLE_ORIGIN_LEFT_CENTER",p[p.PARTICLE_ORIGIN_LEFT_BOTTOM=3]="PARTICLE_ORIGIN_LEFT_BOTTOM",p[p.PARTICLE_ORIGIN_CENTER_TOP=4]="PARTICLE_ORIGIN_CENTER_TOP",p[p.PARTICLE_ORIGIN_CENTER_BOTTOM=5]="PARTICLE_ORIGIN_CENTER_BOTTOM",p[p.PARTICLE_ORIGIN_RIGHT_TOP=6]="PARTICLE_ORIGIN_RIGHT_TOP",p[p.PARTICLE_ORIGIN_RIGHT_CENTER=7]="PARTICLE_ORIGIN_RIGHT_CENTER",p[p.PARTICLE_ORIGIN_RIGHT_BOTTOM=8]="PARTICLE_ORIGIN_RIGHT_BOTTOM",(v=tm||(tm={}))[v.portrait=1]="portrait",v[v.landscape=0]="landscape",(y=td||(td={}))[y.destroy=0]="destroy",y[y.pause=1]="pause",y[y.restart=5]="restart",y[y.forward=2]="forward",y[y.pause_destroy=3]="pause_destroy",y[y.freeze=4]="freeze",(g=tp||(tp={})).video="video",g.image="image",(x=tv||(tv={}))[x.CONSTANT=0]="CONSTANT",x[x.CONSTANT_VEC2=1]="CONSTANT_VEC2",x[x.CONSTANT_VEC3=2]="CONSTANT_VEC3",x[x.CONSTANT_VEC4=3]="CONSTANT_VEC4",x[x.RANDOM=4]="RANDOM",x[x.LINE=5]="LINE",x[x.CURVE=6]="CURVE",x[x.BEZIER_PATH=7]="BEZIER_PATH",x[x.RGBA_COLOR=8]="RGBA_COLOR",x[x.GRADIENT_COLOR=9]="GRADIENT_COLOR",x[x.SHAPE_POINTS=10]="SHAPE_POINTS",x[x.SHAPE_SPLITS=11]="SHAPE_SPLITS",x[x.LINEAR_PATH=12]="LINEAR_PATH",x[x.COLORS=13]="COLORS",x[x.BINARY=20]="BINARY",x[x.BEZIER_CURVE=21]="BEZIER_CURVE",x[x.BEZIER_CURVE_PATH=22]="BEZIER_CURVE_PATH",(T=ty||(ty={}))[T.AUTO=0]="AUTO",T[T.EASE=1]="EASE",T[T.EASE_IN=2]="EASE_IN",T[T.EASE_OUT=3]="EASE_OUT",T[T.LINE=4]="LINE",T[T.HOLD=5]="HOLD",T[T.LINE_OUT=6]="LINE_OUT",(E=tg||(tg={}))[E.destroy=0]="destroy",E[E.loop=5]="loop",E[E.freeze=4]="freeze",(_=tx||(tx={}))[_.destroyChildren=6]="destroyChildren",(C=tT||(tT={}))[C.none=0]="none",C[C.removeParticle=1]="removeParticle",(b=tE||(tE={}))[b.RANDOM=0]="RANDOM",b[b.UNIDIRECTIONAL_CYCLE=1]="UNIDIRECTIONAL_CYCLE",b[b.BIDIRECTIONAL_CYCLE=2]="BIDIRECTIONAL_CYCLE",b[b.UNIFORM_BURST=3]="UNIFORM_BURST",(A=t_||(t_={})).point="point",A.spot="spot",A.directional="directional",A.ambient="ambient",(S=tC||(tC={}))[S.box=2]="box",S[S.sphere=3]="sphere",(w=tb||(tb={})).orthographic="orthographic",w.perspective="perspective",(R=tA||(tA={})).unlit="unlit",R.pbr="pbr",R.hair="hair",(O=tS||(tS={}))[O.opaque=100]="opaque",O[O.masked=101]="masked",O[O.translucent=102]="translucent",O[O.additive=103]="additive",(M=tw||(tw={})).none="none",M.uv="uv",M.normal="normal",M.basecolor="basecolor",M.alpha="alpha",M.metallic="metallic",M.roughness="roughness",M.ao="ao",M.emissive="emissive",(L=tR||(tR={}))[L.display=0]="display",L[L.clip=1]="clip",L[L.ellipsis=2]="ellipsis",(I=tO||(tO={}))[I.top=0]="top",I[I.middle=1]="middle",I[I.bottom=2]="bottom",(V=tM||(tM={}))[V.left=0]="left",V[V.middle=1]="middle",V[V.right=2]="right",(P=tL||(tL={})).normal="normal",P.bold="bold",P.lighter="lighter",(F=tI||(tI={})).normal="normal",F.italic="italic",F.oblique="oblique",(z=tV||(tV={})).VFXItemData="VFXItemData",z.EffectComponent="EffectComponent",z.Material="Material",z.Shader="Shader",z.SpriteComponent="SpriteComponent",z.ParticleSystem="ParticleSystem",z.InteractComponent="InteractComponent",z.CameraController="CameraController",z.Geometry="Geometry",z.Texture="Texture",z.TextComponent="TextComponent",z.MeshComponent="MeshComponent",z.SkyboxComponent="SkyboxComponent",z.LightComponent="LightComponent",z.CameraComponent="CameraComponent",z.ModelPluginComponent="ModelPluginComponent",z.TreeComponent="TreeComponent",(N=tP||(tP={}))[N.POINTS=0]="POINTS",N[N.LINES=1]="LINES",N[N.LINE_LOOP=2]="LINE_LOOP",N[N.LINE_STRIP=3]="LINE_STRIP",N[N.TRIANGLES=4]="TRIANGLES",N[N.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",N[N.TRIANGLE_FAN=6]="TRIANGLE_FAN";var eF=function(){};eF.WhiteTexture="whitetexture00000000000000000000",eF.PBRShader="pbr00000000000000000000000000000",eF.UnlitShader="unlit000000000000000000000000000";var ez=Object.freeze({__proto__:null,get RenderLevel(){return tr},get BlendingMode(){return ti},get SideMode(){return tn},get MaskMode(){return to},get ShapeType(){return ta},get PluginType(){return ts},get InteractType(){return tu},get InteractBehavior(){return tc},get ItemType(){return tl},get RenderMode(){return th},get ParticleOrigin(){return tf},get CameraClipMode(){return tm},get CompositionEndBehavior(){return td},get BackgroundType(){return tp},END_BEHAVIOR_DESTROY:0,END_BEHAVIOR_PAUSE:1,END_BEHAVIOR_FORWARD:2,END_BEHAVIOR_PAUSE_AND_DESTROY:3,END_BEHAVIOR_FREEZE:4,END_BEHAVIOR_RESTART:5,END_BEHAVIOR_DESTROY_CHILDREN:6,CAMERA_CLIP_MODE_VERTICAL:1,CAMERA_CLIP_MODE_NORMAL:0,MESSAGE_ITEM_PHRASE_BEGIN:2,MESSAGE_ITEM_PHRASE_END:1,get ValueType(){return tv},get BezierKeyframeType(){return ty},get ItemEndBehavior(){return tg},get ParentItemEndBehavior(){return tx},get ParticleInteractionBehavior(){return tT},get ShapeArcMode(){return tE},get LightType(){return t_},get ModelBoundingType(){return tC},get CameraType(){return tb},get MaterialType(){return tA},get MaterialBlending(){return tS},get RenderMode3D(){return tw},get TextOverflow(){return tR},get TextBaseline(){return tO},get TextAlignment(){return tM},get TextWeight(){return tL},get FontStyle(){return tI},get DataType(){return tV},get GeometryType(){return tP},BuiltinObjectGUID:eF}),eN={},eD={},eU={};function ek(t){var e=t.constructor.name;if(eU[e])return eU[e];eU[e]={};for(var r=eU[e],i=t,n=e;n;){var o=eD[n];for(var a in o)r[a]=o[a];var s=Object.getPrototypeOf(i);if("Object"===(n=Object.getPrototypeOf(s).constructor.name))break;i=s}return r}function eB(t){return function(e,r){var i,n=(eD[i=e.constructor.name]||(eD[i]={}),eD[i]);n[r]||(n[r]={type:0,sourceName:t})}}function eG(t){return function(e,r){eN[t]&&console.warn("Class "+t+" 重复注册"),eN[t]=e}}var eX=function(){function t(t){this.engine=t,this.guid=eg(),this.taggedProperties={},this.engine.addInstance(this)}var e=t.prototype;return e.getInstanceId=function(){return this.guid},e.setInstanceId=function(t){this.engine.removeInstance(this.guid),this.guid=t,this.engine.addInstance(this)},e.toData=function(){},e.fromData=function(t){t.id&&this.setInstanceId(t.id)},e.dispose=function(){},t}();tJ([eB()],eX.prototype,"guid",void 0);var eH=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.onAttached=function(){},r.onDestroy=function(){},r.fromData=function(e){t.prototype.fromData.call(this,e),e.item&&(this.item=e.item)},r.dispose=function(){this.onDestroy(),this.item&&t5(this.item.components,this)},eT(e,[{key:"transform",get:function(){return this.item.transform}}]),e}(eX),eY=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e._enabled=!0,e}e_(e,t);var r=e.prototype;return r.onBehaviourEnable=function(){},r.fromData=function(e){t.prototype.fromData.call(this,e)},r.toData=function(){t.prototype.toData.call(this)},eT(e,[{key:"isActiveAndEnabled",get:function(){return this.item.getVisible()&&this.enabled}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t,t&&this.onBehaviourEnable()}}]),e}(eH);tJ([eB()],eY.prototype,"_enabled",void 0);var ej=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.started=!1,e}e_(e,t);var r=e.prototype;return r.onEnable=function(){},r.start=function(){},r.update=function(t){},r.lateUpdate=function(t){},r.onAttached=function(){this.item.itemBehaviours.push(this)},r.dispose=function(){this.item&&t5(this.item.itemBehaviours,this),t.prototype.dispose.call(this)},r.onBehaviourEnable=function(){this.onEnable(),this.started||(this.start(),this.started=!0)},e}(eY),eW=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.started=!1,e.materials=[],e._enabled=!0,e}e_(e,t);var r=e.prototype;return r.onEnable=function(){},r.start=function(){},r.update=function(t){},r.lateUpdate=function(t){},r.render=function(t){},r.onAttached=function(){this.item.rendererComponents.push(this)},r.fromData=function(e){t.prototype.fromData.call(this,e)},r.toData=function(){t.prototype.toData.call(this)},r.dispose=function(){this.item&&t5(this.item.rendererComponents,this),t.prototype.dispose.call(this)},eT(e,[{key:"priority",get:function(){return this._priority},set:function(t){this._priority=t}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t,t&&this.onEnable()}},{key:"isActiveAndEnabled",get:function(){return this.item.getVisible()&&this.enabled}},{key:"material",get:function(){return this.materials[0]},set:function(t){0===this.materials.length?this.materials.push(t):this.materials[0]=t}}]),e}(eH);tJ([eB()],eW.prototype,"materials",void 0),tJ([eB()],eW.prototype,"_priority",void 0),tJ([eB()],eW.prototype,"_enabled",void 0);var eZ=function(){function t(){this.order=100,this.name=""}var e=t.prototype;return e.onCompositionConstructed=function(t,e){},e.onCompositionItemLifeBegin=function(t,e){},e.onCompositionItemLifeEnd=function(t,e){},e.onCompositionItemRemoved=function(t,e){},e.onCompositionReset=function(t,e){},e.onCompositionWillReset=function(t,e){},e.onCompositionDestroyed=function(t){},e.onCompositionUpdate=function(t,e){},e.prepareRenderFrame=function(t,e){return!1},e.postProcessFrame=function(t,e){},t.precompile=function(t,e){return Promise.resolve()},t}(),eq=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),this.x=t,this.y=e,this.z=r,this.w=i}var e=t.prototype;return e.set=function(t,e,r,i){return this.x=t,this.y=e,this.z=r,this.w=i,this},e.setZero=function(){return this.x=0,this.y=0,this.z=0,this.w=0,this},e.setFromNumber=function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},e.setFromArray=function(t,e){var r,i,n,o;return void 0===e&&(e=0),this.x=null!=(r=t[e])?r:0,this.y=null!=(i=t[e+1])?i:0,this.z=null!=(n=t[e+2])?n:0,this.w=null!=(o=t[e+3])?o:0,this},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.clone=function(){return new t(this.x,this.y,this.z,this.w)},e.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t,this.z+=t,this.w+=t):tK(t,Array)?(this.x+=t[0],this.y+=t[1],this.z+=t[2],this.w+=t[3]):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w),this},e.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},e.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},e.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t,this.z-=t,this.w-=t):tK(t,Array)?(this.x-=t[0],this.y-=t[1],this.z-=t[2],this.w-=t[3]):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w),this},e.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},e.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t,this.z*=t,this.w*=t):tK(t,Array)?(this.x*=t[0],this.y*=t[1],this.z*=t[2],this.w*=t[3]):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w),this},e.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this.w=t.w*e.w,this},e.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t,this.z/=t,this.w/=t):tK(t,Array)?(this.x/=t[0],this.y/=t[1],this.z/=t[2],this.w/=t[3]):(this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w),this},e.scale=function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},e.sum=function(){return this.x+this.y+this.z+this.w},e.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t),this.z=Math.min(this.z,t),this.w=Math.min(this.w,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w)),this},e.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t),this.z=Math.max(this.z,t),this.w=Math.max(this.w,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},e.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},e.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},e.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this.z=Math.abs(this.z),this.w=Math.abs(this.w),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},e.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.normalize=function(){return this.divide(this.length()||1)},e.setLength=function(t){return this.normalize().multiply(t)},e.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this},e.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this.z=t.z+(e.z-t.z)*r,this.w=t.w+(e.w-t.w)*r,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},e.isZero=function(){var t=this.x,e=this.y,r=this.z,i=this.w;return 1e-6>=Math.abs(t)&&1e-6>=Math.abs(e)&&1e-6>=Math.abs(r)&&1e-6>=Math.abs(i)},e.toArray=function(){return[this.x,this.y,this.z,this.w]},e.toVector3=function(){return new eL(this.x,this.y,this.z)},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w},e.random=function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this},e.applyMatrix=function(t,e){return t.transformVector4(this,e)},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t}();eq.ONE=new eq(1,1,1,1),eq.ZERO=new eq(0,0,0,0);var eK=function(){function t(t,e,r,i,n,o,a,s,u){void 0===t&&(t=1),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=1),void 0===o&&(o=0),void 0===a&&(a=0),void 0===s&&(s=0),void 0===u&&(u=1),this.elements=[t,e,r,i,n,o,a,s,u]}var e=t.prototype;return e.set=function(t,e,r,i,n,o,a,s,u){var c=this.elements;return c[0]=t,c[3]=i,c[6]=a,c[1]=e,c[4]=n,c[7]=s,c[2]=r,c[5]=o,c[8]=u,this},e.setFromRowMajorData=function(t,e,r,i,n,o,a,s,u){var c=this.elements;return c[0]=t,c[3]=e,c[6]=r,c[1]=i,c[4]=n,c[7]=o,c[2]=a,c[5]=s,c[8]=u,this},e.setFromColumnVectors=function(t,e,r){return this.set(t.x,t.y,t.z,e.x,e.y,e.z,r.x,r.y,r.z)},e.setFromMatrix4=function(t){var e=t.elements;return this.set(e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10])},e.setFromArray=function(t,e){void 0===e&&(e=0);for(var r=0;r<9;r++)this.elements[r]=t[e+r];return this},e.setFromQuaternion=function(t){var e=t.x,r=t.y,i=t.z,n=t.w,o=e+e,a=r+r,s=i+i,u=e*o,c=e*a,l=e*s,h=r*a,f=r*s,m=i*s,d=n*o,p=n*a,v=n*s,y=this.elements;return y[0]=1-(h+m),y[1]=c+v,y[2]=l-p,y[3]=c-v,y[4]=1-(u+m),y[5]=f+d,y[6]=l+p,y[7]=f-d,y[8]=1-(u+h),this},e.setZero=function(){for(var t=0;t<9;t++)this.elements[t]=0;return this},e.identity=function(){return this.set(1,0,0,0,1,0,0,0,1)},e.clone=function(){var e=this.elements;return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},e.copyFrom=function(t){return this.elements=[].concat(t.elements),this},e.getColumnVector=function(t,e){return e.set(this.elements[3*t],this.elements[3*t+1],this.elements[3*t+2])},e.scale=function(t,e){var r=this.elements;return r[0]*=t,r[3]*=t,r[6]*=t,r[1]*=e,r[4]*=e,r[7]*=e,this},e.rotate=function(t){var e=Math.cos(t),r=Math.sin(t),i=this.elements,n=i[0],o=i[3],a=i[6],s=i[1],u=i[4],c=i[7];return i[0]=e*n+r*s,i[3]=e*o+r*u,i[6]=e*a+r*c,i[1]=-r*n+e*s,i[4]=-r*o+e*u,i[7]=-r*a+e*c,this},e.translate=function(t,e){var r=this.elements;return r[0]+=t*r[2],r[3]+=t*r[5],r[6]+=t*r[8],r[1]+=e*r[2],r[4]+=e*r[5],r[7]+=e*r[8],this},e.multiply=function(t){if("number"!=typeof t)return this.multiplyMatrices(this,t);for(var e=0;e<9;e++)this.elements[e]*=t;return this},e.premultiply=function(t){return this.multiplyMatrices(t,this)},e.multiplyMatrices=function(t,e){var r=t.elements,i=e.elements,n=this.elements,o=r[0],a=r[3],s=r[6],u=r[1],c=r[4],l=r[7],h=r[2],f=r[5],m=r[8],d=i[0],p=i[3],v=i[6],y=i[1],g=i[4],x=i[7],T=i[2],E=i[5],_=i[8];return n[0]=o*d+a*y+s*T,n[3]=o*p+a*g+s*E,n[6]=o*v+a*x+s*_,n[1]=u*d+c*y+l*T,n[4]=u*p+c*g+l*E,n[7]=u*v+c*x+l*_,n[2]=h*d+f*y+m*T,n[5]=h*p+f*g+m*E,n[8]=h*v+f*x+m*_,this},e.determinant=function(){var t=this.elements,e=t[0],r=t[3],i=t[6],n=t[1],o=t[4],a=t[7],s=t[2],u=t[5],c=t[8];return e*(o*c-u*a)+n*(u*i-r*c)+s*(r*a-o*i)},e.invert=function(){var t=this.elements,e=t[0],r=t[3],i=t[6],n=t[1],o=t[4],a=t[7],s=t[2],u=t[5],c=t[8],l=c*o-u*a,h=u*i-c*r,f=a*r-o*i,m=e*l+n*h+s*f;if(0===m)return this.set(0,0,0,0,0,0,0,0,0);var d=1/m;return t[0]=l*d,t[1]=(s*a-c*n)*d,t[2]=(u*n-s*o)*d,t[3]=h*d,t[4]=(c*e-s*i)*d,t[5]=(s*r-u*e)*d,t[6]=f*d,t[7]=(n*i-a*e)*d,t[8]=(o*e-n*r)*d,this},e.transpose=function(){var t,e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this},e.transformPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[3]*i+o[6]*n,a.y=o[1]*r+o[4]*i+o[7]*n,a.z=o[2]*r+o[5]*i+o[8]*n,a},e.transformNormal=function(t,e){return this.transformPoint(t,e).normalize()},e.equals=function(t){for(var e=this.elements,r=t.elements,i=0;i<9;i++)if(!ew(e[i],r[i]))return!1;return!0},e.toArray=function(){return[].concat(this.elements)},e.fill=function(t,e){void 0===e&&(e=0);var r=this.elements;t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8]},t.fromIdentity=function(){return new t(1,0,0,0,1,0,0,0,1)},t.fromColumnVectors=function(e,r,i){return new t().setFromColumnVectors(e,r,i)},t.fromMatrix4=function(e){return new t().setFromMatrix4(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromQuaternion=function(e){return new t().setFromQuaternion(e)},t.fromRowMajorData=function(e,r,i,n,o,a,s,u,c){return new t(e,n,s,r,o,u,i,a,c)},t}(),eQ=function(){function t(t,e){void 0===t&&(t=eL.ZERO),void 0===e&&(e=eL.X),this.origin=new eL,this.direction=new eL,this.origin.copyFrom(t),this.direction.copyFrom(e).normalize()}var e=t.prototype;return e.set=function(t,e){return this.origin.copyFrom(t),this.direction.copyFrom(e).normalize(),this},e.clone=function(){return new t(this.origin,this.direction)},e.copyFrom=function(t){return this.set(t.origin,t.direction)},e.recast=function(e){return this.origin.copyFrom(this.at(e,t.tempVec0)),this},e.at=function(t,e){var r=e||new eL;return r.copyFrom(this.origin),r.addScaledVector(this.direction,t)},e.equals=function(t){return this.origin.equals(t.origin)&&this.direction.equals(t.direction)},e.applyMatrix=function(t){return this.origin.applyProjectionMatrix(t),this.direction.applyNormalMatrix(t),this},e.intersectBox=function(t,e){var r,i,n,o,a,s,u=this.origin,c=u.x,l=u.y,h=u.z,f=this.direction,m=f.x,d=f.y,p=f.z,v=t.min,y=v.x,g=v.y,x=v.z,T=t.max,E=T.x,_=T.y,C=T.z,b=1/m,A=1/d,S=1/p;if(b>=0?(r=(y-c)*b,i=(E-c)*b):(r=(E-c)*b,i=(y-c)*b),A>=0?(n=(g-l)*A,o=(_-l)*A):(n=(_-l)*A,o=(g-l)*A),!(r>o)&&!(n>i)&&((n>r||r!=r)&&(r=n),(o<i||i!=i)&&(i=o),(n>r||r!=r)&&(r=n),(o<i||i!=i)&&(i=o),S>=0?(a=(x-h)*S,s=(C-h)*S):(a=(C-h)*S,s=(x-h)*S),!(r>s)&&!(a>i))&&((a>r||r!=r)&&(r=a),(s<i||i!=i)&&(i=s),!(i<0)))return r>=0?this.at(r,e):this.at(i,e)},e.intersectPlane=function(t,e){var r=t.normal,i=t.distance,n=r.dot(this.direction);if(0===n)return 0===r.dot(this.origin)+i?(e||new eL).copyFrom(this.origin):void 0;var o=-(this.origin.dot(r)+i)/n;return o>=0?this.at(o,e):void 0},e.intersectSphere=function(e,r){var i=e.center,n=t.tempVec0.subtractVectors(i,this.origin),o=n.dot(this.direction),a=n.dot(n)-o*o,s=e.radius*e.radius;if(!(a>s)){var u=Math.sqrt(s-a),c=o-u,l=o+u;if(!(l<0))return c>=0?this.at(c,r):this.at(l,r)}},e.intersectTriangle=function(e,r,i){var n,o=e.p0,a=e.p1,s=e.p2,u=t.tempVec0.subtractVectors(a,o),c=t.tempVec1.subtractVectors(s,o),l=t.tempVec2.subtractVectors(this.origin,o),h=t.tempVec3.crossVectors(u,c),f=this.direction.dot(h);if(f>0){if(i)return;n=1}else{if(!(f<0))return;n=-1,f=-f}c.crossVectors(l,c);var m=n*this.direction.dot(c);if(!(m<0)){u.cross(l);var d=n*this.direction.dot(u);if(!(d<0)&&!(m+d>f)){var p=-n*l.dot(h);if(!(p<0))return this.at(p/f,r)}}},t}();eQ.tempVec0=new eL,eQ.tempVec1=new eL,eQ.tempVec2=new eL,eQ.tempVec3=new eL;var eJ=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),this.r=t,this.g=e,this.b=r,this.a=i}var e=t.prototype;return e.set=function(t,e,r,i){return this.r=t,this.g=e,this.b=r,this.a=i,this},e.setZero=function(){return this.r=0,this.g=0,this.b=0,this.a=0,this},e.setFromNumber=function(t){return this.r=t,this.g=t,this.b=t,this.a=t,this},e.setFromVector4=function(t){return this.r=t.x,this.g=t.y,this.b=t.z,this.a=t.w,this},e.setFromArray=function(t,e){var r,i,n,o;return void 0===e&&(e=0),this.r=null!=(r=t[e])?r:0,this.g=null!=(i=t[e+1])?i:0,this.b=null!=(n=t[e+2])?n:0,this.a=null!=(o=t[e+3])?o:0,this},e.setFromHSV=function(t,e,r,i){void 0===i&&(i=1);var n=r*e,o=t/60,a=n*(1-Math.abs(o%2-1)),s=0,u=0,c=0;o>=0&&o<=1?(s=n,u=a):o>=1&&o<=2?(s=a,u=n):o>=2&&o<=3?(u=n,c=a):o>=3&&o<=4?(u=a,c=n):o>=4&&o<=5?(s=a,c=n):o>=5&&o<=6&&(s=n,c=a);var l=r-n;return this.set(s+l,u+l,c+l,i)},e.setFromHexString=function(t){if("#"!==t.substring(0,1)||9!==t.length&&7!==t.length)return this;var e=parseInt(t.substring(1,3),16)/255,r=parseInt(t.substring(3,5),16)/255,i=parseInt(t.substring(5,7),16)/255,n=9===t.length?parseInt(t.substring(7,9),16)/255:1;return this.set(e,r,i,n)},e.copyFrom=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},e.clone=function(){return new t(this.r,this.g,this.b,this.a)},e.setElement=function(t,e){switch(t){case 0:this.r=e;break;case 1:this.g=e;break;case 2:this.b=e;break;case 3:this.a=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.r;case 1:return this.g;case 2:return this.b;case 3:return this.a;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.r+=t,this.g+=t,this.b+=t,this.a+=t):tK(t,Array)?(this.r+=t[0],this.g+=t[1],this.b+=t[2],this.a+=t[3]):(this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a),this},e.subtract=function(t){return"number"==typeof t?(this.r-=t,this.g-=t,this.b-=t,this.a-=t):tK(t,Array)?(this.r-=t[0],this.g-=t[1],this.b-=t[2],this.a-=t[3]):(this.r-=t.r,this.g-=t.g,this.b-=t.b,this.a-=t.a),this},e.multiply=function(t){return"number"==typeof t?(this.r*=t,this.g*=t,this.b*=t,this.a*=t):tK(t,Array)?(this.r*=t[0],this.g*=t[1],this.b*=t[2],this.a*=t[3]):(this.r*=t.r,this.g*=t.g,this.b*=t.b,this.a*=t.a),this},e.divide=function(t){return"number"==typeof t?(this.r/=t,this.g/=t,this.b/=t,this.a/=t):tK(t,Array)?(this.r/=t[0],this.g/=t[1],this.b/=t[2],this.a/=t[3]):(this.r/=t.r,this.g/=t.g,this.b/=t.b,this.a/=t.a),this},e.scale=function(t){return this.r*=t,this.g*=t,this.b*=t,this.a*=t,this},e.min=function(t){return"number"==typeof t?(this.r=Math.min(this.r,t),this.g=Math.min(this.g,t),this.b=Math.min(this.b,t),this.a=Math.min(this.a,t)):(this.r=Math.min(this.r,t.r),this.g=Math.min(this.g,t.g),this.b=Math.min(this.b,t.b),this.a=Math.min(this.a,t.a)),this},e.max=function(t){return"number"==typeof t?(this.r=Math.max(this.r,t),this.g=Math.max(this.g,t),this.b=Math.max(this.b,t),this.a=Math.max(this.a,t)):(this.r=Math.max(this.r,t.r),this.g=Math.max(this.g,t.g),this.b=Math.max(this.b,t.b),this.a=Math.max(this.a,t.a)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.lerp=function(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this.a+=(t.a-this.a)*e,this},e.luminance=function(){return .3*this.r+.59*this.g+.11*this.b},e.equals=function(t){return t.r===this.r&&t.g===this.g&&t.b===this.b&&t.a===this.a},e.toLinear=function(){return this.r=t.gammaToLinear(this.r),this.g=t.gammaToLinear(this.g),this.b=t.gammaToLinear(this.b),this},e.toGamma=function(){return this.r=t.linearToGamma(this.r),this.g=t.linearToGamma(this.g),this.b=t.linearToGamma(this.b),this},e.toArray=function(){return[this.r,this.g,this.b,this.a]},e.toVector4=function(){return new eq(this.r,this.g,this.b,this.a)},e.toHSV=function(){var e=this.r,r=this.g,i=this.b,n=this.a,o=Math.max(e,r,i),a=Math.min(e,r,i),s=o-a,u=0,c=0;return 0!==o&&(c=s/o),o!=a&&(o==e?(u=(r-i)/s,r<i&&(u+=6)):o==r?u=(i-e)/s+2:o==i&&(u=(e-r)/s+4),u*=60),new t(u,c,o,n)},e.toHexString=function(e){void 0===e&&(e=!0);var r=t.ToHex(Math.round(255*this.r)),i=t.ToHex(Math.round(255*this.g)),n=t.ToHex(Math.round(255*this.b)),o=t.ToHex(Math.round(255*this.a));return e?"#"+r+i+n+o:"#"+r+i+n},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t[e+3]=this.a},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromHexString=function(e){return new t().setFromHexString(e)},t.fromHSV=function(e,r,i,n){return void 0===n&&(n=1),new t().setFromHSV(e,r,i,n)},t.gammaToLinear=function(t){return t<=0?0:t<=.04045?t/12.92:t<1?Math.pow((t+.055)/1.055,2.4):Math.pow(t,2.4)},t.linearToGamma=function(t){return t<=0?0:t<.0031308?12.92*t:t<1?1.055*Math.pow(t,.41666)-.055:Math.pow(t,.41666)},t.ToHex=function(t){var e=t.toString(16);return t<=15?("0"+e).toUpperCase():e.toUpperCase()},t}();eJ.BLACK=new eJ(0,0,0,1),eJ.BLUE=new eJ(0,0,1,1),eJ.CLEAR=new eJ(0,0,0,0),eJ.CYAN=new eJ(0,1,1,1),eJ.GRAY=new eJ(.5,.5,.5,1),eJ.GREEN=new eJ(0,1,0,1),eJ.MAGENTA=new eJ(1,0,1,1),eJ.RED=new eJ(1,0,0,1),eJ.WHITE=new eJ(1,1,1,1),eJ.YELLOW=new eJ(1,.92,.016,1);var e$=function(){function t(t,e){void 0===t&&(t=new eL(1/0,1/0,1/0)),void 0===e&&(e=new eL(-1/0,-1/0,-1/0)),this.min=t.clone(),this.max=e.clone()}var e=t.prototype;return e.set=function(t,e){return this.min.copyFrom(t),this.max.copyFrom(e),this},e.setFromArray=function(t){for(var e=Number(1/0),r=Number(1/0),i=Number(1/0),n=-1/0,o=-1/0,a=-1/0,s=0,u=t.length;s<u;s+=3){var c=t[s],l=t[s+1],h=t[s+2];c<e&&(e=c),l<r&&(r=l),h<i&&(i=h),c>n&&(n=c),l>o&&(o=l),h>a&&(a=h)}return this.min.set(e,r,i),this.max.set(n,o,a),this},e.setFromPoints=function(t){this.makeEmpty();for(var e=0,r=t.length;e<r;e++)this.expandByPoint(t[e]);return this},e.setFromCenterAndSize=function(t,e){var r=e.clone().multiply(.5);return this.min.copyFrom(t).subtract(r),this.max.copyFrom(t).add(r),this},e.setFromObject=function(t){return this.makeEmpty(),this.expandByObject(t)},e.clone=function(){return new t().copyFrom(this)},e.copyFrom=function(t){return this.min.copyFrom(t.min),this.max.copyFrom(t.max),this},e.makeEmpty=function(){return this.min.x=this.min.y=this.min.z=Number(1/0),this.max.x=this.max.y=this.max.z=-1/0,this},e.isEmpty=function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},e.getCenter=function(t){return void 0===t&&(t=new eL),this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiply(.5)},e.getSize=function(t){return void 0===t&&(t=new eL),this.isEmpty()?t.set(0,0,0):t.subtractVectors(this.max,this.min)},e.expandByPoint=function(t){return this.min.min(t),this.max.max(t),this},e.expandByVector=function(t){return this.min.subtract(t),this.max.add(t),this},e.expandByScalar=function(t){return this.min.add(-t),this.max.add(t),this},e.expandByBox=function(t){return this.min.min(t.min),this.max.max(t.max),this},e.expandByObject=function(e){e.updateWorldMatrix(!1,!1);var r=e.geometry;if(void 0!==r){null===r.boundingBox&&r.computeBoundingBox();var i=new t;i.copyFrom(r.boundingBox),i.applyMatrix4(e.matrixWorld),this.union(i)}for(var n=e.children,o=0,a=n.length;o<a;o++)this.expandByObject(n[o]);return this},e.containsPoint=function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)},e.containsBox=function(t){return this.min.x<=t.min.x&&this.max.x>=t.max.x&&this.min.y<=t.min.y&&this.max.y>=t.max.y&&this.min.z<=t.min.z&&this.max.z>=t.max.z},e.getParameter=function(t,e){return void 0===e&&(e=new eL),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))},e.intersectsBox=function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)},e.intersectsSphere=function(t){var e=new eL;return this.clampPoint(t.center,e),e.distanceSquared(t.center)<=t.radius*t.radius},e.clampPoint=function(t,e){return void 0===e&&(e=new eL),e.copyFrom(t).clamp(this.min,this.max)},e.distanceToPoint=function(t){return t.clone().clamp(this.min,this.max).subtract(t).length()},e.intersect=function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},e.union=function(t){return this.min.min(t.min),this.max.max(t.max),this},e.applyMatrix4=function(t,e){if(void 0===e&&(e=new eL),this.isEmpty())return this;var r=this.getOBBPoints(t,e);return this.setFromPoints(r),this},e.getOBBPoints=function(t,e){if(void 0===e&&(e=new eL),this.isEmpty())return[];var r=[];return r[0]=new eL(this.min.x,this.min.y,this.min.z),r[1]=new eL(this.min.x,this.min.y,this.max.z),r[2]=new eL(this.min.x,this.max.y,this.min.z),r[3]=new eL(this.min.x,this.max.y,this.max.z),r[4]=new eL(this.max.x,this.min.y,this.min.z),r[5]=new eL(this.max.x,this.min.y,this.max.z),r[6]=new eL(this.max.x,this.max.y,this.min.z),r[7]=new eL(this.max.x,this.max.y,this.max.z),r.forEach(function(r){r.subtract(e),r.applyMatrix(t),r.add(e)}),r},e.getBoundingSphere=function(t){this.getCenter(t.center);var e=new eL;return t.radius=.5*this.getSize(e).length(),t},e.translate=function(t){return this.min.add(t),this.max.add(t),this},e.equals=function(t){return t.min.equals(this.min)&&t.max.equals(this.max)},t}(),e0=function(){function t(t,e){void 0===t&&(t=eL.ZERO),void 0===e&&(e=-1),this.center=t.clone(),this.radius=e}var e=t.prototype;return e.set=function(t,e){return this.center.copyFrom(t),this.radius=e,this},e.setFromPoints=function(t,e){var r=this.center;if(void 0!==e){r.copyFrom(e);for(var i=0,n=0;n<t.length;n++)i=Math.max(i,r.distanceSquared(t[n]));this.radius=Math.sqrt(i)}else{var o=new e$().setFromPoints(t);o.getCenter(r),this.radius=o.getSize().length()/2}return this},e.copyFrom=function(t){return this.center.copyFrom(t.center),this.radius=t.radius,this},e.isEmpty=function(){return this.radius<0},e.makeEmpty=function(){return this.center.set(0,0,0),this.radius=-1,this},e.containsPoint=function(t){return t.distanceSquared(this.center)<=this.radius*this.radius},e.distanceToPoint=function(t){return t.distance(this.center)-this.radius},e.intersectsSphere=function(t){var e=this.radius+t.radius;return t.center.distanceSquared(this.center)<=e*e},e.intersectsBox=function(t){return t.intersectsSphere(this)},e.clampPoint=function(t,e){var r=this.center.distanceSquared(t);return void 0===e&&(e=new eL),e.copyFrom(t),r>this.radius*this.radius&&(e.subtract(this.center).normalize(),e.multiply(this.radius).add(this.center)),e},e.getBoundingBox=function(t){return(void 0===t&&(t=new e$),this.isEmpty())?t.makeEmpty():(t.set(this.center,this.center),t.expandByScalar(this.radius)),t},e.applyMatrix4=function(t){var e=t.elements,r=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],n=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return this.center.applyMatrix(t),this.radius=this.radius*Math.sqrt(Math.max(r,i,n)),this},e.translate=function(t){return this.center.add(t),this},e.expandByPoint=function(t){var e=new eL().subtractVectors(t,this.center),r=e.lengthSquared();if(r>this.radius*this.radius){var i=Math.sqrt(r),n=(i-this.radius)*.5;this.center.add(e.multiply(n/i)),this.radius+=n}return this},e.union=function(t){var e=new eL,r=new eL;return r.subtractVectors(t.center,this.center).normalize().multiply(t.radius),this.expandByPoint(e.copyFrom(t.center).add(r)),this.expandByPoint(e.copyFrom(t.center).subtract(r)),this},e.intersect=function(t){var e=new eL().subtractVectors(this.center,t.center),r=e.length();return r>this.radius+t.radius?this.makeEmpty():(this.center=this.center.add(e.normalize().multiply(r/2)),this.radius=this.radius+t.radius-r,this)},e.equals=function(t){return t.center.equals(this.center)&&t.radius===this.radius},e.clone=function(){return new t().copyFrom(this)},t}(),e1=Object.freeze({__proto__:null,get EulerOrder(){return te},Euler:eP,Quaternion:eI,Vector2:eM,Vector3:eL,Vector4:eq,Matrix3:eK,Matrix4:eV,Ray:eQ,PI2:2*Math.PI,DEG2RAD:eA,RAD2DEG:eS,NumberEpsilon:1e-6,isZero:function(t){return isNaN(t)||1e-6>Math.abs(t)},isEqual:ew,damp:function(t,e,r,i){return eR(t,e,1-Math.exp(-r*i))},lerp:eR,degToRad:function(t){return t*eA},radToDeg:function(t){return t*eS},clamp:eO,Color:eJ,Box3:e$,Sphere:e0}),e2=(U=new Int32Array((D=new Float32Array(1)).buffer),function(t){D[0]=t;var e=U[0],r=e>>16&32768,i=e>>12&2047,n=e>>23&255;return n<103?r:n>142?(r|=31744,r|=(255==n?0:1)&&8388607&e):n<113?(i|=2048,r|=(i>>114-n)+(i>>113-n&1)):(r|=n-112<<10|i>>1,r+=1&i)}),e3=function(){function t(t){if(Number.isInteger(t))this.data=new Uint16Array(t);else if(t&&"object"==typeof t&&Number.isInteger(t.length))for(var e=this.data=new Uint16Array(t.length),r=0;r<e.length;r++)e[r]=e2(t[r])}return t.prototype.set=function(t,e){for(var r=0;r<t.length;r++)this.data[r+e]=e2(t[r])},t}(),e4=new eP,e5=new eV;function e6(t,e,r,i,n,o,a){var s=i/n,u=i,c=e.speedOverLifetime;c&&(u=c.getIntegrateValue(0,i,n));var l=e.gravityModifier?e.gravityModifier.getIntegrateByTime(0,i):0;t.copyFrom(o),t.addScaledVector(a,u),t.addScaledVector(r,l);var h=e.linearVelOverLifetime||{},f=e.orbitalVelOverLifetime||{},m=["x","y","z"];if(f.enabled){var d=new eL;f.center&&d.setFromArray(f.center);var p=t.clone().subtract(d),v=f.asRotation,y=m.map(function(t){var e=f[t];return e?v?e.getValue(s):e.getIntegrateValue(0,i,n):0});e4.setFromArray(y).negate(),e5.setFromEuler(e4);var g=e5.transformPoint(p);t.addVectors(d,g)}if(h.enabled)for(var x=h.asMovement,T=0;T<3;T++){var E=h[m[T]];if(E){var _=x?E.getValue(s):E.getIntegrateValue(0,i,n);t.setElement(T,t.getElement(T)+_)}}return t}function e8(t){return Array.isArray(t)?[t[0],t[1],t[2]]:[0,0,0]}function e9(t,e){for(var r=0,i=t.length;r<i;r++)t[r]=e;return t}function e7(t,e,r,i){void 0===i&&(i=0);for(var n=0;n<r;n++)t[n]=e[n+i];return t}function rt(t,e,r){if(e&&r)for(var i=0,n=e.length;i<n;i++)t[i]=e[i]*r[i];else if(e){if(t!==e)for(var o=0;o<e.length;o++)t[o]=e[o]}else if(r&&t!==r)for(var a=0;a<r.length;a++)t[a]=r[a];return t}var re=((tF={})[tf.PARTICLE_ORIGIN_CENTER]=[0,0],tF[tf.PARTICLE_ORIGIN_CENTER_BOTTOM]=[0,-.5],tF[tf.PARTICLE_ORIGIN_CENTER_TOP]=[0,.5],tF[tf.PARTICLE_ORIGIN_LEFT_TOP]=[-.5,.5],tF[tf.PARTICLE_ORIGIN_LEFT_CENTER]=[-.5,0],tF[tf.PARTICLE_ORIGIN_LEFT_BOTTOM]=[-.5,-.5],tF[tf.PARTICLE_ORIGIN_RIGHT_CENTER]=[.5,0],tF[tf.PARTICLE_ORIGIN_RIGHT_BOTTOM]=[.5,-.5],tF[tf.PARTICLE_ORIGIN_RIGHT_TOP]=[.5,.5],tF);function rr(t,e,r){var i=r.position,n=new eL(t,e,0),o=new eL;return r.getInverseViewProjectionMatrix().projectPoint(n,o),o.subtract(i),new eQ(i,o)}function ri(t,e,r){var i=t.x,n=t.y,o=t.z,a=new eL(i-e,n+r,o),s=new eL(i-e,n-r,o),u=new eL(i+e,n-r,o),c=new eL(i+e,n+r,o);return[{p0:a,p1:s,p2:u},{p0:a.clone(),p1:u.clone(),p2:c}]}function rn(t,e,r){return void 0===r&&(r=1e-6),Math.abs(t-e)<r}function ro(t,e){void 0===e&&(e=2);var r=Math.pow(10,e);return Math.floor(t*r)/r}function ra(t,e,r){return(ra=!function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}()?function(t,e,r){var i=[null];i.push.apply(i,e);var n=new(Function.bind.apply(t,i));return r&&eE(n,r.prototype),n}:Reflect.construct).apply(null,arguments)}var rs={getPointInCurve:function(t){t[0];var e=t[1],r=this.getPointIndexInCurve(t),i=r.xIndex,n=r.yIndex;return new eM(e[i],e[n])},getPointIndexInCurve:function(t){var e=t[0],r=t[2],i=e===ty.LINE?0:e===ty.EASE_OUT?0:e===ty.EASE_IN?2:e===ty.EASE?2:e===ty.HOLD&&r===ty.EASE_IN?2:0;return{xIndex:i,yIndex:i+1}},isLeftSideEase:function(t){var e=t[0];t[1];var r=t[2];return!!(e===ty.HOLD&&this.isKeyframeTypeLeftSideEase(r))||this.isKeyframeTypeLeftSideEase(e)},isRightSideEase:function(t){var e=t[0];t[1];var r=t[2];return!!(e===ty.HOLD&&this.isKeyframeTypeRightSideEase(r))||this.isKeyframeTypeRightSideEase(e)},isKeyframeTypeLeftSideEase:function(t){return[ty.EASE,ty.EASE_IN,ty.AUTO].includes(t)},isKeyframeTypeRightSideEase:function(t){return[ty.EASE,ty.EASE_OUT,ty.AUTO].includes(t)},isHoldInKeyframe:function(t){var e=t[0];t[1];var r=t[2];return e===ty.HOLD&&[ty.HOLD,ty.LINE_OUT,ty.EASE_OUT].includes(r)},isHoldOutKeyframe:function(t){var e=t[0];t[1];var r=t[2];return e===ty.HOLD&&[ty.HOLD,ty.LINE,ty.EASE_IN].includes(r)}},ru=function(t,e){this.points=t,this.totalLength=e},rc={},rl={};function rh(t,e,r){return(((1-3*r+3*e)*t+(3*r-6*e))*t+3*e)*t}function rf(t,e,r){return 3*(1-3*r+3*e)*t*t+2*(3*r-6*e)*t+3*e}var rm=function(){function t(t,e,r,i){this.p1=t,this.p2=e,this.p3=r,this.p4=i,this.catching={lastPoint:0,lastAddedLength:0};var n=function(t,e,r,i){var n=ro(e.x-t.x,3)+"_"+ro(e.y-t.y,3)+"_"+ro(e.z-t.z,3)+"&"+(ro(r.x-t.x,3)+"_"+ro(r.y-t.y,3))+"_"+ro(r.z-t.z,3)+"&"+(ro(i.x-t.x,3)+"_"+ro(i.y-t.y,3))+"_"+ro(i.z-t.z,3);if(rl[n])return{data:rl[n],interval:t};for(var o=[],a=null,s=0,u=0,c=0;c<300;c+=1){var l=new eL,h=c/299;u=0,l.x=3*Math.pow(1-h,2)*h*(r.x-t.x)+3*(1-h)*Math.pow(h,2)*(i.x-t.x)+Math.pow(h,3)*(e.x-t.x),l.y=3*Math.pow(1-h,2)*h*(r.y-t.y)+3*(1-h)*Math.pow(h,2)*(i.y-t.y)+Math.pow(h,3)*(e.y-t.y),l.z=3*Math.pow(1-h,2)*h*(r.z-t.z)+3*(1-h)*Math.pow(h,2)*(i.z-t.z)+Math.pow(h,3)*(e.z-t.z),null!==a&&(u+=Math.pow(l.x-a.x,2)+Math.pow(l.y-a.y,2)+Math.pow(l.z-a.z,2)),a=l,s+=u=Math.sqrt(u),o[c]={partialLength:u,point:l}}var f=new ru(o,s);return rl[n]=f,{data:f,interval:new eL(t.x,t.y,t.z)}}(t,e,r,i),o=n.data,a=n.interval;this.lengthData=o,this.interval=a,this.totalLength=o.totalLength}return t.prototype.getPointInPercent=function(t){var e=this.lengthData;if(0===t)return e.points[0].point.clone().add(this.interval);if(rn(1-t,0))return e.points[299].point.clone().add(this.interval);if(rn(e.totalLength,0))return this.p1.clone();var r=new eL,i=ro(e.totalLength*t,4),n=this.catching.lastAddedLength,o=this.catching.lastPoint;if(rn(n,i))return e.points[o].point.clone().add(this.interval);var a=!0,s=1;for(i<n&&(s=-1);a;){if(i>=n){if(299===o){r.x=e.points[o].point.x,r.y=e.points[o].point.y,r.z=e.points[o].point.z;break}if(i<n+e.points[o+1].partialLength){var u=(i-n)/e.points[o+1].partialLength;r.x=e.points[o].point.x+(e.points[o+1].point.x-e.points[o].point.x)*u,r.y=e.points[o].point.y+(e.points[o+1].point.y-e.points[o].point.y)*u,r.z=e.points[o].point.z+(e.points[o+1].point.z-e.points[o].point.z)*u;break}}s>0&&o<299?(o+=s,n+=ro(e.points[o].partialLength,5)):s<0&&o>0?(n-=ro(e.points[o].partialLength,5),o+=s):a=!1}return this.catching.lastPoint=o,this.catching.lastAddedLength=n,r.add(this.interval),r},t}(),rd=function(){function t(t,e,r,i){this.mX1=t,this.mY1=e,this.mX2=r,this.mY2=i,this.precomputed=!1,this.mSampleValues=Array(11)}var e=t.prototype;return e.precompute=function(){this.precomputed=!0,(this.mX1!==this.mY1||this.mX2!==this.mY2)&&this.calcSampleValues()},e.getValue=function(t){return this.mX1===this.mY1&&this.mX2===this.mY2?t:isNaN(this.mY1)||isNaN(this.mY2)?0:0===t||1===t?t:(this.precomputed||this.precompute(),rh(this.getTForX(t),this.mY1,this.mY2))},e.calcSampleValues=function(){for(var t=0;t<11;++t)this.mSampleValues[t]=rh(.1*t,this.mX1,this.mX2)},e.getTForX=function(t){for(var e=this.mSampleValues,r=0,i=1;10!==i&&e[i]<=t;++i)r+=.1;var n=r+(t-e[--i])/(e[i+1]-e[i])*.1,o=rf(n,this.mX1,this.mX2);return o>=.001?function(t,e,r,i){for(var n=0;n<4;++n){var o=rf(e,r,i);if(0===o)break;var a=rh(e,r,i)-t;e-=a/o}return e}(t,n,this.mX1,this.mX2):0===o?n:function(t,e,r,i,n){var o,a,s=0;do(o=rh(a=e+(r-e)/2,i,n)-t)>0?r=a:e=a;while(Math.abs(o)>1e-7&&++s<10);return a}(t,r,r+.1,this.mX1,this.mX2)},t}();function rp(t,e){var r,i,n,o=function(t,e,r){var i=t[1],n=rs.isHoldOutKeyframe(t),o=rs.isHoldInKeyframe(e),a=!o&&rs.isRightSideEase(t),s=!n&&rs.isLeftSideEase(e);if(a&&!s&&!o){var u=new eM(i[i.length-4],i[i.length-3]),c=new eM(i[i.length-2],i[i.length-1]),l=rs.getPointInCurve(e),h=new eM(l.x,l.y),f=new eM(h.x-(h.x-u.x)/10,h.y);return{type:"ease",p0:u,p1:c,p2:f,p3:h}}if(!a&&s&&!n){var m=e[1],d=rs.getPointInCurve(t),p=new eM(d.x,d.y),v=new eM(m[0],m[1]),y=new eM(m[2],m[3]),g=new eM(p.x+(y.x-p.x)/10,p.y);return{type:"ease",p0:p,p1:g,p2:v,p3:y}}if(a&&s){var x=e[1];return{type:"ease",p0:new eM(i[i.length-4],i[i.length-3]),p1:new eM(i[i.length-2],i[i.length-1]),p2:new eM(x[0],x[1]),p3:new eM(x[2],x[3])}}var T=rs.getPointInCurve(t),E=rs.getPointInCurve(e);if(n?E.y=T.y:o&&(T.y=E.y),!r)return{type:"line",p0:T,p1:E,isHold:n||o,leftHoldLine:n,rightHoldLine:o};var _=new eM((E.x-T.x)/3+T.x,(E.y-T.y)/3+T.y),C=new eM((E.x-T.x)/3*2+T.x,(E.y-T.y)/3*2+T.y);return{type:"ease",p0:T,p1:_,p2:C,p3:E,isHold:n||o,leftHoldLine:n,rightHoldLine:o}}(t,e,!0),a=o.p0,s=o.p1,u=o.p2,c=o.p3;eu(u),eu(c);var l=c.x-a.x,h=c.y-a.y,f=ro((s.x-a.x)/l,5),m=ro((u.x-a.x)/l,5);rn(h,0)?r=i=NaN:(r=ro((s.y-a.y)/h,5),i=ro((u.y-a.y)/h,5)),f<0&&(console.error("invalid bezier points, x1 < 0",a,s,u,c),f=0),m<0&&(console.error("invalid bezier points, x2 < 0",a,s,u,c),m=0),f>1&&(console.error("invalid bezier points, x1 >= 1",a,s,u,c),f=1),m>1&&(console.error("invalid bezier points, x2 >= 1",a,s,u,c),m=1);var d=("bez_"+f+"_"+r+"_"+m+"_"+i).replace(/\./g,"p");return rc[d]?n=rc[d]:(n=new rd(f,r,m,i),rc[d]=n),{points:[a,s,u,c],timeInterval:l,valueInterval:h,curve:n}}var rv="not_implement",ry=function(){function t(t){this.onCreate(t)}var e=t.prototype;return e.onCreate=function(t){throw Error(rv)},e.getIntegrateValue=function(t,e,r){throw Error(rv)},e.getIntegrateByTime=function(t,e){throw Error(rv)},e.getValue=function(t){throw Error(rv)},e.toUniform=function(t){throw Error(rv)},e.map=function(t){throw Error(rv)},e.scaleXCoord=function(t){return this},e.toData=function(){throw Error(rv)},t.getAllData=function(t,e){for(var r=new(e?e3:Float32Array)(4*t.index),i=0,n=0,o=t.curves;i<o.length;i++){var a=o[i].toData();r.set(a,n),n+=a.length}return e?r.data:r},t}(),rg=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.onCreate=function(t){this.value=t},r.getIntegrateValue=function(t,e,r){return this.value*(e-t)},r.getIntegrateByTime=function(t,e){return .5*this.value*(e*e-t*t)},r.getValue=function(t){return this.value},r.toUniform=function(){return new Float32Array([0,this.value,0,0])},r.map=function(t){var e=this.value;return this.value=t(e),this},e}(ry),rx=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.onCreate=function(t){this.items=t},r.getValue=function(t){var e=this.items;return e[Math.floor(Math.random()*e.length)]},r.map=function(t){return this.items=this.items.map(t),this},e}(ry),rT=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.onCreate=function(t){this.min=t[0],this.max=t[1]},r.getValue=function(t){return ev(this.min,this.max)},r.toUniform=function(){return new Float32Array([4,this.min,this.max,0])},r.map=function(t){return this.min=t(this.min),this.max=t(this.max),this},e}(ry),rE=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.onCreate=function(t){this.min=t[0],this.max=t[1]},r.getValue=function(t){for(var e=this.min,r=this.max,i=[],n=0;n<e.length;n++){var o=Math.random();i[n]=e[n]*(1-o)+r[n]*o}return i},r.map=function(t){return this.min=this.min.map(t),this.max=this.max.map(t),this},e}(ry),r_=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.onCreate=function(t){this.min=t[0],this.max=t[1],this.xCoord=1},r.getValue=function(t){return t/=this.xCoord,this.min*(1-t)+this.max*t},r.toUniform=function(){return new Float32Array([1,this.min,this.max,this.xCoord])},r.getIntegrateValue=function(t,e,r){void 0===r&&(r=1);var i=this.min,n=this.max,o=this.xCoord*r;return((i+e/o*(n-i)+i)*e-(i+t/o*(n-i)+i)*t)/2},r.getIntegrateByTime=function(t,e){return rM(e,0,this.xCoord,this.min,this.max)-rM(t,0,this.xCoord,this.min,this.max)},r.map=function(t){return this.min=t(this.min),this.max=t(this.max),this},r.scaleXCoord=function(t){return this.xCoord=t,this},e}(ry),rC=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.onCreate=function(t){this.stops=t7(t)},r.getStops=function(){return this.stops},r.getValue=function(t){for(var e=this.stops,r=e.length-1,i=0;i<r;i++){var n=e[i],o=e[i+1];if(n.stop<=t&&o.stop>t){var a=(t-n.stop)/(o.stop-n.stop);return et(n.color,o.color,a,!0)}}return e[r].color.slice()},e}(ry),rb=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.onCreate=function(t){this.keys=t.map(function(t){return t.slice?t.slice(0,2):[t.time,t.value]}).sort(function(t,e){return t[0]-e[0]});var e=this.keys[this.keys.length-1];e[0]<1&&this.keys.push([1,e[1]]);var r=this.keys[0];r[0]>0&&this.keys.unshift([0,r[1]]),this.isLineSeg=!0},r.getValue=function(t){var e=this.keys;if(t<e[0][0])return e[0][1];for(var r=e.length-1,i=0;i<r;i++){var n=e[i],o=e[i+1],a=n[0],s=o[0];if(t>=a&&t<=s){var u=(t-a)/(s-a),c=n[1];return c+u*(o[1]-c)}}return e[r][1]},r.getIntegrateValue=function(t,e,r){return void 0===r&&(r=1),(this.integrate(e,!1)-this.integrate(t,!1))*r},r.getIntegrateByTime=function(t,e){return this.integrate(e,!0)-this.integrate(t,!0)},r.integrate=function(t,e){var r=this.keys;if(t<=r[0][0])return 0;for(var i=0,n=r.length-1,o=e?rM:rO,a=0;a<n;a++){var s=r[a],u=r[a+1],c=s[0],l=u[0];if(t>c&&t<=l)return i+o(t,c,l,s[1],u[1]);i+=o(l,c,l,s[1],u[1])}return i},r.toData=function(){for(var t=this.keys,e=new Float32Array(4*Math.ceil(t.length/2)),r=0,i=0;r<t.length;r++,i+=2)e.set(t[r],i);return e.set(t[t.length-1],e.length-2),e},r.toUniform=function(t){var e=t.index,r=Math.ceil(this.keys.length/2);return t.lineSegCount+=r,t.curves.push(this),t.index+=r,t.max=Math.max(t.max,r),new Float32Array([3,e,r,0])},r.map=function(t){return this.keys.forEach(function(e){return e[1]=t(e[1])}),this},r.scaleXCoord=function(t){return this.keys.forEach(function(e){return e[0]=t*e[0]}),this},e}(ry),rA=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.onCreate=function(t){this.curveMap={},this.keys=[];for(var e=0;e<t.length-1;e++){var r=rp(t[e],t[e+1]),i=r.points,n=r.curve,o=r.timeInterval,a=r.valueInterval,s=i[0],u=i[i.length-1];this.keys.push([].concat(s.toArray(),i[1].toArray())),this.keys.push([].concat(u.toArray(),i[2].toArray())),this.curveMap[s.x+"&"+u.x]={points:i,timeInterval:o,valueInterval:a,curve:n}}},r.getValue=function(t){var e=0,r=Object.keys(this.curveMap),i=Number(r[0].split("&")[0]),n=Number(r[r.length-1].split("&")[1]);if(t<=i)return this.getCurveValue(r[0],i);if(t>=n)return this.getCurveValue(r[r.length-1],n);for(var o=0;o<r.length;o++){var a=r[o].split("&"),s=a[0],u=a[1];if(t>=Number(s)&&t<Number(u)){e=this.getCurveValue(r[o],t);break}}return e},r.getIntegrateValue=function(t,e,r){void 0===r&&(r=1);var i=(e-t)/r,n=0,o=Object.keys(this.curveMap);if(i<=Number(o[0].split("&")[0]))return 0;for(var a=0;a<o.length;a++){var s=o[a].split("&"),u=s[0],c=s[1];if(i>=Number(c)&&(n+=r*this.getCurveIntegrateValue(o[a],Number(c))),i>=Number(u)&&i<Number(c)){n+=r*this.getCurveIntegrateValue(o[a],i);break}}return n},r.getIntegrateByTime=function(t,e){return this.getIntegrateValue(0,e)-this.getIntegrateValue(0,t)},r.getCurveIntegrateValue=function(t,e){for(var r=this.curveMap[t],i=r.points[0],n=r.timeInterval,o=r.valueInterval,a=0,s=(e-i.x)/20,u=0;u<=20;u++){var c=u*s/n,l=i.y+o*r.curve.getValue(c);0===u||20===u?a+=l:u%2==1?a+=4*l:a+=2*l}return s/3*a},r.getCurveValue=function(t,e){var r=this.curveMap[t],i=r.points[0],n=r.timeInterval,o=r.valueInterval,a=(e-i.x)/n,s=r.curve.getValue(a);return i.y+o*s},r.toUniform=function(t){var e=t.index,r=this.keys.length;return t.curves.push(this),t.index=e+r,t.max=Math.max(t.max,r),t.curveCount+=r,new Float32Array([5,e+1/r,e,r])},r.toData=function(){for(var t=this.keys,e=new Float32Array(4*t.length),r=0,i=0;r<t.length;r++,i+=4)e.set(t[r],i);return e},e}(ry),rS=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.onCreate=function(t){var e=t[0],r=t[1],i=t[2];if(this.curveSegments={},i.length)for(var n=0;n<e.length-1;n++){var o=e[n],a=e[n+1],s=new eL(r[n][0],r[n][1],r[n][2]),u=new eL(r[n+1][0],r[n+1][1],r[n+1][2]),c=new eL(i[2*n][0],i[2*n][1],i[2*n][2]),l=new eL(i[2*n+1][0],i[2*n+1][1],i[2*n+1][2]),h=rp(o,a),f=h.points,m=h.curve,d=h.timeInterval,p=h.valueInterval,v=f[0],y=f[f.length-1],g=new rm(s,u,c,l);this.curveSegments[v.x+"&"+y.x]={points:f,timeInterval:d,valueInterval:p,easingCurve:m,pathCurve:g}}},r.getValue=function(t){var e=ro(t,5),r=0,i=new eL,n=Object.keys(this.curveSegments);if(!n.length)return i;var o=Number(n[0].split("&")[0]),a=Number(n[n.length-1].split("&")[1]);if(e<=o)return this.curveSegments[n[0]].pathCurve.getPointInPercent(0);if(e>=a)return this.curveSegments[n[n.length-1]].pathCurve.getPointInPercent(1);for(var s=0;s<n.length;s++){var u=n[s].split("&"),c=u[0],l=u[1];if(e>=Number(c)&&e<Number(l)){var h=this.curveSegments[n[s]].pathCurve;r=this.getPercValue(n[s],e),i=h.getPointInPercent(r)}}return i},r.getPercValue=function(t,e){var r=this.curveSegments[t],i=r.points[0],n=r.timeInterval,o=ro((e-i.x)/n,4);return eO(r.easingCurve.getValue(o),0,1)},e}(ry),rw=((tz={})[tv.RANDOM]=function(t){return tK(t[0],Array)?new rE(t):new rT(t)},tz[tv.CONSTANT]=function(t){return new rg(t)},tz[tv.CONSTANT_VEC2]=function(t){return new rg(t)},tz[tv.CONSTANT_VEC3]=function(t){return new rg(t)},tz[tv.CONSTANT_VEC4]=function(t){return new rg(t)},tz[tv.RGBA_COLOR]=function(t){return new rg(t)},tz[tv.COLORS]=function(t){return new rx(t.map(function(t){return t8(t,!1)}))},tz[tv.LINE]=function(t){return 2===t.length&&0===t[0][0]&&1===t[1][0]?new r_([t[0][1],t[1][1]]):new rb(t)},tz[tv.GRADIENT_COLOR]=function(t){return new rC(t)},tz[tv.BEZIER_CURVE]=function(t){return 1===t.length?new rg(t[0][1][1]):new rA(t)},tz[tv.BEZIER_CURVE_PATH]=function(t){return 1===t[0].length?new rg(ra(eL,[].concat(t[1][0]))):new rS(t)},tz);function rR(t){if(!t||!isNaN(+t))return new rg(t||0);if(tK(t,ry))return t;if(ed(rw[t[0]]))return rw[t[0]](t[1]);throw Error("ValueType: "+t[0]+" is not support")}function rO(t,e,r,i,n){var o=t-e;return(i+i+(n-i)*o/(r-e))*o/2}function rM(t,e,r,i,n){var o=t*t,a=e*e;return(o*t*2*(i-n)+3*o*(e*n-r*i)-a*e*(2*i+n)+3*a*r*i)/(6*(e-r))}function rL(t,e){if(e){var r=e[0],i=e[1];if(r===tv.CURVE){t.curves.push(i);var n=i.length;i[0][0]>0&&n++,i[i.length-1][0]<1&&n++,t.index+=n,t.max=Math.max(t.max,n),t.curveCount+=n}else if(r===tv.LINE){var o=i.length;if(2===o&&0===i[0][0]&&1===i[1][0])return;i[0][0]>0&&o++,i[i.length-1][0]<1&&o++;var a=Math.ceil(o/2);t.lineSegCount+=a,t.curves.push(i),t.index+=a,t.max=Math.max(t.max,a)}else if(r===tv.BEZIER_CURVE){var s=i.length-1;t.index+=2*s,t.curves.push(i),t.max=Math.max(t.max,2*s),t.curveCount+=2*s}}}function rI(){return{curves:[],index:0,max:0,lineSegCount:0,curveCount:0}}var rV=new eI,rP=1,rF=function(){function t(t,e){void 0===t&&(t={}),this.taggedProperties={},this.position=new eL(0,0,0),this.quat=new eI(0,0,0,1),this.rotation=new eP(0,0,0),this.scale=new eL(1,1,1),this.anchor=new eL(0,0,0),this.size=new eM(1,1),this.children=[],this.worldMatrix=eV.fromIdentity(),this.localMatrix=eV.fromIdentity(),this.valid=!0,this.dirtyFlags={localData:!1,localMatrix:!1,worldMatrix:!1,parentMatrix:!1},this.worldTRSCache={position:new eL(0,0,0),quat:new eI(0,0,0,1),scale:new eL(1,1,1)},this.name="transform_"+rP++,t&&this.setTransform(t),e&&(this.parentTransform=e),void 0!==t.valid&&this.setValid(t.valid)}var e=t.prototype;return e.setPosition=function(t,e,r){(this.position.x!==t||this.position.y!==e||this.position.z!==r)&&(this.position.x=t,this.position.y=e,this.position.z=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.translate=function(t,e,r){(0!==t||0!==e||0!==r)&&(this.position.x+=t,this.position.y+=e,this.position.z+=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setRotation=function(t,e,r){(this.rotation.x!==t||this.rotation.y!==e||this.rotation.z!==r)&&(this.rotation.x=t,this.rotation.y=e,this.rotation.z=r,this.quat.setFromEuler(this.rotation),this.quat.conjugate(),this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setQuaternion=function(t,e,r,i){(this.quat.x!==t||this.quat.y!==e||this.quat.z!==r||this.quat.w!==i)&&(this.quat.x=t,this.quat.y=e,this.quat.z=r,this.quat.w=i,this.rotation.setFromQuaternion(this.quat),this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setScale=function(t,e,r){(this.scale.x!==t||this.scale.y!==e||this.scale.z!==r)&&(this.scale.x=t,this.scale.y=e,this.scale.z=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setSize=function(t,e){(this.size.x!==t||this.size.y!==e)&&(this.size.x=t,this.size.y=e,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.rotateByQuat=function(t){this.quat.multiply(t),this.rotation.setFromQuaternion(this.quat),this.dirtyFlags.localData=!0,this.dispatchValueChange()},e.scaleBy=function(t,e,r){this.scale.x*=t,this.scale.y*=e,this.scale.z*=r,this.dirtyFlags.localData=!0,this.dispatchValueChange()},e.setAnchor=function(t,e){(this.anchor.x!==t||this.anchor.y!==e)&&(this.anchor.x=t,this.anchor.y=e,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setTransform=function(t,e){var r=t.position,i=t.rotation,n=t.scale,o=t.size,a=t.quat,s=t.name,u=t.anchor;if(s&&(this.name=s),r&&(tK(r,eL)?this.setPosition(r.x,r.y,r.z):this.setPosition(r[0],r[1],r[2])),a)tK(a,eI)?this.setQuaternion(a.x,a.y,a.z,a.w):this.setQuaternion(a[0],a[1],a[2],a[3]);else if(i){var c=e?-1:1;tK(i,eP)?this.setRotation(i.x*c,i.y*c,i.z*c):this.setRotation(i[0]*c,i[1]*c,i[2]*c)}n&&(tK(n,eL)?this.setScale(n.x,n.y,n.z):this.setScale(n[0],n[1],n[2])),o&&this.setSize(o.x,o.y),u&&(tK(u,eM)?this.setAnchor(u.x,u.y):this.setAnchor(u[0],u[1]))},e.addChild=function(t){t4(this.children,t)},e.removeChild=function(t){t5(this.children,t)},e.getRotation=function(){return t.getRotation(this.quat,new eP)},e.getQuaternion=function(){return this.quat},e.updateLocalMatrix=function(){this.valid?(this.dirtyFlags.localData&&(this.localMatrix.compose(this.position,this.quat,this.scale,this.anchor),this.dirtyFlags.localMatrix=!0),this.dirtyFlags.localData=!1):this.localMatrix.isIdentity()||(this.localMatrix.identity(),this.dirtyFlags.localMatrix=!0)},e.getMatrix=function(){return this.updateLocalMatrix(),this.localMatrix},e.getParentMatrix=function(){return this.parent&&(this.parentMatrix=this.parent.getWorldMatrix(),this.dirtyFlags.parentMatrix=this.dirtyFlags.parentMatrix||this.parent.dirtyFlags.localMatrix||this.parent.dirtyFlags.worldMatrix),this.parentMatrix},e.getWorldMatrix=function(){var t=this.getMatrix(),e=this.getParentMatrix();return(this.dirtyFlags.localMatrix||this.dirtyFlags.parentMatrix)&&(e?this.worldMatrix.multiplyMatrices(e,t):this.worldMatrix.copyFrom(t),this.dirtyFlags.worldMatrix=!0,this.dirtyFlags.localMatrix=!1,this.dirtyFlags.parentMatrix=!1),this.worldMatrix},e.getWorldScale=function(){var t=this.worldTRSCache;return this.dirtyFlags.worldMatrix&&(this.getWorldMatrix().decompose(t.position,t.quat,t.scale),this.dirtyFlags.worldMatrix=!1),this.worldTRSCache.scale.clone()},e.getWorldPosition=function(){return this.updateTRSCache(),this.worldTRSCache.position.clone()},e.getWorldRotation=function(){return this.updateTRSCache(),t.getRotation(this.worldTRSCache.quat,new eP)},e.assignWorldTRS=function(t,e,r){this.updateTRSCache(),t&&t.copyFrom(this.worldTRSCache.position),e&&e.copyFrom(this.worldTRSCache.quat),r&&r.copyFrom(this.worldTRSCache.scale)},e.cloneFromMatrix=function(t,e){t.decompose(this.position,this.quat,this.scale),e&&e.copyFrom(this.scale),this.dirtyFlags.localData=!0,this.dispatchValueChange()},e.setValid=function(t){this.valid!==t&&(this.valid=t,t?this.dirtyFlags.localData=!0:(this.localMatrix.identity(),this.dirtyFlags.localMatrix=!0),this.dispatchValueChange())},e.getValid=function(){return this.valid},e.toData=function(){var t=this.taggedProperties;return t.position=this.position.clone(),t.eulerHint={x:this.rotation.x,y:this.rotation.y,z:this.rotation.z},t.scale=this.scale.clone(),t},e.fromData=function(t){var e={position:new eL().copyFrom(t.position),rotation:new eP(t.eulerHint.x,t.eulerHint.y,t.eulerHint.z),scale:new eL().copyFrom(t.scale)};this.setTransform(e)},e.dispose=function(){},e.updateTRSCache=function(){var t=this.getWorldMatrix();if(this.dirtyFlags.worldMatrix){var e=this.worldTRSCache;t.decompose(e.position,e.quat,e.scale),this.dirtyFlags.worldMatrix=!1}},e.dispatchValueChange=function(){this.children.forEach(function(t){t.parentMatrixDirty=!0})},t.getRotation=function(t,e){var r=rV.copyFrom(t);return r.conjugate(),e.setFromQuaternion(r)},eT(t,[{key:"parentTransform",get:function(){return this.parent},set:function(t){t&&this.parent!==t&&this!==t&&(this.parent&&this.parent.removeChild(this),t.addChild(this),this.parent=t,this.parentMatrixDirty=!0)}},{key:"parentMatrixDirty",get:function(){return this.dirtyFlags.parentMatrix},set:function(t){this.dirtyFlags.parentMatrix!==t&&(this.dirtyFlags.parentMatrix=t,this.dispatchValueChange())}}]),t}();t.CameraController=function(t){function e(e,r){var i;return i=t.call(this,e)||this,r&&i.fromData(r),i}e_(e,t);var r=e.prototype;return r.start=function(){this.options.position=this.transform.position.clone(),this.options.rotation=this.transform.getRotation().clone()},r.update=function(){var t=this.item.lifetime;if(!(t<0)&&this.item.transform.getValid()){var e=new eI,r=new eL,i=new eP;r.copyFrom(this.options.position),i.copyFrom(this.options.rotation);var n=this.translateOverLifetime,o=this.rotationOverLifetime;if(t=eO(t,0,1),n&&(r.x+=n.x.getValue(t),r.y+=n.y.getValue(t),r.z+=n.z.getValue(t),n.path)){var a=n.path.getValue(t);r.add(a)}if(o){var s=o.z.getValue(t);i.z+=s,o.separateAxes?(i.x+=o.x.getValue(t),i.y+=o.y.getValue(t)):(i.x+=s,i.y+=s)}this.far=this.options.far.getValue(t),this.near=this.options.near.getValue(t),this.fov=this.options.fov.getValue(t),this.transform.setPosition(r.x,r.y,r.z),this.transform.setRotation(i.x,i.y,i.z),this.transform.assignWorldTRS(r,e),this.position=r,this.rotation=rF.getRotation(e,i),this.updateCamera()}},r.fromData=function(e){t.prototype.fromData.call(this,e);var r=e.options,i=r.near,n=r.far,o=r.fov,a=r.clipMode;if(this.clipMode=a,this.options={position:new eL,rotation:new eP,near:rR(i),far:rR(n),fov:rR(o)},e.positionOverLifetime){var s=e.positionOverLifetime,u=s.path,c=s.linearX,l=s.linearY,h=s.linearZ;this.translateOverLifetime={path:u&&rR(u),x:rR(void 0===c?0:c),y:rR(void 0===l?0:l),z:rR(void 0===h?0:h)}}if(e.rotationOverLifetime){var f=e.rotationOverLifetime,m=f.separateAxes,d=f.x,p=f.y,v=f.z;this.rotationOverLifetime={separateAxes:m,x:rR(void 0===d?0:d),y:rR(void 0===p?0:p),z:rR(void 0===v?0:v)}}},r.updateCamera=function(){if(this.item.composition){var t=this.item.composition.camera;t.near=this.near,t.far=this.far,t.fov=this.fov,t.clipMode=this.clipMode,t.position=this.position,t.rotation=this.rotation}},e}(ej),t.CameraController=tJ([eG(tV.CameraController)],t.CameraController);var rz=function(t){function e(){return t.apply(this,arguments)}return e_(e,t),e}(eZ);t.HitTestType=void 0,(k=t.HitTestType||(t.HitTestType={}))[k.triangle=1]="triangle",k[k.box=2]="box",k[k.sphere=3]="sphere",k[k.custom=4]="custom";var rN="click",rD="touchstart",rU="touchmove",rk="touchend",rB=tc,rG=function(){function t(t,e){void 0===e&&(e=!1),this.target=t,this.allowPropagation=e,this.enabled=!0,this.handlers={},this.nativeHandlers={}}var e=t.prototype;return e.bindListeners=function(){var t,e,r,i,n,o,a=this;n=function(t){return t};var s="mousedown",u="mousemove",c="mouseup",l=function(t,e,r,n,o){void 0===n&&(n=0),void 0===o&&(o=0);var s=a.target,u=s.width,c=s.height,l=performance.now(),h=0,f=0;if(i){var m=l-i.ts;h=(n-i.dx)/m||0,f=(o-i.dy)/m||0,i={dx:n,dy:o,ts:l}}return{x:e,y:r,vx:h,vy:f,dx:n,dy:o,ts:l,width:u,height:c,origin:t}};ei()&&(n=function(t){var e=t.touches,r=t.changedTouches;return e[0]||r[0]},s="touchstart",u="touchmove",c="touchend"),this.nativeHandlers=((o={})[s]=function(o){if(a.enabled){var s=n(o),u=rX(s);t=u.x,e=u.y,i=r={clientX:s.clientX,clientY:s.clientY,ts:performance.now(),x:t,y:e},a.dispatchEvent(rD,l(o,t,e))}},o[u]=function(i){if(r&&a.enabled){var o=rX(n(i));t=o.x,e=o.y,a.dispatchEvent(rU,l(i,t,e,t-r.x,e-r.y))}},o[c]=function(i){if(r&&a.enabled){!a.allowPropagation&&i.cancelable&&(i.preventDefault(),i.stopPropagation());var o=n(i),s=rX(o),u=Math.abs(r.clientX-o.clientX)+Math.abs(r.clientY-o.clientY);t=s.x,e=s.y,u<4&&a.dispatchEvent(rN,l(i,t,e)),a.dispatchEvent(rk,l(i,t,e,t-r.x,e-r.y))}r=0},o),Object.keys(this.nativeHandlers).forEach(function(t){var e;null==(e=a.target)||e.addEventListener(String(t),a.nativeHandlers[t])})},e.dispatchEvent=function(t,e){var r=this.handlers[t];null==r||r.forEach(function(t){return t(e)})},e.addEventListener=function(t,e){var r=this.handlers[t];return r||(r=this.handlers[t]=[]),t4(r,e),function(){t5(r,e)}},e.removeEventListener=function(t,e){var r=this.handlers[t];r&&t5(r,e)},e.dispose=function(){var t=this;this.target&&(this.handlers={},Object.keys(this.nativeHandlers).forEach(function(e){var r;null==(r=t.target)||r.removeEventListener(String(e),t.nativeHandlers[e])}),this.nativeHandlers={},this.target=null)},t}();function rX(t){var e=t.target,r=t.clientX,i=t.clientY,n=e.getBoundingClientRect(),o=n.left,a=n.top;return{x:(r-o)/n.width*2-1,y:1-(i-a)/n.height*2}}var rH=function(t){function e(){return t.apply(this,arguments)}return e_(e,t),e}(eZ),rY="editor",rj={"Filter not imported":"https://galacean.antgroup.com/effects/#/user/gasrv4ka5sacrwpg","Item duration can't be less than 0":"https://galacean.antgroup.com/effects/#/user/gasrv4ka5sacrwpg"},rW=[],rZ={};function rq(){"function"==typeof WebGL2RenderingContext?rK(WebGL2RenderingContext):"undefined"!=typeof WebGLRenderingContext?(rK(WebGLRenderingContext),rK(WebGLRenderingContext.prototype)):rW.push("iOS16 lockdown mode, WebGL Constants not in global"),rW.length||"HALF_FLOAT"in rZ||(rZ.HALF_FLOAT=5131)}function rK(t){for(var e in t)/^[A-Z_]/.test(e)&&(rZ[e]=t[e])}function rQ(t){switch(t){case ti.ALPHA:case ti.ADD:case ti.SUBTRACTION:case ti.STRONG_LIGHT:case ti.WEAK_LIGHT:return 1;case ti.SUPERPOSITION:return 2;case ti.BRIGHTNESS:return 3;case ti.MULTIPLY:return 0;default:return 1}}rW.length||rq(),t.ShaderType=void 0,(B=t.ShaderType||(t.ShaderType={}))[B.vertex=0]="vertex",B[B.fragment=1]="fragment";var rJ=((tN={})[t.ShaderType.vertex]={in:"attribute",out:"varying"},tN[t.ShaderType.fragment]={in:"varying"},tN);function r$(t,e,r,i){var n=[],o="";n.push("#define GE_RUNTIME"),t&&(t.forEach(function(t){var e=t[0],r=t[1];!0===r?n.push("#define "+e):Number.isFinite(r)&&n.push("#define "+e+" "+r)}),o=n.length?n.join("\n")+"\n":"");var a="WEBGL"+i,s=(o=o+("\n#ifndef "+a)+"\n#define "+a+"\n#endif")+"\n"+e,u=s.match(/#version\s+\b\d{3}\b\s*(es)?/),c=u?u[0]:"";if(c&&c.includes("300")){var l=RegExp(""+c,"g");1===i&&(s=s.replace(/\b(in|out)\b/g,function(t){var e;return null!=(e=rJ[r][t])?e:t})),s=s.replace(l,"\n")}return s}function r0(t,e){switch(e){case void 0:case ti.ALPHA:t.blendFunction=[rZ.ONE,rZ.ONE_MINUS_SRC_ALPHA,rZ.ONE,rZ.ONE_MINUS_SRC_ALPHA];break;case ti.ADD:t.blendFunction=[rZ.ONE,rZ.ONE,rZ.ONE,rZ.ONE];break;case ti.SUBTRACTION:t.blendFunction=[rZ.ONE,rZ.ONE,rZ.ZERO,rZ.ONE],t.blendEquation=[rZ.FUNC_REVERSE_SUBTRACT,rZ.FUNC_REVERSE_SUBTRACT];break;case ti.SUPERPOSITION:t.blendFunction=[rZ.ONE,rZ.ONE,rZ.ONE,rZ.ONE];break;case ti.MULTIPLY:t.blendFunction=[rZ.DST_COLOR,rZ.ONE_MINUS_SRC_ALPHA,rZ.DST_COLOR,rZ.ONE_MINUS_SRC_ALPHA];break;case ti.BRIGHTNESS:t.blendFunction=[rZ.ONE,rZ.ONE_MINUS_SRC_ALPHA,rZ.ONE,rZ.ONE_MINUS_SRC_ALPHA];break;case ti.STRONG_LIGHT:t.blendFunction=[rZ.DST_COLOR,rZ.DST_ALPHA,rZ.ZERO,rZ.ONE];break;case ti.WEAK_LIGHT:t.blendFunction=[rZ.DST_COLOR,rZ.ZERO,rZ.ZERO,rZ.ONE];break;default:console.warn("blendMode "+e+" not in specification, please set blend params separately")}}function r1(t,e){e===tn.DOUBLE?t.culling=!1:(t.culling=!0,t.frontFace=rZ.CW,t.cullFace=e===tn.BACK?rZ.BACK:rZ.FRONT)}function r2(t,e){switch(e){case void 0:t.stencilTest=!1;break;case to.MASK:t.stencilTest=!0,t.stencilFunc=[rZ.ALWAYS,rZ.ALWAYS],t.stencilOpZPass=[rZ.REPLACE,rZ.REPLACE];break;case to.OBSCURED:t.stencilTest=!0,t.stencilFunc=[rZ.EQUAL,rZ.EQUAL];break;case to.REVERSE_OBSCURED:t.stencilTest=!0,t.stencilFunc=[rZ.NOTEQUAL,rZ.NOTEQUAL];break;case to.NONE:t.stencilTest=!1;break;default:console.warn("maskMode "+e+" not in specification, please set stencil params seperately")}}function r3(){return(r3=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t}).apply(this,arguments)}t.TextureLoadAction=void 0,(G=t.TextureLoadAction||(t.TextureLoadAction={}))[G.whatever=0]="whatever",G[G.clear=2]="clear",t.TextureSourceType=void 0,(X=t.TextureSourceType||(t.TextureSourceType={}))[X.none=0]="none",X[X.data=1]="data",X[X.image=2]="image",X[X.compressed=3]="compressed",X[X.video=4]="video",X[X.canvas=5]="canvas",X[X.framebuffer=6]="framebuffer",X[X.mipmaps=7]="mipmaps";var r4=function(){function t(){this.callbacks={}}var e=t.prototype;return e.downloadJSON=function(t,e,r){this.download(t,"json",e,r)},e.downloadBinary=function(t,e,r){this.download(t,"arraybuffer",e,r)},e.downloadBlob=function(t,e,r){this.download(t,"blob",e,r)},e.download=function(t,e,r,i){var n=this;if(void 0===e&&(e="json"),!this.start(t,r,i)){var o=new XMLHttpRequest,a=function(){n.finish(t,o.status,o.response)};o.responseType=e,o.addEventListener("load",function(){200==o.status||0==o.status?n.finish(t,200,o.response):a()}),o.addEventListener("error",a),o.open("GET",t,!0),o.send()}},e.start=function(t,e,r){var i=this.callbacks[t];try{if(i)return!0;this.callbacks[t]=i=[]}finally{i.push(e,r)}},e.finish=function(t,e,r){var i=this.callbacks[t];delete this.callbacks[t];for(var n=200==e||0==e?[r]:[e,r],o=n.length-1,a=i.length;o<a;o+=2)i[o].apply(null,n)},t}(),r5=!1;function r6(t,e){return r8.apply(this,arguments)}function r8(){return(r8=tq(function(t,e){return t$(this,function(r){switch(r.label){case 0:if(!(r5||!e))return[3,2];return[4,r9(t)];case 1:case 5:return[2,{image:r.sent(),url:t}];case 2:return r.trys.push([2,4,,6]),[4,r9(e)];case 3:return[2,{image:r.sent(),url:e}];case 4:return r.sent(),r5=!0,[4,r9(t)];case 6:return[2]}})})).apply(this,arguments)}function r9(t){return r7.apply(this,arguments)}function r7(){return(r7=tq(function(t){var e,r;return t$(this,function(i){if(e="",tK(t,HTMLImageElement)){if(t.complete)return[2,t];e=t.src}else tK(t,Blob)?(e=URL.createObjectURL(t),r=!0):"string"==typeof t&&(e=t);if(!e)throw Error("Invalid url type: "+JSON.stringify(t));return[2,new Promise(function(t,i){var n=new Image;/^data:/.test(e)||(n.crossOrigin="*"),n.onload=function(){return n.onload=null,r&&URL.revokeObjectURL(e),t(n)},n.onerror=function(t){return n.onerror=null,r&&URL.revokeObjectURL(e),i("Load image fail: "+e+", reason: "+JSON.stringify(t))},n.src=e})]})})).apply(this,arguments)}function it(t){return ie.apply(this,arguments)}function ie(){return(ie=tq(function(t){return t$(this,function(e){return[2,new Promise(function(e,r){new r4().downloadBinary(t,e,function(e,i){r("Couldn't load bins "+t+": status "+e+", "+i)})})]})})).apply(this,arguments)}function ir(){return(ir=tq(function(t){return t$(this,function(e){return[2,new Promise(function(e,r){new r4().downloadBlob(t,e,function(e,i){r("Couldn't load blob "+t+": status "+e+", "+i)})})]})})).apply(this,arguments)}function ii(t){return io.apply(this,arguments)}function io(){return(io=tq(function(t){var e;return t$(this,function(r){return e=document.createElement("video"),"string"==typeof t?e.src=t:e.srcObject=t,e.crossOrigin="anonymous",e.muted=!0,er()&&e.setAttribute("renderer","standard"),e.setAttribute("playsinline","playsinline"),[2,new Promise(function(t,r){var i=e.play();i?i.then(function(){return t(e)}):e.addEventListener("loadeddata",function r(){t(e),e.removeEventListener("loadeddata",r)},!0),e.addEventListener("error",function(t){r(t)})})]})})).apply(this,arguments)}function ia(t,e){return is.apply(this,arguments)}function is(){return(is=tq(function(t,e){return t$(this,function(r){switch(r.label){case 0:if(!Array.isArray(t))return[3,5];r.label=1;case 1:return r.trys.push([1,3,,5]),[4,e(t[0])];case 2:case 4:return[2,r.sent()];case 3:return r.sent(),[4,e(t[1])];case 5:return[2,e(t)]}})})).apply(this,arguments)}function iu(t,e){return ic.apply(this,arguments)}function ic(){return(ic=tq(function(e,r,i,n){var o,a,s,u,c,l,h,f,m,d,p,v,y,g,x;return t$(this,function(T){switch(T.label){case 0:if(void 0===i&&(i=[]),34067!==e.target)return[3,1];for(o=e.mipmaps,a=e.target,s=[],u=eb(o);!(c=u()).done;){for(l=c.value,h=[],f=eb(l);!(m=f()).done;)d=m.value,p=n.assetLoader.loadGUID(d.id),h.push(p.data);s.push(h)}return[2,r3({keepImageSource:!1},e,{mipmaps:s,sourceFrom:{target:a,type:t.TextureSourceType.mipmaps}})];case 1:return v=e.mipmaps,y=e.target,[4,Promise.all(v.map(function(t){return function(t,e){return il.apply(this,arguments)}(t,r)}))];case 2:return g=T.sent(),x=i[v[0][1][0]].url,[2,r3({keepImageSource:!1},e,{mipmaps:g,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{target:y,bin:x,type:t.TextureSourceType.mipmaps,mipmaps:v.map(function(t){return[t[1][1],t[1][2]]})}})];case 3:return[2]}})})).apply(this,arguments)}function il(){return(il=tq(function(t,e){var r,i,n,o,a;return t$(this,function(s){if(i=(r=t[1])[0],n=r[1],o=r[2],!(a=e[i]))throw Error("invalid bin pointer: "+JSON.stringify(t));return[2,r9(new Blob([new Uint8Array(a,n,o)]))]})})).apply(this,arguments)}var ih=1,im=function(e){function r(t){var r;return(r=e.call(this,t)||this).destroyed=!1,r.id="Tex"+ih++,r}e_(r,e);var i=r.prototype;return i.getWidth=function(){return this.width||0},i.getHeight=function(){return this.height||0},i.uploadCurrentVideoFrame=function(){},i.offloadData=function(){},i.reloadData=function(){},i.initialize=function(){},i.assembleOptions=function(e){var r=e.target,i=void 0===r?rZ.TEXTURE_2D:r,n=e.format,o=void 0===n?rZ.RGBA:n;return e.sourceType||("image"in e?e.sourceType=t.TextureSourceType.image:"data"in e?e.sourceType=t.TextureSourceType.data:"video"in e?e.sourceType=t.TextureSourceType.video:e.sourceType=0),r3({minFilter:rZ.NEAREST,magFilter:rZ.NEAREST,wrapS:rZ.CLAMP_TO_EDGE,wrapT:rZ.CLAMP_TO_EDGE,target:i,format:rZ.RGBA,internalFormat:o,type:rZ.UNSIGNED_BYTE},e)},r.fromImage=function(e,i){return tq(function(){var n,o;return t$(this,function(a){switch(a.label){case 0:return[4,r9(e)];case 1:return n=a.sent(),(o=r.create(i,{sourceType:t.TextureSourceType.image,image:n,id:eg()})).initialize(),[2,o]}})})()},eT(r,[{key:"isDestroyed",get:function(){return this.destroyed}}]),r}(eX);function id(t,e,r,i){var n,o,a=e.length/r/i;return o=n=4===a||0===a?rZ.RGBA:3===a?rZ.RGB:2===a?rZ.LUMINANCE_ALPHA:rZ.LUMINANCE,im.createWithData(t,{data:e,width:r,height:i},{type:rZ.HALF_FLOAT,format:n,internalFormat:o,wrapS:rZ.CLAMP_TO_EDGE,wrapT:rZ.CLAMP_TO_EDGE})}var ip=function(){function t(t,e,r){void 0===r&&(r=0),this.arrayBuffer=t,this.baseOffset=r;var i=new Uint8Array(this.arrayBuffer,this.baseOffset,12);if(171!==i[0]||75!==i[1]||84!==i[2]||88!==i[3]||32!==i[4]||49!==i[5]||49!==i[6]||187!==i[7]||13!==i[8]||10!==i[9]||26!==i[10]||10!==i[11])throw Error("texture missing KTX identifier");var n=Uint32Array.BYTES_PER_ELEMENT,o=new DataView(this.arrayBuffer,this.baseOffset+12,13*n),a=67305985===o.getUint32(0,!0);if(this.glType=o.getUint32(1*n,a),this.glTypeSize=o.getUint32(2*n,a),this.glFormat=o.getUint32(3*n,a),this.glInternalFormat=o.getUint32(4*n,a),this.glBaseInternalFormat=o.getUint32(5*n,a),this.pixelWidth=o.getUint32(6*n,a),this.pixelHeight=o.getUint32(7*n,a),this.pixelDepth=o.getUint32(8*n,a),this.numberOfArrayElements=o.getUint32(9*n,a),this.numberOfFaces=o.getUint32(10*n,a),this.numberOfMipmapLevels=o.getUint32(11*n,a),this.bytesOfKeyValueData=o.getUint32(12*n,a),this.numberOfMipmapLevels=Math.max(1,this.numberOfMipmapLevels),0===this.pixelHeight||0!==this.pixelDepth){el.warn("Only 2D textures currently supported");return}if(0!==this.numberOfArrayElements){el.warn("Texture arrays not currently supported");return}if(this.numberOfFaces!==e){el.warn("Number of faces expected"+e+", but found "+this.numberOfFaces);return}0===this.glType?this.loadType=0:this.loadType=2}return t.prototype.mipmaps=function(t){for(var e=[],r=64+this.bytesOfKeyValueData,i=this.pixelWidth,n=this.pixelHeight,o=t?this.numberOfMipmapLevels:1,a=0;a<o;a++){for(var s=new Int32Array(this.arrayBuffer,this.baseOffset+r,1)[0],u=0;u<this.numberOfFaces;u++){var c=new Uint8Array(this.arrayBuffer,this.baseOffset+r+4,s);e.push({data:c,width:i,height:n}),r+=s+4+(3-(s+3)%4)}i=Math.max(1,.5*i),n=Math.max(1,.5*n)}return e},t}();function iv(e){var r=new ip(e,1),i=r.numberOfMipmapLevels,n=r.pixelWidth,o=r.pixelHeight,a=r.glType,s=r.numberOfFaces,u=r.glInternalFormat,c=r.glFormat;return{sourceType:t.TextureSourceType.compressed,type:a,target:6===s?rZ.TEXTURE_CUBE_MAP:rZ.TEXTURE_2D,internalFormat:u,format:c,mipmaps:r.mipmaps(i>=Math.floor(Math.log2(Math.max(n,o))+1))}}var iy=function(){function e(){this.reloadPending={}}var r=e.prototype;return r.reload=function(t){var e=this;return tq(function(){var r,i;return t$(this,function(n){switch(n.label){case 0:if(r=t.id,e.reloadPending[r])return[2];if(!t.sourceFrom)return[3,2];return e.reloadPending[r]=!0,[4,e.loadSource(t.sourceFrom)];case 1:return i=n.sent(),t.updateSource(i),e.reloadPending[r]=!1,[3,3];case 2:throw Error("No source from");case 3:return[2]}})})()},r.canOffloadTexture=function(e){if(e){var r=e.type;if(r===t.TextureSourceType.compressed||r===t.TextureSourceType.image){var i=e.target,n=e.map,o=e.url;return i===rZ.TEXTURE_CUBE_MAP?"object"==typeof n&&!!n:ef(o)&&o.length>0}if(r===t.TextureSourceType.mipmaps){var a=e.bin,s=e.mipmaps,u=e.target,c=e.maps,l=e.urls;return a?s.length>0:u===rZ.TEXTURE_CUBE_MAP?c.every(function(t){return"object"==typeof t&&t}):l.every(function(t){return ef(t)&&t.length>0})}}return!1},r.loadSource=function(e,r){var i=this;return tq(function(){var n,o,a,s,u,c,l,h,f,m,d,p,v,y,g,x,T,E;return t$(this,function(_){switch(_.label){case 0:if(n=e.type,o=e.target,a=e.map,s=e.url,u=e.bin,c=e.mipmaps,l=e.urls,h=e.maps,!(o===rZ.TEXTURE_CUBE_MAP&&n!==t.TextureSourceType.mipmaps))return[3,2];return[4,i.loadCubeMap(a)];case 1:return f=_.sent(),[2,r3({},r,{cube:f,target:rZ.TEXTURE_CUBE_MAP,sourceType:t.TextureSourceType.image,sourceFrom:{type:t.TextureSourceType.image,map:r3({},a),target:rZ.TEXTURE_CUBE_MAP}})];case 2:if(n!==t.TextureSourceType.image)return[3,4];return[4,r9(s)];case 3:return m=_.sent(),[2,r3({},r,{image:m,sourceType:t.TextureSourceType.image,sourceFrom:{type:n,url:s,target:rZ.TEXTURE_2D}})];case 4:if(n!==t.TextureSourceType.video)return[3,6];return[4,ii(s)];case 5:return d=_.sent(),[2,r3({},r,{video:d,sourceType:t.TextureSourceType.video})];case 6:if(n!==t.TextureSourceType.compressed)return[3,8];return[4,it(s)];case 7:return p=_.sent(),[2,r3({},iv(p),r,{sourceFrom:{url:s,type:t.TextureSourceType.compressed}})];case 8:if(n!==t.TextureSourceType.mipmaps)return[3,17];if(!u)return[3,13];return[4,it(u)];case 9:if(v=_.sent(),g=(y=null!=o?o:rZ.TEXTURE_2D)===rZ.TEXTURE_2D?c.slice():c.map(function(t){return t.slice()}),o!==rZ.TEXTURE_CUBE_MAP)return[3,11];return[4,Promise.all(c.map(function(t){return i.loadMipmapImages(t,v)}))];case 10:return x=_.sent(),[3,12];case 11:x=i.loadMipmapImages(c,v),_.label=12;case 12:return[2,r3({},r,{mipmaps:x,target:y,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{bin:u,mipmaps:g,target:y,type:t.TextureSourceType.mipmaps}})];case 13:if(!(o===rZ.TEXTURE_2D||!o))return[3,15];return[4,Promise.all(l.map(function(t){return r9(t)}))];case 14:return T=_.sent(),[2,r3({},r,{mipmaps:T,target:rZ.TEXTURE_2D,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{type:n,urls:l.slice(),target:rZ.TEXTURE_2D}})];case 15:if(o!==rZ.TEXTURE_CUBE_MAP)return[3,17];return[4,Promise.all(h.map(function(t){return i.loadCubeMap(t)}))];case 16:return E=_.sent(),[2,r3({},r,{mipmaps:E,target:rZ.TEXTURE_CUBE_MAP,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{type:n,maps:h.map(function(t){return r3({},t)}),target:rZ.TEXTURE_CUBE_MAP}})];case 17:throw Error("Invalid resource type: "+n)}})})()},r.loadMipmapImages=function(t,e){return tq(function(){return t$(this,function(r){return[2,Promise.all(t.map(function(t){return r9(new Blob([new Uint8Array(e,t[0],t[1])]))}))]})})()},r.loadCubeMap=function(t){return tq(function(){return t$(this,function(e){return[2,Promise.all(t.map(function(t){return r9(t)}))]})})()},e}(),ig=function(){function t(t){this.destroyed=!1;var e=t.name;this.name=void 0===e?"defaultDataBlock":e}var e=t.prototype;return e.setUniformValues=function(t){var e=this;Object.keys(t).forEach(function(r){e.setUniformValue(r,t[r])})},e.invalidAllFlags=function(){},e.updateUniformSubData=function(t,e,r){},t}();function ix(t){return"object"==typeof t&&t&&void 0===t.length&&tK(t,im)}t.MaterialRenderType=void 0,(H=t.MaterialRenderType||(t.MaterialRenderType={}))[H.normal=0]="normal",H[H.transformFeedback=1]="transformFeedback";var iT=1,iE=function(t){function e(e,r){var i;if((i=t.call(this,e)||this).stringTags={},i.destroyed=!1,i.initialized=!1,r){var n=r.name,o=void 0===n?"Material"+iT++:n,a=r.renderType,s=r.shader,u=r.uniformSemantics;i.name=o,i.renderType=void 0===a?0:a,i.shaderSource=s,i.props=r,i.uniformSemantics=r3({},u)}else i.name="Material"+iT++,i.renderType=0;return i}e_(e,t);var r=e.prototype;return r.initialize=function(){},r.use=function(t,e){},eT(e,[{key:"blending",set:function(t){}},{key:"blendFunction",set:function(t){}},{key:"blendEquation",set:function(t){}},{key:"depthTest",set:function(t){}},{key:"depthMask",set:function(t){}},{key:"stencilTest",set:function(t){}},{key:"stencilRef",set:function(t){}},{key:"stencilFunc",set:function(t){}},{key:"stencilOpZPass",set:function(t){}},{key:"culling",set:function(t){}},{key:"frontFace",set:function(t){}},{key:"cullFace",set:function(t){}},{key:"blendColor",set:function(t){}},{key:"depthRange",set:function(t){}},{key:"depthFunc",set:function(t){}},{key:"polygonOffsetFill",set:function(t){}},{key:"polygonOffset",set:function(t){}},{key:"sampleAlphaToCoverage",set:function(t){}},{key:"colorMask",set:function(t){}},{key:"stencilMask",set:function(t){}},{key:"stencilOpFail",set:function(t){}},{key:"stencilOpZFail",set:function(t){}}]),e}(eX);t.ShaderCompileResultStatus=void 0,(Y=t.ShaderCompileResultStatus||(t.ShaderCompileResultStatus={}))[Y.noShader=0]="noShader",Y[Y.success=1]="success",Y[Y.fail=2]="fail",Y[Y.compiling=3]="compiling",t.GLSLVersion=void 0,(j=t.GLSLVersion||(t.GLSLVersion={})).GLSL1="100",j.GLSL3="300 es";var i_=function(t){function e(e,r){var i;return(i=t.call(this,e)||this).source=r,i}return e_(e,t),e}(eX);t.Shader=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.createVariant=function(t){var e=[];if(t)for(var r,i=eb(Object.keys(t));!(r=i()).done;){var n=r.value;e.push([n,t[n]])}var o=this.engine.getShaderLibrary().createShader(this.shaderData,e);return o.shader=this,o},r.fromData=function(e){t.prototype.fromData.call(this,e),this.shaderData=e},e}(eX),t.Shader=tJ([eG("Shader")],t.Shader);var iC="effects-internal-copy",ib="effects-internal-copy-mesh",iA="\n#ifdef WEBGL2\n#define vsIn in\n#define vsOut out\n#else\n#define vsIn attribute\n#define vsOut varying\n#endif\nprecision highp float;\nvsIn vec2 aPos;\nvsOut vec2 vTex;\nvoid main(){\n gl_Position = vec4(aPos,0.,1.0);\n vTex = (aPos + vec2(1.0))/2.;\n}",iS="precision mediump float;\n#ifdef WEBGL2\n#define fsIn in\n#define fsOut out\n#define texture2D texture\n#else\n#define fsIn varying\n#endif\nfsIn vec2 vTex;\n#ifdef WEBGL2\nlayout (location = 0) out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\n\n#ifdef DEPTH_TEXTURE\nuniform sampler2D uDepth;\n#ifndef WEBGL2\n#extension GL_EXT_frag_depth : enable\n#define gl_FragDepth gl_FragDepthEXT\n#endif\n#endif\nvoid main(){\n #ifdef DEPTH_TEXTURE\n gl_FragDepth = texture2D(uDepth,vTex).r;\n #endif\n}\n";function iw(e,r){var i=2===e,n=i?"#version 300 es":"";return{name:iC,vertex:n+"\n"+iA,fragment:n+"\n"+iS,glslVersion:i?t.GLSLVersion.GLSL3:t.GLSLVersion.GLSL1,marcos:[["WEBGL2",!!i],["DEPTH_TEXTURE",!!r]],cacheId:ib+ +r}}var iR={format:rZ.RGBA,type:rZ.UNSIGNED_BYTE,minFilter:rZ.LINEAR,magFilter:rZ.LINEAR,wrapS:rZ.CLAMP_TO_EDGE,wrapT:rZ.CLAMP_TO_EDGE},iO=Symbol("dispose"),iM=function(){function e(t){this.textureCache={},this.textureRef={},this.engine=t}var r=e.prototype;return r.requestColorAttachmentTexture=function(e){var r=this,i=e.width,n=e.height,o=e.name,a={sourceType:t.TextureSourceType.framebuffer,data:{width:i,height:n},name:o},s=[o];Object.getOwnPropertyNames(iR).forEach(function(t){var r,i=null!=(r=e[t])?r:iR[t];a[t]=i,s.push(t,i)});var u=s.join(":"),c=this.textureCache[u];if(c)this.textureRef[u]++;else{var l=this.engine;eu(l),c=im.create(l,a),this.textureCache[u]=c,this.textureRef[u]=1,c[iO]=c.dispose,c.dispose=function(){return r.removeTexture(u)}}return c},r.removeTexture=function(t){var e=this.textureRef[t];if(e<=1){e<0&&console.error("ref count < 0");var r=this.textureCache[t];r&&(r[iO](),r.dispose=r[iO]),delete this.textureCache[t],delete this.textureRef[t]}else this.textureRef[t]=e-1},r.dispose=function(){var t=this;Object.keys(this.textureCache).forEach(function(e){var r=t.textureCache[e];r[iO](),r.dispose=r[iO]}),this.textureCache={},this.textureRef={},this.engine=void 0},e}(),iL=function(){function t(t){void 0===t&&(t={}),this.semantics=r3({},t)}var e=t.prototype;return e.toObject=function(){return r3({},this.semantics)},e.setSemantic=function(t,e){void 0===e?delete this.semantics[t]:this.semantics[t]=e},e.getSemanticValue=function(t,e){var r=this.semantics[t];return ed(r)?r(e):r},e.hasSemanticValue=function(t){return t in this.semantics},e.dispose=function(){var t=this;Object.keys(this.semantics).forEach(function(e){delete t.semantics[e]})},t}(),iI=((tU={})[rZ.FLOAT]=Float32Array.BYTES_PER_ELEMENT,tU[rZ.INT]=Int32Array.BYTES_PER_ELEMENT,tU[rZ.SHORT]=Int16Array.BYTES_PER_ELEMENT,tU[rZ.BYTE]=Int8Array.BYTES_PER_ELEMENT,tU),iV=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.initialize=function(){},r.flush=function(){},e}(eX);function iP(t){return t===rZ.INT?new Int32Array(0):t===rZ.SHORT?new Int16Array(0):new Float32Array(0)}var iF=1,iz=function(e){function r(t,r){var i;if((i=e.call(this,t)||this).destroyed=!1,i.visible=!0,r){var n=r.material,o=r.geometry,a=r.name,s=r.priority,u=r.worldMatrix,c=void 0===u?eV.fromIdentity():u;i.id="Mesh"+iF++,i.name=void 0===a?"<unnamed>":a,i.geometry=o,i.material=n,i.priority=void 0===s?0:s,i.worldMatrix=c}else i.id="Mesh"+iF++,i.name="<unnamed>",i.worldMatrix=eV.fromIdentity(),i._priority=0;return i}e_(r,e);var i=r.prototype;return i.setVisible=function(t){this.visible=t},i.getVisible=function(){return this.visible},i.render=function(t){!this.isDestroyed&&this.getVisible()&&(t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.worldMatrix),t.drawGeometry(this.geometry,this.material))},i.firstGeometry=function(){return this.geometry},i.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e},i.restore=function(){},i.dispose=function(e){if(!this.destroyed){(null==e?void 0:e.geometries)!==t.DestroyOptions.keep&&this.geometry.dispose();var r=null==e?void 0:e.material;r!==t.DestroyOptions.keep&&this.material.dispose(r),this.destroyed=!0,void 0!==this.engine&&(this.engine.removeMesh(this),this.engine=void 0)}},eT(r,[{key:"isDestroyed",get:function(){return this.destroyed}}]),r}(eW);t.RenderPassAttachmentStorageType=void 0,(W=t.RenderPassAttachmentStorageType||(t.RenderPassAttachmentStorageType={}))[W.none=0]="none",W[W.color=1]="color",W[W.stencil_8_opaque=2]="stencil_8_opaque",W[W.depth_16_opaque=3]="depth_16_opaque",W[W.depth_stencil_opaque=4]="depth_stencil_opaque",W[W.depth_16_texture=5]="depth_16_texture",W[W.depth_24_stencil_8_texture=6]="depth_24_stencil_8_texture",t.TextureStoreAction=void 0,(Z=t.TextureStoreAction||(t.TextureStoreAction={}))[Z.store=0]="store",Z[Z.clear=2]="clear";var iN=function(){function e(e,r){if(this.destroyed=!1,r){var i=r.texture,n=r.size;if(tK(i,im))this.texture=i,this.externalTexture=!0;else if(i){var o=i.wrapT,a=i.wrapS,s=i.minFilter,u=i.magFilter,c=i.internalFormat,l=i.format,h=void 0===l?rZ.RGBA:l,f=i.type,m=void 0===f?rZ.UNSIGNED_BYTE:f;this.externalTexture=!1,this.textureOptions={size:n,format:h,type:m,internalFormat:c||h,wrapT:o,wrapS:a,minFilter:s,magFilter:u,name:r.name},this.texture=im.create(e,r3({},this.textureOptions,{sourceType:t.TextureSourceType.framebuffer,data:{width:n[0],height:n[1]}}))}}}return e.prototype.dispose=function(){this.destroyed||(this.texture.dispose(),this.destroyed=!0)},eT(e,[{key:"isDestroyed",get:function(){return this.destroyed}},{key:"storageType",get:function(){return 1}},{key:"size",get:function(){var t=this.texture;return t?[t.getWidth(),t.getHeight()]:[0,0]}},{key:"width",get:function(){return this.texture.getWidth()||0}},{key:"height",get:function(){return this.texture.getHeight()||0}}]),e}();t.RenderPassDestroyAttachmentType=void 0,(q=t.RenderPassDestroyAttachmentType||(t.RenderPassDestroyAttachmentType={}))[q.force=0]="force",q[q.keep=1]="keep",q[q.keepExternal=2]="keepExternal",q[q.destroy=0]="destroy";var iD=1,iU=function(){function e(e,r){this.attachments=[],this.destroyed=!1,this.initialized=!1;var i=r.name,n=void 0===i?"RenderPass_"+iD++:i,o=r.clearAction,a=r.semantics,s=r.depthStencilAttachment,u=r.storeAction,c=r.priority,l=r.meshOrder,h=void 0===l?t.OrderType.ascending:l,f=r.meshes,m=r.delegate;this.name=n,this.renderer=e,this.priority=void 0===c?0:c,this.meshOrder=h,this.meshes=eo((void 0===f?[]:f).slice(),this.meshOrder),this.depthStencilType=(null==s?void 0:s.storageType)||0,this.clearAction=r3({},o),this.storeAction=r3({colorAction:0,depthAction:0,stencilAction:0},u),this.semantics=new iL(a),this.options=r,this.delegate=void 0===m?{}:m,this.setViewportOptions(r)}var r=e.prototype;return r.addMesh=function(t){ea(this.meshes,t,this.meshOrder)},r.removeMesh=function(t){t5(this.meshes,t)},r.setMeshes=function(t){var e;return this.meshes.length=0,(e=this.meshes).splice.apply(e,[].concat([0,0],t)),eo(this.meshes,this.meshOrder),this.meshes},r.getInitAttachments=function(){return this.attachments.length>0?this.attachments:this.options.attachments},r.configure=function(t){if(this.frameBuffer)t.setFrameBuffer(this.frameBuffer);else{var e=this.getViewport(),r=e[0],i=e[1],n=e[2],o=e[3];t.setViewport(r,i,n,o)}},r.execute=function(t){t.clear(this.clearAction),t.renderMeshes(this.meshes),t.clear(this.storeAction)},r.frameCleanup=function(t){},r.resetColorAttachments=function(e){var r=this;if(e.length||this.resetAttachments({attachments:[]}),this.attachments.length){var i=e.map(function(e){return e.updateSource({sourceType:t.TextureSourceType.framebuffer}),new iN(r.renderer.engine,{texture:e})});this.attachments.forEach(function(t){return!t.externalTexture&&t.dispose()}),this.attachments=i,this.frameBuffer&&(this.frameBuffer.bind(),this.frameBuffer.resetColorTextures(e.map(function(t){return t})))}else this.resetAttachments({attachments:e.map(function(t){return{texture:t}})})},r.resetAttachments=function(t){this.options=t,this.setViewportOptions(t),this.renderer&&this._resetAttachments()},r.setViewportOptions=function(t){if(t.viewport){if(this.isCustomViewport=!0,this.viewportScale=1,this.customViewport=t.viewport.slice(0,4),this.frameBuffer){var e=this.customViewport;this.frameBuffer.isCustomViewport=!1,this.frameBuffer.resize(e[0],e[1],e[2],e[3])}}else this.isCustomViewport=!1,this.viewportScale=t.viewportScale||1,this.frameBuffer&&(this.frameBuffer.isCustomViewport=!0,this.frameBuffer.viewportScale=this.viewportScale)},r._resetAttachments=function(){var t,e,r=this,i=this.renderer,n=this.options;this.attachments.length&&(this.attachments.forEach(function(t){return!t.externalTexture&&t.dispose()}),this.attachments.length=0,null==(e=this.frameBuffer)||e.dispose({depthStencilAttachment:2}),this.frameBuffer=null);var o=this.viewportScale,a=this.isCustomViewport?this.customViewport:[0,0,i.getWidth()*o,i.getHeight()*o],s=[a[2],a[3]],u=this.name;if(null==(t=n.attachments)?void 0:t.length){var c=n.attachments.map(function(t,e){var i;return new iN(r.renderer.engine,r3({size:s,name:(null==(i=t.texture)?void 0:i.name)||u+"##color_"+e},t))});this.attachments=c;var l=nn.create({storeAction:this.storeAction,name:u,viewport:a,viewportScale:this.viewportScale,isCustomViewport:this.isCustomViewport,attachments:c.map(function(t){return t.texture}),depthStencilAttachment:n.depthStencilAttachment||{storageType:0}},i);l.bind(),l.unbind(),this.frameBuffer=l}else this.attachments.length=0},r.getViewport=function(){var t,e=(null==(t=this.frameBuffer)?void 0:t.viewport)||this.customViewport;if(e)return e;var r=this.renderer,i=this.viewportScale;return r?[0,0,r.getWidth()*i,r.getHeight()*i]:[0,0,0,0]},r.getDepthAttachment=function(){var t=this.frameBuffer;if(t)return{storageType:t.depthStencilStorageType,storage:t.depthStorage,texture:t.getDepthTexture()?this.getDepthTexture(t.getDepthTexture(),t.externalStorage):void 0}},r.getStencilAttachment=function(){var t=this.frameBuffer;if(t)return{storageType:t.depthStencilStorageType,storage:t.stencilStorage,texture:t.getStencilTexture()?this.getStencilTexture(t.getStencilTexture(),t.externalStorage):void 0}},r.getDepthTexture=function(t,e){if(!this.depthTexture){var r,i=null==(r=this.options.depthStencilAttachment)?void 0:r.texture,n=t===i?i:t;return e||(this.depthTexture=n),n}return this.depthTexture},r.getStencilTexture=function(t,e){if(!this.stencilTexture){var r,i=null==(r=this.options.depthStencilAttachment)?void 0:r.texture,n=t===i?i:t;return e||(this.stencilTexture=n),n}return this.stencilTexture},r.initialize=function(t){return this.initialized||(this._resetAttachments(),this.initialized=!0),this},r.dispose=function(e){if(!this.destroyed){var r,i,n=(null==e?void 0:e.meshes)||void 0;n!==t.DestroyOptions.keep&&this.meshes.forEach(function(t){t.dispose(n)}),this.meshes.length=0;var o=(null==e?void 0:e.colorAttachment)?e.colorAttachment:0;this.attachments.forEach(function(t){t.externalTexture&&2===o||1===o||t.dispose()}),this.attachments.length=0,(null==e?void 0:e.semantics)!==t.DestroyOptions.keep&&this.semantics.dispose(),this.destroyed=!0;var a=(null==e?void 0:e.depthStencilAttachment)?e.depthStencilAttachment:0,s=this.frameBuffer;s&&(s.dispose({depthStencilAttachment:a}),s.externalStorage&&2===a||1===a||(null==(r=this.stencilTexture)||r.dispose(),null==(i=this.depthTexture)||i.dispose())),this.options=this.renderer=null,this.initialize=ey}},eT(e,[{key:"isDestroyed",get:function(){return this.destroyed}},{key:"viewport",get:function(){return this.getViewport()}},{key:"stencilAttachment",get:function(){return this.getStencilAttachment()}},{key:"depthAttachment",get:function(){return this.getDepthAttachment()}}]),e}(),ik="#version 300 es\nprecision highp float;\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\nvec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}in vec4 vColor;in vec4 vTexCoord;in highp vec2 vParams;uniform vec3 uFrameColor;void main(){fragColor=vec4(uFrameColor.xyz,1.0);}",iB="precision highp float;attribute vec2 atlasOffset;attribute vec3 aPos;varying vec2 vTexCoord;varying vec3 vParams;varying vec4 vColor;uniform vec2 _Size;uniform vec4 _Color;uniform vec4 _TexParams;uniform vec4 _TexOffset;uniform mat4 effects_MatrixVP;uniform mat4 effects_MatrixInvV;uniform mat4 effects_ObjectToWorld;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvoid main(){vec4 texParams=_TexParams;vTexCoord=vec2(atlasOffset.xy*_TexOffset.zw+_TexOffset.xy);vColor=_Color;vParams=vec3(0.0,texParams.y,texParams.x);vec4 pos=vec4(aPos.xy*_Size,aPos.z,1.0);gl_Position=effects_MatrixVP*effects_ObjectToWorld*pos;\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}",iG="precision highp float;varying vec4 vColor;varying vec2 vTexCoord;varying vec3 vParams;uniform sampler2D uSampler0;vec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}void main(){vec4 color=vec4(0.);vec4 texColor=texture2D(uSampler0,vTexCoord.xy);color=blendColor(texColor,vColor,floor(0.5+vParams.y));if(vParams.z==0.&&color.a<0.04){discard;}color.a=clamp(color.a,0.0,1.0);gl_FragColor=color;}",iX="#version 300 es\nprecision mediump float;\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\nvec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}\n#define PATICLE_SHADER 1\nin float vLife;in vec2 vTexCoord;in vec4 vColor;uniform vec3 emissionColor;uniform float emissionIntensity;uniform sampler2D uMaskTex;uniform vec4 uColorParams;uniform vec2 uTexOffset;\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\n#ifdef USE_SPRITE\nin vec4 vTexCoordBlend;\n#endif\nin float vSeed;\n#ifdef PREVIEW_BORDER\nuniform vec4 uPreviewColor;\n#endif\n#ifdef USE_SPRITE\nvec4 getTextureColor(sampler2D tex,vec2 texCoord){if(vTexCoordBlend.w>0.){return mix(texture2D(tex,texCoord),texture2D(tex,vTexCoordBlend.xy+texCoord),vTexCoordBlend.z);}return texture2D(tex,texCoord);}\n#else\n#define getTextureColor texture2D\n#endif\n#ifndef WEBGL2\n#define round(a) floor(0.5+a)\n#endif\n#ifdef PREVIEW_BORDER\nvoid main(){fragColor=uPreviewColor;}\n#else\nvoid main(){vec4 color=vec4(1.0);vec4 tempColor=vColor;vec2 texOffset=uTexOffset;if(vLife<0.){discard;}if(uColorParams.x>0.0){color=getTextureColor(uMaskTex,vTexCoord);}\n#ifdef COLOR_OVER_LIFETIME\n#ifndef ENABLE_VERTEX_TEXTURE\ntempColor*=texture2D(uColorOverLifetime,vec2(vLife,0.));\n#endif\n#endif\ncolor=blendColor(color,tempColor,round(uColorParams.y));if(color.a<=0.01&&uColorParams.w>0.){float _at=texture2D(uMaskTex,vTexCoord+texOffset).a+texture2D(uMaskTex,vTexCoord+texOffset*-1.).a;if(_at<=0.02){discard;}}vec3 emission=emissionColor*pow(2.0,emissionIntensity);color=vec4(pow(pow(color.rgb,vec3(2.2))+emission,vec3(1.0/2.2)),color.a);fragColor=color;}\n#endif\n",iH="#version 300 es\nprecision mediump float;\n#define SHADER_VERTEX 1\n#define PATICLE_SHADER 1\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#define NONE_CONST_INDEX 1\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#endif\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\nmat4 cubicBezierMatrix=mat4(1.0,-3.0,3.0,-1.0,0.0,3.0,-6.0,3.0,0.0,0.0,3.0,-3.0,0.0,0.0,0.0,1.0);float cubicBezier(float t,float y1,float y2,float y3,float y4){vec4 tVec=vec4(1.0,t,t*t,t*t*t);vec4 yVec=vec4(y1,y2,y3,y4);vec4 result=tVec*cubicBezierMatrix*yVec;return result.x+result.y+result.z+result.w;}float binarySearchT(float x,float x1,float x2,float x3,float x4){float left=0.0;float right=1.0;float mid=0.0;float computedX;for(int i=0;i<8;i++){mid=(left+right)*0.5;computedX=cubicBezier(mid,x1,x2,x3,x4);if(abs(computedX-x)<0.0001){break;}else if(computedX>x){right=mid;}else{left=mid;}}return mid;}float valueFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);for(int i=0;i<ITR_END;i+=2){if(i>=count){break;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return k0.y;}if(i==int(frameCount-2.)&&time>=k1.x){return k1.y;}if(time>=k0.x&&time<=k1.x){float t=(time-k0.x)/(k1.x-k0.x);float nt=binarySearchT(time,k0.x,k0.z,k1.z,k1.x);return cubicBezier(nt,k0.y,k0.w,k1.w,k1.y);}}}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){if(i>count){return lookup_curve(i).w;}vec4 seg=lookup_curve(i+start);vec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}vec2 p2=lookup_curve(i+start+1).xy;if(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed);}if(type==5.){return valueFromBezierCurveFrames(time,value.z,value.w);}return 0.;}float calculateMovement(float t,vec2 p1,vec2 p2,vec2 p3,vec2 p4){float movement=0.0;float h=(t-p1.x)*0.05;for(int i=0;i<=20;i++){float t=float(i)*h;float nt=binarySearchT(t,p1.x,p2.x,p3.x,p4.x);float y=cubicBezier(nt,p1.y,p2.y,p3.y,p4.y);float weight=(i==0||i==20)? 1.0 :(mod(float(i),2.)!=0.)? 4.0 : 2.0;movement+=weight*y;}movement*=h/3.;return movement;}float integrateFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i+=2){vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return ret;}vec2 p1=vec2(k0.x,k0.y);vec2 p2=vec2(k0.z,k0.w);vec2 p3=vec2(k1.z,k1.w);vec2 p4=vec2(k1.x,k1.y);if(time>=k1.x){ret+=calculateMovement(k1.x,p1,p2,p3,p4);}if(time>=k0.x&&time<k1.x){return ret+calculateMovement(time,p1,p2,p3,p4);}}return ret;}float integrateByTimeLineSeg(float t,vec2 p0,vec2 p1){float t0=p0.x;float t1=p1.x;float y0=p0.y;float y1=p1.y;vec4 tSqr=vec4(t,t,t0,t0);tSqr=tSqr*tSqr;vec4 a=vec4(2.*t,3.,-t0,3.)*tSqr;float t1y0=t1*y0;vec4 b=vec4(y0-y1,t0*y1-t1y0,2.*y0+y1,t1y0);float r=dot(a,b);return r/(t0-t1)*0.16666667;}float integrateLineSeg(float time,vec2 p0,vec2 p1){float h=time-p0.x;float y0=p0.y;return(y0+y0+(p1.y-y0)*h/(p1.x-p0.x))*h/2.;}float integrateFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateLineSeg(time,k0,k1);}ret+=integrateLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateLineSeg(time,k1,k2);}ret+=integrateLineSeg(k2.x,k1,k2);}return ret;}float integrateByTimeFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateByTimeLineSeg(time,k0,k1);}ret+=integrateByTimeLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateByTimeLineSeg(time,k1,k2);}ret+=integrateByTimeLineSeg(k2.x,k1,k2);}return ret;}float getIntegrateFromTime0(float t1,vec4 value){float type=value.x;if(type==0.){return value.y*t1;}if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateLineSeg(t1,p0,p1);}if(type==3.){return integrateFromLineSeg(t1,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*t1;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w);}return 0.;}float getIntegrateByTimeFromTime(float t0,float t1,vec4 value){float type=value.x;if(type==0.){return value.y*(t1*t1-t0*t0)/2.;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateByTimeLineSeg(t1,p0,p1)-integrateByTimeLineSeg(t0,p0,p1);}if(type==3.){return integrateByTimeFromLineSeg(t1,value.y,value.z)-integrateByTimeFromLineSeg(t0,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*(t1*t1-t0*t0)/2.;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w)-integrateFromBezierCurveFrames(t0,value.z,value.w);}return 0.;}const float d2r=3.141592653589793/180.;in vec3 aPos;in vec4 aOffset;in vec3 aVel;in vec3 aRot;in vec4 aColor;in vec3 aDirX;in vec3 aDirY;\n#ifdef USE_SPRITE\nin vec3 aSprite;uniform vec4 uSprite;struct UVDetail{vec2 uv0;vec3 uv1;};UVDetail getSpriteUV(vec2 uv,float lifeTime);out vec4 vTexCoordBlend;\n#endif\n#ifdef FINAL_TARGET\nuniform vec3 uFinalTarget;uniform vec4 uForceCurve;\n#endif\nuniform mat4 effects_ObjectToWorld;uniform mat4 effects_MatrixV;uniform mat4 effects_MatrixVP;uniform vec4 uParams;uniform vec4 uAcceleration;uniform vec4 uGravityModifierValue;uniform vec4 uOpacityOverLifetimeValue;\n#ifdef ROT_X_LIFETIME\nuniform vec4 uRXByLifeTimeValue;\n#endif\n#ifdef ROT_Y_LIFETIME\nuniform vec4 uRYByLifeTimeValue;\n#endif\n#ifdef ROT_Z_LIFETIME\nuniform vec4 uRZByLifeTimeValue;\n#endif\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\n#if LINEAR_VEL_X + LINEAR_VEL_Y + LINEAR_VEL_Z\n#if LINEAR_VEL_X\nuniform vec4 uLinearXByLifetimeValue;\n#endif\n#if LINEAR_VEL_Y\nuniform vec4 uLinearYByLifetimeValue;\n#endif\n#if LINEAR_VEL_Z\nuniform vec4 uLinearZByLifetimeValue;\n#endif\n#endif\n#ifdef SPEED_OVER_LIFETIME\nuniform vec4 uSpeedLifetimeValue;\n#endif\n#if ORB_VEL_X + ORB_VEL_Y + ORB_VEL_Z\n#if ORB_VEL_X\nuniform vec4 uOrbXByLifetimeValue;\n#endif\n#if ORB_VEL_Y\nuniform vec4 uOrbYByLifetimeValue;\n#endif\n#if ORB_VEL_Z\nuniform vec4 uOrbZByLifetimeValue;\n#endif\nuniform vec3 uOrbCenter;\n#endif\nuniform vec4 uSizeByLifetimeValue;\n#ifdef SIZE_Y_BY_LIFE\nuniform vec4 uSizeYByLifetimeValue;\n#endif\nout float vLife;out vec4 vColor;out vec2 vTexCoord;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvec3 calOrbitalMov(float _life,float _dur){vec3 orb=vec3(0.0);\n#ifdef AS_ORBITAL_MOVEMENT\n#define FUNC(a) getValueFromTime(_life,a)\n#else\n#define FUNC(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#if ORB_VEL_X\norb.x=FUNC(uOrbXByLifetimeValue);\n#endif\n#if ORB_VEL_Y\norb.y=FUNC(uOrbYByLifetimeValue);\n#endif\n#if ORB_VEL_Z\norb.z=FUNC(uOrbZByLifetimeValue);\n#endif\n#undef FUNC\nreturn orb;}vec3 calLinearMov(float _life,float _dur){vec3 mov=vec3(0.0);\n#ifdef AS_LINEAR_MOVEMENT\n#define FUNC(a) getValueFromTime(_life,a)\n#else\n#define FUNC(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#if LINEAR_VEL_X\nmov.x=FUNC(uLinearXByLifetimeValue);\n#endif\n#if LINEAR_VEL_Y\nmov.y=FUNC(uLinearYByLifetimeValue);\n#endif\n#if LINEAR_VEL_Z\nmov.z=FUNC(uLinearZByLifetimeValue);\n#endif\n#undef FUNC\nreturn mov;}mat3 mat3FromRotation(vec3 rotation){vec3 sinR=sin(rotation*d2r);vec3 cosR=cos(rotation*d2r);return mat3(cosR.z,-sinR.z,0.,sinR.z,cosR.z,0.,0.,0.,1.)*mat3(cosR.y,0.,sinR.y,0.,1.,0.,-sinR.y,0,cosR.y)*mat3(1.,0.,0.,0,cosR.x,-sinR.x,0.,sinR.x,cosR.x);}\n#ifdef USE_SPRITE\nUVDetail getSpriteUV(vec2 uv,float lifeTime){float t=fract(clamp((lifeTime-aSprite.x)/aSprite.y,0.0,1.)*aSprite.z);float frame=uSprite.z*t;float frameIndex=max(ceil(frame)-1.,0.);float row=floor((frameIndex+0.1)/uSprite.x);float col=frameIndex-row*uSprite.x;vec2 retUV=(vec2(col,row)+uv)/uSprite.xy;UVDetail ret;if(uSprite.w>0.){float blend=frame-frameIndex;float frameIndex1=min(ceil(frame),uSprite.z-1.);float row1=floor((frameIndex1+0.1)/uSprite.x);float col1=frameIndex1-row1*uSprite.x;vec2 coord=(vec2(col1,row1)+uv)/uSprite.xy-retUV;ret.uv1=vec3(coord.x,1.-coord.y,blend);}ret.uv0=vec2(retUV.x,1.-retUV.y);return ret;}\n#endif\nvec3 calculateTranslation(vec3 vel,float t0,float t1,float dur){float dt=t1-t0;float d=getIntegrateByTimeFromTime(0.,dt,uGravityModifierValue);vec3 acc=uAcceleration.xyz*d;\n#ifdef SPEED_OVER_LIFETIME\nreturn vel*getIntegrateFromTime0(dt/dur,uSpeedLifetimeValue)*dur+acc;\n#endif\nreturn vel*dt+acc;}mat3 transformFromRotation(vec3 rot,float _life,float _dur){vec3 rotation=rot;\n#ifdef ROT_LIFETIME_AS_MOVEMENT\n#define FUNC1(a) getValueFromTime(_life,a)\n#else\n#define FUNC1(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#ifdef ROT_X_LIFETIME\nrotation.x+=FUNC1(uRXByLifeTimeValue);\n#endif\n#ifdef ROT_Y_LIFETIME\nrotation.y+=FUNC1(uRYByLifeTimeValue);\n#endif\n#ifdef ROT_Z_LIFETIME\nrotation.z+=FUNC1(uRZByLifeTimeValue);\n#endif\nif(dot(rotation,rotation)==0.0){return mat3(1.0);}\n#undef FUNC1\nreturn mat3FromRotation(rotation);}void main(){float time=uParams.x-aOffset.z;float dur=aOffset.w;if(time<0.||time>dur){gl_Position=vec4(-3.,-3.,-3.,1.);}else{float life=clamp(time/dur,0.0,1.0);vLife=life;\n#ifdef USE_SPRITE\nUVDetail uvD=getSpriteUV(aOffset.xy,time);vTexCoord=uvD.uv0;vTexCoordBlend=vec4(uvD.uv1,uSprite.w);\n#else\nvTexCoord=aOffset.xy;\n#endif\nvColor=aColor;\n#ifdef COLOR_OVER_LIFETIME\n#ifdef ENABLE_VERTEX_TEXTURE\nvColor*=texture2D(uColorOverLifetime,vec2(life,0.));\n#endif\n#endif\nvColor.a*=clamp(getValueFromTime(life,uOpacityOverLifetimeValue),0.,1.);vec3 size=vec3(vec2(getValueFromTime(life,uSizeByLifetimeValue)),1.0);\n#ifdef SIZE_Y_BY_LIFE\nsize.y=getValueFromTime(life,uSizeYByLifetimeValue);\n#endif\nvec3 point=transformFromRotation(aRot,life,dur)*(aDirX*size.x+aDirY*size.y);vec3 pt=calculateTranslation(aVel,aOffset.z,uParams.x,dur);vec3 _pos=aPos+pt;\n#if ORB_VEL_X + ORB_VEL_Y + ORB_VEL_Z\n_pos=mat3FromRotation(calOrbitalMov(life,dur))*(_pos-uOrbCenter);_pos+=uOrbCenter;\n#endif\n#if LINEAR_VEL_X + LINEAR_VEL_Y + LINEAR_VEL_Z\n_pos.xyz+=calLinearMov(life,dur);\n#endif\n#ifdef FINAL_TARGET\nfloat force=getValueFromTime(life,uForceCurve);vec4 pos=vec4(mix(_pos,uFinalTarget,force),1.);\n#else\nvec4 pos=vec4(_pos,1.0);\n#endif\n#if RENDER_MODE == 1\npos.xyz+=point;pos=effects_ObjectToWorld*pos;\n#elif RENDER_MODE == 3\npos=effects_ObjectToWorld*pos;pos.xyz+=effects_MatrixV[0].xyz*point.x+effects_MatrixV[2].xyz*point.y;\n#elif RENDER_MODE == 2\npos=effects_ObjectToWorld*pos;pos.xy+=point.xy;\n#elif RENDER_MODE == 0\npos=effects_ObjectToWorld*pos;pos.xyz+=effects_MatrixV[0].xyz*point.x+effects_MatrixV[1].xyz*point.y;\n#endif\ngl_Position=effects_MatrixVP*pos;vSeed=aSeed;gl_PointSize=6.0;\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}}",iY="#version 300 es\nprecision mediump float;\n#define SHADER_VERTEX 1\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#define NONE_CONST_INDEX 1\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#endif\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\nmat4 cubicBezierMatrix=mat4(1.0,-3.0,3.0,-1.0,0.0,3.0,-6.0,3.0,0.0,0.0,3.0,-3.0,0.0,0.0,0.0,1.0);float cubicBezier(float t,float y1,float y2,float y3,float y4){vec4 tVec=vec4(1.0,t,t*t,t*t*t);vec4 yVec=vec4(y1,y2,y3,y4);vec4 result=tVec*cubicBezierMatrix*yVec;return result.x+result.y+result.z+result.w;}float binarySearchT(float x,float x1,float x2,float x3,float x4){float left=0.0;float right=1.0;float mid=0.0;float computedX;for(int i=0;i<8;i++){mid=(left+right)*0.5;computedX=cubicBezier(mid,x1,x2,x3,x4);if(abs(computedX-x)<0.0001){break;}else if(computedX>x){right=mid;}else{left=mid;}}return mid;}float valueFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);for(int i=0;i<ITR_END;i+=2){if(i>=count){break;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return k0.y;}if(i==int(frameCount-2.)&&time>=k1.x){return k1.y;}if(time>=k0.x&&time<=k1.x){float t=(time-k0.x)/(k1.x-k0.x);float nt=binarySearchT(time,k0.x,k0.z,k1.z,k1.x);return cubicBezier(nt,k0.y,k0.w,k1.w,k1.y);}}}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){if(i>count){return lookup_curve(i).w;}vec4 seg=lookup_curve(i+start);vec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}vec2 p2=lookup_curve(i+start+1).xy;if(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed);}if(type==5.){return valueFromBezierCurveFrames(time,value.z,value.w);}return 0.;}in vec4 aPos;in vec3 aDir;in vec3 aInfo;in vec4 aColor;in float aTime;\n#ifdef ATTR_TRAIL_START\nin float aTrailStart;\n#else\nuniform float uTrailStart[64];in float aTrailStartIndex;\n#endif\nuniform mat4 effects_MatrixInvV;uniform mat4 effects_ObjectToWorld;uniform mat4 effects_MatrixVP;uniform vec4 uTextureMap;uniform float uTime;uniform vec4 uParams;uniform vec4 uColorParams;uniform vec4 uOpacityOverLifetimeValue;uniform vec4 uWidthOverTrail;\n#ifdef COLOR_OVER_TRAIL\nuniform sampler2D uColorOverTrail;\n#endif\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\nout float vLife;out vec2 vTexCoord;out vec4 vColor;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvoid main(){vec4 _pa=effects_MatrixVP*vec4(aPos.xyz,1.);vec4 _pb=effects_MatrixVP*vec4(aPos.xyz+aDir,1.);vec2 dir=normalize(_pb.xy/_pb.w-_pa.xy/_pa.w);vec2 screen_xy=vec2(-dir.y,dir.x);vec4 pos=effects_ObjectToWorld*vec4(aPos.xyz,1.);\n#ifdef ATTR_TRAIL_START\nfloat ts=aTrailStart;\n#else\nfloat ts=uTrailStart[int(aTrailStartIndex)];\n#endif\nfloat trail=(ts-aInfo.y)/uParams.y;float width=aPos.w*getValueFromTime(trail,uWidthOverTrail)/max(abs(screen_xy.x),abs(screen_xy.y));pos.xyz+=(effects_MatrixInvV[0].xyz*screen_xy.x+effects_MatrixInvV[1].xyz*screen_xy.y)*width;float time=min((uTime-aTime)/aInfo.x,1.0);gl_Position=effects_MatrixVP*pos;vColor=aColor;\n#ifdef COLOR_OVER_LIFETIME\n#ifdef ENABLE_VERTEX_TEXTURE\nvColor*=texture2D(uColorOverLifetime,vec2(time,0.));\n#endif\n#endif\n#ifdef COLOR_OVER_TRAIL\nvColor*=texture2D(uColorOverTrail,vec2(trail,0.));\n#endif\nvColor.a*=clamp(getValueFromTime(time,uOpacityOverLifetimeValue),0.,1.);vLife=time;vTexCoord=uTextureMap.xy+vec2(trail,aInfo.z)*uTextureMap.zw;vSeed=aSeed;\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}",ij="precision highp float;attribute vec2 aPos;varying vec2 uv;void main(){gl_Position=vec4(aPos,0.,1.0);uv=(aPos+vec2(1.0))/2.;}",iW="precision highp float;\n#define HALF_MAX 60000.0\n#define ACEScc_MIDGRAY 0.4135884\nvarying vec2 uv;uniform sampler2D _GaussianTex;uniform sampler2D _SceneTex;uniform float _BloomIntensity;uniform float _Brightness;uniform float _Saturation;uniform float _Contrast;uniform bool _UseBloom;uniform bool _UseToneMapping;uniform vec3 _VignetteColor;uniform vec2 _VignetteCenter;uniform float _VignetteIntensity;uniform float _VignetteSmoothness;uniform float _VignetteRoundness;mat3 LinearToACES=mat3(0.59719,0.07600,0.02840,0.35458,0.90834,0.13383,0.04823,0.01566,0.83777);mat3 ACESToLinear=mat3(1.60475,-0.10208,-0.00327,-0.53108,1.10813,-0.07276,-0.07367,-0.00605,1.07602);float log10(float x){return log(x)/log(10.0);}vec3 log10(vec3 v){return vec3(log10(v.x),log10(v.y),log10(v.z));}vec3 LinearToLogC(vec3 x){return 0.244161*log10(5.555556*x+0.047996)+0.386036;}vec3 LogCToLinear(vec3 x){return(pow(vec3(10.0),(x-0.386036)/0.244161)-0.047996)/5.555556;}vec3 rrt_and_odt_fit(vec3 col){vec3 a=col*(col+0.0245786)-0.000090537;vec3 b=col*(0.983729*col+0.4329510)+0.238081;return a/b;}vec3 ACESToneMapping(vec3 col){vec3 aces=LinearToACES*col;aces=rrt_and_odt_fit(aces);col=ACESToLinear*aces;return col;}vec3 LinearToSrgb(vec3 c){return mix(1.055*pow(c,vec3(1./2.4))-0.055,12.92*c,step(c,vec3(0.0031308)));}vec3 GammaCorrection(vec3 c){return pow(c,vec3(1.0/2.2));}vec3 ApplyVignette(vec3 inputColor,vec2 uv,vec2 center,float intensity,float roundness,float smoothness,vec3 color){vec2 dist=abs(uv-center)*intensity;dist.x*=roundness;float vfactor=pow(clamp((1.0-dot(dist,dist)),0.0,1.0),smoothness);return inputColor*mix(color,vec3(1.0),vfactor);}void main(){vec4 hdrColor=texture2D(_SceneTex,uv);hdrColor.rgb=pow(hdrColor.rgb,vec3(2.2));vec3 finalColor=hdrColor.rgb;if(_UseBloom){vec4 bloomColor=texture2D(_GaussianTex,uv);bloomColor.rgb*=_BloomIntensity;finalColor+=bloomColor.rgb;}if(_VignetteIntensity>0.0){finalColor=ApplyVignette(finalColor,uv,_VignetteCenter,_VignetteIntensity,_VignetteRoundness,_VignetteSmoothness,_VignetteColor);}finalColor=finalColor*_Brightness;vec3 colorLog=LinearToLogC(finalColor);colorLog=(colorLog-ACEScc_MIDGRAY)*_Contrast+ACEScc_MIDGRAY;finalColor=LogCToLinear(colorLog);finalColor=max(finalColor,0.0);float luminance=0.2125*finalColor.r+0.7154*finalColor.g+0.0721*finalColor.b;vec3 luminanceColor=vec3(luminance,luminance,luminance);finalColor=(finalColor-luminanceColor)*_Saturation+luminanceColor;finalColor=max(finalColor,0.0);if(_UseToneMapping){finalColor=max(vec3(0.0),ACESToneMapping(finalColor));}gl_FragColor=vec4(clamp(GammaCorrection(finalColor),0.0,1.0),1.0);}",iZ="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;vec3 GaussH(sampler2D tex,vec2 uv){vec3 color=vec3(0.0);float offsets[9];offsets[0]=-4.0;offsets[1]=-3.0;offsets[2]=-2.0;offsets[3]=-1.0;offsets[4]=0.0;offsets[5]=1.0;offsets[6]=2.0;offsets[7]=3.0;offsets[8]=4.0;float weights[9];weights[0]=0.01621622;weights[1]=0.05405405;weights[2]=0.12162162;weights[3]=0.19459459;weights[4]=0.22702703;weights[5]=0.19459459;weights[6]=0.12162162;weights[7]=0.05405405;weights[8]=0.01621622;for(int i=0;i<9;i++){vec2 offset=vec2(offsets[i]*2.0*(1.0/_TextureSize.x),0);color+=texture2D(tex,uv+offset).rgb*weights[i];}return color;}void main(){vec3 color=GaussH(_MainTex,uv);gl_FragColor=vec4(color,1.0);}",iq="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;vec3 GaussV(sampler2D tex,vec2 uv){vec3 color=vec3(0.0);float offsets[5];offsets[0]=-3.23076923;offsets[1]=-1.38461538;offsets[2]=0.0;offsets[3]=1.38461538;offsets[4]=3.23076923;float weights[5];weights[0]=0.07027027;weights[1]=0.31621622;weights[2]=0.22702703;weights[3]=0.31621622;weights[4]=0.07027027;for(int i=0;i<5;i++){vec2 offset=vec2(0,offsets[i]*(1.0/_TextureSize.y));color+=texture2D(tex,uv+offset).rgb*weights[i];}return color;}void main(){vec3 color=GaussV(_MainTex,uv);gl_FragColor=vec4(color,1.0);}",iK="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform sampler2D _GaussianDownTex;uniform vec2 _GaussianDownTextureSize;float GaussWeight2D(float x,float y,float sigma){float PI=3.14159265358;float E=2.71828182846;float sigma_2=pow(sigma,2.0);float a=-(x*x+y*y)/(2.0*sigma_2);return pow(E,a)/(2.0*PI*sigma_2);}vec3 GaussNxN(sampler2D tex,vec2 uv,vec2 stride,float sigma){vec3 color=vec3(0.,0.,0.);const int r=1;float weight=0.0;for(int i=-r;i<=r;i++){for(int j=-r;j<=r;j++){float w=GaussWeight2D(float(i),float(j),sigma);vec2 coord=uv+vec2(i,j)*stride;color+=texture2D(tex,coord).rgb*w;weight+=w;}}color/=weight;return color;}void main(){vec3 lowResColor=GaussNxN(_MainTex,uv,0.5/_GaussianDownTextureSize,1.0);vec3 highResColor=GaussNxN(_GaussianDownTex,uv,1.0/_GaussianDownTextureSize,1.0);vec3 color=mix(highResColor,lowResColor,0.7);gl_FragColor=vec4(color,1.0);}",iQ="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform float _Threshold;void main(){vec4 mainColor=texture2D(_MainTex,uv);mainColor.rgb=pow(mainColor.rgb,vec3(2.2));float brightness=max(mainColor.r,max(mainColor.g,mainColor.b));float w=max(0.0,brightness-_Threshold)/max(brightness,0.00001);mainColor.rgb*=w;gl_FragColor=vec4(mainColor.rgb,1.0);}",iJ=function(e){function r(r,i){var n,o=(n=e.call(this,r,i)||this).renderer.engine,a=iV.create(o,{mode:rZ.TRIANGLE_STRIP,attributes:{aPos:{type:rZ.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),s=iE.create(o,{shader:{vertex:ij,fragment:iQ,glslVersion:t.GLSLVersion.GLSL1}});return s.blending=!1,s.depthTest=!1,s.culling=!1,n.screenMesh=iz.create(o,{geometry:a,material:s,priority:0}),n.priority=5e3,n}e_(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],this.sceneTextureHandle.texture=this.mainTexture,t.setFrameBuffer(this.frameBuffer)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture);var r=e.renderingData.currentFrame.globalVolume.threshold;this.screenMesh.material.setFloat("_Threshold",r),e.renderMeshes([this.screenMesh])},r}(iU),i$=function(e){function r(r,i,n){(o=e.call(this,r,n)||this).type=i;var o,a=o.renderer.engine,s="PostProcess",u=iV.create(a,{name:s,mode:rZ.TRIANGLE_STRIP,attributes:{aPos:{type:rZ.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),c={vertex:ij,fragment:"H"==i?iZ:iq,glslVersion:t.GLSLVersion.GLSL1},l=iE.create(a,{name:s,shader:c});return l.blending=!1,l.depthTest=!1,l.culling=!1,o.screenMesh=iz.create(a,{name:s,geometry:u,material:l,priority:0}),o.priority=5e3,o}e_(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(this.frameBuffer)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture),this.screenMesh.material.setVector2("_TextureSize",i6(this.mainTexture)),e.renderMeshes([this.screenMesh]),"V"===this.type&&(this.gaussianResult.texture=e.getFrameBuffer().getColorTextures()[0])},r}(iU),i0=function(e){function r(t,r){i=e.call(this,t,r)||this;var i,n="PostProcess",o=i.renderer.engine,a=iV.create(o,{name:n,mode:rZ.TRIANGLE_STRIP,attributes:{aPos:{type:rZ.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),s=iE.create(o,{name:n,shader:{vertex:ij,fragment:iK}});return s.blending=!1,s.depthTest=!1,s.culling=!1,i.screenMesh=iz.create(o,{name:n,geometry:a,material:s,priority:0}),i.priority=5e3,i}e_(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(this.frameBuffer)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture),this.screenMesh.material.setTexture("_GaussianDownTex",this.gaussianDownSampleResult.texture),this.screenMesh.material.setVector2("_GaussianDownTextureSize",i6(this.gaussianDownSampleResult.texture)),e.renderMeshes([this.screenMesh])},r}(iU),i1=function(e){function r(r,i){n=e.call(this,r,{})||this;var n,o="PostProcess",a=n.renderer.engine;n.sceneTextureHandle=i||new iN(a);var s=iV.create(a,{name:o,mode:rZ.TRIANGLE_STRIP,attributes:{aPos:{type:rZ.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),u=iE.create(a,{name:o,shader:{vertex:ij,fragment:iW,glslVersion:t.GLSLVersion.GLSL1}});return u.blending=!1,u.depthTest=!1,u.culling=!1,n.screenMesh=iz.create(a,{name:o,geometry:s,material:u,priority:0}),n.priority=5e3,n}e_(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],this.sceneTextureHandle.texture||(this.sceneTextureHandle.texture=this.mainTexture),t.setFrameBuffer(null)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear});var r=e.renderingData.currentFrame.globalVolume,i=r.useBloom,n=r.bloomIntensity,o=r.brightness,a=r.saturation,s=r.contrast,u=r.useToneMapping,c=r.vignetteIntensity,l=r.vignetteSmoothness,h=r.vignetteRoundness;this.screenMesh.material.setTexture("_SceneTex",this.sceneTextureHandle.texture),this.screenMesh.material.setFloat("_Brightness",o),this.screenMesh.material.setFloat("_Saturation",a),this.screenMesh.material.setFloat("_Contrast",s),this.screenMesh.material.setInt("_UseBloom",i),i&&(this.screenMesh.material.setTexture("_GaussianTex",this.mainTexture),this.screenMesh.material.setFloat("_BloomIntensity",n)),c>0&&(this.screenMesh.material.setFloat("_VignetteIntensity",c),this.screenMesh.material.setFloat("_VignetteSmoothness",l),this.screenMesh.material.setFloat("_VignetteRoundness",h),this.screenMesh.material.setVector2("_VignetteCenter",new eM(.5,.5)),this.screenMesh.material.setVector3("_VignetteColor",new eL(0,0,0))),this.screenMesh.material.setInt("_UseToneMapping",u),e.renderMeshes([this.screenMesh])},r}(iU),i2={useHDR:!1,usePostProcessing:!1,useBloom:1,threshold:1,bloomIntensity:1,brightness:1,saturation:1,contrast:1,vignetteIntensity:.2,vignetteSmoothness:.4,vignetteRoundness:1,useToneMapping:1},i3="_effects_default_",i4=1,i5=function(){function e(e){this.renderQueue=[],this.destroyed=!1,this.renderPassInfoMap=new WeakMap;var r=e.camera,i=e.keepColorBuffer,n=e.renderer,o=e.editorTransform,a=e.globalVolume,s=e.clearAction,u=void 0===s?{colorAction:t.TextureLoadAction.whatever,stencilAction:t.TextureLoadAction.clear,depthAction:t.TextureLoadAction.whatever}:s,c=n.engine;a&&(this.globalVolume=r3({},i2,a)),this.globalUniforms=new i9;var l=[],h={};if(this.renderer=n,this.globalVolume){var f=this.globalVolume.useHDR?rZ.HALF_FLOAT:rZ.UNSIGNED_BYTE;l=[{texture:{format:rZ.RGBA,type:f,magFilter:rZ.LINEAR,minFilter:rZ.LINEAR}}],p={storageType:t.RenderPassAttachmentStorageType.depth_stencil_opaque},h={colorAction:t.TextureLoadAction.clear,stencilAction:t.TextureLoadAction.clear,depthAction:t.TextureLoadAction.clear}}var m=[new iU(n,{name:i3,priority:1e3,meshOrder:t.OrderType.ascending,depthStencilAttachment:p,attachments:l,clearAction:h})];if(this.setRenderPasses(m),this.globalVolume){var d,p,v,y=this.globalVolume.useBloom,g=new iN(c);if(y){var x=[0,0,this.renderer.getWidth()/2,this.renderer.getHeight()/2],T=Array(7),E=this.globalVolume.useHDR?rZ.HALF_FLOAT:rZ.UNSIGNED_BYTE,_=new iJ(n,{name:"BloomThresholdPass",attachments:[{texture:{format:rZ.RGBA,type:E,minFilter:rZ.LINEAR,magFilter:rZ.LINEAR}}]});_.sceneTextureHandle=g,this.addRenderPass(_);for(var C=0;C<7;C++){T[C]=new iN(c);var b=new i$(n,"H",{name:"GaussianDownPassH"+C,viewport:x,attachments:[{texture:{format:rZ.RGBA,type:E,minFilter:rZ.LINEAR,magFilter:rZ.LINEAR}}]}),A=new i$(n,"V",{name:"GaussianDownPassV"+C,viewport:x,attachments:[{texture:{format:rZ.RGBA,type:E,minFilter:rZ.LINEAR,magFilter:rZ.LINEAR}}]});A.gaussianResult=T[C],this.addRenderPass(b),this.addRenderPass(A),x[2]/=2,x[3]/=2}x[2]*=4,x[3]*=4;for(var S=0;S<6;S++){var w=new i0(n,{name:"GaussianUpPass"+S,viewport:x,attachments:[{texture:{format:rZ.RGBA,type:E,minFilter:rZ.LINEAR,magFilter:rZ.LINEAR}}]});w.gaussianDownSampleResult=T[5-S],this.addRenderPass(w),x[2]*=2,x[3]*=2}}v=y?new i1(n,g):new i1(n),this.addRenderPass(v)}this.semantics=new iL(e.semantics),this.clearAction=u,this.name="RenderFrame"+i4++;var R=m[0],O={type:rZ.UNSIGNED_BYTE,format:rZ.RGBA,internalFormat:rZ.RGBA,wrapS:rZ.MIRRORED_REPEAT,wrapT:rZ.MIRRORED_REPEAT,minFilter:rZ.NEAREST,magFilter:rZ.NEAREST};this.emptyTexture=im.create(c,r3({data:{width:1,height:1,data:new Uint8Array([255,255,255,255])},sourceType:t.TextureSourceType.data},O)),this.transparentTexture=im.create(c,r3({data:{width:1,height:1,data:new Uint8Array([0,0,0,0])},sourceType:t.TextureSourceType.data},O)),this.camera=r,this.keepColorBuffer=i,this.renderPassInfoMap.set(R,{listStart:0,listEnd:0,renderPass:R,intermedia:!1}),this.editorTransform=eq.fromArray(void 0===o?[1,1,0,0]:o),e.clearAction||this.resetClearActions(),this.passTextureCache=new iM(c);var M=c.gpuCapability,L=M.detail,I=iw(M.level,L.readableDepthStencilTextures&&L.writableFragDepth);null==(d=this.renderer.getShaderLibrary())||d.addShader(I)}var r=e.prototype;return r.addMeshToDefaultRenderPass=function(t){t&&this.renderPasses[0].addMesh(t)},r.removeMeshFromDefaultRenderPass=function(t){},r.dispose=function(e){(null==e?void 0:e.semantics)!==t.DestroyOptions.keep&&this.semantics.dispose();var r,i,n=(null==e?void 0:e.passes)?e.passes:void 0;n!==t.DestroyOptions.keep&&this._renderPasses.forEach(function(t){t.dispose(n)}),this.passTextureCache.dispose(),this._renderPasses.length=0,this.emptyTexture.dispose(),this.transparentTexture.dispose(),this.resource&&(this.resource.color_a.dispose(),this.resource.color_b.dispose(),null==(i=this.resource.depthStencil)||null==(r=i.texture)||r.dispose(),this.resource.finalCopyRP.dispose(),this.resource.resRP.dispose(),this.resource=null),this.destroyed=!0},r.resetRenderPassDefaultAttachment=function(t,e){for(var r=this.resource,i=r.color_a,n=r.color_b,o=e;o<t.length;o++){var a,s,u,c=t[o],l=null==(s=c.attachments[0])?void 0:s.texture;if(l&&a===l){var h=l===i?n:i;c.resetColorAttachments([h])}(l=null==(u=c.attachments[0])?void 0:u.texture)&&(a=l)}},r.findMeshRenderPassIndex=function(t){var e=-1;return this.renderPasses.every(function(r,i){return!(r.name.startsWith(i3)&&r.meshes.includes(t))||(e=i,!1)}),e},r.addToRenderPass=function(t,e){var r=this.renderPassInfoMap.get(t),i=e.priority;0===t.meshes.length?r.listStart=r.listEnd=i:i<r.listStart?r.listStart=i:i>r.listEnd&&(r.listEnd=i),t.addMesh(e)},r.getRPAttachments=function(t,e){if((null==t?void 0:t.length)===1){var r,i=t[0],n=i.texture,o=i.persistent,a=n.format,s=null!=(r=null==e?void 0:e.getInitAttachments())?r:[];if(a===rZ.RGBA&&!o){var u=this.resource.color_a;return 0===s.length?[{texture:u}]:[{texture:s[0].texture===u?this.resource.color_b:u}]}}return t},r.resetClearActions=function(){var e=this.renderPasses.length>1?t.TextureLoadAction.clear:t.TextureLoadAction.whatever;this.clearAction.stencilAction=e,this.clearAction.depthAction=e,this.clearAction.colorAction=e,this.keepColorBuffer&&(this.clearAction.colorAction=t.TextureLoadAction.whatever)},r.setRenderPasses=function(t){var e=this;void 0!==this.renderer&&t.forEach(function(t){return t.initialize(e.renderer)}),this._renderPasses=t.slice()},r.addRenderPass=function(t){void 0!==this.renderer&&t.initialize(this.renderer),this._renderPasses.push(t)},r.createResource=function(){var e=this.renderer.engine;if(!this.resource){var r,i=e.gpuCapability,n=i.detail,o=i.level,a=this.renderer.getWidth(),s=this.renderer.getHeight(),u=2===o?rZ.LINEAR:rZ.NEAREST,c=im.create(e,{sourceType:t.TextureSourceType.framebuffer,format:rZ.RGBA,name:"frame_a",minFilter:u,magFilter:u}),l=im.create(e,{sourceType:t.TextureSourceType.framebuffer,format:rZ.RGBA,data:{width:a,height:s},minFilter:u,magFilter:u,name:"frame_b"}),h=n.readableDepthStencilTextures&&n.writableFragDepth?t.RenderPassAttachmentStorageType.depth_24_stencil_8_texture:t.RenderPassAttachmentStorageType.depth_stencil_opaque,f=new iU(this.renderer,{depthStencilAttachment:{storageType:h},attachments:[{texture:c}]}).initialize(this.renderer),m=new i8(this.renderer,{name:"effects-final-copy",priority:1600,clearAction:{depthAction:t.TextureLoadAction.clear,stencilAction:t.TextureLoadAction.clear,colorAction:t.TextureLoadAction.clear},meshOrder:t.OrderType.ascending,meshes:[this.createCopyMesh({blend:!0,depthTexture:null==(r=f.getDepthAttachment())?void 0:r.texture})]});this.resource={color_a:f.attachments[0].texture,color_b:l,finalCopyRP:m,depthStencil:f.depthAttachment,resRP:f}}},r.createCopyMesh=function(t){var e=this.renderer.engine,r=iV.create(e,{name:iC,mode:rZ.TRIANGLE_STRIP,attributes:{aPos:{type:rZ.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),i=iw(e.gpuCapability.level,!!(null==t?void 0:t.depthTexture));this.renderer.getShaderLibrary().addShader(i);var n=iE.create(e,{uniformValues:{uDepth:null==t?void 0:t.depthTexture},name:iC,shader:i});return n.blending=!1,n.depthTest=!1,n.culling=!1,(null==t?void 0:t.blend)&&(n.blending=!0,n.blendFunction=[rZ.SRC_ALPHA,rZ.ONE_MINUS_SRC_ALPHA,rZ.SRC_ALPHA,rZ.ONE_MINUS_SRC_ALPHA]),iz.create(e,{name:iC,geometry:r,material:n,priority:0})},r.removeRenderPass=function(t){t5(this._renderPasses,t)},eT(e,[{key:"renderPasses",get:function(){return this._renderPasses.slice()}},{key:"isDestroyed",get:function(){return this.destroyed}}]),e}();function i6(t){return t?new eM(t.getWidth(),t.getHeight()):new eM}var i8=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.configure=function(t){this.prePassTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(null)},r.execute=function(t){t.clear(this.clearAction),this.meshes[0].material.setTexture("uFilterSource",this.prePassTexture),this.meshes[0].material.setVector2("uFilterSourceSize",i6(this.prePassTexture)),t.renderMeshes(this.meshes),this.storeAction&&t.clear(this.storeAction)},e}(iU),i9=function(){this.floats={},this.ints={},this.matrices={},this.samplers=[],this.uniforms=[]},i7=function(){function t(t){this.size=[0,0],this.multiSample=1,this.destroyed=!1;var e=t.storageType,r=t.format,i=t.attachment;this.storageType=e,this.format=r,this.attachment=i}return eT(t,[{key:"isDestroyed",get:function(){return this.destroyed}}]),t}(),nt="function"==typeof WebGL2RenderingContext,ne=function(){function t(t){this.setupCapability(t)}var e=t.prototype;return e.setupCapability=function(t){var e,r=nt&&tK(t,WebGL2RenderingContext)?2:1,i=2===r,n=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),o=t.getExtension("WEBGL_depth_texture"),a=!!t.getExtension("OES_texture_half_float_linear"),s=!!t.getExtension("OES_texture_float_linear");this.level=r,this.type=i?"webgl2":"webgl",this.vaoExt=t.getExtension("OES_vertex_array_object"),this.glAsyncCompileExt=t.getExtension("KHR_parallel_shader_compile"),this.UNSIGNED_INT_24_8=t.UNSIGNED_INT_24_8,this.drawBufferExtension=t.getExtension("WEBGL_draw_buffers"),o&&(this.UNSIGNED_INT_24_8=o.UNSIGNED_INT_24_8_WEBGL),i&&!a&&(a=nr(t,t.HALF_FLOAT)),i&&!s&&(s=nr(t,t.FLOAT)),this.internalFormatDepth16=i?t.DEPTH_COMPONENT16:t.DEPTH_COMPONENT,this.internalFormatDepth24_stencil8=i?t.DEPTH24_STENCIL8:t.DEPTH_STENCIL;var u=i||t.getExtension("OES_texture_float")?t.FLOAT:0,c=i?WebGL2RenderingContext.HALF_FLOAT:(null==(e=t.getExtension("OES_texture_half_float"))?void 0:e.HALF_FLOAT_OES)||0,l={floatTexture:u,halfFloatTexture:c,maxSample:i?t.getParameter(t.MAX_SAMPLES):1,maxVertexUniforms:t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),maxVertexTextures:t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxFragmentUniforms:t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),maxFragmentTextures:t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),floatColorAttachment:i?!!t.getExtension("EXT_color_buffer_float"):u>0&&!!t.getExtension("WEBGL_color_buffer_float"),halfFloatColorAttachment:i?!!t.getExtension("EXT_color_buffer_float"):c>0&&!!t.getExtension("EXT_color_buffer_half_float"),maxTextureSize:t.getParameter(t.MAX_TEXTURE_SIZE),maxShaderTexCount:t.getParameter(t.MAX_COMBINED_TEXTURE_IMAGE_UNITS),compressedTexture:t.getExtension("WEBGL_compressed_texture_astc")?ni.ASTC:t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc")?ni.PVRTC:ni.NONE,halfFloatLinear:a,floatLinear:s,maxTextureAnisotropy:n?t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,shaderTextureLod:i||!!t.getExtension("EXT_shader_texture_lod"),instanceDraw:i||!!t.getExtension("ANGLE_instanced_arrays"),drawBuffers:i||!!this.drawBufferExtension,asyncShaderCompile:!!t.getExtension("KHR_parallel_shader_compile"),intIndexElementBuffer:!!t.getExtension("OES_element_index_uint"),standardDerivatives:i||!!t.getExtension("OES_standard_derivatives"),readableDepthStencilTextures:i||!!o,writableFragDepth:i||!!t.getExtension("EXT_frag_depth")};this.detail=l,n&&(this.textureMaxAnisotropyExt=n.TEXTURE_MAX_ANISOTROPY_EXT)},e.framebufferTexture2D=function(t,e,r,i,n){var o=this.drawBufferExtension;if(1===this.level&&!o&&r>0)throw Error("draw multiple color buffers not available");var a=o?o["COLOR_ATTACHMENT"+r+"_WEBGL"]:t["COLOR_ATTACHMENT"+r];a?t.framebufferTexture2D(e,a,i,n,0):console.error("invalid color attachment index: "+r)},e.drawBuffers=function(t,e){var r=this.drawBufferExtension;if(1===this.level&&!r){if(!(e.length>1))return;throw Error("draw buffers not available")}var i=e.map(function(e,i){return e?r?r["COLOR_ATTACHMENT"+i+"_WEBGL"]:t["COLOR_ATTACHMENT"+i]:t.NONE});r?r.drawBuffersWEBGL(i):t.drawBuffers(i)},e.setTextureAnisotropic=function(t,e,r){var i=this.detail.maxTextureAnisotropy;i&&t.texParameterf(e,this.textureMaxAnisotropyExt,Math.min(i,r||4))},t}();function nr(t,e){var r=t.createTexture(),i=!1;return t.getError(),t.bindTexture(t.TEXTURE_2D,r),t.texImage2D(t.TEXTURE_2D,0,t.R16F,1,1,0,t.RED,e,null),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.getError()||(i=!0),t.deleteTexture(r),i}var ni={NONE:0,PVRTC:1,ASTC:2};t.FilterMode=void 0,(K=t.FilterMode||(t.FilterMode={}))[K.Nearest=0]="Nearest",K[K.Linear=1]="Linear",t.RenderTextureFormat=void 0,(Q=t.RenderTextureFormat||(t.RenderTextureFormat={}))[Q.RGBA32=0]="RGBA32",Q[Q.RGBAHalf=1]="RGBAHalf";var nn=function(){function t(){}var e=t.prototype;return e.resize=function(t,e,r,i){},e.resetColorTextures=function(t){},e.unbind=function(){},e.bind=function(){},e.getDepthTexture=function(){},e.getStencilTexture=function(){},e.getColorTextures=function(){return[]},e.dispose=function(t){},eT(t,[{key:"stencilStorage",get:function(){}},{key:"depthStorage",get:function(){}}]),t}(),no=function(){function t(){}var e=t.prototype;return e.setGlobalFloat=function(t,e){},e.setGlobalInt=function(t,e){},e.setGlobalMatrix=function(t,e){},e.getFrameBuffer=function(){return null},e.setFrameBuffer=function(t){},e.setViewport=function(t,e,r,i){},e.resize=function(t,e){},e.clear=function(t){},e.getWidth=function(){return 0},e.getHeight=function(){return 0},e.addLostHandler=function(t){},e.addRestoreHandler=function(t){},e.lost=function(t){},e.restore=function(){},e.getShaderLibrary=function(){},e.renderRenderFrame=function(t){},e.renderMeshes=function(t){},e.drawGeometry=function(t,e){},e.getTemporaryRT=function(t,e,r,i,n,o){return null},e.dispose=function(t){},t}(),na=1,ns=function(){function e(t,e,r,i){this.transform=r,this.engine=i,this.color=t.options.previewColor;var n=this.createMaterial(e),o=this.createGeometry();this.mesh=this.createMesh(o,n),this.updateMesh()}var r=e.prototype;return r.updateMesh=function(){var t=this.mesh.material,e=t.getVector2("uSize").clone(),r=t.getVector4("uPos").clone(),i=new eL,n=new eI,o=this.transform.scale.clone();this.transform.assignWorldTRS(i,n,o),e.x=o.x,e.y=o.y,r.x=i.x,r.y=i.y,r.z=i.z,t.setVector2("uSize",e),t.setVector4("uPos",r),t.setQuaternion("uQuat",n)},r.createMaterial=function(e){var r,i=[["ENV_EDITOR",(null==(r=this.engine.renderer)?void 0:r.env)===rY]],n=rR(this.color).getValue(0),o={shader:{vertex:"\nprecision highp float;\n\nattribute vec2 aPoint;\nuniform vec4 uPos;\nuniform vec2 uSize;\nuniform vec4 uQuat;\nuniform vec4 uColor;\nuniform mat4 effects_ObjectToWorld;\nuniform mat4 effects_MatrixInvV;\nuniform mat4 effects_MatrixVP;\nvarying vec4 vColor;\n#ifdef ENV_EDITOR\n uniform vec4 uEditorTransform;\n#endif\n\nvec3 rotateByQuat(vec3 a, vec4 quat){\n vec3 qvec = quat.xyz;\n vec3 uv = cross(qvec, a);\n vec3 uuv = cross(qvec, uv) * 2.;\n return a +(uv * 2. * quat.w + uuv);\n}\n\nvoid main() {\n vec4 _pos = uPos;\n vec3 point = rotateByQuat(vec3(aPoint.xy * uSize, 0.),uQuat);\n vec4 pos = vec4(_pos.xyz, 1.0);\n pos = effects_ObjectToWorld * pos;\n pos.xyz += effects_MatrixInvV[0].xyz * point.x+ effects_MatrixInvV[1].xyz * point.y;\n gl_Position = effects_MatrixVP * pos;\n vColor = uColor;\n #ifdef ENV_EDITOR\n gl_Position = vec4(gl_Position.xy * uEditorTransform.xy + uEditorTransform.zw * gl_Position.w, gl_Position.zw);\n #endif\n}\n",fragment:"\nprecision highp float;\n\n#define fragColor gl_FragColor\n\nvarying vec4 vColor;\nvoid main() {\n gl_FragColor = vColor;\n}\n",glslVersion:t.GLSLVersion.GLSL1,cacheId:""+e.cachePrefix+"_effects_interact",marcos:i},uniformSemantics:{effects_MatrixVP:"VIEWPROJECTION",effects_MatrixInvV:"VIEWINVERSE",effects_ObjectToWorld:"MODEL",uEditorTransform:"EDITOR_TRANSFORM"}},a=iE.create(this.engine,o);return a.depthTest=!1,a.setVector4("uPos",new eq(0,0,0,0)),a.setVector2("uSize",new eM(1,1)),a.setVector4("uColor",new eq(n[0]/255,n[1]/255,n[2]/255,n[3])),a.setQuaternion("uQuat",new eI(0,0,0,0)),a},r.createGeometry=function(){var t=new Uint8Array([0,1,1,2,2,3,3,0]);return iV.create(this.engine,{attributes:{aPoint:{size:2,offset:0,stride:2*Float32Array.BYTES_PER_ELEMENT,data:new Float32Array([-.5,.5,.5,.5,.5,-.5,-.5,-.5])}},drawCount:t.length,indices:{data:t},mode:rZ.LINES,maxVertex:4})},r.createMesh=function(t,e){return iz.create(this.engine,{name:"Interact_preview"+na++,priority:0,worldMatrix:eV.fromIdentity(),geometry:t,material:e})},e}();function nu(t,e){var r=1e-5*(e||1);return t&&Math.abs(t.vx||0)<r&&Math.abs(t.vy||0)<r}function nc(t){var e=t.renderer,r=e.blending,i=e.side,n=e.occlusion,o=e.mask,a=e.maskMode,s=e.order,u=t.cachePrefix||"-";return{side:i,occlusion:n,blending:r,mask:o,maskMode:a,cachePrefix:u,cacheId:u+"."+ +i+"+"+ +n+"+"+ +r+"+"+s+"+"+a+"."+o}}function nl(e,r){var i=null!=r?r:{},n=i.count,o=i.env,a=i.ignoreBlend,s=i.wireframe,u=[["MAX_ITEM_COUNT",void 0===n?2:n],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",(void 0===o?"":o)===rY],["USE_BLEND",!a],["MAX_FRAG_TEX",t.maxSpriteTextureCount>=16?16:8]];return{fragment:s?ik:iG,vertex:iB,glslVersion:1===e?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,marcos:u,shared:!0}}function nh(t,e){return t.cachePrefix+"_effects_sprite_"+e}function nf(t,e,r,i){var n=t.wireframe,o=nl(r,{count:e,wireframe:n,env:i});return o.shared=!0,n||(o.cacheId=nh(t,e)),o}function nm(e){t.maxSpriteMeshItemCount=e}t.InteractComponent=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.getHitTestParams=function(e){if(t.clickable){var r=t.item.props.content.options.behavior,i=t.getBoundingBox();if(i)return{type:i.type,triangles:i.area,behavior:r}}},t}e_(r,e);var i=r.prototype;return i.start=function(){var t=this,e=this.item.props.content.options,r=this.item.engine.renderer.env,i=this.item.composition,n=this.interactData.options,o=n.type,a=n.showPreview;if(o===tu.CLICK&&(this.clickable=!0,a&&r===rY)){var s=this.item.composition.getRendererOptions();this.previewContent=new ns(this.item.props.content,s,this.transform,this.engine)}i.addInteractiveItem(this.item,e.type),this.item.onEnd=function(){return i.removeInteractiveItem(t.item,e.type)},e.type===tu.DRAG&&(r!==rY||e.enableInEditor)&&i.event&&this.beginDragTarget(e,i.event),this.previewContent&&(this.previewContent.mesh.item=this.item,this.materials=this.previewContent.mesh.materials),this.item.getHitTestParams=this.getHitTestParams},i.update=function(t){var e;null==(e=this.previewContent)||e.updateMesh(),this.dragEvent&&this.bouncingArg&&(this.bouncingArg.vx*=.95,this.bouncingArg.vy*=.95,this.bouncingArg.dy+=this.bouncingArg.vy,this.bouncingArg.dx+=this.bouncingArg.vx,nu(this.bouncingArg)?(this.dragEvent=null,this.bouncingArg=null):this.handleDragMove(this.dragEvent,this.bouncingArg))},i.render=function(t){this.previewContent&&this.previewContent.mesh.render(t)},i.onDestroy=function(){if(this.item&&this.item.composition){var t;this.item.composition.removeInteractiveItem(this.item,this.item.props.content.options.type),this.clickable=!1,null==(t=this.previewContent)||t.mesh.dispose(),this.endDragTarget()}},i.endDragTarget=function(){},i.handleDragMove=function(t,e){if(t&&t.cameraParam&&this.item.composition){var r=this.item.props.content.options,i=t.cameraParam,n=i.position,o=i.fov,a=e.dy,s=e.dx*e.width/e.height,u=n[2],c=Math.tan(o*Math.PI/180/2)*Math.abs(u),l=n[0]-s*c,h=n[1]-a*c;if(r.dxRange){var f,m=r.dxRange,d=m[0],p=m[1];(l=eO(l,d,p))!==d&&l!==p&&d!==p&&(null==(f=e.origin)||f.preventDefault())}if(r.dyRange){var v,y=r.dyRange,g=y[0],x=y[1];(h=eO(h,g,x))!==g&&h!==x&&g!==x&&(null==(v=e.origin)||v.preventDefault())}this.item.composition.camera.position=new eL(l,h,u)}},i.beginDragTarget=function(t,e){var i,n=this;if("camera"===t.target){var o={touchstart:function(t){n.dragEvent=null,n.bouncingArg=null;var e,r=null==(e=n.item.composition)?void 0:e.camera;i={x:t.x,y:t.y,cameraParam:{position:(null==r?void 0:r.position.toArray())||[0,0,8],fov:(null==r?void 0:r.fov)||60}}},touchmove:function(t){n.handleDragMove(i,t),n.bouncingArg=t},touchend:function(t){var e=n.bouncingArg;!nu(e,3)&&e&&(e.vx*=5,e.vy*=5,n.dragEvent=r3({},i)),i=null}};Object.keys(o).forEach(function(t){e.addEventListener(t,o[t])}),o.touchmove({dx:0,dy:0,width:1,height:1}),this.item.getComponent(r).endDragTarget=function(){Object.keys(o).forEach(function(t){e.removeEventListener(t,o[t])})}}},i.getBoundingBox=function(){var e=this.transform.getWorldMatrix(),r=ri(eL.ZERO,.5,.5);return r.forEach(function(t){e.transformPoint(t.p0),e.transformPoint(t.p1),e.transformPoint(t.p2)}),{type:t.HitTestType.triangle,area:r}},i.fromData=function(t){e.prototype.fromData.call(this,t),this.interactData=t},r}(eW),t.InteractComponent=tJ([eG(tV.InteractComponent)],t.InteractComponent),t.maxSpriteMeshItemCount=8,t.maxSpriteTextureCount=8;var nd={blending:0,cacheId:"-",mask:0,maskMode:0,occlusion:!1,side:0,cachePrefix:"-"},np=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.name="sprite",t}return e_(r,e),r.precompile=function(e,r,i){var n=r.getShaderLibrary(),o=r.engine.gpuCapability,a=o.level,s=o.detail,u=(null!=i?i:{}).env;return!n.shaderResults[nh(nd,2)]&&(n.addShader(nf(nd,2,1,u)),n.addShader(nf(nd,t.maxSpriteMeshItemCount,1,u)),s.writableFragDepth&&n.addShader(iw(a,!0))),Promise.resolve()},r}(eZ),nv=function(){function t(){this.playableOutputs=[]}var e=t.prototype;return e.evaluate=function(t){for(var e,r=eb(this.playableOutputs);!(e=r()).done;){var i=e.value;this.callProcessFrame(i.sourcePlayable,t),i.processFrame(t)}},e.connect=function(t,e){e.connect(t)},e.addOutput=function(t){this.playableOutputs.push(t)},e.callProcessFrame=function(t,e){for(var r,i=eb(t.getInputs());!(r=i()).done;){var n=r.value;this.callProcessFrame(n,e)}t.processFrame(e)},t}(),ny=function(){function t(){this.inputs=[]}var e=t.prototype;return e.connect=function(t){this.inputs.push(t)},e.getInputs=function(){return this.inputs},e.getInput=function(t){if(!(t>this.inputs.length-1))return this.inputs[t]},e.setTime=function(t){this.time=t},e.getTime=function(){return this.time},e.onGraphStart=function(){},e.onGraphStop=function(){},e.onPlayablePlay=function(){},e.processFrame=function(t){},e.onPlayableDestroy=function(){},e.fromData=function(t){},t}(),ng=function(){function t(){}var e=t.prototype;return e.setSourcePlayeble=function(t){this.sourcePlayable=t},e.onGraphStart=function(){},e.processFrame=function(t){},t}(),nx=function(){function t(){}return t.prototype.fromData=function(t){},t}(),nT=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.clips=[],e.clipSeed=0,e}e_(e,t);var r=e.prototype;return r.createOutput=function(){return new ng},r.createMixerPlayable=function(){return new ny},r.createPlayable=function(){for(var t,e=this.createMixerPlayable(),r=eb(this.clips);!(t=r()).done;){var i=t.value;e.connect(i.playable)}return e},r.createClip=function(t,e){var r=new nE;return r.playable=new t,r.name=e||"TimelineClip"+r.id,this.addClip(r),r},r.getClips=function(){return this.clips},r.findClip=function(t){for(var e,r=eb(this.clips);!(e=r()).done;){var i=e.value;if(i.name===t)return i}},r.addClip=function(t){t.playable.bindingItem=this.bindingItem,t.id=(this.clipSeed++).toString(),this.clips.push(t)},e}(nx),nE=function(){this.start=0,this.duration=0};function n_(t){if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var nC=function(){function t(t){this.curveValues={},this.playable=t}var e=t.prototype;return e.setCurveValue=function(t,e,r){return this.findCurveValue(t,e)?this.curveValues[t+e].value=r:this.curveValues[t+e]={componentType:t,propertyName:e,value:r},this.curveValues[t+e]},e.findCurveValue=function(t,e){return this.curveValues[t+e]},e.getInputStream=function(t){var e=this.playable.getInput(t);if(tK(e,nb))return e.animationStream},t}(),nb=function(t){function e(){var e;return(e=t.call(this)||this).animationStream=new nC(n_(e)),e}return e_(e,t),e}(ny),nA=new eP,nS=new eL(1,1,1),nw=new eL,nR=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.processFrame=function(t){this.bindingItem.composition&&this.sampleAnimation()},r.sampleAnimation=function(){var t=this,e=this.bindingItem.duration,r=this.time/e;if(r=r<0?0:r>1?1:r,this.sizeXOverLifetime){nS.x=this.sizeXOverLifetime.getValue(r),this.sizeSeparateAxes?(nS.y=this.sizeYOverLifetime.getValue(r),nS.z=this.sizeZOverLifetime.getValue(r)):nS.z=nS.y=nS.x;var i=this.originalTransform.scale;this.bindingItem.transform.setScale(nS.x*i.x,nS.y*i.y,nS.z*i.z)}if(this.rotationOverLifetime){var n=function(i){return t.rotationOverLifetime.asRotation?i.getValue(r):i.getIntegrateValue(0,r,e)},o=n(this.rotationOverLifetime.z),a=this.rotationOverLifetime.separateAxes;nA.x=a?n(this.rotationOverLifetime.x):0,nA.y=a?n(this.rotationOverLifetime.y):0,nA.z=o;var s=nA.addEulers(this.originalTransform.rotation,nA);this.bindingItem.transform.setRotation(s.x,s.y,s.z)}this.positionOverLifetime&&(e6(nw,this,this.gravity,this.time,e,this.originalTransform.position,this.velocity),this.originalTransform.path&&nw.add(this.originalTransform.path.getValue(r)),this.bindingItem.transform.setPosition(nw.x,nw.y,nw.z))},r.fromData=function(t){var e,r=this.bindingItem.transform.scale;this.originalTransform={position:this.bindingItem.transform.position.clone(),rotation:this.bindingItem.transform.getRotation().clone(),scale:new eL(r.x,r.y,r.x)};var i=t.positionOverLifetime,n=t.rotationOverLifetime,o=t.sizeOverLifetime;if(i&&0!==Object.keys(i).length){this.positionOverLifetime=i,i.path&&(this.originalTransform.path=rR(i.path));var a=i.linearX||i.linearY||i.linearZ;a&&(this.linearVelOverLifetime={x:i.linearX&&rR(i.linearX),y:i.linearY&&rR(i.linearY),z:i.linearZ&&rR(i.linearZ),asMovement:i.asMovement,enabled:!!a});var s=i.orbitalX||i.orbitalY||i.orbitalZ;s&&(this.orbitalVelOverLifetime={x:i.orbitalX&&rR(i.orbitalX),y:i.orbitalY&&rR(i.orbitalY),z:i.orbitalZ&&rR(i.orbitalZ),center:e8(i.orbCenter),asRotation:i.asRotation,enabled:!!s}),this.speedOverLifetime=i.speedOverLifetime&&rR(i.speedOverLifetime)}if(o&&(o.separateAxes?(this.sizeSeparateAxes=!0,this.sizeXOverLifetime=rR(o.x||1),this.sizeYOverLifetime=rR(o.y||1),this.sizeZOverLifetime=rR(o.z||1)):this.sizeXOverLifetime=rR(o.size||1)),n&&(this.rotationOverLifetime={asRotation:n.asRotation,separateAxes:n.separateAxes,z:rR(n.z||0)},n.separateAxes)){var u=this.rotationOverLifetime;u.x=rR(n.x||0),u.y=rR(n.y||0)}this.gravity=eL.fromArray((null==i?void 0:i.gravity)||[]),this.gravityModifier=rR(null!=(e=null==i?void 0:i.gravityOverLifetime)?e:0),this.direction=(null==i?void 0:i.direction)?eL.fromArray(i.direction).normalize():new eL,this.startSpeed=(null==i?void 0:i.startSpeed)||0,this.velocity=this.direction.clone(),this.velocity.multiply(this.startSpeed)},e}(nb),nO=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.createPlayable=function(){var t=new nR;return t.fromData(this.transformAnimationData),t},r.fromData=function(t){this.transformAnimationData=t},e}(nx),nM=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.onGraphStart=function(){this.bindingItem.transform.setValid(!1),this.hideRendererComponents()},r.onPlayablePlay=function(){this.bindingItem.transform.setValid(!0),this.showRendererComponents()},r.onPlayableDestroy=function(){this.bindingItem.transform.setValid(!1),this.hideRendererComponents()},r.hideRendererComponents=function(){for(var t,e=eb(this.bindingItem.rendererComponents);!(t=e()).done;){var r=t.value;r.enabled&&(r.enabled=!1)}},r.showRendererComponents=function(){for(var t,e=eb(this.bindingItem.rendererComponents);!(t=e()).done;){var r=t.value;r.enabled||(r.enabled=!0)}},e}(ny),nL=function(e){function r(t){var r;return(r=e.call(this,t)||this).reusable=!1,r.timelineStarted=!1,r.playableGraph=new nv,r.time=0,r.tracks=[],r.trackSeed=0,r}e_(r,e);var i=r.prototype;return i.start=function(){for(var t,e=eb(this.tracks);!(t=e()).done;)for(var r,i=t.value,n=eb(i.getClips());!(r=n()).done;){var o=r.value;o.start=this.item.start,o.duration=this.item.duration}this.compileTracks(this.playableGraph)},i.update=function(e){if(!this.item.stopped&&this.item.composition){if(!this.timelineStarted){for(var r,i=eb(this.tracks);!(r=i()).done;)for(var n,o=r.value,a=eb(o.getClips());!(n=a()).done;)n.value.playable.onGraphStart();this.timelineStarted=!0}var s=this.time;if(this.item.delaying&&s>=0&&s<=this.item.duration){this.item.delaying=!1;for(var u,c=eb(this.tracks);!(u=c()).done;)for(var l,h=u.value,f=eb(h.getClips());!(l=f()).done;)l.value.playable.onPlayablePlay()}if(t.VFXItem.isParticle(this.item)?this.item.isEnded(s)&&this.item.content.destoryed:this.item.isEnded(s)){var m=this.item.endBehavior;if(!this.item.ended&&(this.item.ended=!0,this.item.onEnd(),m===tg.destroy)){for(var d,p=eb(this.tracks);!(d=p()).done;)for(var v,y=d.value,g=eb(y.getClips());!(v=g()).done;)v.value.playable.onPlayableDestroy();if(this.item.delaying=!0,!this.item.reusable&&!this.reusable){this.item.dispose();return}}}if(!this.item.delaying){var x=this.time/this.item.duration;this.item.lifetime=x;for(var T,E=eb(this.tracks);!(T=E()).done;)for(var _,C=T.value,b=eb(C.getClips());!(_=b()).done;)_.value.playable.setTime(this.time);this.playableGraph.evaluate(e)}}},i.setTime=function(t){this.time=t},i.getTime=function(){return this.time},i.toLocalTime=function(t){var e=t-this.options.start,r=this.options.duration;return e-r>.001&&(5===this.options.endBehavior?e%=r:4===this.options.endBehavior&&(e=Math.min(r,e))),e},i.createTrack=function(t,e){var r=new t;return r.bindingItem=this.item,r.id=(this.trackSeed++).toString(),r.name=e||"Track"+r.id,this.tracks.push(r),r},i.getTracks=function(){return this.tracks},i.findTrack=function(t){for(var e,r=eb(this.tracks);!(e=r()).done;){var i=e.value;if(i.name===t)return i}},i.rebuildGraph=function(){this.playableGraph=new nv,this.compileTracks(this.playableGraph)},i.compileTracks=function(t){for(var e,r=eb(this.tracks);!(e=r()).done;){var i=e.value,n=i.createPlayable(),o=i.createOutput();t.addOutput(o),o.setSourcePlayeble(n)}},i.fromData=function(t){if(e.prototype.fromData.call(this,t),this.options={start:this.item.start,duration:this.item.duration,looping:this.item.endBehavior===tg.loop,endBehavior:this.item.endBehavior||tg.destroy},this.id=this.item.id,this.name=this.item.name,this.createTrack(nT,"ActivationTrack").createClip(nM,"ActivationTimelineClip"),t.tracks)for(var r,i=t.tracks,n=eb(i);!(r=n()).done;)for(var o,a=r.value,s=this.createTrack(nT),u=eb(a.clips);!(o=u()).done;){var c=o.value;switch(c.dataType){case"TransformAnimationPlayableAsset":s.name="AnimationTrack",s.createClip(nR,"AnimationTimelineClip").playable.fromData(c.animationClip);break;case"SpriteColorAnimationPlayableAsset":s.name="SpriteColorTrack",s.createClip(nF,"SpriteColorClip").playable.fromData(c.animationClip)}}},i.toData=function(){e.prototype.toData.call(this)},r}(ej);tJ([eB()],nL.prototype,"time",void 0);var nI=[[0,0,1,1,void 0]],nV=[1,1,1,1],nP=0,nF=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.renderColor=[1,1,1,1],t}e_(r,e);var i=r.prototype;return i.onPlayablePlay=function(){this.spriteMaterial=this.bindingItem.getComponent(t.SpriteComponent).material},i.processFrame=function(t){var e,r=e9(nV,1),i=this.time/this.bindingItem.duration,n=this.opacityOverLifetime,o=this.colorOverLifetime;o&&(r=t9(o,i,!0),e=!0),n&&(r[3]*=n.getValue(i),e=!0),e&&(rt(this.renderColor,r,this.startColor),this.spriteMaterial.getVector4("_Color").setFromArray(this.renderColor))},i.fromData=function(t){this.clipData=t;var e,r=t.colorOverLifetime;return r&&(this.opacityOverLifetime=rR(null!=(e=r.opacity)?e:1),r.color&&r.color[0]===tv.GRADIENT_COLOR&&(this.colorOverLifetime=t7(r.color[1]))),this.startColor=t.startColor||[1,1,1,1],this},r}(ny);t.SpriteComponent=function(e){function r(t,r){var i;return(i=e.call(this,t)||this).color=[1,1,1,1],i.visible=!0,i.getHitTestParams=function(t){var e=i.interaction;if(t||e){var r,n=i.getBoundingBox();if(n)return{behavior:(null==(r=i.interaction)?void 0:r.behavior)||0,type:n.type,triangles:n.area,backfaceCulling:i.renderer.side===tn.FRONT}}},r&&i.fromData(r),i}e_(r,e);var i=r.prototype;return i.setVisible=function(t){this.visible=t},i.getVisible=function(){return this.visible},i.setColor=function(t){this.color=t,this.material.setVector4("_Color",new eq().setFromArray(t))},i.setTexture=function(t){this.renderer.texture=t,this.material.setTexture("uSampler0",t)},i.render=function(t){if(this.getVisible()){var e=this.material,r=this.geometry;t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),this.material.setVector2("_Size",this.transform.size),t.drawGeometry(r,e)}},i.start=function(){this.priority=this.item.listIndex,this.timelineComponent=this.item.getComponent(nL),this.item.getHitTestParams=this.getHitTestParams},i.update=function(t){var e=this.timelineComponent.getTime(),r=this.item.duration,i=this.textureSheetAnimation;if(i){var n,o,a,s,u=i.total||i.row*i.col,c=0,l=0,h=1,f=1;if(this.splits){var m=this.splits[0];n=m[4],c=m[0],l=m[1],n?(h=m[3],f=m[2]):(h=m[2],f=m[3])}if(n?(o=1/i.row*h,a=1/i.col*f):(o=1/i.col*h,a=1/i.row*f),i.animate){var d=Math.round(Math.min(Math.max(e/r,0),1)*(u-1)),p=Math.floor(d/i.col),v=d-p*i.col;s=n?[o*p,a*(i.col-v)]:[o*v,a*(1+p)]}else s=[0,a];this.material.getVector4("_TexOffset").setFromArray([c+s[0],f+l-s[1],o,a])}},i.onDestroy=function(){this.item&&this.item.composition&&this.item.composition.destroyTextures(this.getTextures())},i.getItemInitData=function(t,e,r,i){var n=t.geoData;n||(n=t.geoData=this.getItemGeometryData(t,e));var o=n.index,a=o.length,s=this.wireframe?new Uint8Array([0,1,1,3,2,3,2,0]):new o.constructor(a);if(!this.wireframe)for(var u=0;u<a;u++)s[u]=r+o[u];return{atlasOffset:n.atlasOffset,index:s}},i.setItem=function(){var e=[],r=this.renderer.texture;r&&t4(e,r);var i=(r=this.renderer.texture)?e.indexOf(r):-1,n=this.getItemInitData(this,0,0,i),o=this.renderer,a=this.material.getVector4("_TexParams");a.x=o.occlusion?+o.transparentOcclusion:1,a.y=+this.preMultiAlpha,a.z=o.renderMode;var s={atlasOffset:new Float32Array(n.atlasOffset.length),index:new Uint16Array(n.index.length)};s.atlasOffset.set(n.atlasOffset),s.index.set(n.index);var u=this.material,c=this.geometry,l=s.index;c.setIndexData(l),c.setAttributeData("atlasOffset",s.atlasOffset),c.setDrawCount(n.index.length);for(var h=0;h<e.length;h++){var f=e[h];u.setTexture("uSampler"+h,f)}for(var m=this.emptyTexture,d=e.length;d<t.maxSpriteMeshItemCount;d++)u.setTexture("uSampler"+d,m)},i.createGeometry=function(t){var e=12*this.splits.length;return iV.create(this.engine,{attributes:{aPos:{type:rZ.FLOAT,size:3,data:new Float32Array([-.5,.5,0,-.5,-.5,0,.5,.5,0,.5,-.5,0])},atlasOffset:{size:2,offset:0,releasable:!0,type:rZ.FLOAT,data:new Float32Array(0)}},indices:{data:new Uint16Array(0),releasable:!0},mode:t,maxVertex:e})},i.createMaterial=function(t,e){var r=t.side,i=t.occlusion,n=t.blending,o=t.maskMode,a=t.mask,s={shader:nf(t,e,1)};this.preMultiAlpha=rQ(n);var u=iE.create(this.engine,s),c={side:r,blending:!0,blendMode:n,mask:a,maskMode:o,depthTest:!0,depthMask:i};return u.blending=c.blending,u.stencilRef=void 0!==c.mask?[c.mask,c.mask]:void 0,u.depthTest=c.depthTest,u.depthMask=c.depthMask,r0(u,c.blendMode),r2(u,c.maskMode),r1(u,c.side),u.hasUniform("_Color")||u.setVector4("_Color",new eq(0,0,0,1)),u.hasUniform("_TexOffset")||u.setVector4("_TexOffset",new eq),u.hasUniform("_TexParams")||u.setVector4("_TexParams",new eq),u},i.getItemGeometryData=function(t,e){var r=t.splits,i=t.renderer,n=t.textureSheetAnimation;if(i.shape){for(var o=i.shape,a=o.index,s=o.aPoint,u=new Float32Array(s),c=[],l=[],h=0;h<u.length;h+=6)u[h]*=1,u[h+1]*=1,l.push(s[h+2],s[h+3]),c.push(u[h],u[h+1],0);return this.geometry.setAttributeData("aPos",new Float32Array(c)),{index:a,atlasOffset:l}}var f=[],m=[],d=2,p=2;1===r.length&&(d=1,p=1);for(var v=[],y=0;y<d;y++)for(var g=0;g<p;g++){var x=(2*g+y)*4,T=n?[0,0,1,1,r[0][4]]:r[2*g+y],E=T[4]?[0,0,1,0,0,1,1,1]:[0,1,0,0,1,1,1,0],_=((y+y+1)/d-1)/2,C=((g+g+1)/p-1)/2,b=T[0],A=T[1],S=T[4]?T[3]:T[2],w=T[4]?T[2]:T[3],R=[-.5/d+_,.5/p+C,-.5/d+_,-.5/p+C,.5/d+_,.5/p+C,.5/d+_,-.5/p+C];f.push(E[0]*S+b,E[1]*w+A,E[2]*S+b,E[3]*w+A,E[4]*S+b,E[5]*w+A,E[6]*S+b,E[7]*w+A),v.push(1*R[0],1*R[1],0,1*R[2],1*R[3],0,1*R[4],1*R[5],0,1*R[6],1*R[7],0),m.push(x,1+x,2+x,2+x,1+x,3+x)}return this.geometry.setAttributeData("aPos",new Float32Array(v)),{index:m,atlasOffset:f}},i.getTextures=function(){var t=[],e=this.renderer.texture;return e&&t.push(e),t},i.getBoundingBox=function(){if(this.item){var e=this.transform.getWorldMatrix(),r=ri(eL.ZERO,.5,.5);return r.forEach(function(t){e.transformPoint(t.p0),e.transformPoint(t.p1),e.transformPoint(t.p2)}),{type:t.HitTestType.triangle,area:r}}},i.fromData=function(t){e.prototype.fromData.call(this,t);var r,i,n,o,a,s,u=t.interaction,c=t.options,l=t.listIndex,h=t.renderer;h||(h={}),this.interaction=u,this.renderer={renderMode:null!=(r=h.renderMode)?r:th.BILLBOARD,blending:null!=(i=h.blending)?i:ti.ALPHA,texture:null!=(n=h.texture)?n:this.engine.emptyTexture,occlusion:!!h.occlusion,transparentOcclusion:!!h.transparentOcclusion||h.maskMode===to.MASK,side:null!=(o=h.side)?o:tn.DOUBLE,shape:h.shape,mask:null!=(a=h.mask)?a:0,maskMode:null!=(s=h.maskMode)?s:to.NONE,order:void 0===l?0:l},this.emptyTexture=this.engine.emptyTexture,this.splits=t.splits||nI,this.textureSheetAnimation=t.textureSheetAnimation,this.cachePrefix="-",this.renderInfo=nc(this);var f=this.createGeometry(rZ.TRIANGLES),m=this.createMaterial(this.renderInfo,2);this.worldMatrix=eV.fromIdentity(),this.material=m,this.geometry=f,this.name="MSprite"+nP++;var d=c.startColor||[1,1,1,1];this.material.setVector4("_Color",new eq().setFromArray(d)),this.material.setVector4("_TexOffset",new eq().setFromArray([0,0,1,1])),this.setItem()},i.toData=function(){e.prototype.toData.call(this)},r}(eW),t.SpriteComponent=tJ([eG(tV.SpriteComponent)],t.SpriteComponent);var nz="lookup_texture",nN="offscreen_canvas",nD={},nU=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}return t.prototype.generate=function(t){var e=nk(this.arc,this.arcMode,t)*eA,r=new eL(Math.cos(e)*this.radius,Math.sin(e)*this.radius,0),i=Math.tan(this.angle*eA),n=r.clone().multiply(i);return n.z+=1,{position:r.multiply(ev(0,1)),direction:n.normalize()}},t}();function nk(t,e,r){if(e===tE.RANDOM)t=ev(0,t);else if(e===tE.UNIDIRECTIONAL_CYCLE){var i=r.index%(r.total+1);t=t/r.total*i}else if(e===tE.BIDIRECTIONAL_CYCLE){var n=r.index/(r.total+1),o=n-Math.floor(n);t*=Math.floor(n)%2?1-o:o}else e===tE.UNIFORM_BURST&&(t=t*r.burstIndex/r.burstCount);return t}var nB=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}return t.prototype.generate=function(t){var e=nk(this.arc,this.arcMode,t)*eA,r=new eL(Math.cos(e),Math.sin(e),0),i=this.radius;return{direction:r,position:r.clone().multiply(i)}},t}(),nG=function(){function t(t){this._d=(t.width||1)/2,this._h=(t.height||1)/2}return t.prototype.generate=function(t){var e=ev(-this._d,this._d),r=ev(-this._h,this._h);return{direction:new eL(0,0,1),position:new eL(e,r,0)}},t}(),nX=function(){function t(t){this._d=(t.width||1)/2,this._h=(t.height||1)/2,this.arcMode=t.arcMode,this.arc=t.arc}return t.prototype.generate=function(t){var e=nk(this.arc,this.arcMode,t)*eA,r=new eL(Math.cos(e),Math.sin(e),0),i=this._d,n=this._h,o=Math.atan2(n,i),a=Math.tan(e),s=new eL;return e<o?s.set(i,i*a,0):e>=o&&e<Math.PI-o?s.set(n/a,n,0):e<Math.PI+o?s.set(-i,-i*a,0):e<2*Math.PI-o?s.set(-n/a,-n,0):s.set(i,i*a,0),{direction:r,position:s}},t}(),nH=function(){function t(t){this._d=(t.width||1)/2,this.arcMode=t.arcMode}return t.prototype.generate=function(t){var e=this.arcMode===tE.UNIFORM_BURST?t.burstIndex%t.burstCount/(t.burstCount-1):ev(0,1);return{direction:new eL(0,1,0),position:new eL(this._d*(e-.5),0,0)}},t}(),nY=new eV,nj=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}return t.prototype.generate=function(t){var e=this.donutRadius,r=this.radius-e,i=ev(0,2*Math.PI),n=nk(this.arc,this.arcMode,t)*eA,o=nY.setFromRotationZ(n),a=new eL(Math.cos(i),Math.sin(i),0),s=new eL(r+Math.cos(i)*e,0,Math.sin(i)*e);return{direction:o.transformNormal(a),position:o.transformPoint(s)}},t}(),nW=new eV,nZ=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}var e=t.prototype;return e.getHorizontalAngle=function(){return ev(-90,90)},e.generate=function(t){var e=nk(this.arc,this.arcMode,t)*eA,r=this.getHorizontalAngle()*eA,i=this.radius,n=new eL(Math.cos(r),0,Math.sin(r)),o=nW.setFromRotationZ(e).transformNormal(n);return{position:o.clone().multiply(i),direction:o}},t}(),nq=function(t){function e(){return t.apply(this,arguments)}return e_(e,t),e.prototype.getHorizontalAngle=function(){return ev(0,90)},e}(nZ),nK=function(){function t(t){var e=t.detail||{anchors:[.5,.5],block:[0,0]};this.anchors=new Float32Array(e.anchors),this.width=t.width||1,this.height=t.height||1,this.block=e.block,this.arcMode=t.arcMode,this.random=eO(t.random||0,0,1)}return t.prototype.generate=function(t){var e=this.anchors,r=Math.floor(nk(e.length/2-1,this.arcMode,t)),i=(e[2*r]+this.block[0]*this.random*Math.random())%1-.5,n=(e[2*r+1]+this.block[1]*this.random*Math.random())%1-.5,o=new eL(i,n,0);return{position:new eL(i*this.width,n*this.height,0),direction:o.normalize()}},t}(),nQ=function(){function t(){}return t.prototype.generate=function(){return{position:new eL,direction:new eL}},t}(),nJ=((tk={})[ta.NONE]=nQ,tk[ta.CONE]=nU,tk[ta.SPHERE]=nZ,tk[ta.HEMISPHERE]=nq,tk[ta.CIRCLE]=nB,tk[ta.DONUT]=nj,tk[ta.RECTANGLE]=nG,tk[ta.EDGE]=nH,tk[ta.RECTANGLE_EDGE]=nX,tk[ta.TEXTURE]=nK,tk);function n$(t){if(!t)return new nQ;var e=r3({radius:1,arc:360,angle:0,arcMode:tE.RANDOM},t),r=t.type,i=nJ[r];if(!i)throw Error("invalid shape:"+r);var n=new i(e);if(r!==ta.NONE){var o=t.alignSpeedDirection,a=t.upDirection;n.alignSpeedDirection=o,n.upDirection=eL.fromArray(void 0===a?[0,0,1]:a).normalize()}return n}function n0(t,e,r,i,n){var o,a;if(n===function(t,e,r,i){for(var n=0,o=e,a=r-i;o<r;o+=i)n+=(t[a]-t[o])*(t[o+1]+t[a+1]),a=o;return n}(t,e,r,i)>0)for(o=e;o<r;o+=i)a=or(o,t[o],t[o+1],a);else for(o=r-i;o>=e;o-=i)a=or(o,t[o],t[o+1],a);return a&&n6(a,a.next)&&(oi(a),a=a.next),a}function n1(t,e){if(!t)return t;e||(e=t);var r,i=t;do if(r=!1,!i.steiner&&(n6(i,i.next)||0===n5(i.prev,i,i.next))){if(oi(i),(i=e=i.prev)===i.next)break;r=!0}else i=i.next;while(r||i!==e);return e}function n2(t,e){return t.x-e.x}function n3(t,e,r,i,n){return(t=((t=((t=((t=((t=32767*(t-r)*n)|t<<8)&16711935)|t<<4)&252645135)|t<<2)&858993459)|t<<1)&1431655765)|(e=((e=((e=((e=((e=32767*(e-i)*n)|e<<8)&16711935)|e<<4)&252645135)|e<<2)&858993459)|e<<1)&1431655765)<<1}function n4(t,e,r,i,n,o,a,s){return(n-a)*(e-s)-(t-a)*(o-s)>=0&&(t-a)*(i-s)-(r-a)*(e-s)>=0&&(r-a)*(o-s)-(n-a)*(i-s)>=0}function n5(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function n6(t,e){return t.x===e.x&&t.y===e.y}function n8(t,e,r,i){var n=n7(n5(t,e,r)),o=n7(n5(t,e,i)),a=n7(n5(r,i,t)),s=n7(n5(r,i,e));return!!(n!==o&&a!==s||0===n&&n9(t,r,e)||0===o&&n9(t,i,e)||0===a&&n9(r,t,i)||0===s&&n9(r,e,i))}function n9(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function n7(t){return t>0?1:t<0?-1:0}function ot(t,e){return 0>n5(t.prev,t,t.next)?n5(t,e,t.next)>=0&&n5(t,t.prev,e)>=0:0>n5(t,e,t.prev)||0>n5(t,t.next,e)}function oe(t,e){var r=new on(t.i,t.x,t.y),i=new on(e.i,e.x,e.y),n=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=n,n.prev=r,i.next=r,r.prev=i,o.next=i,i.prev=o,i}function or(t,e,r,i){var n=new on(t,e,r);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function oi(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function on(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}var oo=0;function oa(t,e,r,i){r=r||2,oo=i||0;var n,o,a,s,u,c,l,h=e&&e.length,f=h?e[0]*r:t.length,m=n0(t,0,f,r,!0),d=[];if(!m||m.next===m.prev)return d;if(h&&(m=function(t,e,r,i){var n,o,a,s,u,c=[];for(n=0,o=e.length;n<o;n++)a=e[n]*i,s=n<o-1?e[n+1]*i:t.length,(u=n0(t,a,s,i,!1))===u.next&&(u.steiner=!0),c.push(function(t){var e=t,r=t;do(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;while(e!==t);return r}(u));for(c.sort(n2),n=0;n<c.length;n++)(function(t,e){if(e=function(t,e){var r,i,n,o=e,a=t.x,s=t.y,u=-1/0;do{if(s<=o.y&&s>=o.next.y&&o.next.y!==o.y){var c=o.x+(s-o.y)*(o.next.x-o.x)/(o.next.y-o.y);if(c<=a&&c>u){if(u=c,c===a){if(s===o.y)return o;if(s===o.next.y)return o.next}n=o.x<o.next.x?o:o.next}}o=o.next}while(o!==e);if(!n)return null;if(a===u)return n;var l,h=n,f=n.x,m=n.y,d=1/0;o=n;do a>=o.x&&o.x>=f&&a!==o.x&&n4(s<m?a:u,s,f,m,s<m?u:a,s,o.x,o.y)&&(l=Math.abs(s-o.y)/(a-o.x),ot(o,t)&&(l<d||l===d&&(o.x>n.x||o.x===n.x&&(r=n,i=o,0>n5(r.prev,r,i.prev)&&0>n5(i.next,r,r.next))))&&(n=o,d=l)),o=o.next;while(o!==h);return n}(t,e)){var r=oe(e,t);n1(e,e.next),n1(r,r.next)}})(c[n],r),r=n1(r,r.next);return r}(t,e,m,r)),t.length>80*r){n=a=t[0],o=s=t[1];for(var p=r;p<f;p+=r)u=t[p],c=t[p+1],u<n&&(n=u),c<o&&(o=c),u>a&&(a=u),c>s&&(s=c);l=0!==(l=Math.max(a-n,s-o))?1/l:0}return function t(e,r,i,n,o,a,s){if(e){!s&&a&&function(t,e,r,i){var n=t;do null===n.z&&(n.z=n3(n.x,n.y,e,r,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next;while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){var e,r,i,n,o,a,s,u,c=1;do{for(r=t,t=null,o=null,a=0;r;){for(a++,i=r,s=0,e=0;e<c&&(s++,i=i.nextZ);e++);for(u=c;s>0||u>0&&i;)0!==s&&(0===u||!i||r.z<=i.z)?(n=r,r=r.nextZ,s--):(n=i,i=i.nextZ,u--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;r=i}o.nextZ=null,c*=2}while(a>1)}(n)}(e,n,o,a);for(var u,c,l=e;e.prev!==e.next;){if(u=e.prev,c=e.next,a?function(t,e,r,i){var n=t.prev,o=t.next;if(n5(n,t,o)>=0)return!1;for(var a=n.x<t.x?n.x<o.x?n.x:o.x:t.x<o.x?t.x:o.x,s=n.y<t.y?n.y<o.y?n.y:o.y:t.y<o.y?t.y:o.y,u=n.x>t.x?n.x>o.x?n.x:o.x:t.x>o.x?t.x:o.x,c=n.y>t.y?n.y>o.y?n.y:o.y:t.y>o.y?t.y:o.y,l=n3(a,s,e,r,i),h=n3(u,c,e,r,i),f=t.prevZ,m=t.nextZ;f&&f.z>=l&&m&&m.z<=h;){if(f!==t.prev&&f!==t.next&&n4(n.x,n.y,t.x,t.y,o.x,o.y,f.x,f.y)&&n5(f.prev,f,f.next)>=0||(f=f.prevZ,m!==t.prev&&m!==t.next&&n4(n.x,n.y,t.x,t.y,o.x,o.y,m.x,m.y)&&n5(m.prev,m,m.next)>=0))return!1;m=m.nextZ}for(;f&&f.z>=l;){if(f!==t.prev&&f!==t.next&&n4(n.x,n.y,t.x,t.y,o.x,o.y,f.x,f.y)&&n5(f.prev,f,f.next)>=0)return!1;f=f.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&n4(n.x,n.y,t.x,t.y,o.x,o.y,m.x,m.y)&&n5(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}(e,n,o,a):function(t){var e=t.prev,r=t.next;if(n5(e,t,r)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(n4(e.x,e.y,t.x,t.y,r.x,r.y,i.x,i.y)&&n5(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}(e)){r.push(u.i/i+oo),r.push(e.i/i+oo),r.push(c.i/i+oo),oi(e),e=c.next,l=c.next;continue}if((e=c)===l){s?1===s?t(e=function(t,e,r){var i=t;do{var n=i.prev,o=i.next.next;!n6(n,o)&&n8(n,i,i.next,o)&&ot(n,o)&&ot(o,n)&&(e.push(n.i/r+oo),e.push(i.i/r+oo),e.push(o.i/r+oo),oi(i),oi(i.next),i=t=o),i=i.next}while(i!==t);return n1(i)}(n1(e),r,i),r,i,n,o,a,2):2===s&&function(e,r,i,n,o,a){var s=e;do{for(var u,c,l=s.next.next;l!==s.prev;){if(s.i!==l.i&&(u=s,c=l,u.next.i!==c.i&&u.prev.i!==c.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&n8(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(u,c)&&(ot(u,c)&&ot(c,u)&&function(t,e){var r=t,i=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do r.y>o!=r.next.y>o&&r.next.y!==r.y&&n<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==t);return i}(u,c)&&(n5(u.prev,u,c.prev)||n5(u,c.prev,c))||n6(u,c)&&n5(u.prev,u,u.next)>0&&n5(c.prev,c,c.next)>0))){var h=oe(s,l);s=n1(s,s.next),h=n1(h,h.next),t(s,r,i,n,o,a),t(h,r,i,n,o,a);return}l=l.next}s=s.next}while(s!==e)}(e,r,i,n,o,a):t(n1(e),r,i,n,o,a,1);break}}}}(m,d,r,n,o,l),d}function os(t,e){for(var r,i,n=t.s,o=t.p,a=n[1],s=o[1],u=0,c=0;c<a.length;c++)u+=a[c].length-1;var l,h=new Float32Array(6*u),f=e.indexBase,m=e.uvTransform,d=0,p=0,v=0,y=1,g=1;m&&(p=m[0],v=m[1],y=(l=m[4])?m[3]:m[2],g=l?m[2]:m[3]);for(var x=[0,0],T=0===l?0:-Math.PI/2,E=0;E<a.length;E++)for(var _=a[E],C=s[E],b=s[E+1]||s[0],A=[0,0],S=0;S<_.length-1;S++)(function(t,e,r,i,n,o,a,s){var u=1-e,c=u*u*u,l=3*e*u*u,h=3*e*e*u,f=e*e*e;t[0]=c*r[0]+l*n+h*a+f*i[0],t[1]=c*r[1]+l*o+h*s+f*i[1]})(A,_[S],C,b,C[4],C[5],b[2],b[3]),r=A[0],i=A[1],h[d++]=r/2,h[d++]=i/2,m?(x[0]=r,x[1]=i,oc(x,x,T),h[d++]=p+(x[0]+1)/2*y,h[d++]=v+(x[1]+1)/2*g):(h[d++]=(r+1)/2,h[d++]=(i+1)/2),d+=2;var w=oa(Array.from(h),null,6,void 0===f?0:f);return{aPoint:h,index:new Uint16Array(w)}}function ou(t,e){for(var r,i=[],n=(r=[],t.gs?t.gs.forEach(function(t){r.push({p:[tv.SHAPE_POINTS,t.p],s:[tv.SHAPE_SPLITS,t.s]})}):t.g?r.push({p:[tv.SHAPE_POINTS,t.g.p],s:[tv.SHAPE_SPLITS,t.g.s]}):r.push(t),r),o=0,a=0,s=0,u=0;u<n.length;u++){var c=os(n[u],{indexBase:o,uvTransform:e});o+=c.aPoint.length/5,i.push(c),a+=c.aPoint.length,s+=c.index.length}if(1===i.length)return i[0];for(var l=new Float32Array(a),h=new Uint16Array(s),f=0,m=0,d=0;f<i[f];f++){var p=i[f];l.set(p.aPoint,m),m+=p.aPoint.length,h.set(p.index,d),d+=p.index.length}return{aPoint:l,index:h}}function oc(t,e,r){var i=Math.cos(r),n=Math.sin(r),o=e[0],a=e[1];return t[0]=i*o+n*a,t[1]=-n*o+i*a,t}var ol=function(){function t(t){var e=t.time,r=t.interval,i=t.count,n=t.cycles,o=t.probability;this.time=+e||0,this.interval=+r||1,this.count=tK(i,ry)?i:rR(i),this.cycles=+n||1/0,this.probability=isNaN(o)?1:+o,this.reset()}var e=t.prototype;return e.getGeneratorOptions=function(t,e){if(t-this.time-this.now>this.interval*this.index&&this.internalCycles>0)return this.internalCycles--,this.index++,Math.random()<=this.probability?{index:this.index,total:1/this.interval,count:this.count.getValue(e),cycleIndex:this.cycles-this.internalCycles-1}:null},e.reset=function(){this.internalCycles=this.cycles,this.index=0,this.now=0},e.clone=function(){return new t(this)},t}(),oh=function(t){this.content=t},of=function(){function t(t){this.sort=t,this.length=0}var e=t.prototype;return e.findNodeByContent=function(t){var e=this.first;if(e)do if(t(e.content))return e;while(e=e.next)},e.insertNode=function(t,e){var r=t.next;t.next=e,e.pre=t,e.next=r,r&&(r.pre=e)},e.shiftNode=function(t){var e=new oh(t);if(this.length++,1===this.length)return this.first=this.last=e;for(var r=this.first;r;){if(!(0>=this.sort(r.content,e.content)))return r.pre?this.insertNode(r.pre,e):(this.first=e,e.next=r,r.pre=e),e;if(!r.next)return this.insertNode(r,e),this.last=e;r=r.next}},e.pushNode=function(t){var e=new oh(t);if(this.length++,1===this.length)return this.last=this.first=e;for(var r=this.last;r;){if(!(0>=this.sort(e.content,r.content)))return this.insertNode(r,e),r===this.last&&(this.last=e),e;if(this.first===r)return r.pre=e,e.next=r,this.first=e;r=r.pre}},e.removeNode=function(t){var e=this.first;if(this.length--,e===t){var r=this.first=e.next;r&&(r.pre=null)}else if((e=this.last)===t){var i=this.last=e.pre;i&&(i.next=null)}else if(t){var n=t.pre,o=t.next;n.next=o,o&&(o.pre=n)}t.pre=null,t.next=null},e.forEach=function(t,e){var r=this.first,i=0;if(r)do t.call(e||this,r.content,i++);while(r=r.next)},e.forEachReverse=function(t,e){var r=this.last,i=this.length-1;if(r)do t.call(e||this,r.content,i--);while(r=r.pre)},t}(),om=new eL,od=new eL,op=function(){function e(e,r){this.pointStart=[];var i,n=r.colorOverLifetime,o=r.colorOverTrail,a=r.maxTrailCount,s=r.opacityOverLifetime,u=void 0===s?rR(1):s,c=r.widthOverTrail,l=r.name,h=r.occlusion,f=r.blending,m=r.maskMode,d=r.textureMap,p=r.texture,v=r.transparentOcclusion,y=r.minimumVertexDistance,g=r.lifetime,x=r.matrix,T=e.gpuCapability,E=T.detail,_=T.level,C=Math.max(r.pointCountPerTrail,2),b=rI(),A=E.maxVertexTextures>0,S=(null!=(i=e.renderer)?i:{}).env,w={},R=[["ENABLE_VERTEX_TEXTURE",A],["LOOKUP_TEXTURE_CURVE",0],["ENV_EDITOR",S===rY]],O=a>64,M=0;n&&(R.push(["COLOR_OVER_LIFETIME",!0]),M|=1,w.uColorOverLifetime=im.createWithData(e,en(n))),o&&(R.push(["COLOR_OVER_TRAIL",!0]),M|=4,w.uColorOverTrail=im.createWithData(e,en(o))),O?(R.push(["ATTR_TRAIL_START",1]),M|=8):w.uTrailStart=new Float32Array(a),w.uOpacityOverLifetimeValue=u.toUniform(b);var L=c.toUniform(b);R.push(["VERT_CURVE_VALUE_COUNT",b.index],["VERT_MAX_KEY_FRAME_COUNT",b.max]),w.uVCurveValues=ry.getAllData(b);var I={shader:{vertex:iY,fragment:iX,marcos:R,glslVersion:1===_?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,shared:!0,name:"trail#"+l,cacheId:"-t:+"+M+"+"+b.index+"+"+b.max},uniformSemantics:{effects_MatrixVP:"VIEWPROJECTION",effects_MatrixInvV:"VIEWINVERSE",effects_ObjectToWorld:"MODEL",uEditorTransform:"EDITOR_TRANSFORM"}},V=C*a*2,P=(C-1)*a,F=Float32Array.BYTES_PER_ELEMENT,z=12*F,N={attributes:{aColor:{size:4,stride:z,data:new Float32Array(12*V)},aSeed:{size:1,stride:z,offset:4*F,dataSource:"aColor"},aInfo:{size:3,stride:z,offset:5*F,dataSource:"aColor"},aPos:{size:4,stride:z,offset:8*F,dataSource:"aColor"},aTime:{size:1,data:new Float32Array(V)},aDir:{size:3,data:new Float32Array(3*V)}},indices:{data:new Uint16Array(6*V)},drawCount:6*P,name:"trail#"+l,bufferUsage:rZ.DYNAMIC_DRAW};if(O)N.attributes.aTrailStart={size:1,data:new Float32Array(V)};else{var D=new Float32Array(V);N.attributes.aTrailStartIndex={size:1,data:D};for(var U=0;U<a;U++)for(var k=2*C,B=U*k,G=0;G<k;G++)D[B+G]=U}var X=rQ(f),H=iE.create(e,I);H.blending=!0,H.depthMask=h,H.depthTest=!0,r2(H,m),r0(H,f);var Y=this.mesh=iz.create(e,{name:"MTrail_"+l,material:H,geometry:iV.create(e,N)}),j=null!=p?p:im.createWithData(e);Object.keys(w).map(function(t){var e=w[t];if(tK(e,im))H.setTexture(t,e);else if("uTrailStart"===t)H.setFloats("uTrailStart",e);else if("uVCurveValues"===t){for(var r=[],i=0;i<e.length;i+=4){var n=new eq(e[i],e[i+1],e[i+2],e[i+3]);r.push(n)}H.setVector4Array(t,r)}else H.setVector4(t,eq.fromArray(e))}),H.setFloat("uTime",0),H.setVector4("uWidthOverTrail",eq.fromArray(L)),H.setVector2("uTexOffset",new eM(0,0)),H.setVector4("uTextureMap",eq.fromArray(void 0===d?[0,0,1,1]:d)),H.setVector4("uParams",new eq(0,C-1,0,0)),H.setTexture("uMaskTex",j),H.setVector4("uColorParams",new eq(p?1:0,+X,0,+(h&&!v))),this.maxTrailCount=a,this.pointCountPerTrail=C,this.checkVertexDistance=y>0,this.minimumVertexDistance=Math.pow(y||.001,2),this.useAttributeTrailStart=O,this.lifetime=g,x&&(this.mesh.worldMatrix=x),this.geometry=Y.firstGeometry(),this.trailCursors=new Uint16Array(a)}var r=e.prototype;return r.addPoint=function(t,e,r){r=r||{};var i=this.trailCursors[t],n=this.pointCountPerTrail,o=this.geometry,a=n-1,s=i%n,u=(i-1)%n,c=(i-2)%n,l=this.getTrailPosition(t,u,om);if(!(l&&this.checkVertexDistance&&(null==l?void 0:l.distanceSquared(e))<this.minimumVertexDistance)){var h=t*n+s,f=ox(l,e),m=r.time||this.time,d=[Math.random(),r.lifetime||this.lifetime,i],p=r.size||1,v=new Float32Array(6);v.set(f,0),v.set(f,3),o.setAttributeSubData("aDir",6*h,v),o.setAttributeSubData("aTime",2*h,new Float32Array([m,m]));var y=r.color||[1,1,1,1],g=new Float32Array(24),x=e.toArray();if(g.set(y,0),g.set(d,4),g[7]=0,g.set(x,8),g[11]=.5*p,g.set(y,12),g.set(d,16),g[19]=1,g.set(x,20),g[23]=-.5*p,o.setAttributeSubData("aColor",24*h,g),u>=0){var T=new Float32Array(ox(this.getTrailPosition(t,c,od),l,e)),E=(t*n+u)*6;o.setAttributeSubData("aDir",E,T),o.setAttributeSubData("aDir",E+3,T);var _=t*n*2,C=new Uint16Array([2*u+_,2*u+1+_,2*s+_,2*s+_,2*u+1+_,2*s+1+_]),b=(t*a+(i-1)%a)*6;o.setIndexSubData(b,C)}i=++this.trailCursors[t];var A=this.mesh.material,S=A.getVector4("uParams"),w=d[2];if(this.useAttributeTrailStart){for(var R=2*n,O=new Float32Array(R),M=0;M<R;M++)O[M]=w;o.setAttributeSubData("aTrailStart",t*O.length,O)}else{var L=A.getFloats("uTrailStart");void 0!=L&&(L[t]=w,A.setFloats("uTrailStart",L))}S&&(S.y=Math.max(S.y,i-1)-Math.max(0,i-n),A.setVector4("uParams",S))}},r.getTrailPosition=function(t,e,r){var i=this.pointCountPerTrail;if(e>=0&&e<i){var n=(t*i+e)*24+8,o=this.geometry.getAttributeData("aColor");return r.x=o[n],r.y=o[1+n],r.z=o[2+n],r}},r.clearAllTrails=function(){var t=this.geometry;this.trailCursors=new Uint16Array(this.trailCursors.length),t.setIndexData(new Uint16Array(t.getIndexData().length))},r.minusTime=function(t){for(var e=this.geometry.getAttributeData("aTime"),r=0;r<e.length;r++)e[r]-=t;this.geometry.setAttributeData("aTime",e),this.time-=t},r.clearTrail=function(t){if(0!==this.trailCursors[t]){var e=(this.pointCountPerTrail-1)*6,r=this.geometry.getIndexData();r.set(new Uint16Array(e),t*e),this.geometry.setIndexData(r),this.trailCursors[t]=0}},r.getPointStartPos=function(t){return this.pointStart[t]},r.setPointStartPos=function(t,e){this.pointStart[t]=e},r.onUpdate=function(t){},eT(e,[{key:"time",get:function(){return this.mesh.material.getFloat("uTime")||0},set:function(t){this.mesh.material.setFloat("uTime",null!=t?t:0)}}]),e}(),ov=new eL,oy=new eL,og=new eL;function ox(t,e,r){return t||r?(t?r?(oy.subtractVectors(e,t).normalize(),oy.subtractVectors(r,e),og.copyFrom(oy).normalize(),ov.addVectors(oy,og)):ov.subtractVectors(e,t):ov.subtractVectors(r,e),ov.normalize().toArray()):[0,0,0]}var oT=function(t){function e(e,r,i){(n=t.call(this,e)||this).name="ParticleSystemRenderer",n.particleMesh=new oI(e,r),void 0!==i&&(n.trailMesh=new op(e,i));var n,o=[n.particleMesh.mesh];return n.materials.push(n.particleMesh.mesh.material),n.trailMesh&&(o.push(n.trailMesh.mesh),n.materials.push(n.trailMesh.mesh.material)),n.meshes=o,n}e_(e,t);var r=e.prototype;return r.start=function(){this._priority=this.item.listIndex,this.particleMesh.gravityModifier.scaleXCoord(this.item.duration);for(var t,e=eb(this.meshes);!(t=e()).done;)t.value.start()},r.update=function(t){var e=this.particleMesh.time;this.particleMesh.mesh.material.setVector4("uParams",new eq(e,this.item.duration,0,0))},r.render=function(t){for(var e,r=eb(this.meshes);!(e=r()).done;)e.value.render(t)},r.reset=function(){var t;this.particleMesh.clearPoints(),null==(t=this.trailMesh)||t.clearAllTrails()},r.updateTime=function(t,e){this.particleMesh.time=t,this.trailMesh&&(this.trailMesh.time=t,this.trailMesh.onUpdate(e))},r.minusTimeForLoop=function(t){var e;this.particleMesh.minusTime(t),null==(e=this.trailMesh)||e.minusTime(t)},r.updateWorldMatrix=function(t){this.particleMesh.mesh.worldMatrix=t,this.trailMesh&&(this.trailMesh.mesh.worldMatrix=t)},r.setVisible=function(t){var e;this.particleMesh.mesh.setVisible(t),null==(e=this.trailMesh)||e.mesh.setVisible(t)},r.getTextures=function(){var t=[],e=this.particleMesh.mesh.material.textures;if(Object.keys(e).forEach(function(r){t.push(e[r])}),this.trailMesh){var r=this.trailMesh.mesh.material.textures;Object.keys(r).forEach(function(e){t.push(r[e])})}return t},r.setParticlePoint=function(t,e){this.particleMesh.setPoint(t,e)},r.removeParticlePoint=function(t){this.particleMesh.removePoint(t)},r.getParticlePointColor=function(t){return this.particleMesh.getPointColor(t)},r.hasTrail=function(){return void 0!==this.trailMesh},r.clearTrail=function(t){var e;null==(e=this.trailMesh)||e.clearTrail(t)},r.addTrailPoint=function(t,e,r){var i;null==(i=this.trailMesh)||i.addPoint(t,e,r)},r.setTrailStartPosition=function(t,e){var r;null==(r=this.trailMesh)||r.setPointStartPos(t,e)},r.getTrailStartPosition=function(t){return this.trailMesh.getPointStartPos(t)},e}(eW);t.ParticleSystem=function(e){function r(r,i){var n;return(n=e.call(this,r)||this).destoryed=!1,n.getHitTestParams=function(e){var r=n.interaction;if(e||r)return{type:t.HitTestType.custom,collect:function(t){return n.raycast({radius:(null==r?void 0:r.radius)||.4,multiple:!!(null==r?void 0:r.multiple),removeParticle:(null==r?void 0:r.behavior)===tT.removeParticle,ray:t})}}},i&&n.fromData(i),n}e_(r,e);var i=r.prototype;return i.initEmitterTransform=function(){var t,e=this.item.transform.position.clone(),r=this.item.transform.rotation.clone(),i=this.props.emitterTransform&&this.props.emitterTransform.path;i&&(i[0]===tv.CONSTANT_VEC3?e.add(i[1]):t=rR(i)),this.basicTransform={position:e,rotation:r,path:t};var n=this.transform.parentTransform,o=e.clone();if(t&&o.add(t.getValue(0)),this.transform.setPosition(o.x,o.y,o.z),this.options.particleFollowParent&&n){var a=n.getWorldMatrix();this.renderer.updateWorldMatrix(a)}},i.updateEmitterTransform=function(t){var e=this.transform.parentTransform,r=this.basicTransform,i=r.path,n=r.position.clone();if(i){var o=this.item.duration;n.add(i.getValue(t/o))}if(this.transform.setPosition(n.x,n.y,n.z),this.options.particleFollowParent&&e){var a=e.getWorldMatrix();this.renderer.updateWorldMatrix(a)}},i.addParticle=function(t,e){var r,i=this.particleLink,n=[t.delay+t.lifetime,0,t.delay,t];if(i.length<e)r=n[1]=i.length;else{var o=i.first;i.removeNode(o),r=n[1]=o.content[1]}i.pushNode(n),this.renderer.setParticlePoint(r,t),this.clearPointTrail(r),this.transform.parentTransform&&this.renderer.setTrailStartPosition(r,this.transform.parentTransform.position.clone())},i.setVisible=function(t){this.renderer.setVisible(t)},i.setOpacity=function(t){var e,r=this.renderer.particleMesh.mesh.material,i=this.renderer.particleMesh.mesh.geometry,n=(null==(e=r.getVector4("uOpacityOverLifetimeValue"))?void 0:e.toArray())||[1,1,1,1];r.setVector4("uOpacityOverLifetimeValue",new eq(n[0],n[1],n[2],t));for(var o=i.getAttributeData("aColor")||[],a=0;a<o.length;a+=32)o[8*a+7]=t},i.setColor=function(t,e,r,i){var n,o=this.renderer.particleMesh.mesh.material,a=this.renderer.particleMesh.mesh.geometry,s=(null==(n=o.getVector4("uOpacityOverLifetimeValue"))?void 0:n.toArray())||[1,1,1,1];o.setVector4("uOpacityOverLifetimeValue",new eq(s[0],s[1],s[2],i));for(var u=a.getAttributeData("aColor")||[],c=0;c<u.length;c+=32)u[8*c+4]=t,u[8*c+5]=e,u[8*c+6]=r,u[8*c+7]=i},i.setParentTransform=function(t){},i.getTextures=function(){return this.renderer.getTextures()},i.start=function(){(!this.started||this.ended)&&(this.reset(),this.started=!0,this.ended=!1)},i.stop=function(){this.ended=!0,this.started=!1},i.reset=function(){this.renderer.reset(),this.lastUpdate=0,this.loopStartTime=0,this.lastEmitTime=-1/this.emission.rateOverTime.getValue(0),this.generatedCount=0,this.particleLink=new of(function(t,e){return t[0]-e[0]}),this.emission.bursts.forEach(function(t){return t.reset()}),this.frozen=!1},i.onUpdate=function(t){var e=this;if(this.started&&!this.frozen){var r=this.lastUpdate+t/1e3,i=this.options,n=this.loopStartTime,o=this.emission;this.lastUpdate=r,this.upDirectionWorld=null,this.renderer.updateTime(r,t);var a=this.particleLink,s=(r-n)/this.item.duration,u=this.timePassed,c=!1,l=function(){e.trails&&!c&&(c=!0,a.forEach(function(t){var r=t[0],i=t[1],n=t[2],o=t[3];r<u?e.clearPointTrail(i):u>n&&e.updatePointTrail(i,s,o,n)}))};if(this.ended){if(this.item.endBehavior!==tg.loop&&tg.destroy===this.item.endBehavior){var h=a.last;h&&h.content[0]<this.lastUpdate&&(this.destoryed=!0)}}else{var f=this.item.duration,m=this.lifetime;if(u<f){var d=1/o.rateOverTime.getValue(m),p=Math.floor((u-this.lastEmitTime)/d),v=d/p,y=i.maxCount;this.updateEmitterTransform(u);for(var g=function(){var t=a.first;return e.emissionStopped||a.length===y&&t&&t.content[0]-n>u},x=0;x<p&&x<y&&!g();x++){var T=this.createPoint(m);T.delay+=r+x*v,this.addParticle(T,y),this.lastEmitTime=u}for(var E=o.bursts,_=(null==E?void 0:E.length)-1,C=0;_>=0&&C<y&&!g();_--){var b=E[_],A=!b.disabled&&b.getGeneratorOptions(u,m);if(A){var S=[0,0,0],w=o.burstOffsets[_],R=w&&w[A.cycleIndex]||S;b.once&&this.removeBurst(_);for(var O=0;O<A.count&&C<y&&!g();O++){var M,L=this.initPoint(this.shape.generate({total:A.total,index:A.index,burstIndex:O,burstCount:A.count}));L.delay+=r,C++,(M=L.transform).translate.apply(M,[].concat(R)),this.addParticle(L,y)}}}}else this.item.endBehavior===tg.loop?(l(),this.loopStartTime=r-f,this.lastEmitTime-=f,this.lastUpdate-=f,o.bursts.forEach(function(t){return t.reset()}),this.particleLink.forEach(function(t){t[0]-=f,t[2]-=f,t[3].delay-=f}),this.renderer.minusTimeForLoop(f),this.onIterate(this)):(this.ended=!0,this.onEnd(this),this.item.endBehavior===tg.freeze&&(this.frozen=!0))}l()}},i.onDestroy=function(){this.item&&this.item.composition&&(this.item.composition.destroyTextures(this.getTextures()),this.meshes.forEach(function(e){return e.dispose({material:{textures:t.DestroyOptions.keep}})}))},i.getParticleBoxes=function(){var t=this.particleLink,e=this.renderer,r=[],i=this.particleCount,n=0;if(!(t&&e))return r;for(var o=t.last,a=!1;!a;){var s=o.content[0],u=o.content[3];if(s>this.timePassed){var c=this.getPointPosition(u);r.push({center:c,size:u.transform.scale}),o.pre?o=o.pre:a=!0}++n>i&&(a=!0)}return r},i.raycast=function(t){var e=this.particleLink,r=this.renderer;if(e&&r){var i=e.last,n=[],o=new eL,a=!1;if(i&&i.content)do{var s=i.content,u=s[0],c=s[1];s[2];var l=s[3];if(u>this.timePassed){var h=this.getPointPosition(l),f=t.ray,m=!1;f&&(m=!!f.intersectSphere({center:h,radius:t.radius},o)),m&&(t.removeParticle&&(r.removeParticlePoint(c),this.clearPointTrail(c),e.removeNode(i),i.content=[0]),n.push(h),t.multiple||(a=!0))}else break}while((i=i.pre)&&!a);return n}},i.clearPointTrail=function(t){this.trails&&this.trails.dieWithParticles&&this.renderer.clearTrail(t)},i.updatePointTrail=function(t,e,r,i){var n=this.renderer;if(n.hasTrail()){var o=this.trails,a=this.getPointPosition(r),s=o.inheritParticleColor?n.getParticlePointColor(t):[1,1,1,1],u=r.transform.getWorldScale().toArray(),c=1,l=o.lifetime.getValue(e);if(o.sizeAffectsWidth&&(c*=u[0]),o.sizeAffectsLifetime&&(l*=u[0]),o.parentAffectsPosition&&this.transform.parentTransform){a.add(this.transform.parentTransform.position);var h=n.getTrailStartPosition(t);h&&a.subtract(h)}n.addTrailPoint(t,a,{color:s,lifetime:l,size:c,time:i})}},i.getPointPosition=function(t){var e=t.transform,r=t.vel,i=t.lifetime,n=t.delay,o=t.gravity,a=this.options.forceTarget,s=this.lastUpdate-n,u=new eL,c=eL.fromArray(void 0===o?[]:o);e.assignWorldTRS(u);var l=e6(new eL,this.options,c,s,i,u,r);if(a){var h=a.target||[0,0,0],f=a.curve.getValue(s/i),m=1-f;l.x=l.x*m+h[0]*f,l.y=l.y*m+h[1]*f,l.z=l.z*m+h[2]*f}return l},i.onEnd=function(t){},i.onIterate=function(t){},i.initPoint=function(t){var e,r,i,n,o=this.options,a=this.lifetime,s=this.shape,u=o.startSpeed.getValue(a),c=o.particleFollowParent?this.transform.getMatrix():this.transform.getWorldMatrix(),l=new rF({position:c.transformPoint(t.position,new eL),valid:!0}),h=t.direction;if(h=c.transformNormal(h,oE).normalize(),o.startTurbulence&&o.turbulence){for(var f=0;f<3;f++)oS.setElement(f,o.turbulence[f].getValue(a));ow.setFromVector3(oS.negate()),oO.setFromEuler(ow).transformNormal(h).normalize()}s.alignSpeedDirection?(oA.copyFrom(h),this.upDirectionWorld||(s.upDirection?this.upDirectionWorld=s.upDirection.clone():this.upDirectionWorld=eL.Z.clone(),c.transformNormal(this.upDirectionWorld)),ob.crossVectors(oA,this.upDirectionWorld).normalize(),ob.isZero()&&ob.set(1,0,0)):(ob.set(1,0,0),oA.set(0,1,0));var m=this.textureSheetAnimation;m&&m.animate&&((n=oR)[0]=m.animationDelay.getValue(a),n[1]=m.animationDuration.getValue(a),n[2]=m.cycles.getValue(a)),o.start3DRotation?oC.set(o.startRotationX.getValue(a),o.startRotationY.getValue(a),o.startRotationZ.getValue(a)):o.startRotation?oC.set(0,0,o.startRotation.getValue(a)):oC.set(0,0,0),l.setRotation(oC.x,oC.y,oC.z);var d=o.startColor.getValue(a);if(3===d.length&&(d[3]=1),o.start3DSize)o_.x=o.startSizeX.getValue(a),o_.y=o.startSizeY.getValue(a);else{var p=o.startSize.getValue(a),v=o.sizeAspect.getValue(a);o_.x=p,o_.y=0===v?0:p/v}var y=h.clone();if(y.multiply(u),!o.particleFollowParent){var g=new eL;this.transform.assignWorldTRS(void 0,void 0,g),o_.x*=g.x,o_.y*=g.y}return l.setScale(o_.x,o_.y,1),{size:o_,vel:y,color:d,delay:o.startDelay.getValue(a),lifetime:o.startLifetime.getValue(a),uv:(r=Math.floor(Math.random()*(e=this.uvs).length),i=e[r],i),gravity:o.gravity,sprite:n,dirY:oA,dirX:ob,transform:l}},i.addBurst=function(t,e){var r=!1;if(this.emission.bursts.includes(t)||(this.emission.bursts.push(t),r=!0),r&&tK(e,Array)){var i=this.emission.bursts.indexOf(t);return this.emission.burstOffsets[i]=e,i}return -1},i.removeBurst=function(t){t<this.emission.bursts.length&&(this.emission.burstOffsets[t]=null,this.emission.bursts.splice(t,1))},i.createPoint=function(t){var e={total:this.emission.rateOverTime.getValue(t),index:this.generatedCount,burstIndex:0,burstCount:0};return this.generatedCount++,this.initPoint(this.shape.generate(e))},i.stopParticleEmission=function(){this.emissionStopped=!0},i.resumeParticleEmission=function(){this.emissionStopped=!1},i.getBoundingBox=function(){var e=this.getParticleBoxes();return{type:t.HitTestType.sphere,area:e}},i.fromData=function(t){e.prototype.fromData.call(this,t),this.props=t,this.destoryed=!1;var r,i,n,o,a,s,u,c,l,h,f,m,d=t.options,p=t.positionOverLifetime,v=t.shape,y=p.gravityOverLifetime,g=e8(p.gravity),x=t.textureSheetAnimation,T=x?{animationDelay:rR(x.animationDelay||0),animationDuration:rR(x.animationDuration||1),cycles:rR(x.cycles||1),animate:x.animate,col:x.col,row:x.row,total:x.total||x.col*x.row}:void 0,E=!!(v&&v.turbulenceX||v.turbulenceY||v.turbulenceZ);E&&(n=[rR(null!=(o=v.turbulenceX)?o:0),rR(null!=(a=v.turbulenceY)?a:0),rR(null!=(s=v.turbulenceZ)?s:0)]),this.name="ParticleSystem",this.shape=n$(v),this.emission={rateOverTime:rR(t.emission.rateOverTime),burstOffsets:(r=null!=(u=t.emission.burstOffsets)?u:[],i={},Array.isArray(r)&&r.forEach(function(t){var e=tK(t,Array),r=e?t[0]:t.index,n=i[r];n||(n=i[r]=[]),e?n.push(t.slice(1,4)):n.push([+t.x,+t.y,+t.z])}),i),bursts:(t.emission.bursts||[]).map(function(t){return new ol(t)})},this.textureSheetAnimation=T;var _=t.renderer||{},C={},b=t.rotationOverLifetime;b&&(C.asRotation=!!b.asRotation,C.z=b.z?rR(b.z):rR(0),b.separateAxes&&(C.x=b.x&&rR(b.x),C.y=b.y&&rR(b.y))),p.forceTarget&&(c={target:p.target||[0,0,0],curve:rR(p.forceCurve||[tv.LINE,[[0,0],[1,1]]])});var A={x:p.linearX&&rR(p.linearX||0),y:p.linearY&&rR(p.linearY||0),z:p.linearZ&&rR(p.linearZ||0),asMovement:p.asMovement},S={x:p.orbitalX&&rR(p.orbitalX),y:p.orbitalY&&rR(p.orbitalY),z:p.orbitalZ&&rR(p.orbitalZ),center:p.orbCenter,asRotation:p.asRotation},w=t.sizeOverLifetime||{},R=t.colorOverLifetime,O=(null==w?void 0:w.separateAxes)?{separateAxes:!0,x:rR(w.x),y:rR(w.y)}:{separateAxes:!1,x:rR(("size"in w?w.size:w.x)||1)};_.anchor=_.anchor||[0,0];var M=eM.fromArray(_.anchor);this.options={particleFollowParent:!!d.particleFollowParent,startLifetime:rR(d.startLifetime),startDelay:rR(d.startDelay||0),startSpeed:rR(p.startSpeed||0),startColor:rR(d.startColor),looping:!1,maxCount:null!=(l=d.maxCount)?l:0,gravityModifier:rR(y||0),gravity:g,start3DSize:!!d.start3DSize,startTurbulence:E,turbulence:n,speedOverLifetime:p.speedOverLifetime&&rR(p.speedOverLifetime),linearVelOverLifetime:A,orbitalVelOverLifetime:S,forceTarget:c},d.startRotationZ&&(this.options.startRotation=rR(d.startRotationZ||0)),(d.startRotationX||d.startRotationY)&&(this.options.start3DRotation=!0,this.options.startRotationX=rR(d.startRotationX||0),this.options.startRotationY=rR(d.startRotationY||0),this.options.startRotationZ=rR(d.startRotationZ||0)),d.start3DSize?(this.options.startSizeX=rR(d.startSizeX),this.options.startSizeY=rR(d.startSizeY)):(this.options.startSize=rR(d.startSize),this.options.sizeAspect=rR(d.sizeAspect||1));var L={meshSlots:d.meshSlots,name:this.name,matrix:eV.IDENTITY,shaderCachePrefix:"",renderMode:_.renderMode||th.BILLBOARD,side:_.side||tn.DOUBLE,gravity:g,blending:_.blending||ti.ALPHA,rotationOverLifetime:C,gravityModifier:this.options.gravityModifier,linearVelOverLifetime:this.options.linearVelOverLifetime,orbitalVelOverLifetime:this.options.orbitalVelOverLifetime,speedOverLifetime:this.options.speedOverLifetime,sprite:T,occlusion:!!_.occlusion,transparentOcclusion:!!_.transparentOcclusion,maxCount:d.maxCount,mask:_.mask,maskMode:null!=(h=_.maskMode)?h:to.NONE,forceTarget:c,diffuse:_.texture,sizeOverLifetime:O,anchor:M};if(R){var I=R.color,V=R.opacity;L.colorOverLifetime={},V&&(L.colorOverLifetime.opacity=rR(R.opacity)),I&&(I[0]===tv.GRADIENT_COLOR?L.colorOverLifetime.color=R.color[1]:I[0]===tv.RGBA_COLOR?L.colorOverLifetime.color=im.createWithData(this.engine,{data:new Uint8Array(I[1]),width:1,height:1}):tK(I,im)&&(L.colorOverLifetime.color=I))}var P=[],F=[0,0,1,1];if(t.splits){var z=t.splits[0];F=(f=z[4])?[z[0],z[1],z[3],z[2]]:[z[0],z[1],z[2],z[3]]}if(T&&!T.animate)for(var N=f?T.row:T.col,D=f?T.col:T.row,U=T.total||N*D,k=0,B=0;B<N;B++)for(var G=0;G<D&&k<U;G++,k++)P.push([B*F[2]/N+F[0],G*F[3]/D+F[1],F[2]/N,F[3]/D]);else P.push(F);this.uvs=P,L.textureFlip=f;var X=t.trails;X&&(this.trails={lifetime:rR(X.lifetime),dieWithParticles:!1!==X.dieWithParticles,sizeAffectsWidth:!!X.sizeAffectsWidth,sizeAffectsLifetime:!!X.sizeAffectsLifetime,inheritParticleColor:!!X.inheritParticleColor,parentAffectsPosition:!!X.parentAffectsPosition},m={name:"Trail",matrix:eV.IDENTITY,minimumVertexDistance:X.minimumVertexDistance||.02,maxTrailCount:d.maxCount,pointCountPerTrail:Math.round(X.maxPointPerTrail)||32,blending:X.blending,texture:X.texture,opacityOverLifetime:rR(X.opacityOverLifetime||1),widthOverTrail:rR(X.widthOverTrail||1),shaderCachePrefix:"",lifetime:this.trails.lifetime,occlusion:!!X.occlusion,transparentOcclusion:!!X.transparentOcclusion,textureMap:X.textureMap,mask:_.mask,maskMode:_.maskMode},X.colorOverLifetime&&X.colorOverLifetime[0]===tv.GRADIENT_COLOR&&(m.colorOverLifetime=X.colorOverLifetime[1]),X.colorOverTrail&&X.colorOverTrail[0]===tv.GRADIENT_COLOR&&(m.colorOverTrail=X.colorOverTrail[1])),this.renderer=new oT(this.engine,L,m),this.meshes=this.renderer.meshes;var H=t.interaction;H&&(this.interaction={multiple:H.multiple,radius:H.radius,behavior:H.behavior}),this.item.getHitTestParams=this.getHitTestParams,this.item._content=this,this.renderer.item=this.item,this.item.components.push(this.renderer),this.item.rendererComponents.push(this.renderer),this.item.getComponent(nL).createTrack(nT).createClip(oM)},eT(r,[{key:"timePassed",get:function(){return this.lastUpdate-this.loopStartTime}},{key:"lifetime",get:function(){return this.timePassed/this.item.duration}},{key:"particleCount",get:function(){return this.particleLink.length}}]),r}(eH),t.ParticleSystem=tJ([eG(tV.ParticleSystem)],t.ParticleSystem);var oE=new eL,o_=new eM,oC=new eP,ob=new eL,oA=new eL,oS=new eL,ow=new eP,oR=[0,0,0],oO=new eV,oM=function(e){function r(){return e.apply(this,arguments)}e_(r,e);var i=r.prototype;return i.onPlayablePlay=function(){this.particleSystem=this.bindingItem.getComponent(t.ParticleSystem),this.particleSystem&&(this.particleSystem.name=this.bindingItem.name,this.particleSystem.start(),this.particleSystem.initEmitterTransform())},i.processFrame=function(t){var e=this.particleSystem;e&&(e.setVisible(!0),e.onUpdate(t))},r}(ny),oL={uSprite:"vec4",uParams:"vec4",uAcceleration:"vec4",uGravityModifierValue:"vec4",uOpacityOverLifetimeValue:"vec4",uRXByLifeTimeValue:"vec4",uRYByLifeTimeValue:"vec4",uRZByLifeTimeValue:"vec4",uLinearXByLifetimeValue:"vec4",uLinearYByLifetimeValue:"vec4",uLinearZByLifetimeValue:"vec4",uSpeedLifetimeValue:"vec4",uOrbXByLifetimeValue:"vec4",uOrbYByLifetimeValue:"vec4",uOrbZByLifetimeValue:"vec4",uSizeByLifetimeValue:"vec4",uSizeYByLifetimeValue:"vec4",uColorParams:"vec4",uFSprite:"vec4",uPreviewColor:"vec4",uVCurveValues:"vec4Array",uFCurveValues:"vec4",uFinalTarget:"vec3",uForceCurve:"vec4",uOrbCenter:"vec3",uTexOffset:"vec2",uPeriodValue:"vec4",uMovementValue:"vec4",uStrengthValue:"vec4",uWaveParams:"vec4"},oI=function(){function e(e,r){this.particleCount=0;var i,n,o,a,s,u,c,l,h,f=(null!=(c=e.renderer)?c:{}).env,m=r.speedOverLifetime,d=r.colorOverLifetime,p=r.linearVelOverLifetime,v=r.orbitalVelOverLifetime,y=r.sizeOverLifetime,g=r.rotationOverLifetime,x=r.sprite,T=r.gravityModifier,E=r.maxCount,_=r.textureFlip,C=r.useSprite,b=r.name,A=r.gravity,S=r.forceTarget,w=r.side,R=r.occlusion,O=r.anchor,M=r.blending,L=r.maskMode,I=r.mask,V=r.transparentOcclusion,P=r.meshSlots,F=r.renderMode,z=void 0===F?0:F,N=r.diffuse,D=void 0===N?im.createWithData(e):N,U=e.gpuCapability.detail,k=U.halfFloatTexture,B=U.maxVertexUniforms,G=[["RENDER_MODE",+z],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",f===rY]],X=e.gpuCapability.level,H=rI(),Y=rI(),j=B>0,W={},Z=0,q=0;this.useSprite=C,j&&G.push(["ENABLE_VERTEX_TEXTURE",!0]),m&&(G.push(["SPEED_OVER_LIFETIME",!0]),q|=2,W.uSpeedLifetimeValue=m.toUniform(H)),(null==x?void 0:x.animate)&&(G.push(["USE_SPRITE",!0]),q|=4,W.uFSprite=W.uSprite=new Float32Array([x.col,x.row,x.total,x.blend?1:0]),this.useSprite=!0),(null==d?void 0:d.color)&&(G.push(["COLOR_OVER_LIFETIME",!0]),q|=16,W.uColorOverLifetime=tK(d.color,im)?d.color:im.createWithData(e,en(d.color))),(null==d?void 0:d.opacity)?W.uOpacityOverLifetimeValue=d.opacity.toUniform(H):W.uOpacityOverLifetimeValue=rR(1).toUniform(H),["x","y","z"].forEach(function(t,e){var r=0,i=0;(null==p?void 0:p[t])&&(W["uLinear"+t.toUpperCase()+"ByLifetimeValue"]=p[t].toUniform(H),r=1,q|=1<<7+e,p.enabled=!0),G.push(["LINEAR_VEL_"+t.toUpperCase(),r]),(null==v?void 0:v[t])&&(W["uOrb"+t.toUpperCase()+"ByLifetimeValue"]=v[t].toUniform(H),i=1,q|=1<<10+e,l=!0,v.enabled=!0),G.push(["ORB_VEL_"+t.toUpperCase(),i])}),(null==p?void 0:p.asMovement)&&(G.push(["AS_LINEAR_MOVEMENT",!0]),q|=32),l&&((null==v?void 0:v.asRotation)&&(G.push(["AS_ORBITAL_MOVEMENT",!0]),q|=64),W.uOrbCenter=new Float32Array((null==v?void 0:v.center)||[0,0,0])),W.uSizeByLifetimeValue=null==y?void 0:y.x.toUniform(H),(null==y?void 0:y.separateAxes)&&(G.push(["SIZE_Y_BY_LIFE",1]),q|=16384,W.uSizeYByLifetimeValue=null==y?void 0:null==(h=y.y)?void 0:h.toUniform(H)),(null==g?void 0:g.z)&&(W.uRZByLifeTimeValue=g.z.toUniform(H),q|=32768,G.push(["ROT_Z_LIFETIME",1])),(null==g?void 0:g.x)&&(W.uRXByLifeTimeValue=g.x.toUniform(H),q|=65536,G.push(["ROT_X_LIFETIME",1])),(null==g?void 0:g.y)&&(W.uRYByLifeTimeValue=g.y.toUniform(H),q|=131072,G.push(["ROT_Y_LIFETIME",1])),(null==g?void 0:g.asRotation)&&(G.push(["ROT_LIFETIME_AS_MOVEMENT",1]),q|=262144),W.uGravityModifierValue=T.toUniform(H),S&&(G.push(["FINAL_TARGET",!0]),q|=524288,W.uFinalTarget=new Float32Array(S.target||[0,0,0]),W.uForceCurve=S.curve.toUniform(H)),k&&Y.max?(q|=1048576,W.uFCurveValueTexture=id(e,ry.getAllData(Y,!0),Y.index,1)):W.uFCurveValues=ry.getAllData(Y);var K=H.max+H.curves.length-32>B;if(2===X&&(H.max=-1,H.index=P?P[0]:oP(H.index),Y.index>0&&(Y.max=-1,Y.index=P?P[1]:oP(Y.index))),K&&k&&j){var Q=id(e,ry.getAllData(H,!0),H.index,1);W.uVCurveValueTexture=Q,Z=1}else W.uVCurveValues=ry.getAllData(H);var J=["-p:",z,q,H.index,H.max,Y.index,Y.max].join("+");G.push(["VERT_CURVE_VALUE_COUNT",H.index],["FRAG_CURVE_VALUE_COUNT",Y.index],["VERT_MAX_KEY_FRAME_COUNT",H.max],["FRAG_MAX_KEY_FRAME_COUNT",Y.max]);var $={fragment:iX,vertex:"#define LOOKUP_TEXTURE_CURVE "+Z+"\n"+iH,glslVersion:1===X?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,shared:!0,cacheId:J,marcos:G,name:"particle#"+b},tt=rQ(M);W.uTexOffset=new Float32Array(D?[1/D.getWidth(),1/D.getHeight()]:[0,0]),W.uMaskTex=D,W.uColorParams=new Float32Array([D?1:0,+tt,0,+(!!R&&!V)]),W.uParams=[0,0,0,0],W.uAcceleration=[(null==A?void 0:A[0])||0,(null==A?void 0:A[1])||0,(null==A?void 0:A[2])||0,0];var te=iE.create(e,{shader:$,uniformSemantics:{effects_MatrixV:"VIEW",effects_MatrixVP:"VIEWPROJECTION",uEditorTransform:"EDITOR_TRANSFORM",effects_ObjectToWorld:"MODEL"}});te.blending=!0,te.depthTest=!0,te.depthMask=!!R,te.stencilRef=I?[I,I]:void 0,r2(te,L),r0(te,M),r1(te,w),Object.keys(W).map(function(t){var e=W[t];if(tK(e,im)){te.setTexture(t,e);return}var r=[];switch(oL[t]){case"vec4":te.setVector4(t,eq.fromArray(e));break;case"vec3":te.setVector3(t,eL.fromArray(e));break;case"vec2":te.setVector2(t,eM.fromArray(e));break;case"vec4Array":for(var i=0;i<e.length;i+=4){var n=new eq(e[i],e[i+1],e[i+2],e[i+3]);r.push(n)}te.setVector4Array(t,r),r.length=0;break;default:console.warn("uniform "+t+"'s type not in typeMap")}}),te.setVector3("emissionColor",new eL(0,0,0)),te.setFloat("emissionIntensity",0);var tr=iV.create(e,(i=4*E,n=this.useSprite,o="particle#"+b,u={aPos:{size:3,offset:0,stride:s=12*(a=Float32Array.BYTES_PER_ELEMENT),data:new Float32Array(0)},aVel:{size:3,offset:3*a,stride:s,dataSource:"aPos"},aDirX:{size:3,offset:6*a,stride:s,dataSource:"aPos"},aDirY:{size:3,offset:9*a,stride:s,dataSource:"aPos"},aRot:{size:3,offset:0,stride:8*a,data:new Float32Array(0)},aSeed:{size:1,offset:3*a,stride:8*a,dataSource:"aRot"},aColor:{size:4,offset:4*a,stride:8*a,dataSource:"aRot"},aOffset:{size:4,stride:4*a,data:new Float32Array(0)}},n&&(u.aSprite={size:3,stride:3*a,data:new Float32Array(0)}),{attributes:u,indices:{data:new Uint16Array(0)},name:o,maxVertex:i})),ti=iz.create(e,{name:"MParticle_"+b,material:te,geometry:tr});this.anchor=O,this.mesh=ti,this.geometry=ti.firstGeometry(),this.forceTarget=S,this.sizeOverLifetime=y,this.speedOverLifetime=m,this.linearVelOverLifetime=p,this.orbitalVelOverLifetime=v,this.orbitalVelOverLifetime=v,this.gravityModifier=T,this.maxCount=E,this.textureOffsets=_?[0,0,1,0,0,1,1,1]:[0,1,0,0,1,1,1,0],this.time=0}var r=e.prototype;return r.getPointColor=function(t){var e=this.geometry.getAttributeData("aRot"),r=32*t+4;return[e[r],e[r+1],e[r+2],e[r+3]]},r.getPointPosition=function(t){var e=this.geometry,r=48*t,i=e.getAttributeData("aPos"),n=e.getAttributeData("aOffset"),o=this.time-n[16*t+2],a=n[16*t+3],s=this.mesh.material,u=s.getVector4("uAcceleration").toVector3(),c=eL.fromArray(i,r),l=eL.fromArray(i,r+3),h=e6(new eL,this,u,o,a,c,l);if(this.forceTarget){var f=s.getVector3("uFinalTarget"),m=this.forceTarget.curve.getValue(o/a),d=1-m;h.x=h.x*d+f.x*m,h.y=h.y*d+f.y*m,h.z=h.z*d+f.z*m}return h},r.clearPoints=function(){this.resetGeometryData(this.geometry),this.particleCount=0,this.geometry.setDrawCount(0),this.maxParticleBufferCount=0},r.resetGeometryData=function(t){for(var e=t.getAttributeNames(),r=t.getIndexData(),i=0;i<e.length;i++){var n=e[i],o=t.getAttributeData(n);o&&t.setAttributeData(n,new o.constructor(0))}t.setIndexData(new r.constructor(0))},r.minusTime=function(t){for(var e=this.geometry.getAttributeData("aOffset"),r=0;r<e.length;r+=4)e[r+2]-=t;this.geometry.setAttributeData("aOffset",e),this.time-=t},r.removePoint=function(t){t<this.particleCount&&this.geometry.setAttributeSubData("aOffset",16*t,new Float32Array(16))},r.setPoint=function(t,e){var r=this.maxCount;if(t<r){var i,n=t+1,o=4*n,a=this.geometry,s=n>this.maxParticleBufferCount,u=1;this.particleCount>300?u=(this.particleCount+100)/this.particleCount:this.particleCount>100?u=1.4:this.particleCount>0&&(u=2);var c={aPos:new Float32Array(48),aRot:new Float32Array(32),aOffset:new Float32Array(16)},l=this.useSprite;l&&(c.aSprite=new Float32Array(12));var h=new eL,f=new eI,m=new eL(1,1,1);e.transform.assignWorldTRS(h,f,m);var d=rF.getRotation(f,new eP),p=h.toArray(),v=d.toArray(),y=this.textureOffsets,g=[0,0,e.delay,e.lifetime],x=[0,0,1,1],T=e.vel,E=e.color,_=[-.5,.5,-.5,-.5,.5,.5,.5,-.5],C=Math.random();l&&(i=e.sprite);for(var b=0;b<4;b++){var A=2*b,S=3*b,w=4*b,R=12*b,O=8*b;c.aPos.set(p,R),T.fill(c.aPos,R+3),c.aRot.set(v,O),c.aRot[O+3]=C,c.aRot.set(E,O+4),l&&c.aSprite.set(i,S);var M=e.uv||x;if(M){var L=l?1-y[A+1]:y[A+1];g[0]=M[0]+y[A]*M[2],g[1]=M[1]+L*M[3]}c.aOffset.set(g,w);for(var I=b+b,V=(_[I]-this.anchor.x)*m.x,P=(_[I+1]-this.anchor.y)*m.y,F=0;F<3;F++)c.aPos[R+6+F]=e.dirX.getElement(F)*V,c.aPos[R+9+F]=e.dirY.getElement(F)*P}var z=new Uint16Array([0,1,2,2,1,3].map(function(e){return e+4*t}));if(s){var N=t6(a.getIndexData(),6*n,u,6*r);N.set(z,6*t),a.setIndexData(N),this.maxParticleBufferCount=N.length/6}else a.setIndexSubData(6*t,z);Object.keys(c).forEach(function(e){var i=c[e],n=a.getAttributeStride(e)/Float32Array.BYTES_PER_ELEMENT;if(s){var l=t6(a.getAttributeData(e),o*n,u,4*r*n);l.set(i,i.length*t),a.setAttributeData(e,l)}else a.setAttributeSubData(e,i.length*t,i)}),this.particleCount=Math.max(n,this.particleCount),a.setDrawCount(6*this.particleCount)}},e}(),oV=[10,32,64,160];function oP(t){for(var e=0;e<oV.length;e++){var r=oV[e];if(r>t)return r}return t||oV[0]}function oF(t,e,r){void 0===e&&(e="");var i,n,o,a=t.content,s=+((null==(i=a.renderer)?void 0:i.renderMode)||0),u=[["RENDER_MODE",s],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",e===rY]],c=r.level,l=r.detail,h=rI(),f=rI(),m=l.maxVertexUniforms>0,d=(null!=(n=a.positionOverLifetime)?n:{}).speedOverLifetime,p=0,v=0;m&&u.push(["ENABLE_VERTEX_TEXTURE",!0]),d&&(u.push(["SPEED_OVER_LIFETIME",!0]),v|=2,rL(h,d));var y=a.textureSheetAnimation;y&&y.animate&&(u.push(["USE_SPRITE",!0]),v|=4);var g=a.colorOverLifetime;g&&g.color&&(u.push(["COLOR_OVER_LIFETIME",!0]),v|=16);var x=g&&g.opacity;x&&rL(h,x);var T=a.positionOverLifetime;if(["x","y","z"].forEach(function(t,e){var r=0,i="linear"+t.toUpperCase(),n="orbital"+t.toUpperCase();(null==T?void 0:T[i])&&(rL(h,T[i]),r=1,v|=1<<7+e),u.push(["LINEAR_VEL_"+t.toUpperCase(),r]);var a=0;(null==T?void 0:T[n])&&(rL(h,T[n]),a=1,v|=1<<10+e,o=!0),u.push(["ORB_VEL_"+t.toUpperCase(),a])}),(null==T?void 0:T.asMovement)&&(u.push(["AS_LINEAR_MOVEMENT",!0]),v|=32),o&&(null==T?void 0:T.asRotation)&&(u.push(["AS_ORBITAL_MOVEMENT",!0]),v|=64),a.sizeOverLifetime){var E=a.sizeOverLifetime;E.separateAxes?(rL(h,E.x),u.push(["SIZE_Y_BY_LIFE",1]),v|=16384,rL(h,E.y)):rL(h,E.size)}if(a.rotationOverLifetime){var _=a.rotationOverLifetime;_.z&&(rL(h,null==_?void 0:_.z),v|=32768,u.push(["ROT_Z_LIFETIME",1])),_.separateAxes&&(_.x&&(rL(h,_.x),v|=65536,u.push(["ROT_X_LIFETIME",1])),_.y&&(rL(h,_.y),v|=131072,u.push(["ROT_Y_LIFETIME",1]))),(null==_?void 0:_.asRotation)&&(u.push(["ROT_LIFETIME_AS_MOVEMENT",1]),v|=262144)}rL(h,null==T?void 0:T.gravityOverLifetime),(null==T?void 0:T.forceTarget)&&(u.push(["FINAL_TARGET",!0]),v|=524288,rL(h,T.forceCurve));var C=l.halfFloatTexture;C&&f.max&&(v|=1048576);var b=l.maxVertexUniforms,A=h.max+h.curves.length-32>b;nD[nz]&&(A=!0),2===c&&(h.max=-1,f.index>0&&(f.max=-1)),A&&C&&m&&(p=1);var S={fragment:iX,vertex:"#define LOOKUP_TEXTURE_CURVE "+p+"\n"+iH,shared:!0,cacheId:["-p:",s,v,h.index,h.max,f.index,f.max].join("+"),marcos:u,name:"particle#"+t.name};return u.push(["VERT_CURVE_VALUE_COUNT",h.index],["FRAG_CURVE_VALUE_COUNT",f.index],["VERT_MAX_KEY_FRAME_COUNT",h.max],["FRAG_MAX_KEY_FRAME_COUNT",f.max]),{shader:S,vertex:h.index,fragment:f.index}}function oz(t,e,r){var i,n=null==(i=t.cacheId)?void 0:i.split("+");if(n[3]=e,n[5]=r,t.cacheId=n.join("+"),t.marcos)for(var o=0;o<t.marcos.length;o++){var a=t.marcos[o];if("VERT_CURVE_VALUE_COUNT"===a[0])a[1]=e;else if("FRAG_CURVE_VALUE_COUNT"===a[0]){a[1]=r;break}}}var oN=function(e){function r(){return e.apply(this,arguments)}return e_(r,e),r.precompile=function(e,r,i){var n=r.engine.gpuCapability,o=n.level,a=(null!=i?i:{}).env,s=r.getShaderLibrary(),u=[],c=[],l=0,h=0;return e.forEach(function(e){e.items.forEach(function(e){t.Item.isParticle(e)&&u.push(e)})}),u.forEach(function(e){var r=oF(e,a,n),i=r.shader,u=r.fragment,f=r.vertex;if(c.push(i),l=Math.max(l,u),h=Math.max(h,f),e.content.trails){var m,d,p,v,y,g,x,T,E,_,C=(m=e.content.trails,d=e.content.options.maxCount,p=e.name,void 0===(v=a)&&(v=""),y=0,g=nD[nz]?1:0,x=[["ENABLE_VERTEX_TEXTURE",n.detail.maxVertexTextures>0],["LOOKUP_TEXTURE_CURVE",g],["ENV_EDITOR",v===rY]],T=rI(),m.colorOverLifetime&&(x.push(["COLOR_OVER_LIFETIME",!0]),y|=1),m.colorOverTrail&&(x.push(["COLOR_OVER_TRAIL",!0]),y|=4),d>64&&(x.push(["ATTR_TRAIL_START",1]),y|=8),rL(T,m.opacityOverLifetime),rL(T,m.widthOverTrail),x.push(["VERT_CURVE_VALUE_COUNT",T.index],["VERT_MAX_KEY_FRAME_COUNT",T.max]),{vertex:iY,fragment:iX,marcos:x,shared:!0,name:"trail#"+p,cacheId:"-t:+"+y+"+"+T.index+"+"+T.max});C.vertex=r$(null!=(E=C.marcos)?E:[],C.vertex,t.ShaderType.vertex,o),C.fragment=r$(null!=(_=C.marcos)?_:[],C.fragment,t.ShaderType.fragment,o),C.glslVersion=2===o?t.GLSLVersion.GLSL3:t.GLSLVersion.GLSL1,s.addShader(C)}}),c.forEach(function(e){var r,i;2===o?(oz(e,h,l),e.glslVersion=t.GLSLVersion.GLSL3):e.glslVersion=t.GLSLVersion.GLSL1,e.vertex=r$(null!=(r=e.marcos)?r:[],e.vertex,t.ShaderType.vertex,o),e.fragment=r$(null!=(i=e.marcos)?i:[],e.fragment,t.ShaderType.fragment,o),s.addShader(e)}),2===o&&u.forEach(function(t){t.content.options.meshSlots=[h,l]}),Promise.resolve()},r}(eZ),oD=function(t){function e(){return t.apply(this,arguments)}return e_(e,t),e}(eZ);function oU(t,e){return e&&("object"===tQ(e)||"function"==typeof e)?e:n_(t)}var ok=function(){function t(t){this.width=0,this.height=0;var e=t.textHeight,r=t.textWidth,i=t.textOverflow,n=void 0===i?tR.display:i,o=t.textBaseline,a=void 0===o?tO.top:o,s=t.textAlign,u=void 0===s?tM.left:s,c=t.text,l=t.letterSpace,h=void 0===l?0:l,f=t.autoWidth,m=t.fontSize,d=t.lineHeight;this.autoWidth=void 0!==f&&f,this.maxTextWidth=c.length*(m+h),this.width=void 0===r?100:r,this.height=void 0===e?100:e,this.letterSpace=h,this.overFlow=n,this.textBaseline=a,this.textAlign=u,this.lineHeight=void 0===d?m:d}var e=t.prototype;return e.getOffsetY=function(t){var e=0,r=(t.fontSize+t.outlineWidth)*t.fontScale;switch(this.textBaseline){case tO.top:e=r;break;case tO.middle:e=(this.height+r)/2;break;case tO.bottom:e=this.height-r/2}return e},e.getOffsetX=function(t,e){var r=0;switch(this.textAlign){case tM.left:r=t.outlineWidth*t.fontScale;break;case tM.middle:r=(this.width*t.fontScale-e)/2;break;case tM.right:r=this.width*t.fontScale-e}return r},e.setSize=function(t,e){this.width=t,this.height=e},t}(),oB=function(t){this.isUnderline=!1,this.underlineHeight=1,this.isOutlined=!1,this.outlineWidth=0,this.hasShadow=!1,this.fontDesc="",this.fontScale=2,this.fontOffset=0;var e,r,i,n,o,a,s=t.textColor,u=t.fontSize,c=t.outline,l=t.shadow,h=t.fontWeight,f=t.fontStyle,m=t.fontFamily;this.textColor=void 0===s?[1,1,1,1]:s,this.textWeight=void 0===h?"normal":h,this.fontStyle=void 0===f?"normal":f,this.fontFamily=void 0===m?"sans-serif":m,this.fontSize=void 0===u?40:u,c&&(this.isOutlined=!0,this.outlineColor=null!=(e=c.outlineColor)?e:[1,1,1,1],this.outlineWidth=null!=(r=c.outlineWidth)?r:1,this.fontOffset+=this.outlineWidth),l&&(this.hasShadow=!0,this.shadowBlur=null!=(i=l.shadowBlur)?i:2,this.shadowColor=null!=(n=l.shadowColor)?n:[0,0,0,1],this.shadowOffsetX=null!=(o=l.shadowOffsetX)?o:0,this.shadowOffsetY=null!=(a=l.shadowOffsetY)?a:0),this.fontStyle!==tI.normal&&(this.fontOffset+=this.fontSize*Math.tan(.20943951))},oG=new(function(){function t(){this.elements=[]}var e=t.prototype;return e.dispose=function(){this.elements.forEach(function(t){return t.remove()}),this.elements.length=0},e.getCanvas=function(){if(0!==this.elements.length)return this.elements.shift();if(nD[nN])return window._createOffscreenCanvas(10,10);var t=document.createElement("canvas");return t.getContext("2d",{willReadFrequently:!0}),t},e.saveCanvas=function(t){t.width=1,t.height=1,this.elements.length<3?t4(this.elements,t):t.remove()},t}()),oX=["serif","sans-serif","monospace","courier"];t.TextComponent=function(t){function e(e,r){if((i=t.call(this,e,r)||this).isDirty=!0,i.canvas=oG.getCanvas(),oG.saveCanvas(i.canvas),i.context=i.canvas.getContext("2d",{willReadFrequently:!0}),!r)return oU(i);var i,n=r.options;return i.textStyle=new oB(n),i.textLayout=new ok(n),i.text=n.text,i.updateTexture(),i}e_(e,t);var r=e.prototype;return r.setFontSize=function(t){if(this.textStyle.fontSize!==t){var e=this.textStyle.fontSize-t;this.textLayout.lineHeight+=e,this.textStyle.fontSize=t,this.isDirty=!0}},r.setFontWeight=function(t){this.textStyle.textWeight!==t&&(this.textStyle.textWeight=t,this.isDirty=!0)},r.setFontStyle=function(t){this.textStyle.fontStyle!==t&&(this.textStyle.fontStyle=t,this.isDirty=!0)},r.setText=function(t){this.text!==t&&(this.text=t,this.isDirty=!0)},r.setTextAlign=function(t){this.textLayout.textAlign!==t&&(this.textLayout.textAlign=t,this.isDirty=!0)},r.setTextBaseline=function(t){this.textLayout.textBaseline!==t&&(this.textLayout.textBaseline=t,this.isDirty=!0)},r.setTextColor=function(t){this.textStyle.textColor!==t&&(this.textStyle.textColor=t,this.isDirty=!0)},r.setFontFamily=function(t){this.textStyle.fontFamily!==t&&(this.textStyle.fontFamily=t,this.isDirty=!0)},r.setOutlineColor=function(t){this.textStyle.outlineColor!==t&&(this.textStyle.outlineColor=t,this.isDirty=!0)},r.setOutlineWidth=function(t){this.textStyle.outlineWidth!==t&&(this.textStyle.outlineWidth=t,this.isDirty=!0)},r.setShadowBlur=function(t){this.textStyle.shadowBlur!==t&&(this.textStyle.shadowBlur=t,this.isDirty=!0)},r.setShadowColor=function(t){this.textStyle.shadowColor!==t&&(this.textStyle.shadowColor=t,this.isDirty=!0)},r.setShadowOffsetX=function(t){this.textStyle.shadowOffsetX!==t&&(this.textStyle.shadowOffsetX=t,this.isDirty=!0)},r.setShadowOffsetY=function(t){this.textStyle.shadowOffsetY!==t&&(this.textStyle.shadowOffsetY=t,this.isDirty=!0)},r.setFontScale=function(t){this.textStyle.fontScale!==t&&(this.textStyle.fontScale=t,this.isDirty=!0)},r.update=function(e){t.prototype.update.call(this,e),this.updateTexture()},r.updateTexture=function(){if(this.isDirty&&this.context&&this.canvas){var t=this.context,e=this.textStyle,r=this.textLayout,i=e.fontScale,n=(r.width+e.fontOffset)*i,o=r.height*i,a=e.fontSize*i,s=r.lineHeight*i;this.char=(this.text||"").split(""),this.canvas.width=n,this.canvas.height=o,t.clearRect(0,0,n,this.canvas.height),t.fillStyle="rgba(255, 255, 255, 0.0039)",t.fillRect(0,0,n,this.canvas.height),e.fontDesc=this.getFontDesc(),t.font=e.fontDesc,e.hasShadow&&this.setupShadow(),e.isOutlined&&this.setupOutline(),t.fillStyle="rgba("+e.textColor[0]+", "+e.textColor[1]+", "+e.textColor[2]+", "+e.textColor[3]+")";for(var u=[],c=0,l=r.getOffsetY(e)+(s-a)/3,h=[],f=[],m=0;m<this.char.length;m++){var d=this.char[m],p=t.measureText(d);((c+=r.letterSpace*i)+p.width>n&&m>0||"\n"===d)&&(u.push({y:l,width:c,chars:h,charOffsetX:f}),c=0,l+=s,h=[],f=[]),"\n"!==d&&(h.push(d),f.push(c),c+=p.width)}u.push({y:l,width:c,chars:h,charOffsetX:f}),u.forEach(function(i){var n=r.getOffsetX(e,i.width);i.chars.forEach(function(r,o){e.isOutlined&&t.strokeText(r,n+i.charOffsetX[o],i.y),t.fillText(r,n+i.charOffsetX[o],i.y)})}),e.hasShadow&&(t.shadowColor="transparent");var v=t.getImageData(0,0,this.canvas.width,this.canvas.height);this.material.setTexture("uSampler0",im.createWithData(this.engine,{data:new Uint8Array(v.data),width:v.width,height:v.height},{flipY:!0,magFilter:rZ.LINEAR,minFilter:rZ.LINEAR,wrapS:rZ.CLAMP_TO_EDGE,wrapT:rZ.CLAMP_TO_EDGE})),this.isDirty=!1}},r.fromData=function(e){t.prototype.fromData.call(this,e);var r=e.options;this.textStyle=new oB(r),this.textLayout=new ok(r),this.text=r.text,this.updateTexture()},r.getFontDesc=function(){var t=this.textStyle,e=""+(t.fontSize*t.fontScale).toString()+"px ";return oX.includes(t.fontFamily)?e+=t.fontFamily:e+='"'+t.fontFamily+'"',t.textWeight!==tL.normal&&(e=t.textWeight+" "+e),t.fontStyle!==tI.normal&&(e=t.fontStyle+" "+e),e},r.setupOutline=function(){var t=this.context,e=this.textStyle;t.strokeStyle="rgba("+255*e.outlineColor[0]+", "+255*e.outlineColor[1]+", "+255*e.outlineColor[2]+", "+e.outlineColor[3]+")",t.lineWidth=2*e.outlineWidth},r.setupShadow=function(){var t=this.context,e=this.textStyle;t.shadowColor="rgba("+255*e.shadowColor[0]+", "+255*e.shadowColor[1]+", "+255*e.shadowColor[2]+", "+e.shadowColor[3]+")",t.shadowBlur=e.shadowBlur,t.shadowOffsetX=e.shadowOffsetX,t.shadowOffsetY=-e.shadowOffsetY},e}(t.SpriteComponent),t.TextComponent=tJ([eG(tV.TextComponent)],t.TextComponent);var oH=function(t){function e(){return t.apply(this,arguments)}return e_(e,t),e}(eZ),oY=1;function oj(t,e){var r=t.type,i=t.pluginName;if(!i)switch(r){case tl.null:i="cal";break;case tl.sprite:i="sprite";break;case tl.particle:i="particle";break;case tl.interact:i="interact";break;case tl.camera:i="camera";break;case tl.text:i="text";break;case tl.tree:i="tree";break;default:throw Error("invalid vfx item type")}return e.pluginSystem.createPluginItem(i,t,e)}t.EffectComponent=function(e){function r(t){var r;return(r=e.call(this,t)||this).worldMatrix=eV.fromIdentity(),r.triangles=[],r.destroyed=!1,r.visible=!1,r.getHitTestParams=function(t){var e=r.getBoundingBox();if(e)return{type:e.type,triangles:e.area}},r.id="Mesh"+oY++,r.name="<unnamed>",r._priority=0,r}e_(r,e);var i=r.prototype;return i.setVisible=function(t){this.visible=t},i.start=function(){this.item.getHitTestParams=this.getHitTestParams},i.render=function(t){t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),t.drawGeometry(this.geometry,this.material)},i.getVisible=function(){return this.visible},i.firstGeometry=function(){return this.geometry},i.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e},i.getBoundingBox=function(){var e=this.transform.getWorldMatrix();this.hitTestGeometry!==this.geometry&&(this.triangles=function(t){for(var e=t.getIndexData(),r=t.getAttributeData("aPos"),i=[],n=0;n<e.length;n+=3){var o=3*e[n],a=3*e[n+1],s=3*e[n+2],u={x:r[o],y:r[o+1],z:r[o+2]},c={x:r[a],y:r[a+1],z:r[a+2]},l={x:r[s],y:r[s+1],z:r[s+2]};i.push({p0:u,p1:c,p2:l})}return i}(this.geometry),this.hitTestGeometry=this.geometry);for(var r,i=[],n=eb(this.triangles);!(r=n()).done;){var o=r.value;i.push({p0:o.p0,p1:o.p1,p2:o.p2})}return i.forEach(function(t){t.p0=e.transformPoint(t.p0,new eL),t.p1=e.transformPoint(t.p1,new eL),t.p2=e.transformPoint(t.p2,new eL)}),{type:t.HitTestType.triangle,area:i}},i.fromData=function(t){e.prototype.fromData.call(this,t),this.material=this.materials[0]},i.toData=function(){this.taggedProperties.id=this.guid},i.dispose=function(t){this.destroyed||(this.destroyed=!0,e.prototype.dispose.call(this))},eT(r,[{key:"isDestroyed",get:function(){return this.destroyed}}]),r}(eW),tJ([eB()],t.EffectComponent.prototype,"geometry",void 0),t.EffectComponent=tJ([eG(tV.EffectComponent)],t.EffectComponent),t.VFXItem=function(e){function r(t,r){var i;return(i=e.call(this,t)||this).children=[],i.transform=new rF,i.duration=0,i.start=0,i.ended=!1,i.delaying=!0,i.type=tl.base,i.stopped=!1,i.components=[],i.itemBehaviours=[],i.rendererComponents=[],i.visible=!0,i._contentVisible=!1,i.speed=1,i.name="VFXItem",i.transform.name=i.name,i.transform.engine=t,i.addComponent(nL),r&&i.fromData(r),i}e_(r,e);var i=r.prototype;return i.setSpeed=function(t){this.speed=t},i.getSpeed=function(){return this.speed},i.addComponent=function(t){var e=new t(this.engine);return e.item=this,this.components.push(e),e.onAttached(),e},i.getComponent=function(t){for(var e,r,i=eb(this.components);!(r=i()).done;){var n=r.value;if(tK(n,t)){e=n;break}}return e},i.getComponents=function(t){for(var e,r=[],i=eb(this.components);!(e=i()).done;){var n=e.value;tK(n,t)&&r.push(n)}return r},i.setParent=function(t){t!==this&&(this.parent&&t5(this.parent.children,this),this.parent=t,t&&(r.isCamera(this)||(this.transform.parentTransform=t.transform),t.children.push(this),this.composition||(this.composition=t.composition)))},i.stop=function(){this.stopped=!0},i.onEnd=function(){},i.setColor=function(t,e,r,i){},i.setOpacity=function(t){},i.getVisible=function(){return this.visible},i.setVisible=function(t){this.visible!==t&&(this.visible=!!t)},i.getWorldTransform=function(t){var e=null!=t?t:new rF({valid:!0});return e.cloneFromMatrix(this.transform.getWorldMatrix()),e},i.getNodeTransform=function(t){for(var e=0;e<this.components.length;e++){var r=this.components[1];if(r.getNodeTransform)return r.getNodeTransform(t)}return this.transform},i.translate=function(t,e,r){this.transform.translate(t,e,r)},i.rotate=function(t,e,r){var i=new eP(t,e,r),n=eI.fromEuler(i);n.conjugate(),this.transform.rotateByQuat(n)},i.scale=function(t,e,r){this.transform.scaleBy(t,e,r)},i.setPositionByPixel=function(t,e){if(this.composition){var r=this.transform.getWorldPosition().z,i=this.composition.camera.getInverseVPRatio(r),n=i.x,o=i.y,a=this.composition.renderer.getWidth()/2,s=this.composition.renderer.getHeight()/2;this.transform.setPosition(2*t*n/a,-2*e*o/s,r)}},i.setPosition=function(t,e,r){this.transform.setPosition(t,e,r)},i.setRotation=function(t,e,r){this.transform.setRotation(t,e,r)},i.setScale=function(t,e,r){this.transform.setScale(t,e,r)},i.getBoundingBox=function(){},i.getHitTestParams=function(t){},i.getCurrentPosition=function(){var t=new eL;return this.transform.assignWorldTRS(t),t},i.isEnded=function(t){return t-this.duration>.001},i.find=function(t){if(this.name===t)return this;for(var e,r=eb(this.children);!(e=r()).done;){var i=e.value;if(i.name===t)return i}for(var n,o=eb(this.children);!(n=o()).done;){var a=n.value.find(t);if(a)return a}},i.fromData=function(t){e.prototype.fromData.call(this,t);var r=t.id,i=t.name,n=t.delay,o=t.parentId,a=t.endBehavior,s=t.transform,u=t.listIndex,c=t.duration,l=void 0===c?0:c;if(this.props=t,this.type=t.type,this.id=r.toString(),this.name=i,this.start=n||this.start,s&&(s.position=new eL().copyFrom(s.position),s.quat?s.quat=new eI(s.quat.x,s.quat.y,s.quat.z,s.quat.w):s.rotation=new eP().copyFrom(null!=(h=s.eulerHint)?h:s.rotation),s.scale=new eL().copyFrom(s.scale),s.size&&(s.size=new eM().copyFrom(s.size)),s.anchor&&(s.anchor=new eM().copyFrom(s.anchor)),this.transform.setTransform(s)),this.transform.name=this.name,this.transform.engine=this.engine,this.parentId=o,this.duration=l,this.endBehavior=a,this.lifetime=-(this.start/this.duration),this.listIndex=void 0===u?0:u,this.oldId=t.oldId,t.content||(t.content={options:{}}),this.getComponent(nL).fromData(t.content),l<=0)throw Error("Item duration can't be less than 0, see "+rj["Item duration can't be less than 0"]);if(t.components)for(var h,f,m=eb(t.components);!(f=m()).done;){var d=f.value;this.components.push(d),tK(d,eW)?this.rendererComponents.push(d):tK(d,ej)&&this.itemBehaviours.push(d)}},i.toData=function(){if(this.taggedProperties.id=this.guid,this.taggedProperties.transform=this.transform.toData(),this.taggedProperties.dataType=tV.VFXItemData,(null==(e=this.parent)?void 0:e.name)!=="rootItem"&&(this.taggedProperties.parentId=null==(r=this.parent)?void 0:r.guid),!this.taggedProperties.components){this.taggedProperties.components=[];for(var e,r,i,n=eb(this.components);!(i=n()).done;){var o=i.value;tK(o,t.EffectComponent)&&this.taggedProperties.components.push(o)}}this.taggedProperties.content={}},i.translateByPixel=function(t,e){if(this.composition){var r=this.composition.renderer.canvas.getBoundingClientRect(),i=r.width,n=r.height,o=this.transform.getWorldPosition().z,a=this.composition.camera.getInverseVPRatio(o),s=a.x,u=a.y;this.transform.translate(2*t*s/i,-2*e*u/n,0)}},i.dispose=function(){if(this.resetChildrenParent(),this.composition){this.composition.destroyItem(this);for(var t,e=eb(this.components.slice());!(t=e()).done;)t.value.dispose();this.components=[],this._content=void 0,this.composition=null,this._contentVisible=!1,this.transform.setValid(!1)}},i.resetChildrenParent=function(){for(var t,e,r=eb(this.children);!(e=r()).done;){var i=e.value;this.parent&&i.setParent(this.parent)}this.parent&&t5(null==(t=this.parent)?void 0:t.children,this)},r.isComposition=function(t){return t.type===tl.composition},r.isSprite=function(t){return t.type===tl.sprite},r.isParticle=function(t){return t.type===tl.particle},r.isNull=function(t){return t.type===tl.null},r.isTree=function(t){return t.type===tl.tree},r.isCamera=function(t){return t.type===tl.camera},r.isExtraCamera=function(t){return"extra-camera"===t.id&&"extra-camera"===t.name},eT(r,[{key:"content",get:function(){return this._content}},{key:"reusable",get:function(){var t,e;return null!=(e=null==(t=this.composition)?void 0:t.reusable)&&e}},{key:"lifetimeStarted",get:function(){return!this.delaying}}]),r}(eX),t.VFXItem=tJ([eG(tV.VFXItemData)],t.VFXItem),t.Item=void 0,(J=t.Item||(t.Item={})).is=function(t,e){return t.type===e},J.isComposition=function(t){return t.type===tl.composition},J.isParticle=function(t){return t.type===tl.particle},J.isNull=function(t){return t.type===tl.null};var oW={},oZ=[],oq={};function oK(t,e,r,i){oq[t]=r,oW[t]=e,i&&t4(oZ,t)}var oQ=function(){function e(t){var e={},r=[],i=function(t){var i=oW[t];r.includes(i)||(r.push(i),e[t]=i)};oZ.forEach(i),t.forEach(i),this.plugins=Object.keys(e).map(function(t){var e,r=oW[t];if(!r)throw Error("plugin '"+t+"' not found."+((e=oJ[t])?"\nInstall Plugin: npm i "+e+"@latest --save\nImport Plugin: import '"+e+"'":""));var i=new r;return i.name=t,i}).sort(function(t,e){return t.order-e.order})}var r=e.prototype;return r.initializeComposition=function(t,e){this.plugins.forEach(function(r){return r.onCompositionConstructed(t,e)})},r.destroyComposition=function(t){this.plugins.forEach(function(e){return e.onCompositionDestroyed(t)})},r.resetComposition=function(t,e){this.plugins.forEach(function(r){return r.onCompositionReset(t,e)})},r.createPluginItem=function(e,r,i){var n=oq[e];if(!n)throw Error("plugin "+e+" no registered constructor");var o=new n(i.getEngine(),r,i);if(o.composition=i,!tK(o,t.VFXItem))throw Error("plugin "+e+" invalid constructor type");return o},r.processRawJSON=function(t,e){var r=this;return tq(function(){return t$(this,function(i){return[2,r.callStatic("processRawJSON",t,e)]})})()},r.callStatic=function(t){for(var e=arguments.length,r=Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];var n=this;return tq(function(){var e,i,o,a,s,u;return t$(this,function(c){for(o=0,e=[],i=n.plugins;o<i.length;o++)t in(a=oW[i[o].name])&&e.push(Promise.resolve(null==(u=a[t])?void 0:(s=u).call.apply(s,[].concat([a],r))));return[2,Promise.all(e)]})})()},r.precompile=function(t,e,r){var i=this;return tq(function(){return t$(this,function(n){return[2,i.callStatic("precompile",t,e,r)]})})()},r.loadResources=function(t,e){var r=this;return tq(function(){return t$(this,function(i){return[2,r.callStatic("prepareResource",t,e)]})})()},e}(),oJ={"alipay-downgrade":"@galacean/effects-plugin-alipay-downgrade","editor-gizmo":"@galacean/effects-plugin-editor-gizmo",tree:"@galacean/effects-plugin-model",model:"@galacean/effects-plugin-model","orientation-transformer":"@galacean/effects-plugin-orientation-transformer",spine:"@galacean/effects-plugin-spine"};function o$(t,e){if(!t.includes(e))return t.push(e),!0}function o0(t){if(Number.isFinite(t))return[tv.CONSTANT,t];if(t){var e=t[0],r=t[1];if(Array.isArray(e))return;if("static"===e||e===tv.CONSTANT)return[tv.CONSTANT,t[1]];if("lines"===e)return[tv.LINE,t[1]];if(e===tv.LINE){var i=r.map(function(t){return[ty.LINE,t]});return[tv.BEZIER_CURVE,i]}return"curve"===e||e===tv.CURVE?[tv.BEZIER_CURVE,as(r)]:t}}function o1(t,e){return Array.isArray(t)&&"random"===t[0]?[tv.CONSTANT,t[1][e]]:o0(t)}function o2(t){return t&&"color"===t[0]?o5(t[1],!0):[1,1,1,1]}function o3(t){return t&&"random"===t[0]?[tv.RANDOM,t[1]]:o0(t)}function o4(t,e){if(t){var r=[];return Object.getOwnPropertyNames(t).forEach(function(i){var n,o=(n=/^(-)?([\d+.]+)%$/.exec(i))?+n[2]/100*(n[1]?-1:1):+i,a=o5(t[i],e);r.push([o,a[0],a[1],a[2],a[3]])}),r=r.sort(function(t,e){return t[0]-e[0]}),[tv.GRADIENT_COLOR,r]}}function o5(t,e){var r;if("string"==typeof t){t=t.replace(/[\s\t\r\n]/g,"");var i=/rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(t);if(i){var n=+i[4];r=[+i[1],+i[2],+i[3],isNaN(n)?255:Math.round(255*n)]}else/^#[a-f\d]{3}$/i.test(t)?r=[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),255]:(i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t))&&(r=[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16),255])}else tK(t,Array)&&(r=[t[0],t[1],t[2],isNaN(t[3])?255:Math.round(255*t[3])]);return e&&(r=o6(r)),r}function o6(t){if(Array.isArray(t))return t.map(function(t){return Number.isFinite(t/255)?Number((t/255).toFixed(6)):0})}function o8(t,e){return Array.isArray(t)?t[0]===tv.GRADIENT_COLOR?t:("gradient"===t[0]||"color"===t[0])&&o4(t[1],e):o4(t,e)}function o9(t){if(t){if(3===t.length)return[tv.CONSTANT_VEC3,t];var e=t[0];if("path"===e||"bezier"===e||e===tv.BEZIER_PATH||e===tv.LINEAR_PATH){var r=t[1],i=r[0],n=r[1],o=r[2],a=as(i);if(!o){o=[];for(var s=0;s<n.length;s++){var u=n[s].slice();0===s||s<n.length-1&&o.push(u),o.push(u)}}return[tv.BEZIER_CURVE_PATH,[a,n,o]]}return t}}function o7(t){for(var e,r=eb(Object.keys(t));!(e=r()).done;){var i=e.value;t[i]=Number(t[i])}return t}function at(t){for(var e,r=eb(Object.keys(t));!(e=r()).done;){var i=e.value;void 0===t[i]&&delete t[i]}return t}var ae=Math.cos,ar=Math.sin,ai=Math.PI/180,an=180/Math.PI;function ao(t,e){return t?[t[0]-.5,.5-t[1]]:e?aa[e]:[0,0]}var aa=((tB={})[tf.PARTICLE_ORIGIN_CENTER]=[0,0],tB[tf.PARTICLE_ORIGIN_CENTER_BOTTOM]=[0,-.5],tB[tf.PARTICLE_ORIGIN_CENTER_TOP]=[0,.5],tB[tf.PARTICLE_ORIGIN_LEFT_TOP]=[-.5,.5],tB[tf.PARTICLE_ORIGIN_LEFT_CENTER]=[-.5,0],tB[tf.PARTICLE_ORIGIN_LEFT_BOTTOM]=[-.5,-.5],tB[tf.PARTICLE_ORIGIN_RIGHT_CENTER]=[.5,0],tB[tf.PARTICLE_ORIGIN_RIGHT_BOTTOM]=[.5,-.5],tB[tf.PARTICLE_ORIGIN_RIGHT_TOP]=[.5,.5],tB);function as(t){for(var e=-1e6,r=1e6,i=0;i<t.length;i++)e=Math.max(e,t[i][1]),r=Math.min(r,t[i][1]);for(var n=[[t[0][0],t[0][1]]],o=0;o<t.length-1;o++){var a=t[o][3]*(e-r),s=t[o+1][2]*(e-r),u=[t[o][0],t[o][1]],c=[t[o+1][0],t[o+1][1]];if(u[0]!=c[0]){var l=function(t,e,r,i){var n=r[0],o=r[1],a=i[0],s=i[1],u=a-n;return[[n+(a-n)/3,o+(t*=u)/3],[a-(a-n)/3,s-(e*=u)/3]]}(a,s,u,c),h=l[0],f=l[1];n[n.length-1].push(h[0]),n[n.length-1].push(h[1]),n.push([f[0],f[1],c[0],c[1]])}else n[n.length-1].push(c[0]),n[n.length-1].push(c[1])}return n.map(function(t,e){return 0===e?[ty.EASE_OUT,t]:e===n.length-1?[ty.EASE_IN,t]:[ty.EASE,t]})}function au(t,e){var r,i=t.options,n=t.velocityOverLifetime||{},o={path:o9(null==(r=t.transform)?void 0:r.path),gravity:i.gravity,gravityOverLifetime:o0(i.gravityModifier),direction:i.direction,startSpeed:i.startSpeed,asMovement:n.asMovement,linearX:o0(n.linearX),linearY:o0(n.linearY),linearZ:o0(n.linearZ),asRotation:n.asRotation,orbCenter:n.orbCenter,orbitalX:o0(n.orbitalX),orbitalY:o0(n.orbitalY),orbitalZ:o0(n.orbitalZ),speedOverLifetime:o0(n.speedOverLifetime)};at(o);var a={options:{startColor:o2(i.startColor)},positionOverLifetime:o};i.startSize&&(e.scale=[i.startSize,i.startSize/(i.sizeAspect||1),1]),i.startRotation&&(e.rotation?e.rotation[2]+=i.startRotation:e.rotation=[0,0,i.startRotation]);var s=t.rotationOverLifetime;if(s){var u=a.rotationOverLifetime={separateAxes:s.separateAxes,asRotation:s.asRotation};u.separateAxes?(u.x=o0(s.x),u.y=o0(s.y),u.z=o0(s.z)):u.z=o0(s.angularVelocity)}var c=t.colorOverLifetime;if(c){var l=a.colorOverLifetime={opacity:o0(c.opacity)};c.color&&(l.color=o8(c.color))}var h=t.sizeOverLifetime;return h&&(a.sizeOverLifetime={separateAxes:h.separateAxes,size:o0(h.size),x:o0(h.x),y:o0(h.y),z:o0(h.z)}),a}function ac(t){return t.compositions.forEach(function(t){t.items.forEach(function(t){t.type===tl.null&&t.endBehavior===tg.destroy&&(t.endBehavior=tg.freeze)})}),t.version="2.1",t}function al(t){for(var e,r=r3({},t,{items:[],components:[],materials:[],shaders:[],geometries:[]}),i=eb(r.images);!(e=i()).done;)e.value.id=eg();if(null!=r.textures||(r.textures=[]),r.textures.forEach(function(t){t.id=eg(),t.dataType=tV.Texture,t.source={id:r.images[t.source].id}}),r.textures.length<r.images.length)for(var n=r.textures.length;n<r.images.length;n++)r.textures.push({id:eg(),dataType:tV.Texture,source:{id:r.images[n].id},flipY:!0});for(var o,a={},s=eb(t.compositions);!(o=s()).done;)!function(){var t=o.value;(t.endBehavior===td.pause_destroy||t.endBehavior===td.pause)&&(t.endBehavior=4),t.items=t.items.filter(function(t){return"8"!==t.type}),t.items.forEach(function(t){t.type===tl.particle&&t.content.filter&&delete t.content.filter});for(var e,i={},n=eb(t.items);!(e=n()).done;){var a=e.value;i[a.id]=eg(),a.oldId=a.id,a.id=i[a.id]}t.items.forEach(function(e,n){if(e.parentId){if(e.parentId.includes("^")){var o=e.parentId.split("^")[0],a=e.parentId.split("^")[1];e.parentId=i[o]+"^"+a}else e.parentId=i[e.parentId]}r.items.push(e),t.items[n]={id:e.id}})}();for(var u,c=eb(r.items);!(u=c()).done;){var l=u.value;if(l.content){if(l.content.renderer&&void 0!==l.content.renderer.texture){var h=l.content.renderer.texture;l.content.renderer.texture={id:r.textures[h].id}}if(l.content.trails&&void 0!==l.content.trails.texture){var f=l.content.trails.texture;l.content.trails.texture={id:r.textures[f].id}}}if(l.transform){var m=[].concat(null!=(v=l.transform.position)?v:[0,0,0]),d=[].concat(null!=(y=l.transform.rotation)?y:[0,0,0]),p=[].concat(null!=(g=l.transform.scale)?g:[1,1,1]);if(Object.assign(l,{transform:{position:{x:m[0],y:m[1],z:m[2]},eulerHint:{x:d[0],y:d[1],z:d[2]},scale:{x:p[0],y:p[1],z:p[0]}}}),l.type===tl.sprite&&(l.transform.size={x:p[0],y:p[1]},l.transform.scale={x:1,y:1,z:1}),l.type===tl.sprite){var v,y,g,x,T,E,_,C=l.content;C.renderer||(C.renderer={});var b=C.renderer,A=ao(b.anchor,b.particleOrigin),S=l.transform.size;b.anchor||void 0===b.particleOrigin||(l.transform.position.x+=-A[0]*(null!=(x=null==S?void 0:S.x)?x:1),l.transform.position.y+=-A[1]*(null!=(T=null==S?void 0:S.y)?T:1)),l.transform.anchor={x:A[0]*(null!=(E=null==S?void 0:S.x)?E:1),y:A[1]*(null!=(_=null==S?void 0:S.y)?_:1)}}}if(l.type===tl.particle){var w=l.content;w.renderer||(w.renderer={});var R=w.renderer;w.renderer.anchor=ao(R.anchor,R.particleOrigin)}l.content.tracks=[];var O=l.content.tracks;l.type!==tl.particle&&O.push({clips:[{dataType:"TransformAnimationPlayableAsset",animationClip:{sizeOverLifetime:l.content.sizeOverLifetime,rotationOverLifetime:l.content.rotationOverLifetime,positionOverLifetime:l.content.positionOverLifetime}}]}),l.type===tl.sprite&&O.push({clips:[{dataType:"SpriteColorAnimationPlayableAsset",animationClip:{colorOverLifetime:l.content.colorOverLifetime,startColor:l.content.options.startColor}}]}),l.content.options.target&&(l.content.options.target=a[l.content.options.target]);var M=eg();switch((l.type===tl.sprite||l.type===tl.particle||l.type===tl.mesh||l.type===tl.skybox||l.type===tl.light||"camera"===l.type||l.type===tl.tree||l.type===tl.interact||l.type===tl.camera||l.type===tl.text)&&(l.components=[],r.components.push(l.content),l.content.id=M,l.content.item={id:l.id},l.dataType=tV.VFXItemData,l.components.push({id:l.content.id})),l.type){case tl.sprite:l.content.dataType=tV.SpriteComponent;break;case tl.particle:l.content.dataType=tV.ParticleSystem;break;case tl.mesh:l.content.dataType=tV.MeshComponent;break;case tl.skybox:l.content.dataType=tV.SkyboxComponent;break;case tl.light:l.content.dataType=tV.LightComponent;break;case"camera":l.content.dataType=tV.CameraComponent;break;case tl.tree:l.content.dataType=tV.TreeComponent;break;case tl.interact:l.content.dataType=tV.InteractComponent;break;case tl.camera:l.content.dataType=tV.CameraController;break;case tl.text:l.content.dataType=tV.TextComponent}}return r.version="3.0",r}var ah=/^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/,af=/^(\d+)\.(\d+)$/,am=!1;function ad(t){if(!t||"object"!=typeof t)throw Error("expect a json object");if(!(h=null==(l=(c=t).version)?void 0:l.split("."))||Number(h[0])>2||2===Number(h[0])&&Number(h[1])>=2||c.compositions.forEach(function(t){t.items.forEach(function(t){(t.type===tl.mesh||t.type===tl.light)&&(t.endBehavior=1===t.endBehavior?tg.destroy:t.endBehavior)})}),ah.test(t.version)){var e,r,i,n,o,a,s,u;return am=(null==(f=/^(\d+)/.exec(t.version))?void 0:f[0])==="0",al(ac((ap="1.0",n=(e=t).plugins||[],(null==(r=e.bins)?void 0:r.length)&&(ap="1.3"),o=(e.requires||[]).slice(),a=e.images.map(function(t,r){return av(t,r,e.imageTags||[])}),s=e.textures||a.map(function(t,e){return{source:e,flipY:!0}}),u={plugins:n,shapes:e.shapes||[],type:"ge",version:ap,playerVersion:null!=(i=e.playerVersion)?i:{web:"",native:""},compositionId:e.compositionId+"",compositions:e.compositions.map(function(t){return ay(t,{plugins:n,requires:o})}),images:a,imgUsage:e._imgs,binUsage:e.binUsage,spines:e.spines,requires:e.requires,textures:s,bins:(e.bins||[]).slice()},e._textures&&(u._textures=e._textures),u)))}var c,l,h,f,m,d=af.exec(t.version)||[],p=Number(d[1]),v=Number(d[2]);if(p)return(p<2||2===p&&v<4)&&((m=t).compositions.map(function(t){for(var e,r=eb(t.items);!(e=r()).done;)(function t(e){if(e)for(var r,i=eb(Object.keys(e));!(r=i()).done;){var n=r.value,o=e[n],a=Array.isArray(o);a&&2===o.length&&Array.isArray(o[1])?"path"===n?e[n]=o9(o):e[n]=o0(o):a||"object"!=typeof o||t(o)}})(e.value.content)}),t=m),p<3?al(ac(t)):t;throw Error("invalid json version "+t.version)}var ap="1.0";function av(t,e,r){var i=r[e],n=t.oriY;if("string"==typeof t)return{id:eg(),renderLevel:i,url:t,oriY:n};if(t.template)return{id:eg(),url:t.url,template:t.template,webp:t.webp,renderLevel:i,oriY:n};if(t.compressed)return{id:eg(),url:t.url,oriY:n,compressed:{astc:t.compressed.android,pvrtc:t.compressed.iOS},webp:t.webp,renderLevel:i};if(t.url)return{id:eg(),url:t.url,webp:t.webp,renderLevel:i,oriY:n};if(t&&t.sourceType)return t;throw Error("invalid image type")}function ay(t,e){void 0===e&&(e={});var r,i={id:t.id+"",camera:r3({clipMode:0},t.camera),duration:t.duration,endBehavior:t.endBehavior,items:t.items.map(function(t){return ax(t,e)}),name:t.name},n=t.startTime||t.st;n&&(i.startTime=n);var o=null==(r=t.meta)?void 0:r.previewSize;return o&&o[0]===o[1]&&0===o[0]&&(o=void 0),o&&(i.previewSize=o),i}var ag=[0,0,0,1];function ax(t,e){void 0===e&&(e={});var r=tl.base,i=t.endBehavior,n=NaN;if(t.content?(r=t.type||tl.plugin,p=t.pn,d=t.pluginName,f=t.content,h=t.content,isNaN(p)&&!d&&(d=f.options.type),t.duration&&(n=t.duration),l=t.transform||T(h.transform)):t.particle?(r=tl.particle,l=T((h=t.particle).transform,am,!0),f=function(t){var e=t.options,r=t.transform,i={type:ta.NONE};if(t.shape){var n,o=null==(n=t.shape.shape)?void 0:n.replace(/([A-Z])/g,"_$1").toUpperCase().replace(/^_/,"");if(i=r3({},t.shape,{type:ta[o]}),t.shape.upDirection){var a=t.shape.upDirection,s=a[0],u=a[1],c=a[2];0===s&&0===u&&0===c&&delete i.upDirection}}e.startTurbulence&&(i.turbulenceX=o3(e.turbulenceX),i.turbulenceY=o3(e.turbulenceY),i.turbulenceZ=o3(e.turbulenceZ));var l=t.emission;l.bursts&&l.bursts.length>0&&(l.bursts=l.bursts.map(function(t){return o7(t)})),l.burstOffsets&&l.burstOffsets.length>0&&(l.burstOffsets=l.burstOffsets.map(function(t){return o7(t)})),l.rateOverTime&&(l.rateOverTime=o3(l.rateOverTime));var h={renderer:t.renderer,shape:i,splits:t.splits,emission:l,options:{startLifetime:o3(e.startLifetime),start3DSize:!!e.start3DSize,startSize:o3(e.startSize),startSizeX:o3(e.startSizeX),startSizeY:o3(e.startSizeY),sizeAspect:o3(e.sizeAspect),maxCount:e.maxCount,startDelay:o3(e.startDelay),startColor:function(t,e){if(t)return"colors"===t[0]?[tv.COLORS,t[1].map(function(t){return o5(t,e)})]:"gradient"===t[0]?o4(t[1],e):"color"===t[0]?[tv.RGBA_COLOR,o5(t[1],e)]:t}(e.startColor,!0),startRotationZ:o3(e.startRotation||e.startRotationZ),particleFollowParent:e.particleFollowParent}};e.start3DRotation&&(h.options.startRotationX=o3(e.startRotationX),h.options.startRotationY=o3(e.startRotationY)),r&&r.path&&(h.emitterTransform={path:o9(r.path)});var f=t.sizeOverLifetime;f&&(f.separateAxes?h.sizeOverLifetime={separateAxes:!0,x:o3(f.x),y:o3(f.y)}:h.sizeOverLifetime={size:o3(f.size)});var m=t.velocityOverLifetime||{},d=m.speedOverLifetime;d=d?o0(d):void 0,h.positionOverLifetime={gravity:e.gravity,gravityOverLifetime:o0(e.gravityModifier),startSpeed:o3(e.startSpeed),speedOverLifetime:d,asMovement:m.asMovement,linearX:o3(m.linearX),linearY:o3(m.linearY),linearZ:o3(m.linearZ),asRotation:m.asRotation,orbCenter:m.orbCenter,orbitalX:o3(m.orbitalX),orbitalY:o3(m.orbitalY),orbitalZ:o3(m.orbitalZ),forceTarget:m.forceTarget,target:m.target,forceCurve:o0(m.forceCurve)},at(h.positionOverLifetime);var p=t.rotationOverLifetime;p&&(h.rotationOverLifetime={separateAxes:p.separateAxes,asRotation:p.asRotation,z:o3(p.separateAxes?p.z:p.angularVelocity)},p.separateAxes&&(h.rotationOverLifetime.y=o0(p.y),h.rotationOverLifetime.x=o0(p.x)));var v=t.colorOverLifetime;if(v){var y=h.colorOverLifetime={opacity:o0(v.opacity)};v.color&&(y.color=o8(v.color))}var g=t.textureSheetAnimation;g&&(h.textureSheetAnimation={row:g.row,col:g.col,total:g.total,animate:g.animate,cycles:o0(g.cycles),animationDelay:o1(g.animationDelay,0),animationDuration:o1(g.animationDuration,0)});var x=t.trails;x&&(h.trails={lifetime:o3(x.lifetime),dieWithParticles:x.dieWithParticles,maxPointPerTrail:x.maxPointPerTrail,minimumVertexDistance:x.minimumVertexDistance,widthOverTrail:o0(x.widthOverTrail),colorOverTrail:x.colorOverTrail&&o8(x.colorOverTrail,!1),blending:x.blending,colorOverLifetime:x.colorOverLifetime&&o8(x.colorOverLifetime,!1),inheritParticleColor:x.inheritParticleColor,occlusion:x.occlusion,transparentOcclusion:x.transparentOcclusion,orderOffset:x.orderOffset,sizeAffectsLifetime:x.sizeAffectsLifetime,sizeAffectsWidth:x.sizeAffectsWidth,texture:x.texture,parentAffectsPosition:x.parentAffectsPosition,opacityOverLifetime:o3(x.opacityOverLifetime)}),h.trails&&at(h.trails);var T=t.interaction;return T&&(h.interaction={behavior:T.behavior,radius:T.radius,multiple:T.multiple}),h}(h)):t.sprite?(r=tl.sprite,l=T((h=t.sprite).transform,!1,!0),s=au(a=h,l),(u=a.textureSheetAnimation)&&(s.textureSheetAnimation={row:u.row,col:u.col,total:u.total||void 0,animate:u.animate}),s.renderer=a.renderer,a.splits&&(s.splits=a.splits),a.interaction&&(s.interaction=a.interaction),f=s):t.cal?(r=tl.null,l=T((h=t.cal).transform,!1,!0),f=au(h,l)):t.ui?(r=tl.interact,l=T((h=t.ui).transform),f=function(t){var e,r=t.options;switch(r.type){case"click":e={type:tu.CLICK,showPreview:r.showPreview,previewColor:r.previewColor&&o2(r.previewColor),behavior:r.behavior||tc.NOTIFY};break;case"drag":e={type:tu.DRAG,enableInEditor:!!r.enableInEditor,dxRange:r.dxRange,dyRange:r.dyRange,target:r.target};break;case"message":e={type:tu.MESSAGE}}return{options:e}}(h),l.scale=[h.options.width||1,h.options.height||1,1]):t.model&&(h=t.model,1===t.model.options.type&&(r=tl.camera,l=T(h.transform),f=function(t){var e=t.options,r={options:{fov:e.fov,far:e.far,near:e.near,clipMode:e.clipMode}},i=t.velocityOverLifetime;if(i||(null==(n=t.transform)?void 0:n.path)){var n,o,a={path:o9(null==(o=t.transform)?void 0:o.path),linearX:o0(null==i?void 0:i.translateX),linearY:o0(null==i?void 0:i.translateY),linearZ:o0(null==i?void 0:i.translateZ)};at(a),r.positionOverLifetime=a}var s=t.rotationOverLifetime;if(s){var u={separateAxes:s.separateAxes,x:o0(null==s?void 0:s.rotateX),y:o0(null==s?void 0:s.rotateY),z:s.separateAxes?o0(null==s?void 0:s.rotateZ):o0(s.rotation)};at(u),r.rotationOverLifetime=u}return r}(h))),null==(c=f.renderer)?void 0:c.anchor){var o=new Float32Array(f.renderer.anchor);.5==o[0]&&.5==o[1]?delete f.renderer.anchor:e.requires&&o$(e.requires,"anchor")}if(h){var a,s,u,c,l,h,f,m,d,p,v,y,g=null==(v=h.options)?void 0:v.looping;i=g?Array.isArray(g)?g[1]?tg.loop:tg.destroy:tg.loop:i||(null==h?void 0:null==(y=h.options)?void 0:y.endBehavior)||tg.destroy,h.options.renderLevel&&(m=h.options.renderLevel),isNaN(n)&&(n=h.options.duration)}var x={type:r,name:t.name,delay:t.delay,duration:n,id:t.id+"",transform:l,endBehavior:i,renderLevel:m,content:f};return d?e.plugins?(o$(e.plugins,d),x.pn=e.plugins.indexOf(d)):x.pluginName=d:Number.isInteger(p)&&(x.pn=p),t.parentId&&(x.parentId=t.parentId+""),x;function T(t,e,r){if(t){var i={},n=t.rotation;if(n&&(e?i.rotation=[-n[0],-n[1],-n[2]]:i.rotation=[n[0],n[1],n[2]],r)){var o,a,s,u,c,l,h,f,m,d,p,v,y,g,x,T,E,_,C,b,A,S,w,R,O=(o=i.rotation[0],a=i.rotation[1],s=i.rotation[2],u=ae(o*ai/2),c=ae(a*ai/2),l=ae(s*ai/2),h=ar(o*ai/2),f=ar(a*ai/2),m=ar(s*ai/2),ag[0]=h*c*l+u*f*m,ag[1]=u*f*l-h*c*m,ag[2]=u*c*m+h*f*l,ag[3]=u*c*l-h*f*m,ag);i.rotation=(d=[],p=O[0],v=O[1],y=O[2],g=O[3],x=p+p,T=v+v,E=y+y,_=p*x,C=v*x,b=v*T,A=y*E,S=g*E,w=y*x-g*T,d[1]=Math.asin((R=-w)>1?1:R<-1?-1:R)*an,.9999999>Math.abs(w)?(d[0]=Math.atan2(y*T+g*x,1-_-b)*an,d[2]=Math.atan2(C+S,1-b-A)*an):(d[0]=0,d[2]=Math.atan2(-(C-S),1-_-A)*an),d)}return t.position&&(i.position=t.position),Array.isArray(t.scale)&&(i.scale=[t.scale[0]||1,t.scale[1]||1,t.scale[2]||1]),i}return{}}}var aT=((tG={})[tr.S]=[tr.S,tr.BPlus,tr.APlus],tG[tr.A]=[tr.A,tr.BPlus,tr.APlus],tG[tr.B]=[tr.B,tr.BPlus],tG);function aE(t,e){if(!t||!e)return!0;var r=aT[e];return!!r&&r.includes(t)}function a_(t){return ep(t)&&"jsonScene"in t}function aC(t){return ep(t)&&"url"in t}function ab(t){return ep(t)&&"options"in t}function aA(t,e){var r,i,n=null!=(i=null==t?void 0:t.background)?i:{},o=n.name,a=n.url;return o&&(e&&e[o]?r=e[o]:a&&(r=a)),r}function aS(t,e,r){return aw.apply(this,arguments)}function aw(){return(aw=tq(function(t,e,r){var i,n,o,a;return t$(this,function(s){switch(s.label){case 0:if("string"!=typeof t)return[3,2];return[4,r9(t)];case 1:return i=s.sent(),[3,3];case 2:i=t,s.label=3;case 3:if(!i)throw Error("image not provided.");if(!e)return[2,i];if(n=i,!((o=aA(e,r))&&ef(o)&&o!==i.src))return[3,7];if(!ef(o))return[3,5];return[4,r9(o)];case 4:return a=s.sent(),[3,6];case 5:a=o,s.label=6;case 6:n=a,s.label=7;case 7:return[2,n]}})})).apply(this,arguments)}var aR=function(t){function e(){return t.apply(this,arguments)}return e_(e,t),e}(eX),aO=1,aM=function(){function e(t,e){void 0===t&&(t={}),void 0===e&&(e=new r4),this.options=t,this.downloader=e,this.assets={},this.id=aO++,this.timers=[],this.updateOptions(t)}var r=e.prototype;return r.updateOptions=function(t){void 0===t&&(t={}),this.options=t,t.pluginData||(t.pluginData={});var e=t.timeout;this.timeout=void 0===e?10:e},r.updateSceneData=function(t){var e=this.options.variables;e&&0!==Object.keys(e).length&&t.forEach(function(t){if(t.type===tl.text){var r=e[t.name];r&&(t.content.options.text=r)}})},r.loadScene=function(t,e,r){var i=this;return tq(function(){var n,o,a,s,u,c,l,h,f,m,d,p,v,y;return t$(this,function(g){return a=ef(t)?t:i.id,s=performance.now(),u=[],h=null!=(l=null==(c=null==e?void 0:e.engine.gpuCapability)?void 0:null==(n=c.detail)?void 0:n.asyncShaderCompile)&&l,m=null!=(f=null==c?void 0:c.detail.compressedTexture)?f:0,p=!1,v=new Promise(function(t,e){d=window.setTimeout(function(){p=!0,i.removeTimer(d),e(Error("Load time out: totalTime: "+(performance.now()-s).toFixed(4)+"ms "+u.join(" ")+", url: "+a))},1e3*i.timeout),i.timers.push(d)}),y=tq(function(t,e){var r,i;return t$(this,function(n){switch(n.label){case 0:if(p)return[3,4];r=performance.now(),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,e()];case 2:return i=n.sent(),u.push("["+t+": "+(performance.now()-r).toFixed(2)+"]"),[2,i];case 3:throw Error("Load error in "+t+", "+n.sent());case 4:throw Error("Load canceled.")}})}),[2,Promise.race([v,tq(function(){var n,c,l,f,p,v,g,x,T,E,_,C,b,A,S,w,R,O,M,L,I;return t$(this,function(V){switch(V.label){case 0:if(!ep(t))return[3,1];return o=t,i.baseUrl=location.href,[3,3];case 1:return t=new URL(t,location.href).href,i.baseUrl=t,[4,y("loadJSON",function(){return i.loadJSON(t)})];case 2:o=V.sent(),V.label=3;case 3:if(!a_(o))return[3,6];if(n=r3({},o),!(i.options&&i.options.variables&&0!==Object.keys(i.options.variables).length))return[3,5];for(f=0,c=o.jsonScene.images,l=n.images;f<c.length;f++)tK(l[f],HTMLCanvasElement)&&(l[f]=c[f]);return[4,y("processImages",function(){return i.processImages(l,m)})];case 4:for(p=0,n.images=V.sent();p<n.images.length;p++)n.textureOptions[p].image=n.images[p];i.updateSceneData(n.jsonScene.items),V.label=5;case 5:return[3,12];case 6:return[4,y("processJSON",function(){return i.processJSON(o)})];case 7:return g=(v=V.sent()).usedImages,x=v.jsonScene,T=v.pluginSystem,_=void 0===(E=x.bins)?[]:E,C=x.images,b=x.compositions,A=x.fonts,[4,Promise.all([y("processBins",function(){return i.processBins(_)}),y("processImages",function(){return i.processImages(C,m)}),y((h?"async":"sync")+" compile",function(){return i.precompile(b,T,e,r)})])];case 8:for(w=(S=V.sent())[0],R=S[1],O=0;O<C.length;O++)(M=new aR(e.engine)).data=R[O],M.setInstanceId(C[O].id),null==e||e.engine.addInstance(M);return[4,y("processFontURL",function(){return i.processFontURL(A)})];case 9:return V.sent(),[4,y("processTextures",function(){return i.processTextures(R,w,x,e.engine)})];case 10:return L=V.sent(),i.updateSceneData(x.items),n={url:t,renderLevel:i.options.renderLevel,storage:{},pluginSystem:T,jsonScene:x,usedImages:g,images:R,textureOptions:L,bins:w},[4,y("processPlugins",function(){return T.loadResources(n,i.options)})];case 11:V.sent(),V.label=12;case 12:return I=performance.now()-s,el.info("Load asset: totalTime: "+I.toFixed(4)+"ms "+u.join(" ")+", url: "+a),window.clearTimeout(d),i.removeTimer(d),n.totalTime=I,n.startTime=s,[2,n]}})})()])]})})()},r.precompile=function(t,e,r,i){return tq(function(){var n;return t$(this,function(o){switch(o.label){case 0:if(!r||!r.getShaderLibrary())return[2];return n=null==r?void 0:r.getShaderLibrary(),[4,null==e?void 0:e.precompile(t,r,i)];case 1:return o.sent(),[4,new Promise(function(t){n.compileAllShaders(function(){t(null)})})];case 2:return o.sent(),[2]}})})()},r.processJSON=function(t){var e=this;return tq(function(){var r,i,n,o,a,s,u,c,l;return t$(this,function(h){switch(h.label){case 0:return r=ad(t),t.compositions.forEach(function(t,e){t.globalVolume&&(r.compositions[e].globalVolume=t.globalVolume)}),n=void 0===(i=r.plugins)?[]:i,o=r.compositions,a=r.imgUsage,s=r.images,[4,(u=new oQ(n)).processRawJSON(r,e.options)];case 1:return h.sent(),c=e.options.renderLevel,l={},a?function(t,e,r,i,n){for(var o=0;o<e.length;o++){var a=r[e[o].id];if(a)for(var s=0;s<a.length;s++){var u=a[s];aE(i[u].renderLevel,n)&&(t[u]=!0)}}}(l,o,a,s,c):null==s||s.forEach(function(t,e){l[e]=!0}),[2,{usedImages:l,jsonScene:r,pluginSystem:u}]}})})()},r.processBins=function(t){var e=this;return tq(function(){var r,i;return t$(this,function(n){return r=e.options.renderLevel,i=e.baseUrl,[2,Promise.all(t.map(function(n){if(tK(n,ArrayBuffer))return n;if(aE(n.renderLevel,r))return e.loadBins(new URL(n.url,i).href);throw Error("Invalid bins source: "+JSON.stringify(t))}))]})})()},r.processFontURL=function(t){var r=this;return tq(function(){return t$(this,function(i){return t?[2,Promise.all(t.map(tq(function(t){var i,n,o;return t$(this,function(a){switch(a.label){case 0:if(!(t.fontURL&&!e.fonts.has(t.fontFamily)))return[3,4];i=new URL(t.fontURL,r.baseUrl).href,o=new FontFace(null!=(n=t.fontFamily)?n:"","url("+i+")"),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,o.load()];case 2:return a.sent(),document.fonts.add(o),e.fonts.add(t.fontFamily),[3,4];case 3:return a.sent(),el.warn("Invalid fonts source: "+JSON.stringify(i)),[3,4];case 4:return[2]}})})))]:[2]})})()},r.processImages=function(e,r){var i=this;return tq(function(){var n,o,a,s;return t$(this,function(u){return o=(n=i.options).useCompressedTexture,a=n.variables,s=i.baseUrl,[2,Promise.all(e.map(tq(function(e,n){var u,c,l,h,f,m,d,p,v,y,g,x,T,E,_,C;return t$(this,function(b){switch(b.label){case 0:if(u=e.url,c=e.webp,l=new URL(u,s).href,h=c&&new URL(c,s).href,!("template"in e))return[3,8];if(!(m=(f=e.template).background))return[3,7];d=aA(f,a),p=m.type===tp.video,v=m&&p?ii:r9,b.label=1;case 1:return b.trys.push([1,6,,7]),[4,ia(d,v)];case 2:if(!tK(y=b.sent(),HTMLVideoElement))return[3,3];return[2,y];case 3:return m&&Array.isArray(d)&&a&&(a[m.name]=y.src),[4,aS(y,f,a)];case 4:return[2,b.sent()];case 5:return[3,7];case 6:throw b.sent(),Error("Failed to load. Check the template or if the URL is "+(p?"video":"image")+" type, URL: "+d+".");case 7:return[3,9];case 8:if("compressed"in e&&o&&r){if(g=e.compressed,r===ni.ASTC?x=g.astc:r===ni.PVRTC&&(x=g.pvrtc),x)return T=new URL(x,s).href,i.assets[n]={url:T,type:t.TextureSourceType.compressed},[2,i.loadBins(T)]}else if("sourceType"in e)return[2,e];else if(tK(e,HTMLImageElement)||tK(e,HTMLCanvasElement)||tK(e,HTMLVideoElement)||tK(e,im))return[2,e];b.label=9;case 9:return[4,r6(l,h)];case 10:return _=(E=b.sent()).url,C=E.image,i.assets[n]={url:_,type:t.TextureSourceType.image},[2,C]}})})))]})})()},r.processTextures=function(e,r,i,n){var o=this;return tq(function(){var a;return t$(this,function(s){return[2,Promise.all((null!=(a=i.textures)?a:e.map(function(t,e){return{source:e}})).map(tq(function(e,a){var s,u,c;return t$(this,function(l){switch(l.label){case 0:if(tK(e,im))return[2,e];if(!("mipmaps"in e))return[3,4];l.label=1;case 1:return l.trys.push([1,3,,4]),[4,iu(e,r,i.bins,n)];case 2:return[2,l.sent()];case 3:throw Error("load texture "+a+" fails, error message: "+l.sent());case 4:if(!ep(s=e.source))return[3,5];return u=n.assetLoader.loadGUID(s.id).data,[3,7];case 5:if("string"!=typeof s)return[3,7];return[4,r9(function(t,e,r){void 0===e&&(e="base64File"),void 0===r&&(r="");for(var i=atob(t.split(",")[1]||t),n=[],o=0;o<i.length;o+=512){for(var a=i.slice(o,o+512),s=Array(a.length),u=0;u<a.length;u++)s[u]=a.charCodeAt(u);var c=new Uint8Array(s);n.push(c)}return new File([new Blob(n,{type:r})],e,{type:r})}(s))];case 6:u=l.sent(),l.label=7;case 7:if(u)return(c=function(e,r){var i;if(tK(e,im))return e.source;if(tK(e,HTMLImageElement)||"object"==typeof e&&null!==e&&(null==(i=e.tagName)?void 0:i.toUpperCase())==="CANVAS")return{image:e,sourceType:t.TextureSourceType.image,sourceFrom:r,keepImageSource:!0,minFilter:rZ.LINEAR,magFilter:rZ.LINEAR};if(tK(e,HTMLVideoElement))return{sourceType:t.TextureSourceType.video,video:e,minFilter:rZ.LINEAR,magFilter:rZ.LINEAR};if(tK(e,ArrayBuffer))return r3({},iv(e),{sourceFrom:r});if("width"in e&&"height"in e&&"data"in e)return{sourceType:t.TextureSourceType.data,data:e,wrapS:rZ.CLAMP_TO_EDGE,wrapT:rZ.CLAMP_TO_EDGE,minFilter:rZ.NEAREST,magFilter:rZ.NEAREST};throw Error("Invalid texture options")}(u,o.assets[a])).id=e.id,c.dataType=tV.Texture,[2,c.sourceType===t.TextureSourceType.compressed?c:r3({},c,e)];throw Error("Invalid texture source: "+s)}})})))]})})()},r.loadJSON=function(t){var e=this;return tq(function(){return t$(this,function(r){return[2,new Promise(function(r,i){e.downloader.downloadJSON(t,r,function(e,r){i("Couldn't load JSON "+JSON.stringify(t)+": status "+e+", "+r)})})]})})()},r.loadBins=function(t){var e=this;return tq(function(){return t$(this,function(r){return[2,new Promise(function(r,i){e.downloader.downloadBinary(t,r,function(e,r){i("Couldn't load bins "+JSON.stringify(t)+": status "+e+", "+r)})})]})})()},r.removeTimer=function(t){var e=this.timers.indexOf(t);-1!==e&&this.timers.splice(e,1)},r.dispose=function(){for(var t in this.timers.length&&this.timers.map(function(t){return window.clearTimeout(t)}),this.assets){var e,r=this.assets[t];null==r||null==(e=r.dispose)||e.call(r)}this.assets={},this.timers=[]},e}();aM.fonts=new Set;var aL=new eL(1,1,1),aI=function(){function t(t,e){void 0===e&&(e={}),this.name=t,this.viewMatrix=eV.fromIdentity(),this.projectionMatrix=eV.fromIdentity(),this.viewProjectionMatrix=eV.fromIdentity(),this.inverseViewMatrix=eV.fromIdentity(),this.dirty=!0;var r=e.near,i=e.far,n=e.fov,o=e.aspect,a=e.clipMode,s=void 0===a?tm.portrait:a,u=e.position,c=e.rotation;this.options={near:void 0===r?.1:r,far:void 0===i?20:i,fov:void 0===n?60:n,aspect:void 0===o?1:o,clipMode:s,position:eL.fromArray(void 0===u?[0,0,8]:u),rotation:eP.fromArray(void 0===c?[0,0,0]:c)},this.dirty=!0,this.updateMatrix()}var e=t.prototype;return e.getViewMatrix=function(){return this.updateMatrix(),this.viewMatrix.clone()},e.getInverseViewMatrix=function(){return this.updateMatrix(),this.inverseViewMatrix.clone()},e.getProjectionMatrix=function(){return this.updateMatrix(),this.projectionMatrix.clone()},e.getInverseProjectionMatrix=function(){var t;return this.updateMatrix(),null==(t=this.inverseProjectionMatrix)?void 0:t.clone()},e.getViewProjectionMatrix=function(){return this.updateMatrix(),this.viewProjectionMatrix.clone()},e.getInverseViewProjectionMatrix=function(){return this.updateMatrix(),this.inverseViewProjectionMatrix||(this.inverseViewProjectionMatrix=this.viewProjectionMatrix.clone(),this.inverseViewProjectionMatrix.invert()),this.inverseViewProjectionMatrix.clone()},e.getModelViewProjection=function(t,e){return t.multiplyMatrices(this.viewProjectionMatrix,e)},e.getInverseVPRatio=function(t){var e=new eL(0,0,t),r=this.getViewProjectionMatrix(),i=this.getInverseViewProjectionMatrix(),n=r.projectPoint(e).z;return i.projectPoint(new eL(1,1,n))},e.setQuat=function(t){void 0===this.options.quat?(this.options.quat=t.clone(),this.dirty=!0):this.options.quat.equals(t)||(this.options.quat.copyFrom(t),this.dirty=!0),this.dirty&&this.setRotationByQuat(t)},e.getQuat=function(){var t=this.options.quat;if(void 0===t){t=new eI;var e=this.options.rotation;e&&t.setFromEuler(e),this.options.quat=t}return t},e.getOptions=function(){return this.options},e.copy=function(t){var e=t.near,r=t.far,i=t.fov,n=t.clipMode,o=t.aspect,a=t.position,s=t.rotation;this.near=e,this.far=r,this.fov=i,this.clipMode=n,this.aspect=o,this.position=a,this.rotation=s,this.updateMatrix()},e.updateMatrix=function(){if(this.dirty){var t=this.options,e=t.fov,r=t.aspect,i=t.near,n=t.far,o=t.clipMode,a=t.position;this.projectionMatrix.perspective(e*eA,r,i,n,o===tm.portrait),this.inverseViewMatrix.compose(a,this.getQuat(),aL),this.viewMatrix.copyFrom(this.inverseViewMatrix).invert(),this.viewProjectionMatrix.multiplyMatrices(this.projectionMatrix,this.viewMatrix),this.inverseViewProjectionMatrix=null,this.dirty=!1}},e.setRotationByQuat=function(t){rF.getRotation(t,this.options.rotation)},eT(t,[{key:"near",get:function(){return this.options.near},set:function(t){this.options.near!==t&&(this.options.near=t,this.dirty=!0)}},{key:"far",get:function(){return this.options.far},set:function(t){this.options.far!==t&&(this.options.far=t,this.dirty=!0)}},{key:"fov",get:function(){return this.options.fov},set:function(t){this.options.fov!==t&&(this.options.fov=t,this.dirty=!0)}},{key:"aspect",get:function(){return this.options.aspect},set:function(t){this.options.aspect!==t&&(this.options.aspect=t,this.dirty=!0)}},{key:"clipMode",get:function(){return this.options.clipMode},set:function(t){void 0!==t&&this.options.clipMode!==t&&(this.options.clipMode=t,this.dirty=!0)}},{key:"position",get:function(){return this.options.position.clone()},set:function(t){this.options.position.equals(t)||(this.options.position.copyFrom(t),this.dirty=!0)}},{key:"rotation",get:function(){return this.options.rotation.clone()},set:function(t){this.options.rotation.equals(t)||(this.options.rotation.copyFrom(t),this.dirty=!0,this.options.quat=void 0)}}]),t}(),aV=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.items=[],t}e_(r,e);var i=r.prototype;return i.start=function(){var t=this.item.props.startTime;this.startTime=void 0===t?0:t,this.timelineComponents=[],this.timelineComponent=this.item.getComponent(nL);for(var e,r=eb(this.items);!(e=r()).done;){var i=e.value.getComponent(nL);i&&(this.timelineComponents.push(i),(this.item.endBehavior!==tg.destroy||this.timelineComponent.reusable)&&(i.reusable=!0))}},i.update=function(t){for(var e,r=this.timelineComponent.getTime(),i=eb(this.timelineComponents);!(e=i()).done;){var n=e.value,o=n.toLocalTime(r);n.setTime(o)}},i.resetStatus=function(){this.item.ended=!1,this.item.delaying=!0},i.createContent=function(){var e=this.items;if(this.items.length=0,this.item.composition)for(var i=this.item.engine.assetLoader,n=this.item.props.items?this.item.props.items:[],o=0;o<n.length;o++){var a=void 0,s=n[o];if(t.Item.isComposition(s)){var u=s.content.options.refId,c=this.item.composition.refCompositionProps.get(u);if(!c)throw Error("引用的Id: "+u+" 的预合成不存在");c.content=s.content,(a=new t.VFXItem(this.engine,r3({},c,s))).type=tl.composition,a.composition=this.item.composition,a.addComponent(r).refId=u,a.transform.parentTransform=this.transform,this.item.composition.refContent.push(a),a.endBehavior===tg.loop&&(this.item.composition.autoRefTex=!1),a.getComponent(r).createContent();for(var l,h=eb(a.getComponent(r).items);!(l=h()).done;){var f=l.value;f.setInstanceId(eg());for(var m,d=eb(f.components);!(m=d()).done;)m.value.setInstanceId(eg())}}else"ECS"===s.type||s.type===tl.sprite||s.type===tl.text||s.type===tl.particle||s.type===tl.mesh||s.type===tl.skybox||s.type===tl.light||"camera"===s.type||s.type===tl.tree||s.type===tl.interact||s.type===tl.camera?(a=i.loadGUID(s.id)).composition=this.item.composition:((a=new t.VFXItem(this.engine,s)).composition=this.item.composition,a=oj(s,this.item.composition));a.parent=this.item,a.transform.parentTransform=s.type===tl.camera?new rF:this.transform,t.VFXItem.isExtraCamera(a)&&(this.item.composition.extraCamera=a),e.push(a)}},i.onDestroy=function(){this.item.composition&&this.items&&(this.items.forEach(function(t){return t.dispose()}),this.items.length=0)},i.hitTest=function(e,r,i,n,o,a){for(var s,u=[],c=(null==a?void 0:a.stop)||eh,l=(null==a?void 0:a.skip)||eh,h=(null==a?void 0:a.maxCount)||this.items.length,f=0;f<this.items.length&&n.length<h;f++){var m=(s=this,function(a){var h=s.items[a];if(h.lifetime>=0&&!h.ended&&!t.VFXItem.isComposition(h)&&!l(h)){var f=h.getHitTestParams(o);if(f){var m=!1,d=new eL;if(f.type===t.HitTestType.triangle)for(var p=f.triangles,v=f.backfaceCulling,y=0;y<p.length;y++){var g=p[y];if(e.intersectTriangle(g,d,v)){m=!0,u.push(d);break}}else if(f.type===t.HitTestType.box){var x=f.center,T=f.size,E=x.clone().addScaledVector(T,.5),_=x.clone().addScaledVector(T,-.5);e.intersectBox({min:E,max:_},d)&&(m=!0,u.push(d))}else if(f.type===t.HitTestType.sphere){var C=f.center,b=f.radius;e.intersectSphere({center:C,radius:b},d)&&(m=!0,u.push(d))}else if(f.type===t.HitTestType.custom){var A=f.collect(e,new eM(r,i));A&&A.length>0&&(A.forEach(function(t){u.push(t)}),m=!0)}if(m){var S={compContent:s.item,id:h.id,name:h.name,position:u[u.length-1],parentId:h.parentId,hitPositions:u,behavior:f.behavior};if(n.push(S),c(S))return{v:n}}}}}(f));if("object"===tQ(m))return m.v}return n},r}(ej),aP=function(){function e(e,r,i){var n,o=this;this.compositionSourceManager=i,this.speed=1,this.loaderData={},this.refContent=[],this.refCompositionProps=new Map,this.assigned=!1,this.destroyed=!1,this.paused=!1,this.lastVideoUpdateTime=0,this.postLoaders=[];var a=e.reusable,s=void 0!==a&&a,u=e.speed,c=e.baseRenderOrder,l=e.renderer,h=e.onPlayerPause,f=e.onMessageItem,m=e.onEnd,d=e.event,p=e.width,v=e.height;r.jsonScene.imgUsage=void 0,s&&(this.keepResource=!0,r.textures=void 0,r.consumed=!0);var y=this.compositionSourceManager,g=y.sourceContent,x=y.pluginSystem,T=y.imgUsage,E=y.totalTime,_=y.renderLevel,C=y.refCompositionProps;eu(g),this.renderer=l,this.refCompositionProps=C;var b=new t.VFXItem(this.getEngine(),g);b.name="rootItem",b.type=tl.composition,b.composition=this,this.rootComposition=b.addComponent(aV),this.rootTimeline=b.getComponent(nL);var A=!s&&T;this.transform=new rF({name:this.name}),this.transform.engine=this.getEngine(),b.transform=this.transform,this.globalVolume=g.globalVolume,this.width=p,this.height=v,this.renderOrder=void 0===c?0:c,this.id=g.id,this.renderer=l,this.texInfo=null!=A?A:{},this.event=d,this.statistic={loadTime:null!=E?E:0,loadStart:null!=(n=r.startTime)?n:0,firstFrameTime:0},this.reusable=s,this.speed=void 0===u?1:u,this.renderLevel=_,this.autoRefTex=!this.keepResource&&A&&b.endBehavior!==tg.loop,this.rootItem=b,this.name=g.name,this.pluginSystem=x,this.pluginSystem.initializeComposition(this,r),this.camera=new aI(this.name,r3({},null==g?void 0:g.camera,{aspect:p/v})),this.url=r.url,this.assigned=!0,this.globalTime=0,this.onPlayerPause=h,this.onMessageItem=f,this.onEnd=m,this.createRenderFrame(),this.rendererOptions=null,this.rootComposition.createContent(),this.buildItemTree(this.rootItem),this.rootItem.onEnd=function(){window.setTimeout(function(){null==o.onEnd||o.onEnd.call(o,o)},0)},this.pluginSystem.resetComposition(this,this.renderFrame)}var r=e.prototype;return r.getDuration=function(){return this.rootItem.duration},r.restart=function(){this.prepareRender(),this.reset(),this.transform.setValid(!0),this.rootComposition.resetStatus(),this.forwardTime(this.startTime)},r.setIndex=function(t){this.renderOrder=t},r.getIndex=function(){return this.renderOrder},r.setSpeed=function(t){this.speed=t},r.setVisible=function(t){this.items.forEach(function(e){e.setVisible(t)})},r.getSpeed=function(){return this.speed},r.play=function(){this.rootItem.ended&&this.reusable&&this.restart(),this.rootTimeline.timelineStarted?this.gotoAndPlay(this.time-this.startTime):this.gotoAndPlay(0)},r.pause=function(){this.paused=!0},r.getPaused=function(){return this.paused},r.resume=function(){this.paused=!1},r.gotoAndPlay=function(t){this.resume(),this.rootTimeline.timelineStarted||this.rootComposition.start(),this.forwardTime(t+this.startTime)},r.gotoAndStop=function(t){this.gotoAndPlay(t),this.pause()},r.createRenderFrame=function(){this.renderFrame=new i5({camera:this.camera,renderer:this.renderer,keepColorBuffer:this.keepColorBuffer,globalVolume:this.globalVolume}),this.renderFrame.cachedTextures=this.textures},r.setTime=function(t){var e=this.paused;e&&this.resume(),this.rootTimeline.timelineStarted||this.rootComposition.start(),this.forwardTime(t+this.startTime,!0),e&&this.pause()},r.addItem=function(t){this.items.push(t),t.setParent(this.rootItem)},r.forwardTime=function(t,e){void 0===e&&(e=!1);for(var r=1e3*t-1e3*this.rootTimeline.getTime(),i=r<0,n=Math.abs(r),o=i?-15:15;n>15;n-=15)this.update(o,e);this.update(i?-n:n,e)},r.reset=function(){var e=this,r=new t.VFXItem(this.getEngine(),this.compositionSourceManager.sourceContent);r.type=tl.composition,r.composition=this,this.rootComposition=r.addComponent(aV),this.rootTimeline=r.getComponent(nL),this.transform=new rF({name:this.name}),this.transform.engine=this.getEngine(),r.transform=this.transform,this.rootItem=r,this.rendererOptions=null,this.globalTime=0,this.rootComposition.createContent(),this.buildItemTree(this.rootItem),this.rootItem.onEnd=function(){window.setTimeout(function(){null==e.onEnd||e.onEnd.call(e,e)},0)},this.pluginSystem.resetComposition(this,this.renderFrame)},r.prepareRender=function(){var t=this,e=this.renderFrame;e._renderPasses[0].meshes.length=0,this.postLoaders.length=0,this.pluginSystem.plugins.forEach(function(r){r.prepareRenderFrame(t,e)&&t.postLoaders.push(r)});for(var r,i=eb(this.rootComposition.items);!(r=i()).done;)for(var n,o=r.value.getComponents(eW),a=eb(o);!(n=a()).done;){var s=n.value;s.isActiveAndEnabled&&e.addMeshToDefaultRenderPass(s)}for(var u,c=eb(this.refContent);!(u=c()).done;)for(var l,h=u.value,f=eb(h.getComponent(aV).items);!(l=f()).done;)for(var m,d=l.value.getComponents(eW),p=eb(d);!(m=p()).done;){var v=m.value;v.isActiveAndEnabled&&e.addMeshToDefaultRenderPass(v)}this.postLoaders.forEach(function(r){return r.postProcessFrame(t,e)})},r.shouldRestart=function(){var t=this.rootItem,e=t.ended,r=t.endBehavior;return e&&r===tg.loop},r.shouldDispose=function(){if(this.reusable)return!1;var t=this.rootItem,e=t.ended,r=t.endBehavior;return e&&(!r||3===r)},r.update=function(t,e){if(void 0===e&&(e=!1),this.assigned&&!this.paused){this.shouldRestart()&&this.restart();var r,i,n=this.getUpdateTime(t*this.speed);if(this.globalTime+=n,this.rootTimeline.isActiveAndEnabled){var o=this.rootTimeline.toLocalTime(this.globalTime/1e3);this.rootTimeline.setTime(o)}this.updateVideo(),this.updatePluginLoaders(t),this.callStart(this.rootItem),this.callUpdate(this.rootItem,n),this.callLateUpdate(this.rootItem,n),null==(i=this.extraCamera)||null==(r=i.getComponent(nL))||r.update(t),this.updateCamera(),this.shouldDispose()?this.dispose():e||this.prepareRender()}},r.getUpdateTime=function(t){var e=1e3*this.startTime,r=1e3*this.rootTimeline.getTime();return t<0&&r+t<e?e-r:t},r.callStart=function(t){for(var e,r=eb(t.itemBehaviours);!(e=r()).done;){var i=e.value;i.isActiveAndEnabled&&!i.started&&(i.start(),i.started=!0)}for(var n,o=eb(t.rendererComponents);!(n=o()).done;){var a=n.value;a.isActiveAndEnabled&&!a.started&&(a.start(),a.started=!0)}for(var s,u=eb(t.children);!(s=u()).done;){var c=s.value;this.callStart(c)}},r.callUpdate=function(e,r){for(var i,n=eb(e.itemBehaviours);!(i=n()).done;){var o=i.value;o.isActiveAndEnabled&&o.started&&o.update(r)}for(var a,s=eb(e.rendererComponents);!(a=s()).done;){var u=a.value;u.isActiveAndEnabled&&u.started&&u.update(r)}for(var c,l=eb(e.children);!(c=l()).done;){var h=c.value;t.VFXItem.isComposition(h)&&h.ended&&h.endBehavior===tg.loop?(h.getComponent(aV).resetStatus(),this.callUpdate(h,0)):this.callUpdate(h,r)}},r.callLateUpdate=function(t,e){for(var r,i=eb(t.itemBehaviours);!(r=i()).done;){var n=r.value;n.isActiveAndEnabled&&n.started&&n.lateUpdate(e)}for(var o,a=eb(t.rendererComponents);!(o=a()).done;){var s=o.value;s.isActiveAndEnabled&&s.started&&s.lateUpdate(e)}for(var u,c=eb(t.children);!(u=c()).done;){var l=u.value;this.callLateUpdate(l,e)}},r.buildItemTree=function(e){if(e.composition){for(var r,i=new Map,n=e.getComponent(aV).items,o=eb(n);!(r=o()).done;){var a=r.value;i.set(a.id,a)}for(var s,u=eb(n);!(s=u()).done;){var c=s.value;if(void 0===c.parentId)c.setParent(e);else{var l=this.getParentIdWithoutSuffix(c.parentId),h=i.get(l);if(h)t.VFXItem.isTree(h)&&c.parentId.includes("^")?(c.parent=h,c.transform.parentTransform=h.getNodeTransform(c.parentId)):(c.parent=h,c.transform.parentTransform=h.transform),h.children.push(c);else throw Error("元素引用了不存在的元素,请检查数据")}}for(var f,m=eb(n);!(f=m()).done;){var d=f.value;t.VFXItem.isComposition(d)&&this.buildItemTree(d)}}},r.getParentIdWithoutSuffix=function(t){var e=t.lastIndexOf("^");return e>-1?t.substring(0,e):t},r.updateVideo=function(){var t,e=performance.now();e-this.lastVideoUpdateTime>33&&((null!=(t=this.textures)?t:[]).forEach(function(t){return null==t?void 0:t.uploadCurrentVideoFrame()}),this.lastVideoUpdateTime=e)},r.updateCamera=function(){this.camera.updateMatrix()},r.updatePluginLoaders=function(t){var e=this;this.pluginSystem.plugins.forEach(function(r){return r.onCompositionUpdate(e,t)})},r.getItemByName=function(t){return this.rootItem.find(t)},r.getHitTestRay=function(t,e){var r=this.renderFrame.editorTransform,i=r.x,n=r.y;return rr((t-r.z)/i,(e-r.w)/n,this.camera)},r.getEngine=function(){var t;return null==(t=this.renderer)?void 0:t.engine},r.hitTest=function(t,e,r,i){if(this.isDestroyed)return[];var n,o=[],a=this.getHitTestRay(t,e);return null==(n=this.rootItem.getComponent(aV))||n.hitTest(a,t,e,o,r,i),this.refContent.forEach(function(n){var s;null==(s=n.getComponent(aV))||s.hitTest(a,t,e,o,r,i)}),o},r.addInteractiveItem=function(t,e){if(e===tu.MESSAGE)return null==this.onMessageItem||this.onMessageItem.call(this,{name:t.name,phrase:2,id:t.id,compositionId:this.id}),t.id},r.removeInteractiveItem=function(t,e){e===tu.MESSAGE&&(null==this.onMessageItem||this.onMessageItem.call(this,{name:t.name,phrase:1,id:t.id,compositionId:this.id}))},r.destroyTextures=function(e){for(var r=0;r<e.length;r++){var i,n=e[r];if(n){if(n.sourceType===t.TextureSourceType.data&&!this.texInfo[n.getInstanceId()]){n!==(null==(i=this.rendererOptions)?void 0:i.emptyTexture)&&n!==this.renderFrame.transparentTexture&&n!==this.getEngine().emptyTexture&&n.dispose();continue}!this.autoRefTex||--this.texInfo[n.getInstanceId()]||n.dispose()}}},r.destroyItem=function(t){var e=this;t.type==tl.composition?t.endBehavior!==tg.freeze&&t.getComponent(aV).items.forEach(function(t){return e.pluginSystem.plugins.forEach(function(r){return r.onCompositionItemRemoved(e,t)})}):(t5(this.items,t),this.pluginSystem.plugins.forEach(function(r){return r.onCompositionItemRemoved(e,t)}))},r.lost=function(t){this.videoState=this.textures.map(function(t){if("video"in t.source)return t.source.video.pause(),t.source.video.currentTime}),this.textures.map(function(t){return t.dispose()}),this.dispose()},r.dispose=function(){var e,r,i=this;if(!this.destroyed){this.destroyed=!0;var n={},o=this.textures;o&&this.keepResource&&o.forEach(function(t){(null==t?void 0:t.dispose)&&(n[t.id]=t.dispose,t.dispose=eh)}),this.rootItem.dispose(),this.renderFrame.dispose(),null==(e=this.rendererOptions)||e.emptyTexture.dispose(),null==(r=this.pluginSystem)||r.destroyComposition(this),this.update=function(){el.error("Update disposed composition: "+i.name+".")},this.onPlayerPause=eh,this.dispose=eh,o&&this.keepResource&&o.forEach(function(t){return t.dispose=n[t.id]}),this.compositionSourceManager.dispose(),this.refCompositionProps.clear(),this.renderer.env!==rY&&this.renderer.clear({stencilAction:t.TextureLoadAction.clear,clearStencil:0,depthAction:t.TextureLoadAction.clear,clearDepth:1,colorAction:t.TextureLoadAction.clear,clearColor:[0,0,0,0]})}},r.setEditorTransform=function(t,e,r){this.renderFrame.editorTransform.set(t,t,e,r)},r.translateByPixel=function(t,e){if(!this.renderer){console.warn("Can not translate position when container not assigned");return}this.rootItem.translateByPixel(t,e)},r.translate=function(t,e,r){this.rootItem.translate(t,e,r)},r.setPosition=function(t,e,r){this.rootItem.setPosition(t,e,r)},r.rotate=function(t,e,r){this.rootItem.rotate(t,e,r)},r.setRotation=function(t,e,r){this.rootItem.setRotation(t,e,r)},r.scale=function(t,e,r){this.rootItem.scale(t,e,r)},r.setScale=function(t,e,r){this.rootItem.setScale(t,e,r)},r.offloadTexture=function(){this.textureOffloaded||(this.textures.forEach(function(t){return t&&t.offloadData()}),this.textureOffloaded=!0)},r.getRendererOptions=function(){return this.rendererOptions||(this.rendererOptions={emptyTexture:this.renderFrame.emptyTexture,cachePrefix:"-"}),this.rendererOptions},r.reloadTexture=function(){var t=this;return tq(function(){return t$(this,function(e){switch(e.label){case 0:if(!t.textureOffloaded)return[3,2];return[4,Promise.all(t.textures.map(function(t){return null==t?void 0:t.reloadData()}))];case 1:e.sent(),t.textureOffloaded=!1,e.label=2;case 2:return[2]}})})()},eT(e,[{key:"handleEnd",set:function(t){console.warn("The handleEnd property is deprecated. Use onEnd instead."),this.onEnd=t}},{key:"textures",get:function(){return this.compositionSourceManager.textures}},{key:"items",get:function(){return this.rootComposition.items}},{key:"startTime",get:function(){var t;return null!=(t=this.rootComposition.startTime)?t:0}},{key:"time",get:function(){return this.rootTimeline.getTime()}},{key:"isDestroyed",get:function(){return this.destroyed}}]),e}(),aF=0,az=function(){function t(t,e){this.refCompositions=new Map,this.refCompositionProps=new Map,this.mask=0,this.engine=e;var r=t.jsonScene,i=t.renderLevel,n=t.textureOptions,o=t.pluginSystem,a=t.totalTime,s=r.compositions,u=r.imgUsage,c=r.compositionId;if(!n)throw Error("scene.textures expected");for(var l,h=eb(s);!(l=h()).done;){var f=l.value;f.id===c?this.composition=f:this.refCompositions.set(f.id,f)}if(!this.composition)throw Error("Invalid composition id: "+c);this.jsonScene=r,this.renderLevel=i,this.pluginSystem=o,this.totalTime=null!=a?a:0,this.imgUsage=null!=u?u:{},this.textures=n,aF=0,this.sourceContent=this.getContent(this.composition)}var e=t.prototype;return e.getContent=function(t){var e=t.id,r=t.duration,i=t.name,n=t.endBehavior,o=t.camera,a=t.globalVolume,s=t.startTime,u=this.assembleItems(t);return{id:e,duration:r,name:i,endBehavior:isNaN(n)?1:n,items:u,camera:o,startTime:void 0===s?0:s,globalVolume:a}},e.assembleItems=function(t){var e=this,r=[];this.mask++;for(var i,n={},o=eb(this.jsonScene.components);!(i=o()).done;){var a=i.value;n[a.id]=a}for(var s,u=eb(t.items);!(s=u()).done;){var c=s.value,l=this.engine.jsonSceneData[c.id];if(aE(l.renderLevel,this.renderLevel)){if(l.type===tl.sprite||l.type===tl.particle)for(var h,f=eb(l.components);!(h=f()).done;){var m=n[h.value.id];this.preProcessItemContent(m)}else{var d=l.content;d&&this.preProcessItemContent(d)}var p=l.pn,v=this.jsonScene.plugins,y=void 0===v?[]:v;if(l.listIndex=aF++,void 0!==p&&Number.isInteger(p)&&(l.pluginName=y[p]),l.type===tl.composition){var g=l.content.options.refId;if(!this.refCompositions.get(g))throw Error("Invalid Ref Composition id: "+g);var x=this.getContent(this.refCompositions.get(g));this.refCompositionProps.has(g)||this.refCompositionProps.set(g,x),x.items.forEach(function(t){e.processMask(t.content)}),l.items=x.items}r.push(l)}}return r},e.preProcessItemContent=function(t){if(t.renderer){t.renderer=this.changeTex(t.renderer),t.renderer.mask||this.processMask(t.renderer);var e,r=t.splits&&!t.textureSheetAnimation&&t.splits[0];Number.isInteger(t.renderer.shape)?t.renderer.shape=ou(null==(e=this.jsonScene)?void 0:e.shapes[t.renderer.shape],r):t.renderer.shape&&ep(t.renderer.shape)&&(t.renderer.shape=ou(t.renderer.shape,r))}t.trails&&(t.trails=this.changeTex(t.trails))},e.changeTex=function(t){if(!t.texture)return t;var e=t.texture.id;return void 0!==e&&this.addTextureUsage(e),t},e.addTextureUsage=function(t){var e,r=null!=(e=this.imgUsage)?e:{};t&&r&&(r.hasOwnProperty(t)||(r[t]=0),r[t]++)},e.processMask=function(t){var e=t.maskMode;e!==to.NONE&&(t.mask||(e===to.MASK?t.mask=++this.mask:e!==to.OBSCURED&&e!==to.REVERSE_OBSCURED||(t.mask=this.mask)))},e.dispose=function(){this.textures=[],this.composition=void 0,this.jsonScene=void 0,this.totalTime=0,this.pluginSystem=void 0,this.sourceContent=void 0,this.refCompositions.clear(),this.refCompositionProps.clear()},t}(),aN=function(){function t(){}return t.collectSerializableObject=function(t,e){if(!e[t.getInstanceId()]){t.toData(),e[t.getInstanceId()]=t;for(var r,i=ek(t),n=eb(Object.keys(i));!(r=n()).done;){var o=r.value,a=t.taggedProperties[o];if(void 0===a&&(a=t[o]),tK(a,eX))this.collectSerializableObject(a,e);else if(tK(a,Array))for(var s,u=eb(a);!(s=u()).done;){var c=s.value;tK(c,eX)&&this.collectSerializableObject(c,e)}else if(tK(a,Object))for(var l,h=eb(Object.keys(a));!(l=h()).done;){var f=a[l.value];tK(f,eX)&&this.collectSerializableObject(f,e)}}}},t.serializeEffectObject=function(e){var r={},i=e.engine,n=r3({},i.jsonSceneData);t.collectSerializableObject(e,r);for(var o,a=eb(Object.keys(r));!(o=a()).done;){var s=r[o.value];n[s.getInstanceId()]||(n[s.getInstanceId()]={}),t.serializeTaggedProperties(s,n[s.getInstanceId()])}return n},t.serializeTaggedProperties=function(e,r){e.toData(),r||(r={});for(var i,n=ek(e),o=eb(Object.keys(n));!(i=o()).done;){var a=i.value,s=e[a];"number"==typeof s||"string"==typeof s||"boolean"==typeof s||t.checkTypedArray(s)?r[a]=s:tK(s,Array)?(r[a]||(r[a]=[]),t.serializeArrayProperty(s,r[a],0)):tK(s,eX)?r[a]={id:s.getInstanceId()}:tK(s,Object)&&(r[a]||(r[a]={}),t.serializeObjectProperty(s,r[a],0))}for(var u,c=eb(Object.keys(e.taggedProperties));!(u=c()).done;){var l=u.value,h=e.taggedProperties[l];"number"==typeof h||"string"==typeof h||"boolean"==typeof h||t.checkTypedArray(h)?r[l]=h:tK(h,Array)?(r[l]||(r[l]=[]),t.serializeArrayProperty(h,r[l],0)):tK(h,eX)?r[l]={id:h.getInstanceId()}:tK(h,Object)&&(r[l]||(r[l]={}),t.serializeObjectProperty(h,r[l],0))}return r},t.deserializeTaggedProperties=function(e,r){for(var i,n=r.taggedProperties,o=ek(r),a=r.engine,s=eb(Object.keys(e));!(i=s()).done;){var u=i.value;if(!o[u]){var c=e[u];n[u]=t.deserializeProperty(c,a,0)}}for(var l,h=eb(Object.keys(o));!(l=h()).done;){var f=l.value,m=e[f];void 0!==m&&(r[f]=t.deserializeProperty(m,a,0))}r.fromData(n)},t.deserializeTaggedPropertiesAsync=function(e,r){return tq(function(){var i,n,o,a,s,u,c,l,h,f,m;return t$(this,function(d){switch(d.label){case 0:i=r.taggedProperties,n=ek(r),o=r.engine,a=eb(Object.keys(e)),d.label=1;case 1:if((s=a()).done)return[3,4];if(n[u=s.value])return[3,3];return c=e[u],[4,t.deserializePropertyAsync(c,o,0)];case 2:i[u]=d.sent(),d.label=3;case 3:return[3,1];case 4:l=eb(Object.keys(n)),d.label=5;case 5:if((h=l()).done)return[3,8];if(void 0===(m=e[f=h.value]))return[3,7];return[4,t.deserializePropertyAsync(m,o,0)];case 6:r[f]=d.sent(),d.label=7;case 7:return[3,5];case 8:return r.fromData(i),[2]}})})()},t.checkTypedArray=function(t){return tK(t,Int8Array)||tK(t,Uint8Array)||tK(t,Uint8ClampedArray)||tK(t,Int16Array)||tK(t,Uint16Array)||tK(t,Int32Array)||tK(t,Uint32Array)||tK(t,Float32Array)||tK(t,Float64Array)},t.checkDataPath=function(t){return tK(t,Object)&&1===Object.keys(t).length&&t.id&&32===t.id.length},t.checkGLTFNode=function(t){return tK(t,Object)&&void 0!==t.nodeIndex&&void 0!==t.isJoint},t.deserializeProperty=function(e,r,i){if(i>14){console.error("序列化数据的内嵌对象层数大于上限");return}if("number"==typeof e||"string"==typeof e||"boolean"==typeof e)return e;if(tK(e,Array)){for(var n,o=[],a=eb(e);!(n=a()).done;){var s=n.value;o.push(t.deserializeProperty(s,r,i+1))}return o}if(t.checkDataPath(e))return r.assetLoader.loadGUID(e.id);if(tK(e,eX)||t.checkTypedArray(e)||t.checkGLTFNode(e))return e;if(tK(e,Object)){for(var u,c={},l=eb(Object.keys(e));!(u=l()).done;){var h=u.value;c[h]=t.deserializeProperty(e[h],r,i+1)}return c}},t.deserializePropertyAsync=function(e,r,i){return tq(function(){var n,o,a,s,u,c,l,h,f;return t$(this,function(m){switch(m.label){case 0:if(i>14)return console.error("序列化数据的内嵌对象层数大于上限"),[2];if(!("number"==typeof e||"string"==typeof e||"boolean"==typeof e))return[3,1];return[2,e];case 1:if(!tK(e,Array))return[3,6];n=[],o=eb(e),m.label=2;case 2:if((a=o()).done)return[3,5];return s=a.value,u=n.push,[4,t.deserializePropertyAsync(s,r,i+1)];case 3:u.apply(n,[m.sent()]),m.label=4;case 4:return[3,2];case 5:return[2,n];case 6:if(!t.checkDataPath(e))return[3,8];return[4,r.assetLoader.loadGUIDAsync(e.id)];case 7:return[2,m.sent()];case 8:if(!(tK(e,eX)||t.checkTypedArray(e)||t.checkGLTFNode(e)))return[3,9];return[2,e];case 9:if(!tK(e,Object))return[3,14];c={},l=eb(Object.keys(e)),m.label=10;case 10:if((h=l()).done)return[3,13];return f=h.value,[4,t.deserializePropertyAsync(e[f],r,i+1)];case 11:c[f]=m.sent(),m.label=12;case 12:return[3,10];case 13:return[2,c];case 14:return[2]}})})()},t.serializeObjectProperty=function(e,r,i){if(i>14){console.error("序列化数据的内嵌对象层数大于上限");return}r||(r={});for(var n,o=eb(Object.keys(e));!(n=o()).done;){var a=n.value,s=e[a];"number"==typeof s||"string"==typeof s||"boolean"==typeof s||t.checkTypedArray(e)?r[a]=s:tK(s,Array)?(r[a]||(r[a]=[]),t.serializeArrayProperty(s,r[a],i+1)):tK(s,eX)?r[a]={id:s.getInstanceId()}:tK(s,Object)&&(r[a]||(r[a]={}),t.serializeObjectProperty(s,r[a],i+1))}},t.serializeArrayProperty=function(e,r,i){if(i>14){console.error("序列化数据的内嵌对象层数大于上限");return}r||(r=[]);for(var n=0;n<e.length;n++){var o=e[n];"number"==typeof o||"string"==typeof o||"boolean"==typeof o||t.checkTypedArray(e)?r[n]=o:tK(o,Array)?(r[n]||(r[n]=[]),this.serializeArrayProperty(o,r[n],i+1)):tK(o,eX)?r[n]={id:o.getInstanceId()}:tK(o,Object)&&(r[n]||(r[n]={}),t.serializeObjectProperty(o,r[n],i+1))}},t}(),aD=function(){function t(t){this.engine=t}var e=t.prototype;return e.loadGUID=function(e){if(this.engine.objectInstance[e])return this.engine.objectInstance[e];var r,i=this.findData(e);if(!i){console.error("未找到 uuid: "+e+"的对象数据");return}switch(i.dataType){case tV.Material:r=iE.create(this.engine);break;case tV.Geometry:r=iV.create(this.engine);break;case tV.Texture:return im.create(this.engine,i);default:var n=t.getClass(i.dataType);n&&(r=new n(this.engine))}if(!r){console.error("未找到 DataType: "+i.dataType+"的构造函数");return}return r.setInstanceId(i.id),this.engine.addInstance(r),aN.deserializeTaggedProperties(i,r),r},e.loadGUIDAsync=function(e){var r=this;return tq(function(){var i,n,o;return t$(this,function(a){switch(a.label){case 0:if(r.engine.objectInstance[e])return[2,r.engine.objectInstance[e]];if(n=r.findData(e))return[3,2];if(!r.engine.database)return console.error("未找到 uuid: "+e+"的对象数据"),[2,void 0];return[4,r.engine.database.loadGUID(e)];case 1:if(!(i=a.sent()))return console.error("未找到 uuid: "+e+"的磁盘数据"),[2,void 0];return r.engine.addInstance(i),[2,i];case 2:switch(n.dataType){case tV.Material:i=iE.create(r.engine);break;case tV.Geometry:i=iV.create(r.engine);break;case tV.Texture:return[2,i=im.create(r.engine,n)];default:(o=t.getClass(n.dataType))&&(i=new o(r.engine))}if(!i)return console.error("未找到 DataType: "+n.dataType+"的构造函数"),[2,void 0];return i.setInstanceId(n.id),r.engine.addInstance(i),[4,aN.deserializeTaggedPropertiesAsync(n,i)];case 3:return a.sent(),[2,i]}})})()},e.findData=function(t){return this.engine.jsonSceneData[t]},t.getClass=function(t){return eN[t]},t}(),aU=function(){function t(){}return t.prototype.loadGUID=function(t){return tq(function(){return t$(this,function(t){return[2,void 0]})})()},t}(),ak=function(){function e(){this.destroyed=!1,this.textures=[],this.materials=[],this.geometries=[],this.meshes=[],this.renderPasses=[],this.jsonSceneData={},this.objectInstance={},this.assetLoader=new aD(this),this.createDefaultTexture()}var r=e.prototype;return r.clearResources=function(){this.jsonSceneData={},this.objectInstance={}},r.addEffectsObjectData=function(t){this.jsonSceneData[t.id]=t},r.findEffectsObjectData=function(t){return this.jsonSceneData[t]},r.addInstance=function(t){this.objectInstance[t.getInstanceId()]=t},r.getInstance=function(t){return this.objectInstance[t]},r.removeInstance=function(t){delete this.objectInstance[t]},r.addPackageDatas=function(t){var e=t.jsonScene;if(e.items)for(var r,i=eb(e.items);!(r=i()).done;){var n=r.value;this.addEffectsObjectData(n)}if(e.materials)for(var o,a=eb(e.materials);!(o=a()).done;){var s=o.value;this.addEffectsObjectData(s)}if(e.shaders)for(var u,c=eb(e.shaders);!(u=c()).done;){var l=u.value;this.addEffectsObjectData(l)}if(e.geometries)for(var h,f=eb(e.geometries);!(h=f()).done;){var m=h.value;this.addEffectsObjectData(m)}if(e.components)for(var d,p=eb(e.components);!(d=p()).done;){var v=d.value;this.addEffectsObjectData(v)}if(t.textureOptions)for(var y,g=eb(t.textureOptions);!(y=g()).done;){var x=y.value;this.addEffectsObjectData(x)}},r.createVFXItemsAsync=function(t){var e=this;return tq(function(){var r,i,n,o;return t$(this,function(a){switch(a.label){case 0:r=eb(t.jsonScene.items),a.label=1;case 1:if((i=r()).done)return[3,4];if(!("ECS"===(o=(n=i.value).type)||"camera"===o||o===tl.sprite||o===tl.particle||o===tl.mesh||o===tl.skybox||o===tl.light||o===tl.tree||o===tl.interact||o===tl.camera)||!e.database)return[3,3];return[4,e.assetLoader.loadGUIDAsync(n.id)];case 2:a.sent(),a.label=3;case 3:return[3,1];case 4:return[2]}})})()},r.addTexture=function(t){this.destroyed||t4(this.textures,t)},r.removeTexture=function(t){this.destroyed||t5(this.textures,t)},r.addMaterial=function(t){this.destroyed||t4(this.materials,t)},r.removeMaterial=function(t){this.destroyed||t5(this.materials,t)},r.addGeometry=function(t){this.destroyed||t4(this.geometries,t)},r.removeGeometry=function(t){this.destroyed||t5(this.geometries,t)},r.addMesh=function(t){this.destroyed||t4(this.meshes,t)},r.removeMesh=function(t){this.destroyed||t5(this.meshes,t)},r.addRenderPass=function(t){this.destroyed||t4(this.renderPasses,t)},r.removeRenderPass=function(t){this.destroyed||t5(this.renderPasses,t)},r.getShaderLibrary=function(){return this.renderer.getShaderLibrary()},r.createDefaultTexture=function(){var e={type:rZ.UNSIGNED_BYTE,format:rZ.RGBA,internalFormat:rZ.RGBA,wrapS:rZ.MIRRORED_REPEAT,wrapT:rZ.MIRRORED_REPEAT,minFilter:rZ.NEAREST,magFilter:rZ.NEAREST};this.emptyTexture=im.create(this,r3({data:{width:1,height:1,data:new Uint8Array([255,255,255,255])},sourceType:t.TextureSourceType.data},e)),this.transparentTexture=im.create(this,r3({data:{width:1,height:1,data:new Uint8Array([0,0,0,0])},sourceType:t.TextureSourceType.data},e))},r.dispose=function(){if(!this.destroyed){this.destroyed=!0;var t=[];this.renderPasses.length>0&&t.push("Pass "+this.renderPasses.length),this.meshes.length>0&&t.push("Mesh "+this.meshes.length),this.geometries.length>0&&t.push("Geom "+this.geometries.length),this.textures.length>0&&t.push("Tex "+this.textures.length),t.length>0&&el.warn("Release GPU memory: "+t.join(", ")),this.renderPasses.forEach(function(t){t.dispose()}),this.meshes.forEach(function(t){t.dispose()}),this.geometries.forEach(function(t){t.dispose()}),this.materials.forEach(function(t){t.dispose()}),this.textures.forEach(function(t){t.dispose()}),this.textures=[],this.materials=[],this.geometries=[],this.meshes=[],this.renderPasses=[],this.renderer=null}},eT(e,[{key:"isDestroyed",get:function(){return this.destroyed}}]),e}(),aB=function(){function t(t){void 0===t&&(t=60),this.paused=!0,this.lastTime=0,this._deltaTime=0,this.setFPS(t),this.tickers=[]}var e=t.prototype;return e.getFPS=function(){return this.targetFPS},e.setFPS=function(t){this.targetFPS=eO(t,1,120),this.interval=Math.floor(1e3/t)-2},e.getPaused=function(){return this.paused},e.start=function(){var t=this;if(this.paused=!1,this._deltaTime=0,!this.intervalId){this.lastTime=performance.now();var e=requestAnimationFrame||function(t){return window.setTimeout(t,16.7)},r=function(){t.intervalId=e(r),t.paused||t.tick()};r()}},e.stop=function(){(cancelAnimationFrame||window.clearTimeout)(this.intervalId),this.intervalId=0,this.lastTime=0,this.paused=!0,this._deltaTime=0,this.tickers=[]},e.pause=function(){this.paused=!0,this._deltaTime=0},e.resume=function(){this.paused=!1,this._deltaTime=0},e.tick=function(){if(!this.paused){var t=performance.now();if(this._deltaTime=t-this.lastTime,this._deltaTime>=this.interval){this.lastTime=t,this.resetTickers&&(this.tickers=this.tickers.filter(function(t){return t}),this.resetTickers=!1);for(var e=0,r=this.tickers.length;e<r;e++)(0,this.tickers[e])(this._deltaTime)}}},e.add=function(t){if("function"!=typeof t)throw Error("Ticker: The tick object must implement the tick method.");this.tickers.push(t)},eT(t,[{key:"deltaTime",get:function(){return this._deltaTime}}]),t}();oK("camera",rz,t.VFXItem,!0),oK("text",oH,t.VFXItem,!0),oK("sprite",np,t.VFXItem,!0),oK("particle",oN,t.VFXItem,!0),oK("cal",oD,t.VFXItem,!0),oK("interact",rH,t.VFXItem,!0);var aG=((tX={})[rZ.ONE]=tW.OneFactor,tX[rZ.ZERO]=tW.ZeroFactor,tX[rZ.SRC_COLOR]=tW.SrcColorFactor,tX[rZ.SRC_ALPHA]=tW.SrcAlphaFactor,tX[rZ.ONE_MINUS_SRC_COLOR]=tW.OneMinusSrcColorFactor,tX[rZ.ONE_MINUS_SRC_ALPHA]=tW.OneMinusSrcAlphaFactor,tX[rZ.DST_COLOR]=tW.DstColorFactor,tX[rZ.DST_ALPHA]=tW.DstAlphaFactor,tX[rZ.ONE_MINUS_DST_COLOR]=tW.OneMinusDstColorFactor,tX[rZ.ONE_MINUS_DST_ALPHA]=tW.OneMinusDstAlphaFactor,tX),aX=((tH={})[rZ.NEVER]=tW.NeverStencilFunc,tH[rZ.EQUAL]=tW.EqualStencilFunc,tH[rZ.LESS]=tW.LessStencilFunc,tH[rZ.LEQUAL]=tW.LessEqualStencilFunc,tH[rZ.ALWAYS]=tW.AlwaysStencilFunc,tH[rZ.NOTEQUAL]=tW.NotEqualStencilFunc,tH[rZ.GREATER]=tW.GreaterStencilFunc,tH[rZ.GEQUAL]=tW.GreaterEqualStencilFunc,tH),aH=((tY={})[rZ.KEEP]=tW.KeepStencilOp,tY[rZ.ZERO]=tW.ZeroStencilOp,tY[rZ.REPLACE]=tW.ReplaceStencilOp,tY[rZ.INCR]=tW.IncrementStencilOp,tY[rZ.DECR]=tW.DecrementStencilOp,tY[rZ.INCR_WRAP]=tW.IncrementWrapStencilOp,tY[rZ.DECR_WRAP]=tW.IncrementWrapStencilOp,tY[rZ.INVERT]=tW.InvertStencilOp,tY),aY=((tj={})[rZ.NEVER]=tW.NeverDepth,tj[rZ.ALWAYS]=tW.AlwaysDepth,tj[rZ.EQUAL]=tW.EqualDepth,tj[rZ.LESS]=tW.LessDepth,tj[rZ.LEQUAL]=tW.LessEqualDepth,tj[rZ.GREATER]=tW.GreaterDepth,tj[rZ.GEQUAL]=tW.GreaterEqualDepth,tj[rZ.NOTEQUAL]=tW.NotEqualDepth,tj),aj=["uMaskTex","uSampler0","uSampler1","uSampler2","uSampler3","uSampler4","uSampler5","uSampler6","uSampler7","uSampler8","uSampler9","uSampler10","uSampler11","uSampler12","uSampler13","uSampler14","uSampler15","uColorOverLifetime","uColorOverTrail"],aW=function(e){function r(r,i){(n=e.call(this,r,i)||this).textures={},n.material=new tW.RawShaderMaterial,n.uniforms={};for(var n,o=null==i?void 0:i.shader,a=r.gpuCapability.level,s=0;s<t.maxSpriteMeshItemCount;s++)n.uniforms["uSampler"+s]=new tW.Uniform(null);return n.uniforms.uEditorTransform=new tW.Uniform([1,1,0,0]),n.uniforms.effects_ObjectToWorld=new tW.Uniform(new tW.Matrix4().identity()),n.uniforms.effects_MatrixInvV=new tW.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,8,1]),n.uniforms.effects_MatrixVP=new tW.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,-8,1]),n.uniforms.effects_MatrixV=new tW.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,8,1]),n.material=new tW.RawShaderMaterial({vertexShader:r$(o.marcos,o.vertex,t.ShaderType.vertex,n.engine.gpuCapability.level),fragmentShader:r$(o.marcos,o.fragment,t.ShaderType.fragment,n.engine.gpuCapability.level),alphaToCoverage:!1,depthFunc:tW.LessDepth,polygonOffsetFactor:tW.ZeroFactor,polygonOffsetUnits:tW.ZeroFactor,polygonOffset:!1,uniforms:n.uniforms}),1===a?n.material.glslVersion=tW.GLSL1:n.material.glslVersion=tW.GLSL3,n}e_(r,e);var i=r.prototype;return i.onSetUniformValue=function(t,e){var r;aj.includes(t)&&(r=e.texture),this.material.uniforms[t]?this.material.uniforms[t].value=r||e:this.material.uniforms[t]=new tW.Uniform(r||e)},i.use=function(t,e){var r=this.engine,i=r.composition,n=r.threeCamera;if(n){var o=new tW.Matrix4().multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse);this.setMatrix("effects_MatrixVP",o)}else{var a=i.camera;this.setMatrix("effects_MatrixVP",a.getViewProjectionMatrix()),this.setMatrix("effects_MatrixV",a.getViewMatrix())}},i.onRemoveUniformValue=function(t){this.material.uniforms[t]&&(this.material.uniforms[t].value=null)},i.getTexture=function(t){return this.textures[t]},i.setTexture=function(t,e){this.setUniform(t,e.texture),this.textures[t]=e},i.getVector4Array=function(t){return this.uniforms[t].value},i.setVector4Array=function(t,e){for(var r,i=[],n=eb(e);!(r=n()).done;){var o=r.value;i=i.concat(o.toArray())}this.setUniform(t,i)},i.getMatrixArray=function(t){return this.uniforms[t].value},i.setMatrixArray=function(t,e){for(var r,i=[],n=eb(e);!(r=n()).done;){var o=r.value;i=i.concat(o.elements)}this.setUniform(t,i)},i.setMatrixNumberArray=function(t,e){this.setUniform(t,e)},i.getMatrix=function(t){return this.uniforms[t].value},i.setMatrix=function(t,e){this.setUniform(t,e)},i.setMatrix3=function(t,e){this.setUniform(t,e)},i.getVector2=function(t){return this.uniforms[t].value},i.setVector2=function(t,e){this.setUniform(t,e)},i.getVector3=function(t){return this.uniforms[t].value},i.setVector3=function(t,e){this.setUniform(t,e)},i.getVector4=function(t){return this.uniforms[t].value},i.setVector4=function(t,e){this.setUniform(t,e)},i.getColor=function(t){return this.uniforms[t].value},i.setColor=function(t,e){this.setUniform(t,e)},i.getQuaternion=function(t){return this.uniforms[t].value},i.setQuaternion=function(t,e){this.setUniform(t,e)},i.getFloat=function(t){return this.uniforms[t].value},i.setFloat=function(t,e){this.setUniform(t,e)},i.getFloats=function(t){return this.uniforms[t].value},i.setFloats=function(t,e){this.setUniform(t,e)},i.getInt=function(t){return this.uniforms[t].value},i.setInt=function(t,e){this.setUniform(t,e)},i.hasUniform=function(t){return!!this.uniforms[t]},i.setUniform=function(t,e){var r=new tW.Uniform(e);this.uniforms[t]=this.material.uniforms[t]=r},i.enableMacro=function(t){throw Error("Method not implemented.")},i.disableMacro=function(t){throw Error("Method not implemented.")},i.isMacroEnabled=function(t){throw Error("Method not implemented.")},i.clone=function(t){throw Error("Method not implemented.")},i.cloneUniforms=function(t){throw Error("Method not implemented.")},i.fromData=function(t){throw Error("Method not implemented.")},i.dispose=function(t){this.destroyed&&(this.material.dispose(),this.destroyed=!0)},eT(r,[{key:"blending",get:function(){return this.material.blending!==tW.NoBlending},set:function(t){this.material.blending=t?tW.CustomBlending:tW.NoBlending}},{key:"blendFunction",get:function(){var t=this.material,e=t.blendSrc,r=t.blendDst;return[e,r,t.blendSrcAlpha||e,t.blendDstAlpha||r]},set:function(t){if(t){var e=t[0],r=t[1],i=t[2],n=t[3];this.material.blendSrc=aG[e],this.material.blendDst=aG[r],this.material.blendSrcAlpha=aG[i],this.material.blendDstAlpha=aG[n]}}},{key:"blendEquation",get:function(){var t=this.material,e=t.blendEquation;return[e,t.blendEquationAlpha||e]},set:function(t){if(t){var e=t[0],r=t[1];this.material.blendEquation=e,this.material.blendEquationAlpha=r}}},{key:"depthTest",get:function(){return this.material.depthTest},set:function(t){this.material.depthTest=!!t}},{key:"depthMask",get:function(){return this.material.depthWrite},set:function(t){this.material.depthWrite=!!t}},{key:"depthFunc",get:function(){return this.material.depthFunc},set:function(t){void 0!==t&&(this.material.depthFunc=aY[t])}},{key:"polygonOffsetFill",get:function(){return this.material.polygonOffset},set:function(t){this.material.polygonOffset=!!t}},{key:"polygonOffset",get:function(){return[this.material.polygonOffsetFactor,this.material.polygonOffsetUnits]},set:function(t){if(t){var e=t[0],r=t[1];this.material.polygonOffsetFactor=e,this.material.polygonOffsetUnits=r}}},{key:"sampleAlphaToCoverage",get:function(){return this.material.alphaToCoverage},set:function(t){this.material.alphaToCoverage=!!t}},{key:"stencilTest",get:function(){return this.material.stencilWrite},set:function(t){this.material.stencilWrite=!!t}},{key:"stencilMask",get:function(){return[this.material.stencilWriteMask,this.material.stencilWriteMask]},set:function(t){t&&(this.material.stencilWriteMask=t[0])}},{key:"stencilRef",get:function(){return[this.material.stencilRef,this.material.stencilRef]},set:function(t){t&&(this.material.stencilRef=t[0])}},{key:"stencilFunc",get:function(){return[this.material.stencilFunc,this.material.stencilFunc]},set:function(t){t&&(this.material.stencilFunc=aX[t[0]])}},{key:"stencilOpFail",get:function(){return[this.material.stencilFail,this.material.stencilZFail]},set:function(t){t&&(this.material.stencilFail=aH[t[0]])}},{key:"stencilOpZFail",get:function(){return[this.material.stencilZFail,this.material.stencilZFail]},set:function(t){t&&(this.material.stencilZFail=aH[t[0]])}},{key:"stencilOpZPass",get:function(){return[this.material.stencilZPass,this.material.stencilZPass]},set:function(t){t&&(this.material.stencilZPass=aH[t[0]])}},{key:"culling",get:function(){return this.material.side!==tW.DoubleSide},set:function(t){this.material.side=t?tW.FrontSide:tW.DoubleSide}},{key:"cullFace",get:function(){return this.material.side},set:function(t){t===tn.FRONT?this.material.side=tW.FrontSide:t===tn.BACK&&(this.material.side=tW.BackSide)}}]),r}(iE),aZ=1,aq=function(t){function e(e,r){if((i=t.call(this,e)||this).attributes={},i.destroyed=!1,i.attributesName=[],!r)return oU(i);var i,n=r.drawStart,o=r.drawCount,a=r.indices,s=r.mode,u=r.name,c=void 0===u?"effectsGeometry:"+aZ++:u;i.name=c,i.mode=null!=s?s:rZ.TRIANGLES;var l=[],h={},f=new tW.BufferGeometry;return Object.keys(r.attributes).forEach(function(t){var e=r.attributes[t];if("dataSource"in e){var n=e.dataSource;if(n){void 0===h[n]&&i.setAttributeType(n,e,f,h,r.maxVertex);var o=e.size,a=e.offset,s=e.normalize,u=h[n],c=u.buffer,m=u.dataLength,d=new tW.InterleavedBufferAttribute(c,o,(null!=a?a:0)/m,s);f.setAttribute(t,d),h[t]={buffer:c,attribute:d,type:u.type,dataLength:m}}}else i.setAttributeType(t,e,f,h,r.maxVertex);l.push(t)}),a&&a.data&&f.setIndex(new tW.BufferAttribute(a.data,1)),i.geometry=f,i.attributes=h,i.attributesName=l,i.drawStart=void 0===n?0:n,i.drawCount=null!=o?o:0,i}e_(e,t);var r=e.prototype;return r.getAttributeData=function(t){if(void 0!=this.attributes[t])return this.attributes[t].buffer.array},r.setAttributeData=function(t,e){if(void 0!=this.attributes[t]){var r=this.attributes[t].buffer;if(e.length>r.array.length){var i=new tW.InterleavedBuffer(e,r.stride);r=this.attributes[t].attribute.data=i,this.geometry.setAttribute(t,this.attributes[t].attribute)}else r.set(e,0),r.updateRange.count=e.length,r.updateRange.offset=0;this.geometry.attributes[t].needsUpdate=!0}},r.setAttributeSubData=function(t,e,r){void 0!=this.attributes[t]&&(this.attributes[t].buffer.set(r,e),this.geometry.attributes[t].needsUpdate=!0)},r.getAttributeStride=function(t){var e=this.attributes[t];return e.buffer.stride*iI[e.type]},r.getAttributeNames=function(){return this.attributesName},r.getIndexData=function(){var t=this.geometry.getIndex();return null===t?void 0:t.array},r.setIndexData=function(t){t&&(this.geometry.setIndex(new tW.BufferAttribute(t,1)),this.geometry.index.needsUpdate=!0)},r.setIndexSubData=function(t,e){var r=this.geometry.getIndex();if(null!==r){var i=t+e.length;if(r.count<i){var n=new e.constructor(end);n.set(r.array),r.array=n}r.array.set(e,t),this.geometry.index.needsUpdate=!0}},r.setDrawStart=function(t){this.drawStart=t},r.getDrawStart=function(){return this.drawStart},r.setDrawCount=function(t){this.drawCount=t},r.getDrawCount=function(){return this.drawCount},r.dispose=function(){this.destroyed||(this.geometry.dispose(),this.destroyed=!0)},r.setAttributeType=function(t,e,r,i,n){var o=e.stride,a=e.size,s=e.offset,u=e.normalize,c=e.type,l=void 0===c?rZ.FLOAT:c,h=e.data;if(l&&!h&&(h=iP(l)),h){var f=tK(h,Float32Array)?Float32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,m=(void 0===o?0:o)/f,d=(n=(null!=n?n:0)*m)||a*f;d&&0===h.length&&(h=tK(h,Float32Array)?new Float32Array(d):new Uint16Array(d));var p=new tW.InterleavedBuffer(h,m),v=new tW.InterleavedBufferAttribute(p,a,(null!=s?s:0)/f,u);r.setAttribute(t,v),i[t]={buffer:p,attribute:v,type:l,dataLength:f}}},eT(e,[{key:"drawCount",get:function(){return this.geometry.drawRange.count},set:function(t){this.geometry.drawRange.count=t}},{key:"drawStart",get:function(){return this.geometry.drawRange.start},set:function(t){this.geometry.drawRange.start=t}}]),e}(iV),aK=function(e){function r(t,r){if(!r)return oU(i);var i,n=r.material,o=r.geometry,a=r.priority;return(i=e.call(this,t,r)||this).geometry=o,i.material=n,o.mode===rZ.LINES?i.mesh=new tW.LineSegments(o.geometry,n.material):i.mesh=new tW.Mesh(o.geometry,n.material),i.priority=void 0===a?0:a,i}e_(r,e);var i=r.prototype;return i.setVisible=function(t){this.mesh.visible=t},i.getVisible=function(){return this.mesh.visible},i.firstGeometry=function(){return this.geometry},i.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e,this.mesh.material=e.material},i.start=function(){e.prototype.start.call(this),this.engine.threeGroup.add(this.mesh)},i.restore=function(){},i.render=function(t){!this.isDestroyed&&this.getVisible()&&(this.material.setMatrix("effects_ObjectToWorld",this.worldMatrix),this.material.use(t,t.renderingData.currentFrame.globalUniforms))},i.dispose=function(t){this.destroyed||(this.mesh.clear(),this.destroyed=!0)},eT(r,[{key:"priority",get:function(){return this.mesh.renderOrder},set:function(t){this.mesh&&(this.mesh.renderOrder=t)}}]),r}(iz),aQ=function(e){function r(r,i,n){if(void 0===n&&(n={}),o=e.call(this,r)||this,i){var o,a=i.width,s=i.height;o.texture=o.createTextureByType(r3({},n,{sourceType:t.TextureSourceType.data,data:i})),o.width=void 0===a?1:a,o.height=void 0===s?1:s}else o.texture=o.createTextureByType(n);return o.texture.needsUpdate=!0,o}e_(r,e);var i=r.prototype;return i.updateSource=function(t){this.texture.dispose(),this.texture=this.createTextureByType(t),this.texture.needsUpdate=!0},i.startVideo=function(){var e=this;return tq(function(){var r;return t$(this,function(i){switch(i.label){case 0:if(e.sourceType!==t.TextureSourceType.video||!(r=e.texture.source.data).paused)return[3,2];return[4,r.play()];case 1:i.sent(),i.label=2;case 2:return[2]}})})()},i.assembleOptions=function(e){var i=e.target,n=void 0===i?rZ.TEXTURE_2D:i;return e.sourceType||("image"in e?e.sourceType=t.TextureSourceType.image:"data"in e?e.sourceType=t.TextureSourceType.data:"video"in e?e.sourceType=t.TextureSourceType.video:e.sourceType=t.TextureSourceType.none),r3({target:n,format:tW.RGBAFormat,type:tW.UnsignedByteType},e,{minFilter:r.toThreeJsTextureFilter(e.minFilter),magFilter:r.toThreeJsTextureFilter(e.magFilter),wrapS:r.toThreeJsTextureWrap(e.wrapS),wrapT:r.toThreeJsTextureWrap(e.wrapT)})},i.dispose=function(){this.texture.dispose()},i.createTextureByType=function(e){var r=this.assembleOptions(e),i=r.flipY,n=r.type,o=r.wrapS,a=r.wrapT,s=r.minFilter,u=r.magFilter,c=r.sourceType,l=tW.UVMapping,h=r.format,f=void 0;if(this.sourceType=c,c===t.TextureSourceType.data){var m=e.data;f=new tW.DataTexture(m.data,m.width,m.height,h,n,l,o,a,u,s),this.width=m.width,this.height=m.height}else if(c===t.TextureSourceType.image){var d=e.image;f=new tW.Texture(d,l,o,a,u,s,h,n),this.width=d.width,this.height=d.height}else if(c===t.TextureSourceType.compressed){var p=0,v=0,y=e.mipmaps.map(function(t){var e=t.data,r=t.width,i=t.height;return p=p<r?r:p,v=v<i?i:v,{data:e,width:r,height:i,colorSpace:"srgb"}});h=tW.RGBA_ASTC_4x4_Format,f=new tW.CompressedTexture(y,p,v,h,n,l,o,a,u,s),this.width=p,this.height=v}else if(c===t.TextureSourceType.video)f=new tW.VideoTexture(e.video,l,o,a,u,s,h,n);else if(c===t.TextureSourceType.framebuffer){var g=e.data;if(g){var x,T,E=null!=(x=g.width)?x:0,_=null!=(T=g.height)?T:0;f=new tW.FramebufferTexture(E,_,h),this.width=E,this.height=_}}else c===t.TextureSourceType.none&&((f=new tW.DataTexture(new Uint8Array(4).fill(255),1,1)).wrapS=tW.MirroredRepeatWrapping,f.wrapT=tW.MirroredRepeatWrapping,this.width=this.height=1);if(f)return f.flipY=!!i,f;throw Error("使用未知的数据类型创建纹理")},r.toThreeJsTextureFilter=function(t){return t===rZ.LINEAR?tW.LinearFilter:tW.NearestFilter},r.toThreeJsTextureWrap=function(t){switch(t){case rZ.MIRRORED_REPEAT:return tW.MirroredRepeatWrapping;case rZ.REPEAT:return tW.RepeatWrapping;default:return tW.ClampToEdgeWrapping}},r}(im),aJ=function(t){function e(e,r,i){var n;return(n=t.call(this,e,r,i)||this).rootItem.getComponent(aV).resetStatus(),n}e_(e,t);var r=e.prototype;return r.updateVideo=function(){this.textures.map(function(t){return t.startVideo()})},r.prepareRender=function(){var t=this.renderer;this.renderFrame._renderPasses[0].meshes.length=0;for(var e,r=eb(this.rootComposition.items);!(e=r()).done;)for(var i,n=e.value.getComponents(eW),o=eb(n);!(i=o()).done;){var a=i.value;a.isActiveAndEnabled&&a.render(t)}for(var s,u=eb(this.refContent);!(s=u()).done;)for(var c,l=s.value,h=eb(l.getComponent(aV).items);!(c=h()).done;)for(var f,m=c.value.getComponents(eW),d=eb(m);!(f=d()).done;){var p=f.value;p.isActiveAndEnabled&&p.render(t)}},r.getRendererOptions=function(){var t=aQ.createWithData(this.renderer.engine,{data:new Uint8Array(4).fill(255),width:1,height:1});return t.texture.needsUpdate=!0,this.rendererOptions||(this.rendererOptions={emptyTexture:t,cachePrefix:"-"}),this.rendererOptions},e}(aP);aJ.shape={};var a$=function(t){function e(e){var r;return(r=t.call(this)||this).gpuCapability=new ne(e),r}return e_(e,t),e.prototype.setOptions=function(t){var e=t.threeCamera,r=t.threeGroup,i=t.composition;this.threeCamera=e,this.threeGroup=r,this.composition=i},e}(ak),a0=function(t){function e(e){var r;return(r=t.call(this)||this).engine=new a$(e),r.renderingData={currentFrame:{}},r}return e_(e,t),e}(no),a1=function(t){function e(e,r){(i=t.call(this)||this).compositions=[],i.baseCompositionIndex=0,i.env="";var i,n=r.width,o=r.height,a=r.camera;return i.renderer=new a0(e),i.width=n,i.height=o,i.camera=a,i}e_(e,t);var r=e.prototype;return r.loadScene=function(t,e){var r=this;return tq(function(){var i,n;return t$(this,function(o){switch(o.label){case 0:if(n=r.baseCompositionIndex,!em(t))return[3,2];return r.baseCompositionIndex+=t.length,[4,Promise.all(t.map(tq(function(t,i){var o;return t$(this,function(a){switch(a.label){case 0:return[4,r.createComposition(t,e)];case 1:return(o=a.sent()).setIndex(n+i),[2,o]}})})))];case 1:return i=o.sent(),[3,4];case 2:return r.baseCompositionIndex+=1,[4,r.createComposition(t,e)];case 3:(i=o.sent()).setIndex(n),o.label=4;case 4:return[2,i]}})})()},r.createComposition=function(t,e){void 0===e&&(e={});var r=this;return tq(function(){var i,n,o,a,s,u,c,l,h;return t$(this,function(f){switch(f.label){case 0:return i=performance.now(),n=r3({autoplay:!0},e),aC(t)?(o=t.url,ab(t)&&(n=r3({},n,t.options||{}))):o=t,r.assetManager?r.assetManager.updateOptions(n):r.assetManager=new aM(n),[4,r.assetManager.loadScene(o,r.renderer,{env:r.env})];case 1:for(a=f.sent(),(s=r.renderer.engine).clearResources(),s.addPackageDatas(a),u=0;u<a.textureOptions.length;u++)a.textureOptions[u]=s.assetLoader.loadGUID(a.textureOptions[u].id),a.textureOptions[u].initialize();if(c=new az(a,s),!s.database)return[3,3];return[4,s.createVFXItemsAsync(a)];case 2:f.sent(),f.label=3;case 3:return l=new aJ(r3({},n,{width:r.width,height:r.height,renderer:r.renderer}),a,c),r.renderer.engine.setOptions({threeCamera:r.camera,threeGroup:r,composition:l}),n.autoplay?l.play():l.pause(),h=performance.now()-i+l.statistic.loadTime,l.statistic.firstFrameTime=h,el.info("first frame: ["+l.name+"]"+h.toFixed(4)+"ms"),r.compositions.push(l),[2,l]}})})()},r.update=function(t){this.compositions.forEach(function(e){e.update(t)})},eT(e,[{key:"currentComposition",get:function(){return this.compositions[0]}}]),e}(tW.Group);t.ThreeSpriteComponent=function(t){function e(){return t.apply(this,arguments)}e_(e,t);var r=e.prototype;return r.setVisible=function(t){this.threeMesh.visible=t},r.getVisible=function(){return this.threeMesh.visible},r.dispose=function(){t.prototype.dispose.call(this),this.isActiveAndEnabled||this.threeMesh.clear()},r.fromData=function(e){t.prototype.fromData.call(this,e),this.threeMesh||(this.geometry.mode===rZ.LINES?this.threeMesh=new tW.LineSegments(this.geometry.geometry,this.material.material):this.threeMesh=new tW.Mesh(this.geometry.geometry,this.material.material))},r.start=function(){t.prototype.start.call(this),this.engine.threeGroup.add(this.threeMesh)},r.render=function(t){this.isActiveAndEnabled&&(this.material.setVector2("_Size",this.transform.size),this.material.setMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),this.material.use(t,t.renderingData.currentFrame.globalUniforms))},r.onDestroy=function(){this.threeMesh.clear()},eT(e,[{key:"priority",get:function(){return this.threeMesh.renderOrder},set:function(t){this.threeMesh&&(this.threeMesh.renderOrder=t)}},{key:"enabled",get:function(){return this.threeMesh.visible},set:function(t){this.threeMesh.visible=t,t&&this.onEnable()}}]),e}(t.SpriteComponent),t.ThreeSpriteComponent=tJ([eG(tV.SpriteComponent)],t.ThreeSpriteComponent),nm(8),im.create=function(t,e){return new aQ(t,void 0,e)},im.createWithData=function(t,e,r){return new aQ(t,e,r)},iE.create=function(t,e){return new aW(t,e)},iV.create=function(t,e){return new aq(t,e)},iz.create=function(t,e){return new aK(t,e)};var a2="2.0.0-alpha.11";el.info("THREEJS plugin version: "+a2),t.AbstractPlugin=eZ,t.ActivationPlayable=nM,t.AssetLoader=aD,t.AssetManager=aM,t.BYTES_TYPE_MAP=iI,t.Behaviour=eY,t.BezierCurve=rA,t.BezierCurvePath=rS,t.COMPRESSED_TEXTURE=ni,t.CONSTANT_MAP_BLEND=aG,t.CONSTANT_MAP_DEPTH=aY,t.CONSTANT_MAP_STENCIL_FUNC=aX,t.CONSTANT_MAP_STENCIL_OP=aH,t.COPY_FRAGMENT_SHADER=iS,t.COPY_MESH_SHADER_ID=ib,t.COPY_VERTEX_SHADER=iA,t.CalculateLoader=oD,t.Camera=aI,t.CameraVFXItemLoader=rz,t.Component=eH,t.Composition=aP,t.CompositionComponent=aV,t.CompositionSourceManager=az,t.DEFAULT_FONTS=oX,t.Database=aU,t.Downloader=r4,t.EFFECTS_COPY_MESH_NAME=iC,t.EVENT_TYPE_CLICK=rN,t.EVENT_TYPE_TOUCH_END=rk,t.EVENT_TYPE_TOUCH_MOVE=rU,t.EVENT_TYPE_TOUCH_START=rD,t.EffectsObject=eX,t.Engine=ak,t.EventSystem=rG,t.Float16ArrayWrapper=e3,t.FrameBuffer=nn,t.GPUCapability=ne,t.Geometry=iV,t.GlobalUniforms=i9,t.GradientValue=rC,t.HELP_LINK=rj,t.InteractBehavior=rB,t.InteractLoader=rH,t.InteractMesh=ns,t.ItemBehaviour=ej,t.KTXTexture=ip,t.LineSegments=rb,t.LinearValue=r_,t.Material=iE,t.MaterialDataBlock=ig,t.Mesh=iz,t.PLAYER_OPTIONS_ENV_EDITOR=rY,t.POST_PROCESS_SETTINGS="post_process_settings",t.ParticleBehaviourPlayable=oM,t.ParticleLoader=oN,t.ParticleMesh=oI,t.ParticleSystemRenderer=oT,t.PassTextureCache=iM,t.PluginSystem=oQ,t.RENDER_PASS_NAME_PREFIX=i3,t.RENDER_PREFER_LOOKUP_TEXTURE=nz,t.RUNTIME_ENV="runtime_env",t.RandomSetValue=rx,t.RandomValue=rT,t.RandomVectorValue=rE,t.RenderBuffer=i7,t.RenderFrame=i5,t.RenderPass=iU,t.RenderPassPriorityNormal=1e3,t.RenderPassPriorityPostprocess=3e3,t.RenderPassPriorityPrepare=0,t.RenderTargetHandle=iN,t.Renderer=no,t.RendererComponent=eW,t.SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0="PRE_MAIN_COLOR_0",t.SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0="PRE_MAIN_COLOR_SIZE_0",t.SEMANTIC_PRE_COLOR_ATTACHMENT_0="PRE_COLOR_0",t.SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0="PRE_COLOR_SIZE_0",t.SPRITE_VERTEX_STRIDE=6,t.SemanticMap=iL,t.SerializationHelper=aN,t.ShaderVariant=i_,t.SpriteColorPlayable=nF,t.SpriteLoader=np,t.StaticValue=rg,t.TEMPLATE_USE_OFFSCREEN_CANVAS=nN,t.TEXTURE_UNIFORM_MAP=aj,t.TextLoader=oH,t.Texture=im,t.TextureFactory=iy,t.ThreeComposition=aJ,t.ThreeDisplayObject=a1,t.ThreeEngine=a$,t.ThreeMaterial=aW,t.ThreeTexture=aQ,t.Ticker=aB,t.TimelineClip=nE,t.TimelineComponent=nL,t.Track=nT,t.Transform=rF,t.TransformAnimationPlayable=nR,t.TransformAnimationPlayableAsset=nO,t.ValueGetter=ry,t.addByOrder=ea,t.addItem=t4,t.addItemWithOrder=function(t,e,r,i){if(void 0===i&&(i=!1),!t.includes(e)&&(t.push(e),1!==t.length)){var n=t.length-1;if(n){var o=t[n];if(i)for(;t[n-1][r]<o[r]&&(t[n]=t[n-1],0!=--n););else for(;t[n-1][r]>o[r]&&(t[n]=t[n-1],0!=--n););t[n]=o}}},t.assertExist=eu,t.asserts=function(t,e){if(void 0===e&&(e="asserts failed"),!t)throw Error(e)},t.blend="vec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}",t.calculateTranslation=e6,t.canvasPool=oG,t.colorGradingFrag=iW,t.colorStopsFromGradient=t7,t.colorToArr=t8,t.combineImageTemplate=aS,t.compatibleFrag="#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\n",t.compatibleVert="#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n",t.createCopyShader=iw,t.createGLContext=function(t,e,r){var i;if(void 0===e&&(e="webgl"),"webgl2"!==e||(i=t.getContext("webgl2",r))||console.debug("WebGL2 context retrieval failed, falling back to WebGL context."),i&&"webgl"!==e||(i=t.getContext("webgl",r)),!i)throw Error("This browser does not support WebGL or the WebGL version is incorrect. Please check your WebGL version.");return i},t.createKeyFrameMeta=rI,t.createShaderWithMarcos=r$,t.createShape=n$,t.createVFXItem=oj,t.createValueGetter=rR,t.decimalEqual=rn,t.deepClone=function t(e){if(em(e))return e.map(t);if(e&&"object"==typeof e){if(ArrayBuffer.isView(e))return e.slice();for(var r={},i=Object.keys(e),n=0;n<i.length;n++){var o=i[n];r[o]=t(e[o])}return r}return e},t.defaultGlobalVolume=i2,t.defaultPlugins=oZ,t.deserializeMipmapTexture=iu,t.earcut=oa,t.effectsClass=eG,t.effectsClassStore=eN,t.enlargeBuffer=t6,t.ensureFixedNumber=o0,t.ensureVec3=e8,t.findPreviousRenderPass=function(t,e){var r=t.indexOf(e);return t[r-1]},t.gaussianDownFrag="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;float GaussWeight2D(float x,float y,float sigma){float PI=3.14159265358;float E=2.71828182846;float sigma_2=pow(sigma,2.0);float a=-(x*x+y*y)/(2.0*sigma_2);return pow(E,a)/(2.0*PI*sigma_2);}vec3 GaussNxN(sampler2D tex,vec2 uv,vec2 stride,float sigma){vec3 color=vec3(0.,0.,0.);const int r=5/2;float weight=0.0;for(int i=-r;i<=r;i++){for(int j=-r;j<=r;j++){float w=GaussWeight2D(float(i),float(j),sigma);vec2 coord=uv+vec2(i,j)*stride;color+=texture2D(tex,coord).rgb*w;weight+=w;}}color/=weight;return color;}void main(){vec4 mainColor=texture2D(_MainTex,uv);vec3 color=mainColor.rgb;color=GaussNxN(_MainTex,uv,1.0/_TextureSize,1.0);gl_FragColor=vec4(color,1.0);}",t.gaussianDownHFrag=iZ,t.gaussianDownVFrag=iq,t.gaussianUpFrag=iK,t.generateEmptyTypedArray=iP,t.generateGUID=eg,t.generateHalfFloatTexture=id,t.getBackgroundImage=aA,t.getColorFromGradientStops=t9,t.getConfig=function(t){return nD[t]},t.getDefaultTemplateCanvasPool=function(){return oG},t.getDefaultTextureFactory=function(){return tD||(tD=new iy),tD},t.getGeometryByShape=ou,t.getGeometryTriangles=os,t.getImageItemRenderInfo=nc,t.getKTXTextureOptions=iv,t.getKeyFrameMetaByRawValue=rL,t.getMergedStore=ek,t.getParticleMeshShader=oF,t.getPixelRatio=function(){if("object"==typeof screen&&"object"==typeof document){var t=Math.max(document.documentElement.clientWidth,window.innerWidth||0);return Math.min(screen.width/t*2,2)}return 1},t.getPreMultiAlpha=rQ,t.getStandardComposition=ay,t.getStandardImage=av,t.getStandardItem=ax,t.getStandardJSON=ad,t.getTextureSize=i6,t.glContext=rZ,t.gpuTimer=function(t){var e=t.getExtension("EXT_disjoint_timer_query_webgl2");if(e){var r=t.createQuery(),i=tq(function(){return t$(this,function(n){return[2,new Promise(function(n,o){if(r){var a=t.getQueryParameter(r,t.QUERY_RESULT_AVAILABLE),s=t.getParameter(e.GPU_DISJOINT_EXT);a&&!s&&n(t.getQueryParameter(r,t.QUERY_RESULT)/1e3/1e3),(a||s)&&(t.deleteQuery(r),r=null),null!==a&&r&&window.setTimeout(function(){i().then(n).catch},1)}})]})});if(!r)return;return{begin:function(){r&&t.beginQuery(e.TIME_ELAPSED_EXT,r)},end:function(){t.endQuery(e.TIME_ELAPSED_EXT)},getTime:i}}},t.imageDataFromColor=function(t){ef(t)&&(t=t8(t));for(var e=t,r={width:1,height:1,data:new Uint8Array(4)},i=r.data,n=0;n<4;n++)i[n]=e[n];return r},t.imageDataFromGradient=en,t.initErrors=rW,t.initGLContext=rq,t.integrate="float calculateMovement(float t,vec2 p1,vec2 p2,vec2 p3,vec2 p4){float movement=0.0;float h=(t-p1.x)*0.05;for(int i=0;i<=20;i++){float t=float(i)*h;float nt=binarySearchT(t,p1.x,p2.x,p3.x,p4.x);float y=cubicBezier(nt,p1.y,p2.y,p3.y,p4.y);float weight=(i==0||i==20)? 1.0 :(mod(float(i),2.)!=0.)? 4.0 : 2.0;movement+=weight*y;}movement*=h/3.;return movement;}float integrateFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i+=2){vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return ret;}vec2 p1=vec2(k0.x,k0.y);vec2 p2=vec2(k0.z,k0.w);vec2 p3=vec2(k1.z,k1.w);vec2 p4=vec2(k1.x,k1.y);if(time>=k1.x){ret+=calculateMovement(k1.x,p1,p2,p3,p4);}if(time>=k0.x&&time<k1.x){return ret+calculateMovement(time,p1,p2,p3,p4);}}return ret;}float integrateByTimeLineSeg(float t,vec2 p0,vec2 p1){float t0=p0.x;float t1=p1.x;float y0=p0.y;float y1=p1.y;vec4 tSqr=vec4(t,t,t0,t0);tSqr=tSqr*tSqr;vec4 a=vec4(2.*t,3.,-t0,3.)*tSqr;float t1y0=t1*y0;vec4 b=vec4(y0-y1,t0*y1-t1y0,2.*y0+y1,t1y0);float r=dot(a,b);return r/(t0-t1)*0.16666667;}float integrateLineSeg(float time,vec2 p0,vec2 p1){float h=time-p0.x;float y0=p0.y;return(y0+y0+(p1.y-y0)*h/(p1.x-p0.x))*h/2.;}float integrateFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateLineSeg(time,k0,k1);}ret+=integrateLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateLineSeg(time,k1,k2);}ret+=integrateLineSeg(k2.x,k1,k2);}return ret;}float integrateByTimeFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateByTimeLineSeg(time,k0,k1);}ret+=integrateByTimeLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateByTimeLineSeg(time,k1,k2);}ret+=integrateByTimeLineSeg(k2.x,k1,k2);}return ret;}float getIntegrateFromTime0(float t1,vec4 value){float type=value.x;if(type==0.){return value.y*t1;}if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateLineSeg(t1,p0,p1);}if(type==3.){return integrateFromLineSeg(t1,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*t1;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w);}return 0.;}float getIntegrateByTimeFromTime(float t0,float t1,vec4 value){float type=value.x;if(type==0.){return value.y*(t1*t1-t0*t0)/2.;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateByTimeLineSeg(t1,p0,p1)-integrateByTimeLineSeg(t0,p0,p1);}if(type==3.){return integrateByTimeFromLineSeg(t1,value.y,value.z)-integrateByTimeFromLineSeg(t0,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*(t1*t1-t0*t0)/2.;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w)-integrateFromBezierCurveFrames(t0,value.z,value.w);}return 0.;}",t.interpolateColor=et,t.isAndroid=er,t.isArray=em,t.isFunction=ed,t.isIOS=function(){return!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)},t.isObject=ep,t.isSceneJSON=a_,t.isSceneURL=aC,t.isSceneWithOptions=ab,t.isSimulatorCellPhone=ei,t.isString=ef,t.isUniformStruct=ix,t.isUniformStructArray=function(t){return t&&void 0!==t.length&&ix(t[0])},t.isWebGL2=function(t){return"undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===t.constructor.name},t.itemFrag=iG,t.itemFrameFrag=ik,t.itemVert=iB,t.loadBinary=it,t.loadBlob=function(t){return ir.apply(this,arguments)},t.loadImage=r9,t.loadMedia=ia,t.loadVideo=ii,t.loadWebPOptional=r6,t.logger=el,t.math=e1,t.modifyMaxKeyframeShader=oz,t.nearestPowerOfTwo=function(t){return Math.pow(2,Math.round(Math.log(t)/Math.LN2))},t.noop=eh,t.normalizeColor=o6,t.numberToFix=ro,t.parsePercent=ee,t.particleFrag=iX,t.particleOriginTranslateMap=re,t.particleUniformTypeMap=oL,t.particleVert=iH,t.pluginLoaderMap=oW,t.pointOnLine=function(t,e,r,i,n,o){var a=t*i+e*n+r*o-n*i-o*t-r*e;return a>-.001&&a<.001},t.random=ev,t.registerPlugin=oK,t.removeItem=t5,t.rotateVec2=oc,t.screenMeshVert=ij,t.serialize=eB,t.setBlendMode=r0,t.setConfig=function(t,e){return nD[t]=e},t.setDefaultTextureFactory=function(t){tD=t},t.setMaskMode=r2,t.setMaxSpriteMeshItemCount=nm,t.setRayFromCamera=rr,t.setSideMode=r1,t.setSpriteMeshMaxFragmentTextures=function(e){t.maxSpriteTextureCount=e},t.setSpriteMeshMaxItemCountByGPU=function(e){return(t.maxSpriteTextureCount=Math.min(e.maxFragmentTextures,16),e.maxVertexUniforms>=256)?t.maxSpriteMeshItemCount=32:e.maxVertexUniforms>=128?t.maxSpriteMeshItemCount=16:void(t.maxSpriteTextureCount=8)},t.setUniformValue=function(t,e,r){t[e]?t[e].value=r:t[e]=new tW.Uniform(r)},t.sortByOrder=eo,t.spec=ez,t.spriteMeshShaderFromFilter=nl,t.spriteMeshShaderFromRenderInfo=nf,t.spriteMeshShaderIdFromRenderInfo=nh,t.thresholdFrag=iQ,t.throwDestroyedError=ey,t.trailVert=iY,t.translatePoint=function(t,e){for(var r=[-.5,.5,-.5,-.5,.5,.5,.5,-.5],i=0;i<8;i+=2)r[i]+=t,r[i+1]+=e;return r},t.trianglesFromRect=ri,t.unregisterPlugin=function(t){delete oq[t],delete oW[t],t5(oZ,t)},t.valIfUndefined=function(t,e){return null==t?e:t},t.value="#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#define NONE_CONST_INDEX 1\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#endif\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\nmat4 cubicBezierMatrix=mat4(1.0,-3.0,3.0,-1.0,0.0,3.0,-6.0,3.0,0.0,0.0,3.0,-3.0,0.0,0.0,0.0,1.0);float cubicBezier(float t,float y1,float y2,float y3,float y4){vec4 tVec=vec4(1.0,t,t*t,t*t*t);vec4 yVec=vec4(y1,y2,y3,y4);vec4 result=tVec*cubicBezierMatrix*yVec;return result.x+result.y+result.z+result.w;}float binarySearchT(float x,float x1,float x2,float x3,float x4){float left=0.0;float right=1.0;float mid=0.0;float computedX;for(int i=0;i<8;i++){mid=(left+right)*0.5;computedX=cubicBezier(mid,x1,x2,x3,x4);if(abs(computedX-x)<0.0001){break;}else if(computedX>x){right=mid;}else{left=mid;}}return mid;}float valueFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);for(int i=0;i<ITR_END;i+=2){if(i>=count){break;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return k0.y;}if(i==int(frameCount-2.)&&time>=k1.x){return k1.y;}if(time>=k0.x&&time<=k1.x){float t=(time-k0.x)/(k1.x-k0.x);float nt=binarySearchT(time,k0.x,k0.z,k1.z,k1.x);return cubicBezier(nt,k0.y,k0.w,k1.w,k1.y);}}}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){if(i>count){return lookup_curve(i).w;}vec4 seg=lookup_curve(i+start);vec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}vec2 p2=lookup_curve(i+start+1).xy;if(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed);}if(type==5.){return valueFromBezierCurveFrames(time,value.z,value.w);}return 0.;}",t.valueDefine="#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n",t.vecAssign=e7,t.vecFill=e9,t.vecMulCombine=rt,t.vecNormalize=function(t,e){1==arguments.length&&(e=t,t=[]);var r,i=e,n=(r=Math).hypot.apply(r,[].concat(i));if(0===n)return e7(t,i,i.length);for(var o=0;o<i.length;o++)t[o]=i[o]/n;return t},t.version=a2,Object.defineProperty(t,"__esModule",{value:!0})});
13
8
  //# sourceMappingURL=index.min.js.map