@unotest/web 0.42.0 → 0.43.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.
@@ -1 +1 @@
1
- const _0x34fd25=_0x19ea;(function(_0x5699eb,_0x5cea72){const _0x455389={_0x59f2c9:0xfe,_0xa3e23e:0x133,_0x1d85e1:0x135,_0x5ac0f4:0x116,_0x4ac325:0x157,_0x3fc6e9:0xfc},_0x55226f=_0x19ea,_0x16aac8=_0x5699eb();while(!![]){try{const _0x415a8c=parseInt(_0x55226f(_0x455389._0x59f2c9))/0x1*(-parseInt(_0x55226f(_0x455389._0xa3e23e))/0x2)+parseInt(_0x55226f(_0x455389._0x1d85e1))/0x3+-parseInt(_0x55226f(_0x455389._0x5ac0f4))/0x4+parseInt(_0x55226f(0x14e))/0x5*(-parseInt(_0x55226f(_0x455389._0x4ac325))/0x6)+-parseInt(_0x55226f(0x15e))/0x7+-parseInt(_0x55226f(0x101))/0x8*(parseInt(_0x55226f(0x168))/0x9)+-parseInt(_0x55226f(_0x455389._0x3fc6e9))/0xa*(-parseInt(_0x55226f(0x160))/0xb);if(_0x415a8c===_0x5cea72)break;else _0x16aac8['push'](_0x16aac8['shift']());}catch(_0x361a32){_0x16aac8['push'](_0x16aac8['shift']());}}}(_0x5dde,0x9519c));var __defProp=Object[_0x34fd25(0x16a)],__name=(_0x53d438,_0x2cf12e)=>__defProp(_0x53d438,_0x34fd25(0x118),{'value':_0x2cf12e,'configurable':!![]});import{writeFileSync as _0x540d3d}from'fs';import{join as _0x4e687b}from'path';import{fileURLToPath}from'url';import{readFileSync as _0xcc4691,existsSync as _0x24ccfb}from'fs';import{relative}from'path';import{existsSync,mkdirSync,readFileSync,readdirSync,statSync,writeFileSync}from'fs';function _0x19ea(_0xabceab,_0x321da7){_0xabceab=_0xabceab-0xfc;const _0x5dde38=_0x5dde();let _0x19eacc=_0x5dde38[_0xabceab];if(_0x19ea['bXZtVs']===undefined){var _0x116e4c=function(_0x4955c2){const _0x38b973='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x540d3d='',_0x4e687b='';for(let _0xcc4691=0x0,_0x24ccfb,_0x53d438,_0x2cf12e=0x0;_0x53d438=_0x4955c2['charAt'](_0x2cf12e++);~_0x53d438&&(_0x24ccfb=_0xcc4691%0x4?_0x24ccfb*0x40+_0x53d438:_0x53d438,_0xcc4691++%0x4)?_0x540d3d+=String['fromCharCode'](0xff&_0x24ccfb>>(-0x2*_0xcc4691&0x6)):0x0){_0x53d438=_0x38b973['indexOf'](_0x53d438);}for(let _0x480737=0x0,_0x2b192c=_0x540d3d['length'];_0x480737<_0x2b192c;_0x480737++){_0x4e687b+='%'+('00'+_0x540d3d['charCodeAt'](_0x480737)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e687b);};_0x19ea['afmGSx']=_0x116e4c,_0x19ea['QJyCCR']={},_0x19ea['bXZtVs']=!![];}const _0x3abcf7=_0x5dde38[0x0],_0x33a7b8=_0xabceab+_0x3abcf7,_0x25ade1=_0x19ea['QJyCCR'][_0x33a7b8];return!_0x25ade1?(_0x19eacc=_0x19ea['afmGSx'](_0x19eacc),_0x19ea['QJyCCR'][_0x33a7b8]=_0x19eacc):_0x19eacc=_0x25ade1,_0x19eacc;}import{join,dirname}from'path';import{artifactsRootFrom,FAILURES_DIR_SEGMENTS,failuresRootFrom}from'@unotest/protocol';function readFailureBundle(_0x480737){const _0x5e447c={_0x252689:0x10e,_0x2442a4:0x164,_0x1eb9a4:0x105,_0x112582:0x139,_0x4282d9:0x104,_0x58c296:0x12f,_0x5685bd:0x136},_0x2b15d1=_0x34fd25;if(!existsSync(_0x480737))return null;const _0x2b192c=join(_0x480737,'failure.json');if(!existsSync(_0x2b192c))return null;const _0x6cd6ab=JSON[_0x2b15d1(0x164)](readFileSync(_0x2b192c,_0x2b15d1(0x11d))),_0x397913=join(_0x480737,_0x2b15d1(0x120)),_0x458ac6=existsSync(_0x397913)?JSON[_0x2b15d1(0x164)](readFileSync(_0x397913,_0x2b15d1(0x11d))):[],_0x56b715=join(_0x480737,_0x2b15d1(_0x5e447c._0x252689)),_0x527c9f=existsSync(_0x56b715)?JSON[_0x2b15d1(_0x5e447c._0x2442a4)](readFileSync(_0x56b715,'utf8')):void 0x0,_0x3b34e9={'trace':_0x6cd6ab,'console':_0x458ac6},_0x36ddd0=join(_0x480737,_0x2b15d1(0x158));existsSync(_0x36ddd0)&&(_0x3b34e9[_0x2b15d1(_0x5e447c._0x1eb9a4)]=JSON[_0x2b15d1(_0x5e447c._0x2442a4)](readFileSync(_0x36ddd0,_0x2b15d1(0x11d))));if(_0x527c9f!==void 0x0)_0x3b34e9[_0x2b15d1(0x14a)]=_0x527c9f;const _0x134a25=join(_0x480737,_0x2b15d1(_0x5e447c._0x112582));if(existsSync(_0x134a25))_0x3b34e9[_0x2b15d1(_0x5e447c._0x4282d9)]=_0x134a25;else{const _0x55f846=join(_0x480737,_0x2b15d1(_0x5e447c._0x58c296));existsSync(_0x55f846)&&(_0x3b34e9[_0x2b15d1(_0x5e447c._0x5685bd)]=readFileSync(_0x55f846,_0x2b15d1(0x11d)));}const _0x406aba=join(_0x480737,_0x2b15d1(0x148));if(existsSync(_0x406aba))_0x3b34e9['harPath']=_0x406aba;const _0x426da0=join(_0x480737,_0x2b15d1(0x123));if(existsSync(_0x426da0))_0x3b34e9['videoPath']=_0x426da0;return _0x3b34e9;}__name(readFailureBundle,_0x34fd25(0xff));function listFailures(_0xa74a2e){const _0xe07a88={_0x6d300a:0x14c,_0x7ce22d:0x156,_0x32cfdd:0x10a},_0xf3ebe3=_0x34fd25;if(!existsSync(_0xa74a2e))return[];const _0x2103bc=[];for(const _0x8abe3 of readdirSync(_0xa74a2e)){const _0x303748=join(_0xa74a2e,_0x8abe3);if(!statSync(_0x303748)['isDirectory']())continue;for(const _0x1e8742 of readdirSync(_0x303748)){const _0x1348b7=join(_0x303748,_0x1e8742);if(!statSync(_0x1348b7)[_0xf3ebe3(0x129)]())continue;const _0x4a10df=join(_0x1348b7,_0xf3ebe3(0x106));if(!existsSync(_0x4a10df))continue;try{const _0x3e0b41=JSON[_0xf3ebe3(0x164)](readFileSync(_0x4a10df,_0xf3ebe3(0x11d)));_0x2103bc[_0xf3ebe3(_0xe07a88._0x6d300a)]({'runId':_0x8abe3,'testFn':_0x3e0b41['testFn'],'scenarioPath':_0x3e0b41[_0xf3ebe3(_0xe07a88._0x7ce22d)],'dir':_0x1348b7,'timestamp':_0x3e0b41['timestamp']});}catch{}}}return _0x2103bc[_0xf3ebe3(_0xe07a88._0x32cfdd)]((_0x1a4c64,_0x159ed3)=>_0x159ed3[_0xf3ebe3(0x150)][_0xf3ebe3(0x103)](_0x1a4c64[_0xf3ebe3(0x150)])),_0x2103bc;}__name(listFailures,_0x34fd25(0x127));function defaultFailuresRoot(_0x3565b9=artifactsRootFrom(process[_0x34fd25(0x115)],process['cwd']()),_0x26fe2c=process[_0x34fd25(0x115)]){return failuresRootFrom(_0x26fe2c,join(_0x3565b9,...FAILURES_DIR_SEGMENTS));}__name(defaultFailuresRoot,_0x34fd25(0x153));function resolveBundleDir(_0x5a8051,_0x530a2e){const _0x22533a={_0x4f2f05:0x129},_0x4d9c1c=_0x34fd25;if(existsSync(_0x5a8051)&&statSync(_0x5a8051)[_0x4d9c1c(_0x22533a._0x4f2f05)]())return _0x5a8051;return join(_0x530a2e,_0x5a8051);}__name(resolveBundleDir,_0x34fd25(0x167));function composeFixPrompt(_0x1413c2,_0x291027={}){const _0x4f531c={_0x2dea6b:0x12a,_0x2211bf:0x11b,_0x280a08:0x156,_0x4f2b18:0x149,_0x5102ae:0x156,_0x721f85:0x13b,_0x47d0e8:0x100,_0x6ba0c4:0x13f,_0x3b5ed5:0x113,_0x42c559:0x12c},_0x2d5eda=_0x34fd25,_0x3d0ca9=_0x291027['failuresRoot']??defaultFailuresRoot(),_0x4aefae=resolveBundleDir(_0x1413c2,_0x3d0ca9),_0x3fe097=readFailureBundle(_0x4aefae);if(!_0x3fe097)throw new Error(_0x2d5eda(0x15c)+_0x1413c2+_0x2d5eda(_0x4f531c._0x2dea6b)+_0x4aefae+')');const _0x375ad5=_0x291027[_0x2d5eda(_0x4f531c._0x2211bf)]??process[_0x2d5eda(_0x4f531c._0x2211bf)](),_0x40ab9e=_0x24ccfb(_0x3fe097[_0x2d5eda(0x149)][_0x2d5eda(_0x4f531c._0x280a08)])?_0xcc4691(_0x3fe097[_0x2d5eda(_0x4f531c._0x4f2b18)][_0x2d5eda(_0x4f531c._0x5102ae)],_0x2d5eda(0x11d)):_0x2d5eda(_0x4f531c._0x721f85),_0x2f50ab=_0x291027[_0x2d5eda(_0x4f531c._0x47d0e8)]??0x19,_0x110ea2=_0x3fe097[_0x2d5eda(0x12c)]['slice'](-_0x2f50ab),{suggestedAction:_0xb27d5e,confidence:_0x2502fb}=classify(_0x3fe097),_0x433ccd=buildPromptMarkdown({'bundle':_0x3fe097,'scenarioSource':_0x40ab9e,'scenarioRelative':relative(_0x375ad5,_0x3fe097[_0x2d5eda(0x149)][_0x2d5eda(0x156)]),'consoleTail':_0x110ea2,'suggestedAction':_0xb27d5e,'confidence':_0x2502fb}),_0x5ef780=Math[_0x2d5eda(_0x4f531c._0x6ba0c4)](_0x433ccd[_0x2d5eda(_0x4f531c._0x3b5ed5)]/0x4);return{'promptMarkdown':_0x433ccd,'suggestedAction':_0xb27d5e,'confidence':_0x2502fb,'sources':{'bundleDir':_0x4aefae,'scenarioPath':_0x3fe097[_0x2d5eda(_0x4f531c._0x4f2b18)]['scenarioPath'],'consoleEntries':_0x3fe097[_0x2d5eda(_0x4f531c._0x42c559)][_0x2d5eda(0x113)],'hasSnapshot':!!_0x3fe097[_0x2d5eda(0x14a)]},'approxTokens':_0x5ef780};}__name(composeFixPrompt,_0x34fd25(0x11e));function classify(_0x2a2403){const _0x4e3978={_0x29cde4:0x149,_0x35cc64:0x112,_0x4b1156:0x144,_0x3b1da6:0x161,_0x16f97e:0x107,_0x380499:0x15a,_0x17fe87:0x119,_0x23aced:0x121,_0x590bfa:0x13a,_0x16f715:0x155},_0x217f9a=_0x34fd25,_0x49c11e=_0x2a2403[_0x217f9a(_0x4e3978._0x29cde4)][_0x217f9a(0x161)][_0x217f9a(_0x4e3978._0x35cc64)][_0x217f9a(_0x4e3978._0x4b1156)](),_0x353d7d=_0x2a2403[_0x217f9a(_0x4e3978._0x29cde4)][_0x217f9a(_0x4e3978._0x3b1da6)]['name']??'';let _0x3ed020='unknown',_0x467de7=_0x217f9a(0x16d);if(_0x353d7d===_0x217f9a(_0x4e3978._0x16f97e)||/not found|no element|strict mode|resolved to \d+ elements|nothing matched/i['test'](_0x49c11e))_0x3ed020=_0x217f9a(_0x4e3978._0x380499),_0x467de7=_0x353d7d==='LocatorError'?_0x217f9a(0x151):_0x217f9a(0x13a);else{if(_0x353d7d==='TimeoutError'||/timeout|waiting for/i[_0x217f9a(0x125)](_0x49c11e))_0x3ed020=_0x217f9a(_0x4e3978._0x17fe87),_0x467de7=_0x353d7d===_0x217f9a(_0x4e3978._0x23aced)?_0x217f9a(0x151):_0x217f9a(_0x4e3978._0x590bfa);else(_0x353d7d===_0x217f9a(_0x4e3978._0x16f715)||/asserttext|assertvisible|expected.*got/i['test'](_0x49c11e))&&(_0x3ed020=_0x217f9a(0x10b),_0x467de7=_0x353d7d===_0x217f9a(0x155)?_0x217f9a(0x151):_0x217f9a(0x13a));}return{'suggestedAction':_0x3ed020,'confidence':_0x467de7};}__name(classify,'classify');function buildPromptMarkdown(_0x34cc79){const _0xe4f745={_0x39ed14:0x16f,_0x17d3ea:0x113,_0x394e8d:0x146,_0x450301:0x16f,_0x242a34:0x140,_0x56b139:0x14a,_0x54bae5:0xfd,_0x5cdefb:0x142,_0x2e54e2:0x130,_0x338ce9:0x122,_0x3d8ff2:0x149,_0x5324b2:0x13d,_0x105d28:0x16c,_0x1fcee5:0x11f,_0x4ab613:0x14d,_0x44f2d7:0x161,_0x2b61f9:0x11c,_0x33a527:0x131,_0x3fbce6:0x161,_0x146456:0x12d},_0x3b2fbd=_0x34fd25,{bundle:_0x2f8f2e,scenarioSource:_0x4d0549,scenarioRelative:_0x3d247d,consoleTail:_0x1647d7,suggestedAction:_0x16884e,confidence:_0x11f0b3}=_0x34cc79,_0x76982=_0x4d0549['split']('\x0a')[_0x3b2fbd(0x146)]((_0x121f29,_0x27d191)=>String(_0x27d191+0x1)[_0x3b2fbd(0x13c)](0x3,'\x20')+'\x20\x20'+_0x121f29)[_0x3b2fbd(_0xe4f745._0x39ed14)]('\x0a'),_0x250878=_0x1647d7[_0x3b2fbd(_0xe4f745._0x17d3ea)]===0x0?_0x3b2fbd(0x10c):_0x1647d7[_0x3b2fbd(_0xe4f745._0x394e8d)](_0x154b63=>'['+_0x154b63[_0x3b2fbd(0x150)]+']\x20'+_0x154b63[_0x3b2fbd(0x128)][_0x3b2fbd(0x159)]()+':\x20'+_0x154b63[_0x3b2fbd(0x147)])[_0x3b2fbd(_0xe4f745._0x450301)]('\x0a'),_0x49d39f=_0x2f8f2e['snapshot']?_0x3b2fbd(_0xe4f745._0x242a34)+_0x2f8f2e['snapshot'][_0x3b2fbd(0x16e)]+'\x0aCaptured:\x20'+_0x2f8f2e[_0x3b2fbd(_0xe4f745._0x56b139)][_0x3b2fbd(_0xe4f745._0x54bae5)]+_0x3b2fbd(0x12b):'_(no\x20semantic-dom\x20snapshot\x20captured\x20for\x20this\x20failure)_';return _0x3b2fbd(_0xe4f745._0x5cdefb)+_0x2f8f2e[_0x3b2fbd(0x149)][_0x3b2fbd(_0xe4f745._0x2e54e2)]+_0x3b2fbd(_0xe4f745._0x338ce9)+_0x3d247d+_0x3b2fbd(0x162)+(_0x2f8f2e[_0x3b2fbd(_0xe4f745._0x3d8ff2)][_0x3b2fbd(_0xe4f745._0x5324b2)]??'?')+_0x3b2fbd(0x165)+_0x2f8f2e[_0x3b2fbd(0x149)][_0x3b2fbd(_0xe4f745._0x105d28)]+_0x3b2fbd(_0xe4f745._0x1fcee5)+_0x2f8f2e[_0x3b2fbd(0x149)]['col']+_0x3b2fbd(_0xe4f745._0x4ab613)+(_0x2f8f2e['trace'][_0x3b2fbd(_0xe4f745._0x44f2d7)][_0x3b2fbd(0x118)]??_0x3b2fbd(_0xe4f745._0x2b61f9))+'`\x20—\x20'+_0x2f8f2e['trace'][_0x3b2fbd(0x161)]['message']+'\x0a-\x20**Suggested\x20action**:\x20`'+_0x16884e+'`\x20(confidence:\x20'+_0x11f0b3+_0x3b2fbd(_0xe4f745._0x33a527)+(_0x2f8f2e[_0x3b2fbd(0x149)][_0x3b2fbd(_0xe4f745._0x3fbce6)][_0x3b2fbd(0x12d)]?_0x3b2fbd(0x14f)+_0x2f8f2e[_0x3b2fbd(0x149)][_0x3b2fbd(_0xe4f745._0x44f2d7)][_0x3b2fbd(_0xe4f745._0x146456)]+_0x3b2fbd(0x111):'')+_0x3b2fbd(0x132)+_0x76982+_0x3b2fbd(0x13e)+_0x250878+_0x3b2fbd(0x16b)+_0x49d39f+_0x3b2fbd(0x126);}__name(buildPromptMarkdown,_0x34fd25(0x15d));function _0x5dde(){const _0x24fe44=['DgvZDezU','kqOk','cGOJiYbty2vUyxjPBYbZB3vYy2uGkgXPBMuTBNvTyMvYzwqPcGPGygbQCWO','mNnfs1nfqW','D3jPDgu','mta5odu2n3LkDM1AEG','C2nYzwvUC2HVDevYCM9Y','ChjVBxb0twfYA2rVD24','icbJB25MAwrLBMnLpq','C2nYzwvUC2HVDc5WBMC','BwvKAxvT','phnJzw5HCMLVigzPBguGBM8GBg9Uz2vYig9UigrPC2S+','CgfKu3rHCNq','C3rLCeLUzgv4','cMbGyaOkiYmGtgfZDcbJB25ZB2XLigvUDhjPzxmkcMbGyaO','y2vPBa','vvjmoIa','C3vNz2vZDgvKqwn0Aw9U','iYbuzxn0igzPEcbYzxf1zxn0cGOJiYbgywLSDxjLignVBNrLEhqkcI0GkIPuzxn0kIO6iga','ChjLCgfYzs1MAxG6ig5VihrLC3rjzcbWCM92AwrLzcbHBMqGBM8GzMfPBgLUzYb0zxn0CYbMB3vUzc4k','Dg9mB3DLCKnHC2u','C3rHCNrZv2L0Aa','BwfW','Dgv4Da','AgfYlMPZB24','DhjHy2u','C25HChnOB3q','yxbWCM94vg9Rzw5Z','ChvZAa','cI0GkIPfCNjVCIOQoIbG','mtq5mZC4nvflthjIrq','iYmJifn0ywnRcMbGyaO','DgLTzxn0yw1W','AgLNAa','C3rKzxjY','zgvMyxvSDezHAwX1CMvZuM9VDa','icdINjmG','qxnZzxj0Aw9UrxjYB3i','C2nLBMfYAw9qyxrO','mtH0CKrmC0O','BMv0D29YAY5QC29U','Dg9vChbLCKnHC2u','CMv3CML0zs1ZzwXLy3rVCG','ChjLCgfYzs1MAxG6ig5VigzHAwX1CMuGyNvUzgXLCYbMB3vUzcb1BMrLCIaUDw5VDgvZDc9MywLSDxjLCY8Uifj1BIbHigzHAwXPBMCGDgvZDcbMAxjZDdSGDgHLigj1BMrSzsbPCYb3CML0DgvUigf1Dg9TyxrPy2fSBhKUcG','zMfPBhvYzsbIDw5KBguGBM90igzVDw5KigzVCIb0zxn0swq9iG','yNvPBgrqCM9TChrnyxjRzg93BG','mJK5mtm4Dwrtt2fr','ls1MywLSAw5N','mtiWmJnYuuzYAuS','zxjYB3i','yaOTicOQu3rLCcbPBMrLEcOQoIa','yxjNDG','CgfYC2u','cI0GkIPmB2nHDgLVBIOQoIbSAw5Lia','DMfSDwvZ','CMvZB2X2zuj1BMrSzurPCG','nZi5z1PzyMPy','B3v0','zgvMAw5LuhjVCgvYDhK','cMbGyaOkiYmGu2vTyw50AwmTre9nihnUyxbZAg90cGO','BgLUzq','Bg93','DxjS','AM9PBG','mZaWntbqBNbnsLi','y2fWDhvYzwrbDa','mJm1mZbSCM5duvO','CMvHzezHAwX1CMvcDw5KBgu','y29UC29SzuXPBwL0','odu4ntzgyvrzv1O','icaGicaGC3vNz2vZDgvKqwn0Aw9Upq','Bg9JywXLq29TCgfYzq','C2nYzwvUC2HVDfbHDgG','BMv0D29YAW','zMfPBhvYzs5QC29U','tg9JyxrVCKvYCM9Y','C2XPy2u','C2v0','C29YDa','y2HHBMDLlwfZC2vYDgLVBG','xYHUBYbJB25ZB2XLigvUDhjPzxmGy2fWDhvYzwqPxW','zxjY','C25HChnOB3qUANnVBG','yNvUzgXLrgLY','CNvUswq','cMbGyaO','BwvZC2fNzq','BgvUz3rO','zMLSDgvY','zw52','ndGZmJq0nhjqqMToAG','CNvUuhjLCgfYzuzPEa','BMfTzq','ywrKlxDHAxrMB3i','ihrLC3qOCYKGkeqTmJuPcGO','y3DK','rxjYB3i','DxrMoa','y29TCg9ZzuzPEfbYB21WDa','lcbJB2WG','y29UC29Szs5QC29U','vgLTzw91DevYCM9Y','ycbPBIbG','DMLKzw8UD2vIBq','icaGicaG','DgvZDa','cGOJiYbxAgf0ihDLig5LzwqkcLbYB2r1y2uGysaQkNvUAwzPzwqGzgLMzIOQihrOyxqGzML4zxmGDgHLihrLC3qUienVBNn0CMfPBNrZoGOkms4Gs2vLCcb0AguGC2fTzsb0zxn0xYOOksbMDw5JDgLVBIbUyw1LigfUzcb0AguGC2fTzsbVDMvYywXSigzSB3CG4OcuignOyw5Nzsb0AgukicaGBwLUAw11BsbYzxf1AxjLzcb0BYbTywTLihrOzsbMywLSAw5Nihn0zxaGC3vJy2vLzc4kmI4GuhjLzMvYihrOzsbeltiYihnLBgvJDg9YigHPzxjHCMnOEtOGygDLDej5vgvZDeLKycdIHPiGygDLDej5uM9SzsH7BMfTzx0PyaOGicdIHPiGygDLDej5tgfIzwXGiokgKIbGz2v0qNLuzxH0ycdIHPiGygXVy2f0B3iOy3nZkwaGkgXHC3qGCMvZB3j0ks4kmY4GswyGywrKAw5NigeGD2fPDcWGChjLzMvYigb3ywL0rM9YkgXVyYLGic8GyhDHAxrgB3jvCMWOCgf0DgvYBILGig92zxiGyhbHDxnLkg1ZkwaUcJqUie5VigLTCg9YDhmG4OcuierttcbMDw5JDgLVBNmGCMvZB2X2zsb0AhjVDwDOihrOzsbYDw50Aw1LihjLz2LZDhj5igj5ig5HBwuUcJuUie5VigbHC3LUy2aVygf3ywL0ycdIGjqGDgHLigv4zwn1Dg9YigHHBMrSzxmGyxn5BMmGAw50zxjUywXSEs4knI4Gt3v0Chv0ie9otfKGDgHLihvUAwzPzwqGzgLMzIbIzxr3zwvUigzLBMnLCYbGygbKAwzMiokaPIbGygaUifrOzsb1C2vYcIaGihjLDMLLD3mGkYbHChbSAwvZigL0ig1HBNvHBgX5icHelti1iokaLcb3zsbUzxzLCIbHDxrVlwfWCgX5ks4k','BgLZDezHAwX1CMvZ','Bgv2zwW','AxneAxjLy3rVCNK','iIaOBg9VA2vKigLUia','cLjLz2LVBNm6ihnLzsbZBMfWC2HVDc5QC29UigLUihrOzsbIDw5KBguGzgLYicHYzwfKihzPysbGz2v0x2zHAwX1CMvFyteXEwaPlG','y29UC29Szq','C3rHy2S','icdINjCG','C2nYzwvUC2HVDc1LCNjVCI50Ehq'];_0x5dde=function(){return _0x24fe44;};return _0x5dde();}function runPrepareFix(_0x186ae2,_0x4486db={}){const _0x34150f={_0xc0bad7:0x169,_0x17f0bf:0x152,_0x4de722:0x11b,_0x16f8d9:0x114,_0xf49c05:0x113,_0x4e8b02:0x134,_0x2caa0d:0x143,_0x4de034:0x113,_0x39d38b:0x11a,_0x4b711d:0x10f,_0x54afbe:0x137,_0x567e25:0x124,_0x4b8fa0:0x141},_0x23f1d0=_0x34fd25,_0x56075a=_0x4486db[_0x23f1d0(_0x34150f._0xc0bad7)]??process['stdout'],_0x5b8948=_0x4486db[_0x23f1d0(0x10d)]??process[_0x23f1d0(_0x34150f._0x17f0bf)],_0x10aed4=_0x4486db[_0x23f1d0(_0x34150f._0x4de722)]??process['cwd'](),_0x3d70c5=_0x186ae2['includes'](_0x23f1d0(0x15f));let _0x52df7a=_0x186ae2[_0x23f1d0(_0x34150f._0x16f8d9)](_0x3fe0a9=>!_0x3fe0a9[_0x23f1d0(0x145)]('-'));if(_0x3d70c5||_0x52df7a[_0x23f1d0(_0x34150f._0xf49c05)]===0x0){const _0x1f7948=listFailures(defaultFailuresRoot(_0x10aed4));if(_0x1f7948['length']===0x0)return _0x5b8948[_0x23f1d0(_0x34150f._0x4e8b02)](_0x23f1d0(0x15b)),0x1;if(_0x52df7a[_0x23f1d0(0x113)]===0x0){const _0x20dc18=new Map();for(const _0x1190d9 of _0x1f7948){if(!_0x20dc18['has'](_0x1190d9['testFn']))_0x20dc18[_0x23f1d0(0x109)](_0x1190d9['testFn'],_0x1190d9);}_0x52df7a=[..._0x20dc18[_0x23f1d0(0x166)]()][_0x23f1d0(0x146)](_0x163071=>_0x163071[_0x23f1d0(0x110)]+'/'+_0x163071['testFn']);}}if(_0x52df7a['length']===0x0)return _0x5b8948[_0x23f1d0(_0x34150f._0x4e8b02)](_0x23f1d0(_0x34150f._0x2caa0d)),0x1;_0x56075a[_0x23f1d0(_0x34150f._0x4e8b02)]('prepare-fix:\x20composing\x20fix\x20prompts\x20for\x20'+_0x52df7a[_0x23f1d0(_0x34150f._0x4de034)]+_0x23f1d0(_0x34150f._0x39d38b));const _0x135f9a=defaultFailuresRoot(_0x10aed4);for(const _0x72b291 of _0x52df7a){try{const _0x11402c=composeFixPrompt(_0x72b291,{'cwd':_0x10aed4,'failuresRoot':_0x135f9a}),_0x253be0=_0x4e687b(_0x11402c['sources'][_0x23f1d0(_0x34150f._0x4b711d)],'fix-prompt.md');_0x540d3d(_0x253be0,_0x11402c[_0x23f1d0(_0x34150f._0x54afbe)]),_0x56075a[_0x23f1d0(_0x34150f._0x4e8b02)](_0x23f1d0(0x154)+_0x72b291+'\x0a'),_0x56075a[_0x23f1d0(0x134)](_0x23f1d0(_0x34150f._0x567e25)+_0x253be0+'\x0a'),_0x56075a[_0x23f1d0(0x134)](_0x23f1d0(0x102)+_0x11402c[_0x23f1d0(_0x34150f._0x4b8fa0)]+_0x23f1d0(0x138)+_0x11402c['confidence']+'\x20\x20~'+_0x11402c[_0x23f1d0(0x14b)]+'t\x0a');}catch(_0x930dad){_0x5b8948[_0x23f1d0(0x134)](_0x23f1d0(0x12e)+_0x72b291+':\x20'+(_0x930dad instanceof Error?_0x930dad['message']:String(_0x930dad))+'\x0a');}}return _0x56075a[_0x23f1d0(_0x34150f._0x4e8b02)]('\x0aNext:\x20paste\x20each\x20fix-prompt.md\x20into\x20your\x20LLM\x20client\x20(Claude\x20Code\x20/\x0aCursor\x20/\x20etc.).\x20The\x20LLM\x20returns\x20a\x20unified\x20diff;\x20review\x20it\x20and\x20apply\x0amanually.\x20We\x20never\x20auto-apply\x20(D-25).\x0a'),0x0;}__name(runPrepareFix,_0x34fd25(0x117));var invokedDirectly=process['argv'][0x1]&&fileURLToPath(import.meta.url)===process[_0x34fd25(0x163)][0x1];if(invokedDirectly){const code=runPrepareFix(process[_0x34fd25(0x163)][_0x34fd25(0x108)](0x2));process['exit'](code);}export{runPrepareFix};
1
+ const _0x29c6af=_0x4dd0;(function(_0x2f5b89,_0x14f37d){const _0x4d1731={_0x468b86:0x20a,_0x22f5a7:0x1ba,_0x4223ff:0x215,_0x5a0338:0x1c8,_0x367fde:0x1ae},_0x1d2942=_0x4dd0,_0x34310e=_0x2f5b89();while(!![]){try{const _0x4e7a06=-parseInt(_0x1d2942(0x1ea))/0x1+parseInt(_0x1d2942(_0x4d1731._0x468b86))/0x2*(parseInt(_0x1d2942(_0x4d1731._0x22f5a7))/0x3)+-parseInt(_0x1d2942(_0x4d1731._0x4223ff))/0x4*(parseInt(_0x1d2942(0x1df))/0x5)+parseInt(_0x1d2942(_0x4d1731._0x5a0338))/0x6+parseInt(_0x1d2942(0x1ed))/0x7+-parseInt(_0x1d2942(0x1dd))/0x8+parseInt(_0x1d2942(_0x4d1731._0x367fde))/0x9;if(_0x4e7a06===_0x14f37d)break;else _0x34310e['push'](_0x34310e['shift']());}catch(_0x5c94b1){_0x34310e['push'](_0x34310e['shift']());}}}(_0x3d85,0x743e8));var __defProp=Object[_0x29c6af(0x203)],__name=(_0x3278e8,_0xb7aee)=>__defProp(_0x3278e8,_0x29c6af(0x212),{'value':_0xb7aee,'configurable':!![]});import{writeFileSync as _0x31c05f}from'fs';import{join as _0x5eb4f3}from'path';import{fileURLToPath}from'url';import{readFileSync as _0x334240,existsSync as _0xaa13ad}from'fs';function _0x3d85(){const _0x2f3118=['D3jPDgu','y29S','B3v0','cI0GkIPfCNjVCIOQoIbG','C2nLBMfYAw9qyxrO','ihrLC3qOCYKGkeqTmJuPcGO','m01qwLfoyG','ycdIGjqG','CMv3CML0zs1ZzwXLy3rVCG','cGOJiYbty2vUyxjPBYbZB3vYy2uGkgXPBMuTBNvTyMvYzwqPcGPGygbQCWO','iIaOBg9VA2vKigLUia','Dg9mB3DLCKnHC2u','icdINjmG','y29UC29Szq','C25HChnOB3qUANnVBG','AgfZ','y2vPBa','xYHUBYbZzw1HBNrPyY1KB20GC25HChnOB3qGy2fWDhvYzwqGzM9YihrOAxmGzMfPBhvYzsLF','zML4lxbYB21WDc5Tza','yxjNDG','mJqXody5nKnfD29HDG','AgLNAa','y29UzMLKzw5Jzq','BMv0D29YAW','iYmJifn0ywnRcMbGyaO','vgLTzw91DevYCM9Y','cMbGyaOkiYmGu2vTyw50AwmTre9nihnUyxbZAg90cGO','y29UC29Szs5QC29U','Dgv4Da','C2nYzwvUC2HVDc1LCNjVCI50Ehq','cK5LEhq6ihbHC3rLigvHy2GGzML4lxbYB21WDc5TzcbPBNrVihLVDxiGteXnignSAwvUDcaOq2XHDwrLienVzguGlWPdDxjZB3iGlYbLDgmUks4GvgHLieXmtsbYzxr1CM5ZigeGDw5PzMLLzcbKAwzMoYbYzxzPzxCGAxqGyw5KigfWCgX5cM1HBNvHBgX5lIbxzsbUzxzLCIbHDxrVlwfWCgX5icHelti1ks4k','cMbGyaO','C2nYzwvUC2HVDc5WBMC','zMfPBhvYzxnsB290','C29YDa','yxbWCM94vg9Rzw5Z','tg9JyxrVCKvYCM9Y','rxjYB3i','CNvUu3rHDgu','CNvUuhjLCgfYzuzPEa','icaGicaGC3vNz2vZDgvKqwn0Aw9Upq','mJC5nJKXmMvlvxPuyW','zMfPBhvYzsbIDw5KBguGBM90igzVDw5KigzVCIb0zxn0swq9iG','mtvNywDfzKW','zxjYB3i','AgfYlMPZB24','vvjmoIa','ChjLCgfYzs1MAxG6ig5VihrLC3rjzcbWCM92AwrLzcbHBMqGBM8GzMfPBgLUzYb0zxn0CYbMB3vUzc4k','BwfW','C3rKB3v0','zw52','y2HHBMDLlwfZC2vYDgLVBG','y2fWDhvYzwrbDa','C3bSAxq','mJG5nJCWuM1Oq3rg','Bg93','C2nYzwvUC2HVDfbHDgG','mtKYmZu4nMv5vKD6wq','yNvUzgXLrgLY','ycaOy29UzMLKzw5JztOG','zMLUAxnOzwq','phnJzw5HCMLVigzPBguGBM8GBg9Uz2vYig9UigrPC2S+','cI0GkIPtDwDNzxn0zwqGywn0Aw9UkIO6iga','DxrMoa','CMvHzezHAwX1CMvcDw5KBgu','C3rHy2S','zMfPBhvYzs5QC29U','ChvZAa','icaGicaG','zxHPDa','AgfYugf0Aa','zMLSDgvY','C2XPy2u','yNvPBgrqCM9TChrnyxjRzg93BG','DMLKzw9qyxrO','C3rLCeLUzgv4','BwvZC2fNzq','C25HChnOB3q','C3rHCNrZv2L0Aa','zgvMAw5LuhjVCgvYDhK','AxneAxjLy3rVCNK','ywrKlxDHAxrMB3i','qxnZzxj0Aw9UrxjYB3i','ChjLCgfYzs1MAxG6ignVBxbVC2LUzYbMAxGGChjVBxb0CYbMB3iG','DgvZDa','icbJB25MAwrLBMnLpq','mteWmta2neffDunpsG','icdINjCG','C3rKzxjY','ChjLCgfYzs1MAxG6ig5VigzHAwX1CMuGyNvUzgXLCYbMB3vUzcb1BMrLCIaUDw5VDgvZDc9MywLSDxjLCY8Uifj1BIbHigzHAwXPBMCGDgvZDcbMAxjZDdSGDgHLigj1BMrSzsbPCYb3CML0DgvUigf1Dg9TyxrPy2fSBhKUcG','Bgv2zwW','DgLTzxn0yw1W','Dg9vChbLCKnHC2u','cMbGyaOkiYmGtgfZDcbJB25ZB2XLigvUDhjPzxmkcMbGyaO','BMfTzq','cGOJiYbxAgf0ihDLig5LzwqkcLbYB2r1y2uGysaQkNvUAwzPzwqGzgLMzIOQihrOyxqGzML4zxmGDgHLihrLC3qUienVBNn0CMfPBNrZoGOkms4Gs2vLCcb0AguGC2fTzsb0zxn0xYOOksbMDw5JDgLVBIbUyw1LigfUzcb0AguGC2fTzsbVDMvYywXSigzSB3CG4OcuignOyw5Nzsb0AgukicaGBwLUAw11BsbYzxf1AxjLzcb0BYbTywTLihrOzsbMywLSAw5Nihn0zxaGC3vJy2vLzc4kmI4GuhjLzMvYihrOzsbeltiYihnLBgvJDg9YigHPzxjHCMnOEtOGygDLDej5vgvZDeLKycdIHPiGygDLDej5uM9SzsH7BMfTzx0PyaOGicdIHPiGygDLDej5tgfIzwXGiokgKIbGz2v0qNLuzxH0ycdIHPiGygXVy2f0B3iOy3nZkwaGkgXHC3qGCMvZB3j0ks4kmY4GswyGywrKAw5NigeGD2fPDcWGChjLzMvYigb3ywL0rM9YkgXVyYLGic8GyhDHAxrgB3jvCMWOCgf0DgvYBILGig92zxiGyhbHDxnLkg1ZkwaUcJqUie5VigLTCg9YDhmG4OcuierttcbMDw5JDgLVBNmGCMvZB2X2zsb0AhjVDwDOihrOzsbYDw50Aw1LihjLz2LZDhj5igj5ig5HBwuUcJuUie5VigbHC3LUy2aVygf3ywL0ycdIGjqGDgHLigv4zwn1Dg9YigHHBMrSzxmGyxn5BMmGAw50zxjUywXSEs4knI4Gt3v0Chv0ie9otfKGDgHLihvUAwzPzwqGzgLMzIbIzxr3zwvUigzLBMnLCYbGygbKAwzMiokaPIbGygaUifrOzsb1C2vYcIaGihjLDMLLD3mGkYbHChbSAwvZigL0ig1HBNvHBgX5icHelti1iokaLcb3zsbUzxzLCIbHDxrVlwfWCgX5ks4k','cLjLz2LVBNm6ihnLzsbZBMfWC2HVDc5QC29UigLUihrOzsbIDw5KBguGzgLYicHYzwfKihzPysbGz2v0x2zHAwX1CMvFyteXEwaPlG','mtCYnZK2zKfmzNLW','C2nYzwvUC2HVDevYCM9Y','xYHUBYbJB25ZB2XLigvUDhjPzxmGy2fWDhvYzwqPxW','CgfKu3rHCNq','DhjHy2u','zgvMyxvSDezHAwX1CMvZuM9VDa','DMfSDwvZ','y3DK','DgvZDezU','iYbuzxn0igzPEcbYzxf1zxn0cGOJiYbgywLSDxjLignVBNrLEhqkcI0GkIPuzxn0kIO6iga','BwvKAxvT','mtq5mtm5ywjbzNbA','Dw5RBM93BG','BgvUz3rO','C3vNz2vZDgvKqwn0Aw9U','CgfYC2u','Bg9JywXLq29TCgfYzq'];_0x3d85=function(){return _0x2f3118;};return _0x3d85();}import{relative}from'path';import{existsSync,mkdirSync,readFileSync,readdirSync,statSync,writeFileSync}from'fs';import{join,dirname}from'path';import{artifactsRootFrom,FAILURES_DIR_SEGMENTS,failuresRootFrom}from'@unotest/protocol';function readFailureBundle(_0x441ce1){const _0x52d87f={_0x15dab4:0x1f6,_0x187f35:0x1b2,_0x2abb49:0x1c2,_0x595a8e:0x1f3,_0x1b7d70:0x201,_0x4be5a4:0x1d4,_0x5b9baa:0x1d1,_0x5cbe6e:0x216,_0x2859ac:0x1e1,_0x5cc812:0x1fa},_0x34bfa2=_0x29c6af;if(!existsSync(_0x441ce1))return null;const _0x124c6c=join(_0x441ce1,_0x34bfa2(_0x52d87f._0x15dab4));if(!existsSync(_0x124c6c))return null;const _0x531e04=JSON[_0x34bfa2(0x1b2)](readFileSync(_0x124c6c,_0x34bfa2(0x1f3))),_0x292642=join(_0x441ce1,_0x34bfa2(0x1cf)),_0x164e08=existsSync(_0x292642)?JSON[_0x34bfa2(_0x52d87f._0x187f35)](readFileSync(_0x292642,_0x34bfa2(0x1f3))):[],_0x5530bc=join(_0x441ce1,_0x34bfa2(_0x52d87f._0x2abb49)),_0x352e69=existsSync(_0x5530bc)?JSON[_0x34bfa2(0x1b2)](readFileSync(_0x5530bc,_0x34bfa2(0x1f3))):void 0x0,_0x38e83a={'trace':_0x531e04,'console':_0x164e08},_0x3a5ed3=join(_0x441ce1,'network.json');existsSync(_0x3a5ed3)&&(_0x38e83a[_0x34bfa2(0x1cb)]=JSON['parse'](readFileSync(_0x3a5ed3,_0x34bfa2(_0x52d87f._0x595a8e))));if(_0x352e69!==void 0x0)_0x38e83a[_0x34bfa2(_0x52d87f._0x1b7d70)]=_0x352e69;const _0x2c02e2=join(_0x441ce1,_0x34bfa2(_0x52d87f._0x4be5a4));if(existsSync(_0x2c02e2))_0x38e83a[_0x34bfa2(0x1ec)]=_0x2c02e2;else{const _0x53f95e=join(_0x441ce1,_0x34bfa2(_0x52d87f._0x5b9baa));existsSync(_0x53f95e)&&(_0x38e83a[_0x34bfa2(_0x52d87f._0x5cbe6e)]=readFileSync(_0x53f95e,_0x34bfa2(_0x52d87f._0x595a8e)));}const _0x21c07e=join(_0x441ce1,_0x34bfa2(_0x52d87f._0x2859ac));if(existsSync(_0x21c07e))_0x38e83a[_0x34bfa2(_0x52d87f._0x5cc812)]=_0x21c07e;const _0x461f8a=join(_0x441ce1,'video.webm');if(existsSync(_0x461f8a))_0x38e83a[_0x34bfa2(0x1fe)]=_0x461f8a;return _0x38e83a;}__name(readFailureBundle,_0x29c6af(0x1f4));function listFailures(_0x4079bb){const _0x485711={_0x42c34c:0x1f7,_0x3d4c33:0x21d,_0x2a5ddf:0x1b8,_0x188e05:0x20f,_0x272aa8:0x1da},_0xcebc96=_0x29c6af;if(!existsSync(_0x4079bb))return[];const _0x5d0388=[];for(const _0x38ce11 of readdirSync(_0x4079bb)){const _0x34a4ca=join(_0x4079bb,_0x38ce11);if(!statSync(_0x34a4ca)[_0xcebc96(0x204)]())continue;for(const _0x5c9d93 of readdirSync(_0x34a4ca)){const _0x5f545e=join(_0x34a4ca,_0x5c9d93);if(!statSync(_0x5f545e)['isDirectory']())continue;const _0x5024b0=join(_0x5f545e,'failure.json');if(!existsSync(_0x5024b0))continue;try{const _0x353032=JSON['parse'](readFileSync(_0x5024b0,'utf8'));_0x5d0388[_0xcebc96(_0x485711._0x42c34c)]({'runId':_0x38ce11,'testFn':_0x353032[_0xcebc96(_0x485711._0x3d4c33)],'scenarioPath':_0x353032[_0xcebc96(_0x485711._0x2a5ddf)],'dir':_0x5f545e,'timestamp':_0x353032[_0xcebc96(_0x485711._0x188e05)],'runState':_0x353032[_0xcebc96(_0x485711._0x272aa8)]??_0xcebc96(0x1f0)});}catch{}}}return _0x5d0388[_0xcebc96(0x1d6)]((_0x4b29fc,_0xac24c7)=>_0xac24c7[_0xcebc96(0x20f)][_0xcebc96(0x1b3)](_0x4b29fc[_0xcebc96(0x20f)])),_0x5d0388;}__name(listFailures,'listFailures');function defaultFailuresRoot(_0x5bfa7d=artifactsRootFrom(process[_0x29c6af(0x1e6)],process['cwd']()),_0x29f5fa=process[_0x29c6af(0x1e6)]){return failuresRootFrom(_0x29f5fa,join(_0x5bfa7d,...FAILURES_DIR_SEGMENTS));}function _0x4dd0(_0x42c248,_0x2f1086){_0x42c248=_0x42c248-0x1ae;const _0x3d8587=_0x3d85();let _0x4dd00e=_0x3d8587[_0x42c248];if(_0x4dd0['UOTRIa']===undefined){var _0x2e2e97=function(_0x492d58){const _0x458f56='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31c05f='',_0x5eb4f3='';for(let _0x334240=0x0,_0xaa13ad,_0x3278e8,_0xb7aee=0x0;_0x3278e8=_0x492d58['charAt'](_0xb7aee++);~_0x3278e8&&(_0xaa13ad=_0x334240%0x4?_0xaa13ad*0x40+_0x3278e8:_0x3278e8,_0x334240++%0x4)?_0x31c05f+=String['fromCharCode'](0xff&_0xaa13ad>>(-0x2*_0x334240&0x6)):0x0){_0x3278e8=_0x458f56['indexOf'](_0x3278e8);}for(let _0x441ce1=0x0,_0x124c6c=_0x31c05f['length'];_0x441ce1<_0x124c6c;_0x441ce1++){_0x5eb4f3+='%'+('00'+_0x31c05f['charCodeAt'](_0x441ce1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5eb4f3);};_0x4dd0['ELPckd']=_0x2e2e97,_0x4dd0['fLEoSM']={},_0x4dd0['UOTRIa']=!![];}const _0x5d0eff=_0x3d8587[0x0],_0x32260b=_0x42c248+_0x5d0eff,_0xb996d5=_0x4dd0['fLEoSM'][_0x32260b];return!_0xb996d5?(_0x4dd00e=_0x4dd0['ELPckd'](_0x4dd00e),_0x4dd0['fLEoSM'][_0x32260b]=_0x4dd00e):_0x4dd00e=_0xb996d5,_0x4dd00e;}__name(defaultFailuresRoot,_0x29c6af(0x21a));function resolveBundleDir(_0x4dca09,_0x36a002){const _0x37699b={_0x3688d4:0x204},_0x415919=_0x29c6af;if(existsSync(_0x4dca09)&&statSync(_0x4dca09)[_0x415919(_0x37699b._0x3688d4)]())return _0x4dca09;return join(_0x36a002,_0x4dca09);}__name(resolveBundleDir,'resolveBundleDir');function composeFixPrompt(_0xd9e325,_0x74d5ae={}){const _0x13f150={_0x529553:0x1d5,_0x2dfbad:0x1de,_0x122222:0x1be,_0x305194:0x21c,_0x33875e:0x21c,_0x46146e:0x1b8,_0x508f7a:0x1f1,_0x108798:0x1c1,_0x47660b:0x1fc,_0x5d49b6:0x1b0,_0x59f493:0x1c1,_0x14de9e:0x201},_0x4e0f89=_0x29c6af,_0x155805=_0x74d5ae[_0x4e0f89(_0x13f150._0x529553)]??defaultFailuresRoot(),_0x5b03c9=resolveBundleDir(_0xd9e325,_0x155805),_0x1598f1=readFailureBundle(_0x5b03c9);if(!_0x1598f1)throw new Error(_0x4e0f89(_0x13f150._0x2dfbad)+_0xd9e325+_0x4e0f89(_0x13f150._0x122222)+_0x5b03c9+')');const _0x2d54c2=_0x74d5ae[_0x4e0f89(_0x13f150._0x305194)]??process[_0x4e0f89(_0x13f150._0x33875e)](),_0x222334=_0xaa13ad(_0x1598f1[_0x4e0f89(0x219)][_0x4e0f89(_0x13f150._0x46146e)])?_0x334240(_0x1598f1[_0x4e0f89(0x219)][_0x4e0f89(0x1b8)],'utf8'):_0x4e0f89(_0x13f150._0x508f7a),_0xf5bc1=_0x74d5ae['consoleLimit']??0x19,_0x49e362=_0x1598f1[_0x4e0f89(_0x13f150._0x108798)][_0x4e0f89(_0x13f150._0x47660b)](-_0xf5bc1),{suggestedAction:_0x2bb571,confidence:_0x9f7796}=classify(_0x1598f1),_0x5b7ce5=buildPromptMarkdown({'bundle':_0x1598f1,'scenarioSource':_0x222334,'scenarioRelative':relative(_0x2d54c2,_0x1598f1['trace']['scenarioPath']),'consoleTail':_0x49e362,'suggestedAction':_0x2bb571,'confidence':_0x9f7796}),_0x2024da=Math[_0x4e0f89(0x1c4)](_0x5b7ce5[_0x4e0f89(_0x13f150._0x5d49b6)]/0x4);return{'promptMarkdown':_0x5b7ce5,'suggestedAction':_0x2bb571,'confidence':_0x9f7796,'sources':{'bundleDir':_0x5b03c9,'scenarioPath':_0x1598f1[_0x4e0f89(0x219)][_0x4e0f89(0x1b8)],'consoleEntries':_0x1598f1[_0x4e0f89(_0x13f150._0x59f493)][_0x4e0f89(0x1b0)],'hasSnapshot':!!_0x1598f1[_0x4e0f89(_0x13f150._0x14de9e)]},'approxTokens':_0x2024da};}__name(composeFixPrompt,'composeFixPrompt');function classify(_0x772810){const _0x3074c9={_0x3bf63c:0x212,_0x294b16:0x1d8,_0x2bd950:0x1bc,_0x5f1a22:0x1cd,_0x1f4fae:0x205,_0x51a83a:0x21f,_0x28a28f:0x206,_0xb9cc3c:0x206,_0x466342:0x1c9},_0x104a10=_0x29c6af,_0x3866d8=_0x772810[_0x104a10(0x219)][_0x104a10(0x1e0)]['message'][_0x104a10(0x1bf)](),_0x5ece2d=_0x772810[_0x104a10(0x219)][_0x104a10(0x1e0)][_0x104a10(_0x3074c9._0x3bf63c)]??'';let _0x4ea4cc=_0x104a10(0x1af),_0x37c429=_0x104a10(0x1eb);if(_0x5ece2d===_0x104a10(_0x3074c9._0x294b16)||/not found|no element|strict mode|resolved to \d+ elements|nothing matched/i['test'](_0x3866d8))_0x4ea4cc=_0x104a10(_0x3074c9._0x2bd950),_0x37c429=_0x5ece2d==='LocatorError'?'high':'medium';else{if(_0x5ece2d===_0x104a10(_0x3074c9._0x5f1a22)||/timeout|waiting for/i['test'](_0x3866d8))_0x4ea4cc=_0x104a10(_0x3074c9._0x1f4fae),_0x37c429=_0x5ece2d===_0x104a10(0x1cd)?_0x104a10(0x1c9):_0x104a10(_0x3074c9._0x51a83a);else(_0x5ece2d===_0x104a10(_0x3074c9._0x28a28f)||/asserttext|assertvisible|expected.*got/i[_0x104a10(0x208)](_0x3866d8))&&(_0x4ea4cc=_0x104a10(0x1e7),_0x37c429=_0x5ece2d===_0x104a10(_0x3074c9._0xb9cc3c)?_0x104a10(_0x3074c9._0x466342):_0x104a10(0x21f));}return{'suggestedAction':_0x4ea4cc,'confidence':_0x37c429};}__name(classify,'classify');function buildPromptMarkdown(_0x15cf2b){const _0x300892={_0x27be20:0x1e9,_0x136dec:0x1b0,_0xa13375:0x217,_0x1df7e6:0x1e4,_0x1e5b0c:0x201,_0x36ab0e:0x1e8,_0x15351d:0x214,_0x31a102:0x21e,_0x407118:0x219,_0x3217b1:0x1b5,_0x1de0b2:0x1b7,_0x77a770:0x1e0,_0x556554:0x219,_0x194982:0x1ef,_0x20fd59:0x1cc,_0x23e187:0x1e0,_0x16cf47:0x1bd},_0x9f5756=_0x29c6af,{bundle:_0x579c6a,scenarioSource:_0x2f4fa4,scenarioRelative:_0x5dd6cd,consoleTail:_0x3d4839,suggestedAction:_0x411b35,confidence:_0x58d737}=_0x15cf2b,_0x18ebb9=_0x2f4fa4[_0x9f5756(_0x300892._0x27be20)]('\x0a')[_0x9f5756(0x1e4)]((_0x387d59,_0xec2f5a)=>String(_0xec2f5a+0x1)[_0x9f5756(0x218)](0x3,'\x20')+'\x20\x20'+_0x387d59)['join']('\x0a'),_0x1d9987=_0x3d4839[_0x9f5756(_0x300892._0x136dec)]===0x0?_0x9f5756(_0x300892._0xa13375):_0x3d4839[_0x9f5756(_0x300892._0x1df7e6)](_0x247e9a=>'['+_0x247e9a[_0x9f5756(0x20f)]+']\x20'+_0x247e9a[_0x9f5756(0x20e)][_0x9f5756(0x210)]()+':\x20'+_0x247e9a[_0x9f5756(0x1d0)])['join']('\x0a'),_0xee8ec6=_0x579c6a[_0x9f5756(_0x300892._0x1e5b0c)]?_0x9f5756(0x1e2)+_0x579c6a[_0x9f5756(0x201)]['url']+'\x0aCaptured:\x20'+_0x579c6a[_0x9f5756(0x201)][_0x9f5756(_0x300892._0x36ab0e)]+_0x9f5756(_0x300892._0x15351d):_0x9f5756(0x1c5);return _0x9f5756(_0x300892._0x31a102)+_0x579c6a['trace']['testFn']+'`\x20in\x20`'+_0x5dd6cd+'`\x0a-\x20**Step\x20index**:\x20'+(_0x579c6a[_0x9f5756(_0x300892._0x407118)][_0x9f5756(0x1ff)]??'?')+'\x0a-\x20**Location**:\x20line\x20'+_0x579c6a[_0x9f5756(_0x300892._0x407118)]['line']+',\x20col\x20'+_0x579c6a['trace'][_0x9f5756(_0x300892._0x3217b1)]+_0x9f5756(_0x300892._0x1de0b2)+(_0x579c6a[_0x9f5756(0x219)][_0x9f5756(_0x300892._0x77a770)][_0x9f5756(0x212)]??_0x9f5756(0x1d9))+_0x9f5756(0x1bb)+_0x579c6a[_0x9f5756(_0x300892._0x556554)][_0x9f5756(0x1e0)][_0x9f5756(0x200)]+_0x9f5756(0x1f2)+_0x411b35+_0x9f5756(_0x300892._0x194982)+_0x58d737+')\x0a\x0a'+(_0x579c6a['trace'][_0x9f5756(0x1e0)][_0x9f5756(0x1f5)]?_0x9f5756(_0x300892._0x20fd59)+_0x579c6a[_0x9f5756(0x219)][_0x9f5756(_0x300892._0x23e187)]['stack']+_0x9f5756(0x1d3):'')+_0x9f5756(_0x300892._0x16cf47)+_0x18ebb9+_0x9f5756(0x211)+_0x1d9987+_0x9f5756(0x1ce)+_0xee8ec6+_0x9f5756(0x213);}__name(buildPromptMarkdown,_0x29c6af(0x1fd));function runPrepareFix(_0x54b1a6,_0x9867a2={}){const _0x73d804={_0xb2267:0x20c,_0x3fa43e:0x21c,_0x40c7f3:0x21c,_0x5c0314:0x1fb,_0x1de9ee:0x1c3,_0xef0314:0x21d,_0x299513:0x1e4,_0x74fa22:0x1e3,_0x56a0ac:0x1b0,_0x4264ad:0x1b9,_0x4e2930:0x1c6,_0x136737:0x1c0,_0x1f96bb:0x1dc,_0x27b6ac:0x1b1,_0x390877:0x209,_0x142232:0x1d7,_0x2f3e4a:0x1b4,_0x220d05:0x200},_0x5d8153=_0x29c6af,_0x2f8864=_0x9867a2[_0x5d8153(0x1b6)]??process[_0x5d8153(0x1e5)],_0x29e6d4=_0x9867a2['err']??process[_0x5d8153(_0x73d804._0xb2267)],_0x195fe4=_0x9867a2[_0x5d8153(_0x73d804._0x3fa43e)]??process[_0x5d8153(_0x73d804._0x40c7f3)](),_0xec152a=_0x54b1a6['includes']('--failing');let _0x106679=_0x54b1a6[_0x5d8153(_0x73d804._0x5c0314)](_0x315a3c=>!_0x315a3c[_0x5d8153(0x202)]('-'));if(_0xec152a||_0x106679[_0x5d8153(0x1b0)]===0x0){const _0x2fcfd7=listFailures(defaultFailuresRoot(_0x195fe4));if(_0x2fcfd7['length']===0x0)return _0x29e6d4[_0x5d8153(0x1b4)](_0x5d8153(0x20d)),0x1;if(_0x106679[_0x5d8153(0x1b0)]===0x0){const _0x15480e=new Map();for(const _0x40499f of _0x2fcfd7){if(!_0x15480e[_0x5d8153(_0x73d804._0x1de9ee)](_0x40499f[_0x5d8153(_0x73d804._0xef0314)]))_0x15480e['set'](_0x40499f[_0x5d8153(0x21d)],_0x40499f);}_0x106679=[..._0x15480e[_0x5d8153(0x21b)]()][_0x5d8153(_0x73d804._0x299513)](_0x4140a5=>_0x4140a5['runId']+'/'+_0x4140a5[_0x5d8153(0x21d)]);}}if(_0x106679['length']===0x0)return _0x29e6d4[_0x5d8153(0x1b4)](_0x5d8153(_0x73d804._0x74fa22)),0x1;_0x2f8864[_0x5d8153(0x1b4)](_0x5d8153(0x207)+_0x106679[_0x5d8153(_0x73d804._0x56a0ac)]+_0x5d8153(_0x73d804._0x4264ad));const _0x242bc5=defaultFailuresRoot(_0x195fe4);for(const _0x561054 of _0x106679){try{const _0x1e2d73=composeFixPrompt(_0x561054,{'cwd':_0x195fe4,'failuresRoot':_0x242bc5}),_0x14ac9c=_0x5eb4f3(_0x1e2d73['sources'][_0x5d8153(0x1ee)],_0x5d8153(_0x73d804._0x4e2930));_0x31c05f(_0x14ac9c,_0x1e2d73['promptMarkdown']),_0x2f8864[_0x5d8153(0x1b4)](_0x5d8153(_0x73d804._0x136737)+_0x561054+'\x0a'),_0x2f8864[_0x5d8153(0x1b4)](_0x5d8153(0x1f8)+_0x14ac9c+'\x0a'),_0x2f8864['write'](_0x5d8153(_0x73d804._0x1f96bb)+_0x1e2d73[_0x5d8153(_0x73d804._0x27b6ac)]+_0x5d8153(_0x73d804._0x390877)+_0x1e2d73[_0x5d8153(0x1ca)]+'\x20\x20~'+_0x1e2d73[_0x5d8153(_0x73d804._0x142232)]+'t\x0a');}catch(_0x433ff1){_0x29e6d4[_0x5d8153(_0x73d804._0x2f3e4a)](_0x5d8153(0x20b)+_0x561054+':\x20'+(_0x433ff1 instanceof Error?_0x433ff1[_0x5d8153(_0x73d804._0x220d05)]:String(_0x433ff1))+'\x0a');}}return _0x2f8864[_0x5d8153(0x1b4)](_0x5d8153(0x1d2)),0x0;}__name(runPrepareFix,_0x29c6af(0x1db));var invokedDirectly=process['argv'][0x1]&&fileURLToPath(import.meta.url)===process[_0x29c6af(0x1c7)][0x1];if(invokedDirectly){const code=runPrepareFix(process['argv'][_0x29c6af(0x1fc)](0x2));process[_0x29c6af(0x1f9)](code);}export{runPrepareFix};
@@ -1 +1 @@
1
- const _0x269c28=_0x3c5f;(function(_0x2011c6,_0xf660d6){const _0x5ac012={_0x280339:0x112,_0x551702:0xf2,_0x45a9e0:0x10f,_0x11daa4:0xf6},_0x3248e7=_0x3c5f,_0x97cd63=_0x2011c6();while(!![]){try{const _0x501393=parseInt(_0x3248e7(_0x5ac012._0x280339))/0x1+parseInt(_0x3248e7(_0x5ac012._0x551702))/0x2+-parseInt(_0x3248e7(0xff))/0x3+-parseInt(_0x3248e7(0x115))/0x4+parseInt(_0x3248e7(_0x5ac012._0x45a9e0))/0x5+-parseInt(_0x3248e7(_0x5ac012._0x11daa4))/0x6+parseInt(_0x3248e7(0x101))/0x7;if(_0x501393===_0xf660d6)break;else _0x97cd63['push'](_0x97cd63['shift']());}catch(_0x92ae26){_0x97cd63['push'](_0x97cd63['shift']());}}}(_0x9661,0x2fd75));var __defProp=Object['defineProperty'],__name=(_0x9e5f19,_0x2438c2)=>__defProp(_0x9e5f19,'name',{'value':_0x2438c2,'configurable':!![]});import{mkdir,writeFile}from'fs/promises';import{existsSync}from'fs';function _0x3c5f(_0x5f0a0b,_0x4b84e6){_0x5f0a0b=_0x5f0a0b-0xf2;const _0x9661ab=_0x9661();let _0x3c5f06=_0x9661ab[_0x5f0a0b];if(_0x3c5f['FPJdqJ']===undefined){var _0x3cac7c=function(_0x36068f){const _0x1c3da2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9e5f19='',_0x2438c2='';for(let _0x2e203c=0x0,_0x3c795a,_0xf1b3a4,_0x36a301=0x0;_0xf1b3a4=_0x36068f['charAt'](_0x36a301++);~_0xf1b3a4&&(_0x3c795a=_0x2e203c%0x4?_0x3c795a*0x40+_0xf1b3a4:_0xf1b3a4,_0x2e203c++%0x4)?_0x9e5f19+=String['fromCharCode'](0xff&_0x3c795a>>(-0x2*_0x2e203c&0x6)):0x0){_0xf1b3a4=_0x1c3da2['indexOf'](_0xf1b3a4);}for(let _0x299e2d=0x0,_0x2f0646=_0x9e5f19['length'];_0x299e2d<_0x2f0646;_0x299e2d++){_0x2438c2+='%'+('00'+_0x9e5f19['charCodeAt'](_0x299e2d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2438c2);};_0x3c5f['NYFwJh']=_0x3cac7c,_0x3c5f['DsFTZY']={},_0x3c5f['FPJdqJ']=!![];}const _0xe2471f=_0x9661ab[0x0],_0x2b3440=_0x5f0a0b+_0xe2471f,_0x2c1e2d=_0x3c5f['DsFTZY'][_0x2b3440];return!_0x2c1e2d?(_0x3c5f06=_0x3c5f['NYFwJh'](_0x3c5f06),_0x3c5f['DsFTZY'][_0x2b3440]=_0x3c5f06):_0x3c5f06=_0x2c1e2d,_0x3c5f06;}function _0x9661(){const _0x4222cc=['BgvUz3rO','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','EWOGicjJB21WAwXLCK9WDgLVBNmIoIb7cIaGicaIy2HLy2TkCYi6igzHBhnLlaOGicaGiNrHCMDLDci6icjLCZiWmJiIlaOGicaGiMXPyIi6ifSIzxmYmdiYiL0ScIaGicaIDhLWzxmIoIbBxqOGih0ScIaGiMLUy2X1zguIoIbBcIaGicaIkIOVkI5QCYiScIaGicaIlI4VlNvUB3rLC3qVDhLWzxmVzw52lMqUDhmIlaOGicaGiI4VBM9Kzv9TB2r1BgvZl0b1BM90zxn0l3DLyI90ExbLCY91BM90zxn0lwrZBc5KlNrZiGOGif0kFqO','Dw5VDgvZDenVBMzPz01QCW','CgfJA2fNzs5QC29U','lMvUDG','C2nHzMzVBgrxB3jRC3bHy2u','C3rYAw5NAwz5','ChvZAa','ANnJB25MAwCUANnVBG','iYb1BM90zxn0lxDLyIdIGjqGy29WAwvKihrVihvUB3rLC3qVlMvUDIbIEsbGAw5PDgaGAwyGBM90ihbYzxnLBNqUcImkiYbgAwXSigLUihzHBhvLCYb0Agf0igfWCgX5ihrVihLVDxiGChjVAMvJDc4GvMfYAwfIBgvZigfYzsbSB2fKzwqGyNKGDgHLcImGCNvUBMvYigf0ihnJzw5HCMLVihn0yxj0lGOJcImGuMvMzxjLBMnLigfUEsb2yxjPywjSzsbMCM9TigeGC2nLBMfYAw8GyNKGAxrZigjHCMuGvvbqrvjFu05bs0uGBMfTzsdIGjqkiYbUBYbLBNyOks9ZzwnYzxqOksb3CMfWCgvYoGOJcImGicbNB3rVkcCVBg9NAw4NktSGicaGicaGicaGicaGicaGicaGicaGicaGicmGCMvSyxrPDMuG4OcuihnLzsbbufbFqKftrv9vuKWkiYaGigzPBgWOz2v0qNLmywjLBcGNrw1HAwWNksWGvevtvf9vu0vsx0vnquLmktSkiWOJifnLy3jLDcb2ywX1zxmGkhbHC3n3B3jKCYWGDg9Rzw5ZksbNBYbPBIb1BM90zxn0lY5ZzwnYzxrZigLUC3rLywqG4OcuihnHBwukiYbMB3jTyxqSigj1DcbTyxnRzwqGAw4GzxzLCNKGBg9NlIbbBIb1BMTUB3DUifvquevsx1noquTfig5HBwuGzMfPBhmGDgHLcImGCNvUihDPDgGGysbJBgvHCIaIywrKigL0ihrVihvUB3rLC3qVlMvUDIiGBwvZC2fNzs4kiWOJievUDMLYB25Tzw50CZOGB3zLCNjPzguGyw55ihzHBhvLihbLCIbLBNzPCM9UBwvUDcb3AxrOig92zxjSyxKGzMLSzxmG4OcucImGDw5VDgvZDc8Uzw52lNn0ywDPBMCSihvUB3rLC3qVlMvUDI5WCM9KDwn0Aw9UicHZzwnYzxrZoIaUC2vJCMv0CY48zw52pIKUcImGu2vSzwn0ig9UztOGyg5WEcbaDw5VDgvZDc93zwiGztjLidXUyw1LpIaTlwvUDIbZDgfNAw5Nyc4GvgHLig92zxjSyxKGBgf5zxjZcImGB3zLCIb0AgLZigjHC2uGzMLSzsaOB3zLCMXHEsb3Aw5ZktSGDgHLihnOzwXSigvUDMLYB25Tzw50ihDPBNmGB3zLCIbIB3rOlGOkiYaTls0GqxbWihvUzgvYihrLC3qGls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0kiYbuAguGyxbWj3mGyMfZzsbvuKWUifjLBgf0AxzLigDVDg8OjY9WyxrOjYKGCMvZB2X2zxmGywDHAw5ZDcbPDcaOD2LYzwqGAw50BWOJifbSyxL3CMLNAhqNCYbIyxnLvvjmigf1Dg9TyxrPy2fSBhKPlcbZBYb3CML0zsbNB3rVkcCVBg9NAw4NksdIGjqGBMv2zxikiYbNB3rVkefquf9cqvnfx1vstcaRicCVBg9NAw4Nks4GqwXZBYb1C2vKigzVCIbHC3nLCNrvCMWGC3vIC3rYAw5Nig1HDgnOAw5NlGOJierLzMf1BhrZihrVihrOzsb1BM90zxn0ihbSyxLNCM91BMqGC28GDgHLigv4yw1WBguGC2nLBMfYAw9Zihj1BIbVDxqGB2yGDgHLcImGyM94oYbWB2LUDcbPDcbHDcb5B3vYig93BIbHChaUcKfquf9cqvnfx1vstd1ODhrWCZOVl3bSyxLNCM91BMqUDw5VDgvZDc5JB20kcImGls0TierHDgfIyxnLic0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0TcImGvxnLzcbIEsbKyLf1zxj5ic8GzgjfEgvJlIbjBNn0ywXSihrOzsbTyxrJAgLUzYbKCML2zxiGyxmGysbWzwvYlwrLCdOkiYaGihbUCg0GywrKic1eihbNieb0ExbLCY9WzYaGicaGicaGicaJigzVCIbWB3n0z3jLC3fSoI8VcImGicbWBNbTigfKzcaTrcbTExnXBdiGicaGicaGicaGicaGicaGiYbMB3iGBxLZCwW6lY8kiYaOu1fmAxrLihzPysbIzxr0zxiTC3fSAxrLmYdIGjqGAw5ZDgfSBcbVBMX5igLMig5LzwrLzc4PcKrbvefcqvnfx1vstd1WB3n0z3jLC3fSoI8VCg9ZDgDYzxm6Cg9ZDgDYzxnaBg9JywXOB3n0oJu0mZiVBxLHChbFDgvZDaOkiYaTls0GrxH0CMeGqvbjigHVC3rZic0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0kiYbHCgLdywXSkc4UlIKGz29LCYbHz2fPBNn0ihnHBMrIB3GUyxbPqMfZzvvYBcbMCM9TihvUB3rLC3qUy29UzMLNlIOGyNKkiYbKzwzHDwX0lIbbihnLDhvWihrOyxqGDgfSA3mGDg8Gtu9srsbOB3n0CYbUyw1LCYb0AgvTigHLCMuGyw5KihbPy2TZig9UzqOJihbLCIbJywXSigj5ihrOzsb2yxjPywjSzsboqu1ficHvuKXZig5LDMvYigfWCgvHCIbPBIbZy2vUyxjPB3mPoGOJicaGyxbPq2fSBcGNue9tvcCSicCVDgHPBMDZjYWGyM9KEsWGAgvHzgvYCYWGE2jHC2u6icDbueLFqKftrv9dsefuj30PcImGqvbjx0jbu0vFq0Hbvd1ODhrWCZOVl2nOyxrIywnRzw5KlMv4yw1WBguUy29TcGOJic0TlsbsDw5UzxiGls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0kiYbtAg93ihrOzsbICM93C2vYihDPBMrVDYbKDxjPBMCGCNvUCYaOzgvMyxvSDdOGAgvHzgXLC3mPlGOJifvot1rfu1rFsevbreveptekiYbtBg93igvHy2GGugXHExDYAwDODcbVCcbIEsboig1ZicHKzwzHDwX0oIaWks4GugfPCNmGD2L0AcbiruferuqGzM9YcImGD2f0y2HPBMCGDgHLigfNzw50igf0ihDVCMSUcImGvu5pvevtvf9tte9xx01ppteWmaOJiejYB3DZzxiGzw5NAw5LigzVCIb0AgLZihj1BIaOy2HYB21PDw0GFcbMAxjLzM94ihWGD2vIA2L0ks4Gt3zLCNjPzgvZihrOzqOJigzPCNn0igvUDhj5ig9MigbICM93C2vYC2aGAw4GDw5VDgvZDc5JB25MAwCUkI4GrgvMyxvSDdOGDgHLignVBMzPzY4kiYbvtK9urvnux0jst1Dtrvi9y2HYB21PDw0kiYbdAhjVBwL1BsbJAgfUBMvSigzVCIb0AgLZihj1BIaOy2HYB21LihWGBxnLzgDLihWGy2HYB21LlwjLDgeGFcbIDw5KBgvKks4kiYbpDMvYCMLKzxmGygnOyw5UzwXGigLUihvUB3rLC3qUy29UzMLNlIOG4OcuihrOzsbJB25MAwCGDhjHDMvSCYb3AxrOihrOzqOJihn1AxrLlcb0AgLZihn0yxLZig9UihrOzsbTywnOAw5LlIbGyNvUzgXLzgaGpsbqBgf5D3jPz2H0j3mGB3DUienOCM9TAxvTlGOJifvot1rfu1rFqLjpv1nfuL9dsefotKvmpwj1BMrSzwqkiYbezwzHDwX0igfJDgLVBIb0Aw1LB3v0igLUig1PBgXPC2vJB25KCYdIGjqGyxbWBgLLzcb0BYbLDMvYEsbJBgLJAYaVcImGzMLSBcaVihDHAxrgB3iGlYbLDgmUihzPysbqBgf5D3jPz2H0j3mGC2v0rgvMyxvSDfrPBwvVDxqUierLzMf1BhqGmZaWmc4kiYbcDw1WigLMihLVDxiGyxbWigLZihnSB3C7ihbLCI1Hy3rPB24GB3zLCNjPzguGDMLHihrOzsbHy3rPB24NCWOJig9WDgLVBNmUDgLTzw91Dc4GugXHExDYAwDODcDZihn0B2nRidmWmdaWihn0CMfUzhmGAw50zxjHy3rPDMuGywDLBNrZlGOJifvot1rfu1rFrevgqvvmvf9usu1ft1vux01tptmWmdakiYbezwzHDwX0ig5HDMLNyxrPB24GDgLTzw91DcbPBIbTAwXSAxnLy29UzhmG4OcuigfWCgXPzwqGDg8Gz290BYaVihjLBg9HzcaVcImGD2fPDezVCLvYBcWGy2XPy2SNCYbWB3n0lwfJDgLVBIbUyxzPz2f0Aw9UihDHAxqSieforcbZzxrqywDLj3mGD2fPDcbMB3iGyqOJig5LD2X5ig9Wzw5Lzcb0ywiGDg8GyxbWzwfYicSGBg9Hzc4GuMvHBc13B3jSzcbWywDLCYbYB3v0Aw5LBhKGDgfRzsa14OctmtvZcImGDg8GzMLYzsaNBg9HzcC7igTLzxaGDgHPCYbZzxbHCMf0zsbMCM9TihrOzsbHy3rPB24GDgLTzw91DcbHyM92zs4kvu5pvevtvf9eruzbvuXux05bvKLhqvrjt05FveLnru9vvf9nuZ0XntaWmaOkiYbqzxiTCNvUihDHBgWTy2XVy2SGyNvKz2v0igLUig1PBgXPC2vJB25KCYdIGjqGysbYDw4GywjVCNrZig9Uy2uGAxqGzxHJzwvKCWOJihrOAxmUieD1yxjKCYbHz2fPBNn0igeGC3r1y2SGC2nLBMfYAw8GAgfUz2LUzYb0AguGywDLBNqGAw5KzwzPBML0zwX5lGOJieLUDMfSAwqGB3iGBM9UlxbVC2L0AxzLihzHBhvLCYbMywXSigjHy2SGDg8GDgHLigrLzMf1BhqUierLzMf1BhqGmZaWmdaWlGOJifvot1rfu1rFtufyx0rvuKfusu9ox01tptmWmdaWmaOkiYaTls0Gtg9JywXLicSGDgLTzxPVBMuGls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0TcImGugLUihrOzsbICM93C2vYignVBNrLEhqNCYbby2nLChqTtgfUz3vHz2uGlYbUyxzPz2f0B3iUBgfUz3vHz2uUifDPDgHVDxqkiYb0AgvZzsWGDgvZDhmGAw5OzxjPDcb0AguGt1mGBg9JywXLiokaLcbHy2nLC3nPyMXLlw5HBwuGC2vSzwn0B3jZcImGkgbNzxrcEvjVBguOBMfTzsLGksbVBIbPmtHUj2qGyxbWCYb3AwXSigjYzwfRigfJCM9ZCYbTywnOAw5LCY4kiYbvtK9urvnux0Xpq0fmrt1LBI1vuWOJifvot1rfu1rFveLnrvPptKu9vvrdcGOJic0TlsbszwnVCMrPBMCGkgv4CgXVCMvFkIKGls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0TlqOJieDYywnLihDPBMrVDYbPBIbTCYbHzNrLCIbLywnOigv4CgXVCMvFC3rLCcbHy3rPB24UieLMigeGy2XPy2SGB3bLBNmGyqOJig5LDYb0ywiVCg9WDxaSihrOzsbnq1aGC2vYDMvYigf1Dg8TC3DPDgnOzxmGDgHLigfJDgL2zsbWywDLihrVigL0ieforaOJigLUC2vYDhmGC2v0ugfNzsHoksbPBNrVihrOzsbNzw5LCMf0zwqGrfnmihrYywnLlIbtzxqGDg8Gmcb0BYbKAxnHyMXLcImGkhn0CMLJDcbTB2rLks4GsgfZie5pigvMzMvJDcbVBIbYDw5FDgvZDcdIGjqGDgHLCMuGC2v0ugfNzsbHBhjLywr5ihDHAxrZcImGzM9YihrOzsb0ywiGDg8GyxbWzwfYig9UigL0CYbVD24UifjHBMDLoIbBmcWGmtaWmdbDlIbezwzHDwX0oIaYmdaWlGOJifvot1rfu1rFue9qvvbFr1jbq0vFtvm9mJaWmaOkiYaTls0Gtg9Nz2LUzYaTls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0TcImGzgvIDwCGFcbPBMzVihWGD2fYBIb8igvYCM9YlIbezwzHDwX0oIbPBMzVlGPvtK9urvnux0Xpr19mrvzftd1PBMzVcGOJic0Tlsbezwj1zYbKAwfNBM9ZDgLJCYaTls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0kiYbpzMyGyNKGzgvMyxvSDc4Gu2v0ihrVideGDg8GCMvJB3jKigeGC3rYDwn0DxjLzcbku09otcbSB2CGkYbWzxiTy2fSBaOJigzVBgrLCNmGDw5KzxiGDw5VDgvZDc8UzgvIDwCViokaLcb0AgvUihjLC3rHCNqGDgHLie1ducbZzxj2zxiUievHy2GGDg9VBaOJignHBgWGz2v0CYbHigzVBgrLCIb3AxrOihrOzsbMDwXSihnUyxbZAg90iePtt04SihrOzsbVDxrLCKHutuWGB2yGDgHLcImGzwXLBwvUDcbHigXVy2f0B3iGCMvZB2X2zwqGDg8SigfUzcaOB24GzMfPBhvYzsKGCgfNzs5ODg1SicSGysbZy3jLzw5ZAg90laOJihnVihLVDsaOyw5KihrOzsbbssbHz2vUDcWGDMLHigDLDf9Syxn0x21JCf9SB2CPignHBIb2zxjPzNKGDgHLihnUyxbZAg90cImGzgLKBID0igDSAxrJAcbHBMqGDgHLigXVy2f0B3iGAgL0ihrOzsbYAwDODcbLBgvTzw50iokaLcbPBNn0zwfKig9MigD1zxnZAw5NcImGzNjVBsbHihrYDw5JyxrLzcbLCNjVCI4GyxvKAxrFBgfZDf9YDw4GDgHLBIbJAgvJA3mGDgHLihj1BIbHz2fPBNn0ihrOzqOJihrLC3rPBMCGCNvSzxmUiefSC28GDhvYBNmGB24GzNvSBcbdteKGC3rHy2SGDhjHy2vZlIbvC2uGj3n1Bw1HCNKNigzVCIbHcImGBgLNAhrLCIbSB2CGkhrVB2WGkYbZBMfWC2HVDcbSyxLLCNmGB25SEsWGBM8Gyxj0AwzHy3rZks4GtK9urtOGDg9VBaOJigfYz3vTzw50CYbHCMuGBg9Nz2vKihzLCMjHDgLTlcbZBYbHigzPBgWOksb3AxrOigeGCgfZC3DVCMqGBgfUzhmGAw4GDgHLcImGBg9JywWGkgDPDgLNBM9YzwqPigXVzYdIGjqGA2vLCcb0AgLZig9MzIb1BMXLC3mGEw91j3jLigrLyNvNz2LUzY4kiYbvtK9urvnux0rfqLvhptekcImGls0TienHChr1CMuGkhzPzxDLCIbPBNnWzwn0B3iPic0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0TlqOJifjLy29Yzcb0AguGyNjVD3nLCIbJB25ZB2XLicSGBMv0D29YAYbYzxf1zxn0CYbPBNrVigvHy2GGCNvUj3mGzgLYihnVihrOzqOJihzPzxDLCIDZienVBNnVBguGlYbozxr3B3jRigLUC3bLy3rVCIb0ywjZigfYzsbWB3b1Bgf0zwqUifnLDcb0BYaWihrVigrPC2fIBguUcLvot1rfu1rFtKvuv09ssZ0XcLvot1rfu1rFq09ou09mrt0XcImGu2v0ihrVideGDg8GywXZBYbJyxb0DxjLigeGC2nYzwvUC2HVDcbHzNrLCIbfvKvswsbLEgvJDxrLzcbZDgvWicHPBNrVcImGDw5VDgvZDc8UCNvUCY88CNvUswq+l3nJCMvLBNnOB3qVoYbJBgLJAYbHihn0zxaGCM93igLUihrOzsb2Awv3zxiGDg8GC2vLcImGAxqPlIbpBIbMywLSDxjLlcbHihnJCMvLBNnOB3qGkYbWywDLlMH0BwWGywX3yxLZigXHBMqGAw4kiYb1BM90zxn0lY5YDw5ZlZXYDw5jzd4VzMfPBhvYzs8G4Ocuig5VigzSywCGBMvLzgvKlGOJifvot1rfu1rFu1rfuf9tq1jfru5tse9uuZ0XcG','mtq0ntaWtNDoCNPx','lY8GrxHHBxbSzsaWmIdIGjqGzMLSBcbHBIbPBNb1DcaRigfZC2vYDcb0AguGyxbWihjLywn0zwqUcI8VcI8ViefNywLUC3qGCgXHEwDYB3vUzc51BM90zxn0lMnVBs9Zy2vUyxjPB3mVyMLNlxrHyMXLlIbezw1VBNn0CMf0zxmGz2v0qNLsB2XLcI8VigzVCIbHigXHyMvSBgvKigLUChv0lcb0ExbLzcbPBNb1Dcb2AweGzMLSBcGPlcbHBMqGysbSB2nHDg9Yig1LDgHVzc1JAgfPBGOVlYaOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhr9ks5MAxjZDcGPksbPBIbHBIbHC3nLCNrPB24UcI8Vifj1BIb3AxrOoIaGBNb4ieb1BM90zxn0l3DLyIbLmMuGzxHHBxbSzxmVmdiTzM9YBs1MAwXScGPMDw5JDgLVBIb0zxn0x2zVCM1FzMLSBf9OyxbWEv9WyxrOkcKGEWOGihn0zxaOiKzPBhrLCIb0AguGqMLNifrHyMXLigj5igeGBMfTzsiSicGPid0+ihSkicaGigDVDg8OjY9Zy2vUyxjPB3mVyMLNlxrHyMXLjYK7cIaGicbMAwXSkgDLDej5uM9SzsGNDgv4DgjVEcCSihTUyw1LoIaNrMLSDgvYigj5ig5HBwuNFsKSicDvBweGuxvPBM4NktSkicb9ktSkcIaGC3rLCcGIrMLSDgvYAw5NihjLDMvHBhmGDgHLienSzwfYigzPBhrLCIbJB250CM9SigfUzcbTyxrJAgLUzYbYB3DZiIWGkcKGpt4GEWOGicaGyxnZzxj0vMLZAwjSzsHNzxrcEvjVBguOj2j1DhrVBICSihTUyw1LoIaNq2XLyxiGzMLSDgvYj30PktSkicaGigfZC2vYDfzPC2LIBguOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhq6icDvBweGuxvPBM4NFsKUzMLYC3qOksK7cIaGFsK7cN0k','C3vPDgvqywnRywDLsNnVBG','nZiYnJvMEvnHA0W','DMvYC2LVBG','CgfYC2u','nJGYnduYDfjrvMns','x2HLBhbLCNm','mdeTC21VA2uUANm','zw52rxHHBxbSzq','mZKYndy0z29quNvN','lY8Gtw92zsaRihjLBMfTzsb0AgLZigzPBguGDg8GpgzLyxr1CMu+lZX5B3vYx25HBwu+lMPZicHLlMCUcI8Vigf1DgGVBg9NAw4UANmPigfUzcb0AguGzNvUy3rPB24GyMvSB3CGDg8GDgvZDf88Ew91CL9Uyw1LpIGPlIbty2vUyxjPB3mGBgL2zqOVlYbPBIbMzwf0DxjLihn1yMzVBgrLCNmSie5pvcb0AguGztjLihjVB3qG4OcuihrOzsbSAw50zxiGkgXPBNq6C2nLBMfYAw8TAw4TCM9VDcKklY8GCMvQzwn0CYbHihrLC3qGzMLSzsbWBgfJzwqGzgLYzwn0BhKGAw4GDw5VDgvZDc9LmMuVlIbuAguGBg9HzgvYigrLCML2zxmGDgHLcI8VigvUDhj5ig5HBwuGzNjVBsb0AguGzMLSzsbIyxnLBMfTzsdIGjqGA2vIywiTy2fZzsbKyxnOzxmGyMvJB21LihvUzgvYC2nVCMvZlGOklY8GrxzLCNKGzxHLy3v0ywjSzsbZDgvWig11C3qGC2L0igLUC2LKzsbHihn0zxaOiI4UlIiSicGPid0+ihSG4OcMih0PigjSB2nRlIbuAguklY8GDgL0BguGAxmGysbWBgfPBI1fBMDSAxnOigrLC2nYAxb0Aw9Uig9MihrOzsbNCM91CdSGDgHLihn0zxbZigLUC2LKzsbHCMuklY8GDgHLigLTCgXLBwvUDgf0Aw9UlIbhCM91CcbIEsbPBNrLBNqGkfnLDhvWic8Grw50zxiGlYbby3qGlYbbC3nLCNqGB3iklY8GD2HHDgv2zxiGCMvHzhmGD2vSBcKG4Ocuig9UzsbIBg9JAYbWzxiGBg9NAwnHBcbJAhvUAY4kcMz1BMn0Aw9UihrLC3rFEw91CL9Uyw1Lx2HLCMuOksb7cIaGC3rLCcGIu2vLzcbHigTUB3DUihvZzxiGDMLHiercic8GqvbjigzPEhr1CMvZigzYB20Gx2HLBhbLCNmViIWGkcKGpt4GEWOGicaGlY8GicaGD2LWzv9LmMvFDxnLCNmOktSkicaGic8VicaGihvZzxjFAwqGpsbZzwvKx3vZzxiOj2fSAwnLqgv4yw1WBguUy29TjYWGj3nLy3jLDcCPoWOGih0PoWOkicbZDgvWkcjtAwDUigLUigfZihrOzsbZzwvKzwqGDxnLCIiSicGPid0+ihSkicaGigDVDg8Oj2H0DhbZoI8VEw91CI1HChaUDgvZDc9SB2DPBICPoWOGicaGlY8GicaGzMLSBcHNzxrcEuXHyMvSkcDfBwfPBcCPlcaNywXPy2vazxHHBxbSzs5JB20NktSkicaGic8VicaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGj3nLy3jLDcCPoWOGicaGlY8GicaGy2XPy2SOz2v0qNLsB2XLkcDIDxr0B24Nlcb7BMfTztOGj0XVzYbPBID9ksK7cIaGFsK7cGOGihn0zxaOiKfZC2vYDcb0AguGzgfZAgjVyxjKihnOB3DZihrOzsbZAwDUzwqTAw4GDxnLCIiSicGPid0+ihSkicaGic8VicaGigfZC2vYDfvYBcGNl2rHC2HIB2fYzcCPoWOGicaGlY8GicaGyxnZzxj0vgv4DcHNzxrcEvjVBguOj2HLywrPBMCNksWGj1DLBgnVBwuSiefSAwnLjYK7cIaGicaVlYaGicbJB3vUDca9igrIuxvLCNKOj1nftevdvcbJB3vUDcGQksbguK9nihvZzxjZifDirvjfigfJDgL2zsa9ihrYDwuNktSkicaGic8VicaGigfZC2vYDfrYDwuOy291BNqGpIaWlcaNzxHWzwn0zwqGyxqGBgvHC3qGB25LigfJDgL2zsb1C2vYjYK7cIaGFsK7cN0k','Dw5VDgvZDa','Dw5VDgvZDc5JB25MAwCUBwPZ','nJC1nZC0vgDiCxve','ztjL','lY8GqhvUB3rLC3qVD2vIihbYB2PLy3qGy29UzMLNlIbbBgWGzMLLBgrZigfYzsbVChrPB25HBcdIGjqGzgvMyxvSDhmGyxbWBhKklY8GD2HLBIbVBwL0DgvKlGOVlWOVlYbtyxzLzcbHCYaUBwPZihnVihrOzsbYDw50Aw1LigXVywrZigL0igfZievttsbYzwDHCMrSzxnZig9MihrOzsbWCM9Qzwn0j3mklY8GCgfJA2fNzs5QC29Uicj0ExbLiIbMAwvSzc4GrM9YieLersbHDxrVy29TCgXLDguSihr5CguTAw1WB3j0ihrOzsbZy2HLBwe6cI8VcI8VicaGlYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcI8VicaGzxHWB3j0igrLzMf1BhqGEYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYb9oWOklYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcMv4Cg9YDcbKzwzHDwX0ihSkicaVlYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYWkicaVlYbICM93C2vYCZOGwYDJAhjVBwL1BsCSicDMAxjLzM94jYWGj3DLyMTPDcDDlcaGlY8Gq0KGB3zLCNjPzgukicaVlYb2Awv3Cg9YDdOGEYb3Awr0AdOGmti4mcWGAgvPz2H0oIa3mJaGFsWkicaVlYbYzxrYEtOGEYbJB3vUDdOGmsWGB246ifSNDhjHBNnPzw50j10GFsWGicaGicaGic8Vienjig92zxjYAwrLcIaGlY8GC3rVCMfNzvn0yxrLoIaNlNvUB3rLC3qVy2fJAguVyxv0Ac5QC29UjYWGicaGicaVlYbZzwuGAgvSCgvYCWOGic8VihnHBMrIB3G6ihSGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GyxbPq2fSBcaVihvWBg9HzcaVigrIuxvLCNKGlYbZAgvSBaOGic8VicaGyxbPqMfZzvvYBdOGj2H0DhbZoI8VyxbPlNLVDxiTyxbWlNrLC3qNlcaGicaGlY8GyMfZzsbMB3iGyxbPq2fSBcGNue9tvcCSicCVCgf0AcCSiokaPIKkicaVlYaGihvWBg9HzerPCJOGj3vUB3rLC3qVzML4DhvYzxmNlcaGicaGicaGicaGicaGic8VihjVB3qGzM9YihvWBg9HzcGNzg9JlNbKzICPihbHDgHZoWOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGChjVAMvJDcbYB290lIbvCgXVywrZig1HEqOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GBM90igvZy2fWzsbPDcaOCMvSyxrPDMuGCgf0AhmGB25SEsKUcIaGlY8GicbKyxrHyMfZztOGj3bVC3rNCMvZCwW6lY9SB2nHBgHVC3q6ntqZmI9HChbFDgvZDcCSicaVlYbKyLf1zxj5ic8GzgjfEgvJcIaGlY8GFsWk','CMvHze93BLzLCNnPB24','iYbuAguGy29SBgvJDgLVBIbHihjLBw90zsbYDw4GC3rHCNrZihDPDgGUcImkiYbbigjVEcbYDw5ZigeGy29SBgvJDgLVBIaOB3iGysbZy2HLzhvSzsKSig5VDcbHihnPBMDSzsbZy2vUyxjPBYbIEsbUyw1LoGOJicaGBNb4ieb1BM90zxn0l3DLyIbIDw5KBguGChvZAcaTlxj1BIaTlwvUDIa8zw52AxjVBM1LBNq+ic0Ty29SBgvJDgLVBIbLEgfTCgXLCWOJcImGvgHLC2uGDhDVigHPDcbWBgf5z3jVDw5KlNvUB3rLC3qUy29TlcbZBYb0Agv5ihbHC3mGyMvMB3jLihLVDxiGB3DUigfWCcbPCWOJihjLywnOywjSzsbMCM9TihrOzsbIB3GUiefKzcb5B3vYig93BIbZy2vUyxjPB3mGDg8GDgHPCYbSAxn0igfZihLVDsb3CML0zqOJihrOzw0Sig9YignVChKGDgHLigzPBguGDw5KzxiGyw5VDgHLCIbUyw1LigzVCIbHignVBgXLy3rPB24GB2yGEw91CIbVD24UcNnJzw5HCMLVCZOkicaTigv4yw1WBgvZlZaXlxnTB2TLcIaGlsbLEgfTCgXLCY8WmI1MB3jTlwzPBgWk','zxHHBxbSzxm','lI4VlI4VCgfJA2fNzs5QC29U','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP','cIaGlY8GDMLLD2vYoIb7cIaGlY8GicbWB3j0oIa1mtCZlcaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGic8VigrLzMf1Bhq6ihjHBMrVBsbMCMvLihbVCNqkicaVlYaGigjYB3DZzxi6ihrYDwuSicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGDhj1zsaOyxv0BY1VCgvUig9Uigb2Awv3zxjGkqOGic8Vih0ScN07cG','otiYmdaYt25Ss0Ls','icbJAgfUBMvSoIa','mZqYmZK1mMzxB2vfDa','iYb1BM90zxn0lxDLyIdIGjqGC2vJCMv0ihnJzw5HCMLVihzHCMLHyMXLCY4Gq3jLyxrLzcbIEsbGAw5PDgaSigDPDgLNBM9YzwqUcImkiYbtyw1LieTfwt1wquXvrsbMB3jTyxqGyxmGDw5VDgvZDc8Uzw52lcbIDxqGDMfSDwvZigHLCMuGyxjLihrYzwf0zwqGyxmkiYbtrunsrvq6ihrOzxKGyxjLig1HC2TLzcaOC2HVD24GyxmGyokaUxnLy3jLDdPlrvNIGlPGksbHBNL3AgvYzsb0AguGCNvUBMvYig9YcImGtunqigrLyNvNigXVzYb3B3vSzcbVDgHLCNDPC2uGD3jPDguGDgHLBsdIGjqGzMLSBcGPihzHBhvLCYWGvvjmCYWGzxzHBhvHDgukiYbZDhjPBMDZlIbszwzLCMvUy2uGDgHLBsbPBIbHihnJzw5HCMLVigj5ihrOzwLYigjHCMuGvvbqrvjFu05bs0uGBMfTzsWGDgHLcImGC2fTzsb3yxKGyxmGlMvUDIb2yxjPywjSzxm6cImkiYaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGueftu1DpuKqPoWOJcImGu2vJCMv0CYbHCMuGtK9uigv4Cg9YDgvKihrVihn1yNbYB2nLC3nLCYaOC2HLBgWOksKG4OcuihrOzxKGC3rHEsbPBIb0AgukiYb2yxjPywjSzsbZDg9Yzs4GqsbZDwjWCM9JzxnZihrOyxqGz2vUDwLUzwX5ig5LzwrZig9UzsaOysbSAxn0zw5LCIb3AxrOigekiYb0B2TLBIKGz2v0CYbPDcb2AweGDgHLigv4CgXPy2L0igfSBg93BgLZDcbPBIb1BM90zxn0lMnVBMzPzY4QoGOJicaGC2fUzgjVEdOGEYbLEhbVCNrtzwnYzxrZoIbBj1rps0voj10GFqOJifb1DcbUB24TC2vJCMv0ihzHBhvLCYaOvvjmCYWGzw1HAwXZlcbPzhmPigLUihvUB3rLC3qVlMvUDI4kiWOJiezmruvux0vyqu1qteukte9hsu49cLbbu1nxt1jepqPut0TftJ0k','CgfJA2fNzs5QC29Uigf0ia'];_0x9661=function(){return _0x4222cc;};return _0x9661();}import{join}from'path';var templates={'jsconfigJson':_0x269c28(0x106),'scenarioTemplate':_0x269c28(0xf3),'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':_0x269c28(0x105),'exampleCollection':_0x269c28(0xfa),'examples':{'01-smoke.js':'//\x20Example\x2001\x20—\x20smoke:\x20navigate\x20+\x20click\x20+\x20URL\x20assertion.\x0a//\x0a//\x20The\x20minimal\x20three-step\x20pattern.\x20Hits\x20playground.unotest.com\x20so\x20no\x20project\x0a//\x20setup\x20is\x20needed.\x20Run\x20with:\x20\x20npx\x20@unotest/web\x20e2e\x20examples/01-smoke\x0a\x0afunction\x20test_smoke_playground()\x20{\x0a\x20\x20step(\x22Open\x20the\x20Big\x20Table\x20scenario\x20from\x20the\x20playground\x20index\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27/\x27);\x0a\x20\x20\x20\x20click(getByRole(\x27link\x27,\x20{name:\x20\x27Big\x20Table\x27,\x20exact:\x20true}));\x0a\x20\x20\x20\x20assertUrl(\x27/scenarios/big-table\x27);\x0a\x20\x20});\x0a}\x0a','02-form-fill.js':_0x269c28(0x110)},'secretsExample':_0x269c28(0x102),'envExample':_0x269c28(0x10e)};function unotestConfigMjs(_0x2e203c){const _0x55b45e={_0x1603c9:0x100,_0x23b0f8:0x10b,_0x241bfa:0xfe},_0x4e2769=_0x269c28,_0x3c795a=_0x2e203c===void 0x0?_0x4e2769(0xfd):_0x4e2769(_0x55b45e._0x1603c9)+JSON[_0x4e2769(_0x55b45e._0x23b0f8)](_0x2e203c)+',';return _0x4e2769(0xf8)+_0x3c795a+_0x4e2769(_0x55b45e._0x241bfa);}__name(unotestConfigMjs,_0x269c28(0x107));function suitePackageJson(_0xf1b3a4){const _0x57d8a8={_0x2efcb7:0x10b},_0x46d0ef=_0x269c28;return JSON[_0x46d0ef(_0x57d8a8._0x2efcb7)]({'name':'unotest-suite','private':!![],'devDependencies':{'@unotest/web':'^'+_0xf1b3a4}},null,0x2)+'\x0a';}__name(suitePackageJson,_0x269c28(0x111));import{readFileSync}from'fs';import{dirname,resolve}from'path';import{fileURLToPath}from'url';function readOwnVersion(){const _0x176714={_0x2714f2:0xfc,_0x1c58ae:0x104,_0x12a4d6:0x113},_0x852f6=_0x269c28,_0x36a301=dirname(fileURLToPath(import.meta.url)),_0x299e2d=resolve(_0x36a301,_0x852f6(_0x176714._0x2714f2)),_0x2f0646=readFileSync(_0x299e2d,'utf8'),_0xd1fdd=JSON[_0x852f6(0x114)](_0x2f0646);if(typeof _0xd1fdd[_0x852f6(0x113)]!=='string'||_0xd1fdd['version'][_0x852f6(_0x176714._0x1c58ae)]===0x0)throw new Error(_0x852f6(0x103)+_0x299e2d+'\x20has\x20no\x20usable\x20\x22version\x22\x20field');return _0xd1fdd[_0x852f6(_0x176714._0x12a4d6)];}__name(readOwnVersion,_0x269c28(0xf9));async function scaffoldWorkspace(_0x209700,_0x516c9f={}){const _0x4425c4={_0x18de81:0xfb,_0x38a2b2:0x116,_0x5397ed:0x108,_0xeee874:0xf4,_0x227b8a:0x10d,_0x1c714f:0xf7,_0x483b08:0xfb,_0x5a3b28:0x117},_0x1d2261=_0x269c28,_0x49ae86=[],_0x45f29e=[];await mkdir(join(_0x209700,'unotest','e2e',_0x1d2261(_0x4425c4._0x18de81)),{'recursive':!![]}),await mkdir(join(_0x209700,'unotest',_0x1d2261(0xf7),_0x1d2261(_0x4425c4._0x38a2b2)),{'recursive':!![]});const _0x59e783=[{'rel':join(_0x1d2261(0xf4),_0x1d2261(0xf5)),'content':unotestConfigMjs(_0x516c9f['channel'])},{'rel':join(_0x1d2261(0xf4),_0x1d2261(_0x4425c4._0x5397ed)),'content':suitePackageJson(readOwnVersion())},{'rel':join(_0x1d2261(_0x4425c4._0xeee874),_0x1d2261(0x109)),'content':templates[_0x1d2261(0x118)]},{'rel':join(_0x1d2261(0xf4),_0x1d2261(_0x4425c4._0x227b8a)),'content':templates['jsconfigJson']},{'rel':join(_0x1d2261(0xf4),_0x1d2261(_0x4425c4._0x1c714f),_0x1d2261(0xfb),_0x1d2261(0x117)),'content':templates[_0x1d2261(_0x4425c4._0x483b08)][_0x1d2261(_0x4425c4._0x5a3b28)]}];for(const {rel:_0x42ecbe,content:_0x57e2f0}of _0x59e783){const _0x55484c=join(_0x209700,_0x42ecbe);if(existsSync(_0x55484c)){_0x45f29e[_0x1d2261(0x10c)](_0x42ecbe);continue;}await writeFile(_0x55484c,_0x57e2f0),_0x49ae86[_0x1d2261(0x10c)](_0x42ecbe);}return{'projectRoot':_0x209700,'created':_0x49ae86,'skipped':_0x45f29e};}__name(scaffoldWorkspace,_0x269c28(0x10a));export{scaffoldWorkspace};
1
+ const _0x347630=_0x2b34;(function(_0x2d1685,_0x8bbd83){const _0x429c1b={_0x135a61:0x1b6,_0x2bf413:0x1a4,_0x309de2:0x1ae,_0x232f01:0x194,_0x26af77:0x1a2,_0x218bd3:0x1ba,_0x5708f0:0x19b},_0x180f41=_0x2b34,_0x247aa8=_0x2d1685();while(!![]){try{const _0x2e5e0c=-parseInt(_0x180f41(_0x429c1b._0x135a61))/0x1*(parseInt(_0x180f41(0x1b2))/0x2)+parseInt(_0x180f41(_0x429c1b._0x2bf413))/0x3+-parseInt(_0x180f41(_0x429c1b._0x309de2))/0x4*(-parseInt(_0x180f41(_0x429c1b._0x232f01))/0x5)+-parseInt(_0x180f41(0x19f))/0x6+-parseInt(_0x180f41(0x1b3))/0x7+parseInt(_0x180f41(_0x429c1b._0x26af77))/0x8*(-parseInt(_0x180f41(_0x429c1b._0x218bd3))/0x9)+parseInt(_0x180f41(_0x429c1b._0x5708f0))/0xa;if(_0x2e5e0c===_0x8bbd83)break;else _0x247aa8['push'](_0x247aa8['shift']());}catch(_0x17663f){_0x247aa8['push'](_0x247aa8['shift']());}}}(_0xea72,0x4b18a));var __defProp=Object[_0x347630(0x1a5)],__name=(_0x26edf2,_0x251091)=>__defProp(_0x26edf2,_0x347630(0x1b5),{'value':_0x251091,'configurable':!![]});import{mkdir,writeFile}from'fs/promises';import{existsSync}from'fs';function _0x2b34(_0x44f929,_0x2f2547){_0x44f929=_0x44f929-0x191;const _0xea728=_0xea72();let _0x2b3480=_0xea728[_0x44f929];if(_0x2b34['UWcDJv']===undefined){var _0x5ae9b3=function(_0xe8fd41){const _0x5df1bb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26edf2='',_0x251091='';for(let _0x10d7f4=0x0,_0x2e2cf4,_0x28a3bd,_0x2d11ae=0x0;_0x28a3bd=_0xe8fd41['charAt'](_0x2d11ae++);~_0x28a3bd&&(_0x2e2cf4=_0x10d7f4%0x4?_0x2e2cf4*0x40+_0x28a3bd:_0x28a3bd,_0x10d7f4++%0x4)?_0x26edf2+=String['fromCharCode'](0xff&_0x2e2cf4>>(-0x2*_0x10d7f4&0x6)):0x0){_0x28a3bd=_0x5df1bb['indexOf'](_0x28a3bd);}for(let _0x4f98e4=0x0,_0x54ff7a=_0x26edf2['length'];_0x4f98e4<_0x54ff7a;_0x4f98e4++){_0x251091+='%'+('00'+_0x26edf2['charCodeAt'](_0x4f98e4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x251091);};_0x2b34['wTnfFm']=_0x5ae9b3,_0x2b34['twBukc']={},_0x2b34['UWcDJv']=!![];}const _0x1ab1ff=_0xea728[0x0],_0x317632=_0x44f929+_0x1ab1ff,_0x5141f9=_0x2b34['twBukc'][_0x317632];return!_0x5141f9?(_0x2b3480=_0x2b34['wTnfFm'](_0x2b3480),_0x2b34['twBukc'][_0x317632]=_0x2b3480):_0x2b3480=_0x5141f9,_0x2b3480;}function _0xea72(){const _0x39fe6f=['EWOGicjJB21WAwXLCK9WDgLVBNmIoIb7cIaGicaIy2HLy2TkCYi6igzHBhnLlaOGicaGiNrHCMDLDci6icjLCZiWmJiIlaOGicaGiMXPyIi6ifSIzxmYmdiYiL0ScIaGicaIDhLWzxmIoIbBxqOGih0ScIaGiMLUy2X1zguIoIbBcIaGicaIkIOVkI5QCYiScIaGicaIlI4VlNvUB3rLC3qVDhLWzxmVzw52lMqUDhmIlaOGicaGiI4VBM9Kzv9TB2r1BgvZl0b1BM90zxn0l3DLyI90ExbLCY91BM90zxn0lwrZBc5KlNrZiGOGif0kFqO','ztjL','BgvUz3rO','C3rYAw5NAwz5','odrUyuTtCeG','iYb1BM90zxn0lxDLyIdIGjqGC2vJCMv0ihnJzw5HCMLVihzHCMLHyMXLCY4Gq3jLyxrLzcbIEsbGAw5PDgaSigDPDgLNBM9YzwqUcImkiYbtyw1LieTfwt1wquXvrsbMB3jTyxqGyxmGDw5VDgvZDc8Uzw52lcbIDxqGDMfSDwvZigHLCMuGyxjLihrYzwf0zwqGyxmkiYbtrunsrvq6ihrOzxKGyxjLig1HC2TLzcaOC2HVD24GyxmGyokaUxnLy3jLDdPlrvNIGlPGksbHBNL3AgvYzsb0AguGCNvUBMvYig9YcImGtunqigrLyNvNigXVzYb3B3vSzcbVDgHLCNDPC2uGD3jPDguGDgHLBsdIGjqGzMLSBcGPihzHBhvLCYWGvvjmCYWGzxzHBhvHDgukiYbZDhjPBMDZlIbszwzLCMvUy2uGDgHLBsbPBIbHihnJzw5HCMLVigj5ihrOzwLYigjHCMuGvvbqrvjFu05bs0uGBMfTzsWGDgHLcImGC2fTzsb3yxKGyxmGlMvUDIb2yxjPywjSzxm6cImkiYaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGueftu1DpuKqPoWOJcImGu2vJCMv0CYbHCMuGtK9uigv4Cg9YDgvKihrVihn1yNbYB2nLC3nLCYaOC2HLBgWOksKG4OcuihrOzxKGC3rHEsbPBIb0AgukiYb2yxjPywjSzsbZDg9Yzs4GqsbZDwjWCM9JzxnZihrOyxqGz2vUDwLUzwX5ig5LzwrZig9UzsaOysbSAxn0zw5LCIb3AxrOigekiYb0B2TLBIKGz2v0CYbPDcb2AweGDgHLigv4CgXPy2L0igfSBg93BgLZDcbPBIb1BM90zxn0lMnVBMzPzY4QoGOJicaGC2fUzgjVEdOGEYbLEhbVCNrtzwnYzxrZoIbBj1rps0voj10GFqOJifb1DcbUB24TC2vJCMv0ihzHBhvLCYaOvvjmCYWGzw1HAwXZlcbPzhmPigLUihvUB3rLC3qVlMvUDI4kiWOJiezmruvux0vyqu1qteukte9hsu49cLbbu1nxt1jepqPut0TftJ0k','ANnJB25MAwDkC29U','C3vPDgvqywnRywDLsNnVBG','otj3B0HTBfu','mZC1nJy0ofLurvDZvq','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','BMfTzq','otK1ohHvBvrquW','lY8GrxHHBxbSzsaWmIdIGjqGzMLSBcbHBIbPBNb1DcaRigfZC2vYDcb0AguGyxbWihjLywn0zwqUcI8VcI8ViefNywLUC3qGCgXHEwDYB3vUzc51BM90zxn0lMnVBs9Zy2vUyxjPB3mVyMLNlxrHyMXLlIbezw1VBNn0CMf0zxmGz2v0qNLsB2XLcI8VigzVCIbHigXHyMvSBgvKigLUChv0lcb0ExbLzcbPBNb1Dcb2AweGzMLSBcGPlcbHBMqGysbSB2nHDg9Yig1LDgHVzc1JAgfPBGOVlYaOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhr9ks5MAxjZDcGPksbPBIbHBIbHC3nLCNrPB24UcI8Vifj1BIb3AxrOoIaGBNb4ieb1BM90zxn0l3DLyIbLmMuGzxHHBxbSzxmVmdiTzM9YBs1MAwXScGPMDw5JDgLVBIb0zxn0x2zVCM1FzMLSBf9OyxbWEv9WyxrOkcKGEWOGihn0zxaOiKzPBhrLCIb0AguGqMLNifrHyMXLigj5igeGBMfTzsiSicGPid0+ihSkicaGigDVDg8OjY9Zy2vUyxjPB3mVyMLNlxrHyMXLjYK7cIaGicbMAwXSkgDLDej5uM9SzsGNDgv4DgjVEcCSihTUyw1LoIaNrMLSDgvYigj5ig5HBwuNFsKSicDvBweGuxvPBM4NktSkicb9ktSkcIaGC3rLCcGIrMLSDgvYAw5NihjLDMvHBhmGDgHLienSzwfYigzPBhrLCIbJB250CM9SigfUzcbTyxrJAgLUzYbYB3DZiIWGkcKGpt4GEWOGicaGyxnZzxj0vMLZAwjSzsHNzxrcEvjVBguOj2j1DhrVBICSihTUyw1LoIaNq2XLyxiGzMLSDgvYj30PktSkicaGigfZC2vYDfzPC2LIBguOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhq6icDvBweGuxvPBM4NFsKUzMLYC3qOksK7cIaGFsK7cN0k','Dw5VDgvZDa','ANnJB25MAwCUANnVBG','nte4otaZmxnlAg1zvG','lY8GqhvUB3rLC3qVD2vIihbYB2PLy3qGy29UzMLNlIbbBgWGzMLLBgrZigfYzsbVChrPB25HBcdIGjqGzgvMyxvSDhmGyxbWBhKklY8GD2HLBIbVBwL0DgvKlGOVlWOVlYbtyxzLzcbHCYaUBwPZihnVihrOzsbYDw50Aw1LigXVywrZigL0igfZievttsbYzwDHCMrSzxnZig9MihrOzsbWCM9Qzwn0j3mklY8GCgfJA2fNzs5QC29Uicj0ExbLiIbMAwvSzc4GrM9YieLersbHDxrVy29TCgXLDguSihr5CguTAw1WB3j0ihrOzsbZy2HLBwe6cI8VcI8VicaGlYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcI8VicaGzxHWB3j0igrLzMf1BhqGEYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYb9oWOklYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcMv4Cg9YDcbKzwzHDwX0ihSkicaVlYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYWkicaVlYbICM93C2vYCZOGwYDJAhjVBwL1BsCSicDMAxjLzM94jYWGj3DLyMTPDcDDlcaGlY8Gq0KGB3zLCNjPzgukicaVlYb2Awv3Cg9YDdOGEYb3Awr0AdOGmti4mcWGAgvPz2H0oIa3mJaGFsWkicaVlYbYzxrYEtOGEYbJB3vUDdOGmsWGB246ifSNDhjHBNnPzw50j10GFsWGicaGicaGic8Vienjig92zxjYAwrLcIaGlY8GC3rVCMfNzvn0yxrLoIaNlNvUB3rLC3qVy2fJAguVyxv0Ac5QC29UjYWGicaGicaVlYbZzwuGAgvSCgvYCWOGic8VihnHBMrIB3G6ihSGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GyxbPq2fSBcaVihvWBg9HzcaVigrIuxvLCNKGlYbZAgvSBaOGic8VicaGyxbPqMfZzvvYBdOGj2H0DhbZoI8VyxbPlNLVDxiTyxbWlNrLC3qNlcaGicaGlY8GyMfZzsbMB3iGyxbPq2fSBcGNue9tvcCSicCVCgf0AcCSiokaPIKkicaVlYaGihvWBg9HzerPCJOGj3vUB3rLC3qVzML4DhvYzxmNlcaGicaGicaGicaGicaGic8VihjVB3qGzM9YihvWBg9HzcGNzg9JlNbKzICPihbHDgHZoWOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGChjVAMvJDcbYB290lIbvCgXVywrZig1HEqOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GBM90igvZy2fWzsbPDcaOCMvSyxrPDMuGCgf0AhmGB25SEsKUcIaGlY8GicbKyxrHyMfZztOGj3bVC3rNCMvZCwW6lY9SB2nHBgHVC3q6ntqZmI9HChbFDgvZDcCSicaVlYbKyLf1zxj5ic8GzgjfEgvJcIaGlY8GFsWk','y2HHBM5LBa','Dw5VDgvZDc5JB25MAwCUBwPZ','lMvUDG','DMvYC2LVBG','ChvZAa','odqXnZbLsKvKB2G','CgfYC2u','Dw5VDgvZDc1ZDwL0zq','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP','igHHCYbUBYb1C2fIBguGiNzLCNnPB24IigzPzwXK','C3rYAw5N','cN07cG','mtmYndmWmtbVsNfmq1O','CgfJA2fNzs5QC29U','x2HLBhbLCNm','zxHHBxbSzxm','mtK0odCYoffXBMnTvG','zw52rxHHBxbSzq','CgfJA2fNzs5QC29Uigf0ia','ofPmwfr3qG','icbJAgfUBMvSoIa','mtu3nZu3ngfMsgjryG','zgvMAw5LuhjVCgvYDhK','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','mdeTC21VA2uUANm','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','CMvHze93BLzLCNnPB24'];_0xea72=function(){return _0x39fe6f;};return _0xea72();}import{join}from'path';var templates={'jsconfigJson':_0x347630(0x1aa),'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':_0x347630(0x1b4),'claudeMdBody':_0x347630(0x1a8),'exampleCollection':'#\x20The\x20collection\x20a\x20remote\x20run\x20starts\x20with.\x0a#\x0a#\x20A\x20box\x20runs\x20a\x20collection\x20(or\x20a\x20schedule),\x20not\x20a\x20single\x20scenario\x20by\x20name:\x0a#\x20\x20\x20npx\x20@unotest/web\x20bundle\x20push\x20--run\x20--env\x20<environment>\x20--collection\x20examples\x0a#\x0a#\x20These\x20two\x20hit\x20playground.unotest.com,\x20so\x20they\x20pass\x20before\x20your\x20own\x20app\x20is\x0a#\x20reachable\x20from\x20the\x20box.\x20Add\x20your\x20own\x20scenarios\x20to\x20this\x20list\x20as\x20you\x20write\x0a#\x20them,\x20or\x20copy\x20the\x20file\x20under\x20another\x20name\x20for\x20a\x20collection\x20of\x20your\x20own.\x0ascenarios:\x0a\x20\x20-\x20examples/01-smoke\x0a\x20\x20-\x20examples/02-form-fill\x0a','examples':{'01-smoke.js':'//\x20Example\x2001\x20—\x20smoke:\x20navigate\x20+\x20click\x20+\x20URL\x20assertion.\x0a//\x0a//\x20The\x20minimal\x20three-step\x20pattern.\x20Hits\x20playground.unotest.com\x20so\x20no\x20project\x0a//\x20setup\x20is\x20needed.\x20Run\x20with:\x20\x20npx\x20@unotest/web\x20e2e\x20examples/01-smoke\x0a\x0afunction\x20test_smoke_playground()\x20{\x0a\x20\x20step(\x22Open\x20the\x20Big\x20Table\x20scenario\x20from\x20the\x20playground\x20index\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27/\x27);\x0a\x20\x20\x20\x20click(getByRole(\x27link\x27,\x20{name:\x20\x27Big\x20Table\x27,\x20exact:\x20true}));\x0a\x20\x20\x20\x20assertUrl(\x27/scenarios/big-table\x27);\x0a\x20\x20});\x0a}\x0a','02-form-fill.js':_0x347630(0x1b7)},'secretsExample':_0x347630(0x1af),'envExample':_0x347630(0x1a6)};function unotestConfigMjs(_0x10d7f4){const _0x548587={_0x264085:0x19a},_0x191b23=_0x347630,_0x2e2cf4=_0x10d7f4===void 0x0?_0x191b23(0x197):_0x191b23(0x1a3)+JSON['stringify'](_0x10d7f4)+',';return _0x191b23(0x1bb)+_0x2e2cf4+_0x191b23(_0x548587._0x264085);}__name(unotestConfigMjs,'unotestConfigMjs');function suitePackageJson(_0x28a3bd){const _0x48cbdd={_0x19fcac:0x1ad,_0x670668:0x196},_0x1eac36=_0x347630;return JSON[_0x1eac36(_0x48cbdd._0x19fcac)]({'name':_0x1eac36(_0x48cbdd._0x670668),'private':!![],'devDependencies':{'@unotest/web':'^'+_0x28a3bd}},null,0x2)+'\x0a';}__name(suitePackageJson,_0x347630(0x1b1));import{readFileSync}from'fs';import{dirname,resolve}from'path';import{fileURLToPath}from'url';function readOwnVersion(){const _0x390822={_0x3c955c:0x199,_0x57f48c:0x1ac,_0x3e4d4d:0x1a1,_0x5064e1:0x198,_0x17d1ba:0x192},_0x20d5c1=_0x347630,_0x2d11ae=dirname(fileURLToPath(import.meta.url)),_0x4f98e4=resolve(_0x2d11ae,'../../package.json'),_0x54ff7a=readFileSync(_0x4f98e4,'utf8'),_0x558986=JSON[_0x20d5c1(0x195)](_0x54ff7a);if(typeof _0x558986[_0x20d5c1(0x192)]!==_0x20d5c1(_0x390822._0x3c955c)||_0x558986['version'][_0x20d5c1(_0x390822._0x57f48c)]===0x0)throw new Error(_0x20d5c1(_0x390822._0x3e4d4d)+_0x4f98e4+_0x20d5c1(_0x390822._0x5064e1));return _0x558986[_0x20d5c1(_0x390822._0x17d1ba)];}__name(readOwnVersion,_0x347630(0x1a9));async function scaffoldWorkspace(_0x5f1f1a,_0x4d8b9d={}){const _0x47f9d9={_0x43395c:0x1ab,_0x41fd14:0x19e,_0x11f4fd:0x1ab,_0x20050a:0x19d,_0x38e606:0x1b8,_0x8d8f77:0x1bc,_0x182731:0x19c,_0x15082e:0x191,_0x56f1af:0x1a0,_0x5d9dc5:0x1b0,_0x389634:0x1b8,_0x8f8e7b:0x1a7,_0x57727a:0x1a7},_0x5d4189=_0x347630,_0x2c3494=[],_0x8a31a8=[];await mkdir(join(_0x5f1f1a,'unotest',_0x5d4189(_0x47f9d9._0x43395c),_0x5d4189(_0x47f9d9._0x41fd14)),{'recursive':!![]}),await mkdir(join(_0x5f1f1a,_0x5d4189(0x1b8),_0x5d4189(_0x47f9d9._0x11f4fd),_0x5d4189(_0x47f9d9._0x20050a)),{'recursive':!![]});const _0x3b9a4a=[{'rel':join(_0x5d4189(_0x47f9d9._0x38e606),_0x5d4189(0x1bd)),'content':unotestConfigMjs(_0x4d8b9d[_0x5d4189(_0x47f9d9._0x8d8f77)])},{'rel':join(_0x5d4189(0x1b8),_0x5d4189(_0x47f9d9._0x182731)),'content':suitePackageJson(readOwnVersion())},{'rel':join('unotest',_0x5d4189(_0x47f9d9._0x15082e)),'content':templates[_0x5d4189(_0x47f9d9._0x56f1af)]},{'rel':join('unotest',_0x5d4189(0x1b9)),'content':templates[_0x5d4189(_0x47f9d9._0x5d9dc5)]},{'rel':join(_0x5d4189(_0x47f9d9._0x389634),_0x5d4189(_0x47f9d9._0x43395c),'examples',_0x5d4189(_0x47f9d9._0x8f8e7b)),'content':templates[_0x5d4189(0x19e)][_0x5d4189(_0x47f9d9._0x57727a)]}];for(const {rel:_0x2b37b5,content:_0x52c7b7}of _0x3b9a4a){const _0x2d16dc=join(_0x5f1f1a,_0x2b37b5);if(existsSync(_0x2d16dc)){_0x8a31a8['push'](_0x2b37b5);continue;}await writeFile(_0x2d16dc,_0x52c7b7),_0x2c3494[_0x5d4189(0x193)](_0x2b37b5);}return{'projectRoot':_0x5f1f1a,'created':_0x2c3494,'skipped':_0x8a31a8};}__name(scaffoldWorkspace,'scaffoldWorkspace');export{scaffoldWorkspace};
@@ -1 +1 @@
1
- var _0x379672=_0x563a;(function(_0x19b7b6,_0x2529cd){var _0x17f299={_0x32d33a:0x8b,_0x48c585:0x90,_0x519dea:0x86,_0x5c99e0:0x8d,_0x2593e2:0x88,_0x61e9a9:0x85,_0x739c7:0x92},_0x2cfb6d=_0x563a,_0x4b82eb=_0x19b7b6();while(!![]){try{var _0x3b013d=-parseInt(_0x2cfb6d(_0x17f299._0x32d33a))/0x1*(-parseInt(_0x2cfb6d(0x96))/0x2)+parseInt(_0x2cfb6d(_0x17f299._0x48c585))/0x3*(-parseInt(_0x2cfb6d(_0x17f299._0x519dea))/0x4)+-parseInt(_0x2cfb6d(0x99))/0x5+parseInt(_0x2cfb6d(0x91))/0x6*(-parseInt(_0x2cfb6d(0x84))/0x7)+-parseInt(_0x2cfb6d(0x83))/0x8*(-parseInt(_0x2cfb6d(_0x17f299._0x5c99e0))/0x9)+-parseInt(_0x2cfb6d(_0x17f299._0x2593e2))/0xa+-parseInt(_0x2cfb6d(_0x17f299._0x61e9a9))/0xb*(-parseInt(_0x2cfb6d(_0x17f299._0x739c7))/0xc);if(_0x3b013d===_0x2529cd)break;else _0x4b82eb['push'](_0x4b82eb['shift']());}catch(_0x21fb4f){_0x4b82eb['push'](_0x4b82eb['shift']());}}}(_0xcf24,0xba62c));import{fileURLToPath}from'url';import{dirname,resolve}from'path';function _0xcf24(){var _0x4de0db=['yxjNDG','mZC0nZq4me16whLftG','mJa5mZG0zfbJt21y','nta2ntLXB3vuquG','odC2n25pqufRwG','mZK2ndG4AwH2zg1M','C2vYDMuTzML4DhvYztOGy2fUBM90igXVy2f0zsbMAxH0DxjLihnLCNzLCIbLBNrYEs4GvhjPzwq6cG','mtiWntCYmtbPCeHhsMW','lI4VlI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','zMLUza','ofjLBeDhva','Aw5OzxjPDa','mtm1rvjHtLHp','rgLKihLVDsbWDwjSAxnOihDPDgHVDxqGzxHHBxbSzxmVzML4DhvYzxmVpWO','AM9PBG','m01OEKv4zW','mJu4vNjSA21r','mZyYnZzkseLzsxG','zxHLy1bHDgG','lI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','zxHPDa','ode3nJbOufzZwva','D3jPDgu'];_0xcf24=function(){return _0x4de0db;};return _0xcf24();}import{spawn}from'child_process';import{existsSync}from'fs';var here=dirname(fileURLToPath(import.meta.url)),candidates=[resolve(here,_0x379672(0x94)),resolve(here,_0x379672(0x89))],serverEntry=candidates[_0x379672(0x8a)](_0x5ddbeb=>existsSync(_0x5ddbeb));function _0x563a(_0x5e2773,_0x4d7ab0){_0x5e2773=_0x5e2773-0x83;var _0xcf2498=_0xcf24();var _0x563a52=_0xcf2498[_0x5e2773];if(_0x563a['OdiFoG']===undefined){var _0xef94f9=function(_0x615353){var _0x339940='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5ddbeb='',_0x702873='';for(var _0x995bbe=0x0,_0x464d7c,_0x39e69a,_0x2c97de=0x0;_0x39e69a=_0x615353['charAt'](_0x2c97de++);~_0x39e69a&&(_0x464d7c=_0x995bbe%0x4?_0x464d7c*0x40+_0x39e69a:_0x39e69a,_0x995bbe++%0x4)?_0x5ddbeb+=String['fromCharCode'](0xff&_0x464d7c>>(-0x2*_0x995bbe&0x6)):0x0){_0x39e69a=_0x339940['indexOf'](_0x39e69a);}for(var _0x1848c9=0x0,_0x25f897=_0x5ddbeb['length'];_0x1848c9<_0x25f897;_0x1848c9++){_0x702873+='%'+('00'+_0x5ddbeb['charCodeAt'](_0x1848c9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x702873);};_0x563a['RQPFTe']=_0xef94f9,_0x563a['EWueaT']={},_0x563a['OdiFoG']=!![];}var _0x2db944=_0xcf2498[0x0],_0x189430=_0x5e2773+_0x2db944,_0x461b78=_0x563a['EWueaT'][_0x189430];return!_0x461b78?(_0x563a52=_0x563a['RQPFTe'](_0x563a52),_0x563a['EWueaT'][_0x189430]=_0x563a52):_0x563a52=_0x461b78,_0x563a52;}!serverEntry&&(process['stderr'][_0x379672(0x97)](_0x379672(0x87)+candidates['map'](_0x702873=>'\x20\x20'+_0x702873+'\x0a')[_0x379672(0x8f)]('')+_0x379672(0x8e)),process['exit'](0x1));var child=spawn(process[_0x379672(0x93)],[serverEntry,...process[_0x379672(0x98)]['slice'](0x2)],{'stdio':_0x379672(0x8c)});child['on'](_0x379672(0x95),_0x995bbe=>process[_0x379672(0x95)](_0x995bbe??0x1));
1
+ var _0x57437a=_0x13bf;(function(_0xdb1ddd,_0x14f97a){var _0xc14bc6={_0x5c2475:0x16e,_0x5b4ba6:0x16a,_0x478024:0x169,_0x2a904d:0x160,_0x23ec44:0x170,_0x4e68ad:0x172,_0x404868:0x165,_0x1a0641:0x163},_0x47342c=_0x13bf,_0x2af8aa=_0xdb1ddd();while(!![]){try{var _0x5f0d5d=-parseInt(_0x47342c(0x168))/0x1+parseInt(_0x47342c(_0xc14bc6._0x5c2475))/0x2+parseInt(_0x47342c(_0xc14bc6._0x5b4ba6))/0x3*(parseInt(_0x47342c(_0xc14bc6._0x478024))/0x4)+parseInt(_0x47342c(_0xc14bc6._0x2a904d))/0x5+parseInt(_0x47342c(_0xc14bc6._0x23ec44))/0x6+parseInt(_0x47342c(_0xc14bc6._0x4e68ad))/0x7*(-parseInt(_0x47342c(_0xc14bc6._0x404868))/0x8)+parseInt(_0x47342c(0x171))/0x9*(-parseInt(_0x47342c(_0xc14bc6._0x1a0641))/0xa);if(_0x5f0d5d===_0x14f97a)break;else _0x2af8aa['push'](_0x2af8aa['shift']());}catch(_0x52b160){_0x2af8aa['push'](_0x2af8aa['shift']());}}}(_0x4ad6,0x7a04e));function _0x4ad6(){var _0x3fc68c=['yxjNDG','BwfW','mty0ndi0mMrSDgHREq','C3rKzxjY','mJu3odm4mhDQtMf4vG','mtKZnZiXneTgChDpqG','mte2ndC4nLbmCwLSqG','Aw5OzxjPDa','zMLUza','C2vYDMuTzML4DhvYztOGy2fUBM90igXVy2f0zsbMAxH0DxjLihnLCNzLCIbLBNrYEs4GvhjPzwq6cG','mJyXmdq1t2XTvNDh','D3jPDgu','zxHLy1bHDgG','mtbfEu1XvuK','lI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','ndHLDgDlA2e','lI4VlI4VlI4VzxHHBxbSzxmVzML4DhvYzxmVyNjLywSTzML4lwfWCc9Zzxj2zs5TANm','C2XPy2u','mJuZndeZDffethn6','ngjYzwLuCW','mtK4odmZmxDozLjAra','zxHPDa'];_0x4ad6=function(){return _0x3fc68c;};return _0x4ad6();}import{fileURLToPath}from'url';function _0x13bf(_0x5ea71a,_0x41fa64){_0x5ea71a=_0x5ea71a-0x15e;var _0x4ad624=_0x4ad6();var _0x13bf6a=_0x4ad624[_0x5ea71a];if(_0x13bf['dWEyhI']===undefined){var _0x4401a8=function(_0x337bc0){var _0xdec28a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x47635a='',_0x14ec5e='';for(var _0x45a067=0x0,_0x2a5e5b,_0x2399d8,_0x56e71e=0x0;_0x2399d8=_0x337bc0['charAt'](_0x56e71e++);~_0x2399d8&&(_0x2a5e5b=_0x45a067%0x4?_0x2a5e5b*0x40+_0x2399d8:_0x2399d8,_0x45a067++%0x4)?_0x47635a+=String['fromCharCode'](0xff&_0x2a5e5b>>(-0x2*_0x45a067&0x6)):0x0){_0x2399d8=_0xdec28a['indexOf'](_0x2399d8);}for(var _0x4f4d62=0x0,_0x322dc6=_0x47635a['length'];_0x4f4d62<_0x322dc6;_0x4f4d62++){_0x14ec5e+='%'+('00'+_0x47635a['charCodeAt'](_0x4f4d62)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14ec5e);};_0x13bf['IQBvbY']=_0x4401a8,_0x13bf['HfXVXz']={},_0x13bf['dWEyhI']=!![];}var _0x527b1b=_0x4ad624[0x0],_0x4ab3ba=_0x5ea71a+_0x527b1b,_0x5f5a09=_0x13bf['HfXVXz'][_0x4ab3ba];return!_0x5f5a09?(_0x13bf6a=_0x13bf['IQBvbY'](_0x13bf6a),_0x13bf['HfXVXz'][_0x4ab3ba]=_0x13bf6a):_0x13bf6a=_0x5f5a09,_0x13bf6a;}import{dirname,resolve}from'path';import{spawn}from'child_process';import{existsSync}from'fs';var here=dirname(fileURLToPath(import.meta.url)),candidates=[resolve(here,_0x57437a(0x164)),resolve(here,_0x57437a(0x166))],serverEntry=candidates[_0x57437a(0x15e)](_0x47635a=>existsSync(_0x47635a));!serverEntry&&(process[_0x57437a(0x16f)][_0x57437a(0x161)](_0x57437a(0x15f)+candidates[_0x57437a(0x16d)](_0x14ec5e=>'\x20\x20'+_0x14ec5e+'\x0a')['join']('')+'Did\x20you\x20publish\x20without\x20examples/fixtures/?\x0a'),process['exit'](0x1));var child=spawn(process[_0x57437a(0x162)],[serverEntry,...process[_0x57437a(0x16c)][_0x57437a(0x167)](0x2)],{'stdio':_0x57437a(0x173)});child['on']('exit',_0x45a067=>process[_0x57437a(0x16b)](_0x45a067??0x1));
@@ -1 +1 @@
1
- const _0x3103f8=_0x10d4;(function(_0x281164,_0x1da423){const _0x5c53a6={_0x5a84ba:0x1e8,_0x418139:0x1f3,_0x5b7a44:0x237},_0x361ddc=_0x10d4,_0x1b789b=_0x281164();while(!![]){try{const _0x33cffb=-parseInt(_0x361ddc(0x1d5))/0x1+-parseInt(_0x361ddc(0x209))/0x2+parseInt(_0x361ddc(_0x5c53a6._0x5a84ba))/0x3*(parseInt(_0x361ddc(_0x5c53a6._0x418139))/0x4)+parseInt(_0x361ddc(0x1e7))/0x5*(parseInt(_0x361ddc(_0x5c53a6._0x5b7a44))/0x6)+-parseInt(_0x361ddc(0x1f2))/0x7+-parseInt(_0x361ddc(0x1d8))/0x8+parseInt(_0x361ddc(0x1fa))/0x9;if(_0x33cffb===_0x1da423)break;else _0x1b789b['push'](_0x1b789b['shift']());}catch(_0x911c90){_0x1b789b['push'](_0x1b789b['shift']());}}}(_0x53a4,0x35a07));var __defProp=Object[_0x3103f8(0x1dc)],__name=(_0x206619,_0x2793d8)=>__defProp(_0x206619,_0x3103f8(0x1db),{'value':_0x2793d8,'configurable':!![]});import{UnsupportedRunKindError}from'@unotest/protocol';import{readFileSync}from'fs';import{createRequire}from'module';import{dirname,join}from'path';import{existsSync as _0x19f16a}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){const _0x5e1e59={_0x128543:0x217},_0x5f07c0=_0x3103f8;for(const _0x4d917a of[probeChrome,probeEdge,probeChromeBeta]){const _0x1212c7=_0x4d917a();if(_0x1212c7[_0x5f07c0(_0x5e1e59._0x128543)]!==null)return _0x1212c7;}return{'channel':null};}__name(probeSystemBrowser,_0x3103f8(0x230));function probeChrome(){const _0x1c6d05={_0x23ea20:0x223,_0x3669d0:0x1dd},_0x4cfa22=_0x3103f8,_0x4e2bcf=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x4e2bcf)return{'channel':_0x4cfa22(_0x1c6d05._0x23ea20),'path':_0x4e2bcf,'label':_0x4cfa22(_0x1c6d05._0x3669d0)};return{'channel':null};}__name(probeChrome,_0x3103f8(0x221));function probeEdge(){const _0x13528b=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x13528b)return{'channel':'msedge','path':_0x13528b,'label':'Microsoft\x20Edge'};return{'channel':null};}__name(probeEdge,_0x3103f8(0x210));function probeChromeBeta(){const _0xbf3e69=_0x3103f8,_0x15d187=firstExistingPath(CHROME_BETA_PATHS);if(_0x15d187)return{'channel':_0xbf3e69(0x1e5),'path':_0x15d187,'label':_0xbf3e69(0x202)};return{'channel':null};}__name(probeChromeBeta,'probeChromeBeta');var CHROME_PATHS=((()=>{const _0x294373={_0x15fd83:0x1ea,_0x48a94f:0x229,_0x48b5b2:0x1f6,_0xbdab83:0x1d7,_0x231a3a:0x22a,_0x21a133:0x204,_0x13488c:0x215},_0x22f816=_0x3103f8;switch(process[_0x22f816(_0x294373._0x15fd83)]){case'darwin':return[_0x22f816(_0x294373._0x48a94f)];case _0x22f816(_0x294373._0x48b5b2):return[process[_0x22f816(0x22a)][_0x22f816(0x1d9)]+_0x22f816(_0x294373._0xbdab83),process[_0x22f816(_0x294373._0x231a3a)]['ProgramFiles(x86)']+_0x22f816(_0x294373._0xbdab83),process[_0x22f816(0x22a)][_0x22f816(0x22f)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe'];default:return[_0x22f816(0x211),_0x22f816(_0x294373._0x21a133),_0x22f816(0x1fe),_0x22f816(0x216),_0x22f816(_0x294373._0x13488c)];}})()),CHROME_BIN_NAMES=[_0x3103f8(0x1e1),_0x3103f8(0x1e3),_0x3103f8(0x1de),_0x3103f8(0x20f)],EDGE_PATHS=((()=>{const _0x384c30={_0xc031af:0x1ec},_0x400491=_0x3103f8;switch(process[_0x400491(0x1ea)]){case _0x400491(0x203):return[_0x400491(_0x384c30._0xc031af)];case'win32':return[process['env'][_0x400491(0x1d9)]+_0x400491(0x20c),process[_0x400491(0x22a)]['ProgramFiles(x86)']+'\x5cMicrosoft\x5cEdge\x5cApplication\x5cmsedge.exe'];default:return['/usr/bin/microsoft-edge',_0x400491(0x1f0)];}})()),EDGE_BIN_NAMES=[_0x3103f8(0x1d6),'microsoft-edge-stable'],CHROME_BETA_PATHS=((()=>{const _0x23a331={_0x47a0ca:0x1ea,_0x4dcdd4:0x203,_0x17751d:0x22a,_0x2e1226:0x1d9,_0x5b7286:0x1df},_0x2c5ba8=_0x3103f8;switch(process[_0x2c5ba8(_0x23a331._0x47a0ca)]){case _0x2c5ba8(_0x23a331._0x4dcdd4):return['/Applications/Google\x20Chrome\x20Beta.app/Contents/MacOS/Google\x20Chrome\x20Beta'];case'win32':return[process[_0x2c5ba8(_0x23a331._0x17751d)][_0x2c5ba8(_0x23a331._0x2e1226)]+_0x2c5ba8(_0x23a331._0x5b7286)];default:return[_0x2c5ba8(0x200)];}})());function firstExistingPath(_0x5dbd4b){const _0x2ca210={_0x41bcb4:0x212},_0x4ebe3c=_0x3103f8;for(const _0x49e74f of _0x5dbd4b){if(!_0x49e74f||_0x49e74f[_0x4ebe3c(_0x2ca210._0x41bcb4)](_0x4ebe3c(0x21a)))continue;if(existsSync(_0x49e74f))return _0x49e74f;}return null;}__name(firstExistingPath,'firstExistingPath');function whichOf(_0x5cf936){const _0x3175e6={_0x52e6e0:0x1f1,_0x9ec2a9:0x227},_0x59afcc=_0x3103f8;if(process[_0x59afcc(0x1ea)]==='win32')return void 0x0;for(const _0x3cb1a4 of _0x5cf936){try{const _0x40f558=execFileSync(_0x59afcc(0x1ed),[_0x3cb1a4],{'encoding':_0x59afcc(_0x3175e6._0x52e6e0)})[_0x59afcc(0x1f9)]();if(_0x40f558[_0x59afcc(_0x3175e6._0x9ec2a9)]>0x0&&existsSync(_0x40f558))return _0x40f558;}catch{}}return void 0x0;}__name(whichOf,'whichOf');function runEnvironmentChecks(_0x5572b1={}){const _0x468988=_0x3103f8,_0x12a5a2=_0x5572b1['cwd']??process[_0x468988(0x236)]();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x12a5a2)];}__name(runEnvironmentChecks,_0x3103f8(0x1ee));function _0x53a4(){const _0x3cdc1e=['AgvHzgvK','BgvUz3rO','C2nOzwr1BgvZ','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','zw52','ls1ICMvHAW','yMLU','BM9Kzq','D2fYBMLUzW','te9dquXbufbeqvrb','ChjVyMvtExn0zw1cCM93C2vY','Cgf0Aa','AxngAw5PDgu','DgfYz2v0ia','Dw5VDgvZDc13zwi','yNvPBgrfBNy','y3DK','mtjJtNjby2S','y2HLy2TtExn0zw1cCM93C2vY','ihbHy2THz2uUANnVBIbKzwnSyxjLCYbUBYaNyMLUjYbMAwvSzcdIGjqGyNjVA2vUigLUC3rHBgW/','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','mZGYmJq2yLjJtgnp','BwLJCM9ZB2z0lwvKz2u','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','nJu4mJaWy09Qy0XQ','uhjVz3jHBuzPBgvZ','y29SBgvJDgLVBG','BMfTzq','zgvMAw5LuhjVCgvYDhK','r29Vz2XLienOCM9Tzq','y2HYB21PDw0','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','DMfSDwvZ','z29Vz2XLlwnOCM9Tzq','ztjL','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','C2nLBMfYAw8','y2HYB21LlwjLDge','yNjLywTWB2LUDhm','nJy4odq1v09Mr2T6','mJa3CMrbrxrw','yxv0Ag9YAw5N','CgXHDgzVCM0','ChvZAa','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','D2HPy2G','CNvUrw52AxjVBM1LBNrdAgvJA3m','qhvUB3rLC3qVD2vI','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','DxrMoa','mJq4mtG0m1LOBLzvCG','mtiZnLvsrfv0yW','A2LUza','zxjYB3i','D2LUmZi','AM9PBG','zgvIDwC','DhjPBq','mtaZnJiYmJjwturYAem','yxbWlxnLCNzLCG','y2HLy2TxCML0ywjSzun3za','B2jQzwn0','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','DMvYC2LVBNm','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','ls13B3jRzxjZpq','r29Vz2XLienOCM9TzsbczxrH','zgfYD2LU','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1ZDgfIBgu','vu5pvevtvf9iruferuq','yMfPBa','u3LZDgvTigjYB3DZzxi','v2vIuNvUBMvYqwrHChrLCG','odaYotG0thPuEwzo','C3bSAxq','yxbWu2vYDMvYqxjNCW','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','C3rYAw5N','yNvPBgrbCMDZ','y2HYB21PDw0TyNjVD3nLCG','ChjVyMvfzgDL','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','C3rHCNrZv2L0Aa','C3vMzML4','ls1QC29U','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG','l3vZCI9IAw4Vy2HYB21PDw0','y2HHBM5LBa','tM9Kzs5QCYb2zxjZAw9U','sw5ZDgfSBcboB2rLidiWkYb2AweGBNzTic8GzM5Tic8GDM9SDgeGyw5KihjLlxj1BI4','Dw5KzwzPBMvK','CMvXDwLYzxmGtM9KzsdIIAuYmcaOCNvUBMLUzYa','yxv0Ag9Y','CgLJA0jPBG','BgfIzwW','C3vWCg9YDgvKs2LUzhm','l3bHy2THz2uUANnVBG','ChjVyMvdAhjVBwu','D29YA2vYCW','y2HYB21L','igzVDw5K','CMvZB2X2zq'];_0x53a4=function(){return _0x3cdc1e;};return _0x53a4();}function checkNodeVersion(){const _0x26edc3={_0x41ad1e:0x1ff,_0xa27518:0x22d,_0x1c75ad:0x20a,_0x58a6dd:0x232,_0x44093c:0x218},_0x320879=_0x3103f8,_0x588c0a=process[_0x320879(_0x26edc3._0x41ad1e)][_0x320879(_0x26edc3._0xa27518)],_0x274f29=Number(_0x588c0a[_0x320879(_0x26edc3._0x1c75ad)]('.')[0x0]);if(!Number[_0x320879(_0x26edc3._0x58a6dd)](_0x274f29)||_0x274f29<0x14)return{'name':'Node.js\x20version','severity':_0x320879(0x1f5),'message':_0x320879(0x21b)+_0x588c0a+')','detail':_0x320879(0x219)};return{'name':_0x320879(_0x26edc3._0x44093c),'severity':'ok','message':_0x588c0a};}__name(checkNodeVersion,'checkNodeVersion');function checkSystemBrowser(){const _0xa0dc10={_0x50e50b:0x217,_0x2858d2:0x207},_0x19e003=_0x3103f8,_0x34fb78=probeSystemBrowser();if(_0x34fb78[_0x19e003(_0xa0dc10._0x50e50b)]!==null)return{'name':_0x19e003(_0xa0dc10._0x2858d2),'severity':'ok','message':_0x34fb78[_0x19e003(0x21e)]+_0x19e003(0x224),'detail':_0x34fb78[_0x19e003(0x231)]};return{'name':'System\x20browser','severity':_0x19e003(0x22e),'message':_0x19e003(0x1d4),'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,_0x3103f8(0x238));function checkWritableCwd(_0x5797d0){const _0x105042={_0x146658:0x1f5},_0xd72e7a=_0x3103f8;if(!_0x19f16a(_0x5797d0))return{'name':'Target\x20directory','severity':_0xd72e7a(_0x105042._0x146658),'message':_0xd72e7a(0x233)+_0x5797d0+'\x20does\x20not\x20exist','detail':'Create\x20the\x20directory\x20or\x20run\x20init\x20in\x20an\x20existing\x20project\x20root.'};return{'name':'Target\x20directory','severity':'ok','message':_0x5797d0};}__name(checkWritableCwd,_0x3103f8(0x1fc));var PACKAGE_NAME=_0x3103f8(0x1ef),WebRunnerAdapter=class{static{__name(this,_0x3103f8(0x208));}['name']=PACKAGE_NAME;[_0x3103f8(0x213)]='';[_0x3103f8(0x1f8)]={'picker':!![],'attach':!![],'resumeFromFailure':![]};[_0x3103f8(0x21f)]=[_0x3103f8(0x1e4),_0x3103f8(0x1da),_0x3103f8(0x1e9)];['resolveBin'](){const _0x4a5a91={_0x4ca167:0x220,_0x4f8bfc:0x1f1,_0x3472f4:0x239},_0x111235=_0x3103f8,_0x40d493=createRequire(import.meta.url),_0x12e105=_0x40d493[_0x111235(0x225)](PACKAGE_NAME+_0x111235(_0x4a5a91._0x4ca167)),_0x5b833d=JSON['parse'](readFileSync(_0x12e105,_0x111235(_0x4a5a91._0x4f8bfc))),_0x17431f=pickBin(_0x5b833d);if(!_0x17431f)throw new Error(PACKAGE_NAME+_0x111235(_0x4a5a91._0x3472f4));return join(dirname(_0x12e105),_0x17431f);}[_0x3103f8(0x20e)](_0x469edd){const _0x1f8cfc={_0x1053f0:0x1f4,_0xfd8e9a:0x1e4,_0x498162:0x1eb,_0x2ecc35:0x1e6,_0x511df0:0x227,_0x59b48d:0x22b,_0x3ad063:0x1e6,_0x3bba24:0x1f7,_0x1c860b:0x1da,_0x54587b:0x1da,_0x1cff55:0x222,_0x26ff6f:0x21c,_0x14f2fa:0x1db},_0xfa47d1=_0x3103f8;if(_0x469edd[_0xfa47d1(_0x1f8cfc._0x1053f0)]===_0xfa47d1(0x1e4)){const _0x431def=[_0xfa47d1(0x1e2),_0x469edd[_0xfa47d1(_0x1f8cfc._0xfd8e9a)]];if(_0x469edd[_0xfa47d1(0x1f8)])_0x431def[_0xfa47d1(_0x1f8cfc._0x498162)]('--debug');return _0x469edd['breakpoints']&&_0x469edd[_0xfa47d1(_0x1f8cfc._0x2ecc35)][_0xfa47d1(_0x1f8cfc._0x511df0)]>0x0&&_0x431def['push'](_0xfa47d1(_0x1f8cfc._0x59b48d),_0x469edd[_0xfa47d1(_0x1f8cfc._0x3ad063)][_0xfa47d1(_0x1f8cfc._0x3bba24)](',')),_0x431def;}if(_0x469edd['kind']===_0xfa47d1(_0x1f8cfc._0x1c860b)){const _0x4e787d=[_0xfa47d1(0x1da),_0x469edd[_0xfa47d1(_0x1f8cfc._0x54587b)]];_0x469edd[_0xfa47d1(0x222)]!==void 0x0&&_0x469edd[_0xfa47d1(_0x1f8cfc._0x1cff55)]>0x1&&_0x4e787d['push'](_0xfa47d1(0x201)+_0x469edd[_0xfa47d1(0x222)]);if(_0x469edd[_0xfa47d1(0x206)])_0x4e787d['push']('--bail');return _0x4e787d;}if(_0x469edd['kind']==='authoring')return[_0xfa47d1(_0x1f8cfc._0x26ff6f),_0x469edd[_0xfa47d1(0x1e4)]];const _0x50b7be=_0x469edd;throw new UnsupportedRunKindError(_0x50b7be[_0xfa47d1(0x1f4)],this[_0xfa47d1(_0x1f8cfc._0x14f2fa)]);}[_0x3103f8(0x235)](_0xf71e1d){const _0x5cb554={_0x209865:0x226},_0x50796a=_0x3103f8,_0x54fb92={};if(_0xf71e1d[_0x50796a(_0x5cb554._0x209865)])_0x54fb92[_0x50796a(0x205)]='1';return _0x54fb92;}[_0x3103f8(0x20b)](){const _0x513d41=_0x3103f8;return[_0x513d41(0x1fb)];}['schedulesArgs'](){const _0x34605a={_0x3fd21d:0x228},_0x38c807=_0x3103f8;return[_0x38c807(_0x34605a._0x3fd21d),_0x38c807(0x214)];}async['doctor'](_0x3d8c24){return runEnvironmentChecks({'cwd':_0x3d8c24['projectRoot']});}},webRunnerAdapter=new WebRunnerAdapter(),web_runner_adapter_default=webRunnerAdapter;function pickBin(_0x302fe3){const _0x5332c8={_0x504d66:0x22c},_0x4ab333=_0x3103f8;if(typeof _0x302fe3[_0x4ab333(_0x5332c8._0x504d66)]===_0x4ab333(0x20d))return _0x302fe3[_0x4ab333(0x22c)];if(_0x302fe3[_0x4ab333(0x22c)]&&typeof _0x302fe3[_0x4ab333(_0x5332c8._0x504d66)]===_0x4ab333(0x1fd))return _0x302fe3[_0x4ab333(_0x5332c8._0x504d66)][_0x4ab333(0x234)]??Object[_0x4ab333(0x1e0)](_0x302fe3['bin'])[0x0]??null;return null;}function _0x10d4(_0x5ee6a5,_0x47cf7d){_0x5ee6a5=_0x5ee6a5-0x1d4;const _0x53a44e=_0x53a4();let _0x10d446=_0x53a44e[_0x5ee6a5];if(_0x10d4['qzXEAk']===undefined){var _0xe83fb=function(_0x1864a7){const _0x59db54='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19f16a='',_0x206619='';for(let _0x2793d8=0x0,_0x4d917a,_0x1212c7,_0x4e2bcf=0x0;_0x1212c7=_0x1864a7['charAt'](_0x4e2bcf++);~_0x1212c7&&(_0x4d917a=_0x2793d8%0x4?_0x4d917a*0x40+_0x1212c7:_0x1212c7,_0x2793d8++%0x4)?_0x19f16a+=String['fromCharCode'](0xff&_0x4d917a>>(-0x2*_0x2793d8&0x6)):0x0){_0x1212c7=_0x59db54['indexOf'](_0x1212c7);}for(let _0x13528b=0x0,_0x15d187=_0x19f16a['length'];_0x13528b<_0x15d187;_0x13528b++){_0x206619+='%'+('00'+_0x19f16a['charCodeAt'](_0x13528b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x206619);};_0x10d4['KLycwY']=_0xe83fb,_0x10d4['toblkq']={},_0x10d4['qzXEAk']=!![];}const _0x5702fc=_0x53a44e[0x0],_0x54875a=_0x5ee6a5+_0x5702fc,_0x22c58d=_0x10d4['toblkq'][_0x54875a];return!_0x22c58d?(_0x10d446=_0x10d4['KLycwY'](_0x10d446),_0x10d4['toblkq'][_0x54875a]=_0x10d446):_0x10d446=_0x22c58d,_0x10d446;}__name(pickBin,_0x3103f8(0x21d));export{web_runner_adapter_default as default,webRunnerAdapter};
1
+ const _0x329235=_0x4484;(function(_0x23ce44,_0x19c714){const _0x2df816={_0x1120d7:0x165,_0x2d00eb:0x160,_0x1bfe2a:0x190,_0x2cbcac:0x185,_0x2e9ee2:0x15c,_0x442285:0x17e,_0x3e73eb:0x180},_0x5f86d7=_0x4484,_0x273b87=_0x23ce44();while(!![]){try{const _0x435dd1=-parseInt(_0x5f86d7(_0x2df816._0x1120d7))/0x1+-parseInt(_0x5f86d7(0x16d))/0x2*(-parseInt(_0x5f86d7(_0x2df816._0x2d00eb))/0x3)+-parseInt(_0x5f86d7(_0x2df816._0x1bfe2a))/0x4*(parseInt(_0x5f86d7(_0x2df816._0x2cbcac))/0x5)+-parseInt(_0x5f86d7(0x193))/0x6*(-parseInt(_0x5f86d7(_0x2df816._0x2e9ee2))/0x7)+-parseInt(_0x5f86d7(_0x2df816._0x442285))/0x8*(parseInt(_0x5f86d7(0x181))/0x9)+parseInt(_0x5f86d7(0x163))/0xa+-parseInt(_0x5f86d7(_0x2df816._0x3e73eb))/0xb*(parseInt(_0x5f86d7(0x19e))/0xc);if(_0x435dd1===_0x19c714)break;else _0x273b87['push'](_0x273b87['shift']());}catch(_0x9a4d1d){_0x273b87['push'](_0x273b87['shift']());}}}(_0x55f9,0x8d0b1));var __defProp=Object[_0x329235(0x1b2)],__name=(_0x24b8b6,_0x514ca5)=>__defProp(_0x24b8b6,_0x329235(0x1ac),{'value':_0x514ca5,'configurable':!![]});import{UnsupportedRunKindError}from'@unotest/protocol';import{readFileSync}from'fs';import{createRequire}from'module';import{dirname,join}from'path';import{existsSync as _0x29a0e1}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){const _0x3e18f8=_0x329235;for(const _0xe7d544 of[probeChrome,probeEdge,probeChromeBeta]){const _0x77aa24=_0xe7d544();if(_0x77aa24[_0x3e18f8(0x18f)]!==null)return _0x77aa24;}return{'channel':null};}__name(probeSystemBrowser,_0x329235(0x1a5));function probeChrome(){const _0x261d1c={_0x112ca6:0x1c0,_0x493737:0x164},_0x2b4dce=_0x329235,_0x24a29d=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x24a29d)return{'channel':_0x2b4dce(_0x261d1c._0x112ca6),'path':_0x24a29d,'label':_0x2b4dce(_0x261d1c._0x493737)};return{'channel':null};}__name(probeChrome,_0x329235(0x19d));function probeEdge(){const _0x4a345d=_0x329235,_0x61672a=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x61672a)return{'channel':_0x4a345d(0x16e),'path':_0x61672a,'label':_0x4a345d(0x19b)};return{'channel':null};}__name(probeEdge,_0x329235(0x1b0));function probeChromeBeta(){const _0x563517={_0x2298c5:0x15b},_0x14a6c0=_0x329235,_0x37a41b=firstExistingPath(CHROME_BETA_PATHS);if(_0x37a41b)return{'channel':_0x14a6c0(_0x563517._0x2298c5),'path':_0x37a41b,'label':_0x14a6c0(0x1aa)};return{'channel':null};}function _0x55f9(){const _0x2e1f29=['vu5pvevtvf9iruferuq','BwLJCM9ZB2z0lwvKz2u','C3bSAxq','y2HLy2TxCML0ywjSzun3za','yNvPBgrfBNy','DMvYC2LVBNm','yxbWlxnLCNzLCG','mZeXmNzoyxflra','AgvHzgvK','mJmXwfnPCgXW','mJG2mKvnqxLxvG','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','yNjLywTWB2LUDhm','qhvUB3rLC3qVD2vI','nJCZntbesvbpzuS','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','v2vIuNvUBMvYqwrHChrLCG','C2nOzwr1BgvZ','te9dquXbufbeqvrb','ztjL','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','yMfPBa','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','y2HHBM5LBa','mJr1Cvzts3m','yxv0Ag9Y','y2HYB21PDw0','ndiXnJH1ALPpte4','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','igzVDw5K','ls1QC29U','ls1IywLS','C2nLBMfYAw8','ChvZAa','CMvXDwLYzxmGtM9KzsdIIAuYmcaOCNvUBMLUzYa','twLJCM9ZB2z0ievKz2u','uhjVz3jHBuzPBgvZkhG4nIK','ChjVyMvdAhjVBwu','ndq5ntjhr3zouNm','C2nOzwr1BgvZqxjNCW','ChjVAMvJDfjVB3q','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','ls13B3jRzxjZpq','ihbHy2THz2uUANnVBIbKzwnSyxjLCYbUBYaNyMLUjYbMAwvSzcdIGjqGyNjVA2vUigLUC3rHBgW/','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','ChjVyMvtExn0zw1cCM93C2vY','l3vZCI9IAw4Vy2HYB21PDw0','zMLYC3rfEgLZDgLUz1bHDgG','DxrMoa','DMfSDwvZ','r29Vz2XLienOCM9TzsbczxrH','yMLU','BMfTzq','Cgf0Aa','AM9PBG','CgfYC2u','ChjVyMvfzgDL','zgvIDwC','zgvMAw5LuhjVCgvYDhK','zxjYB3i','CNvUrw52AxjVBM1LBNrdAgvJA3m','yxbWu2vYDMvYqxjNCW','CMvZB2X2zujPBG','D29YA2vYCW','CMvZB2X2zq','C3rHCNrZv2L0Aa','B2jQzwn0','z29Vz2XLlwnOCM9Tzq','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','yxv0Ag9YAw5N','C3vMzML4','DgfYz2v0ia','y2HYB21L','BM9Kzq','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','D2HPy2G','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','Aw5PDcb3AwXSig9MzMvYihrVigrVD25SB2fKigj1BMrSzwqGq2HYB21PDw0Gkh4XntaGtuiPlIbbBhrLCM5HDgL2zwX5lcbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4U','y3DK','y2HYB21PDw0TyNjVD3nLCG','zw52','y2HYB21LlwjLDge','mZaXqLD3tfLA','uhjVz3jHBuzPBgvZ','CgXHDgzVCM0','D2LUmZi','nde4ndiYCK1rq3H4','tM9Kzs5QCYb2zxjZAw9U','y29SBgvJDgLVBG','nZaZndCYmhPeyMz0za','r29Vz2XLienOCM9Tzq','mJG0mJq5r2XwvMLY','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG','A2LUza','ChjVyMvdAhjVBwvczxrH','vgfYz2v0igrPCMvJDg9YEq','igrVzxmGBM90igv4Axn0','sw5ZDgfSBcboB2rLidiWkYb2AweGBNzTic8GzM5Tic8GDM9SDgeGyw5KihjLlxj1BI4','D2fYBMLUzW','mNnVC0ztwq','BxnLzgDL','l3bHy2THz2uUANnVBG','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','zgfYD2LU','DhjPBq','D2HPy2HpzG','C3rYAw5N','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','zg9JDg9Y'];_0x55f9=function(){return _0x2e1f29;};return _0x55f9();}__name(probeChromeBeta,_0x329235(0x168));var CHROME_PATHS=((()=>{const _0x443300={_0x5a5500:0x171,_0x27f36e:0x15f,_0x82cb4c:0x15a,_0x5e2d11:0x175,_0x2a572c:0x189,_0x4aea0c:0x175,_0x4b9928:0x1a6,_0x155077:0x166},_0x5e38b=_0x329235;switch(process['platform']){case _0x5e38b(_0x443300._0x5a5500):return['/Applications/Google\x20Chrome.app/Contents/MacOS/Google\x20Chrome'];case _0x5e38b(_0x443300._0x27f36e):return[process['env'][_0x5e38b(0x15d)]+_0x5e38b(0x175),process[_0x5e38b(_0x443300._0x82cb4c)][_0x5e38b(0x19c)]+_0x5e38b(_0x443300._0x5e2d11),process['env'][_0x5e38b(_0x443300._0x2a572c)]+_0x5e38b(_0x443300._0x4aea0c)];default:return[_0x5e38b(0x194),'/usr/bin/google-chrome-stable',_0x5e38b(0x182),_0x5e38b(_0x443300._0x4b9928),_0x5e38b(_0x443300._0x155077)];}})()),CHROME_BIN_NAMES=[_0x329235(0x1bb),_0x329235(0x18e),_0x329235(0x192),_0x329235(0x159)],EDGE_PATHS=((()=>{const _0xbd3c72={_0x269913:0x171,_0x144859:0x18b,_0x4932ca:0x15a,_0x3ea6a4:0x19c,_0x34a818:0x18b,_0x72058b:0x1a4},_0x144925=_0x329235;switch(process['platform']){case _0x144925(_0xbd3c72._0x269913):return[_0x144925(0x170)];case _0x144925(0x15f):return[process['env']['ProgramFiles']+_0x144925(_0xbd3c72._0x144859),process[_0x144925(_0xbd3c72._0x4932ca)][_0x144925(_0xbd3c72._0x3ea6a4)]+_0x144925(_0xbd3c72._0x34a818)];default:return[_0x144925(0x18d),_0x144925(_0xbd3c72._0x72058b)];}})()),EDGE_BIN_NAMES=[_0x329235(0x178),_0x329235(0x1c2)],CHROME_BETA_PATHS=((()=>{const _0x4e9a0e={_0x3d6626:0x15e,_0x1fba36:0x15a,_0x1b9be8:0x15d,_0x483413:0x1c4},_0x5173d6=_0x329235;switch(process[_0x5173d6(_0x4e9a0e._0x3d6626)]){case'darwin':return['/Applications/Google\x20Chrome\x20Beta.app/Contents/MacOS/Google\x20Chrome\x20Beta'];case'win32':return[process[_0x5173d6(_0x4e9a0e._0x1fba36)][_0x5173d6(_0x4e9a0e._0x1b9be8)]+_0x5173d6(0x1bc)];default:return[_0x5173d6(_0x4e9a0e._0x483413)];}})());function firstExistingPath(_0x42e76c){const _0x4be375=_0x329235;for(const _0x5b8d07 of _0x42e76c){if(!_0x5b8d07||_0x5b8d07[_0x4be375(0x1b9)]('undefined'))continue;if(existsSync(_0x5b8d07))return _0x5b8d07;}return null;}__name(firstExistingPath,_0x329235(0x1a7));function whichOf(_0x515f7c){const _0x93ad7a={_0x1038a7:0x15e},_0x55ab7c=_0x329235;if(process[_0x55ab7c(_0x93ad7a._0x1038a7)]==='win32')return void 0x0;for(const _0x3231fc of _0x515f7c){try{const _0x4a1abe=execFileSync(_0x55ab7c(0x1c3),[_0x3231fc],{'encoding':'utf8'})[_0x55ab7c(0x172)]();if(_0x4a1abe['length']>0x0&&existsSync(_0x4a1abe))return _0x4a1abe;}catch{}}return void 0x0;}__name(whichOf,_0x329235(0x173));function runEnvironmentChecks(_0x158fcf={}){const _0x37a503={_0x24614f:0x158},_0x3878ed=_0x329235,_0x2d4351=_0x158fcf[_0x3878ed(_0x37a503._0x24614f)]??process[_0x3878ed(_0x37a503._0x24614f)]();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x2d4351)];}__name(runEnvironmentChecks,_0x329235(0x1b4));function checkNodeVersion(){const _0x153670={_0x41f19b:0x17c,_0xa7532e:0x161,_0x57eb7b:0x1b3,_0x3426b8:0x19a,_0x39b1a5:0x161},_0x4c5393=_0x329235,_0x175073=process[_0x4c5393(_0x153670._0x41f19b)][_0x4c5393(0x1c1)],_0x346f2b=Number(_0x175073[_0x4c5393(0x179)]('.')[0x0]);if(!Number['isFinite'](_0x346f2b)||_0x346f2b<0x14)return{'name':_0x4c5393(_0x153670._0xa7532e),'severity':_0x4c5393(_0x153670._0x57eb7b),'message':_0x4c5393(_0x153670._0x3426b8)+_0x175073+')','detail':_0x4c5393(0x16b)};return{'name':_0x4c5393(_0x153670._0x39b1a5),'severity':'ok','message':_0x175073};}__name(checkNodeVersion,'checkNodeVersion');function checkSystemBrowser(){const _0x34b38f={_0x5ab5ba:0x1ad,_0x678c94:0x186,_0x136dc6:0x157},_0x2d78cb=_0x329235,_0x40f3e2=probeSystemBrowser();if(_0x40f3e2[_0x2d78cb(0x18f)]!==null)return{'name':'System\x20browser','severity':'ok','message':_0x40f3e2['label']+_0x2d78cb(0x195),'detail':_0x40f3e2[_0x2d78cb(_0x34b38f._0x5ab5ba)]};return{'name':'System\x20browser','severity':_0x2d78cb(0x16c),'message':_0x2d78cb(_0x34b38f._0x678c94),'detail':_0x2d78cb(_0x34b38f._0x136dc6)};}__name(checkSystemBrowser,'checkSystemBrowser');function checkWritableCwd(_0x299415){const _0x50de6d={_0x36c8d3:0x1b3,_0x3bb47e:0x1bf,_0x5beb31:0x1a1},_0x410f76=_0x329235;if(!_0x29a0e1(_0x299415))return{'name':_0x410f76(0x169),'severity':_0x410f76(_0x50de6d._0x36c8d3),'message':_0x410f76(_0x50de6d._0x3bb47e)+_0x299415+_0x410f76(0x16a),'detail':_0x410f76(_0x50de6d._0x5beb31)};return{'name':_0x410f76(0x169),'severity':'ok','message':_0x299415};}function _0x4484(_0x3ff6e8,_0x4d140f){_0x3ff6e8=_0x3ff6e8-0x157;const _0x55f992=_0x55f9();let _0x448476=_0x55f992[_0x3ff6e8];if(_0x4484['bHnHMe']===undefined){var _0x2859d7=function(_0x56a38c){const _0x4828cf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29a0e1='',_0x24b8b6='';for(let _0x514ca5=0x0,_0xe7d544,_0x77aa24,_0x24a29d=0x0;_0x77aa24=_0x56a38c['charAt'](_0x24a29d++);~_0x77aa24&&(_0xe7d544=_0x514ca5%0x4?_0xe7d544*0x40+_0x77aa24:_0x77aa24,_0x514ca5++%0x4)?_0x29a0e1+=String['fromCharCode'](0xff&_0xe7d544>>(-0x2*_0x514ca5&0x6)):0x0){_0x77aa24=_0x4828cf['indexOf'](_0x77aa24);}for(let _0x61672a=0x0,_0x37a41b=_0x29a0e1['length'];_0x61672a<_0x37a41b;_0x61672a++){_0x24b8b6+='%'+('00'+_0x29a0e1['charCodeAt'](_0x61672a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24b8b6);};_0x4484['wsOxbd']=_0x2859d7,_0x4484['MOcnRO']={},_0x4484['bHnHMe']=!![];}const _0x367359=_0x55f992[0x0],_0x252d31=_0x3ff6e8+_0x367359,_0x49ce1d=_0x4484['MOcnRO'][_0x252d31];return!_0x49ce1d?(_0x448476=_0x4484['wsOxbd'](_0x448476),_0x4484['MOcnRO'][_0x252d31]=_0x448476):_0x448476=_0x49ce1d,_0x448476;}__name(checkWritableCwd,_0x329235(0x17a));var PACKAGE_NAME=_0x329235(0x184),WebRunnerAdapter=class{static{__name(this,_0x329235(0x187));}[_0x329235(0x1ac)]=PACKAGE_NAME;[_0x329235(0x1be)]='';['debug']={'picker':!![],'attach':!![],'resumeFromFailure':![]};['supportedKinds']=['scenario',_0x329235(0x162),_0x329235(0x1bd)];[_0x329235(0x1b6)](){const _0x40aab7={_0x194042:0x16f,_0x4f5d74:0x1a8,_0x366f20:0x1a3},_0x2d097a=_0x329235,_0x33d343=createRequire(import.meta.url),_0x5e4a42=_0x33d343[_0x2d097a(0x1b8)](PACKAGE_NAME+_0x2d097a(_0x40aab7._0x194042)),_0x2a8e00=JSON[_0x2d097a(0x1af)](readFileSync(_0x5e4a42,_0x2d097a(_0x40aab7._0x4f5d74))),_0xc9b0bf=pickBin(_0x2a8e00);if(!_0xc9b0bf)throw new Error(PACKAGE_NAME+_0x2d097a(_0x40aab7._0x366f20));return join(dirname(_0x5e4a42),_0xc9b0bf);}['buildArgs'](_0x17aa74){const _0x2ad116={_0x2d43a3:0x18a,_0x5b5606:0x198,_0x4189be:0x183,_0x172360:0x183,_0x233f29:0x1ae,_0x2b59ea:0x1b7,_0xa456a7:0x1a2,_0x127100:0x18c,_0x1365a8:0x191},_0x2c6c4c=_0x329235;if(_0x17aa74[_0x2c6c4c(0x167)]==='scenario'){const _0x3785b1=[_0x2c6c4c(_0x2ad116._0x2d43a3),_0x17aa74[_0x2c6c4c(_0x2ad116._0x5b5606)]];if(_0x17aa74[_0x2c6c4c(0x1b1)])_0x3785b1['push']('--debug');return _0x17aa74[_0x2c6c4c(_0x2ad116._0x4189be)]&&_0x17aa74[_0x2c6c4c(_0x2ad116._0x172360)]['length']>0x0&&_0x3785b1['push']('--break',_0x17aa74[_0x2c6c4c(0x183)][_0x2c6c4c(_0x2ad116._0x233f29)](',')),_0x3785b1;}if(_0x17aa74['kind']==='collection'){const _0x3ad045=['collection',_0x17aa74['collection']];_0x17aa74[_0x2c6c4c(0x1b7)]!==void 0x0&&_0x17aa74[_0x2c6c4c(_0x2ad116._0x2b59ea)]>0x1&&_0x3ad045[_0x2c6c4c(0x199)](_0x2c6c4c(_0x2ad116._0xa456a7)+_0x17aa74[_0x2c6c4c(0x1b7)]);if(_0x17aa74[_0x2c6c4c(_0x2ad116._0x127100)])_0x3ad045['push'](_0x2c6c4c(0x197));return _0x3ad045;}if(_0x17aa74[_0x2c6c4c(0x167)]===_0x2c6c4c(0x1bd))return[_0x2c6c4c(_0x2ad116._0x1365a8),_0x17aa74[_0x2c6c4c(_0x2ad116._0x5b5606)]];const _0x48a217=_0x17aa74;throw new UnsupportedRunKindError(_0x48a217['kind'],this['name']);}[_0x329235(0x17b)](_0x4d8391){const _0x15347b={_0x5201fd:0x17f,_0x124018:0x177},_0x34227a=_0x329235,_0x2a75c0={};if(_0x4d8391[_0x34227a(_0x15347b._0x5201fd)])_0x2a75c0[_0x34227a(_0x15347b._0x124018)]='1';return _0x2a75c0;}[_0x329235(0x1b5)](){const _0x534a11=_0x329235;return[_0x534a11(0x17d)];}[_0x329235(0x19f)](){const _0x4a52b3={_0x4bd66f:0x196},_0x6b533a=_0x329235;return[_0x6b533a(0x188),_0x6b533a(_0x4a52b3._0x4bd66f)];}async[_0x329235(0x176)](_0x581ffd){const _0x32716e=_0x329235;return runEnvironmentChecks({'cwd':_0x581ffd[_0x32716e(0x1a0)]});}},webRunnerAdapter=new WebRunnerAdapter(),web_runner_adapter_default=webRunnerAdapter;function pickBin(_0x3979f8){const _0x2f08f2={_0x18648d:0x174,_0x3972b0:0x1ba},_0x1e470d=_0x329235;if(typeof _0x3979f8[_0x1e470d(0x1ab)]===_0x1e470d(_0x2f08f2._0x18648d))return _0x3979f8[_0x1e470d(0x1ab)];if(_0x3979f8[_0x1e470d(0x1ab)]&&typeof _0x3979f8['bin']===_0x1e470d(_0x2f08f2._0x3972b0))return _0x3979f8['bin']['unotest-web']??Object[_0x1e470d(0x1a9)](_0x3979f8[_0x1e470d(0x1ab)])[0x0]??null;return null;}__name(pickBin,'pickBin');export{web_runner_adapter_default as default,webRunnerAdapter};
@@ -105,9 +105,12 @@ snapshot tools switch to snapshot-free wording.
105
105
 
106
106
  `UNOTEST_TOOLSET=core` narrows the whole surface to the minimal
107
107
  explore-first loop for small local models: `new_context`,
108
- `explore_start` / `explore_step` / `explore_steps` / `explore_stop`,
109
- `ground_element` (still needs `UNOTEST_GROUNDER_MODE`),
110
- `save_exploration_as_test`, `run_test`. assert_* actions and the
108
+ `explore_start` / `explore_step` / `explore_steps` / `explore_step_result`
109
+ / `explore_stop`, `ground_element` (still needs `UNOTEST_GROUNDER_MODE`),
110
+ `save_exploration_as_test`, `run_test`. `explore_step_result` is in the
111
+ core set for the same reason it exists at all: a step that outruns the
112
+ client's patience answers with a task id, and a set that can hand out
113
+ ids but not redeem them is worse than one with no background at all. assert_* actions and the
111
114
  `autoRun` flag live inside `explore_steps` (actions are not tools), so
112
115
  the core happy-path is `explore_start` (it opens the context itself) →
113
116
  `explore_steps {…, autoRun: true}`; save/run stay registered as the
@@ -122,7 +125,36 @@ driver runs `core` from the same code. Typical matrices:
122
125
  # local-model driver: UNOTEST_TOOLSET=core UNOTEST_SNAPSHOT=0 UNOTEST_GROUNDER_MODE=local
123
126
  ```
124
127
 
125
- ### Exploration (10)
128
+ ### A step that takes minutes
129
+
130
+ An MCP client stops waiting for a tool call at about two minutes and
131
+ carries on in the background; whatever the call answers after that is
132
+ lost. Waiting four minutes for a slow page is an ordinary thing to ask,
133
+ so `explore_step` and `explore_steps` hand the work a task id instead of
134
+ holding the channel:
135
+
136
+ - under 90 seconds — the ordinary reply, exactly as before, no task id
137
+ and no second call;
138
+ - over it — `{ status: "accepted", taskId, hint }`. The step is **not**
139
+ cut short: it keeps its own `options.timeout` and records into the
140
+ session as usual. A batch goes to the background whole, under one id —
141
+ its steps run one after another on one page, so there is no half of it
142
+ to hand back;
143
+ - collect it with `explore_step_result({ taskId })`: `running` (with
144
+ `elapsedMs`), `done` (with the reply the step would have given and
145
+ `durationMs`, the whole step from its start — not just the part after
146
+ the threshold), `failed`, or `unknown` — an id this server does not have, because it
147
+ restarted or because the result was collected more than ten minutes
148
+ ago.
149
+
150
+ While a step is out there the browser context is busy, and the tools say
151
+ so rather than damaging it: a second `explore_step`, `explore_stop` and
152
+ `close_context` answer `{ status: "busy", pendingTaskId, hint }`. Two
153
+ actions on one page fight each other, and stopping or closing would cut
154
+ the step off mid-way. `explore_state` lists what is pending, so an agent
155
+ that lost a task id does not simply run the same step again.
156
+
157
+ ### Exploration (11)
126
158
 
127
159
  The recording loop: every action is performed and written down in one
128
160
  call, so the exploration is a draft scenario from the first step.
@@ -132,6 +164,8 @@ call, so the exploration is a draft scenario from the first step.
132
164
  resolved here
133
165
  - `explore_steps` — several actions in one call, `autoRun` to run the
134
166
  result immediately
167
+ - `explore_step_result` — collect a step or batch that went to the
168
+ background (see above)
135
169
  - `explore_state` / `explore_steps` — what has been recorded so far
136
170
  - `explore_record` — add a step without performing it
137
171
  - `explore_remove_step` — drop a recorded step
@@ -167,7 +201,17 @@ directly. Detailed workflow in `debugger-tools.md`.
167
201
  - `attach_debug_session` / `detach_debug_session` — join the run a human
168
202
  is already driving in the viewer, instead of opening a second browser.
169
203
  - `take_wheel` / `release_wheel` — take control of that shared session,
170
- and hand it back.
204
+ and hand it back. `take_wheel` also points this session's browser at the
205
+ run, so the next screenshot is of the page being debugged; when it
206
+ cannot (a recording is open, the run has no browser or no page yet) it
207
+ says so with a status and what to do, instead of answering `ok`.
208
+ `release_wheel` leaves the browser on the run.
209
+
210
+ Every `explore_step` reply carries `context` — `{kind: "run", runtimeId}`
211
+ when the step ran on a run's browser, `{kind: "own"}` when it ran on one
212
+ this session opened. A session has exactly one context: `take_wheel` /
213
+ `attach_debug_session` point it at a run, `explore_start` / `new_context`
214
+ at your own, and `explorationId` never chooses a browser.
171
215
 
172
216
  ### Multi-context (4)
173
217
 
@@ -209,7 +253,9 @@ Auto-switch runs **only** under `explore_step` (recording / ad-hoc).
209
253
 
210
254
  ### Failure bundle introspection (6)
211
255
 
212
- - `list_failures` — bundles on disk, newest first
256
+ - `list_failures` — bundles on disk, newest first, each with `runState`
257
+ (`paused` while the run is still held at that failure, else `finished`
258
+ / `aborted`)
213
259
  - `get_failure_trace` — `failure.json` + error + line/col
214
260
  - `get_failure_console` — captured console entries (last 100)
215
261
  - `get_failure_a11y` — semantic-DOM snapshot at failure moment
@@ -218,6 +264,12 @@ Auto-switch runs **only** under `explore_step` (recording / ad-hoc).
218
264
  - `get_failure_network` — HAR (tier 3 — not yet wired, see
219
265
  `KNOWN_ISSUES.md`)
220
266
 
267
+ A run paused on its failure has a bundle too — written at the pause, from
268
+ the page the failure happened on — so these six answer while the browser
269
+ is still standing there, which is when the answer is worth most. See
270
+ `debugger-tools.md` for what `runState` means and
271
+ how the frame behaves across `resume` and `abort_runtime`.
272
+
221
273
  ### Reading a box (6)
222
274
 
223
275
  The route these belong to is above, under
@@ -233,6 +285,50 @@ this is the list.
233
285
  - `box_queue` — who is waiting, who is running
234
286
  - `box_screenshot` — one frame the run captured, as an image
235
287
 
288
+ ### Cloud account (9)
289
+
290
+ The account that rents boxes, as tools: the same operations as the
291
+ `box` commands and `approvals`, through the same code, so a box reads the
292
+ same whether an agent or a person asked. They act with the key
293
+ `npx @unotest/web login` stored on this machine (or
294
+ `UNOTEST_CLOUD_TOKEN`).
295
+
296
+ - `cloud_boxes_list` — every box on the account, with its state
297
+ - `cloud_box_status` — one box: state, address, paid-until, projects,
298
+ Picker
299
+ - `cloud_box_create` — rent a box (`name`, `envs`, `size?`, `picker?`)
300
+ - `cloud_box_destroy` — delete a box and everything on it
301
+ - `cloud_box_access` — a fresh push + read token pair, written into
302
+ `unotest/.env` and `unotest/.secrets` the way `box access` does. No
303
+ token is ever typed or copied: the answer names what was written where,
304
+ never a value
305
+ - `cloud_box_update` — move a box to the version the cloud offers it
306
+ - `cloud_box_logs` — the end of the box's `bootstrap` or `updater` log
307
+ - `cloud_balance` — what is left on the account
308
+ - `cloud_approval_wait` — wait for a person to answer a request; without
309
+ an `id`, list what is waiting
310
+
311
+ What they answer instead of failing, so an agent can act on it:
312
+
313
+ | answer | when | what to do |
314
+ |---|---|---|
315
+ | `{state: "not-logged-in", next}` | no cloud login on this machine | ask your person to run `next` |
316
+ | `{state: "approval-pending", approval, next}` | a create or a delete by a key that may not spend or delete by itself | call `cloud_approval_wait` with `approval.id`; a person answers in the cabinet |
317
+ | `{state: "top-up-needed", firstHourCents, balanceCents, missingCents, url}` | `cloud_box_create` with a balance short of the first hour; a figure the key may not read is `null` | ask your person to add credit on the cabinet page at `url`, then create again — there is no top-up an agent can make |
318
+ | `{state: "still-waiting"}` | nobody answered within `timeoutSeconds` | call `cloud_approval_wait` again |
319
+ | `{state: "declined"}` / `{state: "expired"}` | a person said no, or nobody answered in ten minutes | nothing was created and nothing was charged |
320
+ | `{state: "insufficient-scope"}` | the key lacks the permission the tool needs | ask the account's owner for a key that has it |
321
+ | `{kind: "requested"}` from `cloud_box_logs` | the box sends its log on its next five-minute check | call again after that |
322
+
323
+ Only the CI key of an operator account, one that unotest runs itself, acts
324
+ with nobody watching. Every key a customer holds — one an agent got through
325
+ `login`, and a CI key issued before keys for agents existed — waits for a
326
+ person on renting, deleting and turning the Picker on, and no tool can
327
+ approve its own request.
328
+
329
+ They are not in `UNOTEST_TOOLSET=core`: a recording agent has no use for
330
+ them.
331
+
236
332
  ### `ground_element` (1, experimental, off by default)
237
333
 
238
334
  Registered when `UNOTEST_GROUNDER_MODE` is `local` or `remote` for the
@@ -624,6 +720,9 @@ What the server **cannot** do (by design — D-25):
624
720
  What it **can** do (with your approval):
625
721
 
626
722
  - Run your scenarios + drive browsers
723
+ - Act on your unotest cloud account through the `cloud_*` tools, with the
724
+ key `login` stored — renting, deleting and turning the Picker on wait
725
+ for a person in the cabinet
627
726
  - Read failure artifacts from `.unotest/failures/`
628
727
  - Execute sandbox primitives — `shell(cmd, …args)` (execFile, not
629
728
  shell), `dbQuery` / `dbExec` (against `sandbox.database`), `apiCall`
@@ -1056,6 +1056,25 @@ The variable must hold an http(s) URL; an unknown name fails with the
1056
1056
  usual "add it to unotest/.env" message. URLs never appear in the
1057
1057
  scenario — hosts are controlled by project env files only.
1058
1058
 
1059
+ **With an environment overlay active, the base must come from it.**
1060
+ Running `--env dev` while `API_BASE_CHAT` is set only in the base
1061
+ `unotest/.env` is refused — before the browser, by `lint`, by the run
1062
+ and by the MCP tools alike — because the call would otherwise go to the
1063
+ base host while everything else in the run resolves against `dev`. Set
1064
+ the name in `unotest/.env.dev`, or, when the base value really is meant
1065
+ for every environment, list the name in the config:
1066
+
1067
+ ```js
1068
+ // unotest/unotest.config.mjs
1069
+ export default { env: { shared: ['API_BASE_CHAT'] } };
1070
+ ```
1071
+
1072
+ A value supplied by the process environment (a shell variable, a box)
1073
+ is never affected: the rule is about a value silently inherited from a
1074
+ file the overlay was supposed to replace. The same rule covers
1075
+ `APP_BASE_URL` (the base every relative `goto` resolves against) and a
1076
+ variable used as the URL in `goto(NAME)`.
1077
+
1059
1078
  **Multipart file upload — `upload(path, options?)`.** Passing the
1060
1079
  result of `upload(...)` as the body posts `multipart/form-data`:
1061
1080
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unotest/web",
3
- "version": "0.42.0",
3
+ "version": "0.43.0",
4
4
  "description": "AI-native E2E testing for web applications. MCP server (run_test / step / resume / inspect_runtime / agent_fix) + CLI runner + JavaScript DSL scenarios on a sandboxed AST engine + semantic DOM snapshots.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -83,18 +83,18 @@
83
83
  "tsx": "^4.19.2",
84
84
  "yaml": "^2.6.0",
85
85
  "zod": "^3.23.8",
86
- "@unotest/core": "^0.42.0",
87
- "@unotest/grounder-client": "^0.42.0",
88
- "@unotest/dsl": "^0.42.0",
89
- "@unotest/viewer": "^0.42.0",
90
- "@unotest/protocol": "^0.42.0"
86
+ "@unotest/core": "^0.43.0",
87
+ "@unotest/grounder-client": "^0.43.0",
88
+ "@unotest/viewer": "^0.43.0",
89
+ "@unotest/protocol": "^0.43.0",
90
+ "@unotest/dsl": "^0.43.0"
91
91
  },
92
92
  "devDependencies": {
93
93
  "@types/node": "^22.10.0",
94
94
  "javascript-obfuscator": "^4.1.1",
95
95
  "tsup": "^8.5.1",
96
96
  "typescript": "^5.7.2",
97
- "@unotest/grounder": "^0.42.0",
98
- "@unotest/judge": "^0.42.0"
97
+ "@unotest/grounder": "^0.43.0",
98
+ "@unotest/judge": "^0.43.0"
99
99
  }
100
100
  }