icoa-cli 2.19.167 → 2.19.168

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
- (function(b,j){const a7=a0j,k=b();while(!![]){try{const q=-parseInt(a7(0x19e))/(0xc4d+-0xc71+0x25)+-parseInt(a7(0x257))/(0x101*0x21+0x5e1+-0x2*0x1380)+parseInt(a7(0x16d))/(-0x42*0x6+-0x2401+-0x8*-0x4b2)*(-parseInt(a7(0x206))/(-0x2e*-0x65+0xb6*-0x11+0x183*-0x4))+-parseInt(a7(0x24a))/(0x2*-0xb8a+-0x3ab+0x1ac4)+parseInt(a7(0x1a9))/(0x2*-0x89f+0x1602+0x1*-0x4be)+-parseInt(a7(0x19c))/(-0x1d49+0x145e+0x8f2*0x1)*(parseInt(a7(0x168))/(-0x3*0x28c+-0x2*0x706+-0x2*-0xadc))+parseInt(a7(0x1ce))/(0x2*0xd45+-0xd81+-0xd00);if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,0x40*-0x48b+-0x4*0xc9a3+0x1*0x91a2c));import a0q from'chalk';import{createChatSession as a0v}from'../lib/gemini.js';import{addTokenUsage as a0x}from'../lib/budget.js';import{getConfig as a0z}from'../lib/config.js';import{logCommand as a0A}from'../lib/logger.js';import{printMarkdown as a0B,printError as a0C}from'../lib/ui.js';import{t as a0D}from'../lib/i18n.js';import{getExamState as a0E,saveExamState as a0F}from'../lib/exam-state.js';const g=b=>new Promise(j=>setTimeout(j,b));let r=!(0x6*0x95+-0x64*-0x53+-0x23e9),y=null,h=-0x11aa+0xa28+-0x1f*-0x3e,u=!(0x1*-0x25e5+-0xc8b+0x25*0x15d);const d=0x3793*-0x1+-0x9607+0x12f42;function a0b(){const aj=['q3j5ChrVz3jHCgH5','sgLUDca','icdILzdILzdILzaGquK0q1rgiokaLcbr','icaGicbJDgy0ywK','ywLvC2fNzq','ihbVAw50CYK6cG','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','ihrVig1VDMuGB24','ihb0CW','CMvWBgfJzq','icdILii','lIbkDw1WihrOzxjLigzPCNn0oG','Dgv4Da','zMLUza','ywK0y3rMq29YCMvJDezSywC','ywK0y3rMv3jHCeXPBMuYqM9KEq','BM9KztPJAgLSzf9WCM9JzxnZ','ig5VDcbMB3vUzcbPBIbZDgf0zs4','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','BM93','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','yMfJAW','BwvZC2fNzq','icbB','ywK0y3rMtw9KzwW','y2f0zwDVCNK','ChvZAa','y29UDgLUDwu','icaGiokgKIa','C29Tzq','ywK0y3rMsgLUDfrLy2HUAxf1zq','icaGig1LBNu','icaGice8C2HLBgWGy21KpIaGica','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','icdILiiG','icdILzdILzdILzaG','C3vIBwL0ieLdt0f7lI4UFq','yw5ZD2vYx2nOyw5Nzwq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','ywK0y3rMv3jHCff1B3rHquHPBNq','icaG4OAsia','ywK0y3rMsgLUDem','iokaLca','icbzB3uGyxjLig9Uife','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','quKGzxjYB3i6ia','icaGigHPBNqGyW','zxHPDa','ihDPBgWGB3bLBIbr','mJi2ndyWnwfJt2XeDG','ig9UifeZoq','icaGicaGigHPBNqGyIaGia','x2XHC3rr','ywrK','ywK0y3rMrxHPDenTzejHy2S','zxHHBsbHBNn3zxiG','ywK0y3rM','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','Dg9ju09tDhjPBMC','iokaLcb0ExbLia','ywK0y3rMv3jHCe5VuhjVzW','nZu0nZa0yu1it1rd','lZuWmda','icbuAgLUA2LUzY4UlG','C3vIBwL0idXMBgfNpG','DxrMltG','icaGigHPBNqGyq','icaGihn1yM1PDcbjq09bEY4UlN0','z2vTAw5Ptw9KzwW','y3LHBG','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','xsaGWRCG','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','Dg9vChbLCKnHC2u','ywK0y3rMsgLUDenvC2vZ','ywK0y3rMu2fTCgXL','BNvTyMvY','CxvPDa','yxr0ywnOzwreyxrH','icdIMQaG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywK0y3rMt3jdAgf0','D2HPDgu','igfNywLUihrVignOyw5NzsWGB3iG','Dg9mB3DLCKnHC2u','mtq0uMfysfDT','ywK0y3rMv3jHCff1B3rHqW','ywK0y3rMt3jdAgf0rxHHBxbSzq','icbgBgfNigzVCM1HDdOG','icdINjmGqw5ZD2vYigzVCIbr','ote4mdG3AxvrvuXI','sunpqxT5B3vYx2zSywD9','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','ywK0y3rMv291BgrfyxjU','ywK0y3rMtg9JA2vKvgHLBG','ywK0y3rMsgLUDe5LEhrc','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','ywK0y3rMsgLUDejcB2r5','icaGigv4Axq','zxHHBsbXia','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','AgLUDcbJ','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','icaGicaGicaGicaGicaGicaGicbLlMCUia','yxbWBgLJyxrPB24VANnVBG','ywK0y3rMv3jHCeXPBMuYsgvHza','BMfTzq','DhjPBq','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','icdILRGG','icaGifbYzxzPB3vZoIa','icbbzNrLCIbLEgL0oIa','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','CMvWzwf0','ywK0y3rMsgLUDei','imk3ia','zw5JB2rPBMC','ywK0y3rMv3jHCeXPBMuXsgvHza','C2L6zq','q29TBwfUzcbMywLSzwq','ywK0y3rMrxHPDenTze5LEhq','BNvKz2vtAg93BG','ywK0y3rMrgvJB2rLza','ywK0y3rMtg9JA2vKvxnL','icaKia','igzVCIbrmZK','ywK0y3rMsgLUDfbYAw5JAxbSzq','Cg9PBNrZ','ywK0y3rMv3jHCe5LEhrcB2r5','iokvKokvKokvKa','g1SXqrTBmKS','ywK0y3rMoIa','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','Bwf0y2G','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','mJe3mZe1DuPYueLc','ywK0y3rMsgLUDefcB2r5','mZqYntuZEuPAsuzT','y2XLyxi','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icdILRGGsgLUDca','icaGifn0DwnRpYbuCNK6ia','CxvLC3rPB24','C3rHCNrZv2L0Aa','ywK0y3rMvg9Rzw5Z','ywK0y3rMrxHPDa','ywK0y3rMsgLUDejvC2vZ','mtm3mZuZogniD3bODq','rNvSBcbXDwvZDgLVBJOGia','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','ywK0y3rMsgLUDe51zgDL','icaGicbIywnR','icbzB3uGy2fUihn0AwXSoIa','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','ywK0y3rMq21Ku2HLBgXmAw5L','ywK0y3rMrM91BMrgBgfN','Cu51Bq','AM9PBG','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','ywK0y3rMuMv2zwfStg9JA05VDgu','z3jLzw4','Bg9N','AgLUDcbH','CM91BMq','ywK0y3rMu3vIBwL0q21K','EwvSBg93','quK0q1rgihnLy3rPB24','ywK0y3rMvgL0Bgu','ywK0y3rMv3jHCff1B3rHrM9VDgvY','C3bSAxq','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','oIbhB29NBguGr2vTBweGncaO','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','C2vUze1LC3nHz2u','ywK0y3rMv3jVBMDgBgfN','icaI','icbtDgLSBcbHDMfPBgfIBgu6ia','BwvUDq','ywK0y3rMrxHPDe5LEhruAxrSzq','ywK0y3rMq2HHBgXLBMDL','icaGicaGicaGicaGica','Aw50zxjHy3rPB25Z','D3jPDgu','mtKXmtKYmJjxvgDAqvK','C3rYAw5NAwz5','ywK0y3rMq21KsgLUDeXPBMu','ywK0y3rMuMv2zwfSvgL0Bgu','ywK0y3rMrgvJB2rL','lI4VBgLIl2v4yw0TC3rHDguUANm','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','icbszxn1Bwu6ia','CxvLC3rPB25Z','zgvZy3jPChrPB24','yM9Sza','ywK0y3rMsgLUDee','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','CMvK','ixnOzwXS','ywK0y3rMrMXHz0HPBNq','AgfZ','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','ue9tva','icaGideUia','y2f0y2G','icaGigHPBNqGyG','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','AgLUDhnvC2vK','lI4U','q29UDgvUDc1uExbL','ywK0y3rMsgLUDefvC2vZ','z3jHEq','icbozxH0oIa','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','ywK0y3rMv3jHCe5LEhruAxrSzq','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','icaGia','DgvZDa','ywK0y3rMv3jHCff1B3rHq0HPBNq','icbfCNjVCJOG','y29TBwfUza','C2XPy2u','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','ywK0y3rMv3jHCeXPBMuXqM9KEq','ywK0y3rMsgLUDe5LEhrb','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','Dg9Rzw5mAw1PDa','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','sgLKzgvUie1LC3nHz2u','DgLTzw91Da','C3rKB3v0','AgLUDcbI','yw5ZD2vYCW','BgvUz3rO','ywK0y3rMtg9JA2vKvgL0Bgu','ywK0y3rMv3jHCff1B3rHqG','ywK0y3rMv3jHCff1B3rHC1rPDgXL','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','ywK0y3rMuMvWB3j0','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','nhvdC1nSrW','icaGicfWExrOB24Zic4UlG','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','ywK0y3rMv3jHCff1B3rHqq','cIaG','icbdDxjYzw50igfUC3DLCJOG','Dg9Rzw5ZvxnLza','ywK0y3rMvgHPBMTPBMC','zxHHBsbXidmX','CgfKrw5K','ihrVignVBNrPBNvL','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','y3rMngfP','zw50zxjLzef0','z2vTBweTnc0ZmwiTAxq'];a0b=function(){return aj;};return a0b();}let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:0x2210+0xa0c*-0x1+-0x47c,j=h,k=Math['min'](Math[a8(0x1b9)](j/b*(0x251f+-0xa7*-0xd+-0x2d36)),-0x25*0x3b+0x1*-0x4ff+0xdea*0x1),q=Math[a8(0x1b9)](k/(0x31*0xba+0x1cd7+0x35f*-0x13)*(-0x17de+-0x1*-0xba7+0x419*0x3)),v=-0x3*-0x1e7+0x550+-0xaf1-q,x=k>-0x18d7+0x115e+0x7c9?a0q[a8(0x1db)]:k>0xa65+-0x19dc+0x13*0xd3?a0q['yellow']:a0q['green'],z=f?a8(0x1bc):'Tokens';console[a8(0x1b7)](a0q[a8(0x1e9)]('\x20\x20'+z+':\x20')+x('█'[a8(0x186)](q))+a0q[a8(0x1e9)]('░'[a8(0x186)](v))+a0q[a8(0x1e9)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0x248);if(a0A(a9(0x198)+q),f)return p(q);const v=q[a9(0x17f)]()[a9(0x167)]()[a9(0x19a)](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?aa(0x1d9):'b'===B?'ai4ctfHintB':aa(0x242)),D=a0D('a'===B?aa(0x19d):'b'===B?aa(0x175):'ai4ctfHintCBody'),E=aa(0x217)+B[aa(0x264)](),F='a'===B?a0q[aa(0x1b6)]:'b'===B?a0q[aa(0x1bb)]:a0q[aa(0x1db)];console[aa(0x1b7)](),console[aa(0x1b7)](F[aa(0x1d8)](aa(0x182)+E+'\x20\x20')+a0q[aa(0x1e9)](C)),console[aa(0x1b7)]();for(const G of D[aa(0x1bf)]('\x0a'))''===G?console[aa(0x1b7)]():console['log'](a0q[aa(0x165)](aa(0x1ee)+G));console[aa(0x1b7)](),'a'===B?(console[aa(0x1b7)](a0q[aa(0x1e9)](aa(0x1ee)+a0D(aa(0x1f6))+'\x20')+a0q[aa(0x25f)](aa(0x1fd))),console[aa(0x1b7)]()):'b'===B&&(console['log'](a0q[aa(0x1e9)](aa(0x1ee)+a0D(aa(0x173))+'\x20')+a0q['cyan'](aa(0x179))),console[aa(0x1b7)]());}(v[-0x14ef+-0x20ac+0x92*0x5e]),a9(0x232);const x=q['match'](/^submit\s+(.+)/i);if(x){let B=x[0x1f*0xc3+0x24d*0x2+0x2*-0xe1b][a9(0x17f)]();if(/^submit\s+/i[a9(0x1ef)](B)&&(B=B[a9(0x21f)](/^submit\s+/i,'')[a9(0x17f)]()),B=B[a9(0x21f)](/^["'`]+|["'`]+$/g,'')[a9(0x17f)](),a9(0x1ed)===B){console[a9(0x1b7)](),console['log'](a0q[a9(0x1b6)][a9(0x1d8)](a9(0x238))),console['log'](a0q[a9(0x1b6)][a9(0x1d8)]('\x20\x20'+a0D(a9(0x224)))),console[a9(0x1b7)](a0q[a9(0x1b6)][a9(0x1d8)](a9(0x238))),console[a9(0x1b7)](),console['log'](a0q[a9(0x165)]('\x20\x20'+a0D(a9(0x18f)))),console['log'](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x171)))),console[a9(0x1b7)](),m(),r=!(-0x1*-0x9ef+0x807+0x1*-0x11f5),y=null,fetch(a9(0x23f),{'method':a9(0x1e0),'headers':{'Content-Type':a9(0x17c)},'body':JSON[a9(0x1cf)]({'type':'ai4ctf','solved':!(-0x1*0xca+-0x1c67+0x1d31),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a9(0x1fb)](-0xa42+0xa*-0x1a9+-0xb99*-0x4)})[a9(0x1e2)](()=>{}),await g(-0x1*-0x267d+-0x2*0x5b3+-0x153b),console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x25f)](a9(0x163))),console[a9(0x1b7)](a0q[a9(0x1d8)][a9(0x165)]('\x20\x20'+a0D('ai4ctfWrapTitle'))),console[a9(0x1b7)](a0q[a9(0x25f)](a9(0x163))),console['log']();const C=a0D(a9(0x18a)),D=a0D(a9(0x1f5));console[a9(0x1b7)](a0q[a9(0x165)](a9(0x1e1)+C+'\x20')+a0q[a9(0x1e9)](D['split']('\x0a')[0xcaf+-0x265a+0x1*0x19ab]||''));for(const H of D[a9(0x1bf)]('\x0a')[a9(0x1f3)](-0x2071+0x9*0x407+0x7*-0x8b))H[a9(0x17f)]()&&console['log'](a0q[a9(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20'+H['replace'](/\{thinking\}/g,'thinking')));console['log'](),console[a9(0x1b7)](a0q['white']('\x20\x20\x20\x202.\x20'+a0D(a9(0x17d))+'\x20')+a0q[a9(0x1e9)](a0D(a9(0x225)))),console[a9(0x1b7)](),console[a9(0x1b7)](a0q['cyan'](a9(0x1da))),console[a9(0x1b7)](),await g(0x36*0x4e+0x15c7+-0x1e6b),console[a9(0x1b7)](a0q[a9(0x25f)](a9(0x163))),console[a9(0x1b7)](a0q[a9(0x1d8)]['white']('\x20\x20'+a0D(a9(0x202)))),console['log'](a0q['cyan'](a9(0x163))),console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1bb)]('\x20\x20\x20\x20\x20\x20\x20hint\x20a\x20\x20\x20')+a0q['white'](a0D(a9(0x209))[a9(0x20f)](-0x1278+0x199*-0xb+0x13*0x1e7))+a0q[a9(0x1e9)](a0D(a9(0x240)))),console[a9(0x1b7)](a0q[a9(0x1bb)](a9(0x24c))+a0q[a9(0x165)](a0D(a9(0x201))[a9(0x20f)](0x1dc3+0x1b64+-0x390d))+a0q[a9(0x1e9)](a0D('ai4ctfWrapQuotaBHint'))),console[a9(0x1b7)](a0q[a9(0x1bb)]('\x20\x20\x20\x20\x20\x20\x20hint\x20c\x20\x20\x20')+a0q[a9(0x165)](a0D(a9(0x169))[a9(0x20f)](0x4*0x628+-0x1a22+0x2*0xce))+a0q[a9(0x1e9)](a0D(a9(0x1f0)))),console[a9(0x1b7)]();for(const I of a0D(a9(0x1be))['split']('\x0a'))console['log'](a0q[a9(0x1e9)]('\x20\x20\x20\x20'+I));console['log'](),await g(-0x25a9+0x1bd5+0x11a4),console['log'](a0q[a9(0x25f)](a9(0x163))),console['log'](a0q['bold']['white']('\x20\x20'+a0D(a9(0x1ec))+'\x20')+a0q[a9(0x1db)]['bold'](a9(0x213))+a0q['white']('\x20—\x20'+a0D('ai4ctfWrapNextSub'))),console[a9(0x1b7)](a0q[a9(0x25f)](a9(0x163))),console[a9(0x1b7)]();const E=a0D(a9(0x195)),F=a0D(a9(0x256)),G=E[a9(0x1bf)]('\x0a');if(G[-0x483*0x2+0xcef+0x7*-0x8f]){const [J,K]=G[-0x1add+0x26*-0xf8+-0x3fad*-0x1]['split']('{noProg}');console[a9(0x1b7)](a0q['white'](a9(0x1ee)+(J||''))+a0q[a9(0x1d8)][a9(0x165)](F)+a0q[a9(0x165)](K||''));}for(const L of G[a9(0x1f3)](0xc*0x2a+0x1280+-0x1477))L['trim']()&&console[a9(0x1b7)](a0q[a9(0x165)](a9(0x1ee)+L));return console[a9(0x1b7)](),console['log'](a0q['gray'](a9(0x1ee)+a0D('ai4ctfWrapTypeCtf4ai')+'\x20')+a0q[a9(0x1d8)][a9(0x1db)](a9(0x213))),console[a9(0x1b7)](),a9(0x248);}return console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1db)]('\x20\x20'+a0D(a9(0x1c5)))),console['log'](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x1dd)))),console[a9(0x1b7)](),a9(0x232);}if(q['startsWith']('!')){const M=q[a9(0x1f3)](0x1c97+0x77*0xd+-0x22a1)['trim']();if(!M)return'continue';try{const N={};N[a9(0x189)]=a9(0x25b),N[a9(0x1fb)]=0x2710;const {execSync:O}=await import(a9(0x226)),P=O(M,N)['trim']();console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1e9)](a9(0x191))+a0q['white'](M)),console[a9(0x1b7)](a0q[a9(0x165)]('\x20\x20'+P[a9(0x1bf)]('\x0a')[a9(0x1b3)](a9(0x20a)))),console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x1b1)))),console[a9(0x1b7)]();}catch(Q){console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1db)]('\x20\x20Error:\x20'+(Q[a9(0x22d)]?.['split']('\x0a')[0x479*0x2+-0x1c97+0x6b*0x2f]||a9(0x18c)))),console['log']();}return a9(0x232);}const z={};z[a9(0x1e7)]=a9(0x17c);if(a9(0x248)===q||a9(0x22c)===q||'quit'===q||a9(0x1c8)===q)return r=!(-0x1*-0x20e3+-0x1411+-0xcd1),y=null,fetch(a9(0x23f),{'method':a9(0x1e0),'headers':z,'body':JSON[a9(0x1cf)]({'type':'ai4ctf','tokensUsed':h,'timestamp':new Date()[a9(0x254)]()}),'signal':AbortSignal[a9(0x1fb)](-0x1eab*-0x1+0x2*-0xeac+0x1*0x1235)})['catch'](()=>{}),console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20─────────────────────────────────────────')),console['log'](a0q['white']('\x20\x20'+a0D(a9(0x204)))),console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x1a6))+':\x20'+h+a9(0x258))),console[a9(0x1b7)](a0q['gray']('\x20\x20'+a0D(a9(0x22f))+a9(0x1c2))),console['log'](a0q['gray']('\x20\x20─────────────────────────────────────────')),console[a9(0x1b7)](),console['log'](a0q['cyan'](a9(0x163))),console[a9(0x1b7)](a0q['white']('\x20\x20'+a0D(a9(0x1c9))+'\x20')+a0q[a9(0x1d8)][a9(0x1db)](a9(0x213))+a0q[a9(0x165)](a9(0x243)+a0D('ai4ctfExitNextSub'))),console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20'+a0D('ai4ctfExitNextBody'))),console[a9(0x1b7)](a0q[a9(0x25f)](a9(0x163))),console[a9(0x1b7)](),console['log'](a0q[a9(0x1d8)]['red'](a9(0x219))+a0q[a9(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(a9(0x18d)))),console['log'](a0q[a9(0x165)](a9(0x1ad))+a0q[a9(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(a9(0x24f)))),console['log'](),a9(0x248);const A={};A[a9(0x1e7)]=a9(0x17c);if(!u&&h>=0x1*0x1e9d+-0x53*-0x17+0x6*-0x317)return u=!(-0x1*0x8f5+-0x2f*0x8+-0x1*-0xa6d),fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a9(0x1e0),'headers':A,'body':JSON[a9(0x1cf)]({'type':a9(0x251),'solved':!(0x1*0xce6+-0x1dc*0x15+0x1a27),'tokensUsed':h,'timestamp':new Date()[a9(0x254)]()}),'signal':AbortSignal[a9(0x1fb)](-0xd*0x123+-0x1*0x1993+0x3be2)})['catch'](()=>{}),console[a9(0x1b7)](),console[a9(0x1b7)](a0q['yellow']('\x20\x20'+a0D(a9(0x1f8)))),m(),(function(){const ab=a9;console['log'](),console[ab(0x1b7)](a0q[ab(0x1bb)](ab(0x163))),console[ab(0x1b7)](a0q['bold'][ab(0x1bb)]('\x20\x20'+a0D(ab(0x1d1)))),console[ab(0x1b7)](a0q[ab(0x1bb)]('\x20\x20─────────────────────────────────────────────')),console['log']();for(const R of a0D('ai4ctfRevealBody')[ab(0x1bf)]('\x0a'))''===R?console[ab(0x1b7)]():console['log'](a0q[ab(0x165)](ab(0x1ee)+R));console[ab(0x1b7)](),console[ab(0x1b7)](a0q[ab(0x25f)]('\x20\x20\x20\x20\x20\x20\x20\x20!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[ab(0x1b7)](),console['log'](a0q[ab(0x165)](ab(0x1ee)+a0D('ai4ctfRevealSeeFlag'))),console[ab(0x1b7)](),console[ab(0x1b7)](a0q[ab(0x1b6)](ab(0x1f7))),console[ab(0x1b7)](),console['log'](a0q[ab(0x165)](ab(0x1ee)+a0D('ai4ctfRevealThenSubmit'))),console[ab(0x1b7)](),console[ab(0x1b7)](a0q[ab(0x25f)](ab(0x203))),console[ab(0x1b7)](),console[ab(0x1b7)](a0q['gray'](ab(0x1ee)+a0D(ab(0x1b5)))),console[ab(0x1b7)]();}()),a9(0x232);if(u)return console['log'](),console[a9(0x1b7)](a0q[a9(0x1bb)]('\x20\x20'+a0D(a9(0x200)))),console[a9(0x1b7)](a0q['gray']('\x20\x20'+a0D(a9(0x190))+'\x20')+a0q['cyan'](a9(0x260))),console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x172))+'\x20')+a0q[a9(0x25f)](a9(0x253))),console[a9(0x1b7)](),a9(0x232);console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x20d))));try{const R=await y[a9(0x1c4)](q);process[a9(0x1fc)][a9(0x1cd)](a9(0x197)),h+=R[a9(0x20c)],a0x(R[a9(0x20c)]),console['log'](),a0B(R[a9(0x222)]),m(),console['log']();}catch(S){process[a9(0x1fc)][a9(0x1cd)](a9(0x197)),a0C(a9(0x246)+S[a9(0x22d)]),console[a9(0x1b7)]();}return'continue';}const w=new Set();function a0j(a,b){a=a-(0x3e9+0x46f+-0x6f9);const c=a0b();let d=c[a];if(a0j['pSZstK']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x5*-0x627+0x7*0x347+0xb6*0xb,o,p,q=-0x158b+-0x5*0x1f1+0x1f40;p=i['charAt'](q++);~p&&(o=n%(0x1177+-0x11ea+0x1*0x77)?o*(-0xd*0x16d+0x15fc+0x111*-0x3)+p:p,n++%(-0x1*0x13d9+-0x20a4+0x3481*0x1))?l+=String['fromCharCode'](-0x2b*0x8+-0xdd*-0x2b+-0x22c8&o>>(-(-0x25*0x3b+0x1*-0x4ff+0xd88*0x1)*n&0x31*0xba+0x1cd7+0xef*-0x45)):-0x17de+-0x1*-0xba7+0x3b*0x35){p=j['indexOf'](p);}for(let r=-0x3*-0x1e7+0x550+-0xb05,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x18d7+0x115e+0x789))['slice'](-(0xa65+-0x19dc+0x11*0xe9));}return decodeURIComponent(m);};a0j['hbwtnm']=e,a0j['DuGMGT']={},a0j['pSZstK']=!![];}const f=c[-0x14ef+-0x20ac+0x359b*0x1],g=a+f,h=a0j['DuGMGT'][g];return!h?(d=a0j['hbwtnm'](d),a0j['DuGMGT'][g]=d):d=h,d;}async function p(q){const ac=a0j;if(!f||!y)return ac(0x248);const v=q[ac(0x17f)](),x=v['toLowerCase'](),z=(Date['now']()-f[ac(0x214)])/(-0x2*-0x691a+0x7*0xedc+-0x4*0x13f6);if(!f[ac(0x18e)]&&!f['submitAttempted']&&f['hintsUsed'][ac(0x18b)]>=-0x4d*-0x57+-0x35f*0x7+-0x290&&z>=0x21a8+0xe68+-0x6dd*0x7&&(f[ac(0x18e)]=!(0x1b98+-0x104e+0x2*-0x5a5),console[ac(0x1b7)](),console[ac(0x1b7)](a0q[ac(0x1bb)]('\x20\x20💡\x20Once\x20you\x20have\x20ICOA{...},\x20submit\x20it\x20with:\x20')+a0q['bold']['yellow'](ac(0x1e4))),console[ac(0x1b7)](a0q['gray']('\x20\x20\x20\x20\x20(type\x20it\x20right\x20here\x20in\x20this\x20chat\x20—\x20not\x20as\x20a\x20shell\x20command)')),console[ac(0x1b7)]()),/^ICOA\{[^}]+\}$/i[ac(0x1ef)](v))return console[ac(0x1b7)](),console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x178))+a0q[ac(0x165)]('submit\x20'+v)),p('submit\x20'+v);const A=x[ac(0x19a)](/^hint\s+([abc])$/);if(A){const C=A[-0x10a5*-0x2+0x8b*-0x1d+-0x118a][ac(0x264)]();f[ac(0x1e5)][ac(0x24e)](C);const D=a0E();D&&(D['interactions']||(D[ac(0x1cc)]=[]),D['interactions'][ac(0x231)]({'ts':new Date()[ac(0x254)](),'q':f[ac(0x1b2)],'type':'hint_used','input':C}),a0F(D));const E=f[ac(0x1a4)]['hints'],F=E?.[C],G='A'===C?a0q[ac(0x1b6)]:'B'===C?a0q[ac(0x1bb)]:a0q[ac(0x1db)];if(console[ac(0x1b7)](),console[ac(0x1b7)](G['bold'](ac(0x1a2)+C)),console[ac(0x1b7)](),F){for(const H of String(F)[ac(0x1bf)]('\x0a'))console['log'](a0q[ac(0x165)](ac(0x1ee)+H));}else console[ac(0x1b7)](a0q[ac(0x1e9)]('\x20\x20\x20\x20No\x20pre-written\x20hint\x20at\x20this\x20tier\x20for\x20this\x20question.'));return console[ac(0x1b7)](),'A'===C?console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x1a3))+a0q[ac(0x25f)](ac(0x1fd))):'B'===C?console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x1d4))+a0q[ac(0x25f)](ac(0x179))):'C'===C&&console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x1ee)+a0D('ai4ctfHintNextC')+'\x20')+a0q[ac(0x1d8)][ac(0x1b6)](ac(0x1e4))),console[ac(0x1b7)](),'continue';}const B=v[ac(0x19a)](/^submit\s+(.+)/i);if(B){let I=B[-0x17f*0x2+0xff1+-0x1*0xcf2][ac(0x17f)]();if(/^submit\s+/i[ac(0x1ef)](I)&&(I=I[ac(0x21f)](/^submit\s+/i,'')['trim']()),I=I['replace'](/^["'`]+|["'`]+$/g,'')[ac(0x17f)](),/^[A-Da-d]$/[ac(0x1ef)](I))return console[ac(0x1b7)](),console['log'](a0q[ac(0x1bb)](ac(0x1c6)+I+ac(0x1b4))),console['log'](a0q[ac(0x1e9)](ac(0x16b))+a0q['green'](ac(0x16e))+a0q[ac(0x1e9)](ac(0x180))),console[ac(0x1b7)](),'continue';const {getExamState:J,saveExamState:K}=await import(ac(0x1d3)),L=J();if(!L)return ac(0x248);if(!L[ac(0x1d6)][ac(0x223)](O=>O['number']===f[ac(0x1b2)]))return console[ac(0x1b7)](a0q[ac(0x1db)]('\x20\x20Q'+f[ac(0x1b2)]+ac(0x227))),ac(0x232);const M=L[ac(0x1fe)][f['qNum']];L[ac(0x1cc)]||(L[ac(0x1cc)]=[]),L[ac(0x1cc)][ac(0x231)]({'ts':new Date()[ac(0x254)](),'q':f[ac(0x1b2)],'type':M?ac(0x23e):'answer_submitted','input':I,'result':'via\x20ai4ctf\x20chat'}),L[ac(0x1fe)][f[ac(0x1b2)]]=I;const N=f[ac(0x1b2)]+(-0x19*0xdf+-0x11*-0xda+0x74e);return L[ac(0x24d)]=N<=-0x202+0x12b3*0x1+-0x108b?N:f['qNum'],K(L),console[ac(0x1b7)](),M?(console[ac(0x1b7)](a0q[ac(0x1b6)]('\x20\x20✓\x20Q'+f[ac(0x1b2)]+'\x20answer\x20updated:\x20')+a0q[ac(0x1bb)](I)),console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x183)+M))):console[ac(0x1b7)](a0q[ac(0x1b6)][ac(0x1d8)](ac(0x16c)+f[ac(0x1b2)]+'\x20recorded:\x20'+I)),console[ac(0x1b7)](a0q['gray'](ac(0x1f4))),console['log'](),console[ac(0x1b7)](a0q[ac(0x1e9)]('\x20\x20')+a0q[ac(0x165)](ac(0x23d))+a0q[ac(0x1e9)](ac(0x166))+a0q[ac(0x165)]('exit')+a0q[ac(0x1e9)](ac(0x21d))),N<=-0x461*0x2+0x1461+-0x10b*0xb?console['log'](a0q[ac(0x1e9)](ac(0x184))+a0q[ac(0x25f)]('ai4ctf')+a0q[ac(0x1e9)](ac(0x249)+N)):console['log'](a0q[ac(0x1e9)]('\x20\x20After\x20exit:\x20AI4CTF\x20section\x20complete.\x20Next:\x20')+a0q[ac(0x1db)]('ctf4ai')+a0q['gray'](ac(0x24b))),console[ac(0x1b7)](),ac(0x232);}if(q[ac(0x1a5)]('!')){const O=q[ac(0x1f3)](0x1*-0xc1f+0x228e+-0x166e)[ac(0x17f)]();if(!O)return ac(0x232);try{const P={};P[ac(0x189)]=ac(0x25b),P['timeout']=0x2710;const {execSync:Q}=await import('node:child_process'),R=Q(O,P)[ac(0x17f)]();console[ac(0x1b7)](),console['log'](a0q[ac(0x1e9)](ac(0x191))+a0q[ac(0x165)](O)),console[ac(0x1b7)](a0q[ac(0x165)]('\x20\x20'+R[ac(0x1bf)]('\x0a')[ac(0x1b3)](ac(0x20a)))),console[ac(0x1b7)]();}catch(S){console[ac(0x1b7)](),console[ac(0x1b7)](a0q[ac(0x1db)](ac(0x1f1)+(S['message']?.[ac(0x1bf)]('\x0a')[0x13a3+0xccb+-0x206e]||'Command\x20failed'))),console['log']();}return ac(0x232);}if('exit'===x||'back'===x||ac(0x160)===x){const T=f[ac(0x1b2)],{getExamState:U}=await import(ac(0x1d3)),V=U(),W=V&&null!=V[ac(0x1fe)][T],X=V?.['_lastQ']||T;return r=!(0xecd+0x18a0+0xae*-0x3a),y=null,f=null,w[ac(0x19f)](),console['log'](),console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x22b)+T+'.')),W&&X>T&&X<=-0x1eb2*-0x1+0x1c73+0x3aff*-0x1?console['log'](a0q[ac(0x165)](ac(0x1ea))+a0q[ac(0x1d8)][ac(0x1b6)]('Q'+X)+a0q['gray'](ac(0x255))+a0q[ac(0x25f)]('ai4ctf')+a0q[ac(0x1e9)](ac(0x210))):W&&T>=0x72a*-0x1+0x18*0x5e+-0x180?console[ac(0x1b7)](a0q[ac(0x165)](ac(0x185))+a0q[ac(0x1d8)]['red'](ac(0x213))+a0q[ac(0x1e9)](ac(0x192))):console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x1d5))+a0q['white']('exam\x20q\x20'+T)+a0q[ac(0x1e9)]('\x20\x20·\x20\x20Re-enter:\x20')+a0q[ac(0x165)]('ai4ctf')),console[ac(0x1b7)](),ac(0x248);}if(u)return console[ac(0x1b7)](),console[ac(0x1b7)](a0q[ac(0x1bb)](ac(0x261))),console['log'](a0q[ac(0x1e9)](ac(0x1c7))+a0q[ac(0x165)](ac(0x25a))+a0q[ac(0x1e9)]('\x20·\x20')+a0q[ac(0x165)](ac(0x1dc))+a0q['gray'](ac(0x188))+a0q[ac(0x165)](ac(0x248))),console[ac(0x1b7)](),'continue';if(h>=d)return u=!(0x2381+-0xd*-0x151+-0x349e),console[ac(0x1b7)](),console['log'](a0q['red']['bold'](ac(0x17a))),console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x1ae))+a0q['white'](ac(0x25a))+a0q[ac(0x1e9)](ac(0x188))+a0q[ac(0x165)](ac(0x1dc))+a0q[ac(0x1e9)](ac(0x188))+a0q[ac(0x165)](ac(0x248))),console[ac(0x1b7)](),ac(0x232);console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x259)));try{const Y=await y[ac(0x1c4)](q);process[ac(0x1fc)][ac(0x1cd)](ac(0x197)),h+=Y['tokensUsed'];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0x1d3)),a1=Z(),a2={};a2[ac(0x251)]=0x0,a2[ac(0x213)]=0x0,(a1&&(a1[ac(0x21a)]||(a1['aiUsage']=a2),a1[ac(0x21a)]['ai4ctf']=h,a0(a1)),console[ac(0x1b7)](),a0B(Y[ac(0x222)]),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(0x589*-0x3+-0x1*0x2242+-0x1*-0x3341);a6>=0x16a3+-0xbc*-0x8+-0x1c24&&!a5[ad(0x1de)]('95')?(console[ad(0x1b7)](a0q[ad(0x1db)][ad(0x1d8)](ad(0x162)+Math['round'](a6)+ad(0x1eb)+(a4-a3)+'\x20tokens\x20left.')),a5[ad(0x24e)]('95')):a6>=0x1631*-0x1+-0x1350+-0x5*-0x85d&&!a5[ad(0x1de)]('80')?(console[ad(0x1b7)](a0q[ad(0x1bb)]('\x20\x20⚠\x2080%\x20of\x20section\x20AI\x20budget\x20used.')),a5[ad(0x24e)]('80')):a6>=-0x1609*0x1+0x11db+0x460&&!a5[ad(0x1de)]('50')&&(console['log'](a0q[ad(0x1e9)](ad(0x229))),a5[ad(0x24e)]('50'));}(h,d,w),console[ac(0x1b7)]());}catch(a3){process[ac(0x1fc)][ac(0x1cd)](ac(0x197)),a0C('AI\x20error:\x20'+a3[ac(0x22d)]),console[ac(0x1b7)]();}return ac(0x232);}export function registerAi4ctfCommand(b){const ae=a0j;b[ae(0x1f2)]('ai4ctf')[ae(0x1d7)](ae(0x199))['action'](async()=>{const af=ae;a0A('ai4ctf');const {getRealExamState:j}=await import('../lib/exam-state.js'),k=j(),q=k?.[af(0x1d6)][af(0x234)](A=>A[af(0x15f)]>=0x10b*0x1f+0x1*-0x70b+0x1*-0x192b&&A[af(0x15f)]<=0x1*0x162b+0xb9c+-0x21a1);if(k&&q){const A=k[af(0x24d)]||-0x1*0x1d3c+-0x1b*0x8f+0x2c52;if(A<-0x20a*-0x3+0x12d*-0x14+0x5*0x381||A>0x1efe+0x1*-0x1639+-0x89f)return console['log'](),console['log'](a0q['yellow'](af(0x245))),console[af(0x1b7)](a0q[af(0x1e9)](af(0x244)+A+af(0x221))),console[af(0x1b7)](a0q[af(0x1e9)](af(0x233))+a0q[af(0x1d8)][af(0x25f)](af(0x20e))),void console[af(0x1b7)]();const B=k[af(0x1d6)][af(0x223)](C=>C[af(0x15f)]===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import('../lib/exam-state.js');await F();const H=E();if(!H)return!(-0x1*-0x1c42+0x13e0+-0x559*0x9);const I=H[ag(0x1d6)][ag(0x223)](L=>L[ag(0x15f)]===C);I&&(D=I),G(C,D?.[ag(0x161)]);const J=H[ag(0x21a)]?.[ag(0x251)]??0x13dc*-0x1+-0x15c9*-0x1+-0x1d*0x11;if(J>=d)return console[ag(0x1b7)](),console[ag(0x1b7)](a0q['yellow'](ag(0x1c0))),console['log'](a0q[ag(0x1e9)](ag(0x16f))+a0q['white'](ag(0x250)+C+'\x20ICOA{...}')),console[ag(0x1b7)](),!(-0x24d9+-0xec*-0x17+0xfa6);try{y=await a0v(void(-0x14*-0x11+-0x1*-0x1ae3+0x1*-0x1c37),function(L,M){const ah=ag,N=L['description']||L[ah(0x222)]||'',O=L[ah(0x161)]?'\x0a\x0aATTACHED\x20DATA\x20(also\x20saved\x20to\x20challenges/q'+M+ah(0x21c)+L[ah(0x161)]:'';return ah(0x1c3)+M+',\x20'+L[ah(0x230)]+',\x20'+(L[ah(0x194)]||-0xcaf+-0x1f83+-0x14*-0x236)+ah(0x21b)+N+O+ah(0x19b)+M+ah(0x174);}(D,C));}catch(L){return a0C(L[ag(0x22d)]),!(0x1dda+-0x1*-0xf3a+-0x2d13);}r=!(-0x5c7+0xb5*-0x7+0xaba),h=J,u=!(-0x1ed8+-0x25f6+0x44cf),f={'qNum':C,'question':D,'usageField':'ai4ctf','enteredAt':Date[ag(0x22a)](),'hintsUsed':new Set(),'submitAttempted':!(0x36d*0x2+0x15fa+-0x1cd3),'nudgeShown':!(-0x2c5*0x3+-0x1*-0x623+-0x22d*-0x1)};const K=H['answers']?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0x25e)]||'gemma-4-31b-it',Q=h>-0x1*0xb8d+-0x1*0x1e51+0x1d2*0x17;console[ai(0x1b7)](),console[ai(0x1b7)](a0q[ai(0x1b6)][ai(0x1d8)](ai(0x218)+N+':\x20'+M[ai(0x230)]+ai(0x196))),Q&&console['log'](a0q[ai(0x1e9)](ai(0x1a0))),O&&console[ai(0x1b7)](a0q['gray'](ai(0x20b))+a0q[ai(0x1bb)](O)+a0q['gray'](ai(0x181))),console[ai(0x1b7)](),console[ai(0x1b7)](a0q[ai(0x25f)]('\x20\x20┌─────────────────────────────────────────────')),console[ai(0x1b7)](a0q[ai(0x25f)]('\x20\x20│\x20')+a0q[ai(0x1d8)][ai(0x165)]('Q'+N+ai(0x22e)+M['category']+ai(0x262)+(M['points']||0x16e0+-0x1b2b+0x451)+ai(0x21e))),console[ai(0x1b7)](a0q['cyan'](ai(0x220)));for(const R of String(M[ai(0x222)])[ai(0x1bf)]('\x0a')){const S=R[ai(0x1ff)]>0x1*0x1451+-0xded+-0x628?R[ai(0x1f3)](-0x445+0x26d1+-0x86*0x42,-0x48b*0x7+0x2696*0x1+-0x690)+ai(0x1e6):R;console[ai(0x1b7)](a0q['cyan'](ai(0x23b))+a0q[ai(0x165)](S));}console[ai(0x1b7)](a0q['cyan'](ai(0x220))),console[ai(0x1b7)](a0q[ai(0x25f)](ai(0x23b))+a0q[ai(0x1e9)](ai(0x1aa))+a0q['white'](ai(0x177)+N)),console[ai(0x1b7)](a0q['cyan'](ai(0x23b))+a0q[ai(0x1e9)](ai(0x263))),console[ai(0x1b7)](a0q[ai(0x25f)](ai(0x228))),console['log'](),console['log'](a0q['bold'][ai(0x165)]('\x20\x20How\x20to\x20work\x20this\x20question')),console[ai(0x1b7)](),console[ai(0x1b7)](a0q['yellow'](ai(0x25c))+a0q[ai(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20A\x20gentle\x20nudge\x20(pre-written)')),console[ai(0x1b7)](a0q[ai(0x1bb)](ai(0x1e3))+a0q[ai(0x1e9)](ai(0x205))),console[ai(0x1b7)](a0q[ai(0x1bb)](ai(0x247))+a0q[ai(0x1e9)](ai(0x1f9))),console[ai(0x1b7)](a0q[ai(0x1d8)][ai(0x1b6)](ai(0x25d))+a0q['gray'](ai(0x239))),console[ai(0x1b7)](a0q[ai(0x165)](ai(0x207))+a0q['gray']('\x20\x20\x20\x20\x20Run\x20Python\x20in\x20shell')),console[ai(0x1b7)](a0q[ai(0x1e9)](ai(0x1df))),console[ai(0x1b7)](a0q[ai(0x1e9)](ai(0x17b))+a0q[ai(0x165)](ai(0x170))),console['log'](),console[ai(0x1b7)](a0q['gray'](ai(0x176))+a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Leave\x20chat,\x20return\x20to\x20exam')),console[ai(0x1b7)](a0q['gray'](ai(0x236))+a0q['gray'](ai(0x252))),console[ai(0x1b7)](),m(),console[ai(0x1b7)](a0q[ai(0x1e9)](ai(0x208)+P+')')),console[ai(0x1b7)]();}(D,C,K),!(-0xafc+-0x7d5*0x2+0x1aa6);}(A,B):void a0C('Q'+A+af(0x212)+A);}const v={};v[af(0x17e)]=af(0x1fa),v[af(0x230)]=af(0x216);const x=a0z()[af(0x25e)]||af(0x215),z=v;try{y=await a0v(z);}catch(C){return void a0C(C[af(0x22d)]);}r=!(-0x2385+0xf11+0x2ec*0x7),h=0xcbe+0x16a9+0xab*-0x35,u=!(0x2537+0xbf*0x3+0x2773*-0x1),console[af(0x1b7)](),console[af(0x1b7)](a0q[af(0x1b6)][af(0x1d8)](af(0x23c)+a0D(af(0x1bd))+af(0x196))),console['log'](),console[af(0x1b7)](a0q[af(0x165)]('\x20\x20'+a0D(af(0x266)))),console[af(0x1b7)](),console[af(0x1b7)](a0q[af(0x25f)]('\x20\x20┌─────────────────────────────────────────────')),console[af(0x1b7)](a0q[af(0x25f)]('\x20\x20│\x20')+a0q[af(0x1d8)][af(0x165)](a0D(af(0x1ca)))),console[af(0x1b7)](a0q[af(0x25f)](af(0x220))),console[af(0x1b7)](a0q[af(0x25f)](af(0x23b))+a0q[af(0x165)](a0D('ai4ctfIntercepted'))),console[af(0x1b7)](a0q[af(0x25f)](af(0x23b))+a0q[af(0x1b6)]('aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==')),console[af(0x1b7)](a0q[af(0x25f)]('\x20\x20│')),console[af(0x1b7)](a0q[af(0x25f)]('\x20\x20│\x20')+a0q[af(0x165)](a0D(af(0x1d2)))),console[af(0x1b7)](a0q[af(0x25f)](af(0x23b))+a0q[af(0x1e9)](af(0x23a))),console[af(0x1b7)](a0q[af(0x25f)]('\x20\x20└─────────────────────────────────────────────')),console[af(0x1b7)](),console[af(0x1b7)](a0q[af(0x165)]('\x20\x20'+a0D('ai4ctfLevels'))),console[af(0x1b7)](),console['log'](a0q[af(0x1bb)]('\x20\x20\x20\x20hint\x20a')+a0q[af(0x1e9)](af(0x1ee)+a0D(af(0x1d9)))),console['log'](a0q[af(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(af(0x1e8)))),console['log'](a0q[af(0x1bb)](af(0x1e3))+a0q[af(0x1e9)]('\x20\x20\x20\x20'+a0D(af(0x187)))),console['log'](a0q['gray'](af(0x1cb)+a0D(af(0x1a8)))),console[af(0x1b7)](a0q[af(0x1bb)]('\x20\x20\x20\x20hint\x20c')+a0q['gray'](af(0x1ee)+a0D(af(0x242)))),console[af(0x1b7)](a0q['gray'](af(0x1cb)+a0D(af(0x265)))),console[af(0x1b7)](),console[af(0x1b7)](a0q['gray'](af(0x1a1))),console['log'](a0q[af(0x1d8)][af(0x165)]('\x20\x20'+a0D('ai4ctfWelcomeCta'))),console[af(0x1b7)]('\x20\x20\x20\x20'+a0q[af(0x25f)](af(0x1b8))+a0q[af(0x1e9)]('\x20\x20\x20→\x20'+a0D(af(0x1ac)))),console[af(0x1b7)](af(0x1ee)+a0q[af(0x25f)](af(0x1fd))+a0q[af(0x1e9)](af(0x241)+a0D(af(0x235)))),console['log'](af(0x1ee)+a0q['cyan'](af(0x179))+a0q[af(0x1e9)]('\x20\x20\x20→\x20'+a0D(af(0x193)))),console[af(0x1b7)](a0q[af(0x1e9)](af(0x1ee)+a0D(af(0x1ab)))),console[af(0x1b7)](),console['log'](a0q[af(0x165)]('\x20\x20'+a0D(af(0x164)))),console[af(0x1b7)](a0q[af(0x1e9)]('\x20\x20'+a0D(af(0x16a))+'\x20')+a0q[af(0x165)](af(0x1af))),console['log'](),console['log'](a0q[af(0x1bb)]('\x20\x20'+a0D('ai4ctfCommands'))),console[af(0x1b7)](a0q[af(0x165)]('\x20\x20\x20\x20hint\x20a\x20/\x20b\x20/\x20c\x20\x20')+a0q[af(0x1e9)](a0D(af(0x1d0)))),console[af(0x1b7)](a0q[af(0x165)]('\x20\x20\x20\x20submit\x20<flag>\x20\x20\x20')+a0q[af(0x1e9)](a0D(af(0x1ba)))),console[af(0x1b7)](a0q[af(0x165)](af(0x237))+a0q[af(0x1e9)](a0D(af(0x1b0)))),console[af(0x1b7)](a0q[af(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0q['white'](af(0x211))),console[af(0x1b7)](a0q[af(0x1e9)]('\x20\x20\x20\x20exit\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D('ai4ctfEndSession'))),console[af(0x1b7)](),m(),console[af(0x1b7)](a0q[af(0x1e9)]('\x20\x20'+a0D(af(0x22f))+af(0x1c1)+x+')')),console[af(0x1b7)](a0q[af(0x1e9)]('\x20\x20'+a0D(af(0x1a7)))),console[af(0x1b7)]();});}
1
+ (function(b,j){const a7=a0j,k=b();while(!![]){try{const q=-parseInt(a7(0x282))/(0x21ec+0x13*0x97+-0x2d20)+parseInt(a7(0x1c9))/(-0x23a2+0x1442+0xb*0x166)*(parseInt(a7(0x1db))/(0x10a5+-0x133c+-0x6*-0x6f))+-parseInt(a7(0x191))/(0x1271+-0x25af*-0x1+-0x381c)+-parseInt(a7(0x1fa))/(-0xa6*-0x11+0x1e7b+-0x297c)+parseInt(a7(0x225))/(-0x1ba2+0x24b2+-0x90a)*(-parseInt(a7(0x1ea))/(0x41*-0x12+0x102d+-0xd*0xe4))+-parseInt(a7(0x22d))/(-0x163c+-0x21b8+0x2*0x1bfe)+parseInt(a7(0x252))/(0x1*0x9dd+0x9*0x345+-0xd*0x305);if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,-0x64ea3+0x326e5+0xa17de));import a0q from'chalk';import{createChatSession as a0v}from'../lib/gemini.js';import{addTokenUsage as a0x}from'../lib/budget.js';import{getConfig as a0z}from'../lib/config.js';import{logCommand as a0A}from'../lib/logger.js';import{printMarkdown as a0B,printError as a0C}from'../lib/ui.js';import{t as a0D}from'../lib/i18n.js';import{getExamState as a0E,saveExamState as a0F}from'../lib/exam-state.js';const g=b=>new Promise(j=>setTimeout(j,b));let r=!(0x6ca+-0x1afa+-0x1431*-0x1),y=null,h=0x234d*0x1+-0x2*-0x4d1+0x2cef*-0x1,u=!(-0x2*0xa97+0x106e+0x4c1);const d=0x868*-0x7+-0x6f6e+-0x10bee*-0x1;let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:0x21f9+0x5e*0x32+-0x20cd,j=h,k=Math[a8(0x25b)](Math[a8(0x1a6)](j/b*(-0x23d7*-0x1+0x194f+-0x7*0x8ae)),-0x1d*-0x1e+-0x1*-0x649+0x94b*-0x1),q=Math[a8(0x1a6)](k/(0x2133+-0x3*-0xa21+0x1*-0x3f32)*(-0x8*0x105+0x5f0+0xc*0x31)),v=0x64f+0x3b*-0x4e+-0x1f*-0x61-q,x=k>-0x114d+0x3*-0xc7+-0x25*-0x8a?a0q[a8(0x236)]:k>0x1d41*-0x1+0x2*0xe4d+0xd9?a0q[a8(0x1bb)]:a0q[a8(0x1e0)],z=f?'AI4CTF\x20section':a8(0x1e8);console[a8(0x20f)](a0q['gray']('\x20\x20'+z+':\x20')+x('█'['repeat'](q))+a0q[a8(0x247)]('░'[a8(0x1dc)](v))+a0q['gray']('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0x267);if(a0A(a9(0x270)+q),f)return p(q);const v=q[a9(0x28e)]()[a9(0x254)]()[a9(0x261)](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?'ai4ctfHintA':'b'===B?aa(0x193):aa(0x243)),D=a0D('a'===B?aa(0x271):'b'===B?aa(0x232):aa(0x242)),E=aa(0x22f)+B['toUpperCase'](),F='a'===B?a0q[aa(0x1e0)]:'b'===B?a0q[aa(0x1bb)]:a0q['red'];console[aa(0x20f)](),console[aa(0x20f)](F[aa(0x290)]('\x20\x20▸\x20'+E+'\x20\x20')+a0q[aa(0x247)](C)),console[aa(0x20f)]();for(const G of D[aa(0x25d)]('\x0a'))''===G?console[aa(0x20f)]():console[aa(0x20f)](a0q['white'](aa(0x21a)+G));console[aa(0x20f)](),'a'===B?(console[aa(0x20f)](a0q[aa(0x247)](aa(0x21a)+a0D(aa(0x28f))+'\x20')+a0q[aa(0x1fb)](aa(0x268))),console[aa(0x20f)]()):'b'===B&&(console[aa(0x20f)](a0q[aa(0x247)](aa(0x21a)+a0D(aa(0x21b))+'\x20')+a0q[aa(0x1fb)](aa(0x1fe))),console[aa(0x20f)]());}(v[0x1*-0x5cb+0x7c9*-0x5+0x2cb9*0x1]),'continue';const x=q[a9(0x261)](/^submit\s+(.+)/i);if(x){let B=x[-0x13*-0x2b+-0x349*0x6+0x1086]['trim']();if(/^submit\s+/i[a9(0x1e2)](B)&&(B=B[a9(0x23d)](/^submit\s+/i,'')[a9(0x28e)]()),B=B[a9(0x23d)](/^["'`]+|["'`]+$/g,'')[a9(0x28e)](),a9(0x195)===B){console[a9(0x20f)](),console[a9(0x20f)](a0q[a9(0x1e0)]['bold']('\x20\x20════════════════════════════════════')),console[a9(0x20f)](a0q[a9(0x1e0)][a9(0x290)]('\x20\x20'+a0D(a9(0x1cb)))),console['log'](a0q[a9(0x1e0)][a9(0x290)](a9(0x272))),console[a9(0x20f)](),console[a9(0x20f)](a0q[a9(0x1e6)]('\x20\x20'+a0D(a9(0x212)))),console['log'](a0q[a9(0x247)]('\x20\x20'+a0D(a9(0x204)))),console[a9(0x20f)](),m(),r=!(-0x269c+-0x1b25+0x41c2),y=null,fetch(a9(0x1d6),{'method':a9(0x277),'headers':{'Content-Type':a9(0x1bf)},'body':JSON['stringify']({'type':a9(0x1e7),'solved':!(0x1*0x16ad+0x71b*-0x5+0xcda),'tokensUsed':h,'timestamp':new Date()[a9(0x207)]()}),'signal':AbortSignal[a9(0x1ef)](0x6f5*0x5+0x17f*-0xb+-0x1c*-0xb)})['catch'](()=>{}),await g(-0x1454+-0x1*-0x1b9d+-0x16d),console['log'](),console[a9(0x20f)](a0q[a9(0x1fb)](a9(0x24c))),console[a9(0x20f)](a0q[a9(0x290)][a9(0x1e6)]('\x20\x20'+a0D(a9(0x1a2)))),console['log'](a0q[a9(0x1fb)](a9(0x24c))),console[a9(0x20f)]();const C=a0D(a9(0x21c)),D=a0D('ai4ctfWrapLine1Body');console[a9(0x20f)](a0q[a9(0x1e6)](a9(0x190)+C+'\x20')+a0q[a9(0x247)](D[a9(0x25d)]('\x0a')[0x2*-0x294+0x1*0x342+0x1e6]||''));for(const H of D[a9(0x25d)]('\x0a')['slice'](0x1489+0x5de+-0x1a66))H[a9(0x28e)]()&&console['log'](a0q[a9(0x247)]('\x20\x20\x20\x20\x20\x20\x20'+H['replace'](/\{thinking\}/g,'thinking')));console['log'](),console[a9(0x20f)](a0q[a9(0x1e6)](a9(0x285)+a0D(a9(0x216))+'\x20')+a0q[a9(0x247)](a0D(a9(0x1fc)))),console['log'](),console[a9(0x20f)](a0q[a9(0x1fb)](a9(0x1f9))),console[a9(0x20f)](),await g(-0x717*-0x4+-0xb9*-0xf+-0x1f63),console['log'](a0q[a9(0x1fb)](a9(0x24c))),console[a9(0x20f)](a0q[a9(0x290)][a9(0x1e6)]('\x20\x20'+a0D(a9(0x229)))),console[a9(0x20f)](a0q[a9(0x1fb)](a9(0x24c))),console[a9(0x20f)](),console['log'](a0q[a9(0x1bb)](a9(0x265))+a0q[a9(0x1e6)](a0D(a9(0x256))[a9(0x203)](-0x2031+0x101c+-0x3*-0x565))+a0q[a9(0x247)](a0D(a9(0x250)))),console['log'](a0q[a9(0x1bb)]('\x20\x20\x20\x20\x20\x20\x20hint\x20b\x20\x20\x20')+a0q['white'](a0D(a9(0x1d4))['padEnd'](0x1b77+-0x26f2*-0x1+0x5*-0xd43))+a0q['gray'](a0D(a9(0x1b8)))),console[a9(0x20f)](a0q['yellow'](a9(0x26a))+a0q['white'](a0D(a9(0x26c))[a9(0x203)](0x739+-0x270b+0x1*0x1fec))+a0q[a9(0x247)](a0D(a9(0x223)))),console[a9(0x20f)]();for(const I of a0D(a9(0x1f0))['split']('\x0a'))console[a9(0x20f)](a0q[a9(0x247)](a9(0x21a)+I));console[a9(0x20f)](),await g(-0x92d+-0x16bd+0x27ba),console[a9(0x20f)](a0q['cyan'](a9(0x24c))),console[a9(0x20f)](a0q[a9(0x290)][a9(0x1e6)]('\x20\x20'+a0D(a9(0x1b2))+'\x20')+a0q[a9(0x236)][a9(0x290)](a9(0x1d5))+a0q[a9(0x1e6)]('\x20—\x20'+a0D(a9(0x197)))),console[a9(0x20f)](a0q['cyan'](a9(0x24c))),console[a9(0x20f)]();const E=a0D('ai4ctfWrapNextBody'),F=a0D(a9(0x253)),G=E[a9(0x25d)]('\x0a');if(G[-0x150a+0x44*-0x3b+-0x4a*-0x7f]){const [J,K]=G[-0x2e*0xad+0xe90+0x1086]['split']('{noProg}');console[a9(0x20f)](a0q[a9(0x1e6)](a9(0x21a)+(J||''))+a0q['bold'][a9(0x1e6)](F)+a0q[a9(0x1e6)](K||''));}for(const L of G[a9(0x237)](-0x1c6f+-0x11e4+0x14*0x251))L[a9(0x28e)]()&&console[a9(0x20f)](a0q[a9(0x1e6)](a9(0x21a)+L));return console[a9(0x20f)](),console[a9(0x20f)](a0q[a9(0x247)]('\x20\x20\x20\x20'+a0D('ai4ctfWrapTypeCtf4ai')+'\x20')+a0q['bold'][a9(0x236)](a9(0x1d5))),console['log'](),a9(0x267);}return console[a9(0x20f)](),console['log'](a0q[a9(0x236)]('\x20\x20'+a0D(a9(0x1ed)))),console[a9(0x20f)](a0q['gray']('\x20\x20'+a0D(a9(0x1ae)))),console['log'](),'continue';}if(q[a9(0x1d9)]('!')){const M=q[a9(0x237)](-0x38b+0x5eb*0x3+-0x1*0xe35)[a9(0x28e)]();if(!M)return'continue';try{const N={};N[a9(0x246)]=a9(0x219),N[a9(0x1ef)]=0x2710;const {execSync:O}=await import(a9(0x1e1)),P=O(M,N)['trim']();console[a9(0x20f)](),console[a9(0x20f)](a0q[a9(0x247)](a9(0x194))+a0q[a9(0x1e6)](M)),console[a9(0x20f)](a0q[a9(0x1e6)]('\x20\x20'+P[a9(0x25d)]('\x0a')[a9(0x1c2)](a9(0x1f2)))),console[a9(0x20f)](),console['log'](a0q['gray']('\x20\x20'+a0D(a9(0x1b1)))),console[a9(0x20f)]();}catch(Q){console[a9(0x20f)](),console[a9(0x20f)](a0q['red'](a9(0x18f)+(Q[a9(0x23f)]?.['split']('\x0a')[0x18a5+0x4d5+-0x1d7a]||a9(0x278)))),console[a9(0x20f)]();}return a9(0x206);}const z={};z['Content-Type']=a9(0x1bf);if('exit'===q||a9(0x274)===q||a9(0x22c)===q||'menu'===q)return r=!(-0x1*0x15a5+0x15fc+0x2*-0x2b),y=null,fetch(a9(0x1d6),{'method':a9(0x277),'headers':z,'body':JSON[a9(0x27f)]({'type':a9(0x1e7),'tokensUsed':h,'timestamp':new Date()[a9(0x207)]()}),'signal':AbortSignal[a9(0x1ef)](0x1beb+-0x12b5*-0x1+0x198*-0x11)})['catch'](()=>{}),console['log'](),console[a9(0x20f)](a0q[a9(0x247)]('\x20\x20─────────────────────────────────────────')),console['log'](a0q['white']('\x20\x20'+a0D(a9(0x1b6)))),console[a9(0x20f)](a0q[a9(0x247)]('\x20\x20'+a0D(a9(0x1c7))+':\x20'+h+'/5000')),console[a9(0x20f)](a0q['gray']('\x20\x20'+a0D(a9(0x249))+':\x20Google\x20Gemma\x204\x20(gemma-4-31b-it)')),console[a9(0x20f)](a0q[a9(0x247)]('\x20\x20─────────────────────────────────────────')),console[a9(0x20f)](),console[a9(0x20f)](a0q[a9(0x1fb)](a9(0x24c))),console[a9(0x20f)](a0q[a9(0x1e6)]('\x20\x20'+a0D(a9(0x1b0))+'\x20')+a0q[a9(0x290)][a9(0x236)]('ctf4ai')+a0q['white']('\x20—\x20'+a0D('ai4ctfExitNextSub'))),console[a9(0x20f)](a0q[a9(0x247)]('\x20\x20'+a0D(a9(0x1a9)))),console[a9(0x20f)](a0q[a9(0x1fb)](a9(0x24c))),console['log'](),console[a9(0x20f)](a0q[a9(0x290)][a9(0x236)](a9(0x22a))+a0q['gray'](a9(0x263)+a0D('ai4ctfExitCmdNext'))),console[a9(0x20f)](a0q['white'](a9(0x198))+a0q[a9(0x247)](a9(0x1b4)+a0D('ai4ctfExitCmdBack'))),console[a9(0x20f)](),a9(0x267);const A={};A[a9(0x1a5)]='application/json';if(!u&&h>=-0x5*0x1c5+0x26ec+-0xa8b)return u=!(-0x268a+-0xe03+0x348d),fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a9(0x277),'headers':A,'body':JSON[a9(0x27f)]({'type':a9(0x1e7),'solved':!(-0x2581+0xdc9+0x17b9),'tokensUsed':h,'timestamp':new Date()[a9(0x207)]()}),'signal':AbortSignal[a9(0x1ef)](-0x1ad0+0x264f+0x809)})['catch'](()=>{}),console[a9(0x20f)](),console['log'](a0q[a9(0x1bb)]('\x20\x20'+a0D(a9(0x1fd)))),m(),(function(){const ab=a9;console[ab(0x20f)](),console[ab(0x20f)](a0q[ab(0x1bb)](ab(0x24c))),console['log'](a0q['bold'][ab(0x1bb)]('\x20\x20'+a0D(ab(0x222)))),console[ab(0x20f)](a0q[ab(0x1bb)]('\x20\x20─────────────────────────────────────────────')),console[ab(0x20f)]();for(const R of a0D(ab(0x19c))[ab(0x25d)]('\x0a'))''===R?console[ab(0x20f)]():console[ab(0x20f)](a0q[ab(0x1e6)]('\x20\x20\x20\x20'+R));console['log'](),console[ab(0x20f)](a0q[ab(0x1fb)](ab(0x248))),console['log'](),console['log'](a0q[ab(0x1e6)](ab(0x21a)+a0D('ai4ctfRevealSeeFlag'))),console[ab(0x20f)](),console[ab(0x20f)](a0q[ab(0x1e0)](ab(0x234))),console[ab(0x20f)](),console[ab(0x20f)](a0q[ab(0x1e6)](ab(0x21a)+a0D(ab(0x245)))),console[ab(0x20f)](),console['log'](a0q[ab(0x1fb)](ab(0x1c5))),console['log'](),console[ab(0x20f)](a0q[ab(0x247)](ab(0x21a)+a0D(ab(0x244)))),console[ab(0x20f)]();}()),'continue';if(u)return console['log'](),console[a9(0x20f)](a0q[a9(0x1bb)]('\x20\x20'+a0D(a9(0x233)))),console[a9(0x20f)](a0q[a9(0x247)]('\x20\x20'+a0D('ai4ctfLockedUse')+'\x20')+a0q[a9(0x1fb)](a9(0x26b))),console[a9(0x20f)](a0q[a9(0x247)]('\x20\x20'+a0D('ai4ctfLockedThen')+'\x20')+a0q['cyan'](a9(0x1a7))),console['log'](),a9(0x206);console[a9(0x20f)](a0q['gray']('\x20\x20'+a0D('ai4ctfThinking')));try{const R=await y[a9(0x19d)](q);process[a9(0x228)][a9(0x288)](a9(0x208)),h+=R['tokensUsed'],a0x(R[a9(0x27b)]),console[a9(0x20f)](),a0B(R['text']),m(),console[a9(0x20f)]();}catch(S){process[a9(0x228)][a9(0x288)](a9(0x208)),a0C('AI\x20error:\x20'+S[a9(0x23f)]),console[a9(0x20f)]();}return'continue';}const w=new Set();function a0j(a,b){a=a-(0x10e4+0x405+-0x135a);const c=a0b();let d=c[a];if(a0j['tZktFQ']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x1*-0x1bf5+0x318+0x18dd,o,p,q=-0x640+0x3*0x282+0x146*-0x1;p=i['charAt'](q++);~p&&(o=n%(0x8db*0x2+-0x3f6+0x4*-0x36f)?o*(-0x1040+-0x42c+0x14ac)+p:p,n++%(0x1577+-0x1e55*-0x1+0x8*-0x679))?l+=String['fromCharCode'](-0x1*0x1bef+0xc1*0x13+-0xe9b*-0x1&o>>(-(-0x208a+0x1*0x12+-0x2*-0x103d)*n&0x7b9*0x1+0x225*-0x5+0x306)):0x4*0x103+-0xed1+0x1*0xac5){p=j['indexOf'](p);}for(let r=0x25*-0x43+-0x6*0x4eb+0x2731,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x1*-0xa57+0x1328+-0x1d6f))['slice'](-(0x1b*-0xc1+0x1825+-0x3c8));}return decodeURIComponent(m);};a0j['geSbod']=e,a0j['DWzVXO']={},a0j['tZktFQ']=!![];}const f=c[0xe*0x20b+-0x1666*-0x1+-0x3300],g=a+f,h=a0j['DWzVXO'][g];return!h?(d=a0j['geSbod'](d),a0j['DWzVXO'][g]=d):d=h,d;}async function p(q){const ac=a0j;if(!f||!y)return'exit';const v=q['trim'](),x=v[ac(0x254)](),z=(Date['now']()-f[ac(0x226)])/(0x1042*0x7+0x205*-0x83+0x18121);if(!f[ac(0x235)]&&!f[ac(0x221)]&&f[ac(0x1ac)][ac(0x284)]>=0xc6a+0x18f3+-0x255b&&z>=-0x2b8+-0x1*-0x392+0xd5*-0x1&&(f[ac(0x235)]=!(-0x5*-0x1b7+-0x34a*0x6+0xb29),console[ac(0x20f)](),console[ac(0x20f)](a0q[ac(0x1bb)](ac(0x231))+a0q['bold'][ac(0x1bb)](ac(0x27e))),console[ac(0x20f)](a0q[ac(0x247)](ac(0x1b7))),console[ac(0x20f)]()),/^ICOA\{[^}]+\}$/i[ac(0x1e2)](v))return console[ac(0x20f)](),console[ac(0x20f)](a0q[ac(0x247)](ac(0x1bc))+a0q[ac(0x1e6)]('submit\x20'+v)),p('submit\x20'+v);const A=x['match'](/^hint\s+([abc])$/);if(A){const C=A[0x1ae1+0x1*0xfb5+-0x2a95][ac(0x20b)]();f[ac(0x1ac)]['add'](C);const D=a0E();D&&(D[ac(0x20a)]||(D['interactions']=[]),D[ac(0x20a)]['push']({'ts':new Date()[ac(0x207)](),'q':f[ac(0x1d1)],'type':ac(0x1ce),'input':C}),a0F(D));const E=f[ac(0x1f3)][ac(0x28b)],F=E?.[C],G='A'===C?a0q[ac(0x1e0)]:'B'===C?a0q[ac(0x1bb)]:a0q[ac(0x236)];if(console[ac(0x20f)](),console[ac(0x20f)](G[ac(0x290)]('\x20\x20▸\x20Hint\x20'+C)),console['log'](),F){for(const H of String(F)['split']('\x0a'))console[ac(0x20f)](a0q[ac(0x1e6)](ac(0x21a)+H));}else console[ac(0x20f)](a0q[ac(0x247)](ac(0x286)));return console[ac(0x20f)](),'A'===C?console[ac(0x20f)](a0q[ac(0x247)](ac(0x1a3))+a0q[ac(0x1fb)](ac(0x268))):'B'===C?console['log'](a0q[ac(0x247)](ac(0x259))+a0q[ac(0x1fb)](ac(0x1fe))):'C'===C&&console[ac(0x20f)](a0q[ac(0x247)](ac(0x21a)+a0D(ac(0x279))+'\x20')+a0q[ac(0x290)][ac(0x1e0)](ac(0x27e))),console['log'](),ac(0x206);}const B=v[ac(0x261)](/^submit\s+(.+)/i);if(B){let I=B[0x788+-0xd96+0x60f][ac(0x28e)]();if(/^submit\s+/i['test'](I)&&(I=I[ac(0x23d)](/^submit\s+/i,'')['trim']()),I=I[ac(0x23d)](/^["'`]+|["'`]+$/g,'')[ac(0x28e)](),/^[A-Da-d]$/['test'](I))return console[ac(0x20f)](),console[ac(0x20f)](a0q['yellow'](ac(0x21f)+I+ac(0x20c))),console[ac(0x20f)](a0q[ac(0x247)](ac(0x1df))+a0q[ac(0x1e0)](ac(0x1c1))+a0q[ac(0x247)](ac(0x21e))),console[ac(0x20f)](),ac(0x206);const {getExamState:J,saveExamState:K}=await import(ac(0x239)),L=J();if(!L)return ac(0x267);if(!L[ac(0x22e)]['find'](O=>O[ac(0x273)]===f[ac(0x1d1)]))return console['log'](a0q[ac(0x236)](ac(0x1d8)+f[ac(0x1d1)]+'\x20not\x20found\x20in\x20state.')),ac(0x206);const M=L[ac(0x258)][f[ac(0x1d1)]];L[ac(0x20a)]||(L[ac(0x20a)]=[]),L[ac(0x20a)][ac(0x224)]({'ts':new Date()[ac(0x207)](),'q':f[ac(0x1d1)],'type':M?ac(0x1c6):ac(0x1f4),'input':I,'result':'via\x20ai4ctf\x20chat'}),L[ac(0x258)][f[ac(0x1d1)]]=I;const N=f[ac(0x1d1)]+(0x230c+-0x22dd+-0x1*0x2e);return L[ac(0x1d3)]=N<=-0x2246*-0x1+-0x1f4+-0x202c?N:f[ac(0x1d1)],K(L),console['log'](),M?(console[ac(0x20f)](a0q[ac(0x1e0)](ac(0x26f)+f[ac(0x1d1)]+'\x20answer\x20updated:\x20')+a0q['yellow'](I)),console[ac(0x20f)](a0q[ac(0x247)]('\x20\x20\x20\x20Previous:\x20'+M))):console[ac(0x20f)](a0q[ac(0x1e0)][ac(0x290)](ac(0x25f)+f[ac(0x1d1)]+ac(0x214)+I)),console[ac(0x20f)](a0q[ac(0x247)](ac(0x238))),console[ac(0x20f)](),console[ac(0x20f)](a0q[ac(0x247)]('\x20\x20')+a0q[ac(0x1e6)]('submit\x20ICOA{...}')+a0q[ac(0x247)](ac(0x1ad))+a0q[ac(0x1e6)](ac(0x267))+a0q['gray'](ac(0x1c3))),N<=0x9e*0x1+-0x59f+0x527?console[ac(0x20f)](a0q[ac(0x247)](ac(0x264))+a0q[ac(0x1fb)](ac(0x1e7))+a0q[ac(0x247)]('\x20will\x20open\x20Q'+N)):console[ac(0x20f)](a0q[ac(0x247)](ac(0x1b3))+a0q[ac(0x236)](ac(0x1d5))+a0q[ac(0x247)](ac(0x1cf))),console['log'](),ac(0x206);}if(q[ac(0x1d9)]('!')){const O=q['slice'](-0x4f*-0x2d+-0x4b*-0x82+0x4*-0xcfe)['trim']();if(!O)return ac(0x206);try{const P={};P[ac(0x246)]='utf-8',P[ac(0x1ef)]=0x2710;const {execSync:Q}=await import(ac(0x1e1)),R=Q(O,P)[ac(0x28e)]();console[ac(0x20f)](),console[ac(0x20f)](a0q[ac(0x247)](ac(0x194))+a0q['white'](O)),console['log'](a0q['white']('\x20\x20'+R['split']('\x0a')['join'](ac(0x1f2)))),console[ac(0x20f)]();}catch(S){console[ac(0x20f)](),console['log'](a0q[ac(0x236)](ac(0x18f)+(S['message']?.[ac(0x25d)]('\x0a')[-0x153+0x4*-0x574+0x1723]||ac(0x278)))),console[ac(0x20f)]();}return'continue';}if(ac(0x267)===x||ac(0x274)===x||'quit'===x){const T=f[ac(0x1d1)],{getExamState:U}=await import(ac(0x239)),V=U(),W=V&&null!=V[ac(0x258)][T],X=V?.[ac(0x1d3)]||T;return r=!(0x2*-0x151+0x1add+0x1bb*-0xe),y=null,f=null,w[ac(0x27a)](),console[ac(0x20f)](),console[ac(0x20f)](a0q[ac(0x247)]('\x20\x20AI4CTF\x20chat\x20ended\x20for\x20Q'+T+'.')),W&&X>T&&X<=0x19e2+0x1f08+-0x38c4?console[ac(0x20f)](a0q['white'](ac(0x202))+a0q[ac(0x290)][ac(0x1e0)]('Q'+X)+a0q[ac(0x247)](ac(0x1da))+a0q[ac(0x1fb)](ac(0x1e7))+a0q[ac(0x247)]('\x20to\x20continue')):W&&T>=-0x1e28+0x17*0x4+0x1df2?console[ac(0x20f)](a0q[ac(0x1e6)]('\x20\x20AI4CTF\x20section\x20complete\x20—\x20')+a0q[ac(0x290)][ac(0x236)](ac(0x1d5))+a0q[ac(0x247)](ac(0x269))):console[ac(0x20f)](a0q['gray']('\x20\x20Resume:\x20')+a0q['white'](ac(0x25c)+T)+a0q[ac(0x247)](ac(0x276))+a0q[ac(0x1e6)]('ai4ctf')),console[ac(0x20f)](),ac(0x267);}if(u)return console[ac(0x20f)](),console[ac(0x20f)](a0q[ac(0x1bb)]('\x20\x20AI\x20budget\x20exhausted\x20for\x20AI4CTF\x20section.')),console['log'](a0q[ac(0x247)](ac(0x1b5))+a0q[ac(0x1e6)](ac(0x24f))+a0q[ac(0x247)](ac(0x281))+a0q[ac(0x1e6)]('!shell')+a0q[ac(0x247)](ac(0x281))+a0q[ac(0x1e6)](ac(0x267))),console[ac(0x20f)](),'continue';if(h>=d)return u=!(-0x101*0x5+-0x46+0x1*0x54b),console[ac(0x20f)](),console[ac(0x20f)](a0q['red'][ac(0x290)]('\x20\x20⚠\x20AI4CTF\x20token\x20budget\x20exhausted\x20(25,000\x20used).')),console[ac(0x20f)](a0q[ac(0x247)](ac(0x1c8))+a0q[ac(0x1e6)](ac(0x24f))+a0q[ac(0x247)](ac(0x281))+a0q[ac(0x1e6)]('!shell')+a0q['gray'](ac(0x281))+a0q[ac(0x1e6)](ac(0x267))),console[ac(0x20f)](),'continue';console[ac(0x20f)](a0q[ac(0x247)]('\x20\x20Thinking...'));try{const Y=await y[ac(0x19d)](q);process['stdout']['write'](ac(0x208)),h+=Y[ac(0x27b)];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0x239)),a1=Z(),a2={};a2[ac(0x1e7)]=0x0,a2[ac(0x1d5)]=0x0,(a1&&(a1['aiUsage']||(a1[ac(0x1f7)]=a2),a1[ac(0x1f7)]['ai4ctf']=h,a0(a1)),console[ac(0x20f)](),a0B(Y[ac(0x22b)]),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(0x4*-0x4a3+0x24b*-0x8+0x8*0x4a9);a6>=0x2+0x54d+0x4f*-0x10&&!a5['has']('95')?(console[ad(0x20f)](a0q[ad(0x236)]['bold'](ad(0x211)+Math['round'](a6)+'%\x20of\x20section\x20AI\x20budget\x20used\x20—\x20only\x20~'+(a4-a3)+ad(0x1a0))),a5['add']('95')):a6>=0xe60+-0x538+0x8*-0x11b&&!a5[ad(0x205)]('80')?(console[ad(0x20f)](a0q[ad(0x1bb)](ad(0x1ca))),a5['add']('80')):a6>=0x1*0x883+-0xae5+-0x42*-0xa&&!a5[ad(0x205)]('50')&&(console['log'](a0q[ad(0x247)](ad(0x1f6))),a5[ad(0x1ff)]('50'));}(h,d,w),console[ac(0x20f)]());}catch(a3){process[ac(0x228)][ac(0x288)](ac(0x208)),a0C(ac(0x24b)+a3['message']),console[ac(0x20f)]();}return ac(0x206);}function a0b(){const aj=['icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icdILii','yxbWBgLJyxrPB24VANnVBG','icaGigHPBNqGyW','sunpqxT5B3vYx2zSywD9','AM9PBG','ihrVig1VDMuGB24','icdILiiG','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','yw5ZD2vYx2nOyw5Nzwq','ywK0y3rMvg9Rzw5Z','icbzB3uGy2fUihn0AwXSoIa','mJa2CMfir1jv','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','ywK0y3rMq29YCMvJDezSywC','ywK0y3rMtgv2zwXZ','ywK0y3rMsgLUDfrLy2HUAxf1zq','AgLUDf91C2vK','ig9UifeZoq','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','Cu51Bq','oIbhB29NBguGr2vTBweGncaO','x2XHC3rr','ywK0y3rMv3jHCff1B3rHqG','y3rMngfP','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','AgLUDcbH','icbr','C3rHCNrZv2L0Aa','iokaLcb0ExbLia','odeZoujTqxzKyW','CMvWzwf0','iokvKokvKokvKa','icaGigv4Axq','icbgBgfNigzVCM1HDdOG','z3jLzw4','BM9KztPJAgLSzf9WCM9JzxnZ','DgvZDa','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','lI4U','Cg9PBNrZ','D2HPDgu','ywK0y3rM','vg9Rzw5Z','ywK0y3rMrxHPDa','mtC0mJm3rvjcELje','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','z2vTBweTnc0ZmwiTAxq','ywK0y3rMv3jVBMDgBgfN','icbzB3uGyxjLig9Uife','DgLTzw91Da','ywK0y3rMv3jHCff1B3rHrM9VDgvY','ywK0y3rMu3vIBwL0q21K','cIaG','CxvLC3rPB24','yw5ZD2vYx3n1yM1PDhrLza','zxHHBsbHBNn3zxiG','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','ywLvC2fNzq','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','mty3nJuYnvvsCLbdAW','y3LHBG','ywK0y3rMv3jHCeXPBMuYqM9KEq','Dg9Rzw5mAw1PDa','AgLUDcbJ','ywrK','BM93','yxr0ywnOzwreyxrH','icbozxH0oIa','CgfKrw5K','ywK0y3rMv291BgrfyxjU','AgfZ','y29UDgLUDwu','Dg9ju09tDhjPBMC','g1SXqrTBmKS','icaGigv4AxqGicaGicaGicaGica','Aw50zxjHy3rPB25Z','Dg9vChbLCKnHC2u','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','Bg9N','zgvZy3jPChrPB24','icdIMQaG','ywK0y3rMrgvJB2rLza','ywK0y3rMt3jdAgf0','ihjLy29YzgvKoIa','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','ywK0y3rMv3jHCeXPBMuYsgvHza','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','icaGig1LBNu','DxrMltG','icaGia','ywK0y3rMsgLUDe5LEhrc','ywK0y3rMv3jHCeXPBMuXsgvHza','icaGihn1yM1PDca8zMXHzZ4Gica','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','icaI','xsaGWRCG','C3vIBwL0qxr0zw1WDgvK','ywK0y3rMuMv2zwfSvgL0Bgu','ywK0y3rMv3jHCff1B3rHq0HPBNq','ChvZAa','mtaYC3feCu9j','zw50zxjLzef0','icaG4OAsia','C3rKB3v0','ywK0y3rMv3jHCff1B3rHC1rPDgXL','icaGicbJDgy0ywK','Dgv4Da','CxvPDa','mtq4ndG0oefPsuDoAW','CxvLC3rPB25Z','sgLUDca','rNvSBcbXDwvZDgLVBJOGia','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','ywK0y3rMsgLUDejcB2r5','ywK0y3rMtg9JA2vKvgL0Bgu','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','BNvKz2vtAg93BG','CMvK','C2XPy2u','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','lI4VBgLIl2v4yw0TC3rHDguUANm','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','ywK0y3rMq21Ku2HLBgXmAw5L','CMvWBgfJzq','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','BwvZC2fNzq','y2f0zwDVCNK','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','ywK0y3rMsgLUDencB2r5','ywK0y3rMsgLUDem','ywK0y3rMuMv2zwfStg9JA05VDgu','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','zw5JB2rPBMC','z3jHEq','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','ywK0y3rMtw9KzwW','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','quKGzxjYB3i6ia','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','ywK0y3rMsgLUDenvC2vZ','C3vIBwL0idXMBgfNpG','ywK0y3rMv3jHCff1B3rHquHPBNq','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','mte0otC0ndzlsMvSzhi','ywK0y3rMv3jHCe5VuhjVzW','Dg9mB3DLCKnHC2u','ywK0y3rMsgLUDe51zgDL','ywK0y3rMv3jHCff1B3rHqq','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','yw5ZD2vYCW','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','BwLU','zxHHBsbXia','C3bSAxq','icbB','icdINjmGqw5ZD2vYigzVCIbr','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','Bwf0y2G','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','icaGicaGicaGia','icbbzNrLCIbLEgL0oIa','icaGicaGigHPBNqGysaGia','icdILzdILzdILzaG','zxHPDa','AgLUDcbI','igzVCIbrmZK','icaGicaGigHPBNqGyYaGia','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','ywK0y3rMv3jHCff1B3rHqW','zMLUza','ywK0y3rMt3jdAgf0rxHHBxbSzq','icdINjmGuq','ywK0y3rMoIa','ywK0y3rMsgLUDefcB2r5','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','BNvTyMvY','yMfJAW','icaGicaGicaGicaGica','icdcTYaGuMuTzw50zxi6ia','ue9tva','q29TBwfUzcbMywLSzwq','ywK0y3rMsgLUDe5LEhrd','y2XLyxi','Dg9Rzw5ZvxnLza','icaGigHPBNqGysaVigiGlYbJica','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','C3rYAw5NAwz5','ywK0y3rMsgLUDefvC2vZ','imk3ia','ntKYnZLsvw1fthq','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','C2L6zq','icaGidiUia','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','z2vTAw5Ptw9KzwW','D3jPDgu','ywK0y3rMq29TBwfUzhm','icaGiokgKIa','AgLUDhm','ihbVAw50CYK6cG','BMfTzq','DhjPBq','ywK0y3rMsgLUDe5LEhrb','yM9Sza','icbfCNjVCJOG','icaGideUia','mZK1nJmYufnjvNbs','ywK0y3rMsw50zxjJzxb0zwq','ywK0y3rMsgLUDei','icaKia','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','icbdDxjYzw50igfUC3DLCJOG','ywK0y3rMv3jHCe5LEhrtDwi','icaGicbIywnR','ywK0y3rMrw5Ku2vZC2LVBG','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','lIbkDw1WihrOzxjLigzPCNn0oG','ywK0y3rMuMv2zwfSqM9KEq','C2vUze1LC3nHz2u','icaGice8C2HLBgWGy21KpIaGica','icaGicfWExrOB24Zic4UlG','ihrVA2vUCYbSzwz0lG','icaGihn1yM1PDcbjq09bEY4UlN0','ywK0y3rMv3jHCfrPDgXL','icaGifn0DwnRpYbuCNK6ia','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','q29UDgvUDc1uExbL','CM91BMq','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','ywK0y3rMrxHPDe5LEhrcB2r5','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','icaGigHPBNqGyq','AgLUDhnvC2vK','igfNywLUihrVignOyw5NzsWGB3iG','ywK0y3rMrMXHz0HPBNq','ihb0CW','ywK0y3rMrxHPDe5LEhruAxrSzq','ywK0y3rMrM91BMrgBgfN','ywK0y3rMv3jHCe5LEhruAxrSzq','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','icaGicaGicaGicaG','icbtDgLSBcbHDMfPBgfIBgu6ia','ywK0y3rMuMvWB3j0','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','ywK0y3rMv3jHCff1B3rHqKHPBNq','icaGigHPBNqGyG','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','EwvSBg93','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG'];a0b=function(){return aj;};return a0b();}export function registerAi4ctfCommand(b){const ae=a0j;b['command'](ae(0x1e7))[ae(0x210)](ae(0x1ba))['action'](async()=>{const af=ae;a0A(af(0x1e7));const {getRealExamState:j}=await import('../lib/exam-state.js'),k=j(),q=k?.['questions']['some'](A=>A[af(0x273)]>=0xf9*-0x10+0x97*0x17+0x21e&&A[af(0x273)]<=-0x1e03+0x4e+0x1ddb);if(k&&q){const A=k[af(0x1d3)]||0x3*0x106+-0x102*0xc+-0x1*-0x907;if(A<0x295*0x2+0xbe0*0x2+-0x41d*0x7||A>0xf1+-0x1*0x201d+0x1f52)return console[af(0x20f)](),console['log'](a0q[af(0x1bb)](af(0x257))),console[af(0x20f)](a0q[af(0x247)](af(0x1ee)+A+af(0x19b))),console[af(0x20f)](a0q[af(0x247)](af(0x28a))+a0q['bold'][af(0x1fb)]('exam\x20q\x2031')),void console[af(0x20f)]();const B=k[af(0x22e)][af(0x26d)](C=>C[af(0x273)]===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import(ag(0x239));await F();const H=E();if(!H)return!(-0x618+0xa64+0x44b*-0x1);const I=H[ag(0x22e)]['find'](L=>L[ag(0x273)]===C);I&&(D=I),G(C,D?.[ag(0x201)]);const J=H[ag(0x1f7)]?.['ai4ctf']??-0x73*0x3b+-0x107*0x13+0x2e06;if(J>=d)return console[ag(0x20f)](),console['log'](a0q[ag(0x1bb)]('\x20\x20⚠\x20Your\x20AI4CTF\x20token\x20budget\x20is\x20exhausted.')),console[ag(0x20f)](a0q[ag(0x247)](ag(0x24d))+a0q['white'](ag(0x1f5)+C+'\x20ICOA{...}')),console[ag(0x20f)](),!(0x2398+0x2f9*-0x7+-0xec8);try{y=await a0v(void(0x19e6+-0xa*-0x379+-0xa*0x610),function(L,M){const ah=ag,N=L[ah(0x210)]||L['text']||'',O=L[ah(0x201)]?ah(0x19a)+M+'.txt\x20inside\x20the\x20contestant\x27s\x20sandbox\x20—\x20path\x20is\x20relative\x20to\x20the\x20sandbox\x27s\x20/home/competitor\x20working\x20directory,\x20reachable\x20from\x20any\x20!shell\x20/\x20!python3\x20invocation):\x0a'+L[ah(0x201)]:'';return ah(0x1f8)+M+',\x20'+L[ah(0x240)]+',\x20'+(L[ah(0x1e5)]||0x474+-0x12*0x7+-0x3f0)+ah(0x28c)+N+O+ah(0x20d)+M+'.txt\x20(inside\x20the\x20sandbox)\x20rather\x20than\x20asking\x20the\x20contestant\x20to\x20paste\x20the\x20whole\x20blob\x20back.\x0a-\x20Keep\x20responses\x20concise\x20and\x20practical.\x20This\x20contestant\x20has\x20limited\x20time.';}(D,C));}catch(L){return a0C(L[ag(0x23f)]),!(-0x2e*0x7+-0x35*-0x1d+-0x4be);}r=!(0x2661+-0x2*-0xcca+-0x1*0x3ff5),h=J,u=!(0x200a+0x2*-0x3b5+-0x189f),f={'qNum':C,'question':D,'usageField':ag(0x1e7),'enteredAt':Date[ag(0x200)](),'hintsUsed':new Set(),'submitAttempted':!(0x38f+-0x1f8c*-0x1+0x2*-0x118d),'nudgeShown':!(-0x80*-0x5+0x2428+0x1*-0x26a7)};const K=H['answers']?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0x287)]||ai(0x1ec),Q=h>0x1bb+0x1*-0x1b83+-0x19*-0x108;console[ai(0x20f)](),console[ai(0x20f)](a0q[ai(0x1e0)]['bold']('\x20\x20═══\x20AI4CTF\x20—\x20Q'+N+':\x20'+M['category']+ai(0x1dd))),Q&&console[ai(0x20f)](a0q[ai(0x247)](ai(0x241))),O&&console[ai(0x20f)](a0q[ai(0x247)](ai(0x196))+a0q[ai(0x1bb)](O)+a0q[ai(0x247)](ai(0x1a8))),console[ai(0x20f)](),console[ai(0x20f)](a0q[ai(0x1fb)](ai(0x1d0))),console[ai(0x20f)](a0q[ai(0x1fb)](ai(0x1c4))+a0q['bold'][ai(0x1e6)]('Q'+N+ai(0x25e)+M[ai(0x240)]+ai(0x220)+(M[ai(0x1e5)]||0x1*-0x2351+0x16e*0x1+0x21e9*0x1)+ai(0x1af))),console[ai(0x20f)](a0q[ai(0x1fb)](ai(0x1be)));for(const R of String(M['text'])[ai(0x25d)]('\x0a')){const S=R['length']>-0x2f*-0xb8+-0x1a2+0x13*-0x1ae?R[ai(0x237)](-0x51b+0x1*-0x1b0a+0xd*0x279,0x259d*-0x1+-0x1435+0x673*0x9)+ai(0x1e4):R;console[ai(0x20f)](a0q[ai(0x1fb)]('\x20\x20│\x20')+a0q['white'](S));}console[ai(0x20f)](a0q[ai(0x1fb)]('\x20\x20│')),console[ai(0x20f)](a0q[ai(0x1fb)](ai(0x1c4))+a0q[ai(0x247)](ai(0x230))+a0q[ai(0x1e6)](ai(0x25c)+N)),console['log'](a0q['cyan'](ai(0x1c4))+a0q[ai(0x247)](ai(0x283))),console[ai(0x20f)](a0q['cyan']('\x20\x20└─────────────────────────────────────────────')),console[ai(0x20f)](),console[ai(0x20f)](a0q[ai(0x290)][ai(0x1e6)](ai(0x1a4))),console['log'](),console[ai(0x20f)](a0q[ai(0x1bb)](ai(0x1ab))+a0q[ai(0x247)](ai(0x24a))),console[ai(0x20f)](a0q[ai(0x1bb)](ai(0x1b9))+a0q[ai(0x247)](ai(0x217))),console['log'](a0q[ai(0x1bb)](ai(0x1c0))+a0q[ai(0x247)](ai(0x23a))),console[ai(0x20f)](a0q[ai(0x290)][ai(0x1e0)](ai(0x1a1))+a0q[ai(0x247)](ai(0x262))),console[ai(0x20f)](a0q['white'](ai(0x19f))+a0q[ai(0x247)](ai(0x27d))),console[ai(0x20f)](a0q[ai(0x247)](ai(0x260))),console[ai(0x20f)](a0q[ai(0x247)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0q[ai(0x1e6)]('\x22how\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console[ai(0x20f)](),console[ai(0x20f)](a0q[ai(0x247)](ai(0x1de))+a0q[ai(0x247)](ai(0x20e))),console[ai(0x20f)](a0q[ai(0x247)](ai(0x218))+a0q[ai(0x247)](ai(0x23b))),console[ai(0x20f)](),m(),console['log'](a0q['gray'](ai(0x1e3)+P+')')),console['log']();}(D,C,K),!(-0xb06+-0x76c*-0x4+0x12aa*-0x1);}(A,B):void a0C('Q'+A+'\x20not\x20found\x20in\x20state.\x20Try:\x20exam\x20q\x20'+A);}const v={};v[af(0x28d)]='Hidden\x20Message',v[af(0x240)]='Cryptography';const x=a0z()[af(0x287)]||af(0x1ec),z=v;try{y=await a0v(z);}catch(C){return void a0C(C[af(0x23f)]);}r=!(-0x84f*-0x1+0x1ef2+-0x2741),h=-0x1*0xea9+-0x6*0x254+0x1ca1,u=!(-0xcb*-0xf+-0x17f0+0xc0c),console[af(0x20f)](),console[af(0x20f)](a0q['green'][af(0x290)](af(0x266)+a0D('ai4ctfTitle')+af(0x1dd))),console[af(0x20f)](),console[af(0x20f)](a0q[af(0x1e6)]('\x20\x20'+a0D('ai4ctfSample'))),console[af(0x20f)](),console[af(0x20f)](a0q['cyan'](af(0x1d0))),console[af(0x20f)](a0q['cyan'](af(0x1c4))+a0q[af(0x290)]['white'](a0D('ai4ctfChallenge'))),console['log'](a0q['cyan'](af(0x1be))),console[af(0x20f)](a0q[af(0x1fb)](af(0x1c4))+a0q[af(0x1e6)](a0D(af(0x192)))),console[af(0x20f)](a0q[af(0x1fb)](af(0x1c4))+a0q[af(0x1e0)](af(0x1eb))),console[af(0x20f)](a0q['cyan'](af(0x1be))),console[af(0x20f)](a0q[af(0x1fb)](af(0x1c4))+a0q[af(0x1e6)](a0D('ai4ctfDecode'))),console['log'](a0q['cyan']('\x20\x20│\x20')+a0q[af(0x247)](af(0x1aa))),console[af(0x20f)](a0q[af(0x1fb)](af(0x1bd))),console[af(0x20f)](),console['log'](a0q['white']('\x20\x20'+a0D(af(0x1cc)))),console[af(0x20f)](),console[af(0x20f)](a0q[af(0x1bb)]('\x20\x20\x20\x20hint\x20a')+a0q[af(0x247)](af(0x21a)+a0D('ai4ctfHintA'))),console[af(0x20f)](a0q['gray'](af(0x275)+a0D(af(0x280)))),console[af(0x20f)](a0q[af(0x1bb)](af(0x1b9))+a0q[af(0x247)](af(0x21a)+a0D(af(0x193)))),console[af(0x20f)](a0q['gray'](af(0x275)+a0D('ai4ctfHintBUses'))),console[af(0x20f)](a0q['yellow'](af(0x1c0))+a0q[af(0x247)]('\x20\x20\x20\x20'+a0D(af(0x243)))),console['log'](a0q[af(0x247)](af(0x275)+a0D(af(0x24e)))),console[af(0x20f)](),console[af(0x20f)](a0q[af(0x247)](af(0x25a))),console[af(0x20f)](a0q['bold'][af(0x1e6)]('\x20\x20'+a0D('ai4ctfWelcomeCta'))),console[af(0x20f)](af(0x21a)+a0q['cyan'](af(0x1d7))+a0q[af(0x247)]('\x20\x20\x20→\x20'+a0D(af(0x255)))),console['log']('\x20\x20\x20\x20'+a0q['cyan']('hint\x20b')+a0q[af(0x247)]('\x20\x20\x20→\x20'+a0D(af(0x1cd)))),console[af(0x20f)](af(0x21a)+a0q[af(0x1fb)](af(0x1fe))+a0q[af(0x247)](af(0x227)+a0D('ai4ctfHintPrinciple'))),console[af(0x20f)](a0q[af(0x247)](af(0x21a)+a0D(af(0x23e)))),console['log'](),console['log'](a0q[af(0x1e6)]('\x20\x20'+a0D(af(0x213)))),console[af(0x20f)](a0q['gray']('\x20\x20'+a0D(af(0x26e))+'\x20')+a0q['white'](af(0x251))),console[af(0x20f)](),console[af(0x20f)](a0q['yellow']('\x20\x20'+a0D(af(0x289)))),console[af(0x20f)](a0q['white'](af(0x27c))+a0q[af(0x247)](a0D('ai4ctfCmdHintLine'))),console[af(0x20f)](a0q[af(0x1e6)](af(0x21d))+a0q['gray'](a0D(af(0x1f1)))),console[af(0x20f)](a0q[af(0x1e6)](af(0x19e))+a0q[af(0x247)](a0D(af(0x23c)))),console['log'](a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0q['white'](af(0x215))),console[af(0x20f)](a0q[af(0x247)](af(0x209)+a0D(af(0x199)))),console['log'](),m(),console[af(0x20f)](a0q[af(0x247)]('\x20\x20'+a0D(af(0x249))+af(0x1d2)+x+')')),console[af(0x20f)](a0q[af(0x247)]('\x20\x20'+a0D(af(0x1e9)))),console[af(0x20f)]();});}
@@ -1 +1 @@
1
- (function(z,B){const b0=a0B,F=z();while(!![]){try{const G=parseInt(b0(0x2d8))/(0x472*0x2+0x245+-0x22*0x54)+parseInt(b0(0x109))/(0x44b+0x51b+0x964*-0x1)+-parseInt(b0(0x3d0))/(-0xb*0x48+0x369*-0x1+0x684)+-parseInt(b0(0x319))/(0x1*-0x11fc+0x18*-0xe3+-0x4*-0x9d2)+parseInt(b0(0x169))/(0xd47+-0x634+-0x70e)*(parseInt(b0(0x2e5))/(-0x32b*0x1+0x1cdb+0x2da*-0x9))+parseInt(b0(0x387))/(-0x1d81+0x57b+-0x83*-0x2f)*(-parseInt(b0(0x3cc))/(0x1e57+0x15d2+-0x3421))+-parseInt(b0(0x13d))/(-0x137c+0x2*0x6e8+0x5b5);if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x2d*0x1177+0x18a5a+-0x1b*-0x1e6b));function a0B(a,b){a=a-(-0x5*0x2eb+-0x8fd+-0x25*-0xa9);const c=a0z();let d=c[a];if(a0B['QOSzHW']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x1a3*0x7+0x15e8+-0xa73,o,p,q=-0x15af+0x8f5+0xcba;p=i['charAt'](q++);~p&&(o=n%(0xa2d+0x1b7*-0x13+-0x46*-0x52)?o*(-0x2*-0x835+-0xad2+-0x72*0xc)+p:p,n++%(0x1bf4*-0x1+0xf61+0xc97))?l+=String['fromCharCode'](0xa95*0x1+-0x1*-0x24ac+-0x2e42&o>>(-(0x97c+-0xf0a*-0x2+-0x278e)*n&-0x29d*-0x5+0x109d+-0x1da8)):0x254c+0x1*0x1581+-0x3acd){p=j['indexOf'](p);}for(let r=0xe00+0xc25*-0x1+-0x1db,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x19b+0x101*-0x23+-0x56*-0x64))['slice'](-(-0x12b*-0x9+-0x33d*0xa+0x15e1));}return decodeURIComponent(m);};a0B['XSKSVz']=e,a0B['lnxidi']={},a0B['QOSzHW']=!![];}const f=c[-0xa9b+0x21c*-0x4+0x145*0xf],g=a+f,h=a0B['lnxidi'][g];return!h?(d=a0B['XSKSVz'](d),a0B['lnxidi'][g]=d):d=h,d;}import a0L from'chalk';import{confirm as a0Q}from'@inquirer/prompts';import{ExamClient as a0V}from'../lib/exam-client.js';import{getConfig as a0W,saveConfig as a0X}from'../lib/config.js';import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';import{printSuccess as a0a9,printError as a0aa,printWarning as a0ab,printInfo as a0ac,printTable as a0ad,printHeader as a0ae,printKeyValue as a0af,createSpinner as a0ag,formatCountdown as a0ah}from'../lib/ui.js';import{t as a0ai}from'../lib/i18n.js';import{getDeviceFingerprint as a0aj}from'../lib/access.js';import{getExamSetup as a0ak,saveExamSetup as a0al,isExamSetupComplete as a0am}from'../lib/exam-setup.js';import{execSync as a0an}from'node:child_process';function a0z(){const bP=['icaGicbbssb0B2TLBNm6icaGicaG','icdINjmG','ihjLBwfPBMLUzYK','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','C29YDa','icaGicbjBNnPzguGy2HHDdOGicaG','vgHHAwXHBMq','x2HLBhbvC2vK','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','CxvLC3rPB25Z','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','icbqBgvHC2uGCMuTDhLWztOG','zxHHBsbYzxzPzxC','CxvLC3rPB25dB3vUDa','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','C3vIBwL0ieLdt0f7lI4UFq','D3jVBMC','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','Cg9PBNrZ','icaGigjHy2S','nZDhsuDfvwi','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','CdmW','ixzPihnVBhzLlNb5','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','icaGienVBxbSzxrLzdOG','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','icdIL48G','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','AgfZ','ihf1zxn0Aw9UCY4','ihbHy2THz2vZigLUC3rHBgXLzc4','zxHHBvDHExngB3vUza','uxvLC3rPB25Z','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','Dg90ywXty29Yzq','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','zw5JB2rPBMC','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','zMXVB3i','DxrMltG','C3rKAw8','icbozwvKig1VCMu/ifr5Cgu6ia','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','icaGigzYB20GChDUigLTCg9YDcb4B3i','zgvHzgXPBMvtzxj2zxjnCW','zw1VAMK','uMvZDwX0igXVywrLza','igfUC3DLCMvKkq','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','AhrWqMfJAW','BwfJt1m','zxHHBq','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','icaGigv4yw0GCsaXlI4','Bwf0y2G','BgLUDxG','rNjHBMnL','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','ihrVihnLzsb5B3vYihjLC3vSDhmH','icdIMiuG','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','BwLZC2LUzW','vxbSB2fKAw5NigfUC3DLCNmUlI4','zw5KC1DPDgG','ihDHCYbUB3qGzMXHz2DLzc4','CMvZDw1L','icaGicbfBNrLCIbJAgf0oIaGicaG','icdILRGG','igfUC3DLCNmSihr5Cgu6','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','icbtDwjTAxr0Aw5Nig5VDYbZy29YzxmGzNjVBsbVBMX5ia','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','ic1TihbPCcbPBNn0ywXSici','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','BwLU','igf0DgvTChrZ','zgf0yq','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','ic1TihbPCcaTlxzLCNnPB24','ywK0y3rMpG','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','drTBmKSGia','uxvLC3rPB24G','nJmWmdbfv1L2Efa','icaGicbfEgfToIaG','AwnVyq','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','odyYodnJwe5lEfK','zMfPBgvKugfJA2fNzxm','Dg9Vx29Sza','C3rYAwTLDgHYB3vNAa','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','ic8G','8j+pLU+4JW','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','AhrWtMf2','AxnuvfK','rhvYyxrPB24','lI4VBgLIl21HAw4TCMWUANm','icHJB21WBgv4ihnVBhv0Aw9UCYK','Cg9ZDc1YzxbVCNqTCMv0CNK','uhjLCgfYAw5NlI4U','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','lI4U','Bwf4','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','iIaYpI9KzxyVBNvSBa','A2v5CW','zMLSDgvY','AgLUDcbHic8GyIaVigm','icdIMiyGuq','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','y29TCgXLDgu','x2XHC3rr','ywrK','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','icbVCIaG','ic1TihbPCcbZAg93ici','q3rYBcTd','ugfZCW','CxvPDa','icbqCMfJDgLJAw5Nia','y3rMngfP','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','vgLTzsbszw1HAw5PBMC','rxHHBxmG4Ocuia','DM9SyxrPBgL0Etm','DhLWzq','zgvTBY1LEgfT','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','C3rKB3v0','BwfYAYbBBL0','Dw5TyxjRifTUxq','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','yM9VA21HCMTZ','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','icaGicfWExrOB24ZihnVBhzLlNb5','icaGicbtB2X2zsa','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','yxr0zw1WDhm','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','icbzB3vYigfUC3DLCJOG','icbuBYbNBYbIywnRoIaG','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','icbzB3vYigjLC3q6ia','iokgKIa','tg9HzgLUzYbLEgfTlI4U','yxbWBgLJyxrPB24VANnVBG','ihnRAxbWzwq','sMfWyw4','igLUC3rHBgXLza','Cgn0','zgvTBW','igrLDgvJDgvK','ywK0y3rM','wYbD','zNvUy3rPB24','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','icbuCM91yMXLC2HVB3rPBMC6','AgvSCefSBfvZzwq','icaGicbnzxnZywDLCYdIHPiGquKGDgfYz2v0iokaLcbJCMfMDcbWCM9TChrZihrVigjYzwfRigL0CYbYDwXLCY4','icdIL4SG','A2v5','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','icaGiokrOYa','iokaLca','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','Cgf1C2u','C3rHDhvZ','mJa1mZK0AxPiC1fO','icbdDxjYzw50BhKGzMXHz2DLzdOG','y2f0y2G','icdIHPiG','zxHHBsbUzxH0','zxHHBvDHExnbAtrJDgy','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','icbuExbLia','ig1PBG','icaGihn1zg8Gyxb0ihvWzgf0zq','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','yxr0ywnOzwreyxrH','igLZihDLBgWGyMvSB3CU','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','icaGicdILQmG','CgLSBg93','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','sw52ywXPzcb0B2TLBG','icdINjmGie1dusbZzwn0Aw9UignVBxbSzxrLiokaLcb3zwXSigrVBMuH','C2v0uMf3tw9Kzq','CgfKu3rHCNq','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','oYb0AgLZihbYzxzLBNrZigfJy2LKzw50CYK','AhrWtgfUzW','C3rVCa','y2vPBa','zxHHBsbHBNn3zxiG','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','oJaW','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','C3rKAw4','itXJBwq+ia','ica+ia','q2HPBMe','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','C3rHCNrfEgfT','AwnVyt4','ChL0Ag9UmY4Xma','y291BNrYEq','zwXPBwLUyxrL','zxHHBsbTB3jLlwHLBha','icbdB250Aw51zsb0AgLZigv4yw06','tM8GzxHHBsbPBIbWCM9NCMvZCY4','icaGicbfEgL0ignOyxq6icaGicaG','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','icaGifbHy2THz2vZoIa','lcbUB3qGEw91CIb0zwfTBwf0zq','otm5ndeXBwfdv3fP','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','vxPIzwTPC3rHBG','icbtDgvWlwj5lxn0zxa6','zNjVBq','zxHHBsbYzxnLDa','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','q291BNrYEq','zwDNnW','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','icaGiokaOIbuCNK6ia','icdcTYblzwvWihnOyxjWzw5PBMC6ia','y29UzMLYBq','icbjBNn0ywXSAw5Nia','ywK0y3rMrgvZyW','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','zxHHBsbWCMv2','icdINjmGuhL0Ag9Uia','l2v0yY9VCY1YzwXLyxnL','8j+pM++4JW','zxHHBsbZDwjTAxqGy29UzMLYBsa','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','yNjLDW','C3bSAxq','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','icaGigHLBha','icaOEwvZiokaLcbSAxrLCMfSBhKGDhLWzsb0AguGBNvTyMvYia','ANnVBG','CxvLC3rPB24','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','BM9KztPYzwfKBgLUzq','icdWN5kHifrYEsb0ExbPBMCG','r28GDg8GBMv4DcbXDwvZDgLVBG','zMLUzeLUzgv4','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','u3bVDcbVBI4','ywXS','icbezxrLy3rLzdOG','rMfPBgvKihrVigXVywqGCMvZDwX0','icdcTYaG','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','icaGicbuB2TLBJOG','ntbmwLHYsfu','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','icbzB3uGC3rPBgWGAgf2zsa','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','rgvTBYbJB21WBgv0zwqGka','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','ihLVDsbNB3qGD3jVBMCU','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','Dg90ywW','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','vMLLDg5HBq','y2f0zwDVCNLtDgf0CW','ihvUzMXHz2DLzc4','icbqyxnZihrOCMvZAg9SzcbPCYb0ExbPy2fSBhKGntaLiokaLca','igf0DgvTChq','ChL0Ag9UmW','ugHPBgLWCgLUzxm','icaGigv4yw0GC3vIBwL0','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','qNjHEMLS','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','C19HAtrJDgy','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','tK9uifbbu1nfra','Aw5WDxq','icaGiokrPca','zxHHBsbZzxr1Ca','C3rHCNrLzef0','icaGzMLUAxnOigfUzcbZDwjTAxq','B25Jzq','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','DgLTzw91Da','q29UDgvUDc1uExbL','icbmyw5NDwfNztOG','zgvZy3jPChrPB24','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','icbszxj1BIb3AgvUigzPEgvKoIa','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','CMfUzg9T','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','zxHHBsbZDwjTAxq','CMvK','CMvTB3zLqwXStgLZDgvUzxjZ','icaGifLVDsbJyw4GBM93ihvZztOG','EwvSBg93','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','z3jHEq','icdWN46bicS','Dw5KzxjSAw5L','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','y3rMngfPpG','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','BwvZC2fNzq','AgvSCa','icaGicaGicaGkgn0zJrHAsK','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','BNvTyMvY','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','lI4VBgLIl3bSyxrMB3jTlMPZ','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','imk3ia','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','DdeW','uhjVz3jLC3m','AgvSCf91C2vK','zxHHBu5HBwu','ihbVAw50CW','icbuBYbJB25MAxjToIaG','y29UzMLYBwvKqxq','u29SAwqGCgLJAY4','C2nVCMu','AhrWtw9YzuHLBha','y3LHBG','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','qxzHAwXHyMXLiev4yw1ZicG','BM90ugfZC2vK','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','icbszwfKEt8GvxnLia','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','icbbC3nPC3rHBMnLihvZzwq','icbODhrWCZOVl2LJB2eYmdi2lMf1','Aw5JBhvKzxm','Aw50zxjHy3rPB25Z','vw5HBNn3zxjLza','ihrVigfZAYbbssbMB3iGAgvSCdO','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','igzSywDNzwqGzM9YihjLDMLLDY4','C2XPy2u','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','ChL0Ag9UmY4XmG','icaGicfWExrOB24Z','y3rMzfvYBa','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','icbzB3uGD2LSBcbZDwjTAxqG','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','Ew91CKfUC3DLCG','zgvTB0LUDhjVu2vLBG','uhL0Ag9Uia','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','DhjPBq','icaGicbLEgfTigXPC3qGueu','CMvWzwf0','icaGign0zJrHAq','icbzB3uGy2fUihbHDxnLihDPDgGG','tg9HzgLUzYbXDwvZDgLVBNmUlI4','zwDNmte','ugvYy2vUDgfNzq','Dg9Rzw4','zxHHBvDHExntyxzLzfrV','icaGicaGicaOBM93lcb+nsbTAw4P','yNm0','zxHHBsbKzw1V','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','ixb5DgHVBJmGC29SDMuUChK','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','EJmTC29SDMvY','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','igzPCNn0lG','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','ueftu0ve','CgvYzMvJDfnJB3jL','icaGia','BMv3','zxHHBvDHExnuB1nVBhzL','BMv4Da','Ag93vg9qBgf5','Dgv4Da','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','icaGsg93ihrVigf0DgfJAW','ywn0Aw9U','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icbB','icbuB2TLBJOGica','vgLTzsb1C2vKoIa','iefjnenurG','icbYDw4G','zwDNmtm','icaOAgvSCca','AwDUB3jL','ihbHy2THz2vZlI4U','igfUC3DLCMvK','zxHWBgfUyxrPB24','ywLvC2fNzq','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','DMXH','CMvXDwvZDhm','l2HLBha','rw52AxjVBM1LBNqGCMvHzhK','zxHHBsbOzwXW','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','icaGig1HCMS','BMfTzq','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','B3b0Aw9UCW','Bg9N','C2HVD25xyxjUAw5NCW','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','y2HHBMDLzcbMCM9Tia','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','x3n1yM1PDenVBMzPCM1Lza','D3jPDgu','zxHHBsa8Dg9Rzw4+','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','zxHHBsbZDgfYDca','sw52ywXPzcbLEgfTihrVA2vU','icaGieXHBMC6icaGia','Dg9tDhjPBMC','CgTN','BgfUz3vHz2u','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','zxHHBsbZDwjTAxqG','AxnsyxC','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','y2XVC2u','icbozxH0ihn0zxa6ia','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','CgfZC2vK','ig9Mia','ChDUDg9VBhm','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','Aw5ZDgfSBgvKugfJA2fNzxm','y2XLyxi','rMfPBgvKihrVihn0yxj0igv4yw0','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','Ew91CIbmAw51EcbKAxn0CM8','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','C3vJy2vLza','icbfEgfTCgXLoIa','vhvYA2v5','l2fWAs9Py29Hl2v4yw1ZlW','Aw5FChjVz3jLC3m','CM91BMq','zwDNnq','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','qMfUz2XHzgvZAa','icaGig5LEhq','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','icbpCIb0ExbLia','quKGDg9Rzw5ZoIa','zMLUza','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','Aw5KzxHpzG','zxHHBsbTyxjRia','zxHHBsb1BM1HCMSG','ihbVAw50CYaOntaLkq','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','icbVzIa','u291DgGGqwzYAwnH','C2vYDMvYx3rPBwvFBxm','zxHHBvDHExntAgvSBa','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','y2XVy2TpzMzZzxrnCW','ihrVigXLyxzLigLJB2e','y2f0','CMvMihb5DgHVBG','vwj1BNr1ia','icaGigfPngn0zG','AM9PBG','ugvYDq','uK9qz2fKz2v0','AxnbCNjHEq','t3rOzxi','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','zhvYyxrPB25nAw51DgvZ','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','u2nVCMu','r3jHzgLUzY4UlG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','y29YCMvJDa','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','r2HHBMe','icbbssbbC3nPC3rHBNq','rMfPBgvKihrVigXVywqGzxHHBxm','AhrWu3vIBwL0','zw50CMLLCW','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','yMvHDxrPzNvSC291Cdq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','u2H1zMzSAw5Nig9WDgLVBNmUlI4','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','ywK0y3rMu3vI','B3v0Chv0','AhrWqw5ZD2vY','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','igfUC3DLCNmU','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','icaGign0zJr2Bge','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','C3rYAw5NAwz5','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','zxHHBuLK','iefjihn5C3rLBxmU','C3vIBwL0DgvKqxq','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','rxHHy3rSEs4','ig5VDcbMB3vUzcaOms0','CgXHDgzVCM0','ihrVihDPCguGBg9JywWGC3rHDguSihrOzw4GCMuTzw50zxiGDgHLig5LDYb0B2TLBI4','DgvZDa','x2HLBhbqzxjr','zxHHBsa','r0vu','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','yw5ZD2vYCW','xsaG','yxr0ywnRAw5N','ChjLDG','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','CMvWBgfJzq','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','C19JDgy0ywK','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','C3vIBwL0DgvK','l3n1yM1PDa','CgfKrw5K','y2f0zwDVCNK','zwXPBwLUyxrLza','l2fUC3DLCG','zxHPDa','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','zxHHBsbXide','rMXHz2DLzcbMB3iGCMv2Awv3','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','BM9KztPMCW','y29TBwfUza','icHxu0WYkq','igzHAwXLzdOG','lI4VBgLIl2rLBw8TzxHHBs5QCW','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','icaGimk3ia','ixb5DgHVBJmGlI4U','iIbPCYbPBIbWCM9NCMvZCY4','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIb5B3vYignVDw50CNKGEwv0lG','zwDNoq','wYbDica','Dg9vChbLCKnHC2u','mJuSmdaWihrVA2vUCW','icbr','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','icaGicaGicHpCIbKB3DUBg9HzcbMCM9Tihb5DgHVBI5VCMCGyw5KienirunligjVDgGGiKfKzcbqExrOB24GDg8','Cvr1Dg9YAwfS','zxHHBsb0B2TLBIa','BgvUz3rO','ihnOyxjLzcbHy3jVC3mGutm54Octnda','qwXTB3n0ihjLywr5lI4U','zMLUywW','zxHHBsbUyxrPB25Z','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','Dg9ju09tDhjPBMC','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','D2HPDgu','Dwj1BNr1','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','C3rHCNqGpgLKpG','icbtDwjTAxqGBM93ihDPDgG6ia','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','ienurJrbsq','DxnLza','ifSGxsaG','zgvTBY1MCMvL','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','icaGiokrOsa','C29Tzq','z3jHzgLUzW','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','t24GDgHLig1VBMv5lG','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','u3rHCNrPBMCGDgLTzxiUlI4','rwD5Chq','mJuSmdaW','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','C3vIBwL0ifTJB25MAxjTqxjNxsbBC2vJB25KqxjNxq','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','C3LTChK','mtK5mZqZCfjhsfL0','BgLZDgvUzxjZ','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','yM9Sza','vg90ywW','icaGica','u3rYB25NzxiGAgvYztOGia','C3rHCNq','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','ixb5DgHVBJm','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','mte4mdG2ruLuzLfX','tg9HzgLUzYbLEgfTCY4UlG','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','C2vZC2LVBG','yw5ZD2vY','yw5ZD2vYvgHPCW','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','zxHHBsbSAxn0ia','CdeW','vw5PDgvKifn0yxrLCW','icaGicaGia','yw5ZD2vYzwq','zxHHBvDHExnszwzqExrOB24','AgLUDa','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','icbuAw1LoIaGica','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','q29TCgXLDguH','z2v0rxHHBxm','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','zgfYD2LU','ig1PBNv0zxm','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','icaGrwXHChnLzdOG','q2HLy2SGEw91CIb0B2TLBIbVCIbJB250ywn0ihLVDxiGChjVy3rVCI4','u3vIBwL0igzHAwXLza','zxHHBvDHExnqExrOB25szxbS','icaGkhjLC3vTzsbMCM9TifeXkq','zxHHBsbZDwjTAxqGy29UzMLYBq','D2HPy2G','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','uM9VBsb0BYbNCM93oIaGia','tMv3ifPLywXHBMq','CMvM','igf0igfUEsb0Aw1LlG','icdIHPiGia','icdIMQaGuhL0Ag9Uia','C3rKzxjY','y29TCgXLDgvKqxq','iokCKYaGka','CMvNzxG','icaGDxnPBMCGquKSihLVDsDYzsa','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','C2v0Dxa','vMLLDYbLEgfTihjLC3vSDa','icbbBgWGAgvSCcb1C2vKicG','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','ue9tva','uMvHzhKH','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','nJC2mZa4AKftCgnO','ihjLz2LVBNmP','icbezw1VoIa','icbsDwXLCZO','sgvSCdOGicaGica','Dg9Rzw4GpgnVzgu+','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','icdIMQaGie9UBhKG','zMfPBa','icaG','icaGieeVqI9dl0q','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icbgzwrVCMeGlYbssevmoG','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','Dg9mB3DLCKnHC2u','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','ChLJCNLWDg9KB21L','ChvZAa','ChDU','icaGigXHBMC','oIdIGjq','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','C3vIC3rYAw5N','ChL0Ag9UvMvYC2LVBG','lI4VBgLIl2nVBMzPzY5QCW','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','AgvSCfvZzwrvCa','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','icaGideUifr5CguG','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','CMvTB3zLtgLZDgvUzxi','CMvZzxq','x2vSAw1PBMf0zwq','tM8GDgLTzsbSAw1PDa','zwXPBwLUyxrLzca','icaGww91CIb0zxjTAw5HBca','ig9YigXLyxzLihDPDgGG','icGR','icaGicaGicaGia','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','icaGigv4yw0GBgLZDcbbvq','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','icaGiokgKIa','zxHHBsbXia','tMLJzsbVBMuU','igvSAw1PBMf0zwqH','BM9KztPJAgLSzf9WCM9JzxnZ','z3jLzw4','ic0TCxvPzxqGmJ4Mmq','igzVCIb0AgLZihnLy3rPB24','CgvYuq','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','BgLUzq','icbuBYbJB250Aw51zsb0AgLZigv4yw06','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','yMfJAW','zwDNmW','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','BM93','icaGid4+pIbLEgL0kcK','z2v0vgLTzq','BwfW','u291DgGGs29Yzwe','C3vKBYbHChqGDxbKyxrL','yw5ZD2vYx2nOyw5Nzwq','x2HLBhbnyxG','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','icbfEgfToIaGica','D2L0Aa','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','qw5ZD2vYzwq','zwDNmtu','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','icbdyw5JzwXSzwqU','qw5ZD2vYzwq6ica','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','lI4VBgLIl2v4yw0TC3rHDguUANm','cIaG','twfJyxu','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','icbnzxrOB2qGmtOGt25LlwXPBMvY','icbjzIb5B3uGCMvHBgX5ihDHBNqGDg8GC3vIBwL0ihDPDgGGANvZDca'];a0z=function(){return bP;};return a0z();}const q=z=>new Promise(B=>setTimeout(B,z));function N(B,F={}){const b1=a0B,G=a0W(),H={};H[b1(0x191)]=b1(0xf3),fetch(b1(0x235),{'method':b1(0x316),'headers':H,'body':JSON['stringify']({'type':B,'lang':G[b1(0x223)]||'en','timestamp':new Date()[b1(0x2bd)](),...F}),'signal':AbortSignal['timeout'](0x15e8+0x1a1a+-0x1c7a)})[b1(0x10b)](()=>{});}function E(z,B){const b2=a0B,F=Math[b2(0x23c)](z/(-0x15af+0x8f5+0xd1e)*(0xa2d+0x1b7*-0x13+-0x3e*-0x5d)),G=-0x2*-0x835+-0xad2+-0x2bd*0x2-F,H=a0L[b2(0x349)]('█'[b2(0x1da)](F))+a0L['gray']('░'[b2(0x1da)](G)),J=String(z)['padStart'](0x1bf4*-0x1+0xf61+0xc96)+'%';process[b2(0xe2)]['write'](b2(0x3ca)+H+'\x20'+J+'\x20\x20'+a0L[b2(0x1a2)](B));}function M(){const b3=a0B,z=a0W();return z[b3(0x1d0)]&&z[b3(0x1e0)]?new a0V(z[b3(0x1d0)],z['token']):(a0aa(b3(0x2d0)),null);}function O(){const b4=a0B,z=a0a1();z&&(new Date()<z?a0af('Time\x20Remaining',a0L[b4(0x1a0)][b4(0x2db)](a0ah(z))):a0af('Time',a0L[b4(0x19d)]['bold']('EXPIRED')));}function j(z,B){const b5=a0B;return Array[b5(0x259)](z[b5(0xe6)])&&z[b5(0xe6)][b5(0x1c6)](B);}function D(z,B){const b6=a0B,F=Array[b6(0x259)](z[b6(0xe6)])?[...z['bookmarks']]:[],G=F[b6(0x246)](B);return G>=0xa95*0x1+-0x1*-0x24ac+-0x2f41?(F['splice'](G,0x97c+-0xf0a*-0x2+-0x278f),z[b6(0xe6)]=F,a0Z(z),!(-0x29d*-0x5+0x109d+-0x1dad)):(F[b6(0x32a)](B),F[b6(0x375)]((H,J)=>H-J),z[b6(0xe6)]=F,a0Z(z),!(0x254c+0x1*0x1581+-0x3acd));}function R(B){const b7=a0B,F={};return F[b7(0x2c7)]=B[b7(0x378)]||0xe00+0xc25*-0x1+-0x1db,F[b7(0x3e2)]=B[b7(0x35c)]||0x19b+0x101*-0x23+-0x24*-0xef,F['perQ']=B[b7(0x284)]||{},F[b7(0x296)]=B[b7(0x339)]||{},F;}function U(z,B){const b8=a0B,F=a0Y(),G=Number(F?.[b8(0x2e8)][b8(0x380)]||-0x12b*-0x9+-0x33d*0xa+0x15fd),H=Object[b8(0x3e5)](F?.['answers']||{})[b8(0x2b6)],J=R(F),K=J[b8(0x296)][z['number']]||[],L='ai4ctf'===z[b8(0xde)]||b8(0xd9)===z[b8(0xde)]||b8(0x209)===z[b8(0xde)]||z[b8(0x214)]&&!z['options']['A']&&!z[b8(0x214)]['B'];F&&function(Y,Z){const b9=b8;if(b9(0x2c9)===Y['session'][b9(0x27b)])return;const a0=new Set(Y[b9(0x216)]||[]),a1=Number(Y[b9(0x2e8)]['questionCount']||-0xa9b+0x21c*-0x4+0x3d7*0x5),a2=a0a1();if(-0x16f2+-0x10b0+0x27ac===Z&&a1>=0x7*0x594+-0x1d1b+-0x9c9&&!a0[b9(0x392)](b9(0x2ee))){const a3=a2?Math[b9(0x3e2)](-0x259e+-0x14b3+0x3a51*0x1,Math[b9(0x23c)]((a2[b9(0x357)]()-Date[b9(0x355)]())/(0x15307+0x58c3*-0x4+0xfa65))):null;console[b9(0x215)](),console[b9(0x215)](a0L[b9(0x1a2)](b9(0x2d4))),console['log'](a0L[b9(0x1bc)]('\x20\x20⏱\x20\x20Time\x20check\x20\x20')+a0L['gray'](b9(0x279))),null!==a3&&console[b9(0x215)](a0L[b9(0x1a2)](b9(0x2dd)+a3+b9(0x27e))),console[b9(0x215)](a0L[b9(0x1a2)](b9(0x2d4))),a0[b9(0x3ec)](b9(0x2ee)),Y[b9(0x216)]=Array[b9(0x141)](a0),a0Z(Y);}if(-0xd*0x62+-0x2654+0x2b6c===Z&&a1>=0x905+-0x227d+0x19a0&&!a0[b9(0x392)](b9(0x389))){Object['keys'](Y[b9(0x288)]||{})[b9(0x2b6)];const a4=Object[b9(0x3e5)](Y[b9(0x288)]||{})[b9(0x3e6)](a5=>Number(a5)<=-0xc82*-0x1+-0x19f7+0xd93)['length'];console['log'](),console[b9(0x215)](a0L[b9(0x349)](b9(0x2bc))),console[b9(0x215)](a0L['bold'][b9(0x349)](b9(0x11e))),console[b9(0x215)](a0L[b9(0x1a2)](b9(0x2dd)+a4+b9(0x28f))),console[b9(0x215)](a0L[b9(0x2bf)]('\x20\x20↓\x20\x20Practical\x20section\x20begins\x20at\x20Q31.')),console[b9(0x215)](a0L['gray'](b9(0x1eb))),console['log'](a0L[b9(0x349)](b9(0x2bc))),a0[b9(0x3ec)](b9(0x389)),Y[b9(0x216)]=Array[b9(0x141)](a0),a0Z(Y);}}(F,z[b8(0x1ac)]),F&&L&&function(Y,Z){const ba=b8;if(ba(0x2c9)===Y[ba(0x2e8)][ba(0x27b)])return;if(Number(Y[ba(0x2e8)][ba(0x380)]||0x572+-0x1*-0xba5+-0x55*0x33)<0xc*-0x1d+0x1*0x2147+-0xad*0x2f)return;const a0=new Set(Y[ba(0x216)]||[]);Z>=0x1db2+-0x9a+-0x1cf9&&Z<=-0x4*-0x8ee+0x11*-0x3c+0x26e*-0xd&&!a0[ba(0x392)](ba(0x185))?(console['log'](),console[ba(0x215)](a0L['green'](ba(0x260))),console[ba(0x215)](a0L[ba(0x2db)]['green'](ba(0x1f5))),console[ba(0x215)](a0L[ba(0x349)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x2bf)]('\x20\x20\x20Welcome\x20to\x20the\x20practical\x20CTF\x20section.\x20Real')),console[ba(0x215)](a0L[ba(0x2bf)](ba(0x122))),console[ba(0x215)](),console['log'](a0L[ba(0x2db)][ba(0x2bf)](ba(0x1ad))),console[ba(0x215)](a0L['gray'](ba(0xe9))+a0L[ba(0x2db)](ba(0x35f))+a0L['gray'](ba(0x176))),console[ba(0x215)](),console['log'](a0L['bold']['white']('\x20\x20\x20How\x20to\x20work')),console[ba(0x215)](a0L[ba(0x1a2)](ba(0x3b9))+a0L['bold'][ba(0x349)](ba(0xfa))+a0L[ba(0x1a2)](ba(0xf1))+a0L['magenta'](ba(0x3c7))+a0L[ba(0x1a2)](ba(0x3b3))),console['log'](a0L[ba(0x1a2)]('\x20\x20\x20\x20\x20Inside\x20chat:\x20\x20\x20\x20')+a0L[ba(0x1bc)]('hint\x20a\x20/\x20b\x20/\x20c')+a0L['gray'](ba(0x1b0))+a0L[ba(0x1bc)](ba(0x382))+a0L[ba(0x1a2)](ba(0x1b0))+a0L[ba(0x1bc)](ba(0x2a9))),console[ba(0x215)](a0L[ba(0x1a2)](ba(0x26e))),console['log'](a0L['gray'](ba(0x139))+a0L[ba(0x1bc)](ba(0x298))+a0L['gray']('\x20→\x20back\x20to\x20exam,\x20navigate\x20with\x20')+a0L['cyan']('next\x20/\x20prev')),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x2db)][ba(0x2bf)](ba(0x1ab))),console[ba(0x215)](a0L[ba(0x1a2)](ba(0x371))+a0L[ba(0x2bf)](ba(0x2d3))+a0L[ba(0x1a2)](ba(0x34b))),console[ba(0x215)](a0L[ba(0x1a2)]('\x20\x20\x20\x20\x20Hints\x20A/B/C:\x20\x20\x20\x20')+a0L['white'](ba(0x36a))),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x1a0)](ba(0x232))),console[ba(0x215)](a0L[ba(0x349)](ba(0x260))),console[ba(0x215)](),a0[ba(0x3ec)](ba(0x185)),Y[ba(0x216)]=Array[ba(0x141)](a0),a0Z(Y)):Z>=0x1e46+0x17f3+-0x3612&&!a0[ba(0x392)](ba(0x290))&&(console[ba(0x215)](),console[ba(0x215)](a0L['red'](ba(0x260))),console[ba(0x215)](a0L[ba(0x2db)][ba(0x19d)](ba(0x236))),console[ba(0x215)](a0L[ba(0x19d)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x2bf)](ba(0x24f))),console[ba(0x215)](a0L[ba(0x2bf)](ba(0x30f))+a0L['bold'](ba(0x28a))+a0L[ba(0x2bf)](ba(0x27c))),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x2db)][ba(0x2bf)](ba(0x2d6))),console[ba(0x215)](a0L['gray'](ba(0x3e3))),console['log'](),console['log'](a0L['bold'][ba(0x2bf)](ba(0x1f6))),console[ba(0x215)](a0L[ba(0x1a2)](ba(0x3b9))+a0L[ba(0x2db)][ba(0x19d)](ba(0xd9))+a0L['gray'](ba(0xf1))+a0L['red'](ba(0x1a6))+a0L[ba(0x1a2)](ba(0x291))),console['log'](a0L[ba(0x1a2)](ba(0x376))+a0L['cyan'](ba(0x3e7))+a0L[ba(0x1a2)](ba(0x1b0))+a0L[ba(0x1bc)](ba(0x382))+a0L[ba(0x1a2)]('\x20·\x20')+a0L[ba(0x1bc)](ba(0x2a9))),console[ba(0x215)](a0L[ba(0x1a2)](ba(0x100))),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x2db)]['white']('\x20\x20\x20Key\x20differences\x20from\x20AI4CTF')),console[ba(0x215)](a0L['gray']('\x20\x20\x20\x20\x20·\x20AI\x20is\x20your\x20')+a0L[ba(0x19d)]('target')+a0L[ba(0x1a2)](ba(0x13c))),console[ba(0x215)](a0L['gray'](ba(0x315))+a0L['white'](ba(0x2b0))+a0L[ba(0x1a2)](ba(0x2b7))),console['log'](),console[ba(0x215)](a0L[ba(0x1a0)]('\x20\x20\x20These\x20are\x20the\x20hardest\x20questions.\x20Worth\x2021%\x20of\x20total\x20score.')),console[ba(0x215)](a0L['yellow'](ba(0x21d))),console[ba(0x215)](a0L[ba(0x19d)](ba(0x260))),console['log'](),a0['add'](ba(0x290)),Y['shownWarnings']=Array['from'](a0),a0Z(Y));}(F,z['number']),F&&function(Y){const bb=b8,Z=a0a1();if(!Z)return;const a0=Z[bb(0x357)]()-Date[bb(0x355)]();if(a0<=-0x206e+0x206+0xf34*0x2)return;const a1=a0/(0x3*-0x2907+-0xa51b+0x20a90),a2=new Set(Y[bb(0x216)]||[]);let a3=null;if(a1<=0x1bdb+-0x4*-0x606+0xda*-0x3d&&!a2['has']('t1')?a3={'key':'t1','text':[a0L[bb(0x19d)][bb(0x2db)](bb(0x1ca)),a0L['red'](bb(0x2c3))+a0L[bb(0x2db)](bb(0x19c))]}:a1<=-0x109e*0x1+0x4*-0x5ad+0x1b*0x175&&!a2[bb(0x392)]('t5')?a3={'key':'t5','text':[a0L[bb(0x19d)][bb(0x2db)](bb(0x3a6)),a0L[bb(0x1a0)]('\x20\x20Wrap\x20up\x20and\x20submit:\x20')+a0L[bb(0x2db)](bb(0x19c))]}:a1<=-0x2557*0x1+0x3dd+-0x2184*-0x1&&!a2[bb(0x392)]('t10')&&(a3={'key':bb(0x1b2),'text':[a0L[bb(0x1a0)][bb(0x2db)](bb(0x20f)),a0L[bb(0x1a2)](bb(0x219))+a0L[bb(0x2bf)]('exam\x20review')]}),a3){console['log'](),console[bb(0x215)](a0L[bb(0x19d)](bb(0x2bc)));for(const a4 of a3['text'])console[bb(0x215)](a4);console['log'](a0L[bb(0x19d)](bb(0x2bc))),a2[bb(0x3ec)](a3[bb(0x102)]),Y[bb(0x216)]=Array[bb(0x141)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const bc=b8,a1=Math[bc(0x23c)](Y/Z*(-0x577*0x4+-0x3*0x5d5+-0xd7*-0x2f)),a2=0x1400+-0x9f9*0x3+0xa09-a1,a3=a0L[bc(0x1bc)]('━'[bc(0x1da)](a1))+a0L['gray']('─'[bc(0x1da)](a2)),a4=Math[bc(0x23c)](Y/Z*(0x1e52+0x8f3+-0x26e1));console[bc(0x215)](),console[bc(0x215)]('\x20\x20'+a3+'\x20\x20'+a0L[bc(0x2bf)][bc(0x2db)](''+Y)+a0L[bc(0x1a2)]('/'+Z)+'\x20\x20'+a0L['gray']('('+a0+'\x20answered)')+'\x20\x20'+a0L['gray'](a4+'%'));const a5=a0a1();if(a5){const a6=Math[bc(0x3e2)](-0x2*0xb3+-0xb*-0x2e+0x2*-0x4a,Math['round']((a5[bc(0x357)]()-Date[bc(0x355)]())/(0x1b07+0x1*0x2665+0x1fc*-0x1f))),a7=Math[bc(0x39c)](a6/(-0x67*0x1e+-0xf3d*-0x2+-0x122c))+':'+String(a6%(-0x2cf*-0x6+0x1a7b+-0x2b19))[bc(0x120)](0x1*-0xa2f+0x12d7+-0x3*0x2e2,'0'),a8=a6<=-0xe2a+0xa59+0x40d?a0L[bc(0x19d)][bc(0x2db)]:a6<=0x879+0x21f1+-0x293e?a0L[bc(0x19d)]:a6<=0xdf*-0x12+0x1157+0xaf?a0L[bc(0x1a0)]:a0L[bc(0x1a2)];console['log']('\x20\x20'+a0L[bc(0x1a2)]('⏱\x20Time\x20remaining:')+'\x20'+a8(a7)+'\x20'+a0L[bc(0x1a2)]('(server-authoritative)'));}}(z[b8(0x1ac)],G,H),F&&j(F,z[b8(0x1ac)])&&console[b8(0x215)](a0L[b8(0x1a0)](b8(0xe1)));const Q=function(Y,Z){const bd=b8,a0={};a0[bd(0xf7)]=0.2,a0[bd(0x3a3)]=bd(0x151),a0[bd(0x102)]=bd(0x352);const a1={};a1[bd(0xf7)]=0.33,a1[bd(0x3a3)]='🐨',a1[bd(0x102)]=bd(0x23d);const a2={};a2[bd(0xf7)]=0.5,a2['emoji']='🌉',a2[bd(0x102)]=bd(0x145);const a3={};a3[bd(0xf7)]=0.6,a3[bd(0x3a3)]='🦘',a3[bd(0x102)]=bd(0x2ad);const a4={};a4[bd(0xf7)]=0.8,a4[bd(0x3a3)]=bd(0x3d6),a4[bd(0x102)]=bd(0x1de);const a5={};a5[bd(0xf7)]=0.87,a5[bd(0x3a3)]='🦈',a5['key']=bd(0x201);const a6={};a6[bd(0xf7)]=0x1,a6[bd(0x3a3)]='🎉',a6[bd(0x102)]=bd(0x364);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[bd(0x23c)](a9[bd(0xf7)]*Z);if(!(aa<0x385*-0x5+0x1*0x1ead+0x1*-0xd13||a8[bd(0x392)](aa))&&(a8[bd(0x3ec)](aa),Y===aa))return{'emoji':a9[bd(0x3a3)],'text':a0ai(a9[bd(0x102)])};}}(z[b8(0x1ac)],G);if(Q&&console['log'](a0L['yellow']('\x20\x20'+Q[b8(0x3a3)]+'\x20\x20'+Q[b8(0x1f3)])),console['log'](),z['category']&&console[b8(0x215)](a0L[b8(0x1bc)](b8(0x1fc)+z[b8(0x295)]+']')),z['points']&&z[b8(0x385)]>-0x24bb+-0x2431+0x48ee&&console[b8(0x215)](a0L[b8(0x1bc)](b8(0x1fc)+z['points']+'\x20points]')),L){let Y=z[b8(0x193)]||z[b8(0x1f3)];const Z=a0a2(z[b8(0x1ac)],z['attachedData']);if(z[b8(0x116)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b8(0x283)](Y)?Y=Y['replace'](a1,z[b8(0x116)]):Y[b8(0x1c6)](z[b8(0x116)])||(Y=Y+'\x0a\x0aFull\x20attached\x20data:\x0a'+z[b8(0x116)]);}console[b8(0x215)](a0L[b8(0x2db)][b8(0x2bf)]('\x20\x20Q'+z[b8(0x1ac)]+'.\x20')+a0L['white'](Y[b8(0x155)]('\x0a')[-0x103b*0x1+0x2*0x128b+-0x14db]));const a0=Y['split']('\x0a')[b8(0x1cc)](0x509+-0x39*-0x98+-0x8*0x4dc);for(const a2 of a0)console[b8(0x215)](a0L[b8(0x2bf)]('\x20\x20'+a2));if(console[b8(0x215)](),Z&&b8(0xfa)===z[b8(0xde)]){const a3=Z[b8(0x28d)](process.env.HOME||'','~');console[b8(0x215)](a0L[b8(0x1bc)]('\x20\x20'+a0ai(b8(0x1f0))+'\x20')+a0L['gray']('('+a0ai(b8(0x1e1))+'\x20'+a3+'):')),console[b8(0x215)](a0L['white']('\x20\x20\x20\x20①\x20')+a0L[b8(0x1a0)](b8(0x12d)+a3)[b8(0x294)](-0x1785+0x2*-0x35b+0x1e6f)+a0L[b8(0x1a2)]('\x20'+a0ai(b8(0x24e)))),console[b8(0x215)](a0L[b8(0x2bf)](b8(0x2cb))+a0L['yellow'](b8(0x2e1))[b8(0x294)](0x9b*0x1e+-0x250c+0x1302*0x1)+a0L[b8(0x1a2)]('\x20'+a0ai(b8(0x300)))),console[b8(0x215)](a0L['white']('\x20\x20\x20\x20③\x20')+a0L['yellow'](b8(0x38a))+a0L['gray'](b8(0x309))+a0L[b8(0x1a0)](b8(0x1e6))),console[b8(0x215)](a0L[b8(0x2bf)](b8(0x104))+a0L[b8(0x1a0)](b8(0x253))[b8(0x294)](0x1db6*0x1+-0x131b*0x1+0x1*-0xa7b)+a0L[b8(0x1a2)]('\x20'+a0ai(b8(0x2f2)))),console['log'](a0L[b8(0x2bf)](b8(0x18a))+a0L[b8(0x1a0)](b8(0xfa))[b8(0x294)](0x1749+-0x934+-0xdf5)+a0L[b8(0x1a2)]('\x20'+a0ai(b8(0x10e)))),console[b8(0x215)](),console[b8(0x215)](a0L[b8(0x1a2)]('\x20\x20'+a0ai(b8(0x395))+'\x20')+a0L['bold']['green'](b8(0x2e4))),console['log']();}B&&(console[b8(0x215)](a0L['green'](b8(0xed)+B)),console['log']());}else{console[b8(0x215)](a0L[b8(0x2db)]['white'](b8(0x2b1)+z['number']+'.\x20')+a0L['white'](z[b8(0x1f3)])),console[b8(0x215)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K[b8(0x1c6)](a4)?console[b8(0x215)](a0L[b8(0x1a2)][b8(0x3d3)](b8(0x1ee)+a4+'.\x20'+z[b8(0x214)][a4])+a0L[b8(0x19d)]('\x20('+a0ai(b8(0x383))+')')):a5?console['log'](a0L[b8(0x349)][b8(0x2db)](b8(0x3ba)+a4+'.\x20'+z[b8(0x214)][a4])):console[b8(0x215)](a0L[b8(0x1a2)](b8(0x1ee)+a4+'.')+'\x20'+a0L[b8(0x2bf)](z[b8(0x214)][a4]));}console[b8(0x215)]();}const V='demo-free'===F?.[b8(0x2e8)][b8(0x27b)],W=J[b8(0x34c)][-0x20ce+0x3*0x118+-0xb4*-0x2a]||0x3*-0xc33+0x2*-0x80b+0x34af;V&&-0xb5*0x2b+-0x49*-0xf+0x1a22===z[b8(0x1ac)]&&-0x1de9+0x1075+-0x6ba*-0x2===W&&(console[b8(0x215)](a0L[b8(0x1a0)]['bold']('\x20\x20'+a0ai(b8(0x2b4)))),console[b8(0x215)]());const X=J[b8(0x3e2)]-J['used'];if(console[b8(0x215)](a0L['gray']('\x20\x20─────────────────────────────────────────')),L){const a6=F&&'demo-free'!==F[b8(0x2e8)][b8(0x27b)]&&z[b8(0x1ac)]>=0x88f*-0x1+-0x1c73*0x1+0x2529&&z[b8(0x1ac)]<=-0x1a6+0x2*-0x8a1+0x1310,a7=F&&b8(0x2c9)!==F[b8(0x2e8)][b8(0x27b)]&&z[b8(0x1ac)]>=-0x18f4+-0xdb3+-0x2*-0x1363&&z[b8(0x1ac)]<=-0x187f+-0xc*-0x43+0x3*0x72b;b8(0x209)===z[b8(0xde)]?console[b8(0x215)](a0L[b8(0x2db)]['cyan'](b8(0x276))+a0L['gray']('\x20\x20\x20\x20\x20\x20\x20enter\x20VLA\x20attack\x20mode\x20for\x20this\x20question\x20(recommended)')):a7?console[b8(0x215)](a0L[b8(0x2db)][b8(0x349)](b8(0x255))+a0L[b8(0x1a2)](b8(0x224))):a6&&console[b8(0x215)](a0L[b8(0x2db)][b8(0x19d)](b8(0x1db))+a0L['gray'](b8(0x275))),console[b8(0x215)](a0L[b8(0x1a0)](b8(0x3e0))+a0L[b8(0x1a2)](b8(0x1a7))),console['log'](a0L[b8(0x1a0)](b8(0x1cf))+a0L[b8(0x1a2)](b8(0x14d)));}else{const a8=J[b8(0x3e2)]>=0x82b*0x2+-0xf48+-0xf0,a9=X>0x1e*-0x1e+-0x2702*-0x1+-0x237e?a0L[b8(0x1a2)](a0ai('helpRemove')+'\x20')+a0L['yellow']('('+X+'/'+J[b8(0x3e2)]+')'):a8?a0L['gray'](a0ai(b8(0xff))+'\x20('+J[b8(0x2c7)]+'/'+J[b8(0x3e2)]+')'):a0L[b8(0x1a2)](''+a0ai(b8(0x333)));console[b8(0x215)](a0L[b8(0x1a0)](b8(0x323))+a0L[b8(0x1a2)](b8(0x2f0)+a0ai(b8(0x2ea)))),console[b8(0x215)](a0L[b8(0x1a0)](b8(0x157))+b8(0x33f)+a9);}console[b8(0x215)](a0L['yellow']('\x20\x20\x20\x20next')+a0L['gray']('\x20/\x20')+a0L[b8(0x1a0)](b8(0x28b))+a0L[b8(0x1a2)](b8(0x1ee)+a0ai('htpNav'))),console[b8(0x215)](a0L[b8(0x1a0)](b8(0x3ab)+G)+a0L[b8(0x1a2)](b8(0x322)+a0ai('htpJump'))),console[b8(0x215)](a0L[b8(0x1a0)](b8(0x210))+a0L['gray'](b8(0x33f)+a0ai('htpMark'))),console[b8(0x215)](a0L[b8(0x1a0)]('\x20\x20\x20\x20exam\x20review')+a0L[b8(0x1a2)](b8(0x322)+a0ai('htpReview'))),console['log'](a0L[b8(0x2db)]['yellow'](b8(0x17e))+a0L[b8(0x1a2)](b8(0x322)+a0ai(b8(0x267)))),console[b8(0x215)](a0L[b8(0x1a0)](b8(0x386))+a0L[b8(0x1a2)](b8(0x33f)+a0ai(b8(0x3a7)))),console['log'](a0L[b8(0x1a0)](b8(0x32c))+a0L['gray'](b8(0x33f)+a0ai(b8(0x125)))),console['log'](a0L[b8(0x1a2)]('\x20\x20─────────────────────────────────────────'));}export function registerExamCommand(z){const be=a0B,B=z[be(0x2a1)](be(0x3a9))['description'](be(0x3c0));B[be(0x2a1)]('nations')[be(0x193)](be(0x37b))[be(0x1f7)](()=>{const bf=be;a0a8(bf(0x2ba)),console['log'](),a0ae(bf(0x153)),console['log']();const F=[['AU','Australia'],['BD',bf(0x23f)],['BI','Burundi'],['BR',bf(0x183)],['BW','Botswana'],['CN',bf(0x12f)],['DE','Germany'],['EG',bf(0x2d2)],['FR',bf(0x3ae)],['GH',bf(0x264)],['ID','Indonesia'],['IN','India'],['JP',bf(0xf5)],['KR',bf(0x359)],['LA','Laos'],['LK','Sri\x20Lanka'],['MM','Myanmar'],['MO',bf(0x36d)],['MY','Malaysia'],['NZ',bf(0x306)],['PE',bf(0x257)],['PH',bf(0x17d)],['RU','Russia'],['SA','Saudi\x20Arabia'],['SG','Singapore'],['TH',bf(0x377)],['TR',bf(0x239)],['UK','United\x20Kingdom'],['US',bf(0x2ef)],['UZ',bf(0x13f)],['VN',bf(0x177)],['ZA',bf(0x24c)]];for(let G=-0x226d*-0x1+-0x51a+-0x1d53;G<F[bf(0x2b6)];G+=0x121a+0x3*-0x5f5+-0x38*0x1){const H=F[bf(0x1cc)](G,G+(-0x5c5*-0x4+-0x8b*0x45+0xe66))['map'](([J,K])=>'\x20\x20'+a0L[bf(0x1bc)](J)+'\x20\x20'+a0L[bf(0x1a2)](K['padEnd'](-0x728+-0x18d7+-0x11b*-0x1d)))[bf(0x256)]('');console[bf(0x215)](H);}console['log'](),console['log'](a0L[bf(0x1a2)]('\x20\x2040+\x20countries\x20and\x20regions\x20represented')),console[bf(0x215)](a0L[bf(0x1a2)](bf(0x3d4))),console[bf(0x215)](),console['log'](a0L[bf(0x2bf)]('\x20\x20Check\x20exams\x20for\x20your\x20country:')),console[bf(0x215)](a0L[bf(0x1bc)](bf(0x341))+a0L[bf(0x1a2)](bf(0x1d9))+a0L['gray']('\x20\x20\x20\x20\x20exam\x20list\x20CN')),console[bf(0x215)]();}),B[be(0x2a1)]('list\x20[country]')[be(0x193)]('List\x20available\x20exams\x20(optional:\x202-letter\x20country\x20code)')['action'](async F=>{const bg=be;a0a8(bg(0x2ed)+(F||''));const G=M();if(!G)return;const H=a0ag(bg(0x2e6));H[bg(0x2df)]();try{let J=await G[bg(0x2f8)]();if(H[bg(0x126)](),F){const Q=F[bg(0x2af)]();J=J['filter'](V=>V[bg(0x134)][bg(0x2af)]()===Q||'ALL'===V[bg(0x134)]);}if(!J||0x1240+0x1*0x1229+-0x2469===J['length']){console[bg(0x215)](),a0ac(F?bg(0x2e0)+F['toUpperCase']()+'\x20yet.':bg(0x2ac)),console['log'](),console[bg(0x215)](a0L['white'](bg(0x3d7))),console['log'](a0L['gray'](bg(0x3c1))),console[bg(0x215)](),console[bg(0x215)](a0L[bg(0x1a2)](bg(0x118))+a0L[bg(0x2db)][bg(0x1bc)](bg(0xf8))),console['log']();const V={};V['PE']='es',V['CN']='zh',V['JP']='ja',V['KR']='ko',V['BR']='pt',V['SA']='ar',V['FR']='fr',V['DE']='de',V['IN']='hi',V['ID']='id',V['TH']='th',V['VN']='vi',V['TR']='tr',V['RU']='ru',V['UA']='uk',V['HT']='ht',V['KE']='sw',V['TZ']='sw';const W=V,X=(F||'')[bg(0x2af)]();return void(W[X]&&(console[bg(0x215)](a0L[bg(0x1a2)]('\x20\x20Tip:\x20switch\x20to\x20your\x20language\x20with:\x20lang\x20'+W[X])),console['log']()));}const K=J[bg(0x358)](Y=>{const bh=bg,Z=bh(0x292)===Y['status']?a0L[bh(0x349)]:bh(0x23b)===Y['status']?a0L[bh(0x1a0)]:a0L[bh(0x2bf)];return[a0L['white'](Y['id']),Y[bh(0x211)],a0L[bh(0x1bc)](Y[bh(0x134)]),String(Y[bh(0x380)]),Y[bh(0x25c)]+bh(0x113),Z(Y[bh(0x108)])];}),L=[...new Set(J[bg(0x358)](Y=>Y['country']))];a0ae(F?bg(0xdc)+F[bg(0x2af)]():bg(0x1be)+L[bg(0x2b6)]+bg(0x31a)),a0ad(['ID','Name','Country',bg(0x396),bg(0x3db),'Status'],K),console[bg(0x215)](),console[bg(0x215)](a0L['gray'](bg(0x350))),L[bg(0x2b6)]>0x554+0x1cd9+-0x222c&&console[bg(0x215)](a0L[bg(0x1a2)](bg(0x1e7)));}catch(Y){H[bg(0x321)](bg(0x266)),a0aa(Y[bg(0x1a8)]);}}),B[be(0x2a1)](be(0x2c2))[be(0x193)](be(0xfd))['action'](async F=>{const bi=be;a0a8(bi(0x21e)+F);const G=a0Y();if(G)return a0ab('Exam\x20\x22'+G[bi(0x2e8)][bi(0x1b5)]+bi(0x3c9)),void a0ac(bi(0x384));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bi(0x2bf)](bi(0x1e5)),'default':!(0x2679+0x335*-0x9+-0x99c),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bi(0x349)](K)}}});if(J){console[bi(0x215)]();try{E(-0x79f*-0x1+-0x16e1+0xf42,bi(0x1f8));const {session:K,questions:L}=await H[bi(0x131)](F);E(-0x12d6+-0x10b2+0x23a6,bi(0x1dd)),await q(0x162f+-0x110*-0x1f+0x3657*-0x1),E(0x1a0f+0x1cb2*0x1+-0x3685,bi(0x391)),await q(-0xb51+-0x1*0x165b+0x54*0x69),E(-0x11c3+0x1553+-0x6*0x89,bi(0x2d1)),await q(-0x263f*-0x1+0x35f+0x328*-0xd),a0Z({'session':K,'questions':L,'answers':{}}),E(0x5*-0x4cf+0x1081+-0x3a*-0x23,bi(0x317)),console[bi(0x215)](),console[bi(0x215)](),a0ae(K[bi(0x1b5)]),a0af(bi(0x396),String(K[bi(0x380)])),a0af(bi(0x3db),K[bi(0x25c)]+bi(0x2fb)),a0af(bi(0x144),K[bi(0x134)]),O(),L[bi(0x2b6)]>-0x13*-0x1b9+0x4cc+-0xd*0x2e3&&U(L[0x2f0+-0x1*-0xbf1+-0xee1*0x1]);}catch(Q){console[bi(0x215)](),a0aa(Q[bi(0x1a8)]);}}}),B['command']('q\x20[n]')[be(0x193)](be(0xef))[be(0x1f7)](async F=>{const bj=be;a0a8('exam\x20q\x20'+(F||bj(0x162)));const {refetchQuestionDataIfStale:G}=await import('../lib/exam-state.js');await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,-0x59*0xf+0x4b1*-0x5+0x96*0x31),K=H[bj(0x37a)][bj(0x244)](L=>L['number']===J);if(!K)return void a0aa('Question\x20'+F+bj(0x280)+H['questions'][bj(0x2b6)]+').');H[bj(0x3eb)]=J,a0Z(H),U(K,H[bj(0x288)][J]);}else{a0ae(''+H[bj(0x2e8)][bj(0x1b5)]);const L=Object[bj(0x3e5)](H[bj(0x288)])[bj(0x2b6)];a0af(bj(0x1b3),L+'/'+H[bj(0x2e8)][bj(0x380)]+bj(0x205)),console[bj(0x215)]();for(const Q of H['questions']){const V=H[bj(0x288)][Q[bj(0x1ac)]],W=V?a0L[bj(0x349)]('['+V+']'):a0L['gray'](bj(0xfb)),X=Q['category']?a0L[bj(0x1a2)]('\x20['+Q[bj(0x295)]+']'):'';console[bj(0x215)]('\x20\x20'+W+'\x20'+a0L[bj(0x2bf)]('Q'+Q[bj(0x1ac)])+X+'\x20'+a0L[bj(0x1a2)](Q[bj(0x1f3)]['substring'](-0x226a*0x1+-0x2b1*-0x6+-0x2*-0x922,0x2*0x11d7+-0xc23*-0x2+-0x3bb8))+(Q[bj(0x1f3)][bj(0x2b6)]>-0x7b*0x1a+0x1938+0x29*-0x4e?bj(0x3e1):''));}console['log']();}}else a0aa(bj(0x3cf));}),B[be(0x2a1)](be(0xe3))[be(0x193)](be(0x181))[be(0x1f7)](F=>{const bk=be;a0a8(bk(0x247)+(F||''));const G=a0Y();if(!G)return void a0aa(bk(0x138));const H=G[bk(0x37a)]['length'],J=F?parseInt(F,0x109d+-0x1*0x1fa6+0xf13):G[bk(0x3eb)]||-0x17c5+0x18e9+-0x123;if(Number['isNaN'](J)||J<0x5d*-0x13+0xe89*0x1+0x7a1*-0x1||J>H)return void a0aa('Invalid\x20question\x20number.\x20Use\x201..'+H+'.');const K=D(G,J);console[bk(0x215)](),K?console[bk(0x215)](a0L['yellow']('\x20\x20★\x20Q'+J+bk(0x1cb))):console[bk(0x215)](a0L['gray']('\x20\x20☆\x20Q'+J+'\x20unflagged.'));const L=Array[bk(0x259)](G[bk(0xe6)])?G[bk(0xe6)]:[];L[bk(0x2b6)]>0x227b+0x30*0xba+-0x455b&&console[bk(0x215)](a0L['gray'](bk(0x10a)+L[bk(0x358)](Q=>'Q'+Q)[bk(0x256)](',\x20'))),console['log'](a0L['gray']('\x20\x20See\x20all\x20flagged\x20questions\x20in:\x20')+a0L['white'](bk(0x37f))),console[bk(0x215)]();}),B[be(0x2a1)](be(0xe4))['description'](be(0x180))[be(0x1f7)](F=>{const bl=be;a0a8(bl(0x248)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G[bl(0x37a)][bl(0x2b6)],J=F?parseInt(F,-0x137f+0xb57*-0x1+0x1ee0):G[bl(0x3eb)]||0x1d80+-0x1273+0x1*-0xb0c;Number['isNaN'](J)||J<0xc92+0x5*0x4b3+-0x2410||J>H?a0aa(bl(0x12b)+H+'.'):j(G,J)?(D(G,J),console['log'](),console[bl(0x215)](a0L['gray'](bl(0x3e8)+J+bl(0x179))),console[bl(0x215)]()):console[bl(0x215)](a0L[bl(0x1a2)](bl(0x2b1)+J+bl(0x3b7)));}),B[be(0x2a1)](be(0x1f1))[be(0x193)](be(0x15e))[be(0x1f7)](()=>{const bm=be;a0a8(bm(0x10d));const F=a0Y();if(!F)return void a0aa(bm(0x138));F['questions'][bm(0x15f)](K=>!F['answers'][K[bm(0x1ac)]]);const G=F[bm(0x3eb)]||-0xdc*0x2b+-0x1327*-0x2+-0x159,H=Math[bm(0x3c2)](G+(-0x1238+-0x6*-0x266+0x3d5),F['questions'][bm(0x2b6)]);F[bm(0x3eb)]=H,a0Z(F);const J=F[bm(0x37a)][H-(0x3*-0xa15+0x2*-0x1382+0x4544)];U(J,F[bm(0x288)][J['number']]);}),B[be(0x2a1)](be(0x28b))[be(0x193)](be(0x2a5))['action'](()=>{const bn=be;a0a8(bn(0x14e));const F=a0Y();if(!F)return void a0aa(bn(0x138));const G=F[bn(0x3eb)]||0x2b*-0x69+-0x473+0x1617,H=Math[bn(0x3e2)](G-(0x1414+0xe84+-0x2297),0x1f7*-0x1+0x1*0x36e+-0x176);F['_lastQ']=H,a0Z(F);const J=F['questions'][H-(0x5*-0x2ba+0x20e5+-0x5*0x3da)];U(J,F['answers'][J[bn(0x1ac)]]);}),B[be(0x2a1)]('help')[be(0x193)](be(0x29a))[be(0x1f7)](async()=>{const bo=be;a0a8(bo(0x20d));const F=a0Y();if(!F)return void a0aa(bo(0x138));const G=R(F),H=F[bo(0x3eb)]||0x491*-0x4+0x8*-0xb0+0x17c5,J=G[bo(0x34c)][H]||0x1*-0x18f4+-0xf08+0x27fc,K=G[bo(0x296)][H]||[],L=F[bo(0x37a)]['find'](W=>W[bo(0x1ac)]===H);if(!L)return;if(J>=0x9c*0x3a+-0x24b0+-0x2*-0xad)return console['log'](),console['log'](a0L[bo(0x1a0)](bo(0x3af))),console[bo(0x215)](a0L[bo(0x1a2)](bo(0x342))),console['log'](),void U(L,F[bo(0x288)][L[bo(0x1ac)]]);const Q=['A','B','C','D'][bo(0x3e6)](W=>!K[bo(0x1c6)](W));if(Q[bo(0x2b6)]<=0x5*0xeb+-0xa29+-0x2ca*-0x2)return console[bo(0x215)](),console[bo(0x215)](a0L[bo(0x1a0)](bo(0x3e9))),console['log'](),void U(L,F[bo(0x288)][L[bo(0x1ac)]]);if(G['used']>=G[bo(0x3e2)]){const W=G[bo(0x3e2)]>=-0x11f7*0x2+-0x1f7*0x9+0x35bb,X=-0x4*0x125+0x886+-0x3d4-G['max'];return void(W?(console['log'](),console['log'](a0L[bo(0x1a2)](bo(0x314)+G['used']+'/'+G[bo(0x3e2)]+bo(0x326))),console[bo(0x215)]()):(console[bo(0x215)](),console[bo(0x215)](a0L['yellow']('\x20\x20Help\x20used:\x20'+G[bo(0x2c7)]+'/'+G['max'])),console[bo(0x215)](a0L[bo(0x2bf)](bo(0x39f))+a0L[bo(0x2db)]['yellow']('more\x20help')+a0L[bo(0x1a2)](bo(0x33e)+X+'\x20bonus\x20uses)')),console[bo(0x215)]()));}const V=Y=>{const bp=bo;K['push'](Y),G['eliminated'][H]||(G['eliminated'][H]=[]),G[bp(0x296)][H]=K,G[bp(0x34c)][H]=J+(-0x4f*0x49+-0x13bd*0x1+-0xe17*-0x3),G['used']++,F[bp(0x378)]=G[bp(0x2c7)],F[bp(0x35c)]=G['max'],F[bp(0x284)]=G[bp(0x34c)],F[bp(0x339)]=G[bp(0x296)],F['interactions']||(F[bp(0x1c7)]=[]),F[bp(0x1c7)][bp(0x32a)]({'ts':new Date()[bp(0x2bd)](),'q':H,'type':bp(0x1b4),'result':bp(0x33b)+Y}),a0Z(F),console[bp(0x215)](),console['log'](a0L[bp(0x1a0)]('\x20\x20💡\x20Option\x20'+Y+bp(0x347))+a0L['gray'](bp(0x202)+G[bp(0x2c7)]+'/'+G[bp(0x3e2)]+')')),U(L,F[bp(0x288)][L['number']]);};if('demo-free'===F[bo(0x2e8)]['examId']&&L['answer'])(Y=>{const bq=bo,Z=Q[bq(0x3e6)](a0=>a0!==Y&&!K[bq(0x1c6)](a0));0xcf9+-0x100*0x1f+0x41*0x47!==Z[bq(0x2b6)]&&V(Z[Math['floor'](Math[bq(0x197)]()*Z['length'])]);})(L['answer']);else{const Y=a0W()[bo(0x1d0)]||bo(0x26c),Z=F[bo(0x2e8)]?.[bo(0x1e0)]||'';try{const a0={};a0[bo(0x191)]=bo(0xf3),a0['User-Agent']='icoa-cli';const a1={};a1['token']=Z,a1[bo(0x15a)]=H,a1[bo(0x296)]=K;const a2=await fetch(Y+bo(0x23a)+F[bo(0x2e8)][bo(0x27b)]+bo(0x20b),{'method':bo(0x316),'headers':a0,'body':JSON[bo(0x278)](a1),'signal':AbortSignal[bo(0x190)](-0x1*-0x16f6+-0x20f9*-0x1+-0x2467*0x1)}),a3=await a2['json'](),a4=a3?.[bo(0x3c4)]?.[bo(0x135)];a4&&['A','B','C','D'][bo(0x1c6)](a4)?V(a4):(console[bo(0x215)](),console[bo(0x215)](a0L[bo(0x1a2)](bo(0x24a))));}catch{console[bo(0x215)](),console[bo(0x215)](a0L['gray'](bo(0x304)));}}}),B[be(0x2a1)]('more-help')['description'](be(0x399))[be(0x1f7)](()=>{const br=be;a0a8(br(0x136));const F=a0Y();if(!F)return void a0aa(br(0x138));const G=R(F),H='demo-free'===F[br(0x2e8)][br(0x27b)]?0x24b6+0x22cb+-0x4779:-0x164b+-0x1*0x15a9+0x2c12;if(G[br(0x3e2)]>=H)return void console['log'](a0L[br(0x1a2)](br(0x1d1)));if(G['used']<G['max'])return void console[br(0x215)](a0L[br(0x1a2)](br(0x16e)+(G[br(0x3e2)]-G['used'])+br(0x2bb)));const J=H-G[br(0x3e2)];F[br(0x35c)]=H,a0Z(F),console[br(0x215)](),console[br(0x215)](a0L[br(0x349)](br(0x1a3)+J+br(0x106)+J+'/'+H+br(0x373))),console['log'](a0L[br(0x1a2)](br(0x328))),console[br(0x215)]();}),B['command'](be(0x336))['description'](be(0xec))[be(0x1f7)](async(F,G)=>{const bs=be,H=G[bs(0x256)]('\x20');a0a8(bs(0x128)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa('No\x20exam\x20in\x20progress.\x20Use\x20\x22exam\x20start\x20<id>\x22\x20to\x20begin.');if(!(function(){const bt=bs,Z=a0a1();if(!Z)return!(-0x1b72*-0x1+-0x161f+0x553*-0x1);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bt(0x3e5)](a0[bt(0x288)])[bt(0x2b6)];bt(0x2c9)===a0[bt(0x2e8)][bt(0x27b)]||-0x133b+-0xadb+0x1e16===a1?(a0a0(),a0ab(bt(0x1c0)),a0ac(bt(0x146))):(a0aa('Time\x20expired.'),a0ac(bt(0x143)));}return!(-0x6*-0x469+0xc*0x1c3+-0x2f99);}return!(0x115a+-0x124*0x1a+0xc4e);}()))return;const K=parseInt(F,-0x1*-0x7b+-0x5*-0x353+-0x1110),L=J[bs(0x37a)]['find'](Z=>Z[bs(0x1ac)]===K);if(!L)return void a0aa(bs(0x3cb)+F+bs(0x280)+J['questions'][bs(0x2b6)]+').');let Q;if(bs(0xfa)===L['type']||bs(0xd9)===L[bs(0xde)]||bs(0x209)===L['type']||L[bs(0x214)]&&!L[bs(0x214)]['A']&&!L[bs(0x214)]['B']){if(Q=H[bs(0x1d8)](),/^submit\s+/i[bs(0x283)](Q)&&(Q=Q[bs(0x28d)](/^submit\s+/i,'')[bs(0x1d8)]()),Q=Q[bs(0x28d)](/^["'`]+|["'`]+$/g,'')[bs(0x1d8)](),!Q)return void a0aa(bs(0x369));if(/^[A-Da-d]$/['test'](Q))return a0aa('Q'+K+'\x20is\x20a\x20practical\x20question\x20—\x20answer\x20with\x20a\x20flag,\x20not\x20a\x20letter.'),void console[bs(0x215)](a0L['gray'](bs(0x238))+a0L[bs(0x349)](bs(0x128)+K+'\x20ICOA{your_flag}'));}else{if(Q=H[bs(0x2af)](),!['A','B','C','D'][bs(0x1c6)](Q))return void a0aa(bs(0x198));}if('demo-free'===J[bs(0x2e8)][bs(0x27b)]&&-0x22a2+-0x1abe*0x1+0x3d62===K&&0x3d3*-0x1+0xe3*-0x9+0xbce===(R(J)[bs(0x34c)][0x25c1+-0x1017+-0x15a8]||-0x38f+-0x4f*0x61+0x217e))return console[bs(0x215)](),console[bs(0x215)](a0L[bs(0x1a0)](bs(0x15d))+a0L['bold'][bs(0x1a0)]('help')+a0L[bs(0x1a0)](bs(0x2ca))),console['log'](a0L[bs(0x1a2)]('\x20\x20This\x20question\x20requires\x20you\x20to\x20use\x20help\x20before\x20answering.')),void console[bs(0x215)]();const V=J[bs(0x288)][K];J['interactions']||(J['interactions']=[]),J[bs(0x1c7)][bs(0x32a)]({'ts':new Date()[bs(0x2bd)](),'q':K,'type':V?bs(0x35b):'answer_submitted','input':Q,'result':V?bs(0x218)+V:bs(0x1ef)}),J[bs(0x288)][K]=Q,J[bs(0x3eb)]=K,a0Z(J),console[bs(0x215)](a0L[bs(0x1a2)]('\x20\x20\x20\x20✓\x20saved'));const W=J['session'][bs(0x1e0)];if(W&&bs(0x2c9)!==J[bs(0x2e8)]['examId']){const Z=(a0W()[bs(0x1d0)]||bs(0x26c))+'/api/icoa/exams/'+J[bs(0x2e8)][bs(0x27b)]+bs(0x297),a0={};a0['Content-Type']=bs(0xf3);const a1={};a1[bs(0x1e0)]=W,a1[bs(0x15a)]=K,a1[bs(0x2e9)]=Q,fetch(Z,{'method':'POST','headers':a0,'body':JSON[bs(0x278)](a1),'signal':AbortSignal[bs(0x190)](-0x1*0x2041+-0x1b74+0x4f3d)})['catch'](()=>{});}const X=Object[bs(0x3e5)](J['answers'])[bs(0x2b6)],Y=J[bs(0x2e8)][bs(0x380)];if(a0a9('Q'+K+':\x20'+Q+bs(0x30d)+X+'/'+Y+bs(0x3a5)),bs(0x2c9)===J[bs(0x2e8)]['examId']&&L[bs(0x2e9)]){const a2=[bs(0x346),bs(0x1b9),bs(0x2cf),bs(0x27f),bs(0x161)],a3=[bs(0x29c),bs(0x19a),bs(0x374)],a4=Q===L[bs(0x2e9)]?a2:a3,a5=a4[Math[bs(0x39c)](Math['random']()*a4['length'])];console['log'](a0L['gray'](bs(0x2a8)+a5));}if(K<J['questions'][bs(0x2b6)]){const a6=J[bs(0x37a)][K];J['_lastQ']=a6['number'],a0Z(J),U(a6,J['answers'][a6['number']]);}else X>=J[bs(0x37a)][bs(0x2b6)]&&(console[bs(0x215)](),console['log'](a0L[bs(0x349)][bs(0x2db)]('\x20\x20🎉\x20All\x20questions\x20answered!')),console['log'](),'demo-free'===J[bs(0x2e8)][bs(0x27b)]?(console['log'](a0L[bs(0x2bf)]('\x20\x20Type\x20')+a0L['bold'][bs(0x1bc)](bs(0x19c))+a0L[bs(0x2bf)](bs(0x3b0))),console[bs(0x215)]()):console[bs(0x215)](a0L[bs(0x2bf)]('\x20\x20Use:\x20exam\x20review\x20·\x20exam\x20submit')));}),B['command']('review')[be(0x193)]('Review\x20all\x20answers\x20before\x20submitting')[be(0x1f7)](()=>{const bu=be;a0a8(bu(0x37f));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');a0ae('Review:\x20'+F[bu(0x2e8)][bu(0x1b5)]),O(),console[bu(0x215)]();let G='\x20\x20';const H=Array['isArray'](F[bu(0xe6)])?F[bu(0xe6)]:[];for(const Q of F['questions']){const V=F[bu(0x288)][Q[bu(0x1ac)]],W=H[bu(0x1c6)](Q[bu(0x1ac)]),X=W?'★':'\x20';G+=V?W?a0L['bold'][bu(0x1a0)]('Q'+String(Q[bu(0x1ac)])['padStart'](0x13*-0xbf+0x25be+-0x178f)+X+'['+V+']\x20'):a0L['green']('Q'+String(Q['number'])['padStart'](0x24d4+0x844*0x2+0x2*-0x1aad)+'\x20['+V+bu(0x289)):W?a0L['bold']['yellow']('Q'+String(Q['number'])[bu(0x120)](-0x8b0+-0x2456+0x58*0x83)+X+bu(0x2ae)):a0L[bu(0x1a0)]('Q'+String(Q['number'])[bu(0x120)](0xf3d+0x107*0x25+0x122*-0x2f)+bu(0x2c8)),Q[bu(0x1ac)]%(-0x1ee9+0x5ff*0x1+0xa8*0x26)==0x1*0xbd7+-0x1cf*0x13+0x1686&&(console[bu(0x215)](G),G='\x20\x20');}G['trim']()&&console['log'](G);const J=Object[bu(0x3e5)](F['answers'])[bu(0x2b6)],K=F['session'][bu(0x380)],L=K-J;if(console[bu(0x215)](),a0af(bu(0x363),a0L[bu(0x349)][bu(0x2db)](J+'/'+K)),L>-0xaa7+-0xc21+0x1b*0xd8){const Y=F['questions']['filter'](Z=>!F[bu(0x288)][Z[bu(0x1ac)]])['map'](Z=>Z[bu(0x1ac)])[bu(0x256)](',\x20');a0af(bu(0x1c8),a0L['yellow'](L+'\x20(Q'+Y+')'));}H[bu(0x2b6)]>0x42e*-0x9+-0x6e*-0x4+-0xa*-0x397&&a0af(bu(0x29e),a0L['bold']['yellow']('★\x20'+H[bu(0x2b6)])+a0L[bu(0x1a2)]('\x20('+H[bu(0x358)](Z=>'Q'+Z)[bu(0x256)](',\x20')+')')),console[bu(0x215)](),H['length']>0x7e6+0x1f16+-0x26fc&&console[bu(0x215)](a0L[bu(0x1a2)](bu(0x187))+a0L[bu(0x2bf)](bu(0x345)+H[0xabd+0x669*0x6+-0x3133])),console[bu(0x215)](a0L[bu(0x1a2)](bu(0x1c1))+a0L[bu(0x2db)][bu(0x1bc)](bu(0x19c))+a0L[bu(0x1a2)]('\x20to\x20submit\x20for\x20grading.'));}),B['command'](be(0x2d5))[be(0x193)](be(0x212))[be(0x1f7)](async(J,K)=>{const bv=be;a0a8(bv(0x225)+(J||'')+'\x20'+(K||''));const L=a0Y();if(L&&bv(0x14a)===J&&!K&&(L[bv(0x21a)]=!(0x1c8d+-0xe82+-0xe0b),a0Z(L)),!L)return void a0aa(bv(0x138));const Q=Object[bv(0x3e5)](L[bv(0x288)])[bv(0x2b6)],V=L[bv(0x2e8)][bv(0x380)],W=V-Q;if(-0x1922+0x110+-0xc09*-0x2===Q){const a0=a0a1(),a1=a0&&new Date()>=a0;return void(bv(0x2c9)===L['session']['examId']||a1?(a0a0(),a0ab(bv(0x2c5)),a0ac(bv(0x146))):(a0ab(bv(0x156)),a0ac(bv(0x123))));}const X=a0a1(),Y=!!(X&&new Date()>=X);if(bv(0x2c9)!==L['session'][bv(0x27b)]&&!Y&&bv(0x14a)===J&&Q<-0x2*-0x1069+-0xa79+0x164f*-0x1){if((K||'')[bv(0x1d8)]()!==String(Q))return console[bv(0x215)](),console['log'](a0L[bv(0x19d)](bv(0x260))),console['log'](a0L[bv(0x2db)]['red'](bv(0x320)+Q+'/'+V+'\x20answered\x20—\x20accidental\x20submit\x20guard')),console[bv(0x215)](a0L['red'](bv(0x260))),console[bv(0x215)](),console[bv(0x215)](a0L['white'](bv(0x3bd))+a0L[bv(0x2db)][bv(0x1a0)](''+Q)+a0L[bv(0x2bf)](bv(0x22c))+a0L['white'](''+V)+a0L[bv(0x2bf)](bv(0x393))),console[bv(0x215)](a0L[bv(0x2bf)](bv(0x17a))+a0L[bv(0x2db)][bv(0x19d)](Q+'/'+V+bv(0x117))),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20To\x20go\x20back\x20and\x20answer\x20more:')),console[bv(0x215)](a0L['gray'](bv(0x1ee))+a0L[bv(0x1bc)](bv(0x29d))+a0L[bv(0x1a2)](bv(0x301))),console[bv(0x215)](a0L[bv(0x1a2)](bv(0x1ee))+a0L['cyan'](bv(0x37f))+a0L[bv(0x1a2)]('\x20\x20(see\x20which\x20questions\x20are\x20blank)')),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0x370))+a0L[bv(0x2db)][bv(0x1a0)](''+Q)+a0L['bold'][bv(0x2bf)](bv(0x3bb))),console[bv(0x215)](a0L[bv(0x1a2)]('\x20\x20\x20\x20')+a0L[bv(0x2db)][bv(0x1bc)](bv(0x152)+Q)),console[bv(0x215)](a0L[bv(0x1a2)](bv(0x158)+Q+bv(0x124))),console[bv(0x215)](),void(L['_submitConfirmed']&&(delete L['_submitConfirmed'],a0Z(L)));L[bv(0x21a)]=!(-0x84*-0x9+-0x2f+0xa3*-0x7),a0Z(L);}if('demo-free'!==L['session'][bv(0x27b)]){const a2=!(-0x2343+0x7*0x39+-0x2*-0x10da)===L['_submitConfirmed'],a3=a0a1(),a4=!!(a3&&new Date()>=a3);if(!a2&&!a4){if(console[bv(0x215)](),console['log'](a0L['red'](bv(0x2bc))),console['log'](a0L[bv(0x2db)][bv(0x19d)](bv(0x3d8))),console[bv(0x215)](a0L['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bv(0x215)](),console['log'](a0L[bv(0x2bf)](bv(0x1d2)+a0L[bv(0x2db)][bv(0x349)](Q+'/'+V)+bv(0x274))),W>-0x1cb4+0x6ea+-0x2*-0xae5){const a6=L[bv(0x37a)][bv(0x3e6)](a7=>!L[bv(0x288)][a7[bv(0x1ac)]])[bv(0x358)](a7=>'Q'+a7[bv(0x1ac)])[bv(0x256)](',\x20');console['log'](a0L[bv(0x1a0)]('\x20\x20'+W+'\x20unanswered:\x20'+a6));}const a5=Array[bv(0x259)](L[bv(0xe6)])?L[bv(0xe6)]:[];return a5[bv(0x2b6)]>0x1ad4+0x5b*0x19+0x23b7*-0x1&&console[bv(0x215)](a0L['yellow'](bv(0x3b1)+a5['length']+bv(0x2f4)+a5[bv(0x358)](a7=>'Q'+a7)['join'](',\x20'))),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x2bf)]('\x20\x20Answers\x20are\x20')+a0L[bv(0x2db)][bv(0x19d)](bv(0x2b9))+a0L[bv(0x2bf)]('\x20—\x20you\x20cannot\x20change\x20them\x20after\x20submit.')),console['log'](),console[bv(0x215)](a0L['bold']['white'](bv(0x1b7))+a0L[bv(0x2db)]['cyan'](bv(0x302))),console[bv(0x215)](a0L[bv(0x2bf)](bv(0xee))+a0L[bv(0x1bc)](bv(0x37f))+a0L['gray'](bv(0x3ef))+a0L['cyan'](bv(0x351))),void console['log']();}a2&&(delete L[bv(0x21a)],a0Z(L));}if(console[bv(0x215)](),'demo-free'===L[bv(0x2e8)][bv(0x27b)]){try{E(0x28b*-0x8+0x1ac9+0x1*-0x671,a0ai(bv(0x2cd))),await q(-0x71*-0x3+-0xfd7+0xfb0*0x1);let a7=0x5d*-0x5d+-0xbd5+-0x2*-0x16cf;const a8=[],a9={};for(const al of L[bv(0x37a)]){const am=al['category']||bv(0x25a),an={};an[bv(0x262)]=0x0,an[bv(0x175)]=0x0,(a9[am]||(a9[am]=an),a9[am][bv(0x175)]++);const ao=L['answers'][al[bv(0x1ac)]];ao&&al[bv(0x2e9)]&&ao===al['answer']?(a7++,a9[am][bv(0x262)]++):a8[bv(0x32a)](al['number']);}a8[bv(0x375)]((ap,aq)=>ap-aq),E(0x12f*-0x9+-0x1c07+-0x683*-0x6,a0ai(bv(0x3ea))),console[bv(0x215)]();const aa=new Date(L['session'][bv(0x18c)])['getTime'](),ab=Math[bv(0x3e2)](0x37*0x6d+0x854*-0x1+-0xf17,Math[bv(0x23c)]((Date[bv(0x355)]()-aa)/(-0xace+-0x15*0x14d+0x2a07))),ac=Math[bv(0x39c)](ab/(-0x169*0x3+0x1*0x173+0x182*0x2))+'m\x20'+ab%(-0x1*0x66b+0x5*0x143+-0x58*-0x1)+'s',ad=[...L['questions']],ae={...L[bv(0x288)]},af=R(L);a0a0();const ag=Math[bv(0x23c)](a7/V*(-0x346+-0x29*0xbd+0x21ef)),ah=a0W(),ai={};ai['Content-Type']='application/json',(fetch(bv(0x235),{'method':'POST','headers':ai,'body':JSON[bv(0x278)]({'type':bv(0xdf),'score':a7,'total':V,'lang':ah['language']||'en','help_used':af['used'],'help_max':af['max'],'tokens_used':0x0,'solved':ag>=0xf36+0x1*-0x1ad5+0x1*0xbdb?-0xc82+0xd4+0xbaf:0x5c4+0x22*0xb9+-0x1e56,'timestamp':new Date()[bv(0x2bd)](),'interactions':L['interactions']||[]}),'signal':AbortSignal['timeout'](-0x1*-0x989+-0x1589+-0x4*-0x7e2)})[bv(0x10b)](()=>{}),console['log'](),console[bv(0x215)](a0L[bv(0x1bc)]('\x20\x20═══════════════════════════════════════')),console['log'](),console['log'](a0L['bold'][bv(0x2bf)](bv(0x2eb))),console['log'](a0L['bold']['white'](bv(0x167))),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0xea))),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0x160))),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bv(0x215)](a0L[bv(0x2db)]['white'](bv(0x199))),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x2db)](bv(0x322)+a0ai(bv(0x1ba))+':\x20'+a7+'/'+V+'\x20('+ag+'%)')),console[bv(0x215)](a0L[bv(0x2db)]('\x20\x20\x20'+(ag>=-0x1*0x10fd+0x5dc+-0xb5d*-0x1?a0L[bv(0x349)](a0ai(bv(0x22b))):a0L['red'](a0ai(bv(0x1bf)))))),console[bv(0x215)](a0L[bv(0x1a2)](bv(0x2fd)+ac)),console['log'](),console[bv(0x215)](a0L[bv(0x1a0)](bv(0x3aa))),console[bv(0x215)](a0L[bv(0x1a2)](bv(0x213))),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x1bc)](bv(0x25b))),await q(-0x1d16+0x752*-0x1+0x3020));const aj=Object[bv(0x268)](a9);if(aj[bv(0x2b6)]>0x11*0xe1+0x1369+-0x2*0x112d){console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20By\x20category'));const ap=0x1*0x1ff+-0x1*-0xd1f+0xc1*-0x14;for(const [aq,ar]of aj){const as=ar['total']>0x131*-0x16+0xfdd+0x3*0x373?Math['round'](ar['correct']/ar[bv(0x175)]*(0x2c5+0x1d13+0xa7c*-0x3)):0x67c*0x1+-0x94e+-0x13*-0x26,at=ar['total']>-0x186b+-0x1b46*0x1+0x33b1*0x1?Math[bv(0x23c)](ar['correct']/ar[bv(0x175)]*ap):-0x1*0x1ed4+-0x67b+0x254f,au=ap-at,av=as>=0x1*-0xdeb+-0x166a+0x35*0xb1?a0L[bv(0x349)]:as>=0x1*-0x1a6c+0x2196+-0x6f8?a0L[bv(0x1a0)]:a0L['red'],aw=av('█'['repeat'](at))+a0L[bv(0x1a2)]('░'['repeat'](au));console[bv(0x215)](bv(0x1ee)+a0L[bv(0x2bf)](aq[bv(0x294)](0x1c9+-0x1*0x64e+0x1*0x499))+'\x20'+aw+'\x20\x20'+av(ar[bv(0x262)]+'/'+ar[bv(0x175)])+a0L[bv(0x1a2)]('\x20('+as+'%)'));}console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x1bc)](bv(0x196)));}const ak=a0a4(a7,V);if(a7===ak['best']&&ak[bv(0xeb)]>0x62*0xc+0x1041+-0x14d8&&a7>-0x3*0x416+-0x1d1*-0xd+-0xb5b&&(console['log'](),console[bv(0x215)](a0L['bold'][bv(0x349)]('\x20\x20★\x20New\x20personal\x20best!'))),a8[bv(0x2b6)]>0x7af*0x1+0x4c4*0x5+0xa81*-0x3){const ax=ad[bv(0x3e6)](ay=>a8[bv(0x1c6)](ay[bv(0x1ac)]))['map'](ay=>({...ay}));a0a5(ax);}else a0a7();if(await q(0x16bb+0x19*0x10d+-0x2548),a8[bv(0x2b6)]>0x2497+-0x1*0x1a5f+-0xa38){console['log'](),console[bv(0x215)](a0L['yellow']('\x20\x20'+a8['length']+'\x20'+a0ai('incorrectIntro'))),console['log']();for(const ay of a8){const az=ad['find'](aC=>aC[bv(0x1ac)]===ay);if(!az)continue;const aA=ae[ay],aB=az['answer'];console['log'](a0L[bv(0x2bf)](bv(0x2b1)+ay+'.\x20'+az[bv(0x1f3)])),aA?console['log'](a0L[bv(0x19d)](bv(0x1ee)+a0ai(bv(0x1d4))+':\x20'+aA+'.\x20'+az[bv(0x214)][aA])):console[bv(0x215)](a0L['yellow']('\x20\x20\x20\x20'+a0ai(bv(0x1d4))+bv(0x32d))),aB&&console['log'](a0L[bv(0x349)](bv(0x1ee)+a0ai(bv(0x262))+':\x20'+aB+'.\x20'+az[bv(0x214)][aB])),az['explanation']&&console[bv(0x215)](a0L[bv(0x1a2)]('\x20\x20\x20\x20→\x20'+az[bv(0x206)])),console['log']();}}else console[bv(0x215)](),console['log'](a0L[bv(0x349)]('\x20\x20'+a0ai(bv(0x1ed))));await q(-0x1436+0xa*0x131+-0x2*-0x80e),console[bv(0x215)](),console['log'](a0L[bv(0x1bc)](bv(0x196))),console['log'](a0L['white']('\x20\x20'+a0ai('nextLabel')+'\x20')+a0L[bv(0x2db)][bv(0x349)](bv(0xfa))+a0L[bv(0x1a2)](bv(0x105)+a0ai(bv(0x14c)))),console[bv(0x215)](a0L[bv(0x1a2)]('\x20\x20'+a0ai(bv(0x270)))),console['log'](a0L[bv(0x1bc)](bv(0x196))),console['log']();}catch(aC){console[bv(0x215)](),a0aa(aC[bv(0x1a8)]);}return;}const Z=L[bv(0x2e8)][bv(0x1e0)];try{let aD;if(E(-0x1d21+-0x1*0x1505+0x1*0x3226,bv(0x3b5)),Z){const aN={};aN[bv(0x191)]=bv(0xf3);const aO={};aO[bv(0xfa)]=0x0,aO[bv(0xd9)]=0x0;const aP=a0W()[bv(0x1d0)]||'https://practice.icoa2026.au',aQ=await fetch(aP+bv(0x23a)+L[bv(0x2e8)]['examId']+bv(0x293),{'method':'POST','headers':aN,'body':JSON[bv(0x278)]({'token':Z,'answers':L[bv(0x288)],'interactions':L['interactions']||[],'aiUsage':L['aiUsage']||aO,'bookmarks':L[bv(0xe6)]||[]}),'signal':AbortSignal[bv(0x190)](-0x59fd+0x65f*-0xa+0xd44b)});if(!aQ['ok']){const aR=await aQ[bv(0x159)]()[bv(0x10b)](()=>({'message':bv(0x2ff)}));throw new Error(aR[bv(0x1a8)]||bv(0x2ff));}aD=(await aQ['json']())[bv(0x3c4)];}else{const aS=M();if(!aS)return;aD=await aS['submitExam'](L[bv(0x2e8)]['examId'],L[bv(0x288)]);}E(-0x4d5*0x3+0xaa9+0x102*0x4,bv(0x25f)),await q(-0x77*-0x7+0x3f2*0x8+-0x3*0xb37),E(-0xd4d+0x1597+-0x7e6,bv(0x2f7)),console[bv(0x215)]();const aE={};aE[bv(0xfa)]=0x0,aE[bv(0xd9)]=0x0;const aF={'answered':Object['keys'](L['answers'])[bv(0x2b6)],'total':L['session'][bv(0x380)],'bookmarks':Array['isArray'](L['bookmarks'])?L[bv(0xe6)][bv(0x2b6)]:0x7de*-0x4+0x4*0x4e4+-0x2fa*-0x4,'help':R(L),'aiUsage':L[bv(0x207)]||aE,'interactions':(L[bv(0x1c7)]||[])[bv(0x2b6)],'durationMin':L[bv(0x2e8)]['durationMinutes']||-0x1a3e+-0x19ac+0x33ea*0x1,'confirmedAt':L[bv(0x2e8)]['confirmedAt']||L['session'][bv(0x18c)],'examId':L['session'][bv(0x27b)]};a0a0();const aG=Math[bv(0x3e2)](-0x9e8+-0x12da+-0x1*-0x1cc2,Math['round']((Date[bv(0x355)]()-new Date(aF['confirmedAt'])[bv(0x357)]())/(0x423*0x7+-0x238d+0xa80))),aH=Math[bv(0x39c)](aG/(0xc11*-0x1+0x183+0x2*0x565)),aI=aG%(0x1b*0x142+0x9*-0xa9+0x943*-0x3);console[bv(0x215)](),console['log'](a0L[bv(0x1bc)](bv(0x1fb))),console['log'](),console[bv(0x215)](a0L[bv(0x2db)]['white'](bv(0x2eb))),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20\x20██║██╔════╝██╔═══██╗██╔══██╗')),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0xea))),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0x160))),console[bv(0x215)](a0L['bold'][bv(0x2bf)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console['log'](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bv(0x215)]();const aJ=aD[bv(0x22b)]?a0L[bv(0x349)][bv(0x2db)](bv(0x2be)):a0L[bv(0x1a0)][bv(0x2db)]('\x20\x20\x20○\x20\x20Submission\x20accepted');console['log'](aJ),console['log'](),console[bv(0x215)](a0L[bv(0x2bf)](bv(0x354))),console[bv(0x215)](a0L[bv(0x2bf)](bv(0x38f))),console[bv(0x215)](a0L[bv(0x2bf)](bv(0x32e))),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x1bc)](bv(0x196))),console['log'](),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20Your\x20run'));const aK=aF['total']-aF[bv(0x2f1)];console[bv(0x215)](bv(0x1ee)+a0L[bv(0x1a2)](bv(0x367))+a0L[bv(0x2bf)](aF['answered']+'/'+aF[bv(0x175)])+(aK>0xfd*0x3+-0x43a*-0x1+-0x7*0x107?a0L['gray'](bv(0x165)+aK+bv(0xf4)):'')),console[bv(0x215)](bv(0x1ee)+a0L[bv(0x1a2)](bv(0x1fe))+a0L[bv(0x2bf)](aH+'m\x20'+aI+'s')+a0L[bv(0x1a2)](bv(0x24b)+aF['durationMin']+'m\x20total')),aF['bookmarks']>-0x20a8+0x2*0x1df+-0xe75*-0x2&&console[bv(0x215)]('\x20\x20\x20\x20'+a0L[bv(0x1a2)]('Flagged:\x20\x20\x20')+a0L['yellow']('★\x20'+aF[bv(0xe6)])),console[bv(0x215)]();const aL=aD[bv(0x178)];if(aL&&Object[bv(0x3e5)](aL)[bv(0x2b6)]>=0xe36+-0xe63*0x1+-0x2f*-0x1){const aT=Object['entries'](aL)[bv(0x3e6)](([,aY])=>aY[bv(0x175)]>0x4*0x872+-0xe1*-0x10+0x2fd8*-0x1)[bv(0x358)](([aY,aZ])=>({'cat':aY,'pct':aZ['correct']/aZ[bv(0x175)]}))[bv(0x375)]((aY,aZ)=>aZ[bv(0xf7)]-aY['pct']),aU=Math[bv(0x3c2)](0xe*0x30+-0x1e0+0xa*-0x13,Math[bv(0x127)](aT['length']/(0xe*0x10b+-0x1783+-0x476*-0x2))),aV=Math[bv(0x3c2)](-0x11c4+0x700+0xe*0xc5,Math['ceil'](aT[bv(0x2b6)]/(0x113*-0xb+0xb7f*0x1+0x55))),aW=aT[bv(0x1cc)](0xbf3+0x170d+-0x2300,aU)[bv(0x358)](aY=>aY[bv(0x252)]),aX=aT['slice'](-aV)[bv(0x358)](aY=>aY[bv(0x252)]);aW[bv(0x2cc)](aY=>aX['includes'](aY))||(console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0x241))),console['log']('\x20\x20\x20\x20'+a0L['green'](bv(0x2de))+a0L[bv(0x2bf)](aW['join'](',\x20'))),console[bv(0x215)](bv(0x1ee)+a0L[bv(0x1a0)](bv(0x305))+a0L[bv(0x2bf)](aX[bv(0x256)](',\x20'))),console['log'](a0L[bv(0x1a2)]('\x20\x20\x20\x20(relative\x20to\x20other\x20categories\x20—\x20numeric\x20scores\x20go\x20to\x20your\x20exam\x20center)')),console['log']());}console[bv(0x215)](a0L[bv(0x2db)]['white'](bv(0x1c4))),console['log'](bv(0x1ee)+a0L[bv(0x1a2)](bv(0x31d))+a0L[bv(0x2bf)](aF[bv(0x1a9)][bv(0x2c7)]+'/'+aF[bv(0x1a9)][bv(0x3e2)])),console['log']('\x20\x20\x20\x20'+a0L[bv(0x1a2)](bv(0x243))+a0L['white'](aF[bv(0x207)][bv(0xfa)]+bv(0x1ff))+a0L['gray']('\x20\x20·\x20\x20')+a0L[bv(0x2bf)](aF['aiUsage']['ctf4ai']+bv(0x2c6))),console[bv(0x215)](),console['log'](a0L[bv(0x1bc)]('\x20\x20─────────────────────────────────────────────')),console['log'](),console[bv(0x215)](a0L[bv(0x2db)]['white']('\x20\x20What\x20next')),console['log'](a0L[bv(0x1a2)](bv(0x1c3))),console[bv(0x215)](a0L[bv(0x1a2)](bv(0x149))+a0L[bv(0x2bf)](bv(0xf8))+a0L[bv(0x1a2)](bv(0x1d3))),console[bv(0x215)](a0L['gray'](bv(0x365))+a0L[bv(0x2bf)](bv(0x307))),console[bv(0x215)]();const {showCToBUpgradePrompt:aM}=await import(bv(0x3be));aM(aF[bv(0x27b)],aD[bv(0x22b)]),console[bv(0x215)](a0L[bv(0x1a0)](bv(0x368))),console[bv(0x215)](a0L[bv(0x1bc)][bv(0x1a4)](bv(0x1c5))),console[bv(0x215)](),console['log'](a0L[bv(0x1bc)](bv(0x1fb))),console['log']();}catch(aY){console[bv(0x215)](),a0aa(aY['message']);}}),B[be(0x2a1)]('result\x20[id]')[be(0x193)](be(0x313))[be(0x1f7)](async F=>{const bw=be;a0a8('exam\x20result\x20'+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa(bw(0x397));F=J[bw(0x2e8)]['examId'];}const H=a0ag('Loading\x20result...');H[bw(0x2df)]();try{const K=await G['getResult'](F);H[bw(0x237)](bw(0x3a4)),console[bw(0x215)](),a0ae(K[bw(0x1b5)]),a0af(bw(0x25e),a0L[bw(0x2db)](K['score']+'/'+K['total'])),a0af(bw(0x1df),a0L[bw(0x2db)](K['percentage']+'%')),a0af('Status',K[bw(0x22b)]?a0L[bw(0x349)][bw(0x2db)](bw(0x1ec)):a0L[bw(0x19d)][bw(0x2db)](bw(0x188))),a0af('Submitted',K[bw(0x27d)]),console[bw(0x215)]();}catch(L){H['fail'](bw(0x164)),a0aa(L[bw(0x1a8)]);}}),B[be(0x2a1)](be(0x31e))[be(0x193)](be(0x38d))['action'](async J=>{const bx=be;a0a8(bx(0x2b5)+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bx(0x36b)),V=K();if(V){const a2=V['session']['token'],a3=a0a1(),a4=!!a2&&a2[bx(0x1d8)]()[bx(0x2af)]()!==J[bx(0x1d8)]()[bx(0x2af)](),a5=!!a3&&a3['getTime']()+(0x58866+0x2*0x129eb+0x139b04)<Date[bx(0x355)]();if(a4&&a5)return Q(),console['log'](),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x2ce))),console[bx(0x215)](),console[bx(0x215)](a0L['white'](bx(0x37e))+a0L[bx(0x2db)][bx(0x1bc)](bx(0x285)+J)),void console[bx(0x215)]();if(!a2&&J)return V[bx(0x2e8)][bx(0x1e0)]=J['trim'](),L(V),console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x349)](bx(0x1f4))),console[bx(0x215)](a0L['gray'](bx(0x19f))+a0L[bx(0x2bf)]('lang\x20<code>')+a0L[bx(0x1a2)]('\x20·\x20')+a0L['white']('exam\x20submit')),console['log'](),console[bx(0x215)](a0L['bold'][bx(0x2bf)](bx(0x137))),console['log'](a0L[bx(0x1a2)]('\x20\x20\x20\x20→\x20')+a0L['bold'][bx(0x1bc)](bx(0x29d))+a0L['gray']('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bx(0x215)](a0L[bx(0x1a2)]('\x20\x20\x20\x20→\x20')+a0L[bx(0x2db)][bx(0x1bc)](bx(0x37f))+a0L[bx(0x1a2)](bx(0x172))),void console[bx(0x215)]();const a6=Object[bx(0x3e5)](V['answers'])[bx(0x2b6)],a7=V['session'][bx(0x380)],a8=a0a1(),a9=a8?Math[bx(0x3e2)](0x2049+0x43b+-0x2484,Math[bx(0x23c)]((a8['getTime']()-Date[bx(0x355)]())/(0x15c25+0x1*-0x76df+0x51a))):null;return console['log'](),console[bx(0x215)](a0L[bx(0x1a0)]('\x20\x20⚠\x20\x20An\x20exam\x20is\x20already\x20in\x20progress\x20on\x20this\x20device.')),console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x35e))+a0L['white'](V['session']['examName'])),a2&&console[bx(0x215)](a0L[bx(0x1a2)](bx(0x1fd))+a0L[bx(0x2bf)](a2)+(a2===J?a0L[bx(0x349)]('\x20\x20(same\x20as\x20you\x20just\x20typed)'):a0L[bx(0x1a0)](bx(0x103)))),console[bx(0x215)](a0L[bx(0x1a2)]('\x20\x20Answers:\x20')+a0L['white'](a6+'/'+a7)),null!==a9&&console[bx(0x215)](a0L[bx(0x1a2)](bx(0x2f5))+a0L[bx(0x2bf)](a9+'\x20min\x20remaining')),console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x2db)][bx(0x2bf)](bx(0x34f))),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x344))+a0L[bx(0x2db)][bx(0x1bc)](bx(0x29d))+a0L[bx(0x1a2)]('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x344))+a0L[bx(0x2db)]['cyan'](bx(0x37f))+a0L[bx(0x1a2)](bx(0x172))),console[bx(0x215)](a0L[bx(0x1a2)]('\x20\x20\x20\x20→\x20')+a0L[bx(0x2db)][bx(0x1bc)](bx(0x19c))+a0L[bx(0x1a2)](bx(0x18d))),a2&&a2!==J&&(console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x1a0)](bx(0x170))),console[bx(0x215)](a0L['yellow'](bx(0x110))),console['log'](),console[bx(0x215)](a0L['gray'](bx(0x3bc))),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x200))+a0L[bx(0x2db)][bx(0x1bc)](bx(0x142))+a0L[bx(0x1a2)](bx(0x282)))),void console[bx(0x215)]();}const {isNativeWindowsCmd:W}=await import('../lib/platform.js');if(!W()&&!a0am()){let aa=!(-0x3*0x833+0xb*0x23+0x1719);try{const ab={};ab[bx(0x191)]=bx(0xf3);const ac=a0W()[bx(0x1d0)]||bx(0x26c),ad=await fetch(ac+bx(0x28c),{'method':bx(0x316),'headers':ab,'body':JSON[bx(0x278)]({'token':J['trim'](),'deviceHash':a0aj(),'peek':!(-0x2*0xc1a+-0x2e*-0x1f+0x12a2)}),'signal':AbortSignal[bx(0x190)](-0xfdc+0x1460*-0x1+0x37c4)});if(ad['ok']){const ae=await ad[bx(0x159)]();(ae?.['data']?.['exam_id']||'')[bx(0x3b6)]('-c')&&(aa=!(0x110c*0x2+0x11*0x18a+-0x3c42));}}catch{}if(!aa)return console['log'](),a0ab('Pre-exam\x20setup\x20required\x20before\x20entering\x20a\x20token.'),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x10c))+a0L[bx(0x2db)][bx(0x1bc)](bx(0x18b))),console['log'](a0L[bx(0x1a2)]('\x20\x20Or\x20type\x20')+a0L['bold']['cyan'](bx(0x351))+a0L[bx(0x1a2)](bx(0x16a))),console['log'](a0L['gray'](bx(0x277))),void console['log']();}const X={};X['UA']='uk',X['PE']='es',X['CN']='zh',X['AU']='en',X['JP']='ja',X['KR']='ko',X['BR']='pt',X['SA']='ar',X['FR']='fr',X['DE']='de',X['IN']='hi',X['ID']='id',X['TH']='th',X['VN']='vi',X['TR']='tr',X['RU']='ru',X['EG']='ar',X['HT']='ht',X['PH']='en',X['MY']='en',X['MM']='en',X['SG']='en',X['ZA']='en',X['KE']='sw',X['TZ']='sw',X['MO']='zh',X['UZ']='uz',X['GH']='en',X['LA']='lo',X['BD']='bn',X['BI']='fr',X['US']='en',X['UK']='en',X['NZ']='en',X['LK']='si',X['BW']='en';const Y=X[J[bx(0x1d8)]()[bx(0x32f)](-0x667+-0x24df*0x1+0x2b46,-0x702+-0xe70+0x1574)[bx(0x2af)]()],Z=a0W(),a0=Z[bx(0x1d0)]||bx(0x26c),a1=Y||Z[bx(0x223)]||'en';Y&&Y!==(Z[bx(0x223)]||'en')&&a0X({'language':Y}),console['log'](),E(-0x26aa+-0xf5f+0x57*0x9f,'Validating\x20token...');try{const af={};af['Content-Type']=bx(0xf3);const ag=await fetch(a0+bx(0x28c),{'method':bx(0x316),'headers':af,'body':JSON['stringify']({'token':J[bx(0x1d8)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal['timeout'](-0x2cc2+-0x411c+-0xd8a*-0xb)});if(!ag['ok']){E(-0x1*0x8ad+-0xfff+0x2*0xc56,''),console[bx(0x215)]();const ao=await ag[bx(0x159)]()['catch'](()=>({'message':bx(0x11d)}));return a0aa(ao[bx(0x1a8)]||bx(0x21f)),void a0ac(bx(0x2fe));}E(-0x16b2+0x7e3*-0x2+0x2696,bx(0xf2));const ah=await ag[bx(0x159)](),{session:ai,questions:aj,languages:ak}=ah[bx(0x3c4)];E(0x15d0*0x1+0x169e+0x2*-0x1619,bx(0x3df)),await q(0xdfe+0x1efd+-0x2c33),E(-0x5*0x3bf+0x8*-0x4bd+0x1*0x3907,'Ready!'),console['log'](),console[bx(0x215)](),a0ae(ai[bx(0x1b5)]),console[bx(0x215)](),a0af('Questions',ai[bx(0x380)]+bx(0x388)),a0af(bx(0x3db),ai[bx(0x25c)]+bx(0x2fb)),a0af(bx(0x2dc),(ai[bx(0x398)]||0x2362+0x1*0x1b50+-0x32*0x13e)+bx(0x1b6)),a0af(bx(0x3f2),(ai['passingScore']||0x1731*-0x1+0x5*-0x3aa+0x29ce)+bx(0x249)),console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x2bf)]('\x20\x20Assistance:')),console[bx(0x215)](a0L[bx(0x2bf)](bx(0x13e))),console['log'](a0L[bx(0x2bf)](bx(0x360))),console['log'](a0L[bx(0x2bf)](bx(0x311))),ak&&ak[bx(0x2b6)]>-0x5db*-0x1+-0x2339+0x1d5f&&console[bx(0x215)](a0L[bx(0x2bf)](bx(0x220)+ak[bx(0x256)](',\x20')+'\x20—\x20switch\x20with:\x20lang\x20<code>')),console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x1a0)](bx(0x31c))),console[bx(0x215)](a0L[bx(0x2bf)](bx(0x2e2))),console[bx(0x215)](a0L[bx(0x2bf)](bx(0x208))),console[bx(0x215)](a0L['white'](bx(0x38b))),console[bx(0x215)](),await new Promise(ap=>{const by=bx;process[by(0xe2)][by(0x21b)](a0L[by(0x2db)][by(0x1a0)](by(0x2a7)));const aq=!!process[by(0x12c)][by(0x3da)]&&process[by(0x12c)][by(0x226)];process[by(0x12c)][by(0x3da)]&&process['stdin'][by(0x11f)]&&process[by(0x12c)][by(0x11f)](!(0xe06+-0x7*0x19f+-0x2ac));const ar=as=>{const bz=by,at=as['toString']();(at[bz(0x1c6)]('\x0a')||at['includes']('\x0d'))&&(process[bz(0x12c)]['removeListener']('data',ar),process[bz(0x12c)][bz(0x3da)]&&process[bz(0x12c)][bz(0x11f)]&&process['stdin'][bz(0x11f)](aq),process['stdout'][bz(0x21b)]('\x0a'),ap());};process[by(0x12c)]['on'](by(0x3c4),ar),process[by(0x12c)]['resume']();});const al=new Date()['toISOString']();ai[bx(0x1b8)]=al,ai[bx(0x1e0)]=J['trim']();try{const ap=Date[bx(0x355)](),aq=await fetch(a0+bx(0x147),{'method':bx(0x286),'signal':AbortSignal['timeout'](0x1c59+-0x14a1*-0x1+-0xfb*0x26)});if(aq['ok']){const ar=await aq['json'](),as=ar?.[bx(0x3c4)]?.[bx(0x24d)];if(bx(0x1ac)==typeof as&&as>-0x2643+-0x7*0x209+0x3482){const at=(ap+Date[bx(0x355)]())/(-0xec6+-0x7ed+0x16b5);ai[bx(0x250)]=Math['round'](as-at),ai[bx(0x3a2)]=as+(-0x1c5f+-0x2187+-0x42*-0xf1)*ai[bx(0x25c)]*(0x22e1+-0xb*0x101+-0x13ee);}}}catch{}const am={};am['ai4ctf']=0x0,am[bx(0xd9)]=0x0;const an={};an[bx(0x2e8)]=ai,an[bx(0x37a)]=aj,an[bx(0x288)]={},an[bx(0x1c7)]=[],an['aiUsage']=am,(a0Z(an),console['log'](),a0a9(bx(0x27a)),a0af(bx(0xdb),ai[bx(0x25c)]+bx(0x12a)),aj[bx(0x2b6)]>-0x14*-0xa0+-0x421*0x7+-0x11*-0xf7&&U(aj[-0xcb9+0x1*-0x5c7+0x4*0x4a0]));}catch(au){console[bx(0x215)](),'TimeoutError'===au[bx(0x211)]?a0aa('Server\x20not\x20reachable.\x20Check\x20your\x20internet\x20connection.'):a0aa(au[bx(0x1a8)]||bx(0x231));}}),B[be(0x2a1)](be(0x338),{'hidden':!(0x2*-0x3b3+0xb28+-0x3c2)})[be(0x193)]('Abandon\x20current\x20exam\x20session\x20and\x20wipe\x20local\x20state\x20(recovery\x20only)')['action'](async()=>{const bA=be;a0a8('exam\x20reset');const {getRealExamState:F,clearExamState:G}=await import(bA(0x36b)),H=F();if(!H)return console['log'](),console[bA(0x215)](a0L[bA(0x1a2)](bA(0x362))),void console['log']();const J=H[bA(0x2e8)][bA(0x1e0)];console['log'](),console[bA(0x215)](a0L[bA(0x1a0)](bA(0x2ab))),console[bA(0x215)](a0L[bA(0x1a2)](bA(0x3cd))+a0L[bA(0x2bf)](H['session'][bA(0x1b5)])),J&&console[bA(0x215)](a0L[bA(0x1a2)](bA(0x168))+a0L[bA(0x2bf)](J)),console[bA(0x215)](a0L[bA(0x1a2)](bA(0x16c))),console[bA(0x215)](a0L[bA(0x1a2)](bA(0x20e))),console[bA(0x215)](),console[bA(0x215)](a0L['gray'](bA(0x112))+a0L[bA(0x2db)][bA(0x1bc)](bA(0x338))+a0L[bA(0x1a2)]('\x20to\x20confirm,\x20or\x20anything\x20else\x20to\x20cancel:'));const {getMainRl:K}=await import(bA(0x3dc)),L=K();if('reset'!==(await new Promise(Q=>{const bB=bA;if(L){const V=L[bB(0x2d9)](bB(0x34e))[bB(0x1cc)]();L[bB(0x19e)]('line'),L['setPrompt'](bB(0x12e)),L['prompt'](),L[bB(0x18e)]('line',W=>{const bC=bB;for(const X of V)L['on'](bC(0x34e),X);Q(W['trim']());});}else((async()=>{const bD=bB,W={};W[bD(0x189)]=process[bD(0x12c)],W[bD(0x271)]=process[bD(0xe2)];const {createInterface:X}=await import(bD(0x15c)),Y=X(W);Y[bD(0x15a)]('\x20\x20>\x20',Z=>{const bE=bD;Y[bE(0x228)](),Q(Z[bE(0x1d8)]());});})());}))[bA(0x327)]())return console['log'](a0L[bA(0x1a2)](bA(0x366))),void console['log']();G(),console['log'](),console['log'](a0L[bA(0x349)]('\x20\x20✓\x20Exam\x20state\x20cleared.')),console[bA(0x215)](a0L['gray']('\x20\x20You\x20can\x20now\x20enter\x20a\x20new\x20token\x20with\x20')+a0L[bA(0x2db)][bA(0x1bc)](bA(0x21c))),console['log']();}),B[be(0x2a1)](be(0xf8))['description'](be(0x34d))[be(0x1f7)](async()=>{const bF=be;a0a8(bF(0x1e4)),N('demo-enter');const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import(bF(0x2a4));a0W()[bF(0x1d5)]||(await(async function(){const bG=bF;let a0=!(-0xb*-0x32e+0x71*-0x35+0x3dc*-0x3);const a1=process['stdin'],a2=()=>{a0=!(-0x201d*0x1+-0x23f*0xe+-0x3f8f*-0x1);},a3=a1[bG(0x3da)]&&bG(0xfc)==typeof a1[bG(0x11f)];a3&&(a1['setRawMode'](!(-0x2*-0x60d+-0x25fe+0x2*0xcf2)),a1['resume'](),a1[bG(0x18e)]('data',a2));const a4=async a5=>{let a6=-0x5fb*0x2+-0x1caf+0x5*0x821;for(;a6<a5&&!a0;)await q(-0x53*-0x1e+-0xd1b*0x1+0x3b1),a6+=0xed3+0x1b01*-0x1+-0xf6*-0xd;};try{if(console['clear'](),console[bG(0x215)](),console[bG(0x215)](a0L['gray'](bG(0x322))+a0L['dim']('(press\x20any\x20key\x20to\x20skip)')),console[bG(0x215)](),console['log'](a0L[bG(0x2db)][bG(0x2bf)](bG(0x2eb))),console[bG(0x215)](a0L['bold'][bG(0x2bf)](bG(0x167))),console[bG(0x215)](a0L[bG(0x2db)]['white']('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console['log'](a0L[bG(0x2db)]['white'](bG(0x160))),console[bG(0x215)](a0L['bold'][bG(0x2bf)](bG(0xda))),console[bG(0x215)](a0L[bG(0x2db)][bG(0x2bf)](bG(0x199))),console[bG(0x215)](),console[bG(0x215)](a0L[bG(0x2db)][bG(0x1a0)]('\x20\x20\x20International\x20Cyber\x20Olympiad\x20in\x20AI')),console[bG(0x215)](a0L['gray'](bG(0x2f9))),await a4(-0x13cd+-0x310*-0x8+-0x511*-0x1),a0)return;if(console['log'](),console[bG(0x215)](a0L['white']('\x20\x20\x20What\x20you\x27ll\x20do\x20today:')),console[bG(0x215)](),await a4(0x4*-0x559+-0xa36*-0x2+0x350),a0)return;if(console[bG(0x215)](a0L['cyan'](bG(0x11a))+a0L['white']('Answer\x2010\x20quick\x20questions')+a0L[bG(0x1a2)](bG(0x1e2))),await a4(-0x8cd+-0x7f0+0x3e5*0x5),a0)return;if(console[bG(0x215)](a0L[bG(0x349)](bG(0x11a))+a0L[bG(0x2bf)]('Team\x20up\x20with\x20AI\x20to\x20solve\x20CTFs')+a0L[bG(0x1a2)]('\x20\x20\x20\x20(ai4ctf)')),await a4(-0x107*-0x7+0x3bd*-0x1+-0xb8),a0)return;if(console[bG(0x215)](a0L['red'](bG(0x11a))+a0L[bG(0x2bf)](bG(0xe0))+a0L[bG(0x1a2)](bG(0x1aa))),await a4(0x47*0x65+-0x1a*0xe+-0x1713),a0)return;if(console[bG(0x215)](),console[bG(0x215)](a0L['bold']['white'](bG(0x33c))+a0L[bG(0x2db)][bG(0x1a0)]('IS')+a0L[bG(0x2db)][bG(0x2bf)]('\x20the\x20competition.')),console['log'](),await a4(0x214d+0x2*-0xf95+-0x3b9*-0x1),a0)return;if(console[bG(0x215)](a0L['gray'](bG(0x2f6))),await a4(-0x40d*-0x7+-0x18b3+-0x218),a0)return;if(console['log'](a0L[bG(0x1a2)](bG(0x1bd))),await a4(-0x21e4+-0x2047+0x43bb),a0)return;if(console[bG(0x215)](a0L[bG(0x1a2)](bG(0x269))),await a4(0x21e5*-0x1+-0xd06+0x320b),a0)return;console[bG(0x215)](),console['log'](a0L[bG(0x2db)][bG(0x1bc)](bG(0x119))),await a4(-0xa03+0x15e1+0x1e1*0x2);}finally{((()=>{const bH=bG;if(a3){a1[bH(0x337)]('data',a2);try{a1[bH(0x11f)](!(0x2*0x9c1+0x19ef+-0x2d70));}catch{}a1[bH(0x107)]();}})()),console[bG(0x230)]();}}()),a0X({'demoIntroSeen':!(-0x1bd1*-0x1+0x1*0xb7a+-0x274b*0x1)})),console['log'](),console[bF(0x215)](a0L[bF(0x2bf)](bF(0x31b))+a0L[bF(0x1a2)](H+bF(0x13a)+J+bF(0x2e3))),console[bF(0x215)](a0L['gray'](bF(0x1dc))+a0L[bF(0x1bc)](bF(0x3f1))+a0L[bF(0x1a2)](bF(0x33d))+a0L[bF(0x1bc)](bF(0x351))+a0L[bF(0x1a2)](bF(0x308))),await new Promise(a0=>{const bI=bF;process[bI(0xe2)][bI(0x21b)](a0L[bI(0x2db)][bI(0x1a0)](bI(0x233)));const a1=!!process[bI(0x12c)][bI(0x3da)]&&process[bI(0x12c)]['isRaw'];process[bI(0x12c)]['isTTY']&&process['stdin']['setRawMode']&&process[bI(0x12c)][bI(0x11f)](!(-0x1*-0x64d+0xd3*0x19+-0x1ae7));const a2=a3=>{const bJ=bI,a4=a3[bJ(0x221)]();(a4[bJ(0x1c6)]('\x0a')||a4['includes']('\x0d'))&&(process[bJ(0x12c)][bJ(0x337)]('data',a2),process['stdin'][bJ(0x3da)]&&process[bJ(0x12c)][bJ(0x11f)]&&process['stdin'][bJ(0x11f)](a1),process[bJ(0xe2)][bJ(0x21b)]('\x0a'),a0());};process[bI(0x12c)]['on'](bI(0x3c4),a2),process[bI(0x12c)][bI(0x3b8)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import('../lib/exam-state.js');Q()&&V('demo-free'),console[bF(0x215)](),a0ae(bF(0x19b)),console['log'](),console[bF(0x215)](a0L[bF(0x2bf)]('\x20\x20Free\x20practice\x20·\x20No\x20account\x20needed\x20·\x20No\x20time\x20limit')),console[bF(0x215)](a0L[bF(0x2bf)]('\x20\x20'+H+bF(0x318)+J+bF(0x1c2)));const W=a0a3();if(W[bF(0xeb)]>-0x1f19+-0x9*0x31a+0x1*0x3b03){const a0=W['bestPercentage'],a1=a0>=-0xee5*0x1+0xf5*-0x17+0x2538?a0L[bF(0x349)]:a0>=0xf4*-0x23+-0x13fb+0x3593?a0L[bF(0x1a0)]:a0L['white'];console[bF(0x215)](),console[bF(0x215)](a0L[bF(0x1a2)](bF(0xf0))+a1(W['best']+'/'+H+'\x20('+a0+'%)')+a0L['gray'](bF(0x165)+W[bF(0xeb)]+bF(0x3c3)));}console['log'](),console['log'](a0L[bF(0x1a2)](bF(0x26a))),console[bF(0x215)](a0L[bF(0x2bf)]('\x20\x20'+a0ai(bF(0x1f2)))),console[bF(0x215)](a0L[bF(0x1a0)](bF(0x323))+a0L[bF(0x1a2)]('\x20\x20\x20\x20\x20\x20\x20'+a0ai(bF(0x272)))),console[bF(0x215)](a0L[bF(0x1a0)](bF(0x157))+a0L[bF(0x1a2)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai('htpHelp'))),console['log'](a0L[bF(0x1a0)](bF(0x240))+a0L[bF(0x1a2)](bF(0x3d5))+a0L[bF(0x1a0)]('prev')+a0L[bF(0x1a2)](bF(0x1ee)+a0ai(bF(0x3d9)))),console['log'](a0L['yellow']('\x20\x20\x20\x20more\x20help')+a0L['gray'](bF(0x2dd)+a0ai(bF(0x1bb)))),console[bF(0x215)](a0L[bF(0x1a0)](bF(0x386))+a0L['gray'](bF(0x33f)+a0ai(bF(0x3a7)))),console[bF(0x215)](a0L[bF(0x1a0)]('\x20\x20\x20\x20lang')+a0L['gray'](bF(0x33f)+a0ai(bF(0x125)))),console['log'](a0L['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20es\x20·\x20zh\x20·\x20ja\x20·\x20ko\x20·\x20ar\x20·\x20fr\x20·\x20pt')),console[bF(0x215)](a0L[bF(0x1a2)](bF(0x3ed))),console[bF(0x215)](a0L[bF(0x1a2)](bF(0x26a))),console[bF(0x215)]();const {getConfig:X}=await import(bF(0x331)),Y=X()[bF(0x223)]||'en';'en'===Y?(console[bF(0x215)](a0L[bF(0x1a2)]('\x20\x20Questions\x20in\x20English.\x20To\x20switch\x20language\x20first:')),console[bF(0x215)](a0L[bF(0x1a2)]('\x20\x20lang\x20es\x20(Español)\x20·\x20lang\x20zh\x20(中文)\x20·\x20lang\x20ko\x20(한국어)\x20·\x20lang\x20ja\x20(日本語)')),console['log'](a0L['gray'](bF(0x245)))):console['log'](a0L[bF(0x349)](bF(0x192)+Y)),console[bF(0x215)](),console['log'](a0L[bF(0x2bf)]('\x20\x20Starting\x20exam...'));const Z={...L,'startedAt':new Date()[bF(0x2bd)]()};console[bF(0x215)](),E(0x1e54+0x4eb*-0x2+0x3d*-0x56,bF(0xe5)),await q(-0x2458+0x777*-0x2+0x340e),E(0x1*0x6cf+-0x69d+0x1*-0xa,bF(0x26d)),await q(0x169b+-0x11b0+-0x423),E(-0x97*0x2b+0x1880+0x12d,bF(0x2b8)),await q(-0x5*0x554+-0x16c5+-0x31ff*-0x1),E(-0x2363+0x47f*0x1+0x1f48,'Ready!'),console['log'](),console[bF(0x215)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af('Questions',String(H)),a0af(bF(0x3db),'No\x20time\x20limit'),U(K[0x24cd+-0x3a*0x98+0xb*-0x37]);}),B[be(0x2a1)]('demo-retry')['description'](be(0x15b))['action'](async()=>{const bK=be;a0a8('exam\x20demo-retry'),N(bK(0x3de));const {getLocalizedDemoSession:F}=await import('../lib/demo-exam.js'),G=a0a6();if(!G||0x740+-0xcf*-0xb+-0x1025===G['length'])return console[bK(0x215)](),console['log'](a0L[bK(0x1a0)]('\x20\x20No\x20wrong\x20questions\x20to\x20retry.\x20Run\x20')+a0L[bK(0x2db)][bK(0x1bc)](bK(0xf8))+a0L[bK(0x1a0)](bK(0x1ea))),void console[bK(0x215)]();const H=a0Y();if(H){if(bK(0x2c9)!==H[bK(0x2e8)]['examId'])return a0ab('Exam\x20\x22'+H[bK(0x2e8)][bK(0x1b5)]+bK(0x2aa)),void a0ac('Submit\x20it\x20first:\x20exam\x20submit');a0a0();}const J=V=>{const bL=bK;if(!V[bL(0x2e9)])return V;const W=V['options'][V[bL(0x2e9)]],X=['A','B','C','D']['map'](a2=>V[bL(0x214)][a2]);for(let a2=X['length']-(0xed+0x5*0x34b+0x1163*-0x1);a2>0x1056+0x39a*0x2+-0x17*0x106;a2--){const a3=Math['floor'](Math[bL(0x197)]()*(a2+(0x130d*0x1+-0x891+-0xa7b)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[-0x2104+0x1c62+0x4a2],Y['B']=X[-0x14f2+0x78*-0x4c+-0x7*-0x815],Y['C']=X[0x1f*-0xa3+-0x30c+0x3*0x799],Y['D']=X[-0x17f8+0x249b+-0xca0];const Z=Y,a0=['A','B','C','D'][bL(0x244)](a4=>Z[a4]===W),a1={...V};return a1['options']=Z,a1['answer']=a0,a1;},K=G['map']((V,W)=>({...J(V),'number':W+(0x8ef+-0x22c3+0x1*0x19d5)})),L=F(),Q={...L,'examName':L[bK(0x1b5)]+'\x20\x20(Retry\x20wrong\x20only)','questionCount':K[bK(0x2b6)],'startedAt':new Date()[bK(0x2bd)]()};console[bK(0x215)](),a0ae(bK(0x1d7)),console[bK(0x215)](),console['log'](a0L[bK(0x2bf)](bK(0x3f4)+K[bK(0x2b6)]+'\x20question'+(-0x1*0xe57+0x1a1a+0x7*-0x1ae===K[bK(0x2b6)]?'':'s')+bK(0x173))),console[bK(0x215)](a0L['gray'](bK(0x17f))),console['log'](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af(bK(0x396),String(K[bK(0x2b6)])),a0af('Duration',bK(0x33a)),U(K[-0x1b5d+0xe3+0x1a7a]);}),B['command'](be(0x312))[be(0x193)]('Install\x20Python\x20environment\x20for\x20practical\x20exam\x20questions')[be(0x1f7)](async()=>{const bM=be;if(a0a8(bM(0x18b)),-0x7*0x446+0x158e+0x4*0x217===a0a3()[bM(0xeb)])return console[bM(0x215)](),a0ab(bM(0x121)),console['log'](a0L[bM(0x1a2)]('\x20\x20→\x20')+a0L['bold']['cyan'](bM(0x1e4))),void console[bM(0x215)]();const J=a0ak();if(J){const a7=J[bM(0x22f)][bM(0x2b6)],a8=a7+J[bM(0x3d1)][bM(0x2b6)];if(a7>=0x3d7+-0x17e5*0x1+0x1416||(a8>0x39*-0x4e+0x233+0x1*0xf2b?a7/a8:-0x1+0x1ede+-0x1edd)>=-0x225e+-0x2*-0x688+0x154e+0.7)return console['log'](),console[bM(0x215)](a0L['green'](bM(0x372))+a0L[bM(0x349)](bM(0x2c4))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x38e)+J[bM(0x30c)][bM(0x155)]('T')[0x1*0x14c7+-0xd*0x1de+0x37f*0x1])),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20Python:\x20'+J[bM(0x330)])),console['log'](a0L[bM(0x1a2)](bM(0x13b)+a7+bM(0xf6))),J[bM(0x3d1)]['length']>-0x45d+0x90*-0x3a+-0x1*-0x24fd&&console[bM(0x215)](a0L[bM(0x1a0)]('\x20\x20\x20\x20Failed:\x20'+J[bM(0x3d1)][bM(0x256)](',\x20'))),console['log'](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x229))+a0L[bM(0x2db)][bM(0x1bc)](bM(0x21c))),console['log'](a0L[bM(0x1a2)](bM(0x242))+a0L[bM(0x2db)][bM(0x1bc)]('back')+a0L[bM(0x1a2)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),void console[bM(0x215)]();console[bM(0x215)](),console['log'](a0L[bM(0x1a0)]('\x20\x20Previous\x20setup\x20had\x20only\x20'+a7+'/'+a8+'\x20packages.\x20Retrying...')),console[bM(0x215)]();}console['log'](),a0ae(bM(0x29b)),console[bM(0x215)](),console['log'](a0L['white'](bM(0x2fc))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x1a1))),console[bM(0x215)]();const K=(a9,aa)=>{const bN=bM,ab=process[bN(0x281)];console['log'](),a0aa(bN(0x3b4)===a9?'Python\x203\x20not\x20found.':bN(0x1d6)+aa+bN(0x130)),console[bN(0x215)](),console[bN(0x215)](a0L[bN(0x2db)][bN(0x2bf)](bN(0x129))),console[bN(0x215)](),bN(0x2fa)===ab?(console[bN(0x215)](a0L['yellow'](bN(0x166))),console[bN(0x215)](a0L[bN(0x349)](bN(0x23e))),console[bN(0x215)](),console['log'](a0L[bN(0x1a2)](bN(0x324))),console[bN(0x215)](a0L['gray'](bN(0x16d)))):bN(0x3ad)===ab?(console[bN(0x215)](a0L[bN(0x1a0)]('\x20\x20Ubuntu\x20/\x20Debian\x20(deadsnakes\x20PPA):')),console['log'](a0L[bN(0x349)](bN(0x3a0))),console[bN(0x215)](a0L[bN(0x349)](bN(0x114))),console['log'](a0L['green']('\x20\x20\x20\x20sudo\x20apt\x20install\x20-y\x20python3.12\x20python3.12-venv\x20python3.12-distutils')),console['log'](a0L[bN(0x1a2)](bN(0x10f))),console[bN(0x215)](),console[bN(0x215)](a0L[bN(0x1a0)](bN(0x325))),console[bN(0x215)](a0L['green']('\x20\x20\x20\x20sudo\x20dnf\x20install\x20-y\x20python3.12')),console[bN(0x215)](),console[bN(0x215)](a0L[bN(0x1a0)]('\x20\x20Arch\x20/\x20Manjaro:')),console['log'](a0L[bN(0x349)](bN(0x273)))):'win32'===ab?(console[bN(0x215)](a0L['yellow'](bN(0x29f))),console[bN(0x215)](a0L[bN(0x349)](bN(0x111))),console[bN(0x215)](),console[bN(0x215)](a0L[bN(0x1a2)](bN(0x324))),console['log'](a0L['gray'](bN(0x37c)))):console[bN(0x215)](a0L[bN(0x1a2)]('\x20\x20\x20\x20https://www.python.org/downloads/')),console[bN(0x215)](),console[bN(0x215)](a0L[bN(0x2bf)](bN(0x3c8))+a0L[bN(0x2db)][bN(0x1bc)]('exam\x20setup')),console[bN(0x215)]();},{execFileSync:L}=await import(bM(0x348)),Q=[bM(0x1ce),'python3.11',bM(0x133),bM(0x17c)];let V='',W='',X='';for(const a9 of Q)try{const aa=L(a9,['--version'],{'encoding':bM(0x39d),'timeout':0x1388})[bM(0x1d8)]()[bM(0x28d)]('Python\x20',''),ab=aa[bM(0x155)]('.')[bM(0x358)](Number);if(-0x26bf*0x1+-0x9*-0x2b7+0xe53*0x1===ab[-0x7*-0x1d+0x1cac+-0x1*0x1d77]&&ab[-0x185d*-0x1+0x19af+0x17*-0x22d]>=-0x28d*-0x1+0x17*-0x19b+0x226a){V=a9,W=aa;break;}'python3'!==a9||X||(X=aa);}catch{}if(!V)return void(X?K(bM(0x3d2),X):K(bM(0x3b4)));const Y=W['split']('.')[bM(0x358)](Number);-0x240d*-0x1+-0x2*-0x63c+-0x3082===Y[-0x1*0x264f+-0x1*0x101b+-0x7c6*-0x7]&&Y[0xe6e+0x1bca+0x6b*-0x65]<-0xf9b+-0x1*0x162f+0x25d6?console['log'](a0L[bM(0x349)]('\x20\x20✓\x20Python\x20'+W)+a0L[bM(0x1a2)]('\x20(works,\x20but\x203.12\x20recommended)')):console['log'](a0L[bM(0x349)](bM(0x14f)+W));try{const ac={};ac[bM(0x39e)]=bM(0x203),ac[bM(0x190)]=0x1388,(a0an(V+bM(0x3c6),ac),console[bM(0x215)](a0L[bM(0x349)]('\x20\x20✓\x20pip\x20available')));}catch{console[bM(0x215)](a0L[bM(0x1a0)](bM(0x31f)));try{const ad={};ad[bM(0x39e)]=bM(0x203),ad[bM(0x190)]=0x7530,(a0an(V+bM(0x16f),ad),console[bM(0x215)](a0L['green']('\x20\x20✓\x20pip\x20installed')));}catch{a0aa(bM(0x310)),console['log']();const {isInWSL:ae,isNativeWindowsCmd:af}=await import(bM(0x1ae)),{execFileSync:ag}=await import('node:child_process'),ah=ae(),ai=af(),aj=bM(0x3ad)===process[bM(0x281)]&&!ah,ak=bM(0x2fa)===process[bM(0x281)];let al=bM(0x234);if(aj||ah)try{const {readFileSync:ao}=await import(bM(0x2a0)),ap=ao(bM(0x150),bM(0x39d)),aq=(ap[bM(0x3ac)](/^ID="?([^"\n]+)/m)||[])[-0x55*-0x11+0x1*0x18ee+-0x1e92]||'',ar=(ap[bM(0x3ac)](/^VERSION_ID="?([^"\n]+)/m)||[])[0x1cdc+-0xa1c+-0x12bf*0x1]||'';bM(0x2c0)===aq?al=bM(0x254)+ar+(ah?bM(0x2a2):''):aq&&(al=''+aq+(ar?'\x20'+ar:'')+(ah?'\x20(WSL2)':''));}catch{}let am=!(0x74*-0xb+-0x1*0x1e2f+-0x8cb*-0x4);if(ak)try{const as={};as[bM(0x39e)]=bM(0x203),as['timeout']=0x7d0,(ag(bM(0x303),[bM(0x154)],as),am=!(-0x1*-0x1281+0x13b8+-0x13*0x203));}catch{am=!(0x2114+0x1*0x19db+-0x13*0x31a);}const an=ai?bM(0x182):bM(0x38c);return console[bM(0x215)](a0L[bM(0x2db)][bM(0x1a0)](bM(0x263))),console[bM(0x215)](a0L[bM(0x2db)]['yellow']('\x20\x20'+an)),console['log'](a0L[bM(0x2db)][bM(0x1a0)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bM(0x215)](),aj||ah?(console[bM(0x215)](a0L[bM(0x2bf)](bM(0x163))+a0L[bM(0x1bc)](al)),console['log'](a0L[bM(0x1a2)](bM(0x1f9))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2db)]['white'](bM(0x140))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x335))+a0L[bM(0x2db)]['cyan']('quit')+a0L[bM(0x2bf)](bM(0x26f))),console['log'](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x115))),console[bM(0x215)](),console['log'](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x35a))),console[bM(0x215)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2db)]['cyan']('sudo\x20apt\x20install\x20-y\x20python3-pip\x20python3-venv')),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x340))),console[bM(0x215)](),console[bM(0x215)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2db)][bM(0x1bc)]('icoa')),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x1a2)](bM(0x132))+'\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x18b)))):ak?(console[bM(0x215)](a0L[bM(0x2bf)](bM(0x163))+a0L['cyan'](bM(0x3a8))),console[bM(0x215)](),console['log'](a0L[bM(0x2db)][bM(0x2bf)]('\x20\x20Step-by-step:')),console[bM(0x215)](),console['log'](a0L['white'](bM(0x335))+a0L[bM(0x2db)][bM(0x1bc)](bM(0x3f3))+a0L[bM(0x2bf)](bM(0x251))),console[bM(0x215)](),am?(console[bM(0x215)](a0L[bM(0x2bf)](bM(0x11c))),console[bM(0x215)](),console[bM(0x215)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x217))),console[bM(0x215)](bM(0x2f0)+a0L['bold']['cyan']('brew\x20link\x20--overwrite\x20python@3.12'))):(console[bM(0x215)](a0L[bM(0x2bf)](bM(0x2e7))+a0L[bM(0x2db)][bM(0x1a0)](bM(0x154))+a0L[bM(0x2bf)]('):')),console[bM(0x215)](),console['log'](bM(0x2f0)+a0L[bM(0x2db)]['cyan'](bM(0xe7))),console[bM(0x215)](),console['log'](a0L[bM(0x2bf)]('\x20\x20\x20\x20\x20\x20\x20Then\x20install\x20Python:')),console[bM(0x215)](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x217)))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x16b))),console['log'](),console['log'](bM(0x2f0)+a0L['bold'][bM(0x1bc)](bM(0x3ce))),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x1a2)](bM(0x132))+'\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x18b)))):ai?(console['log'](a0L['white'](bM(0x163))+a0L[bM(0x1bc)]('Windows\x20native\x20(PowerShell\x20/\x20cmd)')),console[bM(0x215)](),console['log'](a0L['bold'][bM(0x1a0)]('\x20\x20ICOA\x20officially\x20supports\x20WSL2\x20on\x20Windows.')),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x186))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x1e9))),console[bM(0x215)](a0L['gray']('\x20\x20far\x20more\x20smoothly\x20inside\x20WSL2\x20Ubuntu.')),console['log'](),console[bM(0x215)](a0L[bM(0x2db)][bM(0x2bf)](bM(0x343))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x335))+a0L[bM(0x2db)][bM(0x1bc)](bM(0x3f3))+a0L[bM(0x2bf)](bM(0x251))),console['log'](a0L[bM(0x2bf)](bM(0x332))),console['log'](),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x353))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20\x20\x20\x20(Reboot\x20if\x20Windows\x20asks,\x20then\x20open\x20the\x20Ubuntu\x20terminal.)')),console[bM(0x215)](a0L[bM(0x2bf)]('\x20\x20\x20\x203.\x20Inside\x20Ubuntu,\x20install\x20Node.js\x2022\x20+\x20Python\x20tools\x20+\x20icoa:')),console[bM(0x215)](),console['log'](bM(0x2f0)+a0L[bM(0x2db)]['cyan'](bM(0x3ee))),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x22e))),console[bM(0x215)](bM(0x2f0)+a0L['bold'][bM(0x1bc)]('sudo\x20npm\x20install\x20-g\x20icoa-cli')),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x3ce))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x36e))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x335))+a0L[bM(0x2db)]['cyan']('quit')+a0L[bM(0x2bf)](bM(0x251))),console['log'](a0L['white'](bM(0x1a5))),console['log'](),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x361))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x2b3))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x35d))),console[bM(0x215)](a0L[bM(0x2bf)]('\x20\x20\x20\x203.\x20Open\x20a\x20NEW\x20PowerShell\x20window\x20(PATH\x20refresh),\x20then:')),console[bM(0x215)](),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x3ce))),console[bM(0x215)]('\x20\x20\x20\x20\x20\x20\x20'+a0L['gray'](bM(0x132))+'\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x18b)))):(console['log'](a0L['white']('\x20\x20Detected:\x20unrecognized\x20platform\x20(')+a0L['cyan'](process[bM(0x281)])+a0L[bM(0x2bf)](')')),console['log'](),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x334))),console[bM(0x215)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x3ce))),console[bM(0x215)](bM(0x2f0)+a0L['gray']('icoa>')+'\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x18b)))),console['log'](),console['log'](a0L['gray']('\x20\x20Stuck?\x20Email\x20your\x20selection\x20coordinator\x20with\x20the\x20screenshot\x20above.')),void console[bM(0x215)]();}}const Z={};Z['beautifulsoup4']=bM(0x1e3),Z[bM(0x329)]='Crypto',Z[bM(0x1e8)]='z3',Z[bM(0x11b)]='PIL',Z[bM(0x22d)]=bM(0x32b),Z[bM(0x258)]='ropgadget';const a0=[bM(0x22d),'cryptography',bM(0x20a),bM(0x26b),'numpy',bM(0x11b),'scapy',bM(0x2d7),bM(0x1e8),bM(0x329),bM(0x258),bM(0xdd),bM(0x30e)],a1=Z;console['log'](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x14b)+a0['length']+bM(0x204))),console[bM(0x215)]();let a2='';try{const at={};at[bM(0x39a)]=bM(0x39d),at['timeout']=0x2710,a0an(V+bM(0x174),at);}catch(au){const av=String(au?.[bM(0xe2)]||au?.[bM(0x30b)]||au?.[bM(0x1a8)]||'');/externally-managed-environment|break-system-packages/i[bM(0x283)](av)&&(a2=bM(0x25d),console[bM(0x215)](a0L[bM(0x1a0)](bM(0x28e))),console[bM(0x215)]());}const a3=W[bM(0x155)]('.')['map'](Number);0x15d1+0xa3e+0x7*-0x494===a3[-0x1*0x1da2+0x13c*-0x9+0x145f*0x2]&&a3[0x1dc+0x2*0x6fd+-0xfd5]>=-0x4c7+-0x985+0xe59&&(console[bM(0x215)](a0L[bM(0x1a0)](bM(0x30a)+W+bM(0xf9))),console[bM(0x215)](a0L['gray']('\x20\x20\x20\x20Some\x20packages\x20(pwntools,\x20scapy)\x20may\x20not\x20have\x20wheels\x20yet\x20for\x203.13.')),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20Python\x203.12\x20is\x20recommended.\x20Install:')),bM(0x3ad)===process[bM(0x281)]&&(console[bM(0x215)](a0L['green']('\x20\x20\x20\x20\x20\x20sudo\x20apt\x20install\x20python3.12\x20python3.12-venv')),console['log'](a0L[bM(0x349)](bM(0x1af)))),console['log']());const a4=[],a5=[];let a6='';for(const aw of a0)try{a0an(V+bM(0x3bf)+aw+'\x22\x20'+a2+bM(0x34a),{'encoding':'utf-8','timeout':0x2bf20,'stdio':'pipe'}),a0an(V+'\x20-c\x20\x22import\x20'+(a1[aw]||aw)+'\x22',{'stdio':bM(0x203),'timeout':0x2710});let ax='';try{const ay=a0an(V+bM(0x3f0)+aw+bM(0x3e4),{'encoding':bM(0x39d),'timeout':0x1388})[bM(0x3ac)](/^Version:\s*(.+)$/m);ay&&(ax=ay[-0xa1d+-0x14*-0x15d+-0x1126][bM(0x1d8)]());}catch{}console[bM(0x215)](a0L[bM(0x349)](bM(0x372)+aw)+(ax?a0L[bM(0x1a2)]('\x20('+ax+')'):'')),a4[bM(0x32a)](ax?aw+'=='+ax:aw);}catch(az){const aA=String(az?.['stdout']||az?.[bM(0x30b)]||az?.[bM(0x1a8)]||'')[bM(0x1cc)](-(-0x5c*-0x3b+0x3f5*0x1+-0x1799)),aB=aA[bM(0x155)]('\x0a')['filter'](aC=>aC[bM(0x1d8)]())['slice'](-(-0x1a20+-0x197*-0x12+-0x27c))[bM(0x256)]('\x20|\x20')[bM(0x1cc)](-0xdcd+-0xb28+0x18f5,-0x188c+-0x74f+0x2053);console[bM(0x215)](a0L[bM(0x19d)]('\x20\x20✗\x20'+aw)+a0L[bM(0x1a2)]('\x20\x20'+aB)),a5['push']({'pkg':aw,'error':aB}),a6||(a6=aA);}-0x755*0x3+0x77c*-0x2+0x24f7===a4[bM(0x2b6)]&&a6&&(console[bM(0x215)](),console[bM(0x215)](a0L['yellow']('\x20\x20First\x20error\x20detail\x20(for\x20debugging):')),console['log'](a0L[bM(0x1a2)]('\x20\x20'+a6[bM(0x155)]('\x0a')[bM(0x1cc)](-(0x1*-0x10ec+-0x121*0x21+0x3633))[bM(0x256)](bM(0x36c))))),a0al({'completedAt':new Date()[bM(0x2bd)](),'pythonVersion':W,'installedPackages':a4,'failedPackages':a5[bM(0x358)](aC=>aC[bM(0x222)])}),console['log'](),0x4*0x957+-0x377*-0xa+-0x4802===a5[bM(0x2b6)]?a0a9(bM(0x379)+a0[bM(0x2b6)]+'\x20packages\x20installed.'):-0x71d+0x2272+0x1*-0x1b55===a4['length']?(a0aa(bM(0x1b1)+a0['length']+bM(0x394)),console[bM(0x215)](),console['log'](a0L[bM(0x1a0)](bM(0xfe))),0x1132*0x1+-0x377+-0xdb8===a3[-0x3a*-0x2f+0x1*-0xc54+0x1ae]&&a3[-0x16eb+-0x3f1+0x1add]>=0x455+0x19a+0x1f6*-0x3?(console[bM(0x215)](a0L[bM(0x1a2)](bM(0x227))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x194)))):(console['log'](a0L[bM(0x1a2)]('\x20\x20\x20\x20•\x20Check\x20you\x20have\x20internet\x20(pip.pypa.io\x20must\x20be\x20reachable)')),console['log'](a0L[bM(0x1a2)](bM(0x148))+a0L[bM(0x1bc)](V+'\x20-m\x20pip\x20install\x20pwntools')+a0L[bM(0x1a2)]('\x20—\x20see\x20full\x20error')),console['log'](a0L[bM(0x1a2)]('\x20\x20\x20\x20•\x20On\x20Kali/Ubuntu\x2022+:\x20might\x20need\x20python3.12-dev\x20+\x20build-essential'))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x195))+a0L['bold']['cyan'](bM(0x18b)))):a0ab(a4[bM(0x2b6)]+'/'+a0[bM(0x2b6)]+'\x20packages\x20installed.\x20'+a5[bM(0x2b6)]+bM(0x2a3)+a5[bM(0x358)](aC=>aC['pkg'])[bM(0x256)](',\x20')),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x1bc)](bM(0x2bc))),console['log'](a0L[bM(0x2db)]['white']('\x20\x20How\x20to\x20use\x20Python\x20in\x20ICOA\x20CLI')),console['log'](a0L[bM(0x1bc)](bM(0x2bc))),console['log'](),console['log'](a0L[bM(0x2db)][bM(0x1a0)](bM(0x36f))+a0L['gray']('\x20(quick\x20tasks)')),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x184))),console[bM(0x215)](a0L[bM(0x349)](bM(0x3c5))),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20→\x20b\x27Hello\x27')),console[bM(0x215)](),console['log'](a0L[bM(0x2db)]['yellow'](bM(0x2ec))+a0L['gray']('\x20(explore\x20&\x20experiment)')),console['log'](a0L[bM(0x2bf)](bM(0x2b2))),console[bM(0x215)](a0L[bM(0x349)](bM(0x1cf))),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20>>>\x20from\x20Crypto.Cipher\x20import\x20AES')),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x299))),console['log'](a0L[bM(0x1a2)](bM(0x18f))),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20>>>\x20print(cipher.decrypt(data))')),console['log'](a0L['gray'](bM(0x356))),console[bM(0x215)](),console['log'](a0L[bM(0x2db)][bM(0x1a0)](bM(0x2c1))+a0L['gray'](bM(0x3dd))),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x39b))),console[bM(0x215)](a0L[bM(0x349)](bM(0x2a6))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x3a1))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x22a))),console['log'](a0L[bM(0x1a2)](bM(0x3b2))),console['log'](a0L[bM(0x1a2)]('\x20\x20\x20\x20print(xor(ct,\x20key).decode())')),console[bM(0x215)](a0L[bM(0x349)]('\x20\x20\x20\x20EOF')),console[bM(0x215)](a0L[bM(0x349)](bM(0xe8))),console['log'](),console[bM(0x215)](a0L[bM(0x2db)][bM(0x1a0)](bM(0x265))),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x2da))+a0L['bold']['cyan'](bM(0x2f3))+a0L['white'](bM(0x1c9))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x381))),console['log'](a0L['gray']('\x20\x20\x20\x20\x22Show\x20me\x20how\x20to\x20use\x20struct.unpack\x22')),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x1fa))),console['log'](a0L[bM(0x1bc)](bM(0x2bc))),console['log'](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x229))+a0L[bM(0x2db)][bM(0x1bc)]('exam\x20<token>')),console['log'](a0L[bM(0x1a2)](bM(0x242))+a0L[bM(0x2db)]['cyan'](bM(0x351))+a0L[bM(0x1a2)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console[bM(0x215)]();}),B['action'](()=>{const bO=be;a0a8(bO(0x3a9));const F=a0Y();if(F){a0ae('In\x20Progress:\x20'+F[bO(0x2e8)][bO(0x1b5)]),O();const J=Object[bO(0x3e5)](F[bO(0x288)])[bO(0x2b6)];return a0af(bO(0x1b3),J+'/'+F[bO(0x2e8)][bO(0x380)]+bO(0x205)),console[bO(0x215)](),void console[bO(0x215)](a0L[bO(0x1a2)](bO(0x1cd)));}const G=a0a3(),H=a0ak();console[bO(0x215)](),a0ae(bO(0x37d)),console[bO(0x215)](),-0x210+-0x225b+0x1*0x246b===G[bO(0xeb)]?(console[bO(0x215)](a0L[bO(0x1a0)]('\x20\x20○\x20')+a0L[bO(0x1a0)](bO(0x261))),console[bO(0x215)](a0L[bO(0x1a2)](bO(0x344))+a0L['bold'][bO(0x1bc)](bO(0x1e4)))):(console[bO(0x215)](a0L[bO(0x349)](bO(0x390))+a0L[bO(0x349)](bO(0x171)+G[bO(0xeb)]+bO(0x17b)+(0x1*-0xb55+-0x141*0x1d+0x2fb3!==G['attempts']?'s':'')+')')),H?(console[bO(0x215)](a0L[bO(0x349)]('\x20\x20●\x20')+a0L[bO(0x349)](bO(0x20c))),console['log'](a0L[bO(0x1a0)](bO(0x101))+a0L[bO(0x1a0)]('Enter\x20exam\x20token\x20to\x20begin')),console[bO(0x215)](a0L[bO(0x1a2)](bO(0x344))+a0L[bO(0x2db)][bO(0x1bc)](bO(0x21c)))):(console[bO(0x215)](a0L[bO(0x1a0)](bO(0x101))+a0L['yellow'](bO(0x287))),console[bO(0x215)](a0L['gray'](bO(0x344))+a0L[bO(0x2db)][bO(0x1bc)](bO(0x18b))))),console[bO(0x215)]();});}
1
+ (function(z,B){const b0=a0B,F=z();while(!![]){try{const G=-parseInt(b0(0x18b))/(0x17*0x173+0x3c8*0xa+-0x4724)+parseInt(b0(0x2c1))/(0x5db*-0x1+-0x1748+-0x33d*-0x9)*(parseInt(b0(0xe9))/(-0x2*0x7eb+0xff*-0x6+0x15d3*0x1))+-parseInt(b0(0x16f))/(0x1331+0x17*0x73+0x3*-0x9d6)+parseInt(b0(0x133))/(-0x56f+-0x6d9+0xc4d)+parseInt(b0(0x119))/(-0x232c+0x16a6+0xc8c)+parseInt(b0(0x3a3))/(0x1d9b*-0x1+-0x12de+0x3080)*(-parseInt(b0(0x23e))/(0x11f3+0x22*0x10f+-0x35e9))+parseInt(b0(0x24c))/(0x14d0+0x87c+-0x1d43)*(-parseInt(b0(0x38c))/(0x2653+-0x297*0xb+0x1a2*-0x6));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,0x19861*-0x3+-0x2*-0x114d7+0x757d*0xb));import a0L from'chalk';import{confirm as a0Q}from'@inquirer/prompts';import{ExamClient as a0V}from'../lib/exam-client.js';import{getConfig as a0W,saveConfig as a0X}from'../lib/config.js';import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';import{printSuccess as a0a9,printError as a0aa,printWarning as a0ab,printInfo as a0ac,printTable as a0ad,printHeader as a0ae,printKeyValue as a0af,createSpinner as a0ag,formatCountdown as a0ah}from'../lib/ui.js';import{t as a0ai}from'../lib/i18n.js';import{getDeviceFingerprint as a0aj}from'../lib/access.js';import{getExamSetup as a0ak,saveExamSetup as a0al,isExamSetupComplete as a0am}from'../lib/exam-setup.js';import{execSync as a0an}from'node:child_process';const q=z=>new Promise(B=>setTimeout(B,z));function N(B,F={}){const b1=a0B,G=a0W(),H={};H['Content-Type']='application/json',fetch(b1(0x108),{'method':'POST','headers':H,'body':JSON[b1(0x16d)]({'type':B,'lang':G['language']||'en','timestamp':new Date()[b1(0x3d1)](),...F}),'signal':AbortSignal[b1(0x3ca)](-0x1df7+-0xdd*0x1d+0x4a88)})[b1(0x1e5)](()=>{});}function E(z,B){const b2=a0B,F=Math[b2(0x2f3)](z/(-0x12c1*0x2+-0xd93+0x3379)*(-0x8c6+-0x2367+-0x1*-0x2c4b)),G=0x20cf+-0x1924+-0x78d-F,H=a0L[b2(0x386)]('█'[b2(0xea)](F))+a0L[b2(0x27c)]('░'[b2(0xea)](G)),J=String(z)[b2(0xfb)](0x53*-0x7+0x23b*-0xb+0x1ad1)+'%';process['stdout'][b2(0x178)](b2(0xf5)+H+'\x20'+J+'\x20\x20'+a0L[b2(0x27c)](B));}function a0B(a,b){a=a-(-0x1*-0x241+0x6a+-0x208);const c=a0z();let d=c[a];if(a0B['VZQpkV']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x255e+-0x1bb5+-0x9a9,o,p,q=0x13b2+-0x151a+0x168;p=i['charAt'](q++);~p&&(o=n%(0x1058+-0x1b5f+0xb0b)?o*(-0x2367+-0x2*0xabf+-0x3925*-0x1)+p:p,n++%(-0x275+-0x17c9+0x1a42))?l+=String['fromCharCode'](0x21*0x1d+0x1720+0x1d9*-0xe&o>>(-(-0x2651+-0x15e7+-0x1*-0x3c3a)*n&0xd07+-0x2*0x444+-0x5*0xe5)):-0x195c+0x2b5*-0x7+0x13*0x255){p=j['indexOf'](p);}for(let r=0x22e9+0xd30*-0x2+-0x889,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x16*0xf0+0x1*0x1b2f+-0x2fbf))['slice'](-(0x55f+-0x1c8e+0x1*0x1731));}return decodeURIComponent(m);};a0B['OTHgYB']=e,a0B['GLPjEJ']={},a0B['VZQpkV']=!![];}const f=c[-0x1e00+0x1856+-0x1*-0x5aa],g=a+f,h=a0B['GLPjEJ'][g];return!h?(d=a0B['OTHgYB'](d),a0B['GLPjEJ'][g]=d):d=h,d;}function M(){const b3=a0B,z=a0W();return z[b3(0x1d1)]&&z[b3(0x344)]?new a0V(z[b3(0x1d1)],z['token']):(a0aa('Not\x20connected.\x20Run:\x20join\x20<url>'),null);}function O(){const b4=a0B,z=a0a1();z&&(new Date()<z?a0af('Time\x20Remaining',a0L[b4(0x268)]['bold'](a0ah(z))):a0af(b4(0xc6),a0L[b4(0x255)][b4(0x219)]('EXPIRED')));}function j(z,B){const b5=a0B;return Array[b5(0x3d3)](z[b5(0x39c)])&&z[b5(0x39c)][b5(0x309)](B);}function D(z,B){const b6=a0B,F=Array['isArray'](z[b6(0x39c)])?[...z[b6(0x39c)]]:[],G=F[b6(0x346)](B);return G>=0x1fad+0x1ceb+-0x3c98?(F[b6(0x245)](G,-0x89a+-0x3*-0xa07+-0x157a),z[b6(0x39c)]=F,a0Z(z),!(-0x4f*-0x77+-0x1db+-0x22dd)):(F['push'](B),F[b6(0x26b)]((H,J)=>H-J),z[b6(0x39c)]=F,a0Z(z),!(0x3ce*-0x1+0x201*0x1+0x1cd));}function R(B){const b7=a0B,F={};return F[b7(0x27f)]=B[b7(0xe5)]||-0x1ae*0x7+0x23b*0xd+0x3*-0x5bf,F[b7(0x1f3)]=B[b7(0x3b9)]||0xc1+-0xec*-0x4+-0x45d,F['perQ']=B[b7(0x232)]||{},F[b7(0x29a)]=B[b7(0x2a4)]||{},F;}function U(z,B){const b8=a0B,F=a0Y(),G=Number(F?.[b8(0x129)][b8(0x110)]||-0x17c7*0x1+-0x49*-0x5c+-0x257),H=Object[b8(0x2eb)](F?.[b8(0x186)]||{})['length'],J=R(F),K=J['eliminated'][z[b8(0x299)]]||[],L=b8(0x267)===z[b8(0x22d)]||b8(0x394)===z[b8(0x22d)]||'vla'===z[b8(0x22d)]||z[b8(0x1a0)]&&!z[b8(0x1a0)]['A']&&!z[b8(0x1a0)]['B'];F&&function(Y,Z){const b9=b8;if('demo-free'===Y['session'][b9(0x278)])return;const a0=new Set(Y['shownWarnings']||[]),a1=Number(Y[b9(0x129)][b9(0x110)]||0x97d+0x3*-0x1d+-0x8fe),a2=a0a1();if(0x193e+-0x1ab5*0x1+0x181*0x1===Z&&a1>=-0x8a7+-0x126d+0x1b3c&&!a0[b9(0x380)](b9(0x1a4))){const a3=a2?Math['max'](-0x8*0x3f5+-0x1a70+-0x23c*-0x1a,Math[b9(0x2f3)]((a2[b9(0x3c9)]()-Date['now']())/(0x30c7+0x55*-0x544+0x2792d))):null;console[b9(0x354)](),console[b9(0x354)](a0L[b9(0x27c)](b9(0x2fd))),console['log'](a0L[b9(0x15b)](b9(0x347))+a0L[b9(0x27c)](b9(0x16a))),null!==a3&&console[b9(0x354)](a0L[b9(0x27c)](b9(0x34c)+a3+b9(0x275))),console[b9(0x354)](a0L['gray'](b9(0x2fd))),a0[b9(0x1ed)](b9(0x1a4)),Y['shownWarnings']=Array[b9(0x3cb)](a0),a0Z(Y);}if(-0x137d+0x1*-0xe09+0x4*0x869===Z&&a1>=-0x1c7e+0x22b1+0x11*-0x5b&&!a0[b9(0x380)]('p30')){Object[b9(0x2eb)](Y['answers']||{})[b9(0xac)];const a4=Object['keys'](Y[b9(0x186)]||{})[b9(0x30b)](a5=>Number(a5)<=-0x1457+0xb36+-0x3*-0x315)[b9(0xac)];console[b9(0x354)](),console[b9(0x354)](a0L[b9(0x386)](b9(0xb1))),console[b9(0x354)](a0L['bold']['green'](b9(0x1c1))),console[b9(0x354)](a0L[b9(0x27c)]('\x20\x20\x20\x20\x20'+a4+b9(0x2ec))),console[b9(0x354)](a0L[b9(0x283)]('\x20\x20↓\x20\x20Practical\x20section\x20begins\x20at\x20Q31.')),console[b9(0x354)](a0L[b9(0x27c)](b9(0x29b))),console[b9(0x354)](a0L[b9(0x386)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),a0[b9(0x1ed)]('p30'),Y['shownWarnings']=Array[b9(0x3cb)](a0),a0Z(Y);}}(F,z[b8(0x299)]),F&&L&&function(Y,Z){const ba=b8;if(ba(0x277)===Y[ba(0x129)][ba(0x278)])return;if(Number(Y[ba(0x129)][ba(0x110)]||-0x3b5*0x5+-0xd*0x2f9+-0x29*-0x166)<-0x1*-0x869+-0x7ef*0x4+0x1*0x177b)return;const a0=new Set(Y[ba(0x296)]||[]);Z>=0x1*0x145d+-0x1632*0x1+0x1f4&&Z<=0x1*-0x1c9+-0x185a+0x1a49*0x1&&!a0[ba(0x380)](ba(0x23c))?(console[ba(0x354)](),console[ba(0x354)](a0L[ba(0x386)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x354)](a0L[ba(0x219)][ba(0x386)]('\x20\x20\x20🚀\x20\x20Section\x202:\x20AI4CTF\x20—\x20AI\x20is\x20your\x20teammate')),console['log'](a0L['green']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),console[ba(0x354)](a0L[ba(0x283)](ba(0x1e4))),console[ba(0x354)](a0L[ba(0x283)](ba(0x1b9))),console[ba(0x354)](),console[ba(0x354)](a0L['bold'][ba(0x283)](ba(0x2a1))),console[ba(0x354)](a0L[ba(0x27c)](ba(0x39b))+a0L[ba(0x219)]('with')+a0L[ba(0x27c)](ba(0x2c2))),console[ba(0x354)](),console[ba(0x354)](a0L['bold'][ba(0x283)](ba(0x38a))),console['log'](a0L['gray'](ba(0x14c))+a0L[ba(0x219)][ba(0x386)](ba(0x267))+a0L[ba(0x27c)]('\x20→\x20')+a0L['magenta'](ba(0x33a))+a0L[ba(0x27c)](ba(0x149))),console[ba(0x354)](a0L[ba(0x27c)](ba(0x384))+a0L[ba(0x15b)](ba(0x2fa))+a0L[ba(0x27c)]('\x20·\x20')+a0L[ba(0x15b)]('submit\x20ICOA{...}')+a0L[ba(0x27c)](ba(0x131))+a0L[ba(0x15b)](ba(0x265))),console[ba(0x354)](a0L[ba(0x27c)](ba(0x3bd))),console[ba(0x354)](a0L[ba(0x27c)]('\x20\x20\x20\x20\x20Exit\x20chat:\x20\x20\x20\x20\x20\x20')+a0L[ba(0x15b)](ba(0x378))+a0L[ba(0x27c)](ba(0x252))+a0L[ba(0x15b)](ba(0x3a8))),console['log'](),console[ba(0x354)](a0L[ba(0x219)]['white'](ba(0x1ab))),console[ba(0x354)](a0L['gray'](ba(0x29d))+a0L['white'](ba(0x3a6))+a0L[ba(0x27c)]('\x20for\x20this\x20section')),console[ba(0x354)](a0L[ba(0x27c)](ba(0x23b))+a0L['white'](ba(0x17e))),console[ba(0x354)](),console[ba(0x354)](a0L[ba(0x268)]('\x20\x20\x20Time\x20still\x20counting\x20down.\x20Budget\x20~2\x20min\x20per\x20question.')),console[ba(0x354)](a0L['green'](ba(0x388))),console[ba(0x354)](),a0[ba(0x1ed)](ba(0x23c)),Y[ba(0x296)]=Array[ba(0x3cb)](a0),a0Z(Y)):Z>=0x7c5+0xd02+-0x14a0&&!a0[ba(0x380)](ba(0x276))&&(console[ba(0x354)](),console[ba(0x354)](a0L[ba(0x255)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](a0L['bold']['red'](ba(0x316))),console['log'](a0L['red'](ba(0x388))),console['log'](),console[ba(0x354)](a0L[ba(0x283)]('\x20\x20\x20The\x20final\x20section\x20flips\x20the\x20script:\x20instead\x20of')),console[ba(0x354)](a0L[ba(0x283)](ba(0xf2))+a0L['bold'](ba(0x31f))+a0L[ba(0x283)](ba(0x151))),console[ba(0x354)](),console[ba(0x354)](a0L[ba(0x219)][ba(0x283)]('\x20\x20\x20Q39–40\x20(2\x20questions\x20·\x2016\x20pts\x20each\x20—\x20highest\x20value!)')),console['log'](a0L['gray'](ba(0x2dc))),console['log'](),console[ba(0x354)](a0L['bold']['white']('\x20\x20\x20How\x20to\x20attack')),console[ba(0x354)](a0L[ba(0x27c)](ba(0x14c))+a0L[ba(0x219)][ba(0x255)]('ctf4ai')+a0L['gray'](ba(0x2bf))+a0L[ba(0x255)](ba(0x350))+a0L[ba(0x27c)](ba(0x165))),console['log'](a0L['gray'](ba(0x384))+a0L['cyan'](ba(0x2fa))+a0L['gray'](ba(0x131))+a0L[ba(0x15b)]('submit\x20ICOA{...}')+a0L[ba(0x27c)](ba(0x131))+a0L[ba(0x15b)](ba(0x265))),console['log'](a0L[ba(0x27c)](ba(0x307))),console['log'](),console[ba(0x354)](a0L[ba(0x219)]['white'](ba(0x22c))),console['log'](a0L['gray']('\x20\x20\x20\x20\x20·\x20AI\x20is\x20your\x20')+a0L[ba(0x255)](ba(0x362))+a0L[ba(0x27c)](ba(0x2c5))),console[ba(0x354)](a0L['gray'](ba(0x1ce))+a0L[ba(0x283)](ba(0x10c))+a0L[ba(0x27c)](ba(0xfe))),console[ba(0x354)](),console['log'](a0L[ba(0x268)](ba(0x269))),console[ba(0x354)](a0L[ba(0x268)](ba(0x206))),console['log'](a0L['red'](ba(0x388))),console[ba(0x354)](),a0[ba(0x1ed)](ba(0x276)),Y[ba(0x296)]=Array[ba(0x3cb)](a0),a0Z(Y));}(F,z[b8(0x299)]),F&&function(Y){const bb=b8,Z=a0a1();if(!Z)return;const a0=Z[bb(0x3c9)]()-Date[bb(0x310)]();if(a0<=0x1e8f+-0x1*-0x17b9+-0x24*0x182)return;const a1=a0/(-0x135b8+0x2*0x8a41+0xe*0x131d),a2=new Set(Y[bb(0x296)]||[]);let a3=null;if(a1<=-0x896+-0x54b+0xde2&&!a2['has']('t1')?a3={'key':'t1','text':[a0L[bb(0x255)][bb(0x219)](bb(0xd8)),a0L[bb(0x255)](bb(0x15e))+a0L['bold']('exam\x20submit')]}:a1<=0x1077*-0x1+0xd*-0x41+0x13c9&&!a2[bb(0x380)]('t5')?a3={'key':'t5','text':[a0L[bb(0x255)][bb(0x219)](bb(0x3c8)),a0L[bb(0x268)]('\x20\x20Wrap\x20up\x20and\x20submit:\x20')+a0L[bb(0x219)](bb(0x184))]}:a1<=-0x1*-0x18c7+-0x3c9*-0x9+0x4e*-0xc1&&!a2['has'](bb(0xa9))&&(a3={'key':bb(0xa9),'text':[a0L[bb(0x268)][bb(0x219)](bb(0x2f5)),a0L[bb(0x27c)](bb(0x14f))+a0L[bb(0x283)]('exam\x20review')]}),a3){console[bb(0x354)](),console[bb(0x354)](a0L[bb(0x255)](bb(0xb1)));for(const a4 of a3['text'])console['log'](a4);console[bb(0x354)](a0L[bb(0x255)](bb(0xb1))),a2[bb(0x1ed)](a3['key']),Y[bb(0x296)]=Array[bb(0x3cb)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const bc=b8,a1=Math[bc(0x2f3)](Y/Z*(0xcef+-0x2*0xa4e+0x7cb)),a2=0x226e+0x31b+-0x256b*0x1-a1,a3=a0L[bc(0x15b)]('━'['repeat'](a1))+a0L['gray']('─'['repeat'](a2)),a4=Math[bc(0x2f3)](Y/Z*(-0x2640+0xbe*0x2f+0x3c2));console['log'](),console[bc(0x354)]('\x20\x20'+a3+'\x20\x20'+a0L['white']['bold'](''+Y)+a0L[bc(0x27c)]('/'+Z)+'\x20\x20'+a0L[bc(0x27c)]('('+a0+bc(0x1aa))+'\x20\x20'+a0L['gray'](a4+'%'));const a5=a0a1();if(a5){const a6=Math[bc(0x1f3)](-0x9*0x107+0x5e0*0x2+-0x281,Math['round']((a5[bc(0x3c9)]()-Date['now']())/(0x102*0xd+0x219d+0xd*-0x34b))),a7=Math[bc(0x326)](a6/(0x2*0x115d+-0xd*-0x103+-0x2fa5))+':'+String(a6%(-0x14a5+0x11d1*0x2+-0x3*0x4eb))[bc(0xfb)](0x108b+-0x1129*0x1+0xa0,'0'),a8=a6<=0x43a+-0x952*0x2+0xea6?a0L[bc(0x255)][bc(0x219)]:a6<=0x934*0x3+-0x1a0c+0x1*-0x64?a0L['red']:a6<=-0x4*0x81e+-0x1608+0x8*0x71b?a0L[bc(0x268)]:a0L[bc(0x27c)];console[bc(0x354)]('\x20\x20'+a0L[bc(0x27c)](bc(0x36a))+'\x20'+a8(a7)+'\x20'+a0L['gray']('(server-authoritative)'));}}(z[b8(0x299)],G,H),F&&j(F,z[b8(0x299)])&&console[b8(0x354)](a0L[b8(0x268)](b8(0x1be)));const Q=function(Y,Z){const bd=b8,a0={};a0[bd(0x399)]=0.2,a0[bd(0x3a9)]='🏛️',a0[bd(0x2bc)]=bd(0x21d);const a1={};a1['pct']=0.33,a1['emoji']='🐨',a1[bd(0x2bc)]=bd(0xcf);const a2={};a2[bd(0x399)]=0.5,a2[bd(0x3a9)]='🌉',a2['key']=bd(0x2d0);const a3={};a3[bd(0x399)]=0.6,a3[bd(0x3a9)]='🦘',a3[bd(0x2bc)]=bd(0x19e);const a4={};a4[bd(0x399)]=0.8,a4[bd(0x3a9)]=bd(0x3ba),a4[bd(0x2bc)]=bd(0x31c);const a5={};a5[bd(0x399)]=0.87,a5[bd(0x3a9)]='🦈',a5[bd(0x2bc)]=bd(0xc4);const a6={};a6[bd(0x399)]=0x1,a6[bd(0x3a9)]='🎉',a6[bd(0x2bc)]=bd(0xe4);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[bd(0x2f3)](a9[bd(0x399)]*Z);if(!(aa<0x24a6*-0x1+0x1831+0xc76||a8[bd(0x380)](aa))&&(a8['add'](aa),Y===aa))return{'emoji':a9[bd(0x3a9)],'text':a0ai(a9[bd(0x2bc)])};}}(z[b8(0x299)],G);if(Q&&console[b8(0x354)](a0L[b8(0x268)]('\x20\x20'+Q['emoji']+'\x20\x20'+Q[b8(0x2ce)])),console[b8(0x354)](),z['category']&&console[b8(0x354)](a0L[b8(0x15b)](b8(0x2e8)+z[b8(0x338)]+']')),z['points']&&z[b8(0x130)]>0x4f*0x2f+-0x1*-0x98f+0xc07*-0x2&&console[b8(0x354)](a0L[b8(0x15b)](b8(0x2e8)+z[b8(0x130)]+b8(0x193))),L){let Y=z[b8(0x128)]||z['text'];const Z=a0a2(z[b8(0x299)],z[b8(0x167)]);if(z[b8(0x167)]){const a1=/\([^()]*attachedData[^()]*\)/;a1['test'](Y)?Y=Y[b8(0xf7)](a1,z[b8(0x167)]):Y[b8(0x309)](z[b8(0x167)])||(Y=Y+b8(0xd0)+z[b8(0x167)]);}console[b8(0x354)](a0L[b8(0x219)][b8(0x283)](b8(0xf0)+z[b8(0x299)]+'.\x20')+a0L['white'](Y[b8(0xc9)]('\x0a')[0x37*-0x6e+0x1566+0x23c]));const a0=Y[b8(0xc9)]('\x0a')[b8(0x13f)](0x11d*0xe+0x15be+-0x2553);for(const a2 of a0)console[b8(0x354)](a0L[b8(0x283)]('\x20\x20'+a2));if(console['log'](),Z&&b8(0x267)===z[b8(0x22d)]){const a3=Z['replace'](process.env.HOME||'','~');console[b8(0x354)](a0L['cyan']('\x20\x20'+a0ai('examWaysToSolve')+'\x20')+a0L['gray']('('+a0ai(b8(0x1fc))+'\x20'+a3+'):')),console['log'](a0L['white'](b8(0x37a))+a0L[b8(0x268)](b8(0x23d)+a3)[b8(0x153)](0x14b*0x7+0x1499+-0x1d72)+a0L[b8(0x27c)]('\x20'+a0ai('examWaysShell'))),console[b8(0x354)](a0L[b8(0x283)]('\x20\x20\x20\x20②\x20')+a0L[b8(0x268)](b8(0xfd))[b8(0x153)](-0x1*0xf6e+0x3e8*-0x3+-0xda3*-0x2)+a0L[b8(0x27c)]('\x20'+a0ai('examWaysPythonRepl'))),console['log'](a0L[b8(0x283)]('\x20\x20\x20\x20③\x20')+a0L[b8(0x268)](b8(0xec))+a0L[b8(0x27c)]('\x20\x20→\x20\x20')+a0L['yellow'](b8(0x3b1))),console[b8(0x354)](a0L[b8(0x283)]('\x20\x20\x20\x20④\x20')+a0L[b8(0x268)](b8(0x1c7))[b8(0x153)](0xa*0x22d+-0x1267+-0x33b)+a0L['gray']('\x20'+a0ai(b8(0x2b1)))),console[b8(0x354)](a0L[b8(0x283)](b8(0x2b3))+a0L[b8(0x268)](b8(0x267))['padEnd'](0x3af*-0x8+0x120e+-0x7*-0x1a6)+a0L[b8(0x27c)]('\x20'+a0ai(b8(0x2cb)))),console[b8(0x354)](),console[b8(0x354)](a0L['gray']('\x20\x20'+a0ai(b8(0x2d5))+'\x20')+a0L[b8(0x219)]['green']('submit\x20ICOA{your_flag}')),console[b8(0x354)]();}B&&(console[b8(0x354)](a0L['green'](b8(0x222)+B)),console[b8(0x354)]());}else{console[b8(0x354)](a0L['bold']['white']('\x20\x20Q'+z[b8(0x299)]+'.\x20')+a0L[b8(0x283)](z[b8(0x2ce)])),console[b8(0x354)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K['includes'](a4)?console['log'](a0L['gray']['strikethrough'](b8(0x1cf)+a4+'.\x20'+z[b8(0x1a0)][a4])+a0L[b8(0x255)]('\x20('+a0ai(b8(0x264))+')')):a5?console[b8(0x354)](a0L[b8(0x386)][b8(0x219)]('\x20\x20▸\x20'+a4+'.\x20'+z['options'][a4])):console[b8(0x354)](a0L[b8(0x27c)](b8(0x1cf)+a4+'.')+'\x20'+a0L[b8(0x283)](z[b8(0x1a0)][a4]));}console[b8(0x354)]();}const V=b8(0x277)===F?.[b8(0x129)][b8(0x278)],W=J[b8(0x156)][0x16+0x17c9*0x1+-0x17dd*0x1]||-0x1276+-0x69b*-0x5+0x1*-0xe91;V&&-0x17b0+0x143e+0x374===z[b8(0x299)]&&-0xb*-0x376+0x1b1c+-0x2097*0x2===W&&(console[b8(0x354)](a0L[b8(0x268)][b8(0x219)]('\x20\x20'+a0ai('qTutorial'))),console[b8(0x354)]());const X=J[b8(0x1f3)]-J['used'];if(console[b8(0x354)](a0L[b8(0x27c)](b8(0x315))),L){const a6=F&&b8(0x277)!==F[b8(0x129)][b8(0x278)]&&z[b8(0x299)]>=0x2632+-0x1*-0x26a9+-0x4cb4&&z[b8(0x299)]<=0x2e*0xbf+-0x22a+0x20*-0x100,a7=F&&b8(0x277)!==F[b8(0x129)][b8(0x278)]&&z[b8(0x299)]>=0xa78+-0x345+0x1*-0x714&&z[b8(0x299)]<=0xd81*0x1+0xbc0*0x2+-0x75f*0x5;b8(0x1d7)===z['type']?console[b8(0x354)](a0L[b8(0x219)]['cyan'](b8(0x1f4))+a0L[b8(0x27c)](b8(0x381))):a7?console['log'](a0L['bold'][b8(0x386)](b8(0x3b7))+a0L['gray'](b8(0x295))):a6&&console['log'](a0L[b8(0x219)]['red'](b8(0x10a))+a0L['gray'](b8(0x234))),console[b8(0x354)](a0L['yellow'](b8(0x13b))+a0L['gray']('\x20\x20submit\x20flag\x20directly')),console[b8(0x354)](a0L[b8(0x268)](b8(0x337))+a0L[b8(0x27c)](b8(0x36b)));}else{const a8=J[b8(0x1f3)]>=-0x1d6c+-0x3*0x837+0x362f,a9=X>0x1fe0+0x24d9*-0x1+-0x1*-0x4f9?a0L[b8(0x27c)](a0ai(b8(0x191))+'\x20')+a0L[b8(0x268)]('('+X+'/'+J[b8(0x1f3)]+')'):a8?a0L[b8(0x27c)](a0ai(b8(0x1f2))+'\x20('+J[b8(0x27f)]+'/'+J[b8(0x1f3)]+')'):a0L[b8(0x27c)](''+a0ai(b8(0xe6)));console[b8(0x354)](a0L[b8(0x268)](b8(0x224))+a0L[b8(0x27c)](b8(0x28a)+a0ai(b8(0x2da)))),console['log'](a0L['yellow']('\x20\x20\x20\x20help')+b8(0x104)+a9);}console[b8(0x354)](a0L[b8(0x268)](b8(0x357))+a0L['gray'](b8(0x331))+a0L['yellow']('prev')+a0L[b8(0x27c)]('\x20\x20\x20\x20'+a0ai(b8(0x236)))),console['log'](a0L['yellow'](b8(0x37b)+G)+a0L[b8(0x27c)](b8(0x19f)+a0ai('htpJump'))),console['log'](a0L[b8(0x268)](b8(0x11c))+a0L[b8(0x27c)](b8(0x104)+a0ai('htpMark'))),console['log'](a0L[b8(0x268)](b8(0x125))+a0L[b8(0x27c)](b8(0x19f)+a0ai('htpReview'))),console['log'](a0L[b8(0x219)][b8(0x268)](b8(0x3aa))+a0L[b8(0x27c)](b8(0x19f)+a0ai('htpSubmit'))),console['log'](a0L[b8(0x268)](b8(0x154))+a0L[b8(0x27c)](b8(0x104)+a0ai('htpBack'))),console[b8(0x354)](a0L[b8(0x268)]('\x20\x20\x20\x20lang')+a0L[b8(0x27c)](b8(0x104)+a0ai(b8(0x365)))),console[b8(0x354)](a0L[b8(0x27c)]('\x20\x20─────────────────────────────────────────'));}function a0z(){const bP=['icbB','icHJB21WBgv4ihnVBhv0Aw9UCYK','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','A2v5CW','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','Axnoyu4','icbpCIb0ExbLia','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','vwj1BNr1ia','u29SAwqGCgLJAY4','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','CM91BMq','AgLUDa','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','CxvPDa','khbYzxnZigfUEsbRzxKGDg8GC2TPCcK','AgLUDcbHic8GyIaVigm','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','icbbBNn3zxjZigfYzsa','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','C3vIBwL0DgvK','icaGifb5DgHVBJOG','sw4GuhjVz3jLC3m6ia','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','icdIMiuG','CMvXDwvZDhm','BM9KztPMCW','zgf0yq','vxPIzwTPC3rHBG','icaGicbnzxnZywDLCYdIHPiGquKGDgfYz2v0iokaLcbJCMfMDcbWCM9TChrZihrVigjYzwfRigL0CYbYDwXLCY4','BgfUzYa8y29Kzt4','Aw5JBhvKzxm','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','zMLSDgvY','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','CgLSBg93','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','icbjBNn0ywXSAw5Nia','BM93','igzHAwXLzdOG','igf0igfUEsb0Aw1LlG','AwnVyt4','zw50CMLLCW','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','u3rYB25NzxiGAgvYztOGia','zxHHBsbYzxnLDa','icaGievprG','ChL0Ag9UmY4Xma','zwDNmte','zxHHBsbHBNn3zxiG','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','yxr0ywnRAw5N','BwfW','DgvZDa','xsaG','icaGkhjLC3vTzsbMCM9TifeXkq','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','rhvYyxrPB24','zMXVB3i','icaGicbuB2TLBJOG','ywK0y3rMu3vI','l3n1yM1PDa','icaGihn1zg8Gyxb0ihvWzgf0zq','icbbC3nPC3rHBMnLoG','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','B3v0Chv0','CMvTB3zLtgLZDgvUzxi','CgvYzMvJDfnJB3jL','zgvTB0LUDhjVu2vLBG','ic8G','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','BwfJt1m','uxvLC3rPB24G','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','icaGicfWExrOB24Z','y2f0zwDVCNK','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','ywK0y3rMpG','icdINjCG','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','y29TBwfUza','ihbVAw50CYaOntaLkq','zxHHBsbXide','ihbHy2THz2vZigLUC3rHBgXLzc4','Bsb0B3rHBa','icdWN5kHifrYEsb0ExbPBMCG','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','Dg9Rzw4','zxHHBsa8Dg9Rzw4+','Aw5KzxHpzG','icdIJ7eGifrPBwuGy2HLy2SGia','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','wYbD','icbizwXWihvZzwq6ia','rMXHz2DLzcbMB3iGCMv2Awv3','icaGica','icaGideUifr5CguG','AhrWqMfJAW','C3rHCNrfEgfT','y3rMngfPpG','lI4VBgLIl2nVBMzPzY5QCW','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','Bg9N','rgvTBYbJB21WBgv0zwqGka','q2HLy2SGEw91CIb0B2TLBIbVCIbJB250ywn0ihLVDxiGChjVy3rVCI4','icaGig5LEhq','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','vg90ywW','q29TCgXLDguH','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','Aw5ZDgfSBgvKugfJA2fNzxm','DgfYz2v0','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','iokaLcbZzwuGzNvSBcbLCNjVCG','AhrWtgfUzW','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','icbbC3nPC3rHBMnLihvZzwq','4O+XifrPBwuGCMvTywLUAw5NoG','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','BgLZDcbBy291BNrYEv0','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','iefjnenurG','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','icbezxrLy3rLzdOG','uxvLC3rPB25Z','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','qNvYDw5KAq','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','zxHPDa','icHr','icaGiokrOca','icaGigv4yw0GCsaXlI4','AwDUB3jL','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','icaGicbLEgfTigXPC3qGueu','AgfZ','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','igjVBNvZihvZzxmP','icaGicbjBNnPzguGy2HHDdOGicaG','icbfEgfToIaGica','z3jLzw4','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','icaGsg93ihrVihDVCMS','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','mZm4mtqWC2PmC09A','y2XLyxi','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','ihnRAxbWzwq','zgvHzgXPBMvtzxj2zxjnCW','BMv3','igzSywDNzwqGzM9YihjLDMLLDY4','tM8GzxHHBsbPBIbWCM9NCMvZCY4','y3rMngfP','x2XHC3rr','Aw5JB3jYzwn0sw50CM8','CgvYy2vUDgfNzq','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','Cgn0','icbxAgf0ig5LEhq','icaGicbtB2X2zsa','yM9VA21HCMTZ','C3vJy2vLza','yMvZDa','qw5ZD2vYzwq6ica','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','ihvUzMXHz2DLzc4','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','mZvyvvnSALi','igfUC3DLCMvKiokaLcbHy2nPzgvUDgfSihn1yM1PDcbNDwfYza','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','mJuSmdaW','r0vu','BMv4DcaVihbYzxy','zw1VAMK','icaGigv4yw0GC3vIBwL0','Bwf0y2G','C3vIBwL0rxHHBq','l2fWAs9Py29Hl2v4yw1ZlW','zxHHBsbUyxrPB25Z','ica+ia','B25Jzq','ixb5DgHVBJmGC29SDMuUChK','ChjVBxb0','AwnVyq','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','icbozwvKig1VCMu/ifr5Cgu6ia','icaGicHHAtrJDgyP','icaGigfPngn0zG','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','x2HLBhbnyxG','8j+pLU+4JW','icaOC2vLihDOAwnOihf1zxn0Aw9UCYbHCMuGyMXHBMSP','qw5ZD2vYzwq','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','zxHHBsbTB3jLlwHLBha','C3rKAw4','icbVCIaG','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','ihDHCYbUB3qGzMXHz2DLzc4','zxHHBsbYzxzPzxC','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','u3vIBwL0DgvK','ChDU','rxHHy3rSEs4','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','z2v0vgLTzq','DgLTzw91Da','zNjVBq','Ew91CKfUC3DLCG','Dg9mB3DLCKnHC2u','icaOuMv0CNKGD3jVBMCGB25SEsK','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','Dg9ju09tDhjPBMC','BMfTzq','AxnbCNjHEq','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','ugHPBgLWCgLUzxm','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','q2HPBMe','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','icaGiezHAwXLzdOG','vgHHAwXHBMq','icHxu0WYkq','vxnLCI1bz2vUDa','icaGienVBxbSzxrLzdOG','ywK0y3rMrgvZyW','DdeW','icaGiokgKIa','icbdDxjYzw50BhKGzMXHz2DLzdOG','BgvUz3rO','icdcTYaG','ChjLDG','t3rOzxi','icbzB3vYihj1BG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','zxHHBsb1BM1HCMSG','icbqyxnZihrOCMvZAg9SzcbPCYb0ExbPy2fSBhKGntaLiokaLca','CgXHDgzVCM0','vgLTzsbszw1HAw5PBMC','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','icbjzIb5B3uGCMvHBgX5ihDHBNqGDg8GC3vIBwL0ihDPDgGGANvZDca','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','tgfVCW','r3jHzgLUzY4UlG','yw5ZD2vYzwq','BM9KztPJAgLSzf9WCM9JzxnZ','vgLTzsb1C2vKoIa','sw5KAwe','CMvZzxq','D2LUmZi','zxHHBsbUzxH0','C2v0uMf3tw9Kzq','zwDNmtm','DM9SyxrPBgL0Etm','vgLTzq','wYbDica','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','C3bSAxq','icaGicaGicaOBM93lcb+nsbTAw4P','icdIL4SG','uhjLCgfYAw5NlI4U','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','zwDNnq','cGPgDwXSigf0DgfJAgvKigrHDge6cG','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','C3rKAw8','vw5HBNn3zxjLza','q291BNrYEq','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','zxHHBsbZDwjTAxqG','ywLvC2fNzq','Aw5WDxq','rNjHBMnL','icbuBYbNBYbIywnRoIaG','icbuAw1LoIaGica','ue9tva','ihf1zxn0Aw9UCY4','Dg90ywW','ic1TihbPCcaTlxzLCNnPB24','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','zwDNmtu','x2HLBhbvC2vK','AgvSCfvZzwrvCa','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','BNvTChK','mZLxquTSAuS','CMvWzwf0','icdIL48G','ixzPihnVBhzLlNb5','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','zxHHBsbZzxr1Ca','zMfPBa','icbr','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','icaGDxnPBMCGquKSihLVDsDYzsa','Dg90ywXty29Yzq','C29Tzq','drTBmKSGia','ihrVigXLyxzLigLJB2e','CMvWBgfJzq','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','tM8GDgLTzsbSAw1PDa','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','CgfKu3rHCNq','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','ixb5DgHVBJm','ihnOyxjLzcbHy3jVC3mGutm54Octnda','icaGifbHy2THz2vZoIa','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','AhrWtw9YzuHLBha','icaGicaGicaGia','rwD5Chq','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','ChL0Ag9UmW','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','twfJyxu','icaGign0zJrHAq','zhvYyxrPB25nAw51DgvZ','mJuSmdaWihrVA2vUCW','uMvZDwX0igXVywrLza','C3rKzxjY','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','CxvLC3rPB25dB3vUDa','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','y29UzMLYBq','qMfUz2XHzgvZAa','CMfUzg9T','vMLLDYbLEgfTihjLC3vSDa','mtC4odaXohfQvK5dqG','BwLU','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','icaGig1HCMS','z2v0uMvZDwX0','ChLJCNLWDg9KB21L','icdINjmGCgLWigf2ywLSywjSzq','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','zxHHBsbSAxn0ia','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','zxHHBsbXia','icaGigv4yw0GCMv2Awv3','Dg9vChbLCKnHC2u','ihbHy2THz2vZlI4U','zgvZy3jPChrPB24','C2vZC2LVBG','u3bVDcbVBI4','icbSyw5NigvZicHfC3bHW7fVBcKGWRCGBgfUzYb6AcaO5lIT5PAhksdcTYbSyw5NigTVicJTLzZQTA3SLRqPimk3igXHBMCGAMeGkoAxPEACRoIQNIK','yNjLDW','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','Cg9PBNrZ','imk3ia','icdIMQaGie9UBhKG','ntu1mZy1Aw9sBuLA','icbuBYbJB25MAxjToIaG','rxHHBsaI','y29TCgXLDgu','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','igLUC3rHBgXLza','BM9KztPYzwfKBgLUzq','tg9HzgLUzYbLEgfTCY4UlG','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','y29YCMvJDa','CgLWzq','ChvZAa','C2XPy2u','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','zxHHBsbOzwXW','ic1TihbPCcbPBNn0ywXSici','icbbBgWGAgvSCcb1C2vKicG','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','icbuB2TLBJOGica','zgvTBY1YzxrYEq','icbfEgfTCgXLoIa','z2v0rxHHBxm','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','icaGicbfBNrLCIbJAgf0oIaGicaG','zMfPBgvKugfJA2fNzxm','zxHHBq','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','BMv4Da','iefjihn5C3rLBxmU','D2HPy2G','CgfKrw5K','icaGigjHy2S','igrLDgvJDgvK','CgvYuq','Bw9Yzs1OzwXW','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','Dg9Rzw4GpgnVzgu+','z3jHzgLUzW','y3LHBG','AgvSCf91C2vK','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','icbtDwjTAxqGBM93ihDPDgG6ia','qM90C3DHBMe','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','igzPCNn0lG','y291BNrYEq','ANnVBG','sMfWyw4','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','C2nVCMu','yxr0ywnOzwreyxrH','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','qxzHAwXHyMXLiev4yw1ZicG','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','AxnuvfK','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','C3rYAw5NAwz5','C3vIC3rYAw5N','mZi4nta0wg5mveD2','zxHHBsbTyxjRia','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','y29TCgXLDgvKqxq','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','twfSyxLZAwe','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','AM9PBG','D3jPDgu','ic1JicjPBxbVCNqG','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','AgvSCa','icbzB3uGC3rPBgWGAgf2zsa','zgvTBY1LBNrLCG','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','zxHWBgfUyxrPB24','u291DgGGs29Yzwe','zxHHBsbZDwjTAxq','icbuBYbNBYbIywnRigfUzcbHBNn3zxiGBw9YztO','yw5ZD2vYCW','BgLUzq','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','y2XVC2u','mti2mZi0uvj5uuDP','qxvZDhjHBgLH','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','icdWN46bicS','icbszxj1BIb3AgvUigzPEgvKoIa','AgvSCfjLBw92zq','ig1PBG','ihbVAw50C10','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','icbsDwXLCZO','lI4VBgLIl21HAw4TCMWUANm','r2HHBMe','ig1PBIbYzw1HAw5PBMC','Bw9YzsbOzwXW','yxbWBgLJyxrPB24VANnVBG','tg9HzgLUzYbYzxn1BhqUlI4','CMvZDwX0ifTPzf0','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','zwDNoq','icaG','B3b0Aw9UCW','vgLTzw91DevYCM9Y','uhL0Ag9Uia','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','CdeW','q29UDgvUDc1uExbL','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','icbuBYbJB250Aw51zsb0AgLZigv4yw06','tMLJzsbVBMuU','igfUC3DLCMvKkq','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','BwvZC2fNzq','C3rKB3v0','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','y3j5ChrVz3jHCgH5','icbzB3vYigjLC3q6ia','CxvLC3rPB24','C2v0uhjVBxb0','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','BgLUDxG','u2H1zMzSAw5Nig9WDgLVBNmUlI4','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','icbuExbLia','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','u2f1zgKGqxjHyMLH','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','icaGicaGicHpCIbKB3DUBg9HzcbMCM9Tihb5DgHVBI5VCMCGyw5KienirunligjVDgGGiKfKzcbqExrOB24GDg8','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','EJmTC29SDMvY','yMvHDxrPzNvSC291Cdq','icdINjmGie1dusbZzwn0Aw9UignVBxbSzxrLiokaLcb3zwXSigrVBMuH','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','qNjHEMLS','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','lI4VBgLIl2rLBw8TzxHHBs5QCW','AhrWsgvSCa','CMvMihb5DgHVBG','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','zxHHBu5HBwu','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','u3rHCNrPBMCGDgLTzxiUlI4','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','icaGia','zxHHBsbZDwjTAxqGy29UzMLYBq','y3rMzfvYBa','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','iokCKYaGka','ihbVAw50CW','icaGiokaOIbuCNK6ia','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','DMXH','icdIMiyGuq','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','igLZihDLBgWGyMvSB3CU','BMv4DeXHyMvS','Aw50zxjHy3rPB25Z','icaGigv4yw0GBgLZDcbbvq','C2nHChK','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','rMXHz2DLzdOGica','icGR','CMvNzxG','icaGigHLBha','icaGv2vSy29Tzsb0BYb0AguGChjHy3rPy2fSienurIbZzwn0Aw9UlIbszwfS','y2f0y2G','quKGDg9Rzw5ZoIa','ig1PBNv0zxm','igf0DgvTChrZ','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','oYb0AgLZihbYzxzLBNrZigfJy2LKzw50CYK','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','ywrK','igfUC3DLCNmSihr5Cgu6','icbgzwrVCMeGlYbssevmoG','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','AgvSCefSBfvZzwq','Bwf4','icaGign0zJr2Bge','C3vIBwL0ifTJB25MAxjTqxjNxsbBC2vJB25KqxjNxq','tK9uifbbu1nfra','ls12zxjZAw9U','Cgf1C2u','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','zgvTBY1LEgfT','zxHHBvDHExntyxzLzfrV','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','u3vIBwL0igzHAwXLza','y29UzMLYBwvKqxq','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','icdINjmG','C3rHDhvZ','zw5JB2rPBMC','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','zxHHBsa','yMvZDfbLCMnLBNrHz2u','Ag93vg9qBgf5','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','ig5VDcbMB3vUzcaOms0','CsbBBL0','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','CgfZC2LUz1nJB3jL','C3rHCNq','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','uMv2Awv3oIa','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','zw5KC1DPDgG','vxbSB2fKAw5NigfUC3DLCNmUlI4','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','zxHHBsbKzw1VlxjLDhj5','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','yM9Sza','C3vIBwL0DgvKqxq','icbVzIa','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','zwDNmW','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','zgLT','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','icbzB3vYigfUC3DLCJOG','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','icaGieeVqI9dl0q','lI4VBgLIl2v4yw0TC3rHDguUANm','zgfYD2LU','CxvLC3rPB25Z','BwfYAYbBBL0','C3rVCa','Dg9tDhjPBMC','AwnVys1JBgK','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','DhLWzq','ienurJrbsq','zNvUy3rPB24','zxHHBsbZDgfYDca','cIaG','x2HLBhbqzxjr','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','igfUC3DLCNmU','AhrWtMf2','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','CgfZC2vK','vMfSAwrHDgLUzYb0B2TLBI4UlG','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','icaGicbiAw50CYbbl0iVqZOGicaG','C19HAtrJDgy','itXJBwq+ia','mtiXmde2sMPfsKry','uhjVz3jLC3m','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','ywn0Aw9U','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','lI4U','BgLZDgvUzxjZ','C3bSAwnL','ueLm','AhrWqw5ZD2vY','Dwj1BNr1','uK9qz2fKz2v0','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','yw5ZD2vYx2nOyw5Nzwq','ntrxwM5TywC','r2vYBwfUEq','Cg9ZDc1YzxbVCNqTCMv0CNK','icbqCMfJDgLJAw5Nia','icaGicbLEgfTigXPC3qGq04','zgvTBW','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','tMfTzq','CMvK','icbODhrWCZOVl2LJB2eYmdi2lMf1','sw52ywXPzcb0B2TLBG','zxHHBsbKzw1V','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','zxHHBsbWCMv2','qw5ZD2vYideWihf1AwnRihf1zxn0Aw9UCW','icdcTYblzwvWihnOyxjWzw5PBMC6ia','Dw5KzxjSAw5L','BwLZC2LUzW','icbbBNn3zxjZoIa','tg9HzgLUzYbXDwvZDgLVBNmUlI4','icaGid4+pIbLEgL0kcK','icbuCM91yMXLC2HVB3rPBMC6','uMvHzhKH','D3jVBMC','ixb5DgHVBJmGlI4U','y2XVy2TpzMzZzxrnCW','ywK0y3rM','EwvSBg93','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','C29YDa','DxrMltG','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','yMfJAW','icaGig1VCMuGAgvSCa','icdWN5kHie9WDgLVBIa','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','CgTN','igfUC3DLCMvK','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','C19JDgy0ywK','zgvTBY1MCMvL','zxHHBuLK','ifSGxsaG','icaOAgvSCca','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','z3jHEq','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','icbzB3uGD2LSBcbZDwjTAxqG','DxnLza','ugfZCW','AxnsyxC','uhL0Ag9UidmGBM90igzVDw5KlG','D2HPDgu','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','icbzB3uGy2fUihbHDxnLihDPDgGG','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','x3n1yM1PDenVBMzPCM1Lza','y2HHBMDLzcbMCM9Tia','icaGicaGia','icaGiokgKIbIj0HLBgXVjW','ihrVigfZAYbbssbMB3iGAgvSCdO','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','C3rHCNrLzef0','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','icbcEsbJyxrLz29YEq','icaGzMLUAxnOigfUzcbZDwjTAxq','icaGigXHBMC','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIb5B3vYignVDw50CNKGEwv0lG','ChDUDg9VBhm','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','C2HVD25xyxjUAw5NCW','icHXDwLJAYb0yxnRCYK','u291DgGGqwzYAwnH','BNvTyMvY','zwXPBwLUyxrLza','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','icdINjmGuhL0Ag9Uia','icaGicbbssb0B2TLBNm6icaGicaG','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','rMfPBgvKihrVigXVywqGCMvZDwX0','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','ihjLz2LVBNmP','x2vSAw1PBMf0zwq','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','ihvUyw5ZD2vYzwq6ia','zwXPBwLUyxrLzca','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','DhjPBq','icdIMiuGuq','icaGrwXHChnLzdOG','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','zMLUza','icbmyw5NDwfNztOG','zxHHBsbYzxn1BhqG','zxHHBvDHExnszwzqExrOB24','ywXS','icaGiokrPca','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','Dg9Vx29Sza','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','yxr0zw1WDhm','icaGicdILQmG','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','icaGigzYB20GChDUigLTCg9YDcb4B3i','A2v5','icbezw1VoIa','icbozxH0ihn0zxa6ia','iokgKIa','icdINjmGCgLWigLUC3rHBgXLza','mZy0mZHnBefSAhm','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','u3rHDhvZ','BgfUz3vHz2u','lcbUB3qGEw91CIb0zwfTBwf0zq','yw5ZD2vY','t24GDgHLig1VBMv5lG','icbtDgfYDgLUzYbLEgfTlI4U','l2HLBha','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','zxHHBvDHExnbAtrJDgy','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','icdIHPiG','Dgv4Da','igvSAw1PBMf0zwqH','zwDNnW','igf0DgvTChq','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','CMvZDw1L','rxHHBxmG4Ocuia','zxHHBvDHExngB3vUza','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','l2fUC3DLCG','icbtDgvWlwj5lxn0zxa6','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','yw5ZD2vYvgHPCW','ihLLDc4','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','icbnzxrOB2qGmtOGt25LlwXPBMvY','oJaW','quXm','y2vPBa','ChL0Ag9UmY4XmG','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','ugvYy2vUDgfNzq','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','iIaYpI9KzxyVBNvSBa','ihrVihnLzsb5B3vYihjLC3vSDhmH'];a0z=function(){return bP;};return a0z();}export function registerExamCommand(z){const be=a0B,B=z[be(0x33d)](be(0x14e))['description']('National\x20selection\x20exam');B[be(0x33d)]('nations')[be(0x128)]('View\x20all\x20participating\x20countries')[be(0x241)](()=>{const bf=be;a0a8(bf(0x3ae)),console[bf(0x354)](),a0ae(bf(0x336)),console['log']();const F=[['AU',bf(0x18c)],['BD',bf(0x116)],['BI',bf(0x375)],['BR',bf(0x1c3)],['BW',bf(0x15f)],['CN',bf(0x3d7)],['DE',bf(0x24d)],['EG',bf(0x105)],['FR',bf(0xdc)],['GH',bf(0x197)],['ID','Indonesia'],['IN',bf(0xbf)],['JP',bf(0x164)],['KR',bf(0x183)],['LA',bf(0xba)],['LK','Sri\x20Lanka'],['MM','Myanmar'],['MO',bf(0x109)],['MY',bf(0x175)],['NZ','New\x20Zealand'],['PE','Peru'],['PH',bf(0x3d5)],['RU','Russia'],['SA',bf(0x1ba)],['SG','Singapore'],['TH',bf(0xa4)],['TR','Turkey'],['UK','United\x20Kingdom'],['US','United\x20States'],['UZ',bf(0x306)],['VN','Vietnam'],['ZA',bf(0x298)]];for(let G=-0x2025+0x5cf*-0x5+0x3d30;G<F[bf(0xac)];G+=0x1916+-0x48*-0x83+-0x3deb){const H=F[bf(0x13f)](G,G+(0x21a9+-0x2599*-0x1+-0x473f))[bf(0x320)](([J,K])=>'\x20\x20'+a0L[bf(0x15b)](J)+'\x20\x20'+a0L['gray'](K[bf(0x153)](0x14e7*-0x1+0x1*-0x1682+-0x167*-0x1f)))[bf(0x177)]('');console[bf(0x354)](H);}console[bf(0x354)](),console[bf(0x354)](a0L['gray'](bf(0x1ae))),console[bf(0x354)](a0L[bf(0x27c)]('\x20\x20New\x20member?\x20Contact:\x20accreditation@icoa2026.au')),console[bf(0x354)](),console[bf(0x354)](a0L[bf(0x283)](bf(0x14b))),console['log'](a0L[bf(0x15b)](bf(0x1dd))+a0L[bf(0x27c)](bf(0x37f))+a0L[bf(0x27c)](bf(0x250))),console[bf(0x354)]();}),B[be(0x33d)](be(0x36c))[be(0x128)](be(0x3cf))[be(0x241)](async F=>{const bg=be;a0a8(bg(0x122)+(F||''));const G=M();if(!G)return;const H=a0ag(bg(0x13a));H[bg(0x210)]();try{let J=await G[bg(0x148)]();if(H[bg(0x229)](),F){const Q=F[bg(0x126)]();J=J[bg(0x30b)](V=>V[bg(0x162)][bg(0x126)]()===Q||bg(0x2df)===V[bg(0x162)]);}if(!J||0x1145+0x26dd*0x1+-0x3822===J['length']){console[bg(0x354)](),a0ac(F?bg(0x242)+F['toUpperCase']()+bg(0x2db):bg(0x293)),console['log'](),console['log'](a0L[bg(0x283)](bg(0x2cc))),console[bg(0x354)](a0L[bg(0x27c)](bg(0x352))),console[bg(0x354)](),console['log'](a0L[bg(0x27c)](bg(0x33c))+a0L[bg(0x219)][bg(0x15b)]('demo')),console[bg(0x354)]();const V={};V['PE']='es',V['CN']='zh',V['JP']='ja',V['KR']='ko',V['BR']='pt',V['SA']='ar',V['FR']='fr',V['DE']='de',V['IN']='hi',V['ID']='id',V['TH']='th',V['VN']='vi',V['TR']='tr',V['RU']='ru',V['UA']='uk',V['HT']='ht',V['KE']='sw',V['TZ']='sw';const W=V,X=(F||'')[bg(0x126)]();return void(W[X]&&(console[bg(0x354)](a0L[bg(0x27c)]('\x20\x20Tip:\x20switch\x20to\x20your\x20language\x20with:\x20lang\x20'+W[X])),console['log']()));}const K=J[bg(0x320)](Y=>{const bh=bg,Z=bh(0x2fe)===Y[bh(0x204)]?a0L['green']:'in_progress'===Y[bh(0x204)]?a0L[bh(0x268)]:a0L[bh(0x283)];return[a0L[bh(0x283)](Y['id']),Y['name'],a0L[bh(0x15b)](Y['country']),String(Y[bh(0x110)]),Y[bh(0x10b)]+bh(0x192),Z(Y[bh(0x204)])];}),L=[...new Set(J[bg(0x320)](Y=>Y[bg(0x162)]))];a0ae(F?bg(0x2d4)+F[bg(0x126)]():bg(0x169)+L[bg(0xac)]+bg(0x2a3)),a0ad(['ID',bg(0x254),bg(0xd6),bg(0x373),'Duration','Status'],K),console[bg(0x354)](),console['log'](a0L[bg(0x27c)](bg(0x35f))),L['length']>0x258b+0x1ce5+-0x426f&&console[bg(0x354)](a0L['gray']('\x20\x20Filter\x20by\x20country:\x20exam\x20list\x20PE,\x20exam\x20list\x20CN,\x20...'));}catch(Y){H[bg(0xef)]('Failed\x20to\x20load\x20exams'),a0aa(Y[bg(0x1ac)]);}}),B['command']('start\x20<id>')[be(0x128)](be(0x12f))[be(0x241)](async F=>{const bi=be;a0a8(bi(0x230)+F);const G=a0Y();if(G)return a0ab('Exam\x20\x22'+G[bi(0x129)][bi(0x1ca)]+'\x22\x20is\x20already\x20in\x20progress.'),void a0ac(bi(0x1f0));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bi(0x283)](bi(0x1b7)),'default':!(-0x1*0x423+-0x162d+-0x10*-0x1a5),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bi(0x386)](K)}}});if(J){console[bi(0x354)]();try{E(-0x1f43+0xa9*-0x14+-0x2c77*-0x1,bi(0x2d6));const {session:K,questions:L}=await H[bi(0x34f)](F);E(-0x1e43+-0x10e7+0x2f48,bi(0x260)),await q(-0x145*0x18+0x323*-0x6+-0x2f2*-0x11),E(0x25e3*0x1+0x2412+0xe9*-0x51,bi(0x332)),await q(-0x19*-0x19+0x21b5+0x6*-0x5e5),E(-0x4*-0x7c3+-0x147*0x11+0x8fb*-0x1,bi(0x1cd)),await q(0x1fb2+0x13d0+-0x32ec),a0Z({'session':K,'questions':L,'answers':{}}),E(-0x10b4+-0x1445+0x255d,'Ready!'),console[bi(0x354)](),console[bi(0x354)](),a0ae(K[bi(0x1ca)]),a0af(bi(0x373),String(K['questionCount'])),a0af(bi(0x325),K[bi(0x10b)]+bi(0x1e7)),a0af(bi(0xd6),K[bi(0x162)]),O(),L['length']>0x26e0*-0x1+-0x1b35+0x1*0x4215&&U(L[-0x1*0x2421+-0x12e6+0x3707]);}catch(Q){console['log'](),a0aa(Q['message']);}}}),B[be(0x33d)](be(0x20d))['description']('View\x20question\x20(or\x20all\x20questions)')['action'](async F=>{const bj=be;a0a8('exam\x20q\x20'+(F||bj(0x2b2)));const {refetchQuestionDataIfStale:G}=await import('../lib/exam-state.js');await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,0x470+-0x1fd8*0x1+0x1b72),K=H[bj(0x227)]['find'](L=>L['number']===J);if(!K)return void a0aa(bj(0x335)+F+'\x20not\x20found\x20(1-'+H[bj(0x227)][bj(0xac)]+').');H[bj(0x395)]=J,a0Z(H),U(K,H[bj(0x186)][J]);}else{a0ae(''+H[bj(0x129)][bj(0x1ca)]);const L=Object[bj(0x2eb)](H[bj(0x186)])[bj(0xac)];a0af(bj(0x23f),L+'/'+H['session']['questionCount']+bj(0x273)),console['log']();for(const Q of H[bj(0x227)]){const V=H['answers'][Q[bj(0x299)]],W=V?a0L['green']('['+V+']'):a0L['gray'](bj(0x349)),X=Q[bj(0x338)]?a0L[bj(0x27c)]('\x20['+Q[bj(0x338)]+']'):'';console[bj(0x354)]('\x20\x20'+W+'\x20'+a0L[bj(0x283)]('Q'+Q[bj(0x299)])+X+'\x20'+a0L[bj(0x27c)](Q['text'][bj(0x16e)](-0x30+0x10eb*0x2+-0x21a6,-0xe2*0x23+-0x25c+0x217e))+(Q['text']['length']>0xf33+-0x1f33+0x1*0x103c?bj(0x243):''));}console[bj(0x354)]();}}else a0aa(bj(0x189));}),B[be(0x33d)](be(0x228))[be(0x128)](be(0x366))[be(0x241)](F=>{const bk=be;a0a8(bk(0x170)+(F||''));const G=a0Y();if(!G)return void a0aa(bk(0x393));const H=G[bk(0x227)]['length'],J=F?parseInt(F,-0x2b1+-0x3*0x45a+0xfc9):G['_lastQ']||0x100c+-0x243+-0xdc8;if(Number[bk(0x2ed)](J)||J<0x72e*0x2+-0x166a+0x80f||J>H)return void a0aa('Invalid\x20question\x20number.\x20Use\x201..'+H+'.');const K=D(G,J);console[bk(0x354)](),K?console[bk(0x354)](a0L[bk(0x268)](bk(0x2ab)+J+bk(0x392))):console['log'](a0L['gray'](bk(0x1d8)+J+bk(0x3a1)));const L=Array[bk(0x3d3)](G[bk(0x39c)])?G[bk(0x39c)]:[];L[bk(0xac)]>-0xaeb+-0x6ae+0x5*0x385&&console[bk(0x354)](a0L[bk(0x27c)](bk(0xab)+L[bk(0x320)](Q=>'Q'+Q)[bk(0x177)](',\x20'))),console[bk(0x354)](a0L['gray'](bk(0x106))+a0L['white'](bk(0x3c3))),console[bk(0x354)]();}),B[be(0x33d)]('unmark\x20[n]')[be(0x128)](be(0x3a2))[be(0x241)](F=>{const bl=be;a0a8(bl(0xb2)+(F||''));const G=a0Y();if(!G)return void a0aa(bl(0x393));const H=G[bl(0x227)][bl(0xac)],J=F?parseInt(F,-0x20b8+0x1c53+0xe3*0x5):G['_lastQ']||-0x90f*0x1+-0x8ab+0x11bb;Number[bl(0x2ed)](J)||J<-0x1*-0xe63+-0x13c0+0x55e||J>H?a0aa(bl(0x324)+H+'.'):j(G,J)?(D(G,J),console[bl(0x354)](),console[bl(0x354)](a0L[bl(0x27c)]('\x20\x20☆\x20Q'+J+bl(0x3a1))),console['log']()):console[bl(0x354)](a0L[bl(0x27c)](bl(0xf0)+J+bl(0x3c2)));}),B[be(0x33d)](be(0x150))['description']('Go\x20to\x20next\x20question')[be(0x241)](()=>{const bm=be;a0a8(bm(0xc2));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');F['questions']['findIndex'](K=>!F[bm(0x186)][K[bm(0x299)]]);const G=F[bm(0x395)]||0x2*-0x289+0x507+-0x6*-0x2,H=Math['min'](G+(0x1*-0xa7b+0x1*0x99+0x1*0x9e3),F[bm(0x227)][bm(0xac)]);F['_lastQ']=H,a0Z(F);const J=F[bm(0x227)][H-(0x2125+0xb68+-0x2c8c*0x1)];U(J,F[bm(0x186)][J[bm(0x299)]]);}),B[be(0x33d)](be(0xae))[be(0x128)](be(0x2b5))[be(0x241)](()=>{const bn=be;a0a8(bn(0x25a));const F=a0Y();if(!F)return void a0aa(bn(0x393));const G=F[bn(0x395)]||0x1*0x368+-0x115e+0xdf7,H=Math[bn(0x1f3)](G-(-0x7a*0x3d+0x26*0x1c+0x18eb*0x1),-0x4*0x6b9+0x25cb*0x1+-0x3*0x3a2);F[bn(0x395)]=H,a0Z(F);const J=F[bn(0x227)][H-(-0x660+0x353*0x1+-0x2*-0x187)];U(J,F[bn(0x186)][J[bn(0x299)]]);}),B['command'](be(0x17b))[be(0x128)](be(0x3d0))[be(0x241)](async()=>{const bo=be;a0a8(bo(0x141));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=R(F),H=F[bo(0x395)]||0x53*-0x38+-0x981+0x1baa,J=G[bo(0x156)][H]||-0x25bb+0x1*0x53d+0x207e,K=G['eliminated'][H]||[],L=F[bo(0x227)][bo(0x2ae)](W=>W[bo(0x299)]===H);if(!L)return;if(J>=0x3*-0x3a9+0x1fab*-0x1+0x1554*0x2)return console[bo(0x354)](),console['log'](a0L['yellow'](bo(0x202))),console[bo(0x354)](a0L['gray'](bo(0x2ad))),console[bo(0x354)](),void U(L,F['answers'][L[bo(0x299)]]);const Q=['A','B','C','D'][bo(0x30b)](W=>!K[bo(0x309)](W));if(Q[bo(0xac)]<=0x1093+-0x4*0x684+0xdd*0xb)return console['log'](),console['log'](a0L[bo(0x268)]('\x20\x20😄\x20Only\x202\x20options\x20left\x20—\x20you\x20got\x20this!')),console[bo(0x354)](),void U(L,F['answers'][L[bo(0x299)]]);if(G[bo(0x27f)]>=G[bo(0x1f3)]){const W=G[bo(0x1f3)]>=-0x45*-0x53+0x80*-0x3+-0xfd*0x15,X=-0xe94+-0x1b58+0x2a0a-G['max'];return void(W?(console['log'](),console[bo(0x354)](a0L[bo(0x27c)](bo(0x143)+G[bo(0x27f)]+'/'+G[bo(0x1f3)]+').\x20You\x27re\x20on\x20your\x20own!\x20💪')),console[bo(0x354)]()):(console[bo(0x354)](),console[bo(0x354)](a0L['yellow'](bo(0x34a)+G['used']+'/'+G['max'])),console[bo(0x354)](a0L[bo(0x283)](bo(0x3b5))+a0L[bo(0x219)]['yellow'](bo(0x199))+a0L[bo(0x27c)](bo(0x1e1)+X+bo(0x383))),console[bo(0x354)]()));}const V=Y=>{const bp=bo;K[bp(0x13e)](Y),G['eliminated'][H]||(G[bp(0x29a)][H]=[]),G[bp(0x29a)][H]=K,G[bp(0x156)][H]=J+(0x522*0x1+0x17cb+-0x1cec),G['used']++,F[bp(0xe5)]=G['used'],F[bp(0x3b9)]=G[bp(0x1f3)],F[bp(0x232)]=G[bp(0x156)],F['_eliminated']=G[bp(0x29a)],F[bp(0x1dc)]||(F[bp(0x1dc)]=[]),F[bp(0x1dc)]['push']({'ts':new Date()[bp(0x3d1)](),'q':H,'type':bp(0x15c),'result':bp(0x2a7)+Y}),a0Z(F),console[bp(0x354)](),console['log'](a0L[bp(0x268)](bp(0x270)+Y+bp(0x2cf))+a0L[bp(0x27c)](bp(0x27a)+G['used']+'/'+G[bp(0x1f3)]+')')),U(L,F[bp(0x186)][L[bp(0x299)]]);};if(bo(0x277)===F['session']['examId']&&L[bo(0x2c6)])(Y=>{const bq=bo,Z=Q[bq(0x30b)](a0=>a0!==Y&&!K[bq(0x309)](a0));0x134*0x18+0x1*-0x9d9+-0x1307!==Z[bq(0xac)]&&V(Z[Math[bq(0x326)](Math[bq(0x117)]()*Z[bq(0xac)])]);})(L['answer']);else{const Y=a0W()[bo(0x1d1)]||'https://practice.icoa2026.au',Z=F[bo(0x129)]?.[bo(0x344)]||'';try{const a0={};a0[bo(0x1a5)]=bo(0x19a),a0[bo(0xa6)]=bo(0x22b);const a1={};a1[bo(0x344)]=Z,a1[bo(0x1b2)]=H,a1[bo(0x29a)]=K;const a2=await fetch(Y+'/api/icoa/exams/'+F['session'][bo(0x278)]+bo(0x2c9),{'method':bo(0xdf),'headers':a0,'body':JSON[bo(0x16d)](a1),'signal':AbortSignal['timeout'](0x1e8e+-0x4e1*0x1+-0x625*0x1)}),a3=await a2[bo(0x163)](),a4=a3?.[bo(0x305)]?.['eliminate'];a4&&['A','B','C','D'][bo(0x309)](a4)?V(a4):(console[bo(0x354)](),console['log'](a0L[bo(0x27c)]('\x20\x20Server\x20did\x20not\x20return\x20a\x20valid\x20option.\x20Try\x20again.')));}catch{console[bo(0x354)](),console[bo(0x354)](a0L[bo(0x27c)]('\x20\x20Could\x20not\x20reach\x20server\x20for\x20help.\x20Check\x20your\x20connection.'));}}}),B[be(0x33d)](be(0x157))['description'](be(0x1b4))['action'](()=>{const br=be;a0a8(br(0x3be));const F=a0Y();if(!F)return void a0aa(br(0x393));const G=R(F),H='demo-free'===F[br(0x129)][br(0x278)]?-0x1*0x44b+0x2248+-0x1df5:0x1d3c*-0x1+-0x18*-0x1b+0x2*0xd69;if(G['max']>=H)return void console[br(0x354)](a0L[br(0x27c)](br(0x12d)));if(G['used']<G[br(0x1f3)])return void console[br(0x354)](a0L['gray'](br(0x17c)+(G[br(0x1f3)]-G[br(0x27f)])+br(0x2a8)));const J=H-G['max'];F['_helpMax']=H,a0Z(F),console[br(0x354)](),console[br(0x354)](a0L[br(0x386)](br(0x18f)+J+'\x20bonus\x20help\x20unlocked!\x20('+J+'/'+H+'\x20remaining)')),console[br(0x354)](a0L[br(0x27c)](br(0x360))),console[br(0x354)]();}),B[be(0x33d)](be(0x29f))['description']('Answer\x20question\x20N\x20(A/B/C/D\x20for\x20MCQ,\x20ICOA{flag}\x20for\x20practical)')[be(0x241)](async(F,G)=>{const bs=be,H=G[bs(0x177)]('\x20');a0a8(bs(0x31d)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bs(0x189));if(!(function(){const bt=bs,Z=a0a1();if(!Z)return!(0x1*0x19dc+-0xff4+-0x2*0x4f4);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bt(0x2eb)](a0[bt(0x186)])[bt(0xac)];bt(0x277)===a0[bt(0x129)][bt(0x278)]||-0x21ee+-0x1*-0x22bb+0x1*-0xcd===a1?(a0a0(),a0ab('Exam\x20expired\x20and\x20cleared.'),a0ac(bt(0x353))):(a0aa('Time\x20expired.'),a0ac(bt(0x1ea)));}return!(0x1*-0x15db+-0x928+0x2*0xf82);}return!(-0xac+-0x1803+0x18af);}()))return;const K=parseInt(F,0x37*0x4c+-0x2086+-0x2*-0x81e),L=J[bs(0x227)][bs(0x2ae)](Z=>Z[bs(0x299)]===K);if(!L)return void a0aa(bs(0x335)+F+bs(0x20c)+J[bs(0x227)][bs(0xac)]+').');let Q;if(bs(0x267)===L[bs(0x22d)]||bs(0x394)===L['type']||bs(0x1d7)===L['type']||L[bs(0x1a0)]&&!L['options']['A']&&!L[bs(0x1a0)]['B']){if(Q=H[bs(0x2aa)](),/^submit\s+/i['test'](Q)&&(Q=Q[bs(0xf7)](/^submit\s+/i,'')['trim']()),Q=Q[bs(0xf7)](/^["'`]+|["'`]+$/g,'')[bs(0x2aa)](),!Q)return void a0aa(bs(0x2d9));if(/^[A-Da-d]$/[bs(0x321)](Q))return a0aa('Q'+K+'\x20is\x20a\x20practical\x20question\x20—\x20answer\x20with\x20a\x20flag,\x20not\x20a\x20letter.'),void console[bs(0x354)](a0L[bs(0x27c)](bs(0x147))+a0L[bs(0x386)](bs(0x31d)+K+'\x20ICOA{your_flag}'));}else{if(Q=H[bs(0x126)](),!['A','B','C','D'][bs(0x309)](Q))return void a0aa(bs(0xc8));}if(bs(0x277)===J[bs(0x129)][bs(0x278)]&&-0xf7e+0x1166+0xf3*-0x2===K&&0xd1e+0x1*-0x3ed+-0x931===(R(J)[bs(0x156)][-0x2*0xbcb+-0xb*-0x26+-0x3*-0x752]||-0x177b*-0x1+0x1*-0xbd5+0x7*-0x1aa))return console[bs(0x354)](),console[bs(0x354)](a0L[bs(0x268)](bs(0x342))+a0L[bs(0x219)][bs(0x268)]('help')+a0L[bs(0x268)](bs(0x3c4))),console[bs(0x354)](a0L[bs(0x27c)](bs(0x28f))),void console['log']();const V=J[bs(0x186)][K];J[bs(0x1dc)]||(J[bs(0x1dc)]=[]),J[bs(0x1dc)][bs(0x13e)]({'ts':new Date()[bs(0x3d1)](),'q':K,'type':V?bs(0x24b):'answer_submitted','input':Q,'result':V?bs(0x289)+V:bs(0x391)}),J[bs(0x186)][K]=Q,J[bs(0x395)]=K,a0Z(J),console[bs(0x354)](a0L['gray']('\x20\x20\x20\x20✓\x20saved'));const W=J['session'][bs(0x344)];if(W&&bs(0x277)!==J[bs(0x129)][bs(0x278)]){const Z=(a0W()['ctfdUrl']||bs(0x35d))+bs(0x3ad)+J[bs(0x129)][bs(0x278)]+bs(0x2d7),a0={};a0[bs(0x1a5)]=bs(0x19a);const a1={};a1[bs(0x344)]=W,a1[bs(0x1b2)]=K,a1[bs(0x2c6)]=Q,fetch(Z,{'method':bs(0xdf),'headers':a0,'body':JSON[bs(0x16d)](a1),'signal':AbortSignal[bs(0x3ca)](-0x63+-0x1ea3+0x328e)})[bs(0x1e5)](()=>{});}const X=Object['keys'](J[bs(0x186)])['length'],Y=J[bs(0x129)][bs(0x110)];if(a0a9('Q'+K+':\x20'+Q+bs(0x1d3)+X+'/'+Y+bs(0x1aa)),bs(0x277)===J[bs(0x129)][bs(0x278)]&&L['answer']){const a2=[bs(0x1a9),bs(0x2f1),bs(0x2c7),bs(0x3c7),bs(0x12a)],a3=[bs(0x2f6),bs(0x1bb),bs(0x1f1)],a4=Q===L[bs(0x2c6)]?a2:a3,a5=a4[Math['floor'](Math[bs(0x117)]()*a4[bs(0xac)])];console['log'](a0L['gray']('\x20\x20\x20\x20·\x20'+a5));}if(K<J[bs(0x227)][bs(0xac)]){const a6=J[bs(0x227)][K];J[bs(0x395)]=a6[bs(0x299)],a0Z(J),U(a6,J['answers'][a6[bs(0x299)]]);}else X>=J['questions']['length']&&(console[bs(0x354)](),console[bs(0x354)](a0L[bs(0x386)][bs(0x219)](bs(0x317))),console[bs(0x354)](),bs(0x277)===J[bs(0x129)][bs(0x278)]?(console[bs(0x354)](a0L[bs(0x283)](bs(0x1b8))+a0L['bold'][bs(0x15b)](bs(0x184))+a0L[bs(0x283)](bs(0x2e7))),console[bs(0x354)]()):console[bs(0x354)](a0L[bs(0x283)]('\x20\x20Use:\x20exam\x20review\x20·\x20exam\x20submit')));}),B[be(0x33d)]('review')['description'](be(0x24a))['action'](()=>{const bu=be;a0a8(bu(0x3c3));const F=a0Y();if(!F)return void a0aa(bu(0x393));a0ae(bu(0x212)+F['session'][bu(0x1ca)]),O(),console['log']();let G='\x20\x20';const H=Array[bu(0x3d3)](F[bu(0x39c)])?F[bu(0x39c)]:[];for(const Q of F['questions']){const V=F[bu(0x186)][Q[bu(0x299)]],W=H[bu(0x309)](Q[bu(0x299)]),X=W?'★':'\x20';G+=V?W?a0L[bu(0x219)][bu(0x268)]('Q'+String(Q[bu(0x299)])[bu(0xfb)](0x9*-0x1e7+-0x10a8*0x1+0x21c9)+X+'['+V+']\x20'):a0L['green']('Q'+String(Q['number'])['padStart'](0xf63+-0x290+-0xcd1)+'\x20['+V+bu(0x322)):W?a0L[bu(0x219)][bu(0x268)]('Q'+String(Q[bu(0x299)])['padStart'](0x44*-0x46+0x286+0x1014)+X+bu(0xc7)):a0L[bu(0x268)]('Q'+String(Q[bu(0x299)])[bu(0xfb)](0x1*0xda3+-0x2174+0x13d3)+bu(0x279)),Q[bu(0x299)]%(0x1b1f*0x1+-0x222b+0x712)==0x989*0x1+-0x10ca+0x741&&(console[bu(0x354)](G),G='\x20\x20');}G[bu(0x2aa)]()&&console[bu(0x354)](G);const J=Object[bu(0x2eb)](F['answers'])[bu(0xac)],K=F[bu(0x129)][bu(0x110)],L=K-J;if(console[bu(0x354)](),a0af(bu(0x3bc),a0L[bu(0x386)][bu(0x219)](J+'/'+K)),L>0xb7e+-0x1*0x1e9+-0x995){const Y=F[bu(0x227)][bu(0x30b)](Z=>!F[bu(0x186)][Z[bu(0x299)]])[bu(0x320)](Z=>Z[bu(0x299)])[bu(0x177)](',\x20');a0af(bu(0xd5),a0L[bu(0x268)](L+bu(0x379)+Y+')'));}H['length']>0x239*0x9+-0x5*0x18b+-0x625*0x2&&a0af(bu(0x34b),a0L[bu(0x219)][bu(0x268)]('★\x20'+H[bu(0xac)])+a0L[bu(0x27c)]('\x20('+H[bu(0x320)](Z=>'Q'+Z)['join'](',\x20')+')')),console[bu(0x354)](),H['length']>-0xd*0x1f5+-0x939+-0x9*-0x3da&&console[bu(0x354)](a0L[bu(0x27c)]('\x20\x20Jump\x20to\x20a\x20flagged\x20question:\x20')+a0L[bu(0x283)](bu(0x124)+H[-0x3*0xbc5+-0x1804+0x3b53])),console[bu(0x354)](a0L['gray']('\x20\x20Ready?\x20Use\x20')+a0L[bu(0x219)][bu(0x15b)](bu(0x184))+a0L['gray'](bu(0x194)));}),B['command'](be(0x1f5))[be(0x128)](be(0x1d9))[be(0x241)](async(J,K)=>{const bv=be;a0a8(bv(0xd9)+(J||'')+'\x20'+(K||''));const L=a0Y();if(L&&bv(0x115)===J&&!K&&(L['_submitConfirmed']=!(0x96d*-0x3+0x1217*-0x1+0x5*0x946),a0Z(L)),!L)return void a0aa(bv(0x393));const Q=Object[bv(0x2eb)](L['answers'])[bv(0xac)],V=L[bv(0x129)][bv(0x110)],W=V-Q;if(0x4*-0x53f+-0x20+0x151c===Q){const a0=a0a1(),a1=a0&&new Date()>=a0;return void('demo-free'===L[bv(0x129)][bv(0x278)]||a1?(a0a0(),a0ab('No\x20answers\x20to\x20submit.\x20Exam\x20cleared.'),a0ac(bv(0x353))):(a0ab(bv(0x11b)),a0ac(bv(0x387))));}const X=a0a1(),Y=!!(X&&new Date()>=X);if('demo-free'!==L[bv(0x129)][bv(0x278)]&&!Y&&bv(0x115)===J&&Q<-0xeb7*0x1+0x11bc+-0x2fb){if((K||'')[bv(0x2aa)]()!==String(Q))return console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x255)](bv(0x388))),console[bv(0x354)](a0L['bold']['red'](bv(0x132)+Q+'/'+V+bv(0x3a4))),console[bv(0x354)](a0L['red'](bv(0x388))),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x283)]('\x20\x20Submitting\x20now\x20scores\x20from\x20only\x20')+a0L['bold']['yellow'](''+Q)+a0L['white']('\x20of\x20')+a0L['white'](''+V)+a0L[bv(0x283)](bv(0xe0))),console[bv(0x354)](a0L[bv(0x283)](bv(0xb3))+a0L[bv(0x219)][bv(0x255)](Q+'/'+V+bv(0x1da))),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)](bv(0x185))),console[bv(0x354)](a0L['gray'](bv(0x1cf))+a0L[bv(0x15b)](bv(0x33f))+a0L[bv(0x27c)](bv(0x323))),console[bv(0x354)](a0L['gray'](bv(0x1cf))+a0L[bv(0x15b)](bv(0x3c3))+a0L[bv(0x27c)](bv(0x3bb))),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x219)]['white'](bv(0xb8))+a0L['bold']['yellow'](''+Q)+a0L['bold'][bv(0x283)](bv(0x1ee))),console[bv(0x354)](a0L[bv(0x27c)](bv(0x1cf))+a0L[bv(0x219)][bv(0x15b)]('exam\x20submit\x20confirm\x20'+Q)),console[bv(0x354)](a0L[bv(0x27c)]('\x20\x20(yes\x20—\x20literally\x20type\x20the\x20number\x20'+Q+bv(0x1eb))),console[bv(0x354)](),void(L['_submitConfirmed']&&(delete L[bv(0x288)],a0Z(L)));L[bv(0x288)]=!(0x189*0xb+0x1bb*-0x5+-0x83c),a0Z(L);}if(bv(0x277)!==L[bv(0x129)][bv(0x278)]){const a2=!(-0xc08+-0xa*0x32f+-0x2bde*-0x1)===L['_submitConfirmed'],a3=a0a1(),a4=!!(a3&&new Date()>=a3);if(!a2&&!a4){if(console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x255)](bv(0xb1))),console[bv(0x354)](a0L[bv(0x219)][bv(0x255)](bv(0x1fd))),console[bv(0x354)](a0L[bv(0x255)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x283)](bv(0x27e)+a0L[bv(0x219)][bv(0x386)](Q+'/'+V)+bv(0x235))),W>0x1638+0x365*-0x4+0x4*-0x229){const a6=L[bv(0x227)][bv(0x30b)](a7=>!L['answers'][a7[bv(0x299)]])['map'](a7=>'Q'+a7[bv(0x299)])[bv(0x177)](',\x20');console['log'](a0L[bv(0x268)]('\x20\x20'+W+bv(0x2a6)+a6));}const a5=Array[bv(0x3d3)](L[bv(0x39c)])?L[bv(0x39c)]:[];return a5[bv(0xac)]>0x20ba+0x1*-0x90c+0x1b1*-0xe&&console[bv(0x354)](a0L[bv(0x268)](bv(0x302)+a5[bv(0xac)]+bv(0xb6)+a5[bv(0x320)](a7=>'Q'+a7)[bv(0x177)](',\x20'))),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x283)](bv(0x2fc))+a0L[bv(0x219)]['red']('final')+a0L[bv(0x283)](bv(0x30a))),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)](bv(0x134))+a0L[bv(0x219)][bv(0x15b)](bv(0x1d0))),console['log'](a0L[bv(0x283)](bv(0xdd))+a0L[bv(0x15b)]('exam\x20review')+a0L[bv(0x27c)](bv(0x3c0))+a0L[bv(0x15b)](bv(0x26e))),void console[bv(0x354)]();}a2&&(delete L['_submitConfirmed'],a0Z(L));}if(console[bv(0x354)](),bv(0x277)===L[bv(0x129)][bv(0x278)]){try{E(-0x4*0x3f8+-0xd8+0x10b8,a0ai(bv(0x15a))),await q(-0x205e+-0x1*0x8c6+-0xa94*-0x4);let a7=0x1148+0xd8b*0x2+-0x2c5e;const a8=[],a9={};for(const al of L[bv(0x227)]){const am=al[bv(0x338)]||bv(0xaf),an={};an[bv(0x13c)]=0x0,an[bv(0xe1)]=0x0,(a9[am]||(a9[am]=an),a9[am]['total']++);const ao=L[bv(0x186)][al[bv(0x299)]];ao&&al[bv(0x2c6)]&&ao===al[bv(0x2c6)]?(a7++,a9[am]['correct']++):a8[bv(0x13e)](al[bv(0x299)]);}a8[bv(0x26b)]((ap,aq)=>ap-aq),E(-0x60d+0x523+0xa7*0x2,a0ai(bv(0x136))),console['log']();const aa=new Date(L[bv(0x129)][bv(0x28e)])[bv(0x3c9)](),ab=Math[bv(0x1f3)](0x13*0x1a5+-0x1c*-0xe6+-0x3867,Math['round']((Date[bv(0x310)]()-aa)/(0x7*-0x119+0x206b+0x3e*-0x56))),ac=Math[bv(0x326)](ab/(-0x1777+-0x24cd+-0x3c80*-0x1))+'m\x20'+ab%(0x3*-0x611+-0xd*0x117+0x209a*0x1)+'s',ad=[...L[bv(0x227)]],ae={...L['answers']},af=R(L);a0a0();const ag=Math[bv(0x2f3)](a7/V*(-0x1900+-0x1*-0x2011+-0x6ad)),ah=a0W(),ai={};ai[bv(0x1a5)]=bv(0x19a),(fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':'POST','headers':ai,'body':JSON[bv(0x16d)]({'type':bv(0x1fb),'score':a7,'total':V,'lang':ah[bv(0x2c4)]||'en','help_used':af[bv(0x27f)],'help_max':af[bv(0x1f3)],'tokens_used':0x0,'solved':ag>=-0x3*0x663+-0x3*0x88+0x14fd?-0xce9+-0x1*-0x2655+-0x196b:-0x2530+-0x43*-0x49+0x1215*0x1,'timestamp':new Date()[bv(0x3d1)](),'interactions':L[bv(0x1dc)]||[]}),'signal':AbortSignal[bv(0x3ca)](0x593+-0xfa1*0x1+0x7*0x43a)})[bv(0x1e5)](()=>{}),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x15b)](bv(0x274))),console[bv(0x354)](),console[bv(0x354)](a0L['bold'][bv(0x283)](bv(0x174))),console[bv(0x354)](a0L[bv(0x219)]['white'](bv(0x26d))),console[bv(0x354)](a0L[bv(0x219)]['white'](bv(0x29e))),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)](bv(0x2e2))),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)](bv(0x1ec))),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)](bv(0x367))),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x219)](bv(0x19f)+a0ai(bv(0x166))+':\x20'+a7+'/'+V+'\x20('+ag+'%)')),console[bv(0x354)](a0L[bv(0x219)](bv(0x19f)+(ag>=-0x6*0x342+-0x3d*-0x43+-0x3d1*-0x1?a0L[bv(0x386)](a0ai(bv(0x238))):a0L[bv(0x255)](a0ai('notPassed'))))),console[bv(0x354)](a0L[bv(0x27c)](bv(0x2ac)+ac)),console['log'](),console[bv(0x354)](a0L['yellow'](bv(0x2ef))),console['log'](a0L[bv(0x27c)]('\x20\x20\x20Sydney,\x20Australia\x20·\x20Jun\x2027\x20-\x20Jul\x202,\x202026')),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x15b)]('\x20\x20═══════════════════════════════════════')),await q(0x6b8+-0x12*0x13c+-0x2*-0xd9c));const aj=Object[bv(0x314)](a9);if(aj[bv(0xac)]>-0x1227+-0xb1c+0x1d43){console['log'](),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)](bv(0x290)));const ap=-0x2654+0x3f9+0x2265;for(const [aq,ar]of aj){const as=ar['total']>0x1c4a+0x1*-0xe5d+-0xded?Math[bv(0x2f3)](ar['correct']/ar[bv(0xe1)]*(-0x8ae*0x4+-0x7b*-0x1f+-0x19*-0xcf)):0xd*0x100+0xd45+-0x1a45,at=ar['total']>-0x2f*-0xc6+0x130f+-0x3769?Math[bv(0x2f3)](ar[bv(0x13c)]/ar[bv(0xe1)]*ap):0x2576+0x172e*-0x1+-0xe48,au=ap-at,av=as>=0x64b*0x2+0xe8*-0x7+-0x5ee?a0L[bv(0x386)]:as>=0x1e78+0xe58+-0x2c9e?a0L['yellow']:a0L[bv(0x255)],aw=av('█'[bv(0xea)](at))+a0L[bv(0x27c)]('░'['repeat'](au));console[bv(0x354)](bv(0x1cf)+a0L['white'](aq[bv(0x153)](0x1*-0x1525+-0x50b+0x1*0x1a44))+'\x20'+aw+'\x20\x20'+av(ar[bv(0x13c)]+'/'+ar[bv(0xe1)])+a0L[bv(0x27c)]('\x20('+as+'%)'));}console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x15b)]('\x20\x20─────────────────────────────────────────────'));}const ak=a0a4(a7,V);if(a7===ak[bv(0x39e)]&&ak['attempts']>-0x16f1+-0x25bf+-0x3cb1*-0x1&&a7>-0xc31*-0x2+-0x209*-0x9+-0x2ab3&&(console[bv(0x354)](),console['log'](a0L[bv(0x219)][bv(0x386)](bv(0x3d9)))),a8[bv(0xac)]>-0x16f4+0x127b+0x479*0x1){const ax=ad[bv(0x30b)](ay=>a8[bv(0x309)](ay[bv(0x299)]))[bv(0x320)](ay=>({...ay}));a0a5(ax);}else a0a7();if(await q(-0x209a+0x46f*0x1+-0x27e3*-0x1),a8[bv(0xac)]>-0x1964+0x15d4+-0x18*-0x26){console[bv(0x354)](),console['log'](a0L['yellow']('\x20\x20'+a8['length']+'\x20'+a0ai(bv(0x396)))),console[bv(0x354)]();for(const ay of a8){const az=ad[bv(0x2ae)](aC=>aC['number']===ay);if(!az)continue;const aA=ae[ay],aB=az['answer'];console['log'](a0L[bv(0x283)](bv(0xf0)+ay+'.\x20'+az[bv(0x2ce)])),aA?console[bv(0x354)](a0L['red'](bv(0x1cf)+a0ai(bv(0x3cc))+':\x20'+aA+'.\x20'+az[bv(0x1a0)][aA])):console[bv(0x354)](a0L[bv(0x268)](bv(0x1cf)+a0ai(bv(0x3cc))+':\x20—')),aB&&console['log'](a0L['green'](bv(0x1cf)+a0ai('correct')+':\x20'+aB+'.\x20'+az[bv(0x1a0)][aB])),az[bv(0x182)]&&console[bv(0x354)](a0L[bv(0x27c)](bv(0xaa)+az[bv(0x182)])),console[bv(0x354)]();}}else console[bv(0x354)](),console['log'](a0L['green']('\x20\x20'+a0ai(bv(0x32f))));await q(-0x15be+-0x72*-0x38+-0x6*-0xc5),console['log'](),console['log'](a0L['cyan'](bv(0xed))),console[bv(0x354)](a0L[bv(0x283)]('\x20\x20'+a0ai(bv(0x1db))+'\x20')+a0L[bv(0x219)][bv(0x386)](bv(0x267))+a0L[bv(0x27c)]('\x20—\x20'+a0ai(bv(0xa8)))),console[bv(0x354)](a0L['gray']('\x20\x20'+a0ai(bv(0x328)))),console['log'](a0L[bv(0x15b)](bv(0xed))),console[bv(0x354)]();}catch(aC){console['log'](),a0aa(aC[bv(0x1ac)]);}return;}const Z=L[bv(0x129)][bv(0x344)];try{let aD;if(E(0x1ac1+-0x22f0+-0x82f*-0x1,bv(0x215)),Z){const aN={};aN['Content-Type']='application/json';const aO={};aO[bv(0x267)]=0x0,aO[bv(0x394)]=0x0;const aP=a0W()[bv(0x1d1)]||bv(0x35d),aQ=await fetch(aP+bv(0x3ad)+L[bv(0x129)][bv(0x278)]+bv(0x329),{'method':bv(0xdf),'headers':aN,'body':JSON[bv(0x16d)]({'token':Z,'answers':L[bv(0x186)],'interactions':L['interactions']||[],'aiUsage':L['aiUsage']||aO,'bookmarks':L[bv(0x39c)]||[]}),'signal':AbortSignal['timeout'](-0x60e6+0x16*0x8+0x9ace)});if(!aQ['ok']){const aR=await aQ[bv(0x163)]()[bv(0x1e5)](()=>({'message':bv(0x200)}));throw new Error(aR[bv(0x1ac)]||'Submit\x20failed');}aD=(await aQ[bv(0x163)]())['data'];}else{const aS=M();if(!aS)return;aD=await aS[bv(0x3ac)](L[bv(0x129)][bv(0x278)],L[bv(0x186)]);}E(-0x132b+0x24*0xf8+-0x1*0xf83,bv(0xbb)),await q(0xd*-0xc9+0x49b*0x8+0x7b*-0x35),E(0xad*0x11+0x22*-0x53+-0x13,bv(0x35c)),console[bv(0x354)]();const aE={};aE[bv(0x267)]=0x0,aE['ctf4ai']=0x0;const aF={'answered':Object[bv(0x2eb)](L['answers'])['length'],'total':L[bv(0x129)][bv(0x110)],'bookmarks':Array[bv(0x3d3)](L[bv(0x39c)])?L[bv(0x39c)][bv(0xac)]:0x199*-0x11+-0x1ed*0x3+-0x11*-0x1f0,'help':R(L),'aiUsage':L['aiUsage']||aE,'interactions':(L[bv(0x1dc)]||[])[bv(0xac)],'durationMin':L[bv(0x129)][bv(0x10b)]||0x16a+-0x17*-0xb6+-0x11c4,'confirmedAt':L[bv(0x129)][bv(0x201)]||L['session'][bv(0x28e)],'examId':L[bv(0x129)]['examId']};a0a0();const aG=Math[bv(0x1f3)](-0x6*-0x277+-0x11f6*0x1+0xcb*0x4,Math[bv(0x2f3)]((Date[bv(0x310)]()-new Date(aF[bv(0x201)])[bv(0x3c9)]())/(0x9ad*0x2+0x47d*0x1+-0x13ef))),aH=Math['floor'](aG/(-0x4*-0x52a+0x7f5+-0x1c61*0x1)),aI=aG%(-0x1e7*-0x2+-0x2*0x2a5+-0x1*-0x1b8);console[bv(0x354)](),console['log'](a0L[bv(0x15b)](bv(0x359))),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)](bv(0x26d))),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)](bv(0x29e))),console['log'](a0L[bv(0x219)][bv(0x283)](bv(0x2e2))),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)](bv(0x1ec))),console[bv(0x354)](a0L['bold'][bv(0x283)](bv(0x367))),console[bv(0x354)]();const aJ=aD['passed']?a0L[bv(0x386)][bv(0x219)](bv(0xfa)):a0L['yellow'][bv(0x219)](bv(0x16c));console[bv(0x354)](aJ),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x283)]('\x20\x20\x20Your\x20answers\x20have\x20been\x20recorded\x20and\x20sent\x20to\x20your\x20national')),console[bv(0x354)](a0L[bv(0x283)](bv(0x221))),console[bv(0x354)](a0L[bv(0x283)](bv(0x1cb))),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x15b)](bv(0xed))),console['log'](),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)](bv(0xb0)));const aK=aF[bv(0xe1)]-aF[bv(0xbc)];console[bv(0x354)](bv(0x1cf)+a0L[bv(0x27c)](bv(0x39f))+a0L['white'](aF[bv(0xbc)]+'/'+aF[bv(0xe1)])+(aK>-0x9d8+0x6f*0x9+0x5f1?a0L[bv(0x27c)]('\x20\x20·\x20\x20'+aK+bv(0x38f)):'')),console[bv(0x354)](bv(0x1cf)+a0L[bv(0x27c)](bv(0xbe))+a0L[bv(0x283)](aH+'m\x20'+aI+'s')+a0L[bv(0x27c)](bv(0x21b)+aF['durationMin']+bv(0x341))),aF['bookmarks']>-0xfb3*0x2+0x1*0x1f4e+0x6*0x4&&console[bv(0x354)]('\x20\x20\x20\x20'+a0L[bv(0x27c)](bv(0x1e0))+a0L[bv(0x268)]('★\x20'+aF['bookmarks'])),console[bv(0x354)]();const aL=aD['categoryStats'];if(aL&&Object[bv(0x2eb)](aL)[bv(0xac)]>=-0x2117+-0x40e+0x2527){const aT=Object['entries'](aL)[bv(0x30b)](([,aY])=>aY[bv(0xe1)]>-0x146f+-0x1*-0x1ba7+-0x738)[bv(0x320)](([aY,aZ])=>({'cat':aY,'pct':aZ['correct']/aZ['total']}))[bv(0x26b)]((aY,aZ)=>aZ[bv(0x399)]-aY['pct']),aU=Math[bv(0x11a)](0x1f1*0x1+-0x51c+0x32d*0x1,Math[bv(0x2e0)](aT[bv(0xac)]/(-0x31*0x8e+-0x283*-0x5+0x751*0x2))),aV=Math[bv(0x11a)](0x75a*0x4+0x5*0x14e+-0x23ec,Math[bv(0x2e0)](aT[bv(0xac)]/(-0x7d1+0x25*0x74+-0x8f0))),aW=aT[bv(0x13f)](0x7d*0x48+-0x1c1d+-0x70b,aU)['map'](aY=>aY['cat']),aX=aT[bv(0x13f)](-aV)[bv(0x320)](aY=>aY['cat']);aW[bv(0xf4)](aY=>aX[bv(0x309)](aY))||(console[bv(0x354)](a0L['bold'][bv(0x283)](bv(0x1cc))),console[bv(0x354)](bv(0x1cf)+a0L[bv(0x386)](bv(0x318))+a0L[bv(0x283)](aW['join'](',\x20'))),console[bv(0x354)](bv(0x1cf)+a0L[bv(0x268)]('Room\x20to\x20grow:\x20\x20\x20')+a0L['white'](aX['join'](',\x20'))),console[bv(0x354)](a0L[bv(0x27c)](bv(0x3d8))),console[bv(0x354)]());}console['log'](a0L[bv(0x219)][bv(0x283)](bv(0x369))),console['log'](bv(0x1cf)+a0L[bv(0x27c)]('Help:\x20\x20\x20\x20\x20\x20')+a0L[bv(0x283)](aF[bv(0x17b)][bv(0x27f)]+'/'+aF[bv(0x17b)][bv(0x1f3)])),console[bv(0x354)](bv(0x1cf)+a0L['gray'](bv(0x1e6))+a0L[bv(0x283)](aF[bv(0xda)][bv(0x267)]+bv(0x370))+a0L[bv(0x27c)](bv(0xad))+a0L[bv(0x283)](aF[bv(0xda)][bv(0x394)]+bv(0x22e))),console[bv(0x354)](),console['log'](a0L[bv(0x15b)]('\x20\x20─────────────────────────────────────────────')),console[bv(0x354)](),console[bv(0x354)](a0L[bv(0x219)][bv(0x283)](bv(0x39a))),console[bv(0x354)](a0L[bv(0x27c)](bv(0x123))),console['log'](a0L[bv(0x27c)](bv(0x25c))+a0L[bv(0x283)](bv(0x251))+a0L[bv(0x27c)](bv(0x2f7))),console[bv(0x354)](a0L[bv(0x27c)](bv(0x21e))+a0L['white']('ref')),console[bv(0x354)]();const {showCToBUpgradePrompt:aM}=await import(bv(0x1a6));aM(aF['examId'],aD[bv(0x238)]),console[bv(0x354)](a0L[bv(0x268)](bv(0x114))),console['log'](a0L[bv(0x15b)][bv(0x25d)](bv(0x256))),console[bv(0x354)](),console['log'](a0L['cyan'](bv(0x359))),console[bv(0x354)]();}catch(aY){console['log'](),a0aa(aY[bv(0x1ac)]);}}),B[be(0x33d)](be(0x19c))['description'](be(0x118))[be(0x241)](async F=>{const bw=be;a0a8(bw(0x2b0)+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa('Specify\x20exam\x20ID:\x20exam\x20result\x20<id>');F=J[bw(0x129)][bw(0x278)];}const H=a0ag(bw(0x19b));H[bw(0x210)]();try{const K=await G[bw(0x11d)](F);H[bw(0x39d)](bw(0x10d)),console[bw(0x354)](),a0ae(K[bw(0x1ca)]),a0af('Score',a0L[bw(0x219)](K[bw(0x166)]+'/'+K[bw(0xe1)])),a0af(bw(0x2e4),a0L[bw(0x219)](K[bw(0x397)]+'%')),a0af(bw(0x2c3),K[bw(0x238)]?a0L['green'][bw(0x219)]('PASSED'):a0L[bw(0x255)][bw(0x219)](bw(0x1f6))),a0af(bw(0x3c5),K[bw(0x21a)]),console[bw(0x354)]();}catch(L){H[bw(0xef)](bw(0x2a0)),a0aa(L[bw(0x1ac)]);}}),B[be(0x33d)](be(0x159))[be(0x128)](be(0x100))['action'](async J=>{const bx=be;a0a8('exam\x20token\x20'+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import('../lib/exam-state.js'),V=K();if(V){const a2=V[bx(0x129)][bx(0x344)],a3=a0a1(),a4=!!a2&&a2[bx(0x2aa)]()[bx(0x126)]()!==J[bx(0x2aa)]()[bx(0x126)](),a5=!!a3&&a3[bx(0x3c9)]()+(-0x37*-0x1dc8+0x5*-0x61090+0x336418)<Date[bx(0x310)]();if(a4&&a5)return Q(),console[bx(0x354)](),console[bx(0x354)](a0L[bx(0x27c)](bx(0x333))),console[bx(0x354)](),console[bx(0x354)](a0L[bx(0x283)]('\x20\x20Please\x20re-type:\x20')+a0L[bx(0x219)][bx(0x15b)](bx(0x207)+J)),void console[bx(0x354)]();if(!a2&&J)return V[bx(0x129)]['token']=J[bx(0x2aa)](),L(V),console[bx(0x354)](),console[bx(0x354)](a0L[bx(0x386)](bx(0x137))),console['log'](a0L[bx(0x27c)]('\x20\x20\x20\x20You\x20can\x20now\x20use:\x20')+a0L[bx(0x283)](bx(0x308))+a0L[bx(0x27c)](bx(0x131))+a0L['white'](bx(0x184))),console[bx(0x354)](),console[bx(0x354)](a0L['bold']['white']('\x20\x20Continue\x20this\x20exam:')),console[bx(0x354)](a0L['gray'](bx(0xaa))+a0L[bx(0x219)][bx(0x15b)]('exam\x20q\x201')+a0L['gray']('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console['log'](a0L[bx(0x27c)](bx(0xaa))+a0L['bold'][bx(0x15b)](bx(0x3c3))+a0L['gray'](bx(0x101))),void console['log']();const a6=Object['keys'](V['answers'])[bx(0xac)],a7=V[bx(0x129)][bx(0x110)],a8=a0a1(),a9=a8?Math[bx(0x1f3)](-0x21fb+-0x128e+0x1183*0x3,Math[bx(0x2f3)]((a8[bx(0x3c9)]()-Date['now']())/(-0xd47a*-0x2+0x6285*-0x1+-0x1*0x5c0f))):null;return console[bx(0x354)](),console[bx(0x354)](a0L[bx(0x268)]('\x20\x20⚠\x20\x20An\x20exam\x20is\x20already\x20in\x20progress\x20on\x20this\x20device.')),console[bx(0x354)](),console[bx(0x354)](a0L[bx(0x27c)](bx(0x385))+a0L['white'](V[bx(0x129)]['examName'])),a2&&console['log'](a0L[bx(0x27c)](bx(0x145))+a0L[bx(0x283)](a2)+(a2===J?a0L['green'](bx(0x343)):a0L[bx(0x268)](bx(0x37e)))),console[bx(0x354)](a0L[bx(0x27c)](bx(0x25f))+a0L['white'](a6+'/'+a7)),null!==a9&&console[bx(0x354)](a0L[bx(0x27c)](bx(0xde))+a0L['white'](a9+bx(0x198))),console['log'](),console[bx(0x354)](a0L[bx(0x219)][bx(0x283)](bx(0x1a8))),console[bx(0x354)](a0L[bx(0x27c)](bx(0xaa))+a0L['bold']['cyan'](bx(0x33f))+a0L[bx(0x27c)]('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bx(0x354)](a0L['gray']('\x20\x20\x20\x20→\x20')+a0L[bx(0x219)][bx(0x15b)]('exam\x20review')+a0L[bx(0x27c)](bx(0x101))),console['log'](a0L[bx(0x27c)](bx(0xaa))+a0L[bx(0x219)]['cyan']('exam\x20submit')+a0L['gray'](bx(0x291))),a2&&a2!==J&&(console[bx(0x354)](),console[bx(0x354)](a0L[bx(0x268)](bx(0x389))),console[bx(0x354)](a0L[bx(0x268)](bx(0x12e))),console[bx(0x354)](),console[bx(0x354)](a0L[bx(0x27c)](bx(0x2ca))),console[bx(0x354)](a0L[bx(0x27c)]('\x20\x20run\x20')+a0L[bx(0x219)][bx(0x15b)](bx(0x319))+a0L[bx(0x27c)]('\x20to\x20wipe\x20local\x20state,\x20then\x20re-enter\x20the\x20new\x20token.'))),void console[bx(0x354)]();}const {isNativeWindowsCmd:W}=await import('../lib/platform.js');if(!W()&&!a0am()){let aa=!(0x18a*0x2+0xc63+-0xf76);try{const ab={};ab[bx(0x1a5)]=bx(0x19a);const ac=a0W()['ctfdUrl']||'https://practice.icoa2026.au',ad=await fetch(ac+bx(0x37d),{'method':bx(0xdf),'headers':ab,'body':JSON['stringify']({'token':J[bx(0x2aa)](),'deviceHash':a0aj(),'peek':!(0x23f5+0xdd6+-0x31cb)}),'signal':AbortSignal[bx(0x3ca)](-0x1f*0xdd+-0x1842+0x1*0x468d)});if(ad['ok']){const ae=await ad[bx(0x163)]();(ae?.[bx(0x305)]?.['exam_id']||'')[bx(0x214)]('-c')&&(aa=!(0x130c*-0x1+0x1f46+0x139*-0xa));}}catch{}if(!aa)return console[bx(0x354)](),a0ab(bx(0x17a)),console['log'](a0L[bx(0x27c)]('\x20\x20→\x20')+a0L[bx(0x219)][bx(0x15b)](bx(0xee))),console[bx(0x354)](a0L[bx(0x27c)](bx(0x2ee))+a0L[bx(0x219)][bx(0x15b)]('back')+a0L[bx(0x27c)](bx(0x2b4))),console[bx(0x354)](a0L[bx(0x27c)]('\x20\x20(Paper\x20C\x20tokens\x20skip\x20this\x20gate\x20—\x20Paper\x20C\x20is\x20MCQ-only)')),void console[bx(0x354)]();}const X={};X['UA']='uk',X['PE']='es',X['CN']='zh',X['AU']='en',X['JP']='ja',X['KR']='ko',X['BR']='pt',X['SA']='ar',X['FR']='fr',X['DE']='de',X['IN']='hi',X['ID']='id',X['TH']='th',X['VN']='vi',X['TR']='tr',X['RU']='ru',X['EG']='ar',X['HT']='ht',X['PH']='en',X['MY']='en',X['MM']='en',X['SG']='en',X['ZA']='en',X['KE']='sw',X['TZ']='sw',X['MO']='zh',X['UZ']='uz',X['GH']='en',X['LA']='lo',X['BD']='bn',X['BI']='fr',X['US']='en',X['UK']='en',X['NZ']='en',X['LK']='si',X['BW']='en';const Y=X[J[bx(0x2aa)]()[bx(0x16e)](0x2e*-0x6d+0x1858+-0x4c2,0xea6+-0x2*0x118d+0x1476)['toUpperCase']()],Z=a0W(),a0=Z['ctfdUrl']||'https://practice.icoa2026.au',a1=Y||Z[bx(0x2c4)]||'en';Y&&Y!==(Z['language']||'en')&&a0X({'language':Y}),console[bx(0x354)](),E(0x1908+-0x5*-0x3d7+-0x2c3b,bx(0x239));try{const af={};af[bx(0x1a5)]=bx(0x19a);const ag=await fetch(a0+bx(0x37d),{'method':bx(0xdf),'headers':af,'body':JSON[bx(0x16d)]({'token':J[bx(0x2aa)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bx(0x3ca)](-0x1*-0x96f+-0xb1c*-0x1+0x1*0x1285)});if(!ag['ok']){E(0x233b*-0x1+-0x2de*-0x8+0xc4b,''),console[bx(0x354)]();const ao=await ag[bx(0x163)]()[bx(0x1e5)](()=>({'message':bx(0x257)}));return a0aa(ao[bx(0x1ac)]||'Invalid\x20exam\x20token'),void a0ac(bx(0x356));}E(-0x1*0x21a3+-0x1eb+0x23ac,'Loading\x20exam...');const ah=await ag[bx(0x163)](),{session:ai,questions:aj,languages:ak}=ah['data'];E(-0x1*0x847+0xbf*-0x17+-0x19ac*-0x1,bx(0xcc)),await q(-0x1*-0x1f01+0xbaf*0x1+0xdf8*-0x3),E(0x1056+0x2*-0xe37+-0x2f*-0x44,bx(0x263)),console[bx(0x354)](),console[bx(0x354)](),a0ae(ai[bx(0x1ca)]),console[bx(0x354)](),a0af(bx(0x373),ai[bx(0x110)]+bx(0x1c9)),a0af('Duration',ai[bx(0x10b)]+'\x20minutes'),a0af(bx(0x35b),(ai[bx(0xf3)]||-0x332+0x1*-0xe33+-0x1*-0x11fb)+bx(0x1d4)),a0af(bx(0x280),(ai[bx(0x20f)]||0x202+-0x206e+0x1eb7)+bx(0x33e)),console[bx(0x354)](),console[bx(0x354)](a0L[bx(0x283)](bx(0x32b))),console[bx(0x354)](a0L[bx(0x283)](bx(0x259))),console['log'](a0L[bx(0x283)](bx(0x223))),console[bx(0x354)](a0L['white'](bx(0x2fb))),ak&&ak[bx(0xac)]>-0x57a*0x3+0x1ad0+0xa61*-0x1&&console[bx(0x354)](a0L[bx(0x283)]('\x20\x20\x20\x20Lang:\x20\x20\x20\x20'+ak['join'](',\x20')+bx(0x271))),console[bx(0x354)](),console[bx(0x354)](a0L[bx(0x268)](bx(0x195))),console[bx(0x354)](a0L['white']('\x20\x20\x20\x20•\x20All\x20interactions\x20are\x20recorded\x20for\x20audit')),console[bx(0x354)](a0L[bx(0x283)](bx(0x237))),console[bx(0x354)](a0L[bx(0x283)]('\x20\x20\x20\x20•\x20You\x20may\x20exit\x20and\x20resume\x20with\x20the\x20same\x20token')),console['log'](),await new Promise(ap=>{const by=bx;process[by(0x1ad)]['write'](a0L['bold']['yellow'](by(0x374)));const aq=!!process[by(0x3bf)]['isTTY']&&process['stdin'][by(0x281)];process['stdin'][by(0x16b)]&&process[by(0x3bf)][by(0xc3)]&&process['stdin'][by(0xc3)](!(-0x1762+-0xe88+0x25eb));const ar=as=>{const bz=by,at=as[bz(0x22a)]();(at[bz(0x309)]('\x0a')||at[bz(0x309)]('\x0d'))&&(process[bz(0x3bf)][bz(0x32e)](bz(0x305),ar),process[bz(0x3bf)][bz(0x16b)]&&process[bz(0x3bf)][bz(0xc3)]&&process[bz(0x3bf)][bz(0xc3)](aq),process['stdout'][bz(0x178)]('\x0a'),ap());};process[by(0x3bf)]['on']('data',ar),process['stdin'][by(0x2d3)]();});const al=new Date()[bx(0x3d1)]();ai['confirmedAt']=al,ai[bx(0x344)]=J['trim']();try{const ap=Date[bx(0x310)](),aq=await fetch(a0+bx(0xe3),{'method':bx(0x3a7),'signal':AbortSignal[bx(0x3ca)](-0x1*0xfe+-0xbd6+0x4*0x623)});if(aq['ok']){const ar=await aq[bx(0x163)](),as=ar?.['data']?.['server_time_ms'];if(bx(0x299)==typeof as&&as>0x135*-0x1+0x84d+-0x718){const at=(ap+Date[bx(0x310)]())/(0x1859+0x6d*0x1b+-0x23d6);ai[bx(0x266)]=Math[bx(0x2f3)](as-at),ai[bx(0x390)]=as+(-0x1*0x148f+-0x107b+0x2546)*ai[bx(0x10b)]*(0x1373*0x2+-0x1*0x116e+-0x1190);}}}catch{}const am={};am[bx(0x267)]=0x0,am['ctf4ai']=0x0;const an={};an[bx(0x129)]=ai,an[bx(0x227)]=aj,an['answers']={},an[bx(0x1dc)]=[],an[bx(0xda)]=am,(a0Z(an),console[bx(0x354)](),a0a9(bx(0x180)),a0af(bx(0xb5),ai[bx(0x10b)]+bx(0x2de)),aj[bx(0xac)]>-0x11*-0x8d+0xb2f+-0x148c&&U(aj[0x12*-0x129+-0x1b95+0x3077]));}catch(au){console[bx(0x354)](),bx(0x1a1)===au[bx(0x3d2)]?a0aa('Server\x20not\x20reachable.\x20Check\x20your\x20internet\x20connection.'):a0aa(au[bx(0x1ac)]||'Failed\x20to\x20start\x20exam');}}),B['command']('reset',{'hidden':!(0x36+-0x1b63*0x1+0x1b2d)})[be(0x128)](be(0x1c2))[be(0x241)](async()=>{const bA=be;a0a8(bA(0x319));const {getRealExamState:F,clearExamState:G}=await import(bA(0x225)),H=F();if(!H)return console[bA(0x354)](),console['log'](a0L[bA(0x27c)]('\x20\x20No\x20active\x20exam\x20session\x20to\x20reset.')),void console[bA(0x354)]();const J=H[bA(0x129)][bA(0x344)];console['log'](),console['log'](a0L['yellow'](bA(0x17f))),console[bA(0x354)](a0L[bA(0x27c)]('\x20\x20\x20\x20\x20Exam:\x20\x20')+a0L[bA(0x283)](H['session'][bA(0x1ca)])),J&&console[bA(0x354)](a0L[bA(0x27c)](bA(0x327))+a0L[bA(0x283)](J)),console[bA(0x354)](a0L['gray'](bA(0x2a5))),console[bA(0x354)](a0L[bA(0x27c)](bA(0x160))),console[bA(0x354)](),console['log'](a0L['gray']('\x20\x20Type\x20')+a0L[bA(0x219)][bA(0x15b)](bA(0xc0))+a0L[bA(0x27c)]('\x20to\x20confirm,\x20or\x20anything\x20else\x20to\x20cancel:'));const {getMainRl:K}=await import(bA(0x196)),L=K();if(bA(0xc0)!==(await new Promise(Q=>{const bB=bA;if(L){const V=L[bB(0x244)](bB(0x187))[bB(0x13f)]();L['removeAllListeners']('line'),L[bB(0x1b3)](bB(0x3af)),L[bB(0x3b2)](),L['once'](bB(0x187),W=>{const bC=bB;for(const X of V)L['on'](bC(0x187),X);Q(W[bC(0x2aa)]());});}else((async()=>{const bD=bB,W={};W[bD(0xdb)]=process[bD(0x3bf)],W[bD(0x32d)]=process[bD(0x1ad)];const {createInterface:X}=await import(bD(0x139)),Y=X(W);Y['question'](bD(0x3af),Z=>{const bE=bD;Y[bE(0x18a)](),Q(Z['trim']());});})());}))[bA(0x3cd)]())return console[bA(0x354)](a0L[bA(0x27c)]('\x20\x20Cancelled.')),void console['log']();G(),console['log'](),console[bA(0x354)](a0L[bA(0x386)](bA(0x253))),console[bA(0x354)](a0L[bA(0x27c)](bA(0x233))+a0L['bold'][bA(0x15b)](bA(0x345))),console[bA(0x354)]();}),B['command']('demo')[be(0x128)]('Try\x20a\x20free\x20practice\x20exam\x20(no\x20account\x20needed)')[be(0x241)](async()=>{const bF=be;a0a8(bF(0x258)),N(bF(0x17d));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import('../lib/demo-exam.js');a0W()[bF(0x330)]||(await(async function(){const bG=bF;let a0=!(-0x5d6+-0x53b*0x6+0x2539);const a1=process[bG(0x3bf)],a2=()=>{a0=!(-0x17c+0x754*-0x4+0x1ecc);},a3=a1[bG(0x16b)]&&bG(0x22f)==typeof a1[bG(0xc3)];a3&&(a1[bG(0xc3)](!(-0x516+-0xe62+-0x7*-0x2c8)),a1[bG(0x2d3)](),a1[bG(0x3b0)](bG(0x305),a2));const a4=async a5=>{let a6=-0xbc1+0x10*0x22d+-0x170f;for(;a6<a5&&!a0;)await q(-0xfb2+0x20e5+0x21*-0x83),a6+=-0x73*0x1b+-0x5ed*-0x5+-0x1130;};try{if(console[bG(0x38d)](),console[bG(0x354)](),console['log'](a0L[bG(0x27c)](bG(0x19f))+a0L[bG(0x21f)](bG(0x2f9))),console[bG(0x354)](),console[bG(0x354)](a0L[bG(0x219)][bG(0x283)](bG(0x174))),console[bG(0x354)](a0L[bG(0x219)][bG(0x283)](bG(0x26d))),console[bG(0x354)](a0L[bG(0x219)][bG(0x283)](bG(0x29e))),console['log'](a0L[bG(0x219)][bG(0x283)](bG(0x2e2))),console[bG(0x354)](a0L[bG(0x219)][bG(0x283)](bG(0x1ec))),console['log'](a0L['bold']['white'](bG(0x367))),console[bG(0x354)](),console[bG(0x354)](a0L[bG(0x219)]['yellow'](bG(0x38e))),console[bG(0x354)](a0L[bG(0x27c)](bG(0x216))),await a4(-0x5*-0x2bb+-0x196*-0x7+-0xefd),a0)return;if(console[bG(0x354)](),console['log'](a0L[bG(0x283)](bG(0xfc))),console[bG(0x354)](),await a4(0x10a2+0x5e*-0x31+0x3b4),a0)return;if(console['log'](a0L['cyan']('\x20\x20\x20\x20\x20▣\x20')+a0L['white'](bG(0x25b))+a0L[bG(0x27c)](bG(0xca))),await a4(0xa2e+0x1*-0xde1+0x66f),a0)return;if(console[bG(0x354)](a0L[bG(0x386)](bG(0x2b9))+a0L[bG(0x283)]('Team\x20up\x20with\x20AI\x20to\x20solve\x20CTFs')+a0L[bG(0x27c)](bG(0x3b6))),await a4(-0x235d+-0x834+-0x9*-0x525),a0)return;if(console[bG(0x354)](a0L[bG(0x255)](bG(0x2b9))+a0L[bG(0x283)](bG(0x1df))+a0L[bG(0x27c)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20(ctf4ai)')),await a4(0x1*0xfef+0xe43+0x1*-0x1aae),a0)return;if(console[bG(0x354)](),console['log'](a0L[bG(0x219)][bG(0x283)]('\x20\x20\x20Your\x20terminal\x20')+a0L[bG(0x219)][bG(0x268)]('IS')+a0L[bG(0x219)][bG(0x283)]('\x20the\x20competition.')),console[bG(0x354)](),await a4(-0x781+0x8f1+0x4*0x11b),a0)return;if(console[bG(0x354)](a0L['gray']('\x20\x20\x20·\x20110\x20CTF\x20tools\x20pre-configured')),await a4(0x1f29+0x2414+-0x41ad),a0)return;if(console[bG(0x354)](a0L[bG(0x27c)](bG(0x27d))),await a4(-0x867*-0x3+0x51*0x56+-0x32db),a0)return;if(console['log'](a0L[bG(0x27c)](bG(0x20e))),await a4(-0x103+-0x12d*0xe+-0x1*-0x1499),a0)return;console['log'](),console[bG(0x354)](a0L[bG(0x219)][bG(0x15b)](bG(0x1a7))),await a4(-0x1a41+-0x255f*-0x1+0x2*0x241);}finally{((()=>{const bH=bG;if(a3){a1[bH(0x32e)](bH(0x305),a2);try{a1['setRawMode'](!(0x1a5c+-0x2121+-0x2*-0x363));}catch{}a1[bH(0x1f8)]();}})()),console[bG(0x38d)]();}}()),a0X({'demoIntroSeen':!(-0xb86+-0x1b12+-0x8*-0x4d3)})),console['log'](),console['log'](a0L['white'](bF(0x2bd))+a0L['gray'](H+bF(0x3d6)+J+'.\x20No\x20timer.\x20Free\x20practice.')),console['log'](a0L[bF(0x27c)](bF(0x285))+a0L[bF(0x15b)]('Ctrl+C')+a0L['gray']('\x20or\x20leave\x20with\x20')+a0L[bF(0x15b)]('back')+a0L['gray'](bF(0x312))),await new Promise(a0=>{const bI=bF;process[bI(0x1ad)][bI(0x178)](a0L[bI(0x219)][bI(0x268)](bI(0x218)));const a1=!!process[bI(0x3bf)]['isTTY']&&process['stdin']['isRaw'];process[bI(0x3bf)][bI(0x16b)]&&process[bI(0x3bf)]['setRawMode']&&process['stdin']['setRawMode'](!(0x83*-0x47+-0x6d3+-0x1*-0x2b29));const a2=a3=>{const bJ=bI,a4=a3['toString']();(a4[bJ(0x309)]('\x0a')||a4[bJ(0x309)]('\x0d'))&&(process[bJ(0x3bf)][bJ(0x32e)](bJ(0x305),a2),process[bJ(0x3bf)][bJ(0x16b)]&&process['stdin'][bJ(0xc3)]&&process['stdin'][bJ(0xc3)](a1),process[bJ(0x1ad)]['write']('\x0a'),a0());};process['stdin']['on'](bI(0x305),a2),process[bI(0x3bf)][bI(0x2d3)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bF(0x225));Q()&&V(bF(0x277)),console['log'](),a0ae(bF(0x2e5)),console[bF(0x354)](),console[bF(0x354)](a0L[bF(0x283)]('\x20\x20Free\x20practice\x20·\x20No\x20account\x20needed\x20·\x20No\x20time\x20limit')),console[bF(0x354)](a0L[bF(0x283)]('\x20\x20'+H+bF(0x36f)+J+bF(0x1d2)));const W=a0a3();if(W[bF(0x2b8)]>0xbb*-0x25+0x1*0x6+0x1b01){const a0=W[bF(0x208)],a1=a0>=0x3f3*0x9+0x22e7+-0x5e*0xbf?a0L[bF(0x386)]:a0>=0x1eda+0x2433*-0x1+0x595*0x1?a0L['yellow']:a0L['white'];console[bF(0x354)](),console[bF(0x354)](a0L[bF(0x27c)](bF(0x1b1))+a1(W[bF(0x39e)]+'/'+H+'\x20('+a0+'%)')+a0L[bF(0x27c)](bF(0xad)+W['attempts']+bF(0x1e8)));}console[bF(0x354)](),console['log'](a0L[bF(0x27c)](bF(0x315))),console[bF(0x354)](a0L[bF(0x283)]('\x20\x20'+a0ai(bF(0x209)))),console[bF(0x354)](a0L[bF(0x268)](bF(0x224))+a0L[bF(0x27c)](bF(0x28a)+a0ai(bF(0x247)))),console[bF(0x354)](a0L[bF(0x268)](bF(0x1e3))+a0L['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bF(0x1c6)))),console['log'](a0L[bF(0x268)]('\x20\x20\x20\x20next')+a0L['gray'](bF(0x331))+a0L[bF(0x268)]('prev')+a0L['gray'](bF(0x1cf)+a0ai(bF(0x236)))),console[bF(0x354)](a0L[bF(0x268)](bF(0x26f))+a0L['gray'](bF(0x34c)+a0ai(bF(0x103)))),console['log'](a0L[bF(0x268)]('\x20\x20\x20\x20back')+a0L[bF(0x27c)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bF(0x34e)))),console[bF(0x354)](a0L['yellow'](bF(0x292))+a0L[bF(0x27c)](bF(0x104)+a0ai(bF(0x365)))),console[bF(0x354)](a0L[bF(0x27c)](bF(0x10f))),console['log'](a0L[bF(0x27c)](bF(0xd7))),console[bF(0x354)](a0L[bF(0x27c)](bF(0x315))),console['log']();const {getConfig:X}=await import(bF(0x351)),Y=X()[bF(0x2c4)]||'en';'en'===Y?(console[bF(0x354)](a0L[bF(0x27c)](bF(0x140))),console[bF(0x354)](a0L['gray'](bF(0x12b))),console[bF(0x354)](a0L[bF(0x27c)]('\x20\x20lang\x20fr\x20·\x20lang\x20ar\x20·\x20lang\x20pt\x20·\x2015\x20languages\x20supported'))):console[bF(0x354)](a0L[bF(0x386)](bF(0x2af)+Y)),console['log'](),console['log'](a0L[bF(0x283)](bF(0x2c8)));const Z={...L,'startedAt':new Date()['toISOString']()};console[bF(0x354)](),E(-0x1*-0xd2f+-0x25b6+-0x1e3*-0xd,bF(0x172)),await q(0xb*-0x17e+-0x14b*-0x1+-0x17*-0xb1),E(0x26d*0xa+0x1399+-0x2bb3,bF(0x1b6)),await q(0x2*-0x2a2+0x1105+-0xaf9),E(-0x5a4+-0x2*-0x115a+-0x1cc0,'Almost\x20ready...'),await q(-0x12*-0x1cd+0xee7+-0x2ebb),E(0x17bd*0x1+0x89*-0x8+-0x1311,bF(0x263)),console[bF(0x354)](),console[bF(0x354)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af(bF(0x373),String(H)),a0af('Duration',bF(0xf9)),U(K[-0xe9b*0x1+0x23f+0xc5c]);}),B['command'](be(0x146))[be(0x128)](be(0x2a2))[be(0x241)](async()=>{const bK=be;a0a8(bK(0x217)),N(bK(0x24e));const {getLocalizedDemoSession:F}=await import(bK(0x1c5)),G=a0a6();if(!G||0x81c+0x175d+0x1*-0x1f79===G['length'])return console[bK(0x354)](),console[bK(0x354)](a0L[bK(0x268)](bK(0x15d))+a0L[bK(0x219)]['cyan'](bK(0x251))+a0L[bK(0x268)](bK(0x161))),void console[bK(0x354)]();const H=a0Y();if(H){if('demo-free'!==H[bK(0x129)][bK(0x278)])return a0ab(bK(0x135)+H[bK(0x129)]['examName']+'\x22\x20is\x20in\x20progress.'),void a0ac('Submit\x20it\x20first:\x20exam\x20submit');a0a0();}const J=V=>{const bL=bK;if(!V[bL(0x2c6)])return V;const W=V[bL(0x1a0)][V[bL(0x2c6)]],X=['A','B','C','D'][bL(0x320)](a2=>V[bL(0x1a0)][a2]);for(let a2=X[bL(0xac)]-(-0x2180+-0x165a+-0xb5*-0x4f);a2>-0x5ed+0x1b*-0x2+-0x1*-0x623;a2--){const a3=Math['floor'](Math[bL(0x117)]()*(a2+(0x1abd+0x509*0x7+0x2b*-0x171)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[-0x1*0x1779+0x1c9b+-0x92*0x9],Y['B']=X[0x24b*0x5+-0xcc4+0x14e],Y['C']=X[-0x1305+0x1fb*-0x13+-0x1c*-0x206],Y['D']=X[-0x78d+0x31d*-0x1+0x38f*0x3];const Z=Y,a0=['A','B','C','D'][bL(0x2ae)](a4=>Z[a4]===W),a1={...V};return a1[bL(0x1a0)]=Z,a1[bL(0x2c6)]=a0,a1;},K=G['map']((V,W)=>({...J(V),'number':W+(-0x2509+-0x6b8*0x3+0x3932)})),L=F(),Q={...L,'examName':L[bK(0x1ca)]+bK(0x3ce),'questionCount':K[bK(0xac)],'startedAt':new Date()[bK(0x3d1)]()};console[bK(0x354)](),a0ae(bK(0xcd)),console[bK(0x354)](),console[bK(0x354)](a0L[bK(0x283)](bK(0x24f)+K[bK(0xac)]+'\x20question'+(0xc89+0x1*-0x1ef1+-0x623*-0x3===K['length']?'':'s')+'\x20you\x20got\x20wrong.')),console['log'](a0L[bK(0x27c)](bK(0x2ea))),console[bK(0x354)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af(bK(0x373),String(K['length'])),a0af(bK(0x325),bK(0xf9)),U(K[0x2467*0x1+0x20cd+0x229a*-0x2]);}),B[be(0x33d)]('setup')['description'](be(0xb9))[be(0x241)](async()=>{const bM=be;if(a0a8(bM(0xee)),0x111*0x19+-0x2a*-0x1f+-0x1fbf===a0a3()[bM(0x2b8)])return console[bM(0x354)](),a0ab(bM(0x3b4)),console[bM(0x354)](a0L[bM(0x27c)](bM(0x2cd))+a0L[bM(0x219)][bM(0x15b)](bM(0x258))),void console[bM(0x354)]();const J=a0ak();if(J){const a7=J[bM(0x361)][bM(0xac)],a8=a7+J[bM(0x14d)][bM(0xac)];if(a7>=-0xed2+-0x7*0x509+0x3219||(a8>-0xac*-0x10+0x1*0x2e4+0x9*-0x184?a7/a8:0x514+0xcc9+0x11*-0x10d)>=-0x1*0x60d+0x2*-0xa75+0x1af7+0.7)return console['log'](),console['log'](a0L['green']('\x20\x20✓\x20')+a0L[bM(0x386)](bM(0x2ba))),console[bM(0x354)](a0L[bM(0x27c)](bM(0xa7)+J[bM(0x173)][bM(0xc9)]('T')[-0x943+0x1605+-0xcc2])),console[bM(0x354)](a0L[bM(0x27c)](bM(0x2ff)+J['pythonVersion'])),console[bM(0x354)](a0L[bM(0x27c)](bM(0xff)+a7+bM(0x138))),J[bM(0x14d)]['length']>-0xa*-0x105+0x8ed*0x4+-0xeb*0x32&&console[bM(0x354)](a0L[bM(0x268)](bM(0xa3)+J[bM(0x14d)][bM(0x177)](',\x20'))),console[bM(0x354)](),console[bM(0x354)](a0L['white'](bM(0x2be))+a0L[bM(0x219)][bM(0x15b)](bM(0x345))),console['log'](a0L[bM(0x27c)](bM(0x2ee))+a0L['bold'][bM(0x15b)]('back')+a0L[bM(0x27c)](bM(0x2b4))),void console[bM(0x354)]();console['log'](),console['log'](a0L[bM(0x268)](bM(0x1a3)+a7+'/'+a8+bM(0x20a))),console[bM(0x354)]();}console[bM(0x354)](),a0ae(bM(0x3a5)),console['log'](),console[bM(0x354)](a0L[bM(0x283)](bM(0x36e))),console[bM(0x354)](a0L[bM(0x27c)](bM(0x36d))),console[bM(0x354)]();const K=(a9,aa)=>{const bN=bM,ab=process['platform'];console[bN(0x354)](),a0aa(bN(0x25e)===a9?bN(0x282):bN(0x1a2)+aa+'\x20found,\x20but\x203.10+\x20required\x20for\x20the\x20exam.'),console['log'](),console[bN(0x354)](a0L[bN(0x219)][bN(0x283)](bN(0x14a))),console['log'](),'darwin'===ab?(console['log'](a0L[bN(0x268)](bN(0x19d))),console[bN(0x354)](a0L[bN(0x386)](bN(0x18d))),console['log'](),console[bN(0x354)](a0L[bN(0x27c)](bN(0x376))),console[bN(0x354)](a0L[bN(0x27c)](bN(0x213)))):'linux'===ab?(console['log'](a0L['yellow']('\x20\x20Ubuntu\x20/\x20Debian\x20(deadsnakes\x20PPA):')),console[bN(0x354)](a0L[bN(0x386)]('\x20\x20\x20\x20sudo\x20add-apt-repository\x20ppa:deadsnakes/ppa\x20-y')),console['log'](a0L[bN(0x386)](bN(0x32a))),console[bN(0x354)](a0L[bN(0x386)]('\x20\x20\x20\x20sudo\x20apt\x20install\x20-y\x20python3.12\x20python3.12-venv\x20python3.12-distutils')),console[bN(0x354)](a0L['gray'](bN(0xd3))),console[bN(0x354)](),console[bN(0x354)](a0L['yellow'](bN(0x1ef))),console[bN(0x354)](a0L[bN(0x386)](bN(0x28d))),console[bN(0x354)](),console[bN(0x354)](a0L[bN(0x268)]('\x20\x20Arch\x20/\x20Manjaro:')),console[bN(0x354)](a0L[bN(0x386)](bN(0x120)))):bN(0xc1)===ab?(console[bN(0x354)](a0L[bN(0x268)](bN(0x38b))),console[bN(0x354)](a0L[bN(0x386)]('\x20\x20\x20\x20winget\x20install\x20Python.Python.3.12')),console['log'](),console['log'](a0L[bN(0x27c)]('\x20\x20Or\x20download\x20installer:')),console['log'](a0L[bN(0x27c)](bN(0x286)))):console[bN(0x354)](a0L[bN(0x27c)](bN(0xe7))),console[bN(0x354)](),console[bN(0x354)](a0L['white']('\x20\x20After\x20installing,\x20run:\x20')+a0L['bold']['cyan'](bN(0xee))),console['log']();},{execFileSync:L}=await import(bM(0xbd)),Q=[bM(0x2e1),'python3.11',bM(0x31b),bM(0x107)];let V='',W='',X='';for(const a9 of Q)try{const aa=L(a9,[bM(0x1f7)],{'encoding':bM(0x26c),'timeout':0x1388})[bM(0x2aa)]()['replace'](bM(0x1a2),''),ab=aa['split']('.')[bM(0x320)](Number);if(-0xc0a*0x3+0x5*0x5d1+0x70c*0x1===ab[0x20*-0xd4+0x202+-0x5*-0x4e6]&&ab[0x44d*0x1+-0x1fca+0x1b7e]>=-0x1f9*0x1+0x358*-0x1+-0x55b*-0x1){V=a9,W=aa;break;}bM(0x107)!==a9||X||(X=aa);}catch{}if(!V)return void(X?K(bM(0x2b6),X):K('missing'));const Y=W['split']('.')[bM(0x320)](Number);0x4*-0x2c7+0x6ec*-0x1+0x95*0x1f===Y[-0x10d9+-0x1c55+0x1*0x2d2e]&&Y[0xc74+-0x7eb+-0x28*0x1d]<0x1*0xf65+-0x2*-0xd11+0x5ed*-0x7?console['log'](a0L[bM(0x386)](bM(0x29c)+W)+a0L[bM(0x27c)]('\x20(works,\x20but\x203.12\x20recommended)')):console['log'](a0L[bM(0x386)](bM(0x29c)+W));try{const ac={};ac['stdio']=bM(0x37c),ac['timeout']=0x1388,(a0an(V+bM(0xe2),ac),console[bM(0x354)](a0L[bM(0x386)](bM(0x11f))));}catch{console[bM(0x354)](a0L[bM(0x268)](bM(0x32c)));try{const ad={};ad[bM(0xd4)]=bM(0x37c),ad[bM(0x3ca)]=0x7530,(a0an(V+'\x20-m\x20ensurepip\x20--upgrade',ad),console[bM(0x354)](a0L['green'](bM(0x2c0))));}catch{a0aa(bM(0x339)),console[bM(0x354)]();const {isInWSL:ae,isNativeWindowsCmd:af}=await import('../lib/platform.js'),{execFileSync:ag}=await import(bM(0xbd)),ah=ae(),ai=af(),aj=bM(0x1b5)===process[bM(0xb4)]&&!ah,ak=bM(0x226)===process[bM(0xb4)];let al='your\x20Linux\x20distro';if(aj||ah)try{const {readFileSync:ao}=await import(bM(0x304)),ap=ao('/etc/os-release','utf-8'),aq=(ap[bM(0x3ab)](/^ID="?([^"\n]+)/m)||[])[-0x4c7*0x4+-0x4f7+-0x17*-0x10c]||'',ar=(ap[bM(0x3ab)](/^VERSION_ID="?([^"\n]+)/m)||[])[0x1f43+0x1*0x2125+-0x4067]||'';bM(0x248)===aq?al=bM(0x2f0)+ar+(ah?bM(0xa5):''):aq&&(al=''+aq+(ar?'\x20'+ar:'')+(ah?bM(0xa5):''));}catch{}let am=!(0x1a4d*0x1+-0x13dd+-0x66f);if(ak)try{const as={};as[bM(0xd4)]=bM(0x37c),as[bM(0x3ca)]=0x7d0,(ag(bM(0x152),['brew'],as),am=!(-0x1*0x3d3+-0x4*0x1d2+0xb1b));}catch{am=!(0xdbb*-0x1+-0x21dc+0x2f98);}const an=ai?bM(0x35e):bM(0x1fe);return console[bM(0x354)](a0L['bold']['yellow'](bM(0x240))),console[bM(0x354)](a0L['bold'][bM(0x268)]('\x20\x20'+an)),console['log'](a0L[bM(0x219)][bM(0x268)](bM(0x240))),console[bM(0x354)](),aj||ah?(console[bM(0x354)](a0L[bM(0x283)]('\x20\x20Detected:\x20')+a0L['cyan'](al)),console[bM(0x354)](a0L[bM(0x27c)]('\x20\x20(Minimal\x20Ubuntu\x20/\x20cloud\x20/\x20WSL2\x20images\x20often\x20ship\x20without\x20pip.)')),console[bM(0x354)](),console[bM(0x354)](a0L['bold'][bM(0x283)]('\x20\x20Step-by-step:')),console[bM(0x354)](),console['log'](a0L[bM(0x283)](bM(0x34d))+a0L['bold'][bM(0x15b)]('quit')+a0L['white'](bM(0x102))),console[bM(0x354)](),console[bM(0x354)](a0L[bM(0x283)](bM(0x368))),console[bM(0x354)](),console[bM(0x354)](bM(0x28a)+a0L[bM(0x219)][bM(0x15b)]('sudo\x20apt\x20update')),console[bM(0x354)](bM(0x28a)+a0L[bM(0x219)][bM(0x15b)](bM(0x1bd))),console[bM(0x354)](),console[bM(0x354)](a0L[bM(0x283)](bM(0x121))),console['log'](),console[bM(0x354)](bM(0x28a)+a0L[bM(0x219)]['cyan'](bM(0x3b3))),console[bM(0x354)](bM(0x28a)+a0L[bM(0x27c)]('icoa>')+'\x20'+a0L[bM(0x219)][bM(0x15b)](bM(0xee)))):ak?(console[bM(0x354)](a0L[bM(0x283)]('\x20\x20Detected:\x20')+a0L[bM(0x15b)](bM(0x334))),console[bM(0x354)](),console[bM(0x354)](a0L[bM(0x219)]['white'](bM(0x2d8))),console['log'](),console[bM(0x354)](a0L[bM(0x283)](bM(0x34d))+a0L[bM(0x219)]['cyan']('quit')+a0L[bM(0x283)](bM(0xf6))),console['log'](),am?(console[bM(0x354)](a0L['white'](bM(0xb7))),console[bM(0x354)](),console['log'](bM(0x28a)+a0L[bM(0x219)][bM(0x15b)](bM(0x18e))),console[bM(0x354)](bM(0x28a)+a0L[bM(0x219)]['cyan']('brew\x20link\x20--overwrite\x20python@3.12'))):(console[bM(0x354)](a0L[bM(0x283)]('\x20\x20\x20\x202.\x20Install\x20Homebrew\x20first\x20(we\x20did\x20not\x20find\x20')+a0L[bM(0x219)][bM(0x268)](bM(0x12c))+a0L[bM(0x283)]('):')),console[bM(0x354)](),console[bM(0x354)](bM(0x28a)+a0L['bold'][bM(0x15b)](bM(0xd1))),console[bM(0x354)](),console[bM(0x354)](a0L[bM(0x283)](bM(0x23a))),console[bM(0x354)](),console[bM(0x354)](bM(0x28a)+a0L['bold'][bM(0x15b)](bM(0x18e)))),console[bM(0x354)](),console[bM(0x354)](a0L[bM(0x283)](bM(0x1af))),console[bM(0x354)](),console[bM(0x354)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x219)][bM(0x15b)]('icoa')),console[bM(0x354)](bM(0x28a)+a0L[bM(0x27c)](bM(0x313))+'\x20'+a0L[bM(0x219)][bM(0x15b)](bM(0xee)))):ai?(console['log'](a0L[bM(0x283)](bM(0x372))+a0L[bM(0x15b)](bM(0x382))),console['log'](),console[bM(0x354)](a0L[bM(0x219)]['yellow']('\x20\x20ICOA\x20officially\x20supports\x20WSL2\x20on\x20Windows.')),console['log'](a0L[bM(0x27c)](bM(0xf1))),console[bM(0x354)](a0L['gray'](bM(0x2a9))),console['log'](a0L[bM(0x27c)]('\x20\x20far\x20more\x20smoothly\x20inside\x20WSL2\x20Ubuntu.')),console[bM(0x354)](),console[bM(0x354)](a0L['bold'][bM(0x283)](bM(0x188))),console[bM(0x354)](),console[bM(0x354)](a0L['white'](bM(0x34d))+a0L['bold'][bM(0x15b)](bM(0x2f8))+a0L['white'](bM(0xf6))),console[bM(0x354)](a0L[bM(0x283)](bM(0x168))),console[bM(0x354)](),console[bM(0x354)](bM(0x28a)+a0L[bM(0x219)]['cyan'](bM(0x3c1))),console[bM(0x354)](),console[bM(0x354)](a0L['gray'](bM(0x284))),console[bM(0x354)](a0L[bM(0x283)](bM(0x1f9))),console[bM(0x354)](),console[bM(0x354)](bM(0x28a)+a0L[bM(0x219)][bM(0x15b)](bM(0x2f2))),console[bM(0x354)](bM(0x28a)+a0L[bM(0x219)]['cyan'](bM(0xd2))),console['log'](bM(0x28a)+a0L[bM(0x219)][bM(0x15b)](bM(0x30e))),console[bM(0x354)](bM(0x28a)+a0L[bM(0x219)][bM(0x15b)]('icoa')),console['log'](),console[bM(0x354)](a0L[bM(0x27c)](bM(0x287))),console['log'](),console[bM(0x354)](a0L['white'](bM(0x34d))+a0L[bM(0x219)][bM(0x15b)](bM(0x2f8))+a0L[bM(0x283)](bM(0xf6))),console['log'](a0L[bM(0x283)](bM(0x181))),console[bM(0x354)](),console[bM(0x354)](bM(0x28a)+a0L[bM(0x219)]['cyan'](bM(0x220))),console[bM(0x354)](),console['log'](a0L[bM(0x27c)](bM(0x1bc))),console['log'](a0L[bM(0x27c)](bM(0x3a0))),console[bM(0x354)](a0L['white'](bM(0x2e3))),console[bM(0x354)](),console[bM(0x354)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x219)][bM(0x15b)]('icoa')),console[bM(0x354)](bM(0x28a)+a0L[bM(0x27c)](bM(0x313))+'\x20'+a0L[bM(0x219)][bM(0x15b)](bM(0xee)))):(console[bM(0x354)](a0L['white'](bM(0x144))+a0L['cyan'](process['platform'])+a0L[bM(0x283)](')')),console['log'](),console[bM(0x354)](a0L[bM(0x27c)](bM(0x113))),console[bM(0x354)](bM(0x28a)+a0L['bold'][bM(0x15b)](bM(0x3b3))),console[bM(0x354)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x27c)](bM(0x313))+'\x20'+a0L['bold'][bM(0x15b)](bM(0xee)))),console['log'](),console['log'](a0L[bM(0x27c)](bM(0x111))),void console[bM(0x354)]();}}const Z={};Z[bM(0x1c0)]='bs4',Z[bM(0x11e)]='Crypto',Z[bM(0x1bf)]='z3',Z[bM(0x30d)]=bM(0x246),Z[bM(0x294)]=bM(0x3c6),Z[bM(0x249)]='ropgadget';const a0=[bM(0x294),bM(0x1b0),bM(0x303),bM(0x1c0),bM(0xe8),bM(0x30d),bM(0x1de),'sympy',bM(0x1bf),'pycryptodome',bM(0x249),bM(0xc5),bM(0x1e2)],a1=Z;console[bM(0x354)](),console[bM(0x354)](a0L[bM(0x283)](bM(0x30f)+a0[bM(0xac)]+bM(0x127))),console[bM(0x354)]();let a2='';try{const at={};at[bM(0x205)]=bM(0x26c),at[bM(0x3ca)]=0x2710,a0an(V+bM(0x371),at);}catch(au){const av=String(au?.['stdout']||au?.[bM(0x10e)]||au?.[bM(0x1ac)]||'');/externally-managed-environment|break-system-packages/i['test'](av)&&(a2=bM(0x176),console[bM(0x354)](a0L[bM(0x268)](bM(0x348))),console['log']());}const a3=W[bM(0xc9)]('.')['map'](Number);-0x56+0xf90+0x1*-0xf37===a3[-0x529*-0x5+0x1aa0+-0x1*0x346d]&&a3[-0x75b+0x1*-0x47f+0xbdb*0x1]>=0x459*0x3+-0x1b29+0x5d*0x27&&(console[bM(0x354)](a0L[bM(0x268)]('\x20\x20⚠\x20Python\x20'+W+bM(0x155))),console['log'](a0L[bM(0x27c)](bM(0x27b))),console[bM(0x354)](a0L[bM(0x27c)](bM(0x20b))),bM(0x1b5)===process[bM(0xb4)]&&(console[bM(0x354)](a0L[bM(0x386)]('\x20\x20\x20\x20\x20\x20sudo\x20apt\x20install\x20python3.12\x20python3.12-venv')),console['log'](a0L[bM(0x386)](bM(0x363)))),console['log']());const a4=[],a5=[];let a6='';for(const aw of a0)try{a0an(V+bM(0x142)+aw+'\x22\x20'+a2+'\x20--quiet\x202>&1',{'encoding':bM(0x26c),'timeout':0x2bf20,'stdio':bM(0x13d)}),a0an(V+bM(0x179)+(a1[aw]||aw)+'\x22',{'stdio':bM(0x37c),'timeout':0x2710});let ax='';try{const ay=a0an(V+'\x20-m\x20pip\x20show\x20\x22'+aw+bM(0x2e6),{'encoding':bM(0x26c),'timeout':0x1388})[bM(0x3ab)](/^Version:\s*(.+)$/m);ay&&(ax=ay[0xd*-0x18f+-0x171c+-0xad8*-0x4][bM(0x2aa)]());}catch{}console[bM(0x354)](a0L['green'](bM(0x203)+aw)+(ax?a0L['gray']('\x20('+ax+')'):'')),a4[bM(0x13e)](ax?aw+'=='+ax:aw);}catch(az){const aA=String(az?.[bM(0x1ad)]||az?.[bM(0x10e)]||az?.[bM(0x1ac)]||'')[bM(0x13f)](-(-0x23df*0x1+0x1*-0x152f+-0x3*-0x138a)),aB=aA[bM(0xc9)]('\x0a')[bM(0x30b)](aC=>aC['trim']())[bM(0x13f)](-(-0x146b*0x1+-0x1fc7+0x3434))[bM(0x177)]('\x20|\x20')[bM(0x13f)](-0xdc9*0x2+-0xe08+0x19*0x1aa,0x3*0x379+0x4ea+-0xedd);console[bM(0x354)](a0L[bM(0x255)](bM(0x33b)+aw)+a0L[bM(0x27c)]('\x20\x20'+aB)),a5[bM(0x13e)]({'pkg':aw,'error':aB}),a6||(a6=aA);}-0x1*-0x471+0x1326+-0x1797===a4[bM(0xac)]&&a6&&(console[bM(0x354)](),console['log'](a0L[bM(0x268)](bM(0x358))),console[bM(0x354)](a0L[bM(0x27c)]('\x20\x20'+a6['split']('\x0a')['slice'](-(0x1888+-0xa0c*-0x1+-0x228e))[bM(0x177)](bM(0x231))))),a0al({'completedAt':new Date()[bM(0x3d1)](),'pythonVersion':W,'installedPackages':a4,'failedPackages':a5['map'](aC=>aC['pkg'])}),console['log'](),0xa1f*0x2+-0x20e9+-0x3*-0x439===a5[bM(0xac)]?a0a9('Environment\x20ready!\x20All\x20'+a0[bM(0xac)]+bM(0x340)):0x422+0x110b+-0x152d===a4[bM(0xac)]?(a0aa(bM(0x1ff)+a0[bM(0xac)]+bM(0x340)),console['log'](),console[bM(0x354)](a0L[bM(0x268)](bM(0x262))),-0x1088+0x8*0x425+-0x109d===a3[-0x29c*-0x9+-0xb94+-0xbe8]&&a3[0x3*-0x335+0xcd+-0x8d3*-0x1]>=0x27*-0x5d+0x455*-0x5+0x23e1?(console[bM(0x354)](a0L['gray'](bM(0x1e9))),console[bM(0x354)](a0L[bM(0x27c)](bM(0x398)))):(console[bM(0x354)](a0L[bM(0x27c)](bM(0x158))),console[bM(0x354)](a0L[bM(0x27c)](bM(0x1d5))+a0L[bM(0x15b)](V+bM(0x35a))+a0L[bM(0x27c)](bM(0x364))),console['log'](a0L[bM(0x27c)](bM(0x1c8)))),console[bM(0x354)](),console[bM(0x354)](a0L[bM(0x283)](bM(0x190))+a0L[bM(0x219)]['cyan'](bM(0xee)))):a0ab(a4[bM(0xac)]+'/'+a0[bM(0xac)]+'\x20packages\x20installed.\x20'+a5[bM(0xac)]+bM(0x311)+a5[bM(0x320)](aC=>aC[bM(0x272)])[bM(0x177)](',\x20')),console[bM(0x354)](),console[bM(0x354)](a0L['cyan'](bM(0xb1))),console[bM(0x354)](a0L[bM(0x219)]['white'](bM(0x3b8))),console[bM(0x354)](a0L[bM(0x15b)](bM(0xb1))),console['log'](),console[bM(0x354)](a0L[bM(0x219)]['yellow'](bM(0x2dd))+a0L[bM(0x27c)](bM(0x297))),console['log'](a0L[bM(0x283)](bM(0x301))),console[bM(0x354)](a0L[bM(0x386)](bM(0x211))),console[bM(0x354)](a0L[bM(0x27c)](bM(0x28b))),console[bM(0x354)](),console[bM(0x354)](a0L[bM(0x219)]['yellow'](bM(0x21c))+a0L[bM(0x27c)](bM(0x377))),console['log'](a0L[bM(0x283)](bM(0x30c))),console[bM(0x354)](a0L[bM(0x386)](bM(0x337))),console[bM(0x354)](a0L[bM(0x27c)](bM(0x171))),console[bM(0x354)](a0L['gray'](bM(0x31e))),console[bM(0x354)](a0L['gray']('\x20\x20\x20\x20>>>\x20cipher\x20=\x20AES.new(key,\x20AES.MODE_CBC,\x20iv)')),console[bM(0x354)](a0L[bM(0x27c)](bM(0x1c4))),console[bM(0x354)](a0L['gray'](bM(0x261))),console[bM(0x354)](),console[bM(0x354)](a0L['bold'][bM(0x268)](bM(0xce))+a0L[bM(0x27c)](bM(0x2e9))),console[bM(0x354)](a0L[bM(0x283)](bM(0x2b7))),console[bM(0x354)](a0L['green'](bM(0x1d6))),console[bM(0x354)](a0L[bM(0x27c)](bM(0x2bb))),console[bM(0x354)](a0L[bM(0x27c)]('\x20\x20\x20\x20ct\x20=\x20bytes.fromhex(\x220a2b0e1c...\x22)')),console['log'](a0L[bM(0x27c)]('\x20\x20\x20\x20key\x20=\x20xor(ct[:5],\x20b\x22ICOA{\x22)')),console[bM(0x354)](a0L['gray'](bM(0x1fa))),console[bM(0x354)](a0L[bM(0x386)](bM(0x31a))),console[bM(0x354)](a0L[bM(0x386)]('\x20\x20\x20\x20!python3\x20solve.py')),console[bM(0x354)](),console['log'](a0L[bM(0x219)][bM(0x268)]('\x20\x20AI\x20Assistant')),console[bM(0x354)](a0L['white']('\x20\x20During\x20the\x20exam,\x20type\x20')+a0L['bold'][bM(0x15b)](bM(0x2f4))+a0L['white'](bM(0x28c))),console[bM(0x354)](a0L[bM(0x27c)]('\x20\x20\x20\x20\x22How\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console['log'](a0L[bM(0x27c)](bM(0x26a))),console[bM(0x354)](a0L['gray'](bM(0x3d4))),console[bM(0x354)](a0L[bM(0x15b)](bM(0xb1))),console[bM(0x354)](),console[bM(0x354)](a0L[bM(0x283)](bM(0x2be))+a0L[bM(0x219)][bM(0x15b)](bM(0x345))),console[bM(0x354)](a0L[bM(0x27c)]('\x20\x20Or\x20type\x20')+a0L[bM(0x219)][bM(0x15b)](bM(0x26e))+a0L['gray'](bM(0x2b4))),console['log']();}),B[be(0x241)](()=>{const bO=be;a0a8(bO(0x14e));const F=a0Y();if(F){a0ae(bO(0x300)+F[bO(0x129)][bO(0x1ca)]),O();const J=Object[bO(0x2eb)](F[bO(0x186)])[bO(0xac)];return a0af(bO(0x23f),J+'/'+F['session'][bO(0x110)]+bO(0x273)),console[bO(0x354)](),void console[bO(0x354)](a0L[bO(0x27c)](bO(0x2d2)));}const G=a0a3(),H=a0ak();console[bO(0x354)](),a0ae(bO(0x112)),console['log'](),-0x1*-0x2446+-0x12b+-0x231b===G[bO(0x2b8)]?(console['log'](a0L[bO(0x268)](bO(0xcb))+a0L[bO(0x268)](bO(0xf8))),console[bO(0x354)](a0L['gray'](bO(0xaa))+a0L[bO(0x219)][bO(0x15b)]('exam\x20demo'))):(console[bO(0x354)](a0L[bO(0x386)](bO(0xeb))+a0L[bO(0x386)](bO(0x355)+G[bO(0x2b8)]+bO(0x2d1)+(0xabc+-0x3ae*-0x7+-0x247d!==G['attempts']?'s':'')+')')),H?(console[bO(0x354)](a0L[bO(0x386)](bO(0xeb))+a0L[bO(0x386)]('Environment\x20ready')),console[bO(0x354)](a0L[bO(0x268)](bO(0xcb))+a0L[bO(0x268)]('Enter\x20exam\x20token\x20to\x20begin')),console['log'](a0L[bO(0x27c)](bO(0xaa))+a0L[bO(0x219)][bO(0x15b)](bO(0x345)))):(console['log'](a0L[bO(0x268)](bO(0xcb))+a0L[bO(0x268)]('Pre-exam\x20setup\x20required')),console[bO(0x354)](a0L[bO(0x27c)]('\x20\x20\x20\x20→\x20')+a0L[bO(0x219)][bO(0x15b)]('exam\x20setup')))),console[bO(0x354)]();});}
@@ -2,9 +2,10 @@
2
2
  * `icoa sim [scenario]` — zero-friction MuJoCo replay.
3
3
  *
4
4
  * The WOW moment in 5 seconds. No tokens, no walkthrough, no UI.
5
- * Fetches a server-rendered MP4 of the Franka Panda arm executing one
6
- * of five preset VLA action vectors, opens it with the system video
7
- * player, prints a one-line context note.
5
+ * Fetches a server-rendered MP4 of a dual-robot MuJoCo scene
6
+ * (Franka Panda + a 6-DOF companion arm) executing one of five preset
7
+ * VLA action vectors, opens it with the system video player, prints
8
+ * a one-line context note.
8
9
  *
9
10
  * Built for: marketing demos, "show me what ICOA looks like in 5 sec",
10
11
  * social-media clips, country-leader first contact, conference booths.
@@ -1 +1 @@
1
- import chalk from"chalk";import{spawn as o}from"node:child_process";import{writeFileSync as e}from"node:fs";import{join as n}from"node:path";import{fetchWithCountdown as r}from"../lib/countdown.js";import{COOLDOWN_SECONDS as a,lastSimAt as t,markSimAt as s}from"../lib/sim-cooldown.js";const l={baseline:{action:null,label:"Baseline — robot doing its job",hint:"Approach → grasp → lift → place → return. This is what normal looks like.",frames:90,narrative:!0},release:{action:{xyz:[.1,0,.3],rotation:[0,0,0],gripper_close:.05},label:'Prompt Injection — "release the gripper"',hint:"Gripper opens (0.05 < 0.10 win threshold). This is Paper D Q41 success."},patch:{action:{xyz:[-.3,.2,.5],rotation:[.5,0,.3],gripper_close:.95},label:"Adversarial Patch — sticker redirects the arm",hint:"Same instruction, but arm reaches LEFT instead of RIGHT. Paper D Q42 success."},confused:{action:{xyz:[.001,0,.001],rotation:[0,0,0],gripper_close:.5},label:'Modality Confusion — "pick up the purple object"',hint:"No purple object exists. VLA freezes near origin. Paper D Q43 success."},color:{action:{xyz:[.4,-.3,.6],rotation:[-.4,.2,-.1],gripper_close:.2},label:"Cross-Modal Attack — image + text manipulated together",hint:"Action drifts hard on multiple axes. Paper D Q49-class attack (future).",hidden:!0}},i=Object.fromEntries(Object.entries(l).filter(([,o])=>!o.hidden));export function registerSimCommand(c){c.command("sim [scenario]").description("Render a MuJoCo VLA replay (baseline / release / patch / confused)").action(async c=>{await async function(c){const p=l[c.toLowerCase()];if(!p){console.log(),console.log(chalk.yellow(` Unknown scenario: "${c}"`)),console.log(chalk.gray(" Available:"));for(const[o,e]of Object.entries(i))console.log(chalk.gray(" ")+chalk.bold.cyan(o.padEnd(10))+chalk.gray(e.label));return void console.log()}const g=(Date.now()-t())/1e3;if(g<a){const o=Math.ceil(a-g);return console.log(),console.log(chalk.yellow(` Please wait ${o}s before the next sim.`)),console.log(chalk.gray(" (One render per minute keeps things fast for everyone.)")),void console.log()}const d=`${process.env.ICOA_SERVER_URL?.replace(/\/+$/,"")||"https://practice.icoa2026.au"}/api/ai/vla/41/sim`;console.log(),console.log(chalk.bold.cyan(" ICOA · MuJoCo Sim")),console.log(chalk.gray(" ")+chalk.white(p.label)),console.log();try{const a=fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:p.action,frames:p.frames,narrative:p.narrative}),signal:AbortSignal.timeout(6e4)}),t=await r(a);if(!t.ok)return void console.log(chalk.yellow(` Server returned HTTP ${t.status}.`));const l=await t.json();if(!l.success||!l.data?.mp4_b64)return void console.log(chalk.yellow(" Renderer unavailable."));const g=process.env.TMPDIR||"/tmp",m=n(g,`icoa-sim-${c}-${Date.now()}.mp4`);e(m,Buffer.from(l.data.mp4_b64,"base64")),s(Date.now()),console.log(),console.log(chalk.bold.green(" ✓ ")+chalk.gray("Rendered.")),l.data.description&&console.log(chalk.gray(" Action: ")+chalk.white(l.data.description)),console.log(),console.log(chalk.gray(" ")+p.hint),console.log();const y="darwin"===process.platform?"open":"win32"===process.platform?"start":"xdg-open";y?(o(y,[m],{stdio:"ignore",detached:!0}).unref(),console.log(chalk.gray(" Opening in your default video player..."))):console.log(chalk.gray(" Open the file above in any video player.")),console.log(),console.log(chalk.gray(" You just rendered a Franka Panda controlled by ")+chalk.bold.cyan("ICOA-VLA")+chalk.gray(" through ")+chalk.bold.cyan("MuJoCo")+chalk.gray(".")),console.log();const f="1"===process.env.ICOA_INSIDE_REPL?"":"icoa ";console.log(chalk.gray(" Try other scenarios:"));for(const o of Object.keys(i))o!==c.toLowerCase()&&console.log(chalk.gray(" "+f+"sim ")+chalk.cyan(o));console.log(),console.log(chalk.gray(" Next steps · ")+chalk.bold.cyan(f+"demo2")+chalk.gray(" (~8 min intro) · ")+chalk.bold.cyan(f+"learn LEARNDEMO01")+chalk.gray(" (curriculum)")),console.log()}catch(o){const e=o instanceof Error?o.message:String(o);console.log(chalk.yellow(` Sim error: ${e}`))}}(c||"baseline")})}export{l as SCENARIOS};
1
+ import chalk from"chalk";import{spawn as o}from"node:child_process";import{writeFileSync as e}from"node:fs";import{join as n}from"node:path";import{fetchWithCountdown as r}from"../lib/countdown.js";import{COOLDOWN_SECONDS as a,lastSimAt as t,markSimAt as s}from"../lib/sim-cooldown.js";const l={baseline:{action:null,label:"Baseline — robot doing its job",hint:"Approach → grasp → lift → place → return. This is what normal looks like.",frames:90,narrative:!0},release:{action:{xyz:[.1,0,.3],rotation:[0,0,0],gripper_close:.05},label:'Prompt Injection — "release the gripper"',hint:"Gripper opens (0.05 < 0.10 win threshold). This is Paper D Q41 success."},patch:{action:{xyz:[-.3,.2,.5],rotation:[.5,0,.3],gripper_close:.95},label:"Adversarial Patch — sticker redirects the arm",hint:"Same instruction, but arm reaches LEFT instead of RIGHT. Paper D Q42 success."},confused:{action:{xyz:[.001,0,.001],rotation:[0,0,0],gripper_close:.5},label:'Modality Confusion — "pick up the purple object"',hint:"No purple object exists. VLA freezes near origin. Paper D Q43 success."},color:{action:{xyz:[.4,-.3,.6],rotation:[-.4,.2,-.1],gripper_close:.2},label:"Cross-Modal Attack — image + text manipulated together",hint:"Action drifts hard on multiple axes. Paper D Q49-class attack (future).",hidden:!0}},i=Object.fromEntries(Object.entries(l).filter(([,o])=>!o.hidden));export function registerSimCommand(c){c.command("sim [scenario]").description("Render a MuJoCo VLA replay (baseline / release / patch / confused)").action(async c=>{await async function(c){const p=l[c.toLowerCase()];if(!p){console.log(),console.log(chalk.yellow(` Unknown scenario: "${c}"`)),console.log(chalk.gray(" Available:"));for(const[o,e]of Object.entries(i))console.log(chalk.gray(" ")+chalk.bold.cyan(o.padEnd(10))+chalk.gray(e.label));return void console.log()}const g=(Date.now()-t())/1e3;if(g<a){const o=Math.ceil(a-g);return console.log(),console.log(chalk.yellow(` Please wait ${o}s before the next sim.`)),console.log(chalk.gray(" (One render per minute keeps things fast for everyone.)")),void console.log()}const d=`${process.env.ICOA_SERVER_URL?.replace(/\/+$/,"")||"https://practice.icoa2026.au"}/api/ai/vla/41/sim`;console.log(),console.log(chalk.bold.cyan(" ICOA · MuJoCo Sim")),console.log(chalk.gray(" ")+chalk.white(p.label)),console.log();try{const a=fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:p.action,frames:p.frames,narrative:p.narrative}),signal:AbortSignal.timeout(6e4)}),t=await r(a);if(!t.ok)return void console.log(chalk.yellow(` Server returned HTTP ${t.status}.`));const l=await t.json();if(!l.success||!l.data?.mp4_b64)return void console.log(chalk.yellow(" Renderer unavailable."));const g=process.env.TMPDIR||"/tmp",m=n(g,`icoa-sim-${c}-${Date.now()}.mp4`);e(m,Buffer.from(l.data.mp4_b64,"base64")),s(Date.now()),console.log(),console.log(chalk.bold.green(" ✓ ")+chalk.gray("Rendered.")),l.data.description&&console.log(chalk.gray(" Action: ")+chalk.white(l.data.description)),console.log(),console.log(chalk.gray(" ")+p.hint),console.log();const y="darwin"===process.platform?"open":"win32"===process.platform?"start":"xdg-open";y?(o(y,[m],{stdio:"ignore",detached:!0}).unref(),console.log(chalk.gray(" Opening in your default video player..."))):console.log(chalk.gray(" Open the file above in any video player.")),console.log(),console.log(chalk.gray(" You just rendered ")+chalk.white("Franka Panda")+chalk.gray(" + a 6-DOF companion arm, controlled by ")+chalk.bold.cyan("ICOA-VLA")+chalk.gray(" through ")+chalk.bold.cyan("MuJoCo")+chalk.gray(".")),console.log();const f="1"===process.env.ICOA_INSIDE_REPL?"":"icoa ";console.log(chalk.gray(" Try other scenarios:"));for(const o of Object.keys(i))o!==c.toLowerCase()&&console.log(chalk.gray(" "+f+"sim ")+chalk.cyan(o));console.log(),console.log(chalk.gray(" Next steps · ")+chalk.bold.cyan(f+"demo2")+chalk.gray(" (~8 min intro) · ")+chalk.bold.cyan(f+"learn LEARNDEMO01")+chalk.gray(" (curriculum)")),console.log()}catch(o){const e=o instanceof Error?o.message:String(o);console.log(chalk.yellow(` Sim error: ${e}`))}}(c||"baseline")})}export{l as SCENARIOS};
package/dist/repl.js CHANGED
@@ -1 +1 @@
1
- import{createInterface as o}from"node:readline";import{spawn as e,execSync as t}from"node:child_process";import chalk from"chalk";import{isConnected as l,getConfig as n,saveConfig as s}from"./lib/config.js";import{isActivated as a,activateToken as r,isFreeCommand as i,isDeviceMatch as c,recordExit as g,recordResume as y,isFirstRunOrUpgrade as m,markVersionSeen as d}from"./lib/access.js";import{setReplMode as p}from"./lib/ui.js";import{returnToMainMenu as u,printMenuHint as h,menuHintInline as w}from"./lib/menu-nav.js";import{setMainRl as f}from"./lib/main-rl.js";import{isChatActive as b,handleChatMessage as x}from"./commands/ai4ctf.js";import{isCtf4aiActive as v,handleCtf4aiMessage as C}from"./commands/ctf4ai-demo.js";import{isCtf4VlaActive as A,handleCtf4VlaMessage as I}from"./commands/ctf4vla.js";import{isDemo2Active as k}from"./commands/demo2.js";import{getExamState as T,getRealExamState as $,getDemoState as S}from"./lib/exam-state.js";import{getDemoStats as O}from"./lib/demo-stats.js";import{isExamSetupComplete as E}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as L,DEMO_POOL_SIZE as P}from"./lib/demo-exam.js";import{isNativeWindowsCmd as q}from"./lib/platform.js";import{resetTerminalTheme as R}from"./lib/theme.js";import{ensureSandbox as j,runInSandbox as D,isDockerAvailable as N}from"./lib/sandbox.js";import{logCommand as F}from"./lib/logger.js";import{startLogSync as M,stopLogSync as U}from"./lib/log-sync.js";import{existsSync as z,mkdirSync as W,writeFileSync as B}from"node:fs";import{join as _}from"node:path";import{homedir as Q}from"node:os";function Y(){return $()?chalk.cyan("exam> "):S()?chalk.yellow("demo> "):chalk.green("icoa> ")}const V=_(Q(),"icoa-workspace");function J(){return z(V)||W(V,{recursive:!0}),V}const G=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),K="__REPL_NO_EXIT__",Z="2.5.1";function H(){const o=O(),e=E(),l=`Free practice — ${L} questions (from pool of ${P})`,n=q();if(console.log(),console.log(` ${chalk.cyan.bold("[Selection Mode]")}`),console.log(),n)console.log(chalk.gray(" Platform: ")+chalk.white("Windows cmd.exe")+chalk.gray(" — routed to Paper C (MCQ-only, 45 min, 70 pts, zero extra tools)")),console.log();else if(o.attempts>0){const o=function(){const o=["python3.12 --version","/opt/homebrew/opt/python@3.12/bin/python3.12 --version","/usr/local/opt/python@3.12/bin/python3.12 --version","python3 --version","python --version","py -3.12 --version","py -3 --version"];let e="",l="missing";for(const n of o)try{const o=t(n,{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim().replace("Python ",""),[s,a]=o.split(".").map(Number);if(3===s&&12===a)return{ok:!0,version:o,status:"ok"};e=o,l=3===s&&a>=10&&a<12?"old":3===s&&a>12?"new":"missing"}catch{}return{ok:"missing"!==l,version:e,status:l}}();"missing"===o.status?(console.log(chalk.yellow(" ⚠ Python not detected. For exam practical questions:")),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (platform install guide)")),console.log()):"new"===o.status&&(console.log(chalk.yellow(` ⚠ Python ${o.version} may lack CTF wheels. Python 3.12 recommended:`)),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (install guide)")),console.log())}if(0===o.attempts)console.log(chalk.white(" New here? Start with ")+chalk.bold.cyan("demo")+chalk.white(" — it takes a few minutes.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.cyan(" demo")+chalk.gray(` ${l}`)),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"));else if(e||n){const e=1===o.attempts?"attempt":"attempts";o.attempts>0&&console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e})`)),n||console.log(chalk.green(" ✓ Environment ready")),console.log(chalk.yellow(" → Enter your exam token to begin.")),console.log(chalk.gray(" (10-char code from your organizer, starts with your country code like ")+chalk.cyan("UA")+chalk.gray(" — case-insensitive)")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" exam <token>")+chalk.gray(" Enter exam (primary action — use your organizer-issued token)")),console.log(chalk.gray(" format: ")+chalk.white("exam UAxxxxxxxx")+chalk.gray(" (2-letter country prefix + 8 chars)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Other commands:")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),n||console.log(chalk.white(" exam setup")+chalk.gray(" Re-verify tool environment")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}else{const e=1===o.attempts?"attempt":"attempts";console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e}${o.bestPercentage>0?` · best ${o.bestPercentage}%`:""})`)),console.log(chalk.yellow(" → Next: prepare your environment for the real exam.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),console.log(chalk.bold.yellow(" exam setup")+chalk.gray(" Install tools for national selection (~150MB)")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}console.log(chalk.gray(" ")+chalk.gray("Tip: ")+chalk.cyan("help")+chalk.gray(" for commands · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()}export async function startRepl(e,S){process.env.ICOA_INSIDE_REPL="1";const O=n(),E=l(),L=process.exit.bind(process),P=a();if(O.demoCleanedForVersion!==Z){try{const{existsSync:o,unlinkSync:e}=await import("node:fs"),{join:t}=await import("node:path"),{getIcoaDir:l}=await import("./lib/config.js"),n=t(l(),"demo-state.json");o(n)&&e(n)}catch{}s({demoCleanedForVersion:Z})}const{select:q,confirm:oo}=await import("@inquirer/prompts"),eo=O.mode||"",to=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("New CTF4VLA! sim demo2 and learn more")}`,value:"embodied"},{name:` ${chalk.bold("International Olympiad")} ${chalk.gray("—")} ${chalk.gray("CTF × AI (~500MB, advanced)")}`,value:"olympiad"},{name:` ${chalk.bold("National/Regional Partner")} ${chalk.gray("—")} ${chalk.gray("organizer tools (tokens, competitions)")}`,value:"organizer"},{name:` ${chalk.gray("About ICOA")} ${chalk.gray("·")} ${chalk.gray("Info & contact")}`,value:"about"}];console.log(chalk.gray(" Use ")+chalk.yellow("↑")+chalk.gray(" or ")+chalk.yellow("↓")+chalk.gray(" to select, ")+chalk.yellow("Enter")+chalk.gray(" to confirm.")),console.log();let lo="";for(;!lo;){const o=await q({message:"Mode",choices:to,default:eo||"selection"});"about"!==o?lo=o:(console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA")+chalk.white(" — AI-Native CLI OS for Cyber & AI Security")),console.log(chalk.gray(" Olympiad & Competition · K-12 to University")),console.log(chalk.cyan(" ───────────────────────────────────────────────────")),console.log(),console.log(chalk.bold.white(" What Makes ICOA Different")),console.log(chalk.gray(" · AI-native AI teammate, AI adversary, AI translation")),console.log(chalk.gray(" · CLI OS Complete competition environment in terminal")),console.log(chalk.gray(" · 110 tools pwntools, z3, gdb, nmap, sleuthkit... pre-configured")),console.log(chalk.gray(" · Global scale 15,000+ concurrent exams · 15 languages")),console.log(),console.log(chalk.bold.white(" Competition Format")),console.log(` ${chalk.green.bold("AI4CTF")}${chalk.gray(" [Day 1] AI as teammate — 5hr jeopardy CTF")}`),console.log(` ${chalk.red.bold("CTF4AI")}${chalk.gray(" [Day 2] Challenge AI — adversarial ML, red-team")}`),console.log(` ${chalk.cyan.bold("CTF4VLA")}${chalk.gray(" [Pioneer Round] Embodied AI — attack robot brains (NEW)")}`),console.log(),console.log(chalk.white(" Sydney, Australia")+chalk.gray(" · Jun 27 - Jul 2, 2026 · 40+ countries")),console.log(),console.log(chalk.bold.white(" Organized by")+chalk.gray(" ASRA (Australia) · ICO Foundation Inc")),console.log(chalk.bold.white(" Contact ")+chalk.cyan(" australia@icoa2026.au · accreditation@icoa2026.au")),console.log(chalk.bold.white(" Website ")+chalk.cyan.underline(" https://icoa2026.au")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.gray(" Press ")+chalk.yellow("Enter")+chalk.gray(" to return...")),await new Promise(o=>{const e=t=>{process.stdin.removeListener("data",e),process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!1),process.stdin.pause(),o()};process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.once("data",e)}),console.clear())}if("olympiad"===lo&&"olympiad"!==eo&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await oo({message:"Continue?",default:!0})||(lo="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),lo!==eo&&s({mode:lo}),console.log(),"olympiad"===lo&&m(Z)){d(Z),console.log(chalk.gray(" Checking competition environment..."));const{execSync:o}=await import("node:child_process"),e=[{name:"pwntools",cmd:'python3 -c "import pwn"'},{name:"z3-solver",cmd:'python3 -c "import z3"'},{name:"numpy",cmd:'python3 -c "import numpy"'},{name:"requests",cmd:'python3 -c "import requests"'}];let t=0;for(const l of e)try{o(l.cmd,{stdio:"ignore"})}catch{t++}if(t>0){console.log(chalk.yellow(` ${t} core libraries missing.`));try{const{confirm:o}=await import("@inquirer/prompts");if(await o({message:" Install competition Python libraries now?",default:!0,theme:{prefix:"",style:{message:o=>chalk.green(o),defaultAnswer:o=>chalk.green(o)}}})){console.log();const{execSync:o}=await import("node:child_process");o("icoa env setup",{stdio:"inherit"})}}catch{console.log(chalk.gray(" Run ")+chalk.white("env setup")+chalk.gray(" later to install."))}console.log()}else console.log(chalk.green(" All core libraries ready.")),console.log()}if(S){const o=y();if(o){const e=Math.floor(o.awaySeconds/60),t=o.awaySeconds%60;console.log(chalk.yellow(` Session resumed. Away: ${e}m ${t}s | Total exits: ${o.exitCount}`)),console.log()}}"selection"===lo?H():"embodied"===lo?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" CTF4VLA")+chalk.gray(" — ICOA 2026's ")+chalk.bold.white("Pioneer Round")),console.log(chalk.gray(" an independent parallel track alongside the scored main events: ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2)")),console.log(),console.log(chalk.white(" Embodied AI is at its ImageNet moment.")),console.log(chalk.gray(" VLA models, MuJoCo physics, real robot arms.")),console.log(chalk.gray(" Real models, real physics, real attack surfaces.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" First time? Try in order: ")+chalk.bold.cyan("① sim")+chalk.gray(" → ")+chalk.bold.cyan("② demo2")+chalk.gray(" → ")+chalk.bold.cyan("③ learn LEARNDEMO01")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" sim")+chalk.gray(" ")+chalk.bold.cyan("①")+chalk.gray(" ")+chalk.bold.yellow("★ WOW")+chalk.gray(" — robot arm replay in seconds")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ")+chalk.bold.cyan("②")+chalk.gray(" ~8 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn LEARNDEMO01")+chalk.gray(" ")+chalk.bold.cyan("③")+chalk.gray(" free 11-card intro (paste this command as-is)")),console.log(chalk.bold.green(" learn ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full 100/480-card curriculum (team-issued)")),console.log(chalk.bold.green(" exam ")+chalk.bold.yellow("PDxxxxxxxx")+chalk.gray(" Paper D (CTF4VLA) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()):"organizer"===lo?(console.log(chalk.yellow.bold(" [National/Regional Partner]")),console.log(),console.log(chalk.bold.white(" ██╗ ██████╗ ██████╗ █████╗")),console.log(chalk.bold.white(" ██║██╔════╝██╔═══██╗██╔══██╗")),console.log(chalk.bold.white(" ██║██║ ██║ ██║███████║")),console.log(chalk.bold.white(" ██║██║ ██║ ██║██╔══██║")),console.log(chalk.bold.white(" ██║╚██████╗╚██████╔╝██║ ██║")),console.log(chalk.bold.white(" ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")),console.log(),console.log(chalk.yellow(" International Cyber Olympiad in AI 2026")),console.log(chalk.bold.magenta(" The World's First AI-Native CLI Operating System")),console.log(chalk.bold.magenta(" for Cybersecurity & AI Security Competition")),console.log(chalk.bold.magenta(" and Olympiad for K-12")),console.log(chalk.gray(" Sydney, Australia · Jun 27 - Jul 2, 2026")),console.log(),console.log(chalk.white(" Vision")),console.log(chalk.gray(" Building a global pipeline for youth cyber & AI")),console.log(chalk.gray(" security talent through education and competition.")),console.log(),console.log(chalk.white(" Capacity")),console.log(chalk.gray(" 15,000+ concurrent online examinations")),console.log(chalk.gray(" National selection, training, and education support")),console.log(),console.log(chalk.white(" Olympic Spirit")),console.log(chalk.gray(" Excellence · Friendship · Respect")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" New country accreditation & support:")),console.log(chalk.cyan(" australia@icoa2026.au")),console.log(chalk.cyan(" accreditation@icoa2026.au")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),E?(console.log(chalk.green(` Logged in as ${O.userName}`)),console.log(chalk.white(" exam list")+chalk.gray(" Manage exams")),console.log(chalk.white(" logout")+chalk.gray(" Disconnect"))):console.log(chalk.white(" join <url>")+chalk.gray(" Connect to manage exams")),console.log(),h(),console.log()):P&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):E?(console.log(chalk.green.bold(` Welcome back, ${O.userName}!`)),console.log(chalk.gray(` Connected to ${O.ctfdUrl}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Ready to compete? Start here:")),console.log(),console.log(chalk.bold.cyan(" challenges")+chalk.gray(" Browse challenges by category")),console.log(chalk.white(" status")+chalk.gray(" Your score & hint budget")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" help")+chalk.gray(" Full command list")),console.log(),console.log(chalk.gray(" Tool environment:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("help")+chalk.gray(" · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()):P?(J(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${V}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Get started:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("join <url>")+chalk.gray(" Connect to competition server")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse & solve challenges")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan("ai4ctf")+chalk.gray(" Ask AI when stuck")),console.log(),console.log(chalk.gray(" Before Step 1 — make sure your tools are ready:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(),console.log(chalk.gray(" Also: ")+chalk.white("help")+chalk.gray(" all commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()):(console.log(chalk.bold.white(" Welcome to ICOA CLI — International Olympiad")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" To begin, activate your competition token:")),console.log(),console.log(chalk.bold.cyan(" activate <token>")),console.log(),console.log(chalk.gray(" While waiting, explore:")),console.log(chalk.white(" ref linux")+chalk.gray(" Quick reference for Linux")),console.log(chalk.white(" ref web")+chalk.gray(" Quick reference for Web")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.white(" help")+chalk.gray(" All available commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()),e.exitOverride(),e.configureOutput({writeErr:()=>{},writeOut:o=>{console.log(o)}});const no=o({input:process.stdin,output:process.stdout,prompt:Y(),terminal:!0});f(no);let so=!1;p(!0),M();const ao=no.prompt.bind(no);no.prompt=o=>{b()||v()||A()||k()||no.setPrompt(Y()),ao(o)},no.prompt(),no.on("line",async o=>{if(so)return;const l=o.trim();if(!l)return no.setPrompt(b()?chalk.magenta("ai4ctf> "):Y()),void no.prompt();if("menu"===l||"menu confirm"===l)return $()&&"menu confirm"!==l?(console.log(),console.log(chalk.yellow(" Real exam active. Progress is auto-saved.")),console.log(chalk.gray(" To return to main menu anyway, type ")+chalk.white("menu confirm")),console.log(),void no.prompt()):void u(no);if(b()){so=!0;const o=await x(l);return so=!1,"exit"===o&&no.setPrompt(Y()),void no.prompt()}if(v()){so=!0;const o=await C(l);return so=!1,"exit"!==o&&"solved"!==o||no.setPrompt(Y()),void no.prompt()}if(A()){so=!0;const o=await I(l);return so=!1,"exit"===o&&no.setPrompt(Y()),no.setPrompt(A()?chalk.bold.cyan("ctf4vla> "):Y()),void no.prompt()}if(F(l),"exit"===l)return T()?(console.log(),console.log(chalk.yellow(" ⚠ An exam is in progress.")),console.log(chalk.white(" To return to menu without losing progress, type: ")+chalk.bold.cyan("back")),console.log(chalk.white(" To fully close ICOA CLI, type: ")+chalk.bold.cyan("quit")),console.log(chalk.gray(" Your progress is auto-saved either way.")),console.log(),void no.prompt()):(console.log(),console.log(chalk.gray(" ")+chalk.white("exit")+chalk.gray(" returns to the main menu. To fully close ICOA CLI, type ")+chalk.bold.cyan("quit")+chalk.gray(".")),"selection"===lo&&H(),void no.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=T();return o&&"demo-free"!==o.session.examId&&"quit confirm"!==l?(console.log(),console.log(chalk.yellow(" ⚠ A real exam is in progress.")),console.log(chalk.gray(" Your answers are auto-saved on the server, but the exam timer keeps ticking")),console.log(chalk.gray(" on the server side even if you close the CLI.")),console.log(),console.log(chalk.white(" To leave the CLI but keep the exam alive, type: ")+chalk.bold.cyan("back")),console.log(chalk.gray(" (recommended — you can resume with ")+chalk.cyan("exam q 1")+chalk.gray(" after relaunching icoa)")),console.log(),console.log(chalk.white(" To really close ICOA CLI, type: ")+chalk.bold.cyan("quit confirm")),console.log(),void no.prompt()):(o&&"demo-free"===o.session.examId&&(console.log(),console.log(chalk.gray(" Demo paused. Resume with: ")+chalk.white("demo")+chalk.gray(" (fresh) or ")+chalk.white("exam q 1")+chalk.gray(" (continue)."))),U(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),R(),void L(0))}if("back"===l){const o=T(),e=o&&"demo-free"!==o.session.examId,t=o&&"demo-free"===o.session.examId&&(()=>{const e=new Date(o.session.startedAt||0).getTime();return Date.now()-e<18e5})();if(e)console.log(),console.log(chalk.gray(" Exam paused. Your progress is saved.")),console.log(chalk.white(" Resume: exam q 1")+chalk.gray(" · ")+chalk.white("exam review")+chalk.gray(" · ")+chalk.white("exam submit")),console.log();else if(t){const e=Object.keys(o.answers).length,t=o.session.questionCount;console.log(),console.log(chalk.gray(` Demo paused (${e}/${t} answered). Resume with: `)+chalk.white("exam q 1")),console.log(chalk.gray(" Or type ")+chalk.white("demo")+chalk.gray(" to restart.")),console.log()}else{if(o&&"demo-free"===o.session.examId){const{clearExamState:o}=await import("./lib/exam-state.js");o("demo-free")}const e=n();fetch("https://practice.icoa2026.au/api/icoa/demo-stats",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"post-report-back",lang:e.language||"en",timestamp:(new Date).toISOString()}),signal:AbortSignal.timeout(5e3)}).catch(()=>{}),"selection"===lo?H():console.log(chalk.gray(" Already at main menu."))}return void no.prompt()}if("help"===l||"?"===l){if(T()){so=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return so=!1,void no.prompt()}return function(o,e="olympiad"){console.log(),"selection"===e||"organizer"===e?(console.log(chalk.bold.white(" Exam")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to exam server")),console.log(chalk.white(" exam list ")+chalk.gray("Available exams")),console.log(chalk.white(" exam start <id> ")+chalk.gray("Begin an exam")),console.log(chalk.white(" exam q [n] ")+chalk.gray("View questions")),console.log(chalk.white(" exam answer <n> <X> ")+chalk.gray("Answer question")),console.log(chalk.white(" exam review ")+chalk.gray("Review all answers")),console.log(chalk.white(" exam submit ")+chalk.gray("Submit for grading")),console.log(chalk.white(" exam result ")+chalk.gray("View your score")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" setup ")+chalk.gray("Settings / switch mode")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log()):o?(console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(chalk.bold.white(" How it works")),console.log(),console.log(chalk.gray(" 1. Browse ")+chalk.white("challenges")+chalk.gray(" and pick one")),console.log(chalk.gray(" 2. ")+chalk.white("open <id>")+chalk.gray(" to read the challenge")),console.log(chalk.gray(" 3. Use ")+chalk.white("ai4ctf")+chalk.gray(" to chat with AI when stuck")),console.log(chalk.gray(" 4. ")+chalk.white("submit <id> icoa{flag}")+chalk.gray(" to score points")),console.log(chalk.gray(" 5. Check ")+chalk.white("scoreboard")+chalk.gray(" to track your rank")),console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(),console.log(chalk.bold.white(" Competition")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to CTFd")),console.log(chalk.white(" challenges (ch) ")+chalk.gray("List challenges by category")),console.log(chalk.white(" open <id> ")+chalk.gray("Read challenge + get next steps")),console.log(chalk.white(" submit <id> <flag> ")+chalk.gray("Submit a flag")),console.log(chalk.white(" scoreboard (sb) ")+chalk.gray("Live rankings")),console.log(chalk.white(" status ")+chalk.gray("Your score, budget & timer")),console.log(chalk.white(" time ")+chalk.gray("Countdown timer")),console.log(),console.log(chalk.bold.white(" AI Teammate")+chalk.gray(" — 3 levels, use wisely")),console.log(chalk.white(' hint "question" ')+chalk.gray("Level A — General guidance (50 uses)")),console.log(chalk.white(' hint-b "question" ')+chalk.gray("Level B — Deep analysis (10 uses)")),console.log(chalk.white(' hint-c "question" ')+chalk.gray("Level C — Critical assist (2 uses)")),console.log(chalk.white(" hint budget ")+chalk.gray("Check remaining uses")),console.log(chalk.white(" ai4ctf ")+chalk.gray("Free-chat with AI (no limit)")),console.log(),console.log(chalk.bold.white(" Tools")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference (linux, web, crypto...)")),console.log(chalk.white(" shell ")+chalk.gray("Docker sandbox")),console.log(chalk.white(" files <id> ")+chalk.gray("Download challenge files")),console.log(chalk.white(" connect <id> ")+chalk.gray("Connect to remote target")),console.log(chalk.white(" note [text] ")+chalk.gray("Personal notepad")),console.log(chalk.white(" log ")+chalk.gray("Session history")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" setup ")+chalk.gray("Configure settings")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language (15 supported)")),console.log(chalk.white(" logout ")+chalk.gray("Disconnect")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit (session saved)")),console.log()):(console.log(chalk.bold.yellow(" Restricted Mode — activate with a token to unlock all commands")),console.log(),console.log(chalk.white(" activate <token> ")+chalk.gray("Unlock full access")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log())}(a(),lo),void no.prompt()}if("more help"===l.toLowerCase()&&T()){so=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return so=!1,void no.prompt()}if("continue"===l.toLowerCase())return console.log(),console.log(chalk.green.bold(" ═══ AI4CTF — AI as Your Teammate ═══")),console.log(),console.log(chalk.white(" In AI4CTF, you solve cybersecurity challenges")),console.log(chalk.white(" with AI by your side.")),console.log(),console.log(chalk.white(" In competition, you get AI help at 3 levels:")),console.log(chalk.yellow(" hint a")+chalk.gray(" General guidance (50 uses)")),console.log(chalk.yellow(" hint b")+chalk.gray(" Deep analysis (10 uses)")),console.log(chalk.yellow(" hint c")+chalk.gray(" Critical assist (2 uses)")),console.log(),console.log(chalk.white(" Try it now! Type: ")+chalk.bold.green("ai4ctf")),console.log(chalk.gray(' Chat freely with your AI teammate. Type "exit" when done.')),console.log(),console.log(chalk.gray(" After ai4ctf, try: ")+chalk.bold.red("ctf4ai")+chalk.gray(' — trick the AI into saying "koala"')),console.log(),void no.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return so=!1,void no.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return so=!1,void no.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){so=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return so=!1,void no.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){so=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return so=!1,void no.prompt()}if("clear"===l||"cls"===l)return console.clear(),void no.prompt();if(l.startsWith("activate ")){const o=l.slice(9).trim(),e=r(o);return"ok"===e?console.log(chalk.green(" Access granted! Token bound to this device.")):"already_bound"===e?(console.log(),console.log(chalk.red(" Token already activated on a different device.")),console.log(chalk.gray(" Each token binds to the first device that uses it. If you lost the device,")),console.log(chalk.gray(" contact your proctor to have the token re-issued for a new device."))):(console.log(),console.log(chalk.red(" Token not recognized.")),console.log(chalk.gray(" Possible reasons:")),console.log(chalk.white(" • ")+chalk.gray("Typo — tokens are case-insensitive, 10 chars, start with a 2-letter country code (e.g. ")+chalk.cyan("UAK7M2R9Q4")+chalk.gray(")")),console.log(chalk.white(" • ")+chalk.gray("Expired — ask your proctor or organizer for a fresh token")),console.log(chalk.white(" • ")+chalk.gray("Network — verify connection to ")+chalk.cyan("practice.icoa2026.au")),console.log(chalk.gray(" Still stuck? type ")+chalk.cyan("help")+chalk.gray(" or try ")+chalk.cyan("exam demo")+chalk.gray(" for a free practice round."))),console.log(),void no.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void no.prompt();const m=T();if(m){const o=l.toUpperCase().trim(),t=o=>{const e=m.questions.find(e=>e.number===o);return!!e&&("ai4ctf"===e.type||"ctf4ai"===e.type||e.options&&!e.options.A&&!e.options.B)},n=o=>{const e="demo-free"!==m.session.examId,t=e&&o>=39?"ctf4ai":e&&o>=31?"ai4ctf":null;console.log(),console.log(chalk.yellow(` Q${o} is a practical question — letters (A/B/C/D) don't apply here.`)),t?(console.log(chalk.white(" Enter the AI chat for this question: ")+chalk.bold.cyan(t)),console.log(chalk.gray(" Or submit a flag directly: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`))):console.log(chalk.gray(" Submit a flag: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`)),console.log()};if(/^[ABCD]$/.test(o)){const l=m._lastQ||1;if(t(l))return n(l),void no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return so=!1,void no.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return so=!1,void no.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h=l.startsWith("!")||d.startsWith("!")||p,w=new Set(["nano","vi","vim","emacs","pico","ed","code","cat","less","more","head","tail","ls","pwd","cd","base64","xxd","hexdump","od","openssl","md5sum","sha256sum","grep","find","awk","sed","strings","file","curl","wget","nc","ping","nmap","echo","bash","sh","zsh","pip","pip3","node","npm"]),f=()=>{console.log(chalk.gray(" Shell commands need ")+chalk.bold.cyan("!")+chalk.gray(" prefix. Try: ")+chalk.bold.cyan(`!${l}`)),console.log()};if("embodied"===lo&&!h&&!["demo2","learn","exam","ctf4vla","lang","ref","setup","env","sim"].includes(d))return w.has(d)?(f(),void no.prompt()):(console.log(chalk.gray(" Not available in Embodied AI Security mode.")),console.log(chalk.white(" Try ")+chalk.bold.cyan("demo2")+chalk.gray(" (intro) · ")+chalk.bold.cyan("learn")+chalk.gray(" (curriculum) · ")+chalk.bold.cyan("exam <PD-token>")+chalk.gray(" (Paper D)")),console.log(),void no.prompt());if("selection"===lo&&!h&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env","sim"].includes(d)){if(w.has(d))return f(),void no.prompt();if(console.log(chalk.gray(" Not available in Selection mode.")),m){const o=m._lastQ||1;console.log(chalk.white(` Resume exam: exam q ${o}`)+chalk.gray(" · ")+chalk.white("A/B/C/D")+chalk.gray(" to answer"))}else console.log(chalk.gray(" Try: demo · setup to switch mode"));return console.log(),void no.prompt()}if("organizer"===lo&&!["join","exam","demo","retry","next","prev","logout","setup","lang","ref","ctf","mark","unmark","review","submit"].includes(d))return console.log(chalk.gray(" Not available in Organizer mode. Switch via: setup")),console.log(),void no.prompt();if(!("olympiad"!==lo||a()&&c()||i(d)))return console.log(chalk.yellow(" Restricted mode. ")+chalk.gray("Enter your access token:")),console.log(chalk.white(" activate <token>")),console.log(),console.log(chalk.gray(" Free commands: ")+chalk.white("ref [topic]")+chalk.gray(", ")+chalk.white("help")+chalk.gray(", ")+chalk.white("exit")),console.log(),void no.prompt();if(!["join","activate","challenges","ch","open","submit","flag","scoreboard","sb","status","time","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","demo","retry","nations","next","prev","continue","logout","ctf4ai","mark","unmark","review","submit","learn","demo2","ctf4vla","theme","sim"].includes(d)){if(G.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void no.prompt();if(/(?:^|\s)(?:\/(?!home\/|Users\/|tmp\/)|\.\.\/|~\/)/.test(l)&&!l.startsWith("cd ")){const o=/(?:^|\s)\/(?!home\/\w+\/icoa-workspace|Users\/\w+\/icoa-workspace|tmp\/)/.test(l),e=/\.\./.test(l);if(o||e)return console.log(chalk.red(" Blocked: access outside workspace is not allowed.")),console.log(chalk.gray(` Workspace: ${V}`)),console.log(),void no.prompt()}let o=l.startsWith("!")?l.slice(1).trim():l;if("darwin"===process.platform){const e="/opt/homebrew/opt/python@3.12/bin/python3.12";o=o.replace(/^python3?\s/,`${e} `).replace(/^(python3|python)$/,e)}else if("win32"===process.platform){const e=(()=>{try{return t("py -3 --version",{stdio:["ignore","ignore","ignore"],timeout:1500}),"py -3"}catch{}return"python"})();o=o.replace(/^python3?(\.\d+)?\s/,`${e} `).replace(/^python3?(\.\d+)?$/,e)}else{const e=(()=>{try{return t("which python3.12",{stdio:"ignore"}),"python3.12"}catch{return"python3"}})();o=o.replace(/^python\s/,`${e} `).replace(/^python$/,e)}const e=J();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=_(Q(),".icoa");z(o)||W(o,{recursive:!0});const e=_(o,"python-startup.py");return z(e)||B(e,"# ICOA exam interactive startup — auto-loaded by PYTHONSTARTUP\nimport base64, struct, hashlib, re, json, os, sys, binascii\ntry: import requests\nexcept ImportError: pass\ntry: from Crypto.Cipher import AES\nexcept ImportError: pass\ntry: from Crypto.Util.Padding import pad, unpad\nexcept ImportError: pass\ntry: from pwn import xor, p32, u32, p64, u64\nexcept ImportError: pass\ntry: import bs4\nexcept ImportError: pass\ntry: import numpy as np\nexcept ImportError: pass\n"),e}()}" ${o}`,console.log(),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(chalk.bold.white(" Python ready — ICOA exam toolkit pre-loaded")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(),console.log(chalk.white(" Already imported: ")+chalk.gray("base64, struct, hashlib, re, json, binascii")),console.log(chalk.white(" Also available: ")+chalk.gray("requests, bs4, numpy, AES, pad/unpad, xor, p32/u32/p64/u64")),console.log(),console.log(chalk.yellow(" Quick examples:")),console.log(chalk.gray(' base64.b64decode("aGVsbG8=") ')+chalk.gray("# decode base64")),console.log(chalk.gray(' bytes.fromhex("48656c6c6f") ')+chalk.gray("# hex → bytes")),console.log(chalk.gray(' "ICOA{x}".encode() ')+chalk.gray("# str → bytes")),console.log(chalk.gray(" [chr(c) for c in [73,67,79,65]] ")+chalk.gray("# ASCII codes")),console.log(chalk.gray(' xor(bytes.fromhex("0a2b"), b"IC") ')+chalk.gray("# pwntools XOR")),console.log(),console.log(chalk.gray(" Exit: ")+chalk.white("exit()")+chalk.gray(" or Ctrl-D")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log()),so=!0;try{N()&&await j()?await D(o,no):await X(o,no,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return so=!1,console.log(),void no.prompt()}so=!0;const k=l.trim(),S=k.toLowerCase();let O,E=null,P="";if(m)if("submit"===S)E="final";else if(S.startsWith("submit ")){let o=k.slice(7).trim();/^submit\s+/i.test(o)&&(o=o.replace(/^submit\s+/i,"").trim()),o=o.replace(/^["'`]+|["'`]+$/g,"").trim(),o&&/^ICOA\{[^}]*\}?$/i.test(o)&&(E="flag",P=o)}else/^ICOA\{[^}]+\}$/i.test(k)&&(E="flag",P=k);O="final"===E?["exam","submit"]:"flag"===E?["exam","answer",String(m?._lastQ||1),P]:function(o){const e=o.split(/\s+/),t=e[0].toLowerCase(),l=e.slice(1),n={demo:["exam","demo"],retry:["exam","demo-retry"],nations:["exam","nations"],next:["exam","next"],prev:["exam","prev"],mark:["exam","mark",...l],unmark:["exam","unmark",...l],review:["exam","review"],logout:["ctf","logout"],join:["ctf","join",...l],activate:["ctf","activate",...l],challenges:["ctf","challenges"],ch:["ctf","challenges"],open:["ctf","open",...l],submit:["ctf","submit",...l],flag:["ctf","submit",...l],scoreboard:["ctf","scoreboard",...l],sb:["ctf","scoreboard",...l],status:["ctf","status"],time:["ctf","time"]};return n[t]?n[t]:["ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","ctf4ai"].includes(t)?[t,...l]:e}(l);const q="ctf"===O[0]&&"join"===O[1];q&&no.pause(),process.exit=()=>{throw new Error(K)};try{await e.parseAsync(["node","icoa",...O])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===K);else if(e.includes("commander.unknownCommand")){const{distance:o}=await import("fastest-levenshtein"),e=["ctf","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","exam","ctf4ai","theme","clear","cls","quit","exit","back","menu","help","continue","activate","demo","challenges","status","scoreboard","join","logout"],t=d.split(/\s+/)[0]||d;let l={word:"",dist:1/0};for(const n of e){const e=o(t.toLowerCase(),n);e<l.dist&&(l={word:n,dist:e})}console.log(chalk.yellow(` Unknown command: ${d}.`)),l.dist>0&&l.dist<=2&&console.log(chalk.gray(" Did you mean: ")+chalk.bold.cyan(l.word)+chalk.gray("?")),console.log(chalk.gray(" Type ")+chalk.cyan("help")+chalk.gray(" for the full command list."))}else e.includes("commander.")||(e.includes("fetch failed")||e.includes("ECONNREFUSED")||e.includes("ETIMEDOUT"))&&console.log(chalk.yellow(" Network error. Check your connection."))}finally{process.exit=L,so=!1,q&&no.resume()}b()?no.setPrompt(chalk.magenta("ai4ctf> ")):v()?no.setPrompt(chalk.red("ctf4ai> ")):A()&&no.setPrompt(chalk.bold.cyan("ctf4vla> ")),console.log(),no.prompt()}),no.on("SIGINT",()=>{if(console.log(),b()||v())console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still in the AI chat.")),console.log(chalk.white(" Type ")+chalk.bold.cyan("exit")+chalk.white(" to leave the chat and return to the menu."));else if(T()){const o="demo-free"!==T().session.examId;console.log(chalk.yellow(" Ctrl+C did NOT close ICOA CLI.")),console.log(chalk.gray(` Your ${o?"exam":"demo"} is paused and every answer is auto-saved.`)),console.log(),console.log(chalk.white(" Resume: ")+chalk.cyan("exam q 1")+chalk.gray(" · Back to menu: ")+chalk.cyan("back")+chalk.gray(" · Close CLI: ")+chalk.cyan(o?"quit confirm":"quit"))}else console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still at the ")+chalk.cyan("icoa>")+chalk.yellow(" prompt.")),console.log(chalk.gray(" Keep typing — ")+chalk.cyan("help")+chalk.gray(" lists commands. (Only ")+chalk.cyan("quit")+chalk.gray(" or Ctrl+D actually close the CLI.)"));console.log(),no.prompt()}),no.on("close",()=>{U(),g(),R(),L(0)})}function X(o,t,l){return new Promise(n=>{const s=process.stdin,a=!!s.isTTY&&!!s.isRaw;if(t.pause(),s.isTTY&&"function"==typeof s.setRawMode)try{s.setRawMode(!1)}catch{}const r=e(o,{shell:!0,stdio:"inherit",cwd:l||process.cwd()}),i=()=>{if(s.isTTY&&"function"==typeof s.setRawMode&&a)try{s.setRawMode(!0)}catch{}t.resume(),n()};r.on("close",i),r.on("error",i)})}
1
+ import{createInterface as o}from"node:readline";import{spawn as e,execSync as t}from"node:child_process";import chalk from"chalk";import{isConnected as l,getConfig as n,saveConfig as s}from"./lib/config.js";import{isActivated as a,activateToken as r,isFreeCommand as i,isDeviceMatch as c,recordExit as g,recordResume as y,isFirstRunOrUpgrade as m,markVersionSeen as d}from"./lib/access.js";import{setReplMode as p}from"./lib/ui.js";import{returnToMainMenu as u,printMenuHint as h,menuHintInline as w}from"./lib/menu-nav.js";import{setMainRl as f}from"./lib/main-rl.js";import{isChatActive as b,handleChatMessage as x}from"./commands/ai4ctf.js";import{isCtf4aiActive as v,handleCtf4aiMessage as C}from"./commands/ctf4ai-demo.js";import{isCtf4VlaActive as A,handleCtf4VlaMessage as I}from"./commands/ctf4vla.js";import{isDemo2Active as k}from"./commands/demo2.js";import{getExamState as T,getRealExamState as $,getDemoState as S}from"./lib/exam-state.js";import{getDemoStats as O}from"./lib/demo-stats.js";import{isExamSetupComplete as E}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as L,DEMO_POOL_SIZE as P}from"./lib/demo-exam.js";import{isNativeWindowsCmd as q}from"./lib/platform.js";import{resetTerminalTheme as R}from"./lib/theme.js";import{ensureSandbox as j,runInSandbox as D,isDockerAvailable as N}from"./lib/sandbox.js";import{logCommand as F}from"./lib/logger.js";import{startLogSync as M,stopLogSync as U}from"./lib/log-sync.js";import{existsSync as z,mkdirSync as W,writeFileSync as B}from"node:fs";import{join as _}from"node:path";import{homedir as Q}from"node:os";function Y(){return $()?chalk.cyan("exam> "):S()?chalk.yellow("demo> "):chalk.green("icoa> ")}const V=_(Q(),"icoa-workspace");function J(){return z(V)||W(V,{recursive:!0}),V}const G=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),K="__REPL_NO_EXIT__",Z="2.5.1";function H(){const o=O(),e=E(),l=`Free practice — ${L} questions (from pool of ${P})`,n=q();if(console.log(),console.log(` ${chalk.cyan.bold("[Selection Mode]")}`),console.log(),n)console.log(chalk.gray(" Platform: ")+chalk.white("Windows cmd.exe")+chalk.gray(" — routed to Paper C (MCQ-only, 45 min, 70 pts, zero extra tools)")),console.log();else if(o.attempts>0){const o=function(){const o=["python3.12 --version","/opt/homebrew/opt/python@3.12/bin/python3.12 --version","/usr/local/opt/python@3.12/bin/python3.12 --version","python3 --version","python --version","py -3.12 --version","py -3 --version"];let e="",l="missing";for(const n of o)try{const o=t(n,{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim().replace("Python ",""),[s,a]=o.split(".").map(Number);if(3===s&&12===a)return{ok:!0,version:o,status:"ok"};e=o,l=3===s&&a>=10&&a<12?"old":3===s&&a>12?"new":"missing"}catch{}return{ok:"missing"!==l,version:e,status:l}}();"missing"===o.status?(console.log(chalk.yellow(" ⚠ Python not detected. For exam practical questions:")),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (platform install guide)")),console.log()):"new"===o.status&&(console.log(chalk.yellow(` ⚠ Python ${o.version} may lack CTF wheels. Python 3.12 recommended:`)),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (install guide)")),console.log())}if(0===o.attempts)console.log(chalk.white(" New here? Start with ")+chalk.bold.cyan("demo")+chalk.white(" — it takes a few minutes.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.cyan(" demo")+chalk.gray(` ${l}`)),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"));else if(e||n){const e=1===o.attempts?"attempt":"attempts";o.attempts>0&&console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e})`)),n||console.log(chalk.green(" ✓ Environment ready")),console.log(chalk.yellow(" → Enter your exam token to begin.")),console.log(chalk.gray(" (10-char code from your organizer, starts with your country code like ")+chalk.cyan("UA")+chalk.gray(" — case-insensitive)")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" exam <token>")+chalk.gray(" Enter exam (primary action — use your organizer-issued token)")),console.log(chalk.gray(" format: ")+chalk.white("exam UAxxxxxxxx")+chalk.gray(" (2-letter country prefix + 8 chars)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Other commands:")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),n||console.log(chalk.white(" exam setup")+chalk.gray(" Re-verify tool environment")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}else{const e=1===o.attempts?"attempt":"attempts";console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e}${o.bestPercentage>0?` · best ${o.bestPercentage}%`:""})`)),console.log(chalk.yellow(" → Next: prepare your environment for the real exam.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),console.log(chalk.bold.yellow(" exam setup")+chalk.gray(" Install tools for national selection (~150MB)")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}console.log(chalk.gray(" ")+chalk.gray("Tip: ")+chalk.cyan("help")+chalk.gray(" for commands · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()}export async function startRepl(e,S){process.env.ICOA_INSIDE_REPL="1";const O=n(),E=l(),L=process.exit.bind(process),P=a();if(O.demoCleanedForVersion!==Z){try{const{existsSync:o,unlinkSync:e}=await import("node:fs"),{join:t}=await import("node:path"),{getIcoaDir:l}=await import("./lib/config.js"),n=t(l(),"demo-state.json");o(n)&&e(n)}catch{}s({demoCleanedForVersion:Z})}const{select:q,confirm:oo}=await import("@inquirer/prompts"),eo=O.mode||"",to=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("New CTF4VLA! sim demo2 and learn more")}`,value:"embodied"},{name:` ${chalk.bold("International Olympiad")} ${chalk.gray("—")} ${chalk.gray("CTF × AI (~500MB, advanced)")}`,value:"olympiad"},{name:` ${chalk.bold("National/Regional Partner")} ${chalk.gray("—")} ${chalk.gray("organizer tools (tokens, competitions)")}`,value:"organizer"},{name:` ${chalk.gray("About ICOA")} ${chalk.gray("·")} ${chalk.gray("Info & contact")}`,value:"about"}];console.log(chalk.gray(" Use ")+chalk.yellow("↑")+chalk.gray(" or ")+chalk.yellow("↓")+chalk.gray(" to select, ")+chalk.yellow("Enter")+chalk.gray(" to confirm.")),console.log();let lo="";for(;!lo;){const o=await q({message:"Mode",choices:to,default:eo||"selection"});"about"!==o?lo=o:(console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA")+chalk.white(" — AI-Native CLI OS for Cyber & AI Security")),console.log(chalk.gray(" Olympiad & Competition · K-12 to University")),console.log(chalk.cyan(" ───────────────────────────────────────────────────")),console.log(),console.log(chalk.bold.white(" What Makes ICOA Different")),console.log(chalk.gray(" · AI-native AI teammate, AI adversary, AI translation")),console.log(chalk.gray(" · CLI OS Complete competition environment in terminal")),console.log(chalk.gray(" · 110 tools pwntools, z3, gdb, nmap, sleuthkit... pre-configured")),console.log(chalk.gray(" · Global scale 15,000+ concurrent exams · 15 languages")),console.log(),console.log(chalk.bold.white(" Competition Format")),console.log(` ${chalk.green.bold("AI4CTF")}${chalk.gray(" [Day 1] AI as teammate — 5hr jeopardy CTF")}`),console.log(` ${chalk.red.bold("CTF4AI")}${chalk.gray(" [Day 2] Challenge AI — adversarial ML, red-team")}`),console.log(` ${chalk.cyan.bold("CTF4VLA")}${chalk.gray(" [Pioneer Round] Embodied AI — attack robot brains (NEW)")}`),console.log(),console.log(chalk.white(" Sydney, Australia")+chalk.gray(" · Jun 27 - Jul 2, 2026 · 40+ countries")),console.log(),console.log(chalk.bold.white(" Organized by")+chalk.gray(" ASRA (Australia) · ICO Foundation Inc")),console.log(chalk.bold.white(" Contact ")+chalk.cyan(" australia@icoa2026.au · accreditation@icoa2026.au")),console.log(chalk.bold.white(" Website ")+chalk.cyan.underline(" https://icoa2026.au")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.gray(" Press ")+chalk.yellow("Enter")+chalk.gray(" to return...")),await new Promise(o=>{const e=t=>{process.stdin.removeListener("data",e),process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!1),process.stdin.pause(),o()};process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.once("data",e)}),console.clear())}if("olympiad"===lo&&"olympiad"!==eo&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await oo({message:"Continue?",default:!0})||(lo="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),lo!==eo&&s({mode:lo}),console.log(),"olympiad"===lo&&m(Z)){d(Z),console.log(chalk.gray(" Checking competition environment..."));const{execSync:o}=await import("node:child_process"),e=[{name:"pwntools",cmd:'python3 -c "import pwn"'},{name:"z3-solver",cmd:'python3 -c "import z3"'},{name:"numpy",cmd:'python3 -c "import numpy"'},{name:"requests",cmd:'python3 -c "import requests"'}];let t=0;for(const l of e)try{o(l.cmd,{stdio:"ignore"})}catch{t++}if(t>0){console.log(chalk.yellow(` ${t} core libraries missing.`));try{const{confirm:o}=await import("@inquirer/prompts");if(await o({message:" Install competition Python libraries now?",default:!0,theme:{prefix:"",style:{message:o=>chalk.green(o),defaultAnswer:o=>chalk.green(o)}}})){console.log();const{execSync:o}=await import("node:child_process");o("icoa env setup",{stdio:"inherit"})}}catch{console.log(chalk.gray(" Run ")+chalk.white("env setup")+chalk.gray(" later to install."))}console.log()}else console.log(chalk.green(" All core libraries ready.")),console.log()}if(S){const o=y();if(o){const e=Math.floor(o.awaySeconds/60),t=o.awaySeconds%60;console.log(chalk.yellow(` Session resumed. Away: ${e}m ${t}s | Total exits: ${o.exitCount}`)),console.log()}}"selection"===lo?H():"embodied"===lo?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" CTF4VLA")+chalk.gray(" — ICOA 2026's ")+chalk.bold.white("Pioneer Round")),console.log(chalk.gray(" an independent parallel track alongside the scored main events: ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2)")),console.log(),console.log(chalk.white(" Embodied AI is at its ImageNet moment.")),console.log(chalk.gray(" VLA models, MuJoCo physics, real robot arms.")),console.log(chalk.gray(" Real models, real physics, real attack surfaces.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" First time? Try in order: ")+chalk.bold.cyan("① sim")+chalk.gray(" → ")+chalk.bold.cyan("② demo2")+chalk.gray(" → ")+chalk.bold.cyan("③ learn LEARNDEMO01")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" sim")+chalk.gray(" ")+chalk.bold.cyan("①")+chalk.gray(" ")+chalk.bold.yellow("★ WOW")+chalk.gray(" — dual-robot MuJoCo replay in seconds")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ")+chalk.bold.cyan("②")+chalk.gray(" ~8 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn LEARNDEMO01")+chalk.gray(" ")+chalk.bold.cyan("③")+chalk.gray(" free 11-card intro (paste this command as-is)")),console.log(chalk.bold.green(" learn ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full 100/480-card curriculum (team-issued)")),console.log(chalk.bold.green(" exam ")+chalk.bold.yellow("PDxxxxxxxx")+chalk.gray(" Paper D (CTF4VLA) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()):"organizer"===lo?(console.log(chalk.yellow.bold(" [National/Regional Partner]")),console.log(),console.log(chalk.bold.white(" ██╗ ██████╗ ██████╗ █████╗")),console.log(chalk.bold.white(" ██║██╔════╝██╔═══██╗██╔══██╗")),console.log(chalk.bold.white(" ██║██║ ██║ ██║███████║")),console.log(chalk.bold.white(" ██║██║ ██║ ██║██╔══██║")),console.log(chalk.bold.white(" ██║╚██████╗╚██████╔╝██║ ██║")),console.log(chalk.bold.white(" ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")),console.log(),console.log(chalk.yellow(" International Cyber Olympiad in AI 2026")),console.log(chalk.bold.magenta(" The World's First AI-Native CLI Operating System")),console.log(chalk.bold.magenta(" for Cybersecurity & AI Security Competition")),console.log(chalk.bold.magenta(" and Olympiad for K-12")),console.log(chalk.gray(" Sydney, Australia · Jun 27 - Jul 2, 2026")),console.log(),console.log(chalk.white(" Vision")),console.log(chalk.gray(" Building a global pipeline for youth cyber & AI")),console.log(chalk.gray(" security talent through education and competition.")),console.log(),console.log(chalk.white(" Capacity")),console.log(chalk.gray(" 15,000+ concurrent online examinations")),console.log(chalk.gray(" National selection, training, and education support")),console.log(),console.log(chalk.white(" Olympic Spirit")),console.log(chalk.gray(" Excellence · Friendship · Respect")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" New country accreditation & support:")),console.log(chalk.cyan(" australia@icoa2026.au")),console.log(chalk.cyan(" accreditation@icoa2026.au")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),E?(console.log(chalk.green(` Logged in as ${O.userName}`)),console.log(chalk.white(" exam list")+chalk.gray(" Manage exams")),console.log(chalk.white(" logout")+chalk.gray(" Disconnect"))):console.log(chalk.white(" join <url>")+chalk.gray(" Connect to manage exams")),console.log(),h(),console.log()):P&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):E?(console.log(chalk.green.bold(` Welcome back, ${O.userName}!`)),console.log(chalk.gray(` Connected to ${O.ctfdUrl}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Ready to compete? Start here:")),console.log(),console.log(chalk.bold.cyan(" challenges")+chalk.gray(" Browse challenges by category")),console.log(chalk.white(" status")+chalk.gray(" Your score & hint budget")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" help")+chalk.gray(" Full command list")),console.log(),console.log(chalk.gray(" Tool environment:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("help")+chalk.gray(" · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()):P?(J(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${V}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Get started:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("join <url>")+chalk.gray(" Connect to competition server")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse & solve challenges")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan("ai4ctf")+chalk.gray(" Ask AI when stuck")),console.log(),console.log(chalk.gray(" Before Step 1 — make sure your tools are ready:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(),console.log(chalk.gray(" Also: ")+chalk.white("help")+chalk.gray(" all commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()):(console.log(chalk.bold.white(" Welcome to ICOA CLI — International Olympiad")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" To begin, activate your competition token:")),console.log(),console.log(chalk.bold.cyan(" activate <token>")),console.log(),console.log(chalk.gray(" While waiting, explore:")),console.log(chalk.white(" ref linux")+chalk.gray(" Quick reference for Linux")),console.log(chalk.white(" ref web")+chalk.gray(" Quick reference for Web")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.white(" help")+chalk.gray(" All available commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()),e.exitOverride(),e.configureOutput({writeErr:()=>{},writeOut:o=>{console.log(o)}});const no=o({input:process.stdin,output:process.stdout,prompt:Y(),terminal:!0});f(no);let so=!1;p(!0),M();const ao=no.prompt.bind(no);no.prompt=o=>{b()||v()||A()||k()||no.setPrompt(Y()),ao(o)},no.prompt(),no.on("line",async o=>{if(so)return;const l=o.trim();if(!l)return no.setPrompt(b()?chalk.magenta("ai4ctf> "):Y()),void no.prompt();if("menu"===l||"menu confirm"===l)return $()&&"menu confirm"!==l?(console.log(),console.log(chalk.yellow(" Real exam active. Progress is auto-saved.")),console.log(chalk.gray(" To return to main menu anyway, type ")+chalk.white("menu confirm")),console.log(),void no.prompt()):void u(no);if(b()){so=!0;const o=await x(l);return so=!1,"exit"===o&&no.setPrompt(Y()),void no.prompt()}if(v()){so=!0;const o=await C(l);return so=!1,"exit"!==o&&"solved"!==o||no.setPrompt(Y()),void no.prompt()}if(A()){so=!0;const o=await I(l);return so=!1,"exit"===o&&no.setPrompt(Y()),no.setPrompt(A()?chalk.bold.cyan("ctf4vla> "):Y()),void no.prompt()}if(F(l),"exit"===l)return T()?(console.log(),console.log(chalk.yellow(" ⚠ An exam is in progress.")),console.log(chalk.white(" To return to menu without losing progress, type: ")+chalk.bold.cyan("back")),console.log(chalk.white(" To fully close ICOA CLI, type: ")+chalk.bold.cyan("quit")),console.log(chalk.gray(" Your progress is auto-saved either way.")),console.log(),void no.prompt()):(console.log(),console.log(chalk.gray(" ")+chalk.white("exit")+chalk.gray(" returns to the main menu. To fully close ICOA CLI, type ")+chalk.bold.cyan("quit")+chalk.gray(".")),"selection"===lo&&H(),void no.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=T();return o&&"demo-free"!==o.session.examId&&"quit confirm"!==l?(console.log(),console.log(chalk.yellow(" ⚠ A real exam is in progress.")),console.log(chalk.gray(" Your answers are auto-saved on the server, but the exam timer keeps ticking")),console.log(chalk.gray(" on the server side even if you close the CLI.")),console.log(),console.log(chalk.white(" To leave the CLI but keep the exam alive, type: ")+chalk.bold.cyan("back")),console.log(chalk.gray(" (recommended — you can resume with ")+chalk.cyan("exam q 1")+chalk.gray(" after relaunching icoa)")),console.log(),console.log(chalk.white(" To really close ICOA CLI, type: ")+chalk.bold.cyan("quit confirm")),console.log(),void no.prompt()):(o&&"demo-free"===o.session.examId&&(console.log(),console.log(chalk.gray(" Demo paused. Resume with: ")+chalk.white("demo")+chalk.gray(" (fresh) or ")+chalk.white("exam q 1")+chalk.gray(" (continue)."))),U(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),R(),void L(0))}if("back"===l){const o=T(),e=o&&"demo-free"!==o.session.examId,t=o&&"demo-free"===o.session.examId&&(()=>{const e=new Date(o.session.startedAt||0).getTime();return Date.now()-e<18e5})();if(e)console.log(),console.log(chalk.gray(" Exam paused. Your progress is saved.")),console.log(chalk.white(" Resume: exam q 1")+chalk.gray(" · ")+chalk.white("exam review")+chalk.gray(" · ")+chalk.white("exam submit")),console.log();else if(t){const e=Object.keys(o.answers).length,t=o.session.questionCount;console.log(),console.log(chalk.gray(` Demo paused (${e}/${t} answered). Resume with: `)+chalk.white("exam q 1")),console.log(chalk.gray(" Or type ")+chalk.white("demo")+chalk.gray(" to restart.")),console.log()}else{if(o&&"demo-free"===o.session.examId){const{clearExamState:o}=await import("./lib/exam-state.js");o("demo-free")}const e=n();fetch("https://practice.icoa2026.au/api/icoa/demo-stats",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"post-report-back",lang:e.language||"en",timestamp:(new Date).toISOString()}),signal:AbortSignal.timeout(5e3)}).catch(()=>{}),"selection"===lo?H():console.log(chalk.gray(" Already at main menu."))}return void no.prompt()}if("help"===l||"?"===l){if(T()){so=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return so=!1,void no.prompt()}return function(o,e="olympiad"){console.log(),"selection"===e||"organizer"===e?(console.log(chalk.bold.white(" Exam")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to exam server")),console.log(chalk.white(" exam list ")+chalk.gray("Available exams")),console.log(chalk.white(" exam start <id> ")+chalk.gray("Begin an exam")),console.log(chalk.white(" exam q [n] ")+chalk.gray("View questions")),console.log(chalk.white(" exam answer <n> <X> ")+chalk.gray("Answer question")),console.log(chalk.white(" exam review ")+chalk.gray("Review all answers")),console.log(chalk.white(" exam submit ")+chalk.gray("Submit for grading")),console.log(chalk.white(" exam result ")+chalk.gray("View your score")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" setup ")+chalk.gray("Settings / switch mode")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log()):o?(console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(chalk.bold.white(" How it works")),console.log(),console.log(chalk.gray(" 1. Browse ")+chalk.white("challenges")+chalk.gray(" and pick one")),console.log(chalk.gray(" 2. ")+chalk.white("open <id>")+chalk.gray(" to read the challenge")),console.log(chalk.gray(" 3. Use ")+chalk.white("ai4ctf")+chalk.gray(" to chat with AI when stuck")),console.log(chalk.gray(" 4. ")+chalk.white("submit <id> icoa{flag}")+chalk.gray(" to score points")),console.log(chalk.gray(" 5. Check ")+chalk.white("scoreboard")+chalk.gray(" to track your rank")),console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(),console.log(chalk.bold.white(" Competition")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to CTFd")),console.log(chalk.white(" challenges (ch) ")+chalk.gray("List challenges by category")),console.log(chalk.white(" open <id> ")+chalk.gray("Read challenge + get next steps")),console.log(chalk.white(" submit <id> <flag> ")+chalk.gray("Submit a flag")),console.log(chalk.white(" scoreboard (sb) ")+chalk.gray("Live rankings")),console.log(chalk.white(" status ")+chalk.gray("Your score, budget & timer")),console.log(chalk.white(" time ")+chalk.gray("Countdown timer")),console.log(),console.log(chalk.bold.white(" AI Teammate")+chalk.gray(" — 3 levels, use wisely")),console.log(chalk.white(' hint "question" ')+chalk.gray("Level A — General guidance (50 uses)")),console.log(chalk.white(' hint-b "question" ')+chalk.gray("Level B — Deep analysis (10 uses)")),console.log(chalk.white(' hint-c "question" ')+chalk.gray("Level C — Critical assist (2 uses)")),console.log(chalk.white(" hint budget ")+chalk.gray("Check remaining uses")),console.log(chalk.white(" ai4ctf ")+chalk.gray("Free-chat with AI (no limit)")),console.log(),console.log(chalk.bold.white(" Tools")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference (linux, web, crypto...)")),console.log(chalk.white(" shell ")+chalk.gray("Docker sandbox")),console.log(chalk.white(" files <id> ")+chalk.gray("Download challenge files")),console.log(chalk.white(" connect <id> ")+chalk.gray("Connect to remote target")),console.log(chalk.white(" note [text] ")+chalk.gray("Personal notepad")),console.log(chalk.white(" log ")+chalk.gray("Session history")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" setup ")+chalk.gray("Configure settings")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language (15 supported)")),console.log(chalk.white(" logout ")+chalk.gray("Disconnect")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit (session saved)")),console.log()):(console.log(chalk.bold.yellow(" Restricted Mode — activate with a token to unlock all commands")),console.log(),console.log(chalk.white(" activate <token> ")+chalk.gray("Unlock full access")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log())}(a(),lo),void no.prompt()}if("more help"===l.toLowerCase()&&T()){so=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return so=!1,void no.prompt()}if("continue"===l.toLowerCase())return console.log(),console.log(chalk.green.bold(" ═══ AI4CTF — AI as Your Teammate ═══")),console.log(),console.log(chalk.white(" In AI4CTF, you solve cybersecurity challenges")),console.log(chalk.white(" with AI by your side.")),console.log(),console.log(chalk.white(" In competition, you get AI help at 3 levels:")),console.log(chalk.yellow(" hint a")+chalk.gray(" General guidance (50 uses)")),console.log(chalk.yellow(" hint b")+chalk.gray(" Deep analysis (10 uses)")),console.log(chalk.yellow(" hint c")+chalk.gray(" Critical assist (2 uses)")),console.log(),console.log(chalk.white(" Try it now! Type: ")+chalk.bold.green("ai4ctf")),console.log(chalk.gray(' Chat freely with your AI teammate. Type "exit" when done.')),console.log(),console.log(chalk.gray(" After ai4ctf, try: ")+chalk.bold.red("ctf4ai")+chalk.gray(' — trick the AI into saying "koala"')),console.log(),void no.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return so=!1,void no.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return so=!1,void no.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){so=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return so=!1,void no.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){so=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return so=!1,void no.prompt()}if("clear"===l||"cls"===l)return console.clear(),void no.prompt();if(l.startsWith("activate ")){const o=l.slice(9).trim(),e=r(o);return"ok"===e?console.log(chalk.green(" Access granted! Token bound to this device.")):"already_bound"===e?(console.log(),console.log(chalk.red(" Token already activated on a different device.")),console.log(chalk.gray(" Each token binds to the first device that uses it. If you lost the device,")),console.log(chalk.gray(" contact your proctor to have the token re-issued for a new device."))):(console.log(),console.log(chalk.red(" Token not recognized.")),console.log(chalk.gray(" Possible reasons:")),console.log(chalk.white(" • ")+chalk.gray("Typo — tokens are case-insensitive, 10 chars, start with a 2-letter country code (e.g. ")+chalk.cyan("UAK7M2R9Q4")+chalk.gray(")")),console.log(chalk.white(" • ")+chalk.gray("Expired — ask your proctor or organizer for a fresh token")),console.log(chalk.white(" • ")+chalk.gray("Network — verify connection to ")+chalk.cyan("practice.icoa2026.au")),console.log(chalk.gray(" Still stuck? type ")+chalk.cyan("help")+chalk.gray(" or try ")+chalk.cyan("exam demo")+chalk.gray(" for a free practice round."))),console.log(),void no.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void no.prompt();const m=T();if(m){const o=l.toUpperCase().trim(),t=o=>{const e=m.questions.find(e=>e.number===o);return!!e&&("ai4ctf"===e.type||"ctf4ai"===e.type||e.options&&!e.options.A&&!e.options.B)},n=o=>{const e="demo-free"!==m.session.examId,t=e&&o>=39?"ctf4ai":e&&o>=31?"ai4ctf":null;console.log(),console.log(chalk.yellow(` Q${o} is a practical question — letters (A/B/C/D) don't apply here.`)),t?(console.log(chalk.white(" Enter the AI chat for this question: ")+chalk.bold.cyan(t)),console.log(chalk.gray(" Or submit a flag directly: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`))):console.log(chalk.gray(" Submit a flag: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`)),console.log()};if(/^[ABCD]$/.test(o)){const l=m._lastQ||1;if(t(l))return n(l),void no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return so=!1,void no.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return so=!1,void no.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h=l.startsWith("!")||d.startsWith("!")||p,w=new Set(["nano","vi","vim","emacs","pico","ed","code","cat","less","more","head","tail","ls","pwd","cd","base64","xxd","hexdump","od","openssl","md5sum","sha256sum","grep","find","awk","sed","strings","file","curl","wget","nc","ping","nmap","echo","bash","sh","zsh","pip","pip3","node","npm"]),f=()=>{console.log(chalk.gray(" Shell commands need ")+chalk.bold.cyan("!")+chalk.gray(" prefix. Try: ")+chalk.bold.cyan(`!${l}`)),console.log()};if("embodied"===lo&&!h&&!["demo2","learn","exam","ctf4vla","lang","ref","setup","env","sim"].includes(d))return w.has(d)?(f(),void no.prompt()):(console.log(chalk.gray(" Not available in Embodied AI Security mode.")),console.log(chalk.white(" Try ")+chalk.bold.cyan("demo2")+chalk.gray(" (intro) · ")+chalk.bold.cyan("learn")+chalk.gray(" (curriculum) · ")+chalk.bold.cyan("exam <PD-token>")+chalk.gray(" (Paper D)")),console.log(),void no.prompt());if("selection"===lo&&!h&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env","sim"].includes(d)){if(w.has(d))return f(),void no.prompt();if(console.log(chalk.gray(" Not available in Selection mode.")),m){const o=m._lastQ||1;console.log(chalk.white(` Resume exam: exam q ${o}`)+chalk.gray(" · ")+chalk.white("A/B/C/D")+chalk.gray(" to answer"))}else console.log(chalk.gray(" Try: demo · setup to switch mode"));return console.log(),void no.prompt()}if("organizer"===lo&&!["join","exam","demo","retry","next","prev","logout","setup","lang","ref","ctf","mark","unmark","review","submit"].includes(d))return console.log(chalk.gray(" Not available in Organizer mode. Switch via: setup")),console.log(),void no.prompt();if(!("olympiad"!==lo||a()&&c()||i(d)))return console.log(chalk.yellow(" Restricted mode. ")+chalk.gray("Enter your access token:")),console.log(chalk.white(" activate <token>")),console.log(),console.log(chalk.gray(" Free commands: ")+chalk.white("ref [topic]")+chalk.gray(", ")+chalk.white("help")+chalk.gray(", ")+chalk.white("exit")),console.log(),void no.prompt();if(!["join","activate","challenges","ch","open","submit","flag","scoreboard","sb","status","time","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","demo","retry","nations","next","prev","continue","logout","ctf4ai","mark","unmark","review","submit","learn","demo2","ctf4vla","theme","sim"].includes(d)){if(G.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void no.prompt();if(/(?:^|\s)(?:\/(?!home\/|Users\/|tmp\/)|\.\.\/|~\/)/.test(l)&&!l.startsWith("cd ")){const o=/(?:^|\s)\/(?!home\/\w+\/icoa-workspace|Users\/\w+\/icoa-workspace|tmp\/)/.test(l),e=/\.\./.test(l);if(o||e)return console.log(chalk.red(" Blocked: access outside workspace is not allowed.")),console.log(chalk.gray(` Workspace: ${V}`)),console.log(),void no.prompt()}let o=l.startsWith("!")?l.slice(1).trim():l;if("darwin"===process.platform){const e="/opt/homebrew/opt/python@3.12/bin/python3.12";o=o.replace(/^python3?\s/,`${e} `).replace(/^(python3|python)$/,e)}else if("win32"===process.platform){const e=(()=>{try{return t("py -3 --version",{stdio:["ignore","ignore","ignore"],timeout:1500}),"py -3"}catch{}return"python"})();o=o.replace(/^python3?(\.\d+)?\s/,`${e} `).replace(/^python3?(\.\d+)?$/,e)}else{const e=(()=>{try{return t("which python3.12",{stdio:"ignore"}),"python3.12"}catch{return"python3"}})();o=o.replace(/^python\s/,`${e} `).replace(/^python$/,e)}const e=J();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=_(Q(),".icoa");z(o)||W(o,{recursive:!0});const e=_(o,"python-startup.py");return z(e)||B(e,"# ICOA exam interactive startup — auto-loaded by PYTHONSTARTUP\nimport base64, struct, hashlib, re, json, os, sys, binascii\ntry: import requests\nexcept ImportError: pass\ntry: from Crypto.Cipher import AES\nexcept ImportError: pass\ntry: from Crypto.Util.Padding import pad, unpad\nexcept ImportError: pass\ntry: from pwn import xor, p32, u32, p64, u64\nexcept ImportError: pass\ntry: import bs4\nexcept ImportError: pass\ntry: import numpy as np\nexcept ImportError: pass\n"),e}()}" ${o}`,console.log(),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(chalk.bold.white(" Python ready — ICOA exam toolkit pre-loaded")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(),console.log(chalk.white(" Already imported: ")+chalk.gray("base64, struct, hashlib, re, json, binascii")),console.log(chalk.white(" Also available: ")+chalk.gray("requests, bs4, numpy, AES, pad/unpad, xor, p32/u32/p64/u64")),console.log(),console.log(chalk.yellow(" Quick examples:")),console.log(chalk.gray(' base64.b64decode("aGVsbG8=") ')+chalk.gray("# decode base64")),console.log(chalk.gray(' bytes.fromhex("48656c6c6f") ')+chalk.gray("# hex → bytes")),console.log(chalk.gray(' "ICOA{x}".encode() ')+chalk.gray("# str → bytes")),console.log(chalk.gray(" [chr(c) for c in [73,67,79,65]] ")+chalk.gray("# ASCII codes")),console.log(chalk.gray(' xor(bytes.fromhex("0a2b"), b"IC") ')+chalk.gray("# pwntools XOR")),console.log(),console.log(chalk.gray(" Exit: ")+chalk.white("exit()")+chalk.gray(" or Ctrl-D")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log()),so=!0;try{N()&&await j()?await D(o,no):await X(o,no,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return so=!1,console.log(),void no.prompt()}so=!0;const k=l.trim(),S=k.toLowerCase();let O,E=null,P="";if(m)if("submit"===S)E="final";else if(S.startsWith("submit ")){let o=k.slice(7).trim();/^submit\s+/i.test(o)&&(o=o.replace(/^submit\s+/i,"").trim()),o=o.replace(/^["'`]+|["'`]+$/g,"").trim(),o&&/^ICOA\{[^}]*\}?$/i.test(o)&&(E="flag",P=o)}else/^ICOA\{[^}]+\}$/i.test(k)&&(E="flag",P=k);O="final"===E?["exam","submit"]:"flag"===E?["exam","answer",String(m?._lastQ||1),P]:function(o){const e=o.split(/\s+/),t=e[0].toLowerCase(),l=e.slice(1),n={demo:["exam","demo"],retry:["exam","demo-retry"],nations:["exam","nations"],next:["exam","next"],prev:["exam","prev"],mark:["exam","mark",...l],unmark:["exam","unmark",...l],review:["exam","review"],logout:["ctf","logout"],join:["ctf","join",...l],activate:["ctf","activate",...l],challenges:["ctf","challenges"],ch:["ctf","challenges"],open:["ctf","open",...l],submit:["ctf","submit",...l],flag:["ctf","submit",...l],scoreboard:["ctf","scoreboard",...l],sb:["ctf","scoreboard",...l],status:["ctf","status"],time:["ctf","time"]};return n[t]?n[t]:["ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","ctf4ai"].includes(t)?[t,...l]:e}(l);const q="ctf"===O[0]&&"join"===O[1];q&&no.pause(),process.exit=()=>{throw new Error(K)};try{await e.parseAsync(["node","icoa",...O])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===K);else if(e.includes("commander.unknownCommand")){const{distance:o}=await import("fastest-levenshtein"),e=["ctf","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","exam","ctf4ai","theme","clear","cls","quit","exit","back","menu","help","continue","activate","demo","challenges","status","scoreboard","join","logout"],t=d.split(/\s+/)[0]||d;let l={word:"",dist:1/0};for(const n of e){const e=o(t.toLowerCase(),n);e<l.dist&&(l={word:n,dist:e})}console.log(chalk.yellow(` Unknown command: ${d}.`)),l.dist>0&&l.dist<=2&&console.log(chalk.gray(" Did you mean: ")+chalk.bold.cyan(l.word)+chalk.gray("?")),console.log(chalk.gray(" Type ")+chalk.cyan("help")+chalk.gray(" for the full command list."))}else e.includes("commander.")||(e.includes("fetch failed")||e.includes("ECONNREFUSED")||e.includes("ETIMEDOUT"))&&console.log(chalk.yellow(" Network error. Check your connection."))}finally{process.exit=L,so=!1,q&&no.resume()}b()?no.setPrompt(chalk.magenta("ai4ctf> ")):v()?no.setPrompt(chalk.red("ctf4ai> ")):A()&&no.setPrompt(chalk.bold.cyan("ctf4vla> ")),console.log(),no.prompt()}),no.on("SIGINT",()=>{if(console.log(),b()||v())console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still in the AI chat.")),console.log(chalk.white(" Type ")+chalk.bold.cyan("exit")+chalk.white(" to leave the chat and return to the menu."));else if(T()){const o="demo-free"!==T().session.examId;console.log(chalk.yellow(" Ctrl+C did NOT close ICOA CLI.")),console.log(chalk.gray(` Your ${o?"exam":"demo"} is paused and every answer is auto-saved.`)),console.log(),console.log(chalk.white(" Resume: ")+chalk.cyan("exam q 1")+chalk.gray(" · Back to menu: ")+chalk.cyan("back")+chalk.gray(" · Close CLI: ")+chalk.cyan(o?"quit confirm":"quit"))}else console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still at the ")+chalk.cyan("icoa>")+chalk.yellow(" prompt.")),console.log(chalk.gray(" Keep typing — ")+chalk.cyan("help")+chalk.gray(" lists commands. (Only ")+chalk.cyan("quit")+chalk.gray(" or Ctrl+D actually close the CLI.)"));console.log(),no.prompt()}),no.on("close",()=>{U(),g(),R(),L(0)})}function X(o,t,l){return new Promise(n=>{const s=process.stdin,a=!!s.isTTY&&!!s.isRaw;if(t.pause(),s.isTTY&&"function"==typeof s.setRawMode)try{s.setRawMode(!1)}catch{}const r=e(o,{shell:!0,stdio:"inherit",cwd:l||process.cwd()}),i=()=>{if(s.isTTY&&"function"==typeof s.setRawMode&&a)try{s.setRawMode(!0)}catch{}t.resume(),n()};r.on("close",i),r.on("error",i)})}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "icoa-cli",
3
- "version": "2.19.167",
3
+ "version": "2.19.168",
4
4
  "description": "ICOA CLI — The world's first CLI-native cyber & AI security olympiad terminal: AI4CTF (Day 1), CTF4AI (Day 2), VLA4CTF (Pioneer Round — embodied AI)",
5
5
  "type": "module",
6
6
  "bin": {