@profoundlogic/coderflow-server 0.4.9 → 0.5.1

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.
Files changed (185) hide show
  1. package/README.md +16 -158
  2. package/dist/README.md +16 -158
  3. package/dist/base-image/agent-wrapper.sh +1 -1
  4. package/dist/capture-screenshot.mjs +34 -0
  5. package/dist/coder-server.js +1 -1
  6. package/dist/config/cli-models.json +4 -3
  7. package/dist/config.js +1 -1
  8. package/dist/lib/agent-keepalive.js +1 -1
  9. package/dist/lib/agent-models.js +1 -1
  10. package/dist/lib/api-keys.js +1 -1
  11. package/dist/lib/apiKeys.js +1 -1
  12. package/dist/lib/app-server-ports.js +1 -1
  13. package/dist/lib/auto-judge.js +1 -1
  14. package/dist/lib/automation-service.js +1 -1
  15. package/dist/lib/basic-auth.js +1 -1
  16. package/dist/lib/bindings.js +1 -1
  17. package/dist/lib/build-history.js +1 -1
  18. package/dist/lib/build-output-service.js +1 -1
  19. package/dist/lib/build-scheduler.js +1 -1
  20. package/dist/lib/build-service.js +1 -1
  21. package/dist/lib/ca-certificates.js +1 -1
  22. package/dist/lib/claude-oauth-refresh.js +1 -1
  23. package/dist/lib/cli/build.js +1 -1
  24. package/dist/lib/cli/cleanup-users.js +1 -0
  25. package/dist/lib/cli/config-command.js +1 -1
  26. package/dist/lib/cli/config.js +1 -1
  27. package/dist/lib/cli/create-user.js +1 -1
  28. package/dist/lib/cli/grant-admin.js +1 -0
  29. package/dist/lib/cli/init.js +1 -1
  30. package/dist/lib/cli/jira.js +1 -1
  31. package/dist/lib/cli/license.js +1 -1
  32. package/dist/lib/cli/list-roles.js +1 -0
  33. package/dist/lib/cli/list-users.js +1 -0
  34. package/dist/lib/cli/server-manager.js +1 -1
  35. package/dist/lib/cli/set-password.js +1 -0
  36. package/dist/lib/config-migration.js +1 -1
  37. package/dist/lib/container-credential-sync.js +1 -1
  38. package/dist/lib/container-tokens.js +1 -1
  39. package/dist/lib/data-dir.js +1 -1
  40. package/dist/lib/deployment-history.js +1 -1
  41. package/dist/lib/deployment-service.js +1 -1
  42. package/dist/lib/docker-utils.js +1 -1
  43. package/dist/lib/email.js +1 -1
  44. package/dist/lib/emailTemplates.js +1 -1
  45. package/dist/lib/entitlement.js +1 -1
  46. package/dist/lib/external-connections.js +1 -1
  47. package/dist/lib/fetch-utils.js +1 -1
  48. package/dist/lib/git-commit-details-route.js +1 -1
  49. package/dist/lib/git-history-diff-guardrails.js +1 -1
  50. package/dist/lib/git-provider-service.js +1 -1
  51. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
  52. package/dist/lib/git-provider-setup/index.js +1 -1
  53. package/dist/lib/git-provider-setup/setup-factory.js +1 -1
  54. package/dist/lib/git-provider-setup/setup-interface.js +1 -1
  55. package/dist/lib/git-providers/azure-devops-provider.js +1 -1
  56. package/dist/lib/git-providers/github-app-provider.js +1 -1
  57. package/dist/lib/git-providers/index.js +1 -1
  58. package/dist/lib/git-providers/provider-factory.js +1 -1
  59. package/dist/lib/git-providers/provider-interface.js +1 -1
  60. package/dist/lib/github-urls.js +1 -1
  61. package/dist/lib/group-objective-linking.js +1 -1
  62. package/dist/lib/ibmi-sync.js +1 -0
  63. package/dist/lib/jira-client.js +1 -1
  64. package/dist/lib/judge-blinding.js +1 -1
  65. package/dist/lib/logger.js +1 -1
  66. package/dist/lib/migration-to-scoped-rbac.js +1 -1
  67. package/dist/lib/model-fetcher.js +1 -1
  68. package/dist/lib/notifications.js +1 -1
  69. package/dist/lib/objective-context.js +1 -1
  70. package/dist/lib/oidc-auth.js +1 -1
  71. package/dist/lib/oidc-device-flow.js +1 -1
  72. package/dist/lib/passwordTokens.js +1 -1
  73. package/dist/lib/permission-resolver.js +1 -1
  74. package/dist/lib/pin-cascade.js +1 -1
  75. package/dist/lib/provider-accounts.js +1 -1
  76. package/dist/lib/provider-oauth.js +1 -1
  77. package/dist/lib/provider-profile.js +1 -1
  78. package/dist/lib/provider-token-refresh.js +1 -1
  79. package/dist/lib/rbac-user-state.js +1 -1
  80. package/dist/lib/request-url.js +1 -1
  81. package/dist/lib/rewind.js +1 -1
  82. package/dist/lib/role-definitions.js +1 -1
  83. package/dist/lib/roles.js +1 -1
  84. package/dist/lib/secrets.js +1 -1
  85. package/dist/lib/setup-repo-git-auth.js +1 -1
  86. package/dist/lib/state-capture.js +1 -1
  87. package/dist/lib/static-files.js +1 -1
  88. package/dist/lib/task-name-format.js +1 -1
  89. package/dist/lib/task-name-generator.js +1 -1
  90. package/dist/lib/task-source-metadata.js +1 -1
  91. package/dist/lib/teams.js +1 -1
  92. package/dist/lib/user-git-oauth.js +1 -1
  93. package/dist/lib/user-git-tokens.js +1 -1
  94. package/dist/lib/users.js +1 -1
  95. package/dist/middleware/requireAuth.js +1 -1
  96. package/dist/middleware/requireInit.js +1 -1
  97. package/dist/middleware/requirePermission.js +1 -1
  98. package/dist/package.json +1 -1
  99. package/dist/playwright.config.js +1 -1
  100. package/dist/routes/apiKeys.js +1 -1
  101. package/dist/routes/auth-oidc.js +1 -1
  102. package/dist/routes/auth.js +1 -1
  103. package/dist/routes/automations.js +1 -1
  104. package/dist/routes/bindings.js +1 -1
  105. package/dist/routes/build.js +1 -1
  106. package/dist/routes/containers.js +1 -1
  107. package/dist/routes/deploy-task.js +1 -1
  108. package/dist/routes/environment-management.js +1 -1
  109. package/dist/routes/environments.js +1 -1
  110. package/dist/routes/external-skills.js +1 -1
  111. package/dist/routes/git-credentials.js +1 -1
  112. package/dist/routes/git-oauth.js +1 -1
  113. package/dist/routes/git-provider-setup.js +1 -1
  114. package/dist/routes/health.js +1 -1
  115. package/dist/routes/jira.js +1 -1
  116. package/dist/routes/objective-management.js +1 -1
  117. package/dist/routes/password.js +1 -1
  118. package/dist/routes/prompt.js +1 -1
  119. package/dist/routes/provider-auth.js +1 -1
  120. package/dist/routes/qa.js +1 -1
  121. package/dist/routes/roles.js +1 -1
  122. package/dist/routes/settings.js +1 -1
  123. package/dist/routes/skill-management.js +1 -1
  124. package/dist/routes/skills.js +1 -1
  125. package/dist/routes/tasks.js +1 -1
  126. package/dist/routes/teams.js +1 -1
  127. package/dist/routes/templates.js +1 -1
  128. package/dist/routes/test-task.js +1 -1
  129. package/dist/routes/test.js +1 -1
  130. package/dist/routes/users.js +1 -1
  131. package/dist/routes/visualizations.js +1 -1
  132. package/dist/scripts/create-user.js +1 -1
  133. package/dist/scripts/migrate-config-to-data-dir.js +1 -1
  134. package/dist/scripts/sync_to_ibmi.sh +204 -0
  135. package/dist/start.js +1 -1
  136. package/dist/web-ui/public/activity-detail-modal.js +1 -1
  137. package/dist/web-ui/public/activity-feed.js +1 -1
  138. package/dist/web-ui/public/activity-formatters.js +1 -1
  139. package/dist/web-ui/public/agent-event-parser.js +1 -1
  140. package/dist/web-ui/public/app.js +1 -1
  141. package/dist/web-ui/public/approve-dialog.js +1 -1
  142. package/dist/web-ui/public/automation-links.js +1 -1
  143. package/dist/web-ui/public/automation-schedule.js +1 -1
  144. package/dist/web-ui/public/comments-widget.js +1 -1
  145. package/dist/web-ui/public/diff-utils.js +1 -1
  146. package/dist/web-ui/public/docs/admin/environments.md +1 -0
  147. package/dist/web-ui/public/docs/tasks/approval-and-deployment.md +36 -0
  148. package/dist/web-ui/public/environments.html +1 -1
  149. package/dist/web-ui/public/environments.js +1 -1
  150. package/dist/web-ui/public/feedback-widget.js +1 -1
  151. package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
  152. package/dist/web-ui/public/git-history.js +1 -1
  153. package/dist/web-ui/public/git-status.js +1 -1
  154. package/dist/web-ui/public/index.html +2 -2
  155. package/dist/web-ui/public/index.js +1 -1
  156. package/dist/web-ui/public/login.js +1 -1
  157. package/dist/web-ui/public/markdown-editor.js +1 -1
  158. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  159. package/dist/web-ui/public/modal-maximize.js +1 -1
  160. package/dist/web-ui/public/notifications.js +1 -1
  161. package/dist/web-ui/public/pr-dialog.js +1 -1
  162. package/dist/web-ui/public/roles.html +3 -2
  163. package/dist/web-ui/public/roles.js +1 -1
  164. package/dist/web-ui/public/server-health.js +1 -1
  165. package/dist/web-ui/public/settings.css +3 -2
  166. package/dist/web-ui/public/settings.html +0 -1
  167. package/dist/web-ui/public/settings.js +1 -1
  168. package/dist/web-ui/public/setup-password.js +1 -1
  169. package/dist/web-ui/public/skills.js +1 -1
  170. package/dist/web-ui/public/sse-client.js +1 -1
  171. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  172. package/dist/web-ui/public/styles.css +110 -12
  173. package/dist/web-ui/public/task.html +80 -1
  174. package/dist/web-ui/public/task.js +1 -1
  175. package/dist/web-ui/public/teams.html +76 -81
  176. package/dist/web-ui/public/teams.js +1 -1
  177. package/dist/web-ui/public/terminal.js +1 -1
  178. package/dist/web-ui/public/theme.js +1 -1
  179. package/dist/web-ui/public/users.html +12 -11
  180. package/dist/web-ui/public/users.js +1 -1
  181. package/dist/web-ui/public/variant-grouping.js +1 -1
  182. package/package.json +1 -1
  183. package/dist/lib/cli/migrate-rbac.js +0 -1
  184. package/dist/lib/scoped-rbac-migration-runner.js +0 -1
  185. package/dist/scripts/migrate-to-scoped-rbac.js +0 -2
