dsh-plugin-beyond-simulator 2.2.1 → 2.2.2
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/README.md +21 -1
- package/dsh-plugin/dist/client.js +28 -7
- package/dsh-plugin/dist/index.js +26 -26
- package/dsh-plugin/dist/play-renderer.js +108 -107
- package/dsh-plugin/dist/worker.js +20 -20
- package/dsh-plugin/lib/play.html +2 -2
- package/dsh-plugin/skill.md +3 -2
- package/package.json +1 -1
package/dsh-plugin/dist/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
var jp=Object.create;var Ql=Object.defineProperty;var Vp=Object.getOwnPropertyDescriptor;var Up=Object.getOwnPropertyNames;var Hp=Object.getPrototypeOf,Yp=Object.prototype.hasOwnProperty;var Xp=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,i)=>(typeof require<"u"?require:e)[i]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Wp=(t,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Up(e))!Yp.call(t,n)&&n!==i&&Ql(t,n,{get:()=>e[n],enumerable:!(r=Vp(e,n))||r.enumerable});return t};var Kp=(t,e,i)=>(i=t!=null?jp(Hp(t)):{},Wp(e||!t||!t.__esModule?Ql(i,"default",{value:t,enumerable:!0}):i,t));var Ms=te((Bb,Gu)=>{"use strict";Gu.exports=Nm;function Nm(t,e){for(var i=new Array(arguments.length-1),r=0,n=2,o=!0;n<arguments.length;)i[r++]=arguments[n++];return new Promise(function(a,l){i[r]=function(c){if(o)if(o=!1,c)l(c);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,i)}catch(u){o&&(o=!1,l(u))}})}});var ju=te(Bu=>{"use strict";var Un=Bu;Un.length=function(e){var i=e.length;if(!i)return 0;for(;i>0&&e.charAt(i-1)==="=";)--i;return Math.floor(i*3/4)};var fr=new Array(64),Hn=new Array(123);for(bt=0;bt<64;)Hn[fr[bt]=bt<26?bt+65:bt<52?bt+71:bt<62?bt-4:bt-59|43]=bt++;var bt;Hn[45]=62;Hn[95]=63;Un.encode=function(e,i,r){for(var n=null,o=[],s=0,a=0,l;i<r;){var u=e[i++];switch(a){case 0:o[s++]=fr[u>>2],l=(u&3)<<4,a=1;break;case 1:o[s++]=fr[l|u>>4],l=(u&15)<<2,a=2;break;case 2:o[s++]=fr[l|u>>6],o[s++]=fr[u&63],a=0;break}s>8191&&((n||(n=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=fr[l],o[s++]=61,a===1&&(o[s++]=61)),n?(s&&n.push(String.fromCharCode.apply(String,o.slice(0,s))),n.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var qu="invalid encoding";Un.decode=function(e,i,r){for(var n=r,o=0,s,a=0;a<e.length;){var l=e.charCodeAt(a++);if(l===61&&o>1)break;if((l=Hn[l])===void 0)throw Error(qu);switch(o){case 0:s=l,o=1;break;case 1:i[r++]=s<<2|(l&48)>>4,s=l,o=2;break;case 2:i[r++]=(s&15)<<4|(l&60)>>2,s=l,o=3;break;case 3:i[r++]=(s&3)<<6|l,o=0;break}}if(o===1)throw Error(qu);return r-n};var Pm=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Mm=/[-_]/,Fm=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2}(?:==)?|[A-Za-z0-9_-]{3}=?)?$/;Un.test=function(e){return Pm.test(e)||Mm.test(e)&&Fm.test(e)}});var Uu=te((Vb,Vu)=>{"use strict";Vu.exports=Yn;function Yn(){this._listeners=Object.create(null)}Yn.prototype.on=function(e,i,r){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:i,ctx:r||this}),this};Yn.prototype.off=function(e,i){if(e===void 0)this._listeners=Object.create(null);else if(i===void 0)this._listeners[e]=[];else{var r=this._listeners[e];if(!r)return this;for(var n=0;n<r.length;)r[n].fn===i?r.splice(n,1):++n}return this};Yn.prototype.emit=function(e){var i=this._listeners[e];if(i){for(var r=[],n=1;n<arguments.length;)r.push(arguments[n++]);for(n=0;n<i.length;)i[n].fn.apply(i[n++].ctx,r)}return this}});var Zu=te((Ub,Ju)=>{"use strict";Ju.exports=Hu(Hu);function Hu(t){return typeof Float32Array<"u"?(function(){var e=new Float32Array([-0]),i=new Uint8Array(e.buffer),r=i[3]===128;function n(l,u,c){e[0]=l,u[c]=i[0],u[c+1]=i[1],u[c+2]=i[2],u[c+3]=i[3]}function o(l,u,c){e[0]=l,u[c]=i[3],u[c+1]=i[2],u[c+2]=i[1],u[c+3]=i[0]}t.writeFloatLE=r?n:o,t.writeFloatBE=r?o:n;function s(l,u){return i[0]=l[u],i[1]=l[u+1],i[2]=l[u+2],i[3]=l[u+3],e[0]}function a(l,u){return i[3]=l[u],i[2]=l[u+1],i[1]=l[u+2],i[0]=l[u+3],e[0]}t.readFloatLE=r?s:a,t.readFloatBE=r?a:s})():(function(){function e(r,n,o,s){var a=n<0?1:0;if(a&&(n=-n),n===0)r(1/n>0?0:2147483648,o,s);else if(isNaN(n))r(2143289344,o,s);else if(n>34028234663852886e22)r((a<<31|2139095040)>>>0,o,s);else if(n<11754943508222875e-54)r((a<<31|Math.round(n/1401298464324817e-60))>>>0,o,s);else{var l=Math.floor(Math.log(n)/Math.LN2),u=Math.round(n*Math.pow(2,-l)*8388608)&8388607;r((a<<31|l+127<<23|u)>>>0,o,s)}}t.writeFloatLE=e.bind(null,Yu),t.writeFloatBE=e.bind(null,Xu);function i(r,n,o){var s=r(n,o),a=(s>>31)*2+1,l=s>>>23&255,u=s&8388607;return l===255?u?NaN:a*(1/0):l===0?a*1401298464324817e-60*u:a*Math.pow(2,l-150)*(u+8388608)}t.readFloatLE=i.bind(null,Wu),t.readFloatBE=i.bind(null,Ku)})(),typeof Float64Array<"u"?(function(){var e=new Float64Array([-0]),i=new Uint8Array(e.buffer),r=i[7]===128;function n(l,u,c){e[0]=l,u[c]=i[0],u[c+1]=i[1],u[c+2]=i[2],u[c+3]=i[3],u[c+4]=i[4],u[c+5]=i[5],u[c+6]=i[6],u[c+7]=i[7]}function o(l,u,c){e[0]=l,u[c]=i[7],u[c+1]=i[6],u[c+2]=i[5],u[c+3]=i[4],u[c+4]=i[3],u[c+5]=i[2],u[c+6]=i[1],u[c+7]=i[0]}t.writeDoubleLE=r?n:o,t.writeDoubleBE=r?o:n;function s(l,u){return i[0]=l[u],i[1]=l[u+1],i[2]=l[u+2],i[3]=l[u+3],i[4]=l[u+4],i[5]=l[u+5],i[6]=l[u+6],i[7]=l[u+7],e[0]}function a(l,u){return i[7]=l[u],i[6]=l[u+1],i[5]=l[u+2],i[4]=l[u+3],i[3]=l[u+4],i[2]=l[u+5],i[1]=l[u+6],i[0]=l[u+7],e[0]}t.readDoubleLE=r?s:a,t.readDoubleBE=r?a:s})():(function(){function e(r,n,o,s,a,l){var u=s<0?1:0;if(u&&(s=-s),s===0)r(0,a,l+n),r(1/s>0?0:2147483648,a,l+o);else if(isNaN(s))r(0,a,l+n),r(2146959360,a,l+o);else if(s>17976931348623157e292)r(0,a,l+n),r((u<<31|2146435072)>>>0,a,l+o);else{var c;if(s<22250738585072014e-324)c=s/5e-324,r(c>>>0,a,l+n),r((u<<31|c/4294967296)>>>0,a,l+o);else{var f=Math.floor(Math.log(s)/Math.LN2);f===1024&&(f=1023),c=s*Math.pow(2,-f),r(c*4503599627370496>>>0,a,l+n),r((u<<31|f+1023<<20|c*1048576&1048575)>>>0,a,l+o)}}}t.writeDoubleLE=e.bind(null,Yu,0,4),t.writeDoubleBE=e.bind(null,Xu,4,0);function i(r,n,o,s,a){var l=r(s,a+n),u=r(s,a+o),c=(u>>31)*2+1,f=u>>>20&2047,h=4294967296*(u&1048575)+l;return f===2047?h?NaN:c*(1/0):f===0?c*5e-324*h:c*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=i.bind(null,Wu,0,4),t.readDoubleBE=i.bind(null,Ku,4,0)})(),t}function Yu(t,e,i){e[i]=t&255,e[i+1]=t>>>8&255,e[i+2]=t>>>16&255,e[i+3]=t>>>24}function Xu(t,e,i){e[i]=t>>>24,e[i+1]=t>>>16&255,e[i+2]=t>>>8&255,e[i+3]=t&255}function Wu(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function Ku(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var tc=te(ec=>{"use strict";var Wn=ec,Xn=new TextDecoder("utf-8",{ignoreBOM:!0}),Hr,Qu=64;try{Hr=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0})}catch{Hr=Xn}Wn.length=function(e){for(var i=0,r=0,n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?i+=1:r<2048?i+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,i+=4):i+=3;return i};function dr(t,e,i,r){var n=i===0&&r===e.length?e:e.subarray(i,r);return t.decode(n)}Wn.read=function(e,i,r){if(r-i<1)return"";if(r-i>=Qu)return dr(Xn,e,i,r);for(var n="",o=i,s,a,l,u,c,f,h,m;o+7<r;o+=8){if(s=e[o],a=e[o+1],l=e[o+2],u=e[o+3],c=e[o+4],f=e[o+5],h=e[o+6],m=e[o+7],(s|a|l|u|c|f|h|m)&128)return n+dr(Xn,e,o,r);n+=String.fromCharCode(s,a,l,u,c,f,h,m)}for(;o<r;++o){if(s=e[o],s&128)return n+dr(Xn,e,o,r);n+=String.fromCharCode(s)}return n};Wn.readStrict=function(e,i,r){if(r-i<1)return"";if(r-i>=Qu)return dr(Hr,e,i,r);for(var n="",o=i,s,a,l,u,c,f,h,m;o+7<r;o+=8){if(s=e[o],a=e[o+1],l=e[o+2],u=e[o+3],c=e[o+4],f=e[o+5],h=e[o+6],m=e[o+7],(s|a|l|u|c|f|h|m)&128)return n+dr(Hr,e,o,r);n+=String.fromCharCode(s,a,l,u,c,f,h,m)}for(;o<r;++o){if(s=e[o],s&128)return n+dr(Hr,e,o,r);n+=String.fromCharCode(s)}return n};Wn.write=function(e,i,r){for(var n=r,o,s,a=0;a<e.length;++a)o=e.charCodeAt(a),o<128?i[r++]=o:o<2048?(i[r++]=o>>6|192,i[r++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,i[r++]=o>>18|240,i[r++]=o>>12&63|128,i[r++]=o>>6&63|128,i[r++]=o&63|128):(i[r++]=o>>12|224,i[r++]=o>>6&63|128,i[r++]=o&63|128);return r-n}});var rc=te((Yb,ic)=>{"use strict";ic.exports=Dm;function Dm(t,e,i){var r=i||8192,n=r>>>1,o=null,s=r;return function(l){if(l<1||l>n)return t(l);s+l>r&&(o=t(r),s=0);var u=e.call(o,s,s+=l);return s&7&&(s=(s|7)+1),u}}});var oc=te((Xb,nc)=>{"use strict";nc.exports=Fe;var Yr;function Fe(t,e){this.lo=t>>>0,this.hi=e>>>0}var Fi=Fe.zero=new Fe(0,0);Fi.toNumber=function(){return 0};Fi.zzEncode=Fi.zzDecode=function(){return this};Fi.length=function(){return 1};var zm=Fe.zeroHash="\0\0\0\0\0\0\0\0";Fe.fromNumber=function(e){if(e===0)return Fi;var i=e<0;i&&(e=-e);var r=e>>>0,n=(e-r)/4294967296>>>0;return i&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new Fe(r,n)};Fe.from=function(e){if(typeof e=="number")return Fe.fromNumber(e);if(typeof e=="string"||e instanceof String)if(Yr)e=Yr.fromString(e);else return Fe.fromNumber(parseInt(e,10));return e.low||e.high?new Fe(e.low>>>0,e.high>>>0):Fi};Fe.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var i=~this.lo+1>>>0,r=~this.hi>>>0;return i||(r=r+1>>>0),-(i+r*4294967296)}return this.lo+this.hi*4294967296};Fe.prototype.toLong=function(e){return Yr?new Yr(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var fi=String.prototype.charCodeAt;Fe.fromHash=function(e){return e===zm?Fi:new Fe((fi.call(e,0)|fi.call(e,1)<<8|fi.call(e,2)<<16|fi.call(e,3)<<24)>>>0,(fi.call(e,4)|fi.call(e,5)<<8|fi.call(e,6)<<16|fi.call(e,7)<<24)>>>0)};Fe.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Fe.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};Fe.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};Fe.prototype.length=function(){var e=this.lo,i=(this.lo>>>28|this.hi<<4)>>>0,r=this.hi>>>24;return r===0?i===0?e<16384?e<128?1:2:e<2097152?3:4:i<16384?i<128?5:6:i<2097152?7:8:r<128?9:10};Fe._configure=function(t){Yr=t}});var sc=te((Xr,Fs)=>{(function(t,e){function i(r){return r.default||r}typeof define=="function"&&define.amd?define([],function(){var r={};return e(r),i(r)}):typeof Xr=="object"?(e(Xr),typeof Fs=="object"&&(Fs.exports=i(Xr))):(function(){var r={};e(r),t.Long=i(r)})()})(typeof globalThis<"u"?globalThis:typeof self<"u"?self:Xr,function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var e=null;try{e=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function i(C,d,E){this.low=C|0,this.high=d|0,this.unsigned=!!E}i.prototype.__isLong__,Object.defineProperty(i.prototype,"__isLong__",{value:!0});function r(C){return(C&&C.__isLong__)===!0}function n(C){var d=Math.clz32(C&-C);return C?31-d:d}i.isLong=r;var o={},s={};function a(C,d){var E,D,V;return d?(C>>>=0,(V=0<=C&&C<256)&&(D=s[C],D)?D:(E=u(C,0,!0),V&&(s[C]=E),E)):(C|=0,(V=-128<=C&&C<128)&&(D=o[C],D)?D:(E=u(C,C<0?-1:0,!1),V&&(o[C]=E),E))}i.fromInt=a;function l(C,d){if(isNaN(C))return d?I:F;if(d){if(C<0)return I;if(C>=w)return _}else{if(C<=-S)return T;if(C+1>=S)return G}return C<0?l(-C,d).neg():u(C%v|0,C/v|0,d)}i.fromNumber=l;function u(C,d,E){return new i(C,d,E)}i.fromBits=u;var c=Math.pow;function f(C,d,E){if(C.length===0)throw Error("empty string");if(typeof d=="number"?(E=d,d=!1):d=!!d,C==="NaN"||C==="Infinity"||C==="+Infinity"||C==="-Infinity")return d?I:F;if(E=E||10,E<2||36<E)throw RangeError("radix");var D;if((D=C.indexOf("-"))>0)throw Error("interior hyphen");if(D===0)return f(C.substring(1),d,E).neg();for(var V=l(c(E,8)),H=F,Z=0;Z<C.length;Z+=8){var ne=Math.min(8,C.length-Z),ve=parseInt(C.substring(Z,Z+ne),E);if(ne<8){var be=l(c(E,ne));H=H.mul(be).add(l(ve))}else H=H.mul(V),H=H.add(l(ve))}return H.unsigned=d,H}i.fromString=f;function h(C,d){return typeof C=="number"?l(C,d):typeof C=="string"?f(C,d):u(C.low,C.high,typeof d=="boolean"?d:C.unsigned)}i.fromValue=h;var m=65536,g=1<<24,v=m*m,w=v*v,S=w/2,x=a(g),F=a(0);i.ZERO=F;var I=a(0,!0);i.UZERO=I;var z=a(1);i.ONE=z;var $=a(1,!0);i.UONE=$;var j=a(-1);i.NEG_ONE=j;var G=u(-1,2147483647,!1);i.MAX_VALUE=G;var _=u(-1,-1,!0);i.MAX_UNSIGNED_VALUE=_;var T=u(0,-2147483648,!1);i.MIN_VALUE=T;var y=i.prototype;y.toInt=function(){return this.unsigned?this.low>>>0:this.low},y.toNumber=function(){return this.unsigned?(this.high>>>0)*v+(this.low>>>0):this.high*v+(this.low>>>0)},y.toString=function(d){if(d=d||10,d<2||36<d)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(T)){var E=l(d),D=this.div(E),V=D.mul(E).sub(this);return D.toString(d)+V.toInt().toString(d)}else return"-"+this.neg().toString(d);for(var H=l(c(d,6),this.unsigned),Z=this,ne="";;){var ve=Z.div(H),be=Z.sub(ve.mul(H)).toInt()>>>0,ge=be.toString(d);if(Z=ve,Z.isZero())return ge+ne;for(;ge.length<6;)ge="0"+ge;ne=""+ge+ne}},y.getHighBits=function(){return this.high},y.getHighBitsUnsigned=function(){return this.high>>>0},y.getLowBits=function(){return this.low},y.getLowBitsUnsigned=function(){return this.low>>>0},y.getNumBitsAbs=function(){if(this.isNegative())return this.eq(T)?64:this.neg().getNumBitsAbs();for(var d=this.high!=0?this.high:this.low,E=31;E>0&&(d&1<<E)==0;E--);return this.high!=0?E+33:E+1},y.isSafeInteger=function(){var d=this.high>>21;return d?this.unsigned?!1:d===-1&&!(this.low===0&&this.high===-2097152):!0},y.isZero=function(){return this.high===0&&this.low===0},y.eqz=y.isZero,y.isNegative=function(){return!this.unsigned&&this.high<0},y.isPositive=function(){return this.unsigned||this.high>=0},y.isOdd=function(){return(this.low&1)===1},y.isEven=function(){return(this.low&1)===0},y.equals=function(d){return r(d)||(d=h(d)),this.unsigned!==d.unsigned&&this.high>>>31===1&&d.high>>>31===1?!1:this.high===d.high&&this.low===d.low},y.eq=y.equals,y.notEquals=function(d){return!this.eq(d)},y.neq=y.notEquals,y.ne=y.notEquals,y.lessThan=function(d){return this.comp(d)<0},y.lt=y.lessThan,y.lessThanOrEqual=function(d){return this.comp(d)<=0},y.lte=y.lessThanOrEqual,y.le=y.lessThanOrEqual,y.greaterThan=function(d){return this.comp(d)>0},y.gt=y.greaterThan,y.greaterThanOrEqual=function(d){return this.comp(d)>=0},y.gte=y.greaterThanOrEqual,y.ge=y.greaterThanOrEqual,y.compare=function(d){if(r(d)||(d=h(d)),this.eq(d))return 0;var E=this.isNegative(),D=d.isNegative();return E&&!D?-1:!E&&D?1:this.unsigned?d.high>>>0>this.high>>>0||d.high===this.high&&d.low>>>0>this.low>>>0?-1:1:this.sub(d).isNegative()?-1:1},y.comp=y.compare,y.negate=function(){return!this.unsigned&&this.eq(T)?T:this.not().add(z)},y.neg=y.negate,y.add=function(d){r(d)||(d=h(d));var E=this.high>>>16,D=this.high&65535,V=this.low>>>16,H=this.low&65535,Z=d.high>>>16,ne=d.high&65535,ve=d.low>>>16,be=d.low&65535,ge=0,ee=0,ce=0,Se=0;return Se+=H+be,ce+=Se>>>16,Se&=65535,ce+=V+ve,ee+=ce>>>16,ce&=65535,ee+=D+ne,ge+=ee>>>16,ee&=65535,ge+=E+Z,ge&=65535,u(ce<<16|Se,ge<<16|ee,this.unsigned)},y.subtract=function(d){return r(d)||(d=h(d)),this.add(d.neg())},y.sub=y.subtract,y.multiply=function(d){if(this.isZero())return this;if(r(d)||(d=h(d)),e){var E=e.mul(this.low,this.high,d.low,d.high);return u(E,e.get_high(),this.unsigned)}if(d.isZero())return this.unsigned?I:F;if(this.eq(T))return d.isOdd()?T:F;if(d.eq(T))return this.isOdd()?T:F;if(this.isNegative())return d.isNegative()?this.neg().mul(d.neg()):this.neg().mul(d).neg();if(d.isNegative())return this.mul(d.neg()).neg();if(this.lt(x)&&d.lt(x))return l(this.toNumber()*d.toNumber(),this.unsigned);var D=this.high>>>16,V=this.high&65535,H=this.low>>>16,Z=this.low&65535,ne=d.high>>>16,ve=d.high&65535,be=d.low>>>16,ge=d.low&65535,ee=0,ce=0,Se=0,gt=0;return gt+=Z*ge,Se+=gt>>>16,gt&=65535,Se+=H*ge,ce+=Se>>>16,Se&=65535,Se+=Z*be,ce+=Se>>>16,Se&=65535,ce+=V*ge,ee+=ce>>>16,ce&=65535,ce+=H*be,ee+=ce>>>16,ce&=65535,ce+=Z*ve,ee+=ce>>>16,ce&=65535,ee+=D*ge+V*be+H*ve+Z*ne,ee&=65535,u(Se<<16|gt,ee<<16|ce,this.unsigned)},y.mul=y.multiply,y.divide=function(d){if(r(d)||(d=h(d)),d.isZero())throw Error("division by zero");if(e){if(!this.unsigned&&this.high===-2147483648&&d.low===-1&&d.high===-1)return this;var E=(this.unsigned?e.div_u:e.div_s)(this.low,this.high,d.low,d.high);return u(E,e.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?I:F;var D,V,H;if(this.unsigned){if(d.unsigned||(d=d.toUnsigned()),d.gt(this))return I;if(d.gt(this.shru(1)))return $;H=I}else{if(this.eq(T)){if(d.eq(z)||d.eq(j))return T;if(d.eq(T))return z;var Z=this.shr(1);return D=Z.div(d).shl(1),D.eq(F)?d.isNegative()?z:j:(V=this.sub(d.mul(D)),H=D.add(V.div(d)),H)}else if(d.eq(T))return this.unsigned?I:F;if(this.isNegative())return d.isNegative()?this.neg().div(d.neg()):this.neg().div(d).neg();if(d.isNegative())return this.div(d.neg()).neg();H=F}for(V=this;V.gte(d);){D=Math.max(1,Math.floor(V.toNumber()/d.toNumber()));for(var ne=Math.ceil(Math.log(D)/Math.LN2),ve=ne<=48?1:c(2,ne-48),be=l(D),ge=be.mul(d);ge.isNegative()||ge.gt(V);)D-=ve,be=l(D,this.unsigned),ge=be.mul(d);be.isZero()&&(be=z),H=H.add(be),V=V.sub(ge)}return H},y.div=y.divide,y.modulo=function(d){if(r(d)||(d=h(d)),e){var E=(this.unsigned?e.rem_u:e.rem_s)(this.low,this.high,d.low,d.high);return u(E,e.get_high(),this.unsigned)}return this.sub(this.div(d).mul(d))},y.mod=y.modulo,y.rem=y.modulo,y.not=function(){return u(~this.low,~this.high,this.unsigned)},y.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},y.clz=y.countLeadingZeros,y.countTrailingZeros=function(){return this.low?n(this.low):n(this.high)+32},y.ctz=y.countTrailingZeros,y.and=function(d){return r(d)||(d=h(d)),u(this.low&d.low,this.high&d.high,this.unsigned)},y.or=function(d){return r(d)||(d=h(d)),u(this.low|d.low,this.high|d.high,this.unsigned)},y.xor=function(d){return r(d)||(d=h(d)),u(this.low^d.low,this.high^d.high,this.unsigned)},y.shiftLeft=function(d){return r(d)&&(d=d.toInt()),(d&=63)===0?this:d<32?u(this.low<<d,this.high<<d|this.low>>>32-d,this.unsigned):u(0,this.low<<d-32,this.unsigned)},y.shl=y.shiftLeft,y.shiftRight=function(d){return r(d)&&(d=d.toInt()),(d&=63)===0?this:d<32?u(this.low>>>d|this.high<<32-d,this.high>>d,this.unsigned):u(this.high>>d-32,this.high>=0?0:-1,this.unsigned)},y.shr=y.shiftRight,y.shiftRightUnsigned=function(d){return r(d)&&(d=d.toInt()),(d&=63)===0?this:d<32?u(this.low>>>d|this.high<<32-d,this.high>>>d,this.unsigned):d===32?u(this.high,0,this.unsigned):u(this.high>>>d-32,0,this.unsigned)},y.shru=y.shiftRightUnsigned,y.shr_u=y.shiftRightUnsigned,y.rotateLeft=function(d){var E;return r(d)&&(d=d.toInt()),(d&=63)===0?this:d===32?u(this.high,this.low,this.unsigned):d<32?(E=32-d,u(this.low<<d|this.high>>>E,this.high<<d|this.low>>>E,this.unsigned)):(d-=32,E=32-d,u(this.high<<d|this.low>>>E,this.low<<d|this.high>>>E,this.unsigned))},y.rotl=y.rotateLeft,y.rotateRight=function(d){var E;return r(d)&&(d=d.toInt()),(d&=63)===0?this:d===32?u(this.high,this.low,this.unsigned):d<32?(E=32-d,u(this.high<<E|this.low>>>d,this.low<<E|this.high>>>d,this.unsigned)):(d-=32,E=32-d,u(this.low<<E|this.high>>>d,this.high<<E|this.low>>>d,this.unsigned))},y.rotr=y.rotateRight,y.toSigned=function(){return this.unsigned?u(this.low,this.high,!1):this},y.toUnsigned=function(){return this.unsigned?this:u(this.low,this.high,!0)},y.toBytes=function(d){return d?this.toBytesLE():this.toBytesBE()},y.toBytesLE=function(){var d=this.high,E=this.low;return[E&255,E>>>8&255,E>>>16&255,E>>>24,d&255,d>>>8&255,d>>>16&255,d>>>24]},y.toBytesBE=function(){var d=this.high,E=this.low;return[d>>>24,d>>>16&255,d>>>8&255,d&255,E>>>24,E>>>16&255,E>>>8&255,E&255]},i.fromBytes=function(d,E,D){return D?i.fromBytesLE(d,E):i.fromBytesBE(d,E)},i.fromBytesLE=function(d,E){return new i(d[0]|d[1]<<8|d[2]<<16|d[3]<<24,d[4]|d[5]<<8|d[6]<<16|d[7]<<24,E)},i.fromBytesBE=function(d,E){return new i(d[4]<<24|d[5]<<16|d[6]<<8|d[7],d[0]<<24|d[1]<<16|d[2]<<8|d[3],E)},typeof BigInt=="function"&&(i.fromBigInt=function(d,E){var D=Number(BigInt.asIntN(32,d)),V=Number(BigInt.asIntN(32,d>>BigInt(32)));return u(D,V,E)},i.fromValue=function(d,E){return typeof d=="bigint"?i.fromBigInt(d,E):h(d,E)},y.toBigInt=function(){var d=BigInt(this.low>>>0),E=BigInt(this.unsigned?this.high>>>0:this.high);return E<<BigInt(32)|d});var N=t.default=i})});var Pt=te(Ds=>{"use strict";var W=Ds;W.asPromise=Ms();W.base64=ju();W.EventEmitter=Uu();W.float=Zu();W.utf8=tc();W.pool=rc();W.LongBits=oc();function ac(t){return t==="__proto__"||t==="prototype"||t==="constructor"}W.isUnsafeProperty=ac;W.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node);W.global=W.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||typeof globalThis<"u"&&globalThis||Ds;W.emptyArray=Object.freeze?Object.freeze([]):[];W.emptyObject=Object.freeze?Object.freeze({}):{};W.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};W.isString=function(e){return typeof e=="string"||e instanceof String};W.isObject=function(e){return e&&typeof e=="object"};W.isset=W.isSet=function(e,i){var r=e[i];return r!=null&&Object.hasOwnProperty.call(e,i)?typeof r!="object"||(Array.isArray(r)?r.length:Object.keys(r).length)>0:!1};W.Buffer=(function(){try{var t=W.global.Buffer;return t.prototype.utf8Write||W.isNode?t:null}catch{return null}})();W.newBuffer=function(e){var i=W.Buffer;return typeof e=="number"?i?i.allocUnsafe(e):new Uint8Array(e):i?i.from(e):new Uint8Array(e)};W.rawField=function(e,i,r){var n=[],o=e<<3|i;for(o>>>=0;o>127;)n.push(o&127|128),o>>>=7;n.push(o);for(var s=0;s<r.length;++s)n.push(r[s]);return W.newBuffer(n)};W.Array=Uint8Array;W.Long=W.global.dcodeIO&&W.global.dcodeIO.Long||W.global.Long||(function(){try{var t=sc();return t&&t.isLong?t:null}catch{return null}})();W.key2Re=/^(?:true|false|0|1)$/;W.key32Re=/^-?(?:0|[1-9][0-9]*)$/;W.key64Re=/^(?:[\x00-\xff]{8}|-?(?:0|[1-9][0-9]*))$/;W.longToHash=function(e){return e?W.LongBits.from(e).toHash():W.LongBits.zeroHash};W.longFromHash=function(e,i){var r=W.LongBits.fromHash(e);return W.Long?W.Long.fromBits(r.lo,r.hi,i):r.toNumber(!!i)};W.longFromKey=function(e,i){return W.key64Re.test(e)&&!W.key32Re.test(e)?W.longFromHash(e,i):e};W.boolFromKey=function(e){return e==="true"||e==="1"};function lc(t){var e=typeof arguments[arguments.length-1]=="boolean",i=e?arguments.length-1:arguments.length;e=e&&arguments[arguments.length-1];for(var r=1;r<i;++r){var n=arguments[r];if(n)for(var o=Object.keys(n),s=0;s<o.length;++s)!ac(o[s])&&(!e||!Object.prototype.hasOwnProperty.call(t,o[s])||t[o[s]]===void 0)&&(t[o[s]]=n[o[s]])}return t}W.merge=lc;W.nestingLimit=32;W.recursionLimit=100;W.makeProp=function(e,i,r){Object.prototype.hasOwnProperty.call(e,i)||Object.defineProperty(e,i,{enumerable:r===void 0?!0:r,configurable:!0,writable:!0})};W.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function uc(t){function e(i,r){if(!(this instanceof e))return new e(i,r);Object.defineProperty(this,"message",{get:function(){return i}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),r&&lc(this,r)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}W.newError=uc;W.ProtocolError=uc("ProtocolError");W.oneOfGetter=function(e){for(var i={},r=0;r<e.length;++r)i[e[r]]=1;return function(){for(var n=Object.keys(this),o=n.length-1;o>-1;--o)if(i[n[o]]===1&&this[n[o]]!==void 0&&this[n[o]]!==null)return n[o]}};W.oneOfSetter=function(e){return function(i){for(var r=0;r<e.length;++r)e[r]!==i&&delete this[e[r]]}};W.toJSONOptions={longs:String,enums:String,bytes:String,json:!0}});var Jn=te((Kb,pc)=>{"use strict";pc.exports=K;var Mt=Pt(),$s,Kt=Mt.LongBits,cc=Mt.base64,zs=Mt.utf8;function K(){this.pos=0,this.buf=this.constructor.alloc(K.initialBufferSize),this.view=null,this.states=null}K.initialBufferSize=128;Object.defineProperty(K.prototype,"len",{configurable:!0,enumerable:!0,get:function(){return this.pos}});var fc=function(){return Mt.Buffer?function(){return(K.create=function(){return new $s})()}:function(){return new K}};K.create=fc();K.alloc=function(e){return new Uint8Array(e)};K.alloc=Mt.pool(K.alloc,Uint8Array.prototype.subarray);function Ls(t){return t<128?1:t<16384?2:t<2097152?3:t<268435456?4:5}K.prototype._reserve=function(e){var i=this.pos+e;if(i>this.buf.length){var r=this.buf.length<<1;r<i&&(r=i);var n=this.constructor.alloc(r);n.set(this.buf.subarray(0,this.pos),0),this.buf=n,this.view=null}};function $m(t,e,i){for(var r=0;r<t.length;)e[i++]=t.charCodeAt(r++)}function Di(t,e,i){for(;t>127;)e[i++]=t&127|128,t>>>=7;return e[i]=t,i+1}K.prototype.uint32=function(e){e=e>>>0,this._reserve(5);var i=this.pos;return this.pos=Di(e,this.buf,i),this};K.prototype.int32=function(e){return(e|=0)<0?(this._reserve(10),pr(Kt.fromNumber(e),this.buf,this.pos),this.pos+=10,this):this.uint32(e)};K.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function pr(t,e,i){for(var r=t.lo,n=t.hi;n;)e[i++]=r&127|128,r=(r>>>7|n<<25)>>>0,n>>>=7;for(;r>127;)e[i++]=r&127|128,r=r>>>7;return e[i]=r,i+1}K.prototype.uint64=function(e){var i=Kt.from(e);this._reserve(10);var r=this.pos;return this.pos=pr(i,this.buf,r),this};K.prototype.int64=K.prototype.uint64;K.prototype.sint64=function(e){var i=Kt.from(e).zzEncode();this._reserve(10);var r=this.pos;return this.pos=pr(i,this.buf,r),this};K.prototype.bool=function(e){return this._reserve(1),this.buf[this.pos++]=e?1:0,this};function hr(t,e,i){e[i]=t&255,e[i+1]=t>>>8&255,e[i+2]=t>>>16&255,e[i+3]=t>>>24}K.prototype.fixed32=function(e){return this._reserve(4),hr(e>>>0,this.buf,this.pos),this.pos+=4,this};K.prototype.sfixed32=K.prototype.fixed32;K.prototype.fixed64=function(e){var i=Kt.from(e);return this._reserve(8),hr(i.lo,this.buf,this.pos),hr(i.hi,this.buf,this.pos+4),this.pos+=8,this};K.prototype.sfixed64=K.prototype.fixed64;K.prototype.float=function(e){return this._reserve(4),Mt.float.writeFloatLE(e,this.buf,this.pos),this.pos+=4,this};K.prototype.double=function(e){return this._reserve(8),Mt.float.writeDoubleLE(e,this.buf,this.pos),this.pos+=8,this};K.prototype.bytes=function(e){var i=e.length>>>0;if(!i)return this._reserve(1),this.buf[this.pos++]=0,this;if(Mt.isString(e)){var r=K.alloc(i=cc.length(e));cc.decode(e,r,0),e=r}return this.uint32(i),this._reserve(i),this.buf.set(e,this.pos),this.pos+=i,this};K.prototype.raw=function(e){var i=e.length>>>0;return i?(this._reserve(i),this.buf.set(e,this.pos),this.pos+=i,this):this};K.prototype._delim=function(e,i){var r=Ls(i);return r>1&&this.buf.copyWithin(e+r,e+1,e+1+i),Di(i,this.buf,e),this.pos=e+r+i,this};K.prototype.string=function(e){var i=e.length;if(!i)return this._reserve(1),this.buf[this.pos++]=0,this;if(i<128){this._reserve(i*3+5);var r=this.pos;return this._delim(r,zs.write(e,this.buf,r+1))}var n=zs.length(e);return this.uint32(n),this._reserve(n),n===e.length?$m(e,this.buf,this.pos):zs.write(e,this.buf,this.pos),this.pos+=n,this};K.prototype.uint32s=function(e){var i=e.length;this._reserve(i*5+5);for(var r=this.buf,n=this.pos,o=n+1,s=0;s<i;++s)o=Di(e[s]>>>0,r,o);return this._delim(n,o-n-1)};K.prototype.int32s=function(e){var i=e.length;this._reserve(i*10+5);for(var r=this.buf,n=this.pos,o=n+1,s,a=0;a<i;++a)(s=e[a]|0)<0?o=pr(Kt.fromNumber(s),r,o):o=Di(s,r,o);return this._delim(n,o-n-1)};K.prototype.sint32s=function(e){var i=e.length;this._reserve(i*5+5);for(var r=this.buf,n=this.pos,o=n+1,s=0;s<i;++s)o=Di((e[s]<<1^e[s]>>31)>>>0,r,o);return this._delim(n,o-n-1)};K.prototype.uint64s=function(e){var i=e.length;this._reserve(i*10+5);for(var r=this.buf,n=this.pos,o=n+1,s=0;s<i;++s)o=pr(Kt.from(e[s]),r,o);return this._delim(n,o-n-1)};K.prototype.int64s=K.prototype.uint64s;K.prototype.sint64s=function(e){var i=e.length;this._reserve(i*10+5);for(var r=this.buf,n=this.pos,o=n+1,s=0;s<i;++s)o=pr(Kt.from(e[s]).zzEncode(),r,o);return this._delim(n,o-n-1)};K.prototype.bools=function(e){var i=e.length;this.uint32(i),this._reserve(i);for(var r=this.buf,n=this.pos,o=0;o<i;++o)r[n++]=e[o]?1:0;return this.pos+=i,this};var dc=16,hc=128;function Kn(t,e,i){var r=t.view;if(r||e<i)return r;var n=t.buf;return t.view=new DataView(n.buffer,n.byteOffset,n.byteLength)}K.prototype.fixed32s=function(e){var i=e.length,r=i*4;this.uint32(r),this._reserve(r);var n=this.pos,o,s=Kn(this,i,hc);if(s)for(o=0;o<i;++o)s.setUint32(n,e[o]>>>0,!0),n+=4;else{var a=this.buf;for(o=0;o<i;++o)hr(e[o]>>>0,a,n),n+=4}return this.pos+=r,this};K.prototype.sfixed32s=K.prototype.fixed32s;K.prototype.fixed64s=function(e){var i=e.length,r=i*8;this.uint32(r),this._reserve(r);var n=this.pos,o,s,a=Kn(this,i,hc);if(a)for(o=0;o<i;++o)s=Kt.from(e[o]),a.setUint32(n,s.lo,!0),a.setUint32(n+4,s.hi,!0),n+=8;else{var l=this.buf;for(o=0;o<i;++o)s=Kt.from(e[o]),hr(s.lo,l,n),hr(s.hi,l,n+4),n+=8}return this.pos+=r,this};K.prototype.sfixed64s=K.prototype.fixed64s;K.prototype.floats=function(e){var i=e.length,r=i*4;this.uint32(r),this._reserve(r);var n=this.pos,o,s=Kn(this,i,dc);if(s)for(o=0;o<i;++o)s.setFloat32(n,e[o],!0),n+=4;else{var a=this.buf;for(o=0;o<i;++o)Mt.float.writeFloatLE(e[o],a,n),n+=4}return this.pos+=r,this};K.prototype.doubles=function(e){var i=e.length,r=i*8;this.uint32(r),this._reserve(r);var n=this.pos,o,s=Kn(this,i,dc);if(s)for(o=0;o<i;++o)s.setFloat64(n,e[o],!0),n+=8;else{var a=this.buf;for(o=0;o<i;++o)Mt.float.writeDoubleLE(e[o],a,n),n+=8}return this.pos+=r,this};K.prototype.fork=function(){return this._reserve(1),(this.states||(this.states=[])).push(this.pos),this.pos+=1,this};K.prototype.reset=function(){var e=this.states;return e&&e.length?this.pos=e.pop():this.pos=0,this};K.prototype.ldelim=function(){var e=this.states,i,r;if(e&&e.length){var n=e.pop();i=this.pos-n-1,r=Ls(i),r>1?(this._reserve(r-1),this.buf.copyWithin(n+r,n+1,n+1+i),this.pos+=r-1,Di(i,this.buf,n)):this.buf[n]=i}else i=this.pos,r=Ls(i),this._reserve(r),this.buf.copyWithin(r,0,i),Di(i,this.buf,0),this.pos+=r;return this};K.prototype.finish=function(e){if(e)return this.buf.subarray(0,this.pos);var i=this.constructor.alloc(this.pos);return i.set(this.buf.subarray(0,this.pos),0),i};K.prototype.finishInto=function(e,i){return i===void 0&&(i=0),e.set(this.buf.subarray(0,this.pos),i),e};K._configure=function(t){$s=t,K.create=fc(),$s._configure()}});var yc=te((Jb,gc)=>{"use strict";gc.exports=hi;var mc=Jn();hi.prototype=Object.create(mc.prototype,{constructor:{value:hi,writable:!0,enumerable:!1,configurable:!0}});var di=Pt();function hi(){mc.call(this)}var Gs;hi._configure=function(){hi.alloc=di.Buffer&&di.Buffer.allocUnsafe,Gs=di.Buffer&&di.Buffer.prototype.utf8Write?function(e,i,r){return i.utf8Write(e,r)}:function(e,i,r){return i.write(e,r)}};hi.prototype.bytes=function(e){di.isString(e)&&(e=di.Buffer.from(e,"base64"));var i=e.length>>>0;return this.uint32(i),i&&(this._reserve(i),this.buf.set(e,this.pos),this.pos+=i),this};hi.prototype.string=function(e){var i=e.length;if(!i)return this._reserve(1),this.buf[this.pos++]=0,this;if(i<128){this._reserve(i*3+5);var r=this.pos,n=this.buf;return this._delim(r,i<40?di.utf8.write(e,n,r+1):Gs(e,n,r+1))}var o=di.Buffer.byteLength(e);return this.uint32(o),this._reserve(o),Gs(e,this.buf,this.pos),this.pos+=o,this};hi._configure()});var Qn=te((Zb,Ec)=>{"use strict";Ec.exports=ae;var wt=Pt(),Bs,wc=wt.LongBits,Sc=wt.utf8;function ye(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function ae(t){this.buf=t,this.pos=0,this.len=t.length,this.view=null,this.discardUnknown=ae.discardUnknown}function vc(t){if(Array.isArray(t)&&(t=new Uint8Array(t)),t instanceof Uint8Array)return new ae(t);throw Error("illegal buffer")}var xc=function(){return wt.Buffer?function(i){return(ae.create=function(n){return wt.Buffer.isBuffer(n)?new Bs(n):vc(n)})(i)}:vc};ae.create=xc();ae.prototype.raw=function(e,i){return this.buf.subarray(e,i)};ae.prototype.uint32=function(){var e=this.buf,i=this.pos,r=(e[i]&127)>>>0;if(e[i++]<128)return this.pos=i,r;if(r=(r|(e[i]&127)<<7)>>>0,e[i++]<128)return this.pos=i,r;if(r=(r|(e[i]&127)<<14)>>>0,e[i++]<128)return this.pos=i,r;if(r=(r|(e[i]&127)<<21)>>>0,e[i++]<128)return this.pos=i,r;if(r=(r|(e[i]&15)<<28)>>>0,e[i++]<128)return this.pos=i,r;for(var n=0;n<5;++n){if(i>=this.len)throw this.pos=i,ye(this);if(e[i++]<128)return this.pos=i,r}throw this.pos=i,Error("invalid varint encoding")};ae.prototype.tag=function(){var e=this.buf,i=this.pos,r=(e[i]&127)>>>0;if(e[i++]<128)return this.pos=i,r;if(r=(r|(e[i]&127)<<7)>>>0,e[i++]<128)return this.pos=i,r;if(r=(r|(e[i]&127)<<14)>>>0,e[i++]<128)return this.pos=i,r;if(r=(r|(e[i]&127)<<21)>>>0,e[i++]<128)return this.pos=i,r;if(r=(r|(e[i]&15)<<28)>>>0,e[i]<128&&(e[i]&112)===0)return this.pos=i+1,r;throw this.pos=i+1,Error("invalid tag encoding")};ae.prototype.int32=function(){return this.uint32()|0};ae.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function qs(){var t=new wc(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<4;++e){if(this.pos>=this.len)throw ye(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}throw ye(this)}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw ye(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}ae.prototype.bool=function(){for(var e=!1,i,r=0;r<10;++r){if(this.pos>=this.len)throw ye(this);if(i=this.buf[this.pos++],i&127&&(e=!0),i<128)return e}throw Error("invalid varint encoding")};function mr(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}ae.prototype.fixed32=function(){if(this.pos+4>this.len)throw ye(this,4);return mr(this.buf,this.pos+=4)};ae.prototype.sfixed32=function(){if(this.pos+4>this.len)throw ye(this,4);return mr(this.buf,this.pos+=4)|0};function bc(){if(this.pos+8>this.len)throw ye(this,8);return new wc(mr(this.buf,this.pos+=4),mr(this.buf,this.pos+=4))}ae.prototype.float=function(){if(this.pos+4>this.len)throw ye(this,4);var e=wt.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};ae.prototype.double=function(){if(this.pos+8>this.len)throw ye(this,4);var e=wt.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};ae.prototype.uint32s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos,r=this.buf,n=this.pos,o;n<i;)o=r[n++],o<128?e.push(o):(this.pos=n-1,e.push(this.uint32()),n=this.pos);return this.pos=n,e};ae.prototype.int32s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos,r=this.buf,n=this.pos,o;n<i;)o=r[n++],o<128?e.push(o):(this.pos=n-1,e.push(this.int32()),n=this.pos);return this.pos=n,e};ae.prototype.sint32s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos;this.pos<i;)e.push(this.sint32());return e};ae.prototype.bools=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos,r=this.buf,n=this.pos,o;n<i;)o=r[n++],o<128?e.push(o!==0):(this.pos=n-1,e.push(this.bool()),n=this.pos);return this.pos=n,e};var Ic=8,_c=128;function Zn(t,e,i){var r=t.view;if(r||e<i)return r;var n=t.buf;return t.view=new DataView(n.buffer,n.byteOffset,n.byteLength)}ae.prototype.fixed32s=function(e){e===void 0&&(e=[]);var i=this.uint32(),r=this.pos+i;if(r>this.len)throw ye(this,i);var n=i>>>2,o=e.length,s=this.pos;e.length=o+n;var a=Zn(this,n,_c);if(a)for(var l=0;l<n;++l,s+=4)e[o++]=a.getUint32(s,!0);else for(var u=this.buf,c=0;c<n;++c,s+=4)e[o++]=mr(u,s+4);if(this.pos=s,s!==r)throw ye(this,4);return e};ae.prototype.sfixed32s=function(e){e===void 0&&(e=[]);var i=this.uint32(),r=this.pos+i;if(r>this.len)throw ye(this,i);var n=i>>>2,o=e.length,s=this.pos;e.length=o+n;var a=Zn(this,n,_c);if(a)for(var l=0;l<n;++l,s+=4)e[o++]=a.getInt32(s,!0);else for(var u=this.buf,c=0;c<n;++c,s+=4)e[o++]=mr(u,s+4)|0;if(this.pos=s,s!==r)throw ye(this,4);return e};ae.prototype.floats=function(e){e===void 0&&(e=[]);var i=this.uint32(),r=this.pos+i;if(r>this.len)throw ye(this,i);var n=i>>>2,o=e.length,s=this.pos;e.length=o+n;var a=Zn(this,n,Ic);if(a)for(var l=0;l<n;++l,s+=4)e[o++]=a.getFloat32(s,!0);else for(var u=this.buf,c=0;c<n;++c,s+=4)e[o++]=wt.float.readFloatLE(u,s);if(this.pos=s,s!==r)throw ye(this,4);return e};ae.prototype.doubles=function(e){e===void 0&&(e=[]);var i=this.uint32(),r=this.pos+i;if(r>this.len)throw ye(this,i);var n=i>>>3,o=e.length,s=this.pos;e.length=o+n;var a=Zn(this,n,Ic);if(a)for(var l=0;l<n;++l,s+=8)e[o++]=a.getFloat64(s,!0);else for(var u=this.buf,c=0;c<n;++c,s+=8)e[o++]=wt.float.readDoubleLE(u,s);if(this.pos=s,s!==r)throw ye(this,8);return e};ae.prototype.uint64s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos;this.pos<i;)e.push(this.uint64());return e};ae.prototype.int64s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos;this.pos<i;)e.push(this.int64());return e};ae.prototype.sint64s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos;this.pos<i;)e.push(this.sint64());return e};ae.prototype.fixed64s=function(e){e===void 0&&(e=[]);var i=this.uint32(),r=this.pos+i,n=e.length;if(r>this.len)throw ye(this,i);var o=i>>>3;e.length=n+o;for(var s=0;s<o;++s)e[n++]=this.fixed64();if(this.pos!==r)throw ye(this,8);return e};ae.prototype.sfixed64s=function(e){e===void 0&&(e=[]);var i=this.uint32(),r=this.pos+i,n=e.length;if(r>this.len)throw ye(this,i);var o=i>>>3;e.length=n+o;for(var s=0;s<o;++s)e[n++]=this.sfixed64();if(this.pos!==r)throw ye(this,8);return e};ae.prototype.bytes=function(){var e=this.uint32(),i=this.pos,r=this.pos+e;if(r>this.len)throw ye(this,e);return this.pos=r,this.raw(i,r)};ae.prototype.string=function(){var e=this.uint32(),i=this.pos,r=this.pos+e;if(r>this.len)throw ye(this,e);return this.pos=r,Sc.read(this.buf,i,r)};ae.prototype.stringVerify=function(){var e=this.uint32(),i=this.pos,r=this.pos+e;if(r>this.len)throw ye(this,e);return this.pos=r,Sc.readStrict(this.buf,i,r)};ae.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw ye(this,e);this.pos+=e}else do if(this.pos>=this.len)throw ye(this);while(this.buf[this.pos++]&128);return this};ae.recursionLimit=wt.recursionLimit;ae.discardUnknown=!0;ae.prototype.skipType=function(t,e,i){if(e===void 0&&(e=0),e>ae.recursionLimit)throw Error("max depth exceeded");if(i===0)throw Error("illegal tag: field number 0");switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;;){var r=this.tag(),n=r>>>3;if(t=r&7,!n)throw Error("illegal tag: field number 0");if(t===4){if(i!==void 0&&n!==i)throw Error("invalid end group tag");break}this.skipType(t,e+1,n)}break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};ae._configure=function(t){Bs=t,ae.create=xc(),Bs._configure();var e=wt.Long?"toLong":"toNumber";wt.merge(ae.prototype,{int64:function(){return qs.call(this)[e](!1)},uint64:function(){return qs.call(this)[e](!0)},sint64:function(){return qs.call(this).zzDecode()[e](!1)},fixed64:function(){return bc.call(this)[e](!0)},sfixed64:function(){return bc.call(this)[e](!1)}})}});var Tc=te((Qb,Ac)=>{"use strict";Ac.exports=pi;var kc=Qn();pi.prototype=Object.create(kc.prototype,{constructor:{value:pi,writable:!0,enumerable:!1,configurable:!0}});var Cc=Pt();function pi(t){kc.call(this,t)}pi._configure=function(){Cc.Buffer&&(pi.prototype._slice=Cc.Buffer.prototype.slice)};pi.prototype.raw=function(e,i){return this._slice.call(this.buf,e,i)};pi.prototype.string=function(){var e=this.uint32(),i=this.pos,r=this.pos+e;if(r>this.len)throw RangeError("index out of range: "+this.pos+" + "+e+" > "+this.len);return this.pos=r,this.buf.utf8Slice?this.buf.utf8Slice(i,r):this.buf.toString("utf-8",i,r)};pi._configure()});var Oc=te((ew,Rc)=>{"use strict";Rc.exports=Wr;var js=Pt();Wr.prototype=Object.create(js.EventEmitter.prototype,{constructor:{value:Wr,writable:!0,enumerable:!1,configurable:!0}});function Wr(t,e,i){if(typeof t!="function")throw TypeError("rpcImpl must be a function");js.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=!!e,this.responseDelimited=!!i}Wr.prototype.rpcCall=function t(e,i,r,n,o){if(!n)throw TypeError("request must be specified");var s=this;if(!o)return js.asPromise(t,s,e,i,r,n);if(!s.rpcImpl){setTimeout(function(){o(Error("already ended"))},0);return}try{return s.rpcImpl(e,i[s.requestDelimited?"encodeDelimited":"encode"](n).finish(),function(l,u){if(l)return s.emit("error",l,e),o(l);if(u===null){s.end(!0);return}if(!(u instanceof r))try{u=r[s.responseDelimited?"decodeDelimited":"decode"](u)}catch(c){return s.emit("error",c,e),o(c)}return s.emit("data",u,e),o(null,u)})}catch(a){s.emit("error",a,e),setTimeout(function(){o(a)},0);return}};Wr.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var Vs=te(Nc=>{"use strict";var Lm=Nc;Lm.Service=Oc()});var Us=te((iw,Pc)=>{"use strict";Pc.exports=Object.create(null)});var Fc=te(He=>{"use strict";He.build="minimal";He.Writer=Jn();He.BufferWriter=yc();He.Reader=Qn();He.BufferReader=Tc();He.util=Pt();He.rpc=Vs();He.roots=Us();He.configure=Mc;function Mc(){He.util.LongBits._configure(He.util.Long),He.Writer._configure(He.BufferWriter),He.Reader._configure(He.BufferReader)}Mc()});var Ys=te(Dc=>{"use strict";var Hs=Dc;Hs.numberRe=/^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/;Hs.typeRefRe=/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/;Hs.reservedRe=/^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/});var $c=te((ow,zc)=>{"use strict";zc.exports=Xs;var Gm=Ys(),qm=Gm.reservedRe;function Xs(t,e){typeof t=="string"&&(e=t,t=void 0);var i=[];function r(o){if(typeof o!="string"){var s=n();if(Xs.verbose&&console.log("codegen: "+s),s="return "+s,o){for(var a=Object.keys(o),l=new Array(a.length+1),u=new Array(a.length),c=0;c<a.length;)l[c]=a[c],u[c]=o[a[c++]];return l[c]=s,Function.apply(null,l).apply(null,u)}return Function(s)()}for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h]=arguments[++h];if(h=0,o=o.replace(/%([%dfijs])/g,function(g,v){var w=f[h++];switch(v){case"d":case"f":return w=Number(w),Object.is(w,-0)?"-0":String(w);case"i":return String(Math.floor(w));case"j":return JSON.stringify(w);case"s":return String(w)}return"%"}),h!==f.length)throw Error("parameter count mismatch");return i.push(o),r}function n(o){return"function "+Bm(o||e)+"("+(t&&t.join(",")||"")+`){
|
|
1
|
+
var s1=Object.create;var uc=Object.defineProperty;var l1=Object.getOwnPropertyDescriptor;var c1=Object.getOwnPropertyNames;var u1=Object.getPrototypeOf,f1=Object.prototype.hasOwnProperty;var d1=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,i)=>(typeof require<"u"?require:e)[i]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var h1=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of c1(e))!f1.call(t,r)&&r!==i&&uc(t,r,{get:()=>e[r],enumerable:!(n=l1(e,r))||n.enumerable});return t};var p1=(t,e,i)=>(i=t!=null?s1(u1(t)):{},h1(e||!t||!t.__esModule?uc(i,"default",{value:t,enumerable:!0}):i,t));var za=te((h5,Jc)=>{"use strict";Jc.exports=K1;function K1(t,e){for(var i=new Array(arguments.length-1),n=0,r=2,o=!0;r<arguments.length;)i[n++]=arguments[r++];return new Promise(function(s,l){i[n]=function(u){if(o)if(o=!1,u)l(u);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];s.apply(null,f)}};try{t.apply(e||null,i)}catch(c){o&&(o=!1,l(c))}})}});var eu=te(Qc=>{"use strict";var Xr=Qc;Xr.length=function(e){var i=e.length;if(!i)return 0;for(;i>0&&e.charAt(i-1)==="=";)--i;return Math.floor(i*3/4)};var mn=new Array(64),Wr=new Array(123);for(Et=0;Et<64;)Wr[mn[Et]=Et<26?Et+65:Et<52?Et+71:Et<62?Et-4:Et-59|43]=Et++;var Et;Wr[45]=62;Wr[95]=63;Xr.encode=function(e,i,n){for(var r=null,o=[],a=0,s=0,l;i<n;){var c=e[i++];switch(s){case 0:o[a++]=mn[c>>2],l=(c&3)<<4,s=1;break;case 1:o[a++]=mn[l|c>>4],l=(c&15)<<2,s=2;break;case 2:o[a++]=mn[l|c>>6],o[a++]=mn[c&63],s=0;break}a>8191&&((r||(r=[])).push(String.fromCharCode.apply(String,o)),a=0)}return s&&(o[a++]=mn[l],o[a++]=61,s===1&&(o[a++]=61)),r?(a&&r.push(String.fromCharCode.apply(String,o.slice(0,a))),r.join("")):String.fromCharCode.apply(String,o.slice(0,a))};var Zc="invalid encoding";Xr.decode=function(e,i,n){for(var r=n,o=0,a,s=0;s<e.length;){var l=e.charCodeAt(s++);if(l===61&&o>1)break;if((l=Wr[l])===void 0)throw Error(Zc);switch(o){case 0:a=l,o=1;break;case 1:i[n++]=a<<2|(l&48)>>4,a=l,o=2;break;case 2:i[n++]=(a&15)<<4|(l&60)>>2,a=l,o=3;break;case 3:i[n++]=(a&3)<<6|l,o=0;break}}if(o===1)throw Error(Zc);return n-r};var J1=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Z1=/[-_]/,Q1=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2}(?:==)?|[A-Za-z0-9_-]{3}=?)?$/;Xr.test=function(e){return J1.test(e)||Z1.test(e)&&Q1.test(e)}});var iu=te((m5,tu)=>{"use strict";tu.exports=Kr;function Kr(){this._listeners=Object.create(null)}Kr.prototype.on=function(e,i,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:i,ctx:n||this}),this};Kr.prototype.off=function(e,i){if(e===void 0)this._listeners=Object.create(null);else if(i===void 0)this._listeners[e]=[];else{var n=this._listeners[e];if(!n)return this;for(var r=0;r<n.length;)n[r].fn===i?n.splice(r,1):++r}return this};Kr.prototype.emit=function(e){var i=this._listeners[e];if(i){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<i.length;)i[r].fn.apply(i[r++].ctx,n)}return this}});var cu=te((g5,lu)=>{"use strict";lu.exports=nu(nu);function nu(t){return typeof Float32Array<"u"?(function(){var e=new Float32Array([-0]),i=new Uint8Array(e.buffer),n=i[3]===128;function r(l,c,u){e[0]=l,c[u]=i[0],c[u+1]=i[1],c[u+2]=i[2],c[u+3]=i[3]}function o(l,c,u){e[0]=l,c[u]=i[3],c[u+1]=i[2],c[u+2]=i[1],c[u+3]=i[0]}t.writeFloatLE=n?r:o,t.writeFloatBE=n?o:r;function a(l,c){return i[0]=l[c],i[1]=l[c+1],i[2]=l[c+2],i[3]=l[c+3],e[0]}function s(l,c){return i[3]=l[c],i[2]=l[c+1],i[1]=l[c+2],i[0]=l[c+3],e[0]}t.readFloatLE=n?a:s,t.readFloatBE=n?s:a})():(function(){function e(n,r,o,a){var s=r<0?1:0;if(s&&(r=-r),r===0)n(1/r>0?0:2147483648,o,a);else if(isNaN(r))n(2143289344,o,a);else if(r>34028234663852886e22)n((s<<31|2139095040)>>>0,o,a);else if(r<11754943508222875e-54)n((s<<31|Math.round(r/1401298464324817e-60))>>>0,o,a);else{var l=Math.floor(Math.log(r)/Math.LN2),c=Math.round(r*Math.pow(2,-l)*8388608)&8388607;n((s<<31|l+127<<23|c)>>>0,o,a)}}t.writeFloatLE=e.bind(null,ru),t.writeFloatBE=e.bind(null,ou);function i(n,r,o){var a=n(r,o),s=(a>>31)*2+1,l=a>>>23&255,c=a&8388607;return l===255?c?NaN:s*(1/0):l===0?s*1401298464324817e-60*c:s*Math.pow(2,l-150)*(c+8388608)}t.readFloatLE=i.bind(null,au),t.readFloatBE=i.bind(null,su)})(),typeof Float64Array<"u"?(function(){var e=new Float64Array([-0]),i=new Uint8Array(e.buffer),n=i[7]===128;function r(l,c,u){e[0]=l,c[u]=i[0],c[u+1]=i[1],c[u+2]=i[2],c[u+3]=i[3],c[u+4]=i[4],c[u+5]=i[5],c[u+6]=i[6],c[u+7]=i[7]}function o(l,c,u){e[0]=l,c[u]=i[7],c[u+1]=i[6],c[u+2]=i[5],c[u+3]=i[4],c[u+4]=i[3],c[u+5]=i[2],c[u+6]=i[1],c[u+7]=i[0]}t.writeDoubleLE=n?r:o,t.writeDoubleBE=n?o:r;function a(l,c){return i[0]=l[c],i[1]=l[c+1],i[2]=l[c+2],i[3]=l[c+3],i[4]=l[c+4],i[5]=l[c+5],i[6]=l[c+6],i[7]=l[c+7],e[0]}function s(l,c){return i[7]=l[c],i[6]=l[c+1],i[5]=l[c+2],i[4]=l[c+3],i[3]=l[c+4],i[2]=l[c+5],i[1]=l[c+6],i[0]=l[c+7],e[0]}t.readDoubleLE=n?a:s,t.readDoubleBE=n?s:a})():(function(){function e(n,r,o,a,s,l){var c=a<0?1:0;if(c&&(a=-a),a===0)n(0,s,l+r),n(1/a>0?0:2147483648,s,l+o);else if(isNaN(a))n(0,s,l+r),n(2146959360,s,l+o);else if(a>17976931348623157e292)n(0,s,l+r),n((c<<31|2146435072)>>>0,s,l+o);else{var u;if(a<22250738585072014e-324)u=a/5e-324,n(u>>>0,s,l+r),n((c<<31|u/4294967296)>>>0,s,l+o);else{var f=Math.floor(Math.log(a)/Math.LN2);f===1024&&(f=1023),u=a*Math.pow(2,-f),n(u*4503599627370496>>>0,s,l+r),n((c<<31|f+1023<<20|u*1048576&1048575)>>>0,s,l+o)}}}t.writeDoubleLE=e.bind(null,ru,0,4),t.writeDoubleBE=e.bind(null,ou,4,0);function i(n,r,o,a,s){var l=n(a,s+r),c=n(a,s+o),u=(c>>31)*2+1,f=c>>>20&2047,h=4294967296*(c&1048575)+l;return f===2047?h?NaN:u*(1/0):f===0?u*5e-324*h:u*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=i.bind(null,au,0,4),t.readDoubleBE=i.bind(null,su,4,0)})(),t}function ru(t,e,i){e[i]=t&255,e[i+1]=t>>>8&255,e[i+2]=t>>>16&255,e[i+3]=t>>>24}function ou(t,e,i){e[i]=t>>>24,e[i+1]=t>>>16&255,e[i+2]=t>>>8&255,e[i+3]=t&255}function au(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function su(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var du=te(fu=>{"use strict";var Zr=fu,Jr=new TextDecoder("utf-8",{ignoreBOM:!0}),Kn,uu=64;try{Kn=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0})}catch{Kn=Jr}Zr.length=function(e){for(var i=0,n=0,r=0;r<e.length;++r)n=e.charCodeAt(r),n<128?i+=1:n<2048?i+=2:(n&64512)===55296&&(e.charCodeAt(r+1)&64512)===56320?(++r,i+=4):i+=3;return i};function gn(t,e,i,n){var r=i===0&&n===e.length?e:e.subarray(i,n);return t.decode(r)}Zr.read=function(e,i,n){if(n-i<1)return"";if(n-i>=uu)return gn(Jr,e,i,n);for(var r="",o=i,a,s,l,c,u,f,h,p;o+7<n;o+=8){if(a=e[o],s=e[o+1],l=e[o+2],c=e[o+3],u=e[o+4],f=e[o+5],h=e[o+6],p=e[o+7],(a|s|l|c|u|f|h|p)&128)return r+gn(Jr,e,o,n);r+=String.fromCharCode(a,s,l,c,u,f,h,p)}for(;o<n;++o){if(a=e[o],a&128)return r+gn(Jr,e,o,n);r+=String.fromCharCode(a)}return r};Zr.readStrict=function(e,i,n){if(n-i<1)return"";if(n-i>=uu)return gn(Kn,e,i,n);for(var r="",o=i,a,s,l,c,u,f,h,p;o+7<n;o+=8){if(a=e[o],s=e[o+1],l=e[o+2],c=e[o+3],u=e[o+4],f=e[o+5],h=e[o+6],p=e[o+7],(a|s|l|c|u|f|h|p)&128)return r+gn(Kn,e,o,n);r+=String.fromCharCode(a,s,l,c,u,f,h,p)}for(;o<n;++o){if(a=e[o],a&128)return r+gn(Kn,e,o,n);r+=String.fromCharCode(a)}return r};Zr.write=function(e,i,n){for(var r=n,o,a,s=0;s<e.length;++s)o=e.charCodeAt(s),o<128?i[n++]=o:o<2048?(i[n++]=o>>6|192,i[n++]=o&63|128):(o&64512)===55296&&((a=e.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(a&1023),++s,i[n++]=o>>18|240,i[n++]=o>>12&63|128,i[n++]=o>>6&63|128,i[n++]=o&63|128):(i[n++]=o>>12|224,i[n++]=o>>6&63|128,i[n++]=o&63|128);return n-r}});var pu=te((y5,hu)=>{"use strict";hu.exports=ep;function ep(t,e,i){var n=i||8192,r=n>>>1,o=null,a=n;return function(l){if(l<1||l>r)return t(l);a+l>n&&(o=t(n),a=0);var c=e.call(o,a,a+=l);return a&7&&(a=(a|7)+1),c}}});var gu=te((v5,mu)=>{"use strict";mu.exports=De;var Jn;function De(t,e){this.lo=t>>>0,this.hi=e>>>0}var Gi=De.zero=new De(0,0);Gi.toNumber=function(){return 0};Gi.zzEncode=Gi.zzDecode=function(){return this};Gi.length=function(){return 1};var tp=De.zeroHash="\0\0\0\0\0\0\0\0";De.fromNumber=function(e){if(e===0)return Gi;var i=e<0;i&&(e=-e);var n=e>>>0,r=(e-n)/4294967296>>>0;return i&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new De(n,r)};De.from=function(e){if(typeof e=="number")return De.fromNumber(e);if(typeof e=="string"||e instanceof String)if(Jn)e=Jn.fromString(e);else return De.fromNumber(parseInt(e,10));return e.low||e.high?new De(e.low>>>0,e.high>>>0):Gi};De.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var i=~this.lo+1>>>0,n=~this.hi>>>0;return i||(n=n+1>>>0),-(i+n*4294967296)}return this.lo+this.hi*4294967296};De.prototype.toLong=function(e){return Jn?new Jn(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var hi=String.prototype.charCodeAt;De.fromHash=function(e){return e===tp?Gi:new De((hi.call(e,0)|hi.call(e,1)<<8|hi.call(e,2)<<16|hi.call(e,3)<<24)>>>0,(hi.call(e,4)|hi.call(e,5)<<8|hi.call(e,6)<<16|hi.call(e,7)<<24)>>>0)};De.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};De.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};De.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};De.prototype.length=function(){var e=this.lo,i=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?i===0?e<16384?e<128?1:2:e<2097152?3:4:i<16384?i<128?5:6:i<2097152?7:8:n<128?9:10};De._configure=function(t){Jn=t}});var bu=te((Zn,La)=>{(function(t,e){function i(n){return n.default||n}typeof define=="function"&&define.amd?define([],function(){var n={};return e(n),i(n)}):typeof Zn=="object"?(e(Zn),typeof La=="object"&&(La.exports=i(Zn))):(function(){var n={};e(n),t.Long=i(n)})()})(typeof globalThis<"u"?globalThis:typeof self<"u"?self:Zn,function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var e=null;try{e=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function i(k,d,_){this.low=k|0,this.high=d|0,this.unsigned=!!_}i.prototype.__isLong__,Object.defineProperty(i.prototype,"__isLong__",{value:!0});function n(k){return(k&&k.__isLong__)===!0}function r(k){var d=Math.clz32(k&-k);return k?31-d:d}i.isLong=n;var o={},a={};function s(k,d){var _,D,H;return d?(k>>>=0,(H=0<=k&&k<256)&&(D=a[k],D)?D:(_=c(k,0,!0),H&&(a[k]=_),_)):(k|=0,(H=-128<=k&&k<128)&&(D=o[k],D)?D:(_=c(k,k<0?-1:0,!1),H&&(o[k]=_),_))}i.fromInt=s;function l(k,d){if(isNaN(k))return d?I:F;if(d){if(k<0)return I;if(k>=w)return E}else{if(k<=-S)return A;if(k+1>=S)return B}return k<0?l(-k,d).neg():c(k%b|0,k/b|0,d)}i.fromNumber=l;function c(k,d,_){return new i(k,d,_)}i.fromBits=c;var u=Math.pow;function f(k,d,_){if(k.length===0)throw Error("empty string");if(typeof d=="number"?(_=d,d=!1):d=!!d,k==="NaN"||k==="Infinity"||k==="+Infinity"||k==="-Infinity")return d?I:F;if(_=_||10,_<2||36<_)throw RangeError("radix");var D;if((D=k.indexOf("-"))>0)throw Error("interior hyphen");if(D===0)return f(k.substring(1),d,_).neg();for(var H=l(u(_,8)),U=F,K=0;K<k.length;K+=8){var re=Math.min(8,k.length-K),we=parseInt(k.substring(K,K+re),_);if(re<8){var Se=l(u(_,re));U=U.mul(Se).add(l(we))}else U=U.mul(H),U=U.add(l(we))}return U.unsigned=d,U}i.fromString=f;function h(k,d){return typeof k=="number"?l(k,d):typeof k=="string"?f(k,d):c(k.low,k.high,typeof d=="boolean"?d:k.unsigned)}i.fromValue=h;var p=65536,g=1<<24,b=p*p,w=b*b,S=w/2,x=s(g),F=s(0);i.ZERO=F;var I=s(0,!0);i.UZERO=I;var $=s(1);i.ONE=$;var z=s(1,!0);i.UONE=z;var q=s(-1);i.NEG_ONE=q;var B=c(-1,2147483647,!1);i.MAX_VALUE=B;var E=c(-1,-1,!0);i.MAX_UNSIGNED_VALUE=E;var A=c(0,-2147483648,!1);i.MIN_VALUE=A;var y=i.prototype;y.toInt=function(){return this.unsigned?this.low>>>0:this.low},y.toNumber=function(){return this.unsigned?(this.high>>>0)*b+(this.low>>>0):this.high*b+(this.low>>>0)},y.toString=function(d){if(d=d||10,d<2||36<d)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(A)){var _=l(d),D=this.div(_),H=D.mul(_).sub(this);return D.toString(d)+H.toInt().toString(d)}else return"-"+this.neg().toString(d);for(var U=l(u(d,6),this.unsigned),K=this,re="";;){var we=K.div(U),Se=K.sub(we.mul(U)).toInt()>>>0,me=Se.toString(d);if(K=we,K.isZero())return me+re;for(;me.length<6;)me="0"+me;re=""+me+re}},y.getHighBits=function(){return this.high},y.getHighBitsUnsigned=function(){return this.high>>>0},y.getLowBits=function(){return this.low},y.getLowBitsUnsigned=function(){return this.low>>>0},y.getNumBitsAbs=function(){if(this.isNegative())return this.eq(A)?64:this.neg().getNumBitsAbs();for(var d=this.high!=0?this.high:this.low,_=31;_>0&&(d&1<<_)==0;_--);return this.high!=0?_+33:_+1},y.isSafeInteger=function(){var d=this.high>>21;return d?this.unsigned?!1:d===-1&&!(this.low===0&&this.high===-2097152):!0},y.isZero=function(){return this.high===0&&this.low===0},y.eqz=y.isZero,y.isNegative=function(){return!this.unsigned&&this.high<0},y.isPositive=function(){return this.unsigned||this.high>=0},y.isOdd=function(){return(this.low&1)===1},y.isEven=function(){return(this.low&1)===0},y.equals=function(d){return n(d)||(d=h(d)),this.unsigned!==d.unsigned&&this.high>>>31===1&&d.high>>>31===1?!1:this.high===d.high&&this.low===d.low},y.eq=y.equals,y.notEquals=function(d){return!this.eq(d)},y.neq=y.notEquals,y.ne=y.notEquals,y.lessThan=function(d){return this.comp(d)<0},y.lt=y.lessThan,y.lessThanOrEqual=function(d){return this.comp(d)<=0},y.lte=y.lessThanOrEqual,y.le=y.lessThanOrEqual,y.greaterThan=function(d){return this.comp(d)>0},y.gt=y.greaterThan,y.greaterThanOrEqual=function(d){return this.comp(d)>=0},y.gte=y.greaterThanOrEqual,y.ge=y.greaterThanOrEqual,y.compare=function(d){if(n(d)||(d=h(d)),this.eq(d))return 0;var _=this.isNegative(),D=d.isNegative();return _&&!D?-1:!_&&D?1:this.unsigned?d.high>>>0>this.high>>>0||d.high===this.high&&d.low>>>0>this.low>>>0?-1:1:this.sub(d).isNegative()?-1:1},y.comp=y.compare,y.negate=function(){return!this.unsigned&&this.eq(A)?A:this.not().add($)},y.neg=y.negate,y.add=function(d){n(d)||(d=h(d));var _=this.high>>>16,D=this.high&65535,H=this.low>>>16,U=this.low&65535,K=d.high>>>16,re=d.high&65535,we=d.low>>>16,Se=d.low&65535,me=0,Q=0,fe=0,Ie=0;return Ie+=U+Se,fe+=Ie>>>16,Ie&=65535,fe+=H+we,Q+=fe>>>16,fe&=65535,Q+=D+re,me+=Q>>>16,Q&=65535,me+=_+K,me&=65535,c(fe<<16|Ie,me<<16|Q,this.unsigned)},y.subtract=function(d){return n(d)||(d=h(d)),this.add(d.neg())},y.sub=y.subtract,y.multiply=function(d){if(this.isZero())return this;if(n(d)||(d=h(d)),e){var _=e.mul(this.low,this.high,d.low,d.high);return c(_,e.get_high(),this.unsigned)}if(d.isZero())return this.unsigned?I:F;if(this.eq(A))return d.isOdd()?A:F;if(d.eq(A))return this.isOdd()?A:F;if(this.isNegative())return d.isNegative()?this.neg().mul(d.neg()):this.neg().mul(d).neg();if(d.isNegative())return this.mul(d.neg()).neg();if(this.lt(x)&&d.lt(x))return l(this.toNumber()*d.toNumber(),this.unsigned);var D=this.high>>>16,H=this.high&65535,U=this.low>>>16,K=this.low&65535,re=d.high>>>16,we=d.high&65535,Se=d.low>>>16,me=d.low&65535,Q=0,fe=0,Ie=0,St=0;return St+=K*me,Ie+=St>>>16,St&=65535,Ie+=U*me,fe+=Ie>>>16,Ie&=65535,Ie+=K*Se,fe+=Ie>>>16,Ie&=65535,fe+=H*me,Q+=fe>>>16,fe&=65535,fe+=U*Se,Q+=fe>>>16,fe&=65535,fe+=K*we,Q+=fe>>>16,fe&=65535,Q+=D*me+H*Se+U*we+K*re,Q&=65535,c(Ie<<16|St,Q<<16|fe,this.unsigned)},y.mul=y.multiply,y.divide=function(d){if(n(d)||(d=h(d)),d.isZero())throw Error("division by zero");if(e){if(!this.unsigned&&this.high===-2147483648&&d.low===-1&&d.high===-1)return this;var _=(this.unsigned?e.div_u:e.div_s)(this.low,this.high,d.low,d.high);return c(_,e.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?I:F;var D,H,U;if(this.unsigned){if(d.unsigned||(d=d.toUnsigned()),d.gt(this))return I;if(d.gt(this.shru(1)))return z;U=I}else{if(this.eq(A)){if(d.eq($)||d.eq(q))return A;if(d.eq(A))return $;var K=this.shr(1);return D=K.div(d).shl(1),D.eq(F)?d.isNegative()?$:q:(H=this.sub(d.mul(D)),U=D.add(H.div(d)),U)}else if(d.eq(A))return this.unsigned?I:F;if(this.isNegative())return d.isNegative()?this.neg().div(d.neg()):this.neg().div(d).neg();if(d.isNegative())return this.div(d.neg()).neg();U=F}for(H=this;H.gte(d);){D=Math.max(1,Math.floor(H.toNumber()/d.toNumber()));for(var re=Math.ceil(Math.log(D)/Math.LN2),we=re<=48?1:u(2,re-48),Se=l(D),me=Se.mul(d);me.isNegative()||me.gt(H);)D-=we,Se=l(D,this.unsigned),me=Se.mul(d);Se.isZero()&&(Se=$),U=U.add(Se),H=H.sub(me)}return U},y.div=y.divide,y.modulo=function(d){if(n(d)||(d=h(d)),e){var _=(this.unsigned?e.rem_u:e.rem_s)(this.low,this.high,d.low,d.high);return c(_,e.get_high(),this.unsigned)}return this.sub(this.div(d).mul(d))},y.mod=y.modulo,y.rem=y.modulo,y.not=function(){return c(~this.low,~this.high,this.unsigned)},y.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},y.clz=y.countLeadingZeros,y.countTrailingZeros=function(){return this.low?r(this.low):r(this.high)+32},y.ctz=y.countTrailingZeros,y.and=function(d){return n(d)||(d=h(d)),c(this.low&d.low,this.high&d.high,this.unsigned)},y.or=function(d){return n(d)||(d=h(d)),c(this.low|d.low,this.high|d.high,this.unsigned)},y.xor=function(d){return n(d)||(d=h(d)),c(this.low^d.low,this.high^d.high,this.unsigned)},y.shiftLeft=function(d){return n(d)&&(d=d.toInt()),(d&=63)===0?this:d<32?c(this.low<<d,this.high<<d|this.low>>>32-d,this.unsigned):c(0,this.low<<d-32,this.unsigned)},y.shl=y.shiftLeft,y.shiftRight=function(d){return n(d)&&(d=d.toInt()),(d&=63)===0?this:d<32?c(this.low>>>d|this.high<<32-d,this.high>>d,this.unsigned):c(this.high>>d-32,this.high>=0?0:-1,this.unsigned)},y.shr=y.shiftRight,y.shiftRightUnsigned=function(d){return n(d)&&(d=d.toInt()),(d&=63)===0?this:d<32?c(this.low>>>d|this.high<<32-d,this.high>>>d,this.unsigned):d===32?c(this.high,0,this.unsigned):c(this.high>>>d-32,0,this.unsigned)},y.shru=y.shiftRightUnsigned,y.shr_u=y.shiftRightUnsigned,y.rotateLeft=function(d){var _;return n(d)&&(d=d.toInt()),(d&=63)===0?this:d===32?c(this.high,this.low,this.unsigned):d<32?(_=32-d,c(this.low<<d|this.high>>>_,this.high<<d|this.low>>>_,this.unsigned)):(d-=32,_=32-d,c(this.high<<d|this.low>>>_,this.low<<d|this.high>>>_,this.unsigned))},y.rotl=y.rotateLeft,y.rotateRight=function(d){var _;return n(d)&&(d=d.toInt()),(d&=63)===0?this:d===32?c(this.high,this.low,this.unsigned):d<32?(_=32-d,c(this.high<<_|this.low>>>d,this.low<<_|this.high>>>d,this.unsigned)):(d-=32,_=32-d,c(this.low<<_|this.high>>>d,this.high<<_|this.low>>>d,this.unsigned))},y.rotr=y.rotateRight,y.toSigned=function(){return this.unsigned?c(this.low,this.high,!1):this},y.toUnsigned=function(){return this.unsigned?this:c(this.low,this.high,!0)},y.toBytes=function(d){return d?this.toBytesLE():this.toBytesBE()},y.toBytesLE=function(){var d=this.high,_=this.low;return[_&255,_>>>8&255,_>>>16&255,_>>>24,d&255,d>>>8&255,d>>>16&255,d>>>24]},y.toBytesBE=function(){var d=this.high,_=this.low;return[d>>>24,d>>>16&255,d>>>8&255,d&255,_>>>24,_>>>16&255,_>>>8&255,_&255]},i.fromBytes=function(d,_,D){return D?i.fromBytesLE(d,_):i.fromBytesBE(d,_)},i.fromBytesLE=function(d,_){return new i(d[0]|d[1]<<8|d[2]<<16|d[3]<<24,d[4]|d[5]<<8|d[6]<<16|d[7]<<24,_)},i.fromBytesBE=function(d,_){return new i(d[4]<<24|d[5]<<16|d[6]<<8|d[7],d[0]<<24|d[1]<<16|d[2]<<8|d[3],_)},typeof BigInt=="function"&&(i.fromBigInt=function(d,_){var D=Number(BigInt.asIntN(32,d)),H=Number(BigInt.asIntN(32,d>>BigInt(32)));return c(D,H,_)},i.fromValue=function(d,_){return typeof d=="bigint"?i.fromBigInt(d,_):h(d,_)},y.toBigInt=function(){var d=BigInt(this.low>>>0),_=BigInt(this.unsigned?this.high>>>0:this.high);return _<<BigInt(32)|d});var O=t.default=i})});var Dt=te(Ga=>{"use strict";var X=Ga;X.asPromise=za();X.base64=eu();X.EventEmitter=iu();X.float=cu();X.utf8=du();X.pool=pu();X.LongBits=gu();function yu(t){return t==="__proto__"||t==="prototype"||t==="constructor"}X.isUnsafeProperty=yu;X.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node);X.global=X.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||typeof globalThis<"u"&&globalThis||Ga;X.emptyArray=Object.freeze?Object.freeze([]):[];X.emptyObject=Object.freeze?Object.freeze({}):{};X.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};X.isString=function(e){return typeof e=="string"||e instanceof String};X.isObject=function(e){return e&&typeof e=="object"};X.isset=X.isSet=function(e,i){var n=e[i];return n!=null&&Object.hasOwnProperty.call(e,i)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};X.Buffer=(function(){try{var t=X.global.Buffer;return t.prototype.utf8Write||X.isNode?t:null}catch{return null}})();X.newBuffer=function(e){var i=X.Buffer;return typeof e=="number"?i?i.allocUnsafe(e):new Uint8Array(e):i?i.from(e):new Uint8Array(e)};X.rawField=function(e,i,n){var r=[],o=e<<3|i;for(o>>>=0;o>127;)r.push(o&127|128),o>>>=7;r.push(o);for(var a=0;a<n.length;++a)r.push(n[a]);return X.newBuffer(r)};X.Array=Uint8Array;X.Long=X.global.dcodeIO&&X.global.dcodeIO.Long||X.global.Long||(function(){try{var t=bu();return t&&t.isLong?t:null}catch{return null}})();X.key2Re=/^(?:true|false|0|1)$/;X.key32Re=/^-?(?:0|[1-9][0-9]*)$/;X.key64Re=/^(?:[\x00-\xff]{8}|-?(?:0|[1-9][0-9]*))$/;X.longToHash=function(e){return e?X.LongBits.from(e).toHash():X.LongBits.zeroHash};X.longFromHash=function(e,i){var n=X.LongBits.fromHash(e);return X.Long?X.Long.fromBits(n.lo,n.hi,i):n.toNumber(!!i)};X.longFromKey=function(e,i){return X.key64Re.test(e)&&!X.key32Re.test(e)?X.longFromHash(e,i):e};X.boolFromKey=function(e){return e==="true"||e==="1"};function vu(t){var e=typeof arguments[arguments.length-1]=="boolean",i=e?arguments.length-1:arguments.length;e=e&&arguments[arguments.length-1];for(var n=1;n<i;++n){var r=arguments[n];if(r)for(var o=Object.keys(r),a=0;a<o.length;++a)!yu(o[a])&&(!e||!Object.prototype.hasOwnProperty.call(t,o[a])||t[o[a]]===void 0)&&(t[o[a]]=r[o[a]])}return t}X.merge=vu;X.nestingLimit=32;X.recursionLimit=100;X.makeProp=function(e,i,n){Object.prototype.hasOwnProperty.call(e,i)||Object.defineProperty(e,i,{enumerable:n===void 0?!0:n,configurable:!0,writable:!0})};X.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function wu(t){function e(i,n){if(!(this instanceof e))return new e(i,n);Object.defineProperty(this,"message",{get:function(){return i}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&vu(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}X.newError=wu;X.ProtocolError=wu("ProtocolError");X.oneOfGetter=function(e){for(var i={},n=0;n<e.length;++n)i[e[n]]=1;return function(){for(var r=Object.keys(this),o=r.length-1;o>-1;--o)if(i[r[o]]===1&&this[r[o]]!==void 0&&this[r[o]]!==null)return r[o]}};X.oneOfSetter=function(e){return function(i){for(var n=0;n<e.length;++n)e[n]!==i&&delete this[e[n]]}};X.toJSONOptions={longs:String,enums:String,bytes:String,json:!0}});var eo=te((S5,_u)=>{"use strict";_u.exports=W;var $t=Dt(),Va,Qt=$t.LongBits,Su=$t.base64,Ba=$t.utf8;function W(){this.pos=0,this.buf=this.constructor.alloc(W.initialBufferSize),this.view=null,this.states=null}W.initialBufferSize=128;Object.defineProperty(W.prototype,"len",{configurable:!0,enumerable:!0,get:function(){return this.pos}});var xu=function(){return $t.Buffer?function(){return(W.create=function(){return new Va})()}:function(){return new W}};W.create=xu();W.alloc=function(e){return new Uint8Array(e)};W.alloc=$t.pool(W.alloc,Uint8Array.prototype.subarray);function qa(t){return t<128?1:t<16384?2:t<2097152?3:t<268435456?4:5}W.prototype._reserve=function(e){var i=this.pos+e;if(i>this.buf.length){var n=this.buf.length<<1;n<i&&(n=i);var r=this.constructor.alloc(n);r.set(this.buf.subarray(0,this.pos),0),this.buf=r,this.view=null}};function ip(t,e,i){for(var n=0;n<t.length;)e[i++]=t.charCodeAt(n++)}function Bi(t,e,i){for(;t>127;)e[i++]=t&127|128,t>>>=7;return e[i]=t,i+1}W.prototype.uint32=function(e){e=e>>>0,this._reserve(5);var i=this.pos;return this.pos=Bi(e,this.buf,i),this};W.prototype.int32=function(e){return(e|=0)<0?(this._reserve(10),yn(Qt.fromNumber(e),this.buf,this.pos),this.pos+=10,this):this.uint32(e)};W.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function yn(t,e,i){for(var n=t.lo,r=t.hi;r;)e[i++]=n&127|128,n=(n>>>7|r<<25)>>>0,r>>>=7;for(;n>127;)e[i++]=n&127|128,n=n>>>7;return e[i]=n,i+1}W.prototype.uint64=function(e){var i=Qt.from(e);this._reserve(10);var n=this.pos;return this.pos=yn(i,this.buf,n),this};W.prototype.int64=W.prototype.uint64;W.prototype.sint64=function(e){var i=Qt.from(e).zzEncode();this._reserve(10);var n=this.pos;return this.pos=yn(i,this.buf,n),this};W.prototype.bool=function(e){return this._reserve(1),this.buf[this.pos++]=e?1:0,this};function bn(t,e,i){e[i]=t&255,e[i+1]=t>>>8&255,e[i+2]=t>>>16&255,e[i+3]=t>>>24}W.prototype.fixed32=function(e){return this._reserve(4),bn(e>>>0,this.buf,this.pos),this.pos+=4,this};W.prototype.sfixed32=W.prototype.fixed32;W.prototype.fixed64=function(e){var i=Qt.from(e);return this._reserve(8),bn(i.lo,this.buf,this.pos),bn(i.hi,this.buf,this.pos+4),this.pos+=8,this};W.prototype.sfixed64=W.prototype.fixed64;W.prototype.float=function(e){return this._reserve(4),$t.float.writeFloatLE(e,this.buf,this.pos),this.pos+=4,this};W.prototype.double=function(e){return this._reserve(8),$t.float.writeDoubleLE(e,this.buf,this.pos),this.pos+=8,this};W.prototype.bytes=function(e){var i=e.length>>>0;if(!i)return this._reserve(1),this.buf[this.pos++]=0,this;if($t.isString(e)){var n=W.alloc(i=Su.length(e));Su.decode(e,n,0),e=n}return this.uint32(i),this._reserve(i),this.buf.set(e,this.pos),this.pos+=i,this};W.prototype.raw=function(e){var i=e.length>>>0;return i?(this._reserve(i),this.buf.set(e,this.pos),this.pos+=i,this):this};W.prototype._delim=function(e,i){var n=qa(i);return n>1&&this.buf.copyWithin(e+n,e+1,e+1+i),Bi(i,this.buf,e),this.pos=e+n+i,this};W.prototype.string=function(e){var i=e.length;if(!i)return this._reserve(1),this.buf[this.pos++]=0,this;if(i<128){this._reserve(i*3+5);var n=this.pos;return this._delim(n,Ba.write(e,this.buf,n+1))}var r=Ba.length(e);return this.uint32(r),this._reserve(r),r===e.length?ip(e,this.buf,this.pos):Ba.write(e,this.buf,this.pos),this.pos+=r,this};W.prototype.uint32s=function(e){var i=e.length;this._reserve(i*5+5);for(var n=this.buf,r=this.pos,o=r+1,a=0;a<i;++a)o=Bi(e[a]>>>0,n,o);return this._delim(r,o-r-1)};W.prototype.int32s=function(e){var i=e.length;this._reserve(i*10+5);for(var n=this.buf,r=this.pos,o=r+1,a,s=0;s<i;++s)(a=e[s]|0)<0?o=yn(Qt.fromNumber(a),n,o):o=Bi(a,n,o);return this._delim(r,o-r-1)};W.prototype.sint32s=function(e){var i=e.length;this._reserve(i*5+5);for(var n=this.buf,r=this.pos,o=r+1,a=0;a<i;++a)o=Bi((e[a]<<1^e[a]>>31)>>>0,n,o);return this._delim(r,o-r-1)};W.prototype.uint64s=function(e){var i=e.length;this._reserve(i*10+5);for(var n=this.buf,r=this.pos,o=r+1,a=0;a<i;++a)o=yn(Qt.from(e[a]),n,o);return this._delim(r,o-r-1)};W.prototype.int64s=W.prototype.uint64s;W.prototype.sint64s=function(e){var i=e.length;this._reserve(i*10+5);for(var n=this.buf,r=this.pos,o=r+1,a=0;a<i;++a)o=yn(Qt.from(e[a]).zzEncode(),n,o);return this._delim(r,o-r-1)};W.prototype.bools=function(e){var i=e.length;this.uint32(i),this._reserve(i);for(var n=this.buf,r=this.pos,o=0;o<i;++o)n[r++]=e[o]?1:0;return this.pos+=i,this};var Eu=16,Iu=128;function Qr(t,e,i){var n=t.view;if(n||e<i)return n;var r=t.buf;return t.view=new DataView(r.buffer,r.byteOffset,r.byteLength)}W.prototype.fixed32s=function(e){var i=e.length,n=i*4;this.uint32(n),this._reserve(n);var r=this.pos,o,a=Qr(this,i,Iu);if(a)for(o=0;o<i;++o)a.setUint32(r,e[o]>>>0,!0),r+=4;else{var s=this.buf;for(o=0;o<i;++o)bn(e[o]>>>0,s,r),r+=4}return this.pos+=n,this};W.prototype.sfixed32s=W.prototype.fixed32s;W.prototype.fixed64s=function(e){var i=e.length,n=i*8;this.uint32(n),this._reserve(n);var r=this.pos,o,a,s=Qr(this,i,Iu);if(s)for(o=0;o<i;++o)a=Qt.from(e[o]),s.setUint32(r,a.lo,!0),s.setUint32(r+4,a.hi,!0),r+=8;else{var l=this.buf;for(o=0;o<i;++o)a=Qt.from(e[o]),bn(a.lo,l,r),bn(a.hi,l,r+4),r+=8}return this.pos+=n,this};W.prototype.sfixed64s=W.prototype.fixed64s;W.prototype.floats=function(e){var i=e.length,n=i*4;this.uint32(n),this._reserve(n);var r=this.pos,o,a=Qr(this,i,Eu);if(a)for(o=0;o<i;++o)a.setFloat32(r,e[o],!0),r+=4;else{var s=this.buf;for(o=0;o<i;++o)$t.float.writeFloatLE(e[o],s,r),r+=4}return this.pos+=n,this};W.prototype.doubles=function(e){var i=e.length,n=i*8;this.uint32(n),this._reserve(n);var r=this.pos,o,a=Qr(this,i,Eu);if(a)for(o=0;o<i;++o)a.setFloat64(r,e[o],!0),r+=8;else{var s=this.buf;for(o=0;o<i;++o)$t.float.writeDoubleLE(e[o],s,r),r+=8}return this.pos+=n,this};W.prototype.fork=function(){return this._reserve(1),(this.states||(this.states=[])).push(this.pos),this.pos+=1,this};W.prototype.reset=function(){var e=this.states;return e&&e.length?this.pos=e.pop():this.pos=0,this};W.prototype.ldelim=function(){var e=this.states,i,n;if(e&&e.length){var r=e.pop();i=this.pos-r-1,n=qa(i),n>1?(this._reserve(n-1),this.buf.copyWithin(r+n,r+1,r+1+i),this.pos+=n-1,Bi(i,this.buf,r)):this.buf[r]=i}else i=this.pos,n=qa(i),this._reserve(n),this.buf.copyWithin(n,0,i),Bi(i,this.buf,0),this.pos+=n;return this};W.prototype.finish=function(e){if(e)return this.buf.subarray(0,this.pos);var i=this.constructor.alloc(this.pos);return i.set(this.buf.subarray(0,this.pos),0),i};W.prototype.finishInto=function(e,i){return i===void 0&&(i=0),e.set(this.buf.subarray(0,this.pos),i),e};W._configure=function(t){Va=t,W.create=xu(),Va._configure()}});var Au=te((x5,Cu)=>{"use strict";Cu.exports=mi;var ku=eo();mi.prototype=Object.create(ku.prototype,{constructor:{value:mi,writable:!0,enumerable:!1,configurable:!0}});var pi=Dt();function mi(){ku.call(this)}var ja;mi._configure=function(){mi.alloc=pi.Buffer&&pi.Buffer.allocUnsafe,ja=pi.Buffer&&pi.Buffer.prototype.utf8Write?function(e,i,n){return i.utf8Write(e,n)}:function(e,i,n){return i.write(e,n)}};mi.prototype.bytes=function(e){pi.isString(e)&&(e=pi.Buffer.from(e,"base64"));var i=e.length>>>0;return this.uint32(i),i&&(this._reserve(i),this.buf.set(e,this.pos),this.pos+=i),this};mi.prototype.string=function(e){var i=e.length;if(!i)return this._reserve(1),this.buf[this.pos++]=0,this;if(i<128){this._reserve(i*3+5);var n=this.pos,r=this.buf;return this._delim(n,i<40?pi.utf8.write(e,r,n+1):ja(e,r,n+1))}var o=pi.Buffer.byteLength(e);return this.uint32(o),this._reserve(o),ja(e,this.buf,this.pos),this.pos+=o,this};mi._configure()});var io=te((E5,Du)=>{"use strict";Du.exports=ae;var It=Dt(),Ua,Ou=It.LongBits,Nu=It.utf8;function ve(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function ae(t){this.buf=t,this.pos=0,this.len=t.length,this.view=null,this.discardUnknown=ae.discardUnknown}function Tu(t){if(Array.isArray(t)&&(t=new Uint8Array(t)),t instanceof Uint8Array)return new ae(t);throw Error("illegal buffer")}var Pu=function(){return It.Buffer?function(i){return(ae.create=function(r){return It.Buffer.isBuffer(r)?new Ua(r):Tu(r)})(i)}:Tu};ae.create=Pu();ae.prototype.raw=function(e,i){return this.buf.subarray(e,i)};ae.prototype.uint32=function(){var e=this.buf,i=this.pos,n=(e[i]&127)>>>0;if(e[i++]<128)return this.pos=i,n;if(n=(n|(e[i]&127)<<7)>>>0,e[i++]<128)return this.pos=i,n;if(n=(n|(e[i]&127)<<14)>>>0,e[i++]<128)return this.pos=i,n;if(n=(n|(e[i]&127)<<21)>>>0,e[i++]<128)return this.pos=i,n;if(n=(n|(e[i]&15)<<28)>>>0,e[i++]<128)return this.pos=i,n;for(var r=0;r<5;++r){if(i>=this.len)throw this.pos=i,ve(this);if(e[i++]<128)return this.pos=i,n}throw this.pos=i,Error("invalid varint encoding")};ae.prototype.tag=function(){var e=this.buf,i=this.pos,n=(e[i]&127)>>>0;if(e[i++]<128)return this.pos=i,n;if(n=(n|(e[i]&127)<<7)>>>0,e[i++]<128)return this.pos=i,n;if(n=(n|(e[i]&127)<<14)>>>0,e[i++]<128)return this.pos=i,n;if(n=(n|(e[i]&127)<<21)>>>0,e[i++]<128)return this.pos=i,n;if(n=(n|(e[i]&15)<<28)>>>0,e[i]<128&&(e[i]&112)===0)return this.pos=i+1,n;throw this.pos=i+1,Error("invalid tag encoding")};ae.prototype.int32=function(){return this.uint32()|0};ae.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Ha(){var t=new Ou(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<4;++e){if(this.pos>=this.len)throw ve(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}throw ve(this)}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw ve(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}ae.prototype.bool=function(){for(var e=!1,i,n=0;n<10;++n){if(this.pos>=this.len)throw ve(this);if(i=this.buf[this.pos++],i&127&&(e=!0),i<128)return e}throw Error("invalid varint encoding")};function vn(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}ae.prototype.fixed32=function(){if(this.pos+4>this.len)throw ve(this,4);return vn(this.buf,this.pos+=4)};ae.prototype.sfixed32=function(){if(this.pos+4>this.len)throw ve(this,4);return vn(this.buf,this.pos+=4)|0};function Ru(){if(this.pos+8>this.len)throw ve(this,8);return new Ou(vn(this.buf,this.pos+=4),vn(this.buf,this.pos+=4))}ae.prototype.float=function(){if(this.pos+4>this.len)throw ve(this,4);var e=It.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};ae.prototype.double=function(){if(this.pos+8>this.len)throw ve(this,4);var e=It.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};ae.prototype.uint32s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos,n=this.buf,r=this.pos,o;r<i;)o=n[r++],o<128?e.push(o):(this.pos=r-1,e.push(this.uint32()),r=this.pos);return this.pos=r,e};ae.prototype.int32s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos,n=this.buf,r=this.pos,o;r<i;)o=n[r++],o<128?e.push(o):(this.pos=r-1,e.push(this.int32()),r=this.pos);return this.pos=r,e};ae.prototype.sint32s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos;this.pos<i;)e.push(this.sint32());return e};ae.prototype.bools=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos,n=this.buf,r=this.pos,o;r<i;)o=n[r++],o<128?e.push(o!==0):(this.pos=r-1,e.push(this.bool()),r=this.pos);return this.pos=r,e};var Mu=8,Fu=128;function to(t,e,i){var n=t.view;if(n||e<i)return n;var r=t.buf;return t.view=new DataView(r.buffer,r.byteOffset,r.byteLength)}ae.prototype.fixed32s=function(e){e===void 0&&(e=[]);var i=this.uint32(),n=this.pos+i;if(n>this.len)throw ve(this,i);var r=i>>>2,o=e.length,a=this.pos;e.length=o+r;var s=to(this,r,Fu);if(s)for(var l=0;l<r;++l,a+=4)e[o++]=s.getUint32(a,!0);else for(var c=this.buf,u=0;u<r;++u,a+=4)e[o++]=vn(c,a+4);if(this.pos=a,a!==n)throw ve(this,4);return e};ae.prototype.sfixed32s=function(e){e===void 0&&(e=[]);var i=this.uint32(),n=this.pos+i;if(n>this.len)throw ve(this,i);var r=i>>>2,o=e.length,a=this.pos;e.length=o+r;var s=to(this,r,Fu);if(s)for(var l=0;l<r;++l,a+=4)e[o++]=s.getInt32(a,!0);else for(var c=this.buf,u=0;u<r;++u,a+=4)e[o++]=vn(c,a+4)|0;if(this.pos=a,a!==n)throw ve(this,4);return e};ae.prototype.floats=function(e){e===void 0&&(e=[]);var i=this.uint32(),n=this.pos+i;if(n>this.len)throw ve(this,i);var r=i>>>2,o=e.length,a=this.pos;e.length=o+r;var s=to(this,r,Mu);if(s)for(var l=0;l<r;++l,a+=4)e[o++]=s.getFloat32(a,!0);else for(var c=this.buf,u=0;u<r;++u,a+=4)e[o++]=It.float.readFloatLE(c,a);if(this.pos=a,a!==n)throw ve(this,4);return e};ae.prototype.doubles=function(e){e===void 0&&(e=[]);var i=this.uint32(),n=this.pos+i;if(n>this.len)throw ve(this,i);var r=i>>>3,o=e.length,a=this.pos;e.length=o+r;var s=to(this,r,Mu);if(s)for(var l=0;l<r;++l,a+=8)e[o++]=s.getFloat64(a,!0);else for(var c=this.buf,u=0;u<r;++u,a+=8)e[o++]=It.float.readDoubleLE(c,a);if(this.pos=a,a!==n)throw ve(this,8);return e};ae.prototype.uint64s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos;this.pos<i;)e.push(this.uint64());return e};ae.prototype.int64s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos;this.pos<i;)e.push(this.int64());return e};ae.prototype.sint64s=function(e){e===void 0&&(e=[]);for(var i=this.uint32()+this.pos;this.pos<i;)e.push(this.sint64());return e};ae.prototype.fixed64s=function(e){e===void 0&&(e=[]);var i=this.uint32(),n=this.pos+i,r=e.length;if(n>this.len)throw ve(this,i);var o=i>>>3;e.length=r+o;for(var a=0;a<o;++a)e[r++]=this.fixed64();if(this.pos!==n)throw ve(this,8);return e};ae.prototype.sfixed64s=function(e){e===void 0&&(e=[]);var i=this.uint32(),n=this.pos+i,r=e.length;if(n>this.len)throw ve(this,i);var o=i>>>3;e.length=r+o;for(var a=0;a<o;++a)e[r++]=this.sfixed64();if(this.pos!==n)throw ve(this,8);return e};ae.prototype.bytes=function(){var e=this.uint32(),i=this.pos,n=this.pos+e;if(n>this.len)throw ve(this,e);return this.pos=n,this.raw(i,n)};ae.prototype.string=function(){var e=this.uint32(),i=this.pos,n=this.pos+e;if(n>this.len)throw ve(this,e);return this.pos=n,Nu.read(this.buf,i,n)};ae.prototype.stringVerify=function(){var e=this.uint32(),i=this.pos,n=this.pos+e;if(n>this.len)throw ve(this,e);return this.pos=n,Nu.readStrict(this.buf,i,n)};ae.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw ve(this,e);this.pos+=e}else do if(this.pos>=this.len)throw ve(this);while(this.buf[this.pos++]&128);return this};ae.recursionLimit=It.recursionLimit;ae.discardUnknown=!0;ae.prototype.skipType=function(t,e,i){if(e===void 0&&(e=0),e>ae.recursionLimit)throw Error("max depth exceeded");if(i===0)throw Error("illegal tag: field number 0");switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;;){var n=this.tag(),r=n>>>3;if(t=n&7,!r)throw Error("illegal tag: field number 0");if(t===4){if(i!==void 0&&r!==i)throw Error("invalid end group tag");break}this.skipType(t,e+1,r)}break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};ae._configure=function(t){Ua=t,ae.create=Pu(),Ua._configure();var e=It.Long?"toLong":"toNumber";It.merge(ae.prototype,{int64:function(){return Ha.call(this)[e](!1)},uint64:function(){return Ha.call(this)[e](!0)},sint64:function(){return Ha.call(this).zzDecode()[e](!1)},fixed64:function(){return Ru.call(this)[e](!0)},sfixed64:function(){return Ru.call(this)[e](!1)}})}});var Gu=te((I5,Lu)=>{"use strict";Lu.exports=gi;var zu=io();gi.prototype=Object.create(zu.prototype,{constructor:{value:gi,writable:!0,enumerable:!1,configurable:!0}});var $u=Dt();function gi(t){zu.call(this,t)}gi._configure=function(){$u.Buffer&&(gi.prototype._slice=$u.Buffer.prototype.slice)};gi.prototype.raw=function(e,i){return this._slice.call(this.buf,e,i)};gi.prototype.string=function(){var e=this.uint32(),i=this.pos,n=this.pos+e;if(n>this.len)throw RangeError("index out of range: "+this.pos+" + "+e+" > "+this.len);return this.pos=n,this.buf.utf8Slice?this.buf.utf8Slice(i,n):this.buf.toString("utf-8",i,n)};gi._configure()});var Vu=te((_5,Bu)=>{"use strict";Bu.exports=Qn;var Ya=Dt();Qn.prototype=Object.create(Ya.EventEmitter.prototype,{constructor:{value:Qn,writable:!0,enumerable:!1,configurable:!0}});function Qn(t,e,i){if(typeof t!="function")throw TypeError("rpcImpl must be a function");Ya.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=!!e,this.responseDelimited=!!i}Qn.prototype.rpcCall=function t(e,i,n,r,o){if(!r)throw TypeError("request must be specified");var a=this;if(!o)return Ya.asPromise(t,a,e,i,n,r);if(!a.rpcImpl){setTimeout(function(){o(Error("already ended"))},0);return}try{return a.rpcImpl(e,i[a.requestDelimited?"encodeDelimited":"encode"](r).finish(),function(l,c){if(l)return a.emit("error",l,e),o(l);if(c===null){a.end(!0);return}if(!(c instanceof n))try{c=n[a.responseDelimited?"decodeDelimited":"decode"](c)}catch(u){return a.emit("error",u,e),o(u)}return a.emit("data",c,e),o(null,c)})}catch(s){a.emit("error",s,e),setTimeout(function(){o(s)},0);return}};Qn.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var Xa=te(qu=>{"use strict";var np=qu;np.Service=Vu()});var Wa=te((C5,ju)=>{"use strict";ju.exports=Object.create(null)});var Uu=te(Xe=>{"use strict";Xe.build="minimal";Xe.Writer=eo();Xe.BufferWriter=Au();Xe.Reader=io();Xe.BufferReader=Gu();Xe.util=Dt();Xe.rpc=Xa();Xe.roots=Wa();Xe.configure=Hu;function Hu(){Xe.util.LongBits._configure(Xe.util.Long),Xe.Writer._configure(Xe.BufferWriter),Xe.Reader._configure(Xe.BufferReader)}Hu()});var Ja=te(Yu=>{"use strict";var Ka=Yu;Ka.numberRe=/^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/;Ka.typeRefRe=/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/;Ka.reservedRe=/^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/});var Wu=te((R5,Xu)=>{"use strict";Xu.exports=Za;var rp=Ja(),op=rp.reservedRe;function Za(t,e){typeof t=="string"&&(e=t,t=void 0);var i=[];function n(o){if(typeof o!="string"){var a=r();if(Za.verbose&&console.log("codegen: "+a),a="return "+a,o){for(var s=Object.keys(o),l=new Array(s.length+1),c=new Array(s.length),u=0;u<s.length;)l[u]=s[u],c[u]=o[s[u++]];return l[u]=a,Function.apply(null,l).apply(null,c)}return Function(a)()}for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h]=arguments[++h];if(h=0,o=o.replace(/%([%dfijs])/g,function(g,b){var w=f[h++];switch(b){case"d":case"f":return w=Number(w),Object.is(w,-0)?"-0":String(w);case"i":return String(Math.floor(w));case"j":return JSON.stringify(w);case"s":return String(w)}return"%"}),h!==f.length)throw Error("parameter count mismatch");return i.push(o),n}function r(o){return"function "+ap(o||e)+"("+(t&&t.join(",")||"")+`){
|
|
2
2
|
`+i.join(`
|
|
3
3
|
`)+`
|
|
4
|
-
}`}return Object.defineProperty(r,"toString",{value:n,writable:!0,enumerable:!0,configurable:!0}),r}Xs.verbose=!1;function Bm(t){return!t||(t=String(t).replace(/[^\w$]/g,""),!t)?"":(/^\d/.test(t)&&(t="_"+t),qm.test(t)?t+"_":t)}});var Ws=te((sw,Lc)=>{"use strict";var gr=null;try{gr=Xp("fs"),(!gr||!gr.readFile||!gr.readFileSync)&&(gr=null)}catch{}Lc.exports=gr});var qc=te((aw,Gc)=>{"use strict";Gc.exports=Kr;var jm=Ms(),Ks=Ws();function Kr(t,e,i){return typeof e=="function"?(i=e,e={}):e||(e={}),i?!e.xhr&&Ks&&Ks.readFile?Ks.readFile(t,function(n,o){return n&&typeof XMLHttpRequest<"u"?Kr.xhr(t,e,i):n?i(n):i(null,e.binary?o:o.toString("utf8"))}):Kr.xhr(t,e,i):jm(Kr,this,t,e)}Kr.xhr=function(e,i,r){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(n.readyState===4){if(n.status!==0&&n.status!==200)return r(Error("status "+n.status));if(i.binary){var s=n.response;if(!s){s=[];for(var a=0;a<n.responseText.length;++a)s.push(n.responseText.charCodeAt(a)&255)}return r(null,typeof Uint8Array<"u"?new Uint8Array(s):s)}return r(null,n.responseText)}},i.binary&&("overrideMimeType"in n&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.responseType="arraybuffer"),n.open("GET",e),n.send()}});var Vc=te(jc=>{"use strict";var Qs=jc,Zs=/^[a-zA-Z][a-zA-Z0-9+.-]+:\/\//;function Vm(t){if(typeof URL>"u"||!Zs.test(t))return null;try{return new URL(t).href}catch{return null}}function Um(t,e){if(typeof URL>"u"||!Zs.test(t)||Zs.test(e))return null;try{return new URL(e,t).href}catch{return null}}var Bc=Qs.isAbsolute=function(e){return/^(?:\/|\w+:|\\\\\w+)/.test(e)},Js=Qs.normalize=function(e){var i=Vm(e);if(i)return i;var r=e.substring(0,2),n="";r==="\\\\"&&(n=r,e=e.substring(2)),e=e.replace(/\\/g,"/").replace(/\/{2,}/g,"/");var o=e.split("/"),s=Bc(e),a="";s&&(a=o.shift()+"/");for(var l=0;l<o.length;)o[l]===".."?l>0&&o[l-1]!==".."?o.splice(--l,2):s?o.splice(l,1):++l:o[l]==="."?o.splice(l,1):++l;return n+a+o.join("/")};Qs.resolve=function(e,i,r){var n=Um(e,i);return n||(r||(i=Js(i)),Bc(i)?i:(r||(e=Js(e)),(e=e.replace(/(?:\/|^)[^/]+$/,"")).length?Js(e+"/"+i):i))}});var vr=te((uw,Yc)=>{"use strict";Yc.exports=ue;var eo=yi();ue.prototype=Object.create(eo.prototype,{constructor:{value:ue,writable:!0,enumerable:!1,configurable:!0}});ue.className="Namespace";var ea=gi(),mi=Be(),Hm=Li(),zi,yr,$i;ue.fromJSON=function(e,i,r){if(r===void 0&&(r=0),r>mi.recursionLimit)throw Error("max depth exceeded");return new ue(e,i.options).addJSON(i.nested,r)};function Uc(t,e){if(t&&t.length){for(var i={},r=0;r<t.length;++r)i[t[r].name]=t[r].toJSON(e);return i}}ue.arrayToJSON=Uc;ue.isReservedId=function(e,i){if(e){for(var r=0;r<e.length;++r)if(typeof e[r]!="string"&&e[r][0]<=i&&e[r][1]>=i)return!0}return!1};ue.isReservedName=function(e,i){if(e){for(var r=0;r<e.length;++r)if(e[r]===i)return!0}return!1};function ue(t,e){eo.call(this,t,e),this.nested=void 0,this._nestedArray=null,this._lookupCache=Object.create(null),this._needsRecursiveFeatureResolution=!0,this._needsRecursiveResolve=!0}function Hc(t){t._nestedArray=null,t._lookupCache=Object.create(null);for(var e=t;e=e.parent;)e._lookupCache=Object.create(null);return t}Object.defineProperty(ue.prototype,"nestedArray",{get:function(){return this._nestedArray||(this._nestedArray=mi.toArray(this.nested))}});ue.prototype.toJSON=function(e){return mi.toObject(["options",this.options,"nested",Uc(this.nestedArray,e)])};ue.prototype.addJSON=function(e,i){if(i===void 0&&(i=0),i>mi.recursionLimit)throw Error("max depth exceeded");var r=this;if(e)for(var n=Object.keys(e),o=0,s;o<n.length;++o)s=e[n[o]],r.add((s.fields!==void 0?zi.fromJSON:s.values!==void 0?$i.fromJSON:s.methods!==void 0?yr.fromJSON:s.id!==void 0?ea.fromJSON:ue.fromJSON)(n[o],s,i+1));return this};ue.prototype.get=function(e){return this.nested&&Object.prototype.hasOwnProperty.call(this.nested,e)?this.nested[e]:null};ue.prototype.getEnum=function(e){if(this.nested&&Object.prototype.hasOwnProperty.call(this.nested,e)&&this.nested[e]instanceof $i)return this.nested[e].values;throw Error("no such enum: "+e)};ue.prototype.add=function(e){if(!(e instanceof ea&&e.extend!==void 0||e instanceof zi||e instanceof Hm||e instanceof $i||e instanceof yr||e instanceof ue))throw TypeError("object must be a valid nested object");if(e.name==="__proto__")return this;if(!this.nested)this.nested={};else{var i=this.get(e.name);if(i)if(i instanceof ue&&e instanceof ue&&!(i instanceof zi||i instanceof yr)){for(var r=i.nestedArray,n=0;n<r.length;++n)e.add(r[n]);this.remove(i),this.nested||(this.nested={}),e.setOptions(i.options,!0)}else throw Error("duplicate name '"+e.name+"' in "+this)}this.nested[e.name]=e,this instanceof zi||this instanceof yr||this instanceof $i||this instanceof ea||e._edition||(e._edition=e._defaultEdition),this._needsRecursiveFeatureResolution=!0,this._needsRecursiveResolve=!0;for(var o=this;o=o.parent;)o._needsRecursiveFeatureResolution=!0,o._needsRecursiveResolve=!0;return e.onAdd(this),Hc(this)};ue.prototype.remove=function(e){if(!(e instanceof eo))throw TypeError("object must be a ReflectionObject");if(e.parent!==this)throw Error(e+" is not a member of "+this);if(!mi.remove(this.nested,e,e.name))throw Error(e+" is not a member of "+this);return Object.keys(this.nested).length||(this.nested=void 0),e.onRemove(this),Hc(this)};ue.prototype.define=function(e,i){if(mi.isString(e))e=e.split(".");else if(!Array.isArray(e))throw TypeError("illegal path");if(e&&e.length&&e[0]==="")throw Error("path must be relative");if(e.length>mi.recursionLimit)throw Error("max depth exceeded");for(var r=this;e.length>0;){var n=e.shift();if(r.nested&&r.nested[n]){if(r=r.nested[n],!(r instanceof ue))throw Error("path conflicts with non-namespace objects")}else r.add(r=new ue(n))}return i&&r.addJSON(i),r};ue.prototype.resolveAll=function(){if(!this._needsRecursiveResolve)return this;this._needsRecursiveFeatureResolution&&this._resolveFeaturesRecursive(this._edition);var e=this.nestedArray,i=0;for(this.resolve();i<e.length;)e[i]instanceof ue?e[i++].resolveAll():e[i++].resolve();return this._needsRecursiveResolve=!1,this};ue.prototype._resolveFeaturesRecursive=function(e){return this._needsRecursiveFeatureResolution?(this._needsRecursiveFeatureResolution=!1,e=this._edition||e,eo.prototype._resolveFeaturesRecursive.call(this,e),this.nestedArray.forEach(i=>{i._resolveFeaturesRecursive(e)}),this):this};ue.prototype.lookup=function(e,i,r){if(typeof i=="boolean"?(r=i,i=void 0):i&&!Array.isArray(i)&&(i=[i]),mi.isString(e)&&e.length){if(e===".")return this.root;e=e.split(".")}else if(!e.length)return this;var n=e.join(".");if(e[0]==="")return this.root.lookup(e.slice(1),i);var o=this._lookupImpl(e,n);if(o&&(!i||i.indexOf(o.constructor)>-1)||(o=this.root._fullyQualifiedObjects&&this.root._fullyQualifiedObjects["."+n],o&&(!i||i.indexOf(o.constructor)>-1)))return o;if(r)return null;for(var s=this;s.parent;){if(o=s.parent._lookupImpl(e,n),o&&(!i||i.indexOf(o.constructor)>-1))return o;s=s.parent}return null};ue.prototype._lookupImpl=function(e,i){if(Object.prototype.hasOwnProperty.call(this._lookupCache,i))return this._lookupCache[i];var r=this.get(e[0]),n=null;if(r)e.length===1?n=r:r instanceof ue&&(e=e.slice(1),n=r._lookupImpl(e,e.join(".")));else for(var o=0;o<this.nestedArray.length;++o)if(this._nestedArray[o]instanceof ue&&(r=this._nestedArray[o]._lookupImpl(e,i))){n=r;break}return this._lookupCache[i]=n,n};ue.prototype.lookupType=function(e){var i=this.lookup(e,[zi]);if(!i)throw Error("no such type: "+e);return i};ue.prototype.lookupEnum=function(e){var i=this.lookup(e,[$i]);if(!i)throw Error("no such Enum '"+e+"' in "+this);return i};ue.prototype.lookupTypeOrEnum=function(e){var i=this.lookup(e,[zi,$i]);if(!i)throw Error("no such Type or Enum '"+e+"' in "+this);return i};ue.prototype.lookupService=function(e){var i=this.lookup(e,[yr]);if(!i)throw Error("no such Service '"+e+"' in "+this);return i};ue._configure=function(t,e,i){zi=t,yr=e,$i=i}});var to=te((cw,Xc)=>{"use strict";Xc.exports=Ft;var ta=gi();Ft.prototype=Object.create(ta.prototype,{constructor:{value:Ft,writable:!0,enumerable:!1,configurable:!0}});Ft.className="MapField";var Ym=vi(),br=Be();function Ft(t,e,i,r,n,o){if(ta.call(this,t,e,r,void 0,void 0,n,o),!br.isString(i))throw TypeError("keyType must be a string");this.keyType=i,this.resolvedKeyType=null,this.map=!0}Ft.fromJSON=function(e,i){var r=new Ft(e,i.id,i.keyType,i.type,i.options,i.comment);return i.protoName&&(r.protoName=i.protoName),i.jsonName!==void 0?r.jsonName=i.jsonName:i.options&&i.options.json_name!==void 0&&(r.jsonName=i.options.json_name),r};Ft.prototype.toJSON=function(e){var i=e?!!e.keepComments:!1;return br.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"protoName",this.protoName!==this.name?this.protoName:void 0,"jsonName",this.jsonName!==br.jsonName(this.protoName||this.name)?this.jsonName:void 0,"options",this.options,"comment",i?this.comment:void 0])};Ft.prototype.resolve=function(){if(this.resolved)return this;if(Ym.mapKey[this.keyType]===void 0)throw Error("invalid key type: "+this.keyType);return ta.prototype.resolve.call(this)};Ft.d=function(e,i,r){return typeof r=="function"?r=br.decorateType(r).name:r&&typeof r=="object"&&(r=br.decorateEnum(r).name),function(o,s){br.decorateType(o.constructor).add(new Ft(s,e,i,r))}}});var io=te((fw,Wc)=>{"use strict";Wc.exports=bi;var ia=yi();bi.prototype=Object.create(ia.prototype,{constructor:{value:bi,writable:!0,enumerable:!1,configurable:!0}});bi.className="Method";var wr=Be();function bi(t,e,i,r,n,o,s,a,l){if(wr.isObject(n)?(s=n,n=o=void 0):wr.isObject(o)&&(s=o,o=void 0),!(e===void 0||wr.isString(e)))throw TypeError("type must be a string");if(!wr.isString(i))throw TypeError("requestType must be a string");if(!wr.isString(r))throw TypeError("responseType must be a string");ia.call(this,t,s),this.type=e||"rpc",this.requestType=i,this.requestStream=n?!0:void 0,this.responseType=r,this.responseStream=o?!0:void 0,this.path="/"+this.name,this.resolvedRequestType=null,this.resolvedResponseType=null,this.comment=a,this.parsedOptions=l}bi.fromJSON=function(e,i){return new bi(e,i.type,i.requestType,i.responseType,i.requestStream,i.responseStream,i.options,i.comment,i.parsedOptions)};bi.prototype.toJSON=function(e){var i=e?!!e.keepComments:!1;return wr.toObject(["type",this.type!=="rpc"&&this.type||void 0,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options,"comment",i?this.comment:void 0,"parsedOptions",this.parsedOptions])};bi.prototype.resolve=function(){if(this.resolved)return this;if(this.parent){var e=this.parent.fullName;e.charAt(0)==="."&&(e=e.substring(1)),this.path="/"+e+"/"+this.name}else this.path="/"+this.name;return this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),ia.prototype.resolve.call(this)}});var no=te((dw,Zc)=>{"use strict";Zc.exports=it;var Jt=vr();it.prototype=Object.create(Jt.prototype,{constructor:{value:it,writable:!0,enumerable:!1,configurable:!0}});it.className="Service";var ra=io(),ro=Be(),Kc=Vs();function it(t,e){Jt.call(this,t,e),this.methods={},this._methodsArray=null}it.fromJSON=function(e,i,r){if(r===void 0&&(r=0),r>ro.recursionLimit)throw Error("max depth exceeded");var n=new it(e,i.options);if(i.methods)for(var o=Object.keys(i.methods),s=0;s<o.length;++s)n.add(ra.fromJSON(o[s],i.methods[o[s]]));return i.nested&&n.addJSON(i.nested,r),i.edition&&(n._edition=i.edition),n.comment=i.comment,n._defaultEdition="proto3",n};it.prototype.toJSON=function(e){var i=Jt.prototype.toJSON.call(this,e),r=e?!!e.keepComments:!1;return ro.toObject(["edition",this._editionToJSON(),"options",i&&i.options||void 0,"methods",Jt.arrayToJSON(this.methodsArray,e)||{},"nested",i&&i.nested||void 0,"comment",r?this.comment:void 0])};Object.defineProperty(it.prototype,"methodsArray",{get:function(){return this._methodsArray||(this._methodsArray=ro.toArray(this.methods))}});function Jc(t){return t._methodsArray=null,t}it.prototype.get=function(e){return Object.prototype.hasOwnProperty.call(this.methods,e)?this.methods[e]:Jt.prototype.get.call(this,e)};it.prototype.resolveAll=function(){if(!this._needsRecursiveResolve)return this;Jt.prototype.resolve.call(this);for(var e=this.methodsArray,i=0;i<e.length;++i)e[i].resolve();return this};it.prototype._resolveFeaturesRecursive=function(e){return this._needsRecursiveFeatureResolution?(e=this._edition||e,Jt.prototype._resolveFeaturesRecursive.call(this,e),this.methodsArray.forEach(i=>{i._resolveFeaturesRecursive(e)}),this):this};it.prototype.add=function(e){if(this.get(e.name))throw Error("duplicate name '"+e.name+"' in "+this);return e instanceof ra?e.name==="__proto__"?this:(this.methods[e.name]=e,e.parent=this,Jc(this)):Jt.prototype.add.call(this,e)};it.prototype.remove=function(e){if(e instanceof ra){if(this.methods[e.name]!==e)throw Error(e+" is not a member of "+this);return delete this.methods[e.name],e.parent=null,Jc(this)}return Jt.prototype.remove.call(this,e)};it.prototype.create=function(e,i,r){for(var n=new Kc.Service(e,i,r),o=0,s;o<this.methodsArray.length;++o){var a=ro.lcFirst((s=this._methodsArray[o]).resolve().name).replace(/[^$\w_]/g,"");n[a]=(function(l,u,c){return function(h,m){return Kc.Service.prototype.rpcCall.call(this,l,u,c,h,m)}})(s,s.resolvedRequestType.ctor,s.resolvedResponseType.ctor)}return n}});var oo=te((hw,Qc)=>{"use strict";Qc.exports=Dt;var Xm=Pt();function Dt(t){if(t)for(var e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&e[i]!=="__proto__"&&(this[e[i]]=t[e[i]])}Dt.create=function(e){return this.$type.create(e)};Dt.encode=function(e,i){return this.$type.encode(e,i)};Dt.encodeDelimited=function(e,i){return this.$type.encodeDelimited(e,i)};Dt.decode=function(e){return this.$type.decode(e)};Dt.decodeDelimited=function(e){return this.$type.decodeDelimited(e)};Dt.verify=function(e){return this.$type.verify(e)};Dt.fromObject=function(e){return this.$type.fromObject(e)};Dt.toObject=function(e,i){return this.$type.toObject(e,i)};Dt.prototype.toJSON=function(){return this.$type.toObject(this,Xm.toJSONOptions)}});var na=te((pw,ef)=>{"use strict";ef.exports=Km;var so=St(),De=vi(),ao=Be();function Wm(t){return"missing required '"+t.name+"'"}function Jr(t){return t._features.utf8_validation==="VERIFY"?"stringVerify":"string"}function Sr(t,e){return t("if(!r.discardUnknown){")('util.makeProp(m,"$unknowns",false);')("(m.$unknowns||(m.$unknowns=[])).push(%s)",e)("}")}function Km(t){for(var e=!1,i=!1,r=0;r<t.fieldsArray.length;++r){var n=t._fieldsArray[r];n.map&&(e=!0),(n.resolvedType instanceof so||!n.repeated&&!n.map&&!n.hasPresence)&&(i=!0)}var o=ao.codegen(["r","l","z","q","g"])("if(!(r instanceof Reader))")("r=Reader.create(r)")("if(q===undefined)q=0")("if(q>Reader.recursionLimit)")('throw Error("max depth exceeded")')("var c=l===undefined?r.len:r.pos+l,m=g||new C"+(e?",k,v":i?",v":""))("while(r.pos<c){")("var s=r.pos")("var t=r.tag()")("if(t===z){")("z=undefined")("break")("}");for(t.fieldsArray.length&&o("var u=t&7")("switch(t>>>=3){"),r=0;r<t.fieldsArray.length;++r){var s=t._fieldsArray[r].resolve(),a=s.resolvedType instanceof so?"int32":s.type,l="m"+ao.safeProp(s.name),u=s.resolvedType instanceof so&&s.resolvedType._features.enum_type==="CLOSED";if(s.map){o("case %i:{",s.id)("if(u!==2)")("break"),u||o("if(%s===util.emptyObject)",l)("%s={}",l),o("var c2=r.uint32()+r.pos"),De.defaults[s.keyType]!==void 0?o("k=%j",De.defaults[s.keyType]):o("k=null"),De.long[a]!==void 0?o("v=util.Long?util.Long.fromNumber(0,%j):0",a==="uint64"||a==="fixed64"):De.defaults[a]!==void 0?o("v=%j",De.defaults[a]):o("v=null"),o("while(r.pos<c2){")("var t2=r.tag()")("u=t2&7")("switch(t2>>>=3){")("case 1:")("if(u!==%i)",De.mapKey[s.keyType])("break")("k=r.%s()",s.keyType==="string"?Jr(s):s.keyType)("continue")("case 2:")("if(u!==%i)",De.basic[a]===void 0?2:De.basic[a])("break"),De.basic[a]===void 0?o("v=types[%i].decode(r,r.uint32(),undefined,q+1,v)",r):o("v=r.%s()",a==="string"?Jr(s):a),o("continue")("}")("r.skipType(u,q,t2)")("}"),u&&(o("if(types[%i].valuesById[v]===undefined){",r),Sr(o,"r.raw(s,r.pos)")("continue")("}")("if(%s===util.emptyObject)",l)("%s={}",l));var c=De.basic[a]===void 0?"v||new types["+r+"].ctor":"v";De.long[s.keyType]!==void 0?o('%s[typeof k==="object"?util.longToHash(k):k]=%s',l,c):(s.keyType==="string"&&o('if(k==="__proto__")')("util.makeProp(%s,k)",l),o("%s[k]=%s",l,c))}else s.repeated?(o("case %i:",s.id)("{"),De.packed[a]!==void 0&&(o("if(u===2){"),u?(o("var c2=r.uint32()+r.pos")("while(r.pos<c2){")("s=r.pos")("v=r.%s()",a)("if(types[%i].valuesById[v]!==undefined){",r)("if(!(%s&&%s.length))",l,l)("%s=[]",l)("%s.push(v)",l)("}else"),Sr(o,"util.rawField("+s.id+",0,r.raw(s,r.pos))")("}")):o("if(!(%s&&%s.length))",l,l)("%s=[]",l)("r.%ss(%s)",a,l),o("continue")("}")),o("if(u!==%i)",De.basic[a]===void 0?s.delimited?3:2:De.basic[a])("break"),u||o("if(!(%s&&%s.length))",l,l)("%s=[]",l),De.basic[a]===void 0?s.delimited?o("%s.push(types[%i].decode(r,undefined,%i,q+1))",l,r,s.id*8+4):o("%s.push(types[%i].decode(r,r.uint32(),undefined,q+1))",l,r):u?(o("v=r.%s()",a)("if(types[%i].valuesById[v]!==undefined){",r)("if(!(%s&&%s.length))",l,l)("%s=[]",l)("%s.push(v)",l)("}else"),Sr(o,"r.raw(s,r.pos)")):o("%s.push(r.%s())",l,a==="string"?Jr(s):a)):De.basic[a]===void 0?(o("case %i:{",s.id)("if(u!==%i)",s.delimited?3:2)("break"),s.delimited?o("%s=types[%i].decode(r,undefined,%i,q+1,%s)",l,r,s.id*8+4,l):o("%s=types[%i].decode(r,r.uint32(),undefined,q+1,%s)",l,r,l)):s.hasPresence?(o("case %i:{",s.id)("if(u!==%i)",De.basic[a])("break"),u?(o("v=r.%s()",a)("if(types[%i].valuesById[v]!==undefined){",r)("%s=v",l),s.partOf&&o("m%s=%j",ao.safeProp(s.partOf.name),s.name),o("}else"),Sr(o,"r.raw(s,r.pos)")):o("%s=r.%s()",l,a==="string"?Jr(s):a)):(o("case %i:{",s.id)("if(u!==%i)",De.basic[a])("break"),u?(o("v=r.%s()",a)("if(types[%i].valuesById[v]!==undefined){",r)("if(v!==%j)",s.typeDefault)("%s=v",l)("else")("delete %s",l)("}else{"),Sr(o,"r.raw(s,r.pos)")("}")):(s.resolvedType instanceof so&&s.typeDefault!==0?o("if((v=r.%s())!==%j)",a,s.typeDefault):a==="string"?o("if((v=r.%s()).length)",Jr(s)):a==="bytes"?o("if((v=r.%s()).length)",a):De.long[a]!==void 0?o('if(typeof(v=r.%s())==="object"?v.low||v.high:v!==0)',a):o(a==="double"||a==="float"?"if(!Object.is(v=r.%s(),0))":"if(v=r.%s())",a),o("%s=v",l)("else")("delete %s",l)));s.partOf&&!u&&o("m%s=%j",ao.safeProp(s.partOf.name),s.name),o("continue")("}")}for(r&&o("}"),o("r.skipType(%s,q,t)",r?"u":"t&7"),Sr(o,"r.raw(s,r.pos)")("}")("if(z!==undefined)")('throw Error("missing end group")'),r=0;r<t._fieldsArray.length;++r){var f=t._fieldsArray[r];f.required&&o("if(!Object.hasOwnProperty.call(m,%j))",f.name)("throw util.ProtocolError(%j,{instance:m})",Wm(f))}return o("return m")}});var aa=te((mw,tf)=>{"use strict";tf.exports=Qm;var Jm=St(),oa=Be();function at(t,e){return t.name+": "+e+(t.repeated&&e!=="array"?"[]":t.map&&e!=="object"?"{k:"+t.keyType+"}":"")+" expected"}function sa(t,e,i,r){var n=e.resolvedType;if(n)if(n instanceof Jm)if(n._features.enum_type==="CLOSED"){t("switch(%s){",r)("default:")("return%j",at(e,"enum value"));for(var o=Object.keys(n.values),s=0;s<o.length;++s)t("case %i:",n.values[o[s]]);t("break")("}")}else t('if(typeof %s!=="number"||(%s|0)!==%s)',r,r,r)("return%j",at(e,"enum value"));else t("{")("var e=types[%i].verify(%s,q+1);",i,r)("if(e)")("return%j+e",e.name+".")("}");else switch(e.type){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":t("if(!util.isInteger(%s))",r)("return%j",at(e,"integer"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":t("if(!util.isInteger(%s)&&!(%s&&util.isInteger(%s.low)&&util.isInteger(%s.high)))",r,r,r,r)("return%j",at(e,"integer|Long"));break;case"float":case"double":t('if(typeof %s!=="number")',r)("return%j",at(e,"number"));break;case"bool":t('if(typeof %s!=="boolean")',r)("return%j",at(e,"boolean"));break;case"string":t("if(!util.isString(%s))",r)("return%j",at(e,"string"));break;case"bytes":t('if(!(%s&&typeof %s.length==="number"||util.isString(%s)))',r,r,r)("return%j",at(e,"buffer"));break}return t}function Zm(t,e,i){switch(e.keyType){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":t("if(!util.key32Re.test(%s))",i)("return%j",at(e,"integer key"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":t("if(!util.key64Re.test(%s))",i)("return%j",at(e,"integer|Long key"));break;case"bool":t("if(!util.key2Re.test(%s))",i)("return%j",at(e,"boolean key"));break}return t}function Qm(t){var e=oa.codegen(["m","q"])('if(typeof m!=="object"||m===null)')("return%j","object expected")("if(q===undefined)q=0")("if(q>util.recursionLimit)")("return%j","max depth exceeded"),i=t.oneofsArray,r={};i.length&&e("var p={}");for(var n=0;n<t.fieldsArray.length;++n){var o=t._fieldsArray[n].resolve(),s="m"+oa.safeProp(o.name);if(o.optional&&e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){",s,o.name),o.map)e("if(!util.isObject(%s))",s)("return%j",at(o,"object"))("var k=Object.keys(%s)",s)("for(var i=0;i<k.length;++i){"),Zm(e,o,"k[i]"),sa(e,o,n,s+"[k[i]]")("}");else if(o.repeated)e("if(!Array.isArray(%s))",s)("return%j",at(o,"array"))("for(var i=0;i<%s.length;++i){",s),sa(e,o,n,s+"[i]")("}");else{if(o.partOf){var a=oa.safeProp(o.partOf.name);r[o.partOf.name]===1&&e("if(p%s===1)",a)("return%j",o.partOf.name+": multiple values"),r[o.partOf.name]=1,e("p%s=1",a)}sa(e,o,n,s)}o.optional&&e("}")}return e("return null")}});var fa=te(nf=>{"use strict";var rf=nf,Zt=St(),ca=vi(),xt=Be();function la(t,e,i,r,n){if(e.resolvedType)if(e.resolvedType instanceof Zt){var o=n?"m"+n+"[m"+n+".length]":"m"+r;t("switch(d%s){",r);for(var s=e.resolvedType.values,a=Object.keys(s),l=0;l<a.length;++l)t("case%j:",a[l])("case %i:",s[a[l]])("%s=%j",o,s[a[l]])("break");t("default:"),e.resolvedType._features.enum_type!=="CLOSED"&&t('if(typeof d%s==="number"&&(d%s|0)===d%s)',r,r,r)("%s=d%s",o,r),t("}")}else t("if(!util.isObject(d%s))",r)("throw TypeError(%j)",e.fullName+": object expected")("m%s=types[%i].fromObject(d%s,q+1)",r,i,r);else{var u=!1;switch(e.type){case"double":case"float":t("m%s=Number(d%s)",r,r);break;case"uint32":case"fixed32":t("m%s=d%s>>>0",r,r);break;case"int32":case"sint32":case"sfixed32":t("m%s=d%s|0",r,r);break;case"uint64":case"fixed64":u=!0;case"int64":case"sint64":case"sfixed64":t("if(util.Long)")("m%s=util.Long.fromValue(d%s,%j)",r,r,u)('else if(typeof d%s==="string")',r)("m%s=parseInt(d%s,10)",r,r)('else if(typeof d%s==="number")',r)("m%s=d%s",r,r)('else if(typeof d%s==="object")',r)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",r,r,r,u?"true":"");break;case"bytes":t('if(typeof d%s==="string")',r)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",r,r,r)("else if(d%s.length>=0)",r)("m%s=d%s",r,r);break;case"string":t("m%s=String(d%s)",r,r);break;case"bool":t("m%s=Boolean(d%s)",r,r);break}}return t}rf.fromObject=function(e){var i=e.fieldsArray,r=xt.codegen(["d","q"])("if(d instanceof C)")("return d")("if(!util.isObject(d))")("throw TypeError(%j)",e.fullName+": object expected")("if(q===undefined)q=0")("if(q>util.recursionLimit)")('throw Error("max depth exceeded")');if(!i.length)return r("return new C");r("var m=new C");for(var n=0;n<i.length;++n){var o=i[n].resolve(),s=xt.safeProp(o.name),a=!o.hasPresence&&!o.repeated&&!o.map&&(o.resolvedType instanceof Zt||ca.basic[o.type]!==void 0);o.map?(r("if(d%s){",s)("if(!util.isObject(d%s))",s)("throw TypeError(%j)",o.fullName+": object expected")("m%s={}",s)("for(var ks=Object.keys(d%s),i=0;i<ks.length;++i){",s),r('if(ks[i]==="__proto__")')("util.makeProp(m%s,ks[i])",s),la(r,o,n,s+"[ks[i]]")("}")("}")):o.repeated?(r("if(d%s){",s)("if(!Array.isArray(d%s))",s)("throw TypeError(%j)",o.fullName+": array expected"),o.resolvedType instanceof Zt?r("m%s=[]",s):r("m%s=Array(d%s.length)",s,s),r("for(var i=0;i<d%s.length;++i){",s),la(r,o,n,s+"[i]",o.resolvedType instanceof Zt?s:void 0)("}")("}")):(o.resolvedType instanceof Zt||r("if(d%s!=null){",s),a&&(o.resolvedType instanceof Zt?r('if(d%s!==%j&&(typeof d%s!=="string"||types[%i].values[d%s]!==%j)){',s,o.typeDefault,s,n,s,o.typeDefault):o.type==="string"?r('if(typeof d%s!=="string"||d%s.length){',s,s):o.type==="bytes"?r("if(d%s.length){",s):o.type==="bool"?r("if(d%s){",s):o.type==="double"||o.type==="float"?r("if(!Object.is(Number(d%s),0)){",s):ca.long[o.type]!==void 0?r('if(typeof d%s==="object"?d%s.low||d%s.high:Number(d%s)!==0){',s,s,s,s):r("if(Number(d%s)!==0){",s)),la(r,o,n,s),a&&r("}"),o.resolvedType instanceof Zt||r("}"))}return r("return m")};function ua(t,e,i,r,n){if(n||(n=r),e.resolvedType)e.resolvedType instanceof Zt?t("d%s=o.enums===String?(types[%i].values[m%s]===undefined?m%s:types[%i].values[m%s]):m%s",r,i,n,n,i,n,n):t("d%s=types[%i].toObject(m%s,o,q+1)",r,i,n);else{var o=!1;switch(e.type){case"double":case"float":t("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",r,n,n,n);break;case"uint64":case"fixed64":o=!0;case"int64":case"sint64":case"sfixed64":t('if(typeof BigInt!=="undefined"&&o.longs===BigInt)')('d%s=typeof m%s==="number"?BigInt(m%s):util.Long.fromBits(m%s.low>>>0,m%s.high>>>0,%j).toBigInt()',r,n,n,n,n,o)('else if(typeof m%s==="number")',n)("d%s=o.longs===String?String(m%s):m%s",r,n,n)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",r,n,n,n,o?"true":"",n);break;case"bytes":t("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",r,n,n,n,n);break;default:t("d%s=m%s",r,n);break}}return t}rf.toObject=function(e){var i=e.fieldsArray.slice().sort(xt.compareFieldsById);if(!i.length)return xt.codegen()("return {}");for(var r=xt.codegen(["m","o","q"])("if(!o)")("o={}")("if(q===undefined)q=0")("if(q>util.recursionLimit)")('throw Error("max depth exceeded")')("var d={}"),n=[],o=[],s=[],a=0;a<i.length;++a)i[a].partOf||(i[a].resolve().repeated?n:i[a].map?o:s).push(i[a]);if(n.length){for(r("if(o.arrays||o.defaults){"),a=0;a<n.length;++a)r("d%s=[]",xt.safeProp(n[a].name));r("}")}if(o.length){for(r("if(o.objects||o.defaults){"),a=0;a<o.length;++a)r("d%s={}",xt.safeProp(o[a].name));r("}")}if(s.length){for(r("if(o.defaults){"),a=0;a<s.length;++a){var l=s[a],u=xt.safeProp(l.name);if(l.resolvedType instanceof Zt)r("d%s=o.enums===String?%j:%j",u,l.resolvedType.valuesById[l.typeDefault],l.typeDefault);else if(l.long)r("if(util.Long){")("var n=new util.Long(%i,%i,%j)",l.typeDefault.low,l.typeDefault.high,l.typeDefault.unsigned)('d%s=o.longs===String?n.toString():o.longs===Number?n.toNumber():typeof BigInt!=="undefined"&&o.longs===BigInt?n.toBigInt():n',u)("}else")('d%s=o.longs===String?%j:typeof BigInt!=="undefined"&&o.longs===BigInt?BigInt(%j):%i',u,l.typeDefault.toString(),l.typeDefault.toString(),l.typeDefault.toNumber());else if(l.bytes){var c=Array.prototype.slice.call(l.typeDefault);r("if(o.bytes===String)d%s=%j",u,xt.base64.encode(l.typeDefault,0,l.typeDefault.length))("else{")("d%s=%j",u,c)("if(o.bytes!==Array)d%s=util.newBuffer(d%s)",u,u)("}")}else(l.type==="double"||l.type==="float")&&typeof l.typeDefault=="number"&&(!isFinite(l.typeDefault)||Object.is(l.typeDefault,-0))?r("d%s=%f",u,l.typeDefault)("if(o.json&&!isFinite(d%s))d%s=String(d%s)",u,u,u):r("d%s=%j",u,l.typeDefault)}r("}")}var f=!1;for(a=0;a<i.length;++a){var l=i[a],h=e._fieldsArray.indexOf(l),u=xt.safeProp(l.name);if(l.map){f||(f=!0,r("var ks2")),r("if(m%s&&(ks2=Object.keys(m%s)).length){",u,u)("d%s={}",u);var m=ca.long[l.keyType]!==void 0,g=u+"[ks2[j]]";r("for(var j=0;j<ks2.length;++j){"),m&&r("var k2=util.longFromKey(ks2[j],%j).toString()",l.keyType==="uint64"||l.keyType==="fixed64"),r('if(ks2[j]==="__proto__")')("util.makeProp(d%s,ks2[j])",u),ua(r,l,h,m?u+"[k2]":g,g)("}")}else l.repeated?(r("if(m%s&&m%s.length){",u,u)("d%s=Array(m%s.length)",u,u)("for(var j=0;j<m%s.length;++j){",u),ua(r,l,h,u+"[j]")("}")):(r("if(m%s!=null&&Object.hasOwnProperty.call(m,%j)){",u,l.name),ua(r,l,h,u),l.partOf&&!l.partOf.isProto3Optional&&r("if(o.oneofs)")("d%s=%j",xt.safeProp(l.partOf.name),l.name));r("}")}return r("return d")}});var da=te(of=>{"use strict";var eg=of,tg=oo(),ig=Pt();eg[".google.protobuf.Any"]={fromObject:function(t,e){if(t&&t["@type"]){var i=t["@type"].substring(t["@type"].lastIndexOf("/")+1),r=this.lookup(i,[this.constructor]);if(r){var n=t["@type"].charAt(0)==="."?t["@type"].slice(1):t["@type"];return n.indexOf("/")===-1&&(n="/"+n),this.create({type_url:n,value:r.encode(r.fromObject(t,e===void 0?1:e+1)).finish()})}}return this.fromObject(t,e)},toObject:function(t,e,i){if(i===void 0&&(i=0),i>ig.recursionLimit)throw Error("max depth exceeded");var r="type.googleapis.com/",n="",o="";if(e&&e.json&&t.type_url&&t.value){o=t.type_url.substring(t.type_url.lastIndexOf("/")+1),n=t.type_url.substring(0,t.type_url.lastIndexOf("/")+1);var s=this.lookup(o,[this.constructor]);s&&(t=s.decode(t.value,void 0,void 0,i+1))}if(!(t instanceof this.ctor)&&t instanceof tg){var a=t.$type.toObject(t,e,i+1),l=t.$type.fullName[0]==="."?t.$type.fullName.slice(1):t.$type.fullName;return n===""&&(n=r),o=n+l,a["@type"]=o,a}return this.toObject(t,e,i)}}});var co=te((vw,lf)=>{"use strict";lf.exports=pe;var dt=vr();pe.prototype=Object.create(dt.prototype,{constructor:{value:pe,writable:!0,enumerable:!1,configurable:!0}});pe.className="Type";var rg=St(),ma=Li(),lo=gi(),ng=to(),og=no(),ha=oo(),pa=Qn(),af=Jn(),ze=Be(),sg=ga(),ag=na(),lg=aa(),sf=fa(),ug=da();function pe(t,e){t=t.replace(/\W/g,""),dt.call(this,t,e),this.fields={},this.oneofs=void 0,this.extensions=void 0,this.reserved=void 0,this.group=void 0,this._fieldsById=null,this._fieldsArray=null,this._oneofsArray=null,this._ctor=null,this._fieldsByJsonName=null}Object.defineProperties(pe.prototype,{fieldsById:{get:function(){if(this._fieldsById)return this._fieldsById;this._fieldsById={};for(var t=Object.keys(this.fields),e=0;e<t.length;++e){var i=this.fields[t[e]],r=i.id;if(this._fieldsById[r])throw Error("duplicate id "+r+" in "+this);this._fieldsById[r]=i}return this._fieldsById}},fieldsArray:{get:function(){return this._fieldsArray||(this._fieldsArray=ze.toArray(this.fields))}},oneofsArray:{get:function(){return this._oneofsArray||(this._oneofsArray=ze.toArray(this.oneofs))}},ctor:{get:function(){return this._ctor||(this.ctor=pe.generateConstructor(this)())},set:function(t){var e=t.prototype;e instanceof ha||(t.prototype=new ha,Object.defineProperty(t.prototype,"constructor",{value:t,writable:!0,enumerable:!1,configurable:!0}),ze.merge(t.prototype,e)),t.$type=t.prototype.$type=this,ze.merge(t,ha,!0),this._ctor=t,delete this.decode,delete this.fromObject;for(var i=0,r;i<this.fieldsArray.length;++i)r=this._fieldsArray[i].resolve(),t.prototype[r.name]=r.defaultValue;var n={};for(i=0;i<this.oneofsArray.length;++i)n[this._oneofsArray[i].resolve().name]={get:ze.oneOfGetter(this._oneofsArray[i].oneof),set:ze.oneOfSetter(this._oneofsArray[i].oneof)};i&&Object.defineProperties(t.prototype,n)}}});pe.generateConstructor=function(e){for(var i=ze.codegen(["p"]),r=0,n;r<e.fieldsArray.length;++r)(n=e._fieldsArray[r]).map?i("this%s={}",ze.safeProp(n.name)):n.repeated&&i("this%s=[]",ze.safeProp(n.name));return i('if(p)for(var ks=Object.keys(p),i=0;i<ks.length;++i)if(p[ks[i]]!=null&&ks[i]!=="__proto__")')("this[ks[i]]=p[ks[i]]")};function uo(t){return t._fieldsById=t._fieldsArray=t._oneofsArray=t._fieldsByJsonName=null,delete t.encode,delete t.decode,delete t.verify,t}pe.fromJSON=function(e,i,r){if(r===void 0&&(r=0),r>ze.nestingLimit)throw Error("max depth exceeded");var n=new pe(e,i.options);n.extensions=i.extensions,n.reserved=i.reserved;for(var o=Object.keys(i.fields),s=0;s<o.length;++s)n.add((typeof i.fields[o[s]].keyType<"u"?ng.fromJSON:lo.fromJSON)(o[s],i.fields[o[s]]));if(i.oneofs)for(o=Object.keys(i.oneofs),s=0;s<o.length;++s)n.add(ma.fromJSON(o[s],i.oneofs[o[s]]));if(i.nested)for(o=Object.keys(i.nested),s=0;s<o.length;++s){var a=i.nested[o[s]];n.add((a.id!==void 0?lo.fromJSON:a.fields!==void 0?pe.fromJSON:a.values!==void 0?rg.fromJSON:a.methods!==void 0?og.fromJSON:dt.fromJSON)(o[s],a,r+1))}return i.extensions&&i.extensions.length&&(n.extensions=i.extensions),i.reserved&&i.reserved.length&&(n.reserved=i.reserved),i.group&&(n.group=!0),i.comment&&(n.comment=i.comment),i.edition&&(n._edition=i.edition),n._defaultEdition="proto3",n};pe.prototype.toJSON=function(e){var i=dt.prototype.toJSON.call(this,e),r=e?!!e.keepComments:!1;return ze.toObject(["edition",this._editionToJSON(),"options",i&&i.options||void 0,"oneofs",dt.arrayToJSON(this.oneofsArray,e),"fields",dt.arrayToJSON(this.fieldsArray.filter(function(n){return!n.declaringField}),e)||{},"extensions",this.extensions&&this.extensions.length?this.extensions:void 0,"reserved",this.reserved&&this.reserved.length?this.reserved:void 0,"group",this.group||void 0,"nested",i&&i.nested||void 0,"comment",r?this.comment:void 0])};pe.prototype.resolveAll=function(){if(!this._needsRecursiveResolve)return this;dt.prototype.resolveAll.call(this);var e=this.oneofsArray;for(r=0;r<e.length;)e[r++].resolve();for(var i=this.fieldsArray,r=0;r<i.length;)i[r++].resolve();return this};pe.prototype._resolveFeaturesRecursive=function(e){return this._needsRecursiveFeatureResolution?(e=this._edition||e,dt.prototype._resolveFeaturesRecursive.call(this,e),this.oneofsArray.forEach(i=>{i._resolveFeatures(e)}),this.fieldsArray.forEach(i=>{i._resolveFeatures(e)}),this):this};pe.prototype.get=function(e){return Object.prototype.hasOwnProperty.call(this.fields,e)?this.fields[e]:this.oneofs&&Object.prototype.hasOwnProperty.call(this.oneofs,e)?this.oneofs[e]:this.nested&&Object.prototype.hasOwnProperty.call(this.nested,e)?this.nested[e]:null};pe.prototype.add=function(e){if(this.get(e.name))throw Error("duplicate name '"+e.name+"' in "+this);if(e instanceof lo&&e.extend===void 0){if(this._fieldsById?this._fieldsById[e.id]:this.fieldsById[e.id])throw Error("duplicate id "+e.id+" in "+this);if(this.isReservedId(e.id))throw Error("id "+e.id+" is reserved in "+this);if(this.isReservedName(e.name)||e.name.charAt(0)==="$")throw Error("name '"+e.name+"' is reserved in "+this);return e.name==="__proto__"?this:(e.parent&&e.parent.remove(e),this.fields[e.name]=e,e.message=this,e.onAdd(this),uo(this))}if(e instanceof ma){if(e.name.charAt(0)==="$")throw Error("name '"+e.name+"' is reserved in "+this);return e.name==="__proto__"?this:(this.oneofs||(this.oneofs={}),this.oneofs[e.name]=e,e.onAdd(this),uo(this))}return dt.prototype.add.call(this,e)};pe.prototype.remove=function(e){if(e instanceof lo&&e.extend===void 0){if(!ze.remove(this.fields,e,e.name))throw Error(e+" is not a member of "+this);return e.parent=null,e.onRemove(this),uo(this)}if(e instanceof ma){if(!ze.remove(this.oneofs,e,e.name))throw Error(e+" is not a member of "+this);return e.parent=null,e.onRemove(this),uo(this)}return dt.prototype.remove.call(this,e)};pe.prototype.isReservedId=function(e){return dt.isReservedId(this.reserved,e)};pe.prototype.isReservedName=function(e){return dt.isReservedName(this.reserved,e)};pe.prototype.create=function(e){return new this.ctor(e)};pe.prototype.setup=function(){var e=this.root;if(e&&e._needsRecursiveFeatureResolution){var i=e._edition||this._edition;i&&e._resolveFeaturesRecursive(i)}for(var r=this.fullName,n=[],o=0;o<this.fieldsArray.length;++o)n.push(this._fieldsArray[o].resolve().resolvedType);this.encode=sg(this)({Writer:af,types:n,util:ze}),this.decode=ag(this)({Reader:pa,types:n,util:ze,C:this.ctor}),this.verify=lg(this)({types:n,util:ze}),this.fromObject=sf.fromObject(this)({types:n,util:ze,C:this.ctor}),this.toObject=sf.toObject(this)({types:n,util:ze});var s=ug[r];if(s){var a=Object.create(this);a._ctor=this.ctor,a.fromObject=this.fromObject,this.fromObject=s.fromObject.bind(a),a.toObject=this.toObject,this.toObject=s.toObject.bind(a)}return this};pe.prototype.encode=function(e,i){return this.setup().encode.apply(this,arguments)};pe.prototype.encodeDelimited=function(e,i){return this.encode(e,(i||af.create()).fork()).ldelim()};pe.prototype.decode=function(e,i){return this.setup().decode.apply(this,arguments)};pe.prototype.decodeDelimited=function(e){return e instanceof pa||(e=pa.create(e)),this.decode(e,e.uint32())};pe.prototype.verify=function(e){return this.setup().verify.apply(this,arguments)};pe.prototype.fromObject=function(e){return this.setup().fromObject.apply(this,arguments)};pe.prototype.toObject=function(e,i){return this.setup().toObject.apply(this,arguments)};pe.prototype.getTypeUrl=function(e){e===void 0&&(e="type.googleapis.com");var i=this.fullName;return e+"/"+(i.charAt(0)==="."?i.substring(1):i)};pe.d=function(e){return function(r){ze.decorateType(r,e)}}});var mo=te((bw,ff)=>{"use strict";ff.exports=rt;var po=vr();rt.prototype=Object.create(po.prototype,{constructor:{value:rt,writable:!0,enumerable:!1,configurable:!0}});rt.className="Root";var fo=gi(),ya=St(),cg=Li(),zt=Be(),va,ba,xr;function rt(t){po.call(this,"",t),this.deferred=[],this.files=[],this._edition="proto2",this._fullyQualifiedObjects={}}rt.fromJSON=function(e,i,r){if(r===void 0&&(r=0),r>zt.recursionLimit)throw Error("max depth exceeded");return i||(i=new rt),e.options&&i.setOptions(e.options),i.addJSON(e.nested,r).resolveAll()};rt.prototype.resolvePath=zt.path.resolve;rt.prototype.fetch=zt.fetch;function cf(){}rt.prototype.load=function t(e,i,r){typeof i=="function"&&(r=i,i=void 0);var n=this;if(!r)return zt.asPromise(t,n,e,i);var o=r===cf;function s(m,g){if(r){if(o)throw m;g&&g.resolveAll();var v=r;r=null,v(m,g)}}function a(m){var g=m.lastIndexOf("google/protobuf/");if(g>-1){var v=m.substring(g);if(Object.prototype.hasOwnProperty.call(xr,v))return v}return Object.prototype.hasOwnProperty.call(xr,m)?m:null}function l(m,g,v){v===void 0&&(v=0);try{if(v>zt.recursionLimit)throw Error("max depth exceeded");if(zt.isString(g)&&g.charAt(0)==="{"&&(g=JSON.parse(g)),!zt.isString(g))n.setOptions(g.options).addJSON(g.nested);else{ba.filename=m;var w=ba(g,n,i),S,x=0;if(w.imports)for(;x<w.imports.length;++x)(S=a(w.imports[x])||n.resolvePath(m,w.imports[x]))&&u(S,!1,v+1);if(w.weakImports)for(x=0;x<w.weakImports.length;++x)(S=a(w.weakImports[x])||n.resolvePath(m,w.weakImports[x]))&&u(S,!0,v+1)}}catch(F){s(F)}!o&&!c&&s(null,n)}function u(m,g,v){if(v===void 0&&(v=0),m=a(m)||m,!(n.files.indexOf(m)>-1)){if(n.files.push(m),Object.prototype.hasOwnProperty.call(xr,m)){o?l(m,xr[m],v):(++c,setTimeout(function(){--c,l(m,xr[m],v)}));return}if(o){var w;try{w=zt.fs.readFileSync(m).toString("utf8")}catch(S){g||s(S);return}l(m,w,v)}else++c,n.fetch(m,function(S,x){if(--c,!!r){if(S){g?c||s(null,n):s(S);return}l(m,x,v)}})}}var c=0;zt.isString(e)&&(e=[e]);for(var f=0,h;f<e.length;++f)(h=n.resolvePath("",e[f]))&&u(h);return o?(n.resolveAll(),n):(c||s(null,n),n)};rt.prototype.loadSync=function(e,i){if(!zt.isNode)throw Error("not supported");return this.load(e,i,cf)};rt.prototype.resolveAll=function(){if(!this._needsRecursiveResolve)return this;if(this.deferred.length)throw Error("unresolvable extensions: "+this.deferred.map(function(e){return"'extend "+e.extend+"' in "+e.parent.fullName}).join(", "));return po.prototype.resolveAll.call(this)};var ho=/^[A-Z]/;function uf(t,e){var i=e.parent.lookup(e.extend);if(i){var r=new fo(e.fullName,e.id,e.type,e.rule,void 0,e.options);return i.get(r.name)||(r.declaringField=e,e.extensionField=r,i.add(r)),!0}return!1}rt.prototype._handleAdd=function(e){if(e instanceof fo)e.extend!==void 0&&!e.extensionField&&(uf(this,e)||this.deferred.push(e));else if(e instanceof ya)ho.test(e.name)&&(e.parent[e.name]=e.values);else if(!(e instanceof cg)){if(e instanceof va)for(var i=0;i<this.deferred.length;)uf(this,this.deferred[i])?this.deferred.splice(i,1):++i;for(var r=0;r<e.nestedArray.length;++r)this._handleAdd(e._nestedArray[r]);ho.test(e.name)&&(e.parent[e.name]=e)}(e instanceof va||e instanceof ya||e instanceof fo)&&(this._fullyQualifiedObjects[e.fullName]=e)};rt.prototype._handleRemove=function(e){if(e instanceof fo){if(e.extend!==void 0)if(e.extensionField)e.extensionField.parent.remove(e.extensionField),e.extensionField=null;else{var i=this.deferred.indexOf(e);i>-1&&this.deferred.splice(i,1)}}else if(e instanceof ya)ho.test(e.name)&&delete e.parent[e.name];else if(e instanceof po){for(var r=0;r<e.nestedArray.length;++r)this._handleRemove(e._nestedArray[r]);ho.test(e.name)&&delete e.parent[e.name]}delete this._fullyQualifiedObjects[e.fullName]};rt._configure=function(t,e,i){va=t,ba=e,xr=i}});var Be=te((ww,pf)=>{"use strict";var Ie=pf.exports=Pt(),df=Us(),wa,Sa;Ie.codegen=$c();Ie.fetch=qc();Ie.path=Vc();Ie.patterns=Ys();var hf=Ie.patterns.reservedRe;Ie.fs=Ws();Ie.toArray=function(e){if(e){for(var i=Object.keys(e),r=new Array(i.length),n=0;n<i.length;)r[n]=e[i[n++]];return r}return[]};Ie.toObject=function(e){for(var i={},r=0;r<e.length;){var n=e[r++],o=e[r++];o!==void 0&&(i[n]=o)}return i};Ie.remove=function(e,i,r){if(!e)return!1;if(r!==void 0&&Object.prototype.hasOwnProperty.call(e,r)&&e[r]===i)return delete e[r],!0;for(var n=Object.keys(e),o=0;o<n.length;++o)if(e[n[o]]===i)return delete e[n[o]],!0;return!1};Ie.isReserved=function(e){return hf.test(e)};Ie.safeProp=function(e){return!/^[$\w_]+$/.test(e)||hf.test(e)?"["+JSON.stringify(e)+"]":"."+e};Ie.ucFirst=function(e){return e.charAt(0).toUpperCase()+e.substring(1)};var fg=/_([a-z])/g;Ie.camelCase=function(e){return e.substring(0,1)+e.substring(1).replace(fg,function(i,r){return r.toUpperCase()})};Ie.jsonName=function(e){for(var i="",r=!1,n=0;n<e.length;++n){var o=e.charAt(n);o==="_"?r=!0:r?(i+=o.toUpperCase(),r=!1):i+=o}return i};Ie.compareFieldsById=function(e,i){return e.id-i.id};Ie.decorateType=function(e,i){if(e.$type)return i&&e.$type.name!==i&&(Ie.decorateRoot.remove(e.$type),e.$type.name=i,Ie.decorateRoot.add(e.$type)),e.$type;wa||(wa=co());var r=new wa(i||e.name);return Ie.decorateRoot.add(r),r.ctor=e,Object.defineProperty(e,"$type",{value:r,enumerable:!1}),Object.defineProperty(e.prototype,"$type",{value:r,enumerable:!1}),r};var dg=0;Ie.decorateEnum=function(e){if(e.$type)return e.$type;Sa||(Sa=St());var i=new Sa("Enum"+dg++,e);return Ie.decorateRoot.add(i),Object.defineProperty(e,"$type",{value:i,enumerable:!1}),i};Ie.setProperty=function(e,i,r,n){function o(s,a,l){var u=a.shift();if(Ie.isUnsafeProperty(u))return s;if(a.length>0)s[u]=o(s[u]||{},a,l);else{var c=s[u];if(c&&n)return s;c&&(l=[].concat(c).concat(l)),s[u]=l}return s}if(typeof e!="object")throw TypeError("dst must be an object");if(!i)throw TypeError("path must be specified");if(i=i.split("."),i.length>Ie.recursionLimit)throw Error("max depth exceeded");return o(e,i,r)};Object.defineProperty(Ie,"decorateRoot",{get:function(){return df.decorated||(df.decorated=new(mo()))}})});var vi=te(mf=>{"use strict";var Zr=mf,hg=Be(),pg=["double","float","int32","uint32","sint32","fixed32","sfixed32","int64","uint64","sint64","fixed64","sfixed64","bool","string","bytes"];function Qr(t,e){var i=0,r=Object.create(null);for(e|=0;i<t.length;)r[pg[i+e]]=t[i++];return r}Zr.basic=Qr([1,5,0,0,0,5,5,0,0,0,1,1,0,2,2]);Zr.defaults=Qr([0,0,0,0,0,0,0,0,0,0,0,0,!1,"",hg.emptyArray,null]);Zr.long=Qr([0,0,0,1,1],7);Zr.mapKey=Qr([0,0,0,5,5,0,0,0,1,1,0,2],2);Zr.packed=Qr([1,5,0,0,0,5,5,0,0,0,1,1,0])});var gi=te((xw,yf)=>{"use strict";yf.exports=$e;var tn=yi();$e.prototype=Object.create(tn.prototype,{constructor:{value:$e,writable:!0,enumerable:!1,configurable:!0}});$e.className="Field";var gf=St(),go=vi(),Te=Be(),en,mg=/^(?:required|optional|repeated)$/;$e.fromJSON=function(e,i){var r=new $e(e,i.id,i.type,i.rule,i.extend,i.options,i.comment);return i.edition&&(r._edition=i.edition),i.protoName&&(r.protoName=i.protoName),i.jsonName!==void 0?r.jsonName=i.jsonName:i.options&&i.options.json_name!==void 0&&(r.jsonName=i.options.json_name),r._defaultEdition="proto3",r};function $e(t,e,i,r,n,o,s){if(Te.isObject(r)?(s=n,o=r,r=n=void 0):Te.isObject(n)&&(s=o,o=n,n=void 0),tn.call(this,t,o),!Te.isInteger(e)||e<0)throw TypeError("id must be a non-negative integer");if(!Te.isString(i))throw TypeError("type must be a string");if(r!==void 0&&!mg.test(r=r.toString().toLowerCase()))throw TypeError("rule must be a string rule");if(n!==void 0&&!Te.isString(n))throw TypeError("extend must be a string");this.rule=r&&r!=="optional"?r:void 0,this.type=i,this.id=e,this.extend=n||void 0,this.repeated=r==="repeated",this.map=!1,this.message=null,this.partOf=null,this.typeDefault=null,this.defaultValue=null,this.long=Te.Long?go.long[i]!==void 0:!1,this.bytes=i==="bytes",this.resolvedType=null,this.extensionField=null,this.declaringField=null,this.comment=s,this.protoName=void 0,this.jsonName=void 0}Object.defineProperty($e.prototype,"required",{get:function(){return this._features.field_presence==="LEGACY_REQUIRED"}});Object.defineProperty($e.prototype,"optional",{get:function(){return!this.required}});Object.defineProperty($e.prototype,"delimited",{get:function(){return this.resolvedType instanceof en&&this._features.message_encoding==="DELIMITED"}});Object.defineProperty($e.prototype,"packed",{get:function(){return this._features.repeated_field_encoding==="PACKED"}});Object.defineProperty($e.prototype,"hasPresence",{get:function(){return this.repeated||this.map?!1:this.partOf||this.declaringField||this.extensionField||this._features.field_presence!=="IMPLICIT"}});$e.prototype.setOption=function(e,i,r){return tn.prototype.setOption.call(this,e,i,r)};$e.prototype.toJSON=function(e){var i=e?!!e.keepComments:!1;return Te.toObject(["edition",this._editionToJSON(),"rule",this.rule!=="optional"&&this.rule||void 0,"type",this.type,"id",this.id,"extend",this.extend,"protoName",this.protoName!==this.name?this.protoName:void 0,"jsonName",this.jsonName!==Te.jsonName(this.protoName||this.name)?this.jsonName:void 0,"options",this.options,"comment",i?this.comment:void 0])};$e.prototype.resolve=function(){if(this.resolved)return this;if((this.typeDefault=go.defaults[this.type])===void 0?(this.resolvedType=(this.declaringField?this.declaringField.parent:this.parent).lookupTypeOrEnum(this.type),this.resolvedType instanceof en?this.typeDefault=null:this.typeDefault=this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]):this.options&&this.options.proto3_optional&&(this.typeDefault=null),this.options&&this.options.default!=null&&(this.typeDefault=this.options.default,this.resolvedType instanceof gf&&typeof this.typeDefault=="string"&&(this.typeDefault=this.resolvedType.values[this.typeDefault])),this.options&&(this.options.packed!==void 0&&this.resolvedType&&!(this.resolvedType instanceof gf)&&delete this.options.packed,Object.keys(this.options).length||(this.options=void 0)),this.long){var e=this.type==="uint64"||this.type==="fixed64";this.typeDefault=typeof this.typeDefault=="string"?Te.Long.fromString(this.typeDefault,e):Te.Long.fromNumber(this.typeDefault,e),Object.freeze&&Object.freeze(this.typeDefault)}else if(go.long[this.type]!==void 0&&typeof this.typeDefault=="string")this.typeDefault=parseInt(this.typeDefault,10);else if(this.bytes&&typeof this.typeDefault=="string"){var i;Te.base64.test(this.typeDefault)?Te.base64.decode(this.typeDefault,i=Te.newBuffer(Te.base64.length(this.typeDefault)),0):Te.utf8.write(this.typeDefault,i=Te.newBuffer(Te.utf8.length(this.typeDefault)),0),this.typeDefault=i}return this.map?this.defaultValue=Te.emptyObject:this.repeated?this.defaultValue=Te.emptyArray:this.defaultValue=this.typeDefault,this.parent instanceof en&&this.parent._ctor&&(this.parent._ctor.prototype[this.name]=this.defaultValue),this.protoName===void 0&&(this.protoName=this.name),this.jsonName===void 0&&(this.jsonName=Te.jsonName(this.protoName)),tn.prototype.resolve.call(this)};$e.prototype._inferLegacyProtoFeatures=function(e){if(e!=="proto2"&&e!=="proto3")return{};var i={};if(this.rule==="required"&&(i.field_presence="LEGACY_REQUIRED"),this.parent&&go.defaults[this.type]===void 0){var r=this.parent.get(this.type.split(".").pop());r&&r instanceof en&&r.group&&(i.message_encoding="DELIMITED")}return this.getOption("packed")===!0?i.repeated_field_encoding="PACKED":this.getOption("packed")===!1&&(i.repeated_field_encoding="EXPANDED"),i};$e.prototype._resolveFeatures=function(e){return tn.prototype._resolveFeatures.call(this,this._edition||e)};$e.d=function(e,i,r,n){return typeof i=="function"?i=Te.decorateType(i).name:i&&typeof i=="object"&&(i=Te.decorateEnum(i).name),function(s,a){Te.decorateType(s.constructor).add(new $e(a,e,i,r,{default:n}))}};$e._configure=function(e){en=e}});var Li=te((Iw,wf)=>{"use strict";wf.exports=nt;var vo=yi();nt.prototype=Object.create(vo.prototype,{constructor:{value:nt,writable:!0,enumerable:!1,configurable:!0}});nt.className="OneOf";var vf=gi(),yo=Be();function nt(t,e,i,r){if(Array.isArray(e)||(i=e,e=void 0),vo.call(this,t,i),!(e===void 0||Array.isArray(e)))throw TypeError("fieldNames must be an Array");this.oneof=e||[],this.fieldsArray=[],this.comment=r}nt.fromJSON=function(e,i){return new nt(e,i.oneof,i.options,i.comment)};nt.prototype.toJSON=function(e){var i=e?!!e.keepComments:!1;return yo.toObject(["options",this.options,"oneof",this.oneof,"comment",i?this.comment:void 0])};function bf(t){if(t.parent)for(var e=0;e<t.fieldsArray.length;++e)t.fieldsArray[e].parent||t.parent.add(t.fieldsArray[e])}nt.prototype.add=function(e){if(!(e instanceof vf))throw TypeError("field must be a Field");return e.parent&&e.parent!==this.parent&&e.parent.remove(e),this.oneof.push(e.name),this.fieldsArray.push(e),e.partOf=this,bf(this),this};nt.prototype.remove=function(e){if(!(e instanceof vf))throw TypeError("field must be a Field");var i=this.fieldsArray.indexOf(e);if(i<0)throw Error(e+" is not a member of "+this);return this.fieldsArray.splice(i,1),i=this.oneof.indexOf(e.name),i>-1&&this.oneof.splice(i,1),e.partOf=null,this};nt.prototype.onAdd=function(e){vo.prototype.onAdd.call(this,e);for(var i=this,r=0;r<this.oneof.length;++r){var n=e.get(this.oneof[r]);n&&!n.partOf&&(n.partOf=i,i.fieldsArray.push(n))}bf(this)};nt.prototype.onRemove=function(e){for(var i=0,r;i<this.fieldsArray.length;++i)(r=this.fieldsArray[i]).parent&&r.parent.remove(r);vo.prototype.onRemove.call(this,e)};Object.defineProperty(nt.prototype,"isProto3Optional",{get:function(){if(this.fieldsArray==null||this.fieldsArray.length!==1)return!1;var t=this.fieldsArray[0];return t.options!=null&&t.options.proto3_optional===!0}});nt.d=function(){for(var e=new Array(arguments.length),i=0;i<arguments.length;)e[i]=arguments[i++];return function(n,o){yo.decorateType(n.constructor).add(new nt(o,e)),Object.defineProperty(n,o,{get:yo.oneOfGetter(e),set:yo.oneOfSetter(e)})}}});var yi=te((_w,Sf)=>{"use strict";Sf.exports=Ue;Ue.className="ReflectionObject";var gg=Li(),It=Be(),bo,yg={enum_type:"OPEN",field_presence:"EXPLICIT",json_format:"ALLOW",message_encoding:"LENGTH_PREFIXED",repeated_field_encoding:"PACKED",utf8_validation:"VERIFY",enforce_naming_style:"STYLE2024",default_symbol_visibility:"EXPORT_TOP_LEVEL"},vg={enum_type:"OPEN",field_presence:"EXPLICIT",json_format:"ALLOW",message_encoding:"LENGTH_PREFIXED",repeated_field_encoding:"PACKED",utf8_validation:"VERIFY",enforce_naming_style:"STYLE_LEGACY",default_symbol_visibility:"EXPORT_ALL"},bg={enum_type:"CLOSED",field_presence:"EXPLICIT",json_format:"LEGACY_BEST_EFFORT",message_encoding:"LENGTH_PREFIXED",repeated_field_encoding:"EXPANDED",utf8_validation:"NONE",enforce_naming_style:"STYLE_LEGACY",default_symbol_visibility:"EXPORT_ALL"},wg={enum_type:"OPEN",field_presence:"IMPLICIT",json_format:"ALLOW",message_encoding:"LENGTH_PREFIXED",repeated_field_encoding:"PACKED",utf8_validation:"VERIFY",enforce_naming_style:"STYLE_LEGACY",default_symbol_visibility:"EXPORT_ALL"};function Ue(t,e){if(!It.isString(t))throw TypeError("name must be a string");if(e&&!It.isObject(e))throw TypeError("options must be an object");this.options=e,this.parsedOptions=null,this.name=t,this._edition=null,this._defaultEdition="proto2",this._features={},this._featuresResolved=!1,this.parent=null,this.resolved=!1,this.comment=null,this.filename=null}Object.defineProperties(Ue.prototype,{root:{get:function(){for(var t=this;t.parent!==null;)t=t.parent;return t}},fullName:{get:function(){for(var t=[this.name],e=this.parent;e;)t.unshift(e.name),e=e.parent;return t.join(".")}}});Ue.prototype.toJSON=function(){throw Error()};Ue.prototype.onAdd=function(e){this.parent&&this.parent!==e&&this.parent.remove(this),this.parent=e,this.resolved=!1;var i=e.root;i instanceof bo&&i._handleAdd(this)};Ue.prototype.onRemove=function(e){var i=e.root;i instanceof bo&&i._handleRemove(this),this.parent=null,this.resolved=!1};Ue.prototype.resolve=function(){return this.resolved?this:(this.root instanceof bo&&(this.resolved=!0),this)};Ue.prototype._resolveFeaturesRecursive=function(e){return this._resolveFeatures(this._edition||e)};Ue.prototype._resolveFeatures=function(e){if(!this._featuresResolved){var i={};if(!e)throw new Error("Unknown edition for "+this.fullName);var r=It.merge({},this.options&&this.options.features,this._inferLegacyProtoFeatures(e));if(this._edition){if(e==="proto2")i=Object.assign({},bg);else if(e==="proto3")i=Object.assign({},wg);else if(e==="2023")i=Object.assign({},vg);else if(e==="2024")i=Object.assign({},yg);else throw new Error("Unknown edition: "+e);this._features=It.merge(i,r)}else if(this.partOf instanceof gg){var n=It.merge({},this.partOf._features);this._features=It.merge(n,r)}else if(!this.declaringField)if(this.parent){var o=It.merge({},this.parent._features);this._features=It.merge(o,r)}else throw new Error("Unable to find a parent for "+this.fullName);this.extensionField&&(this.extensionField._features=this._features),this._featuresResolved=!0}};Ue.prototype._inferLegacyProtoFeatures=function(){return{}};Ue.prototype.getOption=function(e){if(this.options&&Object.prototype.hasOwnProperty.call(this.options,e))return this.options[e]};Ue.prototype.setOption=function(e,i,r){if(e==="__proto__")return this;if(this.options||(this.options={}),/^features\./.test(e))It.setProperty(this.options,e,i,r);else{var n=this.getOption(e);(!r||n===void 0)&&(n!==i&&(this.resolved=!1),this.options[e]=i)}return this};Ue.prototype.setParsedOption=function(e,i,r){if(e==="__proto__")return this;this.parsedOptions||(this.parsedOptions=[]);var n=this.parsedOptions;if(r){var o=n.find(function(l){return Object.prototype.hasOwnProperty.call(l,e)});if(o){var s=o[e];It.setProperty(s,r,i)}else o={},o[e]=It.setProperty({},r,i),n.push(o)}else{var a={};a[e]=i,n.push(a)}return this};Ue.prototype.setOptions=function(e,i){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)this.setOption(r[n],e[r[n]],i);return this};Object.defineProperty(Ue.prototype,"toString",{value:function(){var e=this.constructor.className,i=this.fullName;return i.length?e+" "+i:e},writable:!0,enumerable:!1,configurable:!0});Ue.prototype._editionToJSON=function(){if(!(!this._edition||this._edition==="proto3"))return this._edition};Ue._configure=function(t){bo=t}});var St=te((Ew,If)=>{"use strict";If.exports=ht;var xa=yi();ht.prototype=Object.create(xa.prototype,{constructor:{value:ht,writable:!0,enumerable:!1,configurable:!0}});ht.className="Enum";var xf=vr(),Ir=Be();function ht(t,e,i,r,n,o){if(xa.call(this,t,i),e&&typeof e!="object")throw TypeError("values must be an object");if(this.valuesById=Object.create(null),this.values=Object.create(this.valuesById),this.comment=r,this.comments=n||{},this.valuesOptions=o,this._valuesFeatures={},this.reserved=void 0,e)for(var s=Object.keys(e),a=0;a<s.length;++a)s[a]!=="__proto__"&&typeof e[s[a]]=="number"&&(this.values[s[a]]=e[s[a]],this.valuesById[e[s[a]]]===void 0&&(this.valuesById[e[s[a]]]=s[a]))}ht.prototype._resolveFeatures=function(e){return e=this._edition||e,xa.prototype._resolveFeatures.call(this,e),Object.keys(this.values).forEach(i=>{var r=Ir.merge({},this._features);this._valuesFeatures[i]=Ir.merge(r,this.valuesOptions&&this.valuesOptions[i]&&this.valuesOptions[i].features||{})}),this};ht.fromJSON=function(e,i){var r=new ht(e,i.values,i.options,i.comment,i.comments,i.valuesOptions);return r.reserved=i.reserved,i.edition&&(r._edition=i.edition),r._defaultEdition="proto3",r};ht.prototype.toJSON=function(e){var i=e?!!e.keepComments:!1;return Ir.toObject(["edition",this._editionToJSON(),"options",this.options,"valuesOptions",this.valuesOptions,"values",this.values,"reserved",this.reserved&&this.reserved.length?this.reserved:void 0,"comment",i?this.comment:void 0,"comments",i?this.comments:void 0])};ht.prototype.add=function(e,i,r,n){if(!Ir.isString(e))throw TypeError("name must be a string");if(!Ir.isInteger(i))throw TypeError("id must be an integer");if(e==="__proto__")return this;if(this.values[e]!==void 0)throw Error("duplicate name '"+e+"' in "+this);if(this.isReservedId(i))throw Error("id "+i+" is reserved in "+this);if(this.isReservedName(e))throw Error("name '"+e+"' is reserved in "+this);if(this.valuesById[i]!==void 0){if(!(this.options&&this.options.allow_alias))throw Error("duplicate id "+i+" in "+this);this.values[e]=i}else this.valuesById[this.values[e]=i]=e;return n&&(this.valuesOptions===void 0&&(this.valuesOptions={}),this.valuesOptions[e]=n||null),this.comments[e]=r||null,this};ht.prototype.remove=function(e){if(!Ir.isString(e))throw TypeError("name must be a string");var i=this.values[e];if(i==null)throw Error("name '"+e+"' does not exist in "+this);return delete this.valuesById[i],delete this.values[e],delete this.comments[e],this.valuesOptions&&delete this.valuesOptions[e],this};ht.prototype.isReservedId=function(e){return xf.isReservedId(this.reserved,e)};ht.prototype.isReservedName=function(e){return xf.isReservedName(this.reserved,e)}});var ga=te((Cw,Ef)=>{"use strict";Ef.exports=Sg;var Ia=St(),wi=vi(),_a=Be();function _f(t,e,i,r){return e.delimited?t("types[%i].encode(%s,w.uint32(%i),q+1).uint32(%i)",i,r,(e.id<<3|3)>>>0,(e.id<<3|4)>>>0):t("types[%i].encode(%s,w.uint32(%i).fork(),q+1).ldelim()",i,r,(e.id<<3|2)>>>0)}function Sg(t){for(var e=_a.codegen(["m","w","q"])("if(!w)")("w=Writer.create()")("if(q===undefined)q=0")("if(q>util.recursionLimit)")('throw Error("max depth exceeded")'),i,r,n=t.fieldsArray.slice().sort(_a.compareFieldsById),i=0;i<n.length;++i){var o=n[i].resolve(),s=t._fieldsArray.indexOf(o),a=o.resolvedType instanceof Ia?"int32":o.type,l=wi.basic[a];r="m"+_a.safeProp(o.name),o.map?(e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){",r,o.name)("for(var ks=Object.keys(%s),i=0;i<ks.length;++i){",r),o.keyType==="bool"?e("w.uint32(%i).fork().uint32(%i).bool(util.boolFromKey(ks[i]))",(o.id<<3|2)>>>0,8|wi.mapKey[o.keyType]):wi.long[o.keyType]!==void 0?e("w.uint32(%i).fork().uint32(%i).%s(util.longFromKey(ks[i],%j))",(o.id<<3|2)>>>0,8|wi.mapKey[o.keyType],o.keyType,o.keyType==="uint64"||o.keyType==="fixed64"):e("w.uint32(%i).fork().uint32(%i).%s(ks[i])",(o.id<<3|2)>>>0,8|wi.mapKey[o.keyType],o.keyType),l===void 0?e("types[%i].encode(%s[ks[i]],w.uint32(18).fork(),q+1).ldelim().ldelim()",s,r):e(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|l,a,r),e("}")("}")):o.repeated?(e("if(%s!=null&&%s.length){",r,r),o.packed&&wi.packed[a]!==void 0?e("w.uint32(%i).%ss(%s)",(o.id<<3|2)>>>0,a,r):(e("for(var i=0;i<%s.length;++i)",r),l===void 0?_f(e,o,s,r+"[i]"):e("w.uint32(%i).%s(%s[i])",(o.id<<3|l)>>>0,a,r)),e("}")):(o.required||(o.hasPresence||!(o.resolvedType instanceof Ia||wi.basic[a]!==void 0)?e("if(%s!=null&&Object.hasOwnProperty.call(m,%j))",r,o.name):o.resolvedType instanceof Ia?e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&%s!==%j)",r,o.name,r,o.typeDefault):a==="bool"?e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&%s!==false)",r,o.name,r):a==="string"?e('if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&%s!=="")',r,o.name,r):a==="bytes"?e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&%s.length)",r,o.name,r):a==="double"||a==="float"?e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&!Object.is(%s,0))",r,o.name,r):wi.long[a]!==void 0?e('if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&(typeof %s==="object"?%s.low||%s.high:%s!==0))',r,o.name,r,r,r,r):e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&%s!==0)",r,o.name,r)),l===void 0?_f(e,o,s,r):e("w.uint32(%i).%s(%s)",(o.id<<3|l)>>>0,a,r))}return e('if(m.$unknowns!=null&&Object.hasOwnProperty.call(m,"$unknowns"))')("for(var i=0;i<m.$unknowns.length;++i)")("w.raw(m.$unknowns[i])")("return w")}});var kf=te((le,Cf)=>{"use strict";le=Cf.exports=Fc();le.build="light";function xg(t,e,i){return typeof e=="function"?(i=e,e=new le.Root):e||(e=new le.Root),e.load(t,i)}le.load=xg;function Ig(t,e){return e||(e=new le.Root),e.loadSync(t)}le.loadSync=Ig;le.encoder=ga();le.decoder=na();le.verifier=aa();le.converter=fa();le.ReflectionObject=yi();le.Namespace=vr();le.Root=mo();le.Enum=St();le.Type=co();le.Field=gi();le.OneOf=Li();le.MapField=to();le.Service=no();le.Method=io();le.Message=oo();le.wrappers=da();le.types=vi();le.util=Be();le.ReflectionObject._configure(le.Root);le.Namespace._configure(le.Type,le.Service,le.Enum);le.Root._configure(le.Type,void 0,{});le.Field._configure(le.Type)});var Ca=te((kw,Rf)=>{"use strict";Rf.exports=Tf;var Ea=/[\s{}=;:[\],'"()<>]/g,_g=/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,Eg=/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,Cg=/^ *[*/]+ */,kg=/^\s*\*?\/*/,Ag=/\n/g,Tg=/\s/,Rg=/\\(.?)/g,Og={0:"\0",r:"\r",n:`
|
|
5
|
-
`,t:" "};function
|
|
6
|
-
`){
|
|
7
|
-
`).trim(),
|
|
8
|
-
`;)
|
|
9
|
-
`&&(
|
|
10
|
-
`;)if(i===
|
|
11
|
-
`&&++n,++i===r)throw u("comment");z=$,$=f(i)}while(z!=="*"||$!=="/");++i,G&&(h(j,i-2,T),T=!0),I=!0}else return"/"}}while(I);var y=i;Ea.lastIndex=0;var N=Ea.test(f(y++));if(!N)for(;y<r&&!Ea.test(f(y));)++y;var C=t.substring(i,i=y);return(C==='"'||C==="'")&&(l=C),C}function w(I){a.push(I)}function S(){if(!a.length){var I=v();if(I===null)return null;w(I)}return a[0]}function x(I,z){var $=S(),j=$===I;if(j)return v(),!0;if(!z)throw u("token '"+$+"', '"+I+"' expected");return!1}function F(I){var z=null,$;return I===void 0?($=s[n-1],delete s[n-1],$&&(e||$.type==="*"||$.lineEmpty)&&(z=$.leading?$.text:null)):(o<I&&S(),$=s[I],delete s[I],$&&!$.lineEmpty&&(e||$.type==="/")&&(z=$.leading?null:$.text)),z}return Object.defineProperty({next:v,peek:S,push:w,skip:x,cmnt:F},"line",{get:function(){return n}})}});var Ff=te((Aw,Mf)=>{"use strict";Mf.exports=ei;ei.filename=null;ei.defaults={keepCase:!1};var Ng=Ca(),Of=mo(),Nf=co(),wo=gi(),Pg=to(),Pf=Li(),Mg=St(),Fg=no(),Dg=io(),zg=yi(),$g=vi(),Qt=Be(),Lg=/^[1-9][0-9]*$/,Gg=/^-?[1-9][0-9]*$/,qg=/^0[x][0-9a-fA-F]+$/,Bg=/^-?0[x][0-9a-fA-F]+$/,jg=/^0[0-7]+$/,Vg=/^-?0[0-7]+$/,Ug=/^(?:u?int|sint|s?fixed)(?:32|64)$/,Hg=/^(?:uint|fixed)(?:32|64)$/,Yg=Qt.patterns.numberRe,$t=/^[a-zA-Z_][a-zA-Z_0-9]*$/,_t=Qt.patterns.typeRefRe,Xg=536870911,Wg=2147483647;function ei(t,e,i){e instanceof Of||(i=e,e=new Of),i||(i=ei.defaults);var r=i.preferTrailingComment||!1,n=Ng(t,i.alternateCommentMode||!1),o=n.next,s=n.push,a=n.peek,l=n.skip,u=n.cmnt,c=!0,f,h,m,g="proto2",v=e,w=[],S={},x=i.keepCase?function(R){return R}:Qt.camelCase;function F(){w.forEach(R=>{R._edition=g,Object.keys(S).forEach(A=>{R.getOption(A)===void 0&&R.setOption(A,S[A],!0)})})}function I(R,A,P){var M=ei.filename;return P||(ei.filename=null),Error("illegal "+(A||"token")+" '"+R+"' ("+(M?M+", ":"")+"line "+n.line+")")}function z(){var R=[],A;do{if((A=o())!=='"'&&A!=="'")throw I(A);R.push(o()),l(A),A=a()}while(A==='"'||A==="'");return R.join("")}function $(R){var A=o();switch(A){case"'":case'"':return s(A),z();case"true":case"TRUE":return!0;case"false":case"FALSE":return!1}try{return G(A,!0)}catch{if(R&&_t.test(A))return A;throw I(A,"value")}}function j(R,A,P,M){var U,J;do if(A&&((U=a())==='"'||U==="'")){var re=z();if(R.push(re),g>=2023)throw I(re,"id")}else try{R.push([J=T(o(),M,P),l("to",!0)?T(o(),M,P):J])}catch(ie){if(A&&_t.test(U)&&g>=2023)R.push(U);else throw ie}while(l(",",!0));var oe={options:void 0};oe.setOption=function(ie,Me){this.options===void 0&&(this.options={}),this.options[ie]=Me},D(oe,function(Me){if(Me==="option")ee(oe,Me),l(";");else throw I(Me)},function(){qt(oe)})}function G(R,A){var P=1;switch(R.charAt(0)==="-"&&(P=-1,R=R.substring(1)),R){case"inf":case"INF":case"Inf":return P*(1/0);case"nan":case"NAN":case"Nan":case"NaN":return NaN;case"0":return P*0}if(Lg.test(R))return P*parseInt(R,10);if(qg.test(R))return P*parseInt(R,16);if(jg.test(R))return P*parseInt(R,8);if(Yg.test(R))return P*parseFloat(R);throw I(R,"number",A)}function _(R,A,P){if(R===null)throw I(R,"end of input");if(!A&&R.charAt(0)==="-")throw I(R,P||"integer");if(R==="0"||R==="-0")return 0;var M;if(Gg.test(R))M=parseInt(R,10);else if(Bg.test(R))M=parseInt(R,16);else if(Vg.test(R))M=parseInt(R,8);else throw I(R,P||"integer");return M||0}function T(R,A,P){switch(R){case"max":case"MAX":case"Max":return P||Xg}return _(R,A,"id")}function y(){if(f!==void 0)throw I("package");if(f=o(),f===null||!_t.test(f))throw I(f,"name");v=v.define(f),l(";")}function N(){var R=a(),A;switch(R){case"option":if(g<"2024")throw I("option");o(),z(),l(";");return;case"weak":A=m||(m=[]),o();break;case"public":o();default:A=h||(h=[]);break}R=z(),l(";"),A.push(R)}function C(){if(l("="),g=z(),g<2023)throw I(g,"syntax");l(";")}function d(){if(l("="),g=z(),!["2023","2024"].includes(g))throw I(g,"edition");l(";")}function E(R,A,P){switch(P===void 0&&(P=0),A){case"option":return ee(R,A),l(";"),!0;case"message":return V(R,A,P+1),!0;case"enum":return be(R,A),!0;case"export":case"local":return g<"2024"||(A=o(),A==="export"||A==="local")||A!=="message"&&A!=="enum"?!1:E(R,A,P);case"service":return Re(R,A,P+1),!0;case"extend":return yt(R,A,P),!0}return!1}function D(R,A,P){var M=n.line;if(R&&(typeof R.comment!="string"&&(R.comment=u()),R.filename=ei.filename),l("{",!0)){for(var U;(U=o())!=="}";)A(U);l(";",!0)}else P&&P(),l(";"),R&&(typeof R.comment!="string"||r)&&(R.comment=u(M)||R.comment)}function V(R,A,P){if(P===void 0&&(P=0),P>Qt.nestingLimit)throw Error("max depth exceeded");if((A=o())===null||!$t.test(A))throw I(A,"type name");var M=new Nf(A);D(M,function(J){if(!E(M,J,P))switch(J){case";":break;case"map":ne(M,J);break;case"required":if(g!=="proto2")throw I(J);case"repeated":H(M,J,void 0,P+1);break;case"optional":if(g==="proto3")H(M,"proto3_optional",void 0,P+1);else{if(g!=="proto2")throw I(J);H(M,"optional",void 0,P+1)}break;case"oneof":ve(M,J,P+1);break;case"extensions":j(M.extensions||(M.extensions=[]));break;case"reserved":j(M.reserved||(M.reserved=[]),!0);break;default:if(g==="proto2"||!_t.test(J))throw I(J);s(J),H(M,"optional",void 0,P+1);break}}),R.add(M),R===v&&w.push(M)}function H(R,A,P,M){var U=o();if(U===null)throw I(U,"end of input");if(U==="group"){Z(R,A,P,M);return}for(;U.endsWith(".")||(a()||"").startsWith(".");){var J=o();if(J===null)throw I(J,"end of input");U+=J}if(!_t.test(U))throw I(U,"type");var re=o();if(re===null)throw I(re,"end of input");if(!$t.test(re))throw I(re,"name");var oe=re;re=x(re),l("=");var ie=new wo(re,T(o()),U,A==="proto3_optional"?"optional":A,P);if(oe!==re&&(ie.protoName=oe),D(ie,function(Rt){if(Rt==="option")ee(ie,Rt),l(";");else throw I(Rt)},function(){qt(ie)}),A==="proto3_optional"){var Me=new Pf("_"+re);ie.setOption("proto3_optional",!0),Me.add(ie),R.add(Me)}else R.add(ie);R===v&&w.push(ie)}function Z(R,A,P,M){if(M===void 0&&(M=0),M>Qt.nestingLimit)throw Error("max depth exceeded");if(g>=2023)throw I("group");var U=o();if(U===null||!$t.test(U))throw I(U,"name");var J=Qt.lcFirst(U);U===J&&(U=Qt.ucFirst(U)),l("=");var re=T(o()),oe=new Nf(U);oe.group=!0;var ie=new wo(J,re,U,A,P);ie.filename=ei.filename,D(oe,function(Oe){switch(Oe){case";":break;case"map":ne(oe);break;case"option":ee(oe,Oe),l(";");break;case"required":case"repeated":H(oe,Oe,void 0,M+1);break;case"optional":g==="proto3"?H(oe,"proto3_optional",void 0,M+1):H(oe,"optional",void 0,M+1);break;case"message":V(oe,Oe,M+1);break;case"enum":be(oe,Oe);break;case"reserved":j(oe.reserved||(oe.reserved=[]),!0);break;case"export":case"local":if(g<"2024")throw I(Oe);switch(Oe=o(),Oe){case"message":V(oe,Oe,M+1);break;case"enum":V(oe,Oe,M+1);break;default:throw I(Oe)}break;default:throw I(Oe)}}),R.add(oe).add(ie),R===v&&(w.push(oe),w.push(ie))}function ne(R){l("<");var A=o();if($g.mapKey[A]===void 0)throw I(A,"type");l(",");var P=o();if(!_t.test(P))throw I(P,"type");l(">");var M=o();if(M===null||!$t.test(M))throw I(M,"name");l("=");var U=M;M=x(M);var J=new Pg(M,T(o()),A,P);U!==M&&(J.protoName=U),D(J,function(oe){if(oe==="option")ee(J,oe),l(";");else throw I(oe)},function(){qt(J)}),R.add(J)}function ve(R,A,P){if((A=o())===null||!$t.test(A))throw I(A,"name");var M=new Pf(x(A));D(M,function(J){J==="option"?(ee(M,J),l(";")):(s(J),H(M,"optional",void 0,P))}),R.add(M)}function be(R,A){if((A=o())===null||!$t.test(A))throw I(A,"name");var P=new Mg(A),M=[];D(P,function(re){switch(re){case";":break;case"option":ee(P,re),l(";");break;case"reserved":j(P.reserved||(P.reserved=[]),!0,Wg,!0),P.reserved===void 0&&(P.reserved=[]);break;default:M.push(ge(re))}});for(var U=0;U<M.length;++U)P.add(M[U].name,M[U].id,M[U].comment,M[U].options);R.add(P),R===v&&w.push(P)}function ge(R){if(!$t.test(R))throw I(R,"name");l("=");var A=T(o(),!0),P={options:void 0};return P.getOption=function(M){return this.options[M]},P.setOption=function(M,U){zg.prototype.setOption.call(P,M,U)},P.setParsedOption=function(){},D(P,function(U){if(U==="option")ee(P,U),l(";");else throw I(U)},function(){qt(P)}),{name:R,id:A,comment:P.comment,options:P.parsedOptions||P.options}}function ee(R,A){var P,M,U=!0;for(A==="option"&&(A=o());A!=="=";){if(A===null)throw I(A,"end of input");if(A==="("){var J=o();l(")"),A="("+J+")"}if(U){if(U=!1,A.includes(".")&&!A.includes("(")){var re=A.split(".");P=re[0]+".",A=re[1];continue}P=A}else M=M?M+=A:A;A=o()}var oe=M?P.concat(M):P,ie=ce(R,oe);M=M&&M[0]==="."?M.slice(1):M,P=P&&P[P.length-1]==="."?P.slice(0,-1):P,gt(R,P,ie,M)}function ce(R,A,P){if(P===void 0&&(P=0),P>Qt.recursionLimit)throw Error("max depth exceeded");if(l("{",!0)){for(var M={};!l("}",!0);){de=o();var U;if(de===null)throw I(de,"end of input");if(de==="["){de=o();var J=de===null?-1:de.lastIndexOf("/");if(de===null||!_t.test(J<0?de:de.slice(J+1)))throw I(de,"name");U="["+de+"]",l("]")}else{if(!$t.test(de))throw I(de,"name");U=de}var re;if(l(":",!0),a()==="{")re=ce(R,A+"."+U,P+1);else if(a()==="["){re=[];var oe,ie;if(l("[",!0)&&!l("]",!0)){do ie=a()==="{",oe=ie?ce(R,A+"."+U,P+1):$(!0),re.push(oe);while(l(",",!0));l("]"),typeof oe<"u"&&(ie||Se(R,A+"."+U,oe))}}else re=$(!0),Se(R,A+"."+U,re);var Me=Object.prototype.hasOwnProperty.call(M,U)?M[U]:void 0;Me&&(re=[].concat(Me).concat(re)),U!=="__proto__"&&(M[U]=re),l(",",!0),l(";",!0)}return M}var Oe=A==="default"&&R instanceof wo&&Ug.test(R.type)?_(o(),!Hg.test(R.type)):$(!0);return Se(R,A,Oe),Oe}function Se(R,A,P){if(v===R&&/^features\./.test(A)){S[A]=P;return}A==="json_name"&&R instanceof wo&&(R.jsonName=P),R.setOption&&R.setOption(A,P)}function gt(R,A,P,M){R.setParsedOption&&R.setParsedOption(A,P,M)}function qt(R){if(l("[",!0)){do ee(R,"option");while(l(",",!0));l("]")}return R}function Re(R,A,P){if(P===void 0&&(P=0),P>Qt.recursionLimit)throw Error("max depth exceeded");if((A=o())===null||!$t.test(A))throw I(A,"service name");var M=new Fg(A);D(M,function(J){if(!E(M,J,P)&&J!==";")if(J==="rpc")ut(M,J);else throw I(J)}),R.add(M),R===v&&w.push(M)}function ut(R,A){var P=u(),M=A;if(!$t.test(A=o()))throw I(A,"name");var U=A,J,re,oe,ie;if(l("("),l("stream",!0)&&(re=!0),!_t.test(A=o())||(J=A,l(")"),l("returns"),l("("),l("stream",!0)&&(ie=!0),!_t.test(A=o())))throw I(A);oe=A,l(")");var Me=new Dg(U,M,J,oe,re,ie);Me.comment=P,D(Me,function(Rt){if(Rt!==";")if(Rt==="option")ee(Me,Rt),l(";");else throw I(Rt)}),R.add(Me)}function yt(R,A,P){if((A=o())===null||!_t.test(A))throw I(A,"reference");var M=A;D(null,function(J){switch(J){case"required":case"repeated":H(R,J,M,P+1);break;case"optional":g==="proto3"?H(R,"proto3_optional",M,P+1):H(R,"optional",M,P+1);break;default:if(g==="proto2"||!_t.test(J))throw I(J);s(J),H(R,"optional",M,P+1);break}})}for(var de;(de=o())!==null;)switch(de){case";":break;case"package":if(!c)throw I(de);y();break;case"import":N();break;case"syntax":if(!c)throw I(de);C();break;case"edition":if(!c)throw I(de);d();break;case"option":ee(v,de),l(";",!0);break;default:if(E(v,de,0)){c=!1;continue}throw I(de)}return F(),ei.filename=null,{package:f,imports:h,weakImports:m,root:e}}});var $f=te((Tw,zf)=>{"use strict";zf.exports=Et;var Kg=/\/|\./;function Et(t,e){Kg.test(t)||(t="google/protobuf/"+t+".proto",e={nested:{google:{nested:{protobuf:{nested:e}}}}}),Et[t]=e}Et("any",{Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}}});var Df;Et("duration",{Duration:Df={fields:{seconds:{type:"int64",id:1},nanos:{type:"int32",id:2}}}});Et("timestamp",{Timestamp:Df});Et("empty",{Empty:{fields:{}}});Et("struct",{Struct:{fields:{fields:{keyType:"string",type:"Value",id:1}}},Value:{oneofs:{kind:{oneof:["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},fields:{nullValue:{type:"NullValue",id:1,protoName:"null_value"},numberValue:{type:"double",id:2,protoName:"number_value"},stringValue:{type:"string",id:3,protoName:"string_value"},boolValue:{type:"bool",id:4,protoName:"bool_value"},structValue:{type:"Struct",id:5,protoName:"struct_value"},listValue:{type:"ListValue",id:6,protoName:"list_value"}}},NullValue:{values:{NULL_VALUE:0}},ListValue:{fields:{values:{rule:"repeated",type:"Value",id:1}}}});Et("wrappers",{DoubleValue:{fields:{value:{type:"double",id:1}}},FloatValue:{fields:{value:{type:"float",id:1}}},Int64Value:{fields:{value:{type:"int64",id:1}}},UInt64Value:{fields:{value:{type:"uint64",id:1}}},Int32Value:{fields:{value:{type:"int32",id:1}}},UInt32Value:{fields:{value:{type:"uint32",id:1}}},BoolValue:{fields:{value:{type:"bool",id:1}}},StringValue:{fields:{value:{type:"string",id:1}}},BytesValue:{fields:{value:{type:"bytes",id:1}}}});Et("field_mask",{FieldMask:{fields:{paths:{rule:"repeated",type:"string",id:1}}}});Et.get=function(e){return Et[e]||null}});var Gf=te((Lt,Lf)=>{"use strict";Lt=Lf.exports=kf();Lt.build="full";Lt.tokenize=Ca();Lt.parse=Ff();Lt.common=$f();Lt.Root._configure(Lt.Type,Lt.parse,Lt.common)});var Bf=te((Rw,qf)=>{"use strict";qf.exports=Gf()});import{existsSync as kp,readFileSync as Ap,realpathSync as Cv}from"node:fs";import{relative as kv}from"node:path";import{Worker as ov}from"node:worker_threads";import{existsSync as sv,mkdirSync as av,readFileSync as Bl,writeFileSync as lv}from"node:fs";import{basename as uv,dirname as cv}from"node:path";import{existsSync as bn,readFileSync as z0}from"node:fs";import{randomUUID as xh}from"node:crypto";import{isAbsolute as eu,win32 as tu}from"node:path";function An(t,e=!1){let i=String(t??"").trim().replaceAll("\\","/");if(e&&(!i||i==="."))return"";if(!i||eu(i)||tu.isAbsolute(i)||i.split("/").some(r=>!r||r==="."||r===".."||/[<>:"|?*\x00-\x1f]/.test(r)||/[. ]$/.test(r)||/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\.|$)/i.test(r)))throw new Error("\u811A\u672C\u76EE\u5F55/\u8DEF\u5F84\u5FC5\u987B\u662F\u6709\u6548\u7684\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u4E0D\u80FD\u5305\u542B .. \u6216 Windows \u7279\u6B8A\u6587\u4EF6\u540D");return i}function Lr(t){if(t==null)return null;if(t.version!==1)throw new Error("unsupported scriptSync version");let e=String(t.clientImportRoot||"").trim();if(!eu(e)&&!tu.isAbsolute(e))throw new Error("\u5B9E\u673A\u5BFC\u5165\u6839\u76EE\u5F55\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84");return{version:1,workspaceDir:An(t.workspaceDir,!0),clientImportRoot:e,clientSubdir:An(t.clientSubdir,!0)}}import{basename as Pr,dirname as $0,isAbsolute as L0,join as Ih,resolve as _h}from"node:path";var iu="https://oss.070077.xyz/prefabs/",Gr="prefab-v1",Jp=[[10003004,10003004],[10005001,10005142],[10006001,10006002],[10007002,10007002],[10008001,10008001],[10009001,10009011],[20001001,20001074],[20001076,20001121],[20001123,20001156],[20001158,20001302],[20001304,20001568],[20001570,20001999],[20002001,20002755],[20002757,20002999],[20003001,20003455],[30001001,30001016],[30002001,30002017],[30003001,30003011],[30004001,30004001],[30005001,30005020],[30006001,30006026],[30007001,30007013],[30008001,30008011]];function Tn(t){return!Number.isSafeInteger(t)||!Jp.some(([e,i])=>t>=e&&t<=i)?null:t===10003004||t===10008001?128:256}var Rn="https://oss.070077.xyz/images/",fs="sprite-v1",On="/qxqy-assets/",Zp=[[100001,100006],[100101,100213],[101001,101018],[101020,101028],[101030,101046],[101048,101048],[101050,101054],[101056,101080],[102001,102052],[103001,103148],[104001,104010],[105001,105140],[105142,105219],[105221,105317],[106001,106047],[106049,106096],[107001,107007],[107010,107020],[107031,107092],[107094,107180],[107183,107201],[107203,107205],[107207,107228],[107231,107278],[107280,107402],[108001,108017],[108019,108020],[109001,109031],[109033,109034],[109036,109075],[110001,110053],[111001,111139],[112001,112042]];function st(t){return t==null||t===""?"StaticReference":typeof t=="string"?t:typeof t.Name=="string"?t.Name:"Unknown"}function Nn(t,e){return`${st(e)}:${t}`}function ru(t,e){return st(e)==="StaticReference"&&oi(t,e)}function oi(t,e){let i=st(e);return i==="Prefab"?Tn(t)!==null:i==="StaticReference"&&Number.isSafeInteger(t)&&t>100006&&Zp.some(([r,n])=>t>=r&&t<=n)}var Pn="7.1.0",qe=Object.freeze(["KEYBOARD","TOUCHSCREEN","CONTROLLER_CONSOLE","CONTROLLER_MOBILE"]),Ee=Object.freeze({"pc-16-9":{id:"pc-16-9",device:"pc",platform:"KEYBOARD",width:1600,height:900,ratio:"16:9",luaDevice:"KeyboardAndMouse",label:"PC 1600\xD7900"},"pc-21-9":{id:"pc-21-9",device:"pc",platform:"KEYBOARD",width:2100,height:900,ratio:"21:9",luaDevice:"KeyboardAndMouse",label:"PC 2100\xD7900"},"mobile-16-9":{id:"mobile-16-9",device:"mobile",platform:"TOUCHSCREEN",width:1280,height:720,ratio:"16:9",luaDevice:"Mobile",label:"\u624B\u673A 1280\xD7720"},"mobile-19.5-9":{id:"mobile-19.5-9",device:"mobile",platform:"TOUCHSCREEN",width:1560,height:720,ratio:"19.5:9",luaDevice:"Mobile",label:"\u624B\u673A 1560\xD7720"},"mobile-4-3":{id:"mobile-4-3",device:"mobile",platform:"TOUCHSCREEN",width:1280,height:960,ratio:"4:3",luaDevice:"Mobile",label:"\u624B\u673A 1280\xD7960"}}),Mn="pc-16-9",Ze=2,er=Object.freeze({KEYBOARD:"pc-16-9",TOUCHSCREEN:"mobile-16-9",CONTROLLER_CONSOLE:"pc-16-9",CONTROLLER_MOBILE:"mobile-16-9"}),tr=Object.freeze({"server-container":"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u5BB9\u5668",container:"\u5BB9\u5668\u8282\u70B9",textbox:"\u6587\u672C\u6846",image:"\u56FE\u7247",button:"\u9884\u8BBE\u6309\u94AE",cursor:"\u5149\u6807\u68C0\u6D4B\u533A\u57DF",grid:"\u7F51\u683C\u89C6\u7A97",reference:"\u6A21\u677F\u5F15\u7528\u63A7\u4EF6",textwindow:"\u6587\u672C\u89C6\u7A97",keyhint:"\u6309\u952E\u63D0\u793A",animation:"\u754C\u9762\u52A8\u6548",fullscreen:"\u5168\u5C4F\u52A8\u6548"}),Fn=Object.freeze(["server-container","container","textbox","cursor","reference","grid","image","button","textwindow","keyhint","animation","fullscreen"]),nu=Object.freeze({"server-container":null,container:[150,150],textbox:[100,40],image:[80,80],button:[150,50],cursor:[150,50],grid:[80,80],reference:[80,80],textwindow:[100,40],keyhint:[40,40],animation:[100,100],fullscreen:null}),Qp=Object.freeze({100001:"rect",100002:"circle",100003:"triangle",100004:"fourstar",100005:"fivestar",100006:"ring"});function ir(t,e){return st(e)==="StaticReference"&&Qp[t]||(oi(t,e)?"sprite":"missing")}var ou=50888,qr=Object.freeze({font:4294967295,bg:16777215,outline:858993459,image:4294967295});function rr(t,e="$",i=new Set){if(t===void 0)throw new Error(`undefined at ${e}`);if(typeof t=="number"&&!Number.isFinite(t))throw new Error(`non-finite number at ${e}`);if(typeof t=="bigint"||typeof t=="function"||typeof t=="symbol")throw new Error(`non-JSON value at ${e}`);if(!(t===null||typeof t!="object")){if(i.has(t))throw new Error(`circular value at ${e}`);if(i.add(t),Array.isArray(t))t.forEach((r,n)=>rr(r,`${e}[${n}]`,i));else for(let[r,n]of Object.entries(t))rr(n,`${e}.${r}`,i);i.delete(t)}}function se(t){return rr(t),JSON.parse(JSON.stringify(t))}function su(t,e="$"){rr(t,e)}function au(t){return Ee[t]||Ee[Mn]}function Br(t,e=0,i=0){return!t||typeof t!="object"?{x:e,y:i}:{x:Number(t.x??e),y:Number(t.y??i)}}function em(t){return!t||typeof t!="object"?{x:1,y:1,z:1}:{x:Number(t.x??1),y:Number(t.y??1),z:Number(t.z??1)}}function tm(t){return!t||typeof t!="object"?{x:0,y:0,z:0}:{x:Number(t.x??0),y:Number(t.y??0),z:Number(t.z??0)}}function Dn({layout:t="center",size:e=[100,40],offset:i=[0,0]}={}){return t==="stretch"?{scale:{x:1,y:1,z:1},rotation:{x:0,y:0,z:0},anchorMin:{x:0,y:0},anchorMax:{x:1,y:1},offset:{x:0,y:0},size:{x:0,y:0},pivot:{x:.5,y:.5}}:{scale:{x:1,y:1,z:1},rotation:{x:0,y:0,z:0},anchorMin:{x:.5,y:.5},anchorMax:{x:.5,y:.5},offset:{x:Number(i[0]??0),y:Number(i[1]??0)},size:{x:Number(e[0]??0),y:Number(e[1]??0)},pivot:{x:.5,y:.5}}}function Nt(t){let e=t||Dn();return{scale:em(e.scale),rotation:tm(e.rotation),anchorMin:Br(e.anchorMin??e.anchor_min,.5,.5),anchorMax:Br(e.anchorMax??e.anchor_max,.5,.5),offset:Br(e.offset,0,0),size:Br(e.size,0,0),pivot:Br(e.pivot,.5,.5)}}function je(t,e=0){let i=Number(t);return Number.isFinite(i)?i:e}function Vt(t,e){let i=t.width,r=t.height,n=t.left,o=t.bottom,s=e.anchorMin||{x:e.anchorMinX,y:e.anchorMinY},a=e.anchorMax||{x:e.anchorMaxX,y:e.anchorMaxY},l=e.offset||{x:e.anchoredPositionX,y:e.anchoredPositionY},u=e.size||{x:e.sizeDeltaX,y:e.sizeDeltaY},c=e.pivot||{x:e.pivotX,y:e.pivotY},f=je(s?.x,.5)*i,h=je(s?.y,.5)*r,m=je(a?.x,.5)*i,g=je(a?.y,.5)*r,v=je(u?.x),w=je(u?.y),S=je(c?.x,.5),x=je(c?.y,.5),F=m-f+v,I=g-h+w,z=n+f+je(l?.x)-v*S,$=o+h+je(l?.y)-w*x;return{left:z,bottom:$,width:F,height:I,right:z+F,top:$+I,centerX:z+F/2,centerY:$+I/2}}function nr(){return{a:1,b:0,c:0,d:1,tx:0,ty:0}}function im(t,e){return{a:t.a*e.a+t.c*e.b,b:t.b*e.a+t.d*e.b,c:t.a*e.c+t.c*e.d,d:t.b*e.c+t.d*e.d,tx:t.a*e.tx+t.c*e.ty+t.tx,ty:t.b*e.tx+t.d*e.ty+t.ty}}function tt(t,e,i){return{x:t.a*e+t.c*i+t.tx,y:t.b*e+t.d*i+t.ty}}function Ut(t){let e=t.a*t.d-t.b*t.c;return!Number.isFinite(e)||Math.abs(e)<1e-8?null:{a:t.d/e,b:-t.b/e,c:-t.c/e,d:t.a/e,tx:(t.c*t.ty-t.d*t.tx)/e,ty:(t.b*t.tx-t.a*t.ty)/e}}function ds(t,e){let i=e.rotation||{x:e.localRotationX,y:e.localRotationY,z:e.localRotationZ},r=e.scale||{x:e.localScaleX,y:e.localScaleY},n=e.pivot||{x:e.pivotX,y:e.pivotY},o=je(i?.z)*Math.PI/180,s=Math.cos(o),a=Math.sin(o),l=je(i?.x)*Math.PI/180,u=je(i?.y)*Math.PI/180,c=Math.cos(l),f=Math.sin(l),h=Math.cos(u),m=Math.sin(u),g=j=>Math.abs(j)<1e-12?0:j,v=je(r?.x,1),w=je(r?.y,1),S=t.left+t.width*je(n?.x,.5),x=t.bottom+t.height*je(n?.y,.5),F=g(h*s+m*f*a)*v,I=g(c*a)*v,z=g(-h*a+m*f*s)*w,$=g(c*s)*w;return{a:F,b:I,c:z,d:$,tx:S-F*S-z*x,ty:x-I*S-$*x}}function jr(t,e,i){return im(t||nr(),ds(e,i))}function lu(t,e){let i=tt(e,t.centerX,t.centerY),r=Math.abs(t.width*Math.hypot(e.a,e.b)),n=Math.abs(t.height*Math.hypot(e.c,e.d));return{left:i.x-r/2,bottom:i.y-n/2,width:r,height:n,centerX:i.x,centerY:i.y,rotationZ:Math.atan2(e.b,e.a)*180/Math.PI}}function Qe(t){let e=typeof t=="string"?au(t):t;return{left:0,bottom:0,width:e.width,height:e.height,right:e.width,top:e.height,centerX:e.width/2,centerY:e.height/2}}function hs(t){return{posX:t.centerX,posY:t.centerY,width:t.width,height:t.height}}function Ai(t,e,i){let r=Nt(e),n=t.width,o=t.height,s=r.anchorMin.x*n,a=r.anchorMin.y*o,l=r.anchorMax.x*n,u=r.anchorMax.y*o,c=Number(i.width),f=Number(i.height),h=Number(i.posX),m=Number(i.posY),g=h-c/2,v=m-f/2;return r.size={x:c-(l-s),y:f-(u-a)},r.offset={x:g-t.left-s+r.size.x*r.pivot.x,y:v-t.bottom-a+r.size.y*r.pivot.y},r}function uu(t,e){let i=Nt(t),n={"bottom-left":[[0,0],[0,0],[0,0]],bottom:[[.5,0],[.5,0],[.5,0]],"bottom-right":[[1,0],[1,0],[1,0]],left:[[0,.5],[0,.5],[0,.5]],center:[[.5,.5],[.5,.5],[.5,.5]],right:[[1,.5],[1,.5],[1,.5]],"top-left":[[0,1],[0,1],[0,1]],top:[[.5,1],[.5,1],[.5,1]],"top-right":[[1,1],[1,1],[1,1]],stretch:[[0,0],[1,1],[.5,.5]],"stretch-horizontal":[[0,.5],[1,.5],[.5,.5]],"stretch-vertical":[[.5,0],[.5,1],[.5,.5]]}[e];return n&&(i.anchorMin={x:n[0][0],y:n[0][1]},i.anchorMax={x:n[1][0],y:n[1][1]},i.pivot={x:n[2][0],y:n[2][1]}),i}function cu(t){let e=Nt(t),i=(r,n)=>Math.abs(r-n)<1e-4;if(i(e.anchorMin.x,0)&&i(e.anchorMin.y,0)&&i(e.anchorMax.x,1)&&i(e.anchorMax.y,1))return"stretch";if(i(e.anchorMin.x,e.anchorMax.x)&&i(e.anchorMin.y,e.anchorMax.y)){let r=e.anchorMin.x,n=e.anchorMin.y,o=[[0,0,"bottom-left"],[.5,0,"bottom"],[1,0,"bottom-right"],[0,.5,"left"],[.5,.5,"center"],[1,.5,"right"],[0,1,"top-left"],[.5,1,"top"],[1,1,"top-right"]];for(let s of o)if(i(r,s[0])&&i(n,s[1]))return s[2]}return"custom"}function Ti(t){return au(t).platform}function fu(t){let e={};for(let i of qe)e[i]=t(i);return e}var rm={scale:["x","y","z"],rotation:["x","y","z"],anchorMin:["x","y"],anchorMax:["x","y"],offset:["x","y"],size:["x","y"],pivot:["x","y"]};function du(t,e){for(let[i,r]of Object.entries(rm))for(let n of r)if(!Number.isFinite(t?.[i]?.[n]))throw new Error(`${e}.${i}.${n} must be a finite number`)}function si(t,e="transformByPlatform"){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e}: \u9700\u8981\u5B8C\u6574\u7684\u56DB\u5E73\u53F0\u5E03\u5C40`);for(let i of Object.keys(t))if(!qe.includes(i))throw new Error(`${e}: unknown platform ${i}`);for(let i of qe)du(t[i],`${e}.${i}`)}function Ri(t){if(Object.hasOwn(t,"transformByCanvas"))throw new Error(`${t.name||t.id||"\u63A7\u4EF6"}: \u4E0D\u518D\u652F\u6301 transformByCanvas\uFF1B\u8BF7\u4F7F\u7528\u56DB\u5E73\u53F0 transformByPlatform \u5E03\u5C40`);si(t.transformByPlatform,`${t.name||t.id||"\u63A7\u4EF6"}.transformByPlatform`)}function Oi(t,e){if(!qe.includes(e))throw new Error(`unknown platform ${e}`);return du(t?.[e],`transformByPlatform.${e}`),Nt(t[e])}var nm=Object.freeze([{key:"genericField501",label:"\u901A\u7528\u69FD field501",type:"number",defaultValue:0,wire:"GenericSlot.field501"},{key:"footerField505",label:"\u5C3E\u90E8\u69FD field505",type:"number",defaultValue:0,wire:"FooterSlot.field505"}]),om=Object.freeze({container:[],textbox:[{key:"textField501",label:"\u6587\u672C\u914D\u7F6E field501",type:"number",defaultValue:20,wire:"TextConfig.field501"},{key:"textField503",label:"\u6587\u672C\u914D\u7F6E field503",type:"number",defaultValue:12,wire:"TextConfig.field503"},{key:"textAlign",label:"\u6C34\u5E73\u5BF9\u9F50\u679A\u4E3E\u539F\u59CB\u503C",type:"enum",defaultValue:0,wire:"TextConfig.align",options:[{value:0,label:"0 \xB7 \u5DE6\u5BF9\u9F50"},{value:1,label:"1 \xB7 \u5C45\u4E2D"},{value:2,label:"2 \xB7 \u53F3\u5BF9\u9F50"}]}],textwindow:[{key:"textField501",label:"\u6587\u672C\u914D\u7F6E field501",type:"number",defaultValue:20,wire:"TextConfig.field501"},{key:"textField503",label:"\u6587\u672C\u914D\u7F6E field503",type:"number",defaultValue:12,wire:"TextConfig.field503"},{key:"textAlign",label:"\u6C34\u5E73\u5BF9\u9F50\u679A\u4E3E\u539F\u59CB\u503C",type:"enum",defaultValue:0,wire:"TextConfig.align",options:[{value:0,label:"0 \xB7 \u5DE6\u5BF9\u9F50"},{value:1,label:"1 \xB7 \u5C45\u4E2D"},{value:2,label:"2 \xB7 \u53F3\u5BF9\u9F50"}]},{key:"textField511",label:"\u6587\u672C\u89C6\u7A97 field511",type:"number",defaultValue:1,wire:"TextConfig.field511"},{key:"textViewField502",label:"\u89C6\u7A97\u6807\u8BB0 field502",type:"number",defaultValue:1,wire:"TextConfig.viewFlags.field502"},{key:"textViewField503",label:"\u89C6\u7A97\u6807\u8BB0 field503",type:"number",defaultValue:1,wire:"TextConfig.viewFlags.field503"}],cursor:[{key:"cursorField501",label:"\u5149\u6807\u68C0\u6D4B field501",type:"number",defaultValue:1,wire:"CursorConfig.field501"}],reference:[{key:"templateRefSlot",label:"\u6A21\u677F\u5F15\u7528\u69FD\u539F\u59CB\u503C",type:"string",defaultValue:"",wire:"Details.templateRefSlot"}],grid:[{key:"gridField501",label:"\u7F51\u683C\u6807\u8BB0 field501",type:"number",defaultValue:1,wire:"GridViewConfig.field501"},{key:"gridField507",label:"\u7F51\u683C\u6807\u8BB0 field507",type:"number",defaultValue:1,wire:"GridViewConfig.field507"},{key:"gridField508",label:"\u7F51\u683C\u6807\u8BB0 field508",type:"number",defaultValue:1,wire:"GridViewConfig.field508"},{key:"gridField509",label:"\u7F51\u683C\u6807\u8BB0 field509",type:"number",defaultValue:1,wire:"GridViewConfig.field509"},{key:"gridField511",label:"\u7F51\u683C\u6807\u8BB0 field511",type:"number",defaultValue:5,wire:"GridViewConfig.field511"},{key:"gridField512",label:"\u7F51\u683C\u6807\u8BB0 field512",type:"number",defaultValue:1,wire:"GridViewConfig.field512"}],keyhint:[{key:"keyHintField501",label:"\u6309\u952E\u63D0\u793A field501",type:"number",defaultValue:1,wire:"KeyHintConfig.field501"},{key:"keyHintField502",label:"\u952E\u9F20\u952E\u4F4D\u539F\u59CB\u503C",type:"number",defaultValue:1,wire:"KeyHintConfig.field502"}],image:[{key:"imageSlotType",label:"\u56FE\u7247\u7C7B\u578B\u539F\u59CB\u503C",type:"number",defaultValue:0,wire:"ImageSlotConfig.imageType"},{key:"imageField502",label:"\u56FE\u7247\u6807\u8BB0 field502",type:"number",defaultValue:1,wire:"ImageConfig.field502"},{key:"imageField504",label:"\u56FE\u7247\u6807\u8BB0 field504",type:"number",defaultValue:1,wire:"ImageConfig.field504"},{key:"imageField505",label:"\u56FE\u7247\u6807\u8BB0 field505",type:"number",defaultValue:1,wire:"ImageConfig.field505"},{key:"imageField507",label:"\u56FE\u7247\u6807\u8BB0 field507",type:"number",defaultValue:2,wire:"ImageConfig.field507"},{key:"imageFillType",label:"\u586B\u5145\u5F62\u72B6\u679A\u4E3E\u539F\u59CB\u503C",type:"enum",defaultValue:1,wire:"ImageConfig.fillType",options:[{value:1,label:"1 \xB7 \u6A2A\u5411"},{value:2,label:"2 \xB7 \u7EB5\u5411"},{value:3,label:"3 \xB7 90\u5EA6\u73AF\u7ED5"},{value:4,label:"4 \xB7 180\u5EA6\u73AF\u7ED5"},{value:5,label:"5 \xB7 360\u5EA6\u73AF\u7ED5"}]}],animation:[{key:"effectSlot",label:"\u754C\u9762\u52A8\u6548\u69FD\u539F\u59CB\u503C",type:"string",defaultValue:"",wire:"Details.effectSlot"}],fullscreen:[{key:"fullscreenEffectSlot",label:"\u5168\u5C4F\u52A8\u6548\u69FD\u539F\u59CB\u503C",type:"string",defaultValue:"",wire:"Details.fullscreenEffectSlot"}]});function hu(t){return[...nm,...om[t]||[]]}function pu(t,e){return hu(t).find(i=>i.key===e)||null}function ps(t,e){if(!t)throw new Error("unknown raw GIA field");if(t.type==="string")return String(e??"");let i=Number(e);if(!Number.isFinite(i))throw new Error(`${t.wire} must be a finite number`);return Math.trunc(i)}function mu(t,e={}){let i={};for(let r of hu(t)){let n=Object.hasOwn(e||{},r.key)?e[r.key]:r.defaultValue;i[r.key]=ps(r,n)}if(t==="reference")for(let r of["templateRefSlotBase64","templateRefOuterBase64"]){if(!Object.hasOwn(e||{},r))continue;let n=e[r];if(typeof n!="string"||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(n))throw new Error(`${r} must be base64`);n&&(i[r]=n)}return i}function ct(t){let e=Number(t);return Number.isSafeInteger(e)&&e>=1073741824&&e<=1077936127}function Ht(t){let e=Number(t);return Number.isSafeInteger(e)&&e>0&&e<=2147483647}function ms(t,e){if(Ht(t)&&!ct(t))throw new Error(`${e||"\u8D44\u4EA7"}: \u7D22\u5F15 ${t} \u8D85\u51FA 1073741824\u20131077936127\uFF1B\u8BF7\u5148\u6821\u51C6\u7D22\u5F15\u5E76\u6838\u5BF9 Lua \u5F15\u7528\uFF0C\u5BFC\u51FA\u4E0D\u4F1A\u81EA\u52A8\u91CD\u7F16\u53F7\u3002`)}function gs(t,e){if(t){e(t);for(let i of t.children||[])gs(i,e)}}function or(t,e=new Set,{skipServerContainer:i=!1}={}){return gs(t,r=>{i&&r.kind==="server-container"||ct(r.guid)&&e.add(Number(r.guid))}),e}function ai(t,e=1073741850){let i=Number.isSafeInteger(e)&&e>0?e:1073741850;i<1073741850&&(i=1073741850);for(let r of t)ct(r)&&r>=i&&(i=Number(r)+1);for(;t.has(i);)i+=1;if(i>1077936127)throw new Error("GUID space exhausted");return i}function gu(t,e=new Set,{skipServerContainer:i=!1}={}){let r=[];gs(t,n=>{if(i&&n.kind==="server-container")return;let o=Number(n.guid);if(ct(o)&&!e.has(o)){e.add(o),n.guid=o;return}r.push(n)});for(let n of r){let o=ai(e);n.guid=o,e.add(o)}return e}function ft(t){return Number.isSafeInteger(t)&&t>0&&t<=2147483647}function Yt(t,{warnings:e=[]}={}){if(t.meta?.assetType!=="client-control-template")return;if(t.meta.giaAssetIndexSchemaVersion>1)throw new Error(`\u4E0D\u652F\u6301\u5BA2\u6237\u7AEF\u8D44\u4EA7\u7F16\u53F7\u7248\u672C ${t.meta.giaAssetIndexSchemaVersion}`);let i=[],r=g=>{g.kind!=="server-container"&&i.push(g);for(let v of g.children||[])r(v)};r(t.root);let n=new Map,o=new Map;for(let g of i){if(!ft(g.giaInfoIndex))continue;let v=n.get(g.giaInfoIndex)||[];v.push(g),n.set(g.giaInfoIndex,v);let w=o.get(g.kind)||new Set;w.add(g.giaInfoIndex),o.set(g.kind,w)}let s=(t.root.children||[]).filter(g=>g.kind!=="server-container"),a=new Set(s),l=s.some((g,v)=>ft(g.giaInfoIndex)&&s.slice(0,v).some(w=>w.giaInfoIndex===g.giaInfoIndex)),u=!t.meta.giaAssetIndexSchemaVersion&&l&&i.every(g=>g.giaInfoIndexSource!=="authoring")&&[...o.values()].every(g=>g.size===1)&&[...n.values()].every(g=>g.every(v=>v.kind===g[0].kind)),c=new Set;if(u)for(let g of n.values()){let v=g.find(w=>a.has(w))||g[0];for(let w of g)w!==v&&c.add(w)}let f=new Map,h=Number.isSafeInteger(t.meta.giaNextAssetIndex)&&t.meta.giaNextAssetIndex>=2?t.meta.giaNextAssetIndex:2;for(let g of i){if(!ft(g.giaInfoIndex)||(h=Math.max(h,g.giaInfoIndex+1),c.has(g)))continue;let v=f.get(g.giaInfoIndex);if(v&&(v.giaInfoIndexSource==="authoring"||g.giaInfoIndexSource==="authoring"))throw new Error(`\u65B0\u5EFA\u8D44\u4EA7\u7F16\u53F7 ${g.giaInfoIndex} \u91CD\u590D\uFF1A${v.name} / ${g.name}`);f.set(g.giaInfoIndex,g)}u&&(h=Math.max(h,13));let m=u?[...s,...i.filter(g=>!a.has(g))].filter(g=>c.has(g)||!ft(g.giaInfoIndex)):i.filter(g=>!ft(g.giaInfoIndex));if(m.length&&h+m.length-1>2147483647)throw new Error("\u5BA2\u6237\u7AEF\u8D44\u4EA7\u7F16\u53F7\u7A7A\u95F4\u5DF2\u8017\u5C3D");for(let g of m)g.giaInfoIndex=h++,g.giaInfoIndexSource="authoring";t.meta.giaNextAssetIndex=h,t.meta.giaAssetIndexSchemaVersion=1,c.size&&e.push(`\u65E7\u5BA2\u6237\u7AEF\u8D44\u4EA7\u7F16\u53F7\u81EA\u52A8\u8FC1\u79FB\uFF1A\u4FEE\u590D ${c.size} \u6761\u6309\u63A7\u4EF6\u7C7B\u578B\u590D\u7528\u7684\u7F16\u53F7\uFF1BGUID\u3001Lua \u5F15\u7528\u548C\u63A7\u4EF6\u5C5E\u6027\u4FDD\u6301\u4E0D\u53D8\u3002`)}var ys=1;function vs(t="n"){let e=`${t}${ys}`;return ys+=1,e}function zn(t=1){ys=t}function bs(t,{isRootContainer:e=!1}={}){if(t==="server-container"||t==="fullscreen"||t==="container"&&e)return Dn({layout:"stretch"});let i=nu[t]||[80,80];return Dn({layout:"center",size:i})}function sm(t,e){return fu(()=>bs(t,e))}function am(t){si(t);let e={};for(let i of qe)e[i]=Oi(t,i);return e}function we(t,e={}){if(!tr[t])throw new Error(`unknown kind: ${t}`);Object.hasOwn(e,"transformByCanvas")&&Ri(e);let i=e.isRootContainer===!0,r=e.id||vs(t==="server-container"?"sc":"n"),n=Object.hasOwn(e,"transformByPlatform")?am(e.transformByPlatform):sm(t,{isRootContainer:i}),o={id:r,kind:t,name:e.name||tr[t],guid:e.guid??0,giaRelatedGuids:Array.isArray(e.giaRelatedGuids)?e.giaRelatedGuids.filter(s=>Number.isSafeInteger(Number(s))&&Number(s)>0).map(Number):[],...ft(Number(e.giaInfoIndex))?{giaInfoIndex:Number(e.giaInfoIndex),giaInfoIndexSource:e.giaInfoIndexSource==="authoring"?"authoring":"imported"}:{},active:e.active!==!1,visible:e.visible!==!1,canControllerFocus:e.canControllerFocus??e.giaRaw?.footerField505===1,syncAllDevices:e.syncAllDevices!==!1,giaRaw:mu(t,e.giaRaw),transformByPlatform:n,children:[],scriptMappingIds:Array.isArray(e.scriptMappingIds)?e.scriptMappingIds.filter(s=>Number.isSafeInteger(Number(s))&&Number(s)>0).map(Number):[]};if(t==="container"&&(o.isolateNavigation=e.isolateNavigation===!0,o.disableKeyEventPassthrough=e.disableKeyEventPassthrough===!0,o.disableCursorEventPassthrough=e.disableCursorEventPassthrough===!0,o.showCursor=e.showCursor===!0),(t==="textbox"||t==="textwindow")&&(o.fontSize=e.fontSize??20,o.adaptiveFontSize=e.adaptiveFontSize===!0,o.minimumFontSize=e.minimumFontSize??20,o.fontColor=e.fontColor??qr.font,o.bgColor=e.bgColor??qr.bg,o.enableOutline=e.enableOutline!==!1,o.outlineColor=e.outlineColor??qr.outline,o.horizontalAlignment=e.horizontalAlignment||"Left",o.verticalAlignment=e.verticalAlignment||"Top",Number.isInteger(e.giaRaw?.textVerticalAlign)&&![0,1,2].includes(e.giaRaw.textVerticalAlign)&&(o.giaRaw.textVerticalAlign=e.giaRaw.textVerticalAlign),o.text=e.text??"",Object.hasOwn(e.giaRaw||{},"textAlign")||(o.giaRaw.textAlign={Left:0,Middle:1,Right:2}[o.horizontalAlignment]??o.giaRaw.textAlign),t==="textwindow"&&(o.interactable=e.interactable!==!1,o.showScrollBar=e.showScrollBar!==!1)),t==="image"&&(o.imageSource=e.imageSource||"StaticReference",o.imageType=["Basic","Stretch"].includes(e.imageType)?e.imageType:null,o.imageId=e.imageId??100001,o.imageColor=e.imageColor??qr.image,o.enableMask=e.enableMask===!0,o.enableSoftEdge=e.enableSoftEdge===!0,o.softEdgeMode=e.softEdgeMode||"Percentage",o.softEdgeWidthX=e.softEdgeWidthX??8,o.softEdgeWidthY=e.softEdgeWidthY??8,o.horizontalSoftRange=e.horizontalSoftRange??85,o.verticalSoftRange=e.verticalSoftRange??85,o.enableFill=e.enableFill===!0,o.fillType=e.fillType||"Horizontal",o.fillHorizontalType=e.fillHorizontalType||"Left",o.fillVerticalType=e.fillVerticalType||"Bottom",o.fillRadial90Type=e.fillRadial90Type||"BottomLeft",o.fillRadialType=e.fillRadialType||"Bottom",o.fillAmount=e.fillAmount??1,o.reverseMaskArea=e.reverseMaskArea===!0||e.reverseMask===!0,Object.hasOwn(e.giaRaw||{},"imageFillType")||(o.giaRaw.imageFillType={Horizontal:1,Vertical:2,Radial90:3,Radial180:4,Radial360:5}[o.fillType]??o.giaRaw.imageFillType)),t==="button"&&(o.raycastTarget=e.raycastTarget!==!1,o.interactable=e.interactable!==!1,o.clickAudioId=e.clickAudioId??ou,o.unavailableChildId=e.unavailableChildId??null,o.hoverChildId=e.hoverChildId??null,o.pressedChildId=e.pressedChildId??null,o.selectedChildId=e.selectedChildId??null),t==="cursor"&&(o.raycastTarget=e.raycastTarget??e.giaRaw?.cursorField501!==0),t==="reference"&&(o.referencedPrefabId=e.referencedPrefabId??e.giaRaw?.templateRefSlot??null,Object.hasOwn(e.giaRaw||{},"templateRefSlot")||(o.giaRaw.templateRefSlot=String(o.referencedPrefabId??""))),t==="grid"&&(o.itemPrefabId=e.itemPrefabId??null,o.raycastTarget=e.raycastTarget!==!1,o.interactable=e.interactable!==!1,o.showScrollBar=e.showScrollBar!==!1,o.scrollDirection=e.scrollDirection||"Vertical",o.layoutConstraint=e.layoutConstraint||"AutoWrap",o.layoutConstraintFixedCount=e.layoutConstraintFixedCount??null,o.cellSizeX=e.cellSizeX??50,o.cellSizeY=e.cellSizeY??50,o.spacingX=e.spacingX??8,o.spacingY=e.spacingY??8,o.padding1X=e.padding1X??20,o.padding1Y=e.padding1Y??20,o.padding2X=e.padding2X??20,o.padding2Y=e.padding2Y??20,o.previewCount=e.previewCount??e.giaRaw?.gridField511??5,Object.hasOwn(e.giaRaw||{},"gridField511")||(o.giaRaw.gridField511=Math.trunc(o.previewCount))),t==="keyhint"&&(o.keyboardKeyCode=e.keyboardKeyCode??e.giaRaw?.keyHintField502??null,o.controllerKeyCode=e.controllerKeyCode??e.giaRaw?.keyHintField501??null,Object.hasOwn(e.giaRaw||{},"keyHintField502")||(o.giaRaw.keyHintField502=Math.trunc(o.keyboardKeyCode??1)),Object.hasOwn(e.giaRaw||{},"keyHintField501")||(o.giaRaw.keyHintField501=Math.trunc(o.controllerKeyCode??1))),t==="animation"||t==="fullscreen"){let s=t==="animation"?e.giaRaw?.effectSlot:e.giaRaw?.fullscreenEffectSlot;o.animationId=e.animationId??s??null,o.playSoundEffect=e.playSoundEffect??null,t==="animation"&&(o.layer=e.layer??null);let a=t==="animation"?"effectSlot":"fullscreenEffectSlot";Object.hasOwn(e.giaRaw||{},a)||(o.giaRaw[a]=String(o.animationId??""))}if(e.children)for(let s of e.children)o.children.push(s);return o}function Ni(){zn(1);let t=we("server-container",{id:"sc1",name:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u5BB9\u5668"}),e=we("container",{id:"n1",name:"\u5BB9\u5668\u8282\u70B9",isRootContainer:!0}),i=we("textbox",{id:"n2",name:"\u6587\u672C\u6846",text:"\u6587\u672C"}),r=we("cursor",{id:"n3",name:"\u5149\u6807\u68C0\u6D4B\u533A\u57DF"}),n=we("reference",{id:"n4",name:"\u6A21\u677F\u5F15\u7528\u63A7\u4EF6"}),o=we("grid",{id:"n5",name:"\u7F51\u683C\u89C6\u7A97"}),s=we("button",{id:"n6",name:"\u9884\u8BBE\u6309\u94AE"}),a=we("textwindow",{id:"n7",name:"\u6587\u672C\u89C6\u7A97"}),l=we("keyhint",{id:"n8",name:"\u6309\u952E\u63D0\u793A"}),u=we("image",{id:"n9",name:"\u56FE\u7247",imageId:100005}),c=we("animation",{id:"n10",name:"\u754C\u9762\u52A8\u6548"}),f=we("fullscreen",{id:"n11",name:"\u5168\u5C4F\u52A8\u6548"}),h=(m,g,v)=>{for(let w of Object.values(m.transformByPlatform))w.offset={x:g,y:v}};return h(i,-300,250),h(r,-300,140),h(n,-300,30),h(o,-300,-100),h(s,0,0),h(a,300,250),h(l,300,140),h(u,300,30),h(c,300,-100),e.children.push(i,r,n,o,s,a,l,u,c,f),t.children.push(e),zn(12),gu(t),{version:1,layoutSchemaVersion:Ze,meta:{name:"\u672A\u547D\u540D\u754C\u9762\u63A7\u4EF6\u7EC4",assetType:"server-control-template",sourceFormat:"authoring",sourceFile:""},canvasId:"pc-16-9",selectedId:"n2",root:t}}function sr(){zn(1);let t=we("server-container",{id:"sc1",name:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F"}),e=we("container",{id:"n1",guid:1073742100,name:"Lua\u5B9E\u4F8B\u5316\u9762\u677F"}),i=we("textbox",{id:"n2",guid:1073742101,name:"\u6A21\u677F\u6807\u9898",text:"\u5BA2\u6237\u7AEF\u6A21\u677F\u5DF2\u5B9E\u4F8B\u5316",fontSize:28,horizontalAlignment:"Middle"}),r=we("image",{id:"n3",guid:1073742102,name:"\u6A21\u677F\u56FE\u6807",imageId:100005}),n=we("button",{id:"n4",guid:1073742103,name:"\u786E\u8BA4\u6309\u94AE"}),o=we("textbox",{id:"n5",guid:1073742104,name:"\u6309\u94AE\u6587\u5B57",text:"\u786E\u8BA4",horizontalAlignment:"Middle",verticalAlignment:"Top"}),s=(u,c,f)=>{for(let h of Object.values(u.transformByPlatform))h.offset={x:c,y:f}};((u,c,f)=>{for(let h of Object.values(u.transformByPlatform))h.size={x:c,y:f}})(e,520,320),s(i,0,110),s(r,0,0),s(n,0,-110),n.children.push(o),e.children.push(i,r,n),t.children.push(e),zn(6);let l={version:1,layoutSchemaVersion:Ze,meta:{name:"Lua\u5B9E\u4F8B\u5316\u9762\u677F",assetType:"client-control-template",sourceFormat:"authoring",sourceFile:"",gameVersion:Pn,giaOwnerUid:114514,giaFileId:1073741829,giaFileName:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868.gia"},canvasId:"pc-16-9",selectedId:"n1",root:t};return Yt(l),l}function Ae(t,e,i=null){e(t,i);for(let r of t.children||[])Ae(r,e,t)}function Ve(t,e){let i=null;return Ae(t,r=>{r.id===e&&(i=r)}),i}function ws(t,e="n"){let i=vs(e);for(;Ve(t,i);)i=vs(e);return i}function li(t,e){let i=null;return Ae(t,(r,n)=>{r.id===e&&(i=n)}),i}function Ss(t){let e=t.root||t;return e.kind==="container"?e:(e.children||[]).find(i=>i.kind==="container")||(e.children||[])[0]||e}function Vr(t){if(t.meta?.assetType!=="client-control-template")return Ss(t);let e=Ve(t.root,t.selectedId);if(!e||e.kind==="server-container")return t.root.children?.[0]||t.root;let i=li(t.root,e.id);for(;i&&i.kind!=="server-container";)e=i,i=li(t.root,e.id);return e}function xs(t){Ri(t);let e={id:t.id,name:t.name,guid:t.guid,giaRelatedGuids:t.giaRelatedGuids,giaInfoIndex:t.giaInfoIndex,giaInfoIndexSource:t.giaInfoIndexSource,scriptMappingIds:t.scriptMappingIds,giaRaw:t.giaRaw,active:t.active,visible:t.visible,canControllerFocus:t.canControllerFocus,syncAllDevices:t.syncAllDevices,transformByPlatform:t.transformByPlatform};t.kind==="container"&&(e.isolateNavigation=t.isolateNavigation,e.disableKeyEventPassthrough=t.disableKeyEventPassthrough,e.disableCursorEventPassthrough=t.disableCursorEventPassthrough,e.showCursor=t.showCursor),(t.kind==="textbox"||t.kind==="textwindow")&&(e.fontSize=t.fontSize,e.adaptiveFontSize=t.adaptiveFontSize,e.minimumFontSize=t.minimumFontSize,e.fontColor=t.fontColor,e.bgColor=t.bgColor,e.enableOutline=t.enableOutline,e.outlineColor=t.outlineColor,e.horizontalAlignment=t.horizontalAlignment,e.verticalAlignment=t.verticalAlignment,e.text=t.text??"",t.kind==="textwindow"&&(e.interactable=t.interactable,e.showScrollBar=t.showScrollBar)),t.kind==="image"&&(e.imageSource=t.imageSource,e.imageType=t.imageType,e.imageId=t.imageId,e.imageColor=t.imageColor,e.enableMask=t.enableMask,e.enableSoftEdge=t.enableSoftEdge,e.softEdgeMode=t.softEdgeMode,e.softEdgeWidthX=t.softEdgeWidthX,e.softEdgeWidthY=t.softEdgeWidthY,e.horizontalSoftRange=t.horizontalSoftRange,e.verticalSoftRange=t.verticalSoftRange,e.enableFill=t.enableFill,e.fillType=t.fillType,e.fillHorizontalType=t.fillHorizontalType,e.fillVerticalType=t.fillVerticalType,e.fillRadial90Type=t.fillRadial90Type,e.fillRadialType=t.fillRadialType,e.fillAmount=t.fillAmount,e.reverseMaskArea=t.reverseMaskArea??t.reverseMask),t.kind==="button"&&(e.raycastTarget=t.raycastTarget,e.interactable=t.interactable,e.clickAudioId=t.clickAudioId,e.unavailableChildId=t.unavailableChildId??null,e.hoverChildId=t.hoverChildId??null,e.pressedChildId=t.pressedChildId??null,e.selectedChildId=t.selectedChildId??null),t.kind==="cursor"&&(e.raycastTarget=t.raycastTarget),t.kind==="reference"&&(e.referencedPrefabId=t.referencedPrefabId??null),t.kind==="grid"&&(e.itemPrefabId=t.itemPrefabId??null,e.raycastTarget=t.raycastTarget,e.interactable=t.interactable,e.showScrollBar=t.showScrollBar,e.scrollDirection=t.scrollDirection,e.layoutConstraint=t.layoutConstraint,e.layoutConstraintFixedCount=t.layoutConstraintFixedCount??null,e.cellSizeX=t.cellSizeX,e.cellSizeY=t.cellSizeY,e.spacingX=t.spacingX,e.spacingY=t.spacingY,e.padding1X=t.padding1X,e.padding1Y=t.padding1Y,e.padding2X=t.padding2X,e.padding2Y=t.padding2Y,e.previewCount=t.previewCount),t.kind==="keyhint"&&(e.keyboardKeyCode=t.keyboardKeyCode??null,e.controllerKeyCode=t.controllerKeyCode??null),(t.kind==="animation"||t.kind==="fullscreen")&&(e.animationId=t.animationId??null,e.playSoundEffect=t.playSoundEffect??null,t.kind==="animation"&&(e.layer=t.layer??null)),e.isRootContainer=t.kind==="container"&&lm(t.transformByPlatform);let i=we(t.kind,e);return i.children=(t.children||[]).map(r=>xs(r)),i}function lm(t){let e=t&&(t.KEYBOARD||Object.values(t)[0]);return e?Math.abs(e.anchorMin?.x??.5)<1e-4&&Math.abs(e.anchorMin?.y??.5)<1e-4&&Math.abs((e.anchorMax?.x??.5)-1)<1e-4&&Math.abs((e.anchorMax?.y??.5)-1)<1e-4:!1}function yu(t,e,i={}){if(t.kind==="server-container"&&e!=="container")throw new Error("server container only accepts container nodes");let r=we(e,i);return t.children.push(r),r}function vu(t,e){if(t.id===e)throw new Error("cannot remove root");let i=li(t,e);if(!i)return!1;let r=i.children.findIndex(n=>n.id===e);return r<0?!1:(i.children.splice(r,1),!0)}var bu=1e-4;function um(t,e){return Math.abs(t.anchorMax[e]-t.anchorMin[e])>bu&&Math.abs(t.size[e])<=bu}function cm(t,e,i){if(!(e.width>0)||!(e.height>0))throw new Error("source parent must have positive size");if(!(i.width>0)||!(i.height>0))throw new Error("target parent must have positive size");let r=Vt(e,t),n=(r.centerX-e.left)/e.width,o=(r.centerY-e.bottom)/e.height,s=Ai(i,t,{posX:i.left+n*i.width,posY:i.bottom+o*i.height,width:r.width,height:r.height});for(let a of["x","y"])um(t,a)&&(s.offset[a]=t.offset[a],s.size[a]=t.size[a]);return s}function wu({transformByPlatform:t,source:e,canvasId:i,syncAllDevices:r,sourceParentBox:n=Qe(i),targetParentBoxByPlatform:o={}}){si(t);let s=Ti(i),a={};for(let l of qe)l===s?a[l]=Nt(e):r!==!1?a[l]=cm(e,n,o[l]||Qe(er[l])):a[l]=Oi(t,l);return si(a),a}function ui(t,e){return Oi(t,Ti(e))}import{createCanvas as Rm}from"@napi-rs/canvas";import{existsSync as bm,openSync as wm,closeSync as Sm,fstatSync as xm,readFileSync as Im}from"node:fs";import{extname as _m,isAbsolute as Em}from"node:path";import{createHash as Cm}from"node:crypto";import{workerData as Gn}from"node:worker_threads";import{GlobalFonts as _u}from"@napi-rs/canvas";var Ur='"Microsoft YaHei UI","Microsoft YaHei","HarmonyOS Sans SC","Noto Sans CJK SC",sans-serif',ar="/qxqy-font";var Is=t=>`QxqyLocal_${t}`,Su=t=>t?`"${Is(t)}",${Ur}`:Ur;import{existsSync as fm,mkdirSync as dm,readFileSync as hm,renameSync as pm,rmSync as mm,writeFileSync as gm}from"node:fs";import{randomUUID as ym}from"node:crypto";import{homedir as _s}from"node:os";import{dirname as vm,join as $n,win32 as Ln}from"node:path";function Es(t=process.platform,e=process.env){if(t!=="win32")return[];let i=e.SystemDrive||"C:",r=e.ProgramFiles||`${i}\\Program Files`,n="YuanShen_Data\\StreamingAssets\\MiHoYoSDKRes\\HttpServerResources\\font\\zh-cn.ttf";return[...new Set([Ln.join(r,"Genshin Impact","Genshin Impact Game",n),Ln.join(i+"\\","Mihoyo","Genshin Impact","Genshin Impact Game",n),Ln.join(r,"HoYoPlay","games","Genshin Impact game",n),Ln.join(r,"miHoYo Launcher","games","Genshin Impact Game",n)])]}function xu(){if(process.env.QXQY_FONT_CONFIG_PATH)return process.env.QXQY_FONT_CONFIG_PATH;let t=process.platform==="win32"?process.env.APPDATA||$n(_s(),"AppData","Roaming"):process.platform==="darwin"?$n(_s(),"Library","Application Support"):process.env.XDG_CONFIG_HOME||$n(_s(),".config");return $n(t,"beyond-simulator","font.json")}function Cs(t){if(!t||!["auto","custom","system"].includes(t.mode))throw new Error("\u8BF7\u9009\u62E9\u81EA\u52A8\u67E5\u627E\u3001\u6307\u5B9A\u6587\u4EF6\u6216\u7CFB\u7EDF\u5B57\u4F53");let e=t.scope===void 0?"all":t.scope;if(!["game","all"].includes(e))throw new Error("\u8BF7\u9009\u62E9\u5B57\u4F53\u5E94\u7528\u8303\u56F4");let i=typeof t.path=="string"?t.path.trim():"";if(i.length>4096)throw new Error("\u5B57\u4F53\u8DEF\u5F84\u8FC7\u957F");if((i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1)),t.mode==="custom"&&!i)throw new Error("\u8BF7\u586B\u5199\u5B57\u4F53\u6587\u4EF6\u7684\u7EDD\u5BF9\u8DEF\u5F84");return{mode:t.mode,path:t.mode==="custom"?i:"",scope:e}}function ks(t=xu()){if(!fm(t))return{mode:"auto",path:"",scope:"all"};try{return Cs(JSON.parse(hm(t,"utf8")))}catch{throw new Error("\u672C\u673A\u5B57\u4F53\u8BBE\u7F6E\u65E0\u6CD5\u8BFB\u53D6\uFF0C\u8BF7\u5728\u300C\u5B57\u4F53\u8BBE\u7F6E\u300D\u4E2D\u91CD\u65B0\u4FDD\u5B58")}}function Iu(t,e=xu()){let i=`${e}.${ym()}.tmp`;try{dm(vm(e),{recursive:!0}),gm(i,JSON.stringify(t,null,2)+`
|
|
12
|
-
`,{flag:"wx",mode:384}),
|
|
13
|
-
`),i=[],
|
|
14
|
-
`){f();continue}let
|
|
15
|
-
`),
|
|
16
|
-
`)){let
|
|
17
|
-
`)))for(let w=0;w<m.lines.length;w++){let S=m.richLines?.[w],x=S?S.top+S.height:(w+1)*m.lineHeight;if(x+m.blockInset>i+1e-6)break;g=w+1,v=x}return m={...m,visibleLineCount:g,visibleContentHeight:v},Mu.set(t,{key:l,value:m}),m}var jn=t=>Number.isFinite(Number(t))?Math.max(0,Number(t)):0;function cr(t,e){if(!t||t.kind!=="image"||t.enableMask!==!0||!e)return null;let i=jn(t.sourceWidth??t.width),r=jn(t.sourceHeight??t.height),n=t.enableSoftEdge===!0,o=t.softEdgeMode!=="Pixel",s=n?jn(t.softEdgeWidthX):0,a=n?jn(t.softEdgeWidthY):0;return{id:t.id,matrix:e,width:i,height:r,featherX:o?i*s/100:s,featherY:o?r*a/100:a}}function Vn(t,e,i){let r=tt(t,e,i);return{a:t.a,b:t.b,c:t.c,d:t.d,tx:r.x,ty:r.y}}function Du(t,e,i){let r=(n,o)=>n<=0?0:!(o>0)||n>=o?1:n/o;return Math.min(r(t+i.width/2,i.featherX),r(i.width/2-t,i.featherX),r(e+i.height/2,i.featherY),r(i.height/2-e,i.featherY))}function Ns(t){let e={children:[]},i=[e],r=[];for(let n of t||[]){if(!n||n.id==null)continue;let o=n.masks||[],s=o.map(l=>JSON.stringify([l.id,l.matrix,l.width,l.height,l.featherX,l.featherY])),a=0;for(;a<r.length&&a<s.length&&r[a]===s[a];)a++;i.length=a+1;for(let l=a;l<o.length;l++){let u={mask:o[l],children:[]};i.at(-1).children.push(u),i.push(u)}i.at(-1).children.push({item:n}),r=s}return e.children}function zu(t,e){let i=[];function r(n){e[n.id]&&i.push(e[n.id]);let o=n.children||[];for(let s=o.length-1;s>=0;s-=1)r(o[s])}return r(t),i}function ci(t,e,i=Ti(e)){let r=Qe(e),n={};function o(s,a,l,u=!0,c=[]){let f=Oi(s.transformByPlatform,i),h=Vt(a,f),m=s.kind==="server-container"?l:jr(l,h,f),g=lu(h,m),v=u&&s.visible!==!1,w=s.kind==="image"&&s.enableMask===!0?cr({...s,width:h.width,height:h.height},Vn(m,h.centerX,h.centerY)):null,S=w?[...c,w]:c;n[s.id]={...h,...hs(h),id:s.id,kind:s.kind,name:s.name,visible:s.visible!==!1,visibleInHierarchy:v,active:s.active!==!1,rotationX:f.rotation.x,rotationY:f.rotation.y,rotationZ:f.rotation.z,renderLeft:g.left,renderBottom:g.bottom,renderWidth:g.width,renderHeight:g.height,renderRotationZ:g.rotationZ,renderMatrix:m,...S.length?{masks:S}:{},primitive:s.kind==="image"?ir(s.imageId,s.imageSource):null,...s.kind==="textbox"||s.kind==="textwindow"?{text:s.text??"",fontSize:s.fontSize,adaptiveFontSize:s.adaptiveFontSize===!0,minimumFontSize:s.minimumFontSize,textLayout:Wt(s,h.width,h.height),fontColor:s.fontColor,bgColor:s.bgColor,enableOutline:s.enableOutline!==!1,outlineColor:s.outlineColor,horizontalAlignment:s.horizontalAlignment,verticalAlignment:s.verticalAlignment}:{},...s.kind==="image"?{imageSource:s.imageSource,imageType:s.imageType??null,imageId:s.imageId,imageColor:s.imageColor,enableMask:s.enableMask===!0,enableSoftEdge:s.enableSoftEdge===!0,softEdgeMode:s.softEdgeMode,softEdgeWidthX:s.softEdgeWidthX,softEdgeWidthY:s.softEdgeWidthY,horizontalSoftRange:s.horizontalSoftRange,verticalSoftRange:s.verticalSoftRange,enableFill:s.enableFill===!0,fillType:s.fillType,fillHorizontalType:s.fillHorizontalType,fillVerticalType:s.fillVerticalType,fillRadial90Type:s.fillRadial90Type,fillRadialType:s.fillRadialType,fillAmount:s.fillAmount,reverseMaskArea:s.reverseMaskArea===!0}:{},...s.kind==="button"?{raycastTarget:s.raycastTarget!==!1,interactable:s.interactable!==!1,clickAudioId:s.clickAudioId,unavailableChildId:s.unavailableChildId??null,hoverChildId:s.hoverChildId??null,pressedChildId:s.pressedChildId??null,selectedChildId:s.selectedChildId??null}:{}};let x=s.kind==="server-container"?a:h;for(let F of s.children||[])o(F,x,m,v,S)}return o(t,r,nr()),{canvas:r,boxes:n}}function Ps(t,e){let i=[];function r(n,o,s=null,a=[],l=0,u=1,c=t.id){i.push({id:n.id,guid:e?.get(n.id)??(n.guid||0),kind:n.kind,name:n.name,label:tr[n.kind]||n.kind,depth:o,parentId:s,ancestorIds:a,siblingIndex:l,siblingCount:u,templateId:c,childCount:(n.children||[]).length,incomplete:!Fn.includes(n.kind)});let f=n.children||[];for(let h=0;h<f.length;h+=1)r(f[h],o+1,n.id,[...a,n.id],h,f.length,c)}return r(t,0),i}function L(t,e,i,r,n={}){return{key:t,label:e,type:i,value:r,...n}}function $u(t,e,i,r){if(!t)return null;let n=ui(t.transformByPlatform,e),o=hs(i),s=[L("name","\u540D\u79F0","string",t.name),L("active","\u521D\u59CB\u6FC0\u6D3B","bool",t.active!==!1),L("visible","\u521D\u59CB\u53EF\u89C1\u6027","bool",t.visible!==!1),L("canControllerFocus","\u53EF\u88AB\u624B\u67C4\u6447\u6746\u5BFC\u822A\u9009\u4E2D","bool",t.canControllerFocus===!0),L("posX","\u4F4D\u7F6E X","number",o.posX,{computed:!0}),L("posY","\u4F4D\u7F6E Y","number",o.posY,{computed:!0}),L("width","\u5927\u5C0F W","number",o.width,{computed:!0}),L("height","\u5927\u5C0F H","number",o.height,{computed:!0}),L("rotationX","\u65CB\u8F6C X","number",n.rotation.x),L("rotationY","\u65CB\u8F6C Y","number",n.rotation.y),L("rotationZ","\u65CB\u8F6C Z","number",n.rotation.z),L("syncAllDevices","\u540C\u6B65\u4FE1\u606F\u81F3\u6240\u6709\u8BBE\u5907","bool",t.syncAllDevices!==!1),L("anchorType","\u951A\u70B9\u7C7B\u578B","enum",cu(n),{options:[{value:"center",label:"\u5C45\u4E2D"},{value:"top-left",label:"\u5DE6\u4E0A"},{value:"top",label:"\u4E0A\u65B9"},{value:"top-right",label:"\u53F3\u4E0A"},{value:"left",label:"\u5DE6\u4FA7"},{value:"right",label:"\u53F3\u4FA7"},{value:"bottom-left",label:"\u5DE6\u4E0B"},{value:"bottom",label:"\u4E0B\u65B9"},{value:"bottom-right",label:"\u53F3\u4E0B"},{value:"stretch",label:"\u53CC\u5411\u62C9\u4F38"},{value:"stretch-horizontal",label:"\u6C34\u5E73\u62C9\u4F38"},{value:"stretch-vertical",label:"\u5782\u76F4\u62C9\u4F38"},{value:"custom",label:"\u81EA\u5B9A\u4E49"}]}),L("anchorMinX","\u951A\u70B9 Min X","number",n.anchorMin.x),L("anchorMinY","\u951A\u70B9 Min Y","number",n.anchorMin.y),L("anchorMaxX","\u951A\u70B9 Max X","number",n.anchorMax.x),L("anchorMaxY","\u951A\u70B9 Max Y","number",n.anchorMax.y),L("pivotX","\u4E2D\u5FC3 X","number",n.pivot.x),L("pivotY","\u4E2D\u5FC3 Y","number",n.pivot.y)];if(t.kind==="container"&&s.push(L("isolateNavigation","\u9694\u79BB\u624B\u67C4\u5BFC\u822A","bool",t.isolateNavigation===!0),L("disableKeyEventPassthrough","\u5C4F\u853D\u6309\u952E\u4E8B\u4EF6\u7A7F\u900F","bool",t.disableKeyEventPassthrough===!0),L("disableCursorEventPassthrough","\u5C4F\u853D\u533A\u57DF\u5185\u70B9\u51FB\u4E8B\u4EF6\u7A7F\u900F","bool",t.disableCursorEventPassthrough===!0),L("showCursor","\u663E\u793A\u5E38\u9A7B\u5149\u6807","bool",t.showCursor===!0)),t.kind==="textbox"||t.kind==="textwindow"){let a=t.giaRaw?.textAlign,l=[0,1,2].includes(a)?t.horizontalAlignment||"Left":`__unrecognized:${a}`;s.push(L("fontSize","\u5B57\u53F7","number",t.fontSize),L("adaptiveFontSize","\u5B57\u53F7\u81EA\u9002\u5E94","bool",t.adaptiveFontSize===!0),L("minimumFontSize","\u6700\u5C0F\u5B57\u53F7","number",t.minimumFontSize),L("fontColor","\u6587\u672C\u8272","color",t.fontColor),L("bgColor","\u80CC\u666F\u8272","color",t.bgColor),L("enableOutline","\u542F\u7528\u63CF\u8FB9","bool",t.enableOutline!==!1),L("outlineColor","\u63CF\u8FB9\u8272","color",t.outlineColor),L("horizontalAlignment","\u6C34\u5E73\u5BF9\u9F50","enum",l,{...[0,1,2].includes(a)?{}:{unknownValue:a},options:[{value:"Left",label:"\u5DE6\u5BF9\u9F50"},{value:"Middle",label:"\u5C45\u4E2D"},{value:"Right",label:"\u53F3\u5BF9\u9F50"}]}),L("verticalAlignment","\u5782\u76F4\u5BF9\u9F50","enum",t.verticalAlignment||"Top",{options:[{value:"Top",label:"\u9876\u90E8"},{value:"Middle",label:"\u5C45\u4E2D"},{value:"Bottom",label:"\u5E95\u90E8"}]}),L("text","\u6587\u672C","text",t.text??""))}if(t.kind==="image"){let a=t.giaRaw?.imageFillType,l=[1,2,3,4,5].includes(a)?t.fillType:`__unrecognized:${a}`;s.push(L("imageSource","\u56FE\u7247\u6E90","enum",t.imageSource,{options:[{value:"StaticReference",label:"\u9759\u6001\u5F15\u7528"},{value:"Prefab",label:"\u5143\u4EF6"}]}),L("imageId","imageId","number",t.imageId??0),L("imageType","\u56FE\u7247\u7C7B\u578B","enum",t.imageType??null,{options:[{value:"Basic",label:"\u57FA\u7840"},{value:"Stretch",label:"\u62C9\u4F38"}]}),L("imageColor","\u586B\u5145\u8272","color",t.imageColor),L("enableMask","\u5F00\u542F\u906E\u7F69","bool",t.enableMask===!0),L("enableSoftEdge","\u8FB9\u7F18\u7FBD\u5316","bool",t.enableSoftEdge===!0,{gia:"W"}),L("softEdgeMode","\u7FBD\u5316\u6A21\u5F0F","enum",t.softEdgeMode,{options:[{value:"Percentage",label:"\u767E\u5206\u6BD4"},{value:"Pixel",label:"\u50CF\u7D20"}]}),L("softEdgeWidthX","\u7FBD\u5316\u5BBD\u5EA6 X","number",t.softEdgeWidthX),L("softEdgeWidthY","\u7FBD\u5316\u5BBD\u5EA6 Y","number",t.softEdgeWidthY),L("horizontalSoftRange","\u6C34\u5E73\u7FBD\u5316\u8303\u56F4","number",t.horizontalSoftRange),L("verticalSoftRange","\u5782\u76F4\u7FBD\u5316\u8303\u56F4","number",t.verticalSoftRange),L("enableFill","\u6309\u8FDB\u5EA6\u586B\u5145","bool",t.enableFill===!0,{gia:"W"}),L("fillType","\u5F62\u72B6","enum",l,{...[1,2,3,4,5].includes(a)?{}:{unknownValue:a},options:[{value:"Horizontal",label:"\u6A2A\u5411"},{value:"Vertical",label:"\u7EB5\u5411"},{value:"Radial90",label:"90\u5EA6\u73AF\u7ED5"},{value:"Radial180",label:"180\u5EA6\u73AF\u7ED5"},{value:"Radial360",label:"360\u5EA6\u73AF\u7ED5"}]}),L("fillHorizontalType","\u65B9\u5411","enum",t.fillHorizontalType,{options:[{value:"Left",label:"\u4ECE\u5DE6\u81F3\u53F3"},{value:"Right",label:"\u4ECE\u53F3\u81F3\u5DE6"}]}),L("fillVerticalType","\u65B9\u5411","enum",t.fillVerticalType,{options:[{value:"Bottom",label:"\u4ECE\u4E0B\u81F3\u4E0A"},{value:"Top",label:"\u4ECE\u4E0A\u81F3\u4E0B"}]}),L("fillRadial90Type","\u8D77\u70B9","enum",t.fillRadial90Type,{options:[{value:"BottomLeft",label:"\u5DE6\u4E0B"},{value:"TopLeft",label:"\u5DE6\u4E0A"},{value:"TopRight",label:"\u53F3\u4E0A"},{value:"BottomRight",label:"\u53F3\u4E0B"}]}),L("fillRadialType","\u8D77\u70B9","enum",t.fillRadialType,{options:[{value:"Bottom",label:"\u4E0B\u65B9"},{value:"Left",label:"\u5DE6\u4FA7"},{value:"Top",label:"\u4E0A\u65B9"},{value:"Right",label:"\u53F3\u4FA7"}]}),L("fillAmount","\u8FDB\u5EA6","percent",t.fillAmount),L("reverseMaskArea","\u906E\u7F69\u533A\u57DF\u53CD\u8F6C","bool",t.reverseMaskArea===!0,{gia:"W"}))}if(t.kind==="button"){let a=[{value:"",label:"\u672A\u8BBE\u7F6E"},...(t.children||[]).map(l=>({value:l.id,label:`${l.name} \xB7 ${l.id}`}))];s.push(L("raycastTarget","\u53EF\u88AB\u5149\u6807\u5C04\u7EBF\u68C0\u6D4B","bool",t.raycastTarget!==!1),L("interactable","\u6309\u94AE\u662F\u5426\u53EF\u7528","bool",t.interactable!==!1),L("unavailableChildId","\u4E0D\u53EF\u7528\u72B6\u6001\u8282\u70B9","node",t.unavailableChildId,{options:a,gia:"W"}),L("hoverChildId","\u60AC\u505C\u72B6\u6001\u8282\u70B9","node",t.hoverChildId,{options:a,gia:"W"}),L("pressedChildId","\u6309\u4E0B\u72B6\u6001\u8282\u70B9","node",t.pressedChildId,{options:a,gia:"W"}),L("selectedChildId","\u9009\u4E2D\u72B6\u6001\u8282\u70B9","node",t.selectedChildId,{options:a,gia:"W"}),L("clickAudioId","\u70B9\u51FB\u97F3\u6548","number",t.clickAudioId))}return t.kind==="reference"&&s.push(L("referencedPrefabId","\u5F15\u7528\u63A7\u4EF6\u6A21\u677F\u7D22\u5F15","string",t.referencedPrefabId??"")),(t.kind==="textwindow"||t.kind==="grid")&&s.push(L("interactable","\u5141\u8BB8\u6EDA\u52A8\u4EA4\u4E92","bool",t.interactable!==!1),L("showScrollBar","\u663E\u793A\u6EDA\u52A8\u6761","bool",t.showScrollBar!==!1)),t.kind==="grid"&&s.push(L("itemPrefabId","\u5217\u8868\u9879\u6A21\u677F\u7D22\u5F15","number",t.itemPrefabId??0),L("raycastTarget","\u53EF\u88AB\u5149\u6807\u5C04\u7EBF\u68C0\u6D4B","bool",t.raycastTarget!==!1),L("scrollDirection","\u6EDA\u52A8\u65B9\u5411","enum",t.scrollDirection,{options:[{value:"Vertical",label:"\u7EB5\u5411"},{value:"Horizontal",label:"\u6A2A\u5411"}]}),L("layoutConstraint","\u6392\u5217\u9650\u5236","enum",t.layoutConstraint,{options:[{value:"AutoWrap",label:"\u81EA\u52A8\u6362\u884C"},{value:"Fixed",label:"\u56FA\u5B9A\u884C\u5217\u6570"}]}),L("layoutConstraintFixedCount","\u6BCF\u884C\u6216\u6BCF\u5217\u6570\u91CF","number",t.layoutConstraintFixedCount??1),L("cellSizeX","\u5217\u8868\u9879\u5927\u5C0F W","number",t.cellSizeX,{evidence:"W"}),L("cellSizeY","\u5217\u8868\u9879\u5927\u5C0F H","number",t.cellSizeY,{evidence:"W"}),L("spacingX","\u5217\u8868\u9879\u95F4\u9694 X","number",t.spacingX,{evidence:"W"}),L("spacingY","\u5217\u8868\u9879\u95F4\u9694 Y","number",t.spacingY,{evidence:"W"}),L("padding1X","\u8FB9\u8DDD\u5411\u91CF 1 X","number",t.padding1X,{evidence:"W"}),L("padding1Y","\u8FB9\u8DDD\u5411\u91CF 1 Y","number",t.padding1Y,{evidence:"W"}),L("padding2X","\u8FB9\u8DDD\u5411\u91CF 2 X","number",t.padding2X,{evidence:"W"}),L("padding2Y","\u8FB9\u8DDD\u5411\u91CF 2 Y","number",t.padding2Y,{evidence:"W"}),L("previewCount","\u9884\u89C8\u6570\u91CF","number",t.previewCount)),t.kind==="keyhint"&&s.push(L("keyboardKeyCode","\u952E\u9F20\u6309\u952E","number",t.keyboardKeyCode??t.giaRaw?.keyHintField502??1,{gia:"W"}),L("controllerKeyCode","\u624B\u67C4\u6309\u952E","number",t.controllerKeyCode??t.giaRaw?.keyHintField501??1)),(t.kind==="animation"||t.kind==="fullscreen")&&s.push(L("animationId",t.kind==="animation"?"\u52A8\u6548\u7D22\u5F15":"\u5168\u5C4F\u52A8\u6548\u7D22\u5F15","string",t.animationId??"")),(!Fn.includes(t.kind)||t.kind==="textwindow"||t.kind==="grid")&&s.push(L("incomplete","\u5B8C\u6574\u5EA6","note",t.kind==="textwindow"||t.kind==="grid"?"\u8BD5\u73A9\u652F\u6301\u57FA\u7840\u6EDA\u52A8\uFF1B\u6EDA\u52A8\u4EA4\u4E92\u3001\u6EDA\u52A8\u6761\u53CA\u5217\u8868\u914D\u7F6E\u4EE5 JSON/Lua \u4E3A\u51C6\uFF0C\u76F8\u5173 GIA \u5F00\u5173\u6620\u5C04\u5C1A\u672A\u6838\u5B9E\u3002":"\u672C\u9636\u6BB5\u4EC5\u516C\u5171\u53D8\u6362\uFF0C\u4E1A\u52A1\u69FD\u4E0D\u5B8C\u6574")),{id:t.id,guid:r?.get(t.id)??(t.guid||0),kind:t.kind,label:tr[t.kind]||t.kind,incomplete:!Fn.includes(t.kind),fields:s}}function Lu(t,e,i){let r=(Array.isArray(t)?t:Object.values(t)).filter(n=>n.kind!=="server-container");for(let n=r.length-1;n>=0;n-=1){let o=r[n];if(!o.visible||o.visibleInHierarchy===!1||!o.active)continue;let s=o.renderMatrix&&Ut(o.renderMatrix),a=s&&tt(s,e,i);if(a&&a.x>=o.left&&a.x<=o.right&&a.y>=o.bottom&&a.y<=o.top)return o.id}return null}var Vf=Kp(Bf(),1);function _r(t,e=!1){let i=[],r=(n,o)=>{n.kind!=="server-container"&&i.push({node:n,parent:o});let s=e&&n.kind!=="server-container"?[...n.children||[]].reverse():n.children||[];for(let a of s)r(a,n)};return r(t.root,null),i}var Jg=String.raw`
|
|
4
|
+
}`}return Object.defineProperty(n,"toString",{value:r,writable:!0,enumerable:!0,configurable:!0}),n}Za.verbose=!1;function ap(t){return!t||(t=String(t).replace(/[^\w$]/g,""),!t)?"":(/^\d/.test(t)&&(t="_"+t),op.test(t)?t+"_":t)}});var Qa=te((O5,Ku)=>{"use strict";var wn=null;try{wn=d1("fs"),(!wn||!wn.readFile||!wn.readFileSync)&&(wn=null)}catch{}Ku.exports=wn});var Zu=te((N5,Ju)=>{"use strict";Ju.exports=er;var sp=za(),es=Qa();function er(t,e,i){return typeof e=="function"?(i=e,e={}):e||(e={}),i?!e.xhr&&es&&es.readFile?es.readFile(t,function(r,o){return r&&typeof XMLHttpRequest<"u"?er.xhr(t,e,i):r?i(r):i(null,e.binary?o:o.toString("utf8"))}):er.xhr(t,e,i):sp(er,this,t,e)}er.xhr=function(e,i,n){var r=new XMLHttpRequest;r.onreadystatechange=function(){if(r.readyState===4){if(r.status!==0&&r.status!==200)return n(Error("status "+r.status));if(i.binary){var a=r.response;if(!a){a=[];for(var s=0;s<r.responseText.length;++s)a.push(r.responseText.charCodeAt(s)&255)}return n(null,typeof Uint8Array<"u"?new Uint8Array(a):a)}return n(null,r.responseText)}},i.binary&&("overrideMimeType"in r&&r.overrideMimeType("text/plain; charset=x-user-defined"),r.responseType="arraybuffer"),r.open("GET",e),r.send()}});var tf=te(ef=>{"use strict";var ns=ef,is=/^[a-zA-Z][a-zA-Z0-9+.-]+:\/\//;function lp(t){if(typeof URL>"u"||!is.test(t))return null;try{return new URL(t).href}catch{return null}}function cp(t,e){if(typeof URL>"u"||!is.test(t)||is.test(e))return null;try{return new URL(e,t).href}catch{return null}}var Qu=ns.isAbsolute=function(e){return/^(?:\/|\w+:|\\\\\w+)/.test(e)},ts=ns.normalize=function(e){var i=lp(e);if(i)return i;var n=e.substring(0,2),r="";n==="\\\\"&&(r=n,e=e.substring(2)),e=e.replace(/\\/g,"/").replace(/\/{2,}/g,"/");var o=e.split("/"),a=Qu(e),s="";a&&(s=o.shift()+"/");for(var l=0;l<o.length;)o[l]===".."?l>0&&o[l-1]!==".."?o.splice(--l,2):a?o.splice(l,1):++l:o[l]==="."?o.splice(l,1):++l;return r+s+o.join("/")};ns.resolve=function(e,i,n){var r=cp(e,i);return r||(n||(i=ts(i)),Qu(i)?i:(n||(e=ts(e)),(e=e.replace(/(?:\/|^)[^/]+$/,"")).length?ts(e+"/"+i):i))}});var xn=te((M5,of)=>{"use strict";of.exports=ce;var no=vi();ce.prototype=Object.create(no.prototype,{constructor:{value:ce,writable:!0,enumerable:!1,configurable:!0}});ce.className="Namespace";var rs=yi(),bi=je(),up=ji(),Vi,Sn,qi;ce.fromJSON=function(e,i,n){if(n===void 0&&(n=0),n>bi.recursionLimit)throw Error("max depth exceeded");return new ce(e,i.options).addJSON(i.nested,n)};function nf(t,e){if(t&&t.length){for(var i={},n=0;n<t.length;++n)i[t[n].name]=t[n].toJSON(e);return i}}ce.arrayToJSON=nf;ce.isReservedId=function(e,i){if(e){for(var n=0;n<e.length;++n)if(typeof e[n]!="string"&&e[n][0]<=i&&e[n][1]>=i)return!0}return!1};ce.isReservedName=function(e,i){if(e){for(var n=0;n<e.length;++n)if(e[n]===i)return!0}return!1};function ce(t,e){no.call(this,t,e),this.nested=void 0,this._nestedArray=null,this._lookupCache=Object.create(null),this._needsRecursiveFeatureResolution=!0,this._needsRecursiveResolve=!0}function rf(t){t._nestedArray=null,t._lookupCache=Object.create(null);for(var e=t;e=e.parent;)e._lookupCache=Object.create(null);return t}Object.defineProperty(ce.prototype,"nestedArray",{get:function(){return this._nestedArray||(this._nestedArray=bi.toArray(this.nested))}});ce.prototype.toJSON=function(e){return bi.toObject(["options",this.options,"nested",nf(this.nestedArray,e)])};ce.prototype.addJSON=function(e,i){if(i===void 0&&(i=0),i>bi.recursionLimit)throw Error("max depth exceeded");var n=this;if(e)for(var r=Object.keys(e),o=0,a;o<r.length;++o)a=e[r[o]],n.add((a.fields!==void 0?Vi.fromJSON:a.values!==void 0?qi.fromJSON:a.methods!==void 0?Sn.fromJSON:a.id!==void 0?rs.fromJSON:ce.fromJSON)(r[o],a,i+1));return this};ce.prototype.get=function(e){return this.nested&&Object.prototype.hasOwnProperty.call(this.nested,e)?this.nested[e]:null};ce.prototype.getEnum=function(e){if(this.nested&&Object.prototype.hasOwnProperty.call(this.nested,e)&&this.nested[e]instanceof qi)return this.nested[e].values;throw Error("no such enum: "+e)};ce.prototype.add=function(e){if(!(e instanceof rs&&e.extend!==void 0||e instanceof Vi||e instanceof up||e instanceof qi||e instanceof Sn||e instanceof ce))throw TypeError("object must be a valid nested object");if(e.name==="__proto__")return this;if(!this.nested)this.nested={};else{var i=this.get(e.name);if(i)if(i instanceof ce&&e instanceof ce&&!(i instanceof Vi||i instanceof Sn)){for(var n=i.nestedArray,r=0;r<n.length;++r)e.add(n[r]);this.remove(i),this.nested||(this.nested={}),e.setOptions(i.options,!0)}else throw Error("duplicate name '"+e.name+"' in "+this)}this.nested[e.name]=e,this instanceof Vi||this instanceof Sn||this instanceof qi||this instanceof rs||e._edition||(e._edition=e._defaultEdition),this._needsRecursiveFeatureResolution=!0,this._needsRecursiveResolve=!0;for(var o=this;o=o.parent;)o._needsRecursiveFeatureResolution=!0,o._needsRecursiveResolve=!0;return e.onAdd(this),rf(this)};ce.prototype.remove=function(e){if(!(e instanceof no))throw TypeError("object must be a ReflectionObject");if(e.parent!==this)throw Error(e+" is not a member of "+this);if(!bi.remove(this.nested,e,e.name))throw Error(e+" is not a member of "+this);return Object.keys(this.nested).length||(this.nested=void 0),e.onRemove(this),rf(this)};ce.prototype.define=function(e,i){if(bi.isString(e))e=e.split(".");else if(!Array.isArray(e))throw TypeError("illegal path");if(e&&e.length&&e[0]==="")throw Error("path must be relative");if(e.length>bi.recursionLimit)throw Error("max depth exceeded");for(var n=this;e.length>0;){var r=e.shift();if(n.nested&&n.nested[r]){if(n=n.nested[r],!(n instanceof ce))throw Error("path conflicts with non-namespace objects")}else n.add(n=new ce(r))}return i&&n.addJSON(i),n};ce.prototype.resolveAll=function(){if(!this._needsRecursiveResolve)return this;this._needsRecursiveFeatureResolution&&this._resolveFeaturesRecursive(this._edition);var e=this.nestedArray,i=0;for(this.resolve();i<e.length;)e[i]instanceof ce?e[i++].resolveAll():e[i++].resolve();return this._needsRecursiveResolve=!1,this};ce.prototype._resolveFeaturesRecursive=function(e){return this._needsRecursiveFeatureResolution?(this._needsRecursiveFeatureResolution=!1,e=this._edition||e,no.prototype._resolveFeaturesRecursive.call(this,e),this.nestedArray.forEach(i=>{i._resolveFeaturesRecursive(e)}),this):this};ce.prototype.lookup=function(e,i,n){if(typeof i=="boolean"?(n=i,i=void 0):i&&!Array.isArray(i)&&(i=[i]),bi.isString(e)&&e.length){if(e===".")return this.root;e=e.split(".")}else if(!e.length)return this;var r=e.join(".");if(e[0]==="")return this.root.lookup(e.slice(1),i);var o=this._lookupImpl(e,r);if(o&&(!i||i.indexOf(o.constructor)>-1)||(o=this.root._fullyQualifiedObjects&&this.root._fullyQualifiedObjects["."+r],o&&(!i||i.indexOf(o.constructor)>-1)))return o;if(n)return null;for(var a=this;a.parent;){if(o=a.parent._lookupImpl(e,r),o&&(!i||i.indexOf(o.constructor)>-1))return o;a=a.parent}return null};ce.prototype._lookupImpl=function(e,i){if(Object.prototype.hasOwnProperty.call(this._lookupCache,i))return this._lookupCache[i];var n=this.get(e[0]),r=null;if(n)e.length===1?r=n:n instanceof ce&&(e=e.slice(1),r=n._lookupImpl(e,e.join(".")));else for(var o=0;o<this.nestedArray.length;++o)if(this._nestedArray[o]instanceof ce&&(n=this._nestedArray[o]._lookupImpl(e,i))){r=n;break}return this._lookupCache[i]=r,r};ce.prototype.lookupType=function(e){var i=this.lookup(e,[Vi]);if(!i)throw Error("no such type: "+e);return i};ce.prototype.lookupEnum=function(e){var i=this.lookup(e,[qi]);if(!i)throw Error("no such Enum '"+e+"' in "+this);return i};ce.prototype.lookupTypeOrEnum=function(e){var i=this.lookup(e,[Vi,qi]);if(!i)throw Error("no such Type or Enum '"+e+"' in "+this);return i};ce.prototype.lookupService=function(e){var i=this.lookup(e,[Sn]);if(!i)throw Error("no such Service '"+e+"' in "+this);return i};ce._configure=function(t,e,i){Vi=t,Sn=e,qi=i}});var ro=te((F5,af)=>{"use strict";af.exports=zt;var os=yi();zt.prototype=Object.create(os.prototype,{constructor:{value:zt,writable:!0,enumerable:!1,configurable:!0}});zt.className="MapField";var fp=wi(),En=je();function zt(t,e,i,n,r,o){if(os.call(this,t,e,n,void 0,void 0,r,o),!En.isString(i))throw TypeError("keyType must be a string");this.keyType=i,this.resolvedKeyType=null,this.map=!0}zt.fromJSON=function(e,i){var n=new zt(e,i.id,i.keyType,i.type,i.options,i.comment);return i.protoName&&(n.protoName=i.protoName),i.jsonName!==void 0?n.jsonName=i.jsonName:i.options&&i.options.json_name!==void 0&&(n.jsonName=i.options.json_name),n};zt.prototype.toJSON=function(e){var i=e?!!e.keepComments:!1;return En.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"protoName",this.protoName!==this.name?this.protoName:void 0,"jsonName",this.jsonName!==En.jsonName(this.protoName||this.name)?this.jsonName:void 0,"options",this.options,"comment",i?this.comment:void 0])};zt.prototype.resolve=function(){if(this.resolved)return this;if(fp.mapKey[this.keyType]===void 0)throw Error("invalid key type: "+this.keyType);return os.prototype.resolve.call(this)};zt.d=function(e,i,n){return typeof n=="function"?n=En.decorateType(n).name:n&&typeof n=="object"&&(n=En.decorateEnum(n).name),function(o,a){En.decorateType(o.constructor).add(new zt(a,e,i,n))}}});var oo=te((D5,sf)=>{"use strict";sf.exports=Si;var as=vi();Si.prototype=Object.create(as.prototype,{constructor:{value:Si,writable:!0,enumerable:!1,configurable:!0}});Si.className="Method";var In=je();function Si(t,e,i,n,r,o,a,s,l){if(In.isObject(r)?(a=r,r=o=void 0):In.isObject(o)&&(a=o,o=void 0),!(e===void 0||In.isString(e)))throw TypeError("type must be a string");if(!In.isString(i))throw TypeError("requestType must be a string");if(!In.isString(n))throw TypeError("responseType must be a string");as.call(this,t,a),this.type=e||"rpc",this.requestType=i,this.requestStream=r?!0:void 0,this.responseType=n,this.responseStream=o?!0:void 0,this.path="/"+this.name,this.resolvedRequestType=null,this.resolvedResponseType=null,this.comment=s,this.parsedOptions=l}Si.fromJSON=function(e,i){return new Si(e,i.type,i.requestType,i.responseType,i.requestStream,i.responseStream,i.options,i.comment,i.parsedOptions)};Si.prototype.toJSON=function(e){var i=e?!!e.keepComments:!1;return In.toObject(["type",this.type!=="rpc"&&this.type||void 0,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options,"comment",i?this.comment:void 0,"parsedOptions",this.parsedOptions])};Si.prototype.resolve=function(){if(this.resolved)return this;if(this.parent){var e=this.parent.fullName;e.charAt(0)==="."&&(e=e.substring(1)),this.path="/"+e+"/"+this.name}else this.path="/"+this.name;return this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),as.prototype.resolve.call(this)}});var so=te(($5,uf)=>{"use strict";uf.exports=rt;var ei=xn();rt.prototype=Object.create(ei.prototype,{constructor:{value:rt,writable:!0,enumerable:!1,configurable:!0}});rt.className="Service";var ss=oo(),ao=je(),lf=Xa();function rt(t,e){ei.call(this,t,e),this.methods={},this._methodsArray=null}rt.fromJSON=function(e,i,n){if(n===void 0&&(n=0),n>ao.recursionLimit)throw Error("max depth exceeded");var r=new rt(e,i.options);if(i.methods)for(var o=Object.keys(i.methods),a=0;a<o.length;++a)r.add(ss.fromJSON(o[a],i.methods[o[a]]));return i.nested&&r.addJSON(i.nested,n),i.edition&&(r._edition=i.edition),r.comment=i.comment,r._defaultEdition="proto3",r};rt.prototype.toJSON=function(e){var i=ei.prototype.toJSON.call(this,e),n=e?!!e.keepComments:!1;return ao.toObject(["edition",this._editionToJSON(),"options",i&&i.options||void 0,"methods",ei.arrayToJSON(this.methodsArray,e)||{},"nested",i&&i.nested||void 0,"comment",n?this.comment:void 0])};Object.defineProperty(rt.prototype,"methodsArray",{get:function(){return this._methodsArray||(this._methodsArray=ao.toArray(this.methods))}});function cf(t){return t._methodsArray=null,t}rt.prototype.get=function(e){return Object.prototype.hasOwnProperty.call(this.methods,e)?this.methods[e]:ei.prototype.get.call(this,e)};rt.prototype.resolveAll=function(){if(!this._needsRecursiveResolve)return this;ei.prototype.resolve.call(this);for(var e=this.methodsArray,i=0;i<e.length;++i)e[i].resolve();return this};rt.prototype._resolveFeaturesRecursive=function(e){return this._needsRecursiveFeatureResolution?(e=this._edition||e,ei.prototype._resolveFeaturesRecursive.call(this,e),this.methodsArray.forEach(i=>{i._resolveFeaturesRecursive(e)}),this):this};rt.prototype.add=function(e){if(this.get(e.name))throw Error("duplicate name '"+e.name+"' in "+this);return e instanceof ss?e.name==="__proto__"?this:(this.methods[e.name]=e,e.parent=this,cf(this)):ei.prototype.add.call(this,e)};rt.prototype.remove=function(e){if(e instanceof ss){if(this.methods[e.name]!==e)throw Error(e+" is not a member of "+this);return delete this.methods[e.name],e.parent=null,cf(this)}return ei.prototype.remove.call(this,e)};rt.prototype.create=function(e,i,n){for(var r=new lf.Service(e,i,n),o=0,a;o<this.methodsArray.length;++o){var s=ao.lcFirst((a=this._methodsArray[o]).resolve().name).replace(/[^$\w_]/g,"");r[s]=(function(l,c,u){return function(h,p){return lf.Service.prototype.rpcCall.call(this,l,c,u,h,p)}})(a,a.resolvedRequestType.ctor,a.resolvedResponseType.ctor)}return r}});var lo=te((z5,ff)=>{"use strict";ff.exports=Lt;var dp=Dt();function Lt(t){if(t)for(var e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&e[i]!=="__proto__"&&(this[e[i]]=t[e[i]])}Lt.create=function(e){return this.$type.create(e)};Lt.encode=function(e,i){return this.$type.encode(e,i)};Lt.encodeDelimited=function(e,i){return this.$type.encodeDelimited(e,i)};Lt.decode=function(e){return this.$type.decode(e)};Lt.decodeDelimited=function(e){return this.$type.decodeDelimited(e)};Lt.verify=function(e){return this.$type.verify(e)};Lt.fromObject=function(e){return this.$type.fromObject(e)};Lt.toObject=function(e,i){return this.$type.toObject(e,i)};Lt.prototype.toJSON=function(){return this.$type.toObject(this,dp.toJSONOptions)}});var ls=te((L5,df)=>{"use strict";df.exports=pp;var co=_t(),$e=wi(),uo=je();function hp(t){return"missing required '"+t.name+"'"}function tr(t){return t._features.utf8_validation==="VERIFY"?"stringVerify":"string"}function _n(t,e){return t("if(!r.discardUnknown){")('util.makeProp(m,"$unknowns",false);')("(m.$unknowns||(m.$unknowns=[])).push(%s)",e)("}")}function pp(t){for(var e=!1,i=!1,n=0;n<t.fieldsArray.length;++n){var r=t._fieldsArray[n];r.map&&(e=!0),(r.resolvedType instanceof co||!r.repeated&&!r.map&&!r.hasPresence)&&(i=!0)}var o=uo.codegen(["r","l","z","q","g"])("if(!(r instanceof Reader))")("r=Reader.create(r)")("if(q===undefined)q=0")("if(q>Reader.recursionLimit)")('throw Error("max depth exceeded")')("var c=l===undefined?r.len:r.pos+l,m=g||new C"+(e?",k,v":i?",v":""))("while(r.pos<c){")("var s=r.pos")("var t=r.tag()")("if(t===z){")("z=undefined")("break")("}");for(t.fieldsArray.length&&o("var u=t&7")("switch(t>>>=3){"),n=0;n<t.fieldsArray.length;++n){var a=t._fieldsArray[n].resolve(),s=a.resolvedType instanceof co?"int32":a.type,l="m"+uo.safeProp(a.name),c=a.resolvedType instanceof co&&a.resolvedType._features.enum_type==="CLOSED";if(a.map){o("case %i:{",a.id)("if(u!==2)")("break"),c||o("if(%s===util.emptyObject)",l)("%s={}",l),o("var c2=r.uint32()+r.pos"),$e.defaults[a.keyType]!==void 0?o("k=%j",$e.defaults[a.keyType]):o("k=null"),$e.long[s]!==void 0?o("v=util.Long?util.Long.fromNumber(0,%j):0",s==="uint64"||s==="fixed64"):$e.defaults[s]!==void 0?o("v=%j",$e.defaults[s]):o("v=null"),o("while(r.pos<c2){")("var t2=r.tag()")("u=t2&7")("switch(t2>>>=3){")("case 1:")("if(u!==%i)",$e.mapKey[a.keyType])("break")("k=r.%s()",a.keyType==="string"?tr(a):a.keyType)("continue")("case 2:")("if(u!==%i)",$e.basic[s]===void 0?2:$e.basic[s])("break"),$e.basic[s]===void 0?o("v=types[%i].decode(r,r.uint32(),undefined,q+1,v)",n):o("v=r.%s()",s==="string"?tr(a):s),o("continue")("}")("r.skipType(u,q,t2)")("}"),c&&(o("if(types[%i].valuesById[v]===undefined){",n),_n(o,"r.raw(s,r.pos)")("continue")("}")("if(%s===util.emptyObject)",l)("%s={}",l));var u=$e.basic[s]===void 0?"v||new types["+n+"].ctor":"v";$e.long[a.keyType]!==void 0?o('%s[typeof k==="object"?util.longToHash(k):k]=%s',l,u):(a.keyType==="string"&&o('if(k==="__proto__")')("util.makeProp(%s,k)",l),o("%s[k]=%s",l,u))}else a.repeated?(o("case %i:",a.id)("{"),$e.packed[s]!==void 0&&(o("if(u===2){"),c?(o("var c2=r.uint32()+r.pos")("while(r.pos<c2){")("s=r.pos")("v=r.%s()",s)("if(types[%i].valuesById[v]!==undefined){",n)("if(!(%s&&%s.length))",l,l)("%s=[]",l)("%s.push(v)",l)("}else"),_n(o,"util.rawField("+a.id+",0,r.raw(s,r.pos))")("}")):o("if(!(%s&&%s.length))",l,l)("%s=[]",l)("r.%ss(%s)",s,l),o("continue")("}")),o("if(u!==%i)",$e.basic[s]===void 0?a.delimited?3:2:$e.basic[s])("break"),c||o("if(!(%s&&%s.length))",l,l)("%s=[]",l),$e.basic[s]===void 0?a.delimited?o("%s.push(types[%i].decode(r,undefined,%i,q+1))",l,n,a.id*8+4):o("%s.push(types[%i].decode(r,r.uint32(),undefined,q+1))",l,n):c?(o("v=r.%s()",s)("if(types[%i].valuesById[v]!==undefined){",n)("if(!(%s&&%s.length))",l,l)("%s=[]",l)("%s.push(v)",l)("}else"),_n(o,"r.raw(s,r.pos)")):o("%s.push(r.%s())",l,s==="string"?tr(a):s)):$e.basic[s]===void 0?(o("case %i:{",a.id)("if(u!==%i)",a.delimited?3:2)("break"),a.delimited?o("%s=types[%i].decode(r,undefined,%i,q+1,%s)",l,n,a.id*8+4,l):o("%s=types[%i].decode(r,r.uint32(),undefined,q+1,%s)",l,n,l)):a.hasPresence?(o("case %i:{",a.id)("if(u!==%i)",$e.basic[s])("break"),c?(o("v=r.%s()",s)("if(types[%i].valuesById[v]!==undefined){",n)("%s=v",l),a.partOf&&o("m%s=%j",uo.safeProp(a.partOf.name),a.name),o("}else"),_n(o,"r.raw(s,r.pos)")):o("%s=r.%s()",l,s==="string"?tr(a):s)):(o("case %i:{",a.id)("if(u!==%i)",$e.basic[s])("break"),c?(o("v=r.%s()",s)("if(types[%i].valuesById[v]!==undefined){",n)("if(v!==%j)",a.typeDefault)("%s=v",l)("else")("delete %s",l)("}else{"),_n(o,"r.raw(s,r.pos)")("}")):(a.resolvedType instanceof co&&a.typeDefault!==0?o("if((v=r.%s())!==%j)",s,a.typeDefault):s==="string"?o("if((v=r.%s()).length)",tr(a)):s==="bytes"?o("if((v=r.%s()).length)",s):$e.long[s]!==void 0?o('if(typeof(v=r.%s())==="object"?v.low||v.high:v!==0)',s):o(s==="double"||s==="float"?"if(!Object.is(v=r.%s(),0))":"if(v=r.%s())",s),o("%s=v",l)("else")("delete %s",l)));a.partOf&&!c&&o("m%s=%j",uo.safeProp(a.partOf.name),a.name),o("continue")("}")}for(n&&o("}"),o("r.skipType(%s,q,t)",n?"u":"t&7"),_n(o,"r.raw(s,r.pos)")("}")("if(z!==undefined)")('throw Error("missing end group")'),n=0;n<t._fieldsArray.length;++n){var f=t._fieldsArray[n];f.required&&o("if(!Object.hasOwnProperty.call(m,%j))",f.name)("throw util.ProtocolError(%j,{instance:m})",hp(f))}return o("return m")}});var fs=te((G5,hf)=>{"use strict";hf.exports=bp;var mp=_t(),cs=je();function ut(t,e){return t.name+": "+e+(t.repeated&&e!=="array"?"[]":t.map&&e!=="object"?"{k:"+t.keyType+"}":"")+" expected"}function us(t,e,i,n){var r=e.resolvedType;if(r)if(r instanceof mp)if(r._features.enum_type==="CLOSED"){t("switch(%s){",n)("default:")("return%j",ut(e,"enum value"));for(var o=Object.keys(r.values),a=0;a<o.length;++a)t("case %i:",r.values[o[a]]);t("break")("}")}else t('if(typeof %s!=="number"||(%s|0)!==%s)',n,n,n)("return%j",ut(e,"enum value"));else t("{")("var e=types[%i].verify(%s,q+1);",i,n)("if(e)")("return%j+e",e.name+".")("}");else switch(e.type){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":t("if(!util.isInteger(%s))",n)("return%j",ut(e,"integer"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":t("if(!util.isInteger(%s)&&!(%s&&util.isInteger(%s.low)&&util.isInteger(%s.high)))",n,n,n,n)("return%j",ut(e,"integer|Long"));break;case"float":case"double":t('if(typeof %s!=="number")',n)("return%j",ut(e,"number"));break;case"bool":t('if(typeof %s!=="boolean")',n)("return%j",ut(e,"boolean"));break;case"string":t("if(!util.isString(%s))",n)("return%j",ut(e,"string"));break;case"bytes":t('if(!(%s&&typeof %s.length==="number"||util.isString(%s)))',n,n,n)("return%j",ut(e,"buffer"));break}return t}function gp(t,e,i){switch(e.keyType){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":t("if(!util.key32Re.test(%s))",i)("return%j",ut(e,"integer key"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":t("if(!util.key64Re.test(%s))",i)("return%j",ut(e,"integer|Long key"));break;case"bool":t("if(!util.key2Re.test(%s))",i)("return%j",ut(e,"boolean key"));break}return t}function bp(t){var e=cs.codegen(["m","q"])('if(typeof m!=="object"||m===null)')("return%j","object expected")("if(q===undefined)q=0")("if(q>util.recursionLimit)")("return%j","max depth exceeded"),i=t.oneofsArray,n={};i.length&&e("var p={}");for(var r=0;r<t.fieldsArray.length;++r){var o=t._fieldsArray[r].resolve(),a="m"+cs.safeProp(o.name);if(o.optional&&e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){",a,o.name),o.map)e("if(!util.isObject(%s))",a)("return%j",ut(o,"object"))("var k=Object.keys(%s)",a)("for(var i=0;i<k.length;++i){"),gp(e,o,"k[i]"),us(e,o,r,a+"[k[i]]")("}");else if(o.repeated)e("if(!Array.isArray(%s))",a)("return%j",ut(o,"array"))("for(var i=0;i<%s.length;++i){",a),us(e,o,r,a+"[i]")("}");else{if(o.partOf){var s=cs.safeProp(o.partOf.name);n[o.partOf.name]===1&&e("if(p%s===1)",s)("return%j",o.partOf.name+": multiple values"),n[o.partOf.name]=1,e("p%s=1",s)}us(e,o,r,a)}o.optional&&e("}")}return e("return null")}});var ms=te(mf=>{"use strict";var pf=mf,ti=_t(),ps=wi(),kt=je();function ds(t,e,i,n,r){if(e.resolvedType)if(e.resolvedType instanceof ti){var o=r?"m"+r+"[m"+r+".length]":"m"+n;t("switch(d%s){",n);for(var a=e.resolvedType.values,s=Object.keys(a),l=0;l<s.length;++l)t("case%j:",s[l])("case %i:",a[s[l]])("%s=%j",o,a[s[l]])("break");t("default:"),e.resolvedType._features.enum_type!=="CLOSED"&&t('if(typeof d%s==="number"&&(d%s|0)===d%s)',n,n,n)("%s=d%s",o,n),t("}")}else t("if(!util.isObject(d%s))",n)("throw TypeError(%j)",e.fullName+": object expected")("m%s=types[%i].fromObject(d%s,q+1)",n,i,n);else{var c=!1;switch(e.type){case"double":case"float":t("m%s=Number(d%s)",n,n);break;case"uint32":case"fixed32":t("m%s=d%s>>>0",n,n);break;case"int32":case"sint32":case"sfixed32":t("m%s=d%s|0",n,n);break;case"uint64":case"fixed64":c=!0;case"int64":case"sint64":case"sfixed64":t("if(util.Long)")("m%s=util.Long.fromValue(d%s,%j)",n,n,c)('else if(typeof d%s==="string")',n)("m%s=parseInt(d%s,10)",n,n)('else if(typeof d%s==="number")',n)("m%s=d%s",n,n)('else if(typeof d%s==="object")',n)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",n,n,n,c?"true":"");break;case"bytes":t('if(typeof d%s==="string")',n)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",n,n,n)("else if(d%s.length>=0)",n)("m%s=d%s",n,n);break;case"string":t("m%s=String(d%s)",n,n);break;case"bool":t("m%s=Boolean(d%s)",n,n);break}}return t}pf.fromObject=function(e){var i=e.fieldsArray,n=kt.codegen(["d","q"])("if(d instanceof C)")("return d")("if(!util.isObject(d))")("throw TypeError(%j)",e.fullName+": object expected")("if(q===undefined)q=0")("if(q>util.recursionLimit)")('throw Error("max depth exceeded")');if(!i.length)return n("return new C");n("var m=new C");for(var r=0;r<i.length;++r){var o=i[r].resolve(),a=kt.safeProp(o.name),s=!o.hasPresence&&!o.repeated&&!o.map&&(o.resolvedType instanceof ti||ps.basic[o.type]!==void 0);o.map?(n("if(d%s){",a)("if(!util.isObject(d%s))",a)("throw TypeError(%j)",o.fullName+": object expected")("m%s={}",a)("for(var ks=Object.keys(d%s),i=0;i<ks.length;++i){",a),n('if(ks[i]==="__proto__")')("util.makeProp(m%s,ks[i])",a),ds(n,o,r,a+"[ks[i]]")("}")("}")):o.repeated?(n("if(d%s){",a)("if(!Array.isArray(d%s))",a)("throw TypeError(%j)",o.fullName+": array expected"),o.resolvedType instanceof ti?n("m%s=[]",a):n("m%s=Array(d%s.length)",a,a),n("for(var i=0;i<d%s.length;++i){",a),ds(n,o,r,a+"[i]",o.resolvedType instanceof ti?a:void 0)("}")("}")):(o.resolvedType instanceof ti||n("if(d%s!=null){",a),s&&(o.resolvedType instanceof ti?n('if(d%s!==%j&&(typeof d%s!=="string"||types[%i].values[d%s]!==%j)){',a,o.typeDefault,a,r,a,o.typeDefault):o.type==="string"?n('if(typeof d%s!=="string"||d%s.length){',a,a):o.type==="bytes"?n("if(d%s.length){",a):o.type==="bool"?n("if(d%s){",a):o.type==="double"||o.type==="float"?n("if(!Object.is(Number(d%s),0)){",a):ps.long[o.type]!==void 0?n('if(typeof d%s==="object"?d%s.low||d%s.high:Number(d%s)!==0){',a,a,a,a):n("if(Number(d%s)!==0){",a)),ds(n,o,r,a),s&&n("}"),o.resolvedType instanceof ti||n("}"))}return n("return m")};function hs(t,e,i,n,r){if(r||(r=n),e.resolvedType)e.resolvedType instanceof ti?t("d%s=o.enums===String?(types[%i].values[m%s]===undefined?m%s:types[%i].values[m%s]):m%s",n,i,r,r,i,r,r):t("d%s=types[%i].toObject(m%s,o,q+1)",n,i,r);else{var o=!1;switch(e.type){case"double":case"float":t("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",n,r,r,r);break;case"uint64":case"fixed64":o=!0;case"int64":case"sint64":case"sfixed64":t('if(typeof BigInt!=="undefined"&&o.longs===BigInt)')('d%s=typeof m%s==="number"?BigInt(m%s):util.Long.fromBits(m%s.low>>>0,m%s.high>>>0,%j).toBigInt()',n,r,r,r,r,o)('else if(typeof m%s==="number")',r)("d%s=o.longs===String?String(m%s):m%s",n,r,r)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",n,r,r,r,o?"true":"",r);break;case"bytes":t("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",n,r,r,r,r);break;default:t("d%s=m%s",n,r);break}}return t}pf.toObject=function(e){var i=e.fieldsArray.slice().sort(kt.compareFieldsById);if(!i.length)return kt.codegen()("return {}");for(var n=kt.codegen(["m","o","q"])("if(!o)")("o={}")("if(q===undefined)q=0")("if(q>util.recursionLimit)")('throw Error("max depth exceeded")')("var d={}"),r=[],o=[],a=[],s=0;s<i.length;++s)i[s].partOf||(i[s].resolve().repeated?r:i[s].map?o:a).push(i[s]);if(r.length){for(n("if(o.arrays||o.defaults){"),s=0;s<r.length;++s)n("d%s=[]",kt.safeProp(r[s].name));n("}")}if(o.length){for(n("if(o.objects||o.defaults){"),s=0;s<o.length;++s)n("d%s={}",kt.safeProp(o[s].name));n("}")}if(a.length){for(n("if(o.defaults){"),s=0;s<a.length;++s){var l=a[s],c=kt.safeProp(l.name);if(l.resolvedType instanceof ti)n("d%s=o.enums===String?%j:%j",c,l.resolvedType.valuesById[l.typeDefault],l.typeDefault);else if(l.long)n("if(util.Long){")("var n=new util.Long(%i,%i,%j)",l.typeDefault.low,l.typeDefault.high,l.typeDefault.unsigned)('d%s=o.longs===String?n.toString():o.longs===Number?n.toNumber():typeof BigInt!=="undefined"&&o.longs===BigInt?n.toBigInt():n',c)("}else")('d%s=o.longs===String?%j:typeof BigInt!=="undefined"&&o.longs===BigInt?BigInt(%j):%i',c,l.typeDefault.toString(),l.typeDefault.toString(),l.typeDefault.toNumber());else if(l.bytes){var u=Array.prototype.slice.call(l.typeDefault);n("if(o.bytes===String)d%s=%j",c,kt.base64.encode(l.typeDefault,0,l.typeDefault.length))("else{")("d%s=%j",c,u)("if(o.bytes!==Array)d%s=util.newBuffer(d%s)",c,c)("}")}else(l.type==="double"||l.type==="float")&&typeof l.typeDefault=="number"&&(!isFinite(l.typeDefault)||Object.is(l.typeDefault,-0))?n("d%s=%f",c,l.typeDefault)("if(o.json&&!isFinite(d%s))d%s=String(d%s)",c,c,c):n("d%s=%j",c,l.typeDefault)}n("}")}var f=!1;for(s=0;s<i.length;++s){var l=i[s],h=e._fieldsArray.indexOf(l),c=kt.safeProp(l.name);if(l.map){f||(f=!0,n("var ks2")),n("if(m%s&&(ks2=Object.keys(m%s)).length){",c,c)("d%s={}",c);var p=ps.long[l.keyType]!==void 0,g=c+"[ks2[j]]";n("for(var j=0;j<ks2.length;++j){"),p&&n("var k2=util.longFromKey(ks2[j],%j).toString()",l.keyType==="uint64"||l.keyType==="fixed64"),n('if(ks2[j]==="__proto__")')("util.makeProp(d%s,ks2[j])",c),hs(n,l,h,p?c+"[k2]":g,g)("}")}else l.repeated?(n("if(m%s&&m%s.length){",c,c)("d%s=Array(m%s.length)",c,c)("for(var j=0;j<m%s.length;++j){",c),hs(n,l,h,c+"[j]")("}")):(n("if(m%s!=null&&Object.hasOwnProperty.call(m,%j)){",c,l.name),hs(n,l,h,c),l.partOf&&!l.partOf.isProto3Optional&&n("if(o.oneofs)")("d%s=%j",kt.safeProp(l.partOf.name),l.name));n("}")}return n("return d")}});var gs=te(gf=>{"use strict";var yp=gf,vp=lo(),wp=Dt();yp[".google.protobuf.Any"]={fromObject:function(t,e){if(t&&t["@type"]){var i=t["@type"].substring(t["@type"].lastIndexOf("/")+1),n=this.lookup(i,[this.constructor]);if(n){var r=t["@type"].charAt(0)==="."?t["@type"].slice(1):t["@type"];return r.indexOf("/")===-1&&(r="/"+r),this.create({type_url:r,value:n.encode(n.fromObject(t,e===void 0?1:e+1)).finish()})}}return this.fromObject(t,e)},toObject:function(t,e,i){if(i===void 0&&(i=0),i>wp.recursionLimit)throw Error("max depth exceeded");var n="type.googleapis.com/",r="",o="";if(e&&e.json&&t.type_url&&t.value){o=t.type_url.substring(t.type_url.lastIndexOf("/")+1),r=t.type_url.substring(0,t.type_url.lastIndexOf("/")+1);var a=this.lookup(o,[this.constructor]);a&&(t=a.decode(t.value,void 0,void 0,i+1))}if(!(t instanceof this.ctor)&&t instanceof vp){var s=t.$type.toObject(t,e,i+1),l=t.$type.fullName[0]==="."?t.$type.fullName.slice(1):t.$type.fullName;return r===""&&(r=n),o=r+l,s["@type"]=o,s}return this.toObject(t,e,i)}}});var po=te((q5,vf)=>{"use strict";vf.exports=he;var bt=xn();he.prototype=Object.create(bt.prototype,{constructor:{value:he,writable:!0,enumerable:!1,configurable:!0}});he.className="Type";var Sp=_t(),vs=ji(),fo=yi(),xp=ro(),Ep=so(),bs=lo(),ys=io(),yf=eo(),ze=je(),Ip=ws(),_p=ls(),kp=fs(),bf=ms(),Cp=gs();function he(t,e){t=t.replace(/\W/g,""),bt.call(this,t,e),this.fields={},this.oneofs=void 0,this.extensions=void 0,this.reserved=void 0,this.group=void 0,this._fieldsById=null,this._fieldsArray=null,this._oneofsArray=null,this._ctor=null,this._fieldsByJsonName=null}Object.defineProperties(he.prototype,{fieldsById:{get:function(){if(this._fieldsById)return this._fieldsById;this._fieldsById={};for(var t=Object.keys(this.fields),e=0;e<t.length;++e){var i=this.fields[t[e]],n=i.id;if(this._fieldsById[n])throw Error("duplicate id "+n+" in "+this);this._fieldsById[n]=i}return this._fieldsById}},fieldsArray:{get:function(){return this._fieldsArray||(this._fieldsArray=ze.toArray(this.fields))}},oneofsArray:{get:function(){return this._oneofsArray||(this._oneofsArray=ze.toArray(this.oneofs))}},ctor:{get:function(){return this._ctor||(this.ctor=he.generateConstructor(this)())},set:function(t){var e=t.prototype;e instanceof bs||(t.prototype=new bs,Object.defineProperty(t.prototype,"constructor",{value:t,writable:!0,enumerable:!1,configurable:!0}),ze.merge(t.prototype,e)),t.$type=t.prototype.$type=this,ze.merge(t,bs,!0),this._ctor=t,delete this.decode,delete this.fromObject;for(var i=0,n;i<this.fieldsArray.length;++i)n=this._fieldsArray[i].resolve(),t.prototype[n.name]=n.defaultValue;var r={};for(i=0;i<this.oneofsArray.length;++i)r[this._oneofsArray[i].resolve().name]={get:ze.oneOfGetter(this._oneofsArray[i].oneof),set:ze.oneOfSetter(this._oneofsArray[i].oneof)};i&&Object.defineProperties(t.prototype,r)}}});he.generateConstructor=function(e){for(var i=ze.codegen(["p"]),n=0,r;n<e.fieldsArray.length;++n)(r=e._fieldsArray[n]).map?i("this%s={}",ze.safeProp(r.name)):r.repeated&&i("this%s=[]",ze.safeProp(r.name));return i('if(p)for(var ks=Object.keys(p),i=0;i<ks.length;++i)if(p[ks[i]]!=null&&ks[i]!=="__proto__")')("this[ks[i]]=p[ks[i]]")};function ho(t){return t._fieldsById=t._fieldsArray=t._oneofsArray=t._fieldsByJsonName=null,delete t.encode,delete t.decode,delete t.verify,t}he.fromJSON=function(e,i,n){if(n===void 0&&(n=0),n>ze.nestingLimit)throw Error("max depth exceeded");var r=new he(e,i.options);r.extensions=i.extensions,r.reserved=i.reserved;for(var o=Object.keys(i.fields),a=0;a<o.length;++a)r.add((typeof i.fields[o[a]].keyType<"u"?xp.fromJSON:fo.fromJSON)(o[a],i.fields[o[a]]));if(i.oneofs)for(o=Object.keys(i.oneofs),a=0;a<o.length;++a)r.add(vs.fromJSON(o[a],i.oneofs[o[a]]));if(i.nested)for(o=Object.keys(i.nested),a=0;a<o.length;++a){var s=i.nested[o[a]];r.add((s.id!==void 0?fo.fromJSON:s.fields!==void 0?he.fromJSON:s.values!==void 0?Sp.fromJSON:s.methods!==void 0?Ep.fromJSON:bt.fromJSON)(o[a],s,n+1))}return i.extensions&&i.extensions.length&&(r.extensions=i.extensions),i.reserved&&i.reserved.length&&(r.reserved=i.reserved),i.group&&(r.group=!0),i.comment&&(r.comment=i.comment),i.edition&&(r._edition=i.edition),r._defaultEdition="proto3",r};he.prototype.toJSON=function(e){var i=bt.prototype.toJSON.call(this,e),n=e?!!e.keepComments:!1;return ze.toObject(["edition",this._editionToJSON(),"options",i&&i.options||void 0,"oneofs",bt.arrayToJSON(this.oneofsArray,e),"fields",bt.arrayToJSON(this.fieldsArray.filter(function(r){return!r.declaringField}),e)||{},"extensions",this.extensions&&this.extensions.length?this.extensions:void 0,"reserved",this.reserved&&this.reserved.length?this.reserved:void 0,"group",this.group||void 0,"nested",i&&i.nested||void 0,"comment",n?this.comment:void 0])};he.prototype.resolveAll=function(){if(!this._needsRecursiveResolve)return this;bt.prototype.resolveAll.call(this);var e=this.oneofsArray;for(n=0;n<e.length;)e[n++].resolve();for(var i=this.fieldsArray,n=0;n<i.length;)i[n++].resolve();return this};he.prototype._resolveFeaturesRecursive=function(e){return this._needsRecursiveFeatureResolution?(e=this._edition||e,bt.prototype._resolveFeaturesRecursive.call(this,e),this.oneofsArray.forEach(i=>{i._resolveFeatures(e)}),this.fieldsArray.forEach(i=>{i._resolveFeatures(e)}),this):this};he.prototype.get=function(e){return Object.prototype.hasOwnProperty.call(this.fields,e)?this.fields[e]:this.oneofs&&Object.prototype.hasOwnProperty.call(this.oneofs,e)?this.oneofs[e]:this.nested&&Object.prototype.hasOwnProperty.call(this.nested,e)?this.nested[e]:null};he.prototype.add=function(e){if(this.get(e.name))throw Error("duplicate name '"+e.name+"' in "+this);if(e instanceof fo&&e.extend===void 0){if(this._fieldsById?this._fieldsById[e.id]:this.fieldsById[e.id])throw Error("duplicate id "+e.id+" in "+this);if(this.isReservedId(e.id))throw Error("id "+e.id+" is reserved in "+this);if(this.isReservedName(e.name)||e.name.charAt(0)==="$")throw Error("name '"+e.name+"' is reserved in "+this);return e.name==="__proto__"?this:(e.parent&&e.parent.remove(e),this.fields[e.name]=e,e.message=this,e.onAdd(this),ho(this))}if(e instanceof vs){if(e.name.charAt(0)==="$")throw Error("name '"+e.name+"' is reserved in "+this);return e.name==="__proto__"?this:(this.oneofs||(this.oneofs={}),this.oneofs[e.name]=e,e.onAdd(this),ho(this))}return bt.prototype.add.call(this,e)};he.prototype.remove=function(e){if(e instanceof fo&&e.extend===void 0){if(!ze.remove(this.fields,e,e.name))throw Error(e+" is not a member of "+this);return e.parent=null,e.onRemove(this),ho(this)}if(e instanceof vs){if(!ze.remove(this.oneofs,e,e.name))throw Error(e+" is not a member of "+this);return e.parent=null,e.onRemove(this),ho(this)}return bt.prototype.remove.call(this,e)};he.prototype.isReservedId=function(e){return bt.isReservedId(this.reserved,e)};he.prototype.isReservedName=function(e){return bt.isReservedName(this.reserved,e)};he.prototype.create=function(e){return new this.ctor(e)};he.prototype.setup=function(){var e=this.root;if(e&&e._needsRecursiveFeatureResolution){var i=e._edition||this._edition;i&&e._resolveFeaturesRecursive(i)}for(var n=this.fullName,r=[],o=0;o<this.fieldsArray.length;++o)r.push(this._fieldsArray[o].resolve().resolvedType);this.encode=Ip(this)({Writer:yf,types:r,util:ze}),this.decode=_p(this)({Reader:ys,types:r,util:ze,C:this.ctor}),this.verify=kp(this)({types:r,util:ze}),this.fromObject=bf.fromObject(this)({types:r,util:ze,C:this.ctor}),this.toObject=bf.toObject(this)({types:r,util:ze});var a=Cp[n];if(a){var s=Object.create(this);s._ctor=this.ctor,s.fromObject=this.fromObject,this.fromObject=a.fromObject.bind(s),s.toObject=this.toObject,this.toObject=a.toObject.bind(s)}return this};he.prototype.encode=function(e,i){return this.setup().encode.apply(this,arguments)};he.prototype.encodeDelimited=function(e,i){return this.encode(e,(i||yf.create()).fork()).ldelim()};he.prototype.decode=function(e,i){return this.setup().decode.apply(this,arguments)};he.prototype.decodeDelimited=function(e){return e instanceof ys||(e=ys.create(e)),this.decode(e,e.uint32())};he.prototype.verify=function(e){return this.setup().verify.apply(this,arguments)};he.prototype.fromObject=function(e){return this.setup().fromObject.apply(this,arguments)};he.prototype.toObject=function(e,i){return this.setup().toObject.apply(this,arguments)};he.prototype.getTypeUrl=function(e){e===void 0&&(e="type.googleapis.com");var i=this.fullName;return e+"/"+(i.charAt(0)==="."?i.substring(1):i)};he.d=function(e){return function(n){ze.decorateType(n,e)}}});var yo=te((j5,xf)=>{"use strict";xf.exports=ot;var bo=xn();ot.prototype=Object.create(bo.prototype,{constructor:{value:ot,writable:!0,enumerable:!1,configurable:!0}});ot.className="Root";var mo=yi(),Ss=_t(),Ap=ji(),Gt=je(),xs,Es,kn;function ot(t){bo.call(this,"",t),this.deferred=[],this.files=[],this._edition="proto2",this._fullyQualifiedObjects={}}ot.fromJSON=function(e,i,n){if(n===void 0&&(n=0),n>Gt.recursionLimit)throw Error("max depth exceeded");return i||(i=new ot),e.options&&i.setOptions(e.options),i.addJSON(e.nested,n).resolveAll()};ot.prototype.resolvePath=Gt.path.resolve;ot.prototype.fetch=Gt.fetch;function Sf(){}ot.prototype.load=function t(e,i,n){typeof i=="function"&&(n=i,i=void 0);var r=this;if(!n)return Gt.asPromise(t,r,e,i);var o=n===Sf;function a(p,g){if(n){if(o)throw p;g&&g.resolveAll();var b=n;n=null,b(p,g)}}function s(p){var g=p.lastIndexOf("google/protobuf/");if(g>-1){var b=p.substring(g);if(Object.prototype.hasOwnProperty.call(kn,b))return b}return Object.prototype.hasOwnProperty.call(kn,p)?p:null}function l(p,g,b){b===void 0&&(b=0);try{if(b>Gt.recursionLimit)throw Error("max depth exceeded");if(Gt.isString(g)&&g.charAt(0)==="{"&&(g=JSON.parse(g)),!Gt.isString(g))r.setOptions(g.options).addJSON(g.nested);else{Es.filename=p;var w=Es(g,r,i),S,x=0;if(w.imports)for(;x<w.imports.length;++x)(S=s(w.imports[x])||r.resolvePath(p,w.imports[x]))&&c(S,!1,b+1);if(w.weakImports)for(x=0;x<w.weakImports.length;++x)(S=s(w.weakImports[x])||r.resolvePath(p,w.weakImports[x]))&&c(S,!0,b+1)}}catch(F){a(F)}!o&&!u&&a(null,r)}function c(p,g,b){if(b===void 0&&(b=0),p=s(p)||p,!(r.files.indexOf(p)>-1)){if(r.files.push(p),Object.prototype.hasOwnProperty.call(kn,p)){o?l(p,kn[p],b):(++u,setTimeout(function(){--u,l(p,kn[p],b)}));return}if(o){var w;try{w=Gt.fs.readFileSync(p).toString("utf8")}catch(S){g||a(S);return}l(p,w,b)}else++u,r.fetch(p,function(S,x){if(--u,!!n){if(S){g?u||a(null,r):a(S);return}l(p,x,b)}})}}var u=0;Gt.isString(e)&&(e=[e]);for(var f=0,h;f<e.length;++f)(h=r.resolvePath("",e[f]))&&c(h);return o?(r.resolveAll(),r):(u||a(null,r),r)};ot.prototype.loadSync=function(e,i){if(!Gt.isNode)throw Error("not supported");return this.load(e,i,Sf)};ot.prototype.resolveAll=function(){if(!this._needsRecursiveResolve)return this;if(this.deferred.length)throw Error("unresolvable extensions: "+this.deferred.map(function(e){return"'extend "+e.extend+"' in "+e.parent.fullName}).join(", "));return bo.prototype.resolveAll.call(this)};var go=/^[A-Z]/;function wf(t,e){var i=e.parent.lookup(e.extend);if(i){var n=new mo(e.fullName,e.id,e.type,e.rule,void 0,e.options);return i.get(n.name)||(n.declaringField=e,e.extensionField=n,i.add(n)),!0}return!1}ot.prototype._handleAdd=function(e){if(e instanceof mo)e.extend!==void 0&&!e.extensionField&&(wf(this,e)||this.deferred.push(e));else if(e instanceof Ss)go.test(e.name)&&(e.parent[e.name]=e.values);else if(!(e instanceof Ap)){if(e instanceof xs)for(var i=0;i<this.deferred.length;)wf(this,this.deferred[i])?this.deferred.splice(i,1):++i;for(var n=0;n<e.nestedArray.length;++n)this._handleAdd(e._nestedArray[n]);go.test(e.name)&&(e.parent[e.name]=e)}(e instanceof xs||e instanceof Ss||e instanceof mo)&&(this._fullyQualifiedObjects[e.fullName]=e)};ot.prototype._handleRemove=function(e){if(e instanceof mo){if(e.extend!==void 0)if(e.extensionField)e.extensionField.parent.remove(e.extensionField),e.extensionField=null;else{var i=this.deferred.indexOf(e);i>-1&&this.deferred.splice(i,1)}}else if(e instanceof Ss)go.test(e.name)&&delete e.parent[e.name];else if(e instanceof bo){for(var n=0;n<e.nestedArray.length;++n)this._handleRemove(e._nestedArray[n]);go.test(e.name)&&delete e.parent[e.name]}delete this._fullyQualifiedObjects[e.fullName]};ot._configure=function(t,e,i){xs=t,Es=e,kn=i}});var je=te((H5,_f)=>{"use strict";var ke=_f.exports=Dt(),Ef=Wa(),Is,_s;ke.codegen=Wu();ke.fetch=Zu();ke.path=tf();ke.patterns=Ja();var If=ke.patterns.reservedRe;ke.fs=Qa();ke.toArray=function(e){if(e){for(var i=Object.keys(e),n=new Array(i.length),r=0;r<i.length;)n[r]=e[i[r++]];return n}return[]};ke.toObject=function(e){for(var i={},n=0;n<e.length;){var r=e[n++],o=e[n++];o!==void 0&&(i[r]=o)}return i};ke.remove=function(e,i,n){if(!e)return!1;if(n!==void 0&&Object.prototype.hasOwnProperty.call(e,n)&&e[n]===i)return delete e[n],!0;for(var r=Object.keys(e),o=0;o<r.length;++o)if(e[r[o]]===i)return delete e[r[o]],!0;return!1};ke.isReserved=function(e){return If.test(e)};ke.safeProp=function(e){return!/^[$\w_]+$/.test(e)||If.test(e)?"["+JSON.stringify(e)+"]":"."+e};ke.ucFirst=function(e){return e.charAt(0).toUpperCase()+e.substring(1)};var Tp=/_([a-z])/g;ke.camelCase=function(e){return e.substring(0,1)+e.substring(1).replace(Tp,function(i,n){return n.toUpperCase()})};ke.jsonName=function(e){for(var i="",n=!1,r=0;r<e.length;++r){var o=e.charAt(r);o==="_"?n=!0:n?(i+=o.toUpperCase(),n=!1):i+=o}return i};ke.compareFieldsById=function(e,i){return e.id-i.id};ke.decorateType=function(e,i){if(e.$type)return i&&e.$type.name!==i&&(ke.decorateRoot.remove(e.$type),e.$type.name=i,ke.decorateRoot.add(e.$type)),e.$type;Is||(Is=po());var n=new Is(i||e.name);return ke.decorateRoot.add(n),n.ctor=e,Object.defineProperty(e,"$type",{value:n,enumerable:!1}),Object.defineProperty(e.prototype,"$type",{value:n,enumerable:!1}),n};var Rp=0;ke.decorateEnum=function(e){if(e.$type)return e.$type;_s||(_s=_t());var i=new _s("Enum"+Rp++,e);return ke.decorateRoot.add(i),Object.defineProperty(e,"$type",{value:i,enumerable:!1}),i};ke.setProperty=function(e,i,n,r){function o(a,s,l){var c=s.shift();if(ke.isUnsafeProperty(c))return a;if(s.length>0)a[c]=o(a[c]||{},s,l);else{var u=a[c];if(u&&r)return a;u&&(l=[].concat(u).concat(l)),a[c]=l}return a}if(typeof e!="object")throw TypeError("dst must be an object");if(!i)throw TypeError("path must be specified");if(i=i.split("."),i.length>ke.recursionLimit)throw Error("max depth exceeded");return o(e,i,n)};Object.defineProperty(ke,"decorateRoot",{get:function(){return Ef.decorated||(Ef.decorated=new(yo()))}})});var wi=te(kf=>{"use strict";var ir=kf,Op=je(),Np=["double","float","int32","uint32","sint32","fixed32","sfixed32","int64","uint64","sint64","fixed64","sfixed64","bool","string","bytes"];function nr(t,e){var i=0,n=Object.create(null);for(e|=0;i<t.length;)n[Np[i+e]]=t[i++];return n}ir.basic=nr([1,5,0,0,0,5,5,0,0,0,1,1,0,2,2]);ir.defaults=nr([0,0,0,0,0,0,0,0,0,0,0,0,!1,"",Op.emptyArray,null]);ir.long=nr([0,0,0,1,1],7);ir.mapKey=nr([0,0,0,5,5,0,0,0,1,1,0,2],2);ir.packed=nr([1,5,0,0,0,5,5,0,0,0,1,1,0])});var yi=te((Y5,Af)=>{"use strict";Af.exports=Le;var or=vi();Le.prototype=Object.create(or.prototype,{constructor:{value:Le,writable:!0,enumerable:!1,configurable:!0}});Le.className="Field";var Cf=_t(),vo=wi(),Oe=je(),rr,Pp=/^(?:required|optional|repeated)$/;Le.fromJSON=function(e,i){var n=new Le(e,i.id,i.type,i.rule,i.extend,i.options,i.comment);return i.edition&&(n._edition=i.edition),i.protoName&&(n.protoName=i.protoName),i.jsonName!==void 0?n.jsonName=i.jsonName:i.options&&i.options.json_name!==void 0&&(n.jsonName=i.options.json_name),n._defaultEdition="proto3",n};function Le(t,e,i,n,r,o,a){if(Oe.isObject(n)?(a=r,o=n,n=r=void 0):Oe.isObject(r)&&(a=o,o=r,r=void 0),or.call(this,t,o),!Oe.isInteger(e)||e<0)throw TypeError("id must be a non-negative integer");if(!Oe.isString(i))throw TypeError("type must be a string");if(n!==void 0&&!Pp.test(n=n.toString().toLowerCase()))throw TypeError("rule must be a string rule");if(r!==void 0&&!Oe.isString(r))throw TypeError("extend must be a string");this.rule=n&&n!=="optional"?n:void 0,this.type=i,this.id=e,this.extend=r||void 0,this.repeated=n==="repeated",this.map=!1,this.message=null,this.partOf=null,this.typeDefault=null,this.defaultValue=null,this.long=Oe.Long?vo.long[i]!==void 0:!1,this.bytes=i==="bytes",this.resolvedType=null,this.extensionField=null,this.declaringField=null,this.comment=a,this.protoName=void 0,this.jsonName=void 0}Object.defineProperty(Le.prototype,"required",{get:function(){return this._features.field_presence==="LEGACY_REQUIRED"}});Object.defineProperty(Le.prototype,"optional",{get:function(){return!this.required}});Object.defineProperty(Le.prototype,"delimited",{get:function(){return this.resolvedType instanceof rr&&this._features.message_encoding==="DELIMITED"}});Object.defineProperty(Le.prototype,"packed",{get:function(){return this._features.repeated_field_encoding==="PACKED"}});Object.defineProperty(Le.prototype,"hasPresence",{get:function(){return this.repeated||this.map?!1:this.partOf||this.declaringField||this.extensionField||this._features.field_presence!=="IMPLICIT"}});Le.prototype.setOption=function(e,i,n){return or.prototype.setOption.call(this,e,i,n)};Le.prototype.toJSON=function(e){var i=e?!!e.keepComments:!1;return Oe.toObject(["edition",this._editionToJSON(),"rule",this.rule!=="optional"&&this.rule||void 0,"type",this.type,"id",this.id,"extend",this.extend,"protoName",this.protoName!==this.name?this.protoName:void 0,"jsonName",this.jsonName!==Oe.jsonName(this.protoName||this.name)?this.jsonName:void 0,"options",this.options,"comment",i?this.comment:void 0])};Le.prototype.resolve=function(){if(this.resolved)return this;if((this.typeDefault=vo.defaults[this.type])===void 0?(this.resolvedType=(this.declaringField?this.declaringField.parent:this.parent).lookupTypeOrEnum(this.type),this.resolvedType instanceof rr?this.typeDefault=null:this.typeDefault=this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]):this.options&&this.options.proto3_optional&&(this.typeDefault=null),this.options&&this.options.default!=null&&(this.typeDefault=this.options.default,this.resolvedType instanceof Cf&&typeof this.typeDefault=="string"&&(this.typeDefault=this.resolvedType.values[this.typeDefault])),this.options&&(this.options.packed!==void 0&&this.resolvedType&&!(this.resolvedType instanceof Cf)&&delete this.options.packed,Object.keys(this.options).length||(this.options=void 0)),this.long){var e=this.type==="uint64"||this.type==="fixed64";this.typeDefault=typeof this.typeDefault=="string"?Oe.Long.fromString(this.typeDefault,e):Oe.Long.fromNumber(this.typeDefault,e),Object.freeze&&Object.freeze(this.typeDefault)}else if(vo.long[this.type]!==void 0&&typeof this.typeDefault=="string")this.typeDefault=parseInt(this.typeDefault,10);else if(this.bytes&&typeof this.typeDefault=="string"){var i;Oe.base64.test(this.typeDefault)?Oe.base64.decode(this.typeDefault,i=Oe.newBuffer(Oe.base64.length(this.typeDefault)),0):Oe.utf8.write(this.typeDefault,i=Oe.newBuffer(Oe.utf8.length(this.typeDefault)),0),this.typeDefault=i}return this.map?this.defaultValue=Oe.emptyObject:this.repeated?this.defaultValue=Oe.emptyArray:this.defaultValue=this.typeDefault,this.parent instanceof rr&&this.parent._ctor&&(this.parent._ctor.prototype[this.name]=this.defaultValue),this.protoName===void 0&&(this.protoName=this.name),this.jsonName===void 0&&(this.jsonName=Oe.jsonName(this.protoName)),or.prototype.resolve.call(this)};Le.prototype._inferLegacyProtoFeatures=function(e){if(e!=="proto2"&&e!=="proto3")return{};var i={};if(this.rule==="required"&&(i.field_presence="LEGACY_REQUIRED"),this.parent&&vo.defaults[this.type]===void 0){var n=this.parent.get(this.type.split(".").pop());n&&n instanceof rr&&n.group&&(i.message_encoding="DELIMITED")}return this.getOption("packed")===!0?i.repeated_field_encoding="PACKED":this.getOption("packed")===!1&&(i.repeated_field_encoding="EXPANDED"),i};Le.prototype._resolveFeatures=function(e){return or.prototype._resolveFeatures.call(this,this._edition||e)};Le.d=function(e,i,n,r){return typeof i=="function"?i=Oe.decorateType(i).name:i&&typeof i=="object"&&(i=Oe.decorateEnum(i).name),function(a,s){Oe.decorateType(a.constructor).add(new Le(s,e,i,n,{default:r}))}};Le._configure=function(e){rr=e}});var ji=te((X5,Of)=>{"use strict";Of.exports=at;var So=vi();at.prototype=Object.create(So.prototype,{constructor:{value:at,writable:!0,enumerable:!1,configurable:!0}});at.className="OneOf";var Tf=yi(),wo=je();function at(t,e,i,n){if(Array.isArray(e)||(i=e,e=void 0),So.call(this,t,i),!(e===void 0||Array.isArray(e)))throw TypeError("fieldNames must be an Array");this.oneof=e||[],this.fieldsArray=[],this.comment=n}at.fromJSON=function(e,i){return new at(e,i.oneof,i.options,i.comment)};at.prototype.toJSON=function(e){var i=e?!!e.keepComments:!1;return wo.toObject(["options",this.options,"oneof",this.oneof,"comment",i?this.comment:void 0])};function Rf(t){if(t.parent)for(var e=0;e<t.fieldsArray.length;++e)t.fieldsArray[e].parent||t.parent.add(t.fieldsArray[e])}at.prototype.add=function(e){if(!(e instanceof Tf))throw TypeError("field must be a Field");return e.parent&&e.parent!==this.parent&&e.parent.remove(e),this.oneof.push(e.name),this.fieldsArray.push(e),e.partOf=this,Rf(this),this};at.prototype.remove=function(e){if(!(e instanceof Tf))throw TypeError("field must be a Field");var i=this.fieldsArray.indexOf(e);if(i<0)throw Error(e+" is not a member of "+this);return this.fieldsArray.splice(i,1),i=this.oneof.indexOf(e.name),i>-1&&this.oneof.splice(i,1),e.partOf=null,this};at.prototype.onAdd=function(e){So.prototype.onAdd.call(this,e);for(var i=this,n=0;n<this.oneof.length;++n){var r=e.get(this.oneof[n]);r&&!r.partOf&&(r.partOf=i,i.fieldsArray.push(r))}Rf(this)};at.prototype.onRemove=function(e){for(var i=0,n;i<this.fieldsArray.length;++i)(n=this.fieldsArray[i]).parent&&n.parent.remove(n);So.prototype.onRemove.call(this,e)};Object.defineProperty(at.prototype,"isProto3Optional",{get:function(){if(this.fieldsArray==null||this.fieldsArray.length!==1)return!1;var t=this.fieldsArray[0];return t.options!=null&&t.options.proto3_optional===!0}});at.d=function(){for(var e=new Array(arguments.length),i=0;i<arguments.length;)e[i]=arguments[i++];return function(r,o){wo.decorateType(r.constructor).add(new at(o,e)),Object.defineProperty(r,o,{get:wo.oneOfGetter(e),set:wo.oneOfSetter(e)})}}});var vi=te((W5,Nf)=>{"use strict";Nf.exports=Ye;Ye.className="ReflectionObject";var Mp=ji(),Ct=je(),xo,Fp={enum_type:"OPEN",field_presence:"EXPLICIT",json_format:"ALLOW",message_encoding:"LENGTH_PREFIXED",repeated_field_encoding:"PACKED",utf8_validation:"VERIFY",enforce_naming_style:"STYLE2024",default_symbol_visibility:"EXPORT_TOP_LEVEL"},Dp={enum_type:"OPEN",field_presence:"EXPLICIT",json_format:"ALLOW",message_encoding:"LENGTH_PREFIXED",repeated_field_encoding:"PACKED",utf8_validation:"VERIFY",enforce_naming_style:"STYLE_LEGACY",default_symbol_visibility:"EXPORT_ALL"},$p={enum_type:"CLOSED",field_presence:"EXPLICIT",json_format:"LEGACY_BEST_EFFORT",message_encoding:"LENGTH_PREFIXED",repeated_field_encoding:"EXPANDED",utf8_validation:"NONE",enforce_naming_style:"STYLE_LEGACY",default_symbol_visibility:"EXPORT_ALL"},zp={enum_type:"OPEN",field_presence:"IMPLICIT",json_format:"ALLOW",message_encoding:"LENGTH_PREFIXED",repeated_field_encoding:"PACKED",utf8_validation:"VERIFY",enforce_naming_style:"STYLE_LEGACY",default_symbol_visibility:"EXPORT_ALL"};function Ye(t,e){if(!Ct.isString(t))throw TypeError("name must be a string");if(e&&!Ct.isObject(e))throw TypeError("options must be an object");this.options=e,this.parsedOptions=null,this.name=t,this._edition=null,this._defaultEdition="proto2",this._features={},this._featuresResolved=!1,this.parent=null,this.resolved=!1,this.comment=null,this.filename=null}Object.defineProperties(Ye.prototype,{root:{get:function(){for(var t=this;t.parent!==null;)t=t.parent;return t}},fullName:{get:function(){for(var t=[this.name],e=this.parent;e;)t.unshift(e.name),e=e.parent;return t.join(".")}}});Ye.prototype.toJSON=function(){throw Error()};Ye.prototype.onAdd=function(e){this.parent&&this.parent!==e&&this.parent.remove(this),this.parent=e,this.resolved=!1;var i=e.root;i instanceof xo&&i._handleAdd(this)};Ye.prototype.onRemove=function(e){var i=e.root;i instanceof xo&&i._handleRemove(this),this.parent=null,this.resolved=!1};Ye.prototype.resolve=function(){return this.resolved?this:(this.root instanceof xo&&(this.resolved=!0),this)};Ye.prototype._resolveFeaturesRecursive=function(e){return this._resolveFeatures(this._edition||e)};Ye.prototype._resolveFeatures=function(e){if(!this._featuresResolved){var i={};if(!e)throw new Error("Unknown edition for "+this.fullName);var n=Ct.merge({},this.options&&this.options.features,this._inferLegacyProtoFeatures(e));if(this._edition){if(e==="proto2")i=Object.assign({},$p);else if(e==="proto3")i=Object.assign({},zp);else if(e==="2023")i=Object.assign({},Dp);else if(e==="2024")i=Object.assign({},Fp);else throw new Error("Unknown edition: "+e);this._features=Ct.merge(i,n)}else if(this.partOf instanceof Mp){var r=Ct.merge({},this.partOf._features);this._features=Ct.merge(r,n)}else if(!this.declaringField)if(this.parent){var o=Ct.merge({},this.parent._features);this._features=Ct.merge(o,n)}else throw new Error("Unable to find a parent for "+this.fullName);this.extensionField&&(this.extensionField._features=this._features),this._featuresResolved=!0}};Ye.prototype._inferLegacyProtoFeatures=function(){return{}};Ye.prototype.getOption=function(e){if(this.options&&Object.prototype.hasOwnProperty.call(this.options,e))return this.options[e]};Ye.prototype.setOption=function(e,i,n){if(e==="__proto__")return this;if(this.options||(this.options={}),/^features\./.test(e))Ct.setProperty(this.options,e,i,n);else{var r=this.getOption(e);(!n||r===void 0)&&(r!==i&&(this.resolved=!1),this.options[e]=i)}return this};Ye.prototype.setParsedOption=function(e,i,n){if(e==="__proto__")return this;this.parsedOptions||(this.parsedOptions=[]);var r=this.parsedOptions;if(n){var o=r.find(function(l){return Object.prototype.hasOwnProperty.call(l,e)});if(o){var a=o[e];Ct.setProperty(a,n,i)}else o={},o[e]=Ct.setProperty({},n,i),r.push(o)}else{var s={};s[e]=i,r.push(s)}return this};Ye.prototype.setOptions=function(e,i){if(e)for(var n=Object.keys(e),r=0;r<n.length;++r)this.setOption(n[r],e[n[r]],i);return this};Object.defineProperty(Ye.prototype,"toString",{value:function(){var e=this.constructor.className,i=this.fullName;return i.length?e+" "+i:e},writable:!0,enumerable:!1,configurable:!0});Ye.prototype._editionToJSON=function(){if(!(!this._edition||this._edition==="proto3"))return this._edition};Ye._configure=function(t){xo=t}});var _t=te((K5,Mf)=>{"use strict";Mf.exports=yt;var ks=vi();yt.prototype=Object.create(ks.prototype,{constructor:{value:yt,writable:!0,enumerable:!1,configurable:!0}});yt.className="Enum";var Pf=xn(),Cn=je();function yt(t,e,i,n,r,o){if(ks.call(this,t,i),e&&typeof e!="object")throw TypeError("values must be an object");if(this.valuesById=Object.create(null),this.values=Object.create(this.valuesById),this.comment=n,this.comments=r||{},this.valuesOptions=o,this._valuesFeatures={},this.reserved=void 0,e)for(var a=Object.keys(e),s=0;s<a.length;++s)a[s]!=="__proto__"&&typeof e[a[s]]=="number"&&(this.values[a[s]]=e[a[s]],this.valuesById[e[a[s]]]===void 0&&(this.valuesById[e[a[s]]]=a[s]))}yt.prototype._resolveFeatures=function(e){return e=this._edition||e,ks.prototype._resolveFeatures.call(this,e),Object.keys(this.values).forEach(i=>{var n=Cn.merge({},this._features);this._valuesFeatures[i]=Cn.merge(n,this.valuesOptions&&this.valuesOptions[i]&&this.valuesOptions[i].features||{})}),this};yt.fromJSON=function(e,i){var n=new yt(e,i.values,i.options,i.comment,i.comments,i.valuesOptions);return n.reserved=i.reserved,i.edition&&(n._edition=i.edition),n._defaultEdition="proto3",n};yt.prototype.toJSON=function(e){var i=e?!!e.keepComments:!1;return Cn.toObject(["edition",this._editionToJSON(),"options",this.options,"valuesOptions",this.valuesOptions,"values",this.values,"reserved",this.reserved&&this.reserved.length?this.reserved:void 0,"comment",i?this.comment:void 0,"comments",i?this.comments:void 0])};yt.prototype.add=function(e,i,n,r){if(!Cn.isString(e))throw TypeError("name must be a string");if(!Cn.isInteger(i))throw TypeError("id must be an integer");if(e==="__proto__")return this;if(this.values[e]!==void 0)throw Error("duplicate name '"+e+"' in "+this);if(this.isReservedId(i))throw Error("id "+i+" is reserved in "+this);if(this.isReservedName(e))throw Error("name '"+e+"' is reserved in "+this);if(this.valuesById[i]!==void 0){if(!(this.options&&this.options.allow_alias))throw Error("duplicate id "+i+" in "+this);this.values[e]=i}else this.valuesById[this.values[e]=i]=e;return r&&(this.valuesOptions===void 0&&(this.valuesOptions={}),this.valuesOptions[e]=r||null),this.comments[e]=n||null,this};yt.prototype.remove=function(e){if(!Cn.isString(e))throw TypeError("name must be a string");var i=this.values[e];if(i==null)throw Error("name '"+e+"' does not exist in "+this);return delete this.valuesById[i],delete this.values[e],delete this.comments[e],this.valuesOptions&&delete this.valuesOptions[e],this};yt.prototype.isReservedId=function(e){return Pf.isReservedId(this.reserved,e)};yt.prototype.isReservedName=function(e){return Pf.isReservedName(this.reserved,e)}});var ws=te((J5,Df)=>{"use strict";Df.exports=Lp;var Cs=_t(),xi=wi(),As=je();function Ff(t,e,i,n){return e.delimited?t("types[%i].encode(%s,w.uint32(%i),q+1).uint32(%i)",i,n,(e.id<<3|3)>>>0,(e.id<<3|4)>>>0):t("types[%i].encode(%s,w.uint32(%i).fork(),q+1).ldelim()",i,n,(e.id<<3|2)>>>0)}function Lp(t){for(var e=As.codegen(["m","w","q"])("if(!w)")("w=Writer.create()")("if(q===undefined)q=0")("if(q>util.recursionLimit)")('throw Error("max depth exceeded")'),i,n,r=t.fieldsArray.slice().sort(As.compareFieldsById),i=0;i<r.length;++i){var o=r[i].resolve(),a=t._fieldsArray.indexOf(o),s=o.resolvedType instanceof Cs?"int32":o.type,l=xi.basic[s];n="m"+As.safeProp(o.name),o.map?(e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){",n,o.name)("for(var ks=Object.keys(%s),i=0;i<ks.length;++i){",n),o.keyType==="bool"?e("w.uint32(%i).fork().uint32(%i).bool(util.boolFromKey(ks[i]))",(o.id<<3|2)>>>0,8|xi.mapKey[o.keyType]):xi.long[o.keyType]!==void 0?e("w.uint32(%i).fork().uint32(%i).%s(util.longFromKey(ks[i],%j))",(o.id<<3|2)>>>0,8|xi.mapKey[o.keyType],o.keyType,o.keyType==="uint64"||o.keyType==="fixed64"):e("w.uint32(%i).fork().uint32(%i).%s(ks[i])",(o.id<<3|2)>>>0,8|xi.mapKey[o.keyType],o.keyType),l===void 0?e("types[%i].encode(%s[ks[i]],w.uint32(18).fork(),q+1).ldelim().ldelim()",a,n):e(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|l,s,n),e("}")("}")):o.repeated?(e("if(%s!=null&&%s.length){",n,n),o.packed&&xi.packed[s]!==void 0?e("w.uint32(%i).%ss(%s)",(o.id<<3|2)>>>0,s,n):(e("for(var i=0;i<%s.length;++i)",n),l===void 0?Ff(e,o,a,n+"[i]"):e("w.uint32(%i).%s(%s[i])",(o.id<<3|l)>>>0,s,n)),e("}")):(o.required||(o.hasPresence||!(o.resolvedType instanceof Cs||xi.basic[s]!==void 0)?e("if(%s!=null&&Object.hasOwnProperty.call(m,%j))",n,o.name):o.resolvedType instanceof Cs?e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&%s!==%j)",n,o.name,n,o.typeDefault):s==="bool"?e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&%s!==false)",n,o.name,n):s==="string"?e('if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&%s!=="")',n,o.name,n):s==="bytes"?e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&%s.length)",n,o.name,n):s==="double"||s==="float"?e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&!Object.is(%s,0))",n,o.name,n):xi.long[s]!==void 0?e('if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&(typeof %s==="object"?%s.low||%s.high:%s!==0))',n,o.name,n,n,n,n):e("if(%s!=null&&Object.hasOwnProperty.call(m,%j)&&%s!==0)",n,o.name,n)),l===void 0?Ff(e,o,a,n):e("w.uint32(%i).%s(%s)",(o.id<<3|l)>>>0,s,n))}return e('if(m.$unknowns!=null&&Object.hasOwnProperty.call(m,"$unknowns"))')("for(var i=0;i<m.$unknowns.length;++i)")("w.raw(m.$unknowns[i])")("return w")}});var zf=te((le,$f)=>{"use strict";le=$f.exports=Uu();le.build="light";function Gp(t,e,i){return typeof e=="function"?(i=e,e=new le.Root):e||(e=new le.Root),e.load(t,i)}le.load=Gp;function Bp(t,e){return e||(e=new le.Root),e.loadSync(t)}le.loadSync=Bp;le.encoder=ws();le.decoder=ls();le.verifier=fs();le.converter=ms();le.ReflectionObject=vi();le.Namespace=xn();le.Root=yo();le.Enum=_t();le.Type=po();le.Field=yi();le.OneOf=ji();le.MapField=ro();le.Service=so();le.Method=oo();le.Message=lo();le.wrappers=gs();le.types=wi();le.util=je();le.ReflectionObject._configure(le.Root);le.Namespace._configure(le.Type,le.Service,le.Enum);le.Root._configure(le.Type,void 0,{});le.Field._configure(le.Type)});var Rs=te((Z5,Bf)=>{"use strict";Bf.exports=Gf;var Ts=/[\s{}=;:[\],'"()<>]/g,Vp=/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,qp=/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,jp=/^ *[*/]+ */,Hp=/^\s*\*?\/*/,Up=/\n/g,Yp=/\s/,Xp=/\\(.?)/g,Wp={0:"\0",r:"\r",n:`
|
|
5
|
+
`,t:" "};function Lf(t){return t.replace(Xp,function(e,i){switch(i){case"\\":case"":return i;default:return Wp[i]||""}})}Gf.unescape=Lf;function Gf(t,e){t=t.toString();var i=0,n=t.length,r=1,o=0,a={},s=[],l=null;function c(I){return Error("illegal "+I+" (line "+r+")")}function u(){var I=l==="'"?qp:Vp;I.lastIndex=i-1;var $=I.exec(t);if(!$)throw c("string");return i=I.lastIndex,w(l),l=null,Lf($[1])}function f(I){return t.charAt(I)}function h(I,$,z){var q={type:t.charAt(I++),lineEmpty:!1,leading:z},B;e?B=2:B=3;var E=I-B,A;do if(--E<0||(A=t.charAt(E))===`
|
|
6
|
+
`){q.lineEmpty=!0;break}while(A===" "||A===" ");for(var y=t.substring(I,$).split(Up),O=0;O<y.length;++O)y[O]=y[O].replace(e?Hp:jp,"").trim();q.text=y.join(`
|
|
7
|
+
`).trim(),a[r]=q,o=r}function p(I){var $=g(I),z=t.substring(I,$),q=/^\s*\/\//.test(z);return q}function g(I){for(var $=I;$<n&&f($)!==`
|
|
8
|
+
`;)$++;return $}function b(){if(s.length>0)return s.shift();if(l)return u();var I,$,z,q,B,E,A=i===0;do{if(i===n)return null;for(I=!1;Yp.test(z=f(i));)if(z===`
|
|
9
|
+
`&&(A=!0,++r),++i===n)return null;if(f(i)==="/"){if(++i===n)throw c("comment");if(f(i)==="/")if(e){if(q=i,B=!1,p(i-1)){B=!0;do{if(i=g(i),i===n||(i++,!A))break;E=p(i),E&&r++}while(E)}else i=Math.min(n,g(i)+1);B&&(h(q,i,A),A=!0),r++,I=!0}else{for(B=f(q=i+1)==="/";f(++i)!==`
|
|
10
|
+
`;)if(i===n)return null;++i,B&&(h(q,i-1,A),A=!0),++r,I=!0}else if((z=f(i))==="*"){q=i+1,B=e||f(q)==="*";do{if(z===`
|
|
11
|
+
`&&++r,++i===n)throw c("comment");$=z,z=f(i)}while($!=="*"||z!=="/");++i,B&&(h(q,i-2,A),A=!0),I=!0}else return"/"}}while(I);var y=i;Ts.lastIndex=0;var O=Ts.test(f(y++));if(!O)for(;y<n&&!Ts.test(f(y));)++y;var k=t.substring(i,i=y);return(k==='"'||k==="'")&&(l=k),k}function w(I){s.push(I)}function S(){if(!s.length){var I=b();if(I===null)return null;w(I)}return s[0]}function x(I,$){var z=S(),q=z===I;if(q)return b(),!0;if(!$)throw c("token '"+z+"', '"+I+"' expected");return!1}function F(I){var $=null,z;return I===void 0?(z=a[r-1],delete a[r-1],z&&(e||z.type==="*"||z.lineEmpty)&&($=z.leading?z.text:null)):(o<I&&S(),z=a[I],delete a[I],z&&!z.lineEmpty&&(e||z.type==="/")&&($=z.leading?null:z.text)),$}return Object.defineProperty({next:b,peek:S,push:w,skip:x,cmnt:F},"line",{get:function(){return r}})}});var Uf=te((Q5,Hf)=>{"use strict";Hf.exports=ni;ni.filename=null;ni.defaults={keepCase:!1};var Kp=Rs(),Vf=yo(),qf=po(),Eo=yi(),Jp=ro(),jf=ji(),Zp=_t(),Qp=so(),em=oo(),tm=vi(),im=wi(),ii=je(),nm=/^[1-9][0-9]*$/,rm=/^-?[1-9][0-9]*$/,om=/^0[x][0-9a-fA-F]+$/,am=/^-?0[x][0-9a-fA-F]+$/,sm=/^0[0-7]+$/,lm=/^-?0[0-7]+$/,cm=/^(?:u?int|sint|s?fixed)(?:32|64)$/,um=/^(?:uint|fixed)(?:32|64)$/,fm=ii.patterns.numberRe,Bt=/^[a-zA-Z_][a-zA-Z_0-9]*$/,At=ii.patterns.typeRefRe,dm=536870911,hm=2147483647;function ni(t,e,i){e instanceof Vf||(i=e,e=new Vf),i||(i=ni.defaults);var n=i.preferTrailingComment||!1,r=Kp(t,i.alternateCommentMode||!1),o=r.next,a=r.push,s=r.peek,l=r.skip,c=r.cmnt,u=!0,f,h,p,g="proto2",b=e,w=[],S={},x=i.keepCase?function(R){return R}:ii.camelCase;function F(){w.forEach(R=>{R._edition=g,Object.keys(S).forEach(T=>{R.getOption(T)===void 0&&R.setOption(T,S[T],!0)})})}function I(R,T,P){var M=ni.filename;return P||(ni.filename=null),Error("illegal "+(T||"token")+" '"+R+"' ("+(M?M+", ":"")+"line "+r.line+")")}function $(){var R=[],T;do{if((T=o())!=='"'&&T!=="'")throw I(T);R.push(o()),l(T),T=s()}while(T==='"'||T==="'");return R.join("")}function z(R){var T=o();switch(T){case"'":case'"':return a(T),$();case"true":case"TRUE":return!0;case"false":case"FALSE":return!1}try{return B(T,!0)}catch{if(R&&At.test(T))return T;throw I(T,"value")}}function q(R,T,P,M){var j,J;do if(T&&((j=s())==='"'||j==="'")){var se=$();if(R.push(se),g>=2023)throw I(se,"id")}else try{R.push([J=A(o(),M,P),l("to",!0)?A(o(),M,P):J])}catch(de){if(T&&At.test(j)&&g>=2023)R.push(j);else throw de}while(l(",",!0));var oe={options:void 0};oe.setOption=function(de,Re){this.options===void 0&&(this.options={}),this.options[de]=Re},D(oe,function(Re){if(Re==="option")Q(oe,Re),l(";");else throw I(Re)},function(){Ht(oe)})}function B(R,T){var P=1;switch(R.charAt(0)==="-"&&(P=-1,R=R.substring(1)),R){case"inf":case"INF":case"Inf":return P*(1/0);case"nan":case"NAN":case"Nan":case"NaN":return NaN;case"0":return P*0}if(nm.test(R))return P*parseInt(R,10);if(om.test(R))return P*parseInt(R,16);if(sm.test(R))return P*parseInt(R,8);if(fm.test(R))return P*parseFloat(R);throw I(R,"number",T)}function E(R,T,P){if(R===null)throw I(R,"end of input");if(!T&&R.charAt(0)==="-")throw I(R,P||"integer");if(R==="0"||R==="-0")return 0;var M;if(rm.test(R))M=parseInt(R,10);else if(am.test(R))M=parseInt(R,16);else if(lm.test(R))M=parseInt(R,8);else throw I(R,P||"integer");return M||0}function A(R,T,P){switch(R){case"max":case"MAX":case"Max":return P||dm}return E(R,T,"id")}function y(){if(f!==void 0)throw I("package");if(f=o(),f===null||!At.test(f))throw I(f,"name");b=b.define(f),l(";")}function O(){var R=s(),T;switch(R){case"option":if(g<"2024")throw I("option");o(),$(),l(";");return;case"weak":T=p||(p=[]),o();break;case"public":o();default:T=h||(h=[]);break}R=$(),l(";"),T.push(R)}function k(){if(l("="),g=$(),g<2023)throw I(g,"syntax");l(";")}function d(){if(l("="),g=$(),!["2023","2024"].includes(g))throw I(g,"edition");l(";")}function _(R,T,P){switch(P===void 0&&(P=0),T){case"option":return Q(R,T),l(";"),!0;case"message":return H(R,T,P+1),!0;case"enum":return Se(R,T),!0;case"export":case"local":return g<"2024"||(T=o(),T==="export"||T==="local")||T!=="message"&&T!=="enum"?!1:_(R,T,P);case"service":return Ne(R,T,P+1),!0;case"extend":return pt(R,T,P),!0}return!1}function D(R,T,P){var M=r.line;if(R&&(typeof R.comment!="string"&&(R.comment=c()),R.filename=ni.filename),l("{",!0)){for(var j;(j=o())!=="}";)T(j);l(";",!0)}else P&&P(),l(";"),R&&(typeof R.comment!="string"||n)&&(R.comment=c(M)||R.comment)}function H(R,T,P){if(P===void 0&&(P=0),P>ii.nestingLimit)throw Error("max depth exceeded");if((T=o())===null||!Bt.test(T))throw I(T,"type name");var M=new qf(T);D(M,function(J){if(!_(M,J,P))switch(J){case";":break;case"map":re(M,J);break;case"required":if(g!=="proto2")throw I(J);case"repeated":U(M,J,void 0,P+1);break;case"optional":if(g==="proto3")U(M,"proto3_optional",void 0,P+1);else{if(g!=="proto2")throw I(J);U(M,"optional",void 0,P+1)}break;case"oneof":we(M,J,P+1);break;case"extensions":q(M.extensions||(M.extensions=[]));break;case"reserved":q(M.reserved||(M.reserved=[]),!0);break;default:if(g==="proto2"||!At.test(J))throw I(J);a(J),U(M,"optional",void 0,P+1);break}}),R.add(M),R===b&&w.push(M)}function U(R,T,P,M){var j=o();if(j===null)throw I(j,"end of input");if(j==="group"){K(R,T,P,M);return}for(;j.endsWith(".")||(s()||"").startsWith(".");){var J=o();if(J===null)throw I(J,"end of input");j+=J}if(!At.test(j))throw I(j,"type");var se=o();if(se===null)throw I(se,"end of input");if(!Bt.test(se))throw I(se,"name");var oe=se;se=x(se),l("=");var de=new Eo(se,A(o()),j,T==="proto3_optional"?"optional":T,P);if(oe!==se&&(de.protoName=oe),D(de,function(xe){if(xe==="option")Q(de,xe),l(";");else throw I(xe)},function(){Ht(de)}),T==="proto3_optional"){var Re=new jf("_"+se);de.setOption("proto3_optional",!0),Re.add(de),R.add(Re)}else R.add(de);R===b&&w.push(de)}function K(R,T,P,M){if(M===void 0&&(M=0),M>ii.nestingLimit)throw Error("max depth exceeded");if(g>=2023)throw I("group");var j=o();if(j===null||!Bt.test(j))throw I(j,"name");var J=ii.lcFirst(j);j===J&&(j=ii.ucFirst(j)),l("=");var se=A(o()),oe=new qf(j);oe.group=!0;var de=new Eo(J,se,j,T,P);de.filename=ni.filename,D(oe,function(Me){switch(Me){case";":break;case"map":re(oe);break;case"option":Q(oe,Me),l(";");break;case"required":case"repeated":U(oe,Me,void 0,M+1);break;case"optional":g==="proto3"?U(oe,"proto3_optional",void 0,M+1):U(oe,"optional",void 0,M+1);break;case"message":H(oe,Me,M+1);break;case"enum":Se(oe,Me);break;case"reserved":q(oe.reserved||(oe.reserved=[]),!0);break;case"export":case"local":if(g<"2024")throw I(Me);switch(Me=o(),Me){case"message":H(oe,Me,M+1);break;case"enum":H(oe,Me,M+1);break;default:throw I(Me)}break;default:throw I(Me)}}),R.add(oe).add(de),R===b&&(w.push(oe),w.push(de))}function re(R){l("<");var T=o();if(im.mapKey[T]===void 0)throw I(T,"type");l(",");var P=o();if(!At.test(P))throw I(P,"type");l(">");var M=o();if(M===null||!Bt.test(M))throw I(M,"name");l("=");var j=M;M=x(M);var J=new Jp(M,A(o()),T,P);j!==M&&(J.protoName=j),D(J,function(oe){if(oe==="option")Q(J,oe),l(";");else throw I(oe)},function(){Ht(J)}),R.add(J)}function we(R,T,P){if((T=o())===null||!Bt.test(T))throw I(T,"name");var M=new jf(x(T));D(M,function(J){J==="option"?(Q(M,J),l(";")):(a(J),U(M,"optional",void 0,P))}),R.add(M)}function Se(R,T){if((T=o())===null||!Bt.test(T))throw I(T,"name");var P=new Zp(T),M=[];D(P,function(se){switch(se){case";":break;case"option":Q(P,se),l(";");break;case"reserved":q(P.reserved||(P.reserved=[]),!0,hm,!0),P.reserved===void 0&&(P.reserved=[]);break;default:M.push(me(se))}});for(var j=0;j<M.length;++j)P.add(M[j].name,M[j].id,M[j].comment,M[j].options);R.add(P),R===b&&w.push(P)}function me(R){if(!Bt.test(R))throw I(R,"name");l("=");var T=A(o(),!0),P={options:void 0};return P.getOption=function(M){return this.options[M]},P.setOption=function(M,j){tm.prototype.setOption.call(P,M,j)},P.setParsedOption=function(){},D(P,function(j){if(j==="option")Q(P,j),l(";");else throw I(j)},function(){Ht(P)}),{name:R,id:T,comment:P.comment,options:P.parsedOptions||P.options}}function Q(R,T){var P,M,j=!0;for(T==="option"&&(T=o());T!=="=";){if(T===null)throw I(T,"end of input");if(T==="("){var J=o();l(")"),T="("+J+")"}if(j){if(j=!1,T.includes(".")&&!T.includes("(")){var se=T.split(".");P=se[0]+".",T=se[1];continue}P=T}else M=M?M+=T:T;T=o()}var oe=M?P.concat(M):P,de=fe(R,oe);M=M&&M[0]==="."?M.slice(1):M,P=P&&P[P.length-1]==="."?P.slice(0,-1):P,St(R,P,de,M)}function fe(R,T,P){if(P===void 0&&(P=0),P>ii.recursionLimit)throw Error("max depth exceeded");if(l("{",!0)){for(var M={};!l("}",!0);){ge=o();var j;if(ge===null)throw I(ge,"end of input");if(ge==="["){ge=o();var J=ge===null?-1:ge.lastIndexOf("/");if(ge===null||!At.test(J<0?ge:ge.slice(J+1)))throw I(ge,"name");j="["+ge+"]",l("]")}else{if(!Bt.test(ge))throw I(ge,"name");j=ge}var se;if(l(":",!0),s()==="{")se=fe(R,T+"."+j,P+1);else if(s()==="["){se=[];var oe,de;if(l("[",!0)&&!l("]",!0)){do de=s()==="{",oe=de?fe(R,T+"."+j,P+1):z(!0),se.push(oe);while(l(",",!0));l("]"),typeof oe<"u"&&(de||Ie(R,T+"."+j,oe))}}else se=z(!0),Ie(R,T+"."+j,se);var Re=Object.prototype.hasOwnProperty.call(M,j)?M[j]:void 0;Re&&(se=[].concat(Re).concat(se)),j!=="__proto__"&&(M[j]=se),l(",",!0),l(";",!0)}return M}var Me=T==="default"&&R instanceof Eo&&cm.test(R.type)?E(o(),!um.test(R.type)):z(!0);return Ie(R,T,Me),Me}function Ie(R,T,P){if(b===R&&/^features\./.test(T)){S[T]=P;return}T==="json_name"&&R instanceof Eo&&(R.jsonName=P),R.setOption&&R.setOption(T,P)}function St(R,T,P,M){R.setParsedOption&&R.setParsedOption(T,P,M)}function Ht(R){if(l("[",!0)){do Q(R,"option");while(l(",",!0));l("]")}return R}function Ne(R,T,P){if(P===void 0&&(P=0),P>ii.recursionLimit)throw Error("max depth exceeded");if((T=o())===null||!Bt.test(T))throw I(T,"service name");var M=new Qp(T);D(M,function(J){if(!_(M,J,P)&&J!==";")if(J==="rpc")ht(M,J);else throw I(J)}),R.add(M),R===b&&w.push(M)}function ht(R,T){var P=c(),M=T;if(!Bt.test(T=o()))throw I(T,"name");var j=T,J,se,oe,de;if(l("("),l("stream",!0)&&(se=!0),!At.test(T=o())||(J=T,l(")"),l("returns"),l("("),l("stream",!0)&&(de=!0),!At.test(T=o())))throw I(T);oe=T,l(")");var Re=new em(j,M,J,oe,se,de);Re.comment=P,D(Re,function(xe){if(xe!==";")if(xe==="option")Q(Re,xe),l(";");else throw I(xe)}),R.add(Re)}function pt(R,T,P){if((T=o())===null||!At.test(T))throw I(T,"reference");var M=T;D(null,function(J){switch(J){case"required":case"repeated":U(R,J,M,P+1);break;case"optional":g==="proto3"?U(R,"proto3_optional",M,P+1):U(R,"optional",M,P+1);break;default:if(g==="proto2"||!At.test(J))throw I(J);a(J),U(R,"optional",M,P+1);break}})}for(var ge;(ge=o())!==null;)switch(ge){case";":break;case"package":if(!u)throw I(ge);y();break;case"import":O();break;case"syntax":if(!u)throw I(ge);k();break;case"edition":if(!u)throw I(ge);d();break;case"option":Q(b,ge),l(";",!0);break;default:if(_(b,ge,0)){u=!1;continue}throw I(ge)}return F(),ni.filename=null,{package:f,imports:h,weakImports:p,root:e}}});var Wf=te((e3,Xf)=>{"use strict";Xf.exports=Tt;var pm=/\/|\./;function Tt(t,e){pm.test(t)||(t="google/protobuf/"+t+".proto",e={nested:{google:{nested:{protobuf:{nested:e}}}}}),Tt[t]=e}Tt("any",{Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}}});var Yf;Tt("duration",{Duration:Yf={fields:{seconds:{type:"int64",id:1},nanos:{type:"int32",id:2}}}});Tt("timestamp",{Timestamp:Yf});Tt("empty",{Empty:{fields:{}}});Tt("struct",{Struct:{fields:{fields:{keyType:"string",type:"Value",id:1}}},Value:{oneofs:{kind:{oneof:["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},fields:{nullValue:{type:"NullValue",id:1,protoName:"null_value"},numberValue:{type:"double",id:2,protoName:"number_value"},stringValue:{type:"string",id:3,protoName:"string_value"},boolValue:{type:"bool",id:4,protoName:"bool_value"},structValue:{type:"Struct",id:5,protoName:"struct_value"},listValue:{type:"ListValue",id:6,protoName:"list_value"}}},NullValue:{values:{NULL_VALUE:0}},ListValue:{fields:{values:{rule:"repeated",type:"Value",id:1}}}});Tt("wrappers",{DoubleValue:{fields:{value:{type:"double",id:1}}},FloatValue:{fields:{value:{type:"float",id:1}}},Int64Value:{fields:{value:{type:"int64",id:1}}},UInt64Value:{fields:{value:{type:"uint64",id:1}}},Int32Value:{fields:{value:{type:"int32",id:1}}},UInt32Value:{fields:{value:{type:"uint32",id:1}}},BoolValue:{fields:{value:{type:"bool",id:1}}},StringValue:{fields:{value:{type:"string",id:1}}},BytesValue:{fields:{value:{type:"bytes",id:1}}}});Tt("field_mask",{FieldMask:{fields:{paths:{rule:"repeated",type:"string",id:1}}}});Tt.get=function(e){return Tt[e]||null}});var Jf=te((Vt,Kf)=>{"use strict";Vt=Kf.exports=zf();Vt.build="full";Vt.tokenize=Rs();Vt.parse=Uf();Vt.common=Wf();Vt.Root._configure(Vt.Type,Vt.parse,Vt.common)});var Qf=te((t3,Zf)=>{"use strict";Zf.exports=Jf()});import{existsSync as Vh,readFileSync as qh,realpathSync as J2}from"node:fs";import{relative as Z2}from"node:path";import{Worker as A2}from"node:worker_threads";import{existsSync as T2,mkdirSync as wh,readFileSync as Jl,writeFileSync as Sh}from"node:fs";import{basename as R2,dirname as xh}from"node:path";import{existsSync as Ir,readFileSync as ab}from"node:fs";import{randomUUID as N0}from"node:crypto";import{isAbsolute as fc,win32 as dc}from"node:path";function Nr(t,e=!1){let i=String(t??"").trim().replaceAll("\\","/");if(e&&(!i||i==="."))return"";if(!i||fc(i)||dc.isAbsolute(i)||i.split("/").some(n=>!n||n==="."||n===".."||/[<>:"|?*\x00-\x1f]/.test(n)||/[. ]$/.test(n)||/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\.|$)/i.test(n)))throw new Error("\u811A\u672C\u76EE\u5F55/\u8DEF\u5F84\u5FC5\u987B\u662F\u6709\u6548\u7684\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u4E0D\u80FD\u5305\u542B .. \u6216 Windows \u7279\u6B8A\u6587\u4EF6\u540D");return i}function qn(t){if(t==null)return null;if(t.version!==1)throw new Error("unsupported scriptSync version");let e=String(t.clientImportRoot||"").trim();if(!fc(e)&&!dc.isAbsolute(e))throw new Error("\u5B9E\u673A\u5BFC\u5165\u6839\u76EE\u5F55\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84");return{version:1,workspaceDir:Nr(t.workspaceDir,!0),clientImportRoot:e,clientSubdir:Nr(t.clientSubdir,!0)}}import{basename as Dn,dirname as sb,isAbsolute as lb,join as P0,resolve as M0}from"node:path";var hc="https://oss.070077.xyz/prefabs/",jn="prefab-v1",m1=[[10003004,10003004],[10005001,10005142],[10006001,10006002],[10007002,10007002],[10008001,10008001],[10009001,10009011],[20001001,20001074],[20001076,20001121],[20001123,20001156],[20001158,20001302],[20001304,20001568],[20001570,20001999],[20002001,20002755],[20002757,20002999],[20003001,20003455],[30001001,30001016],[30002001,30002017],[30003001,30003011],[30004001,30004001],[30005001,30005020],[30006001,30006026],[30007001,30007013],[30008001,30008011]];function Pr(t){return!Number.isSafeInteger(t)||!m1.some(([e,i])=>t>=e&&t<=i)?null:t===10003004||t===10008001?128:256}var Mr="https://oss.070077.xyz/images/",ma="sprite-v1",Fr="/qxqy-assets/",g1=[[100001,100006],[100101,100213],[101001,101018],[101020,101028],[101030,101046],[101048,101048],[101050,101054],[101056,101080],[102001,102052],[103001,103148],[104001,104010],[105001,105140],[105142,105219],[105221,105317],[106001,106047],[106049,106096],[107001,107007],[107010,107020],[107031,107092],[107094,107180],[107183,107201],[107203,107205],[107207,107228],[107231,107278],[107280,107402],[108001,108017],[108019,108020],[109001,109031],[109033,109034],[109036,109075],[110001,110053],[111001,111139],[112001,112042]];function ct(t){return t==null||t===""?"StaticReference":typeof t=="string"?t:typeof t.Name=="string"?t.Name:"Unknown"}function Dr(t,e){return`${ct(e)}:${t}`}function pc(t,e){return ct(e)==="StaticReference"&&si(t,e)}function si(t,e){let i=ct(e);return i==="Prefab"?Pr(t)!==null:i==="StaticReference"&&Number.isSafeInteger(t)&&t>100006&&g1.some(([n,r])=>t>=n&&t<=r)}var $r="7.1.0",qe=Object.freeze(["KEYBOARD","TOUCHSCREEN","CONTROLLER_CONSOLE","CONTROLLER_MOBILE"]),_e=Object.freeze({"pc-16-9":{id:"pc-16-9",device:"pc",platform:"KEYBOARD",width:1600,height:900,ratio:"16:9",luaDevice:"KeyboardAndMouse",label:"PC 1600\xD7900"},"pc-21-9":{id:"pc-21-9",device:"pc",platform:"KEYBOARD",width:2100,height:900,ratio:"21:9",luaDevice:"KeyboardAndMouse",label:"PC 2100\xD7900"},"mobile-16-9":{id:"mobile-16-9",device:"mobile",platform:"TOUCHSCREEN",width:1280,height:720,ratio:"16:9",luaDevice:"Mobile",label:"\u624B\u673A 1280\xD7720"},"mobile-19.5-9":{id:"mobile-19.5-9",device:"mobile",platform:"TOUCHSCREEN",width:1560,height:720,ratio:"19.5:9",luaDevice:"Mobile",label:"\u624B\u673A 1560\xD7720"},"mobile-4-3":{id:"mobile-4-3",device:"mobile",platform:"TOUCHSCREEN",width:1280,height:960,ratio:"4:3",luaDevice:"Mobile",label:"\u624B\u673A 1280\xD7960"}}),zr="pc-16-9",Ze=2,on=Object.freeze({KEYBOARD:"pc-16-9",TOUCHSCREEN:"mobile-16-9",CONTROLLER_CONSOLE:"pc-16-9",CONTROLLER_MOBILE:"mobile-16-9"}),an=Object.freeze({"server-container":"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u5BB9\u5668",container:"\u5BB9\u5668\u8282\u70B9",textbox:"\u6587\u672C\u6846",image:"\u56FE\u7247",button:"\u9884\u8BBE\u6309\u94AE",cursor:"\u5149\u6807\u68C0\u6D4B\u533A\u57DF",grid:"\u7F51\u683C\u89C6\u7A97",reference:"\u6A21\u677F\u5F15\u7528\u63A7\u4EF6",textwindow:"\u6587\u672C\u89C6\u7A97",keyhint:"\u6309\u952E\u63D0\u793A",animation:"\u754C\u9762\u52A8\u6548",fullscreen:"\u5168\u5C4F\u52A8\u6548"}),Lr=Object.freeze(["server-container","container","textbox","cursor","reference","grid","image","button","textwindow","keyhint","animation","fullscreen"]),mc=Object.freeze({"server-container":null,container:[150,150],textbox:[100,40],image:[80,80],button:[150,50],cursor:[150,50],grid:[80,80],reference:[80,80],textwindow:[100,40],keyhint:[40,40],animation:[100,100],fullscreen:null}),b1=Object.freeze({100001:"rect",100002:"circle",100003:"triangle",100004:"fourstar",100005:"fivestar",100006:"ring"});function sn(t,e){return ct(e)==="StaticReference"&&b1[t]||(si(t,e)?"sprite":"missing")}var gc=50888,Hn=Object.freeze({font:4294967295,bg:16777215,outline:858993459,image:4294967295});function ln(t,e="$",i=new Set){if(t===void 0)throw new Error(`undefined at ${e}`);if(typeof t=="number"&&!Number.isFinite(t))throw new Error(`non-finite number at ${e}`);if(typeof t=="bigint"||typeof t=="function"||typeof t=="symbol")throw new Error(`non-JSON value at ${e}`);if(!(t===null||typeof t!="object")){if(i.has(t))throw new Error(`circular value at ${e}`);if(i.add(t),Array.isArray(t))t.forEach((n,r)=>ln(n,`${e}[${r}]`,i));else for(let[n,r]of Object.entries(t))ln(r,`${e}.${n}`,i);i.delete(t)}}function ie(t){return ln(t),JSON.parse(JSON.stringify(t))}function bc(t,e="$"){ln(t,e)}function yc(t){return _e[t]||_e[zr]}function Un(t,e=0,i=0){return!t||typeof t!="object"?{x:e,y:i}:{x:Number(t.x??e),y:Number(t.y??i)}}function y1(t){return!t||typeof t!="object"?{x:1,y:1,z:1}:{x:Number(t.x??1),y:Number(t.y??1),z:Number(t.z??1)}}function v1(t){return!t||typeof t!="object"?{x:0,y:0,z:0}:{x:Number(t.x??0),y:Number(t.y??0),z:Number(t.z??0)}}function Gr({layout:t="center",size:e=[100,40],offset:i=[0,0]}={}){return t==="stretch"?{scale:{x:1,y:1,z:1},rotation:{x:0,y:0,z:0},anchorMin:{x:0,y:0},anchorMax:{x:1,y:1},offset:{x:0,y:0},size:{x:0,y:0},pivot:{x:.5,y:.5}}:{scale:{x:1,y:1,z:1},rotation:{x:0,y:0,z:0},anchorMin:{x:.5,y:.5},anchorMax:{x:.5,y:.5},offset:{x:Number(i[0]??0),y:Number(i[1]??0)},size:{x:Number(e[0]??0),y:Number(e[1]??0)},pivot:{x:.5,y:.5}}}function Ft(t){let e=t||Gr();return{scale:y1(e.scale),rotation:v1(e.rotation),anchorMin:Un(e.anchorMin??e.anchor_min,.5,.5),anchorMax:Un(e.anchorMax??e.anchor_max,.5,.5),offset:Un(e.offset,0,0),size:Un(e.size,0,0),pivot:Un(e.pivot,.5,.5)}}function He(t,e=0){let i=Number(t);return Number.isFinite(i)?i:e}function Yt(t,e){let i=t.width,n=t.height,r=t.left,o=t.bottom,a=e.anchorMin||{x:e.anchorMinX,y:e.anchorMinY},s=e.anchorMax||{x:e.anchorMaxX,y:e.anchorMaxY},l=e.offset||{x:e.anchoredPositionX,y:e.anchoredPositionY},c=e.size||{x:e.sizeDeltaX,y:e.sizeDeltaY},u=e.pivot||{x:e.pivotX,y:e.pivotY},f=He(a?.x,.5)*i,h=He(a?.y,.5)*n,p=He(s?.x,.5)*i,g=He(s?.y,.5)*n,b=He(c?.x),w=He(c?.y),S=He(u?.x,.5),x=He(u?.y,.5),F=p-f+b,I=g-h+w,$=r+f+He(l?.x)-b*S,z=o+h+He(l?.y)-w*x;return{left:$,bottom:z,width:F,height:I,right:$+F,top:z+I,centerX:$+F/2,centerY:z+I/2}}function cn(){return{a:1,b:0,c:0,d:1,tx:0,ty:0}}function w1(t,e){return{a:t.a*e.a+t.c*e.b,b:t.b*e.a+t.d*e.b,c:t.a*e.c+t.c*e.d,d:t.b*e.c+t.d*e.d,tx:t.a*e.tx+t.c*e.ty+t.tx,ty:t.b*e.tx+t.d*e.ty+t.ty}}function nt(t,e,i){return{x:t.a*e+t.c*i+t.tx,y:t.b*e+t.d*i+t.ty}}function Xt(t){let e=t.a*t.d-t.b*t.c;return!Number.isFinite(e)||Math.abs(e)<1e-8?null:{a:t.d/e,b:-t.b/e,c:-t.c/e,d:t.a/e,tx:(t.c*t.ty-t.d*t.tx)/e,ty:(t.b*t.tx-t.a*t.ty)/e}}function ga(t,e){let i=e.rotation||{x:e.localRotationX,y:e.localRotationY,z:e.localRotationZ},n=e.scale||{x:e.localScaleX,y:e.localScaleY},r=e.pivot||{x:e.pivotX,y:e.pivotY},o=He(i?.z)*Math.PI/180,a=Math.cos(o),s=Math.sin(o),l=He(i?.x)*Math.PI/180,c=He(i?.y)*Math.PI/180,u=Math.cos(l),f=Math.sin(l),h=Math.cos(c),p=Math.sin(c),g=q=>Math.abs(q)<1e-12?0:q,b=He(n?.x,1),w=He(n?.y,1),S=t.left+t.width*He(r?.x,.5),x=t.bottom+t.height*He(r?.y,.5),F=g(h*a+p*f*s)*b,I=g(u*s)*b,$=g(-h*s+p*f*a)*w,z=g(u*a)*w;return{a:F,b:I,c:$,d:z,tx:S-F*S-$*x,ty:x-I*S-z*x}}function Yn(t,e,i){return w1(t||cn(),ga(e,i))}function vc(t,e){let i=nt(e,t.centerX,t.centerY),n=Math.abs(t.width*Math.hypot(e.a,e.b)),r=Math.abs(t.height*Math.hypot(e.c,e.d));return{left:i.x-n/2,bottom:i.y-r/2,width:n,height:r,centerX:i.x,centerY:i.y,rotationZ:Math.atan2(e.b,e.a)*180/Math.PI}}function Qe(t){let e=typeof t=="string"?yc(t):t;return{left:0,bottom:0,width:e.width,height:e.height,right:e.width,top:e.height,centerX:e.width/2,centerY:e.height/2}}function ba(t){return{posX:t.centerX,posY:t.centerY,width:t.width,height:t.height}}function Oi(t,e,i){let n=Ft(e),r=t.width,o=t.height,a=n.anchorMin.x*r,s=n.anchorMin.y*o,l=n.anchorMax.x*r,c=n.anchorMax.y*o,u=Number(i.width),f=Number(i.height),h=Number(i.posX),p=Number(i.posY),g=h-u/2,b=p-f/2;return n.size={x:u-(l-a),y:f-(c-s)},n.offset={x:g-t.left-a+n.size.x*n.pivot.x,y:b-t.bottom-s+n.size.y*n.pivot.y},n}function wc(t,e){let i=Ft(t),r={"bottom-left":[[0,0],[0,0],[0,0]],bottom:[[.5,0],[.5,0],[.5,0]],"bottom-right":[[1,0],[1,0],[1,0]],left:[[0,.5],[0,.5],[0,.5]],center:[[.5,.5],[.5,.5],[.5,.5]],right:[[1,.5],[1,.5],[1,.5]],"top-left":[[0,1],[0,1],[0,1]],top:[[.5,1],[.5,1],[.5,1]],"top-right":[[1,1],[1,1],[1,1]],stretch:[[0,0],[1,1],[.5,.5]],"stretch-horizontal":[[0,.5],[1,.5],[.5,.5]],"stretch-vertical":[[.5,0],[.5,1],[.5,.5]]}[e];return r&&(i.anchorMin={x:r[0][0],y:r[0][1]},i.anchorMax={x:r[1][0],y:r[1][1]},i.pivot={x:r[2][0],y:r[2][1]}),i}function Sc(t){let e=Ft(t),i=(n,r)=>Math.abs(n-r)<1e-4;if(i(e.anchorMin.x,0)&&i(e.anchorMin.y,0)&&i(e.anchorMax.x,1)&&i(e.anchorMax.y,1))return"stretch";if(i(e.anchorMin.x,e.anchorMax.x)&&i(e.anchorMin.y,e.anchorMax.y)){let n=e.anchorMin.x,r=e.anchorMin.y,o=[[0,0,"bottom-left"],[.5,0,"bottom"],[1,0,"bottom-right"],[0,.5,"left"],[.5,.5,"center"],[1,.5,"right"],[0,1,"top-left"],[.5,1,"top"],[1,1,"top-right"]];for(let a of o)if(i(n,a[0])&&i(r,a[1]))return a[2]}return"custom"}function Ni(t){return yc(t).platform}function xc(t){let e={};for(let i of qe)e[i]=t(i);return e}var S1={scale:["x","y","z"],rotation:["x","y","z"],anchorMin:["x","y"],anchorMax:["x","y"],offset:["x","y"],size:["x","y"],pivot:["x","y"]};function Ec(t,e){for(let[i,n]of Object.entries(S1))for(let r of n)if(!Number.isFinite(t?.[i]?.[r]))throw new Error(`${e}.${i}.${r} must be a finite number`)}function li(t,e="transformByPlatform"){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e}: \u9700\u8981\u5B8C\u6574\u7684\u56DB\u5E73\u53F0\u5E03\u5C40`);for(let i of Object.keys(t))if(!qe.includes(i))throw new Error(`${e}: unknown platform ${i}`);for(let i of qe)Ec(t[i],`${e}.${i}`)}function Pi(t){if(Object.hasOwn(t,"transformByCanvas"))throw new Error(`${t.name||t.id||"\u63A7\u4EF6"}: \u4E0D\u518D\u652F\u6301 transformByCanvas\uFF1B\u8BF7\u4F7F\u7528\u56DB\u5E73\u53F0 transformByPlatform \u5E03\u5C40`);li(t.transformByPlatform,`${t.name||t.id||"\u63A7\u4EF6"}.transformByPlatform`)}function Mi(t,e){if(!qe.includes(e))throw new Error(`unknown platform ${e}`);return Ec(t?.[e],`transformByPlatform.${e}`),Ft(t[e])}var x1=Object.freeze([{key:"genericField501",label:"\u901A\u7528\u69FD field501",type:"number",defaultValue:0,wire:"GenericSlot.field501"},{key:"footerField505",label:"\u5C3E\u90E8\u69FD field505",type:"number",defaultValue:0,wire:"FooterSlot.field505"}]),E1=Object.freeze({container:[],textbox:[{key:"textField501",label:"\u6587\u672C\u914D\u7F6E field501",type:"number",defaultValue:20,wire:"TextConfig.field501"},{key:"textField503",label:"\u6587\u672C\u914D\u7F6E field503",type:"number",defaultValue:12,wire:"TextConfig.field503"},{key:"textAlign",label:"\u6C34\u5E73\u5BF9\u9F50\u679A\u4E3E\u539F\u59CB\u503C",type:"enum",defaultValue:0,wire:"TextConfig.align",options:[{value:0,label:"0 \xB7 \u5DE6\u5BF9\u9F50"},{value:1,label:"1 \xB7 \u5C45\u4E2D"},{value:2,label:"2 \xB7 \u53F3\u5BF9\u9F50"}]}],textwindow:[{key:"textField501",label:"\u6587\u672C\u914D\u7F6E field501",type:"number",defaultValue:20,wire:"TextConfig.field501"},{key:"textField503",label:"\u6587\u672C\u914D\u7F6E field503",type:"number",defaultValue:12,wire:"TextConfig.field503"},{key:"textAlign",label:"\u6C34\u5E73\u5BF9\u9F50\u679A\u4E3E\u539F\u59CB\u503C",type:"enum",defaultValue:0,wire:"TextConfig.align",options:[{value:0,label:"0 \xB7 \u5DE6\u5BF9\u9F50"},{value:1,label:"1 \xB7 \u5C45\u4E2D"},{value:2,label:"2 \xB7 \u53F3\u5BF9\u9F50"}]},{key:"textField511",label:"\u6587\u672C\u89C6\u7A97 field511",type:"number",defaultValue:1,wire:"TextConfig.field511"},{key:"textViewField502",label:"\u89C6\u7A97\u6807\u8BB0 field502",type:"number",defaultValue:1,wire:"TextConfig.viewFlags.field502"},{key:"textViewField503",label:"\u89C6\u7A97\u6807\u8BB0 field503",type:"number",defaultValue:1,wire:"TextConfig.viewFlags.field503"}],cursor:[{key:"cursorField501",label:"\u5149\u6807\u68C0\u6D4B field501",type:"number",defaultValue:1,wire:"CursorConfig.field501"}],reference:[{key:"templateRefSlot",label:"\u6A21\u677F\u5F15\u7528\u69FD\u539F\u59CB\u503C",type:"string",defaultValue:"",wire:"Details.templateRefSlot"}],grid:[{key:"gridField501",label:"\u7F51\u683C\u6807\u8BB0 field501",type:"number",defaultValue:1,wire:"GridViewConfig.field501"},{key:"gridField507",label:"\u7F51\u683C\u6807\u8BB0 field507",type:"number",defaultValue:1,wire:"GridViewConfig.field507"},{key:"gridField508",label:"\u7F51\u683C\u6807\u8BB0 field508",type:"number",defaultValue:1,wire:"GridViewConfig.field508"},{key:"gridField509",label:"\u7F51\u683C\u6807\u8BB0 field509",type:"number",defaultValue:1,wire:"GridViewConfig.field509"},{key:"gridField511",label:"\u7F51\u683C\u6807\u8BB0 field511",type:"number",defaultValue:5,wire:"GridViewConfig.field511"},{key:"gridField512",label:"\u7F51\u683C\u6807\u8BB0 field512",type:"number",defaultValue:1,wire:"GridViewConfig.field512"}],keyhint:[{key:"keyHintField501",label:"\u6309\u952E\u63D0\u793A field501",type:"number",defaultValue:1,wire:"KeyHintConfig.field501"},{key:"keyHintField502",label:"\u952E\u9F20\u952E\u4F4D\u539F\u59CB\u503C",type:"number",defaultValue:1,wire:"KeyHintConfig.field502"}],image:[{key:"imageSlotType",label:"\u56FE\u7247\u7C7B\u578B\u539F\u59CB\u503C",type:"number",defaultValue:0,wire:"ImageSlotConfig.imageType"},{key:"imageField502",label:"\u56FE\u7247\u6807\u8BB0 field502",type:"number",defaultValue:1,wire:"ImageConfig.field502"},{key:"imageField504",label:"\u56FE\u7247\u6807\u8BB0 field504",type:"number",defaultValue:1,wire:"ImageConfig.field504"},{key:"imageField505",label:"\u56FE\u7247\u6807\u8BB0 field505",type:"number",defaultValue:1,wire:"ImageConfig.field505"},{key:"imageField507",label:"\u56FE\u7247\u6807\u8BB0 field507",type:"number",defaultValue:2,wire:"ImageConfig.field507"},{key:"imageFillType",label:"\u586B\u5145\u5F62\u72B6\u679A\u4E3E\u539F\u59CB\u503C",type:"enum",defaultValue:1,wire:"ImageConfig.fillType",options:[{value:1,label:"1 \xB7 \u6A2A\u5411"},{value:2,label:"2 \xB7 \u7EB5\u5411"},{value:3,label:"3 \xB7 90\u5EA6\u73AF\u7ED5"},{value:4,label:"4 \xB7 180\u5EA6\u73AF\u7ED5"},{value:5,label:"5 \xB7 360\u5EA6\u73AF\u7ED5"}]}],animation:[{key:"effectSlot",label:"\u754C\u9762\u52A8\u6548\u69FD\u539F\u59CB\u503C",type:"string",defaultValue:"",wire:"Details.effectSlot"}],fullscreen:[{key:"fullscreenEffectSlot",label:"\u5168\u5C4F\u52A8\u6548\u69FD\u539F\u59CB\u503C",type:"string",defaultValue:"",wire:"Details.fullscreenEffectSlot"}]});function Ic(t){return[...x1,...E1[t]||[]]}function _c(t,e){return Ic(t).find(i=>i.key===e)||null}function ya(t,e){if(!t)throw new Error("unknown raw GIA field");if(t.type==="string")return String(e??"");let i=Number(e);if(!Number.isFinite(i))throw new Error(`${t.wire} must be a finite number`);return Math.trunc(i)}function kc(t,e={}){let i={};for(let n of Ic(t)){let r=Object.hasOwn(e||{},n.key)?e[n.key]:n.defaultValue;i[n.key]=ya(n,r)}if(t==="reference")for(let n of["templateRefSlotBase64","templateRefOuterBase64"]){if(!Object.hasOwn(e||{},n))continue;let r=e[n];if(typeof r!="string"||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(r))throw new Error(`${n} must be base64`);r&&(i[n]=r)}return i}function mt(t){let e=Number(t);return Number.isSafeInteger(e)&&e>=1073741824&&e<=1077936127}function Wt(t){let e=Number(t);return Number.isSafeInteger(e)&&e>0&&e<=2147483647}function va(t,e){if(Wt(t)&&!mt(t))throw new Error(`${e||"\u8D44\u4EA7"}: \u7D22\u5F15 ${t} \u8D85\u51FA 1073741824\u20131077936127\uFF1B\u8BF7\u5148\u6821\u51C6\u7D22\u5F15\u5E76\u6838\u5BF9 Lua \u5F15\u7528\uFF0C\u5BFC\u51FA\u4E0D\u4F1A\u81EA\u52A8\u91CD\u7F16\u53F7\u3002`)}function wa(t,e){if(t){e(t);for(let i of t.children||[])wa(i,e)}}function un(t,e=new Set,{skipServerContainer:i=!1}={}){return wa(t,n=>{i&&n.kind==="server-container"||mt(n.guid)&&e.add(Number(n.guid))}),e}function ci(t,e=1073741850){let i=Number.isSafeInteger(e)&&e>0?e:1073741850;i<1073741850&&(i=1073741850);for(let n of t)mt(n)&&n>=i&&(i=Number(n)+1);for(;t.has(i);)i+=1;if(i>1077936127)throw new Error("GUID space exhausted");return i}function Cc(t,e=new Set,{skipServerContainer:i=!1}={}){let n=[];wa(t,r=>{if(i&&r.kind==="server-container")return;let o=Number(r.guid);if(mt(o)&&!e.has(o)){e.add(o),r.guid=o;return}n.push(r)});for(let r of n){let o=ci(e);r.guid=o,e.add(o)}return e}function gt(t){return Number.isSafeInteger(t)&&t>0&&t<=2147483647}function Kt(t,{warnings:e=[]}={}){if(t.meta?.assetType!=="client-control-template")return;if(t.meta.giaAssetIndexSchemaVersion>1)throw new Error(`\u4E0D\u652F\u6301\u5BA2\u6237\u7AEF\u8D44\u4EA7\u7F16\u53F7\u7248\u672C ${t.meta.giaAssetIndexSchemaVersion}`);let i=[],n=g=>{g.kind!=="server-container"&&i.push(g);for(let b of g.children||[])n(b)};n(t.root);let r=new Map,o=new Map;for(let g of i){if(!gt(g.giaInfoIndex))continue;let b=r.get(g.giaInfoIndex)||[];b.push(g),r.set(g.giaInfoIndex,b);let w=o.get(g.kind)||new Set;w.add(g.giaInfoIndex),o.set(g.kind,w)}let a=(t.root.children||[]).filter(g=>g.kind!=="server-container"),s=new Set(a),l=a.some((g,b)=>gt(g.giaInfoIndex)&&a.slice(0,b).some(w=>w.giaInfoIndex===g.giaInfoIndex)),c=!t.meta.giaAssetIndexSchemaVersion&&l&&i.every(g=>g.giaInfoIndexSource!=="authoring")&&[...o.values()].every(g=>g.size===1)&&[...r.values()].every(g=>g.every(b=>b.kind===g[0].kind)),u=new Set;if(c)for(let g of r.values()){let b=g.find(w=>s.has(w))||g[0];for(let w of g)w!==b&&u.add(w)}let f=new Map,h=Number.isSafeInteger(t.meta.giaNextAssetIndex)&&t.meta.giaNextAssetIndex>=2?t.meta.giaNextAssetIndex:2;for(let g of i){if(!gt(g.giaInfoIndex)||(h=Math.max(h,g.giaInfoIndex+1),u.has(g)))continue;let b=f.get(g.giaInfoIndex);if(b&&(b.giaInfoIndexSource==="authoring"||g.giaInfoIndexSource==="authoring"))throw new Error(`\u65B0\u5EFA\u8D44\u4EA7\u7F16\u53F7 ${g.giaInfoIndex} \u91CD\u590D\uFF1A${b.name} / ${g.name}`);f.set(g.giaInfoIndex,g)}c&&(h=Math.max(h,13));let p=c?[...a,...i.filter(g=>!s.has(g))].filter(g=>u.has(g)||!gt(g.giaInfoIndex)):i.filter(g=>!gt(g.giaInfoIndex));if(p.length&&h+p.length-1>2147483647)throw new Error("\u5BA2\u6237\u7AEF\u8D44\u4EA7\u7F16\u53F7\u7A7A\u95F4\u5DF2\u8017\u5C3D");for(let g of p)g.giaInfoIndex=h++,g.giaInfoIndexSource="authoring";t.meta.giaNextAssetIndex=h,t.meta.giaAssetIndexSchemaVersion=1,u.size&&e.push(`\u65E7\u5BA2\u6237\u7AEF\u8D44\u4EA7\u7F16\u53F7\u81EA\u52A8\u8FC1\u79FB\uFF1A\u4FEE\u590D ${u.size} \u6761\u6309\u63A7\u4EF6\u7C7B\u578B\u590D\u7528\u7684\u7F16\u53F7\uFF1BGUID\u3001Lua \u5F15\u7528\u548C\u63A7\u4EF6\u5C5E\u6027\u4FDD\u6301\u4E0D\u53D8\u3002`)}var Sa=1;function xa(t="n"){let e=`${t}${Sa}`;return Sa+=1,e}function Br(t=1){Sa=t}function Ea(t,{isRootContainer:e=!1}={}){if(t==="server-container"||t==="fullscreen"||t==="container"&&e)return Gr({layout:"stretch"});let i=mc[t]||[80,80];return Gr({layout:"center",size:i})}function I1(t,e){return xc(()=>Ea(t,e))}function _1(t){li(t);let e={};for(let i of qe)e[i]=Mi(t,i);return e}function Ee(t,e={}){if(!an[t])throw new Error(`unknown kind: ${t}`);Object.hasOwn(e,"transformByCanvas")&&Pi(e);let i=e.isRootContainer===!0,n=e.id||xa(t==="server-container"?"sc":"n"),r=Object.hasOwn(e,"transformByPlatform")?_1(e.transformByPlatform):I1(t,{isRootContainer:i}),o={id:n,kind:t,name:e.name||an[t],guid:e.guid??0,giaRelatedGuids:Array.isArray(e.giaRelatedGuids)?e.giaRelatedGuids.filter(a=>Number.isSafeInteger(Number(a))&&Number(a)>0).map(Number):[],...gt(Number(e.giaInfoIndex))?{giaInfoIndex:Number(e.giaInfoIndex),giaInfoIndexSource:e.giaInfoIndexSource==="authoring"?"authoring":"imported"}:{},active:e.active!==!1,visible:e.visible!==!1,canControllerFocus:e.canControllerFocus??e.giaRaw?.footerField505===1,syncAllDevices:e.syncAllDevices!==!1,giaRaw:kc(t,e.giaRaw),transformByPlatform:r,children:[],scriptMappingIds:Array.isArray(e.scriptMappingIds)?e.scriptMappingIds.filter(a=>Number.isSafeInteger(Number(a))&&Number(a)>0).map(Number):[]};if(t==="container"&&(o.isolateNavigation=e.isolateNavigation===!0,o.disableKeyEventPassthrough=e.disableKeyEventPassthrough===!0,o.disableCursorEventPassthrough=e.disableCursorEventPassthrough===!0,o.showCursor=Object.hasOwn(e,"showCursor")?e.showCursor===!0:!0),(t==="textbox"||t==="textwindow")&&(o.fontSize=e.fontSize??20,o.adaptiveFontSize=e.adaptiveFontSize===!0,o.minimumFontSize=e.minimumFontSize??20,o.fontColor=e.fontColor??Hn.font,o.bgColor=e.bgColor??Hn.bg,o.enableOutline=e.enableOutline!==!1,o.outlineColor=e.outlineColor??Hn.outline,o.horizontalAlignment=e.horizontalAlignment||"Left",o.verticalAlignment=e.verticalAlignment||"Top",Number.isInteger(e.giaRaw?.textVerticalAlign)&&![0,1,2].includes(e.giaRaw.textVerticalAlign)&&(o.giaRaw.textVerticalAlign=e.giaRaw.textVerticalAlign),o.text=e.text??"",Object.hasOwn(e.giaRaw||{},"textAlign")||(o.giaRaw.textAlign={Left:0,Middle:1,Right:2}[o.horizontalAlignment]??o.giaRaw.textAlign),t==="textwindow"&&(o.interactable=e.interactable!==!1,o.showScrollBar=e.showScrollBar!==!1)),t==="image"&&(o.imageSource=e.imageSource||"StaticReference",o.imageType=["Basic","Stretch"].includes(e.imageType)?e.imageType:null,o.imageId=e.imageId??100001,o.imageColor=e.imageColor??Hn.image,o.enableMask=e.enableMask===!0,o.enableSoftEdge=e.enableSoftEdge===!0,o.softEdgeMode=e.softEdgeMode||"Percentage",o.softEdgeWidthX=e.softEdgeWidthX??8,o.softEdgeWidthY=e.softEdgeWidthY??8,o.horizontalSoftRange=e.horizontalSoftRange??85,o.verticalSoftRange=e.verticalSoftRange??85,o.enableFill=e.enableFill===!0,o.fillType=e.fillType||"Horizontal",o.fillHorizontalType=e.fillHorizontalType||"Left",o.fillVerticalType=e.fillVerticalType||"Bottom",o.fillRadial90Type=e.fillRadial90Type||"BottomLeft",o.fillRadialType=e.fillRadialType||"Bottom",o.fillAmount=e.fillAmount??1,o.reverseMaskArea=e.reverseMaskArea===!0||e.reverseMask===!0,Object.hasOwn(e.giaRaw||{},"imageFillType")||(o.giaRaw.imageFillType={Horizontal:1,Vertical:2,Radial90:3,Radial180:4,Radial360:5}[o.fillType]??o.giaRaw.imageFillType)),t==="button"&&(o.raycastTarget=e.raycastTarget!==!1,o.interactable=e.interactable!==!1,o.clickAudioId=e.clickAudioId??gc,o.unavailableChildId=e.unavailableChildId??null,o.hoverChildId=e.hoverChildId??null,o.pressedChildId=e.pressedChildId??null,o.selectedChildId=e.selectedChildId??null),t==="cursor"&&(o.raycastTarget=e.raycastTarget??e.giaRaw?.cursorField501!==0),t==="reference"&&(o.referencedPrefabId=e.referencedPrefabId??e.giaRaw?.templateRefSlot??null,Object.hasOwn(e.giaRaw||{},"templateRefSlot")||(o.giaRaw.templateRefSlot=String(o.referencedPrefabId??""))),t==="grid"&&(o.itemPrefabId=e.itemPrefabId??null,o.raycastTarget=e.raycastTarget!==!1,o.interactable=e.interactable!==!1,o.showScrollBar=e.showScrollBar!==!1,o.scrollDirection=e.scrollDirection||"Vertical",o.layoutConstraint=e.layoutConstraint||"AutoWrap",o.layoutConstraintFixedCount=e.layoutConstraintFixedCount??null,o.cellSizeX=e.cellSizeX??50,o.cellSizeY=e.cellSizeY??50,o.spacingX=e.spacingX??8,o.spacingY=e.spacingY??8,o.padding1X=e.padding1X??20,o.padding1Y=e.padding1Y??20,o.padding2X=e.padding2X??20,o.padding2Y=e.padding2Y??20,o.previewCount=e.previewCount??e.giaRaw?.gridField511??5,Object.hasOwn(e.giaRaw||{},"gridField511")||(o.giaRaw.gridField511=Math.trunc(o.previewCount))),t==="keyhint"&&(o.keyboardKeyCode=e.keyboardKeyCode??e.giaRaw?.keyHintField502??null,o.controllerKeyCode=e.controllerKeyCode??e.giaRaw?.keyHintField501??null,Object.hasOwn(e.giaRaw||{},"keyHintField502")||(o.giaRaw.keyHintField502=Math.trunc(o.keyboardKeyCode??1)),Object.hasOwn(e.giaRaw||{},"keyHintField501")||(o.giaRaw.keyHintField501=Math.trunc(o.controllerKeyCode??1))),t==="animation"||t==="fullscreen"){let a=t==="animation"?e.giaRaw?.effectSlot:e.giaRaw?.fullscreenEffectSlot;o.animationId=e.animationId??a??null,o.playSoundEffect=e.playSoundEffect??null,t==="animation"&&(o.layer=e.layer??null);let s=t==="animation"?"effectSlot":"fullscreenEffectSlot";Object.hasOwn(e.giaRaw||{},s)||(o.giaRaw[s]=String(o.animationId??""))}if(e.children)for(let a of e.children)o.children.push(a);return o}function Fi(){Br(1);let t=Ee("server-container",{id:"sc1",name:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u5BB9\u5668"}),e=Ee("container",{id:"n1",name:"\u5BB9\u5668\u8282\u70B9",isRootContainer:!0}),i=Ee("textbox",{id:"n2",name:"\u6587\u672C\u6846",text:"\u6587\u672C"}),n=Ee("cursor",{id:"n3",name:"\u5149\u6807\u68C0\u6D4B\u533A\u57DF"}),r=Ee("reference",{id:"n4",name:"\u6A21\u677F\u5F15\u7528\u63A7\u4EF6"}),o=Ee("grid",{id:"n5",name:"\u7F51\u683C\u89C6\u7A97"}),a=Ee("button",{id:"n6",name:"\u9884\u8BBE\u6309\u94AE"}),s=Ee("textwindow",{id:"n7",name:"\u6587\u672C\u89C6\u7A97"}),l=Ee("keyhint",{id:"n8",name:"\u6309\u952E\u63D0\u793A"}),c=Ee("image",{id:"n9",name:"\u56FE\u7247",imageId:100005}),u=Ee("animation",{id:"n10",name:"\u754C\u9762\u52A8\u6548"}),f=Ee("fullscreen",{id:"n11",name:"\u5168\u5C4F\u52A8\u6548"}),h=(p,g,b)=>{for(let w of Object.values(p.transformByPlatform))w.offset={x:g,y:b}};return h(i,-300,250),h(n,-300,140),h(r,-300,30),h(o,-300,-100),h(a,0,0),h(s,300,250),h(l,300,140),h(c,300,30),h(u,300,-100),e.children.push(i,n,r,o,a,s,l,c,u,f),t.children.push(e),Br(12),Cc(t),{version:1,layoutSchemaVersion:Ze,meta:{name:"\u672A\u547D\u540D\u754C\u9762\u63A7\u4EF6\u7EC4",assetType:"server-control-template",sourceFormat:"authoring",sourceFile:""},canvasId:"pc-16-9",selectedId:"n2",root:t}}function fn(){Br(1);let t=Ee("server-container",{id:"sc1",name:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F"}),e=Ee("container",{id:"n1",guid:1073742100,name:"Lua\u5B9E\u4F8B\u5316\u9762\u677F"}),i=Ee("textbox",{id:"n2",guid:1073742101,name:"\u6A21\u677F\u6807\u9898",text:"\u5BA2\u6237\u7AEF\u6A21\u677F\u5DF2\u5B9E\u4F8B\u5316",fontSize:28,horizontalAlignment:"Middle"}),n=Ee("image",{id:"n3",guid:1073742102,name:"\u6A21\u677F\u56FE\u6807",imageId:100005}),r=Ee("button",{id:"n4",guid:1073742103,name:"\u786E\u8BA4\u6309\u94AE"}),o=Ee("textbox",{id:"n5",guid:1073742104,name:"\u6309\u94AE\u6587\u5B57",text:"\u786E\u8BA4",horizontalAlignment:"Middle",verticalAlignment:"Top"}),a=(c,u,f)=>{for(let h of Object.values(c.transformByPlatform))h.offset={x:u,y:f}};((c,u,f)=>{for(let h of Object.values(c.transformByPlatform))h.size={x:u,y:f}})(e,520,320),a(i,0,110),a(n,0,0),a(r,0,-110),r.children.push(o),e.children.push(i,n,r),t.children.push(e),Br(6);let l={version:1,layoutSchemaVersion:Ze,meta:{name:"Lua\u5B9E\u4F8B\u5316\u9762\u677F",assetType:"client-control-template",sourceFormat:"authoring",sourceFile:"",gameVersion:$r,giaOwnerUid:114514,giaFileId:1073741829,giaFileName:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868.gia"},canvasId:"pc-16-9",selectedId:"n1",root:t};return Kt(l),l}function be(t,e,i=null){e(t,i);for(let n of t.children||[])be(n,e,t)}function Ue(t,e){let i=null;return be(t,n=>{n.id===e&&(i=n)}),i}function Ia(t,e="n"){let i=xa(e);for(;Ue(t,i);)i=xa(e);return i}function ui(t,e){let i=null;return be(t,(n,r)=>{n.id===e&&(i=r)}),i}function _a(t){let e=t.root||t;return e.kind==="container"?e:(e.children||[]).find(i=>i.kind==="container")||(e.children||[])[0]||e}function Xn(t){if(t.meta?.assetType!=="client-control-template")return _a(t);let e=Ue(t.root,t.selectedId);if(!e||e.kind==="server-container")return t.root.children?.[0]||t.root;let i=ui(t.root,e.id);for(;i&&i.kind!=="server-container";)e=i,i=ui(t.root,e.id);return e}function ka(t){Pi(t);let e={id:t.id,name:t.name,guid:t.guid,giaRelatedGuids:t.giaRelatedGuids,giaInfoIndex:t.giaInfoIndex,giaInfoIndexSource:t.giaInfoIndexSource,scriptMappingIds:t.scriptMappingIds,giaRaw:t.giaRaw,active:t.active,visible:t.visible,canControllerFocus:t.canControllerFocus,syncAllDevices:t.syncAllDevices,transformByPlatform:t.transformByPlatform};t.kind==="container"&&(e.isolateNavigation=t.isolateNavigation,e.disableKeyEventPassthrough=t.disableKeyEventPassthrough,e.disableCursorEventPassthrough=t.disableCursorEventPassthrough,e.showCursor=t.showCursor),(t.kind==="textbox"||t.kind==="textwindow")&&(e.fontSize=t.fontSize,e.adaptiveFontSize=t.adaptiveFontSize,e.minimumFontSize=t.minimumFontSize,e.fontColor=t.fontColor,e.bgColor=t.bgColor,e.enableOutline=t.enableOutline,e.outlineColor=t.outlineColor,e.horizontalAlignment=t.horizontalAlignment,e.verticalAlignment=t.verticalAlignment,e.text=t.text??"",t.kind==="textwindow"&&(e.interactable=t.interactable,e.showScrollBar=t.showScrollBar)),t.kind==="image"&&(e.imageSource=t.imageSource,e.imageType=t.imageType,e.imageId=t.imageId,e.imageColor=t.imageColor,e.enableMask=t.enableMask,e.enableSoftEdge=t.enableSoftEdge,e.softEdgeMode=t.softEdgeMode,e.softEdgeWidthX=t.softEdgeWidthX,e.softEdgeWidthY=t.softEdgeWidthY,e.horizontalSoftRange=t.horizontalSoftRange,e.verticalSoftRange=t.verticalSoftRange,e.enableFill=t.enableFill,e.fillType=t.fillType,e.fillHorizontalType=t.fillHorizontalType,e.fillVerticalType=t.fillVerticalType,e.fillRadial90Type=t.fillRadial90Type,e.fillRadialType=t.fillRadialType,e.fillAmount=t.fillAmount,e.reverseMaskArea=t.reverseMaskArea??t.reverseMask),t.kind==="button"&&(e.raycastTarget=t.raycastTarget,e.interactable=t.interactable,e.clickAudioId=t.clickAudioId,e.unavailableChildId=t.unavailableChildId??null,e.hoverChildId=t.hoverChildId??null,e.pressedChildId=t.pressedChildId??null,e.selectedChildId=t.selectedChildId??null),t.kind==="cursor"&&(e.raycastTarget=t.raycastTarget),t.kind==="reference"&&(e.referencedPrefabId=t.referencedPrefabId??null),t.kind==="grid"&&(e.itemPrefabId=t.itemPrefabId??null,e.raycastTarget=t.raycastTarget,e.interactable=t.interactable,e.showScrollBar=t.showScrollBar,e.scrollDirection=t.scrollDirection,e.layoutConstraint=t.layoutConstraint,e.layoutConstraintFixedCount=t.layoutConstraintFixedCount??null,e.cellSizeX=t.cellSizeX,e.cellSizeY=t.cellSizeY,e.spacingX=t.spacingX,e.spacingY=t.spacingY,e.padding1X=t.padding1X,e.padding1Y=t.padding1Y,e.padding2X=t.padding2X,e.padding2Y=t.padding2Y,e.previewCount=t.previewCount),t.kind==="keyhint"&&(e.keyboardKeyCode=t.keyboardKeyCode??null,e.controllerKeyCode=t.controllerKeyCode??null),(t.kind==="animation"||t.kind==="fullscreen")&&(e.animationId=t.animationId??null,e.playSoundEffect=t.playSoundEffect??null,t.kind==="animation"&&(e.layer=t.layer??null)),e.isRootContainer=t.kind==="container"&&k1(t.transformByPlatform);let i=Ee(t.kind,e);return i.children=(t.children||[]).map(n=>ka(n)),i}function k1(t){let e=t&&(t.KEYBOARD||Object.values(t)[0]);return e?Math.abs(e.anchorMin?.x??.5)<1e-4&&Math.abs(e.anchorMin?.y??.5)<1e-4&&Math.abs((e.anchorMax?.x??.5)-1)<1e-4&&Math.abs((e.anchorMax?.y??.5)-1)<1e-4:!1}function Ac(t,e,i={}){if(t.kind==="server-container"&&e!=="container")throw new Error("server container only accepts container nodes");let n=Ee(e,i);return t.children.push(n),n}function Tc(t,e){if(t.id===e)throw new Error("cannot remove root");let i=ui(t,e);if(!i)return!1;let n=i.children.findIndex(r=>r.id===e);return n<0?!1:(i.children.splice(n,1),!0)}var Rc=1e-4;function C1(t,e){return Math.abs(t.anchorMax[e]-t.anchorMin[e])>Rc&&Math.abs(t.size[e])<=Rc}function A1(t,e,i){if(!(e.width>0)||!(e.height>0))throw new Error("source parent must have positive size");if(!(i.width>0)||!(i.height>0))throw new Error("target parent must have positive size");let n=Yt(e,t),r=(n.centerX-e.left)/e.width,o=(n.centerY-e.bottom)/e.height,a=Oi(i,t,{posX:i.left+r*i.width,posY:i.bottom+o*i.height,width:n.width,height:n.height});for(let s of["x","y"])C1(t,s)&&(a.offset[s]=t.offset[s],a.size[s]=t.size[s]);return a}function Oc({transformByPlatform:t,source:e,canvasId:i,syncAllDevices:n,sourceParentBox:r=Qe(i),targetParentBoxByPlatform:o={}}){li(t);let a=Ni(i),s={};for(let l of qe)l===a?s[l]=Ft(e):n!==!1?s[l]=A1(e,r,o[l]||Qe(on[l])):s[l]=Mi(t,l);return li(s),s}function fi(t,e){return Mi(t,Ni(e))}import{createCanvas as X1}from"@napi-rs/canvas";import{existsSync as $1,openSync as z1,closeSync as L1,fstatSync as G1,readFileSync as B1}from"node:fs";import{extname as V1,isAbsolute as q1}from"node:path";import{createHash as j1}from"node:crypto";import{workerData as jr}from"node:worker_threads";import{GlobalFonts as Fc}from"@napi-rs/canvas";var Wn='"Microsoft YaHei UI","Microsoft YaHei","HarmonyOS Sans SC","Noto Sans CJK SC",sans-serif',dn="/qxqy-font";var Ca=t=>`QxqyLocal_${t}`,Nc=t=>t?`"${Ca(t)}",${Wn}`:Wn;import{existsSync as T1,mkdirSync as R1,readFileSync as O1,renameSync as N1,rmSync as P1,writeFileSync as M1}from"node:fs";import{randomUUID as F1}from"node:crypto";import{homedir as Aa}from"node:os";import{dirname as D1,join as Vr,win32 as qr}from"node:path";function Ta(t=process.platform,e=process.env){if(t!=="win32")return[];let i=e.SystemDrive||"C:",n=e.ProgramFiles||`${i}\\Program Files`,r="YuanShen_Data\\StreamingAssets\\MiHoYoSDKRes\\HttpServerResources\\font\\zh-cn.ttf";return[...new Set([qr.join(n,"Genshin Impact","Genshin Impact Game",r),qr.join(i+"\\","Mihoyo","Genshin Impact","Genshin Impact Game",r),qr.join(n,"HoYoPlay","games","Genshin Impact game",r),qr.join(n,"miHoYo Launcher","games","Genshin Impact Game",r)])]}function Pc(){if(process.env.QXQY_FONT_CONFIG_PATH)return process.env.QXQY_FONT_CONFIG_PATH;let t=process.platform==="win32"?process.env.APPDATA||Vr(Aa(),"AppData","Roaming"):process.platform==="darwin"?Vr(Aa(),"Library","Application Support"):process.env.XDG_CONFIG_HOME||Vr(Aa(),".config");return Vr(t,"beyond-simulator","font.json")}function Ra(t){if(!t||!["auto","custom","system"].includes(t.mode))throw new Error("\u8BF7\u9009\u62E9\u81EA\u52A8\u67E5\u627E\u3001\u6307\u5B9A\u6587\u4EF6\u6216\u7CFB\u7EDF\u5B57\u4F53");let e=t.scope===void 0?"all":t.scope;if(!["game","all"].includes(e))throw new Error("\u8BF7\u9009\u62E9\u5B57\u4F53\u5E94\u7528\u8303\u56F4");let i=typeof t.path=="string"?t.path.trim():"";if(i.length>4096)throw new Error("\u5B57\u4F53\u8DEF\u5F84\u8FC7\u957F");if((i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1)),t.mode==="custom"&&!i)throw new Error("\u8BF7\u586B\u5199\u5B57\u4F53\u6587\u4EF6\u7684\u7EDD\u5BF9\u8DEF\u5F84");return{mode:t.mode,path:t.mode==="custom"?i:"",scope:e}}function Oa(t=Pc()){if(!T1(t))return{mode:"auto",path:"",scope:"all"};try{return Ra(JSON.parse(O1(t,"utf8")))}catch{throw new Error("\u672C\u673A\u5B57\u4F53\u8BBE\u7F6E\u65E0\u6CD5\u8BFB\u53D6\uFF0C\u8BF7\u5728\u300C\u5B57\u4F53\u8BBE\u7F6E\u300D\u4E2D\u91CD\u65B0\u4FDD\u5B58")}}function Mc(t,e=Pc()){let i=`${e}.${F1()}.tmp`;try{R1(D1(e),{recursive:!0}),M1(i,JSON.stringify(t,null,2)+`
|
|
12
|
+
`,{flag:"wx",mode:384}),N1(i,e)}catch(n){throw new Error("\u65E0\u6CD5\u4FDD\u5B58\u672C\u673A\u5B57\u4F53\u8BBE\u7F6E\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E\u76EE\u5F55\u7684\u5199\u5165\u6743\u9650",{cause:n})}finally{P1(i,{force:!0})}}function Gc(t){let e=Buffer.from(t),i=e.subarray(0,4).toString("hex");if(e.length<12||e.length>33554432||!["00010000","4f54544f"].includes(i))throw new Error("QXQY_FONT_PATH must contain a valid TTF or OTF font (at most 32 MiB)");let n=j1("sha256").update(e).digest("hex"),r=Ca(n);try{if(!Fc.has(r)&&!Fc.register(e,r))throw new Error("invalid font")}catch{throw new Error("QXQY_FONT_PATH font could not be registered")}return{id:n,data:e,type:i==="4f54544f"?"font/otf":"font/ttf"}}function Na(t){if(!t)return null;if(!q1(t)||![".ttf",".otf"].includes(V1(t).toLowerCase()))throw new Error("QXQY_FONT_PATH must be an absolute path to a TTF or OTF font");let e,i;try{e=z1(t,"r");let n=G1(e);if(!n.isFile()||n.size<12||n.size>33554432)throw new Error("invalid size");i=B1(e)}catch{throw new Error("QXQY_FONT_PATH must point to a readable font file of at most 32 MiB")}finally{e!==void 0&&L1(e)}return Gc(i)}var Dc=!1,Hr=null,Di={path:"",source:"system",scope:"all"},hn=null,Pa="",Bc=!1;function Vc(t){if(t.mode==="custom")return{font:Na(t.path),path:t.path,source:"custom"};if(t.mode==="auto"){let e;for(let i of Ta())if($1(i))try{return{font:Na(i),path:i,source:"auto"}}catch(n){e=n}if(e)throw e}return{font:null,path:"",source:"system"}}function Jt(){if(!Dc){if(jr&&Object.hasOwn(jr,"localFont"))Hr=jr.localFont?Gc(jr.localFont):null;else{try{hn=Oa()}catch(t){Pa=t.message}if(Di.scope=hn?.scope||"all",process.env.QXQY_FONT_PATH)Hr=Na(process.env.QXQY_FONT_PATH),Di={...Di,path:process.env.QXQY_FONT_PATH,source:"environment"};else if(hn)try{let t=Vc(hn);Hr=t.font,Di={...Di,path:t.path,source:t.source}}catch(t){Pa=t.message}}Dc=!0}return Hr}function Ma(){Jt();let t={mode:"auto",path:"",scope:"all"},e=Pa;try{t=Oa()}catch(i){e=i.message}return{...t,active:{...Di},error:e,environmentPath:process.env.QXQY_FONT_PATH||"",defaultPaths:Ta(),restartRequired:Bc||hn!==null&&JSON.stringify(hn)!==JSON.stringify(t)}}function H1(t){Jt();let e=process.env.QXQY_FONT_PATH;if(e&&(!t||!Object.hasOwn(t,"scope")||Object.hasOwn(t,"mode")||Object.hasOwn(t,"path")))throw new Error("\u5F53\u524D\u5B57\u4F53\u7531 QXQY_FONT_PATH \u56FA\u5B9A\uFF0C\u8BF7\u79FB\u9664\u8BE5\u73AF\u5883\u53D8\u91CF\u5E76\u91CD\u542F\u540E\u518D\u4F7F\u7528\u524D\u7AEF\u8BBE\u7F6E");let i=Ra(e?{...Ma(),scope:t.scope}:t),n=e?{path:e,source:"environment"}:Vc(i);return Mc(i),Bc=!0,{...Ma(),nextFont:{path:n.path,source:n.source}}}var pn=()=>Nc(Jt()?.id),$c=t=>["127.0.0.1","localhost","::1","[::1]","::ffff:127.0.0.1"].includes(t);function zc(t){try{let e=t.headers.host;return $c(t.socket.remoteAddress)&&$c(new URL(`http://${e}`).hostname)&&!t.headers.forwarded&&!t.headers["x-forwarded-for"]&&!t.headers["x-forwarded-host"]&&!t.headers.via&&t.headers["sec-fetch-site"]!=="cross-site"&&(!t.headers.origin||new URL(t.headers.origin).host===e)}catch{return!1}}function qc(t,e,{settingsEnabled:i=!0}={}){let n=new URL(t.url||"/","http://localhost");if(n.pathname!==dn&&!n.pathname.startsWith(`${dn}/`))return!1;let r=(o,a,s)=>(e.writeHead(o,{"content-type":a,"cache-control":"no-store","x-content-type-options":"nosniff","cross-origin-resource-policy":"same-origin"}),e.end(t.method==="HEAD"?void 0:s),!0);if(n.pathname===`${dn}/settings`)return!i||!zc(t)?r(403,"text/plain","\u5B57\u4F53\u8BBE\u7F6E\u4EC5\u9650\u672C\u673A\u76F4\u63A5\u8BBF\u95EE"):(async()=>{try{let o;if(t.method==="GET")o=Ma();else if(t.method==="POST"){if(!/^application\/json(?:;|$)/i.test(t.headers["content-type"]||""))return r(415,"text/plain","application/json required");let a=[],s=0;for await(let l of t){if(s+=l.length,s>8192)return r(413,"text/plain","\u5B57\u4F53\u8BBE\u7F6E\u8FC7\u5927");a.push(l)}o=H1(JSON.parse(Buffer.concat(a).toString("utf8")))}else return r(405,"text/plain","GET or POST required");return r(200,"application/json",JSON.stringify(o))}catch(o){return r(400,"text/plain",o.message)}})();if(!["GET","HEAD"].includes(t.method))return r(405,"text/plain","Method not allowed");try{let o=Jt();return o&&!zc(t)?r(403,"text/plain","Local font access requires a direct loopback connection"):n.pathname===`${dn}/manifest`?r(200,"application/json",JSON.stringify({id:o?.id??null,scope:Di.scope})):o&&n.pathname===`${dn}/file/${o.id}`?r(200,o.type,o.data):r(404,"text/plain","Font not found")}catch{return r(500,"text/plain","Local font configuration failed; check QXQY_FONT_PATH and restart the host")}}var Fa=Object.freeze({aqua:"00ffff",black:"000000",blue:"0000ff",brown:"a52a2a",cyan:"00ffff",darkblue:"0000a0",fuchsia:"ff00ff",green:"008000",grey:"808080",lightblue:"add8e6",lime:"00ff00",magenta:"ff00ff",maroon:"800000",navy:"000080",olive:"808000",orange:"ffa500",purple:"800080",red:"ff0000",silver:"c0c0c0",teal:"008080",white:"ffffff",yellow:"ffff00"});function U1(t){let e=Object.hasOwn(Fa,t.toLowerCase())?Fa[t.toLowerCase()]:t.slice(1);return!Object.hasOwn(Fa,t.toLowerCase())&&!/^#[\da-f]{6}([\da-f]{2})?$/i.test(t)?null:(parseInt(e.slice(6)||"ff",16)<<24|parseInt(e.slice(0,6),16))>>>0}function Y1(t){let e=/^<\/(b|i|color|size)>$/i.exec(t);if(e)return{name:e[1].toLowerCase(),close:!0};let i=/^<(b|i)>$/i.exec(t);if(i)return{name:i[1].toLowerCase(),value:!0};let n=/^<(color|size)=(?:"([^"\s<>]+)"|'([^'\s<>]+)'|([^\s'"<>]+))>$/i.exec(t);if(!n)return null;let r=n[1].toLowerCase(),o=n[2]??n[3]??n[4];if(r==="color"){let s=U1(o);return s===null?null:{name:r,value:s}}let a=Number(o);return/^\d+$/.test(o)&&Number.isSafeInteger(a)&&a>0?{name:r,value:a}:null}function jc(t){let e=String(t??"").replace(/\r\n?/g,`
|
|
13
|
+
`),i=[],n=[],r=0;for(let l of e.matchAll(/<[^<>\r\n]*>/g)){l.index>r&&i.push({text:e.slice(r,l.index)});let c={text:l[0],tag:Y1(l[0]),paired:!1};i.push(c),r=l.index+l[0].length,c.tag&&(c.tag.close?n.at(-1)?.tag.name===c.tag.name?n.pop().paired=c.paired=!0:n.length=0:n.push(c))}r<e.length&&i.push({text:e.slice(r)});let o=[],a=[{bold:!1,italic:!1,size:null,color:null}],s=!1;for(let l of i)if(l.paired)if(s=!0,l.tag.close)a.pop();else{let c={b:"bold",i:"italic",size:"size",color:"color"}[l.tag.name];a.push({...a.at(-1),[c]:l.tag.value})}else if(l.text){let c=a.at(-1),u=o.at(-1);u&&["bold","italic","size","color"].every(f=>u[f]===c[f])?u.text+=l.text:o.push({text:l.text,...c})}return{rich:s,text:o.map(l=>l.text).join(""),runs:o}}function Ur(t,e){return`${t.italic?"italic ":""}${t.bold?"bold ":""}${t.fontSize}px ${e}`}var $i=X1(1,1).getContext("2d"),Hc=new WeakMap,Uc=(t,e)=>Math.max(1,Math.trunc(Number.isFinite(Number(t))?Number(t):e));function W1(t,e,i,n,r,o){let a=[],s=[],l=0,c=e,u=0,f=()=>{let w=s.length?s.reduce(($,z)=>Math.max($,z.fontSize),0):c,S=w*1.2,x=s.length?s.reduce(($,z)=>Math.max($,z.ascent),0):w*.8,F=s.length?s.reduce(($,z)=>Math.max($,z.descent),0):w*.2,I=(S-x-F)/2+x;a.push({runs:s,width:l,top:u,height:S,baseline:I,fontSize:w}),u+=S,s=[],l=0};for(let w of t.runs){let S={fontSize:w.size??e,bold:w.bold,italic:w.italic,color:w.color};$i.font=Ur(S,n);let x=$i.measureText("Mg"),F=x.fontBoundingBoxAscent??x.emHeightAscent??S.fontSize*.8,I=x.fontBoundingBoxDescent??x.emHeightDescent??S.fontSize*.2;c=S.fontSize;for(let $ of w.text){if($===`
|
|
14
|
+
`){f();continue}let z=s.at(-1),q=z&&["fontSize","bold","italic","color"].every(A=>z[A]===S[A]),B=$i.measureText((q?z.text:"")+$).width,E=l+B-(q?z.width:0);s.length&&E>i&&(f(),z=null,B=$i.measureText($).width,E=B),z&&q?(z.text+=$,z.width=B):s.push({text:$,...S,x:l,width:B,ascent:F,descent:I}),l=E}}f();let h=a.map(w=>w.runs.map(S=>S.text).join("")),p=a.reduce((w,S)=>Math.max(w,S.fontSize),0),g=r==="textbox"&&t.text?p*.25+4:0,b=t.text?u+g:0;return{fontSize:e,lines:h,lineHeight:e*1.2,contentHeight:u,blockInset:g,requiredHeight:b,textWidth:i,fits:b<=o+1e-6&&a.every(w=>w.width<=i+1e-6),richLines:a}}function Zt(t,e,i){let n=String(t.text??"").replace(/\r\n?/g,`
|
|
15
|
+
`),r=Uc(t.fontSize,20),o=Math.min(r,Uc(t.minimumFontSize,10)),a=t.adaptiveFontSize===!0,s=pn(),l=JSON.stringify([n,e,i,r,o,a,t.kind,t.showScrollBar,s]),c=Hc.get(t);if(c?.key===l)return c.value;let u=jc(n),f=(w,S)=>{if(u.rich)return W1(u,w,S,s,t.kind,i);$i.font=`${w}px ${s}`;let x=[];for(let B of n.split(`
|
|
16
|
+
`)){let E="";for(let A of B)E&&$i.measureText(E+A).width>S&&(x.push(E),E=""),E+=A;x.push(E)}let F=w*1.2,I=x.length*F,$=t.kind==="textbox"&&n?w*.25+4:0,z=n?I+$:0,q=z<=i+1e-6&&x.every(B=>$i.measureText(B).width<=S+1e-6);return{fontSize:w,lines:x,lineHeight:F,contentHeight:I,blockInset:$,requiredHeight:z,textWidth:S,fits:q}},h=Math.max(0,e-4),p=f(r,h);if(a&&!p.fits&&o<r){p=f(o,h);let w=o+1,S=r-1;for(;w<=S;){let x=Math.floor((w+S)/2),F=f(x,h);F.fits?(p=F,w=x+1):S=x-1}}t.kind==="textwindow"&&t.showScrollBar!==!1&&p.contentHeight>i&&(p=f(p.fontSize,Math.max(0,h-12)));let g=p.lines.length,b=p.contentHeight;if(t.kind==="textbox"&&(g=0,b=0,p.lines.join(`
|
|
17
|
+
`)))for(let w=0;w<p.lines.length;w++){let S=p.richLines?.[w],x=S?S.top+S.height:(w+1)*p.lineHeight;if(x+p.blockInset>i+1e-6)break;g=w+1,b=x}return p={...p,visibleLineCount:g,visibleContentHeight:b},Hc.set(t,{key:l,value:p}),p}var Yr=t=>Number.isFinite(Number(t))?Math.max(0,Number(t)):0;function zi(t,e){if(!t||t.kind!=="image"||t.enableMask!==!0||!e)return null;let i=Yr(t.sourceWidth??t.width),n=Yr(t.sourceHeight??t.height),r=t.enableSoftEdge===!0,o=t.softEdgeMode!=="Pixel",a=r?Yr(t.softEdgeWidthX):0,s=r?Yr(t.softEdgeWidthY):0;return{id:t.id,matrix:e,width:i,height:n,featherX:o?i*a/100:a,featherY:o?n*s/100:s}}function Li(t,e,i){let n=nt(t,e,i);return{a:t.a,b:t.b,c:t.c,d:t.d,tx:n.x,ty:n.y}}function Yc(t,e,i){let n=(r,o)=>r<=0?0:!(o>0)||r>=o?1:r/o;return Math.min(n(t+i.width/2,i.featherX),n(i.width/2-t,i.featherX),n(e+i.height/2,i.featherY),n(i.height/2-e,i.featherY))}function Da(t){let e={children:[]},i=[e],n=[];for(let r of t||[]){if(!r||r.id==null)continue;let o=r.masks||[],a=o.map(l=>JSON.stringify([l.id,l.matrix,l.width,l.height,l.featherX,l.featherY])),s=0;for(;s<n.length&&s<a.length&&n[s]===a[s];)s++;i.length=s+1;for(let l=s;l<o.length;l++){let c={mask:o[l],children:[]};i.at(-1).children.push(c),i.push(c)}i.at(-1).children.push({item:r}),n=a}return e.children}function Xc(t,e){let i=[];function n(r){e[r.id]&&i.push(e[r.id]);let o=r.children||[];for(let a=o.length-1;a>=0;a-=1)n(o[a])}return n(t),i}function di(t,e,i=Ni(e)){let n=Qe(e),r={};function o(a,s,l,c=!0,u=[]){let f=Mi(a.transformByPlatform,i),h=Yt(s,f),p=a.kind==="server-container"?l:Yn(l,h,f),g=vc(h,p),b=c&&a.visible!==!1,w=a.kind==="image"&&a.enableMask===!0?zi({...a,width:h.width,height:h.height},Li(p,h.centerX,h.centerY)):null,S=w?[...u,w]:u;r[a.id]={...h,...ba(h),id:a.id,kind:a.kind,name:a.name,visible:a.visible!==!1,visibleInHierarchy:b,active:a.active!==!1,rotationX:f.rotation.x,rotationY:f.rotation.y,rotationZ:f.rotation.z,renderLeft:g.left,renderBottom:g.bottom,renderWidth:g.width,renderHeight:g.height,renderRotationZ:g.rotationZ,renderMatrix:p,...S.length?{masks:S}:{},primitive:a.kind==="image"?sn(a.imageId,a.imageSource):null,...["animation","fullscreen"].includes(a.kind)?{animationId:a.animationId??null,playSoundEffect:a.playSoundEffect!==!1,layer:a.layer||"AboveAllControls"}:{},...a.kind==="textbox"||a.kind==="textwindow"?{text:a.text??"",fontSize:a.fontSize,adaptiveFontSize:a.adaptiveFontSize===!0,minimumFontSize:a.minimumFontSize,textLayout:Zt(a,h.width,h.height),fontColor:a.fontColor,bgColor:a.bgColor,enableOutline:a.enableOutline!==!1,outlineColor:a.outlineColor,horizontalAlignment:a.horizontalAlignment,verticalAlignment:a.verticalAlignment}:{},...a.kind==="image"?{imageSource:a.imageSource,imageType:a.imageType??null,imageId:a.imageId,imageColor:a.imageColor,enableMask:a.enableMask===!0,enableSoftEdge:a.enableSoftEdge===!0,softEdgeMode:a.softEdgeMode,softEdgeWidthX:a.softEdgeWidthX,softEdgeWidthY:a.softEdgeWidthY,horizontalSoftRange:a.horizontalSoftRange,verticalSoftRange:a.verticalSoftRange,enableFill:a.enableFill===!0,fillType:a.fillType,fillHorizontalType:a.fillHorizontalType,fillVerticalType:a.fillVerticalType,fillRadial90Type:a.fillRadial90Type,fillRadialType:a.fillRadialType,fillAmount:a.fillAmount,reverseMaskArea:a.reverseMaskArea===!0}:{},...a.kind==="button"?{raycastTarget:a.raycastTarget!==!1,interactable:a.interactable!==!1,clickAudioId:a.clickAudioId,unavailableChildId:a.unavailableChildId??null,hoverChildId:a.hoverChildId??null,pressedChildId:a.pressedChildId??null,selectedChildId:a.selectedChildId??null}:{}};let x=a.kind==="server-container"?s:h;for(let F of a.children||[])o(F,x,p,b,S)}return o(t,n,cn()),{canvas:n,boxes:r}}function $a(t,e){let i=[];function n(r,o,a=null,s=[],l=0,c=1,u=t.id){i.push({id:r.id,guid:e?.get(r.id)??(r.guid||0),kind:r.kind,name:r.name,label:an[r.kind]||r.kind,depth:o,parentId:a,ancestorIds:s,siblingIndex:l,siblingCount:c,templateId:u,childCount:(r.children||[]).length,incomplete:!Lr.includes(r.kind)});let f=r.children||[];for(let h=0;h<f.length;h+=1)n(f[h],o+1,r.id,[...s,r.id],h,f.length,u)}return n(t,0),i}function G(t,e,i,n,r={}){return{key:t,label:e,type:i,value:n,...r}}function Wc(t,e,i,n){if(!t)return null;let r=fi(t.transformByPlatform,e),o=ba(i),a=[G("name","\u540D\u79F0","string",t.name),G("active","\u521D\u59CB\u6FC0\u6D3B","bool",t.active!==!1),G("visible","\u521D\u59CB\u53EF\u89C1\u6027","bool",t.visible!==!1),G("canControllerFocus","\u53EF\u88AB\u624B\u67C4\u6447\u6746\u5BFC\u822A\u9009\u4E2D","bool",t.canControllerFocus===!0),G("posX","\u4F4D\u7F6E X","number",o.posX,{computed:!0}),G("posY","\u4F4D\u7F6E Y","number",o.posY,{computed:!0}),G("width","\u5927\u5C0F W","number",o.width,{computed:!0}),G("height","\u5927\u5C0F H","number",o.height,{computed:!0}),G("rotationX","\u65CB\u8F6C X","number",r.rotation.x),G("rotationY","\u65CB\u8F6C Y","number",r.rotation.y),G("rotationZ","\u65CB\u8F6C Z","number",r.rotation.z),G("syncAllDevices","\u540C\u6B65\u4FE1\u606F\u81F3\u6240\u6709\u8BBE\u5907","bool",t.syncAllDevices!==!1),G("anchorType","\u951A\u70B9\u7C7B\u578B","enum",Sc(r),{options:[{value:"center",label:"\u5C45\u4E2D"},{value:"top-left",label:"\u5DE6\u4E0A"},{value:"top",label:"\u4E0A\u65B9"},{value:"top-right",label:"\u53F3\u4E0A"},{value:"left",label:"\u5DE6\u4FA7"},{value:"right",label:"\u53F3\u4FA7"},{value:"bottom-left",label:"\u5DE6\u4E0B"},{value:"bottom",label:"\u4E0B\u65B9"},{value:"bottom-right",label:"\u53F3\u4E0B"},{value:"stretch",label:"\u53CC\u5411\u62C9\u4F38"},{value:"stretch-horizontal",label:"\u6C34\u5E73\u62C9\u4F38"},{value:"stretch-vertical",label:"\u5782\u76F4\u62C9\u4F38"},{value:"custom",label:"\u81EA\u5B9A\u4E49"}]}),G("anchorMinX","\u951A\u70B9 Min X","number",r.anchorMin.x),G("anchorMinY","\u951A\u70B9 Min Y","number",r.anchorMin.y),G("anchorMaxX","\u951A\u70B9 Max X","number",r.anchorMax.x),G("anchorMaxY","\u951A\u70B9 Max Y","number",r.anchorMax.y),G("pivotX","\u4E2D\u5FC3 X","number",r.pivot.x),G("pivotY","\u4E2D\u5FC3 Y","number",r.pivot.y)];if(t.kind==="container"&&a.push(G("isolateNavigation","\u9694\u79BB\u624B\u67C4\u5BFC\u822A","bool",t.isolateNavigation===!0),G("disableKeyEventPassthrough","\u5C4F\u853D\u6309\u952E\u4E8B\u4EF6\u7A7F\u900F","bool",t.disableKeyEventPassthrough===!0),G("disableCursorEventPassthrough","\u5C4F\u853D\u533A\u57DF\u5185\u70B9\u51FB\u4E8B\u4EF6\u7A7F\u900F","bool",t.disableCursorEventPassthrough===!0),G("showCursor","\u663E\u793A\u5E38\u9A7B\u5149\u6807","bool",t.showCursor===!0)),t.kind==="textbox"||t.kind==="textwindow"){let s=t.giaRaw?.textAlign,l=[0,1,2].includes(s)?t.horizontalAlignment||"Left":`__unrecognized:${s}`;a.push(G("fontSize","\u5B57\u53F7","number",t.fontSize),G("adaptiveFontSize","\u5B57\u53F7\u81EA\u9002\u5E94","bool",t.adaptiveFontSize===!0),G("minimumFontSize","\u6700\u5C0F\u5B57\u53F7","number",t.minimumFontSize),G("fontColor","\u6587\u672C\u8272","color",t.fontColor),G("bgColor","\u80CC\u666F\u8272","color",t.bgColor),G("enableOutline","\u542F\u7528\u63CF\u8FB9","bool",t.enableOutline!==!1),G("outlineColor","\u63CF\u8FB9\u8272","color",t.outlineColor),G("horizontalAlignment","\u6C34\u5E73\u5BF9\u9F50","enum",l,{...[0,1,2].includes(s)?{}:{unknownValue:s},options:[{value:"Left",label:"\u5DE6\u5BF9\u9F50"},{value:"Middle",label:"\u5C45\u4E2D"},{value:"Right",label:"\u53F3\u5BF9\u9F50"}]}),G("verticalAlignment","\u5782\u76F4\u5BF9\u9F50","enum",t.verticalAlignment||"Top",{options:[{value:"Top",label:"\u9876\u90E8"},{value:"Middle",label:"\u5C45\u4E2D"},{value:"Bottom",label:"\u5E95\u90E8"}]}),G("text","\u6587\u672C","text",t.text??""))}if(t.kind==="image"){let s=t.giaRaw?.imageFillType,l=[1,2,3,4,5].includes(s)?t.fillType:`__unrecognized:${s}`;a.push(G("imageSource","\u56FE\u7247\u6E90","enum",t.imageSource,{options:[{value:"StaticReference",label:"\u9759\u6001\u5F15\u7528"},{value:"Prefab",label:"\u5143\u4EF6"}]}),G("imageId","imageId","number",t.imageId??0),G("imageType","\u56FE\u7247\u7C7B\u578B","enum",t.imageType??null,{options:[{value:"Basic",label:"\u57FA\u7840"},{value:"Stretch",label:"\u62C9\u4F38"}]}),G("imageColor","\u586B\u5145\u8272","color",t.imageColor),G("enableMask","\u5F00\u542F\u906E\u7F69","bool",t.enableMask===!0),G("enableSoftEdge","\u8FB9\u7F18\u7FBD\u5316","bool",t.enableSoftEdge===!0,{gia:"W"}),G("softEdgeMode","\u7FBD\u5316\u6A21\u5F0F","enum",t.softEdgeMode,{options:[{value:"Percentage",label:"\u767E\u5206\u6BD4"},{value:"Pixel",label:"\u50CF\u7D20"}]}),G("softEdgeWidthX","\u7FBD\u5316\u5BBD\u5EA6 X","number",t.softEdgeWidthX),G("softEdgeWidthY","\u7FBD\u5316\u5BBD\u5EA6 Y","number",t.softEdgeWidthY),G("horizontalSoftRange","\u6C34\u5E73\u7FBD\u5316\u8303\u56F4","number",t.horizontalSoftRange),G("verticalSoftRange","\u5782\u76F4\u7FBD\u5316\u8303\u56F4","number",t.verticalSoftRange),G("enableFill","\u6309\u8FDB\u5EA6\u586B\u5145","bool",t.enableFill===!0,{gia:"W"}),G("fillType","\u5F62\u72B6","enum",l,{...[1,2,3,4,5].includes(s)?{}:{unknownValue:s},options:[{value:"Horizontal",label:"\u6A2A\u5411"},{value:"Vertical",label:"\u7EB5\u5411"},{value:"Radial90",label:"90\u5EA6\u73AF\u7ED5"},{value:"Radial180",label:"180\u5EA6\u73AF\u7ED5"},{value:"Radial360",label:"360\u5EA6\u73AF\u7ED5"}]}),G("fillHorizontalType","\u65B9\u5411","enum",t.fillHorizontalType,{options:[{value:"Left",label:"\u4ECE\u5DE6\u81F3\u53F3"},{value:"Right",label:"\u4ECE\u53F3\u81F3\u5DE6"}]}),G("fillVerticalType","\u65B9\u5411","enum",t.fillVerticalType,{options:[{value:"Bottom",label:"\u4ECE\u4E0B\u81F3\u4E0A"},{value:"Top",label:"\u4ECE\u4E0A\u81F3\u4E0B"}]}),G("fillRadial90Type","\u8D77\u70B9","enum",t.fillRadial90Type,{options:[{value:"BottomLeft",label:"\u5DE6\u4E0B"},{value:"TopLeft",label:"\u5DE6\u4E0A"},{value:"TopRight",label:"\u53F3\u4E0A"},{value:"BottomRight",label:"\u53F3\u4E0B"}]}),G("fillRadialType","\u8D77\u70B9","enum",t.fillRadialType,{options:[{value:"Bottom",label:"\u4E0B\u65B9"},{value:"Left",label:"\u5DE6\u4FA7"},{value:"Top",label:"\u4E0A\u65B9"},{value:"Right",label:"\u53F3\u4FA7"}]}),G("fillAmount","\u8FDB\u5EA6","percent",t.fillAmount),G("reverseMaskArea","\u906E\u7F69\u533A\u57DF\u53CD\u8F6C","bool",t.reverseMaskArea===!0,{gia:"W"}))}if(t.kind==="button"){let s=[{value:"",label:"\u672A\u8BBE\u7F6E"},...(t.children||[]).map(l=>({value:l.id,label:`${l.name} \xB7 ${l.id}`}))];a.push(G("raycastTarget","\u53EF\u88AB\u5149\u6807\u5C04\u7EBF\u68C0\u6D4B","bool",t.raycastTarget!==!1),G("interactable","\u6309\u94AE\u662F\u5426\u53EF\u7528","bool",t.interactable!==!1),G("unavailableChildId","\u4E0D\u53EF\u7528\u72B6\u6001\u8282\u70B9","node",t.unavailableChildId,{options:s,gia:"W"}),G("hoverChildId","\u60AC\u505C\u72B6\u6001\u8282\u70B9","node",t.hoverChildId,{options:s,gia:"W"}),G("pressedChildId","\u6309\u4E0B\u72B6\u6001\u8282\u70B9","node",t.pressedChildId,{options:s,gia:"W"}),G("selectedChildId","\u9009\u4E2D\u72B6\u6001\u8282\u70B9","node",t.selectedChildId,{options:s,gia:"W"}),G("clickAudioId","\u70B9\u51FB\u97F3\u6548","number",t.clickAudioId))}return t.kind==="reference"&&a.push(G("referencedPrefabId","\u5F15\u7528\u63A7\u4EF6\u6A21\u677F\u7D22\u5F15","string",t.referencedPrefabId??"")),(t.kind==="textwindow"||t.kind==="grid")&&a.push(G("interactable","\u5141\u8BB8\u6EDA\u52A8\u4EA4\u4E92","bool",t.interactable!==!1),G("showScrollBar","\u663E\u793A\u6EDA\u52A8\u6761","bool",t.showScrollBar!==!1)),t.kind==="grid"&&a.push(G("itemPrefabId","\u5217\u8868\u9879\u6A21\u677F\u7D22\u5F15","number",t.itemPrefabId??0),G("raycastTarget","\u53EF\u88AB\u5149\u6807\u5C04\u7EBF\u68C0\u6D4B","bool",t.raycastTarget!==!1),G("scrollDirection","\u6EDA\u52A8\u65B9\u5411","enum",t.scrollDirection,{options:[{value:"Vertical",label:"\u7EB5\u5411"},{value:"Horizontal",label:"\u6A2A\u5411"}]}),G("layoutConstraint","\u6392\u5217\u9650\u5236","enum",t.layoutConstraint,{options:[{value:"AutoWrap",label:"\u81EA\u52A8\u6362\u884C"},{value:"Fixed",label:"\u56FA\u5B9A\u884C\u5217\u6570"}]}),G("layoutConstraintFixedCount","\u6BCF\u884C\u6216\u6BCF\u5217\u6570\u91CF","number",t.layoutConstraintFixedCount??1),G("cellSizeX","\u5217\u8868\u9879\u5927\u5C0F W","number",t.cellSizeX,{evidence:"W"}),G("cellSizeY","\u5217\u8868\u9879\u5927\u5C0F H","number",t.cellSizeY,{evidence:"W"}),G("spacingX","\u5217\u8868\u9879\u95F4\u9694 X","number",t.spacingX,{evidence:"W"}),G("spacingY","\u5217\u8868\u9879\u95F4\u9694 Y","number",t.spacingY,{evidence:"W"}),G("padding1X","\u8FB9\u8DDD\u5411\u91CF 1 X","number",t.padding1X,{evidence:"W"}),G("padding1Y","\u8FB9\u8DDD\u5411\u91CF 1 Y","number",t.padding1Y,{evidence:"W"}),G("padding2X","\u8FB9\u8DDD\u5411\u91CF 2 X","number",t.padding2X,{evidence:"W"}),G("padding2Y","\u8FB9\u8DDD\u5411\u91CF 2 Y","number",t.padding2Y,{evidence:"W"}),G("previewCount","\u9884\u89C8\u6570\u91CF","number",t.previewCount)),t.kind==="keyhint"&&a.push(G("keyboardKeyCode","\u952E\u9F20\u6309\u952E","number",t.keyboardKeyCode??t.giaRaw?.keyHintField502??1,{gia:"W"}),G("controllerKeyCode","\u624B\u67C4\u6309\u952E","number",t.controllerKeyCode??t.giaRaw?.keyHintField501??1)),(t.kind==="animation"||t.kind==="fullscreen")&&(a.push(G("animationId",t.kind==="animation"?"\u52A8\u6548\u7D22\u5F15":"\u5168\u5C4F\u52A8\u6548\u7D22\u5F15","string",t.animationId??"")),a.push(G("playSoundEffect","\u64AD\u653E\u52A8\u6548\u97F3\u6548","bool",t.playSoundEffect!==!1)),t.kind==="animation"&&a.push(G("layer","\u52A8\u6548\u5C42\u7EA7","enum",t.layer||"AboveAllControls",{options:[{value:"AboveAllControls",label:"\u6240\u6709\u63A7\u4EF6\u4E4B\u4E0A"},{value:"BelowAllControls",label:"\u6240\u6709\u63A7\u4EF6\u4E4B\u4E0B"}]}))),(!Lr.includes(t.kind)||t.kind==="textwindow"||t.kind==="grid")&&a.push(G("incomplete","\u5B8C\u6574\u5EA6","note",t.kind==="textwindow"||t.kind==="grid"?"\u8BD5\u73A9\u652F\u6301\u57FA\u7840\u6EDA\u52A8\uFF1B\u6EDA\u52A8\u4EA4\u4E92\u3001\u6EDA\u52A8\u6761\u53CA\u5217\u8868\u914D\u7F6E\u4EE5 JSON/Lua \u4E3A\u51C6\uFF0C\u76F8\u5173 GIA \u5F00\u5173\u6620\u5C04\u5C1A\u672A\u6838\u5B9E\u3002":["animation","fullscreen"].includes(t.kind)?"\u652F\u6301\u6D4F\u89C8\u5668\u52A8\u6548\u64AD\u653E\uFF1B\u975E\u7A7A\u52A8\u6548 GIA \u914D\u7F6E\u5C1A\u672A\u6838\u5B9E\u3002":"\u672C\u9636\u6BB5\u4EC5\u516C\u5171\u53D8\u6362\uFF0C\u4E1A\u52A1\u69FD\u4E0D\u5B8C\u6574")),{id:t.id,guid:n?.get(t.id)??(t.guid||0),kind:t.kind,label:an[t.kind]||t.kind,incomplete:!Lr.includes(t.kind),fields:a}}function Kc(t,e,i){let n=(Array.isArray(t)?t:Object.values(t)).filter(r=>r.kind!=="server-container");for(let r=n.length-1;r>=0;r-=1){let o=n[r];if(!o.visible||o.visibleInHierarchy===!1||!o.active)continue;let a=o.renderMatrix&&Xt(o.renderMatrix),s=a&&nt(a,e,i);if(s&&s.x>=o.left&&s.x<=o.right&&s.y>=o.bottom&&s.y<=o.top)return o.id}return null}var td=p1(Qf(),1);function An(t,e=!1){let i=[],n=(r,o)=>{r.kind!=="server-container"&&i.push({node:r,parent:o});let a=e&&r.kind!=="server-container"?[...r.children||[]].reverse():r.children||[];for(let s of a)n(s,r)};return n(t.root,null),i}var mm=String.raw`
|
|
18
18
|
syntax = "proto3";
|
|
19
19
|
// Root.graph is singular in the game's canonical schema, but template-list
|
|
20
20
|
// assets legally emit field 1 more than once. Model it as repeated here so
|
|
@@ -115,18 +115,18 @@ message ImageConfig {
|
|
|
115
115
|
message SliceVector { float field501 = 501; float field502 = 502; }
|
|
116
116
|
}
|
|
117
117
|
message FooterSlot { int32 field505 = 505; }
|
|
118
|
-
`,{root:Zg}=Vf.default.parse(Jg,{keepCase:!1}),Ct=Zg.lookupType("Root"),Si=20,ka=4,Uf=806,Hf=1657,rn={image:23,"server-container":24,container:25,grid:26,reference:27,button:28,animation:29,fullscreen:30,textbox:31,textwindow:32,cursor:33,keyhint:34},Yf={KEYBOARD:0,TOUCHSCREEN:1,CONTROLLER_CONSOLE:2,CONTROLLER_MOBILE:3},Qg="server-control-template",xo="client-control-template";function So(t,e){let i=Number(t);return Number.isFinite(i)?i:e}var ey=Object.fromEntries(Object.entries(Yf).map(([t,e])=>[e,t])),Xf=Object.freeze({container:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["68/91","empty78","containerNodeSlot"],["67/90","empty77","footerSlot"]],textbox:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["64/84","empty74","textConfig"],["67/90","empty77","footerSlot"]],cursor:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["65/85","empty75","cursorConfig"],["67/90","empty77","footerSlot"]],reference:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["66/89","empty76","templateRefSlot"],["67/90","empty77","footerSlot"]],grid:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["69/92","empty79","gridView"],["67/90","empty77","footerSlot"]],button:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["70/93","empty80","buttonPreset"],["67/90","empty77","footerSlot"]],textwindow:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["71/94","empty81","textConfig"],["67/90","empty77","footerSlot"]],keyhint:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["72/95","empty82","keyHint"],["67/90","empty77","footerSlot"]],image:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["73/96","empty83","imageSlot"],["74/97","empty84","image"],["67/90","empty77","footerSlot"]],animation:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["75/98","empty85","effectSlot"],["67/90","empty77","footerSlot"]],fullscreen:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["76/99","empty86","fullscreenEffectSlot"],["67/90","empty77","footerSlot"]]}),Wf=Object.freeze({"4/23":5,"4/86":5,"1/12":4,"62/82":64,"63/83":65,"64/84":66,"65/85":67,"66/89":68,"67/90":69,"68/91":70,"69/92":71,"70/93":72,"71/94":66,"72/95":74,"73/96":75,"74/97":76,"75/98":77,"76/99":78}),ty=Object.freeze([["2/15","name",null],["4/23","field14","field14"],["1/12","transform","transform"],["62/82","empty72","rootChildRef"]]);function Aa(t){return{class:1,type:8,id:t}}function nn(t,e,i,r){return{...r,field501:e,field502:i,field503:1,nodeRef:Aa(t)}}function iy(t){let e=[],i=t.meta?.assetType==="client-control-template";return Ae(t.root,r=>{i&&r.kind==="server-container"||e.push(r)}),e}function on(t,e=new Set,{preserveLegacy:i=!1}={}){let r=new Map,n=[],o=iy(t);if(!i)for(let s of o)ms(s.guid,s.name);for(let s of o){let a=Number(s.guid);(i?Ht(a):ct(a))&&!e.has(a)?(e.add(a),s.guid=a,r.set(s.id,a)):n.push(s)}for(let s of n){let a=ai(e);e.add(a),s.guid=a,r.set(s.id,a)}return r}function ry(t){return{scale:{x:t.scale.x,y:t.scale.y,z:t.scale.z},anchorMin:{x:t.anchorMin.x,y:t.anchorMin.y},anchorMax:{x:t.anchorMax.x,y:t.anchorMax.y},offset:{x:t.offset.x,y:t.offset.y},size:{x:t.size.x,y:t.size.y},pivot:{x:t.pivot.x,y:t.pivot.y},field508:Object.fromEntries(Object.entries(t.rotation).filter(([,e])=>e!==0))}}function ny(t,e){let r={multiPlatform:{platforms:qe.map(n=>({platformType:Yf[n],transform:ry(t.transformByPlatform[n])})),field502:rn[t.kind]||25,...t.syncAllDevices===!1?{}:{field504:1}},type:2};return{transform:{multiPlatform:{},type:2},field501:1,field502:12,details:nn(e,4,12,{transform:r})}}function oy(t,e,i){let r=i?{empty15:"",field501:5}:{field17:{},field501:7},n=i?r:{...r,...t.visible===!1?{field17:{initiallyHidden:!0}}:{},...t.active===!1?{initiallyInactive:!0}:{}};return[{name:{value:t.name},field501:2,field502:15},{field14:r,field501:4,field502:i?23:86,details:nn(e,5,i?23:86,{field14:n})},ny(t,e)]}function sy(t,e,i,r){let n=(u,c,f,h,m)=>({[f]:"",field501:u,field502:c,details:nn(e,u+2,c,{[h]:m})}),o=t.giaRaw||{},s=Array.isArray(t.scriptMappingIds)&&t.scriptMappingIds.length?{field501:o.genericField501||1,field502:t.scriptMappingIds.map(u=>({field1:{id:Number(u)}}))}:{field501:o.genericField501??0},a=n(63,83,"empty73","genericSlot",s),l=n(67,90,"empty77","footerSlot",{field505:[void 0,0,1].includes(o.footerField505)?t.canControllerFocus?1:0:o.footerField505});if(t.kind==="container")return[a,n(68,91,"empty78","containerNodeSlot",{...t.isolateNavigation?{isolateNavigation:!0}:{},...t.disableKeyEventPassthrough?{disableKeyEventPassthrough:!0}:{},...t.disableCursorEventPassthrough?{disableCursorEventPassthrough:!0}:{},...t.showCursor?{showCursor:!0}:{}}),l];if(t.kind==="textbox"||t.kind==="textwindow"){t.verticalAlignment==="Middle"&&r.push(`${t.name}: \u5782\u76F4\u5C45\u4E2D\u6309\u63A8\u5B9A\u503C\u5BFC\u51FA\uFF0C\u5C1A\u5F85\u5B9E\u673A\u786E\u8BA4\u3002`);let u={Left:0,Middle:1,Right:2}[t.horizontalAlignment]??0,c=Number.isFinite(o.textAlign)?Math.trunc(o.textAlign):u,f={field501:o.textField501??20,field503:o.textField503??12,color:t.fontColor>>>0,color2:t.bgColor>>>0,color3:t.outlineColor>>>0,text:{value:t.text||""},fontSize:Math.trunc(t.fontSize),minimumFontSize:Math.trunc(t.minimumFontSize),...t.adaptiveFontSize?{adaptive:1}:{},...t.enableOutline===!1?{outlineOff:1}:{},...c?{align:c}:{},verticalAlign:o.textVerticalAlign??{Top:0,Middle:1,Bottom:2}[t.verticalAlignment]??0};return t.kind==="textwindow"?((t.interactable===!1||t.showScrollBar===!1)&&r.push(`${t.name}: \u6587\u672C\u89C6\u7A97\u4EA4\u4E92/\u6EDA\u52A8\u6761\u5F00\u5173\u4EC5\u4FDD\u5B58\u5728 JSON\uFF0CGIA \u672A\u6620\u5C04\u8FD9\u4E9B\u6539\u52A8\u3002`),f.field511=o.textField511??1,f.viewFlags={field502:o.textViewField502??1,field503:o.textViewField503??1},[a,{empty81:"",field501:71,field502:94,details:nn(e,66,94,{textConfig:f})},l]):[a,n(64,84,"empty74","textConfig",f),l]}if(t.kind==="image"){let u=[0,1].includes(o.imageSlotType??0)?t.imageType==="Stretch"?1:0:o.imageSlotType;t.imageType==null&&t.imageSource==="StaticReference"&&t.imageId>100006&&r.push(`${t.name}: \u56FE\u7247\u7C7B\u578B\u968F\u7D20\u6750\u8FB9\u754C\u81EA\u52A8\u9009\u62E9\uFF0CGIA \u6309\u57FA\u7840\u5BFC\u51FA\uFF1B\u9700\u8981\u62C9\u4F38\u8BF7\u5148\u660E\u786E\u9009\u62E9\u6216\u5728 Lua \u8BBE\u7F6E imageType\u3002`),t.imageSource&&t.imageSource!=="StaticReference"&&r.push(`${t.name}: \u56FE\u7247\u6765\u6E90 ${t.imageSource} \u4EC5\u4FDD\u5B58\u5728 JSON\uFF0C\u5C1A\u672A\u6620\u5C04\u5230 GIA\uFF1B\u8BF7\u5728 Lua \u4E2D\u7528 SetImage(Enum.ImageSource.${t.imageSource}, ${t.imageId}) \u8BBE\u7F6E\u3002`);let c={Horizontal:1,Vertical:2,Radial90:3,Radial180:4,Radial360:5}[t.fillType],f=Number.isFinite(o.imageFillType)?Math.trunc(o.imageFillType):c||1;t.enableFill&&!f&&r.push(`${t.name}: \u586B\u5145\u5F62\u72B6\u539F\u59CB\u679A\u4E3E\u4E3A 0\uFF0C\u5DF2\u5173\u95ED\u5BFC\u51FA\u6587\u4EF6\u4E2D\u7684\u8FDB\u5EA6\u586B\u5145\u3002`),t.fillType==="Horizontal"&&t.fillHorizontalType!=="Left"&&r.push(`${t.name}: \u5F53\u524D\u6A2A\u5411\u586B\u5145\u65B9\u5411\u6682\u4E0D\u652F\u6301\u5199\u5165 GIA\u3002`),t.fillType==="Radial180"&&t.fillRadialType!=="Bottom"&&r.push(`${t.name}: \u5F53\u524D 180 \u5EA6\u586B\u5145\u8D77\u70B9\u6682\u4E0D\u652F\u6301\u5199\u5165 GIA\u3002`);let h={field502:o.imageField502??1,field504:o.imageField504??1,field505:o.imageField505??1,field507:o.imageField507??2,field508:Math.round(Math.max(0,Math.min(1,Number(t.fillAmount)||0))*100),border:{field501:So(t.softEdgeWidthX,8),field502:So(t.softEdgeWidthY,8)},field512:So(t.horizontalSoftRange,85),field513:So(t.verticalSoftRange,85),fillType:f,...t.enableMask?{enableMask:1}:{},...t.enableSoftEdge?{enableSoftEdge:1}:{},...t.softEdgeMode==="Pixel"?{softEdgePixel:1}:{},...t.enableFill&&f?{enableFill:1}:{},...t.reverseMaskArea?{reverseMask:1}:{}};return[a,n(73,96,"empty83","imageSlot",{field502:Number.isFinite(t.imageColor)?t.imageColor>>>0:4294967295,assetId:t.imageId>>>0,...u?{imageType:u}:{}}),n(74,97,"empty84","image",h),l]}if(t.kind==="button"){let u=(g,v)=>{let w=t[g];return w?(t.children||[]).some(S=>S.id===w)?i.get(w)||0:(r.push(`${t.name}: ${v}\u72B6\u6001\u8282\u70B9\u4E0D\u662F\u6309\u94AE\u7684\u76F4\u63A5\u5B50\u63A7\u4EF6\uFF0CGIA \u672A\u5199\u5165\u8BE5\u72B6\u6001\u3002`),0):0},c=u("unavailableChildId","\u4E0D\u53EF\u7528"),f=u("hoverChildId","\u60AC\u505C"),h=u("pressedChildId","\u6309\u4E0B"),m=u("selectedChildId","\u9009\u4E2D");return[a,n(70,93,"empty80","buttonPreset",{clickAudioId:Math.trunc(t.clickAudioId),...c?{disabledChild:c}:{},...f?{hoverChild:f}:{},...h?{pressedChild:h}:{},...m?{selectedChild:m}:{},...t.interactable?{interactable:1}:{},...t.raycastTarget?{raycastTarget:1}:{}}),l]}if(t.kind==="cursor")return[a,n(65,85,"empty75","cursorConfig",{field501:[void 0,0,1].includes(o.cursorField501)?t.raycastTarget!==!1?1:0:o.cursorField501}),l];if(t.kind==="reference"){let u=o.templateRefSlotBase64;(u||o.templateRefOuterBase64)&&r.push(`${t.name}: \u6A21\u677F\u5F15\u7528\u7684\u975E\u7A7A\u4E8C\u8FDB\u5236\u914D\u7F6E\u5C1A\u672A\u89E3\u6790\uFF0C\u5DF2\u539F\u6837\u4FDD\u7559\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u5C55\u5F00\u88AB\u5F15\u7528\u6A21\u677F\u3002`);let c=n(66,89,"empty76","templateRefSlot",u?Buffer.from(u,"base64"):Buffer.from(o.templateRefSlot??"","utf8"));return c.empty76=Buffer.from(o.templateRefOuterBase64||"","base64"),[a,c,l]}return t.kind==="grid"?((t.itemPrefabId||t.interactable===!1||t.showScrollBar===!1||t.raycastTarget===!1||t.scrollDirection!=="Vertical"||t.layoutConstraint!=="AutoWrap")&&r.push(`${t.name}: \u7F51\u683C\u5217\u8868\u9879\u6A21\u677F\u3001\u4EA4\u4E92/\u6EDA\u52A8\u6761\u5F00\u5173\u3001\u6EDA\u52A8\u65B9\u5411\u53CA\u6392\u5217\u9650\u5236\u4EC5\u4FDD\u5B58\u5728 JSON\uFF0CGIA \u672A\u6620\u5C04\u8FD9\u4E9B\u6539\u52A8\u3002`),[a,n(69,92,"empty79","gridView",{field501:o.gridField501??1,cellSize:{field501:t.cellSizeX,field502:t.cellSizeY},gap:{field501:t.spacingX,field502:t.spacingY},padding1:{field501:t.padding1X,field502:t.padding1Y},padding2:{field501:t.padding2X,field502:t.padding2Y},field507:o.gridField507??1,field508:o.gridField508??1,field509:o.gridField509??1,field511:o.gridField511??5,field512:o.gridField512??1}),l]):t.kind==="keyhint"?[a,n(72,95,"empty82","keyHint",{field501:Number.isFinite(o.keyHintField501)?Math.trunc(o.keyHintField501):t.controllerKeyCode??1,field502:Number.isFinite(o.keyHintField502)?Math.trunc(o.keyHintField502):t.keyboardKeyCode??1}),l]:t.kind==="animation"?[a,n(75,98,"empty85","effectSlot",o.effectSlot??""),l]:t.kind==="fullscreen"?[a,n(76,99,"empty86","fullscreenEffectSlot",o.fullscreenEffectSlot??""),l]:(r.push(`${t.name}: ${t.kind} \u4E0D\u662F\u5DF2\u77E5 GIA \u63A7\u4EF6\u7C7B\u578B\uFF0C\u5DF2\u4EC5\u5199\u516C\u5171\u53D8\u6362\u3002`),[a,l])}function ay(t,e){if(e)return 1;if(!ft(t.giaInfoIndex))throw new Error(`${t.name}: \u7F3A\u5C11\u5408\u6CD5\u7684\u5BA2\u6237\u7AEF\u8D44\u4EA7\u7F16\u53F7`);return t.giaInfoIndex}function ly(t,e,i){let r=Array.isArray(t.giaRelatedGuids)?t.giaRelatedGuids.filter(n=>Number.isSafeInteger(n)&&n>0&&n<=2147483647):[];return r.length?r:(e.push(`${t.name}: \u65B0${i}\u5199\u5165\u663E\u5F0F\u7A7A Info.related\uFF0C\u907F\u514D\u8DE8\u6C99\u7BB1\u590D\u7528\u4F34\u751F\u8D44\u6E90 GUID \u4EA7\u751F\u65E0\u6CD5\u52A0\u8F7D\u7684\u7D22\u5F15\u3002`),[])}function Ta(t,e){let i=String(t.meta?.giaFilePath||"").trim();if(/^\d+-\d+-\d+-\\.+\.gia$/iu.test(i))return i;let r=(u,c)=>Number.isSafeInteger(Number(u))&&Number(u)>0?Number(u):c,n=r(t.meta?.giaOwnerUid,114514),o=r(t.meta?.giaTimestamp,Math.floor(Date.now()/1e3)),s=r(t.meta?.giaFileId,e?1073741829:1073741830),a=e?"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868.gia":"\u670D\u52A1\u7AEF\u63A7\u4EF6\u6A21\u677F-\u5BA2\u6237\u7AEF\u63A7\u4EF6\u5BB9\u5668.gia",l=String(t.meta?.giaFileName||a).replace(/[\\/:*?"<>|]/gu,"-").replace(/\.gia$/iu,"").trim()||a.replace(/\.gia$/iu,"");return`${n}-${o}-${s}-\\${l}.gia`}function Io(t,e,i,r,n,o=!1,s=!1,a=s,l=!1){let u=i.get(t.id),f=(l?[...t.children||[]].reverse():t.children||[]).map(g=>i.get(g.id)),h=o?r:f,m=oy(t,u,o);if(o){let g=t.children?.[0];g&&m.push({empty72:"",field501:62,field502:82,details:nn(u,64,82,{rootChildRef:{guid:i.get(g.id)}})})}else m.push(...sy(t,u,i,n));return{id:Aa(u),relatedIds:h.map(g=>Aa(g)),name:t.name,which:o?21:s?70:15,ui:{content:{guid:u,info:[{guid:{value:u},field501:1,field502:5},...o||a?[{index:{value:ay(t,o)},field501:2,field502:6}]:[],...o||s?[{related:{value:ly(t,n,o?"\u670D\u52A1\u7AEF\u63A7\u4EF6\u6A21\u677F":"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F")},field501:4,field502:4}]:[]],children:o?[]:f,parent:e&&e.kind!=="server-container"?i.get(e.id):0,data:m}}}}function uy(t,e){let i=new Map;for(let r of t||[]){if(!r.controlId||!(e===xo?r.controlAsset===xo:r.controlAsset!==xo))continue;let o=i.get(r.controlId)||[];o.push(r.guid),i.set(r.controlId,o)}return i}function Kf(t,e,i,r){let n=uy(e,i),o=new Map;Ae(t.root,s=>{n.has(s.id)&&(o.set(s,s.scriptMappingIds),s.scriptMappingIds=n.get(s.id))});try{return r()}finally{for(let[s,a]of o)a===void 0?delete s.scriptMappingIds:s.scriptMappingIds=a}}function Ra(t){let e=Number(t.meta?.giaModeFlag);return Number.isSafeInteger(e)&&e>=0?{modeFlag:e}:{}}function Oa(t){let e=t.meta?.gameVersion;return!e||e==="7.0.50"?Pn:e}function Jf(t,e,i,r,n=[]){let o=_r(t,!0),s=o.filter(({parent:c})=>c?.kind==="server-container");if(!s.length)throw new Error("\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u6A21\u677F");let a=new Set(s.map(({node:c})=>c.id)),l=o.filter(({node:c})=>!a.has(c.id)),u=o.map(({node:c})=>e.get(c.id));return Kf(t,n,xo,()=>({graph:s.map(({node:c,parent:f})=>Io(c,f,e,u,i,!1,!0,!0,!0)),accessories:l.map(({node:c,parent:f})=>Io(c,f,e,u,i,!1,!1,!0,!0)),filePath:r||Ta(t,!0),gameVersion:Oa(t),...Ra(t)}))}function Zf(t,e,i,r,n){let o=_r(t),s=[o[0],...o.slice(1).reverse()],a=s.map(({node:l})=>e.get(l.id));return Kf(t,i.scripts,Qg,()=>({graph:[Io(t.root,null,e,a,r,!0,!1,!1,!0),...i.units||[]],accessories:s.map(({node:l,parent:u})=>Io(l,u,e,a,r,!1,!1,!1,!0)),filePath:n||Ta(t,!1),gameVersion:Oa(t),...Ra(t)}))}function Qf(t,e){let i=Na(t),r=e(i);if(!r.valid)throw new Error(`GIA compatibility validation failed:
|
|
119
|
-
${r.errors.join(`
|
|
120
|
-
`)}`);return i}function ed(t,e={}){Ae(t.root,Ri);let i=[];Yt(t,{warnings:i});let r=on(se(t)),n=t.meta?.assetType==="client-control-template",o;if(n)o=Jf(t,r,i,void 0,e.scripts||[]);else{let a=Pa(e.scripts||[],new Set(r.values()));i.push(...a.warnings),o=Zf(t,r,a,i)}return{buffer:Qf(o,n?Fa:Da),warnings:[...new Set(i)]}}function td(t,e,i={}){Ae(t.root,Ri),e&&Ae(e.root,Ri);let r=["\u6574\u5408\u5305\u628A\u670D\u52A1\u7AEF UIControlGroup \u4E0E\u5BA2\u6237\u7AEF UIControlTemplate \u5E76\u6392\u5199\u5165\u540C\u4E00 GIA \u7684 Root.graph\uFF1B\u5BFC\u5165\u65F6\u62C6\u56DE\u4E24\u7C7B\u8D44\u4EA7\uFF0C\u6A21\u677F\u8FB9\u754C\u3001\u811A\u672C\u6620\u5C04\u4E0E\u63A7\u4EF6\u6302\u8F7D\u5173\u7CFB\u4F1A\u4FDD\u7559\u3002"];e&&Yt(e,{warnings:r});let n=e?.root?.children||[];n.length||r.push("\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u4E3A\u7A7A\uFF0C\u6574\u5408\u5305\u53EA\u5305\u542B\u670D\u52A1\u7AEF\u63A7\u4EF6\u4E0E\u811A\u672C\u3002");let o=new Set,s=se(t),a=e?se(e):null,l=on(s,o),u=Pa(i.scripts||[],o);r.push(...u.warnings.filter(w=>w!==rd));let c=String(i.fileName||`${s.meta?.name||"\u6574\u5408\u5305"} \xB7 \u6574\u5408\u5305.gia`),f=Ta({...s,meta:{...s.meta,giaFileName:c}},!1),h=Zf(s,l,u,r,f),m={graph:[],accessories:[]};if(n.length&&a){let w=on({...a,meta:{...a.meta,assetType:"client-control-template"}},o);m=Jf(a,w,r,f,u.scripts)}let g={graph:[...h.graph,...m.graph],accessories:[...h.accessories,...m.accessories],filePath:f,gameVersion:Oa({meta:{gameVersion:t.meta?.gameVersion||e?.meta?.gameVersion}}),...Ra(t)};return{buffer:Qf(g,Da),warnings:[...new Set(r)]}}var Gi=69,id=30,rd="\u811A\u672C\u6302\u8F7D\u5173\u7CFB\u4E0D\u8FDB\u5165 GIA\uFF1A\u5B98\u65B9 script.gia \u53EA\u542B\u6620\u5C04\uFF08ID/\u540D\u79F0/\u8DEF\u5F84/\u6E90\u7801\uFF09\uFF0C\u5BFC\u5165\u540E\u9700\u91CD\u65B0\u6302\u8F7D\u3002";function cy(t){return(String(t.path||"").replace(/\\/g,"/").split("/").pop()||"").replace(/\.lua$/iu,"")||`\u811A\u672C${t.id||""}`}function Na(t){let e=Ct.verify(t);if(e)throw new Error(`GIA encode validation failed: ${e}`);let i=Ct.encode(Ct.create(t)).finish(),r=Buffer.alloc(Si+i.length+ka);return r.writeUInt32BE(r.length-4,0),r.writeUInt32BE(1,4),r.writeUInt32BE(Uf,8),r.writeUInt32BE(3,12),r.writeUInt32BE(i.length,16),Buffer.from(i).copy(r,Si),r.writeUInt32BE(Hf,Si+i.length),r}function Pa(t,e=new Set){let i=(t||[]).filter(s=>s.path||s.source).map(s=>({...s})),r=[];for(let s of i)ms(s.guid,s.path||s.id);for(let s of i){let a=Number(s.guid);ct(a)&&!e.has(a)?(e.add(a),s.guid=a):r.push(s)}for(let s of r){let a=ai(e);e.add(a),s.guid=a}let n=[];return(t||[]).some(s=>s.controlId)&&n.push(rd),{units:i.map(s=>{let a=cy(s),l=String(s.path||"").replace(/\\/g,"/"),u=/\.lua$/iu.test(l)?l:`${l||a}.lua`,c={id:s.guid,name:a,filePath:u};return String(s.source||"")&&(c.source=String(s.source)),{id:{class:id,id:s.guid},name:a,which:Gi,script:{mapping:c}}}),warnings:n,scripts:i}}function nd(t){let e=Pa(t);if(!e.units.length)throw new Error("\u6CA1\u6709\u53EF\u5BFC\u51FA\u7684 Lua \u811A\u672C\uFF0C\u8BF7\u5148\u5728\u201CLua \u811A\u672C\u201D\u9875\u521B\u5EFA");let i={graph:e.units,filePath:`114514-${Math.floor(Date.now()/1e3)}-1073741832-\\script.gia`,gameVersion:"7.0.51"},r=Na(i),n=fy(r);if(!n.valid)throw new Error(`GIA compatibility validation failed:
|
|
118
|
+
`,{root:gm}=td.default.parse(mm,{keepCase:!1}),Rt=gm.lookupType("Root"),Ei=20,Os=4,id=806,nd=1657,ar={image:23,"server-container":24,container:25,grid:26,reference:27,button:28,animation:29,fullscreen:30,textbox:31,textwindow:32,cursor:33,keyhint:34},rd={KEYBOARD:0,TOUCHSCREEN:1,CONTROLLER_CONSOLE:2,CONTROLLER_MOBILE:3},bm="server-control-template",_o="client-control-template";function Io(t,e){let i=Number(t);return Number.isFinite(i)?i:e}var ym=Object.fromEntries(Object.entries(rd).map(([t,e])=>[e,t])),od=Object.freeze({container:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["68/91","empty78","containerNodeSlot"],["67/90","empty77","footerSlot"]],textbox:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["64/84","empty74","textConfig"],["67/90","empty77","footerSlot"]],cursor:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["65/85","empty75","cursorConfig"],["67/90","empty77","footerSlot"]],reference:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["66/89","empty76","templateRefSlot"],["67/90","empty77","footerSlot"]],grid:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["69/92","empty79","gridView"],["67/90","empty77","footerSlot"]],button:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["70/93","empty80","buttonPreset"],["67/90","empty77","footerSlot"]],textwindow:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["71/94","empty81","textConfig"],["67/90","empty77","footerSlot"]],keyhint:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["72/95","empty82","keyHint"],["67/90","empty77","footerSlot"]],image:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["73/96","empty83","imageSlot"],["74/97","empty84","image"],["67/90","empty77","footerSlot"]],animation:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["75/98","empty85","effectSlot"],["67/90","empty77","footerSlot"]],fullscreen:[["2/15","name",null],["4/86","field14","field14"],["1/12","transform","transform"],["63/83","empty73","genericSlot"],["76/99","empty86","fullscreenEffectSlot"],["67/90","empty77","footerSlot"]]}),ad=Object.freeze({"4/23":5,"4/86":5,"1/12":4,"62/82":64,"63/83":65,"64/84":66,"65/85":67,"66/89":68,"67/90":69,"68/91":70,"69/92":71,"70/93":72,"71/94":66,"72/95":74,"73/96":75,"74/97":76,"75/98":77,"76/99":78}),vm=Object.freeze([["2/15","name",null],["4/23","field14","field14"],["1/12","transform","transform"],["62/82","empty72","rootChildRef"]]);function Ns(t){return{class:1,type:8,id:t}}function sr(t,e,i,n){return{...n,field501:e,field502:i,field503:1,nodeRef:Ns(t)}}function wm(t){let e=[],i=t.meta?.assetType==="client-control-template";return be(t.root,n=>{i&&n.kind==="server-container"||e.push(n)}),e}function lr(t,e=new Set,{preserveLegacy:i=!1}={}){let n=new Map,r=[],o=wm(t);if(!i)for(let a of o)va(a.guid,a.name);for(let a of o){let s=Number(a.guid);(i?Wt(s):mt(s))&&!e.has(s)?(e.add(s),a.guid=s,n.set(a.id,s)):r.push(a)}for(let a of r){let s=ci(e);e.add(s),a.guid=s,n.set(a.id,s)}return n}function Sm(t){return{scale:{x:t.scale.x,y:t.scale.y,z:t.scale.z},anchorMin:{x:t.anchorMin.x,y:t.anchorMin.y},anchorMax:{x:t.anchorMax.x,y:t.anchorMax.y},offset:{x:t.offset.x,y:t.offset.y},size:{x:t.size.x,y:t.size.y},pivot:{x:t.pivot.x,y:t.pivot.y},field508:Object.fromEntries(Object.entries(t.rotation).filter(([,e])=>e!==0))}}function xm(t,e){let n={multiPlatform:{platforms:qe.map(r=>({platformType:rd[r],transform:Sm(t.transformByPlatform[r])})),field502:ar[t.kind]||25,...t.syncAllDevices===!1?{}:{field504:1}},type:2};return{transform:{multiPlatform:{},type:2},field501:1,field502:12,details:sr(e,4,12,{transform:n})}}function Em(t,e,i){let n=i?{empty15:"",field501:5}:{field17:{},field501:7},r=i?n:{...n,...t.visible===!1?{field17:{initiallyHidden:!0}}:{},...t.active===!1?{initiallyInactive:!0}:{}};return[{name:{value:t.name},field501:2,field502:15},{field14:n,field501:4,field502:i?23:86,details:sr(e,5,i?23:86,{field14:r})},xm(t,e)]}function Im(t,e,i,n){let r=(c,u,f,h,p)=>({[f]:"",field501:c,field502:u,details:sr(e,c+2,u,{[h]:p})}),o=t.giaRaw||{},a=Array.isArray(t.scriptMappingIds)&&t.scriptMappingIds.length?{field501:o.genericField501||1,field502:t.scriptMappingIds.map(c=>({field1:{id:Number(c)}}))}:{field501:o.genericField501??0},s=r(63,83,"empty73","genericSlot",a),l=r(67,90,"empty77","footerSlot",{field505:[void 0,0,1].includes(o.footerField505)?t.canControllerFocus?1:0:o.footerField505});if(t.kind==="container")return[s,r(68,91,"empty78","containerNodeSlot",{...t.isolateNavigation?{isolateNavigation:!0}:{},...t.disableKeyEventPassthrough?{disableKeyEventPassthrough:!0}:{},...t.disableCursorEventPassthrough?{disableCursorEventPassthrough:!0}:{},...t.showCursor?{showCursor:!0}:{}}),l];if(t.kind==="textbox"||t.kind==="textwindow"){t.verticalAlignment==="Middle"&&n.push(`${t.name}: \u5782\u76F4\u5C45\u4E2D\u6309\u63A8\u5B9A\u503C\u5BFC\u51FA\uFF0C\u5C1A\u5F85\u5B9E\u673A\u786E\u8BA4\u3002`);let c={Left:0,Middle:1,Right:2}[t.horizontalAlignment]??0,u=Number.isFinite(o.textAlign)?Math.trunc(o.textAlign):c,f={field501:o.textField501??20,field503:o.textField503??12,color:t.fontColor>>>0,color2:t.bgColor>>>0,color3:t.outlineColor>>>0,text:{value:t.text||""},fontSize:Math.trunc(t.fontSize),minimumFontSize:Math.trunc(t.minimumFontSize),...t.adaptiveFontSize?{adaptive:1}:{},...t.enableOutline===!1?{outlineOff:1}:{},...u?{align:u}:{},verticalAlign:o.textVerticalAlign??{Top:0,Middle:1,Bottom:2}[t.verticalAlignment]??0};return t.kind==="textwindow"?((t.interactable===!1||t.showScrollBar===!1)&&n.push(`${t.name}: \u6587\u672C\u89C6\u7A97\u4EA4\u4E92/\u6EDA\u52A8\u6761\u5F00\u5173\u4EC5\u4FDD\u5B58\u5728 JSON\uFF0CGIA \u672A\u6620\u5C04\u8FD9\u4E9B\u6539\u52A8\u3002`),f.field511=o.textField511??1,f.viewFlags={field502:o.textViewField502??1,field503:o.textViewField503??1},[s,{empty81:"",field501:71,field502:94,details:sr(e,66,94,{textConfig:f})},l]):[s,r(64,84,"empty74","textConfig",f),l]}if(t.kind==="image"){let c=[0,1].includes(o.imageSlotType??0)?t.imageType==="Stretch"?1:0:o.imageSlotType;t.imageType==null&&t.imageSource==="StaticReference"&&t.imageId>100006&&n.push(`${t.name}: \u56FE\u7247\u7C7B\u578B\u968F\u7D20\u6750\u8FB9\u754C\u81EA\u52A8\u9009\u62E9\uFF0CGIA \u6309\u57FA\u7840\u5BFC\u51FA\uFF1B\u9700\u8981\u62C9\u4F38\u8BF7\u5148\u660E\u786E\u9009\u62E9\u6216\u5728 Lua \u8BBE\u7F6E imageType\u3002`),t.imageSource&&t.imageSource!=="StaticReference"&&n.push(`${t.name}: \u56FE\u7247\u6765\u6E90 ${t.imageSource} \u4EC5\u4FDD\u5B58\u5728 JSON\uFF0C\u5C1A\u672A\u6620\u5C04\u5230 GIA\uFF1B\u8BF7\u5728 Lua \u4E2D\u7528 SetImage(Enum.ImageSource.${t.imageSource}, ${t.imageId}) \u8BBE\u7F6E\u3002`);let u={Horizontal:1,Vertical:2,Radial90:3,Radial180:4,Radial360:5}[t.fillType],f=Number.isFinite(o.imageFillType)?Math.trunc(o.imageFillType):u||1;t.enableFill&&!f&&n.push(`${t.name}: \u586B\u5145\u5F62\u72B6\u539F\u59CB\u679A\u4E3E\u4E3A 0\uFF0C\u5DF2\u5173\u95ED\u5BFC\u51FA\u6587\u4EF6\u4E2D\u7684\u8FDB\u5EA6\u586B\u5145\u3002`),t.fillType==="Horizontal"&&t.fillHorizontalType!=="Left"&&n.push(`${t.name}: \u5F53\u524D\u6A2A\u5411\u586B\u5145\u65B9\u5411\u6682\u4E0D\u652F\u6301\u5199\u5165 GIA\u3002`),t.fillType==="Radial180"&&t.fillRadialType!=="Bottom"&&n.push(`${t.name}: \u5F53\u524D 180 \u5EA6\u586B\u5145\u8D77\u70B9\u6682\u4E0D\u652F\u6301\u5199\u5165 GIA\u3002`);let h={field502:o.imageField502??1,field504:o.imageField504??1,field505:o.imageField505??1,field507:o.imageField507??2,field508:Math.round(Math.max(0,Math.min(1,Number(t.fillAmount)||0))*100),border:{field501:Io(t.softEdgeWidthX,8),field502:Io(t.softEdgeWidthY,8)},field512:Io(t.horizontalSoftRange,85),field513:Io(t.verticalSoftRange,85),fillType:f,...t.enableMask?{enableMask:1}:{},...t.enableSoftEdge?{enableSoftEdge:1}:{},...t.softEdgeMode==="Pixel"?{softEdgePixel:1}:{},...t.enableFill&&f?{enableFill:1}:{},...t.reverseMaskArea?{reverseMask:1}:{}};return[s,r(73,96,"empty83","imageSlot",{field502:Number.isFinite(t.imageColor)?t.imageColor>>>0:4294967295,assetId:t.imageId>>>0,...c?{imageType:c}:{}}),r(74,97,"empty84","image",h),l]}if(t.kind==="button"){let c=(g,b)=>{let w=t[g];return w?(t.children||[]).some(S=>S.id===w)?i.get(w)||0:(n.push(`${t.name}: ${b}\u72B6\u6001\u8282\u70B9\u4E0D\u662F\u6309\u94AE\u7684\u76F4\u63A5\u5B50\u63A7\u4EF6\uFF0CGIA \u672A\u5199\u5165\u8BE5\u72B6\u6001\u3002`),0):0},u=c("unavailableChildId","\u4E0D\u53EF\u7528"),f=c("hoverChildId","\u60AC\u505C"),h=c("pressedChildId","\u6309\u4E0B"),p=c("selectedChildId","\u9009\u4E2D");return[s,r(70,93,"empty80","buttonPreset",{clickAudioId:Math.trunc(t.clickAudioId),...u?{disabledChild:u}:{},...f?{hoverChild:f}:{},...h?{pressedChild:h}:{},...p?{selectedChild:p}:{},...t.interactable?{interactable:1}:{},...t.raycastTarget?{raycastTarget:1}:{}}),l]}if(t.kind==="cursor")return[s,r(65,85,"empty75","cursorConfig",{field501:[void 0,0,1].includes(o.cursorField501)?t.raycastTarget!==!1?1:0:o.cursorField501}),l];if(t.kind==="reference"){let c=o.templateRefSlotBase64;(c||o.templateRefOuterBase64)&&n.push(`${t.name}: \u6A21\u677F\u5F15\u7528\u7684\u975E\u7A7A\u4E8C\u8FDB\u5236\u914D\u7F6E\u5C1A\u672A\u89E3\u6790\uFF0C\u5DF2\u539F\u6837\u4FDD\u7559\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u5C55\u5F00\u88AB\u5F15\u7528\u6A21\u677F\u3002`);let u=r(66,89,"empty76","templateRefSlot",c?Buffer.from(c,"base64"):Buffer.from(o.templateRefSlot??"","utf8"));return u.empty76=Buffer.from(o.templateRefOuterBase64||"","base64"),[s,u,l]}return t.kind==="grid"?((t.itemPrefabId||t.interactable===!1||t.showScrollBar===!1||t.raycastTarget===!1||t.scrollDirection!=="Vertical"||t.layoutConstraint!=="AutoWrap")&&n.push(`${t.name}: \u7F51\u683C\u5217\u8868\u9879\u6A21\u677F\u3001\u4EA4\u4E92/\u6EDA\u52A8\u6761\u5F00\u5173\u3001\u6EDA\u52A8\u65B9\u5411\u53CA\u6392\u5217\u9650\u5236\u4EC5\u4FDD\u5B58\u5728 JSON\uFF0CGIA \u672A\u6620\u5C04\u8FD9\u4E9B\u6539\u52A8\u3002`),[s,r(69,92,"empty79","gridView",{field501:o.gridField501??1,cellSize:{field501:t.cellSizeX,field502:t.cellSizeY},gap:{field501:t.spacingX,field502:t.spacingY},padding1:{field501:t.padding1X,field502:t.padding1Y},padding2:{field501:t.padding2X,field502:t.padding2Y},field507:o.gridField507??1,field508:o.gridField508??1,field509:o.gridField509??1,field511:o.gridField511??5,field512:o.gridField512??1}),l]):t.kind==="keyhint"?[s,r(72,95,"empty82","keyHint",{field501:Number.isFinite(o.keyHintField501)?Math.trunc(o.keyHintField501):t.controllerKeyCode??1,field502:Number.isFinite(o.keyHintField502)?Math.trunc(o.keyHintField502):t.keyboardKeyCode??1}),l]:t.kind==="animation"?[s,r(75,98,"empty85","effectSlot",o.effectSlot??""),l]:t.kind==="fullscreen"?[s,r(76,99,"empty86","fullscreenEffectSlot",o.fullscreenEffectSlot??""),l]:(n.push(`${t.name}: ${t.kind} \u4E0D\u662F\u5DF2\u77E5 GIA \u63A7\u4EF6\u7C7B\u578B\uFF0C\u5DF2\u4EC5\u5199\u516C\u5171\u53D8\u6362\u3002`),[s,l])}function _m(t,e){if(e)return 1;if(!gt(t.giaInfoIndex))throw new Error(`${t.name}: \u7F3A\u5C11\u5408\u6CD5\u7684\u5BA2\u6237\u7AEF\u8D44\u4EA7\u7F16\u53F7`);return t.giaInfoIndex}function km(t,e,i){let n=Array.isArray(t.giaRelatedGuids)?t.giaRelatedGuids.filter(r=>Number.isSafeInteger(r)&&r>0&&r<=2147483647):[];return n.length?n:(e.push(`${t.name}: \u65B0${i}\u5199\u5165\u663E\u5F0F\u7A7A Info.related\uFF0C\u907F\u514D\u8DE8\u6C99\u7BB1\u590D\u7528\u4F34\u751F\u8D44\u6E90 GUID \u4EA7\u751F\u65E0\u6CD5\u52A0\u8F7D\u7684\u7D22\u5F15\u3002`),[])}function Ps(t,e){let i=String(t.meta?.giaFilePath||"").trim();if(/^\d+-\d+-\d+-\\.+\.gia$/iu.test(i))return i;let n=(c,u)=>Number.isSafeInteger(Number(c))&&Number(c)>0?Number(c):u,r=n(t.meta?.giaOwnerUid,114514),o=n(t.meta?.giaTimestamp,Math.floor(Date.now()/1e3)),a=n(t.meta?.giaFileId,e?1073741829:1073741830),s=e?"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868.gia":"\u670D\u52A1\u7AEF\u63A7\u4EF6\u6A21\u677F-\u5BA2\u6237\u7AEF\u63A7\u4EF6\u5BB9\u5668.gia",l=String(t.meta?.giaFileName||s).replace(/[\\/:*?"<>|]/gu,"-").replace(/\.gia$/iu,"").trim()||s.replace(/\.gia$/iu,"");return`${r}-${o}-${a}-\\${l}.gia`}function ko(t,e,i,n,r,o=!1,a=!1,s=a,l=!1){let c=i.get(t.id),f=(l?[...t.children||[]].reverse():t.children||[]).map(g=>i.get(g.id)),h=o?n:f,p=Em(t,c,o);if(o){let g=t.children?.[0];g&&p.push({empty72:"",field501:62,field502:82,details:sr(c,64,82,{rootChildRef:{guid:i.get(g.id)}})})}else p.push(...Im(t,c,i,r));return{id:Ns(c),relatedIds:h.map(g=>Ns(g)),name:t.name,which:o?21:a?70:15,ui:{content:{guid:c,info:[{guid:{value:c},field501:1,field502:5},...o||s?[{index:{value:_m(t,o)},field501:2,field502:6}]:[],...o||a?[{related:{value:km(t,r,o?"\u670D\u52A1\u7AEF\u63A7\u4EF6\u6A21\u677F":"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F")},field501:4,field502:4}]:[]],children:o?[]:f,parent:e&&e.kind!=="server-container"?i.get(e.id):0,data:p}}}}function Cm(t,e){let i=new Map;for(let n of t||[]){if(!n.controlId||!(e===_o?n.controlAsset===_o:n.controlAsset!==_o))continue;let o=i.get(n.controlId)||[];o.push(n.guid),i.set(n.controlId,o)}return i}function sd(t,e,i,n){let r=Cm(e,i),o=new Map;be(t.root,a=>{r.has(a.id)&&(o.set(a,a.scriptMappingIds),a.scriptMappingIds=r.get(a.id))});try{return n()}finally{for(let[a,s]of o)s===void 0?delete a.scriptMappingIds:a.scriptMappingIds=s}}function Ms(t){let e=Number(t.meta?.giaModeFlag);return Number.isSafeInteger(e)&&e>=0?{modeFlag:e}:{}}function Fs(t){let e=t.meta?.gameVersion;return!e||e==="7.0.50"?$r:e}function ld(t,e,i,n,r=[]){let o=An(t,!0),a=o.filter(({parent:u})=>u?.kind==="server-container");if(!a.length)throw new Error("\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u6A21\u677F");let s=new Set(a.map(({node:u})=>u.id)),l=o.filter(({node:u})=>!s.has(u.id)),c=o.map(({node:u})=>e.get(u.id));return sd(t,r,_o,()=>({graph:a.map(({node:u,parent:f})=>ko(u,f,e,c,i,!1,!0,!0,!0)),accessories:l.map(({node:u,parent:f})=>ko(u,f,e,c,i,!1,!1,!0,!0)),filePath:n||Ps(t,!0),gameVersion:Fs(t),...Ms(t)}))}function cd(t,e,i,n,r){let o=An(t),a=[o[0],...o.slice(1).reverse()],s=a.map(({node:l})=>e.get(l.id));return sd(t,i.scripts,bm,()=>({graph:[ko(t.root,null,e,s,n,!0,!1,!1,!0),...i.units||[]],accessories:a.map(({node:l,parent:c})=>ko(l,c,e,s,n,!1,!1,!1,!0)),filePath:r||Ps(t,!1),gameVersion:Fs(t),...Ms(t)}))}function ud(t,e){let i=$s(t),n=e(i);if(!n.valid)throw new Error(`GIA compatibility validation failed:
|
|
121
119
|
${n.errors.join(`
|
|
122
|
-
`)}`);return{buffer:r,warnings:[...new Set(e.warnings)]}}function Ma(t){return Ct.toObject(Ct.decode(Eo(t)),{longs:Number,enums:Number,bytes:Buffer,defaults:!1,arrays:!0,objects:!0})}function od(t){try{let i=Ma(t).graph||[];return i.length>0&&i.every(r=>Number(r.which)===Gi)}catch{return!1}}function sd(t){let e=[...t.graph||[],...t.accessories||[]].filter(n=>Number(n.which)===Gi),i=[],r=e.map((n,o)=>{let s=n.script?.mapping||{},a=Number(n.id?.id)||0;a<=0&&i.push(`\u7B2C ${o+1} \u6761\u811A\u672C\u6620\u5C04\u7F3A\u5C11 GraphUnit.id.id\uFF0C\u5DF2\u6309 0 \u5904\u7406\uFF08\u5BFC\u51FA\u65F6\u4F1A\u91CD\u65B0\u5206\u914D\uFF09\u3002`);let l=Number(s.id)||0;return l&&l!==a&&i.push(`\u7B2C ${o+1} \u6761\u811A\u672C\u6620\u5C04 id(${l}) \u4E0E\u5355\u5143 id(${a}) \u4E0D\u4E00\u81F4\uFF0C\u4EE5\u5355\u5143 id \u4E3A\u51C6\u3002`),{guid:a,path:String(s.filePath||""),source:String(s.source||"")}});for(let[n,o]of r.entries())o.path&&!/\.lua$/iu.test(o.path)&&i.push(`\u7B2C ${n+1} \u6761\u811A\u672C\u6620\u5C04 file_path \u7F3A\u5C11 .lua \u540E\u7F00\uFF08${o.path}\uFF09\uFF0C\u771F\u673A\u53EF\u80FD\u62D2\u7EDD\u5BFC\u5165\uFF1B\u6A21\u62DF\u5668\u5185\u6309\u5F52\u4E00\u5316\u8DEF\u5F84\u7167\u5E38 require\u3002`);return{scripts:r,warnings:i}}function ad(t){let e=Ma(t),i=sd(e);if(!i.scripts.length)throw new Error("GIA \u5185\u6CA1\u6709\u811A\u672C\u6620\u5C04\u5355\u5143\uFF08which=69\uFF09");return{scripts:i.scripts,warnings:i.warnings,metadata:{assetType:"lua-script"}}}function fy(t){let e=[],i;try{i=Ma(t)}catch(n){return{valid:!1,errors:[n?.message||String(n)],scriptCount:0}}let r=i.graph||[];return r.length||e.push("Root.graph \u4E3A\u7A7A"),(i.accessories||[]).length&&e.push("script.gia \u4E0D\u5E94\u5305\u542B accessories"),r.forEach((n,o)=>{let s=`\u5355\u5143 ${o+1}`;Number(n.which)!==Gi&&e.push(`${s}: which \u5E94\u4E3A 69\uFF0C\u5B9E\u9645 ${n.which}`),Number(n.id?.class)!==id&&e.push(`${s}: id.class \u5E94\u4E3A 30\uFF0C\u5B9E\u9645 ${n.id?.class}`),Number(n.id?.type??0)!==0&&e.push(`${s}: id.type \u5E94\u7F3A\u7701`);let a=n.script?.mapping;if(!a){e.push(`${s}: \u7F3A\u5C11 field35 ScriptMappingWrapper`);return}ct(n.id?.id)||e.push(`${s}: GraphUnit.id.id \u975E\u6CD5\uFF08\u5141\u8BB8 0x40000000\u20130x403FFFFF\uFF09`),Number(a.id)!==Number(n.id?.id)&&e.push(`${s}: mapping.id \u5E94\u7B49\u4E8E GraphUnit.id.id`),String(a.name||"")!==String(n.name||"")&&e.push(`${s}: mapping.name \u5E94\u7B49\u4E8E GraphUnit.name`),String(a.filePath||"").trim()?/\.lua$/iu.test(String(a.filePath))||e.push(`${s}: file_path \u5E94\u4EE5 .lua \u7ED3\u5C3E\uFF08\u5B98\u65B9 script.gia \u6837\u672C\u5747\u4E3A \u540D\u79F0.lua\uFF0C\u771F\u673A require \u65F6\u624D\u53BB\u6269\u5C55\u540D\uFF09`):e.push(`${s}: file_path \u4E3A\u7A7A`)}),{valid:e.length===0,errors:e,scriptCount:r.length}}function Eo(t){let e=Buffer.isBuffer(t)?t:Buffer.from(t);if(e.length<Si+ka)throw new Error("GIA \u6587\u4EF6\u8FC7\u77ED");if(e.readUInt32BE(4)!==1||e.readUInt32BE(8)!==Uf||e.readUInt32BE(12)!==3)throw new Error("\u4E0D\u662F\u53D7\u652F\u6301\u7684 GIA v1 \u6587\u4EF6");let i=e.readUInt32BE(16);if(i!==e.length-Si-ka)throw new Error("GIA payload \u957F\u5EA6\u4E0D\u4E00\u81F4");if(e.readUInt32BE(Si+i)!==Hf)throw new Error("GIA \u5C3E\u6807\u8BB0\u65E0\u6548");return e.subarray(Si,Si+i)}function Ye(t,e){return t.ui?.content?.data?.find(i=>i.details?.[e])?.details?.[e]||null}function dy(t){let e=t.ui?.content?.data?.find(o=>o.field501===66&&o.field502===89||Object.hasOwn(o.details||{},"templateRefSlot")),i=Buffer.from(e?.details?.templateRefSlot||[]),r=i.toString("utf8"),n=Buffer.from(r,"utf8").equals(i)&&!/[\u0000-\u001f\u007f-\u009f]/u.test(r);return{referencedPrefabId:n?r:"",raw:{templateRefSlot:n?r:"",...n?{}:{templateRefSlotBase64:i.toString("base64")},...e?.empty76?.length?{templateRefOuterBase64:Buffer.from(e.empty76).toString("base64")}:{}}}}function hy(t){let e=Ye(t,"transform")?.multiPlatform,i={};for(let n of e?.platforms||[]){let o=ey[n.platformType||0],s=n.transform||{};i[o]={scale:s.scale?{x:s.scale.x??0,y:s.scale.y??0,z:s.scale.z??0}:{x:1,y:1,z:1},rotation:{x:s.field508?.x??0,y:s.field508?.y??0,z:s.field508?.z??0},anchorMin:{x:s.anchorMin?.x??0,y:s.anchorMin?.y??0},anchorMax:{x:s.anchorMax?.x??0,y:s.anchorMax?.y??0},offset:{x:s.offset?.x??0,y:s.offset?.y??0},size:{x:s.size?.x??0,y:s.size?.y??0},pivot:s.pivot?{x:s.pivot.x??0,y:s.pivot.y??0}:{x:.5,y:.5}}}let r=i.KEYBOARD||i[Object.keys(i)[0]];if(!r)throw new Error(`GIA \u63A7\u4EF6 ${t.name||t.id?.id} \u7F3A\u5C11\u591A\u5E73\u53F0\u53D8\u6362`);for(let n of qe)i[n]||(i[n]=structuredClone(r));return i}function _o(t){let e=t.ui?.content?.data||[];return e.some(i=>i.details?.textConfig)?e.some(i=>i.field501===71)?"textwindow":"textbox":e.some(i=>i.details?.cursorConfig)?"cursor":e.some(i=>Object.hasOwn(i.details||{},"templateRefSlot")||i.field501===66&&i.field502===89)?"reference":e.some(i=>i.details?.gridView)?"grid":e.some(i=>i.details?.buttonPreset)?"button":e.some(i=>i.details?.keyHint)?"keyhint":e.some(i=>i.details?.image||i.details?.imageSlot)?"image":e.some(i=>Object.hasOwn(i.details||{},"effectSlot"))?"animation":e.some(i=>Object.hasOwn(i.details||{},"fullscreenEffectSlot"))?"fullscreen":(e.some(i=>Object.hasOwn(i.details||{},"containerNodeSlot")),"container")}function jf(t,{reverseSiblings:e=!1,idOffset:i=0}={}){if(!t.length)return{nodes:new Map,rootCandidates:[],warnings:[]};let r=new Map(t.map((u,c)=>[u.id?.id,`n${i+c+1}`])),n=new Map,o=new Map,s=[];for(let u of t){let c=_o(u),f=Ye(u,"textConfig"),h=Ye(u,"imageSlot"),m=Ye(u,"image"),g=Ye(u,"buttonPreset"),v=Ye(u,"gridView"),w=Ye(u,"genericSlot"),S=Ye(u,"footerSlot"),x=Ye(u,"cursorConfig"),F=Ye(u,"keyHint"),I=Ye(u,"containerNodeSlot"),z=c==="reference"?dy(u):null,$=Ye(u,"effectSlot"),j=Ye(u,"fullscreenEffectSlot"),G=we(c,{id:r.get(u.id?.id),guid:u.id?.id||0,giaInfoIndex:(u.ui?.content?.info||[]).find(_=>_.field501===2&&_.field502===6)?.index?.value,giaRelatedGuids:(u.ui?.content?.info||[]).find(_=>_.field501===4&&_.field502===4)?.related?.value||[],name:u.name||c,visible:Ye(u,"field14")?.field17?.initiallyHidden!==!0,active:Ye(u,"field14")?.initiallyInactive!==!0,canControllerFocus:S?.field505===1,scriptMappingIds:(w?.field502||[]).map(_=>Number(_?.field1?.id)).filter(_=>Number.isSafeInteger(_)&&_>0),transformByPlatform:hy(u),syncAllDevices:Ye(u,"transform")?.multiPlatform?.field504===1,giaRaw:{genericField501:w?.field501??0,footerField505:S?.field505??0,...c==="textbox"||c==="textwindow"?{textField501:f?.field501??20,textField503:f?.field503??12,textAlign:f?.align??0,...[void 0,0,1,2].includes(f?.verticalAlign)?{}:{textVerticalAlign:f.verticalAlign},...c==="textwindow"?{textField511:f?.field511??1,textViewField502:f?.viewFlags?.field502??1,textViewField503:f?.viewFlags?.field503??1}:{}}:{},...c==="cursor"?{cursorField501:x?.field501??0}:{},...z?.raw||{},...c==="grid"?{gridField501:v?.field501??1,gridField507:v?.field507??1,gridField508:v?.field508??1,gridField509:v?.field509??1,gridField511:v?.field511??5,gridField512:v?.field512??1}:{},...c==="keyhint"?{keyHintField501:F?.field501??1,keyHintField502:F?.field502??1}:{},...c==="image"?{imageSlotType:h?.imageType??0,imageField502:m?.field502??1,imageField504:m?.field504??1,imageField505:m?.field505??1,imageField507:m?.field507??2,imageFillType:m?.fillType??1}:{},...c==="animation"?{effectSlot:$??""}:{},...c==="fullscreen"?{fullscreenEffectSlot:j??""}:{}},...c==="container"?{isolateNavigation:I?.isolateNavigation===!0,disableKeyEventPassthrough:I?.disableKeyEventPassthrough===!0,disableCursorEventPassthrough:I?.disableCursorEventPassthrough===!0,showCursor:I?.showCursor===!0}:{},...c==="cursor"?{raycastTarget:x?.field501===1}:{},...c==="textbox"||c==="textwindow"?{text:f?.text?.value??"",fontSize:f?.fontSize??20,minimumFontSize:f?.minimumFontSize??20,adaptiveFontSize:f?.adaptive===1,fontColor:f?.color??4294967295,bgColor:f?.color2??0,enableOutline:f?.outlineOff!==1,outlineColor:f?.color3??858993459,horizontalAlignment:f?.align===1?"Middle":f?.align===2?"Right":"Left",verticalAlignment:{0:"Top",1:"Middle",2:"Bottom"}[f?.verticalAlign??0]||"Top",...c==="textwindow"?{interactable:!0,showScrollBar:!0}:{}}:{},...c==="image"?{imageSource:"StaticReference",imageId:h?.assetId??0,imageType:h?.imageType===1?"Stretch":"Basic",imageColor:Number.isFinite(h?.field502)?h.field502>>>0:4294967295,enableMask:m?.enableMask===1,enableSoftEdge:m?.enableSoftEdge===1,enableFill:m?.enableFill===1,softEdgeMode:m?.softEdgePixel===1?"Pixel":"Percentage",softEdgeWidthX:m?.border?.field501??8,softEdgeWidthY:m?.border?.field502??8,horizontalSoftRange:m?.field512??85,verticalSoftRange:m?.field513??85,fillType:{1:"Horizontal",2:"Vertical",3:"Radial90",4:"Radial180",5:"Radial360"}[m?.fillType]||"Horizontal",fillAmount:Number.isFinite(m?.field508)?Math.max(0,Math.min(1,m.field508/100)):m?.enableFill===1?0:1,reverseMaskArea:m?.reverseMask===1}:{},...c==="button"?{interactable:g?.interactable===1,raycastTarget:g?.raycastTarget===1,clickAudioId:g?.clickAudioId??50888}:{},...c==="grid"?{cellSizeX:v?.cellSize?.field501??50,cellSizeY:v?.cellSize?.field502??50,spacingX:v?.gap?.field501??8,spacingY:v?.gap?.field502??8,padding1X:v?.padding1?.field501??20,padding1Y:v?.padding1?.field502??20,padding2X:v?.padding2?.field501??20,padding2Y:v?.padding2?.field502??20,previewCount:v?.field511??5}:{},...z?{referencedPrefabId:z.referencedPrefabId}:{},...c==="keyhint"?{keyboardKeyCode:F?.field502??null,controllerKeyCode:F?.field501??null}:{},...c==="animation"?{animationId:$??""}:{},...c==="fullscreen"?{animationId:j??""}:{}});n.set(u.id?.id,G),(z?.raw.templateRefSlotBase64||z?.raw.templateRefOuterBase64)&&s.push(`${G.name}: \u6A21\u677F\u5F15\u7528\u914D\u7F6E\u542B\u5C1A\u672A\u89E3\u6790\u7684\u4E8C\u8FDB\u5236\u5B57\u6BB5\uFF0C\u5DF2\u539F\u6837\u4FDD\u5B58\uFF1B\u5F15\u7528\u76EE\u6807\u672A\u63A8\u65AD\uFF0C\u9884\u89C8\u4E0D\u4F1A\u81EA\u52A8\u5C55\u5F00\u3002`),(c==="textbox"||c==="textwindow")&&![void 0,0,1,2].includes(f?.align)&&s.push(`${G.name}: \u6C34\u5E73\u5BF9\u9F50\u679A\u4E3E ${f.align} \u7684\u542B\u4E49\u672A\u77E5\uFF0C\u5DF2\u539F\u6837\u4FDD\u7559\u3002`),(c==="textbox"||c==="textwindow")&&![void 0,0,1,2].includes(f?.verticalAlign)&&s.push(`${G.name}: \u5782\u76F4\u5BF9\u9F50\u679A\u4E3E ${f.verticalAlign} \u7684\u542B\u4E49\u672A\u77E5\uFF0C\u5DF2\u539F\u6837\u4FDD\u7559\u3002`),c==="image"&&![void 0,0,1,2,3,4,5].includes(m?.fillType)&&s.push(`${G.name}: \u586B\u5145\u5F62\u72B6\u679A\u4E3E ${m.fillType} \u672A\u8BC6\u522B\uFF0C\u5DF2\u4FDD\u7559\u539F\u503C\u3002`),c==="button"&&o.set(G.id,{unavailableChildId:g?.disabledChild,hoverChildId:g?.hoverChild,pressedChildId:g?.pressedChild,selectedChildId:g?.selectedChild})}let a=[],l=new Set;for(let u of t){let c=n.get(u.id?.id),f=(u.ui?.content?.children||[]).map(h=>n.get(h)).filter(Boolean);if(f.length){c.children=e?f.slice().reverse():f;for(let h of f)l.add(h.id)}}for(let u of t){let c=n.get(u.id?.id),f=u.ui?.content?.parent||0,h=n.get(f);h?l.has(c.id)||(e?h.children.unshift(c):h.children.push(c)):a.push(c)}for(let[u,c]of o){let f=[...n.values()].find(h=>h.id===u);for(let[h,m]of Object.entries(c))f[h]=r.get(m)||null}return{nodes:n,rootCandidates:a,warnings:s}}function ld(t){let e=Eo(t),i=Ct.toObject(Ct.decode(e),{longs:Number,enums:Number,bytes:Buffer,defaults:!1,arrays:!0,objects:!0}),r=[...i.graph||[],...i.accessories||[]],n=S=>!!S.ui?.content&&[15,21,70].includes(Number(S.which)),o=(i.graph||[]).filter(n);if(!o.some(S=>S.ui?.content))throw new Error("GIA \u4E0D\u542B\u53EF\u8BC6\u522B\u7684 UIControlGroup \u4E3B\u56FE");let s=o.find(S=>S.which===21)||null,a=o.filter(S=>Number(S.which)===70),l=(i.accessories||[]).filter(n),u=new Set((s?.relatedIds||[]).map(S=>S.id||0)),c=s?u.size?l.filter(S=>u.has(S.id?.id||0)):l:[],f=a.length?[...a,...l.filter(S=>!u.has(S.id?.id||0))]:s?[]:[...o,...l];if(!c.length&&!f.length)throw new Error("GIA \u4E0D\u542B\u5BA2\u6237\u7AEF\u63A7\u4EF6");let h=["GIA \u5BFC\u5165\u4E3A\u5DF2\u9A8C\u8BC1 UI \u5B57\u6BB5\u7684\u8BED\u4E49\u5BFC\u5165\uFF1B\u672A\u77E5 protobuf \u5B57\u6BB5\u4E0D\u4F1A\u8FDB\u5165 Authoring JSON\u3002"],m=r.filter(S=>!n(S)&&Number(S.which)!==Gi);m.length&&h.push(`\u8DF3\u8FC7 ${m.length} \u4E2A\u975E UI / \u975E\u811A\u672C\u4F9D\u8D56\u5355\u5143\uFF1B\u8FD9\u4E9B\u8D44\u6E90\u4E0D\u4F1A\u8FDB\u5165\u5B58\u6863\u6216\u91CD\u65B0\u5BFC\u51FA\u3002`);let g=sd(i);h.push(...g.warnings);let v=null,w=null;if(c.length){let S=jf(c,{reverseSiblings:!0,idOffset:0});h.push(...S.warnings);let x=S.rootCandidates.find(I=>I.kind==="container")||S.rootCandidates[0];if(!x)throw new Error("GIA \u672A\u627E\u5230\u5BA2\u6237\u7AEF\u6839\u63A7\u4EF6");let F=we("server-container",{id:"sc1",guid:s?.id?.id||0,name:s?.name||"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u5BB9\u5668",giaRelatedGuids:(s?.ui?.content?.info||[]).find(I=>I.field501===4&&I.field502===4)?.related?.value||[]});F.children=[x],S.rootCandidates.length>1&&h.push(`\u68C0\u6D4B\u5230 ${S.rootCandidates.length} \u4E2A\u65E0\u7236\u8282\u70B9\u63A7\u4EF6\uFF0C\u4EC5\u5BFC\u5165\u4EE5\u201C${x.name}\u201D\u4E3A\u6839\u7684\u6811\u3002`),v={version:1,layoutSchemaVersion:Ze,meta:{name:s?.name||"\u5BFC\u5165\u7684\u754C\u9762\u63A7\u4EF6\u7EC4",assetType:"server-control-template",sourceFormat:"gia",sourceFile:"",gameVersion:i.gameVersion||"",giaFilePath:i.filePath||"",...Number.isSafeInteger(Number(i.modeFlag))?{giaModeFlag:Number(i.modeFlag)}:{}},canvasId:"pc-16-9",selectedId:x.id,script:{controlId:x.id,path:"",source:""},root:F}}if(f.length){let S=jf(f,{reverseSiblings:!1,idOffset:1e3});if(h.push(...S.warnings),!S.rootCandidates.length)throw new Error("GIA \u672A\u627E\u5230\u5BA2\u6237\u7AEF\u6A21\u677F");let x=we("server-container",{id:"sc1",guid:0,name:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F"});x.children=S.rootCandidates,w={version:1,layoutSchemaVersion:Ze,meta:{name:S.rootCandidates.length===1?S.rootCandidates[0].name:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868",assetType:"client-control-template",sourceFormat:"gia",sourceFile:"",gameVersion:i.gameVersion||"",giaFilePath:i.filePath||"",...Number.isSafeInteger(Number(i.modeFlag))?{giaModeFlag:Number(i.modeFlag)}:{}},canvasId:"pc-16-9",selectedId:S.rootCandidates[0].id,script:{controlId:S.rootCandidates[0].id,path:"",source:""},root:x},Yt(w,{warnings:h});for(let F of S.rootCandidates)Ae(F,I=>I.children.reverse());v||(v=w)}return{project:v,clientProject:w&&v!==w?w:void 0,scripts:g.scripts,warnings:h,metadata:{gameVersion:i.gameVersion||"",filePath:i.filePath||"",...Number.isSafeInteger(Number(i.modeFlag))?{modeFlag:Number(i.modeFlag)}:{},combined:!!(s&&a.length)}}}function Fa(t){let e=Eo(t),i=Ct.toObject(Ct.decode(e),{longs:Number,enums:Number,defaults:!1,arrays:!0,objects:!0}),r=i.graph||[],n=i.accessories||[],o=[],s=(m,g)=>m!=null&&Object.prototype.hasOwnProperty.call(m,g),a=new Map,l=[];/^\d+-\d+-\d+-\\.+\.gia$/iu.test(i.filePath||"")||o.push(`Root.filePath \u4E0D\u662F UID-TIME-ID-\\\u6587\u4EF6\u540D.gia\uFF1A${i.filePath||"<missing>"}`);let u=r.filter(m=>m.which===70).map(m=>{let g=_o(m),v=m.ui?.content?.info||[],w=v.find(F=>F.field501===2&&F.field502===6)?.index?.value,S=v.find(F=>F.field501===4&&F.field502===4),x=S?.related?.value||[];return ft(w)||o.push(`${m.name}: Info.index=${w??"<missing>"}\uFF0C\u5FC5\u987B\u662F\u6B63\u6574\u6570`),S||o.push(`${m.name}: \u9876\u5C42 UIControlTemplate \u7F3A\u5C11 Info.related \u8BB0\u5F55`),{id:m.id?.id||0,name:m.name||"",kind:g,actualIndex:w,relatedPresent:!!S,relatedGuids:x}}),c=new Map;for(let m of u){if(!ft(m.actualIndex))continue;let g=c.get(m.actualIndex);g?o.push(`${m.name}: \u72EC\u7ACB\u6A21\u677F\u8D44\u4EA7\u7F16\u53F7 ${m.actualIndex} \u4E0E ${g.name} \u91CD\u590D`):c.set(m.actualIndex,m)}u.length||o.push("Root.graph \u4E0D\u542B UIControlTemplate(70)");let f=0,h=0;for(let m of[...r,...n]){if(!m.ui?.content)continue;let g=m.id?.id||0,v=m.ui.content,w=_o(m),S=r.includes(m)&&m.which===70,x=`${m.name||"<unnamed>"}(${g||"<missing-guid>"})`;ct(g)?a.has(g)?o.push(`${x}: GUID \u4E0E ${a.get(g).name||"<unnamed>"} \u91CD\u590D`):a.set(g,m):o.push(`${x}: GraphUnit GUID \u975E\u6CD5\uFF08\u5141\u8BB8 0x40000000\u20130x403FFFFF\uFF09`),(m.id?.class!==1||m.id?.type!==8)&&o.push(`${x}: GraphUnit.id \u5FC5\u987B\u4E3A class=1,type=8`),v.guid!==g&&o.push(`${x}: content.guid=${v.guid??"<missing>"} \u4E0E GraphUnit.id.id \u4E0D\u4E00\u81F4`),S&&m.which!==70&&o.push(`${x}: \u6A21\u677F\u6839 which \u5FC5\u987B\u4E3A UIControlTemplate(70)`),!S&&m.which!==15&&o.push(`${x}: \u9644\u4EF6\u63A7\u4EF6 which \u5FC5\u987B\u4E3A UIControl(15)`);let F=v.info||[],I=F.find(E=>E.field501===1&&E.field502===5),z=F.find(E=>E.field501===2&&E.field502===6);I?.guid?.value!==g&&o.push(`${x}: Info.self GUID \u7F3A\u5931\u6216\u4E0E\u81EA\u8EAB\u4E0D\u4E00\u81F4`),ft(z?.index?.value)||o.push(`${x}: Info.index=${z?.index?.value??"<missing>"}\uFF0C\u5FC5\u987B\u662F\u6B63\u6574\u6570`);let $=F.find(E=>E.field501===4&&E.field502===4);S&&!$&&o.push(`${x}: \u9876\u5C42\u6A21\u677F\u7F3A\u5C11 Info.related \u8BB0\u5F55`),!S&&$&&o.push(`${x}: \u9644\u4EF6\u63A7\u4EF6\u4E0D\u5E94\u5199 Info.related`);let j=Xf[w],G=v.data||[],_=G.map(E=>`${E.field501}/${E.field502}`),T=j?.map(([E])=>E)||[];j?JSON.stringify(_)!==JSON.stringify(T)&&o.push(`${x}: Data \u69FD\u4F4D\u987A\u5E8F ${_.join(",")}\uFF0C\u5E94\u4E3A ${T.join(",")}`):o.push(`${x}: \u672A\u77E5\u5BA2\u6237\u7AEF\u63A7\u4EF6\u7C7B\u578B ${w}`);for(let E=0;E<Math.min(G.length,j?.length||0);E+=1){let D=G[E],[V,H,Z]=j[E];if(s(D,H)||o.push(`${x}: Data ${V} \u7F3A\u5C11 ${H} \u5206\u652F`),!Z)continue;s(D.details,Z)||o.push(`${x}: Details ${V} \u7F3A\u5C11 ${Z} \u5206\u652F`);let ne=Wf[V];(D.details?.field501!==ne||D.details?.field502!==D.field502||D.details?.field503!==1)&&o.push(`${x}: Details ${V} \u6807\u8BB0\u5E94\u4E3A ${ne}/${D.field502}/1`);let ve=D.details?.nodeRef;(ve?.class!==1||ve?.type!==8||ve?.id!==g)&&o.push(`${x}: Details ${V} node_ref \u672A\u6307\u5411\u81EA\u8EAB`)}let y=(m.ui.content.data||[]).find(E=>E.field501===4&&E.field502===86);y&&(s(y.field14,"field17")?f+=1:o.push(`${x}: \u7C7B\u578B Data \u7F3A\u5C11\u663E\u5F0F Field14.field17 \u7A7A\u4E32`),s(y.details?.field14,"field17")?f+=1:o.push(`${x}: \u7C7B\u578B Details \u7F3A\u5C11\u663E\u5F0F Field14.field17 \u7A7A\u4E32`));let N=(m.ui.content.data||[]).find(E=>E.details?.transform)?.details?.transform?.multiPlatform?.platforms||[];N.length!==4&&o.push(`${x}: \u591A\u5E73\u53F0\u53D8\u6362\u6570\u91CF=${N.length}\uFF0C\u5E94\u4E3A 4`);let C=N.map(E=>E.platformType||0);JSON.stringify(C)!==JSON.stringify([0,1,2,3])&&o.push(`${x}: \u5E73\u53F0\u987A\u5E8F ${C.join(",")}\uFF0C\u5E94\u4E3A 0,1,2,3`);let d=(m.ui.content.data||[]).find(E=>E.details?.transform)?.details?.transform;d?.multiPlatform?.field502!==rn[w]&&o.push(`${x}: \u53D8\u6362 preset=${d?.multiPlatform?.field502??"<missing>"}\uFF0C${w} \u5E94\u4E3A ${rn[w]}`);for(let E of N)s(E.transform,"field508")?h+=1:o.push(`${x}: RectTransform \u7F3A\u5C11\u663E\u5F0F field508 \u7A7A\u4E32`);l.push({id:g,name:m.name||"",kind:w,template:S,parent:v.parent||0,children:[...v.children||[]],relatedIds:(m.relatedIds||[]).map(E=>E.id||0),dataSignatures:_})}for(let m of l){let g=`${m.name||"<unnamed>"}(${m.id})`;if(JSON.stringify(m.relatedIds)!==JSON.stringify(m.children)&&o.push(`${g}: GraphUnit.relatedIds \u4E0E content.children \u4E0D\u4E00\u81F4`),m.template&&m.parent&&o.push(`${g}: \u9876\u5C42\u6A21\u677F\u4E0D\u5E94\u6709 parent`),!m.template){let v=a.get(m.parent);v?(v.ui?.content?.children||[]).includes(m.id)||o.push(`${g}: \u7236\u63A7\u4EF6 children \u672A\u53CD\u5411\u5305\u542B\u81EA\u8EAB`):o.push(`${g}: parent=${m.parent||"<missing>"} \u4E0D\u5B58\u5728`)}for(let v of m.children){let w=a.get(v);w?(w.ui?.content?.parent||0)!==m.id&&o.push(`${g}: child=${v} \u7684 parent \u672A\u6307\u56DE\u81EA\u8EAB`):o.push(`${g}: child=${v} \u4E0D\u5B58\u5728`)}}return{valid:o.length===0,errors:o,filePath:i.filePath||"",gameVersion:i.gameVersion||"",templateCount:u.length,accessoryCount:n.length,templates:u,units:l,explicitEmpty:{field17:f,rectField508:h}}}function Da(t){let e=Eo(t),i=Ct.toObject(Ct.decode(e),{longs:Number,enums:Number,defaults:!1,arrays:!0,objects:!0}),r=(i.graph||[]).filter(d=>d.ui?.content&&Number(d.which)===21),n=(i.graph||[]).filter(d=>Number(d.which)===70),o=(i.graph||[]).filter(d=>Number(d.which)===Gi),s=(i.accessories||[]).filter(d=>d.ui?.content),a=[],l=(d,E)=>d!=null&&Object.prototype.hasOwnProperty.call(d,E);/^\d+-\d+-\d+-\\.+\.gia$/iu.test(i.filePath||"")||a.push(`Root.filePath \u4E0D\u662F UID-TIME-ID-\\\u6587\u4EF6\u540D.gia\uFF1A${i.filePath||"<missing>"}`),r.length!==1&&a.push(`\u670D\u52A1\u7AEF\u63A7\u4EF6\u6A21\u677F UIControlGroup \u6570\u91CF=${r.length}\uFF0C\u5E94\u4E3A 1`);let u=(i.graph||[]).filter(d=>{let E=Number(d.which);return E===Gi||E===70||E===21?!1:!d.ui?.content});u.length&&a.push(`Root.graph \u542B ${u.length} \u4E2A\u65E0\u6CD5\u8BC6\u522B\u7684\u975E\u63A7\u4EF6/\u975E\u811A\u672C\u5355\u5143`);let c=r[0];if(!c)return{valid:!1,errors:a,filePath:i.filePath||"",gameVersion:i.gameVersion||"",accessoryCount:s.length,controls:[],scriptCount:o.length,explicitEmpty:{field17:0,rectField508:0}};let f=[c,...n,...s],h=new Map;for(let d of f){let E=d.id?.id||0,D=`${d.name||"<unnamed>"}(${E||"<missing-guid>"})`;ct(E)?h.has(E)?a.push(`${D}: GUID \u91CD\u590D`):h.set(E,d):a.push(`${D}: GraphUnit GUID \u975E\u6CD5\uFF08\u5141\u8BB8 0x40000000\u20130x403FFFFF\uFF09`),(d.id?.class!==1||d.id?.type!==8)&&a.push(`${D}: GraphUnit.id \u5FC5\u987B\u4E3A class=1,type=8`),d.ui?.content?.guid!==E&&a.push(`${D}: content.guid \u4E0E GraphUnit.id.id \u4E0D\u4E00\u81F4`)}let m=c.id?.id||0,g=c.ui.content,v=`${c.name||"<unnamed>"}(${m})`;c.which!==21&&a.push(`${v}: which \u5FC5\u987B\u4E3A UIControlGroup(21)`);let w=g.info||[];w.find(d=>d.field501===1&&d.field502===5)?.guid?.value!==m&&a.push(`${v}: Info.self GUID \u7F3A\u5931\u6216\u4E0D\u4E00\u81F4`),w.find(d=>d.field501===2&&d.field502===6)?.index?.value!==1&&a.push(`${v}: Info.index \u5FC5\u987B\u4E3A 1`);let S=w.find(d=>d.field501===4&&d.field502===4);S||a.push(`${v}: \u7F3A\u5C11\u663E\u5F0F Info.related \u8BB0\u5F55`);let x=0,F=0,I=(d,E,D,V=!1)=>{let H=d.id?.id||0,Z=`${d.name||"<unnamed>"}(${H})`,ne=d.ui.content.data||[],ve=ne.map(Re=>`${Re.field501}/${Re.field502}`),be=D.map(([Re])=>Re);JSON.stringify(ve)!==JSON.stringify(be)&&a.push(`${Z}: Data \u69FD\u4F4D\u987A\u5E8F ${ve.join(",")}\uFF0C\u5E94\u4E3A ${be.join(",")}`);for(let Re=0;Re<Math.min(ne.length,D.length);Re+=1){let ut=ne[Re],[yt,de,R]=D[Re];if(l(ut,de)||a.push(`${Z}: Data ${yt} \u7F3A\u5C11 ${de} \u5206\u652F`),!R)continue;l(ut.details,R)||a.push(`${Z}: Details ${yt} \u7F3A\u5C11 ${R} \u5206\u652F`);let A=Wf[yt];(ut.details?.field501!==A||ut.details?.field502!==ut.field502||ut.details?.field503!==1)&&a.push(`${Z}: Details ${yt} \u6807\u8BB0\u5E94\u4E3A ${A}/${ut.field502}/1`);let P=ut.details?.nodeRef;(P?.class!==1||P?.type!==8||P?.id!==H)&&a.push(`${Z}: Details ${yt} node_ref \u672A\u6307\u5411\u81EA\u8EAB`)}let ge=ne.find(Re=>Re.field501===4&&Re.field502===(V?23:86)),ee=V?"empty15":"field17";l(ge?.field14,ee)?V||(x+=1):a.push(`${Z}: \u7C7B\u578B Data \u7F3A\u5C11\u663E\u5F0F Field14.${ee} \u7A7A\u4E32`),l(ge?.details?.field14,ee)?V||(x+=1):a.push(`${Z}: \u7C7B\u578B Details \u7F3A\u5C11\u663E\u5F0F Field14.${ee} \u7A7A\u4E32`);let ce=ne.find(Re=>Re.details?.transform)?.details?.transform,Se=ce?.multiPlatform?.platforms||[];Se.length!==4&&a.push(`${Z}: \u591A\u5E73\u53F0\u53D8\u6362\u6570\u91CF=${Se.length}\uFF0C\u5E94\u4E3A 4`);let gt=Se.map(Re=>Re.platformType||0);JSON.stringify(gt)!==JSON.stringify([0,1,2,3])&&a.push(`${Z}: \u5E73\u53F0\u987A\u5E8F ${gt.join(",")}\uFF0C\u5E94\u4E3A 0,1,2,3`);let qt=V?rn["server-container"]:rn[E];ce?.multiPlatform?.field502!==qt&&a.push(`${Z}: \u53D8\u6362 preset=${ce?.multiPlatform?.field502??"<missing>"}\uFF0C\u5E94\u4E3A ${qt}`);for(let Re of Se)l(Re.transform,"field508")?F+=1:a.push(`${Z}: RectTransform \u7F3A\u5C11\u663E\u5F0F field508 \u7A7A\u4E32`);return ve};I(c,"server-container",ty,!0);let z=(c.relatedIds||[]).map(d=>d.id||0),$=new Set(z),j=s.filter(d=>$.has(d.id?.id||0)),G=j.map(d=>d.id?.id||0);JSON.stringify(z)!==JSON.stringify(G)&&a.push(`${v}: \u4E3B\u56FE relatedIds \u5FC5\u987B\u6309\u987A\u5E8F\u8986\u76D6\u672C\u7EC4 accessories`);let _=g.data?.find(d=>d.details?.rootChildRef)?.details?.rootChildRef?.guid||0,T=h.get(_);(!T||!j.includes(T))&&a.push(`${v}: 62/82 \u6839\u8282\u70B9\u5F15\u7528\u4E0D\u5B58\u5728`),G[0]!==_&&a.push(`${v}: \u6839\u5BB9\u5668\u8282\u70B9\u5FC5\u987B\u662F\u672C\u7EC4 accessories[0]`);let y=[];for(let d of j){let E=d.id?.id||0,D=d.ui.content,V=`${d.name||"<unnamed>"}(${E})`,H=_o(d);d.which!==15&&a.push(`${V}: which \u5FC5\u987B\u4E3A UIControl(15)`);let Z=D.info||[];(Z.length!==1||Z[0]?.field501!==1||Z[0]?.field502!==5||Z[0]?.guid?.value!==E)&&a.push(`${V}: \u670D\u52A1\u7AEF\u5BB9\u5668\u5185\u63A7\u4EF6 Info \u5FC5\u987B\u53EA\u542B\u81EA\u8EAB GUID`);let ne=Xf[H];ne||a.push(`${V}: \u672A\u77E5\u5BA2\u6237\u7AEF\u63A7\u4EF6\u7C7B\u578B ${H}`);let ve=ne?I(d,H,ne):[];y.push({id:E,name:d.name||"",kind:H,parent:D.parent||0,children:[...D.children||[]],relatedIds:(d.relatedIds||[]).map(be=>be.id||0),dataSignatures:ve})}let N=y.find(d=>d.id===_);N&&(N.kind!=="container"&&a.push(`${N.name}(${_}): \u6839\u63A7\u4EF6\u5FC5\u987B\u4E3A\u5BB9\u5668\u8282\u70B9`),N.parent&&a.push(`${N.name}(${_}): \u6839\u63A7\u4EF6\u4E0D\u5E94\u6709 parent`));let C=new Map(y.map(d=>[d.id,d]));for(let d of y){let E=`${d.name}(${d.id})`;if(JSON.stringify(d.relatedIds)!==JSON.stringify(d.children)&&a.push(`${E}: relatedIds \u5FC5\u987B\u4E0E\u76F4\u63A5 children \u4E00\u81F4`),d.id!==_){let D=C.get(d.parent);D?D.children.includes(d.id)||a.push(`${E}: \u7236\u63A7\u4EF6 children \u672A\u53CD\u5411\u5305\u542B\u81EA\u8EAB`):a.push(`${E}: parent=${d.parent||"<missing>"} \u4E0D\u5B58\u5728`)}for(let D of d.children){let V=C.get(D);V?V.parent!==d.id&&a.push(`${E}: child=${D} \u7684 parent \u672A\u6307\u56DE\u81EA\u8EAB`):a.push(`${E}: child=${D} \u4E0D\u5B58\u5728`)}}if(n.length){let d=Fa(Na({...i,graph:n,accessories:s.filter(E=>!$.has(E.id?.id||0))}));a.push(...d.errors.map(E=>`\u5BA2\u6237\u7AEF\u6A21\u677F: ${E}`))}return{valid:a.length===0,errors:a,filePath:i.filePath||"",gameVersion:i.gameVersion||"",graph:{id:m,name:c.name||"",relatedGuids:S?.related?.value||[],rootGuid:_},accessoryCount:s.length,controls:y,scriptCount:o.length,explicitEmpty:{field17:x,rectField508:F}}}function ud(t,e=[]){if(!t||t.layoutSchemaVersion===Ze)return t;if(t.layoutSchemaVersion!==void 0&&t.layoutSchemaVersion!==1)throw new Error(`\u4EC5\u652F\u6301 layoutSchemaVersion=2 \u6216\u53EF\u8FC1\u79FB\u7684\u65E7\u5E03\u5C40\uFF0C\u6536\u5230 ${t.layoutSchemaVersion}`);if(!t.root)return{...t,layoutSchemaVersion:Ze};let i=structuredClone(t),r=0;return Ae(i.root,n=>{let o=n.transformByPlatform||{},s=n.transformByCanvas||{},a=n.name||n.id;for(let u of Object.keys(o))if(!qe.includes(u))throw new Error(`${a}: unknown platform ${u}`);let l={};for(let u of qe){let c=er[u],f=Ee[c].platform,h=Object.keys(Ee).filter(w=>Ee[w].platform===f&&s[w]),m=s[c]?c:h[0],g=u==="CONTROLLER_CONSOLE"?l.KEYBOARD:u==="CONTROLLER_MOBILE"?l.TOUCHSCREEN:null,v=o[u]??g??(m?s[m]:null);if(l[u]=v?Nt(v):bs(n.kind),v||e.push(`${a}: ${u} \u65E0\u65E7\u5E03\u5C40\uFF0C\u5DF2\u4F7F\u7528\u63A7\u4EF6\u9ED8\u8BA4\u503C`),!o[u]&&!g&&m&&m!==c&&e.push(`${a}: \u7F3A\u5C11 ${c}\uFF0C\u5DF2\u91C7\u7528 ${m} \u7684\u951A\u70B9\u548C\u5C3A\u5BF8\u53C2\u6570`),!g)for(let w of h)JSON.stringify(l[u])!==JSON.stringify(Nt(s[w]))&&e.push(`${a}: ${w} \u4E0E ${u} \u5E03\u5C40\u51B2\u7A81\uFF0C\u4FDD\u7559${o[u]?"\u5DF2\u6709\u5E73\u53F0":m}\u53C2\u6570`)}si(l,`${a}.transformByPlatform`),n.transformByPlatform=l,delete n.transformByCanvas,r++}),i.layoutSchemaVersion=Ze,e.unshift(`\u5DF2\u81EA\u52A8\u8FC1\u79FB\u65E7\u5E03\u5C40\uFF1A${r} \u4E2A\u63A7\u4EF6\u8F6C\u6362\u4E3A\u56DB\u5E73\u53F0\u53C2\u6570\uFF1B\u518D\u6B21\u4FDD\u5B58\u5C06\u4F7F\u7528\u65B0\u7248\u683C\u5F0F`),i}function za(t){if(![1,2,3,4].includes(t))throw new Error(`\u4EC5\u652F\u6301 version=1\u20134 \u7684\u5B58\u6863\uFF0C\u6536\u5230 ${t}`)}function La(t,e,i,r=t.canvasId){let n=li(t.root,e);return!n||n.kind==="server-container"?Qe(r):i[n.id]||Qe(r)}function xi(t,{warnings:e=[]}={}){if(!t)return Ni();if(t=ud(t,e),(t.root||t.layoutSchemaVersion!==void 0)&&t.layoutSchemaVersion!==Ze)throw new Error(`\u4EC5\u652F\u6301 layoutSchemaVersion=${Ze} \u7684\u56DB\u5E73\u53F0\u5E03\u5C40\uFF0C\u4E0D\u652F\u6301\u65E7\u753B\u5E03\u5E03\u5C40\u6216\u5176\u4ED6\u7248\u672C`);let i=t.meta?.assetType==="client-control-template"?"client-control-template":"server-control-template",r=i==="client-control-template"?sr():Ni(),n={layoutSchemaVersion:Ze,version:Number.isSafeInteger(t.version)&&t.version>0?t.version:1,meta:{name:String(t.meta?.name||r.meta.name),assetType:i,sourceFormat:String(t.meta?.sourceFormat||r.meta.sourceFormat),sourceFile:String(t.meta?.sourceFile||""),...t.meta?.gameVersion?{gameVersion:String(t.meta.gameVersion)}:{},...t.meta?.giaFilePath?{giaFilePath:String(t.meta.giaFilePath)}:{},...Number.isSafeInteger(Number(t.meta?.giaOwnerUid))?{giaOwnerUid:Number(t.meta.giaOwnerUid)}:{},...Number.isSafeInteger(Number(t.meta?.giaTimestamp))?{giaTimestamp:Number(t.meta.giaTimestamp)}:{},...Number.isSafeInteger(Number(t.meta?.giaFileId))?{giaFileId:Number(t.meta.giaFileId)}:{},...t.meta?.giaFileName?{giaFileName:String(t.meta.giaFileName)}:{},...Number.isSafeInteger(t.meta?.giaNextAssetIndex)&&t.meta.giaNextAssetIndex>=2?{giaNextAssetIndex:t.meta.giaNextAssetIndex}:{},...Number.isSafeInteger(t.meta?.giaAssetIndexSchemaVersion)&&t.meta.giaAssetIndexSchemaVersion>0?{giaAssetIndexSchemaVersion:t.meta.giaAssetIndexSchemaVersion}:{},...Number.isSafeInteger(Number(t.meta?.giaModeFlag))&&Number(t.meta.giaModeFlag)>=0?{giaModeFlag:Number(t.meta.giaModeFlag)}:{}},canvasId:t.canvasId&&Ee[t.canvasId]?t.canvasId:Mn,selectedId:t.selectedId||r.selectedId,root:xs(t.root||r.root)};return pd(n),Yt(n,{warnings:e}),n}function pd(t){let e=new Set;Ae(t.root,i=>{if(typeof i.id!="string"||!i.id)throw new Error("node id must be a non-empty string");if(e.has(i.id))throw new Error(`duplicate node id: ${i.id}`);e.add(i.id)}),e.has(t.selectedId)||(t.selectedId=Ss(t.root).id)}function cd(t){return ai(or(t))}function py(t,e){let i=!1;return Ae(t,r=>{r.id===e&&(i=!0)}),i}function my(t,e,i,r){let o=ci(t.root,t.canvasId).boxes[e.id],s=i.children.findIndex(f=>f.id===e.id);if(s<0)throw new Error("reparent: source node is not attached");if(i.children.splice(s,1),r.children.push(e),!o)return;let a=ci(t.root,t.canvasId),l=r.kind==="server-container"?Qe(t.canvasId):a.boxes[r.id]||Qe(t.canvasId),u=ui(e.transformByPlatform,t.canvasId),c=Ai(l,u,{posX:o.centerX,posY:o.centerY,width:o.width,height:o.height});Er(t,e,c)}function gy(t,e){return t.meta.assetType!=="client-control-template"?Ps(t.root,e):(t.root.children||[]).flatMap(i=>Ps(i,e))}function md(t,e){let i=zu(t.root,e);if(t.meta.assetType!=="client-control-template")return i;let r=Vr(t),n=new Set;return r&&r.kind!=="server-container"&&Ae(r,o=>n.add(o.id)),i.filter(o=>n.has(o.id))}function gd(t){let{canvas:e,boxes:i}=ci(t.root,t.canvasId),r=on(t,new Set,{preserveLegacy:!0}),n=Ve(t.root,t.selectedId),o=n?i[n.id]:null;return se({layoutSchemaVersion:Ze,version:t.version,meta:{...t.meta},canvasId:t.canvasId,canvas:{id:t.canvasId,width:e.width,height:e.height,platform:Ee[t.canvasId].platform,label:Ee[t.canvasId].label,presets:Object.values(Ee).map(s=>({id:s.id,label:s.label,width:s.width,height:s.height,platform:s.platform}))},selectedId:t.selectedId,asset:{type:t.meta.assetType,label:t.meta.assetType==="client-control-template"?"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F":"\u670D\u52A1\u7AEF\u63A7\u4EF6\u6A21\u677F",templateCount:t.meta.assetType==="client-control-template"?t.root.children.length:1,currentTemplateId:t.meta.assetType==="client-control-template"&&Vr(t)?.id||""},tree:gy(t,r),boxes:md(t,i),inspector:$u(n,t.canvasId,o||e,r),root:t.root})}function Er(t,e,i){let r=ci(t.root,t.canvasId),n=La(t,e.id,r.boxes),o={};if(e.syncAllDevices!==!1)for(let s of qe){if(s===Ti(t.canvasId))continue;let a=er[s],l=ci(t.root,a,s);o[s]=La(t,e.id,l.boxes,a)}e.transformByPlatform=wu({transformByPlatform:e.transformByPlatform,source:i,canvasId:t.canvasId,syncAllDevices:e.syncAllDevices!==!1,sourceParentBox:n,targetParentBoxByPlatform:o})}var yy=new Set(["name","active","visible","canControllerFocus","isolateNavigation","disableKeyEventPassthrough","disableCursorEventPassthrough","showCursor","fontSize","adaptiveFontSize","minimumFontSize","fontColor","bgColor","enableOutline","outlineColor","horizontalAlignment","verticalAlignment","text","imageSource","imageType","imageId","imageColor","enableMask","enableSoftEdge","softEdgeMode","softEdgeWidthX","softEdgeWidthY","horizontalSoftRange","verticalSoftRange","enableFill","fillType","fillHorizontalType","fillVerticalType","fillRadial90Type","fillRadialType","fillAmount","reverseMaskArea","raycastTarget","interactable","clickAudioId","unavailableChildId","hoverChildId","pressedChildId","selectedChildId","showScrollBar","cellSizeX","cellSizeY","spacingX","spacingY","padding1X","padding1Y","padding2X","padding2Y","previewCount","scrollDirection","layoutConstraint","referencedPrefabId","animationId","keyboardKeyCode","controllerKeyCode","itemPrefabId","layoutConstraintFixedCount"]),vy=new Set(["posX","posY","width","height"]),by=new Set(["anchorMinX","anchorMinY","anchorMaxX","anchorMaxY","pivotX","pivotY"]);function wy(t){if(typeof t=="number"&&Number.isFinite(t))return t>>>0;if(typeof t=="string"){let e=t.trim();if(e.startsWith("#")){let r=e.slice(1);if(r.length===6)return(4278190080|parseInt(r,16))>>>0;if(r.length===8)return parseInt(r,16)>>>0}let i=Number(e);if(Number.isFinite(i))return i>>>0}throw new Error("color must be an ARGB integer or #RRGGBB/#AARRGGBB string")}function ti(t,e){let i=Number(t);if(!Number.isFinite(i))throw new Error(`${e} must be a finite number`);return i}function fd(t){if(t===!0||t===1||t==="1"||t==="true")return!0;if(t===!1||t===0||t==="0"||t==="false")return!1;throw new Error("boolean field requires true or false")}var Sy=new Set(["fontSize","minimumFontSize","imageId","clickAudioId","softEdgeWidthX","softEdgeWidthY","horizontalSoftRange","verticalSoftRange","fillAmount","cellSizeX","cellSizeY","spacingX","spacingY","padding1X","padding1Y","padding2X","padding2Y","previewCount","keyboardKeyCode","controllerKeyCode","itemPrefabId","layoutConstraintFixedCount"]),xy=new Set(["active","visible","canControllerFocus","isolateNavigation","disableKeyEventPassthrough","disableCursorEventPassthrough","showCursor","adaptiveFontSize","enableOutline","enableMask","enableSoftEdge","enableFill","reverseMaskArea","raycastTarget","interactable","showScrollBar"]),Iy=new Set(["name","imageSource","horizontalAlignment","verticalAlignment","text","softEdgeMode","fillType","fillHorizontalType","fillVerticalType","fillRadial90Type","fillRadialType","scrollDirection","layoutConstraint","referencedPrefabId","animationId"]),dd=new Set(["unavailableChildId","hoverChildId","pressedChildId","selectedChildId"]),hd={imageSource:["StaticReference","Prefab"],imageType:["Basic","Stretch",null],scrollDirection:["Horizontal","Vertical"],layoutConstraint:["AutoWrap","Fixed"],softEdgeMode:["Percentage","Pixel"],fillType:["Horizontal","Vertical","Radial90","Radial180","Radial360"],fillHorizontalType:["Left","Right"],fillVerticalType:["Bottom","Top"],fillRadial90Type:["BottomLeft","TopLeft","TopRight","BottomRight"],fillRadialType:["Bottom","Left","Top","Right"]};function _y(t,e){if(!e||typeof e!="object")throw new Error("patch requires op");let i=e.op;if(i==="select")return e.id&&Ve(t.root,e.id)&&(t.selectedId=e.id),t;if(i==="pick"){let{boxes:r}=ci(t.root,t.canvasId),n=md(t,r),o=Lu(n,Number(e.x),Number(e.y));return o&&(t.selectedId=o),t}if(i==="setCanvas")return e.canvasId&&Ee[e.canvasId]&&(t.canvasId=e.canvasId),t;if(i==="setScript")throw new Error("\u811A\u672C\u7531\u5B58\u6863\u7EDF\u4E00\u7BA1\u7406\uFF0C\u8BF7\u4F7F\u7528 addScript / updateScript / removeScript \u64CD\u4F5C");if(i==="newAsset"){let r=e.assetType==="client-control-template"?sr():Ni();return t.version=r.version,t.meta=r.meta,t.canvasId=r.canvasId,t.selectedId=r.selectedId,t.root=r.root,t}if(i==="addTemplate"){if(t.meta.assetType!=="client-control-template")throw new Error("\u53EA\u6709\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5DE5\u7A0B\u53EF\u4EE5\u65B0\u589E\u6A21\u677F");let r=we(e.kind,{id:ws(t.root),guid:cd(t.root),name:e.name||`\u65B0${e.kind==="container"?"\u5BB9\u5668\u8282\u70B9":e.kind}\u6A21\u677F`});return t.root.children.push(r),t.selectedId=r.id,t}if(i==="add"){let r=Ve(t.root,e.parentId||t.selectedId);if(!r)throw new Error("add: parent not found");let n=yu(r,e.kind,{id:ws(t.root),guid:cd(t.root),name:e.name});return t.selectedId=n.id,t}if(i==="reparent"){if(t.meta.assetType!=="client-control-template")throw new Error("\u5C42\u7EA7\u8C03\u6574\u4EC5\u9002\u7528\u4E8E\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5DE5\u7A0B");let r=Ve(t.root,e.id||t.selectedId),n=r?li(t.root,r.id):null,o=Ve(t.root,e.parentId);if(!r||r.kind==="server-container"||!n)throw new Error("reparent: node not found");if(!o)throw new Error("reparent: parent not found");if(o.id===r.id||py(r,o.id))throw new Error("\u63A7\u4EF6\u4E0D\u80FD\u79FB\u52A8\u5230\u81EA\u8EAB\u6216\u5176\u540E\u4EE3\u4E0B\u9762");if(o.kind==="server-container"&&n.kind==="server-container")return t;if(n.kind==="server-container"&&o.kind!=="server-container"&&t.root.children.length<=1)throw new Error("\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868\u81F3\u5C11\u4FDD\u7559\u4E00\u4E2A\u9876\u5C42\u6A21\u677F");return my(t,r,n,o),t.selectedId=r.id,t}if(i==="moveSibling"){let r=Ve(t.root,e.id||t.selectedId),n=r?li(t.root,r.id):null;if(!r||!n)throw new Error("moveSibling: node not found");let o=n.children.findIndex(l=>l.id===r.id),s=e.direction==="up"?-1:e.direction==="down"?1:0,a=o+s;return!s||a<0||a>=n.children.length||(n.children.splice(o,1),n.children.splice(a,0,r),t.selectedId=r.id),t}if(i==="remove"){let r=e.id||t.selectedId,n=li(t.root,r);if(n?.kind==="server-container"){if(t.meta.assetType!=="client-control-template")throw new Error("\u670D\u52A1\u7AEF\u63A7\u4EF6\u6A21\u677F\u7684\u5BA2\u6237\u7AEF\u6839\u8282\u70B9\u4E0D\u80FD\u5220\u9664");if((t.root.children||[]).length<=1)throw new Error("\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868\u81F3\u5C11\u4FDD\u7559\u4E00\u4E2A\u6A21\u677F")}return vu(t.root,r)&&(Ae(t.root,o=>{if(o.kind==="button")for(let s of dd)o[s]&&!Ve(t.root,o[s])&&(o[s]=null)}),t.selectedId=n?n.id:t.root.id),t}if(i==="set"){let r=Ve(t.root,e.id||t.selectedId);if(!r)throw new Error("set: node not found");let n=e.key;n==="reverseMask"&&(n="reverseMaskArea");let o=e.value;if(r.kind==="reference"&&["referencedPrefabId","giaRaw.templateRefSlot"].includes(n)&&(r.giaRaw.templateRefSlotBase64||r.giaRaw.templateRefOuterBase64))throw new Error("\u8BE5\u6A21\u677F\u5F15\u7528\u542B\u5C1A\u672A\u89E3\u6790\u7684\u539F\u59CB\u914D\u7F6E\uFF0C\u6682\u4E0D\u80FD\u6539\u5199\u76EE\u6807\u7D22\u5F15\uFF1B\u8BF7\u5728\u5B98\u65B9\u7F16\u8F91\u5668\u4FEE\u6539\u540E\u91CD\u65B0\u5BFC\u5165");if(n.startsWith("giaRaw.")){let u=n.slice(7);if(!u||u.includes("."))throw new Error("invalid raw GIA field path");let c=pu(r.kind,u);if(!c)throw new Error(`unknown raw GIA field for ${r.kind}: ${u}`);if(r.giaRaw||={},r.giaRaw[u]=ps(c,o),u==="footerField505"&&[0,1].includes(r.giaRaw[u])&&(r.canControllerFocus=r.giaRaw[u]===1),r.kind==="cursor"&&u==="cursorField501"&&[0,1].includes(r.giaRaw[u])&&(r.raycastTarget=r.giaRaw[u]===1),(r.kind==="textbox"||r.kind==="textwindow")&&u==="textAlign"){let f={0:"Left",1:"Middle",2:"Right"}[r.giaRaw[u]];f&&(r.horizontalAlignment=f)}if(r.kind==="image"&&u==="imageFillType"){let f={1:"Horizontal",2:"Vertical",3:"Radial90",4:"Radial180",5:"Radial360"}[r.giaRaw[u]];f&&(r.fillType=f)}return r.kind==="keyhint"&&u==="keyHintField502"&&(r.keyboardKeyCode=r.giaRaw[u]),r.kind==="keyhint"&&u==="keyHintField501"&&(r.controllerKeyCode=r.giaRaw[u]),t}if(n==="syncAllDevices"){if(r.syncAllDevices=fd(o),r.syncAllDevices){let u=ui(r.transformByPlatform,t.canvasId);Er(t,r,u)}return t}if(yy.has(n)){if(n.endsWith("Color")&&(o=wy(o)),Sy.has(n)){if(o=ti(o,n),o<0)throw new Error(`${n} must not be negative`);if((n==="imageId"||n==="clickAudioId"||n==="keyboardKeyCode"||n==="controllerKeyCode")&&(o=Math.trunc(o)),n==="fillAmount"&&o>1)throw new Error("fillAmount must be between 0 and 1")}if(xy.has(n)&&(o=fd(o)),Iy.has(n)&&(o=String(o??"")),n==="horizontalAlignment"&&!["Left","Middle","Right"].includes(o))throw new Error("invalid horizontalAlignment");if(n==="verticalAlignment"&&!["Top","Middle","Bottom"].includes(o))throw new Error("invalid verticalAlignment");if(hd[n]&&!hd[n].includes(o))throw new Error(`invalid ${n}`);if(dd.has(n))if(o===""||o===void 0||o===null)o=null;else{o=String(o);let u=Ve(t.root,o);if(!u||u===r||u.kind==="server-container"||!(r.children||[]).some(c=>c.id===o))throw new Error(`${n} must reference a direct child of this button`)}if(r.kind==="image"&&(n==="imageSource"||n==="imageId")&&r[n]!==o&&(r.imageType=null,r.giaRaw.imageSlotType=0),r[n]=o,r.kind==="image"&&n==="imageType"&&(r.giaRaw.imageSlotType=o==="Stretch"?1:0),n==="canControllerFocus"&&(r.giaRaw.footerField505=o?1:0),r.kind==="cursor"&&n==="raycastTarget"&&(r.giaRaw.cursorField501=o?1:0),(r.kind==="textbox"||r.kind==="textwindow")&&n==="horizontalAlignment"&&(r.giaRaw.textAlign={Left:0,Middle:1,Right:2}[o]),(r.kind==="textbox"||r.kind==="textwindow")&&n==="verticalAlignment"&&delete r.giaRaw.textVerticalAlign,r.kind==="image"&&n==="fillType"){let u={Horizontal:1,Vertical:2,Radial90:3,Radial180:4,Radial360:5}[o];u&&(r.giaRaw.imageFillType=u)}return r.kind==="reference"&&n==="referencedPrefabId"&&(r.giaRaw.templateRefSlot=o),r.kind==="grid"&&n==="previewCount"&&(r.giaRaw.gridField511=Math.trunc(o)),r.kind==="keyhint"&&n==="keyboardKeyCode"&&(r.giaRaw.keyHintField502=Math.trunc(o)),r.kind==="keyhint"&&n==="controllerKeyCode"&&(r.giaRaw.keyHintField501=Math.trunc(o)),(r.kind==="animation"||r.kind==="fullscreen")&&n==="animationId"&&(r.giaRaw[r.kind==="animation"?"effectSlot":"fullscreenEffectSlot"]=o),t}let{boxes:s}=ci(t.root,t.canvasId),a=La(t,r.id,s),l=ui(r.transformByPlatform,t.canvasId);if(n==="anchorType"){let u=$a(s[r.id]),c=uu(l,o);return c=Ai(a,c,u),Er(t,r,c),t}if(["rotationX","rotationY","rotationZ"].includes(n)){let u={...l,rotation:{...l.rotation,[n.slice(-1).toLowerCase()]:ti(o,n)}};return Er(t,r,u),t}if(by.has(n)){let u=$a(s[r.id]),c={...l,anchorMin:{...l.anchorMin},anchorMax:{...l.anchorMax},pivot:{...l.pivot}};return n==="anchorMinX"&&(c.anchorMin.x=ti(o,n)),n==="anchorMinY"&&(c.anchorMin.y=ti(o,n)),n==="anchorMaxX"&&(c.anchorMax.x=ti(o,n)),n==="anchorMaxY"&&(c.anchorMax.y=ti(o,n)),n==="pivotX"&&(c.pivot.x=ti(o,n)),n==="pivotY"&&(c.pivot.y=ti(o,n)),Er(t,r,Ai(a,c,u)),t}if(vy.has(n)){let u=$a(s[r.id]),c=ti(o,n);if((n==="width"||n==="height")&&c<0)throw new Error(`${n} must not be negative`);return u[n]=c,Er(t,r,Ai(a,l,u)),t}throw new Error(`set: unknown key ${n}`)}if(i==="replace"){let r=xi(e.project);return t.version=r.version,t.meta=r.meta,t.canvasId=r.canvasId,t.selectedId=r.selectedId,t.root=r.root,t}throw new Error(`unknown op ${i}`)}function Ga(t,e){if(!e||typeof e!="object")throw new Error("patch requires op");if(e.expectedRevision!==void 0&&Number(e.expectedRevision)!==t.version)throw new Error(`revision conflict: expected ${e.expectedRevision}, current ${t.version}`);let i=t.version,r=JSON.parse(JSON.stringify(t));return _y(r,e),pd(r),Yt(r),r.version=i+1,Object.keys(t).forEach(n=>{delete t[n]}),Object.assign(t,r),t}function $a(t){return t?{posX:t.centerX,posY:t.centerY,width:t.width,height:t.height}:{posX:0,posY:0,width:0,height:0}}import Ey from"fengari";var{lua:p,lauxlib:_e,lualib:yd,to_luastring:Co,to_jsstring:Cy}=Ey,ky=p.LUA_TNIL,Ay=p.LUA_TBOOLEAN,Ty=p.LUA_TNUMBER,Ry=p.LUA_TSTRING,vd=p.LUA_TTABLE,Oy=p.LUA_TFUNCTION,qa=p.LUA_TUSERDATA,kt=p.LUA_OK,bd=new WeakMap,Ba=Symbol("luaTableEntries"),ja={__scriptHostKey:!0};function q(t){return Co(String(t))}function qi(t,e){bd.set(t,e)}function lt(t){return bd.get(t)}var sn=class{constructor(e){this.value=e}};function Le(t,e,i){if(i instanceof sn){p.lua_pushnumber(t,i.value);return}if(i==null){p.lua_pushnil(t);return}let r=typeof i;if(r==="boolean"){p.lua_pushboolean(t,i);return}if(r==="number"){Number.isInteger(i)&&Math.abs(i)<=2147483647?p.lua_pushinteger(t,i):p.lua_pushnumber(t,i);return}if(r==="string"){p.lua_pushstring(t,q(i));return}if(r==="function"){My(t,e,i);return}if(i&&i[Ba]){let n=i[Ba];p.lua_createtable(t,Array.isArray(i)?i.length:0,n.length);for(let[o,s]of n)Le(t,e,o),Le(t,e,s),p.lua_settable(t,-3);return}if(Array.isArray(i)){p.lua_createtable(t,i.length,0);for(let n=0;n<i.length;n++)Le(t,e,i[n]),p.lua_rawseti(t,-2,n+1);return}if(i&&i.__kind==="EnumItem"){e.pushEnumItem(t,i);return}if(i&&i.__kind==="CursorEventData"){e.pushCursor(t,i);return}if(i&&i.__kind==="Script"){e.pushScript(t,i);return}if(i&&i.typeofName){e.pushControl(t,i);return}if(i&&i.__kind==="ServerSignal"){e.pushSignal(t,i);return}if(i&&(i.SetEase||i.Append)){e.pushTween(t,i);return}if(r==="object"){p.lua_createtable(t,0,Object.keys(i).length);for(let[n,o]of Object.entries(i))Le(t,e,o),p.lua_setfield(t,-2,q(n));return}p.lua_pushnil(t)}function Ce(t,e){if(p.lua_isnil(t,e)||p.lua_type(t,e)===p.LUA_TNONE)return"";if(!p.lua_isstring(t,e)&&p.lua_type(t,e)!==p.LUA_TNUMBER)return`lua_type=${p.lua_type(t,e)}`;let i=p.lua_tostring(t,e);return i==null?"":Cy(i)}function ii(t,e){e=p.lua_absindex(t,e);let i=p.lua_type(t,e);if(i===qa)return lt(p.lua_touserdata(t,e));if(i===vd){p.lua_pushlightuserdata(t,ja),p.lua_rawget(t,e);let r=p.lua_type(t,-1)===qa?p.lua_touserdata(t,-1):null;return p.lua_pop(t,1),r?lt(r):null}return null}function Xe(t,e,i){i=p.lua_absindex(t,i);let r=p.lua_type(t,i);if(r===ky)return null;if(r===Ay)return!!p.lua_toboolean(t,i);if(r===Ty)return p.lua_isinteger(t,i)?p.lua_tointeger(t,i):p.lua_tonumber(t,i);if(r===Ry)return Ce(t,i);if(r===qa){let n=p.lua_touserdata(t,i);return lt(n)??n}if(r===Oy)return Ny(t,e,i);if(r===vd){let n=ii(t,i);if(n)return n;let o=[];for(p.lua_pushnil(t);p.lua_next(t,i)!==0;){let u=Xe(t,e,-2),c=Xe(t,e,-1);o.push([u,c]),p.lua_pop(t,1)}let s=new Map(o.filter(([u])=>Number.isInteger(u)&&u>=1)),a=0;for(;s.has(a+1);)a+=1;let l=a>0?[]:{};for(let[u,c]of o)Array.isArray(l)&&Number.isInteger(u)&&u>=1?l[u-1]=c:(typeof u=="string"||typeof u=="number")&&(l[u]=c);return Object.defineProperty(l,Ba,{value:o}),l}return null}function Ny(t,e,i){e.luaFunctions||(e.luaFunctions=new Map);let r=typeof p.lua_topointer=="function"?p.lua_topointer(t,i):null;if(r!=null&&e.luaFunctions.has(r))return e.luaFunctions.get(r);p.lua_pushvalue(t,i);let n=_e.luaL_ref(t,p.LUA_REGISTRYINDEX),o=Py(t,e,n);return r!=null&&e.luaFunctions.set(r,o),o}function Py(t,e,i){let r=(...n)=>{if(r.__luaRef==null)throw new Error("attempt to call a released Lua callback");let o=p.lua_gettop(t);p.lua_rawgeti(t,p.LUA_REGISTRYINDEX,r.__luaRef);for(let u of n)Le(t,e,u);if(p.lua_pcall(t,n.length,p.LUA_MULTRET,0)!==kt){let u=Ce(t,-1);throw p.lua_settop(t,o),new Error(u)}let a=p.lua_gettop(t)-o,l=[];for(let u=1;u<=a;u++)l.push(Xe(t,e,o+u));if(p.lua_settop(t,o),l.length!==0)return l.length===1?l[0]:l};return r.__luaRef=i,r.__luaState=t,r}function wd(t){t?.__luaRef!=null&&(t.__luaHolds=(t.__luaHolds||0)+1)}function Sd(t,e){if(!e||e.__luaRef==null||!e.__luaState)return;if(e.__luaHolds>1){e.__luaHolds-=1;return}let i=e.__luaState;if((!t?.luaStates||t.luaStates.has(i))&&_e.luaL_unref(i,p.LUA_REGISTRYINDEX,e.__luaRef),e.__luaRef=null,e.__luaState=null,t?.luaFunctions)for(let[r,n]of t.luaFunctions)n===e&&t.luaFunctions.delete(r)}function My(t,e,i){p.lua_pushlightuserdata(t,i),p.lua_pushlightuserdata(t,e),p.lua_pushcclosure(t,function(n){let o=p.lua_touserdata(n,p.lua_upvalueindex(1)),s=p.lua_touserdata(n,p.lua_upvalueindex(2)),a=p.lua_gettop(n),l=[];for(let u=1;u<=a;u++)l.push(Xe(n,s,u));try{let u=o(...l);if(Array.isArray(u)&&u.__multi){for(let c of u)Le(n,s,c);return u.length}return u===void 0?0:(Le(n,s,u),1)}catch(u){return p.lua_pushstring(n,q(String(u&&u.message?u.message:u))),p.lua_error(n)}},2)}function xd(t){!t||typeof p.lua_close!="function"||p.lua_close(t)}function Id(t){if(_e.luaL_loadstring(t,q(["local nativeGetMetatable = getmetatable","getmetatable = function(value)",' if type(value) == "string" then return nil end'," return nativeGetMetatable(value)","end"].join(`
|
|
123
|
-
`)))===kt&&p.lua_pcall(t,0,0,0),p.lua_settop(t,0),p.lua_pushnil(t),p.lua_setglobal(t,q("_VERSION")),p.lua_getglobal(t,q("string")),!p.lua_isnil(t,-1))for(let i of["dump","pack","unpack"])p.lua_pushnil(t),p.lua_setfield(t,-2,q(i));if(p.lua_pop(t,1),p.lua_pushnil(t),p.lua_setglobal(t,q("io")),p.lua_getglobal(t,q("os")),!p.lua_isnil(t,-1))for(let i of Object.keys({execute:1,getenv:1,remove:1,rename:1,tmpname:1,setlocale:1,exit:1}))p.lua_pushnil(t),p.lua_setfield(t,-2,q(i));p.lua_pop(t,1),p.lua_getglobal(t,q("debug")),p.lua_isnil(t,-1)?p.lua_pop(t,1):(p.lua_getfield(t,-1,q("traceback")),p.lua_newtable(t),p.lua_pushvalue(t,-2),p.lua_setfield(t,-2,q("traceback")),p.lua_setglobal(t,q("debug")),p.lua_pop(t,2)),p.lua_getglobal(t,q("math")),p.lua_isnil(t,-1)||(p.lua_pushcfunction(t,i=>{let r=p.lua_tonumber(i,1);return p.lua_pushboolean(i,Number.isNaN(r)),1}),p.lua_setfield(t,-2,q("isnan")),p.lua_pushcfunction(t,i=>{let r=p.lua_tonumber(i,1);return p.lua_pushboolean(i,r===1/0||r===-1/0),1}),p.lua_setfield(t,-2,q("isinf"))),p.lua_pop(t,1),p.lua_pushnil(t),p.lua_setglobal(t,q("package")),p.lua_pushnil(t),p.lua_setglobal(t,q("load")),p.lua_pushnil(t),p.lua_setglobal(t,q("loadfile")),p.lua_pushnil(t),p.lua_setglobal(t,q("dofile")),p.lua_pushnil(t),p.lua_setglobal(t,q("collectgarbage")),p.lua_pushnil(t),p.lua_setglobal(t,q("coroutine")),p.lua_pushnil(t),p.lua_setglobal(t,q("fengari"))}var pt=(t,e=0)=>Number.isFinite(Number(t))?Number(t):e,_d=t=>t?.Name||t,ko=t=>Math.max(0,Math.min(1,pt(t)));function an(t){let e=t.parent?an(t.parent):[t.runtime.canvasWidth,t.runtime.canvasHeight];return[Math.max(0,(t.anchorMaxX-t.anchorMinX)*e[0]+pt(t.sizeDeltaX)),Math.max(0,(t.anchorMaxY-t.anchorMinY)*e[1]+pt(t.sizeDeltaY))]}function ln(t){let[e,i]=an(t),r=_d(t.scrollDirection)==="Horizontal",n=Math.max(1,pt(t.cellSizeX,50)),o=Math.max(1,pt(t.cellSizeY,50)),s=Math.max(0,pt(t.spacingX)),a=Math.max(0,pt(t.spacingY)),l=Math.max(0,pt(t.padding1X)),u=Math.max(0,pt(t.padding1Y)),c=Math.max(0,pt(t.padding2X)),f=Math.max(0,pt(t.padding2Y)),h=r?i-u-f:e-l-c,m=r?o:n,g=r?a:s,v=_d(t.layoutConstraint)==="Fixed"?Math.max(1,Math.floor(pt(t.layoutConstraintFixedCount,1))):Math.max(1,Math.floor((h+g)/(m+g))),w=Math.ceil(t.itemCount/v),S=w?r?l+c+w*n+(w-1)*s:u+f+w*o+(w-1)*a:0,x=r?e:i,F=Math.max(0,S-x);return{width:e,height:i,horizontal:r,cellW:n,cellH:o,gapX:s,gapY:a,left:l,top:u,right:c,bottom:f,lanes:v,length:S,viewport:x,max:F,offset:ko(t.scrollProgress)*F}}function Cr(t){let e=ln(t);for(let i=0;i<(t._gridItems?.length||0);i+=1){let r=t._gridItems[i];if(!r.alive||r.parent!==t)continue;let n=Math.floor(i/e.lanes),o=i%e.lanes,s=e.horizontal?n:o,a=e.horizontal?o:n,l=e.left+s*(e.cellW+e.gapX)+e.cellW/2-(e.horizontal?e.offset:0),u=-e.top-a*(e.cellH+e.gapY)-e.cellH/2+(e.horizontal?0:e.offset),c={anchorMinX:0,anchorMaxX:0,anchorMinY:1,anchorMaxY:1,pivotX:.5,pivotY:.5,sizeDeltaX:e.cellW,sizeDeltaY:e.cellH,anchoredPositionX:l,anchoredPositionY:u};Object.entries(c).some(([f,h])=>r[f]!==h)&&(Object.assign(r,c),r.markPlayDirty(!0))}return e}var Ed={container:"ClientUIContainerControl",textbox:"ClientUITextBoxControl",textwindow:"ClientUITextWindowControl",image:"ClientUIImageControl",button:"ClientUIPresetButtonControl",cursor:"ClientUICursorEventAreaControl",grid:"ClientUIGridScrollerControl",keyhint:"ClientUIKeyHintControl",animation:"ClientUIAnimationControl",fullscreen:"ClientUIFullscreenAnimationControl",reference:"ClientUIReferenceControl"},Fy=["alive","Id","prefabIndex","active","activeInHierarchy","visible"],Ao=new Set(["active","visible","parent","sizeDeltaX","sizeDeltaY","anchorMinX","anchorMinY","anchorMaxX","anchorMaxY","pivotX","pivotY"]),Dy=["name","parent","anchoredPositionX","anchoredPositionY","sizeDeltaX","sizeDeltaY","anchorMinX","anchorMinY","anchorMaxX","anchorMaxY","pivotX","pivotY","localScaleX","localScaleY","localScaleZ","localRotationX","localRotationY","localRotationZ","canControllerFocus"],zy={image:["imageSource","imageId"],grid:["itemCount","scrollDirection","layoutConstraint","layoutConstraintFixedCount"],reference:["referencedPrefabIndex"]},$y={container:["isolateNavigation","disableKeyEventPassthrough","disableCursorEventPassthrough","showCursor"],textbox:["text","fontSize","fontColor","bgColor","enableOutline","outlineColor","horizontalAlignment","verticalAlignment","adaptiveFontSize","minimumFontSize"],textwindow:["interactable","showScrollBar","text","fontSize","fontColor","bgColor","enableOutline","outlineColor","horizontalAlignment","verticalAlignment","adaptiveFontSize","minimumFontSize"],image:["imageColor","enableMask","enableSoftEdge","softEdgeMode","softEdgeWidthX","softEdgeWidthY","horizontalSoftRange","verticalSoftRange","reverseMaskArea","fillType","fillHorizontalType","fillVerticalType","fillRadial90Type","fillRadialType","fillAmount"],button:["interactable","clickAudioId","raycastTarget"],cursor:["raycastTarget"],grid:["itemPrefabIndex","raycastTarget","showScrollBar","interactable","scrollProgress"],keyhint:["keyboardKeyCode","controllerKeyCode"],animation:["animationId","playSoundEffect","layer"],fullscreen:["animationId","playSoundEffect"]},Ly=["GetChildren","GetChild","FindChild","SetActive","SetVisible","GetSiblingIndex","SetSiblingIndex","SetAsFirstSibling","SetAsLastSibling","GetAnchoredPosition","SetAnchoredPosition","GetSizeDelta","SetSizeDelta","GetAnchorMin","SetAnchorMin","GetAnchorMax","SetAnchorMax","GetPivot","SetPivot","GetLocalScale","SetLocalScale","GetLocalRotation","SetLocalRotation","GetScriptByPath","GetScript","GetScripts","AddKeyEventListener","RemoveKeyEventListener","RemoveKeyEventListeners","RemoveAllKeyEventListeners","AddNavigationEventListener","RemoveNavigationEventListener","RemoveNavigationEventListeners","RemoveAllNavigationEventListeners","SetControllerNavigation","GetControllerNavigation"],Cd=["AddCursorEventListener","RemoveCursorEventListener","RemoveCursorEventListeners","RemoveAllCursorEventListeners","SimulateCursorClick"],Gy={image:["SetImage","SetSoftEdgeWidth","SetFillUnused","SetFillHorizontal","SetFillVertical","SetFillRadial90","SetFillRadial180","SetFillRadial360"],button:Cd,cursor:Cd,animation:["PlayAnimation","StopAnimation"],grid:["RefreshItems","GetItemIndex","GetItemSize","GetItemSpacing","GetPadding","ScrollToItemAt","GetContentLength"]};function Ua(t,e){return t.kind==="image"&&e==="imageType"&&t.runtime.canSelectImageType(t.imageId,t.imageSource)?"rw":Fy.includes(e)||(zy[t.kind]||[]).includes(e)?"ro":Dy.includes(e)||($y[t.kind]||[]).includes(e)?"rw":null}var qy=["localRotationX","localRotationY","localRotationZ"],kr=Math.PI/180;function kd(t,e){return[t[3]*e[0]+t[0]*e[3]+t[1]*e[2]-t[2]*e[1],t[3]*e[1]-t[0]*e[2]+t[1]*e[3]+t[2]*e[0],t[3]*e[2]+t[0]*e[1]-t[1]*e[0]+t[2]*e[3],t[3]*e[3]-t[0]*e[0]-t[1]*e[1]-t[2]*e[2]]}function Va(t){if(Object.is(t,-0))return t;let e=(t%360+360)%360,i=Math.round(e*1e6)/1e6;return i>=360?0:i}function Ad(t,e,i){let r=x=>[Math.sin(x*kr/2),Math.cos(x*kr/2)],[n,o]=r(t),[s,a]=r(e),[l,u]=r(i),[c,f,h,m]=kd(kd([0,s,0,a],[n,0,0,o]),[0,0,l,u]),g=Math.max(-1,Math.min(1,-2*(f*h-m*c))),v,w,S;return Math.abs(g)>.999999?(v=Math.sign(g)*90,w=2*Math.atan2(f,m)/kr,S=0):(v=Math.asin(g)/kr,w=Math.atan2(2*(m*f+c*h),1-2*(c*c+f*f))/kr,S=Math.atan2(2*(m*h+c*f),1-2*(c*c+h*h))/kr),[Va(v),Va(w),Va(S)]}function Td(t,e){return Ly.includes(e)||(Gy[t.kind]||[]).includes(e)}var By={container:{isolateNavigation:!1,disableKeyEventPassthrough:!1,disableCursorEventPassthrough:!1,showCursor:!1},textbox:{text:"",fontSize:20,fontColor:4294967295,bgColor:0,enableOutline:!1,outlineColor:0,horizontalAlignment:null,verticalAlignment:null,adaptiveFontSize:!1,minimumFontSize:10},textwindow:{interactable:!0,showScrollBar:!0,text:"",fontSize:20,fontColor:4294967295,bgColor:0,enableOutline:!1,outlineColor:0,horizontalAlignment:null,verticalAlignment:null,adaptiveFontSize:!1,minimumFontSize:10},image:{imageSource:null,imageId:0,imageColor:4294967295,imageType:null,enableMask:!1,enableSoftEdge:!1,softEdgeMode:"Percentage",softEdgeWidthX:8,softEdgeWidthY:8,horizontalSoftRange:85,verticalSoftRange:85,enableFill:!1,fillType:"Unused",fillHorizontalType:"Left",fillVerticalType:"Bottom",fillRadial90Type:"BottomLeft",fillRadialType:"Bottom",reverseMaskArea:!1,fillAmount:1},button:{interactable:!0,clickAudioId:0,raycastTarget:!0,unavailableChildId:null,hoverChildId:null,pressedChildId:null,selectedChildId:null,pressed:!1},cursor:{raycastTarget:!0},grid:{itemCount:0,itemPrefabIndex:null,raycastTarget:!0,interactable:!0,showScrollBar:!0,scrollDirection:"Vertical",layoutConstraint:"AutoWrap",layoutConstraintFixedCount:null,scrollProgress:0,cellSizeX:50,cellSizeY:50,spacingX:8,spacingY:8,padding1X:20,padding1Y:20,padding2X:20,padding2Y:20,previewCount:5},keyhint:{keyboardKeyCode:null,controllerKeyCode:null},animation:{animationId:null,playSoundEffect:null,layer:null,raycastTarget:!1},fullscreen:{animationId:null,playSoundEffect:null,raycastTarget:!1},reference:{referencedPrefabIndex:null}},Ii=class t{constructor(e,i){this.runtime=e,this.kind=i.kind||"container",this.typeofName=Ed[this.kind]||Ed.container,this.alive=!0,this.Id=i.Id??e.nextControlId(),this.authoringId=i.authoringId??null,this.prefabIndex=i.prefabIndex??0,this.name=i.name??"",this.active=i.active===!0,this.visible=i.visible!==!1,this._parent=null,this.children=[],this.scripts=[],this.cursorListeners=new Map,this.keyListeners=new Map,this.navListeners=new Map,this.navConfig=new Map,this.anchoredPositionX=i.anchoredPositionX??0,this.anchoredPositionY=i.anchoredPositionY??0,this.sizeDeltaX=i.sizeDeltaX??0,this.sizeDeltaY=i.sizeDeltaY??0,this.anchorMinX=i.anchorMinX??.5,this.anchorMinY=i.anchorMinY??.5,this.anchorMaxX=i.anchorMaxX??.5,this.anchorMaxY=i.anchorMaxY??.5,this.pivotX=i.pivotX??.5,this.pivotY=i.pivotY??.5,this.localScaleX=i.localScaleX??1,this.localScaleY=i.localScaleY??1,this.localScaleZ=i.localScaleZ??1,this.localRotationX=i.localRotationX??0,this.localRotationY=i.localRotationY??0,this.localRotationZ=i.localRotationZ??0,this.canControllerFocus=i.canControllerFocus??!1,this._playDirty=!0,this._playDeepDirty=!0,this._playChildDirty=!1,(this.kind==="grid"||this.kind==="textwindow")&&(this.runtime.scrollControls||=new Set,this.runtime.scrollControls.add(this));let r=By[this.kind]||{};for(let[n,o]of Object.entries(r))this[n]===void 0&&(this[n]=i[n]!==void 0?i[n]:o);if(this.kind==="grid"&&(this.scrollProgress=i.scrollProgress??0),i.children)for(let n of i.children){let o=n instanceof t?n:new t(e,n);this.addChild(o)}}get parent(){return this._parent}set parent(e){if(this._parent===e)return;if(e!==null&&!(e instanceof t))throw new Error("parent must be a Control or nil");if(e&&e.runtime!==this.runtime)throw new Error("parent must belong to the same runtime");if(e===this)throw new Error("cannot parent a control to itself or its descendant");for(let r=e;r;r=r._parent)if(r===this)throw new Error("cannot parent a control to itself or its descendant");let i=this._parent;if(i){let r=i.children.indexOf(this);r>=0&&i.children.splice(r,1),i.markPlayDirty(!0)}else{let r=this.runtime.roots.indexOf(this);r>=0&&this.runtime.roots.splice(r,1)}this._parent=e,this.markPlayDirty(!0),e&&!e.children.includes(this)?(e.children.push(this),e.markPlayDirty(!0)):!e&&this.alive&&!this.runtime.roots.includes(this)&&this.runtime.roots.push(this)}markPlayDirty(e=!1){this._playDirty=!0,e&&(this._playDeepDirty=!0);for(let i=this._parent;i&&!i._playChildDirty;i=i._parent)i._playChildDirty=!0}get activeInHierarchy(){return this.active?this._parent?this._parent.activeInHierarchy:!0:!1}get scrollProgress(){return this._scrollProgress??0}set scrollProgress(e){if(typeof e!="number"||!Number.isFinite(e))throw new Error("scrollProgress must be a finite number");this._scrollProgress=ko(e),this.markPlayDirty()}addChild(e){return e.parent=this,e}GetChildren(){return this.children.slice()}GetChild(e){return this.children.find(i=>i.name===e)||null}FindChild(e){if(!e)return null;if(!e.includes("/"))return this.GetChild(e);let i=e.split("/").filter(Boolean),r=this;for(let n of i)if(r=r.GetChild(n),!r)return null;return r}SetActive(e){let i=!!e;if(this.active!==i){if(typeof this.runtime?.onControlActiveChanging=="function"){this.runtime.onControlActiveChanging(this,i);return}this.active=i,this.markPlayDirty(!0)}}SetVisible(e){this.visible=!!e,this.markPlayDirty(!0)}GetSiblingIndex(){if(!this._parent)return-1;let e=this._parent.children,i=e.indexOf(this);return i<0?-1:e.length-1-i}SetSiblingIndex(e){if(!this._parent)return!1;let i=this._parent.children,r=i.indexOf(this);if(r<0)return!1;let n=i.length-1;return!Number.isInteger(e)||e<0||e>n?!1:(i.splice(r,1),i.splice(n-e,0,this),this._parent.markPlayDirty(!0),this.markPlayDirty(),!0)}SetAsFirstSibling(){return this.SetSiblingIndex(0)}SetAsLastSibling(){return this._parent?this.SetSiblingIndex(this._parent.children.length-1):!1}GetAnchoredPosition(){return[this.anchoredPositionX,this.anchoredPositionY]}SetAnchoredPosition(e,i){this.anchoredPositionX=e,this.anchoredPositionY=i,this.markPlayDirty()}GetSizeDelta(){return[this.sizeDeltaX,this.sizeDeltaY]}SetSizeDelta(e,i){this.sizeDeltaX=e,this.sizeDeltaY=i,this.markPlayDirty(!0)}GetAnchorMin(){return[this.anchorMinX,this.anchorMinY]}SetAnchorMin(e,i){this.anchorMinX=e,this.anchorMinY=i,this.markPlayDirty(!0)}GetAnchorMax(){return[this.anchorMaxX,this.anchorMaxY]}SetAnchorMax(e,i){this.anchorMaxX=e,this.anchorMaxY=i,this.markPlayDirty(!0)}GetPivot(){return[this.pivotX,this.pivotY]}SetPivot(e,i){this.pivotX=e,this.pivotY=i,this.markPlayDirty(!0)}GetLocalScale(){return[this.localScaleX,this.localScaleY,this.localScaleZ]}SetLocalScale(e,i,r){this.localScaleX=e,this.localScaleY=i,this.localScaleZ=r,this.markPlayDirty()}GetLocalRotation(){return Ad(this.localRotationX,this.localRotationY,this.localRotationZ)}luaFieldValue(e){if(e==="imageType")return this.imageType??"Stretch";let i=qy.indexOf(e);return i<0?this[e]:Ad(this.localRotationX,this.localRotationY,this.localRotationZ)[i]}SetLocalRotation(e,i,r){this.localRotationX=e,this.localRotationY=i,this.localRotationZ=r,this.markPlayDirty()}GetScriptByPath(e){return this.scripts.find(i=>i.path===e)||null}GetScript(e){return this.scripts.find(i=>i.scriptMappingId===e)||null}GetScripts(){return this.scripts.slice()}_addListener(e,i,r){let n=e.get(i)||[];n.push(r),e.set(i,n),this.runtime.retainLuaCallback?.(r)}_removeListener(e,i,r){let n=e.get(i);if(!n)return;let o=n.filter(s=>s!==r);e.set(i,o);for(let s=o.length;s<n.length;s++)this.runtime.unrefLuaCallback?.(r)}_removeListeners(e,i){let r=e.get(i)||[];for(let n of r)this.runtime.unrefLuaCallback?.(n);e.delete(i)}_removeAllListeners(e){for(let i of e.values())for(let r of i)this.runtime.unrefLuaCallback?.(r);e.clear()}AddCursorEventListener(e,i){this._addListener(this.cursorListeners,e,i)}RemoveCursorEventListener(e,i){this._removeListener(this.cursorListeners,e,i)}RemoveCursorEventListeners(e){this._removeListeners(this.cursorListeners,e)}RemoveAllCursorEventListeners(){this._removeAllListeners(this.cursorListeners)}SimulateCursorClick(){let e=this.runtime.makeCursorEventData({x:0,y:0,pressX:0,pressY:0});this.emitCursor("CursorDown",e),this.emitCursor("CursorUp",e),this.emitCursor("CursorClick",e)}emitCursor(e,i){if(!this.runtime.cursorEventsEnabled(this))return;let r=this.cursorListeners.get(e)||[];for(let n of r)n(i)}AddKeyEventListener(e,i){this._addListener(this.keyListeners,e,i)}RemoveKeyEventListener(e,i){this._removeListener(this.keyListeners,e,i)}RemoveKeyEventListeners(e){this._removeListeners(this.keyListeners,e)}RemoveAllKeyEventListeners(){this._removeAllListeners(this.keyListeners)}emitKey(e){let i=this.keyListeners.get(e)||[];for(let r of i)if(r()===!0)return!0;return!1}AddNavigationEventListener(e,i){this._addListener(this.navListeners,e,i)}RemoveNavigationEventListener(e,i){this._removeListener(this.navListeners,e,i)}RemoveNavigationEventListeners(e){this._removeListeners(this.navListeners,e)}RemoveAllNavigationEventListeners(){this._removeAllListeners(this.navListeners)}SetControllerNavigation(e,i,r){this.navConfig.set(e,{mode:i,target:r})}GetControllerNavigation(e){let i=this.navConfig.get(e),r=i?[i.mode,i.target]:[null,null];return r.__multi=!0,r}SetImage(e,i){let r=this.imageSource?.Name||this.imageSource,n=e?.Name||e;(i!==this.imageId||r!==n)&&(this.imageType=null),this.imageSource=e,this.imageId=i,this.markPlayDirty()}SetSoftEdgeWidth(e,i){this.softEdgeWidthX=e,this.softEdgeWidthY=i,this.markPlayDirty()}SetFillUnused(){this.fillType="Unused",this.markPlayDirty()}SetFillHorizontal(e,i){this.fillType="Horizontal",this.fillHorizontalType=e,this.fillAmount=i,this.markPlayDirty()}SetFillVertical(e,i){this.fillType="Vertical",this.fillVerticalType=e,this.fillAmount=i,this.markPlayDirty()}SetFillRadial90(e,i){this.fillType="Radial90",this.fillRadial90Type=e,this.fillAmount=i,this.markPlayDirty()}SetFillRadial180(e,i){this.fillType="Radial180",this.fillRadialType=e,this.fillAmount=i,this.markPlayDirty()}SetFillRadial360(e,i){this.fillType="Radial360",this.fillRadialType=e,this.fillAmount=i,this.markPlayDirty()}PlayAnimation(){}StopAnimation(){}RefreshItems(e,i){if(!Number.isInteger(e)||e<0||e>2e3)throw new Error("RefreshItems: simulator supports 0..2000 items");if(typeof i!="function")throw new Error("RefreshItems: callback must be a function");if(!this.alive||this._refreshingGrid)throw new Error("RefreshItems: destroyed control or recursive refresh");if(e&&!this.runtime.templates.has(Number(this.itemPrefabIndex)))throw new Error("RefreshItems: item template not found");if(e&&["OnInit","OnDestroy"].includes(this.runtime.lifecyclePhase))throw new Error("RefreshItems: items cannot be created during OnInit/OnDestroy");this._refreshingGrid=!0;try{this._gridItems||=[];let r=[];for(let n of this._gridItems)n.alive&&n.parent===this&&n.prefabIndex===Number(this.itemPrefabIndex)&&r.length<e?r.push(n):n.alive&&n.parent===this&&this.runtime.destroyControl(n);for(this._gridItems=r;r.length<e;){let n=this.runtime.instantiate(this.itemPrefabIndex,this,this.runtime.lifecyclePhase);if(!n)throw new Error("RefreshItems: could not instantiate item");r.push(n),n.SetActive(!0)}this.itemCount=e,Cr(this),this.markPlayDirty(!0);for(let n=0;n<r.length&&this.alive;n+=1)i(r[n],n)}finally{this._refreshingGrid=!1}}GetItemIndex(e){return e?.alive&&e.parent===this?this._gridItems?.indexOf(e)??-1:-1}GetItemSize(){return[this.cellSizeX,this.cellSizeY]}GetItemSpacing(){return[this.spacingX,this.spacingY]}GetPadding(){return[this.padding1Y,this.padding2Y,this.padding1X,this.padding2X]}ScrollToItemAt(e,i){if(!Number.isInteger(e)||e<0||e>=this.itemCount)throw new Error("ScrollToItemAt: item index out of range");let r=ln(this),n=r.horizontal?r.cellW:r.cellH,o=r.horizontal?r.gapX:r.gapY,s=(r.horizontal?r.left:r.top)+Math.floor(e/r.lanes)*(n+o),a=i?.Name||i;if(!["Top","Center","Bottom"].includes(a))throw new Error("ScrollToItemAt: invalid alignment");let l=s-(a==="Center"?(r.viewport-n)/2:a==="Bottom"?r.viewport-n:0);this.scrollProgress=r.max?ko(l/r.max):0,Cr(this),this.markPlayDirty(!0)}GetContentLength(){return ln(this).length}};function Gt(t,e){e(t);for(let i of t.children)Gt(i,e)}function Ha(t,e=[],i=""){e.push(`${i}${t.name||"(unnamed)"} [${t.typeofName}] Id=${t.Id}`);for(let r of t.children)Ha(r,e,i+" ");return e}function To(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}var Rd={Linear:t=>t,InSine:t=>1-Math.cos(t*Math.PI/2),OutSine:t=>Math.sin(t*Math.PI/2),InOutSine:t=>-(Math.cos(Math.PI*t)-1)/2,InQuad:t=>t*t,OutQuad:t=>1-(1-t)*(1-t),InOutQuad:t=>t<.5?2*t*t:1-(-2*t+2)**2/2,InCubic:t=>t*t*t,OutCubic:t=>1-(1-t)**3,InOutCubic:t=>t<.5?4*t*t*t:1-(-2*t+2)**3/2,InQuart:t=>t**4,OutQuart:t=>1-(1-t)**4,InOutQuart:t=>t<.5?8*t**4:1-(-2*t+2)**4/2,InQuint:t=>t**5,OutQuint:t=>1-(1-t)**5,InOutQuint:t=>t<.5?16*t**5:1-(-2*t+2)**5/2,InExpo:t=>t===0?0:2**(10*t-10),OutExpo:t=>t===1?1:1-2**(-10*t),InOutExpo:t=>t===0||t===1?t:t<.5?2**(20*t-10)/2:(2-2**(-20*t+10))/2,InCirc:t=>1-Math.sqrt(1-t**2),OutCirc:t=>Math.sqrt(1-(t-1)**2),InOutCirc:t=>t<.5?(1-Math.sqrt(1-(2*t)**2))/2:(Math.sqrt(1-(-2*t+2)**2)+1)/2,InBack:t=>(1.70158+1)*t*t*t-1.70158*t*t,OutBack:t=>1+2.70158*(t-1)**3+1.70158*(t-1)**2,InOutBack:t=>{let i=2.5949095;return t<.5?(2*t)**2*((i+1)*2*t-i)/2:((2*t-2)**2*((i+1)*(t*2-2)+i)+2)/2},InElastic:t=>t===0||t===1?t:-(2**(10*t-10))*Math.sin((t*10-10.75)*(2*Math.PI/3)),OutElastic:t=>t===0||t===1?t:2**(-10*t)*Math.sin((t*10-.75)*(2*Math.PI/3))+1,InOutElastic:t=>{if(t===0||t===1)return t;let e=2*Math.PI/4.5;return t<.5?-(2**(20*t-10)*Math.sin((20*t-11.125)*e))/2:2**(-20*t+10)*Math.sin((20*t-11.125)*e)/2+1},InBounce:t=>1-To(1-t),OutBounce:To,InOutBounce:t=>t<.5?(1-To(1-2*t))/2:(1+To(2*t-1))/2};function Od(t,e){let i=Rd[t]||Rd.Linear;return e<=0?0:e>=1?1:i(e)}function Ar(t,e,i,r=255){let n=Ro(t),o=Ro(e),s=Ro(i);return((r==null?255:Ro(r))<<24|n<<16|o<<8|s)>>>0}function un(t){let e=t>>>0;return[e>>>16&255,e>>>8&255,e&255,e>>>24&255]}function Ro(t){let e=Number(t);return Number.isFinite(e)?Math.max(0,Math.min(255,Math.trunc(e))):0}function Nd(t,e,i){let r=un(t),n=un(e);return Ar(r[0]+(n[0]-r[0])*i,r[1]+(n[1]-r[1])*i,r[2]+(n[2]-r[2])*i,r[3]+(n[3]-r[3])*i)}var jy=new Set(["fontColor","bgColor","outlineColor","imageColor"]),Vy=new Set(["fontSize","minimumFontSize"]),Ya=1e-9;function Uy(t,e){return typeof t?.luaFieldValue=="function"?t.luaFieldValue(e):t[e]}var cn=class{constructor(e,i,r,n){this.runtime=e,this.object=i,this.data={...r},this.duration=Math.max(0,Number(n)||0),this.easeName="Linear",this.relative=!1,this.playing=!1,this.paused=!1,this.elapsed=0,this.loops=1,this.loopIndex=0,this.from={},this.to={},this.initialFrom=null,this.initialTo=null,this.onComplete=null,this.onStepComplete=null,this.killed=!1,this.dead=!1,this.completed=!1}capture(){this.from={},this.to={};for(let[e,i]of Object.entries(this.data)){let r=Uy(this.object,e);this.from[e]=r,this.to[e]=this.relative?Number(r)+Number(i):i}}restoreInitial(){this.from={...this.initialFrom},this.to={...this.initialTo}}SetEase(e){return this.easeName=typeof e=="string"?e:e?.Name||"Linear",this}SetRelative(e){return this.relative=!!e,this}Play(){return this.dead?this:this.playing?(this.paused=!1,this):this._start(!1)}_begin(e){this.playing=!0,this.paused=!1,this.elapsed=0,this.loopIndex=0,this.killed=!1,this.completed=!1,e&&this.initialFrom?this.restoreInitial():(this.capture(),this.initialFrom={...this.from},this.initialTo={...this.to})}_start(e){return this._begin(e),this.runtime.tweens.add(this),this.runtime.animations.add(this),this}get loopCount(){return this.loops>0?this.loops:1}Pause(){this.paused=!0}Resume(){this.paused=!1}Restart(){return this.dead?this:this._start(!0)}Complete(){this.dead||this.completed||(this.initialFrom||this._begin(!1),this.apply(1),this.finish(!0))}Kill(e){e?this.Complete():this.finish(!1),this.dead=!0}SetOnComplete(e){return this.onComplete=e,this}SetOnStepComplete(e){return this.onStepComplete=e,this}SetLoops(e){return this.loops=e,this}apply(e){if(this.object?.alive===!1)return;let i=Od(this.easeName,e),r=!1,n=!1;for(let o of Object.keys(this.to)){let s=this.from[o],a=this.to[o];if(jy.has(o)&&typeof s=="number"&&typeof a=="number")this.object[o]=Nd(s,a,i);else if(typeof s=="number"&&typeof a=="number"){let l=s+(a-s)*i;this.object[o]=Vy.has(o)?Math.trunc(l):l}else this.object[o]=i>=1?a:s;r=!0,Ao.has(o)&&(n=!0)}r&&typeof this.object?.markPlayDirty=="function"&&this.object.markPlayDirty(n)}_advance(e,i){this.elapsed+=e;let r=this.duration<=0?1:Math.min(1,this.elapsed/this.duration);return this.apply(r),r<1?!1:i>=0&&this.loopIndex+1>=i?!0:(this.onStepComplete&&this.runtime.safeCall(this.onStepComplete),this.loopIndex++,this.elapsed=0,this.restoreInitial(),!1)}step(e){!this.playing||this.paused||this.killed||this._advance(e,this.loops<0?-1:this.loopCount)&&(this.onStepComplete&&this.runtime.safeCall(this.onStepComplete),this.finish(!0))}finish(e){this.playing=!1,this.killed=!0,e&&(this.completed=!0),this.runtime.tweens.delete(this),this.runtime.animations.delete(this),e&&this.onComplete&&this.runtime.safeCall(this.onComplete)}},Tr=class{constructor(e){this.runtime=e,this.steps=[],this.playing=!1,this.paused=!1,this.killed=!1,this.dead=!1,this.completed=!1,this.elapsed=0,this.loops=1,this.loopIndex=0,this.onComplete=null,this.onStepComplete=null,this._entries=null}Append(e){return this.steps.push({kind:"tween",tween:e,parallel:!1}),this}AppendInterval(e){return this.steps.push({kind:"interval",duration:e}),this}AppendCallback(e){return this.steps.push({kind:"callback",fn:e}),this}Join(e){return this.steps.push({kind:"tween",tween:e,parallel:!0}),this}Insert(e,i){return this.steps.push({kind:"insert",time:e,tween:i}),this}InsertCallback(e,i){return this.steps.push({kind:"insertCb",time:e,fn:i}),this}Play(){return this.dead?this:this.playing?(this.paused=!1,this):this._play()}_play(){return this.playing=!0,this.paused=!1,this.killed=!1,this.completed=!1,this.elapsed=0,this.loopIndex=0,this._schedule(),this.runtime.sequences.add(this),this.runtime.animations.add(this),this}_schedule(){let e=0,i=0,r=!1,n=[],o=s=>s.duration*s.loopCount;for(let s of this.steps)if(s.kind==="tween"&&s.parallel){let a=r?i:e;n.push({at:a,tween:s.tween}),e=Math.max(e,a+o(s.tween))}else s.kind==="tween"?(n.push({at:e,tween:s.tween}),i=e,r=!0,e+=o(s.tween)):s.kind==="interval"?(i=e,r=!0,e+=s.duration):s.kind==="callback"?n.push({at:e,fn:s.fn}):s.kind==="insert"?(n.push({at:s.time,tween:s.tween}),e=Math.max(e,s.time+o(s.tween))):s.kind==="insertCb"&&(n.push({at:s.time,fn:s.fn}),e=Math.max(e,s.time));this._entries=n.map((s,a)=>({...s,index:a,end:s.tween?s.at+o(s.tween):s.at})),this._end=e,this._resetEntries()}_resetEntries(){for(let e of this._entries)e.started=!1,e.done=!1}_startChild(e){e.started=!0,e.tween._begin(!!e.tween.initialFrom)}_finishChild(e){e.done=!0,e.tween.apply(1),e.tween.onStepComplete&&this.runtime.safeCall(e.tween.onStepComplete),e.tween.finish(!0)}_advanceTo(e,i){let r=this._entries,n=[];for(let s of r)!s.started&&s.at<=e+Ya&&n.push({at:s.at,rank:s.fn?1:2,entry:s}),s.tween&&!s.done&&s.end<=e+Ya&&n.push({at:s.end,rank:0,entry:s});n.sort((s,a)=>s.at-a.at||s.rank-a.rank||s.entry.index-a.entry.index);let o=new Set;for(let{rank:s,entry:a}of n)if(s===1){if(a.started=!0,this.runtime.safeCall(a.fn),!this.playing||this.killed||this._entries!==r)return!1}else a.started||(this._startChild(a),o.add(a)),s===0&&!a.done&&this._finishChild(a);for(let s of r)!s.tween||!s.started||s.done||(o.has(s)?s.tween._advance(e-s.at,s.tween.loopCount):s.tween._advance(i,s.tween.loopCount));return!0}step(e){!this.playing||this.paused||this.killed||(this.elapsed+=e,this._advanceTo(this.elapsed,e)&&(this.elapsed+Ya<this._end||(this.onStepComplete&&this.runtime.safeCall(this.onStepComplete),this.loopIndex++,this.loops<0||this.loopIndex<this.loops?(this.elapsed=0,this._resetEntries()):this.finish(!0))))}Pause(){this.paused=!0}Resume(){this.paused=!1}Restart(){this.dead||this._play()}Complete(){this.dead||this.completed||(this._entries||this._schedule(),this.playing=!0,this.killed=!1,this._advanceTo(1/0,0)&&(this.onStepComplete&&this.runtime.safeCall(this.onStepComplete),this.finish(!0)))}Kill(e){e?this.Complete():this.finish(!1),this.dead=!0}SetOnComplete(e){return this.onComplete=e,this}SetOnStepComplete(e){return this.onStepComplete=e,this}SetLoops(e){return this.loops=e,this}finish(e){this.playing=!1,this.killed=!0,e&&(this.completed=!0),this.runtime.sequences.delete(this),this.runtime.animations.delete(this),e&&this.onComplete&&this.runtime.safeCall(this.onComplete)}};var Oo={EaseType:["Linear","InSine","OutSine","InOutSine","InQuad","OutQuad","InOutQuad","InCubic","OutCubic","InOutCubic","InQuart","OutQuart","InOutQuart","InQuint","OutQuint","InOutQuint","InExpo","OutExpo","InOutExpo","InCirc","OutCirc","InOutCirc","InBack","OutBack","InOutBack","InElastic","OutElastic","InOutElastic","InBounce","OutBounce","InOutBounce"],CustomVariableEntityType:["Level","PlayerSelf","AvatarSelf"],Device:["KeyboardAndMouse","Mobile","Controller","MobileController"],StageMode:["Beyond","Classic"],LanguageType:["LanguageNone","LanguageEng","LanguageChs","LanguageCht","LanguageFra","LanguageDeu","LanguageSpa","LanguagePor","LanguageRus","LanguageJpn","LanguageKor","LanguageTha","LanguageVie","LanguageInd","LanguageTur","LanguageIta"],ParamType:["Entity","EntityList","Int","IntList","Bool","BoolList","Float","FloatList","String","StringList","Vector3","Vector3List","Guid","GuidList","ConfigId","PrefabId","ConfigIdList","PrefabIdList"],CursorEventType:["CursorDown","CursorUp","CursorEnter","CursorExit","CursorDrag","CursorBeginDrag","CursorEndDrag","CursorClick"],ScrollDirection:["Horizontal","Vertical"],ScrollLayoutConstraint:["AutoWrap","Fixed"],ScrollAlignType:["Bottom","Center","Top"],ControllerNavigationDir:["Up","Down","Left","Right"],ControllerNavigationEventType:["Confirm","Cancel","Focus","LostFocus","RightStickUp","RightStickDown","RightStickRight","RightStickLeft","LeftStickUp","LeftStickDown","LeftStickRight","LeftStickLeft"],ControllerNavigationMode:["None","NearestControl","Specified"],TextHorizontalAlignment:["Left","Middle","Right"],TextVerticalAlignment:["Top","Middle","Bottom"],ImageType:["Basic","Stretch"],ImageSource:["StaticReference","Item","Equipment","Skill","UnitStatus","Faction","Currency","Prefab"],ImageFillType:["Unused","Horizontal","Vertical","Radial90","Radial180","Radial360"],ImageFillHorizontalType:["Left","Right"],ImageFillVerticalType:["Bottom","Top"],ImageFillRadial90Type:["BottomLeft","TopLeft","TopRight","BottomRight"],ImageFillRadialType:["Bottom","Left","Top","Right"],ImageMaskSoftEdgeMode:["Percentage","Pixel"],UIAnimationLayer:["AboveAllControls","BelowAllControls"]},Hy=[...Array.from({length:43},(t,e)=>`CraftspersonKey${e+1}`),"MoveForwardKey","MoveBackwardKey","MoveLeftKey","MoveRightKey","SwitchToWalkOrRunKey","SprintKey","JumpKey","DropKey","OpenShortcutWheelKey","InteractKey","NormalAttackKey","CharacterSkill1Key","CharacterSkill2Key","CharacterSkill3Key","CharacterSkill4Key","None"],Yy=[...Array.from({length:14},(t,e)=>`CraftspersonKey${e+1}`),"SprintKey","JumpKey","InteractKey","NormalAttackKey","CharacterSkill1Key","CharacterSkill2Key","CharacterSkill3Key","CharacterSkill4Key","MenuConfirmKey","MenuBackKey","None"];function Xy(){let t=[];for(let e of["Down","Up"]){for(let i=1;i<=43;i++)t.push(`KeyboardCraftspersonKey${i}${e}`);for(let i of["MoveForwardKey","MoveBackwardKey","MoveLeftKey","MoveRightKey","SwitchToWalkOrRunKey","SprintKey","JumpKey","DropKey","OpenShortcutWheelKey","InteractKey","NormalAttackKey","CharacterSkill1Key","CharacterSkill2Key","CharacterSkill3Key","CharacterSkill4Key"])t.push(`Keyboard${i}${e}`);for(let i=1;i<=14;i++)t.push(`ControllerCraftspersonKey${i}${e}`);for(let i of["SprintKey","JumpKey","InteractKey","NormalAttackKey","CharacterSkill1Key","CharacterSkill2Key","CharacterSkill3Key","CharacterSkill4Key","MenuConfirmKey","MenuBackKey"])t.push(`Controller${i}${e}`)}return t}Oo.KeyboardKeyCode=Hy;Oo.ControllerKeyCode=Yy;Oo.KeyEventType=Xy();var Pd=new Map;function Bi(t,e){let i=`${t}\0${e}`,r=Pd.get(i);return r||(r={__kind:"EnumItem",Name:e,FullName:`Enum.${t}.${e}`,EnumType:t},Pd.set(i,r)),r}function Xa(t,e){return e==null?e:e.__kind==="EnumItem"?Bi(e.EnumType||t,e.Name):typeof e=="string"&&e?Bi(t,e):e}function Wa(){let t={};for(let[e,i]of Object.entries(Oo)){let r={};for(let n of i)r[n]=Bi(e,n);t[e]=r}return t}var Wy=new Set(["Id","prefabIndex","imageId","fontSize","minimumFontSize","clickAudioId","itemCount","itemPrefabIndex","animationId","referencedPrefabIndex"]),Ky=new Set(["imageColor","fontColor","bgColor","outlineColor"]),Md={horizontalAlignment:"TextHorizontalAlignment",verticalAlignment:"TextVerticalAlignment",imageSource:"ImageSource",imageType:"ImageType",fillType:"ImageFillType",fillHorizontalType:"ImageFillHorizontalType",fillVerticalType:"ImageFillVerticalType",fillRadial90Type:"ImageFillRadial90Type",fillRadialType:"ImageFillRadialType",softEdgeMode:"ImageMaskSoftEdgeMode",layer:"UIAnimationLayer",scrollDirection:"ScrollDirection",layoutConstraint:"ScrollLayoutConstraint"},ji=p.LUA_REGISTRYINDEX,Fd=p.LUA_MULTRET,Jy=Object.freeze({InstantiateClientUIControl:2,DestroyClientUIControl:1,GetClientUIControl:1,FindClientUIRoot:1,GetClientUIRoots:0,GetUICanvasSize:0,GetCursorUIPos:0,GetDevice:0,SetControllerFocus:1,GetControllerFocus:0,GetControllerLeftStickAxis:0,GetControllerRightStickAxis:0,Tween:3,TweenSequence:0,ServerSignal:1,GetGlobalCustomVariableValue:2,PauseLevelTime:1,IsLevelTimePaused:0,PlayAudio2D:1,StopAudio:1,IsAudioAlive:1,GetLanguageType:0,GetStageMode:0,IsTestPlay:0,GetText:1,PrintClientUITree:0});function et(t){return t==null?"":typeof t=="string"?t:t.Name||t.FullName||String(t)}var No=class{constructor(e={}){this.canvasWidth=e.canvasWidth??1600,this.canvasHeight=e.canvasHeight??900,this.device=e.device??"KeyboardAndMouse",this.language=e.language??"LanguageChs",this.stageMode=e.stageMode??"Classic",this.testPlay=e.testPlay!==!1,this.canSelectImageType=e.canSelectImageType||(()=>!1),this.clock={time:0,levelTime:0,paused:!1,frame:0},this.logs=[],this.mountErrors=[],this.tweens=new Set,this.sequences=new Set,this.animations=new Set,this.audios=new Map,this.nextAudioId=1,this.audioDuration=e.audioDuration||(()=>null),this.audioHistory=[],this.audioWarnings=new Set,this.audioRevision=0,this._nextControlId=1,this._playRemoved=[],this._nextScriptMappingId=1,this.lifecyclePhase="idle",this.controlsById=new Map,this.roots=[],this.templates=new Map,this.scriptFiles=new Map,this.requireAliases=new Map,this.requireCache=new Map,this.moduleBaseEnvironments=new Map,this.luaFunctions=new Map,this.mountedScripts=[],this.serverVars={Level:Object.create(null),PlayerSelf:Object.create(null),AvatarSelf:Object.create(null)},this.serverBridge=null,this.varHandlers=[],this.signalHandlers=[],this.cursor={x:0,y:0},this.focus=null,this.stick={left:[0,0],right:[0,0]},this.enumTree=Wa(),this.luaStates=new Set,this.L=null}nextControlId(){let e=this._nextControlId;return this._nextControlId+=1,e}resolveScriptMappingId(e){let i=Number(e);if(Number.isSafeInteger(i)&&i>0)return this._nextScriptMappingId=Math.max(this._nextScriptMappingId,i+1),i;let r=this._nextScriptMappingId;return this._nextScriptMappingId+=1,r}pushPackedColor(e,i){let r=i>>>0;(r|0)===r?p.lua_pushinteger(e,r):p.lua_pushnumber(e,r)}retainLuaCallback(e){wd(e)}unrefLuaCallback(e){Sd(this,e)}log(e,...i){let r=i.map(n=>n==null?"nil":typeof n=="object"&&n!==null&&n.__kind==="EnumItem"?n.Name:String(n)).join(" ");this.logs.push({level:e,text:r,time:this.clock.time})}safeCall(e,...i){try{return e(...i)}catch(r){this.log("lua-error",r&&r.message?r.message:String(r))}}scriptCanRun(e){if(!e?.alive||!e.enabled)return!1;let i=e.object;return!i||i.alive&&i.activeInHierarchy}cursorEventsEnabled(e){for(let i=e;i;i=i.parent)if(i.kind==="container"&&i.showCursor===!0)return!0;return!1}registerTemplate(e,i){this.templates.set(Number(e),i)}registerScriptFile(e,i){let r=this.normalizeRequirePath(e);this.scriptFiles.set(r,i),r.startsWith("default_import_file/")||this.requireAliases.set(`default_import_file/${r}`,r)}normalizeRequirePath(e){let i=String(e).replace(/\\/g,"/");return i.endsWith(".lua")&&(i=i.slice(0,-4)),i=i.replace(/\./g,"/"),i}addRoot(e){let i=e instanceof Ii?e:new Ii(this,e);return this.roots.push(i),Gt(i,r=>this.controlsById.set(r.Id,r)),this.mountSpecScripts(e,i),i}mountSpecScripts(e,i){if(e instanceof Ii)return;let r=o=>(o.scripts?.length||0)>0||(o.children||[]).some(r);if(!e||!r(e))return;let n=this.lifecyclePhase;try{let o=(s,a)=>{for(let u of s.scripts||[])try{this.mountScript({path:u.path,source:u.source,control:a,scriptMappingId:u.scriptMappingId})}catch(c){let f=c&&c.message?c.message:String(c);this.mountErrors.push(f),this.log("lua-error",f)}let l=s.children||[];for(let u=0;u<l.length;u+=1)o(l[u],a?.children?.[u])};o(e,i)}finally{this.lifecyclePhase=n}}makeCursorEventData({x:e=0,y:i=0,pressX:r=e,pressY:n=i,deltaX:o=e-r,deltaY:s=i-n,dragging:a=!1,touchId:l=-1}={}){let u=this;return{__kind:"CursorEventData",typeofName:"CursorEventData",dragging:a,touchId:l,x:e,y:i,pressX:r,pressY:n,GetUIPos(){return[e,i]},GetPressUIPos(){return[r,n]},GetUIPosDelta(){return[o,s]}}}boot(){let e=this.newLuaThread();this.L=e}installGlobals(e){let i=this;p.lua_pushcfunction(e,r=>{let n=p.lua_gettop(r),o=[];for(let s=1;s<=n;s++)o.push(Xe(r,i,s));return i.log("info",...o),0}),p.lua_setglobal(e,q("print")),p.lua_pushcfunction(e,r=>{let n=p.lua_gettop(r),o=[];for(let s=1;s<=n;s++)o.push(Xe(r,i,s));return i.log("error",...o),0}),p.lua_setglobal(e,q("printerr")),p.lua_pushcfunction(e,r=>{if(p.lua_type(r,1)===p.LUA_TTABLE&&!ii(r,1))return p.lua_pushstring(r,q("table")),1;let n=Xe(r,i,1);return p.lua_pushstring(r,q(i.typeofOf(n))),1}),p.lua_setglobal(e,q("typeof")),this.pushColorLib(e),this.pushEnumLib(e),this.pushGameLib(e),p.lua_pushcfunction(e,r=>i.luaRequire(r)),p.lua_setglobal(e,q("require"))}typeofOf(e){return e==null?"nil":e.__kind==="Script"?"Script":e.__kind==="EnumItem"?"EnumItem":e.__kind==="CursorEventData"?"CursorEventData":e.__kind==="ServerSignal"?"ServerSignal":e instanceof Tr?"TweenSequence":e instanceof cn?"Tween":e.typeofName?e.typeofName:typeof e=="number"?"number":typeof e=="string"?"string":typeof e=="boolean"?"boolean":typeof e}pushColorLib(e){p.lua_newtable(e),p.lua_pushcfunction(e,i=>(this.pushPackedColor(i,Ar(p.lua_tonumber(i,1),p.lua_tonumber(i,2),p.lua_tonumber(i,3),255)),1)),p.lua_setfield(e,-2,q("FromRGB")),p.lua_pushcfunction(e,i=>{let r=p.lua_isnoneornil(i,4)?255:p.lua_tonumber(i,4);return this.pushPackedColor(i,Ar(p.lua_tonumber(i,1),p.lua_tonumber(i,2),p.lua_tonumber(i,3),r)),1}),p.lua_setfield(e,-2,q("FromRGBA")),p.lua_pushcfunction(e,i=>{let r=p.lua_tonumber(i,1)>>>0;for(let n of un(r))p.lua_pushinteger(i,n);return 4}),p.lua_setfield(e,-2,q("ToRGBA")),p.lua_newtable(e),p.lua_pushcfunction(e,i=>{let r=p.lua_tonumber(i,2),n=p.lua_tonumber(i,3),o=p.lua_tonumber(i,4),s=p.lua_isnoneornil(i,5)?255:p.lua_tonumber(i,5);return this.pushPackedColor(i,Ar(r,n,o,s)),1}),p.lua_setfield(e,-2,q("__call")),p.lua_setmetatable(e,-2),p.lua_setglobal(e,q("Color"))}pushEnumLib(e){p.lua_newtable(e);for(let[i,r]of Object.entries(this.enumTree)){p.lua_newtable(e);for(let[n,o]of Object.entries(r))this.pushEnumItem(e,o),p.lua_setfield(e,-2,q(n));p.lua_setfield(e,-2,q(i))}p.lua_setglobal(e,q("Enum"))}pushEnumItem(e,i){let r=p.lua_newuserdata(e,0);qi(r,i),_e.luaL_setmetatable(e,q("EnumItem"))}pushControl(e,i){let r=p.lua_newuserdata(e,0);qi(r,i),_e.luaL_setmetatable(e,q("Control"))}pushScript(e,i){p.lua_newtable(e),p.lua_pushlightuserdata(e,ja);let r=p.lua_newuserdata(e,0);qi(r,i),p.lua_rawset(e,-3),_e.luaL_getmetatable(e,q("Script")),p.lua_setmetatable(e,-2)}pushTween(e,i){let r=p.lua_newuserdata(e,0);qi(r,i);let n=i instanceof Tr?"TweenSequence":"Tween";_e.luaL_setmetatable(e,q(n))}pushSignal(e,i){let r=p.lua_newuserdata(e,0);qi(r,i),_e.luaL_setmetatable(e,q("ServerSignal"))}pushCursor(e,i){let r=p.lua_newuserdata(e,0);qi(r,i),_e.luaL_setmetatable(e,q("CursorEventData"))}pushGameLib(e){let i=this;p.lua_newtable(e);let r={InstantiateClientUIControl:n=>{let o=p.lua_tointeger(n,1),s=lt(p.lua_touserdata(n,2)),a=i.instantiate(o,s,i.lifecyclePhase);return a?(i.pushControl(n,a),1):(p.lua_pushnil(n),1)},DestroyClientUIControl:n=>{let o=lt(p.lua_touserdata(n,1));return o&&i.destroyControl(o),0},GetClientUIControl:n=>{let o=p.lua_tointeger(n,1),s=i.controlsById.get(o);return s?i.pushControl(n,s):p.lua_pushnil(n),1},FindClientUIRoot:n=>{let o=Ce(n,1),s=i.roots.find(a=>a.name===o);return s?i.pushControl(n,s):p.lua_pushnil(n),1},GetClientUIRoots:n=>(p.lua_createtable(n,i.roots.length,0),i.roots.forEach((o,s)=>{i.pushControl(n,o),p.lua_rawseti(n,-2,s+1)}),1),GetUICanvasSize:n=>(p.lua_pushnumber(n,i.canvasWidth),p.lua_pushnumber(n,i.canvasHeight),2),GetCursorUIPos:n=>(p.lua_pushnumber(n,i.cursor.x),p.lua_pushnumber(n,i.cursor.y),2),GetDevice:n=>(i.pushEnumItem(n,Bi("Device",i.device)),1),SetControllerFocus:n=>(i.focus=lt(p.lua_touserdata(n,1)),0),GetControllerFocus:n=>(i.focus?i.pushControl(n,i.focus):p.lua_pushnil(n),1),GetControllerLeftStickAxis:n=>(p.lua_pushnumber(n,i.stick.left[0]),p.lua_pushnumber(n,i.stick.left[1]),2),GetControllerRightStickAxis:n=>(p.lua_pushnumber(n,i.stick.right[0]),p.lua_pushnumber(n,i.stick.right[1]),2),Tween:n=>{let o=lt(p.lua_touserdata(n,1))||Xe(n,i,1),s=Xe(n,i,2)||{},a=p.lua_tonumber(n,3),l=new cn(i,o,s,a);return i.pushTween(n,l),1},TweenSequence:n=>(i.pushTween(n,new Tr(i)),1),ServerSignal:n=>{let o=Ce(n,1);return i.pushSignal(n,i.makeServerSignal(o)),1},GetGlobalCustomVariableValue:n=>{let o=et(Xe(n,i,1)),s=Ce(n,2);return Le(n,i,i.getVar(o,s)),1},PauseLevelTime:n=>(i.clock.paused=!!p.lua_toboolean(n,1),0),IsLevelTimePaused:n=>(p.lua_pushboolean(n,i.clock.paused),1),PlayAudio2D:n=>{let o=i.playAudio(i.audioInteger(n));return p.lua_pushinteger(n,o),1},StopAudio:n=>(i.stopAudio(i.audioInteger(n)),0),IsAudioAlive:n=>{let o=i.audios.get(i.audioInteger(n));return p.lua_pushboolean(n,!!(o&&o.alive)),1},GetLanguageType:n=>(i.pushEnumItem(n,Bi("LanguageType",i.language)),1),GetStageMode:n=>(i.pushEnumItem(n,Bi("StageMode",i.stageMode)),1),IsTestPlay:n=>(p.lua_pushboolean(n,i.testPlay),1),GetText:n=>{let o=Ce(n,1);return p.lua_pushstring(n,q(o)),1},PrintClientUITree:n=>{for(let o of i.roots)i.log("info",Ha(o).join(`
|
|
124
|
-
`));return 0}};for(let[n,o]of Object.entries(r)){let s=Jy[n];if(s===void 0)throw new Error(`missing game arity for ${n}`);p.lua_pushcfunction(e,a=>{let l=p.lua_gettop(a);return l!==s?_e.luaL_error(a,q(`bad argument count to '${n}' (${s} expected, got ${l})`)):o(a)}),p.lua_setfield(e,-2,q(n))}p.lua_setglobal(e,q("game"))}makeServerSignal(e){let i=[],r=this;return{__kind:"ServerSignal",name:e,AddParam(n,o){i.push({type:et(n),value:o})},AddInt(n){i.push({type:"Int",value:n})},AddIntList(n){i.push({type:"IntList",value:n})},AddFloat(n){i.push({type:"Float",value:n})},AddFloatList(n){i.push({type:"FloatList",value:n})},AddString(n){i.push({type:"String",value:n})},AddStringList(n){i.push({type:"StringList",value:n})},AddVector3(n){i.push({type:"Vector3",value:n})},AddVector3List(n){i.push({type:"Vector3List",value:n})},AddBool(n){i.push({type:"Bool",value:n})},AddBoolList(n){i.push({type:"BoolList",value:n})},AddGuid(n){i.push({type:"Guid",value:n})},AddGuidList(n){i.push({type:"GuidList",value:n})},AddEntity(n){i.push({type:"Entity",value:n})},AddEntityList(n){i.push({type:"EntityList",value:n})},AddPrefabId(n){i.push({type:"PrefabId",value:n})},AddPrefabIdList(n){i.push({type:"PrefabIdList",value:n})},AddConfigId(n){i.push({type:"ConfigId",value:n})},AddConfigIdList(n){i.push({type:"ConfigIdList",value:n})},SendSignal(){let n=i.slice();r.serverBridge&&typeof r.serverBridge.receiveFromClient=="function"&&r.serverBridge.receiveFromClient(e,n)}}}audioInteger(e){let i=p.lua_tonumber(e,1);return p.lua_type(e,1)!==p.LUA_TNUMBER||!Number.isSafeInteger(i)?_e.luaL_error(e,q("audio argument must be an integer")):i}playAudio(e){this.audioRevision++;let i=this.nextAudioId++,r=this.audioDuration(e),n=Number.isFinite(r)&&r>0,o={instanceId:i,audioId:e,startedAt:this.clock.time,duration:n?r:0,alive:n,stopped:!1};return this.audioHistory.push(o),this.audioHistory.length>128&&this.audioHistory.shift(),n?(this.audios.size>=128&&this.stopAudio(this.audios.keys().next().value),this.audios.set(i,o)):this.audioWarnings.has(e)||(this.audioWarnings.size>=128&&this.audioWarnings.delete(this.audioWarnings.values().next().value),this.audioWarnings.add(e),this.log("warn",`\u97F3\u6548 ${e} \u672A\u5217\u5165\u6A21\u62DF\u5668\u97F3\u9891\u767D\u540D\u5355`)),i}stopAudio(e){let i=this.audios.get(e)||this.audioHistory.find(r=>r.instanceId===e);i&&!i.stopped&&(i.alive=!1,i.stopped=!0,this.audioRevision++),this.audios.delete(e)}audioSnapshot(){return{sequence:this.nextAudioId-1,revision:this.audioRevision,active:[...this.audios.values()].map(e=>({...e})),recent:this.audioHistory.map(e=>({...e}))}}instantiate(e,i,r){if(r==="OnInit"||r==="OnDestroy")return null;let n=this.templates.get(Number(e));if(!n||!i)return null;let o=new Ii(this,{...n,Id:this.nextControlId(),authoringId:null,prefabIndex:Number(e)});return i.addChild(o),o.SetAsLastSibling(),Gt(o,s=>this.controlsById.set(s.Id,s)),this.mountSpecScripts(n,o),o}destroyControl(e){if(!(!e||!e.alive)){if(e._destroying)throw new Error(`\u5BA2\u6237\u7AEF\u63A7\u4EF6\u751F\u547D\u5468\u671F\u5904\u4E8E\u521B\u5EFA\u6216\u9500\u6BC1\u65F6\uFF0C\u65E0\u6CD5\u8C03\u7528DestroyClientUIControl, ID:${e.name}`);Gt(e,i=>{i._destroying=!0}),this._destroyControlTree(e)}}_destroyControlTree(e){this.releaseControlListeners(e);for(let i of e.scripts.slice())this.unmountScript(i);for(let i of e.children.slice())this._destroyControlTree(i);if(e.alive=!1,this.scrollControls?.delete(e),this._playRemoved.push(e.Id),e.parent){let i=e.parent,r=i.children.indexOf(e);r>=0&&i.children.splice(r,1),e._parent=null,i.markPlayDirty(!0)}else{let i=this.roots.indexOf(e);i>=0&&this.roots.splice(i,1)}this.controlsById.delete(e.Id),this.focus===e&&(this.focus=null);for(let i of[...this.tweens])i.object===e&&i.Kill(!1)}releaseControlListeners(e){for(let i of e.cursorListeners.values())for(let r of i)this.unrefLuaCallback(r);for(let i of e.keyListeners.values())for(let r of i)this.unrefLuaCallback(r);for(let i of e.navListeners.values())for(let r of i)this.unrefLuaCallback(r);e.cursorListeners.clear(),e.keyListeners.clear(),e.navListeners.clear(),e.navConfig.clear()}onControlActiveChanging(e,i){let r=[];Gt(e,n=>r.push({control:n,was:n.activeInHierarchy})),e.active=!!i,e.markPlayDirty(!0);for(let n of r){let o=n.control.activeInHierarchy;if(n.was!==o)for(let s of n.control.scripts.slice())o?this.enableScript(s):this.disableScript(s)}}bindScriptEnv(e){let i=e.env;return i?(this.pushScript(i,e),p.lua_setglobal(i,q("script")),i):null}disableScript(e){if(!e?.alive||!e.env||e.lifecyclePhase!=="running")return;let i=this.lifecyclePhase;this.lifecyclePhase="OnDisable",e.lifecyclePhase="OnDisable",this.bindScriptEnv(e),this.callGlobal(e.env,"OnDisable"),e.lifecyclePhase="disabled",this.lifecyclePhase=i}enableScript(e){if(!e?.alive||!e.env||e.lifecyclePhase!=="disabled")return;let i=this.lifecyclePhase;this.lifecyclePhase="OnEnable",e.lifecyclePhase="OnEnable",this.bindScriptEnv(e),this.callGlobal(e.env,"OnEnable"),e.lifecyclePhase="running",this.lifecyclePhase=i}unmountScript(e){if(!e||!e.alive)return;let i=e.env,r=this.lifecyclePhase;i&&(e.lifecyclePhase==="running"&&(this.lifecyclePhase="OnDisable",e.lifecyclePhase="OnDisable",this.bindScriptEnv(e),this.callGlobal(i,"OnDisable")),this.lifecyclePhase="OnDestroy",e.lifecyclePhase="OnDestroy",this.bindScriptEnv(e),this.callGlobal(i,"OnDestroy")),e.alive=!1,e.lifecyclePhase="destroyed",this.lifecyclePhase=r,this.mountedScripts=this.mountedScripts.filter(n=>n!==e),e.object&&(e.object.scripts=e.object.scripts.filter(n=>n!==e)),this.varHandlers=this.varHandlers.filter(n=>n.script!==e),this.signalHandlers=this.signalHandlers.filter(n=>n.script!==e),i&&i!==this.L&&this.closeTrackedLuaState(i),e.env=null}installMetatables(e){this.mtEnum(e),this.mtControl(e),this.mtScript(e),this.mtTween(e),this.mtSeq(e),this.mtSignal(e),this.mtCursor(e)}mtIndexNewindex(e,i,r,n,o,s){_e.luaL_newmetatable(e,q(i)),p.lua_pushcfunction(e,a=>{let l=ii(a,1)||lt(p.lua_touserdata(a,1)),u=Ce(a,2);if(o[u]&&(!s||s(l,u)))return p.lua_pushcfunction(a,o[u]),1;let c;try{c=r(l,u)}catch(f){return _e.luaL_error(a,q(String(f.message||f)))}return c===void 0?(p.lua_pushnil(a),1):(Le(a,this,c),1)}),p.lua_setfield(e,-2,q("__index")),p.lua_pushcfunction(e,a=>{try{let l=ii(a,1)||lt(p.lua_touserdata(a,1)),u=Ce(a,2),c=Xe(a,this,3);return n(l,u,c),0}catch(l){return p.lua_pushstring(a,q(String(l.message||l))),p.lua_error(a)}}),p.lua_setfield(e,-2,q("__newindex")),p.lua_pushcfunction(e,a=>{let l=ii(a,1)||lt(p.lua_touserdata(a,1)),u=ii(a,2)||lt(p.lua_touserdata(a,2));return p.lua_pushboolean(a,l===u),1}),p.lua_setfield(e,-2,q("__eq")),p.lua_pop(e,1)}method(e){let i=this;return r=>{let n=ii(r,1)||lt(p.lua_touserdata(r,1)),o=p.lua_gettop(r),s=[];for(let a=2;a<=o;a++)s.push(Xe(r,i,a));try{let a=e(n,...s);if(a===n)return p.lua_pushvalue(r,1),1;if(a===void 0)return 0;if(Array.isArray(a)&&a.__multi){for(let l of a)Le(r,i,l);return a.length}if(Array.isArray(a)&&!(a.length&&typeof a[0]=="object"&&a[0]?.typeofName)){if(a.__controls)return p.lua_createtable(r,a.length,0),a.forEach((l,u)=>{i.pushControl(r,l),p.lua_rawseti(r,-2,u+1)}),1;if(a.__scripts)return p.lua_createtable(r,a.length,0),a.forEach((l,u)=>{i.pushScript(r,l),p.lua_rawseti(r,-2,u+1)}),1;if(typeof a[0]=="number"&&a.length<=4){for(let l of a)p.lua_pushnumber(r,l);return a.length}}return Le(r,i,a),1}catch(a){return p.lua_pushstring(r,q(String(a.message||a))),p.lua_error(r)}}}mtEnum(e){let i=new Set(["Name","FullName","EnumType"]);this.mtIndexNewindex(e,"EnumItem",(r,n)=>i.has(n)?r[n]:void 0,(r,n)=>{throw new Error(`cannot set ${n}, no such field`)},{})}mtCursor(e){let i=new Set(["dragging","touchId"]);this.mtIndexNewindex(e,"CursorEventData",(r,n)=>i.has(n)?r[n]:void 0,(r,n)=>{throw new Error(`cannot set ${n}, no such field`)},{GetUIPos:this.method(r=>r.GetUIPos()),GetPressUIPos:this.method(r=>r.GetPressUIPos()),GetUIPosDelta:this.method(r=>r.GetUIPosDelta())})}mtControl(e){let i=this.method((n,o)=>n.SetVisible(o)),r={GetChildren:this.method(n=>{let o=n.GetChildren();return o.__controls=!0,o}),GetChild:this.method((n,o)=>n.GetChild(o)),FindChild:this.method((n,o)=>n.FindChild(o)),SetActive:this.method((n,o)=>n.SetActive(o)),SetVisible:n=>p.lua_isboolean(n,2)?i(n):_e.luaL_error(n,q("bad argument #2 to 'SetVisible' (boolean expected, got %s)"),_e.luaL_typename(n,2)),GetSiblingIndex:this.method(n=>n.GetSiblingIndex()),SetSiblingIndex:this.method((n,o)=>n.SetSiblingIndex(o)),SetAsFirstSibling:this.method(n=>n.SetAsFirstSibling()),SetAsLastSibling:this.method(n=>n.SetAsLastSibling()),GetAnchoredPosition:this.method(n=>n.GetAnchoredPosition()),SetAnchoredPosition:this.method((n,o,s)=>n.SetAnchoredPosition(o,s)),GetSizeDelta:this.method(n=>n.GetSizeDelta()),SetSizeDelta:this.method((n,o,s)=>n.SetSizeDelta(o,s)),GetAnchorMin:this.method(n=>n.GetAnchorMin()),SetAnchorMin:this.method((n,o,s)=>n.SetAnchorMin(o,s)),GetAnchorMax:this.method(n=>n.GetAnchorMax()),SetAnchorMax:this.method((n,o,s)=>n.SetAnchorMax(o,s)),GetPivot:this.method(n=>n.GetPivot()),SetPivot:this.method((n,o,s)=>n.SetPivot(o,s)),GetLocalScale:this.method(n=>n.GetLocalScale()),SetLocalScale:this.method((n,o,s,a)=>n.SetLocalScale(o,s,a)),GetLocalRotation:this.method(n=>n.GetLocalRotation()),SetLocalRotation:this.method((n,o,s,a)=>n.SetLocalRotation(o,s,a)),GetScriptByPath:this.method((n,o)=>n.GetScriptByPath(o)),GetScript:this.method((n,o)=>n.GetScript(o)),GetScripts:this.method(n=>{let o=n.GetScripts();return o.__scripts=!0,o}),AddCursorEventListener:this.method((n,o,s)=>n.AddCursorEventListener(et(o),s)),RemoveCursorEventListener:this.method((n,o,s)=>n.RemoveCursorEventListener(et(o),s)),RemoveCursorEventListeners:this.method((n,o)=>n.RemoveCursorEventListeners(et(o))),RemoveAllCursorEventListeners:this.method(n=>n.RemoveAllCursorEventListeners()),SimulateCursorClick:this.method(n=>n.SimulateCursorClick()),AddKeyEventListener:this.method((n,o,s)=>n.AddKeyEventListener(et(o),s)),RemoveKeyEventListener:this.method((n,o,s)=>n.RemoveKeyEventListener(et(o),s)),RemoveKeyEventListeners:this.method((n,o)=>n.RemoveKeyEventListeners(et(o))),RemoveAllKeyEventListeners:this.method(n=>n.RemoveAllKeyEventListeners()),AddNavigationEventListener:this.method((n,o,s)=>n.AddNavigationEventListener(et(o),s)),RemoveNavigationEventListener:this.method((n,o,s)=>n.RemoveNavigationEventListener(et(o),s)),RemoveNavigationEventListeners:this.method((n,o)=>n.RemoveNavigationEventListeners(et(o))),RemoveAllNavigationEventListeners:this.method(n=>n.RemoveAllNavigationEventListeners()),SetControllerNavigation:this.method((n,o,s,a)=>n.SetControllerNavigation(et(o),s,a)),GetControllerNavigation:this.method((n,o)=>n.GetControllerNavigation(et(o))),SetImage:this.method((n,o,s)=>n.SetImage(o,s)),SetSoftEdgeWidth:this.method((n,o,s)=>n.SetSoftEdgeWidth(o,s)),SetFillUnused:this.method(n=>n.SetFillUnused()),SetFillHorizontal:this.method((n,o,s)=>n.SetFillHorizontal(o,s)),SetFillVertical:this.method((n,o,s)=>n.SetFillVertical(o,s)),SetFillRadial90:this.method((n,o,s)=>n.SetFillRadial90(o,s)),SetFillRadial180:this.method((n,o,s)=>n.SetFillRadial180(o,s)),SetFillRadial360:this.method((n,o,s)=>n.SetFillRadial360(o,s)),PlayAnimation:this.method(n=>n.PlayAnimation()),StopAnimation:this.method(n=>n.StopAnimation()),RefreshItems:this.method((n,o,s)=>{this.retainLuaCallback(s);try{n.RefreshItems(o,s)}finally{this.unrefLuaCallback(s)}}),GetItemIndex:this.method((n,o)=>n.GetItemIndex(o)),GetItemSize:this.method(n=>n.GetItemSize()),GetItemSpacing:this.method(n=>n.GetItemSpacing()),GetPadding:this.method(n=>n.GetPadding()),ScrollToItemAt:this.method((n,o,s)=>n.ScrollToItemAt(o,s)),GetContentLength:this.method(n=>n.GetContentLength())};this.mtIndexNewindex(e,"Control",(n,o)=>{if(!Ua(n,o))return;if(!n.alive&&o!=="alive")throw new Error(`attempt to read '${o}' of a destroyed control`);let s=n.luaFieldValue(o),a=Md[o];return a?Xa(a,s):typeof s=="number"&&!Wy.has(o)&&!Ky.has(o)?new sn(s):s},(n,o,s)=>{if(Ua(n,o)==="rw"){if((o==="fontSize"||o==="minimumFontSize")&&!Number.isInteger(s)){let u=s===null?"nil":typeof s;throw new Error(`bad argument #2 to '${o}' (integer expected, got ${u})`)}let l=Md[o];if(o==="imageType"&&(s?.EnumType!=="ImageType"||!["Basic","Stretch"].includes(s.Name)))throw new Error("imageType requires Enum.ImageType.Basic or Stretch");n[o]=l?Xa(l,s):s,typeof n.markPlayDirty=="function"&&n.markPlayDirty(Ao.has(o));return}throw new Error(`cannot set ${o}, no such field`)},r,Td)}mtScript(e){let i=this,r=new Set(["alive","scriptMappingId","object","path","enabled"]);this.mtIndexNewindex(e,"Script",(n,o)=>r.has(o)?n[o]:void 0,(n,o,s)=>{if(o==="enabled"){n.enabled=!!s;return}throw new Error(`cannot set ${o}, no such field`)},{GetParam:this.method((n,o)=>Object.prototype.hasOwnProperty.call(n.params,o)?n.params[o]:null),Invoke:n=>i.luaInvoke(n),EnableUpdate:this.method((n,o)=>{n.updateEnabled=!!o}),RegisterServerSignalHandler:this.method((n,o,s)=>{i.signalHandlers.push({script:n,name:o,fn:s})}),UnregisterServerSignalHandler:this.method((n,o)=>{i.signalHandlers=i.signalHandlers.filter(s=>!(s.script===n&&s.name===o))}),RegisterCustomVariableChangedHandler:this.method((n,o,s,a)=>{i.varHandlers.push({script:n,entityType:et(o),name:s,fn:a})}),UnregisterCustomVariableChangedHandler:this.method((n,o,s)=>{let a=et(o);i.varHandlers=i.varHandlers.filter(l=>!(l.script===n&&l.entityType===a&&l.name===s))})})}mtTween(e){this.mtIndexNewindex(e,"Tween",()=>{},()=>{},{SetEase:this.method((i,r)=>i.SetEase(r)),SetRelative:this.method((i,r)=>i.SetRelative(r)),Play:this.method(i=>i.Play()),Pause:this.method(i=>i.Pause()),Resume:this.method(i=>i.Resume()),Restart:this.method(i=>i.Restart()),Complete:this.method(i=>i.Complete()),Kill:this.method((i,r)=>i.Kill(r)),SetOnComplete:this.method((i,r)=>i.SetOnComplete(r)),SetOnStepComplete:this.method((i,r)=>i.SetOnStepComplete(r)),SetLoops:this.method((i,r)=>i.SetLoops(r))})}mtSeq(e){this.mtIndexNewindex(e,"TweenSequence",()=>{},()=>{},{Append:this.method((i,r)=>i.Append(r)),AppendInterval:this.method((i,r)=>i.AppendInterval(r)),AppendCallback:this.method((i,r)=>i.AppendCallback(r)),Join:this.method((i,r)=>i.Join(r)),Insert:this.method((i,r,n)=>i.Insert(r,n)),InsertCallback:this.method((i,r,n)=>i.InsertCallback(r,n)),Play:this.method(i=>i.Play()),Pause:this.method(i=>i.Pause()),Resume:this.method(i=>i.Resume()),Restart:this.method(i=>i.Restart()),Complete:this.method(i=>i.Complete()),Kill:this.method((i,r)=>i.Kill(r)),SetOnComplete:this.method((i,r)=>i.SetOnComplete(r)),SetOnStepComplete:this.method((i,r)=>i.SetOnStepComplete(r)),SetLoops:this.method((i,r)=>i.SetLoops(r))})}mtSignal(e){this.mtIndexNewindex(e,"ServerSignal",()=>{},()=>{},{AddParam:this.method((i,r,n)=>i.AddParam(r,n)),SendSignal:this.method(i=>i.SendSignal()),AddInt:this.method((i,r)=>i.AddInt(r)),AddIntList:this.method((i,r)=>i.AddIntList(r)),AddFloat:this.method((i,r)=>i.AddFloat(r)),AddFloatList:this.method((i,r)=>i.AddFloatList(r)),AddString:this.method((i,r)=>i.AddString(r)),AddStringList:this.method((i,r)=>i.AddStringList(r)),AddVector3:this.method((i,r)=>i.AddVector3(r)),AddVector3List:this.method((i,r)=>i.AddVector3List(r)),AddBool:this.method((i,r)=>i.AddBool(r)),AddBoolList:this.method((i,r)=>i.AddBoolList(r)),AddGuid:this.method((i,r)=>i.AddGuid(r)),AddGuidList:this.method((i,r)=>i.AddGuidList(r)),AddEntity:this.method((i,r)=>i.AddEntity(r)),AddEntityList:this.method((i,r)=>i.AddEntityList(r)),AddPrefabId:this.method((i,r)=>i.AddPrefabId(r)),AddPrefabIdList:this.method((i,r)=>i.AddPrefabIdList(r)),AddConfigId:this.method((i,r)=>i.AddConfigId(r)),AddConfigIdList:this.method((i,r)=>i.AddConfigIdList(r))})}luaRequire(e){let i=Ce(e,1),r=this.normalizeRequirePath(i),n=this.requireAliases.get(r)||r;p.lua_rawgeti(e,ji,p.LUA_RIDX_MAINTHREAD);let o=p.lua_tothread(e,-1);p.lua_pop(e,1);let s=this.requireCache.get(o);s||(s=new Map,this.requireCache.set(o,s));let a=s.get(n);if(a?.loading)return p.lua_pushstring(e,q(`failed to load script '${r}': cyclic require`)),p.lua_error(e);if(a&&a.ref!=null)return p.lua_rawgeti(e,ji,a.ref),1;let l=this.scriptFiles.get(n);if(l==null)return p.lua_pushstring(e,q(`failed to load script '${r}'`)),p.lua_error(e);let u=p.lua_gettop(e);s.set(n,{loading:!0});try{this.loadModule(e,o,n,l),p.lua_pushvalue(e,-1);let c=_e.luaL_ref(e,ji);return s.set(n,{ref:c}),1}catch(c){return s.delete(n),p.lua_settop(e,u),p.lua_pushstring(e,q(`failed to load script '${r}': ${c.message||c}`)),p.lua_error(e)}}newLuaThread(){let e=_e.luaL_newstate();return yd.luaL_openlibs(e),Id(e),this.installMetatables(e),this.installGlobals(e),this.luaStates.add(e),p.lua_pushglobaltable(e),this.copyLuaEnvironment(e,-1),p.lua_remove(e,-2),this.moduleBaseEnvironments.set(e,_e.luaL_ref(e,ji)),e}copyLuaEnvironment(e,i){let r=p.lua_absindex(e,i);p.lua_newtable(e);let n=p.lua_absindex(e,-1);for(p.lua_pushnil(e);p.lua_next(e,r)!==0;)p.lua_pushvalue(e,-2),p.lua_pushvalue(e,-2),p.lua_rawset(e,n),p.lua_pop(e,1);p.lua_pushvalue(e,n),p.lua_setfield(e,n,q("_G"))}closeTrackedLuaState(e){if(!e||!this.luaStates.has(e))return;for(let r of this.requireCache.get(e)?.values()||[])r.ref!=null&&_e.luaL_unref(e,ji,r.ref);this.requireCache.delete(e);let i=this.moduleBaseEnvironments.get(e);if(i!=null&&_e.luaL_unref(e,ji,i),this.moduleBaseEnvironments.delete(e),this.luaStates.delete(e),this.luaFunctions)for(let[r,n]of this.luaFunctions)n.__luaState===e&&this.luaFunctions.delete(r);xd(e)}loadModule(e,i,r,n){let o={__kind:"Script",alive:!0,scriptMappingId:this.resolveScriptMappingId(),object:null,path:r,enabled:!0,updateEnabled:!1,params:{},env:e,invoke(){}},s=String(n).replace(/^\uFEFF/,""),a=Co(s);if(_e.luaL_loadbuffer(e,a,a.length,q(`@${r}`))!==kt)throw new Error(Ce(e,-1));let u=p.lua_absindex(e,-1);if(p.lua_rawgeti(e,ji,this.moduleBaseEnvironments.get(i)),this.copyLuaEnvironment(e,-1),p.lua_remove(e,-2),this.pushScript(e,o),p.lua_setfield(e,-2,q("script")),p.lua_setupvalue(e,u,1),p.lua_pcall(e,0,1,0)!==kt)throw new Error(Ce(e,-1))}mountScript({path:e,source:i,control:r,params:n={},scriptMappingId:o=void 0}){this.L||this.boot();let s=this.newLuaThread(),a={__kind:"Script",alive:!0,scriptMappingId:this.resolveScriptMappingId(o),object:r,path:this.normalizeRequirePath(e),enabled:!0,updateEnabled:!1,params:n,env:s,lifecyclePhase:"idle"};a.invoke=(u,c)=>this.invokeOn(s,u,c),r&&r.scripts.push(a),this.mountedScripts.push(a),this.pushScript(s,a),p.lua_setglobal(s,q("script"));let l=this.lifecyclePhase;try{this.lifecyclePhase="OnInit",a.lifecyclePhase="OnInit",this.runChunk(s,i,e);let u=this.callGlobal(s,"OnInit");u&&this.mountErrors.push(u),this.lifecyclePhase="OnEnable",a.lifecyclePhase="OnEnable";let c=this.callGlobal(s,"OnEnable");c&&this.mountErrors.push(c),this.lifecyclePhase="OnStart",a.lifecyclePhase="OnStart";let f=this.callGlobal(s,"OnStart");return f&&this.mountErrors.push(f),this.lifecyclePhase="running",a.lifecyclePhase="running",a}catch(u){throw a.alive=!1,a.lifecyclePhase="failed",this.mountedScripts=this.mountedScripts.filter(c=>c!==a),r&&(r.scripts=r.scripts.filter(c=>c!==a)),this.varHandlers=this.varHandlers.filter(c=>c.script!==a),this.signalHandlers=this.signalHandlers.filter(c=>c.script!==a),this.lifecyclePhase=l,s&&s!==this.L&&this.closeTrackedLuaState(s),a.env=null,u}}runChunk(e,i,r){let n=String(i).replace(/^\uFEFF/,""),o=Co(n),s=_e.luaL_loadbuffer(e,o,o.length,q(`@${r}`));if(s!==kt){let l=Ce(e,-1)||`luaL_loadbuffer status ${s}`;throw p.lua_pop(e,1),new Error(l)}let a=p.lua_pcall(e,0,0,0);if(a!==kt){let l=Ce(e,-1)||`lua_pcall status ${a}`;throw p.lua_pop(e,1),new Error(l)}}callGlobal(e,i){if(p.lua_getglobal(e,q(i)),p.lua_isfunction(e,-1)){if(p.lua_pcall(e,0,0,0)!==kt){let n=Ce(e,-1);p.lua_pop(e,1);let o=`${i}: ${n}`;return this.log("lua-error",o),o}}else p.lua_pop(e,1);return null}callGlobalDt(e,i,r){if(p.lua_getglobal(e,q(i)),p.lua_isfunction(e,-1)){if(p.lua_pushnumber(e,r),p.lua_pcall(e,1,0,0)!==kt){let o=Ce(e,-1);p.lua_pop(e,1),this.log("lua-error",`${i}: ${o}`)}}else p.lua_pop(e,1)}luaInvoke(e){let i=ii(e,1);if(!i||i.__kind!=="Script")return _e.luaL_error(e,q("bad self to 'Invoke' (Script expected)"));let r=Ce(e,2),n=i.env;if(!n||n.l_G!==e.l_G){let l=[];for(let f=3;f<=p.lua_gettop(e);f++)l.push(Xe(e,this,f));let u;try{u=i.invoke(r,l)}catch(f){return _e.luaL_error(e,q(String(f.message||f)))}if(u===void 0)return 0;let c=Array.isArray(u)&&u.__multi?u:[u];for(let f of c)Le(e,this,f);return c.length}let o=2;if(p.lua_getglobal(e,q(r)),!p.lua_isfunction(e,-1))return 0;p.lua_replace(e,o),p.lua_remove(e,1);let s=p.lua_gettop(e)-1;return p.lua_pcall(e,s,Fd,0)!==kt?p.lua_error(e):p.lua_gettop(e)}invokeOn(e,i,r){let n=p.lua_gettop(e);if(p.lua_getglobal(e,q(i)),!p.lua_isfunction(e,-1)){p.lua_settop(e,n);return}for(let l of r)Le(e,this,l);if(p.lua_pcall(e,r.length,Fd,0)!==kt){let l=Ce(e,-1);throw p.lua_settop(e,n),new Error(l)}let s=p.lua_gettop(e)-n;if(s<=0){p.lua_settop(e,n);return}if(s===1){let l=Xe(e,this,-1);return p.lua_settop(e,n),l}let a=[];for(let l=1;l<=s;l++)a.push(Xe(e,this,n+l));return p.lua_settop(e,n),a.__multi=!0,a}runScriptPhase(e,i){for(let r of this.mountedScripts){if(!this.scriptCanRun(r))continue;let n=r.env;n&&(this.pushScript(n,r),p.lua_setglobal(n,q("script")),!(e==="OnUpdate"&&!r.updateEnabled)&&this.callGlobalDt(n,e,i))}}step(e=1/30){if(typeof e!="number"||!Number.isFinite(e)||e<0)throw new TypeError("dt must be a finite non-negative number");this.clock.frame++,this.clock.time+=e;for(let[r,n]of this.audios)this.clock.time+1e-9>=n.startedAt+n.duration&&(n.alive=!1,this.audios.delete(r),this.audioRevision++);let i=!this.clock.paused;for(let r of[...this.animations])r.step(e);this.runScriptPhase("OnUpdate",e),i&&(this.clock.levelTime+=e,this.runScriptPhase("OnLevelUpdate",e))}injectKey(e){let i=r=>{if(!r.alive||!r.activeInHierarchy)return!1;if(r.keyListeners.has(e)&&r.emitKey(e))return!0;for(let n of[...r.children])if(i(n))return!0;return!1};for(let r of[...this.roots])i(r)}injectCursor(e,i,r){let n=r||this.makeCursorEventData({});Number.isFinite(n.x)&&Number.isFinite(n.y)&&(this.cursor.x=n.x,this.cursor.y=n.y),e.emitCursor(i,n)}getVar(e,i){if(this.serverBridge&&typeof this.serverBridge.getVar=="function")return this.serverBridge.getVar(e,i);let r=this.serverVars[e];return r?r[i]:void 0}notifyVarHandlers(e,i){for(let r of this.varHandlers)this.scriptCanRun(r.script)&&r.entityType===e&&r.name===i&&this.safeCall(r.fn,this.enumTree.CustomVariableEntityType[e],i)}setVar(e,i,r){if(this.serverBridge&&typeof this.serverBridge.setVar=="function"){this.serverBridge.setVar(e,i,r);return}let n=this.serverVars[e]||(this.serverVars[e]=Object.create(null));n[i]=r,this.notifyVarHandlers(e,i)}sendClientSignal(e,i){for(let r of this.signalHandlers)this.scriptCanRun(r.script)&&r.name===e&&this.safeCall(r.fn,e,i)}evalQueryScript(e,i){this.L||this.boot();let r=this.L;p.lua_createtable(r,0,5);let n=(o,s)=>{p.lua_pushcfunction(r,s),p.lua_setfield(r,-2,q(o))};return n("var",o=>(Le(o,this,i.var(Ce(o,1),Ce(o,2))),1)),n("logContains",o=>(p.lua_pushboolean(o,i.logContains(Ce(o,1))),1)),n("control",o=>(Le(o,this,i.control(Ce(o,1))),1)),n("logs",o=>(Le(o,this,i.logs()),1)),n("signals",o=>(Le(o,this,i.signals(Ce(o,1))),1)),n("serverLogs",o=>(Le(o,this,i.serverLogs?i.serverLogs():[]),1)),n("serverLogContains",o=>{let s=i.serverLogContains;return p.lua_pushboolean(o,s?!!s(Ce(o,1)):!1),1}),p.lua_setglobal(r,q("query")),this.runChunk(r,e,"autotest-assert"),!0}destroy(){for(let e of this.roots.slice())this.destroyControl(e);for(let e of this.mountedScripts.slice())this.unmountScript(e);this.lifecyclePhase="idle",this.mountedScripts=[],this.luaFunctions.clear();for(let e of[...this.luaStates])this.closeTrackedLuaState(e);this.L=null,this.audios.clear(),this.audioHistory.length=0,this.audioWarnings.clear()}};function fn(t){let e=new No(t);return e.boot(),e}var Ui=Object.freeze(Array.from({length:8},(t,e)=>`Player${e+1}`)),Za=Object.freeze(Array.from({length:8},(t,e)=>`Avatar${e+1}`)),jd=Object.freeze(["Level","PlayerSelf","AvatarSelf"]);var Ka=Object.freeze([...jd,...Ui,...Za]),Vd=Object.freeze(["PlayerSelf","AllPlayers",...Ui]),Zy=Object.freeze(["Level","PlayerSelf",...Ui]),Dd=Object.freeze(["Int","Float","String","Bool","Vector3","Entity","Guid","PrefabId","ConfigId","IntList","FloatList","StringList","BoolList","Vector3List","EntityList","GuidList","PrefabIdList","ConfigIdList","Dict","Struct"]),Qy=-2147483648,e0=2147483647,t0=new Set(["set-custom-variable","get-custom-variable","custom-variable-changed","\u8BBE\u7F6E\u81EA\u5B9A\u4E49\u53D8\u91CF","\u83B7\u53D6\u81EA\u5B9A\u4E49\u53D8\u91CF","\u81EA\u5B9A\u4E49\u53D8\u91CF\u53D8\u5316\u65F6","send-signal","listen-signal","send-client-script-signal","\u53D1\u9001\u4FE1\u53F7","\u76D1\u542C\u4FE1\u53F7","\u53D1\u9001\u5BA2\u6237\u7AEF\u811A\u672C\u4FE1\u53F7","setVar","getVar","signal","var"]);function dn(t){return`Player${Number(t)}`}function Po(t){return`Avatar${Number(t)}`}function zd(t){let e=String(t||"").match(/^(?:Player|Avatar)([1-8])$/);return e?Number(e[1]):0}function Vi(t){if(t==null||t==="")return 1;let e=Number(t);if(!Number.isInteger(e)||e<1||e>8)throw new Error("playerCount must be an integer 1-8");return e}function ri(t,e=8){let i=Vi(e);if(t==null||t==="")return 1;let r=Number(t);if(!Number.isInteger(r)||r<1||r>i)throw new Error(`playerIndex must be an integer 1-${i}`);return r}function $d(){let t={Level:Object.create(null),PlayerSelf:Object.create(null),AvatarSelf:Object.create(null)};for(let e of Ui)t[e]=Object.create(null);for(let e of Za)t[e]=Object.create(null);return t}function Ud(t){let e=String(t||"");if(!Ka.includes(e))throw new Error(`unknown CustomVariableEntityType: ${t}`);return e}function i0(t,e){let i=Ud(t);if(!Zy.includes(i))throw new Error(`${e}.entityType must be Level, PlayerSelf, or Player1-8`);return i}function hn(t){let e=String(t??"");if(!e)throw new Error("custom variable name is required");return e}function Mo(t){let e=String(t??"");if(!e)throw new Error("signal name is required");return e}function Ja(t){let e=String(t||"PlayerSelf");if(!Vd.includes(e))throw new Error(`unsupported client signal target: ${t}. use PlayerSelf, AllPlayers, or Player1-8`);return e}function pn(t){if(t==null)return"";if(typeof t=="boolean")return"Bool";if(typeof t=="string")return"String";if(typeof t=="number")return Number.isInteger(t)?"Int":"Float";if(Array.isArray(t)){if(t.length===0)return"IntList";let e=pn(t[0]);return e&&!e.endsWith("List")&&e!=="Dict"&&e!=="Struct"?`${e}List`:"IntList"}return t&&typeof t=="object"?"x"in t||"y"in t||"z"in t?"Vector3":"Dict":""}function ot(t){return t===void 0?null:JSON.parse(JSON.stringify(t))}function Ld(t){return Array.isArray(t)?t.map(e=>e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"value")&&"type"in e?e.value:e):[]}function Gd(t){return Array.isArray(t)?t.map(e=>e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"value")&&"type"in e?{type:String(e.type||""),value:e.value}:{type:pn(e),value:e}):[]}function r0(t){return String(t?.kind||t?.type||t?.name||t?.id||"")}function Fo(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Hd(t,e){if(!Fo(t)||!Object.prototype.hasOwnProperty.call(t,"fromSignalParam"))return null;if(Object.keys(t).some(r=>r!=="fromSignalParam"))throw new Error(`${e}.fromSignalParam cannot be combined with literal fields`);let i=Number(t.fromSignalParam);if(!Number.isSafeInteger(i)||i<0)throw new Error(`${e}.fromSignalParam must be a non-negative integer`);return{fromSignalParam:i}}function qd(t,e){return Hd(t,e)||ot(t)}function n0(t,e,i){if(!Fo(t))throw new Error(`serverLogic.rules[${e}].actions[${i}] must be an object`);let r=String(t.kind||t.type||""),n=`serverLogic.rules[${e}].actions[${i}]`;if(r==="setCustomVariable"){let o=i0(t.entityType,n);if(!Object.prototype.hasOwnProperty.call(t,"value"))throw new Error(`${n}.value is required`);return{kind:r,entityType:o,name:hn(t.name),value:qd(t.value,`${n}.value`),...t.variableType?{variableType:String(t.variableType)}:{}}}if(r==="sendClientScriptSignal"){if(!Array.isArray(t.params))throw new Error(`${n}.params must be an array`);return{kind:r,target:Ja(t.target),signalName:Mo(t.signalName),params:t.params.map((o,s)=>qd(o,`${n}.params[${s}]`))}}throw new Error(`${n}.kind must be setCustomVariable or sendClientScriptSignal`)}function mn(t){if(t==null)return{version:1,rules:[]};if(!Fo(t))throw new Error("serverLogic must be an object");let e=t.rules===void 0?[]:t.rules;if(!Array.isArray(e))throw new Error("serverLogic.rules must be an array");return{version:1,rules:e.map((i,r)=>{if(!Fo(i))throw new Error(`serverLogic.rules[${r}] must be an object`);if(!Array.isArray(i.actions)||i.actions.length===0)throw new Error(`serverLogic.rules[${r}].actions must be a non-empty array`);return{id:String(i.id||`signal-${r+1}`),signalName:Mo(i.signalName),actions:i.actions.map((n,o)=>n0(n,r,o))}})}}function Bd(t,e,{typed:i=!1}={}){let r=Hd(t,"server logic value");if(r){let n=i?e.params:e.values;if(r.fromSignalParam>=n.length)throw new Error(`signal ${e.name} has no parameter at index ${r.fromSignalParam}`);return ot(n[r.fromSignalParam])}return ot(t)}function o0(t){return t==="Level"?"Level":Ui.includes(t)?"PlayerSelf":Za.includes(t)?"AvatarSelf":t}function Yd(t={}){let e=$d(),i=$d(),r=[],n=[],o=[],s=[],a=Array.from({length:9},()=>null),l=1,u=0,c=Number(t.onlineLatencyMs||0);(!Number.isFinite(c)||c<0)&&(c=0);let f=mn(t.logic),h=Vi(t.playerCount),m=ri(t.viewPlayerIndex,h);function g(_,T){s.push({source:"server",level:String(_||"engine"),text:String(T),time:u})}function v(_){let T=a[_||m],y=Number(T?.clock?.time);Number.isFinite(y)&&(u=y)}function w(_,T,y,N){e[_][T]=y,i[_][T]={type:N||pn(y)||i[_][T]?.type||""}}function S(_,T,y){return typeof y!="number"||!Number.isInteger(y)?{ok:!0,value:y}:y>=Qy&&y<=e0?{ok:!0,value:y}:(g("engine",`Int custom variable ${_}.${T} out of range ${y}; keeping previous legal value`),{ok:!1,value:e[_][T]})}function x(_,T){let y=Ud(_),N=T||m;return y==="PlayerSelf"?dn(N):y==="AvatarSelf"?Po(N):y}function F(_,T){let y=o0(_);if(_==="Level"){for(let d=1;d<=h;d+=1){let E=a[d];E&&typeof E.notifyVarHandlers=="function"&&E.notifyVarHandlers("Level",T)}return}let N=zd(_);if(!N)return;let C=a[N];C&&typeof C.notifyVarHandlers=="function"&&C.notifyVarHandlers(y,T)}function I(_,T){let y=Ja(_);return y==="AllPlayers"?Array.from({length:h},(N,C)=>C+1):y==="PlayerSelf"?[T||m]:[zd(y)]}function z(_){for(let T of f.rules)if(T.signalName===_.name)for(let y of T.actions){if(y.kind==="setCustomVariable"){let N=Bd(y.value,_);G.setVar(y.entityType,y.name,N,{type:y.variableType,playerIndex:_.playerIndex}),g("info",`logic ${T.id}: set ${y.entityType}.${y.name}`);continue}if(y.kind==="sendClientScriptSignal"){let N=y.params.map(C=>Bd(C,_,{typed:!0}));G.sendToClient(y.signalName,N,{target:y.target,playerIndex:_.playerIndex}),g("info",`logic ${T.id}: sent ${y.signalName} to ${y.target}`)}}}function $(_,T){_&&(_.serverBridge={getVar:(y,N)=>G.getVar(y,N,{playerIndex:T}),setVar:(y,N,C)=>G.setVar(y,N,C,{playerIndex:T}),receiveFromClient:(y,N)=>G.receiveFromClient(y,N,{playerIndex:T})})}function j(_){_&&(_.serverBridge=null)}let G={ENTITY_TYPES:jd,ALL_ENTITY_TYPES:Ka,CLIENT_SIGNAL_TARGETS:Vd,get clock(){return u},get playerCount(){return h},get viewPlayerIndex(){return m},setClock(_){u=Number(_)||0},setPlayerCount(_){return h=Vi(_),m>h&&(m=h),h},setViewPlayerIndex(_){return m=ri(_,h),m},log(_,T){g(_,T)},defineVar(_,T,y={},{playerIndex:N}={}){let C=x(_,N),d=hn(T);if(Object.prototype.hasOwnProperty.call(e[C],d))throw new Error(`custom variable already exists: ${C}.${d}`);let E=y.type?String(y.type):pn(y.value??y.defaultValue);if(E&&!Dd.includes(E))throw new Error(`unsupported custom variable type: ${E}`);let D=y.value!==void 0?y.value:y.defaultValue!==void 0?y.defaultValue:null;return w(C,d,D,E),G.getVar(C,d)},getVar(_,T,{playerIndex:y}={}){let N=x(_,y),C=hn(T);if(!Object.prototype.hasOwnProperty.call(e[N],C)){g("engine",`GetGlobalCustomVariableValue missing ${N}.${C}; returning nil (simulator policy)`);return}return e[N][C]},setVar(_,T,y,{notify:N=!0,type:C,playerIndex:d}={}){let E=x(_,d),D=hn(T),V=C||i[E][D]?.type||pn(y);if(V&&!Dd.includes(V)&&V!=="")throw new Error(`unsupported custom variable type: ${V}`);let H=y;if(!((V==="Int"||V===""&&typeof y=="number"&&Number.isInteger(y))&&(H=S(E,D,y).value,H===void 0)))return w(E,D,H,V),N&&F(E,D),H},listVars(_){let T=_?[x(_)]:["Level",...Array.from({length:h},(N,C)=>dn(C+1)),...Array.from({length:h},(N,C)=>Po(C+1))],y=[];for(let N of T)for(let C of Object.keys(e[N]))y.push({entityType:N,name:C,type:i[N][C]?.type||"",value:ot(e[N][C])});return y},receiveFromClient(_,T=[],{playerIndex:y}={}){let N=ri(y||m,h);v(N);let C=Mo(_),d={id:l++,direction:"inbound",name:C,params:Gd(T),values:Ld(T),time:u,playerIndex:N,from:dn(N)};return r.push(d),z(d),d},sendToClient(_,T=[],{target:y="PlayerSelf",playerIndex:N}={}){let C=Mo(_),d=Ja(y),D=I(d,N||m),V={id:l++,direction:"outbound",name:C,params:Gd(T),values:Ld(T),time:u,target:d,players:D,deliverAt:u+c/1e3,delivered:!1};return n.push(V),c===0?G.deliver(V):o.push(V),V},getLogic(){return ot(f)},setLogic(_){return f=mn(_),G.getLogic()},deliver(_){if(!_||_.delivered)return;_.delivered=!0;let T=Array.isArray(_.players)&&_.players.length?_.players:I(_.target);for(let y of T){let N=a[y];N&&typeof N.sendClientSignal=="function"&&N.sendClientSignal(_.name,_.values)}},flush(_){_!==void 0&&(u=Number(_)||0);let T=[];for(let y=o.length-1;y>=0;y-=1)o[y].deliverAt<=u&&T.push(o.splice(y,1)[0]);T.sort((y,N)=>y.id-N.id);for(let y of T)G.deliver(y);return T},inbound(){return r.slice()},outbound(){return n.slice()},loadConfig(_){if(_!=null){if(typeof _!="object")throw new Error("server config must be an object");if(_.graph&&!Array.isArray(_.nodes))throw new Error("unsupported server node graph: v1 only accepts custom variables and signals");for(let T of _.nodes||[]){let y=r0(T);if(!t0.has(y))throw new Error(`unsupported server node: ${y||JSON.stringify(T)}. v1 only supports custom variables and signals`)}if(_.onlineLatencyMs!==void 0){let T=Number(_.onlineLatencyMs);if(!Number.isFinite(T)||T<0)throw new Error("onlineLatencyMs must be a non-negative finite number");c=T}_.playerCount!==void 0&&G.setPlayerCount(_.playerCount),_.viewPlayerIndex!==void 0&&G.setViewPlayerIndex(_.viewPlayerIndex),(_.logic!==void 0||_.serverLogic!==void 0)&&G.setLogic(_.logic??_.serverLogic);for(let T of _.vars||[]){let y=x(T.entityType),N=hn(T.name);Object.prototype.hasOwnProperty.call(e[y],N)?G.setVar(y,N,T.value??T.defaultValue,{notify:!1,type:T.type}):G.defineVar(y,N,T)}}},attachRuntime(_,{playerIndex:T=1}={}){let y=ri(T,8);return a[y]&&a[y]!==_&&j(a[y]),a[y]=_||null,$(a[y],y),G},attachRuntimes(_){G.detachRuntime();let T=Array.isArray(_)?_:[];for(let y=0;y<T.length&&y<8;y+=1)a[y+1]=T[y]||null,$(a[y+1],y+1);return G},detachRuntime(){for(let _=1;_<=8;_+=1)j(a[_]),a[_]=null},snapshot(){let _=dn(m),T=Po(m),y={Level:{},PlayerSelf:{},AvatarSelf:{}};for(let N of Object.keys(e.Level))y.Level[N]={type:i.Level[N]?.type||"",value:ot(e.Level[N])};for(let N of Object.keys(e[_]))y.PlayerSelf[N]={type:i[_][N]?.type||"",value:ot(e[_][N])};for(let N of Object.keys(e[T]))y.AvatarSelf[N]={type:i[T][N]?.type||"",value:ot(e[T][N])};for(let N=1;N<=h;N+=1){let C=dn(N),d=Po(N);y[C]={},y[d]={};for(let E of Object.keys(e[C]))y[C][E]={type:i[C][E]?.type||"",value:ot(e[C][E])};for(let E of Object.keys(e[d]))y[d][E]={type:i[d][E]?.type||"",value:ot(e[d][E])}}return{clock:u,onlineLatencyMs:c,playerCount:h,viewPlayerIndex:m,logic:G.getLogic(),vars:y,inbound:r.map(N=>({id:N.id,name:N.name,params:ot(N.params),values:ot(N.values),time:N.time,playerIndex:N.playerIndex,from:N.from})),outbound:n.map(N=>({id:N.id,name:N.name,params:ot(N.params),values:ot(N.values),time:N.time,target:N.target,players:Array.isArray(N.players)?N.players.slice():[],deliverAt:N.deliverAt,delivered:!!N.delivered})),logs:s.map(N=>({source:"server",level:N.level,text:N.text,time:N.time}))}},reset(){for(let _ of Ka){for(let T of Object.keys(e[_]))delete e[_][T];for(let T of Object.keys(i[_]))delete i[_][T]}r.length=0,n.length=0,o.length=0,s.length=0,l=1,u=0},destroy(){G.detachRuntime(),G.reset()}};t.config&&G.loadConfig(t.config);for(let _ of t.vars||[])G.defineVar(_.entityType,_.name,_);return G}var s0={container:"container",textbox:"textbox",image:"image",button:"button",cursor:"cursor",grid:"grid",reference:"reference",textwindow:"textwindow",keyhint:"keyhint",animation:"animation",fullscreen:"fullscreen"};function Qa(t,e,i=null){let r=ui(t.transformByPlatform,e),n={authoringId:t.id,kind:s0[t.kind]||"container",name:t.name,prefabIndex:t.guid||0,active:t.active!==!1,visible:t.visible!==!1,canControllerFocus:t.canControllerFocus===!0,anchoredPositionX:r.offset.x,anchoredPositionY:r.offset.y,sizeDeltaX:r.size.x,sizeDeltaY:r.size.y,anchorMinX:r.anchorMin.x,anchorMinY:r.anchorMin.y,anchorMaxX:r.anchorMax.x,anchorMaxY:r.anchorMax.y,pivotX:r.pivot.x,pivotY:r.pivot.y,localScaleX:r.scale.x,localScaleY:r.scale.y,localScaleZ:r.scale.z,localRotationX:r.rotation.x,localRotationY:r.rotation.y,localRotationZ:r.rotation.z,children:(t.children||[]).map(s=>Qa(s,e,i))},o=i?.get(t.id);return o?.length&&(n.scripts=o.map(s=>{let a=Number(s.guid);return{path:s.path||s.id,source:s.source||"",...Number.isSafeInteger(a)&&a>0?{scriptMappingId:a}:{}}})),t.kind==="container"&&(n.isolateNavigation=t.isolateNavigation===!0,n.disableKeyEventPassthrough=t.disableKeyEventPassthrough===!0,n.disableCursorEventPassthrough=t.disableCursorEventPassthrough===!0,n.showCursor=t.showCursor===!0),(t.kind==="textbox"||t.kind==="textwindow")&&(n.text=t.text??"",n.fontSize=t.fontSize,n.adaptiveFontSize=t.adaptiveFontSize===!0,n.minimumFontSize=t.minimumFontSize,n.fontColor=t.fontColor,n.bgColor=t.bgColor,n.enableOutline=t.enableOutline!==!1,n.outlineColor=t.outlineColor,n.horizontalAlignment=t.horizontalAlignment||"Left",n.verticalAlignment=t.verticalAlignment||"Top",t.kind==="textwindow"&&(n.interactable=t.interactable!==!1,n.showScrollBar=t.showScrollBar!==!1)),t.kind==="image"&&(n.imageSource=t.imageSource,n.imageType=t.imageType??null,n.imageId=t.imageId??0,n.imageColor=t.imageColor,n.raycastTarget=t.raycastTarget===!0,n.enableMask=t.enableMask===!0,n.enableSoftEdge=t.enableSoftEdge===!0,n.softEdgeMode=t.softEdgeMode,n.softEdgeWidthX=t.softEdgeWidthX,n.softEdgeWidthY=t.softEdgeWidthY,n.horizontalSoftRange=t.horizontalSoftRange,n.verticalSoftRange=t.verticalSoftRange,n.enableFill=t.enableFill===!0,n.fillType=t.enableFill?t.fillType:"Unused",n.fillHorizontalType=t.fillHorizontalType,n.fillVerticalType=t.fillVerticalType,n.fillRadial90Type=t.fillRadial90Type,n.fillRadialType=t.fillRadialType,n.fillAmount=t.fillAmount,n.reverseMaskArea=t.reverseMaskArea===!0),t.kind==="button"&&(n.raycastTarget=t.raycastTarget!==!1,n.interactable=t.interactable!==!1,n.clickAudioId=t.clickAudioId,n.unavailableChildId=t.unavailableChildId??null,n.hoverChildId=t.hoverChildId??null,n.pressedChildId=t.pressedChildId??null,n.selectedChildId=t.selectedChildId??null),t.kind==="cursor"&&(n.raycastTarget=t.raycastTarget!==!1),t.kind==="reference"&&(n.referencedPrefabIndex=t.referencedPrefabId),t.kind==="grid"&&(n.itemPrefabIndex=t.itemPrefabId,n.raycastTarget=t.raycastTarget!==!1,n.interactable=t.interactable!==!1,n.showScrollBar=t.showScrollBar!==!1,n.scrollDirection=t.scrollDirection,n.layoutConstraint=t.layoutConstraint,n.layoutConstraintFixedCount=t.layoutConstraintFixedCount,n.cellSizeX=t.cellSizeX,n.cellSizeY=t.cellSizeY,n.spacingX=t.spacingX,n.spacingY=t.spacingY,n.padding1X=t.padding1X,n.padding1Y=t.padding1Y,n.padding2X=t.padding2X,n.padding2Y=t.padding2Y,n.previewCount=t.previewCount),t.kind==="keyhint"&&(n.keyboardKeyCode=t.keyboardKeyCode,n.controllerKeyCode=t.controllerKeyCode),(t.kind==="animation"||t.kind==="fullscreen")&&(n.raycastTarget=!1,n.animationId=t.animationId,n.playSoundEffect=t.playSoundEffect,t.kind==="animation"&&(n.layer=t.layer)),n}function el(t,e=[],i=""){let r=i&&Ee[i]?i:t.canvasId,n=Ee[r],o=Vr(t),s=new Map;for(let l of e){if(!l.controlId)continue;let u=s.get(l.controlId)||[];u.push(l),s.set(l.controlId,u)}let a=t.meta?.assetType==="client-control-template"?(t.root.children||[]).map(l=>Qa(l,r,s)):[];return{canvasId:r,platform:n.platform,device:n.luaDevice,canvasWidth:n.width,canvasHeight:n.height,root:Qa(o,r,s),templates:a}}var Do="qxqy-autotest";var Yi=.03333333333333333,a0=new Set(["pointer","key","click","pause","resume","serverSet","serverSend","view"]),l0=new Set(["log","control","var","signal","tree","lua"]);function Hi(t,e){let i=Number(t);if(!Number.isFinite(i))throw new Error(`${e} must be a finite number`);return i}function tl(t){return JSON.parse(JSON.stringify(t??null))}function zo(t,e){if(!t||typeof t!="object")throw new Error(`events[${e}] must be an object`);let i=String(t.kind||t.do||"");if(!a0.has(i))throw new Error(`unsupported event kind: ${i||"(empty)"}`);let r=t.payload&&typeof t.payload=="object"?{...t.payload}:{};if(i==="pointer")!r.type&&t.type&&(r.type=t.type),r.x===void 0&&(r.x=t.x),r.y===void 0&&(r.y=t.y),r.x=Hi(r.x,"pointer.x"),r.y=Hi(r.y,"pointer.y"),r.type=String(r.type||"click"),r.type==="wheel"&&(r.deltaX=Hi(r.deltaX??t.deltaX??0,"pointer.deltaX"),r.deltaY=Hi(r.deltaY??t.deltaY??0,"pointer.deltaY"));else if(i==="key"){if(r.typeName=String(r.typeName||r.key||t.typeName||t.key||""),!r.typeName)throw new Error("key event requires typeName")}else if(i==="click"){if(r.name=String(r.name||t.name||""),!r.name)throw new Error("click event requires control name")}else if(i==="serverSet"){if(r.entityType=String(r.entityType||t.entityType||""),r.name=String(r.name||t.name||""),r.value===void 0&&(r.value=t.value),r.value===void 0&&(r.value=null),!r.entityType||!r.name)throw new Error("serverSet requires entityType and name")}else if(i==="serverSend"){if(r.name=String(r.name||t.name||""),r.params=Array.isArray(r.params)?r.params:Array.isArray(t.params)?t.params:[],r.target=String(r.target||t.target||"PlayerSelf"),!r.name)throw new Error("serverSend requires signal name")}else if(i==="view"&&(r.playerIndex=Number(r.playerIndex||r.viewPlayerIndex||t.playerIndex||t.viewPlayerIndex||0),!Number.isInteger(r.playerIndex)||r.playerIndex<1))throw new Error("view event requires playerIndex 1-8");return{t:Hi(t.t??0,"event.t"),source:String(t.source||"user"),kind:i,payload:r}}function il(t,e){if(!t||typeof t!="object")throw new Error(`asserts[${e}] must be an object`);let i=String(t.kind||(t.check?"log":""));if(!l0.has(i))throw new Error(`unsupported assert kind: ${i||"(empty)"}`);let r={kind:i};if(t.at!==void 0&&(r.at=Hi(t.at,"assert.at")),i==="log"){if(r.contains=String(t.contains||t.check||t.text||""),r.source=t.source==="server"?"server":"client",t.level&&(r.level=String(t.level)),!r.contains)throw new Error("log assert requires contains")}else if(i==="control"){if(r.id=t.id?String(t.id):"",r.name=t.name?String(t.name):"",r.field=String(t.field||""),!r.field)throw new Error("control assert requires field");if(!r.id&&!r.name)throw new Error("control assert requires id or name");if(!Object.prototype.hasOwnProperty.call(t,"equals"))throw new Error("control assert requires equals");r.equals=tl(t.equals)}else if(i==="var"){if(r.entityType=String(t.entityType||""),r.name=String(t.name||""),!r.entityType||!r.name)throw new Error("var assert requires entityType and name");if(!Object.prototype.hasOwnProperty.call(t,"equals"))throw new Error("var assert requires equals");r.equals=tl(t.equals)}else if(i==="signal"){if(r.direction=t.direction==="outbound"?"outbound":"inbound",r.name=String(t.name||""),!r.name)throw new Error("signal assert requires name");t.values!==void 0&&(r.values=tl(t.values))}else if(i==="tree"){if(r.name=String(t.name||""),r.exists=t.exists!==!1,!r.name)throw new Error("tree assert requires name")}else if(i==="lua"&&(r.source=String(t.source||""),!r.source.trim()))throw new Error("lua assert requires source");return r}function Xd(t){let e=0,i=[],r=[];for(let n of t){if(!n||typeof n!="object")throw new Error("queue step must be an object");if(n.do!=="start"){if(n.do==="step"){e+=Hi(n.dt??Yi,"step.dt");continue}if(n.do==="pointer"||n.do==="key"||n.do==="click"||n.do==="pause"||n.do==="resume"||n.do==="serverSet"||n.do==="serverSend"||n.do==="view"){i.push(zo({...n,kind:n.do,t:e},i.length));continue}if(n.assert||n.check||n.kind){r.push(il({...n.assert||n,at:n.at??e},r.length));continue}throw new Error(`unsupported queue step: ${JSON.stringify(n)}`)}}return{events:i,asserts:r,dt:Yi}}function gn(t){if(Array.isArray(t)){let r=Xd(t);return{format:Do,version:1,name:"",dt:r.dt,events:r.events,asserts:r.asserts}}if(!t||typeof t!="object")throw new Error("autotest case must be an object or step array");if(Array.isArray(t.queue)||Array.isArray(t.steps)){let r=Xd(t.queue||t.steps);return{format:Do,version:1,name:String(t.name||""),dt:Number(t.dt)>0?Number(t.dt):r.dt,events:r.events,asserts:r.asserts}}let e=(t.events||[]).map((r,n)=>zo(r,n)),i=(t.asserts||[]).map((r,n)=>il(r,n));return e.sort((r,n)=>r.t-n.t||0),{format:Do,version:1,name:String(t.name||""),dt:Number(t.dt)>0?Number(t.dt):Yi,playerCount:Number(t.playerCount)>0?Number(t.playerCount):1,events:e,asserts:i}}function Wd(t,e={}){let i=(t||[]).map((r,n)=>zo(r,n));return{format:Do,version:1,name:String(e.name||""),dt:Number(e.dt)>0?Number(e.dt):Yi,playerCount:Number(e.playerCount)>0?Number(e.playerCount):1,events:i,asserts:(e.asserts||[]).map((r,n)=>il(r,n))}}function Kd(t,e,i){if(!t)return null;let r=zo({...e,t:e.t??i??0},t.events.length);return t.events.push(r),r}var $o=(t,e)=>Math.max(0,Math.min(e,Number.isFinite(t)?t:0));function Jd(t,e,i){let r=Wt(t,e,i),n=Math.max(0,r.contentHeight-i),o=$o(t._scrollOffset||0,n);return t._scrollOffset=o,{...r,length:r.contentHeight,max:n,offset:o,viewport:i,horizontal:!1,width:e,height:i}}function Rr(t,e,i){if(!t?.showBar||t.max<=0||e<=0||i<=0)return null;let r=t.horizontal===!0,n=r?e:i,o=Math.max(0,n-4),s=Math.min(o,Math.max(18,o*n/(n+t.max))),a=o-s,l=a*t.offset/t.max,u=Math.min(8,r?i:e),c=r?{x:-e/2+2,y:i/2-u-2,width:o,height:u}:{x:e/2-u-2,y:-i/2+2,width:u,height:o},f=r?{...c,x:c.x+l,width:s}:{...c,y:c.y+l,height:s};return{track:c,thumb:f,travel:a}}var Zd="https://oss.070077.xyz/",rl="mp3-v1",Lo="/qxqy-audio/",u0=[[10001,"ura.1ht4.2ag9.1hh5.jbb.k02.jcw.2tv.2wn.2xk.2r3.d5s.94l.ebv.kcr.b40.77k.9gp.97w.1hb5.jag.btu.jc9.hp5.bmj.blq.blq.ff9.ffk.o74.1owl.rp.mg.l3.lf.lh.qy.1a3z.2xk.2xk.2xk.2xk.2xk.17dc.1f2b.2bc.2bc.2bc.2bc.2bc.ffo.ffo.126.1fk.4mo.4mo.15e.1h2.237.2ba.2kd.2bc.4mo.4mo.4mo.4mo.1mc.1n6.2cu.1ud.2b1.2ee.1tj.1tk"],[20001,"o6.fh.kb.cr.og.sm.6x.8c.87.o7.vz.kt.qo.lg.ob.9w.mg.1kz.zc.1ex.1d5.ps.uu.su.qs.ys.zp.10k.15a.xc.uk.mx.1ax.nt.tu.19m.uj.1ku.tt.100.ie.d3.fp.ie.ie.d3.fp.ie.8p.7k.fw.h0.qc.ot.uc.ot.rk.gb.1c2.ff.cl.9v.wg.1ir.1lr.1b8.1ri.1p0.104.10n.mw.j6.jb.f1.dv.84.a0.cp.bx.1ko.1au.1ia.rs.rt.rs.t7.x6.wi.zc.16f.1i6.2jh.28d.qh.k8.1gz.1ko.2iv.1xp.1l4.1gk.10j.yo.1jk.1jk.xv.104.15o.1xg.1xg.1xi.25i.p1.t1.yh.1ak.1i6.1y2.xt.32u.3g6.1bz.2mn.14l.14c.1e1.op.s8.p2.v5.2ix.1a0.ry.16m.17n.13c.134.ys.yu.xr.sl.sr.sd.yh.z5.gd.gl.hx.h2.g8.fj.iy.hz.jj.th.12n.16r.d3.j9.dg.lj.fl.a7.f9.iw.el.27f.1dh.1rh.2ph.yd.w5.x5.tr.pq.zf.16h.1a5.17t.wy.vn.y8.wl.yv.2ye.2qt.1ah.163.19t.uf.119.2vv.1bm.13h.14p.1so.c3.as.9z.19w.1l4.1nl.rj.we"],[30001,"jo.my.ss.dw.c1.b4.hl.hl.hl.cz.dw.dw.b4.dw.fr.kd.qv.px.px.74.6u.8h.60.8q.8b.eo.eo.eo.8k.a5.99.12v.13y.lg.m4.qr.dw.ex.g0.ef.cd.br.11n.17h.1b8.1c9.9p.ag.9z.l9.m8.m8.lw.m8.cz.99.b4.8c.63.7f.6h.99.re.pp.pi.cq.c9.cp.ck.c6.b0.bd.al.f6.gl.ed.fs.lc.k6.kh.i6.cx.j1.hk.gb.d7.h7.g2.em.kj.kn.k4.j5.rh.t0.qt.mj.i7.ih.i2.hd.3r.8d.6u.6z.by.de.dg.cr.1a5.1ab.16c.18g.n2.ly.no.nt.f9.de.lr.fe.f0.fj.el.fo.t1.g9.ly.h3.g6.de.2ak.2f3.wf.kg.qn.11p.rg.uj.u6.11c.22o.2cs.3dp.3dq.3d5.3d6.1zx.18v"],[40001,"19x.215.2zt.1ex.2pj.7hy.1ur.1gn.1g7.1b1.u9.1tw.108.1ew.rs.1qu.w9.lk.244.qi.b6.tk.jg.jg.jg.y4.c1.b4.iv.hi.r4.n7.gy.ev.qe.12z.18n.dw.1l6.ou.wz.1un.19t.18k.yy.1hs.sl.dw.1vl.100.14k.1q8.209.1jk.1xr.ua.1j2.pr.26h.1gs.s9.px.15v.pf.1jk.xc.1hb.111.172.ut.285.1oh.149.zj.22r.2l9.14a.ok.23y.1eh.xe.1j0.1rp.1cz.wf.1mh.22k.334.1z2.1xo.1br.4ji.5nq.5nf.2za.18r.h3.eo.ia.1kn.dc.ss.s0.1bl.1oc.is.km.177.1ec.1ao.h4.hp.dx.l9.iw.i3.12w.n1.yq.12w.1ju.yx.14s.18b.22t.u3.my.2rb.36w.13u.z8.20r.18g.19r.2x9.w4.q2.1d2.wo.13a.v6.17w.ur.288.1b6.14m.1fi.1xx.1ee.kj.121.j2.1d2.2ad.1ri.2lc.1vk.138.12r.xj.1h5.1c5.2qx.1gj.t2.lv.rf.18q.1kz.dw.2aq.ia.1i9.k5.199.f4.10y.18a.xf.rk.1g9.1q3.10h.sj.15o.e3.dz.sv.135.w9.yg.aw.2a2.19m.22w.1c8.272.13o.104.1sr.rs.1pb.d5.df.kp.jq.1a7.s8.1ao.ba.rb.in.pz.q8.140.ij.1e7.jl.yk.117.10i.1tn.1oj.1sv.sj.1e3.2so.1c7.1gv.178.107.10n.1dx.1qi.1wp.2bc.218.16r.105.xc.z6.11w.1mc.1y9.17p.1cs.2ij.18c.1ie.nn.16c.1ce.xb.1ei.3j0.ve.14x.1sx.285.1b8.1at.v4.rv.rs.10z.xq.11o.15k.xq.u1.i2.pu.i4.l3.9u.oh.mc.nm.pw.1i3.1h4.pj.111.l4.lb.qq.qf.u0.h4.nk.yf.6h.ij.ds.oy.re.m8.1gl.cz.16z.a1.1f8.1x6.vp.dz.gp.g6.fr.vl.fr.gg.qc.aj.99.go.ij.fz.11a.x5.mo.1u9.h0.m8.10m.1an.2bc.3uw.2gk.124.xb.1uk.1b6.2xj.1os.11a.vs.1i9.1lr.2gv.265.668.1xg.45j.404.2x1.1io.3om.4q2.4mo.1d4.2bp.1pr.166.2y6.2bv.361.2nc.2bc.3g0.7g4.334.2bc.2xo.3uw.6ic.4ig.3uw.23v.1la.2zr.1jt.1cq.27a.1n1.19x.1qg.1jn.1ca.26y.2d6.4v4.4mo.4mo.7ps.1jk.153.1fo.1dm.1s2.1w1.oe.1lb.319.2eg.58p.4mo.3dw.2y2.2xm.1u8.1ko.12n.1e0.2sd.1md.2cl.1q2.372.4mo.48s.b14.3fu.334.334.34i.4nf.4ji.5eg.3uw.2u8.1g1.110.37x.2jo.su.334.3aj.3uw.63f.2bc.2bc.8v4.1ts.ax5.5du.34d.3oc.34j.4si.174.rt.1rp.2b0.37d.1ta.2gh.28a.22z.1nc.1a5.1pa.4dd.3ha.2cs.5mv.4mq.5c2.3uw.1gf.4md.113.10x.21o.2hj.1b3.1cx.1ol.3ar.1fv.17t.1a7.2uj.2we.1jk"],[50001,"1o8.1k1.mo.1wu.2c9.22d.1kb.23n.1b8.1ic.24c.2wz.1mq.1mu.1jx.1z1.o3.190.vp.1h7.th.4mo.1rp.4mo.4mo.7ps.zz.143.21v.1nf.34s.1s3.r9.18t.s1.r9.21w.277.ls.25k.5v1.2bc.1kh.wt.14i.1eq.15o.668.sh.rl.3wi.3vc.43c.3yn.17c.f5.xu.jg.176.19v.1xy.23m.18x.30c.10l.13k.v8.vp.17t.qj.17m.1wr.1la.8t.s7.18d.1l2.152.mx.1c8.1l4.1f5.1xe.rz.2hz.1et.13t.xb.14r.15o.z0.1zo.ur.257.1gb.li.12d.15a.132.1m1.3vu.296.1mg.11m.z0.159.mp.hd.x4.1go.ns.xh.2a7.tt.2vb.1bx.1kh.u3.11i.1y1.24e.2hp.2mn.1w6.3zm.166.14g.1mo.2v9.2rg.2f9.1r0.139.m1.k3.ys.1dy.29k.1mm.22m.3zx.4dr.2h7.22o.tv.rm.1et.2wv.2ar.1t7.ku.12s.10b.1v9.1gu.12m.1b3.tv.1c8.tk.10s.ul.1tt.ka.oi.qb.13f.13f.13k.17h.1uh.ez.en.2x7.2ln.2h8.3h8.ig.n9.27o.18b.hl.nm.uk.11a.1ta.1k4.1eh.wv.1go.1gg.sc.18u.1dz.2aq.vt.2l7.25h.1l5.1kn.1vc.1b4.28i.17t.1d6.1k2.18z.jy.jw.dh.1mx.fr.vp.35w.34z.35w.34z.4so.vf.yx.1bg.1d3.2yc.1tg.8q3.99g.am.2du.rm.rg.xa.2cw.xc.1j6.1if.18z.13a.yz.142.1z5.262.1bj.1y8.ur.u5.16j.1pf.1bi.l8.1il.3vz.2dr.jo.ls.18s.16l.18c.141.219.1yz.1fc.24t.27e.481.1vp.25h.1yq.1zn.1uw.11u.1jp.1pz.39o.t6.1mj.1u5.11l.1vd.1dk.1zb.1ic.3ql.14p.1wq.25x.267.zn.zn.1pf.13z.1j7.r9.1hb.4yp.1lt.1cw.1z4.19z.1og.1j4.1cl.1eg.u8.16s.1en.zu.1hr.1js.19g.303.22j.2oa.180.1v7.2ud.2d7.21s.3g9.vh.v1.284.3lg.3lg.17q.1h3.4mo.1cm.1rv.22i.2mc.2j3.27o.333.1q8.237.2ll.23b.2sp.2ll.2ox.2cf.2f8.2hz.1uo.y4.s9.w6.2dg.2q9.up.1m1.1vz.2n8.192.1eb.z7.2em.2q3.1sd.1gj.348.3vf.2iu.29x.1dc.7oj.4pq.5vb.4mx.5me.5sf.5yf.7ps.yj.q0.10w.13p.18b.2wd.11q.2vx.dd.iv.12p.jh.u9.1uy.w0.3f0.3bj.126.qo.1gj.11k.pu.22h.1z6.rp.y4.y0.xl.1d0.11s.wa.1a6.127.10m.12r.1nh.1fy.yo.1js.162.n4.174.1aj.y4.o8.qz.rh.qa.18s.mr.j3.ii.sr.sx.1jk.17l.mj.zr.uy.wa.19t.2bt.xe.1od.hs.xr.5b.12c.1ab.we.gz.mz.4y.sf.11s.e0.1l7.ew.h6.jz.l0.e8.1cx.p6.17u.bw.1ah.10r.10e.o9.1bc.uv.lq.tl.zb.100.jy.b8.bj.336.10n.na.sq.14r.yr.nm.123.tf.l1.zp.1xc.1vk.31l.zl.2bj.2b9.2fv.17p.y0.so.1ln.29c.1eh.nh.xn.131.qc.186.ff.fc.xq.1bm.la.l8.14f.243.111.xi.qw.1qn.11v.1ur.1jx.1ks.s9.nz.269.1zj.2zd.1pv.18n.2vk.p3.1fh.13v.1lf.1lu.2db.1sr.1k3.26o.1dl.1f3.187.2lh.166.v9.xh.1e3.119.s2.mt.1iu.1k6.1o2.12s.u4.2br.1q3.qv.1e4.1zu.1v4.1vk.1t3.3p7.1ob.14d.1ns.1ef.1e4.12w.2kk.1ba.2jx.1e0.1s5.12w.17r.14s.wz.1qp.183.3fb.188.1gr.2ot.168.1u7.w8.28o.1zd.32z.230.w7.vq.x8.1qh.19f.14o.2r9.qg.1ey.1qr.1p6.3a3.1ov.13d.tz.wk.22v.1qa.2l9.yw.yf.nw.p6.1ly.1jk.1nh.x9.q0.17r.17h.ux.uw.12y.p7.g7.kt.14c.ze.1kh.1eo.18a.1d8.26j.15k.19f.1ym.1j5.1c6.11k.1sd.1jp.1ws.13s.1o5.214.sx.px.20x.14h.1ja.s6.1q8.w8.1ks.so.ub.121.202.1ej.1g1.1s8.2bc.4t1.bih.3uw.3pb.avp.6c7.bko.5eg.79c.6wh.3wd.4pn.55j.4a5.3gg.bko.5ei.52p.578.bcv.6gr.2bc.4j9.5y7.9d2.2bb.2bc.668.73z.5pg.50f.5m7.788.267.642.8h2.8h2.49s.64g.5e8.5e8.2bb.3ih.5ur.6bk.578.4ck.3sg.5fe.23i.e9w.2b8.5oj.6bw.2al.2rk.2rk.5pj.n6e.350.6v9.70t.639.3uw.3uw.2bg.639.2bb.2bd.6gj.2bh.660.578.3bk.65e.359.3o0.44i.4tn.1zq.5ee.4a5.3zu.rs.639.33q.5eg.1k1.15o.dw.3uw.b7p.7qd.898.4l4.5uu.5uu.b4g.2yh.2yh.3uw.51a.51a.5kk.66f.iq9.3n7.4nb.46a.1wb.20p.bih.8xa.7ps.70t.70t.4rv.5p1.6aq.ts.63z.668.5v2.5nu.563.55s.55s.5p3.2ga.32x.42x.5cr.4c2.71b.5zp.5c2.66t.4c8.2bc.2bc.2gn.3ea.2kp.fz6.8hz.3e8.4an.bko.j7e.jag.7sr.2bc.3zx.7qd.5ut.5jp.2wk.5q7.3uw.334.4i3.3uw.4bd.5eu.46h.4i2.6t4.446.5s7.5cg.4bk.5nd.7bf.4rt.23b.2bc.2bc.2bc.2bc.2ba.4mo.4dv.3wn.2bc.1we.4he.2bc.4gz.3wn.3km.4xy.4hi.4mr.2bc.247.3yj.2c6.2bc.3aj.446.4ub.3uw.51.e0.86.is.i1.hg.mn.m4.2c.7h.sg.e3.jb.7r.eq.nf.u0.60.4o.ke.47.47.47.47.b8.4x.dr.dy.rw.rw.59.8j.5z.a5.l3.c0.ik.f7.li.lr.7x.dv.du.dd.5e.91.1b.ce.cc.59.bh.e6.8m.9n.cl.lt.7ip.4mr.4si.4kf.vo.we.13e.17n.1iw.2pi.lp.r6.gw.7x.xz.qt.bq.ls.q1.eh.bx.cr.3c.j7.b8.fz.4k.8p.bg.5w.iy.j3.12o.rs.cz.dp.yz.jk.63.63.7ps.7ps.7ps.40g.3jp.4tw.89k.88a.7s0.83d.668.7ps.2fw.2ev.2fp.7ps.2jb.2dh.2ud.25i.24c.2bt.1pa.17r.1a7.7ps.7pt.5rg.4nl.3vv.7qo.31a.2p0.2k0.49a.3v4.3nl.1ug.1ug.1l6.7s1.7ps.2cp.2f8.2i7.7ps.28q.2be.275.1ma.1oz.1q7.16s.1iq.1e0.78m.7ps.2bc.2bc.2bc.bko.2wu.2wu.2wu.3b4.38f.3uw.3uw.3uw.3uw.7ps.7qa.32n.2gg.2wk.7rv.1v3.1qq.1rb.1zk.1my.1zp.1yn.1oh.1uh.7st.9q.9q.9q.9q.9q.kk.kk.kk.kk.kk.dw.dp.dw.rs.rs.rs.rs.s4.sd.54j.5n8.2n6.21r.1nu.1o5.14u.t6.3f7.2j0.32c.304.189.1gf.18w.18j.1st.1vq.116.kw.3uw.3uw.vr.zx.xc.tc.7d.7r.9d.9w.8s.9p.3b.3b"]].map(([t,e])=>[t,e.split(".").map(i=>parseInt(i,36)/1e3)]);function Go(t){if(!Number.isSafeInteger(t))return null;for(let[e,i]of u0)if(t>=e&&t<e+i.length)return i[t-e];return null}import{randomUUID as ih}from"node:crypto";function jo(t){for(let e of t.runtime.scrollControls||[]){let[i,r]=an(e),n=e.kind==="grid"?Cr(e):Jd(e,i,r),o={offset:n.offset,max:n.max,horizontal:n.horizontal,showBar:e.showScrollBar!==!1,textWidth:n.textWidth??0,lines:n.lines||[],lineHeight:n.lineHeight||0,contentLength:n.length,...e.kind==="textwindow"?{fontSize:n.fontSize}:{}},s=JSON.stringify(o);e._scrollKey!==s&&(e._scrollKey=s,e._scroll=o,e.markPlayDirty())}}function rh(t){return{...t._scroll?{scroll:t._scroll}:{},...t.parent?._gridItems?.includes(t)?{clipToParent:!0}:{}}}function nl(t,e){let i=t._scroll?.max||0;t.kind==="grid"?t.scrollProgress=i?$o(e,i)/i:0:t._scrollOffset=$o(e,i),t.markPlayDirty()}var c0=Object.freeze(Object.values(Ee).map(t=>Object.freeze({id:t.id,label:t.label,platform:t.platform,width:t.width,height:t.height})));function Vo(t){jo(t);let e=Qe({width:t.runtime.canvasWidth,height:t.runtime.canvasHeight}),i=new Map;function r(n,o,s){let a=Vt(o,n);a.activeInHierarchy=s&&n.active!==!1,i.set(n.Id,a);let l=a.activeInHierarchy;for(let u of n.children)r(u,a,l)}for(let n of t.runtime.roots)r(n,e,!0);return i}function nh(t,e=Vo(t)){let i=new Map;function r(n,o){let s=e.get(n.Id);if(!s)return;let a=jr(o,s,n);i.set(n.Id,a);for(let l of n.children)r(l,a)}for(let n of t.runtime.roots)r(n,nr());return i}function oh(t,e){let i=e.get(t.Id);return{id:t.Id,prefabId:t.prefabIndex,authoringId:t.authoringId,name:t.name,kind:t.kind,typeofName:t.typeofName,instantiated:!t.authoringId,active:!!t.active,visible:!!t.visible,activeInHierarchy:!!i?.activeInHierarchy,raycastTarget:t.raycastTarget!==!1,interactable:t.interactable!==!1,pressed:t.pressed===!0,...t._scroll?{scrollOffset:t._scroll.offset,scrollMax:t._scroll.max}:{},...t.kind==="grid"?{itemCount:t.itemCount,scrollProgress:t.scrollProgress}:{},anchoredPositionX:t.anchoredPositionX,anchoredPositionY:t.anchoredPositionY,sizeDeltaX:t.sizeDeltaX,sizeDeltaY:t.sizeDeltaY,localScaleX:t.localScaleX,localScaleY:t.localScaleY,localScaleZ:t.localScaleZ,localRotationZ:t.localRotationZ,text:t.kind==="textbox"||t.kind==="textwindow"?t.text??"":null,fontSize:t.kind==="textbox"||t.kind==="textwindow"?t.fontSize:null,adaptiveFontSize:t.kind==="textbox"||t.kind==="textwindow"?t.adaptiveFontSize===!0:null,minimumFontSize:t.kind==="textbox"||t.kind==="textwindow"?t.minimumFontSize:null,fontColor:t.kind==="textbox"||t.kind==="textwindow"?t.fontColor:null,bgColor:t.kind==="textbox"||t.kind==="textwindow"?t.bgColor:null,enableOutline:t.kind==="textbox"||t.kind==="textwindow"?t.enableOutline===!0:null,outlineColor:t.kind==="textbox"||t.kind==="textwindow"?t.outlineColor:null,imageId:t.kind==="image"?t.imageId??0:null,imageSource:t.kind==="image"?st(t.imageSource):null,imageType:t.kind==="image"?t.imageType==null?null:At(t.imageType):null,primitive:t.kind==="image"?ir(t.imageId,t.imageSource):null,imageColor:t.kind==="image"?t.imageColor:null,enableMask:t.kind==="image"?t.enableMask===!0:null,enableSoftEdge:t.kind==="image"?t.enableSoftEdge===!0:null,softEdgeMode:t.kind==="image"?t.softEdgeMode:null,softEdgeWidthX:t.kind==="image"?t.softEdgeWidthX:null,softEdgeWidthY:t.kind==="image"?t.softEdgeWidthY:null,horizontalSoftRange:t.kind==="image"?t.horizontalSoftRange:null,verticalSoftRange:t.kind==="image"?t.verticalSoftRange:null,enableFill:t.kind==="image"?t.enableFill===!0:null,fillType:t.kind==="image"?t.fillType:null,fillHorizontalType:t.kind==="image"?t.fillHorizontalType:null,fillVerticalType:t.kind==="image"?t.fillVerticalType:null,fillRadial90Type:t.kind==="image"?t.fillRadial90Type:null,fillRadialType:t.kind==="image"?t.fillRadialType:null,reverseMaskArea:t.kind==="image"?t.reverseMaskArea===!0:null,fillAmount:t.kind==="image"?t.fillAmount:null,box:i?{left:i.left,bottom:i.bottom,width:i.width,height:i.height}:null,children:t.children.map(r=>oh(r,e))}}function f0(){return{pointerDownControl:null,pointerDownPosition:null,pointerLastPosition:null,pointerDragging:!1,pointerHoverControl:null,pointerScroll:null,hoveredControl:null,selectedControl:null,stateRestores:new Map,viewCache:null}}function d0(t,e,i,r){let n=fn({canvasWidth:t.canvasWidth,canvasHeight:t.canvasHeight,device:t.device,audioDuration:Go,canSelectImageType:ru,...r?{language:r}:{}});for(let o of[...t.templates||[],...e?.templates||[]])Number.isSafeInteger(o.prefabIndex)&&o.prefabIndex>0&&n.registerTemplate(o.prefabIndex,o);for(let o of i){let s=o.path||o.id,a=o.source||"";s&&a&&n.registerScriptFile(s,a)}return n}var h0=["pointerDownControl","pointerDownPosition","pointerLastPosition","pointerDragging","pointerHoverControl","pointerScroll","hoveredControl","selectedControl","stateRestores","viewCache"];function p0(t){Object.defineProperty(t,"runtime",{configurable:!0,enumerable:!0,get(){return t.runtimes[t.viewPlayerIndex-1]}});for(let e of h0)Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get(){return t.views[t.viewPlayerIndex-1][e]},set(i){t.views[t.viewPlayerIndex-1][e]=i}})}function sh(t,{templatesProject:e=null,scripts:i=[],sceneScripts:r=null,templateScripts:n=null,serverConfig:o=null,canvasId:s="",playerCount:a=1,viewPlayerIndex:l=1,language:u=""}={}){let c=r||i,f=n||i,h=el(t,c,s),m=e?el(e,f,s):null,g=Vi(a),v=ri(l,g),w=Yd({playerCount:g,viewPlayerIndex:v});o&&w.loadConfig({...o,playerCount:g,viewPlayerIndex:v});let S=[];for(let I=0;I<g;I+=1)S.push(d0(h,m,i,u));w.attachRuntimes(S);for(let I of S)I.addRoot(h.root);let x={audioSessionId:ih(),runtimes:S,views:S.map(()=>f0()),playerCount:g,viewPlayerIndex:v,server:w,compiled:h,mountError:S.find(I=>I.mountErrors[0])?.mountErrors[0]||null,debugPaused:!1,history:{events:[]},recording:!0};p0(x);let F=x.viewPlayerIndex;for(let I=1;I<=g;I+=1)x.viewPlayerIndex=I,E0(x);return x.viewPlayerIndex=F,x}function ll(t,e){if(!t)throw new Error("play session has not started");let i=ri(e,t.playerCount);return i===t.viewPlayerIndex||(_i(t,{kind:"view",payload:{playerIndex:i}}),t.viewPlayerIndex=i,t.viewCache=null,t.server&&t.server.setViewPlayerIndex(i)),i}function _i(t,e){!t?.recording||!t.history||Kd(t.history,{...e,source:e.source||"user"},t.runtime.clock.time)}function m0(t){return t?.history?.events||[]}var ul=new Set(["image","textbox","textwindow","button","grid"]);function g0(t,e){let i=tt(e,t.centerX,t.centerY);return{centerX:i.x,centerY:i.y,scaleX:Math.hypot(e.a,e.b),scaleY:Math.hypot(e.c,e.d),rotationZ:Math.atan2(e.b,e.a)*180/Math.PI,matrix:{a:e.a,b:e.b,c:e.c,d:e.d,tx:i.x,ty:i.y}}}function At(t){return typeof t=="string"?t:t?.Name}function ah(t){return{fillType:At(t.fillType),fillHorizontalType:At(t.fillHorizontalType),fillVerticalType:At(t.fillVerticalType),fillAmount:t.fillAmount}}function y0(t,e,i){let r=Math.abs(e.width*i.scaleX),n=Math.abs(e.height*i.scaleY),o={id:t.Id,kind:t.kind,name:t.name,left:i.centerX-r/2,bottom:i.centerY-n/2,width:r,height:n,sourceWidth:e.width,sourceHeight:e.height,rotationZ:i.rotationZ,matrix:i.matrix,pressed:t.pressed===!0,...rh(t)};return t.kind==="image"&&(o.imageSource=st(t.imageSource),o.imageType=t.imageType==null?null:At(t.imageType),o.primitive=ir(t.imageId,o.imageSource),o.imageColor=t.imageColor,o.imageId=t.imageId,Object.assign(o,ah(t))),(t.kind==="textbox"||t.kind==="textwindow")&&(o.text=t.text??"",o.fontSize=t.fontSize,o.adaptiveFontSize=t.adaptiveFontSize===!0,o.minimumFontSize=t.minimumFontSize,o.textLayout=Wt(t,e.width,e.height),o.fontColor=t.fontColor,o.bgColor=t.bgColor,o.enableOutline=t.enableOutline===!0,o.outlineColor=t.outlineColor,o.horizontalAlignment=At(t.horizontalAlignment),o.verticalAlignment=At(t.verticalAlignment)),o}function v0(t,e=Vo(t)){let i=[],r=nh(t,e);function n(o,s=[],a=[]){let l=e.get(o.Id);if(!l||o.visible===!1||!l.activeInHierarchy)return;let u=r.get(o.Id);if(!u)return;let c=g0(l,u),f=o.kind==="image"&&o.enableMask===!0?cr({...lh(o,l),id:o.Id},Vn(u,l.centerX,l.centerY)):null,h=f?[...a,f]:a,m=()=>i.push({...y0(o,l,c),...s.length?{clipPolygons:s}:{},...h.length?{masks:h}:{}});ul.has(o.kind)&&o.kind!=="grid"&&m();let g=o.children||[];for(let v=g.length-1;v>=0;v-=1){let w=o._gridItems?.includes(g[v])?[...s,[[l.left,l.bottom],[l.right,l.bottom],[l.right,l.top],[l.left,l.top]].map(([S,x])=>tt(u,S,x))]:s;n(g[v],w,h)}o.kind==="grid"&&m()}for(let o of t.runtime.roots)n(o);return i}function lh(t,e){let i={kind:t.kind,name:t.name,sourceWidth:e.width,sourceHeight:e.height,pressed:t.pressed===!0,...rh(t)};return t.kind==="image"&&(i.imageSource=st(t.imageSource),i.imageType=t.imageType==null?null:At(t.imageType),i.primitive=ir(t.imageId,i.imageSource),i.imageColor=t.imageColor,i.imageId=t.imageId,Object.assign(i,ah(t),{enableMask:t.enableMask===!0,enableSoftEdge:t.enableSoftEdge===!0,softEdgeMode:At(t.softEdgeMode)||"Percentage",softEdgeWidthX:t.softEdgeWidthX,softEdgeWidthY:t.softEdgeWidthY})),(t.kind==="textbox"||t.kind==="textwindow")&&(i.text=t.text??"",i.fontSize=t.fontSize,i.adaptiveFontSize=t.adaptiveFontSize===!0,i.minimumFontSize=t.minimumFontSize,i.textLayout=Wt(t,e.width,e.height),i.fontColor=t.fontColor,i.bgColor=t.bgColor,i.enableOutline=t.enableOutline===!0,i.outlineColor=t.outlineColor,i.horizontalAlignment=At(t.horizontalAlignment),i.verticalAlignment=At(t.verticalAlignment)),i}function b0(t,e,i){let r=ds(t,e),n=tt(r,t.centerX,t.centerY);return{a:r.a,b:r.b,c:r.c,d:r.d,tx:n.x-(i?i.centerX:0),ty:n.y-(i?i.centerY:0)}}function uh(t){let e=t.matrix;return[t.parent,t.z,t.group?1:0,e.a,e.b,e.c,e.d,e.tx,e.ty,t.kind,t.name,t.sourceWidth,t.sourceHeight,t.pressed,t.primitive,t.imageColor,t.imageId,t.imageSource,t.imageType,t.fillType,t.fillHorizontalType,t.fillVerticalType,t.fillAmount,t.enableMask,t.enableSoftEdge,t.softEdgeMode,t.softEdgeWidthX,t.softEdgeWidthY,t.text,t.fontSize,t.fontColor,t.bgColor,t.adaptiveFontSize,t.minimumFontSize,JSON.stringify(t.textLayout),t.enableOutline,t.outlineColor,t.horizontalAlignment,t.verticalAlignment,JSON.stringify(t.scroll),t.clipToParent].join(" ")}function ch(t,e,i,r,n,o){return{id:t.Id,parent:e,z:n,group:o>=16,matrix:b0(r,t,i),...lh(t,r)}}function w0(t){let e=Qe({width:t.runtime.canvasWidth,height:t.runtime.canvasHeight}),i=new Set,r=new Map,n=new Map;function o(l,u,c){let f=Vt(u,l);if(f.activeInHierarchy=c&&l.active!==!1,n.set(l.Id,f),l.visible===!1||!f.activeInHierarchy)return!1;let h=l.children||[],m=ul.has(l.kind),g=0;for(let v=0;v<h.length;v+=1)o(h[v],f,f.activeInHierarchy)&&(m=!0,g+=1);return m?(i.add(l.Id),r.set(l.Id,g),!0):!1}function s(l,u,c,f){if(!i.has(l.Id))return;let h=n.get(l.Id);a.push(ch(l,u,c,h,f,r.get(l.Id)||0));let m=l.children||[];for(let g=0;g<m.length;g+=1)s(m[g],l.Id,h,g)}let a=[];for(let l=0;l<t.runtime.roots.length;l+=1)o(t.runtime.roots[l],e,!0),s(t.runtime.roots[l],null,null,l);return{nodes:a,childCounts:r}}function sl(t){let e=t._playChildDirty===!0||t._playDeepDirty===!0;if(t._playDirty=!1,t._playChildDirty=!1,t._playDeepDirty=!1,!e)return;let i=t.children;for(let r=0;r<i.length;r+=1)sl(i[r])}function S0(t,e){let i=Qe({width:t.runtime.canvasWidth,height:t.runtime.canvasHeight}),r=[],n=[],o=e.count,s=t.runtime._playRemoved||[];for(let u=0;u<s.length;u+=1){let c=s[u];e.fingerprints.has(c)&&(n.push(c),e.fingerprints.delete(c),e.childCounts.delete(c),o-=1)}t.runtime._playRemoved=[];function a(u){e.fingerprints.has(u.Id)&&(n.push(u.Id),e.fingerprints.delete(u.Id),e.childCounts.delete(u.Id),o-=1);let c=u.children;for(let f=0;f<c.length;f+=1)a(c[f])}function l(u,c,f,h,m,g){let v=g||u._playDeepDirty===!0,w=v||u._playDirty===!0,S=v||u._playChildDirty===!0;if(!w&&!S)return;if(!(m&&u.active!==!1)||u.visible===!1){a(u);return}let F=Vt(c,u),I=e.childCounts.get(u.Id)||0;if(S){I=0;let T=u.children;for(let y=0;y<T.length;y+=1)l(T[y],F,u.Id,y,!0,v),e.fingerprints.has(T[y].Id)&&(I+=1)}if(!(ul.has(u.kind)||I>0)){e.fingerprints.has(u.Id)&&(n.push(u.Id),e.fingerprints.delete(u.Id),e.childCounts.delete(u.Id),o-=1);return}let $=e.childCounts.get(u.Id);e.childCounts.set(u.Id,I);let j=I>=16!=($||0)>=16;if(!w&&!j&&e.fingerprints.has(u.Id))return;let G=ch(u,f,c===i?null:c,F,h,I),_=uh(G);e.fingerprints.get(G.id)!==_&&(e.fingerprints.has(G.id)||(o+=1),e.fingerprints.set(G.id,_),r.push(G))}for(let u=0;u<t.runtime.roots.length;u+=1)l(t.runtime.roots[u],i,null,u,!0,!1);return e.count=o,{changed:r,removed:n,count:o}}function x0(t,e){let i=t.viewCache||(t.viewCache={rev:0,fingerprints:new Map,childCounts:new Map,count:0}),r=Number(e);if(!(Number.isFinite(r)&&r===i.rev&&i.fingerprints.size>0)){let{nodes:l,childCounts:u}=w0(t);i.rev+=1,i.fingerprints=new Map(l.map(c=>[c.id,uh(c)])),i.childCounts=u,i.count=l.length;for(let c of t.runtime.roots)sl(c);return{format:"tree-v1",revision:i.rev,reset:!0,count:l.length,nodes:l}}let{changed:o,removed:s,count:a}=S0(t,i);i.rev+=1;for(let l of t.runtime.roots)sl(l);return{format:"tree-v1",revision:i.rev,reset:!1,count:a,changed:o,removed:s}}function cl(t,{inspect:e=!1,view:i=!1,paint:r=!1,sceneRev:n,compact:o=!1}={}){jo(t),t.audioSessionId||=ih();let s=t.runtime,a=t.compiled,[l,u]=[s.canvasWidth,s.canvasHeight];t.server&&t.server.setClock(s.clock.time);let c=o?s.logs.slice(-100):s.logs,f=m0(t),h=t.server?t.server.snapshot():{vars:{},inbound:[],outbound:[],logs:[]};o&&(h.inbound=h.inbound.slice(-100),h.outbound=h.outbound.slice(-100),h.logs=h.logs.slice(-100));let m={canvasId:a.canvasId,platform:a.platform,device:s.device,canvasWidth:l,canvasHeight:u,canvasPresets:c0,playerCount:t.playerCount||1,viewPlayerIndex:t.viewPlayerIndex||1,players:Array.from({length:t.playerCount||1},(g,v)=>({index:v+1,label:`\u73A9\u5BB6${v+1}`,entityType:`Player${v+1}`})),time:s.clock.time,frame:s.clock.frame,paused:!!t.debugPaused,levelTimePaused:!!s.clock.paused,audio:{sessionId:t.audioSessionId,playerIndex:t.viewPlayerIndex||1,...s.audioSnapshot()},mountError:t.mountError||s.mountErrors[0]||null,logs:c.map(g=>({source:"client",level:g.level,text:g.text,time:g.time})),tree:[],paint:[],scene:null,server:h,history:(o?f.slice(-100):f).map(g=>({t:g.t,source:g.source||"user",kind:g.kind,payload:g.payload||{}}))};if(e||r){let g=Vo(t);e&&(m.tree=s.roots.map(v=>oh(v,g))),r&&(m.paint=v0(t,g))}return i&&(m.scene=x0(t,n)),rr(m),m}function Uo(t,e=1/30){let i=t.runtimes||(t.runtime?[t.runtime]:[]);for(let r of i)r.step(e);t.server&&(t.server.setClock(t.runtime.clock.time),t.server.flush())}function fl(t,e){_i(t,{kind:"key",payload:{typeName:String(e)}}),t.runtime.injectKey(e)}function I0(t,e){let i=null;for(let r of t.runtime.roots)Gt(r,n=>{!i&&n.name===e&&(i=n)});return i}function dl(t,e){_i(t,{kind:"click",payload:{name:String(e)}});let i=I0(t,e);i&&hl(i)&&(i.kind==="button"||i.kind==="cursor")&&i.SimulateCursorClick()}function _0(t,e){return!t||!e?null:t.children.find(i=>i.authoringId===e||i.Id===e)||null}var fh={unavailable:"unavailableChildId",hover:"hoverChildId",pressed:"pressedChildId",selected:"selectedChildId"};function dh(t,e){let i=[];for(let[r,n]of Object.entries(fh)){let o=e[n]?_0(e,e[n]):null;o&&i.push({state:r,child:o})}return i}function E0(t){for(let e of t.runtime.roots)Gt(e,i=>{if(i.kind==="button"){for(let{child:r}of dh(t,i))t.stateRestores.has(r.Id)||t.stateRestores.set(r.Id,{child:r,active:r.active,visible:r.visible}),r.active=!0,r.visible=!1,typeof r.markPlayDirty=="function"&&r.markPlayDirty(!0);yn(t,i)}})}function yn(t,e){if(!e||e.kind!=="button")return;let i=null;e.interactable===!1?i="unavailable":e.pressed===!0?i="pressed":t.hoveredControl===e?i="hover":t.selectedControl===e&&(i="selected");for(let r of dh(t,e))r.child.active=!0,r.child.visible=r.state===i,typeof r.child.markPlayDirty=="function"&&r.child.markPlayDirty(!0)}function ol(t){if(!t)return null;let e=t.parent;return e?.kind==="button"&&Object.values(fh).map(r=>e[r]).filter(Boolean).includes(t.authoringId)?e:t}function hl(t){return t.kind==="button"?t.raycastTarget!==!1&&t.interactable!==!1:t.kind==="cursor"||t.kind==="grid"?t.raycastTarget!==!1:t.kind==="textwindow"?t.interactable!==!1:t.raycastTarget===!0}function hh(t){return t.kind==="container"||t.kind==="grid"||t.kind==="textwindow"||t.kind==="reference"||t.kind==="button"}function ph(t,e){let i=t.Id,r=e.get(i);if(r!==void 0)return r;let n=hl(t);if(!n&&hh(t)){let o=t.children;for(let s=0;s<o.length;s+=1)if(ph(o[s],e)){n=!0;break}}return e.set(i,n),n}function qo(t,e,i){jo(t);let r=Qe({width:t.runtime.canvasWidth,height:t.runtime.canvasHeight}),n=new Map;function o(a,l,u,c){if(!c||a.active===!1||a.visible===!1||!ph(a,n))return null;let f=Vt(l,a),h=jr(u,f,a),m=Ut(h);if(!m)return null;let g=tt(m,e,i);if(g.x<f.left||g.x>f.right||g.y<f.bottom||g.y>f.top)return null;if(Bo(a)){let v=Rr(a._scroll,f.width,f.height)?.track,w=g.x-f.centerX,S=f.centerY-g.y;if(v&&w>=v.x&&w<=v.x+v.width&&S>=v.y&&S<=v.y+v.height)return a}if(hh(a))for(let v=0;v<a.children.length;v+=1){let w=o(a.children[v],f,h,!0);if(w)return w}return hl(a)?a:null}let s=nr();for(let a=t.runtime.roots.length-1;a>=0;a-=1){let l=o(t.runtime.roots[a],r,s,!0);if(l)return l}return null}function Or(t,e,i,{dragging:r=!1,press:n=null,previous:o=null}={}){let s=n||{x:e,y:i},a=o||{x:e,y:i};return t.runtime.makeCursorEventData({x:e,y:i,pressX:s.x,pressY:s.y,deltaX:e-a.x,deltaY:i-a.y,dragging:r})}function al(t,e,i){e.kind==="grid"||e.kind==="textwindow"||(e.pressed=i,typeof e.markPlayDirty=="function"&&e.markPlayDirty(),yn(t,e))}function Bo(t){if(!t?.alive||!t.activeInHierarchy||t.interactable===!1||t.raycastTarget===!1)return!1;for(let e=t;e;e=e.parent)if(e.visible===!1)return!1;return t._scroll?.max>0}function Qd(t){for(let e=t;e;e=e.parent)if(Bo(e))return e;return null}function eh(t,e,i,r){let n=Vo(t),o=n.get(e.Id),s=nh(t,n).get(e.Id),a=s&&Ut(s);if(!o||!a)return null;let l=tt(a,i,r);return{x:l.x-o.centerX,y:o.centerY-l.y,width:o.width,height:o.height}}function th(t,e,i){let r=t.pointerDownControl;if(r?.alive){let n=Or(t,e,i,{dragging:t.pointerDragging,press:t.pointerDownPosition,previous:t.pointerLastPosition});t.runtime.injectCursor(r,"CursorUp",n),t.pointerDragging&&!t.pointerScroll&&t.runtime.injectCursor(r,"CursorEndDrag",n),al(t,r,!1)}t.pointerDownControl=null,t.pointerScroll=null,t.pointerDownPosition=null,t.pointerDragging=!1,t.pointerLastPosition={x:e,y:i}}function vn(t,e,i,r,n={}){let o=Number(i),s=Number(r);if(!Number.isFinite(o)||!Number.isFinite(s))throw new Error("pointer coordinates must be finite");t.runtime.cursor.x=o,t.runtime.cursor.y=s;let a=Number(n.deltaX??0),l=Number(n.deltaY??0);if(e==="wheel"&&(!Number.isFinite(a)||!Number.isFinite(l)))throw new Error("wheel deltas must be finite");if(n.silent||_i(t,{kind:"pointer",payload:{type:e,x:o,y:s,...e==="wheel"?{deltaX:a,deltaY:l}:{}}}),e==="wheel"){let u=qo(t,o,s),c=Qd(u);if(c){let f=c._scroll.horizontal&&a||l;nl(c,c._scroll.offset+f)}return u}if(e==="cancel")return th(t,o,s),null;if((e==="move"||e==="up")&&t.pointerScroll&&!Bo(t.pointerScroll.control)&&th(t,o,s),e==="move"){let u=t.pointerLastPosition||{x:o,y:s},c=t.pointerHoverControl,f=ol(qo(t,o,s)),h=Or(t,o,s,{previous:u});c&&c!==f&&t.runtime.injectCursor(c,"CursorExit",h),f&&c!==f&&t.runtime.injectCursor(f,"CursorEnter",h),t.pointerHoverControl=f;let m=t.hoveredControl;t.hoveredControl=f?.kind==="button"?f:null,m&&m!==t.hoveredControl&&yn(t,m),t.hoveredControl&&yn(t,t.hoveredControl);let g=t.pointerDownControl,v=t.pointerScroll;if(v)if(!Bo(v.control))t.pointerScroll=null;else{let w=eh(t,v.control,o,s);if(w){let S=v.control._scroll,x=S.horizontal?w.x-v.start.x:w.y-v.start.y,F=Rr(S,w.width,w.height)?.travel||0,I=v.bar?F?x*S.max/F:0:-x;nl(v.control,v.offset+I)}}if(g?.alive){let w=t.pointerDownPosition||u,S=Math.hypot(o-w.x,s-w.y)>5;!t.pointerDragging&&S&&(v||t.runtime.injectCursor(g,"CursorBeginDrag",Or(t,o,s,{press:w,previous:u,dragging:!1})),t.pointerDragging=!0),t.pointerDragging&&!v&&t.runtime.injectCursor(g,"CursorDrag",Or(t,o,s,{press:w,previous:u,dragging:!0}))}return t.pointerLastPosition={x:o,y:s},f}if(e==="down"){let u=ol(qo(t,o,s));t.pointerDownControl=u,t.pointerDownPosition={x:o,y:s},t.pointerLastPosition={x:o,y:s},t.pointerDragging=!1,t.pointerScroll=null;let c=Qd(u);if(c){let f=eh(t,c,o,s),h=f&&Rr(c._scroll,f.width,f.height),m=v=>f.x>=v.x&&f.x<=v.x+v.width&&f.y>=v.y&&f.y<=v.y+v.height,g=h&&m(h.track);if(g&&!m(h.thumb)){let v=c._scroll.horizontal?f.x-h.track.x-h.thumb.width/2:f.y-h.track.y-h.thumb.height/2;nl(c,h.travel?v/h.travel*c._scroll.max:0),jo(t)}f&&(t.pointerScroll={control:c,start:f,offset:c._scroll.offset,bar:!!g})}return u&&(al(t,u,!0),t.runtime.injectCursor(u,"CursorDown",Or(t,o,s))),u}if(e==="up"){let u=t.pointerDownControl,c=ol(qo(t,o,s));if(u?.alive){let f=Or(t,o,s,{press:t.pointerDownPosition,previous:t.pointerLastPosition,dragging:t.pointerDragging});if(t.runtime.injectCursor(u,"CursorUp",f),t.pointerDragging)t.pointerScroll||t.runtime.injectCursor(u,"CursorEndDrag",f);else if(c===u&&!t.pointerScroll?.bar){t.runtime.injectCursor(u,"CursorClick",f);let h=t.selectedControl;t.selectedControl=u.kind==="button"?u:null,h&&h!==t.selectedControl&&yn(t,h)}al(t,u,!1)}return t.pointerDownControl=null,t.pointerDownPosition=null,t.pointerLastPosition={x:o,y:s},t.pointerDragging=!1,t.pointerScroll=null,c}if(e==="click")return vn(t,"down",o,s,{silent:!0}),vn(t,"up",o,s,{silent:!0});throw new Error(`unknown pointer type ${e}`)}function pl(t,e,i,r){if(!t?.server)throw new Error("play session has no server");return _i(t,{kind:"serverSet",payload:{entityType:e,name:i,value:r,playerIndex:t.viewPlayerIndex}}),t.server.setVar(e,i,r,{playerIndex:t.viewPlayerIndex})}function mh(t,e,i){if(!t?.server)throw new Error("play session has no server");let r=t.server.getVar(e,i,{playerIndex:t.viewPlayerIndex});return r===void 0?null:r}function ml(t,e,i=[],r="PlayerSelf"){if(!t?.server)throw new Error("play session has no server");return _i(t,{kind:"serverSend",payload:{name:e,params:i,target:r,playerIndex:t.viewPlayerIndex}}),t.server.sendToClient(e,i,{target:r,playerIndex:t.viewPlayerIndex})}function Ho(t){return{snapshot:e=>cl(t,e),step:e=>Uo(t,e),pointer:(e,i,r,n)=>vn(t,e,i,r,n),key:e=>fl(t,e),click:e=>dl(t,e),view:e=>ll(t,e),pause:()=>{_i(t,{kind:"pause",payload:{}}),t.debugPaused=!0},resume:()=>{_i(t,{kind:"resume",payload:{}}),t.debugPaused=!1},serverSet:(e,i,r)=>pl(t,e,i,r),serverSend:(e,i,r)=>ml(t,e,i,r)}}function gl(t){t?.server&&t.server.destroy();let e=t?.runtimes||(t?.runtime?[t.runtime]:[]);for(let i of e)i.destroy()}function yl(t,e){return JSON.stringify(t)===JSON.stringify(e)}function gh(t,e){for(let i of t||[])e(i),i.children?.length&&gh(i.children,e)}function vl(t,{id:e,name:i}){let r=null;return gh(t,n=>{r||(e&&String(n.id)===String(e)||!e&&i&&n.name===i)&&(r=n)}),r}function C0(t,e){if(t){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];if(t.box&&Object.prototype.hasOwnProperty.call(t.box,e))return t.box[e]}}function k0(t){return{var(e,i){return t.server?.vars?.[e]?.[i]?.value??null},logs(){return(t.logs||[]).map(e=>e.text)},logContains(e){return(t.logs||[]).some(i=>String(i.text||"").includes(String(e)))},serverLogs(){return(t.server?.logs||t.serverLogs||[]).map(e=>e.text)},serverLogContains(e){return(t.server?.logs||t.serverLogs||[]).some(i=>String(i.text||"").includes(String(e)))},control(e){let i=vl(t.tree,{name:String(e)});return i?{id:i.id,name:i.name,kind:i.kind,active:i.active,visible:i.visible,pressed:i.pressed,text:i.text,interactable:i.interactable}:null},signals(e){let i=e==="outbound"?"outbound":"inbound";return(t.server?.[i]||[]).map(r=>({name:r.name,values:r.values}))}}}function A0(t,e){if(t.kind==="log"){let i=t.source==="server"?e.server?.logs||e.serverLogs||[]:e.logs||[];return i.some(n=>t.level&&n.level!==t.level?!1:String(n.text||"").includes(t.contains))?{ok:!0,actual:t.contains}:{ok:!1,actual:i.map(n=>n.text).slice(-8),expected:t.contains}}if(t.kind==="control"){let i=vl(e.tree,t);if(!i)return{ok:!1,actual:null,expected:t.equals,message:`control not found: ${t.id||t.name}`};let r=C0(i,t.field);return yl(r,t.equals)?{ok:!0,actual:r}:{ok:!1,actual:r,expected:t.equals}}if(t.kind==="var"){let i=e.server?.vars?.[t.entityType],n=!i||!Object.prototype.hasOwnProperty.call(i,t.name)?null:i[t.name].value;return yl(n,t.equals)?{ok:!0,actual:n}:{ok:!1,actual:n,expected:t.equals}}if(t.kind==="signal"){let i=t.direction==="outbound"?e.server?.outbound||[]:e.server?.inbound||[],r=i.find(n=>n.name===t.name&&(t.values===void 0||yl(n.values,t.values)));return r?{ok:!0,actual:r.values}:{ok:!1,actual:i.map(n=>({name:n.name,values:n.values})),expected:{name:t.name,values:t.values??null}}}if(t.kind==="tree"){let i=!!vl(e.tree,{name:t.name});return i===t.exists?{ok:!0,actual:i}:{ok:!1,actual:i,expected:t.exists}}return{ok:!1,message:`unsupported assert kind ${t.kind}`}}function T0(t,e){let i=fn();try{return i.evalQueryScript(t,k0(e)),{ok:!0,actual:!0}}catch(r){return{ok:!1,message:r?.message||String(r)}}finally{i.destroy()}}function yh(t,e){return t.kind==="lua"?T0(t.source,e):A0(t,e)}function R0(t,e){let i=e>0?e:Yi;return Math.round((t+i)*1e9)/1e9}function O0(t,e){let i=e.payload||{};if(e.kind==="pointer")t.pointer(i.type,i.x,i.y,i);else if(e.kind==="key")t.key(i.typeName);else if(e.kind==="click")t.click(i.name);else if(e.kind==="pause")t.pause();else if(e.kind==="resume")t.resume();else if(e.kind==="serverSet")t.serverSet(i.entityType,i.name,i.value);else if(e.kind==="serverSend")t.serverSend(i.name,i.params,i.target);else if(e.kind==="view")t.view(i.playerIndex);else throw new Error(`unsupported event kind: ${e.kind}`)}function N0(t,e){let i=yh(t,e);return{kind:t.kind,at:Number(t.at||0),ok:!!i.ok,actual:i.actual??null,expected:i.expected??null,message:i.message||""}}function vh(t,e){let i=gn(e),r=i.events.slice().sort((S,x)=>S.t-x.t),n=i.asserts.slice(),o=i.dt||Yi,s=r.reduce((S,x)=>Math.max(S,x.t),0),a=n.reduce((S,x)=>Math.max(S,Number(x.at||0)),0),l=Math.max(s,a),u=0,c=[],f=0,h=n.some(S=>S.kind==="control"||S.kind==="tree"||S.kind==="lua"),m=t.snapshot({inspect:h}),g=()=>{for(;u<r.length&&r[u].t<=f+1e-9;)O0(t,r[u]),u+=1,m=t.snapshot({inspect:h})},v=()=>{for(let S of n)if(!S._done&&Number(S.at||0)<=f+1e-9){let x=N0(S,m);if(c.push(x),S._done=!0,!x.ok)return{passed:!1,failedAt:f,frame:m.frame||0,results:c,snapshot:m}}return null};g();let w=v();if(w)return bl(i,w);for(;f+1e-9<l;){t.step(o),f=R0(f,o),m=t.snapshot({inspect:h}),g();let S=v();if(S)return bl(i,S)}return bl(i,{passed:c.every(S=>S.ok),failedAt:null,frame:m.frame||0,results:c,snapshot:m})}function bl(t,e){return se({format:t.format,name:t.name,passed:e.passed,failedAt:e.failedAt,frame:e.frame,results:e.results,snapshot:{time:e.snapshot?.time??0,frame:e.snapshot?.frame??0,logs:e.snapshot?.logs||[],serverLogs:e.snapshot?.serverLogs||e.snapshot?.server?.logs||[],server:e.snapshot?.server||{vars:{},inbound:[],outbound:[],logs:[]}}})}function wl(t){return Array.isArray(t)?t.slice():[]}import{createHash as P0}from"node:crypto";var bh=t=>P0("sha256").update(JSON.stringify(t.map(({id:e,path:i,source:r})=>({id:e,path:i,source:r})))).digest("hex");function wh(t){let e=new Map;for(let r of t){let n=`${r.controlAsset}:${r.controlId}`,o=e.get(n);if(o&&o.newGuid!==r.oldGuid)throw new Error("\u7D22\u5F15\u53D8\u66F4\u8BB0\u5F55\u4E0D\u8FDE\u7EED\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6838\u5BF9");e.set(n,{oldGuid:o?.oldGuid??r.oldGuid,newGuid:r.newGuid})}let i=new Map;for(let{oldGuid:r,newGuid:n}of e.values()){if(i.has(r))throw new Error("\u591A\u4E2A\u63A7\u4EF6\u5171\u7528\u65E7\u7D22\u5F15\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6309\u63A7\u4EF6\u8EAB\u4EFD\u6838\u5BF9");i.set(r,n)}return new Map([...i].filter(([r,n])=>r!==n))}function Sh(t,e){let i=[],r=new Map([...e].map(([l,u])=>[String(l),u])),n=1,o=0,s=0;return{source:t.replace(/\d+/g,(l,u)=>{if(!r.has(l))return l;for(;o<u;o++)t[o]===`
|
|
125
|
-
`&&(n++,s=o+1);let c=r.get(l),f=u+l.length,h=t.indexOf(`
|
|
126
|
-
`,f);return i.push({start:u,end:f,oldGuid:Number(l),newGuid:c,line:n,before:t.slice(s,h<0?t.length:h).trim()}),String(c)}),edits:i,issues:[]}}var G0={Level:"\u5173\u5361",PlayerSelf:"\u5F53\u524D\u73A9\u5BB6",AvatarSelf:"\u5F53\u524D\u89D2\u8272",...Object.fromEntries(Ui.map((t,e)=>[t,`\u73A9\u5BB6${e+1}`])),...Object.fromEntries(Array.from({length:8},(t,e)=>[`Avatar${e+1}`,`\u89D2\u8272${e+1}`]))};function q0(t,e=1){let i=t?.vars||{},r=[],n=Number(e)>0?Number(e):1,o=["Level","PlayerSelf","AvatarSelf"];if(n>1)for(let a=1;a<=n;a+=1)o.push(`Player${a}`,`Avatar${a}`);let s=new Set;for(let a of o){if(s.has(a)||!i[a])continue;s.add(a);let l=i[a]||{};for(let u of Object.keys(l))r.push(se({entityType:a,entityLabel:G0[a]||a,name:u,type:l[u]?.type||"",value:l[u]?.value??null}))}return r}var Wi="qxqy-simulator-save",B0="qxqy-simulator-scripts",Ge="server-control-template",fe="client-control-template",Sl={[Ge]:"\u670D\u52A1\u5668\u63A7\u4EF6\u6A21\u677F",[fe]:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F"};function Xi(t){return t===fe?"client":"server"}function Eh(t){if(!(typeof t=="number"||typeof t=="string"&&/^\d+$/.test(t.trim()))||!ct(t))throw new Error(`\u63A7\u4EF6\u7D22\u5F15\u5FC5\u987B\u662F ${1073741824}\u2013${1077936127}\uFF080x40000000\u20130x403FFFFF\uFF09\u8303\u56F4\u5185\u7684\u6574\u6570`);return Number(t)}function Yo(t){let e=typeof t=="number"||typeof t=="string"&&/^\d+$/.test(t.trim()),i=Number(t);if(!e||!Ht(i))throw new Error("\u63A7\u4EF6\u7D22\u5F15\u5FC5\u987B\u662F 1\u20132147483647 \u8303\u56F4\u5185\u7684\u6574\u6570");return i}function xl(t=[]){if(!Array.isArray(t))throw new Error("controlGuidChanges \u5FC5\u987B\u662F\u6570\u7EC4");let e=new Set;return t.map(i=>{if(!i||typeof i.id!="string"||!i.id||e.has(i.id)||![Ge,fe].includes(i.controlAsset)||typeof i.controlId!="string"||!i.controlId||typeof i.controlName!="string")throw new Error("controlGuidChanges \u5305\u542B\u65E0\u6548\u6216\u91CD\u590D\u7684\u53D8\u66F4\u8BB0\u5F55");if(e.add(i.id),i.batchId!==void 0&&(typeof i.batchId!="string"||!i.batchId))throw new Error("controlGuidChanges \u5305\u542B\u65E0\u6548\u7684 batchId");if(i.scriptSignature!==void 0&&!/^[a-f0-9]{64}$/.test(i.scriptSignature))throw new Error("controlGuidChanges \u5305\u542B\u65E0\u6548\u7684 scriptSignature");return{id:i.id,controlAsset:i.controlAsset,controlId:i.controlId,controlName:i.controlName,oldGuid:Yo(i.oldGuid),newGuid:Yo(i.newGuid),...i.batchId?{batchId:i.batchId}:{},...i.scriptSignature?{scriptSignature:i.scriptSignature}:{}}})}function j0(t){let e=[t?.guid,t?.id];for(let i of e){let r=Number(i);if(Ht(r))return r}return 0}function Xo(t){let e=String(t?.controlAsset||""),i=j0(t);return{id:String(i||t?.id||""),guid:i,path:String(t?.path||""),source:String(t?.source||""),controlId:String(t?.controlId||""),controlAsset:e===fe||e==="client"?fe:e===Ge||e==="server"?Ge:""}}function V0(t){let e=[],i=(r,n="")=>{if(r&&(r.path||r.source)){let o=Xo(r);e.push(n?{...o,controlAsset:n}:o)}};if(Array.isArray(t?.assets?.scripts)){for(let r of t.assets.scripts)r&&(r.path||r.source)&&e.push(Xo(r));return e}if(i(t?.assets?.server?.script,Ge),i(t?.assets?.client?.script,fe),t&&t.format!==Wi){i(t?.script);for(let r of t?.scripts||[])i(r)}return e}function Il(t){return xi(t===fe?sr():Ni())}var U0="\u672A\u7ED1\u5B9A",Nr="\u672A\u547D\u540D\u5B58\u6863",H0="\u672A\u547D\u540D\u754C\u9762";function Y0(t){let e=t;for(let i=0;i<8;i++){if(bn(Ih(e,"simulator","studio"))&&bn(Ih(e,"lua")))return e;let r=$0(e);if(r===e)break;e=r}return t}function X0(t){return t?{name:Pr(t),path:t,bound:!0}:{name:U0,path:"",bound:!1}}function W0(t,e=process.cwd()){if(L0(t)&&bn(t))return t;let i=e||process.cwd(),r=Y0(i),n=_h(r,t);if(bn(n))return n;let o=_h(i,t);if(bn(o))return o;throw new Error("script file not found: "+t)}function wn(t,e={}){t?.format===Wi&&za(t.version);let i=[],r=typeof e.workspacePath=="string"&&e.workspacePath?e.workspacePath:"",n=t?.format===Wi&&t.assets,o=xl(t?.controlGuidChanges),s=Lr(t?.scriptSync),a=n?null:xi(t,{warnings:i}),l={server:n&&t.assets.server?xi(t.assets.server,{warnings:i}):Il(Ge),client:n&&t.assets.client?xi(t.assets.client,{warnings:i}):Il(fe)};a&&(l[Xi(a.meta.assetType)]=a);let u=n&&t.activeAssetType===fe?fe:a?.meta.assetType||Ge,c=n&&t.meta?.name?String(t.meta.name):"",f=()=>c||Nr;!t?.meta?.name&&l.server.meta.name==="\u672A\u547D\u540D\u754C\u9762\u63A7\u4EF6\u7EC4"&&(l.server.meta.name=H0);let h=[],m=new Set;function g(){m.clear(),or(l.server.root,m),or(l.client.root,m,{skipServerContainer:!0});for(let b of h)Ht(b.guid)&&m.add(Number(b.guid))}function v(b=0){g();let k=Ht(b)&&!m.has(Number(b))?Number(b):ai(m);return m.add(k),k}function w(b){let k=Xo(b),O=v(k.guid);return{...k,guid:O,id:String(O)}}A(V0(t));let S=mn(t?.serverLogic),x=null,F="",I=1,z=1;function $(b){let k=String(b||"").trim();if(!k)return"";if(!Ee[k])throw new Error(`unknown canvas preset: ${k} (available: ${Object.keys(Ee).join(", ")})`);return k}let j=()=>l[Xi(u)];function G(b){if(!b)return null;for(let[k,O]of[["server",l.server],["client",l.client]]){let B=Ve(O.root,b);if(B&&B.kind!=="server-container")return{key:k,node:B}}return null}function _(b){if(!b.controlId)return null;let k=b.controlAsset===fe?"client":b.controlAsset===Ge?"server":null;if(k){let O=Ve(l[k].root,b.controlId);return O&&O.kind!=="server-container"?{key:k,node:O}:null}return G(b.controlId)}function T(){for(let b of h)b.controlId&&!_(b)&&(b.controlId="",b.controlAsset="")}function y(b){if(!Ht(b))return null;for(let[k,O]of[[Ge,l.server],[fe,l.client]]){let B="";if(Ae(O.root,Y=>{!B&&(Y.scriptMappingIds||[]).includes(Number(b))&&(B=Y.id)}),B)return{controlId:B,controlAsset:k}}return null}function N(b,k,O){let B=l[Xi(b.controlAsset)],Y=B&&Ve(B.root,b.controlId);Y&&(Y.scriptMappingIds=(Y.scriptMappingIds||[]).map(X=>Number(X)===Number(k)?Number(O):X))}T();function C(){return h.map(b=>{let k=_(b),O=k?k.key==="client"?fe:Ge:"";return se({id:b.id,guid:b.guid||0,path:b.path||"",source:b.source||"",controlId:b.controlId||"",controlAsset:b.controlAsset||O,controlName:k?.node.name||"",assetType:O,assetLabel:k?Sl[O]:"",mounted:!!k})})}function d(){let b=[],k=(O,B)=>{Ae(O.root,Y=>{Y.kind!=="server-container"&&b.push(se({id:Y.id,name:Y.name,kind:Y.kind,assetType:B,assetLabel:Sl[B]}))})};return k(l.server,Ge),k(l.client,fe),b}function E(b){let k=[];return Ae(b.root,O=>{O.kind!=="server-container"&&k.push(JSON.stringify({kind:O.kind,guid:O.guid,name:O.name,text:O.text??null,imageId:O.imageId??null,imageSource:O.imageSource??null,imageType:O.imageType??null,fontSize:O.fontSize??null,adaptiveFontSize:O.adaptiveFontSize??null,minimumFontSize:O.minimumFontSize??null,fontColor:O.fontColor??null,bgColor:O.bgColor??null,imageColor:O.imageColor??null,fillType:O.fillType??null,fillAmount:O.fillAmount??null,syncAllDevices:O.syncAllDevices!==!1,transformByPlatform:O.transformByPlatform||null}))}),k.join("/")}let D=E(sr()),V=E(Ni());function H(b){let k=E(b);return b.meta?.assetType===fe?k===D:k===V}function Z(b,k){return String(b||"").replace(/[\\/:*?"<>|]/g,"-").trim()||k}function ne(b){let k=Z(f(),Nr),O=b.meta?.assetType===fe?"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F":"\u670D\u52A1\u5668\u63A7\u4EF6\u6A21\u677F";return`${k} \xB7 ${O}`}function ve(){if(!((l.server.root.children||[]).find(k=>k.kind==="container")||l.server.root.children?.[0]))throw new Error("\u6574\u5408\u5305\u9700\u8981\u670D\u52A1\u7AEF\u5BA2\u6237\u7AEF\u63A7\u4EF6\u5BB9\u5668\u4E0B\u81F3\u5C11\u6709\u4E00\u4E2A\u6839\u63A7\u4EF6");return td(l.server,l.client,{scripts:h,fileName:`${Z(f(),Nr)} \xB7 \u6574\u5408\u5305.gia`})}function be(){let b=k=>({type:k.meta.assetType,name:k.meta.name,sourceFile:k.meta.sourceFile||""});return{format:Wi,name:f(),activeAssetType:u,assets:{server:b(l.server),client:b(l.client),scripts:C()}}}function ge(){return se({format:Wi,version:4,meta:{name:f()},activeAssetType:u,serverLogic:S,controlGuidChanges:o,scriptSync:s,assets:{server:l.server,client:l.client,scripts:h.map(b=>se({id:b.id,guid:b.guid||0,path:b.path||"",source:b.source||"",controlId:b.controlId||"",controlAsset:b.controlAsset||""}))}})}function ee(){let b=j(),k=gd(b);if(k.workspace=X0(r),k.save=be(),k.scripts=C(),k.mountTargets=d(),k.serverLogic=S,k.migrationWarnings=[...i],k.controlGuidChanges=se(o),u===fe){let O=_r(b,!0);k.clientGuidAutofill={count:O.length,templateCount:O.filter(({parent:B})=>B?.kind==="server-container").length,selectedOffset:O.findIndex(({node:B})=>B.id===k.selectedId)}}return k.scriptSync=se(s),su(k),k}function ce(b){let k=j();if(b.expectedRevision!==void 0&&Number(b.expectedRevision)!==k.version)throw new Error(`revision conflict: expected ${b.expectedRevision}, current ${k.version}`);return k}function Se(b,k,O=""){let B=String(k||"");if(B){let Y=O===fe?fe:O===Ge?Ge:"";if(!_({controlId:B,controlAsset:Y}))throw new Error("\u6302\u8F7D\u76EE\u6807\u5FC5\u987B\u662F\u5B58\u6863\u5185\u7684\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6216\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F");b.controlAsset=Y}else b.controlAsset="";b.controlId=B}function gt(b){let k=ce(b);if(b.op==="addScript"){let O=w({path:String(b.path||""),source:String(b.source||""),controlId:"",controlAsset:""});b.controlId!==void 0&&b.controlId!==""&&Se(O,b.controlId,b.controlAsset),h.push(O)}else if(b.op==="updateScript"){let O=h.find(B=>B.id===b.id);if(!O)throw new Error(`\u811A\u672C\u4E0D\u5B58\u5728: ${b.id}`);b.controlId!==void 0&&Se(O,b.controlId,b.controlAsset),b.path!==void 0&&(O.path=String(b.path)),b.source!==void 0&&(O.source=String(b.source))}else if(b.op==="removeScript"){let O=h.length;if(h=h.filter(B=>B.id!==b.id),h.length===O)throw new Error(`\u811A\u672C\u4E0D\u5B58\u5728: ${b.id}`)}return k.version+=1,ee()}function qt(b){let k=ce(b),O=Ve(k.root,b.id??k.selectedId);if(!O||O.kind==="server-container")throw new Error("\u4EC5\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6216\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5141\u8BB8\u4FEE\u6539\u7D22\u5F15");let B=Eh(b.guid);if(Yo(O.guid),b.autoFillClientGuids!==void 0&&typeof b.autoFillClientGuids!="boolean")throw new Error("autoFillClientGuids \u5FC5\u987B\u662F\u5E03\u5C14\u503C");let Y=b.autoFillClientGuids===!0;if(Y&&u!==fe)throw new Error("\u81EA\u52A8\u586B\u5145\u4EC5\u652F\u6301\u5BA2\u6237\u7AEF\u6A21\u677F\u5217\u8868\uFF1B\u670D\u52A1\u7AEF\u754C\u9762\u7684\u7D22\u5F15\u9700\u5355\u72EC\u586B\u5199");let X=Y?_r(k,!0).map(({node:Q})=>Q):[O],he=B-X.indexOf(O),xe=X.map((Q,Pe)=>({node:Q,oldGuid:Yo(Q.guid),newGuid:Eh(he+Pe)})),Bt=xe.filter(({oldGuid:Q,newGuid:Pe})=>Q!==Pe);if(!Bt.length)return ee();let Ne=new Map(xe.map(({oldGuid:Q,newGuid:Pe})=>[Q,Pe]));if(Ne.size!==xe.length)throw new Error("\u5BA2\u6237\u7AEF\u6A21\u677F\u5B58\u5728\u91CD\u590D\u65E7\u7D22\u5F15\uFF0C\u65E0\u6CD5\u81EA\u52A8\u586B\u5145\uFF1B\u8BF7\u5148\u6D88\u9664\u6B67\u4E49");let ni=new Set(X),We=[];for(let Q of Object.values(l))Ae(Q.root,Pe=>{Q===l.client&&Pe.kind==="server-container"||We.push({node:Pe,project:Q})});let ki=new Map([...We.filter(Q=>!ni.has(Q.node)).map(({node:Q})=>[Number(Q.guid),Q.name]),...h.map(Q=>[Number(Q.guid),Q.path||"Lua \u811A\u672C"])]);for(let{newGuid:Q}of Bt)if(ki.has(Q))throw new Error(`\u63A7\u4EF6\u7D22\u5F15 ${Q} \u5DF2\u88AB\u300C${ki.get(Q)}\u300D\u5360\u7528\uFF1B\u8BF7\u5148\u586B\u5199\u5B83\u7684\u5B9E\u9645\u7D22\u5F15\u3002\u672C\u6B21\u672A\u4FEE\u6539\u4EFB\u4F55\u7D22\u5F15\u3002`);let Ot=[],ke=(Q,Pe,jt)=>{let vt=Q?.[Pe];(typeof vt=="number"||typeof vt=="string"&&/^\d+$/.test(vt.trim()))&&Ne.has(Number(vt))&&Ne.get(Number(vt))!==Number(vt)&&Ot.push({owner:Q,key:Pe,project:jt.project,oldGuid:Number(vt),newGuid:Ne.get(Number(vt))})};for(let Q of We)ke(Q.node,"referencedPrefabId",Q),ke(Q.node,"itemPrefabId",Q),ke(Q.node.giaRaw,"templateRefSlot",Q);let Ke=new Map;for(let{node:Q}of We)Ke.set(Number(Q.guid),(Ke.get(Number(Q.guid))||0)+1);for(let{oldGuid:Q}of Ot)if(Ke.get(Q)!==1)throw new Error(`\u65E7\u7D22\u5F15 ${Q} \u5728\u591A\u68F5\u8D44\u4EA7\u6811\u4E2D\u91CD\u590D\uFF0C\u65E0\u6CD5\u786E\u5B9A\u6A21\u677F\u5F15\u7528\u5F52\u5C5E\uFF1B\u8BF7\u5148\u6D88\u9664\u6B67\u4E49\u540E\u4FEE\u6539`);let $r=Y?xh():"",Je=bh(h);for(let{node:Q,oldGuid:Pe,newGuid:jt}of Bt)Q.guid=jt,o.push({id:xh(),controlAsset:u,controlId:Q.id,controlName:Q.name,oldGuid:Pe,newGuid:jt,scriptSignature:Je,...$r?{batchId:$r}:{}});let kn=new Set([k]);for(let{owner:Q,key:Pe,project:jt,newGuid:vt}of Ot)Q[Pe]=typeof Q[Pe]=="string"?String(vt):vt,kn.add(jt);for(let Q of kn)Q.version+=1;return ee()}function Re(b){let k=ce(b);if(!Array.isArray(b.changeIds)||!b.changeIds.length||b.changeIds.some(B=>typeof B!="string"||!o.some(Y=>Y.id===B)))throw new Error("\u8BF7\u660E\u786E\u6307\u5B9A\u5DF2\u6838\u5BF9 Lua \u5F15\u7528\u7684\u6709\u6548\u7D22\u5F15\u53D8\u66F4\u8BB0\u5F55 changeIds");let O=new Set(b.changeIds);return o=o.filter(B=>!O.has(B.id)),k.version+=1,ee()}function ut(b){if(!b||typeof b!="object")throw new Error("patch requires op");if(b.op==="setScriptSync"){let k=ce(b);return s=Lr(b.config),k.version+=1,ee()}if(b.op==="setControlGuid")return qt(b);if(b.op==="acknowledgeControlGuidChanges")return Re(b);if(b.op==="setServerLogic"){let k=ce(b);return S=mn(b.logic),k.version+=1,ee()}if(b.op==="addScript"||b.op==="updateScript"||b.op==="removeScript")return gt(b);if(b.op==="selectAsset")return u=b.assetType===fe?fe:Ge,ee();if(b.op==="renameSave"){let k=String(b.name||"").trim();if(!k)throw new Error("\u5B58\u6863\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");return c=k,ee()}if(b.op==="newAsset"){let k=ce(b);u=b.assetType===fe?fe:Ge;let O=Il(u);return O.version=k.version+1,l[Xi(u)]=O,o=o.filter(B=>B.controlAsset!==u),T(),ee()}return Ga(j(),b),T(),ee()}function yt(b){return h.filter(k=>{let O=_(k);return!!(O&&O.key==="client"==(b===fe))})}function de(b="json",k=""){let O=R(b,k);if(o.length&&!["save","archive"].includes(String(b).toLowerCase())){let B=o.map(Y=>`\u63A7\u4EF6\u7D22\u5F15\u5F85\u6838\u5BF9 Lua \u5F15\u7528\uFF1A${Sl[Y.controlAsset]} / ${Y.controlName} (${Y.controlId})\uFF1A${Y.oldGuid} \u2192 ${Y.newGuid}\u3002\u8BF7\u6309\u8BED\u4E49\u66F4\u65B0\u811A\u672C\u4E2D\u7684\u63A7\u4EF6\u7D22\u5F15\u5F15\u7528\uFF0C\u6838\u5BF9\u540E\u786E\u8BA4\u53D8\u66F4\u8BB0\u5F55 ${Y.id}\uFF1B\u4E0D\u8981\u5168\u5C40\u66FF\u6362\u540C\u503C\u6570\u5B57\u3002`);O.warnings=[...new Set([...O.warnings||[],...B])]}return O}function R(b="json",k=""){let O=String(b).toLowerCase();if(O==="save"||O==="archive"){let X=Buffer.from(JSON.stringify(ge(),null,2),"utf8");return se({filename:`${f().replace(/[\\/:*?"<>|]/g,"-")} \xB7 \u8D44\u4EA7\u5305.json`,mimeType:"application/json",encoding:"base64",data:X.toString("base64"),warnings:[]})}if(O==="save-gia"||O==="archive-gia"){let X=[],he=[],xe=(Ne,ni="")=>{let We=de(Ne,ni);X.push(se({filename:We.filename,mimeType:We.mimeType,encoding:We.encoding,data:We.data,warnings:We.warnings||[]})),he.push(...We.warnings||[])},Bt=(Ne,ni)=>{let We=l[Xi(Ne)],ki=Ne===u,Ot=h.some(ke=>ke.controlAsset===Ne&&ke.controlId);if(!ki&&H(We)&&!Ot){he.push(ni);return}xe("gia",Ne)};if(Bt(Ge,"\u670D\u52A1\u5668\u63A7\u4EF6\u6A21\u677F\u4ECD\u662F\u9ED8\u8BA4\u6A71\u7A97\uFF0C\u672A\u6539\u52A8\u4E14\u5F53\u524D\u672A\u663E\u793A\uFF0C\u5DF2\u4ECE\u8D44\u4EA7\u5305 GIA \u4E2D\u7701\u7565\u3002"),Bt(fe,"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u4ECD\u662F\u9ED8\u8BA4\u300CLua\u5B9E\u4F8B\u5316\u9762\u677F\u300D\uFF0C\u672A\u6539\u52A8\u4E14\u5F53\u524D\u672A\u663E\u793A\uFF0C\u5DF2\u4ECE\u8D44\u4EA7\u5305 GIA \u4E2D\u7701\u7565\u3002"),h.some(Ne=>Ne.path||Ne.source)&&xe("scripts-gia"),!X.length)throw new Error("\u8D44\u4EA7\u5305 GIA \u6CA1\u6709\u53EF\u5BFC\u51FA\u7684\u5DF2\u6539\u52A8\u9879\uFF1B\u8BF7\u5148\u7F16\u8F91\u5F53\u524D\u754C\u9762\uFF0C\u6216\u6539\u7528\u300C\u5F53\u524D\u754C\u9762 GIA\u300D\u3002");return se({format:"qxqy-gia-package",files:X,warnings:[...new Set(he)]})}if(O==="gia-combined"||O==="combined-gia"||O==="combined"){let X=ve();return se({filename:`${Z(f(),Nr)} \xB7 \u6574\u5408\u5305.gia`,mimeType:"application/octet-stream",encoding:"base64",data:X.buffer.toString("base64"),warnings:[...new Set(X.warnings||[])]})}if(O==="scripts"){let X=se({format:B0,version:1,scripts:h.map(xe=>se({id:xe.id,guid:xe.guid||0,path:xe.path||"",source:xe.source||"",controlId:xe.controlId||"",controlAsset:xe.controlAsset||""}))}),he=Buffer.from(JSON.stringify(X,null,2),"utf8");return se({filename:`${Z(f(),Nr)} \xB7 \u811A\u672C.json`,mimeType:"application/json",encoding:"base64",data:he.toString("base64"),warnings:[]})}if(O==="scripts-gia"||O==="scriptsgia"){let X=nd(h);return se({filename:`${Z(f(),Nr)} \xB7 \u811A\u672C.gia`,mimeType:"application/octet-stream",encoding:"base64",data:X.buffer.toString("base64"),warnings:X.warnings})}if(O==="lua"){let X=h.find(xe=>xe.id===k)||h.find(xe=>xe.path===k);if(!X)throw new Error("\u6CA1\u6709\u53EF\u5BFC\u51FA\u7684 Lua \u811A\u672C\uFF0C\u8BF7\u5148\u5728\u201CLua \u811A\u672C\u201D\u9875\u521B\u5EFA");let he=Pr(X.path||"")||`qxqy-script-${X.id}`;return se({filename:/\.lua$/i.test(he)?he:`${he}.lua`,mimeType:"text/x-lua",encoding:"base64",data:Buffer.from(X.source||"","utf8").toString("base64"),warnings:[]})}let B=k?l[Xi(k)]:j(),Y=ne(B);if(O==="json"){let X=se({...B,scripts:yt(B.meta.assetType),controlGuidChanges:o.filter(xe=>xe.controlAsset===B.meta.assetType)}),he=Buffer.from(JSON.stringify(X,null,2),"utf8");return se({filename:`${Y}.json`,mimeType:"application/json",encoding:"base64",data:he.toString("base64"),warnings:[]})}if(O==="gia"){let X=ed(B,B.meta.assetType===fe?{scripts:yt(fe)}:{}),he=B.meta.assetType===fe?[]:yt(Ge);return he.length&&X.warnings.unshift(`\u5F53\u524D\u670D\u52A1\u5668\u63A7\u4EF6 GIA \u4E0D\u5305\u542B ${he.length} \u4E2A Lua \u811A\u672C\u7684\u6E90\u7801\uFF1B\u8BF7\u4F7F\u7528\u300C\u8D44\u4EA7\u5305 GIA \u6574\u5408\u5305\u300D\uFF0C\u6216\u53E6\u884C\u5BFC\u5165\u811A\u672C\u5305\u5E76\u6838\u5BF9\u6302\u8F7D\u3002`),se({filename:`${Y}.gia`,mimeType:"application/octet-stream",encoding:"base64",data:X.buffer.toString("base64"),warnings:X.warnings})}throw new Error(`unsupported export format: ${b}`)}function A(b){for(let k of b){let O=Xo(k);if(!O.path&&!O.source)continue;let B=O.controlId?null:y(O.guid),Y=w(B?{...O,...B}:O);B&&Y.guid!==O.guid&&N(B,O.guid,Y.guid),Y.controlId&&!_(Y)&&(Y.controlId="",Y.controlAsset=""),h.push(Y)}}function P(b,k,O=""){let B=String(b||"").toLowerCase();if(typeof k!="string"||!k)throw new Error("import data is required");let Y=Buffer.from(k,"base64"),X,he=[],xe={},Bt=[];if(B==="json"){try{X=JSON.parse(Y.toString("utf8"))}catch{throw new Error("JSON \u6587\u4EF6\u65E0\u6548")}if(X?.project&&(X=X.project),X?.format===Wi&&X?.assets){za(X.version);let ke=wn(X);he.push(...ke.get().migrationWarnings);let Ke=ke.archiveData();return l.server=Ke.assets.server,l.client=Ke.assets.client,i=[...he],u=X.activeAssetType===fe?fe:Ge,c=String(X.meta?.name||Pr(O).replace(/\.json$/i,"")||c),S=Ke.serverLogic,h=Ke.assets.scripts,o=Ke.controlGuidChanges,s=Ke.scriptSync,m.clear(),se({snapshot:ee(),warnings:he,metadata:{format:Wi}})}}else{if(B==="lua")return h.push(w({path:Pr(O||"imported.lua"),source:Y.toString("utf8"),controlId:""})),se({snapshot:ee(),warnings:he,metadata:{assetType:"lua-script"}});if(B==="gia"){if(od(Y)){let Je=ad(Y);return A(Je.scripts),se({snapshot:ee(),warnings:Je.warnings,metadata:Je.metadata})}let ke=ld(Y);X=ke.project,he=ke.warnings,xe=ke.metadata,ke.clientProject&&(l.client=xi(ke.clientProject),o=o.filter(Je=>Je.controlAsset!==fe),he.push("\u6574\u5408\u5305\u5DF2\u62C6\u56DE\u300CUI\u63A7\u4EF6-\u670D\u52A1\u7AEF\u300D\u4E0E\u300CUI\u63A7\u4EF6-\u5BA2\u6237\u7AEF\u300D\uFF1B\u5BA2\u6237\u7AEF\u6A21\u677F\u8FB9\u754C\u5DF2\u4FDD\u7559\u3002"));let Ke=new Map,$r=(Je,kn)=>{Je&&Ae(Je.root,Q=>{for(let Pe of Q.scriptMappingIds||[]){let jt=Ke.get(Number(Pe));if(jt){he.push(`\u811A\u672C GUID ${Pe} \u540C\u65F6\u6302\u8F7D\u5230\u591A\u4E2A\u63A7\u4EF6\uFF0C\u5DF2\u4FDD\u7559\u201C${jt.controlAsset===Ge?"\u670D\u52A1\u7AEF":"\u5BA2\u6237\u7AEF"}\u201D\u76EE\u6807\u3002`);continue}Ke.set(Number(Pe),{controlId:Q.id,controlAsset:kn})}})};$r(ke.project,ke.project.meta.assetType),$r(ke.clientProject,fe),Bt=(ke.scripts||[]).map(Je=>Ke.has(Number(Je.guid))?{...Je,...Ke.get(Number(Je.guid))}:Je)}else throw new Error(`unsupported import format: ${b}`)}let Ne=xi(X,{warnings:he}),ni=xl(X?.controlGuidChanges);if(ni.some(ke=>ke.controlAsset!==Ne.meta.assetType))throw new Error("\u5355\u8D44\u4EA7 JSON \u7684\u7D22\u5F15\u53D8\u66F4\u8BB0\u5F55\u5FC5\u987B\u5C5E\u4E8E\u5F53\u524D\u5BFC\u5165\u8D44\u4EA7");let We=xl([...o.filter(ke=>ke.controlAsset!==Ne.meta.assetType),...ni]);i=[...he];let ki=Xi(Ne.meta.assetType);l[ki]=Ne,o=We,u=Ne.meta.assetType;let Ot=l[ki];return O&&(Ot.meta.name=Pr(O).replace(/\.(json|gia)$/i,"")||Ot.meta.name,Ot.meta.sourceFile=Pr(O),Ot.meta.sourceFormat=B),A(Bt),A(X?.scripts||[]),X?.script&&(X.script.path||X.script.source)&&A([X.script]),se({snapshot:ee(),warnings:he,metadata:xe})}function M(b,k){return Ga(j(),{op:"pick",x:b,y:k}),ee()}function U(b){let k=typeof b=="string"&&b?b:"";!k||k===r||(r=k)}function J(b){let k=b.source||"";if(!k.trim()&&b.path.trim())try{k=z0(W0(b.path,r),"utf8")}catch(O){throw new Error(`\u811A\u672C ${b.path} \u8BFB\u53D6\u5931\u8D25: ${O?.message||O}`)}return k}function re(b={}){let k=$(b.canvasId);k&&(F=k),b.playerCount!==void 0&&b.playerCount!==null&&b.playerCount!==""&&(I=Vi(b.playerCount),z>I&&(z=1)),b.viewPlayerIndex!==void 0&&b.viewPlayerIndex!==null&&b.viewPlayerIndex!==""&&(z=ri(b.viewPlayerIndex,I)),x&&gl(x);let O=h.map(Y=>{try{return{id:Y.id,guid:Y.guid||0,path:Y.path||Y.id,source:J(Y),controlId:Y.controlId||"",controlAsset:Y.controlAsset||""}}catch(X){return{id:Y.id,guid:Y.guid||0,path:Y.path||Y.id,source:`error([==[ ${String(X.message).replace(/]=+]/g,"] =]")} ])`,controlId:Y.controlId||"",controlAsset:Y.controlAsset||""}}}),B=Y=>O.filter(X=>{let he={controlId:X.controlId,controlAsset:X.controlAsset},xe=X.controlId?_(he):null;return!!(xe&&xe.key===Y)});return x=sh(l.server,{templatesProject:l.client,scripts:O,sceneScripts:B("server"),templateScripts:B("client"),serverConfig:{logic:S},canvasId:F,playerCount:I,viewPlayerIndex:z,language:b.language||""}),ie(b)}function oe(b,k={}){let O=$(b);if(!O)throw new Error("playSetCanvas requires canvasId");return re({...k,canvasId:O})}function ie(b={}){if(!x)return se({running:!1,tree:[],logs:[],serverLogs:[],serverVars:[]});let k=cl(x,b);return k.running=!0,k.logs=wl(k.logs),k.serverLogs=wl(k.server?.logs||[]),k.serverVars=q0(k.server,k.playerCount||1),k}function Me(b,k={}){return x||re(),Uo(x,b),k.observe===!1?se({running:!0,time:x.runtime.clock.time,frame:x.runtime.clock.frame,paused:!!x.debugPaused,levelTimePaused:!!x.runtime.clock.paused,playerCount:x.playerCount||1,viewPlayerIndex:x.viewPlayerIndex||1}):ie(k)}function Oe(b=0){re();let k=Math.max(0,Number(b)||0);for(let O=0;O<k;O++)Uo(x,1/30);return ie()}function Rt(){return x&&gl(x),x=null,F="",I=1,z=1,se({running:!1,tree:[],logs:[],serverLogs:[],serverVars:[]})}function Rp(b,k={}){let O=zr();return z=ll(O,b),k.observe===!1?null:ie(k)}function Op(b,k={}){if(!x)throw new Error("play session has not started");return fl(x,b),k.observe===!1?null:ie(k)}function Np(b,k={}){if(!x)throw new Error("play session has not started");return dl(x,b),k.observe===!1?null:ie(k)}function Pp(b,k,O,B={}){if(!x)throw new Error("play session has not started");return vn(x,b,k,O,B),B.observe===!1?null:ie(B)}function Mp(b={}){return x&&Ho(x).pause(),b.observe===!1?null:ie(b)}function Fp(b={}){return x&&Ho(x).resume(),b.observe===!1?null:ie(b)}function zr(){if(!x)throw new Error("play session has not started");return x}function Dp(b,k){let O=zr();if(!b&&!k){let B=ie();return se({vars:B.serverVars||[]})}return se({entityType:String(b||""),name:String(k||""),value:mh(O,b,k)})}function zp(b,k,O){let B=zr();return pl(B,b,k,O),ie()}function $p(b,k=[],O="PlayerSelf"){let B=zr();return ml(B,b,k,O),ie()}function Lp(){let b=ie();return se({events:b.history||[],case:Wd(b.history||[],{playerCount:b.playerCount||1})})}function Gp(b={}){let k=ie(),O=gn({name:b.name||"",dt:b.dt,playerCount:b.playerCount||k.playerCount||1,events:b.events||k.history||[],asserts:b.asserts||[]});return se(O)}function qp(b,k={}){let O=gn(b);re({...k,playerCount:k.playerCount||O.playerCount||1});let B=zr();B.recording=!1;try{return vh(Ho(B),b)}finally{B.recording=!0}}function Bp(){if(!x)return{running:!1,paused:!1,time:0,frame:0,playerCount:1,viewPlayerIndex:1};let b=x.runtime.clock;return{running:!0,paused:!!x.debugPaused,levelTimePaused:!!b.paused,time:b.time,frame:b.frame,playerCount:x.playerCount||1,viewPlayerIndex:x.viewPlayerIndex||1}}let Zl={get:ee,patch:ut,setWorkspace:U,exportData:de,importData:P,pick:M,playStart:re,playSetCanvas:oe,playSetView:Rp,playGet:ie,playStatus:Bp,playStep:Me,playRun:Oe,playStop:Rt,playKey:Op,playClick:Np,playPointer:Pp,playPause:Mp,playResume:Fp,playServerGet:Dp,playServerSet:zp,playServerSend:$p,playHistory:Lp,playSaveCase:Gp,playRunCase:qp,archiveData:ge};return Object.defineProperty(Zl,"_project",{enumerable:!1,get:j}),Zl}import{createRequire as Z0}from"node:module";function _l(t,e,i){if(t.fillType!=="Horizontal"&&t.fillType!=="Vertical")return null;let r=Number(t.fillAmount??1),n=Number.isFinite(r)?Math.max(0,Math.min(1,r)):1;if(t.fillType==="Horizontal"){let s=e*n;return{x:t.fillHorizontalType==="Right"?e/2-s:-e/2,y:-i/2,width:s,height:i}}let o=i*n;return{x:-e/2,y:t.fillVerticalType==="Top"?-i/2:i/2-o,width:e,height:o}}function Ch(t,e,i){let r=e?.m_Rect,n=e?.m_RD?.textureRectOffset,o=e?.m_RD?.textureRect,s=Math.round(Number(r?.width)),a=Math.round(Number(r?.height)),l=Math.round(Number(n?.X)),u=Math.round(Number(n?.Y)),c=Math.round(Number(o?.width)),f=Math.round(Number(o?.height)),h=e?.m_RD?.settingsRaw?.packingRotation;if(![s,a,c,f].every(v=>Number.isInteger(v)&&v>0&&v<=8192)||s*a>16777216||!Number.isFinite(l)||!Number.isFinite(u)||l<0||u<0||l+c>s||u+f>a)throw new Error("Invalid sprite dimensions or trim offset");if(h&&h!=="None")throw new Error(`Unsupported sprite packing rotation: ${h}`);let m=i(s,a),g=m.getContext("2d");if(t.width===s&&t.height===a)g.drawImage(t,0,0);else{if(t.width!==c||t.height!==f)throw new Error("Sprite PNG does not match its trim metadata");g.drawImage(t,l,a-u-f)}return m}function kh(t,e,i){let r=Number(e??4294967295)>>>0;if((r&16777215)===16777215)return t;let n=i(t.width,t.height),o=n.getContext("2d");o.drawImage(t,0,0);let s=o.getImageData(0,0,n.width,n.height),a=r>>>16&255,l=r>>>8&255,u=r&255;for(let c=0;c<s.data.length;c+=4)s.data[c]=Math.round(s.data[c]*a/255),s.data[c+1]=Math.round(s.data[c+1]*l/255),s.data[c+2]=Math.round(s.data[c+2]*u/255);return o.putImageData(s,0,0),n}function K0(t){return!!t?.border&&Object.values(t.border).some(e=>Number.isFinite(e)&&e>0)}function Th(t,e){let i=typeof e=="object"?e?.Name:e;return K0(t)&&i!=="Basic"?"Stretch":"Basic"}function Rh(t){if(!t)return null;let e=Number(t.m_Rect?.width),i=Number(t.m_Rect?.height);if(![e,i].every(n=>Number.isFinite(n)&&n>0&&n<=8192)||e*i>16777216)throw new Error("Invalid image metadata dimensions");let r={};for(let[n,o]of[["left","X"],["bottom","Y"],["right","Z"],["top","W"]]){let s=Number(t.m_Border?.[o]??0);if(!Number.isFinite(s))throw new Error("Invalid image border");r[n]=Math.max(0,s)}return{width:e,height:i,border:r}}function J0(t,e,i,r){e=Number.isFinite(e)?Math.max(0,e):0,i=Number.isFinite(i)?Math.max(0,i):0;let n=Math.min(1,t/(e+i||1));e*=n,i*=n;let o=Math.min(1,r/(e+i||1));return{source:[0,e,t-i,t],target:[0,e*o,r-i*o,r]}}var Ah=new WeakMap;function Oh(t,e,i,r,n){let o=Math.max(0,i),s=Math.max(0,r),a=Math.min(1,4096/Math.max(1,o),4096/Math.max(1,s)),l=Math.max(1,Math.round(o*a)),u=Math.max(1,Math.round(s*a)),c=n(l,u),f=c.getContext("2d");if(!o||!s)return c;let h=Ah.get(t);if(!h){let x=n(t.width,t.height),F=x.getContext("2d");F.drawImage(t,0,0),h=F.getImageData(0,0,t.width,t.height),Ah.set(t,h)}let m=f.createImageData(l,u),g=h.data,v=(x,F,I,z,$,j)=>{let{source:G,target:_}=J0(F,I,z,$);return Array.from({length:j},(T,y)=>{let N=(y+.5)*$/j,C=N<_[1]?0:N<_[2]?1:2,d=_[C+1]>_[C]?(N-_[C])/(_[C+1]-_[C]):0,E=Math.max(0,Math.min(x-1,(G[C]+d*(G[C+1]-G[C]))*x/F-.5)),D=Math.floor(E);return[D,Math.min(x-1,D+1),E-D]})},w=v(t.width,e.width,e.border.left,e.border.right,o,l),S=v(t.height,e.height,e.border.top,e.border.bottom,s,u);for(let x=0;x<u;x++)for(let F=0;F<l;F++){let[I,z,$]=w[F],[j,G,_]=S[x],T=(j*t.width+I)*4,y=(j*t.width+z)*4,N=(G*t.width+I)*4,C=(G*t.width+z)*4,d=g[T+3]*(1-$)*(1-_),E=g[y+3]*$*(1-_),D=g[N+3]*(1-$)*_,V=g[C+3]*$*_,H=d+E+D+V,Z=(x*l+F)*4;m.data[Z+3]=Math.round(H);for(let ne=0;ne<3;ne++)m.data[Z+ne]=H?Math.round((g[T+ne]*d+g[y+ne]*E+g[N+ne]*D+g[C+ne]*V)/H):0}return f.putImageData(m,0,0),c}function Nh(t){let e=Number(t)>>>0;return`rgba(${e>>>16&255},${e>>>8&255},${e&255},${(e>>>24)/255})`}function Ph(t,e,i,r,n=Ur){let o=e.textLayout;if(!o?.richLines||i<=0||r<=0)return;let s=e.horizontalAlignment==="Right"?1:e.horizontalAlignment==="Middle"?.5:0,a=e.verticalAlignment==="Bottom"?1:e.verticalAlignment==="Middle"?.5:0,l=e.kind==="textwindow"?e.scroll:null,u=o.visibleLineCount??o.richLines.length,c=o.visibleContentHeight??o.contentHeight,f=e.kind==="textwindow"&&o.contentHeight>r?-(l?.offset||0):a*(r-c);t.save(),t.beginPath(),t.rect(0,0,i,r),t.clip(),t.textAlign="left",t.textBaseline="alphabetic",t.lineJoin="round",t.strokeStyle=Nh(e.outlineColor??4278190080);for(let h=0;h<u;h++){let m=o.richLines[h],g=f+m.top;if(g+m.height<0||g>r)continue;let v=2+s*(o.textWidth-m.width);for(let w of m.runs)t.font=Bn(w,n||Ur),t.fillStyle=Nh(w.color??e.fontColor??4294967295),e.enableOutline&&(t.lineWidth=Math.max(2,w.fontSize*.12),t.strokeText(w.text,v+w.x,g+m.baseline)),t.fillText(w.text,v+w.x,g+m.baseline)}t.restore()}var Q0=Z0(import.meta.url),e1=[0,-.5,.5,.5,-.5,.5],t1=[0,-.5,.12,-.12,.5,0,.12,.12,0,.5,-.12,.12,-.5,0,-.12,-.12],i1=[0,-.5,.11,-.15,.48,-.15,.18,.07,.29,.41,0,.2,-.29,.41,-.18,.07,-.48,-.15,-.11,-.15],El=Buffer.from([137,80,78,71,13,10,26,10]),r1=new Set(["image","textbox","textwindow","button","grid"]),Wo={cursor:"\u5149\u6807\u68C0\u6D4B\u533A\u57DF",reference:"\u6A21\u677F\u5F15\u7528\u63A7\u4EF6",grid:"\u7F51\u683C\u89C6\u7A97",button:"\u9884\u8BBE\u6309\u94AE",keyhint:"\u6309\u952E\u63D0\u793A",animation:"\u754C\u9762\u52A8\u6548",fullscreen:"\u5168\u5C4F\u52A8\u6548"},Ko=null;function Sn(){if(Ko)return Ko;try{Ko=Q0("@napi-rs/canvas")}catch(t){let e=t?.message||String(t);throw new Error(`Host screenshot renderer requires @napi-rs/canvas (${e})`)}return Ko}function me(t,e=0){let i=Number(t);return Number.isFinite(i)?i:e}function Zo(t,e=4294967295){let i=Number(t??e)>>>0;return{r:i>>>16&255,g:i>>>8&255,b:i&255,a:(i>>>24&255)/255}}function Ki(t,e=1){return`rgba(${t.r},${t.g},${t.b},${Math.max(0,Math.min(1,t.a*e))})`}function Fh(t,e,i=1){let r=Math.max(1,Math.round(me(t,1))),n=Math.max(1,Math.round(me(e,1))),o=Math.max(1,Math.min(2,me(i,1)));return{width:r,height:n,pixelWidth:Math.max(1,Math.round(r*o)),pixelHeight:Math.max(1,Math.round(n*o)),pixelRatio:o}}function Dh(t){let e=Buffer.from(t.toBuffer("image/png"));if(e.length<El.length||!e.subarray(0,El.length).equals(El))throw new Error("Host screenshot renderer did not produce a PNG");return e}function n1(t){return t==="triangle"?e1:t==="fourstar"?t1:i1}function o1(t,e,i,r,n){let o=n1(e);t.beginPath();for(let s=0;s<o.length;s+=2){let a=o[s]*i,l=o[s+1]*r;s===0?t.moveTo(a,l):t.lineTo(a,l)}t.closePath(),t.fillStyle=Ki(n),t.fill()}function Cl(t,e,i){let r=e?.matrix,n=r&&typeof r=="object"?[r.a,r.b,r.c,r.d,r.tx,r.ty].map(Number):null,o=e?.pressed?.98:1;if(n&&n.every(Number.isFinite)){let[s,a,l,u,c,f]=n;t.transform(s*o,-a*o,-l*o,u*o,c,i-f);return}t.translate(me(e.left)+me(e.width)/2,i-me(e.bottom)-me(e.height)/2),t.rotate(-me(e.rotationZ)*Math.PI/180),t.scale(o,o)}function s1(t,e,i,r,n,o){if(typeof t.roundRect=="function"){t.roundRect(e,i,r,n,o);return}let s=Math.max(0,Math.min(o,r/2,n/2));t.moveTo(e+s,i),t.arcTo(e+r,i,e+r,i+n,s),t.arcTo(e+r,i+n,e,i+n,s),t.arcTo(e,i+n,e,i,s),t.arcTo(e,i,e+r,i,s),t.closePath()}function zh(t,e,i,r){let n=Zo(e.bgColor,16777215);t.fillStyle=Ki(n),t.fillRect(-i/2,-r/2,i,r);let o=e.textLayout||Wt(e,i,r);if(o.richLines){t.save(),t.translate(-i/2,-r/2),Ph(t,{...e,textLayout:o},i,r,ur()),t.restore();return}let s=o.fontSize,a=Zo(e.fontColor,4294967295),l=e.horizontalAlignment==="Right"?1:e.horizontalAlignment==="Middle"?.5:0,u=e.verticalAlignment==="Bottom"?1:e.verticalAlignment==="Middle"?.5:0;t.save(),t.beginPath(),t.rect(-i/2,-r/2,i,r),t.clip(),t.font=`${s}px ${ur()}`,t.fillStyle=Ki(a),t.textAlign=l===1?"right":l===.5?"center":"left";let c=e.kind==="textwindow"?e.scroll:null;if(t.textBaseline=c?"top":u===1?"bottom":u===.5?"middle":"top",e.enableOutline){let w=Zo(e.outlineColor,4278190080);t.strokeStyle=Ki(w),t.lineWidth=Math.max(2,s*.12),t.lineJoin="round"}let f=c?-i/2+2+l*c.textWidth:l===0?-i/2+2:l===1?i/2-2:0,h=u===0?-r/2:u===1?r/2:0,m=c?.lines||o.lines.slice(0,o.visibleLineCount??o.lines.length),g=c?.lineHeight||o.lineHeight,v=c?-r/2-c.offset+(c.max>0?0:u*(r-c.contentLength)):u===.5?h-(m.length-1)*g/2:u===1?h-(m.length-1)*g:h;for(let w=0;w<m.length;w+=1){let S=v+w*g;c&&(S+g<-r/2||S>r/2)||(e.enableOutline&&t.strokeText(m[w],f,S),t.fillText(m[w],f,S))}t.restore()}function a1(t,e,i,r){let n=Rr(e.scroll,i,r);if(n)for(let[o,s]of[[n.track,"#263447"],[n.thumb,"#90aecb"]])t.fillStyle=s,t.fillRect(o.x,o.y,o.width,o.height)}function $h(t,e,i,r){t.beginPath(),s1(t,-i/2,-r/2,i,r,6),t.fillStyle="#3268cf",t.fill(),t.strokeStyle="rgba(112,160,255,0.8)",t.lineWidth=1,t.stroke(),e.pressed&&(t.fillStyle="rgba(0,0,0,0.28)",t.fill())}function Lh(t,e,i,r,n){let o=Zo(e.imageColor,4294967295),s=Nn(e.imageId,e.imageSource),a=n?.images?.get(s);if(e.primitive==="sprite"&&a){let l=n.imageMetadata?.get(s),u=Th(l,e.imageType),c=`${s}:${Number(e.imageColor??4294967295)&16777215}:${u}:${u==="Stretch"?`${i}:${r}`:""}`,f=n.tints.get(c);if(!f){let h=u==="Stretch"?Oh(a,l,i,r,Sn().createCanvas):a;f=kh(h,e.imageColor,Sn().createCanvas),n.tints.set(c,f)}t.globalAlpha*=o.a,t.drawImage(f,-i/2,-r/2,i,r);return}if(e.primitive==="missing"||e.primitive==="sprite"){t.fillStyle="rgba(72,34,40,0.36)",t.fillRect(-i/2,-r/2,i,r),t.strokeStyle="#ff7481",t.lineWidth=1,t.strokeRect(-i/2+.5,-r/2+.5,Math.max(0,i-1),Math.max(0,r-1));return}if(e.primitive==="circle"){t.beginPath(),t.ellipse(0,0,i/2,r/2,0,0,Math.PI*2),t.fillStyle=Ki(o),t.fill();return}if(e.primitive==="ring"){t.beginPath(),t.ellipse(0,0,Math.max(1,i/2-3.5),Math.max(1,r/2-3.5),0,0,Math.PI*2),t.strokeStyle=Ki(o),t.lineWidth=7,t.stroke();return}if(e.primitive==="triangle"||e.primitive==="fourstar"||e.primitive==="fivestar"){o1(t,e.primitive,i,r,o);return}t.fillStyle=Ki(o),t.fillRect(-i/2,-r/2,i,r)}function l1(t,e,i,r){let n=Math.max(0,me(e.sourceWidth,me(e.width))),o=Math.max(0,me(e.sourceHeight,me(e.height)));t.save();for(let s of e.clipPolygons||[])t.beginPath(),s.forEach((a,l)=>l?t.lineTo(a.x,i-a.y):t.moveTo(a.x,i-a.y)),t.closePath(),t.clip();if(Cl(t,e,i),e.kind==="textbox"||e.kind==="textwindow")zh(t,e,n,o);else if(e.kind==="button")$h(t,e,n,o);else if(e.kind!=="grid"){let s=_l(e,n,o);s&&(t.beginPath(),t.rect(s.x,s.y,s.width,s.height),t.clip()),Lh(t,e,n,o,r)}a1(t,e,n,o),t.restore()}function Gh(t,e,i,{checker:r=!1}={}){if(r){t.fillStyle="#28313e",t.fillRect(0,0,e,i);let o=16;for(let s=0;s<i;s+=o)for(let a=0;a<e;a+=o)(a/o+s/o)%2===0&&(t.fillStyle="rgba(255,255,255,0.04)",t.fillRect(a,s,o,o));t.strokeStyle="#40b8cf",t.lineWidth=1,t.strokeRect(.5,.5,e-1,i-1);return}let n=t.createRadialGradient(e/2,i*.45,8,e/2,i/2,Math.max(e,i)*.72);n.addColorStop(0,"#123a6b"),n.addColorStop(.72,"#061934"),n.addColorStop(1,"#071426"),t.fillStyle=n,t.fillRect(0,0,e,i)}function u1(t,e){return{a:t.a*e.a+t.c*e.b,b:t.b*e.a+t.d*e.b,c:t.a*e.c+t.c*e.d,d:t.b*e.c+t.d*e.d,tx:t.a*e.tx+t.c*e.ty+t.tx,ty:t.b*e.tx+t.d*e.ty+t.ty}}function Mh(t){let e=t?.matrix;return!e||typeof e!="object"?{a:1,b:0,c:0,d:1,tx:0,ty:0}:{a:me(e.a,1),b:me(e.b),c:me(e.c),d:me(e.d,1),tx:me(e.tx),ty:me(e.ty)}}function c1(t){let e=Array.isArray(t?.nodes)?t.nodes:[],i=new Map;for(let s of e){if(!s||s.id===void 0||s.id===null)continue;let a=s.parent==null?"":String(s.parent),l=i.get(a);l?l.push(s):i.set(a,[s])}for(let s of i.values())s.sort((a,l)=>me(a.z)-me(l.z));let r=[];function n(s,a,l,u){if(!r1.has(s.kind))return;let c=Math.abs(me(s.sourceWidth)*Math.hypot(a.a,a.b)),f=Math.abs(me(s.sourceHeight)*Math.hypot(a.c,a.d));r.push({...s,left:a.tx-c/2,bottom:a.ty-f/2,width:c,height:f,rotationZ:Math.atan2(a.b,a.a)*180/Math.PI,matrix:{a:a.a,b:a.b,c:a.c,d:a.d,tx:a.tx,ty:a.ty},...l.length?{clipPolygons:l}:{},...u.length?{masks:u}:{}})}function o(s,a,l=null,u=[],c=[]){let f=i.get(s)||[];for(let h=f.length-1;h>=0;h-=1){let m=f[h],g=a?u1(a,Mh(m)):Mh(m),v=u;if(m.clipToParent&&a&&l){let x=l.sourceWidth/2,F=l.sourceHeight/2;v=[...u,[[-x,-F],[x,-F],[x,F],[-x,F]].map(([I,z])=>({x:a.a*I+a.c*z+a.tx,y:a.b*I+a.d*z+a.ty}))]}let w=cr(m,g),S=w?[...c,w]:c;m.kind!=="grid"&&n(m,g,v,S),o(String(m.id),g,m,v,S),m.kind==="grid"&&n(m,g,v,S)}}return o("",null),r}function qh(t,e,i,r={}){return h1(c1(t),e,i,r)}function f1(t,e,i){if(!(t.width>0&&t.height>0)||!Ut(t.matrix))return null;let r=[[-1,-1],[1,-1],[1,1],[-1,1]].map(([l,u])=>{let c=tt(t.matrix,l*t.width/2,u*t.height/2);return{x:c.x*i.pixelRatio,y:(i.height-c.y)*i.pixelRatio}}),n=Math.max(e.x,Math.floor(Math.min(...r.map(l=>l.x)))),o=Math.max(e.y,Math.floor(Math.min(...r.map(l=>l.y)))),s=Math.min(e.x+e.canvas.width,Math.ceil(Math.max(...r.map(l=>l.x)))),a=Math.min(e.y+e.canvas.height,Math.ceil(Math.max(...r.map(l=>l.y))));return s>n&&a>o?{x:n,y:o,width:s-n,height:a-o}:null}function d1(t,e,i,r){let n=e.canvas.width,o=e.canvas.height,s=e.ctx.getImageData(0,0,n,o).data,a=e.x-t.x,l=e.y-t.y,u=t.ctx.getImageData(a,l,n,o),c=u.data,f=Ut(i.matrix);for(let h=0;h<o;h++){let m=r.height-(e.y+h+.5)/r.pixelRatio;for(let g=0;g<n;g++){let v=(h*n+g)*4;if(!s[v+3])continue;let w=(e.x+g+.5)/r.pixelRatio,S=f.a*w+f.c*m+f.tx,x=f.b*w+f.d*m+f.ty,F=Du(S,x,i),I=Math.round(s[v+3]*F)/255;if(!I)continue;let z=c[v+3]/255,$=I+z*(1-I);for(let j=0;j<3;j++)c[v+j]=Math.round((s[v+j]*I+c[v+j]*z*(1-I))/$);c[v+3]=Math.round($*255)}}t.ctx.save(),t.ctx.setTransform(1,0,0,1,0,0),t.ctx.putImageData(u,a,l),t.ctx.restore()}function kl(t,e,i,r,n=l1){for(let o of e){if(o.item){n(t.ctx,o.item,i.height,r);continue}let s=f1(o.mask,t,i);if(!s)continue;let a=Sn().createCanvas(s.width,s.height),l=a.getContext("2d");l.setTransform(i.pixelRatio,0,0,i.pixelRatio,-s.x,-s.y);let u={canvas:a,ctx:l,x:s.x,y:s.y};kl(u,o.children,i,r,n),d1(t,u,o.mask,i)}}function h1(t,e,i,r={}){let{createCanvas:n}=Sn(),o=Fh(e,i,r.scale),s=n(o.pixelWidth,o.pixelHeight),a=s.getContext("2d");a.scale(o.pixelRatio,o.pixelRatio),r.background!=="transparent"&&Gh(a,o.width,o.height);let l=Array.isArray(t)?t:[],u={images:r.images,imageMetadata:r.imageMetadata,tints:new Map};return kl({canvas:s,ctx:a,x:0,y:0},Ns(l),o,u),{data:Dh(s),width:o.width,height:o.height,pixelWidth:o.pixelWidth,pixelHeight:o.pixelHeight}}function Bh(t){if(t.renderMatrix){let e=tt(t.renderMatrix,t.centerX,t.centerY);return{kind:t.kind,width:t.width,height:t.height,matrix:{...t.renderMatrix,tx:e.x,ty:e.y}}}return{kind:t.kind,left:me(t.renderLeft,t.left),bottom:me(t.renderBottom,t.bottom),width:Math.max(0,me(t.renderWidth,t.width)),height:Math.max(0,me(t.renderHeight,t.height)),rotationZ:me(t.renderRotationZ,t.rotationZ)}}function Jo(t,e,i){let r=String(e||"");if(!r)return;t.font=`10px ${ur()}`,t.textAlign="center",t.textBaseline="middle";let n=t.measureText(r),o=Math.min(i-4,Math.max(24,n.width+8)),s=16;t.fillStyle="rgba(17,25,37,0.66)",t.fillRect(-o/2,-s/2,o,s),t.fillStyle="#e7edf5",t.fillText(r,0,0)}function p1(t,e,i,r){let n=Bh(e);if(n.width<=0||n.height<=0)return;t.save(),Cl(t,n,i);let o=-n.width/2,s=-n.height/2;if(e.kind==="image"){t.save();let a=Math.max(0,me(e.width,n.width)),l=Math.max(0,me(e.height,n.height));t.scale(a?n.width/a:1,l?n.height/l:1);let u=e.enableFill?_l(e,a,l):null;u&&(t.beginPath(),t.rect(u.x,u.y,u.width,u.height),t.clip()),Lh(t,e,a,l,r),t.restore()}else if(e.kind==="textbox"||e.kind==="textwindow")zh(t,e,n.width,n.height);else if(e.kind==="button")$h(t,e,n.width,n.height),Jo(t,e.name||Wo.button,n.width);else if(e.kind==="cursor")t.setLineDash([6,4]),t.strokeStyle="rgba(74,142,181,0.7)",t.fillStyle="rgba(74,142,181,0.1)",t.fillRect(o,s,n.width,n.height),t.strokeRect(o,s,n.width,n.height),Jo(t,e.name||Wo.cursor,n.width);else if(e.kind==="grid"){t.strokeStyle="rgba(106,146,189,0.55)",t.strokeRect(o,s,n.width,n.height),t.beginPath();for(let a=20;a<n.width;a+=20)t.moveTo(o+a,s),t.lineTo(o+a,s+n.height);for(let a=20;a<n.height;a+=20)t.moveTo(o,s+a),t.lineTo(o+n.width,s+a);t.stroke(),Jo(t,e.name||Wo.grid,n.width)}else e.kind!=="container"&&e.kind!=="server-container"?(t.setLineDash(e.kind==="reference"||e.kind==="animation"||e.kind==="fullscreen"?[4,4]:[]),t.strokeStyle="rgba(203,218,237,0.55)",t.strokeRect(o,s,n.width,n.height),Jo(t,e.name||Wo[e.kind]||e.kind,n.width)):(t.strokeStyle="rgba(78,165,230,0.42)",t.strokeRect(o,s,n.width,n.height));t.restore()}function jh(t,e={}){let{createCanvas:i}=Sn(),r=t?.canvas||{},n=Fh(r.width||1600,r.height||900,e.scale),o=i(n.pixelWidth,n.pixelHeight),s=o.getContext("2d");s.scale(n.pixelRatio,n.pixelRatio),Gh(s,n.width,n.height,{checker:!0});let a=(Array.isArray(t?.boxes)?t.boxes:[]).filter(f=>f&&f.kind!=="server-container"&&f.visible!==!1&&f.visibleInHierarchy!==!1),l=t?.selectedId,u={images:e.images,imageMetadata:e.imageMetadata,tints:new Map};kl({canvas:o,ctx:s,x:0,y:0},Ns(a),n,u,p1);let c=a.find(f=>f.id===l);if(c&&c.kind!=="container"){let f=Bh(c);s.save(),Cl(s,f,n.height),s.strokeStyle="#61b9ff",s.lineWidth=2,s.strokeRect(-f.width/2,-f.height/2,f.width,f.height),s.restore()}return{data:Dh(o),page:t?.asset?.type==="client-control-template"?"UI\u63A7\u4EF6-\u5BA2\u6237\u7AEF":"UI \u7F16\u8F91",width:n.width,height:n.height,pixelWidth:n.pixelWidth,pixelHeight:n.pixelHeight}}import{closeSync as m1,existsSync as Qo,openSync as g1,opendirSync as y1,readSync as v1,realpathSync as Mr,statSync as Uh}from"node:fs";import{basename as b1,dirname as Vh,isAbsolute as Tl,join as w1,relative as Hh,resolve as _n}from"node:path";var S1="qxqy-simulator-save",Yh=new Set(["node_modules",".git","dist",".dsh","coverage"]),xn=50,Xh=4096,Al=(t,e)=>{let i=Number(process.env[t]);return Number.isSafeInteger(i)&&i>0?i:e},x1=()=>({entries:Al("QXQY_SCAN_ENTRY_LIMIT",1e4),directories:Al("QXQY_SCAN_DIR_LIMIT",1e3),depth:Al("QXQY_SCAN_DEPTH_LIMIT",8)});function Rl(t=""){let e=_n(String(t||process.cwd()));if(!Qo(e))throw new Error(`workspace does not exist: ${e}`);if(!Uh(e).isDirectory())throw new Error(`workspace is not a directory: ${e}`);return Mr(e)}function In(t,e,i=!1){let r=Hh(t,e);if(!i&&!r||r.startsWith("..")||Tl(r))throw new Error("path must stay inside the configured workspace");return r}function Ei(t,e){let i=String(e||"").trim();if(!i||Tl(i))throw new Error("path must be a non-empty workspace-relative path");let r=Mr(_n(t)),n=_n(r,i);if(In(r,n),!Qo(n))throw new Error(`file does not exist: ${i}`);let o=Mr(n);return In(r,o),o}function mt(t,e){let i=String(e||"").trim();if(!i||Tl(i))throw new Error("path must be a non-empty workspace-relative path");let r=Mr(_n(t)),n=_n(r,i);In(r,n);let o=Vh(n);for(;!Qo(o);){let s=Vh(o);if(s===o)throw new Error("unable to resolve output directory");o=s}return In(r,Mr(o),!0),Qo(n)&&In(r,Mr(n)),n}function I1(t,e=Xh){let i=Buffer.alloc(e),r=g1(t,"r");try{let n=v1(r,i,0,e,0);return i.subarray(0,n).toString("utf8")}finally{m1(r)}}function Wh(t,e,i,r,n){let o=n.limits;if(r>o.depth){n.depthLimitedDirectories+=1;return}if(n.scannedDirectories>=o.directories){n.directoryLimitReached=!0;return}let s;try{n.scannedDirectories+=1,s=y1(t)}catch{n.unreadableEntries+=1;return}try{let a;for(;a=s.readSync();){if(n.scannedEntries>=o.entries){n.entryLimitReached=!0;return}if(n.scannedEntries+=1,a.name.startsWith(".")||a.isDirectory()&&Yh.has(a.name)){n.skippedEntries+=1,a.isDirectory()&&(n.skippedDirectories+=1);continue}let l=w1(t,a.name);if(a.isDirectory()){if(Wh(l,e,i,r+1,n),n.entryLimitReached||n.directoryLimitReached)return;continue}if(!(!a.isFile()||!/\.json$/i.test(a.name))){n.scannedJsonFiles+=1;try{let u=Uh(l),c=I1(l);if(!c.includes(S1))continue;let f=c.match(/"name"\s*:\s*("(?:\\.|[^"\\])*")/)?.[1],h=b1(a.name,".json");if(f)try{h=JSON.parse(f)||h}catch{}i.push({path:Hh(e,l).replaceAll("\\","/"),name:h,bytes:u.size,mtime:u.mtimeMs})}catch{n.unreadableEntries+=1}}}}catch{n.unreadableEntries+=1}finally{try{s.closeSync()}catch{n.unreadableEntries+=1}}}function es(t){let e=Rl(t),i=[],r={truncated:!1,warnings:[],scannedDirectories:0,scannedEntries:0,scannedJsonFiles:0,matchedArchives:0,skippedDirectories:0,skippedEntries:0,unreadableEntries:0,depthLimitedDirectories:0,entryLimitReached:!1,directoryLimitReached:!1,limits:{archives:xn,headBytes:Xh,...x1()},policy:{excludedDirectories:[...Yh],hiddenEntries:!1,symlinks:!1,validatesJson:!1}};return Wh(e,e,i,0,r),i.sort((n,o)=>o.mtime-n.mtime||n.path.localeCompare(o.path)),r.matchedArchives=i.length,i.length>xn&&r.warnings.push(`\u53D1\u73B0 ${i.length} \u4E2A\u5B58\u6863\uFF0C\u4EC5\u663E\u793A\u4FEE\u6539\u65F6\u95F4\u6700\u65B0\u7684 ${xn} \u4E2A\uFF1B\u5176\u4ED6\u5B58\u6863\u53EF\u901A\u8FC7\u6307\u5B9A\u8DEF\u5F84\u6253\u5F00\u3002`),(r.entryLimitReached||r.directoryLimitReached)&&r.warnings.push(`\u81EA\u52A8\u53D1\u73B0\u8FBE\u5230\u626B\u63CF\u4E0A\u9650\uFF08${r.limits.entries} \u9879 / ${r.limits.directories} \u4E2A\u76EE\u5F55\uFF09\uFF0C\u5217\u8868\u53EF\u80FD\u4E0D\u5B8C\u6574\uFF1B\u53EF\u901A\u8FC7\u6307\u5B9A\u8DEF\u5F84\u6253\u5F00\u5B58\u6863\u3002`),r.depthLimitedDirectories&&r.warnings.push(`\u81EA\u52A8\u53D1\u73B0\u8DF3\u8FC7 ${r.depthLimitedDirectories} \u4E2A\u8D85\u8FC7 ${r.limits.depth} \u5C42\u7684\u76EE\u5F55\uFF1B\u53EF\u901A\u8FC7\u6307\u5B9A\u8DEF\u5F84\u6253\u5F00\u5176\u4E2D\u7684\u5B58\u6863\u3002`),r.skippedEntries&&r.warnings.push("\u81EA\u52A8\u53D1\u73B0\u8DF3\u8FC7\u9690\u85CF\u9879\u53CA\u751F\u6210\u76EE\u5F55\uFF08\u5982 node_modules\u3001dist\uFF09\uFF1B\u53EF\u901A\u8FC7\u6307\u5B9A\u8DEF\u5F84\u6253\u5F00\u5176\u4E2D\u7684\u5B58\u6863\u3002"),r.unreadableEntries&&r.warnings.push(`\u81EA\u52A8\u53D1\u73B0\u65E0\u6CD5\u8BFB\u53D6 ${r.unreadableEntries} \u4E2A\u6587\u4EF6\u6216\u76EE\u5F55\uFF1B\u8BF7\u68C0\u67E5\u8BBF\u95EE\u6743\u9650\uFF0C\u6216\u901A\u8FC7\u6307\u5B9A\u8DEF\u5F84\u67E5\u770B\u5177\u4F53\u9519\u8BEF\u3002`),r.truncated=i.length>xn||r.entryLimitReached||r.directoryLimitReached||r.depthLimitedDirectories>0,{bound:!0,workspace:e,archives:i.slice(0,xn),discovery:r}}import{readFileSync as _1}from"node:fs";import{homedir as E1}from"node:os";import{join as C1}from"node:path";var k1={"zh-cn":"LanguageChs",chs:"LanguageChs","zh-tw":"LanguageCht",cht:"LanguageCht",en:"LanguageEng","en-us":"LanguageEng",eng:"LanguageEng",ja:"LanguageJpn","ja-jp":"LanguageJpn",jp:"LanguageJpn",ko:"LanguageKor","ko-kr":"LanguageKor",kr:"LanguageKor",fr:"LanguageFra",fra:"LanguageFra",de:"LanguageDeu",deu:"LanguageDeu",es:"LanguageSpa",spa:"LanguageSpa",pt:"LanguagePor",por:"LanguagePor",ru:"LanguageRus",rus:"LanguageRus",th:"LanguageTha",tha:"LanguageTha",vi:"LanguageVie",vie:"LanguageVie",id:"LanguageInd",ind:"LanguageInd",tr:"LanguageTur",tur:"LanguageTur",it:"LanguageIta",ita:"LanguageIta"};function A1(t){let i=[...String(t||"").matchAll(/Request to set language:([A-Za-z0-9_-]+)/g)].at(-1)?.[1]?.toLowerCase();return k1[i]||null}function T1(){return C1(E1(),"AppData","LocalLow","miHoYo","\u539F\u795E","output_log.txt")}function Kh(t=T1()){try{return A1(_1(t,"utf8"))}catch{return null}}import{existsSync as Pl,lstatSync as R1,mkdirSync as Jh,readFileSync as ts,readdirSync as O1,realpathSync as Zh,renameSync as N1,rmSync as P1,statSync as ns,writeFileSync as Qh}from"node:fs";import{createHash as M1,randomUUID as ep}from"node:crypto";import{homedir as F1}from"node:os";import{basename as D1,dirname as is,isAbsolute as z1,join as rs,relative as $1}from"node:path";var Tt=t=>M1("sha256").update(t).digest("hex"),Ol=t=>Pl(t)?Tt(ts(t)):null,Nl=(t,e)=>{let i=$1(t,e);return!z1(i)&&i!==".."&&!i.startsWith(`..${process.platform==="win32"?"\\":"/"}`)};function tp(t,e){let i=mt(t,e),r=i;for(;r!==t;){try{if(R1(r).isSymbolicLink())throw new Error("\u5B9E\u673A\u76EE\u6807\u4E0D\u80FD\u5305\u542B\u7B26\u53F7\u94FE\u63A5\u6216\u76EE\u5F55\u8054\u63A5")}catch(n){if(n.code!=="ENOENT")throw n}r=is(r)}if(Pl(i)&&!ns(i).isFile())throw new Error("\u5B9E\u673A\u76EE\u6807\u4E0D\u662F\u666E\u901A\u6587\u4EF6");return i}function ip(t=rs(F1(),"AppData","LocalLow","miHoYo","\u539F\u795E","BeyondLocal")){let e=r=>{try{return O1(r,{withFileTypes:!0}).filter(n=>n.isDirectory()&&/^\d+$/.test(n.name)).map(n=>n.name)}catch{return[]}},i=[];for(let r of e(t)){let n=rs(t,r,"Beyond_Local_Save_Level");for(let o of e(n)){let s=rs(n,o,"external_lua_file","default_import_file");Pl(s)&&ns(s).isDirectory()&&i.push({uid:r,editorId:o,path:s})}}return{candidates:i}}var os=class{constructor(e){this.controller=e,this.plan=null,this.lastResult=null}preview(){let e=this.controller,i=e.studio.archiveData(),r=Lr(i.scriptSync);if(!r)throw new Error("\u8BF7\u5148\u914D\u7F6E\u5B9E\u673A\u811A\u672C\u76EE\u5F55");let n=Zh(e.activeWorkspacePath()),o=Zh(r.clientImportRoot);if(!ns(o).isDirectory())throw new Error("\u5B9E\u673A\u5BFC\u5165\u6839\u76EE\u5F55\u4E0D\u5B58\u5728");let s=r.workspaceDir?Ei(n,r.workspaceDir):n;if(!ns(s).isDirectory())throw new Error("\u5DE5\u4F5C\u533A\u811A\u672C\u76EE\u5F55\u4E0D\u5B58\u5728");if(Nl(s,o)||Nl(o,s))throw new Error("\u5DE5\u4F5C\u533A\u811A\u672C\u76EE\u5F55\u4E0E\u5B9E\u673A\u76EE\u5F55\u4E0D\u80FD\u91CD\u53E0");let a=new Map,l=i.assets.scripts.map(c=>{let f={id:c.id,path:c.path,sourceKind:c.source.trim()?"\u5B58\u6863\u6E90\u7801":"\u5DE5\u4F5C\u533A\u6587\u4EF6"};try{let h=An(c.path);if(!/\.lua$/i.test(h))throw new Error("\u811A\u672C\u8DEF\u5F84\u5FC5\u987B\u4EE5 .lua \u7ED3\u5C3E");let m=r.workspaceDir?`${r.workspaceDir}/`:"";if(!h.startsWith(m))throw new Error("\u811A\u672C\u4E0D\u5728\u6240\u914D\u7F6E\u7684\u5DE5\u4F5C\u533A\u811A\u672C\u76EE\u5F55\u4E2D");let g=[r.clientSubdir,h.slice(m.length)].filter(Boolean).join("/"),v=tp(o,g),w=v.toLowerCase();a.set(w,(a.get(w)||0)+1);let S=null,x="";try{S=ts(Ei(n,h),"utf8")}catch(z){x=z.message}if(!c.source.trim()&&S===null)throw new Error(x);let F=c.source.trim()?c.source:S,I=Ol(v);return{...f,target:v,targetRelative:g,source:F,diskSource:S,diskError:x,sourceMismatch:!!(c.source.trim()&&S!==null&&c.source!==S),beforeSource:I===null?"":ts(v,"utf8"),beforeHash:I,sourceHash:Tt(F),status:I===null?"\u65B0\u589E":I===Tt(F)?"\u672A\u53D8\u5316":"\u8986\u76D6"}}catch(h){return{...f,status:"\u9519\u8BEF",error:h.message}}});for(let c of l)c.target&&a.get(c.target.toLowerCase())>1&&(c.status="\u9519\u8BEF",c.error="\u591A\u4E2A\u811A\u672C\u6620\u5C04\u5230\u540C\u4E00\u76EE\u6807\u6587\u4EF6");let u=Tt(JSON.stringify({archive:i,workspace:n,root:o,rows:l}));return this.plan={id:ep(),fingerprint:u,root:o,workspace:n,rows:l,pendingGuidChanges:i.controlGuidChanges.length,createdAt:new Date().toISOString()},this.plan}apply({planId:e,scriptIds:i,confirmed:r}){let n=this.plan;if(r!==!0||!n||n.id!==e)throw new Error("\u8BF7\u5148\u68C0\u67E5\u5DEE\u5F02\u5E76\u786E\u8BA4\u672C\u6B21\u590D\u5236");let o=this.preview();if(this.plan=null,o.fingerprint!==n.fingerprint)throw new Error("\u5185\u5BB9\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5");if(n.pendingGuidChanges)throw new Error("\u8BF7\u5148\u6838\u5BF9\u5E76\u786E\u8BA4\u63A7\u4EF6\u7D22\u5F15\u7684 Lua \u5F15\u7528\u53D8\u66F4");if(!Array.isArray(i)||!i.length||new Set(i).size!==i.length)throw new Error("\u8BF7\u9009\u62E9\u8981\u590D\u5236\u7684\u811A\u672C");let s=i.map(c=>{let f=n.rows.find(h=>h.id===c);if(!f||f.error||f.status==="\u672A\u53D8\u5316")throw new Error("\u6240\u9009\u811A\u672C\u4E0D\u80FD\u590D\u5236\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5");return f});this.controller.assertSavedArchive();let a=`.qxqy-script-sync-backups/${n.id}`,l=mt(n.workspace,a);if(Nl(n.root,l))throw new Error("\u5907\u4EFD\u76EE\u5F55\u4E0D\u80FD\u4F4D\u4E8E\u5B9E\u673A\u811A\u672C\u76EE\u5F55\u4E2D");let u=[];for(let c of s){let f="";try{let h=tp(n.root,c.targetRelative);if(Ol(h)!==c.beforeHash)throw new Error("\u76EE\u6807\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5");if(c.beforeHash!==null){let m=mt(n.workspace,`${a}/${c.targetRelative}`);Jh(is(m),{recursive:!0}),Qh(m,ts(h),{flag:"wx"})}if(Jh(is(h),{recursive:!0}),f=rs(is(h),`.${D1(h)}.${ep()}.tmp`),Qh(f,c.source,{flag:"wx"}),Ol(h)!==c.beforeHash)throw new Error("\u76EE\u6807\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5");N1(f,h),u.push({id:c.id,target:h,status:"\u6210\u529F"})}catch(h){u.push({id:c.id,target:c.target,status:"\u5931\u8D25",error:h.message})}finally{f&&P1(f,{force:!0})}}return this.lastResult={completed:u.every(c=>c.status==="\u6210\u529F"),at:new Date().toISOString(),backupRoot:l,results:u},this.lastResult}};import{createHash as L1,randomUUID as G1}from"node:crypto";import{mkdir as q1,open as B1,readFile as j1,rename as V1,rm as Ml,stat as U1,writeFile as H1}from"node:fs/promises";import{homedir as Fl}from"node:os";import{join as Fr,resolve as Y1}from"node:path";import{setTimeout as X1}from"node:timers/promises";var Dl=t=>L1("sha256").update(t).digest("hex");function ss(t){return Fr(process.platform==="win32"?process.env.LOCALAPPDATA||Fr(Fl(),"AppData","Local"):process.platform==="darwin"?Fr(Fl(),"Library","Caches"):process.env.XDG_CACHE_HOME||Fr(Fl(),".cache"),"beyond-simulator",t)}var Ci=class{constructor({cacheDir:e,source:i,version:r,extension:n,accepts:o,fetch:s=globalThis.fetch,timeout:a=12e3}){this.directory=Fr(Y1(e),r,Dl(i).slice(0,12)),Object.assign(this,{source:i,extension:n,accepts:o,fetcher:s,timeout:a}),this.pending=new Map,this.failures=new Map,this.active=0,this.waiters=[]}async limited(e){this.active>=4?await new Promise(i=>this.waiters.push(i)):this.active++;try{return await e()}finally{let i=this.waiters.shift();i?i():this.active--}}async download(e,i,r,n){let o=await this.fetcher(new URL(e,this.source),{signal:r,redirect:"error",cache:n?"no-cache":"default"});if(!o.ok)throw Object.assign(new Error(`Asset source returned HTTP ${o.status}`),{status:o.status});if(Number(o.headers.get("content-length"))>i)throw new Error("Asset response too large");let s=[],a=0;for await(let l of o.body){if(a+=l.length,a>i)throw new Error("Asset response too large");s.push(l)}return Buffer.concat(s)}async cached(e){try{let i=await j1(e);return{data:i,...await this.decode(i),etag:`"${Dl(i)}"`}}catch(i){if(i.code==="ENOENT")return null;if(i.code==="EACCES"||i.code==="EPERM")throw i;return null}}async load(e,i=!1){let r=Fr(this.directory,`${e}.${this.extension}`),n=!i&&await this.cached(r);if(n)return n;await q1(this.directory,{recursive:!0});let o=`${r}.lock`,s=Date.now()+3e4,a;for(;!a;)try{a=await B1(o,"wx")}catch(u){if(u.code!=="EEXIST")throw u;let c=!i&&await this.cached(r);if(c)return c;try{Date.now()-(await U1(o)).mtimeMs>6e4&&await Ml(o,{force:!0})}catch(f){if(f.code!=="ENOENT")throw f}if(Date.now()>s)throw new Error("Timed out waiting for asset cache writer");await X1(80)}let l=`${r}.${G1()}.tmp`;try{let u=!i&&await this.cached(r);if(u)return u;let c=new AbortController,f=setTimeout(()=>c.abort(),this.timeout),h;try{h=await this.produce(e,c.signal,i)}finally{clearTimeout(f),c.abort()}let m=await this.decode(h);return await H1(l,h,{flag:"wx"}),await V1(l,r),{data:h,...m,etag:`"${Dl(h)}"`}}finally{try{await Ml(l,{force:!0})}finally{await a.close(),await Ml(o,{force:!0})}}}get(e,{refresh:i=!1}={}){if(!this.accepts(e))return Promise.reject(Object.assign(new Error("Asset ID is not in the preview allowlist"),{status:404}));if(this.pending.has(e))return this.pending.get(e);let r=this.failures.get(e);if(!i&&r&&r.until>Date.now())return Promise.reject(r.error);let n=this.limited(()=>this.load(e,i)).then(o=>(this.failures.delete(e),o),o=>{throw i||this.failures.set(e,{until:Date.now()+6e4,error:o}),o}).finally(()=>this.pending.delete(e));return this.pending.set(e,n),n}async refresh(e){if(!this.accepts(e))throw Object.assign(new Error("Asset ID is not in the preview allowlist"),{status:404});return await this.pending.get(e)?.catch(()=>{}),this.failures.delete(e),this.get(e,{refresh:!0})}};import{createHash as W1}from"node:crypto";import{createCanvas as K1,loadImage as rp}from"@napi-rs/canvas";var as=class extends Ci{constructor({cacheDir:e,source:i=Rn,fetch:r=globalThis.fetch}){super({cacheDir:e,source:i,fetch:r,version:"border-v1",extension:"json",accepts:n=>oi(n)})}decode(e){let i=JSON.parse(e.toString("utf8"));if(i!==null&&(typeof i!="object"||Array.isArray(i)))throw new Error("Invalid image metadata");let r=Rh(i);return{raw:i,meta:r}}async produce(e,i,r){try{return await this.download(`border/${e}.json`,128*1024,i,r)}catch(n){if(n.status===404)return Buffer.from("null");throw n}}};var $l=20*1024*1024,J1=Buffer.from("89504e470d0a1a0a","hex");function np(t,e){return e.throwIfAborted(),new Promise((i,r)=>{let n=()=>r(e.reason);e.addEventListener("abort",n,{once:!0}),t.then(i,r).finally(()=>e.removeEventListener("abort",n))})}function Z1(){return process.env.QXQY_IMAGE_CACHE_DIR||ss("images")}function zl(t){if(t.length<24||t.length>$l||!t.subarray(0,8).equals(J1))throw new Error("Invalid sprite PNG");let e=t.readUInt32BE(16),i=t.readUInt32BE(20);if(!e||!i||e>8192||i>8192||e*i>16777216)throw new Error("Sprite PNG exceeds pixel limit")}var Ll=class t extends Ci{constructor({cacheDir:e=Z1(),fetch:i=globalThis.fetch,source:r,imageSource:n="StaticReference"}={}){let o=st(n);if(!["StaticReference","Prefab"].includes(o))throw new Error(`Unsupported image source: ${o}`);super({cacheDir:e,fetch:i,source:r||(o==="Prefab"?iu:Rn),version:o==="Prefab"?Gr:fs,extension:"png",accepts:s=>oi(s,o)}),this.imageSource=o,this.cacheDir=e,this.prefabStore=null,this.metadataStore=null}forSource(e){let i=st(e);if(i===this.imageSource)return this;if(i==="Prefab"&&this.imageSource==="StaticReference")return this.prefabStore||=new t({cacheDir:this.cacheDir,imageSource:"Prefab",fetch:(...r)=>this.fetcher(...r)});throw Object.assign(new Error(`Unsupported image source: ${i}`),{status:404})}get(e,{imageSource:i=this.imageSource,...r}={}){try{let n=this.forSource(i);return n===this?super.get(e,r):n.get(e,r)}catch(n){return Promise.reject(n)}}refresh(e,{imageSource:i=this.imageSource}={}){try{let r=this.forSource(i);return r===this?super.refresh(e):r.refresh(e)}catch(r){return Promise.reject(r)}}async decode(e){return zl(e),{image:await rp(e)}}metadata(e,{imageSource:i=this.imageSource,refresh:r=!1}={}){try{let n=this.forSource(i);if(n!==this)return n.metadata(e,{refresh:r});if(!this.accepts(e))throw Object.assign(new Error("Image ID is not in the preview allowlist"),{status:404});return this.imageSource==="Prefab"?Promise.resolve({meta:null,raw:null}):(this.metadataStore||=new as({cacheDir:this.cacheDir,source:this.source,fetch:(...o)=>this.fetcher(...o)}),r?this.metadataStore.refresh(e):this.metadataStore.get(e))}catch(n){return Promise.reject(n)}}async produce(e,i,r){if(this.imageSource==="Prefab"){let l=await this.download(`sprite/${e}.png`,$l,i,r);zl(l);let u=Tn(e);if(l.readUInt32BE(16)!==u||l.readUInt32BE(20)!==u)throw new Error("Prefab PNG does not match catalog dimensions");return l}let[n,o]=await Promise.all([this.download(`sprite/${e}.png`,$l,i,r),this.metadata(e,{refresh:r})]);zl(n);let s=await rp(n),a=o.raw?Ch(s,o.raw,K1):s;return o.raw?Buffer.from(a.toBuffer("image/png")):n}async prepare(e,i){let r=new Map,n=new Map,o=[],s=[...new Map((e||[]).filter(c=>c.kind==="image"&&c.visible!==!1&&oi(c.imageId,c.imageSource)).map(c=>[Nn(c.imageId,c.imageSource),{imageId:c.imageId,imageSource:st(c.imageSource)}])).entries()];i?.throwIfAborted();let a=AbortSignal.timeout(45e3),l=i?AbortSignal.any([i,a]):a,u=0;await Promise.all(Array.from({length:Math.min(4,s.length)},async()=>{for(;u<s.length&&!l.aborted;){let[c,f]=s[u++];try{let h=await np(this.get(f.imageId,f),l);r.set(c,h.image);let m=await np(this.metadata(f.imageId,f),l);n.set(c,m.meta)}catch(h){o.push({...f,error:h.message})}}}));for(let[,c]of s.slice(u))o.push({...c,error:"Image preparation timed out"});return i?.throwIfAborted(),{images:r,imageMetadata:n,warnings:o}}},Q1;function Gl(){return Q1||=new Ll}async function op(t,e,i=Gl()){let r=new URL(t.url,"http://localhost");if(r.pathname!==On.slice(0,-1)&&!r.pathname.startsWith(On))return!1;try{if(!["GET","HEAD"].includes(t.method))throw Object.assign(new Error("GET or HEAD required"),{status:405});let n=r.pathname.match(new RegExp(`^${On}(${fs}|${Gr})/([0-9]+)\\.(png|json)$`));if(!n)throw Object.assign(new Error("Unknown image resource"),{status:404});let o={imageSource:n[1]===Gr?"Prefab":"StaticReference"};if(n[3]==="json"){let{meta:l}=await i.metadata(Number(n[2]),o),u=JSON.stringify(l),c=`"${W1("sha256").update(u).digest("hex")}"`,f={"content-type":"application/json; charset=utf-8","cache-control":"private, max-age=43200",etag:c,"x-content-type-options":"nosniff"};return t.headers["if-none-match"]===c?(e.writeHead(304,f),e.end()):(e.writeHead(200,f),e.end(t.method==="HEAD"?void 0:u)),!0}let s=await i.get(Number(n[2]),o),a={"content-type":"image/png","cache-control":"private, max-age=43200",etag:s.etag,"x-content-type-options":"nosniff"};t.headers["if-none-match"]===s.etag?(e.writeHead(304,a),e.end()):(e.writeHead(200,{...a,"content-length":s.data.length}),e.end(t.method==="HEAD"?void 0:s.data))}catch(n){e.writeHead(n.status||502,{"content-type":"text/plain; charset=utf-8","cache-control":"no-store","x-content-type-options":"nosniff"}),e.end(t.method==="HEAD"?void 0:n.message)}return!0}import{existsSync as ev,mkdirSync as sp,readFileSync as tv,renameSync as iv,rmSync as rv,writeFileSync as ql}from"node:fs";import{randomUUID as up}from"node:crypto";import{dirname as ap,join as nv}from"node:path";function lp(t,e){let i=`${t}.${up()}.tmp`;try{ql(i,e,{flag:"wx"}),iv(i,t)}finally{rv(i,{force:!0})}}var ls=class{constructor(e){this.controller=e,this.plan=null}inspect(){let e=this.controller.studio.archiveData(),i=e.controlGuidChanges||[],r=e.assets.scripts,n=[],o=new Map;i.length||n.push("\u6CA1\u6709\u5F85\u540C\u6B65\u7684\u7D22\u5F15\u53D8\u66F4");try{o=wh(i)}catch(c){n.push(c.message)}let s=this.controller.activeWorkspacePath();s||n.push("\u8BF7\u5148\u7ED1\u5B9A\u5DE5\u4F5C\u533A\uFF0C\u4EE5\u4FDD\u5B58\u540C\u6B65\u524D\u7684\u5907\u4EFD");let a=new Map,l=r.map(c=>{let f={id:c.id,path:c.path,source:c.source,file:"",fileBefore:null,edits:[],issues:[]};if(c.path)try{if(!s)throw new Error("\u5DE5\u4F5C\u533A\u5C1A\u672A\u7ED1\u5B9A\uFF0C\u65E0\u6CD5\u6838\u5BF9\u9879\u76EE\u811A\u672C\u6587\u4EF6");let m=mt(s,c.path);if(ev(m)){f.file=Ei(s,c.path);let g=tv(f.file);if(f.fileBefore=g.toString("utf8"),!g.equals(Buffer.from(f.fileBefore)))throw new Error("\u9879\u76EE\u811A\u672C\u4E0D\u662F\u6709\u6548 UTF-8\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6838\u5BF9\u7F16\u7801");if(c.source.trim()&&f.fileBefore!==c.source)throw new Error("\u5B58\u6863\u6E90\u7801\u4E0E\u9879\u76EE\u6587\u4EF6\u4E0D\u540C\uFF0C\u8BF7\u4EA4\u7ED9 AI \u5408\u5E76\u540E\u540C\u6B65");if(c.source.trim()||(f.source=f.fileBefore),a.has(f.file))throw new Error("\u591A\u4E2A\u811A\u672C\u6307\u5411\u540C\u4E00\u4E2A\u9879\u76EE\u6587\u4EF6\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6838\u5BF9");a.set(f.file,c.id)}}catch(m){f.issues.push({line:0,reason:m.message})}!f.source.trim()&&c.path&&!f.file&&f.issues.push({line:0,reason:"\u627E\u4E0D\u5230\u6B64\u811A\u672C\u7684\u6E90\u7801\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6838\u5BF9\u6587\u4EF6\u8DEF\u5F84"});let h=Sh(f.source,o);return f.source=h.source,f.edits=h.edits,f.issues.push(...h.issues),f}),u=Tt(JSON.stringify({archive:e,files:l.map(c=>[c.file,c.fileBefore])}));return{archive:e,rows:l,issues:n,fingerprint:u}}preview(){let e=this.inspect();return e.id=up(),this.plan=e,{id:e.id,canApply:!e.issues.length&&e.rows.every(i=>!i.issues.length),issues:e.issues,changes:e.archive.controlGuidChanges.length,replacements:e.rows.reduce((i,r)=>i+r.edits.length,0),rows:e.rows.map(({id:i,path:r,file:n,edits:o,issues:s})=>({id:i,path:r,file:n,edits:o,issues:s}))}}apply({planId:e,expectedRevision:i}){let r=this.plan;if(!r||r.id!==e)throw new Error("\u8BF7\u5148\u9884\u89C8 Lua \u7D22\u5F15\u540C\u6B65");if(i!==this.controller.get().version)throw new Error("revision conflict: \u8BF7\u91CD\u65B0\u9884\u89C8");if(this.inspect().fingerprint!==r.fingerprint)throw new Error("\u6E90\u7801\u3001\u6587\u4EF6\u6216\u7D22\u5F15\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8");if(r.issues.length||r.rows.some(f=>f.issues.length))throw new Error("\u6E90\u7801\u6587\u4EF6\u6216\u7D22\u5F15\u6620\u5C04\u5B58\u5728\u51B2\u7A81\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6838\u5BF9\uFF1B\u672C\u6B21\u6CA1\u6709\u4FEE\u6539\u811A\u672C");let o=wn(r.archive);for(let f of r.rows.filter(h=>h.edits.length))o.patch({op:"updateScript",id:f.id,source:f.source});o.patch({op:"acknowledgeControlGuidChanges",changeIds:r.archive.controlGuidChanges.map(f=>f.id)});let s=Buffer.from(JSON.stringify(o.archiveData())).toString("base64"),a=r.rows.filter(f=>f.edits.length&&f.file),l=this.controller.activeWorkspacePath(),u=a.length?mt(l,`.qxqy-guid-sync-backups/${r.id}`):"",c=[];try{for(let h of a){let m=nv(u,`${h.id}.lua`);sp(ap(m),{recursive:!0}),ql(m,h.fileBefore,{flag:"wx"})}let f=mt(l,`.qxqy-guid-sync-backups/${r.id}/before.save.json`);sp(ap(f),{recursive:!0}),ql(f,JSON.stringify(r.archive),{flag:"wx"});for(let h of a)lp(h.file,h.source),c.push(h);this.controller.studio.importData("json",s)}catch(f){let h=[];for(let m of c.reverse())try{lp(m.file,m.fileBefore)}catch{h.push(m.file)}throw this.plan=null,new Error(`${f.message}${h.length?`\uFF1B\u56DE\u6EDA\u5931\u8D25\uFF0C\u8BF7\u4ECE ${u} \u6062\u590D\uFF1A${h.join("\u3001")}`:"\uFF1B\u5B58\u6863\u672A\u63D0\u4EA4\uFF0C\u5DF2\u5199\u5165\u7684\u9879\u76EE\u6587\u4EF6\u5DF2\u56DE\u6EDA"}`)}return this.plan=null,{...this.controller.get(),controlGuidSyncResult:{replacements:r.rows.reduce((f,h)=>f+h.edits.length,0),scripts:r.rows.filter(f=>f.edits.length).length,projectFiles:a.length,backupRoot:`.qxqy-guid-sync-backups/${r.id}`}}}};var fv=Math.max(1e3,Number(process.env.QXQY_PLAY_TIMEOUT_MS)||8e3),dv=8e3;function cp(){let t=new Error("operation aborted");return t.name="AbortError",t}function jl(t){if(t!=="manual"&&t!=="realtime")throw new Error("clockMode must be manual or realtime");return t}var us=class{constructor(e="",{imageAssets:i=Gl(),clockMode:r="realtime"}={}){Xt(),this.workspacePath=e?Rl(e):"",this.studio=wn(void 0,this.workspacePath?{workspacePath:this.workspacePath}:void 0),this.worker=null,this.pending=new Map,this.sequence=1,this.lock=Promise.resolve(),this.archivePath="",this.archiveStamp="",this.savedArchive="",this.scriptSync=new os(this),this.controlGuidSync=new ls(this),this.imageAssets=i,this.defaultClockMode=jl(r),this.playClockMode=this.defaultClockMode}async exclusive(e){let i=this.lock,r;this.lock=new Promise(n=>{r=n}),await i;try{return await e()}finally{r()}}get(){return{...this.studio.get(),storage:{path:this.archivePath}}}scriptSyncAction(e,i={}){if(e==="discover")return ip();if(e==="status")return{config:this.get().scriptSync,lastResult:this.scriptSync.lastResult};if(e==="configure"){if(!Number.isInteger(i.expectedRevision))throw new Error("expectedRevision is required");return this.patch({op:"setScriptSync",config:i.config,expectedRevision:i.expectedRevision})}if(e==="save"){if(!Number.isInteger(i.expectedRevision))throw new Error("expectedRevision is required");let r=i.path??this.archivePath;if(typeof r!="string"||!r.trim())throw new Error("script sync save requires a workspace-relative path for a new archive");return this.saveForScriptSync(r,i.expectedRevision)}if(e==="preview")return this.scriptSync.preview();if(e==="apply")return this.scriptSync.apply(i);throw new Error(`unknown script sync action: ${e}`)}assertSavedArchive(){if(!this.archivePath||this.savedArchive!==JSON.stringify(this.studio.archiveData()))throw new Error("\u8BF7\u5148\u4FDD\u5B58\u5F53\u524D\u5B8C\u6574\u5B58\u6863\uFF0C\u518D\u786E\u8BA4\u590D\u5236");let e=Ei(this.activeWorkspacePath(),this.archivePath);if(Tt(Bl(e))!==this.archiveStamp)throw new Error("\u5B58\u6863\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u52A0\u8F7D\u5E76\u68C0\u67E5")}saveForScriptSync(e,i){if(i!==this.get().version)throw new Error("revision conflict: reload before saving");let r=mt(this.activeWorkspacePath(),e);if(sv(r)){let n=this.archivePath?mt(this.activeWorkspacePath(),this.archivePath):"";if(r!==n||Tt(Bl(r))!==this.archiveStamp)throw new Error("File changed or already exists; load it again or save under a new path")}return this.saveArchive(e)}patch(e){return e?.op==="previewControlGuidSync"?{...this.get(),controlGuidSyncPreview:this.controlGuidSync.preview()}:e?.op==="syncControlGuidReferences"?this.controlGuidSync.apply(e):{...this.studio.patch(e),storage:{path:this.archivePath}}}listArchives(){return es(this.workspacePath)}loadArchive(e){let i=this.activeWorkspacePath();if(!i)throw new Error("workspace is not bound");let r=Ei(i,e),n=Bl(r),o=this.studio.importData("json",n.toString("base64"),uv(r));return this.archivePath=String(e).trim().replaceAll("\\","/"),this.archiveStamp=Tt(n),this.savedArchive=JSON.stringify(this.studio.archiveData()),o}saveArchive(e=this.archivePath||"qxqy-simulator.save.json"){let i=String(e).trim(),r=this.activeWorkspacePath();if(!r)throw new Error("workspace is not bound");let n=mt(r,i);av(cv(n),{recursive:!0});let o=Buffer.from(JSON.stringify(this.studio.archiveData(),null,2)+`
|
|
127
|
-
`,"utf8");return lv(n,o),this.archivePath=i.replaceAll("\\","/"),this.archiveStamp=Tt(o),this.savedArchive=JSON.stringify(this.studio.archiveData()),{path:this.archivePath,bytes:o.length,revision:this.studio.get().version,name:this.studio.get().save?.name||""}}activeWorkspacePath(){let e=this.studio.get().workspace;return e?.bound&&e.path?String(e.path):this.workspacePath}createWorker(){let e=new ov(new URL("./worker.js",import.meta.url),{type:"module",workerData:{localFont:Xt()?.data??null}});return e.on("message",i=>{let r=this.pending.get(i?.id);r&&(this.pending.delete(i.id),i.ok?r.resolve(i.value):r.reject(new Error(i.error||"play worker failed")))}),e.on("error",i=>{this.worker===e&&(this.worker=null),this.rejectPending(i)}),e.on("exit",i=>{this.worker===e&&(this.worker=null),i!==0&&this.rejectPending(new Error(`play worker exited with code ${i}`))}),this.worker=e,e}rejectPending(e){for(let i of this.pending.values())i.reject(e);this.pending.clear()}async terminateWorker(e=new Error("play worker terminated")){let i=this.worker;this.worker=null,this.rejectPending(e),i&&await i.terminate().catch(()=>{})}request(e,i,r,n=fv){let o=this.worker||this.createWorker(),s=this.sequence++;return new Promise((a,l)=>{let u=!1,c=(m,g)=>{u||(u=!0,clearTimeout(h),r?.removeEventListener("abort",f),m(g))},f=()=>{this.pending.delete(s),c(l,cp()),this.terminateWorker(cp())},h=setTimeout(()=>{this.pending.delete(s);let m=new Error(`play worker timed out after ${n}ms`);c(l,m),this.terminateWorker(m)},n);if(this.pending.set(s,{resolve:m=>c(a,m),reject:m=>c(l,m)}),r?.aborted)return f();r?.addEventListener("abort",f,{once:!0}),o.postMessage({id:s,action:e,args:i})})}async play(e,i={},r){if((e==="start"||e==="device")&&!i.language){let n=Kh();n&&(i={...i,language:n})}if(e==="start"){let n=jl(i.clockMode??this.defaultClockMode);return await this.terminateWorker(),this.playClockMode=n,this.request("start",{archive:this.studio.archiveData(),workspacePath:this.activeWorkspacePath(),...i,clockMode:n},r)}if(e==="device"){let n=String(i.canvasId||"").trim();if(!Ee[n])throw new Error(`unknown canvas preset: ${n||"(empty)"} (available: ${Object.keys(Ee).join(", ")})`);let o=jl(i.clockMode??this.playClockMode);return await this.terminateWorker(),this.playClockMode=o,this.request("start",{archive:this.studio.archiveData(),workspacePath:this.activeWorkspacePath(),...i,canvasId:n,clockMode:o},r)}if(e==="stop"){if(!this.worker)return{running:!1,tree:[],logs:[]};try{return await this.request("stop",i,r)}finally{await this.terminateWorker()}}if(!this.worker)throw new Error("play session has not started");return this.request(e,i,r)}async playScreenshot(e){if(!this.worker)throw new Error("play session has not started");let i=await this.request("get",{view:!0},e,dv),r=await this.imageAssets.prepare(i.scene?.nodes,e),n=qh(i.scene,i.canvasWidth,i.canvasHeight,r);return{data:n.data,canvasId:String(i.canvasId||""),frame:Number.isFinite(Number(i.frame))?Number(i.frame):0,time:Number.isFinite(Number(i.time))?Number(i.time):0,clockMode:i.clockMode,width:n.width,height:n.height,pixelWidth:n.pixelWidth,pixelHeight:n.pixelHeight,assetWarnings:r.warnings}}async uiScreenshot(e){let i=this.studio.get(),r=await this.imageAssets.prepare(i.boxes,e),n=jh(i,r);return{data:n.data,page:n.page,width:n.width,height:n.height,pixelWidth:n.pixelWidth,pixelHeight:n.pixelHeight,assetWarnings:r.warnings}}async dispose(){await this.terminateWorker()}};import{defineTool as Ji}from"@deepseek-ai/dsh-tools";import{existsSync as hp,realpathSync as fp}from"node:fs";import{isAbsolute as Vl,relative as dp,resolve as cs}from"node:path";function pp(t,e){if(!t)throw new Error("\u5DE5\u4F5C\u533A\u672A\u7ED1\u5B9A\uFF0C\u65E0\u6CD5\u4ECE\u78C1\u76D8\u62C9\u53D6\u5B58\u6863");let i=String(e||"").trim();if(!i)throw new Error("path is required");let r=fp(cs(t)),n=Vl(i)?cs(i):cs(r,i),o=dp(r,n);if(!o||o.startsWith("..")||Vl(o))throw new Error("\u5B58\u6863\u8DEF\u5F84\u5FC5\u987B\u4F4D\u4E8E\u5F53\u524D\u5DE5\u4F5C\u533A\u5185");if(!hp(n))throw new Error(`\u5B58\u6863\u4E0D\u5B58\u5728: ${i}`);let s=fp(n),a=dp(r,s);if(!a||a.startsWith("..")||Vl(a))throw new Error("\u5B58\u6863\u8DEF\u5F84\u5FC5\u987B\u4F4D\u4E8E\u5F53\u524D\u5DE5\u4F5C\u533A\u5185");return s}function mp(t){if(!t)return{bound:!1,archives:[]};let e=cs(t);return hp(e)?es(e):{bound:!1,archives:[]}}var gp=32*1024*1024;function hv(t){if(t.length<8||t.length>gp)throw new Error("Invalid MP3 size");let e=0,i=0;if(t.subarray(0,3).toString()==="ID3"){if(t.length<10||t[3]<2||t[3]>4||t.subarray(6,10).some(r=>r>127))throw new Error("Invalid MP3 ID3 header");e=10+(t[6]<<21|t[7]<<14|t[8]<<7|t[9])+(t[5]&16&&t[3]===4?10:0)}for(;e+4<=t.length;){if(t.length-e===128&&t.subarray(e,e+3).toString()==="TAG"){e=t.length;break}let r=t[e+1],n=t[e+2],o=r>>3&3,s=n>>2&3,a=n>>4;if(t[e]!==255||(r&224)!==224||(r&6)!==2||o===1||s===3||a===0||a===15)throw new Error("Invalid MP3 frame");let l=(o===3?[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320]:[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160])[a],u=[44100,48e3,32e3][s]/(o===3?1:o===2?2:4),c=Math.floor((o===3?144e3:72e3)*l/u)+(n>>1&1);e+=c,i++}if(i<2||e!==t.length)throw new Error("Truncated or invalid MP3")}var Ul=class extends Ci{constructor({cacheDir:e=process.env.QXQY_AUDIO_CACHE_DIR||ss("audio"),fetch:i=globalThis.fetch,source:r=Zd}={}){super({cacheDir:e,fetch:i,source:r,version:rl,extension:"mp3",accepts:n=>Go(n)!==null,timeout:2e4})}decode(e){return hv(e),{}}produce(e,i,r){return this.download(`audio/${e}.mp3`,gp,i,r)}},pv;function mv(){return pv||=new Ul}async function yp(t,e,i=mv()){let r=new URL(t.url,"http://localhost");if(r.pathname!==Lo.slice(0,-1)&&!r.pathname.startsWith(Lo))return!1;try{if(!["GET","HEAD"].includes(t.method))throw Object.assign(new Error("GET or HEAD required"),{status:405});let n=r.pathname.match(new RegExp(`^${Lo}${rl}/([0-9]+)\\.mp3$`));if(!n)throw Object.assign(new Error("Unknown audio resource"),{status:404});let o=await i.get(Number(n[1])),s=o.data.length,a={"content-type":"audio/mpeg","cache-control":"private, max-age=43200",etag:o.etag,"accept-ranges":"bytes","x-content-type-options":"nosniff"};if(t.headers["if-none-match"]===o.etag)return e.writeHead(304,a),e.end(),!0;let l=t.headers.range,u=0,c=s-1,f=200;if(l&&(!t.headers["if-range"]||t.headers["if-range"]===o.etag)){let h=l.match(/^bytes=(\d*)-(\d*)$/);if(!h||!h[1]&&!h[2])throw Object.assign(new Error("Invalid byte range"),{status:416,size:s});if(h[1]?(u=Number(h[1]),c=h[2]?Math.min(s-1,Number(h[2])):c):u=Math.max(0,s-Number(h[2])),!Number.isSafeInteger(u)||!Number.isSafeInteger(c)||u>=s||c<u)throw Object.assign(new Error("Unsatisfiable byte range"),{status:416,size:s});f=206,a["content-range"]=`bytes ${u}-${c}/${s}`}e.writeHead(f,{...a,"content-length":c-u+1}),e.end(t.method==="HEAD"?void 0:o.data.subarray(u,c+1))}catch(n){e.writeHead(n.status||502,{"content-type":"text/plain; charset=utf-8","cache-control":"no-store",...n.status===416?{"content-range":`bytes */${n.size}`}:{}}),e.end(t.method==="HEAD"?void 0:n.message)}return!0}var gv="https://github.com/1475505/miliastra-beyond-simulator",yv="https://api.github.com/repos/1475505/miliastra-beyond-simulator/releases?per_page=100",vv=t=>/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/.test(t),bp=(t,e)=>{let i=t.split(/[.-]/).slice(0,3).map(Number),r=e.split(/[.-]/).slice(0,3).map(Number);for(let n=0;n<3;n++)if(i[n]!==r[n])return Math.sign(i[n]-r[n]);return e.includes("-")&&!t.includes("-")?1:t.includes("-")&&!e.includes("-")?-1:0};function vp(t,e){try{let i=new URL(t);return i.protocol==="https:"&&i.origin==="https://github.com"&&i.pathname.startsWith(`/1475505/miliastra-beyond-simulator/releases/${e}/`)?i.href:null}catch{return null}}function bv(t,e){if(!Array.isArray(t))throw new Error("Invalid release response");let i=[];for(let r of t)if(!(r.draft||r.prerelease||!Array.isArray(r.assets)))for(let n of r.assets){if(typeof n.name!="string"||!n.name.startsWith(e+"-")||!n.name.endsWith(".tgz"))continue;let o=n.name.slice(e.length+1,-4),s=vp(r.html_url,"tag"),a=vp(n.browser_download_url,"download");!vv(o)||!s||!a||i.push({version:o,url:s,downloadUrl:a,publishedAt:r.published_at||null})}return i.sort((r,n)=>bp(n.version,r.version))[0]||null}function wp({packageName:t,currentVersion:e,fetch:i=globalThis.fetch,now:r=Date.now}){let n=null,o=null;return async function(){return n&&r()-n.checkedAt<5*6e4?n:o||(o=(async()=>{let a=await i(yv,{headers:{accept:"application/vnd.github+json","user-agent":"beyond-simulator-update-check","x-github-api-version":"2022-11-28"},signal:AbortSignal.timeout(8e3)});if(!a.ok)throw new Error(`Update check failed (HTTP ${a.status})`);let l=bv(await a.json(),t),u=l?bp(l.version,e):0;return n={packageName:t,currentVersion:e,latestVersion:l?.version||null,status:l?u>0?"available":u<0?"ahead":"current":"unavailable",url:l?.url||`${gv}/releases`,downloadUrl:l?.downloadUrl||null,checkedAt:r(),publishedAt:l?.publishedAt||null},n})().finally(()=>{o=null}),o)}}import{execFile as wv}from"node:child_process";import{win32 as Sv}from"node:path";import{promisify as xv}from"node:util";var Iv=xv(wv),Sp=t=>["localhost","127.0.0.1","::1","[::1]","::ffff:127.0.0.1"].includes(t);function Hl(t){if(typeof t!="string")return"";let e=t.trim().replace(/^\uFEFF/,"").split(/[.@]/)[0].replaceAll("_","-");if(!e||/^(?:C|POSIX)$/i.test(e)||e.length>80)return"";try{return Intl.getCanonicalLocales(e)[0]||""}catch{return""}}function xp(t){try{return Sp(t.socket?.remoteAddress)&&Sp(new URL("http://"+t.headers.host).hostname)&&!t.headers.forwarded&&!t.headers["x-forwarded-for"]&&!t.headers["x-forwarded-host"]&&!t.headers.via&&t.headers["sec-fetch-site"]!=="cross-site"&&(!t.headers.origin||new URL(t.headers.origin).host===t.headers.host)}catch{return!1}}function _v({platform:t=process.platform,env:e=process.env,execFile:i=Iv}={}){let r;return()=>r||=(async()=>{try{let n="",o="browser",s={windowsHide:!0,timeout:2500,maxBuffer:4096,encoding:"utf8"};if(t==="win32"){let a=Sv.join(e.SystemRoot||"C:\\Windows","System32","WindowsPowerShell","v1.0","powershell.exe"),{stdout:l}=await i(a,["-NoLogo","-NoProfile","-NonInteractive","-Command","[Console]::OutputEncoding=[System.Text.Encoding]::UTF8;(Get-UICulture).Name"],s);n=Hl(l),o="windows-ui"}else if(t==="darwin"){let{stdout:a}=await i("/usr/bin/defaults",["read","-g","AppleLanguages"],s);n=(a.match(/\b[a-z]{2,3}(?:[-_][a-zA-Z0-9]{2,8})*\b/g)||[]).map(Hl).find(Boolean)||"",o="macos-ui"}else n=[e.LANGUAGE?.split(":")[0],e.LC_ALL,e.LC_MESSAGES,e.LANG].map(Hl).find(Boolean)||"",o="host-locale";return{language:n,source:n?o:"browser"}}catch{return{language:"",source:"browser"}}})()}var Ip=_v();var Yl={name:"dsh-plugin-beyond-simulator",version:"2.2.1",description:"\u5343\u661F\u5947\u57DF\u5BA2\u6237\u7AEF UI \u7F16\u8F91\u4E0E\u8BD5\u73A9\u6A21\u62DF\u5668 for DeepSeek Harness",private:!0,type:"module",packageManager:"pnpm@10.15.0",engines:{node:">=22"},main:"dsh-plugin/dist/index.js",exports:{".":"./dsh-plugin/dist/index.js","./skill":"./dsh-plugin/dist/skill.js","./preset":"./dsh-plugin/dist/preset.js","./client":"./dsh-plugin/dist/client.js","./cordis.patch.yml":"./dsh-plugin/cordis.patch.yml","./package.json":"./package.json"},files:["dsh-plugin/dist","dsh-plugin/lib/play.html","dsh-plugin/skill.md","dsh-plugin/presets","dsh-plugin/cordis.patch.yml","README.md","LICENSE"],repository:{type:"git",url:"git+https://github.com/1475505/miliastra-beyond-simulator.git"},dsh:{bundle:{patch:"./dsh-plugin/cordis.patch.yml"},client:{inject:["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-ui-conversation"],platform:"web"}},scripts:{prepare:"node scripts/build.mjs dsh-plugin",build:"node scripts/build.mjs",test:"node scripts/test.mjs","pack:release":"node scripts/pack.mjs","test:packages":"node scripts/smoke-packages.mjs","test:git-install":"node scripts/smoke-git-install.mjs","test:harness":"node scripts/smoke-harness.mjs","dev:web":"node scripts/build.mjs web && node web/server.js","start:web":"node web/dist/server.js"},dependencies:{"@napi-rs/canvas":"0.1.100",fengari:"0.1.5",protobufjs:"8.7.2"},peerDependencies:{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-tools":"^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-rc.1"},devDependencies:{"@deepseek-ai/dsh-tools":"0.1.0-rc.6",esbuild:"0.25.12"},license:"GPL-3.0-only"};var wI="qxqy-simulator",SI=["tools","webServer"],_p="/qxqy-simulator/api",Ep="/qxqy-simulator/play",Av="/qxqy-simulator/play-renderer.js",Tv=8*1024*1024,Rv=32,Cp=6e4,Kl=class extends us{constructor(e=""){super(e),this.touchedAt=Date.now()}touch(){this.touchedAt=Date.now()}get(){return this.touch(),super.get()}patch(e){return this.touch(),super.patch(Cn(e))}exportData(e,i){return this.touch(),this.studio.exportData(e,i)}importData(e,i,r){this.touch();let n=this.studio.importData(e,i,r);return this.archivePath="",this.archiveStamp="",this.savedArchive="",{...n,snapshot:this.get()}}listArchives(){return this.touch(),mp(this.studio.get().workspace?.path||"")}loadArchive(e){this.touch();let i=this.studio.get().workspace?.path||"",r=pp(i,e);return{...super.loadArchive(kv(Cv(i),r)),snapshot:this.get()}}async play(e,i={},r){return this.touch(),super.play(e,Cn(i)||{},r)}async requestScreenshot(e){return{...await super.playScreenshot(e),capturedAt:new Date().toISOString()}}async requestUiScreenshot(e){return this.touch(),{...await super.uiScreenshot(e),capturedAt:new Date().toISOString()}}async dispose(){await this.terminateWorker()}};function Tp(t){let e=String(t||"").trim();if(!e||e.length>256)throw new Error("sessionId is required");return e}function Cn(t){if(t!=null){if(typeof t!="string")return t;try{let e=JSON.parse(t);return e&&typeof e=="object"?e:void 0}catch{return}}}function Zi(t){return Tp(t?.agent?.id)}function Jl(t){let e=t?.cwd;return typeof e=="string"&&e?e:""}function Qi(t){return Jl(t?.agent?.session?.header)}async function Ov(t,e={}){let i=e.sessions?.get?.(t),r=Jl(i?.header);if(r)return r;let n=e.sessionPersistence?.inspect;if(typeof n!="function")return"";try{let o=await n.call(e.sessionPersistence,t);return Jl(o?.meta)}catch{return""}}function Nv(){let t=new Map,e=!1;function i(){if(t.size<Rv)return;let r=[...t.entries()].sort((n,o)=>n[1].touchedAt-o[1].touchedAt)[0];r&&(t.delete(r[0]),r[1].dispose())}return{get(r,n=""){if(e)throw new Error("simulator plugin has been disposed");let o=Tp(r),s=t.get(o);return s?n&&s.studio.setWorkspace(n):(i(),s=new Kl(n),t.set(o,s)),s.touch(),s},async dispose(){e=!0;let r=[...t.values()];t.clear(),await Promise.all(r.map(n=>n.dispose()))}}}function En(t,e,i){let r=JSON.stringify(i);t.statusCode=e,t.setHeader("content-type","application/json; charset=utf-8"),t.setHeader("cache-control","no-store"),t.end(r)}function Pv(){if(!Xl){let e=[new URL("./play.html",import.meta.url),new URL("../lib/play.html",import.meta.url)].find(i=>kp(i));if(!e)throw new Error("standalone play page is missing");Xl=Ap(e,"utf8")}return Xl}var Xl=null;function Mv(){if(!Wl){let e=[new URL("../dist/play-renderer.js",import.meta.url),new URL("./play-renderer.js",import.meta.url)].find(i=>kp(i));if(!e)throw new Error("standalone play renderer bundle is missing; run npm run build");Wl=Ap(e,"utf8")}return Wl}var Wl=null;function Dr(t,e){return t.effect(()=>t.webServer.register(e),`qxqy-simulator: ${e.kind} ${e.path}`)}function Fv(t){Dr(t,{kind:"prefix",path:Ep,handler(e,i){let r=new URL(e.url,"http://localhost").pathname.replace(/\/$/,"");if(e.method!=="GET"||r!==Ep){i.statusCode=e.method==="GET"?404:405,i.setHeader("content-type","text/plain; charset=utf-8"),i.end(e.method==="GET"?"not found":"GET required");return}i.statusCode=200,i.setHeader("content-type","text/html; charset=utf-8"),i.setHeader("cache-control","no-store"),i.setHeader("x-content-type-options","nosniff"),i.end(Pv())}})}function Dv(t){Dr(t,{kind:"exact",path:Av,handler(e,i){if(e.method!=="GET"){i.statusCode=405,i.setHeader("content-type","text/plain; charset=utf-8"),i.end("GET required");return}try{i.statusCode=200,i.setHeader("content-type","text/javascript; charset=utf-8"),i.setHeader("cache-control","no-store"),i.setHeader("x-content-type-options","nosniff"),i.end(Mv())}catch(r){i.statusCode=500,i.setHeader("content-type","text/plain; charset=utf-8"),i.end(r?.message||String(r))}}})}function zv(t){return new Promise((e,i)=>{let r=0,n=[];t.on("data",o=>{if(r+=o.length,r>Tv){i(new Error("request body is too large")),t.destroy();return}n.push(o)}),t.on("end",()=>{try{let o=Buffer.concat(n).toString("utf8");e(o?JSON.parse(o):{})}catch{i(new Error("invalid JSON body"))}}),t.on("error",i)})}function $v(t,e){t.tools.register(Ji({name:"qxqy_script_sync",description:"\u5B9E\u673A Lua \u811A\u672C\u76EE\u5F55\u540C\u6B65\uFF1Adiscover/status/configure/save/preview/apply\u3002configure \u9700\u8981 config(version:1, workspaceDir, clientImportRoot, clientSubdir) \u4E0E expectedRevision\uFF1Bsave \u9700\u8981 expectedRevision\uFF0C\u9996\u6B21\u4FDD\u5B58\u53E6\u4F20\u5DE5\u4F5C\u533A\u76F8\u5BF9 path\u3002\u7528\u6237\u6388\u6743\u66F4\u65B0\u540E\uFF0C\u5148 save\uFF0C\u518D preview \u6838\u5BF9\u6765\u6E90\u4E0E\u76EE\u6807\uFF0C\u6700\u540E apply \u4F20 planId\u3001\u9009\u5B9A scriptIds \u548C confirmed:true\u3002\u8BA1\u5212\u4EC5\u5728\u5F53\u524D\u4F1A\u8BDD\u6709\u6548\uFF0C\u8FC7\u671F\u9700\u91CD\u65B0\u9884\u89C8\uFF1B\u8FD4\u56DE\u9010\u6587\u4EF6\u7ED3\u679C\u4E0E\u5907\u4EFD\u4F4D\u7F6E\uFF0C\u4E0D\u4EE3\u8868\u771F\u673A\u8BD5\u73A9\u901A\u8FC7\u3002",parameters:{action:{type:"string",enum:["discover","status","configure","save","preview","apply"],required:!0},args:{type:"json"}},output:{schema:{type:"json"},render:(i,r)=>[{type:"text",text:JSON.stringify(r,null,2)}]},timeoutMs:1e4,isConcurrencySafe:()=>!1,async execute(i,r){return e.get(Zi(r),Qi(r)).scriptSyncAction(i.action,Cn(i.args)||{})}})),t.tools.register(Ji({name:"qxqy_studio_get",description:"\u8BFB\u53D6\u5F53\u524D DeepSeek Harness \u4F1A\u8BDD\u7684\u5343\u661F UI \u7F16\u8F91\u5668\u65E0\u635F JSON \u5FEB\u7167\u3002",parameters:{},output:{schema:{type:"json"},render:(i,r)=>[{type:"text",text:JSON.stringify(r,null,2)}]},timeoutMs:5e3,isConcurrencySafe:()=>!0,async execute(i,r){return e.get(Zi(r),Qi(r)).get()}})),t.tools.register(Ji({name:"qxqy_studio_play_screenshot",description:"\u83B7\u53D6\u5F53\u524D\u8BD5\u73A9 Runtime \u753B\u9762\u7684 PNG\u3002Host \u4E0E\u72EC\u7ACB\u8BD5\u73A9\u9875\u5171\u7528 Runtime scene \u6811\uFF08\u540C\u7EA7\u5148\u51FA\u73B0\u7684\u5B50\u8282\u70B9\u5728\u4E0A\uFF09\u518D\u753B\u6210 PNG\uFF0C\u4E0D\u9700\u8981\u6253\u5F00\u8BD5\u73A9\u9875\u6216\u5207\u6362\u6807\u7B7E\u3002\u4EC5\u5728\u9700\u8981\u89C2\u5BDF\u8FD0\u884C\u65F6\u753B\u9762\u3001\u52A8\u753B\u6216\u4EA4\u4E92\u7ED3\u679C\u65F6\u8C03\u7528\uFF1B\u82E5\u8981\u770B\u7F16\u8F91\u5668\u821E\u53F0\uFF0C\u8BF7\u6539\u7528 qxqy_studio_ui_screenshot\u3002\u4E0D\u4F1A\u6B65\u8FDB\u65F6\u95F4\uFF0C\u4E5F\u4E0D\u66FF\u4EE3 get {inspect:true} \u7684\u7ED3\u6784\u5316\u65AD\u8A00\u3002",parameters:{},output:{schema:{type:"json"},render:(i,r)=>{let o=[{type:"text",text:`\u8BD5\u73A9\u622A\u56FE\uFF1A${r.canvasId||"unknown"}\uFF0CFrame ${r.frame??0}\uFF0C${r.width||0}\xD7${r.height||0}`+(r.assetWarnings?.length?`
|
|
128
|
-
\u7D20\u6750\u52A0\u8F7D\u5931\u8D25\uFF08\u753B\u9762\u4E2D\u4E3A\u5360\u4F4D\u6846\uFF09\uFF1A${JSON.stringify(r.assetWarnings)}`:"")}];return r.image&&o.push({type:"image",attachment:r.image}),o}},timeoutMs:Cp+1e3,isConcurrencySafe:()=>!1,async execute(i,r){let o=await e.get(Zi(r),Qi(r)).requestScreenshot(r.signal),s=t.get?.("attachments");if(!s?.saveImage)throw new Error("Harness attachment service is unavailable; cannot return screenshot to AI");let a=await s.saveImage({data:o.data,mediaType:"image/png",name:`qxqy-play-${o.canvasId||"canvas"}-f${o.frame}.png`}),{data:l,...u}=o;return{...u,image:{attachmentId:a.attachmentId,mediaType:a.mediaType,bytes:a.bytes,width:a.width,height:a.height,...a.name===void 0?{}:{name:a.name}}}}})),t.tools.register(Ji({name:"qxqy_studio_ui_screenshot",description:"\u83B7\u53D6\u5F53\u524D\u7F16\u8F91\u5668\u821E\u53F0\u7684 PNG\u3002Host \u6839\u636E boxes \u5728\u8FDB\u7A0B\u5185\u6E32\u67D3\uFF0C\u4E0D\u9700\u8981\u6253\u5F00\u6216\u4FDD\u6301\u201C\u6A21\u62DF\u5668\u201D\u6807\u7B7E\u3002\u7528\u4E8E\u68C0\u67E5\u9759\u6001 UI \u5E03\u5C40\u3001\u9009\u4E2D\u9879\u548C\u63A7\u4EF6\u56FE\u5143\uFF1B\u4E0D\u542B\u5B8C\u6574 Chrome DOM \u5DE5\u5177\u680F/\u68C0\u89C6\u5668\u3002\u82E5\u8981\u770B Lua Runtime \u8BD5\u73A9\u753B\u9762\uFF0C\u8BF7\u6539\u7528 qxqy_studio_play_screenshot\u3002",parameters:{},output:{schema:{type:"json"},render:(i,r)=>{let s=[{type:"text",text:`\u7F16\u8F91\u5668\u622A\u56FE\uFF1A${r.page||"\u6A21\u62DF\u5668"}\uFF0C${r.width||0}\xD7${r.height||0}`+(r.assetWarnings?.length?`
|
|
129
|
-
\u7D20\u6750\u52A0\u8F7D\u5931\u8D25\uFF08\u753B\u9762\u4E2D\u4E3A\u5360\u4F4D\u6846\uFF09\uFF1A${JSON.stringify(r.assetWarnings)}`:"")}];return r.image&&s.push({type:"image",attachment:r.image}),s}},timeoutMs:Cp+1e3,isConcurrencySafe:()=>!1,async execute(i,r){let o=await e.get(Zi(r),Qi(r)).requestUiScreenshot(r.signal),s=t.get?.("attachments");if(!s?.saveImage)throw new Error("Harness attachment service is unavailable; cannot return screenshot to AI");let a=await s.saveImage({data:o.data,mediaType:"image/png",name:`qxqy-ui-${o.page||"editor"}.png`}),{data:l,...u}=o;return{...u,image:{attachmentId:a.attachmentId,mediaType:a.mediaType,bytes:a.bytes,width:a.width,height:a.height,...a.name===void 0?{}:{name:a.name}}}}})),t.tools.register(Ji({name:"qxqy_studio_patch",description:"\u4FEE\u6539\u5F53\u524D\u4F1A\u8BDD\u7684\u5343\u661F UI \u5DE5\u7A0B\u3002op \u5FC5\u987B\u643A\u5E26 expectedRevision\u3002\u5BA2\u6237\u7AEF\u63A7\u4EF6\u7D22\u5F15\u7528 setControlGuid\uFF08id\u3001guid\uFF09\uFF1B\u5FC5\u987B\u6839\u636E\u5FEB\u7167 controlGuidChanges \u66F4\u65B0\u5B58\u6863 Lua source \u548C\u76F8\u5173\u6E90\u6587\u4EF6\u7684\u7D22\u5F15\u5F15\u7528\u5E76\u6838\u5BF9\uFF0C\u5B8C\u6210\u540E\u7528 acknowledgeControlGuidChanges\uFF08changeIds\uFF09\u786E\u8BA4\uFF0C\u7981\u6B62\u76F2\u76EE\u66FF\u6362\u5168\u90E8\u540C\u503C\u6570\u5B57\u3002",parameters:{op:{type:"json",required:!0,description:"\u7F16\u8F91\u5668 patch \u5BF9\u8C61\u3002"}},output:{schema:{type:"json"},render:(i,r)=>[{type:"text",text:JSON.stringify(r,null,2)}]},timeoutMs:5e3,isConcurrencySafe:()=>!1,async execute(i,r){let n=Cn(i.op);if(!n)throw new Error("patch requires op");return e.get(Zi(r),Qi(r)).patch(n)}})),t.tools.register(Ji({name:"qxqy_studio_play",description:"\u63A7\u5236\u5F53\u524D\u4F1A\u8BDD\u7684\u5343\u661F UI \u8BD5\u73A9 Worker\uFF1A\u542F\u52A8\u3001\u6B65\u8FDB\u3001\u8F93\u5165\u3001\u6682\u505C\u3001\u505C\u6B62\u3001\u591A\u8BBE\u5907\u753B\u5E03\u5207\u6362\u3001\u591A\u4EBA\u89C6\u89D2\u3001\u670D\u52A1\u7AEF\u53D8\u91CF/\u4FE1\u53F7\uFF0C\u4EE5\u53CA\u5F55\u5236\u56DE\u653E\u7528\u4F8B\u3002",parameters:{action:{type:"string",enum:["start","device","view","get","step","pointer","key","click","pause","resume","stop","serverGet","serverSet","serverSend","history","saveCase","runCase"],required:!0},args:{type:"json",description:"\u52A8\u4F5C\u53C2\u6570\uFF1Bpointer \u4F7F\u7528 type/x/y\uFF0Cstep \u4F7F\u7528 dt\uFF1Bget/start \u53EF\u7528 inspect:true \u62C9\u8FD0\u884C\u6811\uFF1Bstart/device \u7528 canvasId \u5207\u6362\u8BBE\u5907\u753B\u5E03\uFF08\u5982 pc-16-9 / mobile-19.5-9\uFF09\uFF1Bstart \u53EF\u7528 playerCount(1-8)\uFF1Bview \u7528 playerIndex \u5207\u6362\u5F53\u524D\u73A9\u5BB6\u89C6\u89D2\uFF1BrunCase \u53EF\u5E26 canvasId/playerCount\uFF1BserverSet \u4F7F\u7528 entityType/name/value\uFF1BrunCase \u4F7F\u7528 case\u3002"}},output:{schema:{type:"json"},render:(i,r)=>[{type:"text",text:JSON.stringify(r,null,2)}]},timeoutMs:1e4,isConcurrencySafe:()=>!1,async execute(i,r){let n=Cn(i.args)||{};return e.get(Zi(r),Qi(r)).play(i.action,n,r.signal)}})),t.tools.register(Ji({name:"qxqy_studio_load",description:"\u4ECE\u5F53\u524D\u4F1A\u8BDD\u5DE5\u4F5C\u533A\u62C9\u53D6\u5343\u661F\u6A21\u62DF\u5668\u5B58\u6863\u3002\u4E0D\u4F20 path \u65F6\u5217\u51FA\u5DE5\u4F5C\u533A\u5185\u7684 qxqy-simulator-save\uFF1B\u4F20\u5165\u76F8\u5BF9\u8DEF\u5F84\u5219\u52A0\u8F7D\u8BE5\u5B58\u6863\u3002",parameters:{path:{type:"string",description:"\u5DE5\u4F5C\u533A\u5185\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u4F8B\u5982 workspace/flappy-fish/flappy-fish.save.json\u3002\u7701\u7565\u5219\u53EA\u5217\u51FA\u53EF\u62C9\u53D6\u5B58\u6863\u3002"}},output:{schema:{type:"json"},render:(i,r)=>[{type:"text",text:JSON.stringify(r,null,2)}]},timeoutMs:8e3,isConcurrencySafe:()=>!1,async execute(i,r){let n=e.get(Zi(r),Qi(r));return i.path?n.loadArchive(i.path):n.listArchives()}}))}function Lv(t,e,i){Dr(t,{kind:"prefix",path:_p,async handler(r,n){if(r.method!=="POST"){En(n,405,{ok:!1,value:null,error:"POST required"});return}let s=new URL(r.url,"http://localhost").pathname.slice(_p.length).replace(/^\/+/,"");if(s==="health"){En(n,200,{ok:!0,value:{status:"ok"},error:null});return}let a=new AbortController;r.once("aborted",()=>a.abort());try{let l=await zv(r);if(s==="locale"){En(n,200,{ok:!0,value:xp(r)?await Ip():{language:"",source:"browser"},error:null});return}let u=await Ov(l.sessionId,{sessions:t.get?.("sessions"),sessionPersistence:t.get?.("sessionPersistence")}),c=e.get(l.sessionId,u),f;if(s==="updates")f=await i();else if(s==="get")f=c.get();else if(s==="patch")f=c.patch(l.op);else if(s==="export")f=c.exportData(l.format,l.assetType);else if(s==="import")f=c.importData(l.format,l.data,l.filename);else if(s==="archives")f=c.listArchives();else if(s==="load-archive")f=c.loadArchive(l.path);else if(s==="save")f=c.saveForScriptSync(l.path,l.expectedRevision);else if(s==="script-sync")f=c.scriptSyncAction(l.action,l.args||{});else if(s==="script-sync-apply")f=c.scriptSync.apply(l);else if(s==="image-refresh")await c.imageAssets.refresh(l.imageId,{imageSource:l.imageSource}),f={imageId:l.imageId,imageSource:l.imageSource||"StaticReference",refreshed:!0};else if(s==="play")f=await c.play(l.action,l.args||{},a.signal);else throw new Error("unknown API action");En(n,200,{ok:!0,value:f,error:null})}catch(l){En(n,400,{ok:!1,value:null,error:l?.message||String(l)})}}})}function xI(t){Xt();let e=Nv();t.effect(()=>()=>e.dispose(),"qxqy-simulator: dispose sessions"),$v(t,e),Lv(t,e,wp({packageName:Yl.name,currentVersion:Yl.version})),Fv(t),Dv(t),Dr(t,{kind:"prefix",path:"/qxqy-assets",handler:(i,r)=>op(i,r)}),Dr(t,{kind:"prefix",path:"/qxqy-audio",handler:(i,r)=>yp(i,r)}),Dr(t,{kind:"prefix",path:"/qxqy-font",handler:Nu})}export{Kl as SimulatorController,xI as apply,Jl as headerWorkspace,SI as inject,Cn as jsonParam,Ov as lookupSessionWorkspace,wI as name,Qi as sessionWorkspace};
|
|
120
|
+
`)}`);return i}function Ds(t,e={}){be(t.root,Pi);let i=[];Kt(t,{warnings:i});let n=lr(ie(t)),r=t.meta?.assetType==="client-control-template",o;if(r){let s=e.includeScriptMappings?Co(e.scripts||[],new Set(n.values())):null;o=ld(t,n,i,void 0,s?.scripts||e.scripts||[]),s&&o.accessories.push(...s.units)}else{let s=Co(e.scripts||[],new Set(n.values()));i.push(...s.warnings),o=cd(t,n,s,i)}return{buffer:ud(o,r?Ls:Gs),warnings:[...new Set(i)]}}function fd(t,e,i={}){be(t.root,Pi),e&&be(e.root,Pi);let n=["\u6574\u5408\u5305\u628A\u670D\u52A1\u7AEF UIControlGroup \u4E0E\u5BA2\u6237\u7AEF UIControlTemplate \u5E76\u6392\u5199\u5165\u540C\u4E00 GIA \u7684 Root.graph\uFF1B\u5BFC\u5165\u65F6\u62C6\u56DE\u4E24\u7C7B\u8D44\u4EA7\uFF0C\u6A21\u677F\u8FB9\u754C\u3001\u811A\u672C\u6620\u5C04\u4E0E\u63A7\u4EF6\u6302\u8F7D\u5173\u7CFB\u4F1A\u4FDD\u7559\u3002"];e&&Kt(e,{warnings:n});let r=e?.root?.children||[];r.length||n.push("\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u4E3A\u7A7A\uFF0C\u6574\u5408\u5305\u53EA\u5305\u542B\u670D\u52A1\u7AEF\u63A7\u4EF6\u4E0E\u811A\u672C\u3002");let o=new Set,a=ie(t),s=e?ie(e):null,l=lr(a,o),c=Co(i.scripts||[],o);n.push(...c.warnings.filter(w=>w!==hd));let u=String(i.fileName||`${a.meta?.name||"\u6574\u5408\u5305"} \xB7 \u6574\u5408\u5305.gia`),f=Ps({...a,meta:{...a.meta,giaFileName:u}},!1),h=cd(a,l,c,n,f),p={graph:[],accessories:[]};if(r.length&&s){let w=lr({...s,meta:{...s.meta,assetType:"client-control-template"}},o);p=ld(s,w,n,f,c.scripts)}let g={graph:[...h.graph,...p.graph],accessories:[...h.accessories,...p.accessories],filePath:f,gameVersion:Fs({meta:{gameVersion:t.meta?.gameVersion||e?.meta?.gameVersion}}),...Ms(t)};return{buffer:ud(g,Gs),warnings:[...new Set(n)]}}var Hi=69,dd=30,hd="\u811A\u672C\u6302\u8F7D\u5173\u7CFB\u4E0D\u8FDB\u5165 GIA\uFF1A\u5B98\u65B9 script.gia \u53EA\u542B\u6620\u5C04\uFF08ID/\u540D\u79F0/\u8DEF\u5F84/\u6E90\u7801\uFF09\uFF0C\u5BFC\u5165\u540E\u9700\u91CD\u65B0\u6302\u8F7D\u3002";function Am(t){return(String(t.path||"").replace(/\\/g,"/").split("/").pop()||"").replace(/\.lua$/iu,"")||`\u811A\u672C${t.id||""}`}function $s(t){let e=Rt.verify(t);if(e)throw new Error(`GIA encode validation failed: ${e}`);let i=Rt.encode(Rt.create(t)).finish(),n=Buffer.alloc(Ei+i.length+Os);return n.writeUInt32BE(n.length-4,0),n.writeUInt32BE(1,4),n.writeUInt32BE(id,8),n.writeUInt32BE(3,12),n.writeUInt32BE(i.length,16),Buffer.from(i).copy(n,Ei),n.writeUInt32BE(nd,Ei+i.length),n}function Co(t,e=new Set){let i=(t||[]).filter(a=>a.path||a.source).map(a=>({...a})),n=[];for(let a of i)va(a.guid,a.path||a.id);for(let a of i){let s=Number(a.guid);mt(s)&&!e.has(s)?(e.add(s),a.guid=s):n.push(a)}for(let a of n){let s=ci(e);e.add(s),a.guid=s}let r=[];return(t||[]).some(a=>a.controlId)&&r.push(hd),{units:i.map(a=>{let s=Am(a),l=String(a.path||"").replace(/\\/g,"/"),c=/\.lua$/iu.test(l)?l:`${l||s}.lua`,u={id:a.guid,name:s,filePath:c};return String(a.source||"")&&(u.source=String(a.source)),{id:{class:dd,id:a.guid},name:s,which:Hi,script:{mapping:u}}}),warnings:r,scripts:i}}function pd(t){let e=Co(t);if(!e.units.length)throw new Error("\u6CA1\u6709\u53EF\u5BFC\u51FA\u7684 Lua \u811A\u672C\uFF0C\u8BF7\u5148\u5728\u201CLua \u811A\u672C\u201D\u9875\u521B\u5EFA");let i={graph:e.units,filePath:`114514-${Math.floor(Date.now()/1e3)}-1073741832-\\script.gia`,gameVersion:"7.0.51"},n=$s(i),r=Tm(n);if(!r.valid)throw new Error(`GIA compatibility validation failed:
|
|
121
|
+
${r.errors.join(`
|
|
122
|
+
`)}`);return{buffer:n,warnings:[...new Set(e.warnings)]}}function zs(t){return Rt.toObject(Rt.decode(To(t)),{longs:Number,enums:Number,bytes:Buffer,defaults:!1,arrays:!0,objects:!0})}function md(t){try{let i=zs(t).graph||[];return i.length>0&&i.every(n=>Number(n.which)===Hi)}catch{return!1}}function gd(t){let e=[...t.graph||[],...t.accessories||[]].filter(r=>Number(r.which)===Hi),i=[],n=e.map((r,o)=>{let a=r.script?.mapping||{},s=Number(r.id?.id)||0;s<=0&&i.push(`\u7B2C ${o+1} \u6761\u811A\u672C\u6620\u5C04\u7F3A\u5C11 GraphUnit.id.id\uFF0C\u5DF2\u6309 0 \u5904\u7406\uFF08\u5BFC\u51FA\u65F6\u4F1A\u91CD\u65B0\u5206\u914D\uFF09\u3002`);let l=Number(a.id)||0;return l&&l!==s&&i.push(`\u7B2C ${o+1} \u6761\u811A\u672C\u6620\u5C04 id(${l}) \u4E0E\u5355\u5143 id(${s}) \u4E0D\u4E00\u81F4\uFF0C\u4EE5\u5355\u5143 id \u4E3A\u51C6\u3002`),{guid:s,path:String(a.filePath||""),source:String(a.source||"")}});for(let[r,o]of n.entries())o.path&&!/\.lua$/iu.test(o.path)&&i.push(`\u7B2C ${r+1} \u6761\u811A\u672C\u6620\u5C04 file_path \u7F3A\u5C11 .lua \u540E\u7F00\uFF08${o.path}\uFF09\uFF0C\u771F\u673A\u53EF\u80FD\u62D2\u7EDD\u5BFC\u5165\uFF1B\u6A21\u62DF\u5668\u5185\u6309\u5F52\u4E00\u5316\u8DEF\u5F84\u7167\u5E38 require\u3002`);return{scripts:n,warnings:i}}function bd(t){let e=zs(t),i=gd(e);if(!i.scripts.length)throw new Error("GIA \u5185\u6CA1\u6709\u811A\u672C\u6620\u5C04\u5355\u5143\uFF08which=69\uFF09");return{scripts:i.scripts,warnings:i.warnings,metadata:{assetType:"lua-script"}}}function Tm(t){let e=[],i;try{i=zs(t)}catch(r){return{valid:!1,errors:[r?.message||String(r)],scriptCount:0}}let n=i.graph||[];return n.length||e.push("Root.graph \u4E3A\u7A7A"),(i.accessories||[]).length&&e.push("script.gia \u4E0D\u5E94\u5305\u542B accessories"),n.forEach((r,o)=>{let a=`\u5355\u5143 ${o+1}`;Number(r.which)!==Hi&&e.push(`${a}: which \u5E94\u4E3A 69\uFF0C\u5B9E\u9645 ${r.which}`),Number(r.id?.class)!==dd&&e.push(`${a}: id.class \u5E94\u4E3A 30\uFF0C\u5B9E\u9645 ${r.id?.class}`),Number(r.id?.type??0)!==0&&e.push(`${a}: id.type \u5E94\u7F3A\u7701`);let s=r.script?.mapping;if(!s){e.push(`${a}: \u7F3A\u5C11 field35 ScriptMappingWrapper`);return}mt(r.id?.id)||e.push(`${a}: GraphUnit.id.id \u975E\u6CD5\uFF08\u5141\u8BB8 0x40000000\u20130x403FFFFF\uFF09`),Number(s.id)!==Number(r.id?.id)&&e.push(`${a}: mapping.id \u5E94\u7B49\u4E8E GraphUnit.id.id`),String(s.name||"")!==String(r.name||"")&&e.push(`${a}: mapping.name \u5E94\u7B49\u4E8E GraphUnit.name`),String(s.filePath||"").trim()?/\.lua$/iu.test(String(s.filePath))||e.push(`${a}: file_path \u5E94\u4EE5 .lua \u7ED3\u5C3E\uFF08\u5B98\u65B9 script.gia \u6837\u672C\u5747\u4E3A \u540D\u79F0.lua\uFF0C\u771F\u673A require \u65F6\u624D\u53BB\u6269\u5C55\u540D\uFF09`):e.push(`${a}: file_path \u4E3A\u7A7A`)}),{valid:e.length===0,errors:e,scriptCount:n.length}}function To(t){let e=Buffer.isBuffer(t)?t:Buffer.from(t);if(e.length<Ei+Os)throw new Error("GIA \u6587\u4EF6\u8FC7\u77ED");if(e.readUInt32BE(4)!==1||e.readUInt32BE(8)!==id||e.readUInt32BE(12)!==3)throw new Error("\u4E0D\u662F\u53D7\u652F\u6301\u7684 GIA v1 \u6587\u4EF6");let i=e.readUInt32BE(16);if(i!==e.length-Ei-Os)throw new Error("GIA payload \u957F\u5EA6\u4E0D\u4E00\u81F4");if(e.readUInt32BE(Ei+i)!==nd)throw new Error("GIA \u5C3E\u6807\u8BB0\u65E0\u6548");return e.subarray(Ei,Ei+i)}function We(t,e){return t.ui?.content?.data?.find(i=>i.details?.[e])?.details?.[e]||null}function Rm(t){let e=t.ui?.content?.data?.find(o=>o.field501===66&&o.field502===89||Object.hasOwn(o.details||{},"templateRefSlot")),i=Buffer.from(e?.details?.templateRefSlot||[]),n=i.toString("utf8"),r=Buffer.from(n,"utf8").equals(i)&&!/[\u0000-\u001f\u007f-\u009f]/u.test(n);return{referencedPrefabId:r?n:"",raw:{templateRefSlot:r?n:"",...r?{}:{templateRefSlotBase64:i.toString("base64")},...e?.empty76?.length?{templateRefOuterBase64:Buffer.from(e.empty76).toString("base64")}:{}}}}function Om(t){let e=We(t,"transform")?.multiPlatform,i={};for(let r of e?.platforms||[]){let o=ym[r.platformType||0],a=r.transform||{};i[o]={scale:a.scale?{x:a.scale.x??0,y:a.scale.y??0,z:a.scale.z??0}:{x:1,y:1,z:1},rotation:{x:a.field508?.x??0,y:a.field508?.y??0,z:a.field508?.z??0},anchorMin:{x:a.anchorMin?.x??0,y:a.anchorMin?.y??0},anchorMax:{x:a.anchorMax?.x??0,y:a.anchorMax?.y??0},offset:{x:a.offset?.x??0,y:a.offset?.y??0},size:{x:a.size?.x??0,y:a.size?.y??0},pivot:a.pivot?{x:a.pivot.x??0,y:a.pivot.y??0}:{x:.5,y:.5}}}let n=i.KEYBOARD||i[Object.keys(i)[0]];if(!n)throw new Error(`GIA \u63A7\u4EF6 ${t.name||t.id?.id} \u7F3A\u5C11\u591A\u5E73\u53F0\u53D8\u6362`);for(let r of qe)i[r]||(i[r]=structuredClone(n));return i}function Ao(t){let e=t.ui?.content?.data||[];return e.some(i=>i.details?.textConfig)?e.some(i=>i.field501===71)?"textwindow":"textbox":e.some(i=>i.details?.cursorConfig)?"cursor":e.some(i=>Object.hasOwn(i.details||{},"templateRefSlot")||i.field501===66&&i.field502===89)?"reference":e.some(i=>i.details?.gridView)?"grid":e.some(i=>i.details?.buttonPreset)?"button":e.some(i=>i.details?.keyHint)?"keyhint":e.some(i=>i.details?.image||i.details?.imageSlot)?"image":e.some(i=>Object.hasOwn(i.details||{},"effectSlot"))?"animation":e.some(i=>Object.hasOwn(i.details||{},"fullscreenEffectSlot"))?"fullscreen":(e.some(i=>Object.hasOwn(i.details||{},"containerNodeSlot")),"container")}function ed(t,{reverseSiblings:e=!1,idOffset:i=0}={}){if(!t.length)return{nodes:new Map,rootCandidates:[],warnings:[]};let n=new Map(t.map((c,u)=>[c.id?.id,`n${i+u+1}`])),r=new Map,o=new Map,a=[];for(let c of t){let u=Ao(c),f=We(c,"textConfig"),h=We(c,"imageSlot"),p=We(c,"image"),g=We(c,"buttonPreset"),b=We(c,"gridView"),w=We(c,"genericSlot"),S=We(c,"footerSlot"),x=We(c,"cursorConfig"),F=We(c,"keyHint"),I=We(c,"containerNodeSlot"),$=u==="reference"?Rm(c):null,z=We(c,"effectSlot"),q=We(c,"fullscreenEffectSlot"),B=Ee(u,{id:n.get(c.id?.id),guid:c.id?.id||0,giaInfoIndex:(c.ui?.content?.info||[]).find(E=>E.field501===2&&E.field502===6)?.index?.value,giaRelatedGuids:(c.ui?.content?.info||[]).find(E=>E.field501===4&&E.field502===4)?.related?.value||[],name:c.name||u,visible:We(c,"field14")?.field17?.initiallyHidden!==!0,active:We(c,"field14")?.initiallyInactive!==!0,canControllerFocus:S?.field505===1,scriptMappingIds:(w?.field502||[]).map(E=>Number(E?.field1?.id)).filter(E=>Number.isSafeInteger(E)&&E>0),transformByPlatform:Om(c),syncAllDevices:We(c,"transform")?.multiPlatform?.field504===1,giaRaw:{genericField501:w?.field501??0,footerField505:S?.field505??0,...u==="textbox"||u==="textwindow"?{textField501:f?.field501??20,textField503:f?.field503??12,textAlign:f?.align??0,...[void 0,0,1,2].includes(f?.verticalAlign)?{}:{textVerticalAlign:f.verticalAlign},...u==="textwindow"?{textField511:f?.field511??1,textViewField502:f?.viewFlags?.field502??1,textViewField503:f?.viewFlags?.field503??1}:{}}:{},...u==="cursor"?{cursorField501:x?.field501??0}:{},...$?.raw||{},...u==="grid"?{gridField501:b?.field501??1,gridField507:b?.field507??1,gridField508:b?.field508??1,gridField509:b?.field509??1,gridField511:b?.field511??5,gridField512:b?.field512??1}:{},...u==="keyhint"?{keyHintField501:F?.field501??1,keyHintField502:F?.field502??1}:{},...u==="image"?{imageSlotType:h?.imageType??0,imageField502:p?.field502??1,imageField504:p?.field504??1,imageField505:p?.field505??1,imageField507:p?.field507??2,imageFillType:p?.fillType??1}:{},...u==="animation"?{effectSlot:z??""}:{},...u==="fullscreen"?{fullscreenEffectSlot:q??""}:{}},...u==="container"?{isolateNavigation:I?.isolateNavigation===!0,disableKeyEventPassthrough:I?.disableKeyEventPassthrough===!0,disableCursorEventPassthrough:I?.disableCursorEventPassthrough===!0,showCursor:I?.showCursor===!0}:{},...u==="cursor"?{raycastTarget:x?.field501===1}:{},...u==="textbox"||u==="textwindow"?{text:f?.text?.value??"",fontSize:f?.fontSize??20,minimumFontSize:f?.minimumFontSize??20,adaptiveFontSize:f?.adaptive===1,fontColor:f?.color??4294967295,bgColor:f?.color2??0,enableOutline:f?.outlineOff!==1,outlineColor:f?.color3??858993459,horizontalAlignment:f?.align===1?"Middle":f?.align===2?"Right":"Left",verticalAlignment:{0:"Top",1:"Middle",2:"Bottom"}[f?.verticalAlign??0]||"Top",...u==="textwindow"?{interactable:!0,showScrollBar:!0}:{}}:{},...u==="image"?{imageSource:"StaticReference",imageId:h?.assetId??0,imageType:h?.imageType===1?"Stretch":"Basic",imageColor:Number.isFinite(h?.field502)?h.field502>>>0:4294967295,enableMask:p?.enableMask===1,enableSoftEdge:p?.enableSoftEdge===1,enableFill:p?.enableFill===1,softEdgeMode:p?.softEdgePixel===1?"Pixel":"Percentage",softEdgeWidthX:p?.border?.field501??8,softEdgeWidthY:p?.border?.field502??8,horizontalSoftRange:p?.field512??85,verticalSoftRange:p?.field513??85,fillType:{1:"Horizontal",2:"Vertical",3:"Radial90",4:"Radial180",5:"Radial360"}[p?.fillType]||"Horizontal",fillAmount:Number.isFinite(p?.field508)?Math.max(0,Math.min(1,p.field508/100)):p?.enableFill===1?0:1,reverseMaskArea:p?.reverseMask===1}:{},...u==="button"?{interactable:g?.interactable===1,raycastTarget:g?.raycastTarget===1,clickAudioId:g?.clickAudioId??50888}:{},...u==="grid"?{cellSizeX:b?.cellSize?.field501??50,cellSizeY:b?.cellSize?.field502??50,spacingX:b?.gap?.field501??8,spacingY:b?.gap?.field502??8,padding1X:b?.padding1?.field501??20,padding1Y:b?.padding1?.field502??20,padding2X:b?.padding2?.field501??20,padding2Y:b?.padding2?.field502??20,previewCount:b?.field511??5}:{},...$?{referencedPrefabId:$.referencedPrefabId}:{},...u==="keyhint"?{keyboardKeyCode:F?.field502??null,controllerKeyCode:F?.field501??null}:{},...u==="animation"?{animationId:z??""}:{},...u==="fullscreen"?{animationId:q??""}:{}});r.set(c.id?.id,B),($?.raw.templateRefSlotBase64||$?.raw.templateRefOuterBase64)&&a.push(`${B.name}: \u6A21\u677F\u5F15\u7528\u914D\u7F6E\u542B\u5C1A\u672A\u89E3\u6790\u7684\u4E8C\u8FDB\u5236\u5B57\u6BB5\uFF0C\u5DF2\u539F\u6837\u4FDD\u5B58\uFF1B\u5F15\u7528\u76EE\u6807\u672A\u63A8\u65AD\uFF0C\u9884\u89C8\u4E0D\u4F1A\u81EA\u52A8\u5C55\u5F00\u3002`),(u==="textbox"||u==="textwindow")&&![void 0,0,1,2].includes(f?.align)&&a.push(`${B.name}: \u6C34\u5E73\u5BF9\u9F50\u679A\u4E3E ${f.align} \u7684\u542B\u4E49\u672A\u77E5\uFF0C\u5DF2\u539F\u6837\u4FDD\u7559\u3002`),(u==="textbox"||u==="textwindow")&&![void 0,0,1,2].includes(f?.verticalAlign)&&a.push(`${B.name}: \u5782\u76F4\u5BF9\u9F50\u679A\u4E3E ${f.verticalAlign} \u7684\u542B\u4E49\u672A\u77E5\uFF0C\u5DF2\u539F\u6837\u4FDD\u7559\u3002`),u==="image"&&![void 0,0,1,2,3,4,5].includes(p?.fillType)&&a.push(`${B.name}: \u586B\u5145\u5F62\u72B6\u679A\u4E3E ${p.fillType} \u672A\u8BC6\u522B\uFF0C\u5DF2\u4FDD\u7559\u539F\u503C\u3002`),u==="button"&&o.set(B.id,{unavailableChildId:g?.disabledChild,hoverChildId:g?.hoverChild,pressedChildId:g?.pressedChild,selectedChildId:g?.selectedChild})}let s=[],l=new Set;for(let c of t){let u=r.get(c.id?.id),f=(c.ui?.content?.children||[]).map(h=>r.get(h)).filter(Boolean);if(f.length){u.children=e?f.slice().reverse():f;for(let h of f)l.add(h.id)}}for(let c of t){let u=r.get(c.id?.id),f=c.ui?.content?.parent||0,h=r.get(f);h?l.has(u.id)||(e?h.children.unshift(u):h.children.push(u)):s.push(u)}for(let[c,u]of o){let f=[...r.values()].find(h=>h.id===c);for(let[h,p]of Object.entries(u))f[h]=n.get(p)||null}return{nodes:r,rootCandidates:s,warnings:a}}function yd(t){let e=To(t),i=Rt.toObject(Rt.decode(e),{longs:Number,enums:Number,bytes:Buffer,defaults:!1,arrays:!0,objects:!0}),n=[...i.graph||[],...i.accessories||[]],r=S=>!!S.ui?.content&&[15,21,70].includes(Number(S.which)),o=(i.graph||[]).filter(r);if(!o.some(S=>S.ui?.content))throw new Error("GIA \u4E0D\u542B\u53EF\u8BC6\u522B\u7684 UIControlGroup \u4E3B\u56FE");let a=o.find(S=>S.which===21)||null,s=o.filter(S=>Number(S.which)===70),l=(i.accessories||[]).filter(r),c=new Set((a?.relatedIds||[]).map(S=>S.id||0)),u=a?c.size?l.filter(S=>c.has(S.id?.id||0)):l:[],f=s.length?[...s,...l.filter(S=>!c.has(S.id?.id||0))]:a?[]:[...o,...l];if(!u.length&&!f.length)throw new Error("GIA \u4E0D\u542B\u5BA2\u6237\u7AEF\u63A7\u4EF6");let h=["GIA \u5BFC\u5165\u4E3A\u5DF2\u9A8C\u8BC1 UI \u5B57\u6BB5\u7684\u8BED\u4E49\u5BFC\u5165\uFF1B\u672A\u77E5 protobuf \u5B57\u6BB5\u4E0D\u4F1A\u8FDB\u5165 Authoring JSON\u3002"],p=n.filter(S=>!r(S)&&Number(S.which)!==Hi);p.length&&h.push(`\u8DF3\u8FC7 ${p.length} \u4E2A\u975E UI / \u975E\u811A\u672C\u4F9D\u8D56\u5355\u5143\uFF1B\u8FD9\u4E9B\u8D44\u6E90\u4E0D\u4F1A\u8FDB\u5165\u5B58\u6863\u6216\u91CD\u65B0\u5BFC\u51FA\u3002`);let g=gd(i);h.push(...g.warnings);let b=null,w=null;if(u.length){let S=ed(u,{reverseSiblings:!0,idOffset:0});h.push(...S.warnings);let x=S.rootCandidates.find(I=>I.kind==="container")||S.rootCandidates[0];if(!x)throw new Error("GIA \u672A\u627E\u5230\u5BA2\u6237\u7AEF\u6839\u63A7\u4EF6");let F=Ee("server-container",{id:"sc1",guid:a?.id?.id||0,name:a?.name||"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u5BB9\u5668",giaRelatedGuids:(a?.ui?.content?.info||[]).find(I=>I.field501===4&&I.field502===4)?.related?.value||[]});F.children=[x],S.rootCandidates.length>1&&h.push(`\u68C0\u6D4B\u5230 ${S.rootCandidates.length} \u4E2A\u65E0\u7236\u8282\u70B9\u63A7\u4EF6\uFF0C\u4EC5\u5BFC\u5165\u4EE5\u201C${x.name}\u201D\u4E3A\u6839\u7684\u6811\u3002`),b={version:1,layoutSchemaVersion:Ze,meta:{name:a?.name||"\u5BFC\u5165\u7684\u754C\u9762\u63A7\u4EF6\u7EC4",assetType:"server-control-template",sourceFormat:"gia",sourceFile:"",gameVersion:i.gameVersion||"",giaFilePath:i.filePath||"",...Number.isSafeInteger(Number(i.modeFlag))?{giaModeFlag:Number(i.modeFlag)}:{}},canvasId:"pc-16-9",selectedId:x.id,script:{controlId:x.id,path:"",source:""},root:F}}if(f.length){let S=ed(f,{reverseSiblings:!1,idOffset:1e3});if(h.push(...S.warnings),!S.rootCandidates.length)throw new Error("GIA \u672A\u627E\u5230\u5BA2\u6237\u7AEF\u6A21\u677F");let x=Ee("server-container",{id:"sc1",guid:0,name:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F"});x.children=S.rootCandidates,w={version:1,layoutSchemaVersion:Ze,meta:{name:S.rootCandidates.length===1?S.rootCandidates[0].name:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868",assetType:"client-control-template",sourceFormat:"gia",sourceFile:"",gameVersion:i.gameVersion||"",giaFilePath:i.filePath||"",...Number.isSafeInteger(Number(i.modeFlag))?{giaModeFlag:Number(i.modeFlag)}:{}},canvasId:"pc-16-9",selectedId:S.rootCandidates[0].id,script:{controlId:S.rootCandidates[0].id,path:"",source:""},root:x},Kt(w,{warnings:h});for(let F of S.rootCandidates)be(F,I=>I.children.reverse());b||(b=w)}return{project:b,clientProject:w&&b!==w?w:void 0,scripts:g.scripts,warnings:h,metadata:{gameVersion:i.gameVersion||"",filePath:i.filePath||"",...Number.isSafeInteger(Number(i.modeFlag))?{modeFlag:Number(i.modeFlag)}:{},combined:!!(a&&s.length)}}}function Ls(t){let e=To(t),i=Rt.toObject(Rt.decode(e),{longs:Number,enums:Number,defaults:!1,arrays:!0,objects:!0}),n=i.graph||[],r=i.accessories||[],o=[],a=(p,g)=>p!=null&&Object.prototype.hasOwnProperty.call(p,g),s=new Map,l=[];/^\d+-\d+-\d+-\\.+\.gia$/iu.test(i.filePath||"")||o.push(`Root.filePath \u4E0D\u662F UID-TIME-ID-\\\u6587\u4EF6\u540D.gia\uFF1A${i.filePath||"<missing>"}`);let c=n.filter(p=>p.which===70).map(p=>{let g=Ao(p),b=p.ui?.content?.info||[],w=b.find(F=>F.field501===2&&F.field502===6)?.index?.value,S=b.find(F=>F.field501===4&&F.field502===4),x=S?.related?.value||[];return gt(w)||o.push(`${p.name}: Info.index=${w??"<missing>"}\uFF0C\u5FC5\u987B\u662F\u6B63\u6574\u6570`),S||o.push(`${p.name}: \u9876\u5C42 UIControlTemplate \u7F3A\u5C11 Info.related \u8BB0\u5F55`),{id:p.id?.id||0,name:p.name||"",kind:g,actualIndex:w,relatedPresent:!!S,relatedGuids:x}}),u=new Map;for(let p of c){if(!gt(p.actualIndex))continue;let g=u.get(p.actualIndex);g?o.push(`${p.name}: \u72EC\u7ACB\u6A21\u677F\u8D44\u4EA7\u7F16\u53F7 ${p.actualIndex} \u4E0E ${g.name} \u91CD\u590D`):u.set(p.actualIndex,p)}c.length||o.push("Root.graph \u4E0D\u542B UIControlTemplate(70)");let f=0,h=0;for(let p of[...n,...r]){if(!p.ui?.content)continue;let g=p.id?.id||0,b=p.ui.content,w=Ao(p),S=n.includes(p)&&p.which===70,x=`${p.name||"<unnamed>"}(${g||"<missing-guid>"})`;mt(g)?s.has(g)?o.push(`${x}: GUID \u4E0E ${s.get(g).name||"<unnamed>"} \u91CD\u590D`):s.set(g,p):o.push(`${x}: GraphUnit GUID \u975E\u6CD5\uFF08\u5141\u8BB8 0x40000000\u20130x403FFFFF\uFF09`),(p.id?.class!==1||p.id?.type!==8)&&o.push(`${x}: GraphUnit.id \u5FC5\u987B\u4E3A class=1,type=8`),b.guid!==g&&o.push(`${x}: content.guid=${b.guid??"<missing>"} \u4E0E GraphUnit.id.id \u4E0D\u4E00\u81F4`),S&&p.which!==70&&o.push(`${x}: \u6A21\u677F\u6839 which \u5FC5\u987B\u4E3A UIControlTemplate(70)`),!S&&p.which!==15&&o.push(`${x}: \u9644\u4EF6\u63A7\u4EF6 which \u5FC5\u987B\u4E3A UIControl(15)`);let F=b.info||[],I=F.find(_=>_.field501===1&&_.field502===5),$=F.find(_=>_.field501===2&&_.field502===6);I?.guid?.value!==g&&o.push(`${x}: Info.self GUID \u7F3A\u5931\u6216\u4E0E\u81EA\u8EAB\u4E0D\u4E00\u81F4`),gt($?.index?.value)||o.push(`${x}: Info.index=${$?.index?.value??"<missing>"}\uFF0C\u5FC5\u987B\u662F\u6B63\u6574\u6570`);let z=F.find(_=>_.field501===4&&_.field502===4);S&&!z&&o.push(`${x}: \u9876\u5C42\u6A21\u677F\u7F3A\u5C11 Info.related \u8BB0\u5F55`),!S&&z&&o.push(`${x}: \u9644\u4EF6\u63A7\u4EF6\u4E0D\u5E94\u5199 Info.related`);let q=od[w],B=b.data||[],E=B.map(_=>`${_.field501}/${_.field502}`),A=q?.map(([_])=>_)||[];q?JSON.stringify(E)!==JSON.stringify(A)&&o.push(`${x}: Data \u69FD\u4F4D\u987A\u5E8F ${E.join(",")}\uFF0C\u5E94\u4E3A ${A.join(",")}`):o.push(`${x}: \u672A\u77E5\u5BA2\u6237\u7AEF\u63A7\u4EF6\u7C7B\u578B ${w}`);for(let _=0;_<Math.min(B.length,q?.length||0);_+=1){let D=B[_],[H,U,K]=q[_];if(a(D,U)||o.push(`${x}: Data ${H} \u7F3A\u5C11 ${U} \u5206\u652F`),!K)continue;a(D.details,K)||o.push(`${x}: Details ${H} \u7F3A\u5C11 ${K} \u5206\u652F`);let re=ad[H];(D.details?.field501!==re||D.details?.field502!==D.field502||D.details?.field503!==1)&&o.push(`${x}: Details ${H} \u6807\u8BB0\u5E94\u4E3A ${re}/${D.field502}/1`);let we=D.details?.nodeRef;(we?.class!==1||we?.type!==8||we?.id!==g)&&o.push(`${x}: Details ${H} node_ref \u672A\u6307\u5411\u81EA\u8EAB`)}let y=(p.ui.content.data||[]).find(_=>_.field501===4&&_.field502===86);y&&(a(y.field14,"field17")?f+=1:o.push(`${x}: \u7C7B\u578B Data \u7F3A\u5C11\u663E\u5F0F Field14.field17 \u7A7A\u4E32`),a(y.details?.field14,"field17")?f+=1:o.push(`${x}: \u7C7B\u578B Details \u7F3A\u5C11\u663E\u5F0F Field14.field17 \u7A7A\u4E32`));let O=(p.ui.content.data||[]).find(_=>_.details?.transform)?.details?.transform?.multiPlatform?.platforms||[];O.length!==4&&o.push(`${x}: \u591A\u5E73\u53F0\u53D8\u6362\u6570\u91CF=${O.length}\uFF0C\u5E94\u4E3A 4`);let k=O.map(_=>_.platformType||0);JSON.stringify(k)!==JSON.stringify([0,1,2,3])&&o.push(`${x}: \u5E73\u53F0\u987A\u5E8F ${k.join(",")}\uFF0C\u5E94\u4E3A 0,1,2,3`);let d=(p.ui.content.data||[]).find(_=>_.details?.transform)?.details?.transform;d?.multiPlatform?.field502!==ar[w]&&o.push(`${x}: \u53D8\u6362 preset=${d?.multiPlatform?.field502??"<missing>"}\uFF0C${w} \u5E94\u4E3A ${ar[w]}`);for(let _ of O)a(_.transform,"field508")?h+=1:o.push(`${x}: RectTransform \u7F3A\u5C11\u663E\u5F0F field508 \u7A7A\u4E32`);l.push({id:g,name:p.name||"",kind:w,template:S,parent:b.parent||0,children:[...b.children||[]],relatedIds:(p.relatedIds||[]).map(_=>_.id||0),dataSignatures:E})}for(let p of l){let g=`${p.name||"<unnamed>"}(${p.id})`;if(JSON.stringify(p.relatedIds)!==JSON.stringify(p.children)&&o.push(`${g}: GraphUnit.relatedIds \u4E0E content.children \u4E0D\u4E00\u81F4`),p.template&&p.parent&&o.push(`${g}: \u9876\u5C42\u6A21\u677F\u4E0D\u5E94\u6709 parent`),!p.template){let b=s.get(p.parent);b?(b.ui?.content?.children||[]).includes(p.id)||o.push(`${g}: \u7236\u63A7\u4EF6 children \u672A\u53CD\u5411\u5305\u542B\u81EA\u8EAB`):o.push(`${g}: parent=${p.parent||"<missing>"} \u4E0D\u5B58\u5728`)}for(let b of p.children){let w=s.get(b);w?(w.ui?.content?.parent||0)!==p.id&&o.push(`${g}: child=${b} \u7684 parent \u672A\u6307\u56DE\u81EA\u8EAB`):o.push(`${g}: child=${b} \u4E0D\u5B58\u5728`)}}return{valid:o.length===0,errors:o,filePath:i.filePath||"",gameVersion:i.gameVersion||"",templateCount:c.length,accessoryCount:r.length,templates:c,units:l,explicitEmpty:{field17:f,rectField508:h}}}function Gs(t){let e=To(t),i=Rt.toObject(Rt.decode(e),{longs:Number,enums:Number,defaults:!1,arrays:!0,objects:!0}),n=(i.graph||[]).filter(d=>d.ui?.content&&Number(d.which)===21),r=(i.graph||[]).filter(d=>Number(d.which)===70),o=(i.graph||[]).filter(d=>Number(d.which)===Hi),a=(i.accessories||[]).filter(d=>d.ui?.content),s=[],l=(d,_)=>d!=null&&Object.prototype.hasOwnProperty.call(d,_);/^\d+-\d+-\d+-\\.+\.gia$/iu.test(i.filePath||"")||s.push(`Root.filePath \u4E0D\u662F UID-TIME-ID-\\\u6587\u4EF6\u540D.gia\uFF1A${i.filePath||"<missing>"}`),n.length!==1&&s.push(`\u670D\u52A1\u7AEF\u63A7\u4EF6\u6A21\u677F UIControlGroup \u6570\u91CF=${n.length}\uFF0C\u5E94\u4E3A 1`);let c=(i.graph||[]).filter(d=>{let _=Number(d.which);return _===Hi||_===70||_===21?!1:!d.ui?.content});c.length&&s.push(`Root.graph \u542B ${c.length} \u4E2A\u65E0\u6CD5\u8BC6\u522B\u7684\u975E\u63A7\u4EF6/\u975E\u811A\u672C\u5355\u5143`);let u=n[0];if(!u)return{valid:!1,errors:s,filePath:i.filePath||"",gameVersion:i.gameVersion||"",accessoryCount:a.length,controls:[],scriptCount:o.length,explicitEmpty:{field17:0,rectField508:0}};let f=[u,...r,...a],h=new Map;for(let d of f){let _=d.id?.id||0,D=`${d.name||"<unnamed>"}(${_||"<missing-guid>"})`;mt(_)?h.has(_)?s.push(`${D}: GUID \u91CD\u590D`):h.set(_,d):s.push(`${D}: GraphUnit GUID \u975E\u6CD5\uFF08\u5141\u8BB8 0x40000000\u20130x403FFFFF\uFF09`),(d.id?.class!==1||d.id?.type!==8)&&s.push(`${D}: GraphUnit.id \u5FC5\u987B\u4E3A class=1,type=8`),d.ui?.content?.guid!==_&&s.push(`${D}: content.guid \u4E0E GraphUnit.id.id \u4E0D\u4E00\u81F4`)}let p=u.id?.id||0,g=u.ui.content,b=`${u.name||"<unnamed>"}(${p})`;u.which!==21&&s.push(`${b}: which \u5FC5\u987B\u4E3A UIControlGroup(21)`);let w=g.info||[];w.find(d=>d.field501===1&&d.field502===5)?.guid?.value!==p&&s.push(`${b}: Info.self GUID \u7F3A\u5931\u6216\u4E0D\u4E00\u81F4`),w.find(d=>d.field501===2&&d.field502===6)?.index?.value!==1&&s.push(`${b}: Info.index \u5FC5\u987B\u4E3A 1`);let S=w.find(d=>d.field501===4&&d.field502===4);S||s.push(`${b}: \u7F3A\u5C11\u663E\u5F0F Info.related \u8BB0\u5F55`);let x=0,F=0,I=(d,_,D,H=!1)=>{let U=d.id?.id||0,K=`${d.name||"<unnamed>"}(${U})`,re=d.ui.content.data||[],we=re.map(Ne=>`${Ne.field501}/${Ne.field502}`),Se=D.map(([Ne])=>Ne);JSON.stringify(we)!==JSON.stringify(Se)&&s.push(`${K}: Data \u69FD\u4F4D\u987A\u5E8F ${we.join(",")}\uFF0C\u5E94\u4E3A ${Se.join(",")}`);for(let Ne=0;Ne<Math.min(re.length,D.length);Ne+=1){let ht=re[Ne],[pt,ge,R]=D[Ne];if(l(ht,ge)||s.push(`${K}: Data ${pt} \u7F3A\u5C11 ${ge} \u5206\u652F`),!R)continue;l(ht.details,R)||s.push(`${K}: Details ${pt} \u7F3A\u5C11 ${R} \u5206\u652F`);let T=ad[pt];(ht.details?.field501!==T||ht.details?.field502!==ht.field502||ht.details?.field503!==1)&&s.push(`${K}: Details ${pt} \u6807\u8BB0\u5E94\u4E3A ${T}/${ht.field502}/1`);let P=ht.details?.nodeRef;(P?.class!==1||P?.type!==8||P?.id!==U)&&s.push(`${K}: Details ${pt} node_ref \u672A\u6307\u5411\u81EA\u8EAB`)}let me=re.find(Ne=>Ne.field501===4&&Ne.field502===(H?23:86)),Q=H?"empty15":"field17";l(me?.field14,Q)?H||(x+=1):s.push(`${K}: \u7C7B\u578B Data \u7F3A\u5C11\u663E\u5F0F Field14.${Q} \u7A7A\u4E32`),l(me?.details?.field14,Q)?H||(x+=1):s.push(`${K}: \u7C7B\u578B Details \u7F3A\u5C11\u663E\u5F0F Field14.${Q} \u7A7A\u4E32`);let fe=re.find(Ne=>Ne.details?.transform)?.details?.transform,Ie=fe?.multiPlatform?.platforms||[];Ie.length!==4&&s.push(`${K}: \u591A\u5E73\u53F0\u53D8\u6362\u6570\u91CF=${Ie.length}\uFF0C\u5E94\u4E3A 4`);let St=Ie.map(Ne=>Ne.platformType||0);JSON.stringify(St)!==JSON.stringify([0,1,2,3])&&s.push(`${K}: \u5E73\u53F0\u987A\u5E8F ${St.join(",")}\uFF0C\u5E94\u4E3A 0,1,2,3`);let Ht=H?ar["server-container"]:ar[_];fe?.multiPlatform?.field502!==Ht&&s.push(`${K}: \u53D8\u6362 preset=${fe?.multiPlatform?.field502??"<missing>"}\uFF0C\u5E94\u4E3A ${Ht}`);for(let Ne of Ie)l(Ne.transform,"field508")?F+=1:s.push(`${K}: RectTransform \u7F3A\u5C11\u663E\u5F0F field508 \u7A7A\u4E32`);return we};I(u,"server-container",vm,!0);let $=(u.relatedIds||[]).map(d=>d.id||0),z=new Set($),q=a.filter(d=>z.has(d.id?.id||0)),B=q.map(d=>d.id?.id||0);JSON.stringify($)!==JSON.stringify(B)&&s.push(`${b}: \u4E3B\u56FE relatedIds \u5FC5\u987B\u6309\u987A\u5E8F\u8986\u76D6\u672C\u7EC4 accessories`);let E=g.data?.find(d=>d.details?.rootChildRef)?.details?.rootChildRef?.guid||0,A=h.get(E);(!A||!q.includes(A))&&s.push(`${b}: 62/82 \u6839\u8282\u70B9\u5F15\u7528\u4E0D\u5B58\u5728`),B[0]!==E&&s.push(`${b}: \u6839\u5BB9\u5668\u8282\u70B9\u5FC5\u987B\u662F\u672C\u7EC4 accessories[0]`);let y=[];for(let d of q){let _=d.id?.id||0,D=d.ui.content,H=`${d.name||"<unnamed>"}(${_})`,U=Ao(d);d.which!==15&&s.push(`${H}: which \u5FC5\u987B\u4E3A UIControl(15)`);let K=D.info||[];(K.length!==1||K[0]?.field501!==1||K[0]?.field502!==5||K[0]?.guid?.value!==_)&&s.push(`${H}: \u670D\u52A1\u7AEF\u5BB9\u5668\u5185\u63A7\u4EF6 Info \u5FC5\u987B\u53EA\u542B\u81EA\u8EAB GUID`);let re=od[U];re||s.push(`${H}: \u672A\u77E5\u5BA2\u6237\u7AEF\u63A7\u4EF6\u7C7B\u578B ${U}`);let we=re?I(d,U,re):[];y.push({id:_,name:d.name||"",kind:U,parent:D.parent||0,children:[...D.children||[]],relatedIds:(d.relatedIds||[]).map(Se=>Se.id||0),dataSignatures:we})}let O=y.find(d=>d.id===E);O&&(O.kind!=="container"&&s.push(`${O.name}(${E}): \u6839\u63A7\u4EF6\u5FC5\u987B\u4E3A\u5BB9\u5668\u8282\u70B9`),O.parent&&s.push(`${O.name}(${E}): \u6839\u63A7\u4EF6\u4E0D\u5E94\u6709 parent`));let k=new Map(y.map(d=>[d.id,d]));for(let d of y){let _=`${d.name}(${d.id})`;if(JSON.stringify(d.relatedIds)!==JSON.stringify(d.children)&&s.push(`${_}: relatedIds \u5FC5\u987B\u4E0E\u76F4\u63A5 children \u4E00\u81F4`),d.id!==E){let D=k.get(d.parent);D?D.children.includes(d.id)||s.push(`${_}: \u7236\u63A7\u4EF6 children \u672A\u53CD\u5411\u5305\u542B\u81EA\u8EAB`):s.push(`${_}: parent=${d.parent||"<missing>"} \u4E0D\u5B58\u5728`)}for(let D of d.children){let H=k.get(D);H?H.parent!==d.id&&s.push(`${_}: child=${D} \u7684 parent \u672A\u6307\u56DE\u81EA\u8EAB`):s.push(`${_}: child=${D} \u4E0D\u5B58\u5728`)}}if(r.length){let d=Ls($s({...i,graph:r,accessories:a.filter(_=>!z.has(_.id?.id||0))}));s.push(...d.errors.map(_=>`\u5BA2\u6237\u7AEF\u6A21\u677F: ${_}`))}return{valid:s.length===0,errors:s,filePath:i.filePath||"",gameVersion:i.gameVersion||"",graph:{id:p,name:u.name||"",relatedGuids:S?.related?.value||[],rootGuid:E},accessoryCount:a.length,controls:y,scriptCount:o.length,explicitEmpty:{field17:x,rectField508:F}}}function vd(t,e=[]){if(!t||t.layoutSchemaVersion===Ze)return t;if(t.layoutSchemaVersion!==void 0&&t.layoutSchemaVersion!==1)throw new Error(`\u4EC5\u652F\u6301 layoutSchemaVersion=2 \u6216\u53EF\u8FC1\u79FB\u7684\u65E7\u5E03\u5C40\uFF0C\u6536\u5230 ${t.layoutSchemaVersion}`);if(!t.root)return{...t,layoutSchemaVersion:Ze};let i=structuredClone(t),n=0;return be(i.root,r=>{let o=r.transformByPlatform||{},a=r.transformByCanvas||{},s=r.name||r.id;for(let c of Object.keys(o))if(!qe.includes(c))throw new Error(`${s}: unknown platform ${c}`);let l={};for(let c of qe){let u=on[c],f=_e[u].platform,h=Object.keys(_e).filter(w=>_e[w].platform===f&&a[w]),p=a[u]?u:h[0],g=c==="CONTROLLER_CONSOLE"?l.KEYBOARD:c==="CONTROLLER_MOBILE"?l.TOUCHSCREEN:null,b=o[c]??g??(p?a[p]:null);if(l[c]=b?Ft(b):Ea(r.kind),b||e.push(`${s}: ${c} \u65E0\u65E7\u5E03\u5C40\uFF0C\u5DF2\u4F7F\u7528\u63A7\u4EF6\u9ED8\u8BA4\u503C`),!o[c]&&!g&&p&&p!==u&&e.push(`${s}: \u7F3A\u5C11 ${u}\uFF0C\u5DF2\u91C7\u7528 ${p} \u7684\u951A\u70B9\u548C\u5C3A\u5BF8\u53C2\u6570`),!g)for(let w of h)JSON.stringify(l[c])!==JSON.stringify(Ft(a[w]))&&e.push(`${s}: ${w} \u4E0E ${c} \u5E03\u5C40\u51B2\u7A81\uFF0C\u4FDD\u7559${o[c]?"\u5DF2\u6709\u5E73\u53F0":p}\u53C2\u6570`)}li(l,`${s}.transformByPlatform`),r.transformByPlatform=l,delete r.transformByCanvas,n++}),i.layoutSchemaVersion=Ze,e.unshift(`\u5DF2\u81EA\u52A8\u8FC1\u79FB\u65E7\u5E03\u5C40\uFF1A${n} \u4E2A\u63A7\u4EF6\u8F6C\u6362\u4E3A\u56DB\u5E73\u53F0\u53C2\u6570\uFF1B\u518D\u6B21\u4FDD\u5B58\u5C06\u4F7F\u7528\u65B0\u7248\u683C\u5F0F`),i}function Bs(t){if(![1,2,3,4].includes(t))throw new Error(`\u4EC5\u652F\u6301 version=1\u20134 \u7684\u5B58\u6863\uFF0C\u6536\u5230 ${t}`)}function qs(t,e,i,n=t.canvasId){let r=ui(t.root,e);return!r||r.kind==="server-container"?Qe(n):i[r.id]||Qe(n)}function Ii(t,{warnings:e=[]}={}){if(!t)return Fi();if(t=vd(t,e),(t.root||t.layoutSchemaVersion!==void 0)&&t.layoutSchemaVersion!==Ze)throw new Error(`\u4EC5\u652F\u6301 layoutSchemaVersion=${Ze} \u7684\u56DB\u5E73\u53F0\u5E03\u5C40\uFF0C\u4E0D\u652F\u6301\u65E7\u753B\u5E03\u5E03\u5C40\u6216\u5176\u4ED6\u7248\u672C`);let i=t.meta?.assetType==="client-control-template"?"client-control-template":"server-control-template",n=i==="client-control-template"?fn():Fi(),r={layoutSchemaVersion:Ze,version:Number.isSafeInteger(t.version)&&t.version>0?t.version:1,meta:{name:String(t.meta?.name||n.meta.name),assetType:i,sourceFormat:String(t.meta?.sourceFormat||n.meta.sourceFormat),sourceFile:String(t.meta?.sourceFile||""),...t.meta?.gameVersion?{gameVersion:String(t.meta.gameVersion)}:{},...t.meta?.giaFilePath?{giaFilePath:String(t.meta.giaFilePath)}:{},...Number.isSafeInteger(Number(t.meta?.giaOwnerUid))?{giaOwnerUid:Number(t.meta.giaOwnerUid)}:{},...Number.isSafeInteger(Number(t.meta?.giaTimestamp))?{giaTimestamp:Number(t.meta.giaTimestamp)}:{},...Number.isSafeInteger(Number(t.meta?.giaFileId))?{giaFileId:Number(t.meta.giaFileId)}:{},...t.meta?.giaFileName?{giaFileName:String(t.meta.giaFileName)}:{},...Number.isSafeInteger(t.meta?.giaNextAssetIndex)&&t.meta.giaNextAssetIndex>=2?{giaNextAssetIndex:t.meta.giaNextAssetIndex}:{},...Number.isSafeInteger(t.meta?.giaAssetIndexSchemaVersion)&&t.meta.giaAssetIndexSchemaVersion>0?{giaAssetIndexSchemaVersion:t.meta.giaAssetIndexSchemaVersion}:{},...Number.isSafeInteger(Number(t.meta?.giaModeFlag))&&Number(t.meta.giaModeFlag)>=0?{giaModeFlag:Number(t.meta.giaModeFlag)}:{}},canvasId:t.canvasId&&_e[t.canvasId]?t.canvasId:zr,selectedId:t.selectedId||n.selectedId,root:ka(t.root||n.root)};return Id(r),Kt(r,{warnings:e}),r}function Id(t){let e=new Set;be(t.root,i=>{if(typeof i.id!="string"||!i.id)throw new Error("node id must be a non-empty string");if(e.has(i.id))throw new Error(`duplicate node id: ${i.id}`);e.add(i.id)}),e.has(t.selectedId)||(t.selectedId=_a(t.root).id)}function wd(t){return ci(un(t))}function Nm(t,e){let i=!1;return be(t,n=>{n.id===e&&(i=!0)}),i}function Pm(t,e,i,n){let o=di(t.root,t.canvasId).boxes[e.id],a=i.children.findIndex(f=>f.id===e.id);if(a<0)throw new Error("reparent: source node is not attached");if(i.children.splice(a,1),n.children.push(e),!o)return;let s=di(t.root,t.canvasId),l=n.kind==="server-container"?Qe(t.canvasId):s.boxes[n.id]||Qe(t.canvasId),c=fi(e.transformByPlatform,t.canvasId),u=Oi(l,c,{posX:o.centerX,posY:o.centerY,width:o.width,height:o.height});Tn(t,e,u)}function Mm(t,e){return t.meta.assetType!=="client-control-template"?$a(t.root,e):(t.root.children||[]).flatMap(i=>$a(i,e))}function _d(t,e){let i=Xc(t.root,e);if(t.meta.assetType!=="client-control-template")return i;let n=Xn(t),r=new Set;return n&&n.kind!=="server-container"&&be(n,o=>r.add(o.id)),i.filter(o=>r.has(o.id))}function js(t){let{canvas:e,boxes:i}=di(t.root,t.canvasId),n=lr(t,new Set,{preserveLegacy:!0}),r=Ue(t.root,t.selectedId),o=r?i[r.id]:null;return ie({layoutSchemaVersion:Ze,version:t.version,meta:{...t.meta},canvasId:t.canvasId,canvas:{id:t.canvasId,width:e.width,height:e.height,platform:_e[t.canvasId].platform,label:_e[t.canvasId].label,presets:Object.values(_e).map(a=>({id:a.id,label:a.label,width:a.width,height:a.height,platform:a.platform}))},selectedId:t.selectedId,asset:{type:t.meta.assetType,label:t.meta.assetType==="client-control-template"?"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F":"\u670D\u52A1\u7AEF\u63A7\u4EF6\u6A21\u677F",templateCount:t.meta.assetType==="client-control-template"?t.root.children.length:1,currentTemplateId:t.meta.assetType==="client-control-template"&&Xn(t)?.id||""},tree:Mm(t,n),boxes:_d(t,i),inspector:Wc(r,t.canvasId,o||e,n),root:t.root})}function Tn(t,e,i){let n=di(t.root,t.canvasId),r=qs(t,e.id,n.boxes),o={};if(e.syncAllDevices!==!1)for(let a of qe){if(a===Ni(t.canvasId))continue;let s=on[a],l=di(t.root,s,a);o[a]=qs(t,e.id,l.boxes,s)}e.transformByPlatform=Oc({transformByPlatform:e.transformByPlatform,source:i,canvasId:t.canvasId,syncAllDevices:e.syncAllDevices!==!1,sourceParentBox:r,targetParentBoxByPlatform:o})}var Fm=new Set(["name","active","visible","canControllerFocus","isolateNavigation","disableKeyEventPassthrough","disableCursorEventPassthrough","showCursor","fontSize","adaptiveFontSize","minimumFontSize","fontColor","bgColor","enableOutline","outlineColor","horizontalAlignment","verticalAlignment","text","imageSource","imageType","imageId","imageColor","enableMask","enableSoftEdge","softEdgeMode","softEdgeWidthX","softEdgeWidthY","horizontalSoftRange","verticalSoftRange","enableFill","fillType","fillHorizontalType","fillVerticalType","fillRadial90Type","fillRadialType","fillAmount","reverseMaskArea","raycastTarget","interactable","clickAudioId","unavailableChildId","hoverChildId","pressedChildId","selectedChildId","showScrollBar","cellSizeX","cellSizeY","spacingX","spacingY","padding1X","padding1Y","padding2X","padding2Y","previewCount","scrollDirection","layoutConstraint","referencedPrefabId","animationId","playSoundEffect","layer","keyboardKeyCode","controllerKeyCode","itemPrefabId","layoutConstraintFixedCount"]),Dm=new Set(["posX","posY","width","height"]),$m=new Set(["anchorMinX","anchorMinY","anchorMaxX","anchorMaxY","pivotX","pivotY"]);function zm(t){if(typeof t=="number"&&Number.isFinite(t))return t>>>0;if(typeof t=="string"){let e=t.trim();if(e.startsWith("#")){let n=e.slice(1);if(n.length===6)return(4278190080|parseInt(n,16))>>>0;if(n.length===8)return parseInt(n,16)>>>0}let i=Number(e);if(Number.isFinite(i))return i>>>0}throw new Error("color must be an ARGB integer or #RRGGBB/#AARRGGBB string")}function ri(t,e){let i=Number(t);if(!Number.isFinite(i))throw new Error(`${e} must be a finite number`);return i}function Sd(t){if(t===!0||t===1||t==="1"||t==="true")return!0;if(t===!1||t===0||t==="0"||t==="false")return!1;throw new Error("boolean field requires true or false")}var Lm=new Set(["fontSize","minimumFontSize","imageId","clickAudioId","softEdgeWidthX","softEdgeWidthY","horizontalSoftRange","verticalSoftRange","fillAmount","cellSizeX","cellSizeY","spacingX","spacingY","padding1X","padding1Y","padding2X","padding2Y","previewCount","keyboardKeyCode","controllerKeyCode","itemPrefabId","layoutConstraintFixedCount"]),Gm=new Set(["active","visible","canControllerFocus","isolateNavigation","disableKeyEventPassthrough","disableCursorEventPassthrough","showCursor","adaptiveFontSize","enableOutline","enableMask","enableSoftEdge","enableFill","reverseMaskArea","raycastTarget","interactable","showScrollBar","playSoundEffect"]),Bm=new Set(["name","imageSource","horizontalAlignment","verticalAlignment","text","softEdgeMode","fillType","fillHorizontalType","fillVerticalType","fillRadial90Type","fillRadialType","scrollDirection","layoutConstraint","referencedPrefabId","animationId"]),xd=new Set(["unavailableChildId","hoverChildId","pressedChildId","selectedChildId"]),Ed={layer:["AboveAllControls","BelowAllControls"],imageSource:["StaticReference","Prefab"],imageType:["Basic","Stretch",null],scrollDirection:["Horizontal","Vertical"],layoutConstraint:["AutoWrap","Fixed"],softEdgeMode:["Percentage","Pixel"],fillType:["Horizontal","Vertical","Radial90","Radial180","Radial360"],fillHorizontalType:["Left","Right"],fillVerticalType:["Bottom","Top"],fillRadial90Type:["BottomLeft","TopLeft","TopRight","BottomRight"],fillRadialType:["Bottom","Left","Top","Right"]};function Vm(t,e){if(!e||typeof e!="object")throw new Error("patch requires op");let i=e.op;if(i==="select")return e.id&&Ue(t.root,e.id)&&(t.selectedId=e.id),t;if(i==="pick"){let{boxes:n}=di(t.root,t.canvasId),r=_d(t,n),o=Kc(r,Number(e.x),Number(e.y));return o&&(t.selectedId=o),t}if(i==="setCanvas")return e.canvasId&&_e[e.canvasId]&&(t.canvasId=e.canvasId),t;if(i==="setScript")throw new Error("\u811A\u672C\u7531\u5B58\u6863\u7EDF\u4E00\u7BA1\u7406\uFF0C\u8BF7\u4F7F\u7528 addScript / updateScript / removeScript \u64CD\u4F5C");if(i==="newAsset"){let n=e.assetType==="client-control-template"?fn():Fi();return t.version=n.version,t.meta=n.meta,t.canvasId=n.canvasId,t.selectedId=n.selectedId,t.root=n.root,t}if(i==="addTemplate"){if(t.meta.assetType!=="client-control-template")throw new Error("\u53EA\u6709\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5DE5\u7A0B\u53EF\u4EE5\u65B0\u589E\u6A21\u677F");let n=Ee(e.kind,{id:Ia(t.root),guid:wd(t.root),name:e.name||`\u65B0${e.kind==="container"?"\u5BB9\u5668\u8282\u70B9":e.kind}\u6A21\u677F`});return t.root.children.push(n),t.selectedId=n.id,t}if(i==="add"){let n=Ue(t.root,e.parentId||t.selectedId);if(!n)throw new Error("add: parent not found");let r=Ac(n,e.kind,{id:Ia(t.root),guid:wd(t.root),name:e.name});return t.selectedId=r.id,t}if(i==="reparent"){if(t.meta.assetType!=="client-control-template")throw new Error("\u5C42\u7EA7\u8C03\u6574\u4EC5\u9002\u7528\u4E8E\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5DE5\u7A0B");let n=Ue(t.root,e.id||t.selectedId),r=n?ui(t.root,n.id):null,o=Ue(t.root,e.parentId);if(!n||n.kind==="server-container"||!r)throw new Error("reparent: node not found");if(!o)throw new Error("reparent: parent not found");if(o.id===n.id||Nm(n,o.id))throw new Error("\u63A7\u4EF6\u4E0D\u80FD\u79FB\u52A8\u5230\u81EA\u8EAB\u6216\u5176\u540E\u4EE3\u4E0B\u9762");if(o.kind==="server-container"&&r.kind==="server-container")return t;if(r.kind==="server-container"&&o.kind!=="server-container"&&t.root.children.length<=1)throw new Error("\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868\u81F3\u5C11\u4FDD\u7559\u4E00\u4E2A\u9876\u5C42\u6A21\u677F");return Pm(t,n,r,o),t.selectedId=n.id,t}if(i==="moveSibling"){let n=Ue(t.root,e.id||t.selectedId),r=n?ui(t.root,n.id):null;if(!n||!r)throw new Error("moveSibling: node not found");let o=r.children.findIndex(l=>l.id===n.id),a=e.direction==="up"?-1:e.direction==="down"?1:0,s=o+a;return!a||s<0||s>=r.children.length||(r.children.splice(o,1),r.children.splice(s,0,n),t.selectedId=n.id),t}if(i==="remove"){let n=e.id||t.selectedId,r=ui(t.root,n);if(r?.kind==="server-container"){if(t.meta.assetType!=="client-control-template")throw new Error("\u670D\u52A1\u7AEF\u63A7\u4EF6\u6A21\u677F\u7684\u5BA2\u6237\u7AEF\u6839\u8282\u70B9\u4E0D\u80FD\u5220\u9664");if((t.root.children||[]).length<=1)throw new Error("\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5217\u8868\u81F3\u5C11\u4FDD\u7559\u4E00\u4E2A\u6A21\u677F")}return Tc(t.root,n)&&(be(t.root,o=>{if(o.kind==="button")for(let a of xd)o[a]&&!Ue(t.root,o[a])&&(o[a]=null)}),t.selectedId=r?r.id:t.root.id),t}if(i==="set"){let n=Ue(t.root,e.id||t.selectedId);if(!n)throw new Error("set: node not found");let r=e.key;r==="reverseMask"&&(r="reverseMaskArea");let o=e.value;if(n.kind==="reference"&&["referencedPrefabId","giaRaw.templateRefSlot"].includes(r)&&(n.giaRaw.templateRefSlotBase64||n.giaRaw.templateRefOuterBase64))throw new Error("\u8BE5\u6A21\u677F\u5F15\u7528\u542B\u5C1A\u672A\u89E3\u6790\u7684\u539F\u59CB\u914D\u7F6E\uFF0C\u6682\u4E0D\u80FD\u6539\u5199\u76EE\u6807\u7D22\u5F15\uFF1B\u8BF7\u5728\u5B98\u65B9\u7F16\u8F91\u5668\u4FEE\u6539\u540E\u91CD\u65B0\u5BFC\u5165");if(r.startsWith("giaRaw.")){let c=r.slice(7);if(!c||c.includes("."))throw new Error("invalid raw GIA field path");let u=_c(n.kind,c);if(!u)throw new Error(`unknown raw GIA field for ${n.kind}: ${c}`);if(n.giaRaw||={},n.giaRaw[c]=ya(u,o),c==="footerField505"&&[0,1].includes(n.giaRaw[c])&&(n.canControllerFocus=n.giaRaw[c]===1),n.kind==="cursor"&&c==="cursorField501"&&[0,1].includes(n.giaRaw[c])&&(n.raycastTarget=n.giaRaw[c]===1),(n.kind==="textbox"||n.kind==="textwindow")&&c==="textAlign"){let f={0:"Left",1:"Middle",2:"Right"}[n.giaRaw[c]];f&&(n.horizontalAlignment=f)}if(n.kind==="image"&&c==="imageFillType"){let f={1:"Horizontal",2:"Vertical",3:"Radial90",4:"Radial180",5:"Radial360"}[n.giaRaw[c]];f&&(n.fillType=f)}return n.kind==="keyhint"&&c==="keyHintField502"&&(n.keyboardKeyCode=n.giaRaw[c]),n.kind==="keyhint"&&c==="keyHintField501"&&(n.controllerKeyCode=n.giaRaw[c]),t}if(r==="syncAllDevices"){if(n.syncAllDevices=Sd(o),n.syncAllDevices){let c=fi(n.transformByPlatform,t.canvasId);Tn(t,n,c)}return t}if(Fm.has(r)){if(r==="layer"&&n.kind!=="animation")throw new Error("layer is only available on UI animations");if(r==="playSoundEffect"&&!["animation","fullscreen"].includes(n.kind))throw new Error("playSoundEffect requires an animation control");if(r.endsWith("Color")&&(o=zm(o)),Lm.has(r)){if(o=ri(o,r),o<0)throw new Error(`${r} must not be negative`);if((r==="imageId"||r==="clickAudioId"||r==="keyboardKeyCode"||r==="controllerKeyCode")&&(o=Math.trunc(o)),r==="fillAmount"&&o>1)throw new Error("fillAmount must be between 0 and 1")}if(Gm.has(r)&&(o=Sd(o)),Bm.has(r)&&(o=String(o??"")),r==="horizontalAlignment"&&!["Left","Middle","Right"].includes(o))throw new Error("invalid horizontalAlignment");if(r==="verticalAlignment"&&!["Top","Middle","Bottom"].includes(o))throw new Error("invalid verticalAlignment");if(Ed[r]&&!Ed[r].includes(o))throw new Error(`invalid ${r}`);if(xd.has(r))if(o===""||o===void 0||o===null)o=null;else{o=String(o);let c=Ue(t.root,o);if(!c||c===n||c.kind==="server-container"||!(n.children||[]).some(u=>u.id===o))throw new Error(`${r} must reference a direct child of this button`)}if(n.kind==="image"&&(r==="imageSource"||r==="imageId")&&n[r]!==o&&(n.imageType=null,n.giaRaw.imageSlotType=0),n[r]=o,n.kind==="image"&&r==="imageType"&&(n.giaRaw.imageSlotType=o==="Stretch"?1:0),r==="canControllerFocus"&&(n.giaRaw.footerField505=o?1:0),n.kind==="cursor"&&r==="raycastTarget"&&(n.giaRaw.cursorField501=o?1:0),(n.kind==="textbox"||n.kind==="textwindow")&&r==="horizontalAlignment"&&(n.giaRaw.textAlign={Left:0,Middle:1,Right:2}[o]),(n.kind==="textbox"||n.kind==="textwindow")&&r==="verticalAlignment"&&delete n.giaRaw.textVerticalAlign,n.kind==="image"&&r==="fillType"){let c={Horizontal:1,Vertical:2,Radial90:3,Radial180:4,Radial360:5}[o];c&&(n.giaRaw.imageFillType=c)}return n.kind==="reference"&&r==="referencedPrefabId"&&(n.giaRaw.templateRefSlot=o),n.kind==="grid"&&r==="previewCount"&&(n.giaRaw.gridField511=Math.trunc(o)),n.kind==="keyhint"&&r==="keyboardKeyCode"&&(n.giaRaw.keyHintField502=Math.trunc(o)),n.kind==="keyhint"&&r==="controllerKeyCode"&&(n.giaRaw.keyHintField501=Math.trunc(o)),(n.kind==="animation"||n.kind==="fullscreen")&&r==="animationId"&&(n.giaRaw[n.kind==="animation"?"effectSlot":"fullscreenEffectSlot"]=o),t}let{boxes:a}=di(t.root,t.canvasId),s=qs(t,n.id,a),l=fi(n.transformByPlatform,t.canvasId);if(r==="anchorType"){let c=Vs(a[n.id]),u=wc(l,o);return u=Oi(s,u,c),Tn(t,n,u),t}if(["rotationX","rotationY","rotationZ"].includes(r)){let c={...l,rotation:{...l.rotation,[r.slice(-1).toLowerCase()]:ri(o,r)}};return Tn(t,n,c),t}if($m.has(r)){let c=Vs(a[n.id]),u={...l,anchorMin:{...l.anchorMin},anchorMax:{...l.anchorMax},pivot:{...l.pivot}};return r==="anchorMinX"&&(u.anchorMin.x=ri(o,r)),r==="anchorMinY"&&(u.anchorMin.y=ri(o,r)),r==="anchorMaxX"&&(u.anchorMax.x=ri(o,r)),r==="anchorMaxY"&&(u.anchorMax.y=ri(o,r)),r==="pivotX"&&(u.pivot.x=ri(o,r)),r==="pivotY"&&(u.pivot.y=ri(o,r)),Tn(t,n,Oi(s,u,c)),t}if(Dm.has(r)){let c=Vs(a[n.id]),u=ri(o,r);if((r==="width"||r==="height")&&u<0)throw new Error(`${r} must not be negative`);return c[r]=u,Tn(t,n,Oi(s,l,c)),t}throw new Error(`set: unknown key ${r}`)}if(i==="replace"){let n=Ii(e.project);return t.version=n.version,t.meta=n.meta,t.canvasId=n.canvasId,t.selectedId=n.selectedId,t.root=n.root,t}throw new Error(`unknown op ${i}`)}function Hs(t,e){if(!e||typeof e!="object")throw new Error("patch requires op");if(e.expectedRevision!==void 0&&Number(e.expectedRevision)!==t.version)throw new Error(`revision conflict: expected ${e.expectedRevision}, current ${t.version}`);let i=t.version,n=JSON.parse(JSON.stringify(t));return Vm(n,e),Id(n),Kt(n),n.version=i+1,Object.keys(t).forEach(r=>{delete t[r]}),Object.assign(t,n),t}function Vs(t){return t?{posX:t.centerX,posY:t.centerY,width:t.width,height:t.height}:{posX:0,posY:0,width:0,height:0}}import qm from"fengari";var{lua:m,lauxlib:Ce,lualib:kd,to_luastring:Ro,to_jsstring:jm}=qm,Hm=m.LUA_TNIL,Um=m.LUA_TBOOLEAN,Ym=m.LUA_TNUMBER,Xm=m.LUA_TSTRING,Cd=m.LUA_TTABLE,Wm=m.LUA_TFUNCTION,Us=m.LUA_TUSERDATA,Ot=m.LUA_OK,Ad=new WeakMap,Ys=Symbol("luaTableEntries"),Xs={__scriptHostKey:!0};function V(t){return Ro(String(t))}function Ui(t,e){Ad.set(t,e)}function ft(t){return Ad.get(t)}var cr=class{constructor(e){this.value=e}};function Ge(t,e,i){if(i instanceof cr){m.lua_pushnumber(t,i.value);return}if(i==null){m.lua_pushnil(t);return}let n=typeof i;if(n==="boolean"){m.lua_pushboolean(t,i);return}if(n==="number"){Number.isInteger(i)&&Math.abs(i)<=2147483647?m.lua_pushinteger(t,i):m.lua_pushnumber(t,i);return}if(n==="string"){m.lua_pushstring(t,V(i));return}if(n==="function"){Zm(t,e,i);return}if(i&&i[Ys]){let r=i[Ys];m.lua_createtable(t,Array.isArray(i)?i.length:0,r.length);for(let[o,a]of r)Ge(t,e,o),Ge(t,e,a),m.lua_settable(t,-3);return}if(Array.isArray(i)){m.lua_createtable(t,i.length,0);for(let r=0;r<i.length;r++)Ge(t,e,i[r]),m.lua_rawseti(t,-2,r+1);return}if(i&&i.__kind==="EnumItem"){e.pushEnumItem(t,i);return}if(i&&i.__kind==="CursorEventData"){e.pushCursor(t,i);return}if(i&&i.__kind==="Script"){e.pushScript(t,i);return}if(i&&i.typeofName){e.pushControl(t,i);return}if(i&&i.__kind==="ServerSignal"){e.pushSignal(t,i);return}if(i&&(i.SetEase||i.Append)){e.pushTween(t,i);return}if(n==="object"){m.lua_createtable(t,0,Object.keys(i).length);for(let[r,o]of Object.entries(i))Ge(t,e,o),m.lua_setfield(t,-2,V(r));return}m.lua_pushnil(t)}function Te(t,e){if(m.lua_isnil(t,e)||m.lua_type(t,e)===m.LUA_TNONE)return"";if(!m.lua_isstring(t,e)&&m.lua_type(t,e)!==m.LUA_TNUMBER)return`lua_type=${m.lua_type(t,e)}`;let i=m.lua_tostring(t,e);return i==null?"":jm(i)}function oi(t,e){e=m.lua_absindex(t,e);let i=m.lua_type(t,e);if(i===Us)return ft(m.lua_touserdata(t,e));if(i===Cd){m.lua_pushlightuserdata(t,Xs),m.lua_rawget(t,e);let n=m.lua_type(t,-1)===Us?m.lua_touserdata(t,-1):null;return m.lua_pop(t,1),n?ft(n):null}return null}function Ke(t,e,i){i=m.lua_absindex(t,i);let n=m.lua_type(t,i);if(n===Hm)return null;if(n===Um)return!!m.lua_toboolean(t,i);if(n===Ym)return m.lua_isinteger(t,i)?m.lua_tointeger(t,i):m.lua_tonumber(t,i);if(n===Xm)return Te(t,i);if(n===Us){let r=m.lua_touserdata(t,i);return ft(r)??r}if(n===Wm)return Km(t,e,i);if(n===Cd){let r=oi(t,i);if(r)return r;let o=[];for(m.lua_pushnil(t);m.lua_next(t,i)!==0;){let c=Ke(t,e,-2),u=Ke(t,e,-1);o.push([c,u]),m.lua_pop(t,1)}let a=new Map(o.filter(([c])=>Number.isInteger(c)&&c>=1)),s=0;for(;a.has(s+1);)s+=1;let l=s>0?[]:{};for(let[c,u]of o)Array.isArray(l)&&Number.isInteger(c)&&c>=1?l[c-1]=u:(typeof c=="string"||typeof c=="number")&&(l[c]=u);return Object.defineProperty(l,Ys,{value:o}),l}return null}function Km(t,e,i){e.luaFunctions||(e.luaFunctions=new Map);let n=typeof m.lua_topointer=="function"?m.lua_topointer(t,i):null;if(n!=null&&e.luaFunctions.has(n))return e.luaFunctions.get(n);m.lua_pushvalue(t,i);let r=Ce.luaL_ref(t,m.LUA_REGISTRYINDEX),o=Jm(t,e,r);return n!=null&&e.luaFunctions.set(n,o),o}function Jm(t,e,i){let n=(...r)=>{if(n.__luaRef==null)throw new Error("attempt to call a released Lua callback");let o=m.lua_gettop(t);m.lua_rawgeti(t,m.LUA_REGISTRYINDEX,n.__luaRef);for(let c of r)Ge(t,e,c);if(m.lua_pcall(t,r.length,m.LUA_MULTRET,0)!==Ot){let c=Te(t,-1);throw m.lua_settop(t,o),new Error(c)}let s=m.lua_gettop(t)-o,l=[];for(let c=1;c<=s;c++)l.push(Ke(t,e,o+c));if(m.lua_settop(t,o),l.length!==0)return l.length===1?l[0]:l};return n.__luaRef=i,n.__luaState=t,n}function Td(t){t?.__luaRef!=null&&(t.__luaHolds=(t.__luaHolds||0)+1)}function Rd(t,e){if(!e||e.__luaRef==null||!e.__luaState)return;if(e.__luaHolds>1){e.__luaHolds-=1;return}let i=e.__luaState;if((!t?.luaStates||t.luaStates.has(i))&&Ce.luaL_unref(i,m.LUA_REGISTRYINDEX,e.__luaRef),e.__luaRef=null,e.__luaState=null,t?.luaFunctions)for(let[n,r]of t.luaFunctions)r===e&&t.luaFunctions.delete(n)}function Zm(t,e,i){m.lua_pushlightuserdata(t,i),m.lua_pushlightuserdata(t,e),m.lua_pushcclosure(t,function(r){let o=m.lua_touserdata(r,m.lua_upvalueindex(1)),a=m.lua_touserdata(r,m.lua_upvalueindex(2)),s=m.lua_gettop(r),l=[];for(let c=1;c<=s;c++)l.push(Ke(r,a,c));try{let c=o(...l);if(Array.isArray(c)&&c.__multi){for(let u of c)Ge(r,a,u);return c.length}return c===void 0?0:(Ge(r,a,c),1)}catch(c){return m.lua_pushstring(r,V(String(c&&c.message?c.message:c))),m.lua_error(r)}},2)}function Od(t){!t||typeof m.lua_close!="function"||m.lua_close(t)}function Nd(t){if(Ce.luaL_loadstring(t,V(["local nativeGetMetatable = getmetatable","getmetatable = function(value)",' if type(value) == "string" then return nil end'," return nativeGetMetatable(value)","end"].join(`
|
|
123
|
+
`)))===Ot&&m.lua_pcall(t,0,0,0),m.lua_settop(t,0),m.lua_pushnil(t),m.lua_setglobal(t,V("_VERSION")),m.lua_getglobal(t,V("string")),!m.lua_isnil(t,-1))for(let i of["dump","pack","unpack"])m.lua_pushnil(t),m.lua_setfield(t,-2,V(i));if(m.lua_pop(t,1),m.lua_pushnil(t),m.lua_setglobal(t,V("io")),m.lua_getglobal(t,V("os")),!m.lua_isnil(t,-1))for(let i of Object.keys({execute:1,getenv:1,remove:1,rename:1,tmpname:1,setlocale:1,exit:1}))m.lua_pushnil(t),m.lua_setfield(t,-2,V(i));m.lua_pop(t,1),m.lua_getglobal(t,V("debug")),m.lua_isnil(t,-1)?m.lua_pop(t,1):(m.lua_getfield(t,-1,V("traceback")),m.lua_newtable(t),m.lua_pushvalue(t,-2),m.lua_setfield(t,-2,V("traceback")),m.lua_setglobal(t,V("debug")),m.lua_pop(t,2)),m.lua_getglobal(t,V("math")),m.lua_isnil(t,-1)||(m.lua_pushcfunction(t,i=>{let n=m.lua_tonumber(i,1);return m.lua_pushboolean(i,Number.isNaN(n)),1}),m.lua_setfield(t,-2,V("isnan")),m.lua_pushcfunction(t,i=>{let n=m.lua_tonumber(i,1);return m.lua_pushboolean(i,n===1/0||n===-1/0),1}),m.lua_setfield(t,-2,V("isinf"))),m.lua_pop(t,1),m.lua_pushnil(t),m.lua_setglobal(t,V("package")),m.lua_pushnil(t),m.lua_setglobal(t,V("load")),m.lua_pushnil(t),m.lua_setglobal(t,V("loadfile")),m.lua_pushnil(t),m.lua_setglobal(t,V("dofile")),m.lua_pushnil(t),m.lua_setglobal(t,V("collectgarbage")),m.lua_pushnil(t),m.lua_setglobal(t,V("coroutine")),m.lua_pushnil(t),m.lua_setglobal(t,V("fengari"))}var vt=(t,e=0)=>Number.isFinite(Number(t))?Number(t):e,Pd=t=>t?.Name||t,Oo=t=>Math.max(0,Math.min(1,vt(t)));function ur(t){let e=t.parent?ur(t.parent):[t.runtime.canvasWidth,t.runtime.canvasHeight];return[Math.max(0,(t.anchorMaxX-t.anchorMinX)*e[0]+vt(t.sizeDeltaX)),Math.max(0,(t.anchorMaxY-t.anchorMinY)*e[1]+vt(t.sizeDeltaY))]}function fr(t){let[e,i]=ur(t),n=Pd(t.scrollDirection)==="Horizontal",r=Math.max(1,vt(t.cellSizeX,50)),o=Math.max(1,vt(t.cellSizeY,50)),a=Math.max(0,vt(t.spacingX)),s=Math.max(0,vt(t.spacingY)),l=Math.max(0,vt(t.padding1X)),c=Math.max(0,vt(t.padding1Y)),u=Math.max(0,vt(t.padding2X)),f=Math.max(0,vt(t.padding2Y)),h=n?i-c-f:e-l-u,p=n?o:r,g=n?s:a,b=Pd(t.layoutConstraint)==="Fixed"?Math.max(1,Math.floor(vt(t.layoutConstraintFixedCount,1))):Math.max(1,Math.floor((h+g)/(p+g))),w=Math.ceil(t.itemCount/b),S=w?n?l+u+w*r+(w-1)*a:c+f+w*o+(w-1)*s:0,x=n?e:i,F=Math.max(0,S-x);return{width:e,height:i,horizontal:n,cellW:r,cellH:o,gapX:a,gapY:s,left:l,top:c,right:u,bottom:f,lanes:b,length:S,viewport:x,max:F,offset:Oo(t.scrollProgress)*F}}function Rn(t){let e=fr(t);for(let i=0;i<(t._gridItems?.length||0);i+=1){let n=t._gridItems[i];if(!n.alive||n.parent!==t)continue;let r=Math.floor(i/e.lanes),o=i%e.lanes,a=e.horizontal?r:o,s=e.horizontal?o:r,l=e.left+a*(e.cellW+e.gapX)+e.cellW/2-(e.horizontal?e.offset:0),c=-e.top-s*(e.cellH+e.gapY)-e.cellH/2+(e.horizontal?0:e.offset),u={anchorMinX:0,anchorMaxX:0,anchorMinY:1,anchorMaxY:1,pivotX:.5,pivotY:.5,sizeDeltaX:e.cellW,sizeDeltaY:e.cellH,anchoredPositionX:l,anchoredPositionY:c};Object.entries(u).some(([f,h])=>n[f]!==h)&&(Object.assign(n,u),n.markPlayDirty(!0))}return e}var Md={container:"ClientUIContainerControl",textbox:"ClientUITextBoxControl",textwindow:"ClientUITextWindowControl",image:"ClientUIImageControl",button:"ClientUIPresetButtonControl",cursor:"ClientUICursorEventAreaControl",grid:"ClientUIGridScrollerControl",keyhint:"ClientUIKeyHintControl",animation:"ClientUIAnimationControl",fullscreen:"ClientUIFullscreenAnimationControl",reference:"ClientUIReferenceControl"},Qm=["alive","id","Id","prefabIndex","active","activeInHierarchy","visible"],No=new Set(["active","visible","parent","sizeDeltaX","sizeDeltaY","anchorMinX","anchorMinY","anchorMaxX","anchorMaxY","pivotX","pivotY"]),eg=["name","parent","anchoredPositionX","anchoredPositionY","sizeDeltaX","sizeDeltaY","anchorMinX","anchorMinY","anchorMaxX","anchorMaxY","pivotX","pivotY","localScaleX","localScaleY","localScaleZ","localRotationX","localRotationY","localRotationZ","canControllerFocus"],tg={image:["imageSource","imageId"],grid:["itemCount","scrollDirection","layoutConstraint","layoutConstraintFixedCount"],reference:["referencedPrefabIndex"]},ig={container:["isolateNavigation","disableKeyEventPassthrough","disableCursorEventPassthrough","showCursor"],textbox:["text","fontSize","fontColor","bgColor","enableOutline","outlineColor","horizontalAlignment","verticalAlignment","adaptiveFontSize","minimumFontSize"],textwindow:["interactable","showScrollBar","text","fontSize","fontColor","bgColor","enableOutline","outlineColor","horizontalAlignment","verticalAlignment","adaptiveFontSize","minimumFontSize"],image:["imageColor","enableMask","enableSoftEdge","softEdgeMode","softEdgeWidthX","softEdgeWidthY","horizontalSoftRange","verticalSoftRange","reverseMaskArea","fillType","fillHorizontalType","fillVerticalType","fillRadial90Type","fillRadialType","fillAmount"],button:["interactable","clickAudioId","raycastTarget"],cursor:["raycastTarget"],grid:["itemPrefabIndex","raycastTarget","showScrollBar","interactable","scrollProgress"],keyhint:["keyboardKeyCode","controllerKeyCode"],animation:["animationId","playSoundEffect","layer"],fullscreen:["animationId","playSoundEffect"]},ng=["GetChildren","GetChild","FindChild","SetActive","SetVisible","GetSiblingIndex","SetSiblingIndex","SetAsFirstSibling","SetAsLastSibling","GetAnchoredPosition","SetAnchoredPosition","GetSizeDelta","SetSizeDelta","GetAnchorMin","SetAnchorMin","GetAnchorMax","SetAnchorMax","GetPivot","SetPivot","GetLocalScale","SetLocalScale","GetLocalRotation","SetLocalRotation","GetScriptByPath","GetScript","GetScripts","AddKeyEventListener","RemoveKeyEventListener","RemoveKeyEventListeners","RemoveAllKeyEventListeners","AddNavigationEventListener","RemoveNavigationEventListener","RemoveNavigationEventListeners","RemoveAllNavigationEventListeners","SetControllerNavigation","GetControllerNavigation"],Fd=["AddCursorEventListener","RemoveCursorEventListener","RemoveCursorEventListeners","RemoveAllCursorEventListeners","SimulateCursorClick"],rg={image:["SetImage","SetSoftEdgeWidth","SetFillUnused","SetFillHorizontal","SetFillVertical","SetFillRadial90","SetFillRadial180","SetFillRadial360"],button:Fd,cursor:Fd,animation:["PlayAnimation","StopAnimation"],grid:["RefreshItems","GetItemIndex","GetItemSize","GetItemSpacing","GetPadding","ScrollToItemAt","GetContentLength"]};function Ks(t,e){return t.kind==="image"&&e==="imageType"&&t.runtime.canSelectImageType(t.imageId,t.imageSource)?"rw":Qm.includes(e)||(tg[t.kind]||[]).includes(e)?"ro":eg.includes(e)||(ig[t.kind]||[]).includes(e)?"rw":null}var og=["localRotationX","localRotationY","localRotationZ"],On=Math.PI/180;function Dd(t,e){return[t[3]*e[0]+t[0]*e[3]+t[1]*e[2]-t[2]*e[1],t[3]*e[1]-t[0]*e[2]+t[1]*e[3]+t[2]*e[0],t[3]*e[2]+t[0]*e[1]-t[1]*e[0]+t[2]*e[3],t[3]*e[3]-t[0]*e[0]-t[1]*e[1]-t[2]*e[2]]}function Ws(t){if(Object.is(t,-0))return t;let e=(t%360+360)%360,i=Math.round(e*1e6)/1e6;return i>=360?0:i}function $d(t,e,i){let n=x=>[Math.sin(x*On/2),Math.cos(x*On/2)],[r,o]=n(t),[a,s]=n(e),[l,c]=n(i),[u,f,h,p]=Dd(Dd([0,a,0,s],[r,0,0,o]),[0,0,l,c]),g=Math.max(-1,Math.min(1,-2*(f*h-p*u))),b,w,S;return Math.abs(g)>.999999?(b=Math.sign(g)*90,w=2*Math.atan2(f,p)/On,S=0):(b=Math.asin(g)/On,w=Math.atan2(2*(p*f+u*h),1-2*(u*u+f*f))/On,S=Math.atan2(2*(p*h+u*f),1-2*(u*u+h*h))/On),[Ws(b),Ws(w),Ws(S)]}function zd(t,e){return ng.includes(e)||(rg[t.kind]||[]).includes(e)}var ag={container:{isolateNavigation:!1,disableKeyEventPassthrough:!1,disableCursorEventPassthrough:!1,showCursor:!1},textbox:{text:"",fontSize:20,fontColor:4294967295,bgColor:0,enableOutline:!1,outlineColor:0,horizontalAlignment:null,verticalAlignment:null,adaptiveFontSize:!1,minimumFontSize:10},textwindow:{interactable:!0,showScrollBar:!0,text:"",fontSize:20,fontColor:4294967295,bgColor:0,enableOutline:!1,outlineColor:0,horizontalAlignment:null,verticalAlignment:null,adaptiveFontSize:!1,minimumFontSize:10},image:{imageSource:null,imageId:0,imageColor:4294967295,imageType:null,enableMask:!1,enableSoftEdge:!1,softEdgeMode:"Percentage",softEdgeWidthX:8,softEdgeWidthY:8,horizontalSoftRange:85,verticalSoftRange:85,enableFill:!1,fillType:"Unused",fillHorizontalType:"Left",fillVerticalType:"Bottom",fillRadial90Type:"BottomLeft",fillRadialType:"Bottom",reverseMaskArea:!1,fillAmount:1},button:{interactable:!0,clickAudioId:0,raycastTarget:!0,unavailableChildId:null,hoverChildId:null,pressedChildId:null,selectedChildId:null,pressed:!1},cursor:{raycastTarget:!0},grid:{itemCount:0,itemPrefabIndex:null,raycastTarget:!0,interactable:!0,showScrollBar:!0,scrollDirection:"Vertical",layoutConstraint:"AutoWrap",layoutConstraintFixedCount:null,scrollProgress:0,cellSizeX:50,cellSizeY:50,spacingX:8,spacingY:8,padding1X:20,padding1Y:20,padding2X:20,padding2Y:20,previewCount:5},keyhint:{keyboardKeyCode:null,controllerKeyCode:null},animation:{animationId:null,playSoundEffect:null,layer:null,raycastTarget:!1},fullscreen:{animationId:null,playSoundEffect:null,raycastTarget:!1},reference:{referencedPrefabIndex:null}},_i=class t{constructor(e,i){this.runtime=e,this.kind=i.kind||"container",this.typeofName=Md[this.kind]||Md.container,this.alive=!0,this.Id=i.Id??e.nextControlId(),this.authoringId=i.authoringId??null,this.prefabIndex=i.prefabIndex??0,this.name=i.name??"",this.active=i.active===!0,this.visible=i.visible!==!1,this._parent=null,this.children=[],this.scripts=[],this.cursorListeners=new Map,this.keyListeners=new Map,this.navListeners=new Map,this.navConfig=new Map,this.anchoredPositionX=i.anchoredPositionX??0,this.anchoredPositionY=i.anchoredPositionY??0,this.sizeDeltaX=i.sizeDeltaX??0,this.sizeDeltaY=i.sizeDeltaY??0,this.anchorMinX=i.anchorMinX??.5,this.anchorMinY=i.anchorMinY??.5,this.anchorMaxX=i.anchorMaxX??.5,this.anchorMaxY=i.anchorMaxY??.5,this.pivotX=i.pivotX??.5,this.pivotY=i.pivotY??.5,this.localScaleX=i.localScaleX??1,this.localScaleY=i.localScaleY??1,this.localScaleZ=i.localScaleZ??1,this.localRotationX=i.localRotationX??0,this.localRotationY=i.localRotationY??0,this.localRotationZ=i.localRotationZ??0,this.canControllerFocus=i.canControllerFocus??!1,this._playDirty=!0,this._playDeepDirty=!0,this._playChildDirty=!1,(this.kind==="grid"||this.kind==="textwindow")&&(this.runtime.scrollControls||=new Set,this.runtime.scrollControls.add(this));let n=ag[this.kind]||{};for(let[r,o]of Object.entries(n))this[r]===void 0&&(this[r]=i[r]!==void 0?i[r]:o);if((this.kind==="animation"||this.kind==="fullscreen")&&(this.runtime.uiAnimations||=new Set,this.runtime.uiAnimations.add(this),this.PlayAnimation()),this.kind==="grid"&&(this.scrollProgress=i.scrollProgress??0),i.children)for(let r of i.children){let o=r instanceof t?r:new t(e,r);this.addChild(o)}}get parent(){return this._parent}set parent(e){if(this._parent===e)return;if(e!==null&&!(e instanceof t))throw new Error("parent must be a Control or nil");if(e&&e.runtime!==this.runtime)throw new Error("parent must belong to the same runtime");if(e===this)throw new Error("cannot parent a control to itself or its descendant");for(let n=e;n;n=n._parent)if(n===this)throw new Error("cannot parent a control to itself or its descendant");let i=this._parent;if(i){let n=i.children.indexOf(this);n>=0&&i.children.splice(n,1),i.markPlayDirty(!0)}else{let n=this.runtime.roots.indexOf(this);n>=0&&this.runtime.roots.splice(n,1)}this._parent=e,this.markPlayDirty(!0),e&&!e.children.includes(this)?(e.children.push(this),e.markPlayDirty(!0)):!e&&this.alive&&!this.runtime.roots.includes(this)&&this.runtime.roots.push(this)}markPlayDirty(e=!1){this._playDirty=!0,e&&(this._playDeepDirty=!0);for(let i=this._parent;i&&!i._playChildDirty;i=i._parent)i._playChildDirty=!0}get activeInHierarchy(){return this.active?this._parent?this._parent.activeInHierarchy:!0:!1}get scrollProgress(){return this._scrollProgress??0}set scrollProgress(e){if(typeof e!="number"||!Number.isFinite(e))throw new Error("scrollProgress must be a finite number");this._scrollProgress=Oo(e),this.markPlayDirty()}addChild(e){return e.parent=this,e}GetChildren(){return this.children.slice()}GetChild(e){return this.children.find(i=>i.name===e)||null}FindChild(e){if(!e)return null;if(!e.includes("/"))return this.GetChild(e);let i=e.split("/").filter(Boolean),n=this;for(let r of i)if(n=n.GetChild(r),!n)return null;return n}SetActive(e){let i=!!e;if(this.active!==i){if(typeof this.runtime?.onControlActiveChanging=="function"){this.runtime.onControlActiveChanging(this,i);return}this.active=i,this.markPlayDirty(!0)}}SetVisible(e){this.visible=!!e,this.markPlayDirty(!0)}GetSiblingIndex(){if(!this._parent)return-1;let e=this._parent.children,i=e.indexOf(this);return i<0?-1:e.length-1-i}SetSiblingIndex(e){if(!this._parent)return!1;let i=this._parent.children,n=i.indexOf(this);if(n<0)return!1;let r=i.length-1;return!Number.isInteger(e)||e<0||e>r?!1:(i.splice(n,1),i.splice(r-e,0,this),this._parent.markPlayDirty(!0),this.markPlayDirty(),!0)}SetAsFirstSibling(){return this.SetSiblingIndex(0)}SetAsLastSibling(){return this._parent?this.SetSiblingIndex(this._parent.children.length-1):!1}GetAnchoredPosition(){return[this.anchoredPositionX,this.anchoredPositionY]}SetAnchoredPosition(e,i){this.anchoredPositionX=e,this.anchoredPositionY=i,this.markPlayDirty()}GetSizeDelta(){return[this.sizeDeltaX,this.sizeDeltaY]}SetSizeDelta(e,i){this.sizeDeltaX=e,this.sizeDeltaY=i,this.markPlayDirty(!0)}GetAnchorMin(){return[this.anchorMinX,this.anchorMinY]}SetAnchorMin(e,i){this.anchorMinX=e,this.anchorMinY=i,this.markPlayDirty(!0)}GetAnchorMax(){return[this.anchorMaxX,this.anchorMaxY]}SetAnchorMax(e,i){this.anchorMaxX=e,this.anchorMaxY=i,this.markPlayDirty(!0)}GetPivot(){return[this.pivotX,this.pivotY]}SetPivot(e,i){this.pivotX=e,this.pivotY=i,this.markPlayDirty(!0)}GetLocalScale(){return[this.localScaleX,this.localScaleY,this.localScaleZ]}SetLocalScale(e,i,n){this.localScaleX=e,this.localScaleY=i,this.localScaleZ=n,this.markPlayDirty()}GetLocalRotation(){return $d(this.localRotationX,this.localRotationY,this.localRotationZ)}luaFieldValue(e){if(e==="id")return this.Id;if(e==="imageType")return this.imageType??"Stretch";let i=og.indexOf(e);return i<0?this[e]:$d(this.localRotationX,this.localRotationY,this.localRotationZ)[i]}SetLocalRotation(e,i,n){this.localRotationX=e,this.localRotationY=i,this.localRotationZ=n,this.markPlayDirty()}GetScriptByPath(e){return this.scripts.find(i=>i.path===e)||null}GetScript(e){return this.scripts.find(i=>i.scriptMappingId===e)||null}GetScripts(){return this.scripts.slice()}_addListener(e,i,n){let r=e.get(i)||[];r.push(n),e.set(i,r),this.runtime.retainLuaCallback?.(n)}_removeListener(e,i,n){let r=e.get(i);if(!r)return;let o=r.filter(a=>a!==n);e.set(i,o);for(let a=o.length;a<r.length;a++)this.runtime.unrefLuaCallback?.(n)}_removeListeners(e,i){let n=e.get(i)||[];for(let r of n)this.runtime.unrefLuaCallback?.(r);e.delete(i)}_removeAllListeners(e){for(let i of e.values())for(let n of i)this.runtime.unrefLuaCallback?.(n);e.clear()}AddCursorEventListener(e,i){this._addListener(this.cursorListeners,e,i)}RemoveCursorEventListener(e,i){this._removeListener(this.cursorListeners,e,i)}RemoveCursorEventListeners(e){this._removeListeners(this.cursorListeners,e)}RemoveAllCursorEventListeners(){this._removeAllListeners(this.cursorListeners)}SimulateCursorClick(){let e=this.runtime.makeCursorEventData({x:0,y:0,pressX:0,pressY:0});this.emitCursor("CursorDown",e),this.emitCursor("CursorUp",e),this.emitCursor("CursorClick",e)}emitCursor(e,i){if(!this.runtime.cursorEventsEnabled(this))return;let n=this.cursorListeners.get(e)||[];for(let r of n)r(i)}AddKeyEventListener(e,i){this._addListener(this.keyListeners,e,i)}RemoveKeyEventListener(e,i){this._removeListener(this.keyListeners,e,i)}RemoveKeyEventListeners(e){this._removeListeners(this.keyListeners,e)}RemoveAllKeyEventListeners(){this._removeAllListeners(this.keyListeners)}emitKey(e){let i=this.keyListeners.get(e)||[];for(let n of i)if(n()===!0)return!0;return!1}AddNavigationEventListener(e,i){this._addListener(this.navListeners,e,i)}RemoveNavigationEventListener(e,i){this._removeListener(this.navListeners,e,i)}RemoveNavigationEventListeners(e){this._removeListeners(this.navListeners,e)}RemoveAllNavigationEventListeners(){this._removeAllListeners(this.navListeners)}SetControllerNavigation(e,i,n){this.navConfig.set(e,{mode:i,target:n})}GetControllerNavigation(e){let i=this.navConfig.get(e),n=i?[i.mode,i.target]:[null,null];return n.__multi=!0,n}SetImage(e,i){let n=this.imageSource?.Name||this.imageSource,r=e?.Name||e;(i!==this.imageId||n!==r)&&(this.imageType=null),this.imageSource=e,this.imageId=i,this.markPlayDirty()}SetSoftEdgeWidth(e,i){this.softEdgeWidthX=e,this.softEdgeWidthY=i,this.markPlayDirty()}SetFillUnused(){this.fillType="Unused",this.markPlayDirty()}SetFillHorizontal(e,i){this.fillType="Horizontal",this.fillHorizontalType=e,this.fillAmount=i,this.markPlayDirty()}SetFillVertical(e,i){this.fillType="Vertical",this.fillVerticalType=e,this.fillAmount=i,this.markPlayDirty()}SetFillRadial90(e,i){this.fillType="Radial90",this.fillRadial90Type=e,this.fillAmount=i,this.markPlayDirty()}SetFillRadial180(e,i){this.fillType="Radial180",this.fillRadialType=e,this.fillAmount=i,this.markPlayDirty()}SetFillRadial360(e,i){this.fillType="Radial360",this.fillRadialType=e,this.fillAmount=i,this.markPlayDirty()}get animationId(){return this._animationId}set animationId(e){this._animationId!==e&&(this._animationId=e,this._uiAnimation&&this.PlayAnimation())}PlayAnimation(){this.alive&&(this._uiAnimation={generation:(this._uiAnimation?.generation||0)+1,startedAt:this.runtime.clock.time,playing:!0},this.markPlayDirty())}StopAnimation(){this._uiAnimation&&(this._uiAnimation.playing=!1),this.markPlayDirty()}RefreshItems(e,i){if(!Number.isInteger(e)||e<0||e>2e3)throw new Error("RefreshItems: simulator supports 0..2000 items");if(typeof i!="function")throw new Error("RefreshItems: callback must be a function");if(!this.alive||this._refreshingGrid)throw new Error("RefreshItems: destroyed control or recursive refresh");if(e&&!this.runtime.templates.has(Number(this.itemPrefabIndex)))throw new Error("RefreshItems: item template not found");if(e&&["OnInit","OnDestroy"].includes(this.runtime.lifecyclePhase))throw new Error("RefreshItems: items cannot be created during OnInit/OnDestroy");this._refreshingGrid=!0;try{this._gridItems||=[];let n=[];for(let r of this._gridItems)r.alive&&r.parent===this&&r.prefabIndex===Number(this.itemPrefabIndex)&&n.length<e?n.push(r):r.alive&&r.parent===this&&this.runtime.destroyControl(r);for(this._gridItems=n;n.length<e;){let r=this.runtime.instantiate(this.itemPrefabIndex,this,this.runtime.lifecyclePhase);if(!r)throw new Error("RefreshItems: could not instantiate item");n.push(r),r.SetActive(!0)}this.itemCount=e,Rn(this),this.markPlayDirty(!0);for(let r=0;r<n.length&&this.alive;r+=1)i(n[r],r)}finally{this._refreshingGrid=!1}}GetItemIndex(e){return e?.alive&&e.parent===this?this._gridItems?.indexOf(e)??-1:-1}GetItemSize(){return[this.cellSizeX,this.cellSizeY]}GetItemSpacing(){return[this.spacingX,this.spacingY]}GetPadding(){return[this.padding1Y,this.padding2Y,this.padding1X,this.padding2X]}ScrollToItemAt(e,i){if(!Number.isInteger(e)||e<0||e>=this.itemCount)throw new Error("ScrollToItemAt: item index out of range");let n=fr(this),r=n.horizontal?n.cellW:n.cellH,o=n.horizontal?n.gapX:n.gapY,a=(n.horizontal?n.left:n.top)+Math.floor(e/n.lanes)*(r+o),s=i?.Name||i;if(!["Top","Center","Bottom"].includes(s))throw new Error("ScrollToItemAt: invalid alignment");let l=a-(s==="Center"?(n.viewport-r)/2:s==="Bottom"?n.viewport-r:0);this.scrollProgress=n.max?Oo(l/n.max):0,Rn(this),this.markPlayDirty(!0)}GetContentLength(){return fr(this).length}};function qt(t,e){e(t);for(let i of t.children)qt(i,e)}function Js(t,e=[],i=""){e.push(`${i}${t.name||"(unnamed)"} [${t.typeofName}] Id=${t.Id}`);for(let n of t.children)Js(n,e,i+" ");return e}function Po(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}var Ld={Linear:t=>t,InSine:t=>1-Math.cos(t*Math.PI/2),OutSine:t=>Math.sin(t*Math.PI/2),InOutSine:t=>-(Math.cos(Math.PI*t)-1)/2,InQuad:t=>t*t,OutQuad:t=>1-(1-t)*(1-t),InOutQuad:t=>t<.5?2*t*t:1-(-2*t+2)**2/2,InCubic:t=>t*t*t,OutCubic:t=>1-(1-t)**3,InOutCubic:t=>t<.5?4*t*t*t:1-(-2*t+2)**3/2,InQuart:t=>t**4,OutQuart:t=>1-(1-t)**4,InOutQuart:t=>t<.5?8*t**4:1-(-2*t+2)**4/2,InQuint:t=>t**5,OutQuint:t=>1-(1-t)**5,InOutQuint:t=>t<.5?16*t**5:1-(-2*t+2)**5/2,InExpo:t=>t===0?0:2**(10*t-10),OutExpo:t=>t===1?1:1-2**(-10*t),InOutExpo:t=>t===0||t===1?t:t<.5?2**(20*t-10)/2:(2-2**(-20*t+10))/2,InCirc:t=>1-Math.sqrt(1-t**2),OutCirc:t=>Math.sqrt(1-(t-1)**2),InOutCirc:t=>t<.5?(1-Math.sqrt(1-(2*t)**2))/2:(Math.sqrt(1-(-2*t+2)**2)+1)/2,InBack:t=>(1.70158+1)*t*t*t-1.70158*t*t,OutBack:t=>1+2.70158*(t-1)**3+1.70158*(t-1)**2,InOutBack:t=>{let i=2.5949095;return t<.5?(2*t)**2*((i+1)*2*t-i)/2:((2*t-2)**2*((i+1)*(t*2-2)+i)+2)/2},InElastic:t=>t===0||t===1?t:-(2**(10*t-10))*Math.sin((t*10-10.75)*(2*Math.PI/3)),OutElastic:t=>t===0||t===1?t:2**(-10*t)*Math.sin((t*10-.75)*(2*Math.PI/3))+1,InOutElastic:t=>{if(t===0||t===1)return t;let e=2*Math.PI/4.5;return t<.5?-(2**(20*t-10)*Math.sin((20*t-11.125)*e))/2:2**(-20*t+10)*Math.sin((20*t-11.125)*e)/2+1},InBounce:t=>1-Po(1-t),OutBounce:Po,InOutBounce:t=>t<.5?(1-Po(1-2*t))/2:(1+Po(2*t-1))/2};function Gd(t,e){let i=Ld[t]||Ld.Linear;return e<=0?0:e>=1?1:i(e)}function Nn(t,e,i,n=255){let r=Mo(t),o=Mo(e),a=Mo(i);return((n==null?255:Mo(n))<<24|r<<16|o<<8|a)>>>0}function dr(t){let e=t>>>0;return[e>>>16&255,e>>>8&255,e&255,e>>>24&255]}function Mo(t){let e=Number(t);return Number.isFinite(e)?Math.max(0,Math.min(255,Math.trunc(e))):0}function Bd(t,e,i){let n=dr(t),r=dr(e);return Nn(n[0]+(r[0]-n[0])*i,n[1]+(r[1]-n[1])*i,n[2]+(r[2]-n[2])*i,n[3]+(r[3]-n[3])*i)}var sg=new Set(["fontColor","bgColor","outlineColor","imageColor"]),lg=new Set(["fontSize","minimumFontSize"]),Zs=1e-9;function cg(t,e){return typeof t?.luaFieldValue=="function"?t.luaFieldValue(e):t[e]}var hr=class{constructor(e,i,n,r){this.runtime=e,this.object=i,this.data={...n},this.duration=Math.max(0,Number(r)||0),this.easeName="Linear",this.relative=!1,this.playing=!1,this.paused=!1,this.elapsed=0,this.loops=1,this.loopIndex=0,this.from={},this.to={},this.initialFrom=null,this.initialTo=null,this.onComplete=null,this.onStepComplete=null,this.killed=!1,this.dead=!1,this.completed=!1}capture(){this.from={},this.to={};for(let[e,i]of Object.entries(this.data)){let n=cg(this.object,e);this.from[e]=n,this.to[e]=this.relative?Number(n)+Number(i):i}}restoreInitial(){this.from={...this.initialFrom},this.to={...this.initialTo}}SetEase(e){return this.easeName=typeof e=="string"?e:e?.Name||"Linear",this}SetRelative(e){return this.relative=!!e,this}Play(){return this.dead?this:this.playing?(this.paused=!1,this):this._start(!1)}_begin(e){this.playing=!0,this.paused=!1,this.elapsed=0,this.loopIndex=0,this.killed=!1,this.completed=!1,e&&this.initialFrom?this.restoreInitial():(this.capture(),this.initialFrom={...this.from},this.initialTo={...this.to})}_start(e){return this._begin(e),this.runtime.tweens.add(this),this.runtime.animations.add(this),this}get loopCount(){return this.loops>0?this.loops:1}Pause(){this.paused=!0}Resume(){this.paused=!1}Restart(){return this.dead?this:this._start(!0)}Complete(){this.dead||this.completed||(this.initialFrom||this._begin(!1),this.apply(1),this.finish(!0))}Kill(e){e?this.Complete():this.finish(!1),this.dead=!0}SetOnComplete(e){return this.onComplete=e,this}SetOnStepComplete(e){return this.onStepComplete=e,this}SetLoops(e){return this.loops=e,this}apply(e){if(this.object?.alive===!1)return;let i=Gd(this.easeName,e),n=!1,r=!1;for(let o of Object.keys(this.to)){let a=this.from[o],s=this.to[o];if(sg.has(o)&&typeof a=="number"&&typeof s=="number")this.object[o]=Bd(a,s,i);else if(typeof a=="number"&&typeof s=="number"){let l=a+(s-a)*i;this.object[o]=lg.has(o)?Math.trunc(l):l}else this.object[o]=i>=1?s:a;n=!0,No.has(o)&&(r=!0)}n&&typeof this.object?.markPlayDirty=="function"&&this.object.markPlayDirty(r)}_advance(e,i){this.elapsed+=e;let n=this.duration<=0?1:Math.min(1,this.elapsed/this.duration);return this.apply(n),n<1?!1:i>=0&&this.loopIndex+1>=i?!0:(this.onStepComplete&&this.runtime.safeCall(this.onStepComplete),this.loopIndex++,this.elapsed=0,this.restoreInitial(),!1)}step(e){!this.playing||this.paused||this.killed||this._advance(e,this.loops<0?-1:this.loopCount)&&(this.onStepComplete&&this.runtime.safeCall(this.onStepComplete),this.finish(!0))}finish(e){this.playing=!1,this.killed=!0,e&&(this.completed=!0),this.runtime.tweens.delete(this),this.runtime.animations.delete(this),e&&this.onComplete&&this.runtime.safeCall(this.onComplete)}},Pn=class{constructor(e){this.runtime=e,this.steps=[],this.playing=!1,this.paused=!1,this.killed=!1,this.dead=!1,this.completed=!1,this.elapsed=0,this.loops=1,this.loopIndex=0,this.onComplete=null,this.onStepComplete=null,this._entries=null}Append(e){return this.steps.push({kind:"tween",tween:e,parallel:!1}),this}AppendInterval(e){return this.steps.push({kind:"interval",duration:e}),this}AppendCallback(e){return this.steps.push({kind:"callback",fn:e}),this}Join(e){return this.steps.push({kind:"tween",tween:e,parallel:!0}),this}Insert(e,i){return this.steps.push({kind:"insert",time:e,tween:i}),this}InsertCallback(e,i){return this.steps.push({kind:"insertCb",time:e,fn:i}),this}Play(){return this.dead?this:this.playing?(this.paused=!1,this):this._play()}_play(){return this.playing=!0,this.paused=!1,this.killed=!1,this.completed=!1,this.elapsed=0,this.loopIndex=0,this._schedule(),this.runtime.sequences.add(this),this.runtime.animations.add(this),this}_schedule(){let e=0,i=0,n=!1,r=[],o=a=>a.duration*a.loopCount;for(let a of this.steps)if(a.kind==="tween"&&a.parallel){let s=n?i:e;r.push({at:s,tween:a.tween}),e=Math.max(e,s+o(a.tween))}else a.kind==="tween"?(r.push({at:e,tween:a.tween}),i=e,n=!0,e+=o(a.tween)):a.kind==="interval"?(i=e,n=!0,e+=a.duration):a.kind==="callback"?r.push({at:e,fn:a.fn}):a.kind==="insert"?(r.push({at:a.time,tween:a.tween}),e=Math.max(e,a.time+o(a.tween))):a.kind==="insertCb"&&(r.push({at:a.time,fn:a.fn}),e=Math.max(e,a.time));this._entries=r.map((a,s)=>({...a,index:s,end:a.tween?a.at+o(a.tween):a.at})),this._end=e,this._resetEntries()}_resetEntries(){for(let e of this._entries)e.started=!1,e.done=!1}_startChild(e){e.started=!0,e.tween._begin(!!e.tween.initialFrom)}_finishChild(e){e.done=!0,e.tween.apply(1),e.tween.onStepComplete&&this.runtime.safeCall(e.tween.onStepComplete),e.tween.finish(!0)}_advanceTo(e,i){let n=this._entries,r=[];for(let a of n)!a.started&&a.at<=e+Zs&&r.push({at:a.at,rank:a.fn?1:2,entry:a}),a.tween&&!a.done&&a.end<=e+Zs&&r.push({at:a.end,rank:0,entry:a});r.sort((a,s)=>a.at-s.at||a.rank-s.rank||a.entry.index-s.entry.index);let o=new Set;for(let{rank:a,entry:s}of r)if(a===1){if(s.started=!0,this.runtime.safeCall(s.fn),!this.playing||this.killed||this._entries!==n)return!1}else s.started||(this._startChild(s),o.add(s)),a===0&&!s.done&&this._finishChild(s);for(let a of n)!a.tween||!a.started||a.done||(o.has(a)?a.tween._advance(e-a.at,a.tween.loopCount):a.tween._advance(i,a.tween.loopCount));return!0}step(e){!this.playing||this.paused||this.killed||(this.elapsed+=e,this._advanceTo(this.elapsed,e)&&(this.elapsed+Zs<this._end||(this.onStepComplete&&this.runtime.safeCall(this.onStepComplete),this.loopIndex++,this.loops<0||this.loopIndex<this.loops?(this.elapsed=0,this._resetEntries()):this.finish(!0))))}Pause(){this.paused=!0}Resume(){this.paused=!1}Restart(){this.dead||this._play()}Complete(){this.dead||this.completed||(this._entries||this._schedule(),this.playing=!0,this.killed=!1,this._advanceTo(1/0,0)&&(this.onStepComplete&&this.runtime.safeCall(this.onStepComplete),this.finish(!0)))}Kill(e){e?this.Complete():this.finish(!1),this.dead=!0}SetOnComplete(e){return this.onComplete=e,this}SetOnStepComplete(e){return this.onStepComplete=e,this}SetLoops(e){return this.loops=e,this}finish(e){this.playing=!1,this.killed=!0,e&&(this.completed=!0),this.runtime.sequences.delete(this),this.runtime.animations.delete(this),e&&this.onComplete&&this.runtime.safeCall(this.onComplete)}};var Fo={EaseType:["Linear","InSine","OutSine","InOutSine","InQuad","OutQuad","InOutQuad","InCubic","OutCubic","InOutCubic","InQuart","OutQuart","InOutQuart","InQuint","OutQuint","InOutQuint","InExpo","OutExpo","InOutExpo","InCirc","OutCirc","InOutCirc","InBack","OutBack","InOutBack","InElastic","OutElastic","InOutElastic","InBounce","OutBounce","InOutBounce"],CustomVariableEntityType:["Level","PlayerSelf","AvatarSelf"],Device:["KeyboardAndMouse","Mobile","Controller","MobileController"],StageMode:["Beyond","Classic"],LanguageType:["LanguageNone","LanguageEng","LanguageChs","LanguageCht","LanguageFra","LanguageDeu","LanguageSpa","LanguagePor","LanguageRus","LanguageJpn","LanguageKor","LanguageTha","LanguageVie","LanguageInd","LanguageTur","LanguageIta"],ParamType:["Entity","EntityList","Int","IntList","Bool","BoolList","Float","FloatList","String","StringList","Vector3","Vector3List","Guid","GuidList","ConfigId","PrefabId","ConfigIdList","PrefabIdList"],CursorEventType:["CursorDown","CursorUp","CursorEnter","CursorExit","CursorDrag","CursorBeginDrag","CursorEndDrag","CursorClick"],ScrollDirection:["Horizontal","Vertical"],ScrollLayoutConstraint:["AutoWrap","Fixed"],ScrollAlignType:["Bottom","Center","Top"],ControllerNavigationDir:["Up","Down","Left","Right"],ControllerNavigationEventType:["Confirm","Cancel","Focus","LostFocus","RightStickUp","RightStickDown","RightStickRight","RightStickLeft","LeftStickUp","LeftStickDown","LeftStickRight","LeftStickLeft"],ControllerNavigationMode:["None","NearestControl","Specified"],TextHorizontalAlignment:["Left","Middle","Right"],TextVerticalAlignment:["Top","Middle","Bottom"],ImageType:["Basic","Stretch"],ImageSource:["StaticReference","Item","Equipment","Skill","UnitStatus","Faction","Currency","Prefab"],ImageFillType:["Unused","Horizontal","Vertical","Radial90","Radial180","Radial360"],ImageFillHorizontalType:["Left","Right"],ImageFillVerticalType:["Bottom","Top"],ImageFillRadial90Type:["BottomLeft","TopLeft","TopRight","BottomRight"],ImageFillRadialType:["Bottom","Left","Top","Right"],ImageMaskSoftEdgeMode:["Percentage","Pixel"],UIAnimationLayer:["AboveAllControls","BelowAllControls"]},ug=[...Array.from({length:43},(t,e)=>`CraftspersonKey${e+1}`),"MoveForwardKey","MoveBackwardKey","MoveLeftKey","MoveRightKey","SwitchToWalkOrRunKey","SprintKey","JumpKey","DropKey","OpenShortcutWheelKey","InteractKey","NormalAttackKey","CharacterSkill1Key","CharacterSkill2Key","CharacterSkill3Key","CharacterSkill4Key","None"],fg=[...Array.from({length:14},(t,e)=>`CraftspersonKey${e+1}`),"SprintKey","JumpKey","InteractKey","NormalAttackKey","CharacterSkill1Key","CharacterSkill2Key","CharacterSkill3Key","CharacterSkill4Key","MenuConfirmKey","MenuBackKey","None"];function dg(){let t=[];for(let e of["Down","Up"]){for(let i=1;i<=43;i++)t.push(`KeyboardCraftspersonKey${i}${e}`);for(let i of["MoveForwardKey","MoveBackwardKey","MoveLeftKey","MoveRightKey","SwitchToWalkOrRunKey","SprintKey","JumpKey","DropKey","OpenShortcutWheelKey","InteractKey","NormalAttackKey","CharacterSkill1Key","CharacterSkill2Key","CharacterSkill3Key","CharacterSkill4Key"])t.push(`Keyboard${i}${e}`);for(let i=1;i<=14;i++)t.push(`ControllerCraftspersonKey${i}${e}`);for(let i of["SprintKey","JumpKey","InteractKey","NormalAttackKey","CharacterSkill1Key","CharacterSkill2Key","CharacterSkill3Key","CharacterSkill4Key","MenuConfirmKey","MenuBackKey"])t.push(`Controller${i}${e}`)}return t}Fo.KeyboardKeyCode=ug;Fo.ControllerKeyCode=fg;Fo.KeyEventType=dg();var Vd=new Map;function Yi(t,e){let i=`${t}\0${e}`,n=Vd.get(i);return n||(n={__kind:"EnumItem",Name:e,FullName:`Enum.${t}.${e}`,EnumType:t},Vd.set(i,n)),n}function Qs(t,e){return e==null?e:e.__kind==="EnumItem"?Yi(e.EnumType||t,e.Name):typeof e=="string"&&e?Yi(t,e):e}function el(){let t={};for(let[e,i]of Object.entries(Fo)){let n={};for(let r of i)n[r]=Yi(e,r);t[e]=n}return t}var hg=new Set(["id","Id","prefabIndex","imageId","fontSize","minimumFontSize","clickAudioId","itemCount","itemPrefabIndex","animationId","referencedPrefabIndex"]),pg=new Set(["imageColor","fontColor","bgColor","outlineColor"]),qd={horizontalAlignment:"TextHorizontalAlignment",verticalAlignment:"TextVerticalAlignment",imageSource:"ImageSource",imageType:"ImageType",fillType:"ImageFillType",fillHorizontalType:"ImageFillHorizontalType",fillVerticalType:"ImageFillVerticalType",fillRadial90Type:"ImageFillRadial90Type",fillRadialType:"ImageFillRadialType",softEdgeMode:"ImageMaskSoftEdgeMode",layer:"UIAnimationLayer",scrollDirection:"ScrollDirection",layoutConstraint:"ScrollLayoutConstraint"},Xi=m.LUA_REGISTRYINDEX,jd=m.LUA_MULTRET,mg=Object.freeze({InstantiateClientUIControl:2,DestroyClientUIControl:1,GetClientUIControl:1,FindClientUIRoot:1,GetClientUIRoots:0,GetUICanvasSize:0,GetCursorUIPos:0,GetDevice:0,SetControllerFocus:1,GetControllerFocus:0,GetControllerLeftStickAxis:0,GetControllerRightStickAxis:0,Tween:3,TweenSequence:0,ServerSignal:1,GetGlobalCustomVariableValue:2,PauseLevelTime:1,IsLevelTimePaused:0,PlayAudio2D:1,StopAudio:1,IsAudioAlive:1,GetLanguageType:0,GetStageMode:0,IsTestPlay:0,GetText:1,PrintClientUITree:0});function et(t){return t==null?"":typeof t=="string"?t:t.Name||t.FullName||String(t)}var Do=class{constructor(e={}){this.canvasWidth=e.canvasWidth??1600,this.canvasHeight=e.canvasHeight??900,this.device=e.device??"KeyboardAndMouse",this.language=e.language??"LanguageChs",this.stageMode=e.stageMode??"Classic",this.testPlay=e.testPlay!==!1,this.canSelectImageType=e.canSelectImageType||(()=>!1),this.clock={time:0,levelTime:0,paused:!1,frame:0},this.logs=[],this.mountErrors=[],this.tweens=new Set,this.sequences=new Set,this.animations=new Set,this.audios=new Map,this.nextAudioId=1,this.audioDuration=e.audioDuration||(()=>null),this.audioHistory=[],this.audioWarnings=new Set,this.audioRevision=0,this._nextControlId=1,this._playRemoved=[],this._nextScriptMappingId=1,this.lifecyclePhase="idle",this.controlsById=new Map,this.roots=[],this.templates=new Map,this.scriptFiles=new Map,this.requireAliases=new Map,this.requireCache=new Map,this.moduleBaseEnvironments=new Map,this.luaFunctions=new Map,this.mountedScripts=[],this.serverVars={Level:Object.create(null),PlayerSelf:Object.create(null),AvatarSelf:Object.create(null)},this.serverBridge=null,this.varHandlers=[],this.signalHandlers=[],this.cursor={x:0,y:0},this.focus=null,this.stick={left:[0,0],right:[0,0]},this.enumTree=el(),this.luaStates=new Set,this.L=null}nextControlId(){let e=this._nextControlId;return this._nextControlId+=1,e}resolveScriptMappingId(e){let i=Number(e);if(Number.isSafeInteger(i)&&i>0)return this._nextScriptMappingId=Math.max(this._nextScriptMappingId,i+1),i;let n=this._nextScriptMappingId;return this._nextScriptMappingId+=1,n}pushPackedColor(e,i){let n=i>>>0;(n|0)===n?m.lua_pushinteger(e,n):m.lua_pushnumber(e,n)}retainLuaCallback(e){Td(e)}unrefLuaCallback(e){Rd(this,e)}log(e,...i){let n=i.map(r=>r==null?"nil":typeof r=="object"&&r!==null&&r.__kind==="EnumItem"?r.Name:String(r)).join(" ");this.logs.push({level:e,text:n,time:this.clock.time})}safeCall(e,...i){try{return e(...i)}catch(n){this.log("lua-error",n&&n.message?n.message:String(n))}}scriptCanRun(e){if(!e?.alive||!e.enabled)return!1;let i=e.object;return!i||i.alive&&i.activeInHierarchy}cursorEventsEnabled(e){for(let i=e;i;i=i.parent)if(i.kind==="container"&&i.showCursor===!0)return!0;return!1}registerTemplate(e,i){this.templates.set(Number(e),i)}registerScriptFile(e,i){let n=this.normalizeRequirePath(e);this.scriptFiles.set(n,i),n.startsWith("default_import_file/")||this.requireAliases.set(`default_import_file/${n}`,n)}normalizeRequirePath(e){let i=String(e).replace(/\\/g,"/");return i.endsWith(".lua")&&(i=i.slice(0,-4)),i=i.replace(/\./g,"/"),i}addRoot(e){let i=e instanceof _i?e:new _i(this,e);return this.roots.push(i),qt(i,n=>this.controlsById.set(n.Id,n)),this.mountSpecScripts(e,i),i}mountSpecScripts(e,i){if(e instanceof _i)return;let n=o=>(o.scripts?.length||0)>0||(o.children||[]).some(n);if(!e||!n(e))return;let r=this.lifecyclePhase;try{let o=(a,s)=>{for(let c of a.scripts||[])try{this.mountScript({path:c.path,source:c.source,control:s,scriptMappingId:c.scriptMappingId})}catch(u){let f=u&&u.message?u.message:String(u);this.mountErrors.push(f),this.log("lua-error",f)}let l=a.children||[];for(let c=0;c<l.length;c+=1)o(l[c],s?.children?.[c])};o(e,i)}finally{this.lifecyclePhase=r}}makeCursorEventData({x:e=0,y:i=0,pressX:n=e,pressY:r=i,deltaX:o=e-n,deltaY:a=i-r,dragging:s=!1,touchId:l=-1}={}){let c=this;return{__kind:"CursorEventData",typeofName:"CursorEventData",dragging:s,touchId:l,x:e,y:i,pressX:n,pressY:r,GetUIPos(){return[e,i]},GetPressUIPos(){return[n,r]},GetUIPosDelta(){return[o,a]}}}boot(){let e=this.newLuaThread();this.L=e}installGlobals(e){let i=this;m.lua_pushcfunction(e,n=>{let r=m.lua_gettop(n),o=[];for(let a=1;a<=r;a++)o.push(Ke(n,i,a));return i.log("info",...o),0}),m.lua_setglobal(e,V("print")),m.lua_pushcfunction(e,n=>{let r=m.lua_gettop(n),o=[];for(let a=1;a<=r;a++)o.push(Ke(n,i,a));return i.log("error",...o),0}),m.lua_setglobal(e,V("printerr")),m.lua_pushcfunction(e,n=>{if(m.lua_type(n,1)===m.LUA_TTABLE&&!oi(n,1))return m.lua_pushstring(n,V("table")),1;let r=Ke(n,i,1);return m.lua_pushstring(n,V(i.typeofOf(r))),1}),m.lua_setglobal(e,V("typeof")),this.pushColorLib(e),this.pushEnumLib(e),this.pushGameLib(e),m.lua_pushcfunction(e,n=>i.luaRequire(n)),m.lua_setglobal(e,V("require"))}typeofOf(e){return e==null?"nil":e.__kind==="Script"?"Script":e.__kind==="EnumItem"?"EnumItem":e.__kind==="CursorEventData"?"CursorEventData":e.__kind==="ServerSignal"?"ServerSignal":e instanceof Pn?"TweenSequence":e instanceof hr?"Tween":e.typeofName?e.typeofName:typeof e=="number"?"number":typeof e=="string"?"string":typeof e=="boolean"?"boolean":typeof e}pushColorLib(e){m.lua_newtable(e),m.lua_pushcfunction(e,i=>(this.pushPackedColor(i,Nn(m.lua_tonumber(i,1),m.lua_tonumber(i,2),m.lua_tonumber(i,3),255)),1)),m.lua_setfield(e,-2,V("FromRGB")),m.lua_pushcfunction(e,i=>{let n=m.lua_isnoneornil(i,4)?255:m.lua_tonumber(i,4);return this.pushPackedColor(i,Nn(m.lua_tonumber(i,1),m.lua_tonumber(i,2),m.lua_tonumber(i,3),n)),1}),m.lua_setfield(e,-2,V("FromRGBA")),m.lua_pushcfunction(e,i=>{let n=m.lua_tonumber(i,1)>>>0;for(let r of dr(n))m.lua_pushinteger(i,r);return 4}),m.lua_setfield(e,-2,V("ToRGBA")),m.lua_newtable(e),m.lua_pushcfunction(e,i=>{let n=m.lua_tonumber(i,2),r=m.lua_tonumber(i,3),o=m.lua_tonumber(i,4),a=m.lua_isnoneornil(i,5)?255:m.lua_tonumber(i,5);return this.pushPackedColor(i,Nn(n,r,o,a)),1}),m.lua_setfield(e,-2,V("__call")),m.lua_setmetatable(e,-2),m.lua_setglobal(e,V("Color"))}pushEnumLib(e){m.lua_newtable(e);for(let[i,n]of Object.entries(this.enumTree)){m.lua_newtable(e);for(let[r,o]of Object.entries(n))this.pushEnumItem(e,o),m.lua_setfield(e,-2,V(r));m.lua_setfield(e,-2,V(i))}m.lua_setglobal(e,V("Enum"))}pushEnumItem(e,i){let n=m.lua_newuserdata(e,0);Ui(n,i),Ce.luaL_setmetatable(e,V("EnumItem"))}pushControl(e,i){let n=m.lua_newuserdata(e,0);Ui(n,i),Ce.luaL_setmetatable(e,V("Control"))}pushScript(e,i){m.lua_newtable(e),m.lua_pushlightuserdata(e,Xs);let n=m.lua_newuserdata(e,0);Ui(n,i),m.lua_rawset(e,-3),Ce.luaL_getmetatable(e,V("Script")),m.lua_setmetatable(e,-2)}pushTween(e,i){let n=m.lua_newuserdata(e,0);Ui(n,i);let r=i instanceof Pn?"TweenSequence":"Tween";Ce.luaL_setmetatable(e,V(r))}pushSignal(e,i){let n=m.lua_newuserdata(e,0);Ui(n,i),Ce.luaL_setmetatable(e,V("ServerSignal"))}pushCursor(e,i){let n=m.lua_newuserdata(e,0);Ui(n,i),Ce.luaL_setmetatable(e,V("CursorEventData"))}pushGameLib(e){let i=this;m.lua_newtable(e);let n={InstantiateClientUIControl:r=>{let o=m.lua_tointeger(r,1),a=ft(m.lua_touserdata(r,2)),s=i.instantiate(o,a,i.lifecyclePhase);return s?(i.pushControl(r,s),1):(m.lua_pushnil(r),1)},DestroyClientUIControl:r=>{let o=ft(m.lua_touserdata(r,1));return o&&i.destroyControl(o),0},GetClientUIControl:r=>{let o=m.lua_tointeger(r,1),a=i.controlsById.get(o);return a?i.pushControl(r,a):m.lua_pushnil(r),1},FindClientUIRoot:r=>{let o=Te(r,1),a=i.roots.find(s=>s.name===o);return a?i.pushControl(r,a):m.lua_pushnil(r),1},GetClientUIRoots:r=>(m.lua_createtable(r,i.roots.length,0),i.roots.forEach((o,a)=>{i.pushControl(r,o),m.lua_rawseti(r,-2,a+1)}),1),GetUICanvasSize:r=>(m.lua_pushnumber(r,i.canvasWidth),m.lua_pushnumber(r,i.canvasHeight),2),GetCursorUIPos:r=>(m.lua_pushnumber(r,i.cursor.x),m.lua_pushnumber(r,i.cursor.y),2),GetDevice:r=>(i.pushEnumItem(r,Yi("Device",i.device)),1),SetControllerFocus:r=>(i.focus=ft(m.lua_touserdata(r,1)),0),GetControllerFocus:r=>(i.focus?i.pushControl(r,i.focus):m.lua_pushnil(r),1),GetControllerLeftStickAxis:r=>(m.lua_pushnumber(r,i.stick.left[0]),m.lua_pushnumber(r,i.stick.left[1]),2),GetControllerRightStickAxis:r=>(m.lua_pushnumber(r,i.stick.right[0]),m.lua_pushnumber(r,i.stick.right[1]),2),Tween:r=>{let o=ft(m.lua_touserdata(r,1))||Ke(r,i,1),a=Ke(r,i,2)||{},s=m.lua_tonumber(r,3),l=new hr(i,o,a,s);return i.pushTween(r,l),1},TweenSequence:r=>(i.pushTween(r,new Pn(i)),1),ServerSignal:r=>{let o=Te(r,1);return i.pushSignal(r,i.makeServerSignal(o)),1},GetGlobalCustomVariableValue:r=>{let o=et(Ke(r,i,1)),a=Te(r,2);return Ge(r,i,i.getVar(o,a)),1},PauseLevelTime:r=>(i.clock.paused=!!m.lua_toboolean(r,1),0),IsLevelTimePaused:r=>(m.lua_pushboolean(r,i.clock.paused),1),PlayAudio2D:r=>{let o=i.playAudio(i.audioInteger(r));return m.lua_pushinteger(r,o),1},StopAudio:r=>(i.stopAudio(i.audioInteger(r)),0),IsAudioAlive:r=>{let o=i.audios.get(i.audioInteger(r));return m.lua_pushboolean(r,!!(o&&o.alive)),1},GetLanguageType:r=>(i.pushEnumItem(r,Yi("LanguageType",i.language)),1),GetStageMode:r=>(i.pushEnumItem(r,Yi("StageMode",i.stageMode)),1),IsTestPlay:r=>(m.lua_pushboolean(r,i.testPlay),1),GetText:r=>{let o=Te(r,1);return m.lua_pushstring(r,V(o)),1},PrintClientUITree:r=>{for(let o of i.roots)i.log("info",Js(o).join(`
|
|
124
|
+
`));return 0}};for(let[r,o]of Object.entries(n)){let a=mg[r];if(a===void 0)throw new Error(`missing game arity for ${r}`);m.lua_pushcfunction(e,s=>{let l=m.lua_gettop(s);return l!==a?Ce.luaL_error(s,V(`bad argument count to '${r}' (${a} expected, got ${l})`)):o(s)}),m.lua_setfield(e,-2,V(r))}m.lua_setglobal(e,V("game"))}makeServerSignal(e){let i=[],n=this;return{__kind:"ServerSignal",name:e,AddParam(r,o){i.push({type:et(r),value:o})},AddInt(r){i.push({type:"Int",value:r})},AddIntList(r){i.push({type:"IntList",value:r})},AddFloat(r){i.push({type:"Float",value:r})},AddFloatList(r){i.push({type:"FloatList",value:r})},AddString(r){i.push({type:"String",value:r})},AddStringList(r){i.push({type:"StringList",value:r})},AddVector3(r){i.push({type:"Vector3",value:r})},AddVector3List(r){i.push({type:"Vector3List",value:r})},AddBool(r){i.push({type:"Bool",value:r})},AddBoolList(r){i.push({type:"BoolList",value:r})},AddGuid(r){i.push({type:"Guid",value:r})},AddGuidList(r){i.push({type:"GuidList",value:r})},AddEntity(r){i.push({type:"Entity",value:r})},AddEntityList(r){i.push({type:"EntityList",value:r})},AddPrefabId(r){i.push({type:"PrefabId",value:r})},AddPrefabIdList(r){i.push({type:"PrefabIdList",value:r})},AddConfigId(r){i.push({type:"ConfigId",value:r})},AddConfigIdList(r){i.push({type:"ConfigIdList",value:r})},SendSignal(){let r=i.slice();n.serverBridge&&typeof n.serverBridge.receiveFromClient=="function"&&n.serverBridge.receiveFromClient(e,r)}}}audioInteger(e){let i=m.lua_tonumber(e,1);return m.lua_type(e,1)!==m.LUA_TNUMBER||!Number.isSafeInteger(i)?Ce.luaL_error(e,V("audio argument must be an integer")):i}playAudio(e){this.audioRevision++;let i=this.nextAudioId++,n=this.audioDuration(e),r=Number.isFinite(n)&&n>0,o={instanceId:i,audioId:e,startedAt:this.clock.time,duration:r?n:0,alive:r,stopped:!1};return this.audioHistory.push(o),this.audioHistory.length>128&&this.audioHistory.shift(),r?(this.audios.size>=128&&this.stopAudio(this.audios.keys().next().value),this.audios.set(i,o)):this.audioWarnings.has(e)||(this.audioWarnings.size>=128&&this.audioWarnings.delete(this.audioWarnings.values().next().value),this.audioWarnings.add(e),this.log("warn",`\u97F3\u6548 ${e} \u672A\u5217\u5165\u6A21\u62DF\u5668\u97F3\u9891\u767D\u540D\u5355`)),i}stopAudio(e){let i=this.audios.get(e)||this.audioHistory.find(n=>n.instanceId===e);i&&!i.stopped&&(i.alive=!1,i.stopped=!0,this.audioRevision++),this.audios.delete(e)}audioSnapshot(){return{sequence:this.nextAudioId-1,revision:this.audioRevision,active:[...this.audios.values()].map(e=>({...e})),recent:this.audioHistory.map(e=>({...e}))}}instantiate(e,i,n){if(n==="OnInit"||n==="OnDestroy")return null;let r=this.templates.get(Number(e));if(!r||!i)return null;let o=new _i(this,{...r,Id:this.nextControlId(),authoringId:null,prefabIndex:Number(e)});return i.addChild(o),o.SetAsLastSibling(),qt(o,a=>this.controlsById.set(a.Id,a)),this.mountSpecScripts(r,o),o}destroyControl(e){if(!(!e||!e.alive)){if(e._destroying)throw new Error(`\u5BA2\u6237\u7AEF\u63A7\u4EF6\u751F\u547D\u5468\u671F\u5904\u4E8E\u521B\u5EFA\u6216\u9500\u6BC1\u65F6\uFF0C\u65E0\u6CD5\u8C03\u7528DestroyClientUIControl, ID:${e.name}`);qt(e,i=>{i._destroying=!0}),this._destroyControlTree(e)}}_destroyControlTree(e){this.releaseControlListeners(e);for(let i of e.scripts.slice())this.unmountScript(i);for(let i of e.children.slice())this._destroyControlTree(i);if(e.alive=!1,this.scrollControls?.delete(e),this.uiAnimations?.delete(e),this._playRemoved.push(e.Id),e.parent){let i=e.parent,n=i.children.indexOf(e);n>=0&&i.children.splice(n,1),e._parent=null,i.markPlayDirty(!0)}else{let i=this.roots.indexOf(e);i>=0&&this.roots.splice(i,1)}this.controlsById.delete(e.Id),this.focus===e&&(this.focus=null);for(let i of[...this.tweens])i.object===e&&i.Kill(!1)}releaseControlListeners(e){for(let i of e.cursorListeners.values())for(let n of i)this.unrefLuaCallback(n);for(let i of e.keyListeners.values())for(let n of i)this.unrefLuaCallback(n);for(let i of e.navListeners.values())for(let n of i)this.unrefLuaCallback(n);e.cursorListeners.clear(),e.keyListeners.clear(),e.navListeners.clear(),e.navConfig.clear()}onControlActiveChanging(e,i){let n=[];qt(e,r=>n.push({control:r,was:r.activeInHierarchy})),e.active=!!i,e.markPlayDirty(!0);for(let r of n){let o=r.control.activeInHierarchy;if(r.was!==o)for(let a of r.control.scripts.slice())o?this.enableScript(a):this.disableScript(a)}}bindScriptEnv(e){let i=e.env;return i?(this.pushScript(i,e),m.lua_setglobal(i,V("script")),i):null}disableScript(e){if(!e?.alive||!e.env||e.lifecyclePhase!=="running")return;let i=this.lifecyclePhase;this.lifecyclePhase="OnDisable",e.lifecyclePhase="OnDisable",this.bindScriptEnv(e),this.callGlobal(e.env,"OnDisable"),e.lifecyclePhase="disabled",this.lifecyclePhase=i}enableScript(e){if(!e?.alive||!e.env||e.lifecyclePhase!=="disabled")return;let i=this.lifecyclePhase;this.lifecyclePhase="OnEnable",e.lifecyclePhase="OnEnable",this.bindScriptEnv(e),this.callGlobal(e.env,"OnEnable"),e.lifecyclePhase="running",this.lifecyclePhase=i}unmountScript(e){if(!e||!e.alive)return;let i=e.env,n=this.lifecyclePhase;i&&(e.lifecyclePhase==="running"&&(this.lifecyclePhase="OnDisable",e.lifecyclePhase="OnDisable",this.bindScriptEnv(e),this.callGlobal(i,"OnDisable")),this.lifecyclePhase="OnDestroy",e.lifecyclePhase="OnDestroy",this.bindScriptEnv(e),this.callGlobal(i,"OnDestroy")),e.alive=!1,e.lifecyclePhase="destroyed",this.lifecyclePhase=n,this.mountedScripts=this.mountedScripts.filter(r=>r!==e),e.object&&(e.object.scripts=e.object.scripts.filter(r=>r!==e)),this.varHandlers=this.varHandlers.filter(r=>r.script!==e),this.signalHandlers=this.signalHandlers.filter(r=>r.script!==e),i&&i!==this.L&&this.closeTrackedLuaState(i),e.env=null}installMetatables(e){this.mtEnum(e),this.mtControl(e),this.mtScript(e),this.mtTween(e),this.mtSeq(e),this.mtSignal(e),this.mtCursor(e)}mtIndexNewindex(e,i,n,r,o,a){Ce.luaL_newmetatable(e,V(i)),m.lua_pushcfunction(e,s=>{let l=oi(s,1)||ft(m.lua_touserdata(s,1)),c=Te(s,2);if(o[c]&&(!a||a(l,c)))return m.lua_pushcfunction(s,o[c]),1;let u;try{u=n(l,c)}catch(f){return Ce.luaL_error(s,V(String(f.message||f)))}return u===void 0?(m.lua_pushnil(s),1):(Ge(s,this,u),1)}),m.lua_setfield(e,-2,V("__index")),m.lua_pushcfunction(e,s=>{try{let l=oi(s,1)||ft(m.lua_touserdata(s,1)),c=Te(s,2),u=Ke(s,this,3);return r(l,c,u),0}catch(l){return m.lua_pushstring(s,V(String(l.message||l))),m.lua_error(s)}}),m.lua_setfield(e,-2,V("__newindex")),m.lua_pushcfunction(e,s=>{let l=oi(s,1)||ft(m.lua_touserdata(s,1)),c=oi(s,2)||ft(m.lua_touserdata(s,2));return m.lua_pushboolean(s,l===c),1}),m.lua_setfield(e,-2,V("__eq")),m.lua_pop(e,1)}method(e){let i=this;return n=>{let r=oi(n,1)||ft(m.lua_touserdata(n,1)),o=m.lua_gettop(n),a=[];for(let s=2;s<=o;s++)a.push(Ke(n,i,s));try{let s=e(r,...a);if(s===r)return m.lua_pushvalue(n,1),1;if(s===void 0)return 0;if(Array.isArray(s)&&s.__multi){for(let l of s)Ge(n,i,l);return s.length}if(Array.isArray(s)&&!(s.length&&typeof s[0]=="object"&&s[0]?.typeofName)){if(s.__controls)return m.lua_createtable(n,s.length,0),s.forEach((l,c)=>{i.pushControl(n,l),m.lua_rawseti(n,-2,c+1)}),1;if(s.__scripts)return m.lua_createtable(n,s.length,0),s.forEach((l,c)=>{i.pushScript(n,l),m.lua_rawseti(n,-2,c+1)}),1;if(typeof s[0]=="number"&&s.length<=4){for(let l of s)m.lua_pushnumber(n,l);return s.length}}return Ge(n,i,s),1}catch(s){return m.lua_pushstring(n,V(String(s.message||s))),m.lua_error(n)}}}mtEnum(e){let i=new Set(["Name","FullName","EnumType"]);this.mtIndexNewindex(e,"EnumItem",(n,r)=>i.has(r)?n[r]:void 0,(n,r)=>{throw new Error(`cannot set ${r}, no such field`)},{})}mtCursor(e){let i=new Set(["dragging","touchId"]);this.mtIndexNewindex(e,"CursorEventData",(n,r)=>i.has(r)?n[r]:void 0,(n,r)=>{throw new Error(`cannot set ${r}, no such field`)},{GetUIPos:this.method(n=>n.GetUIPos()),GetPressUIPos:this.method(n=>n.GetPressUIPos()),GetUIPosDelta:this.method(n=>n.GetUIPosDelta())})}mtControl(e){let i=this.method((r,o)=>r.SetVisible(o)),n={GetChildren:this.method(r=>{let o=r.GetChildren();return o.__controls=!0,o}),GetChild:this.method((r,o)=>r.GetChild(o)),FindChild:this.method((r,o)=>r.FindChild(o)),SetActive:this.method((r,o)=>r.SetActive(o)),SetVisible:r=>m.lua_isboolean(r,2)?i(r):Ce.luaL_error(r,V("bad argument #2 to 'SetVisible' (boolean expected, got %s)"),Ce.luaL_typename(r,2)),GetSiblingIndex:this.method(r=>r.GetSiblingIndex()),SetSiblingIndex:this.method((r,o)=>r.SetSiblingIndex(o)),SetAsFirstSibling:this.method(r=>r.SetAsFirstSibling()),SetAsLastSibling:this.method(r=>r.SetAsLastSibling()),GetAnchoredPosition:this.method(r=>r.GetAnchoredPosition()),SetAnchoredPosition:this.method((r,o,a)=>r.SetAnchoredPosition(o,a)),GetSizeDelta:this.method(r=>r.GetSizeDelta()),SetSizeDelta:this.method((r,o,a)=>r.SetSizeDelta(o,a)),GetAnchorMin:this.method(r=>r.GetAnchorMin()),SetAnchorMin:this.method((r,o,a)=>r.SetAnchorMin(o,a)),GetAnchorMax:this.method(r=>r.GetAnchorMax()),SetAnchorMax:this.method((r,o,a)=>r.SetAnchorMax(o,a)),GetPivot:this.method(r=>r.GetPivot()),SetPivot:this.method((r,o,a)=>r.SetPivot(o,a)),GetLocalScale:this.method(r=>r.GetLocalScale()),SetLocalScale:this.method((r,o,a,s)=>r.SetLocalScale(o,a,s)),GetLocalRotation:this.method(r=>r.GetLocalRotation()),SetLocalRotation:this.method((r,o,a,s)=>r.SetLocalRotation(o,a,s)),GetScriptByPath:this.method((r,o)=>r.GetScriptByPath(o)),GetScript:this.method((r,o)=>r.GetScript(o)),GetScripts:this.method(r=>{let o=r.GetScripts();return o.__scripts=!0,o}),AddCursorEventListener:this.method((r,o,a)=>r.AddCursorEventListener(et(o),a)),RemoveCursorEventListener:this.method((r,o,a)=>r.RemoveCursorEventListener(et(o),a)),RemoveCursorEventListeners:this.method((r,o)=>r.RemoveCursorEventListeners(et(o))),RemoveAllCursorEventListeners:this.method(r=>r.RemoveAllCursorEventListeners()),SimulateCursorClick:this.method(r=>r.SimulateCursorClick()),AddKeyEventListener:this.method((r,o,a)=>r.AddKeyEventListener(et(o),a)),RemoveKeyEventListener:this.method((r,o,a)=>r.RemoveKeyEventListener(et(o),a)),RemoveKeyEventListeners:this.method((r,o)=>r.RemoveKeyEventListeners(et(o))),RemoveAllKeyEventListeners:this.method(r=>r.RemoveAllKeyEventListeners()),AddNavigationEventListener:this.method((r,o,a)=>r.AddNavigationEventListener(et(o),a)),RemoveNavigationEventListener:this.method((r,o,a)=>r.RemoveNavigationEventListener(et(o),a)),RemoveNavigationEventListeners:this.method((r,o)=>r.RemoveNavigationEventListeners(et(o))),RemoveAllNavigationEventListeners:this.method(r=>r.RemoveAllNavigationEventListeners()),SetControllerNavigation:this.method((r,o,a,s)=>r.SetControllerNavigation(et(o),a,s)),GetControllerNavigation:this.method((r,o)=>r.GetControllerNavigation(et(o))),SetImage:this.method((r,o,a)=>r.SetImage(o,a)),SetSoftEdgeWidth:this.method((r,o,a)=>r.SetSoftEdgeWidth(o,a)),SetFillUnused:this.method(r=>r.SetFillUnused()),SetFillHorizontal:this.method((r,o,a)=>r.SetFillHorizontal(o,a)),SetFillVertical:this.method((r,o,a)=>r.SetFillVertical(o,a)),SetFillRadial90:this.method((r,o,a)=>r.SetFillRadial90(o,a)),SetFillRadial180:this.method((r,o,a)=>r.SetFillRadial180(o,a)),SetFillRadial360:this.method((r,o,a)=>r.SetFillRadial360(o,a)),PlayAnimation:this.method(r=>r.PlayAnimation()),StopAnimation:this.method(r=>r.StopAnimation()),RefreshItems:this.method((r,o,a)=>{this.retainLuaCallback(a);try{r.RefreshItems(o,a)}finally{this.unrefLuaCallback(a)}}),GetItemIndex:this.method((r,o)=>r.GetItemIndex(o)),GetItemSize:this.method(r=>r.GetItemSize()),GetItemSpacing:this.method(r=>r.GetItemSpacing()),GetPadding:this.method(r=>r.GetPadding()),ScrollToItemAt:this.method((r,o,a)=>r.ScrollToItemAt(o,a)),GetContentLength:this.method(r=>r.GetContentLength())};this.mtIndexNewindex(e,"Control",(r,o)=>{if(!Ks(r,o))return;if(!r.alive&&o!=="alive")throw new Error(`attempt to read '${o}' of a destroyed control`);let a=r.luaFieldValue(o),s=qd[o];return s?Qs(s,a):typeof a=="number"&&!hg.has(o)&&!pg.has(o)?new cr(a):a},(r,o,a)=>{if(Ks(r,o)==="rw"){if((o==="fontSize"||o==="minimumFontSize")&&!Number.isInteger(a)){let c=a===null?"nil":typeof a;throw new Error(`bad argument #2 to '${o}' (integer expected, got ${c})`)}let l=qd[o];if(o==="animationId"&&!Number.isSafeInteger(a))throw new Error("animationId requires an integer");if(o==="playSoundEffect"&&typeof a!="boolean")throw new Error("playSoundEffect requires a boolean");if(o==="layer"&&(a?.EnumType!=="UIAnimationLayer"||!["AboveAllControls","BelowAllControls"].includes(a.Name)))throw new Error("layer requires Enum.UIAnimationLayer");if(o==="imageType"&&(a?.EnumType!=="ImageType"||!["Basic","Stretch"].includes(a.Name)))throw new Error("imageType requires Enum.ImageType.Basic or Stretch");r[o]=l?Qs(l,a):a,typeof r.markPlayDirty=="function"&&r.markPlayDirty(No.has(o));return}throw new Error(`cannot set ${o}, no such field`)},n,zd)}mtScript(e){let i=this,n=new Set(["alive","scriptMappingId","object","path","enabled"]);this.mtIndexNewindex(e,"Script",(r,o)=>n.has(o)?r[o]:void 0,(r,o,a)=>{if(o==="enabled"){r.enabled=!!a;return}throw new Error(`cannot set ${o}, no such field`)},{GetParam:this.method((r,o)=>Object.prototype.hasOwnProperty.call(r.params,o)?r.params[o]:null),Invoke:r=>i.luaInvoke(r),EnableUpdate:this.method((r,o)=>{r.updateEnabled=!!o}),RegisterServerSignalHandler:this.method((r,o,a)=>{i.signalHandlers.push({script:r,name:o,fn:a})}),UnregisterServerSignalHandler:this.method((r,o)=>{i.signalHandlers=i.signalHandlers.filter(a=>!(a.script===r&&a.name===o))}),RegisterCustomVariableChangedHandler:this.method((r,o,a,s)=>{i.varHandlers.push({script:r,entityType:et(o),name:a,fn:s})}),UnregisterCustomVariableChangedHandler:this.method((r,o,a)=>{let s=et(o);i.varHandlers=i.varHandlers.filter(l=>!(l.script===r&&l.entityType===s&&l.name===a))})})}mtTween(e){this.mtIndexNewindex(e,"Tween",()=>{},()=>{},{SetEase:this.method((i,n)=>i.SetEase(n)),SetRelative:this.method((i,n)=>i.SetRelative(n)),Play:this.method(i=>i.Play()),Pause:this.method(i=>i.Pause()),Resume:this.method(i=>i.Resume()),Restart:this.method(i=>i.Restart()),Complete:this.method(i=>i.Complete()),Kill:this.method((i,n)=>i.Kill(n)),SetOnComplete:this.method((i,n)=>i.SetOnComplete(n)),SetOnStepComplete:this.method((i,n)=>i.SetOnStepComplete(n)),SetLoops:this.method((i,n)=>i.SetLoops(n))})}mtSeq(e){this.mtIndexNewindex(e,"TweenSequence",()=>{},()=>{},{Append:this.method((i,n)=>i.Append(n)),AppendInterval:this.method((i,n)=>i.AppendInterval(n)),AppendCallback:this.method((i,n)=>i.AppendCallback(n)),Join:this.method((i,n)=>i.Join(n)),Insert:this.method((i,n,r)=>i.Insert(n,r)),InsertCallback:this.method((i,n,r)=>i.InsertCallback(n,r)),Play:this.method(i=>i.Play()),Pause:this.method(i=>i.Pause()),Resume:this.method(i=>i.Resume()),Restart:this.method(i=>i.Restart()),Complete:this.method(i=>i.Complete()),Kill:this.method((i,n)=>i.Kill(n)),SetOnComplete:this.method((i,n)=>i.SetOnComplete(n)),SetOnStepComplete:this.method((i,n)=>i.SetOnStepComplete(n)),SetLoops:this.method((i,n)=>i.SetLoops(n))})}mtSignal(e){this.mtIndexNewindex(e,"ServerSignal",()=>{},()=>{},{AddParam:this.method((i,n,r)=>i.AddParam(n,r)),SendSignal:this.method(i=>i.SendSignal()),AddInt:this.method((i,n)=>i.AddInt(n)),AddIntList:this.method((i,n)=>i.AddIntList(n)),AddFloat:this.method((i,n)=>i.AddFloat(n)),AddFloatList:this.method((i,n)=>i.AddFloatList(n)),AddString:this.method((i,n)=>i.AddString(n)),AddStringList:this.method((i,n)=>i.AddStringList(n)),AddVector3:this.method((i,n)=>i.AddVector3(n)),AddVector3List:this.method((i,n)=>i.AddVector3List(n)),AddBool:this.method((i,n)=>i.AddBool(n)),AddBoolList:this.method((i,n)=>i.AddBoolList(n)),AddGuid:this.method((i,n)=>i.AddGuid(n)),AddGuidList:this.method((i,n)=>i.AddGuidList(n)),AddEntity:this.method((i,n)=>i.AddEntity(n)),AddEntityList:this.method((i,n)=>i.AddEntityList(n)),AddPrefabId:this.method((i,n)=>i.AddPrefabId(n)),AddPrefabIdList:this.method((i,n)=>i.AddPrefabIdList(n)),AddConfigId:this.method((i,n)=>i.AddConfigId(n)),AddConfigIdList:this.method((i,n)=>i.AddConfigIdList(n))})}luaRequire(e){let i=Te(e,1),n=this.normalizeRequirePath(i),r=this.requireAliases.get(n)||n;m.lua_rawgeti(e,Xi,m.LUA_RIDX_MAINTHREAD);let o=m.lua_tothread(e,-1);m.lua_pop(e,1);let a=this.requireCache.get(o);a||(a=new Map,this.requireCache.set(o,a));let s=a.get(r);if(s?.loading)return m.lua_pushstring(e,V(`failed to load script '${n}': cyclic require`)),m.lua_error(e);if(s&&s.ref!=null)return m.lua_rawgeti(e,Xi,s.ref),1;let l=this.scriptFiles.get(r);if(l==null)return m.lua_pushstring(e,V(`failed to load script '${n}'`)),m.lua_error(e);let c=m.lua_gettop(e);a.set(r,{loading:!0});try{this.loadModule(e,o,r,l),m.lua_pushvalue(e,-1);let u=Ce.luaL_ref(e,Xi);return a.set(r,{ref:u}),1}catch(u){return a.delete(r),m.lua_settop(e,c),m.lua_pushstring(e,V(`failed to load script '${n}': ${u.message||u}`)),m.lua_error(e)}}newLuaThread(){let e=Ce.luaL_newstate();return kd.luaL_openlibs(e),Nd(e),this.installMetatables(e),this.installGlobals(e),this.luaStates.add(e),m.lua_pushglobaltable(e),this.copyLuaEnvironment(e,-1),m.lua_remove(e,-2),this.moduleBaseEnvironments.set(e,Ce.luaL_ref(e,Xi)),e}copyLuaEnvironment(e,i){let n=m.lua_absindex(e,i);m.lua_newtable(e);let r=m.lua_absindex(e,-1);for(m.lua_pushnil(e);m.lua_next(e,n)!==0;)m.lua_pushvalue(e,-2),m.lua_pushvalue(e,-2),m.lua_rawset(e,r),m.lua_pop(e,1);m.lua_pushvalue(e,r),m.lua_setfield(e,r,V("_G"))}closeTrackedLuaState(e){if(!e||!this.luaStates.has(e))return;for(let n of this.requireCache.get(e)?.values()||[])n.ref!=null&&Ce.luaL_unref(e,Xi,n.ref);this.requireCache.delete(e);let i=this.moduleBaseEnvironments.get(e);if(i!=null&&Ce.luaL_unref(e,Xi,i),this.moduleBaseEnvironments.delete(e),this.luaStates.delete(e),this.luaFunctions)for(let[n,r]of this.luaFunctions)r.__luaState===e&&this.luaFunctions.delete(n);Od(e)}loadModule(e,i,n,r){let o={__kind:"Script",alive:!0,scriptMappingId:this.resolveScriptMappingId(),object:null,path:n,enabled:!0,updateEnabled:!1,params:{},env:e,invoke(){}},a=String(r).replace(/^\uFEFF/,""),s=Ro(a);if(Ce.luaL_loadbuffer(e,s,s.length,V(`@${n}`))!==Ot)throw new Error(Te(e,-1));let c=m.lua_absindex(e,-1);if(m.lua_rawgeti(e,Xi,this.moduleBaseEnvironments.get(i)),this.copyLuaEnvironment(e,-1),m.lua_remove(e,-2),this.pushScript(e,o),m.lua_setfield(e,-2,V("script")),m.lua_setupvalue(e,c,1),m.lua_pcall(e,0,1,0)!==Ot)throw new Error(Te(e,-1))}mountScript({path:e,source:i,control:n,params:r={},scriptMappingId:o=void 0}){this.L||this.boot();let a=this.newLuaThread(),s={__kind:"Script",alive:!0,scriptMappingId:this.resolveScriptMappingId(o),object:n,path:this.normalizeRequirePath(e),enabled:!0,updateEnabled:!1,params:r,env:a,lifecyclePhase:"idle"};s.invoke=(c,u)=>this.invokeOn(a,c,u),n&&n.scripts.push(s),this.mountedScripts.push(s),this.pushScript(a,s),m.lua_setglobal(a,V("script"));let l=this.lifecyclePhase;try{this.lifecyclePhase="OnInit",s.lifecyclePhase="OnInit",this.runChunk(a,i,e);let c=this.callGlobal(a,"OnInit");c&&this.mountErrors.push(c),this.lifecyclePhase="OnEnable",s.lifecyclePhase="OnEnable";let u=this.callGlobal(a,"OnEnable");u&&this.mountErrors.push(u),this.lifecyclePhase="OnStart",s.lifecyclePhase="OnStart";let f=this.callGlobal(a,"OnStart");return f&&this.mountErrors.push(f),this.lifecyclePhase="running",s.lifecyclePhase="running",s}catch(c){throw s.alive=!1,s.lifecyclePhase="failed",this.mountedScripts=this.mountedScripts.filter(u=>u!==s),n&&(n.scripts=n.scripts.filter(u=>u!==s)),this.varHandlers=this.varHandlers.filter(u=>u.script!==s),this.signalHandlers=this.signalHandlers.filter(u=>u.script!==s),this.lifecyclePhase=l,a&&a!==this.L&&this.closeTrackedLuaState(a),s.env=null,c}}runChunk(e,i,n){let r=String(i).replace(/^\uFEFF/,""),o=Ro(r),a=Ce.luaL_loadbuffer(e,o,o.length,V(`@${n}`));if(a!==Ot){let l=Te(e,-1)||`luaL_loadbuffer status ${a}`;throw m.lua_pop(e,1),new Error(l)}let s=m.lua_pcall(e,0,0,0);if(s!==Ot){let l=Te(e,-1)||`lua_pcall status ${s}`;throw m.lua_pop(e,1),new Error(l)}}callGlobal(e,i){if(m.lua_getglobal(e,V(i)),m.lua_isfunction(e,-1)){if(m.lua_pcall(e,0,0,0)!==Ot){let r=Te(e,-1);m.lua_pop(e,1);let o=`${i}: ${r}`;return this.log("lua-error",o),o}}else m.lua_pop(e,1);return null}callGlobalDt(e,i,n){if(m.lua_getglobal(e,V(i)),m.lua_isfunction(e,-1)){if(m.lua_pushnumber(e,n),m.lua_pcall(e,1,0,0)!==Ot){let o=Te(e,-1);m.lua_pop(e,1),this.log("lua-error",`${i}: ${o}`)}}else m.lua_pop(e,1)}luaInvoke(e){let i=oi(e,1);if(!i||i.__kind!=="Script")return Ce.luaL_error(e,V("bad self to 'Invoke' (Script expected)"));let n=Te(e,2),r=i.env;if(!r||r.l_G!==e.l_G){let l=[];for(let f=3;f<=m.lua_gettop(e);f++)l.push(Ke(e,this,f));let c;try{c=i.invoke(n,l)}catch(f){return Ce.luaL_error(e,V(String(f.message||f)))}if(c===void 0)return 0;let u=Array.isArray(c)&&c.__multi?c:[c];for(let f of u)Ge(e,this,f);return u.length}let o=2;if(m.lua_getglobal(e,V(n)),!m.lua_isfunction(e,-1))return 0;m.lua_replace(e,o),m.lua_remove(e,1);let a=m.lua_gettop(e)-1;return m.lua_pcall(e,a,jd,0)!==Ot?m.lua_error(e):m.lua_gettop(e)}invokeOn(e,i,n){let r=m.lua_gettop(e);if(m.lua_getglobal(e,V(i)),!m.lua_isfunction(e,-1)){m.lua_settop(e,r);return}for(let l of n)Ge(e,this,l);if(m.lua_pcall(e,n.length,jd,0)!==Ot){let l=Te(e,-1);throw m.lua_settop(e,r),new Error(l)}let a=m.lua_gettop(e)-r;if(a<=0){m.lua_settop(e,r);return}if(a===1){let l=Ke(e,this,-1);return m.lua_settop(e,r),l}let s=[];for(let l=1;l<=a;l++)s.push(Ke(e,this,r+l));return m.lua_settop(e,r),s.__multi=!0,s}runScriptPhase(e,i){for(let n of this.mountedScripts){if(!this.scriptCanRun(n))continue;let r=n.env;r&&(this.pushScript(r,n),m.lua_setglobal(r,V("script")),!(e==="OnUpdate"&&!n.updateEnabled)&&this.callGlobalDt(r,e,i))}}step(e=1/30){if(typeof e!="number"||!Number.isFinite(e)||e<0)throw new TypeError("dt must be a finite non-negative number");this.clock.frame++,this.clock.time+=e;for(let[n,r]of this.audios)this.clock.time+1e-9>=r.startedAt+r.duration&&(r.alive=!1,this.audios.delete(n),this.audioRevision++);let i=!this.clock.paused;for(let n of[...this.animations])n.step(e);this.runScriptPhase("OnUpdate",e),i&&(this.clock.levelTime+=e,this.runScriptPhase("OnLevelUpdate",e))}injectKey(e){let i=n=>{if(!n.alive||!n.activeInHierarchy)return!1;if(n.keyListeners.has(e)&&n.emitKey(e))return!0;for(let r of[...n.children])if(i(r))return!0;return!1};for(let n of[...this.roots])i(n)}injectCursor(e,i,n){let r=n||this.makeCursorEventData({});Number.isFinite(r.x)&&Number.isFinite(r.y)&&(this.cursor.x=r.x,this.cursor.y=r.y),e.emitCursor(i,r)}getVar(e,i){if(this.serverBridge&&typeof this.serverBridge.getVar=="function")return this.serverBridge.getVar(e,i);let n=this.serverVars[e];return n?n[i]:void 0}notifyVarHandlers(e,i){for(let n of this.varHandlers)this.scriptCanRun(n.script)&&n.entityType===e&&n.name===i&&this.safeCall(n.fn,this.enumTree.CustomVariableEntityType[e],i)}setVar(e,i,n){if(this.serverBridge&&typeof this.serverBridge.setVar=="function"){this.serverBridge.setVar(e,i,n);return}let r=this.serverVars[e]||(this.serverVars[e]=Object.create(null));r[i]=n,this.notifyVarHandlers(e,i)}sendClientSignal(e,i){for(let n of this.signalHandlers)this.scriptCanRun(n.script)&&n.name===e&&this.safeCall(n.fn,e,i)}evalQueryScript(e,i){this.L||this.boot();let n=this.L;m.lua_createtable(n,0,5);let r=(o,a)=>{m.lua_pushcfunction(n,a),m.lua_setfield(n,-2,V(o))};return r("var",o=>(Ge(o,this,i.var(Te(o,1),Te(o,2))),1)),r("logContains",o=>(m.lua_pushboolean(o,i.logContains(Te(o,1))),1)),r("control",o=>(Ge(o,this,i.control(Te(o,1))),1)),r("logs",o=>(Ge(o,this,i.logs()),1)),r("signals",o=>(Ge(o,this,i.signals(Te(o,1))),1)),r("serverLogs",o=>(Ge(o,this,i.serverLogs?i.serverLogs():[]),1)),r("serverLogContains",o=>{let a=i.serverLogContains;return m.lua_pushboolean(o,a?!!a(Te(o,1)):!1),1}),m.lua_setglobal(n,V("query")),this.runChunk(n,e,"autotest-assert"),!0}destroy(){for(let e of this.roots.slice())this.destroyControl(e);for(let e of this.mountedScripts.slice())this.unmountScript(e);this.lifecyclePhase="idle",this.mountedScripts=[],this.luaFunctions.clear();for(let e of[...this.luaStates])this.closeTrackedLuaState(e);this.L=null,this.audios.clear(),this.audioHistory.length=0,this.audioWarnings.clear()}};function pr(t){let e=new Do(t);return e.boot(),e}var Ki=Object.freeze(Array.from({length:8},(t,e)=>`Player${e+1}`)),nl=Object.freeze(Array.from({length:8},(t,e)=>`Avatar${e+1}`)),Zd=Object.freeze(["Level","PlayerSelf","AvatarSelf"]);var tl=Object.freeze([...Zd,...Ki,...nl]),Qd=Object.freeze(["PlayerSelf","AllPlayers",...Ki]),gg=Object.freeze(["Level","PlayerSelf",...Ki]),Hd=Object.freeze(["Int","Float","String","Bool","Vector3","Entity","Guid","PrefabId","ConfigId","IntList","FloatList","StringList","BoolList","Vector3List","EntityList","GuidList","PrefabIdList","ConfigIdList","Dict","Struct"]),bg=-2147483648,yg=2147483647,vg=new Set(["set-custom-variable","get-custom-variable","custom-variable-changed","\u8BBE\u7F6E\u81EA\u5B9A\u4E49\u53D8\u91CF","\u83B7\u53D6\u81EA\u5B9A\u4E49\u53D8\u91CF","\u81EA\u5B9A\u4E49\u53D8\u91CF\u53D8\u5316\u65F6","send-signal","listen-signal","send-client-script-signal","\u53D1\u9001\u4FE1\u53F7","\u76D1\u542C\u4FE1\u53F7","\u53D1\u9001\u5BA2\u6237\u7AEF\u811A\u672C\u4FE1\u53F7","setVar","getVar","signal","var"]);function mr(t){return`Player${Number(t)}`}function $o(t){return`Avatar${Number(t)}`}function Ud(t){let e=String(t||"").match(/^(?:Player|Avatar)([1-8])$/);return e?Number(e[1]):0}function Wi(t){if(t==null||t==="")return 1;let e=Number(t);if(!Number.isInteger(e)||e<1||e>8)throw new Error("playerCount must be an integer 1-8");return e}function ai(t,e=8){let i=Wi(e);if(t==null||t==="")return 1;let n=Number(t);if(!Number.isInteger(n)||n<1||n>i)throw new Error(`playerIndex must be an integer 1-${i}`);return n}function Yd(){let t={Level:Object.create(null),PlayerSelf:Object.create(null),AvatarSelf:Object.create(null)};for(let e of Ki)t[e]=Object.create(null);for(let e of nl)t[e]=Object.create(null);return t}function e0(t){let e=String(t||"");if(!tl.includes(e))throw new Error(`unknown CustomVariableEntityType: ${t}`);return e}function wg(t,e){let i=e0(t);if(!gg.includes(i))throw new Error(`${e}.entityType must be Level, PlayerSelf, or Player1-8`);return i}function gr(t){let e=String(t??"");if(!e)throw new Error("custom variable name is required");return e}function zo(t){let e=String(t??"");if(!e)throw new Error("signal name is required");return e}function il(t){let e=String(t||"PlayerSelf");if(!Qd.includes(e))throw new Error(`unsupported client signal target: ${t}. use PlayerSelf, AllPlayers, or Player1-8`);return e}function br(t){if(t==null)return"";if(typeof t=="boolean")return"Bool";if(typeof t=="string")return"String";if(typeof t=="number")return Number.isInteger(t)?"Int":"Float";if(Array.isArray(t)){if(t.length===0)return"IntList";let e=br(t[0]);return e&&!e.endsWith("List")&&e!=="Dict"&&e!=="Struct"?`${e}List`:"IntList"}return t&&typeof t=="object"?"x"in t||"y"in t||"z"in t?"Vector3":"Dict":""}function st(t){return t===void 0?null:JSON.parse(JSON.stringify(t))}function Xd(t){return Array.isArray(t)?t.map(e=>e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"value")&&"type"in e?e.value:e):[]}function Wd(t){return Array.isArray(t)?t.map(e=>e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"value")&&"type"in e?{type:String(e.type||""),value:e.value}:{type:br(e),value:e}):[]}function Sg(t){return String(t?.kind||t?.type||t?.name||t?.id||"")}function Lo(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function t0(t,e){if(!Lo(t)||!Object.prototype.hasOwnProperty.call(t,"fromSignalParam"))return null;if(Object.keys(t).some(n=>n!=="fromSignalParam"))throw new Error(`${e}.fromSignalParam cannot be combined with literal fields`);let i=Number(t.fromSignalParam);if(!Number.isSafeInteger(i)||i<0)throw new Error(`${e}.fromSignalParam must be a non-negative integer`);return{fromSignalParam:i}}function Kd(t,e){return t0(t,e)||st(t)}function xg(t,e,i){if(!Lo(t))throw new Error(`serverLogic.rules[${e}].actions[${i}] must be an object`);let n=String(t.kind||t.type||""),r=`serverLogic.rules[${e}].actions[${i}]`;if(n==="setCustomVariable"){let o=wg(t.entityType,r);if(!Object.prototype.hasOwnProperty.call(t,"value"))throw new Error(`${r}.value is required`);return{kind:n,entityType:o,name:gr(t.name),value:Kd(t.value,`${r}.value`),...t.variableType?{variableType:String(t.variableType)}:{}}}if(n==="sendClientScriptSignal"){if(!Array.isArray(t.params))throw new Error(`${r}.params must be an array`);return{kind:n,target:il(t.target),signalName:zo(t.signalName),params:t.params.map((o,a)=>Kd(o,`${r}.params[${a}]`))}}throw new Error(`${r}.kind must be setCustomVariable or sendClientScriptSignal`)}function yr(t){if(t==null)return{version:1,rules:[]};if(!Lo(t))throw new Error("serverLogic must be an object");let e=t.rules===void 0?[]:t.rules;if(!Array.isArray(e))throw new Error("serverLogic.rules must be an array");return{version:1,rules:e.map((i,n)=>{if(!Lo(i))throw new Error(`serverLogic.rules[${n}] must be an object`);if(!Array.isArray(i.actions)||i.actions.length===0)throw new Error(`serverLogic.rules[${n}].actions must be a non-empty array`);return{id:String(i.id||`signal-${n+1}`),signalName:zo(i.signalName),actions:i.actions.map((r,o)=>xg(r,n,o))}})}}function Jd(t,e,{typed:i=!1}={}){let n=t0(t,"server logic value");if(n){let r=i?e.params:e.values;if(n.fromSignalParam>=r.length)throw new Error(`signal ${e.name} has no parameter at index ${n.fromSignalParam}`);return st(r[n.fromSignalParam])}return st(t)}function Eg(t){return t==="Level"?"Level":Ki.includes(t)?"PlayerSelf":nl.includes(t)?"AvatarSelf":t}function i0(t={}){let e=Yd(),i=Yd(),n=[],r=[],o=[],a=[],s=Array.from({length:9},()=>null),l=1,c=0,u=Number(t.onlineLatencyMs||0);(!Number.isFinite(u)||u<0)&&(u=0);let f=yr(t.logic),h=Wi(t.playerCount),p=ai(t.viewPlayerIndex,h);function g(E,A){a.push({source:"server",level:String(E||"engine"),text:String(A),time:c})}function b(E){let A=s[E||p],y=Number(A?.clock?.time);Number.isFinite(y)&&(c=y)}function w(E,A,y,O){e[E][A]=y,i[E][A]={type:O||br(y)||i[E][A]?.type||""}}function S(E,A,y){return typeof y!="number"||!Number.isInteger(y)?{ok:!0,value:y}:y>=bg&&y<=yg?{ok:!0,value:y}:(g("engine",`Int custom variable ${E}.${A} out of range ${y}; keeping previous legal value`),{ok:!1,value:e[E][A]})}function x(E,A){let y=e0(E),O=A||p;return y==="PlayerSelf"?mr(O):y==="AvatarSelf"?$o(O):y}function F(E,A){let y=Eg(E);if(E==="Level"){for(let d=1;d<=h;d+=1){let _=s[d];_&&typeof _.notifyVarHandlers=="function"&&_.notifyVarHandlers("Level",A)}return}let O=Ud(E);if(!O)return;let k=s[O];k&&typeof k.notifyVarHandlers=="function"&&k.notifyVarHandlers(y,A)}function I(E,A){let y=il(E);return y==="AllPlayers"?Array.from({length:h},(O,k)=>k+1):y==="PlayerSelf"?[A||p]:[Ud(y)]}function $(E){for(let A of f.rules)if(A.signalName===E.name)for(let y of A.actions){if(y.kind==="setCustomVariable"){let O=Jd(y.value,E);B.setVar(y.entityType,y.name,O,{type:y.variableType,playerIndex:E.playerIndex}),g("info",`logic ${A.id}: set ${y.entityType}.${y.name}`);continue}if(y.kind==="sendClientScriptSignal"){let O=y.params.map(k=>Jd(k,E,{typed:!0}));B.sendToClient(y.signalName,O,{target:y.target,playerIndex:E.playerIndex}),g("info",`logic ${A.id}: sent ${y.signalName} to ${y.target}`)}}}function z(E,A){E&&(E.serverBridge={getVar:(y,O)=>B.getVar(y,O,{playerIndex:A}),setVar:(y,O,k)=>B.setVar(y,O,k,{playerIndex:A}),receiveFromClient:(y,O)=>B.receiveFromClient(y,O,{playerIndex:A})})}function q(E){E&&(E.serverBridge=null)}let B={ENTITY_TYPES:Zd,ALL_ENTITY_TYPES:tl,CLIENT_SIGNAL_TARGETS:Qd,get clock(){return c},get playerCount(){return h},get viewPlayerIndex(){return p},setClock(E){c=Number(E)||0},setPlayerCount(E){return h=Wi(E),p>h&&(p=h),h},setViewPlayerIndex(E){return p=ai(E,h),p},log(E,A){g(E,A)},defineVar(E,A,y={},{playerIndex:O}={}){let k=x(E,O),d=gr(A);if(Object.prototype.hasOwnProperty.call(e[k],d))throw new Error(`custom variable already exists: ${k}.${d}`);let _=y.type?String(y.type):br(y.value??y.defaultValue);if(_&&!Hd.includes(_))throw new Error(`unsupported custom variable type: ${_}`);let D=y.value!==void 0?y.value:y.defaultValue!==void 0?y.defaultValue:null;return w(k,d,D,_),B.getVar(k,d)},getVar(E,A,{playerIndex:y}={}){let O=x(E,y),k=gr(A);if(!Object.prototype.hasOwnProperty.call(e[O],k)){g("engine",`GetGlobalCustomVariableValue missing ${O}.${k}; returning nil (simulator policy)`);return}return e[O][k]},setVar(E,A,y,{notify:O=!0,type:k,playerIndex:d}={}){let _=x(E,d),D=gr(A),H=k||i[_][D]?.type||br(y);if(H&&!Hd.includes(H)&&H!=="")throw new Error(`unsupported custom variable type: ${H}`);let U=y;if(!((H==="Int"||H===""&&typeof y=="number"&&Number.isInteger(y))&&(U=S(_,D,y).value,U===void 0)))return w(_,D,U,H),O&&F(_,D),U},listVars(E){let A=E?[x(E)]:["Level",...Array.from({length:h},(O,k)=>mr(k+1)),...Array.from({length:h},(O,k)=>$o(k+1))],y=[];for(let O of A)for(let k of Object.keys(e[O]))y.push({entityType:O,name:k,type:i[O][k]?.type||"",value:st(e[O][k])});return y},receiveFromClient(E,A=[],{playerIndex:y}={}){let O=ai(y||p,h);b(O);let k=zo(E),d={id:l++,direction:"inbound",name:k,params:Wd(A),values:Xd(A),time:c,playerIndex:O,from:mr(O)};return n.push(d),$(d),d},sendToClient(E,A=[],{target:y="PlayerSelf",playerIndex:O}={}){let k=zo(E),d=il(y),D=I(d,O||p),H={id:l++,direction:"outbound",name:k,params:Wd(A),values:Xd(A),time:c,target:d,players:D,deliverAt:c+u/1e3,delivered:!1};return r.push(H),u===0?B.deliver(H):o.push(H),H},getLogic(){return st(f)},setLogic(E){return f=yr(E),B.getLogic()},deliver(E){if(!E||E.delivered)return;E.delivered=!0;let A=Array.isArray(E.players)&&E.players.length?E.players:I(E.target);for(let y of A){let O=s[y];O&&typeof O.sendClientSignal=="function"&&O.sendClientSignal(E.name,E.values)}},flush(E){E!==void 0&&(c=Number(E)||0);let A=[];for(let y=o.length-1;y>=0;y-=1)o[y].deliverAt<=c&&A.push(o.splice(y,1)[0]);A.sort((y,O)=>y.id-O.id);for(let y of A)B.deliver(y);return A},inbound(){return n.slice()},outbound(){return r.slice()},loadConfig(E){if(E!=null){if(typeof E!="object")throw new Error("server config must be an object");if(E.graph&&!Array.isArray(E.nodes))throw new Error("unsupported server node graph: v1 only accepts custom variables and signals");for(let A of E.nodes||[]){let y=Sg(A);if(!vg.has(y))throw new Error(`unsupported server node: ${y||JSON.stringify(A)}. v1 only supports custom variables and signals`)}if(E.onlineLatencyMs!==void 0){let A=Number(E.onlineLatencyMs);if(!Number.isFinite(A)||A<0)throw new Error("onlineLatencyMs must be a non-negative finite number");u=A}E.playerCount!==void 0&&B.setPlayerCount(E.playerCount),E.viewPlayerIndex!==void 0&&B.setViewPlayerIndex(E.viewPlayerIndex),(E.logic!==void 0||E.serverLogic!==void 0)&&B.setLogic(E.logic??E.serverLogic);for(let A of E.vars||[]){let y=x(A.entityType),O=gr(A.name);Object.prototype.hasOwnProperty.call(e[y],O)?B.setVar(y,O,A.value??A.defaultValue,{notify:!1,type:A.type}):B.defineVar(y,O,A)}}},attachRuntime(E,{playerIndex:A=1}={}){let y=ai(A,8);return s[y]&&s[y]!==E&&q(s[y]),s[y]=E||null,z(s[y],y),B},attachRuntimes(E){B.detachRuntime();let A=Array.isArray(E)?E:[];for(let y=0;y<A.length&&y<8;y+=1)s[y+1]=A[y]||null,z(s[y+1],y+1);return B},detachRuntime(){for(let E=1;E<=8;E+=1)q(s[E]),s[E]=null},snapshot(){let E=mr(p),A=$o(p),y={Level:{},PlayerSelf:{},AvatarSelf:{}};for(let O of Object.keys(e.Level))y.Level[O]={type:i.Level[O]?.type||"",value:st(e.Level[O])};for(let O of Object.keys(e[E]))y.PlayerSelf[O]={type:i[E][O]?.type||"",value:st(e[E][O])};for(let O of Object.keys(e[A]))y.AvatarSelf[O]={type:i[A][O]?.type||"",value:st(e[A][O])};for(let O=1;O<=h;O+=1){let k=mr(O),d=$o(O);y[k]={},y[d]={};for(let _ of Object.keys(e[k]))y[k][_]={type:i[k][_]?.type||"",value:st(e[k][_])};for(let _ of Object.keys(e[d]))y[d][_]={type:i[d][_]?.type||"",value:st(e[d][_])}}return{clock:c,onlineLatencyMs:u,playerCount:h,viewPlayerIndex:p,logic:B.getLogic(),vars:y,inbound:n.map(O=>({id:O.id,name:O.name,params:st(O.params),values:st(O.values),time:O.time,playerIndex:O.playerIndex,from:O.from})),outbound:r.map(O=>({id:O.id,name:O.name,params:st(O.params),values:st(O.values),time:O.time,target:O.target,players:Array.isArray(O.players)?O.players.slice():[],deliverAt:O.deliverAt,delivered:!!O.delivered})),logs:a.map(O=>({source:"server",level:O.level,text:O.text,time:O.time}))}},reset(){for(let E of tl){for(let A of Object.keys(e[E]))delete e[E][A];for(let A of Object.keys(i[E]))delete i[E][A]}n.length=0,r.length=0,o.length=0,a.length=0,l=1,c=0},destroy(){B.detachRuntime(),B.reset()}};t.config&&B.loadConfig(t.config);for(let E of t.vars||[])B.defineVar(E.entityType,E.name,E);return B}var Ig={container:"container",textbox:"textbox",image:"image",button:"button",cursor:"cursor",grid:"grid",reference:"reference",textwindow:"textwindow",keyhint:"keyhint",animation:"animation",fullscreen:"fullscreen"};function rl(t,e,i=null){let n=fi(t.transformByPlatform,e),r={authoringId:t.id,kind:Ig[t.kind]||"container",name:t.name,prefabIndex:t.guid||0,active:t.active!==!1,visible:t.visible!==!1,canControllerFocus:t.canControllerFocus===!0,anchoredPositionX:n.offset.x,anchoredPositionY:n.offset.y,sizeDeltaX:n.size.x,sizeDeltaY:n.size.y,anchorMinX:n.anchorMin.x,anchorMinY:n.anchorMin.y,anchorMaxX:n.anchorMax.x,anchorMaxY:n.anchorMax.y,pivotX:n.pivot.x,pivotY:n.pivot.y,localScaleX:n.scale.x,localScaleY:n.scale.y,localScaleZ:n.scale.z,localRotationX:n.rotation.x,localRotationY:n.rotation.y,localRotationZ:n.rotation.z,children:(t.children||[]).map(a=>rl(a,e,i))},o=i?.get(t.id);if(o?.length&&(r.scripts=o.map(a=>{let s=Number(a.guid);return{path:a.path||a.id,source:a.source||"",...Number.isSafeInteger(s)&&s>0?{scriptMappingId:s}:{}}})),t.kind==="container"&&(r.isolateNavigation=t.isolateNavigation===!0,r.disableKeyEventPassthrough=t.disableKeyEventPassthrough===!0,r.disableCursorEventPassthrough=t.disableCursorEventPassthrough===!0,r.showCursor=t.showCursor===!0),(t.kind==="textbox"||t.kind==="textwindow")&&(r.text=t.text??"",r.fontSize=t.fontSize,r.adaptiveFontSize=t.adaptiveFontSize===!0,r.minimumFontSize=t.minimumFontSize,r.fontColor=t.fontColor,r.bgColor=t.bgColor,r.enableOutline=t.enableOutline!==!1,r.outlineColor=t.outlineColor,r.horizontalAlignment=t.horizontalAlignment||"Left",r.verticalAlignment=t.verticalAlignment||"Top",t.kind==="textwindow"&&(r.interactable=t.interactable!==!1,r.showScrollBar=t.showScrollBar!==!1)),t.kind==="image"&&(r.imageSource=t.imageSource,r.imageType=t.imageType??null,r.imageId=t.imageId??0,r.imageColor=t.imageColor,r.raycastTarget=t.raycastTarget===!0,r.enableMask=t.enableMask===!0,r.enableSoftEdge=t.enableSoftEdge===!0,r.softEdgeMode=t.softEdgeMode,r.softEdgeWidthX=t.softEdgeWidthX,r.softEdgeWidthY=t.softEdgeWidthY,r.horizontalSoftRange=t.horizontalSoftRange,r.verticalSoftRange=t.verticalSoftRange,r.enableFill=t.enableFill===!0,r.fillType=t.enableFill?t.fillType:"Unused",r.fillHorizontalType=t.fillHorizontalType,r.fillVerticalType=t.fillVerticalType,r.fillRadial90Type=t.fillRadial90Type,r.fillRadialType=t.fillRadialType,r.fillAmount=t.fillAmount,r.reverseMaskArea=t.reverseMaskArea===!0),t.kind==="button"&&(r.raycastTarget=t.raycastTarget!==!1,r.interactable=t.interactable!==!1,r.clickAudioId=t.clickAudioId,r.unavailableChildId=t.unavailableChildId??null,r.hoverChildId=t.hoverChildId??null,r.pressedChildId=t.pressedChildId??null,r.selectedChildId=t.selectedChildId??null),t.kind==="cursor"&&(r.raycastTarget=t.raycastTarget!==!1),t.kind==="reference"&&(r.referencedPrefabIndex=t.referencedPrefabId),t.kind==="grid"&&(r.itemPrefabIndex=t.itemPrefabId,r.raycastTarget=t.raycastTarget!==!1,r.interactable=t.interactable!==!1,r.showScrollBar=t.showScrollBar!==!1,r.scrollDirection=t.scrollDirection,r.layoutConstraint=t.layoutConstraint,r.layoutConstraintFixedCount=t.layoutConstraintFixedCount,r.cellSizeX=t.cellSizeX,r.cellSizeY=t.cellSizeY,r.spacingX=t.spacingX,r.spacingY=t.spacingY,r.padding1X=t.padding1X,r.padding1Y=t.padding1Y,r.padding2X=t.padding2X,r.padding2Y=t.padding2Y,r.previewCount=t.previewCount),t.kind==="keyhint"&&(r.keyboardKeyCode=t.keyboardKeyCode,r.controllerKeyCode=t.controllerKeyCode),t.kind==="animation"||t.kind==="fullscreen"){r.raycastTarget=!1;let a=Number(t.animationId);r.animationId=t.animationId!=null&&String(t.animationId).trim()!==""&&Number.isSafeInteger(a)?a:t.animationId,r.playSoundEffect=t.playSoundEffect,t.kind==="animation"&&(r.layer=t.layer)}return r}function ol(t,e=[],i=""){let n=i&&_e[i]?i:t.canvasId,r=_e[n],o=Xn(t),a=new Map;for(let l of e){if(!l.controlId)continue;let c=a.get(l.controlId)||[];c.push(l),a.set(l.controlId,c)}let s=t.meta?.assetType==="client-control-template"?(t.root.children||[]).map(l=>rl(l,n,a)):[];return{canvasId:n,platform:r.platform,device:r.luaDevice,canvasWidth:r.width,canvasHeight:r.height,root:rl(o,n,a),templates:s}}var Go="qxqy-autotest";var Zi=.03333333333333333,_g=new Set(["pointer","key","click","pause","resume","serverSet","serverSend","view"]),kg=new Set(["log","control","var","signal","tree","lua"]);function Ji(t,e){let i=Number(t);if(!Number.isFinite(i))throw new Error(`${e} must be a finite number`);return i}function al(t){return JSON.parse(JSON.stringify(t??null))}function Bo(t,e){if(!t||typeof t!="object")throw new Error(`events[${e}] must be an object`);let i=String(t.kind||t.do||"");if(!_g.has(i))throw new Error(`unsupported event kind: ${i||"(empty)"}`);let n=t.payload&&typeof t.payload=="object"?{...t.payload}:{};if(i==="pointer")!n.type&&t.type&&(n.type=t.type),n.x===void 0&&(n.x=t.x),n.y===void 0&&(n.y=t.y),n.x=Ji(n.x,"pointer.x"),n.y=Ji(n.y,"pointer.y"),n.type=String(n.type||"click"),n.type==="wheel"&&(n.deltaX=Ji(n.deltaX??t.deltaX??0,"pointer.deltaX"),n.deltaY=Ji(n.deltaY??t.deltaY??0,"pointer.deltaY"));else if(i==="key"){if(n.typeName=String(n.typeName||n.key||t.typeName||t.key||""),!n.typeName)throw new Error("key event requires typeName")}else if(i==="click"){if(n.name=String(n.name||t.name||""),!n.name)throw new Error("click event requires control name")}else if(i==="serverSet"){if(n.entityType=String(n.entityType||t.entityType||""),n.name=String(n.name||t.name||""),n.value===void 0&&(n.value=t.value),n.value===void 0&&(n.value=null),!n.entityType||!n.name)throw new Error("serverSet requires entityType and name")}else if(i==="serverSend"){if(n.name=String(n.name||t.name||""),n.params=Array.isArray(n.params)?n.params:Array.isArray(t.params)?t.params:[],n.target=String(n.target||t.target||"PlayerSelf"),!n.name)throw new Error("serverSend requires signal name")}else if(i==="view"&&(n.playerIndex=Number(n.playerIndex||n.viewPlayerIndex||t.playerIndex||t.viewPlayerIndex||0),!Number.isInteger(n.playerIndex)||n.playerIndex<1))throw new Error("view event requires playerIndex 1-8");return{t:Ji(t.t??0,"event.t"),source:String(t.source||"user"),kind:i,payload:n}}function sl(t,e){if(!t||typeof t!="object")throw new Error(`asserts[${e}] must be an object`);let i=String(t.kind||(t.check?"log":""));if(!kg.has(i))throw new Error(`unsupported assert kind: ${i||"(empty)"}`);let n={kind:i};if(t.at!==void 0&&(n.at=Ji(t.at,"assert.at")),i==="log"){if(n.contains=String(t.contains||t.check||t.text||""),n.source=t.source==="server"?"server":"client",t.level&&(n.level=String(t.level)),!n.contains)throw new Error("log assert requires contains")}else if(i==="control"){if(n.id=t.id?String(t.id):"",n.name=t.name?String(t.name):"",n.field=String(t.field||""),!n.field)throw new Error("control assert requires field");if(!n.id&&!n.name)throw new Error("control assert requires id or name");if(!Object.prototype.hasOwnProperty.call(t,"equals"))throw new Error("control assert requires equals");n.equals=al(t.equals)}else if(i==="var"){if(n.entityType=String(t.entityType||""),n.name=String(t.name||""),!n.entityType||!n.name)throw new Error("var assert requires entityType and name");if(!Object.prototype.hasOwnProperty.call(t,"equals"))throw new Error("var assert requires equals");n.equals=al(t.equals)}else if(i==="signal"){if(n.direction=t.direction==="outbound"?"outbound":"inbound",n.name=String(t.name||""),!n.name)throw new Error("signal assert requires name");t.values!==void 0&&(n.values=al(t.values))}else if(i==="tree"){if(n.name=String(t.name||""),n.exists=t.exists!==!1,!n.name)throw new Error("tree assert requires name")}else if(i==="lua"&&(n.source=String(t.source||""),!n.source.trim()))throw new Error("lua assert requires source");return n}function n0(t){let e=0,i=[],n=[];for(let r of t){if(!r||typeof r!="object")throw new Error("queue step must be an object");if(r.do!=="start"){if(r.do==="step"){e+=Ji(r.dt??Zi,"step.dt");continue}if(r.do==="pointer"||r.do==="key"||r.do==="click"||r.do==="pause"||r.do==="resume"||r.do==="serverSet"||r.do==="serverSend"||r.do==="view"){i.push(Bo({...r,kind:r.do,t:e},i.length));continue}if(r.assert||r.check||r.kind){n.push(sl({...r.assert||r,at:r.at??e},n.length));continue}throw new Error(`unsupported queue step: ${JSON.stringify(r)}`)}}return{events:i,asserts:n,dt:Zi}}function vr(t){if(Array.isArray(t)){let n=n0(t);return{format:Go,version:1,name:"",dt:n.dt,events:n.events,asserts:n.asserts}}if(!t||typeof t!="object")throw new Error("autotest case must be an object or step array");if(Array.isArray(t.queue)||Array.isArray(t.steps)){let n=n0(t.queue||t.steps);return{format:Go,version:1,name:String(t.name||""),dt:Number(t.dt)>0?Number(t.dt):n.dt,events:n.events,asserts:n.asserts}}let e=(t.events||[]).map((n,r)=>Bo(n,r)),i=(t.asserts||[]).map((n,r)=>sl(n,r));return e.sort((n,r)=>n.t-r.t||0),{format:Go,version:1,name:String(t.name||""),dt:Number(t.dt)>0?Number(t.dt):Zi,playerCount:Number(t.playerCount)>0?Number(t.playerCount):1,events:e,asserts:i}}function r0(t,e={}){let i=(t||[]).map((n,r)=>Bo(n,r));return{format:Go,version:1,name:String(e.name||""),dt:Number(e.dt)>0?Number(e.dt):Zi,playerCount:Number(e.playerCount)>0?Number(e.playerCount):1,events:i,asserts:(e.asserts||[]).map((n,r)=>sl(n,r))}}function o0(t,e,i){if(!t)return null;let n=Bo({...e,t:e.t??i??0},t.events.length);return t.events.push(n),n}var Vo=(t,e)=>Math.max(0,Math.min(e,Number.isFinite(t)?t:0));function a0(t,e,i){let n=Zt(t,e,i),r=Math.max(0,n.contentHeight-i),o=Vo(t._scrollOffset||0,r);return t._scrollOffset=o,{...n,length:n.contentHeight,max:r,offset:o,viewport:i,horizontal:!1,width:e,height:i}}function Mn(t,e,i){if(!t?.showBar||t.max<=0||e<=0||i<=0)return null;let n=t.horizontal===!0,r=n?e:i,o=Math.max(0,r-4),a=Math.min(o,Math.max(18,o*r/(r+t.max))),s=o-a,l=s*t.offset/t.max,c=Math.min(8,n?i:e),u=n?{x:-e/2+2,y:i/2-c-2,width:o,height:c}:{x:e/2-c-2,y:-i/2+2,width:c,height:o},f=n?{...u,x:u.x+l,width:a}:{...u,y:u.y+l,height:a};return{track:u,thumb:f,travel:s}}var s0="https://oss.070077.xyz/",ll="mp3-v1",qo="/qxqy-audio/",Cg=[[10001,"ura.1ht4.2ag9.1hh5.jbb.k02.jcw.2tv.2wn.2xk.2r3.d5s.94l.ebv.kcr.b40.77k.9gp.97w.1hb5.jag.btu.jc9.hp5.bmj.blq.blq.ff9.ffk.o74.1owl.rp.mg.l3.lf.lh.qy.1a3z.2xk.2xk.2xk.2xk.2xk.17dc.1f2b.2bc.2bc.2bc.2bc.2bc.ffo.ffo.126.1fk.4mo.4mo.15e.1h2.237.2ba.2kd.2bc.4mo.4mo.4mo.4mo.1mc.1n6.2cu.1ud.2b1.2ee.1tj.1tk"],[20001,"o6.fh.kb.cr.og.sm.6x.8c.87.o7.vz.kt.qo.lg.ob.9w.mg.1kz.zc.1ex.1d5.ps.uu.su.qs.ys.zp.10k.15a.xc.uk.mx.1ax.nt.tu.19m.uj.1ku.tt.100.ie.d3.fp.ie.ie.d3.fp.ie.8p.7k.fw.h0.qc.ot.uc.ot.rk.gb.1c2.ff.cl.9v.wg.1ir.1lr.1b8.1ri.1p0.104.10n.mw.j6.jb.f1.dv.84.a0.cp.bx.1ko.1au.1ia.rs.rt.rs.t7.x6.wi.zc.16f.1i6.2jh.28d.qh.k8.1gz.1ko.2iv.1xp.1l4.1gk.10j.yo.1jk.1jk.xv.104.15o.1xg.1xg.1xi.25i.p1.t1.yh.1ak.1i6.1y2.xt.32u.3g6.1bz.2mn.14l.14c.1e1.op.s8.p2.v5.2ix.1a0.ry.16m.17n.13c.134.ys.yu.xr.sl.sr.sd.yh.z5.gd.gl.hx.h2.g8.fj.iy.hz.jj.th.12n.16r.d3.j9.dg.lj.fl.a7.f9.iw.el.27f.1dh.1rh.2ph.yd.w5.x5.tr.pq.zf.16h.1a5.17t.wy.vn.y8.wl.yv.2ye.2qt.1ah.163.19t.uf.119.2vv.1bm.13h.14p.1so.c3.as.9z.19w.1l4.1nl.rj.we"],[30001,"jo.my.ss.dw.c1.b4.hl.hl.hl.cz.dw.dw.b4.dw.fr.kd.qv.px.px.74.6u.8h.60.8q.8b.eo.eo.eo.8k.a5.99.12v.13y.lg.m4.qr.dw.ex.g0.ef.cd.br.11n.17h.1b8.1c9.9p.ag.9z.l9.m8.m8.lw.m8.cz.99.b4.8c.63.7f.6h.99.re.pp.pi.cq.c9.cp.ck.c6.b0.bd.al.f6.gl.ed.fs.lc.k6.kh.i6.cx.j1.hk.gb.d7.h7.g2.em.kj.kn.k4.j5.rh.t0.qt.mj.i7.ih.i2.hd.3r.8d.6u.6z.by.de.dg.cr.1a5.1ab.16c.18g.n2.ly.no.nt.f9.de.lr.fe.f0.fj.el.fo.t1.g9.ly.h3.g6.de.2ak.2f3.wf.kg.qn.11p.rg.uj.u6.11c.22o.2cs.3dp.3dq.3d5.3d6.1zx.18v"],[40001,"19x.215.2zt.1ex.2pj.7hy.1ur.1gn.1g7.1b1.u9.1tw.108.1ew.rs.1qu.w9.lk.244.qi.b6.tk.jg.jg.jg.y4.c1.b4.iv.hi.r4.n7.gy.ev.qe.12z.18n.dw.1l6.ou.wz.1un.19t.18k.yy.1hs.sl.dw.1vl.100.14k.1q8.209.1jk.1xr.ua.1j2.pr.26h.1gs.s9.px.15v.pf.1jk.xc.1hb.111.172.ut.285.1oh.149.zj.22r.2l9.14a.ok.23y.1eh.xe.1j0.1rp.1cz.wf.1mh.22k.334.1z2.1xo.1br.4ji.5nq.5nf.2za.18r.h3.eo.ia.1kn.dc.ss.s0.1bl.1oc.is.km.177.1ec.1ao.h4.hp.dx.l9.iw.i3.12w.n1.yq.12w.1ju.yx.14s.18b.22t.u3.my.2rb.36w.13u.z8.20r.18g.19r.2x9.w4.q2.1d2.wo.13a.v6.17w.ur.288.1b6.14m.1fi.1xx.1ee.kj.121.j2.1d2.2ad.1ri.2lc.1vk.138.12r.xj.1h5.1c5.2qx.1gj.t2.lv.rf.18q.1kz.dw.2aq.ia.1i9.k5.199.f4.10y.18a.xf.rk.1g9.1q3.10h.sj.15o.e3.dz.sv.135.w9.yg.aw.2a2.19m.22w.1c8.272.13o.104.1sr.rs.1pb.d5.df.kp.jq.1a7.s8.1ao.ba.rb.in.pz.q8.140.ij.1e7.jl.yk.117.10i.1tn.1oj.1sv.sj.1e3.2so.1c7.1gv.178.107.10n.1dx.1qi.1wp.2bc.218.16r.105.xc.z6.11w.1mc.1y9.17p.1cs.2ij.18c.1ie.nn.16c.1ce.xb.1ei.3j0.ve.14x.1sx.285.1b8.1at.v4.rv.rs.10z.xq.11o.15k.xq.u1.i2.pu.i4.l3.9u.oh.mc.nm.pw.1i3.1h4.pj.111.l4.lb.qq.qf.u0.h4.nk.yf.6h.ij.ds.oy.re.m8.1gl.cz.16z.a1.1f8.1x6.vp.dz.gp.g6.fr.vl.fr.gg.qc.aj.99.go.ij.fz.11a.x5.mo.1u9.h0.m8.10m.1an.2bc.3uw.2gk.124.xb.1uk.1b6.2xj.1os.11a.vs.1i9.1lr.2gv.265.668.1xg.45j.404.2x1.1io.3om.4q2.4mo.1d4.2bp.1pr.166.2y6.2bv.361.2nc.2bc.3g0.7g4.334.2bc.2xo.3uw.6ic.4ig.3uw.23v.1la.2zr.1jt.1cq.27a.1n1.19x.1qg.1jn.1ca.26y.2d6.4v4.4mo.4mo.7ps.1jk.153.1fo.1dm.1s2.1w1.oe.1lb.319.2eg.58p.4mo.3dw.2y2.2xm.1u8.1ko.12n.1e0.2sd.1md.2cl.1q2.372.4mo.48s.b14.3fu.334.334.34i.4nf.4ji.5eg.3uw.2u8.1g1.110.37x.2jo.su.334.3aj.3uw.63f.2bc.2bc.8v4.1ts.ax5.5du.34d.3oc.34j.4si.174.rt.1rp.2b0.37d.1ta.2gh.28a.22z.1nc.1a5.1pa.4dd.3ha.2cs.5mv.4mq.5c2.3uw.1gf.4md.113.10x.21o.2hj.1b3.1cx.1ol.3ar.1fv.17t.1a7.2uj.2we.1jk"],[50001,"1o8.1k1.mo.1wu.2c9.22d.1kb.23n.1b8.1ic.24c.2wz.1mq.1mu.1jx.1z1.o3.190.vp.1h7.th.4mo.1rp.4mo.4mo.7ps.zz.143.21v.1nf.34s.1s3.r9.18t.s1.r9.21w.277.ls.25k.5v1.2bc.1kh.wt.14i.1eq.15o.668.sh.rl.3wi.3vc.43c.3yn.17c.f5.xu.jg.176.19v.1xy.23m.18x.30c.10l.13k.v8.vp.17t.qj.17m.1wr.1la.8t.s7.18d.1l2.152.mx.1c8.1l4.1f5.1xe.rz.2hz.1et.13t.xb.14r.15o.z0.1zo.ur.257.1gb.li.12d.15a.132.1m1.3vu.296.1mg.11m.z0.159.mp.hd.x4.1go.ns.xh.2a7.tt.2vb.1bx.1kh.u3.11i.1y1.24e.2hp.2mn.1w6.3zm.166.14g.1mo.2v9.2rg.2f9.1r0.139.m1.k3.ys.1dy.29k.1mm.22m.3zx.4dr.2h7.22o.tv.rm.1et.2wv.2ar.1t7.ku.12s.10b.1v9.1gu.12m.1b3.tv.1c8.tk.10s.ul.1tt.ka.oi.qb.13f.13f.13k.17h.1uh.ez.en.2x7.2ln.2h8.3h8.ig.n9.27o.18b.hl.nm.uk.11a.1ta.1k4.1eh.wv.1go.1gg.sc.18u.1dz.2aq.vt.2l7.25h.1l5.1kn.1vc.1b4.28i.17t.1d6.1k2.18z.jy.jw.dh.1mx.fr.vp.35w.34z.35w.34z.4so.vf.yx.1bg.1d3.2yc.1tg.8q3.99g.am.2du.rm.rg.xa.2cw.xc.1j6.1if.18z.13a.yz.142.1z5.262.1bj.1y8.ur.u5.16j.1pf.1bi.l8.1il.3vz.2dr.jo.ls.18s.16l.18c.141.219.1yz.1fc.24t.27e.481.1vp.25h.1yq.1zn.1uw.11u.1jp.1pz.39o.t6.1mj.1u5.11l.1vd.1dk.1zb.1ic.3ql.14p.1wq.25x.267.zn.zn.1pf.13z.1j7.r9.1hb.4yp.1lt.1cw.1z4.19z.1og.1j4.1cl.1eg.u8.16s.1en.zu.1hr.1js.19g.303.22j.2oa.180.1v7.2ud.2d7.21s.3g9.vh.v1.284.3lg.3lg.17q.1h3.4mo.1cm.1rv.22i.2mc.2j3.27o.333.1q8.237.2ll.23b.2sp.2ll.2ox.2cf.2f8.2hz.1uo.y4.s9.w6.2dg.2q9.up.1m1.1vz.2n8.192.1eb.z7.2em.2q3.1sd.1gj.348.3vf.2iu.29x.1dc.7oj.4pq.5vb.4mx.5me.5sf.5yf.7ps.yj.q0.10w.13p.18b.2wd.11q.2vx.dd.iv.12p.jh.u9.1uy.w0.3f0.3bj.126.qo.1gj.11k.pu.22h.1z6.rp.y4.y0.xl.1d0.11s.wa.1a6.127.10m.12r.1nh.1fy.yo.1js.162.n4.174.1aj.y4.o8.qz.rh.qa.18s.mr.j3.ii.sr.sx.1jk.17l.mj.zr.uy.wa.19t.2bt.xe.1od.hs.xr.5b.12c.1ab.we.gz.mz.4y.sf.11s.e0.1l7.ew.h6.jz.l0.e8.1cx.p6.17u.bw.1ah.10r.10e.o9.1bc.uv.lq.tl.zb.100.jy.b8.bj.336.10n.na.sq.14r.yr.nm.123.tf.l1.zp.1xc.1vk.31l.zl.2bj.2b9.2fv.17p.y0.so.1ln.29c.1eh.nh.xn.131.qc.186.ff.fc.xq.1bm.la.l8.14f.243.111.xi.qw.1qn.11v.1ur.1jx.1ks.s9.nz.269.1zj.2zd.1pv.18n.2vk.p3.1fh.13v.1lf.1lu.2db.1sr.1k3.26o.1dl.1f3.187.2lh.166.v9.xh.1e3.119.s2.mt.1iu.1k6.1o2.12s.u4.2br.1q3.qv.1e4.1zu.1v4.1vk.1t3.3p7.1ob.14d.1ns.1ef.1e4.12w.2kk.1ba.2jx.1e0.1s5.12w.17r.14s.wz.1qp.183.3fb.188.1gr.2ot.168.1u7.w8.28o.1zd.32z.230.w7.vq.x8.1qh.19f.14o.2r9.qg.1ey.1qr.1p6.3a3.1ov.13d.tz.wk.22v.1qa.2l9.yw.yf.nw.p6.1ly.1jk.1nh.x9.q0.17r.17h.ux.uw.12y.p7.g7.kt.14c.ze.1kh.1eo.18a.1d8.26j.15k.19f.1ym.1j5.1c6.11k.1sd.1jp.1ws.13s.1o5.214.sx.px.20x.14h.1ja.s6.1q8.w8.1ks.so.ub.121.202.1ej.1g1.1s8.2bc.4t1.bih.3uw.3pb.avp.6c7.bko.5eg.79c.6wh.3wd.4pn.55j.4a5.3gg.bko.5ei.52p.578.bcv.6gr.2bc.4j9.5y7.9d2.2bb.2bc.668.73z.5pg.50f.5m7.788.267.642.8h2.8h2.49s.64g.5e8.5e8.2bb.3ih.5ur.6bk.578.4ck.3sg.5fe.23i.e9w.2b8.5oj.6bw.2al.2rk.2rk.5pj.n6e.350.6v9.70t.639.3uw.3uw.2bg.639.2bb.2bd.6gj.2bh.660.578.3bk.65e.359.3o0.44i.4tn.1zq.5ee.4a5.3zu.rs.639.33q.5eg.1k1.15o.dw.3uw.b7p.7qd.898.4l4.5uu.5uu.b4g.2yh.2yh.3uw.51a.51a.5kk.66f.iq9.3n7.4nb.46a.1wb.20p.bih.8xa.7ps.70t.70t.4rv.5p1.6aq.ts.63z.668.5v2.5nu.563.55s.55s.5p3.2ga.32x.42x.5cr.4c2.71b.5zp.5c2.66t.4c8.2bc.2bc.2gn.3ea.2kp.fz6.8hz.3e8.4an.bko.j7e.jag.7sr.2bc.3zx.7qd.5ut.5jp.2wk.5q7.3uw.334.4i3.3uw.4bd.5eu.46h.4i2.6t4.446.5s7.5cg.4bk.5nd.7bf.4rt.23b.2bc.2bc.2bc.2bc.2ba.4mo.4dv.3wn.2bc.1we.4he.2bc.4gz.3wn.3km.4xy.4hi.4mr.2bc.247.3yj.2c6.2bc.3aj.446.4ub.3uw.51.e0.86.is.i1.hg.mn.m4.2c.7h.sg.e3.jb.7r.eq.nf.u0.60.4o.ke.47.47.47.47.b8.4x.dr.dy.rw.rw.59.8j.5z.a5.l3.c0.ik.f7.li.lr.7x.dv.du.dd.5e.91.1b.ce.cc.59.bh.e6.8m.9n.cl.lt.7ip.4mr.4si.4kf.vo.we.13e.17n.1iw.2pi.lp.r6.gw.7x.xz.qt.bq.ls.q1.eh.bx.cr.3c.j7.b8.fz.4k.8p.bg.5w.iy.j3.12o.rs.cz.dp.yz.jk.63.63.7ps.7ps.7ps.40g.3jp.4tw.89k.88a.7s0.83d.668.7ps.2fw.2ev.2fp.7ps.2jb.2dh.2ud.25i.24c.2bt.1pa.17r.1a7.7ps.7pt.5rg.4nl.3vv.7qo.31a.2p0.2k0.49a.3v4.3nl.1ug.1ug.1l6.7s1.7ps.2cp.2f8.2i7.7ps.28q.2be.275.1ma.1oz.1q7.16s.1iq.1e0.78m.7ps.2bc.2bc.2bc.bko.2wu.2wu.2wu.3b4.38f.3uw.3uw.3uw.3uw.7ps.7qa.32n.2gg.2wk.7rv.1v3.1qq.1rb.1zk.1my.1zp.1yn.1oh.1uh.7st.9q.9q.9q.9q.9q.kk.kk.kk.kk.kk.dw.dp.dw.rs.rs.rs.rs.s4.sd.54j.5n8.2n6.21r.1nu.1o5.14u.t6.3f7.2j0.32c.304.189.1gf.18w.18j.1st.1vq.116.kw.3uw.3uw.vr.zx.xc.tc.7d.7r.9d.9w.8s.9p.3b.3b"]].map(([t,e])=>[t,e.split(".").map(i=>parseInt(i,36)/1e3)]);function jo(t){if(!Number.isSafeInteger(t))return null;for(let[e,i]of Cg)if(t>=e&&t<e+i.length)return i[t-e];return null}var wr={version:"ct-v1",catalogSha256:"fcdd2087b0ce558f90489db6c1368211d8b110e8cc755baf1efd731814a53fd4",assets:[{id:10001001,scope:"ui",width:182,height:182,loop:!0,duration:10,name:"\u96F7\u80FD\u91CF\u6EE1\u503C1",nameEn:"Electro Energy Max Value 1",video:"video/10001001.webm",icon:"icon/10001001.png",audio:[]},{id:10001002,scope:"ui",width:182,height:182,loop:!0,duration:10,name:"\u706B\u80FD\u91CF\u6EE1\u503C1",nameEn:"Pyro Energy Max Value 1",video:"video/10001002.webm",icon:"icon/10001002.png",audio:[]},{id:10001003,scope:"ui",width:174,height:182,loop:!0,duration:10,name:"\u8349\u80FD\u91CF\u6EE1\u503C1",nameEn:"Dendro Energy Max Value 1",video:"video/10001003.webm",icon:"icon/10001003.png",audio:[]},{id:10001004,scope:"ui",width:182,height:182,loop:!0,duration:10,name:"\u51B0\u80FD\u91CF\u6EE1\u503C1",nameEn:"Cryo Energy Max Value 1",video:"video/10001004.webm",icon:"icon/10001004.png",audio:[]},{id:10001005,scope:"ui",width:182,height:182,loop:!0,duration:10,name:"\u5CA9\u80FD\u91CF\u6EE1\u503C1",nameEn:"Geo Energy Max Value 1",video:"video/10001005.webm",icon:"icon/10001005.png",audio:[]},{id:10001006,scope:"ui",width:186,height:186,loop:!0,duration:10,name:"\u6C34\u80FD\u91CF\u6EE1\u503C1",nameEn:"Hydro Energy Max Value 1",video:"video/10001006.webm",icon:"icon/10001006.png",audio:[]},{id:10001007,scope:"ui",width:182,height:182,loop:!0,duration:10,name:"\u98CE\u80FD\u91CF\u6EE1\u503C1",nameEn:"Anemo Energy Max Value 1",video:"video/10001007.webm",icon:"icon/10001007.png",audio:[]},{id:10001008,scope:"ui",width:224,height:224,loop:!1,duration:1.3,name:"\u53EF\u7528\u63D0\u793A1",nameEn:"Available Hint 1",video:"video/10001008.webm",icon:"icon/10001008.png",audio:[]},{id:10001009,scope:"ui",width:224,height:224,loop:!1,duration:1.3,name:"\u53EF\u7528\u63D0\u793A2",nameEn:"Available Hint 2",video:"video/10001009.webm",icon:"icon/10001009.png",audio:[]},{id:10001010,scope:"ui",width:176,height:176,loop:!0,duration:10,name:"\u96F7\u80FD\u91CF\u6EE1\u503C2",nameEn:"Electro Energy Max Value 2",video:"video/10001010.webm",icon:"icon/10001010.png",audio:[]},{id:10001011,scope:"ui",width:182,height:182,loop:!0,duration:10,name:"\u706B\u80FD\u91CF\u6EE1\u503C2",nameEn:"Pyro Energy Max Value 2",video:"video/10001011.webm",icon:"icon/10001011.png",audio:[]},{id:10001012,scope:"ui",width:162,height:162,loop:!0,duration:10,name:"\u8349\u80FD\u91CF\u6EE1\u503C2",nameEn:"Dendro Energy Max Value 2",video:"video/10001012.webm",icon:"icon/10001012.png",audio:[]},{id:10001013,scope:"ui",width:176,height:184,loop:!0,duration:10,name:"\u51B0\u80FD\u91CF\u6EE1\u503C2",nameEn:"Cryo Energy Max Value 2",video:"video/10001013.webm",icon:"icon/10001013.png",audio:[]},{id:10001014,scope:"ui",width:170,height:170,loop:!0,duration:10,name:"\u5CA9\u80FD\u91CF\u6EE1\u503C2",nameEn:"Geo Energy Max Value 2",video:"video/10001014.webm",icon:"icon/10001014.png",audio:[]},{id:10001015,scope:"ui",width:186,height:186,loop:!0,duration:10,name:"\u6C34\u80FD\u91CF\u6EE1\u503C2",nameEn:"Hydro Energy Max Value 2",video:"video/10001015.webm",icon:"icon/10001015.png",audio:[]},{id:10001016,scope:"ui",width:180,height:180,loop:!0,duration:10,name:"\u98CE\u80FD\u91CF\u6EE1\u503C2",nameEn:"Anemo Energy Max Value 2",video:"video/10001016.webm",icon:"icon/10001016.png",audio:[]},{id:10001017,scope:"ui",width:300,height:280,loop:!0,duration:10,name:"\u80FD\u91CF\u6EE1\u503C1",nameEn:"Energy Max Value 1",video:"video/10001017.webm",icon:"icon/10001017.png",audio:["audio/10001017.mp3"]},{id:10001018,scope:"ui",width:220,height:226,loop:!0,duration:10,name:"\u80FD\u91CF\u6EE1\u503C2",nameEn:"Energy Max Value 2",video:"video/10001018.webm",icon:"icon/10001018.png",audio:[]},{id:10001019,scope:"ui",width:220,height:226,loop:!0,duration:10,name:"\u80FD\u91CF\u6EE1\u503C3",nameEn:"Energy Max Value 3",video:"video/10001019.webm",icon:"icon/10001019.png",audio:[]},{id:10001020,scope:"ui",width:210,height:216,loop:!0,duration:10,name:"\u80FD\u91CF\u6EE1\u503C4",nameEn:"Energy Max Value 4",video:"video/10001020.webm",icon:"icon/10001020.png",audio:[]},{id:10001021,scope:"ui",width:216,height:220,loop:!0,duration:10,name:"\u80FD\u91CF\u6EE1\u503C5",nameEn:"Energy Max Value 5",video:"video/10001021.webm",icon:"icon/10001021.png",audio:[]},{id:10001022,scope:"ui",width:216,height:220,loop:!0,duration:10,name:"\u80FD\u91CF\u6EE1\u503C6",nameEn:"Energy Max Value 6",video:"video/10001022.webm",icon:"icon/10001022.png",audio:[]},{id:10001023,scope:"ui",width:216,height:220,loop:!0,duration:10,name:"\u80FD\u91CF\u6EE1\u503C7",nameEn:"Energy Max Value 7",video:"video/10001023.webm",icon:"icon/10001023.png",audio:[]},{id:10001024,scope:"ui",width:134,height:134,loop:!0,duration:10,name:"\u96F7\u5143\u7D20\u5171\u9E23",nameEn:"Electro Elemental Resonance",video:"video/10001024.webm",icon:"icon/10001024.png",audio:[]},{id:10001025,scope:"ui",width:130,height:134,loop:!0,duration:10,name:"\u706B\u5143\u7D20\u5171\u9E23",nameEn:"Pyro Elemental Resonance",video:"video/10001025.webm",icon:"icon/10001025.png",audio:[]},{id:10001026,scope:"ui",width:130,height:130,loop:!0,duration:10,name:"\u8349\u5143\u7D20\u5171\u9E23",nameEn:"Dendro Elemental Resonance",video:"video/10001026.webm",icon:"icon/10001026.png",audio:[]},{id:10001027,scope:"ui",width:128,height:128,loop:!0,duration:10,name:"\u51B0\u5143\u7D20\u5171\u9E23",nameEn:"Cryo Elemental Resonance",video:"video/10001027.webm",icon:"icon/10001027.png",audio:[]},{id:10001028,scope:"ui",width:130,height:130,loop:!0,duration:10,name:"\u5CA9\u5143\u7D20\u5171\u9E23",nameEn:"Geo Elemental Resonance",video:"video/10001028.webm",icon:"icon/10001028.png",audio:[]},{id:10001029,scope:"ui",width:130,height:134,loop:!0,duration:10,name:"\u6C34\u5143\u7D20\u5171\u9E23",nameEn:"Hydro Elemental Resonance",video:"video/10001029.webm",icon:"icon/10001029.png",audio:[]},{id:10001030,scope:"ui",width:130,height:130,loop:!0,duration:10,name:"\u98CE\u5143\u7D20\u5171\u9E23",nameEn:"Anemo Elemental Resonance",video:"video/10001030.webm",icon:"icon/10001030.png",audio:[]},{id:10001031,scope:"ui",width:156,height:160,loop:!1,duration:1,name:"\u6C34\u70AE\u6548\u679C1",nameEn:"Hydro Cannon Effect 1",video:"video/10001031.webm",icon:"icon/10001031.png",audio:[]},{id:10001032,scope:"ui",width:216,height:216,loop:!1,duration:.933,name:"\u6C34\u70AE\u6548\u679C2",nameEn:"Hydro Cannon Effect 2",video:"video/10001032.webm",icon:"icon/10001032.png",audio:["audio/10001032.mp3"]},{id:10001033,scope:"ui",width:488,height:488,loop:!1,duration:1.2,name:"\u97F3\u7B26\u6548\u679C1",nameEn:"Note Effect 1",video:"video/10001033.webm",icon:"icon/10001033.png",audio:[]},{id:10001034,scope:"ui",width:536,height:536,loop:!1,duration:1.4,name:"\u97F3\u7B26\u6548\u679C2",nameEn:"Note Effect 2",video:"video/10001034.webm",icon:"icon/10001034.png",audio:[]},{id:10001035,scope:"ui",width:262,height:266,loop:!0,duration:10,name:"\u97F3\u7B26\u6548\u679C3",nameEn:"Note Effect 3",video:"video/10001035.webm",icon:"icon/10001035.png",audio:[]},{id:10001036,scope:"ui",width:536,height:536,loop:!1,duration:1.4,name:"\u97F3\u7B26\u6548\u679C4",nameEn:"Note Effect 4",video:"video/10001036.webm",icon:"icon/10001036.png",audio:[]},{id:10001037,scope:"ui",width:262,height:266,loop:!0,duration:10,name:"\u97F3\u7B26\u6548\u679C5",nameEn:"Note Effect 5",video:"video/10001037.webm",icon:"icon/10001037.png",audio:[]},{id:10001038,scope:"ui",width:190,height:190,loop:!0,duration:10,name:"\u6269\u6563\u6548\u679C1",nameEn:"Swirl Effect 1",video:"video/10001038.webm",icon:"icon/10001038.png",audio:[]},{id:10001039,scope:"ui",width:208,height:208,loop:!1,duration:.766,name:"\u70B9\u51FB\u6548\u679C1",nameEn:"Press Effect 1",video:"video/10001039.webm",icon:"icon/10001039.png",audio:[]},{id:10001040,scope:"ui",width:390,height:390,loop:!1,duration:1.2,name:"\u8F6C\u6362\u6548\u679C1",nameEn:"Conversion Effect 1",video:"video/10001040.webm",icon:"icon/10001040.png",audio:["audio/10001040.mp3"]},{id:10001041,scope:"ui",width:208,height:208,loop:!0,duration:10,name:"\u8F6C\u6362\u6548\u679C2",nameEn:"Conversion Effect 2",video:"video/10001041.webm",icon:"icon/10001041.png",audio:[]},{id:10001042,scope:"ui",width:208,height:208,loop:!0,duration:10,name:"\u8F6C\u6362\u6548\u679C3",nameEn:"Conversion Effect 3",video:"video/10001042.webm",icon:"icon/10001042.png",audio:[]},{id:10001043,scope:"ui",width:168,height:180,loop:!1,duration:1.233,name:"\u70B9\u51FB\u6548\u679C2",nameEn:"Press Effect 2",video:"video/10001043.webm",icon:"icon/10001043.png",audio:["audio/10001043.mp3","audio/10001043_02.mp3"]},{id:10001044,scope:"ui",width:190,height:198,loop:!1,duration:1.566,name:"\u70B9\u51FB\u6548\u679C3",nameEn:"Press Effect 3",video:"video/10001044.webm",icon:"icon/10001044.png",audio:[]},{id:10001045,scope:"ui",width:114,height:114,loop:!1,duration:.733,name:"\u70B9\u51FB\u6548\u679C4",nameEn:"Press Effect 4",video:"video/10001045.webm",icon:"icon/10001045.png",audio:[]},{id:10001046,scope:"ui",width:106,height:122,loop:!1,duration:.8,name:"\u70B9\u51FB\u6548\u679C5",nameEn:"Press Effect 5",video:"video/10001046.webm",icon:"icon/10001046.png",audio:[]},{id:10001047,scope:"ui",width:114,height:114,loop:!1,duration:.733,name:"\u70B9\u51FB\u6548\u679C6",nameEn:"Press Effect 6",video:"video/10001047.webm",icon:"icon/10001047.png",audio:[]},{id:10001048,scope:"ui",width:114,height:114,loop:!1,duration:.733,name:"\u70B9\u51FB\u6548\u679C7",nameEn:"Press Effect 7",video:"video/10001048.webm",icon:"icon/10001048.png",audio:[]},{id:10001049,scope:"ui",width:130,height:118,loop:!1,duration:1,name:"\u70B9\u51FB\u6548\u679C8",nameEn:"Press Effect 8",video:"video/10001049.webm",icon:"icon/10001049.png",audio:[]},{id:10001050,scope:"ui",width:114,height:114,loop:!1,duration:.733,name:"\u70B9\u51FB\u6548\u679C9",nameEn:"Press Effect 9",video:"video/10001050.webm",icon:"icon/10001050.png",audio:[]},{id:10001051,scope:"ui",width:408,height:408,loop:!0,duration:10,name:"\u9AD8\u4EAE\u6548\u679C1",nameEn:"Highlight Effect 1",video:"video/10001051.webm",icon:"icon/10001051.png",audio:[]},{id:10001052,scope:"ui",width:272,height:272,loop:!1,duration:.9,name:"\u95EA\u70C1\u6548\u679C1",nameEn:"Blink Effect 1",video:"video/10001052.webm",icon:"icon/10001052.png",audio:[]},{id:10001053,scope:"ui",width:176,height:194,loop:!0,duration:10,name:"\u9AD8\u4EAE\u6548\u679C2",nameEn:"Highlight Effect 2",video:"video/10001053.webm",icon:"icon/10001053.png",audio:[]},{id:10001054,scope:"ui",width:274,height:286,loop:!1,duration:1,name:"\u95EA\u70C1\u6548\u679C2",nameEn:"Blink Effect 2",video:"video/10001054.webm",icon:"icon/10001054.png",audio:[]},{id:10001055,scope:"ui",width:368,height:368,loop:!1,duration:1,name:"\u95EA\u70C1\u6548\u679C3",nameEn:"Blink Effect 3",video:"video/10001055.webm",icon:"icon/10001055.png",audio:[]},{id:10001056,scope:"ui",width:226,height:210,loop:!0,duration:10,name:"\u9AD8\u4EAE\u6548\u679C3",nameEn:"Highlight Effect 3",video:"video/10001056.webm",icon:"icon/10001056.png",audio:[]},{id:10001057,scope:"ui",width:304,height:304,loop:!1,duration:.966,name:"\u8F6C\u6362\u6548\u679C4",nameEn:"Conversion Effect 4",video:"video/10001057.webm",icon:"icon/10001057.png",audio:["audio/10001057.mp3"]},{id:10001058,scope:"ui",width:174,height:178,loop:!1,duration:1.6,name:"\u95EA\u70C1\u6548\u679C4",nameEn:"Blink Effect 4",video:"video/10001058.webm",icon:"icon/10001058.png",audio:[]},{id:10001059,scope:"ui",width:362,height:362,loop:!1,duration:1.766,name:"\u95EA\u70C1\u6548\u679C5",nameEn:"Blink Effect 5",video:"video/10001059.webm",icon:"icon/10001059.png",audio:["audio/10001059.mp3"]},{id:10001060,scope:"ui",width:190,height:192,loop:!0,duration:10,name:"\u95EA\u70C1\u6548\u679C6",nameEn:"Blink Effect 6",video:"video/10001060.webm",icon:"icon/10001060.png",audio:[]},{id:10001061,scope:"ui",width:890,height:456,loop:!1,duration:1,name:"\u95EA\u70C1\u6548\u679C7",nameEn:"Blink Effect 7",video:"video/10001061.webm",icon:"icon/10001061.png",audio:[]},{id:10001062,scope:"ui",width:890,height:646,loop:!1,duration:1,name:"\u95EA\u70C1\u6548\u679C8",nameEn:"Blink Effect 8",video:"video/10001062.webm",icon:"icon/10001062.png",audio:[]},{id:10001063,scope:"ui",width:290,height:290,loop:!0,duration:10,name:"\u9AD8\u4EAE\u6548\u679C4",nameEn:"Highlight Effect 4",video:"video/10001063.webm",icon:"icon/10001063.png",audio:[]},{id:10001064,scope:"ui",width:272,height:272,loop:!1,duration:.866,name:"\u6D88\u9664\u6548\u679C1",nameEn:"Clear Effect 1",video:"video/10001064.webm",icon:"icon/10001064.png",audio:[]},{id:10001065,scope:"ui",width:272,height:272,loop:!1,duration:.9,name:"\u6D88\u9664\u6548\u679C2",nameEn:"Clear Effect 2",video:"video/10001065.webm",icon:"icon/10001065.png",audio:[]},{id:10001066,scope:"ui",width:238,height:210,loop:!1,duration:1.066,name:"\u6D88\u9664\u6548\u679C3",nameEn:"Clear Effect 3",video:"video/10001066.webm",icon:"icon/10001066.png",audio:[]},{id:10001067,scope:"ui",width:154,height:154,loop:!0,duration:10,name:"\u95EA\u70C1\u6548\u679C9",nameEn:"Blink Effect 9",video:"video/10001067.webm",icon:"icon/10001067.png",audio:[]},{id:10001068,scope:"ui",width:484,height:484,loop:!1,duration:1,name:"\u95EA\u70C1\u6548\u679C10",nameEn:"Blink Effect 10",video:"video/10001068.webm",icon:"icon/10001068.png",audio:[]},{id:10001069,scope:"ui",width:326,height:326,loop:!0,duration:10,name:"\u9AD8\u4EAE\u6548\u679C5",nameEn:"Highlight Effect 5",video:"video/10001069.webm",icon:"icon/10001069.png",audio:[]},{id:10001070,scope:"ui",width:206,height:196,loop:!0,duration:10,name:"\u9AD8\u4EAE\u6548\u679C6",nameEn:"Highlight Effect 6",video:"video/10001070.webm",icon:"icon/10001070.png",audio:[]},{id:10001071,scope:"ui",width:2236,height:2236,loop:!0,duration:10,name:"\u6C1B\u56F4\u6548\u679C1",nameEn:"Ambience Effect 1",video:"video/10001071.webm",icon:"icon/10001071.png",audio:[]},{id:10001072,scope:"ui",width:406,height:406,loop:!0,duration:10,name:"\u6C1B\u56F4\u6548\u679C2",nameEn:"Ambience Effect 2",video:"video/10001072.webm",icon:"icon/10001072.png",audio:[]},{id:10001073,scope:"ui",width:376,height:336,loop:!1,duration:2.1,name:"\u95EA\u70C1\u6548\u679C11",nameEn:"Blink Effect 11",video:"video/10001073.webm",icon:"icon/10001073.png",audio:[]},{id:10001074,scope:"ui",width:258,height:228,loop:!1,duration:1.666,name:"\u95EA\u70C1\u6548\u679C12",nameEn:"Blink Effect 12",video:"video/10001074.webm",icon:"icon/10001074.png",audio:[]},{id:10001075,scope:"ui",width:322,height:322,loop:!0,duration:10,name:"\u9AD8\u4EAE\u6548\u679C7",nameEn:"Highlight Effect 7",video:"video/10001075.webm",icon:"icon/10001075.png",audio:[]},{id:10001076,scope:"ui",width:258,height:270,loop:!1,duration:1.2,name:"\u4E92\u52A8\u6548\u679C1",nameEn:"Interaction Effect 1",video:"video/10001076.webm",icon:"icon/10001076.png",audio:[]},{id:10001077,scope:"ui",width:126,height:118,loop:!1,duration:1.1,name:"\u88C5\u9970\u6548\u679C1",nameEn:"Decoration Effect 1",video:"video/10001077.webm",icon:"icon/10001077.png",audio:[]},{id:10001078,scope:"ui",width:220,height:248,loop:!1,duration:1.133,name:"\u88C5\u9970\u6548\u679C2",nameEn:"Decoration Effect 2",video:"video/10001078.webm",icon:"icon/10001078.png",audio:[]},{id:10001079,scope:"ui",width:234,height:232,loop:!1,duration:1.166,name:"\u88C5\u9970\u6548\u679C3",nameEn:"Decoration Effect 3",video:"video/10001079.webm",icon:"icon/10001079.png",audio:[]},{id:10001080,scope:"ui",width:582,height:550,loop:!0,duration:10,name:"\u88C5\u9970\u6548\u679C4",nameEn:"Decoration Effect 4",video:"video/10001080.webm",icon:"icon/10001080.png",audio:[]},{id:10001081,scope:"ui",width:388,height:400,loop:!0,duration:10,name:"\u88C5\u9970\u6548\u679C5",nameEn:"Decoration Effect 5",video:"video/10001081.webm",icon:"icon/10001081.png",audio:[]},{id:10001082,scope:"ui",width:386,height:386,loop:!0,duration:10,name:"\u88C5\u9970\u6548\u679C6",nameEn:"Decoration Effect 6",video:"video/10001082.webm",icon:"icon/10001082.png",audio:[]},{id:10001083,scope:"ui",width:196,height:196,loop:!1,duration:1.2,name:"\u88C5\u9970\u6548\u679C7",nameEn:"Decoration Effect 7",video:"video/10001083.webm",icon:"icon/10001083.png",audio:[]},{id:10001084,scope:"ui",width:496,height:462,loop:!1,duration:.7,name:"\u95EA\u70C1\u6548\u679C13",nameEn:"Blink Effect 13",video:"video/10001084.webm",icon:"icon/10001084.png",audio:[]},{id:10001085,scope:"ui",width:426,height:336,loop:!1,duration:.566,name:"\u95EA\u70C1\u6548\u679C14",nameEn:"Blink Effect 14",video:"video/10001085.webm",icon:"icon/10001085.png",audio:[]},{id:10001086,scope:"ui",width:266,height:190,loop:!1,duration:.866,name:"\u88C5\u9970\u6548\u679C8",nameEn:"Decoration Effect 8",video:"video/10001086.webm",icon:"icon/10001086.png",audio:[]},{id:10001087,scope:"ui",width:310,height:252,loop:!1,duration:1.166,name:"\u88C5\u9970\u6548\u679C9",nameEn:"Decoration Effect 9",video:"video/10001087.webm",icon:"icon/10001087.png",audio:[]},{id:10001088,scope:"ui",width:310,height:252,loop:!1,duration:1.166,name:"\u88C5\u9970\u6548\u679C10",nameEn:"Decoration Effect 10",video:"video/10001088.webm",icon:"icon/10001088.png",audio:[]},{id:10001089,scope:"ui",width:178,height:74,loop:!1,duration:1.966,name:"\u88C5\u9970\u6548\u679C11",nameEn:"Decoration Effect 11",video:"video/10001089.webm",icon:"icon/10001089.png",audio:[]},{id:10001090,scope:"ui",width:190,height:190,loop:!1,duration:1.166,name:"\u95EA\u70C1\u6548\u679C15",nameEn:"Blink Effect 15",video:"video/10001090.webm",icon:"icon/10001090.png",audio:[]},{id:10001091,scope:"ui",width:188,height:188,loop:!1,duration:1.6,name:"\u95EA\u70C1\u6548\u679C16",nameEn:"Blink Effect 16",video:"video/10001091.webm",icon:"icon/10001091.png",audio:[]},{id:10001092,scope:"ui",width:200,height:200,loop:!0,duration:10,name:"\u88C5\u9970\u6548\u679C12",nameEn:"Decoration Effect 12",video:"video/10001092.webm",icon:"icon/10001092.png",audio:[]},{id:10001093,scope:"ui",width:294,height:302,loop:!1,duration:1.033,name:"\u88C5\u9970\u6548\u679C13",nameEn:"Decoration Effect 13",video:"video/10001093.webm",icon:"icon/10001093.png",audio:[]},{id:10001094,scope:"ui",width:310,height:310,loop:!1,duration:.833,name:"\u88C5\u9970\u6548\u679C14",nameEn:"Decoration Effect 14",video:"video/10001094.webm",icon:"icon/10001094.png",audio:[]},{id:10001095,scope:"ui",width:252,height:300,loop:!1,duration:1.8,name:"\u88C5\u9970\u6548\u679C15",nameEn:"Decoration Effect 15",video:"video/10001095.webm",icon:"icon/10001095.png",audio:[]},{id:10001096,scope:"ui",width:252,height:252,loop:!1,duration:1.6,name:"\u88C5\u9970\u6548\u679C16",nameEn:"Decoration Effect 16",video:"video/10001096.webm",icon:"icon/10001096.png",audio:[]},{id:10001097,scope:"ui",width:252,height:252,loop:!1,duration:1.6,name:"\u88C5\u9970\u6548\u679C17",nameEn:"Decoration Effect 17",video:"video/10001097.webm",icon:"icon/10001097.png",audio:[]},{id:10001098,scope:"ui",width:252,height:252,loop:!1,duration:1.6,name:"\u88C5\u9970\u6548\u679C18",nameEn:"Decoration Effect 18",video:"video/10001098.webm",icon:"icon/10001098.png",audio:[]},{id:10001099,scope:"ui",width:252,height:252,loop:!1,duration:1.6,name:"\u88C5\u9970\u6548\u679C19",nameEn:"Decoration Effect 19",video:"video/10001099.webm",icon:"icon/10001099.png",audio:[]},{id:10001100,scope:"ui",width:252,height:252,loop:!1,duration:1.6,name:"\u88C5\u9970\u6548\u679C20",nameEn:"Decoration Effect 20",video:"video/10001100.webm",icon:"icon/10001100.png",audio:[]},{id:10001101,scope:"ui",width:252,height:252,loop:!1,duration:1.6,name:"\u88C5\u9970\u6548\u679C21",nameEn:"Decoration Effect 21",video:"video/10001101.webm",icon:"icon/10001101.png",audio:[]},{id:10001102,scope:"ui",width:260,height:260,loop:!1,duration:1.133,name:"\u9AD8\u4EAE\u6548\u679C8",nameEn:"Highlight Effect 8",video:"video/10001102.webm",icon:"icon/10001102.png",audio:[]},{id:10001103,scope:"ui",width:260,height:260,loop:!1,duration:1.166,name:"\u9AD8\u4EAE\u6548\u679C9",nameEn:"Highlight Effect 9",video:"video/10001103.webm",icon:"icon/10001103.png",audio:[]},{id:10001104,scope:"ui",width:322,height:344,loop:!1,duration:1.133,name:"\u9AD8\u4EAE\u6548\u679C10",nameEn:"Highlight Effect 10",video:"video/10001104.webm",icon:"icon/10001104.png",audio:[]},{id:10001105,scope:"ui",width:380,height:394,loop:!1,duration:1.133,name:"\u9AD8\u4EAE\u6548\u679C11",nameEn:"Highlight Effect 11",video:"video/10001105.webm",icon:"icon/10001105.png",audio:[]},{id:10001106,scope:"ui",width:176,height:140,loop:!0,duration:10,name:"\u6C1B\u56F4\u6548\u679C3",nameEn:"Ambience Effect 3",video:"video/10001106.webm",icon:"icon/10001106.png",audio:[]},{id:10001107,scope:"ui",width:136,height:136,loop:!1,duration:.8,name:"\u95EA\u70C1\u6548\u679C17",nameEn:"Blink Effect 17",video:"video/10001107.webm",icon:"icon/10001107.png",audio:["audio/10001107.mp3"]},{id:10001108,scope:"ui",width:206,height:212,loop:!1,duration:1.7,name:"\u95EA\u70C1\u6548\u679C18",nameEn:"Blink Effect 18",video:"video/10001108.webm",icon:"icon/10001108.png",audio:["audio/10001108.mp3"]},{id:10001109,scope:"ui",width:182,height:182,loop:!1,duration:1.666,name:"\u95EA\u70C1\u6548\u679C19",nameEn:"Blink Effect 19",video:"video/10001109.webm",icon:"icon/10001109.png",audio:[]},{id:10001110,scope:"ui",width:650,height:306,loop:!1,duration:1.533,name:"\u95EA\u70C1\u6548\u679C20",nameEn:"Blink Effect 20",video:"video/10001110.webm",icon:"icon/10001110.png",audio:["audio/10001110.mp3"]},{id:10001111,scope:"ui",width:742,height:494,loop:!1,duration:.9,name:"\u95EA\u70C1\u6548\u679C21",nameEn:"Blink Effect 21",video:"video/10001111.webm",icon:"icon/10001111.png",audio:["audio/10001111.mp3"]},{id:10001112,scope:"ui",width:872,height:462,loop:!1,duration:.9,name:"\u95EA\u70C1\u6548\u679C22",nameEn:"Blink Effect 22",video:"video/10001112.webm",icon:"icon/10001112.png",audio:["audio/10001112.mp3"]},{id:10001113,scope:"ui",width:182,height:182,loop:!1,duration:1.166,name:"\u95EA\u70C1\u6548\u679C23",nameEn:"Blink Effect 23",video:"video/10001113.webm",icon:"icon/10001113.png",audio:[]},{id:10001114,scope:"ui",width:116,height:228,loop:!0,duration:10,name:"\u8FDB\u5EA6\u7D2F\u79EF1",nameEn:"Progress Accumulation 1",video:"video/10001114.webm",icon:"icon/10001114.png",audio:[]},{id:10001115,scope:"ui",width:520,height:676,loop:!1,duration:1.133,name:"\u8FDB\u5EA6\u7D2F\u79EF2",nameEn:"Progress Accumulation 2",video:"video/10001115.webm",icon:"icon/10001115.png",audio:[]},{id:10001116,scope:"ui",width:88,height:88,loop:!0,duration:10,name:"\u8FDB\u5EA6\u7D2F\u79EF3",nameEn:"Progress Accumulation 3",video:"video/10001116.webm",icon:"icon/10001116.png",audio:[]},{id:10001117,scope:"ui",width:166,height:278,loop:!1,duration:1.466,name:"\u95EA\u70C1\u6548\u679C24",nameEn:"Blink Effect 24",video:"video/10001117.webm",icon:"icon/10001117.png",audio:[]},{id:10001118,scope:"ui",width:106,height:106,loop:!0,duration:10,name:"\u95EA\u70C1\u6548\u679C25",nameEn:"Blink Effect 25",video:"video/10001118.webm",icon:"icon/10001118.png",audio:[]},{id:10001119,scope:"ui",width:118,height:118,loop:!0,duration:10,name:"\u95EA\u70C1\u6548\u679C26",nameEn:"Blink Effect 26",video:"video/10001119.webm",icon:"icon/10001119.png",audio:[]},{id:10001120,scope:"ui",width:130,height:118,loop:!1,duration:1.566,name:"\u95EA\u70C1\u6548\u679C27",nameEn:"Blink Effect 27",video:"video/10001120.webm",icon:"icon/10001120.png",audio:["audio/10001120.mp3","audio/10001120_02.mp3","audio/10001120_03.mp3","audio/10001120_04.mp3","audio/10001120_05.mp3","audio/10001120_06.mp3","audio/10001120_07.mp3","audio/10001120_08.mp3","audio/10001120_09.mp3","audio/10001120_10.mp3","audio/10001120_11.mp3"]},{id:10001121,scope:"ui",width:376,height:400,loop:!1,duration:1.333,name:"\u95EA\u70C1\u6548\u679C28",nameEn:"Blink Effect 28",video:"video/10001121.webm",icon:"icon/10001121.png",audio:[]},{id:10001122,scope:"ui",width:986,height:706,loop:!1,duration:2.6,name:"\u95EA\u70C1\u6548\u679C29",nameEn:"Blink Effect 29",video:"video/10001122.webm",icon:"icon/10001122.png",audio:[]},{id:10001124,scope:"ui",width:2334,height:2714,loop:!1,duration:1.4,name:"\u7ED3\u7B97\u6548\u679C1",nameEn:"Settlement Effect 1",video:"video/10001124.webm",icon:"icon/10001124.png",audio:[]},{id:10001125,scope:"ui",width:2214,height:2270,loop:!1,duration:1.233,name:"\u7ED3\u7B97\u6548\u679C2",nameEn:"Settlement Effect 2",video:"video/10001125.webm",icon:"icon/10001125.png",audio:[]},{id:10001126,scope:"ui",width:2574,height:1178,loop:!1,duration:3.133,name:"\u7ED3\u7B97\u6548\u679C3",nameEn:"Settlement Effect 3",video:"video/10001126.webm",icon:"icon/10001126.png",audio:[]},{id:10001127,scope:"ui",width:1918,height:1138,loop:!1,duration:3.066,name:"\u7ED3\u7B97\u6548\u679C4",nameEn:"Settlement Effect 4",video:"video/10001127.webm",icon:"icon/10001127.png",audio:[]},{id:10001128,scope:"ui",width:548,height:212,loop:!1,duration:1.966,name:"\u95EA\u70C1\u6548\u679C30",nameEn:"Blink Effect 30",video:"video/10001128.webm",icon:"icon/10001128.png",audio:[]},{id:10001129,scope:"ui",width:638,height:520,loop:!1,duration:1.133,name:"\u95EA\u70C1\u6548\u679C31",nameEn:"Blink Effect 31",video:"video/10001129.webm",icon:"icon/10001129.png",audio:["audio/10001129.mp3"]},{id:10001130,scope:"ui",width:284,height:142,loop:!1,duration:1.2,name:"\u95EA\u70C1\u6548\u679C32",nameEn:"Blink Effect 32",video:"video/10001130.webm",icon:"icon/10001130.png",audio:[]},{id:10001131,scope:"ui",width:790,height:790,loop:!0,duration:10,name:"\u95EA\u70C1\u6548\u679C33",nameEn:"Blink Effect 33",video:"video/10001131.webm",icon:"icon/10001131.png",audio:["audio/10001131.mp3"]},{id:10001132,scope:"ui",width:1020,height:264,loop:!0,duration:10,name:"\u95EA\u70C1\u6548\u679C34",nameEn:"Blink Effect 34",video:"video/10001132.webm",icon:"icon/10001132.png",audio:[]},{id:10001133,scope:"ui",width:1348,height:358,loop:!1,duration:1.5,name:"\u7ED3\u7B97\u6548\u679C5",nameEn:"Settlement Effect 5",video:"video/10001133.webm",icon:"icon/10001133.png",audio:[]},{id:10001134,scope:"ui",width:1116,height:290,loop:!1,duration:2,name:"\u95EA\u70C1\u6548\u679C35",nameEn:"Blink Effect 35",video:"video/10001134.webm",icon:"icon/10001134.png",audio:["audio/10001134.mp3"]},{id:10001135,scope:"ui",width:1116,height:290,loop:!1,duration:2,name:"\u95EA\u70C1\u6548\u679C36",nameEn:"Blink Effect 36",video:"video/10001135.webm",icon:"icon/10001135.png",audio:["audio/10001135.mp3"]},{id:10001136,scope:"ui",width:1520,height:296,loop:!1,duration:1.466,name:"\u95EA\u70C1\u6548\u679C37",nameEn:"Blink Effect 37",video:"video/10001136.webm",icon:"icon/10001136.png",audio:[]},{id:10001137,scope:"ui",width:2266,height:706,loop:!1,duration:2.066,name:"\u95EA\u70C1\u6548\u679C38",nameEn:"Blink Effect 38",video:"video/10001137.webm",icon:"icon/10001137.png",audio:[]},{id:10001138,scope:"ui",width:912,height:192,loop:!1,duration:2.033,name:"\u95EA\u70C1\u6548\u679C39",nameEn:"Blink Effect 39",video:"video/10001138.webm",icon:"icon/10001138.png",audio:[]},{id:10001139,scope:"ui",width:912,height:192,loop:!1,duration:2.033,name:"\u95EA\u70C1\u6548\u679C40",nameEn:"Blink Effect 40",video:"video/10001139.webm",icon:"icon/10001139.png",audio:[]},{id:10001140,scope:"ui",width:912,height:174,loop:!1,duration:2.033,name:"\u95EA\u70C1\u6548\u679C41",nameEn:"Blink Effect 41",video:"video/10001140.webm",icon:"icon/10001140.png",audio:[]},{id:10001141,scope:"ui",width:912,height:102,loop:!1,duration:2.033,name:"\u95EA\u70C1\u6548\u679C42",nameEn:"Blink Effect 42",video:"video/10001141.webm",icon:"icon/10001141.png",audio:[]},{id:10001142,scope:"ui",width:1766,height:1542,loop:!1,duration:3.8,name:"\u95EA\u70C1\u6548\u679C43",nameEn:"Blink Effect 43",video:"video/10001142.webm",icon:"icon/10001142.png",audio:[]},{id:10001143,scope:"ui",width:1312,height:168,loop:!1,duration:1.066,name:"\u95EA\u70C1\u6548\u679C44",nameEn:"Blink Effect 44",video:"video/10001143.webm",icon:"icon/10001143.png",audio:["audio/10001143.mp3","audio/10001143_02.mp3"]},{id:10001144,scope:"ui",width:698,height:82,loop:!1,duration:2.233,name:"\u95EA\u70C1\u6548\u679C45",nameEn:"Blink Effect 45",video:"video/10001144.webm",icon:"icon/10001144.png",audio:[]},{id:10001145,scope:"ui",width:698,height:92,loop:!1,duration:2.266,name:"\u95EA\u70C1\u6548\u679C46",nameEn:"Blink Effect 46",video:"video/10001145.webm",icon:"icon/10001145.png",audio:[]},{id:10001146,scope:"ui",width:698,height:92,loop:!1,duration:2.266,name:"\u95EA\u70C1\u6548\u679C47",nameEn:"Blink Effect 47",video:"video/10001146.webm",icon:"icon/10001146.png",audio:[]},{id:10001147,scope:"ui",width:306,height:54,loop:!0,duration:10,name:"\u8FDB\u5EA6\u7D2F\u79EF4",nameEn:"Progress Accumulation 4",video:"video/10001147.webm",icon:"icon/10001147.png",audio:[]},{id:10001148,scope:"ui",width:934,height:194,loop:!1,duration:1.233,name:"\u8FDB\u5EA6\u7D2F\u79EF5",nameEn:"Progress Accumulation 5",video:"video/10001148.webm",icon:"icon/10001148.png",audio:[]},{id:10001149,scope:"ui",width:616,height:248,loop:!0,duration:10,name:"\u95EA\u70C1\u6548\u679C48",nameEn:"Blink Effect 48",video:"video/10001149.webm",icon:"icon/10001149.png",audio:[]},{id:10001150,scope:"ui",width:746,height:228,loop:!1,duration:1.366,name:"\u95EA\u70C1\u6548\u679C49",nameEn:"Blink Effect 49",video:"video/10001150.webm",icon:"icon/10001150.png",audio:[]},{id:10001151,scope:"ui",width:606,height:210,loop:!1,duration:1.233,name:"\u95EA\u70C1\u6548\u679C50",nameEn:"Blink Effect 50",video:"video/10001151.webm",icon:"icon/10001151.png",audio:[]},{id:10001152,scope:"ui",width:1674,height:346,loop:!0,duration:10,name:"\u8FDB\u5EA6\u7D2F\u79EF6",nameEn:"Progress Accumulation 6",video:"video/10001152.webm",icon:"icon/10001152.png",audio:[]},{id:10001153,scope:"ui",width:1110,height:400,loop:!1,duration:1.2,name:"\u95EA\u70C1\u6548\u679C51",nameEn:"Blink Effect 51",video:"video/10001153.webm",icon:"icon/10001153.png",audio:["audio/10001153.mp3","audio/10001153_02.mp3"]},{id:10001154,scope:"ui",width:1178,height:506,loop:!0,duration:10,name:"\u8FDB\u5EA6\u7D2F\u79EF7",nameEn:"Progress Accumulation 7",video:"video/10001154.webm",icon:"icon/10001154.png",audio:[]},{id:10001155,scope:"ui",width:1254,height:200,loop:!1,duration:1.2,name:"\u8FDB\u5EA6\u7D2F\u79EF8",nameEn:"Progress Accumulation 8",video:"video/10001155.webm",icon:"icon/10001155.png",audio:["audio/10001155.mp3"]},{id:10001156,scope:"ui",width:1180,height:202,loop:!1,duration:1.2,name:"\u8FDB\u5EA6\u7D2F\u79EF9",nameEn:"Progress Accumulation 9",video:"video/10001156.webm",icon:"icon/10001156.png",audio:["audio/10001156.mp3"]},{id:10001157,scope:"ui",width:654,height:118,loop:!0,duration:10,name:"\u8FDB\u5EA6\u7D2F\u79EF10",nameEn:"Progress Accumulation 10",video:"video/10001157.webm",icon:"icon/10001157.png",audio:[]},{id:10001158,scope:"ui",width:962,height:162,loop:!0,duration:10,name:"\u8FDB\u5EA6\u7D2F\u79EF11",nameEn:"Progress Accumulation 11",video:"video/10001158.webm",icon:"icon/10001158.png",audio:[]},{id:10001159,scope:"ui",width:1016,height:142,loop:!0,duration:10,name:"\u8FDB\u5EA6\u7D2F\u79EF12",nameEn:"Progress Accumulation 12",video:"video/10001159.webm",icon:"icon/10001159.png",audio:[]},{id:10001160,scope:"ui",width:790,height:210,loop:!1,duration:1,name:"\u8FDB\u5EA6\u7D2F\u79EF13",nameEn:"Progress Accumulation 13",video:"video/10001160.webm",icon:"icon/10001160.png",audio:[]},{id:10002001,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F41",nameEn:"View Ambience 1",video:"video/10002001.webm",icon:"icon/10002001.png",audio:["audio/10002001.mp3"]},{id:10002002,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F42",nameEn:"View Ambience 2",video:"video/10002002.webm",icon:"icon/10002002.png",audio:[]},{id:10002003,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F43",nameEn:"View Ambience 3",video:"video/10002003.webm",icon:"icon/10002003.png",audio:[]},{id:10002004,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F44",nameEn:"View Ambience 4",video:"video/10002004.webm",icon:"icon/10002004.png",audio:[]},{id:10002005,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F45",nameEn:"View Ambience 5",video:"video/10002005.webm",icon:"icon/10002005.png",audio:[]},{id:10002006,scope:"screen",width:1280,height:720,loop:!1,duration:1.9,name:"\u89C6\u91CE\u6C1B\u56F46",nameEn:"View Ambience 6",video:"video/10002006.webm",icon:"icon/10002006.png",audio:[]},{id:10002007,scope:"screen",width:1280,height:720,loop:!1,duration:2.4,name:"\u89C6\u91CE\u6C1B\u56F47",nameEn:"View Ambience 7",video:"video/10002007.webm",icon:"icon/10002007.png",audio:[]},{id:10002008,scope:"screen",width:1280,height:720,loop:!1,duration:3.433,name:"\u89C6\u91CE\u6C1B\u56F48",nameEn:"View Ambience 8",video:"video/10002008.webm",icon:"icon/10002008.png",audio:["audio/10002008.mp3"]},{id:10002009,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F49",nameEn:"View Ambience 9",video:"video/10002009.webm",icon:"icon/10002009.png",audio:["audio/10002009.mp3"]},{id:10002010,scope:"screen",width:1280,height:720,loop:!1,duration:2.5,name:"\u89C6\u91CE\u6C1B\u56F410",nameEn:"View Ambience 10",video:"video/10002010.webm",icon:"icon/10002010.png",audio:[]},{id:10002011,scope:"screen",width:1280,height:720,loop:!1,duration:1.8,name:"\u89C6\u91CE\u6C1B\u56F411",nameEn:"View Ambience 11",video:"video/10002011.webm",icon:"icon/10002011.png",audio:[]},{id:10002012,scope:"screen",width:1280,height:720,loop:!1,duration:2.933,name:"\u89C6\u91CE\u6C1B\u56F412",nameEn:"View Ambience 12",video:"video/10002012.webm",icon:"icon/10002012.png",audio:[]},{id:10002013,scope:"screen",width:1280,height:720,loop:!1,duration:3.9,name:"\u89C6\u91CE\u6C1B\u56F413",nameEn:"View Ambience 13",video:"video/10002013.webm",icon:"icon/10002013.png",audio:[]},{id:10002014,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F414",nameEn:"View Ambience 14",video:"video/10002014.webm",icon:"icon/10002014.png",audio:[]},{id:10002015,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F415",nameEn:"View Ambience 15",video:"video/10002015.webm",icon:"icon/10002015.png",audio:["audio/10002015.mp3"]},{id:10002016,scope:"screen",width:1280,height:720,loop:!1,duration:2.5,name:"\u89C6\u91CE\u6C1B\u56F416",nameEn:"View Ambience 16",video:"video/10002016.webm",icon:"icon/10002016.png",audio:[]},{id:10002017,scope:"screen",width:1280,height:720,loop:!1,duration:.733,name:"\u89C6\u91CE\u6C1B\u56F417",nameEn:"View Ambience 17",video:"video/10002017.webm",icon:"icon/10002017.png",audio:[]},{id:10002018,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F418",nameEn:"View Ambience 18",video:"video/10002018.webm",icon:"icon/10002018.png",audio:[]},{id:10002019,scope:"screen",width:1280,height:720,loop:!1,duration:2.2,name:"\u89C6\u91CE\u6C1B\u56F419",nameEn:"View Ambience 19",video:"video/10002019.webm",icon:"icon/10002019.png",audio:[]},{id:10002020,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F420",nameEn:"View Ambience 20",video:"video/10002020.webm",icon:"icon/10002020.png",audio:[]},{id:10002021,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F421",nameEn:"View Ambience 21",video:"video/10002021.webm",icon:"icon/10002021.png",audio:[]},{id:10002022,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F422",nameEn:"View Ambience 22",video:"video/10002022.webm",icon:"icon/10002022.png",audio:[]},{id:10002023,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F423",nameEn:"View Ambience 23",video:"video/10002023.webm",icon:"icon/10002023.png",audio:[]},{id:10002024,scope:"screen",width:1280,height:720,loop:!1,duration:3.4,name:"\u89C6\u91CE\u6C1B\u56F424",nameEn:"View Ambience 24",video:"video/10002024.webm",icon:"icon/10002024.png",audio:[]},{id:10002025,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F425",nameEn:"View Ambience 25",video:"video/10002025.webm",icon:"icon/10002025.png",audio:[]},{id:10002026,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F426",nameEn:"View Ambience 26",video:"video/10002026.webm",icon:"icon/10002026.png",audio:["audio/10002026.mp3"]},{id:10002027,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F427",nameEn:"View Ambience 27",video:"video/10002027.webm",icon:"icon/10002027.png",audio:[]},{id:10002028,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F428",nameEn:"View Ambience 28",video:"video/10002028.webm",icon:"icon/10002028.png",audio:[]},{id:10002029,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F429",nameEn:"View Ambience 29",video:"video/10002029.webm",icon:"icon/10002029.png",audio:[]},{id:10002030,scope:"screen",width:1280,height:720,loop:!1,duration:1.966,name:"\u89C6\u91CE\u6C1B\u56F430",nameEn:"View Ambience 30",video:"video/10002030.webm",icon:"icon/10002030.png",audio:[]},{id:10002031,scope:"screen",width:1280,height:720,loop:!1,duration:1.166,name:"\u89C6\u91CE\u6C1B\u56F431",nameEn:"View Ambience 31",video:"video/10002031.webm",icon:"icon/10002031.png",audio:["audio/10002031.mp3","audio/10002031_02.mp3","audio/10002031_03.mp3","audio/10002031_04.mp3"]},{id:10002032,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F432",nameEn:"View Ambience 32",video:"video/10002032.webm",icon:"icon/10002032.png",audio:["audio/10002032.mp3"]},{id:10002033,scope:"screen",width:1280,height:720,loop:!1,duration:2,name:"\u89C6\u91CE\u6C1B\u56F433",nameEn:"View Ambience 33",video:"video/10002033.webm",icon:"icon/10002033.png",audio:["audio/10002033.mp3","audio/10002033_02.mp3"]},{id:10002034,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F434",nameEn:"View Ambience 34",video:"video/10002034.webm",icon:"icon/10002034.png",audio:[]},{id:10002035,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u89C6\u91CE\u6C1B\u56F435",nameEn:"View Ambience 35",video:"video/10002035.webm",icon:"icon/10002035.png",audio:["audio/10002035.mp3"]},{id:10002036,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u7784\u51C6\u6548\u679C1",nameEn:"Aiming Effect 1",video:"video/10002036.webm",icon:"icon/10002036.png",audio:[]},{id:10002037,scope:"screen",width:1280,height:720,loop:!0,duration:10,name:"\u7784\u51C6\u6548\u679C2",nameEn:"Aiming Effect 2",video:"video/10002037.webm",icon:"icon/10002037.png",audio:["audio/10002037.mp3"]}],files:{"audio/10001017.mp3":{bytes:6524,sha256:"82470dfef398dab45fb3d50134da7b49573e7189f683d2bdf0849b478f267c79",duration:.850667},"audio/10001032.mp3":{bytes:27907,sha256:"53ca71dde10d2d7b6fbf7232d2461f48e564c2d847cbb29f9aac685114634dff",duration:1.258231},"audio/10001040.mp3":{bytes:24212,sha256:"faf6a45ba3d02a6d86ba43f8fe8bf7dbadd22997f0e16ed22b990b0eeaac05c2",duration:1.202104},"audio/10001043.mp3":{bytes:15068,sha256:"ffe52807864f795fd7f8e5e235fca49537437d70a34db83d66352063fe538a52",duration:.570563},"audio/10001043_02.mp3":{bytes:12812,sha256:"b8c194027b798e504f51ae73b67ae63e0d56904ebc95d458b0065d995fa2ed58",duration:.501813},"audio/10001057.mp3":{bytes:28220,sha256:"df501138ff9ae6a43fc8b434c09a401093a5598e9366136e7071e1c57baeb238",duration:1.613042},"audio/10001059.mp3":{bytes:29516,sha256:"2d80dbec2dde2348c3c9dcf95598a79bd851aa8329c5ed68e33d40a532ee491c",duration:1.4855},"audio/10001107.mp3":{bytes:27174,sha256:"eedee79d5e4cb0282bba21e5b12a24170a07354f3285d3f50cd47e24ead5149b",duration:1.383039},"audio/10001108.mp3":{bytes:27174,sha256:"eedee79d5e4cb0282bba21e5b12a24170a07354f3285d3f50cd47e24ead5149b",duration:1.383039},"audio/10001110.mp3":{bytes:12164,sha256:"de0f6db4c8942741fa82168431e31f8b54d68260bf412266ef707506ff6f10c3",duration:.448},"audio/10001111.mp3":{bytes:12164,sha256:"de0f6db4c8942741fa82168431e31f8b54d68260bf412266ef707506ff6f10c3",duration:.448},"audio/10001112.mp3":{bytes:12164,sha256:"de0f6db4c8942741fa82168431e31f8b54d68260bf412266ef707506ff6f10c3",duration:.448},"audio/10001120.mp3":{bytes:19556,sha256:"2f7a402979dc442b4214e46d79b2dd1b7925c96c0eaebbbf0555fe3f5bb3a529",duration:1.5},"audio/10001120_02.mp3":{bytes:19772,sha256:"f1c0f5e4b3f8a550d058f14a35340f4cbf56de86b4c409dd13b1125d682e09d6",duration:1.5},"audio/10001120_03.mp3":{bytes:18572,sha256:"630975e0a80512e788648adadc6b2d96c526a6125e13ffffde83e65cf000aa5e",duration:1.5},"audio/10001120_04.mp3":{bytes:21212,sha256:"00da41febe7cf8a8491117ef820c42aa79c65172769b4a12705666e9d7f2b636",duration:1.5},"audio/10001120_05.mp3":{bytes:19220,sha256:"5d85fe103ecc1868eefc679ff676996c329e61881640ac743409899d34fc5b6b",duration:1.5},"audio/10001120_06.mp3":{bytes:24596,sha256:"ce03626d5f0a7ccaf4a6cec7bce8ed915f61d6ec57b3cd532cbfc89da5bdcc3e",duration:1.5},"audio/10001120_07.mp3":{bytes:22316,sha256:"4dadba002982494e40772cccfedce6f6405fb4abc1e81f2206c4c2e0ac2645b5",duration:1.5},"audio/10001120_08.mp3":{bytes:21548,sha256:"309625fddc0d645da062ff788100a656bd83c4ce8cb75d523ed1949387e8252e",duration:1.5},"audio/10001120_09.mp3":{bytes:23060,sha256:"2eaf460f61ae85e8e2a4c324ebb9c4bc4f460fd2489a15943b92d2fa4422d3b6",duration:1.5},"audio/10001120_10.mp3":{bytes:18668,sha256:"6242a47c96c9ce87cb00a6f2288e8209b9ef5e3dc7ecb62bdadbf8672df95714",duration:1.5},"audio/10001120_11.mp3":{bytes:21188,sha256:"880383e307f7fe7210c05c37fc04a0ac8e3c909d500215f72c7228b9c2e660a6",duration:1.5},"audio/10001129.mp3":{bytes:45188,sha256:"07198b0853f2a859c6ccb85ec4ad1e56c6131302f5145f50d39fd98efe7e5387",duration:2.130667},"audio/10001131.mp3":{bytes:45188,sha256:"07198b0853f2a859c6ccb85ec4ad1e56c6131302f5145f50d39fd98efe7e5387",duration:2.130667},"audio/10001134.mp3":{bytes:45908,sha256:"ff64e15c3144791ad9073ee4537eb21ec7cf1d41dd205b0ef051a8263784793f",duration:2.518667},"audio/10001135.mp3":{bytes:49940,sha256:"edf39fa868e9e42da6fe38c8f726bf4162c950543efdfdefb1f85d3dfaa4d72b",duration:2.758667},"audio/10001143.mp3":{bytes:20156,sha256:"740c276f344b457077bc48f627304d15bbd879d06b3d6b6108673f07d2ec0dc5",duration:.841333},"audio/10001143_02.mp3":{bytes:36524,sha256:"b70b6326344739a781ef5ba96103b349d37052102a29cf2d5cddd2517cd13dff",duration:2.298604},"audio/10001153.mp3":{bytes:20372,sha256:"5c7d6a7ee0d3fff9352071a17979c9941ab1e5322e9b5a94692077f932c71ecf",duration:1.074208},"audio/10001153_02.mp3":{bytes:21140,sha256:"34e4852a0e1bcfd46c8820d9d61a1ef5288ba2795decc8829d1cf1c4b04d1b3a",duration:1.074208},"audio/10001155.mp3":{bytes:32132,sha256:"e1b38d6f72b3b7124da2c8a6417484053e1dd2833507d03cea32175d3d8e486c",duration:1.361167},"audio/10001156.mp3":{bytes:17468,sha256:"b945a4cc1ef374343806f677e1e2ab461c452a4eed6992151575791ccae7e9b2",duration:.808958},"audio/10002001.mp3":{bytes:126284,sha256:"9bedc3f73a10d1b4205d53c2c11b22ad1fc54375a430be0f64e2e5a7ed68b35d",duration:6.018875},"audio/10002008.mp3":{bytes:58316,sha256:"e24d9e46941a40c27b0adbc06927f245cb4826445142d3d4d1ca5d4e7a6889b7",duration:2.57125},"audio/10002009.mp3":{bytes:57932,sha256:"abea73a14c14dc143ed4b1244eba7257bf38119edb13923504c00ee11f51deb1",duration:2.5},"audio/10002015.mp3":{bytes:57932,sha256:"abea73a14c14dc143ed4b1244eba7257bf38119edb13923504c00ee11f51deb1",duration:2.5},"audio/10002026.mp3":{bytes:38137,sha256:"3ce1a1df88494fb7179a6df74a9f30f14e185e16060d84daff586c2992f06c1d",duration:1.994603},"audio/10002031.mp3":{bytes:6932,sha256:"81439fcff710fdd6ce4541ddf76edc30f119c44fbf7e6d39df2c6349ffe4a347",duration:.301333},"audio/10002031_02.mp3":{bytes:5420,sha256:"f9ad4c41d670a010fb7e8acc6227e0ea8dc73dc1504972190aa513fdc0257d05",duration:.296104},"audio/10002031_03.mp3":{bytes:8012,sha256:"40c44c0ea861bd86e1bbedda8bf48dbe5c4d0b3a22f493cc2d9dfab43544d9e5",duration:.296104},"audio/10002031_04.mp3":{bytes:5948,sha256:"69c8ab1fc17a47a696e1e65d2a87613ae98377712d09a4d18cfbdf6cb06defae",duration:.296104},"audio/10002032.mp3":{bytes:111082,sha256:"0f17b84ae322621d29af50d88c3ee8d66677926429ae818579eba240e5f07a52",duration:4.90771},"audio/10002033.mp3":{bytes:59847,sha256:"0476fabf3f0d6d000758a82e467a1ff0e363d0efa3e873b60eb2d4194372aa24",duration:2.949274},"audio/10002033_02.mp3":{bytes:60791,sha256:"9f6eac53ec1f8dd02be7a532ee51ddbfc2c1f34c935616194e2c92e8ea8794bd",duration:2.928254},"audio/10002035.mp3":{bytes:93092,sha256:"360a57a535ffe34d8fdd3ef652512dac3cb46c1155791ea5992b3fd5cfde3a0c",duration:4.26},"audio/10002037.mp3":{bytes:50252,sha256:"508a7cadf5dec9f94a41570aa5d0dae7b7ee2fef4bbf42e96b7a8b46da21e51d",duration:2.246667},"icon/10001001.png":{bytes:23905,sha256:"fe51bb11c58eef524f2f6683663a58f69c4272de1d027797ccf1b283b5fcc583"},"icon/10001002.png":{bytes:22166,sha256:"36936f7678f5c5cb0a3a014a76eb9c6bdd5a9f23e72dfbef6d9523523cf9be48"},"icon/10001003.png":{bytes:22959,sha256:"77e1ca70f67b68c3a2ff8951017a95c54af43a02d37f025c4b39e299a0389820"},"icon/10001004.png":{bytes:24182,sha256:"127a9be79e7a0460bbba6f4390b83cf0137a1f50995fd4ddfdf071d0ce9aec5c"},"icon/10001005.png":{bytes:24501,sha256:"78dfe771d99b5002ef7ba93d6b2705aabf28fc8ad362becccd986de62da8b9ee"},"icon/10001006.png":{bytes:23058,sha256:"0bd296f4d2ec3fb3a46f6cbaaeaa959de21e5e94927317cc1c00f3eb767a8ab4"},"icon/10001007.png":{bytes:24384,sha256:"0d858dd1574291ff8365a64381eb7c2244e2f3ee054b89c4291d295af23cb565"},"icon/10001008.png":{bytes:25339,sha256:"60fb9e6b7b0765eb6559360a501220628f73995f20cf32bf600556ed55baebed"},"icon/10001009.png":{bytes:25470,sha256:"6eedb42ef97b243de8b3c7ce7d4ff06ecda408e333c1b67bfb0c3252ba2b71fc"},"icon/10001010.png":{bytes:17067,sha256:"3067643b0330ec446e15ff4b50eadc5c9d75597fac5b7ead544cf9f74c27c8f3"},"icon/10001011.png":{bytes:20283,sha256:"693c10ff57c4f729c5bc4bbc64aa15a7ee9ed1666ad08af11a6bf976e3608ab6"},"icon/10001012.png":{bytes:17900,sha256:"eeb4aa0a6a2e7d52983207ae143660f4cb50c1b529f7c42817112f760ef07520"},"icon/10001013.png":{bytes:20986,sha256:"273f7d86fb8e209bbd2dc06ceb3679c7f8d5d78f57fc3690bfbf83dd48a5fb4c"},"icon/10001014.png":{bytes:19083,sha256:"966cdcbd74d3e990262f5fdf1cc58704f67ca4a2ea5cd36d0118c0be2f312e0c"},"icon/10001015.png":{bytes:19533,sha256:"da2debca11cfa90e1868b966aa19f426664b968d0523ed458bc23e6a26601272"},"icon/10001016.png":{bytes:20596,sha256:"9a584e1393532cc8649512c31319bfa901fc73d557e01c3cd3c77ec80b8a6225"},"icon/10001017.png":{bytes:15766,sha256:"b2588c21a03d6c7795398e2240e527bbdd4e3f718f806f3906930bd68a4c8b85"},"icon/10001018.png":{bytes:18168,sha256:"5e9938443c22663db8434fc568362ae4d3de48cb1b6c411e703aeac07e3b5c4c"},"icon/10001019.png":{bytes:21447,sha256:"7625187d1c358b23e8ff7c38a9a4c6a9952bb0d7f9d4b6cf1256f1a0493df72f"},"icon/10001020.png":{bytes:24125,sha256:"2c07a35ade6a3d73b08d24b76153eedb6de41f1298e840dd5faee04bbf8fbcb0"},"icon/10001021.png":{bytes:19226,sha256:"06046a9387fd8ead3fbe4002c9cafbaa4189852bd683ef3b627133324fc578e9"},"icon/10001022.png":{bytes:19063,sha256:"30406afc29728bd50b1cd1704307effdca73a86db5d3b97a7fd1b2ba936e383a"},"icon/10001023.png":{bytes:19749,sha256:"29ed71483317b6d1f7fdcc4556731ca19a3828158bd70710eaaac5f7512b7aa1"},"icon/10001024.png":{bytes:7178,sha256:"1459dc8c6bba8f391e63d40dc410b0a94ba1ea346a2cc19b8fcee940010a3bd6"},"icon/10001025.png":{bytes:5758,sha256:"7fd586d94c22c9a6c4ad0248974b21d4f29b2a7e2c8c04cecf607f860bd4dd74"},"icon/10001026.png":{bytes:6248,sha256:"1829dd3720c0df86849f78fc5fb532e8412a5302bae20cd4571376c9ae06f43d"},"icon/10001027.png":{bytes:5454,sha256:"fed706b5943134d4fdb776ec35f479bf792a0b4603e23b2030e7893a3159ecd8"},"icon/10001028.png":{bytes:5275,sha256:"f0f01e125afd58d2a7cc6f850e1a69edb8e47d31a424eed21431b0b4f0e34bdd"},"icon/10001029.png":{bytes:6492,sha256:"592c905f1b364684d1004bc17739d1dd563e6aad5a0da97174d6f4d91dde0afc"},"icon/10001030.png":{bytes:5994,sha256:"816c8995dc94a724233222b3a21633d55330bad2c9879509587cfc10a20e9f50"},"icon/10001031.png":{bytes:12053,sha256:"36d3220568ee902b5cdce711946423d79edf54d70b46f7e46d9d79316a60f470"},"icon/10001032.png":{bytes:6189,sha256:"4d2f2a6a4aa56f799fa6d9b2bf112dd14754f3480951962899ed8e19f0f3d5a4"},"icon/10001033.png":{bytes:19270,sha256:"74367881fc31f13f6c8c6aa87a5da0c779d8303cda03aab1b914d03e2e243697"},"icon/10001034.png":{bytes:23429,sha256:"fdf41e7834dacd674f9d14e4db0c3a4598ae18ad7bcb0ed2f819af69decc4564"},"icon/10001035.png":{bytes:10567,sha256:"71e42a76b7d82964f609885a8fd0f4b8082dfbbc450349dd1329fac1d0f3b8d7"},"icon/10001036.png":{bytes:20003,sha256:"3ffb2d2cae852795566819b3bc65e42d6f5cfea442807813e3f110d2ae5306ab"},"icon/10001037.png":{bytes:11651,sha256:"0f2f343b4030beb38a5d03ca500b16292ee3402853a685eea33907da3166d00d"},"icon/10001038.png":{bytes:3402,sha256:"4fe6ebe2f6160b91c3c51971e4d588fa75f17dc58680c5e7525547eadb8a9922"},"icon/10001039.png":{bytes:16348,sha256:"c91c4bb5fd6c4ca331d4e47015669bd8727d2c91a3d79e97dceabba5484eed51"},"icon/10001040.png":{bytes:15606,sha256:"02c74e003d186f3c5ca4ea280312e2629faade7a3b95dc9ea320f587d411c658"},"icon/10001041.png":{bytes:7378,sha256:"dcec72b04c3096893874d605112c6c8aca2182a5d7af4231e08e279155efc6f0"},"icon/10001042.png":{bytes:9216,sha256:"4d53cec5485b07cde76ef6a459d7f30b73cbb149c7d22d70f94c9d4f08caca95"},"icon/10001043.png":{bytes:7268,sha256:"d0c2a175a0de3b1ed673ff2298cd964e93681a79b8bae03cb3a9940bf2b295b7"},"icon/10001044.png":{bytes:17785,sha256:"b166e9094cfb03ecce6eeeef4715623325ec4b86eda3236e72d34c7f1e4c7aee"},"icon/10001045.png":{bytes:20257,sha256:"dba951310f94d16e23800d78e6f15fb09753de1106fce0b6b65c869ac836ae5e"},"icon/10001046.png":{bytes:18695,sha256:"ccabfef92ec484881baade8997962077e362dde9552a0eefa4c11a063156bc61"},"icon/10001047.png":{bytes:20724,sha256:"571f24becceb229b8388a458c72bf5367c9c9b1bd2f511be9b6175f34c3fa743"},"icon/10001048.png":{bytes:19845,sha256:"3bccfb7c346d124071a2746f75d9e519d90985f07a9122cbb373347646c50d1e"},"icon/10001049.png":{bytes:26620,sha256:"62eaca8f1fa7013d5a9039864571102c640f0ad38b7fc19c34e475caf719cda5"},"icon/10001050.png":{bytes:21554,sha256:"9757b6b14968327fbd2933e4bc1df5c88e8acaa6a1654f880d0aa60557d0f012"},"icon/10001051.png":{bytes:23608,sha256:"3649049db87f65e60857124089570f03d8a87ccd367eddf1cd3189dc49318222"},"icon/10001052.png":{bytes:10144,sha256:"2939136db3eeca57cf771b6e776b0d00ef93b53d00a436b1429c8035821cb49b"},"icon/10001053.png":{bytes:16400,sha256:"29c5e8192b476e74b655b9b717ffa08b0195d5e098951a07904128b2fdfd8cd3"},"icon/10001054.png":{bytes:26202,sha256:"f73fbc019e699b109591814aae3f6d8b111b1388e6bb129ccb35edf7b526dd6d"},"icon/10001055.png":{bytes:19948,sha256:"48de3fe25bdde874eac546529417ffcc4ad395640539895293de829bc9d28fcb"},"icon/10001056.png":{bytes:9550,sha256:"a681352376be706911851bb90563ed343968c35c58c7af3a77fff4b4c16ea3a2"},"icon/10001057.png":{bytes:4530,sha256:"f855883dd19a55155968b77c238f2b5fe0cd894569959ec0f776b3c7d9c0006d"},"icon/10001058.png":{bytes:19430,sha256:"d94b796fbddaf0d63531c0b5569b26ef3e5cb42a51b06faced91b6c9fe467c94"},"icon/10001059.png":{bytes:21181,sha256:"71fe484027e51e4b7af32da4a4d3c661bef1dc5e011710aa0c8512db46237072"},"icon/10001060.png":{bytes:19537,sha256:"cb3ee2648a2b1b656e731d8b2c0cb102bc2eed1c6125b166e1867ca0129b4117"},"icon/10001061.png":{bytes:19347,sha256:"2b7bff19a05b1868e680b8d96919aa1449a7a35fb16fad62ce12d9e546f1cc8c"},"icon/10001062.png":{bytes:24195,sha256:"381bb70063fa7dcc3eda51a116bd79c44f41f32fb2abe647c3957570ca3c5257"},"icon/10001063.png":{bytes:24414,sha256:"240ad25841dcf341fc202efeb82009b52f9e99a403129b251443248f8729200d"},"icon/10001064.png":{bytes:21752,sha256:"8f37873cb51acc05c3e38534b272fc0dffaf2455e85f123fb7d1273584e9a276"},"icon/10001065.png":{bytes:22353,sha256:"082328a9b48c365b77eb4b7c7fe3461647af52da0f6f8d3a9a6aed4715ef55c9"},"icon/10001066.png":{bytes:25040,sha256:"93e8e9a1154521759b8275da6dd7813520067bdbb958fa1ef40a3e2db5d33ebd"},"icon/10001067.png":{bytes:17900,sha256:"764844d417a505af87d84c5b45ed11d8d4f6751e0bb934296354baf2c5e9b7db"},"icon/10001068.png":{bytes:27775,sha256:"f1696ad983c71560c9954d23d24e32fa79d877b7f136b115526d74002dfa13ee"},"icon/10001069.png":{bytes:27560,sha256:"14a34457ecf46a8f4a587ec4c7349a56dfa50550382dade7b3496365165b6f3c"},"icon/10001070.png":{bytes:7342,sha256:"392327cac6f05cd50cf10517e065449b3e3d63a20f2e7028cb54597341fffa1a"},"icon/10001071.png":{bytes:8292,sha256:"e35b725fd8337d3caf63550d9b3483fcc4d2e033711538db5cf792c1990760f2"},"icon/10001072.png":{bytes:2941,sha256:"92b0722a12b3370aaa2ddc69da17d1df9ded02d96e1310d9f88d22531d1e52bf"},"icon/10001073.png":{bytes:26648,sha256:"8cb0bfeb6f957c3507f9c59987440e34f9b8af8435ded2e80451c47c5e40e3ed"},"icon/10001074.png":{bytes:15602,sha256:"ade023a5bbeabcb56c1f14936c05d43a55836d9e0d530ac27a582ce5fd099cbd"},"icon/10001075.png":{bytes:29167,sha256:"d104103a60927435254c590c3d13294426f05ea81193ba5581ac1c56dbad690d"},"icon/10001076.png":{bytes:21611,sha256:"d42eff9554cf6b8010729decfe48c67f82fbe044d7174ffcf6f66ce1e0aaa776"},"icon/10001077.png":{bytes:17232,sha256:"417922105baee5e55df1ca41dec0f6ea50e5597e25e972bda5e85921ba89defa"},"icon/10001078.png":{bytes:22903,sha256:"f595cae988c1aa72bb46aaed66fbd4eb2a80b0d428e6f69279e6cc5eb8f33d43"},"icon/10001079.png":{bytes:12314,sha256:"d786c8e75869e85cd1282fedbdd7184599d467323ec627ba84fc8ac4d5b32802"},"icon/10001080.png":{bytes:21705,sha256:"40070edd6457107645f67436623734dc991b9ca443ab90f69f70dbaaea7a39ad"},"icon/10001081.png":{bytes:20562,sha256:"d56e7c2c982f3b27cd11f81799f37e59bed9c0ee33c38cb388a761faa3ff4aa7"},"icon/10001082.png":{bytes:16044,sha256:"d1a2f46512f076d4c94d595d09bd79a621823a9beb605d7550ec7c0a18063fee"},"icon/10001083.png":{bytes:20479,sha256:"fdccdda6ccfed67eac85cfa376d6f8a40ee1219ddd3cad6900b277b609e192eb"},"icon/10001084.png":{bytes:10321,sha256:"8ed3211996fe8174c1eea74b1b5187b507fda63b2d4f9c92d1a198d2560b00b3"},"icon/10001085.png":{bytes:14763,sha256:"2f965520fc95c4616a4af85f5340788038a5b4530ee2e687153ce58559c03220"},"icon/10001086.png":{bytes:18341,sha256:"060c578e663efedf5cb8516fedc4f05837fcf63a55b977d19658324708910776"},"icon/10001087.png":{bytes:4213,sha256:"769837b1d6caa5bbd3e3aa99ea416c57538b18c7c24d918e284d9c1251bbc460"},"icon/10001088.png":{bytes:4172,sha256:"5d4ea01aaec16fe631fc2383d258bba90158083c6bfcd8c1183dc22bad62fc0e"},"icon/10001089.png":{bytes:3474,sha256:"90625242ffa6ef70ba55f48bc7ecdb056c359db8381831ff22f9885d3c3f22f3"},"icon/10001090.png":{bytes:7435,sha256:"513808a1c0e913a192a113b8503698612af55c7ba9f3f341d24f50995aa7e902"},"icon/10001091.png":{bytes:22367,sha256:"7daa0d126bd8a7389720014dcb8448da8bc21eb0b381a99062bfa81d0b4d090c"},"icon/10001092.png":{bytes:12227,sha256:"9d63290e2cfa3acf8d58df425be36a101579b867c66c306986d762d7d4f422fd"},"icon/10001093.png":{bytes:26518,sha256:"bc385ef5b565fd3a9e6f923d6172155fd25472be7705b2b62569b07b8dc08cf6"},"icon/10001094.png":{bytes:25052,sha256:"e4ae56756a19592c96fe52a7a4b538c943377c2a20d921d8fecaea6a8f0c7dea"},"icon/10001095.png":{bytes:23206,sha256:"c4f38e680893ecda45e5c7e3589a2b852a15f4345abe4ec23629e1836d4db70e"},"icon/10001096.png":{bytes:22122,sha256:"f686a5ea91407ebdc08f4291b5169bd552ed5c8d8333be59db9366770cf7ff2b"},"icon/10001097.png":{bytes:12560,sha256:"f73d09781a3c85f822b0c88fa72b740cd50a15c2b8f592fa87979353ab4469dd"},"icon/10001098.png":{bytes:15059,sha256:"7e8050b1404cc16aa86a71b41dbc9d21925a9b78ad9e5254cc4e9624deb31f6c"},"icon/10001099.png":{bytes:15584,sha256:"ac80e1a8be3932dd9961cf91cbb2b177c47600b2bebe29e415bbb6fea798164c"},"icon/10001100.png":{bytes:16326,sha256:"c09dc9a07b44cf2c71c61756237422b4a0c2d2067321cd43695ce6585cffcf56"},"icon/10001101.png":{bytes:10612,sha256:"7aedce9017c7ee89d59e134d9ddd054dd907a26db6c45e7fc20b7506c51b687a"},"icon/10001102.png":{bytes:23039,sha256:"493c35fb2876f09ab03cfe98eb72b4897c8ae425650572c20fb92e71434c98ca"},"icon/10001103.png":{bytes:19364,sha256:"530857b7b8e777d3f96fda60ccb9f23007ecac339c4f752ef3c85a297b3a7966"},"icon/10001104.png":{bytes:28069,sha256:"e9eb24af2a0ba2805b54c614f10221fcb7c1d73217b5d0dc6b7e00fea2e26c33"},"icon/10001105.png":{bytes:26082,sha256:"24952154a32e5955b8503c92d6ebbd85991930130c4308e2cafe9f7c5f577230"},"icon/10001106.png":{bytes:1651,sha256:"617f1f8e08229f2678330ba3c3b6167ba865b07f93691127e870b8d6adf6641b"},"icon/10001107.png":{bytes:22485,sha256:"938d08c4bf33909d7f0895c84a91713cfd1e6f937f33ff2da5eaf2b52eb5b06d"},"icon/10001108.png":{bytes:24430,sha256:"a601101f8b16bdd131b47c8f66433bcb973d1b695d992b09e634a728dff54535"},"icon/10001109.png":{bytes:15975,sha256:"210c74315ec41a5d3c19c29a76bdd3413765f8f17ded734dc0691e76d85b2191"},"icon/10001110.png":{bytes:2344,sha256:"e655f46b6fccd2edafc4eb323d8678eb28f3c3ff117e3ac9f69c60c1827ace46"},"icon/10001111.png":{bytes:3021,sha256:"85f3c7595d26004037c41ec5303b62384a0e78b1ae06bdb99386e027de99ff54"},"icon/10001112.png":{bytes:3407,sha256:"89107889930ee230b538fbbaf11e6d0d041ab412ddf5b9d834a35c30289184e6"},"icon/10001113.png":{bytes:20006,sha256:"043f3dc850dd766a97ca36a4a6b6a4f69f6bd1a39b503a94ae7f44d24a3f9f94"},"icon/10001114.png":{bytes:13510,sha256:"00746c36384a8db4907dd246d6eefa673f5d1779ebd7411e9ce240b605129211"},"icon/10001115.png":{bytes:25840,sha256:"81c3874b31b33ff76ff5696828fc7e041acbc4e5802a159e6d7cf39623b6e4d9"},"icon/10001116.png":{bytes:26845,sha256:"e08add35bb5d9dab63eb2113db0a3f02837033f89ef5bf03d6fb6bde4b143a7e"},"icon/10001117.png":{bytes:5260,sha256:"7d5929d69cf88c4fd3aad5d0924e5501c8d6466ae8deea9dd98587bcc683ace5"},"icon/10001118.png":{bytes:2319,sha256:"4a2e00b11368da3400d0fde87af9ae0004a491f9e5166cbe9ba3e412d8c42977"},"icon/10001119.png":{bytes:9639,sha256:"69c0e0c0244fe4f9a863a749dd0697021334cf6f8a940aae48047447d07abfb5"},"icon/10001120.png":{bytes:3934,sha256:"92b3b1c0bb994c6eda4527f6b6dd2af58c3fa895d04867856d0ff59ccfd19048"},"icon/10001121.png":{bytes:20543,sha256:"2ab3a15500ca6a11e4ca65bc371d95c0af1e0563cc2c0dc4f20c8c01ab092e38"},"icon/10001122.png":{bytes:12810,sha256:"b5836c452bfa9d9a1db7a362538da5568db5824118c696eb3a2c158ae70f0cf6"},"icon/10001124.png":{bytes:35989,sha256:"619ff5c41712328cb34e98705aa8df74574a1821770a4586b22909577a4bc58e"},"icon/10001125.png":{bytes:29137,sha256:"99a9ab0501de6dba85c2abc0e1e36adf7a86f10fb37875e2680f2f6d9ca3e83f"},"icon/10001126.png":{bytes:22453,sha256:"f43f07f4c18e71b27570d8523eb3a8e029420c31ffadcb3e3aa1bbaa80a9fe4d"},"icon/10001127.png":{bytes:19714,sha256:"07781839310d272bc7aa3dad17d09224462964e4a677466697030781c8fa71ce"},"icon/10001128.png":{bytes:13908,sha256:"e1181919aa1dcf4fce455f94c43548cdc4db1eccbd1056cd9cc2dd3eb8f61d64"},"icon/10001129.png":{bytes:17401,sha256:"350f315d554986c5a522f79ce80a4f33b658317e2dfd28e765f31f1f55d9fd8b"},"icon/10001130.png":{bytes:12296,sha256:"9a43c99b2df57772c96547b0de18a8d0760d6c324c2b9d3cc3db33467dd08503"},"icon/10001131.png":{bytes:5038,sha256:"75d352f831fb2cb7f33db7514a5e8c96e1dbaedcf370955cad7783baa0845efe"},"icon/10001132.png":{bytes:7256,sha256:"b0dba588447f82e38c20eb54684a9d1f84ea83fb011287908f81cac2d9c29756"},"icon/10001133.png":{bytes:6606,sha256:"96100d356bd18b99201bde0a3196a851804f391a99e915a189d1ece883c4e349"},"icon/10001134.png":{bytes:7075,sha256:"93352721db5da92231f0b53f01f72aacc33670a820e2fa6331f402c79ab3dff3"},"icon/10001135.png":{bytes:7300,sha256:"e978e0bfac39714827cd7dd770b54fda77e5e7bc82392ce8092e9ba616ceac3c"},"icon/10001136.png":{bytes:4617,sha256:"403a83d32973ff5007759b8910d8d38f29c42d0caaee60876a29951a263008c1"},"icon/10001137.png":{bytes:6923,sha256:"e64530fb2cc4cb2e95be5481ce47d78a99d095cb4739f6c58f0269bb6c06df60"},"icon/10001138.png":{bytes:3412,sha256:"0d8839c0f16110389f079dd0cdaf32130b0d4363994cd62e51f64775a89736c6"},"icon/10001139.png":{bytes:3432,sha256:"ed8360d109e366c6a330c2806137f37d458194adcb5d7a5d61da0c168061f316"},"icon/10001140.png":{bytes:2813,sha256:"b3d6c1d80544a5327c21f9e63e452ed129e729e4ba18653013386bfe9a26d6ea"},"icon/10001141.png":{bytes:1976,sha256:"7874744cf4f00e0a676a4d76eb469e72ecd5fed016ae4b25a164f78994dedc19"},"icon/10001142.png":{bytes:15037,sha256:"14d12854b4b17da8ba54f0808be9acca2cdea82f004b047343b288fc5c442d65"},"icon/10001143.png":{bytes:5652,sha256:"5f02f7cf842d9aef4b81b784e3dce9ed4e820745c97efde3b7af2fa94cc6f2c6"},"icon/10001144.png":{bytes:3080,sha256:"ed7b8552f4dff8310e269986336dba5cbe76ccb6e065156b825bf8e0b5c8fdfc"},"icon/10001145.png":{bytes:2987,sha256:"ffa4d3452e8d0c751aec973fffe797c2e872175cd5912d0393c72b3da8cad13c"},"icon/10001146.png":{bytes:5483,sha256:"4ed80b9c3fa0d88c6cef1289f18048b9b373742348e991e23b3ac042bd71ad26"},"icon/10001147.png":{bytes:1152,sha256:"05750a2593db8d6cb0e64755e447fa2236cc5edfdd633a8ab9be8d8b5fcd7d89"},"icon/10001148.png":{bytes:2662,sha256:"421eafe1622cd73809a8b09b7a74074628a8acc9df8c4411f7ee51fb96a6cc2d"},"icon/10001149.png":{bytes:5963,sha256:"a16c6f9abbd6d866df576878a10477bb1f9c055d4ad19a050e3305b394f80058"},"icon/10001150.png":{bytes:7106,sha256:"66161334208241a31f9f5bca369733c81c6070de9b1d9f4c922c6c5a15dcc684"},"icon/10001151.png":{bytes:10932,sha256:"260a9dc36d191df0700e243e8461362605ddd759a0bd7fb382a9175ead3d9c91"},"icon/10001152.png":{bytes:5867,sha256:"e1980362d5eed82c2806a9ea5fc1b0ccdac33629f7aee398f74c5f54389ed683"},"icon/10001153.png":{bytes:9870,sha256:"e1e279e3065898eca9503c8652b74a71b4151284a733ee9293026be4d249c05d"},"icon/10001154.png":{bytes:9156,sha256:"6c6bd25805bb81659537de7814550b6b4daaddaf894645eb630ff9520a246d04"},"icon/10001155.png":{bytes:5172,sha256:"057bb0e931efc9b955b43943dcbbe5df73cc34ffd1755df8986e0f8f691b4794"},"icon/10001156.png":{bytes:4527,sha256:"5b93b62d5f786efce3b63ad62da61c67f15a65441a47fcb2df3cf92807170758"},"icon/10001157.png":{bytes:1326,sha256:"054bbfcfbb69453dfeec70ac86a3fef70f4ea818110a9a8285bd294d65972d60"},"icon/10001158.png":{bytes:4270,sha256:"dc54dad40d681aaf0f6aac8b3dd4b419e05a079d5d05bd4561a7348b9edf7927"},"icon/10001159.png":{bytes:3192,sha256:"b3962f15d41f625b1435c7d7182f2b744fa9de0ff299503dd3683171de794d2a"},"icon/10001160.png":{bytes:5158,sha256:"9e52b24f602584cc198214039c10c2bd33609b3c448ddfd2acbd565beb8bfbac"},"icon/10002001.png":{bytes:20145,sha256:"f4d95a54594309ab6deed445289097af22295f51ff5b7139acad7bb06045bcb3"},"icon/10002002.png":{bytes:21810,sha256:"af166959cddb542b83349dcc045096dae6185cd52d48a013dad78fe7ba1053ce"},"icon/10002003.png":{bytes:21958,sha256:"8bd0e7b9603ab0136ce86d8f7ace42ae23640013f07464730efd774655bd1628"},"icon/10002004.png":{bytes:23769,sha256:"4c1e6d5b3eef62b104f392bcd6cbf3ae7d2abaee06b161a1a65c6e916734945f"},"icon/10002005.png":{bytes:23898,sha256:"b30336b8be741b5a6315bf6ffffde315446e1639d9438e649f282153eec3f13b"},"icon/10002006.png":{bytes:36362,sha256:"81973c5d0fc8a86e8cec23d9d3eeb68f23ea95c302e8fefccaec90a320891427"},"icon/10002007.png":{bytes:23004,sha256:"1b42dcbd00fb4f45d6818b05e8b56c2880b0b2fbe061d17562f0c2125e6dbef6"},"icon/10002008.png":{bytes:25821,sha256:"7a6a91b0b32ef193de8601d3779c8a96b30c8994f746ecdb14920f364f434401"},"icon/10002009.png":{bytes:29951,sha256:"d736d5118775d03725093e1dd6bc51236c7fa39ed00184487db2267bae5f9f4f"},"icon/10002010.png":{bytes:26085,sha256:"6b92c88569ffcdd8b2cd4836f281b36ef5085c468fbb14923d085317e3d25c81"},"icon/10002011.png":{bytes:25715,sha256:"827cbcdb97487fefbfb801847e4acbcf298d0c10037173d612b006f615ef5ef0"},"icon/10002012.png":{bytes:26384,sha256:"e7ae9e007cddcc3c1f3a0d8206052b107ed5726276105583f4bb9015a14c5fa3"},"icon/10002013.png":{bytes:27500,sha256:"5ff084b46a5b00e83aefdba355c33bd972cad0537c08fee7bc6ffb42bc0ebdc6"},"icon/10002014.png":{bytes:20236,sha256:"c98b3528d9506c343a680e3699c3481dc0e17a7c14966b447a963c8bc0639c81"},"icon/10002015.png":{bytes:30913,sha256:"1efb63f37ed6ebcb4e28488901b4866d37204840be668a677e53fd8735b55c53"},"icon/10002016.png":{bytes:26866,sha256:"a91a05fa0e2f633e32011fc416ecc7b79096bdc531480200bc64b71ff8c05b5a"},"icon/10002017.png":{bytes:27987,sha256:"e9adecf78cac8b30edfec13604726b9e04a3bc5cc9ab2459ca09957a4300130b"},"icon/10002018.png":{bytes:25698,sha256:"2c9ce8412106fef0b68132d1bb13358b0c2953ab968f248559f1b4bfb043cc80"},"icon/10002019.png":{bytes:20846,sha256:"891a3906fc6324235cdbf4c83c7e0d58c6a7a71c423b2bb0a38e04d0de717d4b"},"icon/10002020.png":{bytes:19304,sha256:"b06d5f3d0a91dd2b49174f680d829d73260a6d4cbec4fff48a6131d4a4e89695"},"icon/10002021.png":{bytes:21812,sha256:"01dad29e897e1660646fdaa826b72fadbe822ceb13bbad6cb57fd1f9519e3139"},"icon/10002022.png":{bytes:19095,sha256:"eb571c371e8c9f6447d1567652425c43d2e6cfa9ed5f3dbd6b29fd3ff26f741e"},"icon/10002023.png":{bytes:20241,sha256:"5769cad4d0fa0effb7498b15f97ee1f45e6655275df15164e04f79ef314324e3"},"icon/10002024.png":{bytes:14546,sha256:"b823c0e0b8e4b852519254794cf219b42e02021d667528c6387a545fc2a066ac"},"icon/10002025.png":{bytes:28393,sha256:"5374e4d458ac4d8ae45419c0040c1981f12395afb984b631c48b640b8be2aebb"},"icon/10002026.png":{bytes:5243,sha256:"f97e20c0f2ea8e3c2d3b3dfaa9d3b9449e3ed559364cc2e7ab1516d0cb88bd78"},"icon/10002027.png":{bytes:4486,sha256:"cdd1376115bf45ba21b47c6e574a5b28f7c83cb36159bb1f7c60d737f9ec8ecc"},"icon/10002028.png":{bytes:3253,sha256:"41e38057943bc5dfbb24d8279c9ce23b58c871615deb28d934b0bb954bb66df2"},"icon/10002029.png":{bytes:24855,sha256:"60c949a324f60ac215dd01ea0dd4471ccff9b912717fd3b03443dea31dd87940"},"icon/10002030.png":{bytes:4435,sha256:"0a3e76f32808add9274d8e65d279b33521b655036d24cf87de3f5fa11de6dfc9"},"icon/10002031.png":{bytes:27998,sha256:"8fa5a2187292213adab843c9fbc68e8f099371a3ed74c55195998f92810e8b4f"},"icon/10002032.png":{bytes:21697,sha256:"9ece6166203932aad1a59d851258dc92e17f67f11de52b642c3abedeef571a3a"},"icon/10002033.png":{bytes:35521,sha256:"99c220eec1407ade7a0a5ff8c22a8dc6e4149ac6d0f407c005f78f8338f9bab5"},"icon/10002034.png":{bytes:6754,sha256:"b5097a0501688fe67edf17c7a993ce12323a2b86b55226db7cad7d9c2ffa016b"},"icon/10002035.png":{bytes:9625,sha256:"172106dc0c33f12daad2eee2ab1278f94c1026d0d6db70320851f2908eb9eb46"},"icon/10002036.png":{bytes:2474,sha256:"43ca13e6572a60aacfba330ac86bf5211a6901914fbd1559fffbb89ca15ccd41"},"icon/10002037.png":{bytes:23717,sha256:"d232b256c550eb85f96d5eb28f19a661f2127f383f49bf4ba4348f935f32dbe9"},"video/10001001.webm":{bytes:147646,sha256:"a72065f7abcc9387fb3dccd473d509bec7b421aa6c34c89e344dd8ee294bc2d2",duration:10},"video/10001002.webm":{bytes:171594,sha256:"b6e89b1967387bf40278b73414d90f0a3b8c61b0e4bfa63e74f67fa049ad3482",duration:10},"video/10001003.webm":{bytes:151975,sha256:"c5fa8ecbc3e6992256ee128dc400d2c93bf91fe5f7813a4d289c4b6d477fda54",duration:10},"video/10001004.webm":{bytes:164765,sha256:"d85282288b6a845d35f7ec6bfe49fc0f5d4766fe61ae30b87a9df6ff2a4961fc",duration:10},"video/10001005.webm":{bytes:189607,sha256:"0f186507b14407573ebb42da49a5749809e28819854cd46b4bf82b858ff057fd",duration:10},"video/10001006.webm":{bytes:136733,sha256:"cd11113d02047c42e3c03be3f2835f34eb52d0fe595b8e380a69fa86d9a40957",duration:10},"video/10001007.webm":{bytes:174723,sha256:"c9e65dbd73985b4ee5e716b63f5a9bf5719be8b95ea9a3a61a3aae772adaa064",duration:10},"video/10001008.webm":{bytes:13947,sha256:"d494a403015acc7700b45021ce269771edc8766e62f2bd82a7d26c9f60c63bb5",duration:1.3},"video/10001009.webm":{bytes:15895,sha256:"04d442aa0a51199be173b17a069b8365ae3205b26db275fb73355356fa1f871a",duration:1.3},"video/10001010.webm":{bytes:83391,sha256:"9bb064beb2f4622cc761ba26e5793da93c576d9c26be517912bd0d25f82763a2",duration:10},"video/10001011.webm":{bytes:107849,sha256:"d884e886fd74baba25a896921907e37675329915a90081fbcdd30e84fe4df099",duration:10},"video/10001012.webm":{bytes:84881,sha256:"c3ed5ae0813a45908906170ed6513b64c20a51f72aa0783ee55112ddb8701f80",duration:10},"video/10001013.webm":{bytes:96819,sha256:"560da96c18685b4fe4acc7b32ab940f229bc7ed1c57b0dd4511be7c22e5b6162",duration:10},"video/10001014.webm":{bytes:140840,sha256:"6ae425c9aa6d7ce1a476f18caa12ef0b124fa8b98e446696a3bba29ef6ae9a32",duration:10},"video/10001015.webm":{bytes:106513,sha256:"78e68a0cd736cf5c7a433f79f603126d0036bec8a751c937c7b96106180865c9",duration:10},"video/10001016.webm":{bytes:126160,sha256:"206ff8c1ba2836b2e58a907458b3c5a9ded69556eb4e29685725f49a90a2b481",duration:10},"video/10001017.webm":{bytes:217547,sha256:"0b1402a3ab2b0b3fa2284c33dec5b818049399a3a7cf1c2bf6b891c604905577",duration:10},"video/10001018.webm":{bytes:78212,sha256:"b5681b42272c66d918e143a63b6b4f9c044cd6b3ef1a8d2050a26f583b6b7a2c",duration:10},"video/10001019.webm":{bytes:175270,sha256:"6f493f9db0be094ab927becf8be553d416eab7ccdbac76896cd02a33ea094af3",duration:10},"video/10001020.webm":{bytes:227796,sha256:"57eb38683cf84e8abbd6319da39e08e4233baee90bac54568034fca55f7a253b",duration:10},"video/10001021.webm":{bytes:216527,sha256:"e19c751b9c36ce5d68c18a161ada9216e23f7cf8598638de9c8b4c2911d6e390",duration:10},"video/10001022.webm":{bytes:188626,sha256:"6ca2e91020c1141ee626b5dca2c7c190978562a70af2a6982f387c1e9cd9e53d",duration:10},"video/10001023.webm":{bytes:199004,sha256:"0b42968e4ac8f1152244e3821ef33d15954bfd3efba5709568b778b7ef375d23",duration:10},"video/10001024.webm":{bytes:60772,sha256:"a1a4269849425bc985f07f4e2c9e7bfd2fa5094238926b9d4096b8155bee39ce",duration:10},"video/10001025.webm":{bytes:61785,sha256:"0d7e10b6b97b5cbb5098046277b0315b0db4b5542ad8da82758adb800eb970f0",duration:10},"video/10001026.webm":{bytes:59199,sha256:"d2404c66eb3f357ae6349541a53fa713c4d81793c9b5f273cb6d5b949ded6330",duration:10},"video/10001027.webm":{bytes:37421,sha256:"c97fd7cda4cf46636757fd2913f5cdbfc44db0c183d7190499c3f54c1b007bc5",duration:10},"video/10001028.webm":{bytes:57620,sha256:"0deb4f0b933adce6785a46c2319e63721774f185532875fb4434f78eb905863d",duration:10},"video/10001029.webm":{bytes:66083,sha256:"ae3ef6d5ed1c676ce11136f98404159bbd3e847b7967c7cd76e53060df090ddd",duration:10},"video/10001030.webm":{bytes:58745,sha256:"0c7965cbed1119b1ff13e1b3381129a28468a6464279751590063f11efd8028a",duration:10},"video/10001031.webm":{bytes:8557,sha256:"5847d08b09f9f39575fba5fabada6133757231545bf08656ae145136c8d21bd9",duration:1},"video/10001032.webm":{bytes:25221,sha256:"0a401d8d73d2a838d01daecdf047b04ae98cf76cac899ae7a21fda8b9cefc2da",duration:.933},"video/10001033.webm":{bytes:34602,sha256:"896f71d3387bcf4154cec5fe67593c1982374af65cfebd5b989108adc2e07ddd",duration:1.2},"video/10001034.webm":{bytes:125134,sha256:"3804a3b13d8974702162d97a703c63a7aa5bb2690e892a6215d3a61af788fa8a",duration:1.4},"video/10001035.webm":{bytes:67308,sha256:"22651c969c1e7ad47a6aa062a7791fed498069d407dce6471afb760b83eee66c",duration:10},"video/10001036.webm":{bytes:127270,sha256:"f0dabcf3554f6aeb9a3070796760df4f5a7047e435ba94e8c3948bdae24dcc45",duration:1.4},"video/10001037.webm":{bytes:168190,sha256:"3b0423327eac86c2376f2d0e1ad08142c335e80b3bf2a35b58410e43038a39e4",duration:10},"video/10001038.webm":{bytes:131917,sha256:"3153ff561dbb204cff54001334794aff6551dc29e55dbeb0fad35bdef372033a",duration:10},"video/10001039.webm":{bytes:11634,sha256:"2bbbdddc40b1790c6ff3f4a7be9c6ad0f8a5ef521d45e4c7ca9f0a84a70dcca3",duration:.766},"video/10001040.webm":{bytes:29034,sha256:"9187e82dace372eda0441947980d8a981238b519fe8b91b3cd8983a25bc38124",duration:1.2},"video/10001041.webm":{bytes:145234,sha256:"86c73a18f5f07c18427a4f6540e94ae0488a22ba061f931c5071f4524aeb8e33",duration:10},"video/10001042.webm":{bytes:173888,sha256:"f4011ff7a3474cf2ff9cc02eee560e46d3e1ad165848dafb989907199951ac01",duration:10},"video/10001043.webm":{bytes:42182,sha256:"9bd4b77d6cb8be53aa0cb3954a124c523f076cd4b3f3ef646d1a41a272c9a058",duration:1.233},"video/10001044.webm":{bytes:32089,sha256:"789fc8b1316530b118bedf21682606096aa1f4191c1946dcd1d3262713567a84",duration:1.566},"video/10001045.webm":{bytes:9892,sha256:"d9261d0738da8852b6473a93bff97ec9f5d7e8fe130d314b44f4d870f9e2ef85",duration:.733},"video/10001046.webm":{bytes:7771,sha256:"bc5fcfa1b15638d4f4b44cea1f27e02e5c7281e5d422dd70e8945e52524f236b",duration:.8},"video/10001047.webm":{bytes:11433,sha256:"8dfb6ace018b13706517ee2511753af3606a9d646ef98f7808a1bbdf0220e23f",duration:.733},"video/10001048.webm":{bytes:9648,sha256:"d92bced2753f1ab8cd2edbab06905ac82e4b1423235bd32e9259058070d19470",duration:.733},"video/10001049.webm":{bytes:24623,sha256:"54769931e5ce88f652c63c4b190aa017a7e70e5860b046df7a2813f00cb42b59",duration:1},"video/10001050.webm":{bytes:20713,sha256:"919a6070b7e1f042e5a74f091ba8c23924f467cc1ddfdc5816feb3d638cc3acb",duration:.733},"video/10001051.webm":{bytes:317681,sha256:"a1dda360215590f4b5fb7b8a82cbe44d240211270485eae950b5535b01686d08",duration:10},"video/10001052.webm":{bytes:15091,sha256:"ff7685c63cf73e1422f07b59bf5e006b6dad8d2d80b1a8ae0997d13ef58487df",duration:.9},"video/10001053.webm":{bytes:183319,sha256:"c8c07a2deb6b4899a6d1c1b8dda72fac6ed45a11d6646c40f5c2e354a84a8d13",duration:10},"video/10001054.webm":{bytes:17094,sha256:"ca07c647725212c323dad57886c5b56a5eda2ae27909bf5ddf0f3589e99b5b5b",duration:1},"video/10001055.webm":{bytes:53469,sha256:"a8c69dd8c3c9e4836f1c3c9a4c033bc7bfacc0fab9ac2981c48e4391589c41de",duration:1},"video/10001056.webm":{bytes:225400,sha256:"60fbad9fef225e7205c0eba98951387354a8470e9a50db3921494db3dba6ba0f",duration:10},"video/10001057.webm":{bytes:7082,sha256:"0aeb94988ec8862c3bec3f357f380b675da3b0881c48640b37fa3d1215353b9b",duration:.966},"video/10001058.webm":{bytes:90245,sha256:"4bbbc44479a590344eb38e965facc757347d87c63816e0ccf8939d98d8278ecb",duration:1.6},"video/10001059.webm":{bytes:87447,sha256:"fb1b2bf01c971fcf2a69833b2728d8553f058877386c6e17947e2bc28e50f904",duration:1.766},"video/10001060.webm":{bytes:1276390,sha256:"19f135d0143a973a7ea358a64f83aacb227ddd483f200c6fc88738b3a2e1c9b5",duration:10},"video/10001061.webm":{bytes:70336,sha256:"10d1a43ee81a6fb691448a1a3165612edd96943e7188612069a13f57788c3513",duration:1},"video/10001062.webm":{bytes:102563,sha256:"79a12a7baa9ab219c27845166f613f87829073e0214ff26ac1b3239a2f8a8222",duration:1},"video/10001063.webm":{bytes:565456,sha256:"6784dd43aa64a9005df034defe99ca23eedf9a124f0a0681bb9ea531152d5656",duration:10},"video/10001064.webm":{bytes:48740,sha256:"3585e3b7579301babf2a941529d05261f7a4e7993d394be668ce3e6b34269be2",duration:.866},"video/10001065.webm":{bytes:16738,sha256:"96de617b4263a73bdb61e98d4643e8ad6488bc0cc359ee4f8da5eb6b0333c466",duration:.9},"video/10001066.webm":{bytes:12376,sha256:"ca507ca6ab20dae1d3e9ff3cf8fb0fb70763983f4b3c82fe8f05b5b011160189",duration:1.066},"video/10001067.webm":{bytes:23685,sha256:"8702ce3719d477e8a79a5321b152a804a583578aa6335aae221e238e449c4508",duration:10},"video/10001068.webm":{bytes:55734,sha256:"708b564295d3c3e1929d4f5da5af6595e9ef236e692380a838e4230ff3813381",duration:1},"video/10001069.webm":{bytes:1128088,sha256:"56b38a26aaa7913066c3336ba98f7eb1037c17fe80fb110d45e123cc46c36acc",duration:10},"video/10001070.webm":{bytes:975681,sha256:"4c762f4cc796d0a167e47ba18c6c658b9173cc8fd951b9c7537043ac1d3cab4c",duration:10},"video/10001071.webm":{bytes:815992,sha256:"e2547ebac9f4d2dba4cc455fc73cf1de2afa209f4a54473a252f3578b5882361",duration:10},"video/10001072.webm":{bytes:616757,sha256:"551e36eea20409279ac7b058f0658460e88b60c7b62189209ab219ab5ab35969",duration:10},"video/10001073.webm":{bytes:37684,sha256:"913e5eb86f0de97099bc8f1c2860dcc0ccb23af3df7b9565e46d23dcd3d5b2e4",duration:2.1},"video/10001074.webm":{bytes:12604,sha256:"7a034a81cb6b8d09507a83c42b44fa6ce5dac567aaa4dad86900772e81573fac",duration:1.666},"video/10001075.webm":{bytes:107268,sha256:"a58331fcb3c6ca07f581b3ca490eedcd4e4d486ddcf944083038198495dc8c6b",duration:10},"video/10001076.webm":{bytes:32481,sha256:"6c49036a5c3d63f3f8a554e751fde071afa7a88c69c0eb5fa8aac3ead9936c85",duration:1.2},"video/10001077.webm":{bytes:34358,sha256:"8b1cd91b4547b5c773688dc7586d02ef3505b56a6c0e5e8cfe95ac2877074fd9",duration:1.1},"video/10001078.webm":{bytes:46506,sha256:"d2b1506af78535ae8c25d12ed47f613f58c96c237aabd3a69481926279abbad2",duration:1.133},"video/10001079.webm":{bytes:73888,sha256:"14eaab31df0169c82d784132e336f21e3dbcde36e8d863e813fdbbd0cc7fe736",duration:1.166},"video/10001080.webm":{bytes:227149,sha256:"f953d8cb2c360f1a7beff3f1eb0287d2ad5b4b5021cd8add406935e7bce0f499",duration:10},"video/10001081.webm":{bytes:206185,sha256:"bd954a94b76ecb754018c8d2f5600757907fcbf5b8d8fd8c16eba98d2c77bd45",duration:10},"video/10001082.webm":{bytes:414215,sha256:"a66f150faa15b300f9d87422b83566b253c50579b8b08a83e7d5fecdeb33117a",duration:10},"video/10001083.webm":{bytes:103790,sha256:"f7619598f5fd506003b6161a7d7a9f7d13eaf3ae26a51cf560899ee50ab74850",duration:1.2},"video/10001084.webm":{bytes:49760,sha256:"075a51589f5556f125c56e3448e2b8c7fcfeec7f7981228e46991fcadb58b603",duration:.7},"video/10001085.webm":{bytes:39486,sha256:"7782a3f27d41c5b833746b6892a2074821226da33b0dfefe1173c5a45890abbc",duration:.566},"video/10001086.webm":{bytes:24420,sha256:"1e7c975fd2c3027095353ae2b7651e3b9f0104554a072579127817aa5ccdea02",duration:.866},"video/10001087.webm":{bytes:58874,sha256:"5101e1da0097fc9785131be66f411e54f427ef18f21ade4b254728e94ac568b7",duration:1.166},"video/10001088.webm":{bytes:64189,sha256:"a3c150eeaca295e70a351b250bd3554b4633a77f6704e581b72a8bd93f0ea194",duration:1.166},"video/10001089.webm":{bytes:25443,sha256:"0e5a1151fea93701ebc923211c8f5c406e895104a4afb9ba71d521ad45b39b85",duration:1.966},"video/10001090.webm":{bytes:65254,sha256:"89ad6f296294c0abf4fb08e68ebf141d1c602a659c0ec563f7058ac6d2462fd4",duration:1.166},"video/10001091.webm":{bytes:81681,sha256:"3081d901c969bc1f4a4b10a447c3a712a8b4136965c34a76119e1b6dcd5e6cd3",duration:1.6},"video/10001092.webm":{bytes:548135,sha256:"5c013b847ea4b8338927ebd2597c2bb12b9c9a7231853c3d277eba10f9dd453f",duration:10},"video/10001093.webm":{bytes:63342,sha256:"bc87982e78383167ff4c649b6603a78cff1d6cf3cb51349e73626fcb2a5a7b49",duration:1.033},"video/10001094.webm":{bytes:20050,sha256:"53e91848830acea081a4d56ab8db383627a78ebb806ecb6766a2e11ed9573c58",duration:.833},"video/10001095.webm":{bytes:84670,sha256:"172553d18635861bfe28c6f06b5c8cea5e7640287cb75242fec31c12319772d4",duration:1.8},"video/10001096.webm":{bytes:28716,sha256:"31d3f4236eb9e2f2f6cc76003284b02496bc581ab1c8e19cd5929b5828c894ef",duration:1.6},"video/10001097.webm":{bytes:25147,sha256:"2129484b7dfcc5abe518553a0841a92a6582062356acda687b942b2cb221d26f",duration:1.6},"video/10001098.webm":{bytes:76333,sha256:"ac1d85c4f336abd854fd461db4e0951c83346dd2669c38b91e537ec758e9de65",duration:1.6},"video/10001099.webm":{bytes:76173,sha256:"2fba51975dae32febc9c1a270b1b5b769d299f143c4996198c7dfca26efd1014",duration:1.6},"video/10001100.webm":{bytes:80616,sha256:"ee23d3bf91e53bf9eb93d5a7c5879daa54aaa7e7194ba3944758131ebee68c5d",duration:1.6},"video/10001101.webm":{bytes:84160,sha256:"cb606310669a2a1d2f30b0903af51eae290a4276d2d934439999bfa10bdb5604",duration:1.6},"video/10001102.webm":{bytes:82257,sha256:"01cad0b39abfc2f041df3c1e786a11d3323cd25297fbebca2f196f8f556c8d82",duration:1.133},"video/10001103.webm":{bytes:91224,sha256:"106929efba101b9ae0f76b6b637cd4e16863bf9f72f779c2474d0d6cab4fc1fc",duration:1.166},"video/10001104.webm":{bytes:89745,sha256:"0862ade9ff0001d2cb5458e3cb6998a7ac42c2336840d73532f5492e522cbb34",duration:1.133},"video/10001105.webm":{bytes:93873,sha256:"0b03b634e18bb25087af672cee8e29df618540f3ac73761dae9a854a629dcfff",duration:1.133},"video/10001106.webm":{bytes:80898,sha256:"c25414e50001dd924e75c4b9aab2aa4fca72d1765bec268344e1541c9f9734ff",duration:10},"video/10001107.webm":{bytes:14411,sha256:"faa6ad2693c69433203864414e338b8d0f322096ff6b05b826787ec3a7bf7f57",duration:.8},"video/10001108.webm":{bytes:45841,sha256:"5e3c3dbbbd11985807452e9b02a69477d018b60dcf1598ed1deb21ec82bb4a50",duration:1.7},"video/10001109.webm":{bytes:53026,sha256:"2a0c537529b94d06bac852d498825b431a2830d944e8601e752b115b68d481ac",duration:1.666},"video/10001110.webm":{bytes:28873,sha256:"b1ec1a3d0d577270b1eb3fd1dcf2ddc36df9dcea52df0249b8440db3e0ec9b6f",duration:1.533},"video/10001111.webm":{bytes:15873,sha256:"74c62d1739cb80ecfbc66b755c7332a27a53b3ff3c6d72aa75d47804b211ad36",duration:.9},"video/10001112.webm":{bytes:17381,sha256:"e3c96e5b87f26c54347abcc591e241a78ae3ccccfc2eaa0bc447f1400410ed92",duration:.9},"video/10001113.webm":{bytes:28753,sha256:"1b16a8e140a6787675a0201e4ef4dea5633076d9494cdfb6f8c16c9b2507b8ea",duration:1.166},"video/10001114.webm":{bytes:111410,sha256:"13cd5f511962912110c6ac8d6ef7e39a823fcf48477762a18123080866b43138",duration:10},"video/10001115.webm":{bytes:43777,sha256:"0000583cb60ee7e8d562e13bbf5ddd7fc3fd8c9d93d2bcc7b96df9ab524f980e",duration:1.133},"video/10001116.webm":{bytes:87365,sha256:"d96dc3d3f552ca40e77ddd55b50da8c93a7bf34f53a6ecf01802751248f2189c",duration:10},"video/10001117.webm":{bytes:15087,sha256:"9e95f50d1385083834770fa0f09ffe79fa570e93def94b52a6a7a7e64f581a0b",duration:1.466},"video/10001118.webm":{bytes:74213,sha256:"4340b8ff11f8a3795d4d2fcd5c32d112ea4bb92153880f8b3eda34e15a82738d",duration:10},"video/10001119.webm":{bytes:26934,sha256:"244f12529343f2163be2b075dafc1907662ef53ab60c4ad081b8db9d81b4abc1",duration:10},"video/10001120.webm":{bytes:15909,sha256:"77c6308d62f016d2f6a0669f5c165efab2afff3d15611afb54965bc65e3ecca4",duration:1.566},"video/10001121.webm":{bytes:14072,sha256:"d5cc8215a5d4e8499f402cf5ad34e4ed958319a559c669aef9d5507be8f31d03",duration:1.333},"video/10001122.webm":{bytes:39768,sha256:"a0c0c537e22211affdafff6d4a42fee3b6fbe1d0fcdc17adbd5854b6395c9496",duration:2.6},"video/10001124.webm":{bytes:568780,sha256:"39b58e373aa854c91dfad8af90b3b84e9b04b7cde050388152622ac2c1f9c19b",duration:1.4},"video/10001125.webm":{bytes:179690,sha256:"42591454c30e14b1a65f5c7696516edf9e690002ca6fedf5a331e3fb39e13a83",duration:1.233},"video/10001126.webm":{bytes:243266,sha256:"faf35bae68aa35a358447c791c91808872921d4794f5c90e5763d692bd807a9f",duration:3.133},"video/10001127.webm":{bytes:208681,sha256:"42fecb16b110931f78c06d61d52374f5fa74fee60b1b37dcec4c608bf240adba",duration:3.066},"video/10001128.webm":{bytes:14331,sha256:"4a57b0082c4f32309eb212ebea0d1069efb87e4c3da4d65d556ca7d4cf397954",duration:1.966},"video/10001129.webm":{bytes:34019,sha256:"4bcab75c2f7ce6e2980b13fca3f8cb95bfb3bbb46396f52b0691a3b9499b2af9",duration:1.133},"video/10001130.webm":{bytes:10181,sha256:"f9e3bd1de752007281ab2d45fddc933b4709182a765e602879c3c9402dcebef2",duration:1.2},"video/10001131.webm":{bytes:168665,sha256:"275465192460a885a738b907be135e91be2546c9596cf0d0232ffea6d06065a5",duration:10},"video/10001132.webm":{bytes:97830,sha256:"4dbe1e8d33843f8360ad246082650ae7ebd0d66ce6b133e2f12f1d748719d13d",duration:10},"video/10001133.webm":{bytes:51508,sha256:"44b562df1ae76f3a1983447107aeeb00fb439afe3eb3e1d6a67a141467673aa1",duration:1.5},"video/10001134.webm":{bytes:36767,sha256:"adf67abc9bb2872b6aae897ecdaeb281384654e3066d03b07d6616a7393708a0",duration:2},"video/10001135.webm":{bytes:26042,sha256:"c2d6215296f9e200fc75c0d36f8523c4c5b24066a0e8eda2f01b6f5daa717bec",duration:2},"video/10001136.webm":{bytes:28762,sha256:"07d2d47eb8672b958f35fe6abe9ee2dae11db9a8846f1ac8d1e7206e466bf2db",duration:1.466},"video/10001137.webm":{bytes:151972,sha256:"f94c2f584f894e56def265d016e53ebf81473677633dfded66890fe6d3e2f175",duration:2.066},"video/10001138.webm":{bytes:68031,sha256:"43929724a51e2f99d9ebf5f7ffebc51ee90712b7520e213a9457bfcbb5f9a517",duration:2.033},"video/10001139.webm":{bytes:72750,sha256:"19d626334d981b16c00b4c5cc39ddab5bca75034f497f5345f18526e7fe25250",duration:2.033},"video/10001140.webm":{bytes:70456,sha256:"8cadee838df527fbe11b4e8fc5e3b7c784fad21f61c7c214ef7dffca72f0ef58",duration:2.033},"video/10001141.webm":{bytes:42664,sha256:"34f97de7d1dc183a5fb958305424f73ea6498254804c3ad669d44dc04bef939a",duration:2.033},"video/10001142.webm":{bytes:710423,sha256:"dd2aec022ab89b4e048b4e212216e5c0862b6c8be9899970d11b1d7a2267f9be",duration:3.8},"video/10001143.webm":{bytes:14487,sha256:"c393d0afa72faccf42aefb8cf946f08725dd76e28af2cb608049ae9416dc0887",duration:1.066},"video/10001144.webm":{bytes:13412,sha256:"47692e1e22510aef145080fcf1e42d6d4594cbc1ce3ca8dd89f247d7c59fd271",duration:2.233},"video/10001145.webm":{bytes:19632,sha256:"8fa9abcbc084f7952e2dd8b1ec325e676b78e2fd2be421aadbc83137463175f4",duration:2.266},"video/10001146.webm":{bytes:13723,sha256:"bda3925d9183b351f85c8152a9a2ca36ed994e6656fb210e08e2251df70c4ddd",duration:2.266},"video/10001147.webm":{bytes:23765,sha256:"566fafa5c585eb127bb81912324486a26c12db6bce8509763eb130ca1bf4be57",duration:10},"video/10001148.webm":{bytes:48537,sha256:"d7eb086bbe4e43d1733c4b7c4683248fc9686c0d2540b15b44030050415f18e7",duration:1.233},"video/10001149.webm":{bytes:56797,sha256:"a89363c03820728fe3041217caf3daa2c6b3b18c03a38478c9fbc38013df4874",duration:10},"video/10001150.webm":{bytes:71959,sha256:"33d5db768fc90f96ad2dd81fcaa2944ad721331fdba90ebbbc76abe9c9e622ad",duration:1.366},"video/10001151.webm":{bytes:70714,sha256:"f866a0e45980bbb029df58349d1401f259e79076e5a919584eebaea9b94d451b",duration:1.233},"video/10001152.webm":{bytes:1072305,sha256:"b9200f9b1dea6f7350dfaa0d1bc4eadcc4b4f0650fe190fe22ad25bc7e3a2b7e",duration:10},"video/10001153.webm":{bytes:37507,sha256:"add87a7074d611f312fe0c43a24ae18d774ff62a4cd24db69d2526fb7a2e1736",duration:1.2},"video/10001154.webm":{bytes:755336,sha256:"cae2ff5f2dc15d639a5ea411cab50a9bea03fad5f73116764945f6d012be74b6",duration:10},"video/10001155.webm":{bytes:28588,sha256:"ee157e4e1e8452bf7f1dbb32bb5509e9b8659edc5d1bb0bbba0b70af2e6c4328",duration:1.2},"video/10001156.webm":{bytes:21193,sha256:"2655315d0fa59d136b1a77e760a5b085aeaabfe70d1130ea17e937b037160afb",duration:1.2},"video/10001157.webm":{bytes:146426,sha256:"eb48647b768bf300429f157eb570b4c0d7c9d04bb3df53768e6875b91e51931d",duration:10},"video/10001158.webm":{bytes:231389,sha256:"8ea98583d1972f176e3354b6d7c116ac6b2689c1593b02ae4fea55774ca0bf8c",duration:10},"video/10001159.webm":{bytes:69087,sha256:"8b70a7eb8e83a9230bd3b7a658633c84037ed0667b0da87b78206f48ca2f487b",duration:10},"video/10001160.webm":{bytes:46691,sha256:"11698fa6b8a4f5ffd3f289e41266a7097f0e620bbb64359e97f1bcf7430731e4",duration:1},"video/10002001.webm":{bytes:543544,sha256:"6a3509a94437899e30846d0f701e0ae3ccfa82793f51d293ed507c8efaa67099",duration:10},"video/10002002.webm":{bytes:796059,sha256:"8cdab49708511f4d42d45fe0a319d2334e4e9aa42709e946c8d00a1ff77b07fd",duration:10},"video/10002003.webm":{bytes:715230,sha256:"6b5422c889243db499114370af5a260d624180fe17991445f7e3133eee619381",duration:10},"video/10002004.webm":{bytes:693595,sha256:"24aa66de5a0649c10652bb66b70a0407210e26e18a8d2d64b0610ca29fdfb02b",duration:10},"video/10002005.webm":{bytes:815174,sha256:"5ec0b1a66bf28c7bf0b2bc61a7bbbb374be18d4b1f338217ab3d84d88cd2838f",duration:10},"video/10002006.webm":{bytes:194930,sha256:"7ef8f4e4a5ea4430ea4910b06f0dc00c71d61ed9bd54e03b4a268a4d1f3e7525",duration:1.9},"video/10002007.webm":{bytes:93264,sha256:"cbdc07ca88626c73d074eae923aac8972ce8898fd331fecb40cbb22392d32e6a",duration:2.4},"video/10002008.webm":{bytes:669120,sha256:"9299206b7cdc7fc4f319864e425be91f90b4721bcd8555f56ead4dc45f776b27",duration:3.433},"video/10002009.webm":{bytes:434158,sha256:"3db3a361cf11e9ee543dff860ba8a7aef3831d920e1e95fb6773a13f15f7ff6a",duration:10},"video/10002010.webm":{bytes:161424,sha256:"3b6e41d32df6eca2645978e8ba0f13a4aef69aa8217d38e85e5b8db058016a9a",duration:2.5},"video/10002011.webm":{bytes:73568,sha256:"86966a56aef3a2a6a263526d1efa0092044b48ce26f7f076c5bdd259131a8121",duration:1.8},"video/10002012.webm":{bytes:187942,sha256:"2b3e1b9538ddaeb62adeae52b9ea0ab38801430c76bab0f6425da9e127e0d896",duration:2.933},"video/10002013.webm":{bytes:482076,sha256:"14b90e097eebe09d3337afb0867da590081f111b5593d601963dcccf39638a4e",duration:3.9},"video/10002014.webm":{bytes:1475640,sha256:"f81e417888b1a833e254cf069f33a5ff1820bfc1599ac0f86d67a3cea44cad78",duration:10},"video/10002015.webm":{bytes:2392745,sha256:"db572d1dd4f090a104cdeea17a84aaa94c5800820ec66168ccd2eb99cb05d867",duration:10},"video/10002016.webm":{bytes:178656,sha256:"aa5dfb8ef461f168b2b64790b90f5a0e847b2a02aa3964e35a1734b37f0b69dc",duration:2.5},"video/10002017.webm":{bytes:80715,sha256:"addc2369f55de0a067937f48f40f300d123c320efc9c03ff3be6ea922581b575",duration:.733},"video/10002018.webm":{bytes:790722,sha256:"1d8d5b69fe0a5949566c216eac072f739ee0be9d0ac7ad85a809db6fe4da14c5",duration:10},"video/10002019.webm":{bytes:115786,sha256:"1a4a39ff5bd9dd26bfda75176469acca6a2aace830961c3a5e5dc164bcc1ac64",duration:2.2},"video/10002020.webm":{bytes:581822,sha256:"2ce9a04ffb641ef53d0090a22dcb394f580475c41052c5dea83ceed1dffbcd69",duration:10},"video/10002021.webm":{bytes:568208,sha256:"b3aa5b1f712c379a80767d599059adcb482bb8cd2c0f07c404b6fd862c8d7e9b",duration:10},"video/10002022.webm":{bytes:610636,sha256:"8c2663f7c031328ef06dc59aa0c0a11f5e7708b3981b4399d8bfd609573e986f",duration:10},"video/10002023.webm":{bytes:612556,sha256:"79a90a1d7d5f6a2b9a1e81738e12566f14ce96f99fa81ca102aab157b4b2664f",duration:10},"video/10002024.webm":{bytes:1453404,sha256:"7e5412973270e8e58a539c9f83304b4cd07a0faa740a4752b982333e380a1d55",duration:3.4},"video/10002025.webm":{bytes:1544749,sha256:"63af745659c7063ba0d7fff63af97eaf8972c2a5a06cd6739ad518cd4187b153",duration:10},"video/10002026.webm":{bytes:280741,sha256:"cf701673766d966c3b522749ba169622c98261501be50bb3afee3c998898486e",duration:10},"video/10002027.webm":{bytes:327918,sha256:"d59447600017e11aa42fc342833fad186af9f9d1670aba32f922d77fca63d6c6",duration:10},"video/10002028.webm":{bytes:336612,sha256:"827a91d60bf0fa75a131853e0f1fda8855cf2cfdf9b06194d195833bda026986",duration:10},"video/10002029.webm":{bytes:700863,sha256:"1a8ad0969222629d8fd89bafb174df58082aaa50755e3843ca82ad953b18e0aa",duration:10},"video/10002030.webm":{bytes:34533,sha256:"f4080af95380d8f640133b255bbe2b25b03180a3cfcd99aed1f281265c6f18cb",duration:1.966},"video/10002031.webm":{bytes:187567,sha256:"8bbdc15b123c3ac7f3cba16b04ca18571996e6556f190edd4f13d6a50ecd8c0c",duration:1.166},"video/10002032.webm":{bytes:1776997,sha256:"e3b15a717b1db503bd3d838ed9b6fdb70def2fcb4b47f51db24eb86fc03e7923",duration:10},"video/10002033.webm":{bytes:297716,sha256:"425cd20f5a5038f720e0f3c4dd65ab58c6c5ad80aa346b6c9035eb0700e69d3e",duration:2},"video/10002034.webm":{bytes:2495666,sha256:"70f377770e704850e9a2eff20fa283cbae7939fd42b66b85110b9b6eb1aa2add",duration:10},"video/10002035.webm":{bytes:183443,sha256:"a631becd1c4585ec80d91b435a5c6cda28b6b2033f2eb62f929a7580ad2ffbad",duration:10},"video/10002036.webm":{bytes:89987,sha256:"5b523e749db42145e8f3947e86d6e8d9683300b737f7775477cd94f02c1c8004",duration:10},"video/10002037.webm":{bytes:823633,sha256:"a4e7ba6ce6a6a43c31597d6b6430e86c507ab45a89910eb5010f1d058901f539",duration:10}}};var l0="https://oss.070077.xyz/uivfx/",cl=wr.version,Ho="/qxqy-vfx/",Tg=Object.freeze(wr.assets.map(Object.freeze)),Rg=new Map(Tg.map(t=>[t.id,t]));function c0(t,e="animation"){let i=Rg.get(Number(t));return i?.scope===(e==="fullscreen"?"screen":"ui")?i:null}function Uo(t){return Object.hasOwn(wr.files,t)?wr.files[t]:null}import{randomUUID as h0}from"node:crypto";function Wo(t){for(let e of t.runtime.scrollControls||[]){let[i,n]=ur(e),r=e.kind==="grid"?Rn(e):a0(e,i,n),o={offset:r.offset,max:r.max,horizontal:r.horizontal,showBar:e.showScrollBar!==!1,textWidth:r.textWidth??0,lines:r.lines||[],lineHeight:r.lineHeight||0,contentLength:r.length,...e.kind==="textwindow"?{fontSize:r.fontSize}:{}},a=JSON.stringify(o);e._scrollKey!==a&&(e._scrollKey=a,e._scroll=o,e.markPlayDirty())}}function p0(t){return{...t._scroll?{scroll:t._scroll}:{},...t.parent?._gridItems?.includes(t)?{clipToParent:!0}:{}}}function ul(t,e){let i=t._scroll?.max||0;t.kind==="grid"?t.scrollProgress=i?Vo(e,i)/i:0:t._scrollOffset=Vo(e,i),t.markPlayDirty()}var Og=Object.freeze(Object.values(_e).map(t=>Object.freeze({id:t.id,label:t.label,platform:t.platform,width:t.width,height:t.height})));function Er(t){Wo(t);let e=Qe({width:t.runtime.canvasWidth,height:t.runtime.canvasHeight}),i=new Map;function n(r,o,a){let s=Yt(o,r);s.activeInHierarchy=a&&r.active!==!1,i.set(r.Id,s);let l=s.activeInHierarchy;for(let c of r.children)n(c,s,l)}for(let r of t.runtime.roots)n(r,e,!0);return i}function ml(t,e=Er(t)){let i=new Map;function n(r,o){let a=e.get(r.Id);if(!a)return;let s=Yn(o,a,r);i.set(r.Id,s);for(let l of r.children)n(l,s)}for(let r of t.runtime.roots)n(r,cn());return i}function m0(t,e){let i=e.get(t.Id);return{id:t.Id,prefabId:t.prefabIndex,authoringId:t.authoringId,name:t.name,kind:t.kind,typeofName:t.typeofName,instantiated:!t.authoringId,active:!!t.active,visible:!!t.visible,activeInHierarchy:!!i?.activeInHierarchy,raycastTarget:t.raycastTarget!==!1,interactable:t.interactable!==!1,pressed:t.pressed===!0,...t._scroll?{scrollOffset:t._scroll.offset,scrollMax:t._scroll.max}:{},...t.kind==="grid"?{itemCount:t.itemCount,scrollProgress:t.scrollProgress}:{},anchoredPositionX:t.anchoredPositionX,anchoredPositionY:t.anchoredPositionY,sizeDeltaX:t.sizeDeltaX,sizeDeltaY:t.sizeDeltaY,localScaleX:t.localScaleX,localScaleY:t.localScaleY,localScaleZ:t.localScaleZ,localRotationZ:t.localRotationZ,text:t.kind==="textbox"||t.kind==="textwindow"?t.text??"":null,fontSize:t.kind==="textbox"||t.kind==="textwindow"?t.fontSize:null,adaptiveFontSize:t.kind==="textbox"||t.kind==="textwindow"?t.adaptiveFontSize===!0:null,minimumFontSize:t.kind==="textbox"||t.kind==="textwindow"?t.minimumFontSize:null,fontColor:t.kind==="textbox"||t.kind==="textwindow"?t.fontColor:null,bgColor:t.kind==="textbox"||t.kind==="textwindow"?t.bgColor:null,enableOutline:t.kind==="textbox"||t.kind==="textwindow"?t.enableOutline===!0:null,outlineColor:t.kind==="textbox"||t.kind==="textwindow"?t.outlineColor:null,imageId:t.kind==="image"?t.imageId??0:null,imageSource:t.kind==="image"?ct(t.imageSource):null,imageType:t.kind==="image"?t.imageType==null?null:wt(t.imageType):null,primitive:t.kind==="image"?sn(t.imageId,t.imageSource):null,imageColor:t.kind==="image"?t.imageColor:null,enableMask:t.kind==="image"?t.enableMask===!0:null,enableSoftEdge:t.kind==="image"?t.enableSoftEdge===!0:null,softEdgeMode:t.kind==="image"?t.softEdgeMode:null,softEdgeWidthX:t.kind==="image"?t.softEdgeWidthX:null,softEdgeWidthY:t.kind==="image"?t.softEdgeWidthY:null,horizontalSoftRange:t.kind==="image"?t.horizontalSoftRange:null,verticalSoftRange:t.kind==="image"?t.verticalSoftRange:null,enableFill:t.kind==="image"?t.enableFill===!0:null,fillType:t.kind==="image"?t.fillType:null,fillHorizontalType:t.kind==="image"?t.fillHorizontalType:null,fillVerticalType:t.kind==="image"?t.fillVerticalType:null,fillRadial90Type:t.kind==="image"?t.fillRadial90Type:null,fillRadialType:t.kind==="image"?t.fillRadialType:null,reverseMaskArea:t.kind==="image"?t.reverseMaskArea===!0:null,fillAmount:t.kind==="image"?t.fillAmount:null,box:i?{left:i.left,bottom:i.bottom,width:i.width,height:i.height}:null,children:t.children.map(n=>m0(n,e))}}function Ng(){return{pointerDownControl:null,pointerDownPosition:null,pointerLastPosition:null,pointerDragging:!1,pointerHoverControl:null,pointerScroll:null,hoveredControl:null,selectedControl:null,stateRestores:new Map,viewCache:null}}function Pg(t,e,i,n){let r=pr({canvasWidth:t.canvasWidth,canvasHeight:t.canvasHeight,device:t.device,audioDuration:jo,canSelectImageType:pc,...n?{language:n}:{}});for(let o of[...t.templates||[],...e?.templates||[]])Number.isSafeInteger(o.prefabIndex)&&o.prefabIndex>0&&r.registerTemplate(o.prefabIndex,o);for(let o of i){let a=o.path||o.id,s=o.source||"";a&&s&&r.registerScriptFile(a,s)}return r}var Mg=["pointerDownControl","pointerDownPosition","pointerLastPosition","pointerDragging","pointerHoverControl","pointerScroll","hoveredControl","selectedControl","stateRestores","viewCache"];function Fg(t){Object.defineProperty(t,"runtime",{configurable:!0,enumerable:!0,get(){return t.runtimes[t.viewPlayerIndex-1]}});for(let e of Mg)Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get(){return t.views[t.viewPlayerIndex-1][e]},set(i){t.views[t.viewPlayerIndex-1][e]=i}})}function g0(t,{templatesProject:e=null,scripts:i=[],sceneScripts:n=null,templateScripts:r=null,serverConfig:o=null,canvasId:a="",playerCount:s=1,viewPlayerIndex:l=1,language:c=""}={}){let u=n||i,f=r||i,h=ol(t,u,a),p=e?ol(e,f,a):null,g=Wi(s),b=ai(l,g),w=i0({playerCount:g,viewPlayerIndex:b});o&&w.loadConfig({...o,playerCount:g,viewPlayerIndex:b});let S=[];for(let I=0;I<g;I+=1)S.push(Pg(h,p,i,c));w.attachRuntimes(S);for(let I of S)I.addRoot(h.root);let x={audioSessionId:h0(),runtimes:S,views:S.map(()=>Ng()),playerCount:g,viewPlayerIndex:b,server:w,compiled:h,mountError:S.find(I=>I.mountErrors[0])?.mountErrors[0]||null,debugPaused:!1,history:{events:[]},recording:!0};Fg(x);let F=x.viewPlayerIndex;for(let I=1;I<=g;I+=1)x.viewPlayerIndex=I,Yg(x);return x.viewPlayerIndex=F,x}function gl(t,e){if(!t)throw new Error("play session has not started");let i=ai(e,t.playerCount);return i===t.viewPlayerIndex||(ki(t,{kind:"view",payload:{playerIndex:i}}),t.viewPlayerIndex=i,t.viewCache=null,t.server&&t.server.setViewPlayerIndex(i)),i}function ki(t,e){!t?.recording||!t.history||o0(t.history,{...e,source:e.source||"user"},t.runtime.clock.time)}function Dg(t){return t?.history?.events||[]}var bl=new Set(["image","textbox","textwindow","button","grid"]);function $g(t,e){let i=nt(e,t.centerX,t.centerY);return{centerX:i.x,centerY:i.y,scaleX:Math.hypot(e.a,e.b),scaleY:Math.hypot(e.c,e.d),rotationZ:Math.atan2(e.b,e.a)*180/Math.PI,matrix:{a:e.a,b:e.b,c:e.c,d:e.d,tx:i.x,ty:i.y}}}function wt(t){return typeof t=="string"?t:t?.Name}function b0(t){return{fillType:wt(t.fillType),fillHorizontalType:wt(t.fillHorizontalType),fillVerticalType:wt(t.fillVerticalType),fillAmount:t.fillAmount}}function zg(t,e,i){let n=Math.abs(e.width*i.scaleX),r=Math.abs(e.height*i.scaleY),o={id:t.Id,kind:t.kind,name:t.name,left:i.centerX-n/2,bottom:i.centerY-r/2,width:n,height:r,sourceWidth:e.width,sourceHeight:e.height,rotationZ:i.rotationZ,matrix:i.matrix,pressed:t.pressed===!0,...p0(t)};return t.kind==="image"&&(o.imageSource=ct(t.imageSource),o.imageType=t.imageType==null?null:wt(t.imageType),o.primitive=sn(t.imageId,o.imageSource),o.imageColor=t.imageColor,o.imageId=t.imageId,Object.assign(o,b0(t))),(t.kind==="textbox"||t.kind==="textwindow")&&(o.text=t.text??"",o.fontSize=t.fontSize,o.adaptiveFontSize=t.adaptiveFontSize===!0,o.minimumFontSize=t.minimumFontSize,o.textLayout=Zt(t,e.width,e.height),o.fontColor=t.fontColor,o.bgColor=t.bgColor,o.enableOutline=t.enableOutline===!0,o.outlineColor=t.outlineColor,o.horizontalAlignment=wt(t.horizontalAlignment),o.verticalAlignment=wt(t.verticalAlignment)),o}function Lg(t,e=Er(t)){let i=[],n=ml(t,e);function r(o,a=[],s=[]){let l=e.get(o.Id);if(!l||o.visible===!1||!l.activeInHierarchy)return;let c=n.get(o.Id);if(!c)return;let u=$g(l,c),f=o.kind==="image"&&o.enableMask===!0?zi({...y0(o,l),id:o.Id},Li(c,l.centerX,l.centerY)):null,h=f?[...s,f]:s,p=()=>i.push({...zg(o,l,u),...a.length?{clipPolygons:a}:{},...h.length?{masks:h}:{}});bl.has(o.kind)&&o.kind!=="grid"&&p();let g=o.children||[];for(let b=g.length-1;b>=0;b-=1){let w=o._gridItems?.includes(g[b])?[...a,[[l.left,l.bottom],[l.right,l.bottom],[l.right,l.top],[l.left,l.top]].map(([S,x])=>nt(c,S,x))]:a;r(g[b],w,h)}o.kind==="grid"&&p()}for(let o of t.runtime.roots)r(o);return i}function y0(t,e){let i={kind:t.kind,name:t.name,sourceWidth:e.width,sourceHeight:e.height,pressed:t.pressed===!0,...p0(t)};return t.kind==="image"&&(i.imageSource=ct(t.imageSource),i.imageType=t.imageType==null?null:wt(t.imageType),i.primitive=sn(t.imageId,i.imageSource),i.imageColor=t.imageColor,i.imageId=t.imageId,Object.assign(i,b0(t),{enableMask:t.enableMask===!0,enableSoftEdge:t.enableSoftEdge===!0,softEdgeMode:wt(t.softEdgeMode)||"Percentage",softEdgeWidthX:t.softEdgeWidthX,softEdgeWidthY:t.softEdgeWidthY})),(t.kind==="textbox"||t.kind==="textwindow")&&(i.text=t.text??"",i.fontSize=t.fontSize,i.adaptiveFontSize=t.adaptiveFontSize===!0,i.minimumFontSize=t.minimumFontSize,i.textLayout=Zt(t,e.width,e.height),i.fontColor=t.fontColor,i.bgColor=t.bgColor,i.enableOutline=t.enableOutline===!0,i.outlineColor=t.outlineColor,i.horizontalAlignment=wt(t.horizontalAlignment),i.verticalAlignment=wt(t.verticalAlignment)),i}function Gg(t,e,i){let n=ga(t,e),r=nt(n,t.centerX,t.centerY);return{a:n.a,b:n.b,c:n.c,d:n.d,tx:r.x-(i?i.centerX:0),ty:r.y-(i?i.centerY:0)}}function v0(t){let e=t.matrix;return[t.parent,t.z,t.group?1:0,e.a,e.b,e.c,e.d,e.tx,e.ty,t.kind,t.name,t.sourceWidth,t.sourceHeight,t.pressed,t.primitive,t.imageColor,t.imageId,t.imageSource,t.imageType,t.fillType,t.fillHorizontalType,t.fillVerticalType,t.fillAmount,t.enableMask,t.enableSoftEdge,t.softEdgeMode,t.softEdgeWidthX,t.softEdgeWidthY,t.text,t.fontSize,t.fontColor,t.bgColor,t.adaptiveFontSize,t.minimumFontSize,JSON.stringify(t.textLayout),t.enableOutline,t.outlineColor,t.horizontalAlignment,t.verticalAlignment,JSON.stringify(t.scroll),t.clipToParent].join(" ")}function w0(t,e,i,n,r,o){return{id:t.Id,parent:e,z:r,group:o>=16,matrix:Gg(n,t,i),...y0(t,n)}}function Bg(t){let e=Qe({width:t.runtime.canvasWidth,height:t.runtime.canvasHeight}),i=new Set,n=new Map,r=new Map;function o(l,c,u){let f=Yt(c,l);if(f.activeInHierarchy=u&&l.active!==!1,r.set(l.Id,f),l.visible===!1||!f.activeInHierarchy)return!1;let h=l.children||[],p=bl.has(l.kind),g=0;for(let b=0;b<h.length;b+=1)o(h[b],f,f.activeInHierarchy)&&(p=!0,g+=1);return p?(i.add(l.Id),n.set(l.Id,g),!0):!1}function a(l,c,u,f){if(!i.has(l.Id))return;let h=r.get(l.Id);s.push(w0(l,c,u,h,f,n.get(l.Id)||0));let p=l.children||[];for(let g=0;g<p.length;g+=1)a(p[g],l.Id,h,g)}let s=[];for(let l=0;l<t.runtime.roots.length;l+=1)o(t.runtime.roots[l],e,!0),a(t.runtime.roots[l],null,null,l);return{nodes:s,childCounts:n}}function dl(t){let e=t._playChildDirty===!0||t._playDeepDirty===!0;if(t._playDirty=!1,t._playChildDirty=!1,t._playDeepDirty=!1,!e)return;let i=t.children;for(let n=0;n<i.length;n+=1)dl(i[n])}function Vg(t,e){let i=Qe({width:t.runtime.canvasWidth,height:t.runtime.canvasHeight}),n=[],r=[],o=e.count,a=t.runtime._playRemoved||[];for(let c=0;c<a.length;c+=1){let u=a[c];e.fingerprints.has(u)&&(r.push(u),e.fingerprints.delete(u),e.childCounts.delete(u),o-=1)}t.runtime._playRemoved=[];function s(c){e.fingerprints.has(c.Id)&&(r.push(c.Id),e.fingerprints.delete(c.Id),e.childCounts.delete(c.Id),o-=1);let u=c.children;for(let f=0;f<u.length;f+=1)s(u[f])}function l(c,u,f,h,p,g){let b=g||c._playDeepDirty===!0,w=b||c._playDirty===!0,S=b||c._playChildDirty===!0;if(!w&&!S)return;if(!(p&&c.active!==!1)||c.visible===!1){s(c);return}let F=Yt(u,c),I=e.childCounts.get(c.Id)||0;if(S){I=0;let A=c.children;for(let y=0;y<A.length;y+=1)l(A[y],F,c.Id,y,!0,b),e.fingerprints.has(A[y].Id)&&(I+=1)}if(!(bl.has(c.kind)||I>0)){e.fingerprints.has(c.Id)&&(r.push(c.Id),e.fingerprints.delete(c.Id),e.childCounts.delete(c.Id),o-=1);return}let z=e.childCounts.get(c.Id);e.childCounts.set(c.Id,I);let q=I>=16!=(z||0)>=16;if(!w&&!q&&e.fingerprints.has(c.Id))return;let B=w0(c,f,u===i?null:u,F,h,I),E=v0(B);e.fingerprints.get(B.id)!==E&&(e.fingerprints.has(B.id)||(o+=1),e.fingerprints.set(B.id,E),n.push(B))}for(let c=0;c<t.runtime.roots.length;c+=1)l(t.runtime.roots[c],i,null,c,!0,!1);return e.count=o,{changed:n,removed:r,count:o}}function qg(t,e){let i=t.viewCache||(t.viewCache={rev:0,fingerprints:new Map,childCounts:new Map,count:0}),n=Number(e);if(!(Number.isFinite(n)&&n===i.rev&&i.fingerprints.size>0)){let{nodes:l,childCounts:c}=Bg(t);i.rev+=1,i.fingerprints=new Map(l.map(u=>[u.id,v0(u)])),i.childCounts=c,i.count=l.length;for(let u of t.runtime.roots)dl(u);return{format:"tree-v1",revision:i.rev,reset:!0,count:l.length,nodes:l}}let{changed:o,removed:a,count:s}=Vg(t,i);i.rev+=1;for(let l of t.runtime.roots)dl(l);return{format:"tree-v1",revision:i.rev,reset:!1,count:s,changed:o,removed:a}}function yl(t,{inspect:e=!1,view:i=!1,paint:n=!1,sceneRev:r,compact:o=!1}={}){Wo(t),t.audioSessionId||=h0();let a=t.runtime,s=t.compiled,[l,c]=[a.canvasWidth,a.canvasHeight];t.server&&t.server.setClock(a.clock.time);let u=o?a.logs.slice(-100):a.logs,f=Dg(t),h=t.server?t.server.snapshot():{vars:{},inbound:[],outbound:[],logs:[]};o&&(h.inbound=h.inbound.slice(-100),h.outbound=h.outbound.slice(-100),h.logs=h.logs.slice(-100));let p={canvasId:s.canvasId,platform:s.platform,device:a.device,canvasWidth:l,canvasHeight:c,canvasPresets:Og,playerCount:t.playerCount||1,viewPlayerIndex:t.viewPlayerIndex||1,players:Array.from({length:t.playerCount||1},(g,b)=>({index:b+1,label:`\u73A9\u5BB6${b+1}`,entityType:`Player${b+1}`})),time:a.clock.time,frame:a.clock.frame,paused:!!t.debugPaused,levelTimePaused:!!a.clock.paused,audio:{sessionId:t.audioSessionId,playerIndex:t.viewPlayerIndex||1,...a.audioSnapshot()},effects:jg(t),mountError:t.mountError||a.mountErrors[0]||null,logs:u.map(g=>({source:"client",level:g.level,text:g.text,time:g.time})),tree:[],paint:[],scene:null,server:h,history:(o?f.slice(-100):f).map(g=>({t:g.t,source:g.source||"user",kind:g.kind,payload:g.payload||{}}))};if(e||n){let g=Er(t);e&&(p.tree=a.roots.map(b=>m0(b,g))),n&&(p.paint=Lg(t,g))}return i&&(p.scene=qg(t,r)),ln(p),p}function jg(t){let e=a=>a._uiAnimation?.playing&&a.animationId!=null&&String(a.animationId).trim()!==""&&Number(a.animationId)!==0;if(![...t.runtime.uiAnimations||[]].some(e))return[];let i=Er(t),n=ml(t,i),r=[],o=(a,s=[])=>{let l=i.get(a.Id),c=n.get(a.Id);if(!l||!c||!l.activeInHierarchy||a.visible===!1)return;let u=a.kind==="image"&&a.enableMask===!0?zi({...a,id:a.Id,sourceWidth:l.width,sourceHeight:l.height},Li(c,l.centerX,l.centerY)):null,f=u?[...s,u]:s,h=a._uiAnimation;if(e(a)){let p=c0(a.animationId,a.kind),g=p?.audio.length?p.audio[(a.Id+h.generation-1)%p.audio.length]:null;r.push({id:a.Id,kind:a.kind,animationId:a.animationId??null,generation:h.generation,startedAt:h.startedAt,playSoundEffect:a.playSoundEffect!==!1,audioPath:g,layer:a.kind==="fullscreen"?"BelowAllControls":wt(a.layer)||"AboveAllControls",matrix:Li(c,l.centerX,l.centerY),masks:f})}for(let p of[...a.children].reverse()){let g=a._gridItems?.includes(p)?{id:`viewport:${a.Id}`,matrix:Li(c,l.centerX,l.centerY),width:l.width,height:l.height,featherX:0,featherY:0}:null;o(p,g?[...f,g]:f)}};for(let a of t.runtime.roots)o(a);return r}function Ko(t,e=1/30){let i=t.runtimes||(t.runtime?[t.runtime]:[]);for(let n of i)n.step(e);t.server&&(t.server.setClock(t.runtime.clock.time),t.server.flush())}function vl(t,e){ki(t,{kind:"key",payload:{typeName:String(e)}}),t.runtime.injectKey(e)}function Hg(t,e){let i=null;for(let n of t.runtime.roots)qt(n,r=>{!i&&r.name===e&&(i=r)});return i}function wl(t,e){ki(t,{kind:"click",payload:{name:String(e)}});let i=Hg(t,e);i&&Sl(i)&&(i.kind==="button"||i.kind==="cursor")&&i.SimulateCursorClick()}function Ug(t,e){return!t||!e?null:t.children.find(i=>i.authoringId===e||i.Id===e)||null}var S0={unavailable:"unavailableChildId",hover:"hoverChildId",pressed:"pressedChildId",selected:"selectedChildId"};function x0(t,e){let i=[];for(let[n,r]of Object.entries(S0)){let o=e[r]?Ug(e,e[r]):null;o&&i.push({state:n,child:o})}return i}function Yg(t){for(let e of t.runtime.roots)qt(e,i=>{if(i.kind==="button"){for(let{child:n}of x0(t,i))t.stateRestores.has(n.Id)||t.stateRestores.set(n.Id,{child:n,active:n.active,visible:n.visible}),n.active=!0,n.visible=!1,typeof n.markPlayDirty=="function"&&n.markPlayDirty(!0);Sr(t,i)}})}function Sr(t,e){if(!e||e.kind!=="button")return;let i=null;e.interactable===!1?i="unavailable":e.pressed===!0?i="pressed":t.hoveredControl===e?i="hover":t.selectedControl===e&&(i="selected");for(let n of x0(t,e))n.child.active=!0,n.child.visible=n.state===i,typeof n.child.markPlayDirty=="function"&&n.child.markPlayDirty(!0)}function fl(t){if(!t)return null;let e=t.parent;return e?.kind==="button"&&Object.values(S0).map(n=>e[n]).filter(Boolean).includes(t.authoringId)?e:t}function Sl(t){return t.kind==="button"?t.raycastTarget!==!1&&t.interactable!==!1:t.kind==="cursor"||t.kind==="grid"?t.raycastTarget!==!1:t.kind==="textwindow"?t.interactable!==!1:t.raycastTarget===!0}function hl(t){return t.kind==="container"||t.kind==="grid"||t.kind==="textwindow"||t.kind==="reference"||t.kind==="button"}function Xg(t){return t.kind==="grid"||t.kind==="textwindow"}function E0(t,e){let i=t.Id,n=e.get(i);if(n!==void 0)return n;let r=Sl(t);if(!r&&hl(t)){let o=t.children;for(let a=0;a<o.length;a+=1)if(E0(o[a],e)){r=!0;break}}return e.set(i,r),r}function Yo(t,e,i){Wo(t);let n=Qe({width:t.runtime.canvasWidth,height:t.runtime.canvasHeight}),r=new Map;function o(s,l,c,u){if(!u||s.active===!1||s.visible===!1||!E0(s,r))return null;let f=Yt(l,s),h=Yn(c,f,s),p=Xt(h);if(!p)return null;let g=nt(p,e,i),b=g.x>=f.left&&g.x<=f.right&&g.y>=f.bottom&&g.y<=f.top;if(!b&&(!hl(s)||Xg(s)))return null;if(b&&Xo(s)){let w=Mn(s._scroll,f.width,f.height)?.track,S=g.x-f.centerX,x=f.centerY-g.y;if(w&&S>=w.x&&S<=w.x+w.width&&x>=w.y&&x<=w.y+w.height)return s}if(hl(s))for(let w=0;w<s.children.length;w+=1){let S=o(s.children[w],f,h,!0);if(S)return S}return b&&Sl(s)?s:null}let a=cn();for(let s=t.runtime.roots.length-1;s>=0;s-=1){let l=o(t.runtime.roots[s],n,a,!0);if(l)return l}return null}function Fn(t,e,i,{dragging:n=!1,press:r=null,previous:o=null}={}){let a=r||{x:e,y:i},s=o||{x:e,y:i};return t.runtime.makeCursorEventData({x:e,y:i,pressX:a.x,pressY:a.y,deltaX:e-s.x,deltaY:i-s.y,dragging:n})}function pl(t,e,i){e.kind==="grid"||e.kind==="textwindow"||(e.pressed=i,typeof e.markPlayDirty=="function"&&e.markPlayDirty(),Sr(t,e))}function Xo(t){if(!t?.alive||!t.activeInHierarchy||t.interactable===!1||t.raycastTarget===!1)return!1;for(let e=t;e;e=e.parent)if(e.visible===!1)return!1;return t._scroll?.max>0}function u0(t){for(let e=t;e;e=e.parent)if(Xo(e))return e;return null}function f0(t,e,i,n){let r=Er(t),o=r.get(e.Id),a=ml(t,r).get(e.Id),s=a&&Xt(a);if(!o||!s)return null;let l=nt(s,i,n);return{x:l.x-o.centerX,y:o.centerY-l.y,width:o.width,height:o.height}}function d0(t,e,i){let n=t.pointerDownControl;if(n?.alive){let r=Fn(t,e,i,{dragging:t.pointerDragging,press:t.pointerDownPosition,previous:t.pointerLastPosition});t.runtime.injectCursor(n,"CursorUp",r),t.pointerDragging&&!t.pointerScroll&&t.runtime.injectCursor(n,"CursorEndDrag",r),pl(t,n,!1)}t.pointerDownControl=null,t.pointerScroll=null,t.pointerDownPosition=null,t.pointerDragging=!1,t.pointerLastPosition={x:e,y:i}}function xr(t,e,i,n,r={}){let o=Number(i),a=Number(n);if(!Number.isFinite(o)||!Number.isFinite(a))throw new Error("pointer coordinates must be finite");t.runtime.cursor.x=o,t.runtime.cursor.y=a;let s=Number(r.deltaX??0),l=Number(r.deltaY??0);if(e==="wheel"&&(!Number.isFinite(s)||!Number.isFinite(l)))throw new Error("wheel deltas must be finite");if(r.silent||ki(t,{kind:"pointer",payload:{type:e,x:o,y:a,...e==="wheel"?{deltaX:s,deltaY:l}:{}}}),e==="wheel"){let c=Yo(t,o,a),u=u0(c);if(u){let f=u._scroll.horizontal&&s||l;ul(u,u._scroll.offset+f)}return c}if(e==="cancel")return d0(t,o,a),null;if((e==="move"||e==="up")&&t.pointerScroll&&!Xo(t.pointerScroll.control)&&d0(t,o,a),e==="move"){let c=t.pointerLastPosition||{x:o,y:a},u=t.pointerHoverControl,f=fl(Yo(t,o,a)),h=Fn(t,o,a,{previous:c});u&&u!==f&&t.runtime.injectCursor(u,"CursorExit",h),f&&u!==f&&t.runtime.injectCursor(f,"CursorEnter",h),t.pointerHoverControl=f;let p=t.hoveredControl;t.hoveredControl=f?.kind==="button"?f:null,p&&p!==t.hoveredControl&&Sr(t,p),t.hoveredControl&&Sr(t,t.hoveredControl);let g=t.pointerDownControl,b=t.pointerScroll;if(b)if(!Xo(b.control))t.pointerScroll=null;else{let w=f0(t,b.control,o,a);if(w){let S=b.control._scroll,x=S.horizontal?w.x-b.start.x:w.y-b.start.y,F=Mn(S,w.width,w.height)?.travel||0,I=b.bar?F?x*S.max/F:0:-x;ul(b.control,b.offset+I)}}if(g?.alive){let w=t.pointerDownPosition||c,S=Math.hypot(o-w.x,a-w.y)>5;!t.pointerDragging&&S&&(b||t.runtime.injectCursor(g,"CursorBeginDrag",Fn(t,o,a,{press:w,previous:c,dragging:!1})),t.pointerDragging=!0),t.pointerDragging&&!b&&t.runtime.injectCursor(g,"CursorDrag",Fn(t,o,a,{press:w,previous:c,dragging:!0}))}return t.pointerLastPosition={x:o,y:a},f}if(e==="down"){let c=fl(Yo(t,o,a));t.pointerDownControl=c,t.pointerDownPosition={x:o,y:a},t.pointerLastPosition={x:o,y:a},t.pointerDragging=!1,t.pointerScroll=null;let u=u0(c);if(u){let f=f0(t,u,o,a),h=f&&Mn(u._scroll,f.width,f.height),p=b=>f.x>=b.x&&f.x<=b.x+b.width&&f.y>=b.y&&f.y<=b.y+b.height,g=h&&p(h.track);if(g&&!p(h.thumb)){let b=u._scroll.horizontal?f.x-h.track.x-h.thumb.width/2:f.y-h.track.y-h.thumb.height/2;ul(u,h.travel?b/h.travel*u._scroll.max:0),Wo(t)}f&&(t.pointerScroll={control:u,start:f,offset:u._scroll.offset,bar:!!g})}return c&&(pl(t,c,!0),t.runtime.injectCursor(c,"CursorDown",Fn(t,o,a))),c}if(e==="up"){let c=t.pointerDownControl,u=fl(Yo(t,o,a));if(c?.alive){let f=Fn(t,o,a,{press:t.pointerDownPosition,previous:t.pointerLastPosition,dragging:t.pointerDragging});if(t.runtime.injectCursor(c,"CursorUp",f),t.pointerDragging)t.pointerScroll||t.runtime.injectCursor(c,"CursorEndDrag",f);else if(u===c&&!t.pointerScroll?.bar){t.runtime.injectCursor(c,"CursorClick",f);let h=t.selectedControl;t.selectedControl=c.kind==="button"?c:null,h&&h!==t.selectedControl&&Sr(t,h)}pl(t,c,!1)}return t.pointerDownControl=null,t.pointerDownPosition=null,t.pointerLastPosition={x:o,y:a},t.pointerDragging=!1,t.pointerScroll=null,u}if(e==="click")return xr(t,"down",o,a,{silent:!0}),xr(t,"up",o,a,{silent:!0});throw new Error(`unknown pointer type ${e}`)}function xl(t,e,i,n){if(!t?.server)throw new Error("play session has no server");return ki(t,{kind:"serverSet",payload:{entityType:e,name:i,value:n,playerIndex:t.viewPlayerIndex}}),t.server.setVar(e,i,n,{playerIndex:t.viewPlayerIndex})}function I0(t,e,i){if(!t?.server)throw new Error("play session has no server");let n=t.server.getVar(e,i,{playerIndex:t.viewPlayerIndex});return n===void 0?null:n}function El(t,e,i=[],n="PlayerSelf"){if(!t?.server)throw new Error("play session has no server");return ki(t,{kind:"serverSend",payload:{name:e,params:i,target:n,playerIndex:t.viewPlayerIndex}}),t.server.sendToClient(e,i,{target:n,playerIndex:t.viewPlayerIndex})}function Jo(t){return{snapshot:e=>yl(t,e),step:e=>Ko(t,e),pointer:(e,i,n,r)=>xr(t,e,i,n,r),key:e=>vl(t,e),click:e=>wl(t,e),view:e=>gl(t,e),pause:()=>{ki(t,{kind:"pause",payload:{}}),t.debugPaused=!0},resume:()=>{ki(t,{kind:"resume",payload:{}}),t.debugPaused=!1},serverSet:(e,i,n)=>xl(t,e,i,n),serverSend:(e,i,n)=>El(t,e,i,n)}}function Il(t){t?.server&&t.server.destroy();let e=t?.runtimes||(t?.runtime?[t.runtime]:[]);for(let i of e)i.destroy()}function _l(t,e){return JSON.stringify(t)===JSON.stringify(e)}function _0(t,e){for(let i of t||[])e(i),i.children?.length&&_0(i.children,e)}function kl(t,{id:e,name:i}){let n=null;return _0(t,r=>{n||(e&&String(r.id)===String(e)||!e&&i&&r.name===i)&&(n=r)}),n}function Wg(t,e){if(t){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];if(t.box&&Object.prototype.hasOwnProperty.call(t.box,e))return t.box[e]}}function Kg(t){return{var(e,i){return t.server?.vars?.[e]?.[i]?.value??null},logs(){return(t.logs||[]).map(e=>e.text)},logContains(e){return(t.logs||[]).some(i=>String(i.text||"").includes(String(e)))},serverLogs(){return(t.server?.logs||t.serverLogs||[]).map(e=>e.text)},serverLogContains(e){return(t.server?.logs||t.serverLogs||[]).some(i=>String(i.text||"").includes(String(e)))},control(e){let i=kl(t.tree,{name:String(e)});return i?{id:i.id,name:i.name,kind:i.kind,active:i.active,visible:i.visible,pressed:i.pressed,text:i.text,interactable:i.interactable}:null},signals(e){let i=e==="outbound"?"outbound":"inbound";return(t.server?.[i]||[]).map(n=>({name:n.name,values:n.values}))}}}function Jg(t,e){if(t.kind==="log"){let i=t.source==="server"?e.server?.logs||e.serverLogs||[]:e.logs||[];return i.some(r=>t.level&&r.level!==t.level?!1:String(r.text||"").includes(t.contains))?{ok:!0,actual:t.contains}:{ok:!1,actual:i.map(r=>r.text).slice(-8),expected:t.contains}}if(t.kind==="control"){let i=kl(e.tree,t);if(!i)return{ok:!1,actual:null,expected:t.equals,message:`control not found: ${t.id||t.name}`};let n=Wg(i,t.field);return _l(n,t.equals)?{ok:!0,actual:n}:{ok:!1,actual:n,expected:t.equals}}if(t.kind==="var"){let i=e.server?.vars?.[t.entityType],r=!i||!Object.prototype.hasOwnProperty.call(i,t.name)?null:i[t.name].value;return _l(r,t.equals)?{ok:!0,actual:r}:{ok:!1,actual:r,expected:t.equals}}if(t.kind==="signal"){let i=t.direction==="outbound"?e.server?.outbound||[]:e.server?.inbound||[],n=i.find(r=>r.name===t.name&&(t.values===void 0||_l(r.values,t.values)));return n?{ok:!0,actual:n.values}:{ok:!1,actual:i.map(r=>({name:r.name,values:r.values})),expected:{name:t.name,values:t.values??null}}}if(t.kind==="tree"){let i=!!kl(e.tree,{name:t.name});return i===t.exists?{ok:!0,actual:i}:{ok:!1,actual:i,expected:t.exists}}return{ok:!1,message:`unsupported assert kind ${t.kind}`}}function Zg(t,e){let i=pr();try{return i.evalQueryScript(t,Kg(e)),{ok:!0,actual:!0}}catch(n){return{ok:!1,message:n?.message||String(n)}}finally{i.destroy()}}function k0(t,e){return t.kind==="lua"?Zg(t.source,e):Jg(t,e)}function Qg(t,e){let i=e>0?e:Zi;return Math.round((t+i)*1e9)/1e9}function eb(t,e){let i=e.payload||{};if(e.kind==="pointer")t.pointer(i.type,i.x,i.y,i);else if(e.kind==="key")t.key(i.typeName);else if(e.kind==="click")t.click(i.name);else if(e.kind==="pause")t.pause();else if(e.kind==="resume")t.resume();else if(e.kind==="serverSet")t.serverSet(i.entityType,i.name,i.value);else if(e.kind==="serverSend")t.serverSend(i.name,i.params,i.target);else if(e.kind==="view")t.view(i.playerIndex);else throw new Error(`unsupported event kind: ${e.kind}`)}function tb(t,e){let i=k0(t,e);return{kind:t.kind,at:Number(t.at||0),ok:!!i.ok,actual:i.actual??null,expected:i.expected??null,message:i.message||""}}function C0(t,e){let i=vr(e),n=i.events.slice().sort((S,x)=>S.t-x.t),r=i.asserts.slice(),o=i.dt||Zi,a=n.reduce((S,x)=>Math.max(S,x.t),0),s=r.reduce((S,x)=>Math.max(S,Number(x.at||0)),0),l=Math.max(a,s),c=0,u=[],f=0,h=r.some(S=>S.kind==="control"||S.kind==="tree"||S.kind==="lua"),p=t.snapshot({inspect:h}),g=()=>{for(;c<n.length&&n[c].t<=f+1e-9;)eb(t,n[c]),c+=1,p=t.snapshot({inspect:h})},b=()=>{for(let S of r)if(!S._done&&Number(S.at||0)<=f+1e-9){let x=tb(S,p);if(u.push(x),S._done=!0,!x.ok)return{passed:!1,failedAt:f,frame:p.frame||0,results:u,snapshot:p}}return null};g();let w=b();if(w)return Cl(i,w);for(;f+1e-9<l;){t.step(o),f=Qg(f,o),p=t.snapshot({inspect:h}),g();let S=b();if(S)return Cl(i,S)}return Cl(i,{passed:u.every(S=>S.ok),failedAt:null,frame:p.frame||0,results:u,snapshot:p})}function Cl(t,e){return ie({format:t.format,name:t.name,passed:e.passed,failedAt:e.failedAt,frame:e.frame,results:e.results,snapshot:{time:e.snapshot?.time??0,frame:e.snapshot?.frame??0,logs:e.snapshot?.logs||[],serverLogs:e.snapshot?.serverLogs||e.snapshot?.server?.logs||[],server:e.snapshot?.server||{vars:{},inbound:[],outbound:[],logs:[]}}})}function Al(t){return Array.isArray(t)?t.slice():[]}import{createHash as ib}from"node:crypto";var A0=t=>ib("sha256").update(JSON.stringify(t.map(({id:e,path:i,source:n})=>({id:e,path:i,source:n})))).digest("hex");function T0(t){let e=new Map;for(let n of t){let r=`${n.controlAsset}:${n.controlId}`,o=e.get(r);if(o&&o.newGuid!==n.oldGuid)throw new Error("\u7D22\u5F15\u53D8\u66F4\u8BB0\u5F55\u4E0D\u8FDE\u7EED\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6838\u5BF9");e.set(r,{oldGuid:o?.oldGuid??n.oldGuid,newGuid:n.newGuid})}let i=new Map;for(let{oldGuid:n,newGuid:r}of e.values()){if(i.has(n))throw new Error("\u591A\u4E2A\u63A7\u4EF6\u5171\u7528\u65E7\u7D22\u5F15\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6309\u63A7\u4EF6\u8EAB\u4EFD\u6838\u5BF9");i.set(n,r)}return new Map([...i].filter(([n,r])=>n!==r))}function R0(t,e){let i=[],n=new Map([...e].map(([l,c])=>[String(l),c])),r=1,o=0,a=0;return{source:t.replace(/\d+/g,(l,c)=>{if(!n.has(l))return l;for(;o<c;o++)t[o]===`
|
|
125
|
+
`&&(r++,a=o+1);let u=n.get(l),f=c+l.length,h=t.indexOf(`
|
|
126
|
+
`,f);return i.push({start:c,end:f,oldGuid:Number(l),newGuid:u,line:r,before:t.slice(a,h<0?t.length:h).trim()}),String(u)}),edits:i,issues:[]}}function Tl(t,e=[]){let i=[],n=new Map,r=new Map;for(let s of e)r.set(s.controlId,(r.get(s.controlId)||0)+1);function o(s){let l=(s.children||[]).map(o),c={controlCount:1+l.reduce((u,f)=>u+f.controlCount,0),scriptCount:(r.get(s.id)||0)+l.reduce((u,f)=>u+f.scriptCount,0)};return n.set(s.id,c),c}o(t.root);function a(s,l="",c=[]){i.push({id:s.id,name:s.name,kind:s.kind,guid:s.guid,parentId:l,ancestorIds:c,depth:c.length,...n.get(s.id)});for(let u of s.children||[])a(u,s.id,[...c,s.id])}for(let s of t.root.children||[])a(s);return i}function O0(t,e,{controlIds:i,includeScripts:n=!0}={}){if(!Array.isArray(i)||!i.length||i.some(b=>typeof b!="string"||!b))throw new Error("\u8BF7\u9009\u62E9\u81F3\u5C11\u4E00\u4E2A\u5BA2\u6237\u7AEF\u63A7\u4EF6 controlIds");if(typeof n!="boolean")throw new Error("includeScripts must be a boolean");let r=Tl(t,e),o=new Map(r.map(b=>[b.id,b]));for(let b of i)if(!o.has(b))throw new Error(`\u672A\u77E5\u5BA2\u6237\u7AEF\u63A7\u4EF6\uFF1A${b}`);let a=new Set(i),s=r.filter(b=>a.has(b.id)&&!b.ancestorIds.some(w=>a.has(w))),l=ie(t),c=new Map;be(l.root,b=>c.set(b.id,b)),l.root.children=s.map(b=>c.get(b.id)),l.selectedId=s[0].id;let u=new Set;be(l.root,b=>{b.kind!=="server-container"&&u.add(b.id)});let f=[];for(let b of s)b.parentId&&f.push(`${b.name}\uFF1A\u4EC5\u5728\u5BFC\u51FA\u526F\u672C\u4E2D\u63D0\u5347\u4E3A\u72EC\u7ACB\u6A21\u677F\uFF0C\u4FDD\u7559\u56DB\u5E73\u53F0\u5C40\u90E8\u53D8\u6362\uFF1B\u5916\u90E8\u7236\u7EA7\u7684\u7F29\u653E\u3001\u65CB\u8F6C\u3001\u906E\u7F69\u53CA\u663E\u9690\u4E0D\u5305\u542B\u5728\u5185\u3002`);let h=new Set([...u].map(b=>c.get(b).guid));be(l.root,b=>{for(let w of["referencedPrefabId","itemPrefabId"]){let S=b[w];S&&!h.has(Number(S))&&f.push(`${b.name}\uFF1A\u5F15\u7528 ${S} \u4E0D\u5728\u672C\u6B21\u5BFC\u51FA\u4E2D\uFF0C\u8BF7\u540C\u65F6\u5BFC\u5165\u5BF9\u5E94\u6A21\u677F\u3002`)}b.giaRaw?.templateRefSlotBase64&&f.push(`${b.name}\uFF1A\u4E8C\u8FDB\u5236\u6A21\u677F\u5F15\u7528\u539F\u6837\u4FDD\u7559\uFF0C\u65E0\u6CD5\u81EA\u52A8\u5224\u65AD\u5916\u90E8\u4F9D\u8D56\u3002`),!n&&b.scriptMappingIds?.length&&(b.scriptMappingIds=[])});let p=n?e.filter(b=>!b.controlId||u.has(b.controlId)):[];for(let b of p)!b.source&&b.path&&f.push(`${b.path}\uFF1A\u4EC5\u767B\u8BB0\u4E86\u8DEF\u5F84\uFF0C\u6CA1\u6709\u5185\u8054\u6E90\u7801\uFF1B\u8BF7\u6838\u5BF9\u6E38\u620F\u5185\u7684\u811A\u672C\u6587\u4EF6\u3002`);n&&p.some(b=>!b.controlId)&&f.push("\u5DF2\u5305\u542B\u672A\u6302\u8F7D\u7684 Lua \u6A21\u5757\uFF1BLua \u52A8\u6001\u5F15\u7528\u65E0\u6CD5\u81EA\u52A8\u5224\u65AD\uFF0C\u8BF7\u6838\u5BF9\u5916\u90E8\u6A21\u677F\u548C\u811A\u672C\u4F9D\u8D56\u3002"),!n&&e.some(b=>u.has(b.controlId))&&f.push("\u672C\u6B21\u672A\u5305\u542B\u6302\u8F7D\u811A\u672C\uFF0C\u5BFC\u5165\u540E\u9700\u53E6\u884C\u5BFC\u5165\u5E76\u6302\u8F7D\u3002");let g=new Set(p.map(b=>b.guid));return n&&be(l.root,b=>{for(let w of b.scriptMappingIds||[])g.has(w)||f.push(`${b.name}\uFF1A\u811A\u672C\u6620\u5C04 ${w} \u7684\u6E90\u7801\u672A\u767B\u8BB0\uFF0C\u8BF7\u53E6\u884C\u5BFC\u5165\u3002`)}),{project:l,scripts:p,warnings:[...new Set(f)],selection:{controlIds:s.map(b=>b.id),controlCount:u.size,templateCount:s.length,scriptCount:p.length,includeScripts:n}}}var cb={Level:"\u5173\u5361",PlayerSelf:"\u5F53\u524D\u73A9\u5BB6",AvatarSelf:"\u5F53\u524D\u89D2\u8272",...Object.fromEntries(Ki.map((t,e)=>[t,`\u73A9\u5BB6${e+1}`])),...Object.fromEntries(Array.from({length:8},(t,e)=>[`Avatar${e+1}`,`\u89D2\u8272${e+1}`]))};function ub(t,e=1){let i=t?.vars||{},n=[],r=Number(e)>0?Number(e):1,o=["Level","PlayerSelf","AvatarSelf"];if(r>1)for(let s=1;s<=r;s+=1)o.push(`Player${s}`,`Avatar${s}`);let a=new Set;for(let s of o){if(a.has(s)||!i[s])continue;a.add(s);let l=i[s]||{};for(let c of Object.keys(l))n.push(ie({entityType:s,entityLabel:cb[s]||s,name:c,type:l[c]?.type||"",value:l[c]?.value??null}))}return n}var tn="qxqy-simulator-save",fb="qxqy-simulator-scripts",Be="server-control-template",ue="client-control-template",Rl={[Be]:"\u670D\u52A1\u5668\u63A7\u4EF6\u6A21\u677F",[ue]:"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F"};function Qi(t){return t===ue?"client":"server"}function F0(t){if(!(typeof t=="number"||typeof t=="string"&&/^\d+$/.test(t.trim()))||!mt(t))throw new Error(`\u63A7\u4EF6\u7D22\u5F15\u5FC5\u987B\u662F ${1073741824}\u2013${1077936127}\uFF080x40000000\u20130x403FFFFF\uFF09\u8303\u56F4\u5185\u7684\u6574\u6570`);return Number(t)}function Zo(t){let e=typeof t=="number"||typeof t=="string"&&/^\d+$/.test(t.trim()),i=Number(t);if(!e||!Wt(i))throw new Error("\u63A7\u4EF6\u7D22\u5F15\u5FC5\u987B\u662F 1\u20132147483647 \u8303\u56F4\u5185\u7684\u6574\u6570");return i}function Ol(t=[]){if(!Array.isArray(t))throw new Error("controlGuidChanges \u5FC5\u987B\u662F\u6570\u7EC4");let e=new Set;return t.map(i=>{if(!i||typeof i.id!="string"||!i.id||e.has(i.id)||![Be,ue].includes(i.controlAsset)||typeof i.controlId!="string"||!i.controlId||typeof i.controlName!="string")throw new Error("controlGuidChanges \u5305\u542B\u65E0\u6548\u6216\u91CD\u590D\u7684\u53D8\u66F4\u8BB0\u5F55");if(e.add(i.id),i.batchId!==void 0&&(typeof i.batchId!="string"||!i.batchId))throw new Error("controlGuidChanges \u5305\u542B\u65E0\u6548\u7684 batchId");if(i.scriptSignature!==void 0&&!/^[a-f0-9]{64}$/.test(i.scriptSignature))throw new Error("controlGuidChanges \u5305\u542B\u65E0\u6548\u7684 scriptSignature");return{id:i.id,controlAsset:i.controlAsset,controlId:i.controlId,controlName:i.controlName,oldGuid:Zo(i.oldGuid),newGuid:Zo(i.newGuid),...i.batchId?{batchId:i.batchId}:{},...i.scriptSignature?{scriptSignature:i.scriptSignature}:{}}})}function db(t){let e=[t?.guid,t?.id];for(let i of e){let n=Number(i);if(Wt(n))return n}return 0}function Qo(t){let e=String(t?.controlAsset||""),i=db(t);return{id:String(i||t?.id||""),guid:i,path:String(t?.path||""),source:String(t?.source||""),controlId:String(t?.controlId||""),controlAsset:e===ue||e==="client"?ue:e===Be||e==="server"?Be:""}}function hb(t){let e=[],i=(n,r="")=>{if(n&&(n.path||n.source)){let o=Qo(n);e.push(r?{...o,controlAsset:r}:o)}};if(Array.isArray(t?.assets?.scripts)){for(let n of t.assets.scripts)n&&(n.path||n.source)&&e.push(Qo(n));return e}if(i(t?.assets?.server?.script,Be),i(t?.assets?.client?.script,ue),t&&t.format!==tn){i(t?.script);for(let n of t?.scripts||[])i(n)}return e}function Nl(t){return Ii(t===ue?fn():Fi())}var pb="\u672A\u7ED1\u5B9A",en="\u672A\u547D\u540D\u5B58\u6863",mb="\u672A\u547D\u540D\u754C\u9762";function gb(t){let e=t;for(let i=0;i<8;i++){if(Ir(P0(e,"simulator","studio"))&&Ir(P0(e,"lua")))return e;let n=sb(e);if(n===e)break;e=n}return t}function bb(t){return t?{name:Dn(t),path:t,bound:!0}:{name:pb,path:"",bound:!1}}function yb(t,e=process.cwd()){if(lb(t)&&Ir(t))return t;let i=e||process.cwd(),n=gb(i),r=M0(n,t);if(Ir(r))return r;let o=M0(i,t);if(Ir(o))return o;throw new Error("script file not found: "+t)}function _r(t,e={}){t?.format===tn&&Bs(t.version);let i=[],n=typeof e.workspacePath=="string"&&e.workspacePath?e.workspacePath:"",r=t?.format===tn&&t.assets,o=Ol(t?.controlGuidChanges),a=qn(t?.scriptSync),s=r?null:Ii(t,{warnings:i}),l={server:r&&t.assets.server?Ii(t.assets.server,{warnings:i}):Nl(Be),client:r&&t.assets.client?Ii(t.assets.client,{warnings:i}):Nl(ue)};s&&(l[Qi(s.meta.assetType)]=s);let c=r&&t.activeAssetType===ue?ue:s?.meta.assetType||Be,u=r&&t.meta?.name?String(t.meta.name):"",f=()=>u||en;!t?.meta?.name&&l.server.meta.name==="\u672A\u547D\u540D\u754C\u9762\u63A7\u4EF6\u7EC4"&&(l.server.meta.name=mb);let h=[],p=new Set;function g(){p.clear(),un(l.server.root,p),un(l.client.root,p,{skipServerContainer:!0});for(let v of h)Wt(v.guid)&&p.add(Number(v.guid))}function b(v=0){g();let C=Wt(v)&&!p.has(Number(v))?Number(v):ci(p);return p.add(C),C}function w(v){let C=Qo(v),N=b(C.guid);return{...C,guid:N,id:String(N)}}j(hb(t));let S=yr(t?.serverLogic),x=null,F="",I=1,$=1;function z(v){let C=String(v||"").trim();if(!C)return"";if(!_e[C])throw new Error(`unknown canvas preset: ${C} (available: ${Object.keys(_e).join(", ")})`);return C}let q=()=>l[Qi(c)];function B(v){if(!v)return null;for(let[C,N]of[["server",l.server],["client",l.client]]){let L=Ue(N.root,v);if(L&&L.kind!=="server-container")return{key:C,node:L}}return null}function E(v){if(!v.controlId)return null;let C=v.controlAsset===ue?"client":v.controlAsset===Be?"server":null;if(C){let N=Ue(l[C].root,v.controlId);return N&&N.kind!=="server-container"?{key:C,node:N}:null}return B(v.controlId)}function A(){for(let v of h)v.controlId&&!E(v)&&(v.controlId="",v.controlAsset="")}function y(v){if(!Wt(v))return null;for(let[C,N]of[[Be,l.server],[ue,l.client]]){let L="";if(be(N.root,Y=>{!L&&(Y.scriptMappingIds||[]).includes(Number(v))&&(L=Y.id)}),L)return{controlId:L,controlAsset:C}}return null}function O(v,C,N){let L=l[Qi(v.controlAsset)],Y=L&&Ue(L.root,v.controlId);Y&&(Y.scriptMappingIds=(Y.scriptMappingIds||[]).map(ne=>Number(ne)===Number(C)?Number(N):ne))}A();function k(){return h.map(v=>{let C=E(v),N=C?C.key==="client"?ue:Be:"";return ie({id:v.id,guid:v.guid||0,path:v.path||"",source:v.source||"",controlId:v.controlId||"",controlAsset:v.controlAsset||N,controlName:C?.node.name||"",assetType:N,assetLabel:C?Rl[N]:"",mounted:!!C})})}function d(){let v=[],C=(N,L)=>{be(N.root,Y=>{Y.kind!=="server-container"&&v.push(ie({id:Y.id,name:Y.name,kind:Y.kind,assetType:L,assetLabel:Rl[L]}))})};return C(l.server,Be),C(l.client,ue),v}function _(v){let C=[];return be(v.root,N=>{N.kind!=="server-container"&&C.push(JSON.stringify({kind:N.kind,guid:N.guid,name:N.name,text:N.text??null,imageId:N.imageId??null,imageSource:N.imageSource??null,imageType:N.imageType??null,fontSize:N.fontSize??null,adaptiveFontSize:N.adaptiveFontSize??null,minimumFontSize:N.minimumFontSize??null,fontColor:N.fontColor??null,bgColor:N.bgColor??null,imageColor:N.imageColor??null,fillType:N.fillType??null,fillAmount:N.fillAmount??null,syncAllDevices:N.syncAllDevices!==!1,transformByPlatform:N.transformByPlatform||null}))}),C.join("/")}let D=_(fn()),H=_(Fi());function U(v){let C=_(v);return v.meta?.assetType===ue?C===D:C===H}function K(v,C){return String(v||"").replace(/[\\/:*?"<>|]/g,"-").trim()||C}function re(v){let C=K(f(),en),N=v.meta?.assetType===ue?"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F":"\u670D\u52A1\u5668\u63A7\u4EF6\u6A21\u677F";return`${C} \xB7 ${N}`}function we(){if(!((l.server.root.children||[]).find(C=>C.kind==="container")||l.server.root.children?.[0]))throw new Error("\u6574\u5408\u5305\u9700\u8981\u670D\u52A1\u7AEF\u5BA2\u6237\u7AEF\u63A7\u4EF6\u5BB9\u5668\u4E0B\u81F3\u5C11\u6709\u4E00\u4E2A\u6839\u63A7\u4EF6");return fd(l.server,l.client,{scripts:h,fileName:`${K(f(),en)} \xB7 \u6574\u5408\u5305.gia`})}function Se(){let v=C=>({type:C.meta.assetType,name:C.meta.name,sourceFile:C.meta.sourceFile||""});return{format:tn,name:f(),activeAssetType:c,assets:{server:v(l.server),client:v(l.client),scripts:k()}}}function me(){return ie({format:tn,version:4,meta:{name:f()},activeAssetType:c,serverLogic:S,controlGuidChanges:o,scriptSync:a,assets:{server:l.server,client:l.client,scripts:h.map(v=>ie({id:v.id,guid:v.guid||0,path:v.path||"",source:v.source||"",controlId:v.controlId||"",controlAsset:v.controlAsset||""}))}})}function Q(){let v=q(),C=js(v);if(C.workspace=bb(n),C.save=Se(),C.scripts=k(),C.mountTargets=d(),C.serverLogic=S,C.migrationWarnings=[...i],C.controlGuidChanges=ie(o),c===ue){let N=An(v,!0);C.clientGuidAutofill={count:N.length,templateCount:N.filter(({parent:L})=>L?.kind==="server-container").length,selectedOffset:N.findIndex(({node:L})=>L.id===C.selectedId)}}return C.scriptSync=ie(a),bc(C),C}function fe(v){let C=q();if(v.expectedRevision!==void 0&&Number(v.expectedRevision)!==C.version)throw new Error(`revision conflict: expected ${v.expectedRevision}, current ${C.version}`);return C}function Ie(v,C,N=""){let L=String(C||"");if(L){let Y=N===ue?ue:N===Be?Be:"";if(!E({controlId:L,controlAsset:Y}))throw new Error("\u6302\u8F7D\u76EE\u6807\u5FC5\u987B\u662F\u5B58\u6863\u5185\u7684\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6216\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F");v.controlAsset=Y}else v.controlAsset="";v.controlId=L}function St(v){let C=fe(v);if(v.op==="addScript"){let N=w({path:String(v.path||""),source:String(v.source||""),controlId:"",controlAsset:""});v.controlId!==void 0&&v.controlId!==""&&Ie(N,v.controlId,v.controlAsset),h.push(N)}else if(v.op==="updateScript"){let N=h.find(L=>L.id===v.id);if(!N)throw new Error(`\u811A\u672C\u4E0D\u5B58\u5728: ${v.id}`);v.controlId!==void 0&&Ie(N,v.controlId,v.controlAsset),v.path!==void 0&&(N.path=String(v.path)),v.source!==void 0&&(N.source=String(v.source))}else if(v.op==="removeScript"){let N=h.length;if(h=h.filter(L=>L.id!==v.id),h.length===N)throw new Error(`\u811A\u672C\u4E0D\u5B58\u5728: ${v.id}`)}return C.version+=1,Q()}function Ht(v){let C=fe(v),N=Ue(C.root,v.id??C.selectedId);if(!N||N.kind==="server-container")throw new Error("\u4EC5\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6216\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u5141\u8BB8\u4FEE\u6539\u7D22\u5F15");let L=F0(v.guid);if(Zo(N.guid),v.autoFillClientGuids!==void 0&&typeof v.autoFillClientGuids!="boolean")throw new Error("autoFillClientGuids \u5FC5\u987B\u662F\u5E03\u5C14\u503C");let Y=v.autoFillClientGuids===!0;if(Y&&c!==ue)throw new Error("\u81EA\u52A8\u586B\u5145\u4EC5\u652F\u6301\u5BA2\u6237\u7AEF\u6A21\u677F\u5217\u8868\uFF1B\u670D\u52A1\u7AEF\u754C\u9762\u7684\u7D22\u5F15\u9700\u5355\u72EC\u586B\u5199");let ne=Y?An(C,!0).map(({node:Z})=>Z):[N],ee=L-ne.indexOf(N),ye=ne.map((Z,Fe)=>({node:Z,oldGuid:Zo(Z.guid),newGuid:F0(ee+Fe)})),Ae=ye.filter(({oldGuid:Z,newGuid:Fe})=>Z!==Fe);if(!Ae.length)return Q();let lt=new Map(ye.map(({oldGuid:Z,newGuid:Fe})=>[Z,Fe]));if(lt.size!==ye.length)throw new Error("\u5BA2\u6237\u7AEF\u6A21\u677F\u5B58\u5728\u91CD\u590D\u65E7\u7D22\u5F15\uFF0C\u65E0\u6CD5\u81EA\u52A8\u586B\u5145\uFF1B\u8BF7\u5148\u6D88\u9664\u6B67\u4E49");let tt=new Set(ne),Pt=[];for(let Z of Object.values(l))be(Z.root,Fe=>{Z===l.client&&Fe.kind==="server-container"||Pt.push({node:Fe,project:Z})});let it=new Map([...Pt.filter(Z=>!tt.has(Z.node)).map(({node:Z})=>[Number(Z.guid),Z.name]),...h.map(Z=>[Number(Z.guid),Z.path||"Lua \u811A\u672C"])]);for(let{newGuid:Z}of Ae)if(it.has(Z))throw new Error(`\u63A7\u4EF6\u7D22\u5F15 ${Z} \u5DF2\u88AB\u300C${it.get(Z)}\u300D\u5360\u7528\uFF1B\u8BF7\u5148\u586B\u5199\u5B83\u7684\u5B9E\u9645\u7D22\u5F15\u3002\u672C\u6B21\u672A\u4FEE\u6539\u4EFB\u4F55\u7D22\u5F15\u3002`);let Mt=[],Pe=(Z,Fe,Ut)=>{let xt=Z?.[Fe];(typeof xt=="number"||typeof xt=="string"&&/^\d+$/.test(xt.trim()))&<.has(Number(xt))&<.get(Number(xt))!==Number(xt)&&Mt.push({owner:Z,key:Fe,project:Ut.project,oldGuid:Number(xt),newGuid:lt.get(Number(xt))})};for(let Z of Pt)Pe(Z.node,"referencedPrefabId",Z),Pe(Z.node,"itemPrefabId",Z),Pe(Z.node.giaRaw,"templateRefSlot",Z);let Ve=new Map;for(let{node:Z}of Pt)Ve.set(Number(Z.guid),(Ve.get(Number(Z.guid))||0)+1);for(let{oldGuid:Z}of Mt)if(Ve.get(Z)!==1)throw new Error(`\u65E7\u7D22\u5F15 ${Z} \u5728\u591A\u68F5\u8D44\u4EA7\u6811\u4E2D\u91CD\u590D\uFF0C\u65E0\u6CD5\u786E\u5B9A\u6A21\u677F\u5F15\u7528\u5F52\u5C5E\uFF1B\u8BF7\u5148\u6D88\u9664\u6B67\u4E49\u540E\u4FEE\u6539`);let Vn=Y?N0():"",Je=A0(h);for(let{node:Z,oldGuid:Fe,newGuid:Ut}of Ae)Z.guid=Ut,o.push({id:N0(),controlAsset:c,controlId:Z.id,controlName:Z.name,oldGuid:Fe,newGuid:Ut,scriptSignature:Je,...Vn?{batchId:Vn}:{}});let Or=new Set([C]);for(let{owner:Z,key:Fe,project:Ut,newGuid:xt}of Mt)Z[Fe]=typeof Z[Fe]=="string"?String(xt):xt,Or.add(Ut);for(let Z of Or)Z.version+=1;return Q()}function Ne(v){let C=fe(v);if(!Array.isArray(v.changeIds)||!v.changeIds.length||v.changeIds.some(L=>typeof L!="string"||!o.some(Y=>Y.id===L)))throw new Error("\u8BF7\u660E\u786E\u6307\u5B9A\u5DF2\u6838\u5BF9 Lua \u5F15\u7528\u7684\u6709\u6548\u7D22\u5F15\u53D8\u66F4\u8BB0\u5F55 changeIds");let N=new Set(v.changeIds);return o=o.filter(L=>!N.has(L.id)),C.version+=1,Q()}function ht(v){if(!v||typeof v!="object")throw new Error("patch requires op");if(v.op==="setScriptSync"){let C=fe(v);return a=qn(v.config),C.version+=1,Q()}if(v.op==="setControlGuid")return Ht(v);if(v.op==="acknowledgeControlGuidChanges")return Ne(v);if(v.op==="setServerLogic"){let C=fe(v);return S=yr(v.logic),C.version+=1,Q()}if(v.op==="addScript"||v.op==="updateScript"||v.op==="removeScript")return St(v);if(v.op==="selectAsset")return c=v.assetType===ue?ue:Be,Q();if(v.op==="renameSave"){let C=String(v.name||"").trim();if(!C)throw new Error("\u5B58\u6863\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");return u=C,Q()}if(v.op==="newAsset"){let C=fe(v);c=v.assetType===ue?ue:Be;let N=Nl(c);return N.version=C.version+1,l[Qi(c)]=N,o=o.filter(L=>L.controlAsset!==c),A(),Q()}return Hs(q(),v),A(),Q()}function pt(v){return h.filter(C=>{let N=E(C);return!!(N&&N.key==="client"==(v===ue))})}function ge(){return ie({assetType:ue,revision:l.client.version,rows:Tl(l.client,pt(ue))})}function R(v={}){if(v.expectedRevision!==void 0&&v.expectedRevision!==l.client.version)throw new Error("revision conflict: reload export choices");let C=h.filter(L=>!L.controlId||E(L)?.key==="client"),N=O0(l.client,C,v);if(v.canvasId){if(!_e[v.canvasId])throw new Error(`unknown canvas preset: ${v.canvasId}`);N.project.canvasId=v.canvasId}return N}function T(v={}){let C=R(v);return ie({snapshot:js(C.project),selection:C.selection,warnings:C.warnings})}function P(v="json",C="",N={}){let L=M(v,C,N);if(o.length&&!["save","archive"].includes(String(v).toLowerCase())){let Y=o.map(ne=>`\u63A7\u4EF6\u7D22\u5F15\u5F85\u6838\u5BF9 Lua \u5F15\u7528\uFF1A${Rl[ne.controlAsset]} / ${ne.controlName} (${ne.controlId})\uFF1A${ne.oldGuid} \u2192 ${ne.newGuid}\u3002\u8BF7\u6309\u8BED\u4E49\u66F4\u65B0\u811A\u672C\u4E2D\u7684\u63A7\u4EF6\u7D22\u5F15\u5F15\u7528\uFF0C\u6838\u5BF9\u540E\u786E\u8BA4\u53D8\u66F4\u8BB0\u5F55 ${ne.id}\uFF1B\u4E0D\u8981\u5168\u5C40\u66FF\u6362\u540C\u503C\u6570\u5B57\u3002`);L.warnings=[...new Set([...L.warnings||[],...Y])]}return L}function M(v="json",C="",N={}){let L=String(v).toLowerCase();if(L==="gia-partial"){let ee=R(N),ye=Ds(ee.project,{scripts:ee.scripts,includeScriptMappings:!0}),Ae=ee.selection.templateCount===1?ee.project.root.children[0].name:"\u90E8\u5206\u7EC4\u5408";return ie({filename:`${K(f(),en)} \xB7 ${K(Ae,"\u90E8\u5206\u7EC4\u5408")}.gia`,mimeType:"application/octet-stream",encoding:"base64",data:ye.buffer.toString("base64"),selection:ee.selection,warnings:[...new Set([...ee.warnings,...ye.warnings])]})}if(L==="save"||L==="archive"){let ee=Buffer.from(JSON.stringify(me(),null,2),"utf8");return ie({filename:`${f().replace(/[\\/:*?"<>|]/g,"-")} \xB7 \u8D44\u4EA7\u5305.json`,mimeType:"application/json",encoding:"base64",data:ee.toString("base64"),warnings:[]})}if(L==="save-gia"||L==="archive-gia"){let ee=[],ye=[],Ae=(tt,Pt="")=>{let it=P(tt,Pt);ee.push(ie({filename:it.filename,mimeType:it.mimeType,encoding:it.encoding,data:it.data,warnings:it.warnings||[]})),ye.push(...it.warnings||[])},lt=(tt,Pt)=>{let it=l[Qi(tt)],Mt=tt===c,Pe=h.some(Ve=>Ve.controlAsset===tt&&Ve.controlId);if(!Mt&&U(it)&&!Pe){ye.push(Pt);return}Ae("gia",tt)};if(lt(Be,"\u670D\u52A1\u5668\u63A7\u4EF6\u6A21\u677F\u4ECD\u662F\u9ED8\u8BA4\u6A71\u7A97\uFF0C\u672A\u6539\u52A8\u4E14\u5F53\u524D\u672A\u663E\u793A\uFF0C\u5DF2\u4ECE\u8D44\u4EA7\u5305 GIA \u4E2D\u7701\u7565\u3002"),lt(ue,"\u5BA2\u6237\u7AEF\u63A7\u4EF6\u6A21\u677F\u4ECD\u662F\u9ED8\u8BA4\u300CLua\u5B9E\u4F8B\u5316\u9762\u677F\u300D\uFF0C\u672A\u6539\u52A8\u4E14\u5F53\u524D\u672A\u663E\u793A\uFF0C\u5DF2\u4ECE\u8D44\u4EA7\u5305 GIA \u4E2D\u7701\u7565\u3002"),h.some(tt=>tt.path||tt.source)&&Ae("scripts-gia"),!ee.length)throw new Error("\u8D44\u4EA7\u5305 GIA \u6CA1\u6709\u53EF\u5BFC\u51FA\u7684\u5DF2\u6539\u52A8\u9879\uFF1B\u8BF7\u5148\u7F16\u8F91\u5F53\u524D\u754C\u9762\uFF0C\u6216\u6539\u7528\u300C\u5F53\u524D\u754C\u9762 GIA\u300D\u3002");return ie({format:"qxqy-gia-package",files:ee,warnings:[...new Set(ye)]})}if(L==="gia-combined"||L==="combined-gia"||L==="combined"){let ee=we();return ie({filename:`${K(f(),en)} \xB7 \u6574\u5408\u5305.gia`,mimeType:"application/octet-stream",encoding:"base64",data:ee.buffer.toString("base64"),warnings:[...new Set(ee.warnings||[])]})}if(L==="scripts"){let ee=ie({format:fb,version:1,scripts:h.map(Ae=>ie({id:Ae.id,guid:Ae.guid||0,path:Ae.path||"",source:Ae.source||"",controlId:Ae.controlId||"",controlAsset:Ae.controlAsset||""}))}),ye=Buffer.from(JSON.stringify(ee,null,2),"utf8");return ie({filename:`${K(f(),en)} \xB7 \u811A\u672C.json`,mimeType:"application/json",encoding:"base64",data:ye.toString("base64"),warnings:[]})}if(L==="scripts-gia"||L==="scriptsgia"){let ee=pd(h);return ie({filename:`${K(f(),en)} \xB7 \u811A\u672C.gia`,mimeType:"application/octet-stream",encoding:"base64",data:ee.buffer.toString("base64"),warnings:ee.warnings})}if(L==="lua"){let ee=h.find(Ae=>Ae.id===C)||h.find(Ae=>Ae.path===C);if(!ee)throw new Error("\u6CA1\u6709\u53EF\u5BFC\u51FA\u7684 Lua \u811A\u672C\uFF0C\u8BF7\u5148\u5728\u201CLua \u811A\u672C\u201D\u9875\u521B\u5EFA");let ye=Dn(ee.path||"")||`qxqy-script-${ee.id}`;return ie({filename:/\.lua$/i.test(ye)?ye:`${ye}.lua`,mimeType:"text/x-lua",encoding:"base64",data:Buffer.from(ee.source||"","utf8").toString("base64"),warnings:[]})}let Y=C?l[Qi(C)]:q(),ne=re(Y);if(L==="json"){let ee=ie({...Y,scripts:pt(Y.meta.assetType),controlGuidChanges:o.filter(Ae=>Ae.controlAsset===Y.meta.assetType)}),ye=Buffer.from(JSON.stringify(ee,null,2),"utf8");return ie({filename:`${ne}.json`,mimeType:"application/json",encoding:"base64",data:ye.toString("base64"),warnings:[]})}if(L==="gia"){let ee=Ds(Y,Y.meta.assetType===ue?{scripts:pt(ue)}:{}),ye=Y.meta.assetType===ue?[]:pt(Be);return ye.length&&ee.warnings.unshift(`\u5F53\u524D\u670D\u52A1\u5668\u63A7\u4EF6 GIA \u4E0D\u5305\u542B ${ye.length} \u4E2A Lua \u811A\u672C\u7684\u6E90\u7801\uFF1B\u8BF7\u4F7F\u7528\u300C\u8D44\u4EA7\u5305 GIA \u6574\u5408\u5305\u300D\uFF0C\u6216\u53E6\u884C\u5BFC\u5165\u811A\u672C\u5305\u5E76\u6838\u5BF9\u6302\u8F7D\u3002`),ie({filename:`${ne}.gia`,mimeType:"application/octet-stream",encoding:"base64",data:ee.buffer.toString("base64"),warnings:ee.warnings})}throw new Error(`unsupported export format: ${v}`)}function j(v){for(let C of v){let N=Qo(C);if(!N.path&&!N.source)continue;let L=N.controlId?null:y(N.guid),Y=w(L?{...N,...L}:N);L&&Y.guid!==N.guid&&O(L,N.guid,Y.guid),Y.controlId&&!E(Y)&&(Y.controlId="",Y.controlAsset=""),h.push(Y)}}function J(v,C,N=""){let L=String(v||"").toLowerCase();if(typeof C!="string"||!C)throw new Error("import data is required");let Y=Buffer.from(C,"base64"),ne,ee=[],ye={},Ae=[];if(L==="json"){try{ne=JSON.parse(Y.toString("utf8"))}catch{throw new Error("JSON \u6587\u4EF6\u65E0\u6548")}if(ne?.project&&(ne=ne.project),ne?.format===tn&&ne?.assets){Bs(ne.version);let Pe=_r(ne);ee.push(...Pe.get().migrationWarnings);let Ve=Pe.archiveData();return l.server=Ve.assets.server,l.client=Ve.assets.client,i=[...ee],c=ne.activeAssetType===ue?ue:Be,u=String(ne.meta?.name||Dn(N).replace(/\.json$/i,"")||u),S=Ve.serverLogic,h=Ve.assets.scripts,o=Ve.controlGuidChanges,a=Ve.scriptSync,p.clear(),ie({snapshot:Q(),warnings:ee,metadata:{format:tn}})}}else{if(L==="lua")return h.push(w({path:Dn(N||"imported.lua"),source:Y.toString("utf8"),controlId:""})),ie({snapshot:Q(),warnings:ee,metadata:{assetType:"lua-script"}});if(L==="gia"){if(md(Y)){let Je=bd(Y);return j(Je.scripts),ie({snapshot:Q(),warnings:Je.warnings,metadata:Je.metadata})}let Pe=yd(Y);ne=Pe.project,ee=Pe.warnings,ye=Pe.metadata,Pe.clientProject&&(l.client=Ii(Pe.clientProject),o=o.filter(Je=>Je.controlAsset!==ue),ee.push("\u6574\u5408\u5305\u5DF2\u62C6\u56DE\u300CUI\u63A7\u4EF6-\u670D\u52A1\u7AEF\u300D\u4E0E\u300CUI\u63A7\u4EF6-\u5BA2\u6237\u7AEF\u300D\uFF1B\u5BA2\u6237\u7AEF\u6A21\u677F\u8FB9\u754C\u5DF2\u4FDD\u7559\u3002"));let Ve=new Map,Vn=(Je,Or)=>{Je&&be(Je.root,Z=>{for(let Fe of Z.scriptMappingIds||[]){let Ut=Ve.get(Number(Fe));if(Ut){ee.push(`\u811A\u672C GUID ${Fe} \u540C\u65F6\u6302\u8F7D\u5230\u591A\u4E2A\u63A7\u4EF6\uFF0C\u5DF2\u4FDD\u7559\u201C${Ut.controlAsset===Be?"\u670D\u52A1\u7AEF":"\u5BA2\u6237\u7AEF"}\u201D\u76EE\u6807\u3002`);continue}Ve.set(Number(Fe),{controlId:Z.id,controlAsset:Or})}})};Vn(Pe.project,Pe.project.meta.assetType),Vn(Pe.clientProject,ue),Ae=(Pe.scripts||[]).map(Je=>Ve.has(Number(Je.guid))?{...Je,...Ve.get(Number(Je.guid))}:Je)}else throw new Error(`unsupported import format: ${v}`)}let lt=Ii(ne,{warnings:ee}),tt=Ol(ne?.controlGuidChanges);if(tt.some(Pe=>Pe.controlAsset!==lt.meta.assetType))throw new Error("\u5355\u8D44\u4EA7 JSON \u7684\u7D22\u5F15\u53D8\u66F4\u8BB0\u5F55\u5FC5\u987B\u5C5E\u4E8E\u5F53\u524D\u5BFC\u5165\u8D44\u4EA7");let Pt=Ol([...o.filter(Pe=>Pe.controlAsset!==lt.meta.assetType),...tt]);i=[...ee];let it=Qi(lt.meta.assetType);l[it]=lt,o=Pt,c=lt.meta.assetType;let Mt=l[it];return N&&(Mt.meta.name=Dn(N).replace(/\.(json|gia)$/i,"")||Mt.meta.name,Mt.meta.sourceFile=Dn(N),Mt.meta.sourceFormat=L),j(Ae),j(ne?.scripts||[]),ne?.script&&(ne.script.path||ne.script.source)&&j([ne.script]),ie({snapshot:Q(),warnings:ee,metadata:ye})}function se(v,C){return Hs(q(),{op:"pick",x:v,y:C}),Q()}function oe(v){let C=typeof v=="string"&&v?v:"";!C||C===n||(n=C)}function de(v){let C=v.source||"";if(!C.trim()&&v.path.trim())try{C=ab(yb(v.path,n),"utf8")}catch(N){throw new Error(`\u811A\u672C ${v.path} \u8BFB\u53D6\u5931\u8D25: ${N?.message||N}`)}return C}function Re(v={}){let C=z(v.canvasId);C&&(F=C),v.playerCount!==void 0&&v.playerCount!==null&&v.playerCount!==""&&(I=Wi(v.playerCount),$>I&&($=1)),v.viewPlayerIndex!==void 0&&v.viewPlayerIndex!==null&&v.viewPlayerIndex!==""&&($=ai(v.viewPlayerIndex,I)),x&&Il(x);let N=h.map(Y=>{try{return{id:Y.id,guid:Y.guid||0,path:Y.path||Y.id,source:de(Y),controlId:Y.controlId||"",controlAsset:Y.controlAsset||""}}catch(ne){return{id:Y.id,guid:Y.guid||0,path:Y.path||Y.id,source:`error([==[ ${String(ne.message).replace(/]=+]/g,"] =]")} ])`,controlId:Y.controlId||"",controlAsset:Y.controlAsset||""}}}),L=Y=>N.filter(ne=>{let ee={controlId:ne.controlId,controlAsset:ne.controlAsset},ye=ne.controlId?E(ee):null;return!!(ye&&ye.key===Y)});return x=g0(l.server,{templatesProject:l.client,scripts:N,sceneScripts:L("server"),templateScripts:L("client"),serverConfig:{logic:S},canvasId:F,playerCount:I,viewPlayerIndex:$,language:v.language||""}),xe(v)}function Me(v,C={}){let N=z(v);if(!N)throw new Error("playSetCanvas requires canvasId");return Re({...C,canvasId:N})}function xe(v={}){if(!x)return ie({running:!1,tree:[],logs:[],serverLogs:[],serverVars:[]});let C=yl(x,v);return C.running=!0,C.logs=Al(C.logs),C.serverLogs=Al(C.server?.logs||[]),C.serverVars=ub(C.server,C.playerCount||1),C}function Hh(v,C={}){return x||Re(),Ko(x,v),C.observe===!1?ie({running:!0,time:x.runtime.clock.time,frame:x.runtime.clock.frame,paused:!!x.debugPaused,levelTimePaused:!!x.runtime.clock.paused,playerCount:x.playerCount||1,viewPlayerIndex:x.viewPlayerIndex||1}):xe(C)}function Uh(v=0){Re();let C=Math.max(0,Number(v)||0);for(let N=0;N<C;N++)Ko(x,1/30);return xe()}function Yh(){return x&&Il(x),x=null,F="",I=1,$=1,ie({running:!1,tree:[],logs:[],serverLogs:[],serverVars:[]})}function Xh(v,C={}){let N=Bn();return $=gl(N,v),C.observe===!1?null:xe(C)}function Wh(v,C={}){if(!x)throw new Error("play session has not started");return vl(x,v),C.observe===!1?null:xe(C)}function Kh(v,C={}){if(!x)throw new Error("play session has not started");return wl(x,v),C.observe===!1?null:xe(C)}function Jh(v,C,N,L={}){if(!x)throw new Error("play session has not started");return xr(x,v,C,N,L),L.observe===!1?null:xe(L)}function Zh(v={}){return x&&Jo(x).pause(),v.observe===!1?null:xe(v)}function Qh(v={}){return x&&Jo(x).resume(),v.observe===!1?null:xe(v)}function Bn(){if(!x)throw new Error("play session has not started");return x}function e1(v,C){let N=Bn();if(!v&&!C){let L=xe();return ie({vars:L.serverVars||[]})}return ie({entityType:String(v||""),name:String(C||""),value:I0(N,v,C)})}function t1(v,C,N){let L=Bn();return xl(L,v,C,N),xe()}function i1(v,C=[],N="PlayerSelf"){let L=Bn();return El(L,v,C,N),xe()}function n1(){let v=xe();return ie({events:v.history||[],case:r0(v.history||[],{playerCount:v.playerCount||1})})}function r1(v={}){let C=xe(),N=vr({name:v.name||"",dt:v.dt,playerCount:v.playerCount||C.playerCount||1,events:v.events||C.history||[],asserts:v.asserts||[]});return ie(N)}function o1(v,C={}){let N=vr(v);Re({...C,playerCount:C.playerCount||N.playerCount||1});let L=Bn();L.recording=!1;try{return C0(Jo(L),v)}finally{L.recording=!0}}function a1(){if(!x)return{running:!1,paused:!1,time:0,frame:0,playerCount:1,viewPlayerIndex:1};let v=x.runtime.clock;return{running:!0,paused:!!x.debugPaused,levelTimePaused:!!v.paused,time:v.time,frame:v.frame,playerCount:x.playerCount||1,viewPlayerIndex:x.viewPlayerIndex||1}}let cc={get:Q,patch:ht,setWorkspace:oe,exportData:P,exportChoices:ge,exportPreview:T,importData:J,pick:se,playStart:Re,playSetCanvas:Me,playSetView:Xh,playGet:xe,playStatus:a1,playStep:Hh,playRun:Uh,playStop:Yh,playKey:Wh,playClick:Kh,playPointer:Jh,playPause:Zh,playResume:Qh,playServerGet:e1,playServerSet:t1,playServerSend:i1,playHistory:n1,playSaveCase:r1,playRunCase:o1,archiveData:me};return Object.defineProperty(cc,"_project",{enumerable:!1,get:q}),cc}import{createRequire as Sb}from"node:module";function Pl(t,e,i){if(t.fillType!=="Horizontal"&&t.fillType!=="Vertical")return null;let n=Number(t.fillAmount??1),r=Number.isFinite(n)?Math.max(0,Math.min(1,n)):1;if(t.fillType==="Horizontal"){let a=e*r;return{x:t.fillHorizontalType==="Right"?e/2-a:-e/2,y:-i/2,width:a,height:i}}let o=i*r;return{x:-e/2,y:t.fillVerticalType==="Top"?-i/2:i/2-o,width:e,height:o}}function D0(t,e,i){let n=e?.m_Rect,r=e?.m_RD?.textureRectOffset,o=e?.m_RD?.textureRect,a=Math.round(Number(n?.width)),s=Math.round(Number(n?.height)),l=Math.round(Number(r?.X)),c=Math.round(Number(r?.Y)),u=Math.round(Number(o?.width)),f=Math.round(Number(o?.height)),h=e?.m_RD?.settingsRaw?.packingRotation;if(![a,s,u,f].every(b=>Number.isInteger(b)&&b>0&&b<=8192)||a*s>16777216||!Number.isFinite(l)||!Number.isFinite(c)||l<0||c<0||l+u>a||c+f>s)throw new Error("Invalid sprite dimensions or trim offset");if(h&&h!=="None")throw new Error(`Unsupported sprite packing rotation: ${h}`);let p=i(a,s),g=p.getContext("2d");if(t.width===a&&t.height===s)g.drawImage(t,0,0);else{if(t.width!==u||t.height!==f)throw new Error("Sprite PNG does not match its trim metadata");g.drawImage(t,l,s-c-f)}return p}function $0(t,e,i){let n=Number(e??4294967295)>>>0;if((n&16777215)===16777215)return t;let r=i(t.width,t.height),o=r.getContext("2d");o.drawImage(t,0,0);let a=o.getImageData(0,0,r.width,r.height),s=n>>>16&255,l=n>>>8&255,c=n&255;for(let u=0;u<a.data.length;u+=4)a.data[u]=Math.round(a.data[u]*s/255),a.data[u+1]=Math.round(a.data[u+1]*l/255),a.data[u+2]=Math.round(a.data[u+2]*c/255);return o.putImageData(a,0,0),r}function vb(t){return!!t?.border&&Object.values(t.border).some(e=>Number.isFinite(e)&&e>0)}function L0(t,e){let i=typeof e=="object"?e?.Name:e;return vb(t)&&i!=="Basic"?"Stretch":"Basic"}function G0(t){if(!t)return null;let e=Number(t.m_Rect?.width),i=Number(t.m_Rect?.height);if(![e,i].every(r=>Number.isFinite(r)&&r>0&&r<=8192)||e*i>16777216)throw new Error("Invalid image metadata dimensions");let n={};for(let[r,o]of[["left","X"],["bottom","Y"],["right","Z"],["top","W"]]){let a=Number(t.m_Border?.[o]??0);if(!Number.isFinite(a))throw new Error("Invalid image border");n[r]=Math.max(0,a)}return{width:e,height:i,border:n}}function wb(t,e,i,n){e=Number.isFinite(e)?Math.max(0,e):0,i=Number.isFinite(i)?Math.max(0,i):0;let r=Math.min(1,t/(e+i||1));e*=r,i*=r;let o=Math.min(1,n/(e+i||1));return{source:[0,e,t-i,t],target:[0,e*o,n-i*o,n]}}var z0=new WeakMap;function B0(t,e,i,n,r){let o=Math.max(0,i),a=Math.max(0,n),s=Math.min(1,4096/Math.max(1,o),4096/Math.max(1,a)),l=Math.max(1,Math.round(o*s)),c=Math.max(1,Math.round(a*s)),u=r(l,c),f=u.getContext("2d");if(!o||!a)return u;let h=z0.get(t);if(!h){let x=r(t.width,t.height),F=x.getContext("2d");F.drawImage(t,0,0),h=F.getImageData(0,0,t.width,t.height),z0.set(t,h)}let p=f.createImageData(l,c),g=h.data,b=(x,F,I,$,z,q)=>{let{source:B,target:E}=wb(F,I,$,z);return Array.from({length:q},(A,y)=>{let O=(y+.5)*z/q,k=O<E[1]?0:O<E[2]?1:2,d=E[k+1]>E[k]?(O-E[k])/(E[k+1]-E[k]):0,_=Math.max(0,Math.min(x-1,(B[k]+d*(B[k+1]-B[k]))*x/F-.5)),D=Math.floor(_);return[D,Math.min(x-1,D+1),_-D]})},w=b(t.width,e.width,e.border.left,e.border.right,o,l),S=b(t.height,e.height,e.border.top,e.border.bottom,a,c);for(let x=0;x<c;x++)for(let F=0;F<l;F++){let[I,$,z]=w[F],[q,B,E]=S[x],A=(q*t.width+I)*4,y=(q*t.width+$)*4,O=(B*t.width+I)*4,k=(B*t.width+$)*4,d=g[A+3]*(1-z)*(1-E),_=g[y+3]*z*(1-E),D=g[O+3]*(1-z)*E,H=g[k+3]*z*E,U=d+_+D+H,K=(x*l+F)*4;p.data[K+3]=Math.round(U);for(let re=0;re<3;re++)p.data[K+re]=U?Math.round((g[A+re]*d+g[y+re]*_+g[O+re]*D+g[k+re]*H)/U):0}return f.putImageData(p,0,0),u}function V0(t){let e=Number(t)>>>0;return`rgba(${e>>>16&255},${e>>>8&255},${e&255},${(e>>>24)/255})`}function q0(t,e,i,n,r=Wn){let o=e.textLayout;if(!o?.richLines||i<=0||n<=0)return;let a=e.horizontalAlignment==="Right"?1:e.horizontalAlignment==="Middle"?.5:0,s=e.verticalAlignment==="Bottom"?1:e.verticalAlignment==="Middle"?.5:0,l=e.kind==="textwindow"?e.scroll:null,c=o.visibleLineCount??o.richLines.length,u=o.visibleContentHeight??o.contentHeight,f=e.kind==="textwindow"&&o.contentHeight>n?-(l?.offset||0):s*(n-u);t.save(),t.beginPath(),t.rect(0,0,i,n),t.clip(),t.textAlign="left",t.textBaseline="alphabetic",t.lineJoin="round",t.strokeStyle=V0(e.outlineColor??4278190080);for(let h=0;h<c;h++){let p=o.richLines[h],g=f+p.top;if(g+p.height<0||g>n)continue;let b=2+a*(o.textWidth-p.width);for(let w of p.runs)t.font=Ur(w,r||Wn),t.fillStyle=V0(w.color??e.fontColor??4294967295),e.enableOutline&&(t.lineWidth=Math.max(2,w.fontSize*.12),t.strokeText(w.text,b+w.x,g+p.baseline)),t.fillText(w.text,b+w.x,g+p.baseline)}t.restore()}var xb=Sb(import.meta.url),Eb=[0,-.5,.5,.5,-.5,.5],Ib=[0,-.5,.12,-.12,.5,0,.12,.12,0,.5,-.12,.12,-.5,0,-.12,-.12],_b=[0,-.5,.11,-.15,.48,-.15,.18,.07,.29,.41,0,.2,-.29,.41,-.18,.07,-.48,-.15,-.11,-.15],Ml=Buffer.from([137,80,78,71,13,10,26,10]),kb=new Set(["image","textbox","textwindow","button","grid"]),ea={cursor:"\u5149\u6807\u68C0\u6D4B\u533A\u57DF",reference:"\u6A21\u677F\u5F15\u7528\u63A7\u4EF6",grid:"\u7F51\u683C\u89C6\u7A97",button:"\u9884\u8BBE\u6309\u94AE",keyhint:"\u6309\u952E\u63D0\u793A",animation:"\u754C\u9762\u52A8\u6548",fullscreen:"\u5168\u5C4F\u52A8\u6548"},ta=null;function kr(){if(ta)return ta;try{ta=xb("@napi-rs/canvas")}catch(t){let e=t?.message||String(t);throw new Error(`Host screenshot renderer requires @napi-rs/canvas (${e})`)}return ta}function pe(t,e=0){let i=Number(t);return Number.isFinite(i)?i:e}function na(t,e=4294967295){let i=Number(t??e)>>>0;return{r:i>>>16&255,g:i>>>8&255,b:i&255,a:(i>>>24&255)/255}}function nn(t,e=1){return`rgba(${t.r},${t.g},${t.b},${Math.max(0,Math.min(1,t.a*e))})`}function H0(t,e,i=1){let n=Math.max(1,Math.round(pe(t,1))),r=Math.max(1,Math.round(pe(e,1))),o=Math.max(1,Math.min(2,pe(i,1)));return{width:n,height:r,pixelWidth:Math.max(1,Math.round(n*o)),pixelHeight:Math.max(1,Math.round(r*o)),pixelRatio:o}}function U0(t){let e=Buffer.from(t.toBuffer("image/png"));if(e.length<Ml.length||!e.subarray(0,Ml.length).equals(Ml))throw new Error("Host screenshot renderer did not produce a PNG");return e}function Cb(t){return t==="triangle"?Eb:t==="fourstar"?Ib:_b}function Ab(t,e,i,n,r){let o=Cb(e);t.beginPath();for(let a=0;a<o.length;a+=2){let s=o[a]*i,l=o[a+1]*n;a===0?t.moveTo(s,l):t.lineTo(s,l)}t.closePath(),t.fillStyle=nn(r),t.fill()}function Fl(t,e,i){let n=e?.matrix,r=n&&typeof n=="object"?[n.a,n.b,n.c,n.d,n.tx,n.ty].map(Number):null,o=e?.pressed?.98:1;if(r&&r.every(Number.isFinite)){let[a,s,l,c,u,f]=r;t.transform(a*o,-s*o,-l*o,c*o,u,i-f);return}t.translate(pe(e.left)+pe(e.width)/2,i-pe(e.bottom)-pe(e.height)/2),t.rotate(-pe(e.rotationZ)*Math.PI/180),t.scale(o,o)}function Tb(t,e,i,n,r,o){if(typeof t.roundRect=="function"){t.roundRect(e,i,n,r,o);return}let a=Math.max(0,Math.min(o,n/2,r/2));t.moveTo(e+a,i),t.arcTo(e+n,i,e+n,i+r,a),t.arcTo(e+n,i+r,e,i+r,a),t.arcTo(e,i+r,e,i,a),t.arcTo(e,i,e+n,i,a),t.closePath()}function Y0(t,e,i,n){let r=na(e.bgColor,16777215);t.fillStyle=nn(r),t.fillRect(-i/2,-n/2,i,n);let o=e.textLayout||Zt(e,i,n);if(o.richLines){t.save(),t.translate(-i/2,-n/2),q0(t,{...e,textLayout:o},i,n,pn()),t.restore();return}let a=o.fontSize,s=na(e.fontColor,4294967295),l=e.horizontalAlignment==="Right"?1:e.horizontalAlignment==="Middle"?.5:0,c=e.verticalAlignment==="Bottom"?1:e.verticalAlignment==="Middle"?.5:0;t.save(),t.beginPath(),t.rect(-i/2,-n/2,i,n),t.clip(),t.font=`${a}px ${pn()}`,t.fillStyle=nn(s),t.textAlign=l===1?"right":l===.5?"center":"left";let u=e.kind==="textwindow"?e.scroll:null;if(t.textBaseline=u?"top":c===1?"bottom":c===.5?"middle":"top",e.enableOutline){let w=na(e.outlineColor,4278190080);t.strokeStyle=nn(w),t.lineWidth=Math.max(2,a*.12),t.lineJoin="round"}let f=u?-i/2+2+l*u.textWidth:l===0?-i/2+2:l===1?i/2-2:0,h=c===0?-n/2:c===1?n/2:0,p=u?.lines||o.lines.slice(0,o.visibleLineCount??o.lines.length),g=u?.lineHeight||o.lineHeight,b=u?-n/2-u.offset+(u.max>0?0:c*(n-u.contentLength)):c===.5?h-(p.length-1)*g/2:c===1?h-(p.length-1)*g:h;for(let w=0;w<p.length;w+=1){let S=b+w*g;u&&(S+g<-n/2||S>n/2)||(e.enableOutline&&t.strokeText(p[w],f,S),t.fillText(p[w],f,S))}t.restore()}function Rb(t,e,i,n){let r=Mn(e.scroll,i,n);if(r)for(let[o,a]of[[r.track,"#263447"],[r.thumb,"#90aecb"]])t.fillStyle=a,t.fillRect(o.x,o.y,o.width,o.height)}function X0(t,e,i,n){t.beginPath(),Tb(t,-i/2,-n/2,i,n,6),t.fillStyle="#3268cf",t.fill(),t.strokeStyle="rgba(112,160,255,0.8)",t.lineWidth=1,t.stroke(),e.pressed&&(t.fillStyle="rgba(0,0,0,0.28)",t.fill())}function W0(t,e,i,n,r){let o=na(e.imageColor,4294967295),a=Dr(e.imageId,e.imageSource),s=r?.images?.get(a);if(e.primitive==="sprite"&&s){let l=r.imageMetadata?.get(a),c=L0(l,e.imageType),u=`${a}:${Number(e.imageColor??4294967295)&16777215}:${c}:${c==="Stretch"?`${i}:${n}`:""}`,f=r.tints.get(u);if(!f){let h=c==="Stretch"?B0(s,l,i,n,kr().createCanvas):s;f=$0(h,e.imageColor,kr().createCanvas),r.tints.set(u,f)}t.globalAlpha*=o.a,t.drawImage(f,-i/2,-n/2,i,n);return}if(e.primitive==="missing"||e.primitive==="sprite"){t.fillStyle="rgba(72,34,40,0.36)",t.fillRect(-i/2,-n/2,i,n),t.strokeStyle="#ff7481",t.lineWidth=1,t.strokeRect(-i/2+.5,-n/2+.5,Math.max(0,i-1),Math.max(0,n-1));return}if(e.primitive==="circle"){t.beginPath(),t.ellipse(0,0,i/2,n/2,0,0,Math.PI*2),t.fillStyle=nn(o),t.fill();return}if(e.primitive==="ring"){t.beginPath(),t.ellipse(0,0,Math.max(1,i/2-3.5),Math.max(1,n/2-3.5),0,0,Math.PI*2),t.strokeStyle=nn(o),t.lineWidth=7,t.stroke();return}if(e.primitive==="triangle"||e.primitive==="fourstar"||e.primitive==="fivestar"){Ab(t,e.primitive,i,n,o);return}t.fillStyle=nn(o),t.fillRect(-i/2,-n/2,i,n)}function Ob(t,e,i,n){let r=Math.max(0,pe(e.sourceWidth,pe(e.width))),o=Math.max(0,pe(e.sourceHeight,pe(e.height)));t.save();for(let a of e.clipPolygons||[])t.beginPath(),a.forEach((s,l)=>l?t.lineTo(s.x,i-s.y):t.moveTo(s.x,i-s.y)),t.closePath(),t.clip();if(Fl(t,e,i),e.kind==="textbox"||e.kind==="textwindow")Y0(t,e,r,o);else if(e.kind==="button")X0(t,e,r,o);else if(e.kind!=="grid"){let a=Pl(e,r,o);a&&(t.beginPath(),t.rect(a.x,a.y,a.width,a.height),t.clip()),W0(t,e,r,o,n)}Rb(t,e,r,o),t.restore()}function K0(t,e,i,{checker:n=!1}={}){if(n){t.fillStyle="#28313e",t.fillRect(0,0,e,i);let o=16;for(let a=0;a<i;a+=o)for(let s=0;s<e;s+=o)(s/o+a/o)%2===0&&(t.fillStyle="rgba(255,255,255,0.04)",t.fillRect(s,a,o,o));t.strokeStyle="#40b8cf",t.lineWidth=1,t.strokeRect(.5,.5,e-1,i-1);return}let r=t.createRadialGradient(e/2,i*.45,8,e/2,i/2,Math.max(e,i)*.72);r.addColorStop(0,"#123a6b"),r.addColorStop(.72,"#061934"),r.addColorStop(1,"#071426"),t.fillStyle=r,t.fillRect(0,0,e,i)}function Nb(t,e){return{a:t.a*e.a+t.c*e.b,b:t.b*e.a+t.d*e.b,c:t.a*e.c+t.c*e.d,d:t.b*e.c+t.d*e.d,tx:t.a*e.tx+t.c*e.ty+t.tx,ty:t.b*e.tx+t.d*e.ty+t.ty}}function j0(t){let e=t?.matrix;return!e||typeof e!="object"?{a:1,b:0,c:0,d:1,tx:0,ty:0}:{a:pe(e.a,1),b:pe(e.b),c:pe(e.c),d:pe(e.d,1),tx:pe(e.tx),ty:pe(e.ty)}}function Pb(t){let e=Array.isArray(t?.nodes)?t.nodes:[],i=new Map;for(let a of e){if(!a||a.id===void 0||a.id===null)continue;let s=a.parent==null?"":String(a.parent),l=i.get(s);l?l.push(a):i.set(s,[a])}for(let a of i.values())a.sort((s,l)=>pe(s.z)-pe(l.z));let n=[];function r(a,s,l,c){if(!kb.has(a.kind))return;let u=Math.abs(pe(a.sourceWidth)*Math.hypot(s.a,s.b)),f=Math.abs(pe(a.sourceHeight)*Math.hypot(s.c,s.d));n.push({...a,left:s.tx-u/2,bottom:s.ty-f/2,width:u,height:f,rotationZ:Math.atan2(s.b,s.a)*180/Math.PI,matrix:{a:s.a,b:s.b,c:s.c,d:s.d,tx:s.tx,ty:s.ty},...l.length?{clipPolygons:l}:{},...c.length?{masks:c}:{}})}function o(a,s,l=null,c=[],u=[]){let f=i.get(a)||[];for(let h=f.length-1;h>=0;h-=1){let p=f[h],g=s?Nb(s,j0(p)):j0(p),b=c;if(p.clipToParent&&s&&l){let x=l.sourceWidth/2,F=l.sourceHeight/2;b=[...c,[[-x,-F],[x,-F],[x,F],[-x,F]].map(([I,$])=>({x:s.a*I+s.c*$+s.tx,y:s.b*I+s.d*$+s.ty}))]}let w=zi(p,g),S=w?[...u,w]:u;p.kind!=="grid"&&r(p,g,b,S),o(String(p.id),g,p,b,S),p.kind==="grid"&&r(p,g,b,S)}}return o("",null),n}function J0(t,e,i,n={}){return Db(Pb(t),e,i,n)}function Mb(t,e,i){if(!(t.width>0&&t.height>0)||!Xt(t.matrix))return null;let n=[[-1,-1],[1,-1],[1,1],[-1,1]].map(([l,c])=>{let u=nt(t.matrix,l*t.width/2,c*t.height/2);return{x:u.x*i.pixelRatio,y:(i.height-u.y)*i.pixelRatio}}),r=Math.max(e.x,Math.floor(Math.min(...n.map(l=>l.x)))),o=Math.max(e.y,Math.floor(Math.min(...n.map(l=>l.y)))),a=Math.min(e.x+e.canvas.width,Math.ceil(Math.max(...n.map(l=>l.x)))),s=Math.min(e.y+e.canvas.height,Math.ceil(Math.max(...n.map(l=>l.y))));return a>r&&s>o?{x:r,y:o,width:a-r,height:s-o}:null}function Fb(t,e,i,n){let r=e.canvas.width,o=e.canvas.height,a=e.ctx.getImageData(0,0,r,o).data,s=e.x-t.x,l=e.y-t.y,c=t.ctx.getImageData(s,l,r,o),u=c.data,f=Xt(i.matrix);for(let h=0;h<o;h++){let p=n.height-(e.y+h+.5)/n.pixelRatio;for(let g=0;g<r;g++){let b=(h*r+g)*4;if(!a[b+3])continue;let w=(e.x+g+.5)/n.pixelRatio,S=f.a*w+f.c*p+f.tx,x=f.b*w+f.d*p+f.ty,F=Yc(S,x,i),I=Math.round(a[b+3]*F)/255;if(!I)continue;let $=u[b+3]/255,z=I+$*(1-I);for(let q=0;q<3;q++)u[b+q]=Math.round((a[b+q]*I+u[b+q]*$*(1-I))/z);u[b+3]=Math.round(z*255)}}t.ctx.save(),t.ctx.setTransform(1,0,0,1,0,0),t.ctx.putImageData(c,s,l),t.ctx.restore()}function Dl(t,e,i,n,r=Ob){for(let o of e){if(o.item){r(t.ctx,o.item,i.height,n);continue}let a=Mb(o.mask,t,i);if(!a)continue;let s=kr().createCanvas(a.width,a.height),l=s.getContext("2d");l.setTransform(i.pixelRatio,0,0,i.pixelRatio,-a.x,-a.y);let c={canvas:s,ctx:l,x:a.x,y:a.y};Dl(c,o.children,i,n,r),Fb(t,c,o.mask,i)}}function Db(t,e,i,n={}){let{createCanvas:r}=kr(),o=H0(e,i,n.scale),a=r(o.pixelWidth,o.pixelHeight),s=a.getContext("2d");s.scale(o.pixelRatio,o.pixelRatio),n.background!=="transparent"&&K0(s,o.width,o.height);let l=Array.isArray(t)?t:[],c={images:n.images,imageMetadata:n.imageMetadata,tints:new Map};return Dl({canvas:a,ctx:s,x:0,y:0},Da(l),o,c),{data:U0(a),width:o.width,height:o.height,pixelWidth:o.pixelWidth,pixelHeight:o.pixelHeight}}function Z0(t){if(t.renderMatrix){let e=nt(t.renderMatrix,t.centerX,t.centerY);return{kind:t.kind,width:t.width,height:t.height,matrix:{...t.renderMatrix,tx:e.x,ty:e.y}}}return{kind:t.kind,left:pe(t.renderLeft,t.left),bottom:pe(t.renderBottom,t.bottom),width:Math.max(0,pe(t.renderWidth,t.width)),height:Math.max(0,pe(t.renderHeight,t.height)),rotationZ:pe(t.renderRotationZ,t.rotationZ)}}function ia(t,e,i){let n=String(e||"");if(!n)return;t.font=`10px ${pn()}`,t.textAlign="center",t.textBaseline="middle";let r=t.measureText(n),o=Math.min(i-4,Math.max(24,r.width+8)),a=16;t.fillStyle="rgba(17,25,37,0.66)",t.fillRect(-o/2,-a/2,o,a),t.fillStyle="#e7edf5",t.fillText(n,0,0)}function $b(t,e,i,n){let r=Z0(e);if(r.width<=0||r.height<=0)return;t.save(),Fl(t,r,i);let o=-r.width/2,a=-r.height/2;if(e.kind==="image"){t.save();let s=Math.max(0,pe(e.width,r.width)),l=Math.max(0,pe(e.height,r.height));t.scale(s?r.width/s:1,l?r.height/l:1);let c=e.enableFill?Pl(e,s,l):null;c&&(t.beginPath(),t.rect(c.x,c.y,c.width,c.height),t.clip()),W0(t,e,s,l,n),t.restore()}else if(e.kind==="textbox"||e.kind==="textwindow")Y0(t,e,r.width,r.height);else if(e.kind==="button")X0(t,e,r.width,r.height),ia(t,e.name||ea.button,r.width);else if(e.kind==="cursor")t.setLineDash([6,4]),t.strokeStyle="rgba(74,142,181,0.7)",t.fillStyle="rgba(74,142,181,0.1)",t.fillRect(o,a,r.width,r.height),t.strokeRect(o,a,r.width,r.height),ia(t,e.name||ea.cursor,r.width);else if(e.kind==="grid"){t.strokeStyle="rgba(106,146,189,0.55)",t.strokeRect(o,a,r.width,r.height),t.beginPath();for(let s=20;s<r.width;s+=20)t.moveTo(o+s,a),t.lineTo(o+s,a+r.height);for(let s=20;s<r.height;s+=20)t.moveTo(o,a+s),t.lineTo(o+r.width,a+s);t.stroke(),ia(t,e.name||ea.grid,r.width)}else e.kind!=="container"&&e.kind!=="server-container"?(t.setLineDash(e.kind==="reference"||e.kind==="animation"||e.kind==="fullscreen"?[4,4]:[]),t.strokeStyle="rgba(203,218,237,0.55)",t.strokeRect(o,a,r.width,r.height),ia(t,e.name||ea[e.kind]||e.kind,r.width)):(t.strokeStyle="rgba(78,165,230,0.42)",t.strokeRect(o,a,r.width,r.height));t.restore()}function Q0(t,e={}){let{createCanvas:i}=kr(),n=t?.canvas||{},r=H0(n.width||1600,n.height||900,e.scale),o=i(r.pixelWidth,r.pixelHeight),a=o.getContext("2d");a.scale(r.pixelRatio,r.pixelRatio),K0(a,r.width,r.height,{checker:!0});let s=(Array.isArray(t?.boxes)?t.boxes:[]).filter(f=>f&&f.kind!=="server-container"&&f.visible!==!1&&f.visibleInHierarchy!==!1),l=t?.selectedId,c={images:e.images,imageMetadata:e.imageMetadata,tints:new Map};Dl({canvas:o,ctx:a,x:0,y:0},Da(s),r,c,$b);let u=s.find(f=>f.id===l);if(u&&u.kind!=="container"){let f=Z0(u);a.save(),Fl(a,f,r.height),a.strokeStyle="#61b9ff",a.lineWidth=2,a.strokeRect(-f.width/2,-f.height/2,f.width,f.height),a.restore()}return{data:U0(o),page:t?.asset?.type==="client-control-template"?"UI\u63A7\u4EF6-\u5BA2\u6237\u7AEF":"UI \u7F16\u8F91",width:r.width,height:r.height,pixelWidth:r.pixelWidth,pixelHeight:r.pixelHeight}}import{closeSync as zb,existsSync as ra,openSync as Lb,opendirSync as Gb,readSync as Bb,realpathSync as $n,statSync as th}from"node:fs";import{basename as Vb,dirname as eh,isAbsolute as zl,join as qb,relative as ih,resolve as Tr}from"node:path";var jb="qxqy-simulator-save",nh=new Set(["node_modules",".git","dist",".dsh","coverage"]),Cr=50,rh=4096,$l=(t,e)=>{let i=Number(process.env[t]);return Number.isSafeInteger(i)&&i>0?i:e},Hb=()=>({entries:$l("QXQY_SCAN_ENTRY_LIMIT",1e4),directories:$l("QXQY_SCAN_DIR_LIMIT",1e3),depth:$l("QXQY_SCAN_DEPTH_LIMIT",8)});function Ll(t=""){let e=Tr(String(t||process.cwd()));if(!ra(e))throw new Error(`workspace does not exist: ${e}`);if(!th(e).isDirectory())throw new Error(`workspace is not a directory: ${e}`);return $n(e)}function Ar(t,e,i=!1){let n=ih(t,e);if(!i&&!n||n.startsWith("..")||zl(n))throw new Error("path must stay inside the configured workspace");return n}function Ci(t,e){let i=String(e||"").trim();if(!i||zl(i))throw new Error("path must be a non-empty workspace-relative path");let n=$n(Tr(t)),r=Tr(n,i);if(Ar(n,r),!ra(r))throw new Error(`file does not exist: ${i}`);let o=$n(r);return Ar(n,o),o}function dt(t,e){let i=String(e||"").trim();if(!i||zl(i))throw new Error("path must be a non-empty workspace-relative path");let n=$n(Tr(t)),r=Tr(n,i);Ar(n,r);let o=eh(r);for(;!ra(o);){let a=eh(o);if(a===o)throw new Error("unable to resolve output directory");o=a}return Ar(n,$n(o),!0),ra(r)&&Ar(n,$n(r)),r}function Ub(t,e=rh){let i=Buffer.alloc(e),n=Lb(t,"r");try{let r=Bb(n,i,0,e,0);return i.subarray(0,r).toString("utf8")}finally{zb(n)}}function oh(t,e,i,n,r){let o=r.limits;if(n>o.depth){r.depthLimitedDirectories+=1;return}if(r.scannedDirectories>=o.directories){r.directoryLimitReached=!0;return}let a;try{r.scannedDirectories+=1,a=Gb(t)}catch{r.unreadableEntries+=1;return}try{let s;for(;s=a.readSync();){if(r.scannedEntries>=o.entries){r.entryLimitReached=!0;return}if(r.scannedEntries+=1,s.name.startsWith(".")||s.isDirectory()&&nh.has(s.name)){r.skippedEntries+=1,s.isDirectory()&&(r.skippedDirectories+=1);continue}let l=qb(t,s.name);if(s.isDirectory()){if(oh(l,e,i,n+1,r),r.entryLimitReached||r.directoryLimitReached)return;continue}if(!(!s.isFile()||!/\.json$/i.test(s.name))){r.scannedJsonFiles+=1;try{let c=th(l),u=Ub(l);if(!u.includes(jb))continue;let f=u.match(/"name"\s*:\s*("(?:\\.|[^"\\])*")/)?.[1],h=Vb(s.name,".json");if(f)try{h=JSON.parse(f)||h}catch{}i.push({path:ih(e,l).replaceAll("\\","/"),name:h,bytes:c.size,mtime:c.mtimeMs})}catch{r.unreadableEntries+=1}}}}catch{r.unreadableEntries+=1}finally{try{a.closeSync()}catch{r.unreadableEntries+=1}}}function oa(t){let e=Ll(t),i=[],n={truncated:!1,warnings:[],scannedDirectories:0,scannedEntries:0,scannedJsonFiles:0,matchedArchives:0,skippedDirectories:0,skippedEntries:0,unreadableEntries:0,depthLimitedDirectories:0,entryLimitReached:!1,directoryLimitReached:!1,limits:{archives:Cr,headBytes:rh,...Hb()},policy:{excludedDirectories:[...nh],hiddenEntries:!1,symlinks:!1,validatesJson:!1}};return oh(e,e,i,0,n),i.sort((r,o)=>o.mtime-r.mtime||r.path.localeCompare(o.path)),n.matchedArchives=i.length,i.length>Cr&&n.warnings.push(`\u53D1\u73B0 ${i.length} \u4E2A\u5B58\u6863\uFF0C\u4EC5\u663E\u793A\u4FEE\u6539\u65F6\u95F4\u6700\u65B0\u7684 ${Cr} \u4E2A\uFF1B\u5176\u4ED6\u5B58\u6863\u53EF\u901A\u8FC7\u6307\u5B9A\u8DEF\u5F84\u6253\u5F00\u3002`),(n.entryLimitReached||n.directoryLimitReached)&&n.warnings.push(`\u81EA\u52A8\u53D1\u73B0\u8FBE\u5230\u626B\u63CF\u4E0A\u9650\uFF08${n.limits.entries} \u9879 / ${n.limits.directories} \u4E2A\u76EE\u5F55\uFF09\uFF0C\u5217\u8868\u53EF\u80FD\u4E0D\u5B8C\u6574\uFF1B\u53EF\u901A\u8FC7\u6307\u5B9A\u8DEF\u5F84\u6253\u5F00\u5B58\u6863\u3002`),n.depthLimitedDirectories&&n.warnings.push(`\u81EA\u52A8\u53D1\u73B0\u8DF3\u8FC7 ${n.depthLimitedDirectories} \u4E2A\u8D85\u8FC7 ${n.limits.depth} \u5C42\u7684\u76EE\u5F55\uFF1B\u53EF\u901A\u8FC7\u6307\u5B9A\u8DEF\u5F84\u6253\u5F00\u5176\u4E2D\u7684\u5B58\u6863\u3002`),n.skippedEntries&&n.warnings.push("\u81EA\u52A8\u53D1\u73B0\u8DF3\u8FC7\u9690\u85CF\u9879\u53CA\u751F\u6210\u76EE\u5F55\uFF08\u5982 node_modules\u3001dist\uFF09\uFF1B\u53EF\u901A\u8FC7\u6307\u5B9A\u8DEF\u5F84\u6253\u5F00\u5176\u4E2D\u7684\u5B58\u6863\u3002"),n.unreadableEntries&&n.warnings.push(`\u81EA\u52A8\u53D1\u73B0\u65E0\u6CD5\u8BFB\u53D6 ${n.unreadableEntries} \u4E2A\u6587\u4EF6\u6216\u76EE\u5F55\uFF1B\u8BF7\u68C0\u67E5\u8BBF\u95EE\u6743\u9650\uFF0C\u6216\u901A\u8FC7\u6307\u5B9A\u8DEF\u5F84\u67E5\u770B\u5177\u4F53\u9519\u8BEF\u3002`),n.truncated=i.length>Cr||n.entryLimitReached||n.directoryLimitReached||n.depthLimitedDirectories>0,{bound:!0,workspace:e,archives:i.slice(0,Cr),discovery:n}}import{readFileSync as Yb}from"node:fs";import{homedir as Xb}from"node:os";import{join as Wb}from"node:path";var Kb={"zh-cn":"LanguageChs",chs:"LanguageChs","zh-tw":"LanguageCht",cht:"LanguageCht",en:"LanguageEng","en-us":"LanguageEng",eng:"LanguageEng",ja:"LanguageJpn","ja-jp":"LanguageJpn",jp:"LanguageJpn",ko:"LanguageKor","ko-kr":"LanguageKor",kr:"LanguageKor",fr:"LanguageFra",fra:"LanguageFra",de:"LanguageDeu",deu:"LanguageDeu",es:"LanguageSpa",spa:"LanguageSpa",pt:"LanguagePor",por:"LanguagePor",ru:"LanguageRus",rus:"LanguageRus",th:"LanguageTha",tha:"LanguageTha",vi:"LanguageVie",vie:"LanguageVie",id:"LanguageInd",ind:"LanguageInd",tr:"LanguageTur",tur:"LanguageTur",it:"LanguageIta",ita:"LanguageIta"};function Jb(t){let i=[...String(t||"").matchAll(/Request to set language:([A-Za-z0-9_-]+)/g)].at(-1)?.[1]?.toLowerCase();return Kb[i]||null}function Zb(){return Wb(Xb(),"AppData","LocalLow","miHoYo","\u539F\u795E","output_log.txt")}function ah(t=Zb()){try{return Jb(Yb(t,"utf8"))}catch{return null}}import{existsSync as Vl,lstatSync as Qb,mkdirSync as sh,readFileSync as aa,readdirSync as e2,realpathSync as lh,renameSync as t2,rmSync as i2,statSync as ca,writeFileSync as ch}from"node:fs";import{createHash as n2,randomUUID as uh}from"node:crypto";import{homedir as r2}from"node:os";import{basename as o2,dirname as sa,isAbsolute as a2,join as la,relative as s2}from"node:path";var Nt=t=>n2("sha256").update(t).digest("hex"),Gl=t=>Vl(t)?Nt(aa(t)):null,Bl=(t,e)=>{let i=s2(t,e);return!a2(i)&&i!==".."&&!i.startsWith(`..${process.platform==="win32"?"\\":"/"}`)};function fh(t,e){let i=dt(t,e),n=i;for(;n!==t;){try{if(Qb(n).isSymbolicLink())throw new Error("\u5B9E\u673A\u76EE\u6807\u4E0D\u80FD\u5305\u542B\u7B26\u53F7\u94FE\u63A5\u6216\u76EE\u5F55\u8054\u63A5")}catch(r){if(r.code!=="ENOENT")throw r}n=sa(n)}if(Vl(i)&&!ca(i).isFile())throw new Error("\u5B9E\u673A\u76EE\u6807\u4E0D\u662F\u666E\u901A\u6587\u4EF6");return i}function dh(t=la(r2(),"AppData","LocalLow","miHoYo","\u539F\u795E","BeyondLocal")){let e=n=>{try{return e2(n,{withFileTypes:!0}).filter(r=>r.isDirectory()&&/^\d+$/.test(r.name)).map(r=>r.name)}catch{return[]}},i=[];for(let n of e(t)){let r=la(t,n,"Beyond_Local_Save_Level");for(let o of e(r)){let a=la(r,o,"external_lua_file","default_import_file");Vl(a)&&ca(a).isDirectory()&&i.push({uid:n,editorId:o,path:a})}}return{candidates:i}}var ua=class{constructor(e){this.controller=e,this.plan=null,this.lastResult=null}preview(){let e=this.controller,i=e.studio.archiveData(),n=qn(i.scriptSync);if(!n)throw new Error("\u8BF7\u5148\u914D\u7F6E\u5B9E\u673A\u811A\u672C\u76EE\u5F55");let r=lh(e.activeWorkspacePath()),o=lh(n.clientImportRoot);if(!ca(o).isDirectory())throw new Error("\u5B9E\u673A\u5BFC\u5165\u6839\u76EE\u5F55\u4E0D\u5B58\u5728");let a=n.workspaceDir?Ci(r,n.workspaceDir):r;if(!ca(a).isDirectory())throw new Error("\u5DE5\u4F5C\u533A\u811A\u672C\u76EE\u5F55\u4E0D\u5B58\u5728");if(Bl(a,o)||Bl(o,a))throw new Error("\u5DE5\u4F5C\u533A\u811A\u672C\u76EE\u5F55\u4E0E\u5B9E\u673A\u76EE\u5F55\u4E0D\u80FD\u91CD\u53E0");let s=new Map,l=i.assets.scripts.map(u=>{let f={id:u.id,path:u.path,sourceKind:u.source.trim()?"\u5B58\u6863\u6E90\u7801":"\u5DE5\u4F5C\u533A\u6587\u4EF6"};try{let h=Nr(u.path);if(!/\.lua$/i.test(h))throw new Error("\u811A\u672C\u8DEF\u5F84\u5FC5\u987B\u4EE5 .lua \u7ED3\u5C3E");let p=n.workspaceDir?`${n.workspaceDir}/`:"";if(!h.startsWith(p))throw new Error("\u811A\u672C\u4E0D\u5728\u6240\u914D\u7F6E\u7684\u5DE5\u4F5C\u533A\u811A\u672C\u76EE\u5F55\u4E2D");let g=[n.clientSubdir,h.slice(p.length)].filter(Boolean).join("/"),b=fh(o,g),w=b.toLowerCase();s.set(w,(s.get(w)||0)+1);let S=null,x="";try{S=aa(Ci(r,h),"utf8")}catch($){x=$.message}if(!u.source.trim()&&S===null)throw new Error(x);let F=u.source.trim()?u.source:S,I=Gl(b);return{...f,target:b,targetRelative:g,source:F,diskSource:S,diskError:x,sourceMismatch:!!(u.source.trim()&&S!==null&&u.source!==S),beforeSource:I===null?"":aa(b,"utf8"),beforeHash:I,sourceHash:Nt(F),status:I===null?"\u65B0\u589E":I===Nt(F)?"\u672A\u53D8\u5316":"\u8986\u76D6"}}catch(h){return{...f,status:"\u9519\u8BEF",error:h.message}}});for(let u of l)u.target&&s.get(u.target.toLowerCase())>1&&(u.status="\u9519\u8BEF",u.error="\u591A\u4E2A\u811A\u672C\u6620\u5C04\u5230\u540C\u4E00\u76EE\u6807\u6587\u4EF6");let c=Nt(JSON.stringify({archive:i,workspace:r,root:o,rows:l}));return this.plan={id:uh(),fingerprint:c,root:o,workspace:r,rows:l,pendingGuidChanges:i.controlGuidChanges.length,createdAt:new Date().toISOString()},this.plan}apply({planId:e,scriptIds:i,confirmed:n}){let r=this.plan;if(n!==!0||!r||r.id!==e)throw new Error("\u8BF7\u5148\u68C0\u67E5\u5DEE\u5F02\u5E76\u786E\u8BA4\u672C\u6B21\u590D\u5236");let o=this.preview();if(this.plan=null,o.fingerprint!==r.fingerprint)throw new Error("\u5185\u5BB9\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5");if(r.pendingGuidChanges)throw new Error("\u8BF7\u5148\u6838\u5BF9\u5E76\u786E\u8BA4\u63A7\u4EF6\u7D22\u5F15\u7684 Lua \u5F15\u7528\u53D8\u66F4");if(!Array.isArray(i)||!i.length||new Set(i).size!==i.length)throw new Error("\u8BF7\u9009\u62E9\u8981\u590D\u5236\u7684\u811A\u672C");let a=i.map(u=>{let f=r.rows.find(h=>h.id===u);if(!f||f.error||f.status==="\u672A\u53D8\u5316")throw new Error("\u6240\u9009\u811A\u672C\u4E0D\u80FD\u590D\u5236\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5");return f});this.controller.assertSavedArchive();let s=`.qxqy-script-sync-backups/${r.id}`,l=dt(r.workspace,s);if(Bl(r.root,l))throw new Error("\u5907\u4EFD\u76EE\u5F55\u4E0D\u80FD\u4F4D\u4E8E\u5B9E\u673A\u811A\u672C\u76EE\u5F55\u4E2D");let c=[];for(let u of a){let f="";try{let h=fh(r.root,u.targetRelative);if(Gl(h)!==u.beforeHash)throw new Error("\u76EE\u6807\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5");if(u.beforeHash!==null){let p=dt(r.workspace,`${s}/${u.targetRelative}`);sh(sa(p),{recursive:!0}),ch(p,aa(h),{flag:"wx"})}if(sh(sa(h),{recursive:!0}),f=la(sa(h),`.${o2(h)}.${uh()}.tmp`),ch(f,u.source,{flag:"wx"}),Gl(h)!==u.beforeHash)throw new Error("\u76EE\u6807\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u68C0\u67E5");t2(f,h),c.push({id:u.id,target:h,status:"\u6210\u529F"})}catch(h){c.push({id:u.id,target:u.target,status:"\u5931\u8D25",error:h.message})}finally{f&&i2(f,{force:!0})}}return this.lastResult={completed:c.every(u=>u.status==="\u6210\u529F"),at:new Date().toISOString(),backupRoot:l,results:c},this.lastResult}};import{createHash as l2,randomUUID as c2}from"node:crypto";import{mkdir as u2,open as f2,readFile as d2,rename as h2,rm as ql,stat as p2,writeFile as m2}from"node:fs/promises";import{homedir as jl}from"node:os";import{join as zn,resolve as g2}from"node:path";import{setTimeout as b2}from"node:timers/promises";var Hl=t=>l2("sha256").update(t).digest("hex");function Ln(t){return zn(process.platform==="win32"?process.env.LOCALAPPDATA||zn(jl(),"AppData","Local"):process.platform==="darwin"?zn(jl(),"Library","Caches"):process.env.XDG_CACHE_HOME||zn(jl(),".cache"),"beyond-simulator",t)}var jt=class{constructor({cacheDir:e,source:i,version:n,extension:r,accepts:o,fetch:a=globalThis.fetch,timeout:s=12e3}){this.directory=zn(g2(e),n,Hl(i).slice(0,12)),Object.assign(this,{source:i,extension:r,accepts:o,fetcher:a,timeout:s}),this.pending=new Map,this.failures=new Map,this.active=0,this.waiters=[]}async limited(e){this.active>=4?await new Promise(i=>this.waiters.push(i)):this.active++;try{return await e()}finally{let i=this.waiters.shift();i?i():this.active--}}async download(e,i,n,r){let o=await this.fetcher(new URL(e,this.source),{signal:n,redirect:"error",cache:r?"no-cache":"default"});if(!o.ok)throw Object.assign(new Error(`Asset source returned HTTP ${o.status}`),{status:o.status});if(Number(o.headers.get("content-length"))>i)throw new Error("Asset response too large");let a=[],s=0;for await(let l of o.body){if(s+=l.length,s>i)throw new Error("Asset response too large");a.push(l)}return Buffer.concat(a)}async cached(e){try{let i=await d2(e);return{data:i,...await this.decode(i),etag:`"${Hl(i)}"`}}catch(i){if(i.code==="ENOENT")return null;if(i.code==="EACCES"||i.code==="EPERM")throw i;return null}}async load(e,i=!1){let n=zn(this.directory,`${e}.${this.extension}`),r=!i&&await this.cached(n);if(r)return r;await u2(this.directory,{recursive:!0});let o=`${n}.lock`,a=Date.now()+3e4,s;for(;!s;)try{s=await f2(o,"wx")}catch(c){if(c.code!=="EEXIST")throw c;let u=!i&&await this.cached(n);if(u)return u;try{Date.now()-(await p2(o)).mtimeMs>6e4&&await ql(o,{force:!0})}catch(f){if(f.code!=="ENOENT")throw f}if(Date.now()>a)throw new Error("Timed out waiting for asset cache writer");await b2(80)}let l=`${n}.${c2()}.tmp`;try{let c=!i&&await this.cached(n);if(c)return c;let u=new AbortController,f=setTimeout(()=>u.abort(),this.timeout),h;try{h=await this.produce(e,u.signal,i)}finally{clearTimeout(f),u.abort()}let p=await this.decode(h);return await m2(l,h,{flag:"wx"}),await h2(l,n),{data:h,...p,etag:`"${Hl(h)}"`}}finally{try{await ql(l,{force:!0})}finally{await s.close(),await ql(o,{force:!0})}}}get(e,{refresh:i=!1}={}){if(!this.accepts(e))return Promise.reject(Object.assign(new Error("Asset ID is not in the preview allowlist"),{status:404}));if(this.pending.has(e))return this.pending.get(e);let n=this.failures.get(e);if(!i&&n&&n.until>Date.now())return Promise.reject(n.error);let r=this.limited(()=>this.load(e,i)).then(o=>(this.failures.delete(e),o),o=>{throw i||this.failures.set(e,{until:Date.now()+6e4,error:o}),o}).finally(()=>this.pending.delete(e));return this.pending.set(e,r),r}async refresh(e){if(!this.accepts(e))throw Object.assign(new Error("Asset ID is not in the preview allowlist"),{status:404});return await this.pending.get(e)?.catch(()=>{}),this.failures.delete(e),this.get(e,{refresh:!0})}};import{createHash as y2}from"node:crypto";import{createCanvas as v2,loadImage as hh}from"@napi-rs/canvas";var fa=class extends jt{constructor({cacheDir:e,source:i=Mr,fetch:n=globalThis.fetch}){super({cacheDir:e,source:i,fetch:n,version:"border-v1",extension:"json",accepts:r=>si(r)})}decode(e){let i=JSON.parse(e.toString("utf8"));if(i!==null&&(typeof i!="object"||Array.isArray(i)))throw new Error("Invalid image metadata");let n=G0(i);return{raw:i,meta:n}}async produce(e,i,n){try{return await this.download(`border/${e}.json`,128*1024,i,n)}catch(r){if(r.status===404)return Buffer.from("null");throw r}}};var Yl=20*1024*1024,w2=Buffer.from("89504e470d0a1a0a","hex");function ph(t,e){return e.throwIfAborted(),new Promise((i,n)=>{let r=()=>n(e.reason);e.addEventListener("abort",r,{once:!0}),t.then(i,n).finally(()=>e.removeEventListener("abort",r))})}function S2(){return process.env.QXQY_IMAGE_CACHE_DIR||Ln("images")}function Ul(t){if(t.length<24||t.length>Yl||!t.subarray(0,8).equals(w2))throw new Error("Invalid sprite PNG");let e=t.readUInt32BE(16),i=t.readUInt32BE(20);if(!e||!i||e>8192||i>8192||e*i>16777216)throw new Error("Sprite PNG exceeds pixel limit")}var Xl=class t extends jt{constructor({cacheDir:e=S2(),fetch:i=globalThis.fetch,source:n,imageSource:r="StaticReference"}={}){let o=ct(r);if(!["StaticReference","Prefab"].includes(o))throw new Error(`Unsupported image source: ${o}`);super({cacheDir:e,fetch:i,source:n||(o==="Prefab"?hc:Mr),version:o==="Prefab"?jn:ma,extension:"png",accepts:a=>si(a,o)}),this.imageSource=o,this.cacheDir=e,this.prefabStore=null,this.metadataStore=null}forSource(e){let i=ct(e);if(i===this.imageSource)return this;if(i==="Prefab"&&this.imageSource==="StaticReference")return this.prefabStore||=new t({cacheDir:this.cacheDir,imageSource:"Prefab",fetch:(...n)=>this.fetcher(...n)});throw Object.assign(new Error(`Unsupported image source: ${i}`),{status:404})}get(e,{imageSource:i=this.imageSource,...n}={}){try{let r=this.forSource(i);return r===this?super.get(e,n):r.get(e,n)}catch(r){return Promise.reject(r)}}refresh(e,{imageSource:i=this.imageSource}={}){try{let n=this.forSource(i);return n===this?super.refresh(e):n.refresh(e)}catch(n){return Promise.reject(n)}}async decode(e){return Ul(e),{image:await hh(e)}}metadata(e,{imageSource:i=this.imageSource,refresh:n=!1}={}){try{let r=this.forSource(i);if(r!==this)return r.metadata(e,{refresh:n});if(!this.accepts(e))throw Object.assign(new Error("Image ID is not in the preview allowlist"),{status:404});return this.imageSource==="Prefab"?Promise.resolve({meta:null,raw:null}):(this.metadataStore||=new fa({cacheDir:this.cacheDir,source:this.source,fetch:(...o)=>this.fetcher(...o)}),n?this.metadataStore.refresh(e):this.metadataStore.get(e))}catch(r){return Promise.reject(r)}}async produce(e,i,n){if(this.imageSource==="Prefab"){let l=await this.download(`sprite/${e}.png`,Yl,i,n);Ul(l);let c=Pr(e);if(l.readUInt32BE(16)!==c||l.readUInt32BE(20)!==c)throw new Error("Prefab PNG does not match catalog dimensions");return l}let[r,o]=await Promise.all([this.download(`sprite/${e}.png`,Yl,i,n),this.metadata(e,{refresh:n})]);Ul(r);let a=await hh(r),s=o.raw?D0(a,o.raw,v2):a;return o.raw?Buffer.from(s.toBuffer("image/png")):r}async prepare(e,i){let n=new Map,r=new Map,o=[],a=[...new Map((e||[]).filter(u=>u.kind==="image"&&u.visible!==!1&&si(u.imageId,u.imageSource)).map(u=>[Dr(u.imageId,u.imageSource),{imageId:u.imageId,imageSource:ct(u.imageSource)}])).entries()];i?.throwIfAborted();let s=AbortSignal.timeout(45e3),l=i?AbortSignal.any([i,s]):s,c=0;await Promise.all(Array.from({length:Math.min(4,a.length)},async()=>{for(;c<a.length&&!l.aborted;){let[u,f]=a[c++];try{let h=await ph(this.get(f.imageId,f),l);n.set(u,h.image);let p=await ph(this.metadata(f.imageId,f),l);r.set(u,p.meta)}catch(h){o.push({...f,error:h.message})}}}));for(let[,u]of a.slice(c))o.push({...u,error:"Image preparation timed out"});return i?.throwIfAborted(),{images:n,imageMetadata:r,warnings:o}}},x2;function Wl(){return x2||=new Xl}async function mh(t,e,i=Wl()){let n=new URL(t.url,"http://localhost");if(n.pathname!==Fr.slice(0,-1)&&!n.pathname.startsWith(Fr))return!1;try{if(!["GET","HEAD"].includes(t.method))throw Object.assign(new Error("GET or HEAD required"),{status:405});let r=n.pathname.match(new RegExp(`^${Fr}(${ma}|${jn})/([0-9]+)\\.(png|json)$`));if(!r)throw Object.assign(new Error("Unknown image resource"),{status:404});let o={imageSource:r[1]===jn?"Prefab":"StaticReference"};if(r[3]==="json"){let{meta:l}=await i.metadata(Number(r[2]),o),c=JSON.stringify(l),u=`"${y2("sha256").update(c).digest("hex")}"`,f={"content-type":"application/json; charset=utf-8","cache-control":"private, max-age=43200",etag:u,"x-content-type-options":"nosniff"};return t.headers["if-none-match"]===u?(e.writeHead(304,f),e.end()):(e.writeHead(200,f),e.end(t.method==="HEAD"?void 0:c)),!0}let a=await i.get(Number(r[2]),o),s={"content-type":"image/png","cache-control":"private, max-age=43200",etag:a.etag,"x-content-type-options":"nosniff"};t.headers["if-none-match"]===a.etag?(e.writeHead(304,s),e.end()):(e.writeHead(200,{...s,"content-length":a.data.length}),e.end(t.method==="HEAD"?void 0:a.data))}catch(r){e.writeHead(r.status||502,{"content-type":"text/plain; charset=utf-8","cache-control":"no-store","x-content-type-options":"nosniff"}),e.end(t.method==="HEAD"?void 0:r.message)}return!0}import{existsSync as E2,mkdirSync as gh,readFileSync as I2,renameSync as _2,rmSync as k2,writeFileSync as Kl}from"node:fs";import{randomUUID as vh}from"node:crypto";import{dirname as bh,join as C2}from"node:path";function yh(t,e){let i=`${t}.${vh()}.tmp`;try{Kl(i,e,{flag:"wx"}),_2(i,t)}finally{k2(i,{force:!0})}}var da=class{constructor(e){this.controller=e,this.plan=null}inspect(){let e=this.controller.studio.archiveData(),i=e.controlGuidChanges||[],n=e.assets.scripts,r=[],o=new Map;i.length||r.push("\u6CA1\u6709\u5F85\u540C\u6B65\u7684\u7D22\u5F15\u53D8\u66F4");try{o=T0(i)}catch(u){r.push(u.message)}let a=this.controller.activeWorkspacePath();a||r.push("\u8BF7\u5148\u7ED1\u5B9A\u5DE5\u4F5C\u533A\uFF0C\u4EE5\u4FDD\u5B58\u540C\u6B65\u524D\u7684\u5907\u4EFD");let s=new Map,l=n.map(u=>{let f={id:u.id,path:u.path,source:u.source,file:"",fileBefore:null,edits:[],issues:[]};if(u.path)try{if(!a)throw new Error("\u5DE5\u4F5C\u533A\u5C1A\u672A\u7ED1\u5B9A\uFF0C\u65E0\u6CD5\u6838\u5BF9\u9879\u76EE\u811A\u672C\u6587\u4EF6");let p=dt(a,u.path);if(E2(p)){f.file=Ci(a,u.path);let g=I2(f.file);if(f.fileBefore=g.toString("utf8"),!g.equals(Buffer.from(f.fileBefore)))throw new Error("\u9879\u76EE\u811A\u672C\u4E0D\u662F\u6709\u6548 UTF-8\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6838\u5BF9\u7F16\u7801");if(u.source.trim()&&f.fileBefore!==u.source)throw new Error("\u5B58\u6863\u6E90\u7801\u4E0E\u9879\u76EE\u6587\u4EF6\u4E0D\u540C\uFF0C\u8BF7\u4EA4\u7ED9 AI \u5408\u5E76\u540E\u540C\u6B65");if(u.source.trim()||(f.source=f.fileBefore),s.has(f.file))throw new Error("\u591A\u4E2A\u811A\u672C\u6307\u5411\u540C\u4E00\u4E2A\u9879\u76EE\u6587\u4EF6\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6838\u5BF9");s.set(f.file,u.id)}}catch(p){f.issues.push({line:0,reason:p.message})}!f.source.trim()&&u.path&&!f.file&&f.issues.push({line:0,reason:"\u627E\u4E0D\u5230\u6B64\u811A\u672C\u7684\u6E90\u7801\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6838\u5BF9\u6587\u4EF6\u8DEF\u5F84"});let h=R0(f.source,o);return f.source=h.source,f.edits=h.edits,f.issues.push(...h.issues),f}),c=Nt(JSON.stringify({archive:e,files:l.map(u=>[u.file,u.fileBefore])}));return{archive:e,rows:l,issues:r,fingerprint:c}}preview(){let e=this.inspect();return e.id=vh(),this.plan=e,{id:e.id,canApply:!e.issues.length&&e.rows.every(i=>!i.issues.length),issues:e.issues,changes:e.archive.controlGuidChanges.length,replacements:e.rows.reduce((i,n)=>i+n.edits.length,0),rows:e.rows.map(({id:i,path:n,file:r,edits:o,issues:a})=>({id:i,path:n,file:r,edits:o,issues:a}))}}apply({planId:e,expectedRevision:i}){let n=this.plan;if(!n||n.id!==e)throw new Error("\u8BF7\u5148\u9884\u89C8 Lua \u7D22\u5F15\u540C\u6B65");if(i!==this.controller.get().version)throw new Error("revision conflict: \u8BF7\u91CD\u65B0\u9884\u89C8");if(this.inspect().fingerprint!==n.fingerprint)throw new Error("\u6E90\u7801\u3001\u6587\u4EF6\u6216\u7D22\u5F15\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8");if(n.issues.length||n.rows.some(f=>f.issues.length))throw new Error("\u6E90\u7801\u6587\u4EF6\u6216\u7D22\u5F15\u6620\u5C04\u5B58\u5728\u51B2\u7A81\uFF0C\u8BF7\u4EA4\u7ED9 AI \u6838\u5BF9\uFF1B\u672C\u6B21\u6CA1\u6709\u4FEE\u6539\u811A\u672C");let o=_r(n.archive);for(let f of n.rows.filter(h=>h.edits.length))o.patch({op:"updateScript",id:f.id,source:f.source});o.patch({op:"acknowledgeControlGuidChanges",changeIds:n.archive.controlGuidChanges.map(f=>f.id)});let a=Buffer.from(JSON.stringify(o.archiveData())).toString("base64"),s=n.rows.filter(f=>f.edits.length&&f.file),l=this.controller.activeWorkspacePath(),c=s.length?dt(l,`.qxqy-guid-sync-backups/${n.id}`):"",u=[];try{for(let h of s){let p=C2(c,`${h.id}.lua`);gh(bh(p),{recursive:!0}),Kl(p,h.fileBefore,{flag:"wx"})}let f=dt(l,`.qxqy-guid-sync-backups/${n.id}/before.save.json`);gh(bh(f),{recursive:!0}),Kl(f,JSON.stringify(n.archive),{flag:"wx"});for(let h of s)yh(h.file,h.source),u.push(h);this.controller.studio.importData("json",a)}catch(f){let h=[];for(let p of u.reverse())try{yh(p.file,p.fileBefore)}catch{h.push(p.file)}throw this.plan=null,new Error(`${f.message}${h.length?`\uFF1B\u56DE\u6EDA\u5931\u8D25\uFF0C\u8BF7\u4ECE ${c} \u6062\u590D\uFF1A${h.join("\u3001")}`:"\uFF1B\u5B58\u6863\u672A\u63D0\u4EA4\uFF0C\u5DF2\u5199\u5165\u7684\u9879\u76EE\u6587\u4EF6\u5DF2\u56DE\u6EDA"}`)}return this.plan=null,{...this.controller.get(),controlGuidSyncResult:{replacements:n.rows.reduce((f,h)=>f+h.edits.length,0),scripts:n.rows.filter(f=>f.edits.length).length,projectFiles:s.length,backupRoot:`.qxqy-guid-sync-backups/${n.id}`}}}};var O2=Math.max(1e3,Number(process.env.QXQY_PLAY_TIMEOUT_MS)||8e3),N2=8e3;function Eh(){let t=new Error("operation aborted");return t.name="AbortError",t}function Zl(t){if(t!=="manual"&&t!=="realtime")throw new Error("clockMode must be manual or realtime");return t}var ha=class{constructor(e="",{imageAssets:i=Wl(),clockMode:n="realtime"}={}){Jt(),this.workspacePath=e?Ll(e):"",this.studio=_r(void 0,this.workspacePath?{workspacePath:this.workspacePath}:void 0),this.worker=null,this.pending=new Map,this.sequence=1,this.lock=Promise.resolve(),this.archivePath="",this.archiveStamp="",this.savedArchive="",this.scriptSync=new ua(this),this.controlGuidSync=new da(this),this.imageAssets=i,this.defaultClockMode=Zl(n),this.playClockMode=this.defaultClockMode}async exclusive(e){let i=this.lock,n;this.lock=new Promise(r=>{n=r}),await i;try{return await e()}finally{n()}}get(){return{...this.studio.get(),storage:{path:this.archivePath}}}exportData(e,i,n={}){return this.studio.exportData(e,i,n)}exportAction(e,i={}){if(e==="list")return this.studio.exportChoices();if(e==="preview")return this.studio.exportPreview(i);if(e!=="export")throw new Error(`unknown export action: ${e}`);let n=this.exportData(i.format||"gia-partial",i.assetType||"",i);if(!i.path)return n;if(!this.activeWorkspacePath())throw new Error("workspace is not bound");if(n.files)throw new Error("path requires a single-file export format");let r=dt(this.activeWorkspacePath(),i.path);wh(xh(r),{recursive:!0});let o=Buffer.from(n.data,"base64");Sh(r,o,{flag:"wx"});let{data:a,...s}=n;return{...s,path:String(i.path).replaceAll("\\","/"),bytes:o.length}}scriptSyncAction(e,i={}){if(e==="discover")return dh();if(e==="status")return{config:this.get().scriptSync,lastResult:this.scriptSync.lastResult};if(e==="configure"){if(!Number.isInteger(i.expectedRevision))throw new Error("expectedRevision is required");return this.patch({op:"setScriptSync",config:i.config,expectedRevision:i.expectedRevision})}if(e==="save"){if(!Number.isInteger(i.expectedRevision))throw new Error("expectedRevision is required");let n=i.path??this.archivePath;if(typeof n!="string"||!n.trim())throw new Error("script sync save requires a workspace-relative path for a new archive");return this.saveForScriptSync(n,i.expectedRevision)}if(e==="preview")return this.scriptSync.preview();if(e==="apply")return this.scriptSync.apply(i);throw new Error(`unknown script sync action: ${e}`)}assertSavedArchive(){if(!this.archivePath||this.savedArchive!==JSON.stringify(this.studio.archiveData()))throw new Error("\u8BF7\u5148\u4FDD\u5B58\u5F53\u524D\u5B8C\u6574\u5B58\u6863\uFF0C\u518D\u786E\u8BA4\u590D\u5236");let e=Ci(this.activeWorkspacePath(),this.archivePath);if(Nt(Jl(e))!==this.archiveStamp)throw new Error("\u5B58\u6863\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u52A0\u8F7D\u5E76\u68C0\u67E5")}saveForScriptSync(e,i){if(i!==this.get().version)throw new Error("revision conflict: reload before saving");let n=dt(this.activeWorkspacePath(),e);if(T2(n)){let r=this.archivePath?dt(this.activeWorkspacePath(),this.archivePath):"";if(n!==r||Nt(Jl(n))!==this.archiveStamp)throw new Error("File changed or already exists; load it again or save under a new path")}return this.saveArchive(e)}patch(e){return e?.op==="previewControlGuidSync"?{...this.get(),controlGuidSyncPreview:this.controlGuidSync.preview()}:e?.op==="syncControlGuidReferences"?this.controlGuidSync.apply(e):{...this.studio.patch(e),storage:{path:this.archivePath}}}listArchives(){return oa(this.workspacePath)}loadArchive(e){let i=this.activeWorkspacePath();if(!i)throw new Error("workspace is not bound");let n=Ci(i,e),r=Jl(n),o=this.studio.importData("json",r.toString("base64"),R2(n));return this.archivePath=String(e).trim().replaceAll("\\","/"),this.archiveStamp=Nt(r),this.savedArchive=JSON.stringify(this.studio.archiveData()),o}saveArchive(e=this.archivePath||"qxqy-simulator.save.json"){let i=String(e).trim(),n=this.activeWorkspacePath();if(!n)throw new Error("workspace is not bound");let r=dt(n,i);wh(xh(r),{recursive:!0});let o=Buffer.from(JSON.stringify(this.studio.archiveData(),null,2)+`
|
|
127
|
+
`,"utf8");return Sh(r,o),this.archivePath=i.replaceAll("\\","/"),this.archiveStamp=Nt(o),this.savedArchive=JSON.stringify(this.studio.archiveData()),{path:this.archivePath,bytes:o.length,revision:this.studio.get().version,name:this.studio.get().save?.name||""}}activeWorkspacePath(){let e=this.studio.get().workspace;return e?.bound&&e.path?String(e.path):this.workspacePath}createWorker(){let e=new A2(new URL("./worker.js",import.meta.url),{type:"module",workerData:{localFont:Jt()?.data??null}});return e.on("message",i=>{let n=this.pending.get(i?.id);n&&(this.pending.delete(i.id),i.ok?n.resolve(i.value):n.reject(new Error(i.error||"play worker failed")))}),e.on("error",i=>{this.worker===e&&(this.worker=null),this.rejectPending(i)}),e.on("exit",i=>{this.worker===e&&(this.worker=null),i!==0&&this.rejectPending(new Error(`play worker exited with code ${i}`))}),this.worker=e,e}rejectPending(e){for(let i of this.pending.values())i.reject(e);this.pending.clear()}async terminateWorker(e=new Error("play worker terminated")){let i=this.worker;this.worker=null,this.rejectPending(e),i&&await i.terminate().catch(()=>{})}request(e,i,n,r=O2){let o=this.worker||this.createWorker(),a=this.sequence++;return new Promise((s,l)=>{let c=!1,u=(p,g)=>{c||(c=!0,clearTimeout(h),n?.removeEventListener("abort",f),p(g))},f=()=>{this.pending.delete(a),u(l,Eh()),this.terminateWorker(Eh())},h=setTimeout(()=>{this.pending.delete(a);let p=new Error(`play worker timed out after ${r}ms`);u(l,p),this.terminateWorker(p)},r);if(this.pending.set(a,{resolve:p=>u(s,p),reject:p=>u(l,p)}),n?.aborted)return f();n?.addEventListener("abort",f,{once:!0}),o.postMessage({id:a,action:e,args:i})})}async play(e,i={},n){if((e==="start"||e==="device")&&!i.language){let r=ah();r&&(i={...i,language:r})}if(e==="start"){let r=Zl(i.clockMode??this.defaultClockMode);return await this.terminateWorker(),this.playClockMode=r,this.request("start",{archive:this.studio.archiveData(),workspacePath:this.activeWorkspacePath(),...i,clockMode:r},n)}if(e==="device"){let r=String(i.canvasId||"").trim();if(!_e[r])throw new Error(`unknown canvas preset: ${r||"(empty)"} (available: ${Object.keys(_e).join(", ")})`);let o=Zl(i.clockMode??this.playClockMode);return await this.terminateWorker(),this.playClockMode=o,this.request("start",{archive:this.studio.archiveData(),workspacePath:this.activeWorkspacePath(),...i,canvasId:r,clockMode:o},n)}if(e==="stop"){if(!this.worker)return{running:!1,tree:[],logs:[]};try{return await this.request("stop",i,n)}finally{await this.terminateWorker()}}if(!this.worker)throw new Error("play session has not started");return this.request(e,i,n)}async playScreenshot(e){if(!this.worker)throw new Error("play session has not started");let i=await this.request("get",{view:!0},e,N2),n=await this.imageAssets.prepare(i.scene?.nodes,e),r=J0(i.scene,i.canvasWidth,i.canvasHeight,n);return{data:r.data,canvasId:String(i.canvasId||""),frame:Number.isFinite(Number(i.frame))?Number(i.frame):0,time:Number.isFinite(Number(i.time))?Number(i.time):0,clockMode:i.clockMode,width:r.width,height:r.height,pixelWidth:r.pixelWidth,pixelHeight:r.pixelHeight,assetWarnings:[...n.warnings,...(i.effects||[]).map(o=>({animationId:o.animationId,error:"UI effect video frames are available in browser playback only; omitted from this PNG"}))]}}async uiScreenshot(e){let i=this.studio.get(),n=await this.imageAssets.prepare(i.boxes,e),r=Q0(i,n);return{data:r.data,page:r.page,width:r.width,height:r.height,pixelWidth:r.pixelWidth,pixelHeight:r.pixelHeight,assetWarnings:[...n.warnings,...i.boxes.filter(o=>["animation","fullscreen"].includes(o.kind)&&o.visibleInHierarchy!==!1&&o.animationId).map(o=>({animationId:o.animationId,error:"UI effect video frames are available in browser playback only; omitted from this PNG"}))]}}async dispose(){await this.terminateWorker()}};function Ih(t,e={}){return t!=="start"&&t!=="device"||e.muteAudio!=null?e:{...e,muteAudio:!0}}import{defineTool as Ai}from"@deepseek-ai/dsh-tools";import{existsSync as Ch,realpathSync as _h}from"node:fs";import{isAbsolute as Ql,relative as kh,resolve as pa}from"node:path";function Ah(t,e){if(!t)throw new Error("\u5DE5\u4F5C\u533A\u672A\u7ED1\u5B9A\uFF0C\u65E0\u6CD5\u4ECE\u78C1\u76D8\u62C9\u53D6\u5B58\u6863");let i=String(e||"").trim();if(!i)throw new Error("path is required");let n=_h(pa(t)),r=Ql(i)?pa(i):pa(n,i),o=kh(n,r);if(!o||o.startsWith("..")||Ql(o))throw new Error("\u5B58\u6863\u8DEF\u5F84\u5FC5\u987B\u4F4D\u4E8E\u5F53\u524D\u5DE5\u4F5C\u533A\u5185");if(!Ch(r))throw new Error(`\u5B58\u6863\u4E0D\u5B58\u5728: ${i}`);let a=_h(r),s=kh(n,a);if(!s||s.startsWith("..")||Ql(s))throw new Error("\u5B58\u6863\u8DEF\u5F84\u5FC5\u987B\u4F4D\u4E8E\u5F53\u524D\u5DE5\u4F5C\u533A\u5185");return a}function Th(t){if(!t)return{bound:!1,archives:[]};let e=pa(t);return Ch(e)?oa(e):{bound:!1,archives:[]}}var Rh=32*1024*1024;function P2(t){if(t.length<8||t.length>Rh)throw new Error("Invalid MP3 size");let e=0,i=0;if(t.subarray(0,3).toString()==="ID3"){if(t.length<10||t[3]<2||t[3]>4||t.subarray(6,10).some(n=>n>127))throw new Error("Invalid MP3 ID3 header");e=10+(t[6]<<21|t[7]<<14|t[8]<<7|t[9])+(t[5]&16&&t[3]===4?10:0)}for(;e+4<=t.length;){if(t.length-e===128&&t.subarray(e,e+3).toString()==="TAG"){e=t.length;break}let n=t[e+1],r=t[e+2],o=n>>3&3,a=r>>2&3,s=r>>4;if(t[e]!==255||(n&224)!==224||(n&6)!==2||o===1||a===3||s===0||s===15)throw new Error("Invalid MP3 frame");let l=(o===3?[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320]:[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160])[s],c=[44100,48e3,32e3][a]/(o===3?1:o===2?2:4),u=Math.floor((o===3?144e3:72e3)*l/c)+(r>>1&1);e+=u,i++}if(i<2||e!==t.length)throw new Error("Truncated or invalid MP3")}var ec=class extends jt{constructor({cacheDir:e=process.env.QXQY_AUDIO_CACHE_DIR||Ln("audio"),fetch:i=globalThis.fetch,source:n=s0}={}){super({cacheDir:e,fetch:i,source:n,version:ll,extension:"mp3",accepts:r=>jo(r)!==null,timeout:2e4})}decode(e){return P2(e),{}}produce(e,i,n){return this.download(`audio/${e}.mp3`,Rh,i,n)}},M2;function F2(){return M2||=new ec}async function Oh(t,e,i=F2()){let n=new URL(t.url,"http://localhost");if(n.pathname!==qo.slice(0,-1)&&!n.pathname.startsWith(qo))return!1;try{if(!["GET","HEAD"].includes(t.method))throw Object.assign(new Error("GET or HEAD required"),{status:405});let r=n.pathname.match(new RegExp(`^${qo}${ll}/([0-9]+)\\.mp3$`));if(!r)throw Object.assign(new Error("Unknown audio resource"),{status:404});let o=await i.get(Number(r[1])),a=o.data.length,s={"content-type":"audio/mpeg","cache-control":"private, max-age=43200",etag:o.etag,"accept-ranges":"bytes","x-content-type-options":"nosniff"};if(t.headers["if-none-match"]===o.etag)return e.writeHead(304,s),e.end(),!0;let l=t.headers.range,c=0,u=a-1,f=200;if(l&&(!t.headers["if-range"]||t.headers["if-range"]===o.etag)){let h=l.match(/^bytes=(\d*)-(\d*)$/);if(!h||!h[1]&&!h[2])throw Object.assign(new Error("Invalid byte range"),{status:416,size:a});if(h[1]?(c=Number(h[1]),u=h[2]?Math.min(a-1,Number(h[2])):u):c=Math.max(0,a-Number(h[2])),!Number.isSafeInteger(c)||!Number.isSafeInteger(u)||c>=a||u<c)throw Object.assign(new Error("Unsatisfiable byte range"),{status:416,size:a});f=206,s["content-range"]=`bytes ${c}-${u}/${a}`}e.writeHead(f,{...s,"content-length":u-c+1}),e.end(t.method==="HEAD"?void 0:o.data.subarray(c,u+1))}catch(r){e.writeHead(r.status||502,{"content-type":"text/plain; charset=utf-8","cache-control":"no-store",...r.status===416?{"content-range":`bytes */${r.size}`}:{}}),e.end(t.method==="HEAD"?void 0:r.message)}return!0}import{createHash as D2}from"node:crypto";import{basename as $2}from"node:path";var z2={webm:"video/webm",png:"image/png",mp3:"audio/mpeg"},tc=class extends jt{constructor(e,i,n){let r={video:"webm",icon:"png",audio:"mp3"}[e];super({...i,version:`${cl}/${e}`,extension:r,accepts:o=>/^[0-9]+(?:_[0-9]+)?$/.test(String(o))&&!!n(`${e}/${o}.${r}`)}),this.kind=e,this.media=n}async cached(e){let i=await super.cached(e);if(!i)return null;try{return this.validate($2(e,`.${this.extension}`),i.data),i}catch{return null}}validate(e,i){let n=this.media(`${this.kind}/${e}.${this.extension}`);if(i.length!==n.bytes||D2("sha256").update(i).digest("hex")!==n.sha256)throw new Error("UI effect media failed integrity check")}decode(){return{}}async produce(e,i,n){let r=await this.download(`${this.kind}/${e}.${this.extension}`,8388608,i,n);return this.validate(e,r),r}},ic=class{constructor({cacheDir:e=process.env.QXQY_UI_VFX_CACHE_DIR||Ln("ui-vfx"),source:i=process.env.QXQY_UI_VFX_SOURCE||l0,fetch:n=globalThis.fetch,timeout:r=12e3,media:o=Uo}={}){this.stores=Object.fromEntries(["video","icon","audio"].map(a=>[a,new tc(a,{cacheDir:e,source:i,fetch:n,timeout:r},o)]))}get(e,{retry:i=!1}={}){let n=/^(video|icon|audio)\/([0-9]+(?:_[0-9]+)?)\.(webm|png|mp3)$/.exec(e);if(!n||!Uo(e))return Promise.reject(Object.assign(new Error("Unknown UI effect resource"),{status:404}));let r=this.stores[n[1]];return i&&r.failures.delete(n[2]),r.get(n[2])}},L2;function G2(){return L2||=new ic}async function Nh(t,e,i=G2()){let n=new URL(t.url,"http://localhost");if(n.pathname!==Ho.slice(0,-1)&&!n.pathname.startsWith(Ho))return!1;try{if(!["GET","HEAD"].includes(t.method))throw Object.assign(new Error("GET or HEAD required"),{status:405});let r=`${Ho}${cl}/`,o=n.pathname.startsWith(r)?n.pathname.slice(r.length):"";if(!Uo(o))throw Object.assign(new Error("Unknown UI effect resource"),{status:404});let a=await i.get(o,{retry:n.searchParams.get("retry")==="1"}),s=a.data.length;if(e.destroyed)return!0;let l={"content-type":z2[o.split(".").at(-1)],"cache-control":"private, max-age=43200",etag:a.etag,"accept-ranges":"bytes","x-content-type-options":"nosniff"};if(t.headers["if-none-match"]===a.etag)return e.writeHead(304,l),e.end(),!0;let c=0,u=s-1,f=200;if(t.headers.range&&(!t.headers["if-range"]||t.headers["if-range"]===a.etag)){let h=/^bytes=(\d*)-(\d*)$/.exec(t.headers.range);if(!h||!h[1]&&!h[2])throw Object.assign(new Error("Invalid byte range"),{status:416,size:s});if(h[1]?(c=Number(h[1]),u=h[2]?Math.min(s-1,Number(h[2])):u):c=Math.max(0,s-Number(h[2])),!Number.isSafeInteger(c)||!Number.isSafeInteger(u)||c>=s||u<c)throw Object.assign(new Error("Unsatisfiable byte range"),{status:416,size:s});l["content-range"]=`bytes ${c}-${u}/${s}`,f=206}e.writeHead(f,{...l,"content-length":u-c+1}),e.end(t.method==="HEAD"?void 0:a.data.subarray(c,u+1))}catch(r){!e.destroyed&&!e.headersSent&&(e.writeHead([404,405,416].includes(r.status)?r.status:502,{"content-type":"text/plain; charset=utf-8","cache-control":"no-store",...r.status===416?{"content-range":`bytes */${r.size}`}:{}}),e.end(t.method==="HEAD"?void 0:"UI effect resource unavailable"))}return!0}var B2="https://github.com/1475505/miliastra-beyond-simulator",V2="https://api.github.com/repos/1475505/miliastra-beyond-simulator/releases?per_page=100",q2=t=>/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/.test(t),Mh=(t,e)=>{let i=t.split(/[.-]/).slice(0,3).map(Number),n=e.split(/[.-]/).slice(0,3).map(Number);for(let r=0;r<3;r++)if(i[r]!==n[r])return Math.sign(i[r]-n[r]);return e.includes("-")&&!t.includes("-")?1:t.includes("-")&&!e.includes("-")?-1:0};function Ph(t,e){try{let i=new URL(t);return i.protocol==="https:"&&i.origin==="https://github.com"&&i.pathname.startsWith(`/1475505/miliastra-beyond-simulator/releases/${e}/`)?i.href:null}catch{return null}}function j2(t,e){if(!Array.isArray(t))throw new Error("Invalid release response");let i=[];for(let n of t)if(!(n.draft||n.prerelease||!Array.isArray(n.assets)))for(let r of n.assets){if(typeof r.name!="string"||!r.name.startsWith(e+"-")||!r.name.endsWith(".tgz"))continue;let o=r.name.slice(e.length+1,-4),a=Ph(n.html_url,"tag"),s=Ph(r.browser_download_url,"download");!q2(o)||!a||!s||i.push({version:o,url:a,downloadUrl:s,publishedAt:n.published_at||null})}return i.sort((n,r)=>Mh(r.version,n.version))[0]||null}function Fh({packageName:t,currentVersion:e,fetch:i=globalThis.fetch,now:n=Date.now}){let r=null,o=null;return async function(){return r&&n()-r.checkedAt<5*6e4?r:o||(o=(async()=>{let s=await i(V2,{headers:{accept:"application/vnd.github+json","user-agent":"beyond-simulator-update-check","x-github-api-version":"2022-11-28"},signal:AbortSignal.timeout(8e3)});if(!s.ok)throw new Error(`Update check failed (HTTP ${s.status})`);let l=j2(await s.json(),t),c=l?Mh(l.version,e):0;return r={packageName:t,currentVersion:e,latestVersion:l?.version||null,status:l?c>0?"available":c<0?"ahead":"current":"unavailable",url:l?.url||`${B2}/releases`,downloadUrl:l?.downloadUrl||null,checkedAt:n(),publishedAt:l?.publishedAt||null},r})().finally(()=>{o=null}),o)}}import{execFile as H2}from"node:child_process";import{win32 as U2}from"node:path";import{promisify as Y2}from"node:util";var X2=Y2(H2),Dh=t=>["localhost","127.0.0.1","::1","[::1]","::ffff:127.0.0.1"].includes(t);function nc(t){if(typeof t!="string")return"";let e=t.trim().replace(/^\uFEFF/,"").split(/[.@]/)[0].replaceAll("_","-");if(!e||/^(?:C|POSIX)$/i.test(e)||e.length>80)return"";try{return Intl.getCanonicalLocales(e)[0]||""}catch{return""}}function $h(t){try{return Dh(t.socket?.remoteAddress)&&Dh(new URL("http://"+t.headers.host).hostname)&&!t.headers.forwarded&&!t.headers["x-forwarded-for"]&&!t.headers["x-forwarded-host"]&&!t.headers.via&&t.headers["sec-fetch-site"]!=="cross-site"&&(!t.headers.origin||new URL(t.headers.origin).host===t.headers.host)}catch{return!1}}function W2({platform:t=process.platform,env:e=process.env,execFile:i=X2}={}){let n;return()=>n||=(async()=>{try{let r="",o="browser",a={windowsHide:!0,timeout:2500,maxBuffer:4096,encoding:"utf8"};if(t==="win32"){let s=U2.join(e.SystemRoot||"C:\\Windows","System32","WindowsPowerShell","v1.0","powershell.exe"),{stdout:l}=await i(s,["-NoLogo","-NoProfile","-NonInteractive","-Command","[Console]::OutputEncoding=[System.Text.Encoding]::UTF8;(Get-UICulture).Name"],a);r=nc(l),o="windows-ui"}else if(t==="darwin"){let{stdout:s}=await i("/usr/bin/defaults",["read","-g","AppleLanguages"],a);r=(s.match(/\b[a-z]{2,3}(?:[-_][a-zA-Z0-9]{2,8})*\b/g)||[]).map(nc).find(Boolean)||"",o="macos-ui"}else r=[e.LANGUAGE?.split(":")[0],e.LC_ALL,e.LC_MESSAGES,e.LANG].map(nc).find(Boolean)||"",o="host-locale";return{language:r,source:r?o:"browser"}}catch{return{language:"",source:"browser"}}})()}var zh=W2();var rc={name:"dsh-plugin-beyond-simulator",version:"2.2.2",description:"\u5343\u661F\u5947\u57DF\u5BA2\u6237\u7AEF UI \u7F16\u8F91\u4E0E\u8BD5\u73A9\u6A21\u62DF\u5668 for DeepSeek Harness",private:!0,type:"module",packageManager:"pnpm@10.15.0",engines:{node:">=22"},main:"dsh-plugin/dist/index.js",exports:{".":"./dsh-plugin/dist/index.js","./skill":"./dsh-plugin/dist/skill.js","./preset":"./dsh-plugin/dist/preset.js","./client":"./dsh-plugin/dist/client.js","./cordis.patch.yml":"./dsh-plugin/cordis.patch.yml","./package.json":"./package.json"},files:["dsh-plugin/dist","dsh-plugin/lib/play.html","dsh-plugin/skill.md","dsh-plugin/presets","dsh-plugin/cordis.patch.yml","README.md","LICENSE"],repository:{type:"git",url:"git+https://github.com/1475505/miliastra-beyond-simulator.git"},dsh:{bundle:{patch:"./dsh-plugin/cordis.patch.yml"},client:{inject:["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-ui-conversation"],platform:"web"}},scripts:{prepare:"node scripts/build.mjs dsh-plugin",build:"node scripts/build.mjs",test:"node scripts/test.mjs","pack:release":"node scripts/pack.mjs","test:packages":"node scripts/smoke-packages.mjs","test:git-install":"node scripts/smoke-git-install.mjs","test:harness":"node scripts/smoke-harness.mjs","dev:web":"node scripts/build.mjs web && node web/server.js","start:web":"node web/dist/server.js"},dependencies:{"@napi-rs/canvas":"0.1.100",fengari:"0.1.5",protobufjs:"8.7.2"},peerDependencies:{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-tools":"^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-rc.1"},devDependencies:{"@deepseek-ai/dsh-tools":"0.1.0-rc.6",esbuild:"0.25.12"},license:"GPL-3.0-only"};var s4="qxqy-simulator",l4=["tools","webServer"],Lh="/qxqy-simulator/api",Gh="/qxqy-simulator/play",Q2="/qxqy-simulator/play-renderer.js",ey=8*1024*1024,ty=32,Bh=6e4,sc=class extends ha{constructor(e=""){super(e),this.touchedAt=Date.now()}touch(){this.touchedAt=Date.now()}get(){return this.touch(),super.get()}patch(e){return this.touch(),super.patch(Gn(e))}exportData(e,i,n={}){return this.touch(),super.exportData(e,i,n)}importData(e,i,n){this.touch();let r=this.studio.importData(e,i,n);return this.archivePath="",this.archiveStamp="",this.savedArchive="",{...r,snapshot:this.get()}}listArchives(){return this.touch(),Th(this.studio.get().workspace?.path||"")}loadArchive(e){this.touch();let i=this.studio.get().workspace?.path||"",n=Ah(i,e);return{...super.loadArchive(Z2(J2(i),n)),snapshot:this.get()}}async play(e,i={},n){return this.touch(),super.play(e,Gn(i)||{},n)}async requestScreenshot(e){return{...await super.playScreenshot(e),capturedAt:new Date().toISOString()}}async requestUiScreenshot(e){return this.touch(),{...await super.uiScreenshot(e),capturedAt:new Date().toISOString()}}async dispose(){await this.terminateWorker()}};function jh(t){let e=String(t||"").trim();if(!e||e.length>256)throw new Error("sessionId is required");return e}function Gn(t){if(t!=null){if(typeof t!="string")return t;try{let e=JSON.parse(t);return e&&typeof e=="object"?e:void 0}catch{return}}}function Ti(t){return jh(t?.agent?.id)}function lc(t){let e=t?.cwd;return typeof e=="string"&&e?e:""}function Ri(t){return lc(t?.agent?.session?.header)}async function iy(t,e={}){let i=e.sessions?.get?.(t),n=lc(i?.header);if(n)return n;let r=e.sessionPersistence?.inspect;if(typeof r!="function")return"";try{let o=await r.call(e.sessionPersistence,t);return lc(o?.meta)}catch{return""}}function ny(){let t=new Map,e=!1;function i(){if(t.size<ty)return;let n=[...t.entries()].sort((r,o)=>r[1].touchedAt-o[1].touchedAt)[0];n&&(t.delete(n[0]),n[1].dispose())}return{get(n,r=""){if(e)throw new Error("simulator plugin has been disposed");let o=jh(n),a=t.get(o);return a?r&&a.studio.setWorkspace(r):(i(),a=new sc(r),t.set(o,a)),a.touch(),a},async dispose(){e=!0;let n=[...t.values()];t.clear(),await Promise.all(n.map(r=>r.dispose()))}}}function Rr(t,e,i){let n=JSON.stringify(i);t.statusCode=e,t.setHeader("content-type","application/json; charset=utf-8"),t.setHeader("cache-control","no-store"),t.end(n)}function ry(){if(!oc){let e=[new URL("./play.html",import.meta.url),new URL("../lib/play.html",import.meta.url)].find(i=>Vh(i));if(!e)throw new Error("standalone play page is missing");oc=qh(e,"utf8")}return oc}var oc=null;function oy(){if(!ac){let e=[new URL("../dist/play-renderer.js",import.meta.url),new URL("./play-renderer.js",import.meta.url)].find(i=>Vh(i));if(!e)throw new Error("standalone play renderer bundle is missing; run npm run build");ac=qh(e,"utf8")}return ac}var ac=null;function rn(t,e){return t.effect(()=>t.webServer.register(e),`qxqy-simulator: ${e.kind} ${e.path}`)}function ay(t){rn(t,{kind:"prefix",path:Gh,handler(e,i){let n=new URL(e.url,"http://localhost").pathname.replace(/\/$/,"");if(e.method!=="GET"||n!==Gh){i.statusCode=e.method==="GET"?404:405,i.setHeader("content-type","text/plain; charset=utf-8"),i.end(e.method==="GET"?"not found":"GET required");return}i.statusCode=200,i.setHeader("content-type","text/html; charset=utf-8"),i.setHeader("cache-control","no-store"),i.setHeader("x-content-type-options","nosniff"),i.end(ry())}})}function sy(t){rn(t,{kind:"exact",path:Q2,handler(e,i){if(e.method!=="GET"){i.statusCode=405,i.setHeader("content-type","text/plain; charset=utf-8"),i.end("GET required");return}try{i.statusCode=200,i.setHeader("content-type","text/javascript; charset=utf-8"),i.setHeader("cache-control","no-store"),i.setHeader("x-content-type-options","nosniff"),i.end(oy())}catch(n){i.statusCode=500,i.setHeader("content-type","text/plain; charset=utf-8"),i.end(n?.message||String(n))}}})}function ly(t){return new Promise((e,i)=>{let n=0,r=[];t.on("data",o=>{if(n+=o.length,n>ey){i(new Error("request body is too large")),t.destroy();return}r.push(o)}),t.on("end",()=>{try{let o=Buffer.concat(r).toString("utf8");e(o?JSON.parse(o):{})}catch{i(new Error("invalid JSON body"))}}),t.on("error",i)})}function cy(t,e){t.tools.register(Ai({name:"qxqy_script_sync",description:"\u5B9E\u673A Lua \u811A\u672C\u76EE\u5F55\u540C\u6B65\uFF1Adiscover/status/configure/save/preview/apply\u3002configure \u9700\u8981 config(version:1, workspaceDir, clientImportRoot, clientSubdir) \u4E0E expectedRevision\uFF1Bsave \u9700\u8981 expectedRevision\uFF0C\u9996\u6B21\u4FDD\u5B58\u53E6\u4F20\u5DE5\u4F5C\u533A\u76F8\u5BF9 path\u3002\u7528\u6237\u6388\u6743\u66F4\u65B0\u540E\uFF0C\u5148 save\uFF0C\u518D preview \u6838\u5BF9\u6765\u6E90\u4E0E\u76EE\u6807\uFF0C\u6700\u540E apply \u4F20 planId\u3001\u9009\u5B9A scriptIds \u548C confirmed:true\u3002\u8BA1\u5212\u4EC5\u5728\u5F53\u524D\u4F1A\u8BDD\u6709\u6548\uFF0C\u8FC7\u671F\u9700\u91CD\u65B0\u9884\u89C8\uFF1B\u8FD4\u56DE\u9010\u6587\u4EF6\u7ED3\u679C\u4E0E\u5907\u4EFD\u4F4D\u7F6E\uFF0C\u4E0D\u4EE3\u8868\u771F\u673A\u8BD5\u73A9\u901A\u8FC7\u3002",parameters:{action:{type:"string",enum:["discover","status","configure","save","preview","apply"],required:!0},args:{type:"json"}},output:{schema:{type:"json"},render:(i,n)=>[{type:"text",text:JSON.stringify(n,null,2)}]},timeoutMs:1e4,isConcurrencySafe:()=>!1,async execute(i,n){return e.get(Ti(n),Ri(n)).scriptSyncAction(i.action,Gn(i.args)||{})}})),t.tools.register(Ai({name:"qxqy_studio_get",description:"\u8BFB\u53D6\u5F53\u524D DeepSeek Harness \u4F1A\u8BDD\u7684\u5343\u661F UI \u7F16\u8F91\u5668\u65E0\u635F JSON \u5FEB\u7167\u3002",parameters:{},output:{schema:{type:"json"},render:(i,n)=>[{type:"text",text:JSON.stringify(n,null,2)}]},timeoutMs:5e3,isConcurrencySafe:()=>!0,async execute(i,n){return e.get(Ti(n),Ri(n)).get()}})),t.tools.register(Ai({name:"qxqy_studio_play_screenshot",description:"\u83B7\u53D6\u5F53\u524D\u8BD5\u73A9 Runtime \u753B\u9762\u7684 PNG\u3002Host \u4E0E\u72EC\u7ACB\u8BD5\u73A9\u9875\u5171\u7528 Runtime scene \u6811\uFF08\u540C\u7EA7\u5148\u51FA\u73B0\u7684\u5B50\u8282\u70B9\u5728\u4E0A\uFF09\u518D\u753B\u6210 PNG\uFF0C\u4E0D\u9700\u8981\u6253\u5F00\u8BD5\u73A9\u9875\u6216\u5207\u6362\u6807\u7B7E\u3002\u4EC5\u5728\u9700\u8981\u89C2\u5BDF\u8FD0\u884C\u65F6\u753B\u9762\u3001\u52A8\u753B\u6216\u4EA4\u4E92\u7ED3\u679C\u65F6\u8C03\u7528\uFF1B\u82E5\u8981\u770B\u7F16\u8F91\u5668\u821E\u53F0\uFF0C\u8BF7\u6539\u7528 qxqy_studio_ui_screenshot\u3002\u4E0D\u4F1A\u6B65\u8FDB\u65F6\u95F4\uFF0C\u4E5F\u4E0D\u66FF\u4EE3 get {inspect:true} \u7684\u7ED3\u6784\u5316\u65AD\u8A00\u3002",parameters:{},output:{schema:{type:"json"},render:(i,n)=>{let o=[{type:"text",text:`\u8BD5\u73A9\u622A\u56FE\uFF1A${n.canvasId||"unknown"}\uFF0CFrame ${n.frame??0}\uFF0C${n.width||0}\xD7${n.height||0}`+(n.assetWarnings?.length?`
|
|
128
|
+
\u7D20\u6750\u52A0\u8F7D\u5931\u8D25\uFF08\u753B\u9762\u4E2D\u4E3A\u5360\u4F4D\u6846\uFF09\uFF1A${JSON.stringify(n.assetWarnings)}`:"")}];return n.image&&o.push({type:"image",attachment:n.image}),o}},timeoutMs:Bh+1e3,isConcurrencySafe:()=>!1,async execute(i,n){let o=await e.get(Ti(n),Ri(n)).requestScreenshot(n.signal),a=t.get?.("attachments");if(!a?.saveImage)throw new Error("Harness attachment service is unavailable; cannot return screenshot to AI");let s=await a.saveImage({data:o.data,mediaType:"image/png",name:`qxqy-play-${o.canvasId||"canvas"}-f${o.frame}.png`}),{data:l,...c}=o;return{...c,image:{attachmentId:s.attachmentId,mediaType:s.mediaType,bytes:s.bytes,width:s.width,height:s.height,...s.name===void 0?{}:{name:s.name}}}}})),t.tools.register(Ai({name:"qxqy_studio_ui_screenshot",description:"\u83B7\u53D6\u5F53\u524D\u7F16\u8F91\u5668\u821E\u53F0\u7684 PNG\u3002Host \u6839\u636E boxes \u5728\u8FDB\u7A0B\u5185\u6E32\u67D3\uFF0C\u4E0D\u9700\u8981\u6253\u5F00\u6216\u4FDD\u6301\u201C\u6A21\u62DF\u5668\u201D\u6807\u7B7E\u3002\u7528\u4E8E\u68C0\u67E5\u9759\u6001 UI \u5E03\u5C40\u3001\u9009\u4E2D\u9879\u548C\u63A7\u4EF6\u56FE\u5143\uFF1B\u4E0D\u542B\u5B8C\u6574 Chrome DOM \u5DE5\u5177\u680F/\u68C0\u89C6\u5668\u3002\u82E5\u8981\u770B Lua Runtime \u8BD5\u73A9\u753B\u9762\uFF0C\u8BF7\u6539\u7528 qxqy_studio_play_screenshot\u3002",parameters:{},output:{schema:{type:"json"},render:(i,n)=>{let a=[{type:"text",text:`\u7F16\u8F91\u5668\u622A\u56FE\uFF1A${n.page||"\u6A21\u62DF\u5668"}\uFF0C${n.width||0}\xD7${n.height||0}`+(n.assetWarnings?.length?`
|
|
129
|
+
\u7D20\u6750\u52A0\u8F7D\u5931\u8D25\uFF08\u753B\u9762\u4E2D\u4E3A\u5360\u4F4D\u6846\uFF09\uFF1A${JSON.stringify(n.assetWarnings)}`:"")}];return n.image&&a.push({type:"image",attachment:n.image}),a}},timeoutMs:Bh+1e3,isConcurrencySafe:()=>!1,async execute(i,n){let o=await e.get(Ti(n),Ri(n)).requestUiScreenshot(n.signal),a=t.get?.("attachments");if(!a?.saveImage)throw new Error("Harness attachment service is unavailable; cannot return screenshot to AI");let s=await a.saveImage({data:o.data,mediaType:"image/png",name:`qxqy-ui-${o.page||"editor"}.png`}),{data:l,...c}=o;return{...c,image:{attachmentId:s.attachmentId,mediaType:s.mediaType,bytes:s.bytes,width:s.width,height:s.height,...s.name===void 0?{}:{name:s.name}}}}})),t.tools.register(Ai({name:"qxqy_studio_patch",description:"\u4FEE\u6539\u5F53\u524D\u4F1A\u8BDD\u7684\u5343\u661F UI \u5DE5\u7A0B\u3002op \u5FC5\u987B\u643A\u5E26 expectedRevision\u3002\u5BA2\u6237\u7AEF\u63A7\u4EF6\u7D22\u5F15\u7528 setControlGuid\uFF08id\u3001guid\uFF09\uFF1B\u5FC5\u987B\u6839\u636E\u5FEB\u7167 controlGuidChanges \u66F4\u65B0\u5B58\u6863 Lua source \u548C\u76F8\u5173\u6E90\u6587\u4EF6\u7684\u7D22\u5F15\u5F15\u7528\u5E76\u6838\u5BF9\uFF0C\u5B8C\u6210\u540E\u7528 acknowledgeControlGuidChanges\uFF08changeIds\uFF09\u786E\u8BA4\uFF0C\u7981\u6B62\u76F2\u76EE\u66FF\u6362\u5168\u90E8\u540C\u503C\u6570\u5B57\u3002",parameters:{op:{type:"json",required:!0,description:"\u7F16\u8F91\u5668 patch \u5BF9\u8C61\u3002"}},output:{schema:{type:"json"},render:(i,n)=>[{type:"text",text:JSON.stringify(n,null,2)}]},timeoutMs:5e3,isConcurrencySafe:()=>!1,async execute(i,n){let r=Gn(i.op);if(!r)throw new Error("patch requires op");return e.get(Ti(n),Ri(n)).patch(r)}})),t.tools.register(Ai({name:"qxqy_studio_export",description:"\u5BFC\u51FA GIA/JSON/Lua\u3002list \u5217\u51FA\u5BA2\u6237\u7AEF\u63A7\u4EF6\u4E0E revision\uFF1Bpreview \u4F20 controlIds \u9884\u89C8\u5B50\u6811\uFF1Bexport \u9ED8\u8BA4 gia-partial\uFF08\u90E8\u5206\u7EC4\u5408\uFF09\u3002\u7236\u5B50\u540C\u65F6\u9009\u81EA\u52A8\u53BB\u91CD\uFF0C\u5B50\u63A7\u4EF6\u53EA\u5728\u526F\u672C\u4E2D\u63D0\u5347\u4E3A\u6A21\u677F\u3002includeScripts \u9ED8\u8BA4 true\uFF08\u6302\u8F7D\u811A\u672C\u548C\u672A\u6302\u8F7D\u6A21\u5757\uFF09\u3002\u652F\u6301\u539F\u6709 format/assetType\uFF1Bpath \u53EF\u9009\uFF0C\u5199\u5165\u5DE5\u4F5C\u533A\u65B0\u6587\u4EF6\uFF0C\u4E0D\u8986\u76D6\uFF1B\u7701\u7565\u8FD4\u56DE base64\u3002",parameters:{action:{type:"string",enum:["list","preview","export"],required:!0},args:{type:"json",description:"controlIds\uFF08\u5BA2\u6237\u7AEF\u63A7\u4EF6 id \u6570\u7EC4\uFF09\u3001includeScripts\u3001expectedRevision\uFF08list \u8FD4\u56DE\u7684\u5BA2\u6237\u7AEF revision\uFF09\u3001canvasId\u3001format\u3001assetType\u3001path\u3002"}},output:{schema:{type:"json"},render:(i,n)=>[{type:"text",text:JSON.stringify(n,null,2)}]},timeoutMs:1e4,isConcurrencySafe:()=>!1,async execute(i,n){let r=e.get(Ti(n),Ri(n));return r.exclusive(()=>r.exportAction(i.action,Gn(i.args)||{}))}})),t.tools.register(Ai({name:"qxqy_studio_play",description:"\u63A7\u5236\u5F53\u524D\u4F1A\u8BDD\u7684\u5343\u661F UI \u8BD5\u73A9 Worker\uFF1A\u542F\u52A8\u3001\u6B65\u8FDB\u3001\u8F93\u5165\u3001\u6682\u505C\u3001\u505C\u6B62\u3001\u591A\u8BBE\u5907\u753B\u5E03\u5207\u6362\u3001\u591A\u4EBA\u89C6\u89D2\u3001\u670D\u52A1\u7AEF\u53D8\u91CF/\u4FE1\u53F7\uFF0C\u4EE5\u53CA\u5F55\u5236\u56DE\u653E\u7528\u4F8B\u3002\u5DE5\u5177\u542F\u52A8\u9ED8\u8BA4\u5173\u95ED\u6D4F\u89C8\u5668\u97F3\u6548\uFF1B\u7528\u6237\u53EF\u5728\u8BD5\u73A9\u9875\u6253\u5F00\uFF0C\u6216 start/device \u4F20 muteAudio:false\u3002",parameters:{action:{type:"string",enum:["start","device","view","get","step","pointer","key","click","pause","resume","stop","serverGet","serverSet","serverSend","history","saveCase","runCase"],required:!0},args:{type:"json",description:"\u52A8\u4F5C\u53C2\u6570\uFF1Bpointer \u4F7F\u7528 type/x/y\uFF0Cstep \u4F7F\u7528 dt\uFF1Bget/start \u53EF\u7528 inspect:true \u62C9\u8FD0\u884C\u6811\uFF1Bstart/device \u7528 canvasId \u5207\u6362\u8BBE\u5907\u753B\u5E03\uFF08\u5982 pc-16-9 / mobile-19.5-9\uFF09\uFF1Bstart \u53EF\u7528 playerCount(1-8)\uFF1Bview \u7528 playerIndex \u5207\u6362\u5F53\u524D\u73A9\u5BB6\u89C6\u89D2\uFF1BrunCase \u53EF\u5E26 canvasId/playerCount\uFF1BserverSet \u4F7F\u7528 entityType/name/value\uFF1BrunCase \u4F7F\u7528 case\u3002"}},output:{schema:{type:"json"},render:(i,n)=>[{type:"text",text:JSON.stringify(n,null,2)}]},timeoutMs:1e4,isConcurrencySafe:()=>!1,async execute(i,n){let r=Ih(i.action,Gn(i.args)||{});return e.get(Ti(n),Ri(n)).play(i.action,r,n.signal)}})),t.tools.register(Ai({name:"qxqy_studio_load",description:"\u4ECE\u5F53\u524D\u4F1A\u8BDD\u5DE5\u4F5C\u533A\u62C9\u53D6\u5343\u661F\u6A21\u62DF\u5668\u5B58\u6863\u3002\u4E0D\u4F20 path \u65F6\u5217\u51FA\u5DE5\u4F5C\u533A\u5185\u7684 qxqy-simulator-save\uFF1B\u4F20\u5165\u76F8\u5BF9\u8DEF\u5F84\u5219\u52A0\u8F7D\u8BE5\u5B58\u6863\u3002",parameters:{path:{type:"string",description:"\u5DE5\u4F5C\u533A\u5185\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u4F8B\u5982 workspace/flappy-fish/flappy-fish.save.json\u3002\u7701\u7565\u5219\u53EA\u5217\u51FA\u53EF\u62C9\u53D6\u5B58\u6863\u3002"}},output:{schema:{type:"json"},render:(i,n)=>[{type:"text",text:JSON.stringify(n,null,2)}]},timeoutMs:8e3,isConcurrencySafe:()=>!1,async execute(i,n){let r=e.get(Ti(n),Ri(n));return i.path?r.loadArchive(i.path):r.listArchives()}}))}function uy(t,e,i){rn(t,{kind:"prefix",path:Lh,async handler(n,r){if(n.method!=="POST"){Rr(r,405,{ok:!1,value:null,error:"POST required"});return}let a=new URL(n.url,"http://localhost").pathname.slice(Lh.length).replace(/^\/+/,"");if(a==="health"){Rr(r,200,{ok:!0,value:{status:"ok"},error:null});return}let s=new AbortController;n.once("aborted",()=>s.abort());try{let l=await ly(n);if(a==="locale"){Rr(r,200,{ok:!0,value:$h(n)?await zh():{language:"",source:"browser"},error:null});return}let c=await iy(l.sessionId,{sessions:t.get?.("sessions"),sessionPersistence:t.get?.("sessionPersistence")}),u=e.get(l.sessionId,c),f;if(a==="updates")f=await i();else if(a==="get")f=u.get();else if(a==="patch")f=u.patch(l.op);else if(a==="export-list")f=u.exportAction("list");else if(a==="export-preview")f=u.exportAction("preview",l);else if(a==="export")f=u.exportData(l.format,l.assetType,l);else if(a==="import")f=u.importData(l.format,l.data,l.filename);else if(a==="archives")f=u.listArchives();else if(a==="load-archive")f=u.loadArchive(l.path);else if(a==="save")f=u.saveForScriptSync(l.path,l.expectedRevision);else if(a==="script-sync")f=u.scriptSyncAction(l.action,l.args||{});else if(a==="script-sync-apply")f=u.scriptSync.apply(l);else if(a==="image-refresh")await u.imageAssets.refresh(l.imageId,{imageSource:l.imageSource}),f={imageId:l.imageId,imageSource:l.imageSource||"StaticReference",refreshed:!0};else if(a==="play")f=await u.play(l.action,l.args||{},s.signal);else throw new Error("unknown API action");Rr(r,200,{ok:!0,value:f,error:null})}catch(l){Rr(r,400,{ok:!1,value:null,error:l?.message||String(l)})}}})}function c4(t){Jt();let e=ny();t.effect(()=>()=>e.dispose(),"qxqy-simulator: dispose sessions"),cy(t,e),uy(t,e,Fh({packageName:rc.name,currentVersion:rc.version})),ay(t),sy(t),rn(t,{kind:"prefix",path:"/qxqy-assets",handler:(i,n)=>mh(i,n)}),rn(t,{kind:"prefix",path:"/qxqy-audio",handler:(i,n)=>Oh(i,n)}),rn(t,{kind:"prefix",path:"/qxqy-vfx",handler:(i,n)=>Nh(i,n)}),rn(t,{kind:"prefix",path:"/qxqy-font",handler:qc})}export{sc as SimulatorController,c4 as apply,lc as headerWorkspace,l4 as inject,Gn as jsonParam,iy as lookupSessionWorkspace,s4 as name,Ri as sessionWorkspace};
|
|
130
130
|
/*! Bundled license information:
|
|
131
131
|
|
|
132
132
|
long/umd/index.js:
|