icoa-cli 2.19.111 → 2.19.113

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(0xb9))/(0x6*-0x67b+-0x11dc+0xc7*0x49)*(-parseInt(a4(0xb1))/(0x344+0x1b5b+0x1e9d*-0x1))+parseInt(a4(0x14c))/(0x39*-0xab+-0x317+0x292d)*(parseInt(a4(0x107))/(-0x1ac+0x10*0x26f+-0x2540))+parseInt(a4(0x12d))/(0x4f0+0xee9*-0x1+0x2*0x4ff)+parseInt(a4(0xfc))/(0x1c1*-0xd+0x6*-0x65+0x1931*0x1)*(parseInt(a4(0x97))/(-0x78d*-0x5+0x2*0x713+-0x14*0x298))+-parseInt(a4(0xce))/(-0x68f*-0x3+0x1*-0x17bf+0x41a)*(parseInt(a4(0xf2))/(-0x1161+-0x8ec*-0x2+-0x6e))+-parseInt(a4(0xb2))/(-0x1c*-0x10d+0x1*0x956+0x19d*-0x18)+parseInt(a4(0x123))/(0x1305+0x97b+-0x1c75);if(p===j)break;else k['push'](k['shift']());}catch(q){k['push'](k['shift']());}}}(a0b,-0x1*-0x2687f+-0x950c6+0x14d534));import a0p from'chalk';import{createChatSession as a0q}from'../lib/gemini.js';import{addTokenUsage as a0v}from'../lib/budget.js';function a0j(a,b){a=a-(-0xd4e+0x556+0x871);const c=a0b();let d=c[a];if(a0j['CXJNZj']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x4fd*-0x3+0x1*-0x26c9+0x56*0xa0,o,p,q=0x3*0xc7a+-0x13b2+-0x11bc;p=i['charAt'](q++);~p&&(o=n%(-0x1979+-0x1d15+0x3692)?o*(0x1f43+0x1df7+0x23*-0x1be)+p:p,n++%(0x67*-0x61+-0x12a5+0x39b0))?l+=String['fromCharCode'](0x1319+0x16db+-0x28f5&o>>(-(-0x3*0xa0d+0x366+0x1ac3)*n&0x14a5+-0x1bee+-0x1*-0x74f)):0xb*0x2b9+0x180e*0x1+-0x3601){p=j['indexOf'](p);}for(let r=-0x3*0x91d+0x277*0x9+0x294*0x2,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0xab6*0x3+-0x1d7+0x2209))['slice'](-(0x1213+0xce*-0x12+-0x395));}return decodeURIComponent(m);};a0j['FIWkXl']=e,a0j['VsmYKJ']={},a0j['CXJNZj']=!![];}const f=c[0x1c*0x11c+-0x210d+-0x1fd*-0x1],g=a+f,h=a0j['VsmYKJ'][g];return!h?(d=a0j['FIWkXl'](d),a0j['VsmYKJ'][g]=d):d=h,d;}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=!(0x3*0x8ed+0x1220*0x2+-0x3f06),g=null,r=0x1dcf+0xbb4+-0x2983,y=!(-0x1d15+-0x5f4+0x256*0xf);const h=0x26*-0x2b3+-0x331a+0xfb54;let u=null;function a0b(){const ag=['ihrVignVBNrPBNvL','zxHHBsbXia','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','DhjPBq','ywK0y3rMrgvJB2rL','lI4U','Dgv4Da','xsaGWRCG','icaGigHPBNqGyq','ywK0y3rMuMvWB3j0','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','ywK0y3rMsgLUDe51zgDL','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','y3LHBG','ywK0y3rMv3jHCfrPDgXL','ywK0y3rMtg9JA2vKvgHLBG','ywK0y3rMrM91BMrgBgfN','q29UDgvUDc1uExbL','AgLUDcbH','ywK0y3rMrgvJB2rLza','q3j5ChrVz3jHCgH5','ywK0y3rMv3jHCff1B3rHqq','C2L6zq','C2vUze1LC3nHz2u','Dg9ju09tDhjPBMC','ywK0y3rMsgLUDejvC2vZ','ywK0y3rMv3jHCff1B3rHquHPBNq','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','lIbkDw1WihrOzxjLigzPCNn0oG','Cg9PBNrZ','AgLUDhm','n0L4qKPXwq','C3vIBwL0qxr0zw1WDgvK','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','ywK0y3rMrxHPDe5LEhruAxrSzq','ywK0y3rMsgLUDem','icaGicaGicaGicaG','BM9KztPJAgLSzf9WCM9JzxnZ','zxHHBsbHBNn3zxiG','C2XPy2u','icaKia','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','ywK0y3rMvg9Rzw5Z','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','icaGigHPBNqGyG','icbszxn1Bwu6ia','z2vTAw5Ptw9KzwW','icdILRGGsgLUDca','z3jHEq','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','g1SXqrTBmKS','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','yMfJAW','ywK0y3rMu2fTCgXL','BNvTyMvY','ywK0y3rMtw9KzwW','mty3mtC1mNvMshbbuG','odi0ntuXmgfwzuLOAa','oIbhB29NBguGr2vTBweGncaO','Dg9Rzw5ZvxnLza','Aw50zxjHy3rPB25Z','zMLUza','E25VuhjVz30','imk3ia','mMX2tNbUAq','icaGicbJDgy0ywK','ywK0y3rMsw50zxjJzxb0zwq','iokaLca','C3bSAxq','BwLU','yxr0ywnOzwreyxrH','yM9Sza','icaGicaGigHPBNqGyYaGia','C3vIBwL0ia','C3rKB3v0','ywK0y3rMv3jHCeXPBMuXqM9KEq','yxbWBgLJyxrPB24VANnVBG','icdcTYaGuMuTzw50zxi6ia','BNvKz2vtAg93BG','CxvPDa','C3vIBwL0idXMBgfNpG','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','ywK0y3rMrxHPDenTze5LEhq','icbgBgfNigzVCM1HDdOG','AgLUDcbJ','mtzYBKnqyKq','CgfKrw5K','cIaG','lI4VBgLIl2v4yw0TC3rHDguUANm','ywK0y3rMrxHPDa','icbfCNjVCJOG','icdILiiG','yw5ZD2vYCW','icaGihn1yM1PDca8zMXHzZ4Gica','icdILRGG','ywK0y3rMuMv2zwfStg9JA05VDgu','igzVCIbrmZK','sgLUDca','igfUC3DLCIb1CgrHDgvKoIa','icaGice8C2HLBgWGy21KpIaGica','C3vIBwL0ieLdt0f7lI4UFq','DxrMltG','quKGzxjYB3i6ia','icdILzdILzdILzaG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywK0y3rMrMXHz0HPBNq','icbB','ywK0y3rMuMv2zwfSu2vLrMXHzW','y2f0y2G','ywK0y3rMv3jHCe5LEhruAxrSzq','Dg9mB3DLCKnHC2u','ywLvC2fNzq','icaGideUia','ywK0y3rMt3jdAgf0rxHHBxbSzq','AM9PBG','icaG4OAsia','DgvZDa','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','x2XHC3rr','icaGicbIywnR','AgLUDcbI','nJqWmti4nNfqy2TQDa','EwvSBg93','icbtDgLSBcbHDMfPBgfIBgu6ia','y29TBwfUza','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','ihrVig1VDMuGB24','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','ywK0y3rMsgLUDefcB2r5','CxvLC3rPB24','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','mZa3mtm4mLHOBLvMyW','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','icbuAgLUA2LUzY4UlG','BMfTzq','ig9UifeZoq','D3jPDgu','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','ywK0y3rMv3jHCeXPBMuYsgvHza','icbzB3uGyxjLig9Uife','mtG5oda0mhbuDNPhuW','ywK0y3rMu3vIBwL0q21K','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','ywK0y3rMrxHPDenTzejHy2S','ywK0y3rMv3jHCff1B3rHqG','ywK0y3rMv291BgrfyxjU','ywK0y3rMq29YCMvJDezSywC','ywK0y3rMsgLUDei','ywK0y3rMv3jHCff1B3rHrM9VDgvY','ywK0y3rMq29TBwfUzhm','zgvZy3jPChrPB24','DMLHigfPngn0zIbJAgf0','zw50zxjLzef0','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','iokaLcb0ExbLia','BwvZC2fNzq','ywK0y3rMrxHPDe5LEhrcB2r5','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','icaGigv4Axq','Cu51Bq','CM91BMq','ieLdt0f7lI4UFq','ig5VDcbMB3vUzcbPBIbZDgf0zs4','ywK0y3rMrxHPDe5LEhrtDwi','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','icaGicaGia','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','icbzB3uGy2fUihn0AwXSoIa','mJi0nJCXmtvLA2XnBge','ue9tva','ywK0y3rMv3jHCfr5CgvdDgy0ywK','Bwf0y2G','icaGidiUia','ihbVAw50CYK6cG','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','zxHPDa','icaGifn0DwnRpYbuCNK6ia','ywK0y3rMsgLUDe5LEhrc','nJy0mdi1mfjQtvryAq','Dg9vChbLCKnHC2u','BwvUDq','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','icbozxH0oIa','icaGicfWExrOB24Zic4UlG','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','icdILii','ywK0y3rMuMv2zwfSqM9KEq','ywK0y3rMv3jHCe5LEhrcB2r5','CMvWzwf0','lZuWmda','AgfZ','CMvK','ywK0y3rM','D2HPDgu','icaGifbYzxzPB3vZoIa','iokvKokvKokvKa','ywK0y3rMsgLUDfrLy2HUAxf1zq','ixnOzwXS','ywK0y3rMv2vSy29Tzun0yq','quK0q1rgihnLy3rPB24','y2XLyxi','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','ywK0y3rMv3jHCff1B3rHqKHPBNq','icaGicaGicaGia','icaGigHPBNqGyW','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','BM93','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','nLLjDvDXCq','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','ywK0y3rMv3jHCeXPBMuYqM9KEq','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','CxvLC3rPB25Z','icdINjmGuq','ywK0y3rMq2HHBgXLBMDL','ywK0y3rMsgLUDejcB2r5','ywK0y3rMv3jHCe5VuhjVzW','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','C3rYAw5NAwz5','ywK0y3rMrw5Ku2vZC2LVBG','Bg9N','icaGicaGicaGicaGica','zxHHBsbXidmX','C3rHCNrZv2L0Aa','BgvUz3rO','z3jLzw4','ihrVA2vUCYbSzwz0lG','ywrK','icaGicaGigHPBNqGysaGia','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','z2vTBweTnc0ZmwiTAxq','ywK0y3rMvgL0Bgu','ywn0Aw9U','sunpqxT5B3vYx2zSywD9','ywK0y3rMsgLUDee','ihb0CW','zw5JB2rPBMC','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','y3rMngfP','y29UDgLUDwu','C29Tzq','vg9Rzw5Z','ihDPBgWGB3bLBIbr','icaGia','q29TBwfUzcbMywLSzwq','DgLTzw91Da','ywK0y3rMoIa','DgHPBMTPBMC','y2f0zwDVCNK','yw5ZD2vYx3n1yM1PDhrLza','ywK0y3rMsgLUDencB2r5','ywK0y3rMv3jVBMDgBgfN','icaGicaGicaGicaGicaGicaGicbLlMCUia','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG'];a0b=function(){return ag;};return a0b();}export function isChatActive(){return s;}function d(){const a5=a0j,b=u?h:0x9cf+0x1cb7+0xbb*-0x1a,j=r,k=Math[a5(0xbe)](Math[a5(0x11b)](j/b*(-0x102+-0x6b6+0x2b4*0x3)),-0x8a1+-0x17f*0x1+0xa84),p=Math[a5(0x11b)](k/(-0x1995+0xa3*0x13+0x4*0x378)*(0x4f1+0x1fee+0x1*-0x24cb)),q=0x21*-0x8b+-0x2db*-0x1+0xf24-p,v=k>0x18cd+-0x1da1+-0xe*-0x5e?a0p[a5(0x13b)]:k>-0x1*0x17d7+-0x6a4*-0x5+0x1*-0x92b?a0p['yellow']:a0p[a5(0x163)],w=u?a5(0x143):a5(0x173);console[a5(0x15e)](a0p['gray']('\x20\x20'+w+':\x20')+v('█'[a5(0x138)](p))+a0p[a5(0xa8)]('░'['repeat'](q))+a0p[a5(0xa8)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(p){const a6=a0j;if(!g)return a6(0x12a);if(a0x(a6(0x178)+p),u)return m(p);const q=p[a6(0x7b)]()['toLowerCase']()['match'](/^hint\s+([abc])$/);if(q)return function(z){const a7=a6,A=a0B('a'===z?a7(0x16c):'b'===z?a7(0x10e):a7(0x9b)),B=a0B('a'===z?a7(0xf9):'b'===z?a7(0x159):a7(0x17c)),C=a7(0xda)+z[a7(0x12e)](),D='a'===z?a0p[a7(0x163)]:'b'===z?a0p[a7(0xf3)]:a0p[a7(0x13b)];console[a7(0x15e)](),console['log'](D[a7(0xc0)](a7(0xd7)+C+'\x20\x20')+a0p[a7(0xa8)](A)),console[a7(0x15e)]();for(const E of B[a7(0xbd)]('\x0a'))''===E?console[a7(0x15e)]():console[a7(0x15e)](a0p[a7(0x13d)]('\x20\x20\x20\x20'+E));console[a7(0x15e)](),'a'===z?(console[a7(0x15e)](a0p['gray'](a7(0x175)+a0B('ai4ctfHintNextA')+'\x20')+a0p[a7(0x85)](a7(0xf1))),console['log']()):'b'===z&&(console[a7(0x15e)](a0p[a7(0xa8)](a7(0x175)+a0B(a7(0x12c))+'\x20')+a0p[a7(0x85)](a7(0xcd))),console['log']());}(q[-0x1aec+0x206+-0x18e7*-0x1]),a6(0x171);const v=p[a6(0x126)](/^submit\s+(.+)/i);if(v){if('icoa{w3lc0me_2_ai4ctf}'===v[-0x1cd0+-0x1bba+0x388b][a6(0x7b)]()){console[a6(0x15e)](),console[a6(0x15e)](a0p['green'][a6(0xc0)]('\x20\x20════════════════════════════════════')),console[a6(0x15e)](a0p['green'][a6(0xc0)]('\x20\x20'+a0B(a6(0x10d)))),console['log'](a0p[a6(0x163)][a6(0xc0)](a6(0x14f))),console[a6(0x15e)](),console['log'](a0p[a6(0x13d)]('\x20\x20'+a0B(a6(0x8b)))),console['log'](a0p[a6(0xa8)]('\x20\x20'+a0B(a6(0x10c)))),console[a6(0x15e)](),d(),s=!(0x1326+0x1*-0x26f9+0x13d4),g=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a6(0x124),'headers':{'Content-Type':a6(0xc5)},'body':JSON[a6(0x15c)]({'type':a6(0x13c),'solved':!(0xc58+-0x2d6+-0x982),'tokensUsed':r,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a6(0x177)](0xec*-0x9+-0x1dc7*0x1+0x399b*0x1)})[a6(0xe5)](()=>{}),await i(0x9ad+0x4e*0x69+-0x23cf),console[a6(0x15e)](),console[a6(0x15e)](a0p[a6(0x85)](a6(0x7a))),console[a6(0x15e)](a0p[a6(0xc0)][a6(0x13d)]('\x20\x20'+a0B(a6(0x86)))),console['log'](a0p['cyan']('\x20\x20─────────────────────────────────────────────')),console[a6(0x15e)]();const z=a0B('ai4ctfWrapLine1Head'),A=a0B(a6(0xc4));console[a6(0x15e)](a0p[a6(0x13d)](a6(0xe9)+z+'\x20')+a0p[a6(0xa8)](A[a6(0xbd)]('\x0a')[-0x1*-0x1791+-0x2632+-0x6b*-0x23]||''));for(const E of A[a6(0xbd)]('\x0a')['slice'](-0x1957+0x4*-0x823+0x34*0x11d))E[a6(0x7b)]()&&console[a6(0x15e)](a0p[a6(0xa8)](a6(0x120)+E['replace'](/\{thinking\}/g,a6(0x179))));console[a6(0x15e)](),console['log'](a0p['white'](a6(0x127)+a0B(a6(0x105))+'\x20')+a0p[a6(0xa8)](a0B(a6(0x154)))),console[a6(0x15e)](),console[a6(0x15e)](a0p[a6(0x85)](a6(0x145))),console[a6(0x15e)](),await i(-0x1*-0xff9+-0x5c9*-0x1+-0xdf2),console['log'](a0p[a6(0x85)]('\x20\x20─────────────────────────────────────────────')),console['log'](a0p['bold'][a6(0x13d)]('\x20\x20'+a0B('ai4ctfWrapQuotasTitle'))),console['log'](a0p['cyan'](a6(0x7a))),console[a6(0x15e)](),console['log'](a0p[a6(0xf3)](a6(0x166))+a0p[a6(0x13d)](a0B(a6(0x8d))[a6(0xcf)](-0x2051+0x10e7+-0x14b*-0xc))+a0p['gray'](a0B(a6(0x92)))),console[a6(0x15e)](a0p[a6(0xf3)]('\x20\x20\x20\x20\x20\x20\x20hint\x20b\x20\x20\x20')+a0p[a6(0x13d)](a0B(a6(0x10b))['padEnd'](-0xd64+-0x1a2d+0x27ab*0x1))+a0p[a6(0xa8)](a0B(a6(0x146)))),console[a6(0x15e)](a0p[a6(0xf3)](a6(0xc1))+a0p[a6(0x13d)](a0B('ai4ctfWrapQuotaC')[a6(0xcf)](0xe50+0xdc6+-0x1bfc))+a0p[a6(0xa8)](a0B('ai4ctfWrapQuotaCHint'))),console[a6(0x15e)]();for(const F of a0B(a6(0x10f))[a6(0xbd)]('\x0a'))console[a6(0x15e)](a0p['gray'](a6(0x175)+F));console[a6(0x15e)](),await i(-0x1476+0x1ed3+-0x28d),console[a6(0x15e)](a0p['cyan']('\x20\x20─────────────────────────────────────────────')),console[a6(0x15e)](a0p[a6(0xc0)]['white']('\x20\x20'+a0B(a6(0xe6))+'\x20')+a0p[a6(0x13b)][a6(0xc0)]('ctf4ai')+a0p[a6(0x13d)]('\x20—\x20'+a0B('ai4ctfWrapNextSub'))),console['log'](a0p[a6(0x85)]('\x20\x20─────────────────────────────────────────────')),console[a6(0x15e)]();const B=a0B(a6(0x137)),C=a0B(a6(0x15a)),D=B['split']('\x0a');if(D[0x2181+0x11*0x3b+-0x256c]){const [G,H]=D[-0x691+-0x2c5*0x8+-0x993*-0x3][a6(0xbd)](a6(0xb7));console[a6(0x15e)](a0p['white']('\x20\x20\x20\x20'+(G||''))+a0p[a6(0xc0)][a6(0x13d)](C)+a0p[a6(0x13d)](H||''));}for(const I of D[a6(0x9f)](-0x1c*0x7+-0xe5*0x5+0x53e))I[a6(0x7b)]()&&console[a6(0x15e)](a0p['white'](a6(0x175)+I));return console['log'](),console[a6(0x15e)](a0p[a6(0xa8)](a6(0x175)+a0B(a6(0x125))+'\x20')+a0p[a6(0xc0)][a6(0x13b)](a6(0x170))),console[a6(0x15e)](),a6(0x12a);}return console[a6(0x15e)](),console[a6(0x15e)](a0p[a6(0x13b)]('\x20\x20'+a0B(a6(0x17d)))),console[a6(0x15e)](a0p[a6(0xa8)]('\x20\x20'+a0B(a6(0xe2)))),console[a6(0x15e)](),a6(0x171);}if(p[a6(0x161)]('!')){const J=p[a6(0x9f)](0x14d4+0x5da+-0x1aad)[a6(0x7b)]();if(!J)return a6(0x171);try{const K={};K[a6(0x16e)]=a6(0xde),K[a6(0x177)]=0x2710;const {execSync:L}=await import(a6(0x9d)),M=L(J,K)[a6(0x7b)]();console[a6(0x15e)](),console[a6(0x15e)](a0p[a6(0xa8)](a6(0xa0))+a0p[a6(0x13d)](J)),console[a6(0x15e)](a0p[a6(0x13d)]('\x20\x20'+M[a6(0xbd)]('\x0a')['join'](a6(0xd0)))),console['log'](),console[a6(0x15e)](a0p[a6(0xa8)]('\x20\x20'+a0B(a6(0x88)))),console[a6(0x15e)]();}catch(N){console[a6(0x15e)](),console[a6(0x15e)](a0p['red']('\x20\x20Error:\x20'+(N[a6(0x116)]?.['split']('\x0a')[0xe28*-0x1+-0x1ac1+-0xda3*-0x3]||a6(0x176)))),console[a6(0x15e)]();}return a6(0x171);}const w={};w[a6(0x89)]=a6(0xc5);if('exit'===p||a6(0xad)===p||a6(0xc8)===p||a6(0x12f)===p)return s=!(-0x29*0x8b+-0x2*-0x12f+0x13e6),g=null,fetch(a6(0xf8),{'method':a6(0x124),'headers':w,'body':JSON[a6(0x15c)]({'type':'ai4ctf','tokensUsed':r,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a6(0x177)](-0x745*0x5+0x31*0x3e+0x2c03)})[a6(0xe5)](()=>{}),console['log'](),console[a6(0x15e)](a0p[a6(0xa8)](a6(0xe1))),console[a6(0x15e)](a0p['white']('\x20\x20'+a0B(a6(0x81)))),console[a6(0x15e)](a0p['gray']('\x20\x20'+a0B(a6(0xa2))+':\x20'+r+a6(0x139))),console['log'](a0p[a6(0xa8)]('\x20\x20'+a0B(a6(0xb0))+a6(0x99))),console[a6(0x15e)](a0p['gray'](a6(0xe1))),console[a6(0x15e)](),console[a6(0x15e)](a0p[a6(0x85)](a6(0x7a))),console[a6(0x15e)](a0p['white']('\x20\x20'+a0B(a6(0x9a))+'\x20')+a0p[a6(0xc0)][a6(0x13b)](a6(0x170))+a0p[a6(0x13d)](a6(0xbc)+a0B(a6(0x11e)))),console[a6(0x15e)](a0p[a6(0xa8)]('\x20\x20'+a0B(a6(0x117)))),console[a6(0x15e)](a0p[a6(0x85)](a6(0x7a))),console[a6(0x15e)](),console['log'](a0p['bold'][a6(0x13b)](a6(0xba))+a0p[a6(0xa8)](a6(0x147)+a0B(a6(0xcb)))),console['log'](a0p[a6(0x13d)](a6(0xf0))+a0p['gray'](a6(0x9c)+a0B(a6(0x10a)))),console[a6(0x15e)](),a6(0x12a);const x={};x[a6(0x89)]='application/json';if(!y&&r>=-0x1ab*-0x7+-0xe49+0x589*0x4)return y=!(-0xe65+-0xb*0x101+0x1970),fetch(a6(0xf8),{'method':a6(0x124),'headers':x,'body':JSON['stringify']({'type':a6(0x13c),'solved':!(0x1d8d+-0x1*0x6b8+-0x16d4),'tokensUsed':r,'timestamp':new Date()[a6(0x90)]()}),'signal':AbortSignal[a6(0x177)](-0x1f55+0xd8d+0x2550)})[a6(0xe5)](()=>{}),console['log'](),console[a6(0x15e)](a0p[a6(0xf3)]('\x20\x20'+a0B('tokenLimit'))),d(),(function(){const a8=a6;console[a8(0x15e)](),console[a8(0x15e)](a0p['yellow']('\x20\x20─────────────────────────────────────────────')),console['log'](a0p[a8(0xc0)][a8(0xf3)]('\x20\x20'+a0B('ai4ctfRevealTitle'))),console[a8(0x15e)](a0p[a8(0xf3)](a8(0x7a))),console[a8(0x15e)]();for(const O of a0B(a8(0x136))['split']('\x0a'))''===O?console[a8(0x15e)]():console[a8(0x15e)](a0p['white'](a8(0x175)+O));console[a8(0x15e)](),console[a8(0x15e)](a0p[a8(0x85)](a8(0x84))),console['log'](),console[a8(0x15e)](a0p['white'](a8(0x175)+a0B(a8(0xe4)))),console[a8(0x15e)](),console[a8(0x15e)](a0p[a8(0x163)](a8(0x121))),console['log'](),console['log'](a0p['white'](a8(0x175)+a0B('ai4ctfRevealThenSubmit'))),console['log'](),console['log'](a0p['cyan'](a8(0x155))),console[a8(0x15e)](),console[a8(0x15e)](a0p[a8(0xa8)](a8(0x175)+a0B(a8(0xd8)))),console[a8(0x15e)]();}()),a6(0x171);if(y)return console['log'](),console['log'](a0p[a6(0xf3)]('\x20\x20'+a0B('ai4ctfLockedTitle'))),console[a6(0x15e)](a0p[a6(0xa8)]('\x20\x20'+a0B('ai4ctfLockedUse')+'\x20')+a0p[a6(0x85)]('!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console['log'](a0p[a6(0xa8)]('\x20\x20'+a0B(a6(0x87))+'\x20')+a0p[a6(0x85)](a6(0x153))),console['log'](),a6(0x171);console['log'](a0p[a6(0xa8)]('\x20\x20'+a0B('ai4ctfThinking')));try{const O=await g[a6(0x8f)](p);process[a6(0xc3)][a6(0x103)]('\x1b[1A\x1b[2K'),r+=O[a6(0xb4)],a0v(O[a6(0xb4)]),console[a6(0x15e)](),a0z(O[a6(0x7e)]),d(),console[a6(0x15e)]();}catch(P){process[a6(0xc3)]['write'](a6(0xab)),a0A(a6(0xdf)+P[a6(0x116)]),console[a6(0x15e)]();}return a6(0x171);}const f=new Set();async function m(k){const a9=a0j;if(!u||!g)return a9(0x12a);const p=k[a9(0x7b)](),q=p[a9(0xe7)](),v=(Date[a9(0x14a)]()-u[a9(0x113)])/(0x18a*-0x93+-0x4*-0x1a5f+-0x106*-0x15b);if(!u[a9(0xc7)]&&!u[a9(0x98)]&&u['hintsUsed'][a9(0x8e)]>=-0x1*-0x49+0x1aae+-0x1af5&&v>=0x6*0x4b2+-0xb3e+-0x10e9&&(u[a9(0xc7)]=!(-0x21f8+-0x19c3+0x3bbb),console['log'](),console[a9(0x15e)](a0p[a9(0xf3)](a9(0x11f))+a0p[a9(0xc0)][a9(0xf3)](a9(0xfe))),console[a9(0x15e)](a0p['gray'](a9(0x129))),console[a9(0x15e)]()),/^ICOA\{[^}]+\}$/i['test'](p))return console[a9(0x15e)](),console[a9(0x15e)](a0p[a9(0xa8)]('\x20\x20Detected\x20flag\x20—\x20treating\x20as:\x20')+a0p[a9(0x13d)](a9(0xc2)+p)),m(a9(0xc2)+p);const x=q[a9(0x126)](/^hint\s+([abc])$/);if(x){const A=x[0x1276+0x2e2+-0x1557]['toUpperCase'](),B=u[a9(0xfa)][a9(0x96)],C=B?.[A],D='A'===A?a0p[a9(0x163)]:'B'===A?a0p['yellow']:a0p['red'];if(console[a9(0x15e)](),console['log'](D[a9(0xc0)](a9(0xa7)+A)),console[a9(0x15e)](),C){for(const E of String(C)[a9(0xbd)]('\x0a'))console['log'](a0p[a9(0x13d)](a9(0x175)+E));}else console[a9(0x15e)](a0p['gray'](a9(0x151)));return console[a9(0x15e)](),'A'===A?console[a9(0x15e)](a0p['gray'](a9(0x12b))+a0p[a9(0x85)]('hint\x20b')):'B'===A?console[a9(0x15e)](a0p[a9(0xa8)](a9(0x15b))+a0p[a9(0x85)](a9(0xcd))):'C'===A&&console['log'](a0p[a9(0xa8)]('\x20\x20\x20\x20'+a0B('ai4ctfHintNextC')+'\x20')+a0p[a9(0xc0)]['green'](a9(0xfe))),console[a9(0x15e)](),a9(0x171);}const z=p[a9(0x126)](/^submit\s+(.+)/i);if(z){const F=z[-0xa3e*-0x1+0x2629*0x1+-0x3066]['trim']();if(/^[A-Da-d]$/[a9(0xed)](F))return console[a9(0x15e)](),console['log'](a0p[a9(0xf3)]('\x20\x20\x22'+F+a9(0x82))),console[a9(0x15e)](a0p[a9(0xa8)](a9(0xcc))+a0p['green'](a9(0x16b))+a0p[a9(0xa8)](a9(0x16f))),console['log'](),a9(0x171);const {getExamState:G,saveExamState:H}=await import('../lib/exam-state.js'),I=G();if(!I)return a9(0x12a);if(!I[a9(0x156)]['find'](L=>L[a9(0xaf)]===u[a9(0x11a)]))return console[a9(0x15e)](a0p['red']('\x20\x20Q'+u['qNum']+a9(0x11d))),a9(0x171);const J=I[a9(0xd5)][u[a9(0x11a)]];I[a9(0xb5)]||(I['interactions']=[]),I[a9(0xb5)]['push']({'ts':new Date()[a9(0x90)](),'q':u[a9(0x11a)],'type':J?'answer_changed':a9(0x17b),'input':F,'result':a9(0x112)}),I[a9(0xd5)][u['qNum']]=F;const K=u['qNum']+(-0x1*-0x10c3+0x1639*-0x1+-0x577*-0x1);return I[a9(0xef)]=K<=0x140f+-0xbd3+0x3*-0x2b2?K:u[a9(0x11a)],H(I),console[a9(0x15e)](),J?(console[a9(0x15e)](a0p['green'](a9(0x157)+u['qNum']+a9(0xdb))+a0p[a9(0xf3)](F)),console[a9(0x15e)](a0p['gray'](a9(0x13e)+J))):console[a9(0x15e)](a0p[a9(0x163)]['bold']('\x20\x20✓\x20Answer\x20for\x20Q'+u[a9(0x11a)]+'\x20recorded:\x20'+F)),console[a9(0x15e)](a0p['gray'](a9(0xee))),console[a9(0x15e)](),console[a9(0x15e)](a0p[a9(0xa8)]('\x20\x20')+a0p[a9(0x13d)](a9(0xdd))+a0p[a9(0xa8)]('\x20again\x20to\x20change,\x20or\x20')+a0p[a9(0x13d)](a9(0x12a))+a0p[a9(0xa8)](a9(0xf7))),K<=0x1ccc+-0x1*0x1ed9+-0x1*-0x233?console['log'](a0p[a9(0xa8)]('\x20\x20After\x20exit:\x20')+a0p[a9(0x85)](a9(0x13c))+a0p[a9(0xa8)](a9(0x174)+K)):console[a9(0x15e)](a0p[a9(0xa8)](a9(0x182))+a0p['red'](a9(0x170))+a0p[a9(0xa8)](a9(0x102))),console[a9(0x15e)](),a9(0x171);}if(k['startsWith']('!')){const L=k[a9(0x9f)](0x26d9+-0x7*0x3f3+-0x3d*0x2f)[a9(0x7b)]();if(!L)return a9(0x171);try{const M={};M[a9(0x16e)]=a9(0xde),M[a9(0x177)]=0x2710;const {execSync:N}=await import('node:child_process'),O=N(L,M)[a9(0x7b)]();console[a9(0x15e)](),console[a9(0x15e)](a0p[a9(0xa8)](a9(0xa0))+a0p['white'](L)),console[a9(0x15e)](a0p[a9(0x13d)]('\x20\x20'+O['split']('\x0a')[a9(0xeb)](a9(0xd0)))),console['log']();}catch(P){console[a9(0x15e)](),console[a9(0x15e)](a0p[a9(0x13b)](a9(0xd3)+(P['message']?.[a9(0xbd)]('\x0a')[-0x61*-0x31+0x2c2*-0x9+0x1*0x641]||'Command\x20failed'))),console['log']();}return a9(0x171);}if(a9(0x12a)===q||'back'===q||'quit'===q){const Q=u[a9(0x11a)],{getExamState:R}=await import(a9(0xd1)),S=R(),T=S&&null!=S[a9(0xd5)][Q],U=S?.[a9(0xef)]||Q;return s=!(0x4*-0x12a+0x2448+0x653*-0x5),g=null,u=null,f[a9(0x144)](),console[a9(0x15e)](),console[a9(0x15e)](a0p['gray'](a9(0xaa)+Q+'.')),T&&U>Q&&U<=-0x207a+0x11ac+-0x15c*-0xb?console[a9(0x15e)](a0p[a9(0x13d)](a9(0x131))+a0p[a9(0xc0)]['green']('Q'+U)+a0p['gray'](a9(0x115))+a0p[a9(0x85)](a9(0x13c))+a0p['gray'](a9(0x180))):T&&Q>=-0x1c96+0xcf7*-0x2+0x36aa?console[a9(0x15e)](a0p['white'](a9(0x17f))+a0p[a9(0xc0)][a9(0x13b)]('ctf4ai')+a0p['gray'](a9(0xd9))):console[a9(0x15e)](a0p[a9(0xa8)](a9(0xa5))+a0p[a9(0x13d)](a9(0x181)+Q)+a0p[a9(0xa8)](a9(0xc6))+a0p[a9(0x13d)](a9(0x13c))),console[a9(0x15e)](),a9(0x12a);}if(y)return console[a9(0x15e)](),console['log'](a0p['yellow'](a9(0xff))),console[a9(0x15e)](a0p['gray'](a9(0xf4))+a0p[a9(0x13d)](a9(0xc9))+a0p[a9(0xa8)](a9(0xb8))+a0p[a9(0x13d)]('!shell')+a0p[a9(0xa8)](a9(0xb8))+a0p[a9(0x13d)](a9(0x12a))),console[a9(0x15e)](),a9(0x171);if(r>=h)return y=!(0x368+0x609*-0x2+0x455*0x2),console[a9(0x15e)](),console[a9(0x15e)](a0p[a9(0x13b)][a9(0xc0)](a9(0xa3))),console[a9(0x15e)](a0p['gray'](a9(0x122))+a0p['white']('submit\x20<flag>')+a0p[a9(0xa8)]('\x20·\x20')+a0p[a9(0x13d)](a9(0x141))+a0p[a9(0xa8)](a9(0xb8))+a0p['white'](a9(0x12a))),console[a9(0x15e)](),a9(0x171);console[a9(0x15e)](a0p[a9(0xa8)](a9(0x100)));try{const V=await g[a9(0x8f)](k);process[a9(0xc3)][a9(0x103)](a9(0xab)),r+=V['tokensUsed'];const {getRealExamState:W,saveExamState:X}=await import(a9(0xd1)),Y=W(),Z={};Z['ai4ctf']=0x0,Z[a9(0x170)]=0x0,(Y&&(Y['aiUsage']||(Y[a9(0xe8)]=Z),Y['aiUsage']['ai4ctf']=r,X(Y)),console[a9(0x15e)](),a0z(V['text']),d(),function(a0,a1,a2){const aa=a9,a3=a0/a1*(-0x143*-0x16+-0x63f+-0x151f);a3>=-0x26ad*0x1+0xded+0x191f&&!a2[aa(0x13a)]('95')?(console[aa(0x15e)](a0p[aa(0x13b)][aa(0xc0)]('\x20\x20⚠\x20'+Math[aa(0x11b)](a3)+'%\x20of\x20section\x20AI\x20budget\x20used\x20—\x20only\x20~'+(a1-a0)+aa(0x164))),a2[aa(0x165)]('95')):a3>=-0x75b+-0x63*0x31+-0x1a9e*-0x1&&!a2[aa(0x13a)]('80')?(console['log'](a0p[aa(0xf3)](aa(0x150))),a2[aa(0x165)]('80')):a3>=0x1*0x144f+-0x1543+0x31*0x6&&!a2[aa(0x13a)]('50')&&(console['log'](a0p[aa(0xa8)](aa(0xfd))),a2[aa(0x165)]('50'));}(r,h,f),console[a9(0x15e)]());}catch(a0){process['stdout'][a9(0x103)](a9(0xab)),a0A(a9(0xdf)+a0['message']),console[a9(0x15e)]();}return a9(0x171);}export function registerAi4ctfCommand(b){const ab=a0j;b[ab(0xf5)](ab(0x13c))[ab(0x111)](ab(0x133))[ab(0x16a)](async()=>{const ac=ab;a0x('ai4ctf');const {getRealExamState:j}=await import('../lib/exam-state.js'),k=j(),p=k?.[ac(0x156)][ac(0x172)](x=>x[ac(0xaf)]>=-0x2*0x9fa+-0x2386+0x3799&&x['number']<=0x1060+-0x11dd+0x1a3);if(k&&p){const x=k[ac(0xef)]||-0x867+-0x939*0x1+-0x1*-0x11a1;if(x<-0xa*0x352+-0xd*-0xad+0x188a||x>0x32*-0xe+-0x71*0x4c+-0x2*-0x1237)return console[ac(0x15e)](),console[ac(0x15e)](a0p[ac(0xf3)](ac(0xf6))),console['log'](a0p[ac(0xa8)](ac(0x106)+x+ac(0x94))),console[ac(0x15e)](a0p[ac(0xa8)]('\x20\x20\x20\x20→\x20')+a0p['bold'][ac(0x85)](ac(0x160))),void console[ac(0x15e)]();const z=k[ac(0x156)]['find'](A=>A[ac(0xaf)]===x);return z?void await async function(A,B){const ad=ac,{getRealExamState:C,refetchQuestionDataIfStale:D,materializeAttachedData:E}=await import(ad(0xd1));await D();const F=C();if(!F)return!(0x2325+0x29*0x65+-0x3351);const G=F[ad(0x156)][ad(0xb6)](J=>J[ad(0xaf)]===A);G&&(B=G),E(A,B?.[ad(0xbf)]);const H=F[ad(0xe8)]?.[ad(0x13c)]??0x2099+0x1*-0x1127+-0x293*0x6;if(H>=h)return console[ad(0x15e)](),console[ad(0x15e)](a0p[ad(0xf3)](ad(0x14b))),console['log'](a0p[ad(0xa8)]('\x20\x20You\x20can\x20still\x20submit\x20a\x20flag\x20directly:\x20')+a0p[ad(0x13d)](ad(0x9e)+A+ad(0x11c))),console[ad(0x15e)](),!(0xe40+0x75*-0x49+0x131e);try{g=await a0q(void(-0x272+-0xbd*0x8+0x85a),function(J,K){const ae=ad,L=J[ae(0x111)]||J[ae(0x7e)]||'',M=J[ae(0xbf)]?ae(0x93)+K+'.txt\x20inside\x20the\x20contestant\x27s\x20sandbox\x20—\x20path\x20is\x20relative\x20to\x20the\x20sandbox\x27s\x20/home/competitor\x20working\x20directory,\x20reachable\x20from\x20any\x20!shell\x20/\x20!python3\x20invocation):\x0a'+J[ae(0xbf)]:'';return ae(0xac)+K+',\x20'+J['category']+',\x20'+(J[ae(0x95)]||0x1*-0xb9+-0x9ad+0xa6c)+ae(0x128)+L+M+ae(0x79)+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[ad(0x116)]),!(0x1ac4*-0x1+-0x29b*-0x3+-0x97a*-0x2);}s=!(0xf*-0x24b+0x8e*-0xf+0xf*0x2d9),r=H,y=!(-0x10a9+0x12fb+0x251*-0x1),u={'qNum':A,'question':B,'usageField':ad(0x13c),'enteredAt':Date[ad(0x14a)](),'hintsUsed':new Set(),'submitAttempted':!(0x107*0x1a+0x796*-0x3+-0x3f3),'nudgeShown':!(0x1ec1+-0xc9d+0x1223*-0x1)};const I=F[ad(0xd5)]?.[A];return function(K,L,M){const af=ad,N=a0w()[af(0xa6)]||af(0x168),O=r>-0x1a35*0x1+-0x969+0x239e;console[af(0x15e)](),console['log'](a0p[af(0x163)][af(0xc0)]('\x20\x20═══\x20AI4CTF\x20—\x20Q'+L+':\x20'+K[af(0x17a)]+'\x20═══')),O&&console['log'](a0p[af(0xa8)](af(0xca))),M&&console[af(0x15e)](a0p[af(0xa8)]('\x20\x20Current\x20answer:\x20')+a0p[af(0xf3)](M)+a0p[af(0xa8)](af(0x130))),console[af(0x15e)](),console['log'](a0p[af(0x85)](af(0x14e))),console['log'](a0p['cyan'](af(0xd4))+a0p[af(0xc0)][af(0x13d)]('Q'+L+af(0xe3)+K[af(0x17a)]+af(0x7f)+(K[af(0x95)]||0x5*-0x311+-0x3d4+-0x3*-0x665)+af(0x16d))),console['log'](a0p[af(0x85)](af(0x135)));for(const P of String(K[af(0x7e)])[af(0xbd)]('\x0a')){const Q=P[af(0x162)]>0x192b+-0x1*-0x475+0xd1*-0x24?P[af(0x9f)](-0x4b*-0x3b+0x5c*0x21+0x1d25*-0x1,0x3*-0x4d5+-0x587+-0x1*-0x143f)+af(0x7d):P;console['log'](a0p[af(0x85)](af(0xd4))+a0p[af(0x13d)](Q));}console['log'](a0p[af(0x85)](af(0x135))),console[af(0x15e)](a0p[af(0x85)](af(0xd4))+a0p[af(0xa8)]('Full\x20question:\x20\x20')+a0p['white'](af(0x181)+L)),console[af(0x15e)](a0p[af(0x85)](af(0xd4))+a0p[af(0xa8)](af(0x104))),console['log'](a0p[af(0x85)](af(0x152))),console[af(0x15e)](),console[af(0x15e)](a0p['bold'][af(0x13d)](af(0xa9))),console[af(0x15e)](),console['log'](a0p[af(0xf3)](af(0x80))+a0p['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20A\x20gentle\x20nudge\x20(pre-written)')),console[af(0x15e)](a0p[af(0xf3)](af(0xa4))+a0p[af(0xa8)](af(0x14d))),console[af(0x15e)](a0p[af(0xf3)](af(0x148))+a0p['gray'](af(0xfb))),console[af(0x15e)](a0p[af(0xc0)][af(0x163)]('\x20\x20\x20\x20submit\x20ICOA{...}')+a0p[af(0xa8)]('\x20Submit\x20your\x20flag\x20for\x20this\x20question')),console[af(0x15e)](a0p[af(0x13d)](af(0x132))+a0p[af(0xa8)](af(0x114))),console[af(0x15e)](a0p[af(0xa8)](af(0x134))),console[af(0x15e)](a0p[af(0xa8)](af(0x17e))+a0p[af(0x13d)](af(0x118))),console[af(0x15e)](),console[af(0x15e)](a0p[af(0xa8)](af(0x119))+a0p['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Leave\x20chat,\x20return\x20to\x20exam')),console[af(0x15e)](),d(),console[af(0x15e)](a0p[af(0xa8)](af(0x149)+N+')')),console[af(0x15e)]();}(B,A,I),!(0xd5f+0x7*-0x52f+-0x346*-0x7);}(x,z):void a0A('Q'+x+'\x20not\x20found\x20in\x20state.\x20Try:\x20exam\x20q\x20'+x);}const q={};q[ac(0x101)]='Hidden\x20Message',q[ac(0x17a)]=ac(0x8c);const v=a0w()[ac(0xa6)]||ac(0x168),w=q;try{g=await a0q(w);}catch(A){return void a0A(A['message']);}s=!(-0xbbb+0x136a*-0x1+0x1*0x1f25),r=-0x1e20+0x774+0x4*0x5ab,y=!(0x235*0x11+0x54f*-0x1+-0x2035),console[ac(0x15e)](),console[ac(0x15e)](a0p[ac(0x163)]['bold'](ac(0xe0)+a0B(ac(0x169))+ac(0x13f))),console[ac(0x15e)](),console[ac(0x15e)](a0p[ac(0x13d)]('\x20\x20'+a0B(ac(0xae)))),console[ac(0x15e)](),console[ac(0x15e)](a0p[ac(0x85)](ac(0x14e))),console['log'](a0p['cyan'](ac(0xd4))+a0p[ac(0xc0)][ac(0x13d)](a0B(ac(0x158)))),console[ac(0x15e)](a0p['cyan'](ac(0x135))),console[ac(0x15e)](a0p['cyan'](ac(0xd4))+a0p[ac(0x13d)](a0B(ac(0xbb)))),console[ac(0x15e)](a0p[ac(0x85)](ac(0xd4))+a0p[ac(0x163)](ac(0xa1))),console[ac(0x15e)](a0p[ac(0x85)](ac(0x135))),console[ac(0x15e)](a0p[ac(0x85)](ac(0xd4))+a0p['white'](a0B(ac(0x7c)))),console[ac(0x15e)](a0p['cyan'](ac(0xd4))+a0p[ac(0xa8)]('Flag\x20format:\x20icoa{...}')),console[ac(0x15e)](a0p[ac(0x85)](ac(0x152))),console[ac(0x15e)](),console['log'](a0p[ac(0x13d)]('\x20\x20'+a0B('ai4ctfLevels'))),console[ac(0x15e)](),console[ac(0x15e)](a0p['yellow']('\x20\x20\x20\x20hint\x20a')+a0p['gray'](ac(0x175)+a0B('ai4ctfHintA'))),console[ac(0x15e)](a0p['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B('ai4ctfHintAUses'))),console[ac(0x15e)](a0p['yellow'](ac(0xa4))+a0p[ac(0xa8)](ac(0x175)+a0B(ac(0x10e)))),console[ac(0x15e)](a0p[ac(0xa8)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(ac(0x91)))),console[ac(0x15e)](a0p[ac(0xf3)](ac(0x148))+a0p[ac(0xa8)]('\x20\x20\x20\x20'+a0B(ac(0x9b)))),console[ac(0x15e)](a0p[ac(0xa8)](ac(0x15f)+a0B('ai4ctfHintCUses'))),console[ac(0x15e)](),console[ac(0x15e)](a0p['gray'](ac(0xe1))),console['log'](a0p[ac(0xc0)][ac(0x13d)]('\x20\x20'+a0B(ac(0x142)))),console[ac(0x15e)](ac(0x175)+a0p['cyan'](ac(0x8a))+a0p[ac(0xa8)](ac(0xec)+a0B(ac(0x83)))),console[ac(0x15e)]('\x20\x20\x20\x20'+a0p[ac(0x85)](ac(0xf1))+a0p[ac(0xa8)](ac(0xec)+a0B(ac(0x140)))),console[ac(0x15e)](ac(0x175)+a0p[ac(0x85)](ac(0xcd))+a0p[ac(0xa8)]('\x20\x20\x20→\x20'+a0B('ai4ctfHintPrinciple'))),console['log'](a0p['gray'](ac(0x175)+a0B(ac(0x109)))),console[ac(0x15e)](),console[ac(0x15e)](a0p[ac(0x13d)]('\x20\x20'+a0B('ai4ctfOrChat'))),console[ac(0x15e)](a0p[ac(0xa8)]('\x20\x20'+a0B(ac(0xea))+'\x20')+a0p[ac(0x13d)](ac(0x167))),console[ac(0x15e)](),console[ac(0x15e)](a0p[ac(0xf3)]('\x20\x20'+a0B(ac(0x110)))),console[ac(0x15e)](a0p[ac(0x13d)]('\x20\x20\x20\x20hint\x20a\x20/\x20b\x20/\x20c\x20\x20')+a0p['gray'](a0B('ai4ctfCmdHintLine'))),console[ac(0x15e)](a0p[ac(0x13d)](ac(0xd6))+a0p['gray'](a0B(ac(0x108)))),console[ac(0x15e)](a0p[ac(0x13d)](ac(0xdc))+a0p[ac(0xa8)](a0B('ai4ctfCmdShellLine'))),console[ac(0x15e)](a0p['gray'](ac(0x17e))+a0p[ac(0x13d)]('!echo\x20aWNv...\x20|\x20base64\x20-d')),console[ac(0x15e)](a0p[ac(0xa8)]('\x20\x20\x20\x20exit\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(ac(0x15d)))),console[ac(0x15e)](),d(),console[ac(0x15e)](a0p[ac(0xa8)]('\x20\x20'+a0B(ac(0xb0))+ac(0xb3)+v+')')),console['log'](a0p[ac(0xa8)]('\x20\x20'+a0B(ac(0xd2)))),console[ac(0x15e)]();});}
1
+ (function(b,j){const a4=a0j,k=b();while(!![]){try{const p=-parseInt(a4(0x18e))/(-0xb53+-0xcca+0x93*0x2a)*(parseInt(a4(0x24f))/(0x2d5+0x49c+-0x76f))+-parseInt(a4(0x24a))/(-0x801*-0x1+0x1*0x2388+-0x15c3*0x2)+parseInt(a4(0x229))/(0x16c3+-0x1752+0x93)*(parseInt(a4(0x199))/(0x1ed5+0x2541+-0x11*0x401))+parseInt(a4(0x258))/(-0x48*0x28+0x71d+0x47*0xf)+parseInt(a4(0x1a8))/(-0x1*0xa31+0xa3a+-0x2)*(parseInt(a4(0x279))/(0x3e*0x95+0x10cf+-0x34dd))+parseInt(a4(0x1a1))/(0x1d48+-0x24d*0x3+-0x1658)*(parseInt(a4(0x239))/(-0x25e+0x1*-0x40d+-0x57*-0x13))+-parseInt(a4(0x205))/(0x1a3*0x3+-0x779+0x29b)*(parseInt(a4(0x180))/(0x2607+-0x5*0x72d+-0x21a));if(p===j)break;else k['push'](k['shift']());}catch(q){k['push'](k['shift']());}}}(a0b,-0x68ac0+0x28a26+0x7*0x1445d));import a0p from'chalk';import{createChatSession as a0q}from'../lib/gemini.js';import{addTokenUsage as a0v}from'../lib/budget.js';function a0b(){const ag=['icdILiiG','ntu3ntG2DxLOr2vA','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','ywK0y3rMsgLUDe5LEhrd','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','imk3ia','D3jPDgu','Dgv4Da','mtmYmtq2ExfLDLnm','DxrMltG','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','ywK0y3rMrxHPDenTze5LEhq','ywK0y3rMu2fTCgXL','Cu51Bq','icaGia','ywK0y3rMq29TBwfUzhm','C2XPy2u','CxvLC3rPB24','AgLUDcbH','ywK0y3rM','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','icbr','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','DgvZDa','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','zgvZy3jPChrPB24','ywK0y3rMrgvJB2rLza','rNvSBcbXDwvZDgLVBJOGia','ywK0y3rMv3jHCe5LEhruAxrSzq','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','ywK0y3rMrxHPDe5LEhrtDwi','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','Dg9mB3DLCKnHC2u','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','C3vIBwL0idXMBgfNpG','icaGicaGicaGicaGica','ywK0y3rMsgLUDejcB2r5','ywK0y3rMq21Ku2HLBgXmAw5L','icdILzdILzdILzaG','icbfCNjVCJOG','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','CgfKrw5K','iokvKokvKokvKa','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','zxHHBsbXia','C3rHCNrZv2L0Aa','ywK0y3rMtgv2zwXZ','ywK0y3rMrxHPDa','CxvLC3rPB25Z','icdILRGG','oIbhB29NBguGr2vTBweGncaO','ihrVA2vUCYbSzwz0lG','C3vIBwL0qxr0zw1WDgvK','y3LHBG','ywK0y3rMq21KsgLUDeXPBMu','ywK0y3rMv3jHCff1B3rHC1rPDgXL','Bg9N','AgLUDcbJ','CMvK','C2vUze1LC3nHz2u','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','q29TBwfUzcbMywLSzwq','icaGicfWExrOB24Zic4UlG','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','zxHHBsbXidmX','CM91BMq','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','icaGiokgKIa','ywK0y3rMtg9JA2vKvgHLBG','AgLUDcbI','y29UDgLUDwu','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','icaI','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','igfNywLUihrVignOyw5NzsWGB3iG','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','icaKia','ywK0y3rMv3jHCeXPBMuXsgvHza','xsaGWRCG','BwvUDq','icaGihn1yM1PDca8zMXHzZ4Gica','CMvWBgfJzq','ig5VDcbMB3vUzcbPBIbZDgf0zs4','icaGideUia','ywK0y3rMt3jdAgf0','z2vTBweTnc0ZmwiTAxq','ihrVignVBNrPBNvL','C3rKB3v0','ywK0y3rMvgHPBMTPBMC','g1SXqrTBmKS','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','ywK0y3rMuMv2zwfSqM9KEq','ywK0y3rMsgLUDfrLy2HUAxf1zq','yMfJAW','ywK0y3rMv3jHCeXPBMuYsgvHza','quK0q1rgihnLy3rPB24','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','mty0odaWowjpz1rnCa','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','icbdDxjYzw50igfUC3DLCJOG','ywK0y3rMrMXHz0HPBNq','ywK0y3rMv3jHCeXPBMuYqM9KEq','ywK0y3rMrxHPDe5LEhruAxrSzq','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','iokaLca','zw5JB2rPBMC','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','BNvKz2vtAg93BG','ywK0y3rMsgLUDei','ywK0y3rMsgLUDe5LEhrc','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','ywK0y3rMv3jHCff1B3rHquHPBNq','BMfTzq','ywK0y3rMv3jHCe5LEhrtDwi','ywK0y3rMtg9JA2vKvxnL','zxHPDa','icbszxn1Bwu6ia','icaGigHPBNqGyG','ywK0y3rMtg9JA2vKvgL0Bgu','ywK0y3rMrgvJB2rL','yM9Sza','vg9Rzw5Z','ig9UifeZoq','BwvZC2fNzq','Dg9ju09tDhjPBMC','z2vTAw5Ptw9KzwW','BNvTyMvY','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icdILzdILzdILzaGquK0q1rgiokaLcbr','ywK0y3rMv3jHCff1B3rHqq','ywK0y3rMrxHPDenTzejHy2S','Dg9Rzw5ZvxnLza','mtq4mde1nNDUre5rAa','ywK0y3rMv3jHCff1B3rHqG','z3jHEq','ue9tva','z3jLzw4','ywK0y3rMsgLUDee','icaGihn1yM1PDcbjq09bEY4UlN0','Cg9PBNrZ','AgLUDhm','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','ywLvC2fNzq','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','cIaG','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','mtbwCMz1tMK','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','AgfZ','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','Dg9vChbLCKnHC2u','EwvSBg93','lIbkDw1WihrOzxjLigzPCNn0oG','DgLTzw91Da','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','ywK0y3rMrw5Ku2vZC2LVBG','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','icdIMQaG','quKGzxjYB3i6ia','icdILRGGsgLUDca','C2L6zq','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','icdcTYaGuMuTzw50zxi6ia','mtu5mJiXn0XpCePnra','C3vIBwL0ia','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','ihbVAw50CYK6cG','ywK0y3rMsgLUDejvC2vZ','mte5ogjnqKf3rW','ywK0y3rMu3vIBwL0q21K','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','y2f0zwDVCNK','ixnOzwXS','CxvPDa','zMLUza','ywrK','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','mJe4nZG0nKX5tvjRtG','icaGicaGigHPBNqGysaGia','q29UDgvUDc1uExbL','D2HPDgu','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icaGigHPBNqGyW','icaGifn0DwnRpYbuCNK6ia','ywK0y3rMv3jHCff1B3rHqKHPBNq','icaGice8C2HLBgWGy21KpIaGica','icbtDgLSBcbHDMfPBgfIBgu6ia','icbuAgLUA2LUzY4UlG','icaGigHPBNqGyq','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','y2XLyxi','ywK0y3rMsgLUDfbYAw5JAxbSzq','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','zxHHBsbHBNn3zxiG','yxr0ywnOzwreyxrH','ywK0y3rMsgLUDefvC2vZ','ywK0y3rMv3jHCff1B3rHrM9VDgvY','ywK0y3rMv3jHCff1B3rHq0HPBNq','BM93','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','x2XHC3rr','DMLHigfPngn0zIbJAgf0','ywK0y3rMuMv2zwfStg9JA05VDgu','ihb0CW','C3rYAw5NAwz5','icbzB3uGy2fUihn0AwXSoIa','E25VuhjVz30','ywK0y3rMv3jHCfr5CgvdDgy0ywK','CMvWzwf0','icaG4OAsia','mta0uLvIyxL4','icaGicbIywnR','lI4VBgLIl2v4yw0TC3rHDguUANm','BwLU','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','icaGicaGicaGicaGicaGicaGicbLlMCUia','ywK0y3rMv3jHCe5VuhjVzW','AM9PBG','DhjPBq','ieLdt0f7lI4UFq','ywK0y3rMv3jHCeXPBMuXqM9KEq','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','zw50zxjLzef0','mtj3vwzpBvy','y3rMngfP','C3vIBwL0ieLdt0f7lI4UFq','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','ywK0y3rMsgLUDem','ywK0y3rMv3jHCfrPDgXL','ChvZAa','icdINjmGqw5ZD2vYigzVCIbr','icaGigv4AxqGicaGicaGicaGica','ywK0y3rMvgL0Bgu','AgLUDhnvC2vK','ywK0y3rMuMv2zwfSvgL0Bgu','icaGigv4Axq','igfUC3DLCIb1CgrHDgvKoIa','nZfSv2LUve4','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','icbzB3uGyxjLig9Uife','yxbWBgLJyxrPB24VANnVBG','Bwf0y2G','y29TBwfUza','ywK0y3rMsgLUDefcB2r5','sgLUDca','Dg9Rzw5mAw1PDa','C3bSAxq','ywK0y3rMsw50zxjJzxb0zwq','nvHPzeXTza','icdILii','Aw50zxjHy3rPB25Z','ywK0y3rMtw9KzwW','ywK0y3rMv2vSy29Tzun0yq','ywK0y3rMsgLUDenvC2vZ','ywK0y3rMv3jVBMDgBgfN'];a0b=function(){return ag;};return a0b();}import{getConfig as a0w}from'../lib/config.js';import{logCommand as a0x}from'../lib/logger.js';function a0j(a,b){a=a-(0x198*0x9+0x2*-0xac7+0x2*0x45b);const c=a0b();let d=c[a];if(a0j['AxxBgX']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x6d4+0xa2a*0x2+-0x1b28,o,p,q=0x17e3+0x2055+-0x707*0x8;p=i['charAt'](q++);~p&&(o=n%(-0x4*-0x16b+-0xa22+0x17e*0x3)?o*(0xa9*0x26+-0xc6a+-0x3*0x424)+p:p,n++%(-0x1986+0x3*-0x35f+0x1*0x23a7))?l+=String['fromCharCode'](-0x551+-0x1*0x22d+0x87d&o>>(-(-0xb6f*0x3+0x398*-0x8+0x3f0f)*n&0xb9*0x17+0x1619+-0x1359*0x2)):0x18d4+-0x3d9+0x14fb*-0x1){p=j['indexOf'](p);}for(let r=-0x1ec6+0x1017*0x1+0xeaf,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0xe*-0x139+-0x2*0xfb6+0x309a))['slice'](-(-0x1*-0x190f+-0x23e6*-0x1+-0x3cf3));}return decodeURIComponent(m);};a0j['Offekp']=e,a0j['gYMMWN']={},a0j['AxxBgX']=!![];}const f=c[-0x1e0+-0x1745+-0x1925*-0x1],g=a+f,h=a0j['gYMMWN'][g];return!h?(d=a0j['Offekp'](d),a0j['gYMMWN'][g]=d):d=h,d;}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=!(0x6d4+0xa2a*0x2+-0x1b27),g=null,r=0x17e3+0x2055+-0x707*0x8,y=!(-0x4*-0x16b+-0xa22+0x17d*0x3);const h=0x15d*0x5c+-0x3e13+-0x1*-0x224f;let u=null;export function isChatActive(){return s;}function d(){const a5=a0j,b=u?h:-0x1986+0x3*-0x35f+0x1*0x372b,j=r,k=Math[a5(0x27c)](Math[a5(0x1e5)](j/b*(-0x551+-0x1*0x22d+0x7e2)),-0xb6f*0x3+0x398*-0x8+0x3f71),p=Math[a5(0x1e5)](k/(0xb9*0x17+0x1619+-0x132a*0x2)*(0x18d4+-0x3d9+0x14e7*-0x1)),q=-0x1ec6+0x1017*0x1+0xec3-p,v=k>0xe*-0x139+-0x2*0xfb6+0x30da?a0p['red']:k>-0x1*-0x190f+-0x23e6*-0x1+-0x3cc3?a0p[a5(0x23e)]:a0p[a5(0x22d)],w=u?a5(0x203):a5(0x21e);console[a5(0x1dc)](a0p[a5(0x22b)]('\x20\x20'+w+':\x20')+v('█'[a5(0x277)](p))+a0p[a5(0x22b)]('░'[a5(0x277)](q))+a0p[a5(0x22b)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(p){const a6=a0j;if(!g)return a6(0x218);if(a0x('ai4ctf:\x20'+p),u)return m(p);const q=p[a6(0x281)]()[a6(0x1c2)]()[a6(0x192)](/^hint\s+([abc])$/);if(q)return function(z){const a7=a6,A=a0B('a'===z?'ai4ctfHintA':'b'===z?'ai4ctfHintB':a7(0x184)),B=a0B('a'===z?a7(0x194):'b'===z?a7(0x1c6):'ai4ctfHintCBody'),C=a7(0x195)+z[a7(0x23d)](),D='a'===z?a0p['green']:'b'===z?a0p[a7(0x23e)]:a0p['red'];console[a7(0x1dc)](),console[a7(0x1dc)](D[a7(0x21d)](a7(0x1d5)+C+'\x20\x20')+a0p[a7(0x22b)](A)),console[a7(0x1dc)]();for(const E of B[a7(0x197)]('\x0a'))''===E?console[a7(0x1dc)]():console[a7(0x1dc)](a0p[a7(0x25b)](a7(0x1ae)+E));console['log'](),'a'===z?(console[a7(0x1dc)](a0p[a7(0x22b)](a7(0x1ae)+a0B('ai4ctfHintNextA')+'\x20')+a0p[a7(0x1d9)]('hint\x20b')),console[a7(0x1dc)]()):'b'===z&&(console[a7(0x1dc)](a0p[a7(0x22b)](a7(0x1ae)+a0B(a7(0x211))+'\x20')+a0p[a7(0x1d9)](a7(0x1dd))),console[a7(0x1dc)]());}(q[-0x1e0+-0x1745+-0x1926*-0x1]),a6(0x1ea);const v=p[a6(0x192)](/^submit\s+(.+)/i);if(v){if(a6(0x1bf)===v[-0x44*-0x46+-0x6ad+-0x5f5*0x2][a6(0x281)]()){console[a6(0x1dc)](),console[a6(0x1dc)](a0p['green']['bold'](a6(0x1cf))),console['log'](a0p['green'][a6(0x21d)]('\x20\x20'+a0B('ai4ctfCorrectFlag'))),console[a6(0x1dc)](a0p[a6(0x22d)]['bold']('\x20\x20════════════════════════════════════')),console[a6(0x1dc)](),console[a6(0x1dc)](a0p[a6(0x25b)]('\x20\x20'+a0B(a6(0x1bc)))),console[a6(0x1dc)](a0p[a6(0x22b)]('\x20\x20'+a0B('ai4ctfWouldEarn'))),console[a6(0x1dc)](),d(),s=!(0x9a2*-0x4+0x1b0d+0xf5*0xc),g=null,fetch(a6(0x25c),{'method':a6(0x22c),'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'type':a6(0x1b3),'solved':!(-0x492*-0x7+0xbf+-0x20bd),'tokensUsed':r,'timestamp':new Date()[a6(0x221)]()}),'signal':AbortSignal[a6(0x240)](-0x1b7c+-0x155f*-0x1+0x19a5)})['catch'](()=>{}),await i(0x19*-0x15+-0x1d86+-0x256f*-0x1),console[a6(0x1dc)](),console['log'](a0p[a6(0x1d9)](a6(0x224))),console[a6(0x1dc)](a0p[a6(0x21d)]['white']('\x20\x20'+a0B(a6(0x185)))),console[a6(0x1dc)](a0p['cyan'](a6(0x224))),console[a6(0x1dc)]();const z=a0B(a6(0x1f1)),A=a0B(a6(0x283));console['log'](a0p[a6(0x25b)](a6(0x1f7)+z+'\x20')+a0p[a6(0x22b)](A[a6(0x197)]('\x0a')[0x1*0x1013+-0x1*0x246d+-0xa2d*-0x2]||''));for(const E of A[a6(0x197)]('\x0a')[a6(0x1b0)](0x1135+0x1dac+-0x2ee0*0x1))E[a6(0x281)]()&&console[a6(0x1dc)](a0p['gray']('\x20\x20\x20\x20\x20\x20\x20'+E[a6(0x1f5)](/\{thinking\}/g,'thinking')));console[a6(0x1dc)](),console[a6(0x1dc)](a0p['white']('\x20\x20\x20\x202.\x20'+a0B(a6(0x202))+'\x20')+a0p['gray'](a0B(a6(0x209)))),console[a6(0x1dc)](),console['log'](a0p[a6(0x1d9)](a6(0x1b4))),console['log'](),await i(0x13e9+0x1786+0x33d*-0xb),console['log'](a0p[a6(0x1d9)](a6(0x224))),console[a6(0x1dc)](a0p[a6(0x21d)]['white']('\x20\x20'+a0B(a6(0x1db)))),console[a6(0x1dc)](a0p[a6(0x1d9)](a6(0x224))),console['log'](),console[a6(0x1dc)](a0p[a6(0x23e)](a6(0x259))+a0p[a6(0x25b)](a0B(a6(0x226))[a6(0x1cd)](0x79a+0x6*-0x397+0xe0a))+a0p[a6(0x22b)](a0B(a6(0x214)))),console['log'](a0p[a6(0x23e)]('\x20\x20\x20\x20\x20\x20\x20hint\x20b\x20\x20\x20')+a0p['white'](a0B(a6(0x22a))[a6(0x1cd)](0xa12+0x2ba*-0x5+-0x1*-0x3aa))+a0p['gray'](a0B(a6(0x25f)))),console[a6(0x1dc)](a0p['yellow']('\x20\x20\x20\x20\x20\x20\x20hint\x20c\x20\x20\x20')+a0p[a6(0x25b)](a0B('ai4ctfWrapQuotaC')['padEnd'](0x10d0+0x1f1+-0x3bb*0x5))+a0p[a6(0x22b)](a0B(a6(0x26c)))),console[a6(0x1dc)]();for(const F of a0B(a6(0x26b))[a6(0x197)]('\x0a'))console[a6(0x1dc)](a0p[a6(0x22b)](a6(0x1ae)+F));console[a6(0x1dc)](),await i(0xea9+0x49e+-0x1*0xb77),console[a6(0x1dc)](a0p[a6(0x1d9)]('\x20\x20─────────────────────────────────────────────')),console[a6(0x1dc)](a0p['bold'][a6(0x25b)]('\x20\x20'+a0B(a6(0x1be))+'\x20')+a0p[a6(0x1de)][a6(0x21d)](a6(0x181))+a0p['white'](a6(0x20c)+a0B(a6(0x216)))),console['log'](a0p['cyan'](a6(0x224))),console[a6(0x1dc)]();const B=a0B('ai4ctfWrapNextBody'),C=a0B(a6(0x27f)),D=B[a6(0x197)]('\x0a');if(D[-0xa78+-0x10d3+0x1b4b]){const [G,H]=D[0x1a58*0x1+-0x6*0x112+-0x13ec][a6(0x197)](a6(0x275));console[a6(0x1dc)](a0p['white'](a6(0x1ae)+(G||''))+a0p[a6(0x21d)][a6(0x25b)](C)+a0p[a6(0x25b)](H||''));}for(const I of D[a6(0x1b0)](0x1407+-0x4fd+0x1*-0xf09))I[a6(0x281)]()&&console['log'](a0p[a6(0x25b)]('\x20\x20\x20\x20'+I));return console[a6(0x1dc)](),console[a6(0x1dc)](a0p[a6(0x22b)](a6(0x1ae)+a0B(a6(0x276))+'\x20')+a0p[a6(0x21d)][a6(0x1de)](a6(0x181))),console['log'](),'exit';}return console['log'](),console[a6(0x1dc)](a0p[a6(0x1de)]('\x20\x20'+a0B(a6(0x19f)))),console[a6(0x1dc)](a0p['gray']('\x20\x20'+a0B(a6(0x208)))),console[a6(0x1dc)](),a6(0x1ea);}if(p[a6(0x1d1)]('!')){const J=p['slice'](0xeac+-0x15b*0xd+-0x36*-0xe)[a6(0x281)]();if(!J)return'continue';try{const K={};K['encoding']=a6(0x1a9),K[a6(0x240)]=0x2710;const {execSync:L}=await import('node:child_process'),M=L(J,K)[a6(0x281)]();console['log'](),console[a6(0x1dc)](a0p[a6(0x22b)](a6(0x1f0))+a0p[a6(0x25b)](J)),console['log'](a0p[a6(0x25b)]('\x20\x20'+M[a6(0x197)]('\x0a')[a6(0x280)]('\x0a\x20\x20'))),console[a6(0x1dc)](),console['log'](a0p[a6(0x22b)]('\x20\x20'+a0B('ai4ctfFoundFlag'))),console[a6(0x1dc)]();}catch(N){console['log'](),console['log'](a0p[a6(0x1de)]('\x20\x20Error:\x20'+(N['message']?.[a6(0x197)]('\x0a')[-0x430*0x3+0x1d54+-0x10c4]||a6(0x1e1)))),console[a6(0x1dc)]();}return'continue';}const w={};w[a6(0x25a)]=a6(0x191);if(a6(0x218)===p||'back'===p||a6(0x254)===p||a6(0x1f3)===p)return s=!(-0x2080+-0x216c+0x41ed),g=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a6(0x22c),'headers':w,'body':JSON['stringify']({'type':a6(0x1b3),'tokensUsed':r,'timestamp':new Date()[a6(0x221)]()}),'signal':AbortSignal[a6(0x240)](0x108*-0x1c+-0x13*0x191+0x4e2b)})['catch'](()=>{}),console[a6(0x1dc)](),console[a6(0x1dc)](a0p[a6(0x22b)](a6(0x264))),console[a6(0x1dc)](a0p[a6(0x25b)]('\x20\x20'+a0B('ai4ctfReport'))),console[a6(0x1dc)](a0p['gray']('\x20\x20'+a0B('ai4ctfTokens')+':\x20'+r+'/5000')),console[a6(0x1dc)](a0p[a6(0x22b)]('\x20\x20'+a0B(a6(0x19c))+':\x20Google\x20Gemma\x204\x20(gemma-4-31b-it)')),console[a6(0x1dc)](a0p[a6(0x22b)](a6(0x264))),console[a6(0x1dc)](),console['log'](a0p[a6(0x1d9)](a6(0x224))),console[a6(0x1dc)](a0p[a6(0x25b)]('\x20\x20'+a0B(a6(0x20a))+'\x20')+a0p[a6(0x21d)]['red'](a6(0x181))+a0p[a6(0x25b)]('\x20—\x20'+a0B(a6(0x1c0)))),console[a6(0x1dc)](a0p['gray']('\x20\x20'+a0B('ai4ctfExitNextBody'))),console[a6(0x1dc)](a0p[a6(0x1d9)]('\x20\x20─────────────────────────────────────────────')),console[a6(0x1dc)](),console[a6(0x1dc)](a0p[a6(0x21d)][a6(0x1de)]('\x20\x20\x20\x20\x20ctf4ai')+a0p['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(a6(0x1ab)))),console[a6(0x1dc)](a0p['white'](a6(0x27a))+a0p['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(a6(0x227)))),console[a6(0x1dc)](),a6(0x218);const x={};x[a6(0x25a)]=a6(0x191);if(!y&&r>=0x21a1*0x1+-0xf5b+0x142)return y=!(-0x2b8+0x2571+-0x1*0x22b9),fetch(a6(0x25c),{'method':a6(0x22c),'headers':x,'body':JSON[a6(0x273)]({'type':'ai4ctf','solved':!(-0x1731*-0x1+0x1f7d+-0x1*0x36ad),'tokensUsed':r,'timestamp':new Date()[a6(0x221)]()}),'signal':AbortSignal[a6(0x240)](0x4*-0x88c+0x1*0xcb9+0x28ff*0x1)})['catch'](()=>{}),console[a6(0x1dc)](),console['log'](a0p['yellow']('\x20\x20'+a0B(a6(0x196)))),d(),(function(){const a8=a6;console[a8(0x1dc)](),console[a8(0x1dc)](a0p[a8(0x23e)](a8(0x224))),console[a8(0x1dc)](a0p['bold'][a8(0x23e)]('\x20\x20'+a0B(a8(0x18b)))),console[a8(0x1dc)](a0p['yellow'](a8(0x224))),console[a8(0x1dc)]();for(const O of a0B(a8(0x1ff))[a8(0x197)]('\x0a'))''===O?console[a8(0x1dc)]():console[a8(0x1dc)](a0p['white'](a8(0x1ae)+O));console['log'](),console[a8(0x1dc)](a0p['cyan'](a8(0x204))),console[a8(0x1dc)](),console['log'](a0p[a8(0x25b)](a8(0x1ae)+a0B('ai4ctfRevealSeeFlag'))),console['log'](),console[a8(0x1dc)](a0p['green'](a8(0x1cc))),console[a8(0x1dc)](),console[a8(0x1dc)](a0p[a8(0x25b)]('\x20\x20\x20\x20'+a0B('ai4ctfRevealThenSubmit'))),console[a8(0x1dc)](),console['log'](a0p[a8(0x1d9)](a8(0x267))),console['log'](),console[a8(0x1dc)](a0p[a8(0x22b)]('\x20\x20\x20\x20'+a0B(a8(0x271)))),console[a8(0x1dc)]();}()),a6(0x1ea);if(y)return console['log'](),console[a6(0x1dc)](a0p['yellow']('\x20\x20'+a0B(a6(0x21b)))),console[a6(0x1dc)](a0p[a6(0x22b)]('\x20\x20'+a0B(a6(0x217))+'\x20')+a0p[a6(0x1d9)](a6(0x213))),console[a6(0x1dc)](a0p['gray']('\x20\x20'+a0B(a6(0x1e8))+'\x20')+a0p[a6(0x1d9)](a6(0x1c1))),console[a6(0x1dc)](),a6(0x1ea);console['log'](a0p[a6(0x22b)]('\x20\x20'+a0B(a6(0x1fc))));try{const O=await g['sendMessage'](p);process[a6(0x1fb)]['write'](a6(0x1fd)),r+=O['tokensUsed'],a0v(O[a6(0x228)]),console[a6(0x1dc)](),a0z(O['text']),d(),console['log']();}catch(P){process['stdout'][a6(0x1a6)](a6(0x1fd)),a0A(a6(0x245)+P['message']),console[a6(0x1dc)]();}return'continue';}const f=new Set();async function m(k){const a9=a0j;if(!u||!g)return a9(0x218);const p=k[a9(0x281)](),q=p[a9(0x1c2)](),v=(Date[a9(0x26d)]()-u[a9(0x285)])/(-0x59b9+0xee1a+0x25*0x253);if(!u[a9(0x20f)]&&!u[a9(0x1d8)]&&u[a9(0x18a)][a9(0x247)]>=0x571*-0x3+0x2323+-0x12ce&&v>=-0x476+-0x115*-0x17+-0x1468&&(u['nudgeShown']=!(0x205d+-0x2117+0xba),console[a9(0x1dc)](),console['log'](a0p[a9(0x23e)](a9(0x284))+a0p[a9(0x21d)][a9(0x23e)](a9(0x248))),console[a9(0x1dc)](a0p[a9(0x22b)](a9(0x251))),console['log']()),/^ICOA\{[^}]+\}$/i[a9(0x1b9)](p))return console[a9(0x1dc)](),console[a9(0x1dc)](a0p[a9(0x22b)](a9(0x20e))+a0p[a9(0x25b)]('submit\x20'+p)),m(a9(0x24b)+p);const x=q[a9(0x192)](/^hint\s+([abc])$/);if(x){const A=x[0x2697+0x1*0x60a+-0x198*0x1c][a9(0x23d)](),B=u[a9(0x1b1)][a9(0x231)],C=B?.[A],D='A'===A?a0p[a9(0x22d)]:'B'===A?a0p[a9(0x23e)]:a0p[a9(0x1de)];if(console[a9(0x1dc)](),console[a9(0x1dc)](D[a9(0x21d)](a9(0x246)+A)),console['log'](),C){for(const E of String(C)[a9(0x197)]('\x0a'))console[a9(0x1dc)](a0p[a9(0x25b)](a9(0x1ae)+E));}else console['log'](a0p['gray'](a9(0x26e)));return console[a9(0x1dc)](),'A'===A?console['log'](a0p['gray'](a9(0x25e))+a0p[a9(0x1d9)](a9(0x1e9))):'B'===A?console[a9(0x1dc)](a0p[a9(0x22b)](a9(0x23c))+a0p['cyan'](a9(0x1dd))):'C'===A&&console[a9(0x1dc)](a0p[a9(0x22b)](a9(0x1ae)+a0B(a9(0x1a3))+'\x20')+a0p['bold'][a9(0x22d)](a9(0x248))),console[a9(0x1dc)](),a9(0x1ea);}const z=p[a9(0x192)](/^submit\s+(.+)/i);if(z){const F=z[0x1de2+-0x24*0xec+0x7*0x79][a9(0x281)]();if(/^[A-Da-d]$/[a9(0x1b9)](F))return console['log'](),console[a9(0x1dc)](a0p[a9(0x23e)](a9(0x1ec)+F+a9(0x1e0))),console[a9(0x1dc)](a0p[a9(0x22b)]('\x20\x20Flag\x20format:\x20')+a0p[a9(0x22d)]('ICOA{your_flag}')+a0p[a9(0x22b)]('.\x20Try\x20again\x20inside\x20this\x20chat.')),console[a9(0x1dc)](),a9(0x1ea);const {getExamState:G,saveExamState:H}=await import(a9(0x27b)),I=G();if(!I)return a9(0x218);if(!I[a9(0x1d4)][a9(0x255)](L=>L[a9(0x223)]===u[a9(0x1ad)]))return console[a9(0x1dc)](a0p['red'](a9(0x1b6)+u[a9(0x1ad)]+a9(0x1f6))),'continue';const J=I['answers'][u[a9(0x1ad)]];I['interactions']||(I[a9(0x19b)]=[]),I[a9(0x19b)][a9(0x186)]({'ts':new Date()['toISOString'](),'q':u[a9(0x1ad)],'type':J?'answer_changed':'answer_submitted','input':F,'result':a9(0x270)}),I['answers'][u['qNum']]=F;const K=u[a9(0x1ad)]+(0x1988+-0x699*0x2+-0xc55);return I[a9(0x26f)]=K<=-0x4bd*-0x5+0x37+-0x17c2?K:u[a9(0x1ad)],H(I),console[a9(0x1dc)](),J?(console[a9(0x1dc)](a0p[a9(0x22d)]('\x20\x20✓\x20Q'+u[a9(0x1ad)]+a9(0x18d))+a0p[a9(0x23e)](F)),console['log'](a0p[a9(0x22b)]('\x20\x20\x20\x20Previous:\x20'+J))):console['log'](a0p[a9(0x22d)][a9(0x21d)](a9(0x187)+u[a9(0x1ad)]+'\x20recorded:\x20'+F)),console['log'](a0p[a9(0x22b)](a9(0x235))),console[a9(0x1dc)](),console[a9(0x1dc)](a0p['gray']('\x20\x20')+a0p[a9(0x25b)](a9(0x182))+a0p[a9(0x22b)](a9(0x1ee))+a0p[a9(0x25b)](a9(0x218))+a0p[a9(0x22b)]('\x20to\x20move\x20on')),K<=0x5b5+0x77c+-0xd0b?console[a9(0x1dc)](a0p[a9(0x22b)]('\x20\x20After\x20exit:\x20')+a0p[a9(0x1d9)]('ai4ctf')+a0p[a9(0x22b)]('\x20will\x20open\x20Q'+K)):console[a9(0x1dc)](a0p['gray']('\x20\x20After\x20exit:\x20AI4CTF\x20section\x20complete.\x20Next:\x20')+a0p['red'](a9(0x181))+a0p[a9(0x22b)](a9(0x21f))),console[a9(0x1dc)](),'continue';}if(k[a9(0x1d1)]('!')){const L=k[a9(0x1b0)](-0x26eb+-0x1d1*-0x9+0x1693*0x1)[a9(0x281)]();if(!L)return'continue';try{const M={};M[a9(0x20d)]=a9(0x1a9),M[a9(0x240)]=0x2710;const {execSync:N}=await import('node:child_process'),O=N(L,M)['trim']();console[a9(0x1dc)](),console[a9(0x1dc)](a0p[a9(0x22b)](a9(0x1f0))+a0p[a9(0x25b)](L)),console[a9(0x1dc)](a0p[a9(0x25b)]('\x20\x20'+O['split']('\x0a')[a9(0x280)](a9(0x237)))),console[a9(0x1dc)]();}catch(P){console[a9(0x1dc)](),console[a9(0x1dc)](a0p[a9(0x1de)](a9(0x1c9)+(P[a9(0x220)]?.[a9(0x197)]('\x0a')[-0x1d83+0x165d+0x726]||a9(0x1e1)))),console[a9(0x1dc)]();}return a9(0x1ea);}if('exit'===q||a9(0x201)===q||a9(0x254)===q){const Q=u[a9(0x1ad)],{getExamState:R}=await import(a9(0x27b)),S=R(),T=S&&null!=S['answers'][Q],U=S?.[a9(0x26f)]||Q;return s=!(-0x1407+-0x1*0xe95+-0x229d*-0x1),g=null,u=null,f[a9(0x265)](),console[a9(0x1dc)](),console[a9(0x1dc)](a0p['gray'](a9(0x241)+Q+'.')),T&&U>Q&&U<=0xd*-0x1c8+0x3e6+0x1368?console['log'](a0p['white']('\x20\x20Next:\x20')+a0p[a9(0x21d)][a9(0x22d)]('Q'+U)+a0p[a9(0x22b)]('\x20—\x20type\x20')+a0p['cyan']('ai4ctf')+a0p[a9(0x22b)](a9(0x1fa))):T&&Q>=0x270e+-0x437*0x1+-0x22b1?console[a9(0x1dc)](a0p[a9(0x25b)](a9(0x1cb))+a0p[a9(0x21d)][a9(0x1de)](a9(0x181))+a0p[a9(0x22b)]('\x20for\x20Q39')):console[a9(0x1dc)](a0p['gray'](a9(0x219))+a0p[a9(0x25b)](a9(0x1d0)+Q)+a0p['gray'](a9(0x249))+a0p[a9(0x25b)]('ai4ctf')),console[a9(0x1dc)](),a9(0x218);}if(y)return console[a9(0x1dc)](),console['log'](a0p[a9(0x23e)](a9(0x1a4))),console[a9(0x1dc)](a0p[a9(0x22b)](a9(0x261))+a0p[a9(0x25b)](a9(0x1c4))+a0p['gray'](a9(0x1a5))+a0p[a9(0x25b)](a9(0x253))+a0p[a9(0x22b)]('\x20·\x20')+a0p[a9(0x25b)]('exit')),console['log'](),a9(0x1ea);if(r>=h)return y=!(0x10cf*-0x1+0x1*-0x13cd+0x249c),console['log'](),console[a9(0x1dc)](a0p[a9(0x1de)]['bold'](a9(0x1b7))),console['log'](a0p[a9(0x22b)](a9(0x274))+a0p['white'](a9(0x1c4))+a0p[a9(0x22b)](a9(0x1a5))+a0p[a9(0x25b)](a9(0x253))+a0p['gray'](a9(0x1a5))+a0p[a9(0x25b)](a9(0x218))),console[a9(0x1dc)](),a9(0x1ea);console[a9(0x1dc)](a0p[a9(0x22b)](a9(0x262)));try{const V=await g[a9(0x1df)](k);process['stdout'][a9(0x1a6)](a9(0x1fd)),r+=V[a9(0x228)];const {getRealExamState:W,saveExamState:X}=await import(a9(0x27b)),Y=W(),Z={};Z['ai4ctf']=0x0,Z['ctf4ai']=0x0,(Y&&(Y[a9(0x233)]||(Y[a9(0x233)]=Z),Y[a9(0x233)][a9(0x1b3)]=r,X(Y)),console[a9(0x1dc)](),a0z(V[a9(0x1a7)]),d(),function(a0,a1,a2){const aa=a9,a3=a0/a1*(0x12c3+-0x6*-0x383+-0x2771);a3>=-0x15d0+-0x1d8a+0x1*0x33b9&&!a2['has']('95')?(console[aa(0x1dc)](a0p[aa(0x1de)][aa(0x21d)](aa(0x244)+Math[aa(0x1e5)](a3)+'%\x20of\x20section\x20AI\x20budget\x20used\x20—\x20only\x20~'+(a1-a0)+aa(0x1d7))),a2[aa(0x256)]('95')):a3>=-0xbaf+-0xa1b+0x161a&&!a2[aa(0x23b)]('80')?(console[aa(0x1dc)](a0p[aa(0x23e)]('\x20\x20⚠\x2080%\x20of\x20section\x20AI\x20budget\x20used.')),a2[aa(0x256)]('80')):a3>=-0x1a86+-0x2001+-0x1*-0x3ab9&&!a2[aa(0x23b)]('50')&&(console[aa(0x1dc)](a0p[aa(0x22b)](aa(0x1ba))),a2['add']('50'));}(r,h,f),console[a9(0x1dc)]());}catch(a0){process[a9(0x1fb)][a9(0x1a6)](a9(0x1fd)),a0A('AI\x20error:\x20'+a0[a9(0x220)]),console['log']();}return a9(0x1ea);}export function registerAi4ctfCommand(b){const ab=a0j;b[ab(0x193)]('ai4ctf')[ab(0x1bb)](ab(0x1a2))['action'](async()=>{const ac=ab;a0x(ac(0x1b3));const {getRealExamState:j}=await import(ac(0x27b)),k=j(),p=k?.[ac(0x1d4)]['some'](x=>x[ac(0x223)]>=-0x33*0xad+0x1d55+-0x1*-0x541&&x['number']<=0x1*-0x2511+0x5af*-0x3+0x3644);if(k&&p){const x=k[ac(0x26f)]||0x1*0x19ed+-0x1699+-0x353*0x1;if(x<0x2*0x1171+-0x409*0x1+0x8a*-0x39||x>-0x1f74*-0x1+0xc*-0x1a2+-0x1*0xbb6)return console['log'](),console[ac(0x1dc)](a0p[ac(0x23e)](ac(0x1b5))),console[ac(0x1dc)](a0p['gray'](ac(0x190)+x+ac(0x23f))),console[ac(0x1dc)](a0p[ac(0x22b)](ac(0x1e7))+a0p[ac(0x21d)][ac(0x1d9)](ac(0x1e4))),void console[ac(0x1dc)]();const z=k['questions'][ac(0x255)](A=>A[ac(0x223)]===x);return z?void await async function(A,B){const ad=ac,{getRealExamState:C,refetchQuestionDataIfStale:D,materializeAttachedData:E}=await import(ad(0x27b));await D();const F=C();if(!F)return!(-0x1e45+-0x2fb*0x1+-0x1*-0x2141);const G=F[ad(0x1d4)][ad(0x255)](J=>J[ad(0x223)]===A);G&&(B=G),E(A,B?.[ad(0x269)]);const H=F['aiUsage']?.[ad(0x1b3)]??-0x329*0x5+0x1*0x383+0x16*0x8f;if(H>=h)return console[ad(0x1dc)](),console[ad(0x1dc)](a0p[ad(0x23e)](ad(0x1ef))),console[ad(0x1dc)](a0p[ad(0x22b)](ad(0x236))+a0p[ad(0x25b)](ad(0x268)+A+ad(0x282))),console[ad(0x1dc)](),!(0xa*0x21f+-0x1dc2+-0x1*-0x88d);try{g=await a0q(void(-0x660+0x3*-0x54f+-0x21*-0xad),function(J,K){const ae=ad,L=J[ae(0x1bb)]||J['text']||'',M=J[ae(0x269)]?ae(0x1e6)+K+ae(0x183)+J['attachedData']:'';return ae(0x257)+K+',\x20'+J[ae(0x252)]+',\x20'+(J[ae(0x230)]||0x24b*0xd+-0xb*-0x263+-0x957*0x6)+ae(0x24d)+L+M+'\x0a\x0aYOUR\x20RULES:\x0a-\x20You\x20MAY\x20explain\x20concepts,\x20describe\x20approaches,\x20and\x20help\x20the\x20contestant\x20reason\x20through\x20the\x20problem.\x0a-\x20You\x20MAY\x20discuss\x20the\x20technology\x20involved\x20(AES,\x20pwntools,\x20Python\x20struct,\x20HTTP,\x20etc.).\x0a-\x20You\x20MAY\x20help\x20debug\x20Python\x20code\x20the\x20contestant\x20writes.\x0a-\x20You\x20MUST\x20NOT\x20reveal\x20the\x20flag\x20directly.\x0a-\x20You\x20MUST\x20NOT\x20output\x20any\x20string\x20matching\x20ICOA{...}\x20or\x20icoa{...}.\x0a-\x20You\x20MUST\x20NOT\x20tell\x20the\x20contestant\x20the\x20exact\x20answer\x20to\x20this\x20question.\x0a-\x20You\x20MAY\x20suggest\x20which\x20tool\x20/\x20library\x20/\x20technique\x20to\x20use.\x0a-\x20When\x20suggesting\x20shell\x20/\x20python\x20snippets\x20that\x20need\x20the\x20attached\x20data,\x20refer\x20to\x20the\x20file\x20path\x20challenges/q'+K+ae(0x18f);}(B,A));}catch(J){return a0A(J['message']),!(-0x2e1*0xc+-0x1b68*0x1+0x3df5);}s=!(0x1*0x45e+-0xd4*0xd+0x666),r=H,y=!(0xd99*0x2+-0x189*-0x15+-0x3b6e),u={'qNum':A,'question':B,'usageField':ad(0x1b3),'enteredAt':Date[ad(0x26d)](),'hintsUsed':new Set(),'submitAttempted':!(0x2541+-0x12f*0x4+0x2084*-0x1),'nudgeShown':!(-0x277*0x1+-0x137e+-0x6*-0x3a9)};const I=F['answers']?.[A];return function(K,L,M){const af=ad,N=a0w()['geminiModel']||af(0x1f9),O=r>-0x15e7+0xafd+0xaea;console[af(0x1dc)](),console[af(0x1dc)](a0p[af(0x22d)][af(0x21d)](af(0x225)+L+':\x20'+K[af(0x252)]+af(0x1ce))),O&&console[af(0x1dc)](a0p[af(0x22b)](af(0x27d))),M&&console[af(0x1dc)](a0p['gray'](af(0x207))+a0p[af(0x23e)](M)+a0p[af(0x22b)](af(0x238))),console['log'](),console[af(0x1dc)](a0p['cyan'](af(0x1b8))),console['log'](a0p[af(0x1d9)]('\x20\x20│\x20')+a0p[af(0x21d)][af(0x25b)]('Q'+L+'\x20\x20['+K['category']+af(0x1f2)+(K['points']||0x525*0x3+-0xd1e+-0x24b)+af(0x272))),console[af(0x1dc)](a0p[af(0x1d9)](af(0x19a)));for(const P of String(K[af(0x1a7)])[af(0x197)]('\x0a')){const Q=P['length']>0x16ae+0xe1a+-0x248c?P[af(0x1b0)](-0x2656+0x1db9+0x7*0x13b,0x1b*-0x77+0x2*0x12b3+-0x18a0)+'...':P;console['log'](a0p['cyan']('\x20\x20│\x20')+a0p[af(0x25b)](Q));}console[af(0x1dc)](a0p[af(0x1d9)](af(0x19a))),console[af(0x1dc)](a0p['cyan'](af(0x1a0))+a0p[af(0x22b)](af(0x1bd))+a0p[af(0x25b)]('exam\x20q\x20'+L)),console['log'](a0p[af(0x1d9)](af(0x1a0))+a0p[af(0x22b)](af(0x1eb))),console[af(0x1dc)](a0p['cyan'](af(0x20b))),console[af(0x1dc)](),console[af(0x1dc)](a0p[af(0x21d)][af(0x25b)](af(0x206))),console[af(0x1dc)](),console[af(0x1dc)](a0p['yellow'](af(0x263))+a0p['gray'](af(0x1ca))),console[af(0x1dc)](a0p[af(0x23e)](af(0x21a))+a0p['gray'](af(0x1e3))),console[af(0x1dc)](a0p['yellow'](af(0x25d))+a0p['gray'](af(0x24c))),console['log'](a0p[af(0x21d)][af(0x22d)](af(0x22f))+a0p[af(0x22b)](af(0x232))),console[af(0x1dc)](a0p[af(0x25b)](af(0x1e2))+a0p['gray'](af(0x1ed))),console['log'](a0p['gray']('\x20\x20\x20\x20Just\x20type\x20freely\x20to\x20chat\x20with\x20the\x20AI\x20teammate.')),console[af(0x1dc)](a0p[af(0x22b)](af(0x27e))+a0p[af(0x25b)]('\x22how\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console[af(0x1dc)](),console['log'](a0p[af(0x22b)](af(0x18c))+a0p[af(0x22b)](af(0x234))),console[af(0x1dc)](),d(),console[af(0x1dc)](a0p[af(0x22b)](af(0x212)+N+')')),console['log']();}(B,A,I),!(0x345+0x8ba*-0x3+0xff*0x17);}(x,z):void a0A('Q'+x+ac(0x1aa)+x);}const q={};q[ac(0x215)]='Hidden\x20Message',q['category']='Cryptography';const v=a0w()[ac(0x222)]||ac(0x1f9),w=q;try{g=await a0q(w);}catch(A){return void a0A(A[ac(0x220)]);}s=!(0x1571+-0x266*-0x1+-0x167*0x11),r=-0xbc7+-0x4*0x5ae+-0x1*-0x227f,y=!(-0x7c8+0x2*0x874+-0x91f),console[ac(0x1dc)](),console[ac(0x1dc)](a0p[ac(0x22d)]['bold'](ac(0x1c8)+a0B(ac(0x189))+ac(0x1ce))),console[ac(0x1dc)](),console['log'](a0p['white']('\x20\x20'+a0B(ac(0x1ac)))),console[ac(0x1dc)](),console[ac(0x1dc)](a0p[ac(0x1d9)](ac(0x1b8))),console[ac(0x1dc)](a0p[ac(0x1d9)](ac(0x1a0))+a0p['bold'][ac(0x25b)](a0B('ai4ctfChallenge'))),console[ac(0x1dc)](a0p[ac(0x1d9)](ac(0x19a))),console[ac(0x1dc)](a0p[ac(0x1d9)]('\x20\x20│\x20')+a0p[ac(0x25b)](a0B(ac(0x198)))),console[ac(0x1dc)](a0p[ac(0x1d9)](ac(0x1a0))+a0p[ac(0x22d)]('aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==')),console[ac(0x1dc)](a0p[ac(0x1d9)]('\x20\x20│')),console['log'](a0p[ac(0x1d9)]('\x20\x20│\x20')+a0p[ac(0x25b)](a0B(ac(0x21c)))),console[ac(0x1dc)](a0p[ac(0x1d9)](ac(0x1a0))+a0p['gray'](ac(0x1c3))),console['log'](a0p[ac(0x1d9)](ac(0x20b))),console[ac(0x1dc)](),console[ac(0x1dc)](a0p['white']('\x20\x20'+a0B(ac(0x1d2)))),console[ac(0x1dc)](),console[ac(0x1dc)](a0p[ac(0x23e)](ac(0x263))+a0p['gray'](ac(0x1ae)+a0B(ac(0x22e)))),console[ac(0x1dc)](a0p['gray'](ac(0x1c5)+a0B(ac(0x26a)))),console['log'](a0p[ac(0x23e)](ac(0x21a))+a0p[ac(0x22b)](ac(0x1ae)+a0B(ac(0x210)))),console['log'](a0p[ac(0x22b)](ac(0x1c5)+a0B(ac(0x24e)))),console[ac(0x1dc)](a0p[ac(0x23e)](ac(0x25d))+a0p[ac(0x22b)]('\x20\x20\x20\x20'+a0B(ac(0x184)))),console[ac(0x1dc)](a0p[ac(0x22b)](ac(0x1c5)+a0B(ac(0x19e)))),console['log'](),console[ac(0x1dc)](a0p['gray'](ac(0x264))),console[ac(0x1dc)](a0p['bold'][ac(0x25b)]('\x20\x20'+a0B(ac(0x19d)))),console[ac(0x1dc)]('\x20\x20\x20\x20'+a0p['cyan'](ac(0x1b2))+a0p[ac(0x22b)]('\x20\x20\x20→\x20'+a0B('ai4ctfHintNudge'))),console['log'](ac(0x1ae)+a0p[ac(0x1d9)]('hint\x20b')+a0p['gray']('\x20\x20\x20→\x20'+a0B(ac(0x200)))),console[ac(0x1dc)]('\x20\x20\x20\x20'+a0p[ac(0x1d9)](ac(0x1dd))+a0p['gray'](ac(0x278)+a0B(ac(0x266)))),console[ac(0x1dc)](a0p['gray'](ac(0x1ae)+a0B(ac(0x1fe)))),console[ac(0x1dc)](),console['log'](a0p['white']('\x20\x20'+a0B(ac(0x1f8)))),console[ac(0x1dc)](a0p['gray']('\x20\x20'+a0B('ai4ctfOrChatExample')+'\x20')+a0p[ac(0x25b)](ac(0x23a))),console['log'](),console[ac(0x1dc)](a0p[ac(0x23e)]('\x20\x20'+a0B(ac(0x1af)))),console[ac(0x1dc)](a0p[ac(0x25b)]('\x20\x20\x20\x20hint\x20a\x20/\x20b\x20/\x20c\x20\x20')+a0p['gray'](a0B(ac(0x1da)))),console['log'](a0p[ac(0x25b)](ac(0x1f4))+a0p['gray'](a0B(ac(0x250)))),console[ac(0x1dc)](a0p['white'](ac(0x260))+a0p[ac(0x22b)](a0B(ac(0x1c7)))),console['log'](a0p[ac(0x22b)](ac(0x27e))+a0p['white'](ac(0x243))),console[ac(0x1dc)](a0p[ac(0x22b)](ac(0x188)+a0B(ac(0x242)))),console[ac(0x1dc)](),d(),console[ac(0x1dc)](a0p[ac(0x22b)]('\x20\x20'+a0B(ac(0x19c))+ac(0x1d6)+v+')')),console[ac(0x1dc)](a0p[ac(0x22b)]('\x20\x20'+a0B(ac(0x1d3)))),console['log']();});}
@@ -1 +1 @@
1
- (function(z,B){const aX=a0B,F=z();while(!![]){try{const G=-parseInt(aX(0x320))/(0x16cd+0xc1e+0x1175*-0x2)*(parseInt(aX(0x1ee))/(-0x1329+-0x6*0x4ed+0x30b9))+-parseInt(aX(0x360))/(-0x27f+-0x28f+0x511)*(-parseInt(aX(0x42f))/(0x595*0x4+0x1e93*0x1+-0x34e3))+parseInt(aX(0x139))/(-0x399*0x1+0x2a7*-0xd+-0x3*-0xcb3)+parseInt(aX(0x250))/(-0xaac+-0x26eb+0x319d)*(parseInt(aX(0x2ef))/(0x250*-0xd+0x5*0x31a+0xe95))+-parseInt(aX(0x241))/(0x11ec+-0xf7*-0x25+-0x3597)+parseInt(aX(0x20b))/(0x16b*-0x2+-0x23f0+-0x7c3*-0x5)+parseInt(aX(0x165))/(-0x64d+-0x1*0x461+0xab8)*(-parseInt(aX(0x2ff))/(-0x8e6*0x1+-0x50c*0x1+0xdfd));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,0xd3f3d+0x87939+-0xb35f0*0x1));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(0x189)]=aY(0x2bd),fetch(aY(0x352),{'method':aY(0x13b),'headers':H,'body':JSON[aY(0x2be)]({'type':B,'lang':G[aY(0x3fe)]||'en','timestamp':new Date()[aY(0x28b)](),...F}),'signal':AbortSignal[aY(0x19f)](-0x2*-0x21d+0xccf+0x27f)})[aY(0x26e)](()=>{});}function a0B(a,b){a=a-(-0x1*-0x1c8d+0x22be*0x1+0x47*-0xe0);const c=a0z();let d=c[a];if(a0B['kXTfGE']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x2*-0x21d+0xccf+-0x1109,o,p,q=-0x9ab+0x222+0x789;p=i['charAt'](q++);~p&&(o=n%(-0x20a9+0x10*0x234+-0x293*0x1)?o*(0x1c6d+0x4ac+-0x20d9*0x1)+p:p,n++%(0x1*-0x2231+0x5*0x665+-0x4*-0x8f))?l+=String['fromCharCode'](0xf43*-0x1+-0x210d*0x1+0x3cb*0xd&o>>(-(-0x1962+-0x2183+0x3ae7)*n&-0xc0a+-0x1e53+0x2a63)):-0x35*0x95+0x1cf9+0xa0*0x3){p=j['indexOf'](p);}for(let r=-0x1247+0x49*0x1+0x11fe,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x8f8+0x5dd+-0xec5))['slice'](-(0x895+0x6*0x53+-0xa85));}return decodeURIComponent(m);};a0B['VlzXXg']=e,a0B['CoBgDg']={},a0B['kXTfGE']=!![];}const f=c[-0x2*-0x92+-0x2f*0xb8+0x1052*0x2],g=a+f,h=a0B['CoBgDg'][g];return!h?(d=a0B['VlzXXg'](d),a0B['CoBgDg'][g]=d):d=h,d;}function N(z,B){const aZ=a0B,F=Math[aZ(0x409)](z/(-0x9ab+0x222+0x7ed)*(-0x20a9+0x10*0x234+-0xd3*0x3)),G=0x1c6d+0x4ac+-0x20fb*0x1-F,H=a0L['green']('█'[aZ(0x328)](F))+a0L[aZ(0x1cc)]('░'[aZ(0x328)](G)),J=String(z)[aZ(0x247)](0x1*-0x2231+0x5*0x665+-0x1*-0x23b)+'%';process[aZ(0x420)][aZ(0x1f7)](aZ(0x404)+H+'\x20'+J+'\x20\x20'+a0L[aZ(0x1cc)](B));}function M(){const b0=a0B,z=a0W();return z[b0(0x3dc)]&&z[b0(0x3e6)]?new a0V(z[b0(0x3dc)],z[b0(0x3e6)]):(a0aa('Not\x20connected.\x20Run:\x20join\x20<url>'),null);}function O(){const b1=a0B,z=a0a1();z&&(new Date()<z?a0af(b1(0x20d),a0L[b1(0x3b3)][b1(0x226)](a0ah(z))):a0af(b1(0x261),a0L[b1(0x245)][b1(0x226)](b1(0x37a))));}function a0z(){const bK=['icaGicHHAtrJDgyP','C3vIBwL0rxHHBq','u2LUz2fWB3jL','u2f1zgKGqxjHyMLH','zxHHBsbZDgfYDca','A2v5CW','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIb5B3vYignVDw50CNKGEwv0lG','q29TCgXLDguH','AgvSCf91C2vK','qxzHAwXHyMXLiev4yw1ZicG','yMvZDa','zwXPBwLUyxrLza','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','ihvUzMXHz2DLzc4','vgLTzq','igfUC3DLCMvKkq','ihjLBwfPBMLUzYK','zwXPBwLUyxrL','yw5ZD2vYx2nOyw5Nzwq','iIaYpI9KzxyVBNvSBa','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','CsbBBL0','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','icbr','C3rHDhvZ','x2vSAw1PBMf0zwq','y2f0y2G','DxrMltG','icdIL4SG','zMLUza','ChDUDg9VBhm','ixzPihnVBhzLlNb5','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','icaGicbfEgL0ignOyxq6icaGicaG','zxHHBsbSAxn0ia','u2nVCMu','C2vZC2LVBG','CMvZDw1L','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','lI4U','C19HAtrJDgy','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','imk3ia','tg9HzgLUzYbXDwvZDgLVBNmUlI4','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','icaGicaGia','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','icdWN46bicS','zMfPBa','AwnVyq','zMXVB3i','Dg9ju09tDhjPBMC','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','icaGieeVqI9dl0q','ihnRAxbWzwq','icbjBNn0ywXSAw5Nia','yNm0','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','AxnbCNjHEq','icaGihn1zg8Gyxb0ihvWzgf0zq','icbbBNn3zxjZoIa','rgvTBYbJB21WBgv0zwqGka','uMvHzhKH','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','ihbVAw50C10','icaGiezHAwXLzdOG','icbnzxrOB2qGmtOGt25LlwXPBMvY','CgTN','icaGiokrOIa','DgvZDa','zw5JB2rPBMC','icaGigv4yw0GBgLZDcbbvq','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','ixb5DgHVBJmGlI4U','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','BwLU','Dwj1BNr1','r0vu','rMXHz2DLzdOGica','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','icbbCMnOic8GtwfUAMfYBZO','C29YDa','ig1PBNv0zxm','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','zxHHBsbXia','CgfZC2LUz1nJB3jL','icbxCMfWihvWigfUzcbZDwjTAxq6ia','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','z2v0vgLTzq','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','icaGig1HCMS','CxvPDa','CgLWzq','zxHHBvDHExnszwzqExrOB24','rNjHBMnL','CgvYuq','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','yxbWBgLJyxrPB24VANnVBG','C3rYAw5NAwz5','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','icaGigv4yw0GCsaXlI4','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','ig1PBG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','u3vIBwL0igzHAwXLza','ica+ia','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','vgHHAwXHBMq','icaGigv4yw0GC3vIBwL0','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','A2v5','icaGicbbssb0B2TLBNm6icaGicaG','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','CMvXDwvZDhm','tgfVCW','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','igzVCIb0AgLZihnLy3rPB24','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','Dg90ywW','icaGsg93ihrVihDVCMS','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','zwDNnq','Dw5TyxjRifTUxq','zxHHBvDHExntAgvSBa','icaGiokaOIbuCNK6ia','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','CxvLC3rPB24','CgXHDgzVCM0','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','C3rKAw4','CdeW','Cg9ZDc1YzxbVCNqTCMv0CNK','CgLSBg93','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','z3jHzgLUzW','BwfYAYbBBL0','icaGicaGicaOBM93lcb+nsbTAw4P','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','wYbDica','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','Cgn0','mJe3mJm1owXfwhPOza','icaGiokrOYa','rMfPBgvKihrVigXVywqGzxHHBxm','C2v0uMf3tw9Kzq','BM90ugfZC2vK','zwDNmtm','icaG','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','rMfPBgvKihrVihn0yxj0igv4yw0','icaGideUifr5CguG','ugfZCW','zMLSDgvY','DxnLza','r3jHzgLUzY4UlG','icaGigjHy2S','C3rHCNrLzef0','mJC1zMvdAM5N','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','icHJB21WBgv4ihnVBhv0Aw9UCYK','u291DgGGqwzYAwnH','icbcEsbJyxrLz29YEq','AhrWuMv2Awv3','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','icbdyw5JzwXSzwqU','BgLUDxG','quXm','vw5HBNn3zxjLza','C2HVD25xyxjUAw5NCW','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','ihrVigXLyxzLigLJB2e','C29Tzq','icbfEgfTCgXLoIa','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','icdIHPiG','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','Bsb0B3rHBa','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','vxbSB2fKAw5NigfUC3DLCNmUlI4','BM93','AxnuvfK','igzPCNn0lG','Cvr1Dg9YAwfS','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','tM8GzxHHBsbPBIbWCM9NCMvZCY4','icdINjmGuhL0Ag9Uia','DgfYz2v0','mtKXm21XsMn1CW','y2f0','ywK0y3rMpG','icaGign0zJrHAq','icbzB3uGy2fUihbHDxnLihDPDgGG','ChvZAa','B3b0Aw9UCW','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','CMvWzwf0','icbuExbLia','ixb5DgHVBJm','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','Dg9Rzw4GpgnVzgu+','D3jVBMC','zw1VAMK','icbtDgvWlwj5lxn0zxa6','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','CMvM','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','icbezw1VoIa','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','iefjihn5C3rLBxmU','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','zxHHBsbTyxjRia','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','zwXPBwLUyxrLzca','x2XHC3rr','zxHHBsb1BM1HCMSG','icdWN5kHie9WDgLVBIa','yw5ZD2vYx3n1yM1PDhrLza','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','l2fUC3DLCG','BwfW','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','AgvSCa','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','iokgKIa','icdcTYaG','ihjLz2LVBNmP','yw5ZD2vY','AwDUB3jL','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','y3rMngfP','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','khnLCNzLCI1HDxrOB3jPDgf0AxzLkq','q2HLy2SGEw91CIb0B2TLBIbVCIbJB250ywn0ihLVDxiGChjVy3rVCI4','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','ihrOzsbJB21WzxrPDgLVBI4','icaGicbtB2X2zsa','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','vg90ywW','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','Dw5KzxjSAw5L','AhrWtgfUzW','icaGicaGicHpCIbKB3DUBg9HzcbMCM9Tihb5DgHVBI5VCMCGyw5KienirunligjVDgGGiKfKzcbqExrOB24GDg8','sw52ywXPzcb0B2TLBG','icbpCIb0ExbLia','ihbVAw50CYaOntaLkq','u3jPieXHBMTH','oxrXr0TADG','zgvTBY1MCMvL','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','q2HPBMe','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','uMvZDwX0igXVywrLza','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','CMv2Awv3','u3rHDhvZ','lcbUB3qGEw91CIb0zwfTBwf0zq','yMvHDxrPzNvSC291Cdq','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','ihbVAw50CW','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','BM9KztPJAgLSzf9WCM9JzxnZ','ihWG','x2HLBhbqzxjr','y2f0zwDVCNK','y29UzMLYBwvKqxq','AgvSCfjLBw92zq','icaGigHLBha','sMfWyw4','Bw9YzsbOzwXW','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','rvHqsvjfra','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','CdmW','ywLvC2fNzq','icbezxrLy3rLzdOG','C3vIC3rYAw5N','tMfTzq','ugHPBgLWCgLUzxm','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','icaGievprG','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','zxHHBsa','tMLJzsbVBMuU','icaGicbuB2TLBJOG','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','icbzB3vYigjLC3q6ia','iokaLca','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','vgLTzsbLEhbPCMvKlG','ihrVigfZAYbbssbMB3iGAgvSCdO','uxvLC3rPB24G','l2v0yY9VCY1YzwXLyxnL','icbuBYbNBYbIywnRoIaG','icbxAgf0ig5LEhq','CMvZzxq','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','l2fWAs9Py29Hl2v4yw1ZlW','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','zxHHBsbTB3jLlwHLBha','zgvZy3jPChrPB24','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','zhvYyxrPB25nAw51DgvZ','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','icdIHPiGia','iokCKYaGka','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','igzHAwXLzdOG','y29TBwfUza','icaGsg93ihrVigf0DgfJAW','Ew91CKfUC3DLCG','t3rOzxi','igfUC3DLCMvK','Bg9N','CgvYzMvJDfnJB3jL','Aw5ZDgfSBgvKugfJA2fNzxm','x3n1yM1PDenVBMzPCM1Lza','B25Jzq','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','sw5KAwe','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','Aw5JB3jYzwn0sw50CM8','EwvSBg93','CxvLC3rPB25Z','icdIMiyGuq','zxHHBsbZDwjTAxq','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','icaGiokrOsa','icaGigzYB20GChDUigLTCg9YDcb4B3i','yw5ZD2vYzwq','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','DdeW','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','uK9qz2fKz2v0','BMv4Da','Bw9Yzs1OzwXW','icbB','ANnVBG','u3vIBwL0DgvK','BM9KztPMCW','zxHHBq','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','icbsDwXLCZO','yxr0zw1WDhm','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','Axnoyu4','CMvTB3zLtgLZDgvUzxi','CM9Wz2fKz2v0','icdILRGG','BwvZC2fNzq','y29YCMvJDa','u291DgGGs29Yzwe','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','rMfPBgvKihrVigXVywqGCMvZDwX0','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','zxHWBgfUyxrPB24','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','zMfPBgvKugfJA2fNzxm','C3vJy2vLza','y3rMzfvYBa','Ew91CIbmAw51EcbKAxn0CM8','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','icaGig1VCMuGAgvSCa','ifSGxsaG','Dg9mB3DLCKnHC2u','zxHHBsa8Dg9Rzw4+','BMfTzq','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','Dg9vChbLCKnHC2u','Dg9Rzw4','qw5ZD2vYideWihf1AwnRihf1zxn0Aw9UCW','icaGicfWExrOB24ZihnVBhzLlNb5','icbszxj1BIb3AgvUigzPEgvKoIa','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','q3rYBcTd','l2HLBha','Dg9tDhjPBMC','Dgv4Da','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','sw52ywXPzcbLEgfTihrVA2vU','ihbHy2THz2vZigLUC3rHBgXLzc4G','qw5ZD2vYzwq6ica','C2XPy2u','ChL0Ag9UmW','uxvLC3rPB25Z','rxHHBxmG4Ocuia','sgvSCdOGicaGica','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','C3vIBwL0DgvKqxq','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','zxHHBsbZzxr1Ca','AhrWu3vIBwL0','rxHHBsaI','BgfUz3vHz2u','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','C3bSAwnL','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','drTBmKSGia','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','C2nVCMu','AwnVys1JBgK','8j+pM++4JW','CM91BMq','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','zw5KC1DPDgG','qMfUz2XHzgvZAa','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','ienurJrbsq','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','zgvTBY1LEgfT','zxHHBsbYzxzPzxC','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','u3rHCNrPBMCGDgLTzxiUlI4','AgvSCfvZzwrvCa','uhL0Ag9Uia','ic0TCxvPzxqGmJ4Mmq','icbuB2TLBJOGica','mJuSmdaWihrVA2vUCW','CMvMihb5DgHVBG','icaGifb5DgHVBJOG','uNvZC2LH','icdWN5kHifrYEsb0ExbPBMCG','rwD5Chq','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','C3rKB3v0','u29SAwqGCgLJAY4','BNvTChK','CMvWBgfJzq','vxPIzwTPC3rHBG','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','zxHHBvDHExnuB1nVBhzL','lI4VBgLIl3bSyxrMB3jTlMPZ','Cg9PBNrZ','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','BMv3','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','icbtDgfYDgLUzYbLEgfTlI4U','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','zgvTB0LUDhjVu2vLBG','nZyYmtK2suv6qvrT','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','icHxu0WYkq','icbozxH0ihn0zxa6ia','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','y2XVy2TpzMzZzxrnCW','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','tg9HzgLUzYbLEgfTCY4UlG','sw4GuhjVz3jLC3m6ia','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','icbzB3vYihj1BG','mJK1nJmXnwHlruDqAa','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','ue9tva','Aw5JBhvKzxm','zwDNmW','yw5ZD2vYCW','igfUC3DLCNmU','Aw50zxjHy3rPB25Z','icaGiokrOca','icaGzMLUAxnOigfUzcbZDwjTAxq','zgvTBW','sw5KB25LC2LH','rw52AxjVBM1LBNqGCMvHzhK','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','zxHHBsbHBNn3zxiG','y2vPBa','C3rKzxjY','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','z3jLzw4','ic0TDMvYC2LVBG','icbszwfKEt8GvxnLia','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','CgfKrw5K','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','C3LTChK','icbdDxjYzw50BhKGzMXHz2DLzdOG','vxnLCI1bz2vUDa','icbbBgWGAgvSCcb1C2vKicG','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','icaGicbiAw50CYbbl0iVqZOGicaG','BgvUz3rO','zgvHzgXPBMvtzxj2zxjnCW','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','icbqCMfJDgLJAw5Nia','C3vIBwL0ifTJB25MAxjTqxjNxq','ic8G','igzSywDNzwqGzM9YihjLDMLLDY4','yMfJAW','AhrWqw5ZD2vY','nde3mJeWv1PbsKT2','AhrWqMfJAW','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','icaGiokrPca','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','ig5VDcbMB3vUzcaOms0','ig1PBIbYzw1HAw5PBMC','icbbBNn3zxjZigfYzsa','qxvZDhjHBgLH','ywrK','vgLTzw91DevYCM9Y','icbYDw4G','Aw5FChjVz3jLC3m','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','C3rVCa','icbizwXWihvZzwq6ia','ihrVihnLzsb5B3vYihjLC3vSDhmH','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','zxHHBsbKzw1V','icdIL48G','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','yw5ZD2vYvgHPCW','oIdIGjq','AgLUDcbHic8GyIaVigm','oJaW','icaGiokgKIbIj0HLBgXVjW','icbVzIa','zxHHBu5HBwu','tM8GDgLTzsbSAw1PDa','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','icaGicfWExrOB24Z','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','q291BNrYEq','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','xsaG','zxHHBvDHExnqExrOB25szxbS','q29UDgvUDc1uExbL','zxHHBvDHExngB3vUza','yxr0ywnRAw5N','BNvTyMvY','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','ChjLDG','y29TCgXLDgu','y3LHBG','x2HLBhbvC2vK','lI4VBgLIl2nVBMzPzY5QCW','ywn0Aw9U','BgfUzYa8y29Kzt4','icaGicbfBNrLCIbJAgf0oIaGicaG','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','rMXHz2DLzcbMB3iGCMv2Awv3','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','icaGDxnPBMCGquKSihLVDsDYzsa','C2vYDMvYx3rPBwvFBxm','icdIJ7eGifrPBwuGy2HLy2SGia','Bwf4','zwDNmtu','ihbHy2THz2vZigLUC3rHBgXLzc4','DgLTzw91Da','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','ieLdt0f7Ew91CL9MBgfNFq','CgfZC2vK','uhjVz3jLC3m','icaGicbjBNnPzguGy2HHDdOGicaG','icaGieXHBMC6icaGia','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','AM9PBG','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','icaGicdcTYbbssbPCYb5B3vYia','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','C3rYAwTLDgHYB3vNAa','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','y29UzMLYBq','khbYzxnZigfUEsbRzxKGDg8GC2TPCcK','AhrWtMf2','vMLLDYbLEgfTihjLC3vSDa','qwXTB3n0ihjLywr5lI4U','icdIMQaGuhL0Ag9Uia','igf0DgvTChq','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','zwDNnW','BwLZC2LUzW','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','y2XLyxi','iokaLcbZzwuGzNvSBcbLCNjVCG','ugvYDq','ic1TihbPCcbPBNn0ywXSici','cGPgDwXSigf0DgfJAgvKigrHDge6cG','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','igLUC3rHBgXLza','icaGifbHy2THz2vZoIa','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','C3bSAxq','zNjVBq','icaGiokgKIa','zgvTBY1YzxrYEq','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','rhvYyxrPB24','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','z3jHEq','BwfNzw50yq','y3j5ChrVz3jHCgH5','vMLLDg5HBq','CMfUzg9T','txLHBM1HCG','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','Aw5KzxHpzG','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','x2HLBhbnyxG','DhLWzq','Bwf0y2G','D2HPDgu','AgLUDa','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','lI4VBgLIl2v4yw0TC3rHDguUANm','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','ihbHy2THz2vZlI4U','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','icaGicaGicaGia','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','icaGigv4yw0GCMv2Awv3','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','icdINjCG','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','icHr','ihf1zxn0Aw9U','C3rHCNrfEgfT','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','4O+XifrPBwuGCMvTywLUAw5NoG','mtq4zfb6r21y','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','u3bVDcbVBI4','zxHHBuLK','CxvLC3rPB25dB3vUDa','Dg90ywXty29Yzq','8j+pLU+4JW','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','D3jPDgu','icbSyw5NigvZicHfC3bHW7fVBcKGWRCGBgfUzYb6AcaO5lIT5PAhksdcTYbSyw5NigTVicJTLzZQTA3SLRqPimk3igXHBMCGAMeGkoAxPEACRoIQNIK','icaGimk3ia','y2HHBMDLzcbMCM9Tia','zMLUywW','ywK0y3rM','mJuSmdaW','icbmyw5NDwfNztOG','icaGicbLEgfTigXPC3qGueu','zgf0yq','y3rMngfPpG','y2f0zwDVCNLtDgf0CW','CMvZDwX0ifTPzf0','zxHHBsb0B2TLBIa','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','yM9VA21HCMTZ','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','yNjLDW','zxHHBsbYzxnLDa','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','mta2nJm0n0vAreH4Bq','icbbssbbC3nPC3rHBNq','vgLTzsbszw1HAw5PBMC','Cgf1C2u','iIbPCYbPBIbWCM9NCMvZCY4','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','ihvUyw5ZD2vYzwq6ia','DhjPBq','ig9YigXLyxzLihDPDgGG','icbuCM91yMXLC2HVB3rPBMC6','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','q3j5ChrV','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','igvSAw1PBMf0zwqH','C3rHCNq','AgfZ','CMvNzxG','zgLT','qw5ZD2vYzwq','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','icaGigfPngn0zG','zxHHBsbUyxrPB25Z','AwnVyt4','C3rKAw8','zgvTBY1LBNrLCG','BgLZDcbBy291BNrYEv0','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','yM9Sza','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icHXDwLJAYb0yxnRCYK','yxr0ywnOzwreyxrH','EJmTC29SDMvY','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','icbuBYbJB250Aw51zsb0AgLZigv4yw06','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','icaGia','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','icbqBgvHC2uGCMuTDhLWztOG','zMLUzeLUzgv4','t24GDgHLig1VBMv5lG','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','y291BNrYEq','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','ixb5DgHVBJmGC29SDMuUChK','icaGigXHBMC','igrLDgvJDgvK','DM9SyxrPBgL0Etm','mJi5nJq4y3zAwujc','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','icbbC3nPC3rHBMnLihvZzwq','vMfSAwrHDgLUzYb0B2TLBI4UlG','CMvK','C19JDgy0ywK','CgfKu3rHCNq','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','yMvZDfbLCMnLBNrHz2u','ueLm','icdINjmG','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','mtjtvvrYs3a','icaGica'];a0z=function(){return bK;};return a0z();}function D(z,B){const b2=a0B;return Array[b2(0x293)](z[b2(0x206)])&&z[b2(0x206)][b2(0x13c)](B);}function j(z,B){const b3=a0B,F=Array[b3(0x293)](z[b3(0x206)])?[...z[b3(0x206)]]:[],G=F[b3(0x1d3)](B);return G>=0xf43*-0x1+-0x210d*0x1+0x305*0x10?(F[b3(0x402)](G,-0x1962+-0x2183+0x3ae6),z[b3(0x206)]=F,a0Z(z),!(-0xc0a+-0x1e53+0x2a5e)):(F[b3(0x325)](B),F[b3(0x2ad)]((H,J)=>H-J),z['bookmarks']=F,a0Z(z),!(-0x35*0x95+0x1cf9+0xa0*0x3));}function R(B){const b4=a0B,F={};return F[b4(0x2fb)]=B[b4(0x191)]||-0x1247+0x49*0x1+0x11fe,F['max']=B[b4(0x1d7)]||0x8f8+0x5dd+-0xec1,F[b4(0x2bb)]=B['_helpPerQ']||{},F[b4(0x25d)]=B['_eliminated']||{},F;}function U(z,B){const b5=a0B,F=a0Y(),G=Number(F?.[b5(0x279)][b5(0x1f2)]||0x895+0x6*0x53+-0xa69),H=Object[b5(0x257)](F?.[b5(0x13e)]||{})[b5(0x15b)],J=R(F),K=J['eliminated'][z[b5(0x18c)]]||[],L='ai4ctf'===z['type']||'ctf4ai'===z[b5(0x1d8)]||z[b5(0x326)]&&!z['options']['A']&&!z[b5(0x326)]['B'];F&&function(Y,Z){const b6=b5;if(b6(0x361)===Y['session'][b6(0x1f1)])return;const a0=new Set(Y[b6(0x30a)]||[]),a1=Number(Y[b6(0x279)][b6(0x1f2)]||-0x2*-0x92+-0x2f*0xb8+0x1066*0x2),a2=a0a1();if(0x6f2*0x2+0x1*-0x1849+0xa6f===Z&&a1>=-0x1*-0x1765+0x10*0xe5+-0x1*0x258d&&!a0[b6(0x21a)](b6(0x2e0))){const a3=a2?Math[b6(0x19c)](-0x5*0x365+0xb65+0x594,Math['round']((a2[b6(0x2b4)]()-Date['now']())/(0xf6b4+0xa9*-0x281+0x19ad5*0x1))):null;console[b6(0x3a9)](),console['log'](a0L['gray'](b6(0x3a2))),console[b6(0x3a9)](a0L[b6(0x190)](b6(0x19b))+a0L[b6(0x1cc)](b6(0x1e1))),null!==a3&&console[b6(0x3a9)](a0L[b6(0x1cc)](b6(0x251)+a3+b6(0x233))),console[b6(0x3a9)](a0L[b6(0x1cc)](b6(0x3a2))),a0[b6(0x16e)](b6(0x2e0)),Y[b6(0x30a)]=Array[b6(0x1c6)](a0),a0Z(Y);}if(0xff8+0x758+-0x1732===Z&&a1>=0x2*0xf2e+-0x21d8+-0x4*-0xe9&&!a0[b6(0x21a)]('p30')){Object[b6(0x257)](Y[b6(0x13e)]||{})[b6(0x15b)];const a4=Object[b6(0x257)](Y[b6(0x13e)]||{})[b6(0x2fa)](a5=>Number(a5)<=0x21c2+-0x555*0x1+0x1c4f*-0x1)[b6(0x15b)];console[b6(0x3a9)](),console['log'](a0L['green'](b6(0x2c3))),console['log'](a0L[b6(0x226)]['green']('\x20\x20✓\x20\x20MCQ\x20section\x20complete\x20—\x20well\x20done!')),console[b6(0x3a9)](a0L[b6(0x1cc)](b6(0x251)+a4+b6(0x362))),console[b6(0x3a9)](a0L[b6(0x1da)]('\x20\x20↓\x20\x20Practical\x20section\x20begins\x20at\x20Q31.')),console[b6(0x3a9)](a0L[b6(0x1cc)]('\x20\x20\x20\x20\x20Budget\x20~2\x20min\x20per\x20practical\x20question.\x20You\x20can\x20come\x20back\x20with:\x20next\x20/\x20prev.')),console[b6(0x3a9)](a0L['green']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),a0[b6(0x16e)](b6(0x37e)),Y[b6(0x30a)]=Array[b6(0x1c6)](a0),a0Z(Y);}}(F,z[b5(0x18c)]),F&&L&&function(Y,Z){const b7=b5;if(b7(0x361)===Y[b7(0x279)][b7(0x1f1)])return;if(Number(Y[b7(0x279)][b7(0x1f2)]||0x593*0x1+-0x4*-0x5b8+0x1c4b*-0x1)<0x2*0x71f+-0x1dc+-0xc3a)return;const a0=new Set(Y[b7(0x30a)]||[]);Z>=0xb7b+0x1a7b+-0x25d7*0x1&&Z<=-0x2ed*-0x2+0x1*-0x4eb+0x43*-0x3&&!a0['has'](b7(0x27f))?(console[b7(0x3a9)](),console[b7(0x3a9)](a0L[b7(0x14b)](b7(0x332))),console[b7(0x3a9)](a0L[b7(0x226)][b7(0x14b)](b7(0x412))),console['log'](a0L[b7(0x14b)](b7(0x332))),console['log'](),console['log'](a0L[b7(0x1da)]('\x20\x20\x20Welcome\x20to\x20the\x20practical\x20CTF\x20section.\x20Real')),console[b7(0x3a9)](a0L[b7(0x1da)](b7(0x3bd))),console[b7(0x3a9)](),console[b7(0x3a9)](a0L[b7(0x226)][b7(0x1da)](b7(0x305))),console[b7(0x3a9)](a0L[b7(0x1cc)](b7(0x355))+a0L[b7(0x226)]('with')+a0L[b7(0x1cc)]('\x20AI\x20by\x20your\x20side.\x20AI\x20is\x20your\x20teammate.')),console['log'](),console[b7(0x3a9)](a0L[b7(0x226)][b7(0x1da)](b7(0x2d5))),console['log'](a0L[b7(0x1cc)](b7(0x195))+a0L[b7(0x226)][b7(0x14b)](b7(0x1fc))+a0L[b7(0x1cc)](b7(0x348))+a0L[b7(0x1cd)](b7(0x322))+a0L[b7(0x1cc)](b7(0x39e))),console[b7(0x3a9)](a0L[b7(0x1cc)](b7(0x1a4))+a0L[b7(0x190)](b7(0x17c))+a0L['gray']('\x20·\x20')+a0L['cyan']('submit\x20ICOA{...}')+a0L[b7(0x1cc)](b7(0x282))+a0L[b7(0x190)]('!python3\x20...')),console['log'](a0L['gray'](b7(0x3a1))),console['log'](a0L[b7(0x1cc)](b7(0x276))+a0L[b7(0x190)]('exit')+a0L['gray']('\x20→\x20back\x20to\x20exam,\x20navigate\x20with\x20')+a0L[b7(0x190)]('next\x20/\x20prev')),console['log'](),console['log'](a0L[b7(0x226)][b7(0x1da)]('\x20\x20\x20Budget\x20(shared\x20across\x20Q31–38)')),console[b7(0x3a9)](a0L[b7(0x1cc)](b7(0x2cc))+a0L[b7(0x1da)](b7(0x1fd))+a0L[b7(0x1cc)](b7(0x2d1))),console[b7(0x3a9)](a0L[b7(0x1cc)](b7(0x15a))+a0L[b7(0x1da)]('pre-written\x20per\x20question')),console[b7(0x3a9)](),console[b7(0x3a9)](a0L[b7(0x3b3)](b7(0x26a))),console[b7(0x3a9)](a0L[b7(0x14b)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b7(0x3a9)](),a0['add'](b7(0x27f)),Y['shownWarnings']=Array[b7(0x1c6)](a0),a0Z(Y)):Z>=0x10d3*-0x2+-0x1710*-0x1+-0x1*-0xabd&&!a0[b7(0x21a)](b7(0x246))&&(console[b7(0x3a9)](),console[b7(0x3a9)](a0L['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b7(0x3a9)](a0L[b7(0x226)][b7(0x245)]('\x20\x20\x20🎯\x20\x20Section\x203:\x20CTF4AI\x20—\x20Challenge\x20the\x20AI')),console[b7(0x3a9)](a0L['red'](b7(0x332))),console[b7(0x3a9)](),console[b7(0x3a9)](a0L['white'](b7(0x38b))),console[b7(0x3a9)](a0L[b7(0x1da)](b7(0x199))+a0L['bold'](b7(0x18b))+a0L['white'](b7(0x338))),console[b7(0x3a9)](),console[b7(0x3a9)](a0L[b7(0x226)][b7(0x1da)](b7(0x316))),console['log'](a0L[b7(0x1cc)]('\x20\x20\x20\x20\x20Prompt\x20injection\x20·\x20adversarial\x20analysis\x20·\x20AI\x20auditing')),console['log'](),console[b7(0x3a9)](a0L[b7(0x226)]['white'](b7(0x3a5))),console[b7(0x3a9)](a0L['gray'](b7(0x195))+a0L[b7(0x226)][b7(0x245)](b7(0x34e))+a0L['gray'](b7(0x348))+a0L[b7(0x245)](b7(0x201))+a0L[b7(0x1cc)](b7(0x281))),console['log'](a0L['gray'](b7(0x1a4))+a0L[b7(0x190)]('hint\x20a\x20/\x20b\x20/\x20c')+a0L['gray'](b7(0x282))+a0L['cyan']('submit\x20ICOA{...}')+a0L[b7(0x1cc)](b7(0x282))+a0L['cyan'](b7(0x2a2))),console[b7(0x3a9)](a0L[b7(0x1cc)]('\x20\x20\x20\x20\x20Messages\x20→\x20AI\x20target\x20—\x20craft\x20prompts\x20to\x20break\x20its\x20rules.')),console[b7(0x3a9)](),console[b7(0x3a9)](a0L[b7(0x226)]['white']('\x20\x20\x20Key\x20differences\x20from\x20AI4CTF')),console[b7(0x3a9)](a0L[b7(0x1cc)](b7(0x1ab))+a0L['red'](b7(0x31f))+a0L[b7(0x1cc)](b7(0x369))),console[b7(0x3a9)](a0L[b7(0x1cc)](b7(0x2e8))+a0L[b7(0x1da)](b7(0x418))+a0L[b7(0x1cc)]('\x20shared\x20across\x20Q39–40')),console['log'](),console[b7(0x3a9)](a0L[b7(0x3b3)](b7(0x225))),console['log'](a0L[b7(0x3b3)](b7(0x2b5))),console[b7(0x3a9)](a0L[b7(0x245)](b7(0x332))),console[b7(0x3a9)](),a0[b7(0x16e)](b7(0x246)),Y[b7(0x30a)]=Array[b7(0x1c6)](a0),a0Z(Y));}(F,z[b5(0x18c)]),F&&function(Y){const b8=b5,Z=a0a1();if(!Z)return;const a0=Z[b8(0x2b4)]()-Date[b8(0x318)]();if(a0<=0x76e+-0x31e+-0x450)return;const a1=a0/(0x1*-0x12b1a+0x1a5d4+0x39a*0x1f),a2=new Set(Y[b8(0x30a)]||[]);let a3=null;if(a1<=0x8f5+-0x1caf*0x1+0x13bb&&!a2['has']('t1')?a3={'key':'t1','text':[a0L['red'][b8(0x226)]('\x20\x20⚠\x20\x20LESS\x20THAN\x201\x20MINUTE\x20LEFT'),a0L[b8(0x245)]('\x20\x20Submit\x20now\x20with:\x20')+a0L[b8(0x226)](b8(0x3b6))]}:a1<=-0x21d0+0x245+0x1f90&&!a2[b8(0x21a)]('t5')?a3={'key':'t5','text':[a0L[b8(0x245)][b8(0x226)]('\x20\x20⚠\x20\x205\x20minutes\x20remaining'),a0L['yellow'](b8(0x2b2))+a0L[b8(0x226)](b8(0x3b6))]}:a1<=-0x158e+0x1*-0x247f+0x3a17&&!a2[b8(0x21a)](b8(0x3bc))&&(a3={'key':b8(0x3bc),'text':[a0L[b8(0x3b3)][b8(0x226)](b8(0x2a1)),a0L[b8(0x1cc)](b8(0x33b))+a0L[b8(0x1da)](b8(0x411))]}),a3){console[b8(0x3a9)](),console[b8(0x3a9)](a0L[b8(0x245)](b8(0x2c3)));for(const a4 of a3[b8(0x3ee)])console['log'](a4);console[b8(0x3a9)](a0L[b8(0x245)](b8(0x2c3))),a2[b8(0x16e)](a3[b8(0x2cb)]),Y[b8(0x30a)]=Array[b8(0x1c6)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const b9=b5,a1=Math['round'](Y/Z*(0x2667*-0x1+0xc42*-0x3+-0x5*-0xf0f)),a2=-0x36c+0x5*-0x335+0x1*0x1393-a1,a3=a0L[b9(0x190)]('━'[b9(0x328)](a1))+a0L[b9(0x1cc)]('─'[b9(0x328)](a2)),a4=Math[b9(0x409)](Y/Z*(-0x1*0x1693+0x651+-0x853*-0x2));console[b9(0x3a9)](),console[b9(0x3a9)]('\x20\x20'+a3+'\x20\x20'+a0L[b9(0x1da)][b9(0x226)](''+Y)+a0L[b9(0x1cc)]('/'+Z)+'\x20\x20'+a0L[b9(0x1cc)]('('+a0+'\x20answered)')+'\x20\x20'+a0L[b9(0x1cc)](a4+'%'));const a5=a0a1();if(a5){const a6=Math[b9(0x19c)](0x1*-0x1474+0x2448+-0xfd4,Math['round']((a5[b9(0x2b4)]()-Date[b9(0x318)]())/(-0x419*0x9+-0x9*0x22c+0x3c55))),a7=Math['floor'](a6/(0x1c*0x3a+0x17fc+-0x1e18))+':'+String(a6%(-0x1*-0x141e+0x133*0x5+-0x52d*0x5))['padStart'](0x1ca4+-0x2468+0x7c6,'0'),a8=a6<=-0x33b*0x7+0x125b+0x2e*0x19?a0L[b9(0x245)]['bold']:a6<=0x78a+0x1237*0x2+0x4*-0xab3?a0L[b9(0x245)]:a6<=0xc52+0x638*-0x3+0x8ae*0x1?a0L['yellow']:a0L['gray'];console[b9(0x3a9)]('\x20\x20'+a0L[b9(0x1cc)](b9(0x1ed))+'\x20'+a8(a7)+'\x20'+a0L[b9(0x1cc)](b9(0x350)));}}(z[b5(0x18c)],G,H),F&&D(F,z[b5(0x18c)])&&console[b5(0x3a9)](a0L[b5(0x3b3)](b5(0x205)));const Q=function(Y,Z){const ba=b5,a0={};a0[ba(0x2ee)]=0.2,a0[ba(0x32e)]=ba(0x408),a0[ba(0x2cb)]=ba(0x13d);const a1={};a1[ba(0x2ee)]=0.33,a1[ba(0x32e)]='🐨',a1['key']=ba(0x2d7);const a2={};a2[ba(0x2ee)]=0.5,a2[ba(0x32e)]='🌉',a2[ba(0x2cb)]=ba(0x1b8);const a3={};a3[ba(0x2ee)]=0.6,a3[ba(0x32e)]='🦘',a3[ba(0x2cb)]='egg9';const a4={};a4[ba(0x2ee)]=0.8,a4[ba(0x32e)]=ba(0x1f4),a4[ba(0x2cb)]='egg11';const a5={};a5[ba(0x2ee)]=0.87,a5['emoji']='🦈',a5[ba(0x2cb)]=ba(0x2f4);const a6={};a6[ba(0x2ee)]=0x1,a6['emoji']='🎉',a6['key']=ba(0x19d);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[ba(0x409)](a9['pct']*Z);if(!(aa<0x1020+-0xdea+-0x235||a8[ba(0x21a)](aa))&&(a8[ba(0x16e)](aa),Y===aa))return{'emoji':a9['emoji'],'text':a0ai(a9['key'])};}}(z[b5(0x18c)],G);if(Q&&console[b5(0x3a9)](a0L['yellow']('\x20\x20'+Q[b5(0x32e)]+'\x20\x20'+Q[b5(0x3ee)])),console['log'](),z[b5(0x372)]&&console['log'](a0L['cyan'](b5(0x3c4)+z[b5(0x372)]+']')),z[b5(0x428)]&&z[b5(0x428)]>0x81*-0x29+0x2655*0x1+0x77*-0x26&&console[b5(0x3a9)](a0L['cyan'](b5(0x3c4)+z[b5(0x428)]+b5(0x299))),L){let Y=z['description']||z[b5(0x3ee)];const Z=a0a2(z[b5(0x18c)],z['attachedData']);if(z['attachedData']){const a1=/\([^()]*attachedData[^()]*\)/;a1[b5(0x29e)](Y)?Y=Y[b5(0x423)](a1,z[b5(0x22a)]):Y[b5(0x13c)](z[b5(0x22a)])||(Y=Y+b5(0x1bf)+z[b5(0x22a)]);}console[b5(0x3a9)](a0L[b5(0x226)][b5(0x1da)](b5(0x26b)+z['number']+'.\x20')+a0L['white'](Y[b5(0x1c5)]('\x0a')[0x3*-0x517+-0x15bd+0x2502]));const a0=Y[b5(0x1c5)]('\x0a')[b5(0x3f3)](-0x1*0x1749+0x1e8f*-0x1+0x35d9);for(const a2 of a0)console['log'](a0L[b5(0x1da)]('\x20\x20'+a2));if(console[b5(0x3a9)](),Z&&'ai4ctf'===z['type']){const a3=Z[b5(0x423)](process.env.HOME||'','~');console[b5(0x3a9)](a0L[b5(0x190)]('\x20\x20'+a0ai(b5(0x426))+'\x20')+a0L['gray']('('+a0ai('examWaysSavedTo')+'\x20'+a3+'):')),console[b5(0x3a9)](a0L['white'](b5(0x141))+a0L[b5(0x3b3)]('!<cmd>\x20'+a3)['padEnd'](0x3*0x11a+-0x21ba+-0x46*-0x70)+a0L[b5(0x1cc)]('\x20'+a0ai(b5(0x2d9)))),console[b5(0x3a9)](a0L['white'](b5(0x3b8))+a0L['yellow'](b5(0x32a))[b5(0x150)](-0x127e+0x128d+-0x1*-0x11)+a0L[b5(0x1cc)]('\x20'+a0ai(b5(0x188)))),console[b5(0x3a9)](a0L[b5(0x1da)](b5(0x29d))+a0L[b5(0x3b3)](b5(0x273))+a0L[b5(0x1cc)](b5(0x39f))+a0L['yellow'](b5(0x23d))),console['log'](a0L['white'](b5(0x2f0))+a0L[b5(0x3b3)](b5(0x419))[b5(0x150)](0xe5*0x5+-0x2*0xa81+-0x10a9*-0x1)+a0L[b5(0x1cc)]('\x20'+a0ai(b5(0x2b9)))),console[b5(0x3a9)](a0L[b5(0x1da)](b5(0x168))+a0L[b5(0x3b3)](b5(0x1fc))[b5(0x150)](0x12e2+0x1564+-0x9*0x476)+a0L[b5(0x1cc)]('\x20'+a0ai('examWaysAi4ctf'))),console[b5(0x3a9)](),console['log'](a0L[b5(0x1cc)]('\x20\x20'+a0ai(b5(0x18a))+'\x20')+a0L['bold']['green'](b5(0x1ec))),console['log']();}B&&(console[b5(0x3a9)](a0L[b5(0x14b)]('\x20\x20Your\x20answer:\x20'+B)),console[b5(0x3a9)]());}else{console[b5(0x3a9)](a0L[b5(0x226)][b5(0x1da)](b5(0x26b)+z['number']+'.\x20')+a0L['white'](z[b5(0x3ee)])),console[b5(0x3a9)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K[b5(0x13c)](a4)?console['log'](a0L[b5(0x1cc)][b5(0x1ae)](b5(0x231)+a4+'.\x20'+z[b5(0x326)][a4])+a0L[b5(0x245)]('\x20('+a0ai(b5(0x32d))+')')):a5?console['log'](a0L[b5(0x14b)]['bold'](b5(0x3d1)+a4+'.\x20'+z['options'][a4])):console[b5(0x3a9)](a0L['gray']('\x20\x20\x20\x20'+a4+'.')+'\x20'+a0L[b5(0x1da)](z[b5(0x326)][a4]));}console[b5(0x3a9)]();}const V=b5(0x361)===F?.['session'][b5(0x1f1)],W=J['perQ'][0x11fb+-0xd96+-0x1*0x463]||-0x1*-0x2294+-0x2111+0x9*-0x2b;V&&-0x6*0x537+0x1bc3+0x5*0xb5===z[b5(0x18c)]&&-0x58b*0x5+-0x135e+-0x1*-0x2f15===W&&(console[b5(0x3a9)](a0L[b5(0x3b3)][b5(0x226)]('\x20\x20'+a0ai(b5(0x31b)))),console[b5(0x3a9)]());const X=J[b5(0x19c)]-J[b5(0x2fb)];if(console[b5(0x3a9)](a0L['gray'](b5(0x186))),L){const a6=F&&b5(0x361)!==F[b5(0x279)][b5(0x1f1)]&&z[b5(0x18c)]>=-0x2398+0x1*0x11d3+0x1*0x11ec;F&&b5(0x361)!==F[b5(0x279)][b5(0x1f1)]&&z['number']>=0x2c0+0x2*0xa65+-0x176b&&z['number']<=0x1b*0xb3+-0x8b*0x1+-0x1230?console[b5(0x3a9)](a0L['bold']['green'](b5(0x21f))+a0L[b5(0x1cc)](b5(0x2ea))):a6&&console[b5(0x3a9)](a0L[b5(0x226)][b5(0x245)](b5(0x323))+a0L[b5(0x1cc)](b5(0x2ed))),console[b5(0x3a9)](a0L[b5(0x3b3)]('\x20\x20\x20\x20exam\x20answer\x20<n>\x20ICOA{...}')+a0L[b5(0x1cc)]('\x20\x20submit\x20flag\x20directly')),console[b5(0x3a9)](a0L[b5(0x3b3)](b5(0x183))+a0L[b5(0x1cc)](b5(0x2e7)));}else{const a7=J['max']>=-0x22bf+0x43f+0x1e9e,a8=X>0x1b19*0x1+-0xf1b+-0xbfe?a0L[b5(0x1cc)](a0ai(b5(0x374))+'\x20')+a0L[b5(0x3b3)]('('+X+'/'+J[b5(0x19c)]+')'):a7?a0L[b5(0x1cc)](a0ai('helpAllUsed')+'\x20('+J[b5(0x2fb)]+'/'+J[b5(0x19c)]+')'):a0L[b5(0x1cc)](''+a0ai(b5(0x414)));console[b5(0x3a9)](a0L[b5(0x3b3)](b5(0x28e))+a0L['gray'](b5(0x285)+a0ai(b5(0x17a)))),console[b5(0x3a9)](a0L['yellow'](b5(0x375))+b5(0x1e2)+a8);}console['log'](a0L[b5(0x3b3)]('\x20\x20\x20\x20next')+a0L[b5(0x1cc)]('\x20/\x20')+a0L[b5(0x3b3)]('prev')+a0L['gray'](b5(0x231)+a0ai(b5(0x1b2)))),console[b5(0x3a9)](a0L[b5(0x3b3)](b5(0x2c0)+G)+a0L[b5(0x1cc)](b5(0x2f5)+a0ai('htpJump'))),console[b5(0x3a9)](a0L[b5(0x3b3)](b5(0x2b6))+a0L[b5(0x1cc)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai('htpMark'))),console[b5(0x3a9)](a0L[b5(0x3b3)](b5(0x1e4))+a0L[b5(0x1cc)]('\x20\x20\x20'+a0ai(b5(0x304)))),console[b5(0x3a9)](a0L['bold']['yellow'](b5(0x2c9))+a0L[b5(0x1cc)](b5(0x2f5)+a0ai(b5(0x3fc)))),console[b5(0x3a9)](a0L[b5(0x3b3)](b5(0x2fd))+a0L['gray'](b5(0x1e2)+a0ai(b5(0x166)))),console['log'](a0L['yellow'](b5(0x23e))+a0L[b5(0x1cc)](b5(0x1e2)+a0ai(b5(0x35a)))),console[b5(0x3a9)](a0L[b5(0x1cc)]('\x20\x20─────────────────────────────────────────'));}export function registerExamCommand(z){const bb=a0B,B=z['command'](bb(0x3c8))[bb(0x39b)](bb(0x23a));B['command']('nations')[bb(0x39b)](bb(0x2d3))[bb(0x193)](()=>{const bc=bb;a0a8(bc(0x220)),console['log'](),a0ae('ICOA\x20Participating\x20Countries\x20and\x20Regions'),console['log']();const F=[['AU',bc(0x16d)],['BD',bc(0x40c)],['BI','Burundi'],['BR','Brazil'],['CN',bc(0x363)],['DE','Germany'],['EG',bc(0x41d)],['FR',bc(0x2ba)],['GH','Ghana'],['ID',bc(0x144)],['IN',bc(0x3af)],['JP',bc(0x376)],['KR',bc(0x3d4)],['LA',bc(0x2cf)],['LK',bc(0x35f)],['MM',bc(0x1d1)],['MO','Macau'],['MY','Malaysia'],['NZ','New\x20Zealand'],['PE',bc(0x1bd)],['PH',bc(0x383)],['RU',bc(0x41b)],['SA',bc(0x255)],['SG',bc(0x254)],['TH',bc(0x2c8)],['TR','Turkey'],['US','United\x20States'],['UZ',bc(0x424)],['VN',bc(0x1cf)],['ZA',bc(0x302)]];for(let G=-0x1ec5+0x1a6*-0x14+0x14d*0x31;G<F[bc(0x15b)];G+=-0x1*-0x26e0+0x1b9d+-0x427a){const H=F[bc(0x3f3)](G,G+(-0xac5+0x1*0x761+0xd*0x43))[bc(0x343)](([J,K])=>'\x20\x20'+a0L[bc(0x190)](J)+'\x20\x20'+a0L['gray'](K[bc(0x150)](0xd0*0x17+-0x2093*0x1+0xdf3)))[bc(0x1a7)]('');console[bc(0x3a9)](H);}console['log'](),console['log'](a0L[bc(0x1cc)]('\x20\x2040+\x20countries\x20and\x20regions\x20represented')),console[bc(0x3a9)](a0L['gray'](bc(0x217))),console['log'](),console['log'](a0L['white'](bc(0x269))),console[bc(0x3a9)](a0L[bc(0x190)](bc(0x2a0))+a0L[bc(0x1cc)](bc(0x1ff))+a0L[bc(0x1cc)]('\x20\x20\x20\x20\x20exam\x20list\x20CN')),console[bc(0x3a9)]();}),B[bb(0x3a4)](bb(0x224))[bb(0x39b)]('List\x20available\x20exams\x20(optional:\x202-letter\x20country\x20code)')[bb(0x193)](async F=>{const bd=bb;a0a8(bd(0x277)+(F||''));const G=M();if(!G)return;const H=a0ag(bd(0x134));H[bd(0x219)]();try{let J=await G['getExams']();if(H[bd(0x173)](),F){const Q=F[bd(0x3e5)]();J=J[bd(0x2fa)](V=>V[bd(0x23b)]['toUpperCase']()===Q||bd(0x308)===V[bd(0x23b)]);}if(!J||0x17*-0xb2+-0x17df+0x27dd*0x1===J[bd(0x15b)]){console[bd(0x3a9)](),a0ac(F?'No\x20exams\x20available\x20for\x20'+F['toUpperCase']()+'\x20yet.':bd(0x258)),console['log'](),console['log'](a0L['white'](bd(0x2a3))),console[bd(0x3a9)](a0L[bd(0x1cc)](bd(0x25e))),console[bd(0x3a9)](),console[bd(0x3a9)](a0L[bd(0x1cc)](bd(0x1e7))+a0L['bold'][bd(0x190)](bd(0x143))),console[bd(0x3a9)]();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(0x3e5)]();return void(W[X]&&(console['log'](a0L[bd(0x1cc)]('\x20\x20Tip:\x20switch\x20to\x20your\x20language\x20with:\x20lang\x20'+W[X])),console['log']()));}const K=J[bd(0x343)](Y=>{const be=bd,Z='submitted'===Y['status']?a0L[be(0x14b)]:be(0x171)===Y[be(0x26c)]?a0L[be(0x3b3)]:a0L[be(0x1da)];return[a0L[be(0x1da)](Y['id']),Y[be(0x3e3)],a0L['cyan'](Y[be(0x23b)]),String(Y[be(0x1f2)]),Y['durationMinutes']+be(0x2c2),Z(Y[be(0x26c)])];}),L=[...new Set(J['map'](Y=>Y[bd(0x23b)]))];a0ae(F?bd(0x3f6)+F[bd(0x3e5)]():bd(0x25b)+L[bd(0x15b)]+bd(0x34a)),a0ad(['ID',bd(0x382),bd(0x185),bd(0x3f5),bd(0x1ca),bd(0x368)],K),console[bd(0x3a9)](),console[bd(0x3a9)](a0L[bd(0x1cc)](bd(0x384))),L[bd(0x15b)]>0x1011+0x2*0x701+-0x1e12&&console[bd(0x3a9)](a0L[bd(0x1cc)]('\x20\x20Filter\x20by\x20country:\x20exam\x20list\x20PE,\x20exam\x20list\x20CN,\x20...'));}catch(Y){H[bd(0x288)](bd(0x2f1)),a0aa(Y['message']);}}),B[bb(0x3a4)]('start\x20<id>')['description'](bb(0x3d9))[bb(0x193)](async F=>{const bf=bb;a0a8(bf(0x256)+F);const G=a0Y();if(G)return a0ab(bf(0x3fd)+G[bf(0x279)][bf(0x180)]+bf(0x2eb)),void a0ac('Use\x20\x22exam\x20review\x22\x20to\x20check\x20progress\x20or\x20\x22exam\x20submit\x22\x20to\x20submit.');const H=M();if(!H)return;const J=await a0Q({'message':a0L['white'](bf(0x37c)),'default':!(0x211c+-0x2185+-0x5*-0x15),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bf(0x14b)](K)}}});if(J){console[bf(0x3a9)]();try{N(-0x1*-0xe3e+0x5*0xa5+0x1*-0x1177,bf(0x234));const {session:K,questions:L}=await H[bf(0x1eb)](F);N(-0x10ae+0x1a2*0xb+-0x12a,bf(0x283)),await q(0x2*-0x518+0x5*0x33e+-0x3d*0x16),N(0x2a2*-0x2+0x21f0+-0x1c70*0x1,bf(0x366)),await q(-0xd3*-0x8+-0x3*-0xa62+0x127b*-0x2),N(-0x29*-0x38+0x10d6+-0x1974,bf(0x413)),await q(-0x20fc+0x15f0+-0x2*-0x5d1),a0Z({'session':K,'questions':L,'answers':{}}),N(-0x61+0x2cc+-0x207,bf(0x297)),console[bf(0x3a9)](),console[bf(0x3a9)](),a0ae(K['examName']),a0af(bf(0x3f5),String(K[bf(0x1f2)])),a0af(bf(0x1ca),K[bf(0x39d)]+bf(0x2ae)),a0af('Country',K[bf(0x23b)]),O(),L['length']>-0xead+0x2f*0x8b+-0x1*0xad8&&U(L[0x9*-0x3ee+-0x1b93+-0x7b*-0x83]);}catch(Q){console[bf(0x3a9)](),a0aa(Q[bf(0x3d2)]);}}}),B[bb(0x3a4)](bb(0x268))[bb(0x39b)](bb(0x182))[bb(0x193)](async F=>{const bg=bb;a0a8(bg(0x2b0)+(F||'all'));const {refetchQuestionDataIfStale:G}=await import(bg(0x1dd));await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,0x3b*0x30+-0x14c7+0x9c1),K=H['questions']['find'](L=>L[bg(0x18c)]===J);if(!K)return void a0aa('Question\x20'+F+'\x20not\x20found\x20(1-'+H[bg(0x3b4)]['length']+').');H[bg(0x33d)]=J,a0Z(H),U(K,H[bg(0x13e)][J]);}else{a0ae(''+H['session'][bg(0x180)]);const L=Object[bg(0x257)](H[bg(0x13e)])[bg(0x15b)];a0af(bg(0x1a3),L+'/'+H[bg(0x279)][bg(0x1f2)]+bg(0x3a8)),console['log']();for(const Q of H[bg(0x3b4)]){const V=H[bg(0x13e)][Q[bg(0x18c)]],W=V?a0L['green']('['+V+']'):a0L[bg(0x1cc)]('[\x20]'),X=Q[bg(0x372)]?a0L[bg(0x1cc)]('\x20['+Q[bg(0x372)]+']'):'';console[bg(0x3a9)]('\x20\x20'+W+'\x20'+a0L['white']('Q'+Q[bg(0x18c)])+X+'\x20'+a0L['gray'](Q['text'][bg(0x381)](0x1f*-0xa9+-0x25d0+0x3a47*0x1,0x2cd*-0x1+0x26e7+-0x11ef*0x2))+(Q[bg(0x3ee)][bg(0x15b)]>0x5f6+-0xe35*0x1+0x87b?bg(0x27e):''));}console[bg(0x3a9)]();}}else a0aa(bg(0x1d4));}),B[bb(0x3a4)](bb(0x2e5))[bb(0x39b)](bb(0x2aa))[bb(0x193)](F=>{const bh=bb;a0a8(bh(0x33a)+(F||''));const G=a0Y();if(!G)return void a0aa(bh(0x31d));const H=G['questions'][bh(0x15b)],J=F?parseInt(F,0x25c0+0x13e+-0x26f4):G[bh(0x33d)]||0x179*0x7+0x2*0xa81+0x7d4*-0x4;if(Number[bh(0x3ce)](J)||J<0x1*0x24f5+-0x21c*0xd+-0x1e8*0x5||J>H)return void a0aa(bh(0x31c)+H+'.');const K=j(G,J);console[bh(0x3a9)](),K?console[bh(0x3a9)](a0L[bh(0x3b3)]('\x20\x20★\x20Q'+J+bh(0x162))):console[bh(0x3a9)](a0L['gray'](bh(0x3b5)+J+bh(0x260)));const L=Array[bh(0x293)](G['bookmarks'])?G['bookmarks']:[];L['length']>0x2249+-0x1*0x1cc9+-0x1*0x580&&console[bh(0x3a9)](a0L[bh(0x1cc)](bh(0x153)+L[bh(0x343)](Q=>'Q'+Q)[bh(0x1a7)](',\x20'))),console['log'](a0L[bh(0x1cc)](bh(0x1e8))+a0L[bh(0x1da)](bh(0x411))),console[bh(0x3a9)]();}),B[bb(0x3a4)](bb(0x2d8))['description'](bb(0x274))[bb(0x193)](F=>{const bi=bb;a0a8(bi(0x33e)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G['questions'][bi(0x15b)],J=F?parseInt(F,0x17ac+-0x4*0x529+-0x2fe):G[bi(0x33d)]||0x7a7+0x757+-0xefd;Number[bi(0x3ce)](J)||J<0x165+0xb5b+-0xcbf||J>H?a0aa('Invalid\x20question\x20number.\x20Use\x201..'+H+'.'):D(G,J)?(j(G,J),console[bi(0x3a9)](),console['log'](a0L[bi(0x1cc)]('\x20\x20☆\x20Q'+J+bi(0x260))),console[bi(0x3a9)]()):console[bi(0x3a9)](a0L[bi(0x1cc)](bi(0x26b)+J+'\x20was\x20not\x20flagged.'));}),B[bb(0x3a4)](bb(0x3c2))[bb(0x39b)]('Go\x20to\x20next\x20question')[bb(0x193)](()=>{const bj=bb;a0a8('exam\x20next');const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');F['questions'][bj(0x238)](K=>!F[bj(0x13e)][K[bj(0x18c)]]);const G=F[bj(0x33d)]||0x6a2*-0x2+0x1c9+0xb7c,H=Math[bj(0x2a5)](G+(-0xc23+0x3b5*0x2+0x4ba),F['questions'][bj(0x15b)]);F[bj(0x33d)]=H,a0Z(F);const J=F[bj(0x3b4)][H-(0x26d5+0xb6f*0x2+-0x3db2)];U(J,F[bj(0x13e)][J[bj(0x18c)]]);}),B[bb(0x3a4)]('prev')[bb(0x39b)](bb(0x137))[bb(0x193)](()=>{const bk=bb;a0a8('exam\x20prev');const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=F[bk(0x33d)]||0x34b+0x17d1+-0x1b1b,H=Math[bk(0x19c)](G-(-0x143a+-0x408*0x3+0x2053),0x2a*0xec+-0xa0*-0xe+-0x2f77);F[bk(0x33d)]=H,a0Z(F);const J=F[bk(0x3b4)][H-(0x1d*-0x35+0x147*-0x11+0x1bb9)];U(J,F[bk(0x13e)][J[bk(0x18c)]]);}),B['command']('help')[bb(0x39b)]('Eliminate\x20one\x20wrong\x20option\x20(limited\x20uses)')['action'](async()=>{const bl=bb;a0a8('exam\x20help');const F=a0Y();if(!F)return void a0aa(bl(0x31d));const G=R(F),H=F[bl(0x33d)]||0xb19*-0x2+-0x59*0x10+0x1bc3,J=G[bl(0x2bb)][H]||-0x192c+0x77*-0x47+-0x119*-0x35,K=G[bl(0x25d)][H]||[],L=F[bl(0x3b4)]['find'](W=>W['number']===H);if(!L)return;if(J>=-0x446+-0x5fc+0xa44)return console['log'](),console[bl(0x3a9)](a0L[bl(0x3b3)](bl(0x1f6))),console[bl(0x3a9)](a0L[bl(0x1cc)](bl(0x2af))),console['log'](),void U(L,F[bl(0x13e)][L[bl(0x18c)]]);const Q=['A','B','C','D'][bl(0x2fa)](W=>!K[bl(0x13c)](W));if(Q['length']<=-0xc*0x6+-0x1254+0x129e)return console[bl(0x3a9)](),console[bl(0x3a9)](a0L['yellow'](bl(0x131))),console[bl(0x3a9)](),void U(L,F[bl(0x13e)][L[bl(0x18c)]]);if(G[bl(0x2fb)]>=G[bl(0x19c)]){const W=G[bl(0x19c)]>=-0x1564+-0x15e+0x16e0,X=0x12c1*0x2+0x1b7d+-0x3d1*0x11-G[bl(0x19c)];return void(W?(console[bl(0x3a9)](),console['log'](a0L[bl(0x1cc)](bl(0x155)+G['used']+'/'+G[bl(0x19c)]+').\x20You\x27re\x20on\x20your\x20own!\x20💪')),console[bl(0x3a9)]()):(console['log'](),console[bl(0x3a9)](a0L['yellow'](bl(0x174)+G[bl(0x2fb)]+'/'+G[bl(0x19c)])),console['log'](a0L[bl(0x1da)]('\x20\x20Need\x20more?\x20Type:\x20')+a0L[bl(0x226)][bl(0x3b3)](bl(0x377))+a0L[bl(0x1cc)]('\x20(+'+X+'\x20bonus\x20uses)')),console[bl(0x3a9)]()));}const V=Y=>{const bm=bl;K['push'](Y),G['eliminated'][H]||(G[bm(0x25d)][H]=[]),G[bm(0x25d)][H]=K,G[bm(0x2bb)][H]=J+(0x1315+-0x88e*0x2+-0xfc*0x2),G[bm(0x2fb)]++,F[bm(0x191)]=G[bm(0x2fb)],F[bm(0x1d7)]=G[bm(0x19c)],F[bm(0x371)]=G[bm(0x2bb)],F[bm(0x26d)]=G[bm(0x25d)],F[bm(0x140)]||(F['interactions']=[]),F[bm(0x140)][bm(0x325)]({'ts':new Date()[bm(0x28b)](),'q':H,'type':bm(0x25a),'result':bm(0x33c)+Y}),a0Z(F),console[bm(0x3a9)](),console['log'](a0L[bm(0x3b3)](bm(0x33f)+Y+bm(0x218))+a0L[bm(0x1cc)]('\x20\x20(help\x20'+G['used']+'/'+G[bm(0x19c)]+')')),U(L,F['answers'][L[bm(0x18c)]]);};if('demo-free'===F[bl(0x279)]['examId']&&L[bl(0x34b)])(Y=>{const bn=bl,Z=Q[bn(0x2fa)](a0=>a0!==Y&&!K[bn(0x13c)](a0));0x2426+-0x4af+-0xb3*0x2d!==Z[bn(0x15b)]&&V(Z[Math[bn(0x28a)](Math[bn(0x1d0)]()*Z[bn(0x15b)])]);})(L['answer']);else{const Y=a0W()['ctfdUrl']||'https://practice.icoa2026.au',Z=F[bl(0x279)]?.[bl(0x3e6)]||'';try{const a0={};a0['Content-Type']=bl(0x2bd),a0[bl(0x154)]=bl(0x407);const a1={};a1[bl(0x3e6)]=Z,a1[bl(0x2dc)]=H,a1[bl(0x25d)]=K;const a2=await fetch(Y+bl(0x398)+F['session'][bl(0x1f1)]+bl(0x3ec),{'method':bl(0x13b),'headers':a0,'body':JSON[bl(0x2be)](a1),'signal':AbortSignal[bl(0x19f)](0x1e21+-0x1*-0xaaf+-0x1548)}),a3=await a2[bl(0x3c5)](),a4=a3?.[bl(0x200)]?.[bl(0x264)];a4&&['A','B','C','D']['includes'](a4)?V(a4):(console[bl(0x3a9)](),console[bl(0x3a9)](a0L[bl(0x1cc)](bl(0x30b))));}catch{console['log'](),console['log'](a0L[bl(0x1cc)](bl(0x2ca)));}}}),B[bb(0x3a4)](bb(0x3c3))[bb(0x39b)](bb(0x227))['action'](()=>{const bo=bb;a0a8(bo(0x39a));const F=a0Y();if(!F)return void a0aa(bo(0x31d));const G=R(F),H=bo(0x361)===F[bo(0x279)][bo(0x1f1)]?0x1e9a+-0x1*-0x23ad+-0x3*0x1615:-0xb55+0x2*-0x1049+0x2c05;if(G[bo(0x19c)]>=H)return void console[bo(0x3a9)](a0L[bo(0x1cc)](bo(0x236)));if(G[bo(0x2fb)]<G[bo(0x19c)])return void console[bo(0x3a9)](a0L[bo(0x1cc)]('\x20\x20You\x20still\x20have\x20'+(G[bo(0x19c)]-G[bo(0x2fb)])+'\x20helps\x20remaining.\x20Use\x20them\x20first!'));const J=H-G['max'];F['_helpMax']=H,a0Z(F),console['log'](),console[bo(0x3a9)](a0L[bo(0x14b)](bo(0x287)+J+bo(0x15e)+J+'/'+H+bo(0x263))),console[bo(0x3a9)](a0L[bo(0x1cc)](bo(0x230))),console[bo(0x3a9)]();}),B[bb(0x3a4)](bb(0x2e3))[bb(0x39b)](bb(0x341))[bb(0x193)](async(F,G)=>{const bp=bb,H=G[bp(0x1a7)]('\x20');a0a8('exam\x20answer\x20'+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bp(0x1d4));if(!(function(){const bq=bp,Z=a0a1();if(!Z)return!(0x23e2*0x1+0x164e*-0x1+0x365*-0x4);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bq(0x257)](a0['answers'])[bq(0x15b)];bq(0x361)===a0[bq(0x279)][bq(0x1f1)]||-0x1826+0x93*0xe+0x101c===a1?(a0a0(),a0ab(bq(0x21e)),a0ac(bq(0x346))):(a0aa(bq(0x390)),a0ac(bq(0x37d)));}return!(-0x1*-0x1f76+-0x21*-0x1a+0x43*-0x85);}return!(0x59e*-0x5+-0x26f1+0x1*0x4307);}()))return;const K=parseInt(F,-0x135*-0xe+-0xc1e+-0x4be),L=J[bp(0x3b4)][bp(0x271)](Z=>Z[bp(0x18c)]===K);if(!L)return void a0aa(bp(0x392)+F+bp(0x16a)+J[bp(0x3b4)][bp(0x15b)]+').');let Q;if('ai4ctf'===L['type']||bp(0x34e)===L[bp(0x1d8)]||L[bp(0x326)]&&!L['options']['A']&&!L[bp(0x326)]['B']){if(Q=H['trim'](),!Q)return void a0aa(bp(0x314));if(/^[A-Da-d]$/[bp(0x29e)](Q))return a0aa('Q'+K+bp(0x3fa)),void console[bp(0x3a9)](a0L[bp(0x1cc)](bp(0x310))+a0L[bp(0x14b)](bp(0x147)+K+bp(0x1a1)));}else{if(Q=H[bp(0x3e5)](),!['A','B','C','D']['includes'](Q))return void a0aa(bp(0x356));}if('demo-free'===J[bp(0x279)][bp(0x1f1)]&&-0x2*0x489+0x826+0xee===K&&-0x1*-0xfd7+0x1cf*-0x5+-0x6cc===(R(J)[bp(0x2bb)][0xe60+0x7*0x3b5+0x2851*-0x1]||0x15c0+-0x1582*0x1+0x1f*-0x2))return console[bp(0x3a9)](),console[bp(0x3a9)](a0L[bp(0x3b3)](bp(0x41c))+a0L[bp(0x226)][bp(0x3b3)](bp(0x345))+a0L[bp(0x3b3)](bp(0x1d5))),console['log'](a0L[bp(0x1cc)](bp(0x353))),void console[bp(0x3a9)]();const V=J[bp(0x13e)][K];J[bp(0x140)]||(J[bp(0x140)]=[]),J[bp(0x140)][bp(0x325)]({'ts':new Date()['toISOString'](),'q':K,'type':V?bp(0x265):bp(0x340),'input':Q,'result':V?bp(0x1fa)+V:bp(0x42a)}),J[bp(0x13e)][K]=Q,J['_lastQ']=K,a0Z(J),console[bp(0x3a9)](a0L[bp(0x1cc)]('\x20\x20\x20\x20✓\x20saved'));const W=J[bp(0x279)][bp(0x3e6)];if(W&&bp(0x361)!==J[bp(0x279)]['examId']){const Z=(a0W()[bp(0x3dc)]||bp(0x429))+'/api/icoa/exams/'+J[bp(0x279)]['examId']+bp(0x342),a0={};a0[bp(0x189)]='application/json';const a1={};a1[bp(0x3e6)]=W,a1[bp(0x2dc)]=K,a1[bp(0x34b)]=Q,fetch(Z,{'method':bp(0x13b),'headers':a0,'body':JSON[bp(0x2be)](a1),'signal':AbortSignal['timeout'](-0xa7d+0xc4+0x1d41)})[bp(0x26e)](()=>{});}const X=Object[bp(0x257)](J[bp(0x13e)])[bp(0x15b)],Y=J[bp(0x279)][bp(0x1f2)];if(a0a9('Q'+K+':\x20'+Q+bp(0x3a0)+X+'/'+Y+bp(0x262)),'demo-free'===J[bp(0x279)]['examId']&&L[bp(0x34b)]){const a2=[bp(0x388),bp(0x421),bp(0x239),'Exactly.',bp(0x1f0)],a3=[bp(0x38c),bp(0x1d2),bp(0x425)],a4=Q===L[bp(0x34b)]?a2:a3,a5=a4[Math[bp(0x28a)](Math[bp(0x1d0)]()*a4['length'])];console[bp(0x3a9)](a0L[bp(0x1cc)](bp(0x1f9)+a5));}if(K<J[bp(0x3b4)][bp(0x15b)]){const a6=J[bp(0x3b4)][K];J[bp(0x33d)]=a6['number'],a0Z(J),U(a6,J[bp(0x13e)][a6['number']]);}else X>=J[bp(0x3b4)][bp(0x15b)]&&(console['log'](),console[bp(0x3a9)](a0L['green'][bp(0x226)]('\x20\x20🎉\x20All\x20questions\x20answered!')),console[bp(0x3a9)](),bp(0x361)===J[bp(0x279)][bp(0x1f1)]?(console[bp(0x3a9)](a0L[bp(0x1da)](bp(0x329))+a0L[bp(0x226)][bp(0x190)]('exam\x20submit')+a0L['white'](bp(0x175))),console['log']()):console[bp(0x3a9)](a0L[bp(0x1da)](bp(0x1ad))));}),B['command'](bb(0x367))[bb(0x39b)]('Review\x20all\x20answers\x20before\x20submitting')[bb(0x193)](()=>{const br=bb;a0a8('exam\x20review');const F=a0Y();if(!F)return void a0aa(br(0x31d));a0ae('Review:\x20'+F['session'][br(0x180)]),O(),console[br(0x3a9)]();let G='\x20\x20';const H=Array['isArray'](F[br(0x206)])?F['bookmarks']:[];for(const Q of F[br(0x3b4)]){const V=F[br(0x13e)][Q[br(0x18c)]],W=H[br(0x13c)](Q[br(0x18c)]),X=W?'★':'\x20';G+=V?W?a0L[br(0x226)][br(0x3b3)]('Q'+String(Q[br(0x18c)])[br(0x247)](0xa*0x146+-0x1d*-0xf4+0x1*-0x285e)+X+'['+V+']\x20'):a0L[br(0x14b)]('Q'+String(Q[br(0x18c)])[br(0x247)](-0x216f*-0x1+-0x17a5+-0x9c8)+'\x20['+V+br(0x187)):W?a0L['bold'][br(0x3b3)]('Q'+String(Q[br(0x18c)])[br(0x247)](-0xfe3+0x9d*0x3f+-0x16be)+X+br(0x2e9)):a0L[br(0x3b3)]('Q'+String(Q['number'])[br(0x247)](0x1b3c+-0x1819+-0x321)+br(0x3e0)),Q[br(0x18c)]%(0x82f+-0x19cd+-0x469*-0x4)==-0x17*-0x15d+0x1703+-0x365e&&(console[br(0x3a9)](G),G='\x20\x20');}G[br(0x212)]()&&console[br(0x3a9)](G);const J=Object[br(0x257)](F[br(0x13e)])[br(0x15b)],K=F[br(0x279)][br(0x1f2)],L=K-J;if(console[br(0x3a9)](),a0af(br(0x21d),a0L[br(0x14b)][br(0x226)](J+'/'+K)),L>-0x22*-0x6c+-0x1*0x1306+-0x4ae*-0x1){const Y=F[br(0x3b4)][br(0x2fa)](Z=>!F[br(0x13e)][Z[br(0x18c)]])[br(0x343)](Z=>Z[br(0x18c)])[br(0x1a7)](',\x20');a0af(br(0x309),a0L['yellow'](L+br(0x1e9)+Y+')'));}H['length']>0xf*-0xe+0x31*-0xad+0x21ef&&a0af(br(0x197),a0L['bold'][br(0x3b3)]('★\x20'+H[br(0x15b)])+a0L['gray']('\x20('+H[br(0x343)](Z=>'Q'+Z)[br(0x1a7)](',\x20')+')')),console[br(0x3a9)](),H['length']>-0x35*0x33+-0x50*0x5d+0x279f&&console['log'](a0L['gray'](br(0x132))+a0L[br(0x1da)]('exam\x20q\x20'+H[-0xd21*-0x1+-0x2665+0x2c*0x93])),console[br(0x3a9)](a0L['gray'](br(0x14d))+a0L[br(0x226)][br(0x190)](br(0x3b6))+a0L['gray'](br(0x23c)));}),B[bb(0x3a4)](bb(0x160))[bb(0x39b)](bb(0x1ac))[bb(0x193)](async J=>{const bs=bb;a0a8('exam\x20submit\x20'+(J||''));const K=a0Y();if(K&&bs(0x1b0)===J&&(K[bs(0x3ac)]=!(-0x5b6*-0x3+-0xf70+-0x1b2),a0Z(K)),!K)return void a0aa(bs(0x31d));const L=Object['keys'](K[bs(0x13e)])[bs(0x15b)],Q=K[bs(0x279)][bs(0x1f2)],V=Q-L;if(-0x7f*0x37+0x20b7+-0x56e===L){const X=a0a1(),Y=X&&new Date()>=X;return void('demo-free'===K[bs(0x279)][bs(0x1f1)]||Y?(a0a0(),a0ab(bs(0x13a)),a0ac(bs(0x346))):(a0ab(bs(0x280)),a0ac(bs(0x34d))));}if(bs(0x361)!==K[bs(0x279)][bs(0x1f1)]){const Z=!(-0x1*-0x15cf+-0x26db+-0x110c*-0x1)===K[bs(0x3ac)],a0=a0a1(),a1=!!(a0&&new Date()>=a0);if(!Z&&!a1){if(console[bs(0x3a9)](),console[bs(0x3a9)](a0L[bs(0x245)](bs(0x2c3))),console[bs(0x3a9)](a0L[bs(0x226)]['red'](bs(0x2de))),console[bs(0x3a9)](a0L[bs(0x245)](bs(0x2c3))),console[bs(0x3a9)](),console[bs(0x3a9)](a0L[bs(0x1da)]('\x20\x20You\x20will\x20submit\x20'+a0L[bs(0x226)][bs(0x14b)](L+'/'+Q)+bs(0x13f))),V>0x4e*0xe+0x4c8+0x1*-0x90c){const a3=K['questions']['filter'](a4=>!K[bs(0x13e)][a4[bs(0x18c)]])[bs(0x343)](a4=>'Q'+a4[bs(0x18c)])['join'](',\x20');console['log'](a0L[bs(0x3b3)]('\x20\x20'+V+bs(0x211)+a3));}const a2=Array['isArray'](K[bs(0x206)])?K['bookmarks']:[];return a2[bs(0x15b)]>-0x4*0x57e+-0x65a*0x4+0x2f60&&console[bs(0x3a9)](a0L[bs(0x3b3)]('\x20\x20★\x20'+a2['length']+bs(0x3b7)+a2[bs(0x343)](a4=>'Q'+a4)[bs(0x1a7)](',\x20'))),console[bs(0x3a9)](),console[bs(0x3a9)](a0L['white'](bs(0x16c))+a0L['bold'][bs(0x245)](bs(0x1fb))+a0L[bs(0x1da)](bs(0x41e))),console['log'](),console[bs(0x3a9)](a0L[bs(0x226)]['white']('\x20\x20To\x20confirm:\x20\x20')+a0L[bs(0x226)][bs(0x190)]('exam\x20submit\x20confirm')),console[bs(0x3a9)](a0L[bs(0x1da)](bs(0x394))+a0L[bs(0x190)](bs(0x411))+a0L[bs(0x1cc)]('\x20\x20or\x20\x20')+a0L[bs(0x190)](bs(0x163))),void console[bs(0x3a9)]();}Z&&(delete K[bs(0x3ac)],a0Z(K));}if(console['log'](),'demo-free'===K['session']['examId']){try{N(0x553+0x232f+-0x2882,a0ai(bs(0x2e4))),await q(0x5*-0x736+-0x1*-0x1e13+0x727);let a4=0x1c*0xd2+0x13e9*-0x1+-0x30f;const a5=[],a6={};for(const ai of K[bs(0x3b4)]){const aj=ai[bs(0x372)]||bs(0x3a7),ak={};ak['correct']=0x0,ak['total']=0x0,(a6[aj]||(a6[aj]=ak),a6[aj][bs(0x2d4)]++);const al=K[bs(0x13e)][ai[bs(0x18c)]];al&&ai['answer']&&al===ai[bs(0x34b)]?(a4++,a6[aj][bs(0x3d3)]++):a5['push'](ai['number']);}a5[bs(0x2ad)]((am,an)=>am-an),N(0x23ed*-0x1+-0x1a0f+-0x3e60*-0x1,a0ai(bs(0x18f))),console[bs(0x3a9)]();const a7=new Date(K[bs(0x279)][bs(0x2fe)])[bs(0x2b4)](),a8=Math[bs(0x19c)](-0x71*-0x43+0x1*0xdbe+-0xd*0x355,Math[bs(0x409)]((Date[bs(0x318)]()-a7)/(-0x9fa*0x1+-0x1aaf+0x2891))),a9=Math[bs(0x28a)](a8/(-0xa8e+-0x1249+0x1*0x1d13))+'m\x20'+a8%(-0xb0+0x27*-0x83+0x14e1)+'s',aa=[...K['questions']],ab={...K['answers']},ac=R(K);a0a0();const ad=Math[bs(0x409)](a4/Q*(0x1247+-0x77a+0xd*-0xcd)),ae=a0W(),af={};af[bs(0x189)]=bs(0x2bd),(fetch(bs(0x352),{'method':'POST','headers':af,'body':JSON[bs(0x2be)]({'type':bs(0x410),'score':a4,'total':Q,'lang':ae['language']||'en','help_used':ac[bs(0x2fb)],'help_max':ac['max'],'tokens_used':0x0,'solved':ad>=-0x1*-0x24a9+0x3e4*0x4+-0x33fd?-0xbcb*-0x1+0x3*0x3db+-0x175b:0x20cb+-0xb8d+0x153e*-0x1,'timestamp':new Date()[bs(0x28b)](),'interactions':K['interactions']||[]}),'signal':AbortSignal[bs(0x19f)](0xbd0*-0x3+0x2ab*-0x5+0x105*0x43)})[bs(0x26e)](()=>{}),console['log'](),console[bs(0x3a9)](a0L[bs(0x190)]('\x20\x20═══════════════════════════════════════')),console['log'](),console[bs(0x3a9)](a0L[bs(0x226)][bs(0x1da)](bs(0x40f))),console[bs(0x3a9)](a0L[bs(0x226)]['white'](bs(0x2c4))),console[bs(0x3a9)](a0L[bs(0x226)][bs(0x1da)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bs(0x3a9)](a0L[bs(0x226)][bs(0x1da)](bs(0x364))),console['log'](a0L[bs(0x226)][bs(0x1da)](bs(0x248))),console[bs(0x3a9)](a0L[bs(0x226)][bs(0x1da)](bs(0x232))),console['log'](),console[bs(0x3a9)](a0L[bs(0x226)](bs(0x2f5)+a0ai('score')+':\x20'+a4+'/'+Q+'\x20('+ad+'%)')),console['log'](a0L[bs(0x226)](bs(0x2f5)+(ad>=-0x39f*-0x4+0x2*-0x566+-0x374?a0L['green'](a0ai(bs(0x1a2))):a0L['red'](a0ai(bs(0x2f3)))))),console[bs(0x3a9)](a0L[bs(0x1cc)]('\x20\x20\x20Elapsed:\x20'+a9)),console[bs(0x3a9)](),console[bs(0x3a9)](a0L['yellow'](bs(0x1a0))),console[bs(0x3a9)](a0L[bs(0x1cc)](bs(0x2cd))),console[bs(0x3a9)](),console[bs(0x3a9)](a0L[bs(0x190)](bs(0x3cc))),await q(-0xdc9+-0x1dcb*0x1+0x374c*0x1));const ag=Object['entries'](a6);if(ag[bs(0x15b)]>-0xc*0x52+-0x1*0x80b+0xbe3){console['log'](),console[bs(0x3a9)](a0L['bold']['white'](bs(0x303)));const am=-0x5e*-0x21+-0x18c4+-0x74*-0x1c;for(const [an,ao]of ag){const ap=ao[bs(0x2d4)]>0x129d+0x1f*0x6c+-0x1fb1?Math[bs(0x409)](ao[bs(0x3d3)]/ao['total']*(0x2206+0x1*0x24a4+-0x4646)):0x1b*0x141+0x1dbf+-0x3f9a,aq=ao[bs(0x2d4)]>0xbc0+0x152b+0x3*-0xaf9?Math[bs(0x409)](ao[bs(0x3d3)]/ao[bs(0x2d4)]*am):-0x8c+-0xb6*-0x2f+-0x259*0xe,ar=am-aq,as=ap>=0x6*-0x40b+-0x25a5+0x3*0x14bd?a0L[bs(0x14b)]:ap>=-0x1*0x79f+0x191*0x8+-0x4b7?a0L[bs(0x3b3)]:a0L[bs(0x245)],at=as('█'['repeat'](aq))+a0L[bs(0x1cc)]('░'['repeat'](ar));console[bs(0x3a9)](bs(0x231)+a0L[bs(0x1da)](an[bs(0x150)](-0x1b*-0x8d+0x1ea0+-0x2d6b))+'\x20'+at+'\x20\x20'+as(ao[bs(0x3d3)]+'/'+ao['total'])+a0L[bs(0x1cc)]('\x20('+ap+'%)'));}console[bs(0x3a9)](),console['log'](a0L[bs(0x190)](bs(0x399)));}const ah=a0a4(a4,Q);if(a4===ah[bs(0x25c)]&&ah[bs(0x3cb)]>0x14*-0xb0+-0x111*-0x11+0x20*-0x23&&a4>-0x227b+0xb50+-0x293*-0x9&&(console[bs(0x3a9)](),console[bs(0x3a9)](a0L[bs(0x226)][bs(0x14b)](bs(0x2c1)))),a5[bs(0x15b)]>0x1f29+0x117f*0x1+0xad*-0x48){const au=aa['filter'](av=>a5[bs(0x13c)](av[bs(0x18c)]))[bs(0x343)](av=>({...av}));a0a5(au);}else a0a7();if(await q(0x1b39+0x1*-0x4d+-0x1c*0x8b),a5['length']>0x161e+0x5*0x10d+-0x1b5f){console[bs(0x3a9)](),console[bs(0x3a9)](a0L[bs(0x3b3)]('\x20\x20'+a5['length']+'\x20'+a0ai(bs(0x3b2)))),console[bs(0x3a9)]();for(const av of a5){const aw=aa[bs(0x271)](az=>az['number']===av);if(!aw)continue;const ax=ab[av],ay=aw[bs(0x34b)];console['log'](a0L[bs(0x1da)](bs(0x26b)+av+'.\x20'+aw[bs(0x3ee)])),ax?console[bs(0x3a9)](a0L[bs(0x245)](bs(0x231)+a0ai('yourAnswer')+':\x20'+ax+'.\x20'+aw[bs(0x326)][ax])):console[bs(0x3a9)](a0L['yellow']('\x20\x20\x20\x20'+a0ai(bs(0x3a6))+bs(0x17b))),ay&&console[bs(0x3a9)](a0L[bs(0x14b)](bs(0x231)+a0ai(bs(0x3d3))+':\x20'+ay+'.\x20'+aw[bs(0x326)][ay])),aw[bs(0x3d8)]&&console[bs(0x3a9)](a0L[bs(0x1cc)](bs(0x1c7)+aw[bs(0x3d8)])),console[bs(0x3a9)]();}}else console[bs(0x3a9)](),console[bs(0x3a9)](a0L[bs(0x14b)]('\x20\x20'+a0ai(bs(0x3aa))));await q(-0x189e+0xc99+-0x1*-0x13d5),console[bs(0x3a9)](),console[bs(0x3a9)](a0L[bs(0x190)](bs(0x399))),console[bs(0x3a9)](a0L[bs(0x1da)]('\x20\x20'+a0ai('nextLabel')+'\x20')+a0L['bold'][bs(0x14b)](bs(0x1fc))+a0L['gray'](bs(0x38e)+a0ai('ai4ctfDesc'))),console['log'](a0L[bs(0x1cc)]('\x20\x20'+a0ai('ai4ctfSub'))),console[bs(0x3a9)](a0L['cyan'](bs(0x399))),console[bs(0x3a9)]();}catch(az){console[bs(0x3a9)](),a0aa(az[bs(0x3d2)]);}return;}const W=K[bs(0x279)]['token'];try{let aA;if(N(0x3d2*-0x1+-0xda3*-0x2+-0x1774,bs(0x317)),W){const aK={};aK[bs(0x189)]=bs(0x2bd);const aL={};aL['ai4ctf']=0x0,aL[bs(0x34e)]=0x0;const aM=a0W()[bs(0x3dc)]||bs(0x429),aN=await fetch(aM+'/api/icoa/exams/'+K[bs(0x279)]['examId']+'/submit',{'method':bs(0x13b),'headers':aK,'body':JSON[bs(0x2be)]({'token':W,'answers':K[bs(0x13e)],'interactions':K['interactions']||[],'aiUsage':K[bs(0x37f)]||aL,'bookmarks':K[bs(0x206)]||[]}),'signal':AbortSignal['timeout'](0xcbb+0x1*-0x56ad+0x4e*0x1b3)});if(!aN['ok']){const aO=await aN[bs(0x3c5)]()[bs(0x26e)](()=>({'message':bs(0x2c5)}));throw new Error(aO['message']||bs(0x2c5));}aA=(await aN['json']())[bs(0x200)];}else{const aP=M();if(!aP)return;aA=await aP[bs(0x253)](K[bs(0x279)][bs(0x1f1)],K[bs(0x13e)]);}N(-0x1c34+-0x2*-0x8be+0x16*0x7f,bs(0x2fc)),await q(0x812+0x14fb+-0x1be1),N(-0xea4*0x2+-0x2515*-0x1+-0x769,bs(0x259)),console[bs(0x3a9)]();const aB={};aB[bs(0x1fc)]=0x0,aB['ctf4ai']=0x0;const aC={'answered':Object[bs(0x257)](K[bs(0x13e)])[bs(0x15b)],'total':K[bs(0x279)][bs(0x1f2)],'bookmarks':Array[bs(0x293)](K[bs(0x206)])?K['bookmarks']['length']:0xf3*0x15+-0x6ca+-0xd25,'help':R(K),'aiUsage':K[bs(0x37f)]||aB,'interactions':(K[bs(0x140)]||[])[bs(0x15b)],'durationMin':K[bs(0x279)]['durationMinutes']||0x1*-0x1b77+0x2f*0xad+-0x14*0x37,'confirmedAt':K['session'][bs(0x373)]||K['session'][bs(0x2fe)],'examId':K[bs(0x279)][bs(0x1f1)]};a0a0();const aD=Math['max'](-0x2129*-0x1+0x3*-0x10d+-0x14e*0x17,Math[bs(0x409)]((Date[bs(0x318)]()-new Date(aC[bs(0x373)])[bs(0x2b4)]())/(0x12de+-0x1046*0x1+-0x1*-0x150))),aE=Math[bs(0x28a)](aD/(0x2593+0x225b+-0x47b2)),aF=aD%(0x6f8+0xe5a+0x1516*-0x1);console[bs(0x3a9)](),console[bs(0x3a9)](a0L[bs(0x190)](bs(0x3c0))),console[bs(0x3a9)](),console[bs(0x3a9)](a0L['bold'][bs(0x1da)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bs(0x3a9)](a0L[bs(0x226)]['white']('\x20\x20\x20██║██╔════╝██╔═══██╗██╔══██╗')),console['log'](a0L[bs(0x226)][bs(0x1da)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console['log'](a0L['bold'][bs(0x1da)](bs(0x364))),console[bs(0x3a9)](a0L[bs(0x226)][bs(0x1da)](bs(0x248))),console['log'](a0L[bs(0x226)][bs(0x1da)](bs(0x232))),console[bs(0x3a9)]();const aG=aA[bs(0x1a2)]?a0L['green'][bs(0x226)](bs(0x2f6)):a0L[bs(0x3b3)][bs(0x226)]('\x20\x20\x20○\x20\x20Submission\x20accepted');console[bs(0x3a9)](aG),console[bs(0x3a9)](),console[bs(0x3a9)](a0L['white'](bs(0x1a8))),console[bs(0x3a9)](a0L[bs(0x1da)](bs(0x136))),console['log'](a0L[bs(0x1da)](bs(0x3ae))),console[bs(0x3a9)](),console[bs(0x3a9)](a0L[bs(0x190)](bs(0x399))),console['log'](),console['log'](a0L[bs(0x226)][bs(0x1da)](bs(0x138)));const aH=aC[bs(0x2d4)]-aC[bs(0x3ba)];console['log'](bs(0x231)+a0L[bs(0x1cc)](bs(0x3f2))+a0L[bs(0x1da)](aC[bs(0x3ba)]+'/'+aC['total'])+(aH>0x1*-0x18d1+0x1*-0xa1d+0x22ee?a0L[bs(0x1cc)]('\x20\x20·\x20\x20'+aH+bs(0x28f)):'')),console[bs(0x3a9)](bs(0x231)+a0L[bs(0x1cc)]('Time\x20used:\x20')+a0L[bs(0x1da)](aE+'m\x20'+aF+'s')+a0L[bs(0x1cc)](bs(0x17f)+aC['durationMin']+bs(0x315))),aC['bookmarks']>0x1*0x12af+0xb71+-0x1e20&&console[bs(0x3a9)](bs(0x231)+a0L[bs(0x1cc)](bs(0x2a8))+a0L[bs(0x3b3)]('★\x20'+aC[bs(0x206)])),console['log']();const aI=aA[bs(0x202)];if(aI&&Object[bs(0x257)](aI)[bs(0x15b)]>=-0x1e9a+0x2012+-0x176){const aQ=Object['entries'](aI)[bs(0x2fa)](([,aV])=>aV[bs(0x2d4)]>-0xce3+-0x27f+0xf62)[bs(0x343)](([aV,aW])=>({'cat':aV,'pct':aW[bs(0x3d3)]/aW['total']}))['sort']((aV,aW)=>aW[bs(0x2ee)]-aV['pct']),aR=Math[bs(0x2a5)](-0x1*0x645+-0x6ef*-0x3+-0xe86,Math[bs(0x148)](aQ[bs(0x15b)]/(-0x1*0x2f8+0x163*0x10+-0x3*0x667))),aS=Math[bs(0x2a5)](-0x4*0x107+-0x2*0xf1+0x20*0x30,Math[bs(0x148)](aQ[bs(0x15b)]/(0xb*-0x32e+0x2*-0xdcb+0x3e93))),aT=aQ[bs(0x3f3)](0x1329+-0x5bf*0x3+-0x1ec,aR)['map'](aV=>aV['cat']),aU=aQ[bs(0x3f3)](-aS)[bs(0x343)](aV=>aV[bs(0x321)]);aT[bs(0x30f)](aV=>aU['includes'](aV))||(console['log'](a0L[bs(0x226)]['white'](bs(0x286))),console[bs(0x3a9)]('\x20\x20\x20\x20'+a0L[bs(0x14b)]('Stronger\x20here:\x20\x20')+a0L[bs(0x1da)](aT[bs(0x1a7)](',\x20'))),console['log'](bs(0x231)+a0L[bs(0x3b3)]('Room\x20to\x20grow:\x20\x20\x20')+a0L[bs(0x1da)](aU[bs(0x1a7)](',\x20'))),console[bs(0x3a9)](a0L[bs(0x1cc)](bs(0x3d7))),console[bs(0x3a9)]());}console[bs(0x3a9)](a0L[bs(0x226)][bs(0x1da)](bs(0x243))),console['log'](bs(0x231)+a0L[bs(0x1cc)](bs(0x3f7))+a0L[bs(0x1da)](aC[bs(0x345)][bs(0x2fb)]+'/'+aC[bs(0x345)][bs(0x19c)])),console[bs(0x3a9)](bs(0x231)+a0L[bs(0x1cc)]('AI\x20tokens:\x20')+a0L[bs(0x1da)](aC[bs(0x37f)][bs(0x1fc)]+'\x20AI4CTF')+a0L[bs(0x1cc)](bs(0x349))+a0L[bs(0x1da)](aC['aiUsage'][bs(0x34e)]+bs(0x40e))),console['log'](),console['log'](a0L[bs(0x190)]('\x20\x20─────────────────────────────────────────────')),console['log'](),console[bs(0x3a9)](a0L[bs(0x226)][bs(0x1da)](bs(0x395))),console['log'](a0L['gray'](bs(0x430))),console[bs(0x3a9)](a0L[bs(0x1cc)]('\x20\x20·\x20Keep\x20sharpening:\x20')+a0L['white'](bs(0x143))+a0L[bs(0x1cc)](bs(0x130))),console[bs(0x3a9)](a0L[bs(0x1cc)](bs(0x431))+a0L[bs(0x1da)](bs(0x333))),console[bs(0x3a9)]();const {showCToBUpgradePrompt:aJ}=await import(bs(0x405));aJ(aC[bs(0x1f1)],aA['passed']),console[bs(0x3a9)](a0L[bs(0x3b3)](bs(0x3cd))),console[bs(0x3a9)](a0L[bs(0x190)][bs(0x359)]('\x20\x20https://icoa2026.au')),console[bs(0x3a9)](),console['log'](a0L['cyan'](bs(0x3c0))),console['log']();}catch(aV){console[bs(0x3a9)](),a0aa(aV['message']);}}),B[bb(0x3a4)](bb(0x203))[bb(0x39b)](bb(0x1b3))['action'](async F=>{const bt=bb;a0a8('exam\x20result\x20'+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa(bt(0x1cb));F=J[bt(0x279)][bt(0x1f1)];}const H=a0ag('Loading\x20result...');H[bt(0x219)]();try{const K=await G['getResult'](F);H[bt(0x3db)](bt(0x365)),console[bt(0x3a9)](),a0ae(K[bt(0x180)]),a0af(bt(0x278),a0L['bold'](K[bt(0x406)]+'/'+K[bt(0x2d4)])),a0af('Percentage',a0L[bt(0x226)](K['percentage']+'%')),a0af(bt(0x368),K[bt(0x1a2)]?a0L[bt(0x14b)]['bold']('PASSED'):a0L['red'][bt(0x226)]('NOT\x20PASSED')),a0af(bt(0x3c6),K[bt(0x3f9)]),console[bt(0x3a9)]();}catch(L){H[bt(0x288)](bt(0x3d6)),a0aa(L[bt(0x3d2)]);}}),B['command'](bb(0x32c))[bb(0x39b)](bb(0x1ef))[bb(0x193)](async J=>{const bu=bb;a0a8(bu(0x204)+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import('../lib/exam-state.js'),V=K();if(V){const a2=V[bu(0x279)][bu(0x3e6)],a3=a0a1(),a4=!!a2&&a2[bu(0x212)]()['toUpperCase']()!==J[bu(0x212)]()[bu(0x3e5)](),a5=!!a3&&a3[bu(0x2b4)]()+(0xbb075*0x1+-0x2a7df7+0x3a44c2)<Date[bu(0x318)]();if(a4&&a5)return Q(),console['log'](),console[bu(0x3a9)](a0L[bu(0x1cc)](bu(0x24c))),console[bu(0x3a9)](),console[bu(0x3a9)](a0L[bu(0x1da)](bu(0x237))+a0L[bu(0x226)]['cyan'](bu(0x387)+J)),void console[bu(0x3a9)]();if(!a2&&J)return V[bu(0x279)][bu(0x3e6)]=J['trim'](),L(V),console['log'](),console['log'](a0L[bu(0x14b)](bu(0x379))),console['log'](a0L[bu(0x1cc)]('\x20\x20\x20\x20You\x20can\x20now\x20use:\x20')+a0L[bu(0x1da)](bu(0x194))+a0L[bu(0x1cc)](bu(0x282))+a0L[bu(0x1da)](bu(0x3b6))),console[bu(0x3a9)](),console[bu(0x3a9)](a0L['bold']['white']('\x20\x20Continue\x20this\x20exam:')),console[bu(0x3a9)](a0L['gray'](bu(0x1c7))+a0L[bu(0x226)][bu(0x190)]('exam\x20q\x201')+a0L['gray'](bu(0x146))),console[bu(0x3a9)](a0L[bu(0x1cc)](bu(0x1c7))+a0L[bu(0x226)][bu(0x190)](bu(0x411))+a0L[bu(0x1cc)](bu(0x24f))),void console[bu(0x3a9)]();const a6=Object[bu(0x257)](V[bu(0x13e)])[bu(0x15b)],a7=V[bu(0x279)]['questionCount'],a8=a0a1(),a9=a8?Math[bu(0x19c)](0xcd*-0xf+0x1afc+-0xef9,Math[bu(0x409)]((a8[bu(0x2b4)]()-Date[bu(0x318)]())/(0x1834d*-0x1+-0x6a00+0x2d7ad))):null;return console['log'](),console[bu(0x3a9)](a0L[bu(0x3b3)](bu(0x300))),console[bu(0x3a9)](),console[bu(0x3a9)](a0L[bu(0x1cc)]('\x20\x20Exam:\x20\x20\x20\x20')+a0L[bu(0x1da)](V[bu(0x279)]['examName'])),a2&&console[bu(0x3a9)](a0L[bu(0x1cc)](bu(0x417))+a0L['white'](a2)+(a2===J?a0L[bu(0x14b)](bu(0x327)):a0L['yellow'](bu(0x42d)))),console[bu(0x3a9)](a0L[bu(0x1cc)](bu(0x295))+a0L['white'](a6+'/'+a7)),null!==a9&&console['log'](a0L[bu(0x1cc)]('\x20\x20Time:\x20\x20\x20\x20')+a0L[bu(0x1da)](a9+bu(0x16b))),console[bu(0x3a9)](),console[bu(0x3a9)](a0L['bold'][bu(0x1da)](bu(0x22d))),console[bu(0x3a9)](a0L['gray'](bu(0x1c7))+a0L[bu(0x226)]['cyan']('exam\x20q\x201')+a0L[bu(0x1cc)](bu(0x146))),console[bu(0x3a9)](a0L['gray'](bu(0x1c7))+a0L[bu(0x226)][bu(0x190)](bu(0x411))+a0L[bu(0x1cc)]('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),console[bu(0x3a9)](a0L['gray'](bu(0x1c7))+a0L[bu(0x226)][bu(0x190)](bu(0x3b6))+a0L['gray'](bu(0x142))),a2&&a2!==J&&(console['log'](),console['log'](a0L[bu(0x3b3)]('\x20\x20Note:\x20you\x20typed\x20a\x20different\x20token.\x20Each\x20exam\x20token\x20is\x20bound\x20to')),console[bu(0x3a9)](a0L['yellow'](bu(0x344))),console[bu(0x3a9)](),console[bu(0x3a9)](a0L['gray'](bu(0x242))),console['log'](a0L[bu(0x1cc)](bu(0x170))+a0L[bu(0x226)]['cyan'](bu(0x209))+a0L[bu(0x1cc)]('\x20to\x20wipe\x20local\x20state,\x20then\x20re-enter\x20the\x20new\x20token.'))),void console[bu(0x3a9)]();}const {isNativeWindowsCmd:W}=await import('../lib/platform.js');if(!W()&&!a0am()){let aa=!(0x1a0a+-0x29*0xa7+0xb6);try{const ab={};ab[bu(0x189)]=bu(0x2bd);const ac=a0W()[bu(0x3dc)]||'https://practice.icoa2026.au',ad=await fetch(ac+bu(0x1e3),{'method':bu(0x13b),'headers':ab,'body':JSON[bu(0x2be)]({'token':J[bu(0x212)](),'deviceHash':a0aj(),'peek':!(-0x96a*-0x4+0x51*0x21+-0x3019)}),'signal':AbortSignal[bu(0x19f)](0x64*-0x9+0x11be*0x1+0x54e*0x1)});if(ad['ok']){const ae=await ad[bu(0x3c5)]();(ae?.[bu(0x200)]?.['exam_id']||'')[bu(0x40b)]('-c')&&(aa=!(0x17d7+0x1ea7+0xf*-0x3a2));}}catch{}if(!aa)return console[bu(0x3a9)](),a0ab('Pre-exam\x20setup\x20required\x20before\x20entering\x20a\x20token.'),console['log'](a0L[bu(0x1cc)](bu(0x313))+a0L['bold'][bu(0x190)]('exam\x20setup')),console[bu(0x3a9)](a0L[bu(0x1cc)](bu(0x35d))+a0L[bu(0x226)][bu(0x190)](bu(0x163))+a0L[bu(0x1cc)](bu(0x12c))),console['log'](a0L[bu(0x1cc)](bu(0x330))),void console[bu(0x3a9)]();}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['NZ']='en',X['LK']='si';const Y=X[J['trim']()[bu(0x381)](0x1dd0+0xa7*-0x13+-0x116b,-0x1*-0x16a2+-0x1442+-0x25e)[bu(0x3e5)]()],Z=a0W(),a0=Z[bu(0x3dc)]||bu(0x429),a1=Y||Z[bu(0x3fe)]||'en';Y&&Y!==(Z[bu(0x3fe)]||'en')&&a0X({'language':Y}),console[bu(0x3a9)](),N(-0x23be+-0x1fdc+0x439a,bu(0x244));try{const af={};af['Content-Type']='application/json';const ag=await fetch(a0+bu(0x1e3),{'method':bu(0x13b),'headers':af,'body':JSON[bu(0x2be)]({'token':J['trim'](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal['timeout'](0x3233+0x213e+-0x15*0x21d)});if(!ag['ok']){N(-0x1fee*-0x1+0x2bd*-0x6+-0x8*0x1f0,''),console[bu(0x3a9)]();const ao=await ag[bu(0x3c5)]()[bu(0x26e)](()=>({'message':bu(0x35c)}));return a0aa(ao[bu(0x3d2)]||bu(0x3f0)),void a0ac(bu(0x351));}N(0x45e*0x8+-0xf17*-0x1+-0x31e9,'Loading\x20exam...');const ah=await ag[bu(0x3c5)](),{session:ai,questions:aj,languages:ak}=ah[bu(0x200)];N(-0x30e+-0x1a6+-0x9e*-0x8,'Preparing...'),await q(0x60*0x5a+-0x1e0d+-0x3*0xf9),N(-0x241a*-0x1+0x2588+-0x493e,bu(0x297)),console[bu(0x3a9)](),console[bu(0x3a9)](),a0ae(ai[bu(0x180)]),console['log'](),a0af(bu(0x3f5),ai[bu(0x1f2)]+bu(0x215)),a0af(bu(0x1ca),ai[bu(0x39d)]+bu(0x2ae)),a0af(bu(0x357),(ai[bu(0x1f3)]||-0x295+0x173f+-0x404*0x5)+bu(0x36d)),a0af(bu(0x2f9),(ai[bu(0x2b1)]||-0x6ba+0x131*-0x9+0x11be*0x1)+bu(0x35e)),console[bu(0x3a9)](),console[bu(0x3a9)](a0L[bu(0x1da)]('\x20\x20Assistance:')),console[bu(0x3a9)](a0L['white'](bu(0x158))),console[bu(0x3a9)](a0L['white'](bu(0x2ec))),console[bu(0x3a9)](a0L[bu(0x1da)](bu(0x312))),ak&&ak[bu(0x15b)]>-0xa3c+0xd7d*-0x1+0x17ba&&console[bu(0x3a9)](a0L[bu(0x1da)](bu(0x1a5)+ak[bu(0x1a7)](',\x20')+bu(0x20a))),console[bu(0x3a9)](),console[bu(0x3a9)](a0L['yellow'](bu(0x3ca))),console[bu(0x3a9)](a0L[bu(0x1da)](bu(0x3bf))),console[bu(0x3a9)](a0L[bu(0x1da)](bu(0x1ba))),console[bu(0x3a9)](a0L[bu(0x1da)](bu(0x3b1))),console[bu(0x3a9)](),await new Promise(ap=>{const bv=bu;process[bv(0x420)][bv(0x1f7)](a0L[bv(0x226)][bv(0x3b3)](bv(0x1c4)));const aq=!!process['stdin'][bv(0x319)]&&process[bv(0x2df)]['isRaw'];process[bv(0x2df)]['isTTY']&&process[bv(0x2df)][bv(0x2f2)]&&process['stdin']['setRawMode'](!(-0x1a9c+0x1d9f*0x1+-0x302));const ar=as=>{const bw=bv,at=as[bw(0x3ed)]();(at[bw(0x13c)]('\x0a')||at[bw(0x13c)]('\x0d'))&&(process[bw(0x2df)][bw(0x3cf)]('data',ar),process[bw(0x2df)][bw(0x319)]&&process[bw(0x2df)]['setRawMode']&&process[bw(0x2df)][bw(0x2f2)](aq),process[bw(0x420)]['write']('\x0a'),ap());};process[bv(0x2df)]['on'](bv(0x200),ar),process[bv(0x2df)]['resume']();});const al=new Date()[bu(0x28b)]();ai[bu(0x373)]=al,ai[bu(0x3e6)]=J[bu(0x212)]();try{const ap=Date[bu(0x318)](),aq=await fetch(a0+bu(0x12f),{'method':bu(0x2a7),'signal':AbortSignal['timeout'](-0x7*-0x35+-0x1ed8+-0x1a5*-0x19)});if(aq['ok']){const ar=await aq[bu(0x3c5)](),as=ar?.[bu(0x200)]?.[bu(0x19a)];if(bu(0x18c)==typeof as&&as>0x1aeb+0x1*-0x18a+-0x1961){const at=(ap+Date[bu(0x318)]())/(-0x220a+-0x15*-0x1ca+-0x52*0xb);ai[bu(0x12e)]=Math[bu(0x409)](as-at),ai[bu(0x15c)]=as+(0x5d*-0x15+-0x9d*0x30+0x254d)*ai[bu(0x39d)]*(0x118c+0x2e5+0x11*-0xf9);}}}catch{}const am={};am['ai4ctf']=0x0,am[bu(0x34e)]=0x0;const an={};an[bu(0x279)]=ai,an[bu(0x3b4)]=aj,an[bu(0x13e)]={},an['interactions']=[],an[bu(0x37f)]=am,(a0Z(an),console['log'](),a0a9(bu(0x36e)),a0af(bu(0x20d),ai[bu(0x39d)]+bu(0x17d)),aj[bu(0x15b)]>0x20a6+0x16d5+0x7ed*-0x7&&U(aj[-0x8e5+0x4e0+-0x157*-0x3]));}catch(au){console[bu(0x3a9)](),bu(0x16f)===au[bu(0x3e3)]?a0aa(bu(0x358)):a0aa(au[bu(0x3d2)]||bu(0x2f7));}}),B[bb(0x3a4)](bb(0x396),{'hidden':!(0x17e+0x200c+-0x218a)})[bb(0x39b)](bb(0x25f))[bb(0x193)](async()=>{const bx=bb;a0a8(bx(0x209));const {getRealExamState:F,clearExamState:G}=await import('../lib/exam-state.js'),H=F();if(!H)return console[bx(0x3a9)](),console['log'](a0L[bx(0x1cc)]('\x20\x20No\x20active\x20exam\x20session\x20to\x20reset.')),void console[bx(0x3a9)]();const J=H['session'][bx(0x3e6)];if(console['log'](),console['log'](a0L[bx(0x3b3)]('\x20\x20⚠\x20\x20Reset\x20will\x20abandon\x20your\x20current\x20exam\x20session\x20on\x20this\x20device.')),console['log'](a0L[bx(0x1cc)]('\x20\x20\x20\x20\x20Exam:\x20\x20')+a0L[bx(0x1da)](H['session'][bx(0x180)])),J&&console[bx(0x3a9)](a0L['gray'](bx(0x389))+a0L[bx(0x1da)](J)),console[bx(0x3a9)](a0L[bx(0x1cc)](bx(0x1f5))),console[bx(0x3a9)](a0L[bx(0x1cc)](bx(0x386))),console[bx(0x3a9)](),console[bx(0x3a9)](a0L[bx(0x1cc)](bx(0x329))+a0L[bx(0x226)][bx(0x190)](bx(0x396))+a0L['gray'](bx(0x196))),bx(0x396)!==(await new Promise(K=>{const by=bx;process[by(0x420)]['write'](by(0x2c6));const L=Q=>{const bz=by,V=Q[bz(0x3ed)]()['trim']();(V[bz(0x13c)]('\x0a')||V['includes']('\x0d')||V[bz(0x15b)]>-0x1e19+0x1f*0x61+0x1d*0xa2)&&(process[bz(0x2df)][bz(0x3cf)](bz(0x200),L),K(V[bz(0x423)](/[\r\n]/g,'')));};process[by(0x2df)]['on']('data',L),process[by(0x2df)]['resume']();}))[bx(0x3e1)]())return console[bx(0x3a9)](a0L['gray'](bx(0x306))),void console[bx(0x3a9)]();G(),console[bx(0x3a9)](),console['log'](a0L[bx(0x14b)]('\x20\x20✓\x20Exam\x20state\x20cleared.')),console['log'](a0L[bx(0x1cc)](bx(0x400))+a0L[bx(0x226)][bx(0x190)](bx(0x3e2))),console[bx(0x3a9)]();}),B['command'](bb(0x143))['description'](bb(0x1c9))[bb(0x193)](async()=>{const bA=bb;a0a8(bA(0x177)),E(bA(0x223));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import('../lib/demo-exam.js');a0W()[bA(0x42e)]||(await(async function(){const bB=bA;let a0=!(-0x1dd8+0x29+-0x26*-0xc8);const a1=process[bB(0x2df)],a2=()=>{a0=!(0x1*-0x15c1+-0x2*-0xe16+-0x66b);},a3=a1[bB(0x319)]&&'function'==typeof a1[bB(0x2f2)];a3&&(a1[bB(0x2f2)](!(-0x30b*-0xb+0x880+0x29f9*-0x1)),a1[bB(0x27a)](),a1[bB(0x3ad)](bB(0x200),a2));const a4=async a5=>{let a6=-0x1eb4+-0xfb*-0x3+0x1bc3;for(;a6<a5&&!a0;)await q(0x787*-0x5+-0x1c66+-0x18b*-0x2b),a6+=0x1a1+-0x27*0xf1+0x11b3*0x2;};try{if(console[bB(0x1bb)](),console['log'](),console[bB(0x3a9)](a0L[bB(0x1cc)](bB(0x2f5))+a0L[bB(0x21c)](bB(0x1b1))),console['log'](),console[bB(0x3a9)](a0L[bB(0x226)][bB(0x1da)](bB(0x40f))),console['log'](a0L[bB(0x226)][bB(0x1da)](bB(0x2c4))),console[bB(0x3a9)](a0L['bold'][bB(0x1da)](bB(0x15d))),console[bB(0x3a9)](a0L[bB(0x226)]['white'](bB(0x364))),console[bB(0x3a9)](a0L[bB(0x226)][bB(0x1da)](bB(0x248))),console['log'](a0L['bold'][bB(0x1da)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bB(0x3a9)](),console[bB(0x3a9)](a0L['bold'][bB(0x3b3)]('\x20\x20\x20International\x20Cyber\x20Olympiad\x20in\x20AI')),console[bB(0x3a9)](a0L[bB(0x1cc)]('\x20\x20\x20Sydney,\x20Australia\x20\x20·\x20\x20Jun\x2027\x20–\x20Jul\x202,\x202026')),await a4(0x2534+-0x39c+-0x17d4),a0)return;if(console[bB(0x3a9)](),console['log'](a0L[bB(0x1da)](bB(0x1af))),console[bB(0x3a9)](),await a4(0x6c3+-0x1*-0x1e2b+-0x2296),a0)return;if(console['log'](a0L[bB(0x190)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bB(0x1da)](bB(0x3e7))+a0L[bB(0x1cc)](bB(0x2e6))),await a4(-0x768+-0x8*-0x48b+-0x1a34),a0)return;if(console['log'](a0L['green']('\x20\x20\x20\x20\x20▣\x20')+a0L[bB(0x1da)](bB(0x28c))+a0L['gray'](bB(0x252))),await a4(0xab2+0x4d*-0x1+-0x25*0x35),a0)return;if(console['log'](a0L[bB(0x245)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bB(0x1da)](bB(0x2d6))+a0L[bB(0x1cc)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20(ctf4ai)')),await a4(0x2374+0x20d5+0x3*-0x1597),a0)return;if(console[bB(0x3a9)](),console[bB(0x3a9)](a0L['bold'][bB(0x1da)]('\x20\x20\x20Your\x20terminal\x20')+a0L[bB(0x226)]['yellow']('IS')+a0L[bB(0x226)][bB(0x1da)](bB(0x354))),console[bB(0x3a9)](),await a4(-0x3d1*0x3+0x1b24+-0x9d5),a0)return;if(console['log'](a0L['gray'](bB(0x3bb))),await a4(-0x1f26+-0x68*0x29+0x315e),a0)return;if(console[bB(0x3a9)](a0L[bB(0x1cc)](bB(0x36c))),await a4(-0xa*-0x2d7+-0x7b*0x15+-0x3*0x595),a0)return;if(console['log'](a0L[bB(0x1cc)]('\x20\x20\x20·\x2015,000+\x20concurrent\x20participants')),await a4(-0x1178+0xe9d+0x5fb*0x1),a0)return;console[bB(0x3a9)](),console[bB(0x3a9)](a0L[bB(0x226)][bB(0x190)]('\x20\x20\x20Press\x20any\x20key\x20to\x20start\x20demo...')),await a4(0xaee*0x1+-0x1231*0x1+0x16e3*0x1);}finally{((()=>{const bC=bB;if(a3){a1[bC(0x3cf)](bC(0x200),a2);try{a1[bC(0x2f2)](!(0x189c+0xf21+0x27bc*-0x1));}catch{}a1[bC(0x20e)]();}})()),console['clear']();}}()),a0X({'demoIntroSeen':!(-0x658+-0x4*0x277+0x1034)})),console[bA(0x3a9)](),console[bA(0x3a9)](a0L[bA(0x1da)](bA(0x336))+a0L[bA(0x1cc)](H+bA(0x3ff)+J+bA(0x2bc))),console[bA(0x3a9)](a0L[bA(0x1cc)](bA(0x324))+a0L['cyan'](bA(0x3eb))+a0L[bA(0x1cc)](bA(0x213))+a0L[bA(0x190)](bA(0x163))+a0L[bA(0x1cc)]('\x20at\x20any\x20time.')),await new Promise(a0=>{const bD=bA;process['stdout'][bD(0x1f7)](a0L[bD(0x226)][bD(0x3b3)](bD(0x159)));const a1=!!process[bD(0x2df)][bD(0x319)]&&process[bD(0x2df)]['isRaw'];process[bD(0x2df)][bD(0x319)]&&process[bD(0x2df)][bD(0x2f2)]&&process['stdin'][bD(0x2f2)](!(0x40*0x77+-0x26b*-0x7+-0x2eac));const a2=a3=>{const bE=bD,a4=a3['toString']();(a4[bE(0x13c)]('\x0a')||a4['includes']('\x0d'))&&(process[bE(0x2df)][bE(0x3cf)](bE(0x200),a2),process['stdin']['isTTY']&&process['stdin'][bE(0x2f2)]&&process[bE(0x2df)][bE(0x2f2)](a1),process[bE(0x420)][bE(0x1f7)]('\x0a'),a0());};process['stdin']['on']('data',a2),process[bD(0x2df)]['resume']();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bA(0x1dd));Q()&&V(bA(0x361)),console[bA(0x3a9)](),a0ae(bA(0x3f8)),console[bA(0x3a9)](),console[bA(0x3a9)](a0L[bA(0x1da)](bA(0x1c0))),console[bA(0x3a9)](a0L[bA(0x1da)]('\x20\x20'+H+'\x20random\x20questions\x20from\x20a\x20pool\x20of\x20'+J+'\x20·\x20Pick\x20one\x20answer\x20per\x20question'));const W=a0a3();if(W[bA(0x3cb)]>0x18b6+-0x267e+0xdc8){const a0=W[bA(0x249)],a1=a0>=-0x92*0x5+0x18*-0x8+0x6*0xa7?a0L[bA(0x14b)]:a0>=0x889+-0x2431+-0x4*-0x6f9?a0L[bA(0x3b3)]:a0L[bA(0x1da)];console[bA(0x3a9)](),console[bA(0x3a9)](a0L[bA(0x1cc)](bA(0x38d))+a1(W[bA(0x25c)]+'/'+H+'\x20('+a0+'%)')+a0L['gray'](bA(0x349)+W[bA(0x3cb)]+'\x20attempts'));}console[bA(0x3a9)](),console[bA(0x3a9)](a0L[bA(0x1cc)](bA(0x186))),console[bA(0x3a9)](a0L[bA(0x1da)]('\x20\x20'+a0ai('howToPlay'))),console[bA(0x3a9)](a0L['yellow'](bA(0x28e))+a0L[bA(0x1cc)](bA(0x285)+a0ai(bA(0x164)))),console[bA(0x3a9)](a0L[bA(0x3b3)](bA(0x375))+a0L[bA(0x1cc)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai('htpHelp'))),console[bA(0x3a9)](a0L['yellow']('\x20\x20\x20\x20next')+a0L['gray'](bA(0x161))+a0L[bA(0x3b3)](bA(0x18e))+a0L[bA(0x1cc)](bA(0x231)+a0ai('htpNav'))),console[bA(0x3a9)](a0L['yellow'](bA(0x3df))+a0L['gray']('\x20\x20\x20\x20\x20'+a0ai('htpMoreHelp'))),console['log'](a0L[bA(0x3b3)](bA(0x2fd))+a0L[bA(0x1cc)](bA(0x1e2)+a0ai(bA(0x166)))),console[bA(0x3a9)](a0L[bA(0x3b3)](bA(0x23e))+a0L[bA(0x1cc)](bA(0x1e2)+a0ai(bA(0x35a)))),console[bA(0x3a9)](a0L['gray'](bA(0x1e5))),console['log'](a0L['gray']('\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[bA(0x3a9)](a0L['gray']('\x20\x20─────────────────────────────────────────')),console['log']();const {getConfig:X}=await import(bA(0x192)),Y=X()['language']||'en';'en'===Y?(console['log'](a0L['gray'](bA(0x292))),console[bA(0x3a9)](a0L['gray'](bA(0x1f8))),console['log'](a0L['gray'](bA(0x3ef)))):console['log'](a0L[bA(0x14b)](bA(0x1fe)+Y)),console['log'](),console['log'](a0L[bA(0x1da)](bA(0x42c)));const Z={...L,'startedAt':new Date()[bA(0x28b)]()};console[bA(0x3a9)](),N(0x126e*-0x1+0x1d29+-0xabb,bA(0x3d5)),await q(-0x6*-0x58c+0x190+-0x2210),N(-0x3*-0x99+-0x132e*-0x2+0x3*-0xd55,'Shuffling\x20options...'),await q(-0x2304+0x1*0x25fe+-0x232),N(0x31d*0xb+-0xf2d*0x2+0x7*-0x83,bA(0x1b4)),await q(0x1*0x106c+-0x2c3+-0xd13),N(0x89b*0x3+-0x1a69+0x1*0xfc,bA(0x297)),console['log'](),console['log'](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af('Questions',String(H)),a0af(bA(0x1ca),bA(0x181)),U(K[0x2*-0xfb+-0xa23+0xc19*0x1]);}),B['command'](bb(0x1c8))[bb(0x39b)](bb(0x169))[bb(0x193)](async()=>{const bF=bb;a0a8('exam\x20demo-retry'),E(bF(0x2e1));const {getLocalizedDemoSession:F}=await import('../lib/demo-exam.js'),G=a0a6();if(!G||-0x10c9+0xb27+0x5a2===G[bF(0x15b)])return console[bF(0x3a9)](),console[bF(0x3a9)](a0L['yellow'](bF(0x28d))+a0L[bF(0x226)][bF(0x190)](bF(0x143))+a0L['yellow'](bF(0x31a))),void console[bF(0x3a9)]();const H=a0Y();if(H){if(bF(0x361)!==H[bF(0x279)][bF(0x1f1)])return a0ab(bF(0x3fd)+H[bF(0x279)][bF(0x180)]+bF(0x20f)),void a0ac(bF(0x347));a0a0();}const J=V=>{const bG=bF;if(!V[bG(0x34b)])return V;const W=V['options'][V[bG(0x34b)]],X=['A','B','C','D'][bG(0x343)](a2=>V[bG(0x326)][a2]);for(let a2=X[bG(0x15b)]-(0x4*0x99b+-0x205b+-0x610);a2>-0xaab+0x1f68+-0x14bd;a2--){const a3=Math['floor'](Math['random']()*(a2+(0x5ba+-0x1*-0x8c3+-0xe7c)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[0x1664+-0x1*-0x137+-0x179b],Y['B']=X[0x5c2+0x24a1+0x9b*-0x46],Y['C']=X[-0x19d1+-0x1d54+-0x7*-0x7e1],Y['D']=X[-0xd*0x8f+-0x21c0+0x2906];const Z=Y,a0=['A','B','C','D']['find'](a4=>Z[a4]===W),a1={...V};return a1[bG(0x326)]=Z,a1[bG(0x34b)]=a0,a1;},K=G[bF(0x343)]((V,W)=>({...J(V),'number':W+(0x19db+-0x1*-0xb1e+-0x24f8)})),L=F(),Q={...L,'examName':L[bF(0x180)]+'\x20\x20(Retry\x20wrong\x20only)','questionCount':K[bF(0x15b)],'startedAt':new Date()['toISOString']()};console[bF(0x3a9)](),a0ae(bF(0x27c)),console[bF(0x3a9)](),console[bF(0x3a9)](a0L['white'](bF(0x15f)+K[bF(0x15b)]+bF(0x1ea)+(-0x364*-0x4+-0x1*0x16b4+0x925===K[bF(0x15b)]?'':'s')+'\x20you\x20got\x20wrong.')),console[bF(0x3a9)](a0L[bF(0x1cc)](bF(0x24e))),console[bF(0x3a9)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af('Questions',String(K[bF(0x15b)])),a0af('Duration',bF(0x181)),U(K[0x1cb0+0xb5*0xa+-0x23c2]);}),B[bb(0x3a4)]('setup')[bb(0x39b)]('Install\x20Python\x20environment\x20for\x20practical\x20exam\x20questions')[bb(0x193)](async()=>{const bH=bb;if(a0a8(bH(0x3fb)),-0xd*-0xd1+-0x2d2*0x2+-0x4f9===a0a3()['attempts'])return console[bH(0x3a9)](),a0ab(bH(0x40a)),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x313))+a0L[bH(0x226)][bH(0x190)](bH(0x177))),void console[bH(0x3a9)]();const K=a0ak();if(K){const a4=K[bH(0x3ab)][bH(0x15b)],a5=a4+K[bH(0x3da)][bH(0x15b)];if(a4>=0x1e*0x12b+-0x935+0x5*-0x529||(a5>-0x18ed+-0x1d8e*-0x1+-0x4a1?a4/a5:0x14f6+0xe5e+0x1c*-0x143)>=0x23*-0xce+0x13*0x16c+0x126+0.7)return console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x14b)](bH(0x24b))+a0L[bH(0x14b)]('Environment\x20already\x20set\x20up')),console[bH(0x3a9)](a0L[bH(0x1cc)]('\x20\x20\x20\x20Completed:\x20'+K['completedAt']['split']('T')[-0x2*-0xa45+0x21a4+-0x1b17*0x2])),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x41a)+K['pythonVersion'])),console['log'](a0L['gray'](bH(0x1c3)+a4+bH(0x1c2))),K['failedPackages']['length']>-0xa65+-0x6*0x1c6+0x3*0x703&&console['log'](a0L[bH(0x3b3)](bH(0x29a)+K[bH(0x3da)][bH(0x1a7)](',\x20'))),console[bH(0x3a9)](),console['log'](a0L[bH(0x1da)](bH(0x12b))+a0L['bold'][bH(0x190)](bH(0x3e2))),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x35d))+a0L[bH(0x226)][bH(0x190)](bH(0x163))+a0L[bH(0x1cc)](bH(0x12c))),void console['log']();console[bH(0x3a9)](),console['log'](a0L[bH(0x3b3)]('\x20\x20Previous\x20setup\x20had\x20only\x20'+a4+'/'+a5+bH(0x27b))),console['log']();}console['log'](),a0ae(bH(0x1a9)),console['log'](),console['log'](a0L[bH(0x1da)](bH(0x14e))),console['log'](a0L[bH(0x1cc)](bH(0x37b))),console[bH(0x3a9)]();const L=(a6,a7)=>{const bI=bH,a8=process['platform'];console['log'](),a0aa(bI(0x1b9)===a6?'Python\x203\x20not\x20found.':bI(0x415)+a7+bI(0x167)),console[bI(0x3a9)](),console[bI(0x3a9)](a0L['bold'][bI(0x1da)]('\x20\x20How\x20to\x20install\x20Python\x203.10+\x20(3.12\x20recommended):')),console[bI(0x3a9)](),'darwin'===a8?(console['log'](a0L[bI(0x3b3)](bI(0x156))),console[bI(0x3a9)](a0L[bI(0x14b)](bI(0x2ab))),console['log'](),console['log'](a0L[bI(0x1cc)](bI(0x228))),console[bI(0x3a9)](a0L[bI(0x1cc)]('\x20\x20\x20\x20https://www.python.org/downloads/macos/'))):bI(0x307)===a8?(console[bI(0x3a9)](a0L['yellow'](bI(0x3de))),console['log'](a0L[bI(0x14b)](bI(0x401))),console[bI(0x3a9)](a0L[bI(0x14b)](bI(0x294))),console[bI(0x3a9)](a0L[bI(0x14b)](bI(0x1dc))),console[bI(0x3a9)](a0L[bI(0x1cc)](bI(0x41f))),console[bI(0x3a9)](),console['log'](a0L[bI(0x3b3)]('\x20\x20Fedora\x20/\x20RHEL:')),console[bI(0x3a9)](a0L[bI(0x14b)](bI(0x39c))),console[bI(0x3a9)](),console[bI(0x3a9)](a0L['yellow'](bI(0x2ac))),console[bI(0x3a9)](a0L[bI(0x14b)]('\x20\x20\x20\x20sudo\x20pacman\x20-S\x20python'))):'win32'===a8?(console[bI(0x3a9)](a0L[bI(0x3b3)](bI(0x32b))),console['log'](a0L[bI(0x14b)](bI(0x133))),console[bI(0x3a9)](),console[bI(0x3a9)](a0L[bI(0x1cc)]('\x20\x20Or\x20download\x20installer:')),console[bI(0x3a9)](a0L[bI(0x1cc)]('\x20\x20\x20\x20https://www.python.org/downloads/windows/'))):console[bI(0x3a9)](a0L[bI(0x1cc)](bI(0x284))),console[bI(0x3a9)](),console[bI(0x3a9)](a0L[bI(0x1da)](bI(0x3b0))+a0L[bI(0x226)]['cyan'](bI(0x3fb))),console[bI(0x3a9)]();},Q=bH(0x3f4);let V='';try{const a6={};a6[bH(0x29f)]=bH(0x26f),a6['timeout']=0x1388,V=a0an(Q+bH(0x14c),a6)[bH(0x212)]()[bH(0x423)]('Python\x20','');const a7=V['split']('.')[bH(0x343)](Number);if(a7[-0x455*0x1+-0x18f+0x74*0xd]<-0xd45*-0x1+-0x601+-0x1*0x741||-0x1*-0x1152+0x1*0x14ef+0xb*-0x37a===a7[-0x10b*-0x1b+0x1a1e+-0x3647]&&a7[0xdec+-0x1770*-0x1+0x83*-0x49]<0x1f49+-0x665+-0x1*0x18da)return void L('too_old',V);-0x193b+-0xe6c+0x2*0x13d5===a7[0xe9c+0x9d9*0x1+0x1875*-0x1]&&a7[0x2452+-0x24f3*-0x1+0x412*-0x12]<0x1ffa+-0x33f*0x9+-0x2b7?console[bH(0x3a9)](a0L[bH(0x14b)](bH(0x31e)+V)+a0L[bH(0x1cc)]('\x20(works,\x20but\x203.12\x20recommended)')):console['log'](a0L[bH(0x14b)]('\x20\x20✓\x20Python\x20'+V));}catch{return void L(bH(0x1b9));}try{const a8={};a8[bH(0x222)]=bH(0x34c),a8[bH(0x19f)]=0x1388,(a0an(Q+'\x20-m\x20pip\x20--version',a8),console['log'](a0L[bH(0x14b)]('\x20\x20✓\x20pip\x20available')));}catch{console['log'](a0L['yellow'](bH(0x267)));try{const a9={};a9['stdio']=bH(0x34c),a9['timeout']=0x7530,(a0an(Q+bH(0x30c),a9),console[bH(0x3a9)](a0L[bH(0x14b)]('\x20\x20✓\x20pip\x20installed')));}catch{a0aa('Could\x20not\x20install\x20pip\x20—\x20pip\x20is\x20not\x20installed\x20on\x20your\x20system.'),console[bH(0x3a9)]();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import(bH(0x427)),{execFileSync:ac}=await import(bH(0x36f)),ad=aa(),ae=ab(),af=bH(0x307)===process['platform']&&!ad,ag='darwin'===process[bH(0x2dd)];let ah=bH(0x3dd);if(af||ad)try{const {readFileSync:ak}=await import(bH(0x3c7)),al=ak(bH(0x393),'utf-8'),am=(al[bH(0x1d9)](/^ID="?([^"\n]+)/m)||[])[0x1*-0x1678+0x1*-0xde3+0x1*0x245c]||'',an=(al[bH(0x1d9)](/^VERSION_ID="?([^"\n]+)/m)||[])[-0x1bd+0x3*0x85b+-0x1753]||'';bH(0x2a6)===am?ah='Ubuntu\x20'+an+(ad?'\x20(WSL2)':''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?bH(0x432):''));}catch{}let ai=!(-0x17b5*0x1+0x1b1e+0x1*-0x368);if(ag)try{const ao={};ao[bH(0x222)]='ignore',ao[bH(0x19f)]=0x7d0,(ac('which',[bH(0x208)],ao),ai=!(-0x1c09*-0x1+0x11fd+0x89*-0x56));}catch{ai=!(-0x1*0x2011+0x1712*0x1+-0x480*-0x2);}const aj=ae?bH(0x22f):'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20sudo\x20cannot\x20run\x20inside\x20the\x20prompt';return console['log'](a0L['bold']['yellow']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bH(0x3a9)](a0L[bH(0x226)][bH(0x3b3)]('\x20\x20'+aj)),console['log'](a0L[bH(0x226)][bH(0x3b3)](bH(0x1e0))),console[bH(0x3a9)](),af||ad?(console[bH(0x3a9)](a0L[bH(0x1da)]('\x20\x20Detected:\x20')+a0L[bH(0x190)](ah)),console[bH(0x3a9)](a0L[bH(0x1cc)]('\x20\x20(Minimal\x20Ubuntu\x20/\x20cloud\x20/\x20WSL2\x20images\x20often\x20ship\x20without\x20pip.)')),console[bH(0x3a9)](),console[bH(0x3a9)](a0L['bold'][bH(0x1da)]('\x20\x20Step-by-step:')),console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x2f8))+a0L['bold'][bH(0x190)]('quit')+a0L[bH(0x1da)]('\x20and\x20press\x20Enter\x20to\x20leave\x20icoa')),console[bH(0x3a9)](),console[bH(0x3a9)](a0L['white'](bH(0x2a4))),console[bH(0x3a9)](),console[bH(0x3a9)](bH(0x285)+a0L[bH(0x226)][bH(0x190)]('sudo\x20apt\x20update')),console['log'](bH(0x285)+a0L[bH(0x226)][bH(0x190)]('sudo\x20apt\x20install\x20-y\x20python3-pip\x20python3-venv')),console[bH(0x3a9)](),console['log'](a0L[bH(0x1da)]('\x20\x20\x20\x203.\x20Restart\x20icoa\x20and\x20re-run\x20exam\x20setup:')),console['log'](),console[bH(0x3a9)](bH(0x285)+a0L['bold'][bH(0x190)]('icoa')),console['log'](bH(0x285)+a0L[bH(0x1cc)](bH(0x221))+'\x20'+a0L[bH(0x226)]['cyan'](bH(0x3fb)))):ag?(console[bH(0x3a9)](a0L[bH(0x1da)]('\x20\x20Detected:\x20')+a0L['cyan']('macOS')),console[bH(0x3a9)](),console[bH(0x3a9)](a0L['bold'][bH(0x1da)](bH(0x32f))),console['log'](),console['log'](a0L[bH(0x1da)](bH(0x2f8))+a0L['bold'][bH(0x190)]('quit')+a0L[bH(0x1da)](bH(0x30e))),console['log'](),ai?(console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x42b))),console['log'](),console[bH(0x3a9)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x226)][bH(0x190)](bH(0x235))),console[bH(0x3a9)](bH(0x285)+a0L[bH(0x226)][bH(0x190)](bH(0x397)))):(console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x331))+a0L[bH(0x226)][bH(0x3b3)]('brew')+a0L['white']('):')),console[bH(0x3a9)](),console[bH(0x3a9)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x226)]['cyan'](bH(0x30d))),console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x2b3))),console['log'](),console[bH(0x3a9)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x226)]['cyan'](bH(0x235)))),console['log'](),console['log'](a0L[bH(0x1da)](bH(0x151))),console[bH(0x3a9)](),console[bH(0x3a9)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x226)][bH(0x190)](bH(0x289))),console['log'](bH(0x285)+a0L[bH(0x1cc)](bH(0x221))+'\x20'+a0L[bH(0x226)][bH(0x190)](bH(0x3fb)))):ae?(console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x380))+a0L['cyan'](bH(0x198))),console['log'](),console['log'](a0L[bH(0x226)][bH(0x3b3)]('\x20\x20ICOA\x20officially\x20supports\x20WSL2\x20on\x20Windows.')),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x335))),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x38a))),console[bH(0x3a9)](a0L[bH(0x1cc)]('\x20\x20far\x20more\x20smoothly\x20inside\x20WSL2\x20Ubuntu.')),console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x226)][bH(0x1da)]('\x20\x20Recommended\x20path\x20—\x20switch\x20to\x20WSL2\x20(one-time,\x20~5\x20min):')),console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x2f8))+a0L['bold'][bH(0x190)](bH(0x2b7))+a0L[bH(0x1da)](bH(0x30e))),console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x179))),console[bH(0x3a9)](),console[bH(0x3a9)](bH(0x285)+a0L[bH(0x226)][bH(0x190)](bH(0x2bf))),console['log'](),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x176))),console['log'](a0L[bH(0x1da)](bH(0x275))),console['log'](),console['log'](bH(0x285)+a0L[bH(0x226)][bH(0x190)](bH(0x298))),console[bH(0x3a9)](bH(0x285)+a0L[bH(0x226)][bH(0x190)](bH(0x38f))),console['log'](bH(0x285)+a0L['bold'][bH(0x190)]('sudo\x20npm\x20install\x20-g\x20icoa-cli')),console['log'](bH(0x285)+a0L[bH(0x226)][bH(0x190)](bH(0x289))),console[bH(0x3a9)](),console['log'](a0L[bH(0x1cc)]('\x20\x20───\x20Stay\x20on\x20native\x20Windows\x20(best-effort,\x20may\x20hit\x20PATH\x20issues)\x20───')),console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x2f8))+a0L['bold'][bH(0x190)]('quit')+a0L[bH(0x1da)](bH(0x30e))),console['log'](a0L[bH(0x1da)](bH(0x1b7))),console[bH(0x3a9)](),console[bH(0x3a9)](bH(0x285)+a0L[bH(0x226)][bH(0x190)](bH(0x3c9))),console[bH(0x3a9)](),console[bH(0x3a9)](a0L['gray'](bH(0x35b))),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x3e4))),console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x3be))),console[bH(0x3a9)](),console[bH(0x3a9)](bH(0x285)+a0L[bH(0x226)]['cyan'](bH(0x289))),console['log'](bH(0x285)+a0L[bH(0x1cc)](bH(0x221))+'\x20'+a0L[bH(0x226)][bH(0x190)](bH(0x3fb)))):(console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x34f))+a0L[bH(0x190)](process[bH(0x2dd)])+a0L[bH(0x1da)](')')),console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x172))),console[bH(0x3a9)](bH(0x285)+a0L[bH(0x226)][bH(0x190)](bH(0x289))),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x1cc)](bH(0x221))+'\x20'+a0L['bold'][bH(0x190)](bH(0x3fb)))),console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x2d0))),void console['log']();}}const W={};W[bH(0x36a)]=bH(0x291),W['pycryptodome']=bH(0x216),W[bH(0x22b)]='z3',W[bH(0x2e2)]=bH(0x24a),W[bH(0x272)]='pwn',W['ROPgadget']=bH(0x3d0);const X=[bH(0x272),bH(0x1ce),bH(0x2ce),bH(0x36a),bH(0x422),bH(0x2e2),'scapy',bH(0x152),bH(0x22b),'pycryptodome',bH(0x3c1),bH(0x240),bH(0x21b)],Y=W;console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x290)+X['length']+bH(0x1df))),console['log']();let Z='';try{const ap={};ap[bH(0x29f)]=bH(0x26f),ap['timeout']=0x2710,a0an(Q+'\x20-m\x20pip\x20install\x20--dry-run\x20pip\x202>&1',ap);}catch(aq){const ar=String(aq?.[bH(0x420)]||aq?.[bH(0x149)]||aq?.[bH(0x3d2)]||'');/externally-managed-environment|break-system-packages/i[bH(0x29e)](ar)&&(Z=bH(0x22e),console[bH(0x3a9)](a0L['yellow'](bH(0x1c1))),console[bH(0x3a9)]());}const a0=V['split']('.')[bH(0x343)](Number);-0x1fa7+0x16d7+0x8d3===a0[0x1b36+0x2626+0x164*-0x2f]&&a0[0x1d*-0xa9+0x536*-0x2+0x1d92]>=-0x7d3*0x1+0x4*-0x2a6+0x1278&&(console[bH(0x3a9)](a0L[bH(0x3b3)](bH(0x1b5)+V+bH(0x23f))),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x339))),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x311))),bH(0x307)===process[bH(0x2dd)]&&(console[bH(0x3a9)](a0L['green'](bH(0x12d))),console[bH(0x3a9)](a0L['green'](bH(0x1aa)))),console['log']());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+bH(0x1be)+as+'\x22\x20'+Z+bH(0x416),{'encoding':bH(0x26f),'timeout':0x2bf20,'stdio':bH(0x2b8)}),a0an(Q+'\x20-c\x20\x22import\x20'+(Y[as]||as)+'\x22',{'stdio':bH(0x34c),'timeout':0x2710});let at='';try{const au=a0an(Q+'\x20-m\x20pip\x20show\x20\x22'+as+bH(0x266),{'encoding':bH(0x26f),'timeout':0x1388})[bH(0x1d9)](/^Version:\s*(.+)$/m);au&&(at=au[-0x2*-0x40c+-0x74c*-0x2+-0x1*0x16af][bH(0x212)]());}catch{}console[bH(0x3a9)](a0L['green'](bH(0x24b)+as)+(at?a0L[bH(0x1cc)]('\x20('+at+')'):'')),a1[bH(0x325)](at?as+'=='+at:as);}catch(av){const aw=String(av?.[bH(0x420)]||av?.[bH(0x149)]||av?.['message']||'')[bH(0x3f3)](-(-0x19ff+-0x5a*-0x16+0x13d3)),ax=aw[bH(0x1c5)]('\x0a')['filter'](ay=>ay[bH(0x212)]())[bH(0x3f3)](-(0x8d3+-0x7d8+-0xf9))['join'](bH(0x370))[bH(0x3f3)](0x1bea+-0x606+-0x15e4,-0x162*-0x10+0x1be2+-0x318a);console[bH(0x3a9)](a0L[bH(0x245)](bH(0x1e6)+as)+a0L[bH(0x1cc)]('\x20\x20'+ax)),a2[bH(0x325)]({'pkg':as,'error':ax}),a3||(a3=aw);}-0xc53*-0x2+0x7cd+-0x9*0x39b===a1[bH(0x15b)]&&a3&&(console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x3b3)](bH(0x2db))),console[bH(0x3a9)](a0L[bH(0x1cc)]('\x20\x20'+a3[bH(0x1c5)]('\x0a')[bH(0x3f3)](-(0x21e7*0x1+-0x2*0x8fe+-0xfe5))[bH(0x1a7)]('\x0a\x20\x20')))),a0al({'completedAt':new Date()['toISOString'](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bH(0x343)](ay=>ay['pkg'])}),console['log'](),-0x407+0x5*0x62+0x1*0x21d===a2['length']?a0a9(bH(0x1d6)+X[bH(0x15b)]+bH(0x19e)):-0x1cef+-0x385+-0x10c*-0x1f===a1['length']?(a0aa(bH(0x40d)+X['length']+bH(0x19e)),console['log'](),console[bH(0x3a9)](a0L[bH(0x3b3)](bH(0x214))),0x1052+0x3*-0x711+0x4e4===a0[-0xa21*-0x1+0x97*0x20+-0x1d01]&&a0[0x1*-0xaf9+-0x28c*-0xc+-0x1396]>=-0xe67+-0x418*0x7+-0x7c*-0x59?(console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x2c7))),console['log'](a0L[bH(0x1cc)](bH(0x2a9)))):(console['log'](a0L[bH(0x1cc)](bH(0x207))),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x2da))+a0L[bH(0x190)](Q+bH(0x403))+a0L[bH(0x1cc)](bH(0x1bc))),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x1de)))),console[bH(0x3a9)](),console['log'](a0L['white'](bH(0x3e9))+a0L['bold'][bH(0x190)]('exam\x20setup'))):a0ab(a1['length']+'/'+X['length']+bH(0x3f1)+a2[bH(0x15b)]+bH(0x3a3)+a2[bH(0x343)](ay=>ay[bH(0x29c)])[bH(0x1a7)](',\x20')),console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x190)](bH(0x2c3))),console[bH(0x3a9)](a0L[bH(0x226)][bH(0x1da)](bH(0x1a6))),console[bH(0x3a9)](a0L[bH(0x190)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x226)][bH(0x3b3)](bH(0x29b))+a0L['gray'](bH(0x229))),console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x36b))),console[bH(0x3a9)](a0L[bH(0x14b)](bH(0x18d))),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x17e))),console[bH(0x3a9)](),console['log'](a0L[bH(0x226)][bH(0x3b3)](bH(0x27d))+a0L[bH(0x1cc)]('\x20(explore\x20&\x20experiment)')),console[bH(0x3a9)](a0L[bH(0x1da)]('\x20\x20Start\x20a\x20Python\x20session,\x20type\x20commands\x20one\x20by\x20one:')),console[bH(0x3a9)](a0L['green'](bH(0x183))),console[bH(0x3a9)](a0L[bH(0x1cc)]('\x20\x20\x20\x20>>>\x20from\x20Crypto.Cipher\x20import\x20AES')),console[bH(0x3a9)](a0L[bH(0x1cc)]('\x20\x20\x20\x20>>>\x20key\x20=\x20bytes.fromhex(\x2249434f41...\x22)')),console[bH(0x3a9)](a0L['gray']('\x20\x20\x20\x20>>>\x20cipher\x20=\x20AES.new(key,\x20AES.MODE_CBC,\x20iv)')),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x184))),console[bH(0x3a9)](a0L['gray']('\x20\x20\x20\x20>>>\x20exit()')),console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x226)]['yellow'](bH(0x378))+a0L[bH(0x1cc)](bH(0x301))),console[bH(0x3a9)](a0L['white']('\x20\x20Write\x20a\x20.py\x20file,\x20then\x20run\x20it:')),console['log'](a0L['green'](bH(0x22c))),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x3b9))),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x334))),console[bH(0x3a9)](a0L['gray']('\x20\x20\x20\x20key\x20=\x20xor(ct[:5],\x20b\x22ICOA{\x22)')),console[bH(0x3a9)](a0L[bH(0x1cc)](bH(0x14f))),console[bH(0x3a9)](a0L['green'](bH(0x385))),console['log'](a0L['green'](bH(0x3e8))),console[bH(0x3a9)](),console['log'](a0L['bold']['yellow'](bH(0x20c))),console[bH(0x3a9)](a0L[bH(0x1da)]('\x20\x20During\x20the\x20exam,\x20type\x20')+a0L[bH(0x226)][bH(0x190)](bH(0x1db))+a0L['white'](bH(0x391))),console['log'](a0L[bH(0x1cc)](bH(0x157))),console['log'](a0L[bH(0x1cc)](bH(0x14a))),console['log'](a0L['gray'](bH(0x2d2))),console[bH(0x3a9)](a0L[bH(0x190)](bH(0x2c3))),console[bH(0x3a9)](),console[bH(0x3a9)](a0L[bH(0x1da)](bH(0x12b))+a0L[bH(0x226)]['cyan'](bH(0x3e2))),console[bH(0x3a9)](a0L['gray'](bH(0x35d))+a0L[bH(0x226)]['cyan'](bH(0x163))+a0L[bH(0x1cc)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console[bH(0x3a9)]();}),B[bb(0x193)](()=>{const bJ=bb;a0a8(bJ(0x3c8));const F=a0Y();if(F){a0ae(bJ(0x135)+F[bJ(0x279)][bJ(0x180)]),O();const J=Object[bJ(0x257)](F[bJ(0x13e)])[bJ(0x15b)];return a0af('Progress',J+'/'+F['session'][bJ(0x1f2)]+bJ(0x3a8)),console['log'](),void console[bJ(0x3a9)](a0L[bJ(0x1cc)](bJ(0x210)));}const G=a0a3(),H=a0ak();console[bJ(0x3a9)](),a0ae('ICOA\x20National\x20Selection\x20Exam'),console['log'](),-0x36d+-0x196+0x503===G[bJ(0x3cb)]?(console[bJ(0x3a9)](a0L['yellow'](bJ(0x270))+a0L[bJ(0x3b3)](bJ(0x337))),console[bJ(0x3a9)](a0L[bJ(0x1cc)](bJ(0x1c7))+a0L[bJ(0x226)]['cyan'](bJ(0x177)))):(console[bJ(0x3a9)](a0L[bJ(0x14b)](bJ(0x178))+a0L[bJ(0x14b)](bJ(0x296)+G['attempts']+bJ(0x1b6)+(-0x2464+0x559*-0x3+0x3470!==G[bJ(0x3cb)]?'s':'')+')')),H?(console[bJ(0x3a9)](a0L['green'](bJ(0x178))+a0L[bJ(0x14b)](bJ(0x145))),console[bJ(0x3a9)](a0L[bJ(0x3b3)]('\x20\x20○\x20')+a0L['yellow'](bJ(0x24d))),console[bJ(0x3a9)](a0L[bJ(0x1cc)](bJ(0x1c7))+a0L['bold'][bJ(0x190)](bJ(0x3e2)))):(console[bJ(0x3a9)](a0L[bJ(0x3b3)](bJ(0x270))+a0L[bJ(0x3b3)](bJ(0x3ea))),console[bJ(0x3a9)](a0L[bJ(0x1cc)](bJ(0x1c7))+a0L[bJ(0x226)][bJ(0x190)](bJ(0x3fb))))),console[bJ(0x3a9)]();});}
1
+ (function(z,B){const aX=a0B,F=z();while(!![]){try{const G=parseInt(aX(0x3ca))/(-0x25f4+-0x21a9*-0x1+0x14*0x37)*(-parseInt(aX(0x30e))/(0x138b*0x1+-0xbeb+0x4b*-0x1a))+-parseInt(aX(0x4a1))/(-0x10dd*0x2+0x4ae+0x1*0x1d0f)+-parseInt(aX(0x414))/(-0x1ef+0xee7+-0x1*0xcf4)*(parseInt(aX(0x410))/(-0x1*0x1549+0xd*0x4d+-0x49*-0x3d))+-parseInt(aX(0x359))/(0x1*-0x737+0x13e+0x5ff)+-parseInt(aX(0x34e))/(0x1b95*0x1+-0x1d3+-0x1*0x19bb)*(-parseInt(aX(0x46b))/(-0x1*-0x2339+0x1958+-0x3c89*0x1))+parseInt(aX(0x41f))/(-0x2ba+-0x77d*0x2+0x11bd)+-parseInt(aX(0x3a2))/(-0x121c+0x1bcc+-0x9a6)*(-parseInt(aX(0x37b))/(-0x2*0xaa5+0x1*-0xb7+0x160c));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,0x653b+0xbda1e+-0xb*0x4c55));import a0L from'chalk';import{confirm as a0Q}from'@inquirer/prompts';import{ExamClient as a0V}from'../lib/exam-client.js';import{getConfig as a0W,saveConfig as a0X}from'../lib/config.js';import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';function a0B(a,b){a=a-(0x2e*0x2b+-0xff5+0x1*0xa0b);const c=a0z();let d=c[a];if(a0B['jKwntt']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x182d+-0x12c9+0x2af6,o,p,q=0x11b*-0x7+-0x365*0xb+0x482*0xa;p=i['charAt'](q++);~p&&(o=n%(0x1540+-0x5d9+0x1*-0xf63)?o*(-0x30e+-0x4*0x223+0x52*0x25)+p:p,n++%(-0x8*-0x48b+0x2*-0x210+-0xc*0x2af))?l+=String['fromCharCode'](0x119*0x6+-0x1*-0x4fd+0x54a*-0x2&o>>(-(0x2335*-0x1+0x1a05+0x932)*n&0x1eb*-0x3+-0x172+-0x739*-0x1)):0x17c2+-0x127*0x1+-0x9*0x283){p=j['indexOf'](p);}for(let r=0x26a5*0x1+0xa06*0x1+-0x30ab,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x1*0x19b+-0x759+-0x904*-0x1))['slice'](-(0x469*0x1+0x3d1*-0x1+-0x96));}return decodeURIComponent(m);};a0B['KkaEqR']=e,a0B['RbqWVp']={},a0B['jKwntt']=!![];}const f=c[-0x282+-0x18d7+0x1b59],g=a+f,h=a0B['RbqWVp'][g];return!h?(d=a0B['KkaEqR'](d),a0B['RbqWVp'][g]=d):d=h,d;}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(0x37c)]='application/json',fetch(aY(0x331),{'method':aY(0x277),'headers':H,'body':JSON[aY(0x294)]({'type':B,'lang':G[aY(0x424)]||'en','timestamp':new Date()[aY(0x211)](),...F}),'signal':AbortSignal['timeout'](-0x12c9+-0xa4+0x26f5)})[aY(0x3e7)](()=>{});}function a0z(){const bK=['AM9PBG','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','Dg9vChbLCKnHC2u','4O+XifrPBwuGCMvTywLUAw5NoG','8j+pLU+4JW','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','z2v0vgLTzq','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','icaGigXHBMC','rMfPBgvKihrVigXVywqGzxHHBxm','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','rMfPBgvKihrVigXVywqGCMvZDwX0','ixb5DgHVBJmGC29SDMuUChK','icdcTYaG','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','C3rKB3v0','qMfUz2XHzgvZAa','Aw5JB3jYzwn0sw50CM8','mtm0otjZzg5xyNu','icbmyw5NDwfNztOG','yMvZDa','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','icbozxH0ihn0zxa6ia','ihnOyxjLzcbHy3jVC3mGutm54Octnda','CdeW','icdIL48G','AhrWsNvTCa','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','icaGicbbssb0B2TLBNm6icaGicaG','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','icdINjmGuhL0Ag9Uia','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','icbbBNn3zxjZigfYzsa','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','DxrMltG','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','icbbssbbC3nPC3rHBNq','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','vgLTzsbszw1HAw5PBMC','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','C3LTChK','AgLUDa','icbuExbLia','icaGievprG','z2v0rxHHBxm','BwfJt1m','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','DxnLza','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','zMLUzeLUzgv4','zMLUza','qw5ZD2vYzwq6ica','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','icaGicbiAw50CYbbl0iVqZOGicaG','AgvSCfvZzwrvCa','zNvUy3rPB24','zwXPBwLUyxrLzca','zxHHBsbKzw1VlxjLDhj5','C3rHDhvZ','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','z3jHzgLUzW','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','zxHHBsa','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','cIaG','vg90ywW','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','u3rHCNrPBMCGDgLTzxiUlI4','tM8GzxHHBsbPBIbWCM9NCMvZCY4','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','icaGicbjBNnPzguGy2HHDdOGicaG','icaGigv4yw0GC3vIBwL0','icbfEgfToIaGica','iIaYpI9KzxyVBNvSBa','ndj2A2jRCwm','zxHHBsbWCMv2','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','yw5ZD2vY','BMf0Aw9UCW','zxHHBsbKzw1V','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','C2v0Dxa','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','icbzB3uGD2LSBcbZDwjTAxqG','mJqXnJC2nhP0Du5ZDq','icbqCMfJDgLJAw5Nia','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','AgvSCefSBfvZzwq','ihbVAw50CYaOntaLkq','zxHHBsbUyxrPB25Z','BMv4Da','CxvPDa','vxbSB2fKAw5NigfUC3DLCNmUlI4','y291BNrYEq','iokgKIa','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','zw5JB2rPBMC','Dg90ywW','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','zxHHBvDHExnuB1nVBhzL','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','zMXVB3i','AwnVyt4','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','icbxCMfWihvWigfUzcbZDwjTAxq6ia','q291BNrYEq','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','EwvSBg93','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','sMfWyw4','khbYzxnZigfUEsbRzxKGDg8GC2TPCcK','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','icbozwvKig1VCMu/ifr5Cgu6ia','z3jLzw4','DhjPBq','AwDUB3jL','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','mJuZt3POtNDI','q29UDgvUDc1uExbL','zgvZy3jPChrPB24','AgLUDcbHic8GyIaVigm','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','icaGicaGicaOBM93lcb+nsbTAw4P','ic1TihbPCcbZAg93ici','icaOuMv0CNKGD3jVBMCGB25SEsK','iokaLca','icaGiokCKYbZyxzLza','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','zwXPBwLUyxrLza','rMfPBgvKihrVihn0yxj0igv4yw0','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','C19JDgy0ywK','BgvUz3rO','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','C2vYDMvYx3rPBwvFBxm','EJmTC29SDMvY','icHJB21WBgv4ihnVBhv0Aw9UCYK','u3bVDcbVBI4','y2f0','zwDNmtu','yxr0zw1WDhm','mJuSmdaWihrVA2vUCW','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','C2nVCMu','icdWN46bicS','C2HVD25xyxjUAw5NCW','CdmW','icdINjmG','Cvr1Dg9YAwfS','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','icbuBYbJB250Aw51zsb0AgLZigv4yw06','u291DgGGs29Yzwe','zxHHBsbZDwjTAxq','nti2ndqWz2LbAeLP','ig5VDcbMB3vUzcaOms0','CxvLC3rPB25Z','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','zw1VAMK','Dg9Vx29Sza','zxHHBsbYzxzPzxC','CMvTB3zLtgLZDgvUzxi','igf0igfUEsb0Aw1LlG','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','q3j5ChrV','u3jPieXHBMTH','icaGia','Dwj1BNr1','C29YDa','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','zgvTBY1MCMvL','tg9HzgLUzYbLEgfTCY4UlG','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','iefjnenurG','icbezxrLy3rLzdOG','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','zxHHBsbHBNn3zxiG','zgvTBW','ihDHCYbUB3qGzMXHz2DLzc4','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','icbxAgf0ig5LEhq','C3vIBwL0DgvK','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','ywLvC2fNzq','icaGigzYB20GChDUigLTCg9YDcb4B3i','D3jPDgu','vwj1BNr1ia','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','D2HPy2G','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','z3jHEq','mte2wg5RwNb3','zxHHBsbZzxr1Ca','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','xsaG','yM9Sza','AhrWsgvSCa','y2f0zwDVCNK','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','BwvZC2fNzq','ic8G','zxHHBsb0B2TLBIa','icaGig5LEhq','icbB','zxHHBsbTB3jLlwHLBha','uMvHzhKH','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','vxPIzwTPC3rHBG','ChLJCNLWDg9KB21L','AxnbCNjHEq','oJaW','q29TCgXLDguH','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','BwfYAYbBBL0','u29SAwqGCgLJAY4','lI4VBgLIl2v4yw0TC3rHDguUANm','BgLUDxG','icaGifb5DgHVBJOG','y2f0y2G','igfUC3DLCMvKkq','uhjVz3jLC3m','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','iokaLcbZzwuGzNvSBcbLCNjVCG','icHxu0WYkq','icbuAw1LoIaGica','uhL0Ag9Uia','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','y29UzMLYBq','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','uxvLC3rPB25Z','D2L0Aa','icbuBYbJB25MAxjToIaG','icbgzwrVCMeGlYbssevmoG','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','ihvUyw5ZD2vYzwq6ia','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','zxHHBvDHExnszwzqExrOB24','igzVCIb0AgLZihnLy3rPB24','C3rHCNrfEgfT','Aw5FChjVz3jLC3m','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','l2HLBha','ChjLDG','C19HAtrJDgy','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','y3rMngfPpG','rvHqsvjfra','y29TCgXLDgu','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','icaGiokaOIbuCNK6ia','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','ihrVihnLzsb5B3vYihjLC3vSDhmH','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','nta5nJmZmgnfr0vXDa','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','Cg9PBNrZ','A2v5','ng91yMjmwa','u3vIBwL0DgvK','icdIMQaGuhL0Ag9Uia','yNm0','r28GDg8GBMv4DcbXDwvZDgLVBG','u291DgGGqwzYAwnH','ihLVDsbNB3qGD3jVBMCU','ihbHy2THz2vZigLUC3rHBgXLzc4G','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','yMvHDxrPzNvSC291Cdq','CgfKrw5K','nte5nJa5nMX6zer1yq','zgfYD2LU','BwLU','Aw5KzxHpzG','Dg9mB3DLCKnHC2u','BgfUz3vHz2u','CM9Wz2fKz2v0','CM91BMq','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','DgLTzw91Da','zw50CMLLCW','BNvTChK','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','icaGigv4yw0GCsaXlI4','C3vIBwL0DgvKqxq','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','AhrWtMf2','zw5KC1DPDgG','BM9KztPMCW','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','tMLJzsbVBMuU','uK9qz2fKz2v0','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','AhrWtgfUzW','zxHHBsbSAxn0ia','tg9HzgLUzYbYzxn1BhqUlI4','ywK0y3rMu3vI','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','r3jHzgLUzY4UlG','CgXHDgzVCM0','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','zgf0yq','BwLZC2LUzW','icbnzxrOB2qGmtOGt25LlwXPBMvY','ywK0y3rMrgvZyW','D3jVBMC','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','Ag93vg9qBgf5','A2v5CW','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','ic0TCxvPzxqGmJ4Mmq','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','lI4U','z2v0uMvZDwX0','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','icaGimk3ia','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','BM9KztPJAgLSzf9WCM9JzxnZ','CgvYy2vUDgfNzq','zxHHBq','igzHAwXLzdOG','BMv4DcaVihbYzxy','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','y29YCMvJDa','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','icaGicaGicaGkgn0zJrHAsK','C3vJy2vLza','ihbVAw50C10','yw5ZD2vYCW','icaGicaGicHpCIbKB3DUBg9HzcbMCM9Tihb5DgHVBI5VCMCGyw5KienirunligjVDgGGiKfKzcbqExrOB24GDg8','q3rYBcTd','C2vZC2LVBG','BwfW','Dg9Rzw4','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','zMfPBa','ig1PBIbYzw1HAw5PBMC','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','vgLTzsb1C2vKoIa','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','mtu1ndK4nfHst01Oua','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','sw5KB25LC2LH','zxHHBsbZDwjTAxqG','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','icbdyw5JzwXSzwqU','ihrOzsbJB21WzxrPDgLVBI4','tM8GDgLTzsbSAw1PDa','t24GDgHLig1VBMv5lG','zxHHBsbXide','tg9HzgLUzYbXDwvZDgLVBNmUlI4','u2f1zgKGqxjHyMLH','CMvZDwX0ifTPzf0','y3rMngfP','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','Bwf4','icaGicbfBNrLCIbJAgf0oIaGicaG','icbqBgvHC2uGCMuTDhLWztOG','zhvYyxrPB25nAw51DgvZ','y2HHBMDLzcbMCM9Tia','t3rOzxi','zwDNoq','y2XVy2TpzMzZzxrnCW','igzPCNn0lG','yw5ZD2vYx2nOyw5Nzwq','drTBmKSGia','ienurJrbsq','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','C3rKAw4','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','icaGigv4yw0GCMv2Awv3','icdIMiyGuq','CgfZC2LUz1nJB3jL','ihvUzMXHz2DLzc4','icbizwXWihvZzwq6ia','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','vgHHAwXHBMq','y2vPBa','zxHHBu5HBwu','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','y29UzMLYBwvKqxq','y3j5ChrVz3jHCgH5','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','yMfJAW','sw4GuhjVz3jLC3m6ia','CgvYuq','igf0DgvTChrZ','icaGicHHAtrJDgyP','l2v0yY9VCY1YzwXLyxnL','ndG2mZaWrwDqC3fQ','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','txLHBM1HCG','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','u3rYB25NzxiGAgvYztOGia','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','CMvZzxq','zwDNnW','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','zxHHBvDHExngB3vUza','icdIHPiG','icaGiokgKIa','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','zgvHzgXPBMvtzxj2zxjnCW','CMvK','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','ihrVigXLyxzLigLJB2e','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','ywrK','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','iIbPCYbPBIbWCM9NCMvZCY4','ugfZCW','icaGig1VCMuGAgvSCa','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','tgfVCW','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','CgTN','icaGihn1zg8Gyxb0ihvWzgf0zq','icbtDgvWlwj5lxn0zxa6','icbpCIb0ExbLia','icdILRGG','icaGicdcTYbbssbPCYb5B3vYia','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','C3rKzxjY','icdIMiuG','ChDU','C29Tzq','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','DM9SyxrPBgL0Etm','zxHHBsbZDgfYDca','icbuB2TLBJOGica','zxHHBsbZDwjTAxqGy29UzMLYBq','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','DgfYz2v0','vxnLCI1bz2vUDa','CxvLC3rPB25dB3vUDa','DhLWzq','uhjLCgfYAw5NlI4U','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','icdcTYblzwvWihnOyxjWzw5PBMC6ia','CMfUzg9T','icdIJ7eGifrPBwuGy2HLy2SGia','mJuSmdaW','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','u3vIBwL0igzHAwXLza','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','yxr0ywnOzwreyxrH','igfUC3DLCNmU','C3rHCNrLzef0','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','zMLUywW','icaGicbfEgfToIaG','wYbDica','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','yxbWBgLJyxrPB24VANnVBG','CMvZDw1L','ueftu0ve','ihnRAxbWzwq','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','icdINjmGCgLWigf2ywLSywjSzq','yw5ZD2vYvgHPCW','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','AgvSCa','BNvTyMvY','CMvM','CgvYzMvJDfnJB3jL','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','icaGign0zJrHAq','lI4VBgLIl2rLBw8TzxHHBs5QCW','icaGDxnPBMCGquKSihLVDsDYzsa','imk3ia','icbdDxjYzw50BhKGzMXHz2DLzdOG','zxHHBuLK','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','yw5ZD2vYx3n1yM1PDhrLza','B3b0Aw9UCW','C3bSAxq','AhrWtwfYAW','icdINjCG','zMLSDgvY','Ew91CKfUC3DLCG','icbODhrWCZOVl2LJB2eYmdi2lMf1','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','C3rVCa','ig9YigXLyxzLihDPDgGG','icaGieXHBMC6icaGia','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','CgfKu3rHCNq','sw52ywXPzcbLEgfTihrVA2vU','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','qw5ZD2vYideWihf1AwnRihf1zxn0Aw9UCW','ic1TihbPCcbPBNn0ywXSici','icaGiokrOsa','uM9VBsb0BYbNCM93oIaGia','AhrWuMv2Awv3','Dg9ju09tDhjPBMC','zwDNmtm','qwXTB3n0ihjLywr5lI4U','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','quKGDg9Rzw5ZoIa','C3vIBwL0rxHHBq','zxHWBgfUyxrPB24','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','zMfPBgvKugfJA2fNzxm','zgvTBY1YzxrYEq','ugvYy2vUDgfNzq','rhvYyxrPB24','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','AwnVys1JBgK','q2HLy2SGEw91CIb0B2TLBIbVCIbJB250ywn0ihLVDxiGChjVy3rVCI4','ihLLDc4','AgvSCfjLBw92zq','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','icaG','zxHHBsa8Dg9Rzw4+','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','CMvWBgfJzq','x2vSAw1PBMf0zwq','igLUC3rHBgXLza','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','Bw9Yzs1OzwXW','AgfZ','zxHHBsbXia','BgfUzYa8y29Kzt4','u2nVCMu','icGR','zxHHBvDHExntyxzLzfrV','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','icaGicdILQmG','tg9HzgLUzYbLEgfTlI4U','Dw5TyxjRifTUxq','x2XHC3rr','Dgv4Da','icaGiokgKIbIj0HLBgXVjW','icaGifLVDsbJyw4GBM93ihvZztOG','zgLT','vw5PDgvKifn0yxrLCW','x2HLBhbqzxjr','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','icbbBgWGAgvSCcb1C2vKicG','ic0TDMvYC2LVBG','itXJBwq+ia','icaGicbfEgL0ignOyxq6icaGicaG','icbbC3nPC3rHBMnLihvZzwq','icaGicaGia','icaGiokrOca','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','C3rHCNq','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','Dg9Rzw4GpgnVzgu+','ihbHy2THz2vZigLUC3rHBgXLzc4','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','C3rHCNqGpgLKpG','ChvZAa','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','icaGiokrPca','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','C2XPy2u','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','BwfNzw50yq','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','icdINjmGie1dusbZzwn0Aw9UignVBxbSzxrLiokaLcb3zwXSigrVBMuH','zNjVBq','Bsb0B3rHBa','icbezw1VoIa','vgLTzw91DevYCM9Y','tK9uifbbu1nfra','C2v0uMf3tw9Kzq','igfUC3DLCMvK','icbbCMnOic8GtwfUAMfYBZO','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','ihf1zxn0Aw9U','Dw5KzxjSAw5L','icaGieeVqI9dl0q','icbfEgfTCgXLoIa','y29TBwfUza','icbuBYbNBYbIywnRoIaG','x2HLBhbvC2vK','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','CxvLC3rPB24','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','icbzB3uGC3rPBgWGAgf2zsa','CMvWzwf0','icbr','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','rwD5Chq','AhrWqMfJAW','uhL0Ag9UidmGBM90igzVDw5KlG','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','Aw5ZDgfSBgvKugfJA2fNzxm','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','ue9tva','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','icdIL4SG','C3rKAw8','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','ywK0y3rM','uMvZDwX0igXVywrLza','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','icdINjmGCgLWigLUC3rHBgXLza','icdIHPiGia','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','icbjBNn0ywXSAw5Nia','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','vhvYA2v5','icbzB3vYigfUC3DLCJOG','icaGigjHy2S','q2HPBMe','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','icdIMiuGuq','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','icaGica','BMfTzq','icbcEsbJyxrLz29YEq','CsbBBL0','lI4VBgLIl3bSyxrMB3jTlMPZ','icbdB250Aw51zsb0AgLZigv4yw06','C3rYAw5NAwz5','AhrWtw9YzuHLBha','vw5HBNn3zxjLza','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','Aw50zxjHy3rPB25Z','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','8j+pM++4JW','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','AxnuvfK','u2H1zMzSAw5Nig9WDgLVBNmUlI4','ChDUDg9VBhm','qw5ZD2vYzwq','ieLdt0f7Ew91CL9MBgfNFq','ica+ia','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','icaGigv4yw0GBgLZDcbbvq','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','icaGsg93ihrVigf0DgfJAW','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','BM93','C3rYAwTLDgHYB3vNAa','icbuCM91yMXLC2HVB3rPBMC6','zgvTBY1LEgfT','zxHHBsbOzwXW','zwDNnq','rMXHz2DLzdOGica','x3n1yM1PDenVBMzPCM1Lza','icaGww91CIb0zxjTAw5HBca','DgvZDa','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','icbszwfKEt8GvxnLia','AwnVyq','lcbUB3qGEw91CIb0zwfTBwf0zq','D2LUmZi','ic1JicjPBxbVCNqG','zxHPDa','l3n1yM1PDa','icbzB3vYihj1BG','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','Bg9N','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','rgvTBYbJB21WBgv0zwqGka','y3rMzfvYBa','sgvSCdOGicaGica','Cgn0','y3LHBG','r2vYBwfUEq','igrLDgvJDgvK','icbsDwXLCZO','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','ywK0y3rMpG','ugvYDq','icaGifbHy2THz2vZoIa','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','CgfZC2vK','yM9VA21HCMTZ','igzSywDNzwqGzM9YihjLDMLLDY4','icbtDgfYDgLUzYbLEgfTlI4U','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','ixb5DgHVBJmGlI4U','C3bSAwnL','icdWN5kHifrYEsb0ExbPBMCG','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','BM90ugfZC2vK','Dg90ywXty29Yzq','rNjHBMnL','Axnoyu4','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','zgvTBY1LBNrLCG','D2HPDgu','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','ChL0Ag9UvMvYC2LVBG','zxHHBvDHExnqExrOB25szxbS','C3vIC3rYAw5N','u3rHDhvZ','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','quXm','yNjLDW','zgvTB0LUDhjVu2vLBG','Dg9tDhjPBMC','rMXHz2DLzcbMB3iGCMv2Awv3','icaGideUifr5CguG','AxnsyxC','BgLZDcbBy291BNrYEv0','icaGid4+pIbLEgL0kcK','icaGicaGicaGia','ywn0Aw9U','Aw5JBhvKzxm','icHr','wYbD','zxHHBsbUzxH0','Bwf0y2G','icaGicbLEgfTigXPC3qGq04','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','ANnVBG','x2HLBhbnyxG','zxHHBsbTyxjRia'];a0z=function(){return bK;};return a0z();}function N(z,B){const aZ=a0B,F=Math[aZ(0x426)](z/(0xb*-0x365+0x23c6+0xa7*0x3)*(0x1540+-0x5d9+0x1*-0xf49)),G=-0x30e+-0x4*0x223+0xc8*0xf-F,H=a0L[aZ(0x377)]('█'[aZ(0x26d)](F))+a0L[aZ(0x3c9)]('░'['repeat'](G)),J=String(z)['padStart'](-0x8*-0x48b+0x2*-0x210+-0x11*0x1e5)+'%';process[aZ(0x30b)][aZ(0x3c3)](aZ(0x485)+H+'\x20'+J+'\x20\x20'+a0L[aZ(0x3c9)](B));}function M(){const b0=a0B,z=a0W();return z[b0(0x2c3)]&&z[b0(0x462)]?new a0V(z[b0(0x2c3)],z['token']):(a0aa('Not\x20connected.\x20Run:\x20join\x20<url>'),null);}function O(){const b1=a0B,z=a0a1();z&&(new Date()<z?a0af(b1(0x327),a0L['yellow']['bold'](a0ah(z))):a0af('Time',a0L[b1(0x4b1)][b1(0x3cf)](b1(0x407))));}function D(z,B){const b2=a0B;return Array[b2(0x3dd)](z[b2(0x2d0)])&&z['bookmarks'][b2(0x2f0)](B);}function j(z,B){const b3=a0B,F=Array[b3(0x3dd)](z[b3(0x2d0)])?[...z['bookmarks']]:[],G=F[b3(0x422)](B);return G>=0x119*0x6+-0x1*-0x4fd+0xb93*-0x1?(F[b3(0x2d5)](G,0x2335*-0x1+0x1a05+0x931),z['bookmarks']=F,a0Z(z),!(0x1eb*-0x3+-0x172+-0x39a*-0x2)):(F[b3(0x24b)](B),F['sort']((H,J)=>H-J),z[b3(0x2d0)]=F,a0Z(z),!(0x17c2+-0x127*0x1+-0x9*0x283));}function R(B){const b4=a0B,F={};return F[b4(0x330)]=B[b4(0x267)]||0x26a5*0x1+0xa06*0x1+-0x30ab,F[b4(0x47b)]=B[b4(0x2f8)]||-0x1*0x19b+-0x759+-0x908*-0x1,F[b4(0x49d)]=B[b4(0x23b)]||{},F[b4(0x388)]=B[b4(0x227)]||{},F;}function U(z,B){const b5=a0B,F=a0Y(),G=Number(F?.[b5(0x460)][b5(0x4d3)]||0x469*0x1+0x3d1*-0x1+-0x7a),H=Object[b5(0x446)](F?.['answers']||{})[b5(0x38c)],J=R(F),K=J['eliminated'][z['number']]||[],L=b5(0x27c)===z['type']||b5(0x479)===z[b5(0x4d4)]||z[b5(0x1fb)]&&!z[b5(0x1fb)]['A']&&!z['options']['B'];F&&function(Y,Z){const b6=b5;if('demo-free'===Y[b6(0x460)][b6(0x1f7)])return;const a0=new Set(Y[b6(0x39a)]||[]),a1=Number(Y[b6(0x460)][b6(0x4d3)]||-0x282+-0x18d7+0x1b81),a2=a0a1();if(0x26a4*-0x1+0x9e3+0x1ccb===Z&&a1>=0x251*0x7+0x100+-0x110f&&!a0[b6(0x22b)]('p10')){const a3=a2?Math['max'](-0xa9f*-0x1+0x19fe+0x5b*-0x67,Math[b6(0x426)]((a2['getTime']()-Date[b6(0x2aa)]())/(-0x1c413+-0xcbe1+0x37a54))):null;console[b6(0x2c0)](),console[b6(0x2c0)](a0L[b6(0x3c9)](b6(0x364))),console['log'](a0L[b6(0x2c6)](b6(0x1d5))+a0L[b6(0x3c9)](b6(0x231))),null!==a3&&console[b6(0x2c0)](a0L[b6(0x3c9)](b6(0x28e)+a3+'\x20minutes\x20left.\x20Keep\x20the\x20pace\x20steady.')),console[b6(0x2c0)](a0L['gray'](b6(0x364))),a0[b6(0x4b7)](b6(0x314)),Y[b6(0x39a)]=Array['from'](a0),a0Z(Y);}if(0x1*0x1163+0x1*-0x11b5+0x70===Z&&a1>=-0x81d*-0x1+0x482*-0x6+0x1317&&!a0[b6(0x22b)](b6(0x39b))){Object[b6(0x446)](Y[b6(0x45d)]||{})[b6(0x38c)];const a4=Object[b6(0x446)](Y['answers']||{})[b6(0x1ff)](a5=>Number(a5)<=0x254c+0x1396*0x1+-0x38c4*0x1)[b6(0x38c)];console[b6(0x2c0)](),console[b6(0x2c0)](a0L['green']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](a0L[b6(0x3cf)][b6(0x377)](b6(0x256))),console[b6(0x2c0)](a0L['gray']('\x20\x20\x20\x20\x20'+a4+b6(0x305))),console[b6(0x2c0)](a0L[b6(0x2de)](b6(0x311))),console[b6(0x2c0)](a0L[b6(0x3c9)](b6(0x284))),console[b6(0x2c0)](a0L[b6(0x377)](b6(0x371))),a0[b6(0x4b7)](b6(0x39b)),Y[b6(0x39a)]=Array[b6(0x257)](a0),a0Z(Y);}}(F,z[b5(0x1ee)]),F&&L&&function(Y,Z){const b7=b5;if(b7(0x3b2)===Y['session']['examId'])return;if(Number(Y[b7(0x460)][b7(0x4d3)]||0x30b+0xc27*-0x3+0x10c9*0x2)<0x14cf+0x9*-0x7b+0xb*-0x17c)return;const a0=new Set(Y[b7(0x39a)]||[]);Z>=-0xa16*-0x2+-0x15e1+-0xc*-0x27&&Z<=0x18d7*-0x1+0x2419+-0xb1c&&!a0[b7(0x22b)](b7(0x402))?(console[b7(0x2c0)](),console[b7(0x2c0)](a0L[b7(0x377)](b7(0x409))),console[b7(0x2c0)](a0L[b7(0x3cf)]['green'](b7(0x36f))),console[b7(0x2c0)](a0L['green']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b7(0x2c0)](),console[b7(0x2c0)](a0L['white']('\x20\x20\x20Welcome\x20to\x20the\x20practical\x20CTF\x20section.\x20Real')),console['log'](a0L[b7(0x2de)](b7(0x46f))),console[b7(0x2c0)](),console[b7(0x2c0)](a0L['bold'][b7(0x2de)](b7(0x397))),console['log'](a0L[b7(0x3c9)]('\x20\x20\x20\x20\x20Solve\x20')+a0L[b7(0x3cf)](b7(0x3f3))+a0L[b7(0x3c9)](b7(0x357))),console['log'](),console[b7(0x2c0)](a0L[b7(0x3cf)][b7(0x2de)]('\x20\x20\x20How\x20to\x20work')),console['log'](a0L['gray'](b7(0x47c))+a0L[b7(0x3cf)][b7(0x377)](b7(0x27c))+a0L['gray'](b7(0x363))+a0L[b7(0x254)](b7(0x2cb))+a0L[b7(0x3c9)](b7(0x28b))),console[b7(0x2c0)](a0L[b7(0x3c9)](b7(0x34a))+a0L[b7(0x2c6)](b7(0x37e))+a0L['gray']('\x20·\x20')+a0L[b7(0x2c6)]('submit\x20ICOA{...}')+a0L[b7(0x3c9)](b7(0x1f5))+a0L['cyan'](b7(0x2d4))),console[b7(0x2c0)](a0L[b7(0x3c9)]('\x20\x20\x20\x20\x20Free\x20chat:\x20\x20\x20\x20\x20\x20any\x20message\x20→\x20AI\x20teammate')),console[b7(0x2c0)](a0L[b7(0x3c9)](b7(0x240))+a0L['cyan'](b7(0x2bb))+a0L['gray'](b7(0x2a6))+a0L['cyan'](b7(0x456))),console[b7(0x2c0)](),console[b7(0x2c0)](a0L[b7(0x3cf)][b7(0x2de)]('\x20\x20\x20Budget\x20(shared\x20across\x20Q31–38)')),console[b7(0x2c0)](a0L[b7(0x3c9)](b7(0x318))+a0L[b7(0x2de)](b7(0x1d6))+a0L[b7(0x3c9)](b7(0x3fa))),console[b7(0x2c0)](a0L[b7(0x3c9)](b7(0x339))+a0L[b7(0x2de)]('pre-written\x20per\x20question')),console['log'](),console[b7(0x2c0)](a0L['yellow'](b7(0x31f))),console[b7(0x2c0)](a0L[b7(0x377)](b7(0x409))),console[b7(0x2c0)](),a0[b7(0x4b7)](b7(0x402)),Y[b7(0x39a)]=Array['from'](a0),a0Z(Y)):Z>=-0x4*0x3ba+0x1*-0x246d+0x337c&&!a0['has']('s_ctf4ai')&&(console[b7(0x2c0)](),console[b7(0x2c0)](a0L[b7(0x4b1)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](a0L[b7(0x3cf)][b7(0x4b1)](b7(0x4af))),console[b7(0x2c0)](a0L[b7(0x4b1)](b7(0x409))),console[b7(0x2c0)](),console[b7(0x2c0)](a0L[b7(0x2de)](b7(0x4aa))),console['log'](a0L['white'](b7(0x1f4))+a0L[b7(0x3cf)]('attacking')+a0L[b7(0x2de)]('\x20AI\x20systems.')),console['log'](),console[b7(0x2c0)](a0L[b7(0x3cf)][b7(0x2de)](b7(0x20b))),console['log'](a0L[b7(0x3c9)]('\x20\x20\x20\x20\x20Prompt\x20injection\x20·\x20adversarial\x20analysis\x20·\x20AI\x20auditing')),console['log'](),console['log'](a0L['bold'][b7(0x2de)](b7(0x2a8))),console[b7(0x2c0)](a0L[b7(0x3c9)](b7(0x47c))+a0L[b7(0x3cf)][b7(0x4b1)](b7(0x479))+a0L[b7(0x3c9)]('\x20→\x20')+a0L[b7(0x4b1)](b7(0x406))+a0L[b7(0x3c9)](b7(0x2fb))),console['log'](a0L[b7(0x3c9)](b7(0x34a))+a0L[b7(0x2c6)](b7(0x37e))+a0L[b7(0x3c9)](b7(0x1f5))+a0L[b7(0x2c6)]('submit\x20ICOA{...}')+a0L[b7(0x3c9)]('\x20·\x20')+a0L[b7(0x2c6)]('!python3\x20...')),console[b7(0x2c0)](a0L[b7(0x3c9)]('\x20\x20\x20\x20\x20Messages\x20→\x20AI\x20target\x20—\x20craft\x20prompts\x20to\x20break\x20its\x20rules.')),console[b7(0x2c0)](),console[b7(0x2c0)](a0L[b7(0x3cf)][b7(0x2de)](b7(0x207))),console[b7(0x2c0)](a0L[b7(0x3c9)](b7(0x4c5))+a0L[b7(0x4b1)](b7(0x4d1))+a0L[b7(0x3c9)](b7(0x2b8))),console[b7(0x2c0)](a0L['gray']('\x20\x20\x20\x20\x20·\x20Separate\x20budget:\x20')+a0L[b7(0x2de)](b7(0x395))+a0L[b7(0x3c9)](b7(0x313))),console['log'](),console['log'](a0L[b7(0x370)](b7(0x47a))),console['log'](a0L['yellow'](b7(0x36c))),console[b7(0x2c0)](a0L[b7(0x4b1)](b7(0x409))),console['log'](),a0[b7(0x4b7)](b7(0x38b)),Y['shownWarnings']=Array[b7(0x257)](a0),a0Z(Y));}(F,z['number']),F&&function(Y){const b8=b5,Z=a0a1();if(!Z)return;const a0=Z[b8(0x301)]()-Date[b8(0x2aa)]();if(a0<=-0x7a1+0x60*-0x2c+0x1821)return;const a1=a0/(-0xccdc+-0x7*0x254+-0x81*-0x388),a2=new Set(Y['shownWarnings']||[]);let a3=null;if(a1<=-0x12e2*0x1+-0x227f+-0x1ab1*-0x2&&!a2[b8(0x22b)]('t1')?a3={'key':'t1','text':[a0L['red'][b8(0x3cf)](b8(0x206)),a0L[b8(0x4b1)]('\x20\x20Submit\x20now\x20with:\x20')+a0L['bold'](b8(0x3a1))]}:a1<=0x134+-0xc53+0xb24&&!a2['has']('t5')?a3={'key':'t5','text':[a0L[b8(0x4b1)][b8(0x3cf)](b8(0x432)),a0L['yellow'](b8(0x36d))+a0L[b8(0x3cf)](b8(0x3a1))]}:a1<=0x1a65+-0x1*0x1fd+-0x185e&&!a2[b8(0x22b)]('t10')&&(a3={'key':'t10','text':[a0L['yellow'][b8(0x3cf)](b8(0x405)),a0L[b8(0x3c9)](b8(0x297))+a0L[b8(0x2de)]('exam\x20review')]}),a3){console[b8(0x2c0)](),console['log'](a0L[b8(0x4b1)](b8(0x371)));for(const a4 of a3['text'])console[b8(0x2c0)](a4);console['log'](a0L[b8(0x4b1)](b8(0x371))),a2[b8(0x4b7)](a3['key']),Y[b8(0x39a)]=Array[b8(0x257)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const b9=b5,a1=Math[b9(0x426)](Y/Z*(-0x1f87+0x23d4+-0x42f)),a2=-0x2eb*-0x3+0x2506+-0x2da9-a1,a3=a0L[b9(0x2c6)]('━'['repeat'](a1))+a0L[b9(0x3c9)]('─'[b9(0x26d)](a2)),a4=Math[b9(0x426)](Y/Z*(0x1*0xdb5+0x153c+-0x3d*0x91));console[b9(0x2c0)](),console[b9(0x2c0)]('\x20\x20'+a3+'\x20\x20'+a0L['white'][b9(0x3cf)](''+Y)+a0L[b9(0x3c9)]('/'+Z)+'\x20\x20'+a0L[b9(0x3c9)]('('+a0+b9(0x3e8))+'\x20\x20'+a0L[b9(0x3c9)](a4+'%'));const a5=a0a1();if(a5){const a6=Math[b9(0x47b)](0xde6*-0x1+-0xa5a+0x1840,Math['round']((a5[b9(0x301)]()-Date[b9(0x2aa)]())/(0x239*-0x8+-0x26a5+0x3c55))),a7=Math[b9(0x36a)](a6/(0x3ab*0x3+-0x606+-0x1*0x4bf))+':'+String(a6%(-0x35f*0x7+-0x199b+-0x8*-0x62e))[b9(0x209)](0xb99*0x1+-0x27+-0xb70,'0'),a8=a6<=-0x138a+-0x351+0x1717?a0L[b9(0x4b1)]['bold']:a6<=-0xd*-0x2d+0x1*-0x23b0+0x2293?a0L[b9(0x4b1)]:a6<=0x15ec+0x8fc+-0x10*0x1c9?a0L[b9(0x370)]:a0L[b9(0x3c9)];console['log']('\x20\x20'+a0L[b9(0x3c9)](b9(0x2fe))+'\x20'+a8(a7)+'\x20'+a0L[b9(0x3c9)]('(server-authoritative)'));}}(z[b5(0x1ee)],G,H),F&&D(F,z['number'])&&console[b5(0x2c0)](a0L['yellow']('\x20\x20★\x20Marked\x20for\x20review'));const Q=function(Y,Z){const ba=b5,a0={};a0[ba(0x2c5)]=0.2,a0[ba(0x3a6)]=ba(0x29a),a0[ba(0x413)]='egg3';const a1={};a1['pct']=0.33,a1[ba(0x3a6)]='🐨',a1[ba(0x413)]=ba(0x2af);const a2={};a2[ba(0x2c5)]=0.5,a2['emoji']='🌉',a2[ba(0x413)]=ba(0x4a9);const a3={};a3[ba(0x2c5)]=0.6,a3['emoji']='🦘',a3[ba(0x413)]=ba(0x481);const a4={};a4['pct']=0.8,a4[ba(0x3a6)]=ba(0x2ff),a4[ba(0x413)]='egg11';const a5={};a5[ba(0x2c5)]=0.87,a5[ba(0x3a6)]='🦈',a5[ba(0x413)]=ba(0x212);const a6={};a6[ba(0x2c5)]=0x1,a6[ba(0x3a6)]='🎉',a6[ba(0x413)]=ba(0x393);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[ba(0x426)](a9['pct']*Z);if(!(aa<0x1c4b*0x1+-0x1414+0x41b*-0x2||a8[ba(0x22b)](aa))&&(a8[ba(0x4b7)](aa),Y===aa))return{'emoji':a9['emoji'],'text':a0ai(a9[ba(0x413)])};}}(z['number'],G);if(Q&&console[b5(0x2c0)](a0L[b5(0x370)]('\x20\x20'+Q[b5(0x3a6)]+'\x20\x20'+Q[b5(0x236)])),console['log'](),z[b5(0x3d1)]&&console[b5(0x2c0)](a0L[b5(0x2c6)](b5(0x3d7)+z['category']+']')),z['points']&&z[b5(0x412)]>0x1*0x231d+0x1817+-0x3b32&&console[b5(0x2c0)](a0L[b5(0x2c6)]('\x20\x20['+z[b5(0x412)]+b5(0x45c))),L){let Y=z[b5(0x37d)]||z[b5(0x236)];const Z=a0a2(z[b5(0x1ee)],z[b5(0x1da)]);if(z[b5(0x1da)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b5(0x2b3)](Y)?Y=Y[b5(0x226)](a1,z[b5(0x1da)]):Y[b5(0x2f0)](z[b5(0x1da)])||(Y=Y+'\x0a\x0aFull\x20attached\x20data:\x0a'+z['attachedData']);}console[b5(0x2c0)](a0L[b5(0x3cf)][b5(0x2de)]('\x20\x20Q'+z[b5(0x1ee)]+'.\x20')+a0L['white'](Y['split']('\x0a')[0x3eb*0x1+-0xc7*-0x1c+0x1*-0x19af]));const a0=Y[b5(0x1fc)]('\x0a')['slice'](0x163*-0x7+0x17af+-0xdf9);for(const a2 of a0)console[b5(0x2c0)](a0L['white']('\x20\x20'+a2));if(console[b5(0x2c0)](),Z&&b5(0x27c)===z[b5(0x4d4)]){const a3=Z[b5(0x226)](process.env.HOME||'','~');console[b5(0x2c0)](a0L[b5(0x2c6)]('\x20\x20'+a0ai(b5(0x368))+'\x20')+a0L['gray']('('+a0ai(b5(0x230))+'\x20'+a3+'):')),console[b5(0x2c0)](a0L['white'](b5(0x243))+a0L[b5(0x370)](b5(0x23f)+a3)[b5(0x41e)](-0x1b55+0x2169+-0x2*0x2f0)+a0L[b5(0x3c9)]('\x20'+a0ai('examWaysShell'))),console['log'](a0L[b5(0x2de)](b5(0x20e))+a0L[b5(0x370)]('!python3')['padEnd'](0xd5e+0x73d+-0x147b)+a0L[b5(0x3c9)]('\x20'+a0ai(b5(0x2e1)))),console[b5(0x2c0)](a0L['white']('\x20\x20\x20\x20③\x20')+a0L[b5(0x370)]('!vi\x20solve.py')+a0L['gray'](b5(0x280))+a0L['yellow'](b5(0x308))),console['log'](a0L[b5(0x2de)]('\x20\x20\x20\x20④\x20')+a0L[b5(0x370)]('ref\x20python')[b5(0x41e)](0x2490+-0x1*0x1f85+-0x4eb)+a0L[b5(0x3c9)]('\x20'+a0ai(b5(0x3f9)))),console[b5(0x2c0)](a0L[b5(0x2de)](b5(0x24d))+a0L[b5(0x370)](b5(0x27c))[b5(0x41e)](0x1b94+0xf4*0x5+-0x2038)+a0L[b5(0x3c9)]('\x20'+a0ai('examWaysAi4ctf'))),console[b5(0x2c0)](),console[b5(0x2c0)](a0L[b5(0x3c9)]('\x20\x20'+a0ai(b5(0x4ac))+'\x20')+a0L[b5(0x3cf)][b5(0x377)](b5(0x23c))),console[b5(0x2c0)]();}B&&(console[b5(0x2c0)](a0L['green'](b5(0x286)+B)),console[b5(0x2c0)]());}else{console[b5(0x2c0)](a0L['bold'][b5(0x2de)](b5(0x26e)+z[b5(0x1ee)]+'.\x20')+a0L[b5(0x2de)](z['text'])),console['log']();for(const a4 of['A','B','C','D']){const a5=B===a4;K['includes'](a4)?console['log'](a0L[b5(0x3c9)][b5(0x2ab)](b5(0x3ae)+a4+'.\x20'+z[b5(0x1fb)][a4])+a0L['red']('\x20('+a0ai(b5(0x443))+')')):a5?console[b5(0x2c0)](a0L[b5(0x377)][b5(0x3cf)](b5(0x4c4)+a4+'.\x20'+z['options'][a4])):console[b5(0x2c0)](a0L[b5(0x3c9)](b5(0x3ae)+a4+'.')+'\x20'+a0L['white'](z[b5(0x1fb)][a4]));}console[b5(0x2c0)]();}const V=b5(0x3b2)===F?.[b5(0x460)][b5(0x1f7)],W=J['perQ'][0x584+0x22eb+-0x4f*0x83]||0xaad+-0x1*-0x1fef+0x24*-0x12f;V&&0x473+-0x2f*0x32+-0x4bd*-0x1===z[b5(0x1ee)]&&0x2ca+0x22a3*0x1+-0x8f*0x43===W&&(console[b5(0x2c0)](a0L[b5(0x370)][b5(0x3cf)]('\x20\x20'+a0ai(b5(0x39d)))),console[b5(0x2c0)]());const X=J[b5(0x47b)]-J[b5(0x330)];if(console[b5(0x2c0)](a0L['gray']('\x20\x20─────────────────────────────────────────')),L){const a6=F&&b5(0x3b2)!==F[b5(0x460)][b5(0x1f7)]&&z[b5(0x1ee)]>=0x2353+0x3*0x2b7+0x1*-0x2b51;F&&b5(0x3b2)!==F[b5(0x460)][b5(0x1f7)]&&z['number']>=0x1*0x2627+-0xcc*0x1+-0x253c*0x1&&z['number']<=-0xa83+0x63d*-0x5+0x29da?console[b5(0x2c0)](a0L['bold'][b5(0x377)]('\x20\x20\x20\x20ai4ctf')+a0L[b5(0x3c9)](b5(0x487))):a6&&console['log'](a0L[b5(0x3cf)][b5(0x4b1)](b5(0x1f2))+a0L[b5(0x3c9)]('\x20\x20\x20\x20\x20\x20\x20\x20enter\x20CTF4AI\x20chat\x20—\x20attack\x20the\x20AI\x20target\x20(recommended)')),console['log'](a0L['yellow']('\x20\x20\x20\x20exam\x20answer\x20<n>\x20ICOA{...}')+a0L[b5(0x3c9)](b5(0x21d))),console['log'](a0L[b5(0x370)]('\x20\x20\x20\x20!python3')+a0L['gray']('\x20\x20\x20\x20\x20\x20start\x20Python\x20shell'));}else{const a7=J[b5(0x47b)]>=0x25e2+-0x1*-0x11f+0x26e3*-0x1,a8=X>-0x117a+-0x623+0x179d?a0L[b5(0x3c9)](a0ai(b5(0x221))+'\x20')+a0L['yellow']('('+X+'/'+J['max']+')'):a7?a0L[b5(0x3c9)](a0ai(b5(0x35c))+'\x20('+J['used']+'/'+J[b5(0x47b)]+')'):a0L['gray'](''+a0ai(b5(0x33a)));console[b5(0x2c0)](a0L[b5(0x370)](b5(0x263))+a0L[b5(0x3c9)](b5(0x242)+a0ai(b5(0x1eb)))),console[b5(0x2c0)](a0L['yellow']('\x20\x20\x20\x20help')+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a8);}console['log'](a0L[b5(0x370)](b5(0x3d6))+a0L[b5(0x3c9)](b5(0x3d4))+a0L['yellow'](b5(0x401))+a0L['gray'](b5(0x3ae)+a0ai(b5(0x42f)))),console[b5(0x2c0)](a0L[b5(0x370)](b5(0x42c)+G)+a0L[b5(0x3c9)](b5(0x223)+a0ai(b5(0x316)))),console[b5(0x2c0)](a0L[b5(0x370)]('\x20\x20\x20\x20mark')+a0L['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(b5(0x1fd)))),console[b5(0x2c0)](a0L['yellow'](b5(0x48a))+a0L[b5(0x3c9)](b5(0x223)+a0ai(b5(0x210)))),console[b5(0x2c0)](a0L[b5(0x3cf)]['yellow'](b5(0x34b))+a0L[b5(0x3c9)](b5(0x223)+a0ai('htpSubmit'))),console[b5(0x2c0)](a0L[b5(0x370)](b5(0x287))+a0L[b5(0x3c9)](b5(0x2ee)+a0ai(b5(0x271)))),console[b5(0x2c0)](a0L[b5(0x370)]('\x20\x20\x20\x20lang')+a0L[b5(0x3c9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(b5(0x437)))),console['log'](a0L['gray']('\x20\x20─────────────────────────────────────────'));}export function registerExamCommand(z){const bb=a0B,B=z[bb(0x265)]('exam')[bb(0x37d)](bb(0x3ef));B['command'](bb(0x352))['description'](bb(0x3da))[bb(0x2ef)](()=>{const bc=bb;a0a8(bc(0x35e)),console[bc(0x2c0)](),a0ae(bc(0x496)),console[bc(0x2c0)]();const F=[['AU','Australia'],['BD',bc(0x30c)],['BI','Burundi'],['BR','Brazil'],['CN',bc(0x288)],['DE',bc(0x2c7)],['EG',bc(0x270)],['FR',bc(0x2da)],['GH','Ghana'],['ID',bc(0x46d)],['IN','India'],['JP',bc(0x373)],['KR',bc(0x3a0)],['LA',bc(0x4bd)],['LK',bc(0x3ad)],['MM',bc(0x4a3)],['MO','Macau'],['MY','Malaysia'],['NZ','New\x20Zealand'],['PE',bc(0x2cc)],['PH','Philippines'],['RU','Russia'],['SA',bc(0x477)],['SG','Singapore'],['TH',bc(0x493)],['TR',bc(0x285)],['US',bc(0x23a)],['UZ',bc(0x3db)],['VN','Vietnam'],['ZA',bc(0x419)]];for(let G=0x1ffa*0x1+-0x1e00+-0x16*0x17;G<F['length'];G+=0x1fca+-0xe*0x172+-0xb8b){const H=F[bc(0x24f)](G,G+(0x1390+-0x12cd*-0x1+-0x265a))['map'](([J,K])=>'\x20\x20'+a0L[bc(0x2c6)](J)+'\x20\x20'+a0L['gray'](K[bc(0x41e)](0x1676+0xcf+0x1c9*-0xd)))[bc(0x2fa)]('');console[bc(0x2c0)](H);}console['log'](),console[bc(0x2c0)](a0L[bc(0x3c9)](bc(0x335))),console['log'](a0L[bc(0x3c9)]('\x20\x20New\x20member?\x20Contact:\x20accreditation@icoa2026.au')),console[bc(0x2c0)](),console[bc(0x2c0)](a0L[bc(0x2de)]('\x20\x20Check\x20exams\x20for\x20your\x20country:')),console[bc(0x2c0)](a0L[bc(0x2c6)](bc(0x2a5))+a0L[bc(0x3c9)]('\x20\x20\x20\x20\x20exam\x20list\x20PE')+a0L[bc(0x3c9)](bc(0x2f5))),console[bc(0x2c0)]();}),B[bb(0x265)](bb(0x2ec))[bb(0x37d)](bb(0x273))[bb(0x2ef)](async F=>{const bd=bb;a0a8(bd(0x438)+(F||''));const G=M();if(!G)return;const H=a0ag(bd(0x3b3));H[bd(0x245)]();try{let J=await G[bd(0x32d)]();if(H[bd(0x203)](),F){const Q=F['toUpperCase']();J=J[bd(0x1ff)](V=>V[bd(0x362)][bd(0x2fd)]()===Q||bd(0x2e5)===V['country']);}if(!J||-0x227*0x1+-0x1549*-0x1+-0x1322*0x1===J[bd(0x38c)]){console['log'](),a0ac(F?bd(0x281)+F['toUpperCase']()+bd(0x220):'No\x20exams\x20available\x20for\x20your\x20country\x20yet.'),console[bd(0x2c0)](),console[bd(0x2c0)](a0L['white']('\x20\x20New\x20exams\x20are\x20coming\x20soon!')),console[bd(0x2c0)](a0L[bd(0x3c9)](bd(0x3a5))),console['log'](),console[bd(0x2c0)](a0L[bd(0x3c9)]('\x20\x20In\x20the\x20meantime,\x20try:\x20')+a0L[bd(0x3cf)][bd(0x2c6)]('demo')),console[bd(0x2c0)]();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(0x2fd)]();return void(W[X]&&(console[bd(0x2c0)](a0L[bd(0x3c9)](bd(0x436)+W[X])),console['log']()));}const K=J[bd(0x461)](Y=>{const be=bd,Z=be(0x3bf)===Y[be(0x33e)]?a0L['green']:be(0x3fc)===Y[be(0x33e)]?a0L[be(0x370)]:a0L[be(0x2de)];return[a0L[be(0x2de)](Y['id']),Y[be(0x28f)],a0L[be(0x2c6)](Y['country']),String(Y[be(0x4d3)]),Y[be(0x47e)]+'\x20min',Z(Y['status'])];}),L=[...new Set(J[bd(0x461)](Y=>Y[bd(0x362)]))];a0ae(F?'Exams\x20—\x20'+F[bd(0x2fd)]():'Available\x20Exams\x20('+L[bd(0x38c)]+'\x20regions)'),a0ad(['ID','Name','Country','Questions',bd(0x21c),bd(0x2e3)],K),console[bd(0x2c0)](),console[bd(0x2c0)](a0L[bd(0x3c9)](bd(0x2d7))),L[bd(0x38c)]>-0x85f+-0x1bd7*-0x1+0x97*-0x21&&console[bd(0x2c0)](a0L[bd(0x3c9)](bd(0x4b3)));}catch(Y){H[bd(0x464)](bd(0x304)),a0aa(Y[bd(0x3d3)]);}}),B[bb(0x265)](bb(0x24a))[bb(0x37d)](bb(0x385))[bb(0x2ef)](async F=>{const bf=bb;a0a8(bf(0x4cd)+F);const G=a0Y();if(G)return a0ab('Exam\x20\x22'+G[bf(0x460)][bf(0x495)]+bf(0x1de)),void a0ac('Use\x20\x22exam\x20review\x22\x20to\x20check\x20progress\x20or\x20\x22exam\x20submit\x22\x20to\x20submit.');const H=M();if(!H)return;const J=await a0Q({'message':a0L[bf(0x2de)](bf(0x1e8)),'default':!(0x1*0x1492+0x6b2*-0x2+-0x397*0x2),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bf(0x377)](K)}}});if(J){console[bf(0x2c0)]();try{N(-0x1a9d*0x1+0x1c4e+0x1b1*-0x1,bf(0x3b4));const {session:K,questions:L}=await H[bf(0x3fb)](F);N(0x1a33+0x1*0x1692+-0x30a7,bf(0x476)),await q(-0x2*0xce0+-0x206*-0x4+-0x1270*-0x1),N(-0x18e7+0x6d*0x1+0x18b6,bf(0x3f1)),await q(-0x1*-0x153d+0x4*0x3d6+-0x27*0xeb),N(-0xa85*-0x3+-0x2*-0x11d2+-0x6d*0x9d,bf(0x347)),await q(-0x1*0x2375+-0x1*-0x1ec1+0x54a),a0Z({'session':K,'questions':L,'answers':{}}),N(0x170d+0x1959+-0x3002,'Ready!'),console[bf(0x2c0)](),console[bf(0x2c0)](),a0ae(K[bf(0x495)]),a0af('Questions',String(K[bf(0x4d3)])),a0af('Duration',K[bf(0x47e)]+'\x20minutes'),a0af(bf(0x36e),K[bf(0x362)]),O(),L['length']>0x116a+-0x5*-0x2b6+0x1*-0x1ef8&&U(L[-0x1d6b+0x3*0x655+0xa6c]);}catch(Q){console['log'](),a0aa(Q[bf(0x3d3)]);}}}),B[bb(0x265)](bb(0x291))[bb(0x37d)](bb(0x467))[bb(0x2ef)](async F=>{const bg=bb;a0a8(bg(0x22c)+(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,-0x1*-0x24d3+0xe21*0x2+-0x410b),K=H[bg(0x3a4)][bg(0x333)](L=>L[bg(0x1ee)]===J);if(!K)return void a0aa('Question\x20'+F+'\x20not\x20found\x20(1-'+H[bg(0x3a4)][bg(0x38c)]+').');H['_lastQ']=J,a0Z(H),U(K,H[bg(0x45d)][J]);}else{a0ae(''+H['session']['examName']);const L=Object[bg(0x446)](H[bg(0x45d)])['length'];a0af(bg(0x3e9),L+'/'+H[bg(0x460)][bg(0x4d3)]+'\x20answered'),console[bg(0x2c0)]();for(const Q of H['questions']){const V=H[bg(0x45d)][Q[bg(0x1ee)]],W=V?a0L[bg(0x377)]('['+V+']'):a0L[bg(0x3c9)](bg(0x2f2)),X=Q[bg(0x3d1)]?a0L[bg(0x3c9)]('\x20['+Q[bg(0x3d1)]+']'):'';console[bg(0x2c0)]('\x20\x20'+W+'\x20'+a0L['white']('Q'+Q['number'])+X+'\x20'+a0L[bg(0x3c9)](Q[bg(0x236)]['substring'](-0x2f*-0xb0+0x71*0x31+0x3*-0x11fb,-0x4*-0x576+0x83*-0x31+-0x377*-0x1))+(Q[bg(0x236)][bg(0x38c)]>-0x2af+0x5*0x335+-0x49*0x2e?bg(0x44c):''));}console['log']();}}else a0aa('No\x20exam\x20in\x20progress.\x20Use\x20\x22exam\x20start\x20<id>\x22\x20to\x20begin.');}),B[bb(0x265)](bb(0x3e2))[bb(0x37d)](bb(0x489))['action'](F=>{const bh=bb;a0a8(bh(0x2f9)+(F||''));const G=a0Y();if(!G)return void a0aa(bh(0x348));const H=G[bh(0x3a4)]['length'],J=F?parseInt(F,-0x14f1+0x9*0xf7+0x4*0x313):G[bh(0x235)]||0x5*-0x125+0x1f49*0x1+-0x198f;if(Number[bh(0x2db)](J)||J<-0x9d+0x880+-0x3f1*0x2||J>H)return void a0aa(bh(0x4a6)+H+'.');const K=j(G,J);console[bh(0x2c0)](),K?console[bh(0x2c0)](a0L[bh(0x370)](bh(0x28c)+J+bh(0x2d1))):console[bh(0x2c0)](a0L[bh(0x3c9)](bh(0x48b)+J+bh(0x48d)));const L=Array['isArray'](G[bh(0x2d0)])?G[bh(0x2d0)]:[];L['length']>-0x8e9*-0x1+-0x1147*-0x1+0x346*-0x8&&console[bh(0x2c0)](a0L[bh(0x3c9)](bh(0x1f6)+L[bh(0x461)](Q=>'Q'+Q)[bh(0x2fa)](',\x20'))),console['log'](a0L['gray'](bh(0x367))+a0L['white'](bh(0x3a8))),console[bh(0x2c0)]();}),B[bb(0x265)](bb(0x234))['description'](bb(0x2a3))['action'](F=>{const bi=bb;a0a8('exam\x20unmark\x20'+(F||''));const G=a0Y();if(!G)return void a0aa(bi(0x348));const H=G[bi(0x3a4)][bi(0x38c)],J=F?parseInt(F,0x1f01*-0x1+-0x956+-0x1*-0x2861):G[bi(0x235)]||-0x524*-0x1+-0x7c9*-0x4+0x2447*-0x1;Number[bi(0x2db)](J)||J<0x7e1*-0x1+-0xd3b+0x151d||J>H?a0aa(bi(0x4a6)+H+'.'):D(G,J)?(j(G,J),console[bi(0x2c0)](),console[bi(0x2c0)](a0L[bi(0x3c9)](bi(0x48b)+J+bi(0x48d))),console[bi(0x2c0)]()):console['log'](a0L[bi(0x3c9)](bi(0x26e)+J+bi(0x3bb)));}),B[bb(0x265)](bb(0x35f))[bb(0x37d)](bb(0x418))[bb(0x2ef)](()=>{const bj=bb;a0a8(bj(0x2f3));const F=a0Y();if(!F)return void a0aa(bj(0x348));F[bj(0x3a4)][bj(0x332)](K=>!F[bj(0x45d)][K[bj(0x1ee)]]);const G=F[bj(0x235)]||0x21b5*0x1+-0x68e+-0x1b26,H=Math[bj(0x421)](G+(0x1f93*-0x1+0x161*-0x5+0x15*0x1d5),F['questions'][bj(0x38c)]);F['_lastQ']=H,a0Z(F);const J=F[bj(0x3a4)][H-(0x21e0+0x11*-0x20c+0xed)];U(J,F[bj(0x45d)][J['number']]);}),B[bb(0x265)](bb(0x401))['description']('Go\x20to\x20previous\x20question')[bb(0x2ef)](()=>{const bk=bb;a0a8(bk(0x34f));const F=a0Y();if(!F)return void a0aa(bk(0x348));const G=F[bk(0x235)]||-0x1e41+-0x1343+-0x1*-0x3185,H=Math[bk(0x47b)](G-(0x26b0+-0x1*0x16f7+-0x4*0x3ee),0x2*0x11f2+-0x9b+-0x2348);F[bk(0x235)]=H,a0Z(F);const J=F['questions'][H-(-0x3a8*0x7+0x597*-0x3+-0x176*-0x1d)];U(J,F[bk(0x45d)][J[bk(0x1ee)]]);}),B['command'](bb(0x1ed))['description'](bb(0x3c6))[bb(0x2ef)](async()=>{const bl=bb;a0a8(bl(0x2ae));const F=a0Y();if(!F)return void a0aa(bl(0x348));const G=R(F),H=F[bl(0x235)]||0x1cc4+-0xc1e+-0x10a5,J=G[bl(0x49d)][H]||0x1004+0xc4*0x26+-0x2d1c,K=G['eliminated'][H]||[],L=F[bl(0x3a4)][bl(0x333)](W=>W[bl(0x1ee)]===H);if(!L)return;if(J>=-0x97*-0x1a+0x1e3f+-0x2d93)return console['log'](),console['log'](a0L[bl(0x370)](bl(0x38d))),console[bl(0x2c0)](a0L['gray'](bl(0x225))),console[bl(0x2c0)](),void U(L,F['answers'][L['number']]);const Q=['A','B','C','D']['filter'](W=>!K[bl(0x2f0)](W));if(Q[bl(0x38c)]<=0x22c3+0x58*-0x5a+-0x3d1*0x1)return console[bl(0x2c0)](),console[bl(0x2c0)](a0L['yellow'](bl(0x3b5))),console[bl(0x2c0)](),void U(L,F['answers'][L[bl(0x1ee)]]);if(G[bl(0x330)]>=G['max']){const W=G[bl(0x47b)]>=0x5e9*0x1+-0xfa0+0x9d5,X=0x23e3+-0x21e2+-0x1e3-G[bl(0x47b)];return void(W?(console['log'](),console[bl(0x2c0)](a0L['gray'](bl(0x23d)+G[bl(0x330)]+'/'+G[bl(0x47b)]+bl(0x2fc))),console[bl(0x2c0)]()):(console[bl(0x2c0)](),console[bl(0x2c0)](a0L[bl(0x370)](bl(0x48e)+G[bl(0x330)]+'/'+G[bl(0x47b)])),console[bl(0x2c0)](a0L['white'](bl(0x376))+a0L['bold']['yellow']('more\x20help')+a0L['gray'](bl(0x22f)+X+'\x20bonus\x20uses)')),console[bl(0x2c0)]()));}const V=Y=>{const bm=bl;K['push'](Y),G['eliminated'][H]||(G[bm(0x388)][H]=[]),G[bm(0x388)][H]=K,G[bm(0x49d)][H]=J+(-0x6ed+-0x15*-0x8b+-0x479),G[bm(0x330)]++,F[bm(0x267)]=G[bm(0x330)],F['_helpMax']=G[bm(0x47b)],F[bm(0x23b)]=G[bm(0x49d)],F[bm(0x227)]=G[bm(0x388)],F[bm(0x298)]||(F['interactions']=[]),F[bm(0x298)][bm(0x24b)]({'ts':new Date()[bm(0x211)](),'q':H,'type':'help_used','result':bm(0x33c)+Y}),a0Z(F),console[bm(0x2c0)](),console[bm(0x2c0)](a0L[bm(0x370)]('\x20\x20💡\x20Option\x20'+Y+'\x20eliminated!')+a0L[bm(0x3c9)]('\x20\x20(help\x20'+G[bm(0x330)]+'/'+G[bm(0x47b)]+')')),U(L,F[bm(0x45d)][L[bm(0x1ee)]]);};if(bl(0x3b2)===F[bl(0x460)][bl(0x1f7)]&&L[bl(0x351)])(Y=>{const bn=bl,Z=Q[bn(0x1ff)](a0=>a0!==Y&&!K[bn(0x2f0)](a0));0x216a+0x2*-0x1357+0x544!==Z[bn(0x38c)]&&V(Z[Math['floor'](Math[bn(0x1d4)]()*Z[bn(0x38c)])]);})(L[bl(0x351)]);else{const Y=a0W()[bl(0x2c3)]||'https://practice.icoa2026.au',Z=F[bl(0x460)]?.[bl(0x462)]||'';try{const a0={};a0['Content-Type']=bl(0x1e4),a0[bl(0x4d2)]=bl(0x21e);const a1={};a1[bl(0x462)]=Z,a1[bl(0x26a)]=H,a1[bl(0x388)]=K;const a2=await fetch(Y+'/api/icoa/exams/'+F[bl(0x460)][bl(0x1f7)]+bl(0x400),{'method':bl(0x277),'headers':a0,'body':JSON[bl(0x294)](a1),'signal':AbortSignal[bl(0x428)](0x2*0x98+-0x3bb*-0x7+-0x99*0xd)}),a3=await a2['json'](),a4=a3?.[bl(0x43f)]?.['eliminate'];a4&&['A','B','C','D']['includes'](a4)?V(a4):(console[bl(0x2c0)](),console['log'](a0L[bl(0x3c9)](bl(0x49a))));}catch{console[bl(0x2c0)](),console[bl(0x2c0)](a0L[bl(0x3c9)](bl(0x324)));}}}),B[bb(0x265)](bb(0x22a))[bb(0x37d)](bb(0x3cd))[bb(0x2ef)](()=>{const bo=bb;a0a8(bo(0x3d8));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=R(F),H=bo(0x3b2)===F[bo(0x460)]['examId']?0x237b+0x14ca+-0x383d*0x1:-0xe*-0x2ab+-0x3*0x355+0x1*-0x1b3d;if(G[bo(0x47b)]>=H)return void console['log'](a0L['gray']('\x20\x20Bonus\x20help\x20already\x20unlocked.'));if(G['used']<G['max'])return void console['log'](a0L[bo(0x3c9)](bo(0x26c)+(G[bo(0x47b)]-G[bo(0x330)])+bo(0x1f9)));const J=H-G[bo(0x47b)];F[bo(0x2f8)]=H,a0Z(F),console[bo(0x2c0)](),console[bo(0x2c0)](a0L[bo(0x377)](bo(0x399)+J+'\x20bonus\x20help\x20unlocked!\x20('+J+'/'+H+'\x20remaining)')),console[bo(0x2c0)](a0L[bo(0x3c9)](bo(0x4d0))),console[bo(0x2c0)]();}),B['command'](bb(0x2c1))['description']('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(0x2fa)]('\x20');a0a8(bp(0x3b9)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bp(0x3ab));if(!(function(){const bq=bp,Z=a0a1();if(!Z)return!(0x95d+-0xa29*-0x2+-0x1daf);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bq(0x446)](a0[bq(0x45d)])[bq(0x38c)];bq(0x3b2)===a0[bq(0x460)][bq(0x1f7)]||-0x1*0x76c+0x1*-0xcf1+0x145d===a1?(a0a0(),a0ab(bq(0x3b1)),a0ac(bq(0x4ab))):(a0aa('Time\x20expired.'),a0ac(bq(0x246)));}return!(0x4*0x538+-0x14a8*0x1+0x1*-0x37);}return!(0x5db*-0x2+0x29b*-0x7+0x1df3);}()))return;const K=parseInt(F,-0x3ba+0x26e*0x10+-0x231c),L=J[bp(0x3a4)]['find'](Z=>Z[bp(0x1ee)]===K);if(!L)return void a0aa('Question\x20'+F+bp(0x3a3)+J['questions'][bp(0x38c)]+').');let Q;if('ai4ctf'===L[bp(0x4d4)]||'ctf4ai'===L[bp(0x4d4)]||L[bp(0x1fb)]&&!L[bp(0x1fb)]['A']&&!L[bp(0x1fb)]['B']){if(Q=H['trim'](),!Q)return void a0aa('Please\x20provide\x20your\x20flag:\x20exam\x20answer\x20<n>\x20ICOA{your_flag}');if(/^[A-Da-d]$/['test'](Q))return a0aa('Q'+K+bp(0x4cb)),void console[bp(0x2c0)](a0L['gray'](bp(0x264))+a0L[bp(0x377)](bp(0x3b9)+K+bp(0x2a0)));}else{if(Q=H[bp(0x2fd)](),!['A','B','C','D']['includes'](Q))return void a0aa(bp(0x40d));}if(bp(0x3b2)===J['session'][bp(0x1f7)]&&-0x5*-0x2f6+-0x38d*-0x9+0x2ec1*-0x1===K&&-0x17*0x11e+-0x6ad+0x205f===(R(J)[bp(0x49d)][-0xb99*0x1+0x21d*0x1+-0x51*-0x1e]||-0xd13+-0x1d68+0x2a7b))return console['log'](),console[bp(0x2c0)](a0L['yellow'](bp(0x2d6))+a0L[bp(0x3cf)][bp(0x370)]('help')+a0L['yellow'](bp(0x3ea))),console[bp(0x2c0)](a0L[bp(0x3c9)](bp(0x325))),void console[bp(0x2c0)]();const V=J[bp(0x45d)][K];J[bp(0x298)]||(J['interactions']=[]),J['interactions'][bp(0x24b)]({'ts':new Date()[bp(0x211)](),'q':K,'type':V?bp(0x484):bp(0x1fa),'input':Q,'result':V?bp(0x47f)+V:'new'}),J['answers'][K]=Q,J[bp(0x235)]=K,a0Z(J),console[bp(0x2c0)](a0L['gray'](bp(0x384)));const W=J['session'][bp(0x462)];if(W&&bp(0x3b2)!==J[bp(0x460)]['examId']){const Z=(a0W()['ctfdUrl']||bp(0x38a))+'/api/icoa/exams/'+J[bp(0x460)]['examId']+'/answer',a0={};a0['Content-Type']='application/json';const a1={};a1[bp(0x462)]=W,a1['question']=K,a1[bp(0x351)]=Q,fetch(Z,{'method':'POST','headers':a0,'body':JSON[bp(0x294)](a1),'signal':AbortSignal['timeout'](0x49*-0x59+0x22fd+-0x1*-0x9ec)})[bp(0x3e7)](()=>{});}const X=Object[bp(0x446)](J[bp(0x45d)])[bp(0x38c)],Y=J[bp(0x460)][bp(0x4d3)];if(a0a9('Q'+K+':\x20'+Q+'\x20✓\x20\x20('+X+'/'+Y+bp(0x3e8)),bp(0x3b2)===J['session'][bp(0x1f7)]&&L[bp(0x351)]){const a2=[bp(0x434),bp(0x3e3),bp(0x474),'Exactly.',bp(0x391)],a3=['Close\x20—\x20we\x27ll\x20revisit\x20this\x20one.',bp(0x4b8),bp(0x40f)],a4=Q===L['answer']?a2:a3,a5=a4[Math[bp(0x36a)](Math[bp(0x1d4)]()*a4[bp(0x38c)])];console[bp(0x2c0)](a0L['gray'](bp(0x44f)+a5));}if(K<J[bp(0x3a4)]['length']){const a6=J[bp(0x3a4)][K];J['_lastQ']=a6[bp(0x1ee)],a0Z(J),U(a6,J[bp(0x45d)][a6[bp(0x1ee)]]);}else X>=J[bp(0x3a4)][bp(0x38c)]&&(console[bp(0x2c0)](),console[bp(0x2c0)](a0L[bp(0x377)]['bold'](bp(0x459))),console[bp(0x2c0)](),bp(0x3b2)===J['session'][bp(0x1f7)]?(console['log'](a0L[bp(0x2de)](bp(0x32b))+a0L[bp(0x3cf)][bp(0x2c6)](bp(0x3a1))+a0L[bp(0x2de)](bp(0x40e))),console[bp(0x2c0)]()):console[bp(0x2c0)](a0L[bp(0x2de)]('\x20\x20Use:\x20exam\x20review\x20·\x20exam\x20submit')));}),B[bb(0x265)]('review')[bb(0x37d)]('Review\x20all\x20answers\x20before\x20submitting')[bb(0x2ef)](()=>{const br=bb;a0a8(br(0x3a8));const F=a0Y();if(!F)return void a0aa(br(0x348));a0ae('Review:\x20'+F[br(0x460)][br(0x495)]),O(),console['log']();let G='\x20\x20';const H=Array[br(0x3dd)](F[br(0x2d0)])?F[br(0x2d0)]:[];for(const Q of F[br(0x3a4)]){const V=F[br(0x45d)][Q[br(0x1ee)]],W=H[br(0x2f0)](Q[br(0x1ee)]),X=W?'★':'\x20';G+=V?W?a0L['bold']['yellow']('Q'+String(Q[br(0x1ee)])[br(0x209)](0x1ac2*-0x1+0xd3d*0x1+0xd87*0x1)+X+'['+V+']\x20'):a0L[br(0x377)]('Q'+String(Q['number'])[br(0x209)](0x67*0x17+-0x1*0x131c+0x9dd)+'\x20['+V+br(0x3ce)):W?a0L[br(0x3cf)][br(0x370)]('Q'+String(Q['number'])[br(0x209)](0xc23*-0x1+0xcaa+0x7*-0x13)+X+br(0x1e1)):a0L[br(0x370)]('Q'+String(Q['number'])[br(0x209)](-0x1d0*0x7+0x2311+0x3*-0x775)+'\x20[\x20]\x20\x20'),Q[br(0x1ee)]%(-0x1b85+-0x1e82+0x1*0x3a0d)==-0x253b+0x2052+0x4e9&&(console[br(0x2c0)](G),G='\x20\x20');}G[br(0x378)]()&&console[br(0x2c0)](G);const J=Object['keys'](F[br(0x45d)])[br(0x38c)],K=F[br(0x460)][br(0x4d3)],L=K-J;if(console[br(0x2c0)](),a0af(br(0x29f),a0L['green'][br(0x3cf)](J+'/'+K)),L>-0x94a+-0xec*-0x10+0x6*-0xe9){const Y=F[br(0x3a4)][br(0x1ff)](Z=>!F[br(0x45d)][Z['number']])[br(0x461)](Z=>Z[br(0x1ee)])[br(0x2fa)](',\x20');a0af(br(0x296),a0L[br(0x370)](L+br(0x2f1)+Y+')'));}H[br(0x38c)]>-0xb*0x331+-0xdc6+0x30e1&&a0af(br(0x2e9),a0L[br(0x3cf)][br(0x370)]('★\x20'+H[br(0x38c)])+a0L['gray']('\x20('+H[br(0x461)](Z=>'Q'+Z)[br(0x2fa)](',\x20')+')')),console['log'](),H['length']>0x1442*0x1+-0x140a+-0x38&&console[br(0x2c0)](a0L[br(0x3c9)](br(0x229))+a0L[br(0x2de)](br(0x22c)+H[0x1b24+0x1*0x167d+0x79*-0x69])),console[br(0x2c0)](a0L[br(0x3c9)](br(0x2b6))+a0L[br(0x3cf)][br(0x2c6)](br(0x3a1))+a0L[br(0x3c9)]('\x20to\x20submit\x20for\x20grading.'));}),B[bb(0x265)]('submit\x20[confirmArg]')[bb(0x37d)]('Submit\x20exam\x20for\x20grading\x20(use:\x20\x22exam\x20submit\x20confirm\x22\x20for\x20real\x20exams)')[bb(0x2ef)](async J=>{const bs=bb;a0a8(bs(0x46e)+(J||''));const K=a0Y();if(K&&bs(0x3f0)===J&&(K[bs(0x2b1)]=!(0x19c*-0x14+0x1*-0xa0a+-0xeb*-0x2e),a0Z(K)),!K)return void a0aa(bs(0x348));const L=Object[bs(0x446)](K['answers'])[bs(0x38c)],Q=K[bs(0x460)][bs(0x4d3)],V=Q-L;if(0x25*0x2f+0x21a5+-0x2870===L){const X=a0a1(),Y=X&&new Date()>=X;return void(bs(0x3b2)===K[bs(0x460)][bs(0x1f7)]||Y?(a0a0(),a0ab('No\x20answers\x20to\x20submit.\x20Exam\x20cleared.'),a0ac(bs(0x4ab))):(a0ab('No\x20answers\x20to\x20submit.'),a0ac(bs(0x24e))));}if(bs(0x3b2)!==K[bs(0x460)][bs(0x1f7)]){const Z=!(0x23e+0x19*0x8e+0x1*-0x101c)===K[bs(0x2b1)],a0=a0a1(),a1=!!(a0&&new Date()>=a0);if(!Z&&!a1){if(console[bs(0x2c0)](),console[bs(0x2c0)](a0L[bs(0x4b1)](bs(0x371))),console['log'](a0L[bs(0x3cf)][bs(0x4b1)](bs(0x450))),console['log'](a0L['red'](bs(0x371))),console[bs(0x2c0)](),console[bs(0x2c0)](a0L[bs(0x2de)](bs(0x358)+a0L[bs(0x3cf)][bs(0x377)](L+'/'+Q)+bs(0x1db))),V>0x2267+0x16a*-0x8+-0x17*0x101){const a3=K[bs(0x3a4)]['filter'](a4=>!K[bs(0x45d)][a4[bs(0x1ee)]])[bs(0x461)](a4=>'Q'+a4['number'])['join'](',\x20');console[bs(0x2c0)](a0L[bs(0x370)]('\x20\x20'+V+bs(0x3f7)+a3));}const a2=Array[bs(0x3dd)](K[bs(0x2d0)])?K[bs(0x2d0)]:[];return a2[bs(0x38c)]>-0xb03+0x3*0x943+-0x10c6*0x1&&console['log'](a0L[bs(0x370)](bs(0x4c8)+a2[bs(0x38c)]+bs(0x37a)+a2['map'](a4=>'Q'+a4)[bs(0x2fa)](',\x20'))),console[bs(0x2c0)](),console[bs(0x2c0)](a0L[bs(0x2de)](bs(0x31e))+a0L['bold'][bs(0x4b1)](bs(0x1df))+a0L[bs(0x2de)](bs(0x1e2))),console[bs(0x2c0)](),console[bs(0x2c0)](a0L[bs(0x3cf)][bs(0x2de)](bs(0x3f4))+a0L[bs(0x3cf)][bs(0x2c6)](bs(0x4cf))),console[bs(0x2c0)](a0L[bs(0x2de)](bs(0x266))+a0L[bs(0x2c6)](bs(0x3a8))+a0L[bs(0x3c9)]('\x20\x20or\x20\x20')+a0L[bs(0x2c6)](bs(0x49b))),void console[bs(0x2c0)]();}Z&&(delete K[bs(0x2b1)],a0Z(K));}if(console[bs(0x2c0)](),bs(0x3b2)===K[bs(0x460)]['examId']){try{N(-0x113+0xe25+0x689*-0x2,a0ai(bs(0x340))),await q(0x1*0x1f4b+0x12a*-0x1d+-0x31*-0x13);let a4=-0x3*-0x879+-0x8b6+-0x10b5;const a5=[],a6={};for(const ai of K[bs(0x3a4)]){const aj=ai[bs(0x3d1)]||bs(0x480),ak={};ak[bs(0x458)]=0x0,ak['total']=0x0,(a6[aj]||(a6[aj]=ak),a6[aj]['total']++);const al=K[bs(0x45d)][ai[bs(0x1ee)]];al&&ai[bs(0x351)]&&al===ai[bs(0x351)]?(a4++,a6[aj]['correct']++):a5['push'](ai[bs(0x1ee)]);}a5[bs(0x3b0)]((am,an)=>am-an),N(-0x1ef8+-0x189*0x19+0x45bd*0x1,a0ai(bs(0x408))),console[bs(0x2c0)]();const a7=new Date(K[bs(0x460)][bs(0x1dc)])[bs(0x301)](),a8=Math[bs(0x47b)](-0x18a6+-0x1*0x1445+0x2ceb,Math[bs(0x426)]((Date[bs(0x2aa)]()-a7)/(0x4*0x232+0x2f3*-0x5+0x9df))),a9=Math[bs(0x36a)](a8/(-0x1*0x1f09+-0xa2a*-0x3+0x1*0xc7))+'m\x20'+a8%(-0x8f9+0x38b*0x8+-0x3*0x661)+'s',aa=[...K[bs(0x3a4)]],ab={...K[bs(0x45d)]},ac=R(K);a0a0();const ad=Math[bs(0x426)](a4/Q*(-0xc7+0x79*-0x37+0x1b2a)),ae=a0W(),af={};af['Content-Type']=bs(0x1e4),(fetch(bs(0x331),{'method':'POST','headers':af,'body':JSON[bs(0x294)]({'type':bs(0x2ad),'score':a4,'total':Q,'lang':ae[bs(0x424)]||'en','help_used':ac[bs(0x330)],'help_max':ac[bs(0x47b)],'tokens_used':0x0,'solved':ad>=-0x1b53+0x67*0x2a+0xaa9?0x1a1b+0x1663+0x1*-0x307d:0x1*-0x49b+0x1*0xce5+-0x84a,'timestamp':new Date()['toISOString'](),'interactions':K['interactions']||[]}),'signal':AbortSignal[bs(0x428)](-0x1*-0x14e1+0x208f+-0x21e8)})[bs(0x3e7)](()=>{}),console[bs(0x2c0)](),console[bs(0x2c0)](a0L[bs(0x2c6)]('\x20\x20═══════════════════════════════════════')),console['log'](),console[bs(0x2c0)](a0L['bold'][bs(0x2de)](bs(0x457))),console[bs(0x2c0)](a0L[bs(0x3cf)][bs(0x2de)](bs(0x355))),console['log'](a0L[bs(0x3cf)][bs(0x2de)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console['log'](a0L[bs(0x3cf)][bs(0x2de)](bs(0x37f))),console[bs(0x2c0)](a0L[bs(0x3cf)][bs(0x2de)](bs(0x447))),console[bs(0x2c0)](a0L[bs(0x3cf)][bs(0x2de)](bs(0x2ce))),console[bs(0x2c0)](),console[bs(0x2c0)](a0L[bs(0x3cf)](bs(0x223)+a0ai(bs(0x398))+':\x20'+a4+'/'+Q+'\x20('+ad+'%)')),console['log'](a0L[bs(0x3cf)]('\x20\x20\x20'+(ad>=0x14a2+-0x1c17+0x7b1?a0L[bs(0x377)](a0ai(bs(0x2cf))):a0L[bs(0x4b1)](a0ai(bs(0x2d8)))))),console[bs(0x2c0)](a0L['gray']('\x20\x20\x20Elapsed:\x20'+a9)),console[bs(0x2c0)](),console['log'](a0L[bs(0x370)](bs(0x336))),console[bs(0x2c0)](a0L[bs(0x3c9)](bs(0x44e))),console['log'](),console['log'](a0L[bs(0x2c6)](bs(0x3ff))),await q(-0xff7*0x1+0x1f03+-0x354));const ag=Object[bs(0x429)](a6);if(ag[bs(0x38c)]>0x199*0x16+-0x213*0xd+0x82f*-0x1){console[bs(0x2c0)](),console[bs(0x2c0)](a0L['bold'][bs(0x2de)](bs(0x290)));const am=-0x8*-0x3b0+-0x1500+-0x876;for(const [an,ao]of ag){const ap=ao[bs(0x366)]>-0x1*0x2107+0x299*-0xd+0x156*0x32?Math[bs(0x426)](ao[bs(0x458)]/ao[bs(0x366)]*(-0x18*0x11+-0x238*0x9+-0x119*-0x14)):0x1a37+0x175c+0x157*-0x25,aq=ao[bs(0x366)]>0x215+-0xf7f*0x1+0xd6a*0x1?Math[bs(0x426)](ao[bs(0x458)]/ao[bs(0x366)]*am):-0x7*0x43f+-0xb71+0x1495*0x2,ar=am-aq,as=ap>=-0x1*-0xaf4+-0x87+-0xa1d*0x1?a0L[bs(0x377)]:ap>=-0x1d52+-0x71e*-0x4+0x86*0x2?a0L['yellow']:a0L['red'],at=as('█'[bs(0x26d)](aq))+a0L[bs(0x3c9)]('░'[bs(0x26d)](ar));console[bs(0x2c0)]('\x20\x20\x20\x20'+a0L['white'](an[bs(0x41e)](0x2521*0x1+-0x8*-0x19b+-0x31e5))+'\x20'+at+'\x20\x20'+as(ao[bs(0x458)]+'/'+ao[bs(0x366)])+a0L[bs(0x3c9)]('\x20('+ap+'%)'));}console[bs(0x2c0)](),console['log'](a0L[bs(0x2c6)](bs(0x1d7)));}const ah=a0a4(a4,Q);if(a4===ah[bs(0x310)]&&ah['attempts']>0xc2*0x29+0x1f2d+-0x202*0x1f&&a4>0x5*-0x7c9+0x1fa9+0x744&&(console[bs(0x2c0)](),console['log'](a0L[bs(0x3cf)][bs(0x377)](bs(0x43b)))),a5[bs(0x38c)]>0x14*-0x1e4+-0x92*0x40+0x4a50){const au=aa['filter'](av=>a5['includes'](av[bs(0x1ee)]))[bs(0x461)](av=>({...av}));a0a5(au);}else a0a7();if(await q(0x6*0x67a+0xe01+-0x2925*0x1),a5[bs(0x38c)]>0x669*-0x1+-0x27*-0x4f+-0x5a0){console['log'](),console[bs(0x2c0)](a0L[bs(0x370)]('\x20\x20'+a5[bs(0x38c)]+'\x20'+a0ai(bs(0x30d)))),console[bs(0x2c0)]();for(const av of a5){const aw=aa[bs(0x333)](az=>az[bs(0x1ee)]===av);if(!aw)continue;const ax=ab[av],ay=aw[bs(0x351)];console[bs(0x2c0)](a0L[bs(0x2de)](bs(0x26e)+av+'.\x20'+aw[bs(0x236)])),ax?console[bs(0x2c0)](a0L[bs(0x4b1)](bs(0x3ae)+a0ai(bs(0x200))+':\x20'+ax+'.\x20'+aw['options'][ax])):console[bs(0x2c0)](a0L[bs(0x370)]('\x20\x20\x20\x20'+a0ai('yourAnswer')+':\x20—')),ay&&console[bs(0x2c0)](a0L[bs(0x377)]('\x20\x20\x20\x20'+a0ai(bs(0x458))+':\x20'+ay+'.\x20'+aw[bs(0x1fb)][ay])),aw[bs(0x217)]&&console[bs(0x2c0)](a0L[bs(0x3c9)](bs(0x4ae)+aw['explanation'])),console[bs(0x2c0)]();}}else console[bs(0x2c0)](),console['log'](a0L[bs(0x377)]('\x20\x20'+a0ai(bs(0x1f0))));await q(-0x1*0x22a4+-0x1*0xaaf+0x3523),console[bs(0x2c0)](),console[bs(0x2c0)](a0L[bs(0x2c6)](bs(0x1d7))),console['log'](a0L['white']('\x20\x20'+a0ai('nextLabel')+'\x20')+a0L[bs(0x3cf)][bs(0x377)](bs(0x27c))+a0L[bs(0x3c9)](bs(0x383)+a0ai(bs(0x442)))),console['log'](a0L[bs(0x3c9)]('\x20\x20'+a0ai(bs(0x43a)))),console[bs(0x2c0)](a0L[bs(0x2c6)](bs(0x1d7))),console['log']();}catch(az){console[bs(0x2c0)](),a0aa(az[bs(0x3d3)]);}return;}const W=K[bs(0x460)]['token'];try{let aA;if(N(0x31*-0x4+0xc25*0x1+-0xb61,bs(0x361)),W){const aK={};aK[bs(0x37c)]=bs(0x1e4);const aL={};aL[bs(0x27c)]=0x0,aL[bs(0x479)]=0x0;const aM=a0W()['ctfdUrl']||bs(0x38a),aN=await fetch(aM+'/api/icoa/exams/'+K['session'][bs(0x1f7)]+bs(0x2bc),{'method':bs(0x277),'headers':aK,'body':JSON[bs(0x294)]({'token':W,'answers':K[bs(0x45d)],'interactions':K[bs(0x298)]||[],'aiUsage':K['aiUsage']||aL,'bookmarks':K[bs(0x2d0)]||[]}),'signal':AbortSignal[bs(0x428)](0x53d2+0x20f2*0x1+-0x3a2c)});if(!aN['ok']){const aO=await aN['json']()[bs(0x3e7)](()=>({'message':bs(0x1d8)}));throw new Error(aO[bs(0x3d3)]||bs(0x1d8));}aA=(await aN[bs(0x2f7)]())[bs(0x43f)];}else{const aP=M();if(!aP)return;aA=await aP[bs(0x216)](K[bs(0x460)]['examId'],K[bs(0x45d)]);}N(-0x5*0x51a+0x3d8*0x1+0x4*0x577,bs(0x43c)),await q(0x1999+0x1*0x503+-0x1d70),N(-0x1a9e+-0xe54+0x2956,bs(0x3df)),console[bs(0x2c0)]();const aB={};aB[bs(0x27c)]=0x0,aB['ctf4ai']=0x0;const aC={'answered':Object[bs(0x446)](K[bs(0x45d)])[bs(0x38c)],'total':K[bs(0x460)]['questionCount'],'bookmarks':Array[bs(0x3dd)](K['bookmarks'])?K[bs(0x2d0)]['length']:0x1e09+-0x143b+-0x9ce,'help':R(K),'aiUsage':K['aiUsage']||aB,'interactions':(K[bs(0x298)]||[])[bs(0x38c)],'durationMin':K['session'][bs(0x47e)]||0x952*0x1+-0xf0a+0x5b8,'confirmedAt':K['session'][bs(0x498)]||K['session'][bs(0x1dc)],'examId':K[bs(0x460)][bs(0x1f7)]};a0a0();const aD=Math[bs(0x47b)](0x2507+0x68*0x7+-0xad*0x3b,Math[bs(0x426)]((Date[bs(0x2aa)]()-new Date(aC[bs(0x498)])['getTime']())/(0x9ad*0x1+0x197b+-0x1f40))),aE=Math['floor'](aD/(-0x7*0x18+-0x5f0+0x6d4)),aF=aD%(-0x3*0x182+0x1234+0xd72*-0x1);console[bs(0x2c0)](),console[bs(0x2c0)](a0L['cyan'](bs(0x4be))),console[bs(0x2c0)](),console['log'](a0L[bs(0x3cf)][bs(0x2de)](bs(0x457))),console[bs(0x2c0)](a0L[bs(0x3cf)][bs(0x2de)](bs(0x355))),console[bs(0x2c0)](a0L[bs(0x3cf)]['white'](bs(0x3bc))),console[bs(0x2c0)](a0L['bold'][bs(0x2de)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console[bs(0x2c0)](a0L[bs(0x3cf)][bs(0x2de)](bs(0x447))),console[bs(0x2c0)](a0L['bold'][bs(0x2de)](bs(0x2ce))),console['log']();const aG=aA[bs(0x2cf)]?a0L['green']['bold'](bs(0x1d2)):a0L['yellow'][bs(0x3cf)](bs(0x1dd));console[bs(0x2c0)](aG),console[bs(0x2c0)](),console[bs(0x2c0)](a0L[bs(0x2de)](bs(0x2a9))),console['log'](a0L[bs(0x2de)]('\x20\x20\x20exam\x20center.\x20Final\x20scoring\x20and\x20selection\x20are\x20decided\x20by')),console[bs(0x2c0)](a0L[bs(0x2de)]('\x20\x20\x20the\x20organizer\x20in\x20your\x20country.')),console['log'](),console[bs(0x2c0)](a0L[bs(0x2c6)]('\x20\x20─────────────────────────────────────────────')),console[bs(0x2c0)](),console[bs(0x2c0)](a0L[bs(0x3cf)]['white'](bs(0x2bd)));const aH=aC[bs(0x366)]-aC['answered'];console[bs(0x2c0)](bs(0x3ae)+a0L[bs(0x3c9)](bs(0x334))+a0L[bs(0x2de)](aC['answered']+'/'+aC[bs(0x366)])+(aH>0x12eb+-0x1077+0x13a*-0x2?a0L['gray'](bs(0x309)+aH+bs(0x1e7)):'')),console[bs(0x2c0)](bs(0x3ae)+a0L[bs(0x3c9)](bs(0x468))+a0L['white'](aE+'m\x20'+aF+'s')+a0L[bs(0x3c9)]('\x20\x20of\x20'+aC['durationMin']+bs(0x258))),aC['bookmarks']>-0x1ae9*0x1+0x166e+0x47b&&console[bs(0x2c0)]('\x20\x20\x20\x20'+a0L[bs(0x3c9)](bs(0x2b0))+a0L[bs(0x370)]('★\x20'+aC[bs(0x2d0)])),console[bs(0x2c0)]();const aI=aA['categoryStats'];if(aI&&Object[bs(0x446)](aI)[bs(0x38c)]>=-0x1232+0x1c06*0x1+-0x2*0x4e9){const aQ=Object[bs(0x429)](aI)['filter'](([,aV])=>aV['total']>0x1*0x1a5+-0x1*-0x1906+-0x1aab)['map'](([aV,aW])=>({'cat':aV,'pct':aW['correct']/aW[bs(0x366)]}))[bs(0x3b0)]((aV,aW)=>aW[bs(0x2c5)]-aV['pct']),aR=Math[bs(0x421)](-0xdac+-0xbe1+-0x2d7*-0x9,Math[bs(0x494)](aQ[bs(0x38c)]/(0x7bb+-0x167f+-0xd*-0x123))),aS=Math['min'](0x12*-0x8c+-0xf70+0x194a,Math[bs(0x494)](aQ[bs(0x38c)]/(-0x819+0x2eb+0x3*0x1bb))),aT=aQ[bs(0x24f)](0xaf1+-0x635*0x1+-0x4bc,aR)[bs(0x461)](aV=>aV[bs(0x392)]),aU=aQ['slice'](-aS)[bs(0x461)](aV=>aV[bs(0x392)]);aT[bs(0x4ca)](aV=>aU[bs(0x2f0)](aV))||(console[bs(0x2c0)](a0L[bs(0x3cf)][bs(0x2de)](bs(0x31c))),console[bs(0x2c0)](bs(0x3ae)+a0L[bs(0x377)](bs(0x4a5))+a0L['white'](aT['join'](',\x20'))),console[bs(0x2c0)](bs(0x3ae)+a0L[bs(0x370)](bs(0x20f))+a0L[bs(0x2de)](aU[bs(0x2fa)](',\x20'))),console[bs(0x2c0)](a0L['gray'](bs(0x346))),console[bs(0x2c0)]());}console[bs(0x2c0)](a0L[bs(0x3cf)][bs(0x2de)](bs(0x241))),console[bs(0x2c0)](bs(0x3ae)+a0L['gray'](bs(0x2c4))+a0L[bs(0x2de)](aC[bs(0x1ed)]['used']+'/'+aC['help'][bs(0x47b)])),console[bs(0x2c0)](bs(0x3ae)+a0L[bs(0x3c9)](bs(0x215))+a0L[bs(0x2de)](aC[bs(0x3c1)][bs(0x27c)]+bs(0x3b6))+a0L['gray'](bs(0x309))+a0L[bs(0x2de)](aC[bs(0x3c1)][bs(0x479)]+bs(0x486))),console[bs(0x2c0)](),console[bs(0x2c0)](a0L[bs(0x2c6)](bs(0x1d7))),console['log'](),console[bs(0x2c0)](a0L[bs(0x3cf)][bs(0x2de)](bs(0x3be))),console['log'](a0L[bs(0x3c9)](bs(0x4b2))),console['log'](a0L[bs(0x3c9)](bs(0x1d3))+a0L[bs(0x2de)](bs(0x3ba))+a0L[bs(0x3c9)](bs(0x302))),console[bs(0x2c0)](a0L[bs(0x3c9)](bs(0x46c))+a0L['white'](bs(0x1ef))),console[bs(0x2c0)]();const {showCToBUpgradePrompt:aJ}=await import(bs(0x3fd));aJ(aC[bs(0x1f7)],aA[bs(0x2cf)]),console[bs(0x2c0)](a0L[bs(0x370)](bs(0x3cc))),console[bs(0x2c0)](a0L[bs(0x2c6)][bs(0x262)](bs(0x201))),console['log'](),console['log'](a0L[bs(0x2c6)](bs(0x4be))),console[bs(0x2c0)]();}catch(aV){console[bs(0x2c0)](),a0aa(aV['message']);}}),B['command'](bb(0x478))['description']('View\x20exam\x20result')[bb(0x2ef)](async F=>{const bt=bb;a0a8('exam\x20result\x20'+(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[bt(0x460)]['examId'];}const H=a0ag(bt(0x439));H['start']();try{const K=await G[bt(0x44d)](F);H[bt(0x45b)](bt(0x27d)),console[bt(0x2c0)](),a0ae(K[bt(0x495)]),a0af(bt(0x22e),a0L[bt(0x3cf)](K[bt(0x398)]+'/'+K[bt(0x366)])),a0af(bt(0x21b),a0L[bt(0x3cf)](K[bt(0x453)]+'%')),a0af(bt(0x2e3),K['passed']?a0L['green'][bt(0x3cf)](bt(0x1e6)):a0L[bt(0x4b1)][bt(0x3cf)](bt(0x25b))),a0af(bt(0x415),K[bt(0x42d)]),console['log']();}catch(L){H[bt(0x464)](bt(0x307)),a0aa(L[bt(0x3d3)]);}}),B[bb(0x265)](bb(0x247))[bb(0x37d)](bb(0x322))[bb(0x2ef)](async J=>{const bu=bb;a0a8(bu(0x3d5)+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import('../lib/exam-state.js'),V=K();if(V){const a2=V['session'][bu(0x462)],a3=a0a1(),a4=!!a2&&a2[bu(0x378)]()[bu(0x2fd)]()!==J[bu(0x378)]()[bu(0x2fd)](),a5=!!a3&&a3[bu(0x301)]()+(0x3e0*-0x9e4+-0x365b59+-0x1bdc5*-0x45)<Date[bu(0x2aa)]();if(a4&&a5)return Q(),console['log'](),console[bu(0x2c0)](a0L[bu(0x3c9)](bu(0x1d1))),console['log'](),console[bu(0x2c0)](a0L[bu(0x2de)](bu(0x47d))+a0L[bu(0x3cf)][bu(0x2c6)](bu(0x342)+J)),void console['log']();if(!a2&&J)return V[bu(0x460)][bu(0x462)]=J[bu(0x378)](),L(V),console[bu(0x2c0)](),console[bu(0x2c0)](a0L['green'](bu(0x4c6))),console[bu(0x2c0)](a0L['gray'](bu(0x238))+a0L[bu(0x2de)](bu(0x22d))+a0L[bu(0x3c9)](bu(0x1f5))+a0L[bu(0x2de)]('exam\x20submit')),console['log'](),console['log'](a0L[bu(0x3cf)][bu(0x2de)](bu(0x293))),console[bu(0x2c0)](a0L[bu(0x3c9)](bu(0x4ae))+a0L[bu(0x3cf)][bu(0x2c6)](bu(0x475))+a0L[bu(0x3c9)](bu(0x4a4))),console['log'](a0L[bu(0x3c9)](bu(0x4ae))+a0L[bu(0x3cf)]['cyan'](bu(0x3a8))+a0L['gray'](bu(0x396))),void console[bu(0x2c0)]();const a6=Object[bu(0x446)](V['answers'])['length'],a7=V['session'][bu(0x4d3)],a8=a0a1(),a9=a8?Math['max'](0x2478+-0x1*0x10f1+0x1387*-0x1,Math[bu(0x426)]((a8['getTime']()-Date[bu(0x2aa)]())/(0x4*0x28bb+0x8fef+-0x487b))):null;return console['log'](),console['log'](a0L[bu(0x370)](bu(0x404))),console[bu(0x2c0)](),console['log'](a0L[bu(0x3c9)](bu(0x34c))+a0L[bu(0x2de)](V[bu(0x460)]['examName'])),a2&&console[bu(0x2c0)](a0L[bu(0x3c9)](bu(0x4ce))+a0L['white'](a2)+(a2===J?a0L[bu(0x377)](bu(0x268)):a0L['yellow'](bu(0x260)))),console['log'](a0L[bu(0x3c9)]('\x20\x20Answers:\x20')+a0L['white'](a6+'/'+a7)),null!==a9&&console[bu(0x2c0)](a0L[bu(0x3c9)](bu(0x3ed))+a0L[bu(0x2de)](a9+bu(0x465))),console[bu(0x2c0)](),console['log'](a0L[bu(0x3cf)][bu(0x2de)](bu(0x39f))),console[bu(0x2c0)](a0L[bu(0x3c9)](bu(0x4ae))+a0L[bu(0x3cf)][bu(0x2c6)]('exam\x20q\x201')+a0L['gray'](bu(0x4a4))),console[bu(0x2c0)](a0L['gray'](bu(0x4ae))+a0L[bu(0x3cf)]['cyan']('exam\x20review')+a0L[bu(0x3c9)]('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),console[bu(0x2c0)](a0L[bu(0x3c9)](bu(0x4ae))+a0L['bold'][bu(0x2c6)](bu(0x3a1))+a0L[bu(0x3c9)]('\x20\x20\x20finish\x20and\x20submit')),a2&&a2!==J&&(console[bu(0x2c0)](),console[bu(0x2c0)](a0L[bu(0x370)]('\x20\x20Note:\x20you\x20typed\x20a\x20different\x20token.\x20Each\x20exam\x20token\x20is\x20bound\x20to')),console[bu(0x2c0)](a0L[bu(0x370)](bu(0x326))),console['log'](),console[bu(0x2c0)](a0L['gray'](bu(0x490))),console[bu(0x2c0)](a0L[bu(0x3c9)]('\x20\x20run\x20')+a0L[bu(0x3cf)][bu(0x2c6)]('exam\x20reset')+a0L['gray']('\x20to\x20wipe\x20local\x20state,\x20then\x20re-enter\x20the\x20new\x20token.'))),void console[bu(0x2c0)]();}const {isNativeWindowsCmd:W}=await import(bu(0x292));if(!W()&&!a0am()){let aa=!(-0x57b*0x1+0x3*-0xa76+-0xf2*-0x27);try{const ab={};ab[bu(0x37c)]=bu(0x1e4);const ac=a0W()['ctfdUrl']||bu(0x38a),ad=await fetch(ac+bu(0x251),{'method':bu(0x277),'headers':ab,'body':JSON['stringify']({'token':J[bu(0x378)](),'deviceHash':a0aj(),'peek':!(-0x19*-0x92+0x6d*0x4c+-0x2e9e)}),'signal':AbortSignal[bu(0x428)](-0x1121+-0x19*-0xee+-0xe5*-0xf)});if(ad['ok']){const ae=await ad[bu(0x2f7)]();(ae?.['data']?.['exam_id']||'')[bu(0x430)]('-c')&&(aa=!(0x20b*-0x9+0x1*-0x1fcb+-0x1*-0x322e));}}catch{}if(!aa)return console[bu(0x2c0)](),a0ab('Pre-exam\x20setup\x20required\x20before\x20entering\x20a\x20token.'),console[bu(0x2c0)](a0L['gray'](bu(0x4ad))+a0L[bu(0x3cf)][bu(0x2c6)]('exam\x20setup')),console[bu(0x2c0)](a0L[bu(0x3c9)](bu(0x4c3))+a0L[bu(0x3cf)]['cyan'](bu(0x49b))+a0L[bu(0x3c9)](bu(0x497))),console[bu(0x2c0)](a0L[bu(0x3c9)](bu(0x44a))),void console[bu(0x2c0)]();}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['NZ']='en',X['LK']='si';const Y=X[J['trim']()[bu(0x2e2)](-0x1*0x233f+0x13d8+0xf67,-0xc9a*-0x1+0x1a47+0x1f*-0x141)[bu(0x2fd)]()],Z=a0W(),a0=Z[bu(0x2c3)]||'https://practice.icoa2026.au',a1=Y||Z['language']||'en';Y&&Y!==(Z[bu(0x424)]||'en')&&a0X({'language':Y}),console[bu(0x2c0)](),N(0x1c1a+0x85f*0x2+0x23e*-0x14,'Validating\x20token...');try{const af={};af[bu(0x37c)]='application/json';const ag=await fetch(a0+bu(0x251),{'method':bu(0x277),'headers':af,'body':JSON[bu(0x294)]({'token':J[bu(0x378)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bu(0x428)](0x8*-0x3b+0x32a6+-0x9be)});if(!ag['ok']){N(-0x5f8+0x16a0*0x1+-0x10a8,''),console[bu(0x2c0)]();const ao=await ag[bu(0x2f7)]()[bu(0x3e7)](()=>({'message':'Invalid\x20token'}));return a0aa(ao[bu(0x3d3)]||bu(0x20a)),void a0ac(bu(0x21f));}N(-0x1a93*0x1+0x1165+0x94c,bu(0x233));const ah=await ag[bu(0x2f7)](),{session:ai,questions:aj,languages:ak}=ah[bu(0x43f)];N(0x13c*0x7+0x1cf8*0x1+-0x2560,bu(0x4d5)),await q(-0x2709+0x3f1*0x9+-0x1*-0x458),N(-0x2566+-0xead+0x16b*0x25,bu(0x3d9)),console['log'](),console[bu(0x2c0)](),a0ae(ai[bu(0x495)]),console['log'](),a0af('Questions',ai[bu(0x4d3)]+bu(0x46a)),a0af('Duration',ai[bu(0x47e)]+'\x20minutes'),a0af(bu(0x345),(ai[bu(0x2d9)]||0x1478+-0x1*0x148b+0xa9*0x1)+'\x20points'),a0af(bu(0x4ba),(ai[bu(0x48c)]||-0x13*-0x38+0x2b0*-0x4+0x6e3)+bu(0x35d)),console[bu(0x2c0)](),console[bu(0x2c0)](a0L['white']('\x20\x20Assistance:')),console['log'](a0L[bu(0x2de)](bu(0x289))),console[bu(0x2c0)](a0L['white'](bu(0x375))),console['log'](a0L['white']('\x20\x20\x20\x20AI:\x20\x20\x20\x20\x20\x2025K\x20AI4CTF\x20+\x2025K\x20CTF4AI\x20tokens')),ak&&ak[bu(0x38c)]>0xe57+0x2021*0x1+-0x41*0xb7&&console[bu(0x2c0)](a0L['white'](bu(0x205)+ak[bu(0x2fa)](',\x20')+bu(0x3d2))),console[bu(0x2c0)](),console[bu(0x2c0)](a0L['yellow'](bu(0x2c9))),console[bu(0x2c0)](a0L[bu(0x2de)](bu(0x317))),console['log'](a0L[bu(0x2de)](bu(0x35b))),console['log'](a0L[bu(0x2de)]('\x20\x20\x20\x20•\x20You\x20may\x20exit\x20and\x20resume\x20with\x20the\x20same\x20token')),console[bu(0x2c0)](),await new Promise(ap=>{const bv=bu;process[bv(0x30b)][bv(0x3c3)](a0L[bv(0x3cf)][bv(0x370)](bv(0x43e)));const aq=!!process['stdin'][bv(0x29c)]&&process[bv(0x488)][bv(0x2eb)];process['stdin'][bv(0x29c)]&&process[bv(0x488)][bv(0x25c)]&&process[bv(0x488)][bv(0x25c)](!(-0x2459+-0x2171+-0x41b*-0x11));const ar=as=>{const bw=bv,at=as['toString']();(at[bw(0x2f0)]('\x0a')||at[bw(0x2f0)]('\x0d'))&&(process['stdin'][bw(0x3a9)]('data',ar),process[bw(0x488)][bw(0x29c)]&&process[bw(0x488)]['setRawMode']&&process[bw(0x488)]['setRawMode'](aq),process['stdout']['write']('\x0a'),ap());};process[bv(0x488)]['on'](bv(0x43f),ar),process[bv(0x488)][bv(0x1e5)]();});const al=new Date()['toISOString']();ai[bu(0x498)]=al,ai[bu(0x462)]=J[bu(0x378)]();try{const ap=Date[bu(0x2aa)](),aq=await fetch(a0+bu(0x40c),{'method':'GET','signal':AbortSignal[bu(0x428)](-0x1724+0x3ea*-0x5+0x1*0x366e)});if(aq['ok']){const ar=await aq[bu(0x2f7)](),as=ar?.['data']?.[bu(0x38e)];if('number'==typeof as&&as>-0xa43*0x1+-0x179c+0x21df){const at=(ap+Date['now']())/(-0x12ce+0x6*-0x17+-0x135a*-0x1);ai[bu(0x482)]=Math[bu(0x426)](as-at),ai[bu(0x4b0)]=as+(0xd5d*0x1+0x21ca+-0x1*0x2eeb)*ai[bu(0x47e)]*(0x1f21+-0x3ee*-0x1+-0x37*0x91);}}}catch{}const am={};am[bu(0x27c)]=0x0,am[bu(0x479)]=0x0;const an={};an[bu(0x460)]=ai,an[bu(0x3a4)]=aj,an[bu(0x45d)]={},an['interactions']=[],an[bu(0x3c1)]=am,(a0Z(an),console[bu(0x2c0)](),a0a9(bu(0x26b)),a0af(bu(0x327),ai[bu(0x47e)]+bu(0x3de)),aj[bu(0x38c)]>0x215c+0x47*-0x12+-0x1c5e&&U(aj[-0x1711*-0x1+0x264+-0x1975]));}catch(au){console[bu(0x2c0)](),bu(0x25a)===au[bu(0x28f)]?a0aa(bu(0x40a)):a0aa(au[bu(0x3d3)]||bu(0x389));}}),B[bb(0x265)](bb(0x4a8),{'hidden':!(-0x988+0x64d+0x33b)})['description']('Abandon\x20current\x20exam\x20session\x20and\x20wipe\x20local\x20state\x20(recovery\x20only)')[bb(0x2ef)](async()=>{const bx=bb;a0a8('exam\x20reset');const {getRealExamState:F,clearExamState:G}=await import(bx(0x3e4)),H=F();if(!H)return console['log'](),console[bx(0x2c0)](a0L[bx(0x3c9)]('\x20\x20No\x20active\x20exam\x20session\x20to\x20reset.')),void console[bx(0x2c0)]();const J=H[bx(0x460)]['token'];if(console['log'](),console[bx(0x2c0)](a0L['yellow']('\x20\x20⚠\x20\x20Reset\x20will\x20abandon\x20your\x20current\x20exam\x20session\x20on\x20this\x20device.')),console[bx(0x2c0)](a0L[bx(0x3c9)](bx(0x1e0))+a0L[bx(0x2de)](H[bx(0x460)][bx(0x495)])),J&&console['log'](a0L[bx(0x3c9)]('\x20\x20\x20\x20\x20Token:\x20')+a0L['white'](J)),console[bx(0x2c0)](a0L['gray']('\x20\x20\x20\x20\x20The\x20token\x20itself\x20is\x20NOT\x20revoked\x20server-side.\x20If\x20your\x20session\x20is')),console['log'](a0L[bx(0x3c9)]('\x20\x20\x20\x20\x20still\x20active\x20and\x20not\x20submitted,\x20re-entering\x20the\x20same\x20token\x20resumes\x20it.')),console[bx(0x2c0)](),console[bx(0x2c0)](a0L['gray'](bx(0x32b))+a0L[bx(0x3cf)][bx(0x2c6)](bx(0x4a8))+a0L[bx(0x3c9)]('\x20to\x20confirm,\x20or\x20anything\x20else\x20to\x20cancel:')),bx(0x4a8)!==(await new Promise(K=>{const by=bx;process[by(0x30b)][by(0x3c3)](by(0x2a1));const L=Q=>{const bz=by,V=Q['toString']()[bz(0x378)]();(V[bz(0x2f0)]('\x0a')||V[bz(0x2f0)]('\x0d')||V[bz(0x38c)]>-0x1067+-0x10f1+-0x2c*-0xc2)&&(process[bz(0x488)][bz(0x3a9)]('data',L),K(V[bz(0x226)](/[\r\n]/g,'')));};process[by(0x488)]['on'](by(0x43f),L),process[by(0x488)][by(0x1e5)]();}))[bx(0x423)]())return console[bx(0x2c0)](a0L[bx(0x3c9)](bx(0x471))),void console[bx(0x2c0)]();G(),console[bx(0x2c0)](),console[bx(0x2c0)](a0L[bx(0x377)](bx(0x466))),console[bx(0x2c0)](a0L[bx(0x3c9)](bx(0x320))+a0L['bold'][bx(0x2c6)]('exam\x20<token>')),console[bx(0x2c0)]();}),B[bb(0x265)](bb(0x3ba))[bb(0x37d)](bb(0x491))[bb(0x2ef)](async()=>{const bA=bb;a0a8('exam\x20demo'),E(bA(0x2dd));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import(bA(0x1f3));a0W()[bA(0x2e7)]||(await(async function(){const bB=bA;let a0=!(-0x3e1*-0x4+-0x1ce4+0x5*0x2ad);const a1=process[bB(0x488)],a2=()=>{a0=!(0x1a69*-0x1+-0x1ef9+0x3962);},a3=a1[bB(0x29c)]&&bB(0x33b)==typeof a1['setRawMode'];a3&&(a1[bB(0x25c)](!(0xa0a+0x6bd*0x1+0x1*-0x10c7)),a1[bB(0x1e5)](),a1['once']('data',a2));const a4=async a5=>{let a6=-0xd03+0xb40+0x1c3;for(;a6<a5&&!a0;)await q(-0x239+0x33*0x2d+0x1*-0x66e),a6+=-0x14a3+0x6c9+0x715*0x2;};try{if(console['clear'](),console[bB(0x2c0)](),console['log'](a0L['gray'](bB(0x223))+a0L[bB(0x239)](bB(0x374))),console[bB(0x2c0)](),console['log'](a0L[bB(0x3cf)][bB(0x2de)](bB(0x457))),console[bB(0x2c0)](a0L[bB(0x3cf)]['white'](bB(0x355))),console['log'](a0L[bB(0x3cf)]['white'](bB(0x3bc))),console[bB(0x2c0)](a0L['bold'][bB(0x2de)](bB(0x37f))),console[bB(0x2c0)](a0L['bold'][bB(0x2de)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bB(0x2c0)](a0L[bB(0x3cf)][bB(0x2de)](bB(0x2ce))),console[bB(0x2c0)](),console[bB(0x2c0)](a0L[bB(0x3cf)][bB(0x370)](bB(0x29b))),console['log'](a0L[bB(0x3c9)]('\x20\x20\x20Sydney,\x20Australia\x20\x20·\x20\x20Jun\x2027\x20–\x20Jul\x202,\x202026')),await a4(-0x1*-0xf4+-0x1652+0x1f22),a0)return;if(console[bB(0x2c0)](),console[bB(0x2c0)](a0L['white'](bB(0x2e4))),console[bB(0x2c0)](),await a4(0x25b+-0x1e8c+0x1e89*0x1),a0)return;if(console['log'](a0L[bB(0x2c6)](bB(0x232))+a0L[bB(0x2de)](bB(0x20c))+a0L[bB(0x3c9)](bB(0x380))),await a4(-0x20ea*-0x1+-0x22ff+-0x3*-0x19b),a0)return;if(console[bB(0x2c0)](a0L[bB(0x377)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bB(0x2de)](bB(0x26f))+a0L[bB(0x3c9)](bB(0x49f))),await a4(0x6db+-0x2671+0x2252),a0)return;if(console[bB(0x2c0)](a0L[bB(0x4b1)](bB(0x232))+a0L[bB(0x2de)](bB(0x350))+a0L[bB(0x3c9)](bB(0x45a))),await a4(-0x1957+0x124e+0xa8d*0x1),a0)return;if(console[bB(0x2c0)](),console['log'](a0L[bB(0x3cf)][bB(0x2de)](bB(0x2b2))+a0L[bB(0x3cf)][bB(0x370)]('IS')+a0L['bold']['white'](bB(0x472))),console[bB(0x2c0)](),await a4(0x40d*0x1+0x2*0x412+-0x655),a0)return;if(console['log'](a0L['gray'](bB(0x1ec))),await a4(-0x9ee+-0x2c5*0xb+0x29f5*0x1),a0)return;if(console['log'](a0L['gray'](bB(0x328))),await a4(-0x11c7+-0xb11+-0x1*-0x1e68),a0)return;if(console['log'](a0L[bB(0x3c9)](bB(0x372))),await a4(-0x1c*0xf6+0xe9d*-0x1+0x1*0x2ca5),a0)return;console['log'](),console[bB(0x2c0)](a0L[bB(0x3cf)][bB(0x2c6)](bB(0x255))),await a4(-0x39f*-0x6+-0x686+0x6c);}finally{((()=>{const bC=bB;if(a3){a1['removeListener'](bC(0x43f),a2);try{a1[bC(0x25c)](!(0x1*0x251+-0x12*-0x185+-0xed5*0x2));}catch{}a1['pause']();}})()),console['clear']();}}()),a0X({'demoIntroSeen':!(0x8*0x25+0x1a*0x12+-0x2fc)})),console['log'](),console[bA(0x2c0)](a0L[bA(0x2de)](bA(0x259))+a0L[bA(0x3c9)](H+bA(0x3f8)+J+'.\x20No\x20timer.\x20Free\x20practice.')),console[bA(0x2c0)](a0L[bA(0x3c9)]('\x20\x20You\x20can\x20pause\x20with\x20')+a0L[bA(0x2c6)](bA(0x45f))+a0L[bA(0x3c9)](bA(0x204))+a0L[bA(0x2c6)]('back')+a0L['gray'](bA(0x3aa))),await new Promise(a0=>{const bD=bA;process[bD(0x30b)][bD(0x3c3)](a0L[bD(0x3cf)][bD(0x370)](bD(0x3fe)));const a1=!!process[bD(0x488)]['isTTY']&&process[bD(0x488)][bD(0x2eb)];process['stdin']['isTTY']&&process['stdin']['setRawMode']&&process[bD(0x488)]['setRawMode'](!(0x1923+0xcbd+-0x1*0x25df));const a2=a3=>{const bE=bD,a4=a3[bE(0x2e8)]();(a4['includes']('\x0a')||a4[bE(0x2f0)]('\x0d'))&&(process[bE(0x488)][bE(0x3a9)](bE(0x43f),a2),process[bE(0x488)][bE(0x29c)]&&process[bE(0x488)][bE(0x25c)]&&process[bE(0x488)]['setRawMode'](a1),process[bE(0x30b)]['write']('\x0a'),a0());};process[bD(0x488)]['on'](bD(0x43f),a2),process[bD(0x488)]['resume']();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import('../lib/exam-state.js');Q()&&V(bA(0x3b2)),console[bA(0x2c0)](),a0ae(bA(0x252)),console[bA(0x2c0)](),console[bA(0x2c0)](a0L['white'](bA(0x4d6))),console[bA(0x2c0)](a0L[bA(0x2de)]('\x20\x20'+H+bA(0x1d9)+J+'\x20·\x20Pick\x20one\x20answer\x20per\x20question'));const W=a0a3();if(W['attempts']>-0x6*-0x1d9+0xbd8+-0x16ee){const a0=W['bestPercentage'],a1=a0>=-0x11*-0x23f+-0x1aff+-0xae0?a0L[bA(0x377)]:a0>=0x248b+0xa73+-0x2ec2?a0L[bA(0x370)]:a0L[bA(0x2de)];console['log'](),console[bA(0x2c0)](a0L[bA(0x3c9)]('\x20\x20Your\x20best:\x20')+a1(W[bA(0x310)]+'/'+H+'\x20('+a0+'%)')+a0L[bA(0x3c9)](bA(0x309)+W[bA(0x394)]+bA(0x49e)));}console[bA(0x2c0)](),console[bA(0x2c0)](a0L[bA(0x3c9)](bA(0x4b5))),console[bA(0x2c0)](a0L[bA(0x2de)]('\x20\x20'+a0ai(bA(0x445)))),console[bA(0x2c0)](a0L[bA(0x370)](bA(0x263))+a0L[bA(0x3c9)]('\x20\x20\x20\x20\x20\x20\x20'+a0ai('htpAnswer'))),console[bA(0x2c0)](a0L[bA(0x370)]('\x20\x20\x20\x20help')+a0L[bA(0x3c9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bA(0x3d0)))),console[bA(0x2c0)](a0L[bA(0x370)](bA(0x3d6))+a0L['gray'](bA(0x3d4))+a0L[bA(0x370)]('prev')+a0L[bA(0x3c9)]('\x20\x20\x20\x20'+a0ai(bA(0x42f)))),console['log'](a0L[bA(0x370)](bA(0x4bb))+a0L[bA(0x3c9)](bA(0x28e)+a0ai(bA(0x295)))),console[bA(0x2c0)](a0L[bA(0x370)](bA(0x287))+a0L['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai('htpBack'))),console[bA(0x2c0)](a0L[bA(0x370)](bA(0x303))+a0L[bA(0x3c9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bA(0x437)))),console[bA(0x2c0)](a0L[bA(0x3c9)](bA(0x31b))),console[bA(0x2c0)](a0L[bA(0x3c9)](bA(0x403))),console['log'](a0L[bA(0x3c9)]('\x20\x20─────────────────────────────────────────')),console[bA(0x2c0)]();const {getConfig:X}=await import('../lib/config.js'),Y=X()['language']||'en';'en'===Y?(console[bA(0x2c0)](a0L[bA(0x3c9)](bA(0x469))),console[bA(0x2c0)](a0L[bA(0x3c9)]('\x20\x20lang\x20es\x20(Español)\x20·\x20lang\x20zh\x20(中文)\x20·\x20lang\x20ko\x20(한국어)\x20·\x20lang\x20ja\x20(日本語)')),console[bA(0x2c0)](a0L[bA(0x3c9)]('\x20\x20lang\x20fr\x20·\x20lang\x20ar\x20·\x20lang\x20pt\x20·\x2015\x20languages\x20supported'))):console['log'](a0L[bA(0x377)](bA(0x30f)+Y)),console[bA(0x2c0)](),console['log'](a0L[bA(0x2de)](bA(0x2d2)));const Z={...L,'startedAt':new Date()['toISOString']()};console[bA(0x2c0)](),N(0x13a*0x2+-0x2329+0x20b5,bA(0x369)),await q(0x6af*-0x1+-0x3*-0x19a+-0xe3*-0x3),N(-0xd*-0x16d+-0x24bd+-0x5e*-0x32,bA(0x29d)),await q(-0x3*0x4+-0x1c37+0x1d0b),N(0x261d+0x1c36+0x81*-0x83,bA(0x213)),await q(-0x1177*0x1+0x9*-0x241+-0xe*-0x2bd),N(-0x803+0x60+-0x5*-0x19b,bA(0x3d9)),console[bA(0x2c0)](),console['log'](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af(bA(0x3f2),String(H)),a0af(bA(0x21c),'No\x20time\x20limit'),U(K[0x929*0x1+-0xf3e*-0x1+0x1867*-0x1]);}),B['command'](bb(0x21a))[bb(0x37d)](bb(0x3c5))[bb(0x2ef)](async()=>{const bF=bb;a0a8(bF(0x33d)),E('post-report-retry');const {getLocalizedDemoSession:F}=await import(bF(0x1f3)),G=a0a6();if(!G||-0x1902+0x563*0x2+-0x4*-0x38f===G[bF(0x38c)])return console[bF(0x2c0)](),console[bF(0x2c0)](a0L[bF(0x370)](bF(0x1e3))+a0L['bold']['cyan'](bF(0x3ba))+a0L[bF(0x370)](bF(0x483))),void console['log']();const H=a0Y();if(H){if('demo-free'!==H[bF(0x460)][bF(0x1f7)])return a0ab('Exam\x20\x22'+H[bF(0x460)][bF(0x495)]+bF(0x4b9)),void a0ac(bF(0x2d3));a0a0();}const J=V=>{const bG=bF;if(!V[bG(0x351)])return V;const W=V[bG(0x1fb)][V[bG(0x351)]],X=['A','B','C','D'][bG(0x461)](a2=>V[bG(0x1fb)][a2]);for(let a2=X[bG(0x38c)]-(0x1d*0x132+0x35b*-0x7+-0x2*0x596);a2>-0x1525*0x1+0x1*-0x1c4e+0x3173;a2--){const a3=Math['floor'](Math['random']()*(a2+(0x2c3*0xb+-0x124d+0xc13*-0x1)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[0x9a9*-0x1+-0x20e9+0x2a92*0x1],Y['B']=X[-0xa4*0x2e+-0x3d*-0x43+0xd*0x10a],Y['C']=X[-0x1088+-0x364+0x13ee*0x1],Y['D']=X[0x170d+0x2*0x1106+-0x3916*0x1];const Z=Y,a0=['A','B','C','D'][bG(0x333)](a4=>Z[a4]===W),a1={...V};return a1[bG(0x1fb)]=Z,a1['answer']=a0,a1;},K=G[bF(0x461)]((V,W)=>({...J(V),'number':W+(-0x180+0x8*-0xa9+0x9*0xc1)})),L=F(),Q={...L,'examName':L['examName']+bF(0x382),'questionCount':K[bF(0x38c)],'startedAt':new Date()[bF(0x211)]()};console[bF(0x2c0)](),a0ae(bF(0x3c0)),console['log'](),console[bF(0x2c0)](a0L[bF(0x2de)](bF(0x35a)+K['length']+bF(0x261)+(-0x55*-0x6d+0xe64+-0x3294===K[bF(0x38c)]?'':'s')+bF(0x41a))),console['log'](a0L[bF(0x3c9)]('\x20\x20Options\x20have\x20been\x20reshuffled.')),console[bF(0x2c0)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af('Questions',String(K[bF(0x38c)])),a0af('Duration',bF(0x473)),U(K[0x1583*-0x1+0x5f7*0x2+0xdf*0xb]);}),B['command'](bb(0x356))[bb(0x37d)](bb(0x343))[bb(0x2ef)](async()=>{const bH=bb;if(a0a8(bH(0x3cb)),-0x1018+0x662+0x9b6===a0a3()[bH(0x394)])return console[bH(0x2c0)](),a0ab(bH(0x2dc)),console['log'](a0L['gray'](bH(0x4ad))+a0L['bold']['cyan']('exam\x20demo')),void console[bH(0x2c0)]();const K=a0ak();if(K){const a4=K[bH(0x275)][bH(0x38c)],a5=a4+K['failedPackages'][bH(0x38c)];if(a4>=0x6b9*0x2+0x17a3+-0x769*0x5||(a5>-0xe20+-0x491*-0x7+-0x11d7?a4/a5:-0x8*0x30b+-0x1d7f+0x35d7)>=0x2295+-0x37e+-0x1f17*0x1+0.7)return console[bH(0x2c0)](),console[bH(0x2c0)](a0L['green'](bH(0x39c))+a0L[bH(0x377)](bH(0x3b8))),console[bH(0x2c0)](a0L[bH(0x3c9)]('\x20\x20\x20\x20Completed:\x20'+K['completedAt'][bH(0x1fc)]('T')[0x2da+-0xdf*-0x1c+-0x1b3e])),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x3e6)+K[bH(0x2e0)])),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x2cd)+a4+bH(0x228))),K[bH(0x219)][bH(0x38c)]>0x60d+-0x1b02*0x1+0x14f5&&console[bH(0x2c0)](a0L[bH(0x370)]('\x20\x20\x20\x20Failed:\x20'+K[bH(0x219)][bH(0x2fa)](',\x20'))),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x312))+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x224))),console['log'](a0L[bH(0x3c9)](bH(0x4c3))+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x49b))+a0L[bH(0x3c9)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),void console[bH(0x2c0)]();console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x370)]('\x20\x20Previous\x20setup\x20had\x20only\x20'+a4+'/'+a5+bH(0x2b5))),console['log']();}console[bH(0x2c0)](),a0ae('Exam\x20Environment\x20Setup'),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2de)]('\x20\x20Installing\x20Python\x20packages\x20for\x20practical\x20questions.')),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x2bf))),console[bH(0x2c0)]();const L=(a6,a7)=>{const bI=bH,a8=process[bI(0x43d)];console[bI(0x2c0)](),a0aa(bI(0x440)===a6?bI(0x272):bI(0x3ee)+a7+bI(0x2a4)),console['log'](),console['log'](a0L[bI(0x3cf)]['white'](bI(0x3f6))),console['log'](),'darwin'===a8?(console[bI(0x2c0)](a0L[bI(0x370)]('\x20\x20macOS\x20(Homebrew,\x20recommended):')),console['log'](a0L[bI(0x377)](bI(0x2b4))),console[bI(0x2c0)](),console[bI(0x2c0)](a0L[bI(0x3c9)]('\x20\x20Or\x20download\x20installer:')),console['log'](a0L[bI(0x3c9)]('\x20\x20\x20\x20https://www.python.org/downloads/macos/'))):bI(0x3e5)===a8?(console['log'](a0L[bI(0x370)](bI(0x253))),console[bI(0x2c0)](a0L[bI(0x377)](bI(0x42e))),console[bI(0x2c0)](a0L[bI(0x377)](bI(0x4c1))),console[bI(0x2c0)](a0L[bI(0x377)]('\x20\x20\x20\x20sudo\x20apt\x20install\x20-y\x20python3.12\x20python3.12-venv\x20python3.12-distutils')),console['log'](a0L[bI(0x3c9)](bI(0x3e1))),console[bI(0x2c0)](),console['log'](a0L[bI(0x370)](bI(0x3f5))),console[bI(0x2c0)](a0L[bI(0x377)](bI(0x4a2))),console[bI(0x2c0)](),console[bI(0x2c0)](a0L[bI(0x370)](bI(0x25e))),console['log'](a0L[bI(0x377)](bI(0x433)))):bI(0x2b9)===a8?(console[bI(0x2c0)](a0L[bI(0x370)](bI(0x32f))),console['log'](a0L[bI(0x377)]('\x20\x20\x20\x20winget\x20install\x20Python.Python.3.12')),console[bI(0x2c0)](),console[bI(0x2c0)](a0L[bI(0x3c9)](bI(0x214))),console[bI(0x2c0)](a0L[bI(0x3c9)]('\x20\x20\x20\x20https://www.python.org/downloads/windows/'))):console[bI(0x2c0)](a0L[bI(0x3c9)](bI(0x42b))),console[bI(0x2c0)](),console[bI(0x2c0)](a0L['white']('\x20\x20After\x20installing,\x20run:\x20')+a0L[bI(0x3cf)][bI(0x2c6)](bI(0x3cb))),console['log']();},Q='python3';let V='';try{const a6={};a6[bH(0x365)]='utf-8',a6[bH(0x428)]=0x1388,V=a0an(Q+bH(0x23e),a6)[bH(0x378)]()[bH(0x226)](bH(0x3ee),'');const a7=V[bH(0x1fc)]('.')['map'](Number);if(a7[0x2*-0x1373+-0x1*-0x4a5+0x6f*0x4f]<-0x1*0x2e1+-0x426+0x70a||-0x148e+-0x6*0x3a5+0x2a6f===a7[-0x1996+0x15b6+-0x1*-0x3e0]&&a7[0x1*-0x18b3+0x18dc*0x1+-0x28]<0x34b+-0xd01*-0x2+-0x1d43)return void L(bH(0x3a7),V);-0x1df+-0xfe6+-0x11c8*-0x1===a7[0x7d0+0x1*0x206d+-0x283d*0x1]&&a7[0x11af+-0x10fe+-0xb0*0x1]<0x23a6+0x62b+-0x29c5?console[bH(0x2c0)](a0L[bH(0x377)](bH(0x31a)+V)+a0L[bH(0x3c9)](bH(0x349))):console[bH(0x2c0)](a0L[bH(0x377)](bH(0x31a)+V));}catch{return void L('missing');}try{const a8={};a8['stdio']='ignore',a8[bH(0x428)]=0x1388,(a0an(Q+'\x20-m\x20pip\x20--version',a8),console[bH(0x2c0)](a0L[bH(0x377)](bH(0x1ea))));}catch{console[bH(0x2c0)](a0L[bH(0x370)](bH(0x28d)));try{const a9={};a9[bH(0x27a)]='ignore',a9['timeout']=0x7530,(a0an(Q+'\x20-m\x20ensurepip\x20--upgrade',a9),console[bH(0x2c0)](a0L[bH(0x377)](bH(0x27f))));}catch{a0aa(bH(0x1e9)),console[bH(0x2c0)]();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import(bH(0x292)),{execFileSync:ac}=await import(bH(0x452)),ad=aa(),ae=ab(),af=bH(0x3e5)===process[bH(0x43d)]&&!ad,ag=bH(0x420)===process['platform'];let ah='your\x20Linux\x20distro';if(af||ad)try{const {readFileSync:ak}=await import(bH(0x431)),al=ak(bH(0x4a0),bH(0x321)),am=(al['match'](/^ID="?([^"\n]+)/m)||[])[-0x1d62+0x382+-0x19*-0x109]||'',an=(al[bH(0x2f4)](/^VERSION_ID="?([^"\n]+)/m)||[])[0x35c*-0x2+-0x1*0xb09+-0x2*-0x8e1]||'';bH(0x3af)===am?ah=bH(0x3c4)+an+(ad?bH(0x3ec):''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?bH(0x3ec):''));}catch{}let ai=!(-0x1be6*-0x1+0xa03*-0x1+-0x2fb*0x6);if(ag)try{const ao={};ao['stdio']='ignore',ao[bH(0x428)]=0x7d0,(ac(bH(0x3c7),[bH(0x2e6)],ao),ai=!(0x490+-0x8a0+0x410));}catch{ai=!(-0x4*0x3d2+0x1497+-0x2a7*0x2);}const aj=ae?bH(0x274):'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20sudo\x20cannot\x20run\x20inside\x20the\x20prompt';return console[bH(0x2c0)](a0L[bH(0x3cf)]['yellow'](bH(0x463))),console['log'](a0L[bH(0x3cf)][bH(0x370)]('\x20\x20'+aj)),console[bH(0x2c0)](a0L['bold'][bH(0x370)](bH(0x463))),console[bH(0x2c0)](),af||ad?(console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x3b7))+a0L['cyan'](ah)),console[bH(0x2c0)](a0L['gray'](bH(0x338))),console[bH(0x2c0)](),console[bH(0x2c0)](a0L['bold'][bH(0x2de)]('\x20\x20Step-by-step:')),console[bH(0x2c0)](),console['log'](a0L[bH(0x2de)]('\x20\x20\x20\x201.\x20Type\x20')+a0L['bold'][bH(0x2c6)]('quit')+a0L[bH(0x2de)](bH(0x208))),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2de)]('\x20\x20\x20\x202.\x20In\x20your\x20shell,\x20run:')),console['log'](),console[bH(0x2c0)](bH(0x242)+a0L['bold']['cyan']('sudo\x20apt\x20update')),console[bH(0x2c0)](bH(0x242)+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x2ca))),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x4a7))),console[bH(0x2c0)](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bH(0x2c6)](bH(0x2b7))),console[bH(0x2c0)](bH(0x242)+a0L[bH(0x3c9)](bH(0x36b))+'\x20'+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x3cb)))):ag?(console[bH(0x2c0)](a0L['white'](bH(0x3b7))+a0L[bH(0x2c6)](bH(0x32e))),console[bH(0x2c0)](),console['log'](a0L[bH(0x3cf)][bH(0x2de)](bH(0x4c2))),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x2ea))+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x360))+a0L[bH(0x2de)](bH(0x4b4))),console[bH(0x2c0)](),ai?(console['log'](a0L[bH(0x2de)](bH(0x218))),console[bH(0x2c0)](),console[bH(0x2c0)](bH(0x242)+a0L['bold']['cyan'](bH(0x411))),console['log'](bH(0x242)+a0L[bH(0x3cf)][bH(0x2c6)]('brew\x20link\x20--overwrite\x20python@3.12'))):(console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x244))+a0L[bH(0x3cf)]['yellow'](bH(0x2e6))+a0L[bH(0x2de)]('):')),console[bH(0x2c0)](),console[bH(0x2c0)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x3cf)]['cyan']('/bin/bash\x20-c\x20\x22$(curl\x20-fsSL\x20https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\x22')),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x27b))),console[bH(0x2c0)](),console[bH(0x2c0)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x3cf)]['cyan']('brew\x20install\x20python@3.12'))),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2de)]('\x20\x20\x20\x203.\x20Restart\x20icoa\x20and\x20retry:')),console[bH(0x2c0)](),console[bH(0x2c0)](bH(0x242)+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x2b7))),console['log'](bH(0x242)+a0L[bH(0x3c9)]('icoa>')+'\x20'+a0L['bold'][bH(0x2c6)](bH(0x3cb)))):ae?(console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x3b7))+a0L[bH(0x2c6)]('Windows\x20native\x20(PowerShell\x20/\x20cmd)')),console['log'](),console['log'](a0L[bH(0x3cf)]['yellow']('\x20\x20ICOA\x20officially\x20supports\x20WSL2\x20on\x20Windows.')),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x2df))),console[bH(0x2c0)](a0L['gray'](bH(0x39e))),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x1d0))),console[bH(0x2c0)](),console['log'](a0L['bold'][bH(0x2de)]('\x20\x20Recommended\x20path\x20—\x20switch\x20to\x20WSL2\x20(one-time,\x20~5\x20min):')),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x2ea))+a0L[bH(0x3cf)]['cyan']('quit')+a0L['white'](bH(0x4b4))),console['log'](a0L[bH(0x2de)](bH(0x269))),console['log'](),console[bH(0x2c0)]('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bH(0x2c6)](bH(0x24c))),console['log'](),console[bH(0x2c0)](a0L[bH(0x3c9)]('\x20\x20\x20\x20\x20\x20\x20(Reboot\x20if\x20Windows\x20asks,\x20then\x20open\x20the\x20Ubuntu\x20terminal.)')),console[bH(0x2c0)](a0L[bH(0x2de)]('\x20\x20\x20\x203.\x20Inside\x20Ubuntu,\x20install\x20Node.js\x2022\x20+\x20Python\x20tools\x20+\x20icoa:')),console['log'](),console['log'](bH(0x242)+a0L['bold'][bH(0x2c6)](bH(0x30a))),console[bH(0x2c0)](bH(0x242)+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x387))),console[bH(0x2c0)](bH(0x242)+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x337))),console[bH(0x2c0)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x3cf)][bH(0x2c6)]('icoa')),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x4b6))),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x2ea))+a0L[bH(0x3cf)][bH(0x2c6)]('quit')+a0L[bH(0x2de)](bH(0x4b4))),console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x41c))),console[bH(0x2c0)](),console[bH(0x2c0)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x3cf)]['cyan'](bH(0x276))),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x45e))),console['log'](a0L[bH(0x3c9)]('\x20\x20\x20\x20\x20\x20\x20\x20PATH\x22\x20+\x20\x22Install\x20pip\x22\x20during\x20the\x20installer.)')),console['log'](a0L[bH(0x2de)](bH(0x2be))),console[bH(0x2c0)](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x2b7))),console['log'](bH(0x242)+a0L[bH(0x3c9)](bH(0x36b))+'\x20'+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x3cb)))):(console['log'](a0L[bH(0x2de)](bH(0x2a7))+a0L[bH(0x2c6)](process['platform'])+a0L[bH(0x2de)](')')),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x3c8))),console['log'](bH(0x242)+a0L['bold'][bH(0x2c6)](bH(0x2b7))),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L['gray'](bH(0x36b))+'\x20'+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x3cb)))),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x282))),void console[bH(0x2c0)]();}}const W={};W[bH(0x41d)]=bH(0x417),W[bH(0x3dc)]=bH(0x3ac),W[bH(0x38f)]='z3',W['pillow']='PIL',W[bH(0x29e)]=bH(0x4c9),W[bH(0x435)]=bH(0x425);const X=['pwntools',bH(0x499),'requests',bH(0x41d),bH(0x42a),'pillow','scapy',bH(0x329),bH(0x38f),bH(0x3dc),bH(0x435),bH(0x4cc),'regex'],Y=W;console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x283)+X[bH(0x38c)]+'\x20packages...')),console[bH(0x2c0)]();let Z='';try{const ap={};ap[bH(0x365)]=bH(0x321),ap['timeout']=0x2710,a0an(Q+bH(0x386),ap);}catch(aq){const ar=String(aq?.[bH(0x30b)]||aq?.[bH(0x4c7)]||aq?.[bH(0x3d3)]||'');/externally-managed-environment|break-system-packages/i[bH(0x2b3)](ar)&&(Z=bH(0x202),console[bH(0x2c0)](a0L[bH(0x370)](bH(0x306))),console[bH(0x2c0)]());}const a0=V[bH(0x1fc)]('.')[bH(0x461)](Number);0x28*0xf7+-0x45f*-0x1+0x2*-0x157a===a0[0x5*-0x727+0x1a51+-0x972*-0x1]&&a0[0x10d0+0xd*0x1+-0x10dc]>=-0x1036+0x1746+-0x5*0x167&&(console[bH(0x2c0)](a0L[bH(0x370)](bH(0x416)+V+bH(0x2c8))),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x444))),console['log'](a0L[bH(0x3c9)]('\x20\x20\x20\x20Python\x203.12\x20is\x20recommended.\x20Install:')),'linux'===process[bH(0x43d)]&&(console['log'](a0L['green'](bH(0x299))),console['log'](a0L[bH(0x377)](bH(0x492)))),console[bH(0x2c0)]());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+bH(0x20d)+as+'\x22\x20'+Z+bH(0x449),{'encoding':bH(0x321),'timeout':0x2bf20,'stdio':'pipe'}),a0an(Q+bH(0x2ba)+(Y[as]||as)+'\x22',{'stdio':bH(0x379),'timeout':0x2710});let at='';try{const au=a0an(Q+bH(0x381)+as+bH(0x34d),{'encoding':bH(0x321),'timeout':0x1388})['match'](/^Version:\s*(.+)$/m);au&&(at=au[-0x16eb*-0x1+0x2da+-0x19c4][bH(0x378)]());}catch{}console[bH(0x2c0)](a0L['green'](bH(0x39c)+as)+(at?a0L[bH(0x3c9)]('\x20('+at+')'):'')),a1['push'](at?as+'=='+at:as);}catch(av){const aw=String(av?.[bH(0x30b)]||av?.[bH(0x4c7)]||av?.[bH(0x3d3)]||'')['slice'](-(0xf*0x16+0x1d*0x6b+-0xbd9)),ax=aw[bH(0x1fc)]('\x0a')[bH(0x1ff)](ay=>ay[bH(0x378)]())[bH(0x24f)](-(-0x1f7f+0x771+-0x28*-0x9a))['join']('\x20|\x20')[bH(0x24f)](-0x1ab0+0x1*0x3ef+-0x19*-0xe9,-0x1*0xb93+-0x1*0x442+-0x56f*-0x3);console[bH(0x2c0)](a0L[bH(0x4b1)](bH(0x1fe)+as)+a0L['gray']('\x20\x20'+ax)),a2[bH(0x24b)]({'pkg':as,'error':ax}),a3||(a3=aw);}-0xa15*-0x1+-0x9*0x2ed+0xa*0x1a0===a1[bH(0x38c)]&&a3&&(console[bH(0x2c0)](),console['log'](a0L[bH(0x370)](bH(0x249))),console[bH(0x2c0)](a0L[bH(0x3c9)]('\x20\x20'+a3[bH(0x1fc)]('\x0a')[bH(0x24f)](-(0x225*0x11+-0xc7a*0x2+0x1*-0xb7b))['join'](bH(0x344))))),a0al({'completedAt':new Date()['toISOString'](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bH(0x461)](ay=>ay[bH(0x4c0)])}),console[bH(0x2c0)](),0x427*-0x5+-0x2*0xaa+0x1617===a2[bH(0x38c)]?a0a9(bH(0x27e)+X[bH(0x38c)]+bH(0x248)):-0x1df8+-0x316*0x7+0x3392===a1['length']?(a0aa(bH(0x451)+X['length']+bH(0x248)),console['log'](),console['log'](a0L[bH(0x370)](bH(0x2ac))),0x271*0xe+-0x169*-0xb+-0x31ae*0x1===a0[-0xca9+-0x1*-0x23b3+-0x170a]&&a0[-0x8*-0xb2+-0x115*-0x1f+0x138d*-0x2]>=-0xf10+-0xa9c+0x19b9*0x1?(console[bH(0x2c0)](a0L['gray'](bH(0x222))),console[bH(0x2c0)](a0L['gray'](bH(0x448)))):(console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x341))),console['log'](a0L[bH(0x3c9)](bH(0x40b))+a0L[bH(0x2c6)](Q+bH(0x250))+a0L[bH(0x3c9)](bH(0x3eb))),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x300)))),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2de)]('\x20\x20Rerun\x20when\x20fixed:\x20')+a0L[bH(0x3cf)]['cyan'](bH(0x3cb)))):a0ab(a1[bH(0x38c)]+'/'+X[bH(0x38c)]+bH(0x41b)+a2[bH(0x38c)]+bH(0x455)+a2['map'](ay=>ay['pkg'])[bH(0x2fa)](',\x20')),console[bH(0x2c0)](),console[bH(0x2c0)](a0L[bH(0x2c6)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bH(0x2c0)](a0L[bH(0x3cf)][bH(0x2de)](bH(0x278))),console['log'](a0L['cyan'](bH(0x371))),console[bH(0x2c0)](),console['log'](a0L[bH(0x3cf)][bH(0x370)](bH(0x441))+a0L[bH(0x3c9)]('\x20(quick\x20tasks)')),console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x1f8))),console[bH(0x2c0)](a0L[bH(0x377)](bH(0x33f))),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x237))),console['log'](),console['log'](a0L[bH(0x3cf)]['yellow'](bH(0x4bf))+a0L[bH(0x3c9)](bH(0x3bd))),console[bH(0x2c0)](a0L['white'](bH(0x2f6))),console[bH(0x2c0)](a0L[bH(0x377)]('\x20\x20\x20\x20!python3')),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x31d))),console['log'](a0L[bH(0x3c9)](bH(0x2a2))),console['log'](a0L[bH(0x3c9)](bH(0x1f1))),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x28a))),console[bH(0x2c0)](a0L['gray'](bH(0x2ed))),console[bH(0x2c0)](),console['log'](a0L[bH(0x3cf)][bH(0x370)](bH(0x319))+a0L['gray'](bH(0x390))),console['log'](a0L['white']('\x20\x20Write\x20a\x20.py\x20file,\x20then\x20run\x20it:')),console[bH(0x2c0)](a0L[bH(0x377)]('\x20\x20\x20\x20!cat\x20<<\x20\x27EOF\x27\x20>\x20solve.py')),console['log'](a0L['gray'](bH(0x3c2))),console[bH(0x2c0)](a0L[bH(0x3c9)](bH(0x48f))),console[bH(0x2c0)](a0L['gray'](bH(0x3e0))),console['log'](a0L['gray'](bH(0x427))),console[bH(0x2c0)](a0L['green'](bH(0x32c))),console['log'](a0L[bH(0x377)]('\x20\x20\x20\x20!python3\x20solve.py')),console['log'](),console[bH(0x2c0)](a0L[bH(0x3cf)][bH(0x370)](bH(0x323))),console[bH(0x2c0)](a0L[bH(0x2de)](bH(0x354))+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x32a))+a0L[bH(0x2de)]('\x20to\x20ask\x20AI\x20for\x20help:')),console['log'](a0L[bH(0x3c9)](bH(0x470))),console[bH(0x2c0)](a0L['gray'](bH(0x4bc))),console['log'](a0L['gray']('\x20\x20\x20\x20AI\x20budget:\x2025K\x20tokens\x20for\x20AI4CTF\x20+\x2025K\x20for\x20CTF4AI')),console[bH(0x2c0)](a0L[bH(0x2c6)](bH(0x371))),console[bH(0x2c0)](),console[bH(0x2c0)](a0L['white'](bH(0x312))+a0L['bold']['cyan']('exam\x20<token>')),console['log'](a0L[bH(0x3c9)](bH(0x4c3))+a0L[bH(0x3cf)][bH(0x2c6)](bH(0x49b))+a0L[bH(0x3c9)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console[bH(0x2c0)]();}),B[bb(0x2ef)](()=>{const bJ=bb;a0a8(bJ(0x454));const F=a0Y();if(F){a0ae(bJ(0x49c)+F[bJ(0x460)]['examName']),O();const J=Object[bJ(0x446)](F[bJ(0x45d)])[bJ(0x38c)];return a0af(bJ(0x3e9),J+'/'+F[bJ(0x460)][bJ(0x4d3)]+bJ(0x25d)),console['log'](),void console[bJ(0x2c0)](a0L[bJ(0x3c9)]('\x20\x20exam\x20q\x20[n]\x20\x20|\x20exam\x20answer\x20<n>\x20<A-D>\x20|\x20exam\x20review\x20|\x20exam\x20submit'));}const G=a0a3(),H=a0ak();console[bJ(0x2c0)](),a0ae(bJ(0x25f)),console[bJ(0x2c0)](),-0x8f9*-0x4+0x156d+-0x3951*0x1===G[bJ(0x394)]?(console[bJ(0x2c0)](a0L[bJ(0x370)](bJ(0x279))+a0L[bJ(0x370)]('Recommended:\x20complete\x20demo\x20first')),console['log'](a0L['gray'](bJ(0x4ae))+a0L['bold'][bJ(0x2c6)](bJ(0x353)))):(console[bJ(0x2c0)](a0L[bJ(0x377)](bJ(0x315))+a0L[bJ(0x377)](bJ(0x2c2)+G[bJ(0x394)]+'\x20attempt'+(0x1c8a+-0x119*0x19+-0x118!==G['attempts']?'s':'')+')')),H?(console[bJ(0x2c0)](a0L[bJ(0x377)](bJ(0x315))+a0L[bJ(0x377)]('Environment\x20ready')),console['log'](a0L['yellow'](bJ(0x279))+a0L['yellow']('Enter\x20exam\x20token\x20to\x20begin')),console['log'](a0L[bJ(0x3c9)](bJ(0x4ae))+a0L[bJ(0x3cf)]['cyan']('exam\x20<token>'))):(console[bJ(0x2c0)](a0L[bJ(0x370)](bJ(0x279))+a0L[bJ(0x370)](bJ(0x44b))),console[bJ(0x2c0)](a0L['gray'](bJ(0x4ae))+a0L[bJ(0x3cf)][bJ(0x2c6)](bJ(0x3cb))))),console[bJ(0x2c0)]();});}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{Command as o}from"commander";import chalk from"chalk";import{registerCtfCommands as e}from"./commands/ctf.js";import{registerRefCommand as n}from"./commands/ref.js";import{registerShellCommand as r}from"./commands/shell.js";import{registerFilesCommand as s}from"./commands/files.js";import{registerConnectCommand as t}from"./commands/connect.js";import{registerNoteCommand as i}from"./commands/note.js";import{registerLogCommand as a}from"./commands/log.js";import{registerLangCommand as l}from"./commands/lang.js";import{registerSetupCommand as m}from"./commands/setup.js";import{registerEnvCommand as c}from"./commands/env.js";import{registerAi4ctfCommand as g}from"./commands/ai4ctf.js";import{registerExamCommand as d}from"./commands/exam.js";import{registerCtf4aiDemoCommand as p}from"./commands/ctf4ai-demo.js";import{registerThemeCommand as y}from"./commands/theme.js";import{getConfig as h,saveConfig as f}from"./lib/config.js";import{startRepl as u}from"./repl.js";import{setTerminalTheme as w}from"./lib/theme.js";import{checkForUpdates as T}from"./lib/update-check.js";import{readFileSync as b}from"node:fs";import{fileURLToPath as $}from"node:url";import{dirname as C,join as _}from"node:path";const A=C($(import.meta.url)),v=JSON.parse(b(_(A,"..","package.json"),"utf-8")).version,E=chalk.cyan(" ─────────────────────────────────────────────────────"),j=`\n${E}\n\n ${chalk.bold.white("██╗ ██████╗ ██████╗ █████╗")}\n ${chalk.bold.white("██║██╔════╝██╔═══██╗██╔══██╗")}\n ${chalk.bold.white("██║██║ ██║ ██║███████║")}\n ${chalk.bold.white("██║██║ ██║ ██║██╔══██║")}\n ${chalk.bold.white("██║╚██████╗╚██████╔╝██║ ██║")}\n ${chalk.bold.white("╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")}\n\n ${chalk.yellow("International Cyber Olympiad in AI 2026")}\n ${chalk.bold.magenta("The World's First AI-Native CLI Operating System")}\n ${chalk.bold.magenta("for Cybersecurity & AI Security Competition")}\n ${chalk.bold.magenta("and Olympiad for K-12")}\n\n ${chalk.green.bold("AI4CTF")}${chalk.gray("[Day 1]")} ${chalk.white("AI as your teammate")}\n ${chalk.red.bold("CTF4AI")}${chalk.gray("[Day 2]")} ${chalk.white("Challenge & evaluate AI systems")}\n ${chalk.bold.yellow("AI is your ally. AI is your target.")}\n\n ${chalk.white("Sydney, Australia")} ${chalk.gray("Jun 27 - Jul 2, 2026")}\n ${chalk.cyan.underline("https://icoa2026.au")}\n\n ${chalk.gray(`CLI-Native Competition Terminal v${v}`)}\n\n${E}\n`;process.on("uncaughtException",o=>{"__REPL_NO_EXIT__"!==o.message&&(console.error(chalk.red("Error:"),o.message),process.exit(1))}),process.on("unhandledRejection",o=>{const e=o instanceof Error?o.message:String(o);"__REPL_NO_EXIT__"!==e&&(console.error(chalk.red("Error:"),e),process.exit(1))});const I=new o;if(I.name("icoa").version(v).description("ICOA CLI — CLI-Native CTF Competition Terminal").option("--resume","Resume previous session").action(async o=>{const e=h();w("high-contrast"===e.themeVariant?"high-contrast":"dark"),T();const n=process.env.LANG||process.env.LC_ALL||process.env.LC_CTYPE||"";if(!/UTF-?8/i.test(n))if("win32"===process.platform){let o="";try{const{execFileSync:e}=await import("node:child_process");o=e("chcp.com",[],{encoding:"utf-8",timeout:1500,stdio:["ignore","pipe","ignore"]}).trim()}catch{}o.includes("65001")||(console.log(chalk.yellow(`⚠ Windows terminal is not using UTF-8 (current: ${o||"unknown"}).`)),console.log(chalk.gray(' Non-English text (Ukrainian, Chinese, Japanese, etc.) may show as "?" or garbled glyphs.')),console.log(chalk.gray(" Fix (run before ")+chalk.cyan("icoa")+chalk.gray("): ")+chalk.cyan("chcp 65001")),console.log(chalk.gray(" Or stay in English inside the CLI: ")+chalk.cyan("lang en")),console.log())}else console.log(chalk.yellow(`⚠ Your terminal locale is not UTF-8 (LANG=${n||"(unset)"}).`)),console.log(chalk.gray(' Non-English text and box characters may display as "?" or garbled glyphs.')),console.log(chalk.gray(" Fix: ")+chalk.cyan("export LANG=en_US.UTF-8")+chalk.gray(" (or your locale, e.g. ")+chalk.cyan("zh_CN.UTF-8")+chalk.gray(", ")+chalk.cyan("uk_UA.UTF-8")+chalk.gray(")")),console.log();if(console.log(j),process.argv.length<=2||o.resume)return o.resume||await async function(){const o=process.stdin;if(o.isTTY&&"function"==typeof o.setRawMode)return new Promise(e=>{let n=!1;const r=()=>{if(!n){n=!0,o.removeListener("data",s);try{o.setRawMode(!1)}catch{}o.pause(),e()}},s=()=>r();o.setRawMode(!0),o.resume(),o.once("data",s),console.log(chalk.gray(" (press any key to continue...)")),setTimeout(r,3e3)});await new Promise(o=>setTimeout(o,3e3))}(),void u(I,!!o.resume)}),e(I),n(I),r(I),s(I),t(I),i(I),a(I),l(I),m(I),c(I),g(I),d(I),p(I),y(I),I.command("model",{hidden:!0}).argument("[name]","model name to switch to").action(o=>{const e=h().geminiModel||"gemini-2.5-flash";o?(f({geminiModel:o}),console.log(),console.log(chalk.green(" Model switched: ")+chalk.gray(e)+chalk.white(" -> ")+chalk.bold.white(o)),console.log()):(console.log(),console.log(chalk.gray(" Current model: ")+chalk.white(e)),console.log(),console.log(chalk.gray(" Available models:")),console.log(chalk.bold.white(" Gemini 3.x (Latest)")),console.log(chalk.white(" model gemini-3.1-pro-preview ")+chalk.gray("Most powerful, paid")),console.log(chalk.white(" model gemini-3-flash-preview ")+chalk.gray("Fast, free tier")),console.log(chalk.bold.white(" Gemini 2.5 (Stable)")),console.log(chalk.white(" model gemini-2.5-flash ")+chalk.gray("Fast, free tier (default)")),console.log(chalk.white(" model gemini-2.5-pro ")+chalk.gray("Strong reasoning, paid")),console.log(chalk.bold.white(" Open Source")),console.log(chalk.white(" model gemma-4-31b-it ")+chalk.gray("Free, open-source")),console.log(chalk.white(" model <any-model-id> ")+chalk.gray("Custom model")),console.log(),console.log(chalk.gray(" Translation uses gemini-3.1-pro-preview for best quality.")),console.log())}),"1"===process.env.ICOA_RESET_STATE)try{const{clearExamState:o}=await import("./lib/exam-state.js");o(),console.log(chalk.yellow("⚠ ICOA_RESET_STATE=1 — local exam state wiped.")),console.log(chalk.gray(" (Token NOT revoked server-side. Re-enter a fresh token with `exam <token>`.)")),console.log()}catch(o){console.log(chalk.red("⚠ ICOA_RESET_STATE: could not clear state — ")+chalk.gray(String(o)))}I.parse();
2
+ import{Command as o}from"commander";import chalk from"chalk";import{registerCtfCommands as e}from"./commands/ctf.js";import{registerRefCommand as n}from"./commands/ref.js";import{registerShellCommand as r}from"./commands/shell.js";import{registerFilesCommand as s}from"./commands/files.js";import{registerConnectCommand as t}from"./commands/connect.js";import{registerNoteCommand as l}from"./commands/note.js";import{registerLogCommand as i}from"./commands/log.js";import{registerLangCommand as a}from"./commands/lang.js";import{registerSetupCommand as c}from"./commands/setup.js";import{registerEnvCommand as m}from"./commands/env.js";import{registerAi4ctfCommand as g}from"./commands/ai4ctf.js";import{registerExamCommand as d}from"./commands/exam.js";import{registerCtf4aiDemoCommand as p}from"./commands/ctf4ai-demo.js";import{registerThemeCommand as y}from"./commands/theme.js";import{getConfig as h,saveConfig as u}from"./lib/config.js";import{startRepl as f}from"./repl.js";import{setTerminalTheme as w}from"./lib/theme.js";import{checkForUpdates as b}from"./lib/update-check.js";import{detectIcoaInstalls as T}from"./lib/platform.js";import{readFileSync as $}from"node:fs";import{fileURLToPath as v}from"node:url";import{dirname as A,join as C}from"node:path";const _=A(v(import.meta.url)),E=JSON.parse($(C(_,"..","package.json"),"utf-8")).version,I=chalk.cyan(" ─────────────────────────────────────────────────────"),j=`\n${I}\n\n ${chalk.bold.white("██╗ ██████╗ ██████╗ █████╗")}\n ${chalk.bold.white("██║██╔════╝██╔═══██╗██╔══██╗")}\n ${chalk.bold.white("██║██║ ██║ ██║███████║")}\n ${chalk.bold.white("██║██║ ██║ ██║██╔══██║")}\n ${chalk.bold.white("██║╚██████╗╚██████╔╝██║ ██║")}\n ${chalk.bold.white("╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")}\n\n ${chalk.yellow("International Cyber Olympiad in AI 2026")}\n ${chalk.bold.magenta("The World's First AI-Native CLI Operating System")}\n ${chalk.bold.magenta("for Cybersecurity & AI Security Competition")}\n ${chalk.bold.magenta("and Olympiad for K-12")}\n\n ${chalk.green.bold("AI4CTF")}${chalk.gray("[Day 1]")} ${chalk.white("AI as your teammate")}\n ${chalk.red.bold("CTF4AI")}${chalk.gray("[Day 2]")} ${chalk.white("Challenge & evaluate AI systems")}\n ${chalk.bold.yellow("AI is your ally. AI is your target.")}\n\n ${chalk.white("Sydney, Australia")} ${chalk.gray("Jun 27 - Jul 2, 2026")}\n ${chalk.cyan.underline("https://icoa2026.au")}\n\n ${chalk.gray(`CLI-Native Competition Terminal v${E}`)}\n\n${I}\n`;process.on("uncaughtException",o=>{"__REPL_NO_EXIT__"!==o.message&&(console.error(chalk.red("Error:"),o.message),process.exit(1))}),process.on("unhandledRejection",o=>{const e=o instanceof Error?o.message:String(o);"__REPL_NO_EXIT__"!==e&&(console.error(chalk.red("Error:"),e),process.exit(1))});const S=new o;if(S.name("icoa").version(E).description("ICOA CLI — CLI-Native CTF Competition Terminal").option("--resume","Resume previous session").action(async o=>{const e=h();w("high-contrast"===e.themeVariant?"high-contrast":"dark"),b(),function(){const o=T();if(o.length<=1)return;const e=o[0];if([...o.map(o=>o.version||"0.0.0")].sort((o,e)=>function(o,e){const n=o.split(".").map(o=>parseInt(o,10)||0),r=e.split(".").map(o=>parseInt(o,10)||0);for(let o=0;o<3;o++)if((n[o]||0)!==(r[o]||0))return(n[o]||0)-(r[o]||0);return 0}(e,o))[0]!==e.version){console.log(),console.log(chalk.yellow.bold(" ⚠ Multiple icoa installations detected on PATH:"));for(let e=0;e<o.length;e++){const n=o[e],r=n.version?`v${n.version}`:"(version unreadable)",s=0===e?chalk.yellow("→"):" ",t=0===e?chalk.gray(" ← currently running (older — shadowing newer install)"):chalk.gray(" ← shadowed");console.log(` ${s} ${chalk.cyan(n.path.padEnd(28))} ${chalk.white(r)}${t}`)}console.log(),console.log(chalk.yellow(" The first install on PATH wins. To use the newer one, remove the older:")),console.log(),e.pkgDir?console.log(` ${chalk.bold.cyan(`sudo rm -rf ${e.pkgDir} ${e.path}`)}`):console.log(` ${chalk.bold.cyan(`sudo rm -rf ${e.path} # also delete its node_modules dir`)}`),console.log(),console.log(chalk.gray(" Then re-run icoa to confirm version banner shows the newer release.")),console.log()}}();const n=process.env.LANG||process.env.LC_ALL||process.env.LC_CTYPE||"";if(!/UTF-?8/i.test(n))if("win32"===process.platform){let o="";try{const{execFileSync:e}=await import("node:child_process");o=e("chcp.com",[],{encoding:"utf-8",timeout:1500,stdio:["ignore","pipe","ignore"]}).trim()}catch{}o.includes("65001")||(console.log(chalk.yellow(`⚠ Windows terminal is not using UTF-8 (current: ${o||"unknown"}).`)),console.log(chalk.gray(' Non-English text (Ukrainian, Chinese, Japanese, etc.) may show as "?" or garbled glyphs.')),console.log(chalk.gray(" Fix (run before ")+chalk.cyan("icoa")+chalk.gray("): ")+chalk.cyan("chcp 65001")),console.log(chalk.gray(" Or stay in English inside the CLI: ")+chalk.cyan("lang en")),console.log())}else console.log(chalk.yellow(`⚠ Your terminal locale is not UTF-8 (LANG=${n||"(unset)"}).`)),console.log(chalk.gray(' Non-English text and box characters may display as "?" or garbled glyphs.')),console.log(chalk.gray(" Fix: ")+chalk.cyan("export LANG=en_US.UTF-8")+chalk.gray(" (or your locale, e.g. ")+chalk.cyan("zh_CN.UTF-8")+chalk.gray(", ")+chalk.cyan("uk_UA.UTF-8")+chalk.gray(")")),console.log();if(console.log(j),process.argv.length<=2||o.resume)return o.resume||await async function(){const o=process.stdin;if(o.isTTY&&"function"==typeof o.setRawMode)return new Promise(e=>{let n=!1;const r=()=>{if(!n){n=!0,o.removeListener("data",s);try{o.setRawMode(!1)}catch{}o.pause(),e()}},s=()=>r();o.setRawMode(!0),o.resume(),o.once("data",s),console.log(chalk.gray(" (press any key to continue...)")),setTimeout(r,3e3)});await new Promise(o=>setTimeout(o,3e3))}(),void f(S,!!o.resume)}),e(S),n(S),r(S),s(S),t(S),l(S),i(S),a(S),c(S),m(S),g(S),d(S),p(S),y(S),S.command("model",{hidden:!0}).argument("[name]","model name to switch to").action(o=>{const e=h().geminiModel||"gemini-2.5-flash";o?(u({geminiModel:o}),console.log(),console.log(chalk.green(" Model switched: ")+chalk.gray(e)+chalk.white(" -> ")+chalk.bold.white(o)),console.log()):(console.log(),console.log(chalk.gray(" Current model: ")+chalk.white(e)),console.log(),console.log(chalk.gray(" Available models:")),console.log(chalk.bold.white(" Gemini 3.x (Latest)")),console.log(chalk.white(" model gemini-3.1-pro-preview ")+chalk.gray("Most powerful, paid")),console.log(chalk.white(" model gemini-3-flash-preview ")+chalk.gray("Fast, free tier")),console.log(chalk.bold.white(" Gemini 2.5 (Stable)")),console.log(chalk.white(" model gemini-2.5-flash ")+chalk.gray("Fast, free tier (default)")),console.log(chalk.white(" model gemini-2.5-pro ")+chalk.gray("Strong reasoning, paid")),console.log(chalk.bold.white(" Open Source")),console.log(chalk.white(" model gemma-4-31b-it ")+chalk.gray("Free, open-source")),console.log(chalk.white(" model <any-model-id> ")+chalk.gray("Custom model")),console.log(),console.log(chalk.gray(" Translation uses gemini-3.1-pro-preview for best quality.")),console.log())}),"1"===process.env.ICOA_RESET_STATE)try{const{clearExamState:o}=await import("./lib/exam-state.js");o(),console.log(chalk.yellow("⚠ ICOA_RESET_STATE=1 — local exam state wiped.")),console.log(chalk.gray(" (Token NOT revoked server-side. Re-enter a fresh token with `exam <token>`.)")),console.log()}catch(o){console.log(chalk.red("⚠ ICOA_RESET_STATE: could not clear state — ")+chalk.gray(String(o)))}S.parse();
@@ -34,3 +34,32 @@ export declare function isNativeWindowsCmd(): boolean;
34
34
  * "not recognized as internal or external command" messages to stdout.
35
35
  */
36
36
  export declare function hasPython(): boolean;
37
+ /**
38
+ * Detect duplicate icoa installations on PATH.
39
+ *
40
+ * Real-world failure mode (v2.19.103 → 2.19.111 upgrade incident, 2026-05-05):
41
+ * a contestant's box had Node.js installed twice over time — first via NodeSource
42
+ * (npm prefix /usr/local), later via apt (npm prefix /usr). The latest
43
+ * `sudo npm install -g icoa-cli@latest` updated /usr/lib/... but PATH ordering
44
+ * (/usr/local/bin > /usr/bin) meant `which icoa` still resolved to the
45
+ * stale /usr/local copy. Banner stayed at "8 versions behind" forever; the
46
+ * student / coordinator pinged the project lead.
47
+ *
48
+ * This probe surfaces the condition at startup so the user can resolve it
49
+ * themselves. Runs `which -a icoa` (POSIX-only — skipped on Windows native).
50
+ * For each result, attempts to read its package.json version so the banner
51
+ * can clearly mark "older / newer / same".
52
+ *
53
+ * Returns an array of { path, version? } in PATH order. The FIRST entry is
54
+ * what the shell currently runs. Empty/undefined version means the package
55
+ * couldn't be resolved (broken symlink, atypical install layout).
56
+ *
57
+ * Performance: ~5ms total (one `which` call + 1-2 small file reads).
58
+ * Performance budget at startup is generous; this stays well within it.
59
+ */
60
+ export interface IcoaInstall {
61
+ path: string;
62
+ version?: string;
63
+ pkgDir?: string;
64
+ }
65
+ export declare function detectIcoaInstalls(): IcoaInstall[];
@@ -1 +1 @@
1
- import{execFileSync as o}from"node:child_process";export function isInWSL(){return!(!process.env.WSL_DISTRO_NAME&&!process.env.WSLENV)}export function isNativeWindowsCmd(){return"win32"===process.platform&&!isInWSL()}export function hasPython(){const n=[["python3",["--version"]],["python",["--version"]],["py",["-3","--version"]]];for(const[r,t]of n)try{return o(r,t,{encoding:"utf-8",timeout:1500,stdio:["ignore","pipe","ignore"]}),!0}catch{}return!1}
1
+ import{execFileSync as o}from"node:child_process";import{lstatSync as t,realpathSync as n,readFileSync as r}from"node:fs";import{dirname as e}from"node:path";export function isInWSL(){return!(!process.env.WSL_DISTRO_NAME&&!process.env.WSLENV)}export function isNativeWindowsCmd(){return"win32"===process.platform&&!isInWSL()}export function hasPython(){const t=[["python3",["--version"]],["python",["--version"]],["py",["-3","--version"]]];for(const[n,r]of t)try{return o(n,r,{encoding:"utf-8",timeout:1500,stdio:["ignore","pipe","ignore"]}),!0}catch{}return!1}export function detectIcoaInstalls(){if(isNativeWindowsCmd())return[];let i=[];try{i=o("which",["-a","icoa"],{encoding:"utf-8",timeout:1500,stdio:["ignore","pipe","ignore"]}).trim().split("\n").filter(Boolean)}catch{return[]}return i.map(o=>{const i={path:o};try{let s=o;t(o).isSymbolicLink()&&(s=n(o));const c=e(s),p=e(c);i.pkgDir=p;const a=JSON.parse(r(`${p}/package.json`,"utf-8"));i.version=a.version}catch{}return i})}
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 p}from"./lib/access.js";import{setReplMode as d}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{getExamState as b,getRealExamState as x,getDemoState as v}from"./lib/exam-state.js";import{getDemoStats as C}from"./lib/demo-stats.js";import{isExamSetupComplete as k}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as I,DEMO_POOL_SIZE as A}from"./lib/demo-exam.js";import{isNativeWindowsCmd as T}from"./lib/platform.js";import{resetTerminalTheme as $}from"./lib/theme.js";import{ensureSandbox as S,runInSandbox as O,isDockerAvailable as q}from"./lib/sandbox.js";import{logCommand as L}from"./lib/logger.js";import{startLogSync as j,stopLogSync as E}from"./lib/log-sync.js";import{existsSync as P,mkdirSync as R,writeFileSync as N}from"node:fs";import{join as D}from"node:path";import{homedir as F}from"node:os";function M(){return x()?chalk.cyan("exam> "):v()?chalk.yellow("demo> "):chalk.green("icoa> ")}const U=D(F(),"icoa-workspace");function z(){return P(U)||R(U,{recursive:!0}),U}const B=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),W="__REPL_NO_EXIT__",Q="2.5.1";function Y(){const o=C(),e=k(),l=`Free practice — ${I} questions (from pool of ${A})`,n=T();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,x){const v=n(),C=l(),k=process.exit.bind(process),I=a();if(v.demoCleanedForVersion!==Q){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:Q})}const{select:A,confirm:T}=await import("@inquirer/prompts"),V=v.mode||"",G=[{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("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 J="";for(;!J;){const o=await A({message:"Mode",choices:G,default:V||"selection"});"about"!==o?J=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(),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"===J&&"olympiad"!==V&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await T({message:"Continue?",default:!0})||(J="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),J!==V&&s({mode:J}),console.log(),"olympiad"===J&&m(Q)){p(Q),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(x){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"===J?Y():"organizer"===J?(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(),C?(console.log(chalk.green(` Logged in as ${v.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()):I&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):C?(console.log(chalk.green.bold(` Welcome back, ${v.userName}!`)),console.log(chalk.gray(` Connected to ${v.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()):I?(z(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${U}`)),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 K=o({input:process.stdin,output:process.stdout,prompt:M(),terminal:!0});let Z=!1;d(!0),j();const H=K.prompt.bind(K);K.prompt=o=>{u()||w()||K.setPrompt(M()),H(o)},K.prompt(),K.on("line",async o=>{if(Z)return;const l=o.trim();if(!l)return K.setPrompt(u()?chalk.magenta("ai4ctf> "):M()),void K.prompt();if(u()){Z=!0;const o=await h(l);return Z=!1,"exit"===o&&K.setPrompt(M()),void K.prompt()}if(w()){Z=!0;const o=await f(l);return Z=!1,"exit"!==o&&"solved"!==o||K.setPrompt(M()),void K.prompt()}if(L(l),"exit"===l)return b()?(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 K.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"===J&&Y(),void K.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=b();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 K.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)."))),E(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),$(),void k(0))}if("back"===l||"menu"===l){const o=b(),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"===J?Y():console.log(chalk.gray(" Already at main menu."))}return void K.prompt()}if("help"===l||"?"===l){if(b()){Z=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return Z=!1,void K.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(),J),void K.prompt()}if("more help"===l.toLowerCase()&&b()){Z=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return Z=!1,void K.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 K.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){Z=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return Z=!1,void K.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){Z=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return Z=!1,void K.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){Z=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return Z=!1,void K.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){Z=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return Z=!1,void K.prompt()}if("clear"===l||"cls"===l)return console.clear(),void K.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 K.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void K.prompt();const m=b();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 K.prompt();Z=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return Z=!1,void K.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void K.prompt();Z=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return Z=!1,void K.prompt()}}const p=l.split(/\s+/)[0].toLowerCase(),d=/^python3?(\.\d+)?$/.test(p),x=l.startsWith("!")||p.startsWith("!")||d;if("selection"===J&&!x&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env"].includes(p)){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 K.prompt()}if("organizer"===J&&!["join","exam","demo","retry","next","prev","logout","setup","lang","ref","ctf","mark","unmark","review","submit"].includes(p))return console.log(chalk.gray(" Not available in Organizer mode. Switch via: setup")),console.log(),void K.prompt();if(!("olympiad"!==J||a()&&c()||i(p)))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 K.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(p)){if(B.has(p))return console.log(chalk.red(` Blocked: ${p} is not allowed during competition.`)),console.log(),void K.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: ${U}`)),console.log(),void K.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=z();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=D(F(),".icoa");P(o)||R(o,{recursive:!0});const e=D(o,"python-startup.py");return P(e)||N(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()),Z=!0;try{q()&&await S()?await O(o,K):await _(o,K,e)}catch{console.log(chalk.yellow(` Command failed: ${p}`))}return Z=!1,console.log(),void K.prompt()}Z=!0;const v=m&&"submit"===l.toLowerCase()?["exam","submit"]: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),C="ctf"===v[0]&&"join"===v[1];C&&K.pause(),process.exit=()=>{throw new Error(W)};try{await e.parseAsync(["node","icoa",...v])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===W);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=p.split(/\s+/)[0]||p;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: ${p}.`)),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,Z=!1,C&&K.resume()}u()?K.setPrompt(chalk.magenta("ai4ctf> ")):w()&&K.setPrompt(chalk.red("ctf4ai> ")),console.log(),K.prompt()}),K.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(b()){const o="demo-free"!==b().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(),K.prompt()}),K.on("close",()=>{E(),g(),$(),k(0)})}function _(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 p}from"./lib/access.js";import{setReplMode as d}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{getExamState as b,getRealExamState as x,getDemoState as v}from"./lib/exam-state.js";import{getDemoStats as C}from"./lib/demo-stats.js";import{isExamSetupComplete as I}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as k,DEMO_POOL_SIZE as A}from"./lib/demo-exam.js";import{isNativeWindowsCmd as T}from"./lib/platform.js";import{resetTerminalTheme as $}from"./lib/theme.js";import{ensureSandbox as S,runInSandbox as O,isDockerAvailable as q}from"./lib/sandbox.js";import{logCommand as L}from"./lib/logger.js";import{startLogSync as j,stopLogSync as E}from"./lib/log-sync.js";import{existsSync as P,mkdirSync as R,writeFileSync as N}from"node:fs";import{join as D}from"node:path";import{homedir as F}from"node:os";function M(){return x()?chalk.cyan("exam> "):v()?chalk.yellow("demo> "):chalk.green("icoa> ")}const U=D(F(),"icoa-workspace");function z(){return P(U)||R(U,{recursive:!0}),U}const B=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),W="__REPL_NO_EXIT__",Q="2.5.1";function _(){const o=C(),e=I(),l=`Free practice — ${k} questions (from pool of ${A})`,n=T();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,x){const v=n(),C=l(),I=process.exit.bind(process),k=a();if(v.demoCleanedForVersion!==Q){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:Q})}const{select:A,confirm:T}=await import("@inquirer/prompts"),V=v.mode||"",G=[{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("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 J="";for(;!J;){const o=await A({message:"Mode",choices:G,default:V||"selection"});"about"!==o?J=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(),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"===J&&"olympiad"!==V&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await T({message:"Continue?",default:!0})||(J="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),J!==V&&s({mode:J}),console.log(),"olympiad"===J&&m(Q)){p(Q),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(x){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"===J?_():"organizer"===J?(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(),C?(console.log(chalk.green(` Logged in as ${v.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()):k&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):C?(console.log(chalk.green.bold(` Welcome back, ${v.userName}!`)),console.log(chalk.gray(` Connected to ${v.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()):k?(z(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${U}`)),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 K=o({input:process.stdin,output:process.stdout,prompt:M(),terminal:!0});let Z=!1;d(!0),j();const H=K.prompt.bind(K);K.prompt=o=>{u()||w()||K.setPrompt(M()),H(o)},K.prompt(),K.on("line",async o=>{if(Z)return;const l=o.trim();if(!l)return K.setPrompt(u()?chalk.magenta("ai4ctf> "):M()),void K.prompt();if(u()){Z=!0;const o=await h(l);return Z=!1,"exit"===o&&K.setPrompt(M()),void K.prompt()}if(w()){Z=!0;const o=await f(l);return Z=!1,"exit"!==o&&"solved"!==o||K.setPrompt(M()),void K.prompt()}if(L(l),"exit"===l)return b()?(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 K.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"===J&&_(),void K.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=b();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 K.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)."))),E(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),$(),void I(0))}if("back"===l||"menu"===l){const o=b(),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"===J?_():console.log(chalk.gray(" Already at main menu."))}return void K.prompt()}if("help"===l||"?"===l){if(b()){Z=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return Z=!1,void K.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(),J),void K.prompt()}if("more help"===l.toLowerCase()&&b()){Z=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return Z=!1,void K.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 K.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){Z=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return Z=!1,void K.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){Z=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return Z=!1,void K.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){Z=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return Z=!1,void K.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){Z=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return Z=!1,void K.prompt()}if("clear"===l||"cls"===l)return console.clear(),void K.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 K.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void K.prompt();const m=b();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 K.prompt();Z=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return Z=!1,void K.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void K.prompt();Z=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return Z=!1,void K.prompt()}}const p=l.split(/\s+/)[0].toLowerCase(),d=/^python3?(\.\d+)?$/.test(p),x=l.startsWith("!")||p.startsWith("!")||d;if("selection"===J&&!x&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env"].includes(p)){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 K.prompt()}if("organizer"===J&&!["join","exam","demo","retry","next","prev","logout","setup","lang","ref","ctf","mark","unmark","review","submit"].includes(p))return console.log(chalk.gray(" Not available in Organizer mode. Switch via: setup")),console.log(),void K.prompt();if(!("olympiad"!==J||a()&&c()||i(p)))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 K.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(p)){if(B.has(p))return console.log(chalk.red(` Blocked: ${p} is not allowed during competition.`)),console.log(),void K.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: ${U}`)),console.log(),void K.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=z();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=D(F(),".icoa");P(o)||R(o,{recursive:!0});const e=D(o,"python-startup.py");return P(e)||N(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()),Z=!0;try{q()&&await S()?await O(o,K):await Y(o,K,e)}catch{console.log(chalk.yellow(` Command failed: ${p}`))}return Z=!1,console.log(),void K.prompt()}Z=!0;const v=l.trim(),C=v.toLowerCase();let k,A=null,T="";if(m)if("submit"===C)A="final";else if(C.startsWith("submit ")){const o=v.slice(7).trim();o&&/^ICOA\{[^}]*\}?$/i.test(o)&&(A="flag",T=o)}k="final"===A?["exam","submit"]:"flag"===A?["exam","answer",String(m?._lastQ||1),T]: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 j="ctf"===k[0]&&"join"===k[1];j&&K.pause(),process.exit=()=>{throw new Error(W)};try{await e.parseAsync(["node","icoa",...k])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===W);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=p.split(/\s+/)[0]||p;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: ${p}.`)),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=I,Z=!1,j&&K.resume()}u()?K.setPrompt(chalk.magenta("ai4ctf> ")):w()&&K.setPrompt(chalk.red("ctf4ai> ")),console.log(),K.prompt()}),K.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(b()){const o="demo-free"!==b().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(),K.prompt()}),K.on("close",()=>{E(),g(),$(),I(0)})}function Y(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.111",
3
+ "version": "2.19.113",
4
4
  "description": "ICOA CLI — The world's first CLI-native CTF competition terminal",
5
5
  "type": "module",
6
6
  "bin": {