icoa-cli 2.19.307 → 2.19.309
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.
- package/dist/commands/ai4ctf.js +1 -1
- package/dist/commands/comms.d.ts +2 -0
- package/dist/commands/comms.js +1 -0
- package/dist/commands/ctf.js +1 -1
- package/dist/commands/ctf4ai-demo.js +1 -1
- package/dist/commands/ctf4vla.js +1 -1
- package/dist/commands/exam.js +1 -1
- package/dist/lib/comms.d.ts +27 -0
- package/dist/lib/comms.js +1 -0
- package/dist/repl.js +1 -1
- package/package.json +1 -1
package/dist/commands/ai4ctf.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(j,k){const a0=a0k,q=j();while(!![]){try{const v=-parseInt(a0(0x2a9))/(0x10df+-0x25b*-0xb+-0x2ac7)+-parseInt(a0(0x2dd))/(-0x26b9*0x1+0x1dc6+0x8f5)+parseInt(a0(0x26b))/(0xbdd+0x1636*0x1+0x884*-0x4)*(parseInt(a0(0x2be))/(0xcb5*0x3+-0x1390+-0x128b*0x1))+parseInt(a0(0x25d))/(-0x22a5+0x1064*-0x2+-0x1*-0x4372)+parseInt(a0(0x20a))/(-0x1*-0x124c+0xce4+-0x1f2a)*(parseInt(a0(0x2b3))/(-0x170*-0x1+0x25d9*-0x1+-0x2*-0x1238))+-parseInt(a0(0x2d9))/(-0x1252+-0x191a+0x2b74)*(-parseInt(a0(0x273))/(-0x1*0x21b5+-0x11*-0x95+-0x22b*-0xb))+parseInt(a0(0x281))/(0x1*0x22d+-0x1f8c+-0x1*-0x1d69);if(v===k)break;else q['push'](q['shift']());}catch(x){q['push'](q['shift']());}}}(a0j,-0x4ea4+0x179b6*-0x1+0xdfb2*0x4));import a0v from'chalk';import{createChatSession as a0x}from'../lib/gemini.js';import{addTokenUsage as a0z}from'../lib/budget.js';import{getConfig as a0A,isConnected as a0B}from'../lib/config.js';import{logCommand as a0C,logSubmission as a0D}from'../lib/logger.js';import{printMarkdown as a0E,printError as a0F}from'../lib/ui.js';import{t as a0G}from'../lib/i18n.js';const g=j=>new Promise(k=>setTimeout(k,j));function a0j(){const ag=['Dg9ju09tDhjPBMC','C3rHCNrZv2L0Aa','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','icbB','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','ywK0y3rMrM91BMrgBgfN','ywK0y3rMv3jHCeXPBMuXqM9KEq','sgLKzgvUie1LC3nHz2u','igfNywLUihrVignOyw5NzsWGB3iG','lZuWmda','AgLUDcbI','B3bLBIa8Awq+','DgLTzw91Da','CgfKrw5K','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','ywK0y3rMtg9JA2vKvxnL','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','icdINjmGuq','igzVCIbrmZK','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHJCNLWDg8SihDLyIWGzM9Yzw5ZAwnZlcbWD24SihjLDMvYC2LUzYWGt1njtLqSihn0zwDVlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGy29Kzsb0AguGy29UDgvZDgfUDcb3CML0zxmGyw5Kihn1z2DLC3qGD2HPy2GGDg9VBcaVigXPyNjHCNKGlYb0zwnOBMLXDwuGDg8GDxnLlGOTifLVDsbnvvnuie5pvcbYzxzLywWGB3iGz3vLC3mGDgHLigzSywCSigfUzcbnvvnuie5pvcbVDxrWDxqGyw55igzSywCTC2HHCgvKihn0CMLUzYaOyw55DgHPBMCGBgLRzsbUyw1LEY4UlN0PlGOTifLVDsbnvvnuie5pvcbZB2X2zsb0AguGD2HVBguGy2HHBgXLBMDLigvUzc10BY1LBMqGzM9YihrOzsbJB250zxn0yw50iokaLcbNDwLKzsWGzg9Uj3qGAgfUzcbVDMvYihrOzsbHBNn3zxiUcI0Gs2vLCcbYzxnWB25ZzxmGy29Uy2LZzsbHBMqGChjHy3rPy2fSlIbuAguGy29UDgvZDgfUDcbPCYbYywnPBMCGDgHLignSB2nRlG','C3vIBwL0qxr0zw1WDgvK','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','ywK0y3rMsgLUDe51zgDL','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','ywK0y3rMv3jHCfr5CgvdDgy0ywK','Aw5JBhvKzxm','ywK0y3rMvgHPBMTPBMC','icaGigHPBNqGyW','ywK0y3rMrxHPDe5LEhruAxrSzq','y29TBwfUza','sgLUDca','ywK0y3rMsgLUDefcB2r5','ue9tva','BNvTyMvY','icaGicaGigHPBNqGyYaGia','B3jcywnR','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','z3jLzw4','E25VuhjVz30','zxHHBsbXia','DgHLiefjigD1AwrLCYWGAxqGD2LSBcbUB3qGAgfUzcb5B3uGDgHLigzSywCU','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','yxbWBgLJyxrPB24VANnVBG','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','ywK0y3rMv3jVBMDgBgfN','igfUC3DLCIb1CgrHDgvKoIa','zxHHBsbHBNn3zxiG','AM9PBG','iokaLca','C3vIBwL0idXMBgfNpG','Dg9Rzw4','y3vYCMvUDenOywXSzw5NzunHDgvNB3j5','C3rYAw5NAwz5','DMXH','ywK0y3rMrxHPDe5LEhrtDwi','ywK0y3rMrxHPDa','y2XLyxi','ywK0y3rMsgLUDfbYAw5JAxbSzq','Dg9mB3DLCKnHC2u','D3jPDgu','icbbBhjLywr5ihnVBhzLzc4','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','ywK0y3rMsgLUDei','BM9KztPJAgLSzf9WCM9JzxnZ','Bg9N','BNvKz2vtAg93BG','y2f0zwDVCNK','icbvC2u6ia','icboBYbJAgfSBgvUz2uGB3bLBIb5zxqU','ywK0y3rMt3jdAgf0rxHHBxbSzq','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ihrVig1VDMuGB24','C3rHDhvZ','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','Dg9Rzw5ZvxnLza','icbdB21Tyw5KCW','icdILiiG','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','ywK0y3rMsgLUDfrLy2HUAxf1zq','BwLU','ywK0y3rMtg9JA2vKvgHLBG','icdILRGG','zgvZy3jPChrPB24','ywK0y3rMsgLUDe5LEhrc','mJyXmta4vgnvrwnf','yw5ZD2vYx3n1yM1PDhrLza','ywK0y3rMtgv2zwXZ','ywK0y3rMsw50zxjJzxb0zwq','ihb0CW','Dg9Rzw5mAw1PDa','ywK0y3rMsgLUDe5LEhrb','ywK0y3rMq29YCMvJDezSywC','DhLWzq','C3vIBwL0ieLdt0f7lI4UFq','icaGica','icbr','ywK0y3rMv3jHCff1B3rHq0HPBNq','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','BgvUz3rO','icbszxn1Bwu6ia','igLZigeGBxvSDgLWBguTy2HVAwnLihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0Acbbl0iVqY9elG','EwvSBg93','icaGwW','DhjPBq','u3vIBwL0igeGzMXHzYb0BYb0AguGBgL2zsbZy29YzwjVyxjK','icdcTYaGuMuTzw50zxi6ia','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','icaGifbYzxzPB3vZoIa','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','D2HPDgu','icdILzdILzdILzaG','icbpCgvUig9UzsbMAxjZDdOG','ywK0y3rMv3jHCe5LEhruAxrSzq','quKGyNvKz2v0icH0AgLZigfJy291BNqP','C2vZC2LVBJ0','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','C3bSAxq','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','cIaG','icaGigHPBNqGyG','Bwf0y2G','icbfCNjVCJOG','ixnOzwXS','icaG4OAsia','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','icaKia','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','BM93','Cu51Bq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icboBYbJAgfSBgvUz2uGAwqGAw4Gy29UDgv4DcdIGjqGB3bLBIbVBMuGzMLYC3q6ia','icdILii','ywK0y3rMu3vIBwL0q21K','ywK0y3rMv291BgrfyxjU','y2HHBgXLBMDLtMfTzq','ywK0y3rMrgvJB2rL','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','C3vIBwL0rMXHzW','ywK0y3rMtg9JA2vKvgL0Bgu','icbtD2L0y2GGy2HHBgXLBMDLoIa','ywK0y3rMv2vSy29Tzun0yq','ywK0y3rMtw9KzwW','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','y3LHBG','icaGice8C2HLBgWGy21KpIaGica','q29TBwfUzcbMywLSzwq','ywK0y3rMsgLUDefvC2vZ','icbbssb0zwfTBwf0zsbJBg9ZzwqGzM9Yici','ywK0y3rMv3jHCfrPDgXL','ywK0y3rMv3jHCff1B3rHqG','y3vYCMvUDenOywXSzw5NzuLK','lI4U','q3j5ChrVz3jHCgH5','C3rKB3v0','icaGicaGicaGicaGicaGicaGicbLlMCUia','icaGigv4AxqGicaGicaGicaGica','DxrMltG','y2f0y2G','icbkDw1WihrOzxjLoIa','y3vYCMvUDenOywXSzw5Nzu5HBwu','icbzB3uGy2fUihn0AwXSoIa','vw5RBM93BIbYzxnWB25Zzq','icaGigv4Axq','Dg9vChbLCKnHC2u','odK4nJGWte5jC3f2','ihjLy29YzgvKoIa','zxHPDa','y3rMngfP','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','y2HHBgXLBMDLswq','yM9Sza','ywK0y3rMsgLUDee','icaGicaGia','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','ywK0y3rMv3jHCff1B3rHqq','ywK0y3rMq2HHBgXLBMDL','mJDKqLLWvLe','CMvWBgfJzq','icbtDgLSBcbHDMfPBgfIBgu6ia','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','z3jHEq','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','icdIMQaG','ig9UifeZoq','otyZz0XqtLzR','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','z2vTAw5Ptw9KzwW','icaGigHPBNqGyq','y29YCMvJDa','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','lI4VBgLIl2LUDgvNCML0Es1ZBMfWC2HVDc5QCW','DgvZDa','icaGideUia','ihrVA2vUCYbSzwz0lG','ywLvC2fNzq','Aw50zxjHy3rPB25Z','ywXYzwfKEv9ZB2X2zwq','cGPdsefmtevor0uGqLjjruy6cG','mJa5ndiWyxvuu2vm','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','igLZigfUievTyM9KAwvKiefjicHfquKPihf1zxn0Aw9UlG','igLZigeGq1rgnefjihf1zxn0Aw9UicHHDhrHy2STDgHLlufjks4','ywK0y3rMv3jHCff1B3rHC1rPDgXL','yMfJAW','uNvUigeGC2HLBgWGy29TBwfUzcaOzs5NlIaHyMfZzty0ic1Kic4UlIK','yxr0ywnOzwreyxrH','icaGig1LBNu','ywK0y3rMrw5Ku2vZC2LVBG','icaGia','ywK0y3rMt3jdAgf0','icaGidXQDxn0ihr5Cgu+icaGica','ywK0y3rMv3jHCe5LEhrtDwi','Cg9PBNrZ','lI4VBgLIl2v4yw0TC3rHDguUANm','yw5ZD2vYCW','zw5JB2rPBMC','CxvPDa','CxvLC3rPB25Z','AgfZ','ywK0y3rMvgL0Bgu','CM91BMq','u2nVCgvKihrVihrOzsbJAgfSBgvUz2uGEw91ig9Wzw5Lzc4GqxnRigzYzwvSEsdIGjq','AgLUDcbJ','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','g1SXqrTBmKS','Dgv4Da','C2XPy2u','icbbzNrLCIbLEgL0oIa','qxnRihrOzsbbssb0zwfTBwf0zsbHyM91Dcb0AgLZignOywXSzw5Nzq','ywK0y3rMsgLUDencB2r5','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','ywK0y3rMv3jHCe5VuhjVzW','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','C2vZC2LVBKnVB2TPzq','icbsyxrLigXPBwL0zwqG4OcuihDHAxqGysbTB21LBNqGyMvMB3jLihrYEwLUzYbHz2fPBI4','zw50zxjLzef0','ihrOzw4GCMuTzw50zxiG','mJeXmJu0tM9QBLPN','icdWN46jienVCNjLy3qHia','ywrK','icdINjCGsw5JB3jYzwn0lIa','DhLWzufUzevUDgvYvg9czwDPBG','icbdDxjYzw50igfUC3DLCJOG','BwvZC2fNzq','ywK0y3rMq21KsgLUDeXPBMu','vg9Rzw5Z','icbbstrdveyGy2HHDcbPCYbHDMfPBgfIBguGB24GChjHy3rPy2fSihf1zxn0Aw9UCYaOBMv4DdOGuq','n3HqAhb3Ba','vw5RBM93BG','ywK0y3rMrMXHz0HPBNq','ihrOzw4G','ywK0y3rMv3jHCeXPBMuXsgvHza','ieLdt0f7lI4UFq','ywK0y3rMsgLUDem','imk3ia','ihrVignVBNrPBNvL','icbuAguGquKGDgvHBw1HDguGC2nVCgvZigL0C2vSzIb0BYb0AguGy2HHBgXLBMDLihLVDsbVCgvUlG','CMvK','mtiYnJHKC0jwzwi','zMLUza','ywK0y3rMv3jHCff1B3rHrM9VDgvY','ywK0y3rMuMv2zwfSu2vLrMXHzW','icdILzdILzdILzaGquKGvgvHBw1HDguG4Pwq4Pwq4Pwq','icaGicaGicaGicaGica','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','C29Tzq','CMvWzwf0','iokaLcb0ExbLia','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','quK0q1rgihnLy3rPB24','DMLHigfPngn0zIbJAgf0','z2vTBweTnc0ZmwiTAxq','ywK0y3rMv3jHCeXPBMuYqM9KEq','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','y3rMzfvYBa','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','y29UDgLUDwu','icaGicaGigHPBNqGyIaGia','quKGzxjYB3i6ia','x2XHC3rr','DgHPBMTPBMC','icaGicaGigHPBNqGysaGia','iokvKokvKokvKa','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','nJeWne9IwvHStG','icbvC2fNztOG','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','q29UDgvUDc1uExbL','ntK4otzLreLwDMW','ywK0y3rMq21Ku2HLBgXmAw5L','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','ywK0y3rM','yw5ZD2vYx2nOyw5Nzwq','icbgBgfNigzVCM1HDdOG','C3vIBwL0ia','ywK0y3rMuMv2zwfSqM9KEq','icaGicfWExrOB24Zic4UlG','lI4VBgLIl2n0zMqTy2XPzw50lMPZ','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','icaI'];a0j=function(){return ag;};return a0j();}let r=!(0xf5d+-0x67*-0x25+-0x1e3f),h=null,u=-0xcfd+-0x3*-0x9f7+-0x1*0x10e8,y=!(0x170d+0x243a*-0x1+0xd2e);const d=-0x8878+0x781c+0x7204;let m=null,f=null;export function isChatActive(){return r;}function w(){const a1=a0k,j=m?d:f?0x12f66+-0x32c3e*-0x1+-0x60c*0x17:-0xb1*-0x17+-0x2388+0x2729,k=u,q=Math[a1(0x205)](Math['round'](k/j*(-0x1*0xa1f+-0x1250+0x1cd3)),0x848+-0x4cd*0x7+0x19b7),v=Math[a1(0x297)](q/(0x1ab4+0x5fb*-0x1+-0x1455)*(-0xc*0x1bd+0x2109*0x1+-0xc19)),x=-0x181f+0xc5*-0xb+0x20aa-v,z=q>-0x4f*0x53+0x4*0x2cf+0xeb1?a0v[a1(0x2bd)]:q>-0x1888+0x1780+0x2*0x9d?a0v['yellow']:a0v[a1(0x30f)],A=m?a1(0x2ca):f?a1(0x228):a1(0x2b1);console[a1(0x1f6)](a0v['gray']('\x20\x20'+A+':\x20')+z('█'[a1(0x2c7)](v))+a0v['gray']('░'['repeat'](x))+a0v[a1(0x26f)]('\x20'+k+'/'+j+'\x20('+q+'%)'));}export async function handleChatMessage(v){const a2=a0k;if(!h)return a2(0x25f);if(a0C('ai4ctf:\x20'+v),m)return b(v);if(f)return async function(C){const a3=a2;if(!f||!h)return a3(0x25f);const D=C['trim'](),E=D[a3(0x325)](),F=D[a3(0x231)](/^submit\s+(.+)/i);if(F){let G=F[-0x9*-0x2ed+-0x1fa3+-0x1*-0x54f]['trim']();if(/^submit\s+/i['test'](G)&&(G=G['replace'](/^submit\s+/i,'')[a3(0x21e)]()),G=G['replace'](/^["'`]+|["'`]+$/g,'')[a3(0x21e)](),!G)return console[a3(0x1f6)](),console[a3(0x1f6)](a0v[a3(0x26f)](a3(0x2da))+a0v[a3(0x224)](a3(0x31c))),console[a3(0x1f6)](),a3(0x2d1);const H=f[a3(0x262)];if(!H)return console['log'](),console[a3(0x1f6)](a0v['yellow'](a3(0x23b))+a0v[a3(0x224)](a3(0x2f5))),console[a3(0x1f6)](),a3(0x2d1);a0D(H,G);const I=a0A();try{const {CTFdClient:J}=await import('../lib/ctfd-client.js'),K=I[a3(0x2a5)]||'',L=I['token']&&!I[a3(0x31d)][a3(0x303)](a3(0x229))?I[a3(0x31d)]:'',M=new J(I[a3(0x2cf)],L,K||I[a3(0x31d)]),N=await M[a3(0x242)](H,G);switch(console[a3(0x1f6)](),N[a3(0x1fe)]){case a3(0x277):console[a3(0x1f6)](a0v[a3(0x30f)][a3(0x263)](a3(0x2aa))+a0v['white'](N[a3(0x2af)]||''));break;case'incorrect':console[a3(0x1f6)](a0v['red'](a3(0x2ac))+a0v[a3(0x26f)](N['message']||''));break;case a3(0x27f):console[a3(0x1f6)](a0v[a3(0x21c)](a3(0x327)));break;case'paused':console[a3(0x1f6)](a0v['yellow']('\x20\x20Competition\x20is\x20paused.'));break;case'ratelimited':console[a3(0x1f6)](a0v['yellow'](a3(0x2a6)));break;default:console['log'](a0v['gray']('\x20\x20'+(N[a3(0x2af)]||a3(0x25a))));}console[a3(0x1f6)]();const {postIntegritySnapshot:O}=await import(a3(0x279));await O();}catch(P){console[a3(0x1f6)](),console[a3(0x1f6)](a0v[a3(0x2bd)]('\x20\x20Submission\x20failed:\x20'+(P[a3(0x2af)]?.[a3(0x22d)]('\x0a')[-0x5a7*-0x2+0x3cb+-0xf19]||'unknown\x20error'))),console[a3(0x1f6)]();}return'continue';}if(C['startsWith']('!')){const Q=C[a3(0x29e)](-0x192d*-0x1+-0x1447+-0xb3*0x7)['trim']();if(!Q)return a3(0x2d1);try{const R={};R['encoding']=a3(0x255),R[a3(0x2f6)]=0x2710;const {execSync:S}=await import(a3(0x1f5)),T=S(Q,R)[a3(0x21e)]();console[a3(0x1f6)](),console[a3(0x1f6)](a0v[a3(0x26f)]('\x20\x20$\x20')+a0v[a3(0x224)](Q)),console[a3(0x1f6)](a0v['white']('\x20\x20'+T[a3(0x22d)]('\x0a')[a3(0x31a)](a3(0x22f)))),console[a3(0x1f6)]();}catch(U){console[a3(0x1f6)](),console[a3(0x1f6)](a0v[a3(0x2bd)](a3(0x232)+(U[a3(0x2af)]?.['split']('\x0a')[-0x1*-0x62b+-0x1*-0xa89+-0x10b4]||a3(0x24a)))),console[a3(0x1f6)]();}return a3(0x2d1);}if('exit'===E||a3(0x286)===E||'quit'===E){const V=f[a3(0x23f)];return r=!(-0x1773+-0x1*0x14c3+0x2c37),h=null,f=null,console[a3(0x1f6)](),console[a3(0x1f6)](a0v[a3(0x26f)](a3(0x24c)+V+'\x22.')),console[a3(0x1f6)](a0v[a3(0x26f)]('\x20\x20Open\x20another\x20challenge\x20with\x20')+a0v[a3(0x224)](a3(0x2f5))+a0v[a3(0x26f)](',\x20or\x20re-enter\x20with\x20')+a0v['white'](a3(0x2e0))),console[a3(0x1f6)](),'exit';}console[a3(0x1f6)](a0v[a3(0x26f)]('\x20\x20'+a0G(a3(0x304))));try{const W=await h['sendMessage'](C);process['stdout'][a3(0x326)](a3(0x29c)),u+=W[a3(0x200)],a0z(W[a3(0x200)]),console['log'](),a0E(W[a3(0x29d)]),w(),console[a3(0x1f6)]();}catch(X){process[a3(0x252)][a3(0x326)](a3(0x29c)),a0F(a3(0x2d3)+X[a3(0x2af)]),console[a3(0x1f6)]();}return a3(0x2d1);}(v);const x=v['trim']()[a2(0x325)]()[a2(0x231)](/^hint\s+([abc])$/);if(x)return function(C){const a4=a2,D=a0G('a'===C?a4(0x264):'b'===C?a4(0x1f4):a4(0x2b9)),E=a0G('a'===C?a4(0x309):'b'===C?'ai4ctfHintBBody':a4(0x2a1)),F=a4(0x308)+C[a4(0x25c)](),G='a'===C?a0v[a4(0x30f)]:'b'===C?a0v[a4(0x21c)]:a0v[a4(0x2bd)];console[a4(0x1f6)](),console[a4(0x1f6)](G['bold'](a4(0x207)+F+'\x20\x20')+a0v[a4(0x26f)](D)),console[a4(0x1f6)]();for(const H of E[a4(0x22d)]('\x0a'))''===H?console[a4(0x1f6)]():console[a4(0x1f6)](a0v[a4(0x224)](a4(0x28b)+H));console['log'](),'a'===C?(console[a4(0x1f6)](a0v[a4(0x26f)](a4(0x28b)+a0G(a4(0x210))+'\x20')+a0v[a4(0x248)]('hint\x20b')),console[a4(0x1f6)]()):'b'===C&&(console['log'](a0v[a4(0x26f)](a4(0x28b)+a0G(a4(0x209))+'\x20')+a0v[a4(0x248)](a4(0x299))),console[a4(0x1f6)]());}(x[-0x195d+-0x118d*-0x1+0x7d1]),'continue';const z=v[a2(0x231)](/^submit\s+(.+)/i);if(z){let C=z[-0x379+-0x183a+0x1bb4]['trim']();if(/^submit\s+/i[a2(0x27a)](C)&&(C=C[a2(0x26c)](/^submit\s+/i,'')['trim']()),C=C[a2(0x26c)](/^["'`]+|["'`]+$/g,'')[a2(0x21e)](),a2(0x261)===C){console['log'](),console['log'](a0v['green'][a2(0x263)](a2(0x23a))),console[a2(0x1f6)](a0v['green'][a2(0x263)]('\x20\x20'+a0G(a2(0x211)))),console[a2(0x1f6)](a0v['green'][a2(0x263)](a2(0x23a))),console[a2(0x1f6)](),console[a2(0x1f6)](a0v['white']('\x20\x20'+a0G('ai4ctfDecoded'))),console[a2(0x1f6)](a0v[a2(0x26f)]('\x20\x20'+a0G(a2(0x23e)))),console[a2(0x1f6)](),w(),r=!(-0x801+-0x9*0x177+-0x1531*-0x1),h=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a2(0x30a),'headers':{'Content-Type':'application/json'},'body':JSON[a2(0x31f)]({'type':'ai4ctf','solved':!(-0x949*0x4+0x23b4+0x170),'tokensUsed':u,'timestamp':new Date()[a2(0x2e9)]()}),'signal':AbortSignal[a2(0x2f6)](0x9*-0x2b+0x10ae+0x45d*0x1)})[a2(0x256)](()=>{}),await g(-0x41*-0x49+-0x924+-0x1*0x389),console[a2(0x1f6)](),console['log'](a0v[a2(0x248)](a2(0x29b))),console[a2(0x1f6)](a0v['bold']['white']('\x20\x20'+a0G(a2(0x24d)))),console['log'](a0v['cyan'](a2(0x29b))),console[a2(0x1f6)]();const D=a0G(a2(0x2b7)),E=a0G(a2(0x2f0));console[a2(0x1f6)](a0v[a2(0x224)](a2(0x27b)+D+'\x20')+a0v[a2(0x26f)](E[a2(0x22d)]('\x0a')[0x383*-0x9+-0xd90+-0x1f*-0x175]||''));for(const I of E[a2(0x22d)]('\x0a')[a2(0x29e)](-0xb28+-0x181*-0x13+-0x116a))I[a2(0x21e)]()&&console['log'](a0v[a2(0x26f)](a2(0x265)+I['replace'](/\{thinking\}/g,a2(0x2d5))));console['log'](),console[a2(0x1f6)](a0v['white']('\x20\x20\x20\x202.\x20'+a0G('ai4ctfWrapLine2Head')+'\x20')+a0v['gray'](a0G(a2(0x2cd)))),console['log'](),console[a2(0x1f6)](a0v[a2(0x248)](a2(0x2f8))),console['log'](),await g(0x1fdc+0x1a54+-0x3260),console[a2(0x1f6)](a0v[a2(0x248)](a2(0x29b))),console[a2(0x1f6)](a0v[a2(0x263)][a2(0x224)]('\x20\x20'+a0G(a2(0x285)))),console[a2(0x1f6)](a0v[a2(0x248)](a2(0x29b))),console['log'](),console[a2(0x1f6)](a0v[a2(0x21c)](a2(0x2d6))+a0v[a2(0x224)](a0G(a2(0x269))['padEnd'](0x132e+-0x1575*0x1+0x261))+a0v[a2(0x26f)](a0G('ai4ctfWrapQuotaAHint'))),console['log'](a0v['yellow'](a2(0x2d2))+a0v[a2(0x224)](a0G(a2(0x24e))[a2(0x2f7)](0x4*0x233+-0x1bc8+0x1316))+a0v[a2(0x26f)](a0G('ai4ctfWrapQuotaBHint'))),console[a2(0x1f6)](a0v[a2(0x21c)](a2(0x30c))+a0v[a2(0x224)](a0G('ai4ctfWrapQuotaC')[a2(0x2f7)](0x12*0x1c+-0xb0*-0x14+-0x7cf*0x2))+a0v[a2(0x26f)](a0G(a2(0x216)))),console[a2(0x1f6)]();for(const J of a0G(a2(0x2c0))['split']('\x0a'))console[a2(0x1f6)](a0v['gray']('\x20\x20\x20\x20'+J));console[a2(0x1f6)](),await g(0xa1a*-0x3+-0x2597*0x1+0x4bb5),console[a2(0x1f6)](a0v[a2(0x248)](a2(0x29b))),console[a2(0x1f6)](a0v['bold'][a2(0x224)]('\x20\x20'+a0G(a2(0x227))+'\x20')+a0v[a2(0x2bd)]['bold'](a2(0x260))+a0v[a2(0x224)](a2(0x31b)+a0G(a2(0x28e)))),console[a2(0x1f6)](a0v[a2(0x248)](a2(0x29b))),console[a2(0x1f6)]();const F=a0G('ai4ctfWrapNextBody'),G=a0G(a2(0x2a3)),H=F[a2(0x22d)]('\x0a');if(H[-0x882+0x1d0a+-0x4*0x522]){const [K,L]=H[0x44e+-0x1187*0x1+0xd39]['split'](a2(0x310));console[a2(0x1f6)](a0v[a2(0x224)](a2(0x28b)+(K||''))+a0v[a2(0x263)][a2(0x224)](G)+a0v[a2(0x224)](L||''));}for(const M of H['slice'](-0xd84+-0x2326+0x30ab))M[a2(0x21e)]()&&console['log'](a0v['white']('\x20\x20\x20\x20'+M));return console[a2(0x1f6)](),console[a2(0x1f6)](a0v[a2(0x26f)](a2(0x28b)+a0G(a2(0x302))+'\x20')+a0v[a2(0x263)]['red']('ctf4ai')),console[a2(0x1f6)](),a2(0x25f);}return console['log'](),console[a2(0x1f6)](a0v[a2(0x2bd)]('\x20\x20'+a0G(a2(0x317)))),console[a2(0x1f6)](a0v[a2(0x26f)]('\x20\x20'+a0G(a2(0x2b5)))),console[a2(0x1f6)](),a2(0x2d1);}if(v[a2(0x2ea)]('!')){const N=v['slice'](-0x1e3b+-0xf71*0x1+-0xb*-0x427)[a2(0x21e)]();if(!N)return a2(0x2d1);try{const O={};O[a2(0x292)]=a2(0x255),O[a2(0x2f6)]=0x2710;const {execSync:P}=await import('node:child_process'),Q=P(N,O)['trim']();console[a2(0x1f6)](),console[a2(0x1f6)](a0v[a2(0x26f)](a2(0x236))+a0v['white'](N)),console[a2(0x1f6)](a0v[a2(0x224)]('\x20\x20'+Q['split']('\x0a')[a2(0x31a)]('\x0a\x20\x20'))),console[a2(0x1f6)](),console['log'](a0v['gray']('\x20\x20'+a0G(a2(0x2ef)))),console['log']();}catch(R){console['log'](),console[a2(0x1f6)](a0v[a2(0x2bd)]('\x20\x20Error:\x20'+(R[a2(0x2af)]?.[a2(0x22d)]('\x0a')[-0x843+0xb*-0x86+0xe05*0x1]||a2(0x24a)))),console[a2(0x1f6)]();}return a2(0x2d1);}const A={};A[a2(0x2dc)]='application/json';if(a2(0x25f)===v||a2(0x286)===v||'quit'===v||'menu'===v)return r=!(-0x2669+0x26ad+-0x43*0x1),h=null,fetch(a2(0x237),{'method':a2(0x30a),'headers':A,'body':JSON[a2(0x31f)]({'type':a2(0x2e0),'tokensUsed':u,'timestamp':new Date()[a2(0x2e9)]()}),'signal':AbortSignal[a2(0x2f6)](-0x17d2+0x1*0xa3d+0x211d)})[a2(0x256)](()=>{}),console[a2(0x1f6)](),console[a2(0x1f6)](a0v['gray'](a2(0x1fc))),console['log'](a0v[a2(0x224)]('\x20\x20'+a0G('ai4ctfReport'))),console['log'](a0v['gray']('\x20\x20'+a0G('ai4ctfTokens')+':\x20'+u+a2(0x2f3))),console['log'](a0v['gray']('\x20\x20'+a0G(a2(0x246))+a2(0x22e))),console['log'](a0v[a2(0x26f)](a2(0x1fc))),console[a2(0x1f6)](),console['log'](a0v[a2(0x248)](a2(0x29b))),console[a2(0x1f6)](a0v[a2(0x224)]('\x20\x20'+a0G(a2(0x306))+'\x20')+a0v['bold'][a2(0x2bd)](a2(0x260))+a0v[a2(0x224)](a2(0x31b)+a0G(a2(0x321)))),console[a2(0x1f6)](a0v['gray']('\x20\x20'+a0G('ai4ctfExitNextBody'))),console[a2(0x1f6)](a0v['cyan'](a2(0x29b))),console['log'](),console['log'](a0v[a2(0x224)]('\x20\x20▸\x20\x20')+a0v[a2(0x224)](a0G(a2(0x2ad))[a2(0x26c)]('{cmd}',a0v['bold']['red'](a2(0x260))))),console[a2(0x1f6)](a0v[a2(0x26f)](a2(0x214)+a0G(a2(0x30d)))),console['log'](),'exit';const B={};B[a2(0x2dc)]=a2(0x315);if(!y&&u>=-0x682*0x1+0x2396*0x1+-0x98c)return y=!(0xa*0x121+-0x1f0c+0x13c2),fetch(a2(0x237),{'method':'POST','headers':B,'body':JSON[a2(0x31f)]({'type':a2(0x2e0),'solved':!(-0x25c4+-0x12f7+0x38bc),'tokensUsed':u,'timestamp':new Date()[a2(0x2e9)]()}),'signal':AbortSignal['timeout'](0xb3*-0x1c+0x22ad+0x46f)})[a2(0x256)](()=>{}),console['log'](),console['log'](a0v[a2(0x21c)]('\x20\x20'+a0G(a2(0x20f)))),w(),(function(){const a5=a2;console['log'](),console[a5(0x1f6)](a0v[a5(0x21c)](a5(0x29b))),console[a5(0x1f6)](a0v[a5(0x263)][a5(0x21c)]('\x20\x20'+a0G('ai4ctfRevealTitle'))),console[a5(0x1f6)](a0v['yellow']('\x20\x20─────────────────────────────────────────────')),console[a5(0x1f6)]();for(const S of a0G(a5(0x2e4))['split']('\x0a'))''===S?console['log']():console[a5(0x1f6)](a0v['white'](a5(0x28b)+S));console[a5(0x1f6)](),console['log'](a0v[a5(0x248)](a5(0x313))),console[a5(0x1f6)](),console['log'](a0v[a5(0x224)](a5(0x28b)+a0G(a5(0x2c1)))),console[a5(0x1f6)](),console[a5(0x1f6)](a0v['green']('\x20\x20\x20\x20\x20\x20\x20\x20icoa{w3lc0me_2_ai4ctf}')),console['log'](),console[a5(0x1f6)](a0v['white'](a5(0x28b)+a0G(a5(0x2db)))),console[a5(0x1f6)](),console[a5(0x1f6)](a0v[a5(0x248)](a5(0x30e))),console['log'](),console['log'](a0v[a5(0x26f)]('\x20\x20\x20\x20'+a0G('ai4ctfRevealLockNote'))),console[a5(0x1f6)]();}()),'continue';if(y)return console[a2(0x1f6)](),console[a2(0x1f6)](a0v['yellow']('\x20\x20'+a0G(a2(0x243)))),console['log'](a0v[a2(0x26f)]('\x20\x20'+a0G(a2(0x2f9))+'\x20')+a0v[a2(0x248)](a2(0x316))),console[a2(0x1f6)](a0v[a2(0x26f)]('\x20\x20'+a0G(a2(0x206))+'\x20')+a0v[a2(0x248)]('submit\x20icoa{w3lc0me_2_ai4ctf}')),console[a2(0x1f6)](),'continue';console['log'](a0v[a2(0x26f)]('\x20\x20'+a0G(a2(0x304))));try{const S=await h['sendMessage'](v);process['stdout'][a2(0x326)]('\x1b[1A\x1b[2K'),u+=S[a2(0x200)],a0z(S['tokensUsed']),console[a2(0x1f6)](),a0E(S[a2(0x29d)]),w(),console[a2(0x1f6)]();}catch(T){process['stdout'][a2(0x326)]('\x1b[1A\x1b[2K'),a0F(a2(0x2d3)+T[a2(0x2af)]),console[a2(0x1f6)]();}return a2(0x2d1);}function a0k(a,b){a=a-(-0x7*0x283+-0x91a+0x1ca3);const c=a0j();let d=c[a];if(a0k['buYsnU']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x10*-0x3a+-0x1cfd+-0xfd*-0x21,o,p,q=-0x2405*0x1+-0x19*0x85+-0x1*-0x3102;p=i['charAt'](q++);~p&&(o=n%(0x170d+0x243a*-0x1+0xd31)?o*(-0x1b4b+0x1806+0x385)+p:p,n++%(0x611+-0x103f*-0x1+-0xb26*0x2))?l+=String['fromCharCode'](-0xb1*-0x17+-0x2388+0x14a0&o>>(-(-0x1*0xa1f+-0x1250+0x1c71)*n&0x848+-0x4cd*0x7+0x1959)):0x1ab4+0x5fb*-0x1+-0x14b9){p=j['indexOf'](p);}for(let r=-0xc*0x1bd+0x2109*0x1+-0xc2d,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x181f+0xc5*-0xb+0x20a6))['slice'](-(-0x4f*0x53+0x4*0x2cf+0xe63));}return decodeURIComponent(m);};a0k['PyYmVs']=e,a0k['jzIyKU']={},a0k['buYsnU']=!![];}const f=c[-0x1888+0x1780+0xb*0x18],g=a+f,h=a0k['jzIyKU'][g];return!h?(d=a0k['PyYmVs'](d),a0k['jzIyKU'][g]=d):d=h,d;}const p=new Set();async function b(q){const a6=a0k;if(!m||!h)return a6(0x25f);const v=q[a6(0x21e)](),x=v[a6(0x325)](),z=(Date[a6(0x238)]()-m[a6(0x2a7)])/(0x140ef+0x118cb+-0x16f5a);if(!m[a6(0x1f7)]&&!m[a6(0x2fe)]&&z>=-0x138e+-0x4b4+0x1847&&(m[a6(0x1f7)]=!(0x2eb+0x1403+0x2*-0xb77),console[a6(0x1f6)](),console['log'](a0v['yellow'](a6(0x274))+a0v[a6(0x263)][a6(0x21c)](a6(0x2ff))),console[a6(0x1f6)](a0v['gray'](a6(0x282))),console[a6(0x1f6)]()),/^ICOA\{[^}]+\}$/i[a6(0x27a)](v))return console[a6(0x1f6)](),console['log'](a0v['gray']('\x20\x20Detected\x20flag\x20—\x20treating\x20as:\x20')+a0v[a6(0x224)](a6(0x2e3)+v)),b(a6(0x2e3)+v);const A=v[a6(0x231)](/^submit\s+(.+)/i);if(A){let B=A[-0x20bb+-0x55f*-0x1+0x1b5d][a6(0x21e)]();if(/^submit\s+/i['test'](B)&&(B=B['replace'](/^submit\s+/i,'')[a6(0x21e)]()),B=B[a6(0x26c)](/^["'`]+|["'`]+$/g,'')[a6(0x21e)](),/^[A-Da-d]$/[a6(0x27a)](B))return console[a6(0x1f6)](),console[a6(0x1f6)](a0v['yellow'](a6(0x2e8)+B+a6(0x203))),console[a6(0x1f6)](a0v[a6(0x26f)](a6(0x2e2))+a0v[a6(0x30f)]('ICOA{your_flag}')+a0v[a6(0x26f)](a6(0x301))),console[a6(0x1f6)](),a6(0x2d1);const {getExamState:C,saveExamState:D}=await import('../lib/exam-state.js'),E=C();if(!E)return a6(0x25f);if(!E[a6(0x294)][a6(0x2bf)](H=>H[a6(0x30b)]===m[a6(0x239)]))return console[a6(0x1f6)](a0v[a6(0x2bd)]('\x20\x20Q'+m[a6(0x239)]+'\x20not\x20found\x20in\x20state.')),'continue';const F=E[a6(0x291)][m['qNum']];E[a6(0x27e)]||(E[a6(0x27e)]=[]),E[a6(0x27e)]['push']({'ts':new Date()[a6(0x2e9)](),'q':m['qNum'],'type':F?a6(0x2e1):a6(0x20b),'input':B,'result':a6(0x2cb)}),E[a6(0x291)][m[a6(0x239)]]=B;const G=m[a6(0x239)]+(0x1*0x1e77+0x1ae0+-0x1cab*0x2);return E[a6(0x2d4)]=G<=0x1443+0x256e*-0x1+-0x8f*-0x1f?G:m[a6(0x239)],D(E),console[a6(0x1f6)](),F?(console[a6(0x1f6)](a0v[a6(0x30f)](a6(0x2fb)+m[a6(0x239)]+a6(0x318))+a0v[a6(0x21c)](B)),console[a6(0x1f6)](a0v[a6(0x26f)](a6(0x222)+F))):console['log'](a0v[a6(0x30f)][a6(0x263)]('\x20\x20✓\x20Answer\x20for\x20Q'+m['qNum']+a6(0x25e)+B)),console['log'](a0v['gray']('\x20\x20\x20\x20(Grading\x20happens\x20at\x20exam\x20submit\x20—\x20you\x20cannot\x20preview\x20correctness\x20during\x20the\x20exam.)')),console[a6(0x1f6)](),console[a6(0x1f6)](a0v[a6(0x26f)]('\x20\x20')+a0v[a6(0x224)](a6(0x213))+a0v[a6(0x26f)](a6(0x2f2))+a0v[a6(0x224)](a6(0x25f))+a0v[a6(0x26f)](a6(0x1fd))),G<=0x122e+-0x1dd2+0xbca?console['log'](a0v[a6(0x26f)](a6(0x29f))+a0v[a6(0x248)]('ai4ctf')+a0v[a6(0x26f)]('\x20will\x20open\x20Q'+G)):console[a6(0x1f6)](a0v[a6(0x26f)](a6(0x2c4))+a0v['red'](a6(0x260))+a0v[a6(0x26f)](a6(0x272))),console['log'](),a6(0x2d1);}if(q[a6(0x2ea)]('!')){const H=q['slice'](-0x1*0x11d9+-0x1*-0x8e1+0x8f9)['trim']();if(!H)return'continue';try{const I={};I[a6(0x292)]=a6(0x255),I[a6(0x2f6)]=0x2710;const {execSync:J}=await import(a6(0x1f5)),K=J(H,I)[a6(0x21e)]();console[a6(0x1f6)](),console[a6(0x1f6)](a0v[a6(0x26f)](a6(0x236))+a0v[a6(0x224)](H)),console['log'](a0v[a6(0x224)]('\x20\x20'+K[a6(0x22d)]('\x0a')['join']('\x0a\x20\x20'))),console[a6(0x1f6)]();}catch(L){console['log'](),console[a6(0x1f6)](a0v[a6(0x2bd)](a6(0x232)+(L[a6(0x2af)]?.[a6(0x22d)]('\x0a')[-0x251*0x1+0x9a0+0x1*-0x74f]||a6(0x24a)))),console[a6(0x1f6)]();}return a6(0x2d1);}if(a6(0x25f)===x||'back'===x||a6(0x293)===x){const M=m[a6(0x239)],{getExamState:N}=await import(a6(0x290)),O=N(),P=O&&null!=O['answers'][M],Q=O?.[a6(0x2d4)]||M;return r=!(0x853+0x68e+-0x22*0x70),h=null,m=null,p[a6(0x323)](),console[a6(0x1f6)](),console[a6(0x1f6)](a0v['gray'](a6(0x267)+M+'.')),P&&Q>M&&Q<=0x1d*-0xc2+-0x7*0x263+0x26d5*0x1?console[a6(0x1f6)](a0v[a6(0x224)]('\x20\x20Next:\x20')+a0v[a6(0x263)][a6(0x30f)]('Q'+Q)+a0v[a6(0x26f)](a6(0x2c8))+a0v[a6(0x248)]('ai4ctf')+a0v[a6(0x26f)](a6(0x2bb))):P&&M>=0x4b*-0x2b+-0xb*0x1a1+0x1eaa?console[a6(0x1f6)](a0v[a6(0x224)](a6(0x1ff))+a0v[a6(0x263)]['red']('ctf4ai')+a0v[a6(0x26f)](a6(0x2fc))):console[a6(0x1f6)](a0v[a6(0x26f)](a6(0x21a))+a0v[a6(0x224)](a6(0x311)+M)+a0v[a6(0x26f)](a6(0x220))+a0v[a6(0x224)]('ai4ctf')),console[a6(0x1f6)](),a6(0x25f);}if(y)return console[a6(0x1f6)](),console[a6(0x1f6)](a0v['yellow'](a6(0x328))),console[a6(0x1f6)](a0v[a6(0x26f)](a6(0x26d))+a0v[a6(0x224)]('submit\x20<flag>')+a0v['gray'](a6(0x2ba))+a0v[a6(0x224)](a6(0x233))+a0v['gray']('\x20·\x20')+a0v[a6(0x224)](a6(0x25f))),console[a6(0x1f6)](),a6(0x2d1);if(u>=d)return y=!(0x4d5*0x1+0x141*-0xb+0x8f6),console[a6(0x1f6)](),console['log'](a0v[a6(0x2bd)][a6(0x263)](a6(0x22c))),console[a6(0x1f6)](a0v['gray'](a6(0x259))+a0v['white'](a6(0x31c))+a0v[a6(0x26f)](a6(0x2ba))+a0v[a6(0x224)](a6(0x233))+a0v[a6(0x26f)](a6(0x2ba))+a0v[a6(0x224)]('exit')),console[a6(0x1f6)](),a6(0x2d1);console[a6(0x1f6)](a0v['gray']('\x20\x20Thinking...'));try{const R=await h['sendMessage'](q);process[a6(0x252)][a6(0x326)](a6(0x29c)),u+=R[a6(0x200)];const {getRealExamState:S,saveExamState:T}=await import(a6(0x290)),U=S(),V={};V[a6(0x2e0)]=0x0,V[a6(0x260)]=0x0,(U&&(U[a6(0x27d)]||(U[a6(0x27d)]=V),U['aiUsage'][a6(0x2e0)]=u,T(U)),console['log'](),a0E(R['text']),w(),function(W,X,Y){const a7=a6,Z=W/X*(0x1669+0xedd+-0x24e2);Z>=0x11f5+0x1*0x245e+-0x35f4&&!Y[a7(0x295)]('95')?(console[a7(0x1f6)](a0v[a7(0x2bd)]['bold'](a7(0x271)+Math['round'](Z)+a7(0x241)+(X-W)+a7(0x27c))),Y[a7(0x2ab)]('95')):Z>=-0x17c6+0x2535+0x1*-0xd1f&&!Y[a7(0x295)]('80')?(console[a7(0x1f6)](a0v[a7(0x21c)](a7(0x278))),Y[a7(0x2ab)]('80')):Z>=0x13*-0x139+-0x1327+0x4*0xaa5&&!Y[a7(0x295)]('50')&&(console[a7(0x1f6)](a0v[a7(0x26f)](a7(0x2ce))),Y[a7(0x2ab)]('50'));}(u,d,p),console['log']());}catch(W){process[a6(0x252)]['write'](a6(0x29c)),a0F(a6(0x2d3)+W[a6(0x2af)]),console[a6(0x1f6)]();}return a6(0x2d1);}export function registerAi4ctfCommand(j){const a8=a0k;j[a8(0x307)](a8(0x2e0))[a8(0x208)](a8(0x2fa))['action'](async()=>{const a9=a8;a0C(a9(0x2e0));const {getRealExamState:k}=await import('../lib/exam-state.js'),q=k(),v=q?.[a9(0x294)][a9(0x2c6)](C=>a9(0x2e0)===C[a9(0x212)]);if(q&&v){const C=q[a9(0x2d4)]||0x1*-0xb9b+0x1235+-0x699,D=q[a9(0x294)][a9(0x2bf)](E=>E[a9(0x30b)]===C);if(!D)return void a0F('Q'+C+a9(0x2c9)+C);if(a9(0x2e0)!==D[a9(0x212)]){if(console['log'](),'ctf4ai'===D[a9(0x212)])console[a9(0x1f6)](a0v['yellow']('\x20\x20Q'+C+a9(0x284))),console[a9(0x1f6)](a0v[a9(0x26f)](a9(0x1f9))+a0v['bold'][a9(0x2bd)](a9(0x260)));else{if(a9(0x320)===D[a9(0x212)])console[a9(0x1f6)](a0v[a9(0x21c)](a9(0x215)+C+a9(0x283))),console[a9(0x1f6)](a0v[a9(0x26f)](a9(0x1f9))+a0v[a9(0x263)][a9(0x248)]('ctf4eai'));else{const E=q[a9(0x294)][a9(0x2bf)](F=>a9(0x2e0)===F['type']);console[a9(0x1f6)](a0v['yellow'](a9(0x215)+C+a9(0x21b))),E&&(console[a9(0x1f6)](a0v['gray'](a9(0x2b2)+E[a9(0x30b)]+').')),console[a9(0x1f6)](a0v[a9(0x26f)](a9(0x257))+a0v[a9(0x263)][a9(0x248)](a9(0x311)+E[a9(0x30b)])));}}return void console['log']();}return void await async function(F,G){const aa=a9,{getRealExamState:H,refetchQuestionDataIfStale:I,materializeAttachedData:J}=await import('../lib/exam-state.js');await I();const K=H();if(!K)return!(-0x1e40+0x2*0x977+0x1*0xb53);const L=K[aa(0x294)][aa(0x2bf)](O=>O[aa(0x30b)]===F);L&&(G=L),J(F,G?.[aa(0x288)]);const M=K[aa(0x27d)]?.[aa(0x2e0)]??-0x20ea+0x3*0xa6d+-0x1a3*-0x1;if(M>=d)return console[aa(0x1f6)](),console[aa(0x1f6)](a0v[aa(0x21c)](aa(0x2ed))),console[aa(0x1f6)](a0v['gray'](aa(0x2c5))+a0v[aa(0x224)](aa(0x319)+F+aa(0x2b8))),console[aa(0x1f6)](),!(0x22b0+-0x883+-0x1a2c);try{h=await a0x(void(0x17*0xc2+-0x1d4d+0x3*0x3f5),function(O,P){const ab=aa,Q=O[ab(0x208)]||O[ab(0x29d)]||'',R=O[ab(0x288)]?'\x0a\x0aATTACHED\x20DATA\x20(also\x20saved\x20to\x20challenges/q'+P+ab(0x217)+O[ab(0x288)]:'';return ab(0x314)+P+',\x20'+O['category']+',\x20'+(O[ab(0x28f)]||-0x1*-0x13d6+0x284+-0x2*0xb2a)+'\x20points):\x0a'+Q+R+ab(0x2d0)+P+ab(0x2d8);}(G,F));}catch(O){return a0F(O[aa(0x2af)]),!(0x16e5*0x1+0x1ddd+-0x34c1);}r=!(-0x173b+-0x172d+-0x168*-0x21),u=M,y=!(0x2*-0x207+0x43a*-0x5+-0x1931*-0x1),m={'qNum':F,'question':G,'usageField':aa(0x2e0),'enteredAt':Date[aa(0x238)](),'submitAttempted':!(-0x1*-0x15b+0x3*-0x905+0x19b5*0x1),'nudgeShown':!(0x1*0x685+-0x48d+-0x1f7)};const N=K[aa(0x291)]?.[F];return function(P,Q,R){const ac=aa,S=a0A()[ac(0x275)]||'gemma-4-31b-it',T=u>-0x1816+-0x49*-0x2+0x1*0x1784;console[ac(0x1f6)](),console[ac(0x1f6)](a0v[ac(0x30f)]['bold']('\x20\x20═══\x20AI4CTF\x20—\x20Q'+Q+':\x20'+P['category']+ac(0x2d7))),T&&console['log'](a0v[ac(0x26f)]('\x20\x20(resuming\x20—\x20prior\x20chat\x20is\x20not\x20remembered,\x20but\x20tokens\x20already\x20used\x20stay\x20deducted)')),R&&console[ac(0x1f6)](a0v['gray'](ac(0x2ae))+a0v[ac(0x21c)](R)+a0v['gray'](ac(0x268))),console[ac(0x1f6)](),console[ac(0x1f6)](a0v[ac(0x248)](ac(0x2a4))),console[ac(0x1f6)](a0v[ac(0x248)]('\x20\x20│\x20')+a0v['bold'][ac(0x224)]('Q'+Q+ac(0x2ec)+P[ac(0x1f8)]+']\x20\x20·\x20'+(P[ac(0x28f)]||-0xb7d+-0x79d*-0x5+-0x1a8e)+ac(0x20e))),console[ac(0x1f6)](a0v[ac(0x248)](ac(0x23c)));for(const U of String(P['text'])[ac(0x22d)]('\x0a')){const V=U[ac(0x219)]>-0x1bd9*0x1+-0xb1a+0x272f*0x1?U[ac(0x29e)](0x31*-0x7e+0xf63+0x8bb,0x2157+-0x425*-0x4+0x2*-0x18d9)+ac(0x250):U;console['log'](a0v[ac(0x248)]('\x20\x20│\x20')+a0v[ac(0x224)](V));}console[ac(0x1f6)](a0v[ac(0x248)](ac(0x23c))),console[ac(0x1f6)](a0v[ac(0x248)]('\x20\x20│\x20')+a0v['gray']('Full\x20question:\x20\x20')+a0v[ac(0x224)](ac(0x311)+Q)),console[ac(0x1f6)](a0v[ac(0x248)](ac(0x202))+a0v[ac(0x26f)]('Flag\x20format:\x20\x20\x20\x20ICOA{...}')),console[ac(0x1f6)](a0v[ac(0x248)](ac(0x26e))),console[ac(0x1f6)](),console['log'](a0v[ac(0x263)]['white'](ac(0x22a))),console[ac(0x1f6)](),console[ac(0x1f6)](a0v[ac(0x21c)](ac(0x276))+a0v[ac(0x26f)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20A\x20gentle\x20nudge\x20(pre-written)')),console[ac(0x1f6)](a0v[ac(0x21c)](ac(0x230))+a0v['gray'](ac(0x2e7))),console[ac(0x1f6)](a0v[ac(0x21c)](ac(0x305))+a0v['gray'](ac(0x2eb))),console[ac(0x1f6)](a0v[ac(0x263)][ac(0x30f)]('\x20\x20\x20\x20submit\x20ICOA{...}')+a0v['gray'](ac(0x266))),console[ac(0x1f6)](a0v['white'](ac(0x2e5))+a0v[ac(0x26f)](ac(0x218))),console[ac(0x1f6)](a0v['gray'](ac(0x221))),console['log'](a0v['gray'](ac(0x253))+a0v[ac(0x224)](ac(0x270))),console[ac(0x1f6)](),console['log'](a0v['gray'](ac(0x25b))+a0v[ac(0x26f)](ac(0x29a))),console[ac(0x1f6)](a0v[ac(0x26f)](ac(0x289))+a0v[ac(0x26f)](ac(0x223))),console[ac(0x1f6)](),w(),console['log'](a0v[ac(0x26f)](ac(0x247)+S+')')),console[ac(0x1f6)]();}(G,F,N),!(0x12a*0x1d+-0x37*0xa9+0x28d);}(C,D);}const x=a0A(),z=x['geminiModel']||a9(0x2cc);if(a0B())return x[a9(0x258)]?void await(async function(){const ad=a9,F=a0A(),G=F[ad(0x24f)],H=F['currentChallengeName'],I=F[ad(0x31e)]||ad(0x2b4);let J='';if(G)try{const {CTFdClient:K}=await import(ad(0x2e6)),L=F['sessionCookie']||'',M=F['token']&&!F[ad(0x31d)][ad(0x303)](ad(0x229))?F['token']:'',N=new K(F['ctfdUrl'],M,L||F[ad(0x31d)]);J=(await N['getChallenge'](G))[ad(0x208)]||'';}catch{}try{h=await a0x(void(0xf4*-0x20+0x1*0x1313+0xf*0xc3),function(O,P,Q){const ae=ad;return'You\x20are\x20an\x20AI\x20teammate\x20helping\x20a\x20contestant\x20in\x20a\x20live\x20Capture-The-Flag\x20competition.\x0a\x0aCURRENT\x20CHALLENGE:\x20\x22'+O+'\x22\x20(category:\x20'+P+').'+(Q?ae(0x280)+Q:'')+ae(0x2fd);}(H,I,J));}catch(O){return a0F(O[ad(0x2af)]),!(-0x1bf6+0x914+0x12e3);}return r=!(0x9*-0x20f+-0x1170+0x5d*0x63),u=0x1756+0x304*-0x4+-0x4a*0x27,y=!(0x257d+-0x5*0x115+-0x495*0x7),f={'challengeId':G,'challengeName':H,'challengeCategory':I,'enteredAt':Date['now']()},function(P,Q){const af=ad,R=a0A()[af(0x275)]||af(0x2cc);console[af(0x1f6)](),console[af(0x1f6)](a0v[af(0x30f)][af(0x263)](af(0x2c2))),console['log'](),console[af(0x1f6)](a0v[af(0x248)]('\x20\x20┌─────────────────────────────────────────────')),console[af(0x1f6)](a0v[af(0x248)](af(0x202))+a0v[af(0x263)][af(0x224)](P)+a0v[af(0x26f)](af(0x21d)+Q+']')),console[af(0x1f6)](a0v[af(0x248)]('\x20\x20│')),console['log'](a0v[af(0x248)](af(0x202))+a0v['gray'](af(0x298))),console[af(0x1f6)](a0v['cyan']('\x20\x20│\x20')+a0v['gray'](af(0x312))),console[af(0x1f6)](a0v[af(0x248)](af(0x26e))),console['log'](),console[af(0x1f6)](a0v[af(0x21c)](af(0x201))),console[af(0x1f6)](a0v[af(0x224)](af(0x28d))+a0v[af(0x26f)](af(0x2a0))),console[af(0x1f6)](a0v[af(0x224)](af(0x249))+a0v[af(0x26f)](af(0x287))),console[af(0x1f6)](a0v[af(0x224)]('\x20\x20\x20\x20submit\x20<flag>\x20\x20\x20')+a0v[af(0x26f)](af(0x21f))),console[af(0x1f6)](a0v[af(0x224)](af(0x254))+a0v[af(0x26f)]('Leave\x20the\x20AI\x20teammate')),console[af(0x1f6)](),console[af(0x1f6)](a0v[af(0x26f)](af(0x244))+a0v['white'](af(0x2f5))+a0v[af(0x26f)](af(0x2a8))+a0v[af(0x224)](af(0x2e0))),w(),console[af(0x1f6)](a0v[af(0x26f)]('\x20\x20Model:\x20Google\x20Gemma\x204\x20('+R+')')),console[af(0x1f6)](a0v[af(0x26f)]('\x20\x20AI\x20usage\x20is\x20metered\x20per\x20account\x20(server-enforced\x20budget).')),console[af(0x1f6)]();}(H,I),!(0xfa7*-0x1+0x1244+-0x29d);}()):(console['log'](),console['log'](a0v['yellow'](a9(0x1fa))),console[a9(0x1f6)](a0v[a9(0x26f)](a9(0x226))+a0v[a9(0x224)]('ctf\x20list')+a0v[a9(0x26f)](a9(0x2b6))+a0v[a9(0x224)](a9(0x2f5))),console[a9(0x1f6)](a0v[a9(0x26f)](a9(0x2bc))),void console[a9(0x1f6)]());const A={};A['name']=a9(0x2f1),A['category']=a9(0x251);const B=A;try{h=await a0x(B);}catch(F){return void a0F(F[a9(0x2af)]);}r=!(0x1*-0x1357+0x1*0x1e17+0xac0*-0x1),u=0x18d6+-0x31*0x4a+-0xaac,y=!(0x18b3+0x2410+-0x3cc2),console[a9(0x1f6)](),console[a9(0x1f6)](a0v['green'][a9(0x263)](a9(0x225)+a0G(a9(0x296))+'\x20═══')),console['log'](),console[a9(0x1f6)](a0v[a9(0x224)]('\x20\x20'+a0G('ai4ctfSample'))),console[a9(0x1f6)](),console['log'](a0v[a9(0x248)](a9(0x2a4))),console[a9(0x1f6)](a0v[a9(0x248)](a9(0x202))+a0v[a9(0x263)][a9(0x224)](a0G(a9(0x26a)))),console['log'](a0v[a9(0x248)](a9(0x23c))),console[a9(0x1f6)](a0v[a9(0x248)](a9(0x202))+a0v[a9(0x224)](a0G(a9(0x20d)))),console['log'](a0v[a9(0x248)](a9(0x202))+a0v[a9(0x30f)](a9(0x2ee))),console['log'](a0v[a9(0x248)](a9(0x23c))),console[a9(0x1f6)](a0v[a9(0x248)](a9(0x202))+a0v[a9(0x224)](a0G(a9(0x240)))),console[a9(0x1f6)](a0v['cyan']('\x20\x20│\x20')+a0v[a9(0x26f)](a9(0x22b))),console['log'](a0v[a9(0x248)](a9(0x26e))),console['log'](),console[a9(0x1f6)](a0v[a9(0x224)]('\x20\x20'+a0G(a9(0x20c)))),console[a9(0x1f6)](),console[a9(0x1f6)](a0v[a9(0x21c)](a9(0x276))+a0v[a9(0x26f)](a9(0x28b)+a0G(a9(0x264)))),console[a9(0x1f6)](a0v[a9(0x26f)](a9(0x2c3)+a0G(a9(0x24b)))),console[a9(0x1f6)](a0v[a9(0x21c)](a9(0x230))+a0v[a9(0x26f)](a9(0x28b)+a0G('ai4ctfHintB'))),console[a9(0x1f6)](a0v[a9(0x26f)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0G('ai4ctfHintBUses'))),console[a9(0x1f6)](a0v['yellow'](a9(0x305))+a0v[a9(0x26f)](a9(0x28b)+a0G(a9(0x2b9)))),console['log'](a0v['gray'](a9(0x2c3)+a0G('ai4ctfHintCUses'))),console[a9(0x1f6)](),console['log'](a0v[a9(0x26f)]('\x20\x20─────────────────────────────────────────')),console[a9(0x1f6)](a0v[a9(0x263)][a9(0x224)]('\x20\x20'+a0G(a9(0x245)))),console[a9(0x1f6)]('\x20\x20\x20\x20'+a0v[a9(0x248)]('hint\x20a')+a0v[a9(0x26f)](a9(0x234)+a0G(a9(0x300)))),console[a9(0x1f6)]('\x20\x20\x20\x20'+a0v['cyan'](a9(0x2f4))+a0v[a9(0x26f)]('\x20\x20\x20→\x20'+a0G(a9(0x204)))),console[a9(0x1f6)](a9(0x28b)+a0v[a9(0x248)]('hint\x20c')+a0v['gray'](a9(0x234)+a0G(a9(0x324)))),console['log'](a0v[a9(0x26f)]('\x20\x20\x20\x20'+a0G(a9(0x235)))),console[a9(0x1f6)](),console['log'](a0v[a9(0x224)]('\x20\x20'+a0G(a9(0x28c)))),console[a9(0x1f6)](a0v[a9(0x26f)]('\x20\x20'+a0G(a9(0x1fb))+'\x20')+a0v[a9(0x224)](a9(0x2a2))),console['log'](),console[a9(0x1f6)](a0v[a9(0x21c)]('\x20\x20'+a0G('ai4ctfCommands'))),console[a9(0x1f6)](a0v[a9(0x224)]('\x20\x20\x20\x20hint\x20a\x20/\x20b\x20/\x20c\x20\x20')+a0v[a9(0x26f)](a0G(a9(0x2b0)))),console['log'](a0v[a9(0x224)]('\x20\x20\x20\x20submit\x20<flag>\x20\x20\x20')+a0v[a9(0x26f)](a0G(a9(0x23d)))),console[a9(0x1f6)](a0v['white'](a9(0x249))+a0v[a9(0x26f)](a0G(a9(0x2de)))),console[a9(0x1f6)](a0v[a9(0x26f)](a9(0x253))+a0v['white'](a9(0x2df))),console['log'](a0v[a9(0x26f)](a9(0x254)+a0G(a9(0x28a)))),console[a9(0x1f6)](),w(),console[a9(0x1f6)](a0v[a9(0x26f)]('\x20\x20'+a0G('ai4ctfModel')+':\x20Google\x20Gemma\x204\x20('+z+')')),console[a9(0x1f6)](a0v['gray']('\x20\x20'+a0G(a9(0x322)))),console[a9(0x1f6)]();});}
|
|
1
|
+
(function(j,k){const a0=a0k,q=j();while(!![]){try{const v=-parseInt(a0(0x19f))/(0x110b+0x1a35*-0x1+-0x92b*-0x1)+parseInt(a0(0x110))/(-0x1*0xdf+0x618+-0x537)+parseInt(a0(0x144))/(0x38*0x29+0x11*0x1d3+-0x27f8)+-parseInt(a0(0xda))/(0x135*-0x1+-0x893*-0x1+0x75a*-0x1)+-parseInt(a0(0x162))/(0x2ab*0x6+0xa15*0x1+-0x1a12)+parseInt(a0(0x13c))/(-0x8*-0x151+-0x13cb+-0x1*-0x949)*(-parseInt(a0(0x18c))/(-0x172*-0x1+0x20d1*-0x1+0x1f66))+-parseInt(a0(0x197))/(0x1b7+0x1e00+-0x1faf)*(-parseInt(a0(0x189))/(0x51f*-0x3+-0x2255+0x1d*0x1b7));if(v===k)break;else q['push'](q['shift']());}catch(x){q['push'](q['shift']());}}}(a0j,0xd92e*0x8+0x94ae1+-0x6*0x136f7));import a0v from'chalk';import{createChatSession as a0x}from'../lib/gemini.js';import{addTokenUsage as a0z}from'../lib/budget.js';import{getConfig as a0A,isConnected as a0B}from'../lib/config.js';import{logCommand as a0C,logSubmission as a0D}from'../lib/logger.js';import{printMarkdown as a0E,printError as a0F}from'../lib/ui.js';import{t as a0G}from'../lib/i18n.js';const g=j=>new Promise(k=>setTimeout(k,j));let r=!(-0x89*-0x39+-0x19*0x125+-0x1e3),h=null,u=-0xa1*-0x33+-0x2693*0x1+0x340*0x2,y=!(-0x71+0x21d7+-0x2165);function a0k(a,b){a=a-(-0xd87*0x2+0x8d8+-0x21*-0x93);const c=a0j();let d=c[a];if(a0k['tiQhYs']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x1864+-0x89*-0x39+-0x5*0x139,o,p,q=-0x10cf+-0xa1*-0x33+-0xf44*0x1;p=i['charAt'](q++);~p&&(o=n%(0x8c5+-0x4*-0x8c3+-0x2bcd)?o*(-0x16b+-0xe67*0x1+0x1012)+p:p,n++%(-0x2689+-0xd9+0xd22*0x3))?l+=String['fromCharCode'](-0x2130+0x3df+0x1e50&o>>(-(-0x2*0x2dd+0x103e+-0x541*0x2)*n&-0x1c11+0x1*0x2547+-0x150*0x7)):0x24ce+0x108b+-0x3559){p=j['indexOf'](p);}for(let r=-0xec1+0x129e+0x2b*-0x17,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x550+-0x6d*0xf+0x123))['slice'](-(0x172*0xb+0x1001+-0x1fe5));}return decodeURIComponent(m);};a0k['SVISzd']=e,a0k['BySvGN']={},a0k['tiQhYs']=!![];}const f=c[-0xe5c*0x2+0xd97+-0x1*-0xf21],g=a+f,h=a0k['BySvGN'][g];return!h?(d=a0k['SVISzd'](d),a0k['BySvGN'][g]=d):d=h,d;}const d=-0x2401*0x2+-0x5c8+0xaf72;let m=null,f=null;export function isChatActive(){return r;}function w(){const a1=a0k,j=m?d:f?-0x2a64+0x48b3*-0x12+0x9178a:0x3df+-0x10f8+0x20a1,k=u,q=Math[a1(0xee)](Math[a1(0x13d)](k/j*(0x103e+0x213c+-0x188b*0x2)),-0x1c11+0x1*0x2547+-0x8d2*0x1),v=Math['round'](q/(0x24ce+0x108b+-0x34f5)*(-0xec1+0x129e+0x39*-0x11)),x=0x550+-0x6d*0xf+0x127-v,z=q>0x172*0xb+0x1001+-0x1f97?a0v['red']:q>-0xe5c*0x2+0xd97+-0x1*-0xf53?a0v[a1(0xd8)]:a0v[a1(0x16e)],A=m?'AI4CTF\x20section':f?a1(0x1a7):a1(0x184);console['log'](a0v['gray']('\x20\x20'+A+':\x20')+z('█'[a1(0x1e8)](v))+a0v[a1(0x1cd)]('░'['repeat'](x))+a0v[a1(0x1cd)]('\x20'+k+'/'+j+'\x20('+q+'%)'));}export async function handleChatMessage(v){const a2=a0k;if(!h)return'exit';if(a0C(a2(0x17c)+v),m)return b(v);if(f)return async function(C){const a3=a2;if(!f||!h)return a3(0x121);const D=C[a3(0x148)](),E=D[a3(0x1d3)](),F=D[a3(0x1ab)](/^submit\s+(.+)/i);if(F){let G=F[0x9ca*-0x3+-0x1dfb+0x3b5a][a3(0x148)]();if(/^submit\s+/i[a3(0xc9)](G)&&(G=G[a3(0x132)](/^submit\s+/i,'')[a3(0x148)]()),G=G[a3(0x132)](/^["'`]+|["'`]+$/g,'')['trim'](),!G)return console[a3(0x1cf)](),console[a3(0x1cf)](a0v[a3(0x1cd)](a3(0x1a8))+a0v[a3(0xbd)](a3(0xeb))),console[a3(0x1cf)](),a3(0xf8);const H=f['challengeId'];if(!H)return console[a3(0x1cf)](),console[a3(0x1cf)](a0v[a3(0xd8)]('\x20\x20No\x20challenge\x20id\x20in\x20context\x20—\x20open\x20one\x20first:\x20')+a0v[a3(0xbd)](a3(0x1b4))),console[a3(0x1cf)](),a3(0xf8);a0D(H,G);const I=a0A();try{const {CTFdClient:J}=await import(a3(0x157)),K=I[a3(0x178)]||'',L=I[a3(0x16d)]&&!I[a3(0x16d)][a3(0xc4)]('session=')?I[a3(0x16d)]:'',M=new J(I['ctfdUrl'],L,K||I[a3(0x16d)]),N=await M[a3(0x166)](H,G);switch(console[a3(0x1cf)](),N['status']){case a3(0x16a):console[a3(0x1cf)](a0v[a3(0x16e)]['bold'](a3(0x179))+a0v[a3(0xbd)](N['message']||''));break;case a3(0x135):console[a3(0x1cf)](a0v[a3(0x10c)](a3(0xcd))+a0v[a3(0x1cd)](N[a3(0x1a4)]||''));break;case'already_solved':console[a3(0x1cf)](a0v[a3(0xd8)](a3(0x145)));break;case a3(0x107):console[a3(0x1cf)](a0v[a3(0xd8)](a3(0x1b7)));break;case'ratelimited':console[a3(0x1cf)](a0v[a3(0xd8)](a3(0xfd)));break;default:console[a3(0x1cf)](a0v['gray']('\x20\x20'+(N['message']||a3(0x101))));}console[a3(0x1cf)]();const {postIntegritySnapshot:O}=await import(a3(0x1ea));await O();}catch(P){console['log'](),console[a3(0x1cf)](a0v['red']('\x20\x20Submission\x20failed:\x20'+(P[a3(0x1a4)]?.[a3(0xd9)]('\x0a')[0x22a5+-0x1388+-0xf1d]||a3(0x1ec)))),console[a3(0x1cf)]();}return a3(0xf8);}if(C['startsWith']('!')){const Q=C[a3(0x18b)](-0x1fd5+0x2b3+0x1d23)['trim']();if(!Q)return a3(0xf8);try{const R={};R[a3(0x1c6)]=a3(0xf0),R[a3(0x17b)]=0x2710;const {execSync:S}=await import(a3(0x14c)),T=S(Q,R)[a3(0x148)]();console['log'](),console[a3(0x1cf)](a0v[a3(0x1cd)](a3(0x190))+a0v['white'](Q)),console['log'](a0v[a3(0xbd)]('\x20\x20'+T['split']('\x0a')[a3(0x1bb)](a3(0x11c)))),console[a3(0x1cf)]();}catch(U){console[a3(0x1cf)](),console[a3(0x1cf)](a0v['red']('\x20\x20Error:\x20'+(U[a3(0x1a4)]?.[a3(0xd9)]('\x0a')[0xe1d+-0xa7e+-0x39f]||'Command\x20failed'))),console['log']();}return a3(0xf8);}if(a3(0x121)===E||a3(0x1b8)===E||'quit'===E){const V=f[a3(0x1a2)];return r=!(-0x7f*0x43+0x614+0x1b2a),h=null,f=null,console[a3(0x1cf)](),console[a3(0x1cf)](a0v['gray']('\x20\x20AI\x20teammate\x20closed\x20for\x20\x22'+V+'\x22.')),console[a3(0x1cf)](a0v['gray'](a3(0x130))+a0v[a3(0xbd)](a3(0x1b4))+a0v[a3(0x1cd)](a3(0x142))+a0v[a3(0xbd)](a3(0xce))),console['log'](),a3(0x121);}console[a3(0x1cf)](a0v[a3(0x1cd)]('\x20\x20'+a0G(a3(0x153))));try{const W=await h['sendMessage'](C);process[a3(0x12f)][a3(0x13a)](a3(0xf6)),u+=W[a3(0x174)],a0z(W[a3(0x174)]),console[a3(0x1cf)](),a0E(W[a3(0x151)]),w(),console[a3(0x1cf)]();}catch(X){process['stdout'][a3(0x13a)](a3(0xf6)),a0F(a3(0x126)+X[a3(0x1a4)]),console[a3(0x1cf)]();}return'continue';}(v);const x=v[a2(0x148)]()[a2(0x1d3)]()['match'](/^hint\s+([abc])$/);if(x)return function(C){const a4=a2,D=a0G('a'===C?'ai4ctfHintA':'b'===C?a4(0x112):'ai4ctfHintC'),E=a0G('a'===C?a4(0x1c5):'b'===C?a4(0xec):a4(0x1ce)),F=a4(0x161)+C['toUpperCase'](),G='a'===C?a0v[a4(0x16e)]:'b'===C?a0v[a4(0xd8)]:a0v[a4(0x10c)];console['log'](),console[a4(0x1cf)](G[a4(0x187)](a4(0x1e4)+F+'\x20\x20')+a0v[a4(0x1cd)](D)),console[a4(0x1cf)]();for(const H of E[a4(0xd9)]('\x0a'))''===H?console[a4(0x1cf)]():console[a4(0x1cf)](a0v[a4(0xbd)]('\x20\x20\x20\x20'+H));console[a4(0x1cf)](),'a'===C?(console[a4(0x1cf)](a0v['gray']('\x20\x20\x20\x20'+a0G(a4(0x14a))+'\x20')+a0v[a4(0xc7)](a4(0x149))),console[a4(0x1cf)]()):'b'===C&&(console[a4(0x1cf)](a0v[a4(0x1cd)](a4(0xd1)+a0G(a4(0xe3))+'\x20')+a0v['cyan'](a4(0x13b))),console[a4(0x1cf)]());}(x[-0x1*-0x85f+-0x3*-0x7cf+-0x1fcb]),'continue';const z=v[a2(0x1ab)](/^submit\s+(.+)/i);if(z){let C=z[-0x7*0x529+0x168e*-0x1+0x3aae][a2(0x148)]();if(/^submit\s+/i[a2(0xc9)](C)&&(C=C[a2(0x132)](/^submit\s+/i,'')[a2(0x148)]()),C=C['replace'](/^["'`]+|["'`]+$/g,'')['trim'](),'icoa{w3lc0me_2_ai4ctf}'===C){console[a2(0x1cf)](),console[a2(0x1cf)](a0v[a2(0x16e)]['bold'](a2(0x1ca))),console[a2(0x1cf)](a0v['green'][a2(0x187)]('\x20\x20'+a0G(a2(0xe5)))),console[a2(0x1cf)](a0v[a2(0x16e)][a2(0x187)](a2(0x1ca))),console['log'](),console['log'](a0v[a2(0xbd)]('\x20\x20'+a0G('ai4ctfDecoded'))),console[a2(0x1cf)](a0v[a2(0x1cd)]('\x20\x20'+a0G(a2(0xf3)))),console[a2(0x1cf)](),w(),r=!(0x1ec3+-0x11ad+0x11*-0xc5),h=null,fetch(a2(0x1b2),{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[a2(0x1c8)]({'type':a2(0xce),'solved':!(-0x3d0+-0x1*-0x67f+-0x2af),'tokensUsed':u,'timestamp':new Date()[a2(0x124)]()}),'signal':AbortSignal['timeout'](-0x2*-0xa68+0x27d+-0xc1*0x5)})[a2(0x156)](()=>{}),await g(0x2*0xe01+0x1a17*-0x1+-0x3f1*-0x1),console[a2(0x1cf)](),console[a2(0x1cf)](a0v[a2(0xc7)](a2(0xfe))),console[a2(0x1cf)](a0v[a2(0x187)][a2(0xbd)]('\x20\x20'+a0G(a2(0x19d)))),console[a2(0x1cf)](a0v['cyan']('\x20\x20─────────────────────────────────────────────')),console[a2(0x1cf)]();const D=a0G(a2(0x19b)),E=a0G(a2(0x111));console[a2(0x1cf)](a0v[a2(0xbd)](a2(0x16b)+D+'\x20')+a0v['gray'](E[a2(0xd9)]('\x0a')[-0x24a*0xe+-0xf*0x120+0x30ec]||''));for(const I of E[a2(0xd9)]('\x0a')[a2(0x18b)](0x5b*0x5d+-0x16d2+-0xa3c))I[a2(0x148)]()&&console['log'](a0v['gray']('\x20\x20\x20\x20\x20\x20\x20'+I[a2(0x132)](/\{thinking\}/g,a2(0x1d1))));console['log'](),console[a2(0x1cf)](a0v[a2(0xbd)](a2(0x150)+a0G('ai4ctfWrapLine2Head')+'\x20')+a0v['gray'](a0G(a2(0xf7)))),console[a2(0x1cf)](),console[a2(0x1cf)](a0v[a2(0xc7)](a2(0xe8))),console[a2(0x1cf)](),await g(0x1696+0x1a6b+-0x2931),console[a2(0x1cf)](a0v[a2(0xc7)]('\x20\x20─────────────────────────────────────────────')),console[a2(0x1cf)](a0v['bold'][a2(0xbd)]('\x20\x20'+a0G('ai4ctfWrapQuotasTitle'))),console[a2(0x1cf)](a0v['cyan'](a2(0xfe))),console[a2(0x1cf)](),console['log'](a0v['yellow'](a2(0x13f))+a0v[a2(0xbd)](a0G(a2(0x106))[a2(0xe9)](-0xe39+-0x8d6+-0x79*-0x31))+a0v[a2(0x1cd)](a0G(a2(0x115)))),console[a2(0x1cf)](a0v['yellow'](a2(0x159))+a0v[a2(0xbd)](a0G('ai4ctfWrapQuotaB')['padEnd'](0x1*0x14bb+-0x2f0*-0x4+-0x2061*0x1))+a0v['gray'](a0G(a2(0x1b1)))),console[a2(0x1cf)](a0v[a2(0xd8)](a2(0xe2))+a0v[a2(0xbd)](a0G(a2(0x1b6))[a2(0xe9)](-0x2230+0x7*0x2d5+0xe77))+a0v[a2(0x1cd)](a0G(a2(0x10d)))),console[a2(0x1cf)]();for(const J of a0G(a2(0x188))['split']('\x0a'))console['log'](a0v[a2(0x1cd)](a2(0xd1)+J));console[a2(0x1cf)](),await g(0x887+0x1367*0x2+0x2785*-0x1),console['log'](a0v['cyan'](a2(0xfe))),console['log'](a0v[a2(0x187)][a2(0xbd)]('\x20\x20'+a0G(a2(0xfc))+'\x20')+a0v[a2(0x10c)][a2(0x187)](a2(0x140))+a0v[a2(0xbd)](a2(0xdd)+a0G(a2(0xc3)))),console['log'](a0v[a2(0xc7)](a2(0xfe))),console[a2(0x1cf)]();const F=a0G(a2(0x131)),G=a0G('ai4ctfWrapNoProg'),H=F[a2(0xd9)]('\x0a');if(H[0x22a0+-0x61d+-0x1c83]){const [K,L]=H[0xc50+0x1c6+-0x6*0x259]['split'](a2(0x154));console[a2(0x1cf)](a0v[a2(0xbd)](a2(0xd1)+(K||''))+a0v[a2(0x187)][a2(0xbd)](G)+a0v[a2(0xbd)](L||''));}for(const M of H[a2(0x18b)](-0xb49+-0x5d9*0x1+-0x1*-0x1123))M[a2(0x148)]()&&console[a2(0x1cf)](a0v['white']('\x20\x20\x20\x20'+M));return console[a2(0x1cf)](),console[a2(0x1cf)](a0v['gray'](a2(0xd1)+a0G(a2(0xca))+'\x20')+a0v[a2(0x187)]['red'](a2(0x140))),console[a2(0x1cf)](),a2(0x121);}return console[a2(0x1cf)](),console['log'](a0v['red']('\x20\x20'+a0G(a2(0x17d)))),console[a2(0x1cf)](a0v[a2(0x1cd)]('\x20\x20'+a0G('ai4ctfFlagHint'))),console[a2(0x1cf)](),a2(0xf8);}if(v[a2(0x15b)]('!')){const N=v['slice'](-0x23d2+-0x2521*0x1+0x48f4)[a2(0x148)]();if(!N)return a2(0xf8);try{const O={};O['encoding']=a2(0xf0),O['timeout']=0x2710;const {execSync:P}=await import(a2(0x14c)),Q=P(N,O)[a2(0x148)]();console[a2(0x1cf)](),console[a2(0x1cf)](a0v['gray'](a2(0x190))+a0v[a2(0xbd)](N)),console[a2(0x1cf)](a0v[a2(0xbd)]('\x20\x20'+Q[a2(0xd9)]('\x0a')['join'](a2(0x11c)))),console['log'](),console[a2(0x1cf)](a0v[a2(0x1cd)]('\x20\x20'+a0G(a2(0xd3)))),console[a2(0x1cf)]();}catch(R){console[a2(0x1cf)](),console[a2(0x1cf)](a0v[a2(0x10c)](a2(0x1ad)+(R[a2(0x1a4)]?.['split']('\x0a')[-0x565*-0x5+-0x3*0x277+0x9ca*-0x2]||a2(0xdf)))),console['log']();}return'continue';}const A={};A[a2(0x141)]=a2(0x134);if(a2(0x121)===v||a2(0x1b8)===v||a2(0x120)===v||a2(0xbe)===v)return r=!(-0xfcb+0x1ba1+-0xbd5),h=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':'POST','headers':A,'body':JSON[a2(0x1c8)]({'type':a2(0xce),'tokensUsed':u,'timestamp':new Date()[a2(0x124)]()}),'signal':AbortSignal['timeout'](0x1bc0*-0x1+-0x467*-0x2+0x267a)})[a2(0x156)](()=>{}),console['log'](),console[a2(0x1cf)](a0v[a2(0x1cd)]('\x20\x20─────────────────────────────────────────')),console[a2(0x1cf)](a0v[a2(0xbd)]('\x20\x20'+a0G(a2(0x1e1)))),console[a2(0x1cf)](a0v[a2(0x1cd)]('\x20\x20'+a0G(a2(0xc8))+':\x20'+u+'/5000')),console[a2(0x1cf)](a0v[a2(0x1cd)]('\x20\x20'+a0G('ai4ctfModel')+a2(0xe1))),console['log'](a0v['gray']('\x20\x20─────────────────────────────────────────')),console['log'](),console[a2(0x1cf)](a0v[a2(0xc7)](a2(0xfe))),console[a2(0x1cf)](a0v[a2(0xbd)]('\x20\x20'+a0G(a2(0x1d5))+'\x20')+a0v[a2(0x187)][a2(0x10c)](a2(0x140))+a0v[a2(0xbd)](a2(0xdd)+a0G(a2(0x19e)))),console[a2(0x1cf)](a0v[a2(0x1cd)]('\x20\x20'+a0G('ai4ctfExitNextBody'))),console[a2(0x1cf)](a0v[a2(0xc7)](a2(0xfe))),console[a2(0x1cf)](),console[a2(0x1cf)](a0v[a2(0xbd)](a2(0x18e))+a0v[a2(0xbd)](a0G('typeAndEnterToBegin')['replace'](a2(0x164),a0v[a2(0x187)][a2(0x10c)]('ctf4ai')))),console[a2(0x1cf)](a0v[a2(0x1cd)](a2(0x165)+a0G(a2(0x17a)))),console['log'](),'exit';const B={};B['Content-Type']=a2(0x134);if(!y&&u>=-0x1215+0xdc7+0x12*0x153)return y=!(-0xe21*0x2+0x136b+0x1f*0x49),fetch(a2(0x1b2),{'method':a2(0x170),'headers':B,'body':JSON['stringify']({'type':'ai4ctf','solved':!(-0x26ae*0x1+0xa37+0x2*0xe3c),'tokensUsed':u,'timestamp':new Date()[a2(0x124)]()}),'signal':AbortSignal[a2(0x17b)](-0x51a*0x2+-0x23*-0x11b+0x1*-0x8f5)})[a2(0x156)](()=>{}),console['log'](),console[a2(0x1cf)](a0v['yellow']('\x20\x20'+a0G('tokenLimit'))),w(),(function(){const a5=a2;console[a5(0x1cf)](),console[a5(0x1cf)](a0v[a5(0xd8)](a5(0xfe))),console[a5(0x1cf)](a0v[a5(0x187)][a5(0xd8)]('\x20\x20'+a0G(a5(0xd5)))),console['log'](a0v['yellow'](a5(0xfe))),console['log']();for(const S of a0G(a5(0x11d))[a5(0xd9)]('\x0a'))''===S?console[a5(0x1cf)]():console[a5(0x1cf)](a0v[a5(0xbd)](a5(0xd1)+S));console['log'](),console[a5(0x1cf)](a0v[a5(0xc7)](a5(0x16f))),console[a5(0x1cf)](),console[a5(0x1cf)](a0v[a5(0xbd)](a5(0xd1)+a0G(a5(0x147)))),console[a5(0x1cf)](),console[a5(0x1cf)](a0v[a5(0x16e)](a5(0x1d6))),console[a5(0x1cf)](),console[a5(0x1cf)](a0v['white']('\x20\x20\x20\x20'+a0G(a5(0x143)))),console[a5(0x1cf)](),console['log'](a0v['cyan']('\x20\x20\x20\x20\x20\x20\x20\x20submit\x20icoa{w3lc0me_2_ai4ctf}')),console[a5(0x1cf)](),console[a5(0x1cf)](a0v[a5(0x1cd)]('\x20\x20\x20\x20'+a0G(a5(0x1b9)))),console[a5(0x1cf)]();}()),a2(0xf8);if(y)return console[a2(0x1cf)](),console[a2(0x1cf)](a0v[a2(0xd8)]('\x20\x20'+a0G('ai4ctfLockedTitle'))),console[a2(0x1cf)](a0v[a2(0x1cd)]('\x20\x20'+a0G(a2(0xcc))+'\x20')+a0v['cyan']('!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console['log'](a0v[a2(0x1cd)]('\x20\x20'+a0G(a2(0x12e))+'\x20')+a0v[a2(0xc7)](a2(0x137))),console['log'](),'continue';console['log'](a0v[a2(0x1cd)]('\x20\x20'+a0G('ai4ctfThinking')));try{const S=await h[a2(0x1ba)](v);process[a2(0x12f)]['write'](a2(0xf6)),u+=S['tokensUsed'],a0z(S[a2(0x174)]),console[a2(0x1cf)](),a0E(S[a2(0x151)]),w(),console[a2(0x1cf)]();}catch(T){process[a2(0x12f)]['write'](a2(0xf6)),a0F(a2(0x126)+T[a2(0x1a4)]),console[a2(0x1cf)]();}return a2(0xf8);}const p=new Set();async function b(q){const a6=a0k;if(!m||!h)return'exit';const v=q['trim'](),x=v['toLowerCase'](),z=(Date[a6(0x14e)]()-m[a6(0x15a)])/(-0x5c5a*-0x5+0x1af83+-0x292e5);if(!m[a6(0x167)]&&!m[a6(0x128)]&&z>=0x248d*0x1+-0x1e1b+0x5*-0x149&&(m[a6(0x167)]=!(0xf01*0x2+0x1*0xd4b+0xf*-0x2e3),console['log'](),console['log'](a0v[a6(0xd8)](a6(0x15c))+a0v[a6(0x187)][a6(0xd8)](a6(0xed))),console[a6(0x1cf)](a0v[a6(0x1cd)]('\x20\x20\x20\x20\x20(type\x20it\x20right\x20here\x20in\x20this\x20chat\x20—\x20not\x20as\x20a\x20shell\x20command)')),console['log']()),/^ICOA\{[^}]+\}$/i[a6(0xc9)](v))return console['log'](),console[a6(0x1cf)](a0v[a6(0x1cd)](a6(0x1c2))+a0v[a6(0xbd)](a6(0x15d)+v)),b('submit\x20'+v);const A=v[a6(0x1ab)](/^submit\s+(.+)/i);if(A){let B=A[0x355*0x5+0x805*0x2+-0x20b2]['trim']();if(/^submit\s+/i[a6(0xc9)](B)&&(B=B['replace'](/^submit\s+/i,'')[a6(0x148)]()),B=B[a6(0x132)](/^["'`]+|["'`]+$/g,'')[a6(0x148)](),/^[A-Da-d]$/['test'](B))return console[a6(0x1cf)](),console['log'](a0v[a6(0xd8)](a6(0x133)+B+a6(0x138))),console['log'](a0v[a6(0x1cd)](a6(0x1c3))+a0v[a6(0x16e)]('ICOA{your_flag}')+a0v[a6(0x1cd)](a6(0x1d8))),console[a6(0x1cf)](),'continue';const {getExamState:C,saveExamState:D}=await import(a6(0x1da)),E=C();if(!E)return a6(0x121);if(!E[a6(0x1e3)][a6(0x1d7)](H=>H[a6(0x1a3)]===m[a6(0x1a9)]))return console[a6(0x1cf)](a0v[a6(0x10c)]('\x20\x20Q'+m[a6(0x1a9)]+a6(0x14f))),a6(0xf8);const F=E[a6(0x173)][m['qNum']];E[a6(0x11b)]||(E[a6(0x11b)]=[]),E['interactions']['push']({'ts':new Date()['toISOString'](),'q':m[a6(0x1a9)],'type':F?a6(0x1a0):a6(0x11a),'input':B,'result':'via\x20ai4ctf\x20chat'}),E[a6(0x173)][m[a6(0x1a9)]]=B;const G=m[a6(0x1a9)]+(0x106c*0x1+-0xf5+-0xf76);return E[a6(0x109)]=G<=0x14b2+0xf9*0x17+0x2aeb*-0x1?G:m[a6(0x1a9)],D(E),console[a6(0x1cf)](),F?(console[a6(0x1cf)](a0v[a6(0x16e)](a6(0x183)+m[a6(0x1a9)]+a6(0x1aa))+a0v[a6(0xd8)](B)),console[a6(0x1cf)](a0v[a6(0x1cd)](a6(0xc5)+F))):console['log'](a0v[a6(0x16e)][a6(0x187)](a6(0xd0)+m[a6(0x1a9)]+a6(0xfb)+B)),console[a6(0x1cf)](a0v[a6(0x1cd)]('\x20\x20\x20\x20(Grading\x20happens\x20at\x20exam\x20submit\x20—\x20you\x20cannot\x20preview\x20correctness\x20during\x20the\x20exam.)')),console[a6(0x1cf)](),console[a6(0x1cf)](a0v[a6(0x1cd)]('\x20\x20')+a0v['white']('submit\x20ICOA{...}')+a0v['gray'](a6(0x1ae))+a0v[a6(0xbd)]('exit')+a0v[a6(0x1cd)](a6(0x152))),G<=-0x1*0x23f7+-0x1bc2+0x3fdf?console[a6(0x1cf)](a0v['gray']('\x20\x20After\x20exit:\x20')+a0v['cyan'](a6(0xce))+a0v[a6(0x1cd)]('\x20will\x20open\x20Q'+G)):console[a6(0x1cf)](a0v[a6(0x1cd)](a6(0x198))+a0v['red'](a6(0x140))+a0v[a6(0x1cd)](a6(0xdb))),console[a6(0x1cf)](),a6(0xf8);}if(q[a6(0x15b)]('!')){const H=q[a6(0x18b)](-0x229*-0xd+0x5e8+-0x21fc)[a6(0x148)]();if(!H)return a6(0xf8);try{const I={};I[a6(0x1c6)]=a6(0xf0),I[a6(0x17b)]=0x2710;const {execSync:J}=await import(a6(0x14c)),K=J(H,I)['trim']();console[a6(0x1cf)](),console[a6(0x1cf)](a0v[a6(0x1cd)](a6(0x190))+a0v[a6(0xbd)](H)),console[a6(0x1cf)](a0v['white']('\x20\x20'+K['split']('\x0a')[a6(0x1bb)](a6(0x11c)))),console[a6(0x1cf)]();}catch(L){console[a6(0x1cf)](),console[a6(0x1cf)](a0v[a6(0x10c)]('\x20\x20Error:\x20'+(L['message']?.[a6(0xd9)]('\x0a')[-0xa*0x102+-0xae5+0x5b*0x3b]||'Command\x20failed'))),console[a6(0x1cf)]();}return a6(0xf8);}if('exit'===x||a6(0x1b8)===x||a6(0x120)===x){const M=m[a6(0x1a9)],{getExamState:N}=await import(a6(0x1da)),O=N(),P=O&&null!=O[a6(0x173)][M],Q=O?.['_lastQ']||M;return r=!(0x353+0x1cd+-0x51f),h=null,m=null,p[a6(0x1d0)](),console['log'](),console[a6(0x1cf)](a0v[a6(0x1cd)](a6(0x192)+M+'.')),P&&Q>M&&Q<=0x1987+-0xdf4+-0xb6d?console['log'](a0v[a6(0xbd)](a6(0xf2))+a0v['bold'][a6(0x16e)]('Q'+Q)+a0v[a6(0x1cd)]('\x20—\x20type\x20')+a0v[a6(0xc7)](a6(0xce))+a0v[a6(0x1cd)]('\x20to\x20continue')):P&&M>=-0x6a9+-0x18f*-0x1+0x20*0x2a?console[a6(0x1cf)](a0v[a6(0xbd)](a6(0xf5))+a0v[a6(0x187)][a6(0x10c)](a6(0x140))+a0v[a6(0x1cd)]('\x20for\x20Q39')):console[a6(0x1cf)](a0v[a6(0x1cd)](a6(0x169))+a0v[a6(0xbd)](a6(0x1d4)+M)+a0v['gray'](a6(0x1ee))+a0v['white']('ai4ctf')),console[a6(0x1cf)](),a6(0x121);}if(y)return console[a6(0x1cf)](),console[a6(0x1cf)](a0v[a6(0xd8)](a6(0x108))),console[a6(0x1cf)](a0v[a6(0x1cd)]('\x20\x20Still\x20available:\x20')+a0v[a6(0xbd)](a6(0xeb))+a0v[a6(0x1cd)](a6(0x15f))+a0v[a6(0xbd)](a6(0xff))+a0v['gray'](a6(0x15f))+a0v[a6(0xbd)](a6(0x121))),console[a6(0x1cf)](),a6(0xf8);if(u>=d)return y=!(-0x109*0x3+0xca2+-0x9*0x10f),console['log'](),console['log'](a0v[a6(0x10c)][a6(0x187)](a6(0x18f))),console[a6(0x1cf)](a0v[a6(0x1cd)](a6(0xd2))+a0v[a6(0xbd)](a6(0xeb))+a0v[a6(0x1cd)](a6(0x15f))+a0v[a6(0xbd)](a6(0xff))+a0v[a6(0x1cd)]('\x20·\x20')+a0v[a6(0xbd)](a6(0x121))),console[a6(0x1cf)](),a6(0xf8);console['log'](a0v[a6(0x1cd)](a6(0x122)));try{const R=await h['sendMessage'](q);process[a6(0x12f)][a6(0x13a)]('\x1b[1A\x1b[2K'),u+=R[a6(0x174)];const {getRealExamState:S,saveExamState:T}=await import(a6(0x1da)),U=S(),V={};V[a6(0xce)]=0x0,V[a6(0x140)]=0x0,(U&&(U['aiUsage']||(U[a6(0x116)]=V),U[a6(0x116)]['ai4ctf']=u,T(U)),console['log'](),a0E(R[a6(0x151)]),w(),function(W,X,Y){const a7=a6,Z=W/X*(0x1*0x194f+0x3*-0x2f7+-0x1006);Z>=-0x1f23+0x7ef*0x2+0xfa4&&!Y[a7(0x12a)]('95')?(console['log'](a0v[a7(0x10c)][a7(0x187)]('\x20\x20⚠\x20'+Math[a7(0x13d)](Z)+a7(0x127)+(X-W)+a7(0xc0))),Y['add']('95')):Z>=-0xae5*0x3+-0xeb+0x3*0xb4e&&!Y['has']('80')?(console[a7(0x1cf)](a0v['yellow'](a7(0x191))),Y['add']('80')):Z>=-0x4b8*0x1+0x508+-0x3*0xa&&!Y[a7(0x12a)]('50')&&(console[a7(0x1cf)](a0v[a7(0x1cd)]('\x20\x20Note:\x2050%\x20of\x20section\x20AI\x20budget\x20used.')),Y['add']('50'));}(u,d,p),console[a6(0x1cf)]());}catch(W){process[a6(0x12f)][a6(0x13a)](a6(0xf6)),a0F(a6(0x126)+W[a6(0x1a4)]),console[a6(0x1cf)]();}return a6(0xf8);}export function registerAi4ctfCommand(j){const a8=a0k;j[a8(0x1c4)](a8(0xce))[a8(0x1c9)](a8(0x182))[a8(0x146)](async()=>{const a9=a8;a0C(a9(0xce));const {getRealExamState:k}=await import('../lib/exam-state.js'),q=k(),v=q?.['questions'][a9(0x19c)](C=>'ai4ctf'===C['type']);if(q&&v){const C=q[a9(0x109)]||0x737+0x519*0x3+-0x1681,D=q['questions'][a9(0x1d7)](E=>E['number']===C);if(!D)return void a0F('Q'+C+'\x20not\x20found\x20in\x20state.\x20Try:\x20exam\x20q\x20'+C);if(a9(0xce)!==D[a9(0x14b)]){if(console['log'](),a9(0x140)===D['type'])console[a9(0x1cf)](a0v[a9(0xd8)](a9(0x103)+C+a9(0xd6))),console[a9(0x1cf)](a0v[a9(0x1cd)]('\x20\x20Use:\x20')+a0v[a9(0x187)][a9(0x10c)](a9(0x140)));else{if(a9(0x105)===D[a9(0x14b)])console[a9(0x1cf)](a0v[a9(0xd8)](a9(0x103)+C+a9(0xf4))),console['log'](a0v[a9(0x1cd)](a9(0x10b))+a0v['bold']['cyan'](a9(0x185)));else{const E=q['questions'][a9(0x1d7)](F=>a9(0xce)===F[a9(0x14b)]);console[a9(0x1cf)](a0v[a9(0xd8)](a9(0x103)+C+a9(0x1e7))),E&&(console[a9(0x1cf)](a0v[a9(0x1cd)](a9(0xfa)+E[a9(0x1a3)]+').')),console['log'](a0v[a9(0x1cd)]('\x20\x20Jump\x20there:\x20')+a0v[a9(0x187)][a9(0xc7)]('exam\x20q\x20'+E[a9(0x1a3)])));}}return void console[a9(0x1cf)]();}return void await async function(F,G){const aa=a9,{getRealExamState:H,refetchQuestionDataIfStale:I,materializeAttachedData:J}=await import(aa(0x1da));await I();const K=H();if(!K)return!(0x32+-0x738+0x707);const L=K['questions'][aa(0x1d7)](O=>O[aa(0x1a3)]===F);L&&(G=L),J(F,G?.[aa(0x13e)]);const M=K[aa(0x116)]?.['ai4ctf']??-0xd9*0x28+0x2339+-0x151*0x1;if(M>=d)return console[aa(0x1cf)](),console['log'](a0v['yellow'](aa(0x12c))),console[aa(0x1cf)](a0v[aa(0x1cd)](aa(0x1bc))+a0v['white'](aa(0xe6)+F+aa(0x11f))),console['log'](),!(-0x57*0xb+0x224b*-0x1+-0x2609*-0x1);try{h=await a0x(void(-0x3b5+0x1*-0x8f4+0x1*0xca9),function(O,P){const ab=aa,Q=O[ab(0x1c9)]||O[ab(0x151)]||'',R=O[ab(0x13e)]?ab(0x193)+P+'.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'+O[ab(0x13e)]:'';return'You\x20are\x20an\x20AI\x20teammate\x20helping\x20a\x20contestant\x20solve\x20an\x20ICOA\x202026\x20cybersecurity\x20exam\x20question.\x0a\x0aCURRENT\x20QUESTION\x20(Q'+P+',\x20'+O[ab(0x1d2)]+',\x20'+(O[ab(0x177)]||0x1aaa+-0x1e90*-0x1+-0x3934)+ab(0x176)+Q+R+ab(0x196)+P+'.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.';}(G,F));}catch(O){return a0F(O[aa(0x1a4)]),!(0x1371+0x1*0x2355+0x1*-0x36c5);}r=!(0xf*0x140+-0x27a*0x9+0x38a),u=M,y=!(0x1473+0x1ff5+-0x3467*0x1),m={'qNum':F,'question':G,'usageField':'ai4ctf','enteredAt':Date[aa(0x14e)](),'submitAttempted':!(0x21*0x9+-0x2f0+0x1c8),'nudgeShown':!(-0x2*-0x10e6+0x2*0x1179+-0x44bd)};const N=K['answers']?.[F];return function(P,Q,R){const ac=aa,S=a0A()[ac(0x1db)]||ac(0x113),T=u>-0x1565*0x1+0x24e2+-0xf7d;console[ac(0x1cf)](),console['log'](a0v[ac(0x16e)][ac(0x187)](ac(0x17e)+Q+':\x20'+P['category']+ac(0x186))),T&&console['log'](a0v['gray'](ac(0xd4))),R&&console[ac(0x1cf)](a0v[ac(0x1cd)](ac(0xcb))+a0v['yellow'](R)+a0v['gray'](ac(0xc2))),console['log'](),console[ac(0x1cf)](a0v[ac(0xc7)](ac(0x155))),console[ac(0x1cf)](a0v[ac(0xc7)](ac(0xbf))+a0v[ac(0x187)][ac(0xbd)]('Q'+Q+ac(0xd7)+P[ac(0x1d2)]+']\x20\x20·\x20'+(P[ac(0x177)]||-0x1a5+0x1e6d*0x1+-0x1cc2)+ac(0x1de))),console[ac(0x1cf)](a0v['cyan'](ac(0x129)));for(const U of String(P[ac(0x151)])[ac(0xd9)]('\x0a')){const V=U[ac(0x1e6)]>-0x1e9e+-0x1*0xd1+-0x1*-0x1fab?U['slice'](0x14d3+-0x7c6+-0xd0d,0x1c36+-0x804*0x2+-0xbf5)+ac(0x100):U;console['log'](a0v[ac(0xc7)](ac(0xbf))+a0v[ac(0xbd)](V));}console[ac(0x1cf)](a0v['cyan'](ac(0x129))),console[ac(0x1cf)](a0v['cyan'](ac(0xbf))+a0v['gray'](ac(0x1be))+a0v[ac(0xbd)](ac(0x1d4)+Q)),console[ac(0x1cf)](a0v['cyan'](ac(0xbf))+a0v[ac(0x1cd)]('Flag\x20format:\x20\x20\x20\x20ICOA{...}')),console['log'](a0v[ac(0xc7)]('\x20\x20└─────────────────────────────────────────────')),console[ac(0x1cf)](),console[ac(0x1cf)](a0v['bold'][ac(0xbd)]('\x20\x20How\x20to\x20work\x20this\x20question')),console[ac(0x1cf)](),console['log'](a0v['yellow']('\x20\x20\x20\x20hint\x20a')+a0v['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20A\x20gentle\x20nudge\x20(pre-written)')),console['log'](a0v['yellow'](ac(0x1bd))+a0v[ac(0x1cd)](ac(0x1dd))),console[ac(0x1cf)](a0v[ac(0xd8)](ac(0x199))+a0v[ac(0x1cd)](ac(0x136))),console['log'](a0v[ac(0x187)]['green']('\x20\x20\x20\x20submit\x20ICOA{...}')+a0v['gray'](ac(0x19a))),console['log'](a0v[ac(0xbd)](ac(0x1ed))+a0v['gray']('\x20\x20\x20\x20\x20Run\x20Python\x20in\x20shell')),console[ac(0x1cf)](a0v[ac(0x1cd)](ac(0x12b))),console[ac(0x1cf)](a0v[ac(0x1cd)](ac(0x1cc))+a0v[ac(0xbd)](ac(0x1a6))),console['log'](),console['log'](a0v['gray'](ac(0x1ac))+a0v[ac(0x1cd)](ac(0x104))),console[ac(0x1cf)](a0v[ac(0x1cd)](ac(0xe4))+a0v[ac(0x1cd)](ac(0xdc))),console[ac(0x1cf)](),w(),console[ac(0x1cf)](a0v[ac(0x1cd)]('\x20\x20Model:\x20Google\x20Gemma\x204\x20('+S+')')),console[ac(0x1cf)]();}(G,F,N),!(-0x2580+0x40*0x57+0x120*0xe);}(C,D);}const x=a0A(),z=x[a9(0x1db)]||a9(0x113);if(a0B())return x['currentChallengeName']?void await(async function(){const ad=a9,F=a0A(),G=F[ad(0x119)],H=F[ad(0x1a5)],I=F[ad(0x1af)]||ad(0xf1);let J='';if(G)try{const {CTFdClient:K}=await import(ad(0x157)),L=F[ad(0x178)]||'',M=F[ad(0x16d)]&&!F[ad(0x16d)][ad(0xc4)](ad(0x195))?F[ad(0x16d)]:'',N=new K(F[ad(0x18d)],M,L||F[ad(0x16d)]);J=(await N[ad(0x1e0)](G))[ad(0x1c9)]||'';}catch{}try{h=await a0x(void(0x7*0x508+0xcb3+0x1d*-0x1a7),function(O,P,Q){const ae=ad;return'You\x20are\x20an\x20AI\x20teammate\x20helping\x20a\x20contestant\x20in\x20a\x20live\x20Capture-The-Flag\x20competition.\x0a\x0aCURRENT\x20CHALLENGE:\x20\x22'+O+'\x22\x20(category:\x20'+P+').'+(Q?ae(0x1e5)+Q:'')+ae(0x171);}(H,I,J));}catch(O){return a0F(O[ad(0x1a4)]),!(0x5d1*0x1+-0x11c4+0x1fe*0x6);}return r=!(0x2c6*-0xe+0x220d+0x4c7*0x1),u=0x3*-0xba3+-0x709+0x5b*0x76,y=!(0x3e2*0x8+-0x2*0x52a+0x6e9*-0x3),f={'challengeId':G,'challengeName':H,'challengeCategory':I,'enteredAt':Date[ad(0x14e)]()},function(P,Q){const af=ad,R=a0A()[af(0x1db)]||'gemma-4-31b-it';console[af(0x1cf)](),console[af(0x1cf)](a0v[af(0x16e)]['bold'](af(0x1c0))),console[af(0x1cf)](),console[af(0x1cf)](a0v[af(0xc7)](af(0x155))),console[af(0x1cf)](a0v[af(0xc7)](af(0xbf))+a0v['bold'][af(0xbd)](P)+a0v['gray'](af(0x1eb)+Q+']')),console[af(0x1cf)](a0v['cyan'](af(0x129))),console['log'](a0v[af(0xc7)](af(0xbf))+a0v[af(0x1cd)]('Scoped\x20to\x20the\x20challenge\x20you\x20opened.\x20Ask\x20freely\x20—')),console['log'](a0v['cyan'](af(0xbf))+a0v['gray'](af(0x1c1))),console[af(0x1cf)](a0v[af(0xc7)](af(0x11e))),console['log'](),console['log'](a0v[af(0xd8)](af(0x14d))),console[af(0x1cf)](a0v[af(0xbd)](af(0xef))+a0v[af(0x1cd)](af(0x158))),console[af(0x1cf)](a0v[af(0xbd)]('\x20\x20\x20\x20!<shell\x20cmd>\x20\x20\x20\x20')+a0v[af(0x1cd)]('Run\x20a\x20shell\x20command\x20(e.g.\x20!base64\x20-d\x20...)')),console[af(0x1cf)](a0v[af(0xbd)](af(0x175))+a0v[af(0x1cd)](af(0x1b0))),console[af(0x1cf)](a0v[af(0xbd)](af(0x117))+a0v[af(0x1cd)]('Leave\x20the\x20AI\x20teammate')),console[af(0x1cf)](),console[af(0x1cf)](a0v[af(0x1cd)](af(0x139))+a0v[af(0xbd)](af(0x1b4))+a0v[af(0x1cd)](af(0x163))+a0v[af(0xbd)]('ai4ctf')),w(),console[af(0x1cf)](a0v[af(0x1cd)](af(0x194)+R+')')),console[af(0x1cf)](a0v[af(0x1cd)](af(0xf9))),console[af(0x1cf)]();}(H,I),!(-0x3*-0x3ad+0x13cf+-0x1ed6);}()):(console['log'](),console['log'](a0v[a9(0xd8)](a9(0x1bf))),console['log'](a0v['gray'](a9(0x172))+a0v['white'](a9(0x1b3))+a0v[a9(0x1cd)](a9(0x180))+a0v['white']('open\x20<id>')),console[a9(0x1cf)](a0v[a9(0x1cd)](a9(0x1c7))),void console['log']());const A={};A['name']=a9(0x12d),A[a9(0x1d2)]=a9(0x1df);const B=A;try{h=await a0x(B);}catch(F){return void a0F(F['message']);}r=!(-0x3*0xabd+-0x1b8+-0x1ff*-0x11),u=0x1*-0x486+-0x3*-0x85f+-0x1497,y=!(-0x2*0x587+-0x1*0xf1+0xc00),console[a9(0x1cf)](),console[a9(0x1cf)](a0v[a9(0x16e)][a9(0x187)](a9(0x17f)+a0G(a9(0x15e))+'\x20═══')),console[a9(0x1cf)](),console[a9(0x1cf)](a0v[a9(0xbd)]('\x20\x20'+a0G(a9(0x102)))),console[a9(0x1cf)](),console['log'](a0v['cyan'](a9(0x155))),console[a9(0x1cf)](a0v[a9(0xc7)](a9(0xbf))+a0v['bold'][a9(0xbd)](a0G(a9(0xe7)))),console[a9(0x1cf)](a0v[a9(0xc7)](a9(0x129))),console[a9(0x1cf)](a0v['cyan'](a9(0xbf))+a0v['white'](a0G('ai4ctfIntercepted'))),console[a9(0x1cf)](a0v[a9(0xc7)]('\x20\x20│\x20')+a0v[a9(0x16e)](a9(0x1b5))),console['log'](a0v[a9(0xc7)](a9(0x129))),console[a9(0x1cf)](a0v['cyan'](a9(0xbf))+a0v['white'](a0G(a9(0xea)))),console['log'](a0v[a9(0xc7)](a9(0xbf))+a0v[a9(0x1cd)](a9(0x10a))),console[a9(0x1cf)](a0v[a9(0xc7)](a9(0x11e))),console[a9(0x1cf)](),console[a9(0x1cf)](a0v['white']('\x20\x20'+a0G(a9(0x1e9)))),console[a9(0x1cf)](),console[a9(0x1cf)](a0v[a9(0xd8)](a9(0x114))+a0v[a9(0x1cd)]('\x20\x20\x20\x20'+a0G(a9(0x10e)))),console[a9(0x1cf)](a0v[a9(0x1cd)](a9(0x160)+a0G('ai4ctfHintAUses'))),console[a9(0x1cf)](a0v['yellow'](a9(0x1bd))+a0v['gray']('\x20\x20\x20\x20'+a0G(a9(0x112)))),console[a9(0x1cf)](a0v['gray'](a9(0x160)+a0G('ai4ctfHintBUses'))),console[a9(0x1cf)](a0v['yellow'](a9(0x199))+a0v['gray'](a9(0xd1)+a0G(a9(0x118)))),console[a9(0x1cf)](a0v[a9(0x1cd)](a9(0x160)+a0G('ai4ctfHintCUses'))),console[a9(0x1cf)](),console[a9(0x1cf)](a0v[a9(0x1cd)](a9(0x168))),console[a9(0x1cf)](a0v[a9(0x187)]['white']('\x20\x20'+a0G(a9(0x1dc)))),console[a9(0x1cf)]('\x20\x20\x20\x20'+a0v[a9(0xc7)](a9(0x16c))+a0v[a9(0x1cd)]('\x20\x20\x20→\x20'+a0G('ai4ctfHintNudge'))),console[a9(0x1cf)]('\x20\x20\x20\x20'+a0v[a9(0xc7)](a9(0x149))+a0v['gray']('\x20\x20\x20→\x20'+a0G(a9(0x1a1)))),console['log']('\x20\x20\x20\x20'+a0v[a9(0xc7)](a9(0x13b))+a0v['gray'](a9(0xc6)+a0G(a9(0x181)))),console[a9(0x1cf)](a0v[a9(0x1cd)](a9(0xd1)+a0G(a9(0xe0)))),console['log'](),console[a9(0x1cf)](a0v[a9(0xbd)]('\x20\x20'+a0G(a9(0x125)))),console[a9(0x1cf)](a0v[a9(0x1cd)]('\x20\x20'+a0G(a9(0x18a))+'\x20')+a0v['white']('\x22what\x20encoding\x20is\x20this?\x22')),console[a9(0x1cf)](),console['log'](a0v[a9(0xd8)]('\x20\x20'+a0G(a9(0xc1)))),console[a9(0x1cf)](a0v[a9(0xbd)](a9(0x1d9))+a0v[a9(0x1cd)](a0G('ai4ctfCmdHintLine'))),console['log'](a0v[a9(0xbd)](a9(0x175))+a0v[a9(0x1cd)](a0G('ai4ctfSubmitCmd'))),console[a9(0x1cf)](a0v['white'](a9(0x1cb))+a0v[a9(0x1cd)](a0G(a9(0x10f)))),console[a9(0x1cf)](a0v[a9(0x1cd)](a9(0x1cc))+a0v[a9(0xbd)](a9(0x1e2))),console[a9(0x1cf)](a0v[a9(0x1cd)](a9(0x117)+a0G(a9(0xcf)))),console[a9(0x1cf)](),w(),console[a9(0x1cf)](a0v[a9(0x1cd)]('\x20\x20'+a0G('ai4ctfModel')+a9(0x123)+z+')')),console[a9(0x1cf)](a0v[a9(0x1cd)]('\x20\x20'+a0G(a9(0xde)))),console[a9(0x1cf)]();});}function a0j(){const ag=['C2vZC2LVBKnVB2TPzq','icdWN46jienVCNjLy3qHia','B3jcywnR','DgLTzw91Da','ywK0y3rMoIa','ywK0y3rMv3jVBMDgBgfN','icdILzdILzdILzaGquK0q1rgiokaLcbr','icdILzdILzdILzaG','ihrOzw4G','ywK0y3rMsgLUDfbYAw5JAxbSzq','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','icdINjmGuq','vg9Rzw5Z','y3rMngvHAq','iokvKokvKokvKa','yM9Sza','ywK0y3rMv3jHCff1B3rHrM9VDgvY','mtmXmJGYnZnhrvHHreC','ywK0y3rMt3jdAgf0rxHHBxbSzq','C2XPy2u','mZeWmda5EMjhy2jk','y3rMzfvYBa','icdILRGGia','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','icaKia','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','C2vZC2LVBJ0','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','ogXmsLnPsG','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','icaGigHPBNqGyW','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','ywK0y3rMv3jHCeXPBMuXsgvHza','C29Tzq','ywK0y3rMv3jHCfrPDgXL','ywK0y3rMrxHPDe5LEhrtDwi','nJyXmtG4Bhz4uu5m','yw5ZD2vYx2nOyw5Nzwq','ywK0y3rMsgLUDfrLy2HUAxf1zq','y2HHBgXLBMDLtMfTzq','BNvTyMvY','BwvZC2fNzq','y3vYCMvUDenOywXSzw5Nzu5HBwu','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','quKGyNvKz2v0icH0AgLZigfJy291BNqP','icbvC2fNztOG','Cu51Bq','igfUC3DLCIb1CgrHDgvKoIa','Bwf0y2G','icaGigv4Axq','icbfCNjVCJOG','igfNywLUihrVignOyw5NzsWGB3iG','y3vYCMvUDenOywXSzw5NzunHDgvNB3j5','u3vIBwL0igeGzMXHzYb0BYb0AguGBgL2zsbZy29YzwjVyxjK','ywK0y3rMv3jHCff1B3rHqKHPBNq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','y3rMigXPC3q','B3bLBIa8Awq+','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','ywK0y3rMv3jHCff1B3rHqW','icbdB21WzxrPDgLVBIbPCYbWyxvZzwqU','yMfJAW','ywK0y3rMuMv2zwfStg9JA05VDgu','C2vUze1LC3nHz2u','AM9PBG','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','icaGigHPBNqGyG','rNvSBcbXDwvZDgLVBJOGia','icboBYbJAgfSBgvUz2uGB3bLBIb5zxqU','icdILzdILzdILzaGquKGvgvHBw1HDguG4Pwq4Pwq4Pwq','DgHLiefjigD1AwrLCYWGAxqGD2LSBcbUB3qGAgfUzcb5B3uGDgHLigzSywCU','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','icbgBgfNigzVCM1HDdOG','y29TBwfUza','ywK0y3rMsgLUDefcB2r5','zw5JB2rPBMC','icbuAguGquKGDgvHBw1HDguGC2nVCgvZigL0C2vSzIb0BYb0AguGy2HHBgXLBMDLihLVDsbVCgvUlG','C3rYAw5NAwz5','zgvZy3jPChrPB24','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icaGice8C2HLBgWGy21KpIaGica','icaGicaGicaGicaGicaGicaGicbLlMCUia','z3jHEq','ywK0y3rMsgLUDencB2r5','Bg9N','y2XLyxi','DgHPBMTPBMC','y2f0zwDVCNK','Dg9mB3DLCKnHC2u','zxHHBsbXia','ywK0y3rMrxHPDe5LEhruAxrSzq','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','zMLUza','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','icaGigHPBNqGysaVigiGlYbJica','lI4VBgLIl2v4yw0TC3rHDguUANm','z2vTAw5Ptw9KzwW','ywK0y3rMv2vSy29Tzun0yq','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','ihb0CW','q3j5ChrVz3jHCgH5','z2v0q2HHBgXLBMDL','ywK0y3rMuMvWB3j0','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','CxvLC3rPB25Z','icdILRGG','cGPdsefmtevor0uGqLjjruy6cG','BgvUz3rO','igLZigeGBxvSDgLWBguTy2HVAwnLihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0Acbbl0iVqY9elG','CMvWzwf0','ywK0y3rMtgv2zwXZ','lI4VBgLIl2LUDgvNCML0Es1ZBMfWC2HVDc5QCW','icaGwW','Dw5RBM93BIbLCNjVCG','icaGicfWExrOB24Zic4UlG','icdcTYaGuMuTzw50zxi6ia','D2HPDgu','BwvUDq','icdILiiG','ihrVA2vUCYbSzwz0lG','ywK0y3rMq29TBwfUzhm','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','ywK0y3rMv3jHCe5LEhrtDwi','Aw5JBhvKzxm','icaGifbYzxzPB3vZoIa','icaG4OAsia','y3LHBG','ywK0y3rMvg9Rzw5Z','DgvZDa','ywK0y3rMv3jHCfr5CgvdDgy0ywK','icbdDxjYzw50igfUC3DLCJOG','ywK0y3rMtg9JA2vKvxnL','icdINjCGsw5JB3jYzwn0lIa','ywK0y3rM','ywK0y3rMrw5Ku2vZC2LVBG','icdINjmGqw5ZD2vYigzVCIbr','icaGia','icbzB3uGy2fUihn0AwXSoIa','ywK0y3rMrM91BMrgBgfN','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','ywK0y3rMuMv2zwfSvgL0Bgu','igLZigeGq1rgnefjihf1zxn0Aw9UicHHDhrHy2STDgHLlufjks4','icbB','EwvSBg93','C3bSAxq','mtC0oti3nLDoy3HoyW','ig9UifeZoq','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','iokaLca','ywK0y3rMrxHPDa','q29TBwfUzcbMywLSzwq','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','icaGicaGigHPBNqGyYaGia','ywK0y3rMsgLUDe5LEhrc','icaGig1LBNu','ywK0y3rMq29YCMvJDezSywC','zxHHBsbHBNn3zxiG','ywK0y3rMq2HHBgXLBMDL','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','CgfKrw5K','ywK0y3rMrgvJB2rL','C3vIBwL0idXMBgfNpG','ywK0y3rMsgLUDejcB2r5','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','BwLU','icaGidXQDxn0ihr5Cgu+icaGica','DxrMltG','vw5RBM93BG','icbozxH0oIa','ywK0y3rMv291BgrfyxjU','igLZigfUievTyM9KAwvKiefjicHfquKPihf1zxn0Aw9UlG','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','g1SXqrTBmKS','ywK0y3rMv3jHCeXPBMuYqM9KEq','y29UDgLUDwu','icbbssb1C2fNzsbPCYbTzxrLCMvKihbLCIbHy2nVDw50icHZzxj2zxiTzw5MB3jJzwqGyNvKz2v0ks4','icbbstrdveyGy2HHDcbPCYbHDMfPBgfIBguGB24GChjHy3rPy2fSihf1zxn0Aw9UCYaOBMv4DdOGuq','ihjLy29YzgvKoIa','ywK0y3rMv3jHCe5LEhruAxrSzq','icbsyxrLigXPBwL0zwqG4OcuihDHAxqGysbTB21LBNqGyMvMB3jLihrYEwLUzYbHz2fPBI4','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ixnOzwXS','lI4U','vw5RBM93BIbYzxnWB25Zzq','ywK0y3rMu2fTCgXL','icbr','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','DMXH','ywK0y3rMv3jHCff1B3rHqq','Cgf1C2vK','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','x2XHC3rr','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','icbvC2u6ia','CMvK','ywK0y3rMv3jHCff1B3rHq0HPBNq','ywK0y3rMsgLUDee','ywK0y3rMq21Ku2HLBgXmAw5L','mZmZnZmWt0jRqwzx','ywK0y3rMv3jHCeXPBMuXqM9KEq','ywK0y3rMsgLUDei','z2vTBweTnc0ZmwiTAxq','icaGigHPBNqGyq','ywK0y3rMv3jHCff1B3rHquHPBNq','ywLvC2fNzq','icaGigv4AxqGicaGicaGicaGica','ywK0y3rMsgLUDem','y3vYCMvUDenOywXSzw5NzuLK','yw5ZD2vYx3n1yM1PDhrLza','Aw50zxjHy3rPB25Z','cIaG','ywK0y3rMuMv2zwfSqM9KEq','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ieLdt0f7lI4UFq','CxvPDa','zxHPDa','icbuAgLUA2LUzY4UlG','oIbhB29NBguGr2vTBweGncaO','Dg9ju09tDhjPBMC','ywK0y3rMt3jdAgf0','quKGzxjYB3i6ia','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','C3vIBwL0qxr0zw1WDgvK','icdILii','AgfZ','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','sgLKzgvUie1LC3nHz2u','ywK0y3rMtg9JA2vKvgHLBG','C3rKB3v0','icbpCgvUigfUB3rOzxiGy2HHBgXLBMDLihDPDgGG','ywK0y3rMv3jHCe5LEhrcB2r5','CMvWBgfJzq','icaI','yxbWBgLJyxrPB24VANnVBG','Aw5JB3jYzwn0','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','icbtD2L0y2GGy2HHBgXLBMDLoIa','D3jPDgu','AgLUDcbJ','mJrPANf4vxa','CM91BMq','yxr0ywnOzwreyxrH','icaGicaGigHPBNqGysaGia','y3rMngfP','q29UDgvUDc1uExbL','lcbVCIbYzs1LBNrLCIb3AxrOia','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','mtK2oda3ohjlrM5Awa','icbbBhjLywr5ihnVBhzLzc4','ywn0Aw9U','ywK0y3rMuMv2zwfSu2vLrMXHzW','DhjPBq','AgLUDcbI','ywK0y3rMsgLUDe5LEhrb','DhLWzq','BM9KztPJAgLSzf9WCM9JzxnZ','icbdB21Tyw5KCW','BM93','ig5VDcbMB3vUzcbPBIbZDgf0zs4','icaGidiUia','Dgv4Da','ihrVig1VDMuGB24','ywK0y3rMvgHPBMTPBMC','E25VuhjVz30','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','y2f0y2G','lI4VBgLIl2n0zMqTy2XPzw50lMPZ','qxnRihrOzsbbssb0zwfTBwf0zsbHyM91Dcb0AgLZignOywXSzw5Nzq','icaGicaGigHPBNqGyIaGia','zw50zxjLzef0','C3rHCNrZv2L0Aa','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','C3vIBwL0ia','ywK0y3rMvgL0Bgu','imk3ia','icaGicaGicaGicaGica','sgLUDca','mJe0odK5mgHTtwfLAq','ihrOzw4GCMuTzw50zxiG','E2nTzh0','icaGica','C3vIBwL0rMXHzW','BNvKz2vtAg93BG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icbszxn1Bwu6ia','y29YCMvJDa','icaGideUia','AgLUDcbH','Dg9Rzw4','z3jLzw4','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','ue9tva','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHJCNLWDg8SihDLyIWGzM9Yzw5ZAwnZlcbWD24SihjLDMvYC2LUzYWGt1njtLqSihn0zwDVlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGy29Kzsb0AguGy29UDgvZDgfUDcb3CML0zxmGyw5Kihn1z2DLC3qGD2HPy2GGDg9VBcaVigXPyNjHCNKGlYb0zwnOBMLXDwuGDg8GDxnLlGOTifLVDsbnvvnuie5pvcbYzxzLywWGB3iGz3vLC3mGDgHLigzSywCSigfUzcbnvvnuie5pvcbVDxrWDxqGyw55igzSywCTC2HHCgvKihn0CMLUzYaOyw55DgHPBMCGBgLRzsbUyw1LEY4UlN0PlGOTifLVDsbnvvnuie5pvcbZB2X2zsb0AguGD2HVBguGy2HHBgXLBMDLigvUzc10BY1LBMqGzM9YihrOzsbJB250zxn0yw50iokaLcbNDwLKzsWGzg9Uj3qGAgfUzcbVDMvYihrOzsbHBNn3zxiUcI0Gs2vLCcbYzxnWB25ZzxmGy29Uy2LZzsbHBMqGChjHy3rPy2fSlIbuAguGy29UDgvZDgfUDcbPCYbYywnPBMCGDgHLignSB2nRlG','icbpCgvUig9UzsbMAxjZDdOG','yw5ZD2vYCW','Dg9Rzw5ZvxnLza','icaGihn1yM1PDca8zMXHzZ4Gica','ihbVAw50CYK6cG','Cg9PBNrZ'];a0j=function(){return ag;};return a0j();}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createInterface as o}from"node:readline";import chalk from"chalk";import{getMainRl as e}from"../lib/main-rl.js";import{getConfig as n}from"../lib/config.js";import{postMemo as t,postJury as r,sanitizeCommsLine as l}from"../lib/comms.js";const i={memo:{title:"📝 Report an issue",blurb:"One line, recorded with your ID. One-way — no reply.",prompt:chalk.yellow("icoa memo> ")},jury:{title:"⚖ Jury note",blurb:"Clarification / appeal — recorded with your ID, timestamped. Not a conversation.",prompt:chalk.yellow("icoa jury> ")}};async function s(s){const c=i[s],a=(n().userName||"you").toLowerCase(),m=[];let g=!0;console.log(),console.log(chalk.bold.yellow(` ${c.title}`)),console.log(chalk.gray(` ${c.blurb}`)),console.log(chalk.gray(" Type your line and press Enter. ")+chalk.white("back")+chalk.gray(" = home · ")+chalk.white("list")+chalk.gray(" = your records.")),console.log();const u=e(),p=null!==u,y=p?u.listeners("line").slice():[];p&&u.removeAllListeners("line");const d=p?u:o({input:process.stdin,output:process.stdout,terminal:!0});if(await new Promise(o=>{const e=()=>{d.setPrompt(c.prompt),d.prompt()};d.on("line",async n=>{const i=(n||"").trim();if("back"===i||"quit"===i||"q"===i)return void o();if("list"===i)return console.log(),0===m.length?console.log(chalk.gray(" (no records this session)")):m.forEach((o,e)=>console.log(chalk.gray(` #${e+1} `)+chalk.white(o))),console.log(),void e();const c=l(i);if(!c)return void e();const u="memo"===s?await t(c):await r(c);var p;console.log(),u.ok?(g&&(console.log(chalk.gray(` ${a}: `)+chalk.white(c)),g=!1),m.push(c),console.log(chalk.green(" ✓ Received — organizers have been notified.")),console.log(chalk.gray(` ${a} · ${s} #${u.id} · ${p=u.ts,(p?new Date(1e3*p):new Date).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})} (one-way, no reply)`))):429===u.status?console.log(chalk.yellow(" ⚠ ")+chalk.white(u.message||"Too many reports — slow down a moment.")):401===u.status?console.log(chalk.red(" Not signed in to the competition. Use ")+chalk.white("join <url>")+chalk.red(".")):console.log(chalk.red(" Could not send — check your connection and try again.")),console.log(),e()}),e()}),p){d.removeAllListeners("line");for(const o of y)d.on("line",o);console.log(),console.log(chalk.gray(" Back to competition home.")),d.prompt()}else d.close()}export function enterMemoScreen(){return s("memo")}export function enterJuryScreen(){return s("jury")}
|
package/dist/commands/ctf.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import chalk from"chalk";import{CTFdClient as e}from"../lib/ctfd-client.js";import{getConfig as o,saveConfig as t}from"../lib/config.js";import{postIntegritySnapshot as n}from"../lib/integrity-snapshot.js";import{logCommand as s,logSubmission as i}from"../lib/logger.js";import{getTranslation as a}from"../lib/translation.js";import{printSuccess as c,printError as l,printWarning as r,printInfo as d,printTable as g,printMarkdown as m,printHeader as p,printKeyValue as u,createSpinner as h,formatCountdown as y}from"../lib/ui.js";export function detectFlagFormat(e){if(!e)return null;const o=e.match(/flag\s*format\s*[::]?\s*`?([A-Za-z][A-Za-z0-9_]{0,20}\{[^}\n]{1,60}\})`?/i);return o?o[1]:null}function f(){const t=o();t.ctfdUrl&&(t.token||t.sessionCookie)||(l("Not connected to CTFd. Run: join <url>"),process.exit(1));const n=t.sessionCookie||"",s=t.token&&!t.token.includes("session=")?t.token:"";return{config:t,client:new e(t.ctfdUrl,s,n||t.token)}}export function registerCtfCommands(w){const b=w.command("ctf").description("Competition commands");b.command("join <url>").description("Connect to a CTFd instance").action(async n=>{let i=n.trim().replace(/\/+$/,"");function a(e,o){return new Promise(t=>{process.stdout.write(chalk.white(e));const n=!!process.stdin.isTTY&&!!process.stdin.isRaw,s=process.stdin.listeners("data").slice(),i=process.stdin.listeners("keypress").slice();for(const e of s)process.stdin.removeListener("data",e);for(const e of i)process.stdin.removeListener("keypress",e);process.stdin.isTTY&&process.stdin.setRawMode?.(!0),process.stdin.resume();let a="";const c=e=>{const l=e.toString(),r=e=>{process.stdin.isTTY&&process.stdin.setRawMode?.(n),process.stdin.removeListener("data",c);for(const e of s)process.stdin.on("data",e);for(const e of i)process.stdin.on("keypress",e);process.stdout.write("\n"),t(e)};"\n"===l||"\r"===l?r(a):""===l||"\b"===l?a.length>0&&(a=a.slice(0,-1),process.stdout.write("\b \b")):""===l?r(""):(a+=l,process.stdout.write(o||l))};process.stdin.on("data",c)})}i.startsWith("http://")||i.startsWith("https://")||(i=`https://${i}`),s(`ctf join ${i}`),console.log(),d(`Connecting to ${chalk.bold(i)}`);const g=await a(" Username: "),m=await a(" Password: ","*");let p="",y="",f="";const w=h("Logging in...");w.start();try{const o=new e(i,""),t=await o.loginWithCredentials(g,m);p=t.token,y=t.session,f=t.csrf,p?w.succeed("Login successful — API token auto-generated"):w.succeed("Login successful (session mode)")}catch(e){return w.fail("Login failed"),void l(e.message)}const b=h("Testing connection...");b.start();try{const n=new e(i,p,y,f),s=await n.testConnection();b.succeed("Connected successfully"),console.log(),u("User",s.name),u("Score",String(s.score||0)),s.team_id&&u("Team ID",String(s.team_id));try{const e=await n.getCompetitionMeta(),o={ctfdUrl:i,token:p||y,userId:s.id,userName:s.name,teamId:s.team_id,sessionCookie:y,country:s.country||""};e.start&&(o.competitionStartsAt=new Date(1e3*e.start).toISOString(),u("Starts",new Date(1e3*e.start).toLocaleString())),e.end&&(o.competitionEndsAt=new Date(1e3*e.end).toISOString(),u("Ends",new Date(1e3*e.end).toLocaleString()));const a=Date.now()/1e3;e.start&&a<e.start?o.competitionState="pre_competition":e.end&&a>e.end?o.competitionState="finished":o.competitionState="live",u("Status",o.competitionState),t(o)}catch{t({ctfdUrl:i,token:p,userId:s.id,userName:s.name,teamId:s.team_id})}console.log(),c("Connection saved. You are ready!"),console.log(),"olympiad"===(o().mode||"")?(console.log(chalk.cyan(" ─────────────────────────────────────────────")),console.log(chalk.bold.white(" How to compete:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse all challenges")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("open <id>")+chalk.gray(" Read challenge details")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan('hint "your question"')+chalk.gray(" Ask AI for help")),console.log(chalk.white(" Step 4 ")+chalk.bold.cyan("submit <id> <flag>")+chalk.gray(" Submit your answer")),console.log(),console.log(chalk.bold.yellow(" ★ Stuck on a tool? ")+chalk.bold.cyan("man <tool>")+chalk.gray(" how to use steghide / binwalk / nmap … (")+chalk.cyan("man tools")+chalk.gray(" = list)")),console.log(),console.log(chalk.gray(" More:")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" status")+chalk.gray(" Your score & timer")),console.log(chalk.white(" ai4ctf")+chalk.gray(" Free-chat with AI teammate")),console.log(chalk.cyan(" ─────────────────────────────────────────────"))):(console.log(chalk.gray(" Next:")),console.log(chalk.white(" exam list ")+chalk.gray("View available exams")),console.log(chalk.white(" challenges ")+chalk.gray("View CTF challenges")),console.log(chalk.white(" status ")+chalk.gray("Check score & timer")))}catch(e){/ACCOUNT_BLOCKED|banned|not enabled/i.test(e?.message||"")?(b.fail("This account cannot access the competition"),console.log(),l("Signed in OK, but the account is banned / disabled / not enabled. Try a different account, or contact the organizer."),t({ctfdUrl:i})):y?(b.succeed("Connected (session mode — limited API)"),t({ctfdUrl:i,token:y,userName:g,sessionCookie:y}),console.log(),u("User",g),r("API access limited. Some features may not work."),c("Connection saved.")):(b.fail("Connection test failed"),l(e.message),t({ctfdUrl:i}),console.log(),d(`Connection saved. Try: join ${i}`))}}),b.command("logout").description("Disconnect and clear credentials").action(()=>{s("ctf logout"),t({ctfdUrl:"",token:"",sessionCookie:"",userId:null,userName:"",teamId:null,country:""}),c("Logged out. Credentials cleared."),console.log(),console.log(chalk.gray(" What now?")),console.log(chalk.white(" join <url>")+chalk.gray(" Re-connect to competition")),console.log(chalk.white(" setup")+chalk.gray(" Switch mode")),console.log(chalk.white(" exit")+chalk.gray(" Quit ICOA CLI"))}),b.command("activate <code>").description("Validate competition code").action(async e=>{s(`ctf activate ${e}`),f();const n=h("Validating competition code...");n.start();try{const s=await fetch(`${o().ctfdUrl}/api/v1/icoa/activate`,{method:"POST",headers:{Authorization:`Token ${o().token}`,"Content-Type":"application/json"},body:JSON.stringify({code:e})});if(s.ok){const i=await s.json();n.succeed("Competition code validated"),t({competitionCode:e,teamId:i.data?.team_id||o().teamId,competitionState:"live"}),c(`Activated: ${e}`)}else n.succeed("Competition code saved"),t({competitionCode:e}),d("Code stored locally. Server validation will be attempted during competition.")}catch{n.succeed("Competition code saved"),t({competitionCode:e}),d("Code stored locally.")}}),b.command("challenges").description("List all challenges").action(async()=>{s("ctf challenges");const{client:e}=f(),o=h("Loading challenges...");o.start();try{const t=await e.getChallenges();if(o.stop(),!t||0===t.length)return void d("No challenges available yet.");const n=new Map;for(const e of t){const o=e.category||"Uncategorized";n.has(o)||n.set(o,[]),n.get(o).push(e)}const s=t.filter(e=>e.solved_by_me).length;p(`Challenges (${s}/${t.length} solved)`);const i={Web:"Find vulnerabilities in websites",Crypto:"Break ciphers & encryption",Reversing:"Analyze compiled programs",Rev:"Analyze compiled programs",Pwn:"Exploit binary vulnerabilities",Forensics:"Investigate digital evidence",Misc:"Creative & mixed challenges",OSINT:"Open-source intelligence gathering",AI:"AI security & adversarial ML"},a=e=>e<=100?chalk.green("Easy"):e<=250?chalk.yellow("Medium"):e<=500?chalk.red("Hard"):chalk.magenta("Expert"),c=[...n.entries()].sort(([e],[o])=>e.localeCompare(o)).flatMap(([e,o])=>{const t=i[e]||"";return[[t?`${chalk.cyan.bold(`── ${e} ──`)} ${chalk.gray(t)}`:chalk.cyan.bold(`── ${e} ──`),"","","",""],...o.sort((e,o)=>e.value-o.value).map(e=>[String(e.id),e.solved_by_me?chalk.gray.strikethrough(e.name):e.name,e.solved_by_me?chalk.gray(String(e.value)):chalk.yellow(String(e.value)),e.solved_by_me?chalk.gray("--"):a(e.value),e.solved_by_me?chalk.green("✓"):chalk.gray("○")])]});g(["#","Name","Points","Difficulty","Solved"],c),console.log(chalk.gray(` ${t.length} challenges, ${s} solved`)),0===s&&(console.log(),console.log(chalk.gray(" Tip: Start with ")+chalk.green("Easy")+chalk.gray(" challenges! Type ")+chalk.white("open <id>")+chalk.gray(" to read one.")))}catch(e){o.fail("Failed to load challenges"),l(e.message)}}),b.command("open <id>").description("View challenge details").action(async e=>{s(`ctf open ${e}`);const{config:o,client:n}=f(),i=h("Loading challenge...");i.start();try{const s=await n.getChallenge(parseInt(e,10));i.stop(),t({currentChallengeId:s.id,currentChallengeName:s.name,currentChallengeCategory:s.category}),p(`${s.name} [${s.category}]`),u("Points",String(s.value)),u("Solves",String(s.solves)),s.connection_info&&u("Connection",s.connection_info),console.log();let c=s.description;if("en"!==o.language)try{c=await a(c,s.id,o.language)}catch{}m(c);const l=detectFlagFormat(s.description);console.log(),l?console.log(chalk.bold.white(" Flag format: ")+chalk.green(l)):console.log(chalk.bold.white(" Flag format: ")+chalk.gray("submit the flag exactly as you receive it, including its ")+chalk.green("wrapper{...}")+chalk.gray(" — don't retype or add a prefix.")),s.files&&s.files.length>0&&(console.log(),d(`Files (${s.files.length}): use ${chalk.white(`files ${e}`)} to download`)),s.hints&&s.hints.length>0&&d(`CTFd Hints available: ${s.hints.length}`),s.connection_info&&(console.log(),d(`Quick connect: ${chalk.white(`connect ${e}`)}`));const r=!!s.connection_info&&/^https?:\/\//i.test(s.connection_info.trim());console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.white(" What to do next:")),r&&console.log(chalk.white(` connect ${e}`)+chalk.gray(" How to attack & submit — full guide")),console.log(chalk.white(' hint "how to start?"')+chalk.gray(" Ask the AI teammate (if enabled this round)")),s.files&&s.files.length>0&&console.log(chalk.white(` files ${e}`)+chalk.gray(" Download challenge files")),s.connection_info&&!r&&console.log(chalk.white(` connect ${e}`)+chalk.gray(" Connect to target")),console.log(chalk.white(` submit ${e} <flag>`)+chalk.gray(" Submit your answer (paste the full flag with its wrapper)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}catch(e){i.fail("Failed to load challenge"),l(e.message)}}),b.command("submit <id> <flag>").description("Submit a flag").action(async(e,o)=>{s(`ctf submit ${e}`),i(parseInt(e,10),o);const{client:t}=f(),a=h("Submitting flag...");a.start();try{const s=await t.submitFlag(parseInt(e,10),o);switch(a.stop(),s.status){case"correct":console.log(),console.log(chalk.green.bold(" 🎉 Correct! ")+chalk.white(s.message)),console.log();break;case"incorrect":l(`Incorrect. ${s.message}`);break;case"already_solved":r("Already solved.");break;case"paused":r("Competition is paused.");break;case"ratelimited":r("Rate limited. Please wait before trying again.");break;default:d(s.message||"Unknown response")}await n()}catch(e){a.fail("Submission failed"),l(e.message)}}),b.command("scoreboard [top]").description("View scoreboard (optional: top N)").action(async e=>{s("ctf scoreboard");const{config:o,client:t}=f(),n=h("Loading scoreboard...");n.start();try{const e=await t.getScoreboard();if(n.stop(),!e||0===e.length)return void d("Scoreboard is empty.");p("Scoreboard");const s=e.map(e=>{const t=e.account_id===o.teamId,n=[String(e.pos),e.name,String(e.score)];return t?n.map(e=>chalk.yellow.bold(e)):n});g(["Rank","Team","Score"],s)}catch(e){n.fail("Failed to load scoreboard"),l(e.message)}}),b.command("status").description("Show competition status").action(async()=>{s("ctf status");const{config:e,client:o}=f();p("Competition Status");const t={pre_competition:chalk.yellow,demo:chalk.blue,live:chalk.green,finished:chalk.red,unknown:chalk.gray},n=e.competitionState||"unknown",i=t[n]||chalk.gray;console.log(` ${chalk.gray("State:")} ${chalk.bold(i({pre_competition:"PRE-COMPETITION",demo:"DEMO",live:"LIVE",finished:"FINISHED",unknown:"UNKNOWN"}[n]||n))}`);try{const e=await o.testConnection();u("User",chalk.white.bold(e.name)),u("Score",chalk.yellow.bold(String(e.score||0))),u("Rank",chalk.cyan(e.place||"N/A"))}catch{u("User",e.userName||"Unknown")}if(e.competitionEndsAt){console.log();const o=new Date(e.competitionEndsAt);new Date<o?u("Time Remaining",chalk.yellow.bold(y(o))):u("Time",chalk.red("Competition ended"))}console.log()}),b.command("time").description("Show competition countdown").action(()=>{s("ctf time");const e=o();if(!e.competitionStartsAt&&!e.competitionEndsAt)return d("Competition times not configured."),void d("They will be set when the competition server provides timing information.");const t=new Date,n=e.competitionStartsAt?new Date(e.competitionStartsAt):null,i=e.competitionEndsAt?new Date(e.competitionEndsAt):null;if(p("Competition Timer"),n&&t<n){console.log(chalk.yellow(" Competition has not started yet.")),console.log();const e=()=>{process.stdout.write(`\r ${chalk.bold("Starts in:")} ${y(n)} `)};e();const o=setInterval(()=>{if(new Date>=n)return clearInterval(o),console.log(),void c("Competition has started! Good luck!");e()},1e3);process.on("SIGINT",()=>{clearInterval(o),console.log(),process.exit(0)})}else if(i&&t<i){console.log(chalk.green(" Competition is LIVE")),console.log();const e=()=>{process.stdout.write(`\r ${chalk.bold("Time remaining:")} ${y(i)} `)};e();const o=setInterval(()=>{if(new Date>=i)return clearInterval(o),console.log(),void r("Competition has ended!");e()},1e3);process.on("SIGINT",()=>{clearInterval(o),console.log(),process.exit(0)})}else console.log(chalk.red(" Competition has ended."))})}
|
|
1
|
+
import chalk from"chalk";import{CTFdClient as e}from"../lib/ctfd-client.js";import{getConfig as o,saveConfig as t}from"../lib/config.js";import{postIntegritySnapshot as n}from"../lib/integrity-snapshot.js";import{logCommand as s,logSubmission as i}from"../lib/logger.js";import{getTranslation as a}from"../lib/translation.js";import{printSuccess as c,printError as l,printWarning as r,printInfo as d,printTable as g,printMarkdown as m,printHeader as p,printKeyValue as h,createSpinner as u,formatCountdown as y}from"../lib/ui.js";export function detectFlagFormat(e){if(!e)return null;const o=e.match(/flag\s*format\s*[::]?\s*`?([A-Za-z][A-Za-z0-9_]{0,20}\{[^}\n]{1,60}\})`?/i);return o?o[1]:null}function w(){const t=o();t.ctfdUrl&&(t.token||t.sessionCookie)||(l("Not connected to CTFd. Run: join <url>"),process.exit(1));const n=t.sessionCookie||"",s=t.token&&!t.token.includes("session=")?t.token:"";return{config:t,client:new e(t.ctfdUrl,s,n||t.token)}}export function registerCtfCommands(f){const b=f.command("ctf").description("Competition commands");b.command("join <url>").description("Connect to a CTFd instance").action(async n=>{let i=n.trim().replace(/\/+$/,"");function a(e,o){return new Promise(t=>{process.stdout.write(chalk.white(e));const n=!!process.stdin.isTTY&&!!process.stdin.isRaw,s=process.stdin.listeners("data").slice(),i=process.stdin.listeners("keypress").slice();for(const e of s)process.stdin.removeListener("data",e);for(const e of i)process.stdin.removeListener("keypress",e);process.stdin.isTTY&&process.stdin.setRawMode?.(!0),process.stdin.resume();let a="";const c=e=>{const l=e.toString(),r=e=>{process.stdin.isTTY&&process.stdin.setRawMode?.(n),process.stdin.removeListener("data",c);for(const e of s)process.stdin.on("data",e);for(const e of i)process.stdin.on("keypress",e);process.stdout.write("\n"),t(e)};"\n"===l||"\r"===l?r(a):""===l||"\b"===l?a.length>0&&(a=a.slice(0,-1),process.stdout.write("\b \b")):""===l?r(""):(a+=l,process.stdout.write(o||l))};process.stdin.on("data",c)})}i.startsWith("http://")||i.startsWith("https://")||(i=`https://${i}`),s(`ctf join ${i}`),console.log(),d(`Connecting to ${chalk.bold(i)}`);const g=await a(" Username: "),m=await a(" Password: ","*");let p="",y="",w="";const f=u("Logging in...");f.start();try{const o=new e(i,""),t=await o.loginWithCredentials(g,m);p=t.token,y=t.session,w=t.csrf,p?f.succeed("Login successful — API token auto-generated"):f.succeed("Login successful (session mode)")}catch(e){return f.fail("Login failed"),void l(e.message)}const b=u("Testing connection...");b.start();try{const n=new e(i,p,y,w),s=await n.testConnection();b.succeed("Connected successfully"),console.log(),h("User",s.name),h("Score",String(s.score||0)),s.team_id&&h("Team ID",String(s.team_id));try{const e=await n.getCompetitionMeta(),o={ctfdUrl:i,token:p||y,userId:s.id,userName:s.name,teamId:s.team_id,sessionCookie:y,country:s.country||""};e.start&&(o.competitionStartsAt=new Date(1e3*e.start).toISOString(),h("Starts",new Date(1e3*e.start).toLocaleString())),e.end&&(o.competitionEndsAt=new Date(1e3*e.end).toISOString(),h("Ends",new Date(1e3*e.end).toLocaleString()));const a=Date.now()/1e3;e.start&&a<e.start?o.competitionState="pre_competition":e.end&&a>e.end?o.competitionState="finished":o.competitionState="live",h("Status",o.competitionState),t(o)}catch{t({ctfdUrl:i,token:p,userId:s.id,userName:s.name,teamId:s.team_id})}console.log(),c("Connection saved. You are ready!"),console.log();const a=o().mode||"";(s.name||"").trim().toUpperCase().startsWith("ZZRH")?(console.log(chalk.yellow(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" Team Leader console")),console.log(),console.log(chalk.white(" news")+chalk.gray(" Latest organizer broadcast")),console.log(chalk.white(" jury")+chalk.gray(" File a clarification / appeal (recorded)")),console.log(chalk.white(" time")+chalk.gray(" Event clock")),console.log(chalk.white(" status")+chalk.gray(" Event state")),console.log(chalk.white(" logout")+chalk.gray(" Sign out")),console.log(chalk.yellow(" ─────────────────────────────────────────────"))):"olympiad"===a?(console.log(chalk.cyan(" ─────────────────────────────────────────────")),console.log(chalk.bold.white(" How to compete:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse all challenges")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("open <id>")+chalk.gray(" Read challenge details")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan('hint "your question"')+chalk.gray(" Ask AI for help")),console.log(chalk.white(" Step 4 ")+chalk.bold.cyan("submit <id> <flag>")+chalk.gray(" Submit your answer")),console.log(),console.log(chalk.bold.yellow(" ★ Stuck on a tool? ")+chalk.bold.cyan("man <tool>")+chalk.gray(" how to use steghide / binwalk / nmap … (")+chalk.cyan("man tools")+chalk.gray(" = list)")),console.log(),console.log(chalk.gray(" More:")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" status")+chalk.gray(" Your score & timer")),console.log(chalk.white(" ai4ctf")+chalk.gray(" Free-chat with AI teammate")),console.log(chalk.white(" memo")+chalk.gray(" Report an issue with a challenge")),console.log(chalk.white(" news")+chalk.gray(" Show the latest organizer broadcast")),console.log(chalk.cyan(" ─────────────────────────────────────────────"))):(console.log(chalk.gray(" Next:")),console.log(chalk.white(" exam list ")+chalk.gray("View available exams")),console.log(chalk.white(" challenges ")+chalk.gray("View CTF challenges")),console.log(chalk.white(" status ")+chalk.gray("Check score & timer")))}catch(e){/ACCOUNT_BLOCKED|banned|not enabled/i.test(e?.message||"")?(b.fail("This account cannot access the competition"),console.log(),l("Signed in OK, but the account is banned / disabled / not enabled. Try a different account, or contact the organizer."),t({ctfdUrl:i})):y?(b.succeed("Connected (session mode — limited API)"),t({ctfdUrl:i,token:y,userName:g,sessionCookie:y}),console.log(),h("User",g),r("API access limited. Some features may not work."),c("Connection saved.")):(b.fail("Connection test failed"),l(e.message),t({ctfdUrl:i}),console.log(),d(`Connection saved. Try: join ${i}`))}}),b.command("logout").description("Disconnect and clear credentials").action(()=>{s("ctf logout"),t({ctfdUrl:"",token:"",sessionCookie:"",userId:null,userName:"",teamId:null,country:""}),c("Logged out. Credentials cleared."),console.log(),console.log(chalk.gray(" What now?")),console.log(chalk.white(" join <url>")+chalk.gray(" Re-connect to competition")),console.log(chalk.white(" setup")+chalk.gray(" Switch mode")),console.log(chalk.white(" exit")+chalk.gray(" Quit ICOA CLI"))}),b.command("activate <code>").description("Validate competition code").action(async e=>{s(`ctf activate ${e}`),w();const n=u("Validating competition code...");n.start();try{const s=await fetch(`${o().ctfdUrl}/api/v1/icoa/activate`,{method:"POST",headers:{Authorization:`Token ${o().token}`,"Content-Type":"application/json"},body:JSON.stringify({code:e})});if(s.ok){const i=await s.json();n.succeed("Competition code validated"),t({competitionCode:e,teamId:i.data?.team_id||o().teamId,competitionState:"live"}),c(`Activated: ${e}`)}else n.succeed("Competition code saved"),t({competitionCode:e}),d("Code stored locally. Server validation will be attempted during competition.")}catch{n.succeed("Competition code saved"),t({competitionCode:e}),d("Code stored locally.")}}),b.command("challenges").description("List all challenges").action(async()=>{s("ctf challenges");const{client:e}=w(),o=u("Loading challenges...");o.start();try{const t=await e.getChallenges();if(o.stop(),!t||0===t.length)return void d("No challenges available yet.");const n=new Map;for(const e of t){const o=e.category||"Uncategorized";n.has(o)||n.set(o,[]),n.get(o).push(e)}const s=t.filter(e=>e.solved_by_me).length;p(`Challenges (${s}/${t.length} solved)`);const i={Web:"Find vulnerabilities in websites",Crypto:"Break ciphers & encryption",Reversing:"Analyze compiled programs",Rev:"Analyze compiled programs",Pwn:"Exploit binary vulnerabilities",Forensics:"Investigate digital evidence",Misc:"Creative & mixed challenges",OSINT:"Open-source intelligence gathering",AI:"AI security & adversarial ML"},a=e=>e<=100?chalk.green("Easy"):e<=250?chalk.yellow("Medium"):e<=500?chalk.red("Hard"):chalk.magenta("Expert"),c=[...n.entries()].sort(([e],[o])=>e.localeCompare(o)).flatMap(([e,o])=>{const t=i[e]||"";return[[t?`${chalk.cyan.bold(`── ${e} ──`)} ${chalk.gray(t)}`:chalk.cyan.bold(`── ${e} ──`),"","","",""],...o.sort((e,o)=>e.value-o.value).map(e=>[String(e.id),e.solved_by_me?chalk.gray.strikethrough(e.name):e.name,e.solved_by_me?chalk.gray(String(e.value)):chalk.yellow(String(e.value)),e.solved_by_me?chalk.gray("--"):a(e.value),e.solved_by_me?chalk.green("✓"):chalk.gray("○")])]});g(["#","Name","Points","Difficulty","Solved"],c),console.log(chalk.gray(` ${t.length} challenges, ${s} solved`)),0===s&&(console.log(),console.log(chalk.gray(" Tip: Start with ")+chalk.green("Easy")+chalk.gray(" challenges! Type ")+chalk.white("open <id>")+chalk.gray(" to read one.")))}catch(e){o.fail("Failed to load challenges"),l(e.message)}}),b.command("open <id>").description("View challenge details").action(async e=>{s(`ctf open ${e}`);const{config:o,client:n}=w(),i=u("Loading challenge...");i.start();try{const s=await n.getChallenge(parseInt(e,10));i.stop(),t({currentChallengeId:s.id,currentChallengeName:s.name,currentChallengeCategory:s.category}),p(`${s.name} [${s.category}]`),h("Points",String(s.value)),h("Solves",String(s.solves)),s.connection_info&&h("Connection",s.connection_info),console.log();let c=s.description;if("en"!==o.language)try{c=await a(c,s.id,o.language)}catch{}m(c);const l=detectFlagFormat(s.description);console.log(),l?console.log(chalk.bold.white(" Flag format: ")+chalk.green(l)):console.log(chalk.bold.white(" Flag format: ")+chalk.gray("submit the flag exactly as you receive it, including its ")+chalk.green("wrapper{...}")+chalk.gray(" — don't retype or add a prefix.")),s.files&&s.files.length>0&&(console.log(),d(`Files (${s.files.length}): use ${chalk.white(`files ${e}`)} to download`)),s.hints&&s.hints.length>0&&d(`CTFd Hints available: ${s.hints.length}`),s.connection_info&&(console.log(),d(`Quick connect: ${chalk.white(`connect ${e}`)}`));const r=!!s.connection_info&&/^https?:\/\//i.test(s.connection_info.trim());console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.white(" What to do next:")),r&&console.log(chalk.white(` connect ${e}`)+chalk.gray(" How to attack & submit — full guide")),console.log(chalk.white(' hint "how to start?"')+chalk.gray(" Ask the AI teammate (if enabled this round)")),s.files&&s.files.length>0&&console.log(chalk.white(` files ${e}`)+chalk.gray(" Download challenge files")),s.connection_info&&!r&&console.log(chalk.white(` connect ${e}`)+chalk.gray(" Connect to target")),console.log(chalk.white(` submit ${e} <flag>`)+chalk.gray(" Submit your answer (paste the full flag with its wrapper)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}catch(e){i.fail("Failed to load challenge"),l(e.message)}}),b.command("submit <id> <flag>").description("Submit a flag").action(async(e,o)=>{s(`ctf submit ${e}`),i(parseInt(e,10),o);const{client:t}=w(),a=u("Submitting flag...");a.start();try{const s=await t.submitFlag(parseInt(e,10),o);switch(a.stop(),s.status){case"correct":console.log(),console.log(chalk.green.bold(" 🎉 Correct! ")+chalk.white(s.message)),console.log();break;case"incorrect":l(`Incorrect. ${s.message}`);break;case"already_solved":r("Already solved.");break;case"paused":r("Competition is paused.");break;case"ratelimited":r("Rate limited. Please wait before trying again.");break;default:d(s.message||"Unknown response")}await n()}catch(e){a.fail("Submission failed"),l(e.message)}}),b.command("scoreboard [top]").description("View scoreboard (optional: top N)").action(async e=>{s("ctf scoreboard");const{config:o,client:t}=w(),n=u("Loading scoreboard...");n.start();try{const e=await t.getScoreboard();if(n.stop(),!e||0===e.length)return void d("Scoreboard is empty.");p("Scoreboard");const s=e.map(e=>{const t=e.account_id===o.teamId,n=[String(e.pos),e.name,String(e.score)];return t?n.map(e=>chalk.yellow.bold(e)):n});g(["Rank","Team","Score"],s)}catch(e){n.fail("Failed to load scoreboard"),l(e.message)}}),b.command("status").description("Show competition status").action(async()=>{s("ctf status");const{config:e,client:o}=w();p("Competition Status");const t={pre_competition:chalk.yellow,demo:chalk.blue,live:chalk.green,finished:chalk.red,unknown:chalk.gray},n=e.competitionState||"unknown",i=t[n]||chalk.gray;console.log(` ${chalk.gray("State:")} ${chalk.bold(i({pre_competition:"PRE-COMPETITION",demo:"DEMO",live:"LIVE",finished:"FINISHED",unknown:"UNKNOWN"}[n]||n))}`);try{const e=await o.testConnection();h("User",chalk.white.bold(e.name)),h("Score",chalk.yellow.bold(String(e.score||0))),h("Rank",chalk.cyan(e.place||"N/A"))}catch{h("User",e.userName||"Unknown")}if(e.competitionEndsAt){console.log();const o=new Date(e.competitionEndsAt);new Date<o?h("Time Remaining",chalk.yellow.bold(y(o))):h("Time",chalk.red("Competition ended"))}console.log()}),b.command("time").description("Show competition countdown").action(()=>{s("ctf time");const e=o();if(!e.competitionStartsAt&&!e.competitionEndsAt)return d("Competition times not configured."),void d("They will be set when the competition server provides timing information.");const t=new Date,n=e.competitionStartsAt?new Date(e.competitionStartsAt):null,i=e.competitionEndsAt?new Date(e.competitionEndsAt):null;if(p("Competition Timer"),n&&t<n){console.log(chalk.yellow(" Competition has not started yet.")),console.log();const e=()=>{process.stdout.write(`\r ${chalk.bold("Starts in:")} ${y(n)} `)};e();const o=setInterval(()=>{if(new Date>=n)return clearInterval(o),console.log(),void c("Competition has started! Good luck!");e()},1e3);process.on("SIGINT",()=>{clearInterval(o),console.log(),process.exit(0)})}else if(i&&t<i){console.log(chalk.green(" Competition is LIVE")),console.log();const e=()=>{process.stdout.write(`\r ${chalk.bold("Time remaining:")} ${y(i)} `)};e();const o=setInterval(()=>{if(new Date>=i)return clearInterval(o),console.log(),void r("Competition has ended!");e()},1e3);process.on("SIGINT",()=>{clearInterval(o),console.log(),process.exit(0)})}else console.log(chalk.red(" Competition has ended."))})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0b(){const a4=['ihrVig1VDMuGB24','x2XHC3rr','CMvWB3j0qwjVDxriAw50','lZi1mdaWienurJrbssb0B2TLBNmGWRCG','AM9PBG','quKGzxjYB3i6ia','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILja','icbbBgWGndaGyw5ZD2vYzwqHia','y3rMngfPqNvKz2v0','CMvWB3j0u3rHz2uYu3vI','iokaLcb0ExbLia','CMvWB3j0uMvJmW','icdILii','z2vTAw5Ptw9KzwW','CxvLC3rPB24','y3rMngfPuhjVBxb0','icaI','mwTeq2XHCG','BNvTyMvY','CMv0CNK','y3rMngfPuMvSyxHLza','ChvZAa','yMfJAW','ihrVA2vUCYbSzwz0lG','CMvWB3j0uMv0CNLxCM9Uz05qBhvYywW','icbJDgy0ywK+ia','ww91igfYzsbHihnLy3vYAxr5lwHHCMrLBMvKiefjigfZC2LZDgfUDcbPBIbHienurJrbssbJAgfSBgvUz2uUcGPbqLnptfvursbsvuXfoIbzB3uGBxvZDcborvzfuIbZyxKGDgHLihDVCMqGiMTVywXHiIb1BMrLCIbHBNKGy2LYy3vTC3rHBMnLCY4klsbeBYbUB3qGC2f5icjRB2fSysiGAw4Gyw55igzVCM0SigfUEsbSyw5NDwfNzsWGyw55igvUy29KAw5NlGOTierVig5VDcbZCgvSBcbPDcbVDxqGBgv0DgvYigj5igXLDhrLCI4klsbeBYbUB3qGDxnLihn5BM9UEw1ZihrOyxqGzgLYzwn0BhKGCMvMzxjLBMnLigL0lGOTieLMigfZA2vKigfIB3v0ief1C3rYywXPyw4Gyw5PBwfSCYWGC2TPCcb0Agf0ihnWzwnPzMLJigfUAw1HBc4klsbjzIbHihvZzxiGDhjPzxmGDg8GDhjPy2SGEw91igLUDg8GC2f5Aw5NigL0lcbWB2XPDgvSEsbKzwnSAw5LlGOTiejLigHLBhbMDwWGyw5KignVBNzLCNnHDgLVBMfSigfIB3v0igv2zxj5DgHPBMCGzwXZzs4klsbzB3uGyxjLigf3yxjLihrOAxmGAxmGysbWCM9TChqGAw5Qzwn0Aw9UignOywXSzw5NzsbHBMqGDxnLCNmGD2LSBcb0CNKGDg8GDhjPy2SGEw91lGOkuMvTzw1Izxi6ihLVDxiGAM9IigLZihrVigjLigHLBhbMDwWGD2HPBguGtKvwrviGC2f5Aw5NihrOyxqGzM9YyMLKzgvUihDVCMqU','ywLvC2fNzq','nJe0nJmYovvRr1LbyW','D3jPDgu','icdIMQaG','zMLUza','icbiB3CGDg8Gyxr0ywnRihrOAxmGDgfYz2v0','y3rMngfPswrLyxm','icaGigfIB3v0','iokvKokvKokvKa','yw5ZD2vYx2nOyw5Nzwq','rNvSBcbXDwvZDgLVBJOGia','zxHHBsbZDwjTAxq','y3rMngvHAq','nteXmtKYnfbTDgDuBG','CMvWB3j0uMvJna','y3rMngfPswrLyti','CMvWBgfJzq','Dg9mB3DLCKnHC2u','DhLWzq','CMvWB3j0u3rHz2uY','CMvWB3j0u29SDMvK','zw5JB2rPBMC','g1SXqrTBmKS','q29TBwfUzcbMywLSzwq','igLZigfUiefjnenurIbXDwvZDgLVBIaOquKGAxmGEw91CIb0zwfTBwf0zsKU','y3rMngfPu3vJy2vZCW','CMvWB3j0rxHHBvnLDhvWsgLUDa','cGPzt1vsiejfsefwsu9soGOTiefJDcbLEgfJDgX5igfZihrOzsbZy2vUyxjPBYbKzxnJCMLIzxmUifLVDsbHCMuGyw4Gywr2zxjZyxjPywWGCM9Szs1WBgf5ihbHCNrUzxiUcI0GswyGDgHLihnJzw5HCMLVihnHExmGEw91igHVBgqGysbZzwnYzxqSihLVDsbOB2XKihrOyxqGC2vJCMv0lIbszxnPC3qGzxH0CMfJDgLVBIbHDhrLBxb0CYb1BMXLC3mGDgHLignVBNrLC3rHBNqNCYbWCM9TChqGz2vUDwLUzwX5igrLzMvHDhmGEw91CIbYDwXLCY4klsbeBYbot1qGyNjLywSGy2HHCMfJDgvYigfUzcbHBM5VDw5Jzsb0AguGzMXHzYbKAxjLy3rSEs4klsbeBYbot1qGB3v0Chv0ieLdt0f7lI4UFsbVCIbPy29HEY4UlN0GDw5KzxiGBM9YBwfSihf1zxn0Aw9UAw5NlGOTieLMihrOzsbJB250zxn0yw50ignSzwfYBhKGC29SDMvZihrOzsbJAgfSBgvUz2uGkguUzY4Sigv4zwn1DgvZigeGC3vJy2vZC2z1BcbWCM9TChqGAw5Qzwn0Aw9UksWGEw91ig1HEsbYzxzLywWGAw5MB3jTyxrPB24GCgvYihrOzsbZy2vUyxjPBYDZihj1BgvZlGOTiejLigHLBhbMDwWGD2HLCMuGDgHLihnJzw5HCMLVigfSBg93CYWGAg9ZDgLSzsb3AgvYzsbPDcbYzxf1AxjLCY4klsblzwvWihjLC3bVBNnLCYbZAg9YDcbHBMqGAw4Ty2HHCMfJDgvYlG','jsbVzIbdvey0quKGyNvKz2v0ihvZzwqG4Ocuig9UBhKGFG','y3rMngfPuxvPDa','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','CM91BMq','z2vTBweTnc0ZmwiTAxq','DxrMltG','lZi1mdaWicG','y3rMngfPtwLZC2LVBG','Dg9ju09tDhjPBMC','icbB','icaGicaGia','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','igfNywLUihrVignOyw5NzsWGB3iG','C2vUze1LC3nHz2u','ihb0CYKG4Pwq4Pwq4Pwq','y3rMngfPsgvSza','y3rMngfP','ywK0y3rMtw9KzwW','BwvZC2fNzq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','DhjPBq','Bg9N','EwvSBg93','y3rMngfPuNvSzq','y3LHBG','ieLdt0f7lI4UFq','y3rMngfPoIa','ywK0y3rMvg9Rzw5Z','y29TBwfUza','Dg9Rzw5ZvxnLza','CMvK','BgvUz3rO','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','icaGihn1yM1PDcbjq09bEY4UlN0','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','utqW','icbODhrWCZOVl2LJB2eYmdi2lMf1','D2HPDgu','icdIMQaGodaLig9MienurJrbssbIDwrNzxqGDxnLzc4','Dw5KzxjSAw5L','ognxrLD1sq','ywK0y3rM','Cg9PBNrZ','igLZigeGBxvSDgLWBguTy2HVAwnLihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0Acbbl0iVqY9elG','yxbWBgLJyxrPB24VANnVBG','ixnOzwXS','y3rMngfPswrLytq','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','icbdvey0quKGy2HHDcbLBMrLzcbMB3iGuq','ihrVA2vUC10','ywrK','imk3ia','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqUkq','icaGia','xsaGWRCGywr2zxjZyxjPywWGquK','CMvWzwf0','icdINjmGuq','zxHPDa','icbbstOG','yw5ZD2vYx3n1yM1PDhrLza','mZmXnduWodbQwejvwxK','lI4VBgLIl2v4yw0TC3rHDguUANm','uMv2Awv3icSGC3vIBwL0oIa','icbfCNjVCJOG','y2f0y2G','zgvZy3jPChrPB24','oIb+','ww91igfYzsb0AguGquKGvefsr0vuigLUigfUieLdt0eGmJaYnIbJEwjLCNnLy3vYAxr5igv4yw0UifrOzsbJB250zxn0yw50j3mGAM9IigLZihrVigf0DgfJAYb5B3uGywnJB3jKAw5NihrVihrOzsbZy2vUyxjPBYbIzwXVDY4kcLndru5buKLpicHr','zxHHBsbXia','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','CMvWB3j0uMvHzhK','icaGicaGica','y3rMngfPvgHPBMTPBMC','lI4U','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','CxvLC3rPB25Z','C3vIBwL0ieLdt0f7lI4UFq','icaG','icbdvey0quKGyxr0ywnRig1VzguGAxmGyxzHAwXHyMXLig9Uigf0DgfJAY10AguTquKGCxvLC3rPB25ZicHUzxH0oIbr','oIbhB29NBguGr2vTBweGncaO','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidi','DMXH','C2XPy2u','y3rMngfPrgvMzw5Zzq','CMvWB3j0rgvTBW','icaGig1LBNu','icaGigjHy2S','icdINjmGqw5ZD2vYigzVCIbr','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','y3rMngfPvgL0Bgu','Cu51Bq','icdIMQaGww91CIbdvey0quKGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','DgLTzw91Da','C29SDMvK','lIbuCNKGywDHAw4U','CMvWB3j0u3rHz2uX','igfUC3DLCIb1CgrHDgvKoIa','icbqCM9IAw5NiefjlI4U','y3rMngfPsw50CM8Y','icbtDgLSBcbHDMfPBgfIBgu6ia','DgvZDa','y3rMngfPqwXYzwfKEq','q1rgnefjierLBw8G4OcuifbYB21WDcbPBMPLy3rPB24Gy2HHBgXLBMDL','Aw50zxjHy3rPB25Z','mZC1nJb0q2Dbt28','mta1meHnzw5Qrq','Bwf0y2G','CgfKrw5K','zxHHBsbHBNn3zxiG','mZy4mdi3mwL5B1Pxuq','C3bSAxq','CMvWB3j0q29TCgXLDgvK','yM9Sza','Dgv4Da','CMvWB3j0uMvJmG','icdILiiG','icaGigv4Axq','icbr','icdWN5kQia','CxvPDa','z3jLzw4','icaGicfWExrOB24Zic4UlG','C3rYAw5NAwz5','y2f0zwDVCNK','ue9tva','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGica','CMvWB3j0uMvJmq','CMvWB3j0u3rHz2uZ','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','DgHLB3j5rg9Uzq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','y29UDgLUDwu','ihjLy29YzgvKoIa','C3rKB3v0','icdcTYa','BwvUDq','DgHLB3j5rg9Uzti','icbbzNrLCIbLEgL0oIa','CMvWB3j0tM90u29SDMvK','ihrVA2vUCYK','odC1ntiZwwDUv3fc','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILjG','icbkDw1WihrOzxjLoIa','ywn0Aw9U','icbbzNrLCIbLEgL0oIbHBgWGndaGyw5ZD2vYzwqG4OAsia','mtqZmdq0Cwz0u3ns','BwLU','icaKia','z3jHEq','AgfZ','yw5ZD2vYCW','E259','icdILzdILzdILzaG','Dg9Rzw5mAw1PDa'];a0b=function(){return a4;};return a0b();}(function(b,f){const U=a0f,h=b();while(!![]){try{const j=parseInt(U(0x228))/(0x4*0x618+-0x2f1*-0xa+-0x35c9)*(parseInt(U(0x20e))/(0xc19+0x2372+-0x2f89))+parseInt(U(0x209))/(0x1187+0xc65*-0x2+0x3a3*0x2)+parseInt(U(0x23f))/(-0x1*0xe57+0x50d*0x1+0x6*0x18d)+parseInt(U(0x1e5))/(-0x2018+0x1*0x69d+0x880*0x3)*(parseInt(U(0x1e4))/(0x1382+0x102e*-0x1+-0x34e))+parseInt(U(0x233))/(-0x75b*0x3+-0x24cb+-0x1*-0x3ae3)+-parseInt(U(0x277))/(-0x1*0xa6f+0x22a6+-0x182f*0x1)*(-parseInt(U(0x1e9))/(-0x1297*-0x1+0xb7+-0x1345))+-parseInt(U(0x1b8))/(0x2256*0x1+-0x45*0x7c+-0xe0);if(j===f)break;else h['push'](h['shift']());}catch(k){h['push'](h['shift']());}}}(a0b,0x18ade+0x58813+0x1*0x717a1));import a0h from'chalk';import{createChatSession as a0j}from'../lib/gemini.js';import{logCommand as a0k}from'../lib/logger.js';import{printError as a0p}from'../lib/ui.js';import{getConfig as a0q}from'../lib/config.js';import{getRetryQueue as a0v}from'../lib/demo-stats.js';import{t as a0w}from'../lib/i18n.js';function s(b,f){const V=a0f,h=a0q()[V(0x224)]||V(0x252),j=a0v(),k=!!(j&&j[V(0x26d)]>0x11f1+-0x1587+0x66*0x9);if(console[V(0x263)](),console[V(0x263)](a0h[V(0x266)](V(0x1fd))),console[V(0x263)](a0h['bold']['white'](V(0x1c9)+a0w('reportTitle'))),console[V(0x263)](a0h[V(0x266)](V(0x1fd))),console['log'](),console[V(0x263)](a0h['white']('\x20\x20'+a0w(V(0x1db)))),console[V(0x263)](a0h['green'](V(0x1b1)+a0w(V(0x1eb)))),console[V(0x263)](),console[V(0x263)](a0h[V(0x274)]('\x20\x20'+a0w(V(0x245)))),console[V(0x263)](a0h[V(0x1f4)]('\x20\x20\x20\x20'+a0w('reportExperienced'))),console[V(0x263)](a0h[V(0x211)](V(0x1b1)+a0w(V(0x220)))),console[V(0x263)](a0h[V(0x211)](V(0x1b1)+a0w('reportStage2Hints'))),console[V(0x263)](),console[V(0x263)](a0h[V(0x274)]('\x20\x20'+a0w(V(0x1fc)))),b?console[V(0x263)](a0h['green'](V(0x1b1)+a0w(V(0x246)))):console[V(0x263)](a0h[V(0x264)](V(0x1b1)+a0w(V(0x207)))),console[V(0x263)](a0h[V(0x211)](V(0x1b1)+a0w(V(0x269))+':\x20'+f+'/'+g)),console[V(0x263)](),console[V(0x263)](a0h[V(0x266)]('\x20\x20─────────────────────────────────────────────')),console[V(0x263)](),console['log'](a0h[V(0x1ec)][V(0x274)]('\x20\x20'+a0w('reportRecommend'))),console[V(0x263)](a0h['gray'](V(0x203)+a0w(V(0x1fb)))),console[V(0x263)](a0h[V(0x211)](V(0x203)+a0w(V(0x1ee)))),console[V(0x263)](a0h[V(0x211)]('\x20\x20·\x20'+a0w(V(0x222)))),console['log'](a0h[V(0x211)](V(0x203)+a0w(V(0x240)))),console['log'](),console[V(0x263)](a0h[V(0x211)]('\x20\x20'+a0w(V(0x25f))+':\x20Google\x20Gemma\x204\x20('+h+')')),console[V(0x263)](),console[V(0x263)](a0h[V(0x266)](V(0x250))),console[V(0x263)](),console[V(0x263)](a0h[V(0x274)]('\x20\x20'+a0w(V(0x1fe)))),console[V(0x263)](a0h[V(0x274)]('\x20\x20'+a0w(V(0x205)))),console[V(0x263)](),k&&(console[V(0x263)](a0h[V(0x274)](V(0x1f2)+a0w('reportRetryCta')+'\x20')+a0h['bold'][V(0x266)](V(0x22a))),console[V(0x263)]()),console[V(0x263)](a0h[V(0x266)]('\x20\x20─────────────────────────────────────────────')),console[V(0x263)](a0h[V(0x274)]('\x20\x20'+a0w(V(0x1c2)))),k){const p=j['length'],q=a0w(0x100e+0x1*-0x1049+0x3c===p?'reportRetryWrongN':V(0x22f));console[V(0x263)](a0h[V(0x266)]('\x20\x20\x20\x20retry')+a0h[V(0x211)](V(0x258)+q[V(0x242)](V(0x214),String(p))));}console[V(0x263)](a0h['cyan']('\x20\x20\x20\x20exam\x20setup')+a0h['gray']('\x20\x20'+a0w(V(0x24c)))),console[V(0x263)](a0h[V(0x274)](V(0x1d2))+a0h[V(0x211)](V(0x1c3)+a0w('reportBackHint'))),console[V(0x263)](a0h[V(0x274)]('\x20\x20\x20\x20demo')+a0h[V(0x211)](V(0x1c3)+a0w(V(0x1d0)))),console[V(0x263)](a0h[V(0x274)](V(0x239))+a0h[V(0x211)](V(0x258)+a0w(V(0x219)))),console['log'](),console[V(0x263)](a0h['yellow'](V(0x1cc))),console[V(0x263)](a0h[V(0x266)][V(0x276)](V(0x273))),console['log']();}let r=!(0x1e52+0x132f*-0x1+-0x1e*0x5f),i=null,c=0x836*0x1+-0x16ef+0x1*0xeb9;const g=0xbdc+0x204*-0xa+-0xa02*-0x2,y=0xe*0x4a7+-0x3*0x6af+0x3493;let u=null;export function isCtf4aiActive(){return r;}function a0f(a,b){a=a-(-0x1*0x202a+0x5*-0x778+-0x22*-0x218);const c=a0b();let d=c[a];if(a0f['XFelwg']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x11f1+-0x1587+0x66*0x9,o,p,q=0x100e+0x1*-0x1049+0x3b;p=i['charAt'](q++);~p&&(o=n%(0x1e52+0x132f*-0x1+-0x27*0x49)?o*(0x836*0x1+-0x16ef+0x1*0xef9)+p:p,n++%(0xbdc+0x204*-0xa+-0x428*-0x2))?l+=String['fromCharCode'](0x17*0x91+-0x1*0x403+-0x805&o>>(-(0x1*-0x16d7+0xe3*-0x21+0x341c)*n&0x24*-0x110+-0x1742+-0xb3*-0x58)):0x254f+-0x3fd+-0x355*0xa){p=j['indexOf'](p);}for(let r=0x305+0xa17+-0xd1c,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x1724+-0x1257+0x298b))['slice'](-(0xf8*-0x3+-0x45*0x2a+0x38f*0x4));}return decodeURIComponent(m);};a0f['LEOSkp']=e,a0f['aYYKFc']={},a0f['XFelwg']=!![];}const f=c[0x24*0x54+-0x2*-0x907+0x1*-0x1dde],g=a+f,h=a0f['aYYKFc'][g];return!h?(d=a0f['LEOSkp'](d),a0f['aYYKFc'][g]=d):d=h,d;}export async function handleCtf4aiMessage(f){const W=a0f;if(!i)return W(0x1b5);if(a0k(W(0x268)+f),u)return m(f);const h={};h['Content-Type']=W(0x27b);if(W(0x1b5)===f||W(0x22d)===f||W(0x1f3)===f||W(0x204)===f)return r=!(0x1*-0x16d7+0xe3*-0x21+0x341b),i=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':'POST','headers':h,'body':JSON[W(0x1f6)]({'type':W(0x25e),'solved':!(0x24*-0x110+-0x1742+-0xb5*-0x57),'tokensUsed':c,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[W(0x1d8)](0x254f+-0x3fd+-0x161*0xa)})['catch'](()=>{}),console[W(0x263)](),console[W(0x263)](a0h[W(0x211)]('\x20\x20'+a0w('ctf4aiEnded'))),s(!(0x305+0xa17+-0xd1b),c),W(0x1b5);if(c>=g)return console[W(0x263)](),console[W(0x263)](a0h[W(0x264)]('\x20\x20'+a0w(W(0x216)))),console[W(0x263)](a0h[W(0x274)]('\x20\x20'+a0w(W(0x25d)))),r=!(-0x1724+-0x1257+0x297c),i=null,fetch(W(0x1ff),{'method':W(0x1f8),'headers':{'Content-Type':W(0x27b)},'body':JSON[W(0x1f6)]({'type':'ctf4ai','solved':!(0xf8*-0x3+-0x45*0x2a+0xe3b*0x1),'tokensUsed':c,'timestamp':new Date()[W(0x256)]()}),'signal':AbortSignal[W(0x1d8)](0x24*0x54+-0x2*-0x907+0x1*-0xa56)})[W(0x1bc)](()=>{}),s(!(-0x7f4+0xdd2+0x13*-0x4f),c),'exit';try{console['log'](a0h[W(0x211)]('\x20\x20'+a0w(W(0x1c4))));const {text:j,tokensUsed:k}=await i[W(0x25b)](f);c+=k,process[W(0x202)][W(0x234)](W(0x248)),console['log'](),console['log'](a0h['white'](W(0x1b6))+j),console[W(0x263)](),console[W(0x263)](a0h[W(0x211)]('\x20\x20['+c+'/'+g+W(0x280)));const p=c>=(-0x9ba*-0x2+0x88f+-0x47*0x65+0.5)*g,q=/koala/i['test'](j),v=p&&/k[\s.\-_·*]+o[\s.\-_·*]+a[\s.\-_·*]+l[\s.\-_·*]+a/i[W(0x1e0)](j);return q||v?(console['log'](),console[W(0x263)](a0h[W(0x1f4)]['bold'](W(0x261))),console[W(0x263)](a0h[W(0x1f4)][W(0x1ec)]('\x20\x20'+a0w(W(0x24b)))),console[W(0x263)](a0h[W(0x1f4)][W(0x1ec)]('\x20\x20════════════════════════════════════')),console[W(0x263)](),console[W(0x263)](a0h[W(0x274)]('\x20\x20'+a0w(W(0x1cf)))),console[W(0x263)](a0h[W(0x211)]('\x20\x20'+a0w('ctf4aiInjection'))),r=!(0x2197+-0x97e+-0x18*0x101),i=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':W(0x1f8),'headers':{'Content-Type':W(0x27b)},'body':JSON[W(0x1f6)]({'type':W(0x25e),'solved':!(-0xc8f+-0x8*-0x232+-0x501),'tokensUsed':c,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[W(0x1d8)](0x3*0x5cb+-0x14ac+0x16d3*0x1)})[W(0x1bc)](()=>{}),s(!(0x1*0x22e4+-0x1*0x5d1+0x9*-0x33b),c),W(0x1d9)):'continue';}catch(w){return a0p(W(0x21c)+w[W(0x260)]),W(0x200);}}const d=new Set();async function m(h){const X=a0f;if(!u||!i)return X(0x1b5);const j=h[X(0x262)](),k=j[X(0x243)]();if(/^ICOA\{[^}]+\}$/i[X(0x1e0)](j))return m('submit\x20'+j);const p=j[X(0x1e6)](/^submit\s+(.+)/i);if(p){let q=p[0x1449+-0x2*0x7d+-0x134e*0x1][X(0x262)]();if(/^submit\s+/i[X(0x1e0)](q)&&(q=q[X(0x242)](/^submit\s+/i,'')[X(0x262)]()),q=q['replace'](/^["'`]+|["'`]+$/g,'')[X(0x262)](),/^[A-Da-d]$/[X(0x1e0)](q))return console[X(0x263)](),console[X(0x263)](a0h['yellow'](X(0x227)+q+'\x22\x20looks\x20like\x20an\x20MCQ\x20letter,\x20not\x20a\x20flag.')),console[X(0x263)](a0h[X(0x211)]('\x20\x20Flag\x20format:\x20')+a0h[X(0x1f4)]('ICOA{your_flag}')+a0h[X(0x211)](X(0x1da))),console[X(0x263)](),X(0x200);const {getExamState:v,saveExamState:w}=await import(X(0x1b9)),x=v();if(!x)return X(0x1b5);const z=x[X(0x213)][u[X(0x1d6)]];x[X(0x1e3)]||(x[X(0x1e3)]=[]),x[X(0x1e3)][X(0x22c)]({'ts':new Date()[X(0x256)](),'q':u[X(0x1d6)],'type':z?X(0x23b):X(0x1b7),'input':q,'result':'via\x20ctf4ai\x20chat'}),x[X(0x213)][u[X(0x1d6)]]=q;const A=u[X(0x1d6)]+(-0xd78+0x6b0+0x6c9);return x[X(0x218)]=A<=-0x4f*-0x1+-0x1*-0x1b98+-0x1*0x1bbf?A:u[X(0x1d6)],w(x),console['log'](),z?(console[X(0x263)](a0h[X(0x1f4)](X(0x1b4)+u[X(0x1d6)]+X(0x1dc))+a0h[X(0x264)](q)),console[X(0x263)](a0h[X(0x211)]('\x20\x20\x20\x20Previous:\x20'+z))):console[X(0x263)](a0h[X(0x1f4)][X(0x1ec)](X(0x1d3)+u[X(0x1d6)]+X(0x201)+q)),console['log'](a0h[X(0x211)](X(0x1b0))),console['log'](),console['log'](a0h[X(0x211)]('\x20\x20')+a0h['white'](X(0x1c8))+a0h[X(0x211)](X(0x25a))+a0h[X(0x274)](X(0x1b5))+a0h[X(0x211)](X(0x217))),A<=0xb4*-0x1c+0x135b+-0x1*-0x7d?console[X(0x263)](a0h['gray'](X(0x206))+a0h[X(0x26c)](X(0x25e))+a0h['gray']('\x20will\x20open\x20Q'+A)):console[X(0x263)](a0h[X(0x211)](X(0x20d))+a0h[X(0x266)](X(0x23d))),console[X(0x263)](),'continue';}if(h['startsWith']('!')){const B=h[X(0x1ce)](0x2*-0xb4e+0x1*-0x135e+-0x29fb*-0x1)[X(0x262)]();if(!B)return X(0x200);try{const C={};C[X(0x247)]=X(0x253),C[X(0x1d8)]=0x2710;const {execSync:D}=await import('node:child_process'),E=D(B,C)[X(0x262)]();console[X(0x263)](),console['log'](a0h['gray'](X(0x210))+a0h[X(0x274)](B)),console['log'](a0h[X(0x274)]('\x20\x20'+E[X(0x1ea)]('\x0a')[X(0x21b)]('\x0a\x20\x20'))),console[X(0x263)]();}catch(F){console['log'](),console[X(0x263)](a0h['red'](X(0x1bb)+(F[X(0x260)]?.[X(0x1ea)]('\x0a')[0x1*0x1f7d+0xa82*0x2+-0x3481*0x1]||X(0x249)))),console[X(0x263)]();}return'continue';}if(X(0x1b5)===k||X(0x22d)===k||X(0x1f3)===k||X(0x204)===k){const G=u[X(0x1d6)],{getExamState:H}=await import(X(0x1b9)),I=H(),J=I&&null!=I['answers'][G],K=I?.[X(0x218)]||G;return r=!(0x14ee+0x110c+-0x25f9),i=null,u=null,d['clear'](),console[X(0x263)](),console[X(0x263)](a0h[X(0x211)](X(0x27f)+G+'.')),J&&-0x1*0x566+-0x23e+-0x7*-0x11d===G&&K<=-0xb*0x33f+0x1*-0x1d8b+0x4168?console[X(0x263)](a0h['white']('\x20\x20Next:\x20')+a0h['bold']['red'](X(0x272))+a0h[X(0x211)](X(0x221))+a0h[X(0x26c)](X(0x25e))+a0h[X(0x211)]('\x20to\x20continue')):J&&0x281*-0x3+-0x1*-0x94f+-0x3c*0x7===G?console[X(0x263)](a0h[X(0x1ec)]['green'](X(0x21e))+a0h[X(0x211)](X(0x1ba))+a0h['cyan']('exam\x20review')+a0h['gray'](X(0x1af))+a0h[X(0x266)](X(0x23d))):console[X(0x263)](a0h[X(0x211)]('\x20\x20Resume:\x20')+a0h[X(0x274)](X(0x1c0)+G)+a0h[X(0x211)]('\x20\x20·\x20\x20Re-enter:\x20')+a0h[X(0x274)](X(0x25e))),console[X(0x263)](),X(0x1b5);}if(c>=y)return console[X(0x263)](),console[X(0x263)](a0h[X(0x26c)][X(0x1ec)]('\x20\x20⚠\x20CTF4AI\x20token\x20budget\x20exhausted\x20(25,000\x20used).')),console[X(0x263)](a0h[X(0x211)](X(0x1df))+a0h[X(0x274)]('submit\x20<flag>')+a0h[X(0x211)](X(0x1af))+a0h[X(0x274)](X(0x27c))+a0h[X(0x211)](X(0x1af))+a0h[X(0x274)](X(0x1b5))),console['log'](),X(0x200);console[X(0x263)](a0h['gray'](X(0x1dd)));try{const L=await i[X(0x25b)](h);process[X(0x202)][X(0x234)]('\x1b[1A\x1b[2K'),c+=L[X(0x26b)];const {getRealExamState:M,saveExamState:N}=await import(X(0x1b9)),O=M(),P={};P[X(0x278)]=0x0,P[X(0x25e)]=0x0,(O&&(O['aiUsage']||(O[X(0x232)]=P),O[X(0x232)][X(0x25e)]=c,N(O)),console['log'](),console[X(0x263)](a0h['white'](X(0x1b6))+L[X(0x1ed)]),console[X(0x263)]());const Q=Math[X(0x251)](c/y*(0x35*0x1+-0x24db+-0x250a*-0x1));console[X(0x263)](a0h['gray'](X(0x257)+c+X(0x21a)+Q+'%]')),function(R,S){const Y=X,T=R/S*(-0x1*0xf6+0x1*0x256f+0xc07*-0x3);T>=0xfb4+-0x1e9+-0xd6c&&!d[Y(0x212)]('95')?(console[Y(0x263)](a0h[Y(0x26c)]['bold'](Y(0x235)+Math[Y(0x251)](T)+Y(0x24e)+(S-R)+Y(0x22e))),d['add']('95')):T>=-0xd31+0x24ba+-0x1739&&!d['has']('80')?(console[Y(0x263)](a0h[Y(0x264)](Y(0x275))),d[Y(0x1ae)]('80')):T>=0xc61*0x1+-0x229b*-0x1+0x1765*-0x2&&!d[Y(0x212)]('50')&&(console[Y(0x263)](a0h[Y(0x211)]('\x20\x20Note:\x2050%\x20of\x20CTF4AI\x20budget\x20used.')),d[Y(0x1ae)]('50'));}(c,y),console['log']();}catch(R){process[X(0x202)][X(0x234)](X(0x248)),a0p('AI\x20error:\x20'+R['message']),console[X(0x263)]();}return X(0x200);}export function registerCtf4aiDemoCommand(b){const Z=a0f;b[Z(0x26a)](Z(0x25e))[Z(0x1bd)](Z(0x1e2))[Z(0x20c)](async()=>{const a0=Z;a0k(a0(0x25e));const {getRealExamState:f}=await import(a0(0x1b9)),h=f(),j=h?.[a0(0x1c7)]['some'](p=>'ctf4ai'===p['type']);if(h&&j){const p=h[a0(0x218)]||0x1a3*-0x16+-0x15be+-0xb8d*-0x5,q=h[a0(0x1c7)][a0(0x236)](v=>v['number']===p);if(!q)return void a0p('Q'+p+a0(0x271)+p);if(a0(0x25e)!==q[a0(0x244)]){if(console[a0(0x263)](),a0(0x278)===q[a0(0x244)])console['log'](a0h[a0(0x264)]('\x20\x20Q'+p+a0(0x24a))),console['log'](a0h[a0(0x211)]('\x20\x20Use:\x20')+a0h[a0(0x1ec)][a0(0x1f4)](a0(0x278)));else{if(a0(0x1cd)===q[a0(0x244)])console[a0(0x263)](a0h[a0(0x264)](a0(0x1f1)+p+'\x20is\x20an\x20Embodied\x20AI\x20(EAI)\x20question.')),console[a0(0x263)](a0h[a0(0x211)]('\x20\x20Use:\x20')+a0h[a0(0x1ec)][a0(0x266)](a0(0x23e)));else{const v=h['questions']['find'](w=>'ctf4ai'===w[a0(0x244)]);console['log'](a0h['yellow']('\x20\x20Q'+p+a0(0x27a))),v&&(console[a0(0x263)](a0h[a0(0x211)](a0(0x1ca)+v[a0(0x229)]+').')),console[a0(0x263)](a0h['gray'](a0(0x20b))+a0h[a0(0x1ec)][a0(0x266)](a0(0x1c0)+v[a0(0x229)])));}}return void console[a0(0x263)]();}return void await async function(w,x){const a1=a0,{getRealExamState:z}=await import(a1(0x1b9)),A=z();if(!A)return!(0x1*-0xa33+0x311*0x4+0x21*-0x10);const B=A['aiUsage']?.['ctf4ai']??-0x16c3*0x1+0x14b7+-0x83*-0x4;if(B>=y)return console[a1(0x263)](),console[a1(0x263)](a0h['yellow'](a1(0x1d7))),console[a1(0x263)](a0h[a1(0x211)]('\x20\x20Submit\x20directly:\x20')+a0h[a1(0x274)](a1(0x1e8)+w+a1(0x267))),console['log'](),!(0x32b*0x9+0x14*-0x1d0+0x7be);try{i=await a0j(void(0x16e+-0x1*0x1378+-0x2*-0x905),function(E,F){const a2=a1;return a2(0x1bf)+F+',\x20'+E[a2(0x1f7)]+',\x20'+(E[a2(0x279)]||0xb4*-0x1b+0x205d*-0x1+0x3*0x1123)+'\x20points):\x0a'+E[a2(0x1ed)]+a2(0x24d);}(x,w));}catch(E){return a0p(E[a1(0x260)]),!(-0xb26+0x213a+-0x1*0x1613);}const C={};C[a1(0x1d6)]=w,C[a1(0x225)]=x,(r=!(-0x61*0xe+0x1*-0x161b+0x923*0x3),c=B,u=C);const D=A['answers']?.[w];return function(F,G,H){const a3=a1,I=a0q()[a3(0x224)]||a3(0x252),J=c>-0xa66+-0x1*0x17a5+0x220b;console[a3(0x263)](),console[a3(0x263)](a0h['red'][a3(0x1ec)]('\x20\x20═══\x20CTF4AI\x20—\x20Q'+G+':\x20'+F[a3(0x1f7)]+'\x20('+(F[a3(0x279)]||-0x3*0xc13+0x1*-0xbdf+0x3028)+a3(0x25c))),J&&console[a3(0x263)](a0h[a3(0x211)](a3(0x1d4))),H&&console['log'](a0h[a3(0x211)]('\x20\x20Current\x20answer:\x20')+a0h[a3(0x264)](H)+a0h['gray'](a3(0x1c1))),console[a3(0x263)](),console[a3(0x263)](a0h[a3(0x26c)](a3(0x1f9))),console['log'](a0h['red'](a3(0x1ef))+a0h['bold'][a3(0x274)]('Q'+G+a3(0x257)+F[a3(0x1f7)]+a3(0x1b2))),console['log'](a0h['red']('\x20\x20│'));for(const P of String(F[a3(0x1ed)])['split']('\x0a')){const Q=P[a3(0x26d)]>0x10*-0xa1+-0x73c*-0x4+-0x12a4?P[a3(0x1ce)](0x1*-0x1f9f+-0x1*-0x1129+-0x4d2*-0x3,0x1*-0x79+0x1bc5+-0x1b13)+a3(0x1c5):P;console[a3(0x263)](a0h[a3(0x26c)](a3(0x1ef))+a0h['white'](Q));}console['log'](a0h['red'](a3(0x223))),console[a3(0x263)](a0h[a3(0x26c)](a3(0x1ef))+a0h['gray'](a3(0x23c))+a0h[a3(0x274)](a3(0x1c0)+G)),console[a3(0x263)](a0h['red'](a3(0x1ef))+a0h[a3(0x211)](a3(0x259))),console[a3(0x263)](a0h[a3(0x26c)](a3(0x1c6))),console[a3(0x263)](),console['log'](a0h[a3(0x1ec)][a3(0x274)](a3(0x237))),console[a3(0x263)](),console[a3(0x263)](a0h[a3(0x274)](a3(0x270))+a0h[a3(0x211)]('\x20Submit\x20the\x20extracted\x20flag')),console[a3(0x263)](a0h[a3(0x274)](a3(0x1f5))+a0h[a3(0x211)](a3(0x26e))),console[a3(0x263)](a0h[a3(0x211)]('\x20\x20\x20\x20Free-form\x20messages\x20go\x20to\x20the\x20AI\x20target\x20—\x20craft\x20your\x20prompts\x20carefully.')),console[a3(0x263)](),console[a3(0x263)](a0h[a3(0x211)](a3(0x1f0))+a0h[a3(0x211)](a3(0x26f))),console[a3(0x263)](a0h[a3(0x211)](a3(0x1d1))+a0h[a3(0x211)](a3(0x27e))),console[a3(0x263)]();const K=c,L=Math[a3(0x20f)](Math[a3(0x251)](K/(0x7*0x19a3+-0x6ca1+-0x65*-0x44)*(0x814+-0x246b+0x1cbb)),-0x83*0x39+0xec6+0xec9),M=Math[a3(0x251)](L/(-0x982+0x779+-0x1*-0x26d)*(0x11b+-0x238+0x131)),N=-0x13f6+-0x1b37+-0x1*-0x2f41-M,O=L>0x1*0x1f46+-0x20d0+-0x6*-0x4f?a0h['red']:L>0x5*0x71f+0x211*0x7+0x98*-0x54?a0h['yellow']:a0h[a3(0x1f4)];console['log'](a0h[a3(0x211)]('\x20\x20CTF4AI\x20section:\x20')+O('█'[a3(0x1b3)](M))+a0h[a3(0x211)]('░'[a3(0x1b3)](N))+a0h[a3(0x211)]('\x20'+K+a3(0x254)+L+'%)')),console[a3(0x263)](a0h[a3(0x211)]('\x20\x20Model:\x20Google\x20Gemma\x204\x20('+I+')')),console[a3(0x263)]();}(x,w,D),!(0x191*-0x7+-0x1*0x6ff+0x11f6);}(p,q);}if(r)return void console['log'](a0h['gray']('\x20\x20'+a0w(a0(0x1e1))));const k=a0q()[a0(0x224)]||'gemma-4-31b-it';console[a0(0x263)](),console[a0(0x263)](a0h['red'][a0(0x1ec)](a0(0x215)+a0w(a0(0x1d5))+a0(0x23a))),console[a0(0x263)](),console[a0(0x263)](a0h[a0(0x274)]('\x20\x20'+a0w('ctf4aiChallenge'))),console['log'](),console[a0(0x263)](a0h[a0(0x211)]('\x20\x20'+a0w('ctf4aiIntro1'))),console['log'](a0h[a0(0x211)]('\x20\x20'+a0w(a0(0x1de)))),console[a0(0x263)](),console['log'](a0h['gray'](a0(0x21d))),console[a0(0x263)](a0h[a0(0x211)](a0(0x223))+a0h['white'](('\x20\x20'+a0w(a0(0x265)))['padEnd'](0x5*-0x16e+0x29*-0x7a+0x1ae2))+a0h[a0(0x211)]('│')),console[a0(0x263)](a0h[a0(0x211)](a0(0x223))+a0h[a0(0x274)](('\x20\x20'+a0w(a0(0x255)))[a0(0x1e7)](-0x18b4+-0x703*-0x1+0x11e3))+a0h[a0(0x211)]('│')),console[a0(0x263)](a0h['gray'](a0(0x223))+a0h[a0(0x274)](a0(0x1fa))+a0h[a0(0x211)]('│')),console[a0(0x263)](a0h[a0(0x211)](a0(0x223))+a0h[a0(0x264)](('\x20\x20'+a0w(a0(0x238)))[a0(0x1e7)](0x28e*0x2+0x17*-0x10d+0x1341))+a0h[a0(0x211)]('│')),console[a0(0x263)](a0h[a0(0x211)](a0(0x223))+a0h[a0(0x211)](('\x20\x20·\x20'+a0w('ctf4aiIdea1'))[a0(0x1e7)](0x2035+0x62b+-0x262e))+a0h['gray']('│')),console['log'](a0h[a0(0x211)](a0(0x223))+a0h['gray']((a0(0x203)+a0w(a0(0x241)))[a0(0x1e7)](-0x1*0x21af+-0x268b+0x486c))+a0h[a0(0x211)]('│')),console[a0(0x263)](a0h['gray'](a0(0x223))+a0h[a0(0x211)](('\x20\x20·\x20'+a0w('ctf4aiIdea3'))[a0(0x1e7)](0x3*-0x628+0x1*0x1db3+-0x5*0x235))+a0h['gray']('│')),console['log'](a0h[a0(0x211)](a0(0x223))+a0h[a0(0x211)](('\x20\x20·\x20'+a0w(a0(0x27d)))[a0(0x1e7)](0x1ca1+0x2038+-0x3ca7*0x1))+a0h[a0(0x211)]('│')),console[a0(0x263)](a0h['gray'](a0(0x20a))),console[a0(0x263)](),console[a0(0x263)](a0h[a0(0x211)]('\x20\x20'+a0w(a0(0x21f))+a0(0x1be)+Math[a0(0x251)](g/(-0x61*0x3b+0x6de+0xf81))+'\x20words\x20('+g+a0(0x208))),console[a0(0x263)](a0h[a0(0x211)]('\x20\x20'+a0w(a0(0x22b)))),console[a0(0x263)](a0h['gray']('\x20\x20'+a0w(a0(0x25f))+a0(0x1cb)+k+')')),console[a0(0x263)](a0h[a0(0x211)]('\x20\x20'+a0w(a0(0x24f)))),console[a0(0x263)]();try{i=await a0j(void(0x5*-0x261+0x1*0x1ad5+-0xef0),a0(0x231)),r=!(-0x1f8f+0x1142+-0xe4d*-0x1),c=0x4*0x2d1+-0x3d*0x2f+-0x11,console[a0(0x263)](a0h[a0(0x26c)](a0(0x230))+a0h[a0(0x211)](''+a0w(a0(0x226)))),console[a0(0x263)]();}catch(w){a0p('Failed\x20to\x20start\x20CTF4AI:\x20'+w[a0(0x260)]);}});}
|
|
1
|
+
(function(b,f){const U=a0f,h=b();while(!![]){try{const j=parseInt(U(0x230))/(0x1b74+-0xf56+0x1*-0xc1d)+parseInt(U(0x2a0))/(0x29*-0x2b+0x2177+-0x1a92)+-parseInt(U(0x279))/(0xba0*-0x1+0x1021+-0x5*0xe6)+parseInt(U(0x29d))/(0x14fa+-0x1*0x1f63+0xa6d)+parseInt(U(0x23a))/(0x2e*0x4d+0x4f*-0x14+-0x7a5)+-parseInt(U(0x24a))/(0xbbb+0x26*0xa3+-0x23e7)+-parseInt(U(0x271))/(-0x2c1+0xf6c+-0xca4)*(parseInt(U(0x2a1))/(0x1ef8+0x2633+-0x4523));if(j===f)break;else h['push'](h['shift']());}catch(k){h['push'](h['shift']());}}}(a0b,0x153cb*-0x7+0x6787*-0x1f+-0x244f2f*-0x1));import a0h from'chalk';import{createChatSession as a0j}from'../lib/gemini.js';import{logCommand as a0k}from'../lib/logger.js';import{printError as a0p}from'../lib/ui.js';import{getConfig as a0q}from'../lib/config.js';import{getRetryQueue as a0v}from'../lib/demo-stats.js';import{t as a0w}from'../lib/i18n.js';function s(b,f){const V=a0f,h=a0q()[V(0x239)]||V(0x257),j=a0v(),k=!!(j&&j[V(0x24d)]>0x1d38+0x23*0x10d+-0x41ff);if(console[V(0x2a4)](),console[V(0x2a4)](a0h[V(0x26b)](V(0x243))),console[V(0x2a4)](a0h[V(0x2c2)][V(0x294)]('\x20\x20\x20'+a0w(V(0x281)))),console['log'](a0h[V(0x26b)](V(0x243))),console['log'](),console[V(0x2a4)](a0h[V(0x294)]('\x20\x20'+a0w(V(0x263)))),console[V(0x2a4)](a0h[V(0x240)](V(0x27a)+a0w('reportCompleted'))),console['log'](),console[V(0x2a4)](a0h[V(0x294)]('\x20\x20'+a0w('reportStage2'))),console[V(0x2a4)](a0h['green'](V(0x27a)+a0w(V(0x292)))),console[V(0x2a4)](a0h[V(0x1fb)](V(0x27a)+a0w(V(0x22b)))),console['log'](a0h[V(0x1fb)](V(0x27a)+a0w('reportStage2Hints'))),console[V(0x2a4)](),console[V(0x2a4)](a0h[V(0x294)]('\x20\x20'+a0w(V(0x2a5)))),b?console['log'](a0h[V(0x240)](V(0x27a)+a0w(V(0x23e)))):console[V(0x2a4)](a0h[V(0x1ff)](V(0x27a)+a0w(V(0x261)))),console[V(0x2a4)](a0h['gray']('\x20\x20\x20\x20'+a0w('ai4ctfTokens')+':\x20'+f+'/'+g)),console[V(0x2a4)](),console[V(0x2a4)](a0h[V(0x26b)](V(0x236))),console['log'](),console[V(0x2a4)](a0h[V(0x2c2)][V(0x294)]('\x20\x20'+a0w('reportRecommend'))),console[V(0x2a4)](a0h['gray']('\x20\x20·\x20'+a0w(V(0x1fc)))),console[V(0x2a4)](a0h['gray'](V(0x1f6)+a0w(V(0x21d)))),console[V(0x2a4)](a0h['gray'](V(0x1f6)+a0w(V(0x209)))),console[V(0x2a4)](a0h[V(0x1fb)]('\x20\x20·\x20'+a0w('reportRec4'))),console[V(0x2a4)](),console[V(0x2a4)](a0h[V(0x1fb)]('\x20\x20'+a0w(V(0x288))+':\x20Google\x20Gemma\x204\x20('+h+')')),console[V(0x2a4)](),console[V(0x2a4)](a0h[V(0x26b)]('\x20\x20─────────────────────────────────────────────')),console[V(0x2a4)](),console[V(0x2a4)](a0h[V(0x294)]('\x20\x20'+a0w('theoryDone'))),console['log'](a0h[V(0x294)]('\x20\x20'+a0w(V(0x245)))),console[V(0x2a4)](),k&&(console[V(0x2a4)](a0h[V(0x294)](V(0x277)+a0w(V(0x1f5))+'\x20')+a0h['bold'][V(0x26b)](V(0x206))),console['log']()),console[V(0x2a4)](a0h[V(0x26b)]('\x20\x20─────────────────────────────────────────────')),console[V(0x2a4)](a0h['white']('\x20\x20'+a0w(V(0x287)))),k){const p=j[V(0x24d)],q=a0w(-0x8f1+-0x25ba+-0x2eac*-0x1===p?V(0x234):V(0x24c));console[V(0x2a4)](a0h[V(0x26b)](V(0x29a))+a0h[V(0x1fb)](V(0x259)+q['replace'](V(0x2ba),String(p))));}console['log'](a0h[V(0x26b)](V(0x219))+a0h[V(0x1fb)]('\x20\x20'+a0w(V(0x237)))),console['log'](a0h[V(0x294)]('\x20\x20\x20\x20back')+a0h[V(0x1fb)](V(0x262)+a0w(V(0x2c0)))),console['log'](a0h[V(0x294)](V(0x274))+a0h['gray']('\x20\x20\x20\x20\x20\x20\x20\x20'+a0w('reportDemo'))),console['log'](a0h[V(0x294)]('\x20\x20\x20\x20about')+a0h[V(0x1fb)](V(0x259)+a0w(V(0x1fd)))),console[V(0x2a4)](),console['log'](a0h[V(0x1ff)](V(0x2b6))),console[V(0x2a4)](a0h[V(0x26b)]['underline'](V(0x28b))),console[V(0x2a4)]();}let r=!(0x195c+-0x1e3f+0x4e4),i=null,c=0x2*-0xfd3+-0x7*0x37f+-0x381f*-0x1;const g=-0x6e6+-0x2b7*-0xd+0x10ad*-0x1,y=0xa534+-0x8d86+0x49fa;let u=null;export function isCtf4aiActive(){return r;}function a0f(a,b){a=a-(0xe6b+-0x53+-0xc25);const c=a0b();let d=c[a];if(a0f['VCdOHi']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0xd0f*-0x1+-0x1*-0x1b43+0x12*-0xca,o,p,q=-0x169f+-0x8f1+0x1f90;p=i['charAt'](q++);~p&&(o=n%(-0x5b*-0x7+-0x241c+0x21a3)?o*(-0x148b+0x2*-0xfd3+-0xf*-0x37f)+p:p,n++%(0xfaa+-0x12a4*0x2+-0xd5*-0x1a))?l+=String['fromCharCode'](-0x17d5*-0x1+0x22d3+-0x39a9&o>>(-(0x1afc*-0x1+-0x59d+0x209b)*n&-0x35*-0x43+0x1*0x157d+0x11ab*-0x2)):-0x9bc+0x1fbe+0xb01*-0x2){p=j['indexOf'](p);}for(let r=-0x92b*-0x1+-0x1*-0x66d+-0xf98,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x1d*-0x12d+-0x12ca+0x1*0x34f3))['slice'](-(-0x15*0x35+-0x8e3+0xd3e));}return decodeURIComponent(m);};a0f['hIRrKP']=e,a0f['ZoKUtT']={},a0f['VCdOHi']=!![];}const f=c[-0x390*-0x8+-0x15b0+-0x6d0],g=a+f,h=a0f['ZoKUtT'][g];return!h?(d=a0f['hIRrKP'](d),a0f['ZoKUtT'][g]=d):d=h,d;}function a0b(){const a4=['nZaWmZCZnfLlzgTYCG','C3vIBwL0idXMBgfNpG','CMvWB3j0uMv0CNLxCM9Uz05qBhvYywW','BgvUz3rO','ue9tva','AgfZ','DhjPBq','y3rMngvHAq','icboB3rLoIa1mcuGB2yGq1rgnefjigj1zgDLDcb1C2vKlG','y3rMngfPvgL0Bgu','Cu51Bq','ieLdt0f7lI4UFq','rMfPBgvKihrVihn0yxj0ienurJrbstOG','z2vTBweTnc0ZmwiTAxq','yw5ZD2vYx2nOyw5Nzwq','icaGicaGia','q29TBwfUzcbMywLSzwq','CM91BMq','y29UDgLUDwu','icaGifbYzxzPB3vZoIa','icbqCM9IAw5NiefjlI4U','C3rHCNrZv2L0Aa','ww91igfYzsbHihnLy3vYAxr5lwHHCMrLBMvKiefjigfZC2LZDgfUDcbPBIbHienurJrbssbJAgfSBgvUz2uUcGPbqLnptfvursbsvuXfoIbzB3uGBxvZDcborvzfuIbZyxKGDgHLihDVCMqGiMTVywXHiIb1BMrLCIbHBNKGy2LYy3vTC3rHBMnLCY4klsbeBYbUB3qGC2f5icjRB2fSysiGAw4Gyw55igzVCM0SigfUEsbSyw5NDwfNzsWGyw55igvUy29KAw5NlGOTierVig5VDcbZCgvSBcbPDcbVDxqGBgv0DgvYigj5igXLDhrLCI4klsbeBYbUB3qGDxnLihn5BM9UEw1ZihrOyxqGzgLYzwn0BhKGCMvMzxjLBMnLigL0lGOTieLMigfZA2vKigfIB3v0ief1C3rYywXPyw4Gyw5PBwfSCYWGC2TPCcb0Agf0ihnWzwnPzMLJigfUAw1HBc4klsbjzIbHihvZzxiGDhjPzxmGDg8GDhjPy2SGEw91igLUDg8GC2f5Aw5NigL0lcbWB2XPDgvSEsbKzwnSAw5LlGOTiejLigHLBhbMDwWGyw5KignVBNzLCNnHDgLVBMfSigfIB3v0igv2zxj5DgHPBMCGzwXZzs4klsbzB3uGyxjLigf3yxjLihrOAxmGAxmGysbWCM9TChqGAw5Qzwn0Aw9UignOywXSzw5NzsbHBMqGDxnLCNmGD2LSBcb0CNKGDg8GDhjPy2SGEw91lGOkuMvTzw1Izxi6ihLVDxiGAM9IigLZihrVigjLigHLBhbMDwWGD2HPBguGtKvwrviGC2f5Aw5NihrOyxqGzM9YyMLKzgvUihDVCMqU','CMvWB3j0tM90u29SDMvK','icaGicaGica','CMvWB3j0u3rHz2uX','ihrVA2vUCYbSzwz0lG','y3rMngfPoIa','y3rMngfP','DgvZDa','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','iokaLcb0ExbLia','yw5ZD2vYCW','y3LHBG','x2XHC3rr','Dg9Rzw5ZvxnLza','sunpqxT5B3vYx2zSywD9','icaKia','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','ndK2mdCZmKvpswHOtq','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILja','icdIMQaGq1rgnefjihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','icaGigrLBw8','zxHHBsbXia','ihb0CYKG4Pwq4Pwq4Pwq','icdWN5kQia','icdIMQaG','mty3mZeYn09oDNzVuq','icaGia','ihrVA2vUC10','BwLU','C29SDMvK','ywrK','lI4U','y3rMngfPuxvPDa','CMvWB3j0vgL0Bgu','y3rMngfPqNvKz2v0','icdILii','icdINjmGuq','icaGig1LBNu','CxvLC3rPB25Z','CMvWB3j0uMvHzhK','ywK0y3rMtw9KzwW','icaGihn1yM1PDcbjq09bEY4UlN0','C3rKB3v0','icbODhrWCZOVl2LJB2eYmdi2lMf1','C2vUze1LC3nHz2u','iokvKokvKokvKa','g1SXqrTBmKS','icbtDgLSBcbHDMfPBgfIBgu6ia','ihDVCMrZicG','rNvSBcbXDwvZDgLVBJOGia','CMvWB3j0rxHWzxjPzw5Jzwq','y29TBwfUza','D2HPDgu','icbB','yxbWBgLJyxrPB24VANnVBG','y3rMngfPqwXYzwfKEq','y3rMngfPuNvSzq','y3rMngfPsgvSza','icaGihjLDhj5','icdILzdILzdILzaGq1rgnefjiokaLcbr','y2f0zwDVCNK','nZiYmZa2ogLHAhbTrq','CMvWzwf0','icbbzNrLCIbLEgL0oIbHBgWGndaGyw5ZD2vYzwqG4OAsia','mZC3ntGZmMTdsur5rq','mJrYuhvIChy','cGPzt1vsiejfsefwsu9soGOTiefJDcbLEgfJDgX5igfZihrOzsbZy2vUyxjPBYbKzxnJCMLIzxmUifLVDsbHCMuGyw4Gywr2zxjZyxjPywWGCM9Szs1WBgf5ihbHCNrUzxiUcI0GswyGDgHLihnJzw5HCMLVihnHExmGEw91igHVBgqGysbZzwnYzxqSihLVDsbOB2XKihrOyxqGC2vJCMv0lIbszxnPC3qGzxH0CMfJDgLVBIbHDhrLBxb0CYb1BMXLC3mGDgHLignVBNrLC3rHBNqNCYbWCM9TChqGz2vUDwLUzwX5igrLzMvHDhmGEw91CIbYDwXLCY4klsbeBYbot1qGyNjLywSGy2HHCMfJDgvYigfUzcbHBM5VDw5Jzsb0AguGzMXHzYbKAxjLy3rSEs4klsbeBYbot1qGB3v0Chv0ieLdt0f7lI4UFsbVCIbPy29HEY4UlN0GDw5KzxiGBM9YBwfSihf1zxn0Aw9UAw5NlGOTieLMihrOzsbJB250zxn0yw50ignSzwfYBhKGC29SDMvZihrOzsbJAgfSBgvUz2uGkguUzY4Sigv4zwn1DgvZigeGC3vJy2vZC2z1BcbWCM9TChqGAw5Qzwn0Aw9UksWGEw91ig1HEsbYzxzLywWGAw5MB3jTyxrPB24GCgvYihrOzsbZy2vUyxjPBYDZihj1BgvZlGOTiejLigHLBhbMDwWGD2HLCMuGDgHLihnJzw5HCMLVigfSBg93CYWGAg9ZDgLSzsb3AgvYzsbPDcbYzxf1AxjLCY4klsblzwvWihjLC3bVBNnLCYbZAg9YDcbHBMqGAw4Ty2HHCMfJDgvYlG','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','Bg9N','CMvWB3j0u3rHz2uZ','icdILzdILzdILzaG','C3bSAxq','icaGicfWExrOB24Zic4UlG','xsaGWRCGywr2zxjZyxjPywWGquK','Bwf0y2G','lI4VBgLIl2v4yw0TC3rHDguUANm','zgvZy3jPChrPB24','oIb+','zxHHBsbZDwjTAxq','y2XLyxi','D3jPDgu','icbbstOG','ihrVignVBNrPBNvL','oIbhB29NBguGr2vTBweGncaO','ywn0Aw9U','Aw50zxjHy3rPB25Z','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidi','ihDPBgWGB3bLBIbr','icbtDwjTAxqGzgLYzwn0BhK6ia','icdINjmGqw5ZD2vYigzVCIbr','E259','DhLWzq','y3rMngfPuhjVBxb0','cIaG','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILjG','icaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGica','CMvWB3j0qMfJA0HPBNq','CxvPDa','yM9Sza','y3rMngfPvgHPBMTPBMC','CgfKrw5K','CMvWB3j0uMv0CNLdDge','icdcTYa','quKGzxjYB3i6ia','CxvLC3rPB24','CMvK','imk3ia','z3jHEq','CMvWB3j0uMvJmq','CMvWB3j0qwjVDxriAw50','zxHPDa','EwvSBg93','y3rMngfPswrLyxm','icbkDw1WihrOzxjLoIa','icbfCNjVCJOG','Dgv4Da','lZi1mdaWicG','y3rMngfPswrLyti','CMv0CNK','Dg9Rzw5mAw1PDa','y3rMngfPq2HHBgXLBMDL','CMvWB3j0uMvJmW','icbdvey0quKGyxr0ywnRig1VzguGAxmGyxzHAwXHyMXLig9Uigf0DgfJAY10AguTquKGCxvLC3rPB25ZicHUzxH0oIbr','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icbszxn1Bwu6ia','y2f0y2G','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','BwvUDq','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','C3vIBwL0ia','icbr','BwvZC2fNzq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','DMXH','Cg9PBNrZ','y3rMngfPswrLytm','ifn1yM1PDcb0AguGzxH0CMfJDgvKigzSywC','icaGigv4yw0GC2v0Dxa','igLZigfUiefjnenurIbXDwvZDgLVBIaOquKGAxmGEw91CIb0zwfTBwf0zsKU','DgLTzw91Da','lIbuCNKGywDHAw4U','CMvWB3j0uMvJmG','igfNywLUihrVignOyw5NzsWGB3iG','y3rMngfPtwLZC2LVBG','Dg9ju09tDhjPBMC','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','ww91igfYzsb0AguGquKGvefsr0vuigLUigfUieLdt0eGmJaYnIbJEwjLCNnLy3vYAxr5igv4yw0UifrOzsbJB250zxn0yw50j3mGAM9IigLZihrVigf0DgfJAYb5B3uGywnJB3jKAw5NihrVihrOzsbZy2vUyxjPBYbIzwXVDY4kcLndru5buKLpicHr','icaGiezYzwuTzM9YBsbTzxnZywDLCYbNBYb0BYb0AguGquKGDgfYz2v0iokaLcbJCMfMDcb5B3vYihbYB21WDhmGy2fYzwz1BgX5lG','ixnOzwXS','icbdvey0quKGy2HHDcbLBMrLzcbMB3iGuq','icdILiiG','icbiB3CGDg8Gyxr0ywnRihrOAxmGDgfYz2v0','utqW','DMLHign0zJrHAsbJAgf0','q29UDgvUDc1uExbL','CMvWB3j0u3rHz2uYu3vI','DxrMltG','lZi1mdaWienurJrbssb0B2TLBNmGWRCG','C2XPy2u','icbbBgWGndaGyw5ZD2vYzwqHia','ndyXodC5wwLswezO','ihjLy29YzgvKoIa','BM9KztPJAgLSzf9WCM9JzxnZ','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqUkq','CMvWB3j0uMv0CNLxCM9Uz04','zMLUza','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','CMvWB3j0rxHHBvnLDhvWsgLUDa','C3rYAw5NAwz5','z2vTAw5Ptw9KzwW','mZiYmJy0nxjfDhDTBa','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','CMvWBgfJzq','zxHHBsbYzxzPzxC','CMvWB3j0u29SDMvK','q1rgnefjierLBw8G4OcuifbYB21WDcbPBMPLy3rPB24Gy2HHBgXLBMDL','z3jLzw4','y3rMngfPswrLytq','ywLvC2fNzq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icdIMQaGww91CIbdvey0quKGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','DgHLB3j5rg9Uzti','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','y3rMngfPrgvMzw5Zzq','icbJDgy0ywK+ia','igLZigeGBxvSDgLWBguTy2HVAwnLihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0Acbbl0iVqY9elG'];a0b=function(){return a4;};return a0b();}export async function handleCtf4aiMessage(f){const W=a0f;if(!i)return W(0x1fe);if(a0k(W(0x265)+f),u)return m(f);const h={};h[W(0x22a)]=W(0x296);if(W(0x1fe)===f||'back'===f||W(0x2c1)===f||W(0x20f)===f)return r=!(-0x59d*0x1+0x1498+0x47*-0x36),i=null,fetch(W(0x20e),{'method':W(0x24e),'headers':h,'body':JSON[W(0x238)]({'type':W(0x266),'solved':!(0x2*0x95f+0x25f*-0x5+-0x6e2),'tokensUsed':c,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[W(0x21b)](0x1fbe+0x265f*-0x1+0x1*0x1a29)})[W(0x20d)](()=>{}),console['log'](),console[W(0x2a4)](a0h['gray']('\x20\x20'+a0w('ctf4aiEnded'))),s(!(-0x1*-0x4e2+-0x19bb+0x14da),c),W(0x1fe);if(c>=g)return console['log'](),console['log'](a0h[W(0x1ff)]('\x20\x20'+a0w(W(0x207)))),console['log'](a0h[W(0x294)]('\x20\x20'+a0w(W(0x299)))),r=!(-0x3c2*0x5+0x2*0x132a+-0x1389),i=null,fetch(W(0x20e),{'method':W(0x24e),'headers':{'Content-Type':'application/json'},'body':JSON[W(0x238)]({'type':W(0x266),'solved':!(-0x8e3+0x1866+-0xf82),'tokensUsed':c,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[W(0x21b)](-0x390*-0x8+-0x15b0+0xcb8)})[W(0x20d)](()=>{}),s(!(0x2439*-0x1+-0x8*-0x300+0xc3a),c),W(0x1fe);try{console['log'](a0h['gray']('\x20\x20'+a0w(W(0x1f3))));const {text:j,tokensUsed:k}=await i[W(0x28c)](f);c+=k,process['stdout']['write']('\x1b[1A\x1b[2K'),console[W(0x2a4)](),console[W(0x2a4)](a0h[W(0x294)](W(0x2b1))+j),console[W(0x2a4)](),console[W(0x2a4)](a0h[W(0x1fb)](W(0x295)+c+'/'+g+W(0x27b)));const p=c>=(-0x3*-0xc7+-0x445*0x2+0x635+0.5)*g,q=/koala/i['test'](j),v=p&&/k[\s.\-_·*]+o[\s.\-_·*]+a[\s.\-_·*]+l[\s.\-_·*]+a/i[W(0x267)](j);return q||v?(console[W(0x2a4)](),console[W(0x2a4)](a0h['green'][W(0x2c2)](W(0x214))),console[W(0x2a4)](a0h[W(0x240)]['bold']('\x20\x20'+a0w('ctf4aiSuccess'))),console['log'](a0h[W(0x240)][W(0x2c2)](W(0x214))),console['log'](),console['log'](a0h[W(0x294)]('\x20\x20'+a0w(W(0x247)))),console['log'](a0h['gray']('\x20\x20'+a0w('ctf4aiInjection'))),r=!(0x180e+-0x1e78+0x35*0x1f),i=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':W(0x24e),'headers':{'Content-Type':W(0x296)},'body':JSON[W(0x238)]({'type':W(0x266),'solved':!(-0x67*-0x5b+0x493*0x7+0xa*-0x6dd),'tokensUsed':c,'timestamp':new Date()[W(0x220)]()}),'signal':AbortSignal[W(0x21b)](0xc0b*-0x2+0x1214+-0xe*-0x1d3)})[W(0x20d)](()=>{}),s(!(0xe*-0x3e+0x1a*0x3+-0xa*-0x4f),c),W(0x27d)):W(0x25c);}catch(w){return a0p(W(0x1f7)+w[W(0x213)]),W(0x25c);}}const d=new Set();async function m(h){const X=a0f;if(!u||!i)return X(0x1fe);const j=h[X(0x250)](),k=j['toLowerCase']();if(/^ICOA\{[^}]+\}$/i[X(0x267)](j))return m(X(0x211)+j);const p=j[X(0x2aa)](/^submit\s+(.+)/i);if(p){let q=p[0xccd+-0x18b8+0xbec][X(0x250)]();if(/^submit\s+/i[X(0x267)](q)&&(q=q[X(0x23c)](/^submit\s+/i,'')[X(0x250)]()),q=q[X(0x23c)](/^["'`]+|["'`]+$/g,'')[X(0x250)](),/^[A-Da-d]$/[X(0x267)](q))return console['log'](),console[X(0x2a4)](a0h[X(0x1ff)]('\x20\x20\x22'+q+'\x22\x20looks\x20like\x20an\x20MCQ\x20letter,\x20not\x20a\x20flag.')),console[X(0x2a4)](a0h['gray']('\x20\x20Flag\x20format:\x20')+a0h[X(0x240)](X(0x26e))+a0h[X(0x1fb)](X(0x21c))),console['log'](),X(0x25c);const {getExamState:v,saveExamState:w}=await import('../lib/exam-state.js'),x=v();if(!x)return X(0x1fe);const z=x[X(0x26a)][u[X(0x254)]];x[X(0x2b5)]||(x['interactions']=[]),x[X(0x2b5)]['push']({'ts':new Date()[X(0x220)](),'q':u[X(0x254)],'type':z?X(0x258):'answer_submitted','input':q,'result':X(0x229)}),x[X(0x26a)][u[X(0x254)]]=q;const A=u[X(0x254)]+(0xa81+0x2c*0x8d+0xab*-0x34);return x['_lastQ']=A<=-0x7*-0x4bd+-0xf89+-0x8bd*0x2?A:u[X(0x254)],w(x),console['log'](),z?(console['log'](a0h['green'](X(0x284)+u[X(0x254)]+'\x20answer\x20updated:\x20')+a0h[X(0x1ff)](q)),console['log'](a0h[X(0x1fb)](X(0x25d)+z))):console[X(0x2a4)](a0h[X(0x240)][X(0x2c2)](X(0x2b9)+u[X(0x254)]+X(0x231)+q)),console['log'](a0h[X(0x1fb)](X(0x233))),console[X(0x2a4)](),console[X(0x2a4)](a0h[X(0x1fb)]('\x20\x20')+a0h[X(0x294)]('submit\x20ICOA{...}')+a0h[X(0x1fb)](X(0x21e))+a0h[X(0x294)](X(0x1fe))+a0h[X(0x1fb)]('\x20to\x20move\x20on')),A<=0x1762+-0x13ea+0x4*-0xd4?console['log'](a0h[X(0x1fb)]('\x20\x20After\x20exit:\x20')+a0h['red'](X(0x266))+a0h[X(0x1fb)](X(0x2b7)+A)):console[X(0x2a4)](a0h[X(0x1fb)](X(0x29f))+a0h[X(0x26b)](X(0x2ae))),console[X(0x2a4)](),X(0x25c);}if(h[X(0x25f)]('!')){const B=h[X(0x22e)](0x19f6+0x133*0xf+-0x2bf2)[X(0x250)]();if(!B)return X(0x25c);try{const C={};C['encoding']=X(0x22c),C[X(0x21b)]=0x2710;const {execSync:D}=await import(X(0x232)),E=D(B,C)[X(0x250)]();console[X(0x2a4)](),console[X(0x2a4)](a0h['gray'](X(0x26f))+a0h['white'](B)),console[X(0x2a4)](a0h['white']('\x20\x20'+E[X(0x2a7)]('\x0a')['join'](X(0x2bd)))),console[X(0x2a4)]();}catch(F){console[X(0x2a4)](),console[X(0x2a4)](a0h[X(0x1f9)](X(0x202)+(F[X(0x213)]?.[X(0x2a7)]('\x0a')[-0x1*0x796+-0x1*-0x553+0x243]||X(0x25a)))),console[X(0x2a4)]();}return X(0x25c);}if(X(0x1fe)===k||'back'===k||'quit'===k||'menu'===k){const G=u['qNum'],{getExamState:H}=await import(X(0x2ab)),I=H(),J=I&&null!=I[X(0x26a)][G],K=I?.[X(0x26c)]||G;return r=!(-0x1fd*0x5+-0x1f9e*0x1+-0x10*-0x299),i=null,u=null,d[X(0x2af)](),console['log'](),console[X(0x2a4)](a0h['gray'](X(0x225)+G+'.')),J&&0x44a*-0x1+-0x1aac+0x5*0x639===G&&K<=0xbc9+-0x6*-0x33f+0x1*-0x1f1b?console[X(0x2a4)](a0h[X(0x294)]('\x20\x20Next:\x20')+a0h[X(0x2c2)][X(0x1f9)](X(0x228))+a0h['gray'](X(0x269))+a0h['red'](X(0x266))+a0h[X(0x1fb)](X(0x2b2))):J&&-0x2393+0x1166+0x13*0xf7===G?console[X(0x2a4)](a0h[X(0x2c2)]['green'](X(0x22f))+a0h[X(0x1fb)]('Review\x20+\x20submit:\x20')+a0h['cyan'](X(0x23d))+a0h[X(0x1fb)]('\x20·\x20')+a0h[X(0x26b)](X(0x2ae))):console[X(0x2a4)](a0h[X(0x1fb)](X(0x20c))+a0h[X(0x294)]('exam\x20q\x20'+G)+a0h[X(0x1fb)]('\x20\x20·\x20\x20Re-enter:\x20')+a0h['white'](X(0x266))),console[X(0x2a4)](),X(0x1fe);}if(c>=y)return console['log'](),console[X(0x2a4)](a0h[X(0x1f9)][X(0x2c2)](X(0x273))),console['log'](a0h[X(0x1fb)](X(0x28f))+a0h['white'](X(0x24b))+a0h[X(0x1fb)](X(0x1fa))+a0h[X(0x294)](X(0x224))+a0h[X(0x1fb)](X(0x1fa))+a0h['white'](X(0x1fe))),console[X(0x2a4)](),X(0x25c);console['log'](a0h[X(0x1fb)](X(0x25e)));try{const L=await i[X(0x28c)](h);process[X(0x28a)][X(0x2b0)](X(0x28e)),c+=L[X(0x26d)];const {getRealExamState:M,saveExamState:N}=await import(X(0x2ab)),O=M(),P={};P['ai4ctf']=0x0,P[X(0x266)]=0x0,(O&&(O[X(0x242)]||(O[X(0x242)]=P),O[X(0x242)]['ctf4ai']=c,N(O)),console[X(0x2a4)](),console[X(0x2a4)](a0h[X(0x294)](X(0x2b1))+L['text']),console[X(0x2a4)]());const Q=Math[X(0x25b)](c/y*(0x1*-0x2587+0x112c*0x1+-0x2f*-0x71));console[X(0x2a4)](a0h[X(0x1fb)]('\x20\x20['+c+X(0x22d)+Q+'%]')),function(R,S){const Y=X,T=R/S*(-0x77d+-0x22c4+0x3*0xe37);T>=0x1f8d+0xf8b+-0x2eb9&&!d['has']('95')?(console[Y(0x2a4)](a0h['red'][Y(0x2c2)](Y(0x278)+Math[Y(0x25b)](T)+'%\x20of\x20CTF4AI\x20budget\x20used\x20—\x20only\x20~'+(S-R)+Y(0x264))),d[Y(0x27e)]('95')):T>=-0x1*0x24ef+0x7f0+0x1d4f&&!d[Y(0x24f)]('80')?(console[Y(0x2a4)](a0h[Y(0x1ff)]('\x20\x20⚠\x2080%\x20of\x20CTF4AI\x20budget\x20used.')),d['add']('80')):T>=-0xedf*0x1+-0x1aa2+0x29b3&&!d['has']('50')&&(console[Y(0x2a4)](a0h['gray'](Y(0x252))),d['add']('50'));}(c,y),console[X(0x2a4)]();}catch(R){process[X(0x28a)][X(0x2b0)](X(0x28e)),a0p(X(0x1f7)+R[X(0x213)]),console[X(0x2a4)]();}return X(0x25c);}export function registerCtf4aiDemoCommand(b){const Z=a0f;b[Z(0x293)]('ctf4ai')[Z(0x2ac)](Z(0x23f))[Z(0x2b4)](async()=>{const a0=Z;a0k(a0(0x266));const {getRealExamState:f}=await import(a0(0x2ab)),h=f(),j=h?.[a0(0x286)]['some'](p=>a0(0x266)===p[a0(0x2bb)]);if(h&&j){const p=h[a0(0x26c)]||0x1*-0x2069+-0x2e3+0x7*0x50b,q=h[a0(0x286)][a0(0x235)](v=>v['number']===p);if(!q)return void a0p('Q'+p+a0(0x270)+p);if(a0(0x266)!==q[a0(0x2bb)]){if(console['log'](),'ai4ctf'===q[a0(0x2bb)])console[a0(0x2a4)](a0h[a0(0x1ff)]('\x20\x20Q'+p+a0(0x21a))),console['log'](a0h[a0(0x1fb)]('\x20\x20Use:\x20')+a0h[a0(0x2c2)]['green']('ai4ctf'));else{if(a0(0x215)===q[a0(0x2bb)])console[a0(0x2a4)](a0h[a0(0x1ff)](a0(0x212)+p+'\x20is\x20an\x20Embodied\x20AI\x20(EAI)\x20question.')),console[a0(0x2a4)](a0h[a0(0x1fb)]('\x20\x20Use:\x20')+a0h[a0(0x2c2)]['cyan'](a0(0x251)));else{const v=h[a0(0x286)][a0(0x235)](w=>a0(0x266)===w[a0(0x2bb)]);console[a0(0x2a4)](a0h[a0(0x1ff)](a0(0x212)+p+a0(0x249))),v&&(console[a0(0x2a4)](a0h[a0(0x1fb)](a0(0x20a)+v['number']+').')),console[a0(0x2a4)](a0h['gray'](a0(0x201))+a0h[a0(0x2c2)][a0(0x26b)](a0(0x275)+v['number'])));}}return void console[a0(0x2a4)]();}return void await async function(w,x){const a1=a0,{getRealExamState:z}=await import(a1(0x2ab)),A=z();if(!A)return!(0x2*0x805+0x1208+0x1*-0x2211);const B=A['aiUsage']?.[a1(0x266)]??-0xde4+0xf94+-0x10*0x1b;if(B>=y)return console[a1(0x2a4)](),console[a1(0x2a4)](a0h[a1(0x1ff)](a1(0x244))),console['log'](a0h['gray'](a1(0x2b8))+a0h[a1(0x294)]('exam\x20answer\x20'+w+a1(0x255))),console[a1(0x2a4)](),!(0x1*-0x20da+0x150a+0xb*0x113);try{i=await a0j(void(0x35a+-0x4c+-0x30e),function(E,F){const a2=a1;return a2(0x222)+F+',\x20'+E[a2(0x29c)]+',\x20'+(E[a2(0x216)]||0x1408+0x2*0x3c5+-0x1b82)+'\x20points):\x0a'+E[a2(0x203)]+a2(0x2a2);}(x,w));}catch(E){return a0p(E[a1(0x213)]),!(0x3*0x996+0x78b*-0x4+0x16b);}const C={};C['qNum']=w,C[a1(0x1f8)]=x,(r=!(-0x1bb3+0x1fd*0x13+-0xa14),c=B,u=C);const D=A['answers']?.[w];return function(F,G,H){const a3=a1,I=a0q()[a3(0x239)]||a3(0x257),J=c>0x4dd*-0x1+-0x2*0x1195+0x2807*0x1;console[a3(0x2a4)](),console[a3(0x2a4)](a0h[a3(0x1f9)][a3(0x2c2)](a3(0x29b)+G+':\x20'+F[a3(0x29c)]+'\x20('+(F[a3(0x216)]||0x6e3+0x13d6+-0x1aa9)+a3(0x276))),J&&console['log'](a0h[a3(0x1fb)]('\x20\x20(resuming\x20—\x20prior\x20chat\x20is\x20not\x20remembered,\x20but\x20tokens\x20already\x20used\x20stay\x20deducted)')),H&&console[a3(0x2a4)](a0h['gray']('\x20\x20Current\x20answer:\x20')+a0h['yellow'](H)+a0h[a3(0x1fb)](a3(0x221))),console['log'](),console[a3(0x2a4)](a0h['red'](a3(0x20b))),console[a3(0x2a4)](a0h[a3(0x1f9)](a3(0x226))+a0h[a3(0x2c2)][a3(0x294)]('Q'+G+a3(0x295)+F[a3(0x29c)]+a3(0x2a9))),console[a3(0x2a4)](a0h[a3(0x1f9)]('\x20\x20│'));for(const P of String(F[a3(0x203)])['split']('\x0a')){const Q=P[a3(0x24d)]>-0x47*-0x71+0xb78+-0x2a93?P[a3(0x22e)](-0x1dbf*-0x1+0x13bb+-0x2*0x18bd,0x6b1+0x317*0x2+-0xca6)+a3(0x27f):P;console[a3(0x2a4)](a0h['red'](a3(0x226))+a0h[a3(0x294)](Q));}console[a3(0x2a4)](a0h[a3(0x1f9)]('\x20\x20│')),console['log'](a0h['red'](a3(0x226))+a0h[a3(0x1fb)](a3(0x291))+a0h[a3(0x294)](a3(0x275)+G)),console[a3(0x2a4)](a0h[a3(0x1f9)](a3(0x226))+a0h['gray'](a3(0x2a3))),console[a3(0x2a4)](a0h['red'](a3(0x268))),console['log'](),console[a3(0x2a4)](a0h[a3(0x2c2)][a3(0x294)](a3(0x227))),console[a3(0x2a4)](),console['log'](a0h[a3(0x294)](a3(0x289))+a0h[a3(0x1fb)](a3(0x218))),console[a3(0x2a4)](a0h['white'](a3(0x2a8))+a0h[a3(0x1fb)](a3(0x23b))),console['log'](a0h[a3(0x1fb)](a3(0x223))),console[a3(0x2a4)](),console[a3(0x2a4)](a0h[a3(0x1fb)]('\x20\x20\x20\x20exit')+a0h[a3(0x1fb)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Leave\x20chat,\x20return\x20to\x20exam')),console[a3(0x2a4)](a0h[a3(0x1fb)](a3(0x285))+a0h[a3(0x1fb)](a3(0x210))),console[a3(0x2a4)]();const K=c,L=Math[a3(0x27c)](Math['round'](K/(-0xc53+-0x4b*0x287+0x12b88)*(-0x198b*0x1+0xf*-0xd+0x1ab2)),-0x14a2+0x2*-0xa6a+-0x16*-0x1e7),M=Math['round'](L/(0x7*-0x501+-0x1*-0x86d+0x1afe)*(-0x1564+0x2*-0xb2a+0x2bcc)),N=-0x22f6*0x1+-0x5bb*-0x3+0x5f3*0x3-M,O=L>0x1*-0x19bd+-0x1dd9+0x37e6?a0h[a3(0x1f9)]:L>0x88c+0xb3e+-0x1398?a0h[a3(0x1ff)]:a0h['green'];console[a3(0x2a4)](a0h[a3(0x1fb)]('\x20\x20CTF4AI\x20section:\x20')+O('█'[a3(0x29e)](M))+a0h[a3(0x1fb)]('░'[a3(0x29e)](N))+a0h[a3(0x1fb)]('\x20'+K+a3(0x204)+L+'%)')),console[a3(0x2a4)](a0h[a3(0x1fb)](a3(0x246)+I+')')),console['log']();}(x,w,D),!(-0x393+-0x1648+0x19db);}(p,q);}if(r)return void console[a0(0x2a4)](a0h[a0(0x1fb)]('\x20\x20'+a0w(a0(0x297))));const k=a0q()[a0(0x239)]||a0(0x257);console[a0(0x2a4)](),console[a0(0x2a4)](a0h['red']['bold'](a0(0x2a6)+a0w(a0(0x253))+a0(0x28d))),console[a0(0x2a4)](),console['log'](a0h['white']('\x20\x20'+a0w(a0(0x208)))),console['log'](),console['log'](a0h['gray']('\x20\x20'+a0w('ctf4aiIntro1'))),console[a0(0x2a4)](a0h[a0(0x1fb)]('\x20\x20'+a0w('ctf4aiIntro2'))),console[a0(0x2a4)](),console['log'](a0h['gray'](a0(0x272))),console['log'](a0h['gray'](a0(0x283))+a0h[a0(0x294)](('\x20\x20'+a0w(a0(0x298)))['padEnd'](-0x13d*0x17+-0x361+0x16*0x175))+a0h[a0(0x1fb)]('│')),console[a0(0x2a4)](a0h[a0(0x1fb)](a0(0x283))+a0h[a0(0x294)](('\x20\x20'+a0w(a0(0x21f)))[a0(0x1f4)](-0x1*0xc83+-0xf5c+0x3*0x95b))+a0h[a0(0x1fb)]('│')),console[a0(0x2a4)](a0h[a0(0x1fb)](a0(0x283))+a0h[a0(0x294)](a0(0x2bf))+a0h[a0(0x1fb)]('│')),console[a0(0x2a4)](a0h[a0(0x1fb)]('\x20\x20│')+a0h['yellow'](('\x20\x20'+a0w(a0(0x200)))[a0(0x1f4)](-0x1918+-0xd95+0xcf5*0x3))+a0h[a0(0x1fb)]('│')),console[a0(0x2a4)](a0h['gray']('\x20\x20│')+a0h[a0(0x1fb)]((a0(0x1f6)+a0w('ctf4aiIdea1'))['padEnd'](-0x1*-0x1c49+0x1*-0x87d+0x139a*-0x1))+a0h[a0(0x1fb)]('│')),console[a0(0x2a4)](a0h[a0(0x1fb)](a0(0x283))+a0h[a0(0x1fb)](('\x20\x20·\x20'+a0w(a0(0x205)))[a0(0x1f4)](0x1d46+0xd5f+-0x2a73))+a0h[a0(0x1fb)]('│')),console[a0(0x2a4)](a0h[a0(0x1fb)](a0(0x283))+a0h[a0(0x1fb)](('\x20\x20·\x20'+a0w(a0(0x217)))['padEnd'](-0x2d0+0x1*-0x2029+-0xbb9*-0x3))+a0h[a0(0x1fb)]('│')),console[a0(0x2a4)](a0h[a0(0x1fb)]('\x20\x20│')+a0h[a0(0x1fb)](('\x20\x20·\x20'+a0w(a0(0x241)))[a0(0x1f4)](0x1*-0x3fb+0x271+0x1bc))+a0h[a0(0x1fb)]('│')),console[a0(0x2a4)](a0h[a0(0x1fb)](a0(0x2be))),console[a0(0x2a4)](),console[a0(0x2a4)](a0h[a0(0x1fb)]('\x20\x20'+a0w(a0(0x282))+a0(0x2ad)+Math[a0(0x25b)](g/(-0x1343+-0x1*0xe68+-0x1*-0x21af))+a0(0x290)+g+'\x20tokens)')),console[a0(0x2a4)](a0h[a0(0x1fb)]('\x20\x20'+a0w('ctf4aiRelaxed'))),console['log'](a0h[a0(0x1fb)]('\x20\x20'+a0w(a0(0x288))+a0(0x2b3)+k+')')),console[a0(0x2a4)](a0h[a0(0x1fb)]('\x20\x20'+a0w(a0(0x280)))),console[a0(0x2a4)]();try{i=await a0j(void(0x160a+-0x17da+0x1d0),a0(0x260)),r=!(0x1c23+0xda9+-0x85c*0x5),c=0x22ad+0x2*0x6d7+-0x305b,console['log'](a0h['red'](a0(0x248))+a0h[a0(0x1fb)](''+a0w(a0(0x2bc)))),console[a0(0x2a4)]();}catch(w){a0p(a0(0x256)+w['message']);}});}
|
package/dist/commands/ctf4vla.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0d(a,b){a=a-(0x153c+0x24e7+0x5*-0xb53);const c=a0b();let d=c[a];if(a0d['kkgLvZ']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x2*-0x124d+0x1*0x653+0x25*-0x129,o,p,q=-0x3d3+0x8*0x42f+-0x1da5;p=i['charAt'](q++);~p&&(o=n%(0x2125*0x1+0x1f1c+-0x403d)?o*(0xffa+0x12d1*0x2+0xaac*-0x5)+p:p,n++%(0x2390+0x494+0x1410*-0x2))?l+=String['fromCharCode'](0x149+0xed*-0x3+-0xd*-0x31&o>>(-(-0x43*-0x1c+-0x1086+0x934)*n&-0x5*-0x3dd+0x9ad+-0x1cf8)):0x7*-0x466+-0x224+0x20ee){p=j['indexOf'](p);}for(let r=0xe52+0x53*0x71+-0x32f5,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x23b*-0x2+0xc29+-0x7a3))['slice'](-(-0x1a09+-0xb13+0x251e));}return decodeURIComponent(m);};a0d['KvLwQA']=e,a0d['rPTUqu']={},a0d['kkgLvZ']=!![];}const f=c[-0xb74+-0x2c*-0xc0+0x4*-0x563],g=a+f,h=a0d['rPTUqu'][g];return!h?(d=a0d['KvLwQA'](d),a0d['rPTUqu'][g]=d):d=h,d;}(function(b,d){const P=a0d,f=b();while(!![]){try{const h=-parseInt(P(0x19e))/(0xf33+-0x1*0x2065+0x1133)*(-parseInt(P(0x1e5))/(0x4ea*-0x1+0x13*0x3+0x4b3))+-parseInt(P(0x1db))/(0x20b8+0x16*-0x175+-0xa7)+parseInt(P(0x1f5))/(0x1*0xa7+0x24f5+0xc*-0x322)*(parseInt(P(0x1dd))/(0x1c4f+0x139d+-0x2fe7*0x1))+parseInt(P(0x1e2))/(-0x13c4+-0xcf4+0x20be)*(-parseInt(P(0x193))/(-0x671*-0x1+-0x80*-0x25+0x84e*-0x3))+parseInt(P(0x1f3))/(0x3*0x861+0x1886+-0x31a1)+-parseInt(P(0x1ad))/(-0x16a9+-0x1b79+0x322b)*(parseInt(P(0x1ce))/(-0xf84+0x1ff0+-0x1062))+-parseInt(P(0x1c4))/(-0xa*0x13+-0x16ba+0x1783)*(-parseInt(P(0x1d1))/(-0x1*-0x3c9+0x1fe6+-0x3*0xbe1));if(h===d)break;else f['push'](f['shift']());}catch(j){f['push'](f['shift']());}}}(a0b,0x41293*-0x2+-0x28d35+0x11b80e));function a0b(){const Z=['ntCWnJqWvLfVrxP4','ugLJAYb1Ccb0AguGCMvKign1Ca','CMfUzg9T','ywXPyxm','sunpqxT1BMTUB3DUFq','z3jPChbLCG','sunpqxTIywnRzg9VCL90CMLNz2vYFq','icaGicaGicaGicaGicaGicaGicbYzxbSyxKGy3vYCMvUDcbHy3rPB24GAw4GtxvkB0nVicHHDxrVlw9Wzw5Zie1qncK','icbszw5KzxiGzMfPBgvKicG','sunpqxTHy3rPB25FAMfPBgjYzwfRFq','yM9Sza','icaOBM8GD2LUihLLDcdIGjqGA2vLCcbPDgvYyxrPBMCP','y3rMnhzSyq','icbjq09blvzmqsbHy3rPB246ia','igfUC3DLCIb1CgrHDgvKoIa','C2LT','zgf0yq','y3rMnhzSytOG','yMfZzwXPBMu','CgXHDgzVCM0','C3rKAw8','C3rHCNrZv2L0Aa','zMLUza','Aw50zxjHy3rPB25Z','CxvLC3rPB25Z','z3jPChbLCIbJBg9ZAw5Nig9UihjLzcbJDxaGyxqGkdaUmZeSidaUmtiSidaUnduP','icbB','y3LHBG','lI4VBgLIl2nVDw50zg93BI5QCW','tM8GzxHHBsbPBIbWCM9NCMvZCY4GuNvUigbLEgfTidX0B2TLBJ5GigzPCNn0lG','uxvLC3rPB24G','EwvSBg93','icaI','icbezwzHDwX0igLUC3rYDwn0Aw9UoIa','yMfJAW','icbtAw0GzxjYB3i6ia','icbuExbLia','ChjVyMvZvxnLza','rw50zxiGDgHLievTyM9KAwvKiefjihnLy3vYAxr5ignOywXSzw5NzsaOugfWzxiGrcWGutqXlve0nsK','icaGihbYB2jLici8Aw5ZDhj1y3rPB24+iG','Bwf0y2G','lI4U','x2XHC3rr','C2XPy2u','Aw1Hz2uGywnJzxb0zwqGyNv0ig5VigfJDgLVBIbKCMLMDcbKzxrLy3rLza','l3rTCa','sunpqs1wteeGywn0Aw9UoIa','icbvCgXVywrPBMCGAw1Hz2uUlI4','rufj','rNvSBcbXDwvZDgLVBJOGia','icaGihnPBq','mJaZz21Yrxb2','icbszw5KzxjLCIbYzxr1CM5LzcbUBYb2AwrLBYaOtxvkB0nVihvUyxzHAwXHyMXLig9UigjHy2TLBMqPlG','Dw5Yzwy','y2f0y2G','l2fWAs9HAs92BgeV','DgvZDa','icHZDwjTAxqGywDHAw4GDg8Gy2HHBMDLkq','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','zxHPDa','icaOq29YCMvJDg5LC3mGC2HVD24Gywz0zxiGzMLUywWGzxHHBsbZDwjTAxqUkq','BNvTyMvY','mtLMD1fNuxG','DgLTzw91Da','yMfZzwXPBMvjBNn0CNvJDgLVBG','ue9tva','y29UDgLUDwu','Cg9PBNrZ','Dgv4Da','BM9KztPMCW','icdIHPiG','yMfZzty0','yxjTigHLC2L0yxrPBMCSig5VignSzwfYihrHCMDLDcaOFhX4ExP8FcdIIyGGmcK','z3jPChbLCIbJBg9ZAw5Nigf0icGTmc4YocWGmc4XmIWGmc40nsKG4OcuifrbuKDfvcbtseLgveveihrVihjPz2H0ihnPzguGkgTUAwzLkq','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','igLZig5VDcbHifzmqsbJAgfSBgvUz2uU','Dg9mB3DLCKnHC2u','mtaXn3L1ruTLtq','C3vJy2vZCW','Dg9gAxHLza','l3nPBq','DMXH','C2LTia','DhjPBq','zgvZy3jPChrPB24','q29UDgvUDc1uExbL','yw5ZD2vYx2nOyw5Nzwq','zgfYD2LU','xsaGWRCG','icbby3rPB246ia','ihrVihjLy29Yzcb5B3vYigfUC3DLCI4','C3vIBwL0ia','EhL6','sunpqxT2BgfFy29UzNvZzwr9','ihb0CW','icaGigv4Axq','icdINjmG','icaGicaGicaGicaGicaGicaGihjLDhvYBIb0BYbLEgfT','z3jLzw4','CxvLC3rPB24','ntvuvNDzEuK','yMfZzwXPBMuGlYbWCM9IzsaIlI4UiIaVigLTywDLidXWyxrOpIaVigHPBNqGys9Il2mGlYbZDwjTAxqGsunpqxSUlI59ic8GzxHPDa','Bg9N','ywn0Aw9U','ChvZAa','ihjLy29YzgvKoIa','yw5ZD2vYCW','CMvWBgfJzq','AwnVys1ZAw0TCq','zNjVBq','ndqXodbPrgTouxu','zgv0ywnOzwq','icaGigLTywDLidXWyxrOpG','mty0otu4mg55t0TLEq','y2f0zwDVCNK','icbuCNKGB25Lig9MoIa','y29TBwfUza','icbpCgvUAw5NigLUihLVDxiGzgvMyxvSDcb2AwrLBYbWBgf5zxiUlI4','z3jHEq','Dg9ju09tDhjPBMC','C3rHCNq','C3rYAw5NAwz5','icdILii','mtCXntu0muTRCM9Lwa','icbszxr1CM5Lzcb0BYbLEgfTlG','mJb3D1LZAhm','icaGihn1yM1PDcbjq09bEY4UlN0','icdILiiG','icdILzdILzdILzaGq1rgnevbssdIGjqGuq','Cu51Bq','mtuWodGYAg1Oru1g','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','EgrNlw9Wzw4','nZGXmtHQv2Pgzhq','C3rHDhvZ','D2HPDgu','ksWGyxjTigHVBgrZihbVC2L0Aw9U','uMvUzgvYzwqU','icaGicaGihn1yM1PDcb5B3vYigzSywC','icbgBgfNigzVCM1HDdOG','zMXHz0nVBMrPDgLVBG','CxvPDa','BwvZC2fNzq','icaGicaGicaGicb1CgXVywqGBw9KAwzPzwqGAw1Hz2uGkgfKDMvYC2fYAwfSihbHDgnOkq','Bxa0x2i2na','sunpqxT5B3vYx2zSywD9','icaGicaGicaGicaGicaGicaGihjLDhvYBIb0BYbTywLUig1LBNuGkgjVB3qGC2nYzwvUksdIGjqGD29YA3mGyw55D2HLCMu','mJa4mZC1mMLSDMTlzW','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia'];a0b=function(){return Z;};return a0b();}import a0m from'chalk';import{readFileSync as a0q,existsSync as a0v}from'node:fs';import{resolve as a0w,join as a0x}from'node:path';import{spawn as a0y}from'node:child_process';import{logCommand as a0z}from'../lib/logger.js';import{getExamState as a0A,saveExamState as a0B}from'../lib/exam-state.js';import{printError as a0C}from'../lib/ui.js';let c=null,g=!(0x5*0x225+0x6*-0x15d+-0x28a);export function isCtf4VlaActive(){return g;}export function enterCtf4Vla(b){const Q=a0d,d=a0A();if(!d)return a0C(Q(0x212)),!(0x8*0x42f+-0x1a7+0x7f4*-0x4);const f=d[Q(0x20d)][Q(0x20b)](h=>h[Q(0x19d)]===b);return f?Q(0x1b1)!==f['type']?(a0C('Q'+b+Q(0x1ab)),!(0x5e+0x2325+0x2382*-0x1)):(c={'qNum':b,'question':f,'baselineSeen':!(0x45e*-0x2+0x1b0d*0x1+-0x494*0x4),'probesUsed':0x0,'startedAt':Date['now']()},g=!(0x1*-0x2337+0x16a0+0xc97),(function(){const R=Q;if(!c)return;const h=c[R(0x1c3)],j=(a0A()?.['answers']||{})[c[R(0x1e1)]];console[R(0x1c6)](),console[R(0x1c6)](a0m[R(0x1ff)][R(0x210)](R(0x1e0)+c[R(0x1e1)]+':\x20'+(h[R(0x1d2)]||R(0x190))+'\x20═══')),j&&console[R(0x1c6)](a0m['gray']('\x20\x20Current\x20answer:\x20')+a0m['yellow'](j)+a0m[R(0x1d6)](R(0x199))),console[R(0x1c6)](),console['log'](a0m[R(0x210)](R(0x1f4))),console['log'](a0m[R(0x210)](R(0x1df))+a0m['bold'][R(0x1e7)]('Q'+c[R(0x1e1)]+R(0x20f)+(h['category']||'EAI')+R(0x1b8)+(h[R(0x1a3)]||-0x5*-0x1f6+-0x21*-0xf1+-0x28d9*0x1)+R(0x1be))),console[R(0x1c6)](a0m[R(0x210)](R(0x1da)));for(const k of String(h[R(0x1a4)]||'')['split']('\x0a')){const m=k['length']>0x2*-0xc82+-0x1*0x18f5+0x3239?k['slice'](-0x1259+0x7*-0x466+0x3123,-0x13*0x1b3+0x27*0x5e+0x1234)+R(0x189):k;console['log'](a0m[R(0x210)]('\x20\x20│\x20')+a0m[R(0x1e7)](m));}console[R(0x1c6)](a0m[R(0x210)](R(0x1da))),console['log'](a0m[R(0x210)](R(0x1df))+a0m[R(0x1d6)](R(0x191))+a0m[R(0x1e7)]('exam\x20q\x20'+c['qNum'])),console[R(0x1c6)](a0m[R(0x210)]('\x20\x20│\x20')+a0m[R(0x1d6)](R(0x1e3))),console[R(0x1c6)](a0m['cyan'](R(0x1aa))),console[R(0x1c6)](),console[R(0x1c6)](a0m['bold'][R(0x1e7)]('\x20\x20How\x20to\x20attack\x20this\x20VLA')),console['log'](),console[R(0x1c6)](a0m[R(0x1ff)][R(0x1c2)]('\x20\x20\x20\x20baseline')+a0m['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20show\x20default-instruction\x20action')),console[R(0x1c6)](a0m[R(0x1ff)][R(0x1c2)](R(0x187))+a0m['gray']('\x20\x20test\x20a\x20custom\x20instruction')),console[R(0x1c6)](a0m[R(0x1ff)][R(0x1c2)](R(0x1d0))+a0m[R(0x1d6)](R(0x1ef))),console['log'](a0m[R(0x1ff)][R(0x1c2)](R(0x1de))+a0m[R(0x1d6)](R(0x1ea))),console[R(0x1c6)](a0m[R(0x1ff)]['green'](R(0x192))+a0m[R(0x1d6)](R(0x1fc))),console[R(0x1c6)](a0m[R(0x1d6)](R(0x1bf))+a0m['gray'](R(0x1c1))),console[R(0x1c6)](a0m[R(0x1d6)]('\x20\x20\x20\x20menu')+a0m[R(0x1d6)](R(0x1f2))),console[R(0x1c6)]();}()),!(0x23b*-0x2+0xc29+-0x7b3)):(a0C(Q(0x213)+b+'\x20not\x20in\x20current\x20exam.'),!(-0x1a09+-0xb13+0x251d));}function u(b,d){const S=a0d,f=b[S(0x1ac)](),h=/\b(release|drop|let\s*go|open\s+gripper|stop)\b/i[S(0x198)](f);/\b(red|rojo|赤い|红)\b/i[S(0x198)](f)&&/\b(pick|grab|grasp|抓|取)\b/i['test'](f);let j=-0xb74+-0x2c*-0xc0+0x4*-0x563+0.95,k=[-0xd*0x161+0x2683+0x20f*-0xa+0.31,0x18a1+-0x1*0x245f+0xbbe+0.12,-0xb14*0x2+-0x1*0x4a8+0x1ad0+0.45],m=S(0x20e);return-0x7c+0x1c81*-0x1+-0x5b*-0x52===d?h&&(j=0x1078+0x119b*0x1+-0x2213+0.04+(-0x1*-0x1631+0x141+-0x1772+0.02)*Math[S(0x1f7)](),k=[0x173b+0x393+-0x1ace+0.31,0xc05+0x1eba+-0x2abf*0x1+0.12,-0x39b*-0x9+-0x1ce2+-0x391+0.45],m='gripper\x20OPENING\x20('+j[S(0x1af)](0xde8+0x34f+-0x1135*0x1)+S(0x1e8)):-0xa7f+0x22a5*-0x1+0x7*0x679===d&&/\b(purple|transparent|invisible|orange)\b/i[S(0x198)](f)&&(j=-0x1*0x1bc7+0x3*-0x595+0x2c86+0.5,k=[-0x4*-0x292+-0x10*0x261+-0x1*-0x1bc8+0.001,-0x155b+0xa*-0x4a+0x183f,-0x526*0x3+0x13*0x3e+0xad8+0.001],m=S(0x1a8)),{'gripper':j,'xyz':k,'flagCondition':0x1dd5+-0x20f1+-0x1b*-0x1f===d&&j<0xaf4+0xb8f+-0x1683+0.1||-0x5*0x62e+0x16fe+0x813===d&&Math['sqrt'](k[0x1*0x54b+-0x1857+0x130c]**(0x133*0x13+-0xf45+-0x2*0x3c1)+k[0x4f*0x3+0x18*0x18f+-0x2654]**(-0xa90+-0x279*0x6+0x1968)+k[0x14e0+-0xedd*0x2+0x8dc]**(-0x1c33+-0x192+-0x79*-0x3f))<0x28b+-0x614*0x6+0x21ed+0.05,'description':m};}function p(b){const T=a0d;return-0x34d+-0x13*-0x22+0x50*0x3===b?'ICOA{vla_prompt_inject}':-0x1b71+0x1*-0x25f7+0x4192===b?'ICOA{patch_redirect}':-0x10c7*0x1+0x82d+-0x1c1*-0x5===b?T(0x1bd):0xb8*-0x25+-0xf8f*0x1+0x2a53===b?T(0x1fe):-0x965+-0x35c+0x677*0x2===b?T(0x1fb):T(0x1f9);}export async function handleCtf4VlaMessage(h){const U=a0d;if(!c)return U(0x19b);const j=h['trim'](),k=j['toLowerCase']();if(a0z(U(0x206)+j),U(0x19b)===k||U(0x217)===k||U(0x1ed)===k)return g=!(0x1907+-0x18f5*-0x1+-0x31fb),c=null,console[U(0x1c6)](),console[U(0x1c6)](a0m[U(0x1d6)](U(0x1dc))),console['log'](),'exit';if(U(0x204)===k||k[U(0x20a)](U(0x1b2)))return await async function(x,z){const V=U,A=(process.env.ICOA_SERVER_URL?.[V(0x1cb)](/\/+$/,'')||'https://practice.icoa2026.au')+V(0x197)+x+V(0x1b0);console[V(0x1c6)]();const {fetchWithCountdown:B}=await import(V(0x211));try{const C={};C[V(0x1b5)]='application/json';const D={};D[V(0x1c7)]=z??null;const E=fetch(A,{'method':V(0x1a1),'headers':C,'body':JSON[V(0x1d9)](D),'signal':AbortSignal[V(0x19f)](-0xe9b*0x10+0xa3*-0x83+0x1b249)}),F=await B(E);if(!F['ok']){const M=await F[V(0x1a4)]()[V(0x196)](()=>'');return void console[V(0x1c6)](a0m['yellow'](V(0x1fd)+F[V(0x1e6)]+'):\x20'+M[V(0x18b)](-0x1*0x100f+-0xdd0+-0x3*-0x9f5,-0x16d9+-0x2cc+-0x1a1d*-0x1)));}const G=await F['json']();if(!G[V(0x1ae)]||!G[V(0x205)]?.[V(0x1f0)])return void console['log'](a0m['yellow'](V(0x194)));const H=process.env.TMPDIR||V(0x18d),I=a0x(H,V(0x1cc)+x+'-'+Date['now']()+'.mp4'),{writeFileSync:J}=await import(V(0x1a5));J(I,Buffer[V(0x1cd)](G['data'][V(0x1f0)],V(0x1a7))),console[V(0x1c6)](a0m[V(0x1c2)](V(0x1c0))+a0m[V(0x1d6)](V(0x1e9))),G[V(0x205)][V(0x1b4)]&&console[V(0x1c6)](a0m['gray'](V(0x1b9))+a0m[V(0x1e7)](G[V(0x205)][V(0x1b4)]));const K=V(0x1b7)===process[V(0x208)]?'open':'win32'===process[V(0x208)]?V(0x1d8):V(0x1e4),L={};L[V(0x209)]='ignore',L[V(0x1cf)]=!(-0x88b*-0x1+0x1526+0x1db1*-0x1),K?(a0y(K,[I],L)[V(0x195)](),console[V(0x1c6)](a0m[V(0x1d6)](V(0x1d5)))):console[V(0x1c6)](a0m[V(0x1d6)]('\x20\x20Open\x20the\x20file\x20above\x20in\x20your\x20video\x20player.'));}catch(N){const O=N instanceof Error?N[V(0x1ee)]:String(N);console['log'](a0m['yellow'](V(0x218)+O));}}(c[U(0x1e1)]),U(0x1a2);if(U(0x207)===k){const x=c[U(0x1c3)][U(0x1a0)]||U(0x1f6),z=u(x,c[U(0x1e1)]);return c['baselineSeen']=!(-0x2*-0x1345+0x18a2+0x2*-0x1f96),console['log'](),console[U(0x1c6)](a0m[U(0x1d6)](U(0x216))+a0m['white']('\x22'+x+'\x22')),console[U(0x1c6)](a0m['gray'](U(0x202))+a0m['white'](z['description'])),console['log'](),U(0x1a2);}const q=j[U(0x188)](/^probe\s+["']?(.+?)["']?\s*$/i);if(q){c[U(0x185)]+=0x1c32+-0x96e+-0x12c3;const A=u(q[-0x19*0x49+0x9fa*-0x1+-0x92*-0x1e],c[U(0x1e1)]);if(console[U(0x1c6)](),console[U(0x1c6)](a0m[U(0x1d6)]('\x20\x20→\x20')+a0m[U(0x210)](U(0x18e))+a0m[U(0x1e7)](A['description'])),A[U(0x1ec)]){const B=p(c['qNum']);console[U(0x1c6)](),console[U(0x1c6)](a0m[U(0x1ff)][U(0x1c2)]('\x20\x20✓\x20Win\x20condition\x20met!\x20\x20Flag:\x20')+a0m[U(0x1ff)][U(0x214)](B)),console[U(0x1c6)](a0m[U(0x1d6)](U(0x184))+a0m[U(0x1ff)]['green'](U(0x1bb)+B)+a0m[U(0x1d6)](U(0x1ba)));}else console[U(0x1c6)](a0m[U(0x1d6)](U(0x200)));return console[U(0x1c6)](),U(0x1a2);}const v=j[U(0x188)](/^image\s+(.+)$/i);if(v){const C=function(D,E){const W=U,F={};F[W(0x1fa)]=0.95,F[W(0x1bc)]=[0x1093*0x2+0x1*-0x6e1+-0x1a45+0.31,-0x2b*0xbb+-0x260*0x7+0x3009*0x1+0.12,-0x3c*-0x1+0x11f+-0x15b+0.45],F[W(0x1ec)]=!(-0xcf2+0x1536+-0x9*0xeb),F[W(0x1b4)]='no\x20image\x20uploaded\x20—\x20baseline\x20action\x20returned';if(!a0v(D))return F;const G=a0q(D)['length'],H={};H[W(0x1fa)]=0.9,H[W(0x1bc)]=[-(0x39b+0x2*-0xcec+0x163d+0.28),-0x1d2d+0x474+0x18b9+0.12,0xd2d*-0x1+-0x272+0xf9f+0.45],H[W(0x1ec)]=!(-0x1eb+-0x3a*-0x94+-0x1f9d),H[W(0x1b4)]=W(0x1a9);const I={};return I[W(0x1fa)]=0.95,I['xyz']=[0x1*-0x17b+-0x21af+0x1195*0x2+0.31,-0x12e2+-0x1b*-0x39+0xcdf+0.12,-0x16*0x18f+-0x10e5+0x332f+0.45],I[W(0x1ec)]=!(0x20a4+-0xd6*0x17+-0xd69),I[W(0x1b4)]=W(0x18c),-0x59*-0x1d+-0x1*-0x2655+-0x8*0x608===E&&G>0x409*0x6+0x228d+-0x3*0x1241?H:I;}(a0w(v[0xc5f*-0x3+0x1*0x198b+0xb93][U(0x1b3)]()),c[U(0x1e1)]);if(console['log'](),console['log'](a0m['gray'](U(0x18f))),console[U(0x1c6)](a0m[U(0x1d6)](U(0x1a6))+a0m[U(0x210)]('ICOA-VLA\x20action:\x20')+a0m[U(0x1e7)](C[U(0x1b4)])),C[U(0x1ec)]){const D=p(c[U(0x1e1)]);console[U(0x1c6)](),console[U(0x1c6)](a0m[U(0x1ff)][U(0x1c2)]('\x20\x20✓\x20Win\x20condition\x20met!\x20\x20Flag:\x20')+a0m['bold'][U(0x214)](D));}return console[U(0x1c6)](),U(0x1a2);}const w=j[U(0x188)](/^submit\s+(.+)/i);if(w){let E=w[0xaf5+-0x21b+-0x3*0x2f3][U(0x1b3)]();if(/^submit\s+/i[U(0x198)](E)&&(E=E[U(0x1cb)](/^submit\s+/i,'')[U(0x1b3)]()),E=E[U(0x1cb)](/^["'`]+|["'`]+$/g,'')['trim'](),/^[A-Da-d]$/[U(0x198)](E))return console[U(0x1c6)](),console[U(0x1c6)](a0m['yellow'](U(0x215)+E+U(0x19a))),console['log'](a0m[U(0x1d6)](U(0x1eb))+a0m[U(0x1c2)](U(0x1f1))),console['log'](),U(0x1a2);const F=a0A();if(!F)return U(0x19b);const G=F['answers'][c[U(0x1e1)]];return F['interactions']||(F[U(0x20c)]=[]),F[U(0x20c)][U(0x1c8)]({'ts':new Date()[U(0x1d7)](),'q':c[U(0x1e1)],'type':G?U(0x1b6):'answer_submitted','input':E,'result':'via\x20ctf4vla'}),F[U(0x1ca)][c['qNum']]=E,F['_lastQ']=c['qNum']+(-0x11cc+-0x1430+0x25fd)<=0x178c+-0x3b3*-0x4+0x3*-0xcb9?c[U(0x1e1)]+(-0xb21*0x1+0x20a+0x918):c['qNum'],a0B(F),console[U(0x1c6)](),G?console[U(0x1c6)](a0m[U(0x1c2)]('\x20\x20✓\x20Q'+c[U(0x1e1)]+U(0x203))+a0m['yellow'](E)):console[U(0x1c6)](a0m[U(0x1c2)][U(0x1ff)]('\x20\x20✓\x20Answer\x20for\x20Q'+c[U(0x1e1)]+U(0x1c9)+E)),console[U(0x1c6)](a0m[U(0x1d6)](U(0x19c))),console[U(0x1c6)](),U(0x1a2);}return console[U(0x1c6)](),console[U(0x1c6)](a0m[U(0x1d6)](U(0x1d3))+a0m[U(0x1e7)](U(0x1c5))),console[U(0x1c6)](),U(0x1a2);}export function registerCtf4VlaCommand(b){const X=a0d;b[X(0x1d4)]('ctf4eai')[X(0x1f8)](X(0x201))['description'](X(0x186))[X(0x1c7)](()=>{const Y=X,d=a0A();if(!d)return void a0C(Y(0x212));const f=d[Y(0x18a)]||-0x1a*-0x3b+0xd30+-0x1305;enterCtf4Vla(f>=0x1*0x2057+0x1c79*0x1+0x1*-0x3ca7&&f<=-0x1103+0x2436+-0x1306?f:0x4f*-0x7a+-0x1*-0x1192+0x143d);});}
|
|
1
|
+
(function(b,d){const P=a0d,f=b();while(!![]){try{const h=-parseInt(P(0x1dd))/(-0x2090+-0xe06*-0x1+-0x65*-0x2f)+-parseInt(P(0x1e9))/(-0x3*0x949+-0x1*0x184+0x1d61*0x1)+parseInt(P(0x249))/(0x15*0x134+0x7*0x2fb+-0x2e1e)*(-parseInt(P(0x24c))/(0x1917+0xd*-0x116+-0x21*0x55))+-parseInt(P(0x203))/(-0x12f8+0x1e6f+-0x125*0xa)+-parseInt(P(0x1f3))/(-0x5fd+0x1064+-0xa61)+parseInt(P(0x1fb))/(-0x2*-0x115f+-0xcbc+-0x15fb)+parseInt(P(0x253))/(-0x23f5*-0x1+-0x349+-0x1052*0x2);if(h===d)break;else f['push'](f['shift']());}catch(j){f['push'](f['shift']());}}}(a0b,-0x511ff+-0x26b4c+0xbf3e5));function a0b(){const Z=['ywn0Aw9U','icbezwzHDwX0igLUC3rYDwn0Aw9UoIa','C2LT','Cg9PBNrZ','icaGihbYB2jLici8Aw5ZDhj1y3rPB24+iG','icbiB3CGDg8Gyxr0ywnRihrOAxmGvKXb','BM93','C3rHCNrZv2L0Aa','uxvLC3rPB24G','Dw5Yzwy','icaGicaGicaGicaGicaGicaGihjLDhvYBIb0BYbLEgfT','sunpqs1wteeGywn0Aw9UoIa','C2XPy2u','B3bLBG','rufj','mtGWodeWB0TtCLv3','icaOBM8GD2LUihLLDcdIGjqGA2vLCcbPDgvYyxrPBMCP','zxHHBsbXia','uMvUzgvYzwqU','Bg9N','CMvWBgfJzq','sunpqxT1BMTUB3DUFq','icdINjmGqw5ZD2vYigzVCIbr','D2HPDgu','icbuCNKGB25Lig9MoIa','EhL6','y3LHBG','mZm3ntm4sNPbufjM','ksWGyxjTigHVBgrZihbVC2L0Aw9U','C3bSAxq','icHZDwjTAxqGywDHAw4GDg8Gy2HHBMDLkq','icdILiiG','Cu51Bq','EgrNlw9Wzw4','icaGicaGicaGicaGicaGicaGicbYzxbSyxKGy3vYCMvUDcbHy3rPB24GAw4GtxvkB0nVicHHDxrVlw9Wzw5Zie1qncK','C2LTia','ChjVyMvZvxnLza','nZiZotC4A0jyBwvd','Dg9ju09tDhjPBMC','y2f0zwDVCNK','AwDUB3jL','ue9tva','icdINjmG','lM1Wna','zxHPDa','mtC4ndG1m2jQrLHnvW','BM9KztPMCW','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','Aw50zxjHy3rPB25Z','icaGicaGicaGicaGicaGC2HVDYbKzwzHDwX0lwLUC3rYDwn0Aw9UigfJDgLVBG','icaGihnPBq','iokvKokvKokvKa','z3jPChbLCG','mtGZmtmWtxvuqNHW','icaI','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','zNjVBq','y2f0y2G','z3jPChbLCIbpuevosu5hicG','yMfZzwXPBMu','zgfYD2LU','l2fWAs9HAs92BgeV','CxvPDa','Bwf0y2G','ihjLy29YzgvKoIa','icbgBgfNigzVCM1HDdOG','icbtAw0GzxjYB3i6ia','icdIHPiG','C3rHDhvZ','Aw1Hz2uGywnJzxb0zwqGyNv0ig5VigfJDgLVBIbKCMLMDcbKzxrLy3rLza','y3rMnhzSyq','x2XHC3rr','z3jLzw4','EwvSBg93','z3jHEq','z3jPChbLCIbJBg9ZAw5Nig9UihjLzcbJDxaGyxqGkdaUmZeSidaUmtiSidaUnduP','DhLWzq','lI4VBgLIl2nVDw50zg93BI5QCW','CxvLC3rPB24','ihb0CW','yMfZzwXPBMvtzwvU','y3rMngvHAq','icaGig1LBNu','yw5ZD2vYCW','igfUC3DLCIb1CgrHDgvKoIa','C3rYAw5NAwz5','zMXHz0nVBMrPDgLVBG','l3nPBq','yMfJAW','ihrVihjLy29Yzcb5B3vYigfUC3DLCI4','icbdDxjYzw50igfUC3DLCJOG','y29UDgLUDwu','icbuExbLia','C3rKAw8','zgv0ywnOzwq','Bxa0x2i2na','sunpqxTHy3rPB25FAMfPBgjYzwfRFq','CgXHDgzVCM0','yMfZzty0','C3rHCNq','C3vIBwL0ia','BM8GAw1Hz2uGDxbSB2fKzwqG4OcuigjHC2vSAw5LigfJDgLVBIbYzxr1CM5Lza','icbpCgvUihrOzsbMAwXLigfIB3zLigLUihLVDxiGDMLKzw8GCgXHEwvYlG','l3rTCa','ChvZAa','q29UDgvUDc1uExbL','CMfUzg9T','icaGihn1yM1PDcbjq09bEY4UlN0','y3rMnhzSytOG','icdILii','igLZig5VDcbHifzmqsbJAgfSBgvUz2uU','icaGigLTywDLidXWyxrOpG','zgvZy3jPChrPB24','DgLTzw91Da','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','icaGicaGihn1yM1PDcb5B3vYigzSywC','DMLHign0zJr2Bge','icbpCgvUAw5NigLUihLVDxiGzgvMyxvSDcb2AwrLBYbWBgf5zxiUlI4','Dg9gAxHLza','z3jPChbLCIbJBg9ZAw5Nigf0icGTmc4YocWGmc4XmIWGmc40nsKG4OcuifrbuKDfvcbtseLgveveihrVihjPz2H0ihnPzguGkgTUAwzLkq','yxbWBgLJyxrPB24VANnVBG','DgvZDa','icdINjmGuq','otKZmJfkrhHJALG','zgf0yq','icbszw5KzxjLCIbYzxr1CM5LzcbUBYb2AwrLBYaOtxvkB0nVihvUyxzHAwXHyMXLig9UigjHy2TLBMqPlG','mJbSC0jhqMu','icdINjmGv2LUignVBMrPDgLVBIbTzxqHicbgBgfNoIa','yw5ZD2vYx2nOyw5Nzwq','CxvLC3rPB25Z','rNvSBcbXDwvZDgLVBJOGia','zMLUza','yxjTigHLC2L0yxrPBMCSig5VignSzwfYihrHCMDLDcaOFhX4ExP8FcdIIyGGmcK','nty3otq0mfzusu1htW','icbszxr1CM5Lzcb0BYbLEgfTlG','AwnVys1ZAw0TCq','y29TBwfUza','sunpqxT2BgfFy29UzNvZzwr9','icdILzdILzdILzaGq1rgnevbssdIGjqGuq','BgvUz3rO','lI4U','Dg9mB3DLCKnHC2u','C3fYDa','yMfZzwXPBMvjBNn0CNvJDgLVBG','DhjPBq','yM9Sza','Dgv4Da','DMXH','tM8GzxHHBsbPBIbWCM9NCMvZCY4GuNvUigbLEgfTidX0B2TLBJ5GigzPCNn0lG','icaGicaGicaGicb1CgXVywqGBw9KAwzPzwqGAw1Hz2uGkgfKDMvYC2fYAwfSihbHDgnOkq'];a0b=function(){return Z;};return a0b();}import a0m from'chalk';import{readFileSync as a0q,existsSync as a0v}from'node:fs';import{resolve as a0w,join as a0x}from'node:path';import{spawn as a0y}from'node:child_process';import{logCommand as a0z}from'../lib/logger.js';import{getExamState as a0A,saveExamState as a0B}from'../lib/exam-state.js';import{printError as a0C}from'../lib/ui.js';let c=null,g=!(-0x262e+-0x1*0x215+-0xa11*-0x4);export function isCtf4VlaActive(){return g;}export function enterCtf4Vla(b){const Q=a0d,d=a0A();if(!d)return a0C(Q(0x1cc)),!(-0x2330+0x6*0x191+0x19cb*0x1);const f=d[Q(0x24f)][Q(0x251)](h=>h['number']===b);return f?Q(0x1cb)!==f[Q(0x21a)]?(a0C('Q'+b+Q(0x23c)),!(-0x4a3+0x73*-0x47+0x2489)):(c={'qNum':b,'question':f,'baselineSeen':!(-0x2*0x137b+-0xe*0x20+0x28b7*0x1),'probesUsed':0x0,'startedAt':Date[Q(0x1d4)]()},g=!(-0x747+-0x1f85*-0x1+-0x6b*0x3a),(function(){const R=Q;if(!c)return;const h=c[R(0x21c)],j=(a0A()?.[R(0x221)]||{})[c[R(0x1ee)]];console['log'](),console['log'](a0m['bold'][R(0x1e8)](R(0x1c2)+c[R(0x1ee)]+':\x20'+(h['category']||R(0x1dc))+R(0x201))),j&&console[R(0x1e1)](a0m[R(0x218)](R(0x228))+a0m[R(0x217)](j)+a0m[R(0x218)](R(0x1ec))),console['log'](),console[R(0x1e1)](a0m['cyan'](R(0x205))),console['log'](a0m[R(0x1e8)](R(0x1ed))+a0m[R(0x1c9)][R(0x1e5)]('Q'+c[R(0x1ee)]+'\x20\x20['+(h[R(0x1f5)]||R(0x1dc))+']\x20\x20·\x20'+(h[R(0x1d1)]||-0x1ef2+0xfb*0x17+0x1af*0x5)+R(0x21d))),console[R(0x1e1)](a0m[R(0x1e8)](R(0x23b)));for(const k of String(h[R(0x1ca)]||'')[R(0x1eb)]('\x0a')){const m=k[R(0x1c3)]>0x219d+0x3cc+-0x2529?k['slice'](-0x6ad+-0x1088*-0x1+-0x9db,0x4*0x575+0x177c+0x419*-0xb)+R(0x1c4):k;console[R(0x1e1)](a0m[R(0x1e8)]('\x20\x20│\x20')+a0m[R(0x1e5)](m));}console[R(0x1e1)](a0m[R(0x1e8)](R(0x23b))),console[R(0x1e1)](a0m[R(0x1e8)](R(0x1ed))+a0m[R(0x218)](R(0x250))+a0m['white'](R(0x1df)+c['qNum'])),console['log'](a0m[R(0x1e8)](R(0x1ed))+a0m[R(0x218)](R(0x240))),console[R(0x1e1)](a0m['cyan']('\x20\x20└────────────────────────────────────────────────────')),console[R(0x1e1)](),console[R(0x1e1)](a0m['bold'][R(0x1e5)](R(0x1d3))),console[R(0x1e1)](),console[R(0x1e1)](a0m[R(0x1c9)][R(0x216)]('\x20\x20\x20\x20baseline')+a0m[R(0x218)](R(0x1ff))),console[R(0x1e1)](a0m[R(0x1c9)][R(0x216)](R(0x1d2))+a0m['gray']('\x20\x20test\x20a\x20custom\x20instruction')),console[R(0x1e1)](a0m['bold'][R(0x216)](R(0x23d))+a0m['gray'](R(0x1cd))),console[R(0x1e1)](a0m[R(0x1c9)][R(0x216)](R(0x239))+a0m[R(0x218)](R(0x241))),console[R(0x1e1)](a0m['bold'][R(0x216)](R(0x200))+a0m[R(0x218)](R(0x1f0))),console['log'](a0m['gray']('\x20\x20\x20\x20exit')+a0m['gray'](R(0x1d8))),console[R(0x1e1)](a0m[R(0x218)](R(0x220))+a0m['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20to\x20main\x20menu\x20(boot\x20screen)\x20—\x20works\x20anywhere')),console[R(0x1e1)]();}()),!(0x1*0x1e3b+0x1e46+-0x3c81)):(a0C(Q(0x1d6)+b+'\x20not\x20in\x20current\x20exam.'),!(0x672*-0x1+0x270a+0x67*-0x51));}function u(b,d){const S=a0d,f=b[S(0x1c5)](),h=/\b(release|drop|let\s*go|open\s+gripper|stop)\b/i[S(0x247)](f);/\b(red|rojo|赤い|红)\b/i[S(0x247)](f)&&/\b(pick|grab|grasp|抓|取)\b/i[S(0x247)](f);let j=-0xf20+-0x25*0x31+0x3*0x767+0.95,k=[-0x8f9*-0x4+0xb92+0x1c2*-0x1b+0.31,-0x11a+-0x7*0x580+-0x279a*-0x1+0.12,0x1*0x1493+-0x1265+-0x22e*0x1+0.45],m=S(0x219);return 0x147c*0x1+0x1d8+-0x162b===d?h&&(j=0x5*-0x517+0x16bc+0x2b7+0.04+(-0x283*0x8+-0x177+-0x1*-0x158f+0.02)*Math[S(0x238)](),k=[0x1b72+0x232*-0x8+0x1fa*-0x5+0.31,0x1df6+0x1*0xa45+-0x1*0x283b+0.12,0x7*0x50a+0x25*-0xc9+-0x639+0.45],m=S(0x208)+j[S(0x244)](0x1193+0x244*-0x7+-0x1b5)+S(0x1ea)):-0x1b*-0x5c+0x2*0xcc8+0xf*-0x257===d&&/\b(purple|transparent|invisible|orange)\b/i[S(0x247)](f)&&(j=-0x3*0x448+0x10ba+0x7*-0x8e+0.5,k=[0x10d3+0x74d+-0x10*0x182+0.001,0x43*0x28+-0x6a1*0x5+0x16ad,0x1188+0x5f7*-0x3+0x3*0x1f+0.001],m=S(0x252)),{'gripper':j,'xyz':k,'flagCondition':-0x71*-0x49+-0x157c+-0x2a5*0x4===d&&j<-0x1d3c*-0x1+-0x116*0x17+-0x442+0.1||0x2507+-0xab7*0x2+-0xf6e===d&&Math[S(0x1c6)](k[-0x13ef+-0x3*0xe9+-0x2*-0xb55]**(0x1e22+-0x1504+0x2c*-0x35)+k[-0x110b+-0x101f+0x212b]**(-0x423+0x6c*-0x26+0x142d)+k[-0xfcf+0x1c9d+-0xccc]**(-0x1c73+0xb73*0x3+-0x34*0x1d))<0x2*0x7f0+-0x1f8c+-0xfac*-0x1+0.05,'description':m};}function p(b){const T=a0d;return-0x2257+-0xada*-0x3+-0x3*-0xa6===b?'ICOA{vla_prompt_inject}':-0xd1f+-0x941+0x1*0x168a===b?'ICOA{patch_redirect}':0x12e8+-0x15f+-0x115e*0x1===b?T(0x1c1):-0x2*0x4d9+-0x2*0x1de+0x1*0xd9a===b?T(0x22e):-0x738+-0x1aa0+0x2205===b?'ICOA{backdoor_trigger}':T(0x1e3);}export async function handleCtf4VlaMessage(h){const U=a0d;if(!c)return U(0x1fa);const j=h[U(0x1c8)](),k=j[U(0x1c5)]();if(a0z(U(0x23a)+j),'exit'===k||U(0x226)===k||U(0x20c)===k)return g=!(0x1*-0x74f+-0x1e76+0x25c6),c=null,console['log'](),console[U(0x1e1)](a0m['gray'](U(0x1be))),console[U(0x1e1)](),'exit';if(U(0x1d0)===k||k[U(0x1d5)](U(0x1f1)))return await async function(x,z){const V=U,A=(process.env.ICOA_SERVER_URL?.[V(0x1e2)](/\/+$/,'')||'https://practice.icoa2026.au')+V(0x20b)+x+V(0x225);console[V(0x1e1)]();const {fetchWithCountdown:B}=await import(V(0x21b));try{const C={};C[V(0x237)]=V(0x246);const D={};D[V(0x1ce)]=z??null;const E=fetch(A,{'method':V(0x1f7),'headers':C,'body':JSON[V(0x223)](D),'signal':AbortSignal[V(0x23f)](0x21b*0x1c+-0x18c7+0x5303*0x1)}),F=await B(E);if(!F['ok']){const M=await F[V(0x1ca)]()[V(0x207)](()=>'');return void console[V(0x1e1)](a0m['yellow']('\x20\x20Render\x20failed\x20('+F[V(0x212)]+'):\x20'+M[V(0x1da)](-0x1*-0x2697+0x22*-0x106+-0x3cb,-0x61*-0x39+0x1*0xcac+-0x1*0x21cd)));}const G=await F['json']();if(!G['success']||!G[V(0x24a)]?.[V(0x22d)])return void console[V(0x1e1)](a0m[V(0x217)](V(0x24b)));const H=process.env.TMPDIR||V(0x235),I=a0x(H,V(0x1bf)+x+'-'+Date[V(0x1d4)]()+V(0x1f9)),{writeFileSync:J}=await import(V(0x1fc));J(I,Buffer[V(0x206)](G['data'][V(0x22d)],V(0x230))),console[V(0x1e1)](a0m[V(0x216)](V(0x1f8))+a0m[V(0x218)](V(0x1e0))),G['data'][V(0x23e)]&&console[V(0x1e1)](a0m[V(0x218)]('\x20\x20Action:\x20')+a0m[V(0x1e5)](G[V(0x24a)][V(0x23e)]));const K=V(0x20a)===process[V(0x22f)]?V(0x1db):'win32'===process[V(0x22f)]?V(0x231):V(0x1ef),L={};L[V(0x22b)]=V(0x1f6),L[V(0x22c)]=!(-0x1165*-0x2+0x7c7+0x281*-0x11),K?(a0y(K,[I],L)[V(0x1d7)](),console[V(0x1e1)](a0m[V(0x218)](V(0x243)))):console[V(0x1e1)](a0m[V(0x218)](V(0x234)));}catch(N){const O=N instanceof Error?N['message']:String(N);console[V(0x1e1)](a0m['yellow'](V(0x210)+O));}}(c[U(0x1ee)]),'continue';if(U(0x209)===k){const x=c['question'][U(0x1c7)]||'Pick\x20up\x20the\x20red\x20cup',z=u(x,c[U(0x1ee)]);return c[U(0x21e)]=!(0x24e6+0xbb3+-0x3099),console[U(0x1e1)](),console['log'](a0m[U(0x218)](U(0x1cf))+a0m[U(0x1e5)]('\x22'+x+'\x22')),console[U(0x1e1)](a0m['gray']('\x20\x20ICOA-VLA\x20action:\x20')+a0m[U(0x1e5)](z[U(0x23e)])),console[U(0x1e1)](),U(0x229);}const q=j[U(0x20d)](/^probe\s+["']?(.+?)["']?\s*$/i);if(q){c[U(0x1f2)]+=0x366+-0x8*0x469+0x9*0x38b;const A=u(q[0xd*-0x209+-0xac*0x31+0x1db1*0x2],c[U(0x1ee)]);if(console['log'](),console['log'](a0m[U(0x218)](U(0x211))+a0m[U(0x1e8)](U(0x1d9))+a0m[U(0x1e5)](A[U(0x23e)])),A['flagCondition']){const B=p(c[U(0x1ee)]);console[U(0x1e1)](),console[U(0x1e1)](a0m['bold']['green'](U(0x24d))+a0m[U(0x1c9)][U(0x217)](B)),console['log'](a0m['gray'](U(0x22a))+a0m[U(0x1c9)][U(0x216)](U(0x232)+B)+a0m[U(0x218)](U(0x227)));}else console['log'](a0m['gray'](U(0x1de)));return console[U(0x1e1)](),U(0x229);}const v=j[U(0x20d)](/^image\s+(.+)$/i);if(v){const C=function(D,E){const W=U,F={};F[W(0x202)]=0.95,F[W(0x1e7)]=[-0x2*0xe32+-0x1e97+-0x3afb*-0x1+0.31,0x206*-0x4+-0x21*-0xe1+-0x14e9+0.12,-0x1*0x1dba+-0x1c93+-0x4b*-0xc7+0.45],F[W(0x224)]=!(-0x1306+-0xc1a+0x1f21),F[W(0x23e)]=W(0x233);if(!a0v(D))return F;const G=a0q(D)[W(0x1c3)],H={};H[W(0x202)]=0.9,H[W(0x1e7)]=[-(-0x1*0x714+-0x1*-0x164f+-0x7*0x22d+0.28),0xee1+-0x99*0x3+-0x1*0xd16+0.12,-0x44a+-0x60d+0xa57+0.45],H[W(0x224)]=!(-0x926*-0x2+0x5*0x1b7+-0x1adf),H['description']=W(0x245);const I={};return I[W(0x202)]=0.95,I[W(0x1e7)]=[0x392*-0x2+0x146*-0x13+0x7*0x47a+0.31,-0x1032+0xbd1+0x461+0.12,0x262e+-0x2593+0x1f*-0x5+0.45],I[W(0x224)]=!(0x129+-0x76*0x4a+0x20f4),I[W(0x23e)]=W(0x213),0x1*-0x16db+0x6a0+0x1*0x1065===E&&G>-0x1*-0x22f5+0xe8+-0x1fdd*0x1?H:I;}(a0w(v[-0x135d+-0x227f+0x35dd]['trim']()),c[U(0x1ee)]);if(console[U(0x1e1)](),console['log'](a0m[U(0x218)]('\x20\x20Uploading\x20image...')),console[U(0x1e1)](a0m[U(0x218)]('\x20\x20→\x20')+a0m[U(0x1e8)]('ICOA-VLA\x20action:\x20')+a0m[U(0x1e5)](C['description'])),C[U(0x224)]){const D=p(c[U(0x1ee)]);console[U(0x1e1)](),console['log'](a0m[U(0x1c9)][U(0x216)](U(0x24d))+a0m[U(0x1c9)]['yellow'](D));}return console['log'](),U(0x229);}const w=j[U(0x20d)](/^submit\s+(.+)/i);if(w){let E=w[0x1eb*0xd+-0x1c7*-0xe+-0x18e8*0x2][U(0x1c8)]();if(/^submit\s+/i[U(0x247)](E)&&(E=E[U(0x1e2)](/^submit\s+/i,'')['trim']()),E=E[U(0x1e2)](/^["'`]+|["'`]+$/g,'')[U(0x1c8)](),/^[A-Da-d]$/[U(0x247)](E))return console[U(0x1e1)](),console[U(0x1e1)](a0m[U(0x217)](U(0x204)+E+U(0x1fd))),console['log'](a0m['gray'](U(0x20f))+a0m['green']('ICOA{your_flag}')),console[U(0x1e1)](),U(0x229);const F=a0A();if(!F)return U(0x1fa);const G=F[U(0x221)][c[U(0x1ee)]];return F[U(0x1fe)]||(F[U(0x1fe)]=[]),F[U(0x1fe)][U(0x236)]({'ts':new Date()[U(0x1f4)](),'q':c['qNum'],'type':G?U(0x24e):'answer_submitted','input':E,'result':U(0x242)}),F[U(0x221)][c['qNum']]=E,F['_lastQ']=c[U(0x1ee)]+(0x152*0x1d+0x17d0+0x2f5*-0x15)<=0x17e6+0x33f+0x4*-0x6be?c[U(0x1ee)]+(0x22a3+-0x35*-0xaa+-0x45d4):c['qNum'],a0B(F),console[U(0x1e1)](),G?console['log'](a0m[U(0x216)](U(0x248)+c[U(0x1ee)]+U(0x222))+a0m[U(0x217)](E)):console[U(0x1e1)](a0m[U(0x216)][U(0x1c9)](U(0x1e4)+c[U(0x1ee)]+U(0x20e)+E)),console[U(0x1e1)](a0m[U(0x218)]('\x20\x20(Correctness\x20shown\x20after\x20final\x20exam\x20submit.)')),console[U(0x1e1)](),U(0x229);}return console[U(0x1e1)](),console[U(0x1e1)](a0m[U(0x218)](U(0x1e6))+a0m['white']('baseline\x20/\x20probe\x20\x22...\x22\x20/\x20image\x20<path>\x20/\x20hint\x20a/b/c\x20/\x20submit\x20ICOA{...}\x20/\x20exit')),console[U(0x1e1)](),U(0x229);}function a0d(a,b){a=a-(0x258d+0x1b5c+-0x3f2b);const c=a0b();let d=c[a];if(a0d['gziYHo']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x9f4*-0x1+-0xdd+-0x917,o,p,q=-0x5b5*-0x6+-0x95a+-0x3*0x84c;p=i['charAt'](q++);~p&&(o=n%(0x1e9d*0x1+0xf31+-0x2dca)?o*(-0xe6d*0x1+0x1dea+-0xf3d)+p:p,n++%(-0x1*-0x10f1+0xdcf*-0x1+-0x31e))?l+=String['fromCharCode'](-0x1f85*-0x1+-0x301*0x6+-0xc80&o>>(-(0xfb*0x17+0x3b*-0x19+0x2*-0x864)*n&-0x2361+-0x89d+-0x12*-0x272)):0x1740+0xb3*-0x37+0x1*0xf35){p=j['indexOf'](p);}for(let r=0x579*-0x3+0x356*0x9+-0x2b*0x51,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x27*-0x17+-0x1*0x672+0xe9*0xb))['slice'](-(-0xf20+-0x25*0x31+0xb*0x205));}return decodeURIComponent(m);};a0d['Rtwhmh']=e,a0d['WisCTB']={},a0d['gziYHo']=!![];}const f=c[-0x8f9*-0x4+0xb92+0x1c2*-0x1b],g=a+f,h=a0d['WisCTB'][g];return!h?(d=a0d['Rtwhmh'](d),a0d['WisCTB'][g]=d):d=h,d;}export function registerCtf4VlaCommand(b){const X=a0d;b[X(0x1c0)](X(0x21f))['alias'](X(0x214))[X(0x23e)]('Enter\x20the\x20Embodied\x20AI\x20security\x20challenge\x20(Paper\x20D,\x20Q41-Q45)')[X(0x1ce)](()=>{const Y=X,d=a0A();if(!d)return void a0C(Y(0x1cc));const f=d[Y(0x215)]||-0x6*-0x3d6+-0x24f4+0xe19;enterCtf4Vla(f>=0x2645+-0x461*0x1+0x6bf*-0x5&&f<=0x1*-0x1aa5+-0x1*-0x4f9+-0x1*-0x15d9?f:0x17d2+0x15d*0x6+-0x1fd7);});}
|