@unotest/web 0.35.2 → 0.36.0
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/CHANGELOG.md +34 -0
- package/dist/config/schema.d.ts +18 -18
- package/dist/config/schema.js +1 -1
- package/dist/driver/index.js +1 -1
- package/dist/dsl/index.js +1 -1
- package/dist/dsl/web-dsl-language-service.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/runner/cli.js +1 -1
- package/dist/runner/init/chrome-probe.js +1 -1
- package/dist/runner/init.js +1 -1
- package/dist/runner/install-chromium.js +1 -1
- package/dist/runner/prepare-fix.js +1 -1
- package/dist/runner/scaffold-workspace.js +1 -1
- package/dist/runner/serve-fixture.js +1 -1
- package/dist/runner/web-runner-adapter.js +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x2b60ef=_0x98df;(function(_0x29b580,_0xaf0bc4){const _0x267674={_0x5540fc:0xd1,_0x16b9b7:0xe2,_0x554d68:0xe3,_0x6ceeb3:0xc1},_0x43391a=_0x98df,_0x4f2d0d=_0x29b580();while(!![]){try{const _0x28badf=parseInt(_0x43391a(_0x267674._0x5540fc))/0x1+parseInt(_0x43391a(0xc7))/0x2*(parseInt(_0x43391a(0xbe))/0x3)+parseInt(_0x43391a(0xb3))/0x4+parseInt(_0x43391a(_0x267674._0x16b9b7))/0x5+-parseInt(_0x43391a(0xba))/0x6+-parseInt(_0x43391a(_0x267674._0x554d68))/0x7*(parseInt(_0x43391a(0xb8))/0x8)+-parseInt(_0x43391a(_0x267674._0x6ceeb3))/0x9;if(_0x28badf===_0xaf0bc4)break;else _0x4f2d0d['push'](_0x4f2d0d['shift']());}catch(_0x5783aa){_0x4f2d0d['push'](_0x4f2d0d['shift']());}}}(_0x1b84,0x57bde));var __defProp=Object[_0x2b60ef(0xc2)],__name=(_0x1489f7,_0x118c6e)=>__defProp(_0x1489f7,_0x2b60ef(0xcc),{'value':_0x118c6e,'configurable':!![]});import{execFileSync}from'child_process';function _0x98df(_0x47e433,_0x301ef1){_0x47e433=_0x47e433-0xb1;const _0x1b8483=_0x1b84();let _0x98dfd6=_0x1b8483[_0x47e433];if(_0x98df['xrQSkU']===undefined){var _0x68f5=function(_0x2b5f9f){const _0x465189='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1489f7='',_0x118c6e='';for(let _0x36c88e=0x0,_0x45e452,_0x51d12b,_0x4bc296=0x0;_0x51d12b=_0x2b5f9f['charAt'](_0x4bc296++);~_0x51d12b&&(_0x45e452=_0x36c88e%0x4?_0x45e452*0x40+_0x51d12b:_0x51d12b,_0x36c88e++%0x4)?_0x1489f7+=String['fromCharCode'](0xff&_0x45e452>>(-0x2*_0x36c88e&0x6)):0x0){_0x51d12b=_0x465189['indexOf'](_0x51d12b);}for(let _0x1cc868=0x0,_0xdeffd=_0x1489f7['length'];_0x1cc868<_0xdeffd;_0x1cc868++){_0x118c6e+='%'+('00'+_0x1489f7['charCodeAt'](_0x1cc868)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x118c6e);};_0x98df['yZACUh']=_0x68f5,_0x98df['pOlDYX']={},_0x98df['xrQSkU']=!![];}const _0x1f3093=_0x1b8483[0x0],_0x1c83d9=_0x47e433+_0x1f3093,_0x27b303=_0x98df['pOlDYX'][_0x1c83d9];return!_0x27b303?(_0x98dfd6=_0x98df['yZACUh'](_0x98dfd6),_0x98df['pOlDYX'][_0x1c83d9]=_0x98dfd6):_0x98dfd6=_0x27b303,_0x98dfd6;}import{existsSync}from'fs';function _0x1b84(){const _0x103005=['odi0nJn3Afb2Cg4','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','y2HYB21PDw0TyNjVD3nLCG','zMLYC3rfEgLZDgLUz1bHDgG','Dw5KzwzPBMvK','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','D2LUmZi','BgvUz3rO','zgfYD2LU','C3rHCNrZv2L0Aa','BxnLzgDL','D2HPy2HpzG','ChjVyMvfzgDL','uhjVz3jHBuzPBgvZ','uhjVz3jHBuzPBgvZkhG4nIK','CgXHDgzVCM0','ndGYmdy1BwzNCerH','ndLpshnpDMO','DhjPBq','twLJCM9ZB2z0ievKz2u','mJiXnZmZnKPPBfPwtG','z29Vz2XLlwnOCM9Tzq','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','l3vZCI9IAw4Vy2HYB21PDw0','zw52','mZu1ntyWsKvjvgD4','r29Vz2XLienOCM9Tzq','mZuYmtyYoef6vgX5BG','r29Vz2XLienOCM9TzsbczxrH','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1ZDgfIBgu','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','mtjOBgPdq0K','ChjVyMvtExn0zw1cCM93C2vY','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','nJu0nZu5DKrRzffS','zgvMAw5LuhjVCgvYDhK','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','BwLJCM9ZB2z0lwvKz2u','mJK4ndKYrfnptfjp','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','y2HYB21LlwjLDge','ChjVyMvdAhjVBwvczxrH','ChjVyMvdAhjVBwu','BMfTzq','D2HPy2G','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','y2HYB21PDw0'];_0x1b84=function(){return _0x103005;};return _0x1b84();}function probeSystemBrowser(){for(const _0x36c88e of[probeChrome,probeEdge,probeChromeBeta]){const _0x45e452=_0x36c88e();if(_0x45e452['channel']!==null)return _0x45e452;}return{'channel':null};}__name(probeSystemBrowser,_0x2b60ef(0xbf));function probeChrome(){const _0x57c02a={_0x46f418:0xb9},_0x588e9c=_0x2b60ef,_0x51d12b=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x51d12b)return{'channel':'chrome','path':_0x51d12b,'label':_0x588e9c(_0x57c02a._0x46f418)};return{'channel':null};}__name(probeChrome,_0x2b60ef(0xcb));function probeEdge(){const _0x11e91e={_0x402b83:0xb2},_0x2c5d42=_0x2b60ef,_0x4bc296=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x4bc296)return{'channel':_0x2c5d42(0xdc),'path':_0x4bc296,'label':_0x2c5d42(_0x11e91e._0x402b83)};return{'channel':null};}__name(probeEdge,_0x2b60ef(0xde));function probeChromeBeta(){const _0x12117f={_0x47f775:0xc9,_0x363daa:0xbb},_0x145695=_0x2b60ef,_0x1cc868=firstExistingPath(CHROME_BETA_PATHS);if(_0x1cc868)return{'channel':_0x145695(_0x12117f._0x47f775),'path':_0x1cc868,'label':_0x145695(_0x12117f._0x363daa)};return{'channel':null};}__name(probeChromeBeta,_0x2b60ef(0xca));var CHROME_PATHS=((()=>{const _0x2d8c86={_0x26eb5e:0xe1,_0x28b6fc:0xd8,_0x4af964:0xb7,_0x29f36b:0xc0,_0xa1e382:0xb7,_0x2828ce:0xe0,_0x1fb6f2:0xbc,_0x3f697f:0xb6},_0xb17b7=_0x2b60ef;switch(process[_0xb17b7(_0x2d8c86._0x26eb5e)]){case'darwin':return['/Applications/Google\x20Chrome.app/Contents/MacOS/Google\x20Chrome'];case _0xb17b7(_0x2d8c86._0x28b6fc):return[process[_0xb17b7(_0x2d8c86._0x4af964)][_0xb17b7(0xdf)]+_0xb17b7(_0x2d8c86._0x29f36b),process[_0xb17b7(_0x2d8c86._0xa1e382)][_0xb17b7(_0x2d8c86._0x2828ce)]+_0xb17b7(0xc0),process[_0xb17b7(0xb7)]['LOCALAPPDATA']+_0xb17b7(0xc0)];default:return[_0xb17b7(0xc8),_0xb17b7(_0x2d8c86._0x1fb6f2),_0xb17b7(0xce),_0xb17b7(_0x2d8c86._0x3f697f),'/usr/bin/chromium-browser'];}})()),CHROME_BIN_NAMES=[_0x2b60ef(0xb4),_0x2b60ef(0xbd),_0x2b60ef(0xd0),_0x2b60ef(0xd3)],EDGE_PATHS=((()=>{const _0x1d1b2d={_0x4c2b3b:0xe1,_0xe6a3c9:0xb7,_0x5e40af:0xd6,_0x172280:0xb5},_0x44a4ba=_0x2b60ef;switch(process[_0x44a4ba(_0x1d1b2d._0x4c2b3b)]){case'darwin':return[_0x44a4ba(0xd7)];case _0x44a4ba(0xd8):return[process['env']['ProgramFiles']+_0x44a4ba(0xd6),process[_0x44a4ba(_0x1d1b2d._0xe6a3c9)][_0x44a4ba(0xe0)]+_0x44a4ba(_0x1d1b2d._0x5e40af)];default:return[_0x44a4ba(_0x1d1b2d._0x172280),_0x44a4ba(0xc4)];}})()),EDGE_BIN_NAMES=[_0x2b60ef(0xc6),_0x2b60ef(0xcf)],CHROME_BETA_PATHS=((()=>{const _0x1a1b94={_0x48b3b6:0xe1,_0x1f2546:0xd2,_0x520dc3:0xc5},_0x1b5949=_0x2b60ef;switch(process[_0x1b5949(_0x1a1b94._0x48b3b6)]){case _0x1b5949(0xda):return[_0x1b5949(_0x1a1b94._0x1f2546)];case'win32':return[process['env']['ProgramFiles']+_0x1b5949(_0x1a1b94._0x520dc3)];default:return[_0x1b5949(0xc3)];}})());function firstExistingPath(_0xdeffd){const _0x41c7ae=_0x2b60ef;for(const _0x1cc13a of _0xdeffd){if(!_0x1cc13a||_0x1cc13a[_0x41c7ae(0xdb)](_0x41c7ae(0xd5)))continue;if(existsSync(_0x1cc13a))return _0x1cc13a;}return null;}__name(firstExistingPath,_0x2b60ef(0xd4));function whichOf(_0x1b23e7){const _0xa27d17={_0x58abec:0xd8,_0x4f8c66:0xcd,_0x53ebfb:0xb1},_0xfecbb2=_0x2b60ef;if(process['platform']===_0xfecbb2(_0xa27d17._0x58abec))return void 0x0;for(const _0x488aba of _0x1b23e7){try{const _0x18cbfd=execFileSync(_0xfecbb2(_0xa27d17._0x4f8c66),[_0x488aba],{'encoding':'utf8'})[_0xfecbb2(_0xa27d17._0x53ebfb)]();if(_0x18cbfd[_0xfecbb2(0xd9)]>0x0&&existsSync(_0x18cbfd))return _0x18cbfd;}catch{}}return void 0x0;}__name(whichOf,_0x2b60ef(0xdd));export{probeSystemBrowser};
|
package/dist/runner/init.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0xffd9b6=_0x3ea7;(function(_0x50052d,_0x105083){const _0x2299d5={_0x20dc5f:0x1a7,_0x16e72f:0x1fa,_0x4e7872:0xdd,_0x6cae11:0x220},_0x3f2158=_0x3ea7,_0x277aa3=_0x50052d();while(!![]){try{const _0x1922b0=-parseInt(_0x3f2158(_0x2299d5._0x20dc5f))/0x1+parseInt(_0x3f2158(0x1ac))/0x2+-parseInt(_0x3f2158(_0x2299d5._0x16e72f))/0x3+parseInt(_0x3f2158(_0x2299d5._0x4e7872))/0x4+-parseInt(_0x3f2158(0x190))/0x5+-parseInt(_0x3f2158(_0x2299d5._0x6cae11))/0x6*(parseInt(_0x3f2158(0xbe))/0x7)+parseInt(_0x3f2158(0x1b8))/0x8*(parseInt(_0x3f2158(0xba))/0x9);if(_0x1922b0===_0x105083)break;else _0x277aa3['push'](_0x277aa3['shift']());}catch(_0x49bf78){_0x277aa3['push'](_0x277aa3['shift']());}}}(_0x3083,0xbc12a));var __defProp=Object[_0xffd9b6(0x204)],__name=(_0x510ebb,_0x4cfd6b)=>__defProp(_0x510ebb,_0xffd9b6(0x19f),{'value':_0x4cfd6b,'configurable':!![]});import{copyFileSync,existsSync as _0x28682f,mkdirSync as _0x3ef9b6,readFileSync as _0x2f1c59,writeFileSync as _0x30ea03}from'fs';import{dirname as _0x5eae08,join as _0x4dd600,resolve as _0x1ca54d}from'path';import{fileURLToPath as _0x2dded4}from'url';import{existsSync as _0x4efa6d}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){for(const _0x172ebb of[probeChrome,probeEdge,probeChromeBeta]){const _0x6ed7f=_0x172ebb();if(_0x6ed7f['channel']!==null)return _0x6ed7f;}return{'channel':null};}__name(probeSystemBrowser,'probeSystemBrowser');function probeChrome(){const _0x1cc958={_0x3feeb4:0x1f2,_0x4c310e:0xb7},_0x1c7e50=_0xffd9b6,_0x4cf8af=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x4cf8af)return{'channel':_0x1c7e50(_0x1cc958._0x3feeb4),'path':_0x4cf8af,'label':_0x1c7e50(_0x1cc958._0x4c310e)};return{'channel':null};}__name(probeChrome,_0xffd9b6(0x134));function probeEdge(){const _0x18e5fb=_0xffd9b6,_0x457b09=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x457b09)return{'channel':_0x18e5fb(0x176),'path':_0x457b09,'label':_0x18e5fb(0x187)};return{'channel':null};}__name(probeEdge,_0xffd9b6(0x185));function probeChromeBeta(){const _0x2bf763={_0x3b2a91:0x12f},_0x4fcad7=_0xffd9b6,_0x29ec2e=firstExistingPath(CHROME_BETA_PATHS);if(_0x29ec2e)return{'channel':_0x4fcad7(_0x2bf763._0x3b2a91),'path':_0x29ec2e,'label':'Google\x20Chrome\x20Beta'};return{'channel':null};}__name(probeChromeBeta,_0xffd9b6(0x10c));var CHROME_PATHS=((()=>{const _0x366253={_0x212cac:0x1ad,_0x187739:0x14b,_0x3ddf6c:0x1b1,_0x14cfde:0x19d,_0x3e13f2:0x166},_0x11bbcc=_0xffd9b6;switch(process[_0x11bbcc(0xe1)]){case'darwin':return[_0x11bbcc(0x164)];case _0x11bbcc(_0x366253._0x212cac):return[process[_0x11bbcc(0x19d)][_0x11bbcc(0x15e)]+_0x11bbcc(_0x366253._0x187739),process[_0x11bbcc(0x19d)][_0x11bbcc(_0x366253._0x3ddf6c)]+_0x11bbcc(0x14b),process[_0x11bbcc(_0x366253._0x14cfde)]['LOCALAPPDATA']+_0x11bbcc(_0x366253._0x187739)];default:return['/usr/bin/google-chrome',_0x11bbcc(0x203),_0x11bbcc(0xf6),_0x11bbcc(_0x366253._0x3e13f2),_0x11bbcc(0x219)];}})()),CHROME_BIN_NAMES=['google-chrome',_0xffd9b6(0x17d),_0xffd9b6(0x1f3),_0xffd9b6(0x21d)],EDGE_PATHS=((()=>{const _0x371e20={_0x5addc5:0xe1,_0x446f44:0x10e,_0x4185b9:0xe0},_0x2f7619=_0xffd9b6;switch(process[_0x2f7619(_0x371e20._0x5addc5)]){case _0x2f7619(0x20f):return[_0x2f7619(0xcc)];case'win32':return[process[_0x2f7619(0x19d)]['ProgramFiles']+_0x2f7619(_0x371e20._0x446f44),process['env']['ProgramFiles(x86)']+'\x5cMicrosoft\x5cEdge\x5cApplication\x5cmsedge.exe'];default:return[_0x2f7619(_0x371e20._0x4185b9),_0x2f7619(0x21f)];}})()),EDGE_BIN_NAMES=[_0xffd9b6(0x15b),_0xffd9b6(0xc5)],CHROME_BETA_PATHS=((()=>{const _0x3ade6d={_0x380160:0x1ad,_0x19cae5:0x131,_0x12d209:0x15a},_0x14a905=_0xffd9b6;switch(process[_0x14a905(0xe1)]){case _0x14a905(0x20f):return[_0x14a905(0x1cf)];case _0x14a905(_0x3ade6d._0x380160):return[process[_0x14a905(0x19d)]['ProgramFiles']+_0x14a905(_0x3ade6d._0x19cae5)];default:return[_0x14a905(_0x3ade6d._0x12d209)];}})());function firstExistingPath(_0x855ecf){const _0x538f9c=_0xffd9b6;for(const _0x270638 of _0x855ecf){if(!_0x270638||_0x270638[_0x538f9c(0x20b)]('undefined'))continue;if(existsSync(_0x270638))return _0x270638;}return null;}__name(firstExistingPath,'firstExistingPath');function whichOf(_0x2e9bf0){const _0x512f0a={_0x42d908:0xe1,_0x2403b9:0x138,_0x515833:0xe7},_0x24dd40=_0xffd9b6;if(process[_0x24dd40(_0x512f0a._0x42d908)]==='win32')return void 0x0;for(const _0x5284a2 of _0x2e9bf0){try{const _0x42f946=execFileSync(_0x24dd40(0x1e2),[_0x5284a2],{'encoding':_0x24dd40(_0x512f0a._0x2403b9)})[_0x24dd40(_0x512f0a._0x515833)]();if(_0x42f946['length']>0x0&&existsSync(_0x42f946))return _0x42f946;}catch{}}return void 0x0;}__name(whichOf,_0xffd9b6(0x181));function runEnvironmentChecks(_0x21e1b7={}){const _0x54117b={_0x18ef33:0xd1},_0x1e45a5=_0xffd9b6,_0x4bb497=_0x21e1b7[_0x1e45a5(_0x54117b._0x18ef33)]??process[_0x1e45a5(0xd1)]();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x4bb497)];}__name(runEnvironmentChecks,_0xffd9b6(0x1ae));function checkNodeVersion(){const _0x10c8c5={_0x3763be:0x11b,_0x2b3bce:0x127,_0x523921:0x1a5},_0x49dfe2=_0xffd9b6,_0x32eea2=process[_0x49dfe2(_0x10c8c5._0x3763be)]['node'],_0x3e0f6b=Number(_0x32eea2[_0x49dfe2(0x17c)]('.')[0x0]);if(!Number[_0x49dfe2(0x1e3)](_0x3e0f6b)||_0x3e0f6b<0x14)return{'name':'Node.js\x20version','severity':_0x49dfe2(_0x10c8c5._0x2b3bce),'message':'requires\x20Node\x20≥20\x20(running\x20'+_0x32eea2+')','detail':'Install\x20Node\x2020+\x20via\x20nvm\x20/\x20fnm\x20/\x20volta\x20and\x20re-run.'};return{'name':_0x49dfe2(_0x10c8c5._0x523921),'severity':'ok','message':_0x32eea2};}__name(checkNodeVersion,_0xffd9b6(0x1e7));function checkSystemBrowser(){const _0x4f8f7f={_0x2055e3:0x10d,_0x40c9f7:0x1cb,_0x322fe9:0x212,_0x290a41:0x1d8,_0x288ce6:0x172,_0x33e2d1:0xf1},_0xcc4e8d=_0xffd9b6,_0x132e74=probeSystemBrowser();if(_0x132e74[_0xcc4e8d(_0x4f8f7f._0x2055e3)]!==null)return{'name':_0xcc4e8d(_0x4f8f7f._0x40c9f7),'severity':'ok','message':_0x132e74[_0xcc4e8d(0x125)]+_0xcc4e8d(_0x4f8f7f._0x322fe9),'detail':_0x132e74[_0xcc4e8d(_0x4f8f7f._0x290a41)]};return{'name':'System\x20browser','severity':_0xcc4e8d(_0x4f8f7f._0x288ce6),'message':_0xcc4e8d(0xe2),'detail':_0xcc4e8d(_0x4f8f7f._0x33e2d1)};}__name(checkSystemBrowser,_0xffd9b6(0x1f8));function checkWritableCwd(_0x1cbfdf){const _0x2c9bc8={_0x47c9dc:0x114,_0x3881bd:0x189,_0x37564a:0x205},_0x56a6a4=_0xffd9b6;if(!_0x4efa6d(_0x1cbfdf))return{'name':_0x56a6a4(0x205),'severity':'error','message':_0x56a6a4(_0x2c9bc8._0x47c9dc)+_0x1cbfdf+_0x56a6a4(_0x2c9bc8._0x3881bd),'detail':_0x56a6a4(0x197)};return{'name':_0x56a6a4(_0x2c9bc8._0x37564a),'severity':'ok','message':_0x1cbfdf};}__name(checkWritableCwd,_0xffd9b6(0x155));import{declaredEnvKeys}from'@unotest/protocol';function missingTemplateKeys(_0x4ae647,_0x57e680){const _0x47b7a8={_0x389e3e:0xe5},_0x45159b=_0xffd9b6,_0x4b5ddc=declaredEnvKeys(_0x4ae647);return[...declaredEnvKeys(_0x57e680)][_0x45159b(_0x47b7a8._0x389e3e)](_0x5ccdaa=>!_0x4b5ddc[_0x45159b(0xc3)](_0x5ccdaa));}__name(missingTemplateKeys,_0xffd9b6(0xf3));import{existsSync as _0x57c69c,mkdirSync,readFileSync as _0x12a264,writeFileSync as _0x42f9e9}from'fs';import{dirname,join as _0x2bdf99}from'path';import{existsSync as _0x13166a}from'fs';import{join as _0x36acc3}from'path';import{BOX_SECRET_NAMES_ENV,categorizeVariable,decodeNameList,isExternalVarName,secretsFileFor,activeEnvName,envLayerFilesFor,secretsLayerFilesFor}from'@unotest/protocol';import{existsSync as _0x2ad598,readFileSync,writeFileSync}from'fs';import{join}from'path';import{applyEnvLayers,readEnvFile,readEnvLayers}from'@unotest/core';import{insertEnvVar,removeEnvVar,replaceEnvVar,envFileFor}from'@unotest/protocol';var WEB_SUFFIX='';function parseEnvLayered(_0x68224,_0x311858){return readEnvLayers(_0x68224,WEB_SUFFIX,_0x311858);}__name(parseEnvLayered,'parseEnvLayered');var parseEnvFile=readEnvFile,SecretRegistry=class{static{__name(this,'SecretRegistry');}['byValue']=new Map();['ordered']=[];[_0xffd9b6(0xc6)](_0x1b6095,_0x8b19cf){const _0x2df193={_0x3b8055:0x163},_0x88cc96=_0xffd9b6;if(_0x8b19cf['length']===0x0)return;this[_0x88cc96(0x175)][_0x88cc96(0x1eb)](_0x8b19cf,_0x1b6095),this[_0x88cc96(_0x2df193._0x3b8055)]=[...this[_0x88cc96(0x175)][_0x88cc96(0xec)]()][_0x88cc96(0xff)]((_0x58f986,_0x2ab13a)=>_0x2ab13a[0x0]['length']-_0x58f986[0x0]['length']);}get['size'](){const _0x16d9dd={_0x4cff4c:0x175},_0x17aa46=_0xffd9b6;return this[_0x17aa46(_0x16d9dd._0x4cff4c)][_0x17aa46(0x1c2)];}[_0xffd9b6(0x1fb)](_0x229c75){const _0x22ac66={_0x4cf9cf:0x175,_0x4bd5c4:0xc6},_0x145ce9=_0xffd9b6;for(const [_0xfe00d2,_0x28efb1]of this[_0x145ce9(_0x22ac66._0x4cf9cf)])_0x229c75[_0x145ce9(_0x22ac66._0x4bd5c4)](_0x28efb1,_0xfe00d2);}['redactString'](_0x5dab68){const _0x20e73e={_0xc6cc2d:0x163,_0x28fafa:0xce,_0x32c972:0x108},_0x433251=_0xffd9b6;if(this['ordered']['length']===0x0)return _0x5dab68;let _0x438e29=_0x5dab68;for(const [_0x252b6b,_0x2b69b3]of this[_0x433251(_0x20e73e._0xc6cc2d)]){if(_0x438e29[_0x433251(_0x20e73e._0x28fafa)](_0x252b6b))_0x438e29=_0x438e29[_0x433251(0x17c)](_0x252b6b)[_0x433251(_0x20e73e._0x32c972)]('‹secret:'+_0x2b69b3+'›');}return _0x438e29;}['redact'](_0x33da9c,_0x6105db={}){const _0x91a76d={_0x3396e7:0x163,_0x30739e:0x1f5,_0x2355f9:0xc9},_0x113a4b=_0xffd9b6;if(this[_0x113a4b(_0x91a76d._0x3396e7)][_0x113a4b(0x15f)]===0x0)return _0x33da9c;const _0x10db13=new Set(_0x6105db['keep']??[]);return this['redactValue'](_0x33da9c,_0x10db13,_0x6105db[_0x113a4b(_0x91a76d._0x30739e)]===_0x113a4b(_0x91a76d._0x2355f9));}[_0xffd9b6(0x1c1)](_0x249c4c,_0x48b579,_0x1a5c56){const _0x2aa98d={_0x2739e9:0x1b4,_0x2d043a:0x107},_0x1a6b7d=_0xffd9b6;if(typeof _0x249c4c===_0x1a6b7d(0x1e9))return this[_0x1a6b7d(0x119)](_0x249c4c);if(_0x1a5c56&&typeof _0x249c4c===_0x1a6b7d(_0x2aa98d._0x2739e9))return this[_0x1a6b7d(_0x2aa98d._0x2d043a)](_0x249c4c);if(Array['isArray'](_0x249c4c))return _0x249c4c['map'](_0x59ec8c=>this[_0x1a6b7d(0x1c1)](_0x59ec8c,_0x48b579,_0x1a5c56));if(_0x249c4c!==null&&typeof _0x249c4c===_0x1a6b7d(0x16a)){const _0x1b2974={};for(const [_0x5a8016,_0x5b1866]of Object['entries'](_0x249c4c)){_0x1b2974[_0x5a8016]=_0x48b579[_0x1a6b7d(0xc3)](_0x5a8016)&&typeof _0x5b1866===_0x1a6b7d(0x1e9)?_0x5b1866:this[_0x1a6b7d(0x1c1)](_0x5b1866,_0x48b579,_0x1a5c56);}return _0x1b2974;}return _0x249c4c;}[_0xffd9b6(0x107)](_0x4b313e){const _0x280da5=_0xffd9b6,_0x2ba19d=this['byValue'][_0x280da5(0x1bf)](String(_0x4b313e));return _0x2ba19d===void 0x0?_0x4b313e:'‹secret:'+_0x2ba19d+'›';}};import{isRunnerSetting,UNOTEST_DIR}from'@unotest/protocol';import{readdirSync,readFileSync as _0x8ad874}from'fs';import{join as _0x2d5f7d}from'path';function isSecretFileName(_0x13a83d){const _0x5b26f2={_0x34ad2e:0x1a4},_0x1184fa=_0xffd9b6,_0x43ae0b=[_0x1184fa(_0x5b26f2._0x34ad2e),'.secrets'][_0x1184fa(0xc8)](_0x5e435f=>_0x13a83d===_0x5e435f||_0x13a83d[_0x1184fa(0x20b)](_0x5e435f+'.')),_0x33d0ce=/\.(env|secrets)$/['test'](_0x13a83d);return _0x43ae0b||_0x33d0ce;}__name(isSecretFileName,_0xffd9b6(0x1d9));var KEY_LINE=/^([A-Z][A-Z0-9_]*)=/;function declaresVariables(_0x2aec48){return isSecretFileName(_0x2aec48['replace'](/\.example$/,''));}function _0x3ea7(_0x3b3a61,_0xe67b42){_0x3b3a61=_0x3b3a61-0xb4;const _0x30833f=_0x3083();let _0x3ea73a=_0x30833f[_0x3b3a61];if(_0x3ea7['sozhxW']===undefined){var _0x1e16fe=function(_0x1b6a6e){const _0xedc13e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x28682f='',_0x3ef9b6='';for(let _0x2f1c59=0x0,_0x30ea03,_0x5eae08,_0x4dd600=0x0;_0x5eae08=_0x1b6a6e['charAt'](_0x4dd600++);~_0x5eae08&&(_0x30ea03=_0x2f1c59%0x4?_0x30ea03*0x40+_0x5eae08:_0x5eae08,_0x2f1c59++%0x4)?_0x28682f+=String['fromCharCode'](0xff&_0x30ea03>>(-0x2*_0x2f1c59&0x6)):0x0){_0x5eae08=_0xedc13e['indexOf'](_0x5eae08);}for(let _0x1ca54d=0x0,_0x2dded4=_0x28682f['length'];_0x1ca54d<_0x2dded4;_0x1ca54d++){_0x3ef9b6+='%'+('00'+_0x28682f['charCodeAt'](_0x1ca54d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ef9b6);};_0x3ea7['HKirmp']=_0x1e16fe,_0x3ea7['AqozbJ']={},_0x3ea7['sozhxW']=!![];}const _0x3f579f=_0x30833f[0x0],_0x411559=_0x3b3a61+_0x3f579f,_0x46fc7b=_0x3ea7['AqozbJ'][_0x411559];return!_0x46fc7b?(_0x3ea73a=_0x3ea7['HKirmp'](_0x3ea73a),_0x3ea7['AqozbJ'][_0x411559]=_0x3ea73a):_0x3ea73a=_0x46fc7b,_0x3ea73a;}__name(declaresVariables,'declaresVariables');function readSuiteDeclarations(_0x5b0b71){const _0x20dd60={_0x551df6:0x14e,_0x4b82d2:0x20c,_0x1d4ba8:0x17c,_0x469591:0xe7,_0x4a71ff:0xc3},_0x123a34=_0xffd9b6;let _0x3c3fe0;try{_0x3c3fe0=readdirSync(_0x2d5f7d(_0x5b0b71,UNOTEST_DIR));}catch{return[];}const _0x20bf62=[],_0x1dd762=new Set();for(const _0x3961d6 of _0x3c3fe0['filter'](declaresVariables)[_0x123a34(0xff)]()){let _0x544da8;try{_0x544da8=_0x8ad874(_0x2d5f7d(_0x5b0b71,UNOTEST_DIR,_0x3961d6),'utf8');}catch{continue;}const _0x202685=_0x3961d6[_0x123a34(_0x20dd60._0x551df6)](_0x123a34(0xc4)),_0x3fdfac=_0x3961d6[_0x123a34(_0x20dd60._0x4b82d2)](/\.example$/,'')[_0x123a34(0x20b)]('.secrets')?_0x123a34(0x11a):_0x123a34(0x19d);for(const _0x2a5968 of _0x544da8[_0x123a34(_0x20dd60._0x1d4ba8)]('\x0a')){const _0x34b1c6=KEY_LINE[_0x123a34(0x1b9)](_0x2a5968[_0x123a34(_0x20dd60._0x469591)]());if(!_0x34b1c6)continue;const _0x1566a4=_0x34b1c6[0x1];if(isRunnerSetting(_0x1566a4))continue;if(_0x1dd762[_0x123a34(_0x20dd60._0x4a71ff)](_0x1566a4))continue;_0x1dd762[_0x123a34(0x17f)](_0x1566a4),_0x20bf62['push']({'name':_0x1566a4,'source':_0x3fdfac,'fromExample':_0x202685});}}return _0x20bf62;}__name(readSuiteDeclarations,'readSuiteDeclarations');var WEB_SUFFIX2='';function layerInfos(_0x50aec7,_0xeb716){return _0xeb716['map'](_0x1f980d=>({'file':_0x1f980d,'exists':_0x13166a(_0x36acc3(_0x50aec7,_0x1f980d))}));}__name(layerInfos,_0xffd9b6(0xca));function describeEnvLayers(_0x3e3ced,_0x128267=process['env']){const _0x57babd=_0xffd9b6,_0x539ecb=activeEnvName(_0x128267),_0xd4e7ae=envLayerFilesFor(WEB_SUFFIX2,_0x539ecb),_0x421910=secretsLayerFilesFor(WEB_SUFFIX2,_0x539ecb);return{'active':_0x539ecb??null,'envFiles':layerInfos(_0x3e3ced,_0xd4e7ae),'secretsFiles':layerInfos(_0x3e3ced,_0x421910),'exampleFiles':layerInfos(_0x3e3ced,[_0xd4e7ae[0x0],_0x421910[0x0]]['filter'](_0x4a232f=>_0x4a232f!==void 0x0)[_0x57babd(0x20d)](_0x427e26=>_0x427e26+_0x57babd(0xc4)))};}__name(describeEnvLayers,_0xffd9b6(0x1f4));function formatSources(_0x5f4e14){const _0x559048={_0x26e166:0xdc,_0x1bf99c:0x122,_0x55f090:0x1df},_0x3fc8ee=_0xffd9b6,_0x5d1914=[..._0x5f4e14[_0x3fc8ee(_0x559048._0x26e166)],..._0x5f4e14[_0x3fc8ee(_0x559048._0x1bf99c)],..._0x5f4e14[_0x3fc8ee(_0x559048._0x55f090)]]['map'](_0x5b4f74=>_0x5b4f74['exists']?_0x5b4f74[_0x3fc8ee(0x215)]:_0x5b4f74[_0x3fc8ee(0x215)]+_0x3fc8ee(0xb5))[_0x3fc8ee(0x108)](',\x20'),_0x169d09=_0x5f4e14[_0x3fc8ee(0x18b)]?_0x3fc8ee(0xd0)+_0x5f4e14['active']+_0x3fc8ee(0x216):_0x3fc8ee(0x1a3);return _0x169d09+':\x20'+_0x5d1914;}__name(formatSources,_0xffd9b6(0x118));function secretsFilePath(_0x33e2e8,_0x5e5415){return _0x36acc3(_0x33e2e8,secretsFileFor('',_0x5e5415));}__name(secretsFilePath,_0xffd9b6(0x140));var EnvVariableStore=class{constructor(_0x3311ea,_0x5e7a4f,_0xafb6c9){const _0x51d870=_0xffd9b6;this[_0x51d870(0x19d)]=_0x3311ea,this[_0x51d870(0x11a)]=_0x5e7a4f,this['report']=_0xafb6c9;}[_0xffd9b6(0x19d)];['secrets'];[_0xffd9b6(0x199)];static{__name(this,_0xffd9b6(0x183));}[_0xffd9b6(0x1a8)](){const _0x779aa6={_0x4deb28:0x199},_0x25ff05=_0xffd9b6;return formatSources(this[_0x25ff05(_0x779aa6._0x4deb28)]);}['has'](_0x279d8d){const _0x522f09=_0xffd9b6;return _0x279d8d in this[_0x522f09(0x11a)]||this['env'][_0x279d8d]!==void 0x0;}[_0xffd9b6(0x1bf)](_0x45eca9){const _0x1a84e1={_0x2db43b:0x11a,_0x2aaf58:0x19d},_0x18b9f3=_0xffd9b6;return _0x45eca9 in this[_0x18b9f3(0x11a)]?this[_0x18b9f3(_0x1a84e1._0x2db43b)][_0x45eca9]:this[_0x18b9f3(_0x1a84e1._0x2aaf58)][_0x45eca9];}},SHORT_SECRET_LENGTH=0x6;function loadScenarioVariables(_0xeedb13,_0x31cf3b=process[_0xffd9b6(0x19d)],_0x3fdd18){const _0xb99489={_0x55d6df:0xc6},_0x464b1b={_0x10a810:0x15f,_0x339720:0xb6},_0x190b46=_0xffd9b6,_0xa89056=activeEnvName(_0x31cf3b),_0x4643af=describeEnvLayers(_0xeedb13,_0x31cf3b),_0x26654a=parseEnvLayered(_0xeedb13,_0xa89056),_0x46cc37={...parseEnvFile(secretsFilePath(_0xeedb13)),..._0xa89056?parseEnvFile(secretsFilePath(_0xeedb13,_0xa89056)):{}},_0x4aa648=new SecretRegistry(),_0x3c2831=[],_0x218bb9=__name((_0x1ed989,_0x29c689)=>{const _0xce1cfc=_0x3ea7;_0x4aa648['register'](_0x1ed989,_0x29c689);if(_0x29c689[_0xce1cfc(_0x464b1b._0x10a810)]>0x0&&_0x29c689['length']<SHORT_SECRET_LENGTH)_0x3c2831[_0xce1cfc(_0x464b1b._0x339720)]({'name':_0x1ed989,'length':_0x29c689[_0xce1cfc(0x15f)]});},_0x190b46(_0xb99489._0x55d6df));for(const [_0x2eaa93,_0x39e239]of Object[_0x190b46(0xec)](_0x46cc37)){_0x218bb9(_0x2eaa93,_0x39e239);}for(const _0x17a9ba of decodeNameList(_0x31cf3b[BOX_SECRET_NAMES_ENV])){const _0x17102c=_0x31cf3b[_0x17a9ba];if(_0x17102c!==void 0x0)_0x218bb9(_0x17a9ba,_0x17102c);}const _0x51b4c1=[...Object[_0x190b46(0x1aa)](_0x26654a)[_0x190b46(0x20d)](_0x1d8d9c=>({'name':_0x1d8d9c,'source':_0x190b46(0x19d),'secret':![],'category':categorizeVariable({'name':_0x1d8d9c,'source':_0x190b46(0x19d)})})),...Object['keys'](_0x46cc37)[_0x190b46(0x20d)](_0x1205af=>({'name':_0x1205af,'source':_0x190b46(0x11a),'secret':!![],'category':categorizeVariable({'name':_0x1205af,'source':_0x190b46(0x11a)})})),...declaredInExamples(_0xeedb13,_0x26654a,_0x46cc37)];return warnAboutShortSecrets(_0x3c2831,_0x3fdd18),{'store':new EnvVariableStore(_0x31cf3b,_0x46cc37,_0x4643af),'secretRegistry':_0x4aa648,'declared':_0x51b4c1,'envReport':_0x4643af};}__name(loadScenarioVariables,_0xffd9b6(0x150));function declaredInExamples(_0x357a6a,_0x1be8d1,_0x97fcfa){const _0x4e0a1a=_0xffd9b6;return readSuiteDeclarations(_0x357a6a)[_0x4e0a1a(0xe5)](_0x14840c=>_0x14840c[_0x4e0a1a(0x1cc)]&&!(_0x14840c[_0x4e0a1a(0x19f)]in _0x1be8d1)&&!(_0x14840c[_0x4e0a1a(0x19f)]in _0x97fcfa))[_0x4e0a1a(0x20d)](_0x558d41=>({'name':_0x558d41[_0x4e0a1a(0x19f)],'source':_0x558d41[_0x4e0a1a(0xee)],'secret':_0x558d41[_0x4e0a1a(0xee)]===_0x4e0a1a(0x11a),'category':categorizeVariable({'name':_0x558d41[_0x4e0a1a(0x19f)],'source':_0x558d41[_0x4e0a1a(0xee)]})}));}__name(declaredInExamples,_0xffd9b6(0x168));function warnAboutShortSecrets(_0x3f7dd2,_0x11a884){const _0x41f216={_0x3174b9:0xdb},_0xa65ee7=_0xffd9b6;if(_0x11a884===void 0x0)return;for(const {name:_0x1b2871,length:_0x3ac278}of _0x3f7dd2){_0x11a884[_0xa65ee7(_0x41f216._0x3174b9)](_0x1b2871+_0xa65ee7(0x1d4)+_0x3ac278+'\x20characters:\x20masking\x20is\x20by\x20value,\x20so\x20a\x20short\x20one\x20also\x20masks\x20ordinary\x20text\x20wherever\x20it\x20occurs\x20—\x20in\x20logs\x20and\x20in\x20the\x20page\x20capture\x20grounding\x20reads.\x20Grounding\x20may\x20get\x20worse\x20on\x20pages\x20that\x20contain\x20that\x20word.');}}__name(warnAboutShortSecrets,'warnAboutShortSecrets');var templates={'jsconfigJson':_0xffd9b6(0x106),'scenarioTemplate':_0xffd9b6(0x12a),'agentsMd':'#\x20@unotest/web\x20—\x20guide\x20for\x20AI\x20agents\x20(and\x20humans)\x0a\x0aThis\x20project\x20uses\x20[`@unotest/web`](https://www.npmjs.com/package/@unotest/web)\x0afor\x20end-to-end\x20testing\x20of\x20web\x20applications.\x0a\x0a##\x20Writing\x20a\x20test\x20—\x20use\x20the\x20skill\x20+\x20MCP\x0a\x0aFor\x20ANY\x20request\x20to\x20write,\x20record,\x20or\x20run\x20an\x20e2e\x20test:\x0a\x0a1.\x20Open\x20the\x20**`write-e2e-test`**\x20skill\x20—\x20`.claude/skills/write-e2e-test/SKILL.md`\x0a\x20\x20\x20(in\x20Claude\x20Code\x20you\x20can\x20also\x20run\x20`/write-e2e-test`)\x20—\x20and\x20follow\x20it.\x0a2.\x20Drive\x20the\x20browser\x20through\x20the\x20**`unotest-web`\x20MCP\x20tools**:\x20`new_context`\x20→\x0a\x20\x20\x20`explore_start`\x20→\x20`explore_step`\x20→\x20`get_page_snapshot`\x20→\x20`run_test`.\x0a\x0aDo\x20NOT\x20hand-author\x20tests\x20blind\x20or\x20map\x20the\x20project\x20with\x20`find`/`ls`/`awk`\x20—\x20the\x0askill\x27s\x20Phase\x200\x20names\x20the\x20exact\x20files\x20to\x20read.\x20Runnable,\x20copy-pasteable\x0aexamples\x20live\x20in\x20`unotest/e2e/examples/`.\x0a\x0a##\x20Layout\x0a\x0a-\x20`unotest/e2e/<feature>/<name>.js`\x20—\x20test\x20scenarios,\x20grouped\x20by\x20feature/page\x0a\x20\x20(one\x20`test_*`\x20function\x20per\x20file).\x20**Required:**\x20every\x20scenario\x20lives\x20in\x20a\x0a\x20\x20feature\x20subfolder.\x20A\x20test\x20file\x20placed\x20directly\x20in\x20`unotest/e2e/`\x20is\x20rejected\x0a\x20\x20by\x20the\x20linter\x20(`lint:scenario-in-root`).\x0a-\x20`unotest/e2e/_helpers/`\x20—\x20project-specific\x20helpers\x20(visible\x20to\x20all\x20scenarios)\x0a-\x20`unotest/e2e/_template.js`\x20—\x20starting-point\x20template\x20(copy\x20into\x20a\x20feature\x20folder)\x0a\x0a##\x20DSL\x20conventions\x0a\x0aThe\x20DSL\x20is\x20a\x20strict\x20JS\x20subset\x20parsed\x20by\x20@unotest/dsl.\x20Method\x20chains,\x20options-\x0aobjects,\x20and\x20variables\x20are\x20allowed.\x20Multi-line\x20strings\x20use\x0abackticks\x20but\x20`${...}`\x20interpolation\x20is\x20forbidden\x20(sandbox\x20boundary\x20—\x0apass\x20values\x20via\x20positional\x20args).\x0a\x0a**Every\x20step\x20must\x20sit\x20inside\x20a\x20`step(\x22description\x22,\x20()\x20=>\x20{\x20…\x20})`\x20block\x20(linter\x0aenforces).**\x20The\x20title\x20is\x20plain-English\x20intent;\x20the\x20steps\x20inside\x20are\x20the\x0aimplementation.\x20When\x20a\x20step\x20later\x20breaks\x20(selector\x20drift),\x20you\x20read\x20the\x0atitle\x20to\x20understand\x20what\x20the\x20group\x20was\x20trying\x20to\x20do\x20and\x20repair\x20it.\x20Group\x20by\x0aintent,\x20one\x20block\x20per\x20logical\x20chunk:\x0a\x0a```\x0afunction\x20test_login()\x20{\x0a\x20\x20step(\x22Sign\x20in\x20as\x20the\x20demo\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27https://app.example.com/login\x27);\x0a\x20\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20\x27demo@example.com\x27);\x0a\x20\x20\x20\x20click(getByRole(\x27button\x27,\x20{name:\x20\x27Log\x20in\x27}));\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Dashboard\x20shows\x20the\x20signed-in\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20assertText(getByRole(\x27heading\x27),\x20\x27Welcome\x27);\x0a\x20\x20});\x0a}\x0a```\x0a\x0a**Base\x20URL\x20—\x20write\x20relative\x20paths.**\x20`APP_BASE_URL`\x20(in\x20`unotest/.env`)\x20is\x20the\x0aapp\x27s\x20base;\x20`goto(\x27/login\x27)`\x20resolves\x20against\x20it.\x20Don\x27t\x20concatenate\x0a(`goto(APP_BASE_URL\x20+\x20\x27/login\x27)`)\x20—\x20just\x20pass\x20the\x20path:\x0a\x0a```\x0agoto(\x27/login\x27);\x0afill(getByLabel(\x27Password\x27),\x20TEST_USER_PASSWORD);\x0a```\x0a\x0a**Environments.**\x20Override\x20`APP_BASE_URL`\x20(and\x20any\x20var)\x20per\x20environment\x20with\x0aoverlay\x20files\x20—\x20`unotest/.env.staging`,\x20`unotest/.env.production`\x20(secrets:\x0a`unotest/.secrets.<env>`).\x20Select\x20one\x20at\x20run\x20time:\x20`npx\x20@unotest/web\x20e2e\x20<name>\x0a--env\x20staging`.\x20The\x20overlay\x20layers\x20over\x20the\x20base\x20`.env`\x20(overlay\x20wins).\x0a\x0a**External\x20variables\x20&\x20secrets:**\x20reference\x20logins\x20/\x20tokens\x20by\x20a\x20bare\x0a`UPPER_SNAKE`\x20name\x20—\x20resolved\x20from\x20`unotest/.env`\x20(normal)\x20or\x20`unotest/.secrets`\x0a(secret,\x20masked\x20in\x20logs).\x20No\x20`env()`/`secret()`\x20wrapper.\x20A\x20lowercase\x20name\x20is\x20an\x0ain-scenario\x20binding;\x20an\x20unknown\x20`UPPER_SNAKE`\x20fails\x20the\x20run\x20asking\x20you\x20to\x20add\x20it\x0ato\x20`unotest/.env`.\x0a\x0a**Selector\x20hierarchy\x20(D-22\x20—\x20linter\x20enforces):**\x0a\x0a1.\x20`getByTestId(id)`\x20—\x20most\x20stable\x0a2.\x20`getByRole(role,\x20{name})`\x20—\x20semantic,\x20a11y-aware\x0a3.\x20`getByLabel(text)`\x20—\x20for\x20form\x20fields\x0a4.\x20`getByText(text)`\x20—\x20for\x20unique\x20text\x0a5.\x20`locator(css)`\x20—\x20last\x20resort\x20(linter\x20warns)\x0a\x0aFull\x20reference\x20shipped\x20with\x20the\x20package:\x0a\x0a-\x20`node_modules/@unotest/web/guides/dsl-reference.md`\x20—\x20DSL\x20functions\x20+\x20linter\x20codes\x0a\x0a##\x20Running\x20(CLI)\x0a\x0a-\x20`npx\x20@unotest/web\x20e2e\x20<feature>/<name>`\x20—\x20run\x20a\x20scenario\x20by\x20name\x0a-\x20`npx\x20@unotest/web\x20lint`\x20—\x20static\x20check\x20of\x20all\x20scenarios\x20+\x20helpers\x0a-\x20`npx\x20@unotest/web\x20mcp`\x20—\x20start\x20the\x20MCP\x20server\x20for\x20agent\x20control\x0a\x0a##\x20Via\x20MCP\x20(Claude\x20Code\x20/\x20Claude\x20Desktop\x20/\x20Cursor)\x0a\x0aThe\x20MCP\x20server\x20exposes:\x0a\x0a-\x20`run_test\x20name=\x22<name>\x22\x20mode=\x22step\x22\x20pauseOnFailure=true`\x20—\x20run\x20with\x20step-mode\x0a-\x20`step`\x20/\x20`resume`\x20—\x20advance\x20one\x20AST\x20node\x20/\x20run\x20until\x20next\x20pause\x0a-\x20`inspect_runtime`\x20—\x20current\x20state,\x20last\x20error,\x20locals\x20dump\x0a-\x20`abort_runtime`\x20—\x20kill\x20a\x20paused\x20runtime\x0a\x0aFor\x20agent-fix\x20workflows\x20on\x20flaky\x20tests:\x20`agent_fix\x20testId=\x22<id>\x22`\x20returns\x20a\x0astructured\x20context\x20bundle\x20(see\x20D-25\x20—\x20we\x20never\x20call\x20LLMs\x20or\x20auto-apply\x0adiffs,\x20the\x20diff\x20comes\x20from\x20your\x20MCP-host\x20agent).\x0a','claudeMdBody':_0xffd9b6(0x1d1),'examples':{'01-smoke.js':_0xffd9b6(0x1d7),'02-form-fill.js':'//\x20Example\x2002\x20—\x20fill\x20an\x20input\x20+\x20assert\x20the\x20app\x20reacted.\x0a//\x0a//\x20Against\x20playground.unotest.com/scenarios/big-table.\x20Demonstrates\x20getByRole\x0a//\x20for\x20a\x20labelled\x20input,\x20typed\x20input\x20via\x20fill(),\x20and\x20a\x20locator\x20method-chain\x0a//\x20(getByRole(\x27row\x27).filter({hasText}).first())\x20in\x20an\x20assertion.\x0a//\x20Run\x20with:\x20\x20npx\x20@unotest/web\x20e2e\x20examples/02-form-fill\x0a\x0afunction\x20test_form_fill_happy_path()\x20{\x0a\x20\x20step(\x22Filter\x20the\x20Big\x20Table\x20by\x20a\x20name\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27/scenarios/big-table\x27);\x0a\x20\x20\x20\x20fill(getByRole(\x27textbox\x27,\x20{name:\x20\x27Filter\x20by\x20name\x27}),\x20\x27Uma\x20Quinn\x27);\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Filtering\x20reveals\x20the\x20Clear\x20filter\x20control\x20and\x20matching\x20rows\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20assertVisible(getByRole(\x27button\x27,\x20{name:\x20\x27Clear\x20filter\x27}));\x0a\x20\x20\x20\x20assertVisible(getByRole(\x27row\x27).filter({hasText:\x20\x27Uma\x20Quinn\x27}).first());\x0a\x20\x20});\x0a}\x0a'},'secretsExample':_0xffd9b6(0xf4),'envExample':'#\x20unotest-web\x20—\x20copied\x20to\x20unotest/.env\x20by\x20`init`\x20if\x20not\x20present.\x0a#\x0a#\x20Fill\x20in\x20values\x20that\x20apply\x20to\x20your\x20project.\x20Variables\x20are\x20loaded\x20by\x20the\x0a#\x20runner\x20at\x20scenario\x20start.\x0a#\x0a#\x20Reference\x20any\x20variable\x20from\x20a\x20scenario\x20by\x20its\x20bare\x20UPPER_SNAKE\x20name\x20—\x0a#\x20no\x20env()/secret()\x20wrapper:\x0a#\x0a#\x20\x20\x20goto(\x27/login\x27);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20relative\x20—\x20see\x20APP_BASE_URL\x0a#\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20TEST_USER_EMAIL);\x0a#\x0a#\x20Secret\x20values\x20(passwords,\x20tokens)\x20go\x20in\x20unotest/.secrets\x20instead\x20—\x20same\x0a#\x20format,\x20but\x20masked\x20in\x20every\x20log.\x20An\x20unknown\x20UPPER_SNAKE\x20name\x20fails\x20the\x0a#\x20run\x20with\x20a\x20clear\x20\x22add\x20it\x20to\x20unotest/.env\x22\x20message.\x0a#\x0a#\x20Environments:\x20override\x20any\x20value\x20per\x20environment\x20with\x20overlay\x20files\x20—\x0a#\x20unotest/.env.staging,\x20unotest/.env.production\x20(secrets:\x20.secrets.<env>).\x0a#\x20Select\x20one:\x20`npx\x20@unotest/web\x20e2e\x20<name>\x20--env\x20staging`.\x20The\x20overlay\x20layers\x0a#\x20over\x20this\x20base\x20file\x20(overlay\x20wins);\x20the\x20shell\x20environment\x20wins\x20over\x20both.\x0a\x0a#\x20---\x20App\x20under\x20test\x20--------------------------------------------------------\x0a#\x20The\x20app\x27s\x20base\x20URL.\x20Relative\x20goto(\x27/path\x27)\x20resolves\x20against\x20it\x20(wired\x20into\x0a#\x20Playwright\x27s\x20baseURL\x20automatically),\x20so\x20write\x20goto(\x27/login\x27)\x20—\x20never\x0a#\x20goto(APP_BASE_URL\x20+\x20\x27/login\x27).\x20Also\x20used\x20for\x20assertUrl\x20substring\x20matching.\x0a#\x20Defaults\x20to\x20the\x20unotest\x20playground\x20so\x20the\x20example\x20scenarios\x20run\x20out\x20of\x20the\x0a#\x20box;\x20point\x20it\x20at\x20your\x20own\x20app.\x0aAPP_BASE_URL=https://playground.unotest.com\x0a\x0a#\x20---\x20Database\x20--------------------------------------------------------------\x0a#\x20Used\x20by\x20dbQuery\x20/\x20dbExec.\x20Install\x20the\x20matching\x20driver\x20as\x20a\x20peer-dep:\x0a#\x20\x20\x20pnpm\x20add\x20-D\x20pg\x20@types/pg\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20for\x20postgresql://\x0a#\x20\x20\x20pnpm\x20add\x20-D\x20mysql2\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20for\x20mysql://\x0a#\x20(SQLite\x20via\x20better-sqlite3\x20—\x20install\x20only\x20if\x20needed.)\x0aDATABASE_URL=postgresql://postgres:postgres@localhost:5432/myapp_test\x0a\x0a#\x20---\x20Extra\x20API\x20hosts\x20-------------------------------------------------------\x0a#\x20apiCall(...)\x20goes\x20against\x20sandbox.apiBaseUrl\x20from\x20unotest.config.*\x20by\x0a#\x20default.\x20A\x20setup\x20that\x20talks\x20to\x20MORE\x20hosts\x20names\x20them\x20here\x20and\x20picks\x20one\x0a#\x20per\x20call\x20by\x20the\x20variable\x20NAME\x20(URLs\x20never\x20appear\x20in\x20scenarios):\x0a#\x20\x20\x20apiCall(\x27POST\x27,\x20\x27/things\x27,\x20body,\x20headers,\x20{base:\x20\x27API_BASE_CHAT\x27})\x0a#\x20API_BASE_CHAT=https://chatbackend.example.com\x0a\x0a#\x20---\x20Runner\x20--------------------------------------------------------------\x0a#\x20Show\x20the\x20browser\x20window\x20during\x20runs\x20(default:\x20headless).\x0a#\x20UNOTEST_HEADED=1\x0a#\x20Slow\x20each\x20Playwright\x20op\x20by\x20N\x20ms\x20(default:\x200).\x20Pairs\x20with\x20HEADED\x20for\x0a#\x20watching\x20the\x20agent\x20at\x20work.\x0a#\x20UNOTEST_SLOW_MO=100\x0a#\x20Browser\x20engine\x20for\x20this\x20run\x20(chromium\x20|\x20firefox\x20|\x20webkit).\x20Overrides\x20the\x0a#\x20first\x20entry\x20of\x20`browsers`\x20in\x20unotest.config.*.\x20Default:\x20the\x20config.\x0a#\x20UNOTEST_BROWSER=chromium\x0a#\x20Chromium\x20channel\x20for\x20this\x20run\x20(chrome\x20|\x20msedge\x20|\x20chrome-beta\x20|\x20bundled).\x0a#\x20Overrides\x20`channel`\x20in\x20unotest.config.*\x20—\x20the\x20config\x20travels\x20with\x20the\x0a#\x20suite,\x20this\x20stays\x20on\x20the\x20machine.\x20`bundled`\x20=\x20Playwright\x27s\x20own\x20Chromium.\x0a#\x20UNOTEST_BROWSER_CHANNEL=bundled\x0a#\x20Default\x20action\x20timeout\x20in\x20milliseconds\x20—\x20applied\x20to\x20every\x20click\x20/\x0a#\x20fill\x20/\x20waitFor\x20/\x20etc.\x20via\x20Playwright\x27s\x20setDefaultTimeout.\x20Default\x203000.\x0a#\x20Bump\x20if\x20your\x20app\x20is\x20slow;\x20per-action\x20override\x20via\x20the\x20action\x27s\x0a#\x20options.timeout.\x20Playwright\x27s\x20stock\x2030000\x20strands\x20interactive\x20agents.\x0a#\x20UNOTEST_DEFAULT_TIMEOUT_MS=3000\x0a#\x20Default\x20navigation\x20timeout\x20in\x20milliseconds\x20—\x20applied\x20to\x20goto\x20/\x20reload\x20/\x0a#\x20waitForUrl,\x20click\x27s\x20post-action\x20navigation\x20wait,\x20AND\x20setPage\x27s\x20wait\x20for\x20a\x0a#\x20newly\x20opened\x20tab\x20to\x20appear\x20+\x20load.\x20Real-world\x20pages\x20routinely\x20take\x205–15s\x0a#\x20to\x20fire\x20\x27load\x27;\x20keep\x20this\x20separate\x20from\x20the\x20action\x20timeout\x20above.\x0aUNOTEST_DEFAULT_NAVIGATION_TIMEOUT_MS=15000\x0a\x0a#\x20Per-run\x20wall-clock\x20budget\x20in\x20milliseconds\x20—\x20a\x20run\x20aborts\x20once\x20it\x20exceeds\x0a#\x20this.\x20Guards\x20against\x20a\x20stuck\x20scenario\x20hanging\x20the\x20agent\x20indefinitely.\x0a#\x20Invalid\x20or\x20non-positive\x20values\x20fall\x20back\x20to\x20the\x20default.\x20Default\x20300000.\x0a#\x20UNOTEST_MAX_DURATION_MS=300000\x0a\x0a#\x20---\x20Locale\x20+\x20timezone\x20---------------------------------------------------\x0a#\x20Pin\x20the\x20browser\x20context\x27s\x20Accept-Language\x20/\x20navigator.language.\x20Without\x0a#\x20these,\x20tests\x20inherit\x20the\x20OS\x20locale\x20—\x20accessible-name\x20selectors\x0a#\x20(`getByRole(name)`)\x20on\x20i18n\x27d\x20apps\x20will\x20break\x20across\x20machines.\x0a#\x20UNOTEST_LOCALE=en-US\x0a#\x20UNOTEST_TIMEZONE=UTC\x0a\x0a#\x20---\x20Recording\x20(explore_*)\x20----------------------------------------------\x0a#\x20Grace\x20window\x20in\x20ms\x20after\x20each\x20explore_step\x20action.\x20If\x20a\x20click\x20opens\x20a\x0a#\x20new\x20tab/popup,\x20the\x20MCP\x20server\x20auto-switches\x20the\x20active\x20page\x20to\x20it\x20AND\x0a#\x20inserts\x20setPage(N)\x20into\x20the\x20generated\x20DSL\x20trace.\x20Set\x20to\x200\x20to\x20disable\x0a#\x20(strict\x20mode).\x20Has\x20NO\x20effect\x20on\x20run_test\x20—\x20there\x20setPage\x20already\x20waits\x0a#\x20for\x20the\x20tab\x20to\x20appear\x20on\x20its\x20own.\x20Range:\x20[0,\x2010000].\x20Default:\x202000.\x0a#\x20UNOTEST_POPUP_GRACE_MS=2000\x0a\x0a#\x20---\x20Logging\x20-------------------------------------------------------------\x0a#\x20debug\x20|\x20info\x20|\x20warn\x20|\x20error.\x20Default:\x20info.\x0aUNOTEST_LOG_LEVEL=info\x0a\x0a#\x20---\x20Debug\x20diagnostics\x20---------------------------------------------------\x0a#\x20Off\x20by\x20default.\x20Set\x20to\x201\x20to\x20record\x20a\x20structured\x20JSONL\x20log\x20+\x20per-call\x0a#\x20folders\x20under\x20unotest/.debug/\x20—\x20then\x20restart\x20the\x20MCP\x20server.\x20Each\x20tool\x0a#\x20call\x20gets\x20a\x20folder\x20with\x20the\x20full\x20snapshot\x20JSON,\x20the\x20outerHTML\x20of\x20the\x0a#\x20element\x20a\x20locator\x20resolved\x20to,\x20and\x20(on\x20failure)\x20page.html\x20+\x20a\x20screenshot,\x0a#\x20so\x20you\x20(and\x20the\x20AI\x20agent,\x20via\x20get_last_mcp_log)\x20can\x20verify\x20the\x20snapshot\x0a#\x20didn\x27t\x20glitch\x20and\x20the\x20locator\x20hit\x20the\x20right\x20element\x20—\x20instead\x20of\x20guessing\x0a#\x20from\x20a\x20truncated\x20error.\x20audit_last_run\x20then\x20checks\x20the\x20run\x20against\x20the\x0a#\x20testing\x20rules.\x20Also\x20turns\x20on\x20full\x20CLI\x20stack\x20traces.\x20Use\x20\x27summary\x27\x20for\x20a\x0a#\x20lighter\x20log\x20(tool\x20+\x20snapshot\x20layers\x20only,\x20no\x20artifacts).\x20NOTE:\x20tool\x0a#\x20arguments\x20are\x20logged\x20verbatim,\x20so\x20a\x20fill()\x20with\x20a\x20password\x20lands\x20in\x20the\x0a#\x20local\x20(gitignored)\x20log\x20—\x20keep\x20this\x20off\x20unless\x20you\x27re\x20debugging.\x0a#\x20UNOTEST_DEBUG=1\x0a\x0a#\x20---\x20Capture\x20(viewer\x20inspector)\x20------------------------------------------\x0a#\x20Record\x20the\x20browser\x20console\x20+\x20network\x20requests\x20into\x20each\x20run\x27s\x20dir\x20so\x20the\x0a#\x20viewer\x27s\x20Console\x20/\x20Network\x20inspector\x20tabs\x20are\x20populated.\x20Set\x20to\x200\x20to\x20disable.\x0aUNOTEST_NETWORK=1\x0aUNOTEST_CONSOLE=1\x0a#\x20Set\x20to\x201\x20to\x20also\x20capture\x20a\x20screenshot\x20after\x20EVERY\x20executed\x20step\x20(into\x0a#\x20unotest/.runs/<runId>/screenshot/;\x20click\x20a\x20step\x20row\x20in\x20the\x20viewer\x20to\x20see\x0a#\x20it).\x20On\x20failure,\x20a\x20screenshot\x20+\x20page.html\x20always\x20land\x20in\x0a#\x20unotest/.runs/<runId>/failure/\x20—\x20no\x20flag\x20needed.\x0a#\x20UNOTEST_STEP_SCREENSHOTS=1\x0a'};function unotestConfigMjs(_0x37815c){const _0xef9a38={_0x59b42e:0x135,_0x4e3983:0x11f},_0x2fbd64=_0xffd9b6,_0x1bea3f=_0x37815c===void 0x0?_0x2fbd64(0x1e6):_0x2fbd64(_0xef9a38._0x59b42e)+JSON[_0x2fbd64(_0xef9a38._0x4e3983)](_0x37815c)+',';return _0x2fbd64(0x20a)+_0x1bea3f+'\x0a\x20\x20//\x20viewer:\x20{\x0a\x20\x20//\x20\x20\x20port:\x205173,\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20default:\x20random\x20free\x20port\x0a\x20\x20//\x20\x20\x20browser:\x20true,\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20default:\x20true\x20(auto-open\x20on\x20`viewer`)\x0a\x20\x20//\x20},\x0a};\x0a';}__name(unotestConfigMjs,'unotestConfigMjs');function suitePackageJson(_0x1f01ee){const _0x365f9c={_0x31810c:0x11f},_0x553f90=_0xffd9b6;return JSON[_0x553f90(_0x365f9c._0x31810c)]({'name':_0x553f90(0x161),'private':!![],'devDependencies':{'@unotest/web':'^'+_0x1f01ee}},null,0x2)+'\x0a';}__name(suitePackageJson,'suitePackageJson');var JSCONFIG_REL=_0x2bdf99(_0xffd9b6(0xd9),_0xffd9b6(0x143)),ENV_TYPES_REL=_0x2bdf99(_0xffd9b6(0x191),'types',_0xffd9b6(0x156)),SKIPPED={'jsconfig':_0xffd9b6(0x1dd),'envTypes':'skipped'};function wanted(_0x25f420){const _0x35a52f={_0x3ba13b:0xe7,_0x113ef1:0x1d0},_0xa25579=_0xffd9b6,_0x1b3834=_0x25f420[_0xa25579(0x1f6)]?.[_0xa25579(_0x35a52f._0x3ba13b)]();return _0x1b3834!=='0'&&_0x1b3834!==_0xa25579(_0x35a52f._0x113ef1);}__name(wanted,_0xffd9b6(0x13e));var UNWRITABLE=new Set([_0xffd9b6(0x196),'EACCES',_0xffd9b6(0x144),_0xffd9b6(0x1b0),_0xffd9b6(0xeb)]);function ifWritable(_0x171bc2,_0xe733d8){const _0x301712={_0x4a55d0:0x1f0,_0x21d3bb:0xc3},_0x1763c3=_0xffd9b6;try{return{'value':_0x171bc2()};}catch(_0x5d6b8f){const _0x47ea0f=_0x5d6b8f[_0x1763c3(_0x301712._0x4a55d0)];if(_0x47ea0f!==void 0x0&&UNWRITABLE[_0x1763c3(_0x301712._0x21d3bb)](_0x47ea0f))return{'value':_0xe733d8,'unwritable':_0x47ea0f};throw _0x5d6b8f;}}__name(ifWritable,'ifWritable');var IDENTIFIER=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function renderEnvTypes(_0xfc7bc2){const _0x3f6eef={_0x1d841e:0x104,_0x481d1c:0x1fd},_0x54db80=_0xffd9b6,_0x511b18=[...new Set(_0xfc7bc2[_0x54db80(0xe5)](_0x1f697e=>IDENTIFIER[_0x54db80(0x102)](_0x1f697e)))][_0x54db80(0xff)]();return[_0x54db80(0x157),_0x54db80(_0x3f6eef._0x1d841e),_0x54db80(_0x3f6eef._0x481d1c),'',..._0x511b18[_0x54db80(0x20d)](_0x49f089=>'declare\x20const\x20'+_0x49f089+_0x54db80(0x137)),''][_0x54db80(0x108)]('\x0a');}__name(renderEnvTypes,'renderEnvTypes');function ensureEditorTypes(_0x42186d,_0x3972da={}){const _0x22030b={_0x39724b:0x19d,_0x353852:0x1de,_0x10082b:0xd9,_0x50804b:0x13f,_0x1b38ea:0x17b},_0xff4cfc=_0xffd9b6,_0x5ecf3f=_0x3972da[_0xff4cfc(_0x22030b._0x39724b)]??process['env'];if(!wanted(_0x5ecf3f))return SKIPPED;if(_0x3972da[_0xff4cfc(_0x22030b._0x353852)]&&_0x5ecf3f['CI'])return SKIPPED;if(!_0x57c69c(_0x2bdf99(_0x42186d,_0xff4cfc(_0x22030b._0x10082b))))return SKIPPED;const _0x4e605c=ifWritable(()=>ensureJsconfig(_0x42186d,_0x3972da[_0xff4cfc(0xfc)]??![]),_0xff4cfc(0x1dd)),_0x1b41a9=ifWritable(()=>syncEnvTypes(_0x42186d,_0x5ecf3f),'skipped'),_0x5365e4=_0x4e605c['unwritable']??_0x1b41a9[_0xff4cfc(_0x22030b._0x50804b)];return{'jsconfig':_0x4e605c[_0xff4cfc(0x17b)],'envTypes':_0x1b41a9[_0xff4cfc(_0x22030b._0x1b38ea)],..._0x5365e4!==void 0x0?{'unwritable':_0x5365e4}:{}};}__name(ensureEditorTypes,_0xffd9b6(0x1b7));function ensureJsconfig(_0x1dd0af,_0x5b7dcd){const _0x54a51c={_0x1452b6:0x1dd},_0xa5ad9a=_0xffd9b6,_0x1b6162=_0x2bdf99(_0x1dd0af,JSCONFIG_REL),_0x1132bb=_0x57c69c(_0x1b6162);if(_0x1132bb&&!_0x5b7dcd)return _0xa5ad9a(_0x54a51c._0x1452b6);return mkdirSync(dirname(_0x1b6162),{'recursive':!![]}),_0x42f9e9(_0x1b6162,templates[_0xa5ad9a(0x1c9)]),_0x1132bb?_0xa5ad9a(0xd2):'created';}__name(ensureJsconfig,_0xffd9b6(0x13c));function syncEnvTypes(_0x14be15,_0x4a9a91){const _0x25d005={_0x1b4c0a:0x21c},_0x73c729=_0xffd9b6,{declared:_0x1eac4b}=loadScenarioVariables(_0x14be15,_0x4a9a91),_0x2b7fd1=renderEnvTypes(_0x1eac4b['map'](_0x2fd3af=>_0x2fd3af[_0x73c729(0x19f)])),_0x365c2a=_0x2bdf99(_0x14be15,ENV_TYPES_REL),_0x2a7cca=_0x57c69c(_0x365c2a);if(_0x2a7cca&&_0x12a264(_0x365c2a,_0x73c729(0x138))===_0x2b7fd1)return _0x73c729(0x1dd);return mkdirSync(dirname(_0x365c2a),{'recursive':!![]}),_0x42f9e9(_0x365c2a,_0x2b7fd1),_0x2a7cca?_0x73c729(0xea):_0x73c729(_0x25d005._0x1b4c0a);}__name(syncEnvTypes,_0xffd9b6(0x133));import{readFileSync as _0x23364c}from'fs';import{dirname as _0xa9340d,resolve}from'path';import{fileURLToPath}from'url';function readOwnVersion(){const _0x110611={_0x14c15b:0xfd,_0x9e32b9:0x138,_0x437d60:0x184,_0x4c5e5a:0x1e9,_0x19002d:0x15f,_0x5036f8:0x1c5},_0x549650=_0xffd9b6,_0x20ac2b=_0xa9340d(fileURLToPath(import.meta.url)),_0x1b404c=resolve(_0x20ac2b,_0x549650(_0x110611._0x14c15b)),_0x3f203c=_0x23364c(_0x1b404c,_0x549650(_0x110611._0x9e32b9)),_0x17f10d=JSON['parse'](_0x3f203c);if(typeof _0x17f10d[_0x549650(_0x110611._0x437d60)]!==_0x549650(_0x110611._0x4c5e5a)||_0x17f10d[_0x549650(_0x110611._0x437d60)][_0x549650(_0x110611._0x19002d)]===0x0)throw new Error(_0x549650(0x152)+_0x1b404c+_0x549650(_0x110611._0x5036f8));return _0x17f10d[_0x549650(0x184)];}__name(readOwnVersion,_0xffd9b6(0x201));function promptYesNo(_0x34b794,_0x1fcbc4){const _0x19fb80={_0x2631b1:0x194},_0x41d55f={_0x122064:0x21a,_0x437820:0xda,_0x54d1c1:0x11e},_0x119a01={_0x355622:0xda,_0x3ccde8:0xda},_0x5a1e81=_0xffd9b6,_0x343be8=_0x1fcbc4?_0x5a1e81(0x1ed):_0x5a1e81(_0x19fb80._0x2631b1);return new Promise(_0x28f74f=>{const _0x48ee17={_0x362861:0x1e9,_0x4910b2:0xf7,_0x44d0c0:0xe7},_0x2b3383=_0x5a1e81;let _0xc4f34e=![];const _0x4c5922=__name(_0x203ed5=>{const _0x261c85=_0x3ea7;if(_0xc4f34e)return;_0xc4f34e=!![],process[_0x261c85(_0x119a01._0x355622)][_0x261c85(0x14c)]('data',_0x546315),process['stdin'][_0x261c85(0x14c)]('end',_0x128aea),process[_0x261c85(0xda)]['pause'](),process[_0x261c85(_0x119a01._0x3ccde8)][_0x261c85(0x115)](),_0x28f74f(_0x203ed5);},_0x2b3383(0x18d)),_0x546315=__name(_0x2e6334=>{const _0x1cd6db=_0x2b3383,_0x26a007=typeof _0x2e6334===_0x1cd6db(_0x48ee17._0x362861)?_0x2e6334:_0x2e6334['toString'](_0x1cd6db(0x138)),_0x1d7789=_0x26a007[_0x1cd6db(_0x48ee17._0x4910b2)]('\x0a');if(_0x1d7789<0x0)return;const _0x1d6709=_0x26a007[_0x1cd6db(0x154)](0x0,_0x1d7789)[_0x1cd6db(_0x48ee17._0x44d0c0)]()['toLowerCase']();if(_0x1d6709==='')return _0x4c5922(_0x1fcbc4);_0x4c5922(_0x1d6709==='y'||_0x1d6709==='yes');},_0x2b3383(_0x41d55f._0x122064)),_0x128aea=__name(()=>_0x4c5922(_0x1fcbc4),_0x2b3383(0x116));process['stdout']['write'](_0x34b794+_0x343be8),process[_0x2b3383(_0x41d55f._0x437820)]['on'](_0x2b3383(_0x41d55f._0x54d1c1),_0x546315),process[_0x2b3383(0xda)]['on']('end',_0x128aea),process[_0x2b3383(0xda)][_0x2b3383(0x130)]();});}__name(promptYesNo,'promptYesNo');import{spawn}from'child_process';import{createRequire}from'module';import{dirname as _0x2a52a2,resolve as _0x1f73ec}from'path';import{fileURLToPath as _0x2a352}from'url';async function installChromium(_0x4e27fb={}){const _0xbffb25={_0x361da4:0x1bb,_0x216ebb:0x1a0,_0xf18bf4:0x20e,_0x3f6553:0x101},_0x411ac1={_0x264356:0x124,_0x5b6046:0x188,_0x45cfe0:0x1f3,_0x7cc512:0x13b,_0x3558c6:0x13b,_0x2f7f4a:0x146,_0x370878:0x11e,_0x2c1fb1:0x109,_0xf6ddf3:0x11e,_0x2868bb:0x127,_0x59c687:0x1e8},_0x4e10a4={_0xfbaf44:0x15c},_0x2ec070=_0xffd9b6,_0x45bf39=_0x4e27fb[_0x2ec070(0xd7)]??(_0x4e8246=>process[_0x2ec070(0x146)][_0x2ec070(0x1c6)](_0x4e8246)),_0x366c2b=createRequire(import.meta.url),_0xf2ae39=_0x366c2b[_0x2ec070(_0xbffb25._0x361da4)](_0x2ec070(_0xbffb25._0x216ebb)),_0x29ba39=_0x366c2b(_0xf2ae39),_0x339d9=typeof _0x29ba39[_0x2ec070(_0xbffb25._0xf18bf4)]===_0x2ec070(0x1e9)?_0x29ba39['bin']:_0x29ba39[_0x2ec070(_0xbffb25._0xf18bf4)]?.[_0x2ec070(0x210)];if(!_0x339d9)throw new Error(_0x2ec070(_0xbffb25._0x3f6553));const _0x5b39dd=_0x1f73ec(_0x2a52a2(_0xf2ae39),_0x339d9);return new Promise((_0x1908a9,_0x51cf78)=>{const _0x5a0ddb=_0x2ec070,_0x12f767=spawn(process[_0x5a0ddb(_0x411ac1._0x264356)],[_0x5b39dd,_0x5a0ddb(_0x411ac1._0x5b6046),_0x5a0ddb(_0x411ac1._0x45cfe0)],{'stdio':[_0x5a0ddb(0x145),_0x5a0ddb(_0x411ac1._0x7cc512),_0x5a0ddb(_0x411ac1._0x3558c6)]});_0x12f767[_0x5a0ddb(_0x411ac1._0x2f7f4a)]?.['on'](_0x5a0ddb(_0x411ac1._0x370878),_0x41893e=>_0x45bf39(_0x41893e[_0x5a0ddb(0x16f)]())),_0x12f767[_0x5a0ddb(_0x411ac1._0x2c1fb1)]?.['on'](_0x5a0ddb(_0x411ac1._0xf6ddf3),_0x1e1fc3=>_0x45bf39(_0x1e1fc3[_0x5a0ddb(0x16f)]())),_0x12f767['on'](_0x5a0ddb(_0x411ac1._0x2868bb),_0x51cf78),_0x12f767['on'](_0x5a0ddb(_0x411ac1._0x59c687),_0x4cc0b2=>{const _0x3d1d8e=_0x5a0ddb;if(_0x4cc0b2===0x0)_0x1908a9();else _0x51cf78(new Error(_0x3d1d8e(_0x4e10a4._0xfbaf44)+_0x4cc0b2));});});}__name(installChromium,_0xffd9b6(0xf0));async function runInstallChromiumCli(){const _0x42e47b={_0xfdd77f:0x109,_0x9098da:0x1c6},_0x338296=_0xffd9b6;try{return await installChromium(),0x0;}catch(_0x23a505){return process[_0x338296(_0x42e47b._0xfdd77f)][_0x338296(_0x42e47b._0x9098da)](_0x338296(0xc1)+(_0x23a505 instanceof Error?_0x23a505[_0x338296(0x105)]:String(_0x23a505))+'\x0a'),0x1;}}__name(runInstallChromiumCli,'runInstallChromiumCli');var invokedDirectly=process['argv'][0x1]&&_0x2a352(import.meta.url)===process['argv'][0x1];invokedDirectly&&runInstallChromiumCli()[_0xffd9b6(0x12e)](_0x589941=>process[_0xffd9b6(0x1e8)](_0x589941));async function chooseBrowser(_0x4d819b){const _0x57f59c={_0x2e2dc0:0xd7,_0x361ee7:0x182,_0x1366fd:0x10a,_0x32e915:0x10a,_0x58adcf:0x1ce,_0x250ce1:0x1af,_0x3f3733:0xcd,_0x57ac87:0x10a,_0x1414d3:0x12d,_0x4e9f62:0x1d8,_0x5c29d3:0x16c,_0x7bc8fe:0x10a,_0xa1a582:0x10a,_0x9889ac:0xd3,_0x495bf1:0x10a,_0x1cbbf1:0x1ba,_0x4aeff6:0x10a,_0x49b197:0x103,_0x5b74cc:0x10b,_0x5ed735:0x10d,_0x1eba14:0xb8,_0x3bc4f3:0x167},_0x11ecba=_0xffd9b6,_0x7b8178=_0x4d819b[_0x11ecba(_0x57f59c._0x2e2dc0)]??(_0x5afefe=>process[_0x11ecba(0x146)][_0x11ecba(0x1c6)](_0x5afefe));if(_0x4d819b[_0x11ecba(0x1ce)]===_0x11ecba(_0x57f59c._0x361ee7)){if(_0x4d819b['probe']['channel'])return _0x7b8178(_0x11ecba(0x158)+_0x4d819b['probe']['label']+'\x20('+_0x4d819b[_0x11ecba(_0x57f59c._0x1366fd)]['path']+')\x0a'),{'channel':_0x4d819b[_0x11ecba(_0x57f59c._0x32e915)][_0x11ecba(0x10d)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':['✗\x20--browser\x20system\x20but\x20no\x20Chrome\x20/\x20Edge\x20/\x20Chromium\x20found\x20on\x20this\x20machine.','\x20\x20Install\x20Chrome\x20from\x20https://www.google.com/chrome\x20and\x20re-run\x20init.']};}if(_0x4d819b[_0x11ecba(_0x57f59c._0x58adcf)]==='bundled')return _0x7b8178(_0x11ecba(_0x57f59c._0x250ce1)),await installChromium({'stdoutWrite':_0x7b8178}),{'channel':null,'installedBundled':!![],'warnings':[]};if(_0x4d819b[_0x11ecba(0x1ce)]===_0x11ecba(_0x57f59c._0x3f3733))return{'channel':void 0x0,'installedBundled':![],'warnings':['⚠\x20--browser\x20none\x20—\x20no\x20browser\x20configured.\x20Run\x20one\x20of:','\x20\x20\x20\x20npx\x20@unotest/web\x20install-chromium\x20\x20\x20\x20\x20\x20(downloads\x20bundled\x20chromium)',_0x11ecba(0x1a1)]};if(!_0x4d819b['interactive']){if(_0x4d819b[_0x11ecba(_0x57f59c._0x57ac87)][_0x11ecba(0x10d)])return _0x7b8178(_0x11ecba(_0x57f59c._0x1414d3)+_0x4d819b[_0x11ecba(_0x57f59c._0x57ac87)][_0x11ecba(0x125)]+_0x11ecba(0x198)+_0x4d819b['probe'][_0x11ecba(_0x57f59c._0x4e9f62)]+_0x11ecba(_0x57f59c._0x5c29d3)+_0x4d819b[_0x11ecba(_0x57f59c._0x7bc8fe)][_0x11ecba(0x10d)]+'\x27\x0a'),{'channel':_0x4d819b[_0x11ecba(_0x57f59c._0xa1a582)][_0x11ecba(0x10d)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x11ecba(0x128),_0x11ecba(_0x57f59c._0x9889ac),_0x11ecba(0x165)]};}if(_0x4d819b[_0x11ecba(_0x57f59c._0x495bf1)][_0x11ecba(0x10d)]){_0x7b8178(_0x11ecba(_0x57f59c._0x1cbbf1)+_0x4d819b[_0x11ecba(_0x57f59c._0x4aeff6)][_0x11ecba(0x125)]+_0x11ecba(_0x57f59c._0x49b197)+_0x4d819b[_0x11ecba(0x10a)][_0x11ecba(_0x57f59c._0x4e9f62)]+'\x0a');const _0x521cef=await promptYesNo(_0x11ecba(_0x57f59c._0x5b74cc)+_0x4d819b['probe'][_0x11ecba(0x125)]+'?',!![]);if(_0x521cef)return{'channel':_0x4d819b[_0x11ecba(_0x57f59c._0x1366fd)][_0x11ecba(_0x57f59c._0x5ed735)],'installedBundled':![],'warnings':[]};}else _0x7b8178(_0x11ecba(_0x57f59c._0x1eba14));const _0x4e6ce8=await promptYesNo(_0x11ecba(0xc2),!![]);if(_0x4e6ce8)return _0x7b8178(_0x11ecba(_0x57f59c._0x3bc4f3)),await installChromium({'stdoutWrite':_0x7b8178}),{'channel':null,'installedBundled':!![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':['⚠\x20No\x20browser\x20configured.\x20Run\x20one\x20of\x20before\x20first\x20test:','\x20\x20\x20\x20npx\x20@unotest/web\x20install-chromium\x20\x20\x20\x20\x20\x20(downloads\x20bundled\x20chromium)',_0x11ecba(0x1d6)]};}__name(chooseBrowser,'chooseBrowser');var PRINT_WIDTH=0x50,INDENT='\x20\x20';function formatJsonDocument(_0x8b55d){return emit(_0x8b55d,'','')+'\x0a';}__name(formatJsonDocument,_0xffd9b6(0x217));function emit(_0x361a1f,_0x294838,_0x48a948){const _0x16a119={_0x547cef:0xed},_0x201318=_0xffd9b6;if(Array[_0x201318(_0x16a119._0x547cef)](_0x361a1f))return emitArray(_0x361a1f,_0x294838,_0x48a948);if(isPlainObject(_0x361a1f))return emitObject(_0x361a1f,_0x294838);return JSON['stringify'](_0x361a1f);}__name(emit,_0xffd9b6(0x1fe));function emitArray(_0x57a3b9,_0x463d39,_0x4b266d){const _0xb2f197={_0x8fc1f2:0x15f,_0x5e1e2c:0x170,_0x2954fe:0x108,_0x1a3d4e:0x20d},_0x10a7c6=_0xffd9b6;if(_0x57a3b9[_0x10a7c6(_0xb2f197._0x8fc1f2)]===0x0)return'[]';const _0x48a5e7=leadingIndent(_0x463d39);if(_0x57a3b9[_0x10a7c6(_0xb2f197._0x5e1e2c)](isScalar)){const _0x39abbe='['+_0x57a3b9[_0x10a7c6(0x20d)](_0x1eeff8=>JSON[_0x10a7c6(0x11f)](_0x1eeff8))[_0x10a7c6(_0xb2f197._0x2954fe)](',\x20')+']';if(_0x463d39[_0x10a7c6(0x15f)]+_0x39abbe['length']+_0x4b266d[_0x10a7c6(0x15f)]<=PRINT_WIDTH)return _0x39abbe;}const _0x3e1ec7=_0x48a5e7+INDENT,_0x3395f5=_0x57a3b9[_0x10a7c6(_0xb2f197._0x1a3d4e)]((_0x1cb648,_0x37d5cd)=>_0x3e1ec7+emit(_0x1cb648,_0x3e1ec7,_0x37d5cd<_0x57a3b9[_0x10a7c6(0x15f)]-0x1?',':''));return'[\x0a'+_0x3395f5[_0x10a7c6(0x108)](',\x0a')+'\x0a'+_0x48a5e7+']';}__name(emitArray,_0xffd9b6(0x214));function emitObject(_0x3ede63,_0x43a18f){const _0x552ff9={_0x46c927:0x108},_0x2384b9=_0xffd9b6,_0x5e3253=Object['keys'](_0x3ede63)[_0x2384b9(0xe5)](_0x2d75e6=>_0x3ede63[_0x2d75e6]!==void 0x0);if(_0x5e3253['length']===0x0)return'{}';const _0x1fcdbb=leadingIndent(_0x43a18f),_0xf06bd0=_0x1fcdbb+INDENT,_0x2cb973=_0x5e3253['map']((_0x590ad5,_0x271efe)=>{const _0x5d0e97=_0x2384b9,_0x4c88c2=''+_0xf06bd0+JSON[_0x5d0e97(0x11f)](_0x590ad5)+':\x20',_0x5bc12e=_0x271efe<_0x5e3253[_0x5d0e97(0x15f)]-0x1?',':'';return _0x4c88c2+emit(_0x3ede63[_0x590ad5],_0x4c88c2,_0x5bc12e);});return'{\x0a'+_0x2cb973[_0x2384b9(_0x552ff9._0x46c927)](',\x0a')+'\x0a'+_0x1fcdbb+'}';}__name(emitObject,_0xffd9b6(0x160));function leadingIndent(_0x2b7d8d){const _0x37f24e={_0x593661:0x154},_0x554a77=_0xffd9b6;return _0x2b7d8d[_0x554a77(_0x37f24e._0x593661)](0x0,_0x2b7d8d[_0x554a77(0x15f)]-_0x2b7d8d[_0x554a77(0x1c3)]()['length']);}__name(leadingIndent,_0xffd9b6(0xb4));function isScalar(_0x1753b0){const _0xcafe1a={_0x59cb36:0x1b4,_0x9f669f:0xce},_0x386c75=_0xffd9b6;return _0x1753b0===null||['string',_0x386c75(_0xcafe1a._0x59cb36),_0x386c75(0xf2)][_0x386c75(_0xcafe1a._0x9f669f)](typeof _0x1753b0);}__name(isScalar,_0xffd9b6(0x19e));function isPlainObject(_0x36dc63){const _0x1f3ee9={_0x3c49af:0x16a},_0x42b982=_0xffd9b6;return typeof _0x36dc63===_0x42b982(_0x1f3ee9._0x3c49af)&&_0x36dc63!==null&&!Array['isArray'](_0x36dc63);}__name(isPlainObject,_0xffd9b6(0x1ec));var McpJsonParseError=class extends Error{static{__name(this,'McpJsonParseError');}constructor(_0x45281d){const _0x21a5e7={_0x15bfe9:0x19f,_0xc3930a:0x19a},_0x17db73=_0xffd9b6;super(_0x45281d),this[_0x17db73(_0x21a5e7._0x15bfe9)]=_0x17db73(_0x21a5e7._0xc3930a);}};function _0x3083(){const _0x581eae=['C2vJCMv0C0zPBgvqyxrO','u2vZC2LVBLn0yxj0','cK1ducbJB25MAwC6cG','ANnJB25MAwCUANnVBG','rvbfuK0','Aw5OzxjPDa','C3rKB3v0','C2TPBgW','ls1OzwXW','B3b0Aw9UCW','vxnLCLbYB21WDfn1yM1PDa','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','CMvTB3zLtgLZDgvUzxi','lMnSyxvKzs9OB29RCY9SB2CTywDLBNqUC2G','zw5KC1DPDgG','y29WEvbHy2THz2vgAwXL','Bg9HzfnJzw5HCMLVvMfYAwfIBgvZ','Dw5VDgvZDc8UDMLLD2vYlMXVzW','CgfJA2fNzs5QC29Uigf0ia','Dw5VDgvZDc8Uzw52','C2XPy2u','y2HLy2TxCML0ywjSzun3za','zw52lMqUDhm','lY8Gr0vorvjbveveigj5ieb1BM90zxn0l3DLyIbMCM9TihvUB3rLC3qVlMvUDIbHBMqGDw5VDgvZDc8UC2vJCMv0CYdIGjqGzg8GBM90igvKAxqU','icdINjmGC3LZDgvTia','CgfYC2u','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','BwLJCM9ZB2z0lwvKz2u','y2HYB21PDw0Gzg93BMXVywqGzxHPDgvKihDPDgGGy29Kzsa','Dw5VDgvZDc8UCxvLDwuQlW','uhjVz3jHBuzPBgvZ','BgvUz3rO','zw1PDe9IAMvJDa','Dw5VDgvZDc1ZDwL0zq','BwvYz2vny3bdB25MAwC','B3jKzxjLza','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','icbVCIbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LlG','l3vZCI9IAw4Vy2HYB21PDw0','cIaG4OAsigrVD25SB2fKAw5Nigj1BMrSzwqGq2HYB21PDw3IGkyk','zgvJBgfYzwrjBKv4yw1WBgvZ','zw52rxHHBxbSzq','B2jQzwn0','lMnSyxvKzs9Zzxr0Aw5NCY5QC29U','iokaLcb1C2LUzYbJAgfUBMvSicC','u3vIywDLBNrtDgfYDa','BM90zq','Dg9tDhjPBMC','zxzLCNK','ywDLBNqTDhjHy2uGAg9VA3mGywXYzwfKEsbWCMvZzw50','D2fYBMLUzW','lY5Ty3aUANnVBI5IywS','uhjLq29TCgfJDa','yNLwywX1zq','BxnLzgDL','qhvUB3rLC3qVD2vIqa','C2vJCMv0C0v4yw1WBgu','BwnW','rMfPBgvKihrVihbHCNnLic5JBgf1zguVC2v0DgLUz3mUANnVBIbHCYbku09ooIa','DMfSDwu','C3bSAxq','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','icdIGkiGuNvUihrOzsbZDwL0zsbVBIbHigjVEcWGB24GzxzLCNKGChvZAcbHBMqGBMLNAhrSEsaOzNjVBsdIGQWWlJa5l2GPoIbUChGGqhvUB3rLC3qVD2vIigXVz2LUicyMig5WEcbaDw5VDgvZDc93zwiGyM94ignYzwf0zq','ywrK','BwvYz2vdBgf1zgvnza','D2HPy2HpzG','C3LZDgvT','rw52vMfYAwfIBgvtDg9Yzq','DMvYC2LVBG','ChjVyMvfzgDL','lNvUB3rLC3qV','twLJCM9ZB2z0ievKz2u','Aw5ZDgfSBa','igrVzxmGBM90igv4Axn0','CgfYC2vbCMDZ','ywn0AxzL','yxbWzw5Kzwq','zMLUAxnO','BM8Gy2HHBM5LBcbZzxqGkgj1BMrSzwqGzMfSBgjHy2SGywz0zxiGAw5ZDgfSBc1JAhjVBwL1BsK','AxnuvfK','ntqYnZi4mfH3A0PxBa','lNvUB3rLC3q','D2fYBMLUz3m','icdcTYb1BM90zxn0l3vUB3rLC3qUy29UzMLNlM1QCYb1BMnOyw5NzwqGkgfSCMvHzhKGBwf0y2HLCYb0AguGDgvTCgXHDguP','ifT5l05Dia','y2f0y2G','rvjprLm','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','igzVDw5Kigf0ia','CMvWB3j0','twnWsNnVBLbHCNnLrxjYB3i','4PYtihvWzgf0zwq','ls1MB3jJzq','zw52','Axnty2fSyxi','BMfTzq','CgXHExDYAwDODc9WywnRywDLlMPZB24','icaGigLUC3rHBgWGq2HYB21LoIaGAhr0Chm6lY93D3CUz29Vz2XLlMnVBs9JAhjVBwu','l0fhru5uuY5Tzc5IywS','yMfZzsbLBNzPCM9UBwvUDcaOBM8Gvu5pvevtvf9ftLyP','lMvUDG','tM9Kzs5QCYb2zxjZAw9U','ywXYzwfKEsbWCMvZzw50','oty1nda0uuDou0jA','zgvZy3jPyMvtB3vYy2vZ','Dw5VDgvZDc9UB2rLx21VzhvSzxmV','A2v5CW','ihnVDxjJzsbTAxnZAw5NiokaLcbWywnRywDLigLUC3rHBgWGyNvNpW','mJm4mZy2mgvTB2zYua','D2LUmZi','CNvUrw52AxjVBM1LBNrdAgvJA3m','icdIHPiGzg93BMXVywrPBMCGyNvUzgXLzcbdAhjVBwL1BsaOFJe1mcbnqINIGkyk','ru5pru5u','uhjVz3jHBuzPBgvZkhG4nIK','quDftLrtlM1K','4PYtig92zxj3CM90zq','BNvTyMvY','ywrKzwqGywXSB3CGzw50CMLLCZOG','q0XbvurflM1K','zw5ZDxjLrwrPDg9YvhLWzxm','ntqXndGWq3LAsvDT','zxHLyW','cIaGrM91BMqG','CMvZB2X2zq','ywn0Aw9U','Dw5VDgvZDc13zwi','icdINjmGywrKzwqGiG','z2v0','zxHPDenVzgu','CMvKywn0vMfSDwu','C2L6zq','DhjPBvn0yxj0','C3rHDhvZ','igHHCYbUBYb1C2fIBguGiNzLCNnPB24IigzPzwXK','D3jPDgu','ug9ZDfrVB2XvC2u','Dw5VDgvZDc8Uzw52lMv4yw1WBgu','ANnJB25MAwDkC29U','yNvUzgXLza','u3LZDgvTigjYB3DZzxi','zNjVBuv4yw1WBgu','y2HVB3nLqNjVD3nLCG','B3zLCNjPzgu','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','zMfSC2u','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','y29TBwfUza','BNb4','igLZia','Dw5VDgvZDc8UCNvUCYOV','icaGigLUC3rHBgWGq2HYB21LigzYB20GAhr0Chm6lY93D3CUz29Vz2XLlMnVBs9JAhjVBwu','lY8GrxHHBxbSzsaWmsdIGjqGC21VA2u6ig5HDMLNyxrLicSGy2XPy2SGkYbvuKWGyxnZzxj0Aw9UlGOVlWOVlYbuAguGBwLUAw1HBcb0AhjLzs1ZDgvWihbHDhrLCM4UieHPDhmGCgXHEwDYB3vUzc51BM90zxn0lMnVBsbZBYbUBYbWCM9Qzwn0cI8VihnLDhvWigLZig5LzwrLzc4GuNvUihDPDgG6icbUChGGqhvUB3rLC3qVD2vIiguYzsbLEgfTCgXLCY8Wms1ZBw9RzqOkzNvUy3rPB24GDgvZDf9ZBw9Rzv9WBgf5z3jVDw5KkcKGEWOGihn0zxaOiK9Wzw4GDgHLiejPzYbuywjSzsbZy2vUyxjPBYbMCM9TihrOzsbWBgf5z3jVDw5KigLUzgv4iIWGkcKGpt4GEWOGicaGz290BYGNlYCPoWOGicaGy2XPy2SOz2v0qNLsB2XLkcDSAw5RjYWGE25HBwu6icDcAwCGvgfIBguNlcbLEgfJDdOGDhj1zx0PktSkicaGigfZC2vYDfvYBcGNl3nJzw5HCMLVCY9IAwCTDgfIBguNktSkicb9ktSkFqO','Cgf0Aa','AxntzwnYzxrgAwXLtMfTzq','ywDLBNrZtwq','BM9Kzv9TB2r1BgvZlW','A2LUza','C2TPChbLza','Aw1WBgLJAxq','zxHHBxbSzuzPBgvZ','lMnSyxvKzs9ZA2LSBhmVD3jPDguTztjLlxrLC3qVu0TjteWUBwq','lMjHAW','D2HPy2G','AxngAw5PDgu','icHWCMv2Aw91CYbRzxb0igfZia','C3LTyM9S','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP','y2HLy2ToB2rLvMvYC2LVBG','zxHPDa','C3rYAw5N','icdcTYbHBhjLywr5ihbYzxnLBNqGiG','C2v0','AxnqBgfPBK9IAMvJDa','ifTzl25Dia','Dw5VDgvZDc8UC25HChnOB3rZlW','Dw5VDgvZDc8QkI8QlMjHAW','y29Kzq','B3zLCNDYB3rLihvUB3rLC3qTD2vIigvUDhj5','y2HYB21L','y2HYB21PDw0','zgvZy3jPyMvfBNzmyxLLCNm','BNvTyMvYCW','vu5pvevtvf9freLut1jFvfLqrvm','zM9Yy2uTB3zLCNDYB3rL','y2HLy2TtExn0zw1cCM93C2vY','ANnJB25MAwC','mJaYmJuXwKrMshHu','BwvYz2vjBNrV','zgv0ywLS','lY8GuMvMCMvZAgvKigf1Dg9TyxrPy2fSBhKGB24GzxzLCNKGBgLUDcaVihj1BI4','zw1PDa','lY5JBgf1zguVkIOVkI5IywS','vxnHz2u6ihvUB3rLC3qTD2vIigLUAxqGw3rHCMDLDf0Gw29WDgLVBNnDcGPcB290C3rYyxaGDgHLihvUB3rLC3qVigXHEw91DcbPBIbHihbYB2PLy3q6ihnJzw5HCMLVCYWGy29UzMLNlcaUzw52cNrLBxbSyxrLCYWGlM1JCc5QC29Ulcb0AguGywDLBNqGz3vPzgvZlcaUz2L0AwDUB3jLigXPBMvZlGOkicbBDgfYz2v0xsaGicaGicaGicaGicaGicaGChjVAMvJDcbKAxjLy3rVCNKGkgrLzMf1Bhq6ihrOzsbJDxjYzw50ig9UzsKkicaTlwzVCMnLlcaTzIaGicaGicaGicaGicaGB3zLCNDYAxrLigzPBgvZihrOyxqGywXYzwfKEsbLEgLZDcWGA2vLCgLUzYbHcIaGicaGicaGicaGicaGicaGicaGicaGicaGic5IywSGy29WEsbVzIbLywnOig5LEhqGDg8GAxqkicaTlwjYB3DZzxiGC3LZDgvTFgj1BMrSzwr8BM9UzqOGicaGicaGicaGicaGicaGicaGicaGicaGicbHBNn3zxiGDgHLigjYB3DZzxiGCxvLC3rPB24GD2L0Ag91DcbHihbYB21WDaOGic0TAgvSCcWGlwGGicaGicaGicaGicaGicbWCMLUDcb0AgLZigfUzcbKBYbUB3rOAw5NigvSC2ukcKv4Axn0Aw5NigzPBgvZigfYzsbSzwz0igfSB25LoIbHihjLlxj1BIbYzxbVCNrZihrOzw0GyxmGygfSCMvHzhKGChjLC2vUDgakyw5KignOyw5NzxmGBM90AgLUzY4GrxHPDcaYig9UigfUig9WDgLVBIb0AgLZignVBw1HBMqGzg9LCYbUB3qGA25VDY4k','CMvHze93BLzLCNnPB24','l0nmqvvers5Tzc5IywS','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1ZDgfIBgu','zgvMAw5LuhjVCgvYDhK','vgfYz2v0igrPCMvJDg9YEq','uhjLvg9VBfvZzq','Dw5VDgvZDc9LmMuVx2HLBhbLCNmVlMDPDgTLzxa','cI5NAxrPz25VCMu6cG','cKrVBMuUie5LEhqGC3rLChm6cG','lY8GqhvUB3rLC3qVD2vIihbYB2PLy3qGy29UzMLNlIbbBgWGzMLLBgrZigfYzsbVChrPB25HBcdIGjqGzgvMyxvSDhmGyxbWBhKklY8GD2HLBIbVBwL0DgvKlGOVlWOVlYbtyxzLzcbHCYaUBwPZihnVihrOzsbYDw50Aw1LigXVywrZigL0igfZievttsbYzwDHCMrSzxnZig9MihrOzsbWCM9Qzwn0j3mklY8GCgfJA2fNzs5QC29Uicj0ExbLiIbMAwvSzc4GrM9YieLersbHDxrVy29TCgXLDguSihr5CguTAw1WB3j0ihrOzsbZy2HLBwe6cI8VcI8VicaGlYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcI8VicaGzxHWB3j0igrLzMf1BhqGEYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYb9oWOklYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcMv4Cg9YDcbKzwzHDwX0ihSkicaVlYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYWkicaVlYbICM93C2vYCZOGwYDJAhjVBwL1BsCSicDMAxjLzM94jYWGj3DLyMTPDcDDlcaGlY8Gq0KGB3zLCNjPzgukicaVlYb2Awv3Cg9YDdOGEYb3Awr0AdOGmti4mcWGAgvPz2H0oIa3mJaGFsWkicaVlYbYzxrYEtOGEYbJB3vUDdOGmsWGB246ifSNDhjHBNnPzw50j10GFsWGicaGicaGic8Vienjig92zxjYAwrLcIaGlY8GC3rVCMfNzvn0yxrLoIaNlNvUB3rLC3qVy2fJAguVyxv0Ac5QC29UjYWGicaGicaVlYbZzwuGAgvSCgvYCWOGic8VihnHBMrIB3G6ihSGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GyxbPq2fSBcaVihvWBg9HzcaVigrIuxvLCNKGlYbZAgvSBaOGic8VicaGyxbPqMfZzvvYBdOGj2H0DhbZoI8VyxbPlNLVDxiTyxbWlNrLC3qNlcaGicaGlY8GyMfZzsbMB3iGyxbPq2fSBcGNue9tvcCSicCVCgf0AcCSiokaPIKkicaVlYaGihvWBg9HzerPCJOGj3vUB3rLC3qVzML4DhvYzxmNlcaGicaGicaGicaGicaGic8VihjVB3qGzM9YihvWBg9HzcGNzg9JlNbKzICPihbHDgHZoWOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGChjVAMvJDcbYB290lIbvCgXVywrZig1HEqOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GBM90igvZy2fWzsbPDcaOCMvSyxrPDMuGCgf0AhmGB25SEsKUcIaGlY8GicbKyxrHyMfZztOGj3bVC3rNCMvZCwW6lY9SB2nHBgHVC3q6ntqZmI9HChbFDgvZDcCSicaVlYbKyLf1zxj5ic8GzgjfEgvJcIaGlY8GFsWk','C3rHCNrZv2L0Aa','CMvWBgfJzq','BwfW','yMLU','zgfYD2LU','CgXHExDYAwDODa','BMv3q29UDgvUDa','igzVDw5K','cKzPBgvZoGO','zw1PDefYCMf5','zMLSzq','iIaOvu5pvevtvf9ftLyP','zM9YBwf0sNnVBKrVy3vTzw50','Aw5PDdOG','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG','B25eyxrH','lI4VlI4V','y3jLyxrLza','y2HYB21PDw0TyNjVD3nLCG','AgvSCfjLCxvLC3rLza','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','nJm0ndG1nKf3tNrNsq','BgvHzgLUz0LUzgvUDa','icHUBYbZDwnOigzPBguP','ChvZAa','r29Vz2XLienOCM9Tzq','cIaGtM8GC3LZDgvTienOCM9TzsaVievKz2uGlYbdAhjVBwL1BsbKzxrLy3rLzc4k','Dw5VDgvZDc9WywnRywDLlMPZB24','mZuXsuP2rLH6','4PYtignYzwf0zwq','CNvUsw5PDa','yNjVD3nLCK92zxjYAwrL','n21Or2Lmza','u3rVCa','BwnWx191BM90zxn0lxDLyG','4PYxigLUC3rHBgWTy2HYB21PDw06ia','icbeB3DUBg9HzcbIDw5KBgvKienOCM9TAxvTicH+mtuWie1ckt8','AgfZ','lMv4yw1WBgu','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','CMvNAxn0zxi','ywXYzwfKEvbYzxnLBNq','C29Tzq','zxHHy3q','Bgf5zxjjBMzVCW','ywrKzwq','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','BM9Uzq','Aw5JBhvKzxm','yxjNDG','zw52AxjVBM1LBNqGiG','y3DK','B3zLCNDYB3rL','icbsDw4Gyg5WEcbaDw5VDgvZDc93zwiGAw5ZDgfSBc1JAhjVBwL1BwaGDg8Gzg93BMXVywqGDgHLigj1BMrSzwqGzMfSBgjHy2SS','icdcTYbUBYbJAgfUz2vZig5LzwrLzaO','pceTlsb1BM90zxn0oMvUzcaTlt4','Bg9NlwfNzw50lNnO','C3rKB3v0v3jPDgu','ls1ICM93C2vY','Dw5VDgvZDa','C3rKAw4','D2fYBG','zw52rMLSzxm','ndu4mJe2AuzLBKX4','pceTlsb1BM90zxn0oMjLz2LUicHTyw5Hz2vKigj5ieb1BM90zxn0l3DLyIbPBML0iokaLcbKBYbUB3qGzwrPDcbPBNnPzguPic0TpG','lIbgAxGGB3iGCMvTB3zLihrOzsbMAwXLigfUzcbYzs1YDw4GAw5PDc4','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','CgXHDgzVCM0','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','igv2zw50CZSGBg9NCYb0BYb1BM90zxn0lY5Kzwj1zY9Hz2vUDc8GDw5KzxiGvu5pvevtvf9erujvrYK','Dw5RBM93BKzSywDZ','zMLSDgvY','q2XHDwrLu2v0DgLUz3nqyxjZzuvYCM9Y','DhjPBq','lM1JCc5QC29U','Aw5PDdOGDw5RBM93BIbVChrPB24G','DxbKyxrLza','ru5pverjuG','zw50CMLLCW','AxnbCNjHEq','C291CMnL','rw52AxjVBM1LBNq6cG','Aw5ZDgfSBenOCM9TAxvT','Aw5PDcb3AwXSig9MzMvYihrVigrVD25SB2fKigj1BMrSzwqGq2HYB21PDw0Gkh4XntaGtuiPlIbbBhrLCM5HDgL2zwX5lcbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4U','yM9VBgvHBG','BwLZC2LUz1rLBxbSyxrLs2v5CW','iYb1BM90zxn0lxDLyIdIGjqGC2vJCMv0ihnJzw5HCMLVihzHCMLHyMXLCY4Gq3jLyxrLzcbIEsbGAw5PDgaSigDPDgLNBM9YzwqUcImkiYbtyw1LieTfwt1wquXvrsbMB3jTyxqGyxmGDw5VDgvZDc8Uzw52lcbIDxqGDMfSDwvZigHLCMuGyxjLihrYzwf0zwqGyxmkiYbtrunsrvq6ihrOzxKGyxjLig1HC2TLzcaOC2HVD24GyxmGyokaUxnLy3jLDdPlrvNIGlPGksbHBNL3AgvYzsb0AguGCNvUBMvYig9YcImGtunqigrLyNvNigXVzYb3B3vSzcbVDgHLCNDPC2uGD3jPDguGDgHLBsdIGjqGzMLSBcGPihzHBhvLCYWGvvjmCYWGzxzHBhvHDgukiYbZDhjPBMDZlIbszwzLCMvUy2uGDgHLBsbPBIbHihnJzw5HCMLVigj5ihrOzwLYigjHCMuGvvbqrvjFu05bs0uGBMfTzsWGDgHLcImGC2fTzsb3yxKGyxmGlMvUDIb2yxjPywjSzxm6cImkiYaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGueftu1DpuKqPoWOJcImGu2vJCMv0CYbHCMuGtK9uigv4Cg9YDgvKihrVihn1yNbYB2nLC3nLCYaOC2HLBgWOksKG4OcuihrOzxKGC3rHEsbPBIb0AgukiYb2yxjPywjSzsbZDg9Yzs4GqsbZDwjWCM9JzxnZihrOyxqGz2vUDwLUzwX5ig5LzwrZig9UzsaOysbSAxn0zw5LCIb3AxrOigekiYb0B2TLBIKGz2v0CYbPDcb2AweGDgHLigv4CgXPy2L0igfSBg93BgLZDcbPBIb1BM90zxn0lMnVBMzPzY4QoGOJicaGC2fUzgjVEdOGEYbLEhbVCNrtzwnYzxrZoIbBj1rps0voj10GFqOJifb1DcbUB24TC2vJCMv0ihzHBhvLCYaOvvjmCYWGzw1HAwXZlcbPzhmPigLUihvUB3rLC3qVlMvUDI4kiWOJiezmruvux0vyqu1qteukte9hsu49cLbbu1nxt1jepqPut0TftJ0k','C2nLBMfYAw9uzw1WBgf0zq','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','Aw5KzxHpzG','Dw5VDgvZDc91BM90zxn0lMnVBMzPzY5TANm','zMXHz3m','ywXYzwfKEs1WCMvZzw50','AgvSCa','zM9Yy2u','lI4VlI4VCgfJA2fNzs5QC29U','Dw5VDgvZDc8UC2vJCMv0CW','C29YDa','cKzPEcb0AguGzxjYB3jZigfIB3zLigfUzcbYzs1YDw4UcG','CgXHExDYAwDODc9WywnRywDLlMPZB24GAgfZig5VihvZywjSzsaIyMLUiIbMAwvSza','DgvZDa','igf0ia','lY8GrxH0zxjUywWGC2nLBMfYAw8GDMfYAwfIBguGtKfnrvmGB25SEtSGDMfSDwvZig5LDMvYigXLyxzLihrOB3nLigzPBgvZlG','BwvZC2fNzq','EWOGicjJB21WAwXLCK9WDgLVBNmIoIb7cIaGicaIy2HLy2TkCYi6igzHBhnLlaOGicaGiNrHCMDLDci6icjLCZiWmJiIlaOGicaGiMXPyIi6ifSIzxmYmdiYiL0ScIaGicaIDhLWzxmIoIbBxqOGih0ScIaGiMLUy2X1zguIoIbBcIaGicaIkIOVkI5QCYiScIaGicaIlI4VlNvUB3rLC3qVDhLWzxmVzw52lMqUDhmIlaOGicaGiI4VBM9Kzv9TB2r1BgvZl0b1BM90zxn0l3DLyI90ExbLCY91BM90zxn0lwrZBc5KlNrZiGOGif0kFqO','CMvKywn0tNvTyMvY','AM9PBG','C3rKzxjY','ChjVyMu','icbvC2uGAw5ZDgfSBgvKia','ChjVyMvdAhjVBwvczxrH','y2HHBM5LBa','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','icdIGkiGsw5ZDgfSBcb0AguGC3vPDguNCYbVD24GzgvWzw5Kzw5JAwvZlIbGDw5VDgvZDc9GigLZigeGC2vWyxjHDgukicaGicaGBNbTihbHy2THz2uSihnVihrOAxmGzg9LCYbot1qGDg91y2GGEw91CIbHChbSAwnHDgLVBIDZcIaGicaGigrLCgvUzgvUy2LLCYdIGjqGyw5Kig5WBsbZCgvJAwzPy2fSBhKSigjLy2f1C2uGysbIB3GGAw5ZDgfSBhmkicaGicaGyNvUzgXLCYb3AxrOigbUCg0Gy2LGigfUzcbUzwvKCYb0AguGBg9JA2zPBguGAxqGD3jPDgvZoGOGicaGicbUCg0GAw5ZDgfSBcaTlxbYzwzPEcb1BM90zxn0cIaG4OcIifj1BIbHBIbLEgfTCgXLigfNywLUC3qGDgHLihbSyxLNCM91BMqSigzYB20GAw5ZAwrLihrOzsbZDwL0ztOkicaGicaGy2qGDw5VDgvZDcaMjIbUChGGqhvUB3rLC3qVD2vIiguYzsbLEgfTCgXLCY8Wms1ZBw9RzqOGiokaOIbmAw50ihLVDxiGC2nLBMfYAw9ZoGOGicaGicbJzcb1BM90zxn0icyMig5WEcbaDw5VDgvZDc93zwiGBgLUDaOGiokaOIbxCML0zsbHihrLC3q6ig9Wzw4Gq2XHDwrLienVzguGAgvYzsbHBMqGyxnRiokaLcbPDcbMB2XSB3DZihrOzqOGicaGicb3CML0zs1LmMuTDgvZDcbZA2LSBcbHBMqGzhjPDMvZihrOzsb1BM90zxn0lxDLyIbnq1aGC2vYDMvYlGOGicaGicaOlM1JCc5QC29UicSGq0XbvurflM1Kl0fhru5uuY5Tzcb3zxjLigP1C3qGD2LYzwqGzM9YihLVDs4PcIaG4OcIiefSCMvHzhKGAw5ZAwrLigfUigfNzw50ihnLC3nPB24/ifjLC3rHCNqGAxqGkg9YihjLy29UBMvJDcb2AwekicaGicaGl21JCcKG4Ocuie1ducbJBgLLBNrZigXVywqGlM1JCc5QC29UihnLCNzLCNmGyxqGC2vZC2LVBIbZDgfYDcWkicaGicaGC28GDgHLihvUB3rLC3qTD2vIihrVB2XZigfWCgvHCIbVBMX5igLUigeGzNjLC2GGC2vZC2LVBI4kicdIGkiGrgvIDwCGDgHLigfNzw50oIbSyxvUy2GGD2L0AcbvtK9urvnux0rfqLvhpteGDg8GDhjHy2uGzxzLCNKkicaGicaGywn0Aw9UihrVihvUB3rLC3qVlMrLyNvNl2fNzw50l2fJDgLVBNmUANnVBMWUcG','Ag9VA3m','C2TPChbLzcdIGjqGDgHLign1CNjLBNqGDgvTCgXHDguGywXZBYbKzwnSyxjLCZOG','CgvYBwLZC2LVBNm','Dw5RBM93BI1MBgfN','DgfYz2v0ia','Dw5Yzwy','B25fBMq','C2v2zxjPDhK','zM9YBwf0u291CMnLCW','CMvKywn0u3rYAw5N','C2vJCMv0CW','DMvYC2LVBNm','ChjLDMLVDxmGA2vWDcbHCYa','Dw5VDgvZDc8UzgvIDwCQlW','zgf0yq','C3rYAw5NAwz5','ywrKzwqGDw5VDgvZDc13zwiGzw50CNK','y2XHDwrLtwrcB2r5','C2vJCMv0C0zPBgvZ','y3jLyxrLzcaUBwnWlMPZB24','zxHLy1bHDgG','BgfIzwW','icdINjCG','zxjYB3i','4PQGig5VBI1PBNrLCMfJDgL2zsbZAgvSBcbHBMqGBM8GC3LZDgvTigjYB3DZzxiGzM91BMqU','Dw5VDgvZDc9LmMuVzxHHBxbSzxmV','lY8Gtw92zsaRihjLBMfTzsb0AgLZigzPBguGDg8GpgzLyxr1CMu+lZX5B3vYx25HBwu+lMPZicHLlMCUcI8Vigf1DgGVBg9NAw4UANmPigfUzcb0AguGzNvUy3rPB24GyMvSB3CGDg8GDgvZDf88Ew91CL9Uyw1LpIGPlIbty2vUyxjPB3mGBgL2zqOVlYbPBIbMzwf0DxjLihn1yMzVBgrLCNmSie5pvcb0AguGztjLihjVB3qG4OcuihrOzsbSAw50zxiGkgXPBNq6C2nLBMfYAw8TAw4TCM9VDcKklY8GCMvQzwn0CYbHihrLC3qGzMLSzsbWBgfJzwqGzgLYzwn0BhKGAw4GDw5VDgvZDc9LmMuVlIbuAguGBg9HzgvYigrLCML2zxmGDgHLcI8VigvUDhj5ig5HBwuGzNjVBsb0AguGzMLSzsbIyxnLBMfTzsdIGjqGA2vIywiTy2fZzsbKyxnOzxmGyMvJB21LihvUzgvYC2nVCMvZlGOklY8GrxzLCNKGzxHLy3v0ywjSzsbZDgvWig11C3qGC2L0igLUC2LKzsbHihn0zxaOiI4UlIiSicGPid0+ihSG4OcMih0PigjSB2nRlIbuAguklY8GDgL0BguGAxmGysbWBgfPBI1fBMDSAxnOigrLC2nYAxb0Aw9Uig9MihrOzsbNCM91CdSGDgHLihn0zxbZigLUC2LKzsbHCMuklY8GDgHLigLTCgXLBwvUDgf0Aw9UlIbhCM91CcbIEsbPBNrLBNqGkfnLDhvWic8Grw50zxiGlYbby3qGlYbbC3nLCNqGB3iklY8GD2HHDgv2zxiGCMvHzhmGD2vSBcKG4Ocuig9UzsbIBg9JAYbWzxiGBg9NAwnHBcbJAhvUAY4kcMz1BMn0Aw9UihrLC3rFEw91CL9Uyw1Lx2HLCMuOksb7cIaGC3rLCcGIu2vLzcbHigTUB3DUihvZzxiGDMLHiercic8GqvbjigzPEhr1CMvZigzYB20Gx2HLBhbLCNmViIWGkcKGpt4GEWOGicaGlY8GicaGD2LWzv9LmMvFDxnLCNmOktSkicaGic8VicaGihvZzxjFAwqGpsbZzwvKx3vZzxiOj2fSAwnLqgv4yw1WBguUy29TjYWGj3nLy3jLDcCPoWOGih0PoWOkicbZDgvWkcjtAwDUigLUigfZihrOzsbZzwvKzwqGDxnLCIiSicGPid0+ihSkicaGigDVDg8Oj2H0DhbZoI8VEw91CI1HChaUDgvZDc9SB2DPBICPoWOGicaGlY8GicaGzMLSBcHNzxrcEuXHyMvSkcDfBwfPBcCPlcaNywXPy2vazxHHBxbSzs5JB20NktSkicaGic8VicaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGj3nLy3jLDcCPoWOGicaGlY8GicaGy2XPy2SOz2v0qNLsB2XLkcDIDxr0B24Nlcb7BMfTztOGj0XVzYbPBID9ksK7cIaGFsK7cGOGihn0zxaOiKfZC2vYDcb0AguGzgfZAgjVyxjKihnOB3DZihrOzsbZAwDUzwqTAw4GDxnLCIiSicGPid0+ihSkicaGic8VicaGigfZC2vYDfvYBcGNl2rHC2HIB2fYzcCPoWOGicaGlY8GicaGyxnZzxj0vgv4DcHNzxrcEvjVBguOj2HLywrPBMCNksWGj1DLBgnVBwuSiefSAwnLjYK7cIaGicaVlYaGicbJB3vUDca9igrIuxvLCNKOj1nftevdvcbJB3vUDcGQksbguK9nihvZzxjZifDirvjfigfJDgL2zsa9ihrYDwuNktSkicaGic8VicaGigfZC2vYDfrYDwuOy291BNqGpIaWlcaNzxHWzwn0zwqGyxqGBgvHC3qGB25LigfJDgL2zsb1C2vYjYK7cIaGFsK7cN0k','BwnWu2vYDMvYCW','y2HHBM5LBdOGjW','icdINjmG','DgHLBG','y2HYB21LlwjLDge','CMvZDw1L','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','lMDPDgLNBM9Yzq','C3LUy0vUDLr5CgvZ','ChjVyMvdAhjVBwu','icbJAgfUBMvSoIa','y2HHBM5LBdOGBNvSBcaOyNvUzgXLzcbJAhjVBwL1BsK','oIbZDhjPBMC7','DxrMoa','zxHHBxbSzxm','cKjYB3DZzxi6cG','CgLWzq','zw5ZDxjLsNnJB25MAwC','icdINjmGDw5VDgvZDc91BM90zxn0lMnVBMzPzY5TANmG','D2fUDgvK','Dw53CML0ywjSzq'];_0x3083=function(){return _0x581eae;};return _0x3083();}function mergeMcpConfig(_0x11aac7,_0x59763a,_0x2081e0,_0x1688c1={}){const _0xcbb77d={_0x4b6454:0x105,_0x3559fb:0x12b,_0x53279a:0x16a,_0x490fa0:0x1f7,_0xc0cd16:0xcb},_0x4d0a4b=_0xffd9b6;if(_0x11aac7===null){const _0x4a84c7=formatJsonDocument({'mcpServers':{[_0x59763a]:_0x2081e0}});return{'action':_0x4d0a4b(0x21c),'newContent':_0x4a84c7};}let _0x31a928;try{_0x31a928=JSON[_0x4d0a4b(0x159)](_0x11aac7);}catch(_0x5c15e5){throw new McpJsonParseError('Failed\x20to\x20parse\x20.mcp.json\x20as\x20JSON:\x20'+_0x5c15e5[_0x4d0a4b(_0xcbb77d._0x4b6454)]+_0x4d0a4b(0xdf));}(!_0x31a928['mcpServers']||typeof _0x31a928[_0x4d0a4b(_0xcbb77d._0x3559fb)]!==_0x4d0a4b(_0xcbb77d._0x53279a))&&(_0x31a928['mcpServers']={});const _0x38d697=_0x59763a in _0x31a928['mcpServers'];if(_0x38d697&&!_0x1688c1['force'])return{'action':'already-present','newContent':_0x11aac7};_0x31a928[_0x4d0a4b(_0xcbb77d._0x3559fb)][_0x59763a]=_0x2081e0;const _0x1c663d=formatJsonDocument(_0x31a928);return{'action':_0x38d697?_0x4d0a4b(_0xcbb77d._0x490fa0):_0x4d0a4b(_0xcbb77d._0xc0cd16),'newContent':_0x1c663d};}__name(mergeMcpConfig,_0xffd9b6(0x162));var ClaudeSettingsParseError=class extends Error{static{__name(this,_0xffd9b6(0xe6));}constructor(_0x5cac6f){const _0x466a38=_0xffd9b6;super(_0x5cac6f),this[_0x466a38(0x19f)]=_0x466a38(0xe6);}};function mergeClaudeAllowEntries(_0x1eae43,_0x5a9c23){const _0x1678cb={_0x18833f:0x159,_0x8afcbd:0x105,_0x49480f:0x112,_0x4790c2:0x112,_0x313872:0x112,_0x40b217:0x112,_0x587e7d:0x15f,_0x4c12c8:0xfa,_0x42ebe1:0xcb},_0x14ad0d=_0xffd9b6;if(_0x1eae43===null){const _0x46be82=formatJsonDocument({'permissions':{'allow':[..._0x5a9c23]}});return{'action':_0x14ad0d(0x21c),'newContent':_0x46be82,'added':[..._0x5a9c23]};}let _0x52103e;try{_0x52103e=JSON[_0x14ad0d(_0x1678cb._0x18833f)](_0x1eae43);}catch(_0x234116){throw new ClaudeSettingsParseError('Failed\x20to\x20parse\x20.claude/settings.json\x20as\x20JSON:\x20'+_0x234116[_0x14ad0d(_0x1678cb._0x8afcbd)]+_0x14ad0d(0xdf));}(!_0x52103e['permissions']||typeof _0x52103e[_0x14ad0d(_0x1678cb._0x49480f)]!==_0x14ad0d(0x16a))&&(_0x52103e[_0x14ad0d(_0x1678cb._0x49480f)]={});const _0x4b0a66=Array[_0x14ad0d(0xed)](_0x52103e[_0x14ad0d(_0x1678cb._0x4790c2)]['allow'])?_0x52103e[_0x14ad0d(_0x1678cb._0x313872)]['allow']:[],_0x2f8d1c=[];for(const _0x8dbca6 of _0x5a9c23){!_0x4b0a66['includes'](_0x8dbca6)&&(_0x4b0a66[_0x14ad0d(0xb6)](_0x8dbca6),_0x2f8d1c[_0x14ad0d(0xb6)](_0x8dbca6));}_0x52103e[_0x14ad0d(_0x1678cb._0x40b217)]['allow']=_0x4b0a66;if(_0x2f8d1c[_0x14ad0d(_0x1678cb._0x587e7d)]===0x0)return{'action':_0x14ad0d(_0x1678cb._0x4c12c8),'newContent':_0x1eae43,'added':[]};const _0x2b6a19=formatJsonDocument(_0x52103e);return{'action':_0x14ad0d(_0x1678cb._0x42ebe1),'newContent':_0x2b6a19,'added':_0x2f8d1c};}__name(mergeClaudeAllowEntries,'mergeClaudeAllowEntries');function mergeClaudeHooks(_0x15b951,_0x8e89a4,_0x1ca8a,_0x43de0a){const _0x31b35b={_0x459654:0x159,_0x1ca276:0x105,_0x5086e8:0x110,_0x43733d:0xed,_0x159889:0xc8,_0x59cd24:0x15f},_0x20b75d=_0xffd9b6;let _0x248acc;if(_0x15b951===null)_0x248acc={};else try{_0x248acc=JSON[_0x20b75d(_0x31b35b._0x459654)](_0x15b951);}catch(_0x38c9bc){throw new ClaudeSettingsParseError(_0x20b75d(0x17a)+_0x38c9bc[_0x20b75d(_0x31b35b._0x1ca276)]+'.\x20Fix\x20or\x20remove\x20the\x20file\x20and\x20re-run\x20init.');}const _0x5d07e7=_0x248acc[_0x20b75d(0x110)]&&typeof _0x248acc[_0x20b75d(_0x31b35b._0x5086e8)]===_0x20b75d(0x16a)?_0x248acc['hooks']:{},_0x3bf8a0=[];for(const _0x54b29c of _0x8e89a4){const _0x5052a2=Array[_0x20b75d(_0x31b35b._0x43733d)](_0x5d07e7[_0x54b29c])?_0x5d07e7[_0x54b29c]:[],_0x29d4db=_0x5052a2[_0x20b75d(_0x31b35b._0x159889)](_0x18b1ff=>(_0x18b1ff[_0x20b75d(0x110)]??[])['some'](_0xb4a313=>(_0xb4a313[_0x20b75d(0x1d2)]??'')['includes'](_0x43de0a)));if(_0x29d4db)continue;_0x5052a2['push']({'matcher':'*','hooks':[{'type':'command','command':_0x1ca8a}]}),_0x5d07e7[_0x54b29c]=_0x5052a2,_0x3bf8a0['push'](_0x54b29c);}_0x248acc[_0x20b75d(0x110)]=_0x5d07e7;if(_0x3bf8a0[_0x20b75d(_0x31b35b._0x59cd24)]===0x0)return{'action':'already-present','newContent':_0x15b951??formatJsonDocument(_0x248acc),'added':[]};return{'action':_0x20b75d(0xcb),'newContent':formatJsonDocument(_0x248acc),'added':_0x3bf8a0};}__name(mergeClaudeHooks,'mergeClaudeHooks');var BEGIN=_0xffd9b6(0xde),END=_0xffd9b6(0xd5);function mergeClaudeMd(_0x2c22ed,_0xfa480c){const _0x1fd303={_0x25c35b:0xf7},_0x76e141=_0xffd9b6,_0x4d8160=BEGIN+'\x0a\x0a'+_0xfa480c[_0x76e141(0xe7)]()+'\x0a\x0a'+END;if(_0x2c22ed===null)return{'action':'created','newContent':_0x4d8160+'\x0a'};const _0x14aac2=_0x2c22ed[_0x76e141(_0x1fd303._0x25c35b)](BEGIN);if(_0x14aac2===-0x1){const _0x366e3e=_0x2c22ed['endsWith']('\x0a')?_0x2c22ed:_0x2c22ed+'\x0a';return{'action':'appended','newContent':_0x366e3e+'\x0a'+_0x4d8160+'\x0a'};}const _0x45887e=_0x2c22ed[_0x76e141(0xf7)](END,_0x14aac2);if(_0x45887e===-0x1){const _0x539e3c=_0x2c22ed['endsWith']('\x0a')?_0x2c22ed:_0x2c22ed+'\x0a';return{'action':_0x76e141(0x18c),'newContent':_0x539e3c+'\x0a'+_0x4d8160+'\x0a'};}const _0x353d20=_0x2c22ed[_0x76e141(0x154)](0x0,_0x14aac2)+_0x4d8160+_0x2c22ed[_0x76e141(0x154)](_0x45887e+END['length']);if(_0x353d20===_0x2c22ed)return{'action':_0x76e141(0xfa),'newContent':_0x2c22ed};return{'action':_0x76e141(0xea),'newContent':_0x353d20};}__name(mergeClaudeMd,_0xffd9b6(0x180));import{existsSync as _0x23f47f,readFileSync as _0x1f9b3b,writeFileSync as _0x1cf20b}from'fs';import{join as _0x46c72a}from'path';import{appendUniqueLines}from'@unotest/core';var INIT_GITIGNORE_LINES=['unotest/.env*','!unotest/.env.example','unotest/.secrets*',_0xffd9b6(0x186),_0xffd9b6(0x1d5),_0xffd9b6(0x15d),_0xffd9b6(0x11d),_0xffd9b6(0x1ee),'unotest/.viewer.lock',_0xffd9b6(0x151),_0xffd9b6(0x1db),_0xffd9b6(0x1a9),_0xffd9b6(0x1ef),_0xffd9b6(0x1a2),_0xffd9b6(0x202),_0xffd9b6(0x173),_0xffd9b6(0x1ff)];function ensureProjectGitignore(_0x5556b5){const _0x26f6c2={_0x5cec6c:0x15f},_0x36e3bc=_0xffd9b6,_0x1bc196=_0x46c72a(_0x5556b5,_0x36e3bc(0x132)),_0x5d790b=_0x23f47f(_0x1bc196)?_0x1f9b3b(_0x1bc196,_0x36e3bc(0x138)):null,_0x3b1637=appendUniqueLines(_0x5d790b,[...INIT_GITIGNORE_LINES]);if(_0x3b1637[_0x36e3bc(0xcb)][_0x36e3bc(_0x26f6c2._0x5cec6c)]>0x0)_0x1cf20b(_0x1bc196,_0x3b1637['newContent']);return _0x3b1637;}__name(ensureProjectGitignore,'ensureProjectGitignore');function helpRequested(_0x3a078e){const _0x13ffcb=_0xffd9b6;return _0x3a078e[_0x13ffcb(0xc8)](_0x4bfe3a=>_0x4bfe3a===_0x13ffcb(0x148)||_0x4bfe3a==='-h');}__name(helpRequested,_0xffd9b6(0x21e));function unknownFlags(_0x521ef0,_0x430fff){const _0x9eb200={_0x2ec55b:0x20b,_0x8237dd:0x17c,_0x789286:0xb6},_0x467582=_0xffd9b6,_0x2a7aa5=new Set(_0x430fff),_0x3f39f7=[];for(const _0x8a294 of _0x521ef0){if(_0x8a294==='--')break;if(_0x8a294==='-'||!_0x8a294[_0x467582(_0x9eb200._0x2ec55b)]('-'))continue;const _0x3d8cf6=_0x8a294[_0x467582(0x20b)]('--')?_0x8a294[_0x467582(_0x9eb200._0x8237dd)]('=')[0x0]??_0x8a294:_0x8a294;if(!_0x2a7aa5['has'](_0x3d8cf6))_0x3f39f7[_0x467582(_0x9eb200._0x789286)](_0x8a294);}return _0x3f39f7;}__name(unknownFlags,_0xffd9b6(0xe4));var EXIT_REFUSED=0x2,AGENT_LOG_HOOK_EVENTS=[_0xffd9b6(0x141),'SessionEnd',_0xffd9b6(0x14a),_0xffd9b6(0x206),_0xffd9b6(0x1c7),'PostToolUseFailure',_0xffd9b6(0xbf),_0xffd9b6(0x16d),'SubagentStop',_0xffd9b6(0x174),'InstructionsLoaded'],INIT_USAGE=_0xffd9b6(0x200),INIT_FLAGS=[_0xffd9b6(0x19c),'-f','--browser',_0xffd9b6(0x148),'-h'];function parseArgs(_0x3222e4){const _0xba6478={_0x125ee2:0x113,_0x3d3c1c:0x19c,_0x4dbf72:0x1ca,_0x3d477e:0x20b,_0x474dfd:0xd1,_0x26713d:0x149},_0x5ed6ed=_0xffd9b6;if(helpRequested(_0x3222e4))return{'kind':_0x5ed6ed(0xfb)};const _0x2f2441=unknownFlags(_0x3222e4,INIT_FLAGS);if(_0x2f2441[_0x5ed6ed(0x15f)]>0x0)return{'kind':_0x5ed6ed(_0xba6478._0x125ee2),'flags':_0x2f2441};let _0x14c769=![],_0xf797ae=process[_0x5ed6ed(0xd1)](),_0x86da45;for(let _0x3d8506=0x0;_0x3d8506<_0x3222e4[_0x5ed6ed(0x15f)];_0x3d8506++){const _0x5d8c72=_0x3222e4[_0x3d8506];if(_0x5d8c72===_0x5ed6ed(_0xba6478._0x3d3c1c)||_0x5d8c72==='-f')_0x14c769=!![];else{if(_0x5d8c72===_0x5ed6ed(0xd8)){const _0x566727=_0x3222e4[++_0x3d8506];if(_0x566727===_0x5ed6ed(0x182)||_0x566727===_0x5ed6ed(_0xba6478._0x4dbf72)||_0x566727==='none')_0x86da45=_0x566727;else throw new Error('--browser\x20expects\x20system|bundled|none,\x20got\x20'+String(_0x566727));}else{if(!_0x5d8c72[_0x5ed6ed(_0xba6478._0x3d477e)]('-'))_0xf797ae=_0x1ca54d(process[_0x5ed6ed(_0xba6478._0x474dfd)](),_0x5d8c72);}}}const _0x370744={'cwd':_0xf797ae,'force':_0x14c769};if(_0x86da45!==void 0x0)_0x370744['browserOverride']=_0x86da45;return{'kind':_0x5ed6ed(_0xba6478._0x26713d),'options':_0x370744};}__name(parseArgs,_0xffd9b6(0x18a));function symbol(_0x4a9d6f){return _0x4a9d6f==='ok'?'✓':_0x4a9d6f==='warning'?'⚠':'✗';}__name(symbol,_0xffd9b6(0x1e5));function ensureDir(_0x448d5f){if(!_0x28682f(_0x448d5f))_0x3ef9b6(_0x448d5f,{'recursive':!![]});}__name(ensureDir,'ensureDir');var BACKUP_SUFFIX=_0xffd9b6(0x1e1);function writeIfNeeded(_0xb531c7,_0x3c9209,_0x4d91f5){const _0x424840={_0x15bb37:0x138},_0x21b6b0=_0xffd9b6,_0x188006=_0x28682f(_0xb531c7);if(_0x188006&&!_0x4d91f5)return _0x21b6b0(0x1dd);if(_0x188006&&_0x2f1c59(_0xb531c7,_0x21b6b0(_0x424840._0x15bb37))===_0x3c9209)return _0x21b6b0(0x1dd);ensureDir(_0x5eae08(_0xb531c7));if(_0x188006)copyFileSync(_0xb531c7,''+_0xb531c7+BACKUP_SUFFIX);return _0x30ea03(_0xb531c7,_0x3c9209),_0x188006?_0x21b6b0(0xd2):'created';}__name(writeIfNeeded,'writeIfNeeded');function writeIfAbsent(_0x32a964,_0xb13f3f){const _0x4feeff={_0x230a60:0x1dd,_0x32467b:0x21c},_0x35693f=_0xffd9b6;if(_0x28682f(_0x32a964))return _0x35693f(_0x4feeff._0x230a60);return ensureDir(_0x5eae08(_0x32a964)),_0x30ea03(_0x32a964,_0xb13f3f),_0x35693f(_0x4feeff._0x32467b);}__name(writeIfAbsent,'writeIfAbsent');var INIT_BOX_HINT=_0xffd9b6(0x17e);async function runInit(_0x5a2c7b,_0x544515={}){const _0x1b5c1d={_0x196957:0x1c6,_0x4e5278:0xf9,_0x401c52:0x20d,_0x19822d:0xd1,_0xada997:0x1c6,_0x33f595:0x19f,_0x172db7:0x105,_0x237430:0x146,_0x917035:0x1fc,_0x4cf916:0x127,_0x598b1f:0x100,_0x2314bc:0xec,_0x26664a:0x139,_0x1de2ea:0x129,_0x543fd8:0xfc,_0x4bd74f:0xb6,_0x509d36:0x207,_0x39f0f2:0x1da,_0x28a17e:0xd1,_0xaf15c4:0x138,_0x65c98b:0x121,_0x42123e:0x211,_0x657adc:0x1b6,_0x4a5c82:0x1bc,_0x3c7e26:0xfa,_0x3b1668:0xfc,_0x1a78d3:0x1dd,_0x11c913:0x15f,_0x2ffdab:0x111,_0xc6f45a:0xd1,_0x10caac:0x14d,_0x1d0c3d:0x1c4,_0x45433e:0xbb,_0x35b2be:0xd2,_0x4bdd9f:0x19b,_0x372f97:0x16e,_0x255734:0xe8,_0x378b08:0x1d3,_0x581dee:0x1bd,_0x3bb895:0x1bc,_0x818f7e:0x21c,_0x20178b:0x123,_0x75066:0xcb,_0x273573:0x1f1,_0x5ae1bd:0x1a6,_0x94a928:0x109,_0x9c3016:0x105,_0x39fa71:0xd6,_0x1a854a:0x1bc,_0x26c100:0x21c,_0x5cd908:0x108,_0x1008fc:0x12d,_0x15b5f9:0x1bc,_0x171c20:0x171,_0x3a462c:0x146,_0x1fee48:0x109,_0x5afe69:0x126,_0x4b1173:0xcb,_0x1f0cad:0xc7,_0x5adb6f:0xcb,_0x2a4159:0xd4,_0x1fe646:0x13a,_0x397eb1:0xda,_0x303c61:0x18f,_0x4845c3:0x146,_0x3058e0:0xbd,_0x259aa3:0x1cd,_0x371d91:0x10d,_0x37e129:0x18e,_0x330fe4:0x136,_0x3994e3:0x209,_0x28fe59:0x192,_0x49ccda:0x1c6,_0x37fdb9:0x10f},_0x460d03={_0x421c56:0x193},_0x43c358={_0x1f2819:0xfc,_0x13b195:0x1dd},_0xd679d1={_0xce1c7:0xd1,_0x44bcc9:0x1dd,_0x3c76e9:0x21c},_0x4335e0=_0xffd9b6,_0x5877cf=parseArgs(_0x5a2c7b);if(_0x5877cf['kind']===_0x4335e0(0xfb))return process[_0x4335e0(0x146)][_0x4335e0(_0x1b5c1d._0x196957)](INIT_USAGE),{'exitCode':0x0};if(_0x5877cf[_0x4335e0(0x1dc)]===_0x4335e0(0x113))return process[_0x4335e0(0x109)]['write'](_0x4335e0(0xe9)+_0x5877cf[_0x4335e0(_0x1b5c1d._0x4e5278)][_0x4335e0(_0x1b5c1d._0x401c52)](_0x26abec=>'\x22'+_0x26abec+'\x22')['join'](',\x20')+'\x0a\x0a'+INIT_USAGE),{'exitCode':EXIT_REFUSED};const _0x33d82a=_0x5877cf[_0x4335e0(0x149)];process['stdout'][_0x4335e0(_0x1b5c1d._0x196957)]('unotest-web\x20init\x20→\x20'+_0x33d82a[_0x4335e0(_0x1b5c1d._0x19822d)]+'\x0a\x0a'),process[_0x4335e0(0x146)]['write'](_0x4335e0(0xef));const _0x2c0fdb=runEnvironmentChecks({'cwd':_0x33d82a['cwd']});let _0x482221=![];for(const _0x44bc69 of _0x2c0fdb){process[_0x4335e0(0x146)][_0x4335e0(_0x1b5c1d._0xada997)]('\x20\x20'+symbol(_0x44bc69[_0x4335e0(0x117)])+'\x20'+_0x44bc69[_0x4335e0(_0x1b5c1d._0x33f595)]+':\x20'+_0x44bc69[_0x4335e0(_0x1b5c1d._0x172db7)]+'\x0a');if(_0x44bc69[_0x4335e0(0x1fc)])process[_0x4335e0(_0x1b5c1d._0x237430)][_0x4335e0(0x1c6)]('\x20\x20\x20\x20\x20\x20'+_0x44bc69[_0x4335e0(_0x1b5c1d._0x917035)]+'\x0a');if(_0x44bc69['severity']===_0x4335e0(_0x1b5c1d._0x4cf916))_0x482221=!![];}if(_0x482221)return process[_0x4335e0(0x109)][_0x4335e0(_0x1b5c1d._0x196957)](_0x4335e0(_0x1b5c1d._0x598b1f)),{'exitCode':0x1};process[_0x4335e0(0x146)]['write'](_0x4335e0(0x213));const _0x2652b3=[];ensureDir(_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],'unotest/e2e/_helpers'));for(const [_0x166af0,_0x30ec4a]of Object[_0x4335e0(_0x1b5c1d._0x2314bc)](templates[_0x4335e0(_0x1b5c1d._0x26664a)])){_0x2652b3[_0x4335e0(0xb6)]({'path':_0x4335e0(_0x1b5c1d._0x1de2ea)+_0x166af0,'status':writeIfNeeded(_0x4dd600(_0x33d82a['cwd'],'unotest/e2e/examples',_0x166af0),_0x30ec4a,_0x33d82a[_0x4335e0(_0x1b5c1d._0x543fd8)])});}_0x2652b3['push']({'path':'unotest/e2e/_template.js','status':writeIfNeeded(_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],'unotest/e2e/_template.js'),templates[_0x4335e0(0xf5)],_0x33d82a[_0x4335e0(_0x1b5c1d._0x543fd8)])}),_0x2652b3[_0x4335e0(_0x1b5c1d._0x4bd74f)]({'path':_0x4335e0(0x207),'status':writeIfNeeded(_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],_0x4335e0(_0x1b5c1d._0x509d36)),'',_0x33d82a[_0x4335e0(0xfc)])}),_0x2652b3[_0x4335e0(_0x1b5c1d._0x4bd74f)]({'path':_0x4335e0(0x1b2),'status':writeIfNeeded(_0x4dd600(_0x33d82a['cwd'],_0x4335e0(0x1b2)),templates[_0x4335e0(_0x1b5c1d._0x39f0f2)],_0x33d82a[_0x4335e0(_0x1b5c1d._0x543fd8)])});{const _0x56116c=_0x4dd600(_0x33d82a[_0x4335e0(_0x1b5c1d._0x28a17e)],_0x4335e0(0x1b6)),_0x5c0512=_0x28682f(_0x56116c)?_0x2f1c59(_0x56116c,_0x4335e0(_0x1b5c1d._0xaf15c4)):null,_0xd02967=mergeClaudeMd(_0x5c0512,templates[_0x4335e0(_0x1b5c1d._0x65c98b)]);_0xd02967[_0x4335e0(0x1bc)]!==_0x4335e0(0xfa)&&_0x30ea03(_0x56116c,_0xd02967[_0x4335e0(_0x1b5c1d._0x42123e)]),_0x2652b3[_0x4335e0(_0x1b5c1d._0x4bd74f)]({'path':_0x4335e0(_0x1b5c1d._0x657adc),'status':_0xd02967[_0x4335e0(_0x1b5c1d._0x4a5c82)]===_0x4335e0(_0x1b5c1d._0x3c7e26)?'skipped':_0xd02967[_0x4335e0(0x1bc)]});}const _0x18f948=_0x4dd600(_0x33d82a[_0x4335e0(_0x1b5c1d._0x28a17e)],_0x4335e0(0x1c8)),_0x19aacd=writeIfNeeded(_0x18f948,templates['envExample'],_0x33d82a[_0x4335e0(_0x1b5c1d._0x3b1668)]),_0x51d6fb=_0x19aacd===_0x4335e0(_0x1b5c1d._0x1a78d3)?missingTemplateKeys(_0x2f1c59(_0x18f948,_0x4335e0(0x138)),templates[_0x4335e0(0x169)]):[];_0x2652b3['push']({'path':_0x4335e0(0x1c8),'status':_0x51d6fb[_0x4335e0(_0x1b5c1d._0x11c913)]===0x0?_0x19aacd:_0x4335e0(_0x1b5c1d._0x2ffdab)+_0x51d6fb[_0x4335e0(0x108)](',\x20')+'\x20(add\x20them\x20by\x20hand,\x20or\x20re-run\x20with\x20--force\x20to\x20take\x20the\x20template)'}),_0x2652b3[_0x4335e0(0xb6)]({'path':_0x4335e0(0x153),'status':writeIfAbsent(_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],_0x4335e0(0x153)),templates['envExample'])}),_0x2652b3[_0x4335e0(_0x1b5c1d._0x4bd74f)]({'path':_0x4335e0(0xfe),'status':writeIfAbsent(_0x4dd600(_0x33d82a['cwd'],_0x4335e0(0xfe)),templates[_0x4335e0(0x178)])});const _0x17ddf8=ensureEditorTypes(_0x33d82a[_0x4335e0(0xd1)],{'force':_0x33d82a['force']});_0x2652b3[_0x4335e0(_0x1b5c1d._0x4bd74f)]({'path':JSCONFIG_REL,'status':_0x17ddf8[_0x4335e0(0x1f9)]}),_0x2652b3[_0x4335e0(0xb6)]({'path':ENV_TYPES_REL,'status':_0x17ddf8['envTypes']}),_0x2652b3[_0x4335e0(0xb6)]({'path':_0x4335e0(0xb9),'status':writeIfNeeded(_0x4dd600(_0x33d82a[_0x4335e0(_0x1b5c1d._0xc6f45a)],'unotest/package.json'),suitePackageJson(readOwnVersion()),_0x33d82a[_0x4335e0(_0x1b5c1d._0x3b1668)])});const _0x1baf5=_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],_0x4335e0(0xf8)),_0x2661cb=_0x28682f(_0x1baf5);!_0x2661cb&&(ensureDir(_0x5eae08(_0x1baf5)),_0x30ea03(_0x1baf5,unotestConfigMjs(void 0x0)));const _0x3997ec=_0x5eae08(_0x2dded4(import.meta.url)),_0x561924=__name((_0x36a039,_0x5976e6)=>{const _0x40bb0f=_0x4335e0,_0x3b9f49=_0x1ca54d(_0x3997ec,_0x40bb0f(0x21b),_0x36a039),_0x51ee3b=_0x4dd600(_0x33d82a[_0x40bb0f(_0xd679d1._0xce1c7)],_0x36a039);if(!_0x28682f(_0x3b9f49))return{'path':_0x36a039,'status':_0x5976e6+_0x40bb0f(0x1ab)};if(_0x28682f(_0x51ee3b)){if(_0x2f1c59(_0x51ee3b,'utf8')===_0x2f1c59(_0x3b9f49,_0x40bb0f(0x138)))return{'path':_0x36a039,'status':_0x40bb0f(_0xd679d1._0x44bcc9)};return copyFileSync(_0x51ee3b,''+_0x51ee3b+BACKUP_SUFFIX),copyFileSync(_0x3b9f49,_0x51ee3b),{'path':_0x36a039,'status':_0x40bb0f(0xea),'note':_0x40bb0f(0x11c)+BACKUP_SUFFIX};}return ensureDir(_0x5eae08(_0x51ee3b)),copyFileSync(_0x3b9f49,_0x51ee3b),{'path':_0x36a039,'status':_0x40bb0f(_0xd679d1._0x3c76e9)};},_0x4335e0(0x14f));_0x2652b3[_0x4335e0(0xb6)](_0x561924(_0x4335e0(0x1e0),_0x4335e0(0x147)),_0x561924('.claude/skills/write-e2e-test-ground/SKILL.md','skill\x20(ground)')),_0x2652b3['push'](_0x561924(_0x4335e0(_0x1b5c1d._0x10caac),'hook'));for(const _0x4f089f of _0x2652b3){const _0x578147=_0x4f089f[_0x4335e0(_0x1b5c1d._0x1d0c3d)]==='created'?_0x4335e0(_0x1b5c1d._0x45433e):_0x4f089f[_0x4335e0(_0x1b5c1d._0x1d0c3d)]===_0x4335e0(_0x1b5c1d._0x35b2be)?_0x4335e0(0x1b3):_0x4f089f[_0x4335e0(_0x1b5c1d._0x1d0c3d)]===_0x4335e0(0xea)?_0x4335e0(_0x1b5c1d._0x4bdd9f):_0x4f089f['status']['startsWith'](_0x4335e0(0x1dd))?'·\x20skipped':'·\x20'+_0x4f089f[_0x4335e0(_0x1b5c1d._0x1d0c3d)];process['stdout'][_0x4335e0(0x1c6)]('\x20\x20'+_0x578147+'\x20\x20'+_0x4f089f['path']+(_0x4f089f[_0x4335e0(_0x1b5c1d._0x372f97)]?'\x20('+_0x4f089f[_0x4335e0(_0x1b5c1d._0x372f97)]+')':'')+'\x0a');}process[_0x4335e0(0x146)][_0x4335e0(0x1c6)](_0x4335e0(0x142));const _0x1b8d71=_0x4dd600(_0x33d82a['cwd'],_0x4335e0(_0x1b5c1d._0x255734)),_0x11c181=_0x28682f(_0x1b8d71)?_0x2f1c59(_0x1b8d71,_0x4335e0(_0x1b5c1d._0xaf15c4)):null,_0x185921=readOwnVersion(),_0x290b6d={'command':_0x4335e0(_0x1b5c1d._0x378b08),'args':['-y',_0x4335e0(0x177)+_0x185921,_0x4335e0(0x179)]};try{const _0x139e70=mergeMcpConfig(_0x11c181,_0x4335e0(_0x1b5c1d._0x581dee),_0x290b6d,{'force':_0x33d82a['force']});_0x139e70['action']!==_0x4335e0(0xfa)&&_0x30ea03(_0x1b8d71,_0x139e70[_0x4335e0(0x211)]);const _0x11389c=_0x139e70[_0x4335e0(_0x1b5c1d._0x3bb895)]===_0x4335e0(_0x1b5c1d._0x818f7e)?_0x4335e0(_0x1b5c1d._0x20178b):_0x139e70[_0x4335e0(0x1bc)]===_0x4335e0(_0x1b5c1d._0x75066)?_0x4335e0(0x120):_0x139e70[_0x4335e0(0x1bc)]==='force-overwrote'?_0x4335e0(_0x1b5c1d._0x273573):_0x4335e0(_0x1b5c1d._0x5ae1bd);process['stdout'][_0x4335e0(0x1c6)](_0x4335e0(0x12d)+_0x11389c+'\x0a');}catch(_0x3dedb6){if(_0x3dedb6 instanceof McpJsonParseError)return process[_0x4335e0(_0x1b5c1d._0x94a928)][_0x4335e0(_0x1b5c1d._0xada997)](_0x4335e0(0x126)+_0x3dedb6[_0x4335e0(_0x1b5c1d._0x9c3016)]+'\x0a'),{'exitCode':0x1};throw _0x3dedb6;}process['stdout']['write']('\x0aClaude\x20Code\x20permissions:\x0a');const _0x5d363c=_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],_0x4335e0(0x16b)),_0x4f4cc8=_0x28682f(_0x5d363c)?_0x2f1c59(_0x5d363c,_0x4335e0(0x138)):null;try{const _0x3ee69e=mergeClaudeAllowEntries(_0x4f4cc8,[_0x4335e0(0xc0)]),_0x3b0f81='bash\x20\x22${CLAUDE_PROJECT_DIR}/.claude/hooks/log-agent.sh\x22\x20\x22${CLAUDE_PROJECT_DIR}/unotest/.debug/agent/actions.jsonl\x22',_0x1fe23a=mergeClaudeHooks(_0x3ee69e[_0x4335e0(_0x1b5c1d._0x42123e)],AGENT_LOG_HOOK_EVENTS,_0x3b0f81,_0x4335e0(_0x1b5c1d._0x39fa71));(_0x3ee69e[_0x4335e0(_0x1b5c1d._0x1a854a)]!==_0x4335e0(0xfa)||_0x1fe23a[_0x4335e0(_0x1b5c1d._0x3bb895)]!==_0x4335e0(_0x1b5c1d._0x3c7e26))&&(ensureDir(_0x5eae08(_0x5d363c)),_0x30ea03(_0x5d363c,_0x1fe23a['newContent']));const _0x374d52=_0x3ee69e['action']===_0x4335e0(_0x1b5c1d._0x26c100)?'created\x20.claude/settings.json\x20(allow:\x20mcp__unotest-web)':_0x3ee69e['action']==='added'?_0x4335e0(0x1b5)+_0x3ee69e[_0x4335e0(0xcb)][_0x4335e0(_0x1b5c1d._0x5cd908)](',\x20'):'allow\x20already\x20present';process[_0x4335e0(0x146)]['write'](_0x4335e0(_0x1b5c1d._0x1008fc)+_0x374d52+'\x0a');const _0x206f76=_0x1fe23a[_0x4335e0(_0x1b5c1d._0x15b5f9)]===_0x4335e0(0xcb)?'added\x20agent-trace\x20hooks\x20('+_0x1fe23a[_0x4335e0(_0x1b5c1d._0x75066)][_0x4335e0(0x15f)]+_0x4335e0(0xe3):_0x4335e0(_0x1b5c1d._0x171c20);process[_0x4335e0(_0x1b5c1d._0x3a462c)][_0x4335e0(_0x1b5c1d._0x196957)]('\x20\x20✓\x20'+_0x206f76+'\x0a');}catch(_0x2e6a75){if(_0x2e6a75 instanceof ClaudeSettingsParseError)return process[_0x4335e0(_0x1b5c1d._0x1fee48)][_0x4335e0(_0x1b5c1d._0x196957)](_0x4335e0(_0x1b5c1d._0x5afe69)+_0x2e6a75[_0x4335e0(0x105)]+'\x0a'),{'exitCode':0x1};throw _0x2e6a75;}process[_0x4335e0(_0x1b5c1d._0x3a462c)][_0x4335e0(0x1c6)](_0x4335e0(0x208));const _0x4e87bc=ensureProjectGitignore(_0x33d82a[_0x4335e0(0xd1)]);{for(const _0x12d442 of _0x4e87bc[_0x4335e0(_0x1b5c1d._0x4b1173)]){process[_0x4335e0(_0x1b5c1d._0x237430)][_0x4335e0(_0x1b5c1d._0x196957)](_0x4335e0(0x1be)+_0x12d442+'\x22\x0a');}}for(const _0x11ae74 of _0x4e87bc[_0x4335e0(_0x1b5c1d._0x1f0cad)]){process[_0x4335e0(0x146)][_0x4335e0(_0x1b5c1d._0xada997)](_0x4335e0(0x1ea)+_0x11ae74+'\x22\x0a');}_0x4e87bc[_0x4335e0(_0x1b5c1d._0x5adb6f)]['length']===0x0&&_0x4e87bc[_0x4335e0(0xc7)][_0x4335e0(0x15f)]===0x0&&process['stdout']['write'](_0x4335e0(_0x1b5c1d._0x2a4159));process[_0x4335e0(_0x1b5c1d._0x237430)][_0x4335e0(0x1c6)](_0x4335e0(_0x1b5c1d._0x1fe646));const _0x4377d5=probeSystemBrowser(),_0x4c57b1=Boolean(process[_0x4335e0(_0x1b5c1d._0x397eb1)][_0x4335e0(_0x1b5c1d._0x303c61)])&&Boolean(process[_0x4335e0(_0x1b5c1d._0x4845c3)]['isTTY']),_0x5dc0ad={'probe':_0x4377d5,'interactive':_0x4c57b1};if(_0x33d82a['browserOverride'])_0x5dc0ad[_0x4335e0(0x1ce)]=_0x33d82a[_0x4335e0(_0x1b5c1d._0x3058e0)];const _0x19a4fb=await(_0x544515[_0x4335e0(_0x1b5c1d._0x259aa3)]??chooseBrowser)(_0x5dc0ad),_0x552740=unotestConfigMjs(_0x19a4fb[_0x4335e0(_0x1b5c1d._0x371d91)]),_0xa0a26d=((()=>{const _0x2ef7dd=_0x4335e0;if(!_0x2661cb)return _0x30ea03(_0x1baf5,_0x552740),'created';if(!_0x33d82a[_0x2ef7dd(_0x43c358._0x1f2819)])return _0x2ef7dd(_0x43c358._0x13b195);if(_0x2f1c59(_0x1baf5,_0x2ef7dd(0x138))===_0x552740)return'skipped';return copyFileSync(_0x1baf5,''+_0x1baf5+BACKUP_SUFFIX),_0x30ea03(_0x1baf5,_0x552740),_0x2ef7dd(0xd2);})()),_0x5e8b9e=_0x19a4fb[_0x4335e0(_0x1b5c1d._0x371d91)]===void 0x0?_0x4335e0(_0x1b5c1d._0x37e129):_0x19a4fb['channel']===null?_0x4335e0(_0x1b5c1d._0x330fe4):_0x4335e0(0x12c)+_0x19a4fb[_0x4335e0(0x10d)]+'\x27',_0x34afd4=((()=>{const _0x471598=_0x4335e0;if(_0xa0a26d===_0x471598(0x21c))return _0x471598(0x13d)+_0x5e8b9e;if(_0xa0a26d===_0x471598(0xd2))return _0x471598(0x13d)+_0x5e8b9e+_0x471598(0x1e4)+BACKUP_SUFFIX+')';if(_0x33d82a[_0x471598(0xfc)])return _0x471598(_0x460d03._0x421c56);return'\x20\x20·\x20unotest/unotest.config.mjs\x20already\x20present\x20—\x20left\x20as\x20it\x20is\x20('+_0x5e8b9e+'\x20not\x20written;\x20--force\x20takes\x20the\x20template)';})());process['stdout']['write'](_0x34afd4+'\x0a'),process['stdout'][_0x4335e0(0x1c6)](_0x4335e0(_0x1b5c1d._0x3994e3));if(_0x19a4fb[_0x4335e0(_0x1b5c1d._0x28fe59)]['length']>0x0){for(const _0x6a56c7 of _0x19a4fb[_0x4335e0(0x192)])process[_0x4335e0(_0x1b5c1d._0x3a462c)]['write']('\x20\x20'+_0x6a56c7+'\x0a');process[_0x4335e0(_0x1b5c1d._0x237430)][_0x4335e0(0x1c6)]('\x0a');}return process[_0x4335e0(_0x1b5c1d._0x4845c3)][_0x4335e0(_0x1b5c1d._0x49ccda)](_0x4335e0(_0x1b5c1d._0x37fdb9)),process['stdout'][_0x4335e0(_0x1b5c1d._0xada997)](INIT_BOX_HINT+'\x0a'),{'exitCode':0x0};}__name(runInit,_0xffd9b6(0xbc));var invokedDirectly2=process[_0xffd9b6(0xcf)][0x1]&&_0x2dded4(import.meta.url)===process[_0xffd9b6(0xcf)][0x1];invokedDirectly2&&runInit(process[_0xffd9b6(0xcf)][_0xffd9b6(0x154)](0x2))[_0xffd9b6(0x12e)](({exitCode:_0x5235c8})=>{const _0x5b59ee={_0x2462ac:0x1c0},_0x1915be=_0xffd9b6;process[_0x1915be(_0x5b59ee._0x2462ac)]=_0x5235c8;})[_0xffd9b6(0x195)](_0x2eda27=>{const _0x4b58fa=_0xffd9b6;process['stderr']['write'](_0x4b58fa(0x218)+(_0x2eda27 instanceof Error?_0x2eda27[_0x4b58fa(0x105)]:String(_0x2eda27))+'\x0a'),process[_0x4b58fa(0x1c0)]=0x1;});export{BACKUP_SUFFIX,INIT_BOX_HINT,INIT_USAGE,runInit,templates};
|
|
1
|
+
const _0x1b0258=_0x42bd;(function(_0x42f806,_0x3f15eb){const _0x1185c2={_0x37148c:0x2ae,_0x36e783:0x24c,_0x144b78:0x2f9},_0x25e297=_0x42bd,_0x3c5a6e=_0x42f806();while(!![]){try{const _0x203b3c=parseInt(_0x25e297(_0x1185c2._0x37148c))/0x1+parseInt(_0x25e297(0x2e0))/0x2+parseInt(_0x25e297(0x2b1))/0x3+-parseInt(_0x25e297(0x1eb))/0x4*(-parseInt(_0x25e297(0x267))/0x5)+-parseInt(_0x25e297(0x225))/0x6*(parseInt(_0x25e297(_0x1185c2._0x36e783))/0x7)+-parseInt(_0x25e297(0x1a5))/0x8+-parseInt(_0x25e297(_0x1185c2._0x144b78))/0x9;if(_0x203b3c===_0x3f15eb)break;else _0x3c5a6e['push'](_0x3c5a6e['shift']());}catch(_0x469036){_0x3c5a6e['push'](_0x3c5a6e['shift']());}}}(_0x312b,0xd0b28));var __defProp=Object[_0x1b0258(0x210)],__name=(_0x3d8909,_0x49933b)=>__defProp(_0x3d8909,'name',{'value':_0x49933b,'configurable':!![]});import{copyFileSync,existsSync as _0x59c441,mkdirSync as _0x55c445,readFileSync as _0x30548e,writeFileSync as _0x210bc6}from'fs';import{dirname as _0x1808c8,join as _0x4b142b,resolve as _0x58e78c}from'path';import{fileURLToPath as _0x3b28be}from'url';import{existsSync as _0x56e881}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){for(const _0x29227c of[probeChrome,probeEdge,probeChromeBeta]){const _0x12b35c=_0x29227c();if(_0x12b35c['channel']!==null)return _0x12b35c;}return{'channel':null};}__name(probeSystemBrowser,'probeSystemBrowser');function probeChrome(){const _0x4ea619={_0xef5924:0x1b5},_0x380083=_0x1b0258,_0x479d2b=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x479d2b)return{'channel':'chrome','path':_0x479d2b,'label':_0x380083(_0x4ea619._0xef5924)};return{'channel':null};}__name(probeChrome,'probeChrome');function probeEdge(){const _0x4e9857={_0x1730f2:0x236},_0x448a5d=_0x1b0258,_0x37ed54=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x37ed54)return{'channel':_0x448a5d(_0x4e9857._0x1730f2),'path':_0x37ed54,'label':'Microsoft\x20Edge'};return{'channel':null};}__name(probeEdge,_0x1b0258(0x2a8));function probeChromeBeta(){const _0x1e73df={_0x5f2a1f:0x238},_0x207bd7=_0x1b0258,_0x218350=firstExistingPath(CHROME_BETA_PATHS);if(_0x218350)return{'channel':_0x207bd7(_0x1e73df._0x5f2a1f),'path':_0x218350,'label':'Google\x20Chrome\x20Beta'};return{'channel':null};}__name(probeChromeBeta,_0x1b0258(0x2d8));var CHROME_PATHS=((()=>{const _0x1d8dd2={_0x23db95:0x1ca,_0x306f21:0x22c,_0x5ba823:0x2bb,_0x4acabc:0x24d,_0x480e03:0x1b0,_0x38dd8f:0x2bb,_0x5860d8:0x2f0,_0x55a9e0:0x2fb,_0x16d0fc:0x290},_0x4a9ed7=_0x1b0258;switch(process[_0x4a9ed7(_0x1d8dd2._0x23db95)]){case'darwin':return[_0x4a9ed7(_0x1d8dd2._0x306f21)];case'win32':return[process[_0x4a9ed7(_0x1d8dd2._0x5ba823)][_0x4a9ed7(_0x1d8dd2._0x4acabc)]+_0x4a9ed7(_0x1d8dd2._0x480e03),process[_0x4a9ed7(_0x1d8dd2._0x38dd8f)][_0x4a9ed7(0x19c)]+_0x4a9ed7(0x1b0),process[_0x4a9ed7(_0x1d8dd2._0x38dd8f)][_0x4a9ed7(0x25e)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe'];default:return['/usr/bin/google-chrome',_0x4a9ed7(_0x1d8dd2._0x5860d8),_0x4a9ed7(0x19e),_0x4a9ed7(_0x1d8dd2._0x55a9e0),_0x4a9ed7(_0x1d8dd2._0x16d0fc)];}})()),CHROME_BIN_NAMES=[_0x1b0258(0x299),_0x1b0258(0x2ac),_0x1b0258(0x2a7),_0x1b0258(0x1ac)],EDGE_PATHS=((()=>{const _0x14fe6a={_0x137f9c:0x1c0,_0x3615b1:0x2a0,_0x9338f:0x242,_0x459f1f:0x2bb,_0x5ea11b:0x24d,_0xbd31c8:0x25c,_0x290d0e:0x2a5,_0x530fb6:0x2d5},_0x3ba765=_0x1b0258;switch(process['platform']){case _0x3ba765(_0x14fe6a._0x137f9c):return[_0x3ba765(_0x14fe6a._0x3615b1)];case _0x3ba765(_0x14fe6a._0x9338f):return[process[_0x3ba765(_0x14fe6a._0x459f1f)][_0x3ba765(_0x14fe6a._0x5ea11b)]+_0x3ba765(_0x14fe6a._0xbd31c8),process[_0x3ba765(0x2bb)]['ProgramFiles(x86)']+_0x3ba765(_0x14fe6a._0xbd31c8)];default:return[_0x3ba765(_0x14fe6a._0x290d0e),_0x3ba765(_0x14fe6a._0x530fb6)];}})()),EDGE_BIN_NAMES=['microsoft-edge',_0x1b0258(0x2b8)],CHROME_BETA_PATHS=((()=>{const _0x1007b3={_0x3ee746:0x1c0,_0x6312d4:0x242,_0x29a6fe:0x292},_0x55ff53=_0x1b0258;switch(process[_0x55ff53(0x1ca)]){case _0x55ff53(_0x1007b3._0x3ee746):return[_0x55ff53(0x20b)];case _0x55ff53(_0x1007b3._0x6312d4):return[process['env'][_0x55ff53(0x24d)]+_0x55ff53(_0x1007b3._0x29a6fe)];default:return['/usr/bin/google-chrome-beta'];}})());function firstExistingPath(_0x1fe977){const _0x5cabd6={_0x3af00a:0x271,_0x3230a3:0x288},_0x40f2a5=_0x1b0258;for(const _0x8a702d of _0x1fe977){if(!_0x8a702d||_0x8a702d[_0x40f2a5(_0x5cabd6._0x3af00a)](_0x40f2a5(_0x5cabd6._0x3230a3)))continue;if(existsSync(_0x8a702d))return _0x8a702d;}return null;}__name(firstExistingPath,'firstExistingPath');function whichOf(_0x29d038){const _0x4dfe66={_0x4a2c5a:0x213,_0x56ce07:0x200,_0xc9cda2:0x2e6},_0x4b13ff=_0x1b0258;if(process[_0x4b13ff(0x1ca)]===_0x4b13ff(0x242))return void 0x0;for(const _0x5acf47 of _0x29d038){try{const _0x2c1a69=execFileSync(_0x4b13ff(_0x4dfe66._0x4a2c5a),[_0x5acf47],{'encoding':'utf8'})[_0x4b13ff(_0x4dfe66._0x56ce07)]();if(_0x2c1a69[_0x4b13ff(_0x4dfe66._0xc9cda2)]>0x0&&existsSync(_0x2c1a69))return _0x2c1a69;}catch{}}return void 0x0;}__name(whichOf,_0x1b0258(0x23b));function _0x312b(){const _0x5661ad=['C2XPy2u','ote3EMXrreXm','uhjVz3jHBuzPBgvZ','lMvUDG','cK1ducbJB25MAwC6cG','B25fBMq','Cgf0Aa','icdINjmG','CMvHze93BLzLCNnPB24','zM9Yy2uTB3zLCNDYB3rL','DMvYC2LVBNm','C2nLBMfYAw9uzw1WBgf0zq','CMvZB2X2zq','CgfYC2u','CNvUsw5PDa','B2jQzwn0','lY8GrxH0zxjUywWGC2nLBMfYAw8GDMfYAwfIBguGtKfnrvmGB25SEtSGDMfSDwvZig5LDMvYigXLyxzLihrOB3nLigzPBgvZlG','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','lY8GrxHHBxbSzsaWmsdIGjqGC21VA2u6ig5HDMLNyxrLicSGy2XPy2SGkYbvuKWGyxnZzxj0Aw9UlGOVlWOVlYbuAguGBwLUAw1HBcb0AhjLzs1ZDgvWihbHDhrLCM4UieHPDhmGCgXHEwDYB3vUzc51BM90zxn0lMnVBsbZBYbUBYbWCM9Qzwn0cI8VihnLDhvWigLZig5LzwrLzc4GuNvUihDPDgG6icbUChGGqhvUB3rLC3qVD2vIiguYzsbLEgfTCgXLCY8Wms1ZBw9RzqOkzNvUy3rPB24GDgvZDf9ZBw9Rzv9WBgf5z3jVDw5KkcKGEWOGihn0zxaOiK9Wzw4GDgHLiejPzYbuywjSzsbZy2vUyxjPBYbMCM9TihrOzsbWBgf5z3jVDw5KigLUzgv4iIWGkcKGpt4GEWOGicaGz290BYGNlYCPoWOGicaGy2XPy2SOz2v0qNLsB2XLkcDSAw5RjYWGE25HBwu6icDcAwCGvgfIBguNlcbLEgfJDdOGDhj1zx0PktSkicaGigfZC2vYDfvYBcGNl3nJzw5HCMLVCY9IAwCTDgfIBguNktSkicb9ktSkFqO','te9dquXbufbeqvrb','4PYxic0TyNjVD3nLCIbZExn0zw0GyNv0ig5VienOCM9TzsaVievKz2uGlYbdAhjVBwL1BsbMB3vUzcbVBIb0AgLZig1Hy2HPBMuU','AM9PBG','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','cIaGrM91BMqG','DMvYC2LVBG','cKrVBMuUie5LEhqGC3rLChm6cG','C2TPChbLzcdIGjqGDgHLign1CNjLBNqGDgvTCgXHDguGywXZBYbKzwnSyxjLCZOG','Dw5VDgvZDc9LmMuVx3rLBxbSyxrLlMPZ','nZqYmtv2r0PNte0','DgvZDa','Dw5VDgvZDc9UB2rLx21VzhvSzxmV','CMvNAxn0zxi','ru5pverjuG','ChvZAa','C3LTyM9S','4PYtignYzwf0zwq','Dw5RBM93BI1MBgfN','zxHHBxbSzxm','C3rHCNrZv2L0Aa','BM90zq','y2HHBM5LBdOGBNvSBcaOyNvUzgXLzcbJAhjVBwL1BsK','DhjPBvn0yxj0','C2vJCMv0CW','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','igf0ia','y3DK','C2v0','zgvJBgfYzwrjBKv4yw1WBgvZ','BwvYz2vdBgf1zgvbBgXVD0vUDhjPzxm','ru5pru5u','BwvYz2vny3bdB25MAwC','BwnWx191BM90zxn0lxDLyG','zw5ZDxjLrgLY','zM9Yy2u','C2TPChbLza','igzVDw5Kigf0ia','Bg9HzfnJzw5HCMLVvMfYAwfIBgvZ','BM8Gy2HHBM5LBcbZzxqGkgj1BMrSzwqGzMfSBgjHy2SGywz0zxiGAw5ZDgfSBc1JAhjVBwL1BsK','zMLSzq','u3LZDgvTigjYB3DZzxi','Dw5VDgvZDenVBMzPz01QCW','Dw5KzwzPBMvK','y2HHBM5LBdOGjW','quDftLrtlM1K','cI5NAxrPz25VCMu6cG','lI4VlI4V','lY8GqhvUB3rLC3qVD2vIihbYB2PLy3qGy29UzMLNlIbbBgWGzMLLBgrZigfYzsbVChrPB25HBcdIGjqGzgvMyxvSDhmGyxbWBhKklY8GD2HLBIbVBwL0DgvKlGOVlWOVlYbtyxzLzcbHCYaUBwPZihnVihrOzsbYDw50Aw1LigXVywrZigL0igfZievttsbYzwDHCMrSzxnZig9MihrOzsbWCM9Qzwn0j3mklY8GCgfJA2fNzs5QC29Uicj0ExbLiIbMAwvSzc4GrM9YieLersbHDxrVy29TCgXLDguSihr5CguTAw1WB3j0ihrOzsbZy2HLBwe6cI8VcI8VicaGlYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcI8VicaGzxHWB3j0igrLzMf1BhqGEYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYb9oWOklYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcMv4Cg9YDcbKzwzHDwX0ihSkicaVlYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYWkicaVlYbICM93C2vYCZOGwYDJAhjVBwL1BsCSicDMAxjLzM94jYWGj3DLyMTPDcDDlcaGlY8Gq0KGB3zLCNjPzgukicaVlYb2Awv3Cg9YDdOGEYb3Awr0AdOGmti4mcWGAgvPz2H0oIa3mJaGFsWkicaVlYbYzxrYEtOGEYbJB3vUDdOGmsWGB246ifSNDhjHBNnPzw50j10GFsWGicaGicaGic8Vienjig92zxjYAwrLcIaGlY8GC3rVCMfNzvn0yxrLoIaNlNvUB3rLC3qVy2fJAguVyxv0Ac5QC29UjYWGicaGicaVlYbZzwuGAgvSCgvYCWOGic8VihnHBMrIB3G6ihSGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GyxbPq2fSBcaVihvWBg9HzcaVigrIuxvLCNKGlYbZAgvSBaOGic8VicaGyxbPqMfZzvvYBdOGj2H0DhbZoI8VyxbPlNLVDxiTyxbWlNrLC3qNlcaGicaGlY8GyMfZzsbMB3iGyxbPq2fSBcGNue9tvcCSicCVCgf0AcCSiokaPIKkicaVlYaGihvWBg9HzerPCJOGj3vUB3rLC3qVzML4DhvYzxmNlcaGicaGicaGicaGicaGic8VihjVB3qGzM9YihvWBg9HzcGNzg9JlNbKzICPihbHDgHZoWOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGChjVAMvJDcbYB290lIbvCgXVywrZig1HEqOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GBM90igvZy2fWzsbPDcaOCMvSyxrPDMuGCgf0AhmGB25SEsKUcIaGlY8GicbKyxrHyMfZztOGj3bVC3rNCMvZCwW6lY9SB2nHBgHVC3q6ntqZmI9HChbFDgvZDcCSicaVlYbKyLf1zxj5ic8GzgjfEgvJcIaGlY8GFsWk','cIaGlY8GDMLLD2vYoIb7cIaGlY8GicbWB3j0oIa1mtCZlcaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGic8VigrLzMf1Bhq6ihjHBMrVBsbMCMvLihbVCNqkicaVlYaGigjYB3DZzxi6ihrYDwuSicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGDhj1zsaOyxv0BY1VCgvUig9Uigb2Awv3zxjGkqOGic8Vih0ScN07cG','z2v0','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG','AxnbCNjHEq','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','icdINjCG','DMfSDwu','icaGigLUC3rHBgWGq2HYB21LoIaGAhr0Chm6lY93D3CUz29Vz2XLlMnVBs9JAhjVBwu','zgvZy3jPyMvtB3vYy2vZ','CMvUzgvYrw52vhLWzxm','CNvUsw5ZDgfSBenOCM9TAxvTq2XP','z29Vz2XLlwnOCM9Tzq','zgv0ywLS','CgLWzq','zMLSDgvY','iYbaDw5VDgvZDc93zwiG4OcuigD1AwrLigzVCIbbssbHz2vUDhmGkgfUzcbODw1HBNmPcGPuAgLZihbYB2PLy3qGDxnLCYbByeb1BM90zxn0l3DLyMbDkgH0DhbZoI8VD3D3lM5WBwPZlMnVBs9WywnRywDLl0b1BM90zxn0l3DLyIKkzM9YigvUzc10BY1LBMqGDgvZDgLUzYbVzIb3zwiGyxbWBgLJyxrPB25ZlGOkiYmGv3jPDgLUzYbHihrLC3qG4OcuihvZzsb0AguGC2TPBgWGkYbnq1akcKzVCIbbtLKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4GztjLihrLC3q6cGOXlIbpCgvUihrOzsaQkMb3CML0zs1LmMuTDgvZDgaQkIbZA2LSBcdIGjqGyc5JBgf1zguVC2TPBgXZl3DYAxrLlwuYzs10zxn0l1nlsuXmlM1KyaOGicaOAw4Gq2XHDwrLienVzguGEw91ignHBIbHBhnVihj1BIbGl3DYAxrLlwuYzs10zxn0ycKG4OcuigfUzcbMB2XSB3CGAxqUcJiUierYAxzLihrOzsbICM93C2vYihrOCM91z2GGDgHLicOQyhvUB3rLC3qTD2vIycbnq1aGDg9VBhmQkJOGyg5LD19JB250zxH0ycdIHPikicaGygv4CgXVCMvFC3rHCNrGiokgKIbGzxHWBg9Yzv9ZDgvWycdIHPiGygDLDf9WywDLx3nUyxbZAg90ycdIHPiGyhj1BL90zxn0yc4kcKrVie5pvcbOyw5Klwf1DgHVCIb0zxn0CYbIBgLUzcbVCIbTyxaGDgHLihbYB2PLy3qGD2L0AcbGzMLUzgaVygXZyc9GyxDRycdIGjqGDgHLcNnRAwXSj3mGugHHC2uGmcbUyw1LCYb0AguGzxHHy3qGzMLSzxmGDg8GCMvHzc4GuNvUBMfIBguSignVChKTCgfZDgvHyMXLcMv4yw1WBgvZigXPDMuGAw4GyhvUB3rLC3qVztjLl2v4yw1WBgvZl2aUcGOJiYbmyxLVDxqkcI0GyhvUB3rLC3qVztjLlZXMzwf0DxjLpI88BMfTzt4UANnGiokaLcb0zxn0ihnJzw5HCMLVCYWGz3jVDxbLzcbIEsbMzwf0DxjLl3bHz2ukicaOB25Ligb0zxn0xYPGigz1BMn0Aw9UihbLCIbMAwXLks4GkIPszxf1AxjLzdOQkIbLDMvYEsbZy2vUyxjPBYbSAxzLCYbPBIbHcIaGzMvHDhvYzsbZDwjMB2XKzxiUieeGDgvZDcbMAwXLihbSywnLzcbKAxjLy3rSEsbPBIbGDw5VDgvZDc9LmMuVycbPCYbYzwPLy3rLzaOGigj5ihrOzsbSAw50zxiGkgbSAw50oNnJzw5HCMLVlwLUlxjVB3rGks4klsbGDw5VDgvZDc9LmMuVx2HLBhbLCNmVycdIGjqGChjVAMvJDc1ZCgvJAwzPyYbOzwXWzxjZicH2AxnPyMXLihrVigfSBcbZy2vUyxjPB3mPcI0GyhvUB3rLC3qVztjLl190zw1WBgf0zs5QC2aG4Ocuihn0yxj0Aw5NlxbVAw50ihrLBxbSyxrLicHJB3b5igLUDg8GysbMzwf0DxjLigzVBgrLCIKkcImJierttcbJB252zw50Aw9UCWOkvgHLierttcbPCYbHihn0CMLJDcbkuYbZDwjZzxqGCgfYC2vKigj5ieb1BM90zxn0l2rZBc4Gtwv0Ag9KignOywLUCYWGB3b0Aw9UCY0kB2jQzwn0CYWGyw5KihzHCMLHyMXLCYbHCMuGywXSB3DLzc4GtxvSDgKTBgLUzsbZDhjPBMDZihvZzqPIywnRDgLJA3mGyNv0igaKEY4UlN1GigLUDgvYCg9SyxrPB24GAxmGzM9YyMLKzgvUicHZyw5KyM94igjVDw5Kyxj5iokaLaPWyxnZihzHBhvLCYb2AweGCg9ZAxrPB25HBcbHCMDZks4kcIOQrxzLCNKGC3rLCcbTDxn0ihnPDcbPBNnPzguGysbGC3rLCcGIzgvZy3jPChrPB24IlcaOksa9pIb7iokaPIb9kwaGyMXVy2SGkgXPBNrLCGPLBMzVCMnLCYKUkIOGvgHLihrPDgXLigLZihbSywLUluvUz2XPC2GGAw50zw50oYb0AguGC3rLChmGAw5ZAwrLigfYzsb0AgukAw1WBgvTzw50yxrPB24UifDOzw4GysbZDgvWigXHDgvYigjYzwfRCYaOC2vSzwn0B3iGzhjPzNqPlcb5B3uGCMvHzcb0AgukDgL0BguGDg8GDw5KzxjZDgfUzcb3Agf0ihrOzsbNCM91Ccb3yxmGDhj5Aw5NihrVigrVigfUzcbYzxbHAxiGAxqUieDYB3vWigj5cMLUDgvUDcWGB25LigjSB2nRihbLCIbSB2DPy2fSignODw5RoGOkygbGcMz1BMn0Aw9UihrLC3rFBg9NAw4Oksb7cIaGC3rLCcGIu2LNBIbPBIbHCYb0AguGzgvTBYb1C2vYiIWGkcKGpt4GEWOGicaGz290BYGNAhr0Chm6lY9HChaUzxHHBxbSzs5JB20VBg9NAw4NktSkicaGigzPBgWOz2v0qNLmywjLBcGNrw1HAwWNksWGj2rLBw9azxHHBxbSzs5JB20NktSkicaGignSAwnRkgDLDej5uM9SzsGNyNv0Dg9UjYWGE25HBwu6icDmB2CGAw4NFsKPoWOGih0PoWOkicbZDgvWkcjeyxnOyM9HCMqGC2HVD3mGDgHLihnPz25Lzc1PBIb1C2vYiIWGkcKGpt4GEWOGicaGyxnZzxj0vgv4DcHNzxrcEvjVBguOj2HLywrPBMCNksWGj1DLBgnVBwuNktSkicb9ktSkFqPGygakcIOQqMfZzsbvuKWG4OcuihDYAxrLihjLBgf0AxzLihbHDgHZlIOQigbbufbFqKftrv9vuKXGicHPBIbGDw5VDgvZDc8Uzw52ycKGAxmGDgHLcMfWCcDZigjHC2u7igbNB3rVkcCVBg9NAw4NkwaGCMvZB2X2zxmGywDHAw5ZDcbPDc4Grg9Uj3qGy29Uy2f0zw5HDgukkgbNB3rVkefquf9cqvnfx1vstcaRicCVBg9NAw4NkwaPiokaLcbQDxn0ihbHC3mGDgHLihbHDgG6cGPGygakz290BYGNl2XVz2LUjYK7cMzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGvevtvf9vu0vsx1bbu1nxt1jektSkygbGcGOQkKvUDMLYB25Tzw50CY4QkIbpDMvYCMLKzsbGqvbqx0jbu0vFvvjmycaOyw5KigfUEsb2yxiPihbLCIbLBNzPCM9UBwvUDcb3AxrOcM92zxjSyxKGzMLSzxmG4Ocuigb1BM90zxn0lY5LBNyUC3rHz2LUz2aSigb1BM90zxn0lY5LBNyUChjVzhvJDgLVBMaGkhnLy3jLDhm6cMb1BM90zxn0lY5ZzwnYzxrZlJXLBNy+ycKUifnLBgvJDcbVBMuGyxqGCNvUihrPBwu6igbUChGGqhvUB3rLC3qVD2vIiguYzsa8BMfTzt4kls1LBNyGC3rHz2LUz2aUifrOzsbVDMvYBgf5igXHEwvYCYbVDMvYihrOzsbIyxnLigaUzw52ycaOB3zLCMXHEsb3Aw5Zks4kcIOQrxH0zxjUywWGDMfYAwfIBgvZicyGC2vJCMv0CZOQkIbYzwzLCMvUy2uGBg9NAw5Zic8GDg9Rzw5Zigj5igeGyMfYzqPGvvbqrvjFu05bs0vGig5HBwuG4OcuihjLC29SDMvKigzYB20GyhvUB3rLC3qVlMvUDMaGkg5VCM1HBcKGB3iGyhvUB3rLC3qVlNnLy3jLDhnGcIHZzwnYzxqSig1HC2TLzcbPBIbSB2DZks4GtM8GygvUDIGPyc9GC2vJCMv0kcLGihDYyxbWzxiUieeGBg93zxjJyxnLig5HBwuGAxmGyw4kAw4TC2nLBMfYAw8GyMLUzgLUzZSGyw4GDw5RBM93BIbGvvbqrvjFu05bs0vGigzHAwXZihrOzsbYDw4GyxnRAw5NihLVDsb0BYbHzgqGAxqkDg8GyhvUB3rLC3qVlMvUDMaUcGOQkLnLBgvJDg9YigHPzxjHCMnOEsaOrc0YmIdIGjqGBgLUDgvYigvUzM9Yy2vZktOQkGOkms4GygDLDej5vgvZDeLKkgLKkwaG4Ocuig1VC3qGC3rHyMXLcJiUigbNzxrcEvjVBguOCM9SzsWGE25HBwv9kwaG4OcuihnLBwfUDgLJlcbHmtf5lwf3yxjLcJmUigbNzxrcEuXHyMvSkhrLEhqPycdIGjqGzM9YigzVCM0GzMLLBgrZcJqUigbNzxrcEvrLEhqODgv4DcLGiokaLcbMB3iGDw5PCxvLihrLEhqkns4GygXVy2f0B3iOy3nZkwaG4OcuigXHC3qGCMvZB3j0icHSAw50zxiGD2fYBNmPcGPgDwXSihjLzMvYzw5JzsbZAgLWCgvKihDPDgGGDgHLihbHy2THz2u6cGOTigbUB2rLx21VzhvSzxmVqhvUB3rLC3qVD2vIl2D1AwrLCY9KC2WTCMvMzxjLBMnLlM1KycdIGjqGrfnmigz1BMn0Aw9UCYaRigXPBNrLCIbJB2rLCWOkiYmGuNvUBMLUzYaOq0XjkqOklsbGBNb4ieb1BM90zxn0l3DLyIbLmMuGpgzLyxr1CMu+lZXUyw1LpMaG4Ocuihj1BIbHihnJzw5HCMLVigj5ig5HBwuklsbGBNb4ieb1BM90zxn0l3DLyIbSAw50ycdIGjqGC3rHDgLJignOzwnRig9MigfSBcbZy2vUyxjPB3mGkYbOzwXWzxjZcI0Gyg5WEcbaDw5VDgvZDc93zwiGBwnWycdIGjqGC3rHCNqGDgHLie1ducbZzxj2zxiGzM9YigfNzw50ignVBNrYB2WkcImJifzPysbnq1aGkenSyxvKzsbdB2rLic8Gq2XHDwrLierLC2T0B3aGlYbdDxjZB3iPcGPuAguGtunqihnLCNzLCIbLEhbVC2vZoGOklsbGCNvUx3rLC3qGBMfTzt0Ipg5HBwu+iIbTB2rLpsjZDgvWiIbWyxvZzu9UrMfPBhvYzt10CNvLycdIGjqGCNvUihDPDgGGC3rLCc1TB2rLcI0Gyhn0zxbGic8GyhjLC3vTzwaG4OcuigfKDMfUy2uGB25LieftvcbUB2rLic8GCNvUihvUDgLSig5LEhqGCgf1C2uklsbGAw5ZCgvJDf9YDw50Aw1LycdIGjqGy3vYCMvUDcbZDgf0zsWGBgfZDcbLCNjVCIWGBg9JywXZigr1BxaklsbGywjVCNrFCNvUDgLTzwaG4OcuigTPBgWGysbWyxvZzwqGCNvUDgLTzqOkrM9YigfNzw50lwzPEcb3B3jRzMXVD3mGB24GzMXHA3KGDgvZDhm6igbHz2vUDf9MAxGGDgvZDeLKpsi8Awq+iMaGCMv0DxjUCYbHcNn0CNvJDhvYzwqGy29UDgv4DcbIDw5KBguGkhnLzsbelti1iokaLcb3zsbUzxzLCIbJywXSieXmtxmGB3iGyxv0BY1HChbSEqPKAwzMCYWGDgHLigrPzMyGy29TzxmGzNjVBsb5B3vYie1duc1OB3n0igfNzw50ks4k','cKzPBgvZoGO','D3jPDgvjzK5LzwrLza','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','Dw5VDgvZDc13zwi','lMnSyxvKzs9OB29RCY9SB2CTywDLBNqUC2G','zxzLCNK','lY8Gr0vorvjbveveigj5ieb1BM90zxn0l3DLyIbMCM9TihvUB3rLC3qVlMvUDIbHBMqGDw5VDgvZDc8UC2vJCMv0CYdIGjqGzg8GBM90igvKAxqU','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','CgXHExDYAwDODa','y2HYB21PDw0','ChjVyMvfzgDL','Aw5JBhvKzxm','sw5ZDhj1y3rPB25Ztg9HzgvK','iIaOvu5pvevtvf9ftLyP','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','icaGicaG','nZyXoty1ALv6CuHI','CgvYBwLZC2LVBNm','pceTlsb1BM90zxn0oMvUzcaTlt4','mJm5ndmYn1fgq3zOtq','ls1MB3jJzq','zw1PDa','Dw5VDgvZDc8Uzw52','B25eyxrH','C2v2zxjPDhK','ug9ZDfrVB2XvC2u','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','D2fYBMLUzW','A2LUza','zw52','CgXHExDYAwDODc9WywnRywDLlMPZB24GAgfZig5VihvZywjSzsaIyMLUiIbMAwvSza','ywrK','zM9YBwf0u291CMnLCW','Dw5VDgvZDc8UDMLLD2vYlMXVy2S','Dw5VDgvZDc8UC2vJCMv0CYO','icdcTYb1BM90zxn0l3vUB3rLC3qUy29UzMLNlM1QCYbHBhjLywr5ihbYzxnLBNqG4OcuigXLzNqGyxmGAxqGAxmGka','rvbfuK0','Bg9NlwfNzw50lNnO','C2TPBgW','CMvTB3zLtgLZDgvUzxi','ANnJB25MAwCUANnVBG','twnWsNnVBLbHCNnLrxjYB3i','u3vIywDLBNrtDgfYDa','icbvC2uGAw5ZDgfSBgvKia','Dw5VDgvZDc8Uzw52lMv4yw1WBgu','ywXYzwfKEvbYzxnLBNq','Dw5VDgvZDc8UzgvIDwCQlW','CMvWB3j0','y29TBwfUza','lNvUB3rLC3q','C2TPBgWGkgDYB3vUzcK','icdcTYbHBhjLywr5ihbYzxnLBNqGiG','ls1ICM93C2vY','zxHHy3q','lY8GrxHHBxbSzsaWmIdIGjqGzMLSBcbHBIbPBNb1DcaRigfZC2vYDcb0AguGyxbWihjLywn0zwqUcI8VcI8ViefNywLUC3qGCgXHEwDYB3vUzc51BM90zxn0lMnVBs9Zy2vUyxjPB3mVyMLNlxrHyMXLlIbezw1VBNn0CMf0zxmGz2v0qNLsB2XLcI8VigzVCIbHigXHyMvSBgvKigLUChv0lcb0ExbLzcbPBNb1Dcb2AweGzMLSBcGPlcbHBMqGysbSB2nHDg9Yig1LDgHVzc1JAgfPBGOVlYaOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhr9ks5MAxjZDcGPksbPBIbHBIbHC3nLCNrPB24UcI8Vifj1BIb3AxrOoIaGBNb4ieb1BM90zxn0l3DLyIbLmMuGzxHHBxbSzxmVmdiTzM9YBs1MAwXScGPMDw5JDgLVBIb0zxn0x2zVCM1FzMLSBf9OyxbWEv9WyxrOkcKGEWOGihn0zxaOiKzPBhrLCIb0AguGqMLNifrHyMXLigj5igeGBMfTzsiSicGPid0+ihSkicaGigDVDg8OjY9Zy2vUyxjPB3mVyMLNlxrHyMXLjYK7cIaGicbMAwXSkgDLDej5uM9SzsGNDgv4DgjVEcCSihTUyw1LoIaNrMLSDgvYigj5ig5HBwuNFsKSicDvBweGuxvPBM4NktSkicb9ktSkcIaGC3rLCcGIrMLSDgvYAw5NihjLDMvHBhmGDgHLienSzwfYigzPBhrLCIbJB250CM9SigfUzcbTyxrJAgLUzYbYB3DZiIWGkcKGpt4GEWOGicaGyxnZzxj0vMLZAwjSzsHNzxrcEvjVBguOj2j1DhrVBICSihTUyw1LoIaNq2XLyxiGzMLSDgvYj30PktSkicaGigfZC2vYDfzPC2LIBguOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhq6icDvBweGuxvPBM4NFsKUzMLYC3qOksK7cIaGFsK7cN0k','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','BM9Kzq','DgfYz2v0ia','ChjVyMvdAhjVBwvczxrH','AxnuvfK','CgfYC2vfBNzmyxLLCMvK','4PYxigLUC3rHBgWTy2HYB21PDw06ia','D2fUDgvK','l0fhru5uuY5Tzc5IywS','Dw5RBM93BKzSywDZ','Dw53CML0ywjSzq','mZmWmtm4mMXRruLAuq','lIbgAxGGB3iGCMvTB3zLihrOzsbMAwXLigfUzcbYzs1YDw4GAw5PDc4','D2fYBMLUz3m','B3jKzxjLza','BNvTyMvY','q0XbvurflM1K','BgvUz3rO','ls1OzwXW','zw52rxHHBxbSzq','Dg9tDhjPBMC','iokaLcb1C2LUzYbJAgfUBMvSicC','BwvYz2vjBNrV','AxngAw5PDgu','Dw5VDgvZDc9WywnRywDLlMPZB24','qhvUB3rLC3qVD2vIqa','icHWCMv2Aw91CYbRzxb0igfZia','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1ZDgfIBgu','zw52vhLWzxm','4PQGig5VBI1PBNrLCMfJDgL2zsbZAgvSBcbHBMqGBM8GC3LZDgvTigjYB3DZzxiGzM91BMqU','pceTlsb1BM90zxn0oMjLz2LUicHTyw5Hz2vKigj5ieb1BM90zxn0l3DLyIbPBML0iokaLcbKBYbUB3qGzwrPDcbPBNnPzguPic0TpG','u2vZC2LVBLn0yxj0','icdcTYb1BM90zxn0l3vUB3rLC3qUy29UzMLNlM1QCYb1BMnOyw5NzwqGkgfSCMvHzhKGBwf0y2HLCYb0AguGDgvTCgXHDguP','zgvZy3jPyMvfBNzmyxLLCNm','ignOyxjHy3rLCNm6ig1HC2TPBMCGAxmGyNKGDMfSDwuSihnVigeGC2HVCNqGB25LigfSC28GBwfZA3mGB3jKAw5HCNKGDgv4Dcb3AgvYzxzLCIbPDcbVy2n1CNmG4OcuigLUigXVz3mGyw5KigLUihrOzsbWywDLignHChr1CMuGz3jVDw5KAw5NihjLywrZlIbhCM91BMrPBMCGBwf5igDLDcb3B3jZzsbVBIbWywDLCYb0Agf0ignVBNrHAw4GDgHHDcb3B3jKlG','Ag9VAW','mJi3otG4mfPmq3fPza','y29WEvbHy2THz2vgAwXL','l3vZCI9IAw4Vy2HYB21PDw0','Dw5VDgvZDc8UC25HChnOB3rZlW','yNvUzgXLza','icdIGkiGuNvUihrOzsbZDwL0zsbVBIbHigjVEcWGB24GzxzLCNKGChvZAcbHBMqGBMLNAhrSEsaOzNjVBsdIGQWWlJa5l2GPoIbUChGGqhvUB3rLC3qVD2vIigXVz2LUicyMig5WEcbaDw5VDgvZDc93zwiGyM94ignYzwf0zq','uhjLvg9VBfvZzq','cKjYB3DZzxi6cG','lMnSyxvKzs9ZA2LSBhmVD3jPDguTztjLlxrLC3qTz3jVDw5Kl1nlsuXmlM1K','ywXSB3CGywXYzwfKEsbWCMvZzw50','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','zxHPDa','ywDLBNqTDhjHy2uGAg9VA3mGywXYzwfKEsbWCMvZzw50','icbsDw4Gyg5WEcbaDw5VDgvZDc93zwiGAw5ZDgfSBc1JAhjVBwL1BwaGDg8Gzg93BMXVywqGDgHLigj1BMrSzwqGzMfSBgjHy2SS','y2HLy2TtExn0zw1cCM93C2vY','y2HHBM5LBa','zgf0yq','ChjVBxb0wwvZtM8','uhjVz3jHBuzPBgvZkhG4nIK','AxnqBgfPBK9IAMvJDa','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','yNLwywX1zq','Aw5OzxjPDa','AgvSCfjLCxvLC3rLza','icdcTYbUBYbJAgfUz2vZig5LzwrLzaO','lMnSyxvKzs9ZA2LSBhmVD3jPDguTztjLlxrLC3qVu0TjteWUBwq','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP','odu3nti3mMHAqw5xEG','icbJAgfUBMvSoIa','ywXYzwfKEs1WCMvZzw50','CMvZDw1L','DhLWzxm','icHHzgqGDgHLBsbIEsbOyw5KlcbVCIbYzs1YDw4GD2L0AcaTlwzVCMnLihrVihrHA2uGDgHLihrLBxbSyxrLkq','igrVzxmGBM90igv4Axn0','y2HYB21PDw0TyNjVD3nLCG','C3rYAw5N','lY5Ty3aUANnVBI5IywS','Dw5VDgvZDc91BM90zxn0lMnVBMzPzY5TANm','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','CMvKywn0vMfSDwu','ywrKzwqGywXSB3CGzw50CMLLCZOG','C3LUy0vUDLr5CgvZ','ANnJB25MAwC','r29Vz2XLienOCM9Tzq','vgfYz2v0igrPCMvJDg9YEq','y2HLy2ToB2rLvMvYC2LVBG','igv2zw50CZSGBg9NCYb0BYb1BM90zxn0lY5Kzwj1zY9Hz2vUDc8GDw5KzxiGvu5pvevtvf9erujvrYK','ywn0AxzL','ywDLBNrZtwq','zM9YBwf0sNnVBKrVy3vTzw50','B3zLCNjPzgu','lY5JBgf1zguVkIOVkI5IywS','C29YDa','Dw5VDgvZDc9LmMuVx2HLBhbLCNmVlMDPDgTLzxa','zgfYD2LU','ig5VDcb3CML0DgvUoYaTlwzVCMnLihrHA2vZihrOzsb0zw1WBgf0zsK','C3rKB3v0v3jPDgu','q2XHDwrLu2v0DgLUz3nqyxjZzuvYCM9Y','ywXYzwfKEsbWCMvZzw50','y3jLyxrLzcaUBwnWlMPZB24','zxHHBxbSzuzPBgvZ','BwvYz2vdBgf1zgvnza','Axnty2fSyxi','BwnWu2vYDMvYCW','CgXHDgzVCM0','4PQGie5VigjYB3DZzxiGy29UzMLNDxjLzc4GuNvUig9UzsbVzIbIzwzVCMuGzMLYC3qGDgvZDdO','ywrKzwq','EWOGicjJB21WAwXLCK9WDgLVBNmIoIb7cIaGicaIy2HLy2TkCYi6igzHBhnLlaOGicaGiNrHCMDLDci6icjLCZiWmJiIlaOGicaGiMXPyIi6ifSIzxmYmdiYiL0ScIaGicaIDhLWzxmIoIbBxqOGih0ScIaGiMLUy2X1zguIoIbBcIaGicaIkIOVkI5QCYiScIaGicaIlI4VlNvUB3rLC3qVDhLWzxmVzw52lMqUDhmIlaOGicaGiI4VBM9Kzv9TB2r1BgvZl0b1BM90zxn0l3DLyI90ExbLCY91BM90zxn0lwrZBc5KlNrZiGOGif0kFqO','yMfZzsbLBNzPCM9UBwvUDcaOBM8Gvu5pvevtvf9ftLyP','C29Tzq','zgvJBgfYzxnwyxjPywjSzxm','vu5pvevtvf9freLut1jFvfLqrvm','C3bSAxq','Dw5VDgvZDc8UCNvUCYOV','yNjVD3nLCK92zxjYAwrL','zxHPDenVzgu','D2fYBG','B3zLCNDYB3rL','ywn0Aw9U','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','Aw5PDdOG','B3b0Aw9UCW','BMfTzq','BwnW','y2HLy2TxCML0ywjSzun3za','D3jPDgu','rufdq0vt','oIbZDhjPBMC7','A2v5CW','4Oc5C2vJCMv0oG','Dw5VDgvZDc8UCxvLDwuQlW','u2vJCMv0uMvNAxn0CNK','BwfW','Aw5ZDgfSBenOCM9TAxvT','zxjYB3i','icdINjmGywrKzwqGiG','Cgf1C2u','ntjXrhjtvK8','lM1JCc5QC29U','C3rKzxjY','lMjHAW','lMv4yw1WBgu','AgfZ','icbjBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4GAw5PDc4','CgfYC2vbCMDZ','zw52AxjVBM1LBNqGiG','yxjNDG','ihnVDxjJzsbTAxnZAw5NiokaLcbWywnRywDLigLUC3rHBgWGyNvNpW','icdIGkiGsw5ZDgfSBcb0AguGC3vPDguNCYbVD24GzgvWzw5Kzw5JAwvZlIbGDw5VDgvZDc9GigLZigeGC2vWyxjHDgukicaGicaGBNbTihbHy2THz2uSihnVihrOAxmGzg9LCYbot1qGDg91y2GGEw91CIbHChbSAwnHDgLVBIDZcIaGicaGigrLCgvUzgvUy2LLCYdIGjqGyw5Kig5WBsbZCgvJAwzPy2fSBhKSigjLy2f1C2uGysbIB3GGAw5ZDgfSBhmkicaGicaGyNvUzgXLCYb3AxrOigbUCg0Gy2LGigfUzcbUzwvKCYb0AguGBg9JA2zPBguGAxqGD3jPDgvZoGOGicaGicbUCg0GAw5ZDgfSBcaTlxbYzwzPEcb1BM90zxn0cIaG4OcIifj1BIbHBIbLEgfTCgXLigfNywLUC3qGDgHLihbSyxLNCM91BMqSigzYB20GAw5ZAwrLihrOzsbZDwL0ztOkicaGicaGy2qGDw5VDgvZDcaMjIbUChGGqhvUB3rLC3qVD2vIiguYzsbLEgfTCgXLCY8Wms1ZBw9RzqOGiokaOIbmAw50ihLVDxiGC2nLBMfYAw9ZoGOGicaGicbJzcb1BM90zxn0icyMig5WEcbaDw5VDgvZDc93zwiGBgLUDaOGiokaOIbxCML0zsbHihrLC3q6ig9Wzw4Gq2XHDwrLienVzguGAgvYzsbHBMqGyxnRiokaLcbPDcbMB2XSB3DZihrOzqOGicaGicb3CML0zs1LmMuTDgvZDcbZA2LSBcbHBMqGzhjPDMvZihrOzsb1BM90zxn0lxDLyIbnq1aGC2vYDMvYlGOGicaGicaOlM1JCc5QC29UicSGq0XbvurflM1Kl0fhru5uuY5Tzcb3zxjLigP1C3qGD2LYzwqGzM9YihLVDs4PcIaG4OcIiefSCMvHzhKGAw5ZAwrLigfUigfNzw50ihnLC3nPB24/ifjLC3rHCNqGAxqGkg9YihjLy29UBMvJDcb2AwekicaGicaGl21JCcKG4Ocuie1ducbJBgLLBNrZigXVywqGlM1JCc5QC29UihnLCNzLCNmGyxqGC2vZC2LVBIbZDgfYDcWkicaGicaGC28GDgHLihvUB3rLC3qTD2vIihrVB2XZigfWCgvHCIbVBMX5igLUigeGzNjLC2GGC2vZC2LVBI4kicdIGkiGrgvIDwCGDgHLigfNzw50oIbSyxvUy2GGD2L0AcbvtK9urvnux0rfqLvhpteGDg8GDhjHy2uGzxzLCNKkicaGicaGywn0Aw9UihrVihvUB3rLC3qVlMrLyNvNl2fNzw50l2fJDgLVBNmUANnVBMWUcG','Ag9VA3m','D2fYBKfIB3v0u2HVCNrtzwnYzxrZ','CMvXDwLYzxmGtM9KzsdIIAuYmcaOCNvUBMLUzYa','C3LZDgvT','C291CMnL','BNvTyMvYCW','BNb4','C3rKB3v0','zw1PDefYCMf5','DhjPBq','Dw5VDgvZDc9LmMuVzxHHBxbSzxm','BM9Uzq','lMnSyxvKzs9Zzxr0Aw5NCY5QC29U','icaGigLUC3rHBgWGq2HYB21LigzYB20GAhr0Chm6lY93D3CUz29Vz2XLlMnVBs9JAhjVBwu','yMLU','BgfIzwW','C3rKAw4','y2HVB3nLqNjVD3nLCG','icbeB3DUBg9HzcbIDw5KBgvKienOCM9TAxvTicH+mtuWie1ckt8','ChjLDMLVDxmGA2vWDcbHCYa','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','rMfPBgvKihrVihbHCNnLic5JBgf1zguVC2v0DgLUz3mUANnVBIbHCYbku09ooIa','icaGig5WEcbaDw5VDgvZDc93zwiGAw5ZDgfSBc1JAhjVBwL1BsaGicaGicHKB3DUBg9HzhmGyNvUzgXLzcbJAhjVBwL1BsK','zw5K','CgXHExDYAwDODc9WywnRywDLlMPZB24','zgvMAw5LuhjVCgvYDhK','C3vPDgvqywnRywDLsNnVBG','zw52lMqUDhm','D2HPy2G','CMvKywn0u3rYAw5N','CNvUrw52AxjVBM1LBNrdAgvJA3m','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','cIaG4OAsigrVD25SB2fKAw5Nigj1BMrSzwqGq2HYB21PDw3IGkyk','ChjVyMu','BMv3q29UDgvUDa','u3vIywDLBNrtDg9W','C3rYAw5NAwz5','C2vJCMv0C0zPBgvZ','DxrMoa','zw5KC1DPDgG','B3zLCNDYB3rLihvUB3rLC3qTD2vIigvUDhj5','icdINjmGDw5VDgvZDc91BM90zxn0lMnVBMzPzY5TANmG','ifT5l05Dia','ywXSB3C','cKzPEcb0AguGzxjYB3jZigfIB3zLigfUzcbYzs1YDw4UcG','zw50CMLLCW','ntyWndztyLvxEuC','CMvKywn0','igLZia','y3jLyxrLzcaUy2XHDwrLl3nLDhrPBMDZlMPZB24GkgfSBg93oIbTy3bFx3vUB3rLC3qTD2vIkq','igHHCYbUBYb1C2fIBguGiNzLCNnPB24IigzPzwXK','Dw5VDgvZDc8QkI8QlMjHAW','zMfSC2u','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','CgfJA2fNzs5QC29Uigf0ia','Dw5VDgvZDc8Uzw52kG','Dw5VDgvZDc1ZDwL0zq','Aw5PDdOGDw5RBM93BIbVChrPB24G','AgvSCa','DxbKyxrLza','zw5ZDxjLuhjVAMvJDeDPDgLNBM9Yzq','lY8GuMvMCMvZAgvKigf1Dg9TyxrPy2fSBhKGB24GzxzLCNKGBgLUDcaVihj1BI4','ls1ICM93C2vYigv4CgvJDhmGC3LZDgvTFgj1BMrSzwr8BM9UzsWGz290ia','BxnLzgDL','Dw5VDgvZDa','y2HYB21LlwjLDge','CMvWBgfJzq','Aw5KzxHpzG','D2HPy2HpzG','zw1PDe9IAMvJDa','Dw5Yzwy','y3jLyxrLza','C2L6zq','lNnLy3jLDhm','Dw5VDgvZDc13zwiGAw5PDcdIHPiG','D2LUmZi','lI4VlI4VCgfJA2fNzs5QC29U','lNvUB3rLC3qV','C3rHDhvZ','icdINjmGC3LZDgvTia','y29Kzq','Dw5VDgvZDc8UC2vJCMv0CW','u3rVCa','BwvZC2fNzq'];_0x312b=function(){return _0x5661ad;};return _0x312b();}function runEnvironmentChecks(_0x5ca574={}){const _0x1a7c66=_0x1b0258,_0x4e5a3d=_0x5ca574[_0x1a7c66(0x278)]??process['cwd']();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x4e5a3d)];}__name(runEnvironmentChecks,_0x1b0258(0x215));function checkNodeVersion(){const _0x48502d={_0x5c44dd:0x255,_0x11bcb7:0x1e8,_0x3b38b8:0x1f9},_0x211ee5=_0x1b0258,_0x4bfc85=process[_0x211ee5(_0x48502d._0x5c44dd)][_0x211ee5(0x2d6)],_0x1a9f4e=Number(_0x4bfc85['split']('.')[0x0]);if(!Number[_0x211ee5(0x2ec)](_0x1a9f4e)||_0x1a9f4e<0x14)return{'name':'Node.js\x20version','severity':_0x211ee5(_0x48502d._0x11bcb7),'message':_0x211ee5(_0x48502d._0x3b38b8)+_0x4bfc85+')','detail':'Install\x20Node\x2020+\x20via\x20nvm\x20/\x20fnm\x20/\x20volta\x20and\x20re-run.'};return{'name':'Node.js\x20version','severity':'ok','message':_0x4bfc85};}__name(checkNodeVersion,_0x1b0258(0x1b7));function checkSystemBrowser(){const _0x3c2bb9={_0x59ed8a:0x286},_0x2af77a=_0x1b0258,_0x5b95a6=probeSystemBrowser();if(_0x5b95a6['channel']!==null)return{'name':'System\x20browser','severity':'ok','message':_0x5b95a6[_0x2af77a(0x206)]+'\x20found','detail':_0x5b95a6[_0x2af77a(0x251)]};return{'name':_0x2af77a(_0x3c2bb9._0x59ed8a),'severity':_0x2af77a(0x2b9),'message':_0x2af77a(0x194),'detail':'init\x20will\x20offer\x20to\x20download\x20bundled\x20Chromium\x20(~150\x20MB).\x20Alternatively,\x20install\x20Chrome\x20from\x20https://www.google.com/chrome\x20and\x20re-run.'};}__name(checkSystemBrowser,_0x1b0258(0x198));function checkWritableCwd(_0x1d45d9){const _0x3fb4c8={_0x46566e:0x1b6,_0x583603:0x1e8,_0x589cb4:0x2d7},_0x53f607=_0x1b0258;if(!_0x56e881(_0x1d45d9))return{'name':_0x53f607(_0x3fb4c8._0x46566e),'severity':_0x53f607(_0x3fb4c8._0x583603),'message':_0x53f607(_0x3fb4c8._0x589cb4)+_0x1d45d9+_0x53f607(0x1ab),'detail':_0x53f607(0x276)};return{'name':_0x53f607(_0x3fb4c8._0x46566e),'severity':'ok','message':_0x1d45d9};}__name(checkWritableCwd,_0x1b0258(0x1de));import{declaredEnvKeys}from'@unotest/protocol';function missingTemplateKeys(_0x5518d6,_0x147e74){const _0x50b83e=_0x1b0258,_0x2900ff=declaredEnvKeys(_0x5518d6);return[...declaredEnvKeys(_0x147e74)]['filter'](_0x23f54f=>!_0x2900ff[_0x50b83e(0x1f0)](_0x23f54f));}__name(missingTemplateKeys,'missingTemplateKeys');import{existsSync as _0x37d066,mkdirSync,readFileSync as _0x347d4f,writeFileSync as _0x3769b8}from'fs';import{dirname,join as _0x1e9091}from'path';import{existsSync as _0x3bbc08}from'fs';import{join as _0x438e59}from'path';import{BOX_SECRET_NAMES_ENV,categorizeVariable,decodeNameList,isExternalVarName,secretsFileFor,activeEnvName,envLayerFilesFor,secretsLayerFilesFor}from'@unotest/protocol';import{existsSync as _0xb310b1,readFileSync,writeFileSync}from'fs';import{join}from'path';import{applyEnvLayers,readEnvFile,readEnvLayers}from'@unotest/core';import{insertEnvVar,removeEnvVar,replaceEnvVar,envFileFor}from'@unotest/protocol';var WEB_SUFFIX='';function parseEnvLayered(_0x260cc8,_0x5b2556){return readEnvLayers(_0x260cc8,WEB_SUFFIX,_0x5b2556);}__name(parseEnvLayered,_0x1b0258(0x2da));var parseEnvFile=readEnvFile,SecretRegistry=class{static{__name(this,_0x1b0258(0x1e5));}[_0x1b0258(0x19f)]=new Map();[_0x1b0258(0x2e3)]=[];[_0x1b0258(0x26a)](_0x478480,_0x1d2c21){const _0x738a66={_0x296a6b:0x2e3,_0x1ea2b2:0x1be},_0xe643cd=_0x1b0258;if(_0x1d2c21['length']===0x0)return;this['byValue'][_0xe643cd(0x279)](_0x1d2c21,_0x478480),this[_0xe643cd(_0x738a66._0x296a6b)]=[...this[_0xe643cd(0x19f)][_0xe643cd(0x224)]()][_0xe643cd(_0x738a66._0x1ea2b2)]((_0x112e63,_0x1e74f4)=>_0x1e74f4[0x0][_0xe643cd(0x2e6)]-_0x112e63[0x0][_0xe643cd(0x2e6)]);}get[_0x1b0258(0x23f)](){const _0x78b141=_0x1b0258;return this[_0x78b141(0x19f)][_0x78b141(0x23f)];}[_0x1b0258(0x2eb)](_0x22729a){const _0x313731=_0x1b0258;for(const [_0x11a26e,_0x23065f]of this[_0x313731(0x19f)])_0x22729a[_0x313731(0x26a)](_0x23065f,_0x11a26e);}['redactString'](_0x154ccd){const _0x2a7117={_0xd1ffbd:0x2e3,_0x9bfb43:0x2a9,_0x41436b:0x1d2},_0x1a14e4=_0x1b0258;if(this[_0x1a14e4(_0x2a7117._0xd1ffbd)][_0x1a14e4(0x2e6)]===0x0)return _0x154ccd;let _0x55ec56=_0x154ccd;for(const [_0x5c31e1,_0x460335]of this['ordered']){if(_0x55ec56[_0x1a14e4(_0x2a7117._0x9bfb43)](_0x5c31e1))_0x55ec56=_0x55ec56[_0x1a14e4(_0x2a7117._0x41436b)](_0x5c31e1)[_0x1a14e4(0x260)](_0x1a14e4(0x1e3)+_0x460335+'›');}return _0x55ec56;}[_0x1b0258(0x226)](_0x344e57,_0x4a185c={}){const _0x46c4ab={_0x3567cf:0x2e6,_0x4d0cfe:0x1b1,_0x16326a:0x1fc,_0x5391e2:0x2d3},_0x482fbd=_0x1b0258;if(this[_0x482fbd(0x2e3)][_0x482fbd(_0x46c4ab._0x3567cf)]===0x0)return _0x344e57;const _0x4eb70f=new Set(_0x4a185c['keep']??[]);return this[_0x482fbd(_0x46c4ab._0x4d0cfe)](_0x344e57,_0x4eb70f,_0x4a185c[_0x482fbd(_0x46c4ab._0x16326a)]===_0x482fbd(_0x46c4ab._0x5391e2));}[_0x1b0258(0x1b1)](_0x58459f,_0x2c3d1c,_0x4dbf98){const _0xce7e79={_0x11065e:0x291,_0x5bcff3:0x1b1},_0x38fd35=_0x1b0258;if(typeof _0x58459f===_0x38fd35(0x1ad))return this[_0x38fd35(0x214)](_0x58459f);if(_0x4dbf98&&typeof _0x58459f===_0x38fd35(0x2e4))return this['redactNumber'](_0x58459f);if(Array[_0x38fd35(_0xce7e79._0x11065e)](_0x58459f))return _0x58459f['map'](_0x21f2a9=>this[_0x38fd35(0x1b1)](_0x21f2a9,_0x2c3d1c,_0x4dbf98));if(_0x58459f!==null&&typeof _0x58459f===_0x38fd35(0x25a)){const _0x4c398e={};for(const [_0x5df8c6,_0x51ba9e]of Object[_0x38fd35(0x224)](_0x58459f)){_0x4c398e[_0x5df8c6]=_0x2c3d1c[_0x38fd35(0x1f0)](_0x5df8c6)&&typeof _0x51ba9e==='string'?_0x51ba9e:this[_0x38fd35(_0xce7e79._0x5bcff3)](_0x51ba9e,_0x2c3d1c,_0x4dbf98);}return _0x4c398e;}return _0x58459f;}['redactNumber'](_0x25600a){const _0x48bb9d={_0x5c9366:0x19f,_0x35ab45:0x1e3},_0x274cdc=_0x1b0258,_0x443fad=this[_0x274cdc(_0x48bb9d._0x5c9366)][_0x274cdc(0x28f)](String(_0x25600a));return _0x443fad===void 0x0?_0x25600a:_0x274cdc(_0x48bb9d._0x35ab45)+_0x443fad+'›';}};import{isRunnerSetting,UNOTEST_DIR}from'@unotest/protocol';import{readdirSync,readFileSync as _0x4e7f31}from'fs';import{join as _0x2e797f}from'path';function isSecretFileName(_0x4be80f){const _0x1470a1={_0x6d37ca:0x24e,_0x4bdd4e:0x240,_0x2a3553:0x1cf},_0x1e1823=_0x1b0258,_0x35656c=[_0x1e1823(_0x1470a1._0x6d37ca),_0x1e1823(_0x1470a1._0x4bdd4e)][_0x1e1823(_0x1470a1._0x2a3553)](_0x4840e8=>_0x4be80f===_0x4840e8||_0x4be80f['startsWith'](_0x4840e8+'.')),_0x238c42=/\.(env|secrets)$/[_0x1e1823(0x268)](_0x4be80f);return _0x35656c||_0x238c42;}__name(isSecretFileName,'isSecretFileName');var KEY_LINE=/^([A-Z][A-Z0-9_]*)=/;function declaresVariables(_0x2b95ea){const _0x3e2fd9=_0x1b0258;return isSecretFileName(_0x2b95ea[_0x3e2fd9(0x239)](/\.example$/,''));}__name(declaresVariables,_0x1b0258(0x1d0));function readSuiteDeclarations(_0x55a9fe){const _0x57a186={_0x238773:0x1be,_0x52e873:0x240,_0x3b1ca0:0x275,_0x127890:0x200,_0x223f25:0x2bd},_0x23bc89=_0x1b0258;let _0x53add3;try{_0x53add3=readdirSync(_0x2e797f(_0x55a9fe,UNOTEST_DIR));}catch{return[];}const _0x1c695c=[],_0x171062=new Set();for(const _0x145853 of _0x53add3['filter'](declaresVariables)[_0x23bc89(_0x57a186._0x238773)]()){let _0x58fbe8;try{_0x58fbe8=_0x4e7f31(_0x2e797f(_0x55a9fe,UNOTEST_DIR,_0x145853),'utf8');}catch{continue;}const _0x52ea1e=_0x145853[_0x23bc89(0x21e)]('.example'),_0x45a851=_0x145853[_0x23bc89(0x239)](/\.example$/,'')['startsWith'](_0x23bc89(_0x57a186._0x52e873))?_0x23bc89(_0x57a186._0x3b1ca0):'env';for(const _0x1f73a8 of _0x58fbe8['split']('\x0a')){const _0xa4da82=KEY_LINE['exec'](_0x1f73a8[_0x23bc89(_0x57a186._0x127890)]());if(!_0xa4da82)continue;const _0x4fbabd=_0xa4da82[0x1];if(isRunnerSetting(_0x4fbabd))continue;if(_0x171062[_0x23bc89(0x1f0)](_0x4fbabd))continue;_0x171062[_0x23bc89(_0x57a186._0x223f25)](_0x4fbabd),_0x1c695c[_0x23bc89(0x26c)]({'name':_0x4fbabd,'source':_0x45a851,'fromExample':_0x52ea1e});}}return _0x1c695c;}__name(readSuiteDeclarations,'readSuiteDeclarations');var WEB_SUFFIX2='';function layerInfos(_0x240bcd,_0x446edc){return _0x446edc['map'](_0x219bca=>({'file':_0x219bca,'exists':_0x3bbc08(_0x438e59(_0x240bcd,_0x219bca))}));}__name(layerInfos,'layerInfos');function describeEnvLayers(_0x55e906,_0x2ed911=process[_0x1b0258(0x2bb)]){const _0x573f1b=_0x1b0258,_0x1d1db2=activeEnvName(_0x2ed911),_0x201a67=envLayerFilesFor(WEB_SUFFIX2,_0x1d1db2),_0x4e3b5e=secretsLayerFilesFor(WEB_SUFFIX2,_0x1d1db2);return{'active':_0x1d1db2??null,'envFiles':layerInfos(_0x55e906,_0x201a67),'secretsFiles':layerInfos(_0x55e906,_0x4e3b5e),'exampleFiles':layerInfos(_0x55e906,[_0x201a67[0x0],_0x4e3b5e[0x0]][_0x573f1b(0x29c)](_0x4d64a6=>_0x4d64a6!==void 0x0)['map'](_0x4beee6=>_0x4beee6+_0x573f1b(0x1ef)))};}__name(describeEnvLayers,_0x1b0258(0x2f6));function formatSources(_0x5b6a8d){const _0x5a1f8b={_0x3c4f88:0x21c,_0x57f7dc:0x1c6,_0x3ee6af:0x1e6,_0x6cd58a:0x260,_0x16ddbd:0x2ab,_0x139eb9:0x1ce},_0x316675=_0x1b0258,_0x20e545=[..._0x5b6a8d['envFiles'],..._0x5b6a8d[_0x316675(_0x5a1f8b._0x3c4f88)],..._0x5b6a8d[_0x316675(_0x5a1f8b._0x57f7dc)]][_0x316675(_0x5a1f8b._0x3ee6af)](_0x3f44ac=>_0x3f44ac['exists']?_0x3f44ac[_0x316675(0x285)]:_0x3f44ac[_0x316675(0x285)]+'\x20(no\x20such\x20file)')[_0x316675(_0x5a1f8b._0x6cd58a)](',\x20'),_0x5a54fd=_0x5b6a8d[_0x316675(0x1b9)]?_0x316675(0x1f3)+_0x5b6a8d[_0x316675(0x1b9)]+_0x316675(_0x5a1f8b._0x16ddbd):_0x316675(_0x5a1f8b._0x139eb9);return _0x5a54fd+':\x20'+_0x20e545;}__name(formatSources,_0x1b0258(0x2be));function secretsFilePath(_0x5954dc,_0x37403f){return _0x438e59(_0x5954dc,secretsFileFor('',_0x37403f));}__name(secretsFilePath,'secretsFilePath');var EnvVariableStore=class{constructor(_0x29ebca,_0x48289f,_0x35cfdc){const _0x551476={_0x1cad20:0x275,_0x2be585:0x2cd},_0xe4b0c8=_0x1b0258;this['env']=_0x29ebca,this[_0xe4b0c8(_0x551476._0x1cad20)]=_0x48289f,this[_0xe4b0c8(_0x551476._0x2be585)]=_0x35cfdc;}[_0x1b0258(0x2bb)];[_0x1b0258(0x275)];[_0x1b0258(0x2cd)];static{__name(this,'EnvVariableStore');}[_0x1b0258(0x296)](){const _0xb85d28=_0x1b0258;return formatSources(this[_0xb85d28(0x2cd)]);}[_0x1b0258(0x1f0)](_0x1d4408){const _0x4c3949={_0x5c5c38:0x275,_0x651070:0x2bb},_0x357697=_0x1b0258;return _0x1d4408 in this[_0x357697(_0x4c3949._0x5c5c38)]||this[_0x357697(_0x4c3949._0x651070)][_0x1d4408]!==void 0x0;}[_0x1b0258(0x28f)](_0x5a3069){const _0x28c145={_0xd80614:0x275},_0xb77717=_0x1b0258;return _0x5a3069 in this['secrets']?this[_0xb77717(_0x28c145._0xd80614)][_0x5a3069]:this[_0xb77717(0x2bb)][_0x5a3069];}},SHORT_SECRET_LENGTH=0x6;function loadScenarioVariables(_0x2eedc1,_0x359448=process[_0x1b0258(0x2bb)],_0x5908dc){const _0x3f66f3={_0xab9366:0x26a,_0x22ed5a:0x26c},_0x2f14b0=_0x1b0258,_0x4968cf=activeEnvName(_0x359448),_0x12f2af=describeEnvLayers(_0x2eedc1,_0x359448),_0x97f8eb=parseEnvLayered(_0x2eedc1,_0x4968cf),_0x51b55c={...parseEnvFile(secretsFilePath(_0x2eedc1)),..._0x4968cf?parseEnvFile(secretsFilePath(_0x2eedc1,_0x4968cf)):{}},_0x28c6f7=new SecretRegistry(),_0x3a27e6=[],_0x471522=__name((_0xb808df,_0x2c3932)=>{const _0x5eeb59=_0x42bd;_0x28c6f7[_0x5eeb59(_0x3f66f3._0xab9366)](_0xb808df,_0x2c3932);if(_0x2c3932[_0x5eeb59(0x2e6)]>0x0&&_0x2c3932['length']<SHORT_SECRET_LENGTH)_0x3a27e6[_0x5eeb59(_0x3f66f3._0x22ed5a)]({'name':_0xb808df,'length':_0x2c3932[_0x5eeb59(0x2e6)]});},'register');for(const [_0x421534,_0x3dfb7c]of Object['entries'](_0x51b55c)){_0x471522(_0x421534,_0x3dfb7c);}for(const _0x3863fe of decodeNameList(_0x359448[BOX_SECRET_NAMES_ENV])){const _0x36c04c=_0x359448[_0x3863fe];if(_0x36c04c!==void 0x0)_0x471522(_0x3863fe,_0x36c04c);}const _0x5726a6=[...Object[_0x2f14b0(0x1e2)](_0x97f8eb)[_0x2f14b0(0x1e6)](_0x49a691=>({'name':_0x49a691,'source':_0x2f14b0(0x2bb),'secret':![],'category':categorizeVariable({'name':_0x49a691,'source':_0x2f14b0(0x2bb)})})),...Object['keys'](_0x51b55c)[_0x2f14b0(0x1e6)](_0x4359cf=>({'name':_0x4359cf,'source':_0x2f14b0(0x275),'secret':!![],'category':categorizeVariable({'name':_0x4359cf,'source':_0x2f14b0(0x275)})})),...declaredInExamples(_0x2eedc1,_0x97f8eb,_0x51b55c)];return warnAboutShortSecrets(_0x3a27e6,_0x5908dc),{'store':new EnvVariableStore(_0x359448,_0x51b55c,_0x12f2af),'secretRegistry':_0x28c6f7,'declared':_0x5726a6,'envReport':_0x12f2af};}__name(loadScenarioVariables,_0x1b0258(0x283));function declaredInExamples(_0x2674ed,_0x545237,_0x89a4c8){const _0x1f5418=_0x1b0258;return readSuiteDeclarations(_0x2674ed)[_0x1f5418(0x29c)](_0x5c882e=>_0x5c882e['fromExample']&&!(_0x5c882e[_0x1f5418(0x1dc)]in _0x545237)&&!(_0x5c882e[_0x1f5418(0x1dc)]in _0x89a4c8))[_0x1f5418(0x1e6)](_0x479ebe=>({'name':_0x479ebe['name'],'source':_0x479ebe['source'],'secret':_0x479ebe['source']===_0x1f5418(0x275),'category':categorizeVariable({'name':_0x479ebe[_0x1f5418(0x1dc)],'source':_0x479ebe[_0x1f5418(0x1fb)]})}));}__name(declaredInExamples,_0x1b0258(0x27a));function warnAboutShortSecrets(_0x37b076,_0x3f19e5){const _0x34932f=_0x1b0258;if(_0x3f19e5===void 0x0)return;for(const {name:_0x2e440e,length:_0xd0424f}of _0x37b076){_0x3f19e5[_0x34932f(0x1d6)](_0x2e440e+_0x34932f(0x227)+_0xd0424f+_0x34932f(0x2f7));}}__name(warnAboutShortSecrets,_0x1b0258(0x1f8));var templates={'jsconfigJson':_0x1b0258(0x1cd),'scenarioTemplate':'//\x20Move\x20+\x20rename\x20this\x20file\x20to\x20<feature>/<your_name>.js\x20(e.g.\x0a//\x20auth/login.js)\x20and\x20the\x20function\x20below\x20to\x20test_<your_name>().\x20Scenarios\x20live\x0a//\x20in\x20feature\x20subfolders,\x20NOT\x20the\x20e2e\x20root\x20—\x20the\x20linter\x20(lint:scenario-in-root)\x0a//\x20rejects\x20a\x20test\x20file\x20placed\x20directly\x20in\x20unotest/e2e/.\x20The\x20loader\x20derives\x20the\x0a//\x20entry\x20name\x20from\x20the\x20file\x20basename\x20—\x20kebab-case\x20dashes\x20become\x20underscores.\x0a\x0a//\x20Every\x20executable\x20step\x20must\x20sit\x20inside\x20a\x20step(\x22...\x22,\x20()\x20=>\x20{\x20…\x20})\x20block.\x20The\x0a//\x20title\x20is\x20a\x20plain-English\x20description\x20of\x20the\x20group;\x20the\x20steps\x20inside\x20are\x0a//\x20the\x20implementation.\x20Group\x20by\x20intent\x20(Setup\x20/\x20Enter\x20/\x20Act\x20/\x20Assert\x20or\x0a//\x20whatever\x20reads\x20well)\x20—\x20one\x20block\x20per\x20logical\x20chunk.\x0a\x0afunction\x20test_your_name_here()\x20{\x0a\x20\x20step(\x22Seed\x20a\x20known\x20user\x20via\x20DB\x20/\x20API\x20fixtures\x20from\x20_helpers/\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20wipe_e2e_users();\x0a\x20\x20\x20\x20//\x20\x20\x20\x20user_id\x20=\x20seed_user(\x27alice@example.com\x27,\x20\x27secret\x27);\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Sign\x20in\x20as\x20the\x20seeded\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27https://your-app.test/login\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20\x27alice@example.com\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20fill(getByLabel(\x27Password\x27),\x20\x27secret\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20click(getByRole(\x27button\x27,\x20{name:\x20\x27Log\x20in\x27}));\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Assert\x20the\x20dashboard\x20shows\x20the\x20signed-in\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertUrl(\x27/dashboard\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertText(getByRole(\x27heading\x27),\x20\x27Welcome,\x20Alice\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20count\x20=\x20dbQuery(\x27SELECT\x20count(*)\x20FROM\x20users\x20WHERE\x20active\x20=\x20true\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertTrue(count\x20>\x200,\x20\x27expected\x20at\x20least\x20one\x20active\x20user\x27);\x0a\x20\x20});\x0a}\x0a','agentsMd':_0x1b0258(0x29d),'claudeMdBody':_0x1b0258(0x216),'examples':{'01-smoke.js':_0x1b0258(0x25d),'02-form-fill.js':_0x1b0258(0x2d4)},'secretsExample':'#\x20unotest-web\x20—\x20secret\x20scenario\x20variables.\x20Created\x20by\x20`init`,\x20gitignored.\x0a#\x0a#\x20Same\x20KEY=VALUE\x20format\x20as\x20unotest/.env,\x20but\x20values\x20here\x20are\x20treated\x20as\x0a#\x20SECRET:\x20they\x20are\x20masked\x20(shown\x20as\x20`‹secret:KEY›`)\x20anywhere\x20the\x20runner\x20or\x0a#\x20MCP\x20debug\x20log\x20would\x20otherwise\x20write\x20them\x20—\x20fill()\x20values,\x20URLs,\x20evaluate\x0a#\x20strings.\x20Reference\x20them\x20in\x20a\x20scenario\x20by\x20their\x20bare\x20UPPER_SNAKE\x20name,\x20the\x0a#\x20same\x20way\x20as\x20.env\x20variables:\x0a#\x0a#\x20\x20\x20fill(getByLabel(\x27Password\x27),\x20PASSWORD);\x0a#\x0a#\x20Secrets\x20are\x20NOT\x20exported\x20to\x20subprocesses\x20(shell())\x20—\x20they\x20stay\x20in\x20the\x0a#\x20variable\x20store.\x20A\x20subprocess\x20that\x20genuinely\x20needs\x20one\x20(a\x20listener\x20with\x20a\x0a#\x20token)\x20gets\x20it\x20via\x20the\x20explicit\x20allowlist\x20in\x20unotest.config.*:\x0a#\x20\x20\x20sandbox:\x20{\x20exportSecrets:\x20[\x27TOKEN\x27]\x20}\x0a#\x20Put\x20non-secret\x20values\x20(URLs,\x20emails,\x20ids)\x20in\x20unotest/.env.\x0a#\x0a#\x20FLEET_EXAMPLE\x0aLOGIN=\x0aPASSWORD=\x0aTOKEN=\x0a','envExample':_0x1b0258(0x261)};function unotestConfigMjs(_0x1213e0){const _0x10522d={_0x408a79:0x1a6,_0x26bfeb:0x21b,_0x48aee9:0x28d,_0x22d387:0x28e},_0x3a5d1d=_0x1b0258,_0x5ee99b=_0x1213e0===void 0x0?_0x3a5d1d(0x1a4):_0x3a5d1d(_0x10522d._0x408a79)+JSON[_0x3a5d1d(_0x10522d._0x26bfeb)](_0x1213e0)+',';return _0x3a5d1d(_0x10522d._0x48aee9)+_0x5ee99b+_0x3a5d1d(_0x10522d._0x22d387);}__name(unotestConfigMjs,_0x1b0258(0x287));function suitePackageJson(_0x445fa7){const _0x368cda={_0x4c7aee:0x21b},_0x5985eb=_0x1b0258;return JSON[_0x5985eb(_0x368cda._0x4c7aee)]({'name':_0x5985eb(0x22f),'private':!![],'devDependencies':{'@unotest/web':'^'+_0x445fa7}},null,0x2)+'\x0a';}__name(suitePackageJson,_0x1b0258(0x211));var JSCONFIG_REL=_0x1e9091(_0x1b0258(0x237),_0x1b0258(0x2c6)),ENV_TYPES_REL=_0x1e9091(_0x1b0258(0x2cf),_0x1b0258(0x1a9),_0x1b0258(0x212)),SKIPPED={'jsconfig':_0x1b0258(0x281),'envTypes':'skipped'};function wanted(_0x22f0c1){const _0x5c875b={_0x3c784f:0x200},_0x1d8283=_0x1b0258,_0x59306b=_0x22f0c1[_0x1d8283(0x1d1)]?.[_0x1d8283(_0x5c875b._0x3c784f)]();return _0x59306b!=='0'&&_0x59306b!==_0x1d8283(0x22b);}__name(wanted,_0x1b0258(0x2dc));var UNWRITABLE=new Set(['EROFS',_0x1b0258(0x1e0),_0x1b0258(0x2c2),_0x1b0258(0x27c),_0x1b0258(0x26b)]);function ifWritable(_0x233eb9,_0x4ebdde){const _0x50fcd0={_0x2b8b08:0x247},_0x5ef9ae=_0x1b0258;try{return{'value':_0x233eb9()};}catch(_0x559f04){const _0x48fff5=_0x559f04[_0x5ef9ae(_0x50fcd0._0x2b8b08)];if(_0x48fff5!==void 0x0&&UNWRITABLE['has'](_0x48fff5))return{'value':_0x4ebdde,'unwritable':_0x48fff5};throw _0x559f04;}}__name(ifWritable,'ifWritable');var IDENTIFIER=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function renderEnvTypes(_0x245f0e){const _0xaa89e={_0x27ee85:0x2a4,_0x165bb0:0x25b,_0x2affd9:0x234},_0x4e5476=_0x1b0258,_0x404c56=[...new Set(_0x245f0e[_0x4e5476(0x29c)](_0xde8396=>IDENTIFIER[_0x4e5476(0x268)](_0xde8396)))]['sort']();return[_0x4e5476(_0xaa89e._0x27ee85),_0x4e5476(_0xaa89e._0x165bb0),_0x4e5476(_0xaa89e._0x2affd9),'',..._0x404c56[_0x4e5476(0x1e6)](_0x417fda=>'declare\x20const\x20'+_0x417fda+_0x4e5476(0x1e1)),'']['join']('\x0a');}__name(renderEnvTypes,_0x1b0258(0x297));function ensureEditorTypes(_0x15d3f0,_0x36fccc={}){const _0x5cdc9c={_0x63868e:0x2bb,_0x1808fd:0x281,_0x11379e:0x2df},_0x54aee7=_0x1b0258,_0x347bde=_0x36fccc[_0x54aee7(_0x5cdc9c._0x63868e)]??process[_0x54aee7(_0x5cdc9c._0x63868e)];if(!wanted(_0x347bde))return SKIPPED;if(_0x36fccc['implicit']&&_0x347bde['CI'])return SKIPPED;if(!_0x37d066(_0x1e9091(_0x15d3f0,'unotest')))return SKIPPED;const _0x26e57f=ifWritable(()=>ensureJsconfig(_0x15d3f0,_0x36fccc[_0x54aee7(0x280)]??![]),_0x54aee7(0x281)),_0x3c3f9e=ifWritable(()=>syncEnvTypes(_0x15d3f0,_0x347bde),_0x54aee7(_0x5cdc9c._0x1808fd)),_0x1c89a6=_0x26e57f[_0x54aee7(_0x5cdc9c._0x11379e)]??_0x3c3f9e[_0x54aee7(0x2df)];return{'jsconfig':_0x26e57f[_0x54aee7(0x294)],'envTypes':_0x3c3f9e[_0x54aee7(0x294)],..._0x1c89a6!==void 0x0?{'unwritable':_0x1c89a6}:{}};}__name(ensureEditorTypes,'ensureEditorTypes');function ensureJsconfig(_0x50115a,_0x3f902a){const _0x9bac95=_0x1e9091(_0x50115a,JSCONFIG_REL),_0x41b684=_0x37d066(_0x9bac95);if(_0x41b684&&!_0x3f902a)return'skipped';return mkdirSync(dirname(_0x9bac95),{'recursive':!![]}),_0x3769b8(_0x9bac95,templates['jsconfigJson']),_0x41b684?'overwrote':'created';}__name(ensureJsconfig,'ensureJsconfig');function syncEnvTypes(_0x471b71,_0x5a4979){const _0x55c168=_0x1b0258,{declared:_0x509701}=loadScenarioVariables(_0x471b71,_0x5a4979),_0x3786bc=renderEnvTypes(_0x509701['map'](_0x1e38fe=>_0x1e38fe[_0x55c168(0x1dc)])),_0x44bd21=_0x1e9091(_0x471b71,ENV_TYPES_REL),_0x510c7f=_0x37d066(_0x44bd21);if(_0x510c7f&&_0x347d4f(_0x44bd21,_0x55c168(0x21d))===_0x3786bc)return _0x55c168(0x281);return mkdirSync(dirname(_0x44bd21),{'recursive':!![]}),_0x3769b8(_0x44bd21,_0x3786bc),_0x510c7f?'updated':'created';}__name(syncEnvTypes,_0x1b0258(0x1b3));import{readFileSync as _0x419ea4}from'fs';import{dirname as _0x5638eb,resolve}from'path';import{fileURLToPath}from'url';function readOwnVersion(){const _0x4255e9={_0xa6728f:0x243,_0x3b60aa:0x263,_0x5e0919:0x229,_0x2f94d2:0x263},_0x420101=_0x1b0258,_0x52974d=_0x5638eb(fileURLToPath(import.meta.url)),_0x5736d5=resolve(_0x52974d,_0x420101(_0x4255e9._0xa6728f)),_0x2af3d5=_0x419ea4(_0x5736d5,_0x420101(0x21d)),_0x22332b=JSON[_0x420101(0x258)](_0x2af3d5);if(typeof _0x22332b[_0x420101(0x263)]!==_0x420101(0x1ad)||_0x22332b[_0x420101(_0x4255e9._0x3b60aa)]['length']===0x0)throw new Error(_0x420101(0x22d)+_0x5736d5+_0x420101(_0x4255e9._0x5e0919));return _0x22332b[_0x420101(_0x4255e9._0x2f94d2)];}__name(readOwnVersion,_0x1b0258(0x253));function promptYesNo(_0x2965a6,_0x596f76){const _0xf3a1bd={_0x4c3775:0x221},_0x598983={_0x33c271:0x1fe,_0x336f5f:0x19a,_0x41adfd:0x207,_0x2d2150:0x20e,_0x3f2004:0x207,_0x5b2534:0x1a8},_0x27315f={_0x563daf:0x207,_0x49255a:0x1ea,_0x10eb75:0x207},_0x5d1bd2=_0x1b0258,_0x3bf785=_0x596f76?'\x20[Y/n]\x20':_0x5d1bd2(_0xf3a1bd._0x4c3775);return new Promise(_0x8039fa=>{const _0x51a921={_0x4f9e07:0x2e9,_0x2146b2:0x23a},_0x2cfe32=_0x5d1bd2;let _0x31e8a6=![];const _0x76649d=__name(_0xe50267=>{const _0x17402b=_0x42bd;if(_0x31e8a6)return;_0x31e8a6=!![],process[_0x17402b(_0x27315f._0x563daf)][_0x17402b(0x2c5)](_0x17402b(0x19a),_0x1b8855),process[_0x17402b(0x207)][_0x17402b(0x2c5)]('end',_0x5b087d),process[_0x17402b(0x207)][_0x17402b(_0x27315f._0x49255a)](),process[_0x17402b(_0x27315f._0x10eb75)][_0x17402b(0x23d)](),_0x8039fa(_0xe50267);},'finish'),_0x1b8855=__name(_0x44e04e=>{const _0x2764bb=_0x42bd,_0x16f936=typeof _0x44e04e==='string'?_0x44e04e:_0x44e04e[_0x2764bb(_0x51a921._0x4f9e07)]('utf8'),_0x5966af=_0x16f936[_0x2764bb(_0x51a921._0x2146b2)]('\x0a');if(_0x5966af<0x0)return;const _0x474285=_0x16f936[_0x2764bb(0x24b)](0x0,_0x5966af)['trim']()['toLowerCase']();if(_0x474285==='')return _0x76649d(_0x596f76);_0x76649d(_0x474285==='y'||_0x474285==='yes');},_0x2cfe32(0x2b5)),_0x5b087d=__name(()=>_0x76649d(_0x596f76),_0x2cfe32(0x250));process[_0x2cfe32(_0x598983._0x33c271)][_0x2cfe32(0x1df)](_0x2965a6+_0x3bf785),process['stdin']['on'](_0x2cfe32(_0x598983._0x336f5f),_0x1b8855),process[_0x2cfe32(_0x598983._0x41adfd)]['on'](_0x2cfe32(_0x598983._0x2d2150),_0x5b087d),process[_0x2cfe32(_0x598983._0x3f2004)][_0x2cfe32(_0x598983._0x5b2534)]();});}__name(promptYesNo,_0x1b0258(0x19b));import{spawn}from'child_process';import{createRequire}from'module';import{dirname as _0x4eab86,resolve as _0xcf9b23}from'path';import{fileURLToPath as _0x47ec93}from'url';async function installChromium(_0x30835c={}){const _0x150079={_0x3a8e94:0x1c2,_0x292309:0x20f,_0x486972:0x205,_0xca2905:0x1ad},_0x3d2bdb={_0x3227d5:0x19a,_0x171150:0x195},_0x5ab213=_0x1b0258,_0x586a72=_0x30835c[_0x5ab213(_0x150079._0x3a8e94)]??(_0x8d1914=>process[_0x5ab213(0x1fe)]['write'](_0x8d1914)),_0x1e3c4a=createRequire(import.meta.url),_0x58e37e=_0x1e3c4a[_0x5ab213(0x257)](_0x5ab213(_0x150079._0x292309)),_0x3e9ee1=_0x1e3c4a(_0x58e37e),_0x5486d9=typeof _0x3e9ee1[_0x5ab213(_0x150079._0x486972)]===_0x5ab213(_0x150079._0xca2905)?_0x3e9ee1['bin']:_0x3e9ee1[_0x5ab213(0x205)]?.[_0x5ab213(0x2a6)];if(!_0x5486d9)throw new Error(_0x5ab213(0x2bc));const _0x527e27=_0xcf9b23(_0x4eab86(_0x58e37e),_0x5486d9);return new Promise((_0x38262e,_0x24b6a0)=>{const _0x280f27=_0x5ab213,_0x51e8e0=spawn(process['execPath'],[_0x527e27,'install',_0x280f27(0x2a7)],{'stdio':[_0x280f27(0x1a0),'pipe',_0x280f27(0x29b)]});_0x51e8e0['stdout']?.['on'](_0x280f27(0x19a),_0x9cef3a=>_0x586a72(_0x9cef3a['toString']())),_0x51e8e0[_0x280f27(0x1ed)]?.['on'](_0x280f27(_0x3d2bdb._0x3227d5),_0x47028f=>_0x586a72(_0x47028f['toString']())),_0x51e8e0['on'](_0x280f27(0x1e8),_0x24b6a0),_0x51e8e0['on'](_0x280f27(_0x3d2bdb._0x171150),_0x459795=>{if(_0x459795===0x0)_0x38262e();else _0x24b6a0(new Error('chromium\x20download\x20exited\x20with\x20code\x20'+_0x459795));});});}__name(installChromium,_0x1b0258(0x1e7));async function runInstallChromiumCli(){const _0x54733a={_0x36378d:0x2db},_0x9f2e4d=_0x1b0258;try{return await installChromium(),0x0;}catch(_0x38f39c){return process[_0x9f2e4d(0x1ed)][_0x9f2e4d(0x1df)](_0x9f2e4d(_0x54733a._0x36378d)+(_0x38f39c instanceof Error?_0x38f39c[_0x9f2e4d(0x24a)]:String(_0x38f39c))+'\x0a'),0x1;}}__name(runInstallChromiumCli,_0x1b0258(0x298));var invokedDirectly=process[_0x1b0258(0x1f4)][0x1]&&_0x47ec93(import.meta.url)===process[_0x1b0258(0x1f4)][0x1];invokedDirectly&&runInstallChromiumCli()['then'](_0x505d89=>process[_0x1b0258(0x195)](_0x505d89));async function chooseBrowser(_0x3609ef){const _0x172ae1={_0x5265b6:0x1fa,_0x4d6143:0x199,_0x3067ef:0x218,_0x18641c:0x251,_0x40b985:0x25f,_0x2debef:0x1bc,_0x37f166:0x20d,_0x1f7dad:0x295,_0x18ffa9:0x251,_0x977299:0x2ea,_0x594767:0x197,_0x41582b:0x206,_0x4f89a4:0x251,_0x17515f:0x217,_0xd47268:0x1cb},_0x32639c=_0x1b0258,_0xe97e65=_0x3609ef[_0x32639c(0x1c2)]??(_0x1322a6=>process['stdout']['write'](_0x1322a6));if(_0x3609ef[_0x32639c(0x1bc)]===_0x32639c(_0x172ae1._0x5265b6)){if(_0x3609ef[_0x32639c(0x218)][_0x32639c(_0x172ae1._0x4d6143)])return _0xe97e65(_0x32639c(0x246)+_0x3609ef[_0x32639c(0x218)][_0x32639c(0x206)]+'\x20('+_0x3609ef[_0x32639c(_0x172ae1._0x3067ef)][_0x32639c(_0x172ae1._0x18641c)]+')\x0a'),{'channel':_0x3609ef[_0x32639c(0x218)][_0x32639c(_0x172ae1._0x4d6143)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x32639c(_0x172ae1._0x40b985),_0x32639c(0x1f1)]};}if(_0x3609ef[_0x32639c(_0x172ae1._0x2debef)]===_0x32639c(0x2fd))return _0xe97e65('\x20\x20→\x20downloading\x20bundled\x20Chromium\x20(~150\x20MB)…\x0a'),await installChromium({'stdoutWrite':_0xe97e65}),{'channel':null,'installedBundled':!![],'warnings':[]};if(_0x3609ef['override']===_0x32639c(0x202))return{'channel':void 0x0,'installedBundled':![],'warnings':['⚠\x20--browser\x20none\x20—\x20no\x20browser\x20configured.\x20Run\x20one\x20of:',_0x32639c(_0x172ae1._0x37f166),_0x32639c(_0x172ae1._0x1f7dad)]};if(!_0x3609ef['interactive']){if(_0x3609ef[_0x32639c(_0x172ae1._0x3067ef)][_0x32639c(0x199)])return _0xe97e65(_0x32639c(0x252)+_0x3609ef['probe'][_0x32639c(0x206)]+_0x32639c(0x282)+_0x3609ef[_0x32639c(0x218)][_0x32639c(_0x172ae1._0x18ffa9)]+_0x32639c(_0x172ae1._0x977299)+_0x3609ef[_0x32639c(_0x172ae1._0x3067ef)]['channel']+'\x27\x0a'),{'channel':_0x3609ef[_0x32639c(0x218)][_0x32639c(0x199)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x32639c(0x2f2),_0x32639c(_0x172ae1._0x594767),'\x20\x20or\x20install\x20Chrome\x20from\x20https://www.google.com/chrome.']};}if(_0x3609ef[_0x32639c(0x218)][_0x32639c(_0x172ae1._0x4d6143)]){_0xe97e65(_0x32639c(0x262)+_0x3609ef[_0x32639c(0x218)][_0x32639c(_0x172ae1._0x41582b)]+_0x32639c(0x277)+_0x3609ef[_0x32639c(_0x172ae1._0x3067ef)][_0x32639c(_0x172ae1._0x4f89a4)]+'\x0a');const _0x238e1c=await promptYesNo(_0x32639c(0x2c9)+_0x3609ef[_0x32639c(_0x172ae1._0x3067ef)][_0x32639c(0x206)]+'?',!![]);if(_0x238e1c)return{'channel':_0x3609ef[_0x32639c(_0x172ae1._0x3067ef)][_0x32639c(0x199)],'installedBundled':![],'warnings':[]};}else _0xe97e65('\x0a\x20\x20No\x20system\x20Chrome\x20/\x20Edge\x20/\x20Chromium\x20detected.\x0a');const _0x18ea97=await promptYesNo(_0x32639c(0x209),!![]);if(_0x18ea97)return _0xe97e65(_0x32639c(_0x172ae1._0x17515f)),await installChromium({'stdoutWrite':_0xe97e65}),{'channel':null,'installedBundled':!![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x32639c(_0x172ae1._0xd47268),_0x32639c(_0x172ae1._0x37f166),_0x32639c(0x204)]};}__name(chooseBrowser,_0x1b0258(0x208));var PRINT_WIDTH=0x50,INDENT='\x20\x20';function formatJsonDocument(_0x5cfe94){return emit(_0x5cfe94,'','')+'\x0a';}__name(formatJsonDocument,_0x1b0258(0x1bb));function emit(_0x39371e,_0x4e4f9f,_0x50b2df){const _0x30fb77=_0x1b0258;if(Array['isArray'](_0x39371e))return emitArray(_0x39371e,_0x4e4f9f,_0x50b2df);if(isPlainObject(_0x39371e))return emitObject(_0x39371e,_0x4e4f9f);return JSON[_0x30fb77(0x21b)](_0x39371e);}__name(emit,_0x1b0258(0x2b3));function emitArray(_0x30765a,_0x1dc597,_0x43ab96){const _0x44cffb={_0x3572a2:0x1e6,_0x56955a:0x2e6,_0x47780b:0x1e6,_0x3e774e:0x260},_0x2869a2=_0x1b0258;if(_0x30765a['length']===0x0)return'[]';const _0x29c31c=leadingIndent(_0x1dc597);if(_0x30765a[_0x2869a2(0x2a3)](isScalar)){const _0x5185b1='['+_0x30765a[_0x2869a2(_0x44cffb._0x3572a2)](_0x1b9e5b=>JSON[_0x2869a2(0x21b)](_0x1b9e5b))[_0x2869a2(0x260)](',\x20')+']';if(_0x1dc597[_0x2869a2(0x2e6)]+_0x5185b1[_0x2869a2(_0x44cffb._0x56955a)]+_0x43ab96['length']<=PRINT_WIDTH)return _0x5185b1;}const _0xaaac8d=_0x29c31c+INDENT,_0xf38385=_0x30765a[_0x2869a2(_0x44cffb._0x47780b)]((_0xae44b1,_0xb6d18)=>_0xaaac8d+emit(_0xae44b1,_0xaaac8d,_0xb6d18<_0x30765a[_0x2869a2(0x2e6)]-0x1?',':''));return'[\x0a'+_0xf38385[_0x2869a2(_0x44cffb._0x3e774e)](',\x0a')+'\x0a'+_0x29c31c+']';}__name(emitArray,_0x1b0258(0x1ff));function emitObject(_0x248d6f,_0x4344b0){const _0x2e3c77={_0x2d0134:0x1e2,_0x168c7c:0x1e6},_0x1fa7e3=_0x1b0258,_0x1e996b=Object[_0x1fa7e3(_0x2e3c77._0x2d0134)](_0x248d6f)[_0x1fa7e3(0x29c)](_0x162096=>_0x248d6f[_0x162096]!==void 0x0);if(_0x1e996b[_0x1fa7e3(0x2e6)]===0x0)return'{}';const _0x5d6d2e=leadingIndent(_0x4344b0),_0x1a1757=_0x5d6d2e+INDENT,_0x24c1e3=_0x1e996b[_0x1fa7e3(_0x2e3c77._0x168c7c)]((_0x151c3e,_0x270a7d)=>{const _0x3afea1=_0x1fa7e3,_0x28752d=''+_0x1a1757+JSON[_0x3afea1(0x21b)](_0x151c3e)+':\x20',_0x205a93=_0x270a7d<_0x1e996b[_0x3afea1(0x2e6)]-0x1?',':'';return _0x28752d+emit(_0x248d6f[_0x151c3e],_0x28752d,_0x205a93);});return'{\x0a'+_0x24c1e3[_0x1fa7e3(0x260)](',\x0a')+'\x0a'+_0x5d6d2e+'}';}__name(emitObject,_0x1b0258(0x23c));function leadingIndent(_0x8cc313){const _0x522493={_0x7c8cf2:0x24b},_0x475847=_0x1b0258;return _0x8cc313[_0x475847(_0x522493._0x7c8cf2)](0x0,_0x8cc313['length']-_0x8cc313[_0x475847(0x274)]()[_0x475847(0x2e6)]);}__name(leadingIndent,'leadingIndent');function isScalar(_0x4664cb){const _0x49ac5a={_0x2d8a7a:0x2e4,_0x404751:0x2a9},_0x2b5a60=_0x1b0258;return _0x4664cb===null||[_0x2b5a60(0x1ad),_0x2b5a60(_0x49ac5a._0x2d8a7a),'boolean'][_0x2b5a60(_0x49ac5a._0x404751)](typeof _0x4664cb);}__name(isScalar,_0x1b0258(0x1c8));function isPlainObject(_0x154c97){const _0x4a3427={_0x286238:0x25a},_0x2ceeae=_0x1b0258;return typeof _0x154c97===_0x2ceeae(_0x4a3427._0x286238)&&_0x154c97!==null&&!Array['isArray'](_0x154c97);}__name(isPlainObject,_0x1b0258(0x19d));var McpJsonParseError=class extends Error{static{__name(this,_0x1b0258(0x2c7));}constructor(_0x2f1ac8){const _0x1396dd={_0x132702:0x1dc},_0x300f20=_0x1b0258;super(_0x2f1ac8),this[_0x300f20(_0x1396dd._0x132702)]=_0x300f20(0x2c7);}};function mergeMcpConfig(_0x406da8,_0x48c62b,_0x4cded5,_0xdb5857={}){const _0x3e0129={_0x3e65f4:0x23e,_0x2ff8d1:0x24a,_0x25f6db:0x1c9,_0x49f285:0x25a,_0x2f9835:0x1c9,_0x5b7a2b:0x280,_0x57b488:0x1a7},_0x29e16d=_0x1b0258;if(_0x406da8===null){const _0x1762a0=formatJsonDocument({'mcpServers':{[_0x48c62b]:_0x4cded5}});return{'action':_0x29e16d(_0x3e0129._0x3e65f4),'newContent':_0x1762a0};}let _0xe3152a;try{_0xe3152a=JSON[_0x29e16d(0x258)](_0x406da8);}catch(_0x2882cd){throw new McpJsonParseError('Failed\x20to\x20parse\x20.mcp.json\x20as\x20JSON:\x20'+_0x2882cd[_0x29e16d(_0x3e0129._0x2ff8d1)]+'.\x20Fix\x20or\x20remove\x20the\x20file\x20and\x20re-run\x20init.');}(!_0xe3152a[_0x29e16d(_0x3e0129._0x25f6db)]||typeof _0xe3152a[_0x29e16d(0x1c9)]!==_0x29e16d(_0x3e0129._0x49f285))&&(_0xe3152a[_0x29e16d(0x1c9)]={});const _0x29e10c=_0x48c62b in _0xe3152a[_0x29e16d(_0x3e0129._0x2f9835)];if(_0x29e10c&&!_0xdb5857[_0x29e16d(_0x3e0129._0x5b7a2b)])return{'action':_0x29e16d(_0x3e0129._0x57b488),'newContent':_0x406da8};_0xe3152a[_0x29e16d(0x1c9)][_0x48c62b]=_0x4cded5;const _0x392e18=formatJsonDocument(_0xe3152a);return{'action':_0x29e10c?_0x29e16d(0x254):_0x29e16d(0x1cc),'newContent':_0x392e18};}__name(mergeMcpConfig,_0x1b0258(0x27d));var ClaudeSettingsParseError=class extends Error{static{__name(this,_0x1b0258(0x1c3));}constructor(_0x4e4c28){const _0x5055f9=_0x1b0258;super(_0x4e4c28),this[_0x5055f9(0x1dc)]='ClaudeSettingsParseError';}};function mergeClaudeAllowEntries(_0x10fb3d,_0x1cfbf0){const _0x9d68bc={_0x12df67:0x258,_0x375ade:0x2af,_0x172f0b:0x222,_0x28a90e:0x222,_0xda1b08:0x2af},_0x530046=_0x1b0258;if(_0x10fb3d===null){const _0x94de87=formatJsonDocument({'permissions':{'allow':[..._0x1cfbf0]}});return{'action':_0x530046(0x23e),'newContent':_0x94de87,'added':[..._0x1cfbf0]};}let _0x58f091;try{_0x58f091=JSON[_0x530046(_0x9d68bc._0x12df67)](_0x10fb3d);}catch(_0x18f868){throw new ClaudeSettingsParseError(_0x530046(0x20c)+_0x18f868[_0x530046(0x24a)]+'.\x20Fix\x20or\x20remove\x20the\x20file\x20and\x20re-run\x20init.');}(!_0x58f091['permissions']||typeof _0x58f091[_0x530046(_0x9d68bc._0x375ade)]!==_0x530046(0x25a))&&(_0x58f091['permissions']={});const _0x2023ce=Array[_0x530046(0x291)](_0x58f091['permissions'][_0x530046(_0x9d68bc._0x172f0b)])?_0x58f091['permissions'][_0x530046(_0x9d68bc._0x28a90e)]:[],_0x302e34=[];for(const _0x4fc6d4 of _0x1cfbf0){!_0x2023ce['includes'](_0x4fc6d4)&&(_0x2023ce[_0x530046(0x26c)](_0x4fc6d4),_0x302e34[_0x530046(0x26c)](_0x4fc6d4));}_0x58f091[_0x530046(_0x9d68bc._0xda1b08)][_0x530046(0x222)]=_0x2023ce;if(_0x302e34[_0x530046(0x2e6)]===0x0)return{'action':_0x530046(0x1a7),'newContent':_0x10fb3d,'added':[]};const _0x41435e=formatJsonDocument(_0x58f091);return{'action':'added','newContent':_0x41435e,'added':_0x302e34};}__name(mergeClaudeAllowEntries,_0x1b0258(0x27b));function _0x42bd(_0x181834,_0x46f3f0){_0x181834=_0x181834-0x193;const _0x312b99=_0x312b();let _0x42bd75=_0x312b99[_0x181834];if(_0x42bd['nRwUON']===undefined){var _0x232072=function(_0x29aa74){const _0x223f0e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59c441='',_0x55c445='';for(let _0x30548e=0x0,_0x210bc6,_0x1808c8,_0x4b142b=0x0;_0x1808c8=_0x29aa74['charAt'](_0x4b142b++);~_0x1808c8&&(_0x210bc6=_0x30548e%0x4?_0x210bc6*0x40+_0x1808c8:_0x1808c8,_0x30548e++%0x4)?_0x59c441+=String['fromCharCode'](0xff&_0x210bc6>>(-0x2*_0x30548e&0x6)):0x0){_0x1808c8=_0x223f0e['indexOf'](_0x1808c8);}for(let _0x58e78c=0x0,_0x3b28be=_0x59c441['length'];_0x58e78c<_0x3b28be;_0x58e78c++){_0x55c445+='%'+('00'+_0x59c441['charCodeAt'](_0x58e78c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55c445);};_0x42bd['Zpevar']=_0x232072,_0x42bd['dQXUDk']={},_0x42bd['nRwUON']=!![];}const _0x200752=_0x312b99[0x0],_0x4c0797=_0x181834+_0x200752,_0x153700=_0x42bd['dQXUDk'][_0x4c0797];return!_0x153700?(_0x42bd75=_0x42bd['Zpevar'](_0x42bd75),_0x42bd['dQXUDk'][_0x4c0797]=_0x42bd75):_0x42bd75=_0x153700,_0x42bd75;}function mergeClaudeHooks(_0x565664,_0x58a04f,_0x308532,_0x3ab51c){const _0x9f4ee0={_0x40f02c:0x2e1,_0x4d9ca8:0x26c,_0x164d8a:0x2ce,_0x5e1484:0x2e6},_0x2fc18f=_0x1b0258;let _0x154680;if(_0x565664===null)_0x154680={};else try{_0x154680=JSON[_0x2fc18f(0x258)](_0x565664);}catch(_0x23f550){throw new ClaudeSettingsParseError(_0x2fc18f(0x20c)+_0x23f550['message']+_0x2fc18f(_0x9f4ee0._0x40f02c));}const _0x18952d=_0x154680[_0x2fc18f(0x1f7)]&&typeof _0x154680['hooks']===_0x2fc18f(0x25a)?_0x154680['hooks']:{},_0x320d21=[];for(const _0x4c235f of _0x58a04f){const _0x19a300=Array['isArray'](_0x18952d[_0x4c235f])?_0x18952d[_0x4c235f]:[],_0x2ec22e=_0x19a300[_0x2fc18f(0x1cf)](_0x3d2890=>(_0x3d2890[_0x2fc18f(0x1f7)]??[])['some'](_0x2885c5=>(_0x2885c5['command']??'')[_0x2fc18f(0x2a9)](_0x3ab51c)));if(_0x2ec22e)continue;_0x19a300[_0x2fc18f(_0x9f4ee0._0x4d9ca8)]({'matcher':'*','hooks':[{'type':_0x2fc18f(_0x9f4ee0._0x164d8a),'command':_0x308532}]}),_0x18952d[_0x4c235f]=_0x19a300,_0x320d21[_0x2fc18f(_0x9f4ee0._0x4d9ca8)](_0x4c235f);}_0x154680['hooks']=_0x18952d;if(_0x320d21[_0x2fc18f(_0x9f4ee0._0x5e1484)]===0x0)return{'action':_0x2fc18f(0x1a7),'newContent':_0x565664??formatJsonDocument(_0x154680),'added':[]};return{'action':_0x2fc18f(0x1cc),'newContent':formatJsonDocument(_0x154680),'added':_0x320d21};}__name(mergeClaudeHooks,'mergeClaudeHooks');var BEGIN=_0x1b0258(0x2f3),END=_0x1b0258(0x2b0);function mergeClaudeMd(_0x2b8fd7,_0x56b64d){const _0x55425e={_0x407841:0x23e,_0x5b2125:0x21e,_0x49491f:0x21e,_0x4114cd:0x2e6},_0x919a29=_0x1b0258,_0xc9cd1d=BEGIN+'\x0a\x0a'+_0x56b64d[_0x919a29(0x200)]()+'\x0a\x0a'+END;if(_0x2b8fd7===null)return{'action':_0x919a29(_0x55425e._0x407841),'newContent':_0xc9cd1d+'\x0a'};const _0x3d413c=_0x2b8fd7[_0x919a29(0x23a)](BEGIN);if(_0x3d413c===-0x1){const _0x5a007c=_0x2b8fd7[_0x919a29(_0x55425e._0x5b2125)]('\x0a')?_0x2b8fd7:_0x2b8fd7+'\x0a';return{'action':'appended','newContent':_0x5a007c+'\x0a'+_0xc9cd1d+'\x0a'};}const _0x550248=_0x2b8fd7[_0x919a29(0x23a)](END,_0x3d413c);if(_0x550248===-0x1){const _0x3583a2=_0x2b8fd7[_0x919a29(_0x55425e._0x49491f)]('\x0a')?_0x2b8fd7:_0x2b8fd7+'\x0a';return{'action':'appended','newContent':_0x3583a2+'\x0a'+_0xc9cd1d+'\x0a'};}const _0x320a7b=_0x2b8fd7[_0x919a29(0x24b)](0x0,_0x3d413c)+_0xc9cd1d+_0x2b8fd7['slice'](_0x550248+END[_0x919a29(_0x55425e._0x4114cd)]);if(_0x320a7b===_0x2b8fd7)return{'action':_0x919a29(0x1a7),'newContent':_0x2b8fd7};return{'action':'updated','newContent':_0x320a7b};}__name(mergeClaudeMd,_0x1b0258(0x1c7));import{existsSync as _0x40f5d0,readFileSync as _0x416381,writeFileSync as _0x181059}from'fs';import{join as _0x286915}from'path';import{appendUniqueLines}from'@unotest/core';var INIT_GITIGNORE_LINES=[_0x1b0258(0x22e),'!unotest/.env.example',_0x1b0258(0x2c0),_0x1b0258(0x244),_0x1b0258(0x1d3),_0x1b0258(0x1e4),_0x1b0258(0x2cc),_0x1b0258(0x2fc),_0x1b0258(0x2bf),'unotest/.viewer.log','node_modules/',_0x1b0258(0x269),_0x1b0258(0x22a),_0x1b0258(0x2dd),'/CLAUDE.md.bak',_0x1b0258(0x1ae),_0x1b0258(0x1bd)];function ensureProjectGitignore(_0xf61b49){const _0x45bfae={_0x16f5ae:0x2e6,_0x48a991:0x219},_0x1da67d=_0x1b0258,_0x466838=_0x286915(_0xf61b49,'.gitignore'),_0x5e6619=_0x40f5d0(_0x466838)?_0x416381(_0x466838,_0x1da67d(0x21d)):null,_0x14a393=appendUniqueLines(_0x5e6619,[...INIT_GITIGNORE_LINES]);if(_0x14a393[_0x1da67d(0x1cc)][_0x1da67d(_0x45bfae._0x16f5ae)]>0x0)_0x181059(_0x466838,_0x14a393[_0x1da67d(_0x45bfae._0x48a991)]);return _0x14a393;}__name(ensureProjectGitignore,_0x1b0258(0x233));function helpRequested(_0x374b77){const _0xb768ae=_0x1b0258;return _0x374b77['some'](_0x214331=>_0x214331===_0xb768ae(0x2e7)||_0x214331==='-h');}__name(helpRequested,_0x1b0258(0x1a1));function unknownFlags(_0x10cb0f,_0x43c227){const _0x280125={_0x1a3c51:0x271,_0x565603:0x1d2,_0x3d23bb:0x1f0},_0x3cbd44=_0x1b0258,_0x46ff81=new Set(_0x43c227),_0x435ed6=[];for(const _0xb53183 of _0x10cb0f){if(_0xb53183==='--')break;if(_0xb53183==='-'||!_0xb53183[_0x3cbd44(_0x280125._0x1a3c51)]('-'))continue;const _0x48f4d4=_0xb53183['startsWith']('--')?_0xb53183[_0x3cbd44(_0x280125._0x565603)]('=')[0x0]??_0xb53183:_0xb53183;if(!_0x46ff81[_0x3cbd44(_0x280125._0x3d23bb)](_0x48f4d4))_0x435ed6[_0x3cbd44(0x26c)](_0xb53183);}return _0x435ed6;}__name(unknownFlags,_0x1b0258(0x2de));var EXIT_REFUSED=0x2,AGENT_LOG_HOOK_EVENTS=[_0x1b0258(0x2f4),'SessionEnd','UserPromptSubmit',_0x1b0258(0x2ff),_0x1b0258(0x2b7),'PostToolUseFailure',_0x1b0258(0x249),_0x1b0258(0x2c8),_0x1b0258(0x21a),'PreCompact',_0x1b0258(0x2aa)],INIT_USAGE='Usage:\x20unotest-web\x20init\x20[target]\x20[options]\x0a\x0aBootstrap\x20the\x20unotest/\x20layout\x20in\x20a\x20project:\x20scenarios,\x20config,\x20.env\x0atemplates,\x20.mcp.json,\x20the\x20agent\x20guides,\x20.gitignore\x20lines.\x0a\x0a\x20\x20[target]\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20project\x20directory\x20(default:\x20the\x20current\x20one)\x0a\x20\x20--force,\x20-f\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20overwrite\x20files\x20that\x20already\x20exist,\x20keeping\x20a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.bak\x20copy\x20of\x20each\x20next\x20to\x20it\x0a\x20\x20--browser\x20system|bundled|none\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20answer\x20the\x20browser\x20question\x20without\x20a\x20prompt\x0a\x20\x20--help,\x20-h\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20print\x20this\x20and\x20do\x20nothing\x20else\x0a\x0aExisting\x20files\x20are\x20left\x20alone:\x20a\x20re-run\x20reports\x20them\x20as\x20`already\x20present`\x0aand\x20changes\x20nothing.\x20Exit\x202\x20on\x20an\x20option\x20this\x20command\x20does\x20not\x20know.\x0a',INIT_FLAGS=[_0x1b0258(0x2b2),'-f',_0x1b0258(0x2d2),_0x1b0258(0x2e7),'-h'];function parseArgs(_0x31a766){const _0x2f621f={_0x5642e2:0x2e6,_0x4428af:0x278,_0x54ff69:0x2d2,_0x58ea1f:0x2fd,_0x5d36bd:0x202,_0x2cffa6:0x235,_0x2ab6a1:0x278},_0x2dcd02=_0x1b0258;if(helpRequested(_0x31a766))return{'kind':_0x2dcd02(0x231)};const _0x50e05f=unknownFlags(_0x31a766,INIT_FLAGS);if(_0x50e05f[_0x2dcd02(_0x2f621f._0x5642e2)]>0x0)return{'kind':_0x2dcd02(0x26f),'flags':_0x50e05f};let _0xbd11a8=![],_0x39d5be=process[_0x2dcd02(_0x2f621f._0x4428af)](),_0x5c2f0d;for(let _0x5e915a=0x0;_0x5e915a<_0x31a766[_0x2dcd02(0x2e6)];_0x5e915a++){const _0x13e8db=_0x31a766[_0x5e915a];if(_0x13e8db===_0x2dcd02(0x2b2)||_0x13e8db==='-f')_0xbd11a8=!![];else{if(_0x13e8db===_0x2dcd02(_0x2f621f._0x54ff69)){const _0x14f79b=_0x31a766[++_0x5e915a];if(_0x14f79b===_0x2dcd02(0x1fa)||_0x14f79b===_0x2dcd02(_0x2f621f._0x58ea1f)||_0x14f79b===_0x2dcd02(_0x2f621f._0x5d36bd))_0x5c2f0d=_0x14f79b;else throw new Error(_0x2dcd02(_0x2f621f._0x2cffa6)+String(_0x14f79b));}else{if(!_0x13e8db[_0x2dcd02(0x271)]('-'))_0x39d5be=_0x58e78c(process[_0x2dcd02(_0x2f621f._0x2ab6a1)](),_0x13e8db);}}}const _0x530d1e={'cwd':_0x39d5be,'force':_0xbd11a8};if(_0x5c2f0d!==void 0x0)_0x530d1e['browserOverride']=_0x5c2f0d;return{'kind':'options','options':_0x530d1e};}__name(parseArgs,_0x1b0258(0x1f2));function symbol(_0x531984){const _0x13bfea=_0x1b0258;return _0x531984==='ok'?'✓':_0x531984===_0x13bfea(0x2b9)?'⚠':'✗';}__name(symbol,_0x1b0258(0x26d));function ensureDir(_0x1fe599){if(!_0x59c441(_0x1fe599))_0x55c445(_0x1fe599,{'recursive':!![]});}__name(ensureDir,_0x1b0258(0x27f));var BACKUP_SUFFIX=_0x1b0258(0x1ee);function writeIfNeeded(_0x33fcad,_0x4040a2,_0x44af2a){const _0x4a38db={_0x48de00:0x281,_0x3c61a9:0x21d},_0x28f2be=_0x1b0258,_0x2b1182=_0x59c441(_0x33fcad);if(_0x2b1182&&!_0x44af2a)return _0x28f2be(_0x4a38db._0x48de00);if(_0x2b1182&&_0x30548e(_0x33fcad,_0x28f2be(_0x4a38db._0x3c61a9))===_0x4040a2)return'skipped';ensureDir(_0x1808c8(_0x33fcad));if(_0x2b1182)copyFileSync(_0x33fcad,''+_0x33fcad+BACKUP_SUFFIX);return _0x210bc6(_0x33fcad,_0x4040a2),_0x2b1182?_0x28f2be(0x1d7):_0x28f2be(0x23e);}__name(writeIfNeeded,_0x1b0258(0x29f));function writeIfAbsent(_0xc577c3,_0x1e87af){const _0x2e3367={_0x2ccd92:0x23e},_0x416838=_0x1b0258;if(_0x59c441(_0xc577c3))return _0x416838(0x281);return ensureDir(_0x1808c8(_0xc577c3)),_0x210bc6(_0xc577c3,_0x1e87af),_0x416838(_0x2e3367._0x2ccd92);}__name(writeIfAbsent,'writeIfAbsent');var INIT_BOX_HINT=_0x1b0258(0x2fe);async function runInit(_0x4852c7,_0x21f14f={}){const _0x418d48={_0x1a5c19:0x2ba,_0x1e1134:0x1fe,_0x4dc27d:0x1df,_0x5c0422:0x230,_0x55977f:0x1e6,_0x1f4cca:0x260,_0x10ff4c:0x1db,_0x38e0d6:0x278,_0xa3e8fb:0x1fe,_0x644178:0x2b6,_0x12eee3:0x24a,_0x414c71:0x29a,_0x59d4ad:0x1e8,_0x21954e:0x29e,_0x496bc9:0x1d9,_0x43815e:0x26c,_0x2bbacb:0x278,_0x1eeabf:0x201,_0x1b0be2:0x280,_0x1b629c:0x26c,_0x50c52b:0x266,_0x3d563f:0x1bf,_0x3ffba1:0x28a,_0xb7e02f:0x21d,_0x3d3de0:0x26c,_0x406c34:0x1a7,_0x4c5e95:0x1d8,_0x404d18:0x2ca,_0x28f3a8:0x2e6,_0x20ade6:0x265,_0x35ae73:0x1aa,_0x3cf4d0:0x26c,_0x51b8f6:0x2b4,_0x1b308b:0x248,_0x131c40:0x248,_0x3d3491:0x278,_0x1618cd:0x280,_0x80cdb9:0x1b4,_0x24bb2f:0x26c,_0x1635e5:0x2f1,_0x298b0e:0x2ed,_0x8050bf:0x278,_0x3a4595:0x2fa,_0x24aa31:0x26c,_0x57aef3:0x2a2,_0x24729b:0x245,_0x5c385a:0x23e,_0x5d2a54:0x26e,_0x250c8b:0x245,_0x5b6c15:0x281,_0xce24a3:0x272,_0x55dcb3:0x1df,_0x5c5a52:0x1fd,_0x58e3c3:0x2ee,_0x4c0919:0x2a1,_0x3ae213:0x1c5,_0x29d6ba:0x1ed,_0x2d8dce:0x293,_0x3928c7:0x1fe,_0x338451:0x278,_0xdcf8e7:0x219,_0x79a24d:0x1cc,_0x1182dd:0x1b2,_0x5234aa:0x196,_0x177aca:0x1df,_0x51e874:0x1fe,_0x8fb413:0x2d1,_0x594fb1:0x2cb,_0x54ba64:0x1df,_0x1f13b0:0x2d9,_0x304bd2:0x1bc,_0x375d26:0x1d4,_0x27307b:0x199,_0x4f0c5c:0x199,_0x536d0d:0x284,_0x3ecef7:0x273,_0x59075c:0x1df,_0x4c3cd0:0x1fe,_0x1ab375:0x1f6},_0x2bdf0a={_0x5335c4:0x23e,_0x5ee23d:0x220,_0x3a2487:0x2ef,_0x56b61b:0x2f5,_0x22cdb0:0x2c1},_0x168026={_0x51b17a:0x23e,_0x66b5ac:0x280,_0xeda4b:0x21d},_0x5260a4={_0x1964af:0x28c,_0x11717b:0x1f5,_0x193b6d:0x21d,_0xc772d6:0x23e},_0xdde05b=_0x1b0258,_0x3d8150=parseArgs(_0x4852c7);if(_0x3d8150[_0xdde05b(_0x418d48._0x1a5c19)]==='help')return process[_0xdde05b(_0x418d48._0x1e1134)]['write'](INIT_USAGE),{'exitCode':0x0};if(_0x3d8150[_0xdde05b(_0x418d48._0x1a5c19)]===_0xdde05b(0x26f))return process['stderr'][_0xdde05b(_0x418d48._0x4dc27d)](_0xdde05b(_0x418d48._0x5c0422)+_0x3d8150['flags'][_0xdde05b(_0x418d48._0x55977f)](_0x41beed=>'\x22'+_0x41beed+'\x22')[_0xdde05b(_0x418d48._0x1f4cca)](',\x20')+'\x0a\x0a'+INIT_USAGE),{'exitCode':EXIT_REFUSED};const _0x5d33ef=_0x3d8150[_0xdde05b(_0x418d48._0x10ff4c)];process[_0xdde05b(_0x418d48._0x1e1134)][_0xdde05b(0x1df)](_0xdde05b(0x241)+_0x5d33ef[_0xdde05b(_0x418d48._0x38e0d6)]+'\x0a\x0a'),process[_0xdde05b(_0x418d48._0xa3e8fb)][_0xdde05b(0x1df)]('Environment:\x0a');const _0x12ce51=runEnvironmentChecks({'cwd':_0x5d33ef[_0xdde05b(_0x418d48._0x38e0d6)]});let _0x29998e=![];for(const _0x20adb6 of _0x12ce51){process[_0xdde05b(0x1fe)][_0xdde05b(0x1df)]('\x20\x20'+symbol(_0x20adb6[_0xdde05b(_0x418d48._0x644178)])+'\x20'+_0x20adb6['name']+':\x20'+_0x20adb6[_0xdde05b(_0x418d48._0x12eee3)]+'\x0a');if(_0x20adb6[_0xdde05b(_0x418d48._0x414c71)])process[_0xdde05b(0x1fe)][_0xdde05b(0x1df)](_0xdde05b(0x2ad)+_0x20adb6['detail']+'\x0a');if(_0x20adb6[_0xdde05b(_0x418d48._0x644178)]===_0xdde05b(_0x418d48._0x59d4ad))_0x29998e=!![];}if(_0x29998e)return process['stderr'][_0xdde05b(0x1df)](_0xdde05b(0x223)),{'exitCode':0x1};process[_0xdde05b(0x1fe)][_0xdde05b(_0x418d48._0x4dc27d)](_0xdde05b(_0x418d48._0x21954e));const _0x26376d=[];ensureDir(_0x4b142b(_0x5d33ef[_0xdde05b(_0x418d48._0x38e0d6)],_0xdde05b(_0x418d48._0x496bc9)));for(const [_0x5392a7,_0x41d2e0]of Object['entries'](templates[_0xdde05b(0x270)])){_0x26376d[_0xdde05b(_0x418d48._0x43815e)]({'path':'unotest/e2e/examples/'+_0x5392a7,'status':writeIfNeeded(_0x4b142b(_0x5d33ef[_0xdde05b(_0x418d48._0x2bbacb)],_0xdde05b(_0x418d48._0x1eeabf),_0x5392a7),_0x41d2e0,_0x5d33ef[_0xdde05b(_0x418d48._0x1b0be2)])});}_0x26376d[_0xdde05b(_0x418d48._0x1b629c)]({'path':_0xdde05b(0x266),'status':writeIfNeeded(_0x4b142b(_0x5d33ef[_0xdde05b(_0x418d48._0x2bbacb)],_0xdde05b(_0x418d48._0x50c52b)),templates[_0xdde05b(0x256)],_0x5d33ef[_0xdde05b(_0x418d48._0x1b0be2)])}),_0x26376d[_0xdde05b(_0x418d48._0x1b629c)]({'path':_0xdde05b(_0x418d48._0x3d563f),'status':writeIfNeeded(_0x4b142b(_0x5d33ef[_0xdde05b(0x278)],_0xdde05b(0x1bf)),'',_0x5d33ef[_0xdde05b(0x280)])}),_0x26376d[_0xdde05b(0x26c)]({'path':_0xdde05b(_0x418d48._0x3ffba1),'status':writeIfNeeded(_0x4b142b(_0x5d33ef[_0xdde05b(_0x418d48._0x2bbacb)],_0xdde05b(0x28a)),templates[_0xdde05b(0x1ba)],_0x5d33ef[_0xdde05b(0x280)])});{const _0x68ba43=_0x4b142b(_0x5d33ef[_0xdde05b(0x278)],_0xdde05b(0x2e5)),_0x44fa98=_0x59c441(_0x68ba43)?_0x30548e(_0x68ba43,_0xdde05b(_0x418d48._0xb7e02f)):null,_0x2cb237=mergeClaudeMd(_0x44fa98,templates['claudeMdBody']);_0x2cb237['action']!=='already-present'&&_0x210bc6(_0x68ba43,_0x2cb237[_0xdde05b(0x219)]),_0x26376d[_0xdde05b(_0x418d48._0x3d3de0)]({'path':'CLAUDE.md','status':_0x2cb237['action']===_0xdde05b(_0x418d48._0x406c34)?'skipped':_0x2cb237[_0xdde05b(_0x418d48._0x4c5e95)]});}const _0x3708ec=_0x4b142b(_0x5d33ef['cwd'],'unotest/.env.example'),_0x107930=writeIfNeeded(_0x3708ec,templates['envExample'],_0x5d33ef[_0xdde05b(0x280)]),_0x72787=_0x107930===_0xdde05b(0x281)?missingTemplateKeys(_0x30548e(_0x3708ec,'utf8'),templates[_0xdde05b(0x2e8)]):[];_0x26376d['push']({'path':_0xdde05b(_0x418d48._0x404d18),'status':_0x72787[_0xdde05b(_0x418d48._0x28f3a8)]===0x0?_0x107930:_0xdde05b(_0x418d48._0x20ade6)+_0x72787[_0xdde05b(0x260)](',\x20')+_0xdde05b(_0x418d48._0x35ae73)}),_0x26376d[_0xdde05b(_0x418d48._0x3cf4d0)]({'path':_0xdde05b(_0x418d48._0x51b8f6),'status':writeIfAbsent(_0x4b142b(_0x5d33ef['cwd'],_0xdde05b(0x2b4)),templates['envExample'])}),_0x26376d['push']({'path':_0xdde05b(_0x418d48._0x1b308b),'status':writeIfAbsent(_0x4b142b(_0x5d33ef[_0xdde05b(0x278)],_0xdde05b(_0x418d48._0x131c40)),templates['secretsExample'])});const _0x4e980e=ensureEditorTypes(_0x5d33ef[_0xdde05b(_0x418d48._0x3d3491)],{'force':_0x5d33ef[_0xdde05b(_0x418d48._0x1618cd)]});_0x26376d['push']({'path':JSCONFIG_REL,'status':_0x4e980e[_0xdde05b(_0x418d48._0x80cdb9)]}),_0x26376d[_0xdde05b(_0x418d48._0x24bb2f)]({'path':ENV_TYPES_REL,'status':_0x4e980e[_0xdde05b(_0x418d48._0x1635e5)]}),_0x26376d['push']({'path':_0xdde05b(_0x418d48._0x298b0e),'status':writeIfNeeded(_0x4b142b(_0x5d33ef[_0xdde05b(_0x418d48._0x8050bf)],'unotest/package.json'),suitePackageJson(readOwnVersion()),_0x5d33ef[_0xdde05b(_0x418d48._0x1b0be2)])});const _0x230ce5=_0x4b142b(_0x5d33ef[_0xdde05b(0x278)],_0xdde05b(0x1af)),_0x4b6bfe=_0x59c441(_0x230ce5);!_0x4b6bfe&&(ensureDir(_0x1808c8(_0x230ce5)),_0x210bc6(_0x230ce5,unotestConfigMjs(void 0x0)));const _0x5a5642=_0x1808c8(_0x3b28be(import.meta.url)),_0x408cf5=__name((_0x441067,_0x48af19)=>{const _0x30e80e=_0xdde05b,_0x380c28=_0x58e78c(_0x5a5642,_0x30e80e(_0x5260a4._0x1964af),_0x441067),_0x4ee877=_0x4b142b(_0x5d33ef[_0x30e80e(0x278)],_0x441067);if(!_0x59c441(_0x380c28))return{'path':_0x441067,'status':_0x48af19+_0x30e80e(_0x5260a4._0x11717b)};if(_0x59c441(_0x4ee877)){if(_0x30548e(_0x4ee877,'utf8')===_0x30548e(_0x380c28,_0x30e80e(_0x5260a4._0x193b6d)))return{'path':_0x441067,'status':_0x30e80e(0x281)};return copyFileSync(_0x4ee877,''+_0x4ee877+BACKUP_SUFFIX),copyFileSync(_0x380c28,_0x4ee877),{'path':_0x441067,'status':_0x30e80e(0x232),'note':_0x30e80e(0x20a)+BACKUP_SUFFIX};}return ensureDir(_0x1808c8(_0x4ee877)),copyFileSync(_0x380c28,_0x4ee877),{'path':_0x441067,'status':_0x30e80e(_0x5260a4._0xc772d6)};},_0xdde05b(_0x418d48._0x3a4595));_0x26376d[_0xdde05b(0x26c)](_0x408cf5(_0xdde05b(0x1a3),_0xdde05b(0x2c4)),_0x408cf5(_0xdde05b(0x301),_0xdde05b(0x2d0))),_0x26376d[_0xdde05b(_0x418d48._0x24aa31)](_0x408cf5(_0xdde05b(_0x418d48._0x57aef3),_0xdde05b(0x2f8)));for(const _0xab6d9c of _0x26376d){const _0xced09c=_0xab6d9c[_0xdde05b(_0x418d48._0x24729b)]===_0xdde05b(_0x418d48._0x5c385a)?_0xdde05b(_0x418d48._0x5d2a54):_0xab6d9c[_0xdde05b(0x245)]==='overwrote'?'✓\x20overwrote':_0xab6d9c[_0xdde05b(0x245)]===_0xdde05b(0x232)?'✓\x20updated':_0xab6d9c[_0xdde05b(_0x418d48._0x250c8b)][_0xdde05b(0x271)](_0xdde05b(_0x418d48._0x5b6c15))?'·\x20skipped':'·\x20'+_0xab6d9c['status'];process[_0xdde05b(0x1fe)]['write']('\x20\x20'+_0xced09c+'\x20\x20'+_0xab6d9c[_0xdde05b(0x251)]+(_0xab6d9c['note']?'\x20('+_0xab6d9c[_0xdde05b(_0x418d48._0xce24a3)]+')':'')+'\x0a');}process['stdout'][_0xdde05b(_0x418d48._0x55dcb3)](_0xdde05b(0x24f));const _0x158e51=_0x4b142b(_0x5d33ef['cwd'],_0xdde05b(0x1ec)),_0x3346f3=_0x59c441(_0x158e51)?_0x30548e(_0x158e51,'utf8'):null,_0x386dbe=readOwnVersion(),_0x523b2e={'command':_0xdde05b(_0x418d48._0x5c5a52),'args':['-y',_0xdde05b(_0x418d48._0x58e3c3)+_0x386dbe,_0xdde05b(0x1dd)]};try{const _0x1d5d8b=mergeMcpConfig(_0x3346f3,_0xdde05b(_0x418d48._0x4c0919),_0x523b2e,{'force':_0x5d33ef['force']});_0x1d5d8b[_0xdde05b(0x1d8)]!=='already-present'&&_0x210bc6(_0x158e51,_0x1d5d8b[_0xdde05b(0x219)]);const _0x7c3db3=_0x1d5d8b[_0xdde05b(_0x418d48._0x4c5e95)]===_0xdde05b(_0x418d48._0x5c385a)?_0xdde05b(_0x418d48._0x3ae213):_0x1d5d8b[_0xdde05b(0x1d8)]===_0xdde05b(0x1cc)?'added\x20unotest-web\x20entry':_0x1d5d8b[_0xdde05b(0x1d8)]===_0xdde05b(0x254)?_0xdde05b(0x21f):_0xdde05b(0x1c4);process[_0xdde05b(0x1fe)][_0xdde05b(0x1df)](_0xdde05b(0x252)+_0x7c3db3+'\x0a');}catch(_0x55c002){if(_0x55c002 instanceof McpJsonParseError)return process[_0xdde05b(_0x418d48._0x29d6ba)]['write'](_0xdde05b(_0x418d48._0x2d8dce)+_0x55c002[_0xdde05b(0x24a)]+'\x0a'),{'exitCode':0x1};throw _0x55c002;}process[_0xdde05b(_0x418d48._0x3928c7)][_0xdde05b(0x1df)]('\x0aClaude\x20Code\x20permissions:\x0a');const _0x5abce0=_0x4b142b(_0x5d33ef[_0xdde05b(_0x418d48._0x338451)],_0xdde05b(0x203)),_0x412771=_0x59c441(_0x5abce0)?_0x30548e(_0x5abce0,'utf8'):null;try{const _0x571462=mergeClaudeAllowEntries(_0x412771,[_0xdde05b(0x27e)]),_0x6d3ebe='bash\x20\x22${CLAUDE_PROJECT_DIR}/.claude/hooks/log-agent.sh\x22\x20\x22${CLAUDE_PROJECT_DIR}/unotest/.debug/agent/actions.jsonl\x22',_0x8be600=mergeClaudeHooks(_0x571462[_0xdde05b(_0x418d48._0xdcf8e7)],AGENT_LOG_HOOK_EVENTS,_0x6d3ebe,_0xdde05b(0x2c3));(_0x571462['action']!==_0xdde05b(0x1a7)||_0x8be600['action']!==_0xdde05b(0x1a7))&&(ensureDir(_0x1808c8(_0x5abce0)),_0x210bc6(_0x5abce0,_0x8be600['newContent']));const _0x2919bd=_0x571462[_0xdde05b(_0x418d48._0x4c5e95)]==='created'?_0xdde05b(0x228):_0x571462[_0xdde05b(0x1d8)]===_0xdde05b(_0x418d48._0x79a24d)?_0xdde05b(_0x418d48._0x1182dd)+_0x571462['added'][_0xdde05b(0x260)](',\x20'):_0xdde05b(0x193);process['stdout'][_0xdde05b(0x1df)](_0xdde05b(0x252)+_0x2919bd+'\x0a');const _0x3b2940=_0x8be600['action']==='added'?'added\x20agent-trace\x20hooks\x20('+_0x8be600[_0xdde05b(0x1cc)][_0xdde05b(0x2e6)]+_0xdde05b(0x1b8):_0xdde05b(_0x418d48._0x5234aa);process['stdout']['write'](_0xdde05b(0x252)+_0x3b2940+'\x0a');}catch(_0x21bafb){if(_0x21bafb instanceof ClaudeSettingsParseError)return process['stderr'][_0xdde05b(0x1df)](_0xdde05b(_0x418d48._0x2d8dce)+_0x21bafb[_0xdde05b(0x24a)]+'\x0a'),{'exitCode':0x1};throw _0x21bafb;}process['stdout'][_0xdde05b(0x1df)](_0xdde05b(0x28b));const _0xd8d815=ensureProjectGitignore(_0x5d33ef[_0xdde05b(0x278)]);{for(const _0x281ab3 of _0xd8d815['added']){process['stdout'][_0xdde05b(_0x418d48._0x177aca)](_0xdde05b(0x1e9)+_0x281ab3+'\x22\x0a');}}for(const _0x40b122 of _0xd8d815['alreadyPresent']){process[_0xdde05b(_0x418d48._0x51e874)]['write'](_0xdde05b(_0x418d48._0x8fb413)+_0x40b122+'\x22\x0a');}_0xd8d815['added'][_0xdde05b(_0x418d48._0x28f3a8)]===0x0&&_0xd8d815[_0xdde05b(_0x418d48._0x594fb1)][_0xdde05b(0x2e6)]===0x0&&process[_0xdde05b(0x1fe)][_0xdde05b(_0x418d48._0x54ba64)](_0xdde05b(0x1a2));process[_0xdde05b(0x1fe)][_0xdde05b(0x1df)](_0xdde05b(0x300));const _0x4e4d9f=probeSystemBrowser(),_0x2c9802=Boolean(process['stdin'][_0xdde05b(_0x418d48._0x1f13b0)])&&Boolean(process['stdout'][_0xdde05b(_0x418d48._0x1f13b0)]),_0x3756e7={'probe':_0x4e4d9f,'interactive':_0x2c9802};if(_0x5d33ef[_0xdde05b(0x1d4)])_0x3756e7[_0xdde05b(_0x418d48._0x304bd2)]=_0x5d33ef[_0xdde05b(_0x418d48._0x375d26)];const _0x163fce=await(_0x21f14f[_0xdde05b(0x208)]??chooseBrowser)(_0x3756e7),_0x3a95d2=unotestConfigMjs(_0x163fce[_0xdde05b(_0x418d48._0x27307b)]),_0x14f283=((()=>{const _0x1d3124=_0xdde05b;if(!_0x4b6bfe)return _0x210bc6(_0x230ce5,_0x3a95d2),_0x1d3124(_0x168026._0x51b17a);if(!_0x5d33ef[_0x1d3124(_0x168026._0x66b5ac)])return'skipped';if(_0x30548e(_0x230ce5,_0x1d3124(_0x168026._0xeda4b))===_0x3a95d2)return'skipped';return copyFileSync(_0x230ce5,''+_0x230ce5+BACKUP_SUFFIX),_0x210bc6(_0x230ce5,_0x3a95d2),_0x1d3124(0x1d7);})()),_0x3497b6=_0x163fce[_0xdde05b(_0x418d48._0x4f0c5c)]===void 0x0?_0xdde05b(_0x418d48._0x536d0d):_0x163fce['channel']===null?_0xdde05b(_0x418d48._0x3ecef7):_0xdde05b(0x289)+_0x163fce['channel']+'\x27',_0x135347=((()=>{const _0x1cd3b9=_0xdde05b;if(_0x14f283===_0x1cd3b9(_0x2bdf0a._0x5335c4))return'\x20\x20✓\x20unotest/unotest.config.mjs\x20'+_0x3497b6;if(_0x14f283==='overwrote')return _0x1cd3b9(_0x2bdf0a._0x5ee23d)+_0x3497b6+_0x1cd3b9(_0x2bdf0a._0x3a2487)+BACKUP_SUFFIX+')';if(_0x5d33ef[_0x1cd3b9(0x280)])return _0x1cd3b9(_0x2bdf0a._0x56b61b);return _0x1cd3b9(_0x2bdf0a._0x22cdb0)+_0x3497b6+_0x1cd3b9(0x1c1);})());process[_0xdde05b(_0x418d48._0x51e874)][_0xdde05b(0x1df)](_0x135347+'\x0a'),process[_0xdde05b(_0x418d48._0x1e1134)][_0xdde05b(_0x418d48._0x59075c)](_0xdde05b(0x264));if(_0x163fce['warnings']['length']>0x0){for(const _0x37924f of _0x163fce[_0xdde05b(0x2e2)])process[_0xdde05b(0x1fe)][_0xdde05b(_0x418d48._0x177aca)]('\x20\x20'+_0x37924f+'\x0a');process['stdout'][_0xdde05b(_0x418d48._0x55dcb3)]('\x0a');}return process[_0xdde05b(_0x418d48._0x4c3cd0)][_0xdde05b(_0x418d48._0x4dc27d)](_0xdde05b(_0x418d48._0x1ab375)),process[_0xdde05b(_0x418d48._0x1e1134)][_0xdde05b(0x1df)](INIT_BOX_HINT+'\x0a'),{'exitCode':0x0};}__name(runInit,_0x1b0258(0x259));var invokedDirectly2=process['argv'][0x1]&&_0x3b28be(import.meta.url)===process['argv'][0x1];invokedDirectly2&&runInit(process[_0x1b0258(0x1f4)]['slice'](0x2))['then'](({exitCode:_0x3f7ee5})=>{const _0x352e8c={_0x4386c3:0x1d5},_0xf9d6c=_0x1b0258;process[_0xf9d6c(_0x352e8c._0x4386c3)]=_0x3f7ee5;})['catch'](_0x57e6aa=>{const _0x263944={_0x19fd0e:0x1d5},_0x3e204b=_0x1b0258;process[_0x3e204b(0x1ed)][_0x3e204b(0x1df)](_0x3e204b(0x1da)+(_0x57e6aa instanceof Error?_0x57e6aa['message']:String(_0x57e6aa))+'\x0a'),process[_0x3e204b(_0x263944._0x19fd0e)]=0x1;});export{BACKUP_SUFFIX,INIT_BOX_HINT,INIT_USAGE,runInit,templates};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x2ff01e=_0x9a0f;(function(_0x53e026,_0x4cf172){const _0x227b98={_0x2f6d66:0x10d,_0x98f638:0x117,_0x58bd57:0x11a,_0x236347:0x107,_0x1340b6:0x11e},_0x4b02d2=_0x9a0f,_0x20da7b=_0x53e026();while(!![]){try{const _0x40165f=-parseInt(_0x4b02d2(_0x227b98._0x2f6d66))/0x1+-parseInt(_0x4b02d2(0x113))/0x2+-parseInt(_0x4b02d2(_0x227b98._0x98f638))/0x3*(-parseInt(_0x4b02d2(0x118))/0x4)+-parseInt(_0x4b02d2(0x11d))/0x5*(parseInt(_0x4b02d2(0x104))/0x6)+parseInt(_0x4b02d2(_0x227b98._0x58bd57))/0x7*(parseInt(_0x4b02d2(0x123))/0x8)+parseInt(_0x4b02d2(_0x227b98._0x236347))/0x9+parseInt(_0x4b02d2(_0x227b98._0x1340b6))/0xa;if(_0x40165f===_0x4cf172)break;else _0x20da7b['push'](_0x20da7b['shift']());}catch(_0x15cc8d){_0x20da7b['push'](_0x20da7b['shift']());}}}(_0x3a51,0xdacc6));var __defProp=Object[_0x2ff01e(0x115)],__name=(_0x1e29da,_0x2ad067)=>__defProp(_0x1e29da,_0x2ff01e(0x108),{'value':_0x2ad067,'configurable':!![]});import{spawn}from'child_process';import{createRequire}from'module';import{dirname,resolve}from'path';import{fileURLToPath}from'url';async function installChromium(_0x1551cd={}){const _0x34a2a4={_0x389aaf:0x125},_0x5e0e3c={_0x4c6b56:0x114,_0x53504e:0x10f,_0xd8ad0a:0x10b,_0x2f1f92:0x122,_0x2468c3:0x122},_0x58d793=_0x2ff01e,_0x14192a=_0x1551cd[_0x58d793(_0x34a2a4._0x389aaf)]??(_0x179c0a=>process[_0x58d793(0x119)]['write'](_0x179c0a)),_0x4cf521=createRequire(import.meta.url),_0x314797=_0x4cf521[_0x58d793(0x109)]('playwright/package.json'),_0x4bc65a=_0x4cf521(_0x314797),_0x3ccad2=typeof _0x4bc65a[_0x58d793(0x124)]===_0x58d793(0x106)?_0x4bc65a['bin']:_0x4bc65a['bin']?.[_0x58d793(0x10a)];if(!_0x3ccad2)throw new Error(_0x58d793(0x10c));const _0x5baff8=resolve(dirname(_0x314797),_0x3ccad2);return new Promise((_0x3e739f,_0x5945b9)=>{const _0x5597c4={_0x144a2d:0x116},_0x40d172=_0x58d793,_0x393b54=spawn(process[_0x40d172(0x11c)],[_0x5baff8,_0x40d172(_0x5e0e3c._0x4c6b56),_0x40d172(0x110)],{'stdio':[_0x40d172(_0x5e0e3c._0x53504e),_0x40d172(0x10b),_0x40d172(_0x5e0e3c._0xd8ad0a)]});_0x393b54['stdout']?.['on'](_0x40d172(_0x5e0e3c._0x2f1f92),_0x477f29=>_0x14192a(_0x477f29['toString']())),_0x393b54['stderr']?.['on'](_0x40d172(_0x5e0e3c._0x2468c3),_0x27a105=>_0x14192a(_0x27a105[_0x40d172(0x112)]())),_0x393b54['on'](_0x40d172(0x111),_0x5945b9),_0x393b54['on'](_0x40d172(0x105),_0x482d6d=>{const _0x45e570=_0x40d172;if(_0x482d6d===0x0)_0x3e739f();else _0x5945b9(new Error(_0x45e570(_0x5597c4._0x144a2d)+_0x482d6d));});});}__name(installChromium,_0x2ff01e(0x11f));async function runInstallChromiumCli(){const _0x2381b5={_0x413b1f:0x121,_0x31417d:0x11b},_0x443a01=_0x2ff01e;try{return await installChromium(),0x0;}catch(_0x2daf8d){return process[_0x443a01(_0x2381b5._0x413b1f)]['write'](_0x443a01(_0x2381b5._0x31417d)+(_0x2daf8d instanceof Error?_0x2daf8d[_0x443a01(0x120)]:String(_0x2daf8d))+'\x0a'),0x1;}}function _0x3a51(){const _0x5800b6=['CgXHExDYAwDODa','CgLWzq','CgXHExDYAwDODc9WywnRywDLlMPZB24GAgfZig5VihvZywjSzsaIyMLUiIbMAwvSza','mtu1ndK1m2PStenqAa','yxjNDG','Aw5OzxjPDa','y2HYB21PDw0','zxjYB3i','Dg9tDhjPBMC','mtm3mtG0nfHyBKzACG','Aw5ZDgfSBa','zgvMAw5LuhjVCgvYDhK','y2HYB21PDw0Gzg93BMXVywqGzxHPDgvKihDPDgGGy29Kzsa','mtu0oti2m0PmENDeva','mtjLvLLkEfm','C3rKB3v0','mtKZndf2BLbOvMO','4PYxigLUC3rHBgWTy2HYB21PDw06ia','zxHLy1bHDgG','mtbbqK9PvLG','nJCWndG0mgzTDxztBq','Aw5ZDgfSBenOCM9TAxvT','BwvZC2fNzq','C3rKzxjY','zgf0yq','ota0rNzut1b4','yMLU','C3rKB3v0v3jPDgu','odm2nZu0rhHWv3Dl','zxHPDa','C3rYAw5N','nZK1nJiYnu1Ashrjwq','BMfTzq','CMvZB2X2zq'];_0x3a51=function(){return _0x5800b6;};return _0x3a51();}__name(runInstallChromiumCli,'runInstallChromiumCli');var invokedDirectly=process['argv'][0x1]&&fileURLToPath(import.meta.url)===process[_0x2ff01e(0x10e)][0x1];invokedDirectly&&runInstallChromiumCli()['then'](_0x2fd3e2=>process['exit'](_0x2fd3e2));function _0x9a0f(_0x1613a8,_0xd09ac4){_0x1613a8=_0x1613a8-0x104;const _0x3a511f=_0x3a51();let _0x9a0f2b=_0x3a511f[_0x1613a8];if(_0x9a0f['iAavgr']===undefined){var _0x30cc7d=function(_0x5b0f24){const _0x2b41aa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e29da='',_0x2ad067='';for(let _0x1551cd=0x0,_0x14192a,_0x4cf521,_0x314797=0x0;_0x4cf521=_0x5b0f24['charAt'](_0x314797++);~_0x4cf521&&(_0x14192a=_0x1551cd%0x4?_0x14192a*0x40+_0x4cf521:_0x4cf521,_0x1551cd++%0x4)?_0x1e29da+=String['fromCharCode'](0xff&_0x14192a>>(-0x2*_0x1551cd&0x6)):0x0){_0x4cf521=_0x2b41aa['indexOf'](_0x4cf521);}for(let _0x4bc65a=0x0,_0x3ccad2=_0x1e29da['length'];_0x4bc65a<_0x3ccad2;_0x4bc65a++){_0x2ad067+='%'+('00'+_0x1e29da['charCodeAt'](_0x4bc65a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ad067);};_0x9a0f['MrGCBS']=_0x30cc7d,_0x9a0f['RfKGSD']={},_0x9a0f['iAavgr']=!![];}const _0x4bf755=_0x3a511f[0x0],_0x441714=_0x1613a8+_0x4bf755,_0x17e963=_0x9a0f['RfKGSD'][_0x441714];return!_0x17e963?(_0x9a0f2b=_0x9a0f['MrGCBS'](_0x9a0f2b),_0x9a0f['RfKGSD'][_0x441714]=_0x9a0f2b):_0x9a0f2b=_0x17e963,_0x9a0f2b;}export{installChromium,runInstallChromiumCli};
|