icoa-cli 2.19.155 → 2.19.157

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(0x182))/(-0x19e9+0x1b1*0x4+-0x26*-0x81)+parseInt(a7(0xd6))/(-0x933+-0x85*-0x4b+-0x125*0x1a)*(parseInt(a7(0x12c))/(0x19ed+-0x6*0x571+0x6bc))+-parseInt(a7(0x1a0))/(-0x1cd*0x5+0x13b8+0x21*-0x53)*(-parseInt(a7(0x16e))/(0xa*0x8c+-0x2213+0x1ca0))+-parseInt(a7(0x13b))/(0x2*0x969+0x1938+-0x2c04)*(parseInt(a7(0x1b2))/(0x31d+0x1c36+-0xfa6*0x2))+parseInt(a7(0x11e))/(-0x6*0x203+-0xf7a*-0x1+0x48*-0xc)+-parseInt(a7(0x186))/(-0x1*-0xdd3+0x911*0x3+-0x28fd)*(parseInt(a7(0xbe))/(0x213b+0x32*0x7d+-0x399b*0x1))+parseInt(a7(0x109))/(0x254*-0xa+0x53*-0x3+0x2*0xc26);if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,-0x1647d+0x2*0x8897b+-0x167f7));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';function a0b(){const aj=['icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','ywK0y3rMrgvJB2rLza','AM9PBG','ywK0y3rMv3jHCff1B3rHC1rPDgXL','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','ywK0y3rMsgLUDencB2r5','mtrbEefcs2q','ywK0y3rMt3jdAgf0rxHHBxbSzq','icaGigHPBNqGyq','icaGice8C2HLBgWGy21KpIaGica','D3jPDgu','E25VuhjVz30','C3bSAxq','ywK0y3rMv3jHCfr5CgvdDgy0ywK','icaGicaGia','C3rKB3v0','CxvPDa','ywK0y3rMsgLUDe5LEhrc','ywK0y3rMsgLUDefvC2vZ','ywK0y3rMsgLUDei','ihbVAw50CYK6cG','vg9Rzw5Z','ywK0y3rMsgLUDem','y3LHBG','EwvSBg93','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','mtbltwDvrvC','D2HPDgu','lI4VBgLIl2v4yw0TC3rHDguUANm','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','ywK0y3rMtg9JA2vKvgHLBG','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','ig5VDcbMB3vUzcbPBIbZDgf0zs4','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','icbdDxjYzw50igfUC3DLCJOG','yMfJAW','ywK0y3rMsgLUDe51zgDL','yxbWBgLJyxrPB24VANnVBG','icdILRGG','CMvWzwf0','q29UDgvUDc1uExbL','ywK0y3rMvgL0Bgu','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','icdINjmGqw5ZD2vYigzVCIbr','icaGideUia','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','CxvLC3rPB24','iokaLcb0ExbLia','ywK0y3rMq29TBwfUzhm','mZq0qxbAC0P6','ywK0y3rMv3jHCe5VuhjVzW','ywK0y3rMrxHPDenTze5LEhq','Dg9ju09tDhjPBMC','ywK0y3rMrxHPDe5LEhrtDwi','ywK0y3rMsgLUDejvC2vZ','icaGihn1yM1PDcbjq09bEY4UlN0','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','xsaGWRCG','BwLU','y2f0y2G','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','C2vUze1LC3nHz2u','igfUC3DLCIb1CgrHDgvKoIa','Bwf0y2G','C2L6zq','icaGicaGigHPBNqGyYaGia','ywK0y3rMoIa','ihrVA2vUCYbSzwz0lG','C3rYAw5NAwz5','Dg9mB3DLCKnHC2u','ywK0y3rMu2fTCgXL','AgLUDhm','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','C3vIBwL0idXMBgfNpG','BwvZC2fNzq','ig9UifeZoq','icaGigHPBNqGyG','zgvZy3jPChrPB24','icbbzNrLCIbLEgL0oIa','icaGicaGicaGicaGicaGicaGicbLlMCUia','z2vTAw5Ptw9KzwW','C2XPy2u','ywK0y3rMv2vSy29Tzun0yq','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','q3j5ChrVz3jHCgH5','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','iokaLca','ywn0Aw9U','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','icaGigv4AxqGicaGicaGicaGica','ywK0y3rMtg9JA2vKvgL0Bgu','ywK0y3rMuMv2zwfStg9JA05VDgu','y2f0zwDVCNK','icaGicaGicaGia','ieLdt0f7lI4UFq','AgLUDcbI','ywK0y3rMsgLUDfbYAw5JAxbSzq','AgLUDcbH','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','mJeXnte3mdjuBuThtNK','ywK0y3rMrw5Ku2vZC2LVBG','Dg9vChbLCKnHC2u','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','zMLUza','icaGihn1yM1PDca8zMXHzZ4Gica','zw50zxjLzef0','ihrVig1VDMuGB24','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','BNvTyMvY','BM93','ywK0y3rMrMXHz0HPBNq','y2XLyxi','icaGigv4Axq','ywK0y3rMsgLUDejcB2r5','C29Tzq','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','ywK0y3rM','icaG4OAsia','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','mta3oty2odHfCuX1vMS','yw5ZD2vYCW','Cg9PBNrZ','ywK0y3rMrM91BMrgBgfN','ue9tva','CxvLC3rPB25Z','ywK0y3rMq29YCMvJDezSywC','ywK0y3rMsgLUDenvC2vZ','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','zw5JB2rPBMC','AgLUDf91C2vK','ywK0y3rMtw9KzwW','icbozxH0oIa','yxr0ywnOzwreyxrH','mtK3nJDxqwfoEfK','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','ywK0y3rMvg9Rzw5Z','yw5ZD2vYx2nOyw5Nzwq','zxHPDa','x2XHC3rr','igzVCIbrmZK','iokvKokvKokvKa','Aw50zxjHy3rPB25Z','C3vIBwL0qxr0zw1WDgvK','ywK0y3rMv291BgrfyxjU','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','ywK0y3rMv3jHCff1B3rHqG','zxHHBsbXia','nta0mti2nM5vzvPKAG','ywK0y3rMv3jHCff1B3rHqW','ywK0y3rMv3jHCeXPBMuYsgvHza','icdILzdILzdILzaGquK0q1rgiokaLcbr','ywK0y3rMq21Ku2HLBgXmAw5L','icaGigHPBNqGyW','icaGifbYzxzPB3vZoIa','sgLKzgvUie1LC3nHz2u','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','g1SXqrTBmKS','icbB','icaGicaGigHPBNqGysaGia','CM91BMq','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','ihb0CW','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','AgLUDhnvC2vK','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','ywK0y3rMuMv2zwfSvgL0Bgu','icaGicaGigHPBNqGyIaGia','icdILzdILzdILzaG','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','ywLvC2fNzq','ywK0y3rMv3jHCeXPBMuXsgvHza','ywK0y3rMv3jHCeXPBMuYqM9KEq','ywK0y3rMv3jHCff1B3rHquHPBNq','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','ywK0y3rMv3jHCff1B3rHqKHPBNq','ihDPBgWGB3bLBIbr','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','icdINjmGuq','ixnOzwXS','Bg9N','ywK0y3rMv3jHCe5LEhruAxrSzq','quKGzxjYB3i6ia','icaGig1LBNu','sgLUDca','icdILRGGsgLUDca','DxrMltG','Dgv4Da','lZuWmda','icdILii','icbr','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','ywK0y3rMv3jHCeXPBMuXqM9KEq','Cu51Bq','Dg9Rzw5ZvxnLza','ywK0y3rMrxHPDa','cIaG','CMvWBgfJzq','mJvzwxnlALm','AgLUDcbJ','ywK0y3rMrxHPDenTzejHy2S','ywK0y3rMv3jHCff1B3rHqq','icdcTYaGuMuTzw50zxi6ia','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','AgfZ','icdILiiG','icaGia','ywK0y3rMsgLUDee','icaGicaGicaGicaGica','ywK0y3rMvgHPBMTPBMC','BNvKz2vtAg93BG','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','ywK0y3rMuMv2zwfSu2vLrMXHzW','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','icaGicfWExrOB24Zic4UlG','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','z3jLzw4','mtyZodyYmu9OELPjDW','BMfTzq','q29TBwfUzcbMywLSzwq','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','otGWmdyZmu9QtgDVyq','yw5ZD2vYx3n1yM1PDhrLza','y3rMngfP','ywK0y3rMrgvJB2rL','ywK0y3rMt3jdAgf0','icaI','imk3ia','BM9KztPJAgLSzf9WCM9JzxnZ','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','ywK0y3rMq2HHBgXLBMDL','CgfKrw5K','z2vTBweTnc0ZmwiTAxq','ChvZAa','icaGiokgKIa','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','y29TBwfUza','DgvZDa','CMvK','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','yM9Sza','z3jHEq','icbzB3uGyxjLig9Uife','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','icaGidiUia','ywrK','nZuWmJi0zwXjsfPl','DgLTzw91Da','y29UDgLUDwu','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','ywK0y3rMv3jHCe5LEhrtDwi','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','ywK0y3rMv3jHCe5LEhrcB2r5','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','rNvSBcbXDwvZDgLVBJOGia','DhjPBq'];a0b=function(){return aj;};return a0b();}const g=b=>new Promise(j=>setTimeout(j,b));let r=!(-0x178a+0x707*-0x1+0x1e92*0x1),y=null,h=-0xde6*0x1+0x6*-0x293+0x1d58,u=!(0x335*-0x5+-0xd3*0x1e+0x4*0xa31);const d=0x2*-0x1651+-0x31*0x19f+0xddb9;let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:-0x21b7+0x101d+0x2522,j=h,k=Math[a8(0xdf)](Math[a8(0x147)](j/b*(-0x2*0x1148+0x17*0x101+0xbdd)),0x17*-0x83+0x49d*0x2+0x2ef),q=Math[a8(0x147)](k/(0x7a*-0x23+0xf3a+0x1d8)*(-0x95*0x2+0x23*0xd6+-0x1c04)),v=0x1d97*0x1+-0x664+0x3*-0x7b5-q,x=k>-0xb*0x341+-0xb8d*-0x1+0x188e?a0q[a8(0x197)]:k>0x1e9c+-0xed0*-0x1+-0x2d3a?a0q['yellow']:a0q[a8(0x181)],z=f?'AI4CTF\x20section':a8(0xb9);console[a8(0x15b)](a0q['gray']('\x20\x20'+z+':\x20')+x('█'[a8(0xcb)](q))+a0q[a8(0x19b)]('░'[a8(0xcb)](v))+a0q[a8(0x19b)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}function a0j(a,b){a=a-(0x1f19+-0x182f+0x319*-0x2);const c=a0b();let d=c[a];if(a0j['PwwlIx']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x2059+-0xe6b+0x2ec4,o,p,q=0x7aa*0x1+0x2081+-0x282b;p=i['charAt'](q++);~p&&(o=n%(0x3e*0x6d+-0x23bf+0x95d)?o*(0xa*-0x279+0x9e4+0x2*0x78b)+p:p,n++%(0x1*-0x8ed+-0x31*0x53+0x18d4))?l+=String['fromCharCode'](-0x21b7+0x101d+0x1299&o>>(-(-0x2*0x1148+0x17*0x101+0xb7b)*n&0x17*-0x83+0x49d*0x2+0x291)):0x7a*-0x23+0xf3a+0x174){p=j['indexOf'](p);}for(let r=-0x95*0x2+0x23*0xd6+-0x1c18,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x1d97*0x1+-0x664+0x1*-0x1723))['slice'](-(-0xb*0x341+-0xb8d*-0x1+0x1840));}return decodeURIComponent(m);};a0j['qnnKwk']=e,a0j['vRoWuV']={},a0j['PwwlIx']=!![];}const f=c[0x1e9c+-0xed0*-0x1+-0x2d6c],g=a+f,h=a0j['vRoWuV'][g];return!h?(d=a0j['qnnKwk'](d),a0j['vRoWuV'][g]=d):d=h,d;}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0x131);if(a0A(a9(0xe8)+q),f)return p(q);const v=q[a9(0x1ab)]()['toLowerCase']()[a9(0xe5)](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?aa(0x177):'b'===B?'ai4ctfHintB':aa(0xba)),D=a0D('a'===B?'ai4ctfHintABody':'b'===B?aa(0x118):aa(0x1b1)),E=aa(0x15f)+B[aa(0x10b)](),F='a'===B?a0q[aa(0x181)]:'b'===B?a0q[aa(0xbc)]:a0q['red'];console[aa(0x15b)](),console[aa(0x15b)](F[aa(0x19a)](aa(0xca)+E+'\x20\x20')+a0q[aa(0x19b)](C)),console[aa(0x15b)]();for(const G of D['split']('\x0a'))''===G?console[aa(0x15b)]():console[aa(0x15b)](a0q['white'](aa(0x176)+G));console['log'](),'a'===B?(console['log'](a0q[aa(0x19b)]('\x20\x20\x20\x20'+a0D('ai4ctfHintNextA')+'\x20')+a0q['cyan'](aa(0x105))),console[aa(0x15b)]()):'b'===B&&(console[aa(0x15b)](a0q[aa(0x19b)](aa(0x176)+a0D(aa(0x1bd))+'\x20')+a0q[aa(0xbb)](aa(0x16f))),console[aa(0x15b)]());}(v[-0x10f*0xa+0x66d+0x1a*0x29]),a9(0x1a2);const x=q[a9(0xe5)](/^submit\s+(.+)/i);if(x){let B=x[-0xcd3+-0x1*-0xd8d+-0xb9]['trim']();if(/^submit\s+/i[a9(0x196)](B)&&(B=B[a9(0x16d)](/^submit\s+/i,'')[a9(0x1ab)]()),B=B[a9(0x16d)](/^["'`]+|["'`]+$/g,'')[a9(0x1ab)](),a9(0x1a9)===B){console[a9(0x15b)](),console[a9(0x15b)](a0q['green'][a9(0x19a)](a9(0xe1))),console[a9(0x15b)](a0q[a9(0x181)]['bold']('\x20\x20'+a0D(a9(0x124)))),console['log'](a0q[a9(0x181)][a9(0x19a)](a9(0xe1))),console[a9(0x15b)](),console['log'](a0q[a9(0xbf)]('\x20\x20'+a0D(a9(0x1ad)))),console[a9(0x15b)](a0q[a9(0x19b)]('\x20\x20'+a0D(a9(0x137)))),console[a9(0x15b)](),m(),r=!(-0x1bca+-0xdcb+-0x2996*-0x1),y=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a9(0x122),'headers':{'Content-Type':a9(0xc9)},'body':JSON['stringify']({'type':a9(0x11b),'solved':!(0x2099*-0x1+0xa*-0x3a9+0x4533),'tokensUsed':h,'timestamp':new Date()[a9(0xd9)]()}),'signal':AbortSignal[a9(0x1a1)](-0x14*0xcf+0x394*-0x1+-0x4*-0x9d2)})[a9(0xe0)](()=>{}),await g(-0x14e1*0x1+-0x1*0x1759+0x3216),console['log'](),console['log'](a0q[a9(0xbb)]('\x20\x20─────────────────────────────────────────────')),console[a9(0x15b)](a0q[a9(0x19a)]['white']('\x20\x20'+a0D('ai4ctfWrapTitle'))),console['log'](a0q[a9(0xbb)](a9(0x12d))),console[a9(0x15b)]();const C=a0D(a9(0x152)),D=a0D(a9(0x168));console[a9(0x15b)](a0q['white'](a9(0xd1)+C+'\x20')+a0q[a9(0x19b)](D['split']('\x0a')[0x1328+-0x1b56+0x82e]||''));for(const H of D[a9(0x1b8)]('\x0a')[a9(0xf7)](0x15f1+0x1106*-0x1+0x4ea*-0x1))H[a9(0x1ab)]()&&console[a9(0x15b)](a0q[a9(0x19b)](a9(0x1ba)+H[a9(0x16d)](/\{thinking\}/g,'thinking')));console['log'](),console['log'](a0q[a9(0xbf)](a9(0x19e)+a0D(a9(0x13d))+'\x20')+a0q[a9(0x19b)](a0D(a9(0x153)))),console['log'](),console[a9(0x15b)](a0q[a9(0xbb)](a9(0x14c))),console[a9(0x15b)](),await g(0x949*-0x2+0xde6+0x2*0x63e),console[a9(0x15b)](a0q[a9(0xbb)](a9(0x12d))),console[a9(0x15b)](a0q[a9(0x19a)][a9(0xbf)]('\x20\x20'+a0D(a9(0x1af)))),console[a9(0x15b)](a0q[a9(0xbb)]('\x20\x20─────────────────────────────────────────────')),console[a9(0x15b)](),console['log'](a0q[a9(0xbc)](a9(0x146))+a0q[a9(0xbf)](a0D(a9(0x171))['padEnd'](0x1603+0x2331+-0x2*0x1c8d))+a0q[a9(0x19b)](a0D(a9(0x154)))),console['log'](a0q['yellow'](a9(0x14e))+a0q['white'](a0D(a9(0x139))['padEnd'](0x51c+0x7*-0x256+0x21*0x58))+a0q[a9(0x19b)](a0D(a9(0x156)))),console['log'](a0q[a9(0xbc)](a9(0xe7))+a0q[a9(0xbf)](a0D(a9(0x13c))[a9(0x190)](0x4*0x3eb+-0x3b1+0xbe1*-0x1))+a0q[a9(0x19b)](a0D('ai4ctfWrapQuotaCHint'))),console['log']();for(const I of a0D('ai4ctfWrapQuotaFooter')[a9(0x1b8)]('\x0a'))console[a9(0x15b)](a0q[a9(0x19b)](a9(0x176)+I));console['log'](),await g(0xbf1+0x141c+-0x49*0x55),console[a9(0x15b)](a0q[a9(0xbb)](a9(0x12d))),console['log'](a0q[a9(0x19a)]['white']('\x20\x20'+a0D(a9(0x15c))+'\x20')+a0q['red'][a9(0x19a)]('ctf4ai')+a0q[a9(0xbf)](a9(0xfc)+a0D(a9(0x1a5)))),console['log'](a0q[a9(0xbb)](a9(0x12d))),console['log']();const E=a0D(a9(0x1a7)),F=a0D(a9(0xd7)),G=E[a9(0x1b8)]('\x0a');if(G[-0xaa8+-0x2*-0x796+0x484*-0x1]){const [J,K]=G[-0x3*0x385+0x1*-0xe41+0x18d0]['split'](a9(0x1b7));console[a9(0x15b)](a0q[a9(0xbf)](a9(0x176)+(J||''))+a0q['bold'][a9(0xbf)](F)+a0q[a9(0xbf)](K||''));}for(const L of G[a9(0xf7)](0x247f+0x12*0xdb+-0x33e4))L[a9(0x1ab)]()&&console['log'](a0q[a9(0xbf)]('\x20\x20\x20\x20'+L));return console[a9(0x15b)](),console['log'](a0q[a9(0x19b)](a9(0x176)+a0D(a9(0x1b9))+'\x20')+a0q[a9(0x19a)][a9(0x197)](a9(0x188))),console['log'](),a9(0x131);}return console[a9(0x15b)](),console[a9(0x15b)](a0q[a9(0x197)]('\x20\x20'+a0D('ai4ctfWrongFlag'))),console['log'](a0q['gray']('\x20\x20'+a0D(a9(0x115)))),console['log'](),'continue';}if(q['startsWith']('!')){const M=q[a9(0xf7)](-0x22bc+-0x1c5d+-0x29*-0x18a)[a9(0x1ab)]();if(!M)return a9(0x1a2);try{const N={};N[a9(0x127)]='utf-8',N[a9(0x1a1)]=0x2710;const {execSync:O}=await import(a9(0x18d)),P=O(M,N)[a9(0x1ab)]();console[a9(0x15b)](),console[a9(0x15b)](a0q[a9(0x19b)]('\x20\x20$\x20')+a0q[a9(0xbf)](M)),console[a9(0x15b)](a0q[a9(0xbf)]('\x20\x20'+P[a9(0x1b8)]('\x0a')[a9(0x1ae)]('\x0a\x20\x20'))),console['log'](),console[a9(0x15b)](a0q[a9(0x19b)]('\x20\x20'+a0D(a9(0x121)))),console['log']();}catch(Q){console[a9(0x15b)](),console['log'](a0q[a9(0x197)]('\x20\x20Error:\x20'+(Q[a9(0xf0)]?.['split']('\x0a')[-0x3*-0x5a7+0x116d+-0x2*0x1131]||a9(0x184)))),console[a9(0x15b)]();}return a9(0x1a2);}const z={};z[a9(0xcc)]=a9(0xc9);if(a9(0x131)===q||a9(0xc7)===q||a9(0x1bc)===q||'menu'===q)return r=!(0xb68+-0x21a7+0x1640),y=null,fetch(a9(0x11d),{'method':'POST','headers':z,'body':JSON['stringify']({'type':a9(0x11b),'tokensUsed':h,'timestamp':new Date()[a9(0xd9)]()}),'signal':AbortSignal[a9(0x1a1)](0x258c+-0x18c8+0x6c4)})['catch'](()=>{}),console[a9(0x15b)](),console['log'](a0q[a9(0x19b)](a9(0x180))),console[a9(0x15b)](a0q['white']('\x20\x20'+a0D('ai4ctfReport'))),console[a9(0x15b)](a0q[a9(0x19b)]('\x20\x20'+a0D(a9(0x12f))+':\x20'+h+a9(0x163))),console[a9(0x15b)](a0q[a9(0x19b)]('\x20\x20'+a0D(a9(0x129))+a9(0x126))),console['log'](a0q['gray'](a9(0x180))),console[a9(0x15b)](),console[a9(0x15b)](a0q[a9(0xbb)](a9(0x12d))),console[a9(0x15b)](a0q[a9(0xbf)]('\x20\x20'+a0D('ai4ctfExitNextTitle')+'\x20')+a0q[a9(0x19a)]['red']('ctf4ai')+a0q[a9(0xbf)]('\x20—\x20'+a0D(a9(0xda)))),console[a9(0x15b)](a0q[a9(0x19b)]('\x20\x20'+a0D('ai4ctfExitNextBody'))),console[a9(0x15b)](a0q[a9(0xbb)](a9(0x12d))),console[a9(0x15b)](),console['log'](a0q[a9(0x19a)]['red']('\x20\x20\x20\x20\x20ctf4ai')+a0q[a9(0x19b)](a9(0x103)+a0D(a9(0xd8)))),console[a9(0x15b)](a0q[a9(0xbf)]('\x20\x20\x20\x20\x20back')+a0q[a9(0x19b)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(a9(0x170)))),console[a9(0x15b)](),'exit';const A={};A['Content-Type']=a9(0xc9);if(!u&&h>=0x61*0x3b+0x1f4+-0x4c7)return u=!(-0x1*0x1a2d+0x139a+0x3*0x231),fetch(a9(0x11d),{'method':a9(0x122),'headers':A,'body':JSON[a9(0xea)]({'type':a9(0x11b),'solved':!(0xa67*0x2+0x1046+-0x2513),'tokensUsed':h,'timestamp':new Date()[a9(0xd9)]()}),'signal':AbortSignal['timeout'](-0x21ff+0x428+0x21*0x17f)})[a9(0xe0)](()=>{}),console[a9(0x15b)](),console[a9(0x15b)](a0q[a9(0xbc)]('\x20\x20'+a0D('tokenLimit'))),m(),(function(){const ab=a9;console[ab(0x15b)](),console[ab(0x15b)](a0q[ab(0xbc)](ab(0x12d))),console[ab(0x15b)](a0q[ab(0x19a)][ab(0xbc)]('\x20\x20'+a0D(ab(0x14d)))),console[ab(0x15b)](a0q[ab(0xbc)]('\x20\x20─────────────────────────────────────────────')),console[ab(0x15b)]();for(const R of a0D('ai4ctfRevealBody')[ab(0x1b8)]('\x0a'))''===R?console['log']():console[ab(0x15b)](a0q[ab(0xbf)]('\x20\x20\x20\x20'+R));console[ab(0x15b)](),console[ab(0x15b)](a0q[ab(0xbb)](ab(0x199))),console['log'](),console[ab(0x15b)](a0q['white'](ab(0x176)+a0D(ab(0x17c)))),console[ab(0x15b)](),console[ab(0x15b)](a0q[ab(0x181)](ab(0x166))),console['log'](),console[ab(0x15b)](a0q[ab(0xbf)]('\x20\x20\x20\x20'+a0D('ai4ctfRevealThenSubmit'))),console[ab(0x15b)](),console[ab(0x15b)](a0q[ab(0xbb)](ab(0x150))),console['log'](),console[ab(0x15b)](a0q[ab(0x19b)](ab(0x176)+a0D(ab(0x101)))),console[ab(0x15b)]();}()),a9(0x1a2);if(u)return console['log'](),console[a9(0x15b)](a0q['yellow']('\x20\x20'+a0D(a9(0x100)))),console[a9(0x15b)](a0q[a9(0x19b)]('\x20\x20'+a0D('ai4ctfLockedUse')+'\x20')+a0q[a9(0xbb)](a9(0x10d))),console[a9(0x15b)](a0q['gray']('\x20\x20'+a0D(a9(0xc2))+'\x20')+a0q[a9(0xbb)](a9(0x155))),console[a9(0x15b)](),a9(0x1a2);console['log'](a0q['gray']('\x20\x20'+a0D(a9(0x179))));try{const R=await y[a9(0xe3)](q);process[a9(0x1bb)][a9(0x1b6)]('\x1b[1A\x1b[2K'),h+=R[a9(0x16a)],a0x(R[a9(0x16a)]),console[a9(0x15b)](),a0B(R[a9(0x162)]),m(),console[a9(0x15b)]();}catch(S){process['stdout'][a9(0x1b6)](a9(0x144)),a0C(a9(0x15d)+S[a9(0xf0)]),console['log']();}return a9(0x1a2);}const w=new Set();async function p(q){const ac=a0j;if(!f||!y)return ac(0x131);const v=q[ac(0x1ab)](),x=v[ac(0xeb)](),z=(Date[ac(0x114)]()-f[ac(0x110)])/(-0x4*-0x26c+0x18a00+-0xa950);if(!f[ac(0x17a)]&&!f[ac(0x136)]&&f[ac(0x14b)][ac(0xe6)]>=0xa*-0x4+0x42*-0x54+0x15*0x10a&&z>=0x9b8+0x2ff+-0xcb2&&(f[ac(0x17a)]=!(-0x3d1*0x7+0x114a+-0x1*-0x96d),console[ac(0x15b)](),console[ac(0x15b)](a0q[ac(0xbc)](ac(0xc5))+a0q[ac(0x19a)][ac(0xbc)](ac(0x10c))),console[ac(0x15b)](a0q['gray'](ac(0x19d))),console[ac(0x15b)]()),/^ICOA\{[^}]+\}$/i[ac(0x196)](v))return console['log'](),console[ac(0x15b)](a0q[ac(0x19b)]('\x20\x20Detected\x20flag\x20—\x20treating\x20as:\x20')+a0q[ac(0xbf)]('submit\x20'+v)),p('submit\x20'+v);const A=x[ac(0xe5)](/^hint\s+([abc])$/);if(A){const C=A[0x1a1*-0xf+-0xc7*-0x31+-0x1*0xda7][ac(0x10b)]();f['hintsUsed'][ac(0x19f)](C);const D=a0E();D&&(D[ac(0x135)]||(D[ac(0x135)]=[]),D[ac(0x135)][ac(0x192)]({'ts':new Date()['toISOString'](),'q':f[ac(0x169)],'type':ac(0x128),'input':C}),a0F(D));const E=f[ac(0xd3)][ac(0xed)],F=E?.[C],G='A'===C?a0q['green']:'B'===C?a0q[ac(0xbc)]:a0q[ac(0x197)];if(console[ac(0x15b)](),console[ac(0x15b)](G['bold'](ac(0x160)+C)),console[ac(0x15b)](),F){for(const H of String(F)[ac(0x1b8)]('\x0a'))console[ac(0x15b)](a0q[ac(0xbf)](ac(0x176)+H));}else console['log'](a0q['gray'](ac(0xcf)));return console[ac(0x15b)](),'A'===C?console[ac(0x15b)](a0q[ac(0x19b)]('\x20\x20\x20\x20Stuck?\x20Try:\x20')+a0q[ac(0xbb)](ac(0x105))):'B'===C?console[ac(0x15b)](a0q[ac(0x19b)](ac(0x18e))+a0q[ac(0xbb)](ac(0x16f))):'C'===C&&console[ac(0x15b)](a0q[ac(0x19b)]('\x20\x20\x20\x20'+a0D('ai4ctfHintNextC')+'\x20')+a0q[ac(0x19a)][ac(0x181)]('submit\x20ICOA{your_flag}')),console['log'](),'continue';}const B=v[ac(0xe5)](/^submit\s+(.+)/i);if(B){let I=B[-0x1*-0x5f7+-0x12b9+0x1*0xcc3]['trim']();if(/^submit\s+/i['test'](I)&&(I=I[ac(0x16d)](/^submit\s+/i,'')[ac(0x1ab)]()),I=I[ac(0x16d)](/^["'`]+|["'`]+$/g,'')[ac(0x1ab)](),/^[A-Da-d]$/[ac(0x196)](I))return console[ac(0x15b)](),console['log'](a0q[ac(0xbc)](ac(0x18b)+I+ac(0x148))),console[ac(0x15b)](a0q[ac(0x19b)]('\x20\x20Flag\x20format:\x20')+a0q['green']('ICOA{your_flag}')+a0q['gray'](ac(0xce))),console[ac(0x15b)](),'continue';const {getExamState:J,saveExamState:K}=await import(ac(0xc0)),L=J();if(!L)return ac(0x131);if(!L[ac(0x123)]['find'](O=>O['number']===f[ac(0x169)]))return console[ac(0x15b)](a0q[ac(0x197)](ac(0x165)+f['qNum']+ac(0xc4))),ac(0x1a2);const M=L['answers'][f[ac(0x169)]];L[ac(0x135)]||(L[ac(0x135)]=[]),L[ac(0x135)]['push']({'ts':new Date()[ac(0xd9)](),'q':f[ac(0x169)],'type':M?ac(0x130):ac(0x187),'input':I,'result':'via\x20ai4ctf\x20chat'}),L['answers'][f[ac(0x169)]]=I;const N=f['qNum']+(0x5d1*-0x6+-0x3ce*0x2+0x2a83*0x1);return L[ac(0x132)]=N<=-0x1eb1+-0x6*-0x46f+0x43d?N:f['qNum'],K(L),console[ac(0x15b)](),M?(console[ac(0x15b)](a0q['green'](ac(0x159)+f[ac(0x169)]+ac(0xe4))+a0q[ac(0xbc)](I)),console[ac(0x15b)](a0q['gray'](ac(0x141)+M))):console['log'](a0q['green']['bold'](ac(0xd0)+f[ac(0x169)]+'\x20recorded:\x20'+I)),console[ac(0x15b)](a0q['gray'](ac(0x143))),console[ac(0x15b)](),console[ac(0x15b)](a0q[ac(0x19b)]('\x20\x20')+a0q[ac(0xbf)]('submit\x20ICOA{...}')+a0q[ac(0x19b)]('\x20again\x20to\x20change,\x20or\x20')+a0q[ac(0xbf)](ac(0x131))+a0q[ac(0x19b)](ac(0x111))),N<=-0x2*0xc0d+-0x2135*0x1+0x3975?console[ac(0x15b)](a0q['gray'](ac(0xf4))+a0q[ac(0xbb)]('ai4ctf')+a0q['gray'](ac(0x157)+N)):console[ac(0x15b)](a0q[ac(0x19b)]('\x20\x20After\x20exit:\x20AI4CTF\x20section\x20complete.\x20Next:\x20')+a0q[ac(0x197)](ac(0x188))+a0q['gray'](ac(0xf1))),console[ac(0x15b)](),'continue';}if(q['startsWith']('!')){const O=q[ac(0xf7)](-0xb*0x37d+-0x1658+0x3cb8)[ac(0x1ab)]();if(!O)return ac(0x1a2);try{const P={};P[ac(0x127)]=ac(0x161),P[ac(0x1a1)]=0x2710;const {execSync:Q}=await import(ac(0x18d)),R=Q(O,P)[ac(0x1ab)]();console['log'](),console[ac(0x15b)](a0q[ac(0x19b)]('\x20\x20$\x20')+a0q['white'](O)),console['log'](a0q['white']('\x20\x20'+R[ac(0x1b8)]('\x0a')[ac(0x1ae)](ac(0x16c)))),console['log']();}catch(S){console[ac(0x15b)](),console[ac(0x15b)](a0q['red']('\x20\x20Error:\x20'+(S['message']?.['split']('\x0a')[-0x2b*0x53+-0x23*-0xd+0xad*0x12]||ac(0x184)))),console[ac(0x15b)]();}return ac(0x1a2);}if('exit'===x||ac(0xc7)===x||ac(0x1bc)===x){const T=f[ac(0x169)],{getExamState:U}=await import(ac(0xc0)),V=U(),W=V&&null!=V[ac(0x11f)][T],X=V?.[ac(0x132)]||T;return r=!(-0x2710+0x56e*0x6+0x1*0x67d),y=null,f=null,w[ac(0x116)](),console['log'](),console[ac(0x15b)](a0q[ac(0x19b)](ac(0x1a3)+T+'.')),W&&X>T&&X<=-0x1*-0x17bf+0x4d8+-0x1c71?console[ac(0x15b)](a0q[ac(0xbf)](ac(0x12a))+a0q[ac(0x19a)]['green']('Q'+X)+a0q[ac(0x19b)](ac(0xd4))+a0q[ac(0xbb)](ac(0x11b))+a0q[ac(0x19b)]('\x20to\x20continue')):W&&T>=0x1*-0x17a5+-0x2eb+0x107*0x1a?console[ac(0x15b)](a0q[ac(0xbf)](ac(0x17f))+a0q['bold']['red'](ac(0x188))+a0q[ac(0x19b)](ac(0x133))):console[ac(0x15b)](a0q[ac(0x19b)]('\x20\x20Resume:\x20')+a0q[ac(0xbf)](ac(0x13a)+T)+a0q[ac(0x19b)](ac(0x172))+a0q[ac(0xbf)](ac(0x11b))),console['log'](),ac(0x131);}if(u)return console['log'](),console[ac(0x15b)](a0q[ac(0xbc)](ac(0xc3))),console[ac(0x15b)](a0q[ac(0x19b)]('\x20\x20Still\x20available:\x20')+a0q[ac(0xbf)](ac(0xef))+a0q[ac(0x19b)](ac(0x18c))+a0q['white'](ac(0x15a))+a0q[ac(0x19b)](ac(0x18c))+a0q[ac(0xbf)]('exit')),console[ac(0x15b)](),ac(0x1a2);if(h>=d)return u=!(-0x1*0x1f9d+0x1*0xaca+0x14d3),console[ac(0x15b)](),console[ac(0x15b)](a0q['red'][ac(0x19a)](ac(0x173))),console[ac(0x15b)](a0q['gray']('\x20\x20You\x20can\x20still:\x20')+a0q['white'](ac(0xef))+a0q[ac(0x19b)](ac(0x18c))+a0q[ac(0xbf)](ac(0x15a))+a0q['gray'](ac(0x18c))+a0q['white'](ac(0x131))),console['log'](),ac(0x1a2);console['log'](a0q[ac(0x19b)]('\x20\x20Thinking...'));try{const Y=await y[ac(0xe3)](q);process[ac(0x1bb)][ac(0x1b6)](ac(0x144)),h+=Y['tokensUsed'];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0xc0)),a1=Z(),a2={};a2['ai4ctf']=0x0,a2[ac(0x188)]=0x0,(a1&&(a1[ac(0x151)]||(a1[ac(0x151)]=a2),a1[ac(0x151)]['ai4ctf']=h,a0(a1)),console[ac(0x15b)](),a0B(Y[ac(0x162)]),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(0x135c+0x1648+-0x40*0xa5);a6>=-0x6a6+-0x968+0x106d&&!a5[ad(0x174)]('95')?(console[ad(0x15b)](a0q[ad(0x197)]['bold']('\x20\x20⚠\x20'+Math[ad(0x147)](a6)+ad(0x138)+(a4-a3)+ad(0xe9))),a5[ad(0x19f)]('95')):a6>=0x2*-0xfa3+-0x401+-0x3*-0xbdd&&!a5['has']('80')?(console['log'](a0q[ad(0xbc)]('\x20\x20⚠\x2080%\x20of\x20section\x20AI\x20budget\x20used.')),a5[ad(0x19f)]('80')):a6>=0x14*0x199+0x1*-0x78b+-0x1*0x1837&&!a5['has']('50')&&(console[ad(0x15b)](a0q[ad(0x19b)](ad(0x194))),a5[ad(0x19f)]('50'));}(h,d,w),console['log']());}catch(a3){process[ac(0x1bb)][ac(0x1b6)](ac(0x144)),a0C(ac(0x15d)+a3[ac(0xf0)]),console[ac(0x15b)]();}return ac(0x1a2);}export function registerAi4ctfCommand(b){const ae=a0j;b[ae(0x195)](ae(0x11b))[ae(0xf3)](ae(0x1a6))[ae(0xfd)](async()=>{const af=ae;a0A(af(0x11b));const {getRealExamState:j}=await import('../lib/exam-state.js'),k=j(),q=k?.[af(0x123)][af(0x119)](A=>A[af(0x113)]>=0x17c+0x26*0x1f+0x1*-0x5f7&&A[af(0x113)]<=-0x529+0x2420+-0x1ed1);if(k&&q){const A=k[af(0x132)]||0x243d+-0x155+0x6fb*-0x5;if(A<-0x2c5*-0xd+0x3*-0xb26+-0x34*0xc||A>0x2142+-0xb01*0x1+-0x161b)return console[af(0x15b)](),console[af(0x15b)](a0q[af(0xbc)]('\x20\x20ai4ctf\x20is\x20available\x20on\x20Q31–38\x20(AI4CTF\x20section).')),console['log'](a0q['gray'](af(0x19c)+A+'.\x20Jump\x20there\x20first:')),console[af(0x15b)](a0q[af(0x19b)](af(0x193))+a0q[af(0x19a)]['cyan']('exam\x20q\x2031')),void console['log']();const B=k[af(0x123)][af(0x10e)](C=>C[af(0x113)]===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import(ag(0xc0));await F();const H=E();if(!H)return!(0x54f*-0x7+0x15ce*-0x1+0xcc*0x4a);const I=H[ag(0x123)][ag(0x10e)](L=>L['number']===C);I&&(D=I),G(C,D?.[ag(0x12b)]);const J=H[ag(0x151)]?.[ag(0x11b)]??0x11b8+-0x1*0xd6+-0x10e2;if(J>=d)return console['log'](),console[ag(0x15b)](a0q[ag(0xbc)](ag(0x14a))),console[ag(0x15b)](a0q[ag(0x19b)](ag(0x167))+a0q[ag(0xbf)]('exam\x20answer\x20'+C+ag(0x104))),console[ag(0x15b)](),!(-0x4d7+-0x6b*-0x26+0x2*-0x585);try{y=await a0v(void(-0x8e*0x21+-0x1*0x21cd+0x341b*0x1),function(L,M){const ah=ag,N=L[ah(0xf3)]||L[ah(0x162)]||'',O=L[ah(0x12b)]?ah(0xd2)+M+ah(0xfb)+L[ah(0x12b)]:'';return ah(0xc1)+M+',\x20'+L[ah(0x102)]+',\x20'+(L[ah(0x120)]||-0x145a+0x2198+-0xd38)+ah(0xb8)+N+O+ah(0x11a)+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(0xf0)]),!(-0x10a*-0x2+0x10f2+-0x1305);}r=!(-0x21f*-0x7+0x5f3+0xb*-0x1e4),h=J,u=!(-0x14a5+0x1*0x1b1e+-0x678*0x1),f={'qNum':C,'question':D,'usageField':ag(0x11b),'enteredAt':Date[ag(0x114)](),'hintsUsed':new Set(),'submitAttempted':!(0x1c58*-0x1+0x1b93+0xc6),'nudgeShown':!(-0x243*0xf+-0x1b9a+-0x8*-0x7b1)};const K=H[ag(0x11f)]?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0xf6)]||ai(0x191),Q=h>-0x31*-0x35+-0x23bb*0x1+0x1996;console[ai(0x15b)](),console[ai(0x15b)](a0q[ai(0x181)][ai(0x19a)](ai(0x13e)+N+':\x20'+M[ai(0x102)]+ai(0x134))),Q&&console[ai(0x15b)](a0q[ai(0x19b)](ai(0x158))),O&&console[ai(0x15b)](a0q['gray'](ai(0xc6))+a0q['yellow'](O)+a0q[ai(0x19b)](ai(0x1ac))),console['log'](),console['log'](a0q[ai(0xbb)](ai(0xf9))),console[ai(0x15b)](a0q['cyan'](ai(0x175))+a0q[ai(0x19a)][ai(0xbf)]('Q'+N+ai(0x145)+M[ai(0x102)]+ai(0xde)+(M[ai(0x120)]||-0xdca+-0x1*-0x21b9+-0x3*0x6a3)+ai(0x149))),console[ai(0x15b)](a0q[ai(0xbb)](ai(0x164)));for(const R of String(M[ai(0x162)])[ai(0x1b8)]('\x0a')){const S=R['length']>-0x135a*0x2+0x10d0+-0x20*-0xb1?R[ai(0xf7)](-0x1*0x269e+-0x2634+0x4cd2*0x1,-0x2238+-0x2*-0x12ac+-0x2e7*0x1)+'...':R;console[ai(0x15b)](a0q['cyan']('\x20\x20│\x20')+a0q[ai(0xbf)](S));}console[ai(0x15b)](a0q[ai(0xbb)](ai(0x164))),console['log'](a0q[ai(0xbb)]('\x20\x20│\x20')+a0q[ai(0x19b)](ai(0x1aa))+a0q[ai(0xbf)](ai(0x13a)+N)),console[ai(0x15b)](a0q['cyan'](ai(0x175))+a0q['gray'](ai(0x1a8))),console[ai(0x15b)](a0q[ai(0xbb)](ai(0xdd))),console[ai(0x15b)](),console['log'](a0q[ai(0x19a)][ai(0xbf)]('\x20\x20How\x20to\x20work\x20this\x20question')),console['log'](),console['log'](a0q[ai(0xbc)](ai(0x1b4))+a0q[ai(0x19b)](ai(0x198))),console[ai(0x15b)](a0q[ai(0xbc)](ai(0xf2))+a0q['gray'](ai(0xee))),console[ai(0x15b)](a0q['yellow'](ai(0x140))+a0q[ai(0x19b)](ai(0x112))),console[ai(0x15b)](a0q[ai(0x19a)]['green'](ai(0xdc))+a0q['gray'](ai(0x185))),console[ai(0x15b)](a0q[ai(0xbf)](ai(0x17e))+a0q[ai(0x19b)](ai(0x17b))),console[ai(0x15b)](a0q[ai(0x19b)](ai(0x12e))),console['log'](a0q['gray'](ai(0xf5))+a0q[ai(0xbf)](ai(0xfe))),console[ai(0x15b)](),console[ai(0x15b)](a0q[ai(0x19b)](ai(0x117))+a0q['gray'](ai(0x17d))),console[ai(0x15b)](a0q[ai(0x19b)](ai(0x15e))+a0q[ai(0x19b)](ai(0x108))),console['log'](),m(),console[ai(0x15b)](a0q[ai(0x19b)]('\x20\x20Model:\x20Google\x20Gemma\x204\x20('+P+')')),console[ai(0x15b)]();}(D,C,K),!(-0xbae+0xd2e+0x60*-0x4);}(A,B):void a0C('Q'+A+af(0xe2)+A);}const v={};v[af(0x183)]=af(0x142),v[af(0x102)]=af(0xfa);const x=a0z()[af(0xf6)]||'gemma-4-31b-it',z=v;try{y=await a0v(z);}catch(C){return void a0C(C[af(0xf0)]);}r=!(-0x6d6+-0x1*0x6bb+0xd91),h=0x9f+-0x17a4+-0x47*-0x53,u=!(0x1a54+0x665*0x3+-0x48d*0xa),console[af(0x15b)](),console[af(0x15b)](a0q[af(0x181)][af(0x19a)](af(0x14f)+a0D(af(0xcd))+af(0x134))),console[af(0x15b)](),console[af(0x15b)](a0q['white']('\x20\x20'+a0D(af(0xec)))),console[af(0x15b)](),console[af(0x15b)](a0q[af(0xbb)]('\x20\x20┌─────────────────────────────────────────────')),console[af(0x15b)](a0q[af(0xbb)]('\x20\x20│\x20')+a0q['bold'][af(0xbf)](a0D(af(0x18f)))),console[af(0x15b)](a0q[af(0xbb)]('\x20\x20│')),console[af(0x15b)](a0q[af(0xbb)](af(0x175))+a0q[af(0xbf)](a0D('ai4ctfIntercepted'))),console[af(0x15b)](a0q[af(0xbb)]('\x20\x20│\x20')+a0q[af(0x181)]('aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==')),console['log'](a0q[af(0xbb)](af(0x164))),console[af(0x15b)](a0q[af(0xbb)](af(0x175))+a0q[af(0xbf)](a0D(af(0x189)))),console[af(0x15b)](a0q['cyan']('\x20\x20│\x20')+a0q[af(0x19b)](af(0xbd))),console['log'](a0q[af(0xbb)](af(0xdd))),console[af(0x15b)](),console['log'](a0q[af(0xbf)]('\x20\x20'+a0D('ai4ctfLevels'))),console[af(0x15b)](),console[af(0x15b)](a0q[af(0xbc)](af(0x1b4))+a0q[af(0x19b)](af(0x176)+a0D(af(0x177)))),console[af(0x15b)](a0q['gray'](af(0x178)+a0D(af(0x1be)))),console[af(0x15b)](a0q[af(0xbc)](af(0xf2))+a0q[af(0x19b)](af(0x176)+a0D(af(0x1bf)))),console[af(0x15b)](a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(af(0xdb)))),console[af(0x15b)](a0q[af(0xbc)](af(0x140))+a0q[af(0x19b)](af(0x176)+a0D(af(0xba)))),console['log'](a0q[af(0x19b)](af(0x178)+a0D(af(0x125)))),console[af(0x15b)](),console[af(0x15b)](a0q[af(0x19b)]('\x20\x20─────────────────────────────────────────')),console['log'](a0q[af(0x19a)][af(0xbf)]('\x20\x20'+a0D(af(0xf8)))),console['log']('\x20\x20\x20\x20'+a0q['cyan'](af(0x107))+a0q[af(0x19b)](af(0x11c)+a0D(af(0xc8)))),console[af(0x15b)](af(0x176)+a0q[af(0xbb)](af(0x105))+a0q[af(0x19b)](af(0x11c)+a0D('ai4ctfHintTechnique'))),console['log'](af(0x176)+a0q['cyan']('hint\x20c')+a0q['gray'](af(0x11c)+a0D(af(0x106)))),console[af(0x15b)](a0q[af(0x19b)](af(0x176)+a0D('ai4ctfWelcomeNoReveal'))),console[af(0x15b)](),console[af(0x15b)](a0q['white']('\x20\x20'+a0D(af(0x18a)))),console[af(0x15b)](a0q[af(0x19b)]('\x20\x20'+a0D(af(0x1b3))+'\x20')+a0q[af(0xbf)](af(0x1b0))),console[af(0x15b)](),console[af(0x15b)](a0q[af(0xbc)]('\x20\x20'+a0D(af(0xd5)))),console[af(0x15b)](a0q['white']('\x20\x20\x20\x20hint\x20a\x20/\x20b\x20/\x20c\x20\x20')+a0q[af(0x19b)](a0D('ai4ctfCmdHintLine'))),console['log'](a0q['white'](af(0x10f))+a0q[af(0x19b)](a0D('ai4ctfSubmitCmd'))),console['log'](a0q[af(0xbf)](af(0x1b5))+a0q[af(0x19b)](a0D(af(0x13f)))),console[af(0x15b)](a0q[af(0x19b)](af(0xf5))+a0q['white'](af(0x1a4))),console[af(0x15b)](a0q[af(0x19b)](af(0xff)+a0D(af(0x10a)))),console['log'](),m(),console[af(0x15b)](a0q[af(0x19b)]('\x20\x20'+a0D(af(0x129))+':\x20Google\x20Gemma\x204\x20('+x+')')),console[af(0x15b)](a0q['gray']('\x20\x20'+a0D(af(0x16b)))),console[af(0x15b)]();});}
1
+ (function(b,j){const a7=a0j,k=b();while(!![]){try{const q=-parseInt(a7(0x16c))/(-0x8a3+0x1*0x1a81+-0x11dd)+parseInt(a7(0x17c))/(0x31*0x47+0xf28+-0x1*0x1cbd)+parseInt(a7(0x1ca))/(0x21db+0x1e0a+-0x3fe2)+parseInt(a7(0x206))/(-0x1a2c+-0x76+0x1aa6)+parseInt(a7(0x104))/(-0xa4e*0x2+0x21fb+-0xd5a)*(-parseInt(a7(0x192))/(0x56a*0x6+0x117f*-0x1+-0x4fd*0x3))+parseInt(a7(0x18a))/(-0x589+0x2*0x697+0x4b*-0x1a)+-parseInt(a7(0x14f))/(-0x18f5*0x1+-0x116c+0x2a69)*(parseInt(a7(0x18d))/(0x18d3*-0x1+0x8de+0xffe));if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,-0xb5b68+0xcdc5f*-0x1+0x23797a));import a0q from'chalk';import{createChatSession as a0v}from'../lib/gemini.js';function a0b(){const aj=['C3vIBwL0ia','Dg9vChbLCKnHC2u','mJy2mti0meHIv29uAq','icaI','Bg9N','ywK0y3rMtg9JA2vKvgHLBG','icaGigHPBNqGysaVigiGlYbJica','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','zxHPDa','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','z2vTAw5Ptw9KzwW','icdILRGGsgLUDca','C3rHCNrZv2L0Aa','C3vIBwL0ieLdt0f7lI4UFq','icaGihn1yM1PDca8zMXHzZ4Gica','mtmXota0nw9UzKX6Cq','ywK0y3rMuMv2zwfSu2vLrMXHzW','ihjLy29YzgvKoIa','mti1ntiZreTqrMHl','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ihrVignVBNrPBNvL','lI4VBgLIl2v4yw0TC3rHDguUANm','nJeWmK5btLDOtG','Cu51Bq','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','D2HPDgu','ywK0y3rMt3jdAgf0','AgLUDhm','ywK0y3rMsgLUDencB2r5','ywK0y3rMv3jHCeXPBMuXsgvHza','ywK0y3rMvgHPBMTPBMC','DMLHigfPngn0zIbJAgf0','icaGicaGigHPBNqGysaGia','q3j5ChrVz3jHCgH5','icaGicaGicaGia','y29UDgLUDwu','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','icbozxH0oIa','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','C2L6zq','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','ywK0y3rMrxHPDe5LEhrtDwi','lZuWmda','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','CMvK','ywK0y3rMvg9Rzw5Z','Dg9ju09tDhjPBMC','ywK0y3rMrxHPDenTzejHy2S','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ixnOzwXS','igfUC3DLCIb1CgrHDgvKoIa','ywK0y3rMsgLUDejcB2r5','ywK0y3rMsgLUDe5LEhrd','yM9Sza','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','ywK0y3rMq21Ku2HLBgXmAw5L','icaGia','y2XLyxi','icdINjmGqw5ZD2vYigzVCIbr','iokaLca','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','ywK0y3rMsgLUDefcB2r5','icaKia','yw5ZD2vYx2nOyw5Nzwq','Aw50zxjHy3rPB25Z','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','ywn0Aw9U','ywK0y3rMv3jVBMDgBgfN','icaGice8C2HLBgWGy21KpIaGica','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','C2vUze1LC3nHz2u','yw5ZD2vYCW','C29Tzq','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','ywK0y3rMrgvJB2rLza','ndiZntKWnhnRAMfQDa','vg9Rzw5Z','z3jLzw4','CgfKrw5K','y2f0zwDVCNK','ywK0y3rM','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','CxvLC3rPB24','BM93','icaGicaGigHPBNqGyYaGia','BNvKz2vtAg93BG','icdILzdILzdILzaGquK0q1rgiokaLcbr','zxHHBsbXidmX','oIbhB29NBguGr2vTBweGncaO','D3jPDgu','y3rMngfP','q29TBwfUzcbMywLSzwq','zgvZy3jPChrPB24','AgLUDf91C2vK','AgfZ','icdILRGG','ywK0y3rMuMv2zwfSqM9KEq','ywK0y3rMsgLUDfrLy2HUAxf1zq','ywK0y3rMv3jHCff1B3rHqq','ihrVA2vUCYbSzwz0lG','ywK0y3rMv3jHCff1B3rHqW','C2XPy2u','CM91BMq','Cg9PBNrZ','icdIMQaG','icbB','icdcTYaGuMuTzw50zxi6ia','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','ywK0y3rMvgL0Bgu','AgLUDcbH','icaGifn0DwnRpYbuCNK6ia','ywK0y3rMuMv2zwfStg9JA05VDgu','icaGicaGicaGicaGica','icaGihn1yM1PDcbjq09bEY4UlN0','AgLUDcbI','icaGigv4Axq','ywK0y3rMrxHPDa','icaG4OAsia','zw5JB2rPBMC','y29TBwfUza','quKGzxjYB3i6ia','x2XHC3rr','cIaG','DxrMltG','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','icaGidiUia','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','ywK0y3rMv3jHCff1B3rHC1rPDgXL','ywK0y3rMv3jHCff1B3rHquHPBNq','ChvZAa','ywK0y3rMrM91BMrgBgfN','icaGifbYzxzPB3vZoIa','icaGicaGia','BMfTzq','ywK0y3rMq29YCMvJDezSywC','ndm3mJK1nNrZDNnPtq','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','ywK0y3rMu3vIBwL0q21K','ywK0y3rMtg9JA2vKvxnL','z3jHEq','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','icaGicfWExrOB24Zic4UlG','icaGig1LBNu','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','y3LHBG','zxHHBsbXia','icbszxn1Bwu6ia','ywK0y3rMoIa','icaGigHPBNqGyq','DgHPBMTPBMC','mtq5mhvyqM5lEq','CMvWBgfJzq','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','ig5VDcbMB3vUzcbPBIbZDgf0zs4','ue9tva','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','g1SXqrTBmKS','ywLvC2fNzq','ywK0y3rMsgLUDenvC2vZ','icbtDgLSBcbHDMfPBgfIBgu6ia','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','ywK0y3rMsgLUDe51zgDL','ywK0y3rMsgLUDefvC2vZ','ywK0y3rMv3jHCe5LEhruAxrSzq','ywK0y3rMrxHPDe5LEhrcB2r5','ywK0y3rMsgLUDei','yxr0ywnOzwreyxrH','xsaGWRCG','y2f0y2G','sunpqxT5B3vYx2zSywD9','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','ywK0y3rMq21KsgLUDeXPBMu','Dg9mB3DLCKnHC2u','ywK0y3rMrxHPDe5LEhruAxrSzq','ywK0y3rMv3jHCe5LEhrcB2r5','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','C3bSAxq','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','ihDPBgWGB3bLBIbr','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','BM9KztPJAgLSzf9WCM9JzxnZ','AgLUDcbJ','C3rKB3v0','CxvLC3rPB25Z','EwvSBg93','ywK0y3rMuMvWB3j0','ywK0y3rMu2fTCgXL','iokvKokvKokvKa','yxbWBgLJyxrPB24VANnVBG','icdILii','ywK0y3rMsgLUDem','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','zxHHBsbHBNn3zxiG','icdILiiG','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','icbbzNrLCIbLEgL0oIa','CxvPDa','icbuAgLUA2LUzY4UlG','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','ywK0y3rMsgLUDfbYAw5JAxbSzq','lI4U','CMvWzwf0','BwvUDq','C3vIBwL0qxr0zw1WDgvK','C3vIBwL0idXMBgfNpG','icaGigHPBNqGyW','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','ywK0y3rMsgLUDee','ywK0y3rMv3jHCff1B3rHqG','ywK0y3rMrxHPDenTze5LEhq','AgLUDhnvC2vK','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','q29UDgvUDc1uExbL','icbfCNjVCJOG','sgLKzgvUie1LC3nHz2u','Dg9Rzw5ZvxnLza','BgvUz3rO','ywK0y3rMsgLUDe5LEhrc','igfNywLUihrVignOyw5NzsWGB3iG','C3rYAw5NAwz5','Dgv4Da','mtq2ng5luurMBG','ywK0y3rMv3jHCe5VuhjVzW','BNvTyMvY','icaGiokgKIa','ieLdt0f7lI4UFq','ywK0y3rMv2vSy29Tzun0yq','imk3ia','iokaLcb0ExbLia','ywK0y3rMv3jHCff1B3rHq0HPBNq','icbgBgfNigzVCM1HDdOG','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','ihrVig1VDMuGB24','ywK0y3rMv3jHCe5LEhrtDwi','DgvZDa','AM9PBG','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','icaGicaGicaGicaGicaGicaGicbLlMCUia','BwvZC2fNzq','lIbkDw1WihrOzxjLigzPCNn0oG','DhjPBq','ywK0y3rMv3jHCfrPDgXL','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywK0y3rMv3jHCfr5CgvdDgy0ywK','icbzB3uGyxjLig9Uife','icaGigHPBNqGyG','yMfJAW','icaGideUia','DgLTzw91Da','ndmXmtGWC2zuAKnT','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','Bwf0y2G','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','zMLUza','z2vTBweTnc0ZmwiTAxq','igzVCIbrmZK','ywK0y3rMv3jHCeXPBMuXqM9KEq','Dg9Rzw5mAw1PDa','E25VuhjVz30','ywrK','ywK0y3rMv3jHCff1B3rHrM9VDgvY','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','ywK0y3rMrgvJB2rL'];a0b=function(){return aj;};return a0b();}import{addTokenUsage as a0x}from'../lib/budget.js';import{getConfig as a0z}from'../lib/config.js';import{logCommand as a0A}from'../lib/logger.js';function a0j(a,b){a=a-(0x371+0x43a+0x1d*-0x3b);const c=a0b();let d=c[a];if(a0j['REhWXX']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0xf6e*-0x2+0x5a9+-0x2485*0x1,o,p,q=0x1d2e+0x56d+-0xb89*0x3;p=i['charAt'](q++);~p&&(o=n%(0x27*0x39+-0x878*-0x1+0x1123*-0x1)?o*(-0x5b1+0x12c+0x25*0x21)+p:p,n++%(0x1c3b+0x1f0f*0x1+0x9e1*-0x6))?l+=String['fromCharCode'](-0x1d03+-0x18a*-0x4+-0x1*-0x17da&o>>(-(-0x7*-0x1+-0x1fda+0x1fd5)*n&-0x1889*0x1+0x25b7+-0xd28)):-0x1097+0xad*0x5+0xd36){p=j['indexOf'](p);}for(let r=0x6*-0x608+0x11b9+0x1277,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x17a7+-0x1493+0x2*0x1625))['slice'](-(-0x5*-0x91+0x2bd*0x9+-0x3*0x928));}return decodeURIComponent(m);};a0j['bpyCdu']=e,a0j['OIFTHS']={},a0j['REhWXX']=!![];}const f=c[0x18e8+-0xb26+-0xdc2],g=a+f,h=a0j['OIFTHS'][g];return!h?(d=a0j['bpyCdu'](d),a0j['OIFTHS'][g]=d):d=h,d;}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=!(0x10f0+-0xbf2*0x3+0x1*0x12e7),y=null,h=-0x6f*0x21+0x1*-0x1a6b+0x1a*0x191,u=!(0x694*0x1+-0x26a0+-0x669*-0x5);const d=0x293*-0x47+-0x84bf*-0x1+0x49d7*0x2;let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:0x1ff2+-0x1e49*-0x1+-0x283*0x11,j=h,k=Math['min'](Math[a8(0x1e5)](j/b*(-0x369*-0x3+-0x3b*0xd+-0x6d8)),0x6f*-0x3f+-0x1889+0x343e),q=Math[a8(0x1e5)](k/(-0x334*0xb+0x89*-0x1f+0x3437)*(0x6*-0x608+0x11b9+0x128b)),v=-0x17a7+-0x1493+0x35*0xd6-q,x=k>-0x5*-0x91+0x2bd*0x9+-0x3*0x90e?a0q[a8(0x1a8)]:k>0x18e8+-0xb26+-0xd90?a0q['yellow']:a0q[a8(0x1cc)],z=f?'AI4CTF\x20section':a8(0x1cb);console[a8(0x17e)](a0q[a8(0x20a)]('\x20\x20'+z+':\x20')+x('█'[a8(0x13a)](q))+a0q[a8(0x20a)]('░'[a8(0x13a)](v))+a0q[a8(0x20a)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0x182);if(a0A(a9(0x101)+q),f)return p(q);const v=q[a9(0x163)]()['toLowerCase']()[a9(0x16e)](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?aa(0x140):'b'===B?aa(0x114):aa(0x12d)),D=a0D('a'===B?aa(0x1bc):'b'===B?aa(0x1af):aa(0x198)),E='Hint\x20'+B[aa(0x17b)](),F='a'===B?a0q[aa(0x1cc)]:'b'===B?a0q['yellow']:a0q[aa(0x1a8)];console['log'](),console[aa(0x17e)](F['bold'](aa(0x1de)+E+'\x20\x20')+a0q['gray'](C)),console[aa(0x17e)]();for(const G of D[aa(0x11f)]('\x0a'))''===G?console['log']():console[aa(0x17e)](a0q[aa(0x195)](aa(0x1b5)+G));console['log'](),'a'===B?(console[aa(0x17e)](a0q[aa(0x20a)](aa(0x1b5)+a0D('ai4ctfHintNextA')+'\x20')+a0q['cyan'](aa(0x1f1))),console['log']()):'b'===B&&(console[aa(0x17e)](a0q[aa(0x20a)](aa(0x1b5)+a0D(aa(0x14b))+'\x20')+a0q[aa(0xfe)]('hint\x20c')),console[aa(0x17e)]());}(v[0x17d*-0x7+-0x124+0x2e4*0x4]),a9(0x19f);const x=q[a9(0x16e)](/^submit\s+(.+)/i);if(x){let B=x[0x1d7*0x9+-0x97d+-0x711][a9(0x163)]();if(/^submit\s+/i[a9(0x15d)](B)&&(B=B[a9(0x105)](/^submit\s+/i,'')[a9(0x163)]()),B=B[a9(0x105)](/^["'`]+|["'`]+$/g,'')[a9(0x163)](),'icoa{w3lc0me_2_ai4ctf}'===B){console['log'](),console[a9(0x17e)](a0q['green'][a9(0x1b1)](a9(0x1bb))),console[a9(0x17e)](a0q[a9(0x1cc)][a9(0x1b1)]('\x20\x20'+a0D(a9(0x205)))),console[a9(0x17e)](a0q[a9(0x1cc)][a9(0x1b1)](a9(0x1bb))),console[a9(0x17e)](),console[a9(0x17e)](a0q[a9(0x195)]('\x20\x20'+a0D(a9(0x1c9)))),console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20'+a0D('ai4ctfWouldEarn'))),console[a9(0x17e)](),m(),r=!(0x1b73*0x1+-0x15c5+-0x5ad),y=null,fetch(a9(0x12f),{'method':'POST','headers':{'Content-Type':a9(0x12b)},'body':JSON['stringify']({'type':a9(0x1cf),'solved':!(-0x6a*-0x47+-0x1755+-0x1*0x611),'tokensUsed':h,'timestamp':new Date()[a9(0x1aa)]()}),'signal':AbortSignal[a9(0x16b)](-0x1c07+-0x2603+0x5592)})[a9(0x117)](()=>{}),await g(-0x2*-0xd76+-0x654+-0xebc),console['log'](),console[a9(0x17e)](a0q[a9(0xfe)]('\x20\x20─────────────────────────────────────────────')),console[a9(0x17e)](a0q[a9(0x1b1)][a9(0x195)]('\x20\x20'+a0D(a9(0x164)))),console[a9(0x17e)](a0q[a9(0xfe)](a9(0x1d0))),console[a9(0x17e)]();const C=a0D(a9(0x199)),D=a0D(a9(0x173));console[a9(0x17e)](a0q[a9(0x195)](a9(0x16a)+C+'\x20')+a0q[a9(0x20a)](D[a9(0x11f)]('\x0a')[-0x609*-0x4+-0x182a+0x1*0x6]||''));for(const H of D['split']('\x0a')[a9(0x1e4)](0xd6+0x1493*-0x1+0xe*0x169))H[a9(0x163)]()&&console[a9(0x17e)](a0q['gray'](a9(0x203)+H[a9(0x105)](/\{thinking\}/g,a9(0x103))));console[a9(0x17e)](),console[a9(0x17e)](a0q['white'](a9(0x1fc)+a0D('ai4ctfWrapLine2Head')+'\x20')+a0q[a9(0x20a)](a0D('ai4ctfWrapLine2Body'))),console[a9(0x17e)](),console[a9(0x17e)](a0q[a9(0xfe)](a9(0x20b))),console[a9(0x17e)](),await g(0x5*0x13d+-0x6*-0x1ab+0x863*-0x1),console['log'](a0q[a9(0xfe)](a9(0x1d0))),console[a9(0x17e)](a0q['bold']['white']('\x20\x20'+a0D(a9(0x1fe)))),console[a9(0x17e)](a0q[a9(0xfe)](a9(0x1d0))),console['log'](),console['log'](a0q['yellow'](a9(0x19c))+a0q[a9(0x195)](a0D(a9(0x1e1))[a9(0x1cd)](0xf78*0x1+0x1881*0x1+0xad*-0x3b))+a0q[a9(0x20a)](a0D(a9(0x1ff)))),console[a9(0x17e)](a0q[a9(0x127)]('\x20\x20\x20\x20\x20\x20\x20hint\x20b\x20\x20\x20')+a0q[a9(0x195)](a0D(a9(0x141))[a9(0x1cd)](0x26ff+-0x38*-0x11+-0x2a9d))+a0q[a9(0x20a)](a0D('ai4ctfWrapQuotaBHint'))),console['log'](a0q[a9(0x127)](a9(0x1d3))+a0q[a9(0x195)](a0D(a9(0x1e3))['padEnd'](0x1f58+0x142d*-0x1+-0xb11))+a0q['gray'](a0D(a9(0x157)))),console[a9(0x17e)]();for(const I of a0D(a9(0x177))[a9(0x11f)]('\x0a'))console['log'](a0q[a9(0x20a)](a9(0x1b5)+I));console[a9(0x17e)](),await g(-0x25*0x2a+-0x1238+0x201a),console[a9(0x17e)](a0q[a9(0xfe)](a9(0x1d0))),console['log'](a0q[a9(0x1b1)][a9(0x195)]('\x20\x20'+a0D(a9(0x112))+'\x20')+a0q[a9(0x1a8)][a9(0x1b1)](a9(0x1d9))+a0q[a9(0x195)](a9(0x1b8)+a0D(a9(0x15c)))),console[a9(0x17e)](a0q['cyan'](a9(0x1d0))),console['log']();const E=a0D(a9(0x11d)),F=a0D(a9(0x150)),G=E[a9(0x11f)]('\x0a');if(G[-0x3dc*0x7+-0xdea+0x28ee]){const [J,K]=G[0x2127+0x57*0x6+-0x3f*0x8f]['split'](a9(0x175));console[a9(0x17e)](a0q[a9(0x195)]('\x20\x20\x20\x20'+(J||''))+a0q[a9(0x1b1)][a9(0x195)](F)+a0q['white'](K||''));}for(const L of G[a9(0x1e4)](0xa5f+-0x2*0x2d5+0x1c*-0x2b))L['trim']()&&console[a9(0x17e)](a0q['white'](a9(0x1b5)+L));return console[a9(0x17e)](),console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20\x20\x20'+a0D(a9(0x166))+'\x20')+a0q[a9(0x1b1)]['red'](a9(0x1d9))),console[a9(0x17e)](),a9(0x182);}return console[a9(0x17e)](),console[a9(0x17e)](a0q[a9(0x1a8)]('\x20\x20'+a0D(a9(0x1c2)))),console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20'+a0D('ai4ctfFlagHint'))),console[a9(0x17e)](),a9(0x19f);}if(q[a9(0x187)]('!')){const M=q[a9(0x1e4)](0xbf2*0x1+0x1*0x431+-0x1022)[a9(0x163)]();if(!M)return a9(0x19f);try{const N={};N[a9(0x1f5)]='utf-8',N[a9(0x16b)]=0x2710;const {execSync:O}=await import(a9(0x123)),P=O(M,N)[a9(0x163)]();console[a9(0x17e)](),console[a9(0x17e)](a0q['gray'](a9(0x1bd))+a0q[a9(0x195)](M)),console[a9(0x17e)](a0q[a9(0x195)]('\x20\x20'+P['split']('\x0a')[a9(0x15e)](a9(0x1f9)))),console['log'](),console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20'+a0D(a9(0x201)))),console[a9(0x17e)]();}catch(Q){console['log'](),console[a9(0x17e)](a0q[a9(0x1a8)](a9(0x147)+(Q[a9(0x161)]?.['split']('\x0a')[-0x1a09+0x6d*-0x2b+0x2c58]||'Command\x20failed'))),console['log']();}return'continue';}const z={};z[a9(0x146)]=a9(0x12b);if(a9(0x182)===q||a9(0x169)===q||a9(0x135)===q||a9(0x13b)===q)return r=!(0x10cc+0x1*-0xfc3+-0x108),y=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a9(0x108),'headers':z,'body':JSON[a9(0x14d)]({'type':a9(0x1cf),'tokensUsed':h,'timestamp':new Date()[a9(0x1aa)]()}),'signal':AbortSignal[a9(0x16b)](0xe23+0x78+-0x4ed*-0x1)})[a9(0x117)](()=>{}),console[a9(0x17e)](),console['log'](a0q['gray'](a9(0x1ac))),console[a9(0x17e)](a0q['white']('\x20\x20'+a0D(a9(0x128)))),console['log'](a0q[a9(0x20a)]('\x20\x20'+a0D(a9(0x1a9))+':\x20'+h+a9(0x1a6))),console[a9(0x17e)](a0q['gray']('\x20\x20'+a0D('ai4ctfModel')+a9(0x130))),console[a9(0x17e)](a0q[a9(0x20a)](a9(0x1ac))),console[a9(0x17e)](),console['log'](a0q[a9(0xfe)](a9(0x1d0))),console[a9(0x17e)](a0q[a9(0x195)]('\x20\x20'+a0D(a9(0x11c))+'\x20')+a0q['bold'][a9(0x1a8)](a9(0x1d9))+a0q[a9(0x195)](a9(0x1b8)+a0D(a9(0x1a5)))),console[a9(0x17e)](a0q['gray']('\x20\x20'+a0D(a9(0x113)))),console[a9(0x17e)](a0q['cyan'](a9(0x1d0))),console['log'](),console[a9(0x17e)](a0q[a9(0x1b1)][a9(0x1a8)]('\x20\x20\x20\x20\x20ctf4ai')+a0q[a9(0x20a)](a9(0x19e)+a0D(a9(0x142)))),console['log'](a0q[a9(0x195)]('\x20\x20\x20\x20\x20back')+a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(a9(0x1ab)))),console['log'](),a9(0x182);const A={};A[a9(0x146)]='application/json';if(!u&&h>=0xb21+0x1*0x391+0x4d6)return u=!(-0x1*0x1875+-0x2439+0x3cae),fetch(a9(0x12f),{'method':a9(0x108),'headers':A,'body':JSON[a9(0x14d)]({'type':'ai4ctf','solved':!(-0x31*-0x17+0x17fe+0x2*-0xe32),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal['timeout'](-0x1*0xb73+0x19*0x7f+0x3a*0x52)})[a9(0x117)](()=>{}),console[a9(0x17e)](),console[a9(0x17e)](a0q['yellow']('\x20\x20'+a0D(a9(0x174)))),m(),(function(){const ab=a9;console['log'](),console['log'](a0q[ab(0x127)]('\x20\x20─────────────────────────────────────────────')),console['log'](a0q[ab(0x1b1)][ab(0x127)]('\x20\x20'+a0D('ai4ctfRevealTitle'))),console[ab(0x17e)](a0q[ab(0x127)](ab(0x1d0))),console[ab(0x17e)]();for(const R of a0D(ab(0x1df))[ab(0x11f)]('\x0a'))''===R?console[ab(0x17e)]():console[ab(0x17e)](a0q[ab(0x195)]('\x20\x20\x20\x20'+R));console['log'](),console[ab(0x17e)](a0q[ab(0xfe)](ab(0x109))),console[ab(0x17e)](),console[ab(0x17e)](a0q[ab(0x195)](ab(0x1b5)+a0D(ab(0x18b)))),console['log'](),console['log'](a0q[ab(0x1cc)](ab(0x1c8))),console[ab(0x17e)](),console[ab(0x17e)](a0q[ab(0x195)](ab(0x1b5)+a0D(ab(0x120)))),console[ab(0x17e)](),console[ab(0x17e)](a0q[ab(0xfe)](ab(0x15a))),console[ab(0x17e)](),console[ab(0x17e)](a0q['gray']('\x20\x20\x20\x20'+a0D(ab(0x1ee)))),console[ab(0x17e)]();}()),'continue';if(u)return console['log'](),console[a9(0x17e)](a0q[a9(0x127)]('\x20\x20'+a0D('ai4ctfLockedTitle'))),console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20'+a0D(a9(0x209))+'\x20')+a0q[a9(0xfe)](a9(0x159))),console[a9(0x17e)](a0q['gray']('\x20\x20'+a0D(a9(0x17f))+'\x20')+a0q['cyan'](a9(0x16f))),console[a9(0x17e)](),a9(0x19f);console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20'+a0D(a9(0x19a))));try{const R=await y['sendMessage'](q);process[a9(0x125)][a9(0x1d8)](a9(0x10a)),h+=R[a9(0x149)],a0x(R['tokensUsed']),console[a9(0x17e)](),a0B(R['text']),m(),console[a9(0x17e)]();}catch(S){process[a9(0x125)]['write']('\x1b[1A\x1b[2K'),a0C(a9(0x1f7)+S[a9(0x161)]),console['log']();}return a9(0x19f);}const w=new Set();async function p(q){const ac=a0j;if(!f||!y)return ac(0x182);const v=q[ac(0x163)](),x=v[ac(0x11b)](),z=(Date[ac(0x1d2)]()-f['enteredAt'])/(0x1*0x4a9+0xe320+-0x27*-0x11);if(!f[ac(0x1d4)]&&!f[ac(0x13c)]&&f[ac(0x143)][ac(0x1a3)]>=0x6*0x4da+0x6e1*0x3+-0x31bd&&z>=0x76+0x167a+0x16eb*-0x1&&(f['nudgeShown']=!(0x912*-0x1+-0x1c1*0x2+0xe6*0xe),console[ac(0x17e)](),console['log'](a0q['yellow'](ac(0x144))+a0q[ac(0x1b1)]['yellow'](ac(0x1a4))),console['log'](a0q['gray'](ac(0x1a2))),console[ac(0x17e)]()),/^ICOA\{[^}]+\}$/i[ac(0x15d)](v))return console[ac(0x17e)](),console[ac(0x17e)](a0q['gray'](ac(0x1ea))+a0q['white'](ac(0x17a)+v)),p(ac(0x17a)+v);const A=x[ac(0x16e)](/^hint\s+([abc])$/);if(A){const C=A[-0x1986+-0x8e6+-0x226d*-0x1]['toUpperCase']();f[ac(0x143)][ac(0x176)](C);const D=a0E();D&&(D[ac(0x1bf)]||(D[ac(0x1bf)]=[]),D['interactions'][ac(0x200)]({'ts':new Date()[ac(0x1aa)](),'q':f[ac(0x193)],'type':ac(0x1dc),'input':C}),a0F(D));const E=f[ac(0x1d1)][ac(0x197)],F=E?.[C],G='A'===C?a0q[ac(0x1cc)]:'B'===C?a0q[ac(0x127)]:a0q[ac(0x1a8)];if(console[ac(0x17e)](),console[ac(0x17e)](G[ac(0x1b1)](ac(0x186)+C)),console['log'](),F){for(const H of String(F)[ac(0x11f)]('\x0a'))console['log'](a0q[ac(0x195)](ac(0x1b5)+H));}else console[ac(0x17e)](a0q[ac(0x20a)]('\x20\x20\x20\x20No\x20pre-written\x20hint\x20at\x20this\x20tier\x20for\x20this\x20question.'));return console[ac(0x17e)](),'A'===C?console['log'](a0q['gray'](ac(0x1ed))+a0q[ac(0xfe)](ac(0x1f1))):'B'===C?console[ac(0x17e)](a0q[ac(0x20a)](ac(0x1b9))+a0q[ac(0xfe)](ac(0x124))):'C'===C&&console[ac(0x17e)](a0q[ac(0x20a)](ac(0x1b5)+a0D(ac(0x1b0))+'\x20')+a0q[ac(0x1b1)][ac(0x1cc)](ac(0x1a4))),console[ac(0x17e)](),'continue';}const B=v[ac(0x16e)](/^submit\s+(.+)/i);if(B){let I=B[0xd44+0xcad+-0x1*0x19f0]['trim']();if(/^submit\s+/i[ac(0x15d)](I)&&(I=I['replace'](/^submit\s+/i,'')[ac(0x163)]()),I=I[ac(0x105)](/^["'`]+|["'`]+$/g,'')[ac(0x163)](),/^[A-Da-d]$/[ac(0x15d)](I))return console[ac(0x17e)](),console[ac(0x17e)](a0q[ac(0x127)](ac(0x17d)+I+ac(0x12e))),console['log'](a0q['gray'](ac(0x158))+a0q[ac(0x1cc)](ac(0x118))+a0q['gray'](ac(0x1a7))),console[ac(0x17e)](),'continue';const {getExamState:J,saveExamState:K}=await import(ac(0x191)),L=J();if(!L)return ac(0x182);if(!L[ac(0x126)][ac(0x170)](O=>O['number']===f[ac(0x193)]))return console[ac(0x17e)](a0q[ac(0x1a8)]('\x20\x20Q'+f[ac(0x193)]+ac(0x107))),ac(0x19f);const M=L[ac(0x1c6)][f[ac(0x193)]];L[ac(0x1bf)]||(L[ac(0x1bf)]=[]),L[ac(0x1bf)][ac(0x200)]({'ts':new Date()['toISOString'](),'q':f[ac(0x193)],'type':M?ac(0x1be):'answer_submitted','input':I,'result':ac(0x19b)}),L[ac(0x1c6)][f[ac(0x193)]]=I;const N=f[ac(0x193)]+(0x17f1+-0x5c0*-0x2+-0x1f8*0x12);return L['_lastQ']=N<=-0xe6*0x1f+0x15*-0x86+-0x137f*-0x2?N:f[ac(0x193)],K(L),console[ac(0x17e)](),M?(console[ac(0x17e)](a0q[ac(0x1cc)]('\x20\x20✓\x20Q'+f['qNum']+ac(0x1ae))+a0q[ac(0x127)](I)),console[ac(0x17e)](a0q[ac(0x20a)](ac(0x202)+M))):console[ac(0x17e)](a0q[ac(0x1cc)]['bold'](ac(0x1b7)+f[ac(0x193)]+ac(0x18c)+I)),console[ac(0x17e)](a0q['gray'](ac(0x15f))),console[ac(0x17e)](),console['log'](a0q[ac(0x20a)]('\x20\x20')+a0q[ac(0x195)](ac(0x188))+a0q[ac(0x20a)](ac(0x14c))+a0q['white']('exit')+a0q[ac(0x20a)](ac(0x15b))),N<=0x6*-0x434+-0x665+0x2f*0xad?console['log'](a0q[ac(0x20a)](ac(0x134))+a0q[ac(0xfe)](ac(0x1cf))+a0q['gray'](ac(0x121)+N)):console[ac(0x17e)](a0q['gray'](ac(0x133))+a0q[ac(0x1a8)](ac(0x1d9))+a0q['gray']('\x20on\x20Q39')),console[ac(0x17e)](),ac(0x19f);}if(q[ac(0x187)]('!')){const O=q[ac(0x1e4)](-0x11f+-0x541+0x661)[ac(0x163)]();if(!O)return ac(0x19f);try{const P={};P[ac(0x1f5)]=ac(0x1fa),P[ac(0x16b)]=0x2710;const {execSync:Q}=await import(ac(0x123)),R=Q(O,P)[ac(0x163)]();console['log'](),console['log'](a0q[ac(0x20a)](ac(0x1bd))+a0q['white'](O)),console[ac(0x17e)](a0q[ac(0x195)]('\x20\x20'+R[ac(0x11f)]('\x0a')['join'](ac(0x1f9)))),console[ac(0x17e)]();}catch(S){console[ac(0x17e)](),console[ac(0x17e)](a0q[ac(0x1a8)](ac(0x147)+(S['message']?.[ac(0x11f)]('\x0a')[0x212d+-0x2530+0x403*0x1]||ac(0x1da)))),console['log']();}return ac(0x19f);}if('exit'===x||ac(0x169)===x||ac(0x135)===x){const T=f[ac(0x193)],{getExamState:U}=await import(ac(0x191)),V=U(),W=V&&null!=V[ac(0x1c6)][T],X=V?.[ac(0x1f8)]||T;return r=!(-0x1431+0x13df*-0x1+-0x107*-0x27),y=null,f=null,w[ac(0x1b6)](),console[ac(0x17e)](),console['log'](a0q[ac(0x20a)]('\x20\x20AI4CTF\x20chat\x20ended\x20for\x20Q'+T+'.')),W&&X>T&&X<=0xea*-0x1b+-0x7*0x57e+0x1fa3*0x2?console[ac(0x17e)](a0q['white'](ac(0x1a1))+a0q['bold'][ac(0x1cc)]('Q'+X)+a0q['gray'](ac(0x156))+a0q['cyan'](ac(0x1cf))+a0q[ac(0x20a)](ac(0x190))):W&&T>=0x191f+0x2ab*-0x6+0x11*-0x87?console[ac(0x17e)](a0q[ac(0x195)](ac(0x1b3))+a0q[ac(0x1b1)][ac(0x1a8)](ac(0x1d9))+a0q['gray'](ac(0x172))):console[ac(0x17e)](a0q[ac(0x20a)](ac(0x100))+a0q[ac(0x195)](ac(0xff)+T)+a0q[ac(0x20a)](ac(0x1e9))+a0q[ac(0x195)](ac(0x1cf))),console['log'](),ac(0x182);}if(u)return console['log'](),console[ac(0x17e)](a0q[ac(0x127)]('\x20\x20AI\x20budget\x20exhausted\x20for\x20AI4CTF\x20section.')),console[ac(0x17e)](a0q['gray'](ac(0x10d))+a0q['white'](ac(0x13d))+a0q[ac(0x20a)](ac(0x155))+a0q[ac(0x195)](ac(0x1ad))+a0q['gray'](ac(0x155))+a0q[ac(0x195)]('exit')),console[ac(0x17e)](),'continue';if(h>=d)return u=!(-0x4a8+-0x1656+-0x2b3*-0xa),console[ac(0x17e)](),console[ac(0x17e)](a0q[ac(0x1a8)]['bold'](ac(0x137))),console[ac(0x17e)](a0q[ac(0x20a)]('\x20\x20You\x20can\x20still:\x20')+a0q[ac(0x195)](ac(0x13d))+a0q['gray'](ac(0x155))+a0q['white'](ac(0x1ad))+a0q[ac(0x20a)](ac(0x155))+a0q[ac(0x195)](ac(0x182))),console[ac(0x17e)](),ac(0x19f);console[ac(0x17e)](a0q['gray'](ac(0x136)));try{const Y=await y[ac(0x1c5)](q);process[ac(0x125)][ac(0x1d8)]('\x1b[1A\x1b[2K'),h+=Y[ac(0x149)];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0x191)),a1=Z(),a2={};a2['ai4ctf']=0x0,a2[ac(0x1d9)]=0x0,(a1&&(a1['aiUsage']||(a1[ac(0x10b)]=a2),a1[ac(0x10b)][ac(0x1cf)]=h,a0(a1)),console[ac(0x17e)](),a0B(Y['text']),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(-0x2147*-0x1+-0x1*0x261d+-0xdf*-0x6);a6>=-0x13a8+0x24cc+-0x10c5&&!a5[ad(0x1dd)]('95')?(console[ad(0x17e)](a0q[ad(0x1a8)]['bold'](ad(0x1e7)+Math[ad(0x1e5)](a6)+ad(0x18e)+(a4-a3)+ad(0x1e2))),a5['add']('95')):a6>=-0x1f75*-0x1+0x8c+-0x13*0x1ab&&!a5[ad(0x1dd)]('80')?(console['log'](a0q[ad(0x127)](ad(0x1ba))),a5[ad(0x176)]('80')):a6>=-0x1bf5+0x2351+-0x72a&&!a5['has']('50')&&(console[ad(0x17e)](a0q['gray']('\x20\x20Note:\x2050%\x20of\x20section\x20AI\x20budget\x20used.')),a5[ad(0x176)]('50'));}(h,d,w),console['log']());}catch(a3){process[ac(0x125)]['write']('\x1b[1A\x1b[2K'),a0C(ac(0x1f7)+a3[ac(0x161)]),console[ac(0x17e)]();}return ac(0x19f);}export function registerAi4ctfCommand(b){const ae=a0j;b[ae(0x1f6)](ae(0x1cf))[ae(0x1db)]('Chat\x20with\x20your\x20AI\x20teammate')[ae(0x1c1)](async()=>{const af=ae;a0A('ai4ctf');const {getRealExamState:j}=await import(af(0x191)),k=j(),q=k?.['questions'][af(0x1c7)](A=>A['number']>=0x698+0x1111+-0x178a&&A[af(0x151)]<=-0x22e7*0x1+-0x1281+0x358e);if(k&&q){const A=k[af(0x1f8)]||-0x1bd0+-0x1fd7+0x2*0x1dd4;if(A<0x1025+-0x7*0x491+0xff1||A>0x70b*-0x2+0x12a8+-0x46c)return console[af(0x17e)](),console['log'](a0q[af(0x127)](af(0x183))),console[af(0x17e)](a0q[af(0x20a)](af(0x167)+A+af(0x162))),console['log'](a0q[af(0x20a)](af(0x152))+a0q[af(0x1b1)][af(0xfe)](af(0x1d6))),void console[af(0x17e)]();const B=k[af(0x126)][af(0x170)](C=>C[af(0x151)]===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import(ag(0x191));await F();const H=E();if(!H)return!(-0x1848+0x448*0x2+0x23*0x73);const I=H[ag(0x126)][ag(0x170)](L=>L[ag(0x151)]===C);I&&(D=I),G(C,D?.['attachedData']);const J=H['aiUsage']?.[ag(0x1cf)]??0x2651*0x1+-0x18a8+-0xda9;if(J>=d)return console['log'](),console[ag(0x17e)](a0q['yellow']('\x20\x20⚠\x20Your\x20AI4CTF\x20token\x20budget\x20is\x20exhausted.')),console['log'](a0q['gray'](ag(0x10e))+a0q['white'](ag(0x131)+C+ag(0x153))),console[ag(0x17e)](),!(0x25c+-0x26*0xb3+0x1*0x1837);try{y=await a0v(void(-0x856+-0xf40+0x1796*0x1),function(L,M){const ah=ag,N=L[ah(0x1db)]||L[ah(0x14e)]||'',O=L[ah(0x115)]?ah(0x13f)+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['attachedData']:'';return ah(0x10f)+M+',\x20'+L[ah(0x1ce)]+',\x20'+(L['points']||-0xcd*0x9+-0xc15+-0x9a8*-0x2)+'\x20points):\x0a'+N+O+ah(0x194)+M+ah(0x1b2);}(D,C));}catch(L){return a0C(L[ag(0x161)]),!(-0xd55+0x2*-0x12cb+0x32ec);}r=!(-0xe*-0xb1+-0x14*0x199+-0x1646*-0x1),h=J,u=!(0x5cb+-0x208a+-0x4*-0x6b0),f={'qNum':C,'question':D,'usageField':ag(0x1cf),'enteredAt':Date[ag(0x1d2)](),'hintsUsed':new Set(),'submitAttempted':!(0x1c01+-0x21cd+0x5cd),'nudgeShown':!(-0x1aeb*-0x1+-0xa1b*-0x2+-0x2f20)};const K=H[ag(0x1c6)]?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0x185)]||ai(0x171),Q=h>0x1956+0x1f+-0x1975;console['log'](),console[ai(0x17e)](a0q[ai(0x1cc)][ai(0x1b1)](ai(0x1d5)+N+':\x20'+M[ai(0x1ce)]+ai(0x12a))),Q&&console[ai(0x17e)](a0q[ai(0x20a)]('\x20\x20(resuming\x20—\x20prior\x20chat\x20is\x20not\x20remembered,\x20but\x20tokens\x20already\x20used\x20stay\x20deducted)')),O&&console[ai(0x17e)](a0q[ai(0x20a)]('\x20\x20Current\x20answer:\x20')+a0q[ai(0x127)](O)+a0q[ai(0x20a)](ai(0x207))),console[ai(0x17e)](),console['log'](a0q['cyan'](ai(0x18f))),console[ai(0x17e)](a0q['cyan'](ai(0x132))+a0q[ai(0x1b1)][ai(0x195)]('Q'+N+ai(0x1e8)+M[ai(0x1ce)]+ai(0x116)+(M[ai(0x1e6)]||-0x1636+0x10de*-0x1+-0x46*-0x8f)+'\x20pts')),console[ai(0x17e)](a0q[ai(0xfe)](ai(0x12c)));for(const R of String(M[ai(0x14e)])['split']('\x0a')){const S=R[ai(0x14a)]>-0x1ee1+-0x1f2f+0x3e4c?R['slice'](0x996+0x10dc+-0x1a72,0x2*0x57b+0x1b3c+-0x25f9)+ai(0x139):R;console[ai(0x17e)](a0q[ai(0xfe)](ai(0x132))+a0q[ai(0x195)](S));}console[ai(0x17e)](a0q[ai(0xfe)]('\x20\x20│')),console[ai(0x17e)](a0q['cyan'](ai(0x132))+a0q[ai(0x20a)]('Full\x20question:\x20\x20')+a0q[ai(0x195)]('exam\x20q\x20'+N)),console[ai(0x17e)](a0q[ai(0xfe)](ai(0x132))+a0q[ai(0x20a)](ai(0x16d))),console[ai(0x17e)](a0q[ai(0xfe)]('\x20\x20└─────────────────────────────────────────────')),console['log'](),console[ai(0x17e)](a0q[ai(0x1b1)][ai(0x195)](ai(0x119))),console[ai(0x17e)](),console[ai(0x17e)](a0q[ai(0x127)](ai(0x102))+a0q[ai(0x20a)](ai(0x1c0))),console[ai(0x17e)](a0q[ai(0x127)](ai(0x168))+a0q[ai(0x20a)](ai(0x1fb))),console[ai(0x17e)](a0q[ai(0x127)](ai(0x13e))+a0q['gray'](ai(0x122))),console[ai(0x17e)](a0q[ai(0x1b1)][ai(0x1cc)](ai(0x1f0))+a0q[ai(0x20a)](ai(0x1c4))),console[ai(0x17e)](a0q[ai(0x195)](ai(0x20c))+a0q[ai(0x20a)](ai(0x106))),console['log'](a0q['gray']('\x20\x20\x20\x20Just\x20type\x20freely\x20to\x20chat\x20with\x20the\x20AI\x20teammate.')),console[ai(0x17e)](a0q[ai(0x20a)](ai(0x160))+a0q[ai(0x195)]('\x22how\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console[ai(0x17e)](),console[ai(0x17e)](a0q[ai(0x20a)](ai(0x1f2))+a0q[ai(0x20a)](ai(0x178))),console[ai(0x17e)](a0q[ai(0x20a)](ai(0xfc))+a0q['gray'](ai(0x1a0))),console[ai(0x17e)](),m(),console[ai(0x17e)](a0q['gray'](ai(0x1fd)+P+')')),console['log']();}(D,C,K),!(-0x1c9*0x8+0x18a9+-0x1*0xa61);}(A,B):void a0C('Q'+A+'\x20not\x20found\x20in\x20state.\x20Try:\x20exam\x20q\x20'+A);}const v={};v[af(0x204)]=af(0x148),v[af(0x1ce)]=af(0x19d);const x=a0z()[af(0x185)]||af(0x171),z=v;try{y=await a0v(z);}catch(C){return void a0C(C[af(0x161)]);}r=!(-0x11a1+-0x948+0x1ae9*0x1),h=0x22e4+-0x42a+-0x72*0x45,u=!(0x2*0xf6f+0x3e*0x22+-0x2719),console[af(0x17e)](),console[af(0x17e)](a0q[af(0x1cc)][af(0x1b1)]('\x20\x20═══\x20'+a0D(af(0x1eb))+af(0x12a))),console[af(0x17e)](),console[af(0x17e)](a0q[af(0x195)]('\x20\x20'+a0D(af(0x129)))),console[af(0x17e)](),console[af(0x17e)](a0q[af(0xfe)](af(0x18f))),console[af(0x17e)](a0q[af(0xfe)](af(0x132))+a0q[af(0x1b1)]['white'](a0D('ai4ctfChallenge'))),console[af(0x17e)](a0q['cyan'](af(0x12c))),console[af(0x17e)](a0q[af(0xfe)](af(0x132))+a0q[af(0x195)](a0D('ai4ctfIntercepted'))),console[af(0x17e)](a0q['cyan'](af(0x132))+a0q['green'](af(0xfd))),console[af(0x17e)](a0q[af(0xfe)](af(0x12c))),console[af(0x17e)](a0q[af(0xfe)](af(0x132))+a0q[af(0x195)](a0D(af(0x179)))),console[af(0x17e)](a0q[af(0xfe)](af(0x132))+a0q[af(0x20a)](af(0x184))),console[af(0x17e)](a0q['cyan'](af(0x165))),console[af(0x17e)](),console[af(0x17e)](a0q[af(0x195)]('\x20\x20'+a0D('ai4ctfLevels'))),console[af(0x17e)](),console[af(0x17e)](a0q['yellow'](af(0x102))+a0q[af(0x20a)](af(0x1b5)+a0D(af(0x140)))),console[af(0x17e)](a0q[af(0x20a)](af(0x1ef)+a0D(af(0x111)))),console[af(0x17e)](a0q[af(0x127)](af(0x168))+a0q[af(0x20a)]('\x20\x20\x20\x20'+a0D('ai4ctfHintB'))),console[af(0x17e)](a0q['gray'](af(0x1ef)+a0D('ai4ctfHintBUses'))),console[af(0x17e)](a0q[af(0x127)](af(0x13e))+a0q[af(0x20a)](af(0x1b5)+a0D(af(0x12d)))),console[af(0x17e)](a0q[af(0x20a)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(af(0x10c)))),console[af(0x17e)](),console[af(0x17e)](a0q[af(0x20a)](af(0x1ac))),console[af(0x17e)](a0q['bold'][af(0x195)]('\x20\x20'+a0D(af(0x154)))),console['log'](af(0x1b5)+a0q[af(0xfe)](af(0x1ec))+a0q[af(0x20a)](af(0x1f4)+a0D(af(0x110)))),console[af(0x17e)](af(0x1b5)+a0q[af(0xfe)](af(0x1f1))+a0q[af(0x20a)](af(0x1f4)+a0D(af(0x1e0)))),console[af(0x17e)](af(0x1b5)+a0q[af(0xfe)](af(0x124))+a0q['gray'](af(0x1f4)+a0D(af(0x138)))),console[af(0x17e)](a0q[af(0x20a)](af(0x1b5)+a0D(af(0x11e)))),console[af(0x17e)](),console[af(0x17e)](a0q['white']('\x20\x20'+a0D(af(0x196)))),console[af(0x17e)](a0q['gray']('\x20\x20'+a0D('ai4ctfOrChatExample')+'\x20')+a0q[af(0x195)](af(0x145))),console[af(0x17e)](),console[af(0x17e)](a0q['yellow']('\x20\x20'+a0D('ai4ctfCommands'))),console[af(0x17e)](a0q[af(0x195)](af(0x180))+a0q['gray'](a0D(af(0x11a)))),console[af(0x17e)](a0q[af(0x195)](af(0x189))+a0q[af(0x20a)](a0D(af(0x208)))),console[af(0x17e)](a0q[af(0x195)](af(0x1c3))+a0q[af(0x20a)](a0D(af(0x1b4)))),console[af(0x17e)](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[af(0x195)](af(0x181))),console['log'](a0q[af(0x20a)]('\x20\x20\x20\x20exit\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D('ai4ctfEndSession'))),console['log'](),m(),console['log'](a0q[af(0x20a)]('\x20\x20'+a0D('ai4ctfModel')+af(0x1d7)+x+')')),console[af(0x17e)](a0q[af(0x20a)]('\x20\x20'+a0D(af(0x1f3)))),console[af(0x17e)]();});}
@@ -1 +1 @@
1
- (function(z,B){const b0=a0B,F=z();while(!![]){try{const G=parseInt(b0(0x1ee))/(0x1a72+-0x1*0x81d+-0x1254)*(-parseInt(b0(0x201))/(-0xf4*0x7+0x3c7+0x2e7))+-parseInt(b0(0x339))/(0x1f4e*0x1+0x2*-0x33a+-0x18d7)+parseInt(b0(0x409))/(-0x1bbc+0x9b1+-0x43*-0x45)*(-parseInt(b0(0x235))/(-0x27*-0x24+0x98b+-0xf02))+-parseInt(b0(0x307))/(0x2238+-0x2502+0x2d0)*(-parseInt(b0(0x234))/(-0x22e7+-0xd1*0x13+0x15d*0x25))+-parseInt(b0(0x448))/(-0x1777+-0x3*0x601+0x2982)+-parseInt(b0(0x1af))/(-0x1c06+0xee5+-0xd2a*-0x1)+parseInt(b0(0x2f7))/(0xb80+0x1*0x1c60+0x1*-0x27d6)*(parseInt(b0(0x37b))/(-0x2226+0x3d*-0x97+-0x4*-0x118b));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x250f*-0x6b+-0x1*-0x99bd1+-0xcc2f9));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';function a0z(){const bP=['tK9uifbbu1nfra','C3rKzxjY','yxr0ywnOzwreyxrH','icaOAgvSCca','igfUC3DLCMvKkq','AwnVys1JBgK','zgvTB0LUDhjVu2vLBG','zMLUzeLUzgv4','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','yw5ZD2vYCW','vwj1BNr1ia','icbuAw1LoIaGica','icdIMiuGuq','CxvLC3rPB25dB3vUDa','C3vIC3rYAw5N','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','zw50CMLLCW','ihLVDsbNB3qGD3jVBMCU','y3rMzfvYBa','y2XVy2TpzMzZzxrnCW','B3v0Chv0','zNjVBq','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','BgLZDgvUzxjZ','zMLSDgvY','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','ue9tva','ihbVAw50CYaOntaLkq','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','AwnVyt4','CMvZzxq','icbtDgvWlwj5lxn0zxa6','yxr0ywnRAw5N','Dw5KzxjSAw5L','C2XPy2u','icaGicaGicHpCIbKB3DUBg9HzcbMCM9Tihb5DgHVBI5VCMCGyw5KienirunligjVDgGGiKfKzcbqExrOB24GDg8','CxvPDa','l2fUC3DLCG','C3rHCNrLzef0','u3vIBwL0igzHAwXLza','icaGiokgKIa','ihbHy2THz2vZigLUC3rHBgXLzc4G','zxHHBsbHBNn3zxiG','rhvYyxrPB24','zgvTBY1LEgfT','AhrWsNvTCa','sw5KAwe','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','y2XLyxi','icbr','icaGigv4yw0GCMv2Awv3','icaGicbjBNnPzguGy2HHDdOGicaG','q29UDgvUDc1uExbL','icaG','ihDHCYbUB3qGzMXHz2DLzc4','qxzHAwXHyMXLiev4yw1ZicG','zxHHBsbZDwjTAxqG','Dgv4Da','icbjzIb5B3uGCMvHBgX5ihDHBNqGDg8GC3vIBwL0ihDPDgGGANvZDca','y2XVC2u','uK9qz2fKz2v0','BwfYAYbBBL0','icaGign0zJrHAq','zxHHBsbUzxH0','icbYDw4G','iokCKYaGka','zgf0yq','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','C3rYAw5NAwz5','khnLCNzLCI1HDxrOB3jPDgf0AxzLkq','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','iokaLca','x2HLBhbvC2vK','BMf0Aw9UCW','icaGieXHBMC6icaGia','zwXPBwLUyxrLzca','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','CxvLC3rPB25Z','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icbzB3uGC3rPBgWGAgf2zsa','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','uhL0Ag9Uia','ANnVBG','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','Dg9Rzw4GpgnVzgu+','Aw5JBhvKzxm','zxHHBsa','igfUC3DLCMvK','8j+pLU+4JW','zw1VAMK','Dg9mB3DLCKnHC2u','icbbCMnOic8GtwfUAMfYBZO','C29Tzq','C19JDgy0ywK','iokaLcbZzwuGzNvSBcbLCNjVCG','BMv4DcaVihbYzxy','Dg90ywW','AgvSCefSBfvZzwq','ic8G','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','zxHHBvDHExntAgvSBa','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','CgfKu3rHCNq','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','r0vu','icbozxH0ihn0zxa6ia','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','ueLm','C19HAtrJDgy','yw5ZD2vYzwq','icbqCMfJDgLJAw5Nia','vw5PDgvKifn0yxrLCW','y29UzMLYBq','ywLvC2fNzq','icaGicdILQmG','ic0TDMvYC2LVBG','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','uhjVz3jLC3m','DgvZDa','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','vw5HBNn3zxjLza','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','icaGicbfEgL0ignOyxq6icaGicaG','CdmW','ihnRAxbWzwq','yw5ZD2vYx3n1yM1PDhrLza','Bw9Yzs1OzwXW','icdWN46bicS','igfUC3DLCNmSihr5Cgu6','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','Bwf4','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','Dg9Vx29Sza','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','CMvTB3zLtgLZDgvUzxi','mti1mhnby1rnwG','lcbUB3qGEw91CIb0zwfTBwf0zq','vMLLDg5HBq','quKGDg9Rzw5ZoIa','u3rYB25NzxiGAgvYztOGia','oIdIGjq','q3j5ChrV','CgXHDgzVCM0','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIb5B3vYignVDw50CNKGEwv0lG','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','igzPCNn0lG','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','oYb0AgLZihbYzxzLBNrZigfJy2LKzw50CYK','igf0igfUEsb0Aw1LlG','C3rHCNqGpgLKpG','Ew91CKfUC3DLCG','mtHAvMjfC00','CMvWBgfJzq','icaGiokrOca','z3jHEq','khbYzxnZigfUEsbRzxKGDg8GC2TPCcK','igjVBNvZihvZzxmP','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','ig9YigXLyxzLihDPDgGG','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','vgLTzsb1C2vKoIa','vgLTzsbLEhbPCMvKlG','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','BwvZC2fNzq','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','l2fWAs9Py29Hl2v4yw1ZlW','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','BgvUz3rO','zgvTBY1MCMvL','Cg9PBNrZ','Aw50zxjHy3rPB25Z','icbuExbLia','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','icaGicbiAw50CYbbl0iVqZOGicaG','icaGievprG','y2HHBMDLzcbMCM9Tia','u3rHDhvZ','y2f0zwDVCNK','D2HPDgu','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','BwLZC2LUzW','mJuSmdaWihrVA2vUCW','igrLDgvJDgvK','ywrK','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','sw4GuhjVz3jLC3m6ia','u29SAwqGCgLJAY4','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','D2L0Aa','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','icbfEgfTCgXLoIa','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','y291BNrYEq','xsaG','y3rMngfP','CgfKrw5K','mJq0ndy3m3vKuKnvyq','CMfUzg9T','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','l3n1yM1PDa','DhLWzq','C3rKB3v0','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','icdINjCG','icaGiokrOsa','icaGihn1zg8Gyxb0ihvWzgf0zq','yNjLDW','icbjBNn0ywXSAw5Nia','C3rHDhvZ','uxvLC3rPB25Z','icbtDgfYDgLUzYbLEgfTlI4U','lI4VBgLIl21HAw4TCMWUANm','CgfZC2vK','icbbC3nPC3rHBMnLoG','icaGifLVDsbJyw4GBM93ihvZztOG','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','tg9HzgLUzYbLEgfTCY4UlG','ihvUzMXHz2DLzc4','icbbBNn3zxjZigfYzsa','mJuSmdaW','AgvSCa','Axnoyu4','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','AxnbCNjHEq','ugHPBgLWCgLUzxm','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','A2v5','zxHHBu5HBwu','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','icdIHPiG','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','CgfZC2LUz1nJB3jL','lI4VBgLIl2rLBw8TzxHHBs5QCW','icaGigzYB20GChDUigLTCg9YDcb4B3i','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','z3jLzw4','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','icdINjmGie1dusbZzwn0Aw9UignVBxbSzxrLiokaLcb3zwXSigrVBMuH','u3bVDcbVBI4','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','r28GDg8GBMv4DcbXDwvZDgLVBG','igf0DgvTChrZ','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','Ew91CIbmAw51EcbKAxn0CM8','icaGiokgKIbIj0HLBgXVjW','zMfPBgvKugfJA2fNzxm','yxbWBgLJyxrPB24VANnVBG','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','C2nHChK','icbuBYbJB250Aw51zsb0AgLZigv4yw06','CMvZDw1L','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','BwLU','zxHHBsbXia','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','icaGia','icbqyxnZihrOCMvZAg9SzcbPCYb0ExbPy2fSBhKGntaLiokaLca','mJeWnZCXu3j0zgLw','CM91BMq','r3jHzgLUzY4UlG','yMvHDxrPzNvSC291Cdq','icbgzwrVCMeGlYbssevmoG','icdINjmGCgLWigf2ywLSywjSzq','q3rYBcTd','icbzB3vYihj1BG','icbtDwjTAxqGBM93ihDPDgG6ia','Aw5ZDgfSBgvKugfJA2fNzxm','yw5ZD2vY','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','icbuCM91yMXLC2HVB3rPBMC6','BgLUzq','l2HLBha','icaGigv4yw0GC3vIBwL0','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','u3vIBwL0DgvK','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','iIbPCYbPBIbWCM9NCMvZCY4','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','ienurJrbsq','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','icdcTYaG','igLUC3rHBgXLza','C2v0Dxa','igfUC3DLCNmU','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','icaGicbtB2X2zsa','B3b0Aw9UCW','icbdB250Aw51zsb0AgLZigv4yw06','icaGifbHy2THz2vZoIa','igf0DgvTChq','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','icaGicbfBNrLCIbJAgf0oIaGicaG','DgLTzw91Da','C3LTChK','ihf1zxn0Aw9U','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','BwfNzw50yq','rxHHBsaI','icaGigXHBMC','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','vxnLCI1bz2vUDa','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','icbozwvKig1VCMu/ifr5Cgu6ia','x2HLBhbqzxjr','zgvTBY1LBNrLCG','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','qNvYDw5KAq','icaGww91CIb0zxjTAw5HBca','BgLZDcbBy291BNrYEv0','zxHHBsbYzxn1BhqG','icdIL4SG','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','iIaYpI9KzxyVBNvSBa','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','zxHHBsbSAxn0ia','CMvK','AhrWqMfJAW','zxHHBsbKzw1VlxjLDhj5','x2vSAw1PBMf0zwq','x3n1yM1PDenVBMzPCM1Lza','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','ig5VDcbMB3vUzcaOms0','y29YCMvJDa','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','zw5JB2rPBMC','icdIMiuG','twfJyxu','AhrWtw9YzuHLBha','zhvYyxrPB25nAw4','icaGihzSytrJDgy','Aw5WDxq','qxvZDhjHBgLH','AhrWtgfUzW','cGPgDwXSigf0DgfJAgvKigrHDge6cG','ChLJCNLWDg9KB21L','Cgf1C2u','tg9HzgLUzYbYzxn1BhqUlI4','icaGiokaOIbuCNK6ia','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','zgvTBW','C2nVCMu','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','yM9Sza','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','sMfWyw4','y29TBwfUza','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','C3bSAwnL','icaGiokCKYbZyxzLza','BgfUzYa8y29Kzt4','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','AxnsyxC','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','uhjLCgfYAw5NlI4U','zwDNoq','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','EwvSBg93','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','AhrWtMf2','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','zxHWBgfUyxrPB24','q2HPBMe','rMXHz2DLzcbMB3iGCMv2Awv3','zw5KC1DPDgG','AxnuvfK','zwDNmtu','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','t3rOzxi','BMfTzq','zgvZy3jPChrPB24','BMv3','imk3ia','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','icbezxrLy3rLzdOG','C3rKAw4','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','icaGigHLBha','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','Dwj1BNr1','icdWN5kHifrYEsb0ExbPBMCG','ihvUyw5ZD2vYzwq6ia','nhzxDwDnra','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','zxHHBq','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','lI4VBgLIl2v4yw0TC3rHDguUANm','ig1PBIbYzw1HAw5PBMC','icaGieeVqI9dl0q','ihrVihnLzsb5B3vYihjLC3vSDhmH','Dg9Rzw4','sw52ywXPzcb0B2TLBG','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','y29TCgXLDgu','ugvYDq','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','icaGicbuB2TLBJOG','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','icHXDwLJAYb0yxnRCYK','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','CxvLC3rPB24','zxHHBsa8Dg9Rzw4+','icbODhrWCZOVl2LJB2eYmdi2lMf1','CgLWzq','zwXPBwLUyxrLza','icbezw1VoIa','BMv4DeXHyMvS','ihbHy2THz2vZlI4U','ic1TihbPCcaTlxzLCNnPB24','icaGsg93ihrVigf0DgfJAW','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','icaGicfWExrOB24Z','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','icaGzMLUAxnOigfUzcbZDwjTAxq','y2vPBa','EJmTC29SDMvY','y29UzMLYBwvKqxq','rMfPBgvKihrVihn0yxj0igv4yw0','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icaGsg93ihrVihDVCMS','CdeW','icdINjmG','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','x2HLBhbnyxG','BNvTChK','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','lI4U','icaGideUifr5CguG','icaGicdcTYbbssbPCYb5B3vYia','ihrVihDPCguGBg9JywWGC3rHDguSihrOzw4GCMuTzw50zxiGDgHLig5LDYb0B2TLBI4','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','u291DgGGqwzYAwnH','icbzB3uGD2LSBcbZDwjTAxqG','vw5PDgvKieTPBMDKB20','BgfUz3vHz2u','q291BNrYEq','cIaG','rMfPBgvKihrVigXVywqGCMvZDwX0','icbdyw5JzwXSzwqU','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','uNvZC2LH','igLZihDLBgWGyMvSB3CU','otG3mJuYmfP3q2v5yW','icbfEgfToIaGica','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','zxHHBsb1BM1HCMSG','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','qNjHEMLS','icbmyw5NDwfNztOG','ic0TCxvPzxqGmJ4Mmq','zMXVB3i','qw5ZD2vYzwq','ica+ia','CgvYzMvJDfnJB3jL','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','icaGiokrPca','uxvLC3rPB24G','y2f0zwDVCNLtDgf0CW','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','qMfUz2XHzgvZAa','vgLTzw91DevYCM9Y','ugfZCW','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','q29TCgXLDguH','sw52ywXPzcbLEgfTihrVA2vU','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','icHJB21WBgv4ihnVBhv0Aw9UCYK','tg9HzgLUzYbXDwvZDgLVBNmUlI4','BMv4Da','icaOC2vLihDOAwnOihf1zxn0Aw9UCYbHCMuGyMXHBMSP','icdIHPiGia','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','icaGiezHAwXLzdOG','icaGig1HCMS','C3rVCa','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','Dg90ywXty29Yzq','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','lI4VBgLIl3bSyxrMB3jTlMPZ','icbxAgf0ig5LEhq','icbB','rMXHz2DLzdOGica','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','zgvHzgXPBMvtzxj2zxjnCW','DxrMltG','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','icaGicaGicaGia','yxr0zw1WDhm','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','zxHHBsbYzxnLDa','zxHHBvDHExnqExrOB25szxbS','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','AgfZ','sgvSCdOGicaGica','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','icbbBNn3zxjZoIa','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','ueftu0ve','vgLTzsbszw1HAw5PBMC','DM9SyxrPBgL0Etm','ChjLDG','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','AwnVyq','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','icdINjmGCgLWigLUC3rHBgXLza','zxHHBsbTB3jLlwHLBha','C29YDa','zwDNnW','C2v0uhjVBxb0','zMfPBa','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','ihrVigfZAYbbssbMB3iGAgvSCdO','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','icbizwXWihvZzwq6ia','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','C3bSAxq','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','zwDNmtm','AhrWsgvSCa','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','tMLJzsbVBMuU','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','zwDNmW','Dg9vChbLCKnHC2u','ugvYy2vUDgfNzq','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','ixb5DgHVBJm','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','zxHHBsbYzxzPzxC','rwD5Chq','icGR','AwDUB3jL','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','zxHHBsbZzxr1Ca','icdINjmGuhL0Ag9Uia','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','rvHqsvjfra','icdIMQaGuhL0Ag9Uia','ywK0y3rMu3vI','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','icdcTYblzwvWihnOyxjWzw5PBMC6ia','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','zgfYD2LU','Cgn0','C2vYDMvYx3rPBwvFBxm','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','C3rHCNq','uMvZDwX0igXVywrLza','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','y3rMngfPpG','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','ic1TihbPCcbPBNn0ywXSici','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','icaGiokrOYa','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','DhjPBq','uhL0Ag9UidmGBM90igzVDw5KlG','CgvYuq','tM8GDgLTzsbSAw1PDa','CMvZDwX0ifTPzf0','zxHHBsbKzw1V','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','mZGWmZqWEMLAtg9L','Bw9YzsbOzwXW','icdIMiyGuq','zxHHBsbZDgfYDca','qwXTB3n0ihjLywr5lI4U','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','CsbBBL0','icbszwfKEt8GvxnLia','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','u3rHCNrPBMCGDgLTzxiUlI4','icaGigfPngn0zG','zxHHBsbUyxrPB25Z','icaGig5LEhq','icaGicaGia','r2vYBwfUEq','icaGicbnzxnZywDLCYdIHPiGquKGDgfYz2v0iokaLcbJCMfMDcbWCM9TChrZihrVigjYzwfRigL0CYbYDwXLCY4','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','BNvTyMvY','icaGv2vSy29Tzsb0BYb0AguGChjHy3rPy2fSienurIbZzwn0Aw9UlIbszwfS','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','zxHHBsbZDwjTAxqGy29UzMLYBsa','BM9KztPJAgLSzf9WCM9JzxnZ','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','igvSAw1PBMf0zwqH','CMvMihb5DgHVBG','AhrWuMv2Awv3','ic1JicjPBxbVCNqG','zMLUza','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','zxHHBsb0B2TLBIa','C2vZC2LVBG','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','y2f0','l2v0yY9VCY1YzwXLyxnL','ic1TihbPCcbZAg93ici','CMvWzwf0','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','DMXH','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','x2XHC3rr','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','u3jPieXHBMTH','icbVCIaG','yMfJAW','rw52AxjVBM1LBNqGCMvHzhK','C3vIBwL0DgvKqxq','quXm','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','CgTN','icaOEwvZiokaLcbSAxrLCMfSBhKGDhLWzsb0AguGBNvTyMvYia','C3rKAw8','icbpCIb0ExbLia','ig1PBNv0zxm','icaGicHHAtrJDgyP','icaGica','zxHHBsbZDwjTAxq','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','ChDU','ntCXEKDlA1HJ','iefjnenurG','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','D2LUmZi','zhvYyxrPB25nAw51DgvZ','4O+XifrPBwuGCMvTywLUAw5NoG','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','D3jPDgu','Dg9ju09tDhjPBMC','CgvYy2vUDgfNzq','zxHHBsbOzwXW','icaGicbfEgfToIaG','rMfPBgvKihrVigXVywqGzxHHBxm','zgvTBY1YzxrYEq','sw5KB25LC2LH','zNvUy3rPB24','icdIJ7eGifrPBwuGy2HLy2SGia','BM9KztPMCW','ndC2zvHxwLLr','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','icaGrwXHChnLzdOG','ywK0y3rM','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','zxHHBsbXide','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','ixb5DgHVBJmGC29SDMuUChK','A2v5CW','zxHHBvDHExntyxzLzfrV','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','ywK0y3rMpG','ihrVigXLyxzLigLJB2e','Bg9N','z2v0vgLTzq','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','icbcEsbJyxrLz29YEq','BgLUDxG','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','ixb5DgHVBJmGlI4U','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','wYbDica','AgLUDa','rxHHBxmG4Ocuia','icbbBgWGAgvSCcb1C2vKicG','zxHHBsbZDwjTAxqGy29UzMLYBq','icbsDwXLCZO','AgLUDcbHic8GyIaVigm','zxHHBsbWCMv2','ywn0Aw9U','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','tg9HzgLUzYbLEgfTlI4U','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','yM9VA21HCMTZ','C2v0uMf3tw9Kzq','CMvNzxG','ihrOzsbJB21WzxrPDgLVBI4','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','icbxCMfWihvWigfUzcbZDwjTAxq6ia','yMvZDa','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','icbdDxjYzw50BhKGzMXHz2DLzdOG','zxHHBvDHExnbAtrJDgy','zxHHBuLK','B25Jzq','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','zxHHBsbTyxjRia','C3rHCNrfEgfT','mZqYmta0n2PyC250rW','ndeYodq4nwXcs0LJsa','icbnzxrOB2qGmtOGt25LlwXPBMvY','yNm0','DxnLza','y3LHBG','BwfW','CMvXDwvZDhm','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','C3vIBwL0ieLdt0f7lI4UFq','D3jVBMC','BwfJt1m','C2HVD25xyxjUAw5NCW','Aw5FChjVz3jLC3m','zMLUywW','tM8GzxHHBsbPBIbWCM9NCMvZCY4','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','ihnOyxjLzcbHy3jVC3mGutm54Octnda','uMvHzhKH','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','Cg9ZDc1YzxbVCNqTCMv0CNK','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','rNjHBMnL','icaGifb5DgHVBJOG','AhrWu3vIBwL0','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','icbVzIa','icbtDwjTAxr0Aw5Nig5VDYbZy29YzxmGzNjVBsbVBMX5ia','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','ifSGxsaG','Bwf0y2G','ig9Mia','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','vg90ywW','zwDNmte','igfUC3DLCMvKiokaLcbHy2nPzgvUDgfSihn1yM1PDcbNDwfYza','icbqBgvHC2uGCMuTDhLWztOG','ChDUDg9VBhm','iokgKIa','y2f0y2G','u2H1zMzSAw5Nig9WDgLVBNmUlI4','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','icaGkhjLC3vTzsbMCM9TifeXkq','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','AM9PBG','ChvZAa','icaGig1VCMuGAgvSCa','BM93','icbbssbbC3nPC3rHBNq'];a0z=function(){return bP;};return a0z();}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 E(B,F={}){const b1=a0B,G=a0W(),H={};H[b1(0x2a2)]=b1(0x36f),fetch(b1(0x317),{'method':b1(0x288),'headers':H,'body':JSON['stringify']({'type':B,'lang':G['language']||'en','timestamp':new Date()[b1(0x1f7)](),...F}),'signal':AbortSignal['timeout'](-0x2388+-0x15c0+0x4cd0)})['catch'](()=>{});}function N(z,B){const b2=a0B,F=Math[b2(0x37c)](z/(-0x229e+0x2276+0x8c)*(0x1ca*0x8+-0x14f5+-0x241*-0x3)),G=0x214a+0x160d+-0x3739-F,H=a0L[b2(0x363)]('█'[b2(0x1d4)](F))+a0L[b2(0x30a)]('░'[b2(0x1d4)](G)),J=String(z)[b2(0x2d4)](0x253a+0x2*-0x1219+-0x105)+'%';process[b2(0x33e)][b2(0x1f6)]('\x0d\x1b[2K\x20\x20'+H+'\x20'+J+'\x20\x20'+a0L[b2(0x30a)](B));}function M(){const b3=a0B,z=a0W();return z[b3(0x280)]&&z[b3(0x413)]?new a0V(z[b3(0x280)],z[b3(0x413)]):(a0aa(b3(0x354)),null);}function O(){const b4=a0B,z=a0a1();z&&(new Date()<z?a0af(b4(0x15e),a0L[b4(0x3eb)]['bold'](a0ah(z))):a0af('Time',a0L[b4(0x3bd)][b4(0x3d9)](b4(0x193))));}function j(z,B){const b5=a0B;return Array[b5(0x355)](z[b5(0x225)])&&z[b5(0x225)]['includes'](B);}function D(z,B){const b6=a0B,F=Array[b6(0x355)](z['bookmarks'])?[...z['bookmarks']]:[],G=F['indexOf'](B);return G>=0xcff+-0x24f2+0x17f3?(F[b6(0x3de)](G,-0x13d5+-0x7*0x269+0x24b5*0x1),z[b6(0x225)]=F,a0Z(z),!(-0x1726*0x1+0x1e4+0x1543)):(F[b6(0x268)](B),F[b6(0x167)]((H,J)=>H-J),z[b6(0x225)]=F,a0Z(z),!(-0xb84+-0xe*-0xe3+-0xe6));}function a0B(a,b){a=a-(-0x1ac4+-0x5*-0x54c+-0x173*-0x1);const c=a0z();let d=c[a];if(a0B['mOhWwF']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x996+-0x2388+0x19f2,o,p,q=-0x4*0x5aa+-0x229e+0x3946;p=i['charAt'](q++);~p&&(o=n%(0x1ca*0x8+-0x14f5+-0x9b*-0xb)?o*(0x214a+0x160d+-0x3717)+p:p,n++%(0x253a+0x2*-0x1219+-0x104))?l+=String['fromCharCode'](0xcff+-0x24f2+0x18f2&o>>(-(-0x13d5+-0x7*0x269+0xfe*0x25)*n&-0x1726*0x1+0x1e4+0x1548)):-0xb84+-0xe*-0xe3+-0xe6){p=j['indexOf'](p);}for(let r=0x1479+-0x1114*0x1+-0x365,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x6b3+0x18ec+0x3*-0xa85))['slice'](-(-0x2349+-0x2*0x107b+0x4441));}return decodeURIComponent(m);};a0B['SgKIHv']=e,a0B['Zouiaw']={},a0B['mOhWwF']=!![];}const f=c[0x7fb+-0x10e5+0x146*0x7],g=a+f,h=a0B['Zouiaw'][g];return!h?(d=a0B['SgKIHv'](d),a0B['Zouiaw'][g]=d):d=h,d;}function R(B){const b7=a0B,F={};return F['used']=B[b7(0x2b6)]||0x1479+-0x1114*0x1+-0x365,F[b7(0x2f2)]=B[b7(0x435)]||0x6b3+0x18ec+0x19*-0x143,F[b7(0x1aa)]=B[b7(0x3b1)]||{},F[b7(0x422)]=B['_eliminated']||{},F;}function U(z,B){const b8=a0B,F=a0Y(),G=Number(F?.['session'][b8(0x279)]||-0x2349+-0x2*0x107b+0x445d),H=Object[b8(0x20a)](F?.['answers']||{})[b8(0x318)],J=R(F),K=J['eliminated'][z['number']]||[],L=b8(0x205)===z[b8(0x33d)]||b8(0x337)===z[b8(0x33d)]||b8(0x1d8)===z[b8(0x33d)]||z[b8(0x39f)]&&!z[b8(0x39f)]['A']&&!z[b8(0x39f)]['B'];F&&function(Y,Z){const b9=b8;if('demo-free'===Y[b9(0x1ce)][b9(0x22f)])return;const a0=new Set(Y[b9(0x240)]||[]),a1=Number(Y[b9(0x1ce)][b9(0x279)]||0x7fb+-0x10e5+0x81*0x12),a2=a0a1();if(0x1dfb+0xaa2+0xdd*-0x2f===Z&&a1>=-0x857+-0x2c2*-0x9+-0x1053&&!a0[b9(0x158)](b9(0x432))){const a3=a2?Math[b9(0x2f2)](0x1918+-0x227e+-0x1*-0x966,Math[b9(0x37c)]((a2[b9(0x210)]()-Date['now']())/(0x1c8dc+-0x1b746+-0x6c65*-0x2))):null;console[b9(0x20f)](),console[b9(0x20f)](a0L[b9(0x30a)]('\x20\x20┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄')),console[b9(0x20f)](a0L[b9(0x239)](b9(0x1ff))+a0L['gray'](b9(0x41d))),null!==a3&&console[b9(0x20f)](a0L[b9(0x30a)](b9(0x1e9)+a3+b9(0x387))),console[b9(0x20f)](a0L[b9(0x30a)](b9(0x40a))),a0[b9(0x32a)](b9(0x432)),Y['shownWarnings']=Array[b9(0x283)](a0),a0Z(Y);}if(0xb11*-0x1+-0x1a1c+0x254b===Z&&a1>=-0x5*-0x507+0x7f3+-0x20ee&&!a0[b9(0x158)](b9(0x2ea))){Object[b9(0x20a)](Y['answers']||{})[b9(0x318)];const a4=Object[b9(0x20a)](Y[b9(0x275)]||{})[b9(0x286)](a5=>Number(a5)<=0x5*-0x50e+-0x302*-0x7+0x456)[b9(0x318)];console[b9(0x20f)](),console[b9(0x20f)](a0L['green']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b9(0x20f)](a0L[b9(0x3d9)][b9(0x363)](b9(0x366))),console[b9(0x20f)](a0L[b9(0x30a)](b9(0x1e9)+a4+'/30\x20multiple-choice\x20answered')),console[b9(0x20f)](a0L[b9(0x323)](b9(0x1d9))),console[b9(0x20f)](a0L[b9(0x30a)](b9(0x220))),console[b9(0x20f)](a0L['green']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),a0[b9(0x32a)](b9(0x2ea)),Y[b9(0x240)]=Array[b9(0x283)](a0),a0Z(Y);}}(F,z[b8(0x1c0)]),F&&L&&function(Y,Z){const ba=b8;if(ba(0x319)===Y['session'][ba(0x22f)])return;if(Number(Y[ba(0x1ce)]['questionCount']||-0x1*-0x2eb+0x1ffd+-0x40*0x8b)<-0x22dd*0x1+0x7*0x497+-0x94*-0x5)return;const a0=new Set(Y[ba(0x240)]||[]);Z>=0x7*-0x525+0x429+0x1*0x1ff9&&Z<=0x20de+0x298+-0x388*0xa&&!a0[ba(0x158)](ba(0x2da))?(console[ba(0x20f)](),console[ba(0x20f)](a0L['green']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x20f)](a0L[ba(0x3d9)][ba(0x363)]('\x20\x20\x20🚀\x20\x20Section\x202:\x20AI4CTF\x20—\x20AI\x20is\x20your\x20teammate')),console[ba(0x20f)](a0L[ba(0x363)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x20f)](),console[ba(0x20f)](a0L[ba(0x323)](ba(0x1c1))),console['log'](a0L['white'](ba(0x2d5))),console[ba(0x20f)](),console[ba(0x20f)](a0L['bold'][ba(0x323)](ba(0x2e7))),console[ba(0x20f)](a0L[ba(0x30a)](ba(0x39e))+a0L['bold'](ba(0x331))+a0L[ba(0x30a)]('\x20AI\x20by\x20your\x20side.\x20AI\x20is\x20your\x20teammate.')),console[ba(0x20f)](),console['log'](a0L[ba(0x3d9)][ba(0x323)](ba(0x431))),console[ba(0x20f)](a0L[ba(0x30a)](ba(0x3a4))+a0L[ba(0x3d9)][ba(0x363)](ba(0x205))+a0L['gray'](ba(0x25c))+a0L[ba(0x3a9)](ba(0x20d))+a0L[ba(0x30a)](ba(0x3f2))),console[ba(0x20f)](a0L[ba(0x30a)](ba(0x2a1))+a0L[ba(0x239)](ba(0x21d))+a0L[ba(0x30a)](ba(0x3fe))+a0L[ba(0x239)](ba(0x23d))+a0L[ba(0x30a)](ba(0x3fe))+a0L[ba(0x239)](ba(0x215))),console[ba(0x20f)](a0L['gray']('\x20\x20\x20\x20\x20Free\x20chat:\x20\x20\x20\x20\x20\x20any\x20message\x20→\x20AI\x20teammate')),console[ba(0x20f)](a0L['gray'](ba(0x2e9))+a0L['cyan']('exit')+a0L[ba(0x30a)]('\x20→\x20back\x20to\x20exam,\x20navigate\x20with\x20')+a0L['cyan'](ba(0x2cd))),console[ba(0x20f)](),console[ba(0x20f)](a0L[ba(0x3d9)][ba(0x323)]('\x20\x20\x20Budget\x20(shared\x20across\x20Q31–38)')),console[ba(0x20f)](a0L[ba(0x30a)]('\x20\x20\x20\x20\x20AI\x20tokens:\x20\x20\x20\x20\x20\x20')+a0L['white'](ba(0x350))+a0L[ba(0x30a)]('\x20for\x20this\x20section')),console[ba(0x20f)](a0L[ba(0x30a)](ba(0x31e))+a0L[ba(0x323)](ba(0x18e))),console[ba(0x20f)](),console[ba(0x20f)](a0L[ba(0x3eb)](ba(0x2e8))),console[ba(0x20f)](a0L[ba(0x363)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x20f)](),a0['add']('s_ai4ctf'),Y['shownWarnings']=Array['from'](a0),a0Z(Y)):Z>=-0x101e+-0xb*0x2f1+-0x185*-0x20&&!a0['has'](ba(0x2cb))&&(console[ba(0x20f)](),console[ba(0x20f)](a0L['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](a0L[ba(0x3d9)][ba(0x3bd)]('\x20\x20\x20🎯\x20\x20Section\x203:\x20CTF4AI\x20—\x20Challenge\x20the\x20AI')),console[ba(0x20f)](a0L[ba(0x3bd)](ba(0x396))),console['log'](),console[ba(0x20f)](a0L[ba(0x323)](ba(0x17c))),console[ba(0x20f)](a0L[ba(0x323)]('\x20\x20\x20using\x20AI,\x20you\x27re\x20')+a0L[ba(0x3d9)](ba(0x28e))+a0L[ba(0x323)]('\x20AI\x20systems.')),console[ba(0x20f)](),console[ba(0x20f)](a0L[ba(0x3d9)][ba(0x323)](ba(0x1f5))),console[ba(0x20f)](a0L[ba(0x30a)](ba(0x262))),console['log'](),console[ba(0x20f)](a0L[ba(0x3d9)][ba(0x323)](ba(0x427))),console[ba(0x20f)](a0L[ba(0x30a)](ba(0x3a4))+a0L[ba(0x3d9)][ba(0x3bd)](ba(0x337))+a0L['gray'](ba(0x25c))+a0L[ba(0x3bd)](ba(0x1a2))+a0L[ba(0x30a)]('\x20prompt,\x20same\x20shape\x20as\x20demo')),console['log'](a0L[ba(0x30a)](ba(0x2a1))+a0L[ba(0x239)]('hint\x20a\x20/\x20b\x20/\x20c')+a0L[ba(0x30a)]('\x20·\x20')+a0L[ba(0x239)](ba(0x23d))+a0L[ba(0x30a)](ba(0x3fe))+a0L[ba(0x239)](ba(0x215))),console['log'](a0L[ba(0x30a)](ba(0x1be))),console[ba(0x20f)](),console[ba(0x20f)](a0L['bold'][ba(0x323)](ba(0x146))),console['log'](a0L[ba(0x30a)](ba(0x43a))+a0L[ba(0x3bd)]('target')+a0L[ba(0x30a)](ba(0x2f8))),console[ba(0x20f)](a0L[ba(0x30a)]('\x20\x20\x20\x20\x20·\x20Separate\x20budget:\x20')+a0L[ba(0x323)](ba(0x328))+a0L[ba(0x30a)](ba(0x245))),console[ba(0x20f)](),console[ba(0x20f)](a0L['yellow']('\x20\x20\x20These\x20are\x20the\x20hardest\x20questions.\x20Worth\x2021%\x20of\x20total\x20score.')),console[ba(0x20f)](a0L[ba(0x3eb)](ba(0x313))),console[ba(0x20f)](a0L[ba(0x3bd)](ba(0x396))),console[ba(0x20f)](),a0[ba(0x32a)](ba(0x2cb)),Y[ba(0x240)]=Array[ba(0x283)](a0),a0Z(Y));}(F,z[b8(0x1c0)]),F&&function(Y){const bb=b8,Z=a0a1();if(!Z)return;const a0=Z[bb(0x210)]()-Date['now']();if(a0<=0x1951*0x1+-0xd*-0x2fc+-0x401d)return;const a1=a0/(-0x1241*-0x12+-0x5373+-0xabf),a2=new Set(Y[bb(0x240)]||[]);let a3=null;if(a1<=0x22c3+0x23d*-0x8+0x6*-0x2cf&&!a2[bb(0x158)]('t1')?a3={'key':'t1','text':[a0L[bb(0x3bd)]['bold'](bb(0x3e1)),a0L[bb(0x3bd)](bb(0x383))+a0L[bb(0x3d9)](bb(0x1ea))]}:a1<=-0x30b*0xb+0x1afd+0x681&&!a2[bb(0x158)]('t5')?a3={'key':'t5','text':[a0L['red'][bb(0x3d9)](bb(0x3c5)),a0L['yellow'](bb(0x22a))+a0L[bb(0x3d9)](bb(0x1ea))]}:a1<=-0x2645*0x1+0x138b*0x1+0x12c4&&!a2[bb(0x158)]('t10')&&(a3={'key':'t10','text':[a0L[bb(0x3eb)][bb(0x3d9)](bb(0x1d7)),a0L[bb(0x30a)](bb(0x222))+a0L[bb(0x323)](bb(0x18a))]}),a3){console[bb(0x20f)](),console[bb(0x20f)](a0L[bb(0x3bd)](bb(0x386)));for(const a4 of a3[bb(0x2a7)])console[bb(0x20f)](a4);console[bb(0x20f)](a0L[bb(0x3bd)](bb(0x386))),a2[bb(0x32a)](a3[bb(0x358)]),Y['shownWarnings']=Array[bb(0x283)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const bc=b8,a1=Math['round'](Y/Z*(0x1a05+-0x71*0x1f+-0xc38)),a2=-0x1e81+-0x19a1+0x3840-a1,a3=a0L[bc(0x239)]('━'[bc(0x1d4)](a1))+a0L[bc(0x30a)]('─'[bc(0x1d4)](a2)),a4=Math[bc(0x37c)](Y/Z*(0x1*0x19d8+0x1*-0xab5+-0xebf));console[bc(0x20f)](),console['log']('\x20\x20'+a3+'\x20\x20'+a0L[bc(0x323)]['bold'](''+Y)+a0L['gray']('/'+Z)+'\x20\x20'+a0L[bc(0x30a)]('('+a0+bc(0x270))+'\x20\x20'+a0L[bc(0x30a)](a4+'%'));const a5=a0a1();if(a5){const a6=Math['max'](-0xa21+-0x95b+-0x9be*-0x2,Math[bc(0x37c)]((a5[bc(0x210)]()-Date[bc(0x26a)]())/(-0x1*-0x779+-0xae1*-0x1+0x2b*-0x56))),a7=Math['floor'](a6/(-0x208d*0x1+-0x49*-0x5d+0x644))+':'+String(a6%(-0x893+0x1f17+-0x1*0x1648))[bc(0x2d4)](-0xc41+0x1376*-0x2+0x332f,'0'),a8=a6<=-0x2*0x561+0x295+0x1*0x869?a0L[bc(0x3bd)][bc(0x3d9)]:a6<=0x1*-0x184f+-0x1477+-0x16f9*-0x2?a0L[bc(0x3bd)]:a6<=-0x1*0x148b+0x2*0x896+0xd1*0x7?a0L[bc(0x3eb)]:a0L[bc(0x30a)];console[bc(0x20f)]('\x20\x20'+a0L[bc(0x30a)](bc(0x1f4))+'\x20'+a8(a7)+'\x20'+a0L[bc(0x30a)](bc(0x2b3)));}}(z[b8(0x1c0)],G,H),F&&j(F,z[b8(0x1c0)])&&console[b8(0x20f)](a0L[b8(0x3eb)](b8(0x3ec)));const Q=function(Y,Z){const bd=b8,a0={};a0[bd(0x19a)]=0.2,a0[bd(0x2c7)]='🏛️',a0[bd(0x358)]=bd(0x181);const a1={};a1[bd(0x19a)]=0.33,a1[bd(0x2c7)]='🐨',a1[bd(0x358)]='egg5';const a2={};a2[bd(0x19a)]=0.5,a2['emoji']='🌉',a2[bd(0x358)]=bd(0x168);const a3={};a3['pct']=0.6,a3[bd(0x2c7)]='🦘',a3['key']=bd(0x3e8);const a4={};a4[bd(0x19a)]=0.8,a4[bd(0x2c7)]=bd(0x2c6),a4['key']=bd(0x258);const a5={};a5[bd(0x19a)]=0.87,a5[bd(0x2c7)]='🦈',a5[bd(0x358)]=bd(0x177);const a6={};a6['pct']=0x1,a6['emoji']='🎉',a6[bd(0x358)]=bd(0x3f8);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[bd(0x37c)](a9[bd(0x19a)]*Z);if(!(aa<-0x5cf+-0x51*-0x51+-0x13d1||a8[bd(0x158)](aa))&&(a8[bd(0x32a)](aa),Y===aa))return{'emoji':a9[bd(0x2c7)],'text':a0ai(a9['key'])};}}(z[b8(0x1c0)],G);if(Q&&console[b8(0x20f)](a0L[b8(0x3eb)]('\x20\x20'+Q[b8(0x2c7)]+'\x20\x20'+Q[b8(0x2a7)])),console[b8(0x20f)](),z[b8(0x322)]&&console[b8(0x20f)](a0L[b8(0x239)](b8(0x14a)+z[b8(0x322)]+']')),z[b8(0x31a)]&&z[b8(0x31a)]>0x2543+0x2422+-0x4963&&console[b8(0x20f)](a0L['cyan'](b8(0x14a)+z['points']+'\x20points]')),L){let Y=z[b8(0x3fc)]||z['text'];const Z=a0a2(z[b8(0x1c0)],z['attachedData']);if(z[b8(0x26e)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b8(0x2e4)](Y)?Y=Y[b8(0x308)](a1,z[b8(0x26e)]):Y['includes'](z[b8(0x26e)])||(Y=Y+b8(0x3cf)+z['attachedData']);}console[b8(0x20f)](a0L[b8(0x3d9)][b8(0x323)]('\x20\x20Q'+z[b8(0x1c0)]+'.\x20')+a0L[b8(0x323)](Y[b8(0x175)]('\x0a')[0xa64+0x1*0x23+-0xa87]));const a0=Y[b8(0x175)]('\x0a')[b8(0x290)](-0x4ac+-0x3*-0xc61+0x2*-0x103b);for(const a2 of a0)console[b8(0x20f)](a0L['white']('\x20\x20'+a2));if(console[b8(0x20f)](),Z&&b8(0x205)===z[b8(0x33d)]){const a3=Z[b8(0x308)](process.env.HOME||'','~');console['log'](a0L['cyan']('\x20\x20'+a0ai('examWaysToSolve')+'\x20')+a0L[b8(0x30a)]('('+a0ai(b8(0x20b))+'\x20'+a3+'):')),console[b8(0x20f)](a0L[b8(0x323)](b8(0x309))+a0L[b8(0x3eb)]('!<cmd>\x20'+a3)['padEnd'](-0x2*0x8e0+0xe95+0x35f)+a0L[b8(0x30a)]('\x20'+a0ai(b8(0x2d2)))),console[b8(0x20f)](a0L[b8(0x323)](b8(0x341))+a0L[b8(0x3eb)](b8(0x185))[b8(0x338)](0x2668+0x9*0xeb+0x94f*-0x5)+a0L[b8(0x30a)]('\x20'+a0ai(b8(0x156)))),console[b8(0x20f)](a0L['white']('\x20\x20\x20\x20③\x20')+a0L[b8(0x3eb)]('!vi\x20solve.py')+a0L[b8(0x30a)](b8(0x13f))+a0L['yellow'](b8(0x209))),console['log'](a0L[b8(0x323)](b8(0x1a6))+a0L['yellow'](b8(0x1c8))[b8(0x338)](0x1087*0x1+-0x5*-0x58e+-0x2c2d)+a0L[b8(0x30a)]('\x20'+a0ai('examWaysRefPython'))),console['log'](a0L[b8(0x323)](b8(0x130))+a0L[b8(0x3eb)](b8(0x205))[b8(0x338)](0x1423+0x184f+0x763*-0x6)+a0L[b8(0x30a)]('\x20'+a0ai(b8(0x22e)))),console[b8(0x20f)](),console[b8(0x20f)](a0L[b8(0x30a)]('\x20\x20'+a0ai('examWaysFound')+'\x20')+a0L[b8(0x3d9)][b8(0x363)](b8(0x3bb))),console[b8(0x20f)]();}B&&(console[b8(0x20f)](a0L[b8(0x363)]('\x20\x20Your\x20answer:\x20'+B)),console[b8(0x20f)]());}else{console['log'](a0L[b8(0x3d9)][b8(0x323)](b8(0x29f)+z[b8(0x1c0)]+'.\x20')+a0L['white'](z['text'])),console[b8(0x20f)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K['includes'](a4)?console['log'](a0L['gray']['strikethrough'](b8(0x379)+a4+'.\x20'+z[b8(0x39f)][a4])+a0L[b8(0x3bd)]('\x20('+a0ai(b8(0x23e))+')')):a5?console['log'](a0L[b8(0x363)][b8(0x3d9)]('\x20\x20▸\x20'+a4+'.\x20'+z['options'][a4])):console[b8(0x20f)](a0L['gray'](b8(0x379)+a4+'.')+'\x20'+a0L[b8(0x323)](z[b8(0x39f)][a4]));}console[b8(0x20f)]();}const V=b8(0x319)===F?.[b8(0x1ce)][b8(0x22f)],W=J[b8(0x1aa)][-0x1a7d+0x1356+0x729]||0x2f*-0x13+-0x2235+0x25b2;V&&0x10*0x199+-0xbc3*-0x3+-0x5*0xc2b===z['number']&&-0x248+-0xe8e+-0x5*-0x35e===W&&(console['log'](a0L[b8(0x3eb)][b8(0x3d9)]('\x20\x20'+a0ai('qTutorial'))),console[b8(0x20f)]());const X=J['max']-J[b8(0x238)];if(console[b8(0x20f)](a0L[b8(0x30a)]('\x20\x20─────────────────────────────────────────')),L){const a6=F&&'demo-free'!==F[b8(0x1ce)]['examId']&&z['number']>=-0x14f+-0x48f*-0x1+-0xd*0x3d&&z['number']<=0x213e+-0xd27+0x1*-0x13ef,a7=F&&b8(0x319)!==F[b8(0x1ce)][b8(0x22f)]&&z[b8(0x1c0)]>=-0x113d*-0x1+0x15*0x165+-0x1*0x2e67&&z[b8(0x1c0)]<=0x2286+-0x427*-0x3+-0x2ed5;b8(0x1d8)===z[b8(0x33d)]?console[b8(0x20f)](a0L[b8(0x3d9)][b8(0x239)](b8(0x3cb))+a0L[b8(0x30a)](b8(0x172))):a7?console['log'](a0L['bold'][b8(0x363)](b8(0x1b9))+a0L['gray'](b8(0x1a3))):a6&&console[b8(0x20f)](a0L[b8(0x3d9)]['red'](b8(0x2ac))+a0L['gray'](b8(0x15c))),console['log'](a0L[b8(0x3eb)](b8(0x35c))+a0L[b8(0x30a)](b8(0x27d))),console[b8(0x20f)](a0L[b8(0x3eb)](b8(0x429))+a0L[b8(0x30a)](b8(0x42a)));}else{const a8=J[b8(0x2f2)]>=0x177b*0x1+-0x1e91+0x734,a9=X>-0x1e4b+0x1cef+-0xae*-0x2?a0L['gray'](a0ai('helpRemove')+'\x20')+a0L[b8(0x3eb)]('('+X+'/'+J[b8(0x2f2)]+')'):a8?a0L[b8(0x30a)](a0ai(b8(0x2cf))+'\x20('+J[b8(0x238)]+'/'+J[b8(0x2f2)]+')'):a0L[b8(0x30a)](''+a0ai('helpUsedUp'));console[b8(0x20f)](a0L[b8(0x3eb)](b8(0x411))+a0L[b8(0x30a)](b8(0x1bc)+a0ai('answerThis'))),console['log'](a0L['yellow']('\x20\x20\x20\x20help')+b8(0x152)+a9);}console[b8(0x20f)](a0L['yellow'](b8(0x1bb))+a0L[b8(0x30a)]('\x20/\x20')+a0L[b8(0x3eb)](b8(0x160))+a0L[b8(0x30a)](b8(0x379)+a0ai(b8(0x3ee)))),console[b8(0x20f)](a0L[b8(0x3eb)]('\x20\x20\x20\x20exam\x20q\x201..'+G)+a0L['gray'](b8(0x2a3)+a0ai(b8(0x29b)))),console[b8(0x20f)](a0L[b8(0x3eb)](b8(0x142))+a0L['gray'](b8(0x152)+a0ai('htpMark'))),console[b8(0x20f)](a0L[b8(0x3eb)](b8(0x2a0))+a0L[b8(0x30a)](b8(0x2a3)+a0ai(b8(0x1c9)))),console[b8(0x20f)](a0L[b8(0x3d9)][b8(0x3eb)](b8(0x38b))+a0L['gray'](b8(0x2a3)+a0ai(b8(0x24e)))),console['log'](a0L[b8(0x3eb)]('\x20\x20\x20\x20back')+a0L[b8(0x30a)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(b8(0x3be)))),console[b8(0x20f)](a0L[b8(0x3eb)](b8(0x3ab))+a0L[b8(0x30a)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(b8(0x3ce)))),console[b8(0x20f)](a0L[b8(0x30a)]('\x20\x20─────────────────────────────────────────'));}export function registerExamCommand(z){const be=a0B,B=z[be(0x3dc)](be(0x40b))[be(0x3fc)](be(0x43c));B[be(0x3dc)](be(0x2b7))[be(0x3fc)](be(0x27b))['action'](()=>{const bf=be;a0a8(bf(0x1ba)),console[bf(0x20f)](),a0ae(bf(0x264)),console[bf(0x20f)]();const F=[['AU',bf(0x3cd)],['BD',bf(0x134)],['BI',bf(0x3b4)],['BR',bf(0x44e)],['CN',bf(0x3f4)],['DE',bf(0x1bd)],['EG',bf(0x18b)],['FR',bf(0x24c)],['GH','Ghana'],['ID',bf(0x1fd)],['IN',bf(0x29c)],['JP',bf(0x3db)],['KR','South\x20Korea'],['LA','Laos'],['LK',bf(0x1dc)],['MM','Myanmar'],['MO',bf(0x3c8)],['MY','Malaysia'],['NZ','New\x20Zealand'],['PE',bf(0x417)],['PH',bf(0x356)],['RU',bf(0x446)],['SA','Saudi\x20Arabia'],['SG','Singapore'],['TH','Thailand'],['TR','Turkey'],['UK',bf(0x43f)],['US',bf(0x2dd)],['UZ','Uzbekistan'],['VN',bf(0x2f9)],['ZA',bf(0x43d)]];for(let G=0x11*-0x1b4+-0xb78+0x286c;G<F[bf(0x318)];G+=0xae1*0x3+-0xcdd+-0x13c3){const H=F[bf(0x290)](G,G+(0x222f+-0xe0*0x13+0x8c6*-0x2))[bf(0x23a)](([J,K])=>'\x20\x20'+a0L['cyan'](J)+'\x20\x20'+a0L[bf(0x30a)](K['padEnd'](-0x12f2+-0x18*-0x89+0x62a)))[bf(0x267)]('');console[bf(0x20f)](H);}console[bf(0x20f)](),console['log'](a0L['gray'](bf(0x229))),console['log'](a0L[bf(0x30a)](bf(0x24b))),console[bf(0x20f)](),console[bf(0x20f)](a0L[bf(0x323)](bf(0x3ff))),console['log'](a0L[bf(0x239)]('\x20\x20\x20\x20exam\x20list\x20AU')+a0L[bf(0x30a)]('\x20\x20\x20\x20\x20exam\x20list\x20PE')+a0L[bf(0x30a)]('\x20\x20\x20\x20\x20exam\x20list\x20CN')),console[bf(0x20f)]();}),B[be(0x3dc)](be(0x3b6))[be(0x3fc)](be(0x391))['action'](async F=>{const bg=be;a0a8(bg(0x3bc)+(F||''));const G=M();if(!G)return;const H=a0ag(bg(0x34d));H[bg(0x19d)]();try{let J=await G['getExams']();if(H[bg(0x143)](),F){const Q=F[bg(0x182)]();J=J[bg(0x286)](V=>V['country'][bg(0x182)]()===Q||bg(0x1e1)===V[bg(0x335)]);}if(!J||-0x40d*-0x4+-0x23c0+-0x6*-0x342===J[bg(0x318)]){console['log'](),a0ac(F?'No\x20exams\x20available\x20for\x20'+F[bg(0x182)]()+'\x20yet.':bg(0x2ff)),console[bg(0x20f)](),console[bg(0x20f)](a0L[bg(0x323)](bg(0x2f0))),console['log'](a0L[bg(0x30a)](bg(0x174))),console[bg(0x20f)](),console[bg(0x20f)](a0L['gray'](bg(0x41b))+a0L[bg(0x3d9)][bg(0x239)](bg(0x3d6))),console[bg(0x20f)]();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(0x182)]();return void(W[X]&&(console[bg(0x20f)](a0L[bg(0x30a)](bg(0x364)+W[X])),console[bg(0x20f)]()));}const K=J[bg(0x23a)](Y=>{const bh=bg,Z='submitted'===Y[bh(0x345)]?a0L[bh(0x363)]:bh(0x241)===Y[bh(0x345)]?a0L[bh(0x3eb)]:a0L['white'];return[a0L[bh(0x323)](Y['id']),Y[bh(0x3fb)],a0L[bh(0x239)](Y['country']),String(Y['questionCount']),Y[bh(0x1f3)]+'\x20min',Z(Y[bh(0x345)])];}),L=[...new Set(J[bg(0x23a)](Y=>Y['country']))];a0ae(F?bg(0x219)+F[bg(0x182)]():bg(0x2a5)+L[bg(0x318)]+'\x20regions)'),a0ad(['ID','Name',bg(0x441),bg(0x346),bg(0x299),bg(0x321)],K),console[bg(0x20f)](),console[bg(0x20f)](a0L[bg(0x30a)](bg(0x2ba))),L[bg(0x318)]>0x4f*-0x7+0x1770+-0x185*0xe&&console[bg(0x20f)](a0L[bg(0x30a)](bg(0x16c)));}catch(Y){H['fail'](bg(0x1fb)),a0aa(Y['message']);}}),B[be(0x3dc)](be(0x305))[be(0x3fc)](be(0x1ec))[be(0x21f)](async F=>{const bi=be;a0a8(bi(0x1b2)+F);const G=a0Y();if(G)return a0ab('Exam\x20\x22'+G[bi(0x1ce)][bi(0x359)]+bi(0x3b3)),void a0ac(bi(0x247));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bi(0x323)](bi(0x284)),'default':!(-0x890+0x1f8a+-0x16fa),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bi(0x363)](K)}}});if(J){console[bi(0x20f)]();try{N(-0x2*-0x6f7+0x15d*-0x5+-0x71d*0x1,bi(0x16b));const {session:K,questions:L}=await H[bi(0x233)](F);N(-0x13*-0x94+-0x1f28+0x144a,bi(0x13c)),await q(-0x7e1+-0x1b*0x72+0x1*0x14af),N(-0x23*-0x49+-0x3af+0x8*-0xc2,bi(0x17e)),await q(0x8c8+-0x1335+0xb35),N(0x24b+-0x2250+0x205f,bi(0x1b8)),await q(-0x239*-0x5+-0x5c*-0x60+0x1*-0x2d07),a0Z({'session':K,'questions':L,'answers':{}}),N(0x10f1*-0x1+0x8d1+0x884,bi(0x246)),console[bi(0x20f)](),console['log'](),a0ae(K[bi(0x359)]),a0af(bi(0x346),String(K[bi(0x279)])),a0af(bi(0x299),K[bi(0x1f3)]+bi(0x1e7)),a0af(bi(0x441),K['country']),O(),L[bi(0x318)]>0x1b35+0x41d+-0x1f52&&U(L[0x47*-0x2b+-0xd*-0x23c+-0x111f]);}catch(Q){console[bi(0x20f)](),a0aa(Q[bi(0x314)]);}}}),B[be(0x3dc)](be(0x1b5))['description'](be(0x23c))[be(0x21f)](async F=>{const bj=be;a0a8(bj(0x376)+(F||'all'));const {refetchQuestionDataIfStale:G}=await import('../lib/exam-state.js');await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,-0x11df+-0x2*0x43+0x126f),K=H['questions'][bj(0x1cb)](L=>L[bj(0x1c0)]===J);if(!K)return void a0aa(bj(0x131)+F+bj(0x3c3)+H[bj(0x2bb)][bj(0x318)]+').');H[bj(0x1da)]=J,a0Z(H),U(K,H['answers'][J]);}else{a0ae(''+H['session'][bj(0x359)]);const L=Object['keys'](H[bj(0x275)])[bj(0x318)];a0af(bj(0x2e3),L+'/'+H[bj(0x1ce)]['questionCount']+bj(0x2c5)),console[bj(0x20f)]();for(const Q of H[bj(0x2bb)]){const V=H[bj(0x275)][Q[bj(0x1c0)]],W=V?a0L['green']('['+V+']'):a0L[bj(0x30a)]('[\x20]'),X=Q[bj(0x322)]?a0L[bj(0x30a)]('\x20['+Q['category']+']'):'';console[bj(0x20f)]('\x20\x20'+W+'\x20'+a0L[bj(0x323)]('Q'+Q['number'])+X+'\x20'+a0L[bj(0x30a)](Q[bj(0x2a7)][bj(0x27a)](-0x1e*-0x1b+0x2139+-0x2463,0x244+-0xbb9+0x9b1))+(Q['text'][bj(0x318)]>0x2*0xb89+-0x1be0+-0x3*-0x1ae?bj(0x438):''));}console['log']();}}else a0aa('No\x20exam\x20in\x20progress.\x20Use\x20\x22exam\x20start\x20<id>\x22\x20to\x20begin.');}),B['command'](be(0x2ab))[be(0x3fc)](be(0x179))[be(0x21f)](F=>{const bk=be;a0a8(bk(0x232)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G[bk(0x2bb)][bk(0x318)],J=F?parseInt(F,-0x2559*-0x1+0xa*0x34b+-0x463d*0x1):G[bk(0x1da)]||0x1671+-0x1b4e+0x4de;if(Number[bk(0x352)](J)||J<0x5*-0x5cd+0x2*-0x9ba+0x3076||J>H)return void a0aa(bk(0x17d)+H+'.');const K=D(G,J);console['log'](),K?console['log'](a0L[bk(0x3eb)](bk(0x278)+J+'\x20flagged\x20for\x20review.')):console[bk(0x20f)](a0L[bk(0x30a)](bk(0x1b1)+J+bk(0x34e)));const L=Array[bk(0x355)](G[bk(0x225)])?G[bk(0x225)]:[];L[bk(0x318)]>0x5*-0x742+0x18d1+-0x1*-0xb79&&console[bk(0x20f)](a0L[bk(0x30a)](bk(0x22d)+L[bk(0x23a)](Q=>'Q'+Q)[bk(0x267)](',\x20'))),console[bk(0x20f)](a0L[bk(0x30a)](bk(0x3d4))+a0L[bk(0x323)](bk(0x18a))),console[bk(0x20f)]();}),B[be(0x3dc)]('unmark\x20[n]')['description'](be(0x203))[be(0x21f)](F=>{const bl=be;a0a8(bl(0x44b)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G['questions'][bl(0x318)],J=F?parseInt(F,-0x3*0x6c1+0xd2+0x137b):G[bl(0x1da)]||0x1*0x119d+0x1*0x34a+-0x14e6;Number['isNaN'](J)||J<-0x1*-0x1605+-0x7b1+-0xc1*0x13||J>H?a0aa(bl(0x17d)+H+'.'):j(G,J)?(D(G,J),console[bl(0x20f)](),console[bl(0x20f)](a0L[bl(0x30a)](bl(0x1b1)+J+'\x20unflagged.')),console[bl(0x20f)]()):console['log'](a0L[bl(0x30a)]('\x20\x20Q'+J+bl(0x2a4)));}),B[be(0x3dc)](be(0x13d))[be(0x3fc)](be(0x369))[be(0x21f)](()=>{const bm=be;a0a8(bm(0x2ad));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');F[bm(0x2bb)][bm(0x273)](K=>!F[bm(0x275)][K[bm(0x1c0)]]);const G=F[bm(0x1da)]||0x5c5*-0x1+-0x4*0x6b0+-0x17*-0x16a,H=Math[bm(0x375)](G+(-0x7d*-0x9+-0x1b19+-0x16b5*-0x1),F['questions'][bm(0x318)]);F[bm(0x1da)]=H,a0Z(F);const J=F[bm(0x2bb)][H-(0xa51*0x1+-0x1136+0x6e6)];U(J,F['answers'][J['number']]);}),B[be(0x3dc)]('prev')[be(0x3fc)](be(0x144))[be(0x21f)](()=>{const bn=be;a0a8(bn(0x21e));const F=a0Y();if(!F)return void a0aa(bn(0x243));const G=F['_lastQ']||-0x26c+-0x9*-0x5a+-0xbd,H=Math[bn(0x2f2)](G-(-0x1c7e+-0x1*-0x1285+0x9fa*0x1),-0x1*-0x6bf+-0x97*0x10+0x2b2);F[bn(0x1da)]=H,a0Z(F);const J=F[bn(0x2bb)][H-(0x8da*0x2+-0x27+-0x1*0x118c)];U(J,F[bn(0x275)][J[bn(0x1c0)]]);}),B[be(0x3dc)](be(0x351))[be(0x3fc)]('Eliminate\x20one\x20wrong\x20option\x20(limited\x20uses)')[be(0x21f)](async()=>{const bo=be;a0a8(bo(0x1f9));const F=a0Y();if(!F)return void a0aa(bo(0x243));const G=R(F),H=F[bo(0x1da)]||-0x20dd+-0x1*-0x1d2f+0x3af,J=G['perQ'][H]||0x4df*-0x3+-0xd3a*-0x2+-0x7*0x1b1,K=G[bo(0x422)][H]||[],L=F[bo(0x2bb)][bo(0x1cb)](W=>W[bo(0x1c0)]===H);if(!L)return;if(J>=0x431*0x3+0x17a2+-0x2433*0x1)return console['log'](),console[bo(0x20f)](a0L[bo(0x3eb)](bo(0x393))),console[bo(0x20f)](a0L[bo(0x30a)](bo(0x32e))),console[bo(0x20f)](),void U(L,F['answers'][L[bo(0x1c0)]]);const Q=['A','B','C','D'][bo(0x286)](W=>!K[bo(0x2c3)](W));if(Q[bo(0x318)]<=0x2097+0xb10+-0x1*0x2ba5)return console[bo(0x20f)](),console[bo(0x20f)](a0L[bo(0x3eb)](bo(0x27c))),console[bo(0x20f)](),void U(L,F[bo(0x275)][L[bo(0x1c0)]]);if(G[bo(0x238)]>=G[bo(0x2f2)]){const W=G['max']>=-0xdef+-0x26e0*0x1+-0x11*-0x31d,X=0x2698+0x1159+-0x37d3-G['max'];return void(W?(console['log'](),console['log'](a0L[bo(0x30a)](bo(0x21a)+G[bo(0x238)]+'/'+G[bo(0x2f2)]+bo(0x28a))),console[bo(0x20f)]()):(console['log'](),console[bo(0x20f)](a0L[bo(0x3eb)](bo(0x170)+G['used']+'/'+G[bo(0x2f2)])),console['log'](a0L[bo(0x323)](bo(0x3b0))+a0L[bo(0x3d9)][bo(0x3eb)](bo(0x1b0))+a0L[bo(0x30a)](bo(0x18c)+X+bo(0x30c))),console[bo(0x20f)]()));}const V=Y=>{const bp=bo;K[bp(0x268)](Y),G[bp(0x422)][H]||(G[bp(0x422)][H]=[]),G[bp(0x422)][H]=K,G[bp(0x1aa)][H]=J+(-0x3*-0x33b+-0xffe*-0x1+-0x19ae),G[bp(0x238)]++,F[bp(0x2b6)]=G['used'],F[bp(0x435)]=G['max'],F['_helpPerQ']=G['perQ'],F[bp(0x3c0)]=G[bp(0x422)],F[bp(0x31b)]||(F[bp(0x31b)]=[]),F['interactions']['push']({'ts':new Date()['toISOString'](),'q':H,'type':'help_used','result':bp(0x2b9)+Y}),a0Z(F),console[bp(0x20f)](),console[bp(0x20f)](a0L[bp(0x3eb)]('\x20\x20💡\x20Option\x20'+Y+bp(0x1c7))+a0L['gray'](bp(0x26f)+G['used']+'/'+G[bp(0x2f2)]+')')),U(L,F['answers'][L[bp(0x1c0)]]);};if(bo(0x319)===F[bo(0x1ce)][bo(0x22f)]&&L[bo(0x385)])(Y=>{const bq=bo,Z=Q[bq(0x286)](a0=>a0!==Y&&!K['includes'](a0));0x708+0x10af+-0x17b7!==Z[bq(0x318)]&&V(Z[Math[bq(0x451)](Math[bq(0x33a)]()*Z[bq(0x318)])]);})(L['answer']);else{const Y=a0W()[bo(0x280)]||bo(0x370),Z=F[bo(0x1ce)]?.[bo(0x413)]||'';try{const a0={};a0[bo(0x2a2)]=bo(0x36f),a0[bo(0x3ad)]=bo(0x271);const a1={};a1[bo(0x413)]=Z,a1[bo(0x41e)]=H,a1['eliminated']=K;const a2=await fetch(Y+bo(0x316)+F[bo(0x1ce)][bo(0x22f)]+bo(0x38a),{'method':bo(0x288),'headers':a0,'body':JSON['stringify'](a1),'signal':AbortSignal['timeout'](-0x1e03+0x210d+0x107e)}),a3=await a2[bo(0x2c0)](),a4=a3?.['data']?.['eliminate'];a4&&['A','B','C','D']['includes'](a4)?V(a4):(console['log'](),console[bo(0x20f)](a0L[bo(0x30a)]('\x20\x20Server\x20did\x20not\x20return\x20a\x20valid\x20option.\x20Try\x20again.')));}catch{console['log'](),console['log'](a0L[bo(0x30a)]('\x20\x20Could\x20not\x20reach\x20server\x20for\x20help.\x20Check\x20your\x20connection.'));}}}),B[be(0x3dc)](be(0x2ed))['description']('Unlock\x20hidden\x20bonus\x20help\x20uses')[be(0x21f)](()=>{const br=be;a0a8(br(0x166));const F=a0Y();if(!F)return void a0aa(br(0x243));const G=R(F),H=br(0x319)===F['session'][br(0x22f)]?0x16dd+0xa*0x30d+-0x1*0x3557:0x53+0x3d7+-0x40c;if(G[br(0x2f2)]>=H)return void console['log'](a0L[br(0x30a)](br(0x330)));if(G['used']<G[br(0x2f2)])return void console[br(0x20f)](a0L[br(0x30a)](br(0x2bd)+(G[br(0x2f2)]-G[br(0x238)])+'\x20helps\x20remaining.\x20Use\x20them\x20first!'));const J=H-G[br(0x2f2)];F[br(0x435)]=H,a0Z(F),console['log'](),console['log'](a0L['green'](br(0x2ee)+J+br(0x434)+J+'/'+H+'\x20remaining)')),console[br(0x20f)](a0L[br(0x30a)](br(0x365))),console[br(0x20f)]();}),B[be(0x3dc)](be(0x256))['description']('Answer\x20question\x20N\x20(A/B/C/D\x20for\x20MCQ,\x20ICOA{flag}\x20for\x20practical)')[be(0x21f)](async(F,G)=>{const bs=be,H=G[bs(0x267)]('\x20');a0a8(bs(0x298)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bs(0x154));if(!(function(){const bt=bs,Z=a0a1();if(!Z)return!(0x282*0x3+0x96a+0x8*-0x21e);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bt(0x20a)](a0[bt(0x275)])['length'];'demo-free'===a0[bt(0x1ce)][bt(0x22f)]||-0x1ba0+0x1b64+0x6*0xa===a1?(a0a0(),a0ab(bt(0x1d0)),a0ac('Type:\x20demo\x20to\x20start\x20again.')):(a0aa(bt(0x312)),a0ac(bt(0x274)));}return!(0x20*-0xdc+0xf92+0xbef);}return!(-0x155e+-0x1bd+0x1*0x171b);}()))return;const K=parseInt(F,-0x1409+0x469*-0x7+-0x1979*-0x2),L=J[bs(0x2bb)][bs(0x1cb)](Z=>Z[bs(0x1c0)]===K);if(!L)return void a0aa('Question\x20'+F+bs(0x3c3)+J[bs(0x2bb)][bs(0x318)]+').');let Q;if(bs(0x205)===L[bs(0x33d)]||bs(0x337)===L[bs(0x33d)]||bs(0x1d8)===L['type']||L[bs(0x39f)]&&!L['options']['A']&&!L[bs(0x39f)]['B']){if(Q=H[bs(0x1a8)](),/^submit\s+/i[bs(0x2e4)](Q)&&(Q=Q['replace'](/^submit\s+/i,'')['trim']()),Q=Q[bs(0x308)](/^["'`]+|["'`]+$/g,'')['trim'](),!Q)return void a0aa(bs(0x3d8));if(/^[A-Da-d]$/[bs(0x2e4)](Q))return a0aa('Q'+K+bs(0x403)),void console[bs(0x20f)](a0L['gray'](bs(0x333))+a0L[bs(0x363)](bs(0x298)+K+'\x20ICOA{your_flag}'));}else{if(Q=H[bs(0x182)](),!['A','B','C','D']['includes'](Q))return void a0aa('Choice\x20must\x20be\x20A,\x20B,\x20C,\x20or\x20D.');}if(bs(0x319)===J[bs(0x1ce)]['examId']&&0x1a27+0x1221*0x1+-0x2c46===K&&-0x26b4+-0xc4f*-0x1+0xe9*0x1d===(R(J)['perQ'][-0xaa9+0x1*-0x233c+0xf4d*0x3]||0x6e7*0x2+0x1*-0x24f5+0x1727))return console[bs(0x20f)](),console[bs(0x20f)](a0L[bs(0x3eb)](bs(0x407))+a0L[bs(0x3d9)][bs(0x3eb)](bs(0x351))+a0L[bs(0x3eb)](bs(0x173))),console[bs(0x20f)](a0L[bs(0x30a)](bs(0x419))),void console[bs(0x20f)]();const V=J[bs(0x275)][K];J[bs(0x31b)]||(J[bs(0x31b)]=[]),J['interactions'][bs(0x268)]({'ts':new Date()[bs(0x1f7)](),'q':K,'type':V?'answer_changed':bs(0x2ec),'input':Q,'result':V?bs(0x320)+V:bs(0x3fd)}),J[bs(0x275)][K]=Q,J[bs(0x1da)]=K,a0Z(J),console[bs(0x20f)](a0L[bs(0x30a)](bs(0x3df)));const W=J['session']['token'];if(W&&bs(0x319)!==J['session'][bs(0x22f)]){const Z=(a0W()[bs(0x280)]||'https://practice.icoa2026.au')+bs(0x316)+J[bs(0x1ce)][bs(0x22f)]+bs(0x293),a0={};a0[bs(0x2a2)]=bs(0x36f);const a1={};a1[bs(0x413)]=W,a1[bs(0x41e)]=K,a1[bs(0x385)]=Q,fetch(Z,{'method':bs(0x288),'headers':a0,'body':JSON[bs(0x2b2)](a1),'signal':AbortSignal[bs(0x3a5)](-0x373+0x242a+0x9*-0x177)})[bs(0x25d)](()=>{});}const X=Object[bs(0x20a)](J[bs(0x275)])['length'],Y=J['session'][bs(0x279)];if(a0a9('Q'+K+':\x20'+Q+bs(0x2af)+X+'/'+Y+bs(0x270)),bs(0x319)===J[bs(0x1ce)]['examId']&&L[bs(0x385)]){const a2=[bs(0x17f),bs(0x32d),'On\x20the\x20money.','Exactly.',bs(0x367)],a3=[bs(0x44c),bs(0x3da),'Keep\x20it\x20in\x20mind\x20for\x20review.'],a4=Q===L['answer']?a2:a3,a5=a4[Math[bs(0x451)](Math[bs(0x33a)]()*a4[bs(0x318)])];console[bs(0x20f)](a0L['gray']('\x20\x20\x20\x20·\x20'+a5));}if(K<J[bs(0x2bb)][bs(0x318)]){const a6=J['questions'][K];J[bs(0x1da)]=a6[bs(0x1c0)],a0Z(J),U(a6,J[bs(0x275)][a6[bs(0x1c0)]]);}else X>=J[bs(0x2bb)]['length']&&(console[bs(0x20f)](),console[bs(0x20f)](a0L[bs(0x363)][bs(0x3d9)](bs(0x300))),console[bs(0x20f)](),bs(0x319)===J[bs(0x1ce)]['examId']?(console['log'](a0L[bs(0x323)](bs(0x31c))+a0L[bs(0x3d9)][bs(0x239)](bs(0x1ea))+a0L[bs(0x323)](bs(0x412))),console[bs(0x20f)]()):console[bs(0x20f)](a0L[bs(0x323)](bs(0x231))));}),B['command']('review')[be(0x3fc)](be(0x171))[be(0x21f)](()=>{const bu=be;a0a8(bu(0x18a));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');a0ae('Review:\x20'+F[bu(0x1ce)][bu(0x359)]),O(),console[bu(0x20f)]();let G='\x20\x20';const H=Array[bu(0x355)](F[bu(0x225)])?F[bu(0x225)]:[];for(const Q of F['questions']){const V=F['answers'][Q[bu(0x1c0)]],W=H[bu(0x2c3)](Q[bu(0x1c0)]),X=W?'★':'\x20';G+=V?W?a0L[bu(0x3d9)][bu(0x3eb)]('Q'+String(Q[bu(0x1c0)])[bu(0x2d4)](-0x2*-0x68e+-0x8f0+0x42a*-0x1)+X+'['+V+']\x20'):a0L[bu(0x363)]('Q'+String(Q[bu(0x1c0)])[bu(0x2d4)](-0x12a6+-0x1da7+-0x95*-0x53)+'\x20['+V+bu(0x336)):W?a0L[bu(0x3d9)][bu(0x3eb)]('Q'+String(Q[bu(0x1c0)])[bu(0x2d4)](-0xcb5+0x1f*-0x8f+0x1e08*0x1)+X+bu(0x217)):a0L[bu(0x3eb)]('Q'+String(Q['number'])[bu(0x2d4)](0x283*0xd+-0x140f+-0xc96)+bu(0x253)),Q[bu(0x1c0)]%(0x1ba2*0x1+-0x17*0x2d+-0x1791)==0x1e61+0xca0+0x1*-0x2b01&&(console[bu(0x20f)](G),G='\x20\x20');}G['trim']()&&console[bu(0x20f)](G);const J=Object['keys'](F[bu(0x275)])[bu(0x318)],K=F[bu(0x1ce)][bu(0x279)],L=K-J;if(console[bu(0x20f)](),a0af(bu(0x12b),a0L[bu(0x363)]['bold'](J+'/'+K)),L>0x1*-0x2045+0x11*-0x239+0xe*0x501){const Y=F[bu(0x2bb)][bu(0x286)](Z=>!F['answers'][Z['number']])[bu(0x23a)](Z=>Z[bu(0x1c0)])[bu(0x267)](',\x20');a0af(bu(0x2e6),a0L[bu(0x3eb)](L+'\x20(Q'+Y+')'));}H['length']>-0x18ff+-0x1*-0x11fb+-0x4*-0x1c1&&a0af(bu(0x3f5),a0L[bu(0x3d9)]['yellow']('★\x20'+H[bu(0x318)])+a0L[bu(0x30a)]('\x20('+H[bu(0x23a)](Z=>'Q'+Z)[bu(0x267)](',\x20')+')')),console[bu(0x20f)](),H[bu(0x318)]>-0x78a*-0x5+0x1cbc+-0x426e&&console[bu(0x20f)](a0L[bu(0x30a)]('\x20\x20Jump\x20to\x20a\x20flagged\x20question:\x20')+a0L[bu(0x323)](bu(0x376)+H[-0x61c+0x9ec+-0x3d0])),console[bu(0x20f)](a0L[bu(0x30a)](bu(0x1b6))+a0L[bu(0x3d9)][bu(0x239)](bu(0x1ea))+a0L[bu(0x30a)](bu(0x31d)));}),B[be(0x3dc)]('submit\x20[confirmArg]\x20[secondArg]')[be(0x3fc)](be(0x397))[be(0x21f)](async(J,K)=>{const bv=be;a0a8(bv(0x2a6)+(J||'')+'\x20'+(K||''));const L=a0Y();if(L&&bv(0x2de)===J&&!K&&(L[bv(0x3c1)]=!(0x1d14+-0x78b*0x4+0x118),a0Z(L)),!L)return void a0aa(bv(0x243));const Q=Object['keys'](L[bv(0x275)])['length'],V=L['session'][bv(0x279)],W=V-Q;if(-0xe00+-0x1*0x10ad+0x1ead===Q){const a0=a0a1(),a1=a0&&new Date()>=a0;return void(bv(0x319)===L[bv(0x1ce)][bv(0x22f)]||a1?(a0a0(),a0ab(bv(0x38d)),a0ac('Type:\x20demo\x20to\x20start\x20again.')):(a0ab(bv(0x1bf)),a0ac(bv(0x3dd))));}const X=a0a1(),Y=!!(X&&new Date()>=X);if(bv(0x319)!==L['session'][bv(0x22f)]&&!Y&&bv(0x2de)===J&&Q<0xd*-0x25+-0x255f*0x1+0x274a){if((K||'')[bv(0x1a8)]()!==String(Q))return console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x3bd)](bv(0x396))),console['log'](a0L['bold']['red']('\x20\x20⚠\x20\x20Only\x20'+Q+'/'+V+bv(0x259))),console[bv(0x20f)](a0L[bv(0x3bd)](bv(0x396))),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x323)](bv(0x251))+a0L[bv(0x3d9)][bv(0x3eb)](''+Q)+a0L[bv(0x323)](bv(0x255))+a0L[bv(0x323)](''+V)+a0L[bv(0x323)]('\x20questions.')),console[bv(0x20f)](a0L[bv(0x323)](bv(0x37a))+a0L[bv(0x3d9)][bv(0x3bd)](Q+'/'+V+bv(0x447))),console[bv(0x20f)](),console[bv(0x20f)](a0L['bold'][bv(0x323)]('\x20\x20To\x20go\x20back\x20and\x20answer\x20more:')),console['log'](a0L[bv(0x30a)](bv(0x379))+a0L[bv(0x239)](bv(0x207))+a0L[bv(0x30a)](bv(0x265))),console[bv(0x20f)](a0L['gray'](bv(0x379))+a0L[bv(0x239)](bv(0x18a))+a0L['gray'](bv(0x13e))),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x3d9)]['white'](bv(0x2a8))+a0L['bold'][bv(0x3eb)](''+Q)+a0L['bold'][bv(0x323)](bv(0x2ef))),console[bv(0x20f)](a0L[bv(0x30a)](bv(0x379))+a0L['bold'][bv(0x239)](bv(0x1c4)+Q)),console['log'](a0L[bv(0x30a)](bv(0x1e4)+Q+bv(0x303))),console['log'](),void(L[bv(0x3c1)]&&(delete L[bv(0x3c1)],a0Z(L)));L['_submitConfirmed']=!(0x1d1c+0xaf8+-0xab*0x3c),a0Z(L);}if('demo-free'!==L[bv(0x1ce)]['examId']){const a2=!(-0x1*0x44+-0x2*0x1a5+0x41*0xe)===L[bv(0x3c1)],a3=a0a1(),a4=!!(a3&&new Date()>=a3);if(!a2&&!a4){if(console['log'](),console[bv(0x20f)](a0L[bv(0x3bd)](bv(0x386))),console[bv(0x20f)](a0L['bold'][bv(0x3bd)](bv(0x357))),console[bv(0x20f)](a0L[bv(0x3bd)](bv(0x386))),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x323)](bv(0x43e)+a0L[bv(0x3d9)][bv(0x363)](Q+'/'+V)+bv(0x39c))),W>0x53b+0x6b4*0x1+0xd*-0xeb){const a6=L[bv(0x2bb)][bv(0x286)](a7=>!L[bv(0x275)][a7[bv(0x1c0)]])[bv(0x23a)](a7=>'Q'+a7[bv(0x1c0)])[bv(0x267)](',\x20');console['log'](a0L[bv(0x3eb)]('\x20\x20'+W+bv(0x408)+a6));}const a5=Array[bv(0x355)](L[bv(0x225)])?L['bookmarks']:[];return a5['length']>-0x1393+-0x3d*-0x2b+-0x1*-0x954&&console[bv(0x20f)](a0L['yellow'](bv(0x3c7)+a5[bv(0x318)]+bv(0x24f)+a5[bv(0x23a)](a7=>'Q'+a7)['join'](',\x20'))),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x323)](bv(0x34f))+a0L[bv(0x3d9)][bv(0x3bd)](bv(0x242))+a0L[bv(0x323)](bv(0x36b))),console['log'](),console[bv(0x20f)](a0L[bv(0x3d9)]['white']('\x20\x20To\x20confirm:\x20\x20')+a0L['bold']['cyan'](bv(0x21b))),console[bv(0x20f)](a0L[bv(0x323)]('\x20\x20To\x20go\x20back:\x20\x20')+a0L[bv(0x239)]('exam\x20review')+a0L['gray'](bv(0x1dd))+a0L['cyan'](bv(0x1de))),void console[bv(0x20f)]();}a2&&(delete L['_submitConfirmed'],a0Z(L));}if(console[bv(0x20f)](),bv(0x319)===L['session']['examId']){try{N(0x3*-0x38f+-0x90f+-0x4ef*-0x4,a0ai('grading')),await q(-0x89b*0x1+-0x3*-0x2f9+0xdc);let a7=0xc9a+-0x5c8+-0x6d2;const a8=[],a9={};for(const al of L[bv(0x2bb)]){const am=al[bv(0x322)]||bv(0x3fa),an={};an[bv(0x3c4)]=0x0,an[bv(0x2ce)]=0x0,(a9[am]||(a9[am]=an),a9[am][bv(0x2ce)]++);const ao=L[bv(0x275)][al[bv(0x1c0)]];ao&&al[bv(0x385)]&&ao===al[bv(0x385)]?(a7++,a9[am][bv(0x3c4)]++):a8['push'](al['number']);}a8['sort']((ap,aq)=>ap-aq),N(-0x4f*-0x20+0x103*-0x11+-0x5*-0x18b,a0ai(bv(0x416))),console[bv(0x20f)]();const aa=new Date(L['session'][bv(0x294)])[bv(0x210)](),ab=Math[bv(0x2f2)](-0xb8c+0x2*0x282+0x688,Math[bv(0x37c)]((Date['now']()-aa)/(-0x1*-0x1472+-0x1345+0x2bb))),ac=Math[bv(0x451)](ab/(-0x1001+-0x2340+0x75b*0x7))+'m\x20'+ab%(0x1*-0x32b+-0x1*0x202+-0x1*-0x569)+'s',ad=[...L[bv(0x2bb)]],ae={...L[bv(0x275)]},af=R(L);a0a0();const ag=Math[bv(0x37c)](a7/V*(-0x1*0x13c9+0x45*0x29+0x10*0x92)),ah=a0W(),ai={};ai[bv(0x2a2)]=bv(0x36f),(fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':bv(0x288),'headers':ai,'body':JSON['stringify']({'type':bv(0x29a),'score':a7,'total':V,'lang':ah[bv(0x440)]||'en','help_used':af[bv(0x238)],'help_max':af[bv(0x2f2)],'tokens_used':0x0,'solved':ag>=-0xdb6+-0x43*0x7c+0x2e66?0xaf*0x21+0x152d+-0x2bbb:0x175*0x15+0x1*-0x1d9f+-0xfa,'timestamp':new Date()['toISOString'](),'interactions':L[bv(0x31b)]||[]}),'signal':AbortSignal[bv(0x3a5)](-0x2217+0x80*0x29+0x8b*0x3d)})[bv(0x25d)](()=>{}),console[bv(0x20f)](),console['log'](a0L[bv(0x239)](bv(0x263))),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x3d9)][bv(0x323)](bv(0x1db))),console[bv(0x20f)](a0L[bv(0x3d9)][bv(0x323)](bv(0x3e6))),console[bv(0x20f)](a0L[bv(0x3d9)][bv(0x323)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bv(0x20f)](a0L['bold'][bv(0x323)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console[bv(0x20f)](a0L[bv(0x3d9)][bv(0x323)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bv(0x20f)](a0L[bv(0x3d9)][bv(0x323)](bv(0x3e5))),console[bv(0x20f)](),console[bv(0x20f)](a0L['bold'](bv(0x2a3)+a0ai(bv(0x3d7))+':\x20'+a7+'/'+V+'\x20('+ag+'%)')),console[bv(0x20f)](a0L[bv(0x3d9)]('\x20\x20\x20'+(ag>=0x2660+0x10e4+-0x3708?a0L[bv(0x363)](a0ai(bv(0x349))):a0L[bv(0x3bd)](a0ai('notPassed'))))),console[bv(0x20f)](a0L[bv(0x30a)](bv(0x204)+ac)),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x3eb)]('\x20\x20\x20International\x20Cyber\x20Olympiad\x20in\x20AI\x202026')),console[bv(0x20f)](a0L['gray'](bv(0x150))),console['log'](),console[bv(0x20f)](a0L[bv(0x239)](bv(0x263))),await q(0x1144+-0x716+0x1*0x18a));const aj=Object['entries'](a9);if(aj[bv(0x318)]>0x239*-0x1+0x121*0x10+-0x32b*0x5){console[bv(0x20f)](),console['log'](a0L[bv(0x3d9)][bv(0x323)](bv(0x212)));const ap=-0x2*-0x602+0x2563*0x1+-0x315d;for(const [aq,ar]of aj){const as=ar[bv(0x2ce)]>-0x61b+0x10b*0x1d+-0x2*0xc12?Math['round'](ar[bv(0x3c4)]/ar[bv(0x2ce)]*(0xa*0x1c0+0xc15*0x2+-0x2946*0x1)):0x961+-0x1*-0x16bb+-0x201c,at=ar['total']>0x9aa+-0xc9*-0xc+0x98b*-0x2?Math[bv(0x37c)](ar['correct']/ar[bv(0x2ce)]*ap):-0xa9+0x13c+-0x93,au=ap-at,av=as>=0xef*0x3+-0x15b9+0x99e*0x2?a0L[bv(0x363)]:as>=-0x55d+-0xe02+0x1391?a0L[bv(0x3eb)]:a0L['red'],aw=av('█'[bv(0x1d4)](at))+a0L['gray']('░'[bv(0x1d4)](au));console[bv(0x20f)](bv(0x379)+a0L['white'](aq[bv(0x338)](0x1223+-0x1*0x132d+-0x16*-0xd))+'\x20'+aw+'\x20\x20'+av(ar[bv(0x3c4)]+'/'+ar[bv(0x2ce)])+a0L[bv(0x30a)]('\x20('+as+'%)'));}console[bv(0x20f)](),console[bv(0x20f)](a0L['cyan'](bv(0x2bc)));}const ak=a0a4(a7,V);if(a7===ak['best']&&ak[bv(0x153)]>0x233c+0x1559+-0x3894&&a7>0x116e+0x8ba+0xf8*-0x1b&&(console['log'](),console['log'](a0L[bv(0x3d9)][bv(0x363)](bv(0x2e2)))),a8[bv(0x318)]>-0x7*0x45c+0x137b*0x2+-0x872){const ax=ad[bv(0x286)](ay=>a8[bv(0x2c3)](ay[bv(0x1c0)]))[bv(0x23a)](ay=>({...ay}));a0a5(ax);}else a0a7();if(await q(0x33d*-0x5+-0x9a3*-0x3+0x10*-0x10),a8['length']>-0x177d*0x1+-0x613*-0x1+0x1*0x116a){console['log'](),console[bv(0x20f)](a0L['yellow']('\x20\x20'+a8[bv(0x318)]+'\x20'+a0ai('incorrectIntro'))),console[bv(0x20f)]();for(const ay of a8){const az=ad['find'](aC=>aC['number']===ay);if(!az)continue;const aA=ae[ay],aB=az[bv(0x385)];console[bv(0x20f)](a0L[bv(0x323)](bv(0x29f)+ay+'.\x20'+az['text'])),aA?console[bv(0x20f)](a0L[bv(0x3bd)](bv(0x379)+a0ai(bv(0x306))+':\x20'+aA+'.\x20'+az[bv(0x39f)][aA])):console[bv(0x20f)](a0L[bv(0x3eb)](bv(0x379)+a0ai(bv(0x306))+bv(0x2fc))),aB&&console[bv(0x20f)](a0L[bv(0x363)]('\x20\x20\x20\x20'+a0ai('correct')+':\x20'+aB+'.\x20'+az['options'][aB])),az[bv(0x3f3)]&&console[bv(0x20f)](a0L[bv(0x30a)](bv(0x296)+az[bv(0x3f3)])),console['log']();}}else console[bv(0x20f)](),console['log'](a0L[bv(0x363)]('\x20\x20'+a0ai(bv(0x12d))));await q(-0x1*0x102d+-0x1b11+0x5*0xa36),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x239)](bv(0x2bc))),console[bv(0x20f)](a0L[bv(0x323)]('\x20\x20'+a0ai(bv(0x424))+'\x20')+a0L[bv(0x3d9)]['green'](bv(0x205))+a0L[bv(0x30a)](bv(0x2b5)+a0ai('ai4ctfDesc'))),console[bv(0x20f)](a0L[bv(0x30a)]('\x20\x20'+a0ai(bv(0x195)))),console[bv(0x20f)](a0L[bv(0x239)]('\x20\x20─────────────────────────────────────────────')),console['log']();}catch(aC){console[bv(0x20f)](),a0aa(aC[bv(0x314)]);}return;}const Z=L['session'][bv(0x413)];try{let aD;if(N(0x157d*0x1+-0xacf*0x2+0x21,'Uploading\x20answers...'),Z){const aN={};aN[bv(0x2a2)]=bv(0x36f);const aO={};aO[bv(0x205)]=0x0,aO['ctf4ai']=0x0;const aP=a0W()[bv(0x280)]||bv(0x370),aQ=await fetch(aP+'/api/icoa/exams/'+L['session']['examId']+bv(0x33c),{'method':bv(0x288),'headers':aN,'body':JSON[bv(0x2b2)]({'token':Z,'answers':L[bv(0x275)],'interactions':L['interactions']||[],'aiUsage':L[bv(0x2df)]||aO,'bookmarks':L[bv(0x225)]||[]}),'signal':AbortSignal[bv(0x3a5)](0x6360+-0x7520+0x4c58)});if(!aQ['ok']){const aR=await aQ[bv(0x2c0)]()['catch'](()=>({'message':bv(0x295)}));throw new Error(aR['message']||bv(0x295));}aD=(await aQ[bv(0x2c0)]())[bv(0x2b0)];}else{const aS=M();if(!aS)return;aD=await aS['submitExam'](L['session']['examId'],L[bv(0x275)]);}N(0x12f2*-0x1+0x88c+0xa98,bv(0x37d)),await q(0x6a6+0x26ba*0x1+-0x2c34),N(0x217e+-0xc0c*-0x1+-0x1693*0x2,bv(0x138)),console[bv(0x20f)]();const aE={};aE[bv(0x205)]=0x0,aE[bv(0x337)]=0x0;const aF={'answered':Object[bv(0x20a)](L[bv(0x275)])[bv(0x318)],'total':L[bv(0x1ce)][bv(0x279)],'bookmarks':Array[bv(0x355)](L[bv(0x225)])?L[bv(0x225)][bv(0x318)]:-0x64c*0x4+-0x163c+0x14*0x25f,'help':R(L),'aiUsage':L[bv(0x2df)]||aE,'interactions':(L[bv(0x31b)]||[])[bv(0x318)],'durationMin':L[bv(0x1ce)][bv(0x1f3)]||-0xc2*-0x29+0x607*0x4+-0x372e,'confirmedAt':L['session'][bv(0x42e)]||L[bv(0x1ce)][bv(0x294)],'examId':L[bv(0x1ce)][bv(0x22f)]};a0a0();const aG=Math[bv(0x2f2)](0x82+-0x15*0x1a3+-0x1*-0x21dd,Math['round']((Date[bv(0x26a)]()-new Date(aF['confirmedAt'])[bv(0x210)]())/(-0x5*0x429+-0x55a+0x1e0f))),aH=Math[bv(0x451)](aG/(-0x1*-0x2585+0x1199+-0x36e2)),aI=aG%(-0x42*0x72+-0xc99+0x2a39);console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x239)](bv(0x353))),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x3d9)][bv(0x323)](bv(0x1db))),console['log'](a0L[bv(0x3d9)]['white'](bv(0x3e6))),console[bv(0x20f)](a0L[bv(0x3d9)][bv(0x323)](bv(0x133))),console[bv(0x20f)](a0L[bv(0x3d9)][bv(0x323)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console[bv(0x20f)](a0L['bold']['white'](bv(0x326))),console['log'](a0L['bold'][bv(0x323)](bv(0x3e5))),console['log']();const aJ=aD[bv(0x349)]?a0L[bv(0x363)]['bold'](bv(0x3c2)):a0L[bv(0x3eb)][bv(0x3d9)](bv(0x394));console[bv(0x20f)](aJ),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x323)](bv(0x147))),console['log'](a0L[bv(0x323)](bv(0x19c))),console[bv(0x20f)](a0L[bv(0x323)](bv(0x1a0))),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x239)](bv(0x2bc))),console['log'](),console[bv(0x20f)](a0L[bv(0x3d9)]['white'](bv(0x382)));const aK=aF[bv(0x2ce)]-aF[bv(0x2db)];console[bv(0x20f)](bv(0x379)+a0L['gray']('Answered:\x20\x20')+a0L[bv(0x323)](aF[bv(0x2db)]+'/'+aF[bv(0x2ce)])+(aK>-0x7e*-0x4d+0x35+0x5*-0x79f?a0L['gray']('\x20\x20·\x20\x20'+aK+bv(0x2eb)):'')),console['log']('\x20\x20\x20\x20'+a0L['gray'](bv(0x311))+a0L['white'](aH+'m\x20'+aI+'s')+a0L[bv(0x30a)](bv(0x250)+aF[bv(0x3ca)]+'m\x20total')),aF['bookmarks']>0x2ab*-0x5+-0x6*-0x1ca+-0x1d*-0x17&&console[bv(0x20f)](bv(0x379)+a0L[bv(0x30a)](bv(0x14b))+a0L[bv(0x3eb)]('★\x20'+aF[bv(0x225)])),console['log']();const aL=aD[bv(0x132)];if(aL&&Object['keys'](aL)['length']>=-0x1eaf+-0x643*-0x2+0x122b*0x1){const aT=Object[bv(0x27e)](aL)[bv(0x286)](([,aY])=>aY[bv(0x2ce)]>-0xfb*-0x1+0x185*-0x14+-0x1*-0x1d69)['map'](([aY,aZ])=>({'cat':aY,'pct':aZ[bv(0x3c4)]/aZ[bv(0x2ce)]}))[bv(0x167)]((aY,aZ)=>aZ[bv(0x19a)]-aY[bv(0x19a)]),aU=Math['min'](-0x15e2+0x25*0xef+0x4f*-0x29,Math[bv(0x42c)](aT[bv(0x318)]/(-0x1*-0x83+0x108*0x6+-0x2*0x358))),aV=Math['min'](0x557*-0x4+0x2*0xcea+-0x1*0x476,Math[bv(0x42c)](aT[bv(0x318)]/(0xde5+0x2661+-0x3443))),aW=aT[bv(0x290)](0x23c9+-0x2069*-0x1+-0x4432,aU)[bv(0x23a)](aY=>aY[bv(0x1d1)]),aX=aT[bv(0x290)](-aV)[bv(0x23a)](aY=>aY[bv(0x1d1)]);aW[bv(0x2ca)](aY=>aX['includes'](aY))||(console[bv(0x20f)](a0L[bv(0x3d9)][bv(0x323)](bv(0x332))),console[bv(0x20f)]('\x20\x20\x20\x20'+a0L[bv(0x363)](bv(0x2fb))+a0L[bv(0x323)](aW[bv(0x267)](',\x20'))),console[bv(0x20f)](bv(0x379)+a0L['yellow']('Room\x20to\x20grow:\x20\x20\x20')+a0L[bv(0x323)](aX[bv(0x267)](',\x20'))),console[bv(0x20f)](a0L['gray'](bv(0x3d5))),console[bv(0x20f)]());}console[bv(0x20f)](a0L[bv(0x3d9)][bv(0x323)]('\x20\x20Assistance\x20used')),console['log'](bv(0x379)+a0L['gray'](bv(0x159))+a0L['white'](aF[bv(0x351)][bv(0x238)]+'/'+aF[bv(0x351)][bv(0x2f2)])),console[bv(0x20f)](bv(0x379)+a0L['gray'](bv(0x2fa))+a0L[bv(0x323)](aF[bv(0x2df)]['ai4ctf']+bv(0x1ef))+a0L[bv(0x30a)](bv(0x399))+a0L[bv(0x323)](aF['aiUsage'][bv(0x337)]+bv(0x395))),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x239)](bv(0x2bc))),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x3d9)][bv(0x323)](bv(0x149))),console[bv(0x20f)](a0L['gray'](bv(0x3af))),console[bv(0x20f)](a0L[bv(0x30a)](bv(0x197))+a0L[bv(0x323)](bv(0x3d6))+a0L[bv(0x30a)]('\x20is\x20free,\x20unlimited\x20practice.')),console[bv(0x20f)](a0L['gray']('\x20\x20·\x20Reference\x20guides\x20for\x2038\x20tools:\x20')+a0L[bv(0x323)]('ref')),console[bv(0x20f)]();const {showCToBUpgradePrompt:aM}=await import(bv(0x1f0));aM(aF['examId'],aD['passed']),console[bv(0x20f)](a0L[bv(0x3eb)](bv(0x1f1))),console[bv(0x20f)](a0L['cyan'][bv(0x28f)](bv(0x420))),console[bv(0x20f)](),console[bv(0x20f)](a0L[bv(0x239)](bv(0x353))),console['log']();}catch(aY){console['log'](),a0aa(aY[bv(0x314)]);}}),B[be(0x3dc)](be(0x1ac))[be(0x3fc)]('View\x20exam\x20result')[be(0x21f)](async F=>{const bw=be;a0a8(bw(0x3b7)+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa(bw(0x196));F=J['session']['examId'];}const H=a0ag(bw(0x3d2));H['start']();try{const K=await G['getResult'](F);H['succeed'](bw(0x19e)),console[bw(0x20f)](),a0ae(K['examName']),a0af('Score',a0L[bw(0x3d9)](K['score']+'/'+K['total'])),a0af(bw(0x183),a0L[bw(0x3d9)](K[bw(0x1f8)]+'%')),a0af('Status',K[bw(0x349)]?a0L['green'][bw(0x3d9)](bw(0x15d)):a0L[bw(0x3bd)][bw(0x3d9)](bw(0x26c))),a0af(bw(0x38e),K[bw(0x1e0)]),console['log']();}catch(L){H[bw(0x16a)](bw(0x443)),a0aa(L[bw(0x314)]);}}),B[be(0x3dc)](be(0x2c2))[be(0x3fc)](be(0x325))[be(0x21f)](async J=>{const bx=be;a0a8(bx(0x1cd)+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bx(0x40f)),V=K();if(V){const a2=V[bx(0x1ce)][bx(0x413)],a3=a0a1(),a4=!!a2&&a2[bx(0x1a8)]()['toUpperCase']()!==J['trim']()['toUpperCase'](),a5=!!a3&&a3[bx(0x210)]()+(-0xeecc*-0x3+0xe8a54+0xa2088)<Date[bx(0x26a)]();if(a4&&a5)return Q(),console['log'](),console[bx(0x20f)](a0L[bx(0x30a)]('\x20\x20(previous\x20exam\x20session\x20expired\x20—\x20cleared\x20state,\x20starting\x20fresh\x20with\x20your\x20new\x20token)')),console['log'](),console[bx(0x20f)](a0L[bx(0x323)](bx(0x25a))+a0L[bx(0x3d9)]['cyan'](bx(0x2c4)+J)),void console['log']();if(!a2&&J)return V[bx(0x1ce)][bx(0x413)]=J[bx(0x1a8)](),L(V),console[bx(0x20f)](),console['log'](a0L[bx(0x363)](bx(0x22c))),console[bx(0x20f)](a0L[bx(0x30a)](bx(0x34b))+a0L[bx(0x323)](bx(0x3e0))+a0L['gray'](bx(0x3fe))+a0L[bx(0x323)](bx(0x1ea))),console[bx(0x20f)](),console[bx(0x20f)](a0L['bold'][bx(0x323)](bx(0x3a0))),console[bx(0x20f)](a0L[bx(0x30a)](bx(0x296))+a0L[bx(0x3d9)][bx(0x239)](bx(0x207))+a0L[bx(0x30a)](bx(0x16f))),console[bx(0x20f)](a0L[bx(0x30a)](bx(0x296))+a0L[bx(0x3d9)][bx(0x239)](bx(0x18a))+a0L[bx(0x30a)]('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),void console[bx(0x20f)]();const a6=Object[bx(0x20a)](V['answers'])[bx(0x318)],a7=V[bx(0x1ce)][bx(0x279)],a8=a0a1(),a9=a8?Math[bx(0x2f2)](-0x1*0xd49+0x123c*-0x1+0x1f85,Math[bx(0x37c)]((a8['getTime']()-Date[bx(0x26a)]())/(-0x49*0x3f1+0x1a7f2+0x1*0x6227))):null;return console[bx(0x20f)](),console[bx(0x20f)](a0L[bx(0x3eb)](bx(0x1a1))),console[bx(0x20f)](),console[bx(0x20f)](a0L['gray'](bx(0x449))+a0L[bx(0x323)](V[bx(0x1ce)][bx(0x359)])),a2&&console[bx(0x20f)](a0L[bx(0x30a)]('\x20\x20Token:\x20\x20\x20')+a0L[bx(0x323)](a2)+(a2===J?a0L['green']('\x20\x20(same\x20as\x20you\x20just\x20typed)'):a0L[bx(0x3eb)](bx(0x32b)))),console[bx(0x20f)](a0L[bx(0x30a)](bx(0x15b))+a0L[bx(0x323)](a6+'/'+a7)),null!==a9&&console[bx(0x20f)](a0L[bx(0x30a)](bx(0x277))+a0L['white'](a9+bx(0x410))),console[bx(0x20f)](),console[bx(0x20f)](a0L[bx(0x3d9)][bx(0x323)](bx(0x372))),console[bx(0x20f)](a0L[bx(0x30a)](bx(0x296))+a0L[bx(0x3d9)][bx(0x239)](bx(0x207))+a0L[bx(0x30a)](bx(0x16f))),console[bx(0x20f)](a0L['gray']('\x20\x20\x20\x20→\x20')+a0L[bx(0x3d9)]['cyan'](bx(0x18a))+a0L[bx(0x30a)](bx(0x208))),console[bx(0x20f)](a0L[bx(0x30a)](bx(0x296))+a0L[bx(0x3d9)]['cyan'](bx(0x1ea))+a0L['gray'](bx(0x42b))),a2&&a2!==J&&(console[bx(0x20f)](),console[bx(0x20f)](a0L['yellow'](bx(0x2f3))),console[bx(0x20f)](a0L[bx(0x3eb)]('\x20\x20one\x20device\x20+\x20one\x20session.\x20You\x20cannot\x20switch\x20tokens\x20mid-exam.')),console[bx(0x20f)](),console[bx(0x20f)](a0L['gray'](bx(0x1b7))),console[bx(0x20f)](a0L[bx(0x30a)](bx(0x2ae))+a0L[bx(0x3d9)][bx(0x239)](bx(0x155))+a0L[bx(0x30a)](bx(0x43b)))),void console[bx(0x20f)]();}const {isNativeWindowsCmd:W}=await import('../lib/platform.js');if(!W()&&!a0am()){let aa=!(-0x1*-0xe13+-0x2027+-0x1215*-0x1);try{const ab={};ab[bx(0x2a2)]=bx(0x36f);const ac=a0W()[bx(0x280)]||'https://practice.icoa2026.au',ad=await fetch(ac+'/api/icoa/exam-token',{'method':bx(0x288),'headers':ab,'body':JSON[bx(0x2b2)]({'token':J[bx(0x1a8)](),'deviceHash':a0aj(),'peek':!(-0x2e0+-0xd4a+-0x1*-0x102a)}),'signal':AbortSignal[bx(0x3a5)](0x13*-0x156+-0x3ff+-0x1*-0x30e9)});if(ad['ok']){const ae=await ad[bx(0x2c0)]();(ae?.[bx(0x2b0)]?.['exam_id']||'')[bx(0x3f6)]('-c')&&(aa=!(0x7*-0x47f+-0x91+0x200a));}}catch{}if(!aa)return console[bx(0x20f)](),a0ab(bx(0x40d)),console[bx(0x20f)](a0L[bx(0x30a)](bx(0x35b))+a0L['bold'][bx(0x239)](bx(0x190))),console[bx(0x20f)](a0L[bx(0x30a)](bx(0x1e6))+a0L['bold']['cyan'](bx(0x1de))+a0L['gray'](bx(0x2d1))),console[bx(0x20f)](a0L[bx(0x30a)](bx(0x1cf))),void console[bx(0x20f)]();}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';const Y=X[J['trim']()[bx(0x27a)](0x1*-0x49e+-0x11e2+0x1680,-0xbf*-0x2f+0x68*0x13+-0x2ac7*0x1)[bx(0x182)]()],Z=a0W(),a0=Z[bx(0x280)]||'https://practice.icoa2026.au',a1=Y||Z[bx(0x440)]||'en';Y&&Y!==(Z[bx(0x440)]||'en')&&a0X({'language':Y}),console['log'](),N(-0xfbc+-0x1602+0x12df*0x2,'Validating\x20token...');try{const af={};af[bx(0x2a2)]=bx(0x36f);const ag=await fetch(a0+bx(0x18f),{'method':'POST','headers':af,'body':JSON[bx(0x2b2)]({'token':J['trim'](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bx(0x3a5)](0x144*0x4+-0x83a+0x2a3a)});if(!ag['ok']){N(0xae3+-0x1e05+-0x4f*-0x3e,''),console[bx(0x20f)]();const ao=await ag[bx(0x2c0)]()[bx(0x25d)](()=>({'message':bx(0x414)}));return a0aa(ao['message']||bx(0x139)),void a0ac('Check\x20your\x20token\x20or\x20contact\x20your\x20proctor.');}N(0x262c+-0x1*0x1472+-0x119c,bx(0x221));const ah=await ag[bx(0x2c0)](),{session:ai,questions:aj,languages:ak}=ah[bx(0x2b0)];N(0x1*-0x92b+0x202*0x1+-0x765*-0x1,bx(0x3e7)),await q(-0x18c4+-0x377*0x3+0x23f1),N(-0x2033*-0x1+0x1149+-0x4*0xc46,bx(0x246)),console[bx(0x20f)](),console[bx(0x20f)](),a0ae(ai[bx(0x359)]),console[bx(0x20f)](),a0af(bx(0x346),ai['questionCount']+bx(0x33f)),a0af('Duration',ai[bx(0x1f3)]+'\x20minutes'),a0af(bx(0x257),(ai[bx(0x145)]||-0x198a+-0x4f*-0x22+0xae*0x17)+'\x20points'),a0af(bx(0x136),(ai[bx(0x35f)]||0x2524+-0x19e3+-0xaf6)+bx(0x289)),console[bx(0x20f)](),console['log'](a0L[bx(0x323)](bx(0x34a))),console[bx(0x20f)](a0L[bx(0x323)](bx(0x44d))),console['log'](a0L['white'](bx(0x224))),console[bx(0x20f)](a0L[bx(0x323)](bx(0x14c))),ak&&ak[bx(0x318)]>-0x25f*-0x9+0x731+0x6d*-0x43&&console[bx(0x20f)](a0L[bx(0x323)](bx(0x2b8)+ak[bx(0x267)](',\x20')+bx(0x176))),console[bx(0x20f)](),console[bx(0x20f)](a0L[bx(0x3eb)](bx(0x21c))),console[bx(0x20f)](a0L[bx(0x323)](bx(0x377))),console[bx(0x20f)](a0L[bx(0x323)]('\x20\x20\x20\x20•\x20Server\x20auto-finalises\x20your\x20answers\x20if\x20you\x20do\x20not\x20submit\x20before\x20the\x20deadline')),console[bx(0x20f)](a0L[bx(0x323)](bx(0x3e9))),console[bx(0x20f)](),await new Promise(ap=>{const by=bx;process['stdout']['write'](a0L[by(0x3d9)]['yellow'](by(0x38f)));const aq=!!process[by(0x401)][by(0x3f7)]&&process[by(0x401)]['isRaw'];process['stdin']['isTTY']&&process[by(0x401)][by(0x226)]&&process[by(0x401)]['setRawMode'](!(0x1009+0xeeb+-0x1ef3));const ar=as=>{const bz=by,at=as['toString']();(at['includes']('\x0a')||at[bz(0x2c3)]('\x0d'))&&(process['stdin'][bz(0x2f6)](bz(0x2b0),ar),process[bz(0x401)][bz(0x3f7)]&&process['stdin'][bz(0x226)]&&process['stdin'][bz(0x226)](aq),process['stdout']['write']('\x0a'),ap());};process[by(0x401)]['on'](by(0x2b0),ar),process[by(0x401)][by(0x373)]();});const al=new Date()['toISOString']();ai[bx(0x42e)]=al,ai[bx(0x413)]=J[bx(0x1a8)]();try{const ap=Date[bx(0x26a)](),aq=await fetch(a0+bx(0x3f0),{'method':bx(0x2d6),'signal':AbortSignal[bx(0x3a5)](0x17cc+0xde1+-0x19f5)});if(aq['ok']){const ar=await aq[bx(0x2c0)](),as=ar?.['data']?.[bx(0x19b)];if('number'==typeof as&&as>-0x4a*-0x7b+0xcf*-0x28+-0x336){const at=(ap+Date[bx(0x26a)]())/(0xd3+-0x4*-0xb1+-0x395);ai[bx(0x281)]=Math['round'](as-at),ai[bx(0x14e)]=as+(-0x6de*0x2+-0x4*0xe1+0x45f*0x4)*ai[bx(0x1f3)]*(0x12a2+-0x5f+-0xe5b);}}}catch{}const am={};am[bx(0x205)]=0x0,am[bx(0x337)]=0x0;const an={};an['session']=ai,an['questions']=aj,an[bx(0x275)]={},an[bx(0x31b)]=[],an[bx(0x2df)]=am,(a0Z(an),console[bx(0x20f)](),a0a9(bx(0x192)),a0af(bx(0x15e),ai[bx(0x1f3)]+':00'),aj['length']>0x76f*-0x5+-0x63*-0x4d+0x764&&U(aj[-0xd72*-0x1+0x579*-0x2+-0x280]));}catch(au){console['log'](),bx(0x135)===au[bx(0x3fb)]?a0aa(bx(0x374)):a0aa(au[bx(0x314)]||bx(0x42f));}}),B[be(0x3dc)](be(0x28c),{'hidden':!(-0x1fb6+-0x2*-0x105d+-0x2*0x82)})[be(0x3fc)](be(0x35d))['action'](async()=>{const bA=be;a0a8('exam\x20reset');const {getRealExamState:F,clearExamState:G}=await import('../lib/exam-state.js'),H=F();if(!H)return console['log'](),console['log'](a0L['gray']('\x20\x20No\x20active\x20exam\x20session\x20to\x20reset.')),void console['log']();const J=H[bA(0x1ce)][bA(0x413)];console[bA(0x20f)](),console[bA(0x20f)](a0L[bA(0x3eb)](bA(0x3a3))),console[bA(0x20f)](a0L[bA(0x30a)](bA(0x1fa))+a0L[bA(0x323)](H[bA(0x1ce)][bA(0x359)])),J&&console[bA(0x20f)](a0L[bA(0x30a)](bA(0x41a))+a0L[bA(0x323)](J)),console[bA(0x20f)](a0L[bA(0x30a)](bA(0x163))),console[bA(0x20f)](a0L[bA(0x30a)](bA(0x140))),console['log'](),console[bA(0x20f)](a0L[bA(0x30a)](bA(0x31c))+a0L[bA(0x3d9)][bA(0x239)](bA(0x28c))+a0L[bA(0x30a)]('\x20to\x20confirm,\x20or\x20anything\x20else\x20to\x20cancel:'));const {getMainRl:K}=await import(bA(0x348)),L=K();if('reset'!==(await new Promise(Q=>{const bB=bA;if(L){const V=L[bB(0x285)](bB(0x389))[bB(0x290)]();L['removeAllListeners'](bB(0x389)),L[bB(0x169)](bB(0x12c)),L['prompt'](),L[bB(0x230)](bB(0x389),W=>{const bC=bB;for(const X of V)L['on'](bC(0x389),X);Q(W['trim']());});}else((async()=>{const bD=bB,W={};W[bD(0x3cc)]=process[bD(0x401)],W[bD(0x282)]=process[bD(0x33e)];const {createInterface:X}=await import('node:readline'),Y=X(W);Y[bD(0x41e)]('\x20\x20>\x20',Z=>{const bE=bD;Y[bE(0x2a9)](),Q(Z['trim']());});})());}))[bA(0x2c8)]())return console[bA(0x20f)](a0L[bA(0x30a)](bA(0x444))),void console[bA(0x20f)]();G(),console[bA(0x20f)](),console[bA(0x20f)](a0L['green'](bA(0x29d))),console[bA(0x20f)](a0L[bA(0x30a)]('\x20\x20You\x20can\x20now\x20enter\x20a\x20new\x20token\x20with\x20')+a0L[bA(0x3d9)]['cyan'](bA(0x41f))),console[bA(0x20f)]();}),B['command'](be(0x3d6))[be(0x3fc)](be(0x187))['action'](async()=>{const bF=be;a0a8(bF(0x1ad)),E(bF(0x3b2));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import(bF(0x360));a0W()[bF(0x272)]||(await(async function(){const bG=bF;let a0=!(-0x1edc+0x236c+0x48f*-0x1);const a1=process[bG(0x401)],a2=()=>{a0=!(0xb2a+-0xc8c+0x162*0x1);},a3=a1['isTTY']&&bG(0x1fe)==typeof a1[bG(0x226)];a3&&(a1['setRawMode'](!(-0x124b+0x2*-0x253+-0x16f1*-0x1)),a1[bG(0x373)](),a1[bG(0x230)]('data',a2));const a4=async a5=>{let a6=0x1*-0x18a3+0x6*0x647+-0xd07;for(;a6<a5&&!a0;)await q(0x1047+0x886+0x187d*-0x1),a6+=-0x3*-0x6ca+-0xa67+-0x9a7;};try{if(console['clear'](),console[bG(0x20f)](),console[bG(0x20f)](a0L[bG(0x30a)](bG(0x2a3))+a0L['dim'](bG(0x30b))),console[bG(0x20f)](),console[bG(0x20f)](a0L[bG(0x3d9)][bG(0x323)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bG(0x20f)](a0L[bG(0x3d9)][bG(0x323)]('\x20\x20\x20██║██╔════╝██╔═══██╗██╔══██╗')),console[bG(0x20f)](a0L[bG(0x3d9)]['white'](bG(0x133))),console[bG(0x20f)](a0L[bG(0x3d9)]['white']('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console[bG(0x20f)](a0L[bG(0x3d9)][bG(0x323)](bG(0x326))),console[bG(0x20f)](a0L['bold'][bG(0x323)](bG(0x3e5))),console[bG(0x20f)](),console['log'](a0L[bG(0x3d9)][bG(0x3eb)](bG(0x15a))),console[bG(0x20f)](a0L[bG(0x30a)](bG(0x1cc))),await a4(-0x74d+-0x2*0x1307+0x89*0x67),a0)return;if(console['log'](),console[bG(0x20f)](a0L[bG(0x323)](bG(0x1a5))),console[bG(0x20f)](),await a4(-0x1bcd+0x947+0x14de),a0)return;if(console['log'](a0L[bG(0x239)](bG(0x2e0))+a0L[bG(0x323)]('Answer\x2010\x20quick\x20questions')+a0L[bG(0x30a)]('\x20\x20\x20\x20\x20\x20\x20\x20(now,\x20~5\x20min)')),await a4(0xd57*-0x1+0x2179+0x8b3*-0x2),a0)return;if(console[bG(0x20f)](a0L['green']('\x20\x20\x20\x20\x20▣\x20')+a0L[bG(0x323)](bG(0x13a))+a0L[bG(0x30a)](bG(0x1e8))),await a4(-0x2*0x1f2+0x1*0x7f6+-0x156),a0)return;if(console['log'](a0L['red'](bG(0x2e0))+a0L[bG(0x323)](bG(0x30e))+a0L[bG(0x30a)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20(ctf4ai)')),await a4(0xe9c+-0x755*0x2+0x392*0x1),a0)return;if(console['log'](),console[bG(0x20f)](a0L['bold']['white'](bG(0x3b5))+a0L[bG(0x3d9)][bG(0x3eb)]('IS')+a0L[bG(0x3d9)]['white'](bG(0x228))),console[bG(0x20f)](),await a4(0xa74+-0x1118+0x28*0x50),a0)return;if(console[bG(0x20f)](a0L[bG(0x30a)](bG(0x1eb))),await a4(-0x22a4+-0x4*-0x4fd+-0xa*-0x1a0),a0)return;if(console[bG(0x20f)](a0L[bG(0x30a)](bG(0x445))),await a4(-0xf3b*0x1+-0x3ed+0x14b8),a0)return;if(console[bG(0x20f)](a0L['gray']('\x20\x20\x20·\x2015,000+\x20concurrent\x20participants')),await a4(-0xe29+0x124f+0x2*-0x83),a0)return;console[bG(0x20f)](),console['log'](a0L[bG(0x3d9)][bG(0x239)](bG(0x1a7))),await a4(0x4c*-0x82+-0x1ef5+0x552d);}finally{((()=>{const bH=bG;if(a3){a1[bH(0x2f6)](bH(0x2b0),a2);try{a1[bH(0x226)](!(0x289*0x5+0x1de0*0x1+-0x2a8c));}catch{}a1[bH(0x3d1)]();}})()),console[bG(0x29e)]();}}()),a0X({'demoIntroSeen':!(-0x65*0x13+0x1d4b*-0x1+0x11*0x22a)})),console[bF(0x20f)](),console['log'](a0L[bF(0x323)](bF(0x423))+a0L[bF(0x30a)](H+bF(0x1d6)+J+bF(0x184))),console['log'](a0L[bF(0x30a)]('\x20\x20You\x20can\x20pause\x20with\x20')+a0L[bF(0x239)](bF(0x381))+a0L[bF(0x30a)](bF(0x30f))+a0L[bF(0x239)]('back')+a0L[bF(0x30a)](bF(0x304))),await new Promise(a0=>{const bI=bF;process[bI(0x33e)][bI(0x1f6)](a0L[bI(0x3d9)]['yellow'](bI(0x17b)));const a1=!!process[bI(0x401)]['isTTY']&&process[bI(0x401)][bI(0x3e2)];process[bI(0x401)]['isTTY']&&process[bI(0x401)][bI(0x226)]&&process[bI(0x401)][bI(0x226)](!(-0x105*0xc+0xe7d*-0x1+0x137*0x16));const a2=a3=>{const bJ=bI,a4=a3['toString']();(a4['includes']('\x0a')||a4[bJ(0x2c3)]('\x0d'))&&(process[bJ(0x401)][bJ(0x2f6)]('data',a2),process[bJ(0x401)]['isTTY']&&process['stdin']['setRawMode']&&process[bJ(0x401)][bJ(0x226)](a1),process[bJ(0x33e)][bJ(0x1f6)]('\x0a'),a0());};process['stdin']['on'](bI(0x2b0),a2),process['stdin'][bI(0x373)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bF(0x40f));Q()&&V(bF(0x319)),console[bF(0x20f)](),a0ae(bF(0x252)),console['log'](),console[bF(0x20f)](a0L[bF(0x323)](bF(0x33b))),console[bF(0x20f)](a0L['white']('\x20\x20'+H+bF(0x40e)+J+'\x20·\x20Pick\x20one\x20answer\x20per\x20question'));const W=a0a3();if(W[bF(0x153)]>-0x11d3+0xf91+-0x121*-0x2){const a0=W['bestPercentage'],a1=a0>=-0x4b9+-0xa4*-0x1b+-0xc43?a0L[bF(0x363)]:a0>=-0x1*0x21a1+0x858+-0x8b*-0x2f?a0L[bF(0x3eb)]:a0L[bF(0x323)];console['log'](),console['log'](a0L[bF(0x30a)]('\x20\x20Your\x20best:\x20')+a1(W[bF(0x22b)]+'/'+H+'\x20('+a0+'%)')+a0L[bF(0x30a)](bF(0x399)+W[bF(0x153)]+bF(0x36a)));}console[bF(0x20f)](),console[bF(0x20f)](a0L[bF(0x30a)](bF(0x3e4))),console[bF(0x20f)](a0L[bF(0x323)]('\x20\x20'+a0ai('howToPlay'))),console[bF(0x20f)](a0L[bF(0x3eb)](bF(0x411))+a0L[bF(0x30a)](bF(0x1bc)+a0ai('htpAnswer'))),console['log'](a0L['yellow'](bF(0x404))+a0L[bF(0x30a)](bF(0x152)+a0ai(bF(0x178)))),console[bF(0x20f)](a0L[bF(0x3eb)](bF(0x1bb))+a0L[bF(0x30a)](bF(0x2d0))+a0L[bF(0x3eb)]('prev')+a0L[bF(0x30a)](bF(0x379)+a0ai(bF(0x3ee)))),console[bF(0x20f)](a0L[bF(0x3eb)](bF(0x269))+a0L[bF(0x30a)](bF(0x1e9)+a0ai(bF(0x3c9)))),console[bF(0x20f)](a0L[bF(0x3eb)]('\x20\x20\x20\x20back')+a0L[bF(0x30a)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bF(0x3be)))),console[bF(0x20f)](a0L[bF(0x3eb)]('\x20\x20\x20\x20lang')+a0L[bF(0x30a)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai('htpLang'))),console['log'](a0L[bF(0x30a)](bF(0x2d3))),console[bF(0x20f)](a0L[bF(0x30a)](bF(0x19f))),console['log'](a0L[bF(0x30a)](bF(0x3e4))),console[bF(0x20f)]();const {getConfig:X}=await import('../lib/config.js'),Y=X()['language']||'en';'en'===Y?(console[bF(0x20f)](a0L[bF(0x30a)](bF(0x198))),console[bF(0x20f)](a0L[bF(0x30a)]('\x20\x20lang\x20es\x20(Español)\x20·\x20lang\x20zh\x20(中文)\x20·\x20lang\x20ko\x20(한국어)\x20·\x20lang\x20ja\x20(日本語)')),console[bF(0x20f)](a0L[bF(0x30a)](bF(0x398)))):console[bF(0x20f)](a0L[bF(0x363)](bF(0x44f)+Y)),console[bF(0x20f)](),console[bF(0x20f)](a0L['white'](bF(0x347)));const Z={...L,'startedAt':new Date()[bF(0x1f7)]()};console[bF(0x20f)](),N(0x3e3*-0xa+-0x1da8+0x62*0xb3,bF(0x30d)),await q(0xb*0x219+-0xa2a+-0x40b*0x3),N(0x21e+-0x4a*0x44+0x11b2,bF(0x25e)),await q(0x265d+-0x15b3+-0x26*0x6b),N(0x9*0x31a+-0x3*-0x2a3+-0x1*0x2383,bF(0x1b3)),await q(0x7f7+-0x12*0x25+0x4c7*-0x1),N(0x10b8+0x17d5+0x2829*-0x1,bF(0x246)),console[bF(0x20f)](),console[bF(0x20f)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af('Questions',String(H)),a0af(bF(0x299),bF(0x1ab)),U(K[-0x5ac+-0x212f*0x1+0x26db]);}),B[be(0x3dc)](be(0x1fc))[be(0x3fc)](be(0x186))[be(0x21f)](async()=>{const bK=be;a0a8(bK(0x3bf)),E(bK(0x24a));const {getLocalizedDemoSession:F}=await import(bK(0x360)),G=a0a6();if(!G||-0x1*0x2186+0x263b+-0x4b5===G[bK(0x318)])return console['log'](),console[bK(0x20f)](a0L['yellow'](bK(0x206))+a0L[bK(0x3d9)][bK(0x239)](bK(0x3d6))+a0L[bK(0x3eb)](bK(0x301))),void console['log']();const H=a0Y();if(H){if(bK(0x319)!==H[bK(0x1ce)][bK(0x22f)])return a0ab(bK(0x3aa)+H[bK(0x1ce)][bK(0x359)]+bK(0x392)),void a0ac(bK(0x3e3));a0a0();}const J=V=>{const bL=bK;if(!V[bL(0x385)])return V;const W=V[bL(0x39f)][V[bL(0x385)]],X=['A','B','C','D'][bL(0x23a)](a2=>V[bL(0x39f)][a2]);for(let a2=X[bL(0x318)]-(0x85b+-0x1f9e+0x1744*0x1);a2>0x1df9+-0x1d8c+-0x6d;a2--){const a3=Math[bL(0x451)](Math[bL(0x33a)]()*(a2+(-0x1bb3+0x177a+0x43a)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[-0xb0a+-0xad1+0x15db],Y['B']=X[-0x2279+0xa47*-0x3+0x3*0x15c5],Y['C']=X[0x108c+0x16*0xcd+-0x2228],Y['D']=X[0xba*0x25+0x341*-0x4+-0xddb];const Z=Y,a0=['A','B','C','D'][bL(0x1cb)](a4=>Z[a4]===W),a1={...V};return a1['options']=Z,a1[bL(0x385)]=a0,a1;},K=G[bK(0x23a)]((V,W)=>({...J(V),'number':W+(-0x811+-0x64+0x876*0x1)})),L=F(),Q={...L,'examName':L[bK(0x359)]+'\x20\x20(Retry\x20wrong\x20only)','questionCount':K[bK(0x318)],'startedAt':new Date()[bK(0x1f7)]()};console[bK(0x20f)](),a0ae('Demo\x20Retry\x20—\x20Wrong\x20Questions\x20Only'),console[bK(0x20f)](),console[bK(0x20f)](a0L[bK(0x323)](bK(0x2dc)+K[bK(0x318)]+bK(0x3a7)+(-0x19*0xcd+0x85*0x4+0x11f2===K[bK(0x318)]?'':'s')+bK(0x27f))),console[bK(0x20f)](a0L[bK(0x30a)](bK(0x3ae))),console[bK(0x20f)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af(bK(0x346),String(K[bK(0x318)])),a0af(bK(0x299),'No\x20time\x20limit'),U(K[0x23a6+0x22f6+-0x469c]);}),B[be(0x3dc)](be(0x39b))[be(0x3fc)](be(0x428))[be(0x21f)](async()=>{const bM=be;if(a0a8('exam\x20setup'),0x1*0x1da5+0xa71+-0x2816===a0a3()[bM(0x153)])return console[bM(0x20f)](),a0ab(bM(0x2d8)),console[bM(0x20f)](a0L[bM(0x30a)]('\x20\x20→\x20')+a0L[bM(0x3d9)][bM(0x239)](bM(0x1ad))),void console[bM(0x20f)]();const K=a0ak();if(K){const a4=K[bM(0x384)][bM(0x318)],a5=a4+K['failedPackages'][bM(0x318)];if(a4>=-0x203f+0x1eb7+0x190||(a5>0x2*0x3d3+-0x649*0x1+0x15d*-0x1?a4/a5:0x24a*0xe+0xe29+-0x2e35)>=0x13d8+0xae0+-0x1eb8+0.7)return console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x363)](bM(0x433))+a0L['green'](bM(0x362))),console[bM(0x20f)](a0L[bM(0x30a)]('\x20\x20\x20\x20Completed:\x20'+K['completedAt'][bM(0x175)]('T')[-0x69*-0x1a+-0xc85+-0x1db*-0x1])),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x24d)+K['pythonVersion'])),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x3a1)+a4+bM(0x39a))),K['failedPackages'][bM(0x318)]>0x38b*-0x8+0xc17+-0x3*-0x56b&&console[bM(0x20f)](a0L[bM(0x3eb)](bM(0x141)+K[bM(0x36e)][bM(0x267)](',\x20'))),console[bM(0x20f)](),console[bM(0x20f)](a0L['white']('\x20\x20Next\x20step:\x20')+a0L[bM(0x3d9)]['cyan']('exam\x20<token>')),console[bM(0x20f)](a0L['gray'](bM(0x1e6))+a0L[bM(0x3d9)][bM(0x239)](bM(0x1de))+a0L[bM(0x30a)](bM(0x2d1))),void console['log']();console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x3eb)](bM(0x3f9)+a4+'/'+a5+bM(0x1d5))),console[bM(0x20f)]();}console['log'](),a0ae(bM(0x202)),console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x323)](bM(0x1b4))),console[bM(0x20f)](a0L['gray'](bM(0x12e))),console[bM(0x20f)]();const L=(a6,a7)=>{const bN=bM,a8=process['platform'];console[bN(0x20f)](),a0aa(bN(0x327)===a6?bN(0x1a9):bN(0x2bf)+a7+bN(0x260)),console[bN(0x20f)](),console[bN(0x20f)](a0L[bN(0x3d9)][bN(0x323)](bN(0x14d))),console[bN(0x20f)](),bN(0x199)===a8?(console[bN(0x20f)](a0L[bN(0x3eb)]('\x20\x20macOS\x20(Homebrew,\x20recommended):')),console['log'](a0L[bN(0x363)](bN(0x17a))),console[bN(0x20f)](),console[bN(0x20f)](a0L[bN(0x30a)](bN(0x430))),console[bN(0x20f)](a0L[bN(0x30a)]('\x20\x20\x20\x20https://www.python.org/downloads/macos/'))):bN(0x213)===a8?(console[bN(0x20f)](a0L['yellow'](bN(0x34c))),console['log'](a0L[bN(0x363)](bN(0x249))),console['log'](a0L[bN(0x363)](bN(0x342))),console[bN(0x20f)](a0L['green'](bN(0x39d))),console['log'](a0L[bN(0x30a)]('\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201')),console[bN(0x20f)](),console['log'](a0L[bN(0x3eb)](bN(0x37f))),console[bN(0x20f)](a0L[bN(0x363)](bN(0x418))),console[bN(0x20f)](),console['log'](a0L['yellow'](bN(0x2c9))),console[bN(0x20f)](a0L[bN(0x363)]('\x20\x20\x20\x20sudo\x20pacman\x20-S\x20python'))):bN(0x1f2)===a8?(console[bN(0x20f)](a0L[bN(0x3eb)](bN(0x302))),console[bN(0x20f)](a0L[bN(0x363)](bN(0x324))),console[bN(0x20f)](),console[bN(0x20f)](a0L['gray']('\x20\x20Or\x20download\x20installer:')),console[bN(0x20f)](a0L[bN(0x30a)](bN(0x2b1)))):console[bN(0x20f)](a0L['gray']('\x20\x20\x20\x20https://www.python.org/downloads/')),console['log'](),console[bN(0x20f)](a0L[bN(0x323)](bN(0x44a))+a0L[bN(0x3d9)]['cyan'](bN(0x190))),console[bN(0x20f)]();},Q='python3';let V='';try{const a6={};a6[bM(0x3c6)]='utf-8',a6[bM(0x3a5)]=0x1388,V=a0an(Q+bM(0x2e1),a6)[bM(0x1a8)]()[bM(0x308)](bM(0x2bf),'');const a7=V['split']('.')[bM(0x23a)](Number);if(a7[0x1*-0x171b+0x7ae+-0xb*-0x167]<-0x1*0x1643+-0x2*-0x5a2+0xb02||-0x1e1b+-0x197f+0x379d===a7[0x4e*0x5c+-0x2428+0x820]&&a7[-0x9a4+-0x20c4+0x2a69]<0x2016+-0x2*-0x40f+-0x282a)return void L(bM(0x2f4),V);0x202f+0x1*-0x14d5+-0xb57===a7[-0xb*0xb5+-0x12*0x66+0xef3]&&a7[-0xe21*0x1+-0x1460+0x2282]<-0x1596+-0x413*0x2+0x1dc8?console['log'](a0L[bM(0x363)]('\x20\x20✓\x20Python\x20'+V)+a0L[bM(0x30a)](bM(0x244))):console['log'](a0L['green'](bM(0x191)+V));}catch{return void L(bM(0x327));}try{const a8={};a8[bM(0x1e5)]=bM(0x18d),a8['timeout']=0x1388,(a0an(Q+bM(0x426),a8),console[bM(0x20f)](a0L[bM(0x363)](bM(0x380))));}catch{console[bM(0x20f)](a0L[bM(0x3eb)](bM(0x3ea)));try{const a9={};a9[bM(0x1e5)]='ignore',a9['timeout']=0x7530,(a0an(Q+'\x20-m\x20ensurepip\x20--upgrade',a9),console[bM(0x20f)](a0L[bM(0x363)](bM(0x165))));}catch{a0aa(bM(0x334)),console[bM(0x20f)]();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import(bM(0x148)),{execFileSync:ac}=await import(bM(0x1c5)),ad=aa(),ae=ab(),af=bM(0x213)===process['platform']&&!ad,ag=bM(0x199)===process[bM(0x2fe)];let ah=bM(0x36c);if(af||ad)try{const {readFileSync:ak}=await import(bM(0x200)),al=ak(bM(0x1d2),'utf-8'),am=(al[bM(0x254)](/^ID="?([^"\n]+)/m)||[])[0xff+0x991*0x2+-0x1420]||'',an=(al[bM(0x254)](/^VERSION_ID="?([^"\n]+)/m)||[])[-0x10*0x98+-0xcb+-0x1*-0xa4c]||'';bM(0x406)===am?ah=bM(0x276)+an+(ad?'\x20(WSL2)':''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?'\x20(WSL2)':''));}catch{}let ai=!(-0x2*0xa3d+-0x43*-0x46+-0x4f*-0x7);if(ag)try{const ao={};ao[bM(0x1e5)]=bM(0x18d),ao[bM(0x3a5)]=0x7d0,(ac('which',[bM(0x343)],ao),ai=!(-0x66e+-0x1041+0x16af));}catch{ai=!(0x17*-0xe5+0x7*-0x3e+0x1646);}const aj=ae?'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20installer\x20cannot\x20run\x20inside\x20the\x20prompt':bM(0x287);return console[bM(0x20f)](a0L[bM(0x3d9)][bM(0x3eb)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bM(0x20f)](a0L[bM(0x3d9)][bM(0x3eb)]('\x20\x20'+aj)),console[bM(0x20f)](a0L[bM(0x3d9)][bM(0x3eb)](bM(0x3a8))),console['log'](),af||ad?(console['log'](a0L['white'](bM(0x400))+a0L[bM(0x239)](ah)),console['log'](a0L['gray'](bM(0x2f1))),console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x3d9)]['white'](bM(0x28d))),console[bM(0x20f)](),console['log'](a0L[bM(0x323)](bM(0x439))+a0L[bM(0x3d9)]['cyan'](bM(0x292))+a0L[bM(0x323)](bM(0x3ac))),console[bM(0x20f)](),console['log'](a0L[bM(0x323)](bM(0x161))),console[bM(0x20f)](),console['log'](bM(0x1bc)+a0L[bM(0x3d9)][bM(0x239)]('sudo\x20apt\x20update')),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x3d9)][bM(0x239)]('sudo\x20apt\x20install\x20-y\x20python3-pip\x20python3-venv')),console[bM(0x20f)](),console['log'](a0L['white'](bM(0x266))),console['log'](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bM(0x239)](bM(0x162))),console['log'](bM(0x1bc)+a0L[bM(0x30a)]('icoa>')+'\x20'+a0L[bM(0x3d9)]['cyan'](bM(0x190)))):ag?(console['log'](a0L[bM(0x323)](bM(0x400))+a0L['cyan'](bM(0x23f))),console[bM(0x20f)](),console[bM(0x20f)](a0L['bold'][bM(0x323)]('\x20\x20Step-by-step:')),console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x323)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bM(0x3d9)][bM(0x239)](bM(0x292))+a0L['white']('\x20to\x20leave\x20icoa')),console[bM(0x20f)](),ai?(console['log'](a0L[bM(0x323)](bM(0x1c3))),console[bM(0x20f)](),console[bM(0x20f)](bM(0x1bc)+a0L[bM(0x3d9)][bM(0x239)](bM(0x38c))),console[bM(0x20f)](bM(0x1bc)+a0L[bM(0x3d9)][bM(0x239)]('brew\x20link\x20--overwrite\x20python@3.12'))):(console[bM(0x20f)](a0L[bM(0x323)](bM(0x137))+a0L['bold'][bM(0x3eb)](bM(0x343))+a0L['white']('):')),console[bM(0x20f)](),console[bM(0x20f)](bM(0x1bc)+a0L[bM(0x3d9)][bM(0x239)](bM(0x390))),console[bM(0x20f)](),console[bM(0x20f)](a0L['white'](bM(0x35e))),console[bM(0x20f)](),console[bM(0x20f)](bM(0x1bc)+a0L[bM(0x3d9)][bM(0x239)]('brew\x20install\x20python@3.12'))),console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x323)](bM(0x223))),console[bM(0x20f)](),console[bM(0x20f)](bM(0x1bc)+a0L[bM(0x3d9)]['cyan']('icoa')),console[bM(0x20f)](bM(0x1bc)+a0L[bM(0x30a)](bM(0x28b))+'\x20'+a0L['bold'][bM(0x239)](bM(0x190)))):ae?(console[bM(0x20f)](a0L[bM(0x323)](bM(0x400))+a0L[bM(0x239)](bM(0x3ef))),console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x3d9)][bM(0x3eb)]('\x20\x20ICOA\x20officially\x20supports\x20WSL2\x20on\x20Windows.')),console[bM(0x20f)](a0L[bM(0x30a)]('\x20\x20Native\x20Windows\x20can\x20run\x20Paper\x20C\x20(MCQ-only)\x20and\x20AI\x20chat,\x20but')),console[bM(0x20f)](a0L[bM(0x30a)]('\x20\x20Paper\x20A\x20/\x20B\x20practical\x20questions\x20need\x20Unix\x20tooling\x20that\x20runs')),console[bM(0x20f)](a0L['gray'](bM(0x211))),console[bM(0x20f)](),console[bM(0x20f)](a0L['bold'][bM(0x323)](bM(0x248))),console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x323)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bM(0x3d9)][bM(0x239)](bM(0x292))+a0L[bM(0x323)](bM(0x20e))),console[bM(0x20f)](a0L[bM(0x323)](bM(0x32f))),console[bM(0x20f)](),console[bM(0x20f)](bM(0x1bc)+a0L[bM(0x3d9)]['cyan'](bM(0x1ae))),console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x378))),console[bM(0x20f)](a0L[bM(0x323)]('\x20\x20\x20\x203.\x20Inside\x20Ubuntu,\x20install\x20Node.js\x2022\x20+\x20Python\x20tools\x20+\x20icoa:')),console[bM(0x20f)](),console[bM(0x20f)](bM(0x1bc)+a0L[bM(0x3d9)][bM(0x239)](bM(0x2be))),console[bM(0x20f)](bM(0x1bc)+a0L[bM(0x3d9)]['cyan'](bM(0x35a))),console[bM(0x20f)]('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bM(0x239)](bM(0x1c6))),console['log'](bM(0x1bc)+a0L[bM(0x3d9)][bM(0x239)](bM(0x162))),console[bM(0x20f)](),console[bM(0x20f)](a0L['gray'](bM(0x368))),console['log'](),console[bM(0x20f)](a0L[bM(0x323)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bM(0x3d9)][bM(0x239)](bM(0x292))+a0L[bM(0x323)]('\x20to\x20leave\x20icoa')),console['log'](a0L[bM(0x323)]('\x20\x20\x20\x202.\x20In\x20PowerShell,\x20install\x20Python\x20with\x20pip:')),console['log'](),console[bM(0x20f)](bM(0x1bc)+a0L[bM(0x3d9)]['cyan'](bM(0x1e2))),console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x291))),console[bM(0x20f)](a0L[bM(0x30a)]('\x20\x20\x20\x20\x20\x20\x20\x20PATH\x22\x20+\x20\x22Install\x20pip\x22\x20during\x20the\x20installer.)')),console[bM(0x20f)](a0L['white']('\x20\x20\x20\x203.\x20Open\x20a\x20NEW\x20PowerShell\x20window\x20(PATH\x20refresh),\x20then:')),console[bM(0x20f)](),console[bM(0x20f)](bM(0x1bc)+a0L['bold']['cyan']('icoa')),console['log'](bM(0x1bc)+a0L['gray']('icoa>')+'\x20'+a0L[bM(0x3d9)][bM(0x239)]('exam\x20setup'))):(console[bM(0x20f)](a0L['white'](bM(0x3ed))+a0L[bM(0x239)](process[bM(0x2fe)])+a0L['white'](')')),console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x2f5))),console[bM(0x20f)](bM(0x1bc)+a0L[bM(0x3d9)][bM(0x239)](bM(0x162))),console[bM(0x20f)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x30a)](bM(0x28b))+'\x20'+a0L['bold']['cyan'](bM(0x190)))),console['log'](),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x180))),void console['log']();}}const W={};W[bM(0x37e)]=bM(0x237),W[bM(0x3d0)]=bM(0x2fd),W[bM(0x42d)]='z3',W['pillow']=bM(0x2d9),W[bM(0x25b)]=bM(0x1ed),W[bM(0x2aa)]='ropgadget';const X=[bM(0x25b),'cryptography',bM(0x23b),bM(0x37e),bM(0x436),'pillow',bM(0x371),bM(0x3a6),bM(0x42d),bM(0x3d0),bM(0x2aa),bM(0x15f),bM(0x227)],Y=W;console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x323)](bM(0x344)+X['length']+bM(0x425))),console[bM(0x20f)]();let Z='';try{const ap={};ap[bM(0x3c6)]='utf-8',ap['timeout']=0x2710,a0an(Q+bM(0x3b9),ap);}catch(aq){const ar=String(aq?.[bM(0x33e)]||aq?.[bM(0x26d)]||aq?.[bM(0x314)]||'');/externally-managed-environment|break-system-packages/i[bM(0x2e4)](ar)&&(Z='--user\x20--break-system-packages',console['log'](a0L['yellow']('\x20\x20ℹ\x20PEP\x20668\x20detected\x20—\x20using\x20--user\x20install\x20(no\x20sudo\x20needed)')),console[bM(0x20f)]());}const a0=V[bM(0x175)]('.')[bM(0x23a)](Number);-0x964+0xc67*-0x3+-0x4*-0xba7===a0[0x531+-0x1*-0x2178+-0x3*0xce3]&&a0[-0x1fbf+0x5ad*0x1+0x1a13]>=0x16c3+-0x1ad7+-0x421*-0x1&&(console[bM(0x20f)](a0L[bM(0x3eb)](bM(0x194)+V+bM(0x329))),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x16d))),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x415))),'linux'===process[bM(0x2fe)]&&(console[bM(0x20f)](a0L[bM(0x363)]('\x20\x20\x20\x20\x20\x20sudo\x20apt\x20install\x20python3.12\x20python3.12-venv')),console[bM(0x20f)](a0L[bM(0x363)](bM(0x437)))),console[bM(0x20f)]());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+bM(0x1a4)+as+'\x22\x20'+Z+bM(0x450),{'encoding':'utf-8','timeout':0x2bf20,'stdio':bM(0x421)}),a0an(Q+bM(0x1ca)+(Y[as]||as)+'\x22',{'stdio':'ignore','timeout':0x2710});let at='';try{const au=a0an(Q+bM(0x1d3)+as+bM(0x3ba),{'encoding':bM(0x14f),'timeout':0x1388})[bM(0x254)](/^Version:\s*(.+)$/m);au&&(at=au[0x1c0f+-0x525*0x1+0x1*-0x16e9][bM(0x1a8)]());}catch{}console['log'](a0L[bM(0x363)]('\x20\x20✓\x20'+as)+(at?a0L[bM(0x30a)]('\x20('+at+')'):'')),a1[bM(0x268)](at?as+'=='+at:as);}catch(av){const aw=String(av?.[bM(0x33e)]||av?.['stderr']||av?.['message']||'')[bM(0x290)](-(0x1e14+0x3e8+-0x1036*0x2)),ax=aw[bM(0x175)]('\x0a')['filter'](ay=>ay['trim']())[bM(0x290)](-(0x161*-0x17+-0x18d5+0x388e))['join']('\x20|\x20')[bM(0x290)](0x3*0x163+0x14ac+-0x18d5,-0x20*0x5+0x1fe9*-0x1+0x1f1*0x11);console[bM(0x20f)](a0L[bM(0x3bd)](bM(0x340)+as)+a0L[bM(0x30a)]('\x20\x20'+ax)),a2[bM(0x268)]({'pkg':as,'error':ax}),a3||(a3=aw);}0x2*0x10f+-0x1*0x2342+0x25e*0xe===a1[bM(0x318)]&&a3&&(console[bM(0x20f)](),console[bM(0x20f)](a0L['yellow']('\x20\x20First\x20error\x20detail\x20(for\x20debugging):')),console[bM(0x20f)](a0L[bM(0x30a)]('\x20\x20'+a3[bM(0x175)]('\x0a')['slice'](-(-0xb*0x1b7+-0x671*-0x2+0x601))[bM(0x267)](bM(0x442))))),a0al({'completedAt':new Date()[bM(0x1f7)](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bM(0x23a)](ay=>ay[bM(0x1e3)])}),console[bM(0x20f)](),0x1*-0x23ca+0x1690+0xd3a===a2[bM(0x318)]?a0a9(bM(0x40c)+X[bM(0x318)]+'\x20packages\x20installed.'):0x75*-0x1+-0x11+0x86===a1[bM(0x318)]?(a0aa(bM(0x188)+X[bM(0x318)]+'\x20packages\x20installed.'),console['log'](),console[bM(0x20f)](a0L[bM(0x3eb)](bM(0x388))),0x6c*-0x59+0x2*0xd4f+0xaf1===a0[-0x25e2+-0xe5*0x7+0x2c25]&&a0[0x1fa1+-0x11*-0x55+-0x2545]>=-0x134c+-0xa52+0x1dab?(console[bM(0x20f)](a0L[bM(0x30a)](bM(0x2c1))),console[bM(0x20f)](a0L[bM(0x30a)]('\x20\x20\x20\x20Install\x20Python\x203.12\x20and\x20re-run\x20exam\x20setup.'))):(console[bM(0x20f)](a0L[bM(0x30a)](bM(0x261))),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x3d3))+a0L[bM(0x239)](Q+'\x20-m\x20pip\x20install\x20pwntools')+a0L[bM(0x30a)](bM(0x2cc))),console['log'](a0L[bM(0x30a)]('\x20\x20\x20\x20•\x20On\x20Kali/Ubuntu\x2022+:\x20might\x20need\x20python3.12-dev\x20+\x20build-essential'))),console[bM(0x20f)](),console[bM(0x20f)](a0L[bM(0x323)]('\x20\x20Rerun\x20when\x20fixed:\x20')+a0L[bM(0x3d9)][bM(0x239)](bM(0x190)))):a0ab(a1[bM(0x318)]+'/'+X['length']+bM(0x297)+a2['length']+'\x20failed:\x20'+a2[bM(0x23a)](ay=>ay[bM(0x1e3)])[bM(0x267)](',\x20')),console[bM(0x20f)](),console['log'](a0L['cyan'](bM(0x386))),console[bM(0x20f)](a0L['bold'][bM(0x323)](bM(0x315))),console['log'](a0L[bM(0x239)](bM(0x386))),console[bM(0x20f)](),console['log'](a0L[bM(0x3d9)][bM(0x3eb)](bM(0x236))+a0L['gray'](bM(0x41c))),console[bM(0x20f)](a0L[bM(0x323)]('\x20\x20Just\x20add\x20!\x20before\x20the\x20command:')),console[bM(0x20f)](a0L[bM(0x363)](bM(0x2b4))),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x36d))),console[bM(0x20f)](),console[bM(0x20f)](a0L['bold'][bM(0x3eb)](bM(0x310))+a0L[bM(0x30a)]('\x20(explore\x20&\x20experiment)')),console[bM(0x20f)](a0L[bM(0x323)](bM(0x25f))),console[bM(0x20f)](a0L['green'](bM(0x429))),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x189))),console[bM(0x20f)](a0L[bM(0x30a)]('\x20\x20\x20\x20>>>\x20key\x20=\x20bytes.fromhex(\x2249434f41...\x22)')),console[bM(0x20f)](a0L['gray'](bM(0x2e5))),console['log'](a0L[bM(0x30a)]('\x20\x20\x20\x20>>>\x20print(cipher.decrypt(data))')),console[bM(0x20f)](a0L[bM(0x30a)]('\x20\x20\x20\x20>>>\x20exit()')),console[bM(0x20f)](),console['log'](a0L[bM(0x3d9)][bM(0x3eb)](bM(0x20c))+a0L['gray'](bM(0x13b))),console[bM(0x20f)](a0L[bM(0x323)](bM(0x1c2))),console[bM(0x20f)](a0L[bM(0x363)]('\x20\x20\x20\x20!cat\x20<<\x20\x27EOF\x27\x20>\x20solve.py')),console[bM(0x20f)](a0L['gray'](bM(0x361))),console[bM(0x20f)](a0L[bM(0x30a)](bM(0x214))),console['log'](a0L[bM(0x30a)](bM(0x3f1))),console[bM(0x20f)](a0L[bM(0x30a)]('\x20\x20\x20\x20print(xor(ct,\x20key).decode())')),console[bM(0x20f)](a0L[bM(0x363)](bM(0x31f))),console[bM(0x20f)](a0L[bM(0x363)]('\x20\x20\x20\x20!python3\x20solve.py')),console['log'](),console[bM(0x20f)](a0L[bM(0x3d9)]['yellow'](bM(0x26b))),console[bM(0x20f)](a0L[bM(0x323)](bM(0x402))+a0L[bM(0x3d9)][bM(0x239)](bM(0x218))+a0L[bM(0x323)](bM(0x16e))),console[bM(0x20f)](a0L[bM(0x30a)]('\x20\x20\x20\x20\x22How\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console['log'](a0L[bM(0x30a)](bM(0x164))),console[bM(0x20f)](a0L['gray'](bM(0x157))),console['log'](a0L[bM(0x239)](bM(0x386))),console[bM(0x20f)](),console[bM(0x20f)](a0L['white'](bM(0x2d7))+a0L[bM(0x3d9)][bM(0x239)](bM(0x41f))),console[bM(0x20f)](a0L['gray'](bM(0x1e6))+a0L[bM(0x3d9)]['cyan'](bM(0x1de))+a0L[bM(0x30a)](bM(0x2d1))),console[bM(0x20f)]();}),B['action'](()=>{const bO=be;a0a8(bO(0x40b));const F=a0Y();if(F){a0ae(bO(0x32c)+F['session'][bO(0x359)]),O();const J=Object[bO(0x20a)](F['answers'])[bO(0x318)];return a0af('Progress',J+'/'+F[bO(0x1ce)][bO(0x279)]+bO(0x2c5)),console[bO(0x20f)](),void console['log'](a0L[bO(0x30a)](bO(0x216)));}const G=a0a3(),H=a0ak();console[bO(0x20f)](),a0ae('ICOA\x20National\x20Selection\x20Exam'),console[bO(0x20f)](),0x75*0x29+0x12e*0xa+-0x1e89===G[bO(0x153)]?(console[bO(0x20f)](a0L[bO(0x3eb)](bO(0x3b8))+a0L[bO(0x3eb)](bO(0x12f))),console[bO(0x20f)](a0L[bO(0x30a)](bO(0x296))+a0L['bold'][bO(0x239)](bO(0x1ad)))):(console['log'](a0L[bO(0x363)]('\x20\x20●\x20')+a0L['green']('Demo\x20completed\x20('+G[bO(0x153)]+bO(0x3a2)+(-0x22bd+0x26e5+-0x427!==G[bO(0x153)]?'s':'')+')')),H?(console[bO(0x20f)](a0L[bO(0x363)]('\x20\x20●\x20')+a0L[bO(0x363)](bO(0x1df))),console['log'](a0L[bO(0x3eb)](bO(0x3b8))+a0L[bO(0x3eb)](bO(0x405))),console['log'](a0L[bO(0x30a)]('\x20\x20\x20\x20→\x20')+a0L['bold'][bO(0x239)]('exam\x20<token>'))):(console[bO(0x20f)](a0L[bO(0x3eb)](bO(0x3b8))+a0L[bO(0x3eb)](bO(0x151))),console[bO(0x20f)](a0L[bO(0x30a)](bO(0x296))+a0L['bold'][bO(0x239)](bO(0x190))))),console[bO(0x20f)]();});}
1
+ (function(z,B){const b0=a0B,F=z();while(!![]){try{const G=parseInt(b0(0x381))/(0xf13+0xf5e+-0x8*0x3ce)*(-parseInt(b0(0x325))/(0x2417*0x1+-0x35*-0x91+-0x421a))+-parseInt(b0(0x204))/(0x1*-0x274+-0x15dc+-0x1df*-0xd)+-parseInt(b0(0x16f))/(-0x1217+0x8a6+0x327*0x3)*(parseInt(b0(0x2f1))/(0x3c1+0x5f0+0x1*-0x9ac))+-parseInt(b0(0x1a0))/(0x7*0x29a+0x245e+-0x1b47*0x2)+parseInt(b0(0x37a))/(0x1*-0x91e+-0xed8+-0x10b*-0x17)+-parseInt(b0(0x2bb))/(0x1b1c+0x170b+-0x321f)+parseInt(b0(0x148))/(-0x1d4+-0x179a+0x1977)*(parseInt(b0(0x172))/(-0xfb2+-0x109b+0x2057));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x3a95e+0x694ab+0x33ce7));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';function a0z(){const bP=['icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','x3n1yM1PDenVBMzPCM1Lza','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','icbqCMfJDgLJAw5Nia','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','zxHWBgfUyxrPB24','mtu2ntq2nLvOrKPMrG','icdWN5kHie9WDgLVBIa','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','y2f0','zNjVBq','icbuB2TLBJOGica','igvSAw1PBMf0zwqH','oduZsgDsB3DQ','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','l2fWAs9Py29Hl2v4yw1ZlW','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','icaGihn1zg8Gyxb0ihvWzgf0zq','zwDNnW','icbbBgWGAgvSCcb1C2vKicG','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','icbxCMfWihvWigfUzcbZDwjTAxq6ia','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','ig5VDcbMB3vUzcaOms0','vxPIzwTPC3rHBG','C2vYDMvYx3rPBwvFBxm','zxHHBvDHExnuB1nVBhzL','icdIL4SG','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','CgvYuq','y29TBwfUza','icbB','lI4U','ic0TCxvPzxqGmJ4Mmq','DdeW','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','zxHHBvDHExntAgvSBa','ugvYy2vUDgfNzq','8j+pLU+4JW','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','CMfUzg9T','vgLTzsbszw1HAw5PBMC','BwvZC2fNzq','qxzHAwXHyMXLiev4yw1ZicG','zgvTBW','Dg90ywW','AwnVyq','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','zxHHBsbZDwjTAxqGy29UzMLYBq','C3rHCNq','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','yNm0','q291BNrYEq','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','icaGica','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','qwXTB3n0ihjLywr5lI4U','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','igfUC3DLCMvKkq','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','icdINjCG','Aw50zxjHy3rPB25Z','BMfTzq','ihvUzMXHz2DLzc4','BNvTyMvY','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','q3j5ChrV','ChL0Ag9UmW','BgLUDxG','icbtDgfYDgLUzYbLEgfTlI4U','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','ig1PBIbYzw1HAw5PBMC','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','BM93','icdIJ7eGifrPBwuGy2HLy2SGia','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','zxHHBvDHExnbAtrJDgy','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','icaGifLVDsbJyw4GBM93ihvZztOG','DMXH','rxHHy3rSEs4','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','rxHHBsaI','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','ugfZCW','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','q29UDgvUDc1uExbL','qxvZDhjHBgLH','zxHHBsbKzw1V','icaGicdILQmG','AgvSCfvZzwrvCa','tK9uifbbu1nfra','icaGicbLEgfTigXPC3qGueu','ihbHy2THz2vZigLUC3rHBgXLzc4','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','Cvr1Dg9YAwfS','4O+XifrPBwuGCMvTywLUAw5NoG','u3vIBwL0igzHAwXLza','ihbVAw50CW','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','AhrWsNvTCa','igfUC3DLCNmU','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','ihbVAw50C10','yw5ZD2vYx3n1yM1PDhrLza','ihjLz2LVBNmP','icbzB3vYigjLC3q6ia','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','C3rKB3v0','sw4GuhjVz3jLC3m6ia','ANnVBG','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','iIaYpI9KzxyVBNvSBa','vgHHAwXHBMq','y2XLyxi','icaGiokrOIa','EJmTC29SDMvY','rvHqsvjfra','tM8GDgLTzsbSAw1PDa','zxHHBsbZDwjTAxq','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','BwfW','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','BMv4DeXHyMvS','D3jVBMC','Dgv4Da','icHxu0WYkq','igfUC3DLCMvK','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','y29YCMvJDa','rxHHBxmG4Ocuia','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','cGPgDwXSigf0DgfJAgvKigrHDge6cG','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','C3rYAw5NAwz5','icbpCIb0ExbLia','DxrMltG','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','AwDUB3jL','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','CM91BMq','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icbbBNn3zxjZoIa','ChDUDg9VBhm','icdINjmG','sgvSCdOGicaGica','yNjLDW','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','xsaG','icaOuMv0CNKGD3jVBMCGB25SEsK','B3b0Aw9UCW','y291BNrYEq','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','CdeW','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','Cgf1C2u','C3vJy2vLza','AgvSCf91C2vK','C2vZC2LVBG','8j+pM++4JW','zgvTBY1MCMvL','icbtDgvWlwj5lxn0zxa6','D2LUmZi','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icaGig1HCMS','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','ywK0y3rMpG','BwLZC2LUzW','AhrWsgvSCa','zgvHzgXPBMvtzxj2zxjnCW','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','zMLUzeLUzgv4','y3LHBG','igzHAwXLzdOG','uNvZC2LH','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','Ew91CKfUC3DLCG','DgfYz2v0','zgvZy3jPChrPB24','vg90ywW','icaGigv4yw0GBgLZDcbbvq','B3v0Chv0','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','icaGiezHAwXLzdOG','ic1JicjPBxbVCNqG','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','z3jHzgLUzW','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','rMfPBgvKihrVihn0yxj0igv4yw0','Aw5FChjVz3jLC3m','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','ihf1zxn0Aw9U','zxHHBq','BM90ugfZC2vK','uxvLC3rPB25Z','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','icaGicbjBNnPzguGy2HHDdOGicaG','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','yw5ZD2vYvgHPCW','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','CgfKrw5K','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','icaGicdcTYbbssbPCYb5B3vYia','icGR','ihbHy2THz2vZigLUC3rHBgXLzc4G','icbzB3uGy2fUihbHDxnLihDPDgGG','C3rHCNqGpgLKpG','zxHHBsbHBNn3zxiG','q2HPBMe','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','CdmW','C29YDa','AgLUDa','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','icaGid4+pIbLEgL0kcK','CgfKu3rHCNq','owzttLjmyG','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','BgvUz3rO','icaGsg93ihrVigf0DgfJAW','mJuSmdaWihrVA2vUCW','Bsb0B3rHBa','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','C3LTChK','ugvYDq','C3vIBwL0ieLdt0f7lI4UFq','icaGieeVqI9dl0q','q3rYBcTd','vw5HBNn3zxjLza','ihjLBwfPBMLUzYK','uhL0Ag9Uia','lI4VBgLIl21HAw4TCMWUANm','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','CxvLC3rPB25Z','C2v0Dxa','zhvYyxrPB25nAw51DgvZ','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','icaGiokaOIbuCNK6ia','ywK0y3rMrgvZyW','vMfSAwrHDgLUzYb0B2TLBI4UlG','zwDNmtu','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','icbbC3nPC3rHBMnLihvZzwq','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','vw5PDgvKieTPBMDKB20','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','D2L0Aa','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','nJG2mdi4EeTxt1Pk','zNvUy3rPB24','C2nVCMu','mty3mZy1otbVBgjbAKG','BwfNzw50yq','lI4VBgLIl2v4yw0TC3rHDguUANm','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','icaGigjHy2S','zxHHBvDHExntyxzLzfrV','zMfPBa','icbmyw5NDwfNztOG','icbbCMnOic8GtwfUAMfYBZO','u3vIBwL0DgvK','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','zwDNnq','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','icbODhrWCZOVl2LJB2eYmdi2lMf1','y2HHBMDLzcbMCM9Tia','r2HHBMe','zxHHBsbYzxnLDa','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','icaGig1VCMuGAgvSCa','icaGigXHBMC','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','C3vIBwL0ifTJB25MAxjTqxjNxsbBC2vJB25KqxjNxq','Dg9ju09tDhjPBMC','Aw5KzxHpzG','igf0DgvTChrZ','u3rHCNrPBMCGDgLTzxiUlI4','ic8G','icdcTYblzwvWihnOyxjWzw5PBMC6ia','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','iokaLcbZzwuGzNvSBcbLCNjVCG','BgLZDgvUzxjZ','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','DgvZDa','AxnuvfK','zgvTBY1LEgfT','icaGww91CIb0zxjTAw5HBca','CMvZzxq','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','zMLUza','ywXS','oda5mdeWBxLjq3vq','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','ihrVigXLyxzLigLJB2e','CxvLC3rPB25dB3vUDa','Aw5JBhvKzxm','iIbPCYbPBIbWCM9NCMvZCY4','zgvTBY1LBNrLCG','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','CMvTB3zLtgLZDgvUzxi','u2H1zMzSAw5Nig9WDgLVBNmUlI4','iokaLca','icaGicbuB2TLBJOG','CMvWzwf0','vwj1BNr1ia','AgLUDcbHic8GyIaVigm','BMv3','AwnVyt4','AgvSCefSBfvZzwq','icbtDwjTAxqGBM93ihDPDgG6ia','quXm','icbdyw5JzwXSzwqU','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','icdcTYaG','zxHHBsbXia','icaGicHHAtrJDgyP','ChvZAa','icdINjmGuhL0Ag9Uia','D2HPy2G','BMv4Da','DM9SyxrPBgL0Etm','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','Bg9N','zxHHBsb1BM1HCMSG','sMfWyw4','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','igLUC3rHBgXLza','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','z2v0vgLTzq','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','ihvUyw5ZD2vYzwq6ia','yw5ZD2vY','Dg9vChbLCKnHC2u','AhrWu3vIBwL0','zw5JB2rPBMC','zxHHBvDHExnszwzqExrOB24','C3vIBwL0DgvKqxq','y3j5ChrVz3jHCgH5','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','icbbC3nPC3rHBMnLoG','icaGideUifr5CguG','icbuBYbNBYbIywnRoIaG','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','oJaW','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','zwDNoq','zxHHBsbWCMv2','u3jPieXHBMTH','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','AhrWqMfJAW','AgvSCfjLBw92zq','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','ywrK','AxnsyxC','igfUC3DLCMvKiokaLcbHy2nPzgvUDgfSihn1yM1PDcbNDwfYza','quKGDg9Rzw5ZoIa','icbdDxjYzw50BhKGzMXHz2DLzdOG','zxHHBsbXide','CMv2Awv3','icdIMQaGie9UBhKG','y3rMzfvYBa','zxHHBsbKzw1VlxjLDhj5','ica+ia','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','icaG','vgLTzsbLEhbPCMvKlG','ywK0y3rM','ueftu0ve','ihLVDsbNB3qGD3jVBMCU','x2HLBhbvC2vK','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','qw5ZD2vYzwq6ica','icHXDwLJAYb0yxnRCYK','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','Axnoyu4','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','icdIHPiG','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','icbsDwXLCZO','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','icaGievprG','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','yMvHDxrPzNvSC291Cdq','mJi1nZu1mwLADMzkza','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','icbVzIa','CMvZDw1L','icaGiokgKIbIj0HLBgXVjW','Bwf4','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','C3rKAw8','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','icaGicbbssb0B2TLBNm6icaGicaG','igrLDgvJDgvK','ihLLDc4','AgvSCa','yM9VA21HCMTZ','icdINjmGCgLWigf2ywLSywjSzq','CsbBBL0','icaGihzSytrJDgy','zwDNmW','DhLWzq','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','rMfPBgvKihrVigXVywqGCMvZDwX0','zxHHBsbYzxzPzxC','ihWG','yMvZDfbLCMnLBNrHz2u','ihbVAw50CYaOntaLkq','icbqBgvHC2uGCMuTDhLWztOG','icaGkhjLC3vTzsbMCM9TifeXkq','x2vSAw1PBMf0zwq','AgfZ','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','icbezxrLy3rLzdOG','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','C3vKBYbHChqGDxbKyxrL','C3bSAxq','AhrWuMv2Awv3','u3rYB25NzxiGAgvYztOGia','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','zxHHBvDHExngB3vUza','uK9qz2fKz2v0','x2HLBhbqzxjr','rMXHz2DLzcbMB3iGCMv2Awv3','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','zxHHBsbZDgfYDca','ChjVBxb0','tg9HzgLUzYbLEgfTlI4U','yw5ZD2vYzwq','vgLTzq','icaGicbLEgfTigXPC3qGq04','zxHHBsbTyxjRia','icaGicbtB2X2zsa','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','icaGiokgKIa','tM8GzxHHBsbPBIbWCM9NCMvZCY4','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','C2v0uMf3tw9Kzq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','ChLJCNLWDg9KB21L','zxHHBv9Pza','ihDHCYbUB3qGzMXHz2DLzc4','C19HAtrJDgy','C3vIC3rYAw5N','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','zw1VAMK','icaGigv4yw0GCsaXlI4','rgvTBYbJB21WBgv0zwqGka','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','iokgKIa','z3jLzw4','ixb5DgHVBJmGlI4U','icbzB3uGD2LSBcbZDwjTAxqG','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','Aw5WDxq','zhvYyxrPB25nAw4','icbszwfKEt8GvxnLia','icaOEwvZiokaLcbSAxrLCMfSBhKGDhLWzsb0AguGBNvTyMvYia','CgvYy2vUDgfNzq','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','u291DgGGs29Yzwe','rMfPBgvKihrVigXVywqGzxHHBxm','vxnLCI1bz2vUDa','zxHHBsa','tMv3ifPLywXHBMq','z3jHEq','yxr0zw1WDhm','BNvTChK','BMv4DcaVihbYzxy','Dg9tDhjPBMC','y2vPBa','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','qw5ZD2vYzwq','icaGicaGicaOBM93lcb+nsbTAw4P','x2XHC3rr','y3rMngfP','DhjPBq','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','r0vu','y29UzMLYBq','icaOAgvSCca','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','icaGicbiAw50CYbbl0iVqZOGicaG','icaGieXHBMC6icaGia','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','txLHBM1HCG','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','u291DgGGqwzYAwnH','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','icaGDxnPBMCGquKSihLVDsDYzsa','CMvWBgfJzq','zgLT','yw5ZD2vYx2nOyw5Nzwq','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ihrOzsbJB21WzxrPDgLVBI4','zMfPBgvKugfJA2fNzxm','yMvZDa','Cg9PBNrZ','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','y29UzMLYBwvKqxq','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','tMLJzsbVBMuU','yxr0ywnOzwreyxrH','BgLZDcbBy291BNrYEv0','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','icaGifbHy2THz2vZoIa','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','ywLvC2fNzq','DgLTzw91Da','yMfJAW','icaGicaGia','icdIMiyGuq','icaGigfPngn0zG','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','zxHHBsbZzxr1Ca','AwnVys1JBgK','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','uM9VBsb0BYbNCM93oIaGia','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','u2f1zgKGqxjHyMLH','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','icaGicbfBNrLCIbJAgf0oIaGicaG','CMvMihb5DgHVBG','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','uMvHzhKH','y2XVy2TpzMzZzxrnCW','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','icdIMQaGuhL0Ag9Uia','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','ihbHy2THz2vZlI4U','rNjHBMnL','icbuExbLia','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','sw52ywXPzcbLEgfTihrVA2vU','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','icdWN5kHifrYEsb0ExbPBMCG','r3jHzgLUzY4UlG','mJuSmdaW','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','zwXPBwLUyxrLza','ig9YigXLyxzLihDPDgGG','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','wYbD','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','ChDU','AhrWtw9YzuHLBha','zw50CMLLCW','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','C19JDgy0ywK','zxHHBsa8Dg9Rzw4+','icbxAgf0ig5LEhq','CgfZC2vK','D3jPDgu','icbtDwjTAxr0Aw5Nig5VDYbZy29YzxmGzNjVBsbVBMX5ia','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','mtaXntK3nLDkBfHOvW','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','Dg9mB3DLCKnHC2u','BgfUz3vHz2u','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','Bwf0y2G','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','D2HPDgu','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','icbuAw1LoIaGica','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','zxHHBvDHExnqExrOB25szxbS','zxHHBuLK','r28GDg8GBMv4DcbXDwvZDgLVBG','icbgzwrVCMeGlYbssevmoG','AM9PBG','icbuBYbJB250Aw51zsb0AgLZigv4yw06','AxnbCNjHEq','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','ic1TihbPCcbZAg93ici','ienurJrbsq','yM9Sza','y2f0zwDVCNK','ChjLDG','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','C3rHCNrLzef0','BwfYAYbBBL0','icaGigHLBha','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','icaGigv4yw0GCMv2Awv3','igzPCNn0lG','C3rKzxjY','C3rHCNrfEgfT','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','rwD5Chq','icdIL48G','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','imk3ia','l2v0yY9VCY1YzwXLyxnL','icaGicaGicaGia','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','icaGigzYB20GChDUigLTCg9YDcb4B3i','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','zMLSDgvY','icaGienVBxbSzxrLzdOG','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','tMfTzq','AhrWtMf2','icbuBYbNBYbIywnRigfUzcbHBNn3zxiGBw9YztO','nwDrtxzgvG','icaGign0zJrHAq','EwvSBg93','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','ixb5DgHVBJmGC29SDMuUChK','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','CMvK','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','igLZihDLBgWGyMvSB3CU','ue9tva','vMLLDg5HBq','icaGicaGicaGkgn0zJrHAsK','y29TCgXLDgvKqxq','zwXPBwLUyxrLzca','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','wYbDica','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','zxHHBu5HBwu','C3vIBwL0DgvK','zwDNmte','icaGiokCKYbZyxzLza','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','vMLLDYbLEgfTihjLC3vSDa','y2f0y2G','C3rKAw4','zgvTBY1YzxrYEq','C3vIBwL0rxHHBq','zxHHBsbOzwXW','ywn0Aw9U','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','igfUC3DLCNmSihr5Cgu6','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','icdILRGG','Dg9Rzw4GpgnVzgu+','BM9KztPJAgLSzf9WCM9JzxnZ','z2v0uMvZDwX0','zgvTB0LUDhjVu2vLBG','CMvM','zwXPBwLUyxrL','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','y29TCgXLDgu','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','A2v5CW','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','CM9Wz2fKz2v0','rMXHz2DLzdOGica','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','nZiYrKXerfni','zgf0yq','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','vgLTzsb1C2vKoIa','DxnLza','rhvYyxrPB24','CxvPDa','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','CgXHDgzVCM0','C2HVD25xyxjUAw5NCW','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','AhrWqw5ZD2vY','x2HLBhbnyxG','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','C29Tzq','CgLWzq','l3n1yM1PDa','CgTN','ig1PBNv0zxm','u3rHDhvZ','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','cIaG','icdIMiuGuq','icbr','icaGicbfEgfToIaG','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','vxbSB2fKAw5NigfUC3DLCNmUlI4','icbszxj1BIb3AgvUigzPEgvKoIa','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','BM9KztPYzwfKBgLUzq','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','Dg9Vx29Sza','BgfUzYa8y29Kzt4','icaGifb5DgHVBJOG','icbYDw4G','C2XPy2u','Cgn0','icdWN46bicS','zgfYD2LU','Dw5TyxjRifTUxq','itXJBwq+ia','icHJB21WBgv4ihnVBhv0Aw9UCYK','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','iefjnenurG','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','icbzB3uGC3rPBgWGAgf2zsa','yw5ZD2vYCW','icaGia','C3rHDhvZ','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','twfJyxu','icHr','vgLTzw91DevYCM9Y','oIdIGjq','BgLUzq','uxvLC3rPB24G','Dg9Rzw4','zMXVB3i','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','icaGrwXHChnLzdOG','igf0DgvTChq','B25Jzq','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','ieLdt0f7Ew91CL9MBgfNFq','yxbWBgLJyxrPB24VANnVBG','A2v5','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','C3bSAwnL','BwLU','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u'];a0z=function(){return bP;};return a0z();}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';function a0B(a,b){a=a-(0x161b+-0x1007+-0x525*0x1);const c=a0z();let d=c[a];if(a0B['HnMKUh']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x2*0x587+-0x192c+-0x116*-0xd,o,p,q=-0x224b*0x1+-0x1*0x7c3+-0x301*-0xe;p=i['charAt'](q++);~p&&(o=n%(0xe3*-0x11+-0x2467+0x337e)?o*(0x129a+0x1*0x16ea+0x2*-0x14a2)+p:p,n++%(-0x7f*-0x43+0x85b*0x2+-0x31ef))?l+=String['fromCharCode'](0x6*0x4af+0x303+-0x1e1e&o>>(-(0x201+-0x19c3*-0x1+-0x1bc2)*n&0x1*0x2453+0x815+-0x2c62*0x1)):0x5*0xa9+0x242a+-0x2777){p=j['indexOf'](p);}for(let r=0xd2f+0x1752+-0x2481,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x3*-0x783+-0x13fb+0x2a94))['slice'](-(-0x1213+0xe7*-0x3+0x14ca));}return decodeURIComponent(m);};a0B['JSRnTb']=e,a0B['QhlMYO']={},a0B['HnMKUh']=!![];}const f=c[-0x1*0xdd7+-0x3*-0xaf1+-0x12fc*0x1],g=a+f,h=a0B['QhlMYO'][g];return!h?(d=a0B['JSRnTb'](d),a0B['QhlMYO'][g]=d):d=h,d;}import{execSync as a0an}from'node:child_process';const q=z=>new Promise(B=>setTimeout(B,z));function E(B,F={}){const b1=a0B,G=a0W(),H={};H[b1(0x3d0)]='application/json',fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':b1(0x2fa),'headers':H,'body':JSON['stringify']({'type':B,'lang':G[b1(0x2be)]||'en','timestamp':new Date()[b1(0x18d)](),...F}),'signal':AbortSignal[b1(0x286)](0x1c6c+-0xed*-0x6+-0xe72)})[b1(0x308)](()=>{});}function N(z,B){const b2=a0B,F=Math[b2(0xf0)](z/(-0x7c3+-0x8*-0x1c9+-0x20b*0x3)*(0xe3*-0x11+-0x2467+0x3398)),G=0x129a+0x1*0x16ea+0x2*-0x14b3-F,H=a0L[b2(0x24b)]('█'[b2(0x1ad)](F))+a0L['gray']('░'[b2(0x1ad)](G)),J=String(z)[b2(0x147)](-0x7f*-0x43+0x85b*0x2+-0x31f0)+'%';process['stdout'][b2(0x2b8)]('\x0d\x1b[2K\x20\x20'+H+'\x20'+J+'\x20\x20'+a0L[b2(0x25a)](B));}function M(){const b3=a0B,z=a0W();return z[b3(0x1ed)]&&z['token']?new a0V(z[b3(0x1ed)],z[b3(0x362)]):(a0aa(b3(0x2a3)),null);}function O(){const b4=a0B,z=a0a1();z&&(new Date()<z?a0af(b4(0x3a0),a0L[b4(0x2f3)][b4(0x2d4)](a0ah(z))):a0af(b4(0x233),a0L[b4(0x2f7)][b4(0x2d4)](b4(0x3f4))));}function j(z,B){const b5=a0B;return Array[b5(0x2cf)](z['bookmarks'])&&z['bookmarks'][b5(0x1a4)](B);}function D(z,B){const b6=a0B,F=Array[b6(0x2cf)](z[b6(0x211)])?[...z[b6(0x211)]]:[],G=F[b6(0x18e)](B);return G>=0x6*0x4af+0x303+-0x1f1d?(F[b6(0x371)](G,0x201+-0x19c3*-0x1+-0x1bc3),z[b6(0x211)]=F,a0Z(z),!(0x1*0x2453+0x815+-0x2c67*0x1)):(F[b6(0x1bb)](B),F[b6(0x142)]((H,J)=>H-J),z[b6(0x211)]=F,a0Z(z),!(0x5*0xa9+0x242a+-0x2777));}function R(B){const b7=a0B,F={};return F[b7(0x329)]=B[b7(0x1f6)]||0xd2f+0x1752+-0x2481,F[b7(0x209)]=B['_helpMax']||0x3*-0x783+-0x13fb+0x2a98,F[b7(0x394)]=B[b7(0x22b)]||{},F['eliminated']=B[b7(0x21f)]||{},F;}function U(z,B){const b8=a0B,F=a0Y(),G=Number(F?.[b8(0x103)][b8(0x1a3)]||-0x1213+0xe7*-0x3+0x14e6),H=Object['keys'](F?.[b8(0x358)]||{})['length'],J=R(F),K=J[b8(0x2ab)][z['number']]||[],L='ai4ctf'===z[b8(0x216)]||'ctf4ai'===z[b8(0x216)]||b8(0x3c9)===z['type']||z[b8(0xfa)]&&!z[b8(0xfa)]['A']&&!z[b8(0xfa)]['B'];F&&function(Y,Z){const b9=b8;if(b9(0x105)===Y[b9(0x103)]['examId'])return;const a0=new Set(Y[b9(0x330)]||[]),a1=Number(Y['session'][b9(0x1a3)]||-0x1*0xdd7+-0x3*-0xaf1+-0x12d4*0x1),a2=a0a1();if(0x1efb+-0x6*0x4d4+0x1f9*-0x1===Z&&a1>=-0xa*0x37e+-0x139*-0x5+0x5cb*0x5&&!a0[b9(0x220)](b9(0xfe))){const a3=a2?Math['max'](-0x1fa2+0x2605+-0x663,Math[b9(0xf0)]((a2[b9(0x1c9)]()-Date[b9(0x3c2)]())/(-0x10471+0x8bee+0x1*0x162e3))):null;console[b9(0x1c3)](),console[b9(0x1c3)](a0L[b9(0x25a)]('\x20\x20┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄')),console[b9(0x1c3)](a0L[b9(0x114)](b9(0x3c3))+a0L['gray'](b9(0x1c6))),null!==a3&&console['log'](a0L[b9(0x25a)](b9(0x3ad)+a3+b9(0x2e0))),console[b9(0x1c3)](a0L[b9(0x25a)](b9(0x3cf))),a0['add']('p10'),Y[b9(0x330)]=Array[b9(0x37e)](a0),a0Z(Y);}if(-0xf7e+0x13e5+-0x449*0x1===Z&&a1>=-0x8ff*0x1+-0x197*0x11+-0x1*-0x242e&&!a0[b9(0x220)](b9(0x141))){Object['keys'](Y['answers']||{})[b9(0x14a)];const a4=Object['keys'](Y[b9(0x358)]||{})['filter'](a5=>Number(a5)<=0x2210+-0x3*0x5fe+-0xff8)[b9(0x14a)];console[b9(0x1c3)](),console[b9(0x1c3)](a0L[b9(0x24b)](b9(0x109))),console[b9(0x1c3)](a0L['bold'][b9(0x24b)]('\x20\x20✓\x20\x20MCQ\x20section\x20complete\x20—\x20well\x20done!')),console[b9(0x1c3)](a0L['gray'](b9(0x3ad)+a4+b9(0x2e4))),console['log'](a0L[b9(0x2c4)](b9(0x32c))),console[b9(0x1c3)](a0L[b9(0x25a)](b9(0x348))),console['log'](a0L[b9(0x24b)](b9(0x109))),a0[b9(0x1e5)](b9(0x141)),Y[b9(0x330)]=Array[b9(0x37e)](a0),a0Z(Y);}}(F,z['number']),F&&L&&function(Y,Z){const ba=b8;if(ba(0x105)===Y[ba(0x103)][ba(0x2ca)])return;if(Number(Y['session'][ba(0x1a3)]||-0x3*-0xac1+0x1921*-0x1+-0x6fa)<0x7c*0x6+-0xfec+0xd2c)return;const a0=new Set(Y[ba(0x330)]||[]);Z>=0x1a4c+0x24a9+-0xe*0x47d&&Z<=0x1c98+0x124d+-0x2ebf&&!a0[ba(0x220)](ba(0x241))?(console['log'](),console[ba(0x1c3)](a0L[ba(0x24b)](ba(0x344))),console['log'](a0L[ba(0x2d4)]['green'](ba(0x202))),console[ba(0x1c3)](a0L[ba(0x24b)](ba(0x344))),console[ba(0x1c3)](),console[ba(0x1c3)](a0L[ba(0x2c4)]('\x20\x20\x20Welcome\x20to\x20the\x20practical\x20CTF\x20section.\x20Real')),console['log'](a0L['white']('\x20\x20\x20security\x20tasks\x20—\x20crypto,\x20web,\x20forensics,\x20pwn.')),console['log'](),console[ba(0x1c3)](a0L[ba(0x2d4)][ba(0x2c4)](ba(0x28e))),console[ba(0x1c3)](a0L['gray'](ba(0x236))+a0L['bold'](ba(0x168))+a0L[ba(0x25a)](ba(0x385))),console[ba(0x1c3)](),console[ba(0x1c3)](a0L[ba(0x2d4)][ba(0x2c4)]('\x20\x20\x20How\x20to\x20work')),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x294))+a0L['bold'][ba(0x24b)](ba(0x1f3))+a0L[ba(0x25a)](ba(0x24a))+a0L[ba(0x173)](ba(0x10e))+a0L[ba(0x25a)](ba(0x283))),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x132))+a0L[ba(0x114)](ba(0x1af))+a0L[ba(0x25a)](ba(0x2e5))+a0L[ba(0x114)](ba(0x151))+a0L['gray'](ba(0x2e5))+a0L['cyan']('!python3\x20...')),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x2a2))),console[ba(0x1c3)](a0L['gray']('\x20\x20\x20\x20\x20Exit\x20chat:\x20\x20\x20\x20\x20\x20')+a0L[ba(0x114)]('exit')+a0L['gray'](ba(0x404))+a0L[ba(0x114)](ba(0x25d))),console[ba(0x1c3)](),console['log'](a0L[ba(0x2d4)]['white']('\x20\x20\x20Budget\x20(shared\x20across\x20Q31–38)')),console['log'](a0L[ba(0x25a)](ba(0x20d))+a0L[ba(0x2c4)](ba(0x2a8))+a0L[ba(0x25a)]('\x20for\x20this\x20section')),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x26b))+a0L['white'](ba(0x281))),console[ba(0x1c3)](),console[ba(0x1c3)](a0L[ba(0x2f3)](ba(0x3d8))),console[ba(0x1c3)](a0L['green'](ba(0x344))),console[ba(0x1c3)](),a0['add'](ba(0x241)),Y['shownWarnings']=Array[ba(0x37e)](a0),a0Z(Y)):Z>=-0x1*0xceb+-0x1*0x187f+0x3b*0xa3&&!a0[ba(0x220)](ba(0x2b4))&&(console[ba(0x1c3)](),console['log'](a0L[ba(0x2f7)](ba(0x344))),console[ba(0x1c3)](a0L[ba(0x2d4)][ba(0x2f7)](ba(0x129))),console[ba(0x1c3)](a0L[ba(0x2f7)](ba(0x344))),console[ba(0x1c3)](),console['log'](a0L[ba(0x2c4)](ba(0x165))),console[ba(0x1c3)](a0L[ba(0x2c4)](ba(0x272))+a0L[ba(0x2d4)]('attacking')+a0L[ba(0x2c4)]('\x20AI\x20systems.')),console['log'](),console[ba(0x1c3)](a0L[ba(0x2d4)][ba(0x2c4)](ba(0x1dd))),console['log'](a0L[ba(0x25a)](ba(0x1b6))),console[ba(0x1c3)](),console['log'](a0L[ba(0x2d4)][ba(0x2c4)](ba(0x14b))),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x294))+a0L[ba(0x2d4)][ba(0x2f7)]('ctf4ai')+a0L[ba(0x25a)]('\x20→\x20')+a0L[ba(0x2f7)]('ctf4ai>')+a0L['gray'](ba(0x10b))),console[ba(0x1c3)](a0L[ba(0x25a)]('\x20\x20\x20\x20\x20Inside\x20chat:\x20\x20\x20\x20')+a0L[ba(0x114)](ba(0x1af))+a0L[ba(0x25a)]('\x20·\x20')+a0L[ba(0x114)](ba(0x151))+a0L['gray']('\x20·\x20')+a0L[ba(0x114)](ba(0x24c))),console[ba(0x1c3)](a0L[ba(0x25a)]('\x20\x20\x20\x20\x20Messages\x20→\x20AI\x20target\x20—\x20craft\x20prompts\x20to\x20break\x20its\x20rules.')),console[ba(0x1c3)](),console[ba(0x1c3)](a0L[ba(0x2d4)]['white'](ba(0x112))),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x138))+a0L[ba(0x2f7)](ba(0x11a))+a0L[ba(0x25a)](',\x20not\x20your\x20teammate')),console[ba(0x1c3)](a0L['gray'](ba(0x1e1))+a0L[ba(0x2c4)](ba(0x14c))+a0L[ba(0x25a)]('\x20shared\x20across\x20Q39–40')),console[ba(0x1c3)](),console[ba(0x1c3)](a0L['yellow'](ba(0x341))),console['log'](a0L[ba(0x2f3)](ba(0x2c5))),console[ba(0x1c3)](a0L[ba(0x2f7)](ba(0x344))),console[ba(0x1c3)](),a0[ba(0x1e5)](ba(0x2b4)),Y['shownWarnings']=Array[ba(0x37e)](a0),a0Z(Y));}(F,z[b8(0x3b8)]),F&&function(Y){const bb=b8,Z=a0a1();if(!Z)return;const a0=Z[bb(0x1c9)]()-Date['now']();if(a0<=-0x989*0x3+0x4*0x9e+0x1a23*0x1)return;const a1=a0/(0x1b6e5+0x19f5d+-0x26be2),a2=new Set(Y[bb(0x330)]||[]);let a3=null;if(a1<=0x3*0x865+0xf39*-0x1+-0x9f5&&!a2['has']('t1')?a3={'key':'t1','text':[a0L[bb(0x2f7)][bb(0x2d4)](bb(0x2f8)),a0L[bb(0x2f7)](bb(0x1b3))+a0L['bold'](bb(0x3f6))]}:a1<=0x86d*-0x2+-0x5*0x5d5+0x2e08&&!a2['has']('t5')?a3={'key':'t5','text':[a0L[bb(0x2f7)][bb(0x2d4)](bb(0x2c6)),a0L[bb(0x2f3)](bb(0x38b))+a0L[bb(0x2d4)](bb(0x3f6))]}:a1<=0x2245*-0x1+0x1*-0x63+0x22b2&&!a2['has'](bb(0x399))&&(a3={'key':bb(0x399),'text':[a0L[bb(0x2f3)]['bold'](bb(0x1ca)),a0L[bb(0x25a)]('\x20\x20Review\x20unanswered\x20questions:\x20')+a0L['white']('exam\x20review')]}),a3){console[bb(0x1c3)](),console[bb(0x1c3)](a0L[bb(0x2f7)](bb(0x109)));for(const a4 of a3[bb(0x3fe)])console['log'](a4);console[bb(0x1c3)](a0L[bb(0x2f7)](bb(0x109))),a2['add'](a3[bb(0x36e)]),Y[bb(0x330)]=Array[bb(0x37e)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const bc=b8,a1=Math[bc(0xf0)](Y/Z*(0x2445+0x1819+-0x3c40*0x1)),a2=-0xc*-0x197+-0x147c+0x1e*0xd-a1,a3=a0L[bc(0x114)]('━'['repeat'](a1))+a0L[bc(0x25a)]('─'[bc(0x1ad)](a2)),a4=Math[bc(0xf0)](Y/Z*(-0x1*0x2419+-0x423*-0x6+0xbab));console[bc(0x1c3)](),console['log']('\x20\x20'+a3+'\x20\x20'+a0L[bc(0x2c4)][bc(0x2d4)](''+Y)+a0L[bc(0x25a)]('/'+Z)+'\x20\x20'+a0L[bc(0x25a)]('('+a0+bc(0x3b1))+'\x20\x20'+a0L[bc(0x25a)](a4+'%'));const a5=a0a1();if(a5){const a6=Math[bc(0x209)](0x6cb+-0x9a2*-0x3+-0x23b1,Math[bc(0xf0)]((a5[bc(0x1c9)]()-Date[bc(0x3c2)]())/(0x1*0x1199+0x15de+0x1*-0x238f))),a7=Math[bc(0x363)](a6/(-0x1ac6+-0x1852+0xcd5*0x4))+':'+String(a6%(0x20ec+0x156+0x82*-0x43))[bc(0x147)](-0x1a4c+-0xd*0x301+0x415b,'0'),a8=a6<=-0xd4f*0x2+0x125f+0xd*0xa7?a0L[bc(0x2f7)][bc(0x2d4)]:a6<=0x22fd+0x10f*-0x7+-0x208*0xd?a0L['red']:a6<=0x1288+0x4bb*-0x7+0x10ed?a0L[bc(0x2f3)]:a0L['gray'];console[bc(0x1c3)]('\x20\x20'+a0L['gray'](bc(0x3da))+'\x20'+a8(a7)+'\x20'+a0L[bc(0x25a)]('(server-authoritative)'));}}(z[b8(0x3b8)],G,H),F&&j(F,z[b8(0x3b8)])&&console['log'](a0L[b8(0x2f3)](b8(0x271)));const Q=function(Y,Z){const bd=b8,a0={};a0['pct']=0.2,a0['emoji']=bd(0x104),a0[bd(0x36e)]=bd(0x215);const a1={};a1[bd(0x34e)]=0.33,a1['emoji']='🐨',a1[bd(0x36e)]=bd(0x182);const a2={};a2[bd(0x34e)]=0.5,a2['emoji']='🌉',a2[bd(0x36e)]=bd(0x387);const a3={};a3[bd(0x34e)]=0.6,a3['emoji']='🦘',a3[bd(0x36e)]=bd(0x1de);const a4={};a4['pct']=0.8,a4['emoji']=bd(0x39d),a4[bd(0x36e)]=bd(0x304);const a5={};a5[bd(0x34e)]=0.87,a5[bd(0x244)]='🦈',a5['key']='egg13';const a6={};a6[bd(0x34e)]=0x1,a6['emoji']='🎉',a6['key']=bd(0x160);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math['round'](a9[bd(0x34e)]*Z);if(!(aa<0x12c5+-0x667+-0xc5d||a8[bd(0x220)](aa))&&(a8[bd(0x1e5)](aa),Y===aa))return{'emoji':a9[bd(0x244)],'text':a0ai(a9[bd(0x36e)])};}}(z[b8(0x3b8)],G);if(Q&&console[b8(0x1c3)](a0L[b8(0x2f3)]('\x20\x20'+Q[b8(0x244)]+'\x20\x20'+Q['text'])),console[b8(0x1c3)](),z['category']&&console[b8(0x1c3)](a0L[b8(0x114)](b8(0x396)+z['category']+']')),z[b8(0x27a)]&&z[b8(0x27a)]>-0x1ce6+0x427*-0x8+-0x1c*-0x238&&console[b8(0x1c3)](a0L[b8(0x114)]('\x20\x20['+z['points']+b8(0x3e5))),L){let Y=z['description']||z[b8(0x3fe)];const Z=a0a2(z[b8(0x3b8)],z[b8(0x27f)]);if(z[b8(0x27f)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b8(0x198)](Y)?Y=Y['replace'](a1,z[b8(0x27f)]):Y[b8(0x1a4)](z[b8(0x27f)])||(Y=Y+b8(0x405)+z[b8(0x27f)]);}console[b8(0x1c3)](a0L[b8(0x2d4)][b8(0x2c4)](b8(0x33f)+z[b8(0x3b8)]+'.\x20')+a0L[b8(0x2c4)](Y[b8(0x225)]('\x0a')[-0x1715+0x91*0xd+-0x2*-0x7dc]));const a0=Y[b8(0x225)]('\x0a')[b8(0x34d)](-0x19d8+0x254b+-0xb72);for(const a2 of a0)console[b8(0x1c3)](a0L[b8(0x2c4)]('\x20\x20'+a2));if(console[b8(0x1c3)](),Z&&b8(0x1f3)===z['type']){const a3=Z[b8(0x273)](process.env.HOME||'','~');console[b8(0x1c3)](a0L[b8(0x114)]('\x20\x20'+a0ai(b8(0x391))+'\x20')+a0L[b8(0x25a)]('('+a0ai(b8(0x178))+'\x20'+a3+'):')),console['log'](a0L[b8(0x2c4)]('\x20\x20\x20\x20①\x20')+a0L[b8(0x2f3)](b8(0x352)+a3)['padEnd'](-0x10ff+0x1*0x14b3+0x20*-0x1c)+a0L[b8(0x25a)]('\x20'+a0ai(b8(0x39b)))),console[b8(0x1c3)](a0L[b8(0x2c4)]('\x20\x20\x20\x20②\x20')+a0L[b8(0x2f3)]('!python3')[b8(0x136)](-0xa81+-0x67a*-0x6+0x21*-0xdb)+a0L[b8(0x25a)]('\x20'+a0ai(b8(0x2c9)))),console[b8(0x1c3)](a0L[b8(0x2c4)](b8(0x3f2))+a0L[b8(0x2f3)]('!vi\x20solve.py')+a0L[b8(0x25a)]('\x20\x20→\x20\x20')+a0L[b8(0x2f3)](b8(0x2f5))),console[b8(0x1c3)](a0L[b8(0x2c4)]('\x20\x20\x20\x20④\x20')+a0L['yellow'](b8(0x295))[b8(0x136)](0x1ce*-0xa+0x1be6+0xf9*-0xa)+a0L[b8(0x25a)]('\x20'+a0ai(b8(0x1d1)))),console[b8(0x1c3)](a0L[b8(0x2c4)]('\x20\x20\x20\x20⑤\x20')+a0L[b8(0x2f3)](b8(0x1f3))[b8(0x136)](-0x669*-0x6+0x22ce+-0x4924)+a0L[b8(0x25a)]('\x20'+a0ai(b8(0x3c6)))),console[b8(0x1c3)](),console[b8(0x1c3)](a0L[b8(0x25a)]('\x20\x20'+a0ai(b8(0x229))+'\x20')+a0L[b8(0x2d4)][b8(0x24b)](b8(0xef))),console['log']();}B&&(console[b8(0x1c3)](a0L['green']('\x20\x20Your\x20answer:\x20'+B)),console['log']());}else{console[b8(0x1c3)](a0L['bold'][b8(0x2c4)](b8(0x33f)+z[b8(0x3b8)]+'.\x20')+a0L[b8(0x2c4)](z[b8(0x3fe)])),console['log']();for(const a4 of['A','B','C','D']){const a5=B===a4;K['includes'](a4)?console[b8(0x1c3)](a0L[b8(0x25a)]['strikethrough']('\x20\x20\x20\x20'+a4+'.\x20'+z[b8(0xfa)][a4])+a0L[b8(0x2f7)]('\x20('+a0ai(b8(0x3fd))+')')):a5?console['log'](a0L['green']['bold'](b8(0x312)+a4+'.\x20'+z[b8(0xfa)][a4])):console[b8(0x1c3)](a0L[b8(0x25a)]('\x20\x20\x20\x20'+a4+'.')+'\x20'+a0L['white'](z[b8(0xfa)][a4]));}console[b8(0x1c3)]();}const V='demo-free'===F?.[b8(0x103)][b8(0x2ca)],W=J[b8(0x394)][-0x2170+0x1e56+0xc7*0x4]||0x623+-0x2*-0xb42+-0x1ca7;V&&-0xc5*-0x4+-0x10dd+0xb*0x141===z[b8(0x3b8)]&&-0x1*0xed+0x21a7+-0x20ba===W&&(console[b8(0x1c3)](a0L['yellow'][b8(0x2d4)]('\x20\x20'+a0ai(b8(0x3d9)))),console[b8(0x1c3)]());const X=J[b8(0x209)]-J[b8(0x329)];if(console[b8(0x1c3)](a0L['gray'](b8(0x38c))),L){const a6=F&&b8(0x105)!==F[b8(0x103)][b8(0x2ca)]&&z[b8(0x3b8)]>=0xdcb+0x1*0xe72+-0x1c16&&z[b8(0x3b8)]<=-0x53*-0x1a+-0x1d2+0x1*-0x674,a7=F&&b8(0x105)!==F['session']['examId']&&z[b8(0x3b8)]>=0x1*0x9b+0x2c*-0xb2+0x1e1c&&z[b8(0x3b8)]<=0x3*-0x29f+0x12e*-0x8+0x1173;b8(0x3c9)===z['type']?console[b8(0x1c3)](a0L[b8(0x2d4)][b8(0x114)](b8(0x214))+a0L[b8(0x25a)](b8(0x10d))):a7?console[b8(0x1c3)](a0L[b8(0x2d4)]['green'](b8(0x28a))+a0L['gray'](b8(0x1c2))):a6&&console[b8(0x1c3)](a0L[b8(0x2d4)]['red'](b8(0x2f2))+a0L[b8(0x25a)](b8(0x2c3))),console[b8(0x1c3)](a0L[b8(0x2f3)](b8(0x35b))+a0L['gray']('\x20\x20submit\x20flag\x20directly')),console['log'](a0L['yellow']('\x20\x20\x20\x20!python3')+a0L[b8(0x25a)](b8(0x2a1)));}else{const a8=J[b8(0x209)]>=-0x166a+-0x20*-0x115+0x12*-0xac,a9=X>0x83a+-0x43f*0x1+-0x3fb?a0L[b8(0x25a)](a0ai(b8(0x1e3))+'\x20')+a0L[b8(0x2f3)]('('+X+'/'+J[b8(0x209)]+')'):a8?a0L[b8(0x25a)](a0ai(b8(0x1b2))+'\x20('+J[b8(0x329)]+'/'+J[b8(0x209)]+')'):a0L[b8(0x25a)](''+a0ai(b8(0x3d4)));console[b8(0x1c3)](a0L[b8(0x2f3)](b8(0x152))+a0L[b8(0x25a)](b8(0x288)+a0ai(b8(0x134)))),console[b8(0x1c3)](a0L[b8(0x2f3)](b8(0x2da))+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a9);}console[b8(0x1c3)](a0L[b8(0x2f3)]('\x20\x20\x20\x20next')+a0L[b8(0x25a)]('\x20/\x20')+a0L[b8(0x2f3)]('prev')+a0L[b8(0x25a)](b8(0x359)+a0ai(b8(0x2ef)))),console[b8(0x1c3)](a0L['yellow'](b8(0x245)+G)+a0L[b8(0x25a)](b8(0x1f1)+a0ai(b8(0x3e0)))),console['log'](a0L['yellow'](b8(0x10a))+a0L[b8(0x25a)](b8(0x2e7)+a0ai('htpMark'))),console[b8(0x1c3)](a0L[b8(0x2f3)](b8(0x2dc))+a0L[b8(0x25a)](b8(0x1f1)+a0ai(b8(0x226)))),console[b8(0x1c3)](a0L[b8(0x2d4)][b8(0x2f3)]('\x20\x20\x20\x20exam\x20submit')+a0L[b8(0x25a)](b8(0x1f1)+a0ai(b8(0x1cf)))),console[b8(0x1c3)](a0L[b8(0x2f3)](b8(0x177))+a0L[b8(0x25a)](b8(0x2e7)+a0ai(b8(0x1e2)))),console['log'](a0L[b8(0x2f3)](b8(0x18a))+a0L[b8(0x25a)](b8(0x2e7)+a0ai('htpLang'))),console['log'](a0L['gray'](b8(0x38c)));}export function registerExamCommand(z){const be=a0B,B=z[be(0x395)](be(0x12e))[be(0x11b)]('National\x20selection\x20exam');B[be(0x395)]('nations')[be(0x11b)](be(0x125))[be(0x30d)](()=>{const bf=be;a0a8('exam\x20nations'),console[bf(0x1c3)](),a0ae(bf(0x161)),console[bf(0x1c3)]();const F=[['AU',bf(0x3d1)],['BD','Bangladesh'],['BI','Burundi'],['BR','Brazil'],['CN',bf(0x13e)],['DE','Germany'],['EG',bf(0x2e2)],['FR',bf(0x29f)],['GH',bf(0x186)],['ID','Indonesia'],['IN','India'],['JP',bf(0x1c5)],['KR',bf(0x255)],['LA','Laos'],['LK',bf(0x1e0)],['MM',bf(0x26e)],['MO',bf(0x35c)],['MY','Malaysia'],['NZ',bf(0x259)],['PE',bf(0x150)],['PH','Philippines'],['RU',bf(0x116)],['SA',bf(0x291)],['SG','Singapore'],['TH',bf(0x3f0)],['TR','Turkey'],['UK',bf(0x166)],['US','United\x20States'],['UZ',bf(0x38f)],['VN',bf(0x2fb)],['ZA',bf(0x270)]];for(let G=-0x13b9+0x258+0x5cb*0x3;G<F[bf(0x14a)];G+=-0xae5+0xa6c+0x7c){const H=F[bf(0x34d)](G,G+(0x18ee+-0x1790+-0x15b))['map'](([J,K])=>'\x20\x20'+a0L[bf(0x114)](J)+'\x20\x20'+a0L[bf(0x25a)](K[bf(0x136)](0x190+0x1d36+-0xf5b*0x2)))['join']('');console[bf(0x1c3)](H);}console['log'](),console[bf(0x1c3)](a0L[bf(0x25a)](bf(0x293))),console[bf(0x1c3)](a0L[bf(0x25a)](bf(0x145))),console[bf(0x1c3)](),console['log'](a0L['white'](bf(0x284))),console[bf(0x1c3)](a0L[bf(0x114)](bf(0x11d))+a0L['gray'](bf(0x3d6))+a0L[bf(0x25a)](bf(0x234))),console[bf(0x1c3)]();}),B['command'](be(0x280))[be(0x11b)](be(0x3ae))[be(0x30d)](async F=>{const bg=be;a0a8('exam\x20list\x20'+(F||''));const G=M();if(!G)return;const H=a0ag('Loading\x20exams...');H[bg(0x3a8)]();try{let J=await G['getExams']();if(H['stop'](),F){const Q=F['toUpperCase']();J=J[bg(0x2eb)](V=>V[bg(0xfb)][bg(0x1ce)]()===Q||bg(0x1b4)===V[bg(0xfb)]);}if(!J||0x262d*0x1+0x2358+-0x1d*0x289===J[bg(0x14a)]){console['log'](),a0ac(F?'No\x20exams\x20available\x20for\x20'+F[bg(0x1ce)]()+bg(0x20f):'No\x20exams\x20available\x20for\x20your\x20country\x20yet.'),console['log'](),console[bg(0x1c3)](a0L[bg(0x2c4)](bg(0x2aa))),console[bg(0x1c3)](a0L[bg(0x25a)](bg(0x16c))),console[bg(0x1c3)](),console[bg(0x1c3)](a0L[bg(0x25a)](bg(0x2b3))+a0L[bg(0x2d4)][bg(0x114)](bg(0x3a3))),console[bg(0x1c3)]();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(0x1ce)]();return void(W[X]&&(console[bg(0x1c3)](a0L[bg(0x25a)]('\x20\x20Tip:\x20switch\x20to\x20your\x20language\x20with:\x20lang\x20'+W[X])),console['log']()));}const K=J[bg(0x3f9)](Y=>{const bh=bg,Z=bh(0x303)===Y['status']?a0L[bh(0x24b)]:bh(0x12b)===Y[bh(0x35a)]?a0L[bh(0x2f3)]:a0L[bh(0x2c4)];return[a0L[bh(0x2c4)](Y['id']),Y['name'],a0L[bh(0x114)](Y[bh(0xfb)]),String(Y[bh(0x1a3)]),Y['durationMinutes']+'\x20min',Z(Y['status'])];}),L=[...new Set(J[bg(0x3f9)](Y=>Y[bg(0xfb)]))];a0ae(F?bg(0x403)+F[bg(0x1ce)]():bg(0x3a2)+L['length']+bg(0x3e7)),a0ad(['ID',bg(0x2ee),bg(0x3ab),bg(0x130),bg(0x32a),bg(0x33b)],K),console[bg(0x1c3)](),console['log'](a0L[bg(0x25a)]('\x20\x20Start:\x20exam\x20start\x20<id>')),L[bg(0x14a)]>0xd6c+0x2ba+-0x1025&&console[bg(0x1c3)](a0L['gray'](bg(0x248)));}catch(Y){H[bg(0x179)](bg(0x256)),a0aa(Y[bg(0x3a1)]);}}),B[be(0x395)](be(0x13c))['description']('Start\x20an\x20exam\x20(begins\x20timer)')[be(0x30d)](async F=>{const bi=be;a0a8(bi(0x22f)+F);const G=a0Y();if(G)return a0ab(bi(0x3cc)+G[bi(0x103)][bi(0x302)]+bi(0x237)),void a0ac(bi(0x2bc));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bi(0x2c4)]('Start\x20the\x20exam?\x20The\x20timer\x20will\x20begin\x20immediately.'),'default':!(0xf6a*0x1+-0x38b*-0x4+-0x1d96),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L['green'](K)}}});if(J){console[bi(0x1c3)]();try{N(-0x1277*0x1+-0x418+0x168f,bi(0xfd));const {session:K,questions:L}=await H[bi(0x2df)](F);N(0x6*-0x1+0x2b5+0x49*-0x9,'Loading\x20questions...'),await q(0xacf*0x3+-0x7*-0x4c7+-0x208b*0x2),N(-0x7fa+0x26a0+-0x1e6a,'Preparing\x20exam\x20environment...'),await q(0x24cc+0x1*0x2c6+-0x26ca),N(-0x1f*-0xf3+0x142b+-0x16*0x23d,bi(0x190)),await q(0x61*0x13+0x1866+0x11*-0x1d3),a0Z({'session':K,'questions':L,'answers':{}}),N(-0x1857+-0x1*-0x140+-0x1*-0x177b,bi(0x297)),console[bi(0x1c3)](),console[bi(0x1c3)](),a0ae(K[bi(0x302)]),a0af(bi(0x130),String(K[bi(0x1a3)])),a0af(bi(0x32a),K[bi(0x15b)]+bi(0x33a)),a0af(bi(0x3ab),K['country']),O(),L[bi(0x14a)]>0x13*-0xc+0x206*-0x11+0x234a&&U(L[-0xcac*0x2+0x1dde+-0x486]);}catch(Q){console[bi(0x1c3)](),a0aa(Q[bi(0x3a1)]);}}}),B[be(0x395)](be(0x213))[be(0x11b)](be(0x19d))[be(0x30d)](async F=>{const bj=be;a0a8(bj(0x1b9)+(F||bj(0x19f)));const {refetchQuestionDataIfStale:G}=await import(bj(0x174));await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,-0x1*0x2706+-0x19b1+-0xb*-0x5e3),K=H['questions'][bj(0x19e)](L=>L[bj(0x3b8)]===J);if(!K)return void a0aa('Question\x20'+F+'\x20not\x20found\x20(1-'+H[bj(0x159)][bj(0x14a)]+').');H[bj(0x263)]=J,a0Z(H),U(K,H['answers'][J]);}else{a0ae(''+H[bj(0x103)][bj(0x302)]);const L=Object['keys'](H[bj(0x358)])[bj(0x14a)];a0af('Progress',L+'/'+H['session']['questionCount']+bj(0x400)),console[bj(0x1c3)]();for(const Q of H['questions']){const V=H[bj(0x358)][Q[bj(0x3b8)]],W=V?a0L[bj(0x24b)]('['+V+']'):a0L[bj(0x25a)](bj(0x2ae)),X=Q['category']?a0L['gray']('\x20['+Q[bj(0x2d5)]+']'):'';console[bj(0x1c3)]('\x20\x20'+W+'\x20'+a0L['white']('Q'+Q[bj(0x3b8)])+X+'\x20'+a0L[bj(0x25a)](Q['text'][bj(0x242)](0xe07+-0x739*0x5+0xb0b*0x2,-0x1*-0x2217+0x1d83+0x1*-0x3f5e))+(Q[bj(0x3fe)][bj(0x14a)]>0x2478+0x4bb*-0x7+0x31f*-0x1?bj(0x397):''));}console[bj(0x1c3)]();}}else a0aa('No\x20exam\x20in\x20progress.\x20Use\x20\x22exam\x20start\x20<id>\x22\x20to\x20begin.');}),B[be(0x395)](be(0x2d9))[be(0x11b)](be(0x26d))[be(0x30d)](F=>{const bk=be;a0a8(bk(0x235)+(F||''));const G=a0Y();if(!G)return void a0aa(bk(0x23a));const H=G['questions'][bk(0x14a)],J=F?parseInt(F,0x70*0x20+-0x19e+-0x278*0x5):G[bk(0x263)]||-0x20de+-0x1de3+0x3a*0x115;if(Number[bk(0x1fb)](J)||J<0x13*0xf0+-0x1e42+0xc73||J>H)return void a0aa('Invalid\x20question\x20number.\x20Use\x201..'+H+'.');const K=D(G,J);console[bk(0x1c3)](),K?console[bk(0x1c3)](a0L[bk(0x2f3)](bk(0x33e)+J+'\x20flagged\x20for\x20review.')):console[bk(0x1c3)](a0L[bk(0x25a)](bk(0x289)+J+bk(0x3b7)));const L=Array[bk(0x2cf)](G[bk(0x211)])?G['bookmarks']:[];L[bk(0x14a)]>0xc2b+0x1*0x1a5d+0x24*-0x112&&console[bk(0x1c3)](a0L[bk(0x25a)](bk(0x1e9)+L[bk(0x3f9)](Q=>'Q'+Q)['join'](',\x20'))),console[bk(0x1c3)](a0L[bk(0x25a)]('\x20\x20See\x20all\x20flagged\x20questions\x20in:\x20')+a0L[bk(0x2c4)](bk(0x219))),console[bk(0x1c3)]();}),B['command'](be(0x351))['description'](be(0x366))[be(0x30d)](F=>{const bl=be;a0a8(bl(0x1c4)+(F||''));const G=a0Y();if(!G)return void a0aa(bl(0x23a));const H=G[bl(0x159)][bl(0x14a)],J=F?parseInt(F,-0x25*0x13+0x2*-0xa09+0x1*0x16db):G[bl(0x263)]||-0x14d+-0x180a+0x1958;Number['isNaN'](J)||J<0x10e6+-0x794+-0x1*0x951||J>H?a0aa(bl(0xf7)+H+'.'):j(G,J)?(D(G,J),console[bl(0x1c3)](),console['log'](a0L[bl(0x25a)](bl(0x289)+J+bl(0x3b7))),console['log']()):console[bl(0x1c3)](a0L[bl(0x25a)](bl(0x33f)+J+bl(0x240)));}),B[be(0x395)](be(0x1be))[be(0x11b)](be(0x2cb))[be(0x30d)](()=>{const bm=be;a0a8('exam\x20next');const F=a0Y();if(!F)return void a0aa(bm(0x23a));F[bm(0x159)][bm(0x113)](K=>!F[bm(0x358)][K[bm(0x3b8)]]);const G=F[bm(0x263)]||0x15e2+-0x10db+0x1*-0x506,H=Math['min'](G+(0x4*0x74d+0x50e+-0x2241),F[bm(0x159)][bm(0x14a)]);F['_lastQ']=H,a0Z(F);const J=F[bm(0x159)][H-(-0x123*0x9+0x1418+0x4ee*-0x2)];U(J,F['answers'][J[bm(0x3b8)]]);}),B[be(0x395)]('prev')['description']('Go\x20to\x20previous\x20question')[be(0x30d)](()=>{const bn=be;a0a8(bn(0x1df));const F=a0Y();if(!F)return void a0aa(bn(0x23a));const G=F[bn(0x263)]||0x95a+0x14eb+0x34*-0x95,H=Math[bn(0x209)](G-(-0x17f3+-0x2*0xd08+-0xc2*-0x42),0x217a*0x1+-0x1*0x141b+-0xd5e);F[bn(0x263)]=H,a0Z(F);const J=F[bn(0x159)][H-(0x2ff*0x7+0x57*0x47+-0x2d19)];U(J,F['answers'][J[bn(0x3b8)]]);}),B[be(0x395)](be(0x210))[be(0x11b)](be(0x327))[be(0x30d)](async()=>{const bo=be;a0a8(bo(0x30c));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=R(F),H=F[bo(0x263)]||-0x16e3+-0x148*0x1+0x1dc*0xd,J=G[bo(0x394)][H]||0x3*0x13b+0x1ef7*-0x1+0x1b46,K=G[bo(0x2ab)][H]||[],L=F[bo(0x159)][bo(0x19e)](W=>W['number']===H);if(!L)return;if(J>=-0x1*-0xad+0x35*0x16+-0x539)return console[bo(0x1c3)](),console['log'](a0L[bo(0x2f3)](bo(0x370))),console[bo(0x1c3)](a0L[bo(0x25a)](bo(0x290))),console[bo(0x1c3)](),void U(L,F['answers'][L[bo(0x3b8)]]);const Q=['A','B','C','D']['filter'](W=>!K[bo(0x1a4)](W));if(Q[bo(0x14a)]<=0x1f1e+0x1c10+-0x3b2c)return console[bo(0x1c3)](),console[bo(0x1c3)](a0L[bo(0x2f3)](bo(0x144))),console[bo(0x1c3)](),void U(L,F['answers'][L['number']]);if(G['used']>=G[bo(0x209)]){const W=G['max']>=-0x44e*-0x7+-0x622*-0x4+-0x368c,X=0x23ed+-0x1275+-0x8ad*0x2-G[bo(0x209)];return void(W?(console[bo(0x1c3)](),console[bo(0x1c3)](a0L[bo(0x25a)](bo(0x388)+G['used']+'/'+G[bo(0x209)]+bo(0x2db))),console[bo(0x1c3)]()):(console['log'](),console['log'](a0L['yellow']('\x20\x20Help\x20used:\x20'+G[bo(0x329)]+'/'+G['max'])),console['log'](a0L['white']('\x20\x20Need\x20more?\x20Type:\x20')+a0L['bold'][bo(0x2f3)]('more\x20help')+a0L[bo(0x25a)](bo(0x139)+X+'\x20bonus\x20uses)')),console['log']()));}const V=Y=>{const bp=bo;K[bp(0x1bb)](Y),G['eliminated'][H]||(G[bp(0x2ab)][H]=[]),G[bp(0x2ab)][H]=K,G['perQ'][H]=J+(0x15a*0x7+-0x4a3*-0x5+-0x20a4),G[bp(0x329)]++,F[bp(0x1f6)]=G[bp(0x329)],F[bp(0x334)]=G[bp(0x209)],F[bp(0x22b)]=G['perQ'],F['_eliminated']=G['eliminated'],F[bp(0x3b5)]||(F[bp(0x3b5)]=[]),F[bp(0x3b5)]['push']({'ts':new Date()[bp(0x18d)](),'q':H,'type':bp(0x102),'result':bp(0x2fe)+Y}),a0Z(F),console['log'](),console[bp(0x1c3)](a0L[bp(0x2f3)](bp(0x37b)+Y+bp(0x380))+a0L['gray'](bp(0x269)+G[bp(0x329)]+'/'+G[bp(0x209)]+')')),U(L,F[bp(0x358)][L[bp(0x3b8)]]);};if('demo-free'===F[bo(0x103)][bo(0x2ca)]&&L[bo(0x1cd)])(Y=>{const bq=bo,Z=Q[bq(0x2eb)](a0=>a0!==Y&&!K[bq(0x1a4)](a0));0x61*0x47+0x22f4+0x5*-0xc5f!==Z[bq(0x14a)]&&V(Z[Math['floor'](Math[bq(0x39f)]()*Z[bq(0x14a)])]);})(L[bo(0x1cd)]);else{const Y=a0W()[bo(0x1ed)]||bo(0x188),Z=F[bo(0x103)]?.[bo(0x362)]||'';try{const a0={};a0['Content-Type']=bo(0x36d),a0[bo(0x257)]=bo(0x28d);const a1={};a1[bo(0x362)]=Z,a1['question']=H,a1[bo(0x2ab)]=K;const a2=await fetch(Y+'/api/icoa/exams/'+F[bo(0x103)][bo(0x2ca)]+'/help',{'method':bo(0x2fa),'headers':a0,'body':JSON[bo(0x407)](a1),'signal':AbortSignal[bo(0x286)](0x2*0xd79+-0x93b*0x3+0x1d*0xb3)}),a3=await a2[bo(0x3ec)](),a4=a3?.[bo(0x326)]?.[bo(0x318)];a4&&['A','B','C','D']['includes'](a4)?V(a4):(console[bo(0x1c3)](),console['log'](a0L[bo(0x25a)](bo(0x260))));}catch{console[bo(0x1c3)](),console[bo(0x1c3)](a0L[bo(0x25a)](bo(0x31b)));}}}),B[be(0x395)]('more-help')[be(0x11b)](be(0x1fc))[be(0x30d)](()=>{const br=be;a0a8('exam\x20more-help');const F=a0Y();if(!F)return void a0aa(br(0x23a));const G=R(F),H='demo-free'===F[br(0x103)][br(0x2ca)]?-0x9a*0x1f+-0x1*-0x1+-0x2ab*-0x7:-0xcb2+0x1bfd+-0xf2d;if(G[br(0x209)]>=H)return void console['log'](a0L[br(0x25a)](br(0x3ed)));if(G[br(0x329)]<G[br(0x209)])return void console[br(0x1c3)](a0L[br(0x25a)](br(0x357)+(G[br(0x209)]-G['used'])+br(0x32d)));const J=H-G[br(0x209)];F[br(0x334)]=H,a0Z(F),console[br(0x1c3)](),console['log'](a0L[br(0x24b)](br(0x34f)+J+br(0x266)+J+'/'+H+br(0x155))),console[br(0x1c3)](a0L[br(0x25a)]('\x20\x20Type\x20\x22help\x22\x20on\x20any\x20question\x20to\x20use.')),console[br(0x1c3)]();}),B[be(0x395)](be(0x176))[be(0x11b)]('Answer\x20question\x20N\x20(A/B/C/D\x20for\x20MCQ,\x20ICOA{flag}\x20for\x20practical)')['action'](async(F,G)=>{const bs=be,H=G['join']('\x20');a0a8(bs(0x13d)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bs(0x243));if(!(function(){const bt=bs,Z=a0a1();if(!Z)return!(0x466*0x2+0x1d19+0x25e5*-0x1);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bt(0x31e)](a0[bt(0x358)])[bt(0x14a)];bt(0x105)===a0[bt(0x103)][bt(0x2ca)]||-0x1f6b*-0x1+0x11a9+-0x3114===a1?(a0a0(),a0ab('Exam\x20expired\x20and\x20cleared.'),a0ac('Type:\x20demo\x20to\x20start\x20again.')):(a0aa(bt(0x1f2)),a0ac('Type\x20\x22exam\x20submit\x22\x20to\x20finalise\x20now,\x20or\x20the\x20server\x20will\x20auto-finalise\x20within\x2030\x20minutes.'));}return!(-0x73d+-0x1cf1+0x242f);}return!(-0x901*-0x1+0x3aa+-0xcab);}()))return;const K=parseInt(F,-0xcb1*0x1+0x3*-0x48d+-0x2*-0xd31),L=J[bs(0x159)][bs(0x19e)](Z=>Z[bs(0x3b8)]===K);if(!L)return void a0aa(bs(0x361)+F+bs(0x38e)+J[bs(0x159)][bs(0x14a)]+').');let Q;if(bs(0x1f3)===L[bs(0x216)]||'ctf4ai'===L['type']||bs(0x3c9)===L[bs(0x216)]||L[bs(0xfa)]&&!L[bs(0xfa)]['A']&&!L[bs(0xfa)]['B']){if(Q=H[bs(0x265)](),/^submit\s+/i['test'](Q)&&(Q=Q[bs(0x273)](/^submit\s+/i,'')['trim']()),Q=Q[bs(0x273)](/^["'`]+|["'`]+$/g,'')[bs(0x265)](),!Q)return void a0aa(bs(0x16b));if(/^[A-Da-d]$/[bs(0x198)](Q))return a0aa('Q'+K+bs(0x11f)),void console[bs(0x1c3)](a0L[bs(0x25a)]('\x20\x20Example:\x20')+a0L[bs(0x24b)](bs(0x13d)+K+bs(0x36c)));}else{if(Q=H[bs(0x1ce)](),!['A','B','C','D'][bs(0x1a4)](Q))return void a0aa(bs(0x3dd));}if(bs(0x105)===J[bs(0x103)][bs(0x2ca)]&&-0x61*-0x17+0xc*0x30+0x231*-0x5===K&&0x192*0x9+0x1d8f+-0x2bb1===(R(J)[bs(0x394)][0x5bb*-0x1+0x1*0x7d3+0xb2*-0x3]||0xb7*0x2+0x1d3d*-0x1+0x1bcf))return console[bs(0x1c3)](),console['log'](a0L[bs(0x2f3)](bs(0x2a6))+a0L[bs(0x2d4)][bs(0x2f3)](bs(0x210))+a0L['yellow'](bs(0x117))),console[bs(0x1c3)](a0L[bs(0x25a)](bs(0x135))),void console[bs(0x1c3)]();const V=J['answers'][K];J[bs(0x3b5)]||(J[bs(0x3b5)]=[]),J['interactions'][bs(0x1bb)]({'ts':new Date()['toISOString'](),'q':K,'type':V?bs(0x275):bs(0x3e6),'input':Q,'result':V?bs(0x185)+V:bs(0x1b0)}),J[bs(0x358)][K]=Q,J[bs(0x263)]=K,a0Z(J),console[bs(0x1c3)](a0L[bs(0x25a)](bs(0x305)));const W=J[bs(0x103)][bs(0x362)];if(W&&bs(0x105)!==J[bs(0x103)][bs(0x2ca)]){const Z=(a0W()['ctfdUrl']||bs(0x188))+bs(0x384)+J['session'][bs(0x2ca)]+'/answer',a0={};a0['Content-Type']=bs(0x36d);const a1={};a1['token']=W,a1['question']=K,a1['answer']=Q,fetch(Z,{'method':bs(0x2fa),'headers':a0,'body':JSON[bs(0x407)](a1),'signal':AbortSignal[bs(0x286)](-0xc*-0x1f6+-0xaba+0x6ba)})['catch'](()=>{});}const X=Object[bs(0x31e)](J[bs(0x358)])['length'],Y=J[bs(0x103)][bs(0x1a3)];if(a0a9('Q'+K+':\x20'+Q+'\x20✓\x20\x20('+X+'/'+Y+bs(0x3b1)),bs(0x105)===J['session'][bs(0x2ca)]&&L[bs(0x1cd)]){const a2=[bs(0x27e),'Solid\x20pick.','On\x20the\x20money.',bs(0x3ca),'Spot\x20on.'],a3=[bs(0x3e3),'Hmm,\x20worth\x20a\x20second\x20look\x20at\x20the\x20end.',bs(0x12c)],a4=Q===L[bs(0x1cd)]?a2:a3,a5=a4[Math[bs(0x363)](Math[bs(0x39f)]()*a4['length'])];console[bs(0x1c3)](a0L[bs(0x25a)]('\x20\x20\x20\x20·\x20'+a5));}if(K<J[bs(0x159)][bs(0x14a)]){const a6=J[bs(0x159)][K];J[bs(0x263)]=a6[bs(0x3b8)],a0Z(J),U(a6,J['answers'][a6[bs(0x3b8)]]);}else X>=J[bs(0x159)][bs(0x14a)]&&(console['log'](),console['log'](a0L[bs(0x24b)][bs(0x2d4)](bs(0x3b0))),console[bs(0x1c3)](),bs(0x105)===J[bs(0x103)]['examId']?(console[bs(0x1c3)](a0L['white']('\x20\x20Type\x20')+a0L['bold'][bs(0x114)](bs(0x3f6))+a0L['white']('\x20to\x20see\x20your\x20results!')),console[bs(0x1c3)]()):console[bs(0x1c3)](a0L[bs(0x2c4)](bs(0x2f6))));}),B[be(0x395)](be(0x1eb))[be(0x11b)](be(0x39e))['action'](()=>{const bu=be;a0a8(bu(0x219));const F=a0Y();if(!F)return void a0aa(bu(0x23a));a0ae('Review:\x20'+F[bu(0x103)]['examName']),O(),console[bu(0x1c3)]();let G='\x20\x20';const H=Array[bu(0x2cf)](F[bu(0x211)])?F[bu(0x211)]:[];for(const Q of F['questions']){const V=F[bu(0x358)][Q[bu(0x3b8)]],W=H[bu(0x1a4)](Q[bu(0x3b8)]),X=W?'★':'\x20';G+=V?W?a0L[bu(0x2d4)][bu(0x2f3)]('Q'+String(Q[bu(0x3b8)])[bu(0x147)](0x7f0*0x2+0x183b+-0x2819)+X+'['+V+']\x20'):a0L[bu(0x24b)]('Q'+String(Q['number'])[bu(0x147)](-0x13b*-0x3+-0x1*0x25b8+-0x1*-0x2209)+'\x20['+V+bu(0xf8)):W?a0L[bu(0x2d4)][bu(0x2f3)]('Q'+String(Q[bu(0x3b8)])['padStart'](0x9e*0x2e+0x1018+-0x2c7a)+X+bu(0x300)):a0L[bu(0x2f3)]('Q'+String(Q[bu(0x3b8)])[bu(0x147)](-0x2481+0x1ae*0x10+0x1*0x9a3)+'\x20[\x20]\x20\x20'),Q['number']%(-0x7cd+-0x1*-0xe90+-0xf*0x73)==-0x18fd+-0x7cd+0x20ca&&(console[bu(0x1c3)](G),G='\x20\x20');}G[bu(0x265)]()&&console[bu(0x1c3)](G);const J=Object[bu(0x31e)](F['answers'])['length'],K=F['session'][bu(0x1a3)],L=K-J;if(console[bu(0x1c3)](),a0af(bu(0x261),a0L[bu(0x24b)][bu(0x2d4)](J+'/'+K)),L>0x1d9*-0x15+-0x6c3+0x2d90){const Y=F[bu(0x159)]['filter'](Z=>!F['answers'][Z[bu(0x3b8)]])['map'](Z=>Z[bu(0x3b8)])['join'](',\x20');a0af(bu(0x154),a0L[bu(0x2f3)](L+bu(0x35d)+Y+')'));}H[bu(0x14a)]>-0xdd*-0x1c+-0x5*0x6a3+-0x301*-0x3&&a0af(bu(0x22c),a0L[bu(0x2d4)][bu(0x2f3)]('★\x20'+H[bu(0x14a)])+a0L['gray']('\x20('+H['map'](Z=>'Q'+Z)[bu(0x2cd)](',\x20')+')')),console[bu(0x1c3)](),H['length']>0x51*-0x15+0x163f+-0x7cd*0x2&&console[bu(0x1c3)](a0L[bu(0x25a)](bu(0x3e2))+a0L[bu(0x2c4)](bu(0x1b9)+H[-0xa61*0x1+-0x5d*-0x2+0x9a7])),console[bu(0x1c3)](a0L[bu(0x25a)](bu(0x251))+a0L[bu(0x2d4)]['cyan'](bu(0x3f6))+a0L['gray'](bu(0x175)));}),B['command'](be(0x18c))[be(0x11b)](be(0x2a9))[be(0x30d)](async(J,K)=>{const bv=be;a0a8('exam\x20submit\x20'+(J||'')+'\x20'+(K||''));const L=a0Y();if(L&&bv(0x268)===J&&!K&&(L[bv(0x375)]=!(-0x124b+-0x1609+0x2854),a0Z(L)),!L)return void a0aa(bv(0x23a));const Q=Object['keys'](L[bv(0x358)])[bv(0x14a)],V=L[bv(0x103)][bv(0x1a3)],W=V-Q;if(0x1ea8+0x11b9+0x5*-0x9ad===Q){const a0=a0a1(),a1=a0&&new Date()>=a0;return void(bv(0x105)===L[bv(0x103)][bv(0x2ca)]||a1?(a0a0(),a0ab(bv(0x18b)),a0ac(bv(0x181))):(a0ab('No\x20answers\x20to\x20submit.'),a0ac(bv(0x3be))));}const X=a0a1(),Y=!!(X&&new Date()>=X);if(bv(0x105)!==L[bv(0x103)][bv(0x2ca)]&&!Y&&bv(0x268)===J&&Q<-0x1*-0x2213+-0x1*-0x16a6+-0x38af){if((K||'')[bv(0x265)]()!==String(Q))return console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2f7)](bv(0x344))),console[bv(0x1c3)](a0L['bold']['red'](bv(0x1ec)+Q+'/'+V+bv(0x1e7))),console[bv(0x1c3)](a0L[bv(0x2f7)](bv(0x344))),console['log'](),console['log'](a0L[bv(0x2c4)](bv(0x2b9))+a0L[bv(0x2d4)]['yellow'](''+Q)+a0L[bv(0x2c4)]('\x20of\x20')+a0L[bv(0x2c4)](''+V)+a0L['white']('\x20questions.')),console[bv(0x1c3)](a0L['white']('\x20\x20Pass\x20threshold\x20is\x20typically\x2050%\x20—\x20')+a0L[bv(0x2d4)][bv(0x2f7)](Q+'/'+V+bv(0x2f9))),console[bv(0x1c3)](),console['log'](a0L['bold'][bv(0x2c4)](bv(0x2f0))),console[bv(0x1c3)](a0L[bv(0x25a)](bv(0x359))+a0L[bv(0x114)](bv(0x1ea))+a0L['gray'](bv(0x21e))),console['log'](a0L['gray'](bv(0x359))+a0L[bv(0x114)]('exam\x20review')+a0L['gray']('\x20\x20(see\x20which\x20questions\x20are\x20blank)')),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)]('\x20\x20If\x20you\x20really\x20want\x20to\x20submit\x20with\x20just\x20')+a0L[bv(0x2d4)][bv(0x2f3)](''+Q)+a0L['bold'][bv(0x2c4)](bv(0x30f))),console[bv(0x1c3)](a0L[bv(0x25a)](bv(0x359))+a0L[bv(0x2d4)][bv(0x114)]('exam\x20submit\x20confirm\x20'+Q)),console['log'](a0L['gray'](bv(0x252)+Q+';\x20this\x20prevents\x20accidents)')),console[bv(0x1c3)](),void(L[bv(0x375)]&&(delete L['_submitConfirmed'],a0Z(L)));L[bv(0x375)]=!(0x12d*0xe+-0x17f*0x1+0xef7*-0x1),a0Z(L);}if(bv(0x105)!==L[bv(0x103)][bv(0x2ca)]){const a2=!(-0xed7*0x2+-0x41*0x72+0x754*0x8)===L[bv(0x375)],a3=a0a1(),a4=!!(a3&&new Date()>=a3);if(!a2&&!a4){if(console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2f7)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bv(0x1c3)](a0L[bv(0x2d4)]['red'](bv(0x31c))),console['log'](a0L[bv(0x2f7)](bv(0x109))),console[bv(0x1c3)](),console[bv(0x1c3)](a0L['white'](bv(0x24d)+a0L[bv(0x2d4)]['green'](Q+'/'+V)+bv(0x3e1))),W>-0x1*0x9f9+-0x25a1+0x2f9a){const a6=L[bv(0x159)][bv(0x2eb)](a7=>!L['answers'][a7[bv(0x3b8)]])[bv(0x3f9)](a7=>'Q'+a7['number'])[bv(0x2cd)](',\x20');console[bv(0x1c3)](a0L[bv(0x2f3)]('\x20\x20'+W+bv(0x1cc)+a6));}const a5=Array[bv(0x2cf)](L[bv(0x211)])?L[bv(0x211)]:[];return a5[bv(0x14a)]>-0x1*-0x1753+-0x5*0x43+0x4*-0x581&&console['log'](a0L[bv(0x2f3)]('\x20\x20★\x20'+a5[bv(0x14a)]+bv(0x324)+a5['map'](a7=>'Q'+a7)[bv(0x2cd)](',\x20'))),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2c4)]('\x20\x20Answers\x20are\x20')+a0L[bv(0x2d4)][bv(0x2f7)]('final')+a0L[bv(0x2c4)](bv(0x133))),console[bv(0x1c3)](),console['log'](a0L[bv(0x2d4)][bv(0x2c4)]('\x20\x20To\x20confirm:\x20\x20')+a0L[bv(0x2d4)]['cyan'](bv(0x3a7))),console[bv(0x1c3)](a0L[bv(0x2c4)](bv(0x1d9))+a0L[bv(0x114)](bv(0x219))+a0L['gray']('\x20\x20or\x20\x20')+a0L[bv(0x114)]('back')),void console[bv(0x1c3)]();}a2&&(delete L[bv(0x375)],a0Z(L));}if(console[bv(0x1c3)](),bv(0x105)===L['session'][bv(0x2ca)]){try{N(-0x2ed*0x5+-0x3*0xb2f+0x302e,a0ai(bv(0x123))),await q(0x1990+-0x879+-0x32f*0x5);let a7=0x1*-0x917+-0x1*-0xea5+-0x58e;const a8=[],a9={};for(const al of L[bv(0x159)]){const am=al[bv(0x2d5)]||'Other',an={};an[bv(0x402)]=0x0,an[bv(0x3a4)]=0x0,(a9[am]||(a9[am]=an),a9[am][bv(0x3a4)]++);const ao=L['answers'][al[bv(0x3b8)]];ao&&al[bv(0x1cd)]&&ao===al[bv(0x1cd)]?(a7++,a9[am]['correct']++):a8[bv(0x1bb)](al[bv(0x3b8)]);}a8[bv(0x142)]((ap,aq)=>ap-aq),N(0x1eac+0x2d1*-0x3+-0x747*0x3,a0ai(bv(0x31a))),console['log']();const aa=new Date(L[bv(0x103)][bv(0x2d8)])[bv(0x1c9)](),ab=Math[bv(0x209)](0x1b23*0x1+-0xfbd+0x5b3*-0x2,Math[bv(0xf0)]((Date[bv(0x3c2)]()-aa)/(0x2*-0xce3+0x21a+0x6e5*0x4))),ac=Math['floor'](ab/(-0x1ffc+0x1f7f*-0x1+-0x3*-0x153d))+'m\x20'+ab%(0x3*-0x7c9+0x2481+-0xcea)+'s',ad=[...L[bv(0x159)]],ae={...L[bv(0x358)]},af=R(L);a0a0();const ag=Math[bv(0xf0)](a7/V*(-0x1d10+-0xaca+-0xca*-0x33)),ah=a0W(),ai={};ai[bv(0x3d0)]=bv(0x36d),(fetch(bv(0x23d),{'method':bv(0x2fa),'headers':ai,'body':JSON[bv(0x407)]({'type':bv(0x19a),'score':a7,'total':V,'lang':ah[bv(0x2be)]||'en','help_used':af[bv(0x329)],'help_max':af['max'],'tokens_used':0x0,'solved':ag>=0x101*-0x5+-0x10ce+0x160f?0xca*0x31+0x5c*-0x59+-0x1*0x6ad:0x9*-0x219+-0x1*-0xaff+0x7e2,'timestamp':new Date()[bv(0x18d)](),'interactions':L['interactions']||[]}),'signal':AbortSignal[bv(0x286)](-0x1*0xb6f+0x2244+-0x34d)})[bv(0x308)](()=>{}),console[bv(0x1c3)](),console[bv(0x1c3)](a0L['cyan'](bv(0x2ad))),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x1d6))),console[bv(0x1c3)](a0L['bold'][bv(0x2c4)](bv(0x169))),console[bv(0x1c3)](a0L[bv(0x2d4)]['white']('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console['log'](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x356))),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bv(0x1c3)](),console['log'](a0L['bold'](bv(0x1f1)+a0ai(bv(0x171))+':\x20'+a7+'/'+V+'\x20('+ag+'%)')),console[bv(0x1c3)](a0L[bv(0x2d4)](bv(0x1f1)+(ag>=0x87e+-0x1ef4+0x16b2?a0L[bv(0x24b)](a0ai(bv(0x2b7))):a0L[bv(0x2f7)](a0ai(bv(0x12f)))))),console['log'](a0L[bv(0x25a)](bv(0x368)+ac)),console['log'](),console[bv(0x1c3)](a0L['yellow'](bv(0x17e))),console[bv(0x1c3)](a0L[bv(0x25a)](bv(0x3b2))),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x2ad))),await q(0xde5*-0x1+-0xcf2*-0x2+-0x47));const aj=Object[bv(0x2b2)](a9);if(aj[bv(0x14a)]>0x227c+-0x2004*-0x1+-0x4280){console[bv(0x1c3)](),console[bv(0x1c3)](a0L['bold'][bv(0x2c4)]('\x20\x20By\x20category'));const ap=0x9c8+0x1507+-0x1*0x1ec5;for(const [aq,ar]of aj){const as=ar[bv(0x3a4)]>0x9*-0x265+-0xd6a+0x22f7?Math[bv(0xf0)](ar['correct']/ar['total']*(0x1481+0x1b36+-0x2f53)):-0x2252+0xc91+-0x15c1*-0x1,at=ar[bv(0x3a4)]>0x1094*0x1+0x1043+0x1*-0x20d7?Math[bv(0xf0)](ar[bv(0x402)]/ar[bv(0x3a4)]*ap):-0xdc7+0xe57*0x1+-0x90*0x1,au=ap-at,av=as>=0x13b4*-0x1+0x1fb4+0xbb0*-0x1?a0L[bv(0x24b)]:as>=-0x18d2+-0x3b4+0x1cb8?a0L[bv(0x2f3)]:a0L[bv(0x2f7)],aw=av('█'[bv(0x1ad)](at))+a0L[bv(0x25a)]('░'[bv(0x1ad)](au));console[bv(0x1c3)]('\x20\x20\x20\x20'+a0L[bv(0x2c4)](aq[bv(0x136)](-0x1f97+0x5*-0x617+0x3e1e*0x1))+'\x20'+aw+'\x20\x20'+av(ar[bv(0x402)]+'/'+ar[bv(0x3a4)])+a0L[bv(0x25a)]('\x20('+as+'%)'));}console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x276)));}const ak=a0a4(a7,V);if(a7===ak[bv(0x279)]&&ak[bv(0x25b)]>0xb6+0x1*0x21f3+-0x22a8*0x1&&a7>-0x3f9+-0x5d5*0x1+-0x9ce*-0x1&&(console['log'](),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x24b)](bv(0x3c5)))),a8[bv(0x14a)]>0xbdf+-0x7*-0x516+-0x2f79){const ax=ad[bv(0x2eb)](ay=>a8['includes'](ay[bv(0x3b8)]))[bv(0x3f9)](ay=>({...ay}));a0a5(ax);}else a0a7();if(await q(-0x1d65+0x250+0x26cd),a8['length']>-0x6ac*-0x1+-0x163+-0x7b*0xb){console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2f3)]('\x20\x20'+a8['length']+'\x20'+a0ai('incorrectIntro'))),console[bv(0x1c3)]();for(const ay of a8){const az=ad[bv(0x19e)](aC=>aC['number']===ay);if(!az)continue;const aA=ae[ay],aB=az[bv(0x1cd)];console[bv(0x1c3)](a0L[bv(0x2c4)]('\x20\x20Q'+ay+'.\x20'+az[bv(0x3fe)])),aA?console['log'](a0L[bv(0x2f7)](bv(0x359)+a0ai(bv(0x119))+':\x20'+aA+'.\x20'+az[bv(0xfa)][aA])):console[bv(0x1c3)](a0L['yellow']('\x20\x20\x20\x20'+a0ai(bv(0x119))+bv(0x35f))),aB&&console['log'](a0L['green']('\x20\x20\x20\x20'+a0ai(bv(0x402))+':\x20'+aB+'.\x20'+az['options'][aB])),az[bv(0x379)]&&console['log'](a0L[bv(0x25a)](bv(0x239)+az['explanation'])),console[bv(0x1c3)]();}}else console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x24b)]('\x20\x20'+a0ai('perfectScore')));await q(0x53b*0x7+-0x1bce+-0xf*0x11),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x276))),console[bv(0x1c3)](a0L['white']('\x20\x20'+a0ai(bv(0x3fc))+'\x20')+a0L[bv(0x2d4)][bv(0x24b)]('ai4ctf')+a0L['gray'](bv(0x1ab)+a0ai(bv(0x15e)))),console[bv(0x1c3)](a0L[bv(0x25a)]('\x20\x20'+a0ai('ai4ctfSub'))),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x276))),console[bv(0x1c3)]();}catch(aC){console[bv(0x1c3)](),a0aa(aC[bv(0x3a1)]);}return;}const Z=L['session'][bv(0x362)];try{let aD;if(N(-0xbd9+0xb2*-0x11+0x1*0x17ab,bv(0x342)),Z){const aN={};aN[bv(0x3d0)]='application/json';const aO={};aO[bv(0x1f3)]=0x0,aO[bv(0x264)]=0x0;const aP=a0W()['ctfdUrl']||'https://practice.icoa2026.au',aQ=await fetch(aP+bv(0x384)+L[bv(0x103)][bv(0x2ca)]+bv(0x338),{'method':bv(0x2fa),'headers':aN,'body':JSON[bv(0x407)]({'token':Z,'answers':L[bv(0x358)],'interactions':L[bv(0x3b5)]||[],'aiUsage':L[bv(0x285)]||aO,'bookmarks':L[bv(0x211)]||[]}),'signal':AbortSignal['timeout'](-0x22d3+0x1967*-0x3+0xa9a0)});if(!aQ['ok']){const aR=await aQ[bv(0x3ec)]()[bv(0x308)](()=>({'message':bv(0x3db)}));throw new Error(aR[bv(0x3a1)]||'Submit\x20failed');}aD=(await aQ[bv(0x3ec)]())[bv(0x326)];}else{const aS=M();if(!aS)return;aD=await aS[bv(0x30b)](L['session'][bv(0x2ca)],L[bv(0x358)]);}N(-0x1970+-0x2226+0x3bc8,bv(0x2a7)),await q(-0x1465+-0x1*-0x10c1+0x4d0),N(0x1ff2+-0x22df+0x351,'Complete!'),console[bv(0x1c3)]();const aE={};aE[bv(0x1f3)]=0x0,aE['ctf4ai']=0x0;const aF={'answered':Object[bv(0x31e)](L[bv(0x358)])['length'],'total':L[bv(0x103)][bv(0x1a3)],'bookmarks':Array['isArray'](L[bv(0x211)])?L[bv(0x211)][bv(0x14a)]:0xf02*-0x2+0x1d*-0xe5+-0xb31*-0x5,'help':R(L),'aiUsage':L[bv(0x285)]||aE,'interactions':(L[bv(0x3b5)]||[])[bv(0x14a)],'durationMin':L['session'][bv(0x15b)]||-0xe8d+0xd62+-0x12b*-0x1,'confirmedAt':L['session']['confirmedAt']||L[bv(0x103)][bv(0x2d8)],'examId':L[bv(0x103)][bv(0x2ca)]};a0a0();const aG=Math[bv(0x209)](0x1199+-0xbe6+0x1*-0x5b3,Math[bv(0xf0)]((Date[bv(0x3c2)]()-new Date(aF['confirmedAt'])[bv(0x1c9)]())/(0x20a+-0x16c9+0x18a7))),aH=Math[bv(0x363)](aG/(0x4*-0x58d+0xed8+-0x6c*-0x12)),aI=aG%(-0xa6a*0x3+-0x1*0x23d3+0x434d);console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x167))),console[bv(0x1c3)](),console['log'](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x1d6))),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x169))),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x29c))),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x126))),console['log'](a0L['bold'][bv(0x2c4)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console['log'](a0L[bv(0x2d4)][bv(0x2c4)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bv(0x1c3)]();const aJ=aD[bv(0x2b7)]?a0L['green'][bv(0x2d4)](bv(0x158)):a0L[bv(0x2f3)][bv(0x2d4)](bv(0x3fb));console[bv(0x1c3)](aJ),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2c4)](bv(0x1c0))),console[bv(0x1c3)](a0L[bv(0x2c4)](bv(0x2ba))),console[bv(0x1c3)](a0L[bv(0x2c4)](bv(0x2d0))),console[bv(0x1c3)](),console['log'](a0L[bv(0x114)](bv(0x276))),console['log'](),console[bv(0x1c3)](a0L['bold'][bv(0x2c4)]('\x20\x20Your\x20run'));const aK=aF[bv(0x3a4)]-aF[bv(0x232)];console[bv(0x1c3)]('\x20\x20\x20\x20'+a0L[bv(0x25a)](bv(0x1f8))+a0L['white'](aF['answered']+'/'+aF[bv(0x3a4)])+(aK>0x24b5+0x1*-0x165a+-0xe5b?a0L[bv(0x25a)](bv(0x1b8)+aK+'\x20skipped'):'')),console[bv(0x1c3)](bv(0x359)+a0L[bv(0x25a)](bv(0x328))+a0L[bv(0x2c4)](aH+'m\x20'+aI+'s')+a0L['gray'](bv(0x206)+aF[bv(0x250)]+bv(0x14d))),aF[bv(0x211)]>0x771*-0x3+-0x233b+0x398e&&console[bv(0x1c3)](bv(0x359)+a0L[bv(0x25a)](bv(0x322))+a0L[bv(0x2f3)]('★\x20'+aF[bv(0x211)])),console[bv(0x1c3)]();const aL=aD['categoryStats'];if(aL&&Object[bv(0x31e)](aL)[bv(0x14a)]>=0xea1+0x1526+-0x23c5){const aT=Object[bv(0x2b2)](aL)[bv(0x2eb)](([,aY])=>aY[bv(0x3a4)]>0x70c+-0x2655+0x1*0x1f49)['map'](([aY,aZ])=>({'cat':aY,'pct':aZ[bv(0x402)]/aZ[bv(0x3a4)]}))[bv(0x142)]((aY,aZ)=>aZ['pct']-aY[bv(0x34e)]),aU=Math[bv(0x372)](0x2eb+-0x25e5+-0x22fc*-0x1,Math[bv(0x25f)](aT[bv(0x14a)]/(-0x5*0x101+0x1117+-0xc0f))),aV=Math[bv(0x372)](0xe75+0x1a*0x6+-0xf0f,Math[bv(0x25f)](aT['length']/(-0xbd2+-0xfb1+0xdc3*0x2))),aW=aT[bv(0x34d)](-0x7*-0x235+0x971*0x2+-0x2255,aU)[bv(0x3f9)](aY=>aY[bv(0x37d)]),aX=aT['slice'](-aV)[bv(0x3f9)](aY=>aY[bv(0x37d)]);aW[bv(0x336)](aY=>aX['includes'](aY))||(console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x30e))),console['log'](bv(0x359)+a0L[bv(0x24b)](bv(0x227))+a0L[bv(0x2c4)](aW[bv(0x2cd)](',\x20'))),console[bv(0x1c3)](bv(0x359)+a0L[bv(0x2f3)](bv(0x28f))+a0L[bv(0x2c4)](aX[bv(0x2cd)](',\x20'))),console[bv(0x1c3)](a0L[bv(0x25a)](bv(0x124))),console[bv(0x1c3)]());}console[bv(0x1c3)](a0L[bv(0x2d4)]['white'](bv(0x164))),console[bv(0x1c3)](bv(0x359)+a0L[bv(0x25a)](bv(0xf5))+a0L[bv(0x2c4)](aF['help'][bv(0x329)]+'/'+aF[bv(0x210)][bv(0x209)])),console[bv(0x1c3)](bv(0x359)+a0L['gray'](bv(0x1e8))+a0L[bv(0x2c4)](aF[bv(0x285)][bv(0x1f3)]+bv(0x355))+a0L[bv(0x25a)](bv(0x1b8))+a0L[bv(0x2c4)](aF['aiUsage']['ctf4ai']+bv(0x2d3))),console['log'](),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x276))),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x2b6))),console[bv(0x1c3)](a0L[bv(0x25a)]('\x20\x20·\x20Your\x20national\x20organizer\x20will\x20announce\x20selection\x20results.')),console['log'](a0L[bv(0x25a)](bv(0x192))+a0L[bv(0x2c4)](bv(0x3a3))+a0L[bv(0x25a)](bv(0x1da))),console[bv(0x1c3)](a0L['gray'](bv(0x20c))+a0L[bv(0x2c4)](bv(0x317))),console[bv(0x1c3)]();const {showCToBUpgradePrompt:aM}=await import('../lib/paper-upgrade.js');aM(aF['examId'],aD[bv(0x2b7)]),console['log'](a0L[bv(0x2f3)](bv(0x3bf))),console[bv(0x1c3)](a0L[bv(0x114)]['underline'](bv(0x184))),console['log'](),console[bv(0x1c3)](a0L['cyan'](bv(0x167))),console[bv(0x1c3)]();}catch(aY){console['log'](),a0aa(aY['message']);}}),B[be(0x395)]('result\x20[id]')[be(0x11b)](be(0x307))[be(0x30d)](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(0x3df));F=J[bw(0x103)][bw(0x2ca)];}const H=a0ag('Loading\x20result...');H['start']();try{const K=await G[bw(0x315)](F);H[bw(0x101)]('Result\x20loaded'),console['log'](),a0ae(K[bw(0x302)]),a0af('Score',a0L['bold'](K[bw(0x171)]+'/'+K[bw(0x3a4)])),a0af(bw(0x39c),a0L[bw(0x2d4)](K[bw(0x253)]+'%')),a0af(bw(0x33b),K[bw(0x2b7)]?a0L[bw(0x24b)][bw(0x2d4)](bw(0x1f4)):a0L['red'][bw(0x2d4)](bw(0x3d5))),a0af(bw(0x17c),K[bw(0x1d2)]),console[bw(0x1c3)]();}catch(L){H[bw(0x179)](bw(0x218)),a0aa(L[bw(0x3a1)]);}}),B[be(0x395)](be(0x313))[be(0x11b)](be(0x378))[be(0x30d)](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(0x103)][bx(0x362)],a3=a0a1(),a4=!!a2&&a2[bx(0x265)]()[bx(0x1ce)]()!==J['trim']()[bx(0x1ce)](),a5=!!a3&&a3['getTime']()+(-0x13f67a+0x2eda79+0xd63*0xb)<Date['now']();if(a4&&a5)return Q(),console[bx(0x1c3)](),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x335))),console[bx(0x1c3)](),console[bx(0x1c3)](a0L[bx(0x2c4)](bx(0x21d))+a0L[bx(0x2d4)][bx(0x114)](bx(0x258)+J)),void console[bx(0x1c3)]();if(!a2&&J)return V['session'][bx(0x362)]=J[bx(0x265)](),L(V),console['log'](),console[bx(0x1c3)](a0L[bx(0x24b)](bx(0x254))),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x3c8))+a0L[bx(0x2c4)](bx(0x34a))+a0L[bx(0x25a)](bx(0x2e5))+a0L['white'](bx(0x3f6))),console['log'](),console[bx(0x1c3)](a0L[bx(0x2d4)][bx(0x2c4)]('\x20\x20Continue\x20this\x20exam:')),console[bx(0x1c3)](a0L[bx(0x25a)]('\x20\x20\x20\x20→\x20')+a0L['bold'][bx(0x114)](bx(0x1ea))+a0L['gray'](bx(0x127))),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x239))+a0L[bx(0x2d4)]['cyan'](bx(0x219))+a0L['gray'](bx(0xfc))),void console['log']();const a6=Object[bx(0x31e)](V[bx(0x358)])[bx(0x14a)],a7=V[bx(0x103)][bx(0x1a3)],a8=a0a1(),a9=a8?Math[bx(0x209)](0x25a5+0x900+-0x2ea5,Math[bx(0xf0)]((a8['getTime']()-Date[bx(0x3c2)]())/(-0x15ab6+-0xec87+-0x25*-0x1619))):null;return console[bx(0x1c3)](),console[bx(0x1c3)](a0L['yellow'](bx(0x346))),console[bx(0x1c3)](),console['log'](a0L[bx(0x25a)]('\x20\x20Exam:\x20\x20\x20\x20')+a0L[bx(0x2c4)](V[bx(0x103)][bx(0x302)])),a2&&console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x37f))+a0L[bx(0x2c4)](a2)+(a2===J?a0L[bx(0x24b)](bx(0x13f)):a0L[bx(0x2f3)](bx(0x31f)))),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0xf2))+a0L[bx(0x2c4)](a6+'/'+a7)),null!==a9&&console[bx(0x1c3)](a0L['gray'](bx(0x2c7))+a0L[bx(0x2c4)](a9+bx(0x3c0))),console['log'](),console[bx(0x1c3)](a0L[bx(0x2d4)]['white'](bx(0x2ce))),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x239))+a0L['bold'][bx(0x114)](bx(0x1ea))+a0L[bx(0x25a)]('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x239))+a0L['bold'][bx(0x114)]('exam\x20review')+a0L[bx(0x25a)]('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x239))+a0L[bx(0x2d4)][bx(0x114)](bx(0x3f6))+a0L[bx(0x25a)]('\x20\x20\x20finish\x20and\x20submit')),a2&&a2!==J&&(console[bx(0x1c3)](),console[bx(0x1c3)](a0L[bx(0x2f3)](bx(0x1d4))),console[bx(0x1c3)](a0L[bx(0x2f3)](bx(0x3b3))),console[bx(0x1c3)](),console[bx(0x1c3)](a0L['gray'](bx(0x1db))),console[bx(0x1c3)](a0L['gray'](bx(0x34c))+a0L['bold'][bx(0x114)](bx(0x187))+a0L[bx(0x25a)]('\x20to\x20wipe\x20local\x20state,\x20then\x20re-enter\x20the\x20new\x20token.'))),void console[bx(0x1c3)]();}const {isNativeWindowsCmd:W}=await import('../lib/platform.js');if(!W()&&!a0am()){let aa=!(0x2*0x48a+-0x32d+0x12e*-0x5);try{const ab={};ab[bx(0x3d0)]=bx(0x36d);const ac=a0W()[bx(0x1ed)]||bx(0x188),ad=await fetch(ac+bx(0x1fa),{'method':bx(0x2fa),'headers':ab,'body':JSON[bx(0x407)]({'token':J[bx(0x265)](),'deviceHash':a0aj(),'peek':!(-0x569*0x1+-0x22b5*0x1+0x316*0xd)}),'signal':AbortSignal['timeout'](-0x1e01*-0x1+-0x2039+0x1*0x15c0)});if(ad['ok']){const ae=await ad[bx(0x3ec)]();(ae?.['data']?.[bx(0x23f)]||'')['endsWith']('-c')&&(aa=!(-0xa*0x22f+0x1193+-0x443*-0x1));}}catch{}if(!aa)return console[bx(0x1c3)](),a0ab(bx(0x3fa)),console[bx(0x1c3)](a0L[bx(0x25a)]('\x20\x20→\x20')+a0L['bold']['cyan']('exam\x20setup')),console[bx(0x1c3)](a0L[bx(0x25a)]('\x20\x20Or\x20type\x20')+a0L['bold'][bx(0x114)](bx(0x287))+a0L[bx(0x25a)](bx(0xf1))),console['log'](a0L[bx(0x25a)](bx(0x2d7))),void console[bx(0x1c3)]();}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';const Y=X[J[bx(0x265)]()['substring'](-0x1467+-0x2089+0x34f0,-0x250a+0xf2e+0x15de)['toUpperCase']()],Z=a0W(),a0=Z[bx(0x1ed)]||'https://practice.icoa2026.au',a1=Y||Z[bx(0x2be)]||'en';Y&&Y!==(Z[bx(0x2be)]||'en')&&a0X({'language':Y}),console[bx(0x1c3)](),N(0xa7*-0x19+-0xb7*0x7+0x1550,bx(0x15f));try{const af={};af[bx(0x3d0)]=bx(0x36d);const ag=await fetch(a0+bx(0x1fa),{'method':bx(0x2fa),'headers':af,'body':JSON['stringify']({'token':J['trim'](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bx(0x286)](-0x3829+-0x1*0x11c2+0x70fb)});if(!ag['ok']){N(-0x13f3+0x309+0x10ea,''),console['log']();const ao=await ag[bx(0x3ec)]()[bx(0x308)](()=>({'message':'Invalid\x20token'}));return a0aa(ao['message']||bx(0x2a4)),void a0ac('Check\x20your\x20token\x20or\x20contact\x20your\x20proctor.');}N(-0x81*0xe+0x1103+-0xe5*0xb,bx(0x231));const ah=await ag[bx(0x3ec)](),{session:ai,questions:aj,languages:ak}=ah[bx(0x326)];N(0x245e+-0x191f*-0x1+-0x3d41,'Preparing...'),await q(0x1724+0x2*-0xd85+-0x4ae*-0x1),N(-0x1eaa+0x2bd*0x7+0x11*0xb3,'Ready!'),console[bx(0x1c3)](),console[bx(0x1c3)](),a0ae(ai[bx(0x302)]),console[bx(0x1c3)](),a0af(bx(0x130),ai[bx(0x1a3)]+bx(0x1a1)),a0af(bx(0x32a),ai[bx(0x15b)]+bx(0x33a)),a0af(bx(0x11c),(ai['totalScore']||-0x14b9+0x1d6+-0x1379*-0x1)+bx(0x3dc)),a0af(bx(0x3ce),(ai['passingScore']||-0x43f+-0x1*-0x1e29+0x199f*-0x1)+bx(0x21c)),console['log'](),console[bx(0x1c3)](a0L[bx(0x2c4)](bx(0x1d7))),console['log'](a0L[bx(0x2c4)](bx(0x3b9))),console[bx(0x1c3)](a0L[bx(0x2c4)](bx(0x15c))),console[bx(0x1c3)](a0L['white'](bx(0x22d))),ak&&ak[bx(0x14a)]>-0x1*0x1c0e+0xc24+0x5*0x32f&&console['log'](a0L[bx(0x2c4)](bx(0x26c)+ak['join'](',\x20')+bx(0x29a))),console['log'](),console[bx(0x1c3)](a0L[bx(0x2f3)](bx(0x1ff))),console['log'](a0L[bx(0x2c4)](bx(0x2c2))),console[bx(0x1c3)](a0L[bx(0x2c4)](bx(0x1f0))),console[bx(0x1c3)](a0L['white'](bx(0x140))),console[bx(0x1c3)](),await new Promise(ap=>{const by=bx;process[by(0x3ea)][by(0x2b8)](a0L[by(0x2d4)]['yellow'](by(0x37c)));const aq=!!process[by(0x309)][by(0x199)]&&process[by(0x309)][by(0x1e6)];process[by(0x309)]['isTTY']&&process[by(0x309)]['setRawMode']&&process[by(0x309)]['setRawMode'](!(-0x1a02+-0x20b1*0x1+-0x121*-0x34));const ar=as=>{const bz=by,at=as[bz(0x25e)]();(at['includes']('\x0a')||at['includes']('\x0d'))&&(process[bz(0x309)][bz(0x1a9)]('data',ar),process[bz(0x309)][bz(0x199)]&&process[bz(0x309)][bz(0x23c)]&&process[bz(0x309)][bz(0x23c)](aq),process[bz(0x3ea)][bz(0x2b8)]('\x0a'),ap());};process[by(0x309)]['on'](by(0x326),ar),process[by(0x309)][by(0x207)]();});const al=new Date()[bx(0x18d)]();ai[bx(0x27c)]=al,ai[bx(0x362)]=J[bx(0x265)]();try{const ap=Date[bx(0x3c2)](),aq=await fetch(a0+bx(0x17f),{'method':bx(0x267),'signal':AbortSignal[bx(0x286)](-0x1d24+-0x1*-0x981+-0x1f5b*-0x1)});if(aq['ok']){const ar=await aq['json'](),as=ar?.[bx(0x326)]?.[bx(0x390)];if('number'==typeof as&&as>-0x631*0x1+0x10eb*-0x2+-0x2807*-0x1){const at=(ap+Date[bx(0x3c2)]())/(0x1cb4+0x11d*0x1d+-0x3cfb);ai[bx(0x298)]=Math[bx(0xf0)](as-at),ai[bx(0x111)]=as+(-0x1*-0x2601+0x16af+-0x3c74)*ai[bx(0x15b)]*(0x1dc0+0x1ad*-0x1+-0x10d*0x17);}}}catch{}const am={};am[bx(0x1f3)]=0x0,am[bx(0x264)]=0x0;const an={};an[bx(0x103)]=ai,an[bx(0x159)]=aj,an[bx(0x358)]={},an[bx(0x3b5)]=[],an[bx(0x285)]=am,(a0Z(an),console[bx(0x1c3)](),a0a9(bx(0x2af)),a0af(bx(0x3a0),ai['durationMinutes']+bx(0x1dc)),aj['length']>-0x73f+0x1431*0x1+0x679*-0x2&&U(aj[0x3*0x1c+-0xa87+0xa33]));}catch(au){console[bx(0x1c3)](),bx(0x35e)===au[bx(0x3b6)]?a0aa(bx(0x3a6)):a0aa(au[bx(0x3a1)]||bx(0x12a));}}),B['command'](be(0x19c),{'hidden':!(0x1ceb+-0x1e2*-0x7+-0x2a19)})[be(0x11b)]('Abandon\x20current\x20exam\x20session\x20and\x20wipe\x20local\x20state\x20(recovery\x20only)')[be(0x30d)](async()=>{const bA=be;a0a8(bA(0x187));const {getRealExamState:F,clearExamState:G}=await import(bA(0x174)),H=F();if(!H)return console['log'](),console[bA(0x1c3)](a0L[bA(0x25a)](bA(0x2bf))),void console['log']();const J=H[bA(0x103)][bA(0x362)];console['log'](),console[bA(0x1c3)](a0L['yellow'](bA(0x376))),console['log'](a0L[bA(0x25a)](bA(0x340))+a0L[bA(0x2c4)](H[bA(0x103)][bA(0x302)])),J&&console[bA(0x1c3)](a0L[bA(0x25a)](bA(0x1ac))+a0L[bA(0x2c4)](J)),console[bA(0x1c3)](a0L['gray'](bA(0x197))),console['log'](a0L[bA(0x25a)](bA(0x1c1))),console[bA(0x1c3)](),console[bA(0x1c3)](a0L['gray'](bA(0x2a0))+a0L[bA(0x2d4)][bA(0x114)](bA(0x19c))+a0L['gray'](bA(0x10c)));const {getMainRl:K}=await import(bA(0x157)),L=K();if(bA(0x19c)!==(await new Promise(Q=>{const bB=bA;if(L){const V=L[bB(0x195)](bB(0x360))[bB(0x34d)]();L['removeAllListeners'](bB(0x360)),L['setPrompt'](bB(0x1ef)),L[bB(0x230)](),L[bB(0x36a)](bB(0x360),W=>{const bC=bB;for(const X of V)L['on']('line',X);Q(W[bC(0x265)]());});}else((async()=>{const bD=bB,W={};W[bD(0x24f)]=process[bD(0x309)],W[bD(0x11e)]=process[bD(0x3ea)];const {createInterface:X}=await import(bD(0x347)),Y=X(W);Y['question'](bD(0x1ef),Z=>{const bE=bD;Y['close'](),Q(Z[bE(0x265)]());});})());}))[bA(0x2bd)]())return console[bA(0x1c3)](a0L['gray'](bA(0x1b5))),void console[bA(0x1c3)]();G(),console['log'](),console[bA(0x1c3)](a0L[bA(0x24b)](bA(0x28b))),console[bA(0x1c3)](a0L['gray'](bA(0x374))+a0L[bA(0x2d4)]['cyan'](bA(0x2b5))),console[bA(0x1c3)]();}),B[be(0x395)](be(0x3a3))[be(0x11b)](be(0x39a))[be(0x30d)](async()=>{const bF=be;a0a8('exam\x20demo'),E(bF(0x1a6));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import('../lib/demo-exam.js');a0W()[bF(0x316)]||(await(async function(){const bG=bF;let a0=!(0x681+-0x35f*0x9+0x17d7);const a1=process['stdin'],a2=()=>{a0=!(0x346*0x9+0xa06+-0x277c);},a3=a1[bG(0x199)]&&bG(0x170)==typeof a1[bG(0x23c)];a3&&(a1['setRawMode'](!(-0x1cb2+-0xca3+0x2955)),a1[bG(0x207)](),a1[bG(0x36a)]('data',a2));const a4=async a5=>{let a6=0xb9a+-0x7*-0x551+-0x30d1;for(;a6<a5&&!a0;)await q(0x2580+0xd87*0x2+-0x403e),a6+=0x1e17*-0x1+0x1*0x257e+-0x1*0x717;};try{if(console['clear'](),console[bG(0x1c3)](),console[bG(0x1c3)](a0L[bG(0x25a)](bG(0x1f1))+a0L[bG(0x274)]('(press\x20any\x20key\x20to\x20skip)')),console['log'](),console['log'](a0L['bold'][bG(0x2c4)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console['log'](a0L[bG(0x2d4)][bG(0x2c4)](bG(0x169))),console[bG(0x1c3)](a0L[bG(0x2d4)][bG(0x2c4)](bG(0x29c))),console[bG(0x1c3)](a0L[bG(0x2d4)][bG(0x2c4)](bG(0x126))),console[bG(0x1c3)](a0L['bold'][bG(0x2c4)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console['log'](a0L[bG(0x2d4)][bG(0x2c4)](bG(0x26f))),console['log'](),console[bG(0x1c3)](a0L[bG(0x2d4)]['yellow'](bG(0x1c8))),console[bG(0x1c3)](a0L[bG(0x25a)]('\x20\x20\x20Sydney,\x20Australia\x20\x20·\x20\x20Jun\x2027\x20–\x20Jul\x202,\x202026')),await a4(0x2147+-0x23d2+0xc4f*0x1),a0)return;if(console[bG(0x1c3)](),console['log'](a0L['white']('\x20\x20\x20What\x20you\x27ll\x20do\x20today:')),console['log'](),await a4(-0x13b*-0xd+-0xb*0x2e3+0x121a),a0)return;if(console['log'](a0L[bG(0x114)](bG(0x3d3))+a0L['white']('Answer\x2010\x20quick\x20questions')+a0L[bG(0x25a)](bG(0x262))),await a4(0x128c+0x178*0x3+-0x1438*0x1),a0)return;if(console['log'](a0L[bG(0x24b)](bG(0x3d3))+a0L['white'](bG(0x3cb))+a0L[bG(0x25a)](bG(0x1ba))),await a4(0x2226*-0x1+0x4f3+0x1fef),a0)return;if(console[bG(0x1c3)](a0L[bG(0x2f7)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bG(0x2c4)](bG(0x162))+a0L[bG(0x25a)](bG(0x2fc))),await a4(-0x63*0x2f+0x93*0x18+0x1*0x7e9),a0)return;if(console[bG(0x1c3)](),console[bG(0x1c3)](a0L[bG(0x2d4)][bG(0x2c4)](bG(0x19b))+a0L[bG(0x2d4)][bG(0x2f3)]('IS')+a0L[bG(0x2d4)][bG(0x2c4)](bG(0x277))),console['log'](),await a4(0x116a+0x2d*-0x98+-0xf2a*-0x1),a0)return;if(console[bG(0x1c3)](a0L[bG(0x25a)](bG(0x310))),await a4(0x2552+-0x49*0x9+-0x1*0x2131),a0)return;if(console[bG(0x1c3)](a0L['gray'](bG(0x331))),await a4(0x16eb+-0x8a4+0x1*-0xcb7),a0)return;if(console[bG(0x1c3)](a0L[bG(0x25a)](bG(0x196))),await a4(0x1b9c+0x118d*0x1+-0x2a09),a0)return;console[bG(0x1c3)](),console[bG(0x1c3)](a0L['bold'][bG(0x114)](bG(0x223))),await a4(0x8fa*0x1+-0x799+-0xe3f*-0x1);}finally{((()=>{const bH=bG;if(a3){a1['removeListener'](bH(0x326),a2);try{a1['setRawMode'](!(0x8*0x242+-0x188c+0xb*0x97));}catch{}a1[bH(0x100)]();}})()),console[bG(0x3f1)]();}}()),a0X({'demoIntroSeen':!(0x12fa*0x1+-0x16*0x132+-0x3a9*-0x2)})),console[bF(0x1c3)](),console['log'](a0L[bF(0x2c4)]('\x20\x20Demo:\x20')+a0L[bF(0x25a)](H+bF(0x238)+J+'.\x20No\x20timer.\x20Free\x20practice.')),console[bF(0x1c3)](a0L[bF(0x25a)](bF(0x13b))+a0L[bF(0x114)](bF(0x153))+a0L[bF(0x25a)](bF(0x2ac))+a0L[bF(0x114)](bF(0x287))+a0L['gray']('\x20at\x20any\x20time.')),await new Promise(a0=>{const bI=bF;process[bI(0x3ea)]['write'](a0L['bold'][bI(0x2f3)]('\x20\x20Press\x20Enter\x20to\x20begin...\x20'));const a1=!!process['stdin'][bI(0x199)]&&process['stdin']['isRaw'];process[bI(0x309)][bI(0x199)]&&process[bI(0x309)][bI(0x23c)]&&process[bI(0x309)]['setRawMode'](!(-0x9*0x31a+0x76*0x17+0x1151));const a2=a3=>{const bJ=bI,a4=a3['toString']();(a4[bJ(0x1a4)]('\x0a')||a4[bJ(0x1a4)]('\x0d'))&&(process[bJ(0x309)][bJ(0x1a9)](bJ(0x326),a2),process[bJ(0x309)][bJ(0x199)]&&process[bJ(0x309)][bJ(0x23c)]&&process[bJ(0x309)][bJ(0x23c)](a1),process[bJ(0x3ea)]['write']('\x0a'),a0());};process[bI(0x309)]['on'](bI(0x326),a2),process[bI(0x309)]['resume']();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bF(0x174));Q()&&V('demo-free'),console[bF(0x1c3)](),a0ae(bF(0x373)),console[bF(0x1c3)](),console[bF(0x1c3)](a0L[bF(0x2c4)](bF(0x32e))),console[bF(0x1c3)](a0L[bF(0x2c4)]('\x20\x20'+H+bF(0x1e4)+J+bF(0x2e8)));const W=a0a3();if(W[bF(0x25b)]>-0x1cce+0x29*0x9d+0x1*0x3a9){const a0=W[bF(0x21b)],a1=a0>=0x1efe+-0x3*0xb25+0x2f*0xf?a0L['green']:a0>=-0xa3*0x22+-0xd41+0x2323?a0L[bF(0x2f3)]:a0L[bF(0x2c4)];console[bF(0x1c3)](),console[bF(0x1c3)](a0L['gray'](bF(0x3e8))+a1(W[bF(0x279)]+'/'+H+'\x20('+a0+'%)')+a0L[bF(0x25a)](bF(0x1b8)+W['attempts']+bF(0x18f)));}console['log'](),console[bF(0x1c3)](a0L[bF(0x25a)](bF(0x38c))),console['log'](a0L[bF(0x2c4)]('\x20\x20'+a0ai('howToPlay'))),console[bF(0x1c3)](a0L[bF(0x2f3)](bF(0x152))+a0L[bF(0x25a)](bF(0x288)+a0ai(bF(0x333)))),console[bF(0x1c3)](a0L['yellow'](bF(0x2da))+a0L[bF(0x25a)](bF(0x2e7)+a0ai(bF(0x110)))),console[bF(0x1c3)](a0L[bF(0x2f3)]('\x20\x20\x20\x20next')+a0L['gray'](bF(0x191))+a0L[bF(0x2f3)](bF(0x2d6))+a0L[bF(0x25a)]('\x20\x20\x20\x20'+a0ai(bF(0x2ef)))),console[bF(0x1c3)](a0L[bF(0x2f3)](bF(0x189))+a0L[bF(0x25a)]('\x20\x20\x20\x20\x20'+a0ai(bF(0x2b1)))),console[bF(0x1c3)](a0L['yellow'](bF(0x177))+a0L['gray'](bF(0x2e7)+a0ai('htpBack'))),console[bF(0x1c3)](a0L[bF(0x2f3)](bF(0x18a))+a0L[bF(0x25a)](bF(0x2e7)+a0ai('htpLang'))),console[bF(0x1c3)](a0L['gray'](bF(0x401))),console['log'](a0L[bF(0x25a)](bF(0x1cb))),console[bF(0x1c3)](a0L[bF(0x25a)](bF(0x38c))),console[bF(0x1c3)]();const {getConfig:X}=await import('../lib/config.js'),Y=X()[bF(0x2be)]||'en';'en'===Y?(console[bF(0x1c3)](a0L[bF(0x25a)](bF(0x365))),console[bF(0x1c3)](a0L[bF(0x25a)]('\x20\x20lang\x20es\x20(Español)\x20·\x20lang\x20zh\x20(中文)\x20·\x20lang\x20ko\x20(한국어)\x20·\x20lang\x20ja\x20(日本語)')),console[bF(0x1c3)](a0L[bF(0x25a)](bF(0x2ed)))):console[bF(0x1c3)](a0L[bF(0x24b)](bF(0x17a)+Y)),console[bF(0x1c3)](),console['log'](a0L[bF(0x2c4)](bF(0x3bd)));const Z={...L,'startedAt':new Date()[bF(0x18d)]()};console[bF(0x1c3)](),N(-0xdc5+0x11c3+0x3fe*-0x1,bF(0x249)),await q(-0x11d8+-0x8c9+0x923*0x3),N(0x1927+-0x3b*-0x89+-0x3892,bF(0x1aa)),await q(0x212*0xb+-0x19*0x2+0x2*-0xae6),N(-0x23db+-0x1*-0x141b+0x1010,bF(0x3af)),await q(0xe0a+-0x1*-0xdbb+0x1b2f*-0x1),N(-0x1541*-0x1+0x1d7+-0x16b4,'Ready!'),console['log'](),console[bF(0x1c3)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af('Questions',String(H)),a0af(bF(0x32a),bF(0x3f5)),U(K[0xb35+0x1*-0x10+-0xb25]);}),B[be(0x395)](be(0x30a))[be(0x11b)]('Retry\x20only\x20the\x20questions\x20you\x20got\x20wrong\x20last\x20demo\x20attempt')[be(0x30d)](async()=>{const bK=be;a0a8(bK(0x1ee)),E('post-report-retry');const {getLocalizedDemoSession:F}=await import('../lib/demo-exam.js'),G=a0a6();if(!G||0x26ad+0x1232+-0xd3*0x45===G['length'])return console[bK(0x1c3)](),console[bK(0x1c3)](a0L['yellow'](bK(0x320))+a0L[bK(0x2d4)][bK(0x114)]('demo')+a0L[bK(0x2f3)](bK(0x2dd))),void console['log']();const H=a0Y();if(H){if(bK(0x105)!==H[bK(0x103)]['examId'])return a0ab(bK(0x3cc)+H[bK(0x103)][bK(0x302)]+bK(0x1a5)),void a0ac(bK(0x1a7));a0a0();}const J=V=>{const bL=bK;if(!V[bL(0x1cd)])return V;const W=V[bL(0xfa)][V[bL(0x1cd)]],X=['A','B','C','D'][bL(0x3f9)](a2=>V[bL(0xfa)][a2]);for(let a2=X[bL(0x14a)]-(0x740+-0x13b6+0xc77);a2>-0x5*-0x63d+0x4e7*-0x2+-0x3*0x721;a2--){const a3=Math[bL(0x363)](Math[bL(0x39f)]()*(a2+(-0x6*0x88+-0x146d+-0x1*-0x179e)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[0x52*0x2c+0x14cd*-0x1+0x6b5],Y['B']=X[0x1b34+0x10*-0x14b+-0x683],Y['C']=X[-0x1a9d+0x17*0x9d+0xc84],Y['D']=X[0x3b*-0x13+-0x2*0x6b+0x53a];const Z=Y,a0=['A','B','C','D'][bL(0x19e)](a4=>Z[a4]===W),a1={...V};return a1['options']=Z,a1[bL(0x1cd)]=a0,a1;},K=G[bK(0x3f9)]((V,W)=>({...J(V),'number':W+(0x1bce*-0x1+0x3ce*-0x5+0x277*0x13)})),L=F(),Q={...L,'examName':L['examName']+bK(0xf9),'questionCount':K['length'],'startedAt':new Date()[bK(0x18d)]()};console[bK(0x1c3)](),a0ae('Demo\x20Retry\x20—\x20Wrong\x20Questions\x20Only'),console['log'](),console[bK(0x1c3)](a0L[bK(0x2c4)](bK(0x377)+K[bK(0x14a)]+bK(0x12d)+(-0x213d*-0x1+0x1985+0x1*-0x3ac1===K['length']?'':'s')+bK(0x1f5))),console['log'](a0L[bK(0x25a)](bK(0x2ea))),console[bK(0x1c3)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af('Questions',String(K[bK(0x14a)])),a0af(bK(0x32a),'No\x20time\x20limit'),U(K[-0xf2a+0x213f*-0x1+0x3069]);}),B[be(0x395)](be(0x15a))[be(0x11b)]('Install\x20Python\x20environment\x20for\x20practical\x20exam\x20questions')[be(0x30d)](async()=>{const bM=be;if(a0a8(bM(0x28c)),0xc2*-0x9+-0x1*0x1309+-0x19db*-0x1===a0a3()[bM(0x25b)])return console[bM(0x1c3)](),a0ab('Complete\x20the\x20demo\x20first\x20before\x20setting\x20up.'),console['log'](a0L[bM(0x25a)](bM(0x1fd))+a0L[bM(0x2d4)][bM(0x114)]('exam\x20demo')),void console[bM(0x1c3)]();const K=a0ak();if(K){const a4=K['installedPackages'][bM(0x14a)],a5=a4+K[bM(0x278)]['length'];if(a4>=-0x7*0x9d+0x1*0xe06+-0xd*0xbf||(a5>0x1*0x108e+0x2*0xa0d+0x92a*-0x4?a4/a5:0x240d+0x1f*0x67+0x2*-0x1843)>=-0x1517+0x746+0xdd1*0x1+0.7)return console[bM(0x1c3)](),console[bM(0x1c3)](a0L['green'](bM(0xf4))+a0L[bM(0x24b)]('Environment\x20already\x20set\x20up')),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x2ec)+K[bM(0x2fd)][bM(0x225)]('T')[0x766+-0x179f+0x1039])),console['log'](a0L[bM(0x25a)](bM(0x34b)+K['pythonVersion'])),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x282)+a4+bM(0x1c7))),K[bM(0x278)][bM(0x14a)]>0x20c8+-0x2*0xbf1+-0x8e6&&console[bM(0x1c3)](a0L[bM(0x2f3)](bM(0x120)+K[bM(0x278)][bM(0x2cd)](',\x20'))),console[bM(0x1c3)](),console['log'](a0L[bM(0x2c4)]('\x20\x20Next\x20step:\x20')+a0L[bM(0x2d4)][bM(0x114)](bM(0x2b5))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x408))+a0L[bM(0x2d4)][bM(0x114)]('back')+a0L[bM(0x25a)](bM(0xf1))),void console[bM(0x1c3)]();console['log'](),console[bM(0x1c3)](a0L[bM(0x2f3)](bM(0x27d)+a4+'/'+a5+'\x20packages.\x20Retrying...')),console[bM(0x1c3)]();}console[bM(0x1c3)](),a0ae(bM(0x2ff)),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2c4)]('\x20\x20Installing\x20Python\x20packages\x20for\x20practical\x20questions.')),console['log'](a0L[bM(0x25a)]('\x20\x20Expected:\x201-2\x20minutes\x20·\x20~150MB\x20disk')),console[bM(0x1c3)]();const L=(a6,a7)=>{const bN=bM,a8=process['platform'];console[bN(0x1c3)](),a0aa(bN(0x10f)===a6?'Python\x203\x20not\x20found.':bN(0x156)+a7+bN(0x354)),console[bN(0x1c3)](),console[bN(0x1c3)](a0L[bN(0x2d4)][bN(0x2c4)](bN(0x217))),console[bN(0x1c3)](),bN(0x350)===a8?(console[bN(0x1c3)](a0L[bN(0x2f3)](bN(0x24e))),console[bN(0x1c3)](a0L[bN(0x24b)]('\x20\x20\x20\x20brew\x20install\x20python@3.12')),console[bN(0x1c3)](),console[bN(0x1c3)](a0L[bN(0x25a)](bN(0x306))),console[bN(0x1c3)](a0L['gray'](bN(0x193)))):bN(0x3bc)===a8?(console[bN(0x1c3)](a0L['yellow'](bN(0x36b))),console['log'](a0L['green'](bN(0x3c4))),console[bN(0x1c3)](a0L[bN(0x24b)](bN(0x386))),console['log'](a0L['green'](bN(0x22e))),console[bN(0x1c3)](a0L['gray'](bN(0x38d))),console[bN(0x1c3)](),console['log'](a0L[bN(0x2f3)](bN(0x2cc))),console['log'](a0L['green'](bN(0x382))),console[bN(0x1c3)](),console[bN(0x1c3)](a0L[bN(0x2f3)](bN(0x17b))),console[bN(0x1c3)](a0L[bN(0x24b)](bN(0x393)))):bN(0x107)===a8?(console[bN(0x1c3)](a0L[bN(0x2f3)]('\x20\x20Windows\x20(winget,\x20recommended):')),console[bN(0x1c3)](a0L[bN(0x24b)](bN(0x2c0))),console[bN(0x1c3)](),console[bN(0x1c3)](a0L[bN(0x25a)](bN(0x306))),console[bN(0x1c3)](a0L['gray'](bN(0x20a)))):console[bN(0x1c3)](a0L[bN(0x25a)](bN(0x36f))),console[bN(0x1c3)](),console[bN(0x1c3)](a0L['white'](bN(0x2c8))+a0L['bold'][bN(0x114)](bN(0x28c))),console['log']();},Q=bM(0x3bb);let V='';try{const a6={};a6[bM(0x1d0)]=bM(0x409),a6[bM(0x286)]=0x1388,V=a0an(Q+'\x20--version',a6)['trim']()[bM(0x273)](bM(0x156),'');const a7=V[bM(0x225)]('.')[bM(0x3f9)](Number);if(a7[-0x1287+0x1*-0x2531+0x1bdc*0x2]<0x15ce*0x1+-0x9aa+-0xc21||-0x2*0x21f+0x148e+-0x104d===a7[0x1388+0xff3+-0x237b*0x1]&&a7[-0xafe+0x23*0x14+0x843]<-0x2*0x128f+-0x24da+-0x4a02*-0x1)return void L(bM(0x349),V);-0x1a8*0x12+-0x2394*-0x1+-0x5c1===a7[-0x213e*-0x1+0x61b*-0x1+0x1b23*-0x1]&&a7[-0x1*0x2669+0xabc+0x3*0x93a]<-0x20a4+-0x3*-0x80e+-0x886*-0x1?console[bM(0x1c3)](a0L[bM(0x24b)]('\x20\x20✓\x20Python\x20'+V)+a0L[bM(0x25a)](bM(0x27b))):console[bM(0x1c3)](a0L[bM(0x24b)](bM(0x1bc)+V));}catch{return void L('missing');}try{const a8={};a8[bM(0x20b)]=bM(0x40b),a8[bM(0x286)]=0x1388,(a0an(Q+'\x20-m\x20pip\x20--version',a8),console['log'](a0L[bM(0x24b)](bM(0x212))));}catch{console['log'](a0L['yellow'](bM(0x2f4)));try{const a9={};a9[bM(0x20b)]=bM(0x40b),a9[bM(0x286)]=0x7530,(a0an(Q+bM(0x311),a9),console['log'](a0L[bM(0x24b)]('\x20\x20✓\x20pip\x20installed')));}catch{a0aa(bM(0x205)),console['log']();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import('../lib/platform.js'),{execFileSync:ac}=await import(bM(0x314)),ad=aa(),ae=ab(),af='linux'===process[bM(0x32f)]&&!ad,ag=bM(0x350)===process[bM(0x32f)];let ah='your\x20Linux\x20distro';if(af||ad)try{const {readFileSync:ak}=await import('node:fs'),al=ak(bM(0x2e6),bM(0x409)),am=(al[bM(0x2c1)](/^ID="?([^"\n]+)/m)||[])[0xe5c+-0x2*-0x8+0xe6b*-0x1]||'',an=(al[bM(0x2c1)](/^VERSION_ID="?([^"\n]+)/m)||[])[0x2236+0x1a44+-0x3c79]||'';'ubuntu'===am?ah=bM(0x1ae)+an+(ad?bM(0x3ff):''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?'\x20(WSL2)':''));}catch{}let ai=!(-0x89b*-0x3+0x1a44+-0x6*0x8ae);if(ag)try{const ao={};ao['stdio']=bM(0x40b),ao[bM(0x286)]=0x7d0,(ac(bM(0x1bd),[bM(0xf6)],ao),ai=!(-0x8e*0x2f+0x6e*-0x5+0x1c38));}catch{ai=!(-0x171e+-0x18ad+-0x2fcc*-0x1);}const aj=ae?'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20installer\x20cannot\x20run\x20inside\x20the\x20prompt':bM(0x345);return console['log'](a0L[bM(0x2d4)][bM(0x2f3)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](a0L[bM(0x2d4)][bM(0x2f3)]('\x20\x20'+aj)),console[bM(0x1c3)](a0L[bM(0x2d4)]['yellow'](bM(0x128))),console[bM(0x1c3)](),af||ad?(console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x222))+a0L[bM(0x114)](ah)),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x228))),console['log'](),console[bM(0x1c3)](a0L['bold'][bM(0x2c4)](bM(0x106))),console[bM(0x1c3)](),console['log'](a0L[bM(0x2c4)](bM(0x1d8))+a0L[bM(0x2d4)][bM(0x114)](bM(0x32b))+a0L[bM(0x2c4)]('\x20and\x20press\x20Enter\x20to\x20leave\x20icoa')),console['log'](),console[bM(0x1c3)](a0L[bM(0x2c4)]('\x20\x20\x20\x202.\x20In\x20your\x20shell,\x20run:')),console[bM(0x1c3)](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)](bM(0x224))),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)](bM(0x14e))),console[bM(0x1c3)](),console['log'](a0L[bM(0x2c4)](bM(0x406))),console[bM(0x1c3)](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)](bM(0x3a5))),console['log'](bM(0x288)+a0L[bM(0x25a)](bM(0x1b1))+'\x20'+a0L[bM(0x2d4)]['cyan']('exam\x20setup'))):ag?(console[bM(0x1c3)](a0L['white'](bM(0x222))+a0L[bM(0x114)]('macOS')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2d4)][bM(0x2c4)](bM(0x106))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L['white'](bM(0x1d8))+a0L[bM(0x2d4)]['cyan'](bM(0x32b))+a0L[bM(0x2c4)](bM(0x1a2))),console[bM(0x1c3)](),ai?(console[bM(0x1c3)](a0L['white']('\x20\x20\x20\x202.\x20Reinstall\x20Python\x20with\x20pip\x20(Homebrew\x20detected\x20✓):')),console[bM(0x1c3)](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2d4)][bM(0x114)](bM(0x31d))),console[bM(0x1c3)](bM(0x288)+a0L['bold'][bM(0x114)](bM(0x16e)))):(console['log'](a0L[bM(0x2c4)](bM(0x200))+a0L[bM(0x2d4)][bM(0x2f3)]('brew')+a0L[bM(0x2c4)]('):')),console['log'](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)](bM(0x16d))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L['white'](bM(0x3f7))),console[bM(0x1c3)](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)]('brew\x20install\x20python@3.12'))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x3ee))),console[bM(0x1c3)](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)]('icoa')),console[bM(0x1c3)](bM(0x288)+a0L['gray'](bM(0x1b1))+'\x20'+a0L['bold'][bM(0x114)](bM(0x28c)))):ae?(console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x222))+a0L[bM(0x114)]('Windows\x20native\x20(PowerShell\x20/\x20cmd)')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L['bold']['yellow'](bM(0x3c7))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x296))),console['log'](a0L[bM(0x25a)](bM(0x149))),console[bM(0x1c3)](a0L['gray'](bM(0x3a9))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2d4)][bM(0x2c4)](bM(0x122))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L['white'](bM(0x1d8))+a0L[bM(0x2d4)]['cyan'](bM(0x32b))+a0L[bM(0x2c4)](bM(0x1a2))),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x3de))),console[bM(0x1c3)](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2d4)]['cyan'](bM(0x137))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x367))),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x1a8))),console[bM(0x1c3)](),console['log'](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)]('curl\x20-fsSL\x20https://deb.nodesource.com/setup_22.x\x20|\x20sudo\x20-E\x20bash\x20-')),console['log'](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)]('sudo\x20apt\x20install\x20-y\x20nodejs\x20python3-pip\x20python3-venv')),console[bM(0x1c3)](bM(0x288)+a0L['bold'][bM(0x114)]('sudo\x20npm\x20install\x20-g\x20icoa-cli')),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)]['cyan'](bM(0x3a5))),console['log'](),console['log'](a0L['gray']('\x20\x20───\x20Stay\x20on\x20native\x20Windows\x20(best-effort,\x20may\x20hit\x20PATH\x20issues)\x20───')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L['white'](bM(0x1d8))+a0L[bM(0x2d4)]['cyan'](bM(0x32b))+a0L[bM(0x2c4)](bM(0x1a2))),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x3cd))),console[bM(0x1c3)](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)]('winget\x20install\x20--id\x20Python.Python.3.12\x20-e')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x25a)]('\x20\x20\x20\x20\x20\x20\x20(Or\x20download\x20from\x20python.org\x20and\x20CHECK\x20both\x20\x22Add\x20Python\x20to')),console['log'](a0L[bM(0x25a)](bM(0x16a))),console['log'](a0L[bM(0x2c4)](bM(0x299))),console[bM(0x1c3)](),console[bM(0x1c3)]('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bM(0x114)]('icoa')),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L['gray']('icoa>')+'\x20'+a0L['bold']['cyan'](bM(0x28c)))):(console[bM(0x1c3)](a0L[bM(0x2c4)]('\x20\x20Detected:\x20unrecognized\x20platform\x20(')+a0L[bM(0x114)](process[bM(0x32f)])+a0L[bM(0x2c4)](')')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x323))),console[bM(0x1c3)](bM(0x288)+a0L['bold'][bM(0x114)](bM(0x3a5))),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x25a)](bM(0x1b1))+'\x20'+a0L[bM(0x2d4)][bM(0x114)](bM(0x28c)))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x2e1))),void console['log']();}}const W={};W[bM(0x203)]=bM(0x3aa),W[bM(0x23e)]=bM(0x3ba),W[bM(0x3f3)]='z3',W['pillow']='PIL',W[bM(0xf3)]=bM(0x2b0),W[bM(0x22a)]=bM(0x321);const X=[bM(0xf3),bM(0x1d3),'requests','beautifulsoup4',bM(0x25c),'pillow','scapy',bM(0x14f),'z3-solver',bM(0x23e),bM(0x22a),bM(0x1bf),'regex'],Y=W;console[bM(0x1c3)](),console['log'](a0L[bM(0x2c4)]('\x20\x20Installing\x20'+X[bM(0x14a)]+bM(0x29e))),console['log']();let Z='';try{const ap={};ap['encoding']='utf-8',ap[bM(0x286)]=0x2710,a0an(Q+'\x20-m\x20pip\x20install\x20--dry-run\x20pip\x202>&1',ap);}catch(aq){const ar=String(aq?.[bM(0x3ea)]||aq?.[bM(0x2de)]||aq?.['message']||'');/externally-managed-environment|break-system-packages/i[bM(0x198)](ar)&&(Z=bM(0x3e4),console['log'](a0L[bM(0x2f3)](bM(0xff))),console[bM(0x1c3)]());}const a0=V[bM(0x225)]('.')['map'](Number);0x1e04*0x1+0xb87+-0x2988===a0[-0x1*0x250d+-0xdba+0x10ed*0x3]&&a0[0xf43*-0x1+-0x2c5*-0x7+-0x41f]>=0x2604+-0x96*0x3+-0x2c9*0xd&&(console[bM(0x1c3)](a0L['yellow'](bM(0x29b)+V+bM(0x20e))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x131))),console['log'](a0L[bM(0x25a)](bM(0x26a))),bM(0x3bc)===process[bM(0x32f)]&&(console[bM(0x1c3)](a0L[bM(0x24b)](bM(0x389))),console['log'](a0L['green']('\x20\x20\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201'))),console['log']());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+'\x20-m\x20pip\x20install\x20\x22'+as+'\x22\x20'+Z+bM(0x398),{'encoding':'utf-8','timeout':0x2bf20,'stdio':bM(0x337)}),a0an(Q+bM(0x121)+(Y[as]||as)+'\x22',{'stdio':bM(0x40b),'timeout':0x2710});let at='';try{const au=a0an(Q+bM(0x2d2)+as+bM(0x3ef),{'encoding':'utf-8','timeout':0x1388})[bM(0x2c1)](/^Version:\s*(.+)$/m);au&&(at=au[-0x22ee+-0x9*-0x33d+0x4e*0x13][bM(0x265)]());}catch{}console[bM(0x1c3)](a0L['green'](bM(0xf4)+as)+(at?a0L[bM(0x25a)]('\x20('+at+')'):'')),a1[bM(0x1bb)](at?as+'=='+at:as);}catch(av){const aw=String(av?.['stdout']||av?.[bM(0x2de)]||av?.[bM(0x3a1)]||'')['slice'](-(-0x191b*0x1+-0x317+0x1dc2)),ax=aw[bM(0x225)]('\x0a')[bM(0x2eb)](ay=>ay['trim']())[bM(0x34d)](-(0x1*-0x1ef+0xf2f+-0xd3e))[bM(0x2cd)](bM(0x21a))[bM(0x34d)](0x108f+0x2704+-0x3793,0xbae+0x16*0x3d+-0x1074);console[bM(0x1c3)](a0L['red'](bM(0x3b4)+as)+a0L[bM(0x25a)]('\x20\x20'+ax)),a2[bM(0x1bb)]({'pkg':as,'error':ax}),a3||(a3=aw);}0x1*0x89b+-0xb3d*0x1+0x2a2===a1[bM(0x14a)]&&a3&&(console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2f3)](bM(0x332))),console['log'](a0L['gray']('\x20\x20'+a3[bM(0x225)]('\x0a')[bM(0x34d)](-(-0x1*-0x261f+0x9c4+-0x2fdd*0x1))[bM(0x2cd)](bM(0x33d))))),a0al({'completedAt':new Date()[bM(0x18d)](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bM(0x3f9)](ay=>ay['pkg'])}),console[bM(0x1c3)](),-0x1980+0x1*-0x2707+-0x4087*-0x1===a2[bM(0x14a)]?a0a9('Environment\x20ready!\x20All\x20'+X[bM(0x14a)]+bM(0x3d7)):-0x167f+-0x103d+-0x4*-0x9af===a1[bM(0x14a)]?(a0aa(bM(0x2a5)+X['length']+bM(0x3d7)),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2f3)]('\x20\x20Troubleshooting:')),-0x94f*-0x2+0x2055+-0x14*0x28c===a0[-0x239*0xb+0x13a6+0x4cd*0x1]&&a0[-0x309+0x1c1d+-0x1913]>=0x1c84+0x27c+0x1a1*-0x13?(console[bM(0x1c3)](a0L['gray']('\x20\x20\x20\x20Python\x203.13\x20is\x20too\x20new\x20—\x20most\x20CTF\x20libraries\x20lack\x20wheels.')),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x163)))):(console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x29d))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x15d))+a0L[bM(0x114)](Q+bM(0x180))+a0L[bM(0x25a)](bM(0x194))),console[bM(0x1c3)](a0L['gray'](bM(0x292)))),console[bM(0x1c3)](),console['log'](a0L[bM(0x2c4)](bM(0x343))+a0L['bold'][bM(0x114)]('exam\x20setup'))):a0ab(a1[bM(0x14a)]+'/'+X['length']+bM(0x13a)+a2[bM(0x14a)]+bM(0x115)+a2[bM(0x3f9)](ay=>ay[bM(0x339)])[bM(0x2cd)](',\x20')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x114)](bM(0x109))),console['log'](a0L['bold'][bM(0x2c4)](bM(0x383))),console['log'](a0L[bM(0x114)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),console['log'](a0L[bM(0x2d4)][bM(0x2f3)]('\x20\x20Method\x201:\x20One-liner')+a0L[bM(0x25a)](bM(0x1f9))),console['log'](a0L[bM(0x2c4)](bM(0x319))),console['log'](a0L[bM(0x24b)](bM(0x1fe))),console[bM(0x1c3)](a0L['gray'](bM(0x208))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2d4)]['yellow'](bM(0x108))+a0L[bM(0x25a)](bM(0x3e9))),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x301))),console[bM(0x1c3)](a0L['green']('\x20\x20\x20\x20!python3')),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x183))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x1f7))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x33c))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x3f8))),console[bM(0x1c3)](a0L['gray'](bM(0x146))),console[bM(0x1c3)](),console['log'](a0L[bM(0x2d4)]['yellow'](bM(0x118))+a0L[bM(0x25a)](bM(0x353))),console[bM(0x1c3)](a0L['white'](bM(0x3c1))),console[bM(0x1c3)](a0L['green'](bM(0x1d5))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x2e9))),console['log'](a0L['gray'](bM(0x40a))),console[bM(0x1c3)](a0L['gray']('\x20\x20\x20\x20key\x20=\x20xor(ct[:5],\x20b\x22ICOA{\x22)')),console['log'](a0L[bM(0x25a)](bM(0x364))),console['log'](a0L[bM(0x24b)](bM(0x201))),console[bM(0x1c3)](a0L['green']('\x20\x20\x20\x20!python3\x20solve.py')),console['log'](),console[bM(0x1c3)](a0L[bM(0x2d4)]['yellow']('\x20\x20AI\x20Assistant')),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x17d))+a0L[bM(0x2d4)][bM(0x114)](bM(0x143))+a0L['white']('\x20to\x20ask\x20AI\x20for\x20help:')),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x1b7))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x247))),console[bM(0x1c3)](a0L['gray'](bM(0x38a))),console[bM(0x1c3)](a0L[bM(0x114)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2c4)]('\x20\x20Next\x20step:\x20')+a0L[bM(0x2d4)][bM(0x114)](bM(0x2b5))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x408))+a0L['bold'][bM(0x114)](bM(0x287))+a0L[bM(0x25a)](bM(0xf1))),console[bM(0x1c3)]();}),B[be(0x30d)](()=>{const bO=be;a0a8(bO(0x12e));const F=a0Y();if(F){a0ae(bO(0x3eb)+F['session'][bO(0x302)]),O();const J=Object['keys'](F[bO(0x358)])[bO(0x14a)];return a0af('Progress',J+'/'+F[bO(0x103)][bO(0x1a3)]+'\x20answered'),console[bO(0x1c3)](),void console[bO(0x1c3)](a0L[bO(0x25a)](bO(0x2d1)));}const G=a0a3(),H=a0ak();console[bO(0x1c3)](),a0ae(bO(0x23b)),console['log'](),-0x2c5*0x3+-0x5f5*-0x5+0x2*-0xabd===G[bO(0x25b)]?(console[bO(0x1c3)](a0L[bO(0x2f3)](bO(0x392))+a0L[bO(0x2f3)]('Recommended:\x20complete\x20demo\x20first')),console[bO(0x1c3)](a0L[bO(0x25a)](bO(0x239))+a0L['bold'][bO(0x114)](bO(0x3d2)))):(console[bO(0x1c3)](a0L['green'](bO(0x2e3))+a0L[bO(0x24b)](bO(0x246)+G[bO(0x25b)]+bO(0x369)+(-0xd00+0x11b7+-0x4b6!==G[bO(0x25b)]?'s':'')+')')),H?(console[bO(0x1c3)](a0L['green']('\x20\x20●\x20')+a0L[bO(0x24b)]('Environment\x20ready')),console[bO(0x1c3)](a0L[bO(0x2f3)](bO(0x392))+a0L[bO(0x2f3)](bO(0x3ac))),console['log'](a0L['gray'](bO(0x239))+a0L[bO(0x2d4)][bO(0x114)]('exam\x20<token>'))):(console[bO(0x1c3)](a0L[bO(0x2f3)](bO(0x392))+a0L[bO(0x2f3)](bO(0x221))),console[bO(0x1c3)](a0L[bO(0x25a)]('\x20\x20\x20\x20→\x20')+a0L[bO(0x2d4)]['cyan'](bO(0x28c))))),console['log']();});}
@@ -1 +1 @@
1
- import chalk from"chalk";import{createInterface as o}from"node:readline";import{spawn as e}from"node:child_process";import{existsSync as r}from"node:fs";import{dirname as n,join as l}from"node:path";import{fileURLToPath as t}from"node:url";import{loadCurriculum as a,loadCurriculumById as s,validateEAToken as c,syncProgress as i}from"../lib/learn-curricula.js";import{getConfig as u}from"../lib/config.js";import{loadLearnState as d,saveLearnState as m,newLearnState as g,updateStreak as y,markCardComplete as p,recordMCQ as f,markPracticalComplete as b,addAchievement as h}from"../lib/learn-state.js";import{renderWelcome as k,renderKnowledgeCard as w,renderMCQCard as x,renderMCQFeedback as v,renderPracticalCard as C,renderPracticalSuccess as A,renderSimDemoCard as E,renderMilestone as P,renderStatus as _}from"../lib/learn-render.js";import{printError as j}from"../lib/ui.js";export function registerLearnCommand(T){T.command("learn [token]").description("Enter learn mode (free if no token; team-issued EAxxxxxxxx for full curriculum)").action(async T=>{T&&T.trim()||(console.log(),console.log(chalk.gray(" No token given — starting free 11-card demo (")+chalk.bold.green("LEARNDEMO01")+chalk.gray(").")),console.log(chalk.gray(" Full curriculum (100/480 cards): ")+chalk.bold.yellow("learn EAxxxxxxxx")+chalk.gray(" — token from your country team leader.")),console.log(),T="LEARNDEMO01");const M=T.trim().toUpperCase();let S=a(M);if(!S&&/^EA[A-Z0-9]{8}$/i.test(M)){const o=u().ctfdUrl||"https://practice.icoa2026.au";console.log(),console.log(chalk.gray(" Validating EA token..."));const e=await c(M,o);if(!e.ok)return j(`Token validation failed: ${e.message}`),console.log(),console.log(chalk.gray(" Possible causes:")),console.log(chalk.gray(" · Token expired or revoked")),console.log(chalk.gray(" · Network down (check connection)")),console.log(chalk.gray(" · Typo in token")),void console.log();if(console.log(chalk.green(` ✓ Token valid · curriculum: ${e.curriculumId} · status: ${e.status}`)),S=await s(e.curriculumId||"LEARNDEMO01"),!S)return j(`Curriculum '${e.curriculumId}' not bundled in this CLI version.`),void console.log(chalk.gray(" Upgrade with: ")+chalk.bold.cyan("npm install -g icoa-cli@latest"))}if(!S)return j(`Unknown learn token: ${M}`),console.log(),console.log(chalk.gray(" Available tokens:")),console.log(chalk.gray(" ")+chalk.bold.green("LEARNDEMO01")+chalk.gray(" free 10-card demo (anyone can use)")),console.log(chalk.gray(" ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full curriculum (issued by team leader)")),console.log(),console.log(chalk.gray(" To get the full curriculum (n=480 cards, PhD-entry), email ")),console.log(chalk.gray(" ")+chalk.cyan("asra@icoa2026.au")+chalk.gray(" or ask your country's team leader.")),void console.log();let $=d(),q=!1;$&&$.token===M?y($):($=g(M,S.id,S.totalCards),q=!0),m($),k(S,$,q);const L=o({input:process.stdin,output:process.stdout,terminal:!0}),D=()=>{L.setPrompt(chalk.bold.cyan("learn> ")),L.prompt()};D();let I=null,N=null;const O=[],U=o=>S.cards.find(e=>e.number===o),R=()=>{const o=U($.currentCard);if(!o)return console.log(),console.log(chalk.gray(" No more cards in this curriculum.")),console.log(chalk.gray(" Type ")+chalk.bold.green("status")+chalk.gray(" for the dashboard or ")+chalk.bold.green("quit")+chalk.gray(" to exit.")),void console.log();switch(o.type){case"knowledge":w(o,S),p($,o.number),m($);break;case"mcq":x(o,S),I=o.number;break;case"practical":C(o,S),N=o.number;break;case"sim_demo":E(o,S),p($,o.number),m($);break;case"milestone":P(o,S),h($,o.badge),p($,o.number),m($)}};L.on("line",async o=>{const a=o.trim().toLowerCase();if(a){if("menu"===a||"menu confirm"===a){O.length>0&&await Promise.race([Promise.allSettled(O),new Promise(o=>setTimeout(o,3e3))]);const{returnToMainMenu:o}=await import("../lib/menu-nav.js");return void o(L)}if("quit"===a||"exit"===a||"q"===a)return O.length>0&&await Promise.race([Promise.allSettled(O),new Promise(o=>setTimeout(o,5e3))]),console.log(),console.log(chalk.gray(" Saved. See you next session.")),console.log(chalk.gray(" Streak: ")+chalk.yellow(`🔥 ${$.streakDays} day(s)`)),console.log(),void L.close();if("status"===a)return _(S,$),void D();if("sim"===a){const o=U($.currentCard);return o&&"sim_demo"===o.type?(function(o){const a=function(){const o=n(t(import.meta.url)),e=[l(o,"..","..","panda","mujoco-launcher.py"),l(o,"..","..","..","panda","mujoco-launcher.py")];for(const o of e)if(r(o))return o;return null}();if(!a)return console.log(chalk.yellow(" MuJoCo launcher not found.")),console.log(chalk.gray(" Get it from: https://github.com/newaipanda/ICOA_CLI/blob/main/panda/mujoco-launcher.py")),void console.log(chalk.gray(" Or use the sandbox-vla docker image (Phase 3)."));const s={baseline:"baseline",prompt_injected:"prompt_inj",patch_attacked:"patch",modality_confused:"confused"}[o]||"baseline";console.log(chalk.gray(` Launching MuJoCo viewer (scenario: ${s})...`)),console.log(chalk.gray(" Close the window or press ESC to return to learn mode.")),e("python3",[a,s,"--seconds","5"],{stdio:"inherit"}).on("exit",o=>{0!==o?console.log(chalk.yellow(` MuJoCo exited with code ${o} (install: pip install mujoco)`)):console.log(chalk.gray(" Returned from sim."))})}(o.simAction),void D()):(console.log(chalk.gray(" (sim only available on simulation cards)")),void D())}if("bookmark"===a){const o=$.currentCard;return $.bookmarks.includes(o)||$.bookmarks.push(o),m($),console.log(chalk.gray(` ✓ Card ${o} bookmarked.`)),void D()}if("back"===a)return $.currentCard>1&&($.currentCard-=1),I=null,N=null,m($),R(),void D();if(null!==I&&["a","b","c","d"].includes(a)){const o=U(I);if(o&&"mcq"===o.type){const e=a.toUpperCase(),r=e===o.answer;f($,o.number,{answer:e,correct:r,submittedAt:(new Date).toISOString()}),p($,o.number),m($),v(o,e,r,$);const n=u();return O.push(i(M,n.ctfdUrl||"https://practice.icoa2026.au",{card_number:o.number,event_type:"mcq_answered",mcq_answer:e,mcq_correct:r}).catch(()=>{})),I=null,void D()}}if(null!==N){if("done"===a){const o=U(N);if(o&&"practical"===o.type)return b($,o.number),p($,o.number),m($),A(o),N=null,void D()}if("skip"===a)return p($,N),m($),console.log(chalk.gray(" Skipped (counts as not completed).")),console.log(),N=null,void D()}if("ok"===a||"next"===a||"continue"===a||"n"===a)return null!==I?(console.log(chalk.yellow(" Please answer the MCQ first (A / B / C / D).")),void D()):null!==N?(console.log(chalk.yellow(" Please type ")+chalk.bold.green("done")+chalk.yellow(" or ")+chalk.bold.yellow("skip")+chalk.yellow(" for the practical.")),void D()):($.currentCard+=1,m($),$.currentCard>S.totalCards?(console.log(),console.log(chalk.bold.green(" 🎉 You've reached the end of the demo curriculum!")),console.log(chalk.gray(" Type ")+chalk.bold.green("status")+chalk.gray(" to see your full stats.")),console.log()):R(),void D());console.log(chalk.gray(" Unknown command. Try: ")+chalk.white("ok")+chalk.gray(" / ")+chalk.white("status")+chalk.gray(" / ")+chalk.white("quit")),D()}else D()}),L.on("close",async()=>{O.length>0&&await Promise.race([Promise.allSettled(O),new Promise(o=>setTimeout(o,5e3))]),process.exit(0)}),R(),D()})}
1
+ import chalk from"chalk";import{createInterface as o}from"node:readline";import{spawn as e}from"node:child_process";import{getMainRl as r}from"../lib/main-rl.js";import{existsSync as n}from"node:fs";import{dirname as l,join as t}from"node:path";import{fileURLToPath as a}from"node:url";import{loadCurriculum as s,loadCurriculumById as i,validateEAToken as c,syncProgress as u}from"../lib/learn-curricula.js";import{getConfig as d}from"../lib/config.js";import{loadLearnState as m,saveLearnState as g,newLearnState as y,updateStreak as p,markCardComplete as f,recordMCQ as b,markPracticalComplete as h,addAchievement as k}from"../lib/learn-state.js";import{renderWelcome as w,renderKnowledgeCard as x,renderMCQCard as v,renderMCQFeedback as C,renderPracticalCard as A,renderPracticalSuccess as E,renderSimDemoCard as P,renderMilestone as j,renderStatus as _}from"../lib/learn-render.js";import{printError as T}from"../lib/ui.js";export function registerLearnCommand(M){M.command("learn [token]").description("Enter learn mode (free if no token; team-issued EAxxxxxxxx for full curriculum)").action(async M=>{M&&M.trim()||(console.log(),console.log(chalk.gray(" No token given — starting free 11-card demo (")+chalk.bold.green("LEARNDEMO01")+chalk.gray(").")),console.log(chalk.gray(" Full curriculum (100/480 cards): ")+chalk.bold.yellow("learn EAxxxxxxxx")+chalk.gray(" — token from your country team leader.")),console.log(),M="LEARNDEMO01");const S=M.trim().toUpperCase();let $=s(S);if(!$&&/^EA[A-Z0-9]{8}$/i.test(S)){const o=d().ctfdUrl||"https://practice.icoa2026.au";console.log(),console.log(chalk.gray(" Validating EA token..."));const e=await c(S,o);if(!e.ok)return T(`Token validation failed: ${e.message}`),console.log(),console.log(chalk.gray(" Possible causes:")),console.log(chalk.gray(" · Token expired or revoked")),console.log(chalk.gray(" · Network down (check connection)")),console.log(chalk.gray(" · Typo in token")),void console.log();if(console.log(chalk.green(` ✓ Token valid · curriculum: ${e.curriculumId} · status: ${e.status}`)),$=await i(e.curriculumId||"LEARNDEMO01"),!$)return T(`Curriculum '${e.curriculumId}' not bundled in this CLI version.`),void console.log(chalk.gray(" Upgrade with: ")+chalk.bold.cyan("npm install -g icoa-cli@latest"))}if(!$)return T(`Unknown learn token: ${S}`),console.log(),console.log(chalk.gray(" Available tokens:")),console.log(chalk.gray(" ")+chalk.bold.green("LEARNDEMO01")+chalk.gray(" free 10-card demo (anyone can use)")),console.log(chalk.gray(" ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full curriculum (issued by team leader)")),console.log(),console.log(chalk.gray(" To get the full curriculum (n=480 cards, PhD-entry), email ")),console.log(chalk.gray(" ")+chalk.cyan("asra@icoa2026.au")+chalk.gray(" or ask your country's team leader.")),void console.log();let q=m(),L=!1;q&&q.token===S?p(q):(q=y(S,$.id,$.totalCards),L=!0),g(q),w($,q,L);const D=r();D?.pause();const I=o({input:process.stdin,output:process.stdout,terminal:!0}),N=()=>{I.setPrompt(chalk.bold.cyan("learn> ")),I.prompt()};N();let O=null,U=null;const R=[],J=o=>$.cards.find(e=>e.number===o),B=()=>{const o=J(q.currentCard);if(!o)return console.log(),console.log(chalk.gray(" No more cards in this curriculum.")),console.log(chalk.gray(" Type ")+chalk.bold.green("status")+chalk.gray(" for the dashboard or ")+chalk.bold.green("quit")+chalk.gray(" to exit.")),void console.log();switch(o.type){case"knowledge":x(o,$),f(q,o.number),g(q);break;case"mcq":v(o,$),O=o.number;break;case"practical":A(o,$),U=o.number;break;case"sim_demo":P(o,$),f(q,o.number),g(q);break;case"milestone":j(o,$),k(q,o.badge),f(q,o.number),g(q)}};I.on("line",async o=>{const r=o.trim().toLowerCase();if(r){if("menu"===r||"menu confirm"===r){R.length>0&&await Promise.race([Promise.allSettled(R),new Promise(o=>setTimeout(o,3e3))]);const{returnToMainMenu:o}=await import("../lib/menu-nav.js");return void o(I)}if("quit"===r||"exit"===r||"q"===r)return R.length>0&&await Promise.race([Promise.allSettled(R),new Promise(o=>setTimeout(o,5e3))]),console.log(),console.log(chalk.gray(" Saved. See you next session.")),console.log(chalk.gray(" Streak: ")+chalk.yellow(`🔥 ${q.streakDays} day(s)`)),console.log(),void I.close();if("status"===r)return _($,q),void N();if("sim"===r){const o=J(q.currentCard);return o&&"sim_demo"===o.type?(function(o){const r=function(){const o=l(a(import.meta.url)),e=[t(o,"..","..","panda","mujoco-launcher.py"),t(o,"..","..","..","panda","mujoco-launcher.py")];for(const o of e)if(n(o))return o;return null}();if(!r)return console.log(chalk.yellow(" MuJoCo launcher not found.")),console.log(chalk.gray(" Get it from: https://github.com/newaipanda/ICOA_CLI/blob/main/panda/mujoco-launcher.py")),void console.log(chalk.gray(" Or use the sandbox-vla docker image (Phase 3)."));const s={baseline:"baseline",prompt_injected:"prompt_inj",patch_attacked:"patch",modality_confused:"confused"}[o]||"baseline";console.log(chalk.gray(` Launching MuJoCo viewer (scenario: ${s})...`)),console.log(chalk.gray(" Close the window or press ESC to return to learn mode.")),e("python3",[r,s,"--seconds","5"],{stdio:"inherit"}).on("exit",o=>{0!==o?console.log(chalk.yellow(` MuJoCo exited with code ${o} (install: pip install mujoco)`)):console.log(chalk.gray(" Returned from sim."))})}(o.simAction),void N()):(console.log(chalk.gray(" (sim only available on simulation cards)")),void N())}if("bookmark"===r){const o=q.currentCard;return q.bookmarks.includes(o)||q.bookmarks.push(o),g(q),console.log(chalk.gray(` ✓ Card ${o} bookmarked.`)),void N()}if("back"===r)return q.currentCard>1&&(q.currentCard-=1),O=null,U=null,g(q),B(),void N();if(null!==O&&["a","b","c","d"].includes(r)){const o=J(O);if(o&&"mcq"===o.type){const e=r.toUpperCase(),n=e===o.answer;b(q,o.number,{answer:e,correct:n,submittedAt:(new Date).toISOString()}),f(q,o.number),g(q),C(o,e,n,q);const l=d();return R.push(u(S,l.ctfdUrl||"https://practice.icoa2026.au",{card_number:o.number,event_type:"mcq_answered",mcq_answer:e,mcq_correct:n}).catch(()=>{})),O=null,void N()}}if(null!==U){if("done"===r){const o=J(U);if(o&&"practical"===o.type)return h(q,o.number),f(q,o.number),g(q),E(o),U=null,void N()}if("skip"===r)return f(q,U),g(q),console.log(chalk.gray(" Skipped (counts as not completed).")),console.log(),U=null,void N()}if("ok"===r||"next"===r||"continue"===r||"n"===r)return null!==O?(console.log(chalk.yellow(" Please answer the MCQ first (A / B / C / D).")),void N()):null!==U?(console.log(chalk.yellow(" Please type ")+chalk.bold.green("done")+chalk.yellow(" or ")+chalk.bold.yellow("skip")+chalk.yellow(" for the practical.")),void N()):(q.currentCard+=1,g(q),q.currentCard>$.totalCards?(console.log(),console.log(chalk.bold.green(" 🎉 You've reached the end of the demo curriculum!")),console.log(chalk.gray(" Type ")+chalk.bold.green("status")+chalk.gray(" to see your full stats.")),console.log()):B(),void N());console.log(chalk.gray(" Unknown command. Try: ")+chalk.white("ok")+chalk.gray(" / ")+chalk.white("status")+chalk.gray(" / ")+chalk.white("quit")),N()}else N()}),I.on("close",async()=>{R.length>0&&await Promise.race([Promise.allSettled(R),new Promise(o=>setTimeout(o,5e3))]),D?.resume(),process.exit(0)}),B(),N()})}
@@ -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(" (5-min intro) · ")+chalk.bold.cyan(f+"learn")+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 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};
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{isVla4CtfActive as A,handleVla4CtfMessage as I}from"./commands/vla4ctf.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 P}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as E,DEMO_POOL_SIZE as L}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 W,mkdirSync as z,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 W(V)||z(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=P(),l=`Free practice — ${E} questions (from pool of ${L})`,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(),P=l(),E=process.exit.bind(process),L=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("VLA4CTF Pioneer Round: demo, learn, Paper D (parallel track)")}`,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("VLA4CTF")}${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(" VLA4CTF")+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 — all on the ICOA stack.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" sim")+chalk.gray(" ")+chalk.bold.yellow("★ WOW shortcut")+chalk.gray(" — robot arm replay in seconds")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ~8 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn")+chalk.gray(" free 11-card intro (LEARNDEMO01)")),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 (VLA4CTF) — 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(),P?(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()):L&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):P?(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()):L?(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("vla4ctf> "):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 E(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;if("embodied"===lo&&!h&&!["demo2","learn","exam","vla4ctf","lang","ref","setup","env","sim"].includes(d))return 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(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","vla4ctf","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");W(o)||z(o,{recursive:!0});const e=_(o,"python-startup.py");return W(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 w=l.trim(),f=w.toLowerCase();let k,S=null,O="";if(m)if("submit"===f)S="final";else if(f.startsWith("submit ")){let o=w.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)&&(S="flag",O=o)}else/^ICOA\{[^}]+\}$/i.test(w)&&(S="flag",O=w);k="final"===S?["exam","submit"]:"flag"===S?["exam","answer",String(m?._lastQ||1),O]: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 P="ctf"===k[0]&&"join"===k[1];P&&no.pause(),process.exit=()=>{throw new Error(K)};try{await e.parseAsync(["node","icoa",...k])}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=E,so=!1,P&&no.resume()}b()?no.setPrompt(chalk.magenta("ai4ctf> ")):v()?no.setPrompt(chalk.red("ctf4ai> ")):A()&&no.setPrompt(chalk.bold.cyan("vla4ctf> ")),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(),E(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{isVla4CtfActive as A,handleVla4CtfMessage as I}from"./commands/vla4ctf.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 P}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as E,DEMO_POOL_SIZE as L}from"./lib/demo-exam.js";import{isNativeWindowsCmd as R}from"./lib/platform.js";import{resetTerminalTheme as q}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 W,mkdirSync as z,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 W(V)||z(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=P(),l=`Free practice — ${E} questions (from pool of ${L})`,n=R();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(),P=l(),E=process.exit.bind(process),L=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:R,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("VLA4CTF Pioneer Round: demo, learn, Paper D (parallel track)")}`,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 R({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("VLA4CTF")}${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(" VLA4CTF")+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 (VLA4CTF) — 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(),P?(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()):L&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):P?(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()):L?(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("vla4ctf> "):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.")),q(),void E(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;if("embodied"===lo&&!h&&!["demo2","learn","exam","vla4ctf","lang","ref","setup","env","sim"].includes(d))return 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(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","vla4ctf","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");W(o)||z(o,{recursive:!0});const e=_(o,"python-startup.py");return W(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 w=l.trim(),f=w.toLowerCase();let k,S=null,O="";if(m)if("submit"===f)S="final";else if(f.startsWith("submit ")){let o=w.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)&&(S="flag",O=o)}else/^ICOA\{[^}]+\}$/i.test(w)&&(S="flag",O=w);k="final"===S?["exam","submit"]:"flag"===S?["exam","answer",String(m?._lastQ||1),O]: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 P="ctf"===k[0]&&"join"===k[1];P&&no.pause(),process.exit=()=>{throw new Error(K)};try{await e.parseAsync(["node","icoa",...k])}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=E,so=!1,P&&no.resume()}b()?no.setPrompt(chalk.magenta("ai4ctf> ")):v()?no.setPrompt(chalk.red("ctf4ai> ")):A()&&no.setPrompt(chalk.bold.cyan("vla4ctf> ")),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(),q(),E(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.155",
3
+ "version": "2.19.157",
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": {