@profoundlogic/coderflow-server 0.5.0 → 0.5.2

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 +15 -163
  2. package/dist/README.md +15 -163
  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 +39 -12
  173. package/dist/web-ui/public/task.html +56 -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 _0x2b351f=_0xa29e;(function(_0x35f4f5,_0x880d66){const _0x278549=_0xa29e,_0x4c35e9=_0x35f4f5();while(!![]){try{const _0x4b8aea=parseInt(_0x278549(0x250))/0x1+parseInt(_0x278549(0x25d))/0x2*(-parseInt(_0x278549(0x205))/0x3)+parseInt(_0x278549(0x23b))/0x4+parseInt(_0x278549(0x2a7))/0x5+parseInt(_0x278549(0x2b8))/0x6+-parseInt(_0x278549(0x32d))/0x7+-parseInt(_0x278549(0x2ca))/0x8;if(_0x4b8aea===_0x880d66)break;else _0x4c35e9['push'](_0x4c35e9['shift']());}catch(_0x2fbd0f){_0x4c35e9['push'](_0x4c35e9['shift']());}}}(_0x8fc9,0xd26d9));function detectApiBase(){const _0x3e7748=_0xa29e,_0x447092=window[_0x3e7748(0x317)][_0x3e7748(0x293)],_0x2b28a7=_0x447092[_0x3e7748(0x2c5)](/^(\/tasks\/[^/]+\/app\/[^/]+)/);if(_0x2b28a7)return console['log'](_0x3e7748(0x129),_0x2b28a7[0x1]),_0x2b28a7[0x1];return'';}const API_BASE=detectApiBase();export const API={async 'getTaskStats'(_0x31bf26={}){const _0xa8ee20=_0xa29e,_0x5733c8=new URLSearchParams();_0x31bf26[_0xa8ee20(0x108)]&&_0x5733c8[_0xa8ee20(0x214)](_0xa8ee20(0x108),String(_0x31bf26[_0xa8ee20(0x108)]));_0x31bf26[_0xa8ee20(0x26b)]&&_0x5733c8[_0xa8ee20(0x214)]('automation',String(_0x31bf26[_0xa8ee20(0x26b)]));const _0x2348a8=API_BASE+_0xa8ee20(0x2b7)+(_0x5733c8[_0xa8ee20(0x1f4)]()?'?'+_0x5733c8['toString']():''),_0x5a3d12=await fetch(_0x2348a8);if(!_0x5a3d12['ok'])throw new Error(_0xa8ee20(0x192)+_0x5a3d12[_0xa8ee20(0x29b)]);return await _0x5a3d12[_0xa8ee20(0x28e)]();},async 'getTasks'(_0x881c21={}){const _0x4ef091=_0xa29e,_0x18f0f1=new URLSearchParams();_0x881c21['status']&&_0x18f0f1[_0x4ef091(0x214)]('status',String(_0x881c21['status']));_0x881c21['environment']&&_0x18f0f1['set']('environment',String(_0x881c21['environment']));_0x881c21[_0x4ef091(0x26b)]&&_0x18f0f1[_0x4ef091(0x214)](_0x4ef091(0x26b),String(_0x881c21['automation']));if(_0x881c21[_0x4ef091(0x208)]){const _0x3271e6=Array['isArray'](_0x881c21[_0x4ef091(0x208)])?_0x881c21[_0x4ef091(0x208)][_0x4ef091(0x14e)](','):String(_0x881c21[_0x4ef091(0x208)]);_0x3271e6&&_0x18f0f1[_0x4ef091(0x214)]('include',_0x3271e6);}_0x881c21['filter']&&_0x18f0f1[_0x4ef091(0x214)](_0x4ef091(0x263),String(_0x881c21[_0x4ef091(0x263)]));_0x881c21[_0x4ef091(0x1be)]&&_0x18f0f1[_0x4ef091(0x214)](_0x4ef091(0x1be),String(_0x881c21[_0x4ef091(0x1be)]));_0x881c21[_0x4ef091(0x2bb)]&&_0x18f0f1[_0x4ef091(0x214)](_0x4ef091(0x2bb),String(_0x881c21['limit']));_0x881c21[_0x4ef091(0x108)]&&_0x18f0f1[_0x4ef091(0x214)](_0x4ef091(0x108),String(_0x881c21[_0x4ef091(0x108)]));_0x881c21[_0x4ef091(0x155)]&&_0x18f0f1[_0x4ef091(0x214)](_0x4ef091(0x155),String(_0x881c21[_0x4ef091(0x155)]));_0x881c21['includeChildTasks']&&_0x18f0f1[_0x4ef091(0x214)](_0x4ef091(0x2d0),'true');const _0x668532=API_BASE+_0x4ef091(0x251)+(_0x18f0f1['toString']()?'?'+_0x18f0f1[_0x4ef091(0x1f4)]():''),_0x5c1d17=await fetch(_0x668532);if(!_0x5c1d17['ok'])throw new Error('Failed\x20to\x20fetch\x20tasks:\x20'+_0x5c1d17['statusText']);return await _0x5c1d17[_0x4ef091(0x28e)]();},async 'getAutomations'(_0x48cd30={}){const _0x31dd57=_0xa29e,_0x445e1b=new URLSearchParams();_0x48cd30[_0x31dd57(0x289)]&&_0x445e1b['set']('environment',String(_0x48cd30[_0x31dd57(0x289)]));const _0x3d0282=await fetch(API_BASE+_0x31dd57(0x299)+(_0x445e1b[_0x31dd57(0x1f4)]()?'?'+_0x445e1b[_0x31dd57(0x1f4)]():''));if(!_0x3d0282['ok']){const _0x3f2e74=await _0x3d0282[_0x31dd57(0x28e)]()[_0x31dd57(0x209)](()=>({}));throw new Error(_0x3f2e74[_0x31dd57(0x1a1)]||_0x3f2e74[_0x31dd57(0x143)]||_0x31dd57(0x197)+_0x3d0282['statusText']);}return await _0x3d0282[_0x31dd57(0x28e)]();},async 'getAutomation'(_0x56013a){const _0x4b4545=_0xa29e,_0xb0806d=await fetch(API_BASE+_0x4b4545(0x304)+encodeURIComponent(_0x56013a));if(!_0xb0806d['ok']){const _0x47a5dd=await _0xb0806d['json']()['catch'](()=>({}));throw new Error(_0x47a5dd[_0x4b4545(0x1a1)]||_0x47a5dd[_0x4b4545(0x143)]||_0x4b4545(0x113)+_0xb0806d[_0x4b4545(0x29b)]);}return await _0xb0806d[_0x4b4545(0x28e)]();},async 'createAutomation'(_0x2b80c8){const _0x68b613=_0xa29e,_0x335d76=await fetch(API_BASE+'/api/automations',{'method':_0x68b613(0x2b4),'headers':{'Content-Type':'application/json'},'body':JSON[_0x68b613(0x31e)](_0x2b80c8||{})});if(!_0x335d76['ok']){const _0x247368=await _0x335d76[_0x68b613(0x28e)]()['catch'](()=>({}));throw new Error(_0x247368[_0x68b613(0x1a1)]||_0x247368['error']||'Failed\x20to\x20create\x20automation:\x20'+_0x335d76[_0x68b613(0x29b)]);}return await _0x335d76['json']();},async 'updateAutomation'(_0x12d1a0,_0xc3b33a){const _0x476f40=_0xa29e,_0x3a9f4a=await fetch(API_BASE+_0x476f40(0x304)+encodeURIComponent(_0x12d1a0),{'method':'PATCH','headers':{'Content-Type':'application/json'},'body':JSON[_0x476f40(0x31e)](_0xc3b33a||{})});if(!_0x3a9f4a['ok']){const _0x10714b=await _0x3a9f4a['json']()[_0x476f40(0x209)](()=>({}));throw new Error(_0x10714b['message']||_0x10714b['error']||'Failed\x20to\x20update\x20automation:\x20'+_0x3a9f4a[_0x476f40(0x29b)]);}return await _0x3a9f4a[_0x476f40(0x28e)]();},async 'deleteAutomation'(_0x588e7c){const _0x1ef11a=_0xa29e,_0x1747ce=await fetch(API_BASE+'/api/automations/'+encodeURIComponent(_0x588e7c),{'method':_0x1ef11a(0x301)});if(!_0x1747ce['ok']){const _0x3c4e86=await _0x1747ce[_0x1ef11a(0x28e)]()[_0x1ef11a(0x209)](()=>({}));throw new Error(_0x3c4e86[_0x1ef11a(0x1a1)]||_0x3c4e86[_0x1ef11a(0x143)]||_0x1ef11a(0x131)+_0x1747ce[_0x1ef11a(0x29b)]);}return await _0x1747ce['json']();},async 'triggerAutomation'(_0x16fdd5){const _0x3671de=_0xa29e,_0xbd134a=await fetch(API_BASE+_0x3671de(0x304)+encodeURIComponent(_0x16fdd5)+_0x3671de(0x2fb),{'method':_0x3671de(0x2b4)});if(!_0xbd134a['ok']){const _0xac2e1a=await _0xbd134a[_0x3671de(0x28e)]()['catch'](()=>({}));throw new Error(_0xac2e1a['message']||_0xac2e1a[_0x3671de(0x143)]||_0x3671de(0x154)+_0xbd134a['statusText']);}return await _0xbd134a[_0x3671de(0x28e)]();},async 'setAutomationEnabled'(_0x3b3cb7,_0x5784b1){const _0x46142b=_0xa29e,_0x2fb289=await fetch(API_BASE+_0x46142b(0x304)+encodeURIComponent(_0x3b3cb7)+'/enabled',{'method':_0x46142b(0x2c9),'headers':{'Content-Type':_0x46142b(0x2b3)},'body':JSON['stringify']({'enabled':!!_0x5784b1})});if(!_0x2fb289['ok']){const _0xc3f959=await _0x2fb289[_0x46142b(0x28e)]()[_0x46142b(0x209)](()=>({}));throw new Error(_0xc3f959['message']||_0xc3f959['error']||_0x46142b(0x241)+_0x2fb289[_0x46142b(0x29b)]);}return await _0x2fb289[_0x46142b(0x28e)]();},async 'getAutomationHistory'(_0x416ec7,_0x8954f4=0x32){const _0x315823=_0xa29e,_0x4c6461=await fetch(API_BASE+_0x315823(0x304)+encodeURIComponent(_0x416ec7)+_0x315823(0x2da)+encodeURIComponent(String(_0x8954f4)));if(!_0x4c6461['ok']){const _0x3540f3=await _0x4c6461['json']()['catch'](()=>({}));throw new Error(_0x3540f3[_0x315823(0x1a1)]||_0x3540f3[_0x315823(0x143)]||_0x315823(0x2ac)+_0x4c6461[_0x315823(0x29b)]);}return await _0x4c6461[_0x315823(0x28e)]();},async 'getTask'(_0x11ef39,_0x3336b0={}){const _0xb3a228=_0xa29e,_0x213044=new URLSearchParams();if(_0x3336b0[_0xb3a228(0x208)]){const _0xee5ad2=Array[_0xb3a228(0x1ec)](_0x3336b0['include'])?_0x3336b0['include'][_0xb3a228(0x14e)](','):String(_0x3336b0[_0xb3a228(0x208)]);if(_0xee5ad2)_0x213044['set'](_0xb3a228(0x208),_0xee5ad2);}const _0x12f2d5=await fetch(API_BASE+_0xb3a228(0x18b)+_0x11ef39+(_0x213044['toString']()?'?'+_0x213044[_0xb3a228(0x1f4)]():''));if(!_0x12f2d5['ok'])throw new Error(_0xb3a228(0x11c)+_0x12f2d5[_0xb3a228(0x29b)]);return await _0x12f2d5[_0xb3a228(0x28e)]();},async 'getTaskResults'(_0x2b6983){const _0x2455b6=_0xa29e,_0x1187be=await fetch(API_BASE+_0x2455b6(0x18b)+_0x2b6983+_0x2455b6(0x2e1));if(!_0x1187be['ok'])throw new Error(_0x2455b6(0x132)+_0x1187be[_0x2455b6(0x29b)]);return await _0x1187be[_0x2455b6(0x28e)]();},async 'getTaskPatches'(_0x6319a){const _0x2c6081=_0xa29e,_0x2bf281=await fetch(API_BASE+'/tasks/'+_0x6319a+'/patches');if(!_0x2bf281['ok'])throw new Error(_0x2c6081(0x34e)+_0x2bf281[_0x2c6081(0x29b)]);return await _0x2bf281[_0x2c6081(0x28e)]();},async 'getTaskAttachments'(_0x405607){const _0x2557dc=_0xa29e,_0xe0a144=await fetch(API_BASE+_0x2557dc(0x18b)+_0x405607+'/attachments');if(!_0xe0a144['ok'])throw new Error('Failed\x20to\x20fetch\x20attachments:\x20'+_0xe0a144[_0x2557dc(0x29b)]);return await _0xe0a144[_0x2557dc(0x28e)]();},async 'uploadAttachments'(_0x106b58,_0x23e3b8){const _0x42c140=_0xa29e,_0xf77a15=new FormData();for(const _0x2b5354 of _0x23e3b8){_0xf77a15[_0x42c140(0x2bc)]('attachments',_0x2b5354);}const _0x139b8f=await fetch(API_BASE+_0x42c140(0x18b)+_0x106b58+_0x42c140(0x1d9),{'method':_0x42c140(0x2b4),'body':_0xf77a15});if(!_0x139b8f['ok'])throw new Error(_0x42c140(0x367)+_0x139b8f[_0x42c140(0x29b)]);return await _0x139b8f[_0x42c140(0x28e)]();},async 'isAINameGenerationAvailable'(){const _0x55f822=_0xa29e;try{const _0x38d962=await fetch(API_BASE+_0x55f822(0x1b9));if(!_0x38d962['ok'])return{'available':![],'reason':_0x55f822(0x196)};return await _0x38d962[_0x55f822(0x28e)]();}catch(_0x4e0336){return{'available':![],'reason':_0x4e0336[_0x55f822(0x1a1)]};}},async 'generateTaskName'(_0x4678fd){const _0x442c46=_0xa29e;try{const _0x18a2b7=await fetch(API_BASE+'/tasks/generate-name',{'method':_0x442c46(0x2b4),'headers':{'Content-Type':'application/json'},'body':JSON[_0x442c46(0x31e)]({'instructions':_0x4678fd})});return await _0x18a2b7[_0x442c46(0x28e)]();}catch(_0x5927c7){return{'success':![],'error':_0x5927c7[_0x442c46(0x1a1)]};}},async 'createTask'(_0x3e2f1c){const _0x3645ed=_0xa29e;let _0x1e7094,_0x40f3a2={};if(_0x3e2f1c['files']&&_0x3e2f1c[_0x3645ed(0x309)]['length']>0x0){const _0x5150c7=new FormData();for(const [_0x6d7fa7,_0x1e62b6]of Object['entries'](_0x3e2f1c)){if(_0x6d7fa7!==_0x3645ed(0x309)){if(_0x1e62b6==null)continue;typeof _0x1e62b6===_0x3645ed(0x305)?_0x5150c7[_0x3645ed(0x2bc)](_0x6d7fa7,JSON[_0x3645ed(0x31e)](_0x1e62b6)):_0x5150c7['append'](_0x6d7fa7,String(_0x1e62b6));}}for(const _0x57fd84 of _0x3e2f1c[_0x3645ed(0x309)]){_0x5150c7[_0x3645ed(0x2bc)](_0x3645ed(0x195),_0x57fd84);}_0x1e7094=_0x5150c7;}else _0x40f3a2[_0x3645ed(0x24a)]=_0x3645ed(0x2b3),_0x1e7094=JSON['stringify'](_0x3e2f1c);const _0x4516a0=await fetch(API_BASE+_0x3645ed(0x251),{'method':'POST','headers':_0x40f3a2,'body':_0x1e7094});if(!_0x4516a0['ok']){const _0x581944=await _0x4516a0[_0x3645ed(0x28e)](),_0x2d2c30=new Error(_0x581944[_0x3645ed(0x143)]||_0x3645ed(0x2ba)+_0x4516a0[_0x3645ed(0x29b)]),{message:_0x5d410c,..._0x4a67bb}=_0x581944;Object['assign'](_0x2d2c30,_0x4a67bb);throw _0x2d2c30;}return await _0x4516a0[_0x3645ed(0x28e)]();},async 'createTestTask'(_0x450c57){const _0x5681a8=_0xa29e,_0x1a281d=await fetch(API_BASE+_0x5681a8(0x2e0),{'method':_0x5681a8(0x2b4),'headers':{'Content-Type':_0x5681a8(0x2b3)},'body':JSON[_0x5681a8(0x31e)](_0x450c57)});if(!_0x1a281d['ok']){const _0x1ff918=await _0x1a281d[_0x5681a8(0x28e)]();throw new Error(_0x1ff918[_0x5681a8(0x143)]||_0x5681a8(0x2d8)+_0x1a281d[_0x5681a8(0x29b)]);}return await _0x1a281d[_0x5681a8(0x28e)]();},async 'createEphemeralTest'(_0xbaabc0){const _0x386ea7=_0xa29e,_0xca74ca=await fetch(API_BASE+_0x386ea7(0x199),{'method':_0x386ea7(0x2b4),'headers':{'Content-Type':_0x386ea7(0x2b3)},'body':JSON[_0x386ea7(0x31e)](_0xbaabc0)});if(!_0xca74ca['ok']){const _0x2bfee6=await _0xca74ca[_0x386ea7(0x28e)]();throw new Error(_0x2bfee6[_0x386ea7(0x143)]||'Failed\x20to\x20create\x20ephemeral\x20test:\x20'+_0xca74ca['statusText']);}return await _0xca74ca[_0x386ea7(0x28e)]();},async 'createDeployTask'(_0x7699a6){const _0x320842=_0xa29e,_0x3ac8e1=await fetch(API_BASE+_0x320842(0x368),{'method':_0x320842(0x2b4),'headers':{'Content-Type':'application/json'},'body':JSON[_0x320842(0x31e)](_0x7699a6)});if(!_0x3ac8e1['ok']){const _0x43d005=await _0x3ac8e1[_0x320842(0x28e)]();throw new Error(_0x43d005[_0x320842(0x143)]||_0x320842(0x30b)+_0x3ac8e1[_0x320842(0x29b)]);}return await _0x3ac8e1[_0x320842(0x28e)]();},async 'getEnvironments'(){const _0x4c40fc=_0xa29e,_0x14cdbc=await fetch(API_BASE+_0x4c40fc(0x247));if(!_0x14cdbc['ok'])throw new Error('Failed\x20to\x20fetch\x20environments:\x20'+_0x14cdbc[_0x4c40fc(0x29b)]);return await _0x14cdbc[_0x4c40fc(0x28e)]();},async 'getEnvironment'(_0x4d5a8f){const _0x32bb4b=_0xa29e,_0x44ed1e=await fetch(API_BASE+'/environments/'+_0x4d5a8f);if(!_0x44ed1e['ok'])throw new Error(_0x32bb4b(0x162)+_0x44ed1e['statusText']);return await _0x44ed1e[_0x32bb4b(0x28e)]();},async 'getEnvironmentRepoHistory'(_0x42b3cd,_0x16b833,_0x170c85={}){const _0x249317=_0xa29e;if(!_0x42b3cd||!_0x16b833)throw new Error(_0x249317(0x2fc));const _0x15c218=new URLSearchParams();if(_0x170c85['limit'])_0x15c218[_0x249317(0x214)](_0x249317(0x2bb),String(_0x170c85['limit']));if(_0x170c85[_0x249317(0x320)])_0x15c218['set'](_0x249317(0x320),String(_0x170c85[_0x249317(0x320)]));if(_0x170c85['search'])_0x15c218[_0x249317(0x214)]('search',String(_0x170c85[_0x249317(0x155)]));if(_0x170c85[_0x249317(0x15f)])_0x15c218[_0x249317(0x214)](_0x249317(0x15f),String(_0x170c85['branch']));const _0x19a47f=API_BASE+_0x249317(0x158)+encodeURIComponent(_0x42b3cd)+'/repos/'+encodeURIComponent(_0x16b833)+_0x249317(0x16e),_0x24b226=await fetch(''+_0x19a47f+(_0x15c218['toString']()?'?'+_0x15c218[_0x249317(0x1f4)]():''));if(!_0x24b226['ok']){const _0x4d9f16=await _0x24b226[_0x249317(0x28e)]()[_0x249317(0x209)](()=>({}));throw new Error(_0x4d9f16[_0x249317(0x143)]||_0x249317(0x30d)+_0x24b226[_0x249317(0x29b)]);}return await _0x24b226[_0x249317(0x28e)]();},async 'getEnvironmentRepoCommit'(_0x219f64,_0x2993a7,_0x5c492a){const _0x3fac1c=_0xa29e;if(!_0x219f64||!_0x2993a7||!_0x5c492a)throw new Error(_0x3fac1c(0x12f));const _0x36ecb9=API_BASE+_0x3fac1c(0x158)+encodeURIComponent(_0x219f64)+_0x3fac1c(0x156)+encodeURIComponent(_0x2993a7)+_0x3fac1c(0x269)+encodeURIComponent(_0x5c492a),_0x3d96cb=await fetch(_0x36ecb9);if(!_0x3d96cb['ok']){const _0x348098=await _0x3d96cb[_0x3fac1c(0x28e)]()['catch'](()=>({}));throw new Error(_0x348098[_0x3fac1c(0x143)]||_0x3fac1c(0x124)+_0x3d96cb[_0x3fac1c(0x29b)]);}return await _0x3d96cb[_0x3fac1c(0x28e)]();},async 'getEnvironmentRepoBranches'(_0xcf07c0,_0x27b1c1){const _0x466fa7=_0xa29e;if(!_0xcf07c0||!_0x27b1c1)throw new Error(_0x466fa7(0x2fc));const _0x58d61b=API_BASE+'/environments/'+encodeURIComponent(_0xcf07c0)+'/repos/'+encodeURIComponent(_0x27b1c1)+'/git/branches',_0x134713=await fetch(_0x58d61b);if(!_0x134713['ok']){const _0x160d3a=await _0x134713['json']()['catch'](()=>({}));throw new Error(_0x160d3a[_0x466fa7(0x143)]||_0x466fa7(0x2f7)+_0x134713[_0x466fa7(0x29b)]);}return await _0x134713['json']();},async 'revertEnvironmentRepoCommit'(_0x45dc12,_0x5a94e2,_0x24a85f,_0xdef8f={}){const _0x330f98=_0xa29e;if(!_0x45dc12||!_0x5a94e2||!_0x24a85f)throw new Error(_0x330f98(0x12f));const _0xf1189b=await fetch(API_BASE+_0x330f98(0x158)+encodeURIComponent(_0x45dc12)+_0x330f98(0x156)+encodeURIComponent(_0x5a94e2)+_0x330f98(0x2a1),{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[_0x330f98(0x31e)]({'hash':_0x24a85f,..._0xdef8f})});if(!_0xf1189b['ok']){const _0x3b347e=await _0xf1189b['json']()['catch'](()=>({}));throw new Error(_0x3b347e[_0x330f98(0x1a1)]||_0x3b347e['error']||_0x330f98(0x1f3)+_0xf1189b[_0x330f98(0x29b)]);}return await _0xf1189b[_0x330f98(0x28e)]();},async 'getTemplates'(_0x5a2f00={}){const _0x12a326=_0xa29e,_0x386bc3=new URLSearchParams();if(_0x5a2f00['include']){const _0x50b71e=Array[_0x12a326(0x1ec)](_0x5a2f00[_0x12a326(0x208)])?_0x5a2f00[_0x12a326(0x208)][_0x12a326(0x14e)](','):String(_0x5a2f00[_0x12a326(0x208)]);if(_0x50b71e)_0x386bc3[_0x12a326(0x214)]('include',_0x50b71e);}const _0x2e6d6d=await fetch(API_BASE+'/templates'+(_0x386bc3['toString']()?'?'+_0x386bc3[_0x12a326(0x1f4)]():''));if(!_0x2e6d6d['ok'])throw new Error(_0x12a326(0x15a)+_0x2e6d6d[_0x12a326(0x29b)]);return await _0x2e6d6d[_0x12a326(0x28e)]();},async 'getTemplatesForEnvironment'(_0x38fa18,_0x5c8461={}){const _0x4cc6fb=_0xa29e;if(!_0x38fa18)throw new Error(_0x4cc6fb(0x256));const _0x328b36=new URLSearchParams();if(_0x5c8461[_0x4cc6fb(0x208)]){const _0x14dedc=Array[_0x4cc6fb(0x1ec)](_0x5c8461[_0x4cc6fb(0x208)])?_0x5c8461[_0x4cc6fb(0x208)][_0x4cc6fb(0x14e)](','):String(_0x5c8461[_0x4cc6fb(0x208)]);if(_0x14dedc)_0x328b36[_0x4cc6fb(0x214)](_0x4cc6fb(0x208),_0x14dedc);}const _0x162542=await fetch(API_BASE+_0x4cc6fb(0x11d)+_0x38fa18+(_0x328b36[_0x4cc6fb(0x1f4)]()?'?'+_0x328b36['toString']():''));if(!_0x162542['ok'])throw new Error('Failed\x20to\x20fetch\x20templates\x20for\x20'+_0x38fa18+':\x20'+_0x162542['statusText']);return await _0x162542[_0x4cc6fb(0x28e)]();},async 'getTemplate'(_0x349f4a,_0x3bacde,_0x459bdf={}){const _0xed37d1=_0xa29e;if(!_0x349f4a||!_0x3bacde)throw new Error(_0xed37d1(0x33d));const _0x1179b2=new URLSearchParams();if(_0x459bdf[_0xed37d1(0x208)]){const _0x3c144d=Array[_0xed37d1(0x1ec)](_0x459bdf['include'])?_0x459bdf[_0xed37d1(0x208)][_0xed37d1(0x14e)](','):String(_0x459bdf[_0xed37d1(0x208)]);if(_0x3c144d)_0x1179b2[_0xed37d1(0x214)](_0xed37d1(0x208),_0x3c144d);}const _0x2927fe=await fetch(API_BASE+_0xed37d1(0x11d)+_0x349f4a+'/'+_0x3bacde+(_0x1179b2[_0xed37d1(0x1f4)]()?'?'+_0x1179b2[_0xed37d1(0x1f4)]():''));if(!_0x2927fe['ok'])throw new Error('Failed\x20to\x20load\x20template:\x20'+_0x2927fe[_0xed37d1(0x29b)]);return await _0x2927fe[_0xed37d1(0x28e)]();},async 'getTaskLogs'(_0x1ba4e0,_0x156682={}){const _0x1a827b=_0xa29e;if(!_0x1ba4e0)throw new Error('Task\x20ID\x20is\x20required');const _0xe9c59b=new URLSearchParams();_0x156682['tail']&&_0xe9c59b['set'](_0x1a827b(0x213),String(_0x156682['tail']));const _0x351026=await fetch(API_BASE+_0x1a827b(0x18b)+_0x1ba4e0+_0x1a827b(0x1b4)+(_0xe9c59b[_0x1a827b(0x1f4)]()?'?'+_0xe9c59b[_0x1a827b(0x1f4)]():''));if(!_0x351026['ok'])throw new Error(_0x1a827b(0x16a)+_0x351026[_0x1a827b(0x29b)]);return await _0x351026[_0x1a827b(0x21f)]();},async 'getContainers'(){const _0x597982=_0xa29e,_0x53fa8e=await fetch(API_BASE+_0x597982(0x23d));if(!_0x53fa8e['ok'])throw new Error(_0x597982(0x1a7)+_0x53fa8e[_0x597982(0x29b)]);return await _0x53fa8e['json']();},async 'getContainer'(_0x4bb395){const _0x28d152=_0xa29e,_0x4b0344=await fetch(API_BASE+'/containers/'+_0x4bb395);if(!_0x4b0344['ok'])throw new Error(_0x28d152(0x10a)+_0x4b0344[_0x28d152(0x29b)]);return await _0x4b0344[_0x28d152(0x28e)]();},async 'startInteractiveContainer'(_0x165116){const _0x23947b=_0xa29e,_0x23c769=await fetch(API_BASE+_0x23947b(0x316),{'method':_0x23947b(0x2b4),'headers':{'Content-Type':_0x23947b(0x2b3)},'body':JSON['stringify'](_0x165116)});if(!_0x23c769['ok']){const _0x320d5e=await _0x23c769['json']()[_0x23947b(0x209)](()=>({}));throw new Error(_0x320d5e[_0x23947b(0x1a1)]||_0x23947b(0x344)+_0x23c769['statusText']);}return await _0x23c769[_0x23947b(0x28e)]();},async 'stopContainer'(_0x5473b5){const _0x24b659=_0xa29e,_0x147346=await fetch(API_BASE+_0x24b659(0x2e3)+_0x5473b5,{'method':'DELETE'});if(!_0x147346['ok']){const _0x9d5baf=await _0x147346[_0x24b659(0x28e)]()[_0x24b659(0x209)](()=>({}));throw new Error(_0x9d5baf[_0x24b659(0x1a1)]||_0x24b659(0x248)+_0x147346[_0x24b659(0x29b)]);}return await _0x147346[_0x24b659(0x28e)]();},async 'stopTask'(_0x4f97eb){const _0x2c3467=_0xa29e;if(!_0x4f97eb)throw new Error('Task\x20ID\x20is\x20required');const _0x5e8d91=await fetch(API_BASE+'/tasks/'+_0x4f97eb+'/stop',{'method':_0x2c3467(0x2b4)});if(!_0x5e8d91['ok']){const _0x3d6ce6=await _0x5e8d91['json']()[_0x2c3467(0x209)](()=>({}));throw new Error(_0x3d6ce6[_0x2c3467(0x143)]||_0x2c3467(0x188)+_0x5e8d91[_0x2c3467(0x29b)]);}return await _0x5e8d91[_0x2c3467(0x28e)]();},async 'interruptTask'(_0x17937d){const _0x144e9e=_0xa29e;if(!_0x17937d)throw new Error('Task\x20ID\x20is\x20required');const _0x5545a3=await fetch(API_BASE+_0x144e9e(0x18b)+_0x17937d+_0x144e9e(0x2d5),{'method':_0x144e9e(0x2b4)});if(!_0x5545a3['ok']){const _0x59b084=await _0x5545a3[_0x144e9e(0x28e)]()[_0x144e9e(0x209)](()=>({}));throw new Error(_0x59b084['error']||_0x59b084[_0x144e9e(0x1a1)]||_0x144e9e(0x1a9)+_0x5545a3[_0x144e9e(0x29b)]);}return await _0x5545a3['json']();},async 'startTask'(_0x3255fd){const _0x5f3641=_0xa29e;if(!_0x3255fd)throw new Error(_0x5f3641(0x22b));const _0x5349b2=await fetch(API_BASE+'/tasks/'+_0x3255fd+_0x5f3641(0x159),{'method':'POST'});if(!_0x5349b2['ok']){const _0x48e940=await _0x5349b2[_0x5f3641(0x28e)]()['catch'](()=>({}));throw new Error(_0x48e940[_0x5f3641(0x143)]||_0x5f3641(0x15e)+_0x5349b2[_0x5f3641(0x29b)]);}return await _0x5349b2[_0x5f3641(0x28e)]();},async 'deleteTask'(_0x11d88a){const _0x568402=_0xa29e;if(!_0x11d88a)throw new Error(_0x568402(0x22b));const _0x31739e=await fetch(API_BASE+_0x568402(0x18b)+_0x11d88a,{'method':'DELETE'});if(!_0x31739e['ok']){const _0x2b92ae=await _0x31739e[_0x568402(0x28e)]()[_0x568402(0x209)](()=>({}));throw new Error(_0x2b92ae[_0x568402(0x143)]||_0x568402(0x201)+_0x31739e[_0x568402(0x29b)]);}return await _0x31739e[_0x568402(0x28e)]();},async 'refreshTasksFromDisk'(){const _0x3dc6b2=_0xa29e,_0x40bde2=await fetch(API_BASE+_0x3dc6b2(0x185),{'method':_0x3dc6b2(0x2b4)});if(!_0x40bde2['ok']){const _0x5de514=await _0x40bde2[_0x3dc6b2(0x28e)]()[_0x3dc6b2(0x209)](()=>({}));throw new Error(_0x5de514['error']||_0x3dc6b2(0x1cd)+_0x40bde2[_0x3dc6b2(0x29b)]);}return await _0x40bde2[_0x3dc6b2(0x28e)]();},async 'approveTask'(_0xd75bbe,_0x440f2c={}){const _0x311747=_0xa29e;if(!_0xd75bbe)throw new Error(_0x311747(0x22b));const _0x4381a9={'commit_message':_0x440f2c[_0x311747(0x2d9)]||'','pull':_0x440f2c[_0x311747(0x111)]??![],'push':_0x440f2c[_0x311747(0x1dd)]??![]};_0x440f2c[_0x311747(0x2f4)]&&(_0x4381a9[_0x311747(0x2f4)]=_0x440f2c[_0x311747(0x2f4)]);const _0x2b9ace=await fetch(API_BASE+_0x311747(0x18b)+_0xd75bbe+_0x311747(0x353),{'method':_0x311747(0x2b4),'headers':{'Content-Type':_0x311747(0x2b3)},'body':JSON[_0x311747(0x31e)](_0x4381a9)});if(!_0x2b9ace['ok']){const _0x2e8500=await _0x2b9ace['json']()[_0x311747(0x209)](()=>({}));let _0x77c505=_0x2e8500[_0x311747(0x143)]||_0x2e8500[_0x311747(0x1a1)]||'Failed\x20to\x20approve\x20task:\x20'+_0x2b9ace[_0x311747(0x29b)];if(_0x2e8500[_0x311747(0x30a)]&&Array['isArray'](_0x2e8500[_0x311747(0x30a)])){const _0x3149c1=_0x2e8500['results'][_0x311747(0x263)](_0xfe042e=>!_0xfe042e[_0x311747(0x284)]&&_0xfe042e['error']);_0x3149c1[_0x311747(0x10d)]>0x0&&(_0x77c505=_0x3149c1[0x0][_0x311747(0x143)]);}throw new Error(_0x77c505);}return await _0x2b9ace[_0x311747(0x28e)]();},async 'getPullRequestInfo'(_0x1da2a6){const _0x46836d=_0xa29e;if(!_0x1da2a6)throw new Error(_0x46836d(0x22b));const _0x520642=await fetch(API_BASE+_0x46836d(0x18b)+_0x1da2a6+'/pull-request-info');if(!_0x520642['ok']){const _0x122477=await _0x520642['json']()[_0x46836d(0x209)](()=>({}));throw new Error(_0x122477[_0x46836d(0x143)]||_0x122477[_0x46836d(0x1a1)]||'Failed\x20to\x20get\x20pull\x20request\x20info:\x20'+_0x520642['statusText']);}return await _0x520642[_0x46836d(0x28e)]();},async 'createPullRequests'(_0x36b681,_0x321d31){const _0xe80236=_0xa29e;if(!_0x36b681)throw new Error(_0xe80236(0x22b));if(!_0x321d31||!Array[_0xe80236(0x1ec)](_0x321d31))throw new Error(_0xe80236(0x278));const _0x199d2c=await fetch(API_BASE+_0xe80236(0x18b)+_0x36b681+'/pull-requests',{'method':'POST','headers':{'Content-Type':_0xe80236(0x2b3)},'body':JSON[_0xe80236(0x31e)]({'repos':_0x321d31})});if(!_0x199d2c['ok']){const _0x7f8da0=await _0x199d2c['json']()[_0xe80236(0x209)](()=>({}));let _0x3181f9=_0x7f8da0['error']||_0x7f8da0['message']||_0xe80236(0x311)+_0x199d2c[_0xe80236(0x29b)];if(_0x7f8da0['results']&&Array[_0xe80236(0x1ec)](_0x7f8da0['results'])){const _0x8f8307=_0x7f8da0[_0xe80236(0x30a)][_0xe80236(0x263)](_0x55cf08=>!_0x55cf08[_0xe80236(0x284)]&&_0x55cf08['error']);_0x8f8307['length']>0x0&&(_0x3181f9=_0x8f8307[0x0][_0xe80236(0x143)]);}throw new Error(_0x3181f9);}return await _0x199d2c[_0xe80236(0x28e)]();},async 'syncRepos'(_0x5078b5){const _0x3b3705=_0xa29e;if(!_0x5078b5)throw new Error(_0x3b3705(0x22b));const _0x3c9f2c=await fetch(API_BASE+_0x3b3705(0x18b)+_0x5078b5+_0x3b3705(0x2ec),{'method':'POST'});if(!_0x3c9f2c['ok']){const _0x48d855=await _0x3c9f2c[_0x3b3705(0x28e)]()[_0x3b3705(0x209)](()=>({}));throw new Error(_0x48d855['error']||_0x48d855[_0x3b3705(0x1a1)]||'Failed\x20to\x20sync\x20repositories:\x20'+_0x3c9f2c[_0x3b3705(0x29b)]);}return await _0x3c9f2c[_0x3b3705(0x28e)]();},async 'pullChanges'(_0x1c1599){const _0x2a1903=_0xa29e;if(!_0x1c1599)throw new Error(_0x2a1903(0x22b));const _0x5a36a0=await fetch(API_BASE+_0x2a1903(0x18b)+_0x1c1599+_0x2a1903(0x1cf),{'method':_0x2a1903(0x2b4)});if(!_0x5a36a0['ok']){const _0x382b3b=await _0x5a36a0['json']()[_0x2a1903(0x209)](()=>({}));throw new Error(_0x382b3b['error']||_0x382b3b[_0x2a1903(0x1a1)]||_0x2a1903(0x179)+_0x5a36a0['statusText']);}return await _0x5a36a0[_0x2a1903(0x28e)]();},async 'readFile'(_0x48d1ee,_0x671da6){const _0x5260e2=_0xa29e;if(!_0x48d1ee)throw new Error('Task\x20ID\x20is\x20required');if(!_0x671da6)throw new Error('File\x20path\x20is\x20required');const _0x36ab57=await fetch(API_BASE+'/tasks/'+_0x48d1ee+_0x5260e2(0x12c)+encodeURIComponent(_0x671da6));if(!_0x36ab57['ok']){const _0x4a8e04=await _0x36ab57[_0x5260e2(0x28e)]()['catch'](()=>({}));throw new Error(_0x4a8e04['error']||_0x4a8e04[_0x5260e2(0x1a1)]||'Failed\x20to\x20read\x20file:\x20'+_0x36ab57[_0x5260e2(0x29b)]);}return await _0x36ab57['json']();},async 'writeFile'(_0x34b9ba,_0xc89d3e,_0x182605){const _0x52ede4=_0xa29e;if(!_0x34b9ba)throw new Error(_0x52ede4(0x22b));if(!_0xc89d3e)throw new Error(_0x52ede4(0x32a));if(_0x182605===undefined)throw new Error(_0x52ede4(0x252));const _0x3a66e7=await fetch(API_BASE+_0x52ede4(0x18b)+_0x34b9ba+'/files',{'method':'POST','headers':{'Content-Type':_0x52ede4(0x2b3)},'body':JSON[_0x52ede4(0x31e)]({'path':_0xc89d3e,'content':_0x182605})});if(!_0x3a66e7['ok']){const _0x5ddd9c=await _0x3a66e7[_0x52ede4(0x28e)]()[_0x52ede4(0x209)](()=>({}));throw new Error(_0x5ddd9c[_0x52ede4(0x143)]||_0x5ddd9c[_0x52ede4(0x1a1)]||_0x52ede4(0x110)+_0x3a66e7[_0x52ede4(0x29b)]);}return await _0x3a66e7[_0x52ede4(0x28e)]();},async 'discardFile'(_0x196dca,_0x4e3fd2,_0x1f38d0){const _0x489284=_0xa29e;if(!_0x196dca)throw new Error(_0x489284(0x22b));if(!_0x4e3fd2)throw new Error(_0x489284(0x32a));if(!_0x1f38d0)throw new Error(_0x489284(0x116));const _0x3e553e=await fetch(API_BASE+_0x489284(0x18b)+_0x196dca+_0x489284(0x194),{'method':_0x489284(0x2b4),'headers':{'Content-Type':_0x489284(0x2b3)},'body':JSON[_0x489284(0x31e)]({'path':_0x4e3fd2,'repoPath':_0x1f38d0})});if(!_0x3e553e['ok']){const _0x525481=await _0x3e553e['json']()['catch'](()=>({}));throw new Error(_0x525481[_0x489284(0x143)]||_0x525481[_0x489284(0x1a1)]||_0x489284(0x257)+_0x3e553e[_0x489284(0x29b)]);}return await _0x3e553e[_0x489284(0x28e)]();},async 'followUpTask'(_0x30af54,_0x5691e1={}){const _0x2610ff=_0xa29e;if(!_0x30af54)throw new Error(_0x2610ff(0x22b));if(!_0x5691e1[_0x2610ff(0x17a)])throw new Error('Follow-up\x20instructions\x20are\x20required');let _0x32849e,_0x2327c6={};if(_0x5691e1[_0x2610ff(0x309)]&&_0x5691e1[_0x2610ff(0x309)][_0x2610ff(0x10d)]>0x0){const _0x77d2af=new FormData();_0x77d2af[_0x2610ff(0x2bc)]('instructions',_0x5691e1[_0x2610ff(0x17a)]);for(const _0x468da4 of _0x5691e1[_0x2610ff(0x309)]){_0x77d2af['append'](_0x2610ff(0x195),_0x468da4);}_0x32849e=_0x77d2af;}else _0x2327c6['Content-Type']=_0x2610ff(0x2b3),_0x32849e=JSON[_0x2610ff(0x31e)]({'instructions':_0x5691e1[_0x2610ff(0x17a)]});const _0x16aaf4=await fetch(API_BASE+'/tasks/'+_0x30af54+_0x2610ff(0x2e4),{'method':'POST','headers':_0x2327c6,'body':_0x32849e});if(!_0x16aaf4['ok']){const _0x324479=await _0x16aaf4[_0x2610ff(0x28e)]()['catch'](()=>({}));throw new Error(_0x324479['error']||_0x324479[_0x2610ff(0x1a1)]||_0x2610ff(0x339)+_0x16aaf4[_0x2610ff(0x29b)]);}return await _0x16aaf4[_0x2610ff(0x28e)]();},async 'getTaskRewindPoints'(_0x524dc5){const _0x498695=_0xa29e;if(!_0x524dc5)throw new Error(_0x498695(0x22b));const _0x1537e2=await fetch(API_BASE+'/tasks/'+_0x524dc5+_0x498695(0x1f1));if(!_0x1537e2['ok']){const _0x1b5515=await _0x1537e2[_0x498695(0x28e)]()[_0x498695(0x209)](()=>({}));throw new Error(_0x1b5515['error']||_0x1b5515[_0x498695(0x1a1)]||_0x498695(0x187)+_0x1537e2[_0x498695(0x29b)]);}return await _0x1537e2[_0x498695(0x28e)]();},async 'rewindTask'(_0x235757,_0x11b2dd={}){const _0x11fb4c=_0xa29e;if(!_0x235757)throw new Error(_0x11fb4c(0x22b));const _0x2a6284=Number[_0x11fb4c(0x26a)](_0x11b2dd[_0x11fb4c(0x14b)])?_0x11b2dd['targetFollowUpCount']:0x0,_0x4d54b7={'targetFollowUpCount':_0x2a6284};typeof _0x11b2dd[_0x11fb4c(0x17a)]===_0x11fb4c(0x1a0)&&_0x11b2dd['instructions'][_0x11fb4c(0x335)]()&&(_0x4d54b7[_0x11fb4c(0x17a)]=_0x11b2dd[_0x11fb4c(0x17a)][_0x11fb4c(0x335)]());typeof _0x11b2dd[_0x11fb4c(0x310)]==='boolean'&&(_0x4d54b7['rewindFiles']=_0x11b2dd[_0x11fb4c(0x310)]);const _0x4e7a9e=await fetch(API_BASE+_0x11fb4c(0x18b)+_0x235757+_0x11fb4c(0x341),{'method':_0x11fb4c(0x2b4),'headers':{'Content-Type':'application/json'},'body':JSON[_0x11fb4c(0x31e)](_0x4d54b7)});if(!_0x4e7a9e['ok']){const _0x23d3c2=await _0x4e7a9e[_0x11fb4c(0x28e)]()['catch'](()=>({}));throw new Error(_0x23d3c2[_0x11fb4c(0x143)]||_0x23d3c2[_0x11fb4c(0x1a1)]||'Failed\x20to\x20rewind\x20task:\x20'+_0x4e7a9e['statusText']);}return await _0x4e7a9e['json']();},async 'login'(_0x462b33,_0x27bf29){const _0x41a4cd=_0xa29e,_0x528f57=await fetch(API_BASE+_0x41a4cd(0x1ad),{'method':_0x41a4cd(0x2b4),'headers':{'Content-Type':_0x41a4cd(0x2b3)},'body':JSON['stringify']({'username':_0x462b33,'password':_0x27bf29})});if(!_0x528f57['ok']){const _0x124e75=await _0x528f57['json']();throw new Error(_0x124e75[_0x41a4cd(0x1a1)]||_0x41a4cd(0x136));}return await _0x528f57['json']();},async 'logout'(){const _0x131c61=_0xa29e,_0x204160=await fetch(API_BASE+_0x131c61(0x1c5),{'method':_0x131c61(0x2b4)});if(!_0x204160['ok']){const _0x4effff=await _0x204160['json']();throw new Error(_0x4effff[_0x131c61(0x1a1)]||_0x131c61(0x122));}return await _0x204160['json']();},async 'getCurrentUser'(){const _0x36f5ff=_0xa29e,_0x436397=await fetch(API_BASE+_0x36f5ff(0x239));if(!_0x436397['ok'])throw new Error(_0x36f5ff(0x12d));const _0x523074=await _0x436397[_0x36f5ff(0x28e)]();return _0x523074[_0x36f5ff(0x145)];},async 'getRolesInfo'(){const _0x1eefdd=_0xa29e,_0xbf2430=await fetch(API_BASE+'/users/roles');if(!_0xbf2430['ok']){const _0x4819fc=await _0xbf2430['json']();throw new Error(_0x4819fc[_0x1eefdd(0x1a1)]||_0x1eefdd(0x258));}return await _0xbf2430['json']();},async 'getUsers'(){const _0x2aff2f=_0xa29e,_0x3cc8cb=await fetch(API_BASE+_0x2aff2f(0x1c7));if(!_0x3cc8cb['ok']){const _0x175dca=await _0x3cc8cb[_0x2aff2f(0x28e)]();throw new Error(_0x175dca[_0x2aff2f(0x1a1)]||_0x2aff2f(0x137));}return await _0x3cc8cb[_0x2aff2f(0x28e)]();},async 'getUser'(_0x16fc32){const _0x42ee75=_0xa29e,_0x355e8c=await fetch(API_BASE+_0x42ee75(0x24c)+_0x16fc32);if(!_0x355e8c['ok']){const _0x498d97=await _0x355e8c['json']();throw new Error(_0x498d97[_0x42ee75(0x1a1)]||_0x42ee75(0x2eb));}return await _0x355e8c[_0x42ee75(0x28e)]();},async 'createUser'(_0xd103a4){const _0x301d7f=_0xa29e,_0xb7146b=await fetch(API_BASE+'/users',{'method':'POST','headers':{'Content-Type':_0x301d7f(0x2b3)},'body':JSON[_0x301d7f(0x31e)](_0xd103a4)});if(!_0xb7146b['ok']){const _0xede774=await _0xb7146b['json']();throw new Error(_0xede774[_0x301d7f(0x1a1)]||'Failed\x20to\x20create\x20user');}return await _0xb7146b['json']();},async 'updateUser'(_0x20b53b,_0x53a42e){const _0x14333f=_0xa29e,_0x1c5ad3=await fetch(API_BASE+_0x14333f(0x24c)+_0x20b53b,{'method':_0x14333f(0x366),'headers':{'Content-Type':_0x14333f(0x2b3)},'body':JSON[_0x14333f(0x31e)](_0x53a42e)});if(!_0x1c5ad3['ok']){const _0x33940e=await _0x1c5ad3['json']();throw new Error(_0x33940e[_0x14333f(0x1a1)]||_0x14333f(0x303));}return await _0x1c5ad3[_0x14333f(0x28e)]();},async 'deleteUser'(_0x466a9f){const _0x56750d=_0xa29e,_0x56f91f=await fetch(API_BASE+_0x56750d(0x24c)+_0x466a9f,{'method':'DELETE'});if(!_0x56f91f['ok']){const _0x3c9d7b=await _0x56f91f[_0x56750d(0x28e)]();throw new Error(_0x3c9d7b[_0x56750d(0x1a1)]||_0x56750d(0x2d3));}return await _0x56f91f[_0x56750d(0x28e)]();},async 'stopAllContainers'(){const _0x58cd91=_0xa29e,_0x3dfd0c=await fetch(API_BASE+_0x58cd91(0x295),{'method':_0x58cd91(0x2b4)}),_0x48d748=await _0x3dfd0c[_0x58cd91(0x28e)]()[_0x58cd91(0x209)](()=>({}));if(!_0x3dfd0c['ok'])throw new Error(_0x48d748[_0x58cd91(0x1a1)]||_0x48d748[_0x58cd91(0x143)]||_0x58cd91(0x19e));return _0x48d748;},async 'removeStoppedContainers'(){const _0x3b5a59=_0xa29e,_0x26ff0a=await fetch(API_BASE+_0x3b5a59(0x35c),{'method':_0x3b5a59(0x2b4)}),_0x5be845=await _0x26ff0a[_0x3b5a59(0x28e)]()[_0x3b5a59(0x209)](()=>({}));if(!_0x26ff0a['ok'])throw new Error(_0x5be845['message']||_0x5be845[_0x3b5a59(0x143)]||_0x3b5a59(0x1d5));return _0x5be845;},async 'pruneDockerResources'(){const _0x3d5205=_0xa29e,_0x115992=await fetch(API_BASE+'/health/docker/prune',{'method':_0x3d5205(0x2b4)}),_0x6c426c=await _0x115992[_0x3d5205(0x28e)]()[_0x3d5205(0x209)](()=>({}));if(!_0x115992['ok'])throw new Error(_0x6c426c[_0x3d5205(0x1a1)]||_0x6c426c[_0x3d5205(0x143)]||'Failed\x20to\x20prune\x20Docker\x20resources');return _0x6c426c;},async 'createPasswordToken'(_0x1dd3fb,_0x50cfb1=_0x2b351f(0x281),_0x32fef5=![]){const _0x419bcd=_0x2b351f,_0x292209=await fetch(API_BASE+'/password/create-token',{'method':_0x419bcd(0x2b4),'headers':{'Content-Type':_0x419bcd(0x2b3)},'body':JSON['stringify']({'userId':_0x1dd3fb,'type':_0x50cfb1,'sendEmail':_0x32fef5})});if(!_0x292209['ok']){const _0x15d90b=await _0x292209[_0x419bcd(0x28e)]();throw new Error(_0x15d90b[_0x419bcd(0x143)]||'Failed\x20to\x20create\x20password\x20token');}return await _0x292209['json']();},async 'getEmailConfig'(){const _0x322a65=_0x2b351f,_0x1fc787=await fetch(API_BASE+_0x322a65(0x14c));if(!_0x1fc787['ok']){const _0x342717=await _0x1fc787[_0x322a65(0x28e)]();throw new Error(_0x342717[_0x322a65(0x143)]||_0x322a65(0x1ca));}return await _0x1fc787['json']();},async 'updateTaskName'(_0x11fe3a,_0x39eddd){const _0x371fa3=_0x2b351f,_0x2e02f8=await fetch(API_BASE+_0x371fa3(0x18b)+_0x11fe3a,{'method':_0x371fa3(0x2c9),'headers':{'Content-Type':'application/json'},'body':JSON[_0x371fa3(0x31e)]({'name':_0x39eddd})});if(!_0x2e02f8['ok']){const _0x1bf6e7=await _0x2e02f8[_0x371fa3(0x28e)]();throw new Error(_0x1bf6e7[_0x371fa3(0x143)]||'Failed\x20to\x20update\x20task\x20name');}return await _0x2e02f8[_0x371fa3(0x28e)]();},async 'pinTask'(_0x3978e0,_0xf261ad,_0x1ed186=null){const _0x99d4c9=_0x2b351f;if(!_0x3978e0)throw new Error(_0x99d4c9(0x22b));const _0x179e0b={'pinned':_0xf261ad};_0x1ed186&&_0x1ed186[_0x99d4c9(0x10d)]>0x0&&(_0x179e0b[_0x99d4c9(0x106)]=_0x1ed186);const _0x109bbd=await fetch(API_BASE+_0x99d4c9(0x18b)+_0x3978e0+'/pin',{'method':_0x99d4c9(0x2c9),'headers':{'Content-Type':_0x99d4c9(0x2b3)},'body':JSON[_0x99d4c9(0x31e)](_0x179e0b)});if(!_0x109bbd['ok']){const _0x234d2c=await _0x109bbd[_0x99d4c9(0x28e)]();throw new Error(_0x234d2c[_0x99d4c9(0x143)]||'Failed\x20to\x20pin\x20task');}return await _0x109bbd[_0x99d4c9(0x28e)]();},async 'setTaskWinner'(_0x7d1098,_0x4b5ad8,_0x1d2415=[]){const _0x7c6af5=_0x2b351f;if(!_0x7d1098)throw new Error(_0x7c6af5(0x22b));const _0x77e29a=await fetch(API_BASE+'/tasks/'+_0x7d1098+_0x7c6af5(0x1f2),{'method':_0x7c6af5(0x2c9),'headers':{'Content-Type':'application/json'},'body':JSON[_0x7c6af5(0x31e)]({'isWinner':_0x4b5ad8,'siblings':_0x1d2415})});if(!_0x77e29a['ok']){const _0x56125b=await _0x77e29a[_0x7c6af5(0x28e)]();throw new Error(_0x56125b[_0x7c6af5(0x143)]||'Failed\x20to\x20update\x20winner\x20status');}return await _0x77e29a[_0x7c6af5(0x28e)]();},async 'setTaskLoser'(_0x5979c5,_0x353e24){const _0x3139cf=_0x2b351f;if(!_0x5979c5)throw new Error(_0x3139cf(0x22b));const _0x150542=await fetch(API_BASE+'/tasks/'+_0x5979c5+_0x3139cf(0x25f),{'method':_0x3139cf(0x2c9),'headers':{'Content-Type':_0x3139cf(0x2b3)},'body':JSON['stringify']({'isLoser':_0x353e24})});if(!_0x150542['ok']){const _0x24fcd2=await _0x150542[_0x3139cf(0x28e)]();throw new Error(_0x24fcd2[_0x3139cf(0x143)]||_0x3139cf(0x246));}return await _0x150542[_0x3139cf(0x28e)]();},async 'createTaskGroup'(_0x32ede2){const _0x2e60dc=_0x2b351f,_0x5eb949=await fetch(API_BASE+_0x2e60dc(0x228),{'method':_0x2e60dc(0x2b4),'headers':{'Content-Type':'application/json'},'body':JSON[_0x2e60dc(0x31e)](_0x32ede2)});if(!_0x5eb949['ok']){const _0x41e320=await _0x5eb949['json']();throw new Error(_0x41e320[_0x2e60dc(0x143)]||_0x2e60dc(0x1dc));}return await _0x5eb949[_0x2e60dc(0x28e)]();},async 'getTaskGroups'(_0x3f2da7={}){const _0x352688=_0x2b351f,_0x4c0dd0=new URLSearchParams();if(_0x3f2da7['userId'])_0x4c0dd0[_0x352688(0x214)](_0x352688(0x108),String(_0x3f2da7['userId']));if(_0x3f2da7[_0x352688(0x237)])_0x4c0dd0[_0x352688(0x214)]('status',String(_0x3f2da7[_0x352688(0x237)]));if(_0x3f2da7[_0x352688(0x2bb)])_0x4c0dd0[_0x352688(0x214)](_0x352688(0x2bb),String(_0x3f2da7['limit']));const _0x4c869d=API_BASE+'/tasks/groups'+(_0x4c0dd0[_0x352688(0x1f4)]()?'?'+_0x4c0dd0[_0x352688(0x1f4)]():''),_0x32601a=await fetch(_0x4c869d);if(!_0x32601a['ok'])throw new Error(_0x352688(0x307));return await _0x32601a[_0x352688(0x28e)]();},async 'getTaskGroup'(_0x221164){const _0x9bf9aa=_0x2b351f,_0x29cd6f=await fetch(API_BASE+'/tasks/groups/'+_0x221164);if(!_0x29cd6f['ok']){const _0x349095=await _0x29cd6f[_0x9bf9aa(0x28e)]();throw new Error(_0x349095[_0x9bf9aa(0x143)]||_0x9bf9aa(0x219));}return await _0x29cd6f['json']();},async 'updateTaskGroup'(_0x3f9562,_0x4604dd,_0x2ec9f4){const _0xe1ab78=_0x2b351f,_0x3e530d=await fetch(API_BASE+_0xe1ab78(0x18b)+_0x3f9562+'/group',{'method':_0xe1ab78(0x2c9),'headers':{'Content-Type':_0xe1ab78(0x2b3)},'body':JSON[_0xe1ab78(0x31e)]({'groupId':_0x4604dd,'groupIndex':_0x2ec9f4})});if(!_0x3e530d['ok']){const _0xac21fd=await _0x3e530d[_0xe1ab78(0x28e)]();throw new Error(_0xac21fd['error']||'Failed\x20to\x20update\x20task\x20group');}return await _0x3e530d[_0xe1ab78(0x28e)]();},async 'removeTaskFromGroup'(_0x4623c6){const _0x11d541=_0x2b351f;return this[_0x11d541(0x230)](_0x4623c6,null,null);},async 'deleteTaskGroup'(_0x2c8b6b,_0x421fd4=![]){const _0x23e60e=_0x2b351f,_0x473a0d=_0x421fd4?_0x23e60e(0x1f7):'',_0x329187=await fetch(API_BASE+_0x23e60e(0x1fc)+_0x2c8b6b+_0x473a0d,{'method':_0x23e60e(0x301)});if(!_0x329187['ok']){const _0x332ef1=await _0x329187[_0x23e60e(0x28e)]();throw new Error(_0x332ef1[_0x23e60e(0x143)]||_0x23e60e(0x297));}return!![];},async 'setGroupWinner'(_0x4a10f2,_0x254363){const _0x2e66f6=_0x2b351f,_0xaeec36=await fetch(API_BASE+_0x2e66f6(0x1fc)+_0x4a10f2+_0x2e66f6(0x1f2),{'method':_0x2e66f6(0x2b4),'headers':{'Content-Type':_0x2e66f6(0x2b3)},'body':JSON['stringify']({'taskId':_0x254363})});if(!_0xaeec36['ok']){const _0x36ee2c=await _0xaeec36[_0x2e66f6(0x28e)]();throw new Error(_0x36ee2c[_0x2e66f6(0x143)]||_0x2e66f6(0x204));}return await _0xaeec36[_0x2e66f6(0x28e)]();},'generateGroupId'(){const _0x28c6ad=_0x2b351f;return'g-'+Date[_0x28c6ad(0x138)]()+'-'+Math[_0x28c6ad(0x23a)]()[_0x28c6ad(0x1f4)](0x24)[_0x28c6ad(0x20c)](0x2,0x9);},async 'getComments'(_0xf1f26b){const _0x10b0d0=_0x2b351f;if(!_0xf1f26b)throw new Error(_0x10b0d0(0x22b));const _0x4b2b5c=await fetch(API_BASE+'/tasks/'+_0xf1f26b+_0x10b0d0(0x1a8));if(!_0x4b2b5c['ok']){const _0x158880=await _0x4b2b5c[_0x10b0d0(0x28e)]()[_0x10b0d0(0x209)](()=>({}));throw new Error(_0x158880[_0x10b0d0(0x143)]||_0x10b0d0(0x16c));}return await _0x4b2b5c[_0x10b0d0(0x28e)]();},async 'addComment'(_0x3a177f,_0x1cf1f3){const _0x334762=_0x2b351f;if(!_0x3a177f)throw new Error(_0x334762(0x22b));if(!_0x1cf1f3)throw new Error('Comment\x20content\x20is\x20required');const _0x58d884=await fetch(API_BASE+'/tasks/'+_0x3a177f+_0x334762(0x1a8),{'method':_0x334762(0x2b4),'headers':{'Content-Type':'application/json'},'body':JSON[_0x334762(0x31e)]({'content':_0x1cf1f3})});if(!_0x58d884['ok']){const _0x85473f=await _0x58d884[_0x334762(0x28e)]()[_0x334762(0x209)](()=>({}));throw new Error(_0x85473f[_0x334762(0x143)]||_0x334762(0x15b));}return await _0x58d884[_0x334762(0x28e)]();},async 'updateComment'(_0xb114,_0x3fb447,_0x22da13){const _0x4780ce=_0x2b351f;if(!_0xb114)throw new Error(_0x4780ce(0x22b));if(!_0x3fb447)throw new Error(_0x4780ce(0x1a4));if(!_0x22da13)throw new Error(_0x4780ce(0x226));const _0x4d4ec8=await fetch(API_BASE+_0x4780ce(0x18b)+_0xb114+_0x4780ce(0x2f3)+_0x3fb447,{'method':_0x4780ce(0x2c9),'headers':{'Content-Type':_0x4780ce(0x2b3)},'body':JSON[_0x4780ce(0x31e)]({'content':_0x22da13})});if(!_0x4d4ec8['ok']){const _0x2d871e=await _0x4d4ec8['json']()[_0x4780ce(0x209)](()=>({}));throw new Error(_0x2d871e[_0x4780ce(0x143)]||_0x4780ce(0x35e));}return await _0x4d4ec8['json']();},async 'deleteComment'(_0x372b6a,_0x2d84bb){const _0x93b737=_0x2b351f;if(!_0x372b6a)throw new Error('Task\x20ID\x20is\x20required');if(!_0x2d84bb)throw new Error(_0x93b737(0x1a4));const _0x2c013b=await fetch(API_BASE+_0x93b737(0x18b)+_0x372b6a+'/comments/'+_0x2d84bb,{'method':_0x93b737(0x301)});if(!_0x2c013b['ok']){const _0x4e0edc=await _0x2c013b[_0x93b737(0x28e)]()[_0x93b737(0x209)](()=>({}));throw new Error(_0x4e0edc[_0x93b737(0x143)]||'Failed\x20to\x20delete\x20comment');}return await _0x2c013b[_0x93b737(0x28e)]();},async 'createObjective'(_0x5bba42){const _0x1f91f6=_0x2b351f,_0x2dd77e={'objective':!![],'name':_0x5bba42[_0x1f91f6(0x2a8)]||'','environment':_0x5bba42[_0x1f91f6(0x289)]||null,'agents':_0x5bba42['agents']||[],'branches':_0x5bba42['branches']||{},'isPinned':_0x5bba42['isPinned']||![],'parentObjectiveId':_0x5bba42[_0x1f91f6(0x2e7)]||null,'env_vars':_0x5bba42[_0x1f91f6(0x2b1)]||{},'parameters':{'instructions':_0x5bba42[_0x1f91f6(0x17a)]||''},'files':_0x5bba42[_0x1f91f6(0x309)]||[],'jira':_0x5bba42['jira']||null};return this['createTask'](_0x2dd77e);},async 'updateObjective'(_0x486c45,_0x5bfcfa,_0x1441bc=[],_0x281202=[]){const _0x2dd4d3=_0x2b351f;let _0x4ccc6c,_0x1e1524={};const _0x28abd7={..._0x5bfcfa};_0x281202&&_0x281202['length']>0x0&&(_0x28abd7[_0x2dd4d3(0x1ea)]=_0x281202);if(_0x1441bc&&_0x1441bc[_0x2dd4d3(0x10d)]>0x0){const _0x30aba2=new FormData();for(const [_0x15b467,_0x3b7c75]of Object[_0x2dd4d3(0x146)](_0x28abd7)){if(_0x3b7c75==null)continue;typeof _0x3b7c75==='object'?_0x30aba2[_0x2dd4d3(0x2bc)](_0x15b467,JSON[_0x2dd4d3(0x31e)](_0x3b7c75)):_0x30aba2[_0x2dd4d3(0x2bc)](_0x15b467,String(_0x3b7c75));}for(const _0x24cb84 of _0x1441bc){_0x30aba2[_0x2dd4d3(0x2bc)]('attachments',_0x24cb84);}_0x4ccc6c=_0x30aba2;}else _0x1e1524[_0x2dd4d3(0x24a)]=_0x2dd4d3(0x2b3),_0x4ccc6c=JSON[_0x2dd4d3(0x31e)](_0x28abd7);const _0x55ca91=await fetch(API_BASE+'/tasks/'+_0x486c45,{'method':_0x2dd4d3(0x2c9),'headers':_0x1e1524,'body':_0x4ccc6c});if(!_0x55ca91['ok']){const _0x5bd83a=await _0x55ca91[_0x2dd4d3(0x28e)]();throw new Error(_0x5bd83a[_0x2dd4d3(0x143)]||_0x2dd4d3(0x157));}return await _0x55ca91[_0x2dd4d3(0x28e)]();},async 'deleteObjective'(_0x34ef31){const _0x2ba670=_0x2b351f;return this[_0x2ba670(0x13f)](_0x34ef31);},async 'launchObjective'(_0x46262b,_0x5cd397={}){const _0x3a4c30=_0x2b351f,_0x308b8e=await fetch(API_BASE+_0x3a4c30(0x18b)+_0x46262b+_0x3a4c30(0x16d),{'method':_0x3a4c30(0x2b4),'headers':{'Content-Type':_0x3a4c30(0x2b3)},'body':JSON[_0x3a4c30(0x31e)](_0x5cd397)});if(!_0x308b8e['ok']){const _0x391d6a=await _0x308b8e[_0x3a4c30(0x28e)]();throw new Error(_0x391d6a[_0x3a4c30(0x143)]||_0x3a4c30(0x1cc));}return await _0x308b8e[_0x3a4c30(0x28e)]();},async 'getObjectiveAttachments'(_0x2b2256){return this['getTaskAttachments'](_0x2b2256);},async 'createJudgeTask'({environment:_0x40d6c8,judgeAgent:_0x5b7a59,groupId:_0x57d463,taskIds:_0x36c49f,judgeCustomInstructions:_0x3fac1e,isPinned:_0x4eb442}){const _0x4c1c1f=_0x2b351f,_0xc33e3b=await fetch(API_BASE+_0x4c1c1f(0x107),{'method':_0x4c1c1f(0x2b4),'headers':{'Content-Type':_0x4c1c1f(0x2b3)},'body':JSON['stringify']({'environment':_0x40d6c8,'judgeAgent':_0x5b7a59,'groupId':_0x57d463,'taskIds':_0x36c49f,'judgeCustomInstructions':_0x3fac1e,'isPinned':_0x4eb442})});if(!_0xc33e3b['ok']){const _0x12f5dd=await _0xc33e3b['json']();throw new Error(_0x12f5dd['error']||_0x4c1c1f(0x35a));}return await _0xc33e3b['json']();},async 'getJudgeTasks'(_0x2d35ed){const _0x599d6d=_0x2b351f,_0x545c33=await fetch(API_BASE+_0x599d6d(0x282)+encodeURIComponent(_0x2d35ed));if(!_0x545c33['ok']){const _0x295347=await _0x545c33[_0x599d6d(0x28e)]();throw new Error(_0x295347[_0x599d6d(0x143)]||'Failed\x20to\x20fetch\x20judge\x20tasks');}return await _0x545c33[_0x599d6d(0x28e)]();},async 'sendJudgeFeedbackAsFollowUp'(_0x98b87c,_0x4dffb2,_0x30891b=''){const _0x140ee8=_0x2b351f,_0x444669=await fetch(API_BASE+_0x140ee8(0x18b)+_0x98b87c+'/follow-up-from-judge',{'method':_0x140ee8(0x2b4),'headers':{'Content-Type':'application/json'},'body':JSON[_0x140ee8(0x31e)]({'judgeTaskId':_0x4dffb2,'customPreamble':_0x30891b})});if(!_0x444669['ok']){const _0x5799b1=await _0x444669[_0x140ee8(0x28e)]();throw new Error(_0x5799b1[_0x140ee8(0x143)]||_0x140ee8(0x218));}return await _0x444669[_0x140ee8(0x28e)]();},async 'getJiraConfig'(){const _0x1ed5b8=await fetch(API_BASE+'/jira/config');if(!_0x1ed5b8['ok'])throw new Error('Failed\x20to\x20get\x20Jira\x20configuration');return await _0x1ed5b8['json']();},async 'getJiraIssue'(_0x2bfb98){const _0x4b38f0=_0x2b351f,_0x2f511c=await fetch(API_BASE+_0x4b38f0(0x21a)+_0x2bfb98);if(!_0x2f511c['ok']){const _0x539aba=await _0x2f511c[_0x4b38f0(0x28e)]()['catch'](()=>({}));throw new Error(_0x539aba[_0x4b38f0(0x1a1)]||_0x4b38f0(0x28a)+_0x2f511c['statusText']);}return await _0x2f511c[_0x4b38f0(0x28e)]();},async 'searchJiraIssues'(_0x44370a,_0x3bdbbe=0x14){const _0x4f179f=_0x2b351f,_0x34ec4c=await fetch(API_BASE+'/jira/search',{'method':'POST','headers':{'Content-Type':_0x4f179f(0x2b3)},'body':JSON[_0x4f179f(0x31e)]({'query':_0x44370a,'maxResults':_0x3bdbbe})});if(!_0x34ec4c['ok']){const _0x23d31a=await _0x34ec4c['json']()['catch'](()=>({}));throw new Error(_0x23d31a[_0x4f179f(0x1a1)]||_0x4f179f(0x1c6)+_0x34ec4c[_0x4f179f(0x29b)]);}return await _0x34ec4c[_0x4f179f(0x28e)]();},async 'postJiraComment'(_0x72d1d,_0x50c310){const _0x271561=_0x2b351f,_0x14dfa6=await fetch(API_BASE+'/jira/issues/'+_0x72d1d+'/comment',{'method':_0x271561(0x2b4),'headers':{'Content-Type':'application/json'},'body':JSON[_0x271561(0x31e)]({'comment':_0x50c310})});if(!_0x14dfa6['ok']){const _0xa72a91=await _0x14dfa6[_0x271561(0x28e)]()[_0x271561(0x209)](()=>({}));throw new Error(_0xa72a91[_0x271561(0x1a1)]||_0x271561(0x1f5)+_0x14dfa6[_0x271561(0x29b)]);}return await _0x14dfa6[_0x271561(0x28e)]();},async 'getJiraComments'(_0x10f40c){const _0x451ee2=_0x2b351f,_0x351e54=await fetch(API_BASE+_0x451ee2(0x21a)+_0x10f40c+'/comments');if(!_0x351e54['ok']){const _0x59e953=await _0x351e54[_0x451ee2(0x28e)]()[_0x451ee2(0x209)](()=>({}));throw new Error(_0x59e953[_0x451ee2(0x1a1)]||'Failed\x20to\x20fetch\x20Jira\x20comments:\x20'+_0x351e54[_0x451ee2(0x29b)]);}return await _0x351e54[_0x451ee2(0x28e)]();},async 'promptParameter'({environment:_0x13be3d,command:_0x11b440,parser:parser='json'}){const _0x3f07bf=_0x2b351f,_0x12fa9e=await fetch(API_BASE+_0x3f07bf(0x2bf),{'method':_0x3f07bf(0x2b4),'headers':{'Content-Type':_0x3f07bf(0x2b3)},'body':JSON[_0x3f07bf(0x31e)]({'environment':_0x13be3d,'command':_0x11b440,'parser':parser})});if(!_0x12fa9e['ok']){const _0x128b48=await _0x12fa9e['json']()['catch'](()=>({}));throw new Error(_0x128b48['message']||_0x128b48[_0x3f07bf(0x143)]||_0x3f07bf(0x334)+_0x12fa9e[_0x3f07bf(0x29b)]);}return await _0x12fa9e[_0x3f07bf(0x28e)]();},async 'promptParameterStream'(_0x155c14,_0x6bc669){const _0x674436=_0x2b351f,_0xda75b9=await fetch(API_BASE+_0x674436(0x36b),{'method':_0x674436(0x2b4),'headers':{'Content-Type':'application/json'},'body':JSON[_0x674436(0x31e)](_0x155c14)});if(!_0xda75b9['ok'])throw new Error('Failed\x20to\x20start\x20prompt\x20stream:\x20'+_0xda75b9[_0x674436(0x29b)]);const _0x46bcd2=_0xda75b9[_0x674436(0x1ac)][_0x674436(0x1ba)](),_0x1baf25=new TextDecoder();let _0x955757='';return new Promise((_0x4d120b,_0x459f57)=>{const _0x106392=async()=>{const _0x48de8b=_0xa29e;try{const {done:_0x56d906,value:_0x3ec85b}=await _0x46bcd2[_0x48de8b(0x27e)]();if(_0x56d906)return;_0x955757+=_0x1baf25[_0x48de8b(0x182)](_0x3ec85b,{'stream':!![]});const _0x41bd09=_0x955757[_0x48de8b(0x28c)]('\x0a\x0a');_0x955757=_0x41bd09[_0x48de8b(0x328)]()||'';for(const _0x535f8f of _0x41bd09){if(!_0x535f8f[_0x48de8b(0x335)]())continue;const _0x16b501=_0x535f8f['split']('\x0a');let _0x5cb953=_0x48de8b(0x1a1),_0x17f5ef='';for(const _0x2da59d of _0x16b501){if(_0x2da59d['startsWith'](_0x48de8b(0x22c)))_0x5cb953=_0x2da59d[_0x48de8b(0x33a)](0x6)['trim']();else _0x2da59d['startsWith'](_0x48de8b(0x2af))&&(_0x17f5ef=_0x2da59d['substring'](0x5)['trim']());}if(!_0x17f5ef)continue;try{const _0x4b76aa=JSON[_0x48de8b(0x32b)](_0x17f5ef);if(_0x5cb953==='progress'&&_0x6bc669)_0x6bc669(_0x4b76aa[_0x48de8b(0x2f6)],_0x4b76aa['message']);else{if(_0x5cb953==='result'){_0x4d120b(_0x4b76aa);return;}else{if(_0x5cb953===_0x48de8b(0x143)){let _0x3a1146=_0x4b76aa['message']||_0x4b76aa['error']||_0x48de8b(0x1bf);_0x4b76aa[_0x48de8b(0x1fb)]&&(_0x3a1146+='\x0a\x0aRaw\x20output:\x0a'+_0x4b76aa[_0x48de8b(0x1fb)]);_0x459f57(new Error(_0x3a1146));return;}}}}catch(_0x2db599){console[_0x48de8b(0x143)](_0x48de8b(0x1c4),_0x2db599),console['error'](_0x48de8b(0x2b2),_0x5cb953),console[_0x48de8b(0x143)](_0x48de8b(0x361),_0x17f5ef),console[_0x48de8b(0x143)]('First\x20200\x20chars:',_0x17f5ef[_0x48de8b(0x33a)](0x0,0xc8)),_0x459f57(new Error(_0x48de8b(0x2a6)+_0x2db599[_0x48de8b(0x1a1)]+_0x48de8b(0x114)+_0x17f5ef[_0x48de8b(0x33a)](0x0,0x1f4)));return;}}_0x106392();}catch(_0x4aabca){_0x459f57(_0x4aabca);}};_0x106392();});},'getBaseUrl'(){return API_BASE;},async 'get'(_0x49fec9){const _0x507da6=_0x2b351f,_0x3788a9=await fetch(''+API_BASE+_0x49fec9);if(!_0x3788a9['ok']){const _0x3a1cce=await _0x3788a9[_0x507da6(0x28e)]()[_0x507da6(0x209)](()=>({'error':_0x3788a9[_0x507da6(0x29b)]})),_0x3fe3da=new Error(_0x3a1cce[_0x507da6(0x143)]||_0x3a1cce['message']||_0x3788a9[_0x507da6(0x29b)]);if(_0x3a1cce[_0x507da6(0x345)]!==undefined)_0x3fe3da['detail']=_0x3a1cce[_0x507da6(0x345)];throw _0x3fe3da;}return await _0x3788a9['json']();},async 'post'(_0x3a4307,_0x5646ac){const _0x1512a6=_0x2b351f,_0x507b06=await fetch(''+API_BASE+_0x3a4307,{'method':'POST','headers':{'Content-Type':_0x1512a6(0x2b3)},'body':JSON[_0x1512a6(0x31e)](_0x5646ac)});if(!_0x507b06['ok']){const _0x29ca47=await _0x507b06['json']()['catch'](()=>({'error':_0x507b06[_0x1512a6(0x29b)]})),_0x1610db=new Error(_0x29ca47[_0x1512a6(0x143)]||_0x29ca47[_0x1512a6(0x1a1)]||_0x507b06['statusText']);if(_0x29ca47[_0x1512a6(0x345)]!==undefined)_0x1610db[_0x1512a6(0x345)]=_0x29ca47[_0x1512a6(0x345)];throw _0x1610db;}return await _0x507b06['json']();},async 'put'(_0x379224,_0x32f0c8){const _0x15d954=_0x2b351f,_0x3088a9=await fetch(''+API_BASE+_0x379224,{'method':_0x15d954(0x366),'headers':{'Content-Type':_0x15d954(0x2b3)},'body':JSON[_0x15d954(0x31e)](_0x32f0c8)});if(!_0x3088a9['ok']){const _0x2cceaf=await _0x3088a9[_0x15d954(0x28e)]()['catch'](()=>({'error':_0x3088a9['statusText']})),_0x222528=new Error(_0x2cceaf[_0x15d954(0x143)]||_0x2cceaf[_0x15d954(0x1a1)]||_0x3088a9[_0x15d954(0x29b)]);if(_0x2cceaf[_0x15d954(0x345)]!==undefined)_0x222528['detail']=_0x2cceaf[_0x15d954(0x345)];throw _0x222528;}return await _0x3088a9[_0x15d954(0x28e)]();},async 'delete'(_0x3bf570,_0x165b52){const _0x22663c=_0x2b351f,_0x5ba139={'method':'DELETE'};_0x165b52&&(_0x5ba139['headers']={'Content-Type':'application/json'},_0x5ba139[_0x22663c(0x1ac)]=JSON['stringify'](_0x165b52));const _0x24b588=await fetch(''+API_BASE+_0x3bf570,_0x5ba139);if(!_0x24b588['ok']){const _0x515054=await _0x24b588[_0x22663c(0x28e)]()['catch'](()=>({'error':_0x24b588[_0x22663c(0x29b)]})),_0x1656e1=new Error(_0x515054['error']||_0x515054[_0x22663c(0x1a1)]||_0x24b588[_0x22663c(0x29b)]);if(_0x515054[_0x22663c(0x345)]!==undefined)_0x1656e1[_0x22663c(0x345)]=_0x515054[_0x22663c(0x345)];throw _0x1656e1;}return await _0x24b588[_0x22663c(0x28e)]();},async 'getSkills'(){const _0x19b763=_0x2b351f,_0x13b296=await fetch(API_BASE+'/skills');if(!_0x13b296['ok'])throw new Error(_0x19b763(0x18d)+_0x13b296[_0x19b763(0x29b)]);return await _0x13b296[_0x19b763(0x28e)]();},async 'getSkill'(_0x21273f){const _0x4e73af=_0x2b351f,_0x34ef8b=await fetch(API_BASE+_0x4e73af(0x264)+encodeURIComponent(_0x21273f));if(!_0x34ef8b['ok'])throw new Error(_0x4e73af(0x127)+_0x34ef8b[_0x4e73af(0x29b)]);return await _0x34ef8b[_0x4e73af(0x28e)]();},async 'createSkill'(_0x5babba){const _0x5ecc29=_0x2b351f,_0x5f1168=await fetch(API_BASE+_0x5ecc29(0x313),{'method':'POST','headers':{'Content-Type':_0x5ecc29(0x2b3)},'body':JSON[_0x5ecc29(0x31e)](_0x5babba)});if(!_0x5f1168['ok']){const _0x2c220d=await _0x5f1168[_0x5ecc29(0x28e)]()[_0x5ecc29(0x209)](()=>({'error':_0x5f1168[_0x5ecc29(0x29b)]})),_0x2f4edb=new Error(_0x2c220d[_0x5ecc29(0x143)]||_0x2c220d[_0x5ecc29(0x1a1)]||_0x5f1168[_0x5ecc29(0x29b)]);if(_0x2c220d[_0x5ecc29(0x345)]!==undefined)_0x2f4edb['detail']=_0x2c220d['detail'];throw _0x2f4edb;}return await _0x5f1168[_0x5ecc29(0x28e)]();},async 'updateSkill'(_0x4be9b1,_0x4b6463){const _0x16d773=_0x2b351f,_0xfac84b=await fetch(API_BASE+_0x16d773(0x264)+encodeURIComponent(_0x4be9b1),{'method':_0x16d773(0x366),'headers':{'Content-Type':_0x16d773(0x2b3)},'body':JSON[_0x16d773(0x31e)](_0x4b6463)});if(!_0xfac84b['ok']){const _0x39b036=await _0xfac84b[_0x16d773(0x28e)]()['catch'](()=>({'error':_0xfac84b[_0x16d773(0x29b)]})),_0x76bf7f=new Error(_0x39b036['error']||_0x39b036[_0x16d773(0x1a1)]||_0xfac84b['statusText']);if(_0x39b036[_0x16d773(0x345)]!==undefined)_0x76bf7f[_0x16d773(0x345)]=_0x39b036[_0x16d773(0x345)];throw _0x76bf7f;}return await _0xfac84b[_0x16d773(0x28e)]();},async 'deleteSkill'(_0x7f948){const _0x2b072e=_0x2b351f,_0x23f3bc=await fetch(API_BASE+'/skills/'+encodeURIComponent(_0x7f948),{'method':_0x2b072e(0x301)});if(!_0x23f3bc['ok']){const _0x3122fa=await _0x23f3bc[_0x2b072e(0x28e)]()[_0x2b072e(0x209)](()=>({'error':_0x23f3bc['statusText']})),_0x192110=new Error(_0x3122fa[_0x2b072e(0x143)]||_0x3122fa[_0x2b072e(0x1a1)]||_0x23f3bc[_0x2b072e(0x29b)]);if(_0x3122fa[_0x2b072e(0x345)]!==undefined)_0x192110[_0x2b072e(0x345)]=_0x3122fa[_0x2b072e(0x345)];throw _0x192110;}return await _0x23f3bc[_0x2b072e(0x28e)]();},async 'getSkillFile'(_0x318f51,_0x3d45be){const _0x31decd=_0x2b351f,_0x297882=await fetch(API_BASE+_0x31decd(0x264)+encodeURIComponent(_0x318f51)+_0x31decd(0x141)+_0x3d45be);if(!_0x297882['ok'])throw new Error(_0x31decd(0x287)+_0x297882[_0x31decd(0x29b)]);return await _0x297882[_0x31decd(0x28e)]();},async 'saveSkillFile'(_0x535e1a,_0x1f3b48,_0x3f4189){const _0x49ea6e=_0x2b351f,_0x4f9422=await fetch(API_BASE+_0x49ea6e(0x264)+encodeURIComponent(_0x535e1a)+'/files/'+_0x1f3b48,{'method':_0x49ea6e(0x2b4),'headers':{'Content-Type':_0x49ea6e(0x2b3)},'body':JSON[_0x49ea6e(0x31e)]({'content':_0x3f4189})});if(!_0x4f9422['ok']){const _0x2de7ff=await _0x4f9422[_0x49ea6e(0x28e)]()['catch'](()=>({'error':_0x4f9422[_0x49ea6e(0x29b)]})),_0x4d2a08=new Error(_0x2de7ff[_0x49ea6e(0x143)]||_0x2de7ff[_0x49ea6e(0x1a1)]||_0x4f9422[_0x49ea6e(0x29b)]);if(_0x2de7ff[_0x49ea6e(0x345)]!==undefined)_0x4d2a08[_0x49ea6e(0x345)]=_0x2de7ff[_0x49ea6e(0x345)];throw _0x4d2a08;}return await _0x4f9422[_0x49ea6e(0x28e)]();},async 'deleteSkillFile'(_0x2d6cc5,_0x53fb4d){const _0xe1daa9=_0x2b351f,_0x169b0d=await fetch(API_BASE+'/skills/'+encodeURIComponent(_0x2d6cc5)+_0xe1daa9(0x141)+_0x53fb4d,{'method':_0xe1daa9(0x301)});if(!_0x169b0d['ok']){const _0x594794=await _0x169b0d[_0xe1daa9(0x28e)]()[_0xe1daa9(0x209)](()=>({'error':_0x169b0d['statusText']})),_0x210bc3=new Error(_0x594794[_0xe1daa9(0x143)]||_0x594794[_0xe1daa9(0x1a1)]||_0x169b0d['statusText']);if(_0x594794[_0xe1daa9(0x345)]!==undefined)_0x210bc3[_0xe1daa9(0x345)]=_0x594794[_0xe1daa9(0x345)];throw _0x210bc3;}return await _0x169b0d[_0xe1daa9(0x28e)]();},async 'pullSkills'(){const _0x3e7517=_0x2b351f,_0x5cb21d=await fetch(API_BASE+_0x3e7517(0x128),{'method':_0x3e7517(0x2b4)});if(!_0x5cb21d['ok']){const _0x2a4bbd=await _0x5cb21d[_0x3e7517(0x28e)]()[_0x3e7517(0x209)](()=>({'error':_0x5cb21d[_0x3e7517(0x29b)]})),_0x4d3d5d=new Error(_0x2a4bbd['error']||_0x2a4bbd[_0x3e7517(0x1a1)]||_0x5cb21d[_0x3e7517(0x29b)]);if(_0x2a4bbd[_0x3e7517(0x345)]!==undefined)_0x4d3d5d['detail']=_0x2a4bbd[_0x3e7517(0x345)];throw _0x4d3d5d;}return await _0x5cb21d[_0x3e7517(0x28e)]();},async 'commitSkills'(_0xc6fd4b,_0x4f122d={}){const _0x49c549=_0x2b351f,{push:push=!![],pullFirst:pullFirst=!![],scope:scope=_0x49c549(0x11b)}=_0x4f122d,_0x117bb4=await fetch(API_BASE+'/skills/git/commit',{'method':_0x49c549(0x2b4),'headers':{'Content-Type':_0x49c549(0x2b3)},'body':JSON[_0x49c549(0x31e)]({'message':_0xc6fd4b,'push':push,'pullFirst':pullFirst,'scope':scope})});if(!_0x117bb4['ok']){const _0xca3690=await _0x117bb4[_0x49c549(0x28e)]()[_0x49c549(0x209)](()=>({'error':_0x117bb4['statusText']})),_0x1bded6=new Error(_0xca3690[_0x49c549(0x143)]||_0xca3690[_0x49c549(0x1a1)]||_0x117bb4[_0x49c549(0x29b)]);if(_0xca3690[_0x49c549(0x345)]!==undefined)_0x1bded6[_0x49c549(0x345)]=_0xca3690[_0x49c549(0x345)];throw _0x1bded6;}return await _0x117bb4['json']();},async 'discardSkillsChanges'(){const _0x2ed812=_0x2b351f,_0x6c4ef=await fetch(API_BASE+'/skills/git/discard',{'method':_0x2ed812(0x2b4)});if(!_0x6c4ef['ok']){const _0x5e7c37=await _0x6c4ef[_0x2ed812(0x28e)]()['catch'](()=>({'error':_0x6c4ef[_0x2ed812(0x29b)]})),_0x141ad2=new Error(_0x5e7c37[_0x2ed812(0x143)]||_0x5e7c37[_0x2ed812(0x1a1)]||_0x6c4ef[_0x2ed812(0x29b)]);if(_0x5e7c37[_0x2ed812(0x345)]!==undefined)_0x141ad2[_0x2ed812(0x345)]=_0x5e7c37[_0x2ed812(0x345)];throw _0x141ad2;}return await _0x6c4ef[_0x2ed812(0x28e)]();},async 'getSkillCatalog'(){const _0x503e71=_0x2b351f,_0x283a56=await fetch(API_BASE+_0x503e71(0x13a));if(!_0x283a56['ok'])throw new Error(_0x503e71(0x190)+_0x283a56[_0x503e71(0x29b)]);return await _0x283a56[_0x503e71(0x28e)]();},async 'getImportedSkillsRegistry'(){const _0x26f73d=_0x2b351f,_0x162f5a=await fetch(API_BASE+_0x26f73d(0x1b7));if(!_0x162f5a['ok'])throw new Error(_0x26f73d(0x236)+_0x162f5a[_0x26f73d(0x29b)]);return await _0x162f5a[_0x26f73d(0x28e)]();},async 'importCatalogSkill'(_0x4efee5){const _0xbf3e81=_0x2b351f,_0x9fe600=await fetch(API_BASE+_0xbf3e81(0x1d8),{'method':_0xbf3e81(0x2b4),'headers':{'Content-Type':_0xbf3e81(0x2b3)},'body':JSON[_0xbf3e81(0x31e)]({'skillId':_0x4efee5})});if(!_0x9fe600['ok']){const _0x1e802e=await _0x9fe600[_0xbf3e81(0x28e)]()[_0xbf3e81(0x209)](()=>({'error':_0x9fe600[_0xbf3e81(0x29b)]})),_0x59a03d=new Error(_0x1e802e[_0xbf3e81(0x143)]||_0x1e802e[_0xbf3e81(0x1a1)]||_0x9fe600[_0xbf3e81(0x29b)]);if(_0x1e802e[_0xbf3e81(0x345)]!==undefined)_0x59a03d[_0xbf3e81(0x345)]=_0x1e802e[_0xbf3e81(0x345)];throw _0x59a03d;}return await _0x9fe600[_0xbf3e81(0x28e)]();},async 'importSkillFromGit'(_0x39793e,_0x5bcbad,_0x2a7bdc=_0x2b351f(0x2b0),_0x574d63=null){const _0x403124=_0x2b351f,_0x12b00f=await fetch(API_BASE+_0x403124(0x2cb),{'method':_0x403124(0x2b4),'headers':{'Content-Type':_0x403124(0x2b3)},'body':JSON[_0x403124(0x31e)]({'repoUrl':_0x39793e,'skillPath':_0x5bcbad,'branch':_0x2a7bdc,'skillId':_0x574d63})});if(!_0x12b00f['ok']){const _0x428c9a=await _0x12b00f['json']()[_0x403124(0x209)](()=>({'error':_0x12b00f[_0x403124(0x29b)]})),_0x316b7a=new Error(_0x428c9a[_0x403124(0x143)]||_0x428c9a['message']||_0x12b00f[_0x403124(0x29b)]);if(_0x428c9a[_0x403124(0x345)]!==undefined)_0x316b7a[_0x403124(0x345)]=_0x428c9a[_0x403124(0x345)];throw _0x316b7a;}return await _0x12b00f['json']();},async 'probeMarketplace'(_0x3aa8c5,_0x3eed41='main'){const _0x52207d=_0x2b351f,_0x48caf2=await fetch(API_BASE+_0x52207d(0x167),{'method':_0x52207d(0x2b4),'headers':{'Content-Type':_0x52207d(0x2b3)},'body':JSON[_0x52207d(0x31e)]({'repoUrl':_0x3aa8c5,'branch':_0x3eed41})});if(!_0x48caf2['ok']){const _0x30ea7a=await _0x48caf2[_0x52207d(0x28e)]()[_0x52207d(0x209)](()=>({'error':_0x48caf2[_0x52207d(0x29b)]})),_0x55ccf4=new Error(_0x30ea7a[_0x52207d(0x143)]||_0x30ea7a[_0x52207d(0x1a1)]||_0x48caf2[_0x52207d(0x29b)]);if(_0x30ea7a['detail']!==undefined)_0x55ccf4[_0x52207d(0x345)]=_0x30ea7a[_0x52207d(0x345)];throw _0x55ccf4;}return await _0x48caf2['json']();},async 'importMarketplaceBundle'(_0x4f4e54,_0x1cb7fd,_0x1f4aaf,_0x8cf52b=null){const _0x1c774a=_0x2b351f,_0x211e13=await fetch(API_BASE+'/external-skills/import/marketplace-bundle',{'method':_0x1c774a(0x2b4),'headers':{'Content-Type':'application/json'},'body':JSON[_0x1c774a(0x31e)]({'repoUrl':_0x4f4e54,'branch':_0x1cb7fd,'bundleId':_0x1f4aaf,'selectedSkills':_0x8cf52b})});if(!_0x211e13['ok']){const _0x19bed9=await _0x211e13[_0x1c774a(0x28e)]()[_0x1c774a(0x209)](()=>({'error':_0x211e13[_0x1c774a(0x29b)]})),_0x2cf0dc=new Error(_0x19bed9[_0x1c774a(0x143)]||_0x19bed9[_0x1c774a(0x1a1)]||_0x211e13[_0x1c774a(0x29b)]);if(_0x19bed9['detail']!==undefined)_0x2cf0dc[_0x1c774a(0x345)]=_0x19bed9[_0x1c774a(0x345)];throw _0x2cf0dc;}return await _0x211e13['json']();},async 'importSkillFromFolder'(_0x7fc60,_0x349ae7=null){const _0x1bb652=_0x2b351f,_0x21ad4d=await fetch(API_BASE+_0x1bb652(0x172),{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[_0x1bb652(0x31e)]({'folderPath':_0x7fc60,'skillId':_0x349ae7})});if(!_0x21ad4d['ok']){const _0x3190f2=await _0x21ad4d[_0x1bb652(0x28e)]()[_0x1bb652(0x209)](()=>({'error':_0x21ad4d[_0x1bb652(0x29b)]})),_0x5509a5=new Error(_0x3190f2['error']||_0x3190f2[_0x1bb652(0x1a1)]||_0x21ad4d['statusText']);if(_0x3190f2['detail']!==undefined)_0x5509a5[_0x1bb652(0x345)]=_0x3190f2[_0x1bb652(0x345)];throw _0x5509a5;}return await _0x21ad4d[_0x1bb652(0x28e)]();},async 'importSkillFromNpm'(_0x360bcb,_0x50a720=_0x2b351f(0x198),_0x2e2d0b=null,_0x489260=null){const _0x3baa7c=_0x2b351f,_0x30c685=await fetch(API_BASE+_0x3baa7c(0x292),{'method':_0x3baa7c(0x2b4),'headers':{'Content-Type':_0x3baa7c(0x2b3)},'body':JSON['stringify']({'packageName':_0x360bcb,'version':_0x50a720,'skillId':_0x2e2d0b,'registry':_0x489260})});if(!_0x30c685['ok']){const _0x136b4a=await _0x30c685[_0x3baa7c(0x28e)]()[_0x3baa7c(0x209)](()=>({'error':_0x30c685[_0x3baa7c(0x29b)]})),_0x21a49a=new Error(_0x136b4a['error']||_0x136b4a[_0x3baa7c(0x1a1)]||_0x30c685[_0x3baa7c(0x29b)]);if(_0x136b4a['detail']!==undefined)_0x21a49a[_0x3baa7c(0x345)]=_0x136b4a[_0x3baa7c(0x345)];throw _0x21a49a;}return await _0x30c685[_0x3baa7c(0x28e)]();},async 'checkSkillUpdates'(_0x2b14f1){const _0x46f160=_0x2b351f,_0x4680b7=await fetch(API_BASE+'/external-skills/'+encodeURIComponent(_0x2b14f1)+_0x46f160(0x165),{'method':_0x46f160(0x2b4)});if(!_0x4680b7['ok']){const _0x43b49a=await _0x4680b7['json']()['catch'](()=>({'error':_0x4680b7[_0x46f160(0x29b)]})),_0x326501=new Error(_0x43b49a[_0x46f160(0x143)]||_0x43b49a['message']||_0x4680b7[_0x46f160(0x29b)]);if(_0x43b49a['detail']!==undefined)_0x326501['detail']=_0x43b49a[_0x46f160(0x345)];throw _0x326501;}return await _0x4680b7[_0x46f160(0x28e)]();},async 'updateExternalSkill'(_0x4d295e){const _0x1c2ee0=_0x2b351f,_0xcc6d3f=await fetch(API_BASE+_0x1c2ee0(0x206)+encodeURIComponent(_0x4d295e)+_0x1c2ee0(0x365),{'method':'POST'});if(!_0xcc6d3f['ok']){const _0x140ac9=await _0xcc6d3f[_0x1c2ee0(0x28e)]()[_0x1c2ee0(0x209)](()=>({'error':_0xcc6d3f[_0x1c2ee0(0x29b)]})),_0x113910=new Error(_0x140ac9[_0x1c2ee0(0x143)]||_0x140ac9[_0x1c2ee0(0x1a1)]||_0xcc6d3f[_0x1c2ee0(0x29b)]);if(_0x140ac9[_0x1c2ee0(0x345)]!==undefined)_0x113910[_0x1c2ee0(0x345)]=_0x140ac9[_0x1c2ee0(0x345)];throw _0x113910;}return await _0xcc6d3f[_0x1c2ee0(0x28e)]();},async 'updateSkillFlags'(_0x1bb246,_0x2337df){const _0xb288a4=_0x2b351f,_0x1db1b8=await fetch(API_BASE+_0xb288a4(0x206)+encodeURIComponent(_0x1bb246)+'/flags',{'method':_0xb288a4(0x366),'headers':{'Content-Type':'application/json'},'body':JSON[_0xb288a4(0x31e)]({'flags':_0x2337df})});if(!_0x1db1b8['ok']){const _0x2bd7b4=await _0x1db1b8['json']()[_0xb288a4(0x209)](()=>({'error':_0x1db1b8[_0xb288a4(0x29b)]})),_0x74fdd9=new Error(_0x2bd7b4[_0xb288a4(0x143)]||_0x2bd7b4[_0xb288a4(0x1a1)]||_0x1db1b8[_0xb288a4(0x29b)]);if(_0x2bd7b4[_0xb288a4(0x345)]!==undefined)_0x74fdd9['detail']=_0x2bd7b4[_0xb288a4(0x345)];throw _0x74fdd9;}return await _0x1db1b8[_0xb288a4(0x28e)]();},async 'removeFromImportedRegistry'(_0x22a39d){const _0x4e9b2a=_0x2b351f,_0x2a69e1=await fetch(API_BASE+_0x4e9b2a(0x206)+encodeURIComponent(_0x22a39d)+_0x4e9b2a(0x1d7),{'method':_0x4e9b2a(0x301)});if(!_0x2a69e1['ok']){const _0x1aa81f=await _0x2a69e1['json']()[_0x4e9b2a(0x209)](()=>({'error':_0x2a69e1[_0x4e9b2a(0x29b)]})),_0xc34db6=new Error(_0x1aa81f[_0x4e9b2a(0x143)]||_0x1aa81f[_0x4e9b2a(0x1a1)]||_0x2a69e1[_0x4e9b2a(0x29b)]);if(_0x1aa81f[_0x4e9b2a(0x345)]!==undefined)_0xc34db6[_0x4e9b2a(0x345)]=_0x1aa81f[_0x4e9b2a(0x345)];throw _0xc34db6;}return await _0x2a69e1['json']();},async 'getTeams'(){const _0x3d692e=_0x2b351f,_0x576dc3=await fetch(API_BASE+_0x3d692e(0x319));if(!_0x576dc3['ok']){const _0x448d0f=await _0x576dc3[_0x3d692e(0x28e)]()[_0x3d692e(0x209)](()=>({'message':_0x576dc3[_0x3d692e(0x29b)]}));throw new Error(_0x448d0f[_0x3d692e(0x1a1)]||_0x3d692e(0x173));}return await _0x576dc3[_0x3d692e(0x28e)]();},async 'getTeam'(_0x2a2c94){const _0x5c44c3=_0x2b351f,_0xd061e4=await fetch(API_BASE+_0x5c44c3(0x24e)+encodeURIComponent(_0x2a2c94));if(!_0xd061e4['ok']){const _0x12b8cc=await _0xd061e4['json']()[_0x5c44c3(0x209)](()=>({'message':_0xd061e4['statusText']}));throw new Error(_0x12b8cc[_0x5c44c3(0x1a1)]||_0x5c44c3(0x242));}return await _0xd061e4[_0x5c44c3(0x28e)]();},async 'createTeam'(_0x459c06){const _0x4648ce=_0x2b351f,_0xfb937a=await fetch(API_BASE+'/teams',{'method':_0x4648ce(0x2b4),'headers':{'Content-Type':_0x4648ce(0x2b3)},'body':JSON[_0x4648ce(0x31e)](_0x459c06)});if(!_0xfb937a['ok']){const _0x94b70=await _0xfb937a[_0x4648ce(0x28e)]()[_0x4648ce(0x209)](()=>({'message':_0xfb937a[_0x4648ce(0x29b)]}));throw new Error(_0x94b70[_0x4648ce(0x1a1)]||_0x4648ce(0x1eb));}return await _0xfb937a['json']();},async 'updateTeam'(_0x54443c,_0x4b6535){const _0x2333a3=_0x2b351f,_0x50b9e7=await fetch(API_BASE+_0x2333a3(0x24e)+encodeURIComponent(_0x54443c),{'method':_0x2333a3(0x366),'headers':{'Content-Type':_0x2333a3(0x2b3)},'body':JSON[_0x2333a3(0x31e)](_0x4b6535)});if(!_0x50b9e7['ok']){const _0xb61e19=await _0x50b9e7[_0x2333a3(0x28e)]()['catch'](()=>({'message':_0x50b9e7['statusText']}));throw new Error(_0xb61e19[_0x2333a3(0x1a1)]||_0x2333a3(0x135));}return await _0x50b9e7[_0x2333a3(0x28e)]();},async 'deleteTeam'(_0x4138d1){const _0xb8f62f=_0x2b351f,_0x438164=await fetch(API_BASE+'/teams/'+encodeURIComponent(_0x4138d1),{'method':'DELETE'});if(!_0x438164['ok']){const _0x26d606=await _0x438164[_0xb8f62f(0x28e)]()[_0xb8f62f(0x209)](()=>({'message':_0x438164[_0xb8f62f(0x29b)]}));throw new Error(_0x26d606['message']||_0xb8f62f(0x2c1));}return await _0x438164[_0xb8f62f(0x28e)]();},async 'addTeamMember'(_0x535384,_0x35f126){const _0x2c0088=_0x2b351f,_0x41f5e7=await fetch(API_BASE+_0x2c0088(0x24e)+encodeURIComponent(_0x535384)+_0x2c0088(0x302),{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'userId':_0x35f126})});if(!_0x41f5e7['ok']){const _0x1b09e0=await _0x41f5e7[_0x2c0088(0x28e)]()[_0x2c0088(0x209)](()=>({'message':_0x41f5e7[_0x2c0088(0x29b)]}));throw new Error(_0x1b09e0['message']||_0x2c0088(0x254));}return await _0x41f5e7[_0x2c0088(0x28e)]();},async 'removeTeamMember'(_0xdfb2a9,_0x4bbf2c){const _0x246de4=_0x2b351f,_0x3afc12=await fetch(API_BASE+_0x246de4(0x24e)+encodeURIComponent(_0xdfb2a9)+_0x246de4(0x17c)+encodeURIComponent(_0x4bbf2c),{'method':_0x246de4(0x301)});if(!_0x3afc12['ok']){const _0x4e5bb1=await _0x3afc12[_0x246de4(0x28e)]()['catch'](()=>({'message':_0x3afc12['statusText']}));throw new Error(_0x4e5bb1[_0x246de4(0x1a1)]||_0x246de4(0x325));}return await _0x3afc12[_0x246de4(0x28e)]();},async 'addTeamManager'(_0x44ced7,_0x52d7c8){const _0x4a31f1=_0x2b351f,_0xbe20ac=await fetch(API_BASE+_0x4a31f1(0x24e)+encodeURIComponent(_0x44ced7)+_0x4a31f1(0x1bd),{'method':_0x4a31f1(0x2b4),'headers':{'Content-Type':_0x4a31f1(0x2b3)},'body':JSON[_0x4a31f1(0x31e)]({'userId':_0x52d7c8})});if(!_0xbe20ac['ok']){const _0x21b3d9=await _0xbe20ac[_0x4a31f1(0x28e)]()[_0x4a31f1(0x209)](()=>({'message':_0xbe20ac[_0x4a31f1(0x29b)]}));throw new Error(_0x21b3d9['message']||'Failed\x20to\x20add\x20team\x20manager');}return await _0xbe20ac[_0x4a31f1(0x28e)]();},async 'removeTeamManager'(_0x5d3548,_0x354b81){const _0x2ac1ac=_0x2b351f,_0xdc1bab=await fetch(API_BASE+'/teams/'+encodeURIComponent(_0x5d3548)+_0x2ac1ac(0x17f)+encodeURIComponent(_0x354b81),{'method':'DELETE'});if(!_0xdc1bab['ok']){const _0xc1c032=await _0xdc1bab[_0x2ac1ac(0x28e)]()[_0x2ac1ac(0x209)](()=>({'message':_0xdc1bab[_0x2ac1ac(0x29b)]}));throw new Error(_0xc1c032['message']||_0x2ac1ac(0x2b5));}return await _0xdc1bab[_0x2ac1ac(0x28e)]();},async 'getBindings'(_0x17c34e={}){const _0x2fd7f1=_0x2b351f,_0x5a0981=new URLSearchParams();if(_0x17c34e[_0x2fd7f1(0x289)])_0x5a0981[_0x2fd7f1(0x214)]('environment',_0x17c34e[_0x2fd7f1(0x289)]);if(_0x17c34e['subject_type'])_0x5a0981[_0x2fd7f1(0x214)](_0x2fd7f1(0x318),_0x17c34e['subject_type']);if(_0x17c34e['subject_id'])_0x5a0981['set'](_0x2fd7f1(0x2c8),_0x17c34e[_0x2fd7f1(0x2c8)]);const _0xe770d4=_0x5a0981['toString'](),_0x333a42=await fetch(API_BASE+_0x2fd7f1(0x34b)+(_0xe770d4?'?'+_0xe770d4:''));if(!_0x333a42['ok']){const _0x571026=await _0x333a42[_0x2fd7f1(0x28e)]()[_0x2fd7f1(0x209)](()=>({'message':_0x333a42[_0x2fd7f1(0x29b)]}));throw new Error(_0x571026[_0x2fd7f1(0x1a1)]||_0x2fd7f1(0x32c));}return await _0x333a42['json']();},async 'createBinding'(_0x421e2a){const _0x2a3e5b=_0x2b351f,_0x4b0bdb=await fetch(API_BASE+_0x2a3e5b(0x34b),{'method':_0x2a3e5b(0x2b4),'headers':{'Content-Type':_0x2a3e5b(0x2b3)},'body':JSON['stringify'](_0x421e2a)});if(!_0x4b0bdb['ok']){const _0x291761=await _0x4b0bdb['json']()['catch'](()=>({'message':_0x4b0bdb[_0x2a3e5b(0x29b)]}));throw new Error(_0x291761[_0x2a3e5b(0x1a1)]||'Failed\x20to\x20create\x20binding');}return await _0x4b0bdb[_0x2a3e5b(0x28e)]();},async 'updateBinding'(_0x5234a1,_0x54c411){const _0x3ddea3=_0x2b351f,_0x795001=await fetch(API_BASE+_0x3ddea3(0x181)+encodeURIComponent(_0x5234a1),{'method':_0x3ddea3(0x366),'headers':{'Content-Type':'application/json'},'body':JSON[_0x3ddea3(0x31e)](_0x54c411)});if(!_0x795001['ok']){const _0x5c8a36=await _0x795001[_0x3ddea3(0x28e)]()[_0x3ddea3(0x209)](()=>({'message':_0x795001[_0x3ddea3(0x29b)]}));throw new Error(_0x5c8a36[_0x3ddea3(0x1a1)]||_0x3ddea3(0x1e0));}return await _0x795001[_0x3ddea3(0x28e)]();},async 'deleteBinding'(_0x3edf12){const _0x4f843b=_0x2b351f,_0x2aaabc=await fetch(API_BASE+_0x4f843b(0x181)+encodeURIComponent(_0x3edf12),{'method':_0x4f843b(0x301)});if(!_0x2aaabc['ok']){const _0xbf7a20=await _0x2aaabc[_0x4f843b(0x28e)]()[_0x4f843b(0x209)](()=>({'message':_0x2aaabc[_0x4f843b(0x29b)]}));throw new Error(_0xbf7a20[_0x4f843b(0x1a1)]||_0x4f843b(0x288));}return await _0x2aaabc[_0x4f843b(0x28e)]();},async 'getRoleDefinitions'(){const _0x1b3185=_0x2b351f,_0x4d79a1=await fetch(API_BASE+_0x1b3185(0x1e6));if(!_0x4d79a1['ok']){const _0x459922=await _0x4d79a1[_0x1b3185(0x28e)]()[_0x1b3185(0x209)](()=>({'message':_0x4d79a1[_0x1b3185(0x29b)]}));throw new Error(_0x459922[_0x1b3185(0x1a1)]||_0x1b3185(0x20e));}return await _0x4d79a1[_0x1b3185(0x28e)]();},async 'getRoleDefinition'(_0x559dc4){const _0x10e6f2=_0x2b351f,_0x3f410c=await fetch(API_BASE+_0x10e6f2(0x1e9)+encodeURIComponent(_0x559dc4));if(!_0x3f410c['ok']){const _0x95765=await _0x3f410c[_0x10e6f2(0x28e)]()[_0x10e6f2(0x209)](()=>({'message':_0x3f410c[_0x10e6f2(0x29b)]}));throw new Error(_0x95765[_0x10e6f2(0x1a1)]||_0x10e6f2(0x215));}return await _0x3f410c[_0x10e6f2(0x28e)]();},async 'createRoleDefinition'(_0x5d217b){const _0x31d993=_0x2b351f,_0x3f9219=await fetch(API_BASE+_0x31d993(0x1e6),{'method':_0x31d993(0x2b4),'headers':{'Content-Type':_0x31d993(0x2b3)},'body':JSON[_0x31d993(0x31e)](_0x5d217b)});if(!_0x3f9219['ok']){const _0x46920f=await _0x3f9219[_0x31d993(0x28e)]()[_0x31d993(0x209)](()=>({'message':_0x3f9219['statusText']}));throw new Error(_0x46920f[_0x31d993(0x1a1)]||_0x31d993(0x2ff));}return await _0x3f9219[_0x31d993(0x28e)]();},async 'updateRoleDefinition'(_0x351c90,_0x118840){const _0x4c6fbf=_0x2b351f,_0x4178a9=await fetch(API_BASE+_0x4c6fbf(0x1e9)+encodeURIComponent(_0x351c90),{'method':_0x4c6fbf(0x366),'headers':{'Content-Type':_0x4c6fbf(0x2b3)},'body':JSON[_0x4c6fbf(0x31e)](_0x118840)});if(!_0x4178a9['ok']){const _0xef605c=await _0x4178a9['json']()[_0x4c6fbf(0x209)](()=>({'message':_0x4178a9['statusText']}));throw new Error(_0xef605c[_0x4c6fbf(0x1a1)]||_0x4c6fbf(0x19d));}return await _0x4178a9['json']();},async 'deleteRoleDefinition'(_0x140319){const _0x3f1ea5=_0x2b351f,_0x333078=await fetch(API_BASE+_0x3f1ea5(0x1e9)+encodeURIComponent(_0x140319),{'method':'DELETE'});if(!_0x333078['ok']){const _0x32162e=await _0x333078['json']()[_0x3f1ea5(0x209)](()=>({'message':_0x333078[_0x3f1ea5(0x29b)]}));throw new Error(_0x32162e[_0x3f1ea5(0x1a1)]||_0x3f1ea5(0x352));}return await _0x333078[_0x3f1ea5(0x28e)]();},async 'getAvailablePermissions'(){const _0x2684fb=_0x2b351f,_0x5b1660=await fetch(API_BASE+_0x2684fb(0x1c8));if(!_0x5b1660['ok']){const _0x172454=await _0x5b1660[_0x2684fb(0x28e)]()[_0x2684fb(0x209)](()=>({'message':_0x5b1660[_0x2684fb(0x29b)]}));throw new Error(_0x172454[_0x2684fb(0x1a1)]||_0x2684fb(0x20a));}return await _0x5b1660['json']();},async 'getGitProviderAllowedTeams'(_0x41b452){const _0x21a7da=_0x2b351f,_0x4e2489=await fetch(API_BASE+_0x21a7da(0x1e8)+encodeURIComponent(_0x41b452)+_0x21a7da(0x2e6));if(!_0x4e2489['ok']){const _0x34f44f=await _0x4e2489[_0x21a7da(0x28e)]()['catch'](()=>({'message':_0x4e2489[_0x21a7da(0x29b)]}));throw new Error(_0x34f44f[_0x21a7da(0x1a1)]||_0x21a7da(0x1da));}return await _0x4e2489['json']();},async 'setGitProviderAllowedTeams'(_0xe35dfe,_0x29d4b1){const _0x10eb19=_0x2b351f,_0x10e4d8=await fetch(API_BASE+_0x10eb19(0x1e8)+encodeURIComponent(_0xe35dfe)+'/allowed-teams',{'method':_0x10eb19(0x366),'headers':{'Content-Type':'application/json'},'body':JSON[_0x10eb19(0x31e)]({'allowedTeams':_0x29d4b1})});if(!_0x10e4d8['ok']){const _0x351315=await _0x10e4d8[_0x10eb19(0x28e)]()[_0x10eb19(0x209)](()=>({'message':_0x10e4d8['statusText']}));throw new Error(_0x351315[_0x10eb19(0x1a1)]||_0x10eb19(0x178));}return await _0x10e4d8[_0x10eb19(0x28e)]();}};const toastState={'toasts':[],'nextId':0x1,'maxToasts':0x5,'container':null,'baseBottom':0x20,'gap':0xc,'defaultHeight':0x30};function getToastContainer(){const _0x10e28a=_0x2b351f;return!toastState['container']&&(toastState[_0x10e28a(0x26f)]=document['createElement']('div'),toastState[_0x10e28a(0x26f)]['id']=_0x10e28a(0x261),toastState[_0x10e28a(0x26f)][_0x10e28a(0x2e2)](_0x10e28a(0x11f),_0x10e28a(0x1de)),toastState[_0x10e28a(0x26f)][_0x10e28a(0x2e2)]('aria-atomic',_0x10e28a(0x123)),document[_0x10e28a(0x1ac)][_0x10e28a(0x275)](toastState[_0x10e28a(0x26f)])),toastState[_0x10e28a(0x26f)];}function repositionAllToasts(){requestAnimationFrame(()=>{const _0x58c57b=_0xa29e;let _0x53678f=toastState[_0x58c57b(0x28b)];toastState[_0x58c57b(0x112)][_0x58c57b(0x1c9)](_0x4a660a=>{const _0x5a9084=_0x58c57b;_0x4a660a['el'][_0x5a9084(0x33b)]['bottom']=_0x53678f+'px';const _0x21c104=_0x4a660a['el'][_0x5a9084(0x2a5)]||toastState['defaultHeight'];_0x53678f+=_0x21c104+toastState[_0x5a9084(0x1ce)];});});}function removeToastById(_0x1f609d){const _0x3064a8=_0x2b351f,_0xb22bed=toastState[_0x3064a8(0x112)]['findIndex'](_0x48def1=>_0x48def1['id']===_0x1f609d);if(_0xb22bed===-0x1)return;const _0x29d2b7=toastState['toasts'][_0xb22bed];if(_0x29d2b7[_0x3064a8(0x207)])clearTimeout(_0x29d2b7[_0x3064a8(0x207)]);_0x29d2b7['el'][_0x3064a8(0x1ed)][_0x3064a8(0x184)](_0x3064a8(0x279)),setTimeout(()=>_0x29d2b7['el'][_0x3064a8(0x184)](),0x12c),toastState[_0x3064a8(0x112)][_0x3064a8(0x1e1)](_0xb22bed,0x1),repositionAllToasts();}function _0x8fc9(){const _0x2ad85c=['CMfUzg9T','mti3nJuXnNvbvgPJua','pgGXpIqXpc9Omt4','l2nVBNrHAw5LCNm','rMfPBgvKihrVihbYzwXVywqGyxv0B2nVBxbSzxrLigrHDge6','yxjPys1SywjLBa','DxrPBhmTBw9KywWTy2XVC2u','rMfPBgvKihrVihvWzgf0zsbHDxrVBwf0Aw9Uihn0yxr1CZOG','rMfPBgvKihrVigDLDcb0zwfT','lMf1Dg9JB21WBgv0zs1ZzwXLy3qTAxrLBq','AgfZtg9HzgvKt25Jzq','ChjPBwfYEq','rMfPBgvKihrVihvWzgf0zsbSB3nLCIbZDgf0Dxm','l2vUDMLYB25Tzw50CW','rMfPBgvKihrVihn0B3aGy29UDgfPBMvYoIa','zwXLBwvUDa','q29UDgvUDc1uExbL','Cg9PBNrLCKv2zw50CW','l3vZzxjZlW','pgGYpIqXpc9OmJ4','l3rLyw1ZlW','Aw5UzxjizwLNAhq','mtiWnJG5nenNthr1Ca','l3rHC2TZ','q29UDgvUDcbPCYbYzxf1AxjLza','A2v5yM9HCMqTC2vSzwn0zwq','rMfPBgvKihrVigfKzcb0zwfTig1LBwjLCG','C29YDeL0zw1Z','rw52AxjVBM1LBNqGBMfTzsbPCYbYzxf1AxjLza','rMfPBgvKihrVigrPC2nHCMqGy2HHBMDLCZOG','rMfPBgvKihrVigDLDcbYB2XLCYbPBMzV','zMLSDgvYt3b0Aw9UCW','yxv0B2nVBxbSzxrL','y2XPy2S','zgf0yxnLDa','mZC1odyYBMPrtgju','zM9UDc13zwLNAhq6yM9Sza','l2XVC2vY','BwLUq2HHCNngB3jtzwfYy2G','Dg9HC3qTy29UDgfPBMvY','y29TyM9IB3G','zMLSDgvY','l3nRAwXSCY8','phnWyw4GC3r5Bgu9iMnVBg9YoIa','ywXSsxrLBxm','Aw5PDa','zgL2','l2DPDc9JB21TAxrZlW','AxnjBNrLz2vY','yxv0B21HDgLVBG','AwnVBG','i2vLzwvLyW','DgfZA0LK','y29UDgfPBMvY','y29UzMLYBs1KAwfSB2CTy29UzMLYBq','vgfI','CMvZzxq','i2qZzdDJzG','iZrLoweWnG','yxbWzw5Kq2HPBgq','CMvUzgvYtwfYA2rVD25gywXSyMfJAW','iZaWmdaWma','CMvWB3mGyxjYyxKGAxmGCMvXDwLYzwq','C2HVDW','CgXHy2vOB2XKzxi','iZm0ztjLmG','Dgv4Dc1KzwnVCMf0Aw9UoNvUzgvYBgLUzq','jImZotS','CMvHza','rMfPBgvKihrVigXVywqGAxrLBxm','yNrUlwrHBMDLCG','C2v0Dxa','l3rHC2TZl2P1zgDLp2DYB3vWswq9','zM9VDgvY','C3vJy2vZCW','AgfZrw52AxjVBM1LBNrcAw5KAw5NCW','BwfYA2vKlMPZig5VDcbSB2fKzwqSihvZAw5NigzHBgXIywnRihjLBMrLCMvY','rMfPBgvKihrVigzLDgnOihnRAwXSigzPBgu6ia','rMfPBgvKihrVigrLBgv0zsbIAw5KAw5N','zw52AxjVBM1LBNq','rMfPBgvKihrVigzLDgnOiePPCMeGAxnZDwu6ia','yMfZzujVDhrVBq','C3bSAxq','zxnJyxbLshrTBa','ANnVBG','x21VzgfS','C3rHDhvZlxf1zxvLza','iZm0nJvHna','l2v4DgvYBMfSlxnRAwXSCY9PBxbVCNqVBNbT','Cgf0Ag5HBwu','yNrUlxnLy29UzgfYEq','l2HLywX0Ac9KB2nRzxiVC3rVCc1HBgW','y2XHC3noyw1L','rMfPBgvKihrVigrLBgv0zsb0yxnRigDYB3vW','AgfUzgXLs2v5zg93BG','l2fWAs9HDxrVBwf0Aw9UCW','pgrPDIbJBgfZCZ0Iyxv0B2nVBxbSzxrLlxnLBgvJDc1LCNjVCIi+','C3rHDhvZvgv4Da','y2XLyxjcDg4','Dgv4DgfYzwe','zMfPBgvK','cIaGicaGicaGicaGidXIDxr0B24GDhLWzt0IyNv0Dg9UiIbJBgfZCZ0I','iZC1nta3yG','l2DPDc9YzxzLCNq','pc9KAxy+','y29UzMLYBs1KAwfSB2CTy2XVC2u','C2vYDMvYlwHLywX0Ac1IDg4','B2zMC2v0sgvPz2H0','rMfPBgvKihrVihbHCNnLifntrsbKyxrHoIa','ndK4ntuYnxvkELvQAW','BMfTzq','C2vSzwn0zwq','B25pCgvU','yxv0B2nVBxbSzxrLlxnLBgvJDc1MB290zxi','rMfPBgvKihrVigzLDgnOigf1Dg9TyxrPB24GAgLZDg9YEtOG','rw50zxi','B3b0Aw9UC0nVBNrHAw5LCG','zgf0ytO','BwfPBG','zw52vMfYCW','rxzLBNqGDhLWztO','yxbWBgLJyxrPB24VANnVBG','ue9tva','rMfPBgvKihrVihjLBw92zsb0zwfTig1HBMfNzxi','B2jZzxj2zq','l3rHC2TZl3n0yxrZ','nJG1mJGWnePPC0DXsa','q3vZDg9Tu2vSzwn0','rMfPBgvKihrVignYzwf0zsb0yxnRoIa','BgLTAxq','yxbWzw5K','C2v0rgf0yq','phbYzt48y29Kzt4KmtWVy29Kzt48l3bYzt4','l3bYB21WDc1WyxjHBwv0zxi','i2zJztK0zG','rMfPBgvKihrVigrLBgv0zsb0zwfT','u2vHCMnOig9WDgLVBNm','z2v0vMfSDwu','y3vZDg9TlxnLBgvJDa','Bwf0y2G','Dgv4Dc9ODg1S','y29UzMLYBs1KAwfSB2CTBwvZC2fNzq','C3vIAMvJDf9Pza','uefuq0G','mtqYmJi2nZj5q1LVq3e','l2v4DgvYBMfSlxnRAwXSCY9PBxbVCNqVz2L0','ywrK','CgXHAw50zxH0','cIaGicaGicaGpc9KAxy+cIaGicaGia','zNvUy3rPB24','Aw5JBhvKzunOAwXKvgfZA3m','zgvZDhjVEq','Aw5WDxq','rMfPBgvKihrVigrLBgv0zsb1C2vY','vxrPBhm','l2LUDgvYCNvWDa','zMXVB3i','BMvHCMvZDa','rMfPBgvKihrVignYzwf0zsb0zxn0ihrHC2S6ia','y29TBwL0x21LC3nHz2u','l2HPC3rVCNK/BgLTAxq9','zcbHz28','ywrKrxzLBNrmAxn0zw5LCG','q2XPCgjVyxjKiefqssb3CML0zsGPigzHAwXLzcWGDhj5Aw5NigzHBgXIywnRoG','zM9UDc1ZDhLSztPPDgfSAwm','AgLKzu1VzgfS','l3rLC3qTDgfZAW','l3jLC3vSDhm','C2v0qxr0CMLIDxrL','l2nVBNrHAw5LCNmV','l2zVBgXVDY11Ca','iZa2otG5yq','l2fSBg93zwqTDgvHBxm','CgfYzw50t2jQzwn0AxzLswq','yxjPys1HDxrVy29TCgXLDgu','zMLSDgvYsxrLBxm','B3b0Aw9U','rMfPBgvKihrVigDLDcb1C2vY','l3n5BMmTCMvWB3m','CxvLDwvK','zgLZCgXHEq','cIaGicaGicaGicaGidWVyNv0Dg9UpGOGicaGicaGicaG','ywXSt3b0Aw9UCW','qwXSignSAxbIB2fYzcbTzxrOB2rZigzHAwXLzdO','z2v0q29TChv0zwrtDhLSzq','l2nVBw1LBNrZlW','BMv3x2jYyw5JAa','Aw5Zzxj0qwrQywnLBNrive1m','C3rHz2u','rMfPBgvKihrVigzLDgnOigjYyw5JAgvZoIa','B25dBgLJAW','Cg9ZAxrPB24','C3rHDhvZlwnVBxbSzxrLza','l3rYAwDNzxi','rw52AxjVBM1LBNqGyw5KihjLCg8GyxjLihjLCxvPCMvK','CMv3CML0zuf0DgfJAg1LBNrmAw5RCW','AxrLBxndB250ywLUzxi','rMfPBgvKihrVignYzwf0zsbYB2XLigrLzMLUAxrPB24','CMvZB2X2zuf0DgfJAg1LBNrvCMW','revmrvrf','l21LBwjLCNm','rMfPBgvKihrVihvWzgf0zsb1C2vY','l2fWAs9HDxrVBwf0Aw9UCY8','B2jQzwn0','D2fYBG','rMfPBgvKihrVigzLDgnOihrHC2SGz3jVDxbZ','pgvTpIqXpc9LBt4','zMLSzxm','CMvZDwX0CW','rMfPBgvKihrVignYzwf0zsbKzxbSB3KGDgfZAZOG','yxbWBhK','rMfPBgvKihrVigzLDgnOihjLCg8GAgLZDg9YEtOG','Aw5JBhvKzxm','u2vYDMvYieHLywX0Aa','CMv3Aw5KrMLSzxm','rMfPBgvKihrVignYzwf0zsbWDwXSihjLCxvLC3rZoIa','ChjLBg9HzerHDge','l3nRAwXSCW','Dgv4DenVBNrLBNq','C3rHDhvZlxj1BM5PBMC','l2nVBNrHAw5LCNmVAw50zxjHy3rPDMu','Bg9JyxrPB24','C3vIAMvJDf90ExbL','l3rLyw1Z','C2HVD0XVywrPBMC','pgnVzgu+jde8l2nVzgu+','C2vHCMnOywjSzq','C2vHCMnOtw9Kzq','C3rYAw5NAwz5','C2v0vMfSDwu','B2zMC2v0','CNvUBMLUzW','D3jPDgu','y2XVC2u','cIaGicaGidXKAxyGAwq9iMnVBMzPCM0TzgLHBg9Nlw1VzgfSiIbJBgfZCZ0IBw9KywWIigHPzgrLBJ4kicaGicaGica8zgL2ignSyxnZpsjTB2rHBc1VDMvYBgf5iJ48l2rPDJ4kicaGicaGica8zgL2ignSyxnZpsjTB2rHBc1JB250zw50iIbZDhLSzt0IBwf4lxDPzhrOoIa0ntbWEdSIpGOGicaGicaGicaGpgrPDIbJBgfZCZ0IBw9KywWTAgvHzgvYiJ4kicaGicaGicaGicaGpgGYigLKpsjJB25MAxjTlwrPywXVzY10AxrSzsi+q29UzMLYBtWVAdi+cIaGicaGicaGicaGidXIDxr0B24GDhLWzt0IyNv0Dg9UiIbJBgfZCZ0IBw9KywWTy2XVC2uIigLKpsjJB25MAxjTlwrPywXVzY1JBg9ZzsiGyxjPys1SywjLBd0Iq2XVC2uIpIz0Aw1LCZS8l2j1DhrVBJ4kicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpgrPDIbJBgfZCZ0IBw9KywWTyM9KEsi+cIaGicaGicaGicaGidXWigLKpsjJB25MAxjTlwrPywXVzY1TzxnZywDLiJ48l3a+cIaGicaGicaGica8l2rPDJ4kicaGicaGicaGidXKAxyGy2XHC3m9iM1VzgfSlwfJDgLVBNmIpGOGicaGicaGicaGica8yNv0Dg9Uihr5Cgu9iMj1DhrVBIiGy2XHC3m9iMj0BI1ZzwnVBMrHCNKIigLKpsjJB25MAxjTlwrPywXVzY1Jyw5JzwWIpKnHBMnLBdWVyNv0Dg9UpGOGicaGicaGicaGica8yNv0Dg9Uihr5Cgu9iMj1DhrVBIiGy2XHC3m9iMj0BI1WCMLTyxj5iIbPzd0Iy29UzMLYBs1KAwfSB2CTy29UzMLYBsi+q29UzMLYBtWVyNv0Dg9UpGOGicaGicaGicaGpc9KAxy+cIaGicaGicaGpc9KAxy+cIaGicaGidWVzgL2pGOGicaG','rMfPBgvKihrVihjLBw92zsb0zwfTig1LBwjLCG','w0nVzgvYrMXVD10GqwrTAw4GBwvUDsbUB3qGAw5PDgLHBgL6zwq6','x3jLC29SDMvqCM9TAxnL','Cg9W','zM9JDxm','rMLSzsbWyxrOigLZihjLCxvPCMvK','CgfYC2u','rMfPBgvKihrVigDLDcbIAw5KAw5NCW','ntG2mZa4ofvkre1rza','BwfW','zgf0ys12ywX1zq','zML4zwq','y29UzMLYBs1KAwfSB2CTDgL0Bgu','CMvUzgvYsxrLBxm','zhjVCgrVD24','rMfPBgvKihrVigzLDgnOihbYB21WDcbJAg9Py2vZoIa','DhjPBq','q29UzMLYBq','yxv0B2nVBxbSzxrLlxnLBgvJDc1PDgvTCW','C2vSzwn0zwrwywX1zq','rMfPBgvKihrVihn1yM1PDcbMB2XSB3CTDxa6ia','C3vIC3rYAw5N','C3r5Bgu','Bg9HzgLUz01LC3nHz2u','rw52AxjVBM1LBNqGyw5KihrLBxbSyxrLigfYzsbYzxf1AxjLza','C2HVD0vYCM9Y','cIaGicaGidXKAxyGy2XHC3m9iM1VzgfSlw92zxjSyxKIigLKpsj1DgLSCY1TB2rHBc1VDMvYBgf5iJ48l2rPDJ4kicaGicaGpgrPDIbJBgfZCZ0IBw9KywWTy29UDgvUDciGAwq9iNv0AwXZlw1VzgfSlwnVBNrLBNqIpGOGicaGicaGidXKAxyGy2XHC3m9iM1VzgfSlwHLywrLCIi+cIaGicaGicaGica8Adi+','B25gB2n1CW','l3jLD2LUza','i2fKn2zHoa','tM8GCMvZDwX0CYbMB3vUza','rMfPBgvKihrVihn0yxj0ignVBNrHAw5LCJOG','zgv0ywLS','yxv0BW','DgfIAw5KzxG','C2v0t3b0Aw9UCW','lMfKBwLUlw1LBNuTAxrLBq','CMvWBgfJzq','l2jPBMrPBMDZ','B3bHy2L0EtOWlJC','C3LUy09WDgLVBNm','rMfPBgvKihrVigzLDgnOihbHDgnOzxm6ia','B25lzxLKB3DU','y2HHCKf0','twfYA2rVD24GCgfYC2LUzYbLCNjVCJO','rMfPBgvKihrVigrLBgv0zsbYB2XLigrLzMLUAxrPB24','l2fWChjVDMu','y2XPzw50','y3vZDg9TlxnLBgvJDc1HCNjVDW','zMLSDgvYqw5Ku2HVDW','yMX1CG','y29UDgfPBNm','y2XPCgjVyxjK','rMfPBgvKihrVignYzwf0zsbQDwrNzsb0yxnR','Dhj1zq','l2HLywX0Ac9KB2nRzxiVCMvTB3zLlxn0B3bWzwq','AgXQCW','rMfPBgvKihrVihvWzgf0zsbJB21Tzw50','qxv0B2nVBxbSzxrLu2vSzwn0','yMvMB3jLzw5K','rxzLBNqGzgf0ytO','CxvLCNLtzwXLy3rVCG','yNv0Dg9U','B3bHy2L0Eq','l3vWzgf0zq','ufvu','rMfPBgvKihrVihvWBg9HzcbHDhrHy2HTzw50CZOG','l2rLCgXVEs10yxnR','Dg9mB2nHBgvuAw1Lu3rYAw5N','Bw91C2vKB3DU','l3bYB21WDc1WyxjHBwv0zxiVC3rYzwfT','CxvLCNLtzwXLy3rVCKfSBa','AgLKzgvU','ywrKAxrPB25HBfrHC2Tjzhm','l3rHC2TZl2P1zgDL','DxnLCKLK','jMfTCdS','rMfPBgvKihrVigzLDgnOignVBNrHAw5LCJOG','CMvTB3zLq2HPBgq','C2v0sxrLBxm','BgvUz3rO','jMD0oW','BgLZDgjVEa','rMfPBgvKihrVihDYAxrLigzPBgu6ia','ChvSBa','Dg9HC3rZ','rMfPBgvKihrVigzLDgnOigf1Dg9TyxrPB246ia','cGPeyxrHoIa','B25tzwXLy3q','uMvWB3nPDg9YEsbWyxrOigLZihjLCxvPCMvK','C3rHz2vK','yxjPys1LEhbHBMrLza','Dg9HC3rjza','DxbKyxrLrgLZCgXHEq','C2TPBgXZ','rMfPBgvKihrVigzLDgnOihrHC2S6ia','l3rLBxbSyxrLCY8','CMvWzwf0','yxjPys1SAxzL','B3bLBG','C2vSzwn0zwrjDgvT','tg9NB3v0igzHAwXLza','zMfSC2u','rMfPBgvKihrVigzLDgnOignVBw1PDcbKzxrHAwXZoIa','tI9b','phnWyw4GC3r5Bgu9iG','rMfPBgvKihrVigzLDgnOihnRAwXSoIa','l3nRAwXSCY9NAxqVChvSBa','w0nVzgvYrMXVD10Grgv0zwn0zwqGChjVEgLLzcbJB250zxH0lcb1C2LUzYbIyxnLoG','BM9Uzq','x3jLC29SDMu','l2zPBgvZp3bHDgG9','tM90igf1DgHLBNrPy2f0zwq','lI9Zzxj2zxiTAgvHBhrOlMPZ','rw52AxjVBM1LBNqSihjLCg8SigfUzcbOyxnOigfYzsbYzxf1AxjLza','BgvMDa','rMfPBgvKihrVigrLBgv0zsbHDxrVBwf0Aw9UoIa','rMfPBgvKihrVigzLDgnOihrHC2SGCMvZDwX0CZOG','y29WEq','Aw5Uzxjive1m','rMfPBgvKihrVihvWzgf0zsb0zwfT','tg9NAw4GzMfPBgvK','rMfPBgvKihrVigDLDcb1C2vYCW','BM93','zxHLy0nVBw1HBMqGy29WEsbLDMvUDcbPBMPLy3rPB24GzMfPBgvKoG','l2v4DgvYBMfSlxnRAwXSCY9JyxrHBg9N','zMXPChbLza','y29Kzq','B25cBhvY','i2m0ytaWma','zgvSzxrLvgfZAW','Dg9Nz2XL','l2zPBgvZlW','y3vZDg9TlxnLBgvJDc10CMLNz2vYlxrLEhq','zxjYB3i','lMn1C3rVBs1ZzwXLy3qTB3b0Aw9UoM5VDcHBC3r5BguQpsjKAxnWBgf5oIbUB25LiL0P','DxnLCG','zw50CMLLCW','zgvIB3vUy2vnCW','AxnpCgvU','y2XLyxi','zgvIDwC','DgfYz2v0rM9SBg93vxbdB3vUDa','l3bHC3n3B3jKl2vTywLSlwnVBMzPzW','C2vSzwn0','AM9PBG','C2vJB25Kyxj5','CMvTB3zLrxzLBNrmAxn0zw5LCG','C2vSzwn0zwrjBMrLEa','z2v0sxrLBvzHBhvL','Bw92zvnLBgvJDgLVBG','rMfPBgvKihrVihrYAwDNzxiGyxv0B21HDgLVBJOG','C2vHCMnO','l3jLCg9ZlW','rMfPBgvKihrVihvWzgf0zsbVyMPLy3rPDMu','l2vUDMLYB25Tzw50CY8','l3n0yxj0','rMfPBgvKihrVigzLDgnOihrLBxbSyxrLCZOG','rMfPBgvKihrVigfKzcbJB21Tzw50','y3vZDg9TlxnLBgvJDc1ZzwfYy2G','z2v0rwXLBwvUDej5swq','rMfPBgvKihrVihn0yxj0ihrHC2S6ia','yNjHBMnO','y3jLyxrLrwXLBwvUDa','zw5HyMXL','rMfPBgvKihrVigzLDgnOigvUDMLYB25Tzw50oIa','BMf0AxzLu2vSzwn0','i2vMmJKYoq','l2nOzwnRlxvWzgf0zxm','yNrUsw5KzxG','l2v4DgvYBMfSlxnRAwXSCY9WCM9Izs1TyxjRzxrWBgfJzq','pgrPDIbJBgfZCZ0Iyxv0B2nVBxbSzxrLlxnLBgvJDc1LBxb0Esi+','iZCYowzJzG','rMfPBgvKihrVigzLDgnOihrHC2SGBg9NCZOG','pc9JB2rLpJWVChjLpG','rMfPBgvKihrVigDLDcbJB21Tzw50CW','l2XHDw5JAa','l2DPDc9OAxn0B3j5','DMfSDwu','CMv3CML0zunVBg9Yu3LUDgf4','Dw5KzwzPBMvK','l2v4DgvYBMfSlxnRAwXSCY9PBxbVCNqVzM9SzgvY','rMfPBgvKihrVigDLDcb0zwfTCW','pgGZpIqXpc9OmZ4','B3b0Aw9UCW','DhjPz2DLCG','Dg9mB2nHBgveyxrLu3rYAw5N','rMfPBgvKihrVihnLDcbHBgXVD2vKihrLyw1Z','rMfPBgvKihrVihb1BgWGy2HHBMDLCZOG','Aw5ZDhj1y3rPB25Z','iZHHztiZna','l21LBwjLCNmV','Bw91C2vLBNrLCG','C2vHCMnOsw5WDxq','l21HBMfNzxjZlW','z2v0qM91BMrPBMDdBgLLBNrszwn0','l2jPBMrPBMDZlW','zgvJB2rL','zgf0ys1PBMrLEa','CMvTB3zL','l3rHC2TZl3jLzNjLC2G','Axntzxj2zxjbzg1PBG','rMfPBgvKihrVigzLDgnOihjLD2LUzcbWB2LUDhm6ia','rMfPBgvKihrVihn0B3aGDgfZAZOG','DxbKyxrLu2vSzwn0Aw9UsgLNAgXPz2H0','rxnJyxbL','l3rHC2TZlW','y29UzMLYBs1KAwfSB2CTy2fUy2vS','rMfPBgvKihrVigzLDgnOihnRAwXSCZOG','ywn0AxzLrwXLBwvUDa','B2zM','rMfPBgvKihrVigzLDgnOihnRAwXSignHDgfSB2C6ia','D2LKDgG','rMfPBgvKihrVigzLDgnOihrHC2SGC3rHDhm6ia','y29SB3i6','l2zPBgvZl2rPC2nHCMq','yxr0ywnOBwvUDhm','qvbjihjLCxvLC3qGzMfPBgvK','rMfPBgvKihrVigzLDgnOigf1Dg9TyxrPB25ZoIa','Bgf0zxn0','l3rLC3q','C3bHBG','AgfZrw52AxjVBM1LBNrbzg1PBG','y3vZDg9TlxnLBgvJDc1KCM9Wzg93BG','rMfPBgvKihrVihvWzgf0zsbYB2XLigrLzMLUAxrPB24','rMfPBgvKihrVihn0B3aGy29UDgfPBMvYCW','CMvUzgvYsxrLBq','C3rYAw5N','BwvZC2fNzq','DgfYz2v0','ChjLBg9Hza','q29TBwvUDcbjrcbPCYbYzxf1AxjLza','i2nJmdaWma','AwnVBKnSyxnZ','rMfPBgvKihrVigzLDgnOignVBNrHAw5LCNm6ia','l2nVBw1LBNrZ','rMfPBgvKihrVigLUDgvYCNvWDcb0yxnRoIa','w2rHDgeTyNrUlwLUzgv4xq','zMLSDgvYzwrjDgvTCW','yM9KEq','l2f1DgGVBg9NAw4','C2vSzwn0sxrLBq','BgLZDa','ywn0Aw9UCY1Tzw51','vhLWzsb0BYbZzwfYy2GUlI4','C2HVD1rVyxn0','uMvUzgvYzxi','l2XVz3m','C3rHDhvZlxvUA25VD24','phn0CM9UzZ4KmtWVC3rYB25NpG','l2v4DgvYBMfSlxnRAwXSCY9YzwDPC3rYEq','ihn1z2DLC3rPB25Z','l3rHC2TZl2fPlw5HBwuTyxzHAwXHyMXL','z2v0uMvHzgvY','Dg9W','zgvIB3vUy2vuAw1LCG','l21HBMfNzxjZ','CgfNzq','uhjVBxb0ignVBw1HBMqGzMfPBgvK','Bwf4sgvPz2H0','DxbKyxrLrgLZywjSzwrtDgf0zq','zNjVBq','zw1WDhLnzxnZywDL','rMfPBgvKihrVihbHCNnLifntrsbLDMvUDcbKyxrHoG','l2f1DgGVBg9NB3v0','rMfPBgvKihrVihnLyxjJAcbkAxjHigLZC3vLCZOG','l3vZzxjZ','l3jVBgvZl2f2ywLSywjSzs1WzxjTAxnZAw9UCW','zM9YrwfJAa','rMfPBgvKihrVigDLDcbLBwfPBcbJB25MAwD1CMf0Aw9U','Aw5MBW','rMfPBgvKihrVigXHDw5JAcbVyMPLy3rPDMu','rMfPBgvKihrVihjLzNjLC2GGDgfZA3m6ia','z2fW','l3b1BgWTy2HHBMDLCW','CgfYzw50tM9Kzq','y3vZDg9TlxnLBgvJDc1ZzwfYy2GTAw5WDxq','DxrPBhmTBw9KywW','CM9Szq','pc9KAxy+cIaGicaGicaGica','rMfPBgvKihrVihjLBw92zsbZDg9WCgvKignVBNrHAw5LCNm','zgLZywjSzwq','l3jLz2LZDhj5','l2v4DgvYBMfSlxnRAwXSCY9PBxbVCNqVy2f0ywXVzW','l2f0DgfJAg1LBNrZ','rMfPBgvKihrVigDLDcbHBgXVD2vKihrLyw1Z','z2v0qxr0CMLIDxrL','rMfPBgvKihrVignYzwf0zsb0yxnRigDYB3vW','ChvZAa','Cg9SAxrL','Dg9mB3DLCKnHC2u','rMfPBgvKihrVihvWzgf0zsbIAw5KAw5N','C3bSAwnL','y29UzMLYBs1KAwfSB2CTBw9KywW','y2XLyxjtzwfYy2G','C2vHCMnOuxvLCNK','iJ4kicaGicaGicaGicaGica','l3jVBgvZ','y2HHBMDL','l3nLDhrPBMDZl2DPDc1WCM92AwrLCI1Zzxr1Cc8','l3jVBgvZlW','CMvTB3zLqxr0ywnOBwvUDhm','rMfPBgvKihrVignYzwf0zsb0zwfT','AxnbCNjHEq','y2XHC3nmAxn0','Dgv4Dc9WBgfPBG','yM90Dg9T','y2XPCgjVyxjKrgf0yq','l3jLD2LUzc1WB2LUDhm','l3DPBM5LCG','rMfPBgvKihrVihjLDMvYDcbJB21TAxq6ia','Dg9tDhjPBMC','rMfPBgvKihrVihbVC3qGy29TBwvUDcb0BYbkAxjHoIa','pc9ZCgfUpJWVzgL2pG','p2rLBgv0zvrHC2TZpxrYDwu','ywrTAw4TBwvUDq','BwLU','C2XPy2u','CMf3t3v0Chv0','l3rHC2TZl2DYB3vWCY8','CgfYzw50rwXLBwvUDa','qvbj','A2v5zg93BG','z2v0tgfUz3vHz2u','rMfPBgvKihrVigrLBgv0zsb0yxnRoIa','phnWyw4Gy2XHC3m9iMf1Dg9JB21WBgv0zs1ZzwXLy3qTAxrLBs1Py29Uia','yxv0B2nVBxbSzxrLlxnLBgvJDc1PDgvT','rMfPBgvKihrVihnLDcbNCM91Ccb3Aw5Uzxi','m0fSAvjpEq','l2v4DgvYBMfSlxnRAwXSCY8','DgLTzw91DeLK','Aw5JBhvKzq','y2f0y2G','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGCgvYBwLZC2LVBNm','C2vYDMvY','C3vIC3rY','yNrUlxbYAw1HCNK','rMfPBgvKihrVigDLDcbYB2XLigrLzMLUAxrPB25Z','zgLZCgf0y2HfDMvUDa','zxHLy0nVBw1HBMq','pgjYpG','AgLNAgXPz2H0','DgfPBa','C2v0','rMfPBgvKihrVigDLDcbYB2XLigrLzMLUAxrPB24','Bg9HzefUzfnOB3C','lM1VzgfSlw92zxjSyxK','rMfPBgvKihrVihnLBMqGANvKz2uGzMvLzgjHy2S','rMfPBgvKihrVigzLDgnOihrHC2SGz3jVDxa','l2PPCMeVAxnZDwvZlW','Bg9HzeL0zw1Z','pc9ZCgfUpG','D3jHChbLCG','ywrTAw4TBwvUDs1IDg4','Dgv4Da','yMfJA2DYB3vUzc1JB2XVCJO','phnWyw4GC3r5Bgu9iMnVBg9YoIaKmsi+jdi8l3nWyw4+','ChjLDMvUDerLzMf1Bhq','BsbHz28','jNrPBwvZoW','C3rVCfbYB3bHz2f0Aw9U','q29TBwvUDcbJB250zw50igLZihjLCxvPCMvK','rMfPBgvKihrVigXVywqGyxv0B2nVBxbSzxrLigL0zw1ZoG','l3rHC2TZl2DYB3vWCW','B25jBNb1Da','AxnmB2fKAw5N','vgfZAYbjrcbPCYbYzxf1AxjLza','zxzLBNq6','yMLUzev2zw50CW','Aw50zxjYDxb0zwq','DhLWzq','DxbKyxrLvgfZA0DYB3vW','iZu1ntC1mW','Bwf4sxrLBxm','C2v0ugXHy2vOB2XKzxi','pgrPDIbJBgfZCZ0Iyxv0B2nVBxbSzxrLlxnLBgvJDc1PDgvTlxnLy29UzgfYEsi+','A2v5','rMfPBgvKihrVigzLDgnOigLTCg9YDgvKihnRAwXSCYbYzwDPC3rYEtOG','C3rHDhvZ','y29TCgXLDgvK','l2f1DgGVBwu'];_0x8fc9=function(){return _0x2ad85c;};return _0x8fc9();}function registerToast(_0x11faab){const _0x5db7fd=_0x2b351f;return toastState[_0x5db7fd(0x112)][_0x5db7fd(0x10d)]>=toastState['maxToasts']&&removeToastById(toastState[_0x5db7fd(0x112)][0x0]['id']),toastState[_0x5db7fd(0x112)][_0x5db7fd(0x1dd)](_0x11faab),repositionAllToasts(),_0x11faab['id'];}function getNextToastId(){return toastState['nextId']++;}export const ToastManager={'getContainer':getToastContainer,'register':registerToast,'remove':removeToastById,'reposition':repositionAllToasts,'getNextId':getNextToastId,'getState':()=>toastState};export const Utils={'formatRelativeTime'(_0x54f0a6){const _0x5b2363=_0x2b351f,_0x2de395=new Date(_0x54f0a6),_0x330fc9=new Date(),_0x22ffb3=_0x330fc9-_0x2de395,_0x2b820d=Math[_0x5b2363(0x2d6)](_0x22ffb3/0x3e8),_0x229f40=Math[_0x5b2363(0x2d6)](_0x2b820d/0x3c),_0x52861a=Math[_0x5b2363(0x2d6)](_0x229f40/0x3c),_0x49d927=Math[_0x5b2363(0x2d6)](_0x52861a/0x18);if(_0x2b820d<0x3c)return'now';if(_0x229f40<0x3c)return _0x229f40+_0x5b2363(0x223);if(_0x52861a<0x18)return _0x52861a+'h\x20ago';return _0x49d927+_0x5b2363(0x2db);},'getStatusIcon'(_0x50eb0f){const _0x1b68f3=_0x2b351f;switch(_0x50eb0f){case _0x1b68f3(0x238):return'✓';case _0x1b68f3(0x321):return'⋯';case _0x1b68f3(0x22e):return'⏹';case _0x1b68f3(0x29e):return'✗';case'staged':return'◎';case _0x1b68f3(0x2ed):return'⏸';default:return'○';}},'getStatusClass'(_0x4918f2){const _0x11817d=_0x2b351f;switch(_0x4918f2){case _0x11817d(0x238):return _0x11817d(0x2fa);case _0x11817d(0x321):return _0x11817d(0x315);case _0x11817d(0x22e):return'status-interrupted';case _0x11817d(0x29e):return'status-failed';case _0x11817d(0x117):return'status-staged';case'queued':return _0x11817d(0x290);default:return _0x11817d(0x1b5);}},async 'copyToClipboard'(_0x478978,_0x67ff4=null){const _0x3021e6=_0x2b351f;if(navigator[_0x3021e6(0x359)]&&navigator['clipboard'][_0x3021e6(0x322)])try{const _0x30c8cc={};_0x30c8cc['text/plain']=new Blob([_0x478978],{'type':_0x3021e6(0x1ee)});_0x67ff4&&(_0x30c8cc['text/html']=new Blob([_0x67ff4],{'type':_0x3021e6(0x2c6)}));const _0x36513b=new ClipboardItem(_0x30c8cc);return await navigator[_0x3021e6(0x359)][_0x3021e6(0x322)]([_0x36513b]),!![];}catch(_0x2592e8){console['warn'](_0x3021e6(0x2dd),_0x2592e8);}try{const _0x598950=_0xc53757=>{const _0x2c388b=_0x3021e6;_0xc53757[_0x2c388b(0x222)](),_0xc53757[_0x2c388b(0x1f0)][_0x2c388b(0x2bd)](_0x2c388b(0x1ee),_0x478978),_0x67ff4&&_0xc53757['clipboardData']['setData']('text/html',_0x67ff4);};document['addEventListener'](_0x3021e6(0x133),_0x598950);const _0x5f5232=document[_0x3021e6(0x210)](_0x3021e6(0x133));document[_0x3021e6(0x150)]('copy',_0x598950);if(_0x5f5232)return!![];}catch(_0x12d02d){console['warn'](_0x3021e6(0x139),_0x12d02d);}try{const _0x26a687=document[_0x3021e6(0x160)](_0x3021e6(0x29d));_0x26a687[_0x3021e6(0x16f)]=_0x478978,_0x26a687[_0x3021e6(0x33b)]['position']=_0x3021e6(0x330),_0x26a687[_0x3021e6(0x33b)][_0x3021e6(0x364)]='0',_0x26a687[_0x3021e6(0x33b)][_0x3021e6(0x24b)]='none',document[_0x3021e6(0x1ac)]['appendChild'](_0x26a687),_0x26a687['select']();const _0x15b2e5=document[_0x3021e6(0x210)](_0x3021e6(0x133));return document['body'][_0x3021e6(0x10b)](_0x26a687),_0x15b2e5;}catch(_0x494b0f){return console[_0x3021e6(0x143)](_0x3021e6(0x2f1),_0x494b0f),![];}},'showToast'(_0x33caab,_0x370e79=_0x2b351f(0x1cb)){const _0x28f706=_0x2b351f,_0x4672c8=getNextToastId(),_0x30c135=document['createElement'](_0x28f706(0x268));_0x30c135[_0x28f706(0x296)]='toast\x20toast-'+_0x370e79,_0x30c135[_0x28f706(0x314)]=_0x33caab,_0x30c135[_0x28f706(0x25c)][_0x28f706(0x119)]=_0x4672c8,document[_0x28f706(0x1ac)][_0x28f706(0x275)](_0x30c135);const _0x317194=_0x370e79===_0x28f706(0x143)?0x2710:0xbb8,_0x2f6c9b=setTimeout(()=>{removeToastById(_0x4672c8);},_0x317194),_0x5c0b92={'id':_0x4672c8,'el':_0x30c135,'timeoutId':_0x2f6c9b};return registerToast(_0x5c0b92),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const _0x1e3a80=_0xa29e;_0x30c135['classList'][_0x1e3a80(0x2cc)](_0x1e3a80(0x279));});}),_0x4672c8;},'showError'(_0x4723a9){const _0x5e5686=_0x2b351f;console[_0x5e5686(0x143)](_0x4723a9);const _0x2b30b7=typeof _0x4723a9==='string'?_0x4723a9:_0x4723a9[_0x5e5686(0x1a1)]||'An\x20error\x20occurred';this[_0x5e5686(0x1b2)](_0x2b30b7,_0x5e5686(0x143));},'showSuccess'(_0x3b6779){const _0x4e04cf=_0x2b351f;this[_0x4e04cf(0x1b2)](_0x3b6779,_0x4e04cf(0x284));},'capitalize'(_0x315a57){const _0x22d8ed=_0x2b351f;if(!_0x315a57)return'';return _0x315a57[_0x22d8ed(0x350)](0x0)['toUpperCase']()+_0x315a57['slice'](0x1)['toLowerCase']();},'escapeHtml'(_0x27de8c){const _0x5adfb9=_0x2b351f;if(_0x27de8c===null||_0x27de8c===undefined)return'';return String(_0x27de8c)[_0x5adfb9(0x34a)](/&/g,_0x5adfb9(0x109))[_0x5adfb9(0x34a)](/</g,'&lt;')[_0x5adfb9(0x34a)](/>/g,_0x5adfb9(0x10e))[_0x5adfb9(0x34a)](/"/g,'&quot;')['replace'](/'/g,_0x5adfb9(0x27d));},'ansiToHtml'(_0x19676f){const _0x359fb2=_0x2b351f;if(_0x19676f===null||_0x19676f===undefined)return'';let _0x180f0f=this[_0x359fb2(0x28d)](_0x19676f);const _0x48bfa6={'30':_0x359fb2(0x277),'31':_0x359fb2(0x1a5),'32':_0x359fb2(0x274),'33':_0x359fb2(0x13e),'34':_0x359fb2(0x291),'35':_0x359fb2(0x2a0),'36':_0x359fb2(0x2e5),'37':_0x359fb2(0x273),'90':_0x359fb2(0x231),'91':_0x359fb2(0x164),'92':'#8ae234','93':_0x359fb2(0x2c0),'94':_0x359fb2(0x169),'95':'#ad7fa8','96':_0x359fb2(0x27b),'97':_0x359fb2(0x26d)},_0x3fb3d6={'40':_0x359fb2(0x277),'41':_0x359fb2(0x1a5),'42':_0x359fb2(0x274),'43':_0x359fb2(0x13e),'44':_0x359fb2(0x291),'45':_0x359fb2(0x2a0),'46':_0x359fb2(0x2e5),'47':_0x359fb2(0x273),'100':_0x359fb2(0x231),'101':_0x359fb2(0x164),'102':_0x359fb2(0x17b),'103':_0x359fb2(0x2c0),'104':'#729fcf','105':_0x359fb2(0x342),'106':_0x359fb2(0x27b),'107':_0x359fb2(0x26d)};let _0x34f4b9=0x0;return _0x180f0f=_0x180f0f[_0x359fb2(0x34a)](/\x1b\[([0-9;]*)m/g,(_0x142132,_0x2b22c2)=>{const _0x1dfae7=_0x359fb2;if(!_0x2b22c2||_0x2b22c2==='0'){const _0x1aaff2=_0x1dfae7(0x21c)[_0x1dfae7(0x11e)](_0x34f4b9);return _0x34f4b9=0x0,_0x1aaff2;}const _0x38c802=_0x2b22c2[_0x1dfae7(0x28c)](';'),_0x337b1f=[];for(const _0x415ff5 of _0x38c802){if(_0x415ff5==='1')_0x337b1f[_0x1dfae7(0x1dd)]('font-weight:bold');else{if(_0x415ff5==='2')_0x337b1f[_0x1dfae7(0x1dd)](_0x1dfae7(0x34c));else{if(_0x415ff5==='3')_0x337b1f[_0x1dfae7(0x1dd)](_0x1dfae7(0x2de));else{if(_0x415ff5==='4')_0x337b1f[_0x1dfae7(0x1dd)](_0x1dfae7(0x27c));else{if(_0x415ff5==='9')_0x337b1f[_0x1dfae7(0x1dd)]('text-decoration:line-through');else{if(_0x48bfa6[_0x415ff5])_0x337b1f[_0x1dfae7(0x1dd)]('color:'+_0x48bfa6[_0x415ff5]);else{if(_0x3fb3d6[_0x415ff5])_0x337b1f[_0x1dfae7(0x1dd)](_0x1dfae7(0x220)+_0x3fb3d6[_0x415ff5]);}}}}}}}if(_0x337b1f[_0x1dfae7(0x10d)]>0x0)return _0x34f4b9++,_0x1dfae7(0x126)+_0x337b1f[_0x1dfae7(0x14e)](';')+'\x22>';return'';}),_0x180f0f+=_0x359fb2(0x21c)[_0x359fb2(0x11e)](_0x34f4b9),_0x180f0f=_0x180f0f[_0x359fb2(0x34a)](/\\u001b\[([0-9;]*)m/g,(_0x256121,_0x3d9878)=>{const _0x5857ce=_0x359fb2;if(!_0x3d9878||_0x3d9878==='0')return'';const _0x3d9604=_0x3d9878[_0x5857ce(0x28c)](';'),_0x3a503f=[];for(const _0x24e4cc of _0x3d9604){if(_0x24e4cc==='1')_0x3a503f[_0x5857ce(0x1dd)](_0x5857ce(0x25e));else{if(_0x48bfa6[_0x24e4cc])_0x3a503f[_0x5857ce(0x1dd)](_0x5857ce(0x193)+_0x48bfa6[_0x24e4cc]);else{if(_0x3fb3d6[_0x24e4cc])_0x3a503f[_0x5857ce(0x1dd)]('background-color:'+_0x3fb3d6[_0x24e4cc]);}}}if(_0x3a503f[_0x5857ce(0x10d)]>0x0)return'<span\x20style=\x22'+_0x3a503f[_0x5857ce(0x14e)](';')+'\x22>';return'';}),_0x180f0f;},'showModal'({title:_0x369acb,content:_0x2f2d15,buttons:buttons=[]}){const _0x34ab20=_0x2b351f,_0x1f9b55=_0x34ab20(0x33f)+this[_0x34ab20(0x28d)](_0x369acb)+'</h2>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22modal-close\x22\x20id=\x22utils-modal-close\x22\x20aria-label=\x22Close\x22>&times;</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-body\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2f2d15+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-actions\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+buttons[_0x34ab20(0x32e)]((_0x40633e,_0x33a55e)=>_0x34ab20(0x29f)+(_0x40633e['className']||_0x34ab20(0x294))+'\x22\x20data-btn-index=\x22'+_0x33a55e+_0x34ab20(0x1e5)+this[_0x34ab20(0x28d)](_0x40633e[_0x34ab20(0x21f)])+_0x34ab20(0x2ef))[_0x34ab20(0x14e)]('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20',_0x1c7c07=document['createElement'](_0x34ab20(0x268));_0x1c7c07['id']=_0x34ab20(0x1d2),_0x1c7c07['className']='modal',_0x1c7c07[_0x34ab20(0x134)]=_0x1f9b55,document[_0x34ab20(0x1ac)][_0x34ab20(0x275)](_0x1c7c07);const _0x2a8ce9=document[_0x34ab20(0x15d)](_0x34ab20(0x240));_0x2a8ce9&&_0x2a8ce9[_0x34ab20(0x2dc)]('click',()=>this['hideModal']());const _0x15b8d9=_0x1c7c07[_0x34ab20(0x36c)](_0x34ab20(0x1aa));_0x15b8d9[_0x34ab20(0x1c9)](_0x63d7aa=>{const _0x1fe9fd=_0x34ab20,_0x5df226=parseInt(_0x63d7aa['dataset'][_0x1fe9fd(0x166)]);buttons[_0x5df226]?.[_0x1fe9fd(0x2f8)]&&_0x63d7aa[_0x1fe9fd(0x2dc)](_0x1fe9fd(0x25b),buttons[_0x5df226][_0x1fe9fd(0x2f8)]);});const _0x5b4db4=document['getElementById']('utils-modal-overlay');_0x5b4db4&&_0x5b4db4[_0x34ab20(0x2dc)]('click',()=>this[_0x34ab20(0x2df)]());},'hideModal'(){const _0x50bbdd=_0x2b351f,_0x2fbaaa=document[_0x50bbdd(0x15d)](_0x50bbdd(0x1d2));_0x2fbaaa&&_0x2fbaaa[_0x50bbdd(0x184)]();},'parseKeyValuePairs'(_0x4fc565){const _0x13a307=_0x2b351f,_0x5e7abb={};if(!_0x4fc565)return _0x5e7abb;return _0x4fc565['split'](/\r?\n/)[_0x13a307(0x32e)](_0x5897c7=>_0x5897c7['trim']())[_0x13a307(0x263)](Boolean)[_0x13a307(0x1c9)](_0x5ea49c=>{const _0x4b549c=_0x13a307,_0x58b463=_0x5ea49c['indexOf']('=');if(_0x58b463>0x0){const _0x2735b8=_0x5ea49c[_0x4b549c(0x1fa)](0x0,_0x58b463)[_0x4b549c(0x335)](),_0x7b5697=_0x5ea49c[_0x4b549c(0x1fa)](_0x58b463+0x1)[_0x4b549c(0x335)]();if(_0x2735b8)_0x5e7abb[_0x2735b8]=_0x7b5697;}}),_0x5e7abb;},'debounce'(_0x3c2a51,_0x4a8152=0xfa){let _0x103279=null;return(..._0x2bf24b)=>{const _0x238585=_0xa29e;clearTimeout(_0x103279),_0x103279=setTimeout(()=>_0x3c2a51[_0x238585(0x30c)](this,_0x2bf24b),_0x4a8152);};},'formatTimestamp'(_0x5a2686){const _0x205903=_0x2b351f;if(!_0x5a2686)return'N/A';const _0x5e452f=new Date(_0x5a2686);return _0x5e452f[_0x205903(0x177)]()+'\x20'+_0x5e452f[_0x205903(0x369)]();},'getQueryParams'(){const _0x24ba04=_0x2b351f,_0x6e14c9=new URLSearchParams(window[_0x24ba04(0x317)][_0x24ba04(0x155)]),_0x3bbba1={};for(const [_0x1a8f9d,_0x1a3c2b]of _0x6e14c9){_0x3bbba1[_0x1a8f9d]=_0x1a3c2b;}return _0x3bbba1;},'formatDuration'(_0x2638d8,_0x39f168){const _0x5ef9f8=_0x2b351f;if(!_0x2638d8)return _0x5ef9f8(0x125);const _0x3bf440=new Date(_0x2638d8),_0x5a1392=_0x39f168?new Date(_0x39f168):new Date(),_0x3819b7=_0x5a1392-_0x3bf440;if(_0x3819b7<0x0)return'0s';const _0x180f8c=Math[_0x5ef9f8(0x2d6)](_0x3819b7/0x3e8),_0x1c16e5=Math[_0x5ef9f8(0x2d6)](_0x180f8c/0x3c),_0x17c5ad=Math[_0x5ef9f8(0x2d6)](_0x1c16e5/0x3c),_0x5ef9b8=Math['floor'](_0x17c5ad/0x18);if(_0x180f8c<0x3c)return _0x180f8c+'s';if(_0x1c16e5<0x3c)return _0x1c16e5+'m\x20'+_0x180f8c%0x3c+'s';if(_0x17c5ad<0x18)return _0x17c5ad+'h\x20'+_0x1c16e5%0x3c+'m\x20'+_0x180f8c%0x3c+'s';return _0x5ef9b8+'d\x20'+_0x17c5ad%0x18+'h\x20'+_0x1c16e5%0x3c+'m';},'renderMarkdown'(_0xe518ee,_0x1036fb={}){const _0x34e617=_0x2b351f;if(!_0xe518ee)return'';_0xe518ee=this['rewriteAttachmentLinks'](_0xe518ee,_0x1036fb),_0xe518ee=this['rewriteColorSyntax'](_0xe518ee);if(typeof marked===_0x34e617(0x171))return console[_0x34e617(0x306)](_0x34e617(0x286)),this[_0x34e617(0x276)](_0xe518ee,_0x1036fb);marked[_0x34e617(0x348)]({'gfm':!![],'breaks':![],'headerIds':![],'mangle':![]});const _0x5de618=new marked[(_0x34e617(0x1b3))](),_0x21b9c3=_0x5de618['code']['bind'](_0x5de618);_0x5de618[_0x34e617(0x13c)]=function(_0x40a417,_0x518f25){const _0x1862d6=_0x34e617,_0xe953a7=window[_0x1862d6(0x35d)]||(typeof hljs!==_0x1862d6(0x171)?hljs:null);if(_0xe953a7&&_0x518f25)try{const _0x2d16af=_0xe953a7[_0x1862d6(0x200)](_0x518f25)?_0x518f25:_0x1862d6(0x2cd),_0x672c6a=_0xe953a7[_0x1862d6(0x212)](_0x40a417,{'language':_0x2d16af})['value'];return'<pre><code\x20class=\x22hljs\x20language-'+_0x518f25+'\x22>'+_0x672c6a+_0x1862d6(0x16b);}catch(_0x54baad){console[_0x1862d6(0x143)]('Syntax\x20highlighting\x20error:',_0x54baad);}return _0x21b9c3(_0x40a417,_0x518f25);};try{return marked[_0x34e617(0x32b)](_0xe518ee,{'renderer':_0x5de618});}catch(_0x121ba6){return console[_0x34e617(0x143)](_0x34e617(0x351),_0x121ba6),this[_0x34e617(0x276)](_0xe518ee,_0x1036fb);}},'rewriteAttachmentLinks'(_0x4ab7cf,_0x22652e={}){const _0x224b99=_0x2b351f,_0x454b52=typeof _0x22652e['resolveAttachmentUrl']===_0x224b99(0x2cf)?_0x22652e[_0x224b99(0x300)]:_0x22652e[_0x224b99(0x26e)]?_0x105c41=>API_BASE+'/tasks/'+_0x22652e[_0x224b99(0x26e)]+'/attachments/'+encodeURIComponent(_0x105c41):null;if(!_0x454b52)return _0x4ab7cf;return String(_0x4ab7cf)['replace'](/\]\(attachment:(?:\/\/)?([^)]+)\)/g,(_0x30b409,_0x89ae51)=>{const _0x2da557=_0x224b99,_0x4993cd=String(_0x89ae51||'')[_0x2da557(0x335)]();if(!_0x4993cd)return _0x30b409;let _0x3ac0ab=_0x4993cd;try{_0x3ac0ab=decodeURIComponent(_0x4993cd);}catch{}const _0x183d31=_0x454b52(_0x3ac0ab);if(!_0x183d31)return _0x30b409;return']('+_0x183d31+')';});},'rewriteColorSyntax'(_0x2805c9){const _0x2b1e85=_0x2b351f;if(!_0x2805c9)return _0x2805c9;return String(_0x2805c9)[_0x2b1e85(0x34a)](/\{color:(#[0-9A-Fa-f]{3,6})\}([\s\S]*?)\{\/color\}/g,(_0x1bd52e,_0x3ed771,_0x2dfef5)=>{const _0x2302b5=_0x2b1e85,_0x494a9d=this[_0x2302b5(0x170)](_0x2dfef5);return _0x2302b5(0x265)+_0x3ed771+'\x22>'+_0x494a9d+_0x2302b5(0x21c);});},'renderMarkdownFallback'(_0x1867da,_0x2d39ab={}){const _0x8b4665=_0x2b351f;if(!_0x1867da)return'';_0x1867da=_0x1867da[_0x8b4665(0x34a)](/\r\n/g,'\x0a'),_0x1867da=_0x1867da[_0x8b4665(0x34a)](/\r/g,'\x0a'),_0x1867da=this[_0x8b4665(0x2fd)](_0x1867da,_0x2d39ab);let _0x585ba9=this[_0x8b4665(0x28d)](_0x1867da);return _0x585ba9=_0x585ba9[_0x8b4665(0x34a)](/^### (.*$)/gm,_0x8b4665(0x174)),_0x585ba9=_0x585ba9[_0x8b4665(0x34a)](/^## (.*$)/gm,_0x8b4665(0x24d)),_0x585ba9=_0x585ba9[_0x8b4665(0x34a)](/^# (.*$)/gm,_0x8b4665(0x23c)),_0x585ba9=_0x585ba9[_0x8b4665(0x34a)](/\*\*(.+?)\*\*/g,_0x8b4665(0x1b6)),_0x585ba9=_0x585ba9[_0x8b4665(0x34a)](/\*(.+?)\*/g,_0x8b4665(0x308)),_0x585ba9=_0x585ba9[_0x8b4665(0x34a)](/```([^`]*?)```/gs,_0x8b4665(0x2be)),_0x585ba9=_0x585ba9[_0x8b4665(0x34a)](/`([^`]+?)`/g,_0x8b4665(0x31b)),_0x585ba9=_0x585ba9['replace'](/\[([^\]]+)\]\(([^)]+)\)/g,'<a\x20href=\x22$2\x22\x20target=\x22_blank\x22>$1</a>'),_0x585ba9=_0x585ba9[_0x8b4665(0x34a)](/\{color:(#[0-9A-Fa-f]{3,6})\}([\s\S]*?)\{\/color\}/g,_0x8b4665(0x221)),_0x585ba9=_0x585ba9['replace'](/\n\n/g,'</p><p>'),_0x585ba9=_0x585ba9['replace'](/\n/g,_0x8b4665(0x211)),'<p>'+_0x585ba9+'</p>';}};function _0xa29e(_0xbf6df3,_0x434015){_0xbf6df3=_0xbf6df3-0x105;const _0x8fc97=_0x8fc9();let _0xa29e09=_0x8fc97[_0xbf6df3];if(_0xa29e['ZHiYdN']===undefined){var _0x555b73=function(_0x229ff6){const _0x56785a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x447092='',_0x2b28a7='';for(let _0x31bf26=0x0,_0x5733c8,_0x2348a8,_0x5a3d12=0x0;_0x2348a8=_0x229ff6['charAt'](_0x5a3d12++);~_0x2348a8&&(_0x5733c8=_0x31bf26%0x4?_0x5733c8*0x40+_0x2348a8:_0x2348a8,_0x31bf26++%0x4)?_0x447092+=String['fromCharCode'](0xff&_0x5733c8>>(-0x2*_0x31bf26&0x6)):0x0){_0x2348a8=_0x56785a['indexOf'](_0x2348a8);}for(let _0x881c21=0x0,_0x18f0f1=_0x447092['length'];_0x881c21<_0x18f0f1;_0x881c21++){_0x2b28a7+='%'+('00'+_0x447092['charCodeAt'](_0x881c21)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b28a7);};_0xa29e['PkDbhT']=_0x555b73,_0xa29e['KyTdbY']={},_0xa29e['ZHiYdN']=!![];}const _0x59fd84=_0x8fc97[0x0],_0x15ada1=_0xbf6df3+_0x59fd84,_0x55ee08=_0xa29e['KyTdbY'][_0x15ada1];return!_0x55ee08?(_0xa29e09=_0xa29e['PkDbhT'](_0xa29e09),_0xa29e['KyTdbY'][_0x15ada1]=_0xa29e09):_0xa29e09=_0x55ee08,_0xa29e09;}export class CustomSelect{constructor(_0x1fe880,_0x3b4fad={}){const _0x5f4e82=_0x2b351f;this[_0x5f4e82(0x163)]=_0x1fe880,this[_0x5f4e82(0x175)]=_0x3b4fad,this[_0x5f4e82(0x148)]=![],this[_0x5f4e82(0x338)]=_0x1fe880['value']||'',this[_0x5f4e82(0x31c)]=_0x3b4fad[_0x5f4e82(0x31c)]||![],this[_0x5f4e82(0x1e4)]='',this[_0x5f4e82(0x2f0)]=[],this[_0x5f4e82(0x267)]();}[_0x2b351f(0x267)](){const _0x5965a1=_0x2b351f,_0x3e5946=document['createElement']('div');_0x3e5946['className']=_0x5965a1(0x2c4);const _0x31be28=document[_0x5965a1(0x160)](_0x5965a1(0x268));_0x31be28['className']='custom-select-trigger',_0x31be28[_0x5965a1(0x2e2)](_0x5965a1(0x347),'0'),_0x31be28[_0x5965a1(0x2e2)]('role','button'),_0x31be28[_0x5965a1(0x2e2)]('aria-haspopup','listbox');const _0x915ccb=document[_0x5965a1(0x160)](_0x5965a1(0x19a));_0x915ccb['className']=_0x5965a1(0x142);const _0x2bf8e8=document[_0x5965a1(0x160)]('span');_0x2bf8e8[_0x5965a1(0x296)]=_0x5965a1(0x355),_0x2bf8e8[_0x5965a1(0x314)]='▼',_0x31be28[_0x5965a1(0x275)](_0x915ccb),_0x31be28[_0x5965a1(0x275)](_0x2bf8e8);const _0x28d71c=document[_0x5965a1(0x160)]('div');_0x28d71c[_0x5965a1(0x296)]=_0x5965a1(0x19c),_0x28d71c['setAttribute'](_0x5965a1(0x1d3),_0x5965a1(0x10f));if(this['searchable']){const _0x11ae42=document[_0x5965a1(0x160)]('div');_0x11ae42[_0x5965a1(0x296)]=_0x5965a1(0x15c);const _0x2f9744=document['createElement'](_0x5965a1(0x2d2));_0x2f9744[_0x5965a1(0x22f)]=_0x5965a1(0x21f),_0x2f9744['className']=_0x5965a1(0x1d1),_0x2f9744[_0x5965a1(0x27a)]=_0x5965a1(0x1b1),_0x2f9744[_0x5965a1(0x2e2)](_0x5965a1(0x23f),_0x5965a1(0x2c2)),_0x2f9744[_0x5965a1(0x2dc)](_0x5965a1(0x2d2),_0x942c03=>{const _0x260723=_0x5965a1;this['searchQuery']=_0x942c03[_0x260723(0x1a2)][_0x260723(0x16f)][_0x260723(0x1df)](),this['filterOptions']();}),_0x2f9744['addEventListener'](_0x5965a1(0x1ff),_0x6ec41d=>{const _0xdab1d0=_0x5965a1;if(_0x6ec41d['key']===_0xdab1d0(0x18a))_0x6ec41d['stopPropagation'](),this[_0xdab1d0(0x1e3)](),this[_0xdab1d0(0x323)]();else{if(_0x6ec41d[_0xdab1d0(0x235)]===_0xdab1d0(0x2ad)){_0x6ec41d[_0xdab1d0(0x222)](),_0x6ec41d['stopPropagation']();const _0x20824c=_0x28d71c[_0xdab1d0(0x362)](_0xdab1d0(0x144));if(_0x20824c){const _0x49f137=_0x20824c[_0xdab1d0(0x1db)]('data-value');this['select'](_0x49f137);}}}}),_0x11ae42[_0x5965a1(0x275)](_0x2f9744),_0x28d71c[_0x5965a1(0x275)](_0x11ae42),this[_0x5965a1(0x17e)]=_0x2f9744;}const _0x2239c4=document['createElement'](_0x5965a1(0x268));_0x2239c4[_0x5965a1(0x296)]='custom-select-options',_0x28d71c['appendChild'](_0x2239c4),_0x3e5946[_0x5965a1(0x275)](_0x31be28),_0x3e5946['appendChild'](_0x28d71c),this[_0x5965a1(0x163)][_0x5965a1(0x33b)]['display']='none',this[_0x5965a1(0x163)][_0x5965a1(0x1d0)]['insertBefore'](_0x3e5946,this['nativeSelect']),this[_0x5965a1(0x21d)]=_0x3e5946,this[_0x5965a1(0x176)]=_0x31be28,this['triggerText']=_0x915ccb,this[_0x5965a1(0x333)]=_0x28d71c,this[_0x5965a1(0x2ae)]=_0x2239c4,_0x31be28['addEventListener'](_0x5965a1(0x25b),()=>this[_0x5965a1(0x140)]()),_0x31be28[_0x5965a1(0x2dc)](_0x5965a1(0x1ff),_0x1b0197=>this['handleKeydown'](_0x1b0197)),document[_0x5965a1(0x2dc)](_0x5965a1(0x25b),_0x384b76=>{const _0x20961e=_0x5965a1;!_0x3e5946['contains'](_0x384b76[_0x20961e(0x1a2)])&&this[_0x20961e(0x323)]();}),this[_0x5965a1(0x34d)](),this[_0x5965a1(0x11a)](),this[_0x5965a1(0x1c1)]();const _0x46a7f4=new MutationObserver(()=>{const _0x5e3cc8=_0x5965a1;this[_0x5e3cc8(0x34d)](),this[_0x5e3cc8(0x11a)](),this['updateDisabledState']();});_0x46a7f4['observe'](this['nativeSelect'],{'childList':!![],'subtree':!![]}),this[_0x5965a1(0x163)][_0x5965a1(0x2dc)](_0x5965a1(0x1e7),()=>{const _0x1b5686=_0x5965a1;this[_0x1b5686(0x338)]=this[_0x1b5686(0x163)][_0x1b5686(0x16f)],this['updateDisplay']();});const _0x1e947f=new MutationObserver(()=>{const _0x20ff31=_0x5965a1;this[_0x20ff31(0x1c1)]();});_0x1e947f['observe'](this[_0x5965a1(0x163)],{'attributes':!![],'attributeFilter':[_0x5965a1(0x1d6)]});const _0x579efe=new MutationObserver(()=>{const _0x1b12af=_0x5965a1;this[_0x1b12af(0x163)]['value']!==this[_0x1b12af(0x338)]&&(this['selectedValue']=this[_0x1b12af(0x163)][_0x1b12af(0x16f)],this[_0x1b12af(0x11a)]());});_0x579efe[_0x5965a1(0x2b6)](this[_0x5965a1(0x163)],{'attributes':!![],'attributeFilter':[_0x5965a1(0x16f)]}),setInterval(()=>{const _0x29ae41=_0x5965a1;this[_0x29ae41(0x163)][_0x29ae41(0x16f)]!==this['selectedValue']&&(this['selectedValue']=this[_0x29ae41(0x163)]['value'],this['updateDisplay']());},0x64);}[_0x2b351f(0x1c1)](){const _0x2b8a9c=_0x2b351f,_0x29cba2=this['nativeSelect']['disabled'];this[_0x2b8a9c(0x21d)][_0x2b8a9c(0x1ed)][_0x2b8a9c(0x140)](_0x2b8a9c(0x1d6),_0x29cba2),this[_0x2b8a9c(0x176)][_0x2b8a9c(0x2e2)]('aria-disabled',_0x29cba2?_0x2b8a9c(0x35b):_0x2b8a9c(0x123)),this[_0x2b8a9c(0x176)][_0x2b8a9c(0x2e2)](_0x2b8a9c(0x347),_0x29cba2?'-1':'0'),_0x29cba2&&this[_0x2b8a9c(0x323)]();}[_0x2b351f(0x34d)](){const _0x48d1d9=_0x2b351f;this['optionsContainer'][_0x48d1d9(0x134)]='';const _0x58dcae=Array[_0x48d1d9(0x1c2)](this[_0x48d1d9(0x163)][_0x48d1d9(0x175)]);this[_0x48d1d9(0x2f0)]=[];const _0x3a2d2f=_0x58dcae[_0x48d1d9(0x263)](_0x399b7d=>!_0x399b7d[_0x48d1d9(0x1d6)]&&!_0x399b7d[_0x48d1d9(0x105)]);_0x58dcae['forEach']((_0xdc3825,_0x372f08)=>{const _0x5dff90=_0x48d1d9,_0x15c5e4=document['createElement']('div');_0x15c5e4[_0x5dff90(0x296)]='custom-select-option',_0x15c5e4[_0x5dff90(0x314)]=_0xdc3825[_0x5dff90(0x314)],_0x15c5e4[_0x5dff90(0x2e2)](_0x5dff90(0x32f),_0xdc3825[_0x5dff90(0x16f)]),_0x15c5e4[_0x5dff90(0x2e2)](_0x5dff90(0x183),_0x372f08),_0x15c5e4[_0x5dff90(0x2e2)](_0x5dff90(0x1d3),_0x5dff90(0x2ea)),_0xdc3825[_0x5dff90(0x1d6)]?_0x15c5e4[_0x5dff90(0x1ed)][_0x5dff90(0x2cc)](_0x5dff90(0x1d6)):_0x15c5e4['addEventListener'](_0x5dff90(0x25b),()=>this[_0x5dff90(0x14d)](_0xdc3825['value'])),_0xdc3825['value']===this[_0x5dff90(0x338)]&&_0x15c5e4[_0x5dff90(0x1ed)][_0x5dff90(0x2cc)](_0x5dff90(0x2a9)),this[_0x5dff90(0x2ae)][_0x5dff90(0x275)](_0x15c5e4),this[_0x5dff90(0x2f0)][_0x5dff90(0x1dd)]({'element':_0x15c5e4,'text':_0xdc3825[_0x5dff90(0x314)][_0x5dff90(0x1df)](),'value':_0xdc3825[_0x5dff90(0x16f)],'disabled':_0xdc3825['disabled']});});if(this['searchable']&&this['searchInput']){const _0x117bfb=this[_0x48d1d9(0x17e)]['parentElement'];_0x3a2d2f[_0x48d1d9(0x10d)]>0x3?_0x117bfb['style']['display']='':_0x117bfb[_0x48d1d9(0x33b)]['display']='none';}}[_0x2b351f(0x259)](){const _0x452f06=_0x2b351f;if(!this['searchable'])return;const _0x26e026=this[_0x452f06(0x1e4)][_0x452f06(0x335)]();this['allOptions']['forEach'](_0x35fb26=>{const _0x3233ab=_0x452f06;if(!_0x26e026||_0x35fb26[_0x3233ab(0x1d6)])_0x35fb26['element'][_0x3233ab(0x33b)][_0x3233ab(0x2ee)]='';else{const _0x50e7ed=_0x35fb26['text'][_0x3233ab(0x30e)](_0x26e026);_0x35fb26[_0x3233ab(0x249)][_0x3233ab(0x33b)][_0x3233ab(0x2ee)]=_0x50e7ed?'':_0x3233ab(0x12a);}});}[_0x2b351f(0x1e3)](){const _0x304b8c=_0x2b351f;if(!this[_0x304b8c(0x31c)]||!this[_0x304b8c(0x17e)])return;this[_0x304b8c(0x17e)][_0x304b8c(0x16f)]='',this[_0x304b8c(0x1e4)]='',this['filterOptions']();}['select'](_0x5d7a8d){const _0x30c93c=_0x2b351f;if(this[_0x30c93c(0x163)][_0x30c93c(0x1d6)])return;this[_0x30c93c(0x338)]=_0x5d7a8d,this[_0x30c93c(0x163)][_0x30c93c(0x16f)]=_0x5d7a8d;const _0x437013=new Event(_0x30c93c(0x1e7),{'bubbles':!![]});this['nativeSelect'][_0x30c93c(0x20f)](_0x437013),this[_0x30c93c(0x11a)](),this[_0x30c93c(0x323)]();}[_0x2b351f(0x11a)](){const _0x1e3b9b=_0x2b351f,_0x4b897b=this[_0x1e3b9b(0x163)][_0x1e3b9b(0x175)][this['nativeSelect'][_0x1e3b9b(0x151)]];_0x4b897b&&(this['triggerText'][_0x1e3b9b(0x314)]=_0x4b897b[_0x1e3b9b(0x314)],_0x4b897b[_0x1e3b9b(0x1d6)]||_0x4b897b['hidden']?this[_0x1e3b9b(0x176)][_0x1e3b9b(0x1ed)][_0x1e3b9b(0x2cc)](_0x1e3b9b(0x27a)):this[_0x1e3b9b(0x176)][_0x1e3b9b(0x1ed)][_0x1e3b9b(0x184)](_0x1e3b9b(0x27a))),this[_0x1e3b9b(0x2ae)][_0x1e3b9b(0x36c)]('.custom-select-option')[_0x1e3b9b(0x1c9)](_0x3c22d7=>{const _0x553218=_0x1e3b9b;_0x3c22d7[_0x553218(0x1db)]('data-value')===this['selectedValue']?_0x3c22d7[_0x553218(0x1ed)][_0x553218(0x2cc)](_0x553218(0x2a9)):_0x3c22d7['classList'][_0x553218(0x184)](_0x553218(0x2a9));});}[_0x2b351f(0x140)](){const _0x5ee88b=_0x2b351f;if(this[_0x5ee88b(0x163)][_0x5ee88b(0x1d6)])return;this['isOpen']?this['close']():this[_0x5ee88b(0x120)]();}['open'](){const _0x1c4149=_0x2b351f;if(this[_0x1c4149(0x163)][_0x1c4149(0x1d6)])return;this[_0x1c4149(0x148)]=!![],this[_0x1c4149(0x176)][_0x1c4149(0x1ed)][_0x1c4149(0x2cc)](_0x1c4149(0x120)),this[_0x1c4149(0x333)][_0x1c4149(0x1ed)][_0x1c4149(0x2cc)](_0x1c4149(0x120)),this['trigger'][_0x1c4149(0x2e2)](_0x1c4149(0x118),'true');const _0xd7da3c=window[_0x1c4149(0x2f2)](this[_0x1c4149(0x333)]);if(_0xd7da3c[_0x1c4149(0x2f9)]==='fixed'){const _0x3065ae=this[_0x1c4149(0x176)][_0x1c4149(0x180)](),_0x298cd5=parseInt(_0xd7da3c[_0x1c4149(0x1c0)])||0xc8,_0x36be5c=window[_0x1c4149(0x24f)],_0x23799e=_0x36be5c-_0x3065ae[_0x1c4149(0x1ef)],_0x5c046b=_0x3065ae[_0x1c4149(0x1bb)];this[_0x1c4149(0x333)][_0x1c4149(0x1ed)][_0x1c4149(0x184)](_0x1c4149(0x13b)),this[_0x1c4149(0x176)][_0x1c4149(0x1ed)]['remove'](_0x1c4149(0x13b));let _0x165859;_0x23799e<_0x298cd5&&_0x5c046b>_0x23799e?(this[_0x1c4149(0x333)][_0x1c4149(0x33b)][_0x1c4149(0x1bb)]=_0x1c4149(0x346),this[_0x1c4149(0x333)][_0x1c4149(0x33b)][_0x1c4149(0x1ef)]=_0x36be5c-_0x3065ae[_0x1c4149(0x1bb)]+'px',_0x165859=Math[_0x1c4149(0x1f9)](_0x298cd5,_0x5c046b-0xa),this['dropdown'][_0x1c4149(0x33b)][_0x1c4149(0x1c0)]=_0x165859+'px',this[_0x1c4149(0x333)][_0x1c4149(0x1ed)][_0x1c4149(0x2cc)]('flipped'),this[_0x1c4149(0x176)][_0x1c4149(0x1ed)]['add'](_0x1c4149(0x13b))):(this['dropdown'][_0x1c4149(0x33b)][_0x1c4149(0x1bb)]=_0x3065ae[_0x1c4149(0x1ef)]+'px',this[_0x1c4149(0x333)][_0x1c4149(0x33b)][_0x1c4149(0x1ef)]=_0x1c4149(0x346),_0x165859=Math['min'](_0x298cd5,_0x23799e-0xa),this[_0x1c4149(0x333)]['style']['maxHeight']=_0x165859+'px');if(this[_0x1c4149(0x2ae)]){let _0x2b9ce9=_0x165859;if(this[_0x1c4149(0x17e)]){const _0x3ce4bc=this[_0x1c4149(0x17e)][_0x1c4149(0x1fd)];_0x3ce4bc&&(_0x2b9ce9-=_0x3ce4bc[_0x1c4149(0x2a5)]);}this[_0x1c4149(0x2ae)][_0x1c4149(0x33b)][_0x1c4149(0x1c0)]=Math['max'](0x0,_0x2b9ce9)+'px';}this['dropdown']['style'][_0x1c4149(0x130)]=_0x3065ae[_0x1c4149(0x130)]+'px',this['dropdown']['style']['width']=_0x3065ae[_0x1c4149(0x191)]+'px';}this[_0x1c4149(0x175)][_0x1c4149(0x2aa)]&&this['options']['onOpen'](this);if(this[_0x1c4149(0x31c)]&&this[_0x1c4149(0x17e)]){const _0xa768c6=this[_0x1c4149(0x17e)][_0x1c4149(0x1fd)];_0xa768c6&&_0xa768c6[_0x1c4149(0x33b)][_0x1c4149(0x2ee)]!==_0x1c4149(0x12a)&&setTimeout(()=>{const _0x3b38bc=_0x1c4149;this[_0x3b38bc(0x17e)]['focus']();},0x32);}}[_0x2b351f(0x323)](){const _0x427584=_0x2b351f;this[_0x427584(0x148)]=![],this[_0x427584(0x176)][_0x427584(0x1ed)]['remove'](_0x427584(0x120)),this[_0x427584(0x333)][_0x427584(0x1ed)][_0x427584(0x184)](_0x427584(0x120)),this[_0x427584(0x176)][_0x427584(0x2e2)](_0x427584(0x118),_0x427584(0x123)),this[_0x427584(0x333)][_0x427584(0x33b)]['top']='',this[_0x427584(0x333)]['style']['bottom']='',this[_0x427584(0x333)][_0x427584(0x33b)][_0x427584(0x130)]='',this[_0x427584(0x333)][_0x427584(0x33b)][_0x427584(0x191)]='',this[_0x427584(0x333)][_0x427584(0x33b)]['maxHeight']='',this['optionsContainer']&&(this['optionsContainer'][_0x427584(0x33b)][_0x427584(0x1c0)]=''),this[_0x427584(0x333)][_0x427584(0x1ed)]['remove'](_0x427584(0x13b)),this['trigger'][_0x427584(0x1ed)]['remove'](_0x427584(0x13b)),this[_0x427584(0x1e3)]();}[_0x2b351f(0x298)](_0x265495){const _0x8f4780=_0x2b351f;if(this['nativeSelect'][_0x8f4780(0x1d6)])return;if(_0x265495[_0x8f4780(0x235)]==='Enter'||_0x265495['key']==='\x20')_0x265495[_0x8f4780(0x222)](),this[_0x8f4780(0x140)]();else _0x265495[_0x8f4780(0x235)]===_0x8f4780(0x18a)&&this[_0x8f4780(0x323)]();}}export const ConfirmDialog={'_modal':null,'_resolvePromise':null,'init'(){const _0x22b264=_0x2b351f;if(document[_0x22b264(0x15d)](_0x22b264(0x1e2)))return;const _0x1e4974=_0x22b264(0x324);document[_0x22b264(0x1ac)][_0x22b264(0x2f5)](_0x22b264(0x360),_0x1e4974),this[_0x22b264(0x28f)]=document[_0x22b264(0x15d)](_0x22b264(0x1e2));const _0x7a7cf7=document['getElementById'](_0x22b264(0x2a3)),_0x276453=document[_0x22b264(0x15d)](_0x22b264(0x18c)),_0x2b2ba6=document['getElementById'](_0x22b264(0x270)),_0x5d19ef=this[_0x22b264(0x28f)][_0x22b264(0x362)](_0x22b264(0x217));_0x7a7cf7[_0x22b264(0x2dc)]('click',()=>this['_resolve'](![])),_0x276453[_0x22b264(0x2dc)](_0x22b264(0x25b),()=>this[_0x22b264(0x12b)](![])),_0x2b2ba6['addEventListener'](_0x22b264(0x25b),()=>this['_resolve'](!![])),_0x5d19ef[_0x22b264(0x2dc)](_0x22b264(0x25b),()=>this['_resolve'](![])),this[_0x22b264(0x28f)][_0x22b264(0x2dc)](_0x22b264(0x1ff),_0x174889=>{const _0x4ff9dd=_0x22b264;if(_0x174889[_0x4ff9dd(0x235)]===_0x4ff9dd(0x18a))_0x174889['preventDefault'](),this['_resolve'](![]);else _0x174889[_0x4ff9dd(0x235)]===_0x4ff9dd(0x2ad)&&(_0x174889[_0x4ff9dd(0x222)](),this[_0x4ff9dd(0x12b)](!![]));});},'show'({title:title='Confirm',message:_0x2d4e05,confirmText:confirmText=_0x2b351f(0x336),cancelText:cancelText='Cancel',danger:danger=![]}){const _0x43cd40=_0x2b351f;return!this[_0x43cd40(0x28f)]&&this[_0x43cd40(0x267)](),new Promise(_0x4f76e8=>{const _0x2dd9a6=_0x43cd40;this[_0x2dd9a6(0x327)]=_0x4f76e8,document['getElementById'](_0x2dd9a6(0x331))['textContent']=title,document['getElementById'](_0x2dd9a6(0x2c7))[_0x2dd9a6(0x314)]=_0x2d4e05;const _0x5badb3=document[_0x2dd9a6(0x15d)](_0x2dd9a6(0x18c)),_0x5a5b90=document['getElementById'](_0x2dd9a6(0x270));_0x5badb3[_0x2dd9a6(0x314)]=cancelText,_0x5a5b90['textContent']=confirmText,_0x5a5b90['className']=danger?_0x2dd9a6(0x280):_0x2dd9a6(0x20d),this[_0x2dd9a6(0x28f)][_0x2dd9a6(0x105)]=![],_0x5a5b90[_0x2dd9a6(0x329)]();});},'_resolve'(_0x91e109){const _0x42564d=_0x2b351f;this[_0x42564d(0x28f)]&&(this[_0x42564d(0x28f)]['hidden']=!![]),this[_0x42564d(0x327)]&&(this[_0x42564d(0x327)](_0x91e109),this[_0x42564d(0x327)]=null);}};export class AutocompleteSelect{constructor(_0x46515b,_0xbc9956={}){const _0x709323=_0x2b351f;this[_0x709323(0x26f)]=_0x46515b,this[_0x709323(0x175)]={'placeholder':_0xbc9956[_0x709323(0x27a)]||_0x709323(0x1b1),'maxItems':_0xbc9956['maxItems']||0x64,'loadItems':_0xbc9956[_0x709323(0x21b)]||(async()=>[]),'renderItem':_0xbc9956[_0x709323(0x19f)]||(_0x3d3fd4=>({'primary':String(_0x3d3fd4),'secondary':''})),'onSelect':_0xbc9956[_0x709323(0x115)]||(()=>{}),'filterItems':_0xbc9956[_0x709323(0x2e9)]||null,'getItemValue':_0xbc9956[_0x709323(0x152)]||(_0x39fbb1=>_0x39fbb1),'sortItems':_0xbc9956['sortItems']||null,'debounceMs':_0xbc9956[_0x709323(0x147)]||0xc8,'minCharsForSearch':_0xbc9956[_0x709323(0x260)]||0x0,'emptyMessage':_0xbc9956[_0x709323(0x1c3)]||_0x709323(0x343),'loadingMessage':_0xbc9956['loadingMessage']||'Loading...','preload':_0xbc9956['preload']!==![],'searchMode':_0xbc9956['searchMode']||_0x709323(0x354)},this[_0x709323(0x266)]=[],this[_0x709323(0x1ab)]=[],this[_0x709323(0x151)]=-0x1,this[_0x709323(0x148)]=![],this['isLoading']=![],this[_0x709323(0x1bc)]=null,this[_0x709323(0x121)]=null,this[_0x709323(0x244)]=![],this['init'](),this['options'][_0x709323(0x1a3)]&&this[_0x709323(0x312)]();}[_0x2b351f(0x267)](){const _0x3c078b=_0x2b351f;this[_0x3c078b(0x21d)]=document['createElement']('div'),this['wrapper'][_0x3c078b(0x296)]='autocomplete-select',this[_0x3c078b(0x2d2)]=document[_0x3c078b(0x160)](_0x3c078b(0x2d2)),this[_0x3c078b(0x2d2)]['type']='text',this[_0x3c078b(0x2d2)][_0x3c078b(0x296)]='autocomplete-select-input',this['input'][_0x3c078b(0x27a)]=this[_0x3c078b(0x175)]['placeholder'],this[_0x3c078b(0x2d2)]['setAttribute'](_0x3c078b(0x25a),_0x3c078b(0x18f)),this[_0x3c078b(0x2d2)][_0x3c078b(0x2e2)](_0x3c078b(0x2e8),_0x3c078b(0x1af)),this[_0x3c078b(0x2d2)]['setAttribute'](_0x3c078b(0x118),_0x3c078b(0x123)),this[_0x3c078b(0x2d2)][_0x3c078b(0x2e2)](_0x3c078b(0x1d3),_0x3c078b(0x262)),this[_0x3c078b(0x29c)]=document[_0x3c078b(0x160)](_0x3c078b(0x363)),this[_0x3c078b(0x29c)]['type']=_0x3c078b(0x363),this[_0x3c078b(0x29c)]['className']='autocomplete-select-clear',this['clearBtn'][_0x3c078b(0x134)]=_0x3c078b(0x224),this[_0x3c078b(0x29c)][_0x3c078b(0x2e2)](_0x3c078b(0x23f),'Clear\x20selection'),this[_0x3c078b(0x29c)][_0x3c078b(0x105)]=!![],this[_0x3c078b(0x333)]=document[_0x3c078b(0x160)](_0x3c078b(0x268)),this['dropdown'][_0x3c078b(0x296)]='autocomplete-select-dropdown',this[_0x3c078b(0x333)][_0x3c078b(0x2e2)](_0x3c078b(0x1d3),'listbox'),this[_0x3c078b(0x2fe)]=document['createElement'](_0x3c078b(0x268)),this[_0x3c078b(0x2fe)][_0x3c078b(0x296)]=_0x3c078b(0x337),this[_0x3c078b(0x333)][_0x3c078b(0x275)](this[_0x3c078b(0x2fe)]),this[_0x3c078b(0x283)]=document[_0x3c078b(0x160)](_0x3c078b(0x268)),this[_0x3c078b(0x283)][_0x3c078b(0x296)]=_0x3c078b(0x2ab),this[_0x3c078b(0x283)][_0x3c078b(0x105)]=!![],this['dropdown'][_0x3c078b(0x275)](this['footer']),this[_0x3c078b(0x21d)][_0x3c078b(0x275)](this[_0x3c078b(0x2d2)]),this[_0x3c078b(0x21d)][_0x3c078b(0x275)](this[_0x3c078b(0x29c)]),this[_0x3c078b(0x21d)][_0x3c078b(0x275)](this[_0x3c078b(0x333)]),this[_0x3c078b(0x26f)][_0x3c078b(0x134)]='',this[_0x3c078b(0x26f)][_0x3c078b(0x275)](this[_0x3c078b(0x21d)]),this[_0x3c078b(0x22d)]();}[_0x2b351f(0x22d)](){const _0x41b460=_0x2b351f;this['input']['addEventListener']('focus',()=>this[_0x41b460(0x340)]()),this['input']['addEventListener'](_0x41b460(0x357),_0x3088d5=>this[_0x41b460(0x13d)](_0x3088d5)),this[_0x41b460(0x2d2)][_0x41b460(0x2dc)](_0x41b460(0x2d2),_0x19ad9a=>this['onInput'](_0x19ad9a)),this['input'][_0x41b460(0x2dc)](_0x41b460(0x1ff),_0x304c72=>this[_0x41b460(0x34f)](_0x304c72)),this[_0x41b460(0x29c)][_0x41b460(0x2dc)](_0x41b460(0x36a),_0x32e216=>{const _0x166368=_0x41b460;_0x32e216['preventDefault'](),this[_0x166368(0x149)]();}),this['dropdown'][_0x41b460(0x2dc)](_0x41b460(0x36a),_0x43d453=>{_0x43d453['preventDefault']();}),document[_0x41b460(0x2dc)](_0x41b460(0x25b),_0x5cfda2=>{const _0xb32a33=_0x41b460;!this[_0xb32a33(0x21d)][_0xb32a33(0x358)](_0x5cfda2[_0xb32a33(0x1a2)])&&this['close']();});}async['preloadData'](){const _0x3dc809=_0x2b351f;if(this[_0x3dc809(0x244)])return;try{this[_0x3dc809(0x266)]=await this[_0x3dc809(0x175)][_0x3dc809(0x21b)](''),this[_0x3dc809(0x244)]=!![],this[_0x3dc809(0x175)]['sortItems']&&(this['allItems']=this[_0x3dc809(0x175)][_0x3dc809(0x255)]([...this[_0x3dc809(0x266)]]));}catch(_0x3e3558){console[_0x3dc809(0x143)](_0x3dc809(0x23e),_0x3e3558);}}[_0x2b351f(0x340)](){const _0x22537c=_0x2b351f;if(this[_0x22537c(0x175)][_0x22537c(0x31d)]===_0x22537c(0x20b))this[_0x22537c(0x216)](this[_0x22537c(0x2d2)][_0x22537c(0x16f)]);else!this[_0x22537c(0x244)]?this[_0x22537c(0x216)](''):this[_0x22537c(0x356)](this['input']['value']);}['onBlur'](_0x2ed17a){setTimeout(()=>{const _0x3f8692=_0xa29e;!this[_0x3f8692(0x21d)]['contains'](document[_0x3f8692(0x18e)])&&this[_0x3f8692(0x323)]();},0xc8);}[_0x2b351f(0x229)](_0x5234d6){const _0x3fc061=_0x2b351f,_0x44a872=_0x5234d6['target'][_0x3fc061(0x16f)];this[_0x3fc061(0x1bc)]&&clearTimeout(this['debounceTimer']),this[_0x3fc061(0x1bc)]=setTimeout(()=>{const _0x896dd9=_0x3fc061;if(this['options'][_0x896dd9(0x31d)]==='server')this[_0x896dd9(0x216)](_0x44a872);else this[_0x896dd9(0x244)]&&this[_0x896dd9(0x175)][_0x896dd9(0x2e9)]?this['filterAndShow'](_0x44a872):this[_0x896dd9(0x216)](_0x44a872);},this[_0x3fc061(0x175)][_0x3fc061(0x147)]),this['selectedItem']&&(this[_0x3fc061(0x121)]=null,this[_0x3fc061(0x29c)][_0x3fc061(0x105)]=!![],this[_0x3fc061(0x175)][_0x3fc061(0x115)](null));}[_0x2b351f(0x34f)](_0x4f58ab){const _0x416d2c=_0x2b351f;switch(_0x4f58ab[_0x416d2c(0x235)]){case'ArrowDown':_0x4f58ab['preventDefault'](),this[_0x416d2c(0x153)](0x1);break;case'ArrowUp':_0x4f58ab['preventDefault'](),this[_0x416d2c(0x153)](-0x1);break;case'Enter':_0x4f58ab[_0x416d2c(0x222)]();this['selectedIndex']>=0x0&&this[_0x416d2c(0x1ab)][this[_0x416d2c(0x151)]]&&this[_0x416d2c(0x1ae)](this[_0x416d2c(0x1ab)][this['selectedIndex']]);break;case'Escape':_0x4f58ab[_0x416d2c(0x222)](),this[_0x416d2c(0x323)]();break;case _0x416d2c(0x271):this[_0x416d2c(0x323)]();break;}}['moveSelection'](_0x5cbd18){const _0x30ef55=_0x2b351f;if(!this[_0x30ef55(0x148)]||this[_0x30ef55(0x1ab)]['length']===0x0)return;const _0x11fd76=this['selectedIndex']+_0x5cbd18;if(_0x11fd76>=0x0&&_0x11fd76<this[_0x30ef55(0x1ab)][_0x30ef55(0x10d)]){this['selectedIndex']=_0x11fd76,this[_0x30ef55(0x189)]();const _0x5bbb1f=this[_0x30ef55(0x2fe)][_0x30ef55(0x36c)](_0x30ef55(0x243));_0x5bbb1f[this['selectedIndex']]&&_0x5bbb1f[this[_0x30ef55(0x151)]]['scrollIntoView']({'block':_0x30ef55(0x2d7)});}}[_0x2b351f(0x189)](){const _0x321106=_0x2b351f,_0xae144b=this[_0x321106(0x2fe)][_0x321106(0x36c)](_0x321106(0x243));_0xae144b[_0x321106(0x1c9)]((_0x4c8316,_0x2e5913)=>{const _0xccf92c=_0x321106;_0x4c8316[_0xccf92c(0x1ed)]['toggle'](_0xccf92c(0x253),_0x2e5913===this[_0xccf92c(0x151)]);});}async[_0x2b351f(0x216)](_0x2b2a0e){const _0x2b1326=_0x2b351f;this['showLoading']();try{const _0x48f5fe=await this[_0x2b1326(0x175)][_0x2b1326(0x21b)](_0x2b2a0e);if(this[_0x2b1326(0x175)][_0x2b1326(0x31d)]===_0x2b1326(0x20b)){let _0x313629=_0x48f5fe;this[_0x2b1326(0x175)]['sortItems']&&(_0x313629=this[_0x2b1326(0x175)][_0x2b1326(0x255)]([..._0x48f5fe]));this[_0x2b1326(0x1ab)]=_0x313629;const _0x649313=this[_0x2b1326(0x1ab)][_0x2b1326(0x10d)]>=this[_0x2b1326(0x175)][_0x2b1326(0x232)];_0x649313&&(this[_0x2b1326(0x1ab)]=this['filteredItems'][_0x2b1326(0x1fa)](0x0,this['options'][_0x2b1326(0x232)])),this[_0x2b1326(0x332)](_0x649313),this[_0x2b1326(0x120)]();}else this[_0x2b1326(0x266)]=_0x48f5fe,this[_0x2b1326(0x244)]=!![],this['options'][_0x2b1326(0x255)]&&(this['allItems']=this[_0x2b1326(0x175)][_0x2b1326(0x255)]([...this[_0x2b1326(0x266)]])),this[_0x2b1326(0x356)](_0x2b2a0e);}catch(_0x1d5547){console[_0x2b1326(0x143)](_0x2b1326(0x227),_0x1d5547),this[_0x2b1326(0x33e)](_0x2b1326(0x27f));}}[_0x2b351f(0x356)](_0x57be9e){const _0x1b2683=_0x2b351f;this[_0x1b2683(0x175)][_0x1b2683(0x2e9)]?this[_0x1b2683(0x1ab)]=this[_0x1b2683(0x175)]['filterItems'](this[_0x1b2683(0x266)],_0x57be9e):this[_0x1b2683(0x1ab)]=this[_0x1b2683(0x266)];this[_0x1b2683(0x175)][_0x1b2683(0x255)]&&(this['filteredItems']=this[_0x1b2683(0x175)][_0x1b2683(0x255)]([...this[_0x1b2683(0x1ab)]]));const _0x1492e9=this['filteredItems']['length']>=this[_0x1b2683(0x175)]['maxItems'];_0x1492e9&&(this['filteredItems']=this[_0x1b2683(0x1ab)]['slice'](0x0,this[_0x1b2683(0x175)][_0x1b2683(0x232)])),this[_0x1b2683(0x332)](_0x1492e9),this['open']();}['renderItems'](_0x2d7fe1){const _0x1694aa=_0x2b351f;this['itemsContainer'][_0x1694aa(0x134)]='',this[_0x1694aa(0x151)]=-0x1;if(this[_0x1694aa(0x1ab)][_0x1694aa(0x10d)]===0x0){this[_0x1694aa(0x2fe)]['innerHTML']=_0x1694aa(0x168)+Utils[_0x1694aa(0x28d)](this[_0x1694aa(0x175)]['emptyMessage'])+_0x1694aa(0x2a2),this[_0x1694aa(0x283)][_0x1694aa(0x105)]=!![];return;}this[_0x1694aa(0x1ab)]['forEach']((_0x222a5d,_0x11f2c1)=>{const _0x47d23e=_0x1694aa,_0x3a575f=document[_0x47d23e(0x160)](_0x47d23e(0x268));_0x3a575f['className']=_0x47d23e(0x203),_0x3a575f[_0x47d23e(0x2e2)]('role',_0x47d23e(0x2ea)),_0x3a575f[_0x47d23e(0x2e2)](_0x47d23e(0x183),_0x11f2c1);const _0x97c680=this[_0x47d23e(0x175)][_0x47d23e(0x19f)](_0x222a5d);let _0x275867='';_0x97c680[_0x47d23e(0x26c)]&&(_0x275867=_0x47d23e(0x202)+(_0x97c680[_0x47d23e(0x1a6)]||'')+'\x22>'+_0x97c680['icon']+_0x47d23e(0x21c)),_0x3a575f[_0x47d23e(0x134)]='\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x275867+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22autocomplete-select-item-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22autocomplete-select-item-primary\x22>'+Utils[_0x47d23e(0x28d)](_0x97c680['primary'])+_0x47d23e(0x1d4)+(_0x97c680[_0x47d23e(0x14f)]?_0x47d23e(0x234)+Utils[_0x47d23e(0x28d)](_0x97c680[_0x47d23e(0x14f)])+_0x47d23e(0x2a2):'')+_0x47d23e(0x2ce),_0x3a575f[_0x47d23e(0x2dc)](_0x47d23e(0x25b),()=>{const _0x434ce3=_0x47d23e;this[_0x434ce3(0x1ae)](_0x222a5d);}),_0x3a575f[_0x47d23e(0x2dc)](_0x47d23e(0x17d),()=>{const _0x36d9cc=_0x47d23e;this[_0x36d9cc(0x151)]=_0x11f2c1,this[_0x36d9cc(0x189)]();}),this[_0x47d23e(0x2fe)]['appendChild'](_0x3a575f);}),_0x2d7fe1?(this['footer'][_0x1694aa(0x314)]='Displaying\x20maximum\x20'+this[_0x1694aa(0x175)][_0x1694aa(0x232)]+_0x1694aa(0x1b8),this[_0x1694aa(0x283)][_0x1694aa(0x105)]=![]):this['footer'][_0x1694aa(0x105)]=!![];}[_0x2b351f(0x31a)](){const _0x49b0d0=_0x2b351f;this[_0x49b0d0(0x22a)]=!![],this[_0x49b0d0(0x2fe)][_0x49b0d0(0x134)]='<div\x20class=\x22autocomplete-select-loading\x22><div\x20class=\x22spinner-small\x22></div><span>'+Utils['escapeHtml'](this[_0x49b0d0(0x175)][_0x49b0d0(0x33c)])+_0x49b0d0(0x1f6),this['footer'][_0x49b0d0(0x105)]=!![],this['open']();}[_0x2b351f(0x33e)](_0x333973){const _0x1fafbf=_0x2b351f;this['isLoading']=![],this[_0x1fafbf(0x2fe)][_0x1fafbf(0x134)]=_0x1fafbf(0x29a)+Utils[_0x1fafbf(0x28d)](_0x333973)+_0x1fafbf(0x2a2),this['footer'][_0x1fafbf(0x105)]=!![];}[_0x2b351f(0x1ae)](_0x135458){const _0x22f976=_0x2b351f;this[_0x22f976(0x121)]=_0x135458;const _0x322694=this[_0x22f976(0x175)][_0x22f976(0x19f)](_0x135458);this[_0x22f976(0x2d2)]['value']=_0x322694[_0x22f976(0x245)],this[_0x22f976(0x29c)][_0x22f976(0x105)]=![],this['close'](),this[_0x22f976(0x175)][_0x22f976(0x115)](_0x135458);}[_0x2b351f(0x120)](){const _0x2b249d=_0x2b351f;if(this[_0x2b249d(0x148)])return;this[_0x2b249d(0x148)]=!![],this[_0x2b249d(0x333)][_0x2b249d(0x1ed)][_0x2b249d(0x2cc)](_0x2b249d(0x120)),this[_0x2b249d(0x2d2)][_0x2b249d(0x2e2)](_0x2b249d(0x118),_0x2b249d(0x35b)),this[_0x2b249d(0x21d)]['classList'][_0x2b249d(0x2cc)](_0x2b249d(0x120));}['close'](){const _0x22da17=_0x2b351f;if(!this[_0x22da17(0x148)])return;this[_0x22da17(0x148)]=![],this[_0x22da17(0x333)][_0x22da17(0x1ed)]['remove'](_0x22da17(0x120)),this[_0x22da17(0x2d2)][_0x22da17(0x2e2)](_0x22da17(0x118),_0x22da17(0x123)),this['wrapper'][_0x22da17(0x1ed)]['remove'](_0x22da17(0x120)),this[_0x22da17(0x151)]=-0x1;}[_0x2b351f(0x149)](){const _0x2f3d71=_0x2b351f;this[_0x2f3d71(0x121)]=null,this[_0x2f3d71(0x2d2)]['value']='',this[_0x2f3d71(0x29c)][_0x2f3d71(0x105)]=!![],this[_0x2f3d71(0x175)][_0x2f3d71(0x115)](null),this['input'][_0x2f3d71(0x329)]();}[_0x2b351f(0x2c3)](){const _0x5c46d4=_0x2b351f;return this['selectedItem']?this[_0x5c46d4(0x175)][_0x5c46d4(0x152)](this['selectedItem']):null;}['getSelectedItem'](){const _0xb00f72=_0x2b351f;return this[_0xb00f72(0x121)];}[_0x2b351f(0x31f)](_0x23ebd1){const _0x1fd5b8=_0x2b351f;if(_0x23ebd1){this[_0x1fd5b8(0x121)]=_0x23ebd1;const _0x6a577a=this[_0x1fd5b8(0x175)][_0x1fd5b8(0x19f)](_0x23ebd1);this[_0x1fd5b8(0x2d2)][_0x1fd5b8(0x16f)]=_0x6a577a[_0x1fd5b8(0x245)],this[_0x1fd5b8(0x29c)][_0x1fd5b8(0x105)]=![];}else this[_0x1fd5b8(0x149)]();}[_0x2b351f(0x10c)](_0xa092d1){const _0x2bc979=_0x2b351f;this[_0x2bc979(0x266)]=_0xa092d1,this[_0x2bc979(0x244)]=!![],this[_0x2bc979(0x175)][_0x2bc979(0x255)]&&(this[_0x2bc979(0x266)]=this['options'][_0x2bc979(0x255)]([...this[_0x2bc979(0x266)]]));}[_0x2b351f(0x272)](){const _0x2646f1=_0x2b351f;this[_0x2646f1(0x149)](),this[_0x2646f1(0x266)]=[],this['filteredItems']=[],this[_0x2646f1(0x244)]=![];}['disable'](){const _0x56fb68=_0x2b351f;this[_0x56fb68(0x2d2)][_0x56fb68(0x1d6)]=!![],this[_0x56fb68(0x21d)]['classList']['add'](_0x56fb68(0x1d6));}[_0x2b351f(0x161)](){const _0x4f27ee=_0x2b351f;this[_0x4f27ee(0x2d2)][_0x4f27ee(0x1d6)]=![],this[_0x4f27ee(0x21d)][_0x4f27ee(0x1ed)][_0x4f27ee(0x184)](_0x4f27ee(0x1d6));}[_0x2b351f(0x233)](_0x248e1f){const _0x3737db=_0x2b351f;this[_0x3737db(0x2d2)][_0x3737db(0x27a)]=_0x248e1f;}[_0x2b351f(0x2d1)](){const _0x2e7eba=_0x2b351f;this[_0x2e7eba(0x1bc)]&&clearTimeout(this[_0x2e7eba(0x1bc)]),this[_0x2e7eba(0x26f)][_0x2e7eba(0x134)]='';}}async function initializeAdminMenu(_0x35cff2=null){const _0x7e445a=_0x2b351f,_0x43c52b=document['getElementById']('admin-menu-container'),_0x5a19f4=document[_0x7e445a(0x15d)](_0x7e445a(0x21e)),_0x4a4519=document['getElementById'](_0x7e445a(0x1f8));if(!_0x43c52b||!_0x5a19f4||!_0x4a4519)return;try{!_0x35cff2&&(_0x35cff2=await API['getCurrentUser']());if(_0x35cff2){const _0x3b5b8c=_0x35cff2[_0x7e445a(0x186)]||_0x35cff2[_0x7e445a(0x19b)]||_0x35cff2['isTeamManager']||_0x35cff2[_0x7e445a(0x285)];if(!_0x3b5b8c)return;_0x43c52b[_0x7e445a(0x105)]=![];if(!_0x35cff2[_0x7e445a(0x186)]){const _0x5ae9c8=_0x4a4519[_0x7e445a(0x36c)](_0x7e445a(0x349));_0x5ae9c8['forEach'](_0x2caafb=>{const _0x330ca9=_0x7e445a,_0x406832=_0x2caafb['querySelector']('.option-text')?.[_0x330ca9(0x314)]?.[_0x330ca9(0x335)]();_0x406832==='Users'&&!_0x35cff2['isTeamManager']&&(_0x2caafb['hidden']=!![]),_0x406832==='Skills'&&(_0x2caafb[_0x330ca9(0x105)]=!![]),_0x406832==='Server\x20Settings'&&(_0x2caafb[_0x330ca9(0x105)]=!![]),_0x406832===_0x330ca9(0x30f)&&(_0x2caafb[_0x330ca9(0x105)]=!![]),_0x406832==='Git\x20History'&&(_0x2caafb[_0x330ca9(0x105)]=!![]);});}_0x5a19f4[_0x7e445a(0x2dc)](_0x7e445a(0x25b),_0x5353ad=>{const _0xf6ae22=_0x7e445a;_0x5353ad[_0xf6ae22(0x225)]();const _0x1343f0=document[_0xf6ae22(0x15d)](_0xf6ae22(0x1b0));if(_0x1343f0)_0x1343f0['hidden']=!![];_0x4a4519[_0xf6ae22(0x105)]=!_0x4a4519[_0xf6ae22(0x105)];}),document[_0x7e445a(0x2dc)](_0x7e445a(0x25b),_0x462fc2=>{const _0x2709d6=_0x7e445a;!_0x4a4519[_0x2709d6(0x105)]&&!_0x5a19f4[_0x2709d6(0x358)](_0x462fc2['target'])&&!_0x4a4519[_0x2709d6(0x358)](_0x462fc2[_0x2709d6(0x1a2)])&&(_0x4a4519[_0x2709d6(0x105)]=!![]);}),document[_0x7e445a(0x2dc)]('keydown',_0xe8fdff=>{const _0x4cf6ff=_0x7e445a;_0xe8fdff['key']===_0x4cf6ff(0x18a)&&!_0x4a4519[_0x4cf6ff(0x105)]&&(_0x4a4519[_0x4cf6ff(0x105)]=!![]);});const _0x10fb80=document[_0x7e445a(0x15d)](_0x7e445a(0x2a4));_0x10fb80&&_0x10fb80['addEventListener'](_0x7e445a(0x25b),async()=>{const _0xeabd50=_0x7e445a;_0x4a4519['hidden']=!![];const {openServerHealthModal:_0x5e9c6a}=await import(_0xeabd50(0x12e));_0x5e9c6a();});}}catch(_0x1b676a){console[_0x7e445a(0x14a)](_0x7e445a(0x326),_0x1b676a[_0x7e445a(0x1a1)]);}}typeof window!=='undefined'&&(window[_0x2b351f(0x1fe)]=API,window[_0x2b351f(0x2d4)]=Utils,window[_0x2b351f(0x2b9)]=CustomSelect,window['ConfirmDialog']=ConfirmDialog,window[_0x2b351f(0x35f)]=AutocompleteSelect,window['initializeAdminMenu']=initializeAdminMenu);export{initializeAdminMenu};
1
+ function detectApiBase(){const _0xd99b36=window['location']['pathname'],_0x32bbe3=_0xd99b36['match'](/^(\/tasks\/[^/]+\/app\/[^/]+)/);if(_0x32bbe3)return console['log']('[CoderFlow]\x20Detected\x20proxied\x20context,\x20using\x20base:',_0x32bbe3[0x1]),_0x32bbe3[0x1];return'';}const API_BASE=detectApiBase();export const API={async 'getTaskStats'(_0x5c6b55={}){const _0x4d3aec=new URLSearchParams();_0x5c6b55['userId']&&_0x4d3aec['set']('userId',String(_0x5c6b55['userId']));_0x5c6b55['automation']&&_0x4d3aec['set']('automation',String(_0x5c6b55['automation']));const _0x1734c0=API_BASE+'/tasks/stats'+(_0x4d3aec['toString']()?'?'+_0x4d3aec['toString']():''),_0x1cd69c=await fetch(_0x1734c0);if(!_0x1cd69c['ok'])throw new Error('Failed\x20to\x20fetch\x20task\x20stats:\x20'+_0x1cd69c['statusText']);return await _0x1cd69c['json']();},async 'getTasks'(_0x55a7aa={}){const _0x171ad9=new URLSearchParams();_0x55a7aa['status']&&_0x171ad9['set']('status',String(_0x55a7aa['status']));_0x55a7aa['environment']&&_0x171ad9['set']('environment',String(_0x55a7aa['environment']));_0x55a7aa['automation']&&_0x171ad9['set']('automation',String(_0x55a7aa['automation']));if(_0x55a7aa['include']){const _0x558a46=Array['isArray'](_0x55a7aa['include'])?_0x55a7aa['include']['join'](','):String(_0x55a7aa['include']);_0x558a46&&_0x171ad9['set']('include',_0x558a46);}_0x55a7aa['filter']&&_0x171ad9['set']('filter',String(_0x55a7aa['filter']));_0x55a7aa['page']&&_0x171ad9['set']('page',String(_0x55a7aa['page']));_0x55a7aa['limit']&&_0x171ad9['set']('limit',String(_0x55a7aa['limit']));_0x55a7aa['userId']&&_0x171ad9['set']('userId',String(_0x55a7aa['userId']));_0x55a7aa['search']&&_0x171ad9['set']('search',String(_0x55a7aa['search']));_0x55a7aa['includeChildTasks']&&_0x171ad9['set']('includeChildTasks','true');const _0x1cd0d2=API_BASE+'/tasks'+(_0x171ad9['toString']()?'?'+_0x171ad9['toString']():''),_0x4a3e09=await fetch(_0x1cd0d2);if(!_0x4a3e09['ok'])throw new Error('Failed\x20to\x20fetch\x20tasks:\x20'+_0x4a3e09['statusText']);return await _0x4a3e09['json']();},async 'getAutomations'(_0x43decf={}){const _0x488260=new URLSearchParams();_0x43decf['environment']&&_0x488260['set']('environment',String(_0x43decf['environment']));const _0x633de6=await fetch(API_BASE+'/api/automations'+(_0x488260['toString']()?'?'+_0x488260['toString']():''));if(!_0x633de6['ok']){const _0x4149df=await _0x633de6['json']()['catch'](()=>({}));throw new Error(_0x4149df['message']||_0x4149df['error']||'Failed\x20to\x20fetch\x20automations:\x20'+_0x633de6['statusText']);}return await _0x633de6['json']();},async 'getAutomation'(_0x4a5495){const _0x3f4803=await fetch(API_BASE+'/api/automations/'+encodeURIComponent(_0x4a5495));if(!_0x3f4803['ok']){const _0x26c8c8=await _0x3f4803['json']()['catch'](()=>({}));throw new Error(_0x26c8c8['message']||_0x26c8c8['error']||'Failed\x20to\x20fetch\x20automation:\x20'+_0x3f4803['statusText']);}return await _0x3f4803['json']();},async 'createAutomation'(_0x10a214){const _0x457ff2=await fetch(API_BASE+'/api/automations',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x10a214||{})});if(!_0x457ff2['ok']){const _0x438b7d=await _0x457ff2['json']()['catch'](()=>({}));throw new Error(_0x438b7d['message']||_0x438b7d['error']||'Failed\x20to\x20create\x20automation:\x20'+_0x457ff2['statusText']);}return await _0x457ff2['json']();},async 'updateAutomation'(_0x38fdcd,_0x1c826e){const _0x389e21=await fetch(API_BASE+'/api/automations/'+encodeURIComponent(_0x38fdcd),{'method':'PATCH','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x1c826e||{})});if(!_0x389e21['ok']){const _0x8c5fd8=await _0x389e21['json']()['catch'](()=>({}));throw new Error(_0x8c5fd8['message']||_0x8c5fd8['error']||'Failed\x20to\x20update\x20automation:\x20'+_0x389e21['statusText']);}return await _0x389e21['json']();},async 'deleteAutomation'(_0x7e3dbc){const _0x113cfa=await fetch(API_BASE+'/api/automations/'+encodeURIComponent(_0x7e3dbc),{'method':'DELETE'});if(!_0x113cfa['ok']){const _0xfce235=await _0x113cfa['json']()['catch'](()=>({}));throw new Error(_0xfce235['message']||_0xfce235['error']||'Failed\x20to\x20delete\x20automation:\x20'+_0x113cfa['statusText']);}return await _0x113cfa['json']();},async 'triggerAutomation'(_0x284800){const _0x3698b4=await fetch(API_BASE+'/api/automations/'+encodeURIComponent(_0x284800)+'/trigger',{'method':'POST'});if(!_0x3698b4['ok']){const _0x4c2b6a=await _0x3698b4['json']()['catch'](()=>({}));throw new Error(_0x4c2b6a['message']||_0x4c2b6a['error']||'Failed\x20to\x20trigger\x20automation:\x20'+_0x3698b4['statusText']);}return await _0x3698b4['json']();},async 'setAutomationEnabled'(_0x4d9067,_0xb06d6f){const _0x58c5fb=await fetch(API_BASE+'/api/automations/'+encodeURIComponent(_0x4d9067)+'/enabled',{'method':'PATCH','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'enabled':!!_0xb06d6f})});if(!_0x58c5fb['ok']){const _0x5a039c=await _0x58c5fb['json']()['catch'](()=>({}));throw new Error(_0x5a039c['message']||_0x5a039c['error']||'Failed\x20to\x20update\x20automation\x20status:\x20'+_0x58c5fb['statusText']);}return await _0x58c5fb['json']();},async 'getAutomationHistory'(_0x25cbfb,_0x51dd1c=0x32){const _0x1300fe=await fetch(API_BASE+'/api/automations/'+encodeURIComponent(_0x25cbfb)+'/history?limit='+encodeURIComponent(String(_0x51dd1c)));if(!_0x1300fe['ok']){const _0xab6ab7=await _0x1300fe['json']()['catch'](()=>({}));throw new Error(_0xab6ab7['message']||_0xab6ab7['error']||'Failed\x20to\x20fetch\x20automation\x20history:\x20'+_0x1300fe['statusText']);}return await _0x1300fe['json']();},async 'getTask'(_0x479b3d,_0x4f6c5f={}){const _0x4fb881=new URLSearchParams();if(_0x4f6c5f['include']){const _0x460fbd=Array['isArray'](_0x4f6c5f['include'])?_0x4f6c5f['include']['join'](','):String(_0x4f6c5f['include']);if(_0x460fbd)_0x4fb881['set']('include',_0x460fbd);}const _0x29dd84=await fetch(API_BASE+'/tasks/'+_0x479b3d+(_0x4fb881['toString']()?'?'+_0x4fb881['toString']():''));if(!_0x29dd84['ok'])throw new Error('Failed\x20to\x20fetch\x20task:\x20'+_0x29dd84['statusText']);return await _0x29dd84['json']();},async 'getTaskResults'(_0x2a4f62){const _0x4b6c64=await fetch(API_BASE+'/tasks/'+_0x2a4f62+'/results');if(!_0x4b6c64['ok'])throw new Error('Failed\x20to\x20fetch\x20task\x20results:\x20'+_0x4b6c64['statusText']);return await _0x4b6c64['json']();},async 'getTaskPatches'(_0x578316){const _0x42a0b1=await fetch(API_BASE+'/tasks/'+_0x578316+'/patches');if(!_0x42a0b1['ok'])throw new Error('Failed\x20to\x20fetch\x20patches:\x20'+_0x42a0b1['statusText']);return await _0x42a0b1['json']();},async 'getTaskAttachments'(_0xff0530){const _0x43683d=await fetch(API_BASE+'/tasks/'+_0xff0530+'/attachments');if(!_0x43683d['ok'])throw new Error('Failed\x20to\x20fetch\x20attachments:\x20'+_0x43683d['statusText']);return await _0x43683d['json']();},async 'uploadAttachments'(_0x3edf2b,_0x540d6b){const _0x30e6d5=new FormData();for(const _0x1b32b9 of _0x540d6b){_0x30e6d5['append']('attachments',_0x1b32b9);}const _0x5d4f1a=await fetch(API_BASE+'/tasks/'+_0x3edf2b+'/attachments',{'method':'POST','body':_0x30e6d5});if(!_0x5d4f1a['ok'])throw new Error('Failed\x20to\x20upload\x20attachments:\x20'+_0x5d4f1a['statusText']);return await _0x5d4f1a['json']();},async 'isAINameGenerationAvailable'(){try{const _0xb1e187=await fetch(API_BASE+'/tasks/ai-name-available');if(!_0xb1e187['ok'])return{'available':![],'reason':'API\x20request\x20failed'};return await _0xb1e187['json']();}catch(_0x260c49){return{'available':![],'reason':_0x260c49['message']};}},async 'generateTaskName'(_0x3dc668){try{const _0x5e7a47=await fetch(API_BASE+'/tasks/generate-name',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'instructions':_0x3dc668})});return await _0x5e7a47['json']();}catch(_0x5dfdb8){return{'success':![],'error':_0x5dfdb8['message']};}},async 'createTask'(_0x271588){let _0x1320ea,_0x49c048={};if(_0x271588['files']&&_0x271588['files']['length']>0x0){const _0x3b707b=new FormData();for(const [_0x26b90c,_0x4fd459]of Object['entries'](_0x271588)){if(_0x26b90c!=='files'){if(_0x4fd459==null)continue;typeof _0x4fd459==='object'?_0x3b707b['append'](_0x26b90c,JSON['stringify'](_0x4fd459)):_0x3b707b['append'](_0x26b90c,String(_0x4fd459));}}for(const _0x72fc16 of _0x271588['files']){_0x3b707b['append']('attachments',_0x72fc16);}_0x1320ea=_0x3b707b;}else _0x49c048['Content-Type']='application/json',_0x1320ea=JSON['stringify'](_0x271588);const _0x18929c=await fetch(API_BASE+'/tasks',{'method':'POST','headers':_0x49c048,'body':_0x1320ea});if(!_0x18929c['ok']){const _0x459e6a=await _0x18929c['json'](),_0x5d1971=new Error(_0x459e6a['error']||'Failed\x20to\x20create\x20task:\x20'+_0x18929c['statusText']),{message:_0x4faf80,..._0x23661b}=_0x459e6a;Object['assign'](_0x5d1971,_0x23661b);throw _0x5d1971;}return await _0x18929c['json']();},async 'createTestTask'(_0xc7e952){const _0x5ae8c8=await fetch(API_BASE+'/test-task',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0xc7e952)});if(!_0x5ae8c8['ok']){const _0x1b8f15=await _0x5ae8c8['json']();throw new Error(_0x1b8f15['error']||'Failed\x20to\x20create\x20test\x20task:\x20'+_0x5ae8c8['statusText']);}return await _0x5ae8c8['json']();},async 'createEphemeralTest'(_0x1927f5){const _0x517f6c=await fetch(API_BASE+'/test',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x1927f5)});if(!_0x517f6c['ok']){const _0x547bd1=await _0x517f6c['json']();throw new Error(_0x547bd1['error']||'Failed\x20to\x20create\x20ephemeral\x20test:\x20'+_0x517f6c['statusText']);}return await _0x517f6c['json']();},async 'createDeployTask'(_0x5e3ba7){const _0x3447c9=await fetch(API_BASE+'/deploy-task',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x5e3ba7)});if(!_0x3447c9['ok']){const _0x122efb=await _0x3447c9['json']();throw new Error(_0x122efb['error']||'Failed\x20to\x20create\x20deploy\x20task:\x20'+_0x3447c9['statusText']);}return await _0x3447c9['json']();},async 'getEnvironments'(){const _0x22571c=await fetch(API_BASE+'/environments');if(!_0x22571c['ok'])throw new Error('Failed\x20to\x20fetch\x20environments:\x20'+_0x22571c['statusText']);return await _0x22571c['json']();},async 'getEnvironment'(_0x16c14c){const _0x2e33dd=await fetch(API_BASE+'/environments/'+_0x16c14c);if(!_0x2e33dd['ok'])throw new Error('Failed\x20to\x20fetch\x20environment:\x20'+_0x2e33dd['statusText']);return await _0x2e33dd['json']();},async 'getEnvironmentRepoHistory'(_0x45d6d7,_0x8d3fe0,_0x268919={}){if(!_0x45d6d7||!_0x8d3fe0)throw new Error('Environment\x20and\x20repo\x20are\x20required');const _0x3c02af=new URLSearchParams();if(_0x268919['limit'])_0x3c02af['set']('limit',String(_0x268919['limit']));if(_0x268919['offset'])_0x3c02af['set']('offset',String(_0x268919['offset']));if(_0x268919['search'])_0x3c02af['set']('search',String(_0x268919['search']));if(_0x268919['branch'])_0x3c02af['set']('branch',String(_0x268919['branch']));const _0x573a44=API_BASE+'/environments/'+encodeURIComponent(_0x45d6d7)+'/repos/'+encodeURIComponent(_0x8d3fe0)+'/git/history',_0x366f88=await fetch(''+_0x573a44+(_0x3c02af['toString']()?'?'+_0x3c02af['toString']():''));if(!_0x366f88['ok']){const _0x338267=await _0x366f88['json']()['catch'](()=>({}));throw new Error(_0x338267['error']||'Failed\x20to\x20fetch\x20repo\x20history:\x20'+_0x366f88['statusText']);}return await _0x366f88['json']();},async 'getEnvironmentRepoCommit'(_0x292975,_0x1cee17,_0x276dbc){if(!_0x292975||!_0x1cee17||!_0x276dbc)throw new Error('Environment,\x20repo,\x20and\x20hash\x20are\x20required');const _0x473f3b=API_BASE+'/environments/'+encodeURIComponent(_0x292975)+'/repos/'+encodeURIComponent(_0x1cee17)+'/git/commits/'+encodeURIComponent(_0x276dbc),_0x5dce38=await fetch(_0x473f3b);if(!_0x5dce38['ok']){const _0xc077f2=await _0x5dce38['json']()['catch'](()=>({}));throw new Error(_0xc077f2['error']||'Failed\x20to\x20fetch\x20commit\x20details:\x20'+_0x5dce38['statusText']);}return await _0x5dce38['json']();},async 'getEnvironmentRepoBranches'(_0x261b57,_0x4466a4){if(!_0x261b57||!_0x4466a4)throw new Error('Environment\x20and\x20repo\x20are\x20required');const _0xba4d2=API_BASE+'/environments/'+encodeURIComponent(_0x261b57)+'/repos/'+encodeURIComponent(_0x4466a4)+'/git/branches',_0x142ef1=await fetch(_0xba4d2);if(!_0x142ef1['ok']){const _0x36744b=await _0x142ef1['json']()['catch'](()=>({}));throw new Error(_0x36744b['error']||'Failed\x20to\x20fetch\x20branches:\x20'+_0x142ef1['statusText']);}return await _0x142ef1['json']();},async 'revertEnvironmentRepoCommit'(_0x1ae3ea,_0x2f390d,_0x354b87,_0x1f5718={}){if(!_0x1ae3ea||!_0x2f390d||!_0x354b87)throw new Error('Environment,\x20repo,\x20and\x20hash\x20are\x20required');const _0x506fa1=await fetch(API_BASE+'/environments/'+encodeURIComponent(_0x1ae3ea)+'/repos/'+encodeURIComponent(_0x2f390d)+'/git/revert',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'hash':_0x354b87,..._0x1f5718})});if(!_0x506fa1['ok']){const _0x10aa45=await _0x506fa1['json']()['catch'](()=>({}));throw new Error(_0x10aa45['message']||_0x10aa45['error']||'Failed\x20to\x20revert\x20commit:\x20'+_0x506fa1['statusText']);}return await _0x506fa1['json']();},async 'getTemplates'(_0x5e5def={}){const _0x4c842b=new URLSearchParams();if(_0x5e5def['include']){const _0x1cc89d=Array['isArray'](_0x5e5def['include'])?_0x5e5def['include']['join'](','):String(_0x5e5def['include']);if(_0x1cc89d)_0x4c842b['set']('include',_0x1cc89d);}const _0x3ed864=await fetch(API_BASE+'/templates'+(_0x4c842b['toString']()?'?'+_0x4c842b['toString']():''));if(!_0x3ed864['ok'])throw new Error('Failed\x20to\x20fetch\x20templates:\x20'+_0x3ed864['statusText']);return await _0x3ed864['json']();},async 'getTemplatesForEnvironment'(_0x46fae5,_0xa5b8e0={}){if(!_0x46fae5)throw new Error('Environment\x20name\x20is\x20required');const _0x4aa98f=new URLSearchParams();if(_0xa5b8e0['include']){const _0x2ef37c=Array['isArray'](_0xa5b8e0['include'])?_0xa5b8e0['include']['join'](','):String(_0xa5b8e0['include']);if(_0x2ef37c)_0x4aa98f['set']('include',_0x2ef37c);}const _0x190eb8=await fetch(API_BASE+'/templates/'+_0x46fae5+(_0x4aa98f['toString']()?'?'+_0x4aa98f['toString']():''));if(!_0x190eb8['ok'])throw new Error('Failed\x20to\x20fetch\x20templates\x20for\x20'+_0x46fae5+':\x20'+_0x190eb8['statusText']);return await _0x190eb8['json']();},async 'getTemplate'(_0xc182b9,_0x487d91,_0xcadf19={}){if(!_0xc182b9||!_0x487d91)throw new Error('Environment\x20and\x20template\x20are\x20required');const _0x2846b6=new URLSearchParams();if(_0xcadf19['include']){const _0x45abf4=Array['isArray'](_0xcadf19['include'])?_0xcadf19['include']['join'](','):String(_0xcadf19['include']);if(_0x45abf4)_0x2846b6['set']('include',_0x45abf4);}const _0x3284ee=await fetch(API_BASE+'/templates/'+_0xc182b9+'/'+_0x487d91+(_0x2846b6['toString']()?'?'+_0x2846b6['toString']():''));if(!_0x3284ee['ok'])throw new Error('Failed\x20to\x20load\x20template:\x20'+_0x3284ee['statusText']);return await _0x3284ee['json']();},async 'getTaskLogs'(_0x321a2c,_0x263d2a={}){if(!_0x321a2c)throw new Error('Task\x20ID\x20is\x20required');const _0x220734=new URLSearchParams();_0x263d2a['tail']&&_0x220734['set']('tail',String(_0x263d2a['tail']));const _0x4e30af=await fetch(API_BASE+'/tasks/'+_0x321a2c+'/logs'+(_0x220734['toString']()?'?'+_0x220734['toString']():''));if(!_0x4e30af['ok'])throw new Error('Failed\x20to\x20fetch\x20task\x20logs:\x20'+_0x4e30af['statusText']);return await _0x4e30af['text']();},async 'getContainers'(){const _0xef3e00=await fetch(API_BASE+'/containers');if(!_0xef3e00['ok'])throw new Error('Failed\x20to\x20fetch\x20containers:\x20'+_0xef3e00['statusText']);return await _0xef3e00['json']();},async 'getContainer'(_0x572d19){const _0x3524c4=await fetch(API_BASE+'/containers/'+_0x572d19);if(!_0x3524c4['ok'])throw new Error('Failed\x20to\x20fetch\x20container:\x20'+_0x3524c4['statusText']);return await _0x3524c4['json']();},async 'startInteractiveContainer'(_0x466169){const _0x263397=await fetch(API_BASE+'/containers/interactive',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x466169)});if(!_0x263397['ok']){const _0x1df2e5=await _0x263397['json']()['catch'](()=>({}));throw new Error(_0x1df2e5['message']||'Failed\x20to\x20start\x20container:\x20'+_0x263397['statusText']);}return await _0x263397['json']();},async 'stopContainer'(_0x4c57c6){const _0x227369=await fetch(API_BASE+'/containers/'+_0x4c57c6,{'method':'DELETE'});if(!_0x227369['ok']){const _0x3c36bc=await _0x227369['json']()['catch'](()=>({}));throw new Error(_0x3c36bc['message']||'Failed\x20to\x20stop\x20container:\x20'+_0x227369['statusText']);}return await _0x227369['json']();},async 'stopTask'(_0x1f2c63){if(!_0x1f2c63)throw new Error('Task\x20ID\x20is\x20required');const _0x24a5a3=await fetch(API_BASE+'/tasks/'+_0x1f2c63+'/stop',{'method':'POST'});if(!_0x24a5a3['ok']){const _0x16960b=await _0x24a5a3['json']()['catch'](()=>({}));throw new Error(_0x16960b['error']||'Failed\x20to\x20stop\x20task:\x20'+_0x24a5a3['statusText']);}return await _0x24a5a3['json']();},async 'interruptTask'(_0x1bd694){if(!_0x1bd694)throw new Error('Task\x20ID\x20is\x20required');const _0xb376b9=await fetch(API_BASE+'/tasks/'+_0x1bd694+'/interrupt',{'method':'POST'});if(!_0xb376b9['ok']){const _0x4bb436=await _0xb376b9['json']()['catch'](()=>({}));throw new Error(_0x4bb436['error']||_0x4bb436['message']||'Failed\x20to\x20interrupt\x20task:\x20'+_0xb376b9['statusText']);}return await _0xb376b9['json']();},async 'startTask'(_0x327af7){if(!_0x327af7)throw new Error('Task\x20ID\x20is\x20required');const _0x5efe03=await fetch(API_BASE+'/tasks/'+_0x327af7+'/start',{'method':'POST'});if(!_0x5efe03['ok']){const _0x26e1c2=await _0x5efe03['json']()['catch'](()=>({}));throw new Error(_0x26e1c2['error']||'Failed\x20to\x20start\x20task:\x20'+_0x5efe03['statusText']);}return await _0x5efe03['json']();},async 'deleteTask'(_0x38c033){if(!_0x38c033)throw new Error('Task\x20ID\x20is\x20required');const _0x276506=await fetch(API_BASE+'/tasks/'+_0x38c033,{'method':'DELETE'});if(!_0x276506['ok']){const _0x1e6746=await _0x276506['json']()['catch'](()=>({}));throw new Error(_0x1e6746['error']||'Failed\x20to\x20delete\x20task:\x20'+_0x276506['statusText']);}return await _0x276506['json']();},async 'refreshTasksFromDisk'(){const _0x3c99c2=await fetch(API_BASE+'/tasks/refresh',{'method':'POST'});if(!_0x3c99c2['ok']){const _0x17b385=await _0x3c99c2['json']()['catch'](()=>({}));throw new Error(_0x17b385['error']||'Failed\x20to\x20refresh\x20tasks:\x20'+_0x3c99c2['statusText']);}return await _0x3c99c2['json']();},async 'approveTask'(_0x12df32,_0x34e5eb={}){if(!_0x12df32)throw new Error('Task\x20ID\x20is\x20required');const _0x32fead={'commit_message':_0x34e5eb['commit_message']||'','pull':_0x34e5eb['pull']??![],'push':_0x34e5eb['push']??![]};_0x34e5eb['new_branch']&&(_0x32fead['new_branch']=_0x34e5eb['new_branch']);const _0x538634=await fetch(API_BASE+'/tasks/'+_0x12df32+'/approve',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x32fead)});if(!_0x538634['ok']){const _0x7da7ea=await _0x538634['json']()['catch'](()=>({}));let _0x35820d=_0x7da7ea['error']||_0x7da7ea['message']||'Failed\x20to\x20approve\x20task:\x20'+_0x538634['statusText'];if(_0x7da7ea['results']&&Array['isArray'](_0x7da7ea['results'])){const _0x3ccdfe=_0x7da7ea['results']['filter'](_0x5cd49e=>!_0x5cd49e['success']&&_0x5cd49e['error']);_0x3ccdfe['length']>0x0&&(_0x35820d=_0x3ccdfe[0x0]['error']);}throw new Error(_0x35820d);}return await _0x538634['json']();},async 'getPullRequestInfo'(_0x5723b2){if(!_0x5723b2)throw new Error('Task\x20ID\x20is\x20required');const _0x44834e=await fetch(API_BASE+'/tasks/'+_0x5723b2+'/pull-request-info');if(!_0x44834e['ok']){const _0x2fba92=await _0x44834e['json']()['catch'](()=>({}));throw new Error(_0x2fba92['error']||_0x2fba92['message']||'Failed\x20to\x20get\x20pull\x20request\x20info:\x20'+_0x44834e['statusText']);}return await _0x44834e['json']();},async 'createPullRequests'(_0x5527ef,_0x10a35b){if(!_0x5527ef)throw new Error('Task\x20ID\x20is\x20required');if(!_0x10a35b||!Array['isArray'](_0x10a35b))throw new Error('repos\x20array\x20is\x20required');const _0x379d44=await fetch(API_BASE+'/tasks/'+_0x5527ef+'/pull-requests',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'repos':_0x10a35b})});if(!_0x379d44['ok']){const _0x450e81=await _0x379d44['json']()['catch'](()=>({}));let _0x23e87d=_0x450e81['error']||_0x450e81['message']||'Failed\x20to\x20create\x20pull\x20requests:\x20'+_0x379d44['statusText'];if(_0x450e81['results']&&Array['isArray'](_0x450e81['results'])){const _0x3b34ab=_0x450e81['results']['filter'](_0x1eb093=>!_0x1eb093['success']&&_0x1eb093['error']);_0x3b34ab['length']>0x0&&(_0x23e87d=_0x3b34ab[0x0]['error']);}throw new Error(_0x23e87d);}return await _0x379d44['json']();},async 'syncRepos'(_0x57d856){if(!_0x57d856)throw new Error('Task\x20ID\x20is\x20required');const _0x34e884=await fetch(API_BASE+'/tasks/'+_0x57d856+'/sync-repos',{'method':'POST'});if(!_0x34e884['ok']){const _0x5b493d=await _0x34e884['json']()['catch'](()=>({}));throw new Error(_0x5b493d['error']||_0x5b493d['message']||'Failed\x20to\x20sync\x20repositories:\x20'+_0x34e884['statusText']);}return await _0x34e884['json']();},async 'getIbmiSyncInfo'(_0x5c8861){if(!_0x5c8861)throw new Error('Task\x20ID\x20is\x20required');const _0x2498aa=await fetch(API_BASE+'/tasks/'+_0x5c8861+'/ibmi-sync-info');if(!_0x2498aa['ok']){const _0x4f7d77=await _0x2498aa['json']()['catch'](()=>({}));throw new Error(_0x4f7d77['error']||_0x4f7d77['message']||'Failed\x20to\x20fetch\x20sync\x20info');}return await _0x2498aa['json']();},async 'syncToIbmi'(_0x591c3c,_0x336891){if(!_0x591c3c)throw new Error('Task\x20ID\x20is\x20required');const _0x37da73=await fetch(API_BASE+'/tasks/'+_0x591c3c+'/sync-to-ibmi',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'library':_0x336891})});if(!_0x37da73['ok']){const _0x267f5f=await _0x37da73['json']()['catch'](()=>({}));throw new Error(_0x267f5f['error']||_0x267f5f['message']||'Sync\x20failed');}return await _0x37da73['json']();},async 'getIbmiSyncLog'(_0x47c5b3){if(!_0x47c5b3)throw new Error('Task\x20ID\x20is\x20required');const _0x500340=await fetch(API_BASE+'/tasks/'+_0x47c5b3+'/ibmi-sync-log');if(!_0x500340['ok']){const _0x2bd3d5=await _0x500340['json']()['catch'](()=>({}));throw new Error(_0x2bd3d5['error']||_0x2bd3d5['message']||'Failed\x20to\x20fetch\x20sync\x20log');}return await _0x500340['json']();},async 'pullChanges'(_0x4fe513){if(!_0x4fe513)throw new Error('Task\x20ID\x20is\x20required');const _0x1f8b2d=await fetch(API_BASE+'/tasks/'+_0x4fe513+'/pull-changes',{'method':'POST'});if(!_0x1f8b2d['ok']){const _0x5eee34=await _0x1f8b2d['json']()['catch'](()=>({}));throw new Error(_0x5eee34['error']||_0x5eee34['message']||'Failed\x20to\x20pull\x20changes:\x20'+_0x1f8b2d['statusText']);}return await _0x1f8b2d['json']();},async 'readFile'(_0xa8c335,_0x4ba381){if(!_0xa8c335)throw new Error('Task\x20ID\x20is\x20required');if(!_0x4ba381)throw new Error('File\x20path\x20is\x20required');const _0x5dc698=await fetch(API_BASE+'/tasks/'+_0xa8c335+'/files?path='+encodeURIComponent(_0x4ba381));if(!_0x5dc698['ok']){const _0xa0b927=await _0x5dc698['json']()['catch'](()=>({}));throw new Error(_0xa0b927['error']||_0xa0b927['message']||'Failed\x20to\x20read\x20file:\x20'+_0x5dc698['statusText']);}return await _0x5dc698['json']();},async 'writeFile'(_0xcb47a4,_0x4ec51f,_0x2e12a7){if(!_0xcb47a4)throw new Error('Task\x20ID\x20is\x20required');if(!_0x4ec51f)throw new Error('File\x20path\x20is\x20required');if(_0x2e12a7===undefined)throw new Error('Content\x20is\x20required');const _0x2749c8=await fetch(API_BASE+'/tasks/'+_0xcb47a4+'/files',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'path':_0x4ec51f,'content':_0x2e12a7})});if(!_0x2749c8['ok']){const _0x3d7952=await _0x2749c8['json']()['catch'](()=>({}));throw new Error(_0x3d7952['error']||_0x3d7952['message']||'Failed\x20to\x20write\x20file:\x20'+_0x2749c8['statusText']);}return await _0x2749c8['json']();},async 'discardFile'(_0x4f4797,_0xeb651d,_0x3d9c12){if(!_0x4f4797)throw new Error('Task\x20ID\x20is\x20required');if(!_0xeb651d)throw new Error('File\x20path\x20is\x20required');if(!_0x3d9c12)throw new Error('Repository\x20path\x20is\x20required');const _0x29ae40=await fetch(API_BASE+'/tasks/'+_0x4f4797+'/files/discard',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'path':_0xeb651d,'repoPath':_0x3d9c12})});if(!_0x29ae40['ok']){const _0x57bf99=await _0x29ae40['json']()['catch'](()=>({}));throw new Error(_0x57bf99['error']||_0x57bf99['message']||'Failed\x20to\x20discard\x20changes:\x20'+_0x29ae40['statusText']);}return await _0x29ae40['json']();},async 'followUpTask'(_0x38e937,_0xf96541={}){if(!_0x38e937)throw new Error('Task\x20ID\x20is\x20required');if(!_0xf96541['instructions'])throw new Error('Follow-up\x20instructions\x20are\x20required');let _0x443e88,_0x56b6ec={};if(_0xf96541['files']&&_0xf96541['files']['length']>0x0){const _0x4490ef=new FormData();_0x4490ef['append']('instructions',_0xf96541['instructions']);for(const _0x4c82d2 of _0xf96541['files']){_0x4490ef['append']('attachments',_0x4c82d2);}_0x443e88=_0x4490ef;}else _0x56b6ec['Content-Type']='application/json',_0x443e88=JSON['stringify']({'instructions':_0xf96541['instructions']});const _0x3fafd8=await fetch(API_BASE+'/tasks/'+_0x38e937+'/follow-up',{'method':'POST','headers':_0x56b6ec,'body':_0x443e88});if(!_0x3fafd8['ok']){const _0x36add3=await _0x3fafd8['json']()['catch'](()=>({}));throw new Error(_0x36add3['error']||_0x36add3['message']||'Failed\x20to\x20submit\x20follow-up:\x20'+_0x3fafd8['statusText']);}return await _0x3fafd8['json']();},async 'getTaskRewindPoints'(_0x2728b6){if(!_0x2728b6)throw new Error('Task\x20ID\x20is\x20required');const _0x1aa493=await fetch(API_BASE+'/tasks/'+_0x2728b6+'/rewind-points');if(!_0x1aa493['ok']){const _0x9fdd7d=await _0x1aa493['json']()['catch'](()=>({}));throw new Error(_0x9fdd7d['error']||_0x9fdd7d['message']||'Failed\x20to\x20fetch\x20rewind\x20points:\x20'+_0x1aa493['statusText']);}return await _0x1aa493['json']();},async 'rewindTask'(_0x34e467,_0x28ddc7={}){if(!_0x34e467)throw new Error('Task\x20ID\x20is\x20required');const _0x373ae3=Number['isInteger'](_0x28ddc7['targetFollowUpCount'])?_0x28ddc7['targetFollowUpCount']:0x0,_0x436159={'targetFollowUpCount':_0x373ae3};typeof _0x28ddc7['instructions']==='string'&&_0x28ddc7['instructions']['trim']()&&(_0x436159['instructions']=_0x28ddc7['instructions']['trim']());typeof _0x28ddc7['rewindFiles']==='boolean'&&(_0x436159['rewindFiles']=_0x28ddc7['rewindFiles']);const _0x14adec=await fetch(API_BASE+'/tasks/'+_0x34e467+'/rewind',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x436159)});if(!_0x14adec['ok']){const _0x309b79=await _0x14adec['json']()['catch'](()=>({}));throw new Error(_0x309b79['error']||_0x309b79['message']||'Failed\x20to\x20rewind\x20task:\x20'+_0x14adec['statusText']);}return await _0x14adec['json']();},async 'login'(_0x36b0fb,_0x3d061d){const _0xe20c0=await fetch(API_BASE+'/auth/login',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'username':_0x36b0fb,'password':_0x3d061d})});if(!_0xe20c0['ok']){const _0xe4053e=await _0xe20c0['json']();throw new Error(_0xe4053e['message']||'Login\x20failed');}return await _0xe20c0['json']();},async 'logout'(){const _0x16b8e5=await fetch(API_BASE+'/auth/logout',{'method':'POST'});if(!_0x16b8e5['ok']){const _0x1eb3b6=await _0x16b8e5['json']();throw new Error(_0x1eb3b6['message']||'Logout\x20failed');}return await _0x16b8e5['json']();},async 'getCurrentUser'(){const _0x2871aa=await fetch(API_BASE+'/auth/me');if(!_0x2871aa['ok'])throw new Error('Not\x20authenticated');const _0x3d3927=await _0x2871aa['json']();return _0x3d3927['user'];},async 'getRolesInfo'(){const _0x127f15=await fetch(API_BASE+'/users/roles');if(!_0x127f15['ok']){const _0x26e73d=await _0x127f15['json']();throw new Error(_0x26e73d['message']||'Failed\x20to\x20get\x20roles\x20info');}return await _0x127f15['json']();},async 'getUsers'(){const _0x470aaf=await fetch(API_BASE+'/users');if(!_0x470aaf['ok']){const _0x4d8ee3=await _0x470aaf['json']();throw new Error(_0x4d8ee3['message']||'Failed\x20to\x20get\x20users');}return await _0x470aaf['json']();},async 'getUser'(_0xf6cecb){const _0xd12665=await fetch(API_BASE+'/users/'+_0xf6cecb);if(!_0xd12665['ok']){const _0x44c2d5=await _0xd12665['json']();throw new Error(_0x44c2d5['message']||'Failed\x20to\x20get\x20user');}return await _0xd12665['json']();},async 'createUser'(_0x1f12cd){const _0x5a36d6=await fetch(API_BASE+'/users',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x1f12cd)});if(!_0x5a36d6['ok']){const _0x362f40=await _0x5a36d6['json']();throw new Error(_0x362f40['message']||'Failed\x20to\x20create\x20user');}return await _0x5a36d6['json']();},async 'updateUser'(_0x50bf03,_0x45f5bd){const _0x765b64=await fetch(API_BASE+'/users/'+_0x50bf03,{'method':'PUT','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x45f5bd)});if(!_0x765b64['ok']){const _0x47ed5a=await _0x765b64['json']();throw new Error(_0x47ed5a['message']||'Failed\x20to\x20update\x20user');}return await _0x765b64['json']();},async 'deleteUser'(_0x4466fa){const _0x10f571=await fetch(API_BASE+'/users/'+_0x4466fa,{'method':'DELETE'});if(!_0x10f571['ok']){const _0x24c0ee=await _0x10f571['json']();throw new Error(_0x24c0ee['message']||'Failed\x20to\x20delete\x20user');}return await _0x10f571['json']();},async 'stopAllContainers'(){const _0x2bf78b=await fetch(API_BASE+'/health/docker/stop-all',{'method':'POST'}),_0x4f3e2e=await _0x2bf78b['json']()['catch'](()=>({}));if(!_0x2bf78b['ok'])throw new Error(_0x4f3e2e['message']||_0x4f3e2e['error']||'Failed\x20to\x20stop\x20containers');return _0x4f3e2e;},async 'removeStoppedContainers'(){const _0x5576c4=await fetch(API_BASE+'/health/docker/remove-stopped',{'method':'POST'}),_0x3e87eb=await _0x5576c4['json']()['catch'](()=>({}));if(!_0x5576c4['ok'])throw new Error(_0x3e87eb['message']||_0x3e87eb['error']||'Failed\x20to\x20remove\x20stopped\x20containers');return _0x3e87eb;},async 'pruneDockerResources'(){const _0x6e6c02=await fetch(API_BASE+'/health/docker/prune',{'method':'POST'}),_0x40134d=await _0x6e6c02['json']()['catch'](()=>({}));if(!_0x6e6c02['ok'])throw new Error(_0x40134d['message']||_0x40134d['error']||'Failed\x20to\x20prune\x20Docker\x20resources');return _0x40134d;},async 'createPasswordToken'(_0x291acb,_0x52d1a1='setup',_0xcfd751=![]){const _0x414793=await fetch(API_BASE+'/password/create-token',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'userId':_0x291acb,'type':_0x52d1a1,'sendEmail':_0xcfd751})});if(!_0x414793['ok']){const _0x31b008=await _0x414793['json']();throw new Error(_0x31b008['error']||'Failed\x20to\x20create\x20password\x20token');}return await _0x414793['json']();},async 'getEmailConfig'(){const _0x1ee023=await fetch(API_BASE+'/password/email-config');if(!_0x1ee023['ok']){const _0x24242c=await _0x1ee023['json']();throw new Error(_0x24242c['error']||'Failed\x20to\x20get\x20email\x20configuration');}return await _0x1ee023['json']();},async 'updateTaskName'(_0x2625d9,_0x575756){const _0x2a4715=await fetch(API_BASE+'/tasks/'+_0x2625d9,{'method':'PATCH','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'name':_0x575756})});if(!_0x2a4715['ok']){const _0x7cfa70=await _0x2a4715['json']();throw new Error(_0x7cfa70['error']||'Failed\x20to\x20update\x20task\x20name');}return await _0x2a4715['json']();},async 'pinTask'(_0xd372ae,_0x202b36,_0x160e6e=null){if(!_0xd372ae)throw new Error('Task\x20ID\x20is\x20required');const _0x20d6e2={'pinned':_0x202b36};_0x160e6e&&_0x160e6e['length']>0x0&&(_0x20d6e2['additionalTaskIds']=_0x160e6e);const _0x291628=await fetch(API_BASE+'/tasks/'+_0xd372ae+'/pin',{'method':'PATCH','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x20d6e2)});if(!_0x291628['ok']){const _0x57a3f5=await _0x291628['json']();throw new Error(_0x57a3f5['error']||'Failed\x20to\x20pin\x20task');}return await _0x291628['json']();},async 'setTaskWinner'(_0x340c2b,_0x2cdeec,_0x5b5974=[]){if(!_0x340c2b)throw new Error('Task\x20ID\x20is\x20required');const _0x176c4c=await fetch(API_BASE+'/tasks/'+_0x340c2b+'/winner',{'method':'PATCH','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'isWinner':_0x2cdeec,'siblings':_0x5b5974})});if(!_0x176c4c['ok']){const _0xa93819=await _0x176c4c['json']();throw new Error(_0xa93819['error']||'Failed\x20to\x20update\x20winner\x20status');}return await _0x176c4c['json']();},async 'setTaskLoser'(_0x1c0523,_0x9be7bd){if(!_0x1c0523)throw new Error('Task\x20ID\x20is\x20required');const _0x4f4cd7=await fetch(API_BASE+'/tasks/'+_0x1c0523+'/loser',{'method':'PATCH','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'isLoser':_0x9be7bd})});if(!_0x4f4cd7['ok']){const _0x25a5c7=await _0x4f4cd7['json']();throw new Error(_0x25a5c7['error']||'Failed\x20to\x20update\x20loser\x20status');}return await _0x4f4cd7['json']();},async 'createTaskGroup'(_0x5c4c2c){const _0x55b1ea=await fetch(API_BASE+'/tasks/groups',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x5c4c2c)});if(!_0x55b1ea['ok']){const _0x22c88e=await _0x55b1ea['json']();throw new Error(_0x22c88e['error']||'Failed\x20to\x20create\x20task\x20group');}return await _0x55b1ea['json']();},async 'getTaskGroups'(_0x20ee6a={}){const _0xdf8128=new URLSearchParams();if(_0x20ee6a['userId'])_0xdf8128['set']('userId',String(_0x20ee6a['userId']));if(_0x20ee6a['status'])_0xdf8128['set']('status',String(_0x20ee6a['status']));if(_0x20ee6a['limit'])_0xdf8128['set']('limit',String(_0x20ee6a['limit']));const _0x2989c1=API_BASE+'/tasks/groups'+(_0xdf8128['toString']()?'?'+_0xdf8128['toString']():''),_0x33351e=await fetch(_0x2989c1);if(!_0x33351e['ok'])throw new Error('Failed\x20to\x20fetch\x20task\x20groups');return await _0x33351e['json']();},async 'getTaskGroup'(_0x35b204){const _0x4f188f=await fetch(API_BASE+'/tasks/groups/'+_0x35b204);if(!_0x4f188f['ok']){const _0x1eee8c=await _0x4f188f['json']();throw new Error(_0x1eee8c['error']||'Failed\x20to\x20fetch\x20task\x20group');}return await _0x4f188f['json']();},async 'updateTaskGroup'(_0x3cde80,_0x126584,_0x1b973c){const _0x3d72fb=await fetch(API_BASE+'/tasks/'+_0x3cde80+'/group',{'method':'PATCH','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'groupId':_0x126584,'groupIndex':_0x1b973c})});if(!_0x3d72fb['ok']){const _0x5e989b=await _0x3d72fb['json']();throw new Error(_0x5e989b['error']||'Failed\x20to\x20update\x20task\x20group');}return await _0x3d72fb['json']();},async 'removeTaskFromGroup'(_0x24744c){return this['updateTaskGroup'](_0x24744c,null,null);},async 'deleteTaskGroup'(_0xac4913,_0x4651bf=![]){const _0x4f4806=_0x4651bf?'?deleteTasks=true':'',_0x3c65bc=await fetch(API_BASE+'/tasks/groups/'+_0xac4913+_0x4f4806,{'method':'DELETE'});if(!_0x3c65bc['ok']){const _0x3c5786=await _0x3c65bc['json']();throw new Error(_0x3c5786['error']||'Failed\x20to\x20delete\x20task\x20group');}return!![];},async 'setGroupWinner'(_0x206f56,_0x5005d6){const _0x50663e=await fetch(API_BASE+'/tasks/groups/'+_0x206f56+'/winner',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'taskId':_0x5005d6})});if(!_0x50663e['ok']){const _0x6c2d57=await _0x50663e['json']();throw new Error(_0x6c2d57['error']||'Failed\x20to\x20set\x20group\x20winner');}return await _0x50663e['json']();},'generateGroupId'(){return'g-'+Date['now']()+'-'+Math['random']()['toString'](0x24)['substr'](0x2,0x9);},async 'getComments'(_0x151fc6){if(!_0x151fc6)throw new Error('Task\x20ID\x20is\x20required');const _0x16ffaa=await fetch(API_BASE+'/tasks/'+_0x151fc6+'/comments');if(!_0x16ffaa['ok']){const _0x5bc483=await _0x16ffaa['json']()['catch'](()=>({}));throw new Error(_0x5bc483['error']||'Failed\x20to\x20get\x20comments');}return await _0x16ffaa['json']();},async 'addComment'(_0x556858,_0x1fa280){if(!_0x556858)throw new Error('Task\x20ID\x20is\x20required');if(!_0x1fa280)throw new Error('Comment\x20content\x20is\x20required');const _0x1b4394=await fetch(API_BASE+'/tasks/'+_0x556858+'/comments',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'content':_0x1fa280})});if(!_0x1b4394['ok']){const _0x296796=await _0x1b4394['json']()['catch'](()=>({}));throw new Error(_0x296796['error']||'Failed\x20to\x20add\x20comment');}return await _0x1b4394['json']();},async 'updateComment'(_0x225800,_0x532e1d,_0x245049){if(!_0x225800)throw new Error('Task\x20ID\x20is\x20required');if(!_0x532e1d)throw new Error('Comment\x20ID\x20is\x20required');if(!_0x245049)throw new Error('Comment\x20content\x20is\x20required');const _0x4d838c=await fetch(API_BASE+'/tasks/'+_0x225800+'/comments/'+_0x532e1d,{'method':'PATCH','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'content':_0x245049})});if(!_0x4d838c['ok']){const _0x256473=await _0x4d838c['json']()['catch'](()=>({}));throw new Error(_0x256473['error']||'Failed\x20to\x20update\x20comment');}return await _0x4d838c['json']();},async 'deleteComment'(_0x1c0364,_0x4c0f5f){if(!_0x1c0364)throw new Error('Task\x20ID\x20is\x20required');if(!_0x4c0f5f)throw new Error('Comment\x20ID\x20is\x20required');const _0x56f277=await fetch(API_BASE+'/tasks/'+_0x1c0364+'/comments/'+_0x4c0f5f,{'method':'DELETE'});if(!_0x56f277['ok']){const _0x173822=await _0x56f277['json']()['catch'](()=>({}));throw new Error(_0x173822['error']||'Failed\x20to\x20delete\x20comment');}return await _0x56f277['json']();},async 'createObjective'(_0x1ffaac){const _0x25a3f9={'objective':!![],'name':_0x1ffaac['name']||'','environment':_0x1ffaac['environment']||null,'agents':_0x1ffaac['agents']||[],'branches':_0x1ffaac['branches']||{},'isPinned':_0x1ffaac['isPinned']||![],'parentObjectiveId':_0x1ffaac['parentObjectiveId']||null,'env_vars':_0x1ffaac['envVars']||{},'parameters':{'instructions':_0x1ffaac['instructions']||''},'files':_0x1ffaac['files']||[],'jira':_0x1ffaac['jira']||null};return this['createTask'](_0x25a3f9);},async 'updateObjective'(_0x1ed3ee,_0x21c25a,_0x469a34=[],_0x4d5205=[]){let _0x20bdba,_0x5e6381={};const _0x25c0c3={..._0x21c25a};_0x4d5205&&_0x4d5205['length']>0x0&&(_0x25c0c3['removeAttachments']=_0x4d5205);if(_0x469a34&&_0x469a34['length']>0x0){const _0x5f9c4b=new FormData();for(const [_0x32702c,_0x392259]of Object['entries'](_0x25c0c3)){if(_0x392259==null)continue;typeof _0x392259==='object'?_0x5f9c4b['append'](_0x32702c,JSON['stringify'](_0x392259)):_0x5f9c4b['append'](_0x32702c,String(_0x392259));}for(const _0x31d248 of _0x469a34){_0x5f9c4b['append']('attachments',_0x31d248);}_0x20bdba=_0x5f9c4b;}else _0x5e6381['Content-Type']='application/json',_0x20bdba=JSON['stringify'](_0x25c0c3);const _0x2a3320=await fetch(API_BASE+'/tasks/'+_0x1ed3ee,{'method':'PATCH','headers':_0x5e6381,'body':_0x20bdba});if(!_0x2a3320['ok']){const _0x18e5d1=await _0x2a3320['json']();throw new Error(_0x18e5d1['error']||'Failed\x20to\x20update\x20objective');}return await _0x2a3320['json']();},async 'deleteObjective'(_0x5acca5){return this['deleteTask'](_0x5acca5);},async 'launchObjective'(_0x17b477,_0x548d38={}){const _0xeaa26e=await fetch(API_BASE+'/tasks/'+_0x17b477+'/launch',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x548d38)});if(!_0xeaa26e['ok']){const _0x3f0f8e=await _0xeaa26e['json']();throw new Error(_0x3f0f8e['error']||'Failed\x20to\x20launch\x20objective');}return await _0xeaa26e['json']();},async 'getObjectiveAttachments'(_0xfa1989){return this['getTaskAttachments'](_0xfa1989);},async 'createJudgeTask'({environment:_0x3db416,judgeAgent:_0x5298cc,groupId:_0x141324,taskIds:_0x5c644e,judgeCustomInstructions:_0x3e3ac3,isPinned:_0x754f4}){const _0xb234f5=await fetch(API_BASE+'/tasks/judge',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'environment':_0x3db416,'judgeAgent':_0x5298cc,'groupId':_0x141324,'taskIds':_0x5c644e,'judgeCustomInstructions':_0x3e3ac3,'isPinned':_0x754f4})});if(!_0xb234f5['ok']){const _0x62701f=await _0xb234f5['json']();throw new Error(_0x62701f['error']||'Failed\x20to\x20create\x20judge\x20task');}return await _0xb234f5['json']();},async 'getJudgeTasks'(_0x1ecff2){const _0x34e40=await fetch(API_BASE+'/tasks/judge?groupId='+encodeURIComponent(_0x1ecff2));if(!_0x34e40['ok']){const _0x5943e7=await _0x34e40['json']();throw new Error(_0x5943e7['error']||'Failed\x20to\x20fetch\x20judge\x20tasks');}return await _0x34e40['json']();},async 'sendJudgeFeedbackAsFollowUp'(_0x81d33e,_0x244806,_0x55a658=''){const _0x1e6564=await fetch(API_BASE+'/tasks/'+_0x81d33e+'/follow-up-from-judge',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'judgeTaskId':_0x244806,'customPreamble':_0x55a658})});if(!_0x1e6564['ok']){const _0x10abad=await _0x1e6564['json']();throw new Error(_0x10abad['error']||'Failed\x20to\x20send\x20judge\x20feedback');}return await _0x1e6564['json']();},async 'getJiraConfig'(){const _0x34d62d=await fetch(API_BASE+'/jira/config');if(!_0x34d62d['ok'])throw new Error('Failed\x20to\x20get\x20Jira\x20configuration');return await _0x34d62d['json']();},async 'getJiraIssue'(_0x4fca34){const _0x4e552b=await fetch(API_BASE+'/jira/issues/'+_0x4fca34);if(!_0x4e552b['ok']){const _0x517a62=await _0x4e552b['json']()['catch'](()=>({}));throw new Error(_0x517a62['message']||'Failed\x20to\x20fetch\x20Jira\x20issue:\x20'+_0x4e552b['statusText']);}return await _0x4e552b['json']();},async 'searchJiraIssues'(_0x552ddf,_0x39750d=0x14){const _0x4d2b9f=await fetch(API_BASE+'/jira/search',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'query':_0x552ddf,'maxResults':_0x39750d})});if(!_0x4d2b9f['ok']){const _0x2aabcb=await _0x4d2b9f['json']()['catch'](()=>({}));throw new Error(_0x2aabcb['message']||'Failed\x20to\x20search\x20Jira\x20issues:\x20'+_0x4d2b9f['statusText']);}return await _0x4d2b9f['json']();},async 'postJiraComment'(_0x22e508,_0x574362){const _0x4b4f61=await fetch(API_BASE+'/jira/issues/'+_0x22e508+'/comment',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'comment':_0x574362})});if(!_0x4b4f61['ok']){const _0x1ab3e0=await _0x4b4f61['json']()['catch'](()=>({}));throw new Error(_0x1ab3e0['message']||'Failed\x20to\x20post\x20comment\x20to\x20Jira:\x20'+_0x4b4f61['statusText']);}return await _0x4b4f61['json']();},async 'getJiraComments'(_0x3ab14a){const _0x2335b8=await fetch(API_BASE+'/jira/issues/'+_0x3ab14a+'/comments');if(!_0x2335b8['ok']){const _0x715b58=await _0x2335b8['json']()['catch'](()=>({}));throw new Error(_0x715b58['message']||'Failed\x20to\x20fetch\x20Jira\x20comments:\x20'+_0x2335b8['statusText']);}return await _0x2335b8['json']();},async 'promptParameter'({environment:_0x3b2de5,command:_0x4d7658,parser:parser='json'}){const _0x4c337a=await fetch(API_BASE+'/prompt-parameter',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'environment':_0x3b2de5,'command':_0x4d7658,'parser':parser})});if(!_0x4c337a['ok']){const _0x1e9cde=await _0x4c337a['json']()['catch'](()=>({}));throw new Error(_0x1e9cde['message']||_0x1e9cde['error']||'Failed\x20to\x20fetch\x20prompt\x20choices:\x20'+_0x4c337a['statusText']);}return await _0x4c337a['json']();},async 'promptParameterStream'(_0x5c9bc9,_0x19d68e){const _0x1ec387=await fetch(API_BASE+'/prompt-parameter/stream',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x5c9bc9)});if(!_0x1ec387['ok'])throw new Error('Failed\x20to\x20start\x20prompt\x20stream:\x20'+_0x1ec387['statusText']);const _0x34ffa9=_0x1ec387['body']['getReader'](),_0x5d6b74=new TextDecoder();let _0x17e913='';return new Promise((_0xb1efbf,_0x529711)=>{const _0x511719=async()=>{try{const {done:_0x17e017,value:_0xa5049e}=await _0x34ffa9['read']();if(_0x17e017)return;_0x17e913+=_0x5d6b74['decode'](_0xa5049e,{'stream':!![]});const _0x3892d7=_0x17e913['split']('\x0a\x0a');_0x17e913=_0x3892d7['pop']()||'';for(const _0x2d65d3 of _0x3892d7){if(!_0x2d65d3['trim']())continue;const _0x330c71=_0x2d65d3['split']('\x0a');let _0x152f72='message',_0x2e25a5='';for(const _0x25ccec of _0x330c71){if(_0x25ccec['startsWith']('event:'))_0x152f72=_0x25ccec['substring'](0x6)['trim']();else _0x25ccec['startsWith']('data:')&&(_0x2e25a5=_0x25ccec['substring'](0x5)['trim']());}if(!_0x2e25a5)continue;try{const _0x378424=JSON['parse'](_0x2e25a5);if(_0x152f72==='progress'&&_0x19d68e)_0x19d68e(_0x378424['stage'],_0x378424['message']);else{if(_0x152f72==='result'){_0xb1efbf(_0x378424);return;}else{if(_0x152f72==='error'){let _0x11c8f7=_0x378424['message']||_0x378424['error']||'Prompt\x20command\x20failed';_0x378424['rawOutput']&&(_0x11c8f7+='\x0a\x0aRaw\x20output:\x0a'+_0x378424['rawOutput']);_0x529711(new Error(_0x11c8f7));return;}}}}catch(_0x939394){console['error']('Failed\x20to\x20parse\x20SSE\x20event\x20data:',_0x939394),console['error']('Event\x20type:',_0x152f72),console['error']('Event\x20data:',_0x2e25a5),console['error']('First\x20200\x20chars:',_0x2e25a5['substring'](0x0,0xc8)),_0x529711(new Error('Failed\x20to\x20parse\x20SSE\x20data:\x20'+_0x939394['message']+'\x0a\x0aData:\x20'+_0x2e25a5['substring'](0x0,0x1f4)));return;}}_0x511719();}catch(_0x46401b){_0x529711(_0x46401b);}};_0x511719();});},'getBaseUrl'(){return API_BASE;},async 'get'(_0x51acdc){const _0x3f4b0a=await fetch(''+API_BASE+_0x51acdc);if(!_0x3f4b0a['ok']){const _0x5ee781=await _0x3f4b0a['json']()['catch'](()=>({'error':_0x3f4b0a['statusText']})),_0x3aed95=new Error(_0x5ee781['error']||_0x5ee781['message']||_0x3f4b0a['statusText']);if(_0x5ee781['detail']!==undefined)_0x3aed95['detail']=_0x5ee781['detail'];throw _0x3aed95;}return await _0x3f4b0a['json']();},async 'post'(_0x5cb447,_0x15e283){const _0x3d9d56=await fetch(''+API_BASE+_0x5cb447,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x15e283)});if(!_0x3d9d56['ok']){const _0x404aef=await _0x3d9d56['json']()['catch'](()=>({'error':_0x3d9d56['statusText']})),_0x504e46=new Error(_0x404aef['error']||_0x404aef['message']||_0x3d9d56['statusText']);if(_0x404aef['detail']!==undefined)_0x504e46['detail']=_0x404aef['detail'];throw _0x504e46;}return await _0x3d9d56['json']();},async 'put'(_0x2d6f7e,_0x25275c){const _0x45409d=await fetch(''+API_BASE+_0x2d6f7e,{'method':'PUT','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x25275c)});if(!_0x45409d['ok']){const _0x4d5f88=await _0x45409d['json']()['catch'](()=>({'error':_0x45409d['statusText']})),_0x314177=new Error(_0x4d5f88['error']||_0x4d5f88['message']||_0x45409d['statusText']);if(_0x4d5f88['detail']!==undefined)_0x314177['detail']=_0x4d5f88['detail'];throw _0x314177;}return await _0x45409d['json']();},async 'delete'(_0x40df91,_0xbce3f){const _0x46abe6={'method':'DELETE'};_0xbce3f&&(_0x46abe6['headers']={'Content-Type':'application/json'},_0x46abe6['body']=JSON['stringify'](_0xbce3f));const _0x186f9a=await fetch(''+API_BASE+_0x40df91,_0x46abe6);if(!_0x186f9a['ok']){const _0x293114=await _0x186f9a['json']()['catch'](()=>({'error':_0x186f9a['statusText']})),_0x506ea3=new Error(_0x293114['error']||_0x293114['message']||_0x186f9a['statusText']);if(_0x293114['detail']!==undefined)_0x506ea3['detail']=_0x293114['detail'];throw _0x506ea3;}return await _0x186f9a['json']();},async 'getSkills'(){const _0x67ea7=await fetch(API_BASE+'/skills');if(!_0x67ea7['ok'])throw new Error('Failed\x20to\x20fetch\x20skills:\x20'+_0x67ea7['statusText']);return await _0x67ea7['json']();},async 'getSkill'(_0x35f093){const _0x31c451=await fetch(API_BASE+'/skills/'+encodeURIComponent(_0x35f093));if(!_0x31c451['ok'])throw new Error('Failed\x20to\x20fetch\x20skill:\x20'+_0x31c451['statusText']);return await _0x31c451['json']();},async 'createSkill'(_0x77a3b8){const _0x288b07=await fetch(API_BASE+'/skills',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x77a3b8)});if(!_0x288b07['ok']){const _0x313bc2=await _0x288b07['json']()['catch'](()=>({'error':_0x288b07['statusText']})),_0x50dc54=new Error(_0x313bc2['error']||_0x313bc2['message']||_0x288b07['statusText']);if(_0x313bc2['detail']!==undefined)_0x50dc54['detail']=_0x313bc2['detail'];throw _0x50dc54;}return await _0x288b07['json']();},async 'updateSkill'(_0x46343b,_0x2c40e1){const _0x51c7eb=await fetch(API_BASE+'/skills/'+encodeURIComponent(_0x46343b),{'method':'PUT','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x2c40e1)});if(!_0x51c7eb['ok']){const _0x21f06f=await _0x51c7eb['json']()['catch'](()=>({'error':_0x51c7eb['statusText']})),_0x2ead63=new Error(_0x21f06f['error']||_0x21f06f['message']||_0x51c7eb['statusText']);if(_0x21f06f['detail']!==undefined)_0x2ead63['detail']=_0x21f06f['detail'];throw _0x2ead63;}return await _0x51c7eb['json']();},async 'deleteSkill'(_0x12db84){const _0x1d03e2=await fetch(API_BASE+'/skills/'+encodeURIComponent(_0x12db84),{'method':'DELETE'});if(!_0x1d03e2['ok']){const _0x1edaa7=await _0x1d03e2['json']()['catch'](()=>({'error':_0x1d03e2['statusText']})),_0x1628f4=new Error(_0x1edaa7['error']||_0x1edaa7['message']||_0x1d03e2['statusText']);if(_0x1edaa7['detail']!==undefined)_0x1628f4['detail']=_0x1edaa7['detail'];throw _0x1628f4;}return await _0x1d03e2['json']();},async 'getSkillFile'(_0x2d4130,_0x47865a){const _0x21e74e=await fetch(API_BASE+'/skills/'+encodeURIComponent(_0x2d4130)+'/files/'+_0x47865a);if(!_0x21e74e['ok'])throw new Error('Failed\x20to\x20fetch\x20skill\x20file:\x20'+_0x21e74e['statusText']);return await _0x21e74e['json']();},async 'saveSkillFile'(_0xcdaaad,_0x4e6bf2,_0x1b4a54){const _0x1fc5a5=await fetch(API_BASE+'/skills/'+encodeURIComponent(_0xcdaaad)+'/files/'+_0x4e6bf2,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'content':_0x1b4a54})});if(!_0x1fc5a5['ok']){const _0xcc0f9d=await _0x1fc5a5['json']()['catch'](()=>({'error':_0x1fc5a5['statusText']})),_0x29b76e=new Error(_0xcc0f9d['error']||_0xcc0f9d['message']||_0x1fc5a5['statusText']);if(_0xcc0f9d['detail']!==undefined)_0x29b76e['detail']=_0xcc0f9d['detail'];throw _0x29b76e;}return await _0x1fc5a5['json']();},async 'deleteSkillFile'(_0x5cd345,_0x2a8a12){const _0x1abdf7=await fetch(API_BASE+'/skills/'+encodeURIComponent(_0x5cd345)+'/files/'+_0x2a8a12,{'method':'DELETE'});if(!_0x1abdf7['ok']){const _0x201dfc=await _0x1abdf7['json']()['catch'](()=>({'error':_0x1abdf7['statusText']})),_0x3a0222=new Error(_0x201dfc['error']||_0x201dfc['message']||_0x1abdf7['statusText']);if(_0x201dfc['detail']!==undefined)_0x3a0222['detail']=_0x201dfc['detail'];throw _0x3a0222;}return await _0x1abdf7['json']();},async 'pullSkills'(){const _0x22ba51=await fetch(API_BASE+'/skills/git/pull',{'method':'POST'});if(!_0x22ba51['ok']){const _0x5b53bb=await _0x22ba51['json']()['catch'](()=>({'error':_0x22ba51['statusText']})),_0x8301f8=new Error(_0x5b53bb['error']||_0x5b53bb['message']||_0x22ba51['statusText']);if(_0x5b53bb['detail']!==undefined)_0x8301f8['detail']=_0x5b53bb['detail'];throw _0x8301f8;}return await _0x22ba51['json']();},async 'commitSkills'(_0x3eceb7,_0xc0987={}){const {push:push=!![],pullFirst:pullFirst=!![],scope:scope='skills'}=_0xc0987,_0x18e528=await fetch(API_BASE+'/skills/git/commit',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'message':_0x3eceb7,'push':push,'pullFirst':pullFirst,'scope':scope})});if(!_0x18e528['ok']){const _0x245074=await _0x18e528['json']()['catch'](()=>({'error':_0x18e528['statusText']})),_0x18ddc5=new Error(_0x245074['error']||_0x245074['message']||_0x18e528['statusText']);if(_0x245074['detail']!==undefined)_0x18ddc5['detail']=_0x245074['detail'];throw _0x18ddc5;}return await _0x18e528['json']();},async 'discardSkillsChanges'(){const _0x427c23=await fetch(API_BASE+'/skills/git/discard',{'method':'POST'});if(!_0x427c23['ok']){const _0x2c2b07=await _0x427c23['json']()['catch'](()=>({'error':_0x427c23['statusText']})),_0x2b958a=new Error(_0x2c2b07['error']||_0x2c2b07['message']||_0x427c23['statusText']);if(_0x2c2b07['detail']!==undefined)_0x2b958a['detail']=_0x2c2b07['detail'];throw _0x2b958a;}return await _0x427c23['json']();},async 'getSkillCatalog'(){const _0x540433=await fetch(API_BASE+'/external-skills/catalog');if(!_0x540433['ok'])throw new Error('Failed\x20to\x20fetch\x20skill\x20catalog:\x20'+_0x540433['statusText']);return await _0x540433['json']();},async 'getImportedSkillsRegistry'(){const _0x28db0d=await fetch(API_BASE+'/external-skills/registry');if(!_0x28db0d['ok'])throw new Error('Failed\x20to\x20fetch\x20imported\x20skills\x20registry:\x20'+_0x28db0d['statusText']);return await _0x28db0d['json']();},async 'importCatalogSkill'(_0x354de5){const _0x3ce3f1=await fetch(API_BASE+'/external-skills/import/catalog',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'skillId':_0x354de5})});if(!_0x3ce3f1['ok']){const _0x4bf753=await _0x3ce3f1['json']()['catch'](()=>({'error':_0x3ce3f1['statusText']})),_0x5f2d1e=new Error(_0x4bf753['error']||_0x4bf753['message']||_0x3ce3f1['statusText']);if(_0x4bf753['detail']!==undefined)_0x5f2d1e['detail']=_0x4bf753['detail'];throw _0x5f2d1e;}return await _0x3ce3f1['json']();},async 'importSkillFromGit'(_0x43e56a,_0x1f4f77,_0x27adaf='main',_0x3700de=null){const _0x27764e=await fetch(API_BASE+'/external-skills/import/git',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'repoUrl':_0x43e56a,'skillPath':_0x1f4f77,'branch':_0x27adaf,'skillId':_0x3700de})});if(!_0x27764e['ok']){const _0x31a7e7=await _0x27764e['json']()['catch'](()=>({'error':_0x27764e['statusText']})),_0x510644=new Error(_0x31a7e7['error']||_0x31a7e7['message']||_0x27764e['statusText']);if(_0x31a7e7['detail']!==undefined)_0x510644['detail']=_0x31a7e7['detail'];throw _0x510644;}return await _0x27764e['json']();},async 'probeMarketplace'(_0x16ad96,_0x4dc4b5='main'){const _0x425755=await fetch(API_BASE+'/external-skills/probe-marketplace',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'repoUrl':_0x16ad96,'branch':_0x4dc4b5})});if(!_0x425755['ok']){const _0x2af1ca=await _0x425755['json']()['catch'](()=>({'error':_0x425755['statusText']})),_0x4a4bd8=new Error(_0x2af1ca['error']||_0x2af1ca['message']||_0x425755['statusText']);if(_0x2af1ca['detail']!==undefined)_0x4a4bd8['detail']=_0x2af1ca['detail'];throw _0x4a4bd8;}return await _0x425755['json']();},async 'importMarketplaceBundle'(_0x3a5efd,_0x2f01a1,_0x51b797,_0x324ed9=null){const _0x5a9cfc=await fetch(API_BASE+'/external-skills/import/marketplace-bundle',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'repoUrl':_0x3a5efd,'branch':_0x2f01a1,'bundleId':_0x51b797,'selectedSkills':_0x324ed9})});if(!_0x5a9cfc['ok']){const _0x368ea1=await _0x5a9cfc['json']()['catch'](()=>({'error':_0x5a9cfc['statusText']})),_0x3b63a4=new Error(_0x368ea1['error']||_0x368ea1['message']||_0x5a9cfc['statusText']);if(_0x368ea1['detail']!==undefined)_0x3b63a4['detail']=_0x368ea1['detail'];throw _0x3b63a4;}return await _0x5a9cfc['json']();},async 'importSkillFromFolder'(_0x51381f,_0x1b0faa=null){const _0x51f431=await fetch(API_BASE+'/external-skills/import/folder',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'folderPath':_0x51381f,'skillId':_0x1b0faa})});if(!_0x51f431['ok']){const _0x4850=await _0x51f431['json']()['catch'](()=>({'error':_0x51f431['statusText']})),_0x4ee386=new Error(_0x4850['error']||_0x4850['message']||_0x51f431['statusText']);if(_0x4850['detail']!==undefined)_0x4ee386['detail']=_0x4850['detail'];throw _0x4ee386;}return await _0x51f431['json']();},async 'importSkillFromNpm'(_0x2b6b18,_0xa3ddb='latest',_0x1edfa1=null,_0x18767e=null){const _0x103982=await fetch(API_BASE+'/external-skills/import/npm',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'packageName':_0x2b6b18,'version':_0xa3ddb,'skillId':_0x1edfa1,'registry':_0x18767e})});if(!_0x103982['ok']){const _0x18e184=await _0x103982['json']()['catch'](()=>({'error':_0x103982['statusText']})),_0x15d502=new Error(_0x18e184['error']||_0x18e184['message']||_0x103982['statusText']);if(_0x18e184['detail']!==undefined)_0x15d502['detail']=_0x18e184['detail'];throw _0x15d502;}return await _0x103982['json']();},async 'checkSkillUpdates'(_0x5f2964){const _0x9c0b70=await fetch(API_BASE+'/external-skills/'+encodeURIComponent(_0x5f2964)+'/check-updates',{'method':'POST'});if(!_0x9c0b70['ok']){const _0x17ad32=await _0x9c0b70['json']()['catch'](()=>({'error':_0x9c0b70['statusText']})),_0x2f09b5=new Error(_0x17ad32['error']||_0x17ad32['message']||_0x9c0b70['statusText']);if(_0x17ad32['detail']!==undefined)_0x2f09b5['detail']=_0x17ad32['detail'];throw _0x2f09b5;}return await _0x9c0b70['json']();},async 'updateExternalSkill'(_0x2f825e){const _0x2b9c7e=await fetch(API_BASE+'/external-skills/'+encodeURIComponent(_0x2f825e)+'/update',{'method':'POST'});if(!_0x2b9c7e['ok']){const _0x275c59=await _0x2b9c7e['json']()['catch'](()=>({'error':_0x2b9c7e['statusText']})),_0x26c9c2=new Error(_0x275c59['error']||_0x275c59['message']||_0x2b9c7e['statusText']);if(_0x275c59['detail']!==undefined)_0x26c9c2['detail']=_0x275c59['detail'];throw _0x26c9c2;}return await _0x2b9c7e['json']();},async 'updateSkillFlags'(_0xe0d083,_0x353b31){const _0x2f9301=await fetch(API_BASE+'/external-skills/'+encodeURIComponent(_0xe0d083)+'/flags',{'method':'PUT','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'flags':_0x353b31})});if(!_0x2f9301['ok']){const _0x5eba38=await _0x2f9301['json']()['catch'](()=>({'error':_0x2f9301['statusText']})),_0xdd6665=new Error(_0x5eba38['error']||_0x5eba38['message']||_0x2f9301['statusText']);if(_0x5eba38['detail']!==undefined)_0xdd6665['detail']=_0x5eba38['detail'];throw _0xdd6665;}return await _0x2f9301['json']();},async 'removeFromImportedRegistry'(_0x28bae1){const _0x292df5=await fetch(API_BASE+'/external-skills/'+encodeURIComponent(_0x28bae1)+'/registry',{'method':'DELETE'});if(!_0x292df5['ok']){const _0x425999=await _0x292df5['json']()['catch'](()=>({'error':_0x292df5['statusText']})),_0x532caf=new Error(_0x425999['error']||_0x425999['message']||_0x292df5['statusText']);if(_0x425999['detail']!==undefined)_0x532caf['detail']=_0x425999['detail'];throw _0x532caf;}return await _0x292df5['json']();},async 'getTeams'(){const _0x410c23=await fetch(API_BASE+'/teams');if(!_0x410c23['ok']){const _0x38836b=await _0x410c23['json']()['catch'](()=>({'message':_0x410c23['statusText']}));throw new Error(_0x38836b['message']||'Failed\x20to\x20get\x20teams');}return await _0x410c23['json']();},async 'getTeam'(_0x15ab29){const _0x119900=await fetch(API_BASE+'/teams/'+encodeURIComponent(_0x15ab29));if(!_0x119900['ok']){const _0x242c42=await _0x119900['json']()['catch'](()=>({'message':_0x119900['statusText']}));throw new Error(_0x242c42['message']||'Failed\x20to\x20get\x20team');}return await _0x119900['json']();},async 'createTeam'(_0x1d5f87){const _0x2a9813=await fetch(API_BASE+'/teams',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x1d5f87)});if(!_0x2a9813['ok']){const _0x304cff=await _0x2a9813['json']()['catch'](()=>({'message':_0x2a9813['statusText']}));throw new Error(_0x304cff['message']||'Failed\x20to\x20create\x20team');}return await _0x2a9813['json']();},async 'updateTeam'(_0x26bc35,_0xba8106){const _0x3353d7=await fetch(API_BASE+'/teams/'+encodeURIComponent(_0x26bc35),{'method':'PUT','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0xba8106)});if(!_0x3353d7['ok']){const _0x14c63d=await _0x3353d7['json']()['catch'](()=>({'message':_0x3353d7['statusText']}));throw new Error(_0x14c63d['message']||'Failed\x20to\x20update\x20team');}return await _0x3353d7['json']();},async 'deleteTeam'(_0x369bf9){const _0x1ad983=await fetch(API_BASE+'/teams/'+encodeURIComponent(_0x369bf9),{'method':'DELETE'});if(!_0x1ad983['ok']){const _0x194cd7=await _0x1ad983['json']()['catch'](()=>({'message':_0x1ad983['statusText']}));throw new Error(_0x194cd7['message']||'Failed\x20to\x20delete\x20team');}return await _0x1ad983['json']();},async 'addTeamMember'(_0x2cd1e1,_0xbe8fe1){const _0x29adc7=await fetch(API_BASE+'/teams/'+encodeURIComponent(_0x2cd1e1)+'/members',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'userId':_0xbe8fe1})});if(!_0x29adc7['ok']){const _0xd4b0f1=await _0x29adc7['json']()['catch'](()=>({'message':_0x29adc7['statusText']}));throw new Error(_0xd4b0f1['message']||'Failed\x20to\x20add\x20team\x20member');}return await _0x29adc7['json']();},async 'removeTeamMember'(_0x19b34f,_0x2f68e5){const _0x589eaa=await fetch(API_BASE+'/teams/'+encodeURIComponent(_0x19b34f)+'/members/'+encodeURIComponent(_0x2f68e5),{'method':'DELETE'});if(!_0x589eaa['ok']){const _0x4304a5=await _0x589eaa['json']()['catch'](()=>({'message':_0x589eaa['statusText']}));throw new Error(_0x4304a5['message']||'Failed\x20to\x20remove\x20team\x20member');}return await _0x589eaa['json']();},async 'getBindings'(_0x6b8d61={}){const _0x143ceb=new URLSearchParams();if(_0x6b8d61['resource_type'])_0x143ceb['set']('resource_type',_0x6b8d61['resource_type']);if(_0x6b8d61['resource_id'])_0x143ceb['set']('resource_id',_0x6b8d61['resource_id']);if(_0x6b8d61['subject_type'])_0x143ceb['set']('subject_type',_0x6b8d61['subject_type']);if(_0x6b8d61['subject_id'])_0x143ceb['set']('subject_id',_0x6b8d61['subject_id']);const _0x2ac833=_0x143ceb['toString'](),_0x4613f3=await fetch(API_BASE+'/bindings'+(_0x2ac833?'?'+_0x2ac833:''));if(!_0x4613f3['ok']){const _0x351731=await _0x4613f3['json']()['catch'](()=>({'message':_0x4613f3['statusText']}));throw new Error(_0x351731['message']||'Failed\x20to\x20get\x20bindings');}return await _0x4613f3['json']();},async 'createBinding'(_0x39af21){const _0x43704c=await fetch(API_BASE+'/bindings',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x39af21)});if(!_0x43704c['ok']){const _0x178a96=await _0x43704c['json']()['catch'](()=>({'message':_0x43704c['statusText']}));throw new Error(_0x178a96['message']||'Failed\x20to\x20create\x20binding');}return await _0x43704c['json']();},async 'updateBinding'(_0x529837,_0x359d56){const _0x228bf8=await fetch(API_BASE+'/bindings/'+encodeURIComponent(_0x529837),{'method':'PUT','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x359d56)});if(!_0x228bf8['ok']){const _0x3d14fe=await _0x228bf8['json']()['catch'](()=>({'message':_0x228bf8['statusText']}));throw new Error(_0x3d14fe['message']||'Failed\x20to\x20update\x20binding');}return await _0x228bf8['json']();},async 'deleteBinding'(_0x86f0ec){const _0x371360=await fetch(API_BASE+'/bindings/'+encodeURIComponent(_0x86f0ec),{'method':'DELETE'});if(!_0x371360['ok']){const _0x1ffe72=await _0x371360['json']()['catch'](()=>({'message':_0x371360['statusText']}));throw new Error(_0x1ffe72['message']||'Failed\x20to\x20delete\x20binding');}return await _0x371360['json']();},async 'getRoleDefinitions'(){const _0x4a90d8=await fetch(API_BASE+'/roles');if(!_0x4a90d8['ok']){const _0x96c493=await _0x4a90d8['json']()['catch'](()=>({'message':_0x4a90d8['statusText']}));throw new Error(_0x96c493['message']||'Failed\x20to\x20get\x20role\x20definitions');}return await _0x4a90d8['json']();},async 'getRoleDefinition'(_0x1ebbe4){const _0x797e99=await fetch(API_BASE+'/roles/'+encodeURIComponent(_0x1ebbe4));if(!_0x797e99['ok']){const _0x29d53e=await _0x797e99['json']()['catch'](()=>({'message':_0x797e99['statusText']}));throw new Error(_0x29d53e['message']||'Failed\x20to\x20get\x20role\x20definition');}return await _0x797e99['json']();},async 'createRoleDefinition'(_0x244694){const _0x28ba07=await fetch(API_BASE+'/roles',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x244694)});if(!_0x28ba07['ok']){const _0x42157e=await _0x28ba07['json']()['catch'](()=>({'message':_0x28ba07['statusText']}));throw new Error(_0x42157e['message']||_0x42157e['error']||'Failed\x20to\x20create\x20role\x20definition');}return await _0x28ba07['json']();},async 'updateRoleDefinition'(_0xb789dd,_0x46228d){const _0x1ec708=await fetch(API_BASE+'/roles/'+encodeURIComponent(_0xb789dd),{'method':'PUT','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x46228d)});if(!_0x1ec708['ok']){const _0x3df384=await _0x1ec708['json']()['catch'](()=>({'message':_0x1ec708['statusText']}));throw new Error(_0x3df384['message']||_0x3df384['error']||'Failed\x20to\x20update\x20role\x20definition');}return await _0x1ec708['json']();},async 'deleteRoleDefinition'(_0x1792c4){const _0x477b99=await fetch(API_BASE+'/roles/'+encodeURIComponent(_0x1792c4),{'method':'DELETE'});if(!_0x477b99['ok']){const _0x4d19ba=await _0x477b99['json']()['catch'](()=>({'message':_0x477b99['statusText']}));throw new Error(_0x4d19ba['message']||_0x4d19ba['error']||'Failed\x20to\x20delete\x20role\x20definition');}return await _0x477b99['json']();},async 'getAvailablePermissions'(){const _0x3232e1=await fetch(API_BASE+'/roles/available-permissions');if(!_0x3232e1['ok']){const _0x555f67=await _0x3232e1['json']()['catch'](()=>({'message':_0x3232e1['statusText']}));throw new Error(_0x555f67['message']||'Failed\x20to\x20get\x20available\x20permissions');}return await _0x3232e1['json']();},async 'getGitProviderAllowedTeams'(_0x37fda9){const _0x5cafc1=await fetch(API_BASE+'/settings/git-provider-setup/'+encodeURIComponent(_0x37fda9)+'/allowed-teams');if(!_0x5cafc1['ok']){const _0x55dffa=await _0x5cafc1['json']()['catch'](()=>({'message':_0x5cafc1['statusText']}));throw new Error(_0x55dffa['message']||'Failed\x20to\x20get\x20allowed\x20teams');}return await _0x5cafc1['json']();},async 'setGitProviderAllowedTeams'(_0x30f2f8,_0x3c511b){const _0x262053=await fetch(API_BASE+'/settings/git-provider-setup/'+encodeURIComponent(_0x30f2f8)+'/allowed-teams',{'method':'PUT','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'allowedTeams':_0x3c511b})});if(!_0x262053['ok']){const _0x875018=await _0x262053['json']()['catch'](()=>({'message':_0x262053['statusText']}));throw new Error(_0x875018['message']||'Failed\x20to\x20set\x20allowed\x20teams');}return await _0x262053['json']();}};const toastState={'toasts':[],'nextId':0x1,'maxToasts':0x5,'container':null,'baseBottom':0x20,'gap':0xc,'defaultHeight':0x30};function getToastContainer(){return!toastState['container']&&(toastState['container']=document['createElement']('div'),toastState['container']['id']='toast-container',toastState['container']['setAttribute']('aria-live','polite'),toastState['container']['setAttribute']('aria-atomic','false'),document['body']['appendChild'](toastState['container'])),toastState['container'];}function repositionAllToasts(){requestAnimationFrame(()=>{let _0x1c9459=toastState['baseBottom'];toastState['toasts']['forEach'](_0x3a8bfb=>{_0x3a8bfb['el']['style']['bottom']=_0x1c9459+'px';const _0x2e83d9=_0x3a8bfb['el']['offsetHeight']||toastState['defaultHeight'];_0x1c9459+=_0x2e83d9+toastState['gap'];});});}function removeToastById(_0x235f6a){const _0x2d7363=toastState['toasts']['findIndex'](_0x1b1651=>_0x1b1651['id']===_0x235f6a);if(_0x2d7363===-0x1)return;const _0x78546a=toastState['toasts'][_0x2d7363];if(_0x78546a['timeoutId'])clearTimeout(_0x78546a['timeoutId']);_0x78546a['el']['classList']['remove']('show'),setTimeout(()=>_0x78546a['el']['remove'](),0x12c),toastState['toasts']['splice'](_0x2d7363,0x1),repositionAllToasts();}function registerToast(_0x4074f4){return toastState['toasts']['length']>=toastState['maxToasts']&&removeToastById(toastState['toasts'][0x0]['id']),toastState['toasts']['push'](_0x4074f4),repositionAllToasts(),_0x4074f4['id'];}function getNextToastId(){return toastState['nextId']++;}export const ToastManager={'getContainer':getToastContainer,'register':registerToast,'remove':removeToastById,'reposition':repositionAllToasts,'getNextId':getNextToastId,'getState':()=>toastState};export const Utils={'formatRelativeTime'(_0x8fbca9){const _0xcc091=new Date(_0x8fbca9),_0x5cdf20=new Date(),_0x1b8aed=_0x5cdf20-_0xcc091,_0x267b57=Math['floor'](_0x1b8aed/0x3e8),_0x522dce=Math['floor'](_0x267b57/0x3c),_0x5e6694=Math['floor'](_0x522dce/0x3c),_0xbc8783=Math['floor'](_0x5e6694/0x18);if(_0x267b57<0x3c)return'now';if(_0x522dce<0x3c)return _0x522dce+'m\x20ago';if(_0x5e6694<0x18)return _0x5e6694+'h\x20ago';return _0xbc8783+'d\x20ago';},'getStatusIcon'(_0x204018){switch(_0x204018){case'completed':return'✓';case'running':return'⋯';case'interrupted':return'⏹';case'failed':return'✗';case'staged':return'◎';case'queued':return'⏸';default:return'○';}},'getStatusClass'(_0xb44b7e){switch(_0xb44b7e){case'completed':return'status-completed';case'running':return'status-running';case'interrupted':return'status-interrupted';case'failed':return'status-failed';case'staged':return'status-staged';case'queued':return'status-queued';default:return'status-unknown';}},async 'copyToClipboard'(_0x582deb,_0x592739=null){if(navigator['clipboard']&&navigator['clipboard']['write'])try{const _0x2ceffc={};_0x2ceffc['text/plain']=new Blob([_0x582deb],{'type':'text/plain'});_0x592739&&(_0x2ceffc['text/html']=new Blob([_0x592739],{'type':'text/html'}));const _0xc557b8=new ClipboardItem(_0x2ceffc);return await navigator['clipboard']['write']([_0xc557b8]),!![];}catch(_0x7b4394){console['warn']('Clipboard\x20API\x20write()\x20failed,\x20trying\x20fallback:',_0x7b4394);}try{const _0xdcd4e5=_0x49e9b5=>{_0x49e9b5['preventDefault'](),_0x49e9b5['clipboardData']['setData']('text/plain',_0x582deb),_0x592739&&_0x49e9b5['clipboardData']['setData']('text/html',_0x592739);};document['addEventListener']('copy',_0xdcd4e5);const _0x40a9e9=document['execCommand']('copy');document['removeEventListener']('copy',_0xdcd4e5);if(_0x40a9e9)return!![];}catch(_0x2cfc29){console['warn']('execCommand\x20copy\x20event\x20injection\x20failed:',_0x2cfc29);}try{const _0x9dae84=document['createElement']('textarea');_0x9dae84['value']=_0x582deb,_0x9dae84['style']['position']='fixed',_0x9dae84['style']['opacity']='0',_0x9dae84['style']['pointerEvents']='none',document['body']['appendChild'](_0x9dae84),_0x9dae84['select']();const _0x2a5c65=document['execCommand']('copy');return document['body']['removeChild'](_0x9dae84),_0x2a5c65;}catch(_0x5a0121){return console['error']('All\x20clipboard\x20methods\x20failed:',_0x5a0121),![];}},'showToast'(_0x53d693,_0x863c76='info'){const _0x3e56cd=getNextToastId(),_0xcc9084=document['createElement']('div');_0xcc9084['className']='toast\x20toast-'+_0x863c76,_0xcc9084['textContent']=_0x53d693,_0xcc9084['dataset']['toastId']=_0x3e56cd,document['body']['appendChild'](_0xcc9084);const _0x3274d4=_0x863c76==='error'?0x2710:0xbb8,_0x58d8e7=setTimeout(()=>{removeToastById(_0x3e56cd);},_0x3274d4),_0x3485b2={'id':_0x3e56cd,'el':_0xcc9084,'timeoutId':_0x58d8e7};return registerToast(_0x3485b2),requestAnimationFrame(()=>{requestAnimationFrame(()=>{_0xcc9084['classList']['add']('show');});}),_0x3e56cd;},'showError'(_0x2385ed){console['error'](_0x2385ed);const _0x7d95b2=typeof _0x2385ed==='string'?_0x2385ed:_0x2385ed['message']||'An\x20error\x20occurred';this['showToast'](_0x7d95b2,'error');},'showSuccess'(_0x3d62de){this['showToast'](_0x3d62de,'success');},'capitalize'(_0x60f244){if(!_0x60f244)return'';return _0x60f244['charAt'](0x0)['toUpperCase']()+_0x60f244['slice'](0x1)['toLowerCase']();},'escapeHtml'(_0x11f275){if(_0x11f275===null||_0x11f275===undefined)return'';return String(_0x11f275)['replace'](/&/g,'&amp;')['replace'](/</g,'&lt;')['replace'](/>/g,'&gt;')['replace'](/"/g,'&quot;')['replace'](/'/g,'&#39;');},'ansiToHtml'(_0x129d40){if(_0x129d40===null||_0x129d40===undefined)return'';let _0x3a9310=this['escapeHtml'](_0x129d40);const _0x5279bf={'30':'#000000','31':'#cc0000','32':'#4e9a06','33':'#c4a000','34':'#3465a4','35':'#75507b','36':'#06989a','37':'#d3d7cf','90':'#555753','91':'#ef2929','92':'#8ae234','93':'#fce94f','94':'#729fcf','95':'#ad7fa8','96':'#34e2e2','97':'#eeeeec'},_0x5557b0={'40':'#000000','41':'#cc0000','42':'#4e9a06','43':'#c4a000','44':'#3465a4','45':'#75507b','46':'#06989a','47':'#d3d7cf','100':'#555753','101':'#ef2929','102':'#8ae234','103':'#fce94f','104':'#729fcf','105':'#ad7fa8','106':'#34e2e2','107':'#eeeeec'};let _0x4b5d27=0x0;return _0x3a9310=_0x3a9310['replace'](/\x1b\[([0-9;]*)m/g,(_0x11e952,_0x3d1f39)=>{if(!_0x3d1f39||_0x3d1f39==='0'){const _0x729960='</span>'['repeat'](_0x4b5d27);return _0x4b5d27=0x0,_0x729960;}const _0x5d0b7e=_0x3d1f39['split'](';'),_0x1ada32=[];for(const _0x375bfc of _0x5d0b7e){if(_0x375bfc==='1')_0x1ada32['push']('font-weight:bold');else{if(_0x375bfc==='2')_0x1ada32['push']('opacity:0.7');else{if(_0x375bfc==='3')_0x1ada32['push']('font-style:italic');else{if(_0x375bfc==='4')_0x1ada32['push']('text-decoration:underline');else{if(_0x375bfc==='9')_0x1ada32['push']('text-decoration:line-through');else{if(_0x5279bf[_0x375bfc])_0x1ada32['push']('color:'+_0x5279bf[_0x375bfc]);else{if(_0x5557b0[_0x375bfc])_0x1ada32['push']('background-color:'+_0x5557b0[_0x375bfc]);}}}}}}}if(_0x1ada32['length']>0x0)return _0x4b5d27++,'<span\x20style=\x22'+_0x1ada32['join'](';')+'\x22>';return'';}),_0x3a9310+='</span>'['repeat'](_0x4b5d27),_0x3a9310=_0x3a9310['replace'](/\\u001b\[([0-9;]*)m/g,(_0x3b51,_0x1aecb5)=>{if(!_0x1aecb5||_0x1aecb5==='0')return'';const _0x526283=_0x1aecb5['split'](';'),_0x4858da=[];for(const _0x53ab29 of _0x526283){if(_0x53ab29==='1')_0x4858da['push']('font-weight:bold');else{if(_0x5279bf[_0x53ab29])_0x4858da['push']('color:'+_0x5279bf[_0x53ab29]);else{if(_0x5557b0[_0x53ab29])_0x4858da['push']('background-color:'+_0x5557b0[_0x53ab29]);}}}if(_0x4858da['length']>0x0)return'<span\x20style=\x22'+_0x4858da['join'](';')+'\x22>';return'';}),_0x3a9310;},'showModal'({title:_0x560a4b,content:_0x333e9b,buttons:buttons=[]}){const _0x10ab3e='\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-overlay\x22\x20id=\x22utils-modal-overlay\x22></div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-content\x22\x20id=\x22utils-modal-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h2>'+this['escapeHtml'](_0x560a4b)+'</h2>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22modal-close\x22\x20id=\x22utils-modal-close\x22\x20aria-label=\x22Close\x22>&times;</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-body\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x333e9b+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-actions\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+buttons['map']((_0x45f288,_0x14b826)=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22'+(_0x45f288['className']||'btn-secondary')+'\x22\x20data-btn-index=\x22'+_0x14b826+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this['escapeHtml'](_0x45f288['text'])+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20')['join']('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20',_0x5c954e=document['createElement']('div');_0x5c954e['id']='utils-modal',_0x5c954e['className']='modal',_0x5c954e['innerHTML']=_0x10ab3e,document['body']['appendChild'](_0x5c954e);const _0x5c5264=document['getElementById']('utils-modal-close');_0x5c5264&&_0x5c5264['addEventListener']('click',()=>this['hideModal']());const _0x31c05f=_0x5c954e['querySelectorAll']('[data-btn-index]');_0x31c05f['forEach'](_0x2126e7=>{const _0x26742c=parseInt(_0x2126e7['dataset']['btnIndex']);buttons[_0x26742c]?.['onClick']&&_0x2126e7['addEventListener']('click',buttons[_0x26742c]['onClick']);});const _0x9502bd=document['getElementById']('utils-modal-overlay');_0x9502bd&&_0x9502bd['addEventListener']('click',()=>this['hideModal']());},'hideModal'(){const _0x2e9fbd=document['getElementById']('utils-modal');_0x2e9fbd&&_0x2e9fbd['remove']();},'parseKeyValuePairs'(_0x18e1d8){const _0x19b6bc={};if(!_0x18e1d8)return _0x19b6bc;return _0x18e1d8['split'](/\r?\n/)['map'](_0x4ea6be=>_0x4ea6be['trim']())['filter'](Boolean)['forEach'](_0x1c6509=>{const _0x14927d=_0x1c6509['indexOf']('=');if(_0x14927d>0x0){const _0x2af3cc=_0x1c6509['slice'](0x0,_0x14927d)['trim'](),_0x17bb62=_0x1c6509['slice'](_0x14927d+0x1)['trim']();if(_0x2af3cc)_0x19b6bc[_0x2af3cc]=_0x17bb62;}}),_0x19b6bc;},'debounce'(_0x58d650,_0xe745ac=0xfa){let _0x3a484b=null;return(..._0x31411c)=>{clearTimeout(_0x3a484b),_0x3a484b=setTimeout(()=>_0x58d650['apply'](this,_0x31411c),_0xe745ac);};},'formatTimestamp'(_0x9836){if(!_0x9836)return'N/A';const _0x1a14f8=new Date(_0x9836);return _0x1a14f8['toLocaleDateString']()+'\x20'+_0x1a14f8['toLocaleTimeString']();},'getQueryParams'(){const _0x4f3bce=new URLSearchParams(window['location']['search']),_0x164a62={};for(const [_0x367f27,_0x16674a]of _0x4f3bce){_0x164a62[_0x367f27]=_0x16674a;}return _0x164a62;},'formatDuration'(_0x543131,_0xca79a5){if(!_0x543131)return'N/A';const _0x19169a=new Date(_0x543131),_0x4536ef=_0xca79a5?new Date(_0xca79a5):new Date(),_0x88f177=_0x4536ef-_0x19169a;if(_0x88f177<0x0)return'0s';const _0x16809c=Math['floor'](_0x88f177/0x3e8),_0x2e7675=Math['floor'](_0x16809c/0x3c),_0x173401=Math['floor'](_0x2e7675/0x3c),_0x239f65=Math['floor'](_0x173401/0x18);if(_0x16809c<0x3c)return _0x16809c+'s';if(_0x2e7675<0x3c)return _0x2e7675+'m\x20'+_0x16809c%0x3c+'s';if(_0x173401<0x18)return _0x173401+'h\x20'+_0x2e7675%0x3c+'m\x20'+_0x16809c%0x3c+'s';return _0x239f65+'d\x20'+_0x173401%0x18+'h\x20'+_0x2e7675%0x3c+'m';},'renderMarkdown'(_0x3f9689,_0x2f3e54={}){if(!_0x3f9689)return'';_0x3f9689=this['rewriteAttachmentLinks'](_0x3f9689,_0x2f3e54),_0x3f9689=this['rewriteColorSyntax'](_0x3f9689);if(typeof marked==='undefined')return console['warn']('marked.js\x20not\x20loaded,\x20using\x20fallback\x20renderer'),this['renderMarkdownFallback'](_0x3f9689,_0x2f3e54);marked['setOptions']({'gfm':!![],'breaks':![],'headerIds':![],'mangle':![]});const _0x4b5345=new marked['Renderer'](),_0x4e0e40=_0x4b5345['code']['bind'](_0x4b5345);_0x4b5345['code']=function(_0x3dd7f2,_0x271fbd){const _0xc1775e=window['hljs']||(typeof hljs!=='undefined'?hljs:null);if(_0xc1775e&&_0x271fbd)try{const _0x3acb05=_0xc1775e['getLanguage'](_0x271fbd)?_0x271fbd:'plaintext',_0x406734=_0xc1775e['highlight'](_0x3dd7f2,{'language':_0x3acb05})['value'];return'<pre><code\x20class=\x22hljs\x20language-'+_0x271fbd+'\x22>'+_0x406734+'</code></pre>';}catch(_0xb313f5){console['error']('Syntax\x20highlighting\x20error:',_0xb313f5);}return _0x4e0e40(_0x3dd7f2,_0x271fbd);};try{return marked['parse'](_0x3f9689,{'renderer':_0x4b5345});}catch(_0x1e298f){return console['error']('Markdown\x20parsing\x20error:',_0x1e298f),this['renderMarkdownFallback'](_0x3f9689,_0x2f3e54);}},'rewriteAttachmentLinks'(_0x3c9dc6,_0x23edeb={}){const _0x3a45a5=typeof _0x23edeb['resolveAttachmentUrl']==='function'?_0x23edeb['resolveAttachmentUrl']:_0x23edeb['taskId']?_0x20fdac=>API_BASE+'/tasks/'+_0x23edeb['taskId']+'/attachments/'+encodeURIComponent(_0x20fdac):null;if(!_0x3a45a5)return _0x3c9dc6;return String(_0x3c9dc6)['replace'](/\]\(attachment:(?:\/\/)?([^)]+)\)/g,(_0x109cdd,_0x1cfcde)=>{const _0x4da3d0=String(_0x1cfcde||'')['trim']();if(!_0x4da3d0)return _0x109cdd;let _0x12b304=_0x4da3d0;try{_0x12b304=decodeURIComponent(_0x4da3d0);}catch{}const _0x1e9d06=_0x3a45a5(_0x12b304);if(!_0x1e9d06)return _0x109cdd;return']('+_0x1e9d06+')';});},'rewriteColorSyntax'(_0x102b58){if(!_0x102b58)return _0x102b58;return String(_0x102b58)['replace'](/\{color:(#[0-9A-Fa-f]{3,6})\}([\s\S]*?)\{\/color\}/g,(_0x9568d9,_0x38c0a3,_0x12691e)=>{const _0x5c5e4f=this['rewriteColorSyntax'](_0x12691e);return'<span\x20style=\x22color:\x20'+_0x38c0a3+'\x22>'+_0x5c5e4f+'</span>';});},'renderMarkdownFallback'(_0x48ed3c,_0x23d574={}){if(!_0x48ed3c)return'';_0x48ed3c=_0x48ed3c['replace'](/\r\n/g,'\x0a'),_0x48ed3c=_0x48ed3c['replace'](/\r/g,'\x0a'),_0x48ed3c=this['rewriteAttachmentLinks'](_0x48ed3c,_0x23d574);let _0x243da9=this['escapeHtml'](_0x48ed3c);return _0x243da9=_0x243da9['replace'](/^### (.*$)/gm,'<h3>$1</h3>'),_0x243da9=_0x243da9['replace'](/^## (.*$)/gm,'<h2>$1</h2>'),_0x243da9=_0x243da9['replace'](/^# (.*$)/gm,'<h1>$1</h1>'),_0x243da9=_0x243da9['replace'](/\*\*(.+?)\*\*/g,'<strong>$1</strong>'),_0x243da9=_0x243da9['replace'](/\*(.+?)\*/g,'<em>$1</em>'),_0x243da9=_0x243da9['replace'](/```([^`]*?)```/gs,'<pre><code>$1</code></pre>'),_0x243da9=_0x243da9['replace'](/`([^`]+?)`/g,'<code>$1</code>'),_0x243da9=_0x243da9['replace'](/\[([^\]]+)\]\(([^)]+)\)/g,'<a\x20href=\x22$2\x22\x20target=\x22_blank\x22>$1</a>'),_0x243da9=_0x243da9['replace'](/\{color:(#[0-9A-Fa-f]{3,6})\}([\s\S]*?)\{\/color\}/g,'<span\x20style=\x22color:\x20$1\x22>$2</span>'),_0x243da9=_0x243da9['replace'](/\n\n/g,'</p><p>'),_0x243da9=_0x243da9['replace'](/\n/g,'<br>'),'<p>'+_0x243da9+'</p>';}};export class CustomSelect{constructor(_0x2957de,_0x2bb478={}){this['nativeSelect']=_0x2957de,this['options']=_0x2bb478,this['isOpen']=![],this['selectedValue']=_0x2957de['value']||'',this['searchable']=_0x2bb478['searchable']||![],this['searchQuery']='',this['allOptions']=[],this['init']();}['init'](){const _0x423e7e=document['createElement']('div');_0x423e7e['className']='custom-select';const _0x510b58=document['createElement']('div');_0x510b58['className']='custom-select-trigger',_0x510b58['setAttribute']('tabindex','0'),_0x510b58['setAttribute']('role','button'),_0x510b58['setAttribute']('aria-haspopup','listbox');const _0xb4655e=document['createElement']('span');_0xb4655e['className']='custom-select-trigger-text';const _0x2e814d=document['createElement']('span');_0x2e814d['className']='custom-select-arrow',_0x2e814d['textContent']='▼',_0x510b58['appendChild'](_0xb4655e),_0x510b58['appendChild'](_0x2e814d);const _0x449bf5=document['createElement']('div');_0x449bf5['className']='custom-select-dropdown',_0x449bf5['setAttribute']('role','listbox');if(this['searchable']){const _0x597171=document['createElement']('div');_0x597171['className']='custom-select-search';const _0x532a4f=document['createElement']('input');_0x532a4f['type']='text',_0x532a4f['className']='custom-select-search-input',_0x532a4f['placeholder']='Type\x20to\x20search...',_0x532a4f['setAttribute']('aria-label','Search\x20options'),_0x532a4f['addEventListener']('input',_0xe6486e=>{this['searchQuery']=_0xe6486e['target']['value']['toLowerCase'](),this['filterOptions']();}),_0x532a4f['addEventListener']('keydown',_0x2b9d5d=>{if(_0x2b9d5d['key']==='Escape')_0x2b9d5d['stopPropagation'](),this['clearSearch'](),this['close']();else{if(_0x2b9d5d['key']==='Enter'){_0x2b9d5d['preventDefault'](),_0x2b9d5d['stopPropagation']();const _0x5dd205=_0x449bf5['querySelector']('.custom-select-option:not([style*=\x22display:\x20none\x22])');if(_0x5dd205){const _0x220d9f=_0x5dd205['getAttribute']('data-value');this['select'](_0x220d9f);}}}}),_0x597171['appendChild'](_0x532a4f),_0x449bf5['appendChild'](_0x597171),this['searchInput']=_0x532a4f;}const _0x2acae4=document['createElement']('div');_0x2acae4['className']='custom-select-options',_0x449bf5['appendChild'](_0x2acae4),_0x423e7e['appendChild'](_0x510b58),_0x423e7e['appendChild'](_0x449bf5),this['nativeSelect']['style']['display']='none',this['nativeSelect']['parentNode']['insertBefore'](_0x423e7e,this['nativeSelect']),this['wrapper']=_0x423e7e,this['trigger']=_0x510b58,this['triggerText']=_0xb4655e,this['dropdown']=_0x449bf5,this['optionsContainer']=_0x2acae4,_0x510b58['addEventListener']('click',()=>this['toggle']()),_0x510b58['addEventListener']('keydown',_0x30e822=>this['handleKeydown'](_0x30e822)),document['addEventListener']('click',_0x42b145=>{!_0x423e7e['contains'](_0x42b145['target'])&&this['close']();}),this['syncOptions'](),this['updateDisplay'](),this['updateDisabledState']();const _0xb8c9a7=new MutationObserver(()=>{this['syncOptions'](),this['updateDisplay'](),this['updateDisabledState']();});_0xb8c9a7['observe'](this['nativeSelect'],{'childList':!![],'subtree':!![]}),this['nativeSelect']['addEventListener']('change',()=>{this['selectedValue']=this['nativeSelect']['value'],this['updateDisplay']();});const _0x121bec=new MutationObserver(()=>{this['updateDisabledState']();});_0x121bec['observe'](this['nativeSelect'],{'attributes':!![],'attributeFilter':['disabled']});const _0x2cdb9d=new MutationObserver(()=>{this['nativeSelect']['value']!==this['selectedValue']&&(this['selectedValue']=this['nativeSelect']['value'],this['updateDisplay']());});_0x2cdb9d['observe'](this['nativeSelect'],{'attributes':!![],'attributeFilter':['value']}),setInterval(()=>{this['nativeSelect']['value']!==this['selectedValue']&&(this['selectedValue']=this['nativeSelect']['value'],this['updateDisplay']());},0x64);}['updateDisabledState'](){const _0x507535=this['nativeSelect']['disabled'];this['wrapper']['classList']['toggle']('disabled',_0x507535),this['trigger']['setAttribute']('aria-disabled',_0x507535?'true':'false'),this['trigger']['setAttribute']('tabindex',_0x507535?'-1':'0'),_0x507535&&this['close']();}['syncOptions'](){this['optionsContainer']['innerHTML']='';const _0x232141=Array['from'](this['nativeSelect']['options']);this['allOptions']=[];const _0x5dc7dd=_0x232141['filter'](_0x593083=>!_0x593083['disabled']&&!_0x593083['hidden']);_0x232141['forEach']((_0x123fba,_0x466cf7)=>{const _0x38d07e=document['createElement']('div');_0x38d07e['className']='custom-select-option',_0x38d07e['textContent']=_0x123fba['textContent'],_0x38d07e['setAttribute']('data-value',_0x123fba['value']),_0x38d07e['setAttribute']('data-index',_0x466cf7),_0x38d07e['setAttribute']('role','option'),_0x123fba['disabled']?_0x38d07e['classList']['add']('disabled'):_0x38d07e['addEventListener']('click',()=>this['select'](_0x123fba['value'])),_0x123fba['value']===this['selectedValue']&&_0x38d07e['classList']['add']('selected'),this['optionsContainer']['appendChild'](_0x38d07e),this['allOptions']['push']({'element':_0x38d07e,'text':_0x123fba['textContent']['toLowerCase'](),'value':_0x123fba['value'],'disabled':_0x123fba['disabled']});});if(this['searchable']&&this['searchInput']){const _0x1fc700=this['searchInput']['parentElement'];_0x5dc7dd['length']>0x3?_0x1fc700['style']['display']='':_0x1fc700['style']['display']='none';}}['filterOptions'](){if(!this['searchable'])return;const _0x21eb44=this['searchQuery']['trim']();this['allOptions']['forEach'](_0x44fdf5=>{if(!_0x21eb44||_0x44fdf5['disabled'])_0x44fdf5['element']['style']['display']='';else{const _0x274641=_0x44fdf5['text']['includes'](_0x21eb44);_0x44fdf5['element']['style']['display']=_0x274641?'':'none';}});}['clearSearch'](){if(!this['searchable']||!this['searchInput'])return;this['searchInput']['value']='',this['searchQuery']='',this['filterOptions']();}['select'](_0x5d4391){if(this['nativeSelect']['disabled'])return;this['selectedValue']=_0x5d4391,this['nativeSelect']['value']=_0x5d4391;const _0x5a14c1=new Event('change',{'bubbles':!![]});this['nativeSelect']['dispatchEvent'](_0x5a14c1),this['updateDisplay'](),this['close']();}['updateDisplay'](){const _0x20585d=this['nativeSelect']['options'][this['nativeSelect']['selectedIndex']];_0x20585d&&(this['triggerText']['textContent']=_0x20585d['textContent'],_0x20585d['disabled']||_0x20585d['hidden']?this['trigger']['classList']['add']('placeholder'):this['trigger']['classList']['remove']('placeholder')),this['optionsContainer']['querySelectorAll']('.custom-select-option')['forEach'](_0x176270=>{_0x176270['getAttribute']('data-value')===this['selectedValue']?_0x176270['classList']['add']('selected'):_0x176270['classList']['remove']('selected');});}['toggle'](){if(this['nativeSelect']['disabled'])return;this['isOpen']?this['close']():this['open']();}['open'](){if(this['nativeSelect']['disabled'])return;this['isOpen']=!![],this['trigger']['classList']['add']('open'),this['dropdown']['classList']['add']('open'),this['trigger']['setAttribute']('aria-expanded','true');const _0x43e1c4=window['getComputedStyle'](this['dropdown']);if(_0x43e1c4['position']==='fixed'){const _0x3e830d=this['trigger']['getBoundingClientRect'](),_0x124800=parseInt(_0x43e1c4['maxHeight'])||0xc8,_0x316719=window['innerHeight'],_0x315345=_0x316719-_0x3e830d['bottom'],_0x1f9373=_0x3e830d['top'];this['dropdown']['classList']['remove']('flipped'),this['trigger']['classList']['remove']('flipped');let _0x2a53b8;_0x315345<_0x124800&&_0x1f9373>_0x315345?(this['dropdown']['style']['top']='auto',this['dropdown']['style']['bottom']=_0x316719-_0x3e830d['top']+'px',_0x2a53b8=Math['min'](_0x124800,_0x1f9373-0xa),this['dropdown']['style']['maxHeight']=_0x2a53b8+'px',this['dropdown']['classList']['add']('flipped'),this['trigger']['classList']['add']('flipped')):(this['dropdown']['style']['top']=_0x3e830d['bottom']+'px',this['dropdown']['style']['bottom']='auto',_0x2a53b8=Math['min'](_0x124800,_0x315345-0xa),this['dropdown']['style']['maxHeight']=_0x2a53b8+'px');if(this['optionsContainer']){let _0x455232=_0x2a53b8;if(this['searchInput']){const _0x1bc054=this['searchInput']['parentElement'];_0x1bc054&&(_0x455232-=_0x1bc054['offsetHeight']);}this['optionsContainer']['style']['maxHeight']=Math['max'](0x0,_0x455232)+'px';}this['dropdown']['style']['left']=_0x3e830d['left']+'px',this['dropdown']['style']['width']=_0x3e830d['width']+'px';}this['options']['onOpen']&&this['options']['onOpen'](this);if(this['searchable']&&this['searchInput']){const _0x2aa15e=this['searchInput']['parentElement'];_0x2aa15e&&_0x2aa15e['style']['display']!=='none'&&setTimeout(()=>{this['searchInput']['focus']();},0x32);}}['close'](){this['isOpen']=![],this['trigger']['classList']['remove']('open'),this['dropdown']['classList']['remove']('open'),this['trigger']['setAttribute']('aria-expanded','false'),this['dropdown']['style']['top']='',this['dropdown']['style']['bottom']='',this['dropdown']['style']['left']='',this['dropdown']['style']['width']='',this['dropdown']['style']['maxHeight']='',this['optionsContainer']&&(this['optionsContainer']['style']['maxHeight']=''),this['dropdown']['classList']['remove']('flipped'),this['trigger']['classList']['remove']('flipped'),this['clearSearch']();}['handleKeydown'](_0x5989d8){if(this['nativeSelect']['disabled'])return;if(_0x5989d8['key']==='Enter'||_0x5989d8['key']==='\x20')_0x5989d8['preventDefault'](),this['toggle']();else _0x5989d8['key']==='Escape'&&this['close']();}}export const ConfirmDialog={'_modal':null,'_resolvePromise':null,'init'(){if(document['getElementById']('confirm-dialog-modal'))return;const _0x1e1796='\x0a\x20\x20\x20\x20\x20\x20<div\x20id=\x22confirm-dialog-modal\x22\x20class=\x22modal\x22\x20hidden>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-overlay\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-content\x22\x20style=\x22max-width:\x20450px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h2\x20id=\x22confirm-dialog-title\x22>Confirm</h2>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22modal-close\x22\x20id=\x22confirm-dialog-close\x22\x20aria-label=\x22Close\x22>&times;</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-body\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p\x20id=\x22confirm-dialog-message\x22></p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22modal-actions\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22btn-secondary\x22\x20id=\x22confirm-dialog-cancel\x22>Cancel</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22btn-primary\x22\x20id=\x22confirm-dialog-confirm\x22>Confirm</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20';document['body']['insertAdjacentHTML']('beforeend',_0x1e1796),this['_modal']=document['getElementById']('confirm-dialog-modal');const _0x24e979=document['getElementById']('confirm-dialog-close'),_0x3bf5a5=document['getElementById']('confirm-dialog-cancel'),_0x32398c=document['getElementById']('confirm-dialog-confirm'),_0x3bb545=this['_modal']['querySelector']('.modal-overlay');_0x24e979['addEventListener']('click',()=>this['_resolve'](![])),_0x3bf5a5['addEventListener']('click',()=>this['_resolve'](![])),_0x32398c['addEventListener']('click',()=>this['_resolve'](!![])),_0x3bb545['addEventListener']('click',()=>this['_resolve'](![])),this['_modal']['addEventListener']('keydown',_0x44997b=>{if(_0x44997b['key']==='Escape')_0x44997b['preventDefault'](),this['_resolve'](![]);else _0x44997b['key']==='Enter'&&(_0x44997b['preventDefault'](),this['_resolve'](!![]));});},'show'({title:title='Confirm',message:_0xa3f030,confirmText:confirmText='Confirm',cancelText:cancelText='Cancel',danger:danger=![]}){return!this['_modal']&&this['init'](),new Promise(_0x326f66=>{this['_resolvePromise']=_0x326f66,document['getElementById']('confirm-dialog-title')['textContent']=title,document['getElementById']('confirm-dialog-message')['textContent']=_0xa3f030;const _0x4cbb48=document['getElementById']('confirm-dialog-cancel'),_0x212c77=document['getElementById']('confirm-dialog-confirm');_0x4cbb48['textContent']=cancelText,_0x212c77['textContent']=confirmText,_0x212c77['className']=danger?'btn-danger':'btn-primary',this['_modal']['hidden']=![],_0x212c77['focus']();});},'_resolve'(_0x2af802){this['_modal']&&(this['_modal']['hidden']=!![]),this['_resolvePromise']&&(this['_resolvePromise'](_0x2af802),this['_resolvePromise']=null);}};export class AutocompleteSelect{constructor(_0x291ae4,_0x5b334b={}){this['container']=_0x291ae4,this['options']={'placeholder':_0x5b334b['placeholder']||'Type\x20to\x20search...','maxItems':_0x5b334b['maxItems']||0x64,'loadItems':_0x5b334b['loadItems']||(async()=>[]),'renderItem':_0x5b334b['renderItem']||(_0x52445f=>({'primary':String(_0x52445f),'secondary':''})),'onSelect':_0x5b334b['onSelect']||(()=>{}),'filterItems':_0x5b334b['filterItems']||null,'getItemValue':_0x5b334b['getItemValue']||(_0x1a3fc4=>_0x1a3fc4),'sortItems':_0x5b334b['sortItems']||null,'debounceMs':_0x5b334b['debounceMs']||0xc8,'minCharsForSearch':_0x5b334b['minCharsForSearch']||0x0,'emptyMessage':_0x5b334b['emptyMessage']||'No\x20results\x20found','loadingMessage':_0x5b334b['loadingMessage']||'Loading...','preload':_0x5b334b['preload']!==![],'searchMode':_0x5b334b['searchMode']||'client'},this['allItems']=[],this['filteredItems']=[],this['selectedIndex']=-0x1,this['isOpen']=![],this['isLoading']=![],this['debounceTimer']=null,this['selectedItem']=null,this['hasLoadedOnce']=![],this['init'](),this['options']['preload']&&this['preloadData']();}['init'](){this['wrapper']=document['createElement']('div'),this['wrapper']['className']='autocomplete-select',this['input']=document['createElement']('input'),this['input']['type']='text',this['input']['className']='autocomplete-select-input',this['input']['placeholder']=this['options']['placeholder'],this['input']['setAttribute']('autocomplete','off'),this['input']['setAttribute']('aria-autocomplete','list'),this['input']['setAttribute']('aria-expanded','false'),this['input']['setAttribute']('role','combobox'),this['clearBtn']=document['createElement']('button'),this['clearBtn']['type']='button',this['clearBtn']['className']='autocomplete-select-clear',this['clearBtn']['innerHTML']='&times;',this['clearBtn']['setAttribute']('aria-label','Clear\x20selection'),this['clearBtn']['hidden']=!![],this['dropdown']=document['createElement']('div'),this['dropdown']['className']='autocomplete-select-dropdown',this['dropdown']['setAttribute']('role','listbox'),this['itemsContainer']=document['createElement']('div'),this['itemsContainer']['className']='autocomplete-select-items',this['dropdown']['appendChild'](this['itemsContainer']),this['footer']=document['createElement']('div'),this['footer']['className']='autocomplete-select-footer',this['footer']['hidden']=!![],this['dropdown']['appendChild'](this['footer']),this['wrapper']['appendChild'](this['input']),this['wrapper']['appendChild'](this['clearBtn']),this['wrapper']['appendChild'](this['dropdown']),this['container']['innerHTML']='',this['container']['appendChild'](this['wrapper']),this['bindEvents']();}['bindEvents'](){this['input']['addEventListener']('focus',()=>this['onFocus']()),this['input']['addEventListener']('blur',_0x11b23d=>this['onBlur'](_0x11b23d)),this['input']['addEventListener']('input',_0x422f19=>this['onInput'](_0x422f19)),this['input']['addEventListener']('keydown',_0x4cf358=>this['onKeydown'](_0x4cf358)),this['clearBtn']['addEventListener']('mousedown',_0x454c84=>{_0x454c84['preventDefault'](),this['clear']();}),this['dropdown']['addEventListener']('mousedown',_0xef1dc=>{_0xef1dc['preventDefault']();}),document['addEventListener']('click',_0x2d1d81=>{!this['wrapper']['contains'](_0x2d1d81['target'])&&this['close']();});}async['preloadData'](){if(this['hasLoadedOnce'])return;try{this['allItems']=await this['options']['loadItems'](''),this['hasLoadedOnce']=!![],this['options']['sortItems']&&(this['allItems']=this['options']['sortItems']([...this['allItems']]));}catch(_0x116ccd){console['error']('Failed\x20to\x20preload\x20autocomplete\x20data:',_0x116ccd);}}['onFocus'](){if(this['options']['searchMode']==='server')this['loadAndShow'](this['input']['value']);else!this['hasLoadedOnce']?this['loadAndShow'](''):this['filterAndShow'](this['input']['value']);}['onBlur'](_0x180468){setTimeout(()=>{!this['wrapper']['contains'](document['activeElement'])&&this['close']();},0xc8);}['onInput'](_0x314a62){const _0x5824b0=_0x314a62['target']['value'];this['debounceTimer']&&clearTimeout(this['debounceTimer']),this['debounceTimer']=setTimeout(()=>{if(this['options']['searchMode']==='server')this['loadAndShow'](_0x5824b0);else this['hasLoadedOnce']&&this['options']['filterItems']?this['filterAndShow'](_0x5824b0):this['loadAndShow'](_0x5824b0);},this['options']['debounceMs']),this['selectedItem']&&(this['selectedItem']=null,this['clearBtn']['hidden']=!![],this['options']['onSelect'](null));}['onKeydown'](_0x1df6ec){switch(_0x1df6ec['key']){case'ArrowDown':_0x1df6ec['preventDefault'](),this['moveSelection'](0x1);break;case'ArrowUp':_0x1df6ec['preventDefault'](),this['moveSelection'](-0x1);break;case'Enter':_0x1df6ec['preventDefault']();this['selectedIndex']>=0x0&&this['filteredItems'][this['selectedIndex']]&&this['selectItem'](this['filteredItems'][this['selectedIndex']]);break;case'Escape':_0x1df6ec['preventDefault'](),this['close']();break;case'Tab':this['close']();break;}}['moveSelection'](_0x3c2593){if(!this['isOpen']||this['filteredItems']['length']===0x0)return;const _0x2dffb5=this['selectedIndex']+_0x3c2593;if(_0x2dffb5>=0x0&&_0x2dffb5<this['filteredItems']['length']){this['selectedIndex']=_0x2dffb5,this['updateSelectionHighlight']();const _0x51639d=this['itemsContainer']['querySelectorAll']('.autocomplete-select-item');_0x51639d[this['selectedIndex']]&&_0x51639d[this['selectedIndex']]['scrollIntoView']({'block':'nearest'});}}['updateSelectionHighlight'](){const _0x47de12=this['itemsContainer']['querySelectorAll']('.autocomplete-select-item');_0x47de12['forEach']((_0x23c501,_0x4a90ff)=>{_0x23c501['classList']['toggle']('keyboard-selected',_0x4a90ff===this['selectedIndex']);});}async['loadAndShow'](_0x5c2401){this['showLoading']();try{const _0x169a4e=await this['options']['loadItems'](_0x5c2401);if(this['options']['searchMode']==='server'){let _0x4f7852=_0x169a4e;this['options']['sortItems']&&(_0x4f7852=this['options']['sortItems']([..._0x169a4e]));this['filteredItems']=_0x4f7852;const _0x21a746=this['filteredItems']['length']>=this['options']['maxItems'];_0x21a746&&(this['filteredItems']=this['filteredItems']['slice'](0x0,this['options']['maxItems'])),this['renderItems'](_0x21a746),this['open']();}else this['allItems']=_0x169a4e,this['hasLoadedOnce']=!![],this['options']['sortItems']&&(this['allItems']=this['options']['sortItems']([...this['allItems']])),this['filterAndShow'](_0x5c2401);}catch(_0x512a46){console['error']('Failed\x20to\x20load\x20autocomplete\x20items:',_0x512a46),this['showError']('Failed\x20to\x20load\x20items');}}['filterAndShow'](_0x5807b0){this['options']['filterItems']?this['filteredItems']=this['options']['filterItems'](this['allItems'],_0x5807b0):this['filteredItems']=this['allItems'];this['options']['sortItems']&&(this['filteredItems']=this['options']['sortItems']([...this['filteredItems']]));const _0x252cc0=this['filteredItems']['length']>=this['options']['maxItems'];_0x252cc0&&(this['filteredItems']=this['filteredItems']['slice'](0x0,this['options']['maxItems'])),this['renderItems'](_0x252cc0),this['open']();}['renderItems'](_0x3dfee2){this['itemsContainer']['innerHTML']='',this['selectedIndex']=-0x1;if(this['filteredItems']['length']===0x0){this['itemsContainer']['innerHTML']='<div\x20class=\x22autocomplete-select-empty\x22>'+Utils['escapeHtml'](this['options']['emptyMessage'])+'</div>',this['footer']['hidden']=!![];return;}this['filteredItems']['forEach']((_0x85f92e,_0x183028)=>{const _0x23712b=document['createElement']('div');_0x23712b['className']='autocomplete-select-item',_0x23712b['setAttribute']('role','option'),_0x23712b['setAttribute']('data-index',_0x183028);const _0x270d96=this['options']['renderItem'](_0x85f92e);let _0x1c7eff='';_0x270d96['icon']&&(_0x1c7eff='<span\x20class=\x22autocomplete-select-item-icon\x20'+(_0x270d96['iconClass']||'')+'\x22>'+_0x270d96['icon']+'</span>'),_0x23712b['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1c7eff+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22autocomplete-select-item-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22autocomplete-select-item-primary\x22>'+Utils['escapeHtml'](_0x270d96['primary'])+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x270d96['secondary']?'<div\x20class=\x22autocomplete-select-item-secondary\x22>'+Utils['escapeHtml'](_0x270d96['secondary'])+'</div>':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20',_0x23712b['addEventListener']('click',()=>{this['selectItem'](_0x85f92e);}),_0x23712b['addEventListener']('mouseenter',()=>{this['selectedIndex']=_0x183028,this['updateSelectionHighlight']();}),this['itemsContainer']['appendChild'](_0x23712b);}),_0x3dfee2?(this['footer']['textContent']='Displaying\x20maximum\x20'+this['options']['maxItems']+'\x20suggestions',this['footer']['hidden']=![]):this['footer']['hidden']=!![];}['showLoading'](){this['isLoading']=!![],this['itemsContainer']['innerHTML']='<div\x20class=\x22autocomplete-select-loading\x22><div\x20class=\x22spinner-small\x22></div><span>'+Utils['escapeHtml'](this['options']['loadingMessage'])+'</span></div>',this['footer']['hidden']=!![],this['open']();}['showError'](_0x33af0f){this['isLoading']=![],this['itemsContainer']['innerHTML']='<div\x20class=\x22autocomplete-select-error\x22>'+Utils['escapeHtml'](_0x33af0f)+'</div>',this['footer']['hidden']=!![];}['selectItem'](_0x4103b6){this['selectedItem']=_0x4103b6;const _0x3a6c5f=this['options']['renderItem'](_0x4103b6);this['input']['value']=_0x3a6c5f['primary'],this['clearBtn']['hidden']=![],this['close'](),this['options']['onSelect'](_0x4103b6);}['open'](){if(this['isOpen'])return;this['isOpen']=!![],this['dropdown']['classList']['add']('open'),this['input']['setAttribute']('aria-expanded','true'),this['wrapper']['classList']['add']('open');}['close'](){if(!this['isOpen'])return;this['isOpen']=![],this['dropdown']['classList']['remove']('open'),this['input']['setAttribute']('aria-expanded','false'),this['wrapper']['classList']['remove']('open'),this['selectedIndex']=-0x1;}['clear'](){this['selectedItem']=null,this['input']['value']='',this['clearBtn']['hidden']=!![],this['options']['onSelect'](null),this['input']['focus']();}['getValue'](){return this['selectedItem']?this['options']['getItemValue'](this['selectedItem']):null;}['getSelectedItem'](){return this['selectedItem'];}['setValue'](_0x1abb49){if(_0x1abb49){this['selectedItem']=_0x1abb49;const _0x15db20=this['options']['renderItem'](_0x1abb49);this['input']['value']=_0x15db20['primary'],this['clearBtn']['hidden']=![];}else this['clear']();}['setItems'](_0x13cb62){this['allItems']=_0x13cb62,this['hasLoadedOnce']=!![],this['options']['sortItems']&&(this['allItems']=this['options']['sortItems']([...this['allItems']]));}['reset'](){this['clear'](),this['allItems']=[],this['filteredItems']=[],this['hasLoadedOnce']=![];}['disable'](){this['input']['disabled']=!![],this['wrapper']['classList']['add']('disabled');}['enable'](){this['input']['disabled']=![],this['wrapper']['classList']['remove']('disabled');}['setPlaceholder'](_0x44be25){this['input']['placeholder']=_0x44be25;}['destroy'](){this['debounceTimer']&&clearTimeout(this['debounceTimer']),this['container']['innerHTML']='';}}async function initializeAdminMenu(_0x3c7d1f=null){const _0x1177af=document['getElementById']('admin-menu-container'),_0x17e1db=document['getElementById']('admin-menu-btn'),_0x191ce1=document['getElementById']('admin-menu');if(!_0x1177af||!_0x17e1db||!_0x191ce1)return;try{!_0x3c7d1f&&(_0x3c7d1f=await API['getCurrentUser']());if(_0x3c7d1f){const _0x580c1c=_0x3c7d1f['hasAllPermissions']||_0x3c7d1f['hasEnvironmentsManage']||_0x3c7d1f['canCreateUsers']||_0x3c7d1f['canManageTeams']||_0x3c7d1f['hasEnvironmentBindings'];if(!_0x580c1c)return;_0x1177af['hidden']=![];if(!_0x3c7d1f['hasAllPermissions']){const _0x31d146=_0x191ce1['querySelectorAll']('.admin-menu-item');_0x31d146['forEach'](_0x344f28=>{const _0x3a3f40=_0x344f28['querySelector']('.option-text')?.['textContent']?.['trim']();_0x3a3f40==='Users'&&!_0x3c7d1f['canCreateUsers']&&(_0x344f28['hidden']=!![]),_0x3a3f40==='Skills'&&(_0x344f28['hidden']=!![]),_0x3a3f40==='Server\x20Settings'&&(_0x344f28['hidden']=!![]),_0x3a3f40==='Server\x20Health'&&(_0x344f28['hidden']=!![]),_0x3a3f40==='Git\x20History'&&(_0x344f28['hidden']=!![]);});}_0x17e1db['addEventListener']('click',_0x393f43=>{_0x393f43['stopPropagation']();const _0x319cc3=document['getElementById']('actions-menu');if(_0x319cc3)_0x319cc3['hidden']=!![];_0x191ce1['hidden']=!_0x191ce1['hidden'];}),document['addEventListener']('click',_0x3fe44c=>{!_0x191ce1['hidden']&&!_0x17e1db['contains'](_0x3fe44c['target'])&&!_0x191ce1['contains'](_0x3fe44c['target'])&&(_0x191ce1['hidden']=!![]);}),document['addEventListener']('keydown',_0xaf87cf=>{_0xaf87cf['key']==='Escape'&&!_0x191ce1['hidden']&&(_0x191ce1['hidden']=!![]);});const _0x3792c4=document['getElementById']('server-health-btn');_0x3792c4&&_0x3792c4['addEventListener']('click',async()=>{_0x191ce1['hidden']=!![];const {openServerHealthModal:_0x2dcd11}=await import('./server-health.js');_0x2dcd11();});}}catch(_0x11ba4e){console['debug']('[CoderFlow]\x20Admin\x20menu\x20not\x20initialized:',_0x11ba4e['message']);}}typeof window!=='undefined'&&(window['API']=API,window['Utils']=Utils,window['CustomSelect']=CustomSelect,window['ConfirmDialog']=ConfirmDialog,window['AutocompleteSelect']=AutocompleteSelect,window['initializeAdminMenu']=initializeAdminMenu);export{initializeAdminMenu};