@profoundlogic/coderflow-server 0.4.2 → 0.4.4

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 (153) hide show
  1. package/README.md +1 -1
  2. package/dist/README.md +1 -1
  3. package/dist/coder-server.js +1 -1
  4. package/dist/config.js +1 -1
  5. package/dist/lib/agent-keepalive.js +1 -1
  6. package/dist/lib/agent-models.js +1 -1
  7. package/dist/lib/api-keys.js +1 -1
  8. package/dist/lib/apiKeys.js +1 -1
  9. package/dist/lib/app-server-ports.js +1 -1
  10. package/dist/lib/auto-judge.js +1 -1
  11. package/dist/lib/basic-auth.js +1 -1
  12. package/dist/lib/build-history.js +1 -1
  13. package/dist/lib/build-output-service.js +1 -1
  14. package/dist/lib/build-scheduler.js +1 -1
  15. package/dist/lib/build-service.js +1 -1
  16. package/dist/lib/ca-certificates.js +1 -1
  17. package/dist/lib/claude-oauth-refresh.js +1 -1
  18. package/dist/lib/cli/build.js +1 -1
  19. package/dist/lib/cli/config-command.js +1 -1
  20. package/dist/lib/cli/config.js +1 -1
  21. package/dist/lib/cli/create-user.js +1 -1
  22. package/dist/lib/cli/init.js +1 -1
  23. package/dist/lib/cli/jira.js +1 -1
  24. package/dist/lib/cli/license.js +1 -1
  25. package/dist/lib/cli/server-manager.js +1 -1
  26. package/dist/lib/config-migration.js +1 -1
  27. package/dist/lib/container-credential-sync.js +1 -1
  28. package/dist/lib/container-tokens.js +1 -1
  29. package/dist/lib/data-dir.js +1 -1
  30. package/dist/lib/deployment-history.js +1 -1
  31. package/dist/lib/deployment-service.js +1 -1
  32. package/dist/lib/docker-utils.js +1 -1
  33. package/dist/lib/email.js +1 -1
  34. package/dist/lib/emailTemplates.js +1 -1
  35. package/dist/lib/entitlement.js +1 -1
  36. package/dist/lib/fetch-utils.js +1 -1
  37. package/dist/lib/git-askpass.sh +16 -0
  38. package/dist/lib/git-commit-details-route.js +1 -1
  39. package/dist/lib/git-history-diff-guardrails.js +1 -1
  40. package/dist/lib/git-provider-service.js +1 -1
  41. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
  42. package/dist/lib/git-provider-setup/index.js +1 -1
  43. package/dist/lib/git-provider-setup/setup-factory.js +1 -1
  44. package/dist/lib/git-provider-setup/setup-interface.js +1 -1
  45. package/dist/lib/git-providers/azure-devops-provider.js +1 -1
  46. package/dist/lib/git-providers/github-app-provider.js +1 -1
  47. package/dist/lib/git-providers/index.js +1 -1
  48. package/dist/lib/git-providers/provider-factory.js +1 -1
  49. package/dist/lib/git-providers/provider-interface.js +1 -1
  50. package/dist/lib/github-urls.js +1 -1
  51. package/dist/lib/group-objective-linking.js +1 -1
  52. package/dist/lib/jira-client.js +1 -1
  53. package/dist/lib/judge-blinding.js +1 -1
  54. package/dist/lib/logger.js +1 -1
  55. package/dist/lib/model-fetcher.js +1 -1
  56. package/dist/lib/notifications.js +1 -1
  57. package/dist/lib/objective-context.js +1 -1
  58. package/dist/lib/oidc-auth.js +1 -1
  59. package/dist/lib/oidc-device-flow.js +1 -1
  60. package/dist/lib/passwordTokens.js +1 -1
  61. package/dist/lib/pin-cascade.js +1 -1
  62. package/dist/lib/provider-accounts.js +1 -1
  63. package/dist/lib/provider-oauth.js +1 -1
  64. package/dist/lib/provider-profile.js +1 -1
  65. package/dist/lib/provider-token-refresh.js +1 -1
  66. package/dist/lib/request-url.js +1 -1
  67. package/dist/lib/rewind.js +1 -1
  68. package/dist/lib/roles.js +1 -1
  69. package/dist/lib/secrets.js +1 -1
  70. package/dist/lib/setup-repo-git-auth.js +1 -1
  71. package/dist/lib/state-capture.js +1 -1
  72. package/dist/lib/static-files.js +1 -1
  73. package/dist/lib/task-name-format.js +1 -1
  74. package/dist/lib/task-name-generator.js +1 -1
  75. package/dist/lib/user-git-oauth.js +1 -1
  76. package/dist/lib/user-git-tokens.js +1 -1
  77. package/dist/lib/users.js +1 -1
  78. package/dist/middleware/requireAuth.js +1 -1
  79. package/dist/middleware/requireInit.js +1 -1
  80. package/dist/middleware/requirePermission.js +1 -1
  81. package/dist/package.json +2 -1
  82. package/dist/routes/apiKeys.js +1 -1
  83. package/dist/routes/auth-oidc.js +1 -1
  84. package/dist/routes/auth.js +1 -1
  85. package/dist/routes/build.js +1 -1
  86. package/dist/routes/containers.js +1 -1
  87. package/dist/routes/deploy-task.js +1 -1
  88. package/dist/routes/environment-management.js +1 -1
  89. package/dist/routes/environments.js +1 -1
  90. package/dist/routes/external-skills.js +1 -1
  91. package/dist/routes/git-credentials.js +1 -1
  92. package/dist/routes/git-oauth.js +1 -1
  93. package/dist/routes/git-provider-setup.js +1 -1
  94. package/dist/routes/health.js +1 -1
  95. package/dist/routes/jira.js +1 -1
  96. package/dist/routes/objective-management.js +1 -1
  97. package/dist/routes/password.js +1 -1
  98. package/dist/routes/prompt.js +1 -1
  99. package/dist/routes/provider-auth.js +1 -1
  100. package/dist/routes/qa.js +1 -1
  101. package/dist/routes/settings.js +1 -1
  102. package/dist/routes/skill-management.js +1 -1
  103. package/dist/routes/skills.js +1 -1
  104. package/dist/routes/tasks.js +1 -1
  105. package/dist/routes/templates.js +1 -1
  106. package/dist/routes/test-task.js +1 -1
  107. package/dist/routes/test.js +1 -1
  108. package/dist/routes/users.js +1 -1
  109. package/dist/routes/visualizations.js +1 -1
  110. package/dist/scripts/create-user.js +1 -1
  111. package/dist/scripts/migrate-config-to-data-dir.js +1 -1
  112. package/dist/start.js +1 -1
  113. package/dist/web-ui/public/activity-detail-modal.js +1 -1
  114. package/dist/web-ui/public/activity-feed.js +1 -1
  115. package/dist/web-ui/public/activity-formatters.js +1 -1
  116. package/dist/web-ui/public/agent-event-parser.js +1 -1
  117. package/dist/web-ui/public/app.js +1 -1
  118. package/dist/web-ui/public/approve-dialog.js +1 -1
  119. package/dist/web-ui/public/comments-widget.js +1 -1
  120. package/dist/web-ui/public/diff-utils.js +1 -1
  121. package/dist/web-ui/public/docs/admin/git-providers.md +10 -5
  122. package/dist/web-ui/public/docs/admin/installation.md +1 -1
  123. package/dist/web-ui/public/environments.css +6 -0
  124. package/dist/web-ui/public/environments.html +20 -0
  125. package/dist/web-ui/public/environments.js +1 -1
  126. package/dist/web-ui/public/feedback-widget.js +1 -1
  127. package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
  128. package/dist/web-ui/public/git-history.js +1 -1
  129. package/dist/web-ui/public/git-status.js +1 -1
  130. package/dist/web-ui/public/index.js +1 -1
  131. package/dist/web-ui/public/login.js +1 -1
  132. package/dist/web-ui/public/markdown-editor.js +1 -1
  133. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  134. package/dist/web-ui/public/modal-maximize.js +1 -1
  135. package/dist/web-ui/public/notifications.js +1 -1
  136. package/dist/web-ui/public/pr-dialog.js +1 -1
  137. package/dist/web-ui/public/server-health.js +1 -1
  138. package/dist/web-ui/public/settings.html +22 -1
  139. package/dist/web-ui/public/settings.js +1 -1
  140. package/dist/web-ui/public/setup-password.js +1 -1
  141. package/dist/web-ui/public/skills.css +6 -0
  142. package/dist/web-ui/public/skills.html +20 -0
  143. package/dist/web-ui/public/skills.js +1 -1
  144. package/dist/web-ui/public/sse-client.js +1 -1
  145. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  146. package/dist/web-ui/public/styles.css +80 -0
  147. package/dist/web-ui/public/task.html +32 -1
  148. package/dist/web-ui/public/task.js +1 -1
  149. package/dist/web-ui/public/terminal.js +1 -1
  150. package/dist/web-ui/public/theme.js +1 -1
  151. package/dist/web-ui/public/users.js +1 -1
  152. package/dist/web-ui/public/variant-grouping.js +1 -1
  153. package/package.json +2 -1
