icoa-cli 2.19.123 → 2.19.124

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 a4=a0j,k=b();while(!![]){try{const p=-parseInt(a4(0x191))/(-0x203*-0x11+0xf36+-0x3168)+-parseInt(a4(0x17b))/(-0x6*0x56b+0x8b*-0x8+0x24dc)*(parseInt(a4(0xaa))/(-0xda6*-0x1+0x229a+0xe9*-0x35))+-parseInt(a4(0x138))/(-0x1daa*-0x1+0x2a5*0x5+-0x2adf)*(parseInt(a4(0x104))/(0x6c8+0x1e80+-0x1*0x2543))+parseInt(a4(0x173))/(0x34f*0x3+0x1f7d+-0x2*0x14b2)+-parseInt(a4(0x156))/(0x519*-0x4+0x3*-0x42c+0x1*0x20ef)+-parseInt(a4(0xab))/(0xb72*0x1+-0xd4e+0x1e4)+-parseInt(a4(0x190))/(0x1d*-0x5e+-0x1*0x872+-0x1321*-0x1)*(-parseInt(a4(0x193))/(-0xe8*0xd+-0x1d5a+0x292c));if(p===j)break;else k['push'](k['shift']());}catch(q){k['push'](k['shift']());}}}(a0b,0x10a4e+0x93a52+0x2b0f*-0xb));function a0b(){const ag=['icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','AgLUDhnvC2vK','icaKia','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','ywK0y3rMsw50zxjJzxb0zwq','ywK0y3rMvgHPBMTPBMC','ywK0y3rMv3jHCff1B3rHq0HPBNq','icdcTYaGuMuTzw50zxi6ia','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','ohrzC1LsDa','E25VuhjVz30','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','ywK0y3rMv3jHCe5VuhjVzW','icbtDgLSBcbHDMfPBgfIBgu6ia','ywK0y3rMsgLUDefcB2r5','icdINjmGuq','igfUC3DLCIb1CgrHDgvKoIa','cIaG','C3vIBwL0idXMBgfNpG','yw5ZD2vYCW','icdIMQaG','ywK0y3rMsgLUDe5LEhrb','vg9Rzw5Z','ywn0Aw9U','ywK0y3rMvgL0Bgu','Dgv4Da','lI4U','ue9tva','icaG4OAsia','lI4VBgLIl2v4yw0TC3rHDguUANm','icdILii','ywK0y3rMv3jHCfrPDgXL','Bwf0y2G','icaGia','ywK0y3rMsgLUDfrLy2HUAxf1zq','y2XLyxi','DxrMltG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','nda5ndC0muT0zKntyG','xsaGWRCG','icaGigHPBNqGysaVigiGlYbJica','Dg9ju09tDhjPBMC','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','ywK0y3rMv3jHCe5LEhrtDwi','AM9PBG','z3jHEq','icbszxn1Bwu6ia','iokvKokvKokvKa','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','ywK0y3rMrM91BMrgBgfN','icdILzdILzdILzaG','BwLU','ywK0y3rMv291BgrfyxjU','y3rMngfP','ywK0y3rMv3jHCff1B3rHC1rPDgXL','ywK0y3rMrMXHz0HPBNq','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','icaGicaGicaGicaG','ywK0y3rMv3jHCeXPBMuXqM9KEq','icaGicaGigHPBNqGyIaGia','Bg9N','y29UDgLUDwu','icbozxH0oIa','icaGigHPBNqGyG','ywK0y3rMrxHPDe5LEhruAxrSzq','yMfJAW','ndK4mta4mejktvHOBW','y3LHBG','ChvZAa','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','AgLUDhm','ywK0y3rMsgLUDfbYAw5JAxbSzq','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','C3vIBwL0qxr0zw1WDgvK','mtq3nZiWD2nls1jA','ywK0y3rMuMv2zwfSvgL0Bgu','z3jLzw4','CM91BMq','icbbzNrLCIbLEgL0oIa','ywK0y3rMsgLUDem','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','BM93','C3bSAxq','ywK0y3rMuMv2zwfSqM9KEq','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','ywK0y3rMsgLUDenvC2vZ','q29UDgvUDc1uExbL','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','iokaLca','D2HPDgu','CxvPDa','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','ywK0y3rMu2fTCgXL','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','mtK0nefWuhfNAa','nZa3ntqZtwfqr1zW','C3rKB3v0','nJi5nZbXv05kzhi','icaGihn1yM1PDca8zMXHzZ4Gica','x2XHC3rr','lIbkDw1WihrOzxjLigzPCNn0oG','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','C2vUze1LC3nHz2u','iokaLcb0ExbLia','g1SXqrTBmKS','yw5ZD2vYx3n1yM1PDhrLza','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','ywK0y3rMv3jHCff1B3rHrM9VDgvY','ywK0y3rMuMv2zwfStg9JA05VDgu','ihrVA2vUCYbSzwz0lG','BgvUz3rO','zxHPDa','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','Dg9mB3DLCKnHC2u','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','ywK0y3rMuMv2zwfSu2vLrMXHzW','ywK0y3rMsgLUDe5LEhrc','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','DgLTzw91Da','yM9Sza','ywK0y3rMv3jHCeXPBMuYqM9KEq','ywK0y3rMtgv2zwXZ','z2vTBweTnc0ZmwiTAxq','ywK0y3rMuMvWB3j0','icdILRGGsgLUDca','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','icaGicaGicaGicaGicaGicaGicbLlMCUia','AgfZ','ywK0y3rMt3jdAgf0','ig9UifeZoq','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','CMvWBgfJzq','BwvZC2fNzq','icdILiiG','rNvSBcbXDwvZDgLVBJOGia','m2LdvwPNsa','ndyYnZq0A2L4A1PN','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','icbzB3uGyxjLig9Uife','ywK0y3rMsgLUDei','zxHHBsbXidmX','icbfCNjVCJOG','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','q29TBwfUzcbMywLSzwq','Dg9Rzw5mAw1PDa','ihrVignVBNrPBNvL','zw50zxjLzef0','zMLUza','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','ywK0y3rMrxHPDenTze5LEhq','zxHHBsbXia','icbr','CgfKrw5K','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','CMvK','ywK0y3rMtg9JA2vKvxnL','ywK0y3rMv3jHCff1B3rHqq','icaGice8C2HLBgWGy21KpIaGica','y29TBwfUza','ywrK','CxvLC3rPB25Z','ihbVAw50CYK6cG','ywK0y3rMv3jHCff1B3rHqKHPBNq','quK0q1rgihnLy3rPB24','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','ywK0y3rM','ywK0y3rMq21Ku2HLBgXmAw5L','zw5JB2rPBMC','BNvTyMvY','C2XPy2u','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','quKGzxjYB3i6ia','Cg9PBNrZ','ywK0y3rMrxHPDenTzejHy2S','icaGicbIywnR','C3vIBwL0ieLdt0f7lI4UFq','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','ywK0y3rMtg9JA2vKvgL0Bgu','icaGidiUia','yxbWBgLJyxrPB24VANnVBG','sgLKzgvUie1LC3nHz2u','D3jPDgu','icaGihn1yM1PDcbjq09bEY4UlN0','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','zgvZy3jPChrPB24','ywK0y3rMsgLUDe5LEhrd','yxr0ywnOzwreyxrH','icaGicaGicaGicaGica','ywLvC2fNzq','y2f0zwDVCNK','ywK0y3rMv3jVBMDgBgfN','BNvKz2vtAg93BG','imk3ia','ig5VDcbMB3vUzcbPBIbZDgf0zs4','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','ywK0y3rMq29YCMvJDezSywC','icaGicbJDgy0ywK','icaGicaGigHPBNqGysaGia','icdILRGG','ywK0y3rMsgLUDencB2r5','icaI','ywK0y3rMv3jHCff1B3rHqG','q3j5ChrVz3jHCgH5','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','ywK0y3rMrgvJB2rLza','C3rYAw5NAwz5','icaGigHPBNqGyq','DMLHigfPngn0zIbJAgf0','icaGideUia','oIbhB29NBguGr2vTBweGncaO','C3rHCNrZv2L0Aa','ywK0y3rMrw5Ku2vZC2LVBG','AgLUDcbI','Dg9vChbLCKnHC2u','Aw50zxjHy3rPB25Z','icaGicaGigHPBNqGyYaGia','icdILzdILzdILzaGquK0q1rgiokaLcbr','ywK0y3rMv3jHCeXPBMuXsgvHza','ntm2mtiWr2LcBKvm','icaGicfWExrOB24Zic4UlG','ywK0y3rMrgvJB2rL','ihjLy29YzgvKoIa','Dg9Rzw5ZvxnLza','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywK0y3rMv3jHCe5LEhrcB2r5','CMvWzwf0','C29Tzq','ywK0y3rMq29TBwfUzhm','ywK0y3rMrxHPDa','icaGiokgKIa','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','ywK0y3rMv3jHCeXPBMuYsgvHza','CxvLC3rPB24','EwvSBg93','BM9KztPJAgLSzf9WCM9JzxnZ','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icbB','AgLUDcbJ','ywK0y3rMsgLUDee','ywK0y3rMv3jHCff1B3rHquHPBNq','ywK0y3rMv3jHCe5LEhruAxrSzq','icaGifn0DwnRpYbuCNK6ia','DhjPBq','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','ywK0y3rMtg9JA2vKvgHLBG','DgvZDa','y2f0y2G','Cu51Bq','ywK0y3rMtw9KzwW','BMfTzq','C3vIBwL0ia','icaGigHPBNqGyW','zxHHBsbHBNn3zxiG','z2vTAw5Ptw9KzwW','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','ywK0y3rMsgLUDefvC2vZ','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','BwvUDq','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK'];a0b=function(){return ag;};return a0b();}function a0j(a,b){a=a-(0xa04+0x2*-0xe3f+0x130c);const c=a0b();let d=c[a];if(a0j['GqjwUW']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x2*-0x11a9+-0x5fb*0x2+-0x175c,o,p,q=-0x191e+0x733+0x11eb*0x1;p=i['charAt'](q++);~p&&(o=n%(-0x3dc+0x1e62+-0x1a82)?o*(0x21*0xbf+-0x1*-0x5c5+-0x1e24)+p:p,n++%(-0x1*-0x2c5+0xd1d+-0xfde))?l+=String['fromCharCode'](0x17d*-0xb+0x17f1+-0x693&o>>(-(-0x71a+0x1e79*0x1+-0x175d)*n&0x209*-0x1+-0x1*-0xfa7+-0xd98)):0x45a*0x2+-0x17*0x114+-0xce*-0x14){p=j['indexOf'](p);}for(let r=0x227a+0x121b+-0x7*0x783,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0xa3a*-0x1+0xe*-0x8f+0x8*-0x4b))['slice'](-(-0xe19+-0x359*-0x3+0x1*0x410));}return decodeURIComponent(m);};a0j['qLhNoF']=e,a0j['pcnWqf']={},a0j['GqjwUW']=!![];}const f=c[0xae6+0xbd+-0xba3],g=a+f,h=a0j['pcnWqf'][g];return!h?(d=a0j['qLhNoF'](d),a0j['pcnWqf'][g]=d):d=h,d;}import a0p from'chalk';import{createChatSession as a0q}from'../lib/gemini.js';import{addTokenUsage as a0v}from'../lib/budget.js';import{getConfig as a0w}from'../lib/config.js';import{logCommand as a0x}from'../lib/logger.js';import{printMarkdown as a0z,printError as a0A}from'../lib/ui.js';import{t as a0B}from'../lib/i18n.js';const i=b=>new Promise(j=>setTimeout(j,b));let s=!(-0x241*-0x11+-0x3f7+-0x2259),g=null,r=0x733+0x130b*-0x1+0xbd8,y=!(0x1e62+-0x14e2+0xb*-0xdd);const h=-0x1*-0x701c+0x5c21+0x33*-0x217;let u=null;export function isChatActive(){return s;}function d(){const a5=a0j,b=u?h:0xb4f+-0xc67+0x14a0,j=r,k=Math[a5(0x164)](Math[a5(0x17e)](j/b*(-0x1b*-0xe3+0xef7+-0x2684)),0x1e79*0x1+-0x26ab+0x896),p=Math[a5(0x17e)](k/(0x1*0xfa7+0x6a9+-0x15ec)*(0x45a*0x2+-0x17*0x114+-0x5c*-0x2d)),q=0x227a+0x121b+-0x1*0x3481-p,v=k>-0xa3a*-0x1+0xe*-0x8f+0x4*-0x86?a0p[a5(0xc3)]:k>-0xe19+-0x359*-0x3+0x1*0x440?a0p[a5(0x114)]:a0p['green'],w=u?a5(0xcc):a5(0x145);console[a5(0x16d)](a0p[a5(0x15d)]('\x20\x20'+w+':\x20')+v('█'[a5(0x10c)](p))+a0p[a5(0x15d)]('░'[a5(0x10c)](q))+a0p[a5(0x15d)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(p){const a6=a0j;if(!g)return'exit';if(a0x('ai4ctf:\x20'+p),u)return m(p);const q=p[a6(0x11d)]()['toLowerCase']()[a6(0x14f)](/^hint\s+([abc])$/);if(q)return function(z){const a7=a6,A=a0B('a'===z?a7(0x119):'b'===z?'ai4ctfHintB':a7(0x180)),B=a0B('a'===z?a7(0x13d):'b'===z?'ai4ctfHintBBody':a7(0xf1)),C='Hint\x20'+z[a7(0xff)](),D='a'===z?a0p['green']:'b'===z?a0p[a7(0x114)]:a0p['red'];console[a7(0x16d)](),console[a7(0x16d)](D[a7(0x9a)](a7(0xf0)+C+'\x20\x20')+a0p[a7(0x15d)](A)),console[a7(0x16d)]();for(const E of B['split']('\x0a'))''===E?console['log']():console[a7(0x16d)](a0p[a7(0x18a)](a7(0x150)+E));console[a7(0x16d)](),'a'===z?(console[a7(0x16d)](a0p[a7(0x15d)]('\x20\x20\x20\x20'+a0B(a7(0x144))+'\x20')+a0p[a7(0x174)](a7(0xfe))),console['log']()):'b'===z&&(console[a7(0x16d)](a0p[a7(0x15d)](a7(0x150)+a0B(a7(0x96))+'\x20')+a0p[a7(0x174)](a7(0x118))),console['log']());}(q[0xae6+0xbd+-0xba2]),'continue';const v=p[a6(0x14f)](/^submit\s+(.+)/i);if(v){let z=v[-0x194c+-0xca*-0x22+-0x187][a6(0x11d)]();if(/^submit\s+/i['test'](z)&&(z=z[a6(0xa6)](/^submit\s+/i,'')['trim']()),z=z[a6(0xa6)](/^["'`]+|["'`]+$/g,'')[a6(0x11d)](),a6(0x185)===z){console['log'](),console[a6(0x16d)](a0p[a6(0x17d)][a6(0x9a)](a6(0x116))),console[a6(0x16d)](a0p[a6(0x17d)][a6(0x9a)]('\x20\x20'+a0B(a6(0xed)))),console['log'](a0p[a6(0x17d)][a6(0x9a)](a6(0x116))),console[a6(0x16d)](),console[a6(0x16d)](a0p[a6(0x18a)]('\x20\x20'+a0B(a6(0xf6)))),console['log'](a0p[a6(0x15d)]('\x20\x20'+a0B(a6(0x165)))),console[a6(0x16d)](),d(),s=!(-0x115*0x11+-0x1607+0x286d),g=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a6(0x14a),'headers':{'Content-Type':a6(0xdd)},'body':JSON[a6(0xf7)]({'type':a6(0xce),'solved':!(-0x183f+-0x3*-0x2cd+-0x138*-0xd),'tokensUsed':r,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a6(0x99)](0x930+-0x1659+0x20b1)})[a6(0x121)](()=>{}),await i(0x11d8+-0x2569+-0x17*-0x11b),console['log'](),console['log'](a0p['cyan']('\x20\x20─────────────────────────────────────────────')),console[a6(0x16d)](a0p[a6(0x9a)]['white']('\x20\x20'+a0B(a6(0x14e)))),console['log'](a0p[a6(0x174)](a6(0x10a))),console[a6(0x16d)]();const A=a0B(a6(0x103)),B=a0B(a6(0x16b));console[a6(0x16d)](a0p['white'](a6(0xfa)+A+'\x20')+a0p[a6(0x15d)](B[a6(0x183)]('\x0a')[0x198b+-0x1*-0x25ab+-0x12*0x383]||''));for(const F of B['split']('\x0a')['slice'](-0x2051+-0x246b*-0x1+0x419*-0x1))F[a6(0x11d)]()&&console['log'](a0p[a6(0x15d)]('\x20\x20\x20\x20\x20\x20\x20'+F['replace'](/\{thinking\}/g,'thinking')));console[a6(0x16d)](),console[a6(0x16d)](a0p[a6(0x18a)](a6(0xdc)+a0B(a6(0x112))+'\x20')+a0p[a6(0x15d)](a0B(a6(0x9b)))),console[a6(0x16d)](),console['log'](a0p[a6(0x174)](a6(0x197))),console[a6(0x16d)](),await i(0x1730+-0x10*-0x1b6+-0x13*0x240),console[a6(0x16d)](a0p[a6(0x174)]('\x20\x20─────────────────────────────────────────────')),console[a6(0x16d)](a0p[a6(0x9a)][a6(0x18a)]('\x20\x20'+a0B(a6(0x167)))),console[a6(0x16d)](a0p[a6(0x174)](a6(0x10a))),console[a6(0x16d)](),console[a6(0x16d)](a0p[a6(0x114)](a6(0xef))+a0p[a6(0x18a)](a0B(a6(0xc5))[a6(0xc1)](-0x234+0x1f93+0x1d45*-0x1))+a0p[a6(0x15d)](a0B(a6(0x11a)))),console[a6(0x16d)](a0p['yellow'](a6(0x16c))+a0p[a6(0x18a)](a0B(a6(0xf3))[a6(0xc1)](0x187*-0x10+0x7cd+0x10bd))+a0p[a6(0x15d)](a0B(a6(0xcb)))),console[a6(0x16d)](a0p[a6(0x114)](a6(0x101))+a0p[a6(0x18a)](a0B('ai4ctfWrapQuotaC')[a6(0xc1)](0xd82+-0xc*0x12+-0xc90))+a0p[a6(0x15d)](a0B(a6(0x135)))),console[a6(0x16d)]();for(const G of a0B(a6(0x19d))[a6(0x183)]('\x0a'))console['log'](a0p[a6(0x15d)]('\x20\x20\x20\x20'+G));console[a6(0x16d)](),await i(0x22b5+0x1*0x1a2e+-0x795*0x7),console['log'](a0p['cyan'](a6(0x10a))),console[a6(0x16d)](a0p[a6(0x9a)][a6(0x18a)]('\x20\x20'+a0B(a6(0x11b))+'\x20')+a0p[a6(0xc3)][a6(0x9a)](a6(0x166))+a0p['white'](a6(0x189)+a0B(a6(0x15b)))),console['log'](a0p['cyan']('\x20\x20─────────────────────────────────────────────')),console[a6(0x16d)]();const C=a0B(a6(0x10b)),D=a0B(a6(0x13b)),E=C['split']('\x0a');if(E[-0xebd+-0x255+0x1112]){const [H,I]=E[-0x17*0x16+-0x38+0x232]['split'](a6(0x139));console[a6(0x16d)](a0p[a6(0x18a)]('\x20\x20\x20\x20'+(H||''))+a0p[a6(0x9a)][a6(0x18a)](D)+a0p['white'](I||''));}for(const J of E['slice'](0x2*-0x425+-0x3f7*-0x5+-0xb88))J['trim']()&&console[a6(0x16d)](a0p[a6(0x18a)](a6(0x150)+J));return console[a6(0x16d)](),console['log'](a0p['gray'](a6(0x150)+a0B('ai4ctfWrapTypeCtf4ai')+'\x20')+a0p['bold'][a6(0xc3)](a6(0x166))),console[a6(0x16d)](),a6(0x1a1);}return console[a6(0x16d)](),console['log'](a0p['red']('\x20\x20'+a0B(a6(0xe8)))),console[a6(0x16d)](a0p[a6(0x15d)]('\x20\x20'+a0B(a6(0x168)))),console[a6(0x16d)](),a6(0x16e);}if(p[a6(0xfc)]('!')){const K=p[a6(0xd2)](0xad*-0x31+-0x12a6+0x33c4)[a6(0x11d)]();if(!K)return a6(0x16e);try{const L={};L[a6(0xd0)]=a6(0x153),L[a6(0x99)]=0x2710;const {execSync:M}=await import('node:child_process'),N=M(K,L)['trim']();console['log'](),console[a6(0x16d)](a0p[a6(0x15d)]('\x20\x20$\x20')+a0p[a6(0x18a)](K)),console['log'](a0p[a6(0x18a)]('\x20\x20'+N['split']('\x0a')[a6(0x15c)](a6(0x140)))),console['log'](),console[a6(0x16d)](a0p['gray']('\x20\x20'+a0B(a6(0x162)))),console[a6(0x16d)]();}catch(O){console[a6(0x16d)](),console[a6(0x16d)](a0p[a6(0xc3)](a6(0xb3)+(O[a6(0xa7)]?.[a6(0x183)]('\x0a')[0x7*-0x4bc+-0x17*0x103+-0x80f*-0x7]||a6(0xb5)))),console[a6(0x16d)]();}return a6(0x16e);}const w={};w[a6(0x187)]=a6(0xdd);if(a6(0x1a1)===p||'back'===p||a6(0x18b)===p||a6(0x12c)===p)return s=!(0x2*0x985+-0x1*-0x19a3+-0x2cac),g=null,fetch(a6(0x111),{'method':a6(0x14a),'headers':w,'body':JSON[a6(0xf7)]({'type':a6(0xce),'tokensUsed':r,'timestamp':new Date()[a6(0x159)]()}),'signal':AbortSignal[a6(0x99)](0x26de+0x2025*-0x1+0xccf)})[a6(0x121)](()=>{}),console[a6(0x16d)](),console[a6(0x16d)](a0p[a6(0x15d)](a6(0x154))),console[a6(0x16d)](a0p['white']('\x20\x20'+a0B(a6(0x9e)))),console[a6(0x16d)](a0p[a6(0x15d)]('\x20\x20'+a0B('ai4ctfTokens')+':\x20'+r+'/5000')),console[a6(0x16d)](a0p[a6(0x15d)]('\x20\x20'+a0B(a6(0x123))+a6(0xd3))),console[a6(0x16d)](a0p['gray'](a6(0x154))),console['log'](),console[a6(0x16d)](a0p[a6(0x174)](a6(0x10a))),console[a6(0x16d)](a0p[a6(0x18a)]('\x20\x20'+a0B(a6(0x171))+'\x20')+a0p[a6(0x9a)][a6(0xc3)](a6(0x166))+a0p[a6(0x18a)](a6(0x189)+a0B('ai4ctfExitNextSub'))),console[a6(0x16d)](a0p[a6(0x15d)]('\x20\x20'+a0B('ai4ctfExitNextBody'))),console['log'](a0p[a6(0x174)](a6(0x10a))),console[a6(0x16d)](),console[a6(0x16d)](a0p[a6(0x9a)][a6(0xc3)](a6(0xee))+a0p[a6(0x15d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(a6(0xbe)))),console['log'](a0p[a6(0x18a)](a6(0xd7))+a0p[a6(0x15d)](a6(0x16a)+a0B(a6(0xd6)))),console[a6(0x16d)](),a6(0x1a1);const x={};x[a6(0x187)]='application/json';if(!y&&r>=-0x26c9+-0x166a+-0x50bb*-0x1)return y=!(0x3*-0xc53+0x1b4d*-0x1+0x4046),fetch(a6(0x111),{'method':'POST','headers':x,'body':JSON['stringify']({'type':a6(0xce),'solved':!(-0x22fd+-0x200a+-0xc3*-0x58),'tokensUsed':r,'timestamp':new Date()[a6(0x159)]()}),'signal':AbortSignal['timeout'](-0x24e9*-0x1+0x7c7+-0x1928)})[a6(0x121)](()=>{}),console['log'](),console[a6(0x16d)](a0p[a6(0x114)]('\x20\x20'+a0B(a6(0xb6)))),d(),(function(){const a8=a6;console[a8(0x16d)](),console[a8(0x16d)](a0p[a8(0x114)](a8(0x10a))),console[a8(0x16d)](a0p[a8(0x9a)][a8(0x114)]('\x20\x20'+a0B(a8(0x17c)))),console[a8(0x16d)](a0p[a8(0x114)](a8(0x10a))),console['log']();for(const P of a0B(a8(0x184))[a8(0x183)]('\x0a'))''===P?console[a8(0x16d)]():console[a8(0x16d)](a0p[a8(0x18a)](a8(0x150)+P));console[a8(0x16d)](),console['log'](a0p[a8(0x174)](a8(0xa0))),console[a8(0x16d)](),console['log'](a0p[a8(0x18a)](a8(0x150)+a0B(a8(0x95)))),console['log'](),console[a8(0x16d)](a0p[a8(0x17d)](a8(0xb4))),console[a8(0x16d)](),console['log'](a0p[a8(0x18a)]('\x20\x20\x20\x20'+a0B(a8(0xf5)))),console[a8(0x16d)](),console[a8(0x16d)](a0p[a8(0x174)](a8(0x94))),console[a8(0x16d)](),console[a8(0x16d)](a0p['gray'](a8(0x150)+a0B(a8(0x19e)))),console[a8(0x16d)]();}()),a6(0x16e);if(y)return console[a6(0x16d)](),console[a6(0x16d)](a0p['yellow']('\x20\x20'+a0B(a6(0xdb)))),console[a6(0x16d)](a0p['gray']('\x20\x20'+a0B(a6(0xc4))+'\x20')+a0p[a6(0x174)](a6(0x12b))),console[a6(0x16d)](a0p['gray']('\x20\x20'+a0B(a6(0x11f))+'\x20')+a0p[a6(0x174)](a6(0x155))),console[a6(0x16d)](),'continue';console[a6(0x16d)](a0p['gray']('\x20\x20'+a0B(a6(0x134))));try{const P=await g[a6(0x198)](p);process['stdout']['write']('\x1b[1A\x1b[2K'),r+=P[a6(0x108)],a0v(P['tokensUsed']),console[a6(0x16d)](),a0z(P[a6(0x148)]),d(),console[a6(0x16d)]();}catch(Q){process[a6(0x192)][a6(0xdf)]('\x1b[1A\x1b[2K'),a0A(a6(0xd4)+Q[a6(0xa7)]),console[a6(0x16d)]();}return a6(0x16e);}const f=new Set();async function m(k){const a9=a0j;if(!u||!g)return a9(0x1a1);const p=k[a9(0x11d)](),q=p[a9(0x93)](),v=(Date[a9(0x182)]()-u[a9(0xb8)])/(0x40+-0x73b8+0x15dd8);if(!u['nudgeShown']&&!u[a9(0x17a)]&&u[a9(0x12f)]['size']>=-0x5a*0x3a+0x46d+0x1d*0x8d&&v>=-0x21a+-0x25f4+0x1*0x2813&&(u[a9(0xe9)]=!(0x2509+0x7*-0x267+-0x1438),console[a9(0x16d)](),console[a9(0x16d)](a0p[a9(0x114)](a9(0xad))+a0p['bold'][a9(0x114)](a9(0x18f))),console['log'](a0p['gray'](a9(0xe1))),console[a9(0x16d)]()),/^ICOA\{[^}]+\}$/i[a9(0x120)](p))return console[a9(0x16d)](),console[a9(0x16d)](a0p['gray'](a9(0x12e))+a0p[a9(0x18a)](a9(0x125)+p)),m(a9(0x125)+p);const x=q['match'](/^hint\s+([abc])$/);if(x){const A=x[0x1b52+-0xe0f+-0x2*0x6a1][a9(0xff)](),B=u[a9(0x113)][a9(0x177)],C=B?.[A],D='A'===A?a0p[a9(0x17d)]:'B'===A?a0p[a9(0x114)]:a0p[a9(0xc3)];if(console[a9(0x16d)](),console[a9(0x16d)](D[a9(0x9a)](a9(0x9f)+A)),console[a9(0x16d)](),C){for(const E of String(C)[a9(0x183)]('\x0a'))console[a9(0x16d)](a0p[a9(0x18a)](a9(0x150)+E));}else console[a9(0x16d)](a0p['gray']('\x20\x20\x20\x20No\x20pre-written\x20hint\x20at\x20this\x20tier\x20for\x20this\x20question.'));return console[a9(0x16d)](),'A'===A?console['log'](a0p[a9(0x15d)](a9(0x11c))+a0p[a9(0x174)](a9(0xfe))):'B'===A?console[a9(0x16d)](a0p['gray'](a9(0x98))+a0p[a9(0x174)](a9(0x118))):'C'===A&&console['log'](a0p[a9(0x15d)]('\x20\x20\x20\x20'+a0B(a9(0xe3))+'\x20')+a0p[a9(0x9a)][a9(0x17d)](a9(0x18f))),console[a9(0x16d)](),a9(0x16e);}const z=p[a9(0x14f)](/^submit\s+(.+)/i);if(z){let F=z[-0x15d*0xf+0x16bb+-0x247][a9(0x11d)]();if(/^submit\s+/i[a9(0x120)](F)&&(F=F[a9(0xa6)](/^submit\s+/i,'')[a9(0x11d)]()),F=F[a9(0xa6)](/^["'`]+|["'`]+$/g,'')[a9(0x11d)](),/^[A-Da-d]$/[a9(0x120)](F))return console[a9(0x16d)](),console['log'](a0p[a9(0x114)](a9(0xf2)+F+a9(0xbb))),console['log'](a0p['gray']('\x20\x20Flag\x20format:\x20')+a0p[a9(0x17d)]('ICOA{your_flag}')+a0p[a9(0x15d)](a9(0x13a))),console[a9(0x16d)](),a9(0x16e);const {getExamState:G,saveExamState:H}=await import(a9(0x14c)),I=G();if(!I)return a9(0x1a1);if(!I['questions']['find'](L=>L['number']===u[a9(0x122)]))return console[a9(0x16d)](a0p['red'](a9(0xc0)+u[a9(0x122)]+a9(0xeb))),a9(0x16e);const J=I['answers'][u[a9(0x122)]];I[a9(0x100)]||(I[a9(0x100)]=[]),I[a9(0x100)][a9(0x175)]({'ts':new Date()[a9(0x159)](),'q':u[a9(0x122)],'type':J?'answer_changed':a9(0x19b),'input':F,'result':a9(0xf9)}),I[a9(0x142)][u[a9(0x122)]]=F;const K=u[a9(0x122)]+(0x7fa+-0x1*0x23e9+0x4*0x6fc);return I[a9(0x195)]=K<=0xa1*-0x27+0x32d+0x2b0*0x8?K:u[a9(0x122)],H(I),console[a9(0x16d)](),J?(console['log'](a0p[a9(0x17d)](a9(0x13e)+u[a9(0x122)]+a9(0x13f))+a0p[a9(0x114)](F)),console['log'](a0p[a9(0x15d)]('\x20\x20\x20\x20Previous:\x20'+J))):console['log'](a0p[a9(0x17d)][a9(0x9a)]('\x20\x20✓\x20Answer\x20for\x20Q'+u[a9(0x122)]+a9(0x107)+F)),console[a9(0x16d)](a0p['gray'](a9(0xac))),console[a9(0x16d)](),console[a9(0x16d)](a0p[a9(0x15d)]('\x20\x20')+a0p[a9(0x18a)](a9(0xd8))+a0p[a9(0x15d)]('\x20again\x20to\x20change,\x20or\x20')+a0p[a9(0x18a)](a9(0x1a1))+a0p['gray']('\x20to\x20move\x20on')),K<=-0x1*-0x2611+-0x10*0x9e+-0x3*0x959?console[a9(0x16d)](a0p[a9(0x15d)](a9(0x17f))+a0p[a9(0x174)]('ai4ctf')+a0p['gray']('\x20will\x20open\x20Q'+K)):console[a9(0x16d)](a0p[a9(0x15d)](a9(0xae))+a0p[a9(0xc3)](a9(0x166))+a0p[a9(0x15d)](a9(0xa4))),console[a9(0x16d)](),a9(0x16e);}if(k[a9(0xfc)]('!')){const L=k[a9(0xd2)](0x7ae+-0xd*0x116+0x671)[a9(0x11d)]();if(!L)return a9(0x16e);try{const M={};M['encoding']=a9(0x153),M[a9(0x99)]=0x2710;const {execSync:N}=await import(a9(0x115)),O=N(L,M)[a9(0x11d)]();console[a9(0x16d)](),console[a9(0x16d)](a0p[a9(0x15d)](a9(0x130))+a0p[a9(0x18a)](L)),console[a9(0x16d)](a0p[a9(0x18a)]('\x20\x20'+O[a9(0x183)]('\x0a')['join'](a9(0x140)))),console[a9(0x16d)]();}catch(P){console[a9(0x16d)](),console[a9(0x16d)](a0p['red']('\x20\x20Error:\x20'+(P[a9(0xa7)]?.[a9(0x183)]('\x0a')[0x247f+-0x1b15+0x5*-0x1e2]||a9(0xb5)))),console[a9(0x16d)]();}return a9(0x16e);}if(a9(0x1a1)===q||a9(0x172)===q||'quit'===q){const Q=u[a9(0x122)],{getExamState:R}=await import(a9(0x14c)),S=R(),T=S&&null!=S['answers'][Q],U=S?.[a9(0x195)]||Q;return s=!(0x25a5+-0xb1*0x23+-0xd71),g=null,u=null,f[a9(0x152)](),console[a9(0x16d)](),console[a9(0x16d)](a0p[a9(0x15d)]('\x20\x20AI4CTF\x20chat\x20ended\x20for\x20Q'+Q+'.')),T&&U>Q&&U<=-0x18ab+-0x970+0x1*0x2241?console[a9(0x16d)](a0p[a9(0x18a)](a9(0x16f))+a0p['bold']['green']('Q'+U)+a0p[a9(0x15d)](a9(0x199))+a0p['cyan'](a9(0xce))+a0p[a9(0x15d)](a9(0xb7))):T&&Q>=0x1fe3*0x1+0x776+0xd11*-0x3?console['log'](a0p[a9(0x18a)](a9(0x181))+a0p['bold'][a9(0xc3)](a9(0x166))+a0p[a9(0x15d)]('\x20for\x20Q39')):console[a9(0x16d)](a0p['gray'](a9(0x15e))+a0p[a9(0x18a)](a9(0xbf)+Q)+a0p[a9(0x15d)](a9(0x136))+a0p['white'](a9(0xce))),console[a9(0x16d)](),a9(0x1a1);}if(y)return console[a9(0x16d)](),console['log'](a0p[a9(0x114)]('\x20\x20AI\x20budget\x20exhausted\x20for\x20AI4CTF\x20section.')),console[a9(0x16d)](a0p[a9(0x15d)](a9(0x13c))+a0p[a9(0x18a)](a9(0x141))+a0p[a9(0x15d)](a9(0xea))+a0p[a9(0x18a)]('!shell')+a0p[a9(0x15d)](a9(0xea))+a0p[a9(0x18a)](a9(0x1a1))),console[a9(0x16d)](),a9(0x16e);if(r>=h)return y=!(0xf5e+-0x1af9+0xb9b*0x1),console[a9(0x16d)](),console[a9(0x16d)](a0p[a9(0xc3)][a9(0x9a)](a9(0x18d))),console['log'](a0p[a9(0x15d)]('\x20\x20You\x20can\x20still:\x20')+a0p[a9(0x18a)]('submit\x20<flag>')+a0p['gray'](a9(0xea))+a0p['white']('!shell')+a0p['gray'](a9(0xea))+a0p[a9(0x18a)](a9(0x1a1))),console[a9(0x16d)](),a9(0x16e);console[a9(0x16d)](a0p[a9(0x15d)]('\x20\x20Thinking...'));try{const V=await g[a9(0x198)](k);process[a9(0x192)][a9(0xdf)](a9(0x19a)),r+=V[a9(0x108)];const {getRealExamState:W,saveExamState:X}=await import(a9(0x14c)),Y=W(),Z={};Z[a9(0xce)]=0x0,Z[a9(0x166)]=0x0,(Y&&(Y[a9(0xe6)]||(Y['aiUsage']=Z),Y[a9(0xe6)][a9(0xce)]=r,X(Y)),console[a9(0x16d)](),a0z(V[a9(0x148)]),d(),function(a0,a1,a2){const aa=a9,a3=a0/a1*(0x19f*-0xa+0x282+0xe18);a3>=0x6b*0x13+-0x1*0xd44+-0x9*-0xa2&&!a2[aa(0xa2)]('95')?(console[aa(0x16d)](a0p['red'][aa(0x9a)](aa(0x143)+Math[aa(0x17e)](a3)+aa(0xaf)+(a1-a0)+aa(0x19f))),a2[aa(0xc8)]('95')):a3>=-0xcbd+-0x38f+0x1*0x109c&&!a2[aa(0xa2)]('80')?(console[aa(0x16d)](a0p['yellow'](aa(0x179))),a2[aa(0xc8)]('80')):a3>=-0x18b*0x1+0x114e*0x1+-0xf91&&!a2['has']('50')&&(console[aa(0x16d)](a0p[aa(0x15d)](aa(0xbd))),a2[aa(0xc8)]('50'));}(r,h,f),console['log']());}catch(a0){process[a9(0x192)][a9(0xdf)](a9(0x19a)),a0A(a9(0xd4)+a0['message']),console[a9(0x16d)]();}return a9(0x16e);}export function registerAi4ctfCommand(b){const ab=a0j;b[ab(0xc7)](ab(0xce))[ab(0xe2)](ab(0x132))[ab(0x146)](async()=>{const ac=ab;a0x('ai4ctf');const {getRealExamState:j}=await import(ac(0x14c)),k=j(),p=k?.[ac(0xc9)][ac(0x10d)](x=>x[ac(0xd1)]>=0x35*0x95+0x4*0x9a9+-0x455e&&x[ac(0xd1)]<=-0x1f*-0xef+0x1396+0x1*-0x3061);if(k&&p){const x=k[ac(0x195)]||-0x25d2+-0x24c4+-0x13*-0x3ed;if(x<-0x20f0+-0xf3f+0x2*0x1827||x>0x2386*0x1+-0x24bb+-0x1*-0x15b)return console[ac(0x16d)](),console[ac(0x16d)](a0p['yellow'](ac(0xcd))),console['log'](a0p['gray'](ac(0xb0)+x+ac(0x196))),console[ac(0x16d)](a0p[ac(0x15d)](ac(0x110))+a0p[ac(0x9a)]['cyan'](ac(0xb2))),void console[ac(0x16d)]();const z=k[ac(0xc9)][ac(0xb9)](A=>A[ac(0xd1)]===x);return z?void await async function(A,B){const ad=ac,{getRealExamState:C,refetchQuestionDataIfStale:D,materializeAttachedData:E}=await import('../lib/exam-state.js');await D();const F=C();if(!F)return!(0x847*-0x3+-0x1*0x2627+-0x5*-0xc99);const G=F[ad(0xc9)][ad(0xb9)](J=>J[ad(0xd1)]===A);G&&(B=G),E(A,B?.[ad(0xe4)]);const H=F[ad(0xe6)]?.[ad(0xce)]??0x11*-0xe8+-0x1a4d+0x29b5;if(H>=h)return console['log'](),console[ad(0x16d)](a0p[ad(0x114)](ad(0x18c))),console[ad(0x16d)](a0p[ad(0x15d)](ad(0x169))+a0p['white'](ad(0x127)+A+'\x20ICOA{...}')),console['log'](),!(0xc68+-0x7*-0x4ba+-0x2d7d);try{g=await a0q(void(0x1792+-0x677+0x1*-0x111b),function(J,K){const ae=ad,L=J[ae(0xe2)]||J['text']||'',M=J['attachedData']?ae(0xba)+K+ae(0x109)+J[ae(0xe4)]:'';return ae(0xec)+K+',\x20'+J['category']+',\x20'+(J[ae(0xd5)]||0x228+0x236d+-0x258f)+ae(0xca)+L+M+ae(0x129)+K+ae(0x97);}(B,A));}catch(J){return a0A(J['message']),!(-0x166d+-0x1*-0x19f1+-0x383);}s=!(-0x1cb5+0x1a*-0x78+0x28e5),r=H,y=!(0x2*-0x1363+-0xe00+0x34c7*0x1),u={'qNum':A,'question':B,'usageField':ad(0xce),'enteredAt':Date[ad(0x182)](),'hintsUsed':new Set(),'submitAttempted':!(-0x89d+-0x11a+0x9b8*0x1),'nudgeShown':!(0xc01+-0x17d*-0x8+0x18*-0xff)};const I=F[ad(0x142)]?.[A];return function(K,L,M){const af=ad,N=a0w()[af(0x128)]||af(0x9d),O=r>0x1911+-0x1*0x2527+0xc16;console[af(0x16d)](),console[af(0x16d)](a0p[af(0x17d)][af(0x9a)](af(0x102)+L+':\x20'+K['category']+'\x20═══')),O&&console['log'](a0p[af(0x15d)](af(0xda))),M&&console[af(0x16d)](a0p[af(0x15d)]('\x20\x20Current\x20answer:\x20')+a0p[af(0x114)](M)+a0p[af(0x15d)](af(0x12d))),console[af(0x16d)](),console[af(0x16d)](a0p[af(0x174)]('\x20\x20┌─────────────────────────────────────────────')),console[af(0x16d)](a0p['cyan']('\x20\x20│\x20')+a0p[af(0x9a)][af(0x18a)]('Q'+L+af(0x117)+K[af(0xe7)]+af(0x157)+(K[af(0xd5)]||-0x2e7*0x7+0x5*0x6d+0x1236)+'\x20pts')),console[af(0x16d)](a0p[af(0x174)](af(0x14d)));for(const P of String(K['text'])[af(0x183)]('\x0a')){const Q=P[af(0x1a0)]>0x2*0x281+-0x1c60+0x179a?P['slice'](-0x4f1+0xf8f+0x54f*-0x2,0x1*0xa67+-0x16ec+0xcbe)+af(0x149):P;console[af(0x16d)](a0p[af(0x174)]('\x20\x20│\x20')+a0p[af(0x18a)](Q));}console[af(0x16d)](a0p[af(0x174)](af(0x14d))),console[af(0x16d)](a0p[af(0x174)](af(0xa8))+a0p['gray'](af(0xa9))+a0p[af(0x18a)](af(0xbf)+L)),console[af(0x16d)](a0p[af(0x174)](af(0xa8))+a0p[af(0x15d)](af(0x131))),console[af(0x16d)](a0p[af(0x174)]('\x20\x20└─────────────────────────────────────────────')),console['log'](),console[af(0x16d)](a0p[af(0x9a)][af(0x18a)](af(0x161))),console['log'](),console[af(0x16d)](a0p[af(0x114)]('\x20\x20\x20\x20hint\x20a')+a0p[af(0x15d)](af(0x15a))),console[af(0x16d)](a0p[af(0x114)](af(0x170))+a0p[af(0x15d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Technique\x20hint\x20(pre-written)')),console[af(0x16d)](a0p['yellow'](af(0x126))+a0p[af(0x15d)](af(0xd9))),console[af(0x16d)](a0p[af(0x9a)]['green'](af(0xe0))+a0p[af(0x15d)](af(0x176))),console[af(0x16d)](a0p[af(0x18a)](af(0x105))+a0p['gray'](af(0x92))),console[af(0x16d)](a0p['gray'](af(0xbc))),console[af(0x16d)](a0p['gray'](af(0xa1))+a0p[af(0x18a)](af(0x11e))),console['log'](),console[af(0x16d)](a0p['gray']('\x20\x20\x20\x20exit')+a0p[af(0x15d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Leave\x20chat,\x20return\x20to\x20exam')),console[af(0x16d)](),d(),console[af(0x16d)](a0p[af(0x15d)](af(0x19c)+N+')')),console[af(0x16d)]();}(B,A,I),!(0x1f38*0x1+-0xddf+-0x1159);}(x,z):void a0A('Q'+x+ac(0xc2)+x);}const q={};q[ac(0x124)]=ac(0xde),q[ac(0xe7)]=ac(0xf4);const v=a0w()[ac(0x128)]||ac(0x9d),w=q;try{g=await a0q(w);}catch(A){return void a0A(A[ac(0xa7)]);}s=!(0x1*-0xd49+-0x1807+0x2550),r=-0x1168+-0x25*-0xe9+-0x1045,y=!(0x4d6*0x4+0xb1*0x10+-0x1e67*0x1),console['log'](),console[ac(0x16d)](a0p[ac(0x17d)][ac(0x9a)](ac(0x163)+a0B(ac(0x147))+ac(0x15f))),console['log'](),console[ac(0x16d)](a0p[ac(0x18a)]('\x20\x20'+a0B(ac(0x18e)))),console[ac(0x16d)](),console['log'](a0p[ac(0x174)](ac(0x188))),console['log'](a0p['cyan'](ac(0xa8))+a0p[ac(0x9a)][ac(0x18a)](a0B('ai4ctfChallenge'))),console[ac(0x16d)](a0p[ac(0x174)](ac(0x14d))),console[ac(0x16d)](a0p[ac(0x174)](ac(0xa8))+a0p['white'](a0B(ac(0x133)))),console['log'](a0p[ac(0x174)](ac(0xa8))+a0p[ac(0x17d)](ac(0xa5))),console['log'](a0p['cyan'](ac(0x14d))),console[ac(0x16d)](a0p[ac(0x174)](ac(0xa8))+a0p[ac(0x18a)](a0B(ac(0x106)))),console[ac(0x16d)](a0p['cyan'](ac(0xa8))+a0p[ac(0x15d)]('Flag\x20format:\x20icoa{...}')),console[ac(0x16d)](a0p[ac(0x174)]('\x20\x20└─────────────────────────────────────────────')),console['log'](),console['log'](a0p[ac(0x18a)]('\x20\x20'+a0B(ac(0x9c)))),console[ac(0x16d)](),console[ac(0x16d)](a0p['yellow'](ac(0xf8))+a0p[ac(0x15d)](ac(0x150)+a0B(ac(0x119)))),console[ac(0x16d)](a0p['gray'](ac(0xe5)+a0B(ac(0x12a)))),console[ac(0x16d)](a0p['yellow'](ac(0x170))+a0p[ac(0x15d)]('\x20\x20\x20\x20'+a0B(ac(0xb1)))),console['log'](a0p[ac(0x15d)](ac(0xe5)+a0B('ai4ctfHintBUses'))),console[ac(0x16d)](a0p[ac(0x114)](ac(0x126))+a0p[ac(0x15d)]('\x20\x20\x20\x20'+a0B(ac(0x180)))),console['log'](a0p[ac(0x15d)](ac(0xe5)+a0B(ac(0x186)))),console[ac(0x16d)](),console['log'](a0p['gray']('\x20\x20─────────────────────────────────────────')),console[ac(0x16d)](a0p['bold'][ac(0x18a)]('\x20\x20'+a0B('ai4ctfWelcomeCta'))),console[ac(0x16d)]('\x20\x20\x20\x20'+a0p[ac(0x174)]('hint\x20a')+a0p[ac(0x15d)](ac(0x14b)+a0B('ai4ctfHintNudge'))),console[ac(0x16d)]('\x20\x20\x20\x20'+a0p[ac(0x174)]('hint\x20b')+a0p[ac(0x15d)](ac(0x14b)+a0B(ac(0x151)))),console[ac(0x16d)]('\x20\x20\x20\x20'+a0p[ac(0x174)](ac(0x118))+a0p[ac(0x15d)](ac(0x14b)+a0B(ac(0x178)))),console[ac(0x16d)](a0p['gray'](ac(0x150)+a0B(ac(0x137)))),console['log'](),console[ac(0x16d)](a0p[ac(0x18a)]('\x20\x20'+a0B(ac(0xa3)))),console[ac(0x16d)](a0p['gray']('\x20\x20'+a0B('ai4ctfOrChatExample')+'\x20')+a0p['white'](ac(0x160))),console[ac(0x16d)](),console[ac(0x16d)](a0p[ac(0x114)]('\x20\x20'+a0B(ac(0x10e)))),console[ac(0x16d)](a0p[ac(0x18a)](ac(0x158))+a0p[ac(0x15d)](a0B('ai4ctfCmdHintLine'))),console['log'](a0p[ac(0x18a)](ac(0x194))+a0p[ac(0x15d)](a0B('ai4ctfSubmitCmd'))),console['log'](a0p[ac(0x18a)](ac(0xc6))+a0p[ac(0x15d)](a0B(ac(0xcf)))),console['log'](a0p[ac(0x15d)](ac(0xa1))+a0p[ac(0x18a)]('!echo\x20aWNv...\x20|\x20base64\x20-d')),console[ac(0x16d)](a0p['gray']('\x20\x20\x20\x20exit\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(ac(0xfd)))),console[ac(0x16d)](),d(),console['log'](a0p['gray']('\x20\x20'+a0B(ac(0x123))+ac(0xfb)+v+')')),console[ac(0x16d)](a0p['gray']('\x20\x20'+a0B(ac(0x10f)))),console[ac(0x16d)]();});}
1
+ (function(b,j){const a4=a0j,k=b();while(!![]){try{const p=-parseInt(a4(0xf3))/(-0x924+-0x19b1+0x22d6)*(parseInt(a4(0xf4))/(0x6ff+0xaf7+-0x47d*0x4))+parseInt(a4(0x18b))/(0x18b9+-0x17d3+-0xe3)*(-parseInt(a4(0x16a))/(-0x5f3*0x5+0x1*0xb65+-0x1*-0x125e))+parseInt(a4(0x106))/(0x15ab+-0x463+-0x1143*0x1)*(parseInt(a4(0xe6))/(-0x1*-0x1c0a+0x2099+0x3c9d*-0x1))+-parseInt(a4(0xfc))/(-0x1358+-0x496+-0x1*-0x17f5)*(-parseInt(a4(0x130))/(0x1225+-0x2105+0xee8))+-parseInt(a4(0x1b2))/(-0x1*-0x2c7+0x1713+-0x19d1)+parseInt(a4(0xd9))/(0x3e*0x2b+-0x1*0xee7+0x3d*0x13)+parseInt(a4(0x175))/(0x1*-0x86e+0xcb3*0x3+-0x768*0x4);if(p===j)break;else k['push'](k['shift']());}catch(q){k['push'](k['shift']());}}}(a0b,-0x1*-0x4b0c5+0xcb642+-0x6fe9a));import a0p from'chalk';function a0b(){const ag=['C3vIBwL0qxr0zw1WDgvK','ywK0y3rMv3jHCff1B3rHqW','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','AgLUDcbJ','icaGicaGigHPBNqGyIaGia','Dg9mB3DLCKnHC2u','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','Dg9Rzw5mAw1PDa','sgLKzgvUie1LC3nHz2u','iokvKokvKokvKa','DMLHigfPngn0zIbJAgf0','CxvLC3rPB25Z','icaGifn0DwnRpYbuCNK6ia','CgfKrw5K','ihrVig1VDMuGB24','zxHHBsbXidmX','ywK0y3rMtg9JA2vKvgHLBG','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','ywK0y3rM','BMfTzq','z3jHEq','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','ywK0y3rMuMvWB3j0','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','BM93','z2vTBweTnc0ZmwiTAxq','ywK0y3rMrgvJB2rL','icdIMQaG','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','ywK0y3rMq29YCMvJDezSywC','yxbWBgLJyxrPB24VANnVBG','C3rYAw5NAwz5','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','icaGigv4AxqGicaGicaGicaGica','ywK0y3rMtgv2zwXZ','y29TBwfUza','oti0nJH1EgXrEgy','ywK0y3rMtw9KzwW','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','ywK0y3rMrxHPDenTze5LEhq','y3rMngfP','ywK0y3rMsgLUDfrLy2HUAxf1zq','C3vIBwL0ieLdt0f7lI4UFq','ywn0Aw9U','iokaLcb0ExbLia','ywK0y3rMsgLUDe5LEhrb','BwvUDq','mJq5odq4ntbzyMLqD28','C3bSAxq','ywrK','y3LHBG','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','ywK0y3rMv2vSy29Tzun0yq','ywK0y3rMsgLUDem','ywK0y3rMt3jdAgf0rxHHBxbSzq','AM9PBG','ywK0y3rMvgHPBMTPBMC','AgLUDhm','ywK0y3rMv3jHCff1B3rHqG','ywK0y3rMrxHPDenTzejHy2S','icbtDgLSBcbHDMfPBgfIBgu6ia','xsaGWRCG','icbzB3uGyxjLig9Uife','icaGicaGicaGicaGica','icaGifbYzxzPB3vZoIa','icbbzNrLCIbLEgL0oIa','icaGigHPBNqGyq','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','cIaG','mty1z2rMyMLv','ywK0y3rMv3jHCff1B3rHqq','ywK0y3rMv3jHCff1B3rHq0HPBNq','ywK0y3rMsgLUDencB2r5','icdILzdILzdILzaGquK0q1rgiokaLcbr','ywK0y3rMq2HHBgXLBMDL','icaGicaGicaGicaGicaGicaGicbLlMCUia','ihbVAw50CYK6cG','icbszxn1Bwu6ia','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','z3jLzw4','yMfJAW','ywK0y3rMv3jHCeXPBMuYqM9KEq','D3jPDgu','ywK0y3rMsgLUDei','icbfCNjVCJOG','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','Cg9PBNrZ','y29UDgLUDwu','zxHHBsbXia','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywLvC2fNzq','C29Tzq','Bwf0y2G','zw5JB2rPBMC','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','C2XPy2u','icaGigHPBNqGyG','C3rKB3v0','yM9Sza','q29TBwfUzcbMywLSzwq','AgLUDhnvC2vK','imk3ia','icdILiiG','igfNywLUihrVignOyw5NzsWGB3iG','C3vIBwL0ia','ywK0y3rMv3jHCff1B3rHC1rPDgXL','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','mtuYntG2ovj6ww9gCW','ywK0y3rMsw50zxjJzxb0zwq','icaGihn1yM1PDcbjq09bEY4UlN0','CMvWBgfJzq','ywK0y3rMv3jHCff1B3rHquHPBNq','DgvZDa','iokaLca','ywK0y3rMv3jHCfrPDgXL','icaGicfWExrOB24Zic4UlG','ywK0y3rMv3jHCfr5CgvdDgy0ywK','CMvWzwf0','ywK0y3rMrM91BMrgBgfN','ihb0CW','Aw50zxjHy3rPB25Z','ywK0y3rMsgLUDe5LEhrd','AgLUDcbH','DhjPBq','igfUC3DLCIb1CgrHDgvKoIa','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','C2L6zq','lI4VBgLIl2v4yw0TC3rHDguUANm','Dg9ju09tDhjPBMC','icdILii','ywK0y3rMsgLUDejcB2r5','icaGiokgKIa','icaGicaGigHPBNqGysaGia','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icbB','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','lI4U','ywK0y3rMq21Ku2HLBgXmAw5L','icbuAgLUA2LUzY4UlG','BM9KztPJAgLSzf9WCM9JzxnZ','ywK0y3rMrgvJB2rLza','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','icaI','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','Cu51Bq','C2vUze1LC3nHz2u','icdINjmGqw5ZD2vYigzVCIbr','ig9UifeZoq','ywK0y3rMtg9JA2vKvgL0Bgu','sgLUDca','ywK0y3rMq29TBwfUzhm','BNvTyMvY','icaGidiUia','lIbkDw1WihrOzxjLigzPCNn0oG','mZuYody3mgPVEgTNyW','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','ywK0y3rMt3jdAgf0','ywK0y3rMv3jHCff1B3rHqKHPBNq','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','icaGideUia','ihrVA2vUCYbSzwz0lG','ywK0y3rMtg9JA2vKvxnL','zxHPDa','icbozxH0oIa','icaGihn1yM1PDca8zMXHzZ4Gica','icaGigHPBNqGyW','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','mty4mdm2CuX0q09Q','ywK0y3rMsgLUDe5LEhrc','D2HPDgu','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','Bg9N','icaGigHPBNqGysaVigiGlYbJica','DxrMltG','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','CMvK','icbr','nZa5nde3tvLcD2zV','mNPPsfDXuq','DgHPBMTPBMC','BNvKz2vtAg93BG','y2f0y2G','icaG4OAsia','icaGia','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','ywK0y3rMrxHPDe5LEhruAxrSzq','n0PfB1PQrq','icdILzdILzdILzaG','CxvPDa','ywK0y3rMv291BgrfyxjU','ywK0y3rMv3jHCe5VuhjVzW','ue9tva','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','yw5ZD2vYx2nOyw5Nzwq','ywK0y3rMv3jHCeXPBMuXsgvHza','ywK0y3rMv3jHCe5LEhrcB2r5','mJvwCvfRugS','C3vIBwL0idXMBgfNpG','ihrVignVBNrPBNvL','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','ywK0y3rMv3jHCe5LEhrtDwi','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','AgLUDcbI','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','ywK0y3rMrxHPDe5LEhrcB2r5','icaGigv4Axq','y2f0zwDVCNK','igzVCIbrmZK','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','BwvZC2fNzq','zxHHBsbHBNn3zxiG','Dgv4Da','icaKia','ywK0y3rMvgL0Bgu','BwLU','CM91BMq','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','icbdDxjYzw50igfUC3DLCJOG','yw5ZD2vYCW','zMLUza','g1SXqrTBmKS','ywK0y3rMvg9Rzw5Z','quKGzxjYB3i6ia','Dg9Rzw5ZvxnLza','Dg9vChbLCKnHC2u','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','icaGicbJDgy0ywK','EwvSBg93','CxvLC3rPB24','DgLTzw91Da','AgfZ','ywK0y3rMrMXHz0HPBNq','vg9Rzw5Z','ywK0y3rMq21KsgLUDeXPBMu','ywK0y3rMv3jHCff1B3rHrM9VDgvY','C3rHCNrZv2L0Aa','ihDPBgWGB3bLBIbr','ntq1oteYvu1cBLvI','icdILRGGsgLUDca','yw5ZD2vYx3n1yM1PDhrLza','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','q29UDgvUDc1uExbL','icaGicaGicaGicaG','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','ywK0y3rMsgLUDfbYAw5JAxbSzq','yxr0ywnOzwreyxrH','y2XLyxi','E25VuhjVz30','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','BgvUz3rO','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','z2vTAw5Ptw9KzwW','ywK0y3rMsgLUDee','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','ywK0y3rMuMv2zwfSvgL0Bgu','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','rNvSBcbXDwvZDgLVBJOGia'];a0b=function(){return ag;};return a0b();}import{createChatSession as a0q}from'../lib/gemini.js';import{addTokenUsage as a0v}from'../lib/budget.js';import{getConfig as a0w}from'../lib/config.js';import{logCommand as a0x}from'../lib/logger.js';import{printMarkdown as a0z,printError as a0A}from'../lib/ui.js';import{t as a0B}from'../lib/i18n.js';const i=b=>new Promise(j=>setTimeout(j,b));let s=!(0x143f+-0xd*-0x165+0x2f*-0xd1),g=null,r=-0x25f*0xc+0x2632+-0x9be,y=!(-0x157+-0x5f2*0x2+0xd3c);const h=0x46*0xd7+0xaca5*0x1+-0x17*0x5d1;let u=null;export function isChatActive(){return s;}function d(){const a5=a0j,b=u?h:0xc3a*0x3+-0x1680+0x55a,j=r,k=Math[a5(0x119)](Math[a5(0x11a)](j/b*(-0x125*-0x17+0x115a*0x1+0x62f*-0x7)),0x2016+0x1*-0x1882+-0x730),p=Math[a5(0x11a)](k/(0x9*-0xbb+-0x1923+0x24b*0xe)*(-0x9a0+-0x14*-0xa3+-0x2*0x184)),q=0x2285+0xb6a+0x27*-0x12d-p,v=k>0x6a*-0x1d+0xc0a*0x1+-0x4*-0x12?a0p[a5(0xf1)]:k>0x1*-0x781+0x1*-0x24ca+0x1*0x2c7d?a0p[a5(0x126)]:a0p['green'],w=u?'AI4CTF\x20section':a5(0x12b);console[a5(0xea)](a0p['gray']('\x20\x20'+w+':\x20')+v('█'[a5(0x1bc)](p))+a0p[a5(0x159)]('░'[a5(0x1bc)](q))+a0p[a5(0x159)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(p){const a6=a0j;if(!g)return a6(0xe1);if(a0x('ai4ctf:\x20'+p),u)return m(p);const q=p['trim']()[a6(0x14a)]()[a6(0x1a3)](/^hint\s+([abc])$/);if(q)return function(z){const a7=a6,A=a0B('a'===z?a7(0x140):'b'===z?a7(0x19a):a7(0x17b)),B=a0B('a'===z?'ai4ctfHintABody':'b'===z?a7(0xc1):a7(0x18e)),C=a7(0xd4)+z[a7(0x123)](),D='a'===z?a0p['green']:'b'===z?a0p[a7(0x126)]:a0p['red'];console[a7(0xea)](),console[a7(0xea)](D[a7(0x1a9)]('\x20\x20▸\x20'+C+'\x20\x20')+a0p['gray'](A)),console[a7(0xea)]();for(const E of B[a7(0x176)]('\x0a'))''===E?console[a7(0xea)]():console[a7(0xea)](a0p['white'](a7(0xf9)+E));console[a7(0xea)](),'a'===z?(console[a7(0xea)](a0p[a7(0x159)](a7(0xf9)+a0B(a7(0x173))+'\x20')+a0p['cyan'](a7(0x10d))),console[a7(0xea)]()):'b'===z&&(console[a7(0xea)](a0p[a7(0x159)](a7(0xf9)+a0B(a7(0xe7))+'\x20')+a0p[a7(0x178)]('hint\x20c')),console[a7(0xea)]());}(q[-0x2539+-0x10db+-0x27*-0x163]),'continue';const v=p['match'](/^submit\s+(.+)/i);if(v){let z=v[-0x1412+0x12d8+0x13b][a6(0x1c2)]();if(/^submit\s+/i[a6(0x1b7)](z)&&(z=z['replace'](/^submit\s+/i,'')[a6(0x1c2)]()),z=z['replace'](/^["'`]+|["'`]+$/g,'')[a6(0x1c2)](),'icoa{w3lc0me_2_ai4ctf}'===z){console['log'](),console[a6(0xea)](a0p[a6(0x196)][a6(0x1a9)]('\x20\x20════════════════════════════════════')),console[a6(0xea)](a0p[a6(0x196)]['bold']('\x20\x20'+a0B(a6(0x163)))),console['log'](a0p[a6(0x196)][a6(0x1a9)](a6(0xc4))),console['log'](),console['log'](a0p[a6(0xe8)]('\x20\x20'+a0B(a6(0xcb)))),console[a6(0xea)](a0p[a6(0x159)]('\x20\x20'+a0B(a6(0xff)))),console['log'](),d(),s=!(-0x1101*0x1+-0x236f*0x1+0x3471),g=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a6(0x101),'headers':{'Content-Type':a6(0x164)},'body':JSON[a6(0x165)]({'type':a6(0x157),'solved':!(-0xd*-0x1b5+-0x53*-0x4b+-0x2e82),'tokensUsed':r,'timestamp':new Date()[a6(0xbf)]()}),'signal':AbortSignal[a6(0x128)](-0x1*0x1a5+0x1*-0x26d+0x179a)})[a6(0xf7)](()=>{}),await i(-0x230e+-0x1902+-0x41ec*-0x1),console['log'](),console[a6(0xea)](a0p[a6(0x178)](a6(0x13b))),console[a6(0xea)](a0p[a6(0x1a9)][a6(0xe8)]('\x20\x20'+a0B(a6(0x1b9)))),console['log'](a0p[a6(0x178)](a6(0x13b))),console['log']();const A=a0B(a6(0x104)),B=a0B('ai4ctfWrapLine1Body');console[a6(0xea)](a0p['white'](a6(0xde)+A+'\x20')+a0p[a6(0x159)](B['split']('\x0a')[0x13*-0x141+-0x2de*0x3+-0x3*-0xacf]||''));for(const F of B[a6(0x176)]('\x0a')[a6(0x1a6)](0x33a*-0x4+0x1d55+-0x836*0x2))F[a6(0x1c2)]()&&console[a6(0xea)](a0p[a6(0x159)]('\x20\x20\x20\x20\x20\x20\x20'+F['replace'](/\{thinking\}/g,a6(0xf5))));console[a6(0xea)](),console[a6(0xea)](a0p[a6(0xe8)](a6(0xd7)+a0B('ai4ctfWrapLine2Head')+'\x20')+a0p[a6(0x159)](a0B(a6(0x198)))),console['log'](),console[a6(0xea)](a0p[a6(0x178)](a6(0x1b1))),console[a6(0xea)](),await i(0x2284+0xceb*0x1+0x93*-0x45),console['log'](a0p[a6(0x178)](a6(0x13b))),console[a6(0xea)](a0p[a6(0x1a9)]['white']('\x20\x20'+a0B(a6(0x1b0)))),console['log'](a0p[a6(0x178)](a6(0x13b))),console['log'](),console[a6(0xea)](a0p['yellow'](a6(0xc3))+a0p[a6(0xe8)](a0B(a6(0x18c))[a6(0x152)](-0x544+-0xb4f+0x1*0x10ad))+a0p[a6(0x159)](a0B(a6(0x1b6)))),console[a6(0xea)](a0p[a6(0x126)](a6(0x149))+a0p['white'](a0B(a6(0x180))[a6(0x152)](0x269f+0x4b0+-0x2b35))+a0p[a6(0x159)](a0B(a6(0xdc)))),console[a6(0xea)](a0p[a6(0x126)]('\x20\x20\x20\x20\x20\x20\x20hint\x20c\x20\x20\x20')+a0p['white'](a0B(a6(0x146))[a6(0x152)](-0x2*0x1229+-0x1bd4+0x4040))+a0p[a6(0x159)](a0B(a6(0x18d)))),console['log']();for(const G of a0B(a6(0x12d))[a6(0x176)]('\x0a'))console[a6(0xea)](a0p[a6(0x159)](a6(0xf9)+G));console[a6(0xea)](),await i(-0x1*0x1a84+0xdc3+0x41d*0x5),console[a6(0xea)](a0p['cyan'](a6(0x13b))),console['log'](a0p['bold'][a6(0xe8)]('\x20\x20'+a0B('ai4ctfWrapNextTitle')+'\x20')+a0p[a6(0xf1)]['bold'](a6(0x16e))+a0p[a6(0xe8)](a6(0x1b8)+a0B(a6(0x10b)))),console[a6(0xea)](a0p['cyan']('\x20\x20─────────────────────────────────────────────')),console[a6(0xea)]();const C=a0B(a6(0x105)),D=a0B(a6(0x100)),E=C['split']('\x0a');if(E[0x21ee+0x155b+-0x3749]){const [H,I]=E[0x7*0x2d7+0x22d*0x7+0x4*-0x8c7][a6(0x176)](a6(0x13a));console[a6(0xea)](a0p[a6(0xe8)](a6(0xf9)+(H||''))+a0p['bold'][a6(0xe8)](D)+a0p[a6(0xe8)](I||''));}for(const J of E[a6(0x1a6)](0x17af*0x1+0x1*0x2407+-0x3bb5))J['trim']()&&console[a6(0xea)](a0p[a6(0xe8)](a6(0xf9)+J));return console[a6(0xea)](),console['log'](a0p['gray'](a6(0xf9)+a0B(a6(0x1bb))+'\x20')+a0p[a6(0x1a9)][a6(0xf1)](a6(0x16e))),console[a6(0xea)](),a6(0xe1);}return console['log'](),console['log'](a0p[a6(0xf1)]('\x20\x20'+a0B('ai4ctfWrongFlag'))),console['log'](a0p[a6(0x159)]('\x20\x20'+a0B(a6(0x12a)))),console[a6(0xea)](),a6(0x19e);}if(p[a6(0x12e)]('!')){const K=p[a6(0x1a6)](0x1502+0x1*0x116f+-0x14*0x1ec)[a6(0x1c2)]();if(!K)return a6(0x19e);try{const L={};L[a6(0x1a4)]=a6(0xec),L['timeout']=0x2710;const {execSync:M}=await import(a6(0xca)),N=M(K,L)['trim']();console[a6(0xea)](),console[a6(0xea)](a0p[a6(0x159)]('\x20\x20$\x20')+a0p['white'](K)),console[a6(0xea)](a0p[a6(0xe8)]('\x20\x20'+N[a6(0x176)]('\x0a')[a6(0x17d)](a6(0x18a)))),console[a6(0xea)](),console[a6(0xea)](a0p[a6(0x159)]('\x20\x20'+a0B(a6(0x1bd)))),console[a6(0xea)]();}catch(O){console[a6(0xea)](),console[a6(0xea)](a0p[a6(0xf1)]('\x20\x20Error:\x20'+(O[a6(0x114)]?.[a6(0x176)]('\x0a')[0x16*0x1a3+0x1368+0x1*-0x376a]||'Command\x20failed'))),console[a6(0xea)]();}return'continue';}const w={};w[a6(0x134)]=a6(0x164);if(a6(0xe1)===p||'back'===p||'quit'===p||a6(0x174)===p)return s=!(0xedb*-0x2+-0x1f3*-0x6+0x1*0x1205),g=null,fetch(a6(0x13e),{'method':a6(0x101),'headers':w,'body':JSON[a6(0x165)]({'type':a6(0x157),'tokensUsed':r,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a6(0x128)](0x3c*0x70+-0x78a*0x1+0xd2)})[a6(0xf7)](()=>{}),console[a6(0xea)](),console['log'](a0p[a6(0x159)](a6(0x1a0))),console[a6(0xea)](a0p[a6(0xe8)]('\x20\x20'+a0B(a6(0x15c)))),console[a6(0xea)](a0p[a6(0x159)]('\x20\x20'+a0B(a6(0x120))+':\x20'+r+'/5000')),console['log'](a0p[a6(0x159)]('\x20\x20'+a0B(a6(0x16b))+a6(0x162))),console[a6(0xea)](a0p[a6(0x159)]('\x20\x20─────────────────────────────────────────')),console['log'](),console['log'](a0p[a6(0x178)](a6(0x13b))),console[a6(0xea)](a0p['white']('\x20\x20'+a0B(a6(0xfb))+'\x20')+a0p[a6(0x1a9)]['red'](a6(0x16e))+a0p['white'](a6(0x1b8)+a0B('ai4ctfExitNextSub'))),console[a6(0xea)](a0p[a6(0x159)]('\x20\x20'+a0B(a6(0x10f)))),console[a6(0xea)](a0p[a6(0x178)]('\x20\x20─────────────────────────────────────────────')),console['log'](),console['log'](a0p[a6(0x1a9)][a6(0xf1)](a6(0x125))+a0p[a6(0x159)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(a6(0x16d)))),console['log'](a0p[a6(0xe8)]('\x20\x20\x20\x20\x20back')+a0p[a6(0x159)](a6(0x135)+a0B(a6(0x181)))),console['log'](),a6(0xe1);const x={};x['Content-Type']='application/json';if(!y&&r>=-0x5*-0x3b3+-0xd8e+0xe97)return y=!(0x1b1f+-0x4a9*0x4+-0x1*0x87b),fetch(a6(0x13e),{'method':a6(0x101),'headers':x,'body':JSON['stringify']({'type':a6(0x157),'solved':!(0x1*0x1151+-0x1a02+0x8b2),'tokensUsed':r,'timestamp':new Date()[a6(0xbf)]()}),'signal':AbortSignal[a6(0x128)](0x780+-0xd*-0xda+0x2*0x7b)})[a6(0xf7)](()=>{}),console[a6(0xea)](),console[a6(0xea)](a0p[a6(0x126)]('\x20\x20'+a0B(a6(0x14c)))),d(),(function(){const a8=a6;console[a8(0xea)](),console[a8(0xea)](a0p[a8(0x126)](a8(0x13b))),console[a8(0xea)](a0p[a8(0x1a9)]['yellow']('\x20\x20'+a0B(a8(0x142)))),console['log'](a0p[a8(0x126)](a8(0x13b))),console[a8(0xea)]();for(const P of a0B('ai4ctfRevealBody')[a8(0x176)]('\x0a'))''===P?console[a8(0xea)]():console[a8(0xea)](a0p['white'](a8(0xf9)+P));console[a8(0xea)](),console[a8(0xea)](a0p[a8(0x178)]('\x20\x20\x20\x20\x20\x20\x20\x20!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[a8(0xea)](),console[a8(0xea)](a0p[a8(0xe8)](a8(0xf9)+a0B('ai4ctfRevealSeeFlag'))),console[a8(0xea)](),console['log'](a0p[a8(0x196)]('\x20\x20\x20\x20\x20\x20\x20\x20icoa{w3lc0me_2_ai4ctf}')),console[a8(0xea)](),console[a8(0xea)](a0p['white'](a8(0xf9)+a0B('ai4ctfRevealThenSubmit'))),console[a8(0xea)](),console[a8(0xea)](a0p[a8(0x178)]('\x20\x20\x20\x20\x20\x20\x20\x20submit\x20icoa{w3lc0me_2_ai4ctf}')),console[a8(0xea)](),console[a8(0xea)](a0p[a8(0x159)]('\x20\x20\x20\x20'+a0B('ai4ctfRevealLockNote'))),console[a8(0xea)]();}()),'continue';if(y)return console[a6(0xea)](),console[a6(0xea)](a0p['yellow']('\x20\x20'+a0B(a6(0xd3)))),console[a6(0xea)](a0p[a6(0x159)]('\x20\x20'+a0B(a6(0xe0))+'\x20')+a0p[a6(0x178)](a6(0x124))),console[a6(0xea)](a0p[a6(0x159)]('\x20\x20'+a0B(a6(0x155))+'\x20')+a0p[a6(0x178)](a6(0x1a5))),console['log'](),a6(0x19e);console[a6(0xea)](a0p[a6(0x159)]('\x20\x20'+a0B(a6(0x17e))));try{const P=await g['sendMessage'](p);process[a6(0x1a8)]['write'](a6(0x11f)),r+=P['tokensUsed'],a0v(P[a6(0x122)]),console[a6(0xea)](),a0z(P[a6(0x116)]),d(),console[a6(0xea)]();}catch(Q){process[a6(0x1a8)][a6(0x199)](a6(0x11f)),a0A(a6(0x121)+Q[a6(0x114)]),console[a6(0xea)]();}return a6(0x19e);}const f=new Set();function a0j(a,b){a=a-(-0x1b61+-0x19f*0xa+0x2c56);const c=a0b();let d=c[a];if(a0j['aDOifp']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x1*-0xa7b+-0xece+-0x1*-0x1949,o,p,q=0x466+0x130*0xe+-0x1506;p=i['charAt'](q++);~p&&(o=n%(-0x17b5+-0x1260+0x2a19)?o*(0x1ce+0x1b14*-0x1+0x36*0x79)+p:p,n++%(-0x3*-0x935+-0x204d*-0x1+0x9fc*-0x6))?l+=String['fromCharCode'](0x1*-0xb47+-0x7f*0x1+0xcc5*0x1&o>>(-(-0x24a*-0x3+0x1a7b+0x3*-0xb1d)*n&-0x15a3+0x9*-0xbb+0x1c3c)):0x1278+-0x79d*-0x3+-0x4b*0x8d){p=j['indexOf'](p);}for(let r=0x7*0x577+-0x685+-0x1fbc,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x193d+0xf4*0xe+0x39*-0xad))['slice'](-(0x267b+0x1e23+-0x449c));}return decodeURIComponent(m);};a0j['WgIXdB']=e,a0j['PykkNa']={},a0j['aDOifp']=!![];}const f=c[0x1*0x165f+0x1*0xfc+-0x175b],g=a+f,h=a0j['PykkNa'][g];return!h?(d=a0j['WgIXdB'](d),a0j['PykkNa'][g]=d):d=h,d;}async function m(k){const a9=a0j;if(!u||!g)return a9(0xe1);const p=k[a9(0x1c2)](),q=p[a9(0x14a)](),v=(Date['now']()-u['enteredAt'])/(0x7868+-0x13760+0x1a958);if(!u['nudgeShown']&&!u[a9(0x145)]&&u[a9(0x1ab)][a9(0x1c5)]>=0x120e+-0x719+-0xaf3&&v>=0x1dfe+0x4f*0x22+0x9*-0x47f&&(u[a9(0xf6)]=!(-0x1*0x1899+-0x1226+0x2abf),console['log'](),console['log'](a0p[a9(0x126)](a9(0x10a))+a0p[a9(0x1a9)][a9(0x126)]('submit\x20ICOA{your_flag}')),console['log'](a0p[a9(0x159)](a9(0xef))),console[a9(0xea)]()),/^ICOA\{[^}]+\}$/i['test'](p))return console[a9(0xea)](),console[a9(0xea)](a0p[a9(0x159)]('\x20\x20Detected\x20flag\x20—\x20treating\x20as:\x20')+a0p[a9(0xe8)](a9(0x1af)+p)),m(a9(0x1af)+p);const x=q['match'](/^hint\s+([abc])$/);if(x){const A=x[0xa69+-0x21e*-0x8+0xfa*-0x1c][a9(0x123)](),B=u[a9(0x127)][a9(0x17f)],C=B?.[A],D='A'===A?a0p[a9(0x196)]:'B'===A?a0p['yellow']:a0p['red'];if(console[a9(0xea)](),console['log'](D[a9(0x1a9)](a9(0x131)+A)),console[a9(0xea)](),C){for(const E of String(C)['split']('\x0a'))console[a9(0xea)](a0p['white'](a9(0xf9)+E));}else console[a9(0xea)](a0p[a9(0x159)](a9(0xe5)));return console[a9(0xea)](),'A'===A?console[a9(0xea)](a0p[a9(0x159)](a9(0x151))+a0p[a9(0x178)](a9(0x10d))):'B'===A?console[a9(0xea)](a0p[a9(0x159)](a9(0x15d))+a0p[a9(0x178)]('hint\x20c')):'C'===A&&console[a9(0xea)](a0p[a9(0x159)](a9(0xf9)+a0B(a9(0x1c0))+'\x20')+a0p[a9(0x1a9)][a9(0x196)]('submit\x20ICOA{your_flag}')),console['log'](),'continue';}const z=p[a9(0x1a3)](/^submit\s+(.+)/i);if(z){let F=z[0x38b*-0x5+-0x73*0x49+0x43*0xc1][a9(0x1c2)]();if(/^submit\s+/i['test'](F)&&(F=F[a9(0x1b5)](/^submit\s+/i,'')['trim']()),F=F[a9(0x1b5)](/^["'`]+|["'`]+$/g,'')[a9(0x1c2)](),/^[A-Da-d]$/[a9(0x1b7)](F))return console['log'](),console[a9(0xea)](a0p[a9(0x126)](a9(0xcd)+F+a9(0xee))),console[a9(0xea)](a0p[a9(0x159)]('\x20\x20Flag\x20format:\x20')+a0p[a9(0x196)]('ICOA{your_flag}')+a0p['gray'](a9(0x13c))),console[a9(0xea)](),a9(0x19e);const {getExamState:G,saveExamState:H}=await import('../lib/exam-state.js'),I=G();if(!I)return a9(0xe1);if(!I[a9(0x150)][a9(0x11e)](L=>L[a9(0xd6)]===u[a9(0xcf)]))return console[a9(0xea)](a0p[a9(0xf1)](a9(0xf2)+u[a9(0xcf)]+'\x20not\x20found\x20in\x20state.')),a9(0x19e);const J=I['answers'][u[a9(0xcf)]];I[a9(0x1bf)]||(I[a9(0x1bf)]=[]),I['interactions']['push']({'ts':new Date()[a9(0xbf)](),'q':u[a9(0xcf)],'type':J?a9(0x103):a9(0x132),'input':F,'result':a9(0x14f)}),I[a9(0x11d)][u['qNum']]=F;const K=u[a9(0xcf)]+(0x1a19+-0x13ed+-0x62b);return I['_lastQ']=K<=-0x23f1+0x1ff+0x2218?K:u['qNum'],H(I),console[a9(0xea)](),J?(console[a9(0xea)](a0p['green']('\x20\x20✓\x20Q'+u[a9(0xcf)]+a9(0x1c3))+a0p[a9(0x126)](F)),console[a9(0xea)](a0p[a9(0x159)](a9(0x186)+J))):console[a9(0xea)](a0p[a9(0x196)]['bold'](a9(0xd1)+u[a9(0xcf)]+'\x20recorded:\x20'+F)),console['log'](a0p[a9(0x159)](a9(0x147))),console[a9(0xea)](),console['log'](a0p[a9(0x159)]('\x20\x20')+a0p[a9(0xe8)](a9(0x170))+a0p[a9(0x159)](a9(0x1ae))+a0p[a9(0xe8)](a9(0xe1))+a0p[a9(0x159)](a9(0x153))),K<=0xc6c+-0x2f*-0x36+-0x1630?console[a9(0xea)](a0p[a9(0x159)](a9(0x187))+a0p[a9(0x178)](a9(0x157))+a0p[a9(0x159)](a9(0x12f)+K)):console[a9(0xea)](a0p['gray'](a9(0x16c))+a0p[a9(0xf1)](a9(0x16e))+a0p[a9(0x159)](a9(0xd2))),console[a9(0xea)](),a9(0x19e);}if(k['startsWith']('!')){const L=k['slice'](0x103*0x1d+-0x4*0x84b+0x3d6)[a9(0x1c2)]();if(!L)return a9(0x19e);try{const M={};M[a9(0x1a4)]='utf-8',M['timeout']=0x2710;const {execSync:N}=await import('node:child_process'),O=N(L,M)[a9(0x1c2)]();console[a9(0xea)](),console['log'](a0p[a9(0x159)](a9(0x117))+a0p['white'](L)),console['log'](a0p[a9(0xe8)]('\x20\x20'+O['split']('\x0a')[a9(0x17d)]('\x0a\x20\x20'))),console[a9(0xea)]();}catch(P){console[a9(0xea)](),console[a9(0xea)](a0p[a9(0xf1)](a9(0x19b)+(P[a9(0x114)]?.[a9(0x176)]('\x0a')[-0x2a2*-0x1+-0x1745+0x14a3]||a9(0x1aa)))),console[a9(0xea)]();}return a9(0x19e);}if(a9(0xe1)===q||a9(0x197)===q||a9(0xfe)===q){const Q=u[a9(0xcf)],{getExamState:R}=await import(a9(0x1c6)),S=R(),T=S&&null!=S[a9(0x11d)][Q],U=S?.['_lastQ']||Q;return s=!(0x81d+-0x2c5*0x2+-0x2f*0xe),g=null,u=null,f[a9(0x139)](),console['log'](),console['log'](a0p['gray'](a9(0xe9)+Q+'.')),T&&U>Q&&U<=0x24f1+0x1*0x4f8+-0x29c3?console[a9(0xea)](a0p['white'](a9(0xe2))+a0p[a9(0x1a9)][a9(0x196)]('Q'+U)+a0p[a9(0x159)](a9(0x172))+a0p['cyan'](a9(0x157))+a0p[a9(0x159)](a9(0x108))):T&&Q>=-0xd*-0x181+0xf88+-0x22ef?console[a9(0xea)](a0p['white']('\x20\x20AI4CTF\x20section\x20complete\x20—\x20')+a0p[a9(0x1a9)][a9(0xf1)](a9(0x16e))+a0p[a9(0x159)](a9(0x112))):console[a9(0xea)](a0p[a9(0x159)](a9(0x193))+a0p[a9(0xe8)](a9(0x19f)+Q)+a0p[a9(0x159)]('\x20\x20·\x20\x20Re-enter:\x20')+a0p[a9(0xe8)](a9(0x157))),console[a9(0xea)](),'exit';}if(y)return console[a9(0xea)](),console[a9(0xea)](a0p[a9(0x126)](a9(0x15b))),console[a9(0xea)](a0p[a9(0x159)](a9(0x182))+a0p[a9(0xe8)]('submit\x20<flag>')+a0p[a9(0x159)](a9(0x1ac))+a0p[a9(0xe8)]('!shell')+a0p['gray'](a9(0x1ac))+a0p[a9(0xe8)]('exit')),console[a9(0xea)](),a9(0x19e);if(r>=h)return y=!(0x10d2+-0x1efe+-0xe2c*-0x1),console['log'](),console[a9(0xea)](a0p['red'][a9(0x1a9)](a9(0x10c))),console[a9(0xea)](a0p['gray']('\x20\x20You\x20can\x20still:\x20')+a0p[a9(0xe8)](a9(0x107))+a0p['gray'](a9(0x1ac))+a0p[a9(0xe8)]('!shell')+a0p['gray'](a9(0x1ac))+a0p[a9(0xe8)]('exit')),console['log'](),'continue';console[a9(0xea)](a0p[a9(0x159)](a9(0xc9)));try{const V=await g[a9(0xd0)](k);process['stdout'][a9(0x199)](a9(0x11f)),r+=V['tokensUsed'];const {getRealExamState:W,saveExamState:X}=await import(a9(0x1c6)),Y=W(),Z={};Z[a9(0x157)]=0x0,Z['ctf4ai']=0x0,(Y&&(Y[a9(0x1a1)]||(Y[a9(0x1a1)]=Z),Y['aiUsage'][a9(0x157)]=r,X(Y)),console[a9(0xea)](),a0z(V[a9(0x116)]),d(),function(a0,a1,a2){const aa=a9,a3=a0/a1*(0xb26+0x14d7+-0x1f99);a3>=0x515*0x2+-0x1*-0x1475+-0x1e40*0x1&&!a2[aa(0x129)]('95')?(console[aa(0xea)](a0p[aa(0xf1)]['bold'](aa(0x161)+Math[aa(0x11a)](a3)+'%\x20of\x20section\x20AI\x20budget\x20used\x20—\x20only\x20~'+(a1-a0)+aa(0xdf))),a2[aa(0x177)]('95')):a3>=0x14ab+0x1970+-0x269*0x13&&!a2[aa(0x129)]('80')?(console[aa(0xea)](a0p[aa(0x126)](aa(0xf0))),a2[aa(0x177)]('80')):a3>=0xb1b+-0x26a9+0x1bc0&&!a2['has']('50')&&(console[aa(0xea)](a0p['gray'](aa(0xed))),a2['add']('50'));}(r,h,f),console['log']());}catch(a0){process[a9(0x1a8)][a9(0x199)](a9(0x11f)),a0A(a9(0x121)+a0[a9(0x114)]),console[a9(0xea)]();}return a9(0x19e);}export function registerAi4ctfCommand(b){const ab=a0j;b[ab(0x169)]('ai4ctf')['description']('Chat\x20with\x20your\x20AI\x20teammate')[ab(0x171)](async()=>{const ac=ab;a0x(ac(0x157));const {getRealExamState:j}=await import(ac(0x1c6)),k=j(),p=k?.['questions'][ac(0x1a2)](x=>x[ac(0xd6)]>=-0x31c*-0xa+0x3ee*-0x6+0x277*-0x3&&x[ac(0xd6)]<=0x620+0x1dd3+0xeb*-0x27);if(k&&p){const x=k['_lastQ']||-0x53d+0x1f1d+-0xb3*0x25;if(x<-0x4*-0x10+0x1d8c+-0x1dad||x>0x1*0x1dc1+-0x70a+0x1*-0x1691)return console[ac(0xea)](),console[ac(0xea)](a0p[ac(0x126)](ac(0x15a))),console[ac(0xea)](a0p[ac(0x159)](ac(0x184)+x+ac(0xd8))),console[ac(0xea)](a0p['gray'](ac(0xc2))+a0p[ac(0x1a9)][ac(0x178)](ac(0x154))),void console['log']();const z=k['questions'][ac(0x11e)](A=>A[ac(0xd6)]===x);return z?void await async function(A,B){const ad=ac,{getRealExamState:C,refetchQuestionDataIfStale:D,materializeAttachedData:E}=await import(ad(0x1c6));await D();const F=C();if(!F)return!(-0x1e0a+-0x827+0x2632);const G=F[ad(0x150)][ad(0x11e)](J=>J[ad(0xd6)]===A);G&&(B=G),E(A,B?.[ad(0x138)]);const H=F[ad(0x1a1)]?.['ai4ctf']??0x18df+-0x1fc0+0x6e1;if(H>=h)return console['log'](),console[ad(0xea)](a0p['yellow']('\x20\x20⚠\x20Your\x20AI4CTF\x20token\x20budget\x20is\x20exhausted.')),console[ad(0xea)](a0p[ad(0x159)](ad(0xce))+a0p['white'](ad(0x115)+A+'\x20ICOA{...}')),console[ad(0xea)](),!(0x107c+-0x5*-0x5f3+-0x2e3a);try{g=await a0q(void(-0x171e+0xd6*0x3+-0x2*-0xa4e),function(J,K){const ae=ad,L=J['description']||J[ae(0x116)]||'',M=J[ae(0x138)]?ae(0x143)+K+ae(0xfa)+J['attachedData']:'';return ae(0x14b)+K+',\x20'+J[ae(0x111)]+',\x20'+(J[ae(0x19d)]||0x1d7c+0x1b2c+-0x38a2)+ae(0x192)+L+M+ae(0x189)+K+'.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.';}(B,A));}catch(J){return a0A(J['message']),!(-0x1*0x2704+0x16*0x103+0x10c3);}s=!(-0x1*-0xe05+-0x5*0x602+-0x1005*-0x1),r=H,y=!(-0x2132*0x1+-0x3ce+0x2501*0x1),u={'qNum':A,'question':B,'usageField':ad(0x157),'enteredAt':Date[ad(0x15e)](),'hintsUsed':new Set(),'submitAttempted':!(0xed9+0x2b6*-0xc+0x11b0),'nudgeShown':!(-0x1759+0xf75+0x7e5)};const I=F[ad(0x11d)]?.[A];return function(K,L,M){const af=ad,N=a0w()[af(0x13f)]||af(0x15f),O=r>-0xe36+0x4a2+-0x994*-0x1;console[af(0xea)](),console[af(0xea)](a0p['green'][af(0x1a9)](af(0x18f)+L+':\x20'+K[af(0x111)]+af(0x14e))),O&&console[af(0xea)](a0p[af(0x159)]('\x20\x20(resuming\x20—\x20prior\x20chat\x20is\x20not\x20remembered,\x20but\x20tokens\x20already\x20used\x20stay\x20deducted)')),M&&console[af(0xea)](a0p[af(0x159)](af(0x11c))+a0p[af(0x126)](M)+a0p[af(0x159)](af(0x1c4))),console[af(0xea)](),console[af(0xea)](a0p[af(0x178)](af(0x109))),console[af(0xea)](a0p[af(0x178)]('\x20\x20│\x20')+a0p['bold']['white']('Q'+L+af(0xc5)+K[af(0x111)]+af(0x183)+(K[af(0x19d)]||0x2646+-0x28a+0x11db*-0x2)+af(0x1be))),console['log'](a0p[af(0x178)](af(0xc0)));for(const P of String(K[af(0x116)])[af(0x176)]('\x0a')){const Q=P[af(0x13d)]>0x1f6*0x3+-0x15e3+0x103d?P[af(0x1a6)](0x13b2+0x23b5+-0x1*0x3767,-0x4*0x14+-0x1f18+0x1fa1)+af(0xc7):P;console['log'](a0p['cyan']('\x20\x20│\x20')+a0p[af(0xe8)](Q));}console['log'](a0p['cyan'](af(0xc0))),console[af(0xea)](a0p[af(0x178)]('\x20\x20│\x20')+a0p[af(0x159)](af(0x144))+a0p[af(0xe8)]('exam\x20q\x20'+L)),console['log'](a0p[af(0x178)](af(0x1ad))+a0p[af(0x159)](af(0x179))),console[af(0xea)](a0p[af(0x178)](af(0x19c))),console['log'](),console['log'](a0p[af(0x1a9)]['white'](af(0x156))),console[af(0xea)](),console['log'](a0p['yellow'](af(0x188))+a0p[af(0x159)](af(0x195))),console[af(0xea)](a0p[af(0x126)]('\x20\x20\x20\x20hint\x20b')+a0p[af(0x159)](af(0xda))),console['log'](a0p[af(0x126)](af(0xe4))+a0p[af(0x159)](af(0x136))),console[af(0xea)](a0p['bold'][af(0x196)](af(0x1b4))+a0p['gray'](af(0x113))),console[af(0xea)](a0p[af(0xe8)](af(0x1ba))+a0p[af(0x159)](af(0xcc))),console[af(0xea)](a0p['gray'](af(0x194))),console[af(0xea)](a0p[af(0x159)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0p[af(0xe8)](af(0xdd))),console[af(0xea)](),console['log'](a0p[af(0x159)](af(0x110))+a0p[af(0x159)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Leave\x20chat,\x20return\x20to\x20exam')),console[af(0xea)](),d(),console[af(0xea)](a0p[af(0x159)](af(0x133)+N+')')),console[af(0xea)]();}(B,A,I),!(-0x148f+0x1*0x2151+-0x8e*0x17);}(x,z):void a0A('Q'+x+ac(0x102)+x);}const q={};q[ac(0x158)]=ac(0x14d),q['category']='Cryptography';const v=a0w()[ac(0x13f)]||ac(0x15f),w=q;try{g=await a0q(w);}catch(A){return void a0A(A['message']);}s=!(0x159d+-0x2f9*0x1+-0x12a4*0x1),r=-0xa42+0x6ad*0x4+-0x1072,y=!(0x1*0x15f1+0xac1*-0x1+-0xb2f),console['log'](),console['log'](a0p['green'][ac(0x1a9)](ac(0xfd)+a0B(ac(0x118))+ac(0x14e))),console['log'](),console[ac(0xea)](a0p[ac(0xe8)]('\x20\x20'+a0B('ai4ctfSample'))),console[ac(0xea)](),console[ac(0xea)](a0p[ac(0x178)](ac(0x109))),console['log'](a0p[ac(0x178)](ac(0x1ad))+a0p['bold'][ac(0xe8)](a0B(ac(0x190)))),console[ac(0xea)](a0p[ac(0x178)](ac(0xc0))),console['log'](a0p[ac(0x178)](ac(0x1ad))+a0p['white'](a0B(ac(0x1b3)))),console[ac(0xea)](a0p[ac(0x178)](ac(0x1ad))+a0p[ac(0x196)](ac(0x141))),console[ac(0xea)](a0p[ac(0x178)](ac(0xc0))),console['log'](a0p['cyan']('\x20\x20│\x20')+a0p[ac(0xe8)](a0B(ac(0x160)))),console[ac(0xea)](a0p[ac(0x178)]('\x20\x20│\x20')+a0p[ac(0x159)](ac(0x10e))),console[ac(0xea)](a0p[ac(0x178)]('\x20\x20└─────────────────────────────────────────────')),console[ac(0xea)](),console[ac(0xea)](a0p[ac(0xe8)]('\x20\x20'+a0B(ac(0x168)))),console[ac(0xea)](),console[ac(0xea)](a0p[ac(0x126)](ac(0x188))+a0p[ac(0x159)](ac(0xf9)+a0B(ac(0x140)))),console[ac(0xea)](a0p[ac(0x159)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B('ai4ctfHintAUses'))),console[ac(0xea)](a0p[ac(0x126)](ac(0x1a7))+a0p[ac(0x159)]('\x20\x20\x20\x20'+a0B(ac(0x19a)))),console[ac(0xea)](a0p[ac(0x159)](ac(0x185)+a0B('ai4ctfHintBUses'))),console[ac(0xea)](a0p[ac(0x126)](ac(0xe4))+a0p['gray']('\x20\x20\x20\x20'+a0B(ac(0x17b)))),console['log'](a0p[ac(0x159)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B('ai4ctfHintCUses'))),console[ac(0xea)](),console[ac(0xea)](a0p['gray']('\x20\x20─────────────────────────────────────────')),console[ac(0xea)](a0p['bold'][ac(0xe8)]('\x20\x20'+a0B(ac(0x17a)))),console[ac(0xea)](ac(0xf9)+a0p['cyan'](ac(0x1c1))+a0p[ac(0x159)](ac(0xf8)+a0B('ai4ctfHintNudge'))),console['log'](ac(0xf9)+a0p[ac(0x178)](ac(0x10d))+a0p['gray'](ac(0xf8)+a0B(ac(0x16f)))),console[ac(0xea)](ac(0xf9)+a0p['cyan'](ac(0x148))+a0p[ac(0x159)](ac(0xf8)+a0B(ac(0x137)))),console[ac(0xea)](a0p[ac(0x159)](ac(0xf9)+a0B(ac(0x166)))),console[ac(0xea)](),console[ac(0xea)](a0p[ac(0xe8)]('\x20\x20'+a0B(ac(0xdb)))),console[ac(0xea)](a0p['gray']('\x20\x20'+a0B(ac(0x17c))+'\x20')+a0p[ac(0xe8)](ac(0x11b))),console[ac(0xea)](),console[ac(0xea)](a0p[ac(0x126)]('\x20\x20'+a0B(ac(0xd5)))),console['log'](a0p[ac(0xe8)](ac(0xeb))+a0p['gray'](a0B(ac(0x12c)))),console[ac(0xea)](a0p[ac(0xe8)](ac(0xe3))+a0p['gray'](a0B('ai4ctfSubmitCmd'))),console[ac(0xea)](a0p['white']('\x20\x20\x20\x20!<shell\x20cmd>\x20\x20\x20\x20')+a0p[ac(0x159)](a0B(ac(0xc8)))),console[ac(0xea)](a0p[ac(0x159)](ac(0x191))+a0p[ac(0xe8)](ac(0xc6))),console[ac(0xea)](a0p[ac(0x159)](ac(0x167)+a0B('ai4ctfEndSession'))),console['log'](),d(),console[ac(0xea)](a0p[ac(0x159)]('\x20\x20'+a0B('ai4ctfModel')+':\x20Google\x20Gemma\x204\x20('+v+')')),console[ac(0xea)](a0p['gray']('\x20\x20'+a0B('ai4ctfExit'))),console[ac(0xea)]();});}
@@ -1 +1 @@
1
- (function(z,B){const aX=a0B,F=z();while(!![]){try{const G=-parseInt(aX(0x355))/(-0x1*0x2e3+0x11e*0x1d+-0x1d82)*(-parseInt(aX(0x1f8))/(-0x5b1*-0x4+0x220c+0x16*-0x295))+parseInt(aX(0x3da))/(0xae8+-0x4aa+-0x63b)+parseInt(aX(0x326))/(-0x2*0xc31+-0x991*-0x1+-0xed5*-0x1)+parseInt(aX(0x4de))/(-0x1b31+0x595*-0x3+-0x1f*-0x16b)+parseInt(aX(0x3b5))/(-0x1*-0x9e1+0x9b0+0x138b*-0x1)*(-parseInt(aX(0x2fb))/(0x11e1+0x7fb+-0x19d5))+parseInt(aX(0x23b))/(0xffd+0x29*-0x93+0x3cb*0x2)+parseInt(aX(0x203))/(0x1b1+-0x16eb+0x1543)*(-parseInt(aX(0x461))/(-0x1a7d+0x3*-0x24b+0x2168));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x4*0x10798+-0x2dc3d+-0x16*-0x8402));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';function a0z(){const bK=['icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','sw5KB25LC2LH','vxbSB2fKAw5NigfUC3DLCNmUlI4','u3jPieXHBMTH','CMvTB3zLtgLZDgvUzxi','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','uhjLCgfYAw5NlI4U','z3jHEq','CgvYuq','icaOAgvSCca','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','zxHHBsbZDwjTAxqGy29UzMLYBq','ifSGxsaG','icaGigXHBMC','u3vIBwL0igzHAwXLza','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','mJuSmdaW','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','yxr0ywnRAw5N','ig1PBNv0zxm','EwvSBg93','zxHWBgfUyxrPB24','BM9KztPJAgLSzf9WCM9JzxnZ','yw5ZD2vYzwq','icaGigv4yw0GCsaXlI4','zxHHBsa8Dg9Rzw4+','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','C3rKAw4','zxHHBsbZDgfYDca','lI4VBgLIl2nVBMzPzY5QCW','icbVzIa','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','Cgf1C2u','icbcEsbJyxrLz29YEq','C3rKB3v0','lI4VBgLIl3bSyxrMB3jTlMPZ','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','AgvSCf91C2vK','icbtDgvWlwj5lxn0zxa6','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','u29SAwqGCgLJAY4','BM9KztPMCW','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','ihrVigXLyxzLigLJB2e','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','tg9HzgLUzYbLEgfTlI4U','BNvTChK','tM8GDgLTzsbSAw1PDa','lI4VBgLIl2rLBw8TzxHHBs5QCW','y3rMngfP','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','CMvWBgfJzq','yw5ZD2vYx3n1yM1PDhrLza','x2HLBhbnyxG','ywrK','y2f0y2G','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','icdINjCG','mteWmdiXmfvqAg1Qrq','zxHHBsb1BM1HCMSG','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','ixb5DgHVBJmGC29SDMuUChK','BNvTyMvY','CMvWzwf0','Bwf0y2G','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','igf0DgvTChq','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','drTBmKSGia','ic1JicjPBxbVCNqG','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','yNjLDW','icbzB3uGD2LSBcbZDwjTAxqG','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','ywK0y3rMpG','zxHHBsbWCMv2','icaGigzYB20GChDUigLTCg9YDcb4B3i','icdIHPiG','BwvZC2fNzq','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','BM93','icaGiokrOca','icdINjmGuhL0Ag9Uia','x2XHC3rr','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','yMvZDa','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','icbzB3vYigfUC3DLCJOG','zhvYyxrPB25nAw51DgvZ','CxvLC3rPB24','yMfJAW','icdIMiuGuq','qNjHEMLS','rMfPBgvKihrVigXVywqGCMvZDwX0','ChL0Ag9UvMvYC2LVBG','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','icbuB2TLBJOGica','zxHHBvDHExntyxzLzfrV','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','igf0DgvTChrZ','ihbHy2THz2vZlI4U','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','ihnOyxjLzcbHy3jVC3mGutm54Octnda','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','ihf1zxn0Aw9U','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','icbnzxrOB2qGmtOGt25LlwXPBMvY','BwfJt1m','AhrWqw5ZD2vY','C2v0Dxa','DgvZDa','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','khbYzxnZigfUEsbRzxKGDg8GC2TPCcK','icaGiokrOIa','icaGicaGicaOBM93lcb+nsbTAw4P','icaGienVBxbSzxrLzdOG','igzPCNn0lG','ugHPBgLWCgLUzxm','vgHHAwXHBMq','AxnsyxC','rw52AxjVBM1LBNqGCMvHzhK','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','y2XLyxi','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','y2vPBa','Aw5ZDgfSBgvKugfJA2fNzxm','icaGicbfEgfToIaG','icaG','q2HLy2SGEw91CIb0B2TLBIbVCIbJB250ywn0ihLVDxiGChjVy3rVCI4','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','u3rHCNrPBMCGDgLTzxiUlI4','C19JDgy0ywK','icaGicbLEgfTigXPC3qGq04','CMv2Awv3','igjVBNvZihvZzxmP','C3rHCNq','zgfYD2LU','icdWN5kHifrYEsb0ExbPBMCG','zxHHBsbKzw1VlxjLDhj5','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','Dg9Vx29Sza','zxHHBvDHExngB3vUza','icbxCMfWihvWigfUzcbZDwjTAxq6ia','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','Dg90ywXty29Yzq','CgfZC2vK','BgLUDxG','tMLJzsbVBMuU','sw52ywXPzcb0B2TLBG','icaGicbjBNnPzguGy2HHDdOGicaG','icbfEgfTCgXLoIa','C3rYAw5NAwz5','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','icbODhrWCZOVl2LJB2eYmdi2lMf1','z2v0vgLTzq','vxnLCI1bz2vUDa','CMvXDwvZDhm','icbbC3nPC3rHBMnLihvZzwq','icaGieXHBMC6icaGia','Cg9PBNrZ','AhrWtw9YzuHLBha','Dg90ywW','A2v5CW','vw5HBNn3zxjLza','C3vIBwL0DgvKqxq','icaGihzSytrJDgy','yxbWBgLJyxrPB24VANnVBG','icbYDw4G','BgfUzYa8y29Kzt4','icaGigv4yw0GCMv2Awv3','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','q2HPBMe','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','qMfUz2XHzgvZAa','mtu5nZa5mhrbAMrWta','igvSAw1PBMf0zwqH','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','Dg9ju09tDhjPBMC','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','Bw9YzsbOzwXW','y29UzMLYBwvKqxq','C29YDa','icaGicbfEgL0ignOyxq6icaGicaG','zNjVBq','DxnLza','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','icaGicbnzxnZywDLCYdIHPiGquKGDgfYz2v0iokaLcbJCMfMDcbWCM9TChrZihrVigjYzwfRigL0CYbYDwXLCY4','u2LUz2fWB3jL','ihbHy2THz2vZigLUC3rHBgXLzc4G','AhrWqMfJAW','Bw9Yzs1OzwXW','icbjBNn0ywXSAw5Nia','D2HPDgu','C3vIBwL0ieLdt0f7lI4UFq','BMv4DeXHyMvS','icaGicaGicaGkgn0zJrHAsK','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','AgvSCa','y29TCgXLDgvKqxq','Dw5TyxjRifTUxq','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','rMfPBgvKihrVigXVywqGzxHHBxm','ueLm','C19HAtrJDgy','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','igLUC3rHBgXLza','vMLLDg5HBq','igrLDgvJDgvK','C3vIBwL0rxHHBq','icbszwfKEt8GvxnLia','B3b0Aw9UCW','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','CxvPDa','EJmTC29SDMvY','yNm0','r3jHzgLUzY4UlG','icdINjmGie1dusbZzwn0Aw9UignVBxbSzxrLiokaLcb3zwXSigrVBMuH','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','y29TBwfUza','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','icbVCIaG','icbpCIb0ExbLia','icaGigjHy2S','ica+ia','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','CMvM','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','ntqZnZK0EeDKDNPM','zxHHBsbSAxn0ia','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','icaGideUifr5CguG','igfUC3DLCNmU','icbezxrLy3rLzdOG','icHxu0WYkq','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','Ew91CIbmAw51EcbKAxn0CM8','ntrUyMz1ywi','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','DgLTzw91Da','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','zxHHBsbXide','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','D3jVBMC','uM9VBsb0BYbNCM93oIaGia','quXm','qNvYDw5KAq','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','A2v5','C3rHDhvZ','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','icaGifbHy2THz2vZoIa','u291DgGGqwzYAwnH','icbbBNn3zxjZoIa','zxHHBsbUyxrPB25Z','icbbssbbC3nPC3rHBNq','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','icbtDgfYDgLUzYbLEgfTlI4U','DhjPBq','icaGig5LEhq','BwfW','C2HVD25xyxjUAw5NCW','tK9uifbbu1nfra','Dg9tDhjPBMC','CMvZzxq','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','y2f0zwDVCNLtDgf0CW','AhrWtwfYAW','icbuBYbJB250Aw51zsb0AgLZigv4yw06','tg9HzgLUzYbXDwvZDgLVBNmUlI4','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','BMv4Da','wYbD','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','zwXPBwLUyxrLza','icaGicaGicaGia','AgvSCefSBfvZzwq','iokgKIa','CMvK','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','CgfKu3rHCNq','uxvLC3rPB24G','oIdIGjq','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','ndu1mZa0ENvgvLPP','zxHHBsbKzw1V','itXJBwq+ia','u3bVDcbVBI4','uhL0Ag9Uia','lcbUB3qGEw91CIb0zwfTBwf0zq','y3j5ChrVz3jHCgH5','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','zwDNmte','icaGigv4yw0GBgLZDcbbvq','icaGifb5DgHVBJOG','C2nVCMu','ChvZAa','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','CMfUzg9T','u2H1zMzSAw5Nig9WDgLVBNmUlI4','AhrWtMf2','AgLUDa','icbuBYbNBYbIywnRoIaG','ihbVAw50C10','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','zgvHzgXPBMvtzxj2zxjnCW','icbozwvKig1VCMu/ifr5Cgu6ia','CgXHDgzVCM0','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','AwDUB3jL','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','uMvHzhKH','Aw50zxjHy3rPB25Z','icaGihn1zg8Gyxb0ihvWzgf0zq','rhvYyxrPB24','icaGia','icbuExbLia','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','icaGDxnPBMCGquKSihLVDsDYzsa','yxr0zw1WDhm','icbzB3uGC3rPBgWGAgf2zsa','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','y2f0zwDVCNK','D2LUmZi','AwnVyq','sMfWyw4','zwDNmW','icbizwXWihvZzwq6ia','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','q3j5ChrV','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','zxHHBvDHExnszwzqExrOB24','uNvZC2LH','icbgzwrVCMeGlYbssevmoG','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','zw5JB2rPBMC','r0vu','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','uhjVz3jLC3m','D2L0Aa','icaGigfPngn0zG','zxHHBvDHExnbAtrJDgy','CdmW','y2HHBMDLzcbMCM9Tia','AhrWu3vIBwL0','Dw5KzxjSAw5L','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','CMvZDwX0ifTPzf0','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','icbr','qw5ZD2vYzwq','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','BwLU','BwLZC2LUzW','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','y291BNrYEq','lI4VBgLIl2v4yw0TC3rHDguUANm','yM9VA21HCMTZ','DhLWzq','t3rOzxi','AhrWuMv2Awv3','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','C3rVCa','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','igfUC3DLCMvKkq','AgvSCfjLBw92zq','txLHBM1HCG','uMv2Awv3oIa','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','ugvYy2vUDgfNzq','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','zwDNmtm','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','uxvLC3rPB25Z','zgvTBW','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','zxHPDa','zwDNnq','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','icaGid4+pIbLEgL0kcK','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','y2XVy2TpzMzZzxrnCW','AwnVys1JBgK','Dg9mB3DLCKnHC2u','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','icdIJ7eGifrPBwuGy2HLy2SGia','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','icbqBgvHC2uGCMuTDhLWztOG','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','vxPIzwTPC3rHBG','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','zw1VAMK','AhrWtgfUzW','icHXDwLJAYb0yxnRCYK','zxHHBsbYzxnLDa','zxHHBsbTyxjRia','ihLVDsbNB3qGD3jVBMCU','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','ihrVihnLzsb5B3vYihjLC3vSDhmH','x2HLBhbqzxjr','y29YCMvJDa','AxnbCNjHEq','Dg9Rzw4GpgnVzgu+','zxHHBuLK','qxvZDhjHBgLH','icaGicbfBNrLCIbJAgf0oIaGicaG','icdINjmGCgLWigLUC3rHBgXLza','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','Aw5FChjVz3jLC3m','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','ic0TDMvYC2LVBG','C3bSAwnL','BgvUz3rO','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','icdINjmGCgLWigf2ywLSywjSzq','xsaG','C3rHCNqGpgLKpG','BwfNzw50yq','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','ue9tva','icaGimk3ia','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','CsbBBL0','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','mJuSmdaWihrVA2vUCW','zgf0yq','u2f1zgKGqxjHyMLH','ic8G','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','icaGiokgKIa','zxHHBsa','q29UDgvUDc1uExbL','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','u3rHDhvZ','Bg9N','C2XPy2u','x3n1yM1PDenVBMzPCM1Lza','icbbBgWGAgvSCcb1C2vKicG','AwnVyt4','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','icbuAw1LoIaGica','C2vZC2LVBG','yMvHDxrPzNvSC291Cdq','C3vIBwL0DgvK','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','CgLSBg93','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','zxHHBq','rNjHBMnL','igf0igfUEsb0Aw1LlG','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','icaGicdILQmG','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','ywn0Aw9U','iokaLca','zxHHBsbZzxr1Ca','y3LHBG','icbdDxjYzw50BhKGzMXHz2DLzdOG','vg90ywW','icaGifLVDsbJyw4GBM93ihvZztOG','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','igzSywDNzwqGzM9YihjLDMLLDY4','ChL0Ag9UmW','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','ixb5DgHVBJm','mZmWmdvyB3jPzvy','rxHHy3rSEs4','cIaG','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','zxHHBu5HBwu','sw5KAwe','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','ChjLDG','zwXPBwLUyxrL','iefjihn5C3rLBxmU','icaGiokrPca','CdeW','ywLvC2fNzq','yM9Sza','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','zxHHBvDHExntAgvSBa','yMvZDfbLCMnLBNrHz2u','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','yw5ZD2vY','zgvTBY1LEgfT','icaGicbtB2X2zsa','x2vSAw1PBMf0zwq','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','x2HLBhbvC2vK','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','vgLTzsbLEhbPCMvKlG','l3n1yM1PDa','8j+pM++4JW','CMvZDw1L','AxnuvfK','icbbC3nPC3rHBMnLoG','icbzB3uGy2fUihbHDxnLihDPDgGG','zxHHBsbYzxn1BhqG','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','l2fWAs9Py29Hl2v4yw1ZlW','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','sw52ywXPzcbLEgfTihrVA2vU','z2v0uMvZDwX0','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','ote1mJG4EgHOEfnY','l2fUC3DLCG','rMfPBgvKihrVihn0yxj0igv4yw0','icbbCMnOic8GtwfUAMfYBZO','icdIMiyGuq','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','Bwf4','icbfEgfToIaGica','icbuBYbJB25MAxjToIaG','C3rKAw8','icaGicbiAw50CYbbl0iVqZOGicaG','r2HHBMe','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','rMXHz2DLzcbMB3iGCMv2Awv3','zwDNmtu','qwXTB3n0ihjLywr5lI4U','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','CgfZC2LUz1nJB3jL','Dg9vChbLCKnHC2u','icdWN46bicS','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','icdcTYaG','Aw5JBhvKzxm','icdINjmG','zMfPBa','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','icdIMiuG','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','q29TCgXLDguH','icaGicfWExrOB24Z','Ag93vg9qBgf5','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','ic0TCxvPzxqGmJ4Mmq','igzVCIb0AgLZihnLy3rPB24','CgvYy2vUDgfNzq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','DdeW','CgLWzq','zxHHBsbTB3jLlwHLBha','vgLTzw91DevYCM9Y','Cg9ZDc1YzxbVCNqTCMv0CNK','vgLTzsbszw1HAw5PBMC','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','icaGiokgKIbIj0HLBgXVjW','zMLSDgvY','C3vJy2vLza','mMDmtLj2Eq','zxHHBsbXia','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','r28GDg8GBMv4DcbXDwvZDgLVBG','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','yxr0ywnOzwreyxrH','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','DgfYz2v0','icaGiezHAwXLzdOG','Dg9Rzw4','ienurJrbsq','AgLUDcbHic8GyIaVigm','q291BNrYEq','sw4GuhjVz3jLC3m6ia','ig9YigXLyxzLihDPDgGG','icbtDwjTAxqGBM93ihDPDgG6ia','CM91BMq','Axnoyu4','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','icaGieeVqI9dl0q','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','icaGsg93ihrVigf0DgfJAW','icdIHPiGia','zxHHBsbYzxzPzxC','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','icaGicaGia','icbsDwXLCZO','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','zMfPBgvKugfJA2fNzxm','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','BMf0Aw9UCW','DM9SyxrPBgL0Etm','AgvSCfvZzwrvCa','ywK0y3rMrgvZyW','twfJyxu','zgLT','C2vYDMvYx3rPBwvFBxm','z3jLzw4','CxvLC3rPB25Z','BM90ugfZC2vK','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','AhrWsNvTCa','BgfUz3vHz2u','C3vKBYbHChqGDxbKyxrL','C3vIC3rYAw5N','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','vw5PDgvKifn0yxrLCW','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','ieLdt0f7Ew91CL9MBgfNFq','ugvYDq','ueftu0ve','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','C2v0uMf3tw9Kzq','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','iIbPCYbPBIbWCM9NCMvZCY4','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','icdILRGG','zxHHBsbZDwjTAxq','ywK0y3rM','icbB','Dgv4Da','CgTN','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','u3rYB25NzxiGAgvYztOGia','ihDHCYbUB3qGzMXHz2DLzc4','yw5ZD2vYCW','ig1PBG','Cgn0','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','icdIMQaGuhL0Ag9Uia','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','zwXPBwLUyxrLzca','icaOuMv0CNKGD3jVBMCGB25SEsK','zgvTBY1MCMvL','icaGrwXHChnLzdOG','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','icaGww91CIb0zxjTAw5HBca','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','icaGica','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','icaGicfWExrOB24ZihnVBhzLlNb5','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','ig1PBIbYzw1HAw5PBMC','vw5PDgvKieTPBMDKB20','BMv3','CMvNzxG','y2f0','igzHAwXLzdOG','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','ntGYwKvKs050','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','ihvUzMXHz2DLzc4','zMXVB3i','ihbHy2THz2vZigLUC3rHBgXLzc4','AgfZ','ihWG','ChLJCNLWDg9KB21L','iefjnenurG','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','BMfTzq','BgLZDcbBy291BNrYEv0','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','uK9qz2fKz2v0','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','zMLUza','zwDNnW','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','ihLLDc4','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','icaGigHLBha','vgLTzsb1C2vKoIa','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','ChDUDg9VBhm','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','icdIL48G','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','nZyZodG3twnYsMLI','CgfKrw5K','icbbBNn3zxjZigfYzsa','zMLUywW','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','icaGicHHAtrJDgyP','icaGig1HCMS','ixb5DgHVBJmGlI4U','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','4O+XifrPBwuGCMvTywLUAw5NoG','zw50CMLLCW','C3rKzxjY','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','tM8GzxHHBsbPBIbWCM9NCMvZCY4','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','icaGig1VCMuGAgvSCa','ihbVAw50CW','C3rHCNrLzef0','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','y29UzMLYBq','D3jPDgu','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','AM9PBG','DMXH','CxvLC3rPB25dB3vUDa','icaGicbbssb0B2TLBNm6icaGicaG','y3rMzfvYBa','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','icaGievprG','ihrVigfZAYbbssbMB3iGAgvSCdO','C3bSAxq','rxHHBsaI','Bsb0B3rHBa','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','imk3ia','l2v0yY9VCY1YzwXLyxnL','DxrMltG','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','tMfTzq','igfUC3DLCMvK','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','ANnVBG','icdIL4SG','y29TCgXLDgu','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','zMLUzeLUzgv4','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','vwj1BNr1ia','icHJB21WBgv4ihnVBhv0Aw9UCYK','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','uMvZDwX0igXVywrLza','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ChDU','zgvZy3jPChrPB24','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','zxHHBsbHBNn3zxiG','ywK0y3rMu3vI','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','icaGzMLUAxnOigfUzcbZDwjTAxq'];a0z=function(){return bK;};return a0z();}import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';import{printSuccess as a0a9,printError as a0aa,printWarning as a0ab,printInfo as a0ac,printTable as a0ad,printHeader as a0ae,printKeyValue as a0af,createSpinner as a0ag,formatCountdown as a0ah}from'../lib/ui.js';import{t as a0ai}from'../lib/i18n.js';import{getDeviceFingerprint as a0aj}from'../lib/access.js';import{getExamSetup as a0ak,saveExamSetup as a0al,isExamSetupComplete as a0am}from'../lib/exam-setup.js';import{execSync as a0an}from'node:child_process';function a0B(a,b){a=a-(-0x8*0xdb+0x25f9*0x1+-0x1d3e);const c=a0z();let d=c[a];if(a0B['lolgGd']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x45*0x27+0x30f*0x1+0x774,o,p,q=-0x3*-0xa9f+-0x6ab+-0x56*0x4b;p=i['charAt'](q++);~p&&(o=n%(-0x2008+-0x2377+0x4383)?o*(-0x1bfc+0x116*0x1c+-0x22c)+p:p,n++%(-0x44e*0x2+-0x1fc0+0x2860))?l+=String['fromCharCode'](-0x2388+0x2576+-0xef&o>>(-(0xe72+-0xd3f+-0x131)*n&-0x17b*-0x17+0x2b4+-0x24bb)):0x25b4+-0x2*-0x126a+-0x4a88){p=j['indexOf'](p);}for(let r=-0xa*0x322+-0x1*-0x128c+0x332*0x4,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0xa*0x73+0x1867*-0x1+0x1cf5))['slice'](-(-0x11*-0x10b+0x1*0x317+-0x14d0));}return decodeURIComponent(m);};a0B['cAZFof']=e,a0B['OYXjQj']={},a0B['lolgGd']=!![];}const f=c[-0x559*0x7+-0xdb2*-0x1+0x17bd],g=a+f,h=a0B['OYXjQj'][g];return!h?(d=a0B['cAZFof'](d),a0B['OYXjQj'][g]=d):d=h,d;}const q=z=>new Promise(B=>setTimeout(B,z));function E(B,F={}){const aY=a0B,G=a0W(),H={};H[aY(0x2d7)]=aY(0x4d4),fetch(aY(0x2e7),{'method':'POST','headers':H,'body':JSON[aY(0x4c5)]({'type':B,'lang':G[aY(0x380)]||'en','timestamp':new Date()[aY(0x4e1)](),...F}),'signal':AbortSignal[aY(0x205)](0x30f+0x1e82*0x1+-0xe09)})[aY(0x45e)](()=>{});}function N(z,B){const aZ=a0B,F=Math[aZ(0x365)](z/(-0x3*-0xa9f+-0x6ab+-0x7f*0x32)*(-0x2008+-0x2377+0x439d)),G=-0x1bfc+0x116*0x1c+-0x24e-F,H=a0L[aZ(0x37b)]('█'[aZ(0x466)](F))+a0L[aZ(0x42a)]('░'[aZ(0x466)](G)),J=String(z)[aZ(0x237)](-0x44e*0x2+-0x1fc0+0x285f)+'%';process[aZ(0x448)][aZ(0x3f3)](aZ(0x46b)+H+'\x20'+J+'\x20\x20'+a0L['gray'](B));}function M(){const b0=a0B,z=a0W();return z[b0(0x3f9)]&&z[b0(0x35e)]?new a0V(z['ctfdUrl'],z[b0(0x35e)]):(a0aa(b0(0x303)),null);}function O(){const b1=a0B,z=a0a1();z&&(new Date()<z?a0af(b1(0x350),a0L[b1(0x438)]['bold'](a0ah(z))):a0af('Time',a0L['red'][b1(0x30a)]('EXPIRED')));}function D(z,B){const b2=a0B;return Array[b2(0x2b8)](z[b2(0x28b)])&&z[b2(0x28b)]['includes'](B);}function j(z,B){const b3=a0B,F=Array[b3(0x2b8)](z['bookmarks'])?[...z[b3(0x28b)]]:[],G=F['indexOf'](B);return G>=-0x2388+0x2576+-0x1ee?(F[b3(0x2c2)](G,0xe72+-0xd3f+-0x132),z[b3(0x28b)]=F,a0Z(z),!(-0x17b*-0x17+0x2b4+-0x24c0)):(F['push'](B),F[b3(0x4e5)]((H,J)=>H-J),z['bookmarks']=F,a0Z(z),!(0x25b4+-0x2*-0x126a+-0x4a88));}function R(B){const b4=a0B,F={};return F[b4(0x4e8)]=B[b4(0x316)]||-0xa*0x322+-0x1*-0x128c+0x332*0x4,F[b4(0x32c)]=B[b4(0x45c)]||-0xa*0x73+0x1867*-0x1+0x1cf9,F[b4(0x42b)]=B['_helpPerQ']||{},F['eliminated']=B[b4(0x313)]||{},F;}function U(z,B){const b5=a0B,F=a0Y(),G=Number(F?.[b5(0x2e1)][b5(0x3f7)]||-0x11*-0x10b+0x1*0x317+-0x14b4),H=Object['keys'](F?.[b5(0x397)]||{})[b5(0x2c3)],J=R(F),K=J[b5(0x22f)][z[b5(0x465)]]||[],L='ai4ctf'===z[b5(0x28c)]||b5(0x458)===z[b5(0x28c)]||b5(0x3f6)===z['type']||z[b5(0x1e7)]&&!z['options']['A']&&!z[b5(0x1e7)]['B'];F&&function(Y,Z){const b6=b5;if(b6(0x3a2)===Y['session'][b6(0x2ba)])return;const a0=new Set(Y[b6(0x220)]||[]),a1=Number(Y['session'][b6(0x3f7)]||-0x559*0x7+-0xdb2*-0x1+0x17e5),a2=a0a1();if(-0x7d3*0x4+0x4*0x5ac+0x52*0x1b===Z&&a1>=0x1f5*-0x4+-0x71b+0xf17&&!a0['has']('p10')){const a3=a2?Math[b6(0x32c)](0x49d*-0x2+-0x182*0x9+0x5b3*0x4,Math[b6(0x365)]((a2[b6(0x4c8)]()-Date[b6(0x477)]())/(-0xfb*-0x191+-0x1a70e+0x10843))):null;console[b6(0x2da)](),console[b6(0x2da)](a0L[b6(0x42a)](b6(0x453))),console[b6(0x2da)](a0L[b6(0x2f2)](b6(0x2a7))+a0L[b6(0x42a)](b6(0x207))),null!==a3&&console[b6(0x2da)](a0L['gray']('\x20\x20\x20\x20\x20'+a3+b6(0x43e))),console['log'](a0L[b6(0x42a)]('\x20\x20┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄')),a0[b6(0x45d)](b6(0x308)),Y[b6(0x220)]=Array[b6(0x4e7)](a0),a0Z(Y);}if(0x993+-0x9*0x53+-0x68a===Z&&a1>=0x2230+-0x1*-0x397+-0x259f&&!a0[b6(0x3bc)](b6(0x27a))){Object['keys'](Y[b6(0x397)]||{})[b6(0x2c3)];const a4=Object['keys'](Y[b6(0x397)]||{})['filter'](a5=>Number(a5)<=-0x562*0x2+-0x35*0x22+0x11ec)['length'];console[b6(0x2da)](),console[b6(0x2da)](a0L[b6(0x37b)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](a0L['bold'][b6(0x37b)](b6(0x1ed))),console[b6(0x2da)](a0L[b6(0x42a)]('\x20\x20\x20\x20\x20'+a4+'/30\x20multiple-choice\x20answered')),console[b6(0x2da)](a0L[b6(0x4f0)](b6(0x315))),console[b6(0x2da)](a0L['gray']('\x20\x20\x20\x20\x20Budget\x20~2\x20min\x20per\x20practical\x20question.\x20You\x20can\x20come\x20back\x20with:\x20next\x20/\x20prev.')),console[b6(0x2da)](a0L[b6(0x37b)](b6(0x452))),a0[b6(0x45d)](b6(0x27a)),Y[b6(0x220)]=Array[b6(0x4e7)](a0),a0Z(Y);}}(F,z[b5(0x465)]),F&&L&&function(Y,Z){const b7=b5;if(b7(0x3a2)===Y[b7(0x2e1)]['examId'])return;if(Number(Y['session'][b7(0x3f7)]||0x14cd+0x152+-0x15f7*0x1)<0x62+-0x1*0x2ff+-0x2c5*-0x1)return;const a0=new Set(Y[b7(0x220)]||[]);Z>=0x20c+0x1ef7+-0x14*0x1a5&&Z<=0x2*-0x10ab+0x1ffa+-0x2*-0xc1&&!a0['has'](b7(0x4fe))?(console[b7(0x2da)](),console[b7(0x2da)](a0L[b7(0x37b)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b7(0x2da)](a0L[b7(0x30a)][b7(0x37b)](b7(0x42e))),console[b7(0x2da)](a0L[b7(0x37b)](b7(0x39d))),console[b7(0x2da)](),console[b7(0x2da)](a0L[b7(0x4f0)]('\x20\x20\x20Welcome\x20to\x20the\x20practical\x20CTF\x20section.\x20Real')),console[b7(0x2da)](a0L['white'](b7(0x2c9))),console[b7(0x2da)](),console[b7(0x2da)](a0L['bold'][b7(0x4f0)](b7(0x2fe))),console[b7(0x2da)](a0L[b7(0x42a)](b7(0x312))+a0L['bold'](b7(0x277))+a0L[b7(0x42a)](b7(0x3e2))),console[b7(0x2da)](),console[b7(0x2da)](a0L[b7(0x30a)][b7(0x4f0)]('\x20\x20\x20How\x20to\x20work')),console[b7(0x2da)](a0L['gray'](b7(0x2bc))+a0L[b7(0x30a)]['green'](b7(0x390))+a0L[b7(0x42a)](b7(0x232))+a0L[b7(0x2c8)](b7(0x471))+a0L[b7(0x42a)](b7(0x201))),console[b7(0x2da)](a0L[b7(0x42a)]('\x20\x20\x20\x20\x20Inside\x20chat:\x20\x20\x20\x20')+a0L[b7(0x2f2)](b7(0x360))+a0L[b7(0x42a)]('\x20·\x20')+a0L[b7(0x2f2)](b7(0x4f1))+a0L[b7(0x42a)](b7(0x401))+a0L[b7(0x2f2)](b7(0x3e1))),console[b7(0x2da)](a0L[b7(0x42a)](b7(0x3d3))),console[b7(0x2da)](a0L[b7(0x42a)](b7(0x4e6))+a0L[b7(0x2f2)](b7(0x29e))+a0L[b7(0x42a)](b7(0x30f))+a0L[b7(0x2f2)]('next\x20/\x20prev')),console[b7(0x2da)](),console[b7(0x2da)](a0L[b7(0x30a)][b7(0x4f0)](b7(0x254))),console[b7(0x2da)](a0L[b7(0x42a)](b7(0x3f8))+a0L[b7(0x4f0)](b7(0x434))+a0L[b7(0x42a)](b7(0x348))),console[b7(0x2da)](a0L[b7(0x42a)](b7(0x330))+a0L['white'](b7(0x468))),console['log'](),console['log'](a0L[b7(0x438)](b7(0x320))),console[b7(0x2da)](a0L[b7(0x37b)](b7(0x39d))),console['log'](),a0['add'](b7(0x4fe)),Y['shownWarnings']=Array[b7(0x4e7)](a0),a0Z(Y)):Z>=-0x2258+0x1e75+0x40a&&!a0[b7(0x3bc)](b7(0x4b0))&&(console['log'](),console[b7(0x2da)](a0L[b7(0x233)](b7(0x39d))),console[b7(0x2da)](a0L['bold'][b7(0x233)]('\x20\x20\x20🎯\x20\x20Section\x203:\x20CTF4AI\x20—\x20Challenge\x20the\x20AI')),console['log'](a0L['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b7(0x2da)](),console['log'](a0L[b7(0x4f0)](b7(0x408))),console[b7(0x2da)](a0L['white'](b7(0x25f))+a0L[b7(0x30a)](b7(0x436))+a0L[b7(0x4f0)](b7(0x306))),console[b7(0x2da)](),console[b7(0x2da)](a0L[b7(0x30a)][b7(0x4f0)]('\x20\x20\x20Q39–40\x20(2\x20questions\x20·\x2016\x20pts\x20each\x20—\x20highest\x20value!)')),console[b7(0x2da)](a0L[b7(0x42a)](b7(0x2c4))),console[b7(0x2da)](),console['log'](a0L['bold'][b7(0x4f0)](b7(0x36a))),console['log'](a0L[b7(0x42a)](b7(0x2bc))+a0L[b7(0x30a)]['red'](b7(0x458))+a0L[b7(0x42a)](b7(0x232))+a0L[b7(0x233)]('ctf4ai>')+a0L[b7(0x42a)](b7(0x37e))),console[b7(0x2da)](a0L[b7(0x42a)](b7(0x4c3))+a0L['cyan'](b7(0x360))+a0L[b7(0x42a)](b7(0x401))+a0L[b7(0x2f2)]('submit\x20ICOA{...}')+a0L[b7(0x42a)](b7(0x401))+a0L[b7(0x2f2)](b7(0x3e1))),console[b7(0x2da)](a0L[b7(0x42a)](b7(0x4ea))),console[b7(0x2da)](),console[b7(0x2da)](a0L[b7(0x30a)][b7(0x4f0)](b7(0x38b))),console[b7(0x2da)](a0L['gray']('\x20\x20\x20\x20\x20·\x20AI\x20is\x20your\x20')+a0L[b7(0x233)](b7(0x35c))+a0L[b7(0x42a)](b7(0x240))),console[b7(0x2da)](a0L[b7(0x42a)](b7(0x39e))+a0L[b7(0x4f0)](b7(0x2cf))+a0L['gray'](b7(0x491))),console[b7(0x2da)](),console[b7(0x2da)](a0L[b7(0x438)](b7(0x47b))),console[b7(0x2da)](a0L[b7(0x438)](b7(0x1fa))),console[b7(0x2da)](a0L['red'](b7(0x39d))),console[b7(0x2da)](),a0['add'](b7(0x4b0)),Y[b7(0x220)]=Array[b7(0x4e7)](a0),a0Z(Y));}(F,z[b5(0x465)]),F&&function(Y){const b8=b5,Z=a0a1();if(!Z)return;const a0=Z['getTime']()-Date[b8(0x477)]();if(a0<=-0x565+-0x41*0x68+0x1fcd)return;const a1=a0/(0x151e8+0x5923*-0x4+-0x3f41*-0x4),a2=new Set(Y[b8(0x220)]||[]);let a3=null;if(a1<=0x11*0x1ff+0x56c+-0x275a&&!a2['has']('t1')?a3={'key':'t1','text':[a0L[b8(0x233)][b8(0x30a)](b8(0x3a6)),a0L['red'](b8(0x364))+a0L['bold'](b8(0x38f))]}:a1<=0xd3a*-0x1+0x1a79+-0xd3a&&!a2[b8(0x3bc)]('t5')?a3={'key':'t5','text':[a0L['red']['bold'](b8(0x2c0)),a0L[b8(0x438)](b8(0x4bc))+a0L[b8(0x30a)]('exam\x20submit')]}:a1<=0x1*0x3a4+-0x765*0x1+-0x3cb*-0x1&&!a2['has'](b8(0x34b))&&(a3={'key':b8(0x34b),'text':[a0L['yellow'][b8(0x30a)](b8(0x3e7)),a0L[b8(0x42a)]('\x20\x20Review\x20unanswered\x20questions:\x20')+a0L[b8(0x4f0)]('exam\x20review')]}),a3){console[b8(0x2da)](),console[b8(0x2da)](a0L[b8(0x233)](b8(0x452)));for(const a4 of a3[b8(0x392)])console[b8(0x2da)](a4);console[b8(0x2da)](a0L[b8(0x233)](b8(0x452))),a2['add'](a3[b8(0x211)]),Y['shownWarnings']=Array[b8(0x4e7)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const b9=b5,a1=Math[b9(0x365)](Y/Z*(0x15*0xb5+0x2021+0x176e*-0x2)),a2=-0x13f4+-0x24a*0x2+0x18a6-a1,a3=a0L['cyan']('━'[b9(0x466)](a1))+a0L[b9(0x42a)]('─'[b9(0x466)](a2)),a4=Math['round'](Y/Z*(-0x9a5+-0xd73*0x1+0x177c));console[b9(0x2da)](),console[b9(0x2da)]('\x20\x20'+a3+'\x20\x20'+a0L['white'][b9(0x30a)](''+Y)+a0L[b9(0x42a)]('/'+Z)+'\x20\x20'+a0L[b9(0x42a)]('('+a0+'\x20answered)')+'\x20\x20'+a0L['gray'](a4+'%'));const a5=a0a1();if(a5){const a6=Math[b9(0x32c)](-0x40*0x74+-0x3bd+0x20bd,Math[b9(0x365)]((a5['getTime']()-Date['now']())/(-0x1d7f+-0xbcb*-0x1+-0x4*-0x567))),a7=Math[b9(0x3ba)](a6/(-0x17c9*-0x1+-0xfb9*0x1+0x14e*-0x6))+':'+String(a6%(0x3d*0x40+0x4e8*-0x4+0x49c))['padStart'](-0x1*0x1ca9+-0x568*-0x5+-0x1*-0x1a3,'0'),a8=a6<=-0x1594+0x10b5+-0x51b*-0x1?a0L[b9(0x233)][b9(0x30a)]:a6<=-0x1075*-0x1+-0x409*0x8+0x10ff*0x1?a0L['red']:a6<=-0x12f0+0x1619*-0x1+0x2b61?a0L[b9(0x438)]:a0L['gray'];console[b9(0x2da)]('\x20\x20'+a0L[b9(0x42a)](b9(0x3e4))+'\x20'+a8(a7)+'\x20'+a0L['gray']('(server-authoritative)'));}}(z[b5(0x465)],G,H),F&&D(F,z[b5(0x465)])&&console[b5(0x2da)](a0L[b5(0x438)](b5(0x435)));const Q=function(Y,Z){const ba=b5,a0={};a0[ba(0x399)]=0.2,a0[ba(0x2ae)]=ba(0x31a),a0['key']=ba(0x267);const a1={};a1['pct']=0.33,a1[ba(0x2ae)]='🐨',a1[ba(0x211)]=ba(0x29f);const a2={};a2[ba(0x399)]=0.5,a2[ba(0x2ae)]='🌉',a2[ba(0x211)]=ba(0x3cc);const a3={};a3[ba(0x399)]=0.6,a3['emoji']='🦘',a3[ba(0x211)]='egg9';const a4={};a4[ba(0x399)]=0.8,a4[ba(0x2ae)]='🏖️',a4[ba(0x211)]=ba(0x243);const a5={};a5[ba(0x399)]=0.87,a5[ba(0x2ae)]='🦈',a5[ba(0x211)]=ba(0x299);const a6={};a6['pct']=0x1,a6[ba(0x2ae)]='🎉',a6[ba(0x211)]=ba(0x334);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[ba(0x365)](a9[ba(0x399)]*Z);if(!(aa<-0x7*-0x425+0xce1+-0x29e3||a8[ba(0x3bc)](aa))&&(a8[ba(0x45d)](aa),Y===aa))return{'emoji':a9[ba(0x2ae)],'text':a0ai(a9[ba(0x211)])};}}(z[b5(0x465)],G);if(Q&&console[b5(0x2da)](a0L[b5(0x438)]('\x20\x20'+Q[b5(0x2ae)]+'\x20\x20'+Q[b5(0x392)])),console[b5(0x2da)](),z[b5(0x263)]&&console[b5(0x2da)](a0L[b5(0x2f2)]('\x20\x20['+z[b5(0x263)]+']')),z['points']&&z[b5(0x4cd)]>0x143*-0x1e+-0x6b1+-0x5*-0x8e9&&console[b5(0x2da)](a0L[b5(0x2f2)](b5(0x391)+z[b5(0x4cd)]+b5(0x24f))),L){let Y=z['description']||z[b5(0x392)];const Z=a0a2(z['number'],z['attachedData']);if(z[b5(0x35a)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b5(0x499)](Y)?Y=Y[b5(0x45a)](a1,z[b5(0x35a)]):Y[b5(0x33d)](z['attachedData'])||(Y=Y+'\x0a\x0aFull\x20attached\x20data:\x0a'+z[b5(0x35a)]);}console[b5(0x2da)](a0L['bold'][b5(0x4f0)]('\x20\x20Q'+z[b5(0x465)]+'.\x20')+a0L[b5(0x4f0)](Y[b5(0x3fd)]('\x0a')[-0x2129*0x1+0x1928+0x801]));const a0=Y['split']('\x0a')[b5(0x2db)](0x58a+0x7*0x490+-0x2579);for(const a2 of a0)console[b5(0x2da)](a0L[b5(0x4f0)]('\x20\x20'+a2));if(console[b5(0x2da)](),Z&&b5(0x390)===z[b5(0x28c)]){const a3=Z[b5(0x45a)](process.env.HOME||'','~');console[b5(0x2da)](a0L[b5(0x2f2)]('\x20\x20'+a0ai('examWaysToSolve')+'\x20')+a0L[b5(0x42a)]('('+a0ai(b5(0x489))+'\x20'+a3+'):')),console[b5(0x2da)](a0L['white'](b5(0x478))+a0L['yellow'](b5(0x23d)+a3)[b5(0x3db)](0xfbb*-0x1+-0x2*0x928+0x223f)+a0L[b5(0x42a)]('\x20'+a0ai(b5(0x30d)))),console[b5(0x2da)](a0L[b5(0x4f0)]('\x20\x20\x20\x20②\x20')+a0L[b5(0x438)](b5(0x2fa))[b5(0x3db)](0x4*-0x73c+0x1880+0x490)+a0L[b5(0x42a)]('\x20'+a0ai('examWaysPythonRepl'))),console['log'](a0L[b5(0x4f0)](b5(0x49c))+a0L[b5(0x438)]('!vi\x20solve.py')+a0L['gray'](b5(0x36b))+a0L['yellow'](b5(0x464))),console['log'](a0L[b5(0x4f0)]('\x20\x20\x20\x20④\x20')+a0L[b5(0x438)]('ref\x20python')['padEnd'](-0x21df+0x2f*-0xc7+0x1e8*0x25)+a0L[b5(0x42a)]('\x20'+a0ai(b5(0x26e)))),console[b5(0x2da)](a0L[b5(0x4f0)](b5(0x307))+a0L[b5(0x438)](b5(0x390))[b5(0x3db)](-0x192c+-0x91a*0x1+-0x206*-0x11)+a0L[b5(0x42a)]('\x20'+a0ai(b5(0x279)))),console[b5(0x2da)](),console[b5(0x2da)](a0L['gray']('\x20\x20'+a0ai(b5(0x4bb))+'\x20')+a0L[b5(0x30a)][b5(0x37b)]('submit\x20ICOA{your_flag}')),console[b5(0x2da)]();}B&&(console[b5(0x2da)](a0L['green'](b5(0x47e)+B)),console[b5(0x2da)]());}else{console[b5(0x2da)](a0L['bold'][b5(0x4f0)]('\x20\x20Q'+z['number']+'.\x20')+a0L[b5(0x4f0)](z['text'])),console[b5(0x2da)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K[b5(0x33d)](a4)?console[b5(0x2da)](a0L[b5(0x42a)]['strikethrough'](b5(0x25b)+a4+'.\x20'+z[b5(0x1e7)][a4])+a0L[b5(0x233)]('\x20('+a0ai(b5(0x20a))+')')):a5?console['log'](a0L[b5(0x37b)][b5(0x30a)](b5(0x38e)+a4+'.\x20'+z[b5(0x1e7)][a4])):console[b5(0x2da)](a0L['gray']('\x20\x20\x20\x20'+a4+'.')+'\x20'+a0L['white'](z[b5(0x1e7)][a4]));}console['log']();}const V=b5(0x3a2)===F?.[b5(0x2e1)][b5(0x2ba)],W=J[b5(0x42b)][-0x1*0x4aa+-0x1b1b+0x1fc7]||-0x5*-0x5c7+0x2304+-0x1*0x3fe7;V&&-0xd51+-0x696*-0x3+0x9*-0xb7===z[b5(0x465)]&&-0xf1c+0x30a*-0x3+-0x1*-0x183a===W&&(console['log'](a0L[b5(0x438)]['bold']('\x20\x20'+a0ai('qTutorial'))),console[b5(0x2da)]());const X=J['max']-J[b5(0x4e8)];if(console[b5(0x2da)](a0L['gray'](b5(0x418))),L){const a6=F&&b5(0x3a2)!==F[b5(0x2e1)][b5(0x2ba)]&&z[b5(0x465)]>=-0x11e*0x1+0x1323+-0x11de&&z[b5(0x465)]<=-0x6*-0x576+0x305+-0x23a1,a7=F&&b5(0x3a2)!==F[b5(0x2e1)][b5(0x2ba)]&&z[b5(0x465)]>=-0x1*-0xc9d+0x1255+-0x1ed3&&z['number']<=-0x11*-0x236+0x1c62+-0x41d2;b5(0x3f6)===z[b5(0x28c)]?console[b5(0x2da)](a0L[b5(0x30a)][b5(0x2f2)](b5(0x4d3))+a0L[b5(0x42a)](b5(0x414))):a7?console[b5(0x2da)](a0L[b5(0x30a)][b5(0x37b)](b5(0x278))+a0L[b5(0x42a)](b5(0x359))):a6&&console[b5(0x2da)](a0L['bold'][b5(0x233)]('\x20\x20\x20\x20ctf4ai')+a0L[b5(0x42a)](b5(0x440))),console[b5(0x2da)](a0L[b5(0x438)](b5(0x3a8))+a0L[b5(0x42a)](b5(0x242))),console[b5(0x2da)](a0L[b5(0x438)](b5(0x344))+a0L['gray']('\x20\x20\x20\x20\x20\x20start\x20Python\x20shell'));}else{const a8=J[b5(0x32c)]>=-0x139e+-0x1*-0x8a3+0xb19,a9=X>0x172b+-0x603+-0x4*0x44a?a0L['gray'](a0ai(b5(0x293))+'\x20')+a0L[b5(0x438)]('('+X+'/'+J['max']+')'):a8?a0L[b5(0x42a)](a0ai(b5(0x231))+'\x20('+J[b5(0x4e8)]+'/'+J[b5(0x32c)]+')'):a0L[b5(0x42a)](''+a0ai(b5(0x376)));console[b5(0x2da)](a0L[b5(0x438)](b5(0x368))+a0L[b5(0x42a)]('\x20\x20\x20\x20\x20\x20\x20'+a0ai('answerThis'))),console[b5(0x2da)](a0L[b5(0x438)](b5(0x3d1))+b5(0x230)+a9);}console['log'](a0L[b5(0x438)](b5(0x21e))+a0L[b5(0x42a)](b5(0x2d2))+a0L['yellow'](b5(0x304))+a0L[b5(0x42a)](b5(0x25b)+a0ai(b5(0x24c)))),console[b5(0x2da)](a0L[b5(0x438)](b5(0x43c)+G)+a0L[b5(0x42a)](b5(0x4ac)+a0ai(b5(0x37f)))),console['log'](a0L[b5(0x438)](b5(0x3e0))+a0L['gray'](b5(0x230)+a0ai(b5(0x226)))),console['log'](a0L['yellow'](b5(0x4d7))+a0L[b5(0x42a)](b5(0x4ac)+a0ai(b5(0x28e)))),console['log'](a0L[b5(0x30a)][b5(0x438)]('\x20\x20\x20\x20exam\x20submit')+a0L[b5(0x42a)]('\x20\x20\x20'+a0ai(b5(0x27c)))),console['log'](a0L[b5(0x438)](b5(0x1f3))+a0L[b5(0x42a)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(b5(0x4ed)))),console[b5(0x2da)](a0L[b5(0x438)](b5(0x431))+a0L[b5(0x42a)](b5(0x230)+a0ai(b5(0x2af)))),console[b5(0x2da)](a0L['gray']('\x20\x20─────────────────────────────────────────'));}export function registerExamCommand(z){const bb=a0B,B=z[bb(0x1ef)](bb(0x2e8))[bb(0x41a)]('National\x20selection\x20exam');B[bb(0x1ef)](bb(0x374))[bb(0x41a)](bb(0x4da))[bb(0x2ef)](()=>{const bc=bb;a0a8(bc(0x218)),console[bc(0x2da)](),a0ae(bc(0x248)),console[bc(0x2da)]();const F=[['AU',bc(0x2bb)],['BD',bc(0x4dd)],['BI',bc(0x20d)],['BR',bc(0x483)],['CN',bc(0x4db)],['DE','Germany'],['EG','Egypt'],['FR',bc(0x2e9)],['GH',bc(0x331)],['ID',bc(0x421)],['IN',bc(0x301)],['JP',bc(0x266)],['KR','South\x20Korea'],['LA','Laos'],['LK',bc(0x423)],['MM',bc(0x294)],['MO',bc(0x378)],['MY','Malaysia'],['NZ','New\x20Zealand'],['PE',bc(0x387)],['PH',bc(0x4a0)],['RU',bc(0x26f)],['SA',bc(0x2d1)],['SG',bc(0x4eb)],['TH',bc(0x4a1)],['TR','Turkey'],['UK',bc(0x3af)],['US',bc(0x384)],['UZ',bc(0x2ac)],['VN',bc(0x1e3)],['ZA',bc(0x216)]];for(let G=0xf9*0x19+0x24a2+0x1451*-0x3;G<F[bc(0x2c3)];G+=-0x19cb+0x9a0+0x102e){const H=F[bc(0x2db)](G,G+(0x50a+0x1f*-0xe+0x355*-0x1))['map'](([J,K])=>'\x20\x20'+a0L[bc(0x2f2)](J)+'\x20\x20'+a0L[bc(0x42a)](K['padEnd'](-0x819*-0x4+0x3*-0x6c7+-0x1*0xbff)))[bc(0x3f5)]('');console[bc(0x2da)](H);}console[bc(0x2da)](),console[bc(0x2da)](a0L[bc(0x42a)]('\x20\x2040+\x20countries\x20and\x20regions\x20represented')),console['log'](a0L[bc(0x42a)](bc(0x3b7))),console[bc(0x2da)](),console['log'](a0L[bc(0x4f0)](bc(0x275))),console[bc(0x2da)](a0L[bc(0x2f2)](bc(0x244))+a0L['gray']('\x20\x20\x20\x20\x20exam\x20list\x20PE')+a0L[bc(0x42a)](bc(0x4b1))),console['log']();}),B[bb(0x1ef)](bb(0x3c4))['description'](bb(0x2ad))['action'](async F=>{const bd=bb;a0a8(bd(0x1f9)+(F||''));const G=M();if(!G)return;const H=a0ag('Loading\x20exams...');H[bd(0x4b4)]();try{let J=await G['getExams']();if(H[bd(0x290)](),F){const Q=F[bd(0x338)]();J=J[bd(0x353)](V=>V['country'][bd(0x338)]()===Q||bd(0x20c)===V[bd(0x289)]);}if(!J||-0x271+-0x9*0x163+0x17e*0xa===J[bd(0x2c3)]){console[bd(0x2da)](),a0ac(F?bd(0x4c6)+F['toUpperCase']()+bd(0x3cf):'No\x20exams\x20available\x20for\x20your\x20country\x20yet.'),console['log'](),console[bd(0x2da)](a0L[bd(0x4f0)](bd(0x2d4))),console['log'](a0L[bd(0x42a)](bd(0x420))),console[bd(0x2da)](),console['log'](a0L[bd(0x42a)](bd(0x3d5))+a0L[bd(0x30a)][bd(0x2f2)](bd(0x29c))),console[bd(0x2da)]();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||'')[bd(0x338)]();return void(W[X]&&(console[bd(0x2da)](a0L['gray'](bd(0x417)+W[X])),console[bd(0x2da)]()));}const K=J['map'](Y=>{const be=bd,Z=be(0x2e3)===Y[be(0x212)]?a0L[be(0x37b)]:be(0x2bf)===Y[be(0x212)]?a0L[be(0x438)]:a0L['white'];return[a0L[be(0x4f0)](Y['id']),Y[be(0x3c3)],a0L['cyan'](Y[be(0x289)]),String(Y[be(0x3f7)]),Y[be(0x47f)]+be(0x398),Z(Y[be(0x212)])];}),L=[...new Set(J[bd(0x21f)](Y=>Y['country']))];a0ae(F?'Exams\x20—\x20'+F['toUpperCase']():'Available\x20Exams\x20('+L[bd(0x2c3)]+'\x20regions)'),a0ad(['ID',bd(0x405),bd(0x361),'Questions',bd(0x25a),bd(0x2d9)],K),console[bd(0x2da)](),console[bd(0x2da)](a0L[bd(0x42a)]('\x20\x20Start:\x20exam\x20start\x20<id>')),L['length']>0x196c+0x22d*0x7+-0x1453*0x2&&console[bd(0x2da)](a0L[bd(0x42a)](bd(0x21a)));}catch(Y){H[bd(0x33f)](bd(0x4fc)),a0aa(Y[bd(0x475)]);}}),B[bb(0x1ef)](bb(0x2c7))[bb(0x41a)](bb(0x4bd))['action'](async F=>{const bf=bb;a0a8(bf(0x442)+F);const G=a0Y();if(G)return a0ab(bf(0x3fe)+G['session'][bf(0x300)]+'\x22\x20is\x20already\x20in\x20progress.'),void a0ac(bf(0x3c0));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bf(0x4f0)]('Start\x20the\x20exam?\x20The\x20timer\x20will\x20begin\x20immediately.'),'default':!(0x2490+0x171+0x2f*-0xcf),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bf(0x37b)](K)}}});if(J){console[bf(0x2da)]();try{N(0xf76*-0x1+0x12b5+0x3*-0x115,bf(0x26b));const {session:K,questions:L}=await H['startExam'](F);N(-0x187+0xd5c+-0xbb7,bf(0x228)),await q(-0x60d*0x6+0x1b9b+0x97b),N(-0x2d7+-0x12f7+-0xd*-0x1b2,bf(0x3ce)),await q(0x2390+0x1215+-0x34dd*0x1),N(-0x214d+-0xa8+0x224f*0x1,bf(0x4af)),await q(0xd84+-0x1817+0xb29),a0Z({'session':K,'questions':L,'answers':{}}),N(0x646+-0x25e+-0x384,bf(0x257)),console[bf(0x2da)](),console['log'](),a0ae(K[bf(0x300)]),a0af(bf(0x29b),String(K['questionCount'])),a0af(bf(0x25a),K[bf(0x47f)]+bf(0x437)),a0af('Country',K[bf(0x289)]),O(),L[bf(0x2c3)]>0x9*-0x14d+0x2*0xf2c+-0xd*0x16f&&U(L[0x1e76+-0xb*0x2+-0x1e60]);}catch(Q){console[bf(0x2da)](),a0aa(Q[bf(0x475)]);}}}),B[bb(0x1ef)](bb(0x2cd))[bb(0x41a)](bb(0x1f0))['action'](async F=>{const bg=bb;a0a8(bg(0x356)+(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,-0x6de+-0x143c+0x12*0x182),K=H[bg(0x37c)][bg(0x3cb)](L=>L['number']===J);if(!K)return void a0aa(bg(0x238)+F+'\x20not\x20found\x20(1-'+H['questions'][bg(0x2c3)]+').');H['_lastQ']=J,a0Z(H),U(K,H[bg(0x397)][J]);}else{a0ae(''+H['session'][bg(0x300)]);const L=Object[bg(0x4d0)](H[bg(0x397)])[bg(0x2c3)];a0af(bg(0x276),L+'/'+H['session'][bg(0x3f7)]+bg(0x406)),console[bg(0x2da)]();for(const Q of H[bg(0x37c)]){const V=H[bg(0x397)][Q['number']],W=V?a0L[bg(0x37b)]('['+V+']'):a0L[bg(0x42a)](bg(0x22c)),X=Q[bg(0x263)]?a0L[bg(0x42a)]('\x20['+Q[bg(0x263)]+']'):'';console[bg(0x2da)]('\x20\x20'+W+'\x20'+a0L[bg(0x4f0)]('Q'+Q[bg(0x465)])+X+'\x20'+a0L['gray'](Q[bg(0x392)][bg(0x382)](-0x247*-0x11+-0x17d1+-0xee6,0x77b*-0x1+0xfb*-0x7+0xe94))+(Q[bg(0x392)][bg(0x2c3)]>0x1*0x1fc1+0x10db+0x1020*-0x3?'...':''));}console['log']();}}else a0aa(bg(0x48a));}),B[bb(0x1ef)]('mark\x20[n]')[bb(0x41a)](bb(0x209))[bb(0x2ef)](F=>{const bh=bb;a0a8(bh(0x2b2)+(F||''));const G=a0Y();if(!G)return void a0aa(bh(0x3ea));const H=G[bh(0x37c)][bh(0x2c3)],J=F?parseInt(F,-0x1e69+0x1*0x26d5+0x431*-0x2):G[bh(0x47a)]||0x26c1*-0x1+-0x4*0x473+0x388e;if(Number[bh(0x366)](J)||J<-0x23d3+-0x1*0x21d3+0x45a7||J>H)return void a0aa(bh(0x41e)+H+'.');const K=j(G,J);console[bh(0x2da)](),K?console[bh(0x2da)](a0L[bh(0x438)](bh(0x482)+J+bh(0x2f7))):console[bh(0x2da)](a0L[bh(0x42a)](bh(0x32a)+J+bh(0x3b9)));const L=Array[bh(0x2b8)](G[bh(0x28b)])?G['bookmarks']:[];L[bh(0x2c3)]>-0x93+-0x1*-0xe9e+-0xe0b&&console[bh(0x2da)](a0L[bh(0x42a)](bh(0x2f3)+L[bh(0x21f)](Q=>'Q'+Q)[bh(0x3f5)](',\x20'))),console['log'](a0L[bh(0x42a)](bh(0x2cc))+a0L['white'](bh(0x36c))),console[bh(0x2da)]();}),B['command'](bb(0x4fa))[bb(0x41a)](bb(0x2e6))[bb(0x2ef)](F=>{const bi=bb;a0a8(bi(0x462)+(F||''));const G=a0Y();if(!G)return void a0aa(bi(0x3ea));const H=G[bi(0x37c)][bi(0x2c3)],J=F?parseInt(F,0x120a+0x15e2+-0x27e2*0x1):G['_lastQ']||0x1ae4+-0x1e2*0x8+0x1*-0xbd3;Number[bi(0x366)](J)||J<-0x21cc+-0x1017+0x31e4||J>H?a0aa(bi(0x41e)+H+'.'):D(G,J)?(j(G,J),console[bi(0x2da)](),console[bi(0x2da)](a0L[bi(0x42a)](bi(0x32a)+J+bi(0x3b9))),console[bi(0x2da)]()):console[bi(0x2da)](a0L[bi(0x42a)](bi(0x281)+J+bi(0x396)));}),B[bb(0x1ef)](bb(0x22b))['description'](bb(0x358))[bb(0x2ef)](()=>{const bj=bb;a0a8('exam\x20next');const F=a0Y();if(!F)return void a0aa(bj(0x3ea));F[bj(0x37c)][bj(0x40f)](K=>!F[bj(0x397)][K['number']]);const G=F[bj(0x47a)]||0x2526+-0x22c8+-0x25d,H=Math[bj(0x284)](G+(0x1f69+-0x2674+0xa4*0xb),F['questions'][bj(0x2c3)]);F['_lastQ']=H,a0Z(F);const J=F['questions'][H-(0x149*-0x6+0x2*0xf55+0x2f*-0x7d)];U(J,F[bj(0x397)][J['number']]);}),B['command']('prev')[bb(0x41a)](bb(0x3d7))[bb(0x2ef)](()=>{const bk=bb;a0a8(bk(0x472));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=F[bk(0x47a)]||0x14b6+-0x1c57+0x7a2,H=Math[bk(0x32c)](G-(-0x1a*0x81+-0x171c+0x2437),-0x13a2*0x1+-0x5*0x25+0x145c);F[bk(0x47a)]=H,a0Z(F);const J=F['questions'][H-(0xa9*-0x38+-0xe*-0xf1+0x17cb)];U(J,F['answers'][J[bk(0x465)]]);}),B['command'](bb(0x4f8))[bb(0x41a)](bb(0x3c7))['action'](async()=>{const bl=bb;a0a8('exam\x20help');const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=R(F),H=F[bl(0x47a)]||0x3*0x585+-0x2a5*0x5+-0x355*0x1,J=G['perQ'][H]||-0x23*0xfa+0x1240+0x1*0xfee,K=G['eliminated'][H]||[],L=F['questions'][bl(0x3cb)](W=>W['number']===H);if(!L)return;if(J>=-0x13*-0xe5+0x1*0x1596+-0x1*0x2693)return console[bl(0x2da)](),console['log'](a0L[bl(0x438)](bl(0x23a))),console[bl(0x2da)](a0L[bl(0x42a)](bl(0x407))),console['log'](),void U(L,F['answers'][L['number']]);const Q=['A','B','C','D'][bl(0x353)](W=>!K[bl(0x33d)](W));if(Q[bl(0x2c3)]<=-0x32+0x242+-0x20e)return console[bl(0x2da)](),console[bl(0x2da)](a0L['yellow']('\x20\x20😄\x20Only\x202\x20options\x20left\x20—\x20you\x20got\x20this!')),console['log'](),void U(L,F[bl(0x397)][L[bl(0x465)]]);if(G['used']>=G[bl(0x32c)]){const W=G[bl(0x32c)]>=0x498+0x3*0x138+-0x822,X=0x78e*0x4+0x12f2+-0x4*0xc43-G[bl(0x32c)];return void(W?(console[bl(0x2da)](),console[bl(0x2da)](a0L['gray'](bl(0x2dd)+G[bl(0x4e8)]+'/'+G['max']+bl(0x40a))),console[bl(0x2da)]()):(console[bl(0x2da)](),console[bl(0x2da)](a0L[bl(0x438)](bl(0x268)+G[bl(0x4e8)]+'/'+G[bl(0x32c)])),console[bl(0x2da)](a0L[bl(0x4f0)](bl(0x252))+a0L[bl(0x30a)][bl(0x438)](bl(0x4e3))+a0L[bl(0x42a)]('\x20(+'+X+bl(0x4b3))),console[bl(0x2da)]()));}const V=Y=>{const bm=bl;K[bm(0x247)](Y),G[bm(0x22f)][H]||(G[bm(0x22f)][H]=[]),G['eliminated'][H]=K,G[bm(0x42b)][H]=J+(-0x1a5a*0x1+-0x2291*-0x1+0x1*-0x836),G[bm(0x4e8)]++,F[bm(0x316)]=G[bm(0x4e8)],F[bm(0x45c)]=G['max'],F[bm(0x2b6)]=G[bm(0x42b)],F[bm(0x313)]=G[bm(0x22f)],F[bm(0x258)]||(F[bm(0x258)]=[]),F[bm(0x258)]['push']({'ts':new Date()[bm(0x4e1)](),'q':H,'type':bm(0x44b),'result':bm(0x3a0)+Y}),a0Z(F),console[bm(0x2da)](),console[bm(0x2da)](a0L[bm(0x438)]('\x20\x20💡\x20Option\x20'+Y+bm(0x4df))+a0L[bm(0x42a)](bm(0x42c)+G['used']+'/'+G['max']+')')),U(L,F[bm(0x397)][L['number']]);};if('demo-free'===F[bl(0x2e1)][bl(0x2ba)]&&L[bl(0x310)])(Y=>{const bn=bl,Z=Q[bn(0x353)](a0=>a0!==Y&&!K[bn(0x33d)](a0));0x621+0x4*-0x455+0xb33!==Z['length']&&V(Z[Math[bn(0x3ba)](Math['random']()*Z[bn(0x2c3)])]);})(L[bl(0x310)]);else{const Y=a0W()[bl(0x3f9)]||bl(0x3b8),Z=F['session']?.[bl(0x35e)]||'';try{const a0={};a0[bl(0x2d7)]='application/json',a0[bl(0x4c9)]=bl(0x2a4);const a1={};a1[bl(0x35e)]=Z,a1[bl(0x480)]=H,a1['eliminated']=K;const a2=await fetch(Y+'/api/icoa/exams/'+F[bl(0x2e1)]['examId']+'/help',{'method':bl(0x2ca),'headers':a0,'body':JSON[bl(0x4c5)](a1),'signal':AbortSignal['timeout'](-0x59*0x6c+0x3*0xcdd+0x127d)}),a3=await a2[bl(0x40b)](),a4=a3?.['data']?.[bl(0x305)];a4&&['A','B','C','D'][bl(0x33d)](a4)?V(a4):(console[bl(0x2da)](),console['log'](a0L[bl(0x42a)](bl(0x4f7))));}catch{console[bl(0x2da)](),console['log'](a0L['gray'](bl(0x200)));}}}),B['command'](bb(0x4ee))[bb(0x41a)](bb(0x4b9))[bb(0x2ef)](()=>{const bo=bb;a0a8(bo(0x34d));const F=a0Y();if(!F)return void a0aa(bo(0x3ea));const G=R(F),H=bo(0x3a2)===F[bo(0x2e1)]['examId']?0x6d3+0x20ab*-0x1+0x19e0:-0xf05+-0x33*0xc+0x281*0x7;if(G[bo(0x32c)]>=H)return void console['log'](a0L[bo(0x42a)](bo(0x42d)));if(G[bo(0x4e8)]<G[bo(0x32c)])return void console[bo(0x2da)](a0L[bo(0x42a)](bo(0x261)+(G[bo(0x32c)]-G[bo(0x4e8)])+bo(0x404)));const J=H-G[bo(0x32c)];F[bo(0x45c)]=H,a0Z(F),console[bo(0x2da)](),console[bo(0x2da)](a0L[bo(0x37b)](bo(0x339)+J+bo(0x3ef)+J+'/'+H+'\x20remaining)')),console[bo(0x2da)](a0L[bo(0x42a)](bo(0x3c1))),console[bo(0x2da)]();}),B[bb(0x1ef)](bb(0x4b8))[bb(0x41a)]('Answer\x20question\x20N\x20(A/B/C/D\x20for\x20MCQ,\x20ICOA{flag}\x20for\x20practical)')[bb(0x2ef)](async(F,G)=>{const bp=bb,H=G[bp(0x3f5)]('\x20');a0a8(bp(0x41c)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bp(0x48a));if(!(function(){const bq=bp,Z=a0a1();if(!Z)return!(0x3*-0x62b+-0x2*0x5e3+0x1e47);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bq(0x4d0)](a0[bq(0x397)])[bq(0x2c3)];bq(0x3a2)===a0['session'][bq(0x2ba)]||-0x2*-0x327+0x95*-0xd+0x143===a1?(a0a0(),a0ab(bq(0x317)),a0ac(bq(0x3ad))):(a0aa(bq(0x318)),a0ac(bq(0x283)));}return!(0xa18+-0xcb9*-0x1+-0xa*0x248);}return!(-0x22a8+0x3e*0x6f+0x7c6);}()))return;const K=parseInt(F,0x2244+0x1e47+-0x31*0x151),L=J[bp(0x37c)][bp(0x3cb)](Z=>Z[bp(0x465)]===K);if(!L)return void a0aa(bp(0x238)+F+'\x20not\x20found\x20(1-'+J['questions'][bp(0x2c3)]+').');let Q;if('ai4ctf'===L[bp(0x28c)]||bp(0x458)===L['type']||bp(0x3f6)===L['type']||L[bp(0x1e7)]&&!L['options']['A']&&!L[bp(0x1e7)]['B']){if(Q=H[bp(0x21d)](),/^submit\s+/i[bp(0x499)](Q)&&(Q=Q[bp(0x45a)](/^submit\s+/i,'')[bp(0x21d)]()),Q=Q['replace'](/^["'`]+|["'`]+$/g,'')[bp(0x21d)](),!Q)return void a0aa(bp(0x41b));if(/^[A-Da-d]$/[bp(0x499)](Q))return a0aa('Q'+K+'\x20is\x20a\x20practical\x20question\x20—\x20answer\x20with\x20a\x20flag,\x20not\x20a\x20letter.'),void console[bp(0x2da)](a0L[bp(0x42a)](bp(0x4c4))+a0L[bp(0x37b)](bp(0x41c)+K+bp(0x386)));}else{if(Q=H[bp(0x338)](),!['A','B','C','D'][bp(0x33d)](Q))return void a0aa('Choice\x20must\x20be\x20A,\x20B,\x20C,\x20or\x20D.');}if(bp(0x3a2)===J[bp(0x2e1)][bp(0x2ba)]&&-0x24ec+-0x121*-0x2+0x22ac===K&&0x1074+-0x335*0xb+0x12d3===(R(J)[bp(0x42b)][0x221a+0x78+-0x452*0x8]||0x16d*-0xc+0xc1*-0x7+0x1663))return console['log'](),console[bp(0x2da)](a0L['yellow'](bp(0x4b6))+a0L[bp(0x30a)][bp(0x438)](bp(0x4f8))+a0L['yellow'](bp(0x1f5))),console[bp(0x2da)](a0L[bp(0x42a)]('\x20\x20This\x20question\x20requires\x20you\x20to\x20use\x20help\x20before\x20answering.')),void console['log']();const V=J[bp(0x397)][K];J['interactions']||(J['interactions']=[]),J[bp(0x258)][bp(0x247)]({'ts':new Date()['toISOString'](),'q':K,'type':V?'answer_changed':bp(0x45b),'input':Q,'result':V?bp(0x27b)+V:bp(0x3b0)}),J[bp(0x397)][K]=Q,J[bp(0x47a)]=K,a0Z(J),console[bp(0x2da)](a0L[bp(0x42a)]('\x20\x20\x20\x20✓\x20saved'));const W=J[bp(0x2e1)][bp(0x35e)];if(W&&bp(0x3a2)!==J[bp(0x2e1)]['examId']){const Z=(a0W()[bp(0x3f9)]||bp(0x3b8))+'/api/icoa/exams/'+J[bp(0x2e1)][bp(0x2ba)]+bp(0x327),a0={};a0[bp(0x2d7)]=bp(0x4d4);const a1={};a1['token']=W,a1[bp(0x480)]=K,a1[bp(0x310)]=Q,fetch(Z,{'method':'POST','headers':a0,'body':JSON[bp(0x4c5)](a1),'signal':AbortSignal[bp(0x205)](-0x864*-0x1+0x2*0xf19+-0x130e)})[bp(0x45e)](()=>{});}const X=Object['keys'](J[bp(0x397)])[bp(0x2c3)],Y=J[bp(0x2e1)][bp(0x3f7)];if(a0a9('Q'+K+':\x20'+Q+'\x20✓\x20\x20('+X+'/'+Y+bp(0x292)),bp(0x3a2)===J[bp(0x2e1)]['examId']&&L['answer']){const a2=[bp(0x4c1),bp(0x44e),'On\x20the\x20money.',bp(0x2fc),bp(0x23e)],a3=[bp(0x389),bp(0x32b),bp(0x210)],a4=Q===L[bp(0x310)]?a2:a3,a5=a4[Math['floor'](Math[bp(0x24a)]()*a4['length'])];console['log'](a0L[bp(0x42a)](bp(0x2cb)+a5));}if(K<J[bp(0x37c)][bp(0x2c3)]){const a6=J[bp(0x37c)][K];J[bp(0x47a)]=a6[bp(0x465)],a0Z(J),U(a6,J['answers'][a6[bp(0x465)]]);}else X>=J['questions'][bp(0x2c3)]&&(console[bp(0x2da)](),console[bp(0x2da)](a0L[bp(0x37b)][bp(0x30a)](bp(0x296))),console['log'](),bp(0x3a2)===J[bp(0x2e1)][bp(0x2ba)]?(console[bp(0x2da)](a0L[bp(0x4f0)](bp(0x25c))+a0L[bp(0x30a)][bp(0x2f2)]('exam\x20submit')+a0L[bp(0x4f0)](bp(0x2b5))),console[bp(0x2da)]()):console[bp(0x2da)](a0L[bp(0x4f0)](bp(0x2be))));}),B[bb(0x1ef)](bb(0x4b2))[bb(0x41a)](bb(0x372))[bb(0x2ef)](()=>{const br=bb;a0a8(br(0x36c));const F=a0Y();if(!F)return void a0aa(br(0x3ea));a0ae(br(0x295)+F[br(0x2e1)][br(0x300)]),O(),console[br(0x2da)]();let G='\x20\x20';const H=Array[br(0x2b8)](F[br(0x28b)])?F[br(0x28b)]:[];for(const Q of F['questions']){const V=F['answers'][Q[br(0x465)]],W=H[br(0x33d)](Q['number']),X=W?'★':'\x20';G+=V?W?a0L[br(0x30a)]['yellow']('Q'+String(Q[br(0x465)])['padStart'](0x1822*0x1+-0x375*-0x5+-0x2969)+X+'['+V+']\x20'):a0L[br(0x37b)]('Q'+String(Q[br(0x465)])[br(0x237)](0x32f+-0x1*-0x261a+-0x2947)+'\x20['+V+br(0x2c6)):W?a0L[br(0x30a)]['yellow']('Q'+String(Q[br(0x465)])['padStart'](0xdbd+-0x1a27*-0x1+0xa*-0x3fd)+X+'[\x20]\x20\x20'):a0L[br(0x438)]('Q'+String(Q[br(0x465)])['padStart'](0x1c4a+-0x192e+0x1*-0x31a)+br(0x430)),Q['number']%(-0x143f+0x9c2*-0x2+0x27c9)==-0x2*-0x869+0x25b+0x132d*-0x1&&(console[br(0x2da)](G),G='\x20\x20');}G['trim']()&&console[br(0x2da)](G);const J=Object[br(0x4d0)](F['answers'])[br(0x2c3)],K=F[br(0x2e1)][br(0x3f7)],L=K-J;if(console[br(0x2da)](),a0af(br(0x282),a0L['green']['bold'](J+'/'+K)),L>0x622*0x3+0x2b1*0xd+-0x3563){const Y=F['questions'][br(0x353)](Z=>!F[br(0x397)][Z[br(0x465)]])[br(0x21f)](Z=>Z['number'])[br(0x3f5)](',\x20');a0af(br(0x4d1),a0L[br(0x438)](L+'\x20(Q'+Y+')'));}H[br(0x2c3)]>-0x8*0x1e9+-0x1*0x236a+0x26a*0x15&&a0af(br(0x333),a0L[br(0x30a)]['yellow']('★\x20'+H[br(0x2c3)])+a0L[br(0x42a)]('\x20('+H[br(0x21f)](Z=>'Q'+Z)[br(0x3f5)](',\x20')+')')),console[br(0x2da)](),H[br(0x2c3)]>0x1*-0xe3e+-0x42d+0x5*0x3af&&console[br(0x2da)](a0L['gray'](br(0x48e))+a0L[br(0x4f0)](br(0x356)+H[0x1a83+0x16c9+-0xc53*0x4])),console['log'](a0L[br(0x42a)](br(0x1e6))+a0L['bold'][br(0x2f2)](br(0x38f))+a0L[br(0x42a)](br(0x4f5)));}),B[bb(0x1ef)]('submit\x20[confirmArg]')[bb(0x41a)]('Submit\x20exam\x20for\x20grading\x20(use:\x20\x22exam\x20submit\x20confirm\x22\x20for\x20real\x20exams)')[bb(0x2ef)](async J=>{const bs=bb;a0a8('exam\x20submit\x20'+(J||''));const K=a0Y();if(K&&bs(0x3f2)===J&&(K[bs(0x2dc)]=!(-0x2*0xd74+0x8fe+-0x2*-0x8f5),a0Z(K)),!K)return void a0aa(bs(0x3ea));const L=Object[bs(0x4d0)](K['answers'])[bs(0x2c3)],Q=K[bs(0x2e1)][bs(0x3f7)],V=Q-L;if(-0x95d+0x5*0x9b+0x2*0x32b===L){const X=a0a1(),Y=X&&new Date()>=X;return void(bs(0x3a2)===K[bs(0x2e1)][bs(0x2ba)]||Y?(a0a0(),a0ab(bs(0x46d)),a0ac(bs(0x3ad))):(a0ab(bs(0x3f1)),a0ac(bs(0x30c))));}if(bs(0x3a2)!==K[bs(0x2e1)]['examId']){const Z=!(-0x68f+-0x1d79+0x2408)===K[bs(0x2dc)],a0=a0a1(),a1=!!(a0&&new Date()>=a0);if(!Z&&!a1){if(console['log'](),console[bs(0x2da)](a0L[bs(0x233)](bs(0x452))),console['log'](a0L[bs(0x30a)][bs(0x233)]('\x20\x20⚠\x20\x20FINAL\x20SUBMISSION\x20—\x20please\x20confirm')),console[bs(0x2da)](a0L[bs(0x233)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),console['log'](a0L[bs(0x4f0)](bs(0x46f)+a0L[bs(0x30a)][bs(0x37b)](L+'/'+Q)+bs(0x1fc))),V>0x7b*0x33+-0x1d49+0x264*0x2){const a3=K['questions']['filter'](a4=>!K[bs(0x397)][a4[bs(0x465)]])['map'](a4=>'Q'+a4['number'])['join'](',\x20');console['log'](a0L[bs(0x438)]('\x20\x20'+V+'\x20unanswered:\x20'+a3));}const a2=Array[bs(0x2b8)](K[bs(0x28b)])?K[bs(0x28b)]:[];return a2['length']>-0xa88*-0x1+-0x1e01*0x1+0x1379&&console[bs(0x2da)](a0L[bs(0x438)](bs(0x341)+a2['length']+bs(0x367)+a2[bs(0x21f)](a4=>'Q'+a4)[bs(0x3f5)](',\x20'))),console[bs(0x2da)](),console[bs(0x2da)](a0L['white'](bs(0x3dc))+a0L[bs(0x30a)]['red'](bs(0x3dd))+a0L[bs(0x4f0)](bs(0x3e9))),console[bs(0x2da)](),console[bs(0x2da)](a0L[bs(0x30a)][bs(0x4f0)](bs(0x32e))+a0L[bs(0x30a)][bs(0x2f2)](bs(0x42f))),console['log'](a0L[bs(0x4f0)](bs(0x24e))+a0L[bs(0x2f2)](bs(0x36c))+a0L['gray'](bs(0x1f1))+a0L['cyan'](bs(0x481))),void console[bs(0x2da)]();}Z&&(delete K[bs(0x2dc)],a0Z(K));}if(console[bs(0x2da)](),'demo-free'===K['session'][bs(0x2ba)]){try{N(0x1*0x161e+-0x24bb*0x1+0xe9d,a0ai('grading')),await q(0x65a+0x35a*-0x1+-0x12*0x1a);let a4=-0x1e23+0x1f1e*0x1+-0xfb*0x1;const a5=[],a6={};for(const ai of K['questions']){const aj=ai[bs(0x263)]||bs(0x28d),ak={};ak['correct']=0x0,ak[bs(0x4cf)]=0x0,(a6[aj]||(a6[aj]=ak),a6[aj][bs(0x4cf)]++);const al=K[bs(0x397)][ai[bs(0x465)]];al&&ai[bs(0x310)]&&al===ai[bs(0x310)]?(a4++,a6[aj][bs(0x2b7)]++):a5[bs(0x247)](ai[bs(0x465)]);}a5[bs(0x4e5)]((am,an)=>am-an),N(0x7b*0x29+0x363+0x5*-0x48a,a0ai(bs(0x40d))),console['log']();const a7=new Date(K[bs(0x2e1)][bs(0x3ee)])[bs(0x4c8)](),a8=Math['max'](0x107*0x19+0xd1c+-0x26cb,Math['round']((Date[bs(0x477)]()-a7)/(-0xb*-0x2f5+0x1*0x114d+-0x2dec))),a9=Math['floor'](a8/(-0x26db*0x1+-0x1edc+0x45f3))+'m\x20'+a8%(0x14ba+-0x69a+-0xde4)+'s',aa=[...K[bs(0x37c)]],ab={...K[bs(0x397)]},ac=R(K);a0a0();const ad=Math[bs(0x365)](a4/Q*(0xeed*0x2+-0x20de+0x368)),ae=a0W(),af={};af[bs(0x2d7)]=bs(0x4d4),(fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':bs(0x2ca),'headers':af,'body':JSON[bs(0x4c5)]({'type':bs(0x311),'score':a4,'total':Q,'lang':ae['language']||'en','help_used':ac[bs(0x4e8)],'help_max':ac[bs(0x32c)],'tokens_used':0x0,'solved':ad>=0xc7*0x14+-0x10a1+0x151?-0x347*-0x5+0x25e7+-0x3649:-0xe89+-0x10b*-0xf+-0x11c,'timestamp':new Date()[bs(0x4e1)](),'interactions':K['interactions']||[]}),'signal':AbortSignal['timeout'](0x8b7*0x2+0x25*0xfa+-0x6*0x5ac)})['catch'](()=>{}),console[bs(0x2da)](),console[bs(0x2da)](a0L[bs(0x2f2)](bs(0x34a))),console[bs(0x2da)](),console[bs(0x2da)](a0L['bold'][bs(0x4f0)](bs(0x340))),console[bs(0x2da)](a0L[bs(0x30a)]['white'](bs(0x39c))),console[bs(0x2da)](a0L[bs(0x30a)][bs(0x4f0)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bs(0x2da)](a0L[bs(0x30a)]['white'](bs(0x27e))),console['log'](a0L[bs(0x30a)][bs(0x4f0)](bs(0x4e0))),console[bs(0x2da)](a0L[bs(0x30a)][bs(0x4f0)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bs(0x2da)](),console[bs(0x2da)](a0L['bold'](bs(0x4ac)+a0ai(bs(0x246))+':\x20'+a4+'/'+Q+'\x20('+ad+'%)')),console[bs(0x2da)](a0L[bs(0x30a)](bs(0x4ac)+(ad>=0x268f*-0x1+-0x3*-0x8e7+-0xd*-0xee?a0L[bs(0x37b)](a0ai(bs(0x4bf))):a0L['red'](a0ai(bs(0x37d)))))),console[bs(0x2da)](a0L[bs(0x42a)](bs(0x3a3)+a9)),console[bs(0x2da)](),console['log'](a0L[bs(0x438)]('\x20\x20\x20International\x20Cyber\x20Olympiad\x20in\x20AI\x202026')),console[bs(0x2da)](a0L[bs(0x42a)](bs(0x2a0))),console[bs(0x2da)](),console['log'](a0L[bs(0x2f2)](bs(0x34a))),await q(0x1e2c+-0x1b79+0x905));const ag=Object[bs(0x3e5)](a6);if(ag[bs(0x2c3)]>-0x258e+0x1631+-0xcf*-0x13){console[bs(0x2da)](),console[bs(0x2da)](a0L['bold'][bs(0x4f0)](bs(0x447)));const am=0x9*0x457+0xb*0x23+-0x2886;for(const [an,ao]of ag){const ap=ao[bs(0x4cf)]>-0x983*-0x3+-0x1*0xd5b+0xf2e*-0x1?Math[bs(0x365)](ao['correct']/ao['total']*(-0x19ce+-0x2333+0x3d65)):-0x1*-0xaf0+0x1271*-0x1+0x781*0x1,aq=ao[bs(0x4cf)]>-0x2bd*-0x9+0x4*-0x7ab+0x607?Math[bs(0x365)](ao[bs(0x2b7)]/ao[bs(0x4cf)]*am):0x1846+0x56b*0x1+-0x2b3*0xb,ar=am-aq,as=ap>=0x698*0x2+0x6e8*0x4+-0x30*0xd8?a0L[bs(0x37b)]:ap>=-0x3*-0xa93+0x1eff+-0x3e86?a0L['yellow']:a0L[bs(0x233)],at=as('█'[bs(0x466)](aq))+a0L[bs(0x42a)]('░'['repeat'](ar));console[bs(0x2da)](bs(0x25b)+a0L[bs(0x4f0)](an['padEnd'](-0x5*-0x250+0xe9e+-0x1a1a))+'\x20'+at+'\x20\x20'+as(ao['correct']+'/'+ao[bs(0x4cf)])+a0L[bs(0x42a)]('\x20('+ap+'%)'));}console[bs(0x2da)](),console[bs(0x2da)](a0L[bs(0x2f2)](bs(0x2ce)));}const ah=a0a4(a4,Q);if(a4===ah['best']&&ah[bs(0x260)]>-0x2488+0x2518+0x1*-0x8f&&a4>0xa*0x14e+0x195b+0x1d*-0x153&&(console[bs(0x2da)](),console[bs(0x2da)](a0L[bs(0x30a)]['green']('\x20\x20★\x20New\x20personal\x20best!'))),a5[bs(0x2c3)]>-0x1415+-0x3*0xe9+0x16d0){const au=aa['filter'](av=>a5['includes'](av['number']))[bs(0x21f)](av=>({...av}));a0a5(au);}else a0a7();if(await q(-0x21*0x9f+0x1*0x24f7+0x2*-0x260),a5[bs(0x2c3)]>0x2246+-0xa27+-0x1db*0xd){console[bs(0x2da)](),console[bs(0x2da)](a0L['yellow']('\x20\x20'+a5[bs(0x2c3)]+'\x20'+a0ai('incorrectIntro'))),console[bs(0x2da)]();for(const av of a5){const aw=aa[bs(0x3cb)](az=>az[bs(0x465)]===av);if(!aw)continue;const ax=ab[av],ay=aw[bs(0x310)];console[bs(0x2da)](a0L[bs(0x4f0)](bs(0x281)+av+'.\x20'+aw[bs(0x392)])),ax?console[bs(0x2da)](a0L[bs(0x233)](bs(0x25b)+a0ai('yourAnswer')+':\x20'+ax+'.\x20'+aw[bs(0x1e7)][ax])):console[bs(0x2da)](a0L[bs(0x438)](bs(0x25b)+a0ai('yourAnswer')+bs(0x239))),ay&&console[bs(0x2da)](a0L[bs(0x37b)](bs(0x25b)+a0ai(bs(0x2b7))+':\x20'+ay+'.\x20'+aw[bs(0x1e7)][ay])),aw[bs(0x439)]&&console[bs(0x2da)](a0L[bs(0x42a)](bs(0x2d5)+aw['explanation'])),console[bs(0x2da)]();}}else console[bs(0x2da)](),console[bs(0x2da)](a0L[bs(0x37b)]('\x20\x20'+a0ai('perfectScore')));await q(-0x2200+0x3d*-0x15+0x2ed1),console[bs(0x2da)](),console[bs(0x2da)](a0L['cyan'](bs(0x2ce))),console[bs(0x2da)](a0L[bs(0x4f0)]('\x20\x20'+a0ai(bs(0x4f2))+'\x20')+a0L[bs(0x30a)][bs(0x37b)](bs(0x390))+a0L[bs(0x42a)](bs(0x2f0)+a0ai(bs(0x377)))),console['log'](a0L[bs(0x42a)]('\x20\x20'+a0ai(bs(0x41d)))),console[bs(0x2da)](a0L[bs(0x2f2)](bs(0x2ce))),console[bs(0x2da)]();}catch(az){console['log'](),a0aa(az[bs(0x475)]);}return;}const W=K[bs(0x2e1)]['token'];try{let aA;if(N(0x119f+0x1*-0x14a8+0x309,bs(0x422)),W){const aK={};aK[bs(0x2d7)]=bs(0x4d4);const aL={};aL[bs(0x390)]=0x0,aL[bs(0x458)]=0x0;const aM=a0W()['ctfdUrl']||bs(0x3b8),aN=await fetch(aM+bs(0x321)+K[bs(0x2e1)][bs(0x2ba)]+bs(0x319),{'method':bs(0x2ca),'headers':aK,'body':JSON['stringify']({'token':W,'answers':K[bs(0x397)],'interactions':K[bs(0x258)]||[],'aiUsage':K['aiUsage']||aL,'bookmarks':K[bs(0x28b)]||[]}),'signal':AbortSignal[bs(0x205)](0x31c6*0x1+-0x6e2*0xa+0x4da6)});if(!aN['ok']){const aO=await aN[bs(0x40b)]()[bs(0x45e)](()=>({'message':bs(0x432)}));throw new Error(aO['message']||'Submit\x20failed');}aA=(await aN['json']())[bs(0x2d0)];}else{const aP=M();if(!aP)return;aA=await aP[bs(0x1e5)](K[bs(0x2e1)]['examId'],K[bs(0x397)]);}N(0x147*-0x1a+-0x1eda+0x1*0x4042,bs(0x1ec)),await q(0xc2*0xa+0x1*-0x353+-0x315),N(-0x704*0x3+-0x18fb+0x2e6b,bs(0x343)),console[bs(0x2da)]();const aB={};aB['ai4ctf']=0x0,aB[bs(0x458)]=0x0;const aC={'answered':Object[bs(0x4d0)](K[bs(0x397)])[bs(0x2c3)],'total':K['session'][bs(0x3f7)],'bookmarks':Array[bs(0x2b8)](K['bookmarks'])?K[bs(0x28b)]['length']:0x26c7+0x2a2*-0x1+-0x2425*0x1,'help':R(K),'aiUsage':K['aiUsage']||aB,'interactions':(K[bs(0x258)]||[])[bs(0x2c3)],'durationMin':K['session'][bs(0x47f)]||-0x1*-0x75f+0x24a5+-0x2c04,'confirmedAt':K['session'][bs(0x4e4)]||K[bs(0x2e1)][bs(0x3ee)],'examId':K[bs(0x2e1)][bs(0x2ba)]};a0a0();const aD=Math[bs(0x32c)](-0xa36*0x1+-0x1*0x25d1+-0x99b*-0x5,Math[bs(0x365)]((Date[bs(0x477)]()-new Date(aC['confirmedAt'])[bs(0x4c8)]())/(0x11f3+0x1088+-0x3*0xa31))),aE=Math[bs(0x3ba)](aD/(0x19d*-0xf+0x631*-0x2+0x24d1)),aF=aD%(0x2b7+-0x65*0x47+0x1988*0x1);console[bs(0x2da)](),console['log'](a0L[bs(0x2f2)](bs(0x3c5))),console[bs(0x2da)](),console[bs(0x2da)](a0L[bs(0x30a)][bs(0x4f0)](bs(0x340))),console['log'](a0L[bs(0x30a)][bs(0x4f0)](bs(0x39c))),console[bs(0x2da)](a0L[bs(0x30a)][bs(0x4f0)](bs(0x4d8))),console[bs(0x2da)](a0L[bs(0x30a)][bs(0x4f0)](bs(0x27e))),console['log'](a0L['bold'][bs(0x4f0)](bs(0x4e0))),console[bs(0x2da)](a0L['bold']['white'](bs(0x2a8))),console[bs(0x2da)]();const aG=aA[bs(0x4bf)]?a0L[bs(0x37b)][bs(0x30a)](bs(0x29a)):a0L[bs(0x438)][bs(0x30a)](bs(0x470));console[bs(0x2da)](aG),console[bs(0x2da)](),console[bs(0x2da)](a0L['white'](bs(0x1ff))),console[bs(0x2da)](a0L[bs(0x4f0)]('\x20\x20\x20exam\x20center.\x20Final\x20scoring\x20and\x20selection\x20are\x20decided\x20by')),console[bs(0x2da)](a0L[bs(0x4f0)](bs(0x2ee))),console[bs(0x2da)](),console[bs(0x2da)](a0L[bs(0x2f2)](bs(0x2ce))),console[bs(0x2da)](),console[bs(0x2da)](a0L[bs(0x30a)]['white']('\x20\x20Your\x20run'));const aH=aC['total']-aC['answered'];console[bs(0x2da)](bs(0x25b)+a0L[bs(0x42a)]('Answered:\x20\x20')+a0L['white'](aC[bs(0x43b)]+'/'+aC[bs(0x4cf)])+(aH>-0xaaf*-0x1+0x25ed+-0x1034*0x3?a0L[bs(0x42a)](bs(0x33c)+aH+'\x20skipped'):'')),console['log'](bs(0x25b)+a0L['gray'](bs(0x3d2))+a0L[bs(0x4f0)](aE+'m\x20'+aF+'s')+a0L['gray'](bs(0x444)+aC['durationMin']+bs(0x3ff))),aC[bs(0x28b)]>0x2115+0x18b3*-0x1+-0x862&&console[bs(0x2da)](bs(0x25b)+a0L[bs(0x42a)]('Flagged:\x20\x20\x20')+a0L[bs(0x438)]('★\x20'+aC[bs(0x28b)])),console[bs(0x2da)]();const aI=aA[bs(0x225)];if(aI&&Object[bs(0x4d0)](aI)[bs(0x2c3)]>=0x6e8+0x2554+-0x9*0x4ea){const aQ=Object[bs(0x3e5)](aI)[bs(0x353)](([,aV])=>aV[bs(0x4cf)]>0xa27*-0x1+-0x7*0x2d1+-0xeef*-0x2)[bs(0x21f)](([aV,aW])=>({'cat':aV,'pct':aW[bs(0x2b7)]/aW[bs(0x4cf)]}))[bs(0x4e5)]((aV,aW)=>aW[bs(0x399)]-aV['pct']),aR=Math['min'](-0x65*0x15+-0x426*-0x1+-0x1*-0x425,Math[bs(0x4a9)](aQ[bs(0x2c3)]/(0x3*-0xa7b+-0x2333+0x42a7))),aS=Math['min'](-0xa27+0x5c9*0x5+-0x12c4,Math[bs(0x4a9)](aQ[bs(0x2c3)]/(0x1*0x14d1+-0xb9c+-0x932))),aT=aQ[bs(0x2db)](0xe2d*0x2+0x1*-0x6ad+-0x15ad*0x1,aR)[bs(0x21f)](aV=>aV[bs(0x3b2)]),aU=aQ['slice'](-aS)['map'](aV=>aV[bs(0x3b2)]);aT['some'](aV=>aU[bs(0x33d)](aV))||(console['log'](a0L['bold'][bs(0x4f0)](bs(0x26d))),console[bs(0x2da)](bs(0x25b)+a0L['green'](bs(0x395))+a0L['white'](aT[bs(0x3f5)](',\x20'))),console['log']('\x20\x20\x20\x20'+a0L[bs(0x438)](bs(0x20b))+a0L['white'](aU[bs(0x3f5)](',\x20'))),console[bs(0x2da)](a0L[bs(0x42a)]('\x20\x20\x20\x20(relative\x20to\x20other\x20categories\x20—\x20numeric\x20scores\x20go\x20to\x20your\x20exam\x20center)')),console['log']());}console[bs(0x2da)](a0L[bs(0x30a)][bs(0x4f0)](bs(0x4cb))),console[bs(0x2da)](bs(0x25b)+a0L[bs(0x42a)]('Help:\x20\x20\x20\x20\x20\x20')+a0L['white'](aC[bs(0x4f8)][bs(0x4e8)]+'/'+aC[bs(0x4f8)][bs(0x32c)])),console[bs(0x2da)](bs(0x25b)+a0L[bs(0x42a)]('AI\x20tokens:\x20')+a0L[bs(0x4f0)](aC[bs(0x309)][bs(0x390)]+bs(0x3bf))+a0L[bs(0x42a)](bs(0x33c))+a0L[bs(0x4f0)](aC[bs(0x309)][bs(0x458)]+bs(0x35f))),console['log'](),console[bs(0x2da)](a0L[bs(0x2f2)]('\x20\x20─────────────────────────────────────────────')),console[bs(0x2da)](),console['log'](a0L[bs(0x30a)][bs(0x4f0)]('\x20\x20What\x20next')),console[bs(0x2da)](a0L[bs(0x42a)](bs(0x21b))),console[bs(0x2da)](a0L[bs(0x42a)]('\x20\x20·\x20Keep\x20sharpening:\x20')+a0L['white'](bs(0x29c))+a0L[bs(0x42a)](bs(0x3b4))),console[bs(0x2da)](a0L[bs(0x42a)](bs(0x46a))+a0L[bs(0x4f0)](bs(0x1f6))),console[bs(0x2da)]();const {showCToBUpgradePrompt:aJ}=await import(bs(0x3d9));aJ(aC[bs(0x2ba)],aA[bs(0x4bf)]),console['log'](a0L[bs(0x438)](bs(0x3d0))),console[bs(0x2da)](a0L['cyan'][bs(0x27d)](bs(0x4c7))),console[bs(0x2da)](),console['log'](a0L[bs(0x2f2)](bs(0x3c5))),console[bs(0x2da)]();}catch(aV){console['log'](),a0aa(aV[bs(0x475)]);}}),B[bb(0x1ef)](bb(0x27f))[bb(0x41a)]('View\x20exam\x20result')[bb(0x2ef)](async F=>{const bt=bb;a0a8(bt(0x31f)+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa(bt(0x287));F=J[bt(0x2e1)][bt(0x2ba)];}const H=a0ag('Loading\x20result...');H[bt(0x4b4)]();try{const K=await G[bt(0x324)](F);H[bt(0x354)](bt(0x415)),console[bt(0x2da)](),a0ae(K[bt(0x300)]),a0af('Score',a0L[bt(0x30a)](K[bt(0x246)]+'/'+K[bt(0x4cf)])),a0af(bt(0x297),a0L['bold'](K[bt(0x349)]+'%')),a0af(bt(0x2d9),K[bt(0x4bf)]?a0L[bt(0x37b)][bt(0x30a)](bt(0x388)):a0L[bt(0x233)][bt(0x30a)](bt(0x221))),a0af('Submitted',K[bt(0x4d2)]),console[bt(0x2da)]();}catch(L){H[bt(0x33f)](bt(0x484)),a0aa(L[bt(0x475)]);}}),B[bb(0x1ef)](bb(0x2b9))['description'](bb(0x206))[bb(0x2ef)](async J=>{const bu=bb;a0a8('exam\x20token\x20'+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bu(0x28a)),V=K();if(V){const a2=V[bu(0x2e1)]['token'],a3=a0a1(),a4=!!a2&&a2[bu(0x21d)]()[bu(0x338)]()!==J[bu(0x21d)]()[bu(0x338)](),a5=!!a3&&a3['getTime']()+(0xb*0x4e722+-0x359732+0x6c7ff*0x4)<Date[bu(0x477)]();if(a4&&a5)return Q(),console['log'](),console[bu(0x2da)](a0L['gray'](bu(0x369))),console[bu(0x2da)](),console[bu(0x2da)](a0L['white'](bu(0x2a9))+a0L[bu(0x30a)][bu(0x2f2)](bu(0x2d6)+J)),void console[bu(0x2da)]();if(!a2&&J)return V[bu(0x2e1)][bu(0x35e)]=J[bu(0x21d)](),L(V),console[bu(0x2da)](),console[bu(0x2da)](a0L[bu(0x37b)](bu(0x213))),console[bu(0x2da)](a0L[bu(0x42a)](bu(0x2f5))+a0L[bu(0x4f0)](bu(0x4d6))+a0L['gray'](bu(0x401))+a0L[bu(0x4f0)](bu(0x38f))),console[bu(0x2da)](),console[bu(0x2da)](a0L['bold'][bu(0x4f0)]('\x20\x20Continue\x20this\x20exam:')),console['log'](a0L[bu(0x42a)](bu(0x2d5))+a0L[bu(0x30a)][bu(0x2f2)]('exam\x20q\x201')+a0L[bu(0x42a)](bu(0x286))),console[bu(0x2da)](a0L[bu(0x42a)](bu(0x2d5))+a0L[bu(0x30a)]['cyan']('exam\x20review')+a0L[bu(0x42a)]('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),void console[bu(0x2da)]();const a6=Object[bu(0x4d0)](V[bu(0x397)])[bu(0x2c3)],a7=V['session'][bu(0x3f7)],a8=a0a1(),a9=a8?Math['max'](-0xfa9+0x5f7+0x9b2,Math[bu(0x365)]((a8['getTime']()-Date[bu(0x477)]())/(-0xbc1e*0x2+0xa5f4+0x1bca8))):null;return console[bu(0x2da)](),console[bu(0x2da)](a0L[bu(0x438)](bu(0x214))),console['log'](),console[bu(0x2da)](a0L[bu(0x42a)](bu(0x32d))+a0L[bu(0x4f0)](V[bu(0x2e1)]['examName'])),a2&&console[bu(0x2da)](a0L[bu(0x42a)](bu(0x488))+a0L[bu(0x4f0)](a2)+(a2===J?a0L[bu(0x37b)](bu(0x322)):a0L[bu(0x438)]('\x20\x20(different\x20from\x20the\x20one\x20you\x20typed)'))),console[bu(0x2da)](a0L['gray'](bu(0x217))+a0L[bu(0x4f0)](a6+'/'+a7)),null!==a9&&console[bu(0x2da)](a0L[bu(0x42a)](bu(0x2e0))+a0L[bu(0x4f0)](a9+bu(0x3ae))),console['log'](),console['log'](a0L[bu(0x30a)][bu(0x4f0)](bu(0x227))),console[bu(0x2da)](a0L[bu(0x42a)](bu(0x2d5))+a0L[bu(0x30a)][bu(0x2f2)](bu(0x208))+a0L['gray']('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console['log'](a0L[bu(0x42a)](bu(0x2d5))+a0L['bold'][bu(0x2f2)](bu(0x36c))+a0L[bu(0x42a)](bu(0x43f))),console[bu(0x2da)](a0L[bu(0x42a)](bu(0x2d5))+a0L['bold'][bu(0x2f2)](bu(0x38f))+a0L['gray'](bu(0x41f))),a2&&a2!==J&&(console[bu(0x2da)](),console[bu(0x2da)](a0L[bu(0x438)](bu(0x409))),console[bu(0x2da)](a0L[bu(0x438)](bu(0x2ff))),console['log'](),console[bu(0x2da)](a0L['gray']('\x20\x20If\x20you\x20need\x20to\x20abandon\x20this\x20session\x20(e.g.\x20expired\x20/\x20wrong\x20paper),')),console['log'](a0L[bu(0x42a)](bu(0x4d5))+a0L[bu(0x30a)][bu(0x2f2)](bu(0x2b1))+a0L[bu(0x42a)]('\x20to\x20wipe\x20local\x20state,\x20then\x20re-enter\x20the\x20new\x20token.'))),void console[bu(0x2da)]();}const {isNativeWindowsCmd:W}=await import('../lib/platform.js');if(!W()&&!a0am()){let aa=!(-0x1*0x1fb5+-0x1b56+0x3b0c);try{const ab={};ab['Content-Type']=bu(0x4d4);const ac=a0W()['ctfdUrl']||'https://practice.icoa2026.au',ad=await fetch(ac+bu(0x298),{'method':bu(0x2ca),'headers':ab,'body':JSON[bu(0x4c5)]({'token':J[bu(0x21d)](),'deviceHash':a0aj(),'peek':!(-0x251+0x224+0xf*0x3)}),'signal':AbortSignal[bu(0x205)](0x1c6*-0xc+0x1a85+0xe4b)});if(ad['ok']){const ae=await ad[bu(0x40b)]();(ae?.[bu(0x2d0)]?.['exam_id']||'')['endsWith']('-c')&&(aa=!(-0xf3b+0x18d*-0xa+0x81*0x3d));}}catch{}if(!aa)return console['log'](),a0ab(bu(0x332)),console[bu(0x2da)](a0L[bu(0x42a)](bu(0x474))+a0L['bold'][bu(0x2f2)](bu(0x2f1))),console[bu(0x2da)](a0L['gray'](bu(0x1f2))+a0L[bu(0x30a)][bu(0x2f2)](bu(0x481))+a0L['gray']('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console[bu(0x2da)](a0L[bu(0x42a)]('\x20\x20(Paper\x20C\x20tokens\x20skip\x20this\x20gate\x20—\x20Paper\x20C\x20is\x20MCQ-only)')),void console['log']();}const X={};X['UA']='uk',X['PE']='es',X['CN']='zh',X['AU']='en',X['JP']='ja',X['KR']='ko',X['BR']='pt',X['SA']='ar',X['FR']='fr',X['DE']='de',X['IN']='hi',X['ID']='id',X['TH']='th',X['VN']='vi',X['TR']='tr',X['RU']='ru',X['EG']='ar',X['HT']='ht',X['PH']='en',X['MY']='en',X['MM']='en',X['SG']='en',X['ZA']='en',X['KE']='sw',X['TZ']='sw',X['MO']='zh',X['UZ']='uz',X['GH']='en',X['LA']='lo',X['BD']='bn',X['BI']='fr',X['US']='en',X['UK']='en',X['NZ']='en',X['LK']='si';const Y=X[J['trim']()['substring'](-0x2195+0x1a*0x43+-0x1c9*-0xf,0x1f2a+0x143*-0x8+-0x1510)[bu(0x338)]()],Z=a0W(),a0=Z[bu(0x3f9)]||bu(0x3b8),a1=Y||Z[bu(0x380)]||'en';Y&&Y!==(Z['language']||'en')&&a0X({'language':Y}),console['log'](),N(0x2*-0x155+0x1dff+0x1*-0x1b55,'Validating\x20token...');try{const af={};af[bu(0x2d7)]='application/json';const ag=await fetch(a0+bu(0x298),{'method':'POST','headers':af,'body':JSON[bu(0x4c5)]({'token':J[bu(0x21d)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bu(0x205)](0x203e+-0x297+0x969)});if(!ag['ok']){N(0x7*0x212+-0x1*-0x2084+-0x223*0x16,''),console['log']();const ao=await ag['json']()[bu(0x45e)](()=>({'message':bu(0x4c2)}));return a0aa(ao[bu(0x475)]||bu(0x323)),void a0ac(bu(0x4ad));}N(-0xfbe+0x1*-0x14a9+0x2485,bu(0x454));const ah=await ag[bu(0x40b)](),{session:ai,questions:aj,languages:ak}=ah[bu(0x2d0)];N(0x662+-0x12bd+0xc97,bu(0x429)),await q(-0x1f13+0x1c04+0x3d7),N(0x171*-0x13+0x149b*-0x1+0x16*0x233,'Ready!'),console['log'](),console[bu(0x2da)](),a0ae(ai[bu(0x300)]),console[bu(0x2da)](),a0af(bu(0x29b),ai['questionCount']+'\x20(30\x20MCQ\x20+\x2010\x20practical)'),a0af(bu(0x25a),ai[bu(0x47f)]+bu(0x437)),a0af(bu(0x2f4),(ai[bu(0x4be)]||0x17*0x139+0x17c2+-0x9*0x5b3)+bu(0x3ed)),a0af('Pass',(ai[bu(0x337)]||0x409+-0x4*0x8ad+0x1ef6)+'\x20points\x20(50%)'),console[bu(0x2da)](),console['log'](a0L[bu(0x4f0)](bu(0x31d))),console[bu(0x2da)](a0L[bu(0x4f0)](bu(0x49a))),console[bu(0x2da)](a0L['white'](bu(0x3fa))),console[bu(0x2da)](a0L[bu(0x4f0)](bu(0x234))),ak&&ak['length']>-0x26*0x9e+0x570+0x1205&&console[bu(0x2da)](a0L[bu(0x4f0)](bu(0x4cc)+ak[bu(0x3f5)](',\x20')+bu(0x274))),console[bu(0x2da)](),console[bu(0x2da)](a0L['yellow'](bu(0x36f))),console['log'](a0L['white'](bu(0x4a4))),console[bu(0x2da)](a0L[bu(0x4f0)](bu(0x428))),console[bu(0x2da)](a0L['white'](bu(0x487))),console['log'](),await new Promise(ap=>{const bv=bu;process[bv(0x448)][bv(0x3f3)](a0L[bv(0x30a)][bv(0x438)]('\x20\x20Press\x20Enter\x20to\x20start\x20the\x20exam\x20timer...\x20'));const aq=!!process[bv(0x441)][bv(0x31c)]&&process[bv(0x441)][bv(0x4a2)];process[bv(0x441)][bv(0x31c)]&&process[bv(0x441)][bv(0x38a)]&&process[bv(0x441)][bv(0x38a)](!(-0x10dd+0xe2*0x15+-0x1ac));const ar=as=>{const bw=bv,at=as[bw(0x222)]();(at[bw(0x33d)]('\x0a')||at[bw(0x33d)]('\x0d'))&&(process[bw(0x441)]['removeListener']('data',ar),process[bw(0x441)][bw(0x31c)]&&process['stdin']['setRawMode']&&process[bw(0x441)]['setRawMode'](aq),process[bw(0x448)][bw(0x3f3)]('\x0a'),ap());};process[bv(0x441)]['on'](bv(0x2d0),ar),process[bv(0x441)][bv(0x31b)]();});const al=new Date()[bu(0x4e1)]();ai[bu(0x4e4)]=al,ai[bu(0x35e)]=J['trim']();try{const ap=Date[bu(0x477)](),aq=await fetch(a0+bu(0x342),{'method':bu(0x273),'signal':AbortSignal['timeout'](0x1cb0+0x1fd2+-0x30ca)});if(aq['ok']){const ar=await aq[bu(0x40b)](),as=ar?.[bu(0x2d0)]?.[bu(0x37a)];if(bu(0x465)==typeof as&&as>-0x197c+0x1*-0x219e+0x3b1a){const at=(ap+Date[bu(0x477)]())/(-0x1*-0xf01+0x22ae+-0x31ad);ai[bu(0x2a3)]=Math['round'](as-at),ai[bu(0x251)]=as+(0x1112+0x134d+-0x2423)*ai[bu(0x47f)]*(0x8f3*-0x3+0x7*-0xd5+0x2494*0x1);}}}catch{}const am={};am['ai4ctf']=0x0,am['ctf4ai']=0x0;const an={};an[bu(0x2e1)]=ai,an[bu(0x37c)]=aj,an['answers']={},an[bu(0x258)]=[],an['aiUsage']=am,(a0Z(an),console[bu(0x2da)](),a0a9(bu(0x2df)),a0af(bu(0x350),ai[bu(0x47f)]+':00'),aj[bu(0x2c3)]>-0x14e6+0xfe0+0x506&&U(aj[-0x1*-0xb17+-0xc*0x1e9+0xbd5]));}catch(au){console[bu(0x2da)](),bu(0x34e)===au['name']?a0aa(bu(0x3f0)):a0aa(au[bu(0x475)]||bu(0x328));}}),B[bb(0x1ef)]('reset',{'hidden':!(-0xf5b*-0x1+-0xcb*-0x22+0xe1b*-0x3)})[bb(0x41a)](bb(0x3cd))[bb(0x2ef)](async()=>{const bx=bb;a0a8(bx(0x2b1));const {getRealExamState:F,clearExamState:G}=await import(bx(0x28a)),H=F();if(!H)return console[bx(0x2da)](),console[bx(0x2da)](a0L[bx(0x42a)](bx(0x3de))),void console['log']();const J=H[bx(0x2e1)]['token'];if(console[bx(0x2da)](),console[bx(0x2da)](a0L[bx(0x438)](bx(0x3c9))),console[bx(0x2da)](a0L[bx(0x42a)](bx(0x4ab))+a0L[bx(0x4f0)](H[bx(0x2e1)]['examName'])),J&&console[bx(0x2da)](a0L[bx(0x42a)]('\x20\x20\x20\x20\x20Token:\x20')+a0L[bx(0x4f0)](J)),console['log'](a0L[bx(0x42a)](bx(0x36d))),console[bx(0x2da)](a0L[bx(0x42a)](bx(0x269))),console[bx(0x2da)](),console[bx(0x2da)](a0L[bx(0x42a)](bx(0x25c))+a0L[bx(0x30a)][bx(0x2f2)](bx(0x223))+a0L[bx(0x42a)](bx(0x33a))),bx(0x223)!==(await new Promise(K=>{const by=bx;process['stdout'][by(0x3f3)](by(0x1f4));const L=Q=>{const bz=by,V=Q[bz(0x222)]()[bz(0x21d)]();(V[bz(0x33d)]('\x0a')||V[bz(0x33d)]('\x0d')||V[bz(0x2c3)]>0x1*-0x1fae+-0xd36+0x34*0xdd)&&(process['stdin'][bz(0x424)](bz(0x2d0),L),K(V[bz(0x45a)](/[\r\n]/g,'')));};process[by(0x441)]['on'](by(0x2d0),L),process['stdin'][by(0x31b)]();}))[bx(0x2a5)]())return console['log'](a0L[bx(0x42a)]('\x20\x20Cancelled.')),void console[bx(0x2da)]();G(),console[bx(0x2da)](),console[bx(0x2da)](a0L[bx(0x37b)](bx(0x20e))),console[bx(0x2da)](a0L[bx(0x42a)](bx(0x236))+a0L['bold'][bx(0x2f2)](bx(0x43d))),console[bx(0x2da)]();}),B[bb(0x1ef)]('demo')[bb(0x41a)](bb(0x44d))[bb(0x2ef)](async()=>{const bA=bb;a0a8(bA(0x23c)),E('demo-enter');const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import(bA(0x457));a0W()['demoIntroSeen']||(await(async function(){const bB=bA;let a0=!(0x1a34+-0xfaa+-0xa89);const a1=process[bB(0x441)],a2=()=>{a0=!(-0x15cd+0x270e+-0x1141*0x1);},a3=a1[bB(0x31c)]&&'function'==typeof a1[bB(0x38a)];a3&&(a1[bB(0x38a)](!(0x18b1*-0x1+0x73a+0x1177)),a1[bB(0x31b)](),a1['once'](bB(0x2d0),a2));const a4=async a5=>{let a6=-0x10ec+-0x7*-0x63+0x4bd*0x3;for(;a6<a5&&!a0;)await q(-0x22*0xf2+-0x53*0x6f+0x9c7*0x7),a6+=0x1fb9+-0xf1a+0x1*-0x104f;};try{if(console[bB(0x4a7)](),console[bB(0x2da)](),console[bB(0x2da)](a0L[bB(0x42a)](bB(0x4ac))+a0L[bB(0x379)](bB(0x49b))),console[bB(0x2da)](),console[bB(0x2da)](a0L['bold']['white']('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bB(0x2da)](a0L[bB(0x30a)][bB(0x4f0)](bB(0x39c))),console['log'](a0L[bB(0x30a)][bB(0x4f0)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bB(0x2da)](a0L[bB(0x30a)][bB(0x4f0)](bB(0x27e))),console[bB(0x2da)](a0L['bold'][bB(0x4f0)](bB(0x4e0))),console[bB(0x2da)](a0L['bold'][bB(0x4f0)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bB(0x2da)](),console[bB(0x2da)](a0L[bB(0x30a)][bB(0x438)](bB(0x280))),console[bB(0x2da)](a0L[bB(0x42a)](bB(0x38d))),await a4(0x2043+0x2351*0x1+-0x39d0),a0)return;if(console[bB(0x2da)](),console[bB(0x2da)](a0L[bB(0x4f0)](bB(0x4e9))),console[bB(0x2da)](),await a4(0x14ad*-0x1+0x593+0x27e*0x7),a0)return;if(console[bB(0x2da)](a0L[bB(0x2f2)](bB(0x2ed))+a0L[bB(0x4f0)]('Answer\x2010\x20quick\x20questions')+a0L[bB(0x42a)](bB(0x49d))),await a4(0x1272*-0x1+0x1f52+-0xa24),a0)return;if(console['log'](a0L[bB(0x37b)](bB(0x2ed))+a0L[bB(0x4f0)]('Team\x20up\x20with\x20AI\x20to\x20solve\x20CTFs')+a0L[bB(0x42a)](bB(0x3df))),await a4(0x2*-0x1cf+-0x10c5+0x171f),a0)return;if(console[bB(0x2da)](a0L[bB(0x233)](bB(0x2ed))+a0L['white']('Hack\x20the\x20AI\x27s\x20guardrails')+a0L['gray'](bB(0x4f3))),await a4(-0x6*-0x2cd+0xa*-0x2bd+0xe18),a0)return;if(console[bB(0x2da)](),console[bB(0x2da)](a0L['bold']['white'](bB(0x3a5))+a0L['bold'][bB(0x438)]('IS')+a0L[bB(0x30a)][bB(0x4f0)]('\x20the\x20competition.')),console[bB(0x2da)](),await a4(-0x1f15+0x2267+0xa*0x41),a0)return;if(console[bB(0x2da)](a0L['gray']('\x20\x20\x20·\x20110\x20CTF\x20tools\x20pre-configured')),await a4(0x6*-0xf9+0x28*-0x6d+0xc37*0x2),a0)return;if(console[bB(0x2da)](a0L[bB(0x42a)]('\x20\x20\x20·\x2015\x20languages,\x20real-time\x20AI\x20translation')),await a4(-0x1*0x1af3+0x149f+-0x194*-0x5),a0)return;if(console['log'](a0L[bB(0x42a)](bB(0x400))),await a4(-0x5b6*-0x3+-0x5cf+-0x1*0x833),a0)return;console['log'](),console['log'](a0L[bB(0x30a)][bB(0x2f2)](bB(0x249))),await a4(-0x1*-0x1807+0xf*0x277+0x16b0*-0x2);}finally{((()=>{const bC=bB;if(a3){a1[bC(0x424)](bC(0x2d0),a2);try{a1['setRawMode'](!(0xf19+0xb*0x2e7+-0x2f05));}catch{}a1[bC(0x446)]();}})()),console[bB(0x4a7)]();}}()),a0X({'demoIntroSeen':!(-0x1355+0xa27+0x92e)})),console[bA(0x2da)](),console['log'](a0L[bA(0x4f0)]('\x20\x20Demo:\x20')+a0L[bA(0x42a)](H+'\x20questions\x20drawn\x20from\x20a\x20pool\x20of\x20'+J+bA(0x445))),console['log'](a0L['gray'](bA(0x31e))+a0L[bA(0x2f2)]('Ctrl+C')+a0L[bA(0x42a)](bA(0x363))+a0L['cyan'](bA(0x481))+a0L['gray'](bA(0x2ea))),await new Promise(a0=>{const bD=bA;process[bD(0x448)]['write'](a0L[bD(0x30a)]['yellow']('\x20\x20Press\x20Enter\x20to\x20begin...\x20'));const a1=!!process['stdin']['isTTY']&&process[bD(0x441)][bD(0x4a2)];process['stdin'][bD(0x31c)]&&process['stdin'][bD(0x38a)]&&process[bD(0x441)][bD(0x38a)](!(0x2381+-0x25b7+-0x7*-0x51));const a2=a3=>{const bE=bD,a4=a3[bE(0x222)]();(a4[bE(0x33d)]('\x0a')||a4['includes']('\x0d'))&&(process[bE(0x441)]['removeListener'](bE(0x2d0),a2),process[bE(0x441)][bE(0x31c)]&&process['stdin'][bE(0x38a)]&&process[bE(0x441)][bE(0x38a)](a1),process[bE(0x448)][bE(0x3f3)]('\x0a'),a0());};process['stdin']['on'](bD(0x2d0),a2),process[bD(0x441)][bD(0x31b)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bA(0x28a));Q()&&V(bA(0x3a2)),console[bA(0x2da)](),a0ae(bA(0x3ab)),console['log'](),console[bA(0x2da)](a0L[bA(0x4f0)](bA(0x425))),console[bA(0x2da)](a0L['white']('\x20\x20'+H+bA(0x262)+J+bA(0x494)));const W=a0a3();if(W[bA(0x260)]>-0x1*0xb53+0x4*0x29b+0x4d*0x3){const a0=W[bA(0x30e)],a1=a0>=0x1*-0x1da5+0x1e22+-0x2d?a0L[bA(0x37b)]:a0>=-0x1*-0x215b+-0xbc3+-0x155c?a0L[bA(0x438)]:a0L[bA(0x4f0)];console[bA(0x2da)](),console['log'](a0L[bA(0x42a)]('\x20\x20Your\x20best:\x20')+a1(W[bA(0x47c)]+'/'+H+'\x20('+a0+'%)')+a0L[bA(0x42a)]('\x20\x20·\x20\x20'+W[bA(0x260)]+bA(0x48c)));}console[bA(0x2da)](),console[bA(0x2da)](a0L['gray'](bA(0x418))),console[bA(0x2da)](a0L['white']('\x20\x20'+a0ai(bA(0x345)))),console[bA(0x2da)](a0L[bA(0x438)](bA(0x368))+a0L[bA(0x42a)](bA(0x36e)+a0ai(bA(0x497)))),console[bA(0x2da)](a0L['yellow'](bA(0x3d1))+a0L[bA(0x42a)](bA(0x230)+a0ai('htpHelp'))),console[bA(0x2da)](a0L[bA(0x438)](bA(0x21e))+a0L['gray'](bA(0x2d2))+a0L[bA(0x438)](bA(0x304))+a0L[bA(0x42a)](bA(0x25b)+a0ai(bA(0x24c)))),console[bA(0x2da)](a0L[bA(0x438)](bA(0x3ec))+a0L[bA(0x42a)](bA(0x3a7)+a0ai(bA(0x4ce)))),console[bA(0x2da)](a0L[bA(0x438)](bA(0x1f3))+a0L['gray'](bA(0x230)+a0ai(bA(0x4ed)))),console[bA(0x2da)](a0L[bA(0x438)](bA(0x431))+a0L['gray'](bA(0x230)+a0ai(bA(0x2af)))),console[bA(0x2da)](a0L[bA(0x42a)](bA(0x351))),console[bA(0x2da)](a0L[bA(0x42a)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ru\x20·\x20hi\x20·\x20de\x20·\x20id\x20·\x20th\x20·\x20vi\x20·\x20tr')),console['log'](a0L['gray'](bA(0x418))),console[bA(0x2da)]();const {getConfig:X}=await import(bA(0x443)),Y=X()[bA(0x380)]||'en';'en'===Y?(console[bA(0x2da)](a0L[bA(0x42a)]('\x20\x20Questions\x20in\x20English.\x20To\x20switch\x20language\x20first:')),console['log'](a0L[bA(0x42a)]('\x20\x20lang\x20es\x20(Español)\x20·\x20lang\x20zh\x20(中文)\x20·\x20lang\x20ko\x20(한국어)\x20·\x20lang\x20ja\x20(日本語)')),console[bA(0x2da)](a0L[bA(0x42a)](bA(0x302)))):console['log'](a0L[bA(0x37b)]('\x20\x20Language:\x20'+Y)),console['log'](),console['log'](a0L[bA(0x4f0)](bA(0x21c)));const Z={...L,'startedAt':new Date()['toISOString']()};console[bA(0x2da)](),N(-0xc0a+-0x1627+-0x1*-0x2231,bA(0x427)),await q(0x4c2+0x266*0x4+-0xd92),N(-0x1f40+0x1303+0xc65*0x1,bA(0x24b)),await q(0xb53*0x3+-0xeda+-0x1257),N(0x1*0x27f+-0x5a0*0x3+0xeb1*0x1,bA(0x335)),await q(-0x2380+-0x1*-0x48a+-0xfc6*-0x2),N(-0xb2a*-0x2+0x3a*-0x57+-0x39*0xa,'Ready!'),console[bA(0x2da)](),console[bA(0x2da)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af(bA(0x29b),String(H)),a0af(bA(0x25a),bA(0x456)),U(K[0xc8d+0x15*-0x9d+-0xc*-0x7]);}),B[bb(0x1ef)]('demo-retry')[bb(0x41a)](bb(0x383))['action'](async()=>{const bF=bb;a0a8(bF(0x4b7)),E(bF(0x34f));const {getLocalizedDemoSession:F}=await import(bF(0x457)),G=a0a6();if(!G||-0x2*0x1093+0x2*0x1132+-0x2*0x9f===G['length'])return console[bF(0x2da)](),console[bF(0x2da)](a0L[bF(0x438)]('\x20\x20No\x20wrong\x20questions\x20to\x20retry.\x20Run\x20')+a0L['bold'][bF(0x2f2)](bF(0x29c))+a0L[bF(0x438)](bF(0x49f))),void console[bF(0x2da)]();const H=a0Y();if(H){if(bF(0x3a2)!==H['session'][bF(0x2ba)])return a0ab(bF(0x3fe)+H[bF(0x2e1)][bF(0x300)]+bF(0x38c)),void a0ac(bF(0x325));a0a0();}const J=V=>{const bG=bF;if(!V[bG(0x310)])return V;const W=V[bG(0x1e7)][V[bG(0x310)]],X=['A','B','C','D'][bG(0x21f)](a2=>V['options'][a2]);for(let a2=X['length']-(-0x158a+-0x1*0x1379+0xaf*0x3c);a2>0x859+0x7*0x203+-0x166e;a2--){const a3=Math[bG(0x3ba)](Math['random']()*(a2+(-0x7b6+0x1*0x33b+0x11f*0x4)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[-0x11ce+-0x1b4f+-0x1*-0x2d1d],Y['B']=X[-0xa*-0x15d+-0x523*-0x1+-0x12c4],Y['C']=X[0x1291*0x2+-0x24f2+-0x2*0x17],Y['D']=X[-0xa3*-0x3b+0xd*0x2a7+-0x2ab*0x1b];const Z=Y,a0=['A','B','C','D'][bG(0x3cb)](a4=>Z[a4]===W),a1={...V};return a1[bG(0x1e7)]=Z,a1[bG(0x310)]=a0,a1;},K=G[bF(0x21f)]((V,W)=>({...J(V),'number':W+(0x1fdc+0x372+-0x234d)})),L=F(),Q={...L,'examName':L['examName']+bF(0x3a1),'questionCount':K['length'],'startedAt':new Date()['toISOString']()};console['log'](),a0ae(bF(0x2a2)),console[bF(0x2da)](),console[bF(0x2da)](a0L[bF(0x4f0)]('\x20\x20Practicing\x20'+K[bF(0x2c3)]+bF(0x493)+(0x2a*0xa8+-0x12d*-0x1+-0x1cbc===K[bF(0x2c3)]?'':'s')+bF(0x2b3))),console[bF(0x2da)](a0L[bF(0x42a)](bF(0x492))),console[bF(0x2da)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af('Questions',String(K[bF(0x2c3)])),a0af(bF(0x25a),'No\x20time\x20limit'),U(K[-0x21cd+-0x17*-0xd3+0xed8]);}),B['command'](bb(0x498))[bb(0x41a)](bb(0x2d3))['action'](async()=>{const bH=bb;if(a0a8(bH(0x2f1)),-0x10f7+-0x4b3+0x15aa===a0a3()[bH(0x260)])return console[bH(0x2da)](),a0ab(bH(0x48f)),console['log'](a0L[bH(0x42a)]('\x20\x20→\x20')+a0L[bH(0x30a)][bH(0x2f2)](bH(0x23c))),void console[bH(0x2da)]();const K=a0ak();if(K){const a4=K[bH(0x4aa)]['length'],a5=a4+K[bH(0x371)][bH(0x2c3)];if(a4>=0xc87*0x3+0x23b8+-0x4945||(a5>-0xb*-0x93+0x1*0x15bf+-0x1c10?a4/a5:0x1a05*-0x1+0x25d9*-0x1+0x3fde)>=0x2492*-0x1+-0x3a7*-0x5+0x6d*0x2b+0.7)return console['log'](),console[bH(0x2da)](a0L[bH(0x37b)](bH(0x33e))+a0L[bH(0x37b)](bH(0x2e4))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x49e)+K[bH(0x4f9)]['split']('T')[0x1598*0x1+-0x11f+-0x1479])),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x245)+K[bH(0x485)])),console['log'](a0L[bH(0x42a)](bH(0x215)+a4+bH(0x500))),K['failedPackages'][bH(0x2c3)]>0x1*0x24be+0x7a5+-0xb*0x409&&console[bH(0x2da)](a0L[bH(0x438)](bH(0x35d)+K['failedPackages'][bH(0x3f5)](',\x20'))),console['log'](),console['log'](a0L[bH(0x4f0)]('\x20\x20Next\x20step:\x20')+a0L[bH(0x30a)][bH(0x2f2)]('exam\x20<token>')),console[bH(0x2da)](a0L['gray'](bH(0x1f2))+a0L[bH(0x30a)][bH(0x2f2)]('back')+a0L[bH(0x42a)](bH(0x229))),void console[bH(0x2da)]();console['log'](),console['log'](a0L[bH(0x438)](bH(0x22e)+a4+'/'+a5+bH(0x2d8))),console[bH(0x2da)]();}console[bH(0x2da)](),a0ae('Exam\x20Environment\x20Setup'),console[bH(0x2da)](),console['log'](a0L[bH(0x4f0)](bH(0x2f6))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x426))),console[bH(0x2da)]();const L=(a6,a7)=>{const bI=bH,a8=process['platform'];console[bI(0x2da)](),a0aa(bI(0x285)===a6?'Python\x203\x20not\x20found.':bI(0x23f)+a7+'\x20found,\x20but\x203.10+\x20required\x20for\x20the\x20exam.'),console['log'](),console[bI(0x2da)](a0L[bI(0x30a)][bI(0x4f0)]('\x20\x20How\x20to\x20install\x20Python\x203.10+\x20(3.12\x20recommended):')),console[bI(0x2da)](),bI(0x4b5)===a8?(console[bI(0x2da)](a0L[bI(0x438)](bI(0x39a))),console['log'](a0L[bI(0x37b)](bI(0x25e))),console[bI(0x2da)](),console[bI(0x2da)](a0L[bI(0x42a)](bI(0x2eb))),console[bI(0x2da)](a0L['gray']('\x20\x20\x20\x20https://www.python.org/downloads/macos/'))):'linux'===a8?(console[bI(0x2da)](a0L[bI(0x438)](bI(0x28f))),console['log'](a0L[bI(0x37b)](bI(0x490))),console[bI(0x2da)](a0L['green'](bI(0x259))),console[bI(0x2da)](a0L[bI(0x37b)]('\x20\x20\x20\x20sudo\x20apt\x20install\x20-y\x20python3.12\x20python3.12-venv\x20python3.12-distutils')),console[bI(0x2da)](a0L[bI(0x42a)](bI(0x486))),console[bI(0x2da)](),console[bI(0x2da)](a0L[bI(0x438)](bI(0x270))),console['log'](a0L[bI(0x37b)](bI(0x22d))),console[bI(0x2da)](),console[bI(0x2da)](a0L[bI(0x438)](bI(0x329))),console['log'](a0L[bI(0x37b)](bI(0x35b)))):bI(0x264)===a8?(console['log'](a0L[bI(0x438)](bI(0x385))),console[bI(0x2da)](a0L[bI(0x37b)](bI(0x459))),console[bI(0x2da)](),console[bI(0x2da)](a0L[bI(0x42a)]('\x20\x20Or\x20download\x20installer:')),console[bI(0x2da)](a0L[bI(0x42a)]('\x20\x20\x20\x20https://www.python.org/downloads/windows/'))):console[bI(0x2da)](a0L[bI(0x42a)]('\x20\x20\x20\x20https://www.python.org/downloads/')),console[bI(0x2da)](),console[bI(0x2da)](a0L[bI(0x4f0)](bI(0x410))+a0L[bI(0x30a)][bI(0x2f2)](bI(0x2f1))),console[bI(0x2da)]();},Q=bH(0x2f8);let V='';try{const a6={};a6[bH(0x272)]='utf-8',a6[bH(0x205)]=0x1388,V=a0an(Q+bH(0x2c1),a6)['trim']()[bH(0x45a)](bH(0x23f),'');const a7=V[bH(0x3fd)]('.')['map'](Number);if(a7[0xf3f+0x134f*0x1+-0x2*0x1147]<0x24*-0x88+0x8*0x2b0+-0x25d||-0x36+-0x10c9*0x1+0x1102===a7[-0xcaa+-0x1b73+0x281d*0x1]&&a7[-0x3f9*0x1+-0x1650+0x1a4a]<0x166*0xa+-0x15d1+0x7df)return void L(bH(0x4ba),V);0x1e7a+0x1782+-0x35f9===a7[-0x1095+-0x22a6+0x333b]&&a7[-0x2*0x38b+-0x1c1*-0xb+0x2*-0x61a]<0x26ea*0x1+0x1*-0xc64+0x1a7a*-0x1?console[bH(0x2da)](a0L['green'](bH(0x479)+V)+a0L['gray'](bH(0x235))):console[bH(0x2da)](a0L['green'](bH(0x479)+V));}catch{return void L(bH(0x285));}try{const a8={};a8[bH(0x32f)]=bH(0x255),a8[bH(0x205)]=0x1388,(a0an(Q+'\x20-m\x20pip\x20--version',a8),console[bH(0x2da)](a0L[bH(0x37b)](bH(0x2c5))));}catch{console['log'](a0L[bH(0x438)](bH(0x2f9)));try{const a9={};a9[bH(0x32f)]='ignore',a9[bH(0x205)]=0x7530,(a0an(Q+bH(0x433),a9),console['log'](a0L[bH(0x37b)](bH(0x2bd))));}catch{a0aa(bH(0x29d)),console[bH(0x2da)]();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import(bH(0x449)),{execFileSync:ac}=await import(bH(0x43a)),ad=aa(),ae=ab(),af=bH(0x4c0)===process[bH(0x253)]&&!ad,ag=bH(0x4b5)===process[bH(0x253)];let ah=bH(0x202);if(af||ad)try{const {readFileSync:ak}=await import(bH(0x44f)),al=ak(bH(0x402),bH(0x403)),am=(al[bH(0x467)](/^ID="?([^"\n]+)/m)||[])[-0x5*0x4d1+-0x1*-0x185c+-0xa*0x7]||'',an=(al['match'](/^VERSION_ID="?([^"\n]+)/m)||[])[0x2383+0x865+-0x2be7]||'';'ubuntu'===am?ah=bH(0x411)+an+(ad?bH(0x1fe):''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?bH(0x1fe):''));}catch{}let ai=!(0x9d+-0x24bd+0x2421);if(ag)try{const ao={};ao[bH(0x32f)]=bH(0x255),ao['timeout']=0x7d0,(ac('which',[bH(0x46e)],ao),ai=!(-0x26fc+-0x20a4+0x47a0));}catch{ai=!(0x208c+-0x20c9+0x3e);}const aj=ae?'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20installer\x20cannot\x20run\x20inside\x20the\x20prompt':bH(0x357);return console[bH(0x2da)](a0L[bH(0x30a)][bH(0x438)](bH(0x3ca))),console['log'](a0L[bH(0x30a)]['yellow']('\x20\x20'+aj)),console[bH(0x2da)](a0L[bH(0x30a)]['yellow'](bH(0x3ca))),console[bH(0x2da)](),af||ad?(console[bH(0x2da)](a0L[bH(0x4f0)](bH(0x1fd))+a0L[bH(0x2f2)](ah)),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x45f))),console[bH(0x2da)](),console[bH(0x2da)](a0L['bold'][bH(0x4f0)](bH(0x44c))),console[bH(0x2da)](),console[bH(0x2da)](a0L['white']('\x20\x20\x20\x201.\x20Type\x20')+a0L[bH(0x30a)]['cyan'](bH(0x1e9))+a0L[bH(0x4f0)]('\x20and\x20press\x20Enter\x20to\x20leave\x20icoa')),console[bH(0x2da)](),console[bH(0x2da)](a0L[bH(0x4f0)](bH(0x47d))),console[bH(0x2da)](),console[bH(0x2da)](bH(0x36e)+a0L['bold']['cyan'](bH(0x381))),console['log'](bH(0x36e)+a0L[bH(0x30a)][bH(0x2f2)]('sudo\x20apt\x20install\x20-y\x20python3-pip\x20python3-venv')),console[bH(0x2da)](),console['log'](a0L[bH(0x4f0)](bH(0x48b))),console[bH(0x2da)](),console[bH(0x2da)](bH(0x36e)+a0L[bH(0x30a)][bH(0x2f2)](bH(0x265))),console[bH(0x2da)](bH(0x36e)+a0L[bH(0x42a)](bH(0x2de))+'\x20'+a0L[bH(0x30a)]['cyan']('exam\x20setup'))):ag?(console[bH(0x2da)](a0L[bH(0x4f0)]('\x20\x20Detected:\x20')+a0L[bH(0x2f2)](bH(0x496))),console[bH(0x2da)](),console[bH(0x2da)](a0L[bH(0x30a)][bH(0x4f0)](bH(0x44c))),console[bH(0x2da)](),console[bH(0x2da)](a0L[bH(0x4f0)](bH(0x1fb))+a0L[bH(0x30a)]['cyan'](bH(0x1e9))+a0L[bH(0x4f0)](bH(0x451))),console['log'](),ai?(console[bH(0x2da)](a0L[bH(0x4f0)](bH(0x314))),console[bH(0x2da)](),console[bH(0x2da)](bH(0x36e)+a0L['bold'][bH(0x2f2)]('brew\x20install\x20python@3.12')),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x30a)][bH(0x2f2)]('brew\x20link\x20--overwrite\x20python@3.12'))):(console['log'](a0L['white']('\x20\x20\x20\x202.\x20Install\x20Homebrew\x20first\x20(we\x20did\x20not\x20find\x20')+a0L[bH(0x30a)][bH(0x438)](bH(0x46e))+a0L[bH(0x4f0)]('):')),console['log'](),console[bH(0x2da)](bH(0x36e)+a0L[bH(0x30a)][bH(0x2f2)](bH(0x413))),console['log'](),console[bH(0x2da)](a0L['white'](bH(0x3e8))),console[bH(0x2da)](),console[bH(0x2da)](bH(0x36e)+a0L[bH(0x30a)]['cyan'](bH(0x26a)))),console[bH(0x2da)](),console[bH(0x2da)](a0L['white'](bH(0x40e))),console[bH(0x2da)](),console[bH(0x2da)](bH(0x36e)+a0L[bH(0x30a)]['cyan'](bH(0x265))),console[bH(0x2da)](bH(0x36e)+a0L[bH(0x42a)](bH(0x2de))+'\x20'+a0L[bH(0x30a)][bH(0x2f2)](bH(0x2f1)))):ae?(console[bH(0x2da)](a0L[bH(0x4f0)](bH(0x1fd))+a0L['cyan'](bH(0x1f7))),console['log'](),console[bH(0x2da)](a0L[bH(0x30a)][bH(0x438)](bH(0x2ec))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x3c6))),console['log'](a0L[bH(0x42a)](bH(0x2b4))),console[bH(0x2da)](a0L[bH(0x42a)]('\x20\x20far\x20more\x20smoothly\x20inside\x20WSL2\x20Ubuntu.')),console[bH(0x2da)](),console[bH(0x2da)](a0L[bH(0x30a)][bH(0x4f0)](bH(0x2aa))),console[bH(0x2da)](),console[bH(0x2da)](a0L[bH(0x4f0)](bH(0x1fb))+a0L[bH(0x30a)][bH(0x2f2)](bH(0x1e9))+a0L[bH(0x4f0)](bH(0x451))),console['log'](a0L['white']('\x20\x20\x20\x202.\x20In\x20an\x20Administrator\x20PowerShell,\x20run:')),console[bH(0x2da)](),console[bH(0x2da)](bH(0x36e)+a0L[bH(0x30a)][bH(0x2f2)](bH(0x39f))),console['log'](),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x4a8))),console[bH(0x2da)](a0L[bH(0x4f0)](bH(0x3c2))),console[bH(0x2da)](),console[bH(0x2da)](bH(0x36e)+a0L['bold'][bH(0x2f2)]('curl\x20-fsSL\x20https://deb.nodesource.com/setup_22.x\x20|\x20sudo\x20-E\x20bash\x20-')),console[bH(0x2da)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x30a)][bH(0x2f2)]('sudo\x20apt\x20install\x20-y\x20nodejs\x20python3-pip\x20python3-venv')),console['log'](bH(0x36e)+a0L[bH(0x30a)][bH(0x2f2)](bH(0x3eb))),console[bH(0x2da)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x30a)]['cyan'](bH(0x265))),console['log'](),console['log'](a0L[bH(0x42a)](bH(0x336))),console['log'](),console[bH(0x2da)](a0L[bH(0x4f0)](bH(0x1fb))+a0L[bH(0x30a)]['cyan'](bH(0x1e9))+a0L[bH(0x4f0)](bH(0x451))),console[bH(0x2da)](a0L[bH(0x4f0)](bH(0x224))),console[bH(0x2da)](),console[bH(0x2da)](bH(0x36e)+a0L[bH(0x30a)][bH(0x2f2)]('winget\x20install\x20--id\x20Python.Python.3.12\x20-e')),console[bH(0x2da)](),console['log'](a0L[bH(0x42a)]('\x20\x20\x20\x20\x20\x20\x20(Or\x20download\x20from\x20python.org\x20and\x20CHECK\x20both\x20\x22Add\x20Python\x20to')),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x3b6))),console[bH(0x2da)](a0L[bH(0x4f0)](bH(0x3ac))),console[bH(0x2da)](),console[bH(0x2da)](bH(0x36e)+a0L[bH(0x30a)][bH(0x2f2)](bH(0x265))),console[bH(0x2da)](bH(0x36e)+a0L[bH(0x42a)]('icoa>')+'\x20'+a0L[bH(0x30a)][bH(0x2f2)](bH(0x2f1)))):(console[bH(0x2da)](a0L['white'](bH(0x44a))+a0L[bH(0x2f2)](process[bH(0x253)])+a0L[bH(0x4f0)](')')),console[bH(0x2da)](),console[bH(0x2da)](a0L[bH(0x42a)]('\x20\x20Reinstall\x20Python\x203.12\x20with\x20pip\x20bundled,\x20then\x20retry:')),console['log'](bH(0x36e)+a0L[bH(0x30a)][bH(0x2f2)](bH(0x265))),console[bH(0x2da)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x42a)](bH(0x2de))+'\x20'+a0L['bold'][bH(0x2f2)](bH(0x2f1)))),console['log'](),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x256))),void console[bH(0x2da)]();}}const W={};W[bH(0x2e2)]=bH(0x1eb),W['pycryptodome']=bH(0x26c),W[bH(0x1ea)]='z3',W[bH(0x2e5)]=bH(0x4fd),W[bH(0x3d4)]=bH(0x419),W[bH(0x3c8)]='ropgadget';const X=['pwntools',bH(0x241),bH(0x4ca),bH(0x2e2),bH(0x455),bH(0x2e5),'scapy','sympy','z3-solver',bH(0x3be),bH(0x3c8),bH(0x375),bH(0x3b1)],Y=W;console[bH(0x2da)](),console[bH(0x2da)](a0L['white'](bH(0x4ef)+X['length']+bH(0x48d))),console[bH(0x2da)]();let Z='';try{const ap={};ap[bH(0x272)]='utf-8',ap[bH(0x205)]=0x2710,a0an(Q+bH(0x450),ap);}catch(aq){const ar=String(aq?.[bH(0x448)]||aq?.[bH(0x3e6)]||aq?.['message']||'');/externally-managed-environment|break-system-packages/i[bH(0x499)](ar)&&(Z='--user\x20--break-system-packages',console[bH(0x2da)](a0L[bH(0x438)](bH(0x20f))),console['log']());}const a0=V[bH(0x3fd)]('.')['map'](Number);-0x11ab+-0xe10+0x1fbe*0x1===a0[0x34*0xb2+-0x1709+-0xd1f]&&a0[0x51e*0x4+0x7a*-0x21+-0x4bd*0x1]>=-0x1*0x1d71+-0x1e13+0x187*0x27&&(console[bH(0x2da)](a0L[bH(0x438)](bH(0x39b)+V+bH(0x1e4))),console[bH(0x2da)](a0L[bH(0x42a)]('\x20\x20\x20\x20Some\x20packages\x20(pwntools,\x20scapy)\x20may\x20not\x20have\x20wheels\x20yet\x20for\x203.13.')),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x25d))),'linux'===process[bH(0x253)]&&(console['log'](a0L[bH(0x37b)](bH(0x394))),console[bH(0x2da)](a0L[bH(0x37b)](bH(0x4f6)))),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+bH(0x347),{'encoding':bH(0x403),'timeout':0x2bf20,'stdio':bH(0x34c)}),a0an(Q+bH(0x46c)+(Y[as]||as)+'\x22',{'stdio':bH(0x255),'timeout':0x2710});let at='';try{const au=a0an(Q+'\x20-m\x20pip\x20show\x20\x22'+as+'\x22\x202>/dev/null',{'encoding':'utf-8','timeout':0x1388})['match'](/^Version:\s*(.+)$/m);au&&(at=au[-0x1*0xcfb+0x11e0+-0x4e4][bH(0x21d)]());}catch{}console[bH(0x2da)](a0L[bH(0x37b)](bH(0x33e)+as)+(at?a0L[bH(0x42a)]('\x20('+at+')'):'')),a1[bH(0x247)](at?as+'=='+at:as);}catch(av){const aw=String(av?.[bH(0x448)]||av?.[bH(0x3e6)]||av?.[bH(0x475)]||'')[bH(0x2db)](-(-0xb67*-0x1+-0x2648+0x3*0x97b)),ax=aw[bH(0x3fd)]('\x0a')['filter'](ay=>ay[bH(0x21d)]())[bH(0x2db)](-(-0xb11+-0x22ab+0x2dbe))[bH(0x3f5)](bH(0x3bd))[bH(0x2db)](-0x17a8+0x4*-0x1c9+0x1ecc*0x1,0x77e+0x76d+0x9*-0x19b);console['log'](a0L[bH(0x233)](bH(0x460)+as)+a0L[bH(0x42a)]('\x20\x20'+ax)),a2[bH(0x247)]({'pkg':as,'error':ax}),a3||(a3=aw);}-0x26b6+0x272+0xd3*0x2c===a1['length']&&a3&&(console[bH(0x2da)](),console[bH(0x2da)](a0L['yellow'](bH(0x30b))),console[bH(0x2da)](a0L[bH(0x42a)]('\x20\x20'+a3[bH(0x3fd)]('\x0a')[bH(0x2db)](-(-0x1cc7+-0x235a+0x4027))[bH(0x3f5)](bH(0x2fd))))),a0al({'completedAt':new Date()[bH(0x4e1)](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bH(0x21f)](ay=>ay[bH(0x393)])}),console[bH(0x2da)](),-0x3a7*0x2+-0x12b*-0x1+-0x1*-0x623===a2[bH(0x2c3)]?a0a9(bH(0x4f4)+X[bH(0x2c3)]+bH(0x3bb)):-0xe9e*0x1+-0x1332+0x8*0x43a===a1[bH(0x2c3)]?(a0aa(bH(0x4fb)+X[bH(0x2c3)]+bH(0x3bb)),console[bH(0x2da)](),console['log'](a0L[bH(0x438)]('\x20\x20Troubleshooting:')),0x10df*0x2+0x7*0x503+-0x44d0===a0[0x1316*0x2+-0x8*-0x199+-0x32f4]&&a0[0x1*-0xbc3+-0x247f+0x3043]>=0x258*0x6+-0xdf6+-0xd?(console[bH(0x2da)](a0L[bH(0x42a)](bH(0x2ab))),console[bH(0x2da)](a0L['gray'](bH(0x3d8)))):(console[bH(0x2da)](a0L[bH(0x42a)](bH(0x346))),console[bH(0x2da)](a0L[bH(0x42a)]('\x20\x20\x20\x20•\x20Try:\x20')+a0L['cyan'](Q+bH(0x250))+a0L[bH(0x42a)]('\x20—\x20see\x20full\x20error')),console['log'](a0L[bH(0x42a)](bH(0x2a6)))),console['log'](),console[bH(0x2da)](a0L[bH(0x4f0)]('\x20\x20Rerun\x20when\x20fixed:\x20')+a0L[bH(0x30a)]['cyan'](bH(0x2f1)))):a0ab(a1[bH(0x2c3)]+'/'+X[bH(0x2c3)]+bH(0x4ec)+a2[bH(0x2c3)]+bH(0x3b3)+a2[bH(0x21f)](ay=>ay['pkg'])[bH(0x3f5)](',\x20')),console[bH(0x2da)](),console[bH(0x2da)](a0L[bH(0x2f2)](bH(0x452))),console['log'](a0L[bH(0x30a)][bH(0x4f0)](bH(0x463))),console['log'](a0L[bH(0x2f2)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bH(0x2da)](),console[bH(0x2da)](a0L[bH(0x30a)][bH(0x438)](bH(0x495))+a0L[bH(0x42a)](bH(0x2b0))),console[bH(0x2da)](a0L[bH(0x4f0)](bH(0x1e8))),console[bH(0x2da)](a0L[bH(0x37b)](bH(0x3a9))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x352))),console['log'](),console[bH(0x2da)](a0L['bold']['yellow'](bH(0x3f4))+a0L['gray'](bH(0x370))),console[bH(0x2da)](a0L[bH(0x4f0)]('\x20\x20Start\x20a\x20Python\x20session,\x20type\x20commands\x20one\x20by\x20one:')),console[bH(0x2da)](a0L[bH(0x37b)](bH(0x344))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x4d9))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x288))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x33b))),console['log'](a0L[bH(0x42a)](bH(0x4ff))),console['log'](a0L['gray'](bH(0x2a1))),console[bH(0x2da)](),console[bH(0x2da)](a0L['bold'][bH(0x438)](bH(0x3e3))+a0L['gray'](bH(0x412))),console['log'](a0L[bH(0x4f0)](bH(0x1ee))),console['log'](a0L[bH(0x37b)](bH(0x416))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x473))),console[bH(0x2da)](a0L['gray'](bH(0x4e2))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x22a))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x373))),console[bH(0x2da)](a0L['green'](bH(0x3fb))),console[bH(0x2da)](a0L[bH(0x37b)](bH(0x3aa))),console[bH(0x2da)](),console['log'](a0L['bold'][bH(0x438)](bH(0x219))),console[bH(0x2da)](a0L['white'](bH(0x4ae))+a0L[bH(0x30a)]['cyan'](bH(0x24d))+a0L[bH(0x4f0)](bH(0x3fc))),console['log'](a0L['gray'](bH(0x204))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x476))),console[bH(0x2da)](a0L[bH(0x42a)](bH(0x4dc))),console[bH(0x2da)](a0L[bH(0x2f2)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bH(0x2da)](),console['log'](a0L[bH(0x4f0)]('\x20\x20Next\x20step:\x20')+a0L[bH(0x30a)][bH(0x2f2)](bH(0x43d))),console[bH(0x2da)](a0L[bH(0x42a)]('\x20\x20Or\x20type\x20')+a0L[bH(0x30a)][bH(0x2f2)](bH(0x481))+a0L['gray'](bH(0x229))),console[bH(0x2da)]();}),B[bb(0x2ef)](()=>{const bJ=bb;a0a8(bJ(0x2e8));const F=a0Y();if(F){a0ae(bJ(0x362)+F['session'][bJ(0x300)]),O();const J=Object[bJ(0x4d0)](F[bJ(0x397)])['length'];return a0af(bJ(0x276),J+'/'+F['session'][bJ(0x3f7)]+'\x20answered'),console['log'](),void console[bJ(0x2da)](a0L['gray'](bJ(0x4a5)));}const G=a0a3(),H=a0ak();console[bJ(0x2da)](),a0ae(bJ(0x4a6)),console['log'](),-0x91f+0xa24+-0x3*0x57===G[bJ(0x260)]?(console[bJ(0x2da)](a0L[bJ(0x438)](bJ(0x40c))+a0L[bJ(0x438)](bJ(0x271))),console[bJ(0x2da)](a0L[bJ(0x42a)]('\x20\x20\x20\x20→\x20')+a0L['bold'][bJ(0x2f2)](bJ(0x23c)))):(console['log'](a0L[bJ(0x37b)](bJ(0x3d6))+a0L[bJ(0x37b)]('Demo\x20completed\x20('+G['attempts']+bJ(0x469)+(-0x1*0x44f+-0x1d88+0x5a4*0x6!==G[bJ(0x260)]?'s':'')+')')),H?(console['log'](a0L['green'](bJ(0x3d6))+a0L[bJ(0x37b)](bJ(0x4a3))),console[bJ(0x2da)](a0L[bJ(0x438)](bJ(0x40c))+a0L[bJ(0x438)](bJ(0x291))),console[bJ(0x2da)](a0L[bJ(0x42a)](bJ(0x2d5))+a0L['bold']['cyan'](bJ(0x43d)))):(console['log'](a0L[bJ(0x438)](bJ(0x40c))+a0L['yellow'](bJ(0x3a4))),console[bJ(0x2da)](a0L[bJ(0x42a)](bJ(0x2d5))+a0L[bJ(0x30a)][bJ(0x2f2)](bJ(0x2f1))))),console[bJ(0x2da)]();});}
1
+ (function(z,B){const aX=a0B,F=z();while(!![]){try{const G=-parseInt(aX(0x2af))/(0x1746+0x1*-0x77b+-0xfca)*(-parseInt(aX(0x380))/(-0xfc5+-0x3c*0x7a+0x2c5f))+-parseInt(aX(0x427))/(-0x168a+-0x14*0x158+-0x316d*-0x1)+-parseInt(aX(0x1e5))/(0x19d+-0x2379+0x21e0)*(-parseInt(aX(0x1fd))/(-0x512+-0x2703*-0x1+-0x21ec))+-parseInt(aX(0x262))/(0x3*-0x592+-0xd2b*-0x1+-0x53*-0xb)*(-parseInt(aX(0x300))/(-0x9bc*0x2+-0x47*0xb+0x168c))+-parseInt(aX(0x385))/(-0x2*0x7bf+-0x25*0x32+0x16c0)+-parseInt(aX(0x218))/(-0x6*-0x24a+-0x1645*-0x1+-0x23f8)+-parseInt(aX(0x4de))/(-0x11f5+0x1248+-0x49)*(-parseInt(aX(0x1e2))/(-0x2*-0x1014+-0x16dc+-0x941));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x99753+0x3b6dd*0x3+0x431b7));function a0B(a,b){a=a-(-0x268d+0xb30+0x1*0x1d36);const c=a0z();let d=c[a];if(a0B['kUblAM']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x2409+0x1*0xe34+-0x3*-0x747,o,p,q=0x13c4+0x61*0x47+-0x2eab;p=i['charAt'](q++);~p&&(o=n%(0x55f+-0xbf0+0x695)?o*(0xc5*-0x4+-0x4bc*0x8+0x2934)+p:p,n++%(0xc*-0x2dd+0x70*-0x4f+0x44f0))?l+=String['fromCharCode'](0xa7c+-0x22aa+0x192d&o>>(-(-0x9*-0x140+-0x2611+-0x6d*-0x3f)*n&0x25*-0x1b+-0xd*-0x44+-0x79*-0x1)):-0xdc2+0x13b3+-0x5f1){p=j['indexOf'](p);}for(let r=0x9a9+-0x26f8+-0x29*-0xb7,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x195f+-0x1*0x327+0x1c96))['slice'](-(0x3a4+-0x2533+0x2191));}return decodeURIComponent(m);};a0B['eHGnIf']=e,a0B['TDYLLh']={},a0B['kUblAM']=!![];}const f=c[-0x1e29+0x25*-0xf8+0x1*0x4201],g=a+f,h=a0B['TDYLLh'][g];return!h?(d=a0B['eHGnIf'](d),a0B['TDYLLh'][g]=d):d=h,d;}import a0L from'chalk';import{confirm as a0Q}from'@inquirer/prompts';import{ExamClient as a0V}from'../lib/exam-client.js';import{getConfig as a0W,saveConfig as a0X}from'../lib/config.js';import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';import{printSuccess as a0a9,printError as a0aa,printWarning as a0ab,printInfo as a0ac,printTable as a0ad,printHeader as a0ae,printKeyValue as a0af,createSpinner as a0ag,formatCountdown as a0ah}from'../lib/ui.js';import{t as a0ai}from'../lib/i18n.js';import{getDeviceFingerprint as a0aj}from'../lib/access.js';import{getExamSetup as a0ak,saveExamSetup as a0al,isExamSetupComplete as a0am}from'../lib/exam-setup.js';import{execSync as a0an}from'node:child_process';const q=z=>new Promise(B=>setTimeout(B,z));function E(B,F={}){const aY=a0B,G=a0W(),H={};H[aY(0x2d0)]='application/json',fetch(aY(0x339),{'method':'POST','headers':H,'body':JSON[aY(0x3bf)]({'type':B,'lang':G[aY(0x32e)]||'en','timestamp':new Date()[aY(0x45c)](),...F}),'signal':AbortSignal['timeout'](0x5c6*-0x3+0x2283+0x257*0x1)})[aY(0x3f8)](()=>{});}function N(z,B){const aZ=a0B,F=Math[aZ(0x3fb)](z/(-0x2450*0x1+-0x14*-0x1f4+-0x25c)*(-0x25b8+-0x1fd9+0x45af*0x1)),G=0x1981+-0x1e26+0x4c3-F,H=a0L['green']('█'[aZ(0x2e2)](F))+a0L[aZ(0x363)]('░'['repeat'](G)),J=String(z)[aZ(0x3f6)](0x26*0x25+0x1166+-0x16e1*0x1)+'%';process['stdout'][aZ(0x393)](aZ(0x28d)+H+'\x20'+J+'\x20\x20'+a0L['gray'](B));}function M(){const b0=a0B,z=a0W();return z[b0(0x318)]&&z[b0(0x3c1)]?new a0V(z[b0(0x318)],z[b0(0x3c1)]):(a0aa(b0(0x377)),null);}function O(){const b1=a0B,z=a0a1();z&&(new Date()<z?a0af('Time\x20Remaining',a0L[b1(0x378)][b1(0x3f2)](a0ah(z))):a0af(b1(0x283),a0L[b1(0x38d)][b1(0x3f2)](b1(0x333))));}function D(z,B){const b2=a0B;return Array[b2(0x3c3)](z[b2(0x26c)])&&z[b2(0x26c)][b2(0x38a)](B);}function j(z,B){const b3=a0B,F=Array['isArray'](z[b3(0x26c)])?[...z[b3(0x26c)]]:[],G=F[b3(0x1e1)](B);return G>=-0x23c6+-0xed3*0x1+-0x1*-0x3299?(F[b3(0x386)](G,-0x1397+0x1653+0x1*-0x2bb),z[b3(0x26c)]=F,a0Z(z),!(0x146b+-0xec2*-0x2+-0x31ee)):(F[b3(0x290)](B),F[b3(0x2dc)]((H,J)=>H-J),z[b3(0x26c)]=F,a0Z(z),!(0x13b3+-0x1826+-0x473*-0x1));}function a0z(){const bK=['4O+XifrPBwuGCMvTywLUAw5NoG','CMv2Awv3','BwfNzw50yq','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','iefjihn5C3rLBxmU','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','zxHHBsbZDwjTAxq','Dg90ywW','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','zxHPDa','igf0DgvTChq','icdINjmG','icbfEgfToIaGica','icaGicbjBNnPzguGy2HHDdOGicaG','ihLVDsbNB3qGD3jVBMCU','icdIJ7eGifrPBwuGy2HLy2SGia','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','zwXPBwLUyxrL','C3rKAw4','icbcEsbJyxrLz29YEq','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','uxvLC3rPB25Z','y2XVy2TpzMzZzxrnCW','C2vYDMvYx3rPBwvFBxm','icaGv2vSy29Tzsb0BYb0AguGChjHy3rPy2fSienurIbZzwn0Aw9UlIbszwfS','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','sw5KAwe','vhvYA2v5','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','C3vIBwL0rxHHBq','Dg9tDhjPBMC','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','AxnsyxC','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','icbB','C3bSAxq','C2nVCMu','zxHHBsbZDgfYDca','zMfPBa','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','sgvSCdOGicaGica','ihvUzMXHz2DLzc4','icbdB250Aw51zsb0AgLZigv4yw06','rMXHz2DLzcbMB3iGCMv2Awv3','Dgv4Da','Dg9ju09tDhjPBMC','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','icaGigXHBMC','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','icaGicbfBNrLCIbJAgf0oIaGicaG','icaGigv4yw0GCMv2Awv3','zxHHBsbYzxnLDa','icaGiokgKIbIj0HLBgXVjW','icaGicaGicaOBM93lcb+nsbTAw4P','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','z3jLzw4','zxHHBsb1BM1HCMSG','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','CgLSBg93','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','ywK0y3rMrgvZyW','uMvHzhKH','r0vu','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','C3vJy2vLza','icaGimk3ia','Cg9ZDc1YzxbVCNqTCMv0CNK','B3b0Aw9UCW','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','icdcTYblzwvWihnOyxjWzw5PBMC6ia','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','icbfEgfTCgXLoIa','lI4VBgLIl2rLBw8TzxHHBs5QCW','zxHHBsbXia','zwDNmte','icbszxj1BIb3AgvUigzPEgvKoIa','icaGigjHy2S','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','icbezw1VoIa','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','icaGigv4yw0GCsaXlI4','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','ANnVBG','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','uMvZDwX0igXVywrLza','zhvYyxrPB25nAw51DgvZ','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','icGR','C2XPy2u','y2vPBa','zMfPBgvKugfJA2fNzxm','x2HLBhbnyxG','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','icbzB3uGD2LSBcbZDwjTAxqG','vMLLDg5HBq','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','yw5ZD2vYCW','icaGica','Cgf1C2u','tg9HzgLUzYbLEgfTCY4UlG','zwXPBwLUyxrLza','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','C2v0Dxa','q291BNrYEq','zxHHBsa','icaGienVBxbSzxrLzdOG','CMvWBgfJzq','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','C3rHCNqGpgLKpG','icaGideUifr5CguG','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','icbnzxrOB2qGmtOGt25LlwXPBMvY','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','icaGifbHy2THz2vZoIa','icbszwfKEt8GvxnLia','icaGig1VCMuGAgvSCa','icbuBYbNBYbIywnRoIaG','ihrOzsbJB21WzxrPDgLVBI4','ieLdt0f7Ew91CL9MBgfNFq','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','ixb5DgHVBJmGC29SDMuUChK','BgvUz3rO','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','CMfUzg9T','wYbD','ihf1zxn0Aw9U','mJuSmdaW','BwfW','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','zxHHBsbKzw1V','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','zwDNoq','zgf0yq','icbdyw5JzwXSzwqU','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','txLHBM1HCG','icaGrwXHChnLzdOG','tgfVCW','ihbHy2THz2vZigLUC3rHBgXLzc4G','ihDHCYbUB3qGzMXHz2DLzc4','icaGsg93ihrVihDVCMS','y3j5ChrVz3jHCgH5','BwvZC2fNzq','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','DxnLza','ugfZCW','C19JDgy0ywK','ica+ia','C3vIBwL0DgvKqxq','vw5PDgvKieTPBMDKB20','AxnuvfK','icbzB3uGC3rPBgWGAgf2zsa','Dg9vChbLCKnHC2u','icaGicaGia','z3jHzgLUzW','Dg9mB3DLCKnHC2u','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','sw52ywXPzcb0B2TLBG','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','C3rKzxjY','icaGifLVDsbJyw4GBM93ihvZztOG','icaGicbtB2X2zsa','igzPCNn0lG','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','zxHHBsbYzxzPzxC','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','mtbZDwjduu8','Aw50zxjHy3rPB25Z','icaGicdILQmG','z2v0vgLTzq','y2XLyxi','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','A2v5','vg90ywW','y3rMngfP','icdIHPiGia','Aw5KzxHpzG','mte5mZu5otbnAuj2teK','u2f1zgKGqxjHyMLH','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','mJm4nJa0vvjhq1rd','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','iokgKIa','C2vZC2LVBG','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','u2H1zMzSAw5Nig9WDgLVBNmUlI4','y2HHBMDLzcbMCM9Tia','BwfYAYbBBL0','qxzHAwXHyMXLiev4yw1ZicG','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','icbbssbbC3nPC3rHBNq','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','AhrWtMf2','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','uMv2Awv3oIa','xsaG','u291DgGGs29Yzwe','CgvYzMvJDfnJB3jL','u3vIBwL0igzHAwXLza','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','yMfJAW','icaGigHLBha','rgvTBYbJB21WBgv0zwqGka','ndbODLP5teG','ic1TihbPCcbPBNn0ywXSici','zxHHBvDHExnszwzqExrOB24','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','rMfPBgvKihrVihn0yxj0igv4yw0','yNjLDW','icbtDwjTAxqGBM93ihDPDgG6ia','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','vgHHAwXHBMq','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','BM9KztPJAgLSzf9WCM9JzxnZ','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','ue9tva','BwLZC2LUzW','zxHHBq','rhvYyxrPB24','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','z2v0uMvZDwX0','Bsb0B3rHBa','igrLDgvJDgvK','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','AgvSCefSBfvZzwq','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','qNvYDw5KAq','ChjLDG','ndC3ntqWoufhwLPODa','DM9SyxrPBgL0Etm','itXJBwq+ia','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','BwLU','yMvHDxrPzNvSC291Cdq','ic1JicjPBxbVCNqG','yxr0ywnRAw5N','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','y29TBwfUza','icdWN5kHie9WDgLVBIa','iokCKYaGka','yw5ZD2vYvgHPCW','ChDUDg9VBhm','tK9uifbbu1nfra','icbpCIb0ExbLia','icaGieeVqI9dl0q','tg9HzgLUzYbLEgfTlI4U','Aw5FChjVz3jLC3m','zgvTB0LUDhjVu2vLBG','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','AM9PBG','u3rHDhvZ','zxHHBu5HBwu','icaGieXHBMC6icaGia','C3rHDhvZ','C3vIBwL0ifTJB25MAxjTqxjNxq','q3rYBcTd','ic0TDMvYC2LVBG','C19HAtrJDgy','u291DgGGqwzYAwnH','u3rYB25NzxiGAgvYztOGia','igjVBNvZihvZzxmP','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','icbYDw4G','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','lI4VBgLIl3bSyxrMB3jTlMPZ','zxHHBvDHExngB3vUza','Bw9Yzs1OzwXW','lI4VBgLIl2v4yw0TC3rHDguUANm','vxnLCI1bz2vUDa','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','ugvYy2vUDgfNzq','BMfTzq','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','y29YCMvJDa','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','rw52AxjVBM1LBNqGCMvHzhK','rwD5Chq','ywK0y3rM','ywK0y3rMpG','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','x2HLBhbvC2vK','ig9YigXLyxzLihDPDgGG','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','x3n1yM1PDenVBMzPCM1Lza','icbezxrLy3rLzdOG','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','Ew91CIbmAw51EcbKAxn0CM8','ugvYDq','ChL0Ag9UmW','ig1PBNv0zxm','t24GDgHLig1VBMv5lG','q29TCgXLDguH','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','C3rHCNq','icdIMiyGuq','tg9HzgLUzYbYzxn1BhqUlI4','zw5JB2rPBMC','icbmyw5NDwfNztOG','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','mJaWmJjKweT1Aeq','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','BNvTyMvY','AgLUDcbHic8GyIaVigm','AhrWqw5ZD2vY','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','C29Tzq','CgfZC2vK','iokaLcbZzwuGzNvSBcbLCNjVCG','Bwf4','yM9VA21HCMTZ','CM9Wz2fKz2v0','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','icaGww91CIb0zxjTAw5HBca','icaOAgvSCca','yw5ZD2vYx2nOyw5Nzwq','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','oIdIGjq','icbbC3nPC3rHBMnLoG','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','icaGicaGicaGia','CxvLC3rPB25dB3vUDa','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','icdINjmGCgLWigLUC3rHBgXLza','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','Dw5KzxjSAw5L','icaGifb5DgHVBJOG','ienurJrbsq','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','vgLTzq','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','C3vIC3rYAw5N','igfUC3DLCMvK','ywn0Aw9U','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','icbzB3uGy2fUihbHDxnLihDPDgGG','DxrMltG','y29TCgXLDgvKqxq','ic0TCxvPzxqGmJ4Mmq','drTBmKSGia','zgvTBY1YzxrYEq','igfUC3DLCMvKkq','ChvZAa','ihnOyxjLzcbHy3jVC3mGutm54Octnda','ihbHy2THz2vZigLUC3rHBgXLzc4','icbozxH0ihn0zxa6ia','zgLT','uK9qz2fKz2v0','icaGicHHAtrJDgyP','qwXTB3n0ihjLywr5lI4U','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','zxHHBv9Pza','8j+pM++4JW','igf0DgvTChrZ','CgTN','icaGicbfEgfToIaG','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','Ew91CKfUC3DLCG','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','CxvLC3rPB24','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','l2v0yY9VCY1YzwXLyxnL','icbqBgvHC2uGCMuTDhLWztOG','zgvTBW','qw5ZD2vYideWihf1AwnRihf1zxn0Aw9UCW','icaGicbLEgfTigXPC3qGueu','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','zxHHBsbZDwjTAxqG','Bg9N','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','CMvTB3zLtgLZDgvUzxi','m21wAgz4wG','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','yMvZDfbLCMnLBNrHz2u','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','zw1VAMK','icbbBNn3zxjZigfYzsa','DhLWzq','zxHHBsbZDwjTAxqGy29UzMLYBq','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','icdIL48G','ihjLBwfPBMLUzYK','vwj1BNr1ia','zMLSDgvY','C3rKB3v0','icbizwXWihvZzwq6ia','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','icdcTYaG','icaGiokrOYa','AwnVys1JBgK','C3rYAwTLDgHYB3vNAa','zgvZy3jPChrPB24','ueLm','y3rMngfPpG','icaGiokrOsa','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','AgfZ','Aw5JB3jYzwn0sw50CM8','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','ihWG','icaGiokrPca','zxHHBvDHExnqExrOB25szxbS','q29UDgvUDc1uExbL','icbODhrWCZOVl2LJB2eYmdi2lMf1','y29UzMLYBwvKqxq','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','zMLUywW','icaGicfWExrOB24Z','BM9KztPMCW','icdIL4SG','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','CMvZDw1L','u3jPieXHBMTH','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','C29YDa','tM8GDgLTzsbSAw1PDa','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','CMvM','icHxu0WYkq','CMvWzwf0','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','qw5ZD2vYzwq','icbSyw5NigvZicHfC3bHW7fVBcKGWRCGBgfUzYb6AcaO5lIT5PAhksdcTYbSyw5NigTVicJTLzZQTA3SLRqPimk3igXHBMCGAMeGkoAxPEACRoIQNIK','icaG','icdIMQaGuhL0Ag9Uia','C3LTChK','tg9HzgLUzYbXDwvZDgLVBNmUlI4','icHJB21WBgv4ihnVBhv0Aw9UCYK','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','icaGicbiAw50CYbbl0iVqZOGicaG','x2vSAw1PBMf0zwq','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','zxHHBsbXide','icdIHPiG','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','icaGiokrOIa','zwXPBwLUyxrLzca','CdeW','BwfJt1m','icaGihzSytrJDgy','u2nVCMu','C2HVD25xyxjUAw5NCW','DhjPBq','icbozwvKig1VCMu/ifr5Cgu6ia','BMv4Da','mtyXwvPkuMjd','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','CgLWzq','y29TCgXLDgu','vgLTzw91DevYCM9Y','zxHHBsa8Dg9Rzw4+','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','icaGzMLUAxnOigfUzcbZDwjTAxq','Dg90ywXty29Yzq','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','CgXHDgzVCM0','ueftu0ve','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','yxr0ywnOzwreyxrH','icaGiokaOIbuCNK6ia','ic8G','ihrVihnLzsb5B3vYihjLC3vSDhmH','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','qNjHEMLS','ihvUyw5ZD2vYzwq6ia','ugHPBgLWCgLUzxm','vw5HBNn3zxjLza','BM90ugfZC2vK','y3rMzfvYBa','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','zxHHBsbTB3jLlwHLBha','u29SAwqGCgLJAY4','C3vIBwL0DgvK','icaGigv4yw0GC3vIBwL0','ywLvC2fNzq','icaGiokgKIa','AgvSCf91C2vK','A2v5CW','uhL0Ag9UidmGBM90igzVDw5KlG','iIbPCYbPBIbWCM9NCMvZCY4','x2HLBhbqzxjr','rMfPBgvKihrVigXVywqGzxHHBxm','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','uhjVz3jLC3m','uxvLC3rPB24G','D2HPDgu','yw5ZD2vYzwq','ihrVihDPCguGBg9JywWGC3rHDguSihrOzw4GCMuTzw50zxiGDgHLig5LDYb0B2TLBI4','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','BgfUz3vHz2u','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','icHr','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','y3LHBG','rvHqsvjfra','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','imk3ia','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','Ag93vg9qBgf5','CgvYuq','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','rxHHy3rSEs4','quKGDg9Rzw5ZoIa','AgvSCa','tMfTzq','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','icaGicbnzxnZywDLCYdIHPiGquKGDgfYz2v0iokaLcbJCMfMDcbWCM9TChrZihrVigjYzwfRigL0CYbYDwXLCY4','zwDNmW','AhrWtgfUzW','zgvTBY1LBNrLCG','tM8GzxHHBsbPBIbWCM9NCMvZCY4','CMvZDwX0ifTPzf0','Dw5TyxjRifTUxq','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','icaGign0zJrHAq','AwnVyq','D2LUmZi','ic1TihbPCcbZAg93ici','igzHAwXLzdOG','icaGid4+pIbLEgL0kcK','BgLUDxG','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','icbuBYbJB25MAxjToIaG','zMXVB3i','r3jHzgLUzY4UlG','y29UzMLYBq','Cgn0','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','AhrWqMfJAW','icbuBYbJB250Aw51zsb0AgLZigv4yw06','uhL0Ag9Uia','8j+pLU+4JW','Dg9Rzw4GpgnVzgu+','cIaG','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','BM93','BMv4DcaVihbYzxy','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','z3jHEq','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','ig1PBG','icbqCMfJDgLJAw5Nia','l2fWAs9Py29Hl2v4yw1ZlW','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','CxvPDa','yxr0zw1WDhm','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','AwnVyt4','BMf0Aw9UCW','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','zMLUzeLUzgv4','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','DgLTzw91Da','DgvZDa','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','EwvSBg93','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','rxHHBxmG4Ocuia','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','CgfKrw5K','icbr','mJu1ndyYA0zWyNr2','C3rHCNrLzef0','icaGia','zxHHBsbHBNn3zxiG','D3jVBMC','ndq5ntqXnKDetNPLAG','C3bSAwnL','C3rKAw8','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','iefjnenurG','Aw5JBhvKzxm','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','ixzPihnVBhzLlNb5','CMvK','zwDNnW','rMXHz2DLzdOGica','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','BMv3','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','D3jPDgu','Cg9PBNrZ','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icbzB3vYihj1BG','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','zgvTBY1MCMvL','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','lI4U','rMfPBgvKihrVigXVywqGCMvZDwX0','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','iokaLca','ihrVigfZAYbbssbMB3iGAgvSCdO','q3j5ChrV','Aw5ZDgfSBgvKugfJA2fNzxm','icaGicbuB2TLBJOG','icdINjCG','zxHHBsb0B2TLBIa','zxHHBsbUyxrPB25Z','AhrWsgvSCa','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','C2nHChK','icbbC3nPC3rHBMnLihvZzwq','EJmTC29SDMvY','C3vIBwL0ieLdt0f7lI4UFq','zxHHBsbYzxn1BhqG','zMLUza','zgvTBY1LEgfT','D2L0Aa','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','zgfYD2LU','u3rHCNrPBMCGDgLTzxiUlI4','icaGicbfEgL0ignOyxq6icaGicaG','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','igzSywDNzwqGzM9YihjLDMLLDY4','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','AhrWtwfYAW','ihjLz2LVBNmP','igvSAw1PBMf0zwqH','C3rYAw5NAwz5','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','Dg9Rzw4','u3bVDcbVBI4','AxnbCNjHEq','C3vKBYbHChqGDxbKyxrL','DdeW','uhjLCgfYAw5NlI4U','CMvXDwvZDhm','zw50CMLLCW','AhrWuMv2Awv3','icdWN46bicS','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','r28GDg8GBMv4DcbXDwvZDgLVBG','icdINjmGuhL0Ag9Uia','ig5VDcbMB3vUzcaOms0','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','r2vYBwfUEq','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','CMvZzxq','ChLJCNLWDg9KB21L','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','yxbWBgLJyxrPB24VANnVBG','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','AwDUB3jL','icbbBgWGAgvSCcb1C2vKicG','icaGig5LEhq','icaGicfWExrOB24ZihnVBhzLlNb5','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','l3n1yM1PDa','zxHHBuLK','icaGicaGicHpCIbKB3DUBg9HzcbMCM9Tihb5DgHVBI5VCMCGyw5KienirunligjVDgGGiKfKzcbqExrOB24GDg8','DMXH','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','icbjBNn0ywXSAw5Nia','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','y2f0zwDVCNK','qMfUz2XHzgvZAa','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','x2XHC3rr','vgLTzsbLEhbPCMvKlG','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','rxHHBsaI','y2f0','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','yM9Sza','q2HPBMe','zxHHBsbZzxr1Ca','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','CgfKu3rHCNq','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','y2f0y2G','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','icdINjmGCgLWigf2ywLSywjSzq','CM91BMq','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','icaGicaGicaGkgn0zJrHAsK','yw5ZD2vY','u3vIBwL0DgvK','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','zw5KC1DPDgG','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','sw5KB25LC2LH','ywrK','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','zNjVBq','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','C2v0uMf3tw9Kzq','icbgzwrVCMeGlYbssevmoG','CMvNzxG','ihnRAxbWzwq','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','u2LUz2fWB3jL','zxHHBsbWCMv2','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','Bwf0y2G','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','CxvLC3rPB25Z','zxHHBsbSAxn0ia','Axnoyu4','icdIMiuGuq','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','rNjHBMnL','y291BNrYEq','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','vgLTzsb1C2vKoIa','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','zxHHBsbOzwXW','zxHHBvDHExntAgvSBa','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','ihrVigXLyxzLigLJB2e','sMfWyw4','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','icbtDgvWlwj5lxn0zxa6','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','mty1otqYouXbtfnXra'];a0z=function(){return bK;};return a0z();}function R(B){const b4=a0B,F={};return F[b4(0x4c7)]=B[b4(0x24e)]||-0x3*0xa4e+-0x4d9+0x23c3,F[b4(0x26b)]=B[b4(0x491)]||-0xa9f+0xc17+-0x164*0x1,F[b4(0x33b)]=B[b4(0x324)]||{},F[b4(0x49a)]=B['_eliminated']||{},F;}function U(z,B){const b5=a0B,F=a0Y(),G=Number(F?.[b5(0x1e8)][b5(0x27a)]||-0x1983+-0x1d1d+0x36be),H=Object[b5(0x321)](F?.['answers']||{})['length'],J=R(F),K=J['eliminated'][z[b5(0x264)]]||[],L=b5(0x24b)===z[b5(0x2b7)]||b5(0x1df)===z[b5(0x2b7)]||b5(0x3e3)===z[b5(0x2b7)]||z[b5(0x472)]&&!z[b5(0x472)]['A']&&!z[b5(0x472)]['B'];F&&function(Y,Z){const b6=b5;if(b6(0x398)===Y[b6(0x1e8)][b6(0x3e1)])return;const a0=new Set(Y[b6(0x2fc)]||[]),a1=Number(Y['session'][b6(0x27a)]||0xf1*-0x23+0x26d1*0x1+0x2db*-0x2),a2=a0a1();if(0x328+-0x2022+0x1d04===Z&&a1>=-0x20d2+-0xee8+-0x17f1*-0x2&&!a0[b6(0x2ca)](b6(0x2f8))){const a3=a2?Math['max'](0x1946+-0x25bf*-0x1+0x11*-0x3b5,Math[b6(0x3fb)]((a2[b6(0x1d9)]()-Date[b6(0x360)]())/(-0xdd15*-0x1+0x13*-0xbda+0xee79))):null;console['log'](),console[b6(0x2aa)](a0L[b6(0x363)]('\x20\x20┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄')),console[b6(0x2aa)](a0L[b6(0x332)](b6(0x43a))+a0L['gray'](b6(0x2df))),null!==a3&&console[b6(0x2aa)](a0L['gray']('\x20\x20\x20\x20\x20'+a3+b6(0x245))),console['log'](a0L[b6(0x363)](b6(0x1db))),a0[b6(0x405)](b6(0x2f8)),Y[b6(0x2fc)]=Array[b6(0x407)](a0),a0Z(Y);}if(0x41c+-0x1a89+-0x1d*-0xc7===Z&&a1>=-0x25b3*-0x1+-0xdbe+0x3*-0x7ef&&!a0[b6(0x2ca)]('p30')){Object['keys'](Y['answers']||{})[b6(0x4b0)];const a4=Object[b6(0x321)](Y[b6(0x496)]||{})[b6(0x2bd)](a5=>Number(a5)<=-0x1799*-0x1+0xed5+0x4*-0x994)['length'];console[b6(0x2aa)](),console[b6(0x2aa)](a0L[b6(0x466)](b6(0x1dc))),console['log'](a0L[b6(0x3f2)][b6(0x466)]('\x20\x20✓\x20\x20MCQ\x20section\x20complete\x20—\x20well\x20done!')),console[b6(0x2aa)](a0L[b6(0x363)](b6(0x497)+a4+b6(0x312))),console[b6(0x2aa)](a0L[b6(0x329)](b6(0x3fc))),console[b6(0x2aa)](a0L['gray']('\x20\x20\x20\x20\x20Budget\x20~2\x20min\x20per\x20practical\x20question.\x20You\x20can\x20come\x20back\x20with:\x20next\x20/\x20prev.')),console[b6(0x2aa)](a0L[b6(0x466)](b6(0x1dc))),a0['add']('p30'),Y[b6(0x2fc)]=Array[b6(0x407)](a0),a0Z(Y);}}(F,z['number']),F&&L&&function(Y,Z){const b7=b5;if('demo-free'===Y[b7(0x1e8)][b7(0x3e1)])return;if(Number(Y[b7(0x1e8)][b7(0x27a)]||-0x1*0xaee+-0x320+-0x6b*-0x22)<-0x1d92*-0x1+0x24b2+-0x421c)return;const a0=new Set(Y['shownWarnings']||[]);Z>=0x141c+0x2582*0x1+-0x397f&&Z<=-0x1693+-0x375+0x45d*0x6&&!a0[b7(0x2ca)](b7(0x235))?(console[b7(0x2aa)](),console[b7(0x2aa)](a0L[b7(0x466)](b7(0x370))),console['log'](a0L[b7(0x3f2)][b7(0x466)]('\x20\x20\x20🚀\x20\x20Section\x202:\x20AI4CTF\x20—\x20AI\x20is\x20your\x20teammate')),console[b7(0x2aa)](a0L[b7(0x466)](b7(0x370))),console[b7(0x2aa)](),console[b7(0x2aa)](a0L[b7(0x329)](b7(0x444))),console['log'](a0L[b7(0x329)](b7(0x372))),console[b7(0x2aa)](),console[b7(0x2aa)](a0L[b7(0x3f2)][b7(0x329)]('\x20\x20\x20Q31–38\x20(8\x20questions\x20·\x206\x20pts\x20each)')),console[b7(0x2aa)](a0L[b7(0x363)](b7(0x4d8))+a0L[b7(0x3f2)](b7(0x3af))+a0L[b7(0x363)](b7(0x3b9))),console[b7(0x2aa)](),console[b7(0x2aa)](a0L[b7(0x3f2)][b7(0x329)](b7(0x4c3))),console[b7(0x2aa)](a0L[b7(0x363)](b7(0x460))+a0L[b7(0x3f2)][b7(0x466)](b7(0x24b))+a0L[b7(0x363)]('\x20→\x20')+a0L[b7(0x42a)](b7(0x24c))+a0L['gray'](b7(0x42b))),console['log'](a0L[b7(0x363)]('\x20\x20\x20\x20\x20Inside\x20chat:\x20\x20\x20\x20')+a0L['cyan'](b7(0x265))+a0L[b7(0x363)](b7(0x338))+a0L['cyan'](b7(0x3ab))+a0L[b7(0x363)](b7(0x338))+a0L[b7(0x332)]('!python3\x20...')),console[b7(0x2aa)](a0L[b7(0x363)]('\x20\x20\x20\x20\x20Free\x20chat:\x20\x20\x20\x20\x20\x20any\x20message\x20→\x20AI\x20teammate')),console['log'](a0L['gray'](b7(0x3b4))+a0L[b7(0x332)](b7(0x434))+a0L[b7(0x363)](b7(0x3a6))+a0L['cyan'](b7(0x361))),console[b7(0x2aa)](),console['log'](a0L['bold'][b7(0x329)](b7(0x32c))),console[b7(0x2aa)](a0L[b7(0x363)]('\x20\x20\x20\x20\x20AI\x20tokens:\x20\x20\x20\x20\x20\x20')+a0L[b7(0x329)](b7(0x4b5))+a0L[b7(0x363)]('\x20for\x20this\x20section')),console[b7(0x2aa)](a0L['gray'](b7(0x2ed))+a0L[b7(0x329)]('pre-written\x20per\x20question')),console[b7(0x2aa)](),console[b7(0x2aa)](a0L['yellow'](b7(0x36c))),console[b7(0x2aa)](a0L[b7(0x466)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b7(0x2aa)](),a0[b7(0x405)](b7(0x235)),Y[b7(0x2fc)]=Array[b7(0x407)](a0),a0Z(Y)):Z>=-0x1*-0x1577+0x1*-0x615+-0xf3b&&!a0['has'](b7(0x4c9))&&(console[b7(0x2aa)](),console[b7(0x2aa)](a0L[b7(0x38d)](b7(0x370))),console[b7(0x2aa)](a0L[b7(0x3f2)]['red'](b7(0x2f0))),console[b7(0x2aa)](a0L[b7(0x38d)](b7(0x370))),console['log'](),console[b7(0x2aa)](a0L[b7(0x329)](b7(0x2e3))),console[b7(0x2aa)](a0L[b7(0x329)]('\x20\x20\x20using\x20AI,\x20you\x27re\x20')+a0L['bold'](b7(0x21f))+a0L[b7(0x329)](b7(0x42c))),console[b7(0x2aa)](),console[b7(0x2aa)](a0L[b7(0x3f2)][b7(0x329)]('\x20\x20\x20Q39–40\x20(2\x20questions\x20·\x2016\x20pts\x20each\x20—\x20highest\x20value!)')),console[b7(0x2aa)](a0L[b7(0x363)]('\x20\x20\x20\x20\x20Prompt\x20injection\x20·\x20adversarial\x20analysis\x20·\x20AI\x20auditing')),console[b7(0x2aa)](),console[b7(0x2aa)](a0L[b7(0x3f2)][b7(0x329)]('\x20\x20\x20How\x20to\x20attack')),console['log'](a0L[b7(0x363)](b7(0x460))+a0L[b7(0x3f2)]['red']('ctf4ai')+a0L['gray'](b7(0x1e7))+a0L[b7(0x38d)](b7(0x2c7))+a0L['gray'](b7(0x456))),console[b7(0x2aa)](a0L[b7(0x363)](b7(0x438))+a0L['cyan'](b7(0x265))+a0L['gray'](b7(0x338))+a0L[b7(0x332)]('submit\x20ICOA{...}')+a0L[b7(0x363)](b7(0x338))+a0L[b7(0x332)]('!python3\x20...')),console[b7(0x2aa)](a0L[b7(0x363)](b7(0x342))),console[b7(0x2aa)](),console['log'](a0L[b7(0x3f2)][b7(0x329)](b7(0x410))),console[b7(0x2aa)](a0L[b7(0x363)]('\x20\x20\x20\x20\x20·\x20AI\x20is\x20your\x20')+a0L[b7(0x38d)]('target')+a0L['gray'](',\x20not\x20your\x20teammate')),console[b7(0x2aa)](a0L[b7(0x363)](b7(0x36d))+a0L[b7(0x329)]('25,000\x20tokens')+a0L[b7(0x363)](b7(0x291))),console[b7(0x2aa)](),console[b7(0x2aa)](a0L[b7(0x378)](b7(0x408))),console[b7(0x2aa)](a0L['yellow']('\x20\x20\x20If\x20time\x20is\x20tight,\x20skim\x20Q39/40\x20first\x20to\x20decide\x20attack\x20order.')),console[b7(0x2aa)](a0L[b7(0x38d)](b7(0x370))),console['log'](),a0[b7(0x405)](b7(0x4c9)),Y[b7(0x2fc)]=Array[b7(0x407)](a0),a0Z(Y));}(F,z[b5(0x264)]),F&&function(Y){const b8=b5,Z=a0a1();if(!Z)return;const a0=Z[b8(0x1d9)]()-Date['now']();if(a0<=0x397+-0xf47+0x10*0xbb)return;const a1=a0/(0x5eef*-0x3+-0x143b4+-0x11ef*-0x2f),a2=new Set(Y[b8(0x2fc)]||[]);let a3=null;if(a1<=0xb92+-0x19*-0x9b+-0x1ab4&&!a2[b8(0x2ca)]('t1')?a3={'key':'t1','text':[a0L[b8(0x38d)][b8(0x3f2)](b8(0x326)),a0L[b8(0x38d)](b8(0x203))+a0L[b8(0x3f2)]('exam\x20submit')]}:a1<=0x1091*-0x1+0x112f+-0x33*0x3&&!a2['has']('t5')?a3={'key':'t5','text':[a0L['red']['bold'](b8(0x267)),a0L['yellow']('\x20\x20Wrap\x20up\x20and\x20submit:\x20')+a0L['bold'](b8(0x431))]}:a1<=-0x5*0x219+-0x12d1*-0x1+0x2*-0x425&&!a2['has'](b8(0x3c5))&&(a3={'key':b8(0x3c5),'text':[a0L['yellow']['bold']('\x20\x20⏰\x2010\x20minutes\x20remaining'),a0L[b8(0x363)](b8(0x3b7))+a0L['white'](b8(0x4dc))]}),a3){console['log'](),console[b8(0x2aa)](a0L[b8(0x38d)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));for(const a4 of a3[b8(0x45b)])console['log'](a4);console[b8(0x2aa)](a0L[b8(0x38d)](b8(0x1dc))),a2['add'](a3[b8(0x1dd)]),Y[b8(0x2fc)]=Array[b8(0x407)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const b9=b5,a1=Math[b9(0x3fb)](Y/Z*(-0xe*-0x2be+0x206f*0x1+-0x46b5)),a2=-0xafd*0x2+0x1988+0x370*-0x1-a1,a3=a0L[b9(0x332)]('━'['repeat'](a1))+a0L[b9(0x363)]('─'[b9(0x2e2)](a2)),a4=Math[b9(0x3fb)](Y/Z*(0xda*-0x19+0x521+0x108d*0x1));console[b9(0x2aa)](),console['log']('\x20\x20'+a3+'\x20\x20'+a0L['white']['bold'](''+Y)+a0L['gray']('/'+Z)+'\x20\x20'+a0L[b9(0x363)]('('+a0+b9(0x28f))+'\x20\x20'+a0L[b9(0x363)](a4+'%'));const a5=a0a1();if(a5){const a6=Math[b9(0x26b)](-0x1*-0x4d6+-0x2*-0x45a+-0xd8a,Math[b9(0x3fb)]((a5[b9(0x1d9)]()-Date[b9(0x360)]())/(-0x21*0xc+0x1f00+0x147*-0x14))),a7=Math[b9(0x354)](a6/(-0x2537*-0x1+0x1de9+-0x4*0x10b9))+':'+String(a6%(0x66a*0x6+0x2300+0x24a0*-0x2))[b9(0x3f6)](0x539*0x7+-0x1505+0x238*-0x7,'0'),a8=a6<=-0x1ac4+-0x831+0x2331?a0L[b9(0x38d)][b9(0x3f2)]:a6<=0x1*0x19cf+-0x21a0+-0xb1*-0xd?a0L['red']:a6<=-0x1*0x1260+-0x29*-0xb5+-0x845?a0L[b9(0x378)]:a0L['gray'];console[b9(0x2aa)]('\x20\x20'+a0L[b9(0x363)](b9(0x428))+'\x20'+a8(a7)+'\x20'+a0L[b9(0x363)]('(server-authoritative)'));}}(z[b5(0x264)],G,H),F&&D(F,z[b5(0x264)])&&console[b5(0x2aa)](a0L[b5(0x378)](b5(0x43c)));const Q=function(Y,Z){const ba=b5,a0={};a0['pct']=0.2,a0[ba(0x2b5)]=ba(0x29a),a0[ba(0x1dd)]=ba(0x343);const a1={};a1[ba(0x357)]=0.33,a1[ba(0x2b5)]='🐨',a1[ba(0x1dd)]='egg5';const a2={};a2['pct']=0.5,a2[ba(0x2b5)]='🌉',a2[ba(0x1dd)]=ba(0x38e);const a3={};a3['pct']=0.6,a3[ba(0x2b5)]='🦘',a3['key']=ba(0x4ba);const a4={};a4['pct']=0.8,a4[ba(0x2b5)]=ba(0x35c),a4['key']=ba(0x47a);const a5={};a5[ba(0x357)]=0.87,a5[ba(0x2b5)]='🦈',a5[ba(0x1dd)]='egg13';const a6={};a6[ba(0x357)]=0x1,a6[ba(0x2b5)]='🎉',a6[ba(0x1dd)]='egg15';const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[ba(0x3fb)](a9[ba(0x357)]*Z);if(!(aa<0x97f+0x40*0x5+-0xabe||a8[ba(0x2ca)](aa))&&(a8[ba(0x405)](aa),Y===aa))return{'emoji':a9[ba(0x2b5)],'text':a0ai(a9[ba(0x1dd)])};}}(z[b5(0x264)],G);if(Q&&console[b5(0x2aa)](a0L[b5(0x378)]('\x20\x20'+Q[b5(0x2b5)]+'\x20\x20'+Q[b5(0x45b)])),console[b5(0x2aa)](),z['category']&&console[b5(0x2aa)](a0L['cyan'](b5(0x450)+z[b5(0x3e8)]+']')),z[b5(0x394)]&&z[b5(0x394)]>0x1*-0x1e0d+0x2*-0x2f+-0x1e6d*-0x1&&console[b5(0x2aa)](a0L['cyan'](b5(0x450)+z['points']+'\x20points]')),L){let Y=z[b5(0x2c5)]||z['text'];const Z=a0a2(z[b5(0x264)],z[b5(0x30e)]);if(z[b5(0x30e)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b5(0x374)](Y)?Y=Y[b5(0x4a0)](a1,z[b5(0x30e)]):Y[b5(0x38a)](z[b5(0x30e)])||(Y=Y+'\x0a\x0aFull\x20attached\x20data:\x0a'+z['attachedData']);}console[b5(0x2aa)](a0L['bold'][b5(0x329)]('\x20\x20Q'+z[b5(0x264)]+'.\x20')+a0L[b5(0x329)](Y['split']('\x0a')[0x1b9+0x2*-0x3b5+0x5b1]));const a0=Y[b5(0x451)]('\x0a')[b5(0x48e)](-0x23dd+0x5d8+0x1e06);for(const a2 of a0)console[b5(0x2aa)](a0L[b5(0x329)]('\x20\x20'+a2));if(console[b5(0x2aa)](),Z&&b5(0x24b)===z['type']){const a3=Z[b5(0x4a0)](process.env.HOME||'','~');console[b5(0x2aa)](a0L[b5(0x332)]('\x20\x20'+a0ai('examWaysToSolve')+'\x20')+a0L['gray']('('+a0ai('examWaysSavedTo')+'\x20'+a3+'):')),console[b5(0x2aa)](a0L[b5(0x329)]('\x20\x20\x20\x20①\x20')+a0L[b5(0x378)](b5(0x21a)+a3)[b5(0x37e)](0x1ca9+-0x2a0+0x1*-0x19d5)+a0L[b5(0x363)]('\x20'+a0ai(b5(0x41f)))),console[b5(0x2aa)](a0L[b5(0x329)](b5(0x2c8))+a0L[b5(0x378)]('!python3')['padEnd'](0x98a+0xb89*0x1+-0xad*0x1f)+a0L[b5(0x363)]('\x20'+a0ai(b5(0x2cf)))),console[b5(0x2aa)](a0L['white'](b5(0x2f6))+a0L[b5(0x378)](b5(0x38c))+a0L[b5(0x363)](b5(0x1e0))+a0L['yellow'](b5(0x4af))),console['log'](a0L[b5(0x329)](b5(0x2c2))+a0L[b5(0x378)]('ref\x20python')['padEnd'](-0x8*0x26c+0x770*-0x5+0x38b0)+a0L[b5(0x363)]('\x20'+a0ai(b5(0x1ff)))),console['log'](a0L[b5(0x329)](b5(0x2ce))+a0L[b5(0x378)]('ai4ctf')[b5(0x37e)](0x127f+-0x18*-0x178+-0x25*0x173)+a0L[b5(0x363)]('\x20'+a0ai('examWaysAi4ctf'))),console[b5(0x2aa)](),console[b5(0x2aa)](a0L[b5(0x363)]('\x20\x20'+a0ai(b5(0x23d))+'\x20')+a0L['bold'][b5(0x466)]('submit\x20ICOA{your_flag}')),console['log']();}B&&(console['log'](a0L[b5(0x466)]('\x20\x20Your\x20answer:\x20'+B)),console[b5(0x2aa)]());}else{console[b5(0x2aa)](a0L[b5(0x3f2)][b5(0x329)](b5(0x37f)+z['number']+'.\x20')+a0L[b5(0x329)](z[b5(0x45b)])),console[b5(0x2aa)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K[b5(0x38a)](a4)?console[b5(0x2aa)](a0L['gray'][b5(0x2c4)](b5(0x382)+a4+'.\x20'+z[b5(0x472)][a4])+a0L[b5(0x38d)]('\x20('+a0ai(b5(0x384))+')')):a5?console[b5(0x2aa)](a0L[b5(0x466)][b5(0x3f2)]('\x20\x20▸\x20'+a4+'.\x20'+z['options'][a4])):console['log'](a0L[b5(0x363)](b5(0x382)+a4+'.')+'\x20'+a0L[b5(0x329)](z[b5(0x472)][a4]));}console['log']();}const V=b5(0x398)===F?.['session'][b5(0x3e1)],W=J[b5(0x33b)][-0x22db*0x1+-0xa38+0x3*0xf07]||0xa65+0xaeb*0x3+-0x2b26;V&&-0x239*0x10+-0x844*-0x2+0x130a===z[b5(0x264)]&&-0x7*0x17c+-0xe76+0x18da===W&&(console[b5(0x2aa)](a0L['yellow']['bold']('\x20\x20'+a0ai('qTutorial'))),console[b5(0x2aa)]());const X=J[b5(0x26b)]-J[b5(0x4c7)];if(console[b5(0x2aa)](a0L[b5(0x363)](b5(0x362))),L){const a6=F&&b5(0x398)!==F['session']['examId']&&z[b5(0x264)]>=-0x12aa+0x11*-0x203+0x20a*0x1a&&z[b5(0x264)]<=0x337*-0x1+0x166c+-0x130d,a7=F&&b5(0x398)!==F[b5(0x1e8)][b5(0x3e1)]&&z[b5(0x264)]>=0x1fe9+0x15c+-0x2126&&z['number']<=0x1d63+0x1*0x106b+-0x16d4*0x2;b5(0x3e3)===z[b5(0x2b7)]?console[b5(0x2aa)](a0L[b5(0x3f2)][b5(0x332)](b5(0x2fa))+a0L[b5(0x363)](b5(0x2b1))):a7?console['log'](a0L['bold'][b5(0x466)]('\x20\x20\x20\x20ai4ctf')+a0L[b5(0x363)]('\x20\x20\x20\x20\x20\x20\x20\x20enter\x20AI4CTF\x20chat\x20for\x20this\x20question\x20(recommended)')):a6&&console[b5(0x2aa)](a0L[b5(0x3f2)]['red'](b5(0x34b))+a0L['gray'](b5(0x20e))),console[b5(0x2aa)](a0L[b5(0x378)]('\x20\x20\x20\x20exam\x20answer\x20<n>\x20ICOA{...}')+a0L[b5(0x363)](b5(0x253))),console[b5(0x2aa)](a0L[b5(0x378)](b5(0x2d5))+a0L[b5(0x363)](b5(0x4c6)));}else{const a8=J[b5(0x26b)]>=-0x239+0xf9f+0x8*-0x1a9,a9=X>0x3cb*0x4+0xb78*0x1+-0x1aa4*0x1?a0L['gray'](a0ai('helpRemove')+'\x20')+a0L[b5(0x378)]('('+X+'/'+J[b5(0x26b)]+')'):a8?a0L[b5(0x363)](a0ai(b5(0x214))+'\x20('+J[b5(0x4c7)]+'/'+J[b5(0x26b)]+')'):a0L[b5(0x363)](''+a0ai('helpUsedUp'));console['log'](a0L['yellow'](b5(0x228))+a0L[b5(0x363)](b5(0x4d0)+a0ai(b5(0x224)))),console[b5(0x2aa)](a0L[b5(0x378)](b5(0x1fb))+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a9);}console[b5(0x2aa)](a0L[b5(0x378)](b5(0x3dd))+a0L['gray'](b5(0x310))+a0L[b5(0x378)](b5(0x217))+a0L[b5(0x363)](b5(0x382)+a0ai(b5(0x1f2)))),console[b5(0x2aa)](a0L[b5(0x378)](b5(0x484)+G)+a0L[b5(0x363)]('\x20\x20\x20'+a0ai('htpJump'))),console[b5(0x2aa)](a0L[b5(0x378)]('\x20\x20\x20\x20mark')+a0L[b5(0x363)](b5(0x279)+a0ai(b5(0x3bc)))),console[b5(0x2aa)](a0L[b5(0x378)](b5(0x461))+a0L['gray'](b5(0x2e6)+a0ai(b5(0x3c9)))),console['log'](a0L[b5(0x3f2)]['yellow'](b5(0x31d))+a0L[b5(0x363)](b5(0x2e6)+a0ai('htpSubmit'))),console[b5(0x2aa)](a0L[b5(0x378)]('\x20\x20\x20\x20back')+a0L[b5(0x363)](b5(0x279)+a0ai(b5(0x359)))),console[b5(0x2aa)](a0L[b5(0x378)](b5(0x45e))+a0L[b5(0x363)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai('htpLang'))),console['log'](a0L[b5(0x363)](b5(0x362)));}export function registerExamCommand(z){const bb=a0B,B=z[bb(0x221)]('exam')[bb(0x2c5)](bb(0x41a));B[bb(0x221)](bb(0x36f))[bb(0x2c5)](bb(0x42f))[bb(0x287)](()=>{const bc=bb;a0a8(bc(0x3a4)),console[bc(0x2aa)](),a0ae(bc(0x2b9)),console[bc(0x2aa)]();const F=[['AU','Australia'],['BD',bc(0x3e9)],['BI',bc(0x216)],['BR',bc(0x313)],['CN',bc(0x3f3)],['DE',bc(0x3d3)],['EG',bc(0x24a)],['FR',bc(0x418)],['GH','Ghana'],['ID',bc(0x404)],['IN',bc(0x446)],['JP',bc(0x422)],['KR',bc(0x1f6)],['LA',bc(0x4c0)],['LK',bc(0x2da)],['MM',bc(0x4be)],['MO','Macau'],['MY','Malaysia'],['NZ','New\x20Zealand'],['PE',bc(0x255)],['PH',bc(0x315)],['RU','Russia'],['SA',bc(0x1e3)],['SG',bc(0x40e)],['TH',bc(0x205)],['TR',bc(0x447)],['UK',bc(0x4cc)],['US','United\x20States'],['UZ','Uzbekistan'],['VN',bc(0x494)],['ZA',bc(0x236)]];for(let G=0x1a70+-0x21cc+-0x3*-0x274;G<F[bc(0x4b0)];G+=0xcb9+0x4fd*0x2+-0x1e4*0xc){const H=F[bc(0x48e)](G,G+(0xa4b*0x2+-0x121*-0xb+-0x107f*0x2))[bc(0x4b6)](([J,K])=>'\x20\x20'+a0L[bc(0x332)](J)+'\x20\x20'+a0L[bc(0x363)](K[bc(0x37e)](-0x1307*-0x2+-0x23e*-0xd+-0x4324)))[bc(0x22d)]('');console[bc(0x2aa)](H);}console[bc(0x2aa)](),console[bc(0x2aa)](a0L[bc(0x363)]('\x20\x2040+\x20countries\x20and\x20regions\x20represented')),console[bc(0x2aa)](a0L[bc(0x363)](bc(0x365))),console[bc(0x2aa)](),console['log'](a0L[bc(0x329)](bc(0x247))),console[bc(0x2aa)](a0L['cyan']('\x20\x20\x20\x20exam\x20list\x20AU')+a0L['gray'](bc(0x2a7))+a0L[bc(0x363)]('\x20\x20\x20\x20\x20exam\x20list\x20CN')),console['log']();}),B[bb(0x221)]('list\x20[country]')[bb(0x2c5)]('List\x20available\x20exams\x20(optional:\x202-letter\x20country\x20code)')[bb(0x287)](async F=>{const bd=bb;a0a8(bd(0x414)+(F||''));const G=M();if(!G)return;const H=a0ag(bd(0x499));H[bd(0x25c)]();try{let J=await G['getExams']();if(H['stop'](),F){const Q=F[bd(0x4cf)]();J=J[bd(0x2bd)](V=>V[bd(0x419)][bd(0x4cf)]()===Q||'ALL'===V[bd(0x419)]);}if(!J||-0x1e0+0x94f*-0x4+0x271c===J[bd(0x4b0)]){console[bd(0x2aa)](),a0ac(F?bd(0x3d2)+F[bd(0x4cf)]()+'\x20yet.':'No\x20exams\x20available\x20for\x20your\x20country\x20yet.'),console['log'](),console[bd(0x2aa)](a0L[bd(0x329)]('\x20\x20New\x20exams\x20are\x20coming\x20soon!')),console[bd(0x2aa)](a0L[bd(0x363)](bd(0x492))),console['log'](),console[bd(0x2aa)](a0L[bd(0x363)]('\x20\x20In\x20the\x20meantime,\x20try:\x20')+a0L[bd(0x3f2)][bd(0x332)]('demo')),console[bd(0x2aa)]();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||'')['toUpperCase']();return void(W[X]&&(console[bd(0x2aa)](a0L[bd(0x363)](bd(0x42e)+W[X])),console['log']()));}const K=J[bd(0x4b6)](Y=>{const be=bd,Z=be(0x31c)===Y[be(0x231)]?a0L[be(0x466)]:be(0x22a)===Y[be(0x231)]?a0L['yellow']:a0L[be(0x329)];return[a0L['white'](Y['id']),Y[be(0x244)],a0L['cyan'](Y['country']),String(Y[be(0x27a)]),Y[be(0x489)]+be(0x366),Z(Y[be(0x231)])];}),L=[...new Set(J[bd(0x4b6)](Y=>Y[bd(0x419)]))];a0ae(F?bd(0x37a)+F['toUpperCase']():bd(0x1ed)+L[bd(0x4b0)]+bd(0x3bd)),a0ad(['ID',bd(0x340),bd(0x49d),bd(0x441),'Duration',bd(0x22e)],K),console['log'](),console[bd(0x2aa)](a0L[bd(0x363)](bd(0x433))),L['length']>-0x71*-0x5+0xd7+0x13*-0x29&&console[bd(0x2aa)](a0L['gray']('\x20\x20Filter\x20by\x20country:\x20exam\x20list\x20PE,\x20exam\x20list\x20CN,\x20...'));}catch(Y){H[bd(0x454)](bd(0x325)),a0aa(Y['message']);}}),B[bb(0x221)](bb(0x4a2))[bb(0x2c5)](bb(0x3da))[bb(0x287)](async F=>{const bf=bb;a0a8(bf(0x453)+F);const G=a0Y();if(G)return a0ab('Exam\x20\x22'+G[bf(0x1e8)]['examName']+'\x22\x20is\x20already\x20in\x20progress.'),void a0ac(bf(0x3cb));const H=M();if(!H)return;const J=await a0Q({'message':a0L['white'](bf(0x425)),'default':!(-0xdb2+0x19c4+-0xc12),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bf(0x466)](K)}}});if(J){console[bf(0x2aa)]();try{N(-0x2*0x61f+-0x4*0x337+-0x85e*-0x3,bf(0x41b));const {session:K,questions:L}=await H['startExam'](F);N(-0x499*-0x1+-0x6f6+0x27b*0x1,bf(0x2e9)),await q(0x26bb+-0x8e*-0x42+-0x4a8f),N(-0x2*-0x12a9+0x3+-0x2519,'Preparing\x20exam\x20environment...'),await q(0x1*-0xb73+0x1e1*0x3+-0xd3*-0x8),N(0x9d+0x9*0x7a+-0x5*0xe9,bf(0x3b3)),await q(-0x47*-0x71+0x1eab+-0x3d6c),a0Z({'session':K,'questions':L,'answers':{}}),N(-0x911+0x66e+0x307,'Ready!'),console[bf(0x2aa)](),console[bf(0x2aa)](),a0ae(K[bf(0x22f)]),a0af(bf(0x441),String(K[bf(0x27a)])),a0af(bf(0x20d),K[bf(0x489)]+bf(0x257)),a0af(bf(0x49d),K[bf(0x419)]),O(),L[bf(0x4b0)]>0x79b+0x93e+-0x10d9&&U(L[-0x1231+0x8a9+0x7a*0x14]);}catch(Q){console[bf(0x2aa)](),a0aa(Q['message']);}}}),B[bb(0x221)]('q\x20[n]')[bb(0x2c5)](bb(0x44c))[bb(0x287)](async F=>{const bg=bb;a0a8(bg(0x479)+(F||'all'));const {refetchQuestionDataIfStale:G}=await import(bg(0x23f));await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,0x2*0xf4a+-0x14e6+-0x2*0x4d2),K=H[bg(0x413)][bg(0x3ad)](L=>L[bg(0x264)]===J);if(!K)return void a0aa(bg(0x328)+F+bg(0x3ce)+H['questions'][bg(0x4b0)]+').');H[bg(0x3eb)]=J,a0Z(H),U(K,H[bg(0x496)][J]);}else{a0ae(''+H[bg(0x1e8)][bg(0x22f)]);const L=Object[bg(0x321)](H['answers'])[bg(0x4b0)];a0af(bg(0x327),L+'/'+H[bg(0x1e8)][bg(0x27a)]+'\x20answered'),console['log']();for(const Q of H['questions']){const V=H[bg(0x496)][Q['number']],W=V?a0L[bg(0x466)]('['+V+']'):a0L[bg(0x363)](bg(0x4b3)),X=Q[bg(0x3e8)]?a0L['gray']('\x20['+Q[bg(0x3e8)]+']'):'';console[bg(0x2aa)]('\x20\x20'+W+'\x20'+a0L[bg(0x329)]('Q'+Q[bg(0x264)])+X+'\x20'+a0L['gray'](Q[bg(0x45b)][bg(0x285)](-0x3*-0x1ab+-0x4*-0x752+0x2249*-0x1,-0x1*-0x11d2+-0x1c1*0x6+-0x71*0x10))+(Q[bg(0x45b)]['length']>0x1*0x12b9+-0x541+-0x34f*0x4?bg(0x39a):''));}console[bg(0x2aa)]();}}else a0aa(bg(0x25a));}),B[bb(0x221)](bb(0x1ec))[bb(0x2c5)](bb(0x206))[bb(0x287)](F=>{const bh=bb;a0a8('exam\x20mark\x20'+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G['questions'][bh(0x4b0)],J=F?parseInt(F,-0x1b2d+0xd*-0x251+0x3954):G[bh(0x3eb)]||0x2141+-0x21f7+0xb7;if(Number[bh(0x415)](J)||J<-0x209f+-0x1*0x643+0x26e3||J>H)return void a0aa('Invalid\x20question\x20number.\x20Use\x201..'+H+'.');const K=j(G,J);console[bh(0x2aa)](),K?console[bh(0x2aa)](a0L['yellow'](bh(0x416)+J+bh(0x3ba))):console[bh(0x2aa)](a0L[bh(0x363)](bh(0x25d)+J+bh(0x458)));const L=Array['isArray'](G[bh(0x26c)])?G[bh(0x26c)]:[];L[bh(0x4b0)]>0x12a*-0x16+0xf2f+0xa6d&&console[bh(0x2aa)](a0L['gray']('\x20\x20Currently\x20flagged:\x20'+L[bh(0x4b6)](Q=>'Q'+Q)[bh(0x22d)](',\x20'))),console[bh(0x2aa)](a0L['gray'](bh(0x3d7))+a0L[bh(0x329)](bh(0x4dc))),console[bh(0x2aa)]();}),B[bb(0x221)](bb(0x348))['description'](bb(0x4ae))['action'](F=>{const bi=bb;a0a8(bi(0x467)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G['questions'][bi(0x4b0)],J=F?parseInt(F,-0x19*-0xbc+0x1*0xb35+-0x1*0x1d87):G['_lastQ']||0x7*-0x4e1+-0x196c+0xf6*0x3e;Number[bi(0x415)](J)||J<-0x9e8+0x1*0x190f+-0xf26||J>H?a0aa(bi(0x288)+H+'.'):D(G,J)?(j(G,J),console[bi(0x2aa)](),console[bi(0x2aa)](a0L['gray']('\x20\x20☆\x20Q'+J+'\x20unflagged.')),console[bi(0x2aa)]()):console[bi(0x2aa)](a0L['gray'](bi(0x37f)+J+bi(0x4c2)));}),B[bb(0x221)](bb(0x2ff))[bb(0x2c5)](bb(0x3cc))['action'](()=>{const bj=bb;a0a8('exam\x20next');const F=a0Y();if(!F)return void a0aa(bj(0x346));F['questions'][bj(0x371)](K=>!F[bj(0x496)][K[bj(0x264)]]);const G=F[bj(0x3eb)]||0x1073+-0x1*0x1f89+-0xf17*-0x1,H=Math[bj(0x21c)](G+(-0x3*0x4e+0x35*0x19+-0x221*0x2),F[bj(0x413)][bj(0x4b0)]);F[bj(0x3eb)]=H,a0Z(F);const J=F[bj(0x413)][H-(-0x2257+0x1*0x409+0x1e4f)];U(J,F[bj(0x496)][J[bj(0x264)]]);}),B['command'](bb(0x217))[bb(0x2c5)](bb(0x3c0))[bb(0x287)](()=>{const bk=bb;a0a8(bk(0x40f));const F=a0Y();if(!F)return void a0aa(bk(0x346));const G=F[bk(0x3eb)]||-0x1*-0x25bf+0x12d*-0x1a+0x66*-0x12,H=Math['max'](G-(-0x2702*0x1+-0xc67+-0x19b5*-0x2),0x7*0x586+-0x25cc+-0xdd);F['_lastQ']=H,a0Z(F);const J=F[bk(0x413)][H-(0xb*0x166+-0x1733+0x7d2)];U(J,F[bk(0x496)][J[bk(0x264)]]);}),B['command']('help')['description'](bb(0x220))['action'](async()=>{const bl=bb;a0a8(bl(0x41e));const F=a0Y();if(!F)return void a0aa(bl(0x346));const G=R(F),H=F[bl(0x3eb)]||-0xd7*-0x5+0x1633+-0x1a65,J=G[bl(0x33b)][H]||0x1ed3+0x175*0x11+-0x3798,K=G[bl(0x49a)][H]||[],L=F[bl(0x413)][bl(0x3ad)](W=>W[bl(0x264)]===H);if(!L)return;if(J>=0xbdd*-0x1+-0x1df*-0xb+-0x8b6)return console['log'](),console['log'](a0L[bl(0x378)](bl(0x32d))),console[bl(0x2aa)](a0L['gray'](bl(0x4d3))),console[bl(0x2aa)](),void U(L,F[bl(0x496)][L['number']]);const Q=['A','B','C','D'][bl(0x2bd)](W=>!K[bl(0x38a)](W));if(Q[bl(0x4b0)]<=-0x5*-0x5+0x111*-0x5+0x3d*0x16)return console['log'](),console['log'](a0L['yellow'](bl(0x2b0))),console['log'](),void U(L,F['answers'][L['number']]);if(G[bl(0x4c7)]>=G[bl(0x26b)]){const W=G[bl(0x26b)]>=0x1*0x1522+0x1*0x1f99+-0x349d,X=-0x1*-0x4a8+0x23*-0x10c+0x201a-G[bl(0x26b)];return void(W?(console[bl(0x2aa)](),console[bl(0x2aa)](a0L[bl(0x363)](bl(0x3dc)+G['used']+'/'+G[bl(0x26b)]+').\x20You\x27re\x20on\x20your\x20own!\x20💪')),console[bl(0x2aa)]()):(console['log'](),console['log'](a0L[bl(0x378)](bl(0x2bf)+G[bl(0x4c7)]+'/'+G['max'])),console[bl(0x2aa)](a0L['white'](bl(0x2fe))+a0L[bl(0x3f2)][bl(0x378)]('more\x20help')+a0L['gray'](bl(0x48d)+X+bl(0x238))),console[bl(0x2aa)]()));}const V=Y=>{const bm=bl;K[bm(0x290)](Y),G[bm(0x49a)][H]||(G[bm(0x49a)][H]=[]),G[bm(0x49a)][H]=K,G[bm(0x33b)][H]=J+(0x209+-0xc49+-0x1*-0xa41),G[bm(0x4c7)]++,F[bm(0x24e)]=G[bm(0x4c7)],F[bm(0x491)]=G['max'],F[bm(0x324)]=G[bm(0x33b)],F[bm(0x2ee)]=G[bm(0x49a)],F[bm(0x4df)]||(F['interactions']=[]),F['interactions'][bm(0x290)]({'ts':new Date()[bm(0x45c)](),'q':H,'type':bm(0x320),'result':bm(0x2f7)+Y}),a0Z(F),console['log'](),console['log'](a0L[bm(0x378)](bm(0x222)+Y+bm(0x3be))+a0L['gray'](bm(0x270)+G[bm(0x4c7)]+'/'+G['max']+')')),U(L,F[bm(0x496)][L['number']]);};if(bl(0x398)===F[bl(0x1e8)][bl(0x3e1)]&&L[bl(0x3fe)])(Y=>{const bn=bl,Z=Q[bn(0x2bd)](a0=>a0!==Y&&!K[bn(0x38a)](a0));-0x428*0x1+-0x15*0x77+-0x7*-0x1fd!==Z[bn(0x4b0)]&&V(Z[Math[bn(0x354)](Math[bn(0x4b2)]()*Z[bn(0x4b0)])]);})(L[bl(0x3fe)]);else{const Y=a0W()['ctfdUrl']||bl(0x3df),Z=F[bl(0x1e8)]?.[bl(0x3c1)]||'';try{const a0={};a0[bl(0x2d0)]=bl(0x3d8),a0[bl(0x240)]=bl(0x2c3);const a1={};a1['token']=Z,a1[bl(0x2a1)]=H,a1[bl(0x49a)]=K;const a2=await fetch(Y+'/api/icoa/exams/'+F[bl(0x1e8)][bl(0x3e1)]+'/help',{'method':'POST','headers':a0,'body':JSON['stringify'](a1),'signal':AbortSignal[bl(0x373)](-0xd1a+0x26*-0xd1+-0x1*-0x3fa8)}),a3=await a2[bl(0x486)](),a4=a3?.['data']?.[bl(0x43d)];a4&&['A','B','C','D']['includes'](a4)?V(a4):(console[bl(0x2aa)](),console[bl(0x2aa)](a0L['gray'](bl(0x215))));}catch{console[bl(0x2aa)](),console[bl(0x2aa)](a0L[bl(0x363)]('\x20\x20Could\x20not\x20reach\x20server\x20for\x20help.\x20Check\x20your\x20connection.'));}}}),B[bb(0x221)](bb(0x23e))['description'](bb(0x400))[bb(0x287)](()=>{const bo=bb;a0a8(bo(0x31a));const F=a0Y();if(!F)return void a0aa(bo(0x346));const G=R(F),H=bo(0x398)===F[bo(0x1e8)][bo(0x3e1)]?0x750+0x1*0xdcd+-0x1515:0xc82*0x3+-0xfb0*-0x2+-0x44c8;if(G['max']>=H)return void console[bo(0x2aa)](a0L[bo(0x363)](bo(0x475)));if(G[bo(0x4c7)]<G['max'])return void console['log'](a0L[bo(0x363)](bo(0x4ce)+(G[bo(0x26b)]-G['used'])+bo(0x406)));const J=H-G[bo(0x26b)];F['_helpMax']=H,a0Z(F),console['log'](),console['log'](a0L['green'](bo(0x3ca)+J+bo(0x33c)+J+'/'+H+bo(0x2bb))),console[bo(0x2aa)](a0L[bo(0x363)]('\x20\x20Type\x20\x22help\x22\x20on\x20any\x20question\x20to\x20use.')),console['log']();}),B[bb(0x221)](bb(0x309))[bb(0x2c5)](bb(0x4a4))[bb(0x287)](async(F,G)=>{const bp=bb,H=G[bp(0x22d)]('\x20');a0a8(bp(0x383)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bp(0x25a));if(!(function(){const bq=bp,Z=a0a1();if(!Z)return!(-0x1*-0x1cbb+-0x17fd+-0x4be);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bq(0x321)](a0[bq(0x496)])[bq(0x4b0)];bq(0x398)===a0[bq(0x1e8)][bq(0x3e1)]||-0x141c+0x52*-0x44+0x29e4===a1?(a0a0(),a0ab('Exam\x20expired\x20and\x20cleared.'),a0ac(bq(0x2db))):(a0aa(bq(0x3ec)),a0ac(bq(0x455)));}return!(0x175+-0x2d*-0x14+-0x13e*0x4);}return!(-0x1f64+-0x1988+0x38ec);}()))return;const K=parseInt(F,-0xb80+-0x36*0xb1+0x1870*0x2),L=J[bp(0x413)][bp(0x3ad)](Z=>Z[bp(0x264)]===K);if(!L)return void a0aa(bp(0x328)+F+bp(0x3ce)+J[bp(0x413)]['length']+').');let Q;if(bp(0x24b)===L[bp(0x2b7)]||bp(0x1df)===L[bp(0x2b7)]||bp(0x3e3)===L['type']||L['options']&&!L[bp(0x472)]['A']&&!L[bp(0x472)]['B']){if(Q=H[bp(0x2fd)](),/^submit\s+/i[bp(0x374)](Q)&&(Q=Q[bp(0x4a0)](/^submit\s+/i,'')[bp(0x2fd)]()),Q=Q[bp(0x4a0)](/^["'`]+|["'`]+$/g,'')[bp(0x2fd)](),!Q)return void a0aa(bp(0x38b));if(/^[A-Da-d]$/[bp(0x374)](Q))return a0aa('Q'+K+bp(0x3ed)),void console[bp(0x2aa)](a0L[bp(0x363)](bp(0x477))+a0L[bp(0x466)](bp(0x383)+K+bp(0x4ac)));}else{if(Q=H['toUpperCase'](),!['A','B','C','D']['includes'](Q))return void a0aa(bp(0x2f3));}if(bp(0x398)===J[bp(0x1e8)]['examId']&&-0x11*-0x1d3+0x1*0x796+-0x2697===K&&0x1e1+-0x5*-0x61f+-0x207c===(R(J)[bp(0x33b)][-0x2b9*-0xb+-0x4a0*-0x2+-0x2731*0x1]||-0x2047*0x1+0x1c*-0xf1+0x3aa3))return console['log'](),console[bp(0x2aa)](a0L[bp(0x378)]('\x20\x20💡\x20Try\x20typing\x20')+a0L[bp(0x3f2)][bp(0x378)](bp(0x33f))+a0L[bp(0x378)](bp(0x2f4))),console[bp(0x2aa)](a0L['gray'](bp(0x49b))),void console[bp(0x2aa)]();const V=J['answers'][K];J[bp(0x4df)]||(J[bp(0x4df)]=[]),J[bp(0x4df)][bp(0x290)]({'ts':new Date()[bp(0x45c)](),'q':K,'type':V?bp(0x271):'answer_submitted','input':Q,'result':V?bp(0x1eb)+V:bp(0x391)}),J[bp(0x496)][K]=Q,J[bp(0x3eb)]=K,a0Z(J),console['log'](a0L[bp(0x363)]('\x20\x20\x20\x20✓\x20saved'));const W=J['session']['token'];if(W&&bp(0x398)!==J[bp(0x1e8)][bp(0x3e1)]){const Z=(a0W()[bp(0x318)]||'https://practice.icoa2026.au')+bp(0x368)+J['session'][bp(0x3e1)]+'/answer',a0={};a0[bp(0x2d0)]=bp(0x3d8);const a1={};a1['token']=W,a1[bp(0x2a1)]=K,a1['answer']=Q,fetch(Z,{'method':bp(0x20a),'headers':a0,'body':JSON['stringify'](a1),'signal':AbortSignal[bp(0x373)](0x1642+0x2d7+0x591*-0x1)})[bp(0x3f8)](()=>{});}const X=Object[bp(0x321)](J['answers'])[bp(0x4b0)],Y=J[bp(0x1e8)][bp(0x27a)];if(a0a9('Q'+K+':\x20'+Q+bp(0x223)+X+'/'+Y+'\x20answered)'),bp(0x398)===J[bp(0x1e8)]['examId']&&L[bp(0x3fe)]){const a2=['Nice\x20one.',bp(0x31b),bp(0x258),bp(0x33d),bp(0x3c2)],a3=[bp(0x445),bp(0x261),bp(0x369)],a4=Q===L[bp(0x3fe)]?a2:a3,a5=a4[Math[bp(0x354)](Math[bp(0x4b2)]()*a4[bp(0x4b0)])];console[bp(0x2aa)](a0L[bp(0x363)](bp(0x470)+a5));}if(K<J['questions'][bp(0x4b0)]){const a6=J[bp(0x413)][K];J['_lastQ']=a6['number'],a0Z(J),U(a6,J['answers'][a6['number']]);}else X>=J[bp(0x413)][bp(0x4b0)]&&(console['log'](),console[bp(0x2aa)](a0L[bp(0x466)][bp(0x3f2)](bp(0x390))),console[bp(0x2aa)](),bp(0x398)===J[bp(0x1e8)][bp(0x3e1)]?(console[bp(0x2aa)](a0L[bp(0x329)]('\x20\x20Type\x20')+a0L['bold'][bp(0x332)]('exam\x20submit')+a0L[bp(0x329)](bp(0x311))),console[bp(0x2aa)]()):console[bp(0x2aa)](a0L[bp(0x329)]('\x20\x20Use:\x20exam\x20review\x20·\x20exam\x20submit')));}),B[bb(0x221)](bb(0x429))[bb(0x2c5)](bb(0x46a))[bb(0x287)](()=>{const br=bb;a0a8(br(0x4dc));const F=a0Y();if(!F)return void a0aa(br(0x346));a0ae(br(0x1f4)+F[br(0x1e8)][br(0x22f)]),O(),console[br(0x2aa)]();let G='\x20\x20';const H=Array['isArray'](F[br(0x26c)])?F[br(0x26c)]:[];for(const Q of F[br(0x413)]){const V=F['answers'][Q[br(0x264)]],W=H[br(0x38a)](Q['number']),X=W?'★':'\x20';G+=V?W?a0L['bold'][br(0x378)]('Q'+String(Q[br(0x264)])[br(0x3f6)](0x1b5f+0x1fa*-0x1+-0x1963)+X+'['+V+']\x20'):a0L[br(0x466)]('Q'+String(Q[br(0x264)])[br(0x3f6)](0x2688+0xbb9+-0x323f)+'\x20['+V+br(0x1f5)):W?a0L['bold'][br(0x378)]('Q'+String(Q[br(0x264)])[br(0x3f6)](0x1427+-0xd*-0x2ef+-0x3a48)+X+'[\x20]\x20\x20'):a0L['yellow']('Q'+String(Q[br(0x264)])[br(0x3f6)](0x1a89+-0x11fc+-0xf3*0x9)+'\x20[\x20]\x20\x20'),Q[br(0x264)]%(-0x20cd+0x2170+-0x9d)==0x1*-0xc25+0x1aec+-0xec7&&(console[br(0x2aa)](G),G='\x20\x20');}G[br(0x2fd)]()&&console['log'](G);const J=Object['keys'](F[br(0x496)])['length'],K=F[br(0x1e8)]['questionCount'],L=K-J;if(console[br(0x2aa)](),a0af(br(0x2e4),a0L['green'][br(0x3f2)](J+'/'+K)),L>0x1972+-0x1f65+0x5f3*0x1){const Y=F[br(0x413)]['filter'](Z=>!F[br(0x496)][Z[br(0x264)]])['map'](Z=>Z[br(0x264)])[br(0x22d)](',\x20');a0af(br(0x316),a0L[br(0x378)](L+br(0x330)+Y+')'));}H[br(0x4b0)]>-0xe7e*0x1+0x7*-0x8e+0xc*0x188&&a0af(br(0x45a),a0L[br(0x3f2)][br(0x378)]('★\x20'+H[br(0x4b0)])+a0L['gray']('\x20('+H[br(0x4b6)](Z=>'Q'+Z)[br(0x22d)](',\x20')+')')),console[br(0x2aa)](),H[br(0x4b0)]>0x210+-0x1e90+-0xc*-0x260&&console['log'](a0L[br(0x363)](br(0x465))+a0L[br(0x329)](br(0x479)+H[0x17e1+-0x65c+0x5d7*-0x3])),console[br(0x2aa)](a0L['gray'](br(0x4a8))+a0L[br(0x3f2)]['cyan'](br(0x431))+a0L[br(0x363)](br(0x3d0)));}),B[bb(0x221)](bb(0x232))[bb(0x2c5)](bb(0x22c))['action'](async J=>{const bs=bb;a0a8(bs(0x2a9)+(J||''));const K=a0Y();if(K&&bs(0x356)===J&&(K[bs(0x251)]=!(-0x1*-0x1337+0x232b*0x1+0x1b31*-0x2),a0Z(K)),!K)return void a0aa(bs(0x346));const L=Object[bs(0x321)](K[bs(0x496)])[bs(0x4b0)],Q=K[bs(0x1e8)][bs(0x27a)],V=Q-L;if(0x1afd*-0x1+-0x1af2+-0x1*-0x35ef===L){const X=a0a1(),Y=X&&new Date()>=X;return void(bs(0x398)===K['session']['examId']||Y?(a0a0(),a0ab(bs(0x4ad)),a0ac(bs(0x2db))):(a0ab(bs(0x48c)),a0ac(bs(0x2eb))));}if(bs(0x398)!==K['session'][bs(0x3e1)]){const Z=!(0x4a4*0x6+0x19cd*0x1+-0x35a5)===K[bs(0x251)],a0=a0a1(),a1=!!(a0&&new Date()>=a0);if(!Z&&!a1){if(console[bs(0x2aa)](),console[bs(0x2aa)](a0L['red'](bs(0x1dc))),console[bs(0x2aa)](a0L[bs(0x3f2)]['red'](bs(0x481))),console['log'](a0L[bs(0x38d)](bs(0x1dc))),console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x329)](bs(0x493)+a0L[bs(0x3f2)][bs(0x466)](L+'/'+Q)+'\x20answers.')),V>0x11fb+-0x154e*-0x1+-0x2749){const a3=K[bs(0x413)][bs(0x2bd)](a4=>!K['answers'][a4[bs(0x264)]])[bs(0x4b6)](a4=>'Q'+a4[bs(0x264)])[bs(0x22d)](',\x20');console[bs(0x2aa)](a0L[bs(0x378)]('\x20\x20'+V+bs(0x314)+a3));}const a2=Array[bs(0x3c3)](K['bookmarks'])?K['bookmarks']:[];return a2['length']>0x33+-0x221d+0x21ea&&console[bs(0x2aa)](a0L[bs(0x378)]('\x20\x20★\x20'+a2[bs(0x4b0)]+bs(0x276)+a2[bs(0x4b6)](a4=>'Q'+a4)['join'](',\x20'))),console[bs(0x2aa)](),console['log'](a0L[bs(0x329)](bs(0x2b6))+a0L[bs(0x3f2)]['red'](bs(0x2d4))+a0L[bs(0x329)](bs(0x3f5))),console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x3f2)]['white'](bs(0x353))+a0L[bs(0x3f2)][bs(0x332)](bs(0x2b8))),console[bs(0x2aa)](a0L[bs(0x329)](bs(0x4aa))+a0L['cyan'](bs(0x4dc))+a0L[bs(0x363)]('\x20\x20or\x20\x20')+a0L['cyan'](bs(0x1fa))),void console[bs(0x2aa)]();}Z&&(delete K[bs(0x251)],a0Z(K));}if(console['log'](),'demo-free'===K[bs(0x1e8)][bs(0x3e1)]){try{N(0xa9f+0x8*0x269+-0x1de7,a0ai(bs(0x4d1))),await q(-0x32e+-0x1692+0xd76*0x2);let a4=-0x2576+0x2b*0x79+0x1123;const a5=[],a6={};for(const ai of K[bs(0x413)]){const aj=ai[bs(0x3e8)]||'Other',ak={};ak[bs(0x246)]=0x0,ak[bs(0x432)]=0x0,(a6[aj]||(a6[aj]=ak),a6[aj][bs(0x432)]++);const al=K[bs(0x496)][ai['number']];al&&ai[bs(0x3fe)]&&al===ai[bs(0x3fe)]?(a4++,a6[aj]['correct']++):a5[bs(0x290)](ai[bs(0x264)]);}a5[bs(0x2dc)]((am,an)=>am-an),N(0x1909+0xa03+-0x455*0x8,a0ai(bs(0x303))),console[bs(0x2aa)]();const a7=new Date(K[bs(0x1e8)][bs(0x381)])[bs(0x1d9)](),a8=Math['max'](-0x186a+-0x1196+-0xe*-0x300,Math[bs(0x3fb)]((Date[bs(0x360)]()-a7)/(-0x1ca3*0x1+-0x1*0x177b+0x47*0xca))),a9=Math[bs(0x354)](a8/(-0x59d+0x1a00+0x4d*-0x43))+'m\x20'+a8%(0xe03*-0x1+0x14*0x79+0x4cb)+'s',aa=[...K[bs(0x413)]],ab={...K[bs(0x496)]},ac=R(K);a0a0();const ad=Math[bs(0x3fb)](a4/Q*(-0x33f+0xc*-0xce+0xd4b)),ae=a0W(),af={};af['Content-Type']=bs(0x3d8),(fetch(bs(0x339),{'method':'POST','headers':af,'body':JSON[bs(0x3bf)]({'type':bs(0x3ae),'score':a4,'total':Q,'lang':ae[bs(0x32e)]||'en','help_used':ac[bs(0x4c7)],'help_max':ac[bs(0x26b)],'tokens_used':0x0,'solved':ad>=-0x17*0x167+-0x202f*-0x1+0xd*0x6?0x2*0xf1c+-0x512+0x9d*-0x29:-0x1a04+0x9a1+0x1063,'timestamp':new Date()[bs(0x45c)](),'interactions':K[bs(0x4df)]||[]}),'signal':AbortSignal[bs(0x373)](0x4*-0x969+0x1519+0x737*0x5)})[bs(0x3f8)](()=>{}),console[bs(0x2aa)](),console['log'](a0L[bs(0x332)]('\x20\x20═══════════════════════════════════════')),console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x3f2)][bs(0x329)](bs(0x2a0))),console['log'](a0L[bs(0x3f2)][bs(0x329)](bs(0x48a))),console[bs(0x2aa)](a0L[bs(0x3f2)][bs(0x329)](bs(0x337))),console['log'](a0L[bs(0x3f2)][bs(0x329)](bs(0x23b))),console[bs(0x2aa)](a0L[bs(0x3f2)][bs(0x329)](bs(0x335))),console[bs(0x2aa)](a0L['bold'][bs(0x329)](bs(0x3f1))),console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x3f2)]('\x20\x20\x20'+a0ai('score')+':\x20'+a4+'/'+Q+'\x20('+ad+'%)')),console[bs(0x2aa)](a0L['bold'](bs(0x2e6)+(ad>=0x1c8d+0x2493+-0x40e4?a0L[bs(0x466)](a0ai('passed')):a0L[bs(0x38d)](a0ai(bs(0x317)))))),console['log'](a0L[bs(0x363)](bs(0x4bf)+a9)),console['log'](),console[bs(0x2aa)](a0L[bs(0x378)]('\x20\x20\x20International\x20Cyber\x20Olympiad\x20in\x20AI\x202026')),console[bs(0x2aa)](a0L[bs(0x363)](bs(0x2c0))),console[bs(0x2aa)](),console[bs(0x2aa)](a0L['cyan']('\x20\x20═══════════════════════════════════════')),await q(0x1d6b+0x1559+0xcc*-0x31));const ag=Object[bs(0x3c8)](a6);if(ag[bs(0x4b0)]>0x40*-0x95+-0x271*0x1+-0x9*-0x469){console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x3f2)][bs(0x329)](bs(0x43f)));const am=-0x16c2+-0x279*-0x9+-0x8b*-0x1;for(const [an,ao]of ag){const ap=ao[bs(0x432)]>-0x1*0x1d53+-0xc96*0x2+0x367f?Math['round'](ao[bs(0x246)]/ao[bs(0x432)]*(-0x3d3+0x4*-0x89c+0x26a7)):-0x1*-0x20+-0x85d+0x3*0x2bf,aq=ao[bs(0x432)]>-0x18*-0x137+-0x43*0x1+-0x1ce5?Math[bs(0x3fb)](ao[bs(0x246)]/ao[bs(0x432)]*am):-0x1*-0x381+-0x3a5+0x1*0x24,ar=am-aq,as=ap>=0x1cc4+-0x127+-0x1b4d?a0L[bs(0x466)]:ap>=0xe55+0x1086+0x1*-0x1ea9?a0L['yellow']:a0L[bs(0x38d)],at=as('█'[bs(0x2e2)](aq))+a0L['gray']('░'[bs(0x2e2)](ar));console[bs(0x2aa)](bs(0x382)+a0L['white'](an[bs(0x37e)](0xe12+0x19*-0x53+-0x5e3))+'\x20'+at+'\x20\x20'+as(ao['correct']+'/'+ao[bs(0x432)])+a0L[bs(0x363)]('\x20('+ap+'%)'));}console['log'](),console[bs(0x2aa)](a0L[bs(0x332)](bs(0x3d1)));}const ah=a0a4(a4,Q);if(a4===ah['best']&&ah[bs(0x36b)]>0x6*0x32d+-0x1cf4+0xc3*0xd&&a4>-0x530+0x10d*0x8+-0x338&&(console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x3f2)]['green'](bs(0x4dd)))),a5[bs(0x4b0)]>0x593+-0x1*-0x755+0x19d*-0x8){const au=aa[bs(0x2bd)](av=>a5[bs(0x38a)](av[bs(0x264)]))[bs(0x4b6)](av=>({...av}));a0a5(au);}else a0a7();if(await q(-0x1*-0x871+0x1*-0x1319+0x1660),a5[bs(0x4b0)]>0x2b*-0x6+0xea8+-0x1*0xda6){console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x378)]('\x20\x20'+a5[bs(0x4b0)]+'\x20'+a0ai(bs(0x2cb)))),console['log']();for(const av of a5){const aw=aa['find'](az=>az['number']===av);if(!aw)continue;const ax=ab[av],ay=aw[bs(0x3fe)];console[bs(0x2aa)](a0L[bs(0x329)]('\x20\x20Q'+av+'.\x20'+aw[bs(0x45b)])),ax?console[bs(0x2aa)](a0L[bs(0x38d)]('\x20\x20\x20\x20'+a0ai(bs(0x29f))+':\x20'+ax+'.\x20'+aw['options'][ax])):console['log'](a0L[bs(0x378)](bs(0x382)+a0ai('yourAnswer')+bs(0x274))),ay&&console[bs(0x2aa)](a0L[bs(0x466)]('\x20\x20\x20\x20'+a0ai(bs(0x246))+':\x20'+ay+'.\x20'+aw[bs(0x472)][ay])),aw['explanation']&&console[bs(0x2aa)](a0L['gray'](bs(0x31f)+aw['explanation'])),console[bs(0x2aa)]();}}else console[bs(0x2aa)](),console['log'](a0L[bs(0x466)]('\x20\x20'+a0ai(bs(0x1f7))));await q(-0x13*-0xfb+-0xd7*-0x14+0x1*-0x1b9d),console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x332)]('\x20\x20─────────────────────────────────────────────')),console['log'](a0L[bs(0x329)]('\x20\x20'+a0ai('nextLabel')+'\x20')+a0L['bold'][bs(0x466)](bs(0x24b))+a0L['gray'](bs(0x39d)+a0ai(bs(0x46b)))),console[bs(0x2aa)](a0L[bs(0x363)]('\x20\x20'+a0ai('ai4ctfSub'))),console[bs(0x2aa)](a0L[bs(0x332)](bs(0x3d1))),console[bs(0x2aa)]();}catch(az){console[bs(0x2aa)](),a0aa(az[bs(0x4c5)]);}return;}const W=K['session'][bs(0x3c1)];try{let aA;if(N(0x529*-0x2+-0x69c+0x2*0x877,'Uploading\x20answers...'),W){const aK={};aK[bs(0x2d0)]='application/json';const aL={};aL['ai4ctf']=0x0,aL['ctf4ai']=0x0;const aM=a0W()[bs(0x318)]||bs(0x3df),aN=await fetch(aM+'/api/icoa/exams/'+K[bs(0x1e8)]['examId']+bs(0x3e0),{'method':'POST','headers':aK,'body':JSON[bs(0x3bf)]({'token':W,'answers':K[bs(0x496)],'interactions':K[bs(0x4df)]||[],'aiUsage':K[bs(0x31e)]||aL,'bookmarks':K[bs(0x26c)]||[]}),'signal':AbortSignal[bs(0x373)](-0x3886*-0x2+0x143*-0x4a+0x26ea)});if(!aN['ok']){const aO=await aN['json']()[bs(0x3f8)](()=>({'message':bs(0x1f8)}));throw new Error(aO[bs(0x4c5)]||'Submit\x20failed');}aA=(await aN[bs(0x486)]())[bs(0x4bb)];}else{const aP=M();if(!aP)return;aA=await aP[bs(0x44a)](K[bs(0x1e8)][bs(0x3e1)],K[bs(0x496)]);}N(0x1864+-0x2100+-0x31*-0x2e,bs(0x355)),await q(-0xb*-0x356+-0x7*-0x68+-0x265e),N(-0x245c+0x7f*-0x16+0x2faa,bs(0x259)),console['log']();const aB={};aB['ai4ctf']=0x0,aB[bs(0x1df)]=0x0;const aC={'answered':Object[bs(0x321)](K[bs(0x496)])[bs(0x4b0)],'total':K[bs(0x1e8)][bs(0x27a)],'bookmarks':Array[bs(0x3c3)](K[bs(0x26c)])?K['bookmarks']['length']:-0x5d3+0x246f+-0x28d*0xc,'help':R(K),'aiUsage':K[bs(0x31e)]||aB,'interactions':(K['interactions']||[])['length'],'durationMin':K[bs(0x1e8)][bs(0x489)]||0xe47+0xe75+0x1*-0x1cbc,'confirmedAt':K['session'][bs(0x2d2)]||K[bs(0x1e8)][bs(0x381)],'examId':K[bs(0x1e8)][bs(0x3e1)]};a0a0();const aD=Math['max'](-0x1*0x48d+-0xd82+-0x43*-0x45,Math[bs(0x3fb)]((Date['now']()-new Date(aC[bs(0x2d2)])['getTime']())/(0x38e*0x5+0x12d8+-0x20b6))),aE=Math['floor'](aD/(-0x1681+-0x188f+0x2f4c)),aF=aD%(-0xb2*-0x28+0x8e*-0x3+-0x19ea);console[bs(0x2aa)](),console[bs(0x2aa)](a0L['cyan']('\x20\x20═════════════════════════════════════════════')),console[bs(0x2aa)](),console['log'](a0L[bs(0x3f2)][bs(0x329)](bs(0x2a0))),console[bs(0x2aa)](a0L[bs(0x3f2)][bs(0x329)](bs(0x48a))),console['log'](a0L[bs(0x3f2)][bs(0x329)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bs(0x2aa)](a0L['bold'][bs(0x329)](bs(0x23b))),console[bs(0x2aa)](a0L['bold']['white'](bs(0x335))),console[bs(0x2aa)](a0L['bold'][bs(0x329)](bs(0x3f1))),console[bs(0x2aa)]();const aG=aA[bs(0x269)]?a0L['green'][bs(0x3f2)](bs(0x4da)):a0L[bs(0x378)][bs(0x3f2)]('\x20\x20\x20○\x20\x20Submission\x20accepted');console[bs(0x2aa)](aG),console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x329)](bs(0x2ab))),console[bs(0x2aa)](a0L[bs(0x329)](bs(0x379))),console[bs(0x2aa)](a0L['white']('\x20\x20\x20the\x20organizer\x20in\x20your\x20country.')),console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x332)](bs(0x3d1))),console[bs(0x2aa)](),console['log'](a0L[bs(0x3f2)][bs(0x329)](bs(0x396)));const aH=aC[bs(0x432)]-aC[bs(0x32a)];console[bs(0x2aa)](bs(0x382)+a0L[bs(0x363)]('Answered:\x20\x20')+a0L[bs(0x329)](aC[bs(0x32a)]+'/'+aC['total'])+(aH>-0xf84+-0x959*-0x2+0x32e*-0x1?a0L[bs(0x363)](bs(0x2c1)+aH+bs(0x40c)):'')),console[bs(0x2aa)]('\x20\x20\x20\x20'+a0L[bs(0x363)](bs(0x41c))+a0L[bs(0x329)](aE+'m\x20'+aF+'s')+a0L[bs(0x363)]('\x20\x20of\x20'+aC['durationMin']+bs(0x210))),aC[bs(0x26c)]>-0x1ba+0x7f1+-0x637&&console[bs(0x2aa)]('\x20\x20\x20\x20'+a0L[bs(0x363)](bs(0x38f))+a0L[bs(0x378)]('★\x20'+aC[bs(0x26c)])),console['log']();const aI=aA['categoryStats'];if(aI&&Object['keys'](aI)[bs(0x4b0)]>=-0x3*0xb07+-0x1*0x86+0x1*0x219d){const aQ=Object[bs(0x3c8)](aI)[bs(0x2bd)](([,aV])=>aV['total']>-0x11c6+0x1ab9+-0x1*0x8f3)['map'](([aV,aW])=>({'cat':aV,'pct':aW['correct']/aW['total']}))[bs(0x2dc)]((aV,aW)=>aW['pct']-aV[bs(0x357)]),aR=Math[bs(0x21c)](-0x12f5+-0x836*-0x2+-0x15*-0x1f,Math[bs(0x48f)](aQ[bs(0x4b0)]/(-0x1*0x5a1+0x4cb+0xd9))),aS=Math[bs(0x21c)](-0x2113*0x1+-0x221a+0x9*0x777,Math['ceil'](aQ[bs(0x4b0)]/(0x130+-0x1bbe+0x1a91))),aT=aQ[bs(0x48e)](0x184*0x16+0x17b*-0xb+-0x110f,aR)[bs(0x4b6)](aV=>aV[bs(0x3f0)]),aU=aQ[bs(0x48e)](-aS)[bs(0x4b6)](aV=>aV[bs(0x3f0)]);aT[bs(0x268)](aV=>aU[bs(0x38a)](aV))||(console['log'](a0L['bold']['white'](bs(0x301))),console[bs(0x2aa)](bs(0x382)+a0L['green'](bs(0x237))+a0L[bs(0x329)](aT['join'](',\x20'))),console[bs(0x2aa)](bs(0x382)+a0L['yellow']('Room\x20to\x20grow:\x20\x20\x20')+a0L[bs(0x329)](aU[bs(0x22d)](',\x20'))),console[bs(0x2aa)](a0L[bs(0x363)]('\x20\x20\x20\x20(relative\x20to\x20other\x20categories\x20—\x20numeric\x20scores\x20go\x20to\x20your\x20exam\x20center)')),console[bs(0x2aa)]());}console[bs(0x2aa)](a0L[bs(0x3f2)]['white'](bs(0x3a9))),console[bs(0x2aa)](bs(0x382)+a0L['gray'](bs(0x457))+a0L[bs(0x329)](aC[bs(0x33f)]['used']+'/'+aC[bs(0x33f)]['max'])),console[bs(0x2aa)](bs(0x382)+a0L[bs(0x363)](bs(0x33e))+a0L['white'](aC['aiUsage']['ai4ctf']+bs(0x389))+a0L[bs(0x363)]('\x20\x20·\x20\x20')+a0L['white'](aC[bs(0x31e)][bs(0x1df)]+bs(0x280))),console[bs(0x2aa)](),console['log'](a0L[bs(0x332)](bs(0x3d1))),console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x3f2)][bs(0x329)]('\x20\x20What\x20next')),console[bs(0x2aa)](a0L[bs(0x363)](bs(0x45d))),console[bs(0x2aa)](a0L[bs(0x363)](bs(0x474))+a0L['white']('demo')+a0L[bs(0x363)](bs(0x4d5))),console['log'](a0L['gray'](bs(0x284))+a0L[bs(0x329)](bs(0x2e0))),console[bs(0x2aa)]();const {showCToBUpgradePrompt:aJ}=await import(bs(0x473));aJ(aC[bs(0x3e1)],aA[bs(0x269)]),console['log'](a0L['yellow'](bs(0x3a7))),console[bs(0x2aa)](a0L['cyan'][bs(0x27e)](bs(0x2d1))),console[bs(0x2aa)](),console[bs(0x2aa)](a0L[bs(0x332)](bs(0x1f9))),console[bs(0x2aa)]();}catch(aV){console[bs(0x2aa)](),a0aa(aV[bs(0x4c5)]);}}),B['command'](bb(0x347))['description']('View\x20exam\x20result')[bb(0x287)](async F=>{const bt=bb;a0a8(bt(0x3ac)+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa('Specify\x20exam\x20ID:\x20exam\x20result\x20<id>');F=J['session'][bt(0x3e1)];}const H=a0ag(bt(0x25e));H[bt(0x25c)]();try{const K=await G[bt(0x20f)](F);H[bt(0x46f)](bt(0x488)),console[bt(0x2aa)](),a0ae(K['examName']),a0af(bt(0x2fb),a0L[bt(0x3f2)](K[bt(0x452)]+'/'+K[bt(0x432)])),a0af(bt(0x243),a0L['bold'](K['percentage']+'%')),a0af('Status',K[bt(0x269)]?a0L[bt(0x466)][bt(0x3f2)](bt(0x30b)):a0L['red'][bt(0x3f2)](bt(0x226))),a0af(bt(0x3ff),K[bt(0x4cb)]),console[bt(0x2aa)]();}catch(L){H[bt(0x454)](bt(0x39b)),a0aa(L[bt(0x4c5)]);}}),B[bb(0x221)](bb(0x35d))[bb(0x2c5)](bb(0x319))[bb(0x287)](async J=>{const bu=bb;a0a8(bu(0x3a3)+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bu(0x23f)),V=K();if(V){const a2=V['session'][bu(0x3c1)],a3=a0a1(),a4=!!a2&&a2[bu(0x2fd)]()['toUpperCase']()!==J[bu(0x2fd)]()[bu(0x4cf)](),a5=!!a3&&a3[bu(0x1d9)]()+(-0x29027d+-0x3*-0x93ceb+0x3*0xd9654)<Date[bu(0x360)]();if(a4&&a5)return Q(),console[bu(0x2aa)](),console[bu(0x2aa)](a0L[bu(0x363)](bu(0x250))),console[bu(0x2aa)](),console[bu(0x2aa)](a0L[bu(0x329)](bu(0x2a4))+a0L[bu(0x3f2)]['cyan'](bu(0x49e)+J)),void console[bu(0x2aa)]();if(!a2&&J)return V['session'][bu(0x3c1)]=J[bu(0x2fd)](),L(V),console['log'](),console['log'](a0L[bu(0x466)](bu(0x483))),console[bu(0x2aa)](a0L[bu(0x363)](bu(0x4d7))+a0L[bu(0x329)]('lang\x20<code>')+a0L[bu(0x363)](bu(0x338))+a0L[bu(0x329)](bu(0x431))),console[bu(0x2aa)](),console[bu(0x2aa)](a0L['bold'][bu(0x329)](bu(0x459))),console[bu(0x2aa)](a0L[bu(0x363)](bu(0x31f))+a0L[bu(0x3f2)][bu(0x332)](bu(0x2f1))+a0L['gray'](bu(0x34a))),console[bu(0x2aa)](a0L['gray'](bu(0x31f))+a0L[bu(0x3f2)][bu(0x332)](bu(0x4dc))+a0L[bu(0x363)](bu(0x3e6))),void console['log']();const a6=Object[bu(0x321)](V[bu(0x496)])[bu(0x4b0)],a7=V[bu(0x1e8)][bu(0x27a)],a8=a0a1(),a9=a8?Math['max'](0x1fa+-0x598+0x39e,Math[bu(0x3fb)]((a8[bu(0x1d9)]()-Date[bu(0x360)]())/(0x1*-0x51cb+0x11574+0x1*0x26b7))):null;return console[bu(0x2aa)](),console[bu(0x2aa)](a0L[bu(0x378)](bu(0x2de))),console['log'](),console[bu(0x2aa)](a0L[bu(0x363)](bu(0x437))+a0L['white'](V[bu(0x1e8)]['examName'])),a2&&console[bu(0x2aa)](a0L[bu(0x363)]('\x20\x20Token:\x20\x20\x20')+a0L['white'](a2)+(a2===J?a0L[bu(0x466)](bu(0x213)):a0L[bu(0x378)](bu(0x2cc)))),console[bu(0x2aa)](a0L['gray']('\x20\x20Answers:\x20')+a0L[bu(0x329)](a6+'/'+a7)),null!==a9&&console['log'](a0L[bu(0x363)]('\x20\x20Time:\x20\x20\x20\x20')+a0L[bu(0x329)](a9+'\x20min\x20remaining')),console[bu(0x2aa)](),console['log'](a0L[bu(0x3f2)]['white'](bu(0x35a))),console[bu(0x2aa)](a0L['gray'](bu(0x31f))+a0L[bu(0x3f2)][bu(0x332)](bu(0x2f1))+a0L['gray'](bu(0x34a))),console[bu(0x2aa)](a0L[bu(0x363)](bu(0x31f))+a0L[bu(0x3f2)][bu(0x332)]('exam\x20review')+a0L['gray']('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),console[bu(0x2aa)](a0L['gray'](bu(0x31f))+a0L[bu(0x3f2)][bu(0x332)](bu(0x431))+a0L[bu(0x363)](bu(0x307))),a2&&a2!==J&&(console[bu(0x2aa)](),console[bu(0x2aa)](a0L[bu(0x378)](bu(0x448))),console[bu(0x2aa)](a0L[bu(0x378)](bu(0x3b1))),console['log'](),console[bu(0x2aa)](a0L[bu(0x363)](bu(0x2ad))),console['log'](a0L[bu(0x363)](bu(0x23a))+a0L[bu(0x3f2)][bu(0x332)]('exam\x20reset')+a0L[bu(0x363)](bu(0x32b)))),void console['log']();}const {isNativeWindowsCmd:W}=await import(bu(0x23c));if(!W()&&!a0am()){let aa=!(-0x1e9a+0x7*0x4f+0x1c72);try{const ab={};ab[bu(0x2d0)]=bu(0x3d8);const ac=a0W()[bu(0x318)]||bu(0x3df),ad=await fetch(ac+'/api/icoa/exam-token',{'method':bu(0x20a),'headers':ab,'body':JSON[bu(0x3bf)]({'token':J[bu(0x2fd)](),'deviceHash':a0aj(),'peek':!(0x233*-0x2+-0x3b3*0x5+0x16e5*0x1)}),'signal':AbortSignal[bu(0x373)](0x5a9+0x250+0x10d*0xb)});if(ad['ok']){const ae=await ad['json']();(ae?.[bu(0x4bb)]?.[bu(0x299)]||'')[bu(0x402)]('-c')&&(aa=!(0x1976+-0x1*0x3f1+-0x1585));}}catch{}if(!aa)return console[bu(0x2aa)](),a0ab(bu(0x412)),console[bu(0x2aa)](a0L[bu(0x363)](bu(0x2f2))+a0L[bu(0x3f2)][bu(0x332)](bu(0x3f4))),console[bu(0x2aa)](a0L[bu(0x363)](bu(0x227))+a0L[bu(0x3f2)][bu(0x332)](bu(0x1fa))+a0L[bu(0x363)](bu(0x485))),console[bu(0x2aa)](a0L[bu(0x363)](bu(0x3b6))),void console[bu(0x2aa)]();}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']()['substring'](0x4f*-0x49+-0x1*-0x2240+-0xbb9,-0x51a+0x3*0xbab+-0x1de5*0x1)[bu(0x4cf)]()],Z=a0W(),a0=Z[bu(0x318)]||bu(0x3df),a1=Y||Z['language']||'en';Y&&Y!==(Z[bu(0x32e)]||'en')&&a0X({'language':Y}),console[bu(0x2aa)](),N(0xc9e*-0x2+0x1*0xb57+0x1*0xde5,'Validating\x20token...');try{const af={};af[bu(0x2d0)]='application/json';const ag=await fetch(a0+'/api/icoa/exam-token',{'method':bu(0x20a),'headers':af,'body':JSON[bu(0x3bf)]({'token':J[bu(0x2fd)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bu(0x373)](0x15bd+-0x3a*0xd4+0x5f1*0xb)});if(!ag['ok']){N(0x7*0x33+0x155c+-0x16c1*0x1,''),console[bu(0x2aa)]();const ao=await ag[bu(0x486)]()[bu(0x3f8)](()=>({'message':bu(0x4d4)}));return a0aa(ao[bu(0x4c5)]||'Invalid\x20exam\x20token'),void a0ac('Check\x20your\x20token\x20or\x20contact\x20your\x20proctor.');}N(0xb1a+-0xc41*0x2+0xd86,bu(0x229));const ah=await ag[bu(0x486)](),{session:ai,questions:aj,languages:ak}=ah['data'];N(-0x8ab*0x4+-0x72a+0x2ce*0xf,bu(0x3c6)),await q(0xa0*0x16+0x1a82+-0x1f*0x146),N(-0x1*-0x2366+-0x22f9+-0x1*0x9,'Ready!'),console[bu(0x2aa)](),console['log'](),a0ae(ai[bu(0x22f)]),console[bu(0x2aa)](),a0af(bu(0x441),ai[bu(0x27a)]+bu(0x468)),a0af(bu(0x20d),ai[bu(0x489)]+bu(0x257)),a0af(bu(0x1de),(ai[bu(0x308)]||-0x2393+0x266a+-0x241)+'\x20points'),a0af(bu(0x4c8),(ai['passingScore']||0x9*-0x197+-0x6d0+0x156a)+'\x20points\x20(50%)'),console[bu(0x2aa)](),console[bu(0x2aa)](a0L['white'](bu(0x275))),console[bu(0x2aa)](a0L[bu(0x329)](bu(0x1f1))),console[bu(0x2aa)](a0L[bu(0x329)](bu(0x298))),console[bu(0x2aa)](a0L['white'](bu(0x2c9))),ak&&ak[bu(0x4b0)]>-0xf61+0x1e28+-0xec6&&console['log'](a0L[bu(0x329)](bu(0x230)+ak[bu(0x22d)](',\x20')+'\x20—\x20switch\x20with:\x20lang\x20<code>')),console[bu(0x2aa)](),console[bu(0x2aa)](a0L[bu(0x378)]('\x20\x20Rules:')),console[bu(0x2aa)](a0L['white'](bu(0x242))),console[bu(0x2aa)](a0L['white']('\x20\x20\x20\x20•\x20Server\x20auto-finalises\x20your\x20answers\x20if\x20you\x20do\x20not\x20submit\x20before\x20the\x20deadline')),console[bu(0x2aa)](a0L[bu(0x329)](bu(0x352))),console[bu(0x2aa)](),await new Promise(ap=>{const bv=bu;process[bv(0x2be)][bv(0x393)](a0L[bv(0x3f2)][bv(0x378)](bv(0x1ee)));const aq=!!process[bv(0x43e)]['isTTY']&&process[bv(0x43e)][bv(0x44e)];process[bv(0x43e)][bv(0x4cd)]&&process[bv(0x43e)][bv(0x409)]&&process[bv(0x43e)][bv(0x409)](!(0x15b7+-0xdfb+0x1*-0x7bb));const ar=as=>{const bw=bv,at=as[bw(0x44b)]();(at[bw(0x38a)]('\x0a')||at[bw(0x38a)]('\x0d'))&&(process[bw(0x43e)][bw(0x2ae)](bw(0x4bb),ar),process['stdin'][bw(0x4cd)]&&process[bw(0x43e)]['setRawMode']&&process[bw(0x43e)][bw(0x409)](aq),process[bw(0x2be)][bw(0x393)]('\x0a'),ap());};process[bv(0x43e)]['on']('data',ar),process['stdin'][bv(0x2d9)]();});const al=new Date()['toISOString']();ai['confirmedAt']=al,ai[bu(0x3c1)]=J['trim']();try{const ap=Date[bu(0x360)](),aq=await fetch(a0+'/api/icoa/server-time',{'method':bu(0x46d),'signal':AbortSignal[bu(0x373)](-0x34b+0x19af+-0x2*0x556)});if(aq['ok']){const ar=await aq['json'](),as=ar?.['data']?.[bu(0x443)];if(bu(0x264)==typeof as&&as>-0x26b6+-0x455*-0x9+-0x1*0x47){const at=(ap+Date[bu(0x360)]())/(-0x4a7+0x1f2f+-0x1a86);ai[bu(0x442)]=Math[bu(0x3fb)](as-at),ai['deadlineServerMs']=as+(0xda+-0x3fd*-0x3+-0xc95*0x1)*ai[bu(0x489)]*(0x2357+-0x1*-0x1cf+0x5*-0x6a6);}}}catch{}const am={};am['ai4ctf']=0x0,am[bu(0x1df)]=0x0;const an={};an[bu(0x1e8)]=ai,an[bu(0x413)]=aj,an[bu(0x496)]={},an[bu(0x4df)]=[],an['aiUsage']=am,(a0Z(an),console[bu(0x2aa)](),a0a9(bu(0x35f)),a0af('Time\x20Remaining',ai[bu(0x489)]+':00'),aj[bu(0x4b0)]>0x1649+-0x1265+-0x3e4&&U(aj[-0x15b*0x7+0x145e+0x22d*-0x5]));}catch(au){console[bu(0x2aa)](),bu(0x304)===au['name']?a0aa('Server\x20not\x20reachable.\x20Check\x20your\x20internet\x20connection.'):a0aa(au[bu(0x4c5)]||bu(0x201));}}),B[bb(0x221)](bb(0x3d5),{'hidden':!(0x1f54+-0x3e0+-0x1*0x1b74)})[bb(0x2c5)](bb(0x364))[bb(0x287)](async()=>{const bx=bb;a0a8(bx(0x462));const {getRealExamState:F,clearExamState:G}=await import(bx(0x23f)),H=F();if(!H)return console['log'](),console[bx(0x2aa)](a0L[bx(0x363)](bx(0x3d9))),void console[bx(0x2aa)]();const J=H[bx(0x1e8)][bx(0x3c1)];if(console[bx(0x2aa)](),console[bx(0x2aa)](a0L[bx(0x378)](bx(0x423))),console[bx(0x2aa)](a0L[bx(0x363)](bx(0x29d))+a0L[bx(0x329)](H['session'][bx(0x22f)])),J&&console['log'](a0L[bx(0x363)](bx(0x3a1))+a0L[bx(0x329)](J)),console[bx(0x2aa)](a0L[bx(0x363)]('\x20\x20\x20\x20\x20The\x20token\x20itself\x20is\x20NOT\x20revoked\x20server-side.\x20If\x20your\x20session\x20is')),console[bx(0x2aa)](a0L[bx(0x363)]('\x20\x20\x20\x20\x20still\x20active\x20and\x20not\x20submitted,\x20re-entering\x20the\x20same\x20token\x20resumes\x20it.')),console[bx(0x2aa)](),console[bx(0x2aa)](a0L[bx(0x363)]('\x20\x20Type\x20')+a0L[bx(0x3f2)][bx(0x332)](bx(0x3d5))+a0L[bx(0x363)](bx(0x306))),bx(0x3d5)!==(await new Promise(K=>{const by=bx;process[by(0x2be)][by(0x393)](by(0x4ca));const L=Q=>{const bz=by,V=Q[bz(0x44b)]()[bz(0x2fd)]();(V[bz(0x38a)]('\x0a')||V[bz(0x38a)]('\x0d')||V[bz(0x4b0)]>-0x1224+-0x26b7+-0x29*-0x163)&&(process['stdin'][bz(0x2ae)](bz(0x4bb),L),K(V[bz(0x4a0)](/[\r\n]/g,'')));};process[by(0x43e)]['on'](by(0x4bb),L),process[by(0x43e)][by(0x2d9)]();}))[bx(0x4d2)]())return console[bx(0x2aa)](a0L[bx(0x363)](bx(0x4bc))),void console[bx(0x2aa)]();G(),console['log'](),console[bx(0x2aa)](a0L[bx(0x466)]('\x20\x20✓\x20Exam\x20state\x20cleared.')),console[bx(0x2aa)](a0L[bx(0x363)](bx(0x277))+a0L['bold'][bx(0x332)]('exam\x20<token>')),console['log']();}),B[bb(0x221)](bb(0x2a5))[bb(0x2c5)](bb(0x37c))[bb(0x287)](async()=>{const bA=bb;a0a8(bA(0x4b8)),E(bA(0x345));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import('../lib/demo-exam.js');a0W()[bA(0x22b)]||(await(async function(){const bB=bA;let a0=!(0xbce+0x1*-0x80b+-0x3c2);const a1=process[bB(0x43e)],a2=()=>{a0=!(-0x1b*0xf3+0x26e*0x6+0xb0d);},a3=a1[bB(0x4cd)]&&'function'==typeof a1['setRawMode'];a3&&(a1[bB(0x409)](!(-0x1e43*0x1+0xa91*0x2+0x921)),a1[bB(0x2d9)](),a1['once'](bB(0x4bb),a2));const a4=async a5=>{let a6=-0x8f*0x26+-0x437+0x1971;for(;a6<a5&&!a0;)await q(0x867+0x6a1+-0xc*0x13a),a6+=-0xcd*-0x17+-0x11*-0x13b+-0x2706;};try{if(console[bB(0x1da)](),console['log'](),console[bB(0x2aa)](a0L[bB(0x363)](bB(0x2e6))+a0L[bB(0x294)]('(press\x20any\x20key\x20to\x20skip)')),console[bB(0x2aa)](),console[bB(0x2aa)](a0L['bold'][bB(0x329)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bB(0x2aa)](a0L[bB(0x3f2)][bB(0x329)](bB(0x48a))),console[bB(0x2aa)](a0L[bB(0x3f2)]['white'](bB(0x337))),console[bB(0x2aa)](a0L[bB(0x3f2)]['white'](bB(0x23b))),console['log'](a0L[bB(0x3f2)][bB(0x329)](bB(0x335))),console[bB(0x2aa)](a0L[bB(0x3f2)][bB(0x329)](bB(0x3f1))),console[bB(0x2aa)](),console[bB(0x2aa)](a0L[bB(0x3f2)][bB(0x378)](bB(0x263))),console[bB(0x2aa)](a0L[bB(0x363)](bB(0x47d))),await a4(-0x2017+0xeb1+0x1b2a),a0)return;if(console[bB(0x2aa)](),console['log'](a0L['white'](bB(0x420))),console['log'](),await a4(-0x24*0x114+-0xdf*-0x1+-0x2849*-0x1),a0)return;if(console['log'](a0L['cyan'](bB(0x4e0))+a0L[bB(0x329)](bB(0x2a6))+a0L[bB(0x363)](bB(0x464))),await a4(0xb92+0x361*0x5+0x3ad*-0x7),a0)return;if(console['log'](a0L[bB(0x466)](bB(0x4e0))+a0L[bB(0x329)](bB(0x26e))+a0L['gray'](bB(0x296))),await a4(0x3*0x1de+-0x1*0x1669+0x138b),a0)return;if(console[bB(0x2aa)](a0L[bB(0x38d)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bB(0x329)](bB(0x2ef))+a0L[bB(0x363)](bB(0x3fd))),await a4(-0x35d+-0x1*0x1440+0x1b21),a0)return;if(console[bB(0x2aa)](),console[bB(0x2aa)](a0L[bB(0x3f2)][bB(0x329)](bB(0x26f))+a0L[bB(0x3f2)]['yellow']('IS')+a0L[bB(0x3f2)][bB(0x329)](bB(0x4ab))),console[bB(0x2aa)](),await a4(0x221d+0xa2b*-0x1+-0x1216),a0)return;if(console[bB(0x2aa)](a0L[bB(0x363)](bB(0x241))),await a4(0xd5b+-0x25b9+0x19ee),a0)return;if(console['log'](a0L['gray']('\x20\x20\x20·\x2015\x20languages,\x20real-time\x20AI\x20translation')),await a4(0x637+0x19e+-0x645),a0)return;if(console[bB(0x2aa)](a0L[bB(0x363)]('\x20\x20\x20·\x2015,000+\x20concurrent\x20participants')),await a4(0x2151+-0x11*0x3a+-0x1a57),a0)return;console['log'](),console[bB(0x2aa)](a0L[bB(0x3f2)][bB(0x332)]('\x20\x20\x20Press\x20any\x20key\x20to\x20start\x20demo...')),await a4(-0x13*0x1dc+-0xc15*0x1+0x3f09);}finally{((()=>{const bC=bB;if(a3){a1['removeListener'](bC(0x4bb),a2);try{a1[bC(0x409)](!(0x5*-0x106+-0x1e64+0x1*0x2383));}catch{}a1[bC(0x498)]();}})()),console[bB(0x1da)]();}}()),a0X({'demoIntroSeen':!(0x1b5c+0x4*-0x296+-0x1*0x1104)})),console[bA(0x2aa)](),console['log'](a0L[bA(0x329)](bA(0x480))+a0L[bA(0x363)](H+'\x20questions\x20drawn\x20from\x20a\x20pool\x20of\x20'+J+bA(0x208))),console[bA(0x2aa)](a0L['gray'](bA(0x289))+a0L[bA(0x332)](bA(0x233))+a0L['gray'](bA(0x24f))+a0L[bA(0x332)](bA(0x1fa))+a0L[bA(0x363)]('\x20at\x20any\x20time.')),await new Promise(a0=>{const bD=bA;process[bD(0x2be)][bD(0x393)](a0L[bD(0x3f2)]['yellow'](bD(0x4b9)));const a1=!!process[bD(0x43e)][bD(0x4cd)]&&process['stdin'][bD(0x44e)];process[bD(0x43e)][bD(0x4cd)]&&process[bD(0x43e)][bD(0x409)]&&process[bD(0x43e)]['setRawMode'](!(0x2636+-0x2610*0x1+-0x25));const a2=a3=>{const bE=bD,a4=a3[bE(0x44b)]();(a4[bE(0x38a)]('\x0a')||a4[bE(0x38a)]('\x0d'))&&(process[bE(0x43e)][bE(0x2ae)](bE(0x4bb),a2),process[bE(0x43e)]['isTTY']&&process[bE(0x43e)][bE(0x409)]&&process[bE(0x43e)][bE(0x409)](a1),process[bE(0x2be)]['write']('\x0a'),a0());};process[bD(0x43e)]['on'](bD(0x4bb),a2),process['stdin'][bD(0x2d9)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import('../lib/exam-state.js');Q()&&V(bA(0x398)),console[bA(0x2aa)](),a0ae(bA(0x495)),console[bA(0x2aa)](),console['log'](a0L[bA(0x329)](bA(0x392))),console[bA(0x2aa)](a0L[bA(0x329)]('\x20\x20'+H+bA(0x401)+J+bA(0x48b)));const W=a0a3();if(W[bA(0x36b)]>-0x71*-0x13+-0xc37*0x2+0x100b){const a0=W[bA(0x2b3)],a1=a0>=-0x112e+-0x9*-0x329+0x1*-0xaf3?a0L[bA(0x466)]:a0>=0x22*-0xbe+-0x2*0x80e+0x2994*0x1?a0L['yellow']:a0L['white'];console['log'](),console[bA(0x2aa)](a0L[bA(0x363)]('\x20\x20Your\x20best:\x20')+a1(W['best']+'/'+H+'\x20('+a0+'%)')+a0L[bA(0x363)](bA(0x2c1)+W['attempts']+bA(0x29b)));}console[bA(0x2aa)](),console[bA(0x2aa)](a0L[bA(0x363)](bA(0x362))),console[bA(0x2aa)](a0L[bA(0x329)]('\x20\x20'+a0ai(bA(0x33a)))),console[bA(0x2aa)](a0L[bA(0x378)](bA(0x228))+a0L[bA(0x363)](bA(0x4d0)+a0ai(bA(0x266)))),console[bA(0x2aa)](a0L['yellow'](bA(0x1fb))+a0L[bA(0x363)](bA(0x279)+a0ai(bA(0x3a5)))),console[bA(0x2aa)](a0L['yellow']('\x20\x20\x20\x20next')+a0L[bA(0x363)]('\x20/\x20')+a0L[bA(0x378)]('prev')+a0L[bA(0x363)](bA(0x382)+a0ai(bA(0x1f2)))),console[bA(0x2aa)](a0L[bA(0x378)](bA(0x4a9))+a0L[bA(0x363)](bA(0x497)+a0ai('htpMoreHelp'))),console[bA(0x2aa)](a0L[bA(0x378)](bA(0x47c))+a0L[bA(0x363)](bA(0x279)+a0ai(bA(0x359)))),console['log'](a0L[bA(0x378)](bA(0x45e))+a0L[bA(0x363)](bA(0x279)+a0ai(bA(0x344)))),console[bA(0x2aa)](a0L[bA(0x363)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20es\x20·\x20zh\x20·\x20ja\x20·\x20ko\x20·\x20ar\x20·\x20fr\x20·\x20pt')),console['log'](a0L[bA(0x363)](bA(0x476))),console[bA(0x2aa)](a0L[bA(0x363)](bA(0x362))),console[bA(0x2aa)]();const {getConfig:X}=await import('../lib/config.js'),Y=X()['language']||'en';'en'===Y?(console[bA(0x2aa)](a0L['gray']('\x20\x20Questions\x20in\x20English.\x20To\x20switch\x20language\x20first:')),console[bA(0x2aa)](a0L[bA(0x363)](bA(0x2e5))),console['log'](a0L[bA(0x363)](bA(0x43b)))):console[bA(0x2aa)](a0L['green'](bA(0x260)+Y)),console['log'](),console[bA(0x2aa)](a0L[bA(0x329)]('\x20\x20Starting\x20exam...'));const Z={...L,'startedAt':new Date()[bA(0x45c)]()};console[bA(0x2aa)](),N(-0x5*0x685+0xf50+0x1149,bA(0x417)),await q(-0x1*-0x1cf9+0x1*-0x1487+0x147*-0x6),N(-0x4*-0x400+0x34*-0x7+0xe6c*-0x1,bA(0x1ea)),await q(0xce*0x2e+0xd87+0x1*-0x31c3),N(0x2575+0x325*0x5+-0x34de,bA(0x297)),await q(0x1*-0x22dc+0x1193*-0x2+-0x7d8*-0x9),N(-0x3*-0xc20+0x1950+-0x3d4c,bA(0x46c)),console[bA(0x2aa)](),console[bA(0x2aa)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af(bA(0x441),String(H)),a0af(bA(0x20d),'No\x20time\x20limit'),U(K[-0x4fd*0x5+0x7*0x2e3+0x4bc]);}),B['command'](bb(0x28e))['description']('Retry\x20only\x20the\x20questions\x20you\x20got\x20wrong\x20last\x20demo\x20attempt')[bb(0x287)](async()=>{const bF=bb;a0a8('exam\x20demo-retry'),E(bF(0x471));const {getLocalizedDemoSession:F}=await import(bF(0x478)),G=a0a6();if(!G||-0x2cd*0x1+-0x6cb+-0x4cc*-0x2===G['length'])return console[bF(0x2aa)](),console[bF(0x2aa)](a0L[bF(0x378)](bF(0x45f))+a0L[bF(0x3f2)][bF(0x332)](bF(0x2a5))+a0L[bF(0x378)](bF(0x4d9))),void console[bF(0x2aa)]();const H=a0Y();if(H){if('demo-free'!==H['session'][bF(0x3e1)])return a0ab(bF(0x3ef)+H['session'][bF(0x22f)]+bF(0x323)),void a0ac('Submit\x20it\x20first:\x20exam\x20submit');a0a0();}const J=V=>{const bG=bF;if(!V[bG(0x3fe)])return V;const W=V[bG(0x472)][V[bG(0x3fe)]],X=['A','B','C','D'][bG(0x4b6)](a2=>V[bG(0x472)][a2]);for(let a2=X[bG(0x4b0)]-(-0x9c*-0x2+-0x21ec+-0x3*-0xae7);a2>-0x917+-0x46*-0x86+-0x1b8d*0x1;a2--){const a3=Math['floor'](Math[bG(0x4b2)]()*(a2+(0x127+-0x187+0x61)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[-0x61c+0x1e94+-0xd8*0x1d],Y['B']=X[0x2c6+0x655+-0x1d2*0x5],Y['C']=X[-0xbc7+-0x3a1+0xf6a],Y['D']=X[-0xec2+-0x7a3*0x3+0x25ae*0x1];const Z=Y,a0=['A','B','C','D'][bG(0x3ad)](a4=>Z[a4]===W),a1={...V};return a1[bG(0x472)]=Z,a1[bG(0x3fe)]=a0,a1;},K=G[bF(0x4b6)]((V,W)=>({...J(V),'number':W+(-0x2b*0x6b+0x3c1+-0x14b*-0xb)})),L=F(),Q={...L,'examName':L[bF(0x22f)]+'\x20\x20(Retry\x20wrong\x20only)','questionCount':K[bF(0x4b0)],'startedAt':new Date()['toISOString']()};console[bF(0x2aa)](),a0ae(bF(0x44f)),console[bF(0x2aa)](),console[bF(0x2aa)](a0L['white'](bF(0x367)+K[bF(0x4b0)]+bF(0x4b4)+(-0x77*-0x20+-0xbec*-0x2+0x385*-0xb===K[bF(0x4b0)]?'':'s')+bF(0x439))),console['log'](a0L[bF(0x363)](bF(0x399))),console['log'](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af(bF(0x441),String(K['length'])),a0af(bF(0x20d),bF(0x2dd)),U(K[-0x3e7*-0x4+-0x2325+-0x3*-0x683]);}),B[bb(0x221)](bb(0x49c))[bb(0x2c5)]('Install\x20Python\x20environment\x20for\x20practical\x20exam\x20questions')[bb(0x287)](async()=>{const bH=bb;if(a0a8(bH(0x3f4)),0x1*0x10ed+-0x1bc7+0xada===a0a3()[bH(0x36b)])return console['log'](),a0ab('Complete\x20the\x20demo\x20first\x20before\x20setting\x20up.'),console[bH(0x2aa)](a0L[bH(0x363)]('\x20\x20→\x20')+a0L[bH(0x3f2)]['cyan'](bH(0x4b8))),void console[bH(0x2aa)]();const K=a0ak();if(K){const a4=K[bH(0x3a0)]['length'],a5=a4+K['failedPackages'][bH(0x4b0)];if(a4>=-0x1769+0x71*0x1a+0x3*0x3fd||(a5>0x1cb+0x1136+-0x2b7*0x7?a4/a5:0x1aad+-0x1bac+0xff)>=-0x1d0+-0x1367+0x1537+0.7)return console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x466)](bH(0x436))+a0L['green'](bH(0x30c))),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x49f)+K[bH(0x28b)][bH(0x451)]('T')[0xefa+-0x20be+0x11c4])),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x27f)+K['pythonVersion'])),console[bH(0x2aa)](a0L['gray'](bH(0x4a7)+a4+'\x20installed')),K[bH(0x490)][bH(0x4b0)]>-0x1595+0x6df+0xeb6&&console['log'](a0L['yellow']('\x20\x20\x20\x20Failed:\x20'+K[bH(0x490)][bH(0x22d)](',\x20'))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x329)](bH(0x293))+a0L['bold']['cyan']('exam\x20<token>')),console['log'](a0L[bH(0x363)]('\x20\x20Or\x20type\x20')+a0L['bold'][bH(0x332)]('back')+a0L['gray']('\x20to\x20return\x20to\x20the\x20main\x20menu.')),void console[bH(0x2aa)]();console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x378)]('\x20\x20Previous\x20setup\x20had\x20only\x20'+a4+'/'+a5+bH(0x341))),console[bH(0x2aa)]();}console[bH(0x2aa)](),a0ae('Exam\x20Environment\x20Setup'),console['log'](),console[bH(0x2aa)](a0L[bH(0x329)](bH(0x278))),console[bH(0x2aa)](a0L[bH(0x363)]('\x20\x20Expected:\x201-2\x20minutes\x20·\x20~150MB\x20disk')),console[bH(0x2aa)]();const L=(a6,a7)=>{const bI=bH,a8=process[bI(0x30a)];console[bI(0x2aa)](),a0aa(bI(0x20b)===a6?bI(0x322):bI(0x35b)+a7+bI(0x4bd)),console[bI(0x2aa)](),console[bI(0x2aa)](a0L[bI(0x3f2)][bI(0x329)](bI(0x358))),console[bI(0x2aa)](),bI(0x3b2)===a8?(console['log'](a0L[bI(0x378)](bI(0x388))),console[bI(0x2aa)](a0L['green']('\x20\x20\x20\x20brew\x20install\x20python@3.12')),console[bI(0x2aa)](),console['log'](a0L[bI(0x363)](bI(0x395))),console[bI(0x2aa)](a0L[bI(0x363)](bI(0x336)))):bI(0x351)===a8?(console['log'](a0L[bI(0x378)](bI(0x3bb))),console['log'](a0L[bI(0x466)](bI(0x24d))),console[bI(0x2aa)](a0L[bI(0x466)]('\x20\x20\x20\x20sudo\x20apt\x20update')),console[bI(0x2aa)](a0L[bI(0x466)](bI(0x482))),console[bI(0x2aa)](a0L['gray'](bI(0x44d))),console['log'](),console[bI(0x2aa)](a0L[bI(0x378)](bI(0x40a))),console['log'](a0L[bI(0x466)]('\x20\x20\x20\x20sudo\x20dnf\x20install\x20-y\x20python3.12')),console['log'](),console[bI(0x2aa)](a0L[bI(0x378)]('\x20\x20Arch\x20/\x20Manjaro:')),console[bI(0x2aa)](a0L[bI(0x466)]('\x20\x20\x20\x20sudo\x20pacman\x20-S\x20python'))):bI(0x34d)===a8?(console[bI(0x2aa)](a0L[bI(0x378)](bI(0x212))),console['log'](a0L[bI(0x466)](bI(0x1e4))),console['log'](),console[bI(0x2aa)](a0L['gray'](bI(0x395))),console[bI(0x2aa)](a0L[bI(0x363)]('\x20\x20\x20\x20https://www.python.org/downloads/windows/'))):console[bI(0x2aa)](a0L[bI(0x363)](bI(0x47f))),console[bI(0x2aa)](),console[bI(0x2aa)](a0L[bI(0x329)](bI(0x2ec))+a0L[bI(0x3f2)][bI(0x332)](bI(0x3f4))),console[bI(0x2aa)]();},Q=bH(0x256);let V='';try{const a6={};a6[bH(0x25f)]=bH(0x28a),a6['timeout']=0x1388,V=a0an(Q+bH(0x234),a6)[bH(0x2fd)]()[bH(0x4a0)](bH(0x35b),'');const a7=V[bH(0x451)]('.')['map'](Number);if(a7[-0x1*0x1e13+-0x17*-0x1ae+-0x88f*0x1]<0x1c73+-0x15c5*-0x1+-0x1*0x3235||-0x22b2+-0x1431+0x1b73*0x2===a7[-0x1bb3+0x1*-0xc9d+0x408*0xa]&&a7[-0xa47+-0x11*-0x32+0xa2*0xb]<0x7aa+-0x5c4+-0x11*0x1c)return void L('too_old',V);-0x1347+-0x1905+0x2c4f===a7[-0xf*0x6+-0x244d+0xb*0x355]&&a7[-0x109*-0x1a+-0x2a7*0x2+-0x159b*0x1]<-0x214b+0x1eb8*-0x1+0x400f?console['log'](a0L['green'](bH(0x3cd)+V)+a0L[bH(0x363)](bH(0x1e6))):console['log'](a0L['green'](bH(0x3cd)+V));}catch{return void L(bH(0x20b));}try{const a8={};a8[bH(0x387)]='ignore',a8[bH(0x373)]=0x1388,(a0an(Q+'\x20-m\x20pip\x20--version',a8),console[bH(0x2aa)](a0L[bH(0x466)](bH(0x3fa))));}catch{console[bH(0x2aa)](a0L[bH(0x378)](bH(0x397)));try{const a9={};a9['stdio']=bH(0x3db),a9[bH(0x373)]=0x7530,(a0an(Q+bH(0x3cf),a9),console[bH(0x2aa)](a0L[bH(0x466)](bH(0x27c))));}catch{a0aa(bH(0x3f9)),console[bH(0x2aa)]();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import('../lib/platform.js'),{execFileSync:ac}=await import(bH(0x207)),ad=aa(),ae=ab(),af=bH(0x351)===process[bH(0x30a)]&&!ad,ag=bH(0x3b2)===process['platform'];let ah=bH(0x254);if(af||ad)try{const {readFileSync:ak}=await import(bH(0x2d6)),al=ak(bH(0x2a3),bH(0x28a)),am=(al[bH(0x411)](/^ID="?([^"\n]+)/m)||[])[-0x1*0x1d41+-0x1*0xded+-0x3*-0xe65]||'',an=(al[bH(0x411)](/^VERSION_ID="?([^"\n]+)/m)||[])[-0xa49*-0x1+0x1ae8+-0x2530]||'';'ubuntu'===am?ah=bH(0x2bc)+an+(ad?bH(0x2e1):''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?bH(0x2e1):''));}catch{}let ai=!(-0x1dbc+0xf3+0x1cca);if(ag)try{const ao={};ao[bH(0x387)]='ignore',ao[bH(0x373)]=0x7d0,(ac('which',[bH(0x202)],ao),ai=!(0x175c+0x1ffa+-0x3756));}catch{ai=!(-0x825+-0x26f7+0x2f1d);}const aj=ae?bH(0x3f7):bH(0x46e);return console[bH(0x2aa)](a0L['bold'][bH(0x378)](bH(0x2ac))),console[bH(0x2aa)](a0L[bH(0x3f2)][bH(0x378)]('\x20\x20'+aj)),console['log'](a0L[bH(0x3f2)][bH(0x378)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bH(0x2aa)](),af||ad?(console[bH(0x2aa)](a0L[bH(0x329)]('\x20\x20Detected:\x20')+a0L[bH(0x332)](ah)),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x27d))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x3f2)][bH(0x329)](bH(0x424))),console['log'](),console[bH(0x2aa)](a0L[bH(0x329)](bH(0x4a3))+a0L['bold'][bH(0x332)]('quit')+a0L['white'](bH(0x40d))),console['log'](),console[bH(0x2aa)](a0L['white'](bH(0x21b))),console[bH(0x2aa)](),console['log'](bH(0x4d0)+a0L[bH(0x3f2)][bH(0x332)](bH(0x3c4))),console['log'](bH(0x4d0)+a0L[bH(0x3f2)]['cyan'](bH(0x375))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x329)](bH(0x32f))),console['log'](),console[bH(0x2aa)](bH(0x4d0)+a0L['bold'][bH(0x332)](bH(0x34c))),console[bH(0x2aa)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x363)]('icoa>')+'\x20'+a0L[bH(0x3f2)][bH(0x332)](bH(0x3f4)))):ag?(console[bH(0x2aa)](a0L[bH(0x329)](bH(0x252))+a0L[bH(0x332)](bH(0x2f9))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x3f2)][bH(0x329)](bH(0x424))),console[bH(0x2aa)](),console['log'](a0L[bH(0x329)](bH(0x4a3))+a0L[bH(0x3f2)][bH(0x332)](bH(0x36a))+a0L[bH(0x329)](bH(0x421))),console[bH(0x2aa)](),ai?(console[bH(0x2aa)](a0L[bH(0x329)](bH(0x39c))),console[bH(0x2aa)](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bH(0x332)]('brew\x20install\x20python@3.12')),console[bH(0x2aa)](bH(0x4d0)+a0L[bH(0x3f2)][bH(0x332)]('brew\x20link\x20--overwrite\x20python@3.12'))):(console[bH(0x2aa)](a0L[bH(0x329)]('\x20\x20\x20\x202.\x20Install\x20Homebrew\x20first\x20(we\x20did\x20not\x20find\x20')+a0L[bH(0x3f2)]['yellow'](bH(0x202))+a0L['white']('):')),console[bH(0x2aa)](),console[bH(0x2aa)](bH(0x4d0)+a0L[bH(0x3f2)]['cyan'](bH(0x440))),console['log'](),console[bH(0x2aa)](a0L['white'](bH(0x3d4))),console[bH(0x2aa)](),console[bH(0x2aa)](bH(0x4d0)+a0L[bH(0x3f2)][bH(0x332)](bH(0x4a6)))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x329)](bH(0x3e4))),console[bH(0x2aa)](),console[bH(0x2aa)](bH(0x4d0)+a0L[bH(0x3f2)][bH(0x332)](bH(0x34c))),console[bH(0x2aa)](bH(0x4d0)+a0L[bH(0x363)](bH(0x36e))+'\x20'+a0L[bH(0x3f2)]['cyan'](bH(0x3f4)))):ae?(console[bH(0x2aa)](a0L[bH(0x329)](bH(0x252))+a0L[bH(0x332)](bH(0x25b))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L['bold'][bH(0x378)](bH(0x403))),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x248))),console['log'](a0L[bH(0x363)](bH(0x29e))),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x204))),console['log'](),console[bH(0x2aa)](a0L['bold'][bH(0x329)](bH(0x331))),console['log'](),console[bH(0x2aa)](a0L[bH(0x329)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bH(0x3f2)][bH(0x332)](bH(0x36a))+a0L[bH(0x329)](bH(0x421))),console['log'](a0L['white'](bH(0x4b1))),console['log'](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x3f2)]['cyan'](bH(0x273))),console[bH(0x2aa)](),console['log'](a0L['gray'](bH(0x2d3))),console[bH(0x2aa)](a0L[bH(0x329)](bH(0x2f5))),console[bH(0x2aa)](),console[bH(0x2aa)](bH(0x4d0)+a0L['bold']['cyan'](bH(0x2a8))),console['log'](bH(0x4d0)+a0L[bH(0x3f2)][bH(0x332)](bH(0x3e7))),console['log'](bH(0x4d0)+a0L[bH(0x3f2)]['cyan'](bH(0x449))),console[bH(0x2aa)](bH(0x4d0)+a0L[bH(0x3f2)]['cyan'](bH(0x34c))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L['gray'](bH(0x42d))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x329)](bH(0x4a3))+a0L[bH(0x3f2)]['cyan'](bH(0x36a))+a0L[bH(0x329)](bH(0x421))),console[bH(0x2aa)](a0L[bH(0x329)]('\x20\x20\x20\x202.\x20In\x20PowerShell,\x20install\x20Python\x20with\x20pip:')),console[bH(0x2aa)](),console[bH(0x2aa)](bH(0x4d0)+a0L[bH(0x3f2)][bH(0x332)](bH(0x1f0))),console[bH(0x2aa)](),console['log'](a0L['gray'](bH(0x3e2))),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x281))),console['log'](a0L[bH(0x329)](bH(0x3b5))),console['log'](),console['log'](bH(0x4d0)+a0L['bold']['cyan'](bH(0x34c))),console[bH(0x2aa)](bH(0x4d0)+a0L[bH(0x363)](bH(0x36e))+'\x20'+a0L[bH(0x3f2)][bH(0x332)](bH(0x3f4)))):(console[bH(0x2aa)](a0L['white'](bH(0x426))+a0L['cyan'](process['platform'])+a0L[bH(0x329)](')')),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x272))),console[bH(0x2aa)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x3f2)][bH(0x332)](bH(0x34c))),console[bH(0x2aa)](bH(0x4d0)+a0L['gray'](bH(0x36e))+'\x20'+a0L[bH(0x3f2)][bH(0x332)]('exam\x20setup'))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L['gray'](bH(0x1e9))),void console['log']();}}const W={};W['beautifulsoup4']='bs4',W[bH(0x3d6)]=bH(0x39f),W[bH(0x3aa)]='z3',W[bH(0x469)]=bH(0x2c6),W[bH(0x225)]='pwn',W[bH(0x295)]=bH(0x26d);const X=[bH(0x225),bH(0x4c4),bH(0x3c7),bH(0x21d),'numpy',bH(0x469),bH(0x3a8),bH(0x2e8),bH(0x3aa),bH(0x3d6),'ROPgadget',bH(0x219),bH(0x40b)],Y=W;console[bH(0x2aa)](),console['log'](a0L[bH(0x329)](bH(0x3e5)+X['length']+'\x20packages...')),console[bH(0x2aa)]();let Z='';try{const ap={};ap[bH(0x25f)]=bH(0x28a),ap[bH(0x373)]=0x2710,a0an(Q+'\x20-m\x20pip\x20install\x20--dry-run\x20pip\x202>&1',ap);}catch(aq){const ar=String(aq?.[bH(0x2be)]||aq?.[bH(0x4d6)]||aq?.[bH(0x4c5)]||'');/externally-managed-environment|break-system-packages/i[bH(0x374)](ar)&&(Z=bH(0x30d),console[bH(0x2aa)](a0L[bH(0x378)](bH(0x3b0))),console[bH(0x2aa)]());}const a0=V['split']('.')[bH(0x4b6)](Number);-0x7d+-0x32a+0x1d5*0x2===a0[-0x1129+0x957*-0x2+-0x23d7*-0x1]&&a0[0x2*-0x33d+-0x1*0x3e6+-0x1*-0xa61]>=0x3*0x123+-0x65*-0x1+0x1*-0x3c1&&(console[bH(0x2aa)](a0L[bH(0x378)](bH(0x2e7)+V+bH(0x211))),console['log'](a0L[bH(0x363)]('\x20\x20\x20\x20Some\x20packages\x20(pwntools,\x20scapy)\x20may\x20not\x20have\x20wheels\x20yet\x20for\x203.13.')),console['log'](a0L['gray'](bH(0x200))),'linux'===process[bH(0x30a)]&&(console[bH(0x2aa)](a0L['green'](bH(0x430))),console['log'](a0L[bH(0x466)]('\x20\x20\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201'))),console[bH(0x2aa)]());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+bH(0x1fe)+as+'\x22\x20'+Z+bH(0x28c),{'encoding':bH(0x28a),'timeout':0x2bf20,'stdio':bH(0x302)}),a0an(Q+bH(0x21e)+(Y[as]||as)+'\x22',{'stdio':bH(0x3db),'timeout':0x2710});let at='';try{const au=a0an(Q+bH(0x34e)+as+'\x22\x202>/dev/null',{'encoding':'utf-8','timeout':0x1388})[bH(0x411)](/^Version:\s*(.+)$/m);au&&(at=au[-0x1*0xbb7+-0x1*0xf95+0x1b4d][bH(0x2fd)]());}catch{}console[bH(0x2aa)](a0L['green']('\x20\x20✓\x20'+as)+(at?a0L[bH(0x363)]('\x20('+at+')'):'')),a1[bH(0x290)](at?as+'=='+at:as);}catch(av){const aw=String(av?.[bH(0x2be)]||av?.['stderr']||av?.[bH(0x4c5)]||'')[bH(0x48e)](-(0x2025+-0x1f74+0x1*0xdf)),ax=aw[bH(0x451)]('\x0a')[bH(0x2bd)](ay=>ay[bH(0x2fd)]())['slice'](-(-0x9bb+0x1b3b*-0x1+-0x34*-0xb6))[bH(0x22d)](bH(0x2cd))[bH(0x48e)](-0x2*-0x9a3+-0x597*0x2+-0x818,-0x82b+-0x2*0x84d+0x193d);console[bH(0x2aa)](a0L[bH(0x38d)](bH(0x3a2)+as)+a0L[bH(0x363)]('\x20\x20'+ax)),a2[bH(0x290)]({'pkg':as,'error':ax}),a3||(a3=aw);}0x159a+-0x16bc+0x122===a1['length']&&a3&&(console[bH(0x2aa)](),console[bH(0x2aa)](a0L['yellow'](bH(0x37d))),console[bH(0x2aa)](a0L[bH(0x363)]('\x20\x20'+a3[bH(0x451)]('\x0a')[bH(0x48e)](-(-0x2*0x700+-0x1474+0x227a))[bH(0x22d)](bH(0x35e))))),a0al({'completedAt':new Date()['toISOString'](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bH(0x4b6)](ay=>ay[bH(0x29c)])}),console[bH(0x2aa)](),-0x6b6*-0x5+0x10b2+0x10c*-0x30===a2[bH(0x4b0)]?a0a9(bH(0x2b4)+X[bH(0x4b0)]+bH(0x292)):-0x57c*-0x5+-0x511*0x3+-0xc39===a1['length']?(a0aa('Setup\x20failed\x20—\x200\x20of\x20'+X[bH(0x4b0)]+bH(0x292)),console[bH(0x2aa)](),console[bH(0x2aa)](a0L['yellow']('\x20\x20Troubleshooting:')),-0x1177+-0x1d52+-0x14*-0x257===a0[-0x1*-0x1807+0xf3a+-0x2741]&&a0[0x6fb*0x1+-0x76d*0x1+0x73]>=0x563*-0x6+0x19b1*-0x1+0x2*0x1d08?(console[bH(0x2aa)](a0L['gray'](bH(0x239))),console[bH(0x2aa)](a0L['gray'](bH(0x282)))):(console['log'](a0L[bH(0x363)](bH(0x3ea))),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x30f))+a0L['cyan'](Q+bH(0x487))+a0L[bH(0x363)](bH(0x26a))),console['log'](a0L[bH(0x363)]('\x20\x20\x20\x20•\x20On\x20Kali/Ubuntu\x2022+:\x20might\x20need\x20python3.12-dev\x20+\x20build-essential'))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x329)](bH(0x47b))+a0L['bold']['cyan']('exam\x20setup'))):a0ab(a1['length']+'/'+X[bH(0x4b0)]+bH(0x4c1)+a2[bH(0x4b0)]+bH(0x34f)+a2[bH(0x4b6)](ay=>ay[bH(0x29c)])[bH(0x22d)](',\x20')),console[bH(0x2aa)](),console['log'](a0L['cyan'](bH(0x1dc))),console[bH(0x2aa)](a0L[bH(0x3f2)][bH(0x329)](bH(0x47e))),console[bH(0x2aa)](a0L['cyan'](bH(0x1dc))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x3f2)][bH(0x378)](bH(0x4a5))+a0L[bH(0x363)]('\x20(quick\x20tasks)')),console[bH(0x2aa)](a0L[bH(0x329)](bH(0x4a1))),console['log'](a0L[bH(0x466)](bH(0x2b2))),console[bH(0x2aa)](a0L['gray'](bH(0x463))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x3f2)][bH(0x378)](bH(0x37b))+a0L['gray']('\x20(explore\x20&\x20experiment)')),console[bH(0x2aa)](a0L['white']('\x20\x20Start\x20a\x20Python\x20session,\x20type\x20commands\x20one\x20by\x20one:')),console[bH(0x2aa)](a0L[bH(0x466)]('\x20\x20\x20\x20!python3')),console['log'](a0L['gray']('\x20\x20\x20\x20>>>\x20from\x20Crypto.Cipher\x20import\x20AES')),console[bH(0x2aa)](a0L[bH(0x363)]('\x20\x20\x20\x20>>>\x20key\x20=\x20bytes.fromhex(\x2249434f41...\x22)')),console[bH(0x2aa)](a0L[bH(0x363)]('\x20\x20\x20\x20>>>\x20cipher\x20=\x20AES.new(key,\x20AES.MODE_CBC,\x20iv)')),console[bH(0x2aa)](a0L[bH(0x363)]('\x20\x20\x20\x20>>>\x20print(cipher.decrypt(data))')),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x350))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x3f2)][bH(0x378)](bH(0x209))+a0L['gray'](bH(0x2ea))),console[bH(0x2aa)](a0L[bH(0x329)](bH(0x2d8))),console[bH(0x2aa)](a0L[bH(0x466)](bH(0x2a2))),console[bH(0x2aa)](a0L[bH(0x363)]('\x20\x20\x20\x20from\x20pwn\x20import\x20xor')),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x4b7))),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x4db))),console['log'](a0L[bH(0x363)](bH(0x1f3))),console['log'](a0L[bH(0x466)]('\x20\x20\x20\x20EOF')),console[bH(0x2aa)](a0L[bH(0x466)](bH(0x3de))),console[bH(0x2aa)](),console[bH(0x2aa)](a0L[bH(0x3f2)][bH(0x378)](bH(0x1ef))),console[bH(0x2aa)](a0L[bH(0x329)]('\x20\x20During\x20the\x20exam,\x20type\x20')+a0L[bH(0x3f2)][bH(0x332)]('hint')+a0L[bH(0x329)](bH(0x39e))),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x41d))),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x349))),console[bH(0x2aa)](a0L[bH(0x363)](bH(0x376))),console[bH(0x2aa)](a0L['cyan'](bH(0x1dc))),console['log'](),console[bH(0x2aa)](a0L[bH(0x329)](bH(0x293))+a0L[bH(0x3f2)]['cyan'](bH(0x305))),console['log'](a0L[bH(0x363)](bH(0x227))+a0L[bH(0x3f2)][bH(0x332)](bH(0x1fa))+a0L[bH(0x363)](bH(0x485))),console[bH(0x2aa)]();}),B['action'](()=>{const bJ=bb;a0a8(bJ(0x20c));const F=a0Y();if(F){a0ae('In\x20Progress:\x20'+F[bJ(0x1e8)][bJ(0x22f)]),O();const J=Object['keys'](F[bJ(0x496)])['length'];return a0af(bJ(0x327),J+'/'+F['session'][bJ(0x27a)]+bJ(0x286)),console[bJ(0x2aa)](),void console['log'](a0L[bJ(0x363)](bJ(0x3ee)));}const G=a0a3(),H=a0ak();console[bJ(0x2aa)](),a0ae(bJ(0x3b8)),console[bJ(0x2aa)](),-0x7e3+-0xade+0x12c1===G[bJ(0x36b)]?(console[bJ(0x2aa)](a0L[bJ(0x378)]('\x20\x20○\x20')+a0L[bJ(0x378)]('Recommended:\x20complete\x20demo\x20first')),console[bJ(0x2aa)](a0L['gray'](bJ(0x31f))+a0L[bJ(0x3f2)]['cyan'](bJ(0x4b8)))):(console[bJ(0x2aa)](a0L[bJ(0x466)]('\x20\x20●\x20')+a0L[bJ(0x466)](bJ(0x1fc)+G[bJ(0x36b)]+bJ(0x435)+(-0xb2d+-0x2233*-0x1+-0x1705!==G[bJ(0x36b)]?'s':'')+')')),H?(console[bJ(0x2aa)](a0L[bJ(0x466)](bJ(0x2ba))+a0L[bJ(0x466)](bJ(0x249))),console[bJ(0x2aa)](a0L[bJ(0x378)](bJ(0x2d7))+a0L[bJ(0x378)](bJ(0x334))),console['log'](a0L['gray'](bJ(0x31f))+a0L[bJ(0x3f2)][bJ(0x332)](bJ(0x305)))):(console[bJ(0x2aa)](a0L[bJ(0x378)](bJ(0x2d7))+a0L[bJ(0x378)](bJ(0x27b))),console[bJ(0x2aa)](a0L['gray']('\x20\x20\x20\x20→\x20')+a0L[bJ(0x3f2)][bJ(0x332)](bJ(0x3f4))))),console['log']();});}
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{isChatActive as u,handleChatMessage as h}from"./commands/ai4ctf.js";import{isCtf4aiActive as w,handleCtf4aiMessage as f}from"./commands/ctf4ai-demo.js";import{isVla4CtfActive as b,handleVla4CtfMessage as v}from"./commands/vla4ctf.js";import{getExamState as x,getRealExamState as C,getDemoState as A}from"./lib/exam-state.js";import{getDemoStats as I}from"./lib/demo-stats.js";import{isExamSetupComplete as k}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as T,DEMO_POOL_SIZE as $}from"./lib/demo-exam.js";import{isNativeWindowsCmd as S}from"./lib/platform.js";import{resetTerminalTheme as O}from"./lib/theme.js";import{ensureSandbox as L,runInSandbox as E,isDockerAvailable as P}from"./lib/sandbox.js";import{logCommand as q}from"./lib/logger.js";import{startLogSync as D,stopLogSync as j}from"./lib/log-sync.js";import{existsSync as R,mkdirSync as N,writeFileSync as F}from"node:fs";import{join as M}from"node:path";import{homedir as U}from"node:os";function z(){return C()?chalk.cyan("exam> "):A()?chalk.yellow("demo> "):chalk.green("icoa> ")}const B=M(U(),"icoa-workspace");function W(){return R(B)||N(B,{recursive:!0}),B}const Q=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),_="__REPL_NO_EXIT__",Y="2.5.1";function V(){const o=I(),e=k(),l=`Free practice — ${T} questions (from pool of ${$})`,n=S();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 · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()}export async function startRepl(e,C){const A=n(),I=l(),k=process.exit.bind(process),T=a();if(A.demoCleanedForVersion!==Y){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:Y})}const{select:$,confirm:S}=await import("@inquirer/prompts"),G=A.mode||"",K=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("International Olympiad")} ${chalk.gray("—")} ${chalk.gray("CTF × AI (~500MB, advanced)")}`,value:"olympiad"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("VLA4CTF: demo, learn, Paper D")}`,value:"embodied"},{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 Z="";for(;!Z;){const o=await $({message:"Mode",choices:K,default:G||"selection"});"about"!==o?Z=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(" [Day 3] 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"===Z&&"olympiad"!==G&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await S({message:"Continue?",default:!0})||(Z="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),Z!==G&&s({mode:Z}),console.log(),"olympiad"===Z&&m(Y)){d(Y),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(C){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"===Z?V():"embodied"===Z?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" VLA4CTF")+chalk.gray(" — ICOA 2026's new competition track")),console.log(chalk.gray(" alongside ")+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(" all running on ICOA servers, zero local setup.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ~5 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn")+chalk.gray(" free 11-card intro (LEARNDEMO01) · 100/480 with ")+chalk.bold.yellow("EA")+chalk.gray(" token")),console.log(chalk.bold.green(" exam <PD-token>")+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()):"organizer"===Z?(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(),I?(console.log(chalk.green(` Logged in as ${A.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()):T&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):I?(console.log(chalk.green.bold(` Welcome back, ${A.userName}!`)),console.log(chalk.gray(` Connected to ${A.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(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()):T?(W(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${B}`)),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 · ")+chalk.cyan("exit")+chalk.gray(" → menu · ")+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 · ")+chalk.cyan("exit")+chalk.gray(" → menu · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()),e.exitOverride(),e.configureOutput({writeErr:()=>{},writeOut:o=>{console.log(o)}});const H=o({input:process.stdin,output:process.stdout,prompt:z(),terminal:!0});let X=!1;p(!0),D();const oo=H.prompt.bind(H);H.prompt=o=>{u()||w()||b()||H.setPrompt(z()),oo(o)},H.prompt(),H.on("line",async o=>{if(X)return;const l=o.trim();if(!l)return H.setPrompt(u()?chalk.magenta("ai4ctf> "):z()),void H.prompt();if(u()){X=!0;const o=await h(l);return X=!1,"exit"===o&&H.setPrompt(z()),void H.prompt()}if(w()){X=!0;const o=await f(l);return X=!1,"exit"!==o&&"solved"!==o||H.setPrompt(z()),void H.prompt()}if(b()){X=!0;const o=await v(l);return X=!1,"exit"===o&&H.setPrompt(z()),H.setPrompt(b()?chalk.bold.cyan("vla4ctf> "):z()),void H.prompt()}if(q(l),"exit"===l)return x()?(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 H.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"===Z&&V(),void H.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=x();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 H.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)."))),j(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),O(),void k(0))}if("back"===l||"menu"===l){const o=x(),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"===Z?V():console.log(chalk.gray(" Already at main menu."))}return void H.prompt()}if("help"===l||"?"===l){if(x()){X=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return X=!1,void H.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(),Z),void H.prompt()}if("more help"===l.toLowerCase()&&x()){X=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return X=!1,void H.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 H.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){X=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return X=!1,void H.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){X=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return X=!1,void H.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){X=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return X=!1,void H.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){X=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return X=!1,void H.prompt()}if("clear"===l||"cls"===l)return console.clear(),void H.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 H.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void H.prompt();const m=x();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 H.prompt();X=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return X=!1,void H.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void H.prompt();X=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return X=!1,void H.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),C=l.startsWith("!")||d.startsWith("!")||p;if("embodied"===Z&&!C&&!["demo2","learn","exam","vla4ctf","lang","ref","setup","env"].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 H.prompt();if("selection"===Z&&!C&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env"].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 H.prompt()}if("organizer"===Z&&!["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 H.prompt();if(!("olympiad"!==Z||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 H.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"].includes(d)){if(Q.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void H.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: ${B}`)),console.log(),void H.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=W();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=M(U(),".icoa");R(o)||N(o,{recursive:!0});const e=M(o,"python-startup.py");return R(e)||F(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()),X=!0;try{P()&&await L()?await E(o,H):await J(o,H,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return X=!1,console.log(),void H.prompt()}X=!0;const A=l.trim(),I=A.toLowerCase();let T,$=null,S="";if(m)if("submit"===I)$="final";else if(I.startsWith("submit ")){let o=A.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)&&($="flag",S=o)}else/^ICOA\{[^}]+\}$/i.test(A)&&($="flag",S=A);T="final"===$?["exam","submit"]:"flag"===$?["exam","answer",String(m?._lastQ||1),S]: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 D="ctf"===T[0]&&"join"===T[1];D&&H.pause(),process.exit=()=>{throw new Error(_)};try{await e.parseAsync(["node","icoa",...T])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===_);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=k,X=!1,D&&H.resume()}u()?H.setPrompt(chalk.magenta("ai4ctf> ")):w()?H.setPrompt(chalk.red("ctf4ai> ")):b()&&H.setPrompt(chalk.bold.cyan("vla4ctf> ")),console.log(),H.prompt()}),H.on("SIGINT",()=>{if(console.log(),u()||w())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(x()){const o="demo-free"!==x().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(),H.prompt()}),H.on("close",()=>{j(),g(),O(),k(0)})}function J(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{isChatActive as u,handleChatMessage as h}from"./commands/ai4ctf.js";import{isCtf4aiActive as w,handleCtf4aiMessage as f}from"./commands/ctf4ai-demo.js";import{isVla4CtfActive as b,handleVla4CtfMessage as v}from"./commands/vla4ctf.js";import{getExamState as x,getRealExamState as C,getDemoState as A}from"./lib/exam-state.js";import{getDemoStats as I}from"./lib/demo-stats.js";import{isExamSetupComplete as k}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as T,DEMO_POOL_SIZE as $}from"./lib/demo-exam.js";import{isNativeWindowsCmd as S}from"./lib/platform.js";import{resetTerminalTheme as O}from"./lib/theme.js";import{ensureSandbox as L,runInSandbox as E,isDockerAvailable as P}from"./lib/sandbox.js";import{logCommand as q}from"./lib/logger.js";import{startLogSync as D,stopLogSync as j}from"./lib/log-sync.js";import{existsSync as R,mkdirSync as N,writeFileSync as F}from"node:fs";import{join as M}from"node:path";import{homedir as U}from"node:os";function z(){return C()?chalk.cyan("exam> "):A()?chalk.yellow("demo> "):chalk.green("icoa> ")}const B=M(U(),"icoa-workspace");function W(){return R(B)||N(B,{recursive:!0}),B}const Q=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),_="__REPL_NO_EXIT__",Y="2.5.1";function V(){const o=I(),e=k(),l=`Free practice — ${T} questions (from pool of ${$})`,n=S();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 · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()}export async function startRepl(e,C){const A=n(),I=l(),k=process.exit.bind(process),T=a();if(A.demoCleanedForVersion!==Y){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:Y})}const{select:$,confirm:S}=await import("@inquirer/prompts"),G=A.mode||"",K=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("International Olympiad")} ${chalk.gray("—")} ${chalk.gray("CTF × AI (~500MB, advanced)")}`,value:"olympiad"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("VLA4CTF: demo, learn, Paper D")}`,value:"embodied"},{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 Z="";for(;!Z;){const o=await $({message:"Mode",choices:K,default:G||"selection"});"about"!==o?Z=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(" [Day 3] 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"===Z&&"olympiad"!==G&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await S({message:"Continue?",default:!0})||(Z="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),Z!==G&&s({mode:Z}),console.log(),"olympiad"===Z&&m(Y)){d(Y),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(C){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"===Z?V():"embodied"===Z?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" VLA4CTF")+chalk.gray(" — ICOA 2026's new competition track")),console.log(chalk.gray(" alongside ")+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(" all running on ICOA servers, zero local setup.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ~5 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn")+chalk.gray(" free 11-card intro (LEARNDEMO01) · 100/480 with ")+chalk.bold.yellow("EA")+chalk.gray(" token")),console.log(chalk.bold.green(" exam <PD-token>")+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()):"organizer"===Z?(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(),I?(console.log(chalk.green(` Logged in as ${A.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()):T&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):I?(console.log(chalk.green.bold(` Welcome back, ${A.userName}!`)),console.log(chalk.gray(` Connected to ${A.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(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()):T?(W(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${B}`)),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 · ")+chalk.cyan("exit")+chalk.gray(" → menu · ")+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 · ")+chalk.cyan("exit")+chalk.gray(" → menu · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()),e.exitOverride(),e.configureOutput({writeErr:()=>{},writeOut:o=>{console.log(o)}});const H=o({input:process.stdin,output:process.stdout,prompt:z(),terminal:!0});let X=!1;p(!0),D();const oo=H.prompt.bind(H);H.prompt=o=>{u()||w()||b()||H.setPrompt(z()),oo(o)},H.prompt(),H.on("line",async o=>{if(X)return;const l=o.trim();if(!l)return H.setPrompt(u()?chalk.magenta("ai4ctf> "):z()),void H.prompt();if(u()){X=!0;const o=await h(l);return X=!1,"exit"===o&&H.setPrompt(z()),void H.prompt()}if(w()){X=!0;const o=await f(l);return X=!1,"exit"!==o&&"solved"!==o||H.setPrompt(z()),void H.prompt()}if(b()){X=!0;const o=await v(l);return X=!1,"exit"===o&&H.setPrompt(z()),H.setPrompt(b()?chalk.bold.cyan("vla4ctf> "):z()),void H.prompt()}if(q(l),"exit"===l)return x()?(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 H.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"===Z&&V(),void H.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=x();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 H.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)."))),j(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),O(),void k(0))}if("back"===l||"menu"===l){const o=x(),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"===Z?V():console.log(chalk.gray(" Already at main menu."))}return void H.prompt()}if("help"===l||"?"===l){if(x()){X=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return X=!1,void H.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(),Z),void H.prompt()}if("more help"===l.toLowerCase()&&x()){X=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return X=!1,void H.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 H.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){X=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return X=!1,void H.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){X=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return X=!1,void H.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){X=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return X=!1,void H.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){X=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return X=!1,void H.prompt()}if("clear"===l||"cls"===l)return console.clear(),void H.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 H.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void H.prompt();const m=x();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 H.prompt();X=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return X=!1,void H.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void H.prompt();X=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return X=!1,void H.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),C=l.startsWith("!")||d.startsWith("!")||p;if("embodied"===Z&&!C&&!["demo2","learn","exam","vla4ctf","lang","ref","setup","env"].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 H.prompt();if("selection"===Z&&!C&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env"].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 H.prompt()}if("organizer"===Z&&!["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 H.prompt();if(!("olympiad"!==Z||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 H.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"].includes(d)){if(Q.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void H.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: ${B}`)),console.log(),void H.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=W();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=M(U(),".icoa");R(o)||N(o,{recursive:!0});const e=M(o,"python-startup.py");return R(e)||F(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()),X=!0;try{P()&&await L()?await E(o,H):await J(o,H,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return X=!1,console.log(),void H.prompt()}X=!0;const A=l.trim(),I=A.toLowerCase();let T,$=null,S="";if(m)if("submit"===I)$="final";else if(I.startsWith("submit ")){let o=A.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)&&($="flag",S=o)}else/^ICOA\{[^}]+\}$/i.test(A)&&($="flag",S=A);T="final"===$?["exam","submit"]:"flag"===$?["exam","answer",String(m?._lastQ||1),S]: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 D="ctf"===T[0]&&"join"===T[1];D&&H.pause(),process.exit=()=>{throw new Error(_)};try{await e.parseAsync(["node","icoa",...T])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===_);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=k,X=!1,D&&H.resume()}u()?H.setPrompt(chalk.magenta("ai4ctf> ")):w()?H.setPrompt(chalk.red("ctf4ai> ")):b()&&H.setPrompt(chalk.bold.cyan("vla4ctf> ")),console.log(),H.prompt()}),H.on("SIGINT",()=>{if(console.log(),u()||w())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(x()){const o="demo-free"!==x().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(),H.prompt()}),H.on("close",()=>{j(),g(),O(),k(0)})}function J(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.123",
3
+ "version": "2.19.124",
4
4
  "description": "ICOA CLI — The world's first CLI-native CTF competition terminal",
5
5
  "type": "module",
6
6
  "bin": {