@@ -1 +1 @@
1
- const _0x5a98a0=_0x139a;(function(_0x258f68,_0x491fc5){const _0x442e75=_0x139a,_0x56d2c9=_0x258f68();while(!![]){try{const _0x150d6c=parseInt(_0x442e75(0x152))/0x1+parseInt(_0x442e75(0x14e))/0x2*(-parseInt(_0x442e75(0x166))/0x3)+parseInt(_0x442e75(0x168))/0x4+parseInt(_0x442e75(0x182))/0x5*(-parseInt(_0x442e75(0x147))/0x6)+-parseInt(_0x442e75(0x16c))/0x7+parseInt(_0x442e75(0x181))/0x8*(-parseInt(_0x442e75(0x156))/0x9)+parseInt(_0x442e75(0x15f))/0xa;if(_0x150d6c===_0x491fc5)break;else _0x56d2c9['push'](_0x56d2c9['shift']());}catch(_0x1c0ef3){_0x56d2c9['push'](_0x56d2c9['shift']());}}}(_0x443a,0x734be));import{initTheme,mountThemeToggle}from'./theme.js';function _0x443a(){const _0x32b631=['DxnLCI1Uyw1L','CMvZzxq','DMLZAwjSzq','zxjYB3i','ANnVBG','zgLZCgXHEq','y2XHC3nmAxn0','rMfPBgvKihrVihnLDcbWyxnZD29YzdO','Dgv4DenVBNrLBNq','DMfSDwu','ywrKrxzLBNrmAxn0zw5LCG','ugfZC3DVCMrZigrVig5VDcbTyxrJAa','lNnLDhvWlwHLywrLCIbW','sw52ywXPzcbVCIbLEhbPCMvKihrVA2vUlIbqBgvHC2uGCMvXDwvZDcbHig5LDYbWyxnZD29YzcbZzxr1CcbSAw5RlG','yMXVy2S','C3rYAw5NAwz5','C2v0DxaTBwvZC2fNzq','mtiZmZaXnLDSCLniCq','ndb2rgfhB3O','y2XHC3noyw1L','C3vIBwL0','mZy5mte0swTZquz3','u2v0ifbHC3n3B3jK','yNv0Dg9Uw3r5Cgu9iNn1yM1PDcjD','rMfPBgvKihrVihzHBgLKyxrLihrVA2vUlIbqBgvHC2uGDhj5igfNywLUig9YignVBNrHy3qGEw91CIbHzg1PBMLZDhjHDg9YlG','ugfZC3DVCMqGBxvZDcbIzsbHDcbSzwfZDca4ignOyxjHy3rLCNmGBg9UzW','rMfPBgvKihrVihzHBgLKyxrLihrVA2vUoG','u2v0DgLUzYbWyxnZD29Yzc4UlG','mJroB2nsvxO','re9nq29UDgvUDeXVywrLza','l3bHC3n3B3jKl3nLDhvW','BM9Uzq','mZq5mJG3qwLbwfjK','y29UzMLYBs1WyxnZD29Yza','rMfPBgvKihrVihnLDcbWyxnZD29Yzc4GugXLyxnLihrYEsbHz2fPBI4','BMfTzq','ntr6ru5uq1O','zM9JDxm','Bg9JyxrPB24','AhjLzG','z2v0rwXLBwvUDej5swq','uMvZzxqGEw91CIbWyxnZD29Yza','CMvTB3zL','DhLWzq','l3bHC3n3B3jKl3zHBgLKyxrLlxrVA2vUp3rVA2vUpq','mtm1mZC2mJbvsM9PvgK','C2v0DxaTBwvZC2fNzsa','CxvLCNLtzwXLy3rVCG','ue9tva','Bg9HzgLUzW','tM8GDg9Rzw4GChjVDMLKzwqUifbSzwfZzsbJAgvJAYb0AguGBgLUAYb5B3uGCMvJzwL2zwqU','C3r5Bgu','nty1nZfREfHLD1y','DMfSAwq','mtKWnJq4mhP0vKHMrW','Dg9Rzw4','z2v0','DxnLCG','ndq5nte5qKXbugzM','ihzPC2LIBgu','BgvUz3rO','CgfZC3DVCMq'];_0x443a=function(){return _0x32b631;};return _0x443a();}initTheme();function _0x139a(_0xabd1bb,_0x4e7c30){_0xabd1bb=_0xabd1bb-0x146;const _0x443a5b=_0x443a();let _0x139af0=_0x443a5b[_0xabd1bb];if(_0x139a['YKnZmA']===undefined){var _0x31aeea=function(_0x24b8cb){const _0x4c5eef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4422fb='',_0x11981b='';for(let _0x78b05b=0x0,_0x5262c7,_0x4760f7,_0x32c23d=0x0;_0x4760f7=_0x24b8cb['charAt'](_0x32c23d++);~_0x4760f7&&(_0x5262c7=_0x78b05b%0x4?_0x5262c7*0x40+_0x4760f7:_0x4760f7,_0x78b05b++%0x4)?_0x4422fb+=String['fromCharCode'](0xff&_0x5262c7>>(-0x2*_0x78b05b&0x6)):0x0){_0x4760f7=_0x4c5eef['indexOf'](_0x4760f7);}for(let _0x54789a=0x0,_0x4cbb39=_0x4422fb['length'];_0x54789a<_0x4cbb39;_0x54789a++){_0x11981b+='%'+('00'+_0x4422fb['charCodeAt'](_0x54789a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11981b);};_0x139a['TIQbbg']=_0x31aeea,_0x139a['CxBKDm']={},_0x139a['YKnZmA']=!![];}const _0x56f1e2=_0x443a5b[0x0],_0x3eb5fe=_0xabd1bb+_0x56f1e2,_0x17aed6=_0x139a['CxBKDm'][_0x3eb5fe];return!_0x17aed6?(_0x139af0=_0x139a['TIQbbg'](_0x139af0),_0x139a['CxBKDm'][_0x3eb5fe]=_0x139af0):_0x139af0=_0x17aed6,_0x139af0;}const urlParams=new URLSearchParams(window[_0x5a98a0(0x158)]['search']),token=urlParams[_0x5a98a0(0x16a)](_0x5a98a0(0x169)),loadingEl=document[_0x5a98a0(0x15a)](_0x5a98a0(0x163)),setupContentEl=document[_0x5a98a0(0x15a)]('setup-content'),setupFormEl=document[_0x5a98a0(0x15a)]('setup-form'),setupMessageEl=document[_0x5a98a0(0x15a)](_0x5a98a0(0x180)),userUsernameEl=document[_0x5a98a0(0x15a)]('user-username'),userNameEl=document[_0x5a98a0(0x15a)](_0x5a98a0(0x170)),passwordInput=document[_0x5a98a0(0x15a)](_0x5a98a0(0x16f)),confirmPasswordInput=document[_0x5a98a0(0x15a)](_0x5a98a0(0x153)),submitButton=setupFormEl?.['querySelector'](_0x5a98a0(0x149));function showMessage(_0x4422fb,_0x11981b=_0x5a98a0(0x173)){const _0x14f218=_0x5a98a0;setupMessageEl[_0x14f218(0x178)]=_0x4422fb,setupMessageEl[_0x14f218(0x183)]=_0x14f218(0x160)+_0x11981b+_0x14f218(0x16d);}function hideMessage(){const _0x5d4fc0=_0x5a98a0;setupMessageEl[_0x5d4fc0(0x183)]=_0x5d4fc0(0x180);}function showError(_0x78b05b){const _0x3fdb08=_0x5a98a0;loadingEl[_0x3fdb08(0x176)][_0x3fdb08(0x15c)](_0x3fdb08(0x172)),setupContentEl[_0x3fdb08(0x165)]['display']=_0x3fdb08(0x17e),document[_0x3fdb08(0x15a)]('user-info')[_0x3fdb08(0x165)][_0x3fdb08(0x175)]='none',setupFormEl['style'][_0x3fdb08(0x175)]=_0x3fdb08(0x151),showMessage(_0x78b05b,_0x3fdb08(0x173));}async function validateToken(){const _0x5283f0=_0x5a98a0;if(!token){showError(_0x5283f0(0x164));return;}try{const _0x5262c7=await fetch(_0x5283f0(0x15e)+encodeURIComponent(token)),_0x4760f7=await _0x5262c7[_0x5283f0(0x174)]();if(!_0x4760f7[_0x5283f0(0x167)]){showError(_0x4760f7['error']||_0x5283f0(0x17d));return;}loadingEl['classList'][_0x5283f0(0x15c)](_0x5283f0(0x172)),setupContentEl[_0x5283f0(0x165)][_0x5283f0(0x175)]='block',userUsernameEl[_0x5283f0(0x178)]=_0x4760f7['user']['username'],userNameEl['textContent']=_0x4760f7[_0x5283f0(0x16b)][_0x5283f0(0x155)];const _0x32c23d=document[_0x5283f0(0x161)](_0x5283f0(0x17c));_0x4760f7[_0x5283f0(0x15d)]===_0x5283f0(0x171)?_0x32c23d[_0x5283f0(0x178)]=_0x5283f0(0x15b):_0x32c23d['textContent']='Create\x20a\x20secure\x20password\x20for\x20your\x20account',passwordInput['focus']();}catch(_0x54789a){console[_0x5283f0(0x173)](_0x5283f0(0x14c),_0x54789a),showError(_0x5283f0(0x14a));}}async function handleSubmit(_0x4cbb39){const _0x668236=_0x5a98a0;_0x4cbb39['preventDefault'](),hideMessage();const _0x5d277d=passwordInput[_0x668236(0x179)],_0x41d034=confirmPasswordInput[_0x668236(0x179)];if(_0x5d277d!==_0x41d034){showMessage(_0x668236(0x17b),_0x668236(0x173)),confirmPasswordInput['focus']();return;}if(_0x5d277d[_0x668236(0x16e)]<0x8){showMessage(_0x668236(0x14b),_0x668236(0x173)),passwordInput[_0x668236(0x157)]();return;}submitButton['disabled']=!![],submitButton['textContent']=_0x668236(0x14d);try{const _0x27a57b=await fetch(_0x668236(0x150),{'method':_0x668236(0x162),'headers':{'Content-Type':'application/json'},'body':JSON[_0x668236(0x17f)]({'token':token,'password':_0x5d277d})}),_0x4a54ee=await _0x27a57b[_0x668236(0x174)]();if(!_0x27a57b['ok'])throw new Error(_0x4a54ee[_0x668236(0x173)]||'Failed\x20to\x20set\x20password');showMessage('Password\x20set\x20successfully!\x20Redirecting\x20to\x20login...','success'),setupFormEl[_0x668236(0x171)](),setTimeout(()=>{const _0x27852c=_0x668236;window[_0x27852c(0x158)][_0x27852c(0x159)]='/login.html';},0x7d0);}catch(_0x14f9d3){console[_0x668236(0x173)](_0x668236(0x177),_0x14f9d3),showMessage(_0x14f9d3['message']||_0x668236(0x154),_0x668236(0x173)),submitButton['disabled']=![],submitButton['textContent']=_0x668236(0x148);}}setupFormEl&&setupFormEl['addEventListener'](_0x5a98a0(0x146),handleSubmit);validateToken(),document[_0x5a98a0(0x17a)](_0x5a98a0(0x14f),()=>{mountThemeToggle();});
1
+ const _0x2184e0=_0x366b;(function(_0x440302,_0x5bd4e6){const _0x58f40c=_0x366b,_0x3f9802=_0x440302();while(!![]){try{const _0x2d7352=-parseInt(_0x58f40c(0x1c9))/0x1*(parseInt(_0x58f40c(0x1ac))/0x2)+-parseInt(_0x58f40c(0x1a5))/0x3+-parseInt(_0x58f40c(0x1ca))/0x4+-parseInt(_0x58f40c(0x1ae))/0x5*(-parseInt(_0x58f40c(0x1cd))/0x6)+-parseInt(_0x58f40c(0x1c4))/0x7+parseInt(_0x58f40c(0x1a7))/0x8*(parseInt(_0x58f40c(0x1b1))/0x9)+parseInt(_0x58f40c(0x1b5))/0xa;if(_0x2d7352===_0x5bd4e6)break;else _0x3f9802['push'](_0x3f9802['shift']());}catch(_0x279d03){_0x3f9802['push'](_0x3f9802['shift']());}}}(_0x3299,0x1eb86));import{initTheme,mountThemeToggle}from'./theme.js';initTheme();const urlParams=new URLSearchParams(window[_0x2184e0(0x190)]['search']),token=urlParams[_0x2184e0(0x1a4)](_0x2184e0(0x1cb)),loadingEl=document['getElementById'](_0x2184e0(0x1bb)),setupContentEl=document['getElementById']('setup-content'),setupFormEl=document[_0x2184e0(0x1b4)]('setup-form'),setupMessageEl=document[_0x2184e0(0x1b4)](_0x2184e0(0x1ab)),userUsernameEl=document[_0x2184e0(0x1b4)](_0x2184e0(0x1a9)),userNameEl=document[_0x2184e0(0x1b4)]('user-name'),passwordInput=document[_0x2184e0(0x1b4)](_0x2184e0(0x197)),confirmPasswordInput=document[_0x2184e0(0x1b4)](_0x2184e0(0x19f)),submitButton=setupFormEl?.[_0x2184e0(0x1af)](_0x2184e0(0x1cf));function _0x366b(_0x1af2f3,_0x413585){_0x1af2f3=_0x1af2f3-0x18f;const _0x329904=_0x3299();let _0x366b73=_0x329904[_0x1af2f3];if(_0x366b['gniSZL']===undefined){var _0x5127e4=function(_0x6659ea){const _0x8b052d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2241ac='',_0x327629='';for(let _0x5d50c6=0x0,_0x62ad85,_0x1e594a,_0x35b1eb=0x0;_0x1e594a=_0x6659ea['charAt'](_0x35b1eb++);~_0x1e594a&&(_0x62ad85=_0x5d50c6%0x4?_0x62ad85*0x40+_0x1e594a:_0x1e594a,_0x5d50c6++%0x4)?_0x2241ac+=String['fromCharCode'](0xff&_0x62ad85>>(-0x2*_0x5d50c6&0x6)):0x0){_0x1e594a=_0x8b052d['indexOf'](_0x1e594a);}for(let _0x4a0b8e=0x0,_0x374f50=_0x2241ac['length'];_0x4a0b8e<_0x374f50;_0x4a0b8e++){_0x327629+='%'+('00'+_0x2241ac['charCodeAt'](_0x4a0b8e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x327629);};_0x366b['JWAmhK']=_0x5127e4,_0x366b['vEFCsq']={},_0x366b['gniSZL']=!![];}const _0x489311=_0x329904[0x0],_0x1d8cf9=_0x1af2f3+_0x489311,_0x30d78e=_0x366b['vEFCsq'][_0x1d8cf9];return!_0x30d78e?(_0x366b73=_0x366b['JWAmhK'](_0x366b73),_0x366b['vEFCsq'][_0x1d8cf9]=_0x366b73):_0x366b73=_0x30d78e,_0x366b73;}function showMessage(_0x2241ac,_0x327629='error'){const _0x5daff9=_0x2184e0;setupMessageEl['textContent']=_0x2241ac,setupMessageEl[_0x5daff9(0x19d)]=_0x5daff9(0x1a1)+_0x327629+_0x5daff9(0x1c3);}function hideMessage(){const _0x50195e=_0x2184e0;setupMessageEl[_0x50195e(0x19d)]=_0x50195e(0x1ab);}function showError(_0x5d50c6){const _0x5a8f9c=_0x2184e0;loadingEl[_0x5a8f9c(0x1a0)][_0x5a8f9c(0x1b0)](_0x5a8f9c(0x1cc)),setupContentEl['style'][_0x5a8f9c(0x1b3)]=_0x5a8f9c(0x19a),document['getElementById'](_0x5a8f9c(0x1c5))['style']['display']='none',setupFormEl[_0x5a8f9c(0x1be)][_0x5a8f9c(0x1b3)]=_0x5a8f9c(0x1b9),showMessage(_0x5d50c6,_0x5a8f9c(0x1ad));}async function validateToken(){const _0x2008b7=_0x2184e0;if(!token){showError(_0x2008b7(0x191));return;}try{const _0x62ad85=await fetch(_0x2008b7(0x19b)+encodeURIComponent(token)),_0x1e594a=await _0x62ad85[_0x2008b7(0x1bf)]();if(!_0x1e594a[_0x2008b7(0x198)]){showError(_0x1e594a[_0x2008b7(0x1ad)]||_0x2008b7(0x1b2));return;}loadingEl[_0x2008b7(0x1a0)]['remove'](_0x2008b7(0x1cc)),setupContentEl[_0x2008b7(0x1be)][_0x2008b7(0x1b3)]=_0x2008b7(0x19a),userUsernameEl[_0x2008b7(0x1a6)]=_0x1e594a[_0x2008b7(0x1ce)][_0x2008b7(0x199)],userNameEl[_0x2008b7(0x1a6)]=_0x1e594a[_0x2008b7(0x1ce)][_0x2008b7(0x1ba)];const _0x35b1eb=document[_0x2008b7(0x1af)]('.setup-header\x20p');_0x1e594a[_0x2008b7(0x1c7)]===_0x2008b7(0x1bd)?_0x35b1eb[_0x2008b7(0x1a6)]=_0x2008b7(0x1bc):_0x35b1eb[_0x2008b7(0x1a6)]=_0x2008b7(0x18f),passwordInput['focus']();}catch(_0x4a0b8e){console['error'](_0x2008b7(0x1c8),_0x4a0b8e),showError('Failed\x20to\x20validate\x20token.\x20Please\x20try\x20again\x20or\x20contact\x20your\x20administrator.');}}async function handleSubmit(_0x374f50){const _0x11c612=_0x2184e0;_0x374f50[_0x11c612(0x1c6)](),hideMessage();const _0x3ee301=passwordInput[_0x11c612(0x1a8)],_0x2a8cc0=confirmPasswordInput[_0x11c612(0x1a8)];if(_0x3ee301!==_0x2a8cc0){showMessage('Passwords\x20do\x20not\x20match','error'),confirmPasswordInput['focus']();return;}if(_0x3ee301[_0x11c612(0x192)]<0x8){showMessage(_0x11c612(0x1b6),_0x11c612(0x1ad)),passwordInput[_0x11c612(0x1d0)]();return;}submitButton['disabled']=!![],submitButton[_0x11c612(0x1a6)]='Setting\x20password...';try{const _0x45beef=await fetch('/password/setup',{'method':_0x11c612(0x1aa),'headers':{'Content-Type':_0x11c612(0x1a3)},'body':JSON[_0x11c612(0x1a2)]({'token':token,'password':_0x3ee301})}),_0x485599=await _0x45beef[_0x11c612(0x1bf)]();if(!_0x45beef['ok'])throw new Error(_0x485599['error']||_0x11c612(0x1b8));showMessage('Password\x20set\x20successfully!\x20Redirecting\x20to\x20login...',_0x11c612(0x193)),setupFormEl[_0x11c612(0x1bd)](),setTimeout(()=>{const _0x187246=_0x11c612;window[_0x187246(0x190)][_0x187246(0x19c)]=_0x187246(0x1c0);},0x7d0);}catch(_0x25a59c){console[_0x11c612(0x1ad)](_0x11c612(0x196),_0x25a59c),showMessage(_0x25a59c[_0x11c612(0x195)]||_0x11c612(0x194),_0x11c612(0x1ad)),submitButton[_0x11c612(0x1c2)]=![],submitButton[_0x11c612(0x1a6)]=_0x11c612(0x19e);}}setupFormEl&&setupFormEl[_0x2184e0(0x1b7)](_0x2184e0(0x1c1),handleSubmit);function _0x3299(){const _0x4e4f12=['l3bHC3n3B3jKl3zHBgLKyxrLlxrVA2vUp3rVA2vUpq','AhjLzG','y2XHC3noyw1L','u2v0ifbHC3n3B3jK','y29UzMLYBs1WyxnZD29Yza','y2XHC3nmAxn0','C2v0DxaTBwvZC2fNzsa','C3rYAw5NAwz5','yxbWBgLJyxrPB24VANnVBG','z2v0','mte0nJnRCg1oswy','Dgv4DenVBNrLBNq','ogHyzKThDa','DMfSDwu','DxnLCI11C2vYBMfTzq','ue9tva','C2v0DxaTBwvZC2fNzq','nZz0r1f3zNK','zxjYB3i','mtvrswD5BeW','CxvLCNLtzwXLy3rVCG','CMvTB3zL','mtyXmZq1n2vQrNnwwG','sw52ywXPzcbVCIbLEhbPCMvKihrVA2vUlIbqBgvHC2uGCMvXDwvZDcbHig5LDYbWyxnZD29YzcbZzxr1CcbSAw5RlG','zgLZCgXHEq','z2v0rwXLBwvUDej5swq','nda2ntmYmhnVthrVAa','ugfZC3DVCMqGBxvZDcbIzsbHDcbSzwfZDca4ignOyxjHy3rLCNmGBg9UzW','ywrKrxzLBNrmAxn0zw5LCG','rMfPBgvKihrVihnLDcbWyxnZD29Yza','BM9Uzq','BMfTzq','Bg9HzgLUzW','uMvZzxqGEw91CIbWyxnZD29Yza','CMvZzxq','C3r5Bgu','ANnVBG','l2XVz2LUlMH0BwW','C3vIBwL0','zgLZywjSzwq','ihzPC2LIBgu','mtiXotu0mfrQyKXqtW','DxnLCI1PBMzV','ChjLDMvUDerLzMf1Bhq','DhLWzq','rMfPBgvKihrVihzHBgLKyxrLihrVA2vUoG','otu4s2TYtgfY','otG0mtq4t0DuuuDg','Dg9Rzw4','DMLZAwjSzq','mtaXneHQyMjvEq','DxnLCG','yNv0Dg9Uw3r5Cgu9iNn1yM1PDcjD','zM9JDxm','q3jLyxrLigeGC2vJDxjLihbHC3n3B3jKigzVCIb5B3vYigfJy291BNq','Bg9JyxrPB24','tM8GDg9Rzw4GChjVDMLKzwqUifbSzwfZzsbJAgvJAYb0AguGBgLUAYb5B3uGCMvJzwL2zwqU','BgvUz3rO','C3vJy2vZCW','rMfPBgvKihrVihnLDcbWyxnZD29Yzc4GugXLyxnLihrYEsbHz2fPBI4','BwvZC2fNzq','rMfPBgvKihrVihnLDcbWyxnZD29YzdO','CgfZC3DVCMq','DMfSAwq','DxnLCM5HBwu','yMXVy2S'];_0x3299=function(){return _0x4e4f12;};return _0x3299();}validateToken(),document[_0x2184e0(0x1b7)]('DOMContentLoaded',()=>{mountThemeToggle();});