@@ -1 +1 @@
1
- const _0x2b6792=_0x39a3;(function(_0x344065,_0x2ee28a){const _0x521a2c=_0x39a3,_0x3c087f=_0x344065();while(!![]){try{const _0x468b03=-parseInt(_0x521a2c(0xad))/0x1+parseInt(_0x521a2c(0xc8))/0x2*(-parseInt(_0x521a2c(0x75))/0x3)+-parseInt(_0x521a2c(0xa0))/0x4*(parseInt(_0x521a2c(0xcd))/0x5)+-parseInt(_0x521a2c(0xca))/0x6+-parseInt(_0x521a2c(0x73))/0x7*(-parseInt(_0x521a2c(0xcf))/0x8)+parseInt(_0x521a2c(0xa5))/0x9+parseInt(_0x521a2c(0xb6))/0xa;if(_0x468b03===_0x2ee28a)break;else _0x3c087f['push'](_0x3c087f['shift']());}catch(_0xa6f1c5){_0x3c087f['push'](_0x3c087f['shift']());}}}(_0x5613,0x4f63e));function isSharedWorkerSupported(){return typeof SharedWorker!=='undefined';}function eventTypeToHandler(_0x519878){const _0x47a8df=_0x39a3;if(_0x519878===_0x47a8df(0xc4))return _0x47a8df(0xc0);if(_0x519878==='error')return'onError';return'on'+_0x519878['split']('-')[_0x47a8df(0x94)](_0x436b71=>_0x436b71[_0x47a8df(0xb3)](0x0)[_0x47a8df(0x8d)]()+_0x436b71[_0x47a8df(0x9d)](0x1))[_0x47a8df(0xbf)]('');}const TASK_STREAM_EVENTS=[_0x2b6792(0x83),_0x2b6792(0x96),_0x2b6792(0x8b),_0x2b6792(0x85),_0x2b6792(0x78),_0x2b6792(0x74),_0x2b6792(0xb1)];export class TaskUpdatesClient{constructor(){const _0x198768=_0x2b6792;this[_0x198768(0x70)]=new Map(),this[_0x198768(0x92)]=null,this[_0x198768(0xc9)]=null,this['eventSource']=null,this[_0x198768(0xb0)]=null,this[_0x198768(0xb2)]=null,this[_0x198768(0x91)]=0x0,this[_0x198768(0x95)]=isSharedWorkerSupported(),this[_0x198768(0xc4)]=![],this[_0x198768(0x9f)]=new Map(),this['_taskSubIdCounter']=0x0,this[_0x198768(0x7d)]=this['_handleWorkerMessage'][_0x198768(0xc1)](this),this[_0x198768(0xaf)]=this[_0x198768(0xaf)]['bind'](this);}['on'](_0x30aad0,_0xe2825d){const _0x5c8f11=_0x2b6792;return!this['listeners'][_0x5c8f11(0x90)](_0x30aad0)&&this[_0x5c8f11(0x70)][_0x5c8f11(0xa1)](_0x30aad0,new Set()),this[_0x5c8f11(0x70)][_0x5c8f11(0x71)](_0x30aad0)[_0x5c8f11(0xab)](_0xe2825d),this;}[_0x2b6792(0x99)](_0x3fb267,_0x40c420){const _0x20ed40=_0x2b6792;return this[_0x20ed40(0x70)][_0x20ed40(0x90)](_0x3fb267)&&this['listeners']['get'](_0x3fb267)[_0x20ed40(0xaa)](_0x40c420),this;}['_emit'](_0x488848,_0x5b9235){const _0x4c6582=_0x2b6792;this[_0x4c6582(0x70)][_0x4c6582(0x90)](_0x488848)&&this['listeners'][_0x4c6582(0x71)](_0x488848)['forEach'](_0x749155=>{const _0x55b9c9=_0x4c6582;try{_0x749155(_0x5b9235);}catch(_0x2d47ad){console[_0x55b9c9(0xa2)](_0x55b9c9(0x9b)+_0x488848+_0x55b9c9(0xac),_0x2d47ad);}});}[_0x2b6792(0xba)](_0x5933dd='me'){const _0x1b8f72=_0x2b6792;this['userId']=_0x5933dd,this[_0x1b8f72(0x95)]?this[_0x1b8f72(0x7c)](_0x5933dd):this[_0x1b8f72(0x8c)](_0x5933dd);}['_connectViaWorker'](_0x37b170){const _0x32122a=_0x2b6792;try{this[_0x32122a(0x76)](),this[_0x32122a(0xc9)]['postMessage']({'action':_0x32122a(0xba),'userId':_0x37b170});}catch(_0x2850ba){console[_0x32122a(0xa2)](_0x32122a(0xc5),_0x2850ba),this[_0x32122a(0x95)]=![],this['_connectDirect'](_0x37b170);}}[_0x2b6792(0x76)](){const _0x1aa109=_0x2b6792;!this[_0x1aa109(0x92)]&&(this[_0x1aa109(0x92)]=new SharedWorker(_0x1aa109(0xc2)),this[_0x1aa109(0xc9)]=this[_0x1aa109(0x92)][_0x1aa109(0xc9)],this[_0x1aa109(0xc9)]['onmessage']=this[_0x1aa109(0x7d)],this['port'][_0x1aa109(0x89)]=_0x1f40db=>{const _0x599e0f=_0x1aa109;console['error'](_0x599e0f(0xa7),_0x1f40db),this[_0x599e0f(0xbd)](_0x599e0f(0xa2),{'error':_0x599e0f(0x80)});},this['port']['start']());}[_0x2b6792(0x7d)](_0x327281){const _0x2822ca=_0x2b6792,_0x407534=_0x327281[_0x2822ca(0x7a)];if(_0x407534[_0x2822ca(0x9e)]&&_0x407534['type']['startsWith']('task:')){this['_handleTaskStreamMessage'](_0x407534);return;}switch(_0x407534['type']){case'connected':this[_0x2822ca(0xc4)]=!![],this[_0x2822ca(0xbd)](_0x2822ca(0xc4),{});break;case'snapshot':case _0x2822ca(0x83):case'status':case _0x2822ca(0xa9):case _0x2822ca(0xa4):try{const _0x54b231=JSON[_0x2822ca(0x98)](_0x407534[_0x2822ca(0x7a)]);this['_emit'](_0x407534['type'],_0x54b231);}catch(_0x12cac1){console[_0x2822ca(0xa2)]('[SSE\x20Client]\x20Failed\x20to\x20parse\x20'+_0x407534[_0x2822ca(0x9e)]+_0x2822ca(0x9c),_0x12cac1);}break;case _0x2822ca(0xa2):this['connected']=![],this[_0x2822ca(0xbd)](_0x2822ca(0xa2),_0x407534);break;default:console[_0x2822ca(0x72)](_0x2822ca(0xc3),_0x407534[_0x2822ca(0x9e)]);}}[_0x2b6792(0xb5)](_0x3e0e7d){const _0x27429f=_0x2b6792,{taskId:_0x43b686,type:_0x44ae56,data:_0x1f2570}=_0x3e0e7d,_0x57875f=this[_0x27429f(0x9f)][_0x27429f(0x71)](_0x43b686);if(!_0x57875f||_0x57875f[_0x27429f(0x97)]===0x0)return;const _0x36a3fb=_0x44ae56['replace']('task:',''),_0x15641e=eventTypeToHandler(_0x36a3fb);_0x57875f['forEach'](_0x318280=>{const _0x1cd900=_0x27429f;if(_0x318280['handlers'][_0x15641e])try{const _0x434038=typeof _0x1f2570==='string'?JSON[_0x1cd900(0x98)](_0x1f2570):_0x1f2570;_0x318280[_0x1cd900(0x7f)][_0x15641e](_0x434038);}catch(_0x369416){console[_0x1cd900(0xa2)](_0x1cd900(0xc7)+_0x36a3fb+_0x1cd900(0xc6),_0x369416);}});}[_0x2b6792(0x8c)](_0x1d4386){const _0x27cc05=_0x2b6792;this[_0x27cc05(0xce)]&&(this[_0x27cc05(0xce)][_0x27cc05(0x93)](),this[_0x27cc05(0xce)]=null);const _0x403ef3=_0x1d4386&&_0x1d4386!=='me'?_0x27cc05(0x8a)+_0x1d4386:'';try{this[_0x27cc05(0xce)]=new EventSource(_0x27cc05(0x8e)+_0x403ef3),this[_0x27cc05(0xce)][_0x27cc05(0x88)](_0x27cc05(0x82),()=>{const _0x23bfc2=_0x27cc05;this[_0x23bfc2(0xc4)]=!![],this[_0x23bfc2(0x91)]=0x0,this['_emit'](_0x23bfc2(0xc4),{});}),this[_0x27cc05(0xce)][_0x27cc05(0x88)](_0x27cc05(0x79),_0x38b667=>{const _0x37ec23=_0x27cc05;this[_0x37ec23(0xaf)](_0x37ec23(0x79),_0x38b667),this[_0x37ec23(0x91)]=0x0;}),this[_0x27cc05(0xce)]['addEventListener']('activity',_0x5012fc=>{const _0x345615=_0x27cc05;this[_0x345615(0xaf)]('activity',_0x5012fc);}),this['eventSource'][_0x27cc05(0x88)]('status',_0x3a8125=>{const _0x2ecafc=_0x27cc05;this[_0x2ecafc(0xaf)](_0x2ecafc(0x84),_0x3a8125);}),this[_0x27cc05(0xce)][_0x27cc05(0x88)]('new-task',_0x42bccb=>{this['_handleDirectSSE']('new-task',_0x42bccb);}),this[_0x27cc05(0xce)][_0x27cc05(0x88)](_0x27cc05(0xa4),_0x2f604b=>{const _0x5d8cb3=_0x27cc05;this[_0x5d8cb3(0xaf)](_0x5d8cb3(0xa4),_0x2f604b);}),this[_0x27cc05(0xce)][_0x27cc05(0x88)]('error',_0x4ef842=>{const _0x2b5af3=_0x27cc05;console[_0x2b5af3(0xa2)](_0x2b5af3(0x7e),_0x4ef842),this[_0x2b5af3(0xc4)]=![],this['_emit'](_0x2b5af3(0xa2),{'error':'Connection\x20error'}),this['eventSource']&&(this[_0x2b5af3(0xce)][_0x2b5af3(0x93)](),this['eventSource']=null),this[_0x2b5af3(0x81)]();});}catch(_0x31c1ee){console['error'](_0x27cc05(0xbb),_0x31c1ee),this[_0x27cc05(0xbd)](_0x27cc05(0xa2),{'error':_0x31c1ee['message']}),this[_0x27cc05(0x81)]();}}['_handleDirectSSE'](_0x58e1e6,_0x47179b){const _0x55816d=_0x2b6792;try{const _0x4b6f1b=JSON[_0x55816d(0x98)](_0x47179b[_0x55816d(0x7a)]);this[_0x55816d(0xbd)](_0x58e1e6,_0x4b6f1b);}catch(_0x32e635){console[_0x55816d(0xa2)](_0x55816d(0x7b)+_0x58e1e6+'\x20data:',_0x32e635);}}[_0x2b6792(0x81)](){const _0x588626=_0x2b6792;this[_0x588626(0xb2)]&&clearTimeout(this['reconnectTimeout']);const _0x37ca48=Math['min'](0x3e8*Math['pow'](0x2,this[_0x588626(0x91)]),0x7530);this[_0x588626(0x91)]++,console['log'](_0x588626(0x87)+_0x37ca48+'ms'),this[_0x588626(0xb2)]=setTimeout(()=>{this['_connectDirect'](this['userId']);},_0x37ca48);}[_0x2b6792(0xae)](_0x293298){const _0x1754f2=_0x2b6792;if(_0x293298===this['userId'])return;this[_0x1754f2(0xb0)]=_0x293298;if(this[_0x1754f2(0x95)]&&this[_0x1754f2(0xc9)])this[_0x1754f2(0xc9)][_0x1754f2(0x86)]({'action':_0x1754f2(0xae),'userId':_0x293298});else this[_0x1754f2(0xce)]&&this[_0x1754f2(0x8c)](_0x293298);}[_0x2b6792(0xb4)](_0x313e8f,_0x417307){const _0x7afcca=_0x2b6792;return this[_0x7afcca(0x95)]?this[_0x7afcca(0xcc)](_0x313e8f,_0x417307):this[_0x7afcca(0xb8)](_0x313e8f,_0x417307);}[_0x2b6792(0xa6)](_0x457f2a){const _0x189941=_0x2b6792;if(!_0x457f2a)return;_0x457f2a[_0x189941(0x9e)]==='worker'?this[_0x189941(0xbc)](_0x457f2a):this[_0x189941(0xb7)](_0x457f2a);}['_subscribeTaskViaWorker'](_0x4085fd,_0x3d2d5d){const _0x26a82c=_0x2b6792;try{this[_0x26a82c(0x76)]();}catch(_0x4e5176){return console[_0x26a82c(0xa2)](_0x26a82c(0x8f),_0x4e5176),this[_0x26a82c(0x95)]=![],this[_0x26a82c(0xb8)](_0x4085fd,_0x3d2d5d);}const _0x26fdac=++this['_taskSubIdCounter'],_0x2a481f={'type':_0x26a82c(0x92),'taskId':_0x4085fd,'handlers':_0x3d2d5d,'id':_0x26fdac};return!this[_0x26a82c(0x9f)][_0x26a82c(0x90)](_0x4085fd)&&(this[_0x26a82c(0x9f)][_0x26a82c(0xa1)](_0x4085fd,new Set()),this['port']['postMessage']({'action':_0x26a82c(0xb4),'taskId':_0x4085fd})),this[_0x26a82c(0x9f)]['get'](_0x4085fd)['add'](_0x2a481f),_0x2a481f;}[_0x2b6792(0xbc)](_0xaa50cc){const _0x11df03=_0x2b6792,{taskId:_0x507328}=_0xaa50cc,_0x4f7cdf=this[_0x11df03(0x9f)][_0x11df03(0x71)](_0x507328);if(_0x4f7cdf){_0x4f7cdf[_0x11df03(0xaa)](_0xaa50cc);if(_0x4f7cdf[_0x11df03(0x97)]===0x0){this[_0x11df03(0x9f)][_0x11df03(0xaa)](_0x507328);try{this[_0x11df03(0xc9)]&&this[_0x11df03(0xc9)][_0x11df03(0x86)]({'action':_0x11df03(0xa6),'taskId':_0x507328});}catch(_0x305ec0){}}}}[_0x2b6792(0xb8)](_0x20d489,_0x361e2b){const _0x15078c=_0x2b6792,_0x157564=++this[_0x15078c(0x77)],_0x48e28a=new EventSource(_0x15078c(0xbe)+_0x20d489+'/stream'),_0xb8fe8={'type':_0x15078c(0xa8),'taskId':_0x20d489,'handlers':_0x361e2b,'id':_0x157564,'eventSource':_0x48e28a};!this['_taskSubscriptions']['has'](_0x20d489)&&this['_taskSubscriptions']['set'](_0x20d489,new Set());this[_0x15078c(0x9f)][_0x15078c(0x71)](_0x20d489)[_0x15078c(0xab)](_0xb8fe8);for(const _0x220e3d of TASK_STREAM_EVENTS){const _0x3bd3d3=eventTypeToHandler(_0x220e3d);_0x48e28a['addEventListener'](_0x220e3d,_0x4f455f=>{const _0x1e49a9=_0x15078c;if(_0x361e2b[_0x3bd3d3])try{const _0x527a94=JSON[_0x1e49a9(0x98)](_0x4f455f[_0x1e49a9(0x7a)]);_0x361e2b[_0x3bd3d3](_0x527a94);}catch(_0x3c4f9e){console[_0x1e49a9(0xa2)]('[SSE\x20Client]\x20Error\x20parsing\x20task\x20'+_0x220e3d+':',_0x3c4f9e);}});}return _0x48e28a[_0x15078c(0x88)](_0x15078c(0x82),()=>{const _0x2f4399=_0x15078c;if(_0x361e2b[_0x2f4399(0xc0)])_0x361e2b[_0x2f4399(0xc0)]();}),_0x48e28a[_0x15078c(0x88)]('error',()=>{if(_0x361e2b['onError'])_0x361e2b['onError']({'error':'Connection\x20error'});}),_0xb8fe8;}[_0x2b6792(0xb7)](_0x2dccf9){const _0x1e8103=_0x2b6792;_0x2dccf9[_0x1e8103(0xce)]&&(_0x2dccf9[_0x1e8103(0xce)][_0x1e8103(0x93)](),_0x2dccf9[_0x1e8103(0xce)]=null);const _0x5c9ec6=this[_0x1e8103(0x9f)][_0x1e8103(0x71)](_0x2dccf9[_0x1e8103(0xa3)]);_0x5c9ec6&&(_0x5c9ec6[_0x1e8103(0xaa)](_0x2dccf9),_0x5c9ec6[_0x1e8103(0x97)]===0x0&&this[_0x1e8103(0x9f)][_0x1e8103(0xaa)](_0x2dccf9[_0x1e8103(0xa3)]));}[_0x2b6792(0x9a)](){const _0x1eeaf9=_0x2b6792;this[_0x1eeaf9(0xb2)]&&(clearTimeout(this[_0x1eeaf9(0xb2)]),this['reconnectTimeout']=null);this['_taskSubscriptions'][_0x1eeaf9(0xcb)]((_0x56bbc8,_0x4729ef)=>{const _0x20c455=_0x1eeaf9;_0x56bbc8[_0x20c455(0xcb)](_0x311d0f=>{const _0x535967=_0x20c455;_0x311d0f['type']===_0x535967(0xa8)&&_0x311d0f[_0x535967(0xce)]&&_0x311d0f['eventSource'][_0x535967(0x93)]();});}),this['_taskSubscriptions'][_0x1eeaf9(0xb9)]();if(this[_0x1eeaf9(0x95)]&&this[_0x1eeaf9(0xc9)])try{this[_0x1eeaf9(0xc9)][_0x1eeaf9(0x86)]({'action':_0x1eeaf9(0x9a)});}catch(_0x55d9ee){}this['eventSource']&&(this[_0x1eeaf9(0xce)]['close'](),this[_0x1eeaf9(0xce)]=null),this[_0x1eeaf9(0xc4)]=![];}['isConnected'](){const _0x493c6e=_0x2b6792;return this[_0x493c6e(0xc4)];}['isUsingSharedWorker'](){return this['useSharedWorker'];}}function _0x39a3(_0x21a52e,_0x3de6ca){_0x21a52e=_0x21a52e-0x70;const _0x56138f=_0x5613();let _0x39a35c=_0x56138f[_0x21a52e];if(_0x39a3['TaYnYb']===undefined){var _0x436bb8=function(_0xeebb8c){const _0x51361f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x519878='',_0x436b71='';for(let _0x30aad0=0x0,_0xe2825d,_0x3fb267,_0x40c420=0x0;_0x3fb267=_0xeebb8c['charAt'](_0x40c420++);~_0x3fb267&&(_0xe2825d=_0x30aad0%0x4?_0xe2825d*0x40+_0x3fb267:_0x3fb267,_0x30aad0++%0x4)?_0x519878+=String['fromCharCode'](0xff&_0xe2825d>>(-0x2*_0x30aad0&0x6)):0x0){_0x3fb267=_0x51361f['indexOf'](_0x3fb267);}for(let _0x488848=0x0,_0x5b9235=_0x519878['length'];_0x488848<_0x5b9235;_0x488848++){_0x436b71+='%'+('00'+_0x519878['charCodeAt'](_0x488848)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x436b71);};_0x39a3['lSoRmL']=_0x436bb8,_0x39a3['gLUeMV']={},_0x39a3['TaYnYb']=!![];}const _0x4fb161=_0x56138f[0x0],_0x568ada=_0x21a52e+_0x4fb161,_0x3fbe69=_0x39a3['gLUeMV'][_0x568ada];return!_0x3fbe69?(_0x39a35c=_0x39a3['lSoRmL'](_0x39a35c),_0x39a3['gLUeMV'][_0x568ada]=_0x39a35c):_0x39a35c=_0x3fbe69,_0x39a35c;}let globalClient=null;function _0x5613(){const _0x50255a=['zxjYB3i','DgfZA0LK','CxvLDwuTCg9ZAxrPB24','ndqZnZm1muXhvxDbwG','Dw5ZDwjZy3jPyMvuyxnR','w1ntrsbdBgLLBNrDifDVCMTLCIbTzxnZywDLigvYCM9YoG','zgLYzwn0','BMv3lxrHC2S','zgvSzxrL','ywrK','igXPC3rLBMvYoG','nte1mtG1ueLnwxjX','y2HHBMDLrMLSDgvY','x2HHBMrSzurPCMvJDfntrq','DxnLCKLK','y29TCgXLDgu','CMvJB25Uzwn0vgLTzw91Da','y2HHCKf0','C3vIC2nYAwjLvgfZAW','x2HHBMrSzvrHC2TtDhjLyw1nzxnZywDL','mtm3oti0mtb6CwTQvMK','x3vUC3vIC2nYAwjLvgfZA0rPCMvJDa','x3n1yNnJCMLIzvrHC2TeAxjLy3q','y2XLyxi','y29UBMvJDa','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','x3vUC3vIC2nYAwjLvgfZA1DVCMTLCG','x2vTAxq','l3rHC2TZlW','AM9PBG','B25dB25Uzwn0zwq','yMLUza','l3nZzs1ZAgfYzwqTD29YA2vYlMPZ','w1ntrsbdBgLLBNrDifvUA25VD24GBwvZC2fNzsb0ExbLoG','y29UBMvJDgvK','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbKAxjLy3qGu1nfoG','igHHBMrSzxi6','w1ntrsbdBgLLBNrDievYCM9YigLUihrHC2SG','mtuZmZGYq2rbzu1Y','Cg9YDa','mZC5otmZofHMweryCG','zM9YrwfJAa','x3n1yNnJCMLIzvrHC2TwAwfxB3jRzxi','mtK1BNzcBwLs','zxzLBNrtB3vYy2u','otm2nZjiAxfly3O','BgLZDgvUzxjZ','z2v0','D2fYBG','mJHNr2nwtuq','yxbWlxnLCNzLCI1ZDgf0Dxm','mtjRC2DKs0W','x2vUC3vYzvDVCMTLCG','x3rHC2TtDwjjzenVDw50zxi','y2HHBMDLzc1MAwXLCW','C25HChnOB3q','zgf0yq','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbWyxjZzsa','x2nVBM5Ly3rwAwfxB3jRzxi','x2HHBMrSzvDVCMTLCK1LC3nHz2u','w1ntrsbdBgLLBNrDierPCMvJDcbtu0uGzxjYB3i6','AgfUzgXLCNm','v29YA2vYig1LC3nHz2uGzxjYB3i','x3nJAgvKDwXLuMvJB25Uzwn0','B3bLBG','ywn0AxzPDhK','C3rHDhvZ','C3vTBwfYEq','Cg9ZDe1LC3nHz2u','w1ntrsbdBgLLBNrDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','ywrKrxzLBNrmAxn0zw5LCG','B25TzxnZywDLzxjYB3i','p3vZzxjjzd0','Bwv0ywrHDge','x2nVBM5Ly3reAxjLy3q','Dg9vChbLCKnHC2u','l3rHC2TZl3vWzgf0zxm','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqGzM9YihrHC2SGC3vIlcbMywXSAw5NigjHy2S6','AgfZ','CMvJB25Uzwn0qxr0zw1WDhm','D29YA2vY','y2XVC2u','BwfW','DxnLu2HHCMvKv29YA2vY','Bg9NCW','C2L6zq','CgfYC2u','B2zM','zgLZy29UBMvJDa','w1ntrsbdBgLLBNrDievYCM9YigLUia','igrHDge6','C2XPy2u','DhLWzq','x3rHC2TtDwjZy3jPChrPB25Z','mtqYmZjor2jmr0S','C2v0'];_0x5613=function(){return _0x50255a;};return _0x5613();}export function getTaskUpdatesClient(){return!globalClient&&(globalClient=new TaskUpdatesClient()),globalClient;}
1
+ const _0x4d1a2e=_0xbd5f;(function(_0x5cfc46,_0x55d730){const _0x2f569f=_0xbd5f,_0x20fd83=_0x5cfc46();while(!![]){try{const _0x15fd19=-parseInt(_0x2f569f(0x179))/0x1*(-parseInt(_0x2f569f(0x1bb))/0x2)+parseInt(_0x2f569f(0x1cc))/0x3*(parseInt(_0x2f569f(0x1a9))/0x4)+-parseInt(_0x2f569f(0x188))/0x5+-parseInt(_0x2f569f(0x1b9))/0x6+parseInt(_0x2f569f(0x1b6))/0x7+-parseInt(_0x2f569f(0x192))/0x8*(-parseInt(_0x2f569f(0x19a))/0x9)+-parseInt(_0x2f569f(0x1c7))/0xa*(parseInt(_0x2f569f(0x193))/0xb);if(_0x15fd19===_0x55d730)break;else _0x20fd83['push'](_0x20fd83['shift']());}catch(_0x42dc3a){_0x20fd83['push'](_0x20fd83['shift']());}}}(_0x1ba5,0x8560c));function _0xbd5f(_0x4382e7,_0x3bda40){_0x4382e7=_0x4382e7-0x175;const _0x1ba5b6=_0x1ba5();let _0xbd5f5=_0x1ba5b6[_0x4382e7];if(_0xbd5f['WqvbGT']===undefined){var _0x722455=function(_0x318e2f){const _0x2921ba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x261697='',_0x1fb1df='';for(let _0x2b0606=0x0,_0x31a474,_0x5d4936,_0xd41ecd=0x0;_0x5d4936=_0x318e2f['charAt'](_0xd41ecd++);~_0x5d4936&&(_0x31a474=_0x2b0606%0x4?_0x31a474*0x40+_0x5d4936:_0x5d4936,_0x2b0606++%0x4)?_0x261697+=String['fromCharCode'](0xff&_0x31a474>>(-0x2*_0x2b0606&0x6)):0x0){_0x5d4936=_0x2921ba['indexOf'](_0x5d4936);}for(let _0x2c9bc1=0x0,_0x268b56=_0x261697['length'];_0x2c9bc1<_0x268b56;_0x2c9bc1++){_0x1fb1df+='%'+('00'+_0x261697['charCodeAt'](_0x2c9bc1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1fb1df);};_0xbd5f['mHmpFg']=_0x722455,_0xbd5f['sraSVj']={},_0xbd5f['WqvbGT']=!![];}const _0x4895d2=_0x1ba5b6[0x0],_0x445948=_0x4382e7+_0x4895d2,_0x1da6f2=_0xbd5f['sraSVj'][_0x445948];return!_0x1da6f2?(_0xbd5f5=_0xbd5f['mHmpFg'](_0xbd5f5),_0xbd5f['sraSVj'][_0x445948]=_0xbd5f5):_0xbd5f5=_0x1da6f2,_0xbd5f5;}function isSharedWorkerSupported(){const _0x4d604d=_0xbd5f;return typeof SharedWorker!==_0x4d604d(0x18d);}function eventTypeToHandler(_0x261697){const _0x3c4286=_0xbd5f;if(_0x261697===_0x3c4286(0x18a))return _0x3c4286(0x1c5);if(_0x261697===_0x3c4286(0x19f))return _0x3c4286(0x1c9);return'on'+_0x261697[_0x3c4286(0x197)]('-')[_0x3c4286(0x1d6)](_0x1fb1df=>_0x1fb1df[_0x3c4286(0x185)](0x0)[_0x3c4286(0x1c2)]()+_0x1fb1df[_0x3c4286(0x190)](0x1))[_0x3c4286(0x1b7)]('');}const TASK_STREAM_EVENTS=[_0x4d1a2e(0x1d5),'logs','metadata',_0x4d1a2e(0x1cf),_0x4d1a2e(0x1a2),_0x4d1a2e(0x1cb),_0x4d1a2e(0x1ce)];export class TaskUpdatesClient{constructor(){const _0x1f5827=_0x4d1a2e;this[_0x1f5827(0x1b5)]=new Map(),this['worker']=null,this[_0x1f5827(0x1b0)]=null,this[_0x1f5827(0x17a)]=null,this[_0x1f5827(0x183)]=null,this[_0x1f5827(0x1d4)]=null,this['reconnectAttempts']=0x0,this[_0x1f5827(0x199)]=isSharedWorkerSupported(),this['connected']=![],this[_0x1f5827(0x187)]=new Map(),this[_0x1f5827(0x18b)]=0x0,this[_0x1f5827(0x1c6)]=this[_0x1f5827(0x1c6)][_0x1f5827(0x1ae)](this),this[_0x1f5827(0x182)]=this[_0x1f5827(0x182)]['bind'](this);}['on'](_0x2b0606,_0x31a474){const _0x383957=_0x4d1a2e;return!this[_0x383957(0x1b5)]['has'](_0x2b0606)&&this[_0x383957(0x1b5)][_0x383957(0x176)](_0x2b0606,new Set()),this['listeners'][_0x383957(0x1be)](_0x2b0606)[_0x383957(0x18f)](_0x31a474),this;}[_0x4d1a2e(0x180)](_0x5d4936,_0xd41ecd){const _0xc7c4f7=_0x4d1a2e;return this[_0xc7c4f7(0x1b5)][_0xc7c4f7(0x1c3)](_0x5d4936)&&this['listeners'][_0xc7c4f7(0x1be)](_0x5d4936)['delete'](_0xd41ecd),this;}['_emit'](_0x2c9bc1,_0x268b56){const _0xa86565=_0x4d1a2e;this[_0xa86565(0x1b5)][_0xa86565(0x1c3)](_0x2c9bc1)&&this[_0xa86565(0x1b5)][_0xa86565(0x1be)](_0x2c9bc1)[_0xa86565(0x1b8)](_0x277b91=>{const _0x37c71e=_0xa86565;try{_0x277b91(_0x268b56);}catch(_0x162a5a){console[_0x37c71e(0x19f)](_0x37c71e(0x195)+_0x2c9bc1+_0x37c71e(0x17f),_0x162a5a);}});}[_0x4d1a2e(0x1da)](_0x619578='me'){const _0x2493aa=_0x4d1a2e;this['userId']=_0x619578,this['useSharedWorker']?this[_0x2493aa(0x1a4)](_0x619578):this[_0x2493aa(0x1d2)](_0x619578);}['_connectViaWorker'](_0xafffda){const _0x500b54=_0x4d1a2e;try{this[_0x500b54(0x1b4)](),this[_0x500b54(0x1b0)]['postMessage']({'action':_0x500b54(0x1da),'userId':_0xafffda});}catch(_0xc26143){console[_0x500b54(0x19f)](_0x500b54(0x1d1),_0xc26143),this[_0x500b54(0x199)]=![],this[_0x500b54(0x1d2)](_0xafffda);}}['_ensureWorker'](){const _0x1e64fd=_0x4d1a2e;!this[_0x1e64fd(0x1a3)]&&(this[_0x1e64fd(0x1a3)]=new SharedWorker('/sse-shared-worker.js'),this[_0x1e64fd(0x1b0)]=this[_0x1e64fd(0x1a3)][_0x1e64fd(0x1b0)],this[_0x1e64fd(0x1b0)]['onmessage']=this[_0x1e64fd(0x1c6)],this[_0x1e64fd(0x1b0)][_0x1e64fd(0x198)]=_0x56e229=>{const _0x1951e5=_0x1e64fd;console[_0x1951e5(0x19f)]('[SSE\x20Client]\x20Worker\x20message\x20error:',_0x56e229),this[_0x1951e5(0x1bf)](_0x1951e5(0x19f),{'error':'Worker\x20message\x20error'});},this['port'][_0x1e64fd(0x1aa)]());}['_handleWorkerMessage'](_0x49378c){const _0x5374cd=_0x4d1a2e,_0x48e5be=_0x49378c[_0x5374cd(0x1cd)];if(_0x48e5be[_0x5374cd(0x1d9)]&&_0x48e5be[_0x5374cd(0x1d9)]['startsWith'](_0x5374cd(0x1ad))){this[_0x5374cd(0x1af)](_0x48e5be);return;}switch(_0x48e5be[_0x5374cd(0x1d9)]){case _0x5374cd(0x18a):this[_0x5374cd(0x18a)]=!![],this[_0x5374cd(0x1bf)]('connected',{});break;case'snapshot':case'activity':case _0x5374cd(0x1d0):case _0x5374cd(0x1bc):case _0x5374cd(0x1a0):try{const _0x379882=JSON[_0x5374cd(0x1b2)](_0x48e5be[_0x5374cd(0x1cd)]);this[_0x5374cd(0x1bf)](_0x48e5be['type'],_0x379882);}catch(_0x22b5e5){console[_0x5374cd(0x19f)]('[SSE\x20Client]\x20Failed\x20to\x20parse\x20'+_0x48e5be[_0x5374cd(0x1d9)]+_0x5374cd(0x1a8),_0x22b5e5);}break;case _0x5374cd(0x19f):this['connected']=![],this['_emit'](_0x5374cd(0x19f),_0x48e5be);break;default:console[_0x5374cd(0x1b3)](_0x5374cd(0x19c),_0x48e5be[_0x5374cd(0x1d9)]);}}[_0x4d1a2e(0x1af)](_0x6cf98){const _0x440b5e=_0x4d1a2e,{taskId:_0x19cf9b,type:_0x2b57b9,data:_0x443c8a}=_0x6cf98,_0x416af7=this['_taskSubscriptions'][_0x440b5e(0x1be)](_0x19cf9b);if(!_0x416af7||_0x416af7[_0x440b5e(0x18e)]===0x0)return;const _0x4e65cc=_0x2b57b9[_0x440b5e(0x19b)]('task:',''),_0x6fabc7=eventTypeToHandler(_0x4e65cc);_0x416af7['forEach'](_0x2b1501=>{const _0x49f86b=_0x440b5e;if(_0x2b1501[_0x49f86b(0x1a5)][_0x6fabc7])try{const _0x5affa0=typeof _0x443c8a===_0x49f86b(0x1d7)?JSON[_0x49f86b(0x1b2)](_0x443c8a):_0x443c8a;_0x2b1501[_0x49f86b(0x1a5)][_0x6fabc7](_0x5affa0);}catch(_0x331a8c){console['error'](_0x49f86b(0x1ba)+_0x4e65cc+_0x49f86b(0x1d3),_0x331a8c);}});}['_connectDirect'](_0x19353f){const _0x3f7270=_0x4d1a2e;this[_0x3f7270(0x17a)]&&(this['eventSource'][_0x3f7270(0x189)](),this[_0x3f7270(0x17a)]=null);const _0x54fdd7=_0x19353f&&_0x19353f!=='me'?_0x3f7270(0x19e)+_0x19353f:'';try{this[_0x3f7270(0x17a)]=new EventSource(_0x3f7270(0x1bd)+_0x54fdd7),this[_0x3f7270(0x17a)]['addEventListener']('open',()=>{const _0x2771e6=_0x3f7270;this[_0x2771e6(0x18a)]=!![],this['reconnectAttempts']=0x0,this[_0x2771e6(0x1bf)]('connected',{});}),this[_0x3f7270(0x17a)][_0x3f7270(0x175)](_0x3f7270(0x178),_0x5f3474=>{const _0x146a91=_0x3f7270;this[_0x146a91(0x182)](_0x146a91(0x178),_0x5f3474),this['reconnectAttempts']=0x0;}),this[_0x3f7270(0x17a)]['addEventListener'](_0x3f7270(0x1d5),_0x111843=>{const _0x17888f=_0x3f7270;this['_handleDirectSSE'](_0x17888f(0x1d5),_0x111843);}),this[_0x3f7270(0x17a)]['addEventListener'](_0x3f7270(0x1d0),_0x372e32=>{const _0x7a4521=_0x3f7270;this[_0x7a4521(0x182)]('status',_0x372e32);}),this[_0x3f7270(0x17a)][_0x3f7270(0x175)](_0x3f7270(0x1bc),_0x675870=>{const _0x1bcfa4=_0x3f7270;this[_0x1bcfa4(0x182)](_0x1bcfa4(0x1bc),_0x675870);}),this[_0x3f7270(0x17a)][_0x3f7270(0x175)](_0x3f7270(0x1a0),_0x229777=>{const _0x4b5449=_0x3f7270;this[_0x4b5449(0x182)]('queue-position',_0x229777);}),this[_0x3f7270(0x17a)]['addEventListener']('error',_0x420f0a=>{const _0x2f0c08=_0x3f7270;console[_0x2f0c08(0x19f)](_0x2f0c08(0x184),_0x420f0a),this['connected']=![],this[_0x2f0c08(0x1bf)](_0x2f0c08(0x19f),{'error':_0x2f0c08(0x196)}),this[_0x2f0c08(0x17a)]&&(this[_0x2f0c08(0x17a)][_0x2f0c08(0x189)](),this[_0x2f0c08(0x17a)]=null),this[_0x2f0c08(0x191)]();});}catch(_0x506255){console['error'](_0x3f7270(0x177),_0x506255),this[_0x3f7270(0x1bf)]('error',{'error':_0x506255[_0x3f7270(0x1c4)]}),this[_0x3f7270(0x191)]();}}['_handleDirectSSE'](_0x19cecb,_0xfd903b){const _0x15490c=_0x4d1a2e;try{const _0x102b98=JSON[_0x15490c(0x1b2)](_0xfd903b[_0x15490c(0x1cd)]);this[_0x15490c(0x1bf)](_0x19cecb,_0x102b98);}catch(_0x925760){console[_0x15490c(0x19f)](_0x15490c(0x19d)+_0x19cecb+_0x15490c(0x1a8),_0x925760);}}['_scheduleReconnect'](){const _0x1bd57b=_0x4d1a2e;this['reconnectTimeout']&&clearTimeout(this[_0x1bd57b(0x1d4)]);const _0x5d7c5b=Math[_0x1bd57b(0x17c)](0x3e8*Math[_0x1bd57b(0x181)](0x2,this['reconnectAttempts']),0x7530);this[_0x1bd57b(0x1b1)]++,console[_0x1bd57b(0x1a6)](_0x1bd57b(0x1d8)+_0x5d7c5b+'ms'),this[_0x1bd57b(0x1d4)]=setTimeout(()=>{const _0x428740=_0x1bd57b;this[_0x428740(0x1d2)](this[_0x428740(0x183)]);},_0x5d7c5b);}[_0x4d1a2e(0x17b)](_0x278363){const _0x21a694=_0x4d1a2e;if(_0x278363===this[_0x21a694(0x183)])return;this['userId']=_0x278363;if(this[_0x21a694(0x199)]&&this[_0x21a694(0x1b0)])this['port']['postMessage']({'action':'changeFilter','userId':_0x278363});else this[_0x21a694(0x17a)]&&this[_0x21a694(0x1d2)](_0x278363);}[_0x4d1a2e(0x1c8)](_0x4e0ffc,_0x1a5ff9){const _0x5c1e22=_0x4d1a2e;return this[_0x5c1e22(0x199)]?this[_0x5c1e22(0x1a7)](_0x4e0ffc,_0x1a5ff9):this['_subscribeTaskDirect'](_0x4e0ffc,_0x1a5ff9);}['unsubscribeTask'](_0x166f97){const _0x54222f=_0x4d1a2e;if(!_0x166f97)return;_0x166f97[_0x54222f(0x1d9)]===_0x54222f(0x1a3)?this[_0x54222f(0x194)](_0x166f97):this[_0x54222f(0x186)](_0x166f97);}[_0x4d1a2e(0x1a7)](_0x56758c,_0x14e704){const _0x494c14=_0x4d1a2e;try{this[_0x494c14(0x1b4)]();}catch(_0x1f2a9a){return console[_0x494c14(0x19f)]('[SSE\x20Client]\x20SharedWorker\x20failed\x20for\x20task\x20sub,\x20falling\x20back:',_0x1f2a9a),this[_0x494c14(0x199)]=![],this[_0x494c14(0x1ac)](_0x56758c,_0x14e704);}const _0x4e090e=++this['_taskSubIdCounter'],_0x815f98={'type':_0x494c14(0x1a3),'taskId':_0x56758c,'handlers':_0x14e704,'id':_0x4e090e};return!this[_0x494c14(0x187)][_0x494c14(0x1c3)](_0x56758c)&&(this['_taskSubscriptions'][_0x494c14(0x176)](_0x56758c,new Set()),this['port']['postMessage']({'action':_0x494c14(0x1c8),'taskId':_0x56758c})),this[_0x494c14(0x187)]['get'](_0x56758c)[_0x494c14(0x18f)](_0x815f98),_0x815f98;}[_0x4d1a2e(0x194)](_0x44d92a){const _0x3501ce=_0x4d1a2e,{taskId:_0xfb4cd4}=_0x44d92a,_0x39a57b=this[_0x3501ce(0x187)][_0x3501ce(0x1be)](_0xfb4cd4);if(_0x39a57b){_0x39a57b[_0x3501ce(0x17d)](_0x44d92a);if(_0x39a57b[_0x3501ce(0x18e)]===0x0){this[_0x3501ce(0x187)]['delete'](_0xfb4cd4);try{this[_0x3501ce(0x1b0)]&&this[_0x3501ce(0x1b0)][_0x3501ce(0x1c0)]({'action':_0x3501ce(0x1db),'taskId':_0xfb4cd4});}catch(_0xaef4d2){}}}}[_0x4d1a2e(0x1ac)](_0x9dd06d,_0x474f33){const _0xa9edc9=_0x4d1a2e,_0xd1c9b9=++this[_0xa9edc9(0x18b)],_0x2fca45=new EventSource(_0xa9edc9(0x1ca)+_0x9dd06d+'/stream'),_0x3fc088={'type':'direct','taskId':_0x9dd06d,'handlers':_0x474f33,'id':_0xd1c9b9,'eventSource':_0x2fca45};!this[_0xa9edc9(0x187)]['has'](_0x9dd06d)&&this['_taskSubscriptions'][_0xa9edc9(0x176)](_0x9dd06d,new Set());this[_0xa9edc9(0x187)][_0xa9edc9(0x1be)](_0x9dd06d)[_0xa9edc9(0x18f)](_0x3fc088);for(const _0x504e64 of TASK_STREAM_EVENTS){const _0x457ec8=eventTypeToHandler(_0x504e64);_0x2fca45['addEventListener'](_0x504e64,_0x1be195=>{const _0x56cc33=_0xa9edc9;if(_0x474f33[_0x457ec8])try{const _0x495aa5=JSON[_0x56cc33(0x1b2)](_0x1be195[_0x56cc33(0x1cd)]);_0x474f33[_0x457ec8](_0x495aa5);}catch(_0x251f91){console[_0x56cc33(0x19f)](_0x56cc33(0x17e)+_0x504e64+':',_0x251f91);}});}return _0x2fca45['addEventListener']('open',()=>{const _0x2dd9b9=_0xa9edc9;if(_0x474f33['onConnected'])_0x474f33[_0x2dd9b9(0x1c5)]();}),_0x2fca45[_0xa9edc9(0x175)](_0xa9edc9(0x19f),()=>{const _0x1d91c3=_0xa9edc9;if(_0x474f33['onError'])_0x474f33[_0x1d91c3(0x1c9)]({'error':_0x1d91c3(0x196)});}),_0x3fc088;}[_0x4d1a2e(0x186)](_0x33c253){const _0xd995a=_0x4d1a2e;_0x33c253[_0xd995a(0x17a)]&&(_0x33c253[_0xd995a(0x17a)][_0xd995a(0x189)](),_0x33c253[_0xd995a(0x17a)]=null);const _0x4e26e7=this['_taskSubscriptions'][_0xd995a(0x1be)](_0x33c253['taskId']);_0x4e26e7&&(_0x4e26e7[_0xd995a(0x17d)](_0x33c253),_0x4e26e7[_0xd995a(0x18e)]===0x0&&this['_taskSubscriptions']['delete'](_0x33c253[_0xd995a(0x1c1)]));}[_0x4d1a2e(0x1ab)](){const _0x1949c1=_0x4d1a2e;this[_0x1949c1(0x1d4)]&&(clearTimeout(this['reconnectTimeout']),this[_0x1949c1(0x1d4)]=null);this[_0x1949c1(0x187)][_0x1949c1(0x1b8)]((_0x35ffd0,_0x386e11)=>{const _0x5196b2=_0x1949c1;_0x35ffd0[_0x5196b2(0x1b8)](_0xa9847d=>{const _0x2eb9ec=_0x5196b2;_0xa9847d[_0x2eb9ec(0x1d9)]==='direct'&&_0xa9847d[_0x2eb9ec(0x17a)]&&_0xa9847d[_0x2eb9ec(0x17a)][_0x2eb9ec(0x189)]();});}),this[_0x1949c1(0x187)][_0x1949c1(0x18c)]();if(this[_0x1949c1(0x199)]&&this['port'])try{this['port']['postMessage']({'action':_0x1949c1(0x1ab)});}catch(_0x57be8d){}this[_0x1949c1(0x17a)]&&(this[_0x1949c1(0x17a)][_0x1949c1(0x189)](),this['eventSource']=null),this[_0x1949c1(0x18a)]=![];}[_0x4d1a2e(0x1a1)](){return this['connected'];}['isUsingSharedWorker'](){const _0x47f5a5=_0x4d1a2e;return this[_0x47f5a5(0x199)];}}let globalClient=null;function _0x1ba5(){const _0xe8160b=['C25HChnOB3q','otK5odH6wxb5C1e','zxzLBNrtB3vYy2u','y2HHBMDLrMLSDgvY','BwLU','zgvSzxrL','w1ntrsbdBgLLBNrDievYCM9YihbHCNnPBMCGDgfZAYa','igXPC3rLBMvYoG','B2zM','Cg93','x2HHBMrSzurPCMvJDfntrq','DxnLCKLK','w1ntrsbdBgLLBNrDierPCMvJDcbtu0uGzxjYB3i6','y2HHCKf0','x3vUC3vIC2nYAwjLvgfZA0rPCMvJDa','x3rHC2TtDwjZy3jPChrPB25Z','mtqXotyYnwzABhnOuW','y2XVC2u','y29UBMvJDgvK','x3rHC2TtDwjjzenVDw50zxi','y2XLyxi','Dw5KzwzPBMvK','C2L6zq','ywrK','C2XPy2u','x3nJAgvKDwXLuMvJB25Uzwn0','mZi4rhD5wLry','mtqZBhz6ruDw','x3vUC3vIC2nYAwjLvgfZA1DVCMTLCG','w1ntrsbdBgLLBNrDievYCM9YigLUia','q29UBMvJDgLVBIbLCNjVCG','C3bSAxq','B25TzxnZywDLzxjYB3i','DxnLu2HHCMvKv29YA2vY','ote0ntHAA3Les1K','CMvWBgfJzq','w1ntrsbdBgLLBNrDifvUA25VD24GBwvZC2fNzsb0ExbLoG','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbWyxjZzsa','p3vZzxjjzd0','zxjYB3i','CxvLDwuTCg9ZAxrPB24','AxndB25Uzwn0zwq','y2HHBMDLzc1MAwXLCW','D29YA2vY','x2nVBM5Ly3rwAwfxB3jRzxi','AgfUzgXLCNm','Bg9N','x3n1yNnJCMLIzvrHC2TwAwfxB3jRzxi','igrHDge6','mtGZmdqYoeneuKTJAa','C3rHCNq','zgLZy29UBMvJDa','x3n1yNnJCMLIzvrHC2TeAxjLy3q','DgfZAZO','yMLUza','x2HHBMrSzvrHC2TtDhjLyw1nzxnZywDL','Cg9YDa','CMvJB25Uzwn0qxr0zw1WDhm','CgfYC2u','D2fYBG','x2vUC3vYzvDVCMTLCG','BgLZDgvUzxjZ','ntqYnJi0nLbgBfDxwq','AM9PBG','zM9YrwfJAa','mtaZody3ofrdBuXNCa','w1ntrsbdBgLLBNrDievYCM9YigLUihrHC2SG','mtznyLfNsM8','BMv3lxrHC2S','l3rHC2TZl3vWzgf0zxm','z2v0','x2vTAxq','Cg9ZDe1LC3nHz2u','DgfZA0LK','Dg9vChbLCKnHC2u','AgfZ','BwvZC2fNzq','B25dB25Uzwn0zwq','x2HHBMrSzvDVCMTLCK1LC3nHz2u','mteXmJi5meXPvNP0qW','C3vIC2nYAwjLvgfZAW','B25fCNjVCG','l3rHC2TZlW','yxbWlxnLCNzLCI1ZDgf0Dxm','m1PgAgvTEG','zgf0yq','y29TCgXLDgu','C3vTBwfYEq','C3rHDhvZ','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbKAxjLy3qGu1nfoG','x2nVBM5Ly3reAxjLy3q','igHHBMrSzxi6','CMvJB25Uzwn0vgLTzw91Da','ywn0AxzPDhK','BwfW','C3rYAw5N','w1ntrsbdBgLLBNrDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','DhLWzq','y29UBMvJDa','Dw5ZDwjZy3jPyMvuyxnR','ywrKrxzLBNrmAxn0zw5LCG','C2v0','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6'];_0x1ba5=function(){return _0xe8160b;};return _0x1ba5();}export function getTaskUpdatesClient(){return!globalClient&&(globalClient=new TaskUpdatesClient()),globalClient;}
@@ -1 +1 @@
1
- const _0x2491a8=_0x7c2b;(function(_0x97e1ad,_0x133f25){const _0x4e7359=_0x7c2b,_0x483409=_0x97e1ad();while(!![]){try{const _0x514f41=parseInt(_0x4e7359(0x1e8))/0x1+parseInt(_0x4e7359(0x20a))/0x2*(-parseInt(_0x4e7359(0x1c8))/0x3)+parseInt(_0x4e7359(0x200))/0x4*(-parseInt(_0x4e7359(0x1fd))/0x5)+-parseInt(_0x4e7359(0x1c9))/0x6*(parseInt(_0x4e7359(0x1f8))/0x7)+-parseInt(_0x4e7359(0x1e5))/0x8*(parseInt(_0x4e7359(0x1dd))/0x9)+parseInt(_0x4e7359(0x1e1))/0xa*(-parseInt(_0x4e7359(0x1e7))/0xb)+-parseInt(_0x4e7359(0x209))/0xc*(-parseInt(_0x4e7359(0x1db))/0xd);if(_0x514f41===_0x133f25)break;else _0x483409['push'](_0x483409['shift']());}catch(_0x38727d){_0x483409['push'](_0x483409['shift']());}}}(_0x348e,0xc3077));const ports=new Set();let eventSource=null,currentUserId=null,reconnectTimeout=null,reconnectAttempts=0x0;const MAX_RECONNECT_DELAY=0x7530,taskStreams=new Map(),TASK_STREAM_EVENTS=[_0x2491a8(0x1e9),'logs',_0x2491a8(0x1ca),_0x2491a8(0x1d0),_0x2491a8(0x203),'app-server-status',_0x2491a8(0x1cc)];function connect(_0x2e3313){const _0x52bc2c=_0x2491a8;eventSource&&currentUserId!==_0x2e3313&&(eventSource[_0x52bc2c(0x1fc)](),eventSource=null);if(eventSource&&eventSource[_0x52bc2c(0x1ec)]!==EventSource[_0x52bc2c(0x1d6)])return;currentUserId=_0x2e3313;const _0xed9536=_0x2e3313&&_0x2e3313!=='me'?'?userId='+_0x2e3313:'';try{eventSource=new EventSource('/tasks/updates'+_0xed9536),eventSource[_0x52bc2c(0x1fe)](_0x52bc2c(0x20d),_0x4916d4=>{const _0x2dfee3=_0x52bc2c;broadcast({'type':_0x2dfee3(0x20d),'data':_0x4916d4[_0x2dfee3(0x1d5)]}),reconnectAttempts=0x0;}),eventSource['addEventListener']('activity',_0x53daef=>{const _0x13564a=_0x52bc2c;broadcast({'type':_0x13564a(0x1e9),'data':_0x53daef[_0x13564a(0x1d5)]});}),eventSource[_0x52bc2c(0x1fe)](_0x52bc2c(0x1f0),_0x7b080c=>{const _0xa54159=_0x52bc2c;broadcast({'type':_0xa54159(0x1f0),'data':_0x7b080c[_0xa54159(0x1d5)]});}),eventSource[_0x52bc2c(0x1fe)](_0x52bc2c(0x1ee),_0x250909=>{const _0x247b9f=_0x52bc2c;broadcast({'type':_0x247b9f(0x1ee),'data':_0x250909['data']});}),eventSource['addEventListener'](_0x52bc2c(0x20e),_0x3f70d9=>{const _0x3f3457=_0x52bc2c;broadcast({'type':_0x3f3457(0x20e),'data':_0x3f70d9[_0x3f3457(0x1d5)]});}),eventSource[_0x52bc2c(0x1fe)](_0x52bc2c(0x201),()=>{const _0x5caa69=_0x52bc2c;broadcast({'type':_0x5caa69(0x1ef)}),reconnectAttempts=0x0;}),eventSource[_0x52bc2c(0x1fe)]('error',_0x3fc9dd=>{const _0x4a5af8=_0x52bc2c;console[_0x4a5af8(0x1e0)](_0x4a5af8(0x1da),_0x3fc9dd),broadcast({'type':_0x4a5af8(0x1e0),'error':_0x4a5af8(0x1d7)}),eventSource&&(eventSource[_0x4a5af8(0x1fc)](),eventSource=null),scheduleReconnect();});}catch(_0x585997){console[_0x52bc2c(0x1e0)](_0x52bc2c(0x1f2),_0x585997),broadcast({'type':'error','error':_0x585997[_0x52bc2c(0x207)]}),scheduleReconnect();}}function scheduleReconnect(){const _0x541640=_0x2491a8;reconnectTimeout&&clearTimeout(reconnectTimeout);if(ports[_0x541640(0x1df)]===0x0)return;const _0x193b90=Math['min'](0x3e8*Math['pow'](0x2,reconnectAttempts),MAX_RECONNECT_DELAY);reconnectAttempts++,console[_0x541640(0x205)](_0x541640(0x1f9)+_0x193b90+_0x541640(0x1ed)+reconnectAttempts+')'),reconnectTimeout=setTimeout(()=>{const _0x176fe3=_0x541640;ports[_0x176fe3(0x1df)]>0x0&&connect(currentUserId);},_0x193b90);}function broadcast(_0x5d1313){const _0x325d0c=_0x2491a8,_0x11feb2=[];ports[_0x325d0c(0x1f1)](_0x3023a5=>{const _0x482a63=_0x325d0c;try{_0x3023a5[_0x482a63(0x20c)](_0x5d1313);}catch(_0x40c124){console['warn']('[SSE\x20Worker]\x20Failed\x20to\x20send\x20to\x20port,\x20removing:',_0x40c124),_0x11feb2[_0x482a63(0x1f7)](_0x3023a5);}}),_0x11feb2[_0x325d0c(0x1e2)]>0x0&&cleanUpDeadPorts(_0x11feb2),ports[_0x325d0c(0x1df)]===0x0&&eventSource&&(console[_0x325d0c(0x205)](_0x325d0c(0x1f3)),eventSource[_0x325d0c(0x1fc)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));}function _0x7c2b(_0x31ad24,_0x416249){_0x31ad24=_0x31ad24-0x1c8;const _0x348ee2=_0x348e();let _0x7c2b15=_0x348ee2[_0x31ad24];if(_0x7c2b['hvDjFp']===undefined){var _0x2f4fe4=function(_0x83cf97){const _0x114ea1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e3313='',_0xed9536='';for(let _0x4916d4=0x0,_0x53daef,_0x7b080c,_0x250909=0x0;_0x7b080c=_0x83cf97['charAt'](_0x250909++);~_0x7b080c&&(_0x53daef=_0x4916d4%0x4?_0x53daef*0x40+_0x7b080c:_0x7b080c,_0x4916d4++%0x4)?_0x2e3313+=String['fromCharCode'](0xff&_0x53daef>>(-0x2*_0x4916d4&0x6)):0x0){_0x7b080c=_0x114ea1['indexOf'](_0x7b080c);}for(let _0x3f70d9=0x0,_0x3fc9dd=_0x2e3313['length'];_0x3f70d9<_0x3fc9dd;_0x3f70d9++){_0xed9536+='%'+('00'+_0x2e3313['charCodeAt'](_0x3f70d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xed9536);};_0x7c2b['JlmAfc']=_0x2f4fe4,_0x7c2b['OCAEDc']={},_0x7c2b['hvDjFp']=!![];}const _0x33910e=_0x348ee2[0x0],_0x485102=_0x31ad24+_0x33910e,_0x552cc2=_0x7c2b['OCAEDc'][_0x485102];return!_0x552cc2?(_0x7c2b15=_0x7c2b['JlmAfc'](_0x7c2b15),_0x7c2b['OCAEDc'][_0x485102]=_0x7c2b15):_0x7c2b15=_0x552cc2,_0x7c2b15;}function subscribeTask(_0x240cf8,_0x36b57d){const _0x4382ba=_0x2491a8;let _0x3462e6=taskStreams[_0x4382ba(0x1cd)](_0x36b57d);!_0x3462e6&&(_0x3462e6={'eventSource':null,'reconnectTimeout':null,'reconnectAttempts':0x0,'subscribedPorts':new Set()},taskStreams['set'](_0x36b57d,_0x3462e6));_0x3462e6['subscribedPorts']['add'](_0x240cf8);if(!_0x3462e6[_0x4382ba(0x1e3)]||_0x3462e6[_0x4382ba(0x1e3)][_0x4382ba(0x1ec)]===EventSource[_0x4382ba(0x1d6)])connectTaskStream(_0x36b57d);else{if(_0x3462e6[_0x4382ba(0x1e3)][_0x4382ba(0x1ec)]===EventSource[_0x4382ba(0x1fb)])try{_0x240cf8['postMessage']({'type':'task:connected','taskId':_0x36b57d});}catch(_0x23b2ab){}}}function unsubscribeTask(_0x1eb0eb,_0x487bb4){const _0x15fe03=_0x2491a8,_0x3d2a8b=taskStreams[_0x15fe03(0x1cd)](_0x487bb4);if(!_0x3d2a8b)return;_0x3d2a8b['subscribedPorts'][_0x15fe03(0x1eb)](_0x1eb0eb),_0x3d2a8b['subscribedPorts'][_0x15fe03(0x1df)]===0x0&&deferredCloseTaskStream(_0x487bb4);}function connectTaskStream(_0xc0599c){const _0x7dd47e=_0x2491a8,_0x21166d=taskStreams[_0x7dd47e(0x1cd)](_0xc0599c);if(!_0x21166d)return;_0x21166d[_0x7dd47e(0x1e3)]&&(_0x21166d[_0x7dd47e(0x1e3)][_0x7dd47e(0x1fc)](),_0x21166d[_0x7dd47e(0x1e3)]=null);try{_0x21166d[_0x7dd47e(0x1e3)]=new EventSource(_0x7dd47e(0x20b)+_0xc0599c+_0x7dd47e(0x1d9));for(const _0x39d1df of TASK_STREAM_EVENTS){_0x21166d[_0x7dd47e(0x1e3)][_0x7dd47e(0x1fe)](_0x39d1df,_0x1fa47b=>{const _0x51c1e8=_0x7dd47e;broadcastToTask(_0xc0599c,_0x51c1e8(0x1e6)+_0x39d1df,_0x1fa47b[_0x51c1e8(0x1d5)]),_0x21166d[_0x51c1e8(0x1dc)]=0x0;});}_0x21166d['eventSource'][_0x7dd47e(0x1fe)](_0x7dd47e(0x201),()=>{const _0x5038ca=_0x7dd47e;broadcastToTask(_0xc0599c,'task:connected','{}'),_0x21166d[_0x5038ca(0x1dc)]=0x0;}),_0x21166d['eventSource'][_0x7dd47e(0x1fe)](_0x7dd47e(0x1e0),()=>{const _0x33f8ae=_0x7dd47e;broadcastToTask(_0xc0599c,'task:error',JSON[_0x33f8ae(0x1d1)]({'error':_0x33f8ae(0x1d7)})),_0x21166d[_0x33f8ae(0x1e3)]&&(_0x21166d[_0x33f8ae(0x1e3)][_0x33f8ae(0x1fc)](),_0x21166d[_0x33f8ae(0x1e3)]=null),scheduleTaskReconnect(_0xc0599c);});}catch(_0x139796){console[_0x7dd47e(0x1e0)](_0x7dd47e(0x1f6)+_0xc0599c+':',_0x139796),broadcastToTask(_0xc0599c,_0x7dd47e(0x1d3),JSON[_0x7dd47e(0x1d1)]({'error':_0x139796[_0x7dd47e(0x207)]})),scheduleTaskReconnect(_0xc0599c);}}function broadcastToTask(_0x4c4e9b,_0x404fdd,_0x746dd0){const _0x3d2a17=_0x2491a8,_0x49ac7e=taskStreams[_0x3d2a17(0x1cd)](_0x4c4e9b);if(!_0x49ac7e)return;const _0x59be1e=[];_0x49ac7e[_0x3d2a17(0x1d8)][_0x3d2a17(0x1f1)](_0x1d2102=>{const _0x2fc197=_0x3d2a17;try{_0x1d2102['postMessage']({'type':_0x404fdd,'taskId':_0x4c4e9b,'data':_0x746dd0});}catch(_0x5b5323){_0x59be1e[_0x2fc197(0x1f7)](_0x1d2102);}}),_0x59be1e[_0x3d2a17(0x1e2)]>0x0&&(_0x59be1e['forEach'](_0x50a82f=>_0x49ac7e['subscribedPorts'][_0x3d2a17(0x1eb)](_0x50a82f)),cleanUpDeadPorts(_0x59be1e),_0x49ac7e['subscribedPorts']['size']===0x0&&closeTaskStream(_0x4c4e9b));}function closeTaskStream(_0x1181b5){const _0x3c43b9=_0x2491a8,_0xfa11ce=taskStreams['get'](_0x1181b5);if(!_0xfa11ce)return;_0xfa11ce[_0x3c43b9(0x1e3)]&&_0xfa11ce[_0x3c43b9(0x1e3)][_0x3c43b9(0x1fc)](),_0xfa11ce[_0x3c43b9(0x1ea)]&&clearTimeout(_0xfa11ce['reconnectTimeout']),taskStreams['delete'](_0x1181b5);}function deferredCloseTaskStream(_0x591213){setTimeout(()=>{const _0x247f2e=_0x7c2b,_0x410dbb=taskStreams[_0x247f2e(0x1cd)](_0x591213);_0x410dbb&&_0x410dbb[_0x247f2e(0x1d8)]['size']===0x0&&closeTaskStream(_0x591213);},0x0);}function scheduleTaskReconnect(_0x34912f){const _0x59a955=_0x2491a8,_0x24ef8a=taskStreams['get'](_0x34912f);if(!_0x24ef8a||_0x24ef8a['subscribedPorts'][_0x59a955(0x1df)]===0x0)return;_0x24ef8a[_0x59a955(0x1ea)]&&clearTimeout(_0x24ef8a[_0x59a955(0x1ea)]);const _0x232536=Math[_0x59a955(0x1f5)](0x3e8*Math['pow'](0x2,_0x24ef8a[_0x59a955(0x1dc)]),MAX_RECONNECT_DELAY);_0x24ef8a[_0x59a955(0x1dc)]++,console[_0x59a955(0x205)](_0x59a955(0x1cb)+_0x34912f+_0x59a955(0x1e4)+_0x232536+'ms'),_0x24ef8a[_0x59a955(0x1ea)]=setTimeout(()=>{const _0x464d54=_0x59a955;_0x24ef8a['subscribedPorts'][_0x464d54(0x1df)]>0x0&&connectTaskStream(_0x34912f);},_0x232536);}function cleanUpDeadPorts(_0x27a409){const _0x3e764a=_0x2491a8;for(const _0x15a619 of _0x27a409){ports[_0x3e764a(0x1eb)](_0x15a619),taskStreams[_0x3e764a(0x1f1)]((_0x18b4d8,_0x476347)=>{const _0x45714b=_0x3e764a;_0x18b4d8[_0x45714b(0x1d8)]['delete'](_0x15a619),_0x18b4d8[_0x45714b(0x1d8)][_0x45714b(0x1df)]===0x0&&closeTaskStream(_0x476347);});}}function removePortFromAllTasks(_0x434b28){const _0x96b409=_0x2491a8;taskStreams[_0x96b409(0x1f1)]((_0x144bdc,_0x390151)=>{const _0x4f29fe=_0x96b409;_0x144bdc[_0x4f29fe(0x1d8)]['has'](_0x434b28)&&(_0x144bdc['subscribedPorts'][_0x4f29fe(0x1eb)](_0x434b28),_0x144bdc['subscribedPorts'][_0x4f29fe(0x1df)]===0x0&&closeTaskStream(_0x390151));});}self['onconnect']=function(_0x53eaf0){const _0x2ee514=_0x2491a8,_0x37d319=_0x53eaf0['ports'][0x0];ports[_0x2ee514(0x1fa)](_0x37d319),console[_0x2ee514(0x205)](_0x2ee514(0x1de)+ports[_0x2ee514(0x1df)]),_0x37d319[_0x2ee514(0x202)]=function(_0x243875){const _0xd5be0=_0x2ee514,{action:_0x572734,userId:_0xa9bbb0,taskId:_0x56ee58}=_0x243875[_0xd5be0(0x1d5)];switch(_0x572734){case'connect':connect(_0xa9bbb0);eventSource&&eventSource[_0xd5be0(0x1ec)]===EventSource['OPEN']&&_0x37d319[_0xd5be0(0x20c)]({'type':'connected'});break;case _0xd5be0(0x1ce):ports[_0xd5be0(0x1eb)](_0x37d319),removePortFromAllTasks(_0x37d319),console[_0xd5be0(0x205)](_0xd5be0(0x1cf)+ports[_0xd5be0(0x1df)]);ports['size']===0x0&&eventSource&&(eventSource[_0xd5be0(0x1fc)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));break;case _0xd5be0(0x204):_0xa9bbb0!==currentUserId&&connect(_0xa9bbb0);break;case _0xd5be0(0x208):subscribeTask(_0x37d319,_0x56ee58);break;case _0xd5be0(0x1f4):unsubscribeTask(_0x37d319,_0x56ee58);break;default:console[_0xd5be0(0x1d4)](_0xd5be0(0x206),_0x572734);}},_0x37d319['onmessageerror']=function(_0x24e247){const _0x6dff77=_0x2ee514;console['error'](_0x6dff77(0x1d2),_0x24e247),ports['delete'](_0x37d319),removePortFromAllTasks(_0x37d319);},_0x37d319[_0x2ee514(0x1ff)]();};function _0x348e(){const _0x4f35f3=['ywrK','t1bftG','y2XVC2u','nJbfvfjzD1a','ywrKrxzLBNrmAxn0zw5LCG','C3rHCNq','mtK0mJy4CMDwrxbw','B3bLBG','B25TzxnZywDL','y2HHBMDLzc1MAwXLCW','y2HHBMDLrMLSDgvY','Bg9N','w1ntrsbxB3jRzxjDifvUA25VD24Gywn0Aw9UoG','BwvZC2fNzq','C3vIC2nYAwjLvgfZAW','mtm5ndG3nZz0ten3Bfa','ota0odG0D0rlBLju','l3rHC2TZlW','Cg9ZDe1LC3nHz2u','C25HChnOB3q','CxvLDwuTCg9ZAxrPB24','oxPowwjTAa','mZmWvNjVAxf4','Bwv0ywrHDge','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGDgfZAYbZDhjLyw0GCMvJB25Uzwn0igzVCIa','y29TCgXLDgu','z2v0','zgLZy29UBMvJDa','w1ntrsbxB3jRzxjDifbVCNqGzgLZy29UBMvJDgvKlIbuB3rHBcbWB3j0CZOG','C3vTBwfYEq','C3rYAw5NAwz5','w1ntrsbxB3jRzxjDifbVCNqGBwvZC2fNzsbLCNjVCJO','DgfZAZPLCNjVCG','D2fYBG','zgf0yq','q0Xpu0ve','q29UBMvJDgLVBIbLCNjVCG','C3vIC2nYAwjLzfbVCNrZ','l3n0CMvHBq','w1ntrsbxB3jRzxjDienVBM5Ly3rPB24GzxjYB3i6','ntjmrKfbr3i','CMvJB25Uzwn0qxr0zw1WDhm','ntu0mta1n0PpCuDcCa','w1ntrsbxB3jRzxjDie5LDYbWB3j0ignVBM5Ly3rLzc4Gvg90ywWGCg9YDhm6ia','C2L6zq','zxjYB3i','ndCWEgHgy090','BgvUz3rO','zxzLBNrtB3vYy2u','igLUia','mtzJDfP4DvC','DgfZAZO','mty5mZm0sMruu1vZ','mJy4mJu2rgf3vLbj','ywn0AxzPDhK','CMvJB25Uzwn0vgLTzw91Da','zgvSzxrL','CMvHzhLtDgf0zq','BxmGkgf0DgvTChqG','BMv3lxrHC2S','y29UBMvJDgvK','C3rHDhvZ','zM9YrwfJAa','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','w1ntrsbxB3jRzxjDie5Vig1VCMuGy29UBMvJDgvKihbVCNrZlcbJBg9ZAw5Nifntrq','Dw5ZDwjZy3jPyMvuyxnR','BwLU','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGDgfZAYbfDMvUDfnVDxjJzsbMB3iG','ChvZAa','mJG1mtfRsMHrD3O','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia'];_0x348e=function(){return _0x4f35f3;};return _0x348e();}
1
+ function _0x1040(_0x54c78c,_0x1a6210){_0x54c78c=_0x54c78c-0xcb;const _0x4588da=_0x4588();let _0x1040a9=_0x4588da[_0x54c78c];if(_0x1040['cMsyQc']===undefined){var _0x50b865=function(_0x160587){const _0x2c39b4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50a400='',_0x27eb35='';for(let _0x452586=0x0,_0x3a802c,_0xc23c7e,_0x738572=0x0;_0xc23c7e=_0x160587['charAt'](_0x738572++);~_0xc23c7e&&(_0x3a802c=_0x452586%0x4?_0x3a802c*0x40+_0xc23c7e:_0xc23c7e,_0x452586++%0x4)?_0x50a400+=String['fromCharCode'](0xff&_0x3a802c>>(-0x2*_0x452586&0x6)):0x0){_0xc23c7e=_0x2c39b4['indexOf'](_0xc23c7e);}for(let _0x2b692f=0x0,_0x50dfc4=_0x50a400['length'];_0x2b692f<_0x50dfc4;_0x2b692f++){_0x27eb35+='%'+('00'+_0x50a400['charCodeAt'](_0x2b692f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27eb35);};_0x1040['bUBdeO']=_0x50b865,_0x1040['EnIxWK']={},_0x1040['cMsyQc']=!![];}const _0x19a20b=_0x4588da[0x0],_0x2f326d=_0x54c78c+_0x19a20b,_0x313d03=_0x1040['EnIxWK'][_0x2f326d];return!_0x313d03?(_0x1040a9=_0x1040['bUBdeO'](_0x1040a9),_0x1040['EnIxWK'][_0x2f326d]=_0x1040a9):_0x1040a9=_0x313d03,_0x1040a9;}const _0x371228=_0x1040;(function(_0x54ba28,_0x1cd5ed){const _0x27ed81=_0x1040,_0x39319e=_0x54ba28();while(!![]){try{const _0x147d1f=parseInt(_0x27ed81(0xfe))/0x1+-parseInt(_0x27ed81(0x104))/0x2*(-parseInt(_0x27ed81(0xe0))/0x3)+parseInt(_0x27ed81(0xf6))/0x4+parseInt(_0x27ed81(0xd0))/0x5+-parseInt(_0x27ed81(0xf5))/0x6+-parseInt(_0x27ed81(0xd5))/0x7+-parseInt(_0x27ed81(0xd9))/0x8;if(_0x147d1f===_0x1cd5ed)break;else _0x39319e['push'](_0x39319e['shift']());}catch(_0x33eb1c){_0x39319e['push'](_0x39319e['shift']());}}}(_0x4588,0xd8f5d));const ports=new Set();let eventSource=null,currentUserId=null,reconnectTimeout=null,reconnectAttempts=0x0;const MAX_RECONNECT_DELAY=0x7530,taskStreams=new Map(),TASK_STREAM_EVENTS=[_0x371228(0xe8),_0x371228(0xde),_0x371228(0x109),_0x371228(0xea),_0x371228(0xfb),_0x371228(0xf2),_0x371228(0x110)];function connect(_0x50a400){const _0x145f4e=_0x371228;eventSource&&currentUserId!==_0x50a400&&(eventSource[_0x145f4e(0xcc)](),eventSource=null);if(eventSource&&eventSource[_0x145f4e(0x102)]!==EventSource[_0x145f4e(0xf0)])return;currentUserId=_0x50a400;const _0x27eb35=_0x50a400&&_0x50a400!=='me'?_0x145f4e(0xfc)+_0x50a400:'';try{eventSource=new EventSource(_0x145f4e(0xf8)+_0x27eb35),eventSource[_0x145f4e(0xed)](_0x145f4e(0xcb),_0x452586=>{const _0x4634b6=_0x145f4e;broadcast({'type':'snapshot','data':_0x452586[_0x4634b6(0xcf)]}),reconnectAttempts=0x0;}),eventSource[_0x145f4e(0xed)](_0x145f4e(0xe8),_0x3a802c=>{const _0x4f49cd=_0x145f4e;broadcast({'type':_0x4f49cd(0xe8),'data':_0x3a802c['data']});}),eventSource['addEventListener'](_0x145f4e(0xdc),_0xc23c7e=>{const _0x31bd34=_0x145f4e;broadcast({'type':_0x31bd34(0xdc),'data':_0xc23c7e[_0x31bd34(0xcf)]});}),eventSource['addEventListener'](_0x145f4e(0xe9),_0x738572=>{const _0x52e7ea=_0x145f4e;broadcast({'type':_0x52e7ea(0xe9),'data':_0x738572[_0x52e7ea(0xcf)]});}),eventSource['addEventListener'](_0x145f4e(0x107),_0x2b692f=>{const _0x1300d7=_0x145f4e;broadcast({'type':_0x1300d7(0x107),'data':_0x2b692f[_0x1300d7(0xcf)]});}),eventSource['addEventListener'](_0x145f4e(0x108),()=>{const _0x58b125=_0x145f4e;broadcast({'type':_0x58b125(0x113)}),reconnectAttempts=0x0;}),eventSource[_0x145f4e(0xed)]('error',_0x50dfc4=>{const _0x59f014=_0x145f4e;console[_0x59f014(0x10f)]('[SSE\x20Worker]\x20Connection\x20error:',_0x50dfc4),broadcast({'type':_0x59f014(0x10f),'error':'Connection\x20error'}),eventSource&&(eventSource[_0x59f014(0xcc)](),eventSource=null),scheduleReconnect();});}catch(_0x2c2495){console[_0x145f4e(0x10f)](_0x145f4e(0xe6),_0x2c2495),broadcast({'type':_0x145f4e(0x10f),'error':_0x2c2495[_0x145f4e(0xef)]}),scheduleReconnect();}}function scheduleReconnect(){const _0x44e665=_0x371228;reconnectTimeout&&clearTimeout(reconnectTimeout);if(ports[_0x44e665(0x10a)]===0x0)return;const _0x651e39=Math[_0x44e665(0xee)](0x3e8*Math[_0x44e665(0xff)](0x2,reconnectAttempts),MAX_RECONNECT_DELAY);reconnectAttempts++,console['log'](_0x44e665(0xda)+_0x651e39+_0x44e665(0xfa)+reconnectAttempts+')'),reconnectTimeout=setTimeout(()=>{const _0x2cf66b=_0x44e665;ports[_0x2cf66b(0x10a)]>0x0&&connect(currentUserId);},_0x651e39);}function broadcast(_0x34e23d){const _0x2df007=_0x371228,_0x271138=[];ports[_0x2df007(0x106)](_0x49d1=>{const _0x2109bf=_0x2df007;try{_0x49d1[_0x2109bf(0xd3)](_0x34e23d);}catch(_0x50d0bf){console['warn']('[SSE\x20Worker]\x20Failed\x20to\x20send\x20to\x20port,\x20removing:',_0x50d0bf),_0x271138[_0x2109bf(0xe3)](_0x49d1);}}),_0x271138[_0x2df007(0xe1)]>0x0&&cleanUpDeadPorts(_0x271138),ports['size']===0x0&&eventSource&&(console[_0x2df007(0xf1)]('[SSE\x20Worker]\x20No\x20more\x20connected\x20ports,\x20closing\x20SSE'),eventSource[_0x2df007(0xcc)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));}function subscribeTask(_0x5d6e61,_0x6f681c){const _0x37e679=_0x371228;let _0x1419c4=taskStreams[_0x37e679(0xd1)](_0x6f681c);!_0x1419c4&&(_0x1419c4={'eventSource':null,'reconnectTimeout':null,'reconnectAttempts':0x0,'subscribedPorts':new Set()},taskStreams[_0x37e679(0x114)](_0x6f681c,_0x1419c4));_0x1419c4[_0x37e679(0xcd)][_0x37e679(0x100)](_0x5d6e61);if(!_0x1419c4[_0x37e679(0xdd)]||_0x1419c4[_0x37e679(0xdd)][_0x37e679(0x102)]===EventSource[_0x37e679(0xf0)])connectTaskStream(_0x6f681c);else{if(_0x1419c4['eventSource'][_0x37e679(0x102)]===EventSource['OPEN'])try{_0x5d6e61['postMessage']({'type':'task:connected','taskId':_0x6f681c});}catch(_0x13e599){}}}function unsubscribeTask(_0x5c83b9,_0x79d83a){const _0xf4928=_0x371228,_0x46be2c=taskStreams['get'](_0x79d83a);if(!_0x46be2c)return;_0x46be2c['subscribedPorts'][_0xf4928(0x10e)](_0x5c83b9),_0x46be2c[_0xf4928(0xcd)]['size']===0x0&&deferredCloseTaskStream(_0x79d83a);}function connectTaskStream(_0x205dd4){const _0x18db66=_0x371228,_0x41a2d5=taskStreams['get'](_0x205dd4);if(!_0x41a2d5)return;_0x41a2d5[_0x18db66(0xdd)]&&(_0x41a2d5['eventSource'][_0x18db66(0xcc)](),_0x41a2d5[_0x18db66(0xdd)]=null);try{_0x41a2d5[_0x18db66(0xdd)]=new EventSource(_0x18db66(0x112)+_0x205dd4+_0x18db66(0xe2));for(const _0x1bc424 of TASK_STREAM_EVENTS){_0x41a2d5[_0x18db66(0xdd)][_0x18db66(0xed)](_0x1bc424,_0x5cf96c=>{const _0xca620c=_0x18db66;broadcastToTask(_0x205dd4,'task:'+_0x1bc424,_0x5cf96c[_0xca620c(0xcf)]),_0x41a2d5[_0xca620c(0xd8)]=0x0;});}_0x41a2d5[_0x18db66(0xdd)][_0x18db66(0xed)](_0x18db66(0x108),()=>{const _0x451b38=_0x18db66;broadcastToTask(_0x205dd4,_0x451b38(0x101),'{}'),_0x41a2d5[_0x451b38(0xd8)]=0x0;}),_0x41a2d5[_0x18db66(0xdd)]['addEventListener'](_0x18db66(0x10f),()=>{const _0x1c505b=_0x18db66;broadcastToTask(_0x205dd4,_0x1c505b(0xd4),JSON[_0x1c505b(0xdf)]({'error':_0x1c505b(0xdb)})),_0x41a2d5[_0x1c505b(0xdd)]&&(_0x41a2d5[_0x1c505b(0xdd)]['close'](),_0x41a2d5[_0x1c505b(0xdd)]=null),scheduleTaskReconnect(_0x205dd4);});}catch(_0x840bec){console['error'](_0x18db66(0xe4)+_0x205dd4+':',_0x840bec),broadcastToTask(_0x205dd4,_0x18db66(0xd4),JSON[_0x18db66(0xdf)]({'error':_0x840bec['message']})),scheduleTaskReconnect(_0x205dd4);}}function _0x4588(){const _0x4e9308=['igLUia','Cg9ZDe1LC3nHz2u','DgfZAZPLCNjVCG','nte5oty2m0zYwvDcrW','y2HHBMDLrMLSDgvY','w1ntrsbxB3jRzxjDie5LDYbWB3j0ignVBM5Ly3rLzc4Gvg90ywWGCg9YDhm6ia','CMvJB25Uzwn0qxr0zw1WDhm','mtyYnZm5mdrjtufYDKu','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','q29UBMvJDgLVBIbLCNjVCG','C3rHDhvZ','zxzLBNrtB3vYy2u','Bg9NCW','C3rYAw5NAwz5','mtvLuvfYs0S','BgvUz3rO','l3n0CMvHBq','ChvZAa','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGDgfZAYbfDMvUDfnVDxjJzsbMB3iG','w1ntrsbxB3jRzxjDifvUA25VD24Gywn0Aw9UoG','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','y29UBMvJDa','ywn0AxzPDhK','BMv3lxrHC2S','C3vTBwfYEq','w1ntrsbxB3jRzxjDifbVCNqGzgLZy29UBMvJDgvKlIbuB3rHBcbWB3j0CZOG','t1bftG','ywrKrxzLBNrmAxn0zw5LCG','BwLU','BwvZC2fNzq','q0Xpu0ve','Bg9N','yxbWlxnLCNzLCI1ZDgf0Dxm','B25TzxnZywDL','AgfZ','ndy0mtK4ngrZyxvyBG','ntmWodK4offwyvHMBa','CMvJB25Uzwn0vgLTzw91Da','l3rHC2TZl3vWzgf0zxm','B25TzxnZywDLzxjYB3i','BxmGkgf0DgvTChqG','y2HHBMDLzc1MAwXLCW','p3vZzxjjzd0','B25JB25Uzwn0','nJe2ntK3DfjytwLH','Cg93','ywrK','DgfZAZPJB25Uzwn0zwq','CMvHzhLtDgf0zq','zgLZy29UBMvJDa','nJC0mdiWEuTVrunU','Cg9YDhm','zM9YrwfJAa','CxvLDwuTCg9ZAxrPB24','B3bLBG','Bwv0ywrHDge','C2L6zq','C3rHCNq','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGDgfZAYbZDhjLyw0GCMvJB25Uzwn0igzVCIa','w1ntrsbxB3jRzxjDifbVCNqGBwvZC2fNzsbLCNjVCJO','zgvSzxrL','zxjYB3i','y29TCgXLDgu','C3vIC2nYAwjLvgfZAW','l3rHC2TZlW','y29UBMvJDgvK','C2v0','C25HChnOB3q','y2XVC2u','C3vIC2nYAwjLzfbVCNrZ','Dw5ZDwjZy3jPyMvuyxnR','zgf0yq','nda1mJqZme1VqKLNuq','z2v0'];_0x4588=function(){return _0x4e9308;};return _0x4588();}function broadcastToTask(_0x5d75be,_0x59b268,_0x500686){const _0xceebc9=_0x371228,_0x5a0296=taskStreams[_0xceebc9(0xd1)](_0x5d75be);if(!_0x5a0296)return;const _0x4a9381=[];_0x5a0296[_0xceebc9(0xcd)][_0xceebc9(0x106)](_0x352a58=>{const _0x1a2a9e=_0xceebc9;try{_0x352a58['postMessage']({'type':_0x59b268,'taskId':_0x5d75be,'data':_0x500686});}catch(_0x5ca697){_0x4a9381[_0x1a2a9e(0xe3)](_0x352a58);}}),_0x4a9381[_0xceebc9(0xe1)]>0x0&&(_0x4a9381[_0xceebc9(0x106)](_0x64d5d5=>_0x5a0296['subscribedPorts'][_0xceebc9(0x10e)](_0x64d5d5)),cleanUpDeadPorts(_0x4a9381),_0x5a0296[_0xceebc9(0xcd)][_0xceebc9(0x10a)]===0x0&&closeTaskStream(_0x5d75be));}function closeTaskStream(_0x3017bc){const _0x526b86=_0x371228,_0x3f72a1=taskStreams[_0x526b86(0xd1)](_0x3017bc);if(!_0x3f72a1)return;_0x3f72a1['eventSource']&&_0x3f72a1[_0x526b86(0xdd)][_0x526b86(0xcc)](),_0x3f72a1[_0x526b86(0xf7)]&&clearTimeout(_0x3f72a1[_0x526b86(0xf7)]),taskStreams[_0x526b86(0x10e)](_0x3017bc);}function deferredCloseTaskStream(_0x58d3dc){setTimeout(()=>{const _0x1d03cd=_0x1040,_0x3a808d=taskStreams[_0x1d03cd(0xd1)](_0x58d3dc);_0x3a808d&&_0x3a808d['subscribedPorts'][_0x1d03cd(0x10a)]===0x0&&closeTaskStream(_0x58d3dc);},0x0);}function scheduleTaskReconnect(_0x3272bc){const _0x5dff3d=_0x371228,_0x3fdb77=taskStreams[_0x5dff3d(0xd1)](_0x3272bc);if(!_0x3fdb77||_0x3fdb77[_0x5dff3d(0xcd)][_0x5dff3d(0x10a)]===0x0)return;_0x3fdb77[_0x5dff3d(0xf7)]&&clearTimeout(_0x3fdb77[_0x5dff3d(0xf7)]);const _0x3dd1aa=Math[_0x5dff3d(0xee)](0x3e8*Math[_0x5dff3d(0xff)](0x2,_0x3fdb77[_0x5dff3d(0xd8)]),MAX_RECONNECT_DELAY);_0x3fdb77[_0x5dff3d(0xd8)]++,console[_0x5dff3d(0xf1)](_0x5dff3d(0x10c)+_0x3272bc+_0x5dff3d(0xd2)+_0x3dd1aa+'ms'),_0x3fdb77[_0x5dff3d(0xf7)]=setTimeout(()=>{const _0x548873=_0x5dff3d;_0x3fdb77[_0x548873(0xcd)][_0x548873(0x10a)]>0x0&&connectTaskStream(_0x3272bc);},_0x3dd1aa);}function cleanUpDeadPorts(_0x54c66b){const _0x4b8c13=_0x371228;for(const _0x85254a of _0x54c66b){ports[_0x4b8c13(0x10e)](_0x85254a),taskStreams['forEach']((_0x25c799,_0x16216d)=>{const _0x520ab7=_0x4b8c13;_0x25c799[_0x520ab7(0xcd)][_0x520ab7(0x10e)](_0x85254a),_0x25c799[_0x520ab7(0xcd)][_0x520ab7(0x10a)]===0x0&&closeTaskStream(_0x16216d);});}}function removePortFromAllTasks(_0x3b0835){const _0x376567=_0x371228;taskStreams[_0x376567(0x106)]((_0x59e403,_0x5ace1a)=>{const _0x31d373=_0x376567;_0x59e403['subscribedPorts'][_0x31d373(0xf4)](_0x3b0835)&&(_0x59e403[_0x31d373(0xcd)][_0x31d373(0x10e)](_0x3b0835),_0x59e403[_0x31d373(0xcd)][_0x31d373(0x10a)]===0x0&&closeTaskStream(_0x5ace1a));});}self[_0x371228(0xfd)]=function(_0x13dd21){const _0x2c8ec0=_0x371228,_0x3d467c=_0x13dd21[_0x2c8ec0(0x105)][0x0];ports[_0x2c8ec0(0x100)](_0x3d467c),console[_0x2c8ec0(0xf1)](_0x2c8ec0(0xd7)+ports['size']),_0x3d467c[_0x2c8ec0(0xf3)]=function(_0x2fe948){const _0x111c97=_0x2c8ec0,{action:_0x2365ba,userId:_0x5bbf23,taskId:_0x29638a}=_0x2fe948['data'];switch(_0x2365ba){case _0x111c97(0xe7):connect(_0x5bbf23);eventSource&&eventSource[_0x111c97(0x102)]===EventSource[_0x111c97(0xec)]&&_0x3d467c[_0x111c97(0xd3)]({'type':_0x111c97(0x113)});break;case _0x111c97(0x103):ports[_0x111c97(0x10e)](_0x3d467c),removePortFromAllTasks(_0x3d467c),console[_0x111c97(0xf1)](_0x111c97(0xeb)+ports[_0x111c97(0x10a)]);ports[_0x111c97(0x10a)]===0x0&&eventSource&&(eventSource['close'](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));break;case _0x111c97(0xd6):_0x5bbf23!==currentUserId&&connect(_0x5bbf23);break;case _0x111c97(0x111):subscribeTask(_0x3d467c,_0x29638a);break;case _0x111c97(0xce):unsubscribeTask(_0x3d467c,_0x29638a);break;default:console['warn'](_0x111c97(0xe5),_0x2365ba);}},_0x3d467c[_0x2c8ec0(0xf9)]=function(_0x1b1520){const _0x2a6116=_0x2c8ec0;console[_0x2a6116(0x10f)](_0x2a6116(0x10d),_0x1b1520),ports[_0x2a6116(0x10e)](_0x3d467c),removePortFromAllTasks(_0x3d467c);},_0x3d467c[_0x2c8ec0(0x10b)]();};
@@ -15795,6 +15795,86 @@ select option[value=""] {
15795
15795
  animation: spin 1s linear infinite;
15796
15796
  }
15797
15797
 
15798
+ /* ============================================
15799
+ JIRA COMMENT MODAL
15800
+ ============================================ */
15801
+
15802
+ #jira-comment-modal .modal-content {
15803
+ max-width: 760px;
15804
+ }
15805
+
15806
+ .jira-comment-info {
15807
+ margin-bottom: 16px;
15808
+ }
15809
+
15810
+ .jira-comment-info p {
15811
+ margin: 0;
15812
+ color: var(--color-text-secondary);
15813
+ }
15814
+
15815
+ .jira-comment-info strong {
15816
+ color: var(--color-text);
15817
+ }
15818
+
15819
+ .jira-comment-editor-container {
15820
+ display: flex;
15821
+ flex-direction: column;
15822
+ border: 1px solid var(--color-border);
15823
+ border-radius: var(--radius-small);
15824
+ overflow: hidden;
15825
+ }
15826
+
15827
+ .jira-comment-editor-container:focus-within {
15828
+ outline: 2px solid rgba(63,114,255,0.25);
15829
+ border-color: var(--color-accent);
15830
+ }
15831
+
15832
+ .jira-comment-editor-container .markdown-editor-wrapper {
15833
+ flex: 1;
15834
+ display: flex;
15835
+ flex-direction: column;
15836
+ }
15837
+
15838
+ .jira-comment-editor-container .markdown-editor {
15839
+ border: none;
15840
+ border-radius: 0;
15841
+ box-shadow: none;
15842
+ min-height: 260px;
15843
+ max-height: 420px;
15844
+ overflow-y: auto;
15845
+ }
15846
+
15847
+ .jira-comment-editor-container .markdown-editor:focus {
15848
+ outline: none;
15849
+ box-shadow: none;
15850
+ }
15851
+
15852
+ #confirm-jira-comment {
15853
+ display: inline-flex;
15854
+ align-items: center;
15855
+ gap: 8px;
15856
+ min-width: 132px;
15857
+ justify-content: center;
15858
+ }
15859
+
15860
+ #confirm-jira-comment .btn-spinner,
15861
+ #confirm-jira-comment .btn-text-loading {
15862
+ display: none;
15863
+ }
15864
+
15865
+ #confirm-jira-comment.is-submitting .btn-text {
15866
+ display: none;
15867
+ }
15868
+
15869
+ #confirm-jira-comment.is-submitting .btn-spinner,
15870
+ #confirm-jira-comment.is-submitting .btn-text-loading {
15871
+ display: inline-flex;
15872
+ }
15873
+
15874
+ #confirm-jira-comment .spinner {
15875
+ animation: spin 1s linear infinite;
15876
+ }
15877
+
15798
15878
  /* ============================================
15799
15879
  OBJECTIVES FEATURE STYLES
15800
15880
  ============================================ */
@@ -38,7 +38,7 @@
38
38
  <script type="module" src="markdown-editor.js?v=1"></script>
39
39
  <script src="markdown-file-editor.js?v=1"></script>
40
40
  <script type="module" src="comments-widget.js?v=1"></script>
41
- <script type="module" src="task.js?v=69"></script>
41
+ <script type="module" src="task.js?v=70"></script>
42
42
  <!-- Dev QA shortcut: Ctrl+Shift+Q to launch current page in QA mode -->
43
43
  </head>
44
44
  <body>
@@ -1041,6 +1041,37 @@
1041
1041
  </div>
1042
1042
  </div>
1043
1043
 
1044
+ <!-- Jira Comment Modal -->
1045
+ <div id="jira-comment-modal" class="modal" hidden>
1046
+ <div class="modal-overlay"></div>
1047
+ <div class="modal-content modal-medium">
1048
+ <div class="modal-header">
1049
+ <h2>Post Comment to Jira</h2>
1050
+ <button class="modal-close" id="close-jira-comment-modal">&times;</button>
1051
+ </div>
1052
+ <div class="modal-body">
1053
+ <div class="jira-comment-info">
1054
+ <p>Edit this comment before posting to <strong id="jira-comment-issue-key">Jira</strong>:</p>
1055
+ </div>
1056
+ <div class="jira-comment-editor-container">
1057
+ <div id="jira-comment-editor"></div>
1058
+ </div>
1059
+ </div>
1060
+ <div class="modal-footer">
1061
+ <button class="btn-ghost" id="cancel-jira-comment">Cancel</button>
1062
+ <button class="btn-primary" id="confirm-jira-comment">
1063
+ <span class="btn-spinner">
1064
+ <svg class="spinner" viewBox="0 0 24 24" width="16" height="16">
1065
+ <circle cx="12" cy="12" r="10" fill="none" stroke="currentColor" stroke-width="3" stroke-dasharray="31.4 31.4" stroke-linecap="round"/>
1066
+ </svg>
1067
+ </span>
1068
+ <span class="btn-text">Post to Jira</span>
1069
+ <span class="btn-text-loading">Posting...</span>
1070
+ </button>
1071
+ </div>
1072
+ </div>
1073
+ </div>
1074
+
1044
1075
  <!-- Resubmit Modal -->
1045
1076
  <div id="resubmit-modal" class="modal" hidden>
1046
1077
  <div class="modal-overlay"></div>