@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.
- package/README.md +15 -163
- package/dist/README.md +15 -163
- package/dist/base-image/agent-wrapper.sh +1 -1
- package/dist/capture-screenshot.mjs +34 -0
- package/dist/coder-server.js +1 -1
- package/dist/config/cli-models.json +4 -3
- package/dist/config.js +1 -1
- package/dist/lib/agent-keepalive.js +1 -1
- package/dist/lib/agent-models.js +1 -1
- package/dist/lib/api-keys.js +1 -1
- package/dist/lib/apiKeys.js +1 -1
- package/dist/lib/app-server-ports.js +1 -1
- package/dist/lib/auto-judge.js +1 -1
- package/dist/lib/automation-service.js +1 -1
- package/dist/lib/basic-auth.js +1 -1
- package/dist/lib/bindings.js +1 -1
- package/dist/lib/build-history.js +1 -1
- package/dist/lib/build-output-service.js +1 -1
- package/dist/lib/build-scheduler.js +1 -1
- package/dist/lib/build-service.js +1 -1
- package/dist/lib/ca-certificates.js +1 -1
- package/dist/lib/claude-oauth-refresh.js +1 -1
- package/dist/lib/cli/build.js +1 -1
- package/dist/lib/cli/cleanup-users.js +1 -0
- package/dist/lib/cli/config-command.js +1 -1
- package/dist/lib/cli/config.js +1 -1
- package/dist/lib/cli/create-user.js +1 -1
- package/dist/lib/cli/grant-admin.js +1 -0
- package/dist/lib/cli/init.js +1 -1
- package/dist/lib/cli/jira.js +1 -1
- package/dist/lib/cli/license.js +1 -1
- package/dist/lib/cli/list-roles.js +1 -0
- package/dist/lib/cli/list-users.js +1 -0
- package/dist/lib/cli/server-manager.js +1 -1
- package/dist/lib/cli/set-password.js +1 -0
- package/dist/lib/config-migration.js +1 -1
- package/dist/lib/container-credential-sync.js +1 -1
- package/dist/lib/container-tokens.js +1 -1
- package/dist/lib/data-dir.js +1 -1
- package/dist/lib/deployment-history.js +1 -1
- package/dist/lib/deployment-service.js +1 -1
- package/dist/lib/docker-utils.js +1 -1
- package/dist/lib/email.js +1 -1
- package/dist/lib/emailTemplates.js +1 -1
- package/dist/lib/entitlement.js +1 -1
- package/dist/lib/external-connections.js +1 -1
- package/dist/lib/fetch-utils.js +1 -1
- package/dist/lib/git-commit-details-route.js +1 -1
- package/dist/lib/git-history-diff-guardrails.js +1 -1
- package/dist/lib/git-provider-service.js +1 -1
- package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
- package/dist/lib/git-provider-setup/index.js +1 -1
- package/dist/lib/git-provider-setup/setup-factory.js +1 -1
- package/dist/lib/git-provider-setup/setup-interface.js +1 -1
- package/dist/lib/git-providers/azure-devops-provider.js +1 -1
- package/dist/lib/git-providers/github-app-provider.js +1 -1
- package/dist/lib/git-providers/index.js +1 -1
- package/dist/lib/git-providers/provider-factory.js +1 -1
- package/dist/lib/git-providers/provider-interface.js +1 -1
- package/dist/lib/github-urls.js +1 -1
- package/dist/lib/group-objective-linking.js +1 -1
- package/dist/lib/ibmi-sync.js +1 -0
- package/dist/lib/jira-client.js +1 -1
- package/dist/lib/judge-blinding.js +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/lib/migration-to-scoped-rbac.js +1 -1
- package/dist/lib/model-fetcher.js +1 -1
- package/dist/lib/notifications.js +1 -1
- package/dist/lib/objective-context.js +1 -1
- package/dist/lib/oidc-auth.js +1 -1
- package/dist/lib/oidc-device-flow.js +1 -1
- package/dist/lib/passwordTokens.js +1 -1
- package/dist/lib/permission-resolver.js +1 -1
- package/dist/lib/pin-cascade.js +1 -1
- package/dist/lib/provider-accounts.js +1 -1
- package/dist/lib/provider-oauth.js +1 -1
- package/dist/lib/provider-profile.js +1 -1
- package/dist/lib/provider-token-refresh.js +1 -1
- package/dist/lib/rbac-user-state.js +1 -1
- package/dist/lib/request-url.js +1 -1
- package/dist/lib/rewind.js +1 -1
- package/dist/lib/role-definitions.js +1 -1
- package/dist/lib/roles.js +1 -1
- package/dist/lib/secrets.js +1 -1
- package/dist/lib/setup-repo-git-auth.js +1 -1
- package/dist/lib/state-capture.js +1 -1
- package/dist/lib/static-files.js +1 -1
- package/dist/lib/task-name-format.js +1 -1
- package/dist/lib/task-name-generator.js +1 -1
- package/dist/lib/task-source-metadata.js +1 -1
- package/dist/lib/teams.js +1 -1
- package/dist/lib/user-git-oauth.js +1 -1
- package/dist/lib/user-git-tokens.js +1 -1
- package/dist/lib/users.js +1 -1
- package/dist/middleware/requireAuth.js +1 -1
- package/dist/middleware/requireInit.js +1 -1
- package/dist/middleware/requirePermission.js +1 -1
- package/dist/package.json +1 -1
- package/dist/playwright.config.js +1 -1
- package/dist/routes/apiKeys.js +1 -1
- package/dist/routes/auth-oidc.js +1 -1
- package/dist/routes/auth.js +1 -1
- package/dist/routes/automations.js +1 -1
- package/dist/routes/bindings.js +1 -1
- package/dist/routes/build.js +1 -1
- package/dist/routes/containers.js +1 -1
- package/dist/routes/deploy-task.js +1 -1
- package/dist/routes/environment-management.js +1 -1
- package/dist/routes/environments.js +1 -1
- package/dist/routes/external-skills.js +1 -1
- package/dist/routes/git-credentials.js +1 -1
- package/dist/routes/git-oauth.js +1 -1
- package/dist/routes/git-provider-setup.js +1 -1
- package/dist/routes/health.js +1 -1
- package/dist/routes/jira.js +1 -1
- package/dist/routes/objective-management.js +1 -1
- package/dist/routes/password.js +1 -1
- package/dist/routes/prompt.js +1 -1
- package/dist/routes/provider-auth.js +1 -1
- package/dist/routes/qa.js +1 -1
- package/dist/routes/roles.js +1 -1
- package/dist/routes/settings.js +1 -1
- package/dist/routes/skill-management.js +1 -1
- package/dist/routes/skills.js +1 -1
- package/dist/routes/tasks.js +1 -1
- package/dist/routes/teams.js +1 -1
- package/dist/routes/templates.js +1 -1
- package/dist/routes/test-task.js +1 -1
- package/dist/routes/test.js +1 -1
- package/dist/routes/users.js +1 -1
- package/dist/routes/visualizations.js +1 -1
- package/dist/scripts/create-user.js +1 -1
- package/dist/scripts/migrate-config-to-data-dir.js +1 -1
- package/dist/scripts/sync_to_ibmi.sh +204 -0
- package/dist/start.js +1 -1
- package/dist/web-ui/public/activity-detail-modal.js +1 -1
- package/dist/web-ui/public/activity-feed.js +1 -1
- package/dist/web-ui/public/activity-formatters.js +1 -1
- package/dist/web-ui/public/agent-event-parser.js +1 -1
- package/dist/web-ui/public/app.js +1 -1
- package/dist/web-ui/public/approve-dialog.js +1 -1
- package/dist/web-ui/public/automation-links.js +1 -1
- package/dist/web-ui/public/automation-schedule.js +1 -1
- package/dist/web-ui/public/comments-widget.js +1 -1
- package/dist/web-ui/public/diff-utils.js +1 -1
- package/dist/web-ui/public/docs/admin/environments.md +1 -0
- package/dist/web-ui/public/docs/tasks/approval-and-deployment.md +36 -0
- package/dist/web-ui/public/environments.html +1 -1
- package/dist/web-ui/public/environments.js +1 -1
- package/dist/web-ui/public/feedback-widget.js +1 -1
- package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
- package/dist/web-ui/public/git-history.js +1 -1
- package/dist/web-ui/public/git-status.js +1 -1
- package/dist/web-ui/public/index.html +2 -2
- package/dist/web-ui/public/index.js +1 -1
- package/dist/web-ui/public/login.js +1 -1
- package/dist/web-ui/public/markdown-editor.js +1 -1
- package/dist/web-ui/public/markdown-file-editor.js +1 -1
- package/dist/web-ui/public/modal-maximize.js +1 -1
- package/dist/web-ui/public/notifications.js +1 -1
- package/dist/web-ui/public/pr-dialog.js +1 -1
- package/dist/web-ui/public/roles.html +3 -2
- package/dist/web-ui/public/roles.js +1 -1
- package/dist/web-ui/public/server-health.js +1 -1
- package/dist/web-ui/public/settings.css +3 -2
- package/dist/web-ui/public/settings.html +0 -1
- package/dist/web-ui/public/settings.js +1 -1
- package/dist/web-ui/public/setup-password.js +1 -1
- package/dist/web-ui/public/skills.js +1 -1
- package/dist/web-ui/public/sse-client.js +1 -1
- package/dist/web-ui/public/sse-shared-worker.js +1 -1
- package/dist/web-ui/public/styles.css +39 -12
- package/dist/web-ui/public/task.html +56 -1
- package/dist/web-ui/public/task.js +1 -1
- package/dist/web-ui/public/teams.html +76 -81
- package/dist/web-ui/public/teams.js +1 -1
- package/dist/web-ui/public/terminal.js +1 -1
- package/dist/web-ui/public/theme.js +1 -1
- package/dist/web-ui/public/users.html +12 -11
- package/dist/web-ui/public/users.js +1 -1
- package/dist/web-ui/public/variant-grouping.js +1 -1
- package/package.json +1 -1
- package/dist/lib/cli/migrate-rbac.js +0 -1
- package/dist/lib/scoped-rbac-migration-runner.js +0 -1
- package/dist/scripts/migrate-to-scoped-rbac.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export const DEFAULT_LAZY_RENDER_MIN_FILES=0xc8;export const DEFAULT_LAZY_RENDER_MAX_FILES=0x3e7;export const DEFAULT_LAZY_RENDER_CHUNK_SIZE=0x28;export const DEFAULT_AUTO_COLLAPSE_MIN_FILES=0xc8;export function getLazyRenderUpperBound({maxFiles:maxFiles=DEFAULT_LAZY_RENDER_MAX_FILES,serverMaxFiles:serverMaxFiles=null}={}){if(!Number['isFinite'](serverMaxFiles))return maxFiles;return Math['min'](maxFiles,serverMaxFiles);}export function shouldUseLazyRendering(_0xa70954,{minFiles:minFiles=DEFAULT_LAZY_RENDER_MIN_FILES,maxFiles:maxFiles=DEFAULT_LAZY_RENDER_MAX_FILES,serverMaxFiles:serverMaxFiles=null}={}){const _0x3a218d=getLazyRenderUpperBound({'maxFiles':maxFiles,'serverMaxFiles':serverMaxFiles});return _0xa70954>=minFiles&&_0xa70954<=_0x3a218d;}export function shouldAutoCollapseDiff(_0x5ab86f,{threshold:threshold=DEFAULT_AUTO_COLLAPSE_MIN_FILES}={}){return _0x5ab86f>=threshold;}export function getNextRenderedCount({renderedCount:_0x366636,totalFiles:_0x2c77c6,chunkSize:chunkSize=DEFAULT_LAZY_RENDER_CHUNK_SIZE}){return Math['min'](_0x366636+chunkSize,_0x2c77c6);}export function renderedCountForTarget({renderedCount:_0x727fa7,targetIndex:_0x4be55f,totalFiles:_0x493db3,chunkSize:chunkSize=DEFAULT_LAZY_RENDER_CHUNK_SIZE}){let _0xd92528=_0x727fa7;while(_0xd92528<=_0x4be55f&&_0xd92528<_0x493db3){_0xd92528=getNextRenderedCount({'renderedCount':_0xd92528,'totalFiles':_0x493db3,'chunkSize':chunkSize});}return _0xd92528;}export function getLazyLoadMoreText({filesLength:_0xca6426,renderedCount:_0x7753e6,chunkSize:_0x558399}){const _0x1e274b=Math['max'](0x0,_0xca6426-_0x7753e6),_0x5a5565=Math['min'](_0x558399,_0x1e274b);return'Load\x20'+_0x5a5565['toLocaleString']()+'\x20more\x20files\x20('+_0x7753e6['toLocaleString']()+'\x20/\x20'+_0xca6426['toLocaleString']()+')';}export function getFileNameFromDiffFile(_0x242fd2){return _0x242fd2?.['newPath']||_0x242fd2?.['oldPath']||'';}export function buildCollapsedStateUpdates({files:_0x4b367d,collapsed:_0x3be74a,storageKeyPrefix:_0x2163da,getStorageKey:_0xffc91c}){const _0x5523e6=[];for(const _0xbcf3c6 of _0x4b367d||[]){const _0x6a9abf=getFileNameFromDiffFile(_0xbcf3c6);if(!_0x6a9abf)continue;_0x5523e6['push']({'key':_0xffc91c(_0x2163da,_0x6a9abf),'value':String(_0x3be74a),'fileName':_0x6a9abf});}return _0x5523e6;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x389ddf=_0x17f6;(function(_0x3666db,_0x2cf2c2){const _0x33e731=_0x17f6,_0x6e905=_0x3666db();while(!![]){try{const _0x33deee=parseInt(_0x33e731(0x24c))/0x1+parseInt(_0x33e731(0x2a4))/0x2*(parseInt(_0x33e731(0x167))/0x3)+parseInt(_0x33e731(0x20a))/0x4*(parseInt(_0x33e731(0x2f0))/0x5)+-parseInt(_0x33e731(0x16e))/0x6+-parseInt(_0x33e731(0x2a5))/0x7+parseInt(_0x33e731(0x2cf))/0x8*(parseInt(_0x33e731(0x14f))/0x9)+-parseInt(_0x33e731(0x247))/0xa;if(_0x33deee===_0x2cf2c2)break;else _0x6e905['push'](_0x6e905['shift']());}catch(_0x3c10ed){_0x6e905['push'](_0x6e905['shift']());}}}(_0x14ae,0x68a31));import{API,Utils,CustomSelect,ConfirmDialog,initializeAdminMenu}from'./app.js';import{initTheme,mountThemeToggle}from'./theme.js';import{DEFAULT_LAZY_RENDER_MIN_FILES,DEFAULT_LAZY_RENDER_MAX_FILES,DEFAULT_LAZY_RENDER_CHUNK_SIZE,DEFAULT_AUTO_COLLAPSE_MIN_FILES,shouldUseLazyRendering as _0x3b5c83,shouldAutoCollapseDiff as _0x51ee64,getNextRenderedCount,renderedCountForTarget,getLazyLoadMoreText as _0x2b29b5,buildCollapsedStateUpdates}from'./git-history-lazy-utils.js';const state={'environments':[],'repos':[],'branches':[],'selectedEnvironment':'','selectedRepo':'','selectedBranch':'','commits':[],'selectedCommit':null,'commitDetail':null,'activeBranch':'','diffView':localStorage[_0x389ddf(0x126)](_0x389ddf(0x1c7))||_0x389ddf(0x1e6),'pagination':{'limit':0x19,'offset':0x0,'hasMore':![],'search':''},'loadingHistory':![],'loadingCommit':![],'loadingBranches':![],'dataSource':_0x389ddf(0x1a7),'diffRender':null},elements={},SEARCH_DEBOUNCE_MS=0x12c,LAZY_RENDER_MIN_FILES=DEFAULT_LAZY_RENDER_MIN_FILES,LAZY_RENDER_MAX_FILES=DEFAULT_LAZY_RENDER_MAX_FILES,LAZY_RENDER_CHUNK_SIZE=DEFAULT_LAZY_RENDER_CHUNK_SIZE,AUTO_COLLAPSE_MIN_FILES=DEFAULT_AUTO_COLLAPSE_MIN_FILES;let searchTimer=null;const OPEN_NEW_TAB_STORAGE_KEY=_0x389ddf(0x1f8),branchCache=new Map(),BRANCH_CACHE_TTL_MS=0x5*0x3c*0x3e8;document[_0x389ddf(0x218)](_0x389ddf(0x2fe),initialize);async function initialize(){const _0x11137b=_0x389ddf;try{initTheme(),mountThemeToggle(),ConfirmDialog[_0x11137b(0x242)](),Object[_0x11137b(0x19a)](elements,{'loading':document[_0x11137b(0x1af)](_0x11137b(0x1a8)),'error':document['getElementById'](_0x11137b(0x2d4)),'errorMessage':document['getElementById'](_0x11137b(0x131)),'retryBtn':document[_0x11137b(0x1af)](_0x11137b(0x267)),'content':document['getElementById'](_0x11137b(0x2ea)),'envSelect':document['getElementById'](_0x11137b(0x258)),'repoSelect':document[_0x11137b(0x1af)](_0x11137b(0x137)),'branchSelect':document['getElementById']('branch-select'),'commitList':document['getElementById'](_0x11137b(0x1ed)),'commitCount':document['getElementById'](_0x11137b(0x180)),'prevBtn':document[_0x11137b(0x1af)](_0x11137b(0x1c9)),'nextBtn':document[_0x11137b(0x1af)](_0x11137b(0x153)),'searchInput':document[_0x11137b(0x1af)](_0x11137b(0x136)),'clearSearchBtn':document[_0x11137b(0x1af)](_0x11137b(0x139)),'branchPill':document[_0x11137b(0x1af)]('repo-branch-pill'),'branchName':document[_0x11137b(0x1af)]('repo-branch-name'),'placeholder':document[_0x11137b(0x1af)]('commit-placeholder'),'detailPanel':document[_0x11137b(0x1af)]('commit-detail'),'commitMessage':document[_0x11137b(0x1af)](_0x11137b(0x213)),'commitAuthor':document['getElementById'](_0x11137b(0x255)),'commitDate':document['getElementById'](_0x11137b(0x1cc)),'commitHash':document[_0x11137b(0x1af)](_0x11137b(0x248)),'copyHashBtn':document['getElementById'](_0x11137b(0x257)),'viewOnProviderBtn':document[_0x11137b(0x1af)](_0x11137b(0x172)),'revertBtn':document[_0x11137b(0x1af)](_0x11137b(0x2f1)),'diffStats':document[_0x11137b(0x1af)](_0x11137b(0x2b5)),'diffContainer':document[_0x11137b(0x1af)]('commit-diff'),'expandAllBtn':document[_0x11137b(0x1af)](_0x11137b(0x13c)),'collapseAllBtn':document[_0x11137b(0x1af)](_0x11137b(0x24b)),'mergeControls':document[_0x11137b(0x1af)](_0x11137b(0x29a)),'mainlineSelect':document['getElementById'](_0x11137b(0x146)),'fileNavToggle':document[_0x11137b(0x1af)]('file-nav-toggle'),'fileNavSidebar':document[_0x11137b(0x1af)](_0x11137b(0x284)),'fileNavList':document['getElementById'](_0x11137b(0x1e5)),'fileNavClose':document['getElementById'](_0x11137b(0x2a2)),'fileNavCount':document[_0x11137b(0x1af)](_0x11137b(0x230)),'maximizeBtn':document[_0x11137b(0x1af)](_0x11137b(0x16c)),'gitHistoryBody':document['querySelector'](_0x11137b(0x210))});const _0x5a96a4=await checkAccess();await initializeAdminMenu(_0x5a96a4),setupEventListeners(),initializeDiffViewToggle(),await loadEnvironments(),elements[_0x11137b(0x22c)][_0x11137b(0x259)]=!![],elements[_0x11137b(0x223)]['hidden']=![];}catch(_0x465fd6){console[_0x11137b(0x1a4)](_0x11137b(0x2bc),_0x465fd6),elements['loading']['hidden']=!![],elements['error'][_0x11137b(0x259)]=![],elements[_0x11137b(0x1a0)][_0x11137b(0x1bf)]=_0x465fd6['message']||_0x11137b(0x2de);}}async function checkAccess(){const _0x19ef33=_0x389ddf;try{const _0x362640=await API[_0x19ef33(0x22a)](),_0xe354cc=Array[_0x19ef33(0x1bb)](_0x362640[_0x19ef33(0x237)])?_0x362640[_0x19ef33(0x237)]:[],_0x54f5b1=_0x362640[_0x19ef33(0x296)]===!![]||_0x362640[_0x19ef33(0x23b)]===!![]||_0x362640[_0x19ef33(0x27e)]===!![]||_0xe354cc[_0x19ef33(0x2fc)]('*')||_0xe354cc[_0x19ef33(0x2fc)](_0x19ef33(0x307));if(!_0x54f5b1){Utils[_0x19ef33(0x211)]('Access\x20denied:\x20Git\x20permissions\x20required','error'),setTimeout(()=>{const _0x265c38=_0x19ef33;window['location'][_0x265c38(0x2f3)]=_0x265c38(0x279);},0x708);throw new Error(_0x19ef33(0x270));}return _0x362640;}catch(_0xde1e3c){_0xde1e3c[_0x19ef33(0x16f)]!==_0x19ef33(0x270)&&(window[_0x19ef33(0x138)][_0x19ef33(0x2f3)]='login.html');throw _0xde1e3c;}}function setupEventListeners(){const _0x23a927=_0x389ddf;elements[_0x23a927(0x1bc)]?.[_0x23a927(0x218)](_0x23a927(0x2dc),()=>window[_0x23a927(0x138)]['reload']()),elements[_0x23a927(0x1b6)]?.[_0x23a927(0x218)]('change',handleEnvironmentChange),elements[_0x23a927(0x2c3)]?.[_0x23a927(0x218)](_0x23a927(0x2d6),handleRepoChange),elements[_0x23a927(0x185)]?.['addEventListener'](_0x23a927(0x2d6),handleBranchChange),elements[_0x23a927(0x28a)]?.[_0x23a927(0x218)](_0x23a927(0x2dc),()=>changePage(-0x1)),elements[_0x23a927(0x130)]?.[_0x23a927(0x218)](_0x23a927(0x2dc),()=>changePage(0x1)),elements['searchInput']?.[_0x23a927(0x218)]('input',handleSearchInput),elements['clearSearchBtn']?.[_0x23a927(0x218)](_0x23a927(0x2dc),clearSearch),elements['commitList']?.[_0x23a927(0x218)](_0x23a927(0x2dc),_0x26488b=>{const _0xe5b213=_0x23a927,_0x4e5bda=_0x26488b[_0xe5b213(0x208)][_0xe5b213(0x12a)](_0xe5b213(0x197));if(!_0x4e5bda)return;selectCommit(_0x4e5bda[_0xe5b213(0x2cd)][_0xe5b213(0x2d7)]);}),elements[_0x23a927(0x168)]?.[_0x23a927(0x218)](_0x23a927(0x2dc),handleCopyHash),elements[_0x23a927(0x2cc)]?.['addEventListener'](_0x23a927(0x2dc),handleRevertCommit),elements[_0x23a927(0x1e8)]?.[_0x23a927(0x218)]('click',()=>setAllDiffCollapsed(![])),elements[_0x23a927(0x26f)]?.[_0x23a927(0x218)]('click',()=>setAllDiffCollapsed(!![])),elements['fileNavToggle']?.[_0x23a927(0x218)](_0x23a927(0x2dc),toggleFileNav),elements[_0x23a927(0x2a8)]?.[_0x23a927(0x218)]('click',closeFileNav),document['addEventListener']('click',_0x23640b=>{!_0x23640b['target']['closest']('.file-nav-container')&&closeFileNav();}),elements[_0x23a927(0x157)]?.[_0x23a927(0x218)](_0x23a927(0x2dc),toggleMaximize),document[_0x23a927(0x218)](_0x23a927(0x2fd),handleKeyboardNavigation);}function handleKeyboardNavigation(_0x359a1d){const _0x206e68=_0x389ddf;if(_0x359a1d[_0x206e68(0x208)][_0x206e68(0x1b3)](_0x206e68(0x19b)))return;const _0x21d847=Array[_0x206e68(0x1eb)](elements[_0x206e68(0x2f9)]?.[_0x206e68(0x268)]('.commit-item')||[]);if(_0x21d847[_0x206e68(0x1cb)]===0x0)return;const _0x233289=_0x21d847['findIndex'](_0x48a941=>_0x48a941[_0x206e68(0x2b4)]['contains'](_0x206e68(0x2a0)));switch(_0x359a1d[_0x206e68(0x187)]){case'j':case'ArrowDown':{_0x359a1d[_0x206e68(0x1b0)]();const _0x17ae79=_0x233289<_0x21d847['length']-0x1?_0x233289+0x1:_0x233289,_0x5cddcf=_0x21d847[_0x17ae79]?.[_0x206e68(0x2cd)][_0x206e68(0x2d7)];_0x5cddcf&&(selectCommit(_0x5cddcf),_0x21d847[_0x17ae79]['scrollIntoView']({'block':_0x206e68(0x1f5),'behavior':'smooth'}));break;}case'k':case _0x206e68(0x304):{_0x359a1d[_0x206e68(0x1b0)]();const _0x3a3354=_0x233289>0x0?_0x233289-0x1:0x0,_0x4d5c32=_0x21d847[_0x3a3354]?.['dataset'][_0x206e68(0x2d7)];_0x4d5c32&&(selectCommit(_0x4d5c32),_0x21d847[_0x3a3354][_0x206e68(0x21f)]({'block':_0x206e68(0x1f5),'behavior':_0x206e68(0x262)}));break;}case _0x206e68(0x2ef):{state[_0x206e68(0x209)]&&elements[_0x206e68(0x2ab)]?.[_0x206e68(0x1f9)]();break;}case'c':{state[_0x206e68(0x269)]?.[_0x206e68(0x2be)]?.['hash']&&handleCopyHash();break;}case'e':{setAllDiffCollapsed(![]);break;}case'w':{setAllDiffCollapsed(!![]);break;}case'/':{_0x359a1d[_0x206e68(0x1b0)](),elements[_0x206e68(0x1a3)]?.[_0x206e68(0x1f9)]();break;}case _0x206e68(0x282):{if(elements[_0x206e68(0x1d6)]?.['classList'][_0x206e68(0x261)](_0x206e68(0x22d)))toggleMaximize();else document['activeElement']===elements[_0x206e68(0x1a3)]&&elements[_0x206e68(0x1a3)][_0x206e68(0x173)]();break;}case'm':{state[_0x206e68(0x269)]&&toggleMaximize();break;}}}function initializeDiffViewToggle(){const _0x562352=_0x389ddf,_0xaa6d30=Array[_0x562352(0x1eb)](document[_0x562352(0x268)](_0x562352(0x14c)));_0xaa6d30[_0x562352(0x2b6)](_0x2686e0=>{const _0x342589=_0x562352;_0x2686e0[_0x342589(0x2b4)]['toggle'](_0x342589(0x18a),_0x2686e0[_0x342589(0x2cd)][_0x342589(0x14e)]===state['diffView']),_0x2686e0[_0x342589(0x218)](_0x342589(0x2dc),()=>{const _0x1e3041=_0x342589;if(_0x2686e0['dataset'][_0x1e3041(0x14e)]===state[_0x1e3041(0x2e6)])return;state[_0x1e3041(0x2e6)]=_0x2686e0[_0x1e3041(0x2cd)][_0x1e3041(0x14e)],localStorage[_0x1e3041(0x15b)](_0x1e3041(0x1c7),state[_0x1e3041(0x2e6)]),_0xaa6d30['forEach'](_0x4b45b5=>_0x4b45b5['classList'][_0x1e3041(0x2e8)](_0x1e3041(0x18a),_0x4b45b5===_0x2686e0)),renderCommitDiff();});});}async function loadEnvironments(){const _0x4572cf=_0x389ddf,_0x1fb93e=await API['getEnvironments']();state[_0x4572cf(0x2d2)]=_0x1fb93e[_0x4572cf(0x2d2)]||[],elements[_0x4572cf(0x1b6)][_0x4572cf(0x18e)]=_0x4572cf(0x2ec),state[_0x4572cf(0x2d2)][_0x4572cf(0x2b6)](_0x4a8766=>{const _0x3d8bbe=_0x4572cf,_0x27b247=document[_0x3d8bbe(0x229)](_0x3d8bbe(0x19d));_0x27b247['value']=_0x4a8766[_0x3d8bbe(0x278)],_0x27b247[_0x3d8bbe(0x1bf)]=_0x4a8766[_0x3d8bbe(0x278)],elements['envSelect']['appendChild'](_0x27b247);}),new CustomSelect(elements[_0x4572cf(0x1b6)],{'searchable':!![]}),new CustomSelect(elements['repoSelect'],{'searchable':!![]}),new CustomSelect(elements[_0x4572cf(0x185)],{'searchable':!![]});const _0xec63db=_0x1fb93e[_0x4572cf(0x125)]||state[_0x4572cf(0x2d2)][0x0]?.[_0x4572cf(0x278)]||'';_0xec63db&&(elements['envSelect'][_0x4572cf(0x27a)]=_0xec63db,elements[_0x4572cf(0x1b6)][_0x4572cf(0x2e3)](new Event('change')));}async function handleEnvironmentChange(){const _0xeeed86=_0x389ddf;state[_0xeeed86(0x232)]=elements[_0xeeed86(0x1b6)]['value'],state[_0xeeed86(0x245)]='',state[_0xeeed86(0x1a2)]='',state[_0xeeed86(0x14d)]='',state[_0xeeed86(0x227)]=[],state[_0xeeed86(0x225)]=[],elements[_0xeeed86(0x2c3)][_0xeeed86(0x18e)]=_0xeeed86(0x254),elements[_0xeeed86(0x2c3)][_0xeeed86(0x1b8)]=!![],elements[_0xeeed86(0x185)][_0xeeed86(0x18e)]=_0xeeed86(0x300),elements['branchSelect']['disabled']=!![],elements['branchPill'][_0xeeed86(0x259)]=!![],elements[_0xeeed86(0x2f9)][_0xeeed86(0x18e)]='',elements[_0xeeed86(0x2c4)][_0xeeed86(0x1bf)]='Select\x20a\x20repository\x20to\x20load\x20history.',resetCommitDetail();if(!state[_0xeeed86(0x232)])return;try{const _0xaa1e12=await API[_0xeeed86(0x163)](state[_0xeeed86(0x232)]);state[_0xeeed86(0x227)]=_0xaa1e12[_0xeeed86(0x227)]||[],elements[_0xeeed86(0x2c3)][_0xeeed86(0x18e)]=_0xeeed86(0x254),state[_0xeeed86(0x227)]['forEach'](_0x2d647d=>{const _0x5dd6d4=_0xeeed86,_0xb94d2a=document[_0x5dd6d4(0x229)]('option');_0xb94d2a[_0x5dd6d4(0x27a)]=_0x2d647d[_0x5dd6d4(0x278)],_0xb94d2a[_0x5dd6d4(0x1bf)]=_0x2d647d[_0x5dd6d4(0x278)],elements['repoSelect'][_0x5dd6d4(0x2c8)](_0xb94d2a);}),elements[_0xeeed86(0x2c3)][_0xeeed86(0x1b8)]=state['repos'][_0xeeed86(0x1cb)]===0x0;const _0x4d1a43=state[_0xeeed86(0x227)][0x0]?.[_0xeeed86(0x278)];_0x4d1a43&&(elements[_0xeeed86(0x2c3)][_0xeeed86(0x27a)]=_0x4d1a43,elements[_0xeeed86(0x2c3)][_0xeeed86(0x2e3)](new Event(_0xeeed86(0x2d6))));}catch(_0x5f0bd6){Utils['showError'](_0x5f0bd6[_0xeeed86(0x16f)]||_0xeeed86(0x150));}}async function handleRepoChange(){const _0x10c8b7=_0x389ddf;state[_0x10c8b7(0x245)]=elements[_0x10c8b7(0x2c3)][_0x10c8b7(0x27a)],state['selectedBranch']='',state[_0x10c8b7(0x14d)]='',state['branches']=[],state[_0x10c8b7(0x280)][_0x10c8b7(0x160)]=0x0,state[_0x10c8b7(0x280)][_0x10c8b7(0x18f)]='',elements['searchInput'][_0x10c8b7(0x27a)]='',elements['clearSearchBtn']['hidden']=!![],elements[_0x10c8b7(0x185)][_0x10c8b7(0x18e)]=_0x10c8b7(0x1ce),elements['branchSelect'][_0x10c8b7(0x1b8)]=!![],resetCommitDetail();if(!state[_0x10c8b7(0x245)]){elements[_0x10c8b7(0x2f9)][_0x10c8b7(0x18e)]='',elements[_0x10c8b7(0x2c4)][_0x10c8b7(0x1bf)]='Select\x20a\x20repository\x20to\x20load\x20history.',elements[_0x10c8b7(0x266)][_0x10c8b7(0x259)]=!![],elements['branchSelect'][_0x10c8b7(0x18e)]=_0x10c8b7(0x300);return;}await loadBranches(),loadHistory();}function _0x17f6(_0x5c008e,_0x5c8a5a){_0x5c008e=_0x5c008e-0x124;const _0x14ae4c=_0x14ae();let _0x17f635=_0x14ae4c[_0x5c008e];if(_0x17f6['lgyxrz']===undefined){var _0x264d74=function(_0x226206){const _0x3e8c84='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b5c83='',_0x51ee64='';for(let _0x2b29b5=0x0,_0x5a96a4,_0x465fd6,_0x362640=0x0;_0x465fd6=_0x226206['charAt'](_0x362640++);~_0x465fd6&&(_0x5a96a4=_0x2b29b5%0x4?_0x5a96a4*0x40+_0x465fd6:_0x465fd6,_0x2b29b5++%0x4)?_0x3b5c83+=String['fromCharCode'](0xff&_0x5a96a4>>(-0x2*_0x2b29b5&0x6)):0x0){_0x465fd6=_0x3e8c84['indexOf'](_0x465fd6);}for(let _0xe354cc=0x0,_0x54f5b1=_0x3b5c83['length'];_0xe354cc<_0x54f5b1;_0xe354cc++){_0x51ee64+='%'+('00'+_0x3b5c83['charCodeAt'](_0xe354cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51ee64);};_0x17f6['KdSarH']=_0x264d74,_0x17f6['beGMmN']={},_0x17f6['lgyxrz']=!![];}const _0x35c33c=_0x14ae4c[0x0],_0x115c50=_0x5c008e+_0x35c33c,_0x12c01f=_0x17f6['beGMmN'][_0x115c50];return!_0x12c01f?(_0x17f635=_0x17f6['KdSarH'](_0x17f635),_0x17f6['beGMmN'][_0x115c50]=_0x17f635):_0x17f635=_0x12c01f,_0x17f635;}async function loadBranches(){const _0x123f73=_0x389ddf;if(!state[_0x123f73(0x232)]||!state[_0x123f73(0x245)])return;if(state[_0x123f73(0x182)])return;state['loadingBranches']=!![];try{const _0x41d5e8=state[_0x123f73(0x232)]+':'+state['selectedRepo'],_0x5847b1=branchCache['get'](_0x41d5e8),_0x3211c7=Date['now']();let _0x386b2c;_0x5847b1&&_0x3211c7-_0x5847b1[_0x123f73(0x1c6)]<BRANCH_CACHE_TTL_MS?_0x386b2c=_0x5847b1:(_0x386b2c=await API[_0x123f73(0x2bf)](state[_0x123f73(0x232)],state[_0x123f73(0x245)]),branchCache[_0x123f73(0x2ba)](_0x41d5e8,{..._0x386b2c,'timestamp':_0x3211c7}));state[_0x123f73(0x225)]=_0x386b2c['branches']||[],elements['branchSelect']['innerHTML']='';const _0x552d35=document['createElement'](_0x123f73(0x19d));_0x552d35['value']='',_0x552d35[_0x123f73(0x1bf)]=_0x386b2c['defaultBranch']?_0x386b2c[_0x123f73(0x2d3)]+'\x20(default)':_0x386b2c[_0x123f73(0x2b8)]?_0x386b2c[_0x123f73(0x2b8)]+_0x123f73(0x13b):_0x123f73(0x2ee),elements[_0x123f73(0x185)][_0x123f73(0x2c8)](_0x552d35);const _0x3841fe=_0x386b2c[_0x123f73(0x2d3)]||_0x386b2c['currentBranch'];state[_0x123f73(0x225)][_0x123f73(0x2b6)](_0x4392cd=>{const _0x1034dd=_0x123f73;if(_0x4392cd[_0x1034dd(0x278)]===_0x3841fe)return;const _0x151758=document['createElement'](_0x1034dd(0x19d));_0x151758[_0x1034dd(0x27a)]=_0x4392cd[_0x1034dd(0x278)];let _0x494fa8=_0x4392cd[_0x1034dd(0x278)];if(_0x4392cd[_0x1034dd(0x13e)])_0x494fa8+='\x20(default)';if(_0x4392cd[_0x1034dd(0x2ae)])_0x494fa8+=_0x1034dd(0x13b);_0x151758[_0x1034dd(0x1bf)]=_0x494fa8,elements[_0x1034dd(0x185)][_0x1034dd(0x2c8)](_0x151758);}),elements[_0x123f73(0x185)]['disabled']=state[_0x123f73(0x225)][_0x123f73(0x1cb)]===0x0,_0x386b2c[_0x123f73(0x2b8)]&&(state[_0x123f73(0x1a2)]=''),elements[_0x123f73(0x185)]['value']=state[_0x123f73(0x1a2)],queueMicrotask(()=>{const _0x2d6aa3=_0x123f73;elements[_0x2d6aa3(0x185)]['dispatchEvent'](new Event(_0x2d6aa3(0x2d6)));});}catch(_0x4cda59){console[_0x123f73(0x1a4)](_0x123f73(0x198),_0x4cda59),elements[_0x123f73(0x185)]['innerHTML']=_0x123f73(0x2eb),elements[_0x123f73(0x185)][_0x123f73(0x1b8)]=!![];}finally{state[_0x123f73(0x182)]=![];}}function handleBranchChange(){const _0x422f0d=_0x389ddf;state['selectedBranch']=elements[_0x422f0d(0x185)][_0x422f0d(0x27a)],state[_0x422f0d(0x280)]['offset']=0x0,resetCommitDetail(),loadHistory();}async function loadHistory(_0x1da93f={}){const _0x5e8d7d=_0x389ddf;if(!state[_0x5e8d7d(0x232)]||!state['selectedRepo'])return;if(state['loadingHistory'])return;state[_0x5e8d7d(0x170)]=!![],elements[_0x5e8d7d(0x2f9)][_0x5e8d7d(0x18e)]=renderLoadingSkeletons(0x5),elements[_0x5e8d7d(0x2c4)][_0x5e8d7d(0x1bf)]=_0x5e8d7d(0x20c);try{const _0x499877={'limit':state[_0x5e8d7d(0x280)][_0x5e8d7d(0x201)],'offset':state[_0x5e8d7d(0x280)][_0x5e8d7d(0x160)],'search':state['pagination'][_0x5e8d7d(0x18f)]};state[_0x5e8d7d(0x1a2)]&&(_0x499877[_0x5e8d7d(0x164)]=state[_0x5e8d7d(0x1a2)]);const _0x57339b=await API[_0x5e8d7d(0x1e2)](state['selectedEnvironment'],state[_0x5e8d7d(0x245)],_0x499877);state[_0x5e8d7d(0x25b)]=_0x57339b[_0x5e8d7d(0x25b)]||[],state[_0x5e8d7d(0x280)][_0x5e8d7d(0x1f0)]=_0x57339b['pagination']?.['hasMore']||![],state[_0x5e8d7d(0x1a5)]=_0x57339b[_0x5e8d7d(0x17a)]||_0x5e8d7d(0x1a7),state[_0x5e8d7d(0x14d)]=_0x57339b[_0x5e8d7d(0x147)]?.[_0x5e8d7d(0x164)]||state['selectedBranch']||'';_0x57339b[_0x5e8d7d(0x147)]?.['branch']?(elements[_0x5e8d7d(0x2fb)][_0x5e8d7d(0x1bf)]=_0x57339b[_0x5e8d7d(0x147)][_0x5e8d7d(0x164)],elements[_0x5e8d7d(0x266)][_0x5e8d7d(0x259)]=![]):elements['branchPill'][_0x5e8d7d(0x259)]=!![];updateSourceIndicator(),renderCommitList();const _0x41c62b=_0x1da93f[_0x5e8d7d(0x1b5)]&&state[_0x5e8d7d(0x209)],_0x5a9040=state[_0x5e8d7d(0x25b)]['some'](_0x3b3a34=>_0x3b3a34[_0x5e8d7d(0x2d7)]===state[_0x5e8d7d(0x209)]?.['hash']);if(_0x41c62b&&_0x5a9040)highlightSelectedCommit();else state[_0x5e8d7d(0x25b)][_0x5e8d7d(0x1cb)]>0x0?selectCommit(state[_0x5e8d7d(0x25b)][0x0]['hash'],{'silent':!![]}):resetCommitDetail();}catch(_0x5b1225){Utils[_0x5e8d7d(0x174)](_0x5b1225[_0x5e8d7d(0x16f)]||_0x5e8d7d(0x181)),elements[_0x5e8d7d(0x2f9)][_0x5e8d7d(0x18e)]='',elements['commitCount']['textContent']=_0x5e8d7d(0x169);}finally{state[_0x5e8d7d(0x170)]=![];}}function updateSourceIndicator(){const _0x380dfa=_0x389ddf;let _0x19bb29=document['getElementById']('data-source-indicator');!_0x19bb29&&(_0x19bb29=document['createElement'](_0x380dfa(0x2ca)),_0x19bb29['id']='data-source-indicator',_0x19bb29[_0x380dfa(0x299)]=_0x380dfa(0x158),elements[_0x380dfa(0x266)]?.[_0x380dfa(0x306)]?.['insertBefore'](_0x19bb29,elements[_0x380dfa(0x266)][_0x380dfa(0x19c)])),state[_0x380dfa(0x1a5)]===_0x380dfa(0x2d9)?(_0x19bb29['innerHTML']=_0x380dfa(0x212),_0x19bb29[_0x380dfa(0x28f)]=_0x380dfa(0x289),_0x19bb29[_0x380dfa(0x259)]=![]):_0x19bb29[_0x380dfa(0x259)]=!![];}async function selectCommit(_0x11b41f,_0x4f388b={}){const _0x177e89=_0x389ddf;if(!_0x11b41f)return;if(state['loadingCommit'])return;const _0x5d0040=state[_0x177e89(0x25b)][_0x177e89(0x2a1)](_0x1e6220=>_0x1e6220[_0x177e89(0x2d7)]===_0x11b41f);if(!_0x5d0040)return;state[_0x177e89(0x209)]=_0x5d0040,highlightSelectedCommit();if(_0x4f388b['silent']){await loadCommitDetail(_0x11b41f);return;}await loadCommitDetail(_0x11b41f);}function highlightSelectedCommit(){const _0x482cc0=_0x389ddf,_0x504a80=elements[_0x482cc0(0x2f9)][_0x482cc0(0x268)](_0x482cc0(0x197));_0x504a80['forEach'](_0x23777d=>{const _0x42e912=_0x482cc0;_0x23777d[_0x42e912(0x2b4)][_0x42e912(0x2e8)](_0x42e912(0x2a0),_0x23777d[_0x42e912(0x2cd)][_0x42e912(0x2d7)]===state['selectedCommit']?.[_0x42e912(0x2d7)]);});}async function loadCommitDetail(_0x5eed4e){const _0x293316=_0x389ddf;state['loadingCommit']=!![],elements[_0x293316(0x1dc)][_0x293316(0x259)]=!![],elements[_0x293316(0x155)]['hidden']=![],elements['diffContainer'][_0x293316(0x18e)]=_0x293316(0x16a);try{const _0x1fad42=await API['getEnvironmentRepoCommit'](state[_0x293316(0x232)],state[_0x293316(0x245)],_0x5eed4e);state[_0x293316(0x269)]=_0x1fad42,renderCommitDetail();}catch(_0x5a299b){Utils[_0x293316(0x174)](_0x5a299b['message']||_0x293316(0x165)),elements[_0x293316(0x2ab)][_0x293316(0x18e)]='<div\x20class=\x22empty-state-card\x22>Unable\x20to\x20load\x20diff.</div>';}finally{state['loadingCommit']=![];}}function renderCommitList(){const _0x232cec=_0x389ddf;elements[_0x232cec(0x2f9)]['innerHTML']='';if(state['commits'][_0x232cec(0x1cb)]===0x0){const _0x5447e4=state[_0x232cec(0x280)][_0x232cec(0x18f)]?_0x232cec(0x2f6)+state[_0x232cec(0x280)][_0x232cec(0x18f)]+'\x22.':'No\x20commits\x20found.';elements[_0x232cec(0x2c4)][_0x232cec(0x1bf)]=_0x5447e4,elements[_0x232cec(0x2f9)][_0x232cec(0x18e)]=_0x232cec(0x2af)+Utils['escapeHtml'](_0x5447e4)+_0x232cec(0x252),elements[_0x232cec(0x28a)][_0x232cec(0x1b8)]=!![],elements[_0x232cec(0x130)][_0x232cec(0x1b8)]=!![];return;}const _0x4df62a=state['pagination'][_0x232cec(0x160)]+0x1,_0x141241=state['pagination']['offset']+state['commits'][_0x232cec(0x1cb)],_0x3716fc=state[_0x232cec(0x280)][_0x232cec(0x18f)]?_0x4df62a+'-'+_0x141241+_0x232cec(0x15e)+state[_0x232cec(0x280)][_0x232cec(0x18f)]+'\x22':_0x4df62a+'-'+_0x141241;elements[_0x232cec(0x2c4)][_0x232cec(0x1bf)]=_0x3716fc,state[_0x232cec(0x25b)][_0x232cec(0x2b6)]((_0x1c1f16,_0x28b1fd)=>{const _0x2858a8=_0x232cec,_0x2b45be=document[_0x2858a8(0x229)]('li');_0x2b45be[_0x2858a8(0x299)]=_0x2858a8(0x1b7),_0x2b45be[_0x2858a8(0x2cd)][_0x2858a8(0x2d7)]=_0x1c1f16[_0x2858a8(0x2d7)],_0x2b45be[_0x2858a8(0x1cd)]=0x0,_0x2b45be['setAttribute'](_0x2858a8(0x2a3),_0x2858a8(0x264)),_0x2b45be['setAttribute'](_0x2858a8(0x23c),'Commit:\x20'+(_0x1c1f16[_0x2858a8(0x16f)]||_0x2858a8(0x159))+'\x20by\x20'+(_0x1c1f16[_0x2858a8(0x27b)]||_0x2858a8(0x21d))),_0x2b45be['style'][_0x2858a8(0x2d0)]=_0x28b1fd*0x19+'ms';const _0x2f6d1d=getAuthorInitials(_0x1c1f16[_0x2858a8(0x27b)]),_0x947872=getAvatarColor(_0x1c1f16[_0x2858a8(0x27b)]||_0x2858a8(0x21d)),_0x4c762e=detectCommitType(_0x1c1f16[_0x2858a8(0x16f)]),_0x1c3246=_0x4c762e?_0x2858a8(0x1d5)+_0x4c762e+'\x22>'+_0x4c762e+_0x2858a8(0x2c1):'';_0x2b45be[_0x2858a8(0x18e)]='\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22commit-message\x22>'+Utils['escapeHtml'](truncateMessage(_0x1c1f16[_0x2858a8(0x16f)]||_0x2858a8(0x159),0x50))+_0x2858a8(0x1d0)+_0x947872+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22author-avatar\x22>'+_0x2f6d1d+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+Utils[_0x2858a8(0x1ab)](_0x1c1f16[_0x2858a8(0x27b)]||_0x2858a8(0x21d))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22commit-time\x22>'+Utils[_0x2858a8(0x21c)](_0x1c1f16['date'])+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22commit-short-hash\x22>'+_0x1c1f16[_0x2858a8(0x2c0)]+_0x2858a8(0x15f)+(_0x1c1f16['isMerge']?_0x2858a8(0x1da):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1c3246+'\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20',_0x2b45be[_0x2858a8(0x218)](_0x2858a8(0x2fd),_0x24b37b=>{const _0x5817f4=_0x2858a8;(_0x24b37b[_0x5817f4(0x187)]===_0x5817f4(0x2ef)||_0x24b37b['key']==='\x20')&&(_0x24b37b[_0x5817f4(0x1b0)](),selectCommit(_0x1c1f16[_0x5817f4(0x2d7)]));}),elements[_0x2858a8(0x2f9)][_0x2858a8(0x2c8)](_0x2b45be);}),elements[_0x232cec(0x28a)][_0x232cec(0x1b8)]=state[_0x232cec(0x280)][_0x232cec(0x160)]===0x0,elements[_0x232cec(0x130)][_0x232cec(0x1b8)]=!state[_0x232cec(0x280)]['hasMore'],highlightSelectedCommit();}function getAuthorInitials(_0x23f835){const _0x41f018=_0x389ddf;if(!_0x23f835)return'?';const _0x3c1fa7=_0x23f835['trim']()[_0x41f018(0x2cb)](/\s+/);if(_0x3c1fa7['length']===0x1)return _0x3c1fa7[0x0]['charAt'](0x0)[_0x41f018(0x273)]();return(_0x3c1fa7[0x0][_0x41f018(0x226)](0x0)+_0x3c1fa7[_0x3c1fa7['length']-0x1][_0x41f018(0x226)](0x0))['toUpperCase']();}function getAvatarColor(_0x410ba9){const _0x157e43=_0x389ddf;let _0x433108=0x0;for(let _0x11f27a=0x0;_0x11f27a<_0x410ba9['length'];_0x11f27a++){_0x433108=_0x410ba9[_0x157e43(0x2fa)](_0x11f27a)+((_0x433108<<0x5)-_0x433108);}const _0x283ef5=Math['abs'](_0x433108%0x168);return _0x157e43(0x25c)+_0x283ef5+',\x2065%,\x2055%)';}function truncateMessage(_0x43c856,_0x2ee452){const _0x3a5e39=_0x389ddf;if(!_0x43c856)return'';const _0x413538=_0x43c856[_0x3a5e39(0x2cb)]('\x0a')[0x0];if(_0x413538[_0x3a5e39(0x1cb)]<=_0x2ee452)return _0x413538;return _0x413538[_0x3a5e39(0x2e4)](0x0,_0x2ee452-0x3)+_0x3a5e39(0x29f);}function asFiniteNumber(_0x3623f9){return Number['isFinite'](_0x3623f9)?_0x3623f9:null;}function formatFileCountLabel(_0x56fad3,_0x41c42d={}){const _0x152eb3=_0x389ddf,_0x31eae5=Boolean(_0x41c42d[_0x152eb3(0x298)]),_0x20cd3a=_0x31eae5?_0x152eb3(0x2b9):'';return''+_0x20cd3a+_0x56fad3+_0x152eb3(0x2c9)+(_0x56fad3===0x1?'':'s');}function formatBytes(_0x382012){const _0x26078f=_0x389ddf;if(!Number[_0x26078f(0x1c1)](_0x382012)||_0x382012<=0x0)return'';const _0xd055f5=_0x382012/(0x400*0x400);if(_0xd055f5>=0x1)return _0xd055f5[_0x26078f(0x199)](0x1)+'MB';const _0x2d67ab=_0x382012/0x400;return Math[_0x26078f(0x17f)](0x1,Math[_0x26078f(0x24d)](_0x2d67ab))+'KB';}function getEffectiveDiffStats(_0x4fe35a,_0xd92be7){const _0x42d34f=_0x389ddf,_0x344137=asFiniteNumber(_0xd92be7?.[_0x42d34f(0x246)]),_0x35e1cb=asFiniteNumber(_0xd92be7?.['changedFilesLowerBound']),_0x4d09da=asFiniteNumber(_0xd92be7?.[_0x42d34f(0x17c)]),_0x1bce53=asFiniteNumber(_0xd92be7?.[_0x42d34f(0x1a6)]);return{'files':_0x344137??_0x35e1cb??_0x4fe35a[_0x42d34f(0x143)],'filesIsLowerBound':_0x344137===null&&_0x35e1cb!==null,'additions':_0x4d09da??_0x4fe35a[_0x42d34f(0x17c)],'deletions':_0x1bce53??_0x4fe35a[_0x42d34f(0x1a6)]};}function getDiffNoticeText(_0x4fd23c){const _0x191e3b=_0x389ddf;if(!_0x4fd23c?.[_0x191e3b(0x19e)])return'';if(_0x4fd23c[_0x191e3b(0x2a6)]){const _0x58d9d9=asFiniteNumber(_0x4fd23c[_0x191e3b(0x246)]),_0x225cc7=asFiniteNumber(_0x4fd23c[_0x191e3b(0x1ac)]),_0x18ae22=asFiniteNumber(_0x4fd23c[_0x191e3b(0x2b3)]);if(_0x58d9d9!==null&&_0x18ae22!==null)return _0x191e3b(0x22f)+_0x58d9d9['toLocaleString']()+_0x191e3b(0x1ff)+_0x18ae22[_0x191e3b(0x179)]()+').';if(_0x225cc7!==null&&_0x18ae22!==null)return _0x191e3b(0x205)+_0x225cc7[_0x191e3b(0x179)]()+_0x191e3b(0x1ff)+_0x18ae22['toLocaleString']()+').';if(_0x225cc7!==null)return _0x191e3b(0x205)+_0x225cc7[_0x191e3b(0x179)]()+_0x191e3b(0x144);return _0x191e3b(0x18b);}const _0x9a932=asFiniteNumber(_0x4fd23c[_0x191e3b(0x1d7)]);if(_0x9a932!==null)return _0x191e3b(0x1fe)+formatBytes(_0x9a932)+_0x191e3b(0x2ed);return _0x191e3b(0x263);}function shouldUseLazyRendering(_0x40a99e,_0x26d6be=null){const _0x2fd37b=_0x389ddf,_0x159fd3=asFiniteNumber(_0x26d6be?.[_0x2fd37b(0x2b3)]);return _0x3b5c83(_0x40a99e,{'minFiles':LAZY_RENDER_MIN_FILES,'maxFiles':LAZY_RENDER_MAX_FILES,'serverMaxFiles':_0x159fd3});}function shouldAutoCollapseDiff(_0x3fd447){return _0x51ee64(_0x3fd447,{'threshold':AUTO_COLLAPSE_MIN_FILES});}function getLazyLoadMoreText(_0x1fca92){const _0x326a7c=_0x389ddf;if(!_0x1fca92)return'Load\x20more\x20files';return _0x2b29b5({'filesLength':_0x1fca92['files'][_0x326a7c(0x1cb)],'renderedCount':_0x1fca92['renderedCount'],'chunkSize':_0x1fca92[_0x326a7c(0x2c7)]});}function ensureLazyDiffFileRendered(_0x1808f2){const _0x4c5ec9=_0x389ddf;if(!state[_0x4c5ec9(0x295)]?.[_0x4c5ec9(0x25f)])return;const _0x375875=renderedCountForTarget({'renderedCount':state[_0x4c5ec9(0x295)][_0x4c5ec9(0x216)],'targetIndex':_0x1808f2,'totalFiles':state[_0x4c5ec9(0x295)][_0x4c5ec9(0x143)][_0x4c5ec9(0x1cb)],'chunkSize':state['diffRender'][_0x4c5ec9(0x2c7)]});while(state['diffRender'][_0x4c5ec9(0x216)]<_0x375875){renderNextDiffChunk();}}function updateLazyLoadMoreControl(){const _0x299da0=_0x389ddf,_0x3be31c=state[_0x299da0(0x295)];if(!_0x3be31c?.[_0x299da0(0x25f)]||!elements[_0x299da0(0x2ab)])return;const _0x3cc720=elements[_0x299da0(0x2ab)][_0x299da0(0x1d4)]('.diff-load-more-control');if(!_0x3cc720)return;if(_0x3be31c[_0x299da0(0x216)]>=_0x3be31c[_0x299da0(0x143)][_0x299da0(0x1cb)]){_0x3cc720['innerHTML']=_0x299da0(0x17d)+formatFileCountLabel(_0x3be31c[_0x299da0(0x143)][_0x299da0(0x1cb)])+'\x20loaded</span>';return;}_0x3cc720[_0x299da0(0x18e)]=_0x299da0(0x2db)+getLazyLoadMoreText(_0x3be31c)+_0x299da0(0x219);const _0x229910=_0x3cc720[_0x299da0(0x1d4)](_0x299da0(0x2e2));_0x229910?.[_0x299da0(0x218)](_0x299da0(0x2dc),()=>{renderNextDiffChunk();});}function renderNextDiffChunk(){const _0x330bb2=_0x389ddf,_0x1edbee=state['diffRender'];if(!_0x1edbee?.['lazy']||!elements[_0x330bb2(0x2ab)])return;if(_0x1edbee[_0x330bb2(0x216)]>=_0x1edbee[_0x330bb2(0x143)][_0x330bb2(0x1cb)])return;const _0x979e4e=elements[_0x330bb2(0x2ab)][_0x330bb2(0x1d4)]('.diff-files-host');if(!_0x979e4e)return;const _0x3f2439=_0x1edbee[_0x330bb2(0x216)],_0x57c8cf=getNextRenderedCount({'renderedCount':_0x3f2439,'totalFiles':_0x1edbee[_0x330bb2(0x143)][_0x330bb2(0x1cb)],'chunkSize':_0x1edbee['chunkSize']}),_0x306c60=_0x1edbee[_0x330bb2(0x143)][_0x330bb2(0x2ce)](_0x3f2439,_0x57c8cf),_0x13dcdf=state['diffView']===_0x330bb2(0x2cb)?renderSplitDiff(_0x306c60,_0x1edbee['storageKeyPrefix'],_0x3f2439,{'defaultCollapsed':_0x1edbee[_0x330bb2(0x1fd)]}):renderUnifiedDiff(_0x306c60,_0x1edbee['storageKeyPrefix'],_0x3f2439,{'defaultCollapsed':_0x1edbee[_0x330bb2(0x1fd)]});_0x979e4e[_0x330bb2(0x26a)](_0x330bb2(0x286),_0x13dcdf),_0x1edbee[_0x330bb2(0x216)]=_0x57c8cf,bindDiffToggleHandlers(_0x1edbee['storageKeyPrefix']),updateLazyLoadMoreControl();}function renderCommitDetail(){const _0x12fa06=_0x389ddf;if(!state[_0x12fa06(0x269)]||!state[_0x12fa06(0x269)]['commit']){resetCommitDetail();return;}const _0xefca4f=state[_0x12fa06(0x269)]['commit'];elements['commitMessage'][_0x12fa06(0x1bf)]=_0xefca4f[_0x12fa06(0x16f)]||'No\x20message',elements['commitAuthor']['textContent']=''+(_0xefca4f[_0x12fa06(0x27b)]||_0x12fa06(0x21d))+(_0xefca4f['email']?'\x20('+_0xefca4f[_0x12fa06(0x132)]+')':''),elements['commitDate']['textContent']=formatDate(_0xefca4f['date']),elements[_0x12fa06(0x271)]['textContent']=_0xefca4f[_0x12fa06(0x2d7)];const _0xa9e309=isSelectedCommitRemoteSource();elements[_0x12fa06(0x2cc)]&&(elements['revertBtn'][_0x12fa06(0x259)]=![],elements[_0x12fa06(0x2cc)][_0x12fa06(0x1bf)]=_0xa9e309?'Revert\x20via\x20task':_0x12fa06(0x13d),elements[_0x12fa06(0x2cc)][_0x12fa06(0x28f)]=_0xa9e309?_0x12fa06(0x2f2):'');if(elements[_0x12fa06(0x202)]){const _0x44bce2=getProviderCommitUrl(_0xefca4f[_0x12fa06(0x2d7)]);_0x44bce2&&_0xa9e309?(elements['viewOnProviderBtn'][_0x12fa06(0x259)]=![],elements[_0x12fa06(0x202)][_0x12fa06(0x2f3)]=_0x44bce2,elements[_0x12fa06(0x202)][_0x12fa06(0x1bf)]=_0x12fa06(0x272)+getProviderDisplayName()):elements['viewOnProviderBtn'][_0x12fa06(0x259)]=!![];}const _0x4060c4=_0xefca4f[_0x12fa06(0x26d)]||[];_0x4060c4['length']>0x1?(elements[_0x12fa06(0x135)][_0x12fa06(0x259)]=![],elements[_0x12fa06(0x1db)]['innerHTML']='',_0x4060c4[_0x12fa06(0x2b6)]((_0x733c79,_0x34a21f)=>{const _0x3019fa=_0x12fa06,_0x393bd1=document['createElement'](_0x3019fa(0x19d));_0x393bd1[_0x3019fa(0x27a)]=String(_0x34a21f+0x1),_0x393bd1[_0x3019fa(0x1bf)]=_0x3019fa(0x127)+(_0x34a21f+0x1)+'\x20-\x20'+_0x733c79['slice'](0x0,0x7),elements['mainlineSelect'][_0x3019fa(0x2c8)](_0x393bd1);})):elements[_0x12fa06(0x135)][_0x12fa06(0x259)]=!![];const _0x3e42f6=state[_0x12fa06(0x269)][_0x12fa06(0x276)]||null,_0x1d808e=_0x3e42f6?.[_0x12fa06(0x2a6)]?[]:parsePatchContent(state[_0x12fa06(0x269)]['diff']||'');state['commitDetail'][_0x12fa06(0x143)]=_0x1d808e;const _0x209e09=calculateDiffStats(_0x1d808e),_0x4c2275=getEffectiveDiffStats(_0x209e09,_0x3e42f6);elements[_0x12fa06(0x1e0)][_0x12fa06(0x18e)]=_0x12fa06(0x2df)+formatFileCountLabel(_0x4c2275[_0x12fa06(0x143)],{'lowerBound':_0x4c2275[_0x12fa06(0x305)]})+_0x12fa06(0x171)+_0x4c2275[_0x12fa06(0x17c)][_0x12fa06(0x179)]()+_0x12fa06(0x2b0)+_0x4c2275[_0x12fa06(0x1a6)][_0x12fa06(0x179)]()+_0x12fa06(0x215);elements[_0x12fa06(0x22e)]&&(elements[_0x12fa06(0x22e)][_0x12fa06(0x1bf)]=formatFileCountLabel(_0x4c2275[_0x12fa06(0x143)],{'lowerBound':_0x4c2275[_0x12fa06(0x305)]}));if(elements['fileNavToggle']){const _0x11338e=_0x1d808e[_0x12fa06(0x1cb)]>0x0;elements[_0x12fa06(0x2f5)][_0x12fa06(0x1b8)]=!_0x11338e,elements[_0x12fa06(0x2f5)][_0x12fa06(0x151)](_0x12fa06(0x253),String(!_0x11338e)),elements[_0x12fa06(0x2f5)][_0x12fa06(0x28f)]=_0x11338e?_0x12fa06(0x176):_0x3e42f6?.['omitted']?_0x12fa06(0x2f4):_0x12fa06(0x16b),!_0x11338e&&closeFileNav();}renderCommitDiff();}function renderCommitDiff(){const _0x3ccafb=_0x389ddf;if(!state[_0x3ccafb(0x269)]||!elements[_0x3ccafb(0x2ab)])return;const _0x5d2b5f=state['commitDetail'][_0x3ccafb(0x276)]||null,_0x1a8266=getDiffNoticeText(_0x5d2b5f);state[_0x3ccafb(0x295)]=null;if(_0x5d2b5f?.[_0x3ccafb(0x2a6)]){elements[_0x3ccafb(0x2ab)][_0x3ccafb(0x18e)]=_0x3ccafb(0x20e)+Utils[_0x3ccafb(0x1ab)](_0x1a8266||'Diff\x20omitted\x20for\x20this\x20large\x20commit.')+_0x3ccafb(0x283);return;}const _0x29a3f2=state[_0x3ccafb(0x269)][_0x3ccafb(0x143)]||parsePatchContent(state[_0x3ccafb(0x269)][_0x3ccafb(0x1c0)]||'');if(_0x29a3f2[_0x3ccafb(0x1cb)]===0x0){if(_0x5d2b5f?.['truncated']){elements[_0x3ccafb(0x2ab)][_0x3ccafb(0x18e)]=_0x3ccafb(0x1c8)+Utils[_0x3ccafb(0x1ab)](_0x1a8266||_0x3ccafb(0x206))+_0x3ccafb(0x12f);return;}elements[_0x3ccafb(0x2ab)]['innerHTML']=_0x3ccafb(0x1fa);return;}const _0x170d77=_0x3ccafb(0x1b9)+state[_0x3ccafb(0x269)][_0x3ccafb(0x2be)]['hash'],_0x3fe143=_0x5d2b5f?.[_0x3ccafb(0x19e)]?_0x3ccafb(0x294)+Utils[_0x3ccafb(0x1ab)](_0x1a8266)+'</div>':'',_0x2af723=shouldUseLazyRendering(_0x29a3f2[_0x3ccafb(0x1cb)],_0x5d2b5f),_0x4cb1fe=shouldAutoCollapseDiff(_0x29a3f2[_0x3ccafb(0x1cb)]);if(_0x2af723){state[_0x3ccafb(0x295)]={'lazy':!![],'files':_0x29a3f2,'storageKeyPrefix':_0x170d77,'renderedCount':0x0,'chunkSize':LAZY_RENDER_CHUNK_SIZE,'defaultCollapsed':_0x4cb1fe};const _0x3a86c7=_0x4cb1fe?'Large\x20commit\x20detected\x20('+_0x29a3f2[_0x3ccafb(0x1cb)][_0x3ccafb(0x179)]()+_0x3ccafb(0x26c):_0x3ccafb(0x249)+_0x29a3f2[_0x3ccafb(0x1cb)][_0x3ccafb(0x179)]()+_0x3ccafb(0x23e);elements[_0x3ccafb(0x2ab)][_0x3ccafb(0x18e)]=_0x3ccafb(0x1ea)+_0x3fe143+_0x3ccafb(0x20b)+Utils[_0x3ccafb(0x1ab)](_0x3a86c7)+_0x3ccafb(0x133),renderNextDiffChunk();return;}const _0x642fb=state[_0x3ccafb(0x2e6)]===_0x3ccafb(0x2cb)?renderSplitDiff(_0x29a3f2,_0x170d77,0x0,{'defaultCollapsed':_0x4cb1fe}):renderUnifiedDiff(_0x29a3f2,_0x170d77,0x0,{'defaultCollapsed':_0x4cb1fe});elements[_0x3ccafb(0x2ab)][_0x3ccafb(0x18e)]=''+_0x3fe143+_0x642fb,bindDiffToggleHandlers(_0x170d77);}function resetCommitDetail(){const _0x6ef7a2=_0x389ddf;state[_0x6ef7a2(0x209)]=null,state[_0x6ef7a2(0x269)]=null,state['diffRender']=null,closeFileNav(),elements[_0x6ef7a2(0x1dc)][_0x6ef7a2(0x259)]=![],elements['detailPanel']['hidden']=!![];}function getSelectedRepoObject(){const _0x10bc63=_0x389ddf;return state[_0x10bc63(0x227)][_0x10bc63(0x2a1)](_0x23aa64=>_0x23aa64[_0x10bc63(0x278)]===state[_0x10bc63(0x245)])||null;}function getProviderDisplayName(){const _0x6789f9=_0x389ddf,_0x3287f1=getSelectedRepoObject(),_0x30804e=_0x3287f1?.[_0x6789f9(0x190)]?.[_0x6789f9(0x21e)]()||'';if(_0x30804e[_0x6789f9(0x2fc)](_0x6789f9(0x1c5))||_0x30804e['includes'](_0x6789f9(0x28c)))return'GitHub';else{if(_0x30804e[_0x6789f9(0x2fc)]('gitlab.com')||_0x30804e[_0x6789f9(0x2fc)]('gitlab.'))return _0x6789f9(0x1e7);else{if(_0x30804e[_0x6789f9(0x2fc)](_0x6789f9(0x20d))||_0x30804e[_0x6789f9(0x2fc)](_0x6789f9(0x129)))return'Bitbucket';else{if(_0x30804e[_0x6789f9(0x2fc)](_0x6789f9(0x1de))||_0x30804e[_0x6789f9(0x2fc)](_0x6789f9(0x29b)))return _0x6789f9(0x1c4);}}}return'Provider';}function getProviderCommitUrl(_0x4da5ba){const _0x2dccaa=_0x389ddf,_0x2a2c70=getSelectedRepoObject();if(!_0x2a2c70?.[_0x2dccaa(0x190)])return null;let _0x14071a=_0x2a2c70['url']['replace'](/\.git$/,'');_0x14071a=_0x14071a[_0x2dccaa(0x191)](/^(https?:\/\/)[^@]+@/,'$1');const _0x3540d5=_0x14071a['toLowerCase']();if(_0x3540d5[_0x2dccaa(0x2fc)](_0x2dccaa(0x290))||_0x3540d5[_0x2dccaa(0x2fc)](_0x2dccaa(0x1f4)))return _0x14071a+_0x2dccaa(0x18c)+_0x4da5ba;else{if(_0x3540d5[_0x2dccaa(0x2fc)](_0x2dccaa(0x20d))||_0x3540d5[_0x2dccaa(0x2fc)](_0x2dccaa(0x129)))return _0x14071a+_0x2dccaa(0x2f8)+_0x4da5ba;}return _0x14071a+_0x2dccaa(0x1fb)+_0x4da5ba;}function isSelectedCommitRemoteSource(){const _0x267444=_0x389ddf;return state[_0x267444(0x269)]?.['source']===_0x267444(0x2d9)||state[_0x267444(0x1a5)]===_0x267444(0x2d9);}function getSelectedBranchForRevertTask(){const _0x53c4dc=_0x389ddf,_0x249e09=(state[_0x53c4dc(0x1a2)]||'')[_0x53c4dc(0x1d9)]();if(_0x249e09)return _0x249e09;const _0x3f05c5=(state[_0x53c4dc(0x14d)]||'')[_0x53c4dc(0x1d9)]();if(_0x3f05c5)return _0x3f05c5;const _0x47474a=(elements['branchName']?.[_0x53c4dc(0x1bf)]||'')[_0x53c4dc(0x1d9)]();return _0x47474a||null;}function buildRemoteRevertTaskInstructions(_0xba633d,_0x26f5c8={}){const _0x2a1edd=_0x389ddf,_0x1818ed=getSelectedBranchForRevertTask(),_0x49f289=_0x26f5c8[_0x2a1edd(0x19f)]||null,_0x342a9e=Array['isArray'](_0xba633d[_0x2a1edd(0x26d)])&&_0xba633d[_0x2a1edd(0x26d)]['length']>0x1,_0x4da6b=_0x342a9e?_0x2a1edd(0x292)+(_0x49f289||'1')+'\x20'+_0xba633d[_0x2a1edd(0x2d7)]:'git\x20revert\x20--no-commit\x20'+_0xba633d['hash'],_0x3251e0=['Please\x20revert\x20commit\x20'+_0xba633d['hash']+_0x2a1edd(0x1dd)+state[_0x2a1edd(0x245)]+_0x2a1edd(0x233)+state['selectedEnvironment']+'\x22.','',_0x2a1edd(0x1e1),_0x2a1edd(0x13f)+state[_0x2a1edd(0x245)]+'\x22\x20(typically\x20under\x20/workspace).',_0x1818ed?'2.\x20Ensure\x20branch\x20\x22'+_0x1818ed+_0x2a1edd(0x1f6):_0x2a1edd(0x303),_0x2a1edd(0x183)+_0x4da6b+'`.',_0x2a1edd(0x1ae),_0x2a1edd(0x2e7),_0x2a1edd(0x2e0),_0x2a1edd(0x2f7)];return _0x3251e0[_0x2a1edd(0x27f)]('\x0a');}function navigateToTask(_0x4e97fc){const _0x5ba33f=_0x389ddf,_0x4db70e=_0x5ba33f(0x1d2)+encodeURIComponent(_0x4e97fc),_0x8edf8f=localStorage[_0x5ba33f(0x126)](OPEN_NEW_TAB_STORAGE_KEY)===_0x5ba33f(0x27d);if(_0x8edf8f){const _0x5f4c55=window[_0x5ba33f(0x1cf)](_0x4db70e,'_blank');!_0x5f4c55&&(window['location'][_0x5ba33f(0x2f3)]=_0x4db70e);return;}window[_0x5ba33f(0x138)]['href']=_0x4db70e;}async function createRemoteRevertTask(_0x2625bb,_0x1d93a0={}){const _0x111646=_0x389ddf,_0xdbc8a5=_0x2625bb[_0x111646(0x2c0)]||_0x2625bb[_0x111646(0x2d7)][_0x111646(0x2ce)](0x0,0x7),_0x46f12c=buildRemoteRevertTaskInstructions(_0x2625bb,_0x1d93a0),_0x548304={'name':_0x111646(0x156)+_0xdbc8a5+_0x111646(0x287)+state['selectedRepo'],'environment':state[_0x111646(0x232)],'task_type':_0x111646(0x256),'parameters':{'instructions':_0x46f12c}},_0x40456b=elements['revertBtn']?.['textContent']||_0x111646(0x277);elements[_0x111646(0x2cc)]&&(elements['revertBtn']['disabled']=!![],elements['revertBtn'][_0x111646(0x1bf)]=_0x111646(0x274));try{const _0x217e40=await API[_0x111646(0x193)](_0x548304),_0x2331d4=_0x217e40?.[_0x111646(0x207)];if(!_0x2331d4)throw new Error(_0x111646(0x184));Utils[_0x111646(0x16d)](_0x111646(0x1e9)),navigateToTask(_0x2331d4);}catch(_0x161216){if(_0x161216?.[_0x111646(0x1a4)]===_0x111646(0x2d8)&&Array[_0x111646(0x1bb)](_0x161216[_0x111646(0x1a1)])&&_0x161216['providers']['length']>0x0){const _0x130490=_0x161216[_0x111646(0x1a1)][_0x111646(0x1e3)](_0x5aaeea=>_0x5aaeea['displayName']||_0x5aaeea[_0x111646(0x28e)]||_0x5aaeea[_0x111646(0x278)]||_0x111646(0x28e))[_0x111646(0x27f)](',\x20');throw new Error(_0x111646(0x1b2)+_0x130490+_0x111646(0x235));}throw _0x161216;}finally{elements[_0x111646(0x2cc)]&&(elements[_0x111646(0x2cc)]['disabled']=![],elements['revertBtn'][_0x111646(0x1bf)]=_0x40456b);}}function handleSearchInput(_0x23499a){const _0x57a7ef=_0x389ddf,_0x49c352=_0x23499a[_0x57a7ef(0x208)][_0x57a7ef(0x27a)][_0x57a7ef(0x1d9)]();elements[_0x57a7ef(0x14b)][_0x57a7ef(0x259)]=!_0x49c352,searchTimer&&clearTimeout(searchTimer),searchTimer=setTimeout(()=>{const _0x418ddd=_0x57a7ef;state[_0x418ddd(0x280)][_0x418ddd(0x18f)]=_0x49c352,state[_0x418ddd(0x280)][_0x418ddd(0x160)]=0x0,loadHistory();},SEARCH_DEBOUNCE_MS);}function clearSearch(){const _0x43b986=_0x389ddf;elements[_0x43b986(0x1a3)]['value']='',elements[_0x43b986(0x14b)][_0x43b986(0x259)]=!![],state[_0x43b986(0x280)][_0x43b986(0x18f)]='',state[_0x43b986(0x280)][_0x43b986(0x160)]=0x0,loadHistory();}function changePage(_0x862934){const _0x8a9302=_0x389ddf,_0x196036=state['pagination'][_0x8a9302(0x160)]+_0x862934*state['pagination'][_0x8a9302(0x201)];if(_0x196036<0x0)return;state[_0x8a9302(0x280)][_0x8a9302(0x160)]=_0x196036,loadHistory({'keepSelection':![]});}async function handleCopyHash(){const _0x1f9ee9=_0x389ddf;if(!state[_0x1f9ee9(0x269)]?.[_0x1f9ee9(0x2be)]?.[_0x1f9ee9(0x2d7)])return;const _0x3ef65f=await Utils[_0x1f9ee9(0x1b4)](state[_0x1f9ee9(0x269)]['commit'][_0x1f9ee9(0x2d7)]);if(_0x3ef65f)Utils[_0x1f9ee9(0x16d)](_0x1f9ee9(0x162));}async function handleRevertCommit(){const _0xc62646=_0x389ddf;if(!state[_0xc62646(0x269)]?.[_0xc62646(0x2be)]?.[_0xc62646(0x2d7)])return;const _0x42d665=state[_0xc62646(0x269)][_0xc62646(0x2be)],_0x9951a1=_0x42d665[_0xc62646(0x2c0)]||_0x42d665[_0xc62646(0x2d7)][_0xc62646(0x2ce)](0x0,0x7),_0x1fe855={};_0x42d665['parents']&&_0x42d665[_0xc62646(0x26d)]['length']>0x1&&(_0x1fe855[_0xc62646(0x19f)]=elements['mainlineSelect'][_0xc62646(0x27a)]||'1');if(isSelectedCommitRemoteSource()){const _0x1bb1bd=getSelectedBranchForRevertTask(),_0x3df8ba=_0x1fe855[_0xc62646(0x19f)]?_0xc62646(0x24a)+_0x1fe855['mainline']:'',_0x216eb6=_0x1bb1bd?'\x20on\x20branch\x20\x22'+_0x1bb1bd+'\x22':'',_0x12cae7=_0xc62646(0x251)+_0x9951a1+_0x216eb6+_0x3df8ba+'?\x20The\x20task\x20will\x20apply\x20the\x20revert\x20without\x20committing\x20so\x20it\x20can\x20be\x20approved\x20and\x20pushed\x20later.',_0x46f768=await ConfirmDialog[_0xc62646(0x26b)]({'title':'Create\x20Revert\x20Task','message':_0x12cae7,'confirmText':'Create\x20Task','cancelText':_0xc62646(0x134),'danger':!![]});if(!_0x46f768)return;try{await createRemoteRevertTask(_0x42d665,_0x1fe855);}catch(_0x5765ff){Utils[_0xc62646(0x174)](_0x5765ff[_0xc62646(0x16f)]||'Failed\x20to\x20create\x20revert\x20task');}return;}const _0x5328cf='Revert\x20commit\x20'+_0x9951a1+'?\x20This\x20will\x20create\x20a\x20new\x20commit\x20that\x20undoes\x20these\x20changes.',_0x283a41=await ConfirmDialog[_0xc62646(0x26b)]({'title':_0xc62646(0x17e),'message':_0x5328cf,'confirmText':'Revert','cancelText':_0xc62646(0x134),'danger':!![]});if(!_0x283a41)return;try{await API['revertEnvironmentRepoCommit'](state['selectedEnvironment'],state['selectedRepo'],_0x42d665[_0xc62646(0x2d7)],_0x1fe855),Utils[_0xc62646(0x16d)](_0xc62646(0x2aa)),state[_0xc62646(0x280)][_0xc62646(0x160)]=0x0,await loadHistory({'keepSelection':![]});}catch(_0x4bf6b2){Utils['showError'](_0x4bf6b2['message']||'Failed\x20to\x20revert\x20commit');}}function parsePatchContent(_0x37bb31){const _0x5b99a0=_0x389ddf,_0x3c0dc9=[],_0x573946=_0x37bb31[_0x5b99a0(0x2cb)]('\x0a');let _0x42c02a=null,_0x8377ee=null;for(const _0x35b286 of _0x573946){if(_0x35b286[_0x5b99a0(0x2ff)](_0x5b99a0(0x1ee))){_0x42c02a&&_0x8377ee&&_0x42c02a[_0x5b99a0(0x128)]['push'](_0x8377ee);_0x42c02a&&_0x3c0dc9[_0x5b99a0(0x1f1)](_0x42c02a);const _0x4c05ca=_0x35b286[_0x5b99a0(0x265)](/diff --git a\/(.+?) b\/(.+)/);_0x42c02a={'oldPath':_0x4c05ca?_0x4c05ca[0x1]:'','newPath':_0x4c05ca?_0x4c05ca[0x2]:'','hunks':[],'isDeleted':![]},_0x8377ee=null;}else{if(_0x35b286[_0x5b99a0(0x2ff)]('deleted\x20file\x20mode')&&_0x42c02a)_0x42c02a['isDeleted']=!![];else{if(_0x35b286[_0x5b99a0(0x2ff)]('@@'))_0x8377ee&&_0x42c02a&&_0x42c02a['hunks'][_0x5b99a0(0x1f1)](_0x8377ee),_0x8377ee={'header':_0x35b286,'lines':[]};else _0x8377ee&&_0x8377ee[_0x5b99a0(0x18d)][_0x5b99a0(0x1f1)](_0x35b286);}}}return _0x42c02a&&_0x8377ee&&_0x42c02a[_0x5b99a0(0x128)][_0x5b99a0(0x1f1)](_0x8377ee),_0x42c02a&&_0x3c0dc9[_0x5b99a0(0x1f1)](_0x42c02a),_0x3c0dc9;}function parseHunkHeader(_0x43c56b){const _0x3d406b=_0x43c56b['match'](/@@ -(\d+),?\d* \+(\d+),?\d* @@/);if(_0x3d406b)return{'oldStart':parseInt(_0x3d406b[0x1],0xa),'newStart':parseInt(_0x3d406b[0x2],0xa)};return{'oldStart':0x1,'newStart':0x1};}function highlightDiffLine(_0x479401,_0x18c87e){const _0x94469=_0x389ddf,_0x3717ac=window[_0x94469(0x12b)]||(typeof hljs!=='undefined'?hljs:null);if(_0x3717ac&&_0x18c87e)try{const _0x25249f=_0x3717ac[_0x94469(0x186)](_0x18c87e)?_0x18c87e:null;if(_0x25249f)return _0x3717ac[_0x94469(0x2d5)](_0x479401,{'language':_0x25249f})[_0x94469(0x27a)];}catch(_0x5e91e7){console['error']('Diff\x20syntax\x20highlighting\x20error:',_0x5e91e7);}return Utils['escapeHtml'](_0x479401);}function computeWordDiff(_0x9ddaa1,_0x4b14a0){const _0x35e36b=_0x389ddf,_0x24f819=_0x36000a=>{const _0xa43933=_0x17f6,_0x4c2aff=[];let _0x4f49a0='',_0x24ec26=![];for(let _0x3574ef=0x0;_0x3574ef<_0x36000a['length'];_0x3574ef++){const _0x264fed=_0x36000a[_0x3574ef],_0x3c938a=/\s/[_0xa43933(0x2e1)](_0x264fed);if(_0x4f49a0==='')_0x4f49a0=_0x264fed,_0x24ec26=_0x3c938a;else _0x3c938a===_0x24ec26?_0x4f49a0+=_0x264fed:(_0x4c2aff[_0xa43933(0x1f1)](_0x4f49a0),_0x4f49a0=_0x264fed,_0x24ec26=_0x3c938a);}return _0x4f49a0&&_0x4c2aff['push'](_0x4f49a0),_0x4c2aff;},_0x33395e=_0x24f819(_0x9ddaa1),_0xc1bf97=_0x24f819(_0x4b14a0),_0x2df6c1=_0x33395e[_0x35e36b(0x1cb)],_0x38c022=_0xc1bf97[_0x35e36b(0x1cb)],_0x500fd0=Array(_0x2df6c1+0x1)[_0x35e36b(0x21a)](null)[_0x35e36b(0x1e3)](()=>Array(_0x38c022+0x1)[_0x35e36b(0x21a)](0x0));for(let _0x97f541=0x1;_0x97f541<=_0x2df6c1;_0x97f541++){for(let _0x360562=0x1;_0x360562<=_0x38c022;_0x360562++){_0x33395e[_0x97f541-0x1]===_0xc1bf97[_0x360562-0x1]?_0x500fd0[_0x97f541][_0x360562]=_0x500fd0[_0x97f541-0x1][_0x360562-0x1]+0x1:_0x500fd0[_0x97f541][_0x360562]=Math[_0x35e36b(0x17f)](_0x500fd0[_0x97f541-0x1][_0x360562],_0x500fd0[_0x97f541][_0x360562-0x1]);}}const _0x2b92cf={'old':[],'new':[]};let _0x8fe600=_0x2df6c1,_0x34588f=_0x38c022;const _0x26323c=[],_0x1d5979=[];while(_0x8fe600>0x0||_0x34588f>0x0){if(_0x8fe600>0x0&&_0x34588f>0x0&&_0x33395e[_0x8fe600-0x1]===_0xc1bf97[_0x34588f-0x1])_0x26323c[_0x35e36b(0x239)]({'type':_0x35e36b(0x1c3),'text':_0x33395e[_0x8fe600-0x1]}),_0x1d5979[_0x35e36b(0x239)]({'type':_0x35e36b(0x1c3),'text':_0xc1bf97[_0x34588f-0x1]}),_0x8fe600--,_0x34588f--;else{if(_0x34588f>0x0&&(_0x8fe600===0x0||_0x500fd0[_0x8fe600][_0x34588f-0x1]>=_0x500fd0[_0x8fe600-0x1][_0x34588f]))_0x1d5979[_0x35e36b(0x239)]({'type':_0x35e36b(0x15d),'text':_0xc1bf97[_0x34588f-0x1]}),_0x34588f--;else _0x8fe600>0x0&&(_0x26323c[_0x35e36b(0x239)]({'type':_0x35e36b(0x177),'text':_0x33395e[_0x8fe600-0x1]}),_0x8fe600--);}}return _0x2b92cf[_0x35e36b(0x188)]=_0x26323c,_0x2b92cf[_0x35e36b(0x141)]=_0x1d5979,_0x2b92cf;}function renderDiffLineWithWordHighlight(_0x5a0e2e,_0x119e61,_0xdaa617,_0x55329c){const _0x2aa586=_0x389ddf;if(!_0x119e61||_0x119e61['length']===0x0)return highlightDiffLine(_0x5a0e2e,_0x55329c);let _0x34a108='';const _0x1fdef7=_0xdaa617===_0x2aa586(0x217)?_0x2aa586(0x2bd):_0x2aa586(0x2b2),_0x4a5b8e=_0xdaa617===_0x2aa586(0x217)?_0x2aa586(0x15d):_0x2aa586(0x177);for(const _0x166282 of _0x119e61){const _0x2727be=Utils[_0x2aa586(0x1ab)](_0x166282[_0x2aa586(0x1e4)]);_0x166282[_0x2aa586(0x29d)]===_0x4a5b8e?_0x34a108+=_0x2aa586(0x2b7)+_0x1fdef7+'\x22>'+_0x2727be+'</span>':_0x34a108+=_0x2727be;}return _0x34a108;}function getFileLanguage(_0xe976a9){const _0x1090a3=_0x389ddf,_0x191925=_0xe976a9[_0x1090a3(0x2cb)]('.')[_0x1090a3(0x222)]()[_0x1090a3(0x21e)](),_0x4feb26={'js':_0x1090a3(0x149),'jsx':'javascript','ts':_0x1090a3(0x1ca),'tsx':_0x1090a3(0x1ca),'py':_0x1090a3(0x288),'java':_0x1090a3(0x275),'c':'c','cpp':_0x1090a3(0x13a),'cs':_0x1090a3(0x1ad),'go':'go','rs':_0x1090a3(0x142),'php':_0x1090a3(0x1ef),'rb':_0x1090a3(0x28b),'html':_0x1090a3(0x250),'css':_0x1090a3(0x148),'json':_0x1090a3(0x1d3),'yml':'yaml','yaml':'yaml','md':_0x1090a3(0x22b),'sh':'bash','bash':_0x1090a3(0x238)};return _0x4feb26[_0x191925]||null;}function calculateDiffStats(_0x61497){let _0x2738ea=0x0,_0x441d49=0x0,_0xeb0740=0x0;return _0x61497['forEach'](_0xed22dd=>{const _0xca5c44=_0x17f6;let _0x3293c8=0x0,_0x2414d9=0x0;_0xed22dd[_0xca5c44(0x128)][_0xca5c44(0x2b6)](_0x4f5bae=>{const _0x1d010a=_0xca5c44;_0x4f5bae[_0x1d010a(0x18d)][_0x1d010a(0x2b6)](_0x36e491=>{const _0x54d01f=_0x1d010a;if(_0x36e491[_0x54d01f(0x2ff)]('+'))_0x3293c8+=0x1;else{if(_0x36e491[_0x54d01f(0x2ff)]('-'))_0x2414d9+=0x1;}});}),(_0x3293c8+_0x2414d9>0x0||_0xed22dd[_0xca5c44(0x203)])&&(_0xeb0740+=0x1),_0x2738ea+=_0x3293c8,_0x441d49+=_0x2414d9;}),{'additions':_0x2738ea,'deletions':_0x441d49,'files':_0xeb0740};}function renderUnifiedDiff(_0x5834f8,_0x1e52b3,_0x21d49a=0x0,_0x287810={}){const _0x44d899=_0x389ddf;return _0x5834f8['map']((_0x3e5857,_0x591c4d)=>{const _0x51184d=_0x17f6,_0x2ae7c9=_0x21d49a+_0x591c4d,_0x228330=_0x3e5857[_0x51184d(0x2a7)]||_0x3e5857[_0x51184d(0x124)]||_0x51184d(0x200),_0x41d3fd=_0x51184d(0x24e)+_0x1e52b3+'-'+_0x2ae7c9,_0x5459b9=getFileLanguage(_0x228330),{additions:_0x262f39,deletions:_0x207917}=calculateDiffStats([_0x3e5857]),_0x58781d=getCollapsedState(_0x1e52b3,_0x228330,_0x287810[_0x51184d(0x1fd)]),_0x162f93=getFileStatus(_0x3e5857,_0x262f39,_0x207917),_0x2557f7=_0x162f93==='added'?'A':_0x162f93===_0x51184d(0x285)?'D':'M',_0x5497b1=_0x3e5857[_0x51184d(0x128)]['map'](_0x301b0a=>{const _0x16cb89=_0x51184d,{oldStart:_0x1726da,newStart:_0x156a4c}=parseHunkHeader(_0x301b0a[_0x16cb89(0x260)]);let _0x2382e8=_0x1726da,_0x464391=_0x156a4c;const _0x2135cd=_0x301b0a[_0x16cb89(0x18d)]['map'](_0x41d658=>({'line':_0x41d658,'type':_0x41d658[_0x16cb89(0x2ff)]('+')?_0x16cb89(0x217):_0x41d658[_0x16cb89(0x2ff)]('-')?'remove':_0x41d658[_0x16cb89(0x2ff)]('\x5c')?_0x16cb89(0x2ac):_0x16cb89(0x161)}));let _0xa2c56e=0x0;while(_0xa2c56e<_0x2135cd[_0x16cb89(0x1cb)]){if(_0x2135cd[_0xa2c56e][_0x16cb89(0x29d)]===_0x16cb89(0x25d)){let _0x5312b6=_0xa2c56e,_0x31b98d=_0xa2c56e;while(_0x31b98d<_0x2135cd[_0x16cb89(0x1cb)]&&_0x2135cd[_0x31b98d][_0x16cb89(0x29d)]===_0x16cb89(0x25d))_0x31b98d++;let _0x246530=_0x31b98d,_0x161aca=_0x246530;while(_0x161aca<_0x2135cd[_0x16cb89(0x1cb)]&&_0x2135cd[_0x161aca][_0x16cb89(0x29d)]===_0x16cb89(0x217))_0x161aca++;const _0x47f78d=_0x31b98d-_0x5312b6,_0x25c766=_0x161aca-_0x246530,_0x15bb1f=Math['min'](_0x47f78d,_0x25c766);for(let _0x11cb01=0x0;_0x11cb01<_0x15bb1f;_0x11cb01++){const _0x4cbb2b=_0x2135cd[_0x5312b6+_0x11cb01]['line'][_0x16cb89(0x2e4)](0x1),_0x51d28b=_0x2135cd[_0x246530+_0x11cb01][_0x16cb89(0x166)]['substring'](0x1),_0x2578db=computeWordDiff(_0x4cbb2b,_0x51d28b);_0x2135cd[_0x5312b6+_0x11cb01][_0x16cb89(0x2c5)]=_0x2578db[_0x16cb89(0x188)],_0x2135cd[_0x246530+_0x11cb01]['wordDiff']=_0x2578db[_0x16cb89(0x141)];}_0xa2c56e=_0x161aca;}else _0xa2c56e++;}const _0x20910c=_0x2135cd[_0x16cb89(0x1e3)](_0x391957=>{const _0x3edc84=_0x16cb89,_0x206177=_0x391957['line'];if(_0x206177[_0x3edc84(0x2ff)]('+')){const _0x58e631=_0x206177['substring'](0x1),_0x2b1ef0=_0x391957[_0x3edc84(0x2c5)]?renderDiffLineWithWordHighlight(_0x58e631,_0x391957[_0x3edc84(0x2c5)],_0x3edc84(0x217),_0x5459b9):highlightDiffLine(_0x58e631,_0x5459b9),_0x1e047a=_0x3edc84(0x281)+_0x464391+_0x3edc84(0x2d1)+_0x2b1ef0+_0x3edc84(0x1c2);return _0x464391+=0x1,_0x1e047a;}if(_0x206177[_0x3edc84(0x2ff)]('-')){const _0x365558=_0x206177['substring'](0x1),_0x4fbdab=_0x391957[_0x3edc84(0x2c5)]?renderDiffLineWithWordHighlight(_0x365558,_0x391957['wordDiff'],_0x3edc84(0x25d),_0x5459b9):highlightDiffLine(_0x365558,_0x5459b9),_0x513c38='<div\x20class=\x22diff-line\x20diff-remove\x22><span\x20class=\x22diff-line-num\x20diff-line-num-old\x22>'+_0x2382e8+_0x3edc84(0x291)+_0x4fbdab+'</span></div>';return _0x2382e8+=0x1,_0x513c38;}if(_0x206177[_0x3edc84(0x2ff)]('\x5c'))return _0x3edc84(0x21b)+Utils[_0x3edc84(0x1ab)](_0x206177)+_0x3edc84(0x1c2);const _0x47756b=_0x206177[_0x3edc84(0x2ff)]('\x20')?_0x206177[_0x3edc84(0x2e4)](0x1):_0x206177,_0xb0acfe=highlightDiffLine(_0x47756b,_0x5459b9),_0x2e7413=_0x3edc84(0x26e)+_0x2382e8+_0x3edc84(0x234)+_0x464391+_0x3edc84(0x15a)+_0xb0acfe+_0x3edc84(0x1c2);return _0x2382e8+=0x1,_0x464391+=0x1,_0x2e7413;})[_0x16cb89(0x27f)]('');return'<div\x20class=\x22diff-hunk\x22><div\x20class=\x22diff-hunk-header\x22>'+Utils['escapeHtml'](_0x301b0a['header'])+'</div>'+_0x20910c+_0x16cb89(0x241);})[_0x51184d(0x27f)](''),_0xcd9d77=_0x5497b1||_0x51184d(0x204);return'\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22file-diff\x22\x20id=\x22file-'+_0x41d3fd+_0x51184d(0x154)+_0x41d3fd+_0x51184d(0x29e)+Utils[_0x51184d(0x1ab)](_0x228330)+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22file-diff-title\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-status-badge\x20'+_0x162f93+'\x22>'+_0x2557f7+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-diff-name\x22>'+Utils['escapeHtml'](_0x228330)+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-diff-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22diff-add\x22>+'+_0x262f39+_0x51184d(0x25e)+_0x207917+_0x51184d(0x1ec)+_0x41d3fd+_0x51184d(0x1ba)+_0x58781d+_0x51184d(0x2dd)+(_0x58781d?_0x51184d(0x228):_0x51184d(0x301))+_0x51184d(0x1f2)+(_0x58781d?_0x51184d(0x196):'')+_0x51184d(0x2e9)+_0x41d3fd+'\x22>'+_0xcd9d77+_0x51184d(0x23a);})[_0x44d899(0x27f)]('');}function renderSplitDiff(_0x4f5068,_0x3de38f,_0x54dd02=0x0,_0x3bf56b={}){const _0x39f25e=_0x389ddf;return _0x4f5068['map']((_0x72ccf8,_0x48e8b2)=>{const _0x316e01=_0x17f6,_0x466c7f=_0x54dd02+_0x48e8b2,_0x321a5c=_0x72ccf8[_0x316e01(0x2a7)]||_0x72ccf8[_0x316e01(0x124)]||_0x316e01(0x200),_0x37b8cb=_0x316e01(0x24e)+_0x3de38f+'-'+_0x466c7f,_0x5ba958=getFileLanguage(_0x321a5c),{additions:_0x1c4e18,deletions:_0x55bc69}=calculateDiffStats([_0x72ccf8]),_0x4d13aa=getCollapsedState(_0x3de38f,_0x321a5c,_0x3bf56b['defaultCollapsed']),_0x10f28b=getFileStatus(_0x72ccf8,_0x1c4e18,_0x55bc69),_0x474897=_0x10f28b===_0x316e01(0x12c)?'A':_0x10f28b===_0x316e01(0x285)?'D':'M',_0x2f9ab2=_0x72ccf8[_0x316e01(0x128)][_0x316e01(0x1e3)](_0x29d470=>{const _0xe4cbf7=_0x316e01,{oldStart:_0x40d5c6,newStart:_0x477085}=parseHunkHeader(_0x29d470[_0xe4cbf7(0x260)]);let _0x14ff7d=_0x40d5c6,_0x328093=_0x477085;const _0x144071=[],_0x4453fb=_0x29d470['lines'];let _0x3272de=0x0;while(_0x3272de<_0x4453fb[_0xe4cbf7(0x1cb)]){const _0xdc0be5=_0x4453fb[_0x3272de];if(_0xdc0be5[_0xe4cbf7(0x2ff)]('\x20')){const _0x36c123=_0xdc0be5['substring'](0x1);_0x144071['push'](renderSplitRow({'type':_0xe4cbf7(0x161),'lineNum':_0x14ff7d,'content':_0x36c123},{'type':'context','lineNum':_0x328093,'content':_0x36c123},_0x5ba958)),_0x14ff7d+=0x1,_0x328093+=0x1,_0x3272de+=0x1;continue;}if(_0xdc0be5[_0xe4cbf7(0x2ff)]('-')){const _0x341134=[];while(_0x3272de<_0x4453fb[_0xe4cbf7(0x1cb)]&&_0x4453fb[_0x3272de]['startsWith']('-')){_0x341134[_0xe4cbf7(0x1f1)](_0x4453fb[_0x3272de][_0xe4cbf7(0x2e4)](0x1)),_0x3272de+=0x1;}const _0x48854a=[];let _0x441399=_0x3272de;while(_0x441399<_0x4453fb['length']&&_0x4453fb[_0x441399][_0xe4cbf7(0x2ff)]('+')){_0x48854a[_0xe4cbf7(0x1f1)](_0x4453fb[_0x441399][_0xe4cbf7(0x2e4)](0x1)),_0x441399+=0x1;}const _0x108da0=Math[_0xe4cbf7(0x17f)](_0x341134['length'],_0x48854a[_0xe4cbf7(0x1cb)]);for(let _0x5a6964=0x0;_0x5a6964<_0x108da0;_0x5a6964++){const _0x1d8aab=_0x341134[_0x5a6964]?{'type':_0xe4cbf7(0x25d),'lineNum':_0x14ff7d++,'content':_0x341134[_0x5a6964]}:{'type':_0xe4cbf7(0x25a),'lineNum':'','content':''},_0x393428=_0x48854a[_0x5a6964]?{'type':_0xe4cbf7(0x217),'lineNum':_0x328093++,'content':_0x48854a[_0x5a6964]}:{'type':'empty','lineNum':'','content':''};_0x144071['push'](renderSplitRow(_0x1d8aab,_0x393428,_0x5ba958));}_0x3272de=_0x441399;continue;}if(_0xdc0be5[_0xe4cbf7(0x2ff)]('+')){const _0x5effa5=[];while(_0x3272de<_0x4453fb[_0xe4cbf7(0x1cb)]&&_0x4453fb[_0x3272de]['startsWith']('+')){_0x5effa5['push'](_0x4453fb[_0x3272de][_0xe4cbf7(0x2e4)](0x1)),_0x3272de+=0x1;}_0x5effa5[_0xe4cbf7(0x2b6)](_0x21c8ab=>{const _0x42cd61=_0xe4cbf7;_0x144071[_0x42cd61(0x1f1)](renderSplitRow({'type':_0x42cd61(0x25a),'lineNum':'','content':''},{'type':_0x42cd61(0x217),'lineNum':_0x328093++,'content':_0x21c8ab},_0x5ba958));});continue;}if(_0xdc0be5['startsWith']('\x5c')){_0x144071['push'](renderSplitRow({'type':_0xe4cbf7(0x2ac),'lineNum':'','content':_0xdc0be5},{'type':'meta','lineNum':'','content':_0xdc0be5},_0x5ba958)),_0x3272de+=0x1;continue;}_0x3272de+=0x1;}const _0x31aa7b=_0x144071[_0xe4cbf7(0x27f)]('')||_0xe4cbf7(0x1d1);return'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22diff-hunk\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22diff-hunk-header\x22>'+Utils[_0xe4cbf7(0x1ab)](_0x29d470['header'])+_0xe4cbf7(0x2e5)+_0x31aa7b+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20';})[_0x316e01(0x27f)](''),_0x4e0e15=_0x2f9ab2||_0x316e01(0x204);return _0x316e01(0x1d8)+_0x37b8cb+_0x316e01(0x154)+_0x37b8cb+_0x316e01(0x29e)+Utils[_0x316e01(0x1ab)](_0x321a5c)+_0x316e01(0x2c6)+_0x10f28b+'\x22>'+_0x474897+_0x316e01(0x2b1)+Utils[_0x316e01(0x1ab)](_0x321a5c)+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-diff-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22diff-add\x22>+'+_0x1c4e18+_0x316e01(0x25e)+_0x55bc69+_0x316e01(0x1ec)+_0x37b8cb+_0x316e01(0x1ba)+_0x4d13aa+_0x316e01(0x2dd)+(_0x4d13aa?_0x316e01(0x228):'Collapse')+'\x22></button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22file-diff-content\x20'+(_0x4d13aa?'collapsed':'')+_0x316e01(0x2e9)+_0x37b8cb+'\x22>'+_0x4e0e15+_0x316e01(0x23a);})[_0x39f25e(0x27f)]('');}function renderSplitRow(_0x5dc3b4,_0x2c2656,_0x54ca92){const _0x3b5852=_0x389ddf;return _0x3b5852(0x189)+renderSplitCell(_0x5dc3b4,_0x54ca92)+_0x3b5852(0x1ea)+renderSplitCell(_0x2c2656,_0x54ca92)+'\x0a\x20\x20\x20\x20</div>\x0a\x20\x20';}function renderSplitCell(_0x477eb0,_0x1632ff){const _0xff7f90=_0x389ddf,_0x5dec9f='split-'+_0x477eb0[_0xff7f90(0x29d)],_0x256240=_0x477eb0['lineNum']===0x0?'':_0x477eb0[_0xff7f90(0x1aa)];let _0x2d02cf=_0xff7f90(0x194);if(_0x477eb0[_0xff7f90(0x29d)]===_0xff7f90(0x2ac))_0x2d02cf=Utils[_0xff7f90(0x1ab)](_0x477eb0['content']);else _0x477eb0[_0xff7f90(0x29d)]!=='empty'&&(_0x2d02cf=highlightDiffLine(_0x477eb0[_0xff7f90(0x223)],_0x1632ff));return _0xff7f90(0x224)+_0x5dec9f+_0xff7f90(0x23f)+_0x256240+_0xff7f90(0x145)+_0x2d02cf+_0xff7f90(0x152);}function bindDiffToggleHandlers(_0x1a5e73){const _0x58ebd5=_0x389ddf,_0x2533ca=elements[_0x58ebd5(0x2ab)][_0x58ebd5(0x268)]('.file-diff-header');_0x2533ca[_0x58ebd5(0x2b6)](_0x2fce5a=>{const _0x11675f=_0x58ebd5;if(_0x2fce5a['dataset']['bound']===_0x11675f(0x27d))return;_0x2fce5a[_0x11675f(0x2cd)]['bound']=_0x11675f(0x27d),_0x2fce5a['addEventListener'](_0x11675f(0x2dc),_0x3b2aa5=>{const _0x54c17e=_0x11675f;if(_0x3b2aa5[_0x54c17e(0x208)][_0x54c17e(0x12a)]('.file-diff-toggle-btn'))return;const _0x56e1ab=_0x2fce5a[_0x54c17e(0x2cd)][_0x54c17e(0x293)];toggleDiff(_0x56e1ab,_0x2fce5a['dataset'][_0x54c17e(0x240)],_0x1a5e73);});});const _0x1a43e5=elements[_0x58ebd5(0x2ab)][_0x58ebd5(0x268)](_0x58ebd5(0x1a9));_0x1a43e5['forEach'](_0x3e72ea=>{const _0x489c44=_0x58ebd5;if(_0x3e72ea[_0x489c44(0x2cd)]['bound']===_0x489c44(0x27d))return;_0x3e72ea[_0x489c44(0x2cd)][_0x489c44(0x236)]=_0x489c44(0x27d),_0x3e72ea[_0x489c44(0x218)](_0x489c44(0x2dc),_0x1511da=>{const _0x384a04=_0x489c44;_0x1511da[_0x384a04(0x1f3)]();const _0x4b35c4=elements[_0x384a04(0x2ab)][_0x384a04(0x1d4)](_0x384a04(0x243)+_0x3e72ea[_0x384a04(0x2cd)][_0x384a04(0x293)]+'\x22]'),_0x4643fb=_0x4b35c4?.[_0x384a04(0x2cd)][_0x384a04(0x240)]||'';toggleDiff(_0x3e72ea[_0x384a04(0x2cd)][_0x384a04(0x293)],_0x4643fb,_0x1a5e73);});});}function toggleDiff(_0x5b0024,_0x145638,_0x56e65f){const _0x53e522=_0x389ddf,_0x58d565=document[_0x53e522(0x1af)](_0x5b0024),_0x2eccb8=elements[_0x53e522(0x2ab)][_0x53e522(0x1d4)]('.file-diff-header[data-diff-id=\x22'+_0x5b0024+'\x22]'),_0x3834b9=_0x2eccb8?.[_0x53e522(0x1d4)](_0x53e522(0x1a9));if(!_0x58d565)return;const _0x1c1168=_0x58d565[_0x53e522(0x2b4)]['toggle'](_0x53e522(0x196));_0x3834b9&&(_0x3834b9[_0x53e522(0x2cd)][_0x53e522(0x196)]=String(_0x1c1168),_0x3834b9['setAttribute'](_0x53e522(0x23c),_0x1c1168?_0x53e522(0x228):_0x53e522(0x301)));const _0x5f3525=getStorageKey(_0x56e65f,_0x145638);localStorage[_0x53e522(0x15b)](_0x5f3525,String(_0x1c1168));}function setAllDiffCollapsed(_0x50aa7){const _0x51f5a6=_0x389ddf;if(!state[_0x51f5a6(0x269)]?.[_0x51f5a6(0x2be)]?.[_0x51f5a6(0x2d7)])return;const _0x9fa6e8=_0x51f5a6(0x1b9)+state[_0x51f5a6(0x269)][_0x51f5a6(0x2be)][_0x51f5a6(0x2d7)];if(state[_0x51f5a6(0x295)]?.[_0x51f5a6(0x143)]?.['length']){const _0x1e9c80=buildCollapsedStateUpdates({'files':state[_0x51f5a6(0x295)][_0x51f5a6(0x143)],'collapsed':_0x50aa7,'storageKeyPrefix':_0x9fa6e8,'getStorageKey':getStorageKey});_0x1e9c80[_0x51f5a6(0x2b6)](({key:_0x1f0f5c,value:_0x163aa4})=>{const _0x59cf07=_0x51f5a6;localStorage[_0x59cf07(0x15b)](_0x1f0f5c,_0x163aa4);});}const _0x15646c=elements['diffContainer']['querySelectorAll'](_0x51f5a6(0x178));_0x15646c[_0x51f5a6(0x2b6)](_0x26a2cb=>{const _0x366618=_0x51f5a6;_0x26a2cb[_0x366618(0x2b4)][_0x366618(0x2e8)]('collapsed',_0x50aa7);const _0x4f5e29=elements[_0x366618(0x2ab)][_0x366618(0x1d4)]('.file-diff-header[data-diff-id=\x22'+_0x26a2cb['id']+'\x22]'),_0x23f249=_0x4f5e29?.[_0x366618(0x1d4)](_0x366618(0x1a9)),_0x406dd3=_0x4f5e29?.[_0x366618(0x2cd)][_0x366618(0x240)]||'';_0x23f249&&(_0x23f249[_0x366618(0x2cd)][_0x366618(0x196)]=String(_0x50aa7),_0x23f249[_0x366618(0x151)]('aria-label',_0x50aa7?_0x366618(0x228):_0x366618(0x301))),_0x406dd3&&localStorage[_0x366618(0x15b)](getStorageKey(_0x9fa6e8,_0x406dd3),String(_0x50aa7));});}function getStorageKey(_0x33fb56,_0x147da5){return _0x33fb56+'-'+safeBase64(_0x147da5);}function getCollapsedState(_0xe42bb8,_0x39d0f5,_0x2e40ae=![]){const _0x2e84ca=_0x389ddf,_0xd5b4d0=localStorage['getItem'](getStorageKey(_0xe42bb8,_0x39d0f5));if(_0xd5b4d0===null)return Boolean(_0x2e40ae);return _0xd5b4d0===_0x2e84ca(0x27d);}function safeBase64(_0x5a91e0){try{return btoa(unescape(encodeURIComponent(_0x5a91e0)));}catch(_0x4638b3){return btoa(_0x5a91e0);}}function formatDate(_0x4c8c03){const _0x3e636a=_0x389ddf;if(!_0x4c8c03)return'';const _0x58e94e=new Date(_0x4c8c03);if(Number[_0x3e636a(0x14a)](_0x58e94e[_0x3e636a(0x23d)]()))return _0x4c8c03;return _0x58e94e[_0x3e636a(0x179)](_0x3e636a(0x192),{'month':_0x3e636a(0x221),'day':_0x3e636a(0x28d),'year':_0x3e636a(0x28d),'hour':_0x3e636a(0x15c),'minute':_0x3e636a(0x15c)});}function renderLoadingSkeletons(_0x4e2480){const _0x37f55f=_0x389ddf;return Array(_0x4e2480)['fill'](0x0)[_0x37f55f(0x1e3)](()=>'\x0a\x20\x20\x20\x20<li\x20class=\x22commit-item\x20commit-item-skeleton\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22skeleton\x20skeleton-message\x22></div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22skeleton-meta\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22skeleton\x20skeleton-avatar\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22skeleton\x20skeleton-text\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22skeleton\x20skeleton-text-short\x22></div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</li>\x0a\x20\x20')['join']('');}function toggleFileNav(_0x5a298d){const _0x30f518=_0x389ddf;if(elements[_0x30f518(0x2f5)]?.[_0x30f518(0x1b8)])return;_0x5a298d[_0x30f518(0x1f3)]();const _0x2f4d83=elements[_0x30f518(0x1b1)]?.[_0x30f518(0x2b4)][_0x30f518(0x2e8)](_0x30f518(0x1cf));_0x2f4d83&&renderFileNavList();}function closeFileNav(){const _0x20e820=_0x389ddf;elements['fileNavSidebar']?.['classList']['remove'](_0x20e820(0x1cf));}function toggleMaximize(){const _0x45334d=_0x389ddf;if(!elements[_0x45334d(0x1d6)])return;const _0x317881=elements[_0x45334d(0x1d6)]['classList'][_0x45334d(0x2e8)](_0x45334d(0x22d)),_0x1e5475=elements[_0x45334d(0x157)]?.[_0x45334d(0x1d4)](_0x45334d(0x2ad)),_0x2b8797=elements['maximizeBtn']?.[_0x45334d(0x1d4)](_0x45334d(0x1f7));_0x1e5475&&_0x2b8797&&(_0x1e5475[_0x45334d(0x259)]=_0x317881,_0x2b8797[_0x45334d(0x259)]=!_0x317881),elements[_0x45334d(0x157)]&&(elements[_0x45334d(0x157)]['title']=_0x317881?_0x45334d(0x2da):_0x45334d(0x2a9)),localStorage[_0x45334d(0x15b)]('git-history-maximized',String(_0x317881));}function renderFileNavList(){const _0x38c9ca=_0x389ddf;if(!state[_0x38c9ca(0x269)]?.[_0x38c9ca(0x143)]||!elements[_0x38c9ca(0x1be)])return;const _0x10ee8e=state['commitDetail'][_0x38c9ca(0x143)];elements[_0x38c9ca(0x1be)][_0x38c9ca(0x18e)]=_0x10ee8e[_0x38c9ca(0x1e3)]((_0x1c15f7,_0x44c2bf)=>{const _0x188df7=_0x38c9ca,_0x298b05=_0x1c15f7[_0x188df7(0x2a7)]||_0x1c15f7[_0x188df7(0x124)]||'unknown',_0x41ac27=_0x298b05[_0x188df7(0x2cb)]('/')[_0x188df7(0x222)](),{additions:_0x1cddf0,deletions:_0x1afd33}=calculateDiffStats([_0x1c15f7]),_0x3970c2=getFileStatus(_0x1c15f7,_0x1cddf0,_0x1afd33),_0x453f8d=getStatusIcon(_0x3970c2);return _0x188df7(0x244)+_0x44c2bf+_0x188df7(0x29e)+Utils['escapeHtml'](_0x298b05)+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-nav-icon\x20'+_0x3970c2+'\x22>'+_0x453f8d+_0x188df7(0x1bd)+Utils[_0x188df7(0x1ab)](_0x298b05)+'\x22>'+Utils[_0x188df7(0x1ab)](_0x41ac27)+_0x188df7(0x297)+(_0x1cddf0>0x0?'<span\x20class=\x22add\x22>+'+_0x1cddf0+'</span>':'')+_0x188df7(0x214)+(_0x1afd33>0x0?'<span\x20class=\x22del\x22>-'+_0x1afd33+_0x188df7(0x2c1):'')+_0x188df7(0x231);})[_0x38c9ca(0x27f)](''),elements[_0x38c9ca(0x1be)]['querySelectorAll'](_0x38c9ca(0x2bb))[_0x38c9ca(0x2b6)](_0x7fa914=>{_0x7fa914['addEventListener']('click',()=>{const _0x26fd79=_0x17f6,_0x6f806c=parseInt(_0x7fa914['dataset']['fileIdx']||'0',0xa),_0x202524=_0x26fd79(0x1b9)+state[_0x26fd79(0x269)][_0x26fd79(0x2be)][_0x26fd79(0x2d7)],_0x551dd0=_0x26fd79(0x24e)+_0x202524+'-'+_0x6f806c;ensureLazyDiffFileRendered(_0x6f806c);const _0xf42894=document[_0x26fd79(0x1af)](_0x551dd0);if(_0xf42894){if(_0xf42894[_0x26fd79(0x2b4)][_0x26fd79(0x261)](_0x26fd79(0x196))){const _0x1dff0b=elements[_0x26fd79(0x2ab)]['querySelector'](_0x26fd79(0x243)+_0x551dd0+'\x22]'),_0x46b045=_0x1dff0b?.['dataset']['fileName']||'';toggleDiff(_0x551dd0,_0x46b045,_0x202524);}const _0x55ef18=_0xf42894[_0x26fd79(0x12a)]('.file-diff');_0x55ef18&&(_0x55ef18[_0x26fd79(0x21f)]({'behavior':'smooth','block':_0x26fd79(0x20f)}),_0x55ef18[_0x26fd79(0x2b4)]['add']('highlighted'),setTimeout(()=>_0x55ef18[_0x26fd79(0x2b4)]['remove'](_0x26fd79(0x27c)),0x5dc));}closeFileNav();});});}function getFileStatus(_0x2fcb3f,_0x55c09c,_0x8b03e4){const _0x795da=_0x389ddf;if(_0x2fcb3f['isDeleted'])return'deleted';if(_0x55c09c>0x0&&_0x8b03e4===0x0)return _0x795da(0x12c);return _0x795da(0x2c2);}function getStatusIcon(_0x1041fa){const _0x38285d=_0x389ddf;switch(_0x1041fa){case'added':return'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22><line\x20x1=\x2212\x22\x20y1=\x225\x22\x20x2=\x2212\x22\x20y2=\x2219\x22/><line\x20x1=\x225\x22\x20y1=\x2212\x22\x20x2=\x2219\x22\x20y2=\x2212\x22/></svg>';case _0x38285d(0x285):return _0x38285d(0x175);default:return _0x38285d(0x140);}}function _0x14ae(){const _0x3c8d97=['mI4GvxnLihrOzsbYzxbVC2L0B3j5igjYyw5JAcbJB25MAwD1CMvKigzVCIb0AgLZigvUDMLYB25Tzw50lG','qxjYB3DvCa','zMLSzxnjC0XVD2vYqM91BMq','CgfYzw50tM9Kzq','zw52AxjVBM1LBNrZoMDPDa','B2XKugf0Aa','zgvMyxvSDf9LBNzPCM9UBwvUDa','z2v0sxrLBq','ugfYzw50ia','AhvUA3m','yML0yNvJA2v0lG','y2XVC2vZDa','AgXQCW','ywrKzwq','zg9JCW','zML4','pc9WpGOGicaGicaGidWVzgL2pGOGicaGica','BMv4Dej0BG','z2L0lwHPC3rVCNKTzxjYB3iTBwvZC2fNzq','zw1HAwW','pc9KAxy+cIaGicaGidXKAxyGy2XHC3m9iMrPzMyTzMLSzxmTAg9ZDci+pc9KAxy+cIaGicaGidXKAxyGy2XHC3m9iMrPzMyTBg9Hzc1TB3jLlwnVBNrYB2WIpJWVzgL2pGOGicaG','q2fUy2vS','BwvYz2vdB250CM9SCW','y29TBwL0lxnLyxjJAa','CMvWBY1ZzwXLy3q','Bg9JyxrPB24','y2XLyxiTC2vHCMnOlwj0BG','y3bW','icHJDxjYzw50kq','zxHWyw5KlwfSBc1IDg4','uMv2zxj0ignVBw1PDa','AxnezwzHDwX0','ms4Gt3bLBIbYzxbVC2L0B3j5ici','phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIpJXWyxrOigq9iK0Xmsa0sdrHmIaYidaGmcaWltiGmNyXngeYidiGmcaWidaGmIaYAde0ytiGmIaWidaGmcaYltj2ltCIlZ48Cgf0AcbKpsjnmtGUnsaYlJvHmI4XmJeGmI4XmJeGmcaWideGmYaZtdeYide1Bc00ideGms00idKUns05lJv6iI8+pc9ZDMC+','BMv3','CNvZDa','zMLSzxm','igzPBgvZlG','pc9ZCgfUpGOGicaGica8C3bHBIbJBgfZCZ0IC3bSAxqTBgLUzs1JB250zw50iJ4','BwfPBMXPBMuTC2vSzwn0','CMvWBW','y3nZ','AMf2yxnJCMLWDa','Axnoyu4','y2XLyxjtzwfYy2HcDg4','lNnLz21LBNrLzc1IDg4','ywn0AxzLqNjHBMnO','DMLLDW','mJqZmdK4mwPpEfPgAW','rMfPBgvKihrVigXVywqGCMvWB3nPDg9YAwvZ','C2v0qxr0CMLIDxrL','pc9ZCgfUpGOGicaGpc9KAxy+cIaG','BMv4Dc1WywDLlwj0BG','iJ4kicaGicaGica8zgL2ignSyxnZpsjMAwXLlwrPzMyTAgvHzgvYiIbKyxrHlwrPzMyTAwq9iG','zgv0ywLSugfUzwW','uMv2zxj0ia','Bwf4Aw1PEMvcDg4','C291CMnLlwLUzgLJyxrVCG','tM8GBwvZC2fNzq','pc9ZCgfUpJXZCgfUignSyxnZpsjKAwzMlwXPBMuTy29UDgvUDci+ia','C2v0sxrLBq','mI1KAwDPDa','Aw5Zzxj0','ig1HDgnOAw5Nici','pc9ZCgfUpGOGicaGicaGia','B2zMC2v0','y29UDgv4Da','q29TBwL0igHHC2GGy29WAwvK','z2v0rw52AxjVBM1LBNq','yNjHBMnO','rMfPBgvKihrVigXVywqGy29TBwL0igrLDgfPBhm','BgLUzq','m0XVtgPlsa','y29WEuHHC2HcDg4','vw5HyMXLihrVigXVywqGAgLZDg9YEs4','pgrPDIbJBgfZCZ0Izw1WDhKTC3rHDguTy2fYzci+tg9HzgLUzYbKAwzMlI4Upc9KAxy+','tM8GzMLSzsbKAwzMihrVigjYB3DZzq','Bwf4Aw1PEMuTzgLMzI1IDg4','C2HVD1n1y2nLC3m','mta3mJqXnKLyBgXRqq','BwvZC2fNzq','Bg9HzgLUz0HPC3rVCNK','pc9ZCgfUpGOGicaGphnWyw4Gy2XHC3m9iMrPzMyTC3rHDc1ZzxbHCMf0B3iIpNW8l3nWyw4+cIaGica8C3bHBIbJBgfZCZ0IzgLMzI1ZDgf0lwfKzci+kW','DMLLDY1VBI1WCM92AwrLCI1IDg4','yMX1CG','C2HVD0vYCM9Y','phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIpJXSAw5LihGXpsi1iIb5mt0ImtiIihGYpsiXosiGEti9iJeYiI8+pc9ZDMC+','qNjVD3nLignOyw5NzwqGzMLSzxm','zgvSzxrL','lMzPBguTzgLMzI1JB250zw50','Dg9mB2nHBgvtDhjPBMC','C291CMnL','Cgf0y2G','ywrKAxrPB25Z','phnWyw4Gy2XHC3m9iMrPzMyTBg9Hzc1JB21WBgv0zsi+qwXSia','uMv2zxj0ienVBw1PDa','Bwf4','y29TBwL0lwnVDw50','rMfPBgvKihrVigXVywqGy29TBwL0igHPC3rVCNK','Bg9HzgLUz0jYyw5JAgvZ','mY4GuNvUiga','vgfZAYbJCMvHDgvKigj1DcbUBYb0yxnRieLeihDHCYbYzxr1CM5Lza','yNjHBMnOu2vSzwn0','z2v0tgfUz3vHz2u','A2v5','B2XK','cIaGica8zgL2ignSyxnZpsjZCgXPDc1KAwzMlxjVDYi+cIaGicaGia','ywn0AxzL','rgLMzIbVBwL0DgvKigzVCIb0AgLZigXHCMDLignVBw1PDcb0BYbRzwvWieDPDcbiAxn0B3j5ihjLC3bVBNnPDMuU','lY0Vy29TBwL0lW','BgLUzxm','Aw5Uzxjive1m','C2vHCMnO','DxjS','CMvWBgfJzq','zw4Tvvm','y3jLyxrLvgfZAW','jM5IC3a7','CMvHzg1L','y29SBgfWC2vK','lMnVBw1PDc1PDgvT','rMfPBgvKihrVigXVywqGyNjHBMnOzxm6','Dg9gAxHLza','yxnZAwDU','Aw5WDxqSihnLBgvJDcWGDgv4DgfYzwe','BMv4DfnPyMXPBMC','B3b0Aw9U','Dhj1BMnHDgvK','BwfPBMXPBMu','zxjYB3jnzxnZywDL','ChjVDMLKzxjZ','C2vSzwn0zwrcCMfUy2G','C2vHCMnOsw5WDxq','zxjYB3i','zgf0yvnVDxjJzq','zgvSzxrPB25Z','Bg9JywW','z2L0lwHPC3rVCNKTBg9HzgLUzW','lMzPBguTzgLMzI10B2DNBguTyNrU','BgLUzu51Bq','zxnJyxbLshrTBa','y2HHBMDLzezPBgvZtg93zxjcB3vUza','y3nOyxjW','nc4GswyGDgHLCMuGyxjLignVBMzSAwn0CYWGCMvZB2X2zsb0AgvTigfUzcbZDgfNzsb0AguGCMvZB2X2zwqGzMLSzxmU','z2v0rwXLBwvUDej5swq','ChjLDMvUDerLzMf1Bhq','zMLSzu5HDLnPzgvIyxi','r2L0ignVBM5Ly3rPB24GCMvXDwLYzwq6ia','Bwf0y2HLCW','y29WEvrVq2XPCgjVyxjK','A2vLCfnLBgvJDgLVBG','zw52u2vSzwn0','y29TBwL0lwL0zw0','zgLZywjSzwq','z2L0lwHPC3rVCNKT','iIbKyxrHlwnVBgXHChnLzd0I','AxnbCNjHEq','CMv0CNLcDg4','pc9ZCgfUpGOGicaGicaGidXZCgfUignSyxnZpsjMAwXLlw5HDI1Uyw1LiIb0AxrSzt0I','zMLSzu5HDKXPC3q','Dgv4DenVBNrLBNq','zgLMzG','AxngAw5PDgu','pc9ZCgfUpJWVzgL2pG','zxf1ywW','qxP1CMuGrgv2t3bZ','z2L0AhvIlMnVBq','DgLTzxn0yw1W','z2L0lwHPC3rVCNKTzgLMzI12Awv3','cIaGicaGicaGpgrPDIbJBgfZCZ0Izw1WDhKTC3rHDguTy2fYzci+cIaGicaGicaGica8Adi+rgLMzIbuCNvUy2f0zwq8l2GYpGOGicaGicaGicaGphaGy2XHC3m9iNrLEhqTBxv0zwqIpG','ChjLDI1WywDLlwj0BG','DhLWzxnJCMLWDa','BgvUz3rO','y29TBwL0lwrHDgu','DgfIsw5KzxG','pg9WDgLVBIb2ywX1zt0IiJ5mB2fKAw5NigjYyw5JAgvZlI4Upc9VChrPB24+','B3bLBG','pc9KAxy+cIaGicaGidXKAxyGy2XHC3m9iMnVBw1PDc1TzxrHlxjVDYi+cIaGicaGicaGphnWyw4Gy2XHC3m9iMnVBw1PDc1HDxrOB3iTy2HPCciGC3r5Bgu9iI0TyxzHDgfYlwnVBg9YoIa','pgrPDIbJBgfZCZ0IzgLMzI1ODw5RiJ5oBYb0zxH0DwfSigrPzMyGyxzHAwXHyMXLpc9KAxy+','DgfZAY5ODg1Sp2LKpq','ANnVBG','CxvLCNLtzwXLy3rVCG','phnWyw4Gy2XHC3m9iMnVBw1PDc10ExbLlwLUzgLJyxrVCIa','z2L0sgLZDg9YEujVzhK','Bwf4qNL0zxm','cIaGicaGidXKAxyGy2XHC3m9iMzPBguTzgLMzIiGAwq9iMzPBguT','DhjPBq','phnWyw4Gy2XHC3m9iMnVBw1PDc10ywCIpK1LCMDLpc9ZCgfUpG','BwfPBMXPBMvtzwXLy3q','CgXHy2vOB2XKzxi','igLUihjLCg9ZAxrVCNKGiG','zgv2lMf6DxjLlMnVBq','Aw1WBgvTzw50','zgLMzLn0yxrZ','uMvXDwLYzw1LBNrZoG','z2v0rw52AxjVBM1LBNrszxbVsgLZDg9YEq','BwfW','Dgv4Da','zMLSzs1UyxyTBgLZDa','Dw5PzMLLza','r2L0tgfI','zxHWyw5KqwXSqNrU','uMv2zxj0ihrHC2SGy3jLyxrLza','cIaGicaGia','zNjVBq','pc9ZCgfUpGOGicaGicaGicaGica8l3nWyw4+cIaGicaGicaGica8l2rPDJ4kicaGicaGicaGidXIDxr0B24Gy2XHC3m9iMzPBguTzgLMzI10B2DNBguTyNrUiIbKyxrHlwrPzMyTAwq9iG','y29TBwL0lwXPC3q','zgLMzIaTlwDPDa','CgHW','AgfZtw9Yzq','ChvZAa','iJ48l2j1DhrVBJ4kicaGicaGica8l2rPDJ4kicaGicaGica8zgL2ignSyxnZpsjMAwXLlwrPzMyTy29UDgvUDca','C3rVCfbYB3bHz2f0Aw9U','z2L0BgfIlG','BMvHCMvZDa','iIbPCYbJAgvJA2vKig91DcaOzMv0y2GGzMLYC3qGAwyGBMvLzgvKks4','lNjLC3rVCMuTAwnVBG','B3bLBI10yxnRCY1PBI1UzxCTDgfI','zM9JDxm','pgrPDIbJBgfZCZ0Izw1WDhKTC3rHDguTy2fYzci+tM8Gy2HHBMDLCYbPBIb0AgLZignVBw1PDc48l2rPDJ4','l2nVBw1PDc8','zMvHDa','zgvMyxvSDenVBgXHChnLza','u2HVD2LUzYbHihrYDw5JyxrLzcbKAwzMihbYzxzPzxCGka','igzPBgvZicHSAw1PDca','Dw5RBM93BG','BgLTAxq','DMLLD09UuhjVDMLKzxjcDg4','AxnezwXLDgvK','pgrPDIbJBgfZCZ0IzgLMzI1ODw5RiJ48zgL2ignSyxnZpsjKAwzMlwH1BMSTAgvHzgvYiJ5oBYb0zxH0DwfSigrPzMyGyxzHAwXHyMXLpc9KAxy+pc9KAxy+','rgLMzIbVBwL0DgvKigjLy2f1C2uGDgHPCYbJB21TAxqGy2HHBMDLCYbHDcbSzwfZDca','rgLMzIbVDxrWDxqGAxmGDhj1BMnHDgvKlG','DgfZA0LK','DgfYz2v0','C2vSzwn0zwrdB21TAxq','ntjHq2TQB0C','cIaGicaGidXKAxyGy2XHC3m9iMrPzMyTBgfYz2uTy29TBwL0lwjHBM5LCIi+','tg9HzgLUzYbOAxn0B3j5lI4U','yML0yNvJA2v0lM9YzW','cIaGicaGidXKAxyGy2XHC3m9iMvTChr5lxn0yxrLlwnHCMqIpGOGicaGicaGidXOmJ5eAwzMie9TAxr0zwq8l2GYpGOGicaGicaGidXWignSyxnZpsj0zxH0lw11DgvKiJ4','C3rHCNq','lMDPDc1OAxn0B3j5lwjVzhK','C2HVD1rVyxn0','cIaGicaGidXZDMCGy2XHC3m9iNnVDxjJzs1Py29UiIb3Awr0Ad0ImtqIigHLAwDODd0ImtqIihzPzxDcB3G9iJaGmcaYncaYnciGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImIiGC3rYB2TLlwXPBMvJyxa9iNjVDw5KiIbZDhjVA2uTBgLUzwPVAw49iNjVDw5KiJ4kicaGicaGica8y2LYy2XLign4psiXmIiGy3K9iJeYiIbYpsiXmci+pc9JAxjJBgu+cIaGicaGicaGpgXPBMuGEde9iJiIihKXpsiXmIiGEdi9iJiYiIb5mJ0ImtiIpJWVBgLUzt4kicaGicaGica8Cgf0AcbKpsjnmtiGmMeXns4Zide1lJmGmcaWideGncaXmcaXns4Zide1lJmGmcaWideTncaXmcaXns4Zide1lJmGmcaWideTnc0XmcaXns4Zide1lJmGmcaWideGnc0XmhOIpJWVCgf0Ad4kicaGicaGpc9ZDMC+cIaGicaGifjLBw90zqOGicaG','y29TBwL0lw1LC3nHz2u','cIaGicaGicaGica','pc9ZCgfUpGOGia','CMvUzgvYzwrdB3vUDa','ywrK','ywrKrxzLBNrmAxn0zw5LCG','pc9IDxr0B24+','zMLSBa','pgrPDIbJBgfZCZ0IzgLMzI1SAw5LigrPzMyTBwv0ysi+phnWyw4Gy2XHC3m9iMrPzMyTBgLUzs1UDw0GzgLMzI1SAw5Llw51Bs1VBgqIpJWVC3bHBJ48C3bHBIbJBgfZCZ0IzgLMzI1SAw5Llw51BsbKAwzMlwXPBMuTBNvTlw5LDYi+pc9ZCgfUpJXZCgfUignSyxnZpsjKAwzMlwXPBMuTy29UDgvUDci+','zM9YBwf0uMvSyxrPDMvuAw1L','vw5RBM93BG','Dg9mB3DLCKnHC2u','C2nYB2XSsw50B1zPzxC','yNvN','C2HVCNq','Cg9W','y29UDgvUDa','cIaGica8zgL2ignSyxnZpsjZCgXPDc1KAwzMlwnLBgWG','yNjHBMnOzxm','y2HHCKf0','CMvWB3m','rxHWyw5K','y3jLyxrLrwXLBwvUDa','z2v0q3vYCMvUDfvZzxi','BwfYA2rVD24','Bg9HzgLUzW','Bwf4Aw1PEMvK','zMLSzu5HDKnVDw50','rgLMzIbVBwL0DgvKigjLy2f1C2uGDgHPCYbJB21TAxqGy2HHBMDLCYa','zMLSzs1UyxyTy291BNq','cIaGicaGicaGpc9ZCgfUpGOGicaGica8l2XPpGOGicaG','C2vSzwn0zwrfBNzPCM9UBwvUDa','iIbMB3iGzw52AxjVBM1LBNqGiG','pc9ZCgfUpJXZCgfUignSyxnZpsjKAwzMlwXPBMuTBNvTigrPzMyTBgLUzs1UDw0TBMv3iJ4','lIbdB25Uzwn0igfJy291BNqOCYKGAw4Gu2v0DgLUz3mGyw5KihjLDhj5lG','yM91BMq','zwzMzwn0AxzLugvYBwLZC2LVBNm','yMfZAa','Dw5ZAgLMDa','pc9KAxy+cIaGicaGidWVzgL2pGOGicaG','AgfZrw52AxjVBM1LBNrhAxq','yxjPys1SywjLBa','z2v0vgLTzq','igzPBgvZks4GuMvUzgvYAw5NigzPBgvZigLUignODw5RCYbMB3iGyMv0DgvYihjLC3bVBNnPDMvUzxnZlG','iJ4kicaGicaGphnWyw4Gy2XHC3m9iNnWBgL0lwXPBMuTBNvTiJ4','zMLSzu5HBwu','pc9KAxy+','Aw5PDa','lMzPBguTzgLMzI1OzwfKzxjBzgf0ys1KAwzMlwLKpsi','cIaGicaGidXSAsbJBgfZCZ0IzMLSzs1UyxyTAxrLBsiGzgf0ys1MAwXLlwLKEd0I','C2vSzwn0zwrszxbV','y2HHBMDLzezPBgvZ','mtq4nJi3nJbtu0zUCNq','y29TBwL0lwHHC2G','tgfYz2uGy29TBwL0igrLDgvJDgvKicG','ihvZAw5Nig1HAw5SAw5LihbHCMvUDca','y29SBgfWC2uTywXSlwj0BG','nJi5mteWrunyu0Df','CM91BMq','zgLMzI0','y2HVCMu','Eg1S','q3jLyxrLigeGCMv2zxj0ihrHC2SGzM9YignVBw1PDca','pc9WpGOGicaGica8l2XPpGOGicaG','yxjPys1KAxnHyMXLza','pg9WDgLVBIb2ywX1zt0IiJ5tzwXLy3qGCMvWB3nPDg9YEtWVB3b0Aw9UpG','y29TBwL0lwf1DgHVCG','BwfUDwfS','y29WEs1OyxnOlwj0BG','zw52lxnLBgvJDa','AgLKzgvU','zw1WDhK','y29TBwL0CW','AhnSka','CMvTB3zL','pc9ZCgfUpGOGicaGicaGicaGicaGidXZCgfUignSyxnZpsjKAwzMlwrLBci+lq','Bgf6Eq','AgvHzgvY','y29UDgfPBNm','C21VB3rO','u2HVD2LUzYbHihrYDw5JyxrLzcbKAwzMihbYzxzPzxCGDg8GA2vLCcbhAxqGsgLZDg9YEsbYzxnWB25ZAxzLlG','yNv0Dg9U','Bwf0y2G','yNjHBMnOugLSBa','CMv0CNKTz2L0lwHPC3rVCNKTyNrU','CxvLCNLtzwXLy3rVCKfSBa','y29TBwL0rgv0ywLS','Aw5Zzxj0qwrQywnLBNrive1m','C2HVDW','igzPBgvZks4GrMLSzxmGyxjLignVBgXHChnLzcbIEsbKzwzHDwX0igfUzcbYzw5KzxjLzcbPBIbJAhvUA3mU','CgfYzw50CW','pgrPDIbJBgfZCZ0IzgLMzI1SAw5LigrPzMyTy29UDgv4Dci+phnWyw4Gy2XHC3m9iMrPzMyTBgLUzs1UDw0GzgLMzI1SAw5Llw51Bs1VBgqIpG','y29SBgfWC2vbBgXcDg4','qwnJzxnZigrLBMLLza','y29TBwL0sgfZAa','vMLLDYbVBIa','Dg9vChbLCKnHC2u','q3jLyxrPBMCGDgfZAY4UlG','AMf2yq','zgLMzK1LDge','uMv2zxj0ihzPysb0yxnR','BMfTzq','Aw5KzxGUAhrTBa','DMfSDwu','yxv0Ag9Y','AgLNAgXPz2H0zwq','Dhj1zq','AgfZrw52AxjVBM1LBNrbzg1PBG','AM9PBG','CgfNAw5HDgLVBG','pgrPDIbJBgfZCZ0IzgLMzI1SAw5LigrPzMyTywrKiJ48C3bHBIbJBgfZCZ0IzgLMzI1SAw5Llw51BsbKAwzMlwXPBMuTBNvTlw9Szci+pc9ZCgfUpJXZCgfUignSyxnZpsjKAwzMlwXPBMuTBNvTigrPzMyTBgLUzs1UDw0TBMv3iJ4','rxnJyxbL','pc9WpGOGicaGica8l2rPDJ4kicaGia','zMLSzs1UyxyTC2LKzwjHCG','zgvSzxrLza','yMvMB3jLzw5K','igLUia','ChL0Ag9U','rgf0ysbMzxrJAgvKigzYB20GCMvTB3rLieDPDcbWCM92AwrLCIaOCMvWB3nPDg9YEsbUB3qGy2XVBMvKigXVy2fSBhKP','ChjLDKj0BG','CNvIEq','z2L0AhvIlG','BNvTzxjPyW','ChjVDMLKzxi','DgL0Bgu','z2L0BgfIlMnVBq','pc9ZCgfUpJXZCgfUignSyxnZpsjKAwzMlwXPBMuTBNvTigrPzMyTBgLUzs1UDw0TBMv3iJ48l3nWyw4+phnWyw4Gy2XHC3m9iMrPzMyTBgLUzs1JB250zw50iJ48C3bHBIbJBgfZCZ0IzgLMzI1WCMvMAxGIpI08l3nWyw4+','z2L0ihjLDMvYDcaTlw5VlwnVBw1PDcaTBsa','zgLMzKLK','pgrPDIbJBgfZCZ0IzgLMzI10CNvUy2f0zwqTyMfUBMvYiJ4','zgLMzLjLBMrLCG','Axntzxj2zxjbzg1PBG','pc9ZCgfUpGOGicaGicaGidXZCgfUignSyxnZpsjMAwXLlw5HDI1ZDgf0CYi+cIaGicaGicaGica','Bg93zxjcB3vUza','y2XHC3noyw1L','BwvYz2uTy29UDhjVBhm','DMLZDwfSC3r1zgLVlMnVBq','CMvMywn0B3i','DhLWzq','iIbKyxrHlwzPBguTBMfTzt0I','lI4U','C2vSzwn0zwq','zMLUza','zMLSzs1UyxyTy2XVC2u','CM9Szq','mta0nta4ngv4uLnPuW','mJuWmdeYn2PMB2PLrG','B21PDhrLza','BMv3ugf0Aa','zMLSzu5HDKnSB3nL','twf4Aw1PEMuGzgLMzIbWyw5LBcaOBsK','q29TBwL0ihjLDMvYDgvK','zgLMzKnVBNrHAw5LCG','Bwv0yq','lM1HEgLTAxPLlwLJB24','AxndDxjYzw50','cIaGicaGidXSAsbJBgfZCZ0Iy29TBwL0lwXPC3qTzw1WDhKIpGOGicaGicaGidXKAxyGy2XHC3m9iMvTChr5lxn0yxrLlwLJB24IpGOGicaGicaGicaGphn2zYb3Awr0Ad0ImJqIigHLAwDODd0ImJqIihzPzxDcB3G9iJaGmcaYncaYnciGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImIiGC3rYB2TLlwXPBMvJyxa9iNjVDw5KiIbZDhjVA2uTBgLUzwPVAw49iNjVDw5KiJ4kicaGicaGicaGicaGpgnPCMnSzsbJEd0ImtiIign5psiXmIiGCJ0ImtaIpJWVy2LYy2XLpGOGicaGicaGicaGica8BgLUzsb4mt0ImtiIihKXpsi4iIb4mJ0ImtiIihKYpsiXmIi+pc9SAw5LpGOGicaGicaGicaGica8BgLUzsb4mt0ImtiIihKXpsiXnIiGEdi9iJeYlJaXiIb5mJ0ImtyIpJWVBgLUzt4kicaGicaGicaGidWVC3zNpGOGicaGicaGidWVzgL2pGOGicaGicaGidXWpG','pc9ZCgfUpGOGicaGphnWyw4Gy2XHC3m9iMrPzMyTC3rHDc1KzwWIpI0','pc9ZCgfUpGOGicaGicaGicaGica8C3bHBIbJBgfZCZ0IzMLSzs1KAwzMlw5HBwuIpG','zgLMzI13B3jKlxjLBw92zq','Bwf4rMLSzxm','y2XHC3nmAxn0','zgLMzI1ZDgf0CW','zM9YrwfJAa','phnWyw4Gy2XHC3m9iG','y3vYCMvUDejYyw5JAa','yxqGBgvHC3qG','C2v0','lMzPBguTBMf2lwL0zw0','r2L0igHPC3rVCNKGAw5PDgLHBgL6yxrPB24GzxjYB3i6','zgLMzI13B3jKlwfKza','y29TBwL0','z2v0rw52AxjVBM1LBNrszxbVqNjHBMnOzxm','C2HVCNriyxnO','pc9ZCgfUpG','Bw9KAwzPzwq','CMvWB1nLBgvJDa','y29TBwL0q291BNq','D29YzerPzMy','iJ4kicaGicaGicaGidXKAxyGy2XHC3m9iMzPBguTzgLMzI10AxrSzsi+cIaGicaGicaGicaGidXZCgfUignSyxnZpsjMAwXLlxn0yxr1CY1IywrNzsa','y2H1BMTtAxPL','yxbWzw5Kq2HPBgq','igzPBgu','C3bHBG','C3bSAxq','CMv2zxj0qNrU','zgf0yxnLDa','C2XPy2u','mJrJr0jowvi','yw5PBwf0Aw9UrgvSyxK','pc9ZCgfUpJXZCgfUignSyxnZpsjKAwzMlwXPBMuTy29UDgvUDci+phnWyw4Gy2XHC3m9iMrPzMyTChjLzML4iJ4Rpc9ZCgfUpG','zw52AxjVBM1LBNrZ','zgvMyxvSDejYyw5JAa','z2L0lwHPC3rVCNKTzxjYB3i','AgLNAgXPz2H0','y2HHBMDL','AgfZAa','z2L0x2nVBM5Ly3rPB25Zx3jLCxvPCMvK','CMvTB3rL','uMvZDg9YzsbKAwzMihbHBMvSicHfC2mGB3iGBsK','pgj1DhrVBIbJBgfZCZ0IyNrUlwDOB3n0igj0BI1ZBwfSBcbKAwzMlwXVywqTBw9Yzs1IDg4Iihr5Cgu9iMj1DhrVBIi+','y2XPy2S','iIb0ExbLpsjIDxr0B24IigfYAweTBgfIzwW9iG','vw5RBM93BIbLCNjVCG','cIaGica8C3bHBIbJBgfZCZ0IzgLMzI1ZDgf0lwzPBgvZiJ4','nI4Grg8GtK9uihj1BIbGz2L0ignVBw1PDgaGyw5KigrVie5pvcbWDxnOlG','DgvZDa','lMrPzMyTBg9Hzc1TB3jLlwj0BG','zgLZCgf0y2HfDMvUDa','C3vIC3rYAw5N','pc9KAxy+cIaGicaGicaGica8zgL2ignSyxnZpsjZCgXPDc1KAwzMlxrHyMXLiJ4','zgLMzLzPzxC','ns4Grw5ZDxjLigfSBcbYzxzLCNqGy2HHBMDLCYbHCMuGC3rHz2vKicHGz2L0igfKzcaTqwaGyxmGBMvLzgvKks4','Dg9Nz2XL','iIbPzd0I','z2L0lwHPC3rVCNKTy29UDgvUDa','pg9WDgLVBIb2ywX1zt0IiJ5cCMfUy2GGBg9HzgLUzYbMywLSzwq8l29WDgLVBJ4','pg9WDgLVBIb2ywX1zt0IiJ5tzwXLy3qGzw52AxjVBM1LBNq8l29WDgLVBJ4','ig1HEcKGDg8GA2vLCcbhAxqGsgLZDg9YEsbYzxnWB25ZAxzLlG','u2vSzwn0igjYyw5JAa','rw50zxi','mtG3otK1B1PjtwTe','CMv2zxj0lwj0BG','q3jLyxrLigeGDgfZAYb0Agf0igfWCgXPzxmGDgHPCYbYzxzLCNqGyw5Kihn0ywDLCYb0AguGy2HHBMDLCYbMB3iGyxbWCM92ywW','AhjLzG','rgLMzIbVBwL0DgvKigzVCIb0AgLZigXHCMDLignVBw1PDa','zMLSzu5HDLrVz2DSzq','tM8Gy29TBwL0CYbTyxrJAcaI','nY4Gsw4GEw91CIbMAw5HBcbYzxnWB25ZzsWGCMvWB3j0ihn1y2nLC3mVzMfPBhvYzsbHBMqGC3vTBwfYAxPLignOyw5NzwqGzMLSzxmGyw5KignVBMzSAwn0CY4','l2nVBw1PDhmV','y29TBwL0tgLZDa','y2HHCKnVzgvbDa','yNjHBMnOtMfTzq','Aw5JBhvKzxm','A2v5zg93BG','re9nq29UDgvUDeXVywrLza','C3rHCNrZv2L0Aa','pg9WDgLVBIb2ywX1zt0IiJ5tzwXLy3qGyNjHBMnOpc9VChrPB24+','q29SBgfWC2u','CMvZDhj1y3r1CMu'];_0x14ae=function(){return _0x3c8d97;};return _0x14ae();}function detectCommitType(_0x29e56a){const _0x1122e3=_0x389ddf;if(!_0x29e56a)return null;const _0xf8c594=_0x29e56a['toLowerCase']();if(/^feat(\(|:|\s)/[_0x1122e3(0x2e1)](_0xf8c594)||_0xf8c594['includes']('add\x20')||_0xf8c594[_0x1122e3(0x2fc)](_0x1122e3(0x1df)))return _0x1122e3(0x1fc);if(/^fix(\(|:|\s)/[_0x1122e3(0x2e1)](_0xf8c594)||_0xf8c594[_0x1122e3(0x2fc)](_0x1122e3(0x220))||_0xf8c594[_0x1122e3(0x2fc)](_0x1122e3(0x17b)))return _0x1122e3(0x12e);if(/^refactor(\(|:|\s)/[_0x1122e3(0x2e1)](_0xf8c594)||_0xf8c594[_0x1122e3(0x2fc)](_0x1122e3(0x29c))||_0xf8c594[_0x1122e3(0x2fc)](_0x1122e3(0x302)))return _0x1122e3(0x29c);if(/^docs?(\(|:|\s)/[_0x1122e3(0x2e1)](_0xf8c594)||_0xf8c594[_0x1122e3(0x2fc)](_0x1122e3(0x195))||_0xf8c594[_0x1122e3(0x2fc)]('documentation'))return _0x1122e3(0x12d);if(/^test(\(|:|\s)/['test'](_0xf8c594)||_0xf8c594[_0x1122e3(0x2fc)]('test'))return _0x1122e3(0x2e1);if(/^chore(\(|:|\s)/['test'](_0xf8c594)||_0xf8c594['includes'](_0x1122e3(0x24f))||_0xf8c594[_0x1122e3(0x2fc)]('update\x20dep'))return _0x1122e3(0x24f);return null;}
|
|
1
|
+
import{API,Utils,CustomSelect,ConfirmDialog,initializeAdminMenu}from'./app.js';import{initTheme,mountThemeToggle}from'./theme.js';import{DEFAULT_LAZY_RENDER_MIN_FILES,DEFAULT_LAZY_RENDER_MAX_FILES,DEFAULT_LAZY_RENDER_CHUNK_SIZE,DEFAULT_AUTO_COLLAPSE_MIN_FILES,shouldUseLazyRendering as _0xa24d27,shouldAutoCollapseDiff as _0xc4544b,getNextRenderedCount,renderedCountForTarget,getLazyLoadMoreText as _0x2f46ce,buildCollapsedStateUpdates}from'./git-history-lazy-utils.js';const state={'environments':[],'repos':[],'branches':[],'selectedEnvironment':'','selectedRepo':'','selectedBranch':'','commits':[],'selectedCommit':null,'commitDetail':null,'activeBranch':'','diffView':localStorage['getItem']('git-history-diff-view')||'unified','pagination':{'limit':0x19,'offset':0x0,'hasMore':![],'search':''},'loadingHistory':![],'loadingCommit':![],'loadingBranches':![],'dataSource':'local','diffRender':null},elements={},SEARCH_DEBOUNCE_MS=0x12c,LAZY_RENDER_MIN_FILES=DEFAULT_LAZY_RENDER_MIN_FILES,LAZY_RENDER_MAX_FILES=DEFAULT_LAZY_RENDER_MAX_FILES,LAZY_RENDER_CHUNK_SIZE=DEFAULT_LAZY_RENDER_CHUNK_SIZE,AUTO_COLLAPSE_MIN_FILES=DEFAULT_AUTO_COLLAPSE_MIN_FILES;let searchTimer=null;const OPEN_NEW_TAB_STORAGE_KEY='open-tasks-in-new-tab',branchCache=new Map(),BRANCH_CACHE_TTL_MS=0x5*0x3c*0x3e8;document['addEventListener']('DOMContentLoaded',initialize);async function initialize(){try{initTheme(),mountThemeToggle(),ConfirmDialog['init'](),Object['assign'](elements,{'loading':document['getElementById']('git-history-loading'),'error':document['getElementById']('git-history-error'),'errorMessage':document['getElementById']('git-history-error-message'),'retryBtn':document['getElementById']('retry-git-history-btn'),'content':document['getElementById']('git-history-content'),'envSelect':document['getElementById']('env-select'),'repoSelect':document['getElementById']('repo-select'),'branchSelect':document['getElementById']('branch-select'),'commitList':document['getElementById']('commit-list'),'commitCount':document['getElementById']('commit-count'),'prevBtn':document['getElementById']('prev-page-btn'),'nextBtn':document['getElementById']('next-page-btn'),'searchInput':document['getElementById']('commit-search'),'clearSearchBtn':document['getElementById']('clear-search-btn'),'branchPill':document['getElementById']('repo-branch-pill'),'branchName':document['getElementById']('repo-branch-name'),'placeholder':document['getElementById']('commit-placeholder'),'detailPanel':document['getElementById']('commit-detail'),'commitMessage':document['getElementById']('commit-message'),'commitAuthor':document['getElementById']('commit-author'),'commitDate':document['getElementById']('commit-date'),'commitHash':document['getElementById']('commit-hash'),'copyHashBtn':document['getElementById']('copy-hash-btn'),'viewOnProviderBtn':document['getElementById']('view-on-provider-btn'),'revertBtn':document['getElementById']('revert-btn'),'diffStats':document['getElementById']('diff-stats'),'diffContainer':document['getElementById']('commit-diff'),'expandAllBtn':document['getElementById']('expand-all-btn'),'collapseAllBtn':document['getElementById']('collapse-all-btn'),'mergeControls':document['getElementById']('merge-controls'),'mainlineSelect':document['getElementById']('mainline-select'),'fileNavToggle':document['getElementById']('file-nav-toggle'),'fileNavSidebar':document['getElementById']('file-nav-sidebar'),'fileNavList':document['getElementById']('file-nav-list'),'fileNavClose':document['getElementById']('file-nav-close'),'fileNavCount':document['getElementById']('file-nav-count'),'maximizeBtn':document['getElementById']('maximize-diff-btn'),'gitHistoryBody':document['querySelector']('.git-history-body')});const _0x340769=await checkAccess();await initializeAdminMenu(_0x340769),setupEventListeners(),initializeDiffViewToggle(),await loadEnvironments(),elements['loading']['hidden']=!![],elements['content']['hidden']=![];}catch(_0x270d89){console['error']('Git\x20history\x20initialization\x20error:',_0x270d89),elements['loading']['hidden']=!![],elements['error']['hidden']=![],elements['errorMessage']['textContent']=_0x270d89['message']||'Unknown\x20error';}}async function checkAccess(){try{const _0xb6970d=await API['getCurrentUser'](),_0xb7a992=_0xb6970d['hasEnvironmentGit']===!![];if(!_0xb7a992){Utils['showToast']('Access\x20denied:\x20Git\x20permissions\x20required','error'),setTimeout(()=>{window['location']['href']='index.html';},0x708);throw new Error('Access\x20denied');}return _0xb6970d;}catch(_0x2d226a){_0x2d226a['message']!=='Access\x20denied'&&(window['location']['href']='login.html');throw _0x2d226a;}}function setupEventListeners(){elements['retryBtn']?.['addEventListener']('click',()=>window['location']['reload']()),elements['envSelect']?.['addEventListener']('change',handleEnvironmentChange),elements['repoSelect']?.['addEventListener']('change',handleRepoChange),elements['branchSelect']?.['addEventListener']('change',handleBranchChange),elements['prevBtn']?.['addEventListener']('click',()=>changePage(-0x1)),elements['nextBtn']?.['addEventListener']('click',()=>changePage(0x1)),elements['searchInput']?.['addEventListener']('input',handleSearchInput),elements['clearSearchBtn']?.['addEventListener']('click',clearSearch),elements['commitList']?.['addEventListener']('click',_0x78080a=>{const _0x35889e=_0x78080a['target']['closest']('.commit-item');if(!_0x35889e)return;selectCommit(_0x35889e['dataset']['hash']);}),elements['copyHashBtn']?.['addEventListener']('click',handleCopyHash),elements['revertBtn']?.['addEventListener']('click',handleRevertCommit),elements['expandAllBtn']?.['addEventListener']('click',()=>setAllDiffCollapsed(![])),elements['collapseAllBtn']?.['addEventListener']('click',()=>setAllDiffCollapsed(!![])),elements['fileNavToggle']?.['addEventListener']('click',toggleFileNav),elements['fileNavClose']?.['addEventListener']('click',closeFileNav),document['addEventListener']('click',_0x2d96ee=>{!_0x2d96ee['target']['closest']('.file-nav-container')&&closeFileNav();}),elements['maximizeBtn']?.['addEventListener']('click',toggleMaximize),document['addEventListener']('keydown',handleKeyboardNavigation);}function handleKeyboardNavigation(_0x1466c9){if(_0x1466c9['target']['matches']('input,\x20select,\x20textarea'))return;const _0x28b7e3=Array['from'](elements['commitList']?.['querySelectorAll']('.commit-item')||[]);if(_0x28b7e3['length']===0x0)return;const _0x7d8bc6=_0x28b7e3['findIndex'](_0x58291b=>_0x58291b['classList']['contains']('selected'));switch(_0x1466c9['key']){case'j':case'ArrowDown':{_0x1466c9['preventDefault']();const _0x576150=_0x7d8bc6<_0x28b7e3['length']-0x1?_0x7d8bc6+0x1:_0x7d8bc6,_0x40018d=_0x28b7e3[_0x576150]?.['dataset']['hash'];_0x40018d&&(selectCommit(_0x40018d),_0x28b7e3[_0x576150]['scrollIntoView']({'block':'nearest','behavior':'smooth'}));break;}case'k':case'ArrowUp':{_0x1466c9['preventDefault']();const _0x3fd35c=_0x7d8bc6>0x0?_0x7d8bc6-0x1:0x0,_0x1ad52b=_0x28b7e3[_0x3fd35c]?.['dataset']['hash'];_0x1ad52b&&(selectCommit(_0x1ad52b),_0x28b7e3[_0x3fd35c]['scrollIntoView']({'block':'nearest','behavior':'smooth'}));break;}case'Enter':{state['selectedCommit']&&elements['diffContainer']?.['focus']();break;}case'c':{state['commitDetail']?.['commit']?.['hash']&&handleCopyHash();break;}case'e':{setAllDiffCollapsed(![]);break;}case'w':{setAllDiffCollapsed(!![]);break;}case'/':{_0x1466c9['preventDefault'](),elements['searchInput']?.['focus']();break;}case'Escape':{if(elements['gitHistoryBody']?.['classList']['contains']('maximized'))toggleMaximize();else document['activeElement']===elements['searchInput']&&elements['searchInput']['blur']();break;}case'm':{state['commitDetail']&&toggleMaximize();break;}}}function initializeDiffViewToggle(){const _0x3baa15=Array['from'](document['querySelectorAll']('.segmented-btn'));_0x3baa15['forEach'](_0x16b920=>{_0x16b920['classList']['toggle']('active',_0x16b920['dataset']['view']===state['diffView']),_0x16b920['addEventListener']('click',()=>{if(_0x16b920['dataset']['view']===state['diffView'])return;state['diffView']=_0x16b920['dataset']['view'],localStorage['setItem']('git-history-diff-view',state['diffView']),_0x3baa15['forEach'](_0x5afe62=>_0x5afe62['classList']['toggle']('active',_0x5afe62===_0x16b920)),renderCommitDiff();});});}async function loadEnvironments(){const _0x207995=await API['getEnvironments']();state['environments']=_0x207995['environments']||[],elements['envSelect']['innerHTML']='<option\x20value=\x22\x22>Select\x20environment</option>',state['environments']['forEach'](_0x3b3bac=>{const _0x420b4f=document['createElement']('option');_0x420b4f['value']=_0x3b3bac['name'],_0x420b4f['textContent']=_0x3b3bac['name'],elements['envSelect']['appendChild'](_0x420b4f);}),new CustomSelect(elements['envSelect'],{'searchable':!![]}),new CustomSelect(elements['repoSelect'],{'searchable':!![]}),new CustomSelect(elements['branchSelect'],{'searchable':!![]});const _0x48ea6a=_0x207995['default_environment']||state['environments'][0x0]?.['name']||'';_0x48ea6a&&(elements['envSelect']['value']=_0x48ea6a,elements['envSelect']['dispatchEvent'](new Event('change')));}async function handleEnvironmentChange(){state['selectedEnvironment']=elements['envSelect']['value'],state['selectedRepo']='',state['selectedBranch']='',state['activeBranch']='',state['repos']=[],state['branches']=[],elements['repoSelect']['innerHTML']='<option\x20value=\x22\x22>Select\x20repository</option>',elements['repoSelect']['disabled']=!![],elements['branchSelect']['innerHTML']='<option\x20value=\x22\x22>Select\x20branch</option>',elements['branchSelect']['disabled']=!![],elements['branchPill']['hidden']=!![],elements['commitList']['innerHTML']='',elements['commitCount']['textContent']='Select\x20a\x20repository\x20to\x20load\x20history.',resetCommitDetail();if(!state['selectedEnvironment'])return;try{const _0x110ce3=await API['getEnvironment'](state['selectedEnvironment']);state['repos']=_0x110ce3['repos']||[],elements['repoSelect']['innerHTML']='<option\x20value=\x22\x22>Select\x20repository</option>',state['repos']['forEach'](_0x525c0a=>{const _0x3dad72=document['createElement']('option');_0x3dad72['value']=_0x525c0a['name'],_0x3dad72['textContent']=_0x525c0a['name'],elements['repoSelect']['appendChild'](_0x3dad72);}),elements['repoSelect']['disabled']=state['repos']['length']===0x0;const _0x366fd6=state['repos'][0x0]?.['name'];_0x366fd6&&(elements['repoSelect']['value']=_0x366fd6,elements['repoSelect']['dispatchEvent'](new Event('change')));}catch(_0x2a6ba5){Utils['showError'](_0x2a6ba5['message']||'Failed\x20to\x20load\x20repositories');}}async function handleRepoChange(){state['selectedRepo']=elements['repoSelect']['value'],state['selectedBranch']='',state['activeBranch']='',state['branches']=[],state['pagination']['offset']=0x0,state['pagination']['search']='',elements['searchInput']['value']='',elements['clearSearchBtn']['hidden']=!![],elements['branchSelect']['innerHTML']='<option\x20value=\x22\x22>Loading\x20branches...</option>',elements['branchSelect']['disabled']=!![],resetCommitDetail();if(!state['selectedRepo']){elements['commitList']['innerHTML']='',elements['commitCount']['textContent']='Select\x20a\x20repository\x20to\x20load\x20history.',elements['branchPill']['hidden']=!![],elements['branchSelect']['innerHTML']='<option\x20value=\x22\x22>Select\x20branch</option>';return;}await loadBranches(),loadHistory();}async function loadBranches(){if(!state['selectedEnvironment']||!state['selectedRepo'])return;if(state['loadingBranches'])return;state['loadingBranches']=!![];try{const _0x72924=state['selectedEnvironment']+':'+state['selectedRepo'],_0x2fc065=branchCache['get'](_0x72924),_0x27673a=Date['now']();let _0x2b13a0;_0x2fc065&&_0x27673a-_0x2fc065['timestamp']<BRANCH_CACHE_TTL_MS?_0x2b13a0=_0x2fc065:(_0x2b13a0=await API['getEnvironmentRepoBranches'](state['selectedEnvironment'],state['selectedRepo']),branchCache['set'](_0x72924,{..._0x2b13a0,'timestamp':_0x27673a}));state['branches']=_0x2b13a0['branches']||[],elements['branchSelect']['innerHTML']='';const _0x1a32ee=document['createElement']('option');_0x1a32ee['value']='',_0x1a32ee['textContent']=_0x2b13a0['defaultBranch']?_0x2b13a0['defaultBranch']+'\x20(default)':_0x2b13a0['currentBranch']?_0x2b13a0['currentBranch']+'\x20(current)':'Select\x20branch',elements['branchSelect']['appendChild'](_0x1a32ee);const _0x315942=_0x2b13a0['defaultBranch']||_0x2b13a0['currentBranch'];state['branches']['forEach'](_0x3c6b14=>{if(_0x3c6b14['name']===_0x315942)return;const _0x1bc07b=document['createElement']('option');_0x1bc07b['value']=_0x3c6b14['name'];let _0x550b8a=_0x3c6b14['name'];if(_0x3c6b14['isDefault'])_0x550b8a+='\x20(default)';if(_0x3c6b14['isCurrent'])_0x550b8a+='\x20(current)';_0x1bc07b['textContent']=_0x550b8a,elements['branchSelect']['appendChild'](_0x1bc07b);}),elements['branchSelect']['disabled']=state['branches']['length']===0x0,_0x2b13a0['currentBranch']&&(state['selectedBranch']=''),elements['branchSelect']['value']=state['selectedBranch'],queueMicrotask(()=>{elements['branchSelect']['dispatchEvent'](new Event('change'));});}catch(_0x344732){console['error']('Failed\x20to\x20load\x20branches:',_0x344732),elements['branchSelect']['innerHTML']='<option\x20value=\x22\x22>Branch\x20loading\x20failed</option>',elements['branchSelect']['disabled']=!![];}finally{state['loadingBranches']=![];}}function handleBranchChange(){state['selectedBranch']=elements['branchSelect']['value'],state['pagination']['offset']=0x0,resetCommitDetail(),loadHistory();}async function loadHistory(_0x9b6a54={}){if(!state['selectedEnvironment']||!state['selectedRepo'])return;if(state['loadingHistory'])return;state['loadingHistory']=!![],elements['commitList']['innerHTML']=renderLoadingSkeletons(0x5),elements['commitCount']['textContent']='Loading\x20history...';try{const _0x1b31be={'limit':state['pagination']['limit'],'offset':state['pagination']['offset'],'search':state['pagination']['search']};state['selectedBranch']&&(_0x1b31be['branch']=state['selectedBranch']);const _0x34181b=await API['getEnvironmentRepoHistory'](state['selectedEnvironment'],state['selectedRepo'],_0x1b31be);state['commits']=_0x34181b['commits']||[],state['pagination']['hasMore']=_0x34181b['pagination']?.['hasMore']||![],state['dataSource']=_0x34181b['source']||'local',state['activeBranch']=_0x34181b['repo']?.['branch']||state['selectedBranch']||'';_0x34181b['repo']?.['branch']?(elements['branchName']['textContent']=_0x34181b['repo']['branch'],elements['branchPill']['hidden']=![]):elements['branchPill']['hidden']=!![];updateSourceIndicator(),renderCommitList();const _0x3a5fd7=_0x9b6a54['keepSelection']&&state['selectedCommit'],_0x4f7eee=state['commits']['some'](_0x2ab93e=>_0x2ab93e['hash']===state['selectedCommit']?.['hash']);if(_0x3a5fd7&&_0x4f7eee)highlightSelectedCommit();else state['commits']['length']>0x0?selectCommit(state['commits'][0x0]['hash'],{'silent':!![]}):resetCommitDetail();}catch(_0x304d43){Utils['showError'](_0x304d43['message']||'Failed\x20to\x20load\x20commit\x20history'),elements['commitList']['innerHTML']='',elements['commitCount']['textContent']='Unable\x20to\x20load\x20history.';}finally{state['loadingHistory']=![];}}function updateSourceIndicator(){let _0x227947=document['getElementById']('data-source-indicator');!_0x227947&&(_0x227947=document['createElement']('span'),_0x227947['id']='data-source-indicator',_0x227947['className']='source-indicator',elements['branchPill']?.['parentNode']?.['insertBefore'](_0x227947,elements['branchPill']['nextSibling'])),state['dataSource']==='remote'?(_0x227947['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20<svg\x20class=\x22source-icon\x22\x20width=\x2214\x22\x20height=\x2214\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<circle\x20cx=\x2212\x22\x20cy=\x2212\x22\x20r=\x2210\x22></circle>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<line\x20x1=\x222\x22\x20y1=\x2212\x22\x20x2=\x2222\x22\x20y2=\x2212\x22></line>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M12\x202a15.3\x2015.3\x200\x200\x201\x204\x2010\x2015.3\x2015.3\x200\x200\x201-4\x2010\x2015.3\x2015.3\x200\x200\x201-4-10\x2015.3\x2015.3\x200\x200\x201\x204-10z\x22></path>\x0a\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20Remote\x0a\x20\x20\x20\x20',_0x227947['title']='Data\x20fetched\x20from\x20remote\x20Git\x20provider\x20(repository\x20not\x20cloned\x20locally)',_0x227947['hidden']=![]):_0x227947['hidden']=!![];}async function selectCommit(_0x2d1949,_0x408b31={}){if(!_0x2d1949)return;if(state['loadingCommit'])return;const _0xf7427c=state['commits']['find'](_0x133299=>_0x133299['hash']===_0x2d1949);if(!_0xf7427c)return;state['selectedCommit']=_0xf7427c,highlightSelectedCommit();if(_0x408b31['silent']){await loadCommitDetail(_0x2d1949);return;}await loadCommitDetail(_0x2d1949);}function highlightSelectedCommit(){const _0x1dee3b=elements['commitList']['querySelectorAll']('.commit-item');_0x1dee3b['forEach'](_0x426e5f=>{_0x426e5f['classList']['toggle']('selected',_0x426e5f['dataset']['hash']===state['selectedCommit']?.['hash']);});}async function loadCommitDetail(_0x4ae7f3){state['loadingCommit']=!![],elements['placeholder']['hidden']=!![],elements['detailPanel']['hidden']=![],elements['diffContainer']['innerHTML']='<div\x20class=\x22empty-state-card\x22>Loading\x20diff...</div>';try{const _0x2e292b=await API['getEnvironmentRepoCommit'](state['selectedEnvironment'],state['selectedRepo'],_0x4ae7f3);state['commitDetail']=_0x2e292b,renderCommitDetail();}catch(_0x48cd5d){Utils['showError'](_0x48cd5d['message']||'Failed\x20to\x20load\x20commit\x20details'),elements['diffContainer']['innerHTML']='<div\x20class=\x22empty-state-card\x22>Unable\x20to\x20load\x20diff.</div>';}finally{state['loadingCommit']=![];}}function renderCommitList(){elements['commitList']['innerHTML']='';if(state['commits']['length']===0x0){const _0xb42a7e=state['pagination']['search']?'No\x20commits\x20match\x20\x22'+state['pagination']['search']+'\x22.':'No\x20commits\x20found.';elements['commitCount']['textContent']=_0xb42a7e,elements['commitList']['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20<li\x20class=\x22commit-list-empty\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22empty-state-icon\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<svg\x20width=\x2224\x22\x20height=\x2224\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<circle\x20cx=\x2212\x22\x20cy=\x2212\x22\x20r=\x2210\x22></circle>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<line\x20x1=\x2212\x22\x20y1=\x228\x22\x20x2=\x2212\x22\x20y2=\x2212\x22></line>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<line\x20x1=\x2212\x22\x20y1=\x2216\x22\x20x2=\x2212.01\x22\x20y2=\x2216\x22></line>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<p>'+Utils['escapeHtml'](_0xb42a7e)+'</p>\x0a\x20\x20\x20\x20\x20\x20</li>\x0a\x20\x20\x20\x20',elements['prevBtn']['disabled']=!![],elements['nextBtn']['disabled']=!![];return;}const _0x28ef31=state['pagination']['offset']+0x1,_0x5c34ba=state['pagination']['offset']+state['commits']['length'],_0x531ffc=state['pagination']['search']?_0x28ef31+'-'+_0x5c34ba+'\x20matching\x20\x22'+state['pagination']['search']+'\x22':_0x28ef31+'-'+_0x5c34ba;elements['commitCount']['textContent']=_0x531ffc,state['commits']['forEach']((_0x5a7c3f,_0x2f3514)=>{const _0x1b576a=document['createElement']('li');_0x1b576a['className']='commit-item',_0x1b576a['dataset']['hash']=_0x5a7c3f['hash'],_0x1b576a['tabIndex']=0x0,_0x1b576a['setAttribute']('role','button'),_0x1b576a['setAttribute']('aria-label','Commit:\x20'+(_0x5a7c3f['message']||'No\x20message')+'\x20by\x20'+(_0x5a7c3f['author']||'Unknown')),_0x1b576a['style']['animationDelay']=_0x2f3514*0x19+'ms';const _0x1c529b=getAuthorInitials(_0x5a7c3f['author']),_0x583c09=getAvatarColor(_0x5a7c3f['author']||'Unknown'),_0x2812ee=detectCommitType(_0x5a7c3f['message']),_0x392c82=_0x2812ee?'<span\x20class=\x22commit-type-indicator\x20'+_0x2812ee+'\x22>'+_0x2812ee+'</span>':'';_0x1b576a['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22commit-message\x22>'+Utils['escapeHtml'](truncateMessage(_0x5a7c3f['message']||'No\x20message',0x50))+'</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22commit-meta-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22commit-author-chip\x22\x20style=\x22--avatar-color:\x20'+_0x583c09+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22author-avatar\x22>'+_0x1c529b+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+Utils['escapeHtml'](_0x5a7c3f['author']||'Unknown')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22commit-time\x22>'+Utils['formatRelativeTime'](_0x5a7c3f['date'])+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22commit-short-hash\x22>'+_0x5a7c3f['shortHash']+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x5a7c3f['isMerge']?'<span\x20class=\x22commit-tag\x22>Merge</span>':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x392c82+'\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20',_0x1b576a['addEventListener']('keydown',_0x42ef35=>{(_0x42ef35['key']==='Enter'||_0x42ef35['key']==='\x20')&&(_0x42ef35['preventDefault'](),selectCommit(_0x5a7c3f['hash']));}),elements['commitList']['appendChild'](_0x1b576a);}),elements['prevBtn']['disabled']=state['pagination']['offset']===0x0,elements['nextBtn']['disabled']=!state['pagination']['hasMore'],highlightSelectedCommit();}function getAuthorInitials(_0x5d5e04){if(!_0x5d5e04)return'?';const _0x16660a=_0x5d5e04['trim']()['split'](/\s+/);if(_0x16660a['length']===0x1)return _0x16660a[0x0]['charAt'](0x0)['toUpperCase']();return(_0x16660a[0x0]['charAt'](0x0)+_0x16660a[_0x16660a['length']-0x1]['charAt'](0x0))['toUpperCase']();}function getAvatarColor(_0x162c09){let _0x3d00b6=0x0;for(let _0xe99f67=0x0;_0xe99f67<_0x162c09['length'];_0xe99f67++){_0x3d00b6=_0x162c09['charCodeAt'](_0xe99f67)+((_0x3d00b6<<0x5)-_0x3d00b6);}const _0x169786=Math['abs'](_0x3d00b6%0x168);return'hsl('+_0x169786+',\x2065%,\x2055%)';}function truncateMessage(_0xa9b5a1,_0x534720){if(!_0xa9b5a1)return'';const _0x18235d=_0xa9b5a1['split']('\x0a')[0x0];if(_0x18235d['length']<=_0x534720)return _0x18235d;return _0x18235d['substring'](0x0,_0x534720-0x3)+'...';}function asFiniteNumber(_0x3089e1){return Number['isFinite'](_0x3089e1)?_0x3089e1:null;}function formatFileCountLabel(_0x1f07b3,_0x180970={}){const _0x4a8515=Boolean(_0x180970['lowerBound']),_0x4b4efd=_0x4a8515?'at\x20least\x20':'';return''+_0x4b4efd+_0x1f07b3+'\x20file'+(_0x1f07b3===0x1?'':'s');}function formatBytes(_0x557e0c){if(!Number['isFinite'](_0x557e0c)||_0x557e0c<=0x0)return'';const _0xee5d11=_0x557e0c/(0x400*0x400);if(_0xee5d11>=0x1)return _0xee5d11['toFixed'](0x1)+'MB';const _0x2037f9=_0x557e0c/0x400;return Math['max'](0x1,Math['round'](_0x2037f9))+'KB';}function getEffectiveDiffStats(_0x152230,_0x1daac4){const _0x29f781=asFiniteNumber(_0x1daac4?.['changedFiles']),_0x4c0094=asFiniteNumber(_0x1daac4?.['changedFilesLowerBound']),_0x25ae21=asFiniteNumber(_0x1daac4?.['additions']),_0x805097=asFiniteNumber(_0x1daac4?.['deletions']);return{'files':_0x29f781??_0x4c0094??_0x152230['files'],'filesIsLowerBound':_0x29f781===null&&_0x4c0094!==null,'additions':_0x25ae21??_0x152230['additions'],'deletions':_0x805097??_0x152230['deletions']};}function getDiffNoticeText(_0x4d6528){if(!_0x4d6528?.['truncated'])return'';if(_0x4d6528['omitted']){const _0x3be790=asFiniteNumber(_0x4d6528['changedFiles']),_0x3c2812=asFiniteNumber(_0x4d6528['changedFilesLowerBound']),_0x325e1e=asFiniteNumber(_0x4d6528['maxFiles']);if(_0x3be790!==null&&_0x325e1e!==null)return'Diff\x20omitted\x20because\x20this\x20commit\x20changes\x20'+_0x3be790['toLocaleString']()+'\x20files\x20(limit\x20'+_0x325e1e['toLocaleString']()+').';if(_0x3c2812!==null&&_0x325e1e!==null)return'Diff\x20omitted\x20because\x20this\x20commit\x20changes\x20at\x20least\x20'+_0x3c2812['toLocaleString']()+'\x20files\x20(limit\x20'+_0x325e1e['toLocaleString']()+').';if(_0x3c2812!==null)return'Diff\x20omitted\x20because\x20this\x20commit\x20changes\x20at\x20least\x20'+_0x3c2812['toLocaleString']()+'\x20files.';return'Diff\x20omitted\x20for\x20this\x20large\x20commit\x20to\x20keep\x20Git\x20History\x20responsive.';}const _0x3948f=asFiniteNumber(_0x4d6528['maxBytes']);if(_0x3948f!==null)return'Showing\x20a\x20truncated\x20diff\x20preview\x20('+formatBytes(_0x3948f)+'\x20max)\x20to\x20keep\x20Git\x20History\x20responsive.';return'Showing\x20a\x20truncated\x20diff\x20preview\x20to\x20keep\x20Git\x20History\x20responsive.';}function shouldUseLazyRendering(_0x16644b,_0x3078fc=null){const _0x14111e=asFiniteNumber(_0x3078fc?.['maxFiles']);return _0xa24d27(_0x16644b,{'minFiles':LAZY_RENDER_MIN_FILES,'maxFiles':LAZY_RENDER_MAX_FILES,'serverMaxFiles':_0x14111e});}function shouldAutoCollapseDiff(_0x4e4748){return _0xc4544b(_0x4e4748,{'threshold':AUTO_COLLAPSE_MIN_FILES});}function getLazyLoadMoreText(_0x1cd4a2){if(!_0x1cd4a2)return'Load\x20more\x20files';return _0x2f46ce({'filesLength':_0x1cd4a2['files']['length'],'renderedCount':_0x1cd4a2['renderedCount'],'chunkSize':_0x1cd4a2['chunkSize']});}function ensureLazyDiffFileRendered(_0x40122c){if(!state['diffRender']?.['lazy'])return;const _0x3e45fc=renderedCountForTarget({'renderedCount':state['diffRender']['renderedCount'],'targetIndex':_0x40122c,'totalFiles':state['diffRender']['files']['length'],'chunkSize':state['diffRender']['chunkSize']});while(state['diffRender']['renderedCount']<_0x3e45fc){renderNextDiffChunk();}}function updateLazyLoadMoreControl(){const _0x47e0b8=state['diffRender'];if(!_0x47e0b8?.['lazy']||!elements['diffContainer'])return;const _0x5add17=elements['diffContainer']['querySelector']('.diff-load-more-control');if(!_0x5add17)return;if(_0x47e0b8['renderedCount']>=_0x47e0b8['files']['length']){_0x5add17['innerHTML']='<span\x20class=\x22diff-load-complete\x22>All\x20'+formatFileCountLabel(_0x47e0b8['files']['length'])+'\x20loaded</span>';return;}_0x5add17['innerHTML']='<button\x20class=\x22btn-ghost\x20btn-small\x20diff-load-more-btn\x22\x20type=\x22button\x22>'+getLazyLoadMoreText(_0x47e0b8)+'</button>';const _0x1e57d5=_0x5add17['querySelector']('.diff-load-more-btn');_0x1e57d5?.['addEventListener']('click',()=>{renderNextDiffChunk();});}function renderNextDiffChunk(){const _0x3bb125=state['diffRender'];if(!_0x3bb125?.['lazy']||!elements['diffContainer'])return;if(_0x3bb125['renderedCount']>=_0x3bb125['files']['length'])return;const _0x1952e4=elements['diffContainer']['querySelector']('.diff-files-host');if(!_0x1952e4)return;const _0x3c160b=_0x3bb125['renderedCount'],_0x4829fc=getNextRenderedCount({'renderedCount':_0x3c160b,'totalFiles':_0x3bb125['files']['length'],'chunkSize':_0x3bb125['chunkSize']}),_0x38c334=_0x3bb125['files']['slice'](_0x3c160b,_0x4829fc),_0x1010a1=state['diffView']==='split'?renderSplitDiff(_0x38c334,_0x3bb125['storageKeyPrefix'],_0x3c160b,{'defaultCollapsed':_0x3bb125['defaultCollapsed']}):renderUnifiedDiff(_0x38c334,_0x3bb125['storageKeyPrefix'],_0x3c160b,{'defaultCollapsed':_0x3bb125['defaultCollapsed']});_0x1952e4['insertAdjacentHTML']('beforeend',_0x1010a1),_0x3bb125['renderedCount']=_0x4829fc,bindDiffToggleHandlers(_0x3bb125['storageKeyPrefix']),updateLazyLoadMoreControl();}function renderCommitDetail(){if(!state['commitDetail']||!state['commitDetail']['commit']){resetCommitDetail();return;}const _0x3a5131=state['commitDetail']['commit'];elements['commitMessage']['textContent']=_0x3a5131['message']||'No\x20message',elements['commitAuthor']['textContent']=''+(_0x3a5131['author']||'Unknown')+(_0x3a5131['email']?'\x20('+_0x3a5131['email']+')':''),elements['commitDate']['textContent']=formatDate(_0x3a5131['date']),elements['commitHash']['textContent']=_0x3a5131['hash'];const _0x1d2167=isSelectedCommitRemoteSource();elements['revertBtn']&&(elements['revertBtn']['hidden']=![],elements['revertBtn']['textContent']=_0x1d2167?'Revert\x20via\x20task':'Revert\x20commit',elements['revertBtn']['title']=_0x1d2167?'Create\x20a\x20task\x20that\x20applies\x20this\x20revert\x20and\x20stages\x20the\x20changes\x20for\x20approval':'');if(elements['viewOnProviderBtn']){const _0x15ce8b=getProviderCommitUrl(_0x3a5131['hash']);_0x15ce8b&&_0x1d2167?(elements['viewOnProviderBtn']['hidden']=![],elements['viewOnProviderBtn']['href']=_0x15ce8b,elements['viewOnProviderBtn']['textContent']='View\x20on\x20'+getProviderDisplayName()):elements['viewOnProviderBtn']['hidden']=!![];}const _0x59675e=_0x3a5131['parents']||[];_0x59675e['length']>0x1?(elements['mergeControls']['hidden']=![],elements['mainlineSelect']['innerHTML']='',_0x59675e['forEach']((_0x2e8556,_0x1443dd)=>{const _0x2b292e=document['createElement']('option');_0x2b292e['value']=String(_0x1443dd+0x1),_0x2b292e['textContent']='Parent\x20'+(_0x1443dd+0x1)+'\x20-\x20'+_0x2e8556['slice'](0x0,0x7),elements['mainlineSelect']['appendChild'](_0x2b292e);})):elements['mergeControls']['hidden']=!![];const _0x477cb2=state['commitDetail']['diffMeta']||null,_0x123310=_0x477cb2?.['omitted']?[]:parsePatchContent(state['commitDetail']['diff']||'');state['commitDetail']['files']=_0x123310;const _0x4f78b5=calculateDiffStats(_0x123310),_0x40640b=getEffectiveDiffStats(_0x4f78b5,_0x477cb2);elements['diffStats']['innerHTML']='\x0a\x20\x20\x20\x20<span\x20class=\x22diff-stat-files\x22>'+formatFileCountLabel(_0x40640b['files'],{'lowerBound':_0x40640b['filesIsLowerBound']})+'</span>\x0a\x20\x20\x20\x20<span\x20class=\x22diff-stat-separator\x22>|</span>\x0a\x20\x20\x20\x20<span\x20class=\x22diff-stat-add\x22>+'+_0x40640b['additions']['toLocaleString']()+'</span>\x0a\x20\x20\x20\x20<span\x20class=\x22diff-stat-del\x22>-'+_0x40640b['deletions']['toLocaleString']()+'</span>\x0a\x20\x20';elements['fileNavCount']&&(elements['fileNavCount']['textContent']=formatFileCountLabel(_0x40640b['files'],{'lowerBound':_0x40640b['filesIsLowerBound']}));if(elements['fileNavToggle']){const _0x3dbe5b=_0x123310['length']>0x0;elements['fileNavToggle']['disabled']=!_0x3dbe5b,elements['fileNavToggle']['setAttribute']('aria-disabled',String(!_0x3dbe5b)),elements['fileNavToggle']['title']=_0x3dbe5b?'Browse\x20changed\x20files':_0x477cb2?.['omitted']?'Diff\x20omitted\x20for\x20this\x20large\x20commit':'No\x20file\x20diff\x20to\x20browse',!_0x3dbe5b&&closeFileNav();}renderCommitDiff();}function renderCommitDiff(){if(!state['commitDetail']||!elements['diffContainer'])return;const _0x5c0205=state['commitDetail']['diffMeta']||null,_0x3aaf2c=getDiffNoticeText(_0x5c0205);state['diffRender']=null;if(_0x5c0205?.['omitted']){elements['diffContainer']['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22empty-state-card\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<h2>Diff\x20Omitted</h2>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<p\x20class=\x22text-muted\x22>'+Utils['escapeHtml'](_0x3aaf2c||'Diff\x20omitted\x20for\x20this\x20large\x20commit.')+'</p>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20';return;}const _0x365df3=state['commitDetail']['files']||parsePatchContent(state['commitDetail']['diff']||'');if(_0x365df3['length']===0x0){if(_0x5c0205?.['truncated']){elements['diffContainer']['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22empty-state-card\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h2>Diff\x20Truncated</h2>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p\x20class=\x22text-muted\x22>'+Utils['escapeHtml'](_0x3aaf2c||'Diff\x20output\x20is\x20truncated.')+'</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20';return;}elements['diffContainer']['innerHTML']='<div\x20class=\x22empty-state-card\x22>No\x20changes\x20in\x20this\x20commit.</div>';return;}const _0x464fed='git-history-'+state['commitDetail']['commit']['hash'],_0x5903cd=_0x5c0205?.['truncated']?'<div\x20class=\x22diff-truncated-banner\x22>'+Utils['escapeHtml'](_0x3aaf2c)+'</div>':'',_0x1c3ece=shouldUseLazyRendering(_0x365df3['length'],_0x5c0205),_0x17ceff=shouldAutoCollapseDiff(_0x365df3['length']);if(_0x1c3ece){state['diffRender']={'lazy':!![],'files':_0x365df3,'storageKeyPrefix':_0x464fed,'renderedCount':0x0,'chunkSize':LAZY_RENDER_CHUNK_SIZE,'defaultCollapsed':_0x17ceff};const _0x38701c=_0x17ceff?'Large\x20commit\x20detected\x20('+_0x365df3['length']['toLocaleString']()+'\x20files).\x20Files\x20are\x20collapsed\x20by\x20default\x20and\x20rendered\x20in\x20chunks.':'Large\x20commit\x20detected\x20('+_0x365df3['length']['toLocaleString']()+'\x20files).\x20Rendering\x20files\x20in\x20chunks\x20for\x20better\x20responsiveness.';elements['diffContainer']['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20'+_0x5903cd+'\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22diff-large-commit-banner\x22>'+Utils['escapeHtml'](_0x38701c)+'</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22diff-files-host\x22></div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22diff-load-more-control\x22></div>\x0a\x20\x20\x20\x20',renderNextDiffChunk();return;}const _0x4881bc=state['diffView']==='split'?renderSplitDiff(_0x365df3,_0x464fed,0x0,{'defaultCollapsed':_0x17ceff}):renderUnifiedDiff(_0x365df3,_0x464fed,0x0,{'defaultCollapsed':_0x17ceff});elements['diffContainer']['innerHTML']=''+_0x5903cd+_0x4881bc,bindDiffToggleHandlers(_0x464fed);}function resetCommitDetail(){state['selectedCommit']=null,state['commitDetail']=null,state['diffRender']=null,closeFileNav(),elements['placeholder']['hidden']=![],elements['detailPanel']['hidden']=!![];}function getSelectedRepoObject(){return state['repos']['find'](_0x1e6c96=>_0x1e6c96['name']===state['selectedRepo'])||null;}function getProviderDisplayName(){const _0x50d37e=getSelectedRepoObject(),_0x3e4d96=_0x50d37e?.['url']?.['toLowerCase']()||'';if(_0x3e4d96['includes']('github.com')||_0x3e4d96['includes']('github.'))return'GitHub';else{if(_0x3e4d96['includes']('gitlab.com')||_0x3e4d96['includes']('gitlab.'))return'GitLab';else{if(_0x3e4d96['includes']('bitbucket.org')||_0x3e4d96['includes']('bitbucket.'))return'Bitbucket';else{if(_0x3e4d96['includes']('dev.azure.com')||_0x3e4d96['includes']('visualstudio.com'))return'Azure\x20DevOps';}}}return'Provider';}function getProviderCommitUrl(_0x563d47){const _0x20b4cd=getSelectedRepoObject();if(!_0x20b4cd?.['url'])return null;let _0x421309=_0x20b4cd['url']['replace'](/\.git$/,'');_0x421309=_0x421309['replace'](/^(https?:\/\/)[^@]+@/,'$1');const _0x42d2c3=_0x421309['toLowerCase']();if(_0x42d2c3['includes']('gitlab.com')||_0x42d2c3['includes']('gitlab.'))return _0x421309+'/-/commit/'+_0x563d47;else{if(_0x42d2c3['includes']('bitbucket.org')||_0x42d2c3['includes']('bitbucket.'))return _0x421309+'/commits/'+_0x563d47;}return _0x421309+'/commit/'+_0x563d47;}function isSelectedCommitRemoteSource(){return state['commitDetail']?.['source']==='remote'||state['dataSource']==='remote';}function getSelectedBranchForRevertTask(){const _0x57b470=(state['selectedBranch']||'')['trim']();if(_0x57b470)return _0x57b470;const _0x87b5d2=(state['activeBranch']||'')['trim']();if(_0x87b5d2)return _0x87b5d2;const _0x3d31e3=(elements['branchName']?.['textContent']||'')['trim']();return _0x3d31e3||null;}function buildRemoteRevertTaskInstructions(_0x15ca9e,_0x223b95={}){const _0x187fe4=getSelectedBranchForRevertTask(),_0x47e57f=_0x223b95['mainline']||null,_0x39468c=Array['isArray'](_0x15ca9e['parents'])&&_0x15ca9e['parents']['length']>0x1,_0x1c74e1=_0x39468c?'git\x20revert\x20--no-commit\x20-m\x20'+(_0x47e57f||'1')+'\x20'+_0x15ca9e['hash']:'git\x20revert\x20--no-commit\x20'+_0x15ca9e['hash'],_0x1b1d50=['Please\x20revert\x20commit\x20'+_0x15ca9e['hash']+'\x20in\x20repository\x20\x22'+state['selectedRepo']+'\x22\x20for\x20environment\x20\x22'+state['selectedEnvironment']+'\x22.','','Requirements:','1.\x20Open\x20repository\x20\x22'+state['selectedRepo']+'\x22\x20(typically\x20under\x20/workspace).',_0x187fe4?'2.\x20Ensure\x20branch\x20\x22'+_0x187fe4+'\x22\x20is\x20checked\x20out\x20(fetch\x20first\x20if\x20needed).':'2.\x20Use\x20the\x20repository\x20branch\x20configured\x20for\x20this\x20environment.','3.\x20Run\x20`'+_0x1c74e1+'`.','4.\x20If\x20there\x20are\x20conflicts,\x20resolve\x20them\x20and\x20stage\x20the\x20resolved\x20files.','5.\x20Ensure\x20all\x20revert\x20changes\x20are\x20staged\x20(`git\x20add\x20-A`\x20as\x20needed).','6.\x20Do\x20NOT\x20run\x20`git\x20commit`\x20and\x20do\x20NOT\x20push.','7.\x20In\x20your\x20final\x20response,\x20report\x20success/failure\x20and\x20summarize\x20changed\x20files\x20and\x20conflicts.'];return _0x1b1d50['join']('\x0a');}function navigateToTask(_0x5034f6){const _0xa5053e='task.html?id='+encodeURIComponent(_0x5034f6),_0xdecc=localStorage['getItem'](OPEN_NEW_TAB_STORAGE_KEY)==='true';if(_0xdecc){const _0x4823c1=window['open'](_0xa5053e,'_blank');!_0x4823c1&&(window['location']['href']=_0xa5053e);return;}window['location']['href']=_0xa5053e;}async function createRemoteRevertTask(_0x56f1db,_0x1fb47c={}){const _0x5bd2dd=_0x56f1db['shortHash']||_0x56f1db['hash']['slice'](0x0,0x7),_0x16f59e=buildRemoteRevertTaskInstructions(_0x56f1db,_0x1fb47c),_0x53a412={'name':'Revert\x20'+_0x5bd2dd+'\x20in\x20'+state['selectedRepo'],'environment':state['selectedEnvironment'],'task_type':'manual','parameters':{'instructions':_0x16f59e}},_0x1257c=elements['revertBtn']?.['textContent']||'Revert\x20via\x20task';elements['revertBtn']&&(elements['revertBtn']['disabled']=!![],elements['revertBtn']['textContent']='Creating\x20task...');try{const _0x5acf8d=await API['createTask'](_0x53a412),_0xc7557f=_0x5acf8d?.['taskId'];if(!_0xc7557f)throw new Error('Task\x20created\x20but\x20no\x20task\x20ID\x20was\x20returned');Utils['showSuccess']('Revert\x20task\x20created'),navigateToTask(_0xc7557f);}catch(_0x54cc1f){if(_0x54cc1f?.['error']==='git_connections_required'&&Array['isArray'](_0x54cc1f['providers'])&&_0x54cc1f['providers']['length']>0x0){const _0x2c4321=_0x54cc1f['providers']['map'](_0x449c9e=>_0x449c9e['displayName']||_0x449c9e['provider']||_0x449c9e['name']||'provider')['join'](',\x20');throw new Error('Git\x20connection\x20required:\x20'+_0x2c4321+'.\x20Connect\x20account(s)\x20in\x20Settings\x20and\x20retry.');}throw _0x54cc1f;}finally{elements['revertBtn']&&(elements['revertBtn']['disabled']=![],elements['revertBtn']['textContent']=_0x1257c);}}function handleSearchInput(_0x2271c6){const _0x47f3a1=_0x2271c6['target']['value']['trim']();elements['clearSearchBtn']['hidden']=!_0x47f3a1,searchTimer&&clearTimeout(searchTimer),searchTimer=setTimeout(()=>{state['pagination']['search']=_0x47f3a1,state['pagination']['offset']=0x0,loadHistory();},SEARCH_DEBOUNCE_MS);}function clearSearch(){elements['searchInput']['value']='',elements['clearSearchBtn']['hidden']=!![],state['pagination']['search']='',state['pagination']['offset']=0x0,loadHistory();}function changePage(_0x4f5b8e){const _0x276205=state['pagination']['offset']+_0x4f5b8e*state['pagination']['limit'];if(_0x276205<0x0)return;state['pagination']['offset']=_0x276205,loadHistory({'keepSelection':![]});}async function handleCopyHash(){if(!state['commitDetail']?.['commit']?.['hash'])return;const _0xd1d1c0=await Utils['copyToClipboard'](state['commitDetail']['commit']['hash']);if(_0xd1d1c0)Utils['showSuccess']('Commit\x20hash\x20copied');}async function handleRevertCommit(){if(!state['commitDetail']?.['commit']?.['hash'])return;const _0x591ccc=state['commitDetail']['commit'],_0x45f2ff=_0x591ccc['shortHash']||_0x591ccc['hash']['slice'](0x0,0x7),_0x4a38da={};_0x591ccc['parents']&&_0x591ccc['parents']['length']>0x1&&(_0x4a38da['mainline']=elements['mainlineSelect']['value']||'1');if(isSelectedCommitRemoteSource()){const _0x5bfab0=getSelectedBranchForRevertTask(),_0x977bf5=_0x4a38da['mainline']?'\x20using\x20mainline\x20parent\x20'+_0x4a38da['mainline']:'',_0x217a15=_0x5bfab0?'\x20on\x20branch\x20\x22'+_0x5bfab0+'\x22':'',_0x2a6a45='Create\x20a\x20revert\x20task\x20for\x20commit\x20'+_0x45f2ff+_0x217a15+_0x977bf5+'?\x20The\x20task\x20will\x20apply\x20the\x20revert\x20without\x20committing\x20so\x20it\x20can\x20be\x20approved\x20and\x20pushed\x20later.',_0x537c68=await ConfirmDialog['show']({'title':'Create\x20Revert\x20Task','message':_0x2a6a45,'confirmText':'Create\x20Task','cancelText':'Cancel','danger':!![]});if(!_0x537c68)return;try{await createRemoteRevertTask(_0x591ccc,_0x4a38da);}catch(_0x55c636){Utils['showError'](_0x55c636['message']||'Failed\x20to\x20create\x20revert\x20task');}return;}const _0x15d209='Revert\x20commit\x20'+_0x45f2ff+'?\x20This\x20will\x20create\x20a\x20new\x20commit\x20that\x20undoes\x20these\x20changes.',_0x59db36=await ConfirmDialog['show']({'title':'Revert\x20Commit','message':_0x15d209,'confirmText':'Revert','cancelText':'Cancel','danger':!![]});if(!_0x59db36)return;try{await API['revertEnvironmentRepoCommit'](state['selectedEnvironment'],state['selectedRepo'],_0x591ccc['hash'],_0x4a38da),Utils['showSuccess']('Commit\x20reverted'),state['pagination']['offset']=0x0,await loadHistory({'keepSelection':![]});}catch(_0x1454cc){Utils['showError'](_0x1454cc['message']||'Failed\x20to\x20revert\x20commit');}}function parsePatchContent(_0x2eae37){const _0x42ab94=[],_0x5ac834=_0x2eae37['split']('\x0a');let _0x14b421=null,_0x457524=null;for(const _0x458be3 of _0x5ac834){if(_0x458be3['startsWith']('diff\x20--git')){_0x14b421&&_0x457524&&_0x14b421['hunks']['push'](_0x457524);_0x14b421&&_0x42ab94['push'](_0x14b421);const _0x460175=_0x458be3['match'](/diff --git a\/(.+?) b\/(.+)/);_0x14b421={'oldPath':_0x460175?_0x460175[0x1]:'','newPath':_0x460175?_0x460175[0x2]:'','hunks':[],'isDeleted':![]},_0x457524=null;}else{if(_0x458be3['startsWith']('deleted\x20file\x20mode')&&_0x14b421)_0x14b421['isDeleted']=!![];else{if(_0x458be3['startsWith']('@@'))_0x457524&&_0x14b421&&_0x14b421['hunks']['push'](_0x457524),_0x457524={'header':_0x458be3,'lines':[]};else _0x457524&&_0x457524['lines']['push'](_0x458be3);}}}return _0x14b421&&_0x457524&&_0x14b421['hunks']['push'](_0x457524),_0x14b421&&_0x42ab94['push'](_0x14b421),_0x42ab94;}function parseHunkHeader(_0x81916b){const _0x18fd55=_0x81916b['match'](/@@ -(\d+),?\d* \+(\d+),?\d* @@/);if(_0x18fd55)return{'oldStart':parseInt(_0x18fd55[0x1],0xa),'newStart':parseInt(_0x18fd55[0x2],0xa)};return{'oldStart':0x1,'newStart':0x1};}function highlightDiffLine(_0x35b1dd,_0x4d6a9e){const _0x456629=window['hljs']||(typeof hljs!=='undefined'?hljs:null);if(_0x456629&&_0x4d6a9e)try{const _0x1ab508=_0x456629['getLanguage'](_0x4d6a9e)?_0x4d6a9e:null;if(_0x1ab508)return _0x456629['highlight'](_0x35b1dd,{'language':_0x1ab508})['value'];}catch(_0x490a40){console['error']('Diff\x20syntax\x20highlighting\x20error:',_0x490a40);}return Utils['escapeHtml'](_0x35b1dd);}function computeWordDiff(_0x193e38,_0x25130d){const _0xdbff34=_0x58eb0a=>{const _0x3ec5e7=[];let _0x5aba78='',_0x4b6ea8=![];for(let _0x18f664=0x0;_0x18f664<_0x58eb0a['length'];_0x18f664++){const _0x438768=_0x58eb0a[_0x18f664],_0x44c49f=/\s/['test'](_0x438768);if(_0x5aba78==='')_0x5aba78=_0x438768,_0x4b6ea8=_0x44c49f;else _0x44c49f===_0x4b6ea8?_0x5aba78+=_0x438768:(_0x3ec5e7['push'](_0x5aba78),_0x5aba78=_0x438768,_0x4b6ea8=_0x44c49f);}return _0x5aba78&&_0x3ec5e7['push'](_0x5aba78),_0x3ec5e7;},_0x409e4c=_0xdbff34(_0x193e38),_0x1c0511=_0xdbff34(_0x25130d),_0x1d76d1=_0x409e4c['length'],_0x24b90c=_0x1c0511['length'],_0x3285c2=Array(_0x1d76d1+0x1)['fill'](null)['map'](()=>Array(_0x24b90c+0x1)['fill'](0x0));for(let _0xa2703b=0x1;_0xa2703b<=_0x1d76d1;_0xa2703b++){for(let _0x50f5a5=0x1;_0x50f5a5<=_0x24b90c;_0x50f5a5++){_0x409e4c[_0xa2703b-0x1]===_0x1c0511[_0x50f5a5-0x1]?_0x3285c2[_0xa2703b][_0x50f5a5]=_0x3285c2[_0xa2703b-0x1][_0x50f5a5-0x1]+0x1:_0x3285c2[_0xa2703b][_0x50f5a5]=Math['max'](_0x3285c2[_0xa2703b-0x1][_0x50f5a5],_0x3285c2[_0xa2703b][_0x50f5a5-0x1]);}}const _0x39cb07={'old':[],'new':[]};let _0x4ccfb9=_0x1d76d1,_0x542011=_0x24b90c;const _0xdc8471=[],_0x3a35ca=[];while(_0x4ccfb9>0x0||_0x542011>0x0){if(_0x4ccfb9>0x0&&_0x542011>0x0&&_0x409e4c[_0x4ccfb9-0x1]===_0x1c0511[_0x542011-0x1])_0xdc8471['unshift']({'type':'equal','text':_0x409e4c[_0x4ccfb9-0x1]}),_0x3a35ca['unshift']({'type':'equal','text':_0x1c0511[_0x542011-0x1]}),_0x4ccfb9--,_0x542011--;else{if(_0x542011>0x0&&(_0x4ccfb9===0x0||_0x3285c2[_0x4ccfb9][_0x542011-0x1]>=_0x3285c2[_0x4ccfb9-0x1][_0x542011]))_0x3a35ca['unshift']({'type':'insert','text':_0x1c0511[_0x542011-0x1]}),_0x542011--;else _0x4ccfb9>0x0&&(_0xdc8471['unshift']({'type':'delete','text':_0x409e4c[_0x4ccfb9-0x1]}),_0x4ccfb9--);}}return _0x39cb07['old']=_0xdc8471,_0x39cb07['new']=_0x3a35ca,_0x39cb07;}function renderDiffLineWithWordHighlight(_0x386dc3,_0x4a23e4,_0x4395f4,_0x1a4cc9){if(!_0x4a23e4||_0x4a23e4['length']===0x0)return highlightDiffLine(_0x386dc3,_0x1a4cc9);let _0x207f45='';const _0x3ef1fe=_0x4395f4==='add'?'diff-word-add':'diff-word-remove',_0x3d4a48=_0x4395f4==='add'?'insert':'delete';for(const _0x1ce22f of _0x4a23e4){const _0x52724d=Utils['escapeHtml'](_0x1ce22f['text']);_0x1ce22f['type']===_0x3d4a48?_0x207f45+='<span\x20class=\x22'+_0x3ef1fe+'\x22>'+_0x52724d+'</span>':_0x207f45+=_0x52724d;}return _0x207f45;}function getFileLanguage(_0x39074d){const _0xfc36a4=_0x39074d['split']('.')['pop']()['toLowerCase'](),_0x146b18={'js':'javascript','jsx':'javascript','ts':'typescript','tsx':'typescript','py':'python','java':'java','c':'c','cpp':'cpp','cs':'csharp','go':'go','rs':'rust','php':'php','rb':'ruby','html':'xml','css':'css','json':'json','yml':'yaml','yaml':'yaml','md':'markdown','sh':'bash','bash':'bash'};return _0x146b18[_0xfc36a4]||null;}function calculateDiffStats(_0x21d18c){let _0x118097=0x0,_0x1f3874=0x0,_0x1d37e1=0x0;return _0x21d18c['forEach'](_0x2ddf69=>{let _0x493261=0x0,_0x199c58=0x0;_0x2ddf69['hunks']['forEach'](_0x45963c=>{_0x45963c['lines']['forEach'](_0x1b2002=>{if(_0x1b2002['startsWith']('+'))_0x493261+=0x1;else{if(_0x1b2002['startsWith']('-'))_0x199c58+=0x1;}});}),(_0x493261+_0x199c58>0x0||_0x2ddf69['isDeleted'])&&(_0x1d37e1+=0x1),_0x118097+=_0x493261,_0x1f3874+=_0x199c58;}),{'additions':_0x118097,'deletions':_0x1f3874,'files':_0x1d37e1};}function renderUnifiedDiff(_0x50ce94,_0x116af3,_0x523cf7=0x0,_0x3fb1fb={}){return _0x50ce94['map']((_0x479e39,_0x182f50)=>{const _0x4b17c1=_0x523cf7+_0x182f50,_0x10d097=_0x479e39['newPath']||_0x479e39['oldPath']||'unknown',_0x516c78='diff-'+_0x116af3+'-'+_0x4b17c1,_0x259eed=getFileLanguage(_0x10d097),{additions:_0x1b37da,deletions:_0x482496}=calculateDiffStats([_0x479e39]),_0xb94b2=getCollapsedState(_0x116af3,_0x10d097,_0x3fb1fb['defaultCollapsed']),_0x404674=getFileStatus(_0x479e39,_0x1b37da,_0x482496),_0x209bb0=_0x404674==='added'?'A':_0x404674==='deleted'?'D':'M',_0x3f349f=_0x479e39['hunks']['map'](_0x3845b6=>{const {oldStart:_0x3abee0,newStart:_0x1eb2e7}=parseHunkHeader(_0x3845b6['header']);let _0x201198=_0x3abee0,_0x40b28b=_0x1eb2e7;const _0x1b64f8=_0x3845b6['lines']['map'](_0x51cfef=>({'line':_0x51cfef,'type':_0x51cfef['startsWith']('+')?'add':_0x51cfef['startsWith']('-')?'remove':_0x51cfef['startsWith']('\x5c')?'meta':'context'}));let _0x1abb2e=0x0;while(_0x1abb2e<_0x1b64f8['length']){if(_0x1b64f8[_0x1abb2e]['type']==='remove'){let _0x29f88f=_0x1abb2e,_0x47161e=_0x1abb2e;while(_0x47161e<_0x1b64f8['length']&&_0x1b64f8[_0x47161e]['type']==='remove')_0x47161e++;let _0x4ac630=_0x47161e,_0xa9991d=_0x4ac630;while(_0xa9991d<_0x1b64f8['length']&&_0x1b64f8[_0xa9991d]['type']==='add')_0xa9991d++;const _0x5e032b=_0x47161e-_0x29f88f,_0x2ed70a=_0xa9991d-_0x4ac630,_0x5015bc=Math['min'](_0x5e032b,_0x2ed70a);for(let _0x3f837b=0x0;_0x3f837b<_0x5015bc;_0x3f837b++){const _0x27f9f9=_0x1b64f8[_0x29f88f+_0x3f837b]['line']['substring'](0x1),_0x2f10e4=_0x1b64f8[_0x4ac630+_0x3f837b]['line']['substring'](0x1),_0x4a3d67=computeWordDiff(_0x27f9f9,_0x2f10e4);_0x1b64f8[_0x29f88f+_0x3f837b]['wordDiff']=_0x4a3d67['old'],_0x1b64f8[_0x4ac630+_0x3f837b]['wordDiff']=_0x4a3d67['new'];}_0x1abb2e=_0xa9991d;}else _0x1abb2e++;}const _0x5788f2=_0x1b64f8['map'](_0x102eab=>{const _0x50ec41=_0x102eab['line'];if(_0x50ec41['startsWith']('+')){const _0x36eca7=_0x50ec41['substring'](0x1),_0x4d5300=_0x102eab['wordDiff']?renderDiffLineWithWordHighlight(_0x36eca7,_0x102eab['wordDiff'],'add',_0x259eed):highlightDiffLine(_0x36eca7,_0x259eed),_0x25dafb='<div\x20class=\x22diff-line\x20diff-add\x22><span\x20class=\x22diff-line-num\x20diff-line-num-old\x22></span><span\x20class=\x22diff-line-num\x20diff-line-num-new\x22>'+_0x40b28b+'</span><span\x20class=\x22diff-line-content\x22><span\x20class=\x22diff-prefix\x22>+</span>'+_0x4d5300+'</span></div>';return _0x40b28b+=0x1,_0x25dafb;}if(_0x50ec41['startsWith']('-')){const _0x45fd0e=_0x50ec41['substring'](0x1),_0x1bc6b9=_0x102eab['wordDiff']?renderDiffLineWithWordHighlight(_0x45fd0e,_0x102eab['wordDiff'],'remove',_0x259eed):highlightDiffLine(_0x45fd0e,_0x259eed),_0x3fb564='<div\x20class=\x22diff-line\x20diff-remove\x22><span\x20class=\x22diff-line-num\x20diff-line-num-old\x22>'+_0x201198+'</span><span\x20class=\x22diff-line-num\x20diff-line-num-new\x22></span><span\x20class=\x22diff-line-content\x22><span\x20class=\x22diff-prefix\x22>-</span>'+_0x1bc6b9+'</span></div>';return _0x201198+=0x1,_0x3fb564;}if(_0x50ec41['startsWith']('\x5c'))return'<div\x20class=\x22diff-line\x20diff-meta\x22><span\x20class=\x22diff-line-num\x20diff-line-num-old\x22></span><span\x20class=\x22diff-line-num\x20diff-line-num-new\x22></span><span\x20class=\x22diff-line-content\x22>'+Utils['escapeHtml'](_0x50ec41)+'</span></div>';const _0x5143ce=_0x50ec41['startsWith']('\x20')?_0x50ec41['substring'](0x1):_0x50ec41,_0x226dae=highlightDiffLine(_0x5143ce,_0x259eed),_0x308214='<div\x20class=\x22diff-line\x20diff-context\x22><span\x20class=\x22diff-line-num\x20diff-line-num-old\x22>'+_0x201198+'</span><span\x20class=\x22diff-line-num\x20diff-line-num-new\x22>'+_0x40b28b+'</span><span\x20class=\x22diff-line-content\x22>\x20'+_0x226dae+'</span></div>';return _0x201198+=0x1,_0x40b28b+=0x1,_0x308214;})['join']('');return'<div\x20class=\x22diff-hunk\x22><div\x20class=\x22diff-hunk-header\x22>'+Utils['escapeHtml'](_0x3845b6['header'])+'</div>'+_0x5788f2+'</div>';})['join'](''),_0x33a180=_0x3f349f||'<div\x20class=\x22diff-hunk\x22><div\x20class=\x22diff-hunk-header\x22>No\x20textual\x20diff\x20available</div></div>';return'\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22file-diff\x22\x20id=\x22file-'+_0x516c78+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22file-diff-header\x22\x20data-diff-id=\x22'+_0x516c78+'\x22\x20data-file-name=\x22'+Utils['escapeHtml'](_0x10d097)+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22file-diff-title\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-status-badge\x20'+_0x404674+'\x22>'+_0x209bb0+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-diff-name\x22>'+Utils['escapeHtml'](_0x10d097)+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-diff-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22diff-add\x22>+'+_0x1b37da+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22diff-del\x22>-'+_0x482496+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22file-diff-toggle-btn\x22\x20data-diff-id=\x22'+_0x516c78+'\x22\x20data-collapsed=\x22'+_0xb94b2+'\x22\x20type=\x22button\x22\x20aria-label=\x22'+(_0xb94b2?'Expand':'Collapse')+'\x22></button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22file-diff-content\x20'+(_0xb94b2?'collapsed':'')+'\x22\x20id=\x22'+_0x516c78+'\x22>'+_0x33a180+'</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20';})['join']('');}function renderSplitDiff(_0x1f5c6a,_0xf12bfc,_0x19fc0b=0x0,_0x94222f={}){return _0x1f5c6a['map']((_0x26eca7,_0x2801aa)=>{const _0x2d31e9=_0x19fc0b+_0x2801aa,_0x35e67e=_0x26eca7['newPath']||_0x26eca7['oldPath']||'unknown',_0x230d7e='diff-'+_0xf12bfc+'-'+_0x2d31e9,_0x5a2544=getFileLanguage(_0x35e67e),{additions:_0x9f04bb,deletions:_0x4c4784}=calculateDiffStats([_0x26eca7]),_0x422196=getCollapsedState(_0xf12bfc,_0x35e67e,_0x94222f['defaultCollapsed']),_0x54f4b1=getFileStatus(_0x26eca7,_0x9f04bb,_0x4c4784),_0x30bafa=_0x54f4b1==='added'?'A':_0x54f4b1==='deleted'?'D':'M',_0x2e3fbf=_0x26eca7['hunks']['map'](_0x4b3cc8=>{const {oldStart:_0x367341,newStart:_0x3ba76f}=parseHunkHeader(_0x4b3cc8['header']);let _0x36a4fd=_0x367341,_0x2e6539=_0x3ba76f;const _0x1f8678=[],_0x542667=_0x4b3cc8['lines'];let _0x1fb74e=0x0;while(_0x1fb74e<_0x542667['length']){const _0x298148=_0x542667[_0x1fb74e];if(_0x298148['startsWith']('\x20')){const _0x1044a1=_0x298148['substring'](0x1);_0x1f8678['push'](renderSplitRow({'type':'context','lineNum':_0x36a4fd,'content':_0x1044a1},{'type':'context','lineNum':_0x2e6539,'content':_0x1044a1},_0x5a2544)),_0x36a4fd+=0x1,_0x2e6539+=0x1,_0x1fb74e+=0x1;continue;}if(_0x298148['startsWith']('-')){const _0x543e5b=[];while(_0x1fb74e<_0x542667['length']&&_0x542667[_0x1fb74e]['startsWith']('-')){_0x543e5b['push'](_0x542667[_0x1fb74e]['substring'](0x1)),_0x1fb74e+=0x1;}const _0x245a57=[];let _0x99ec8c=_0x1fb74e;while(_0x99ec8c<_0x542667['length']&&_0x542667[_0x99ec8c]['startsWith']('+')){_0x245a57['push'](_0x542667[_0x99ec8c]['substring'](0x1)),_0x99ec8c+=0x1;}const _0x45d9dd=Math['max'](_0x543e5b['length'],_0x245a57['length']);for(let _0x5e7a39=0x0;_0x5e7a39<_0x45d9dd;_0x5e7a39++){const _0x1a56b2=_0x543e5b[_0x5e7a39]?{'type':'remove','lineNum':_0x36a4fd++,'content':_0x543e5b[_0x5e7a39]}:{'type':'empty','lineNum':'','content':''},_0xcada1e=_0x245a57[_0x5e7a39]?{'type':'add','lineNum':_0x2e6539++,'content':_0x245a57[_0x5e7a39]}:{'type':'empty','lineNum':'','content':''};_0x1f8678['push'](renderSplitRow(_0x1a56b2,_0xcada1e,_0x5a2544));}_0x1fb74e=_0x99ec8c;continue;}if(_0x298148['startsWith']('+')){const _0x3cbdef=[];while(_0x1fb74e<_0x542667['length']&&_0x542667[_0x1fb74e]['startsWith']('+')){_0x3cbdef['push'](_0x542667[_0x1fb74e]['substring'](0x1)),_0x1fb74e+=0x1;}_0x3cbdef['forEach'](_0x5b8463=>{_0x1f8678['push'](renderSplitRow({'type':'empty','lineNum':'','content':''},{'type':'add','lineNum':_0x2e6539++,'content':_0x5b8463},_0x5a2544));});continue;}if(_0x298148['startsWith']('\x5c')){_0x1f8678['push'](renderSplitRow({'type':'meta','lineNum':'','content':_0x298148},{'type':'meta','lineNum':'','content':_0x298148},_0x5a2544)),_0x1fb74e+=0x1;continue;}_0x1fb74e+=0x1;}const _0x568e7e=_0x1f8678['join']('')||'<div\x20class=\x22diff-hunk\x22>No\x20textual\x20diff\x20available</div>';return'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22diff-hunk\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22diff-hunk-header\x22>'+Utils['escapeHtml'](_0x4b3cc8['header'])+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22split-diff-table\x22>'+_0x568e7e+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20';})['join'](''),_0x4bba10=_0x2e3fbf||'<div\x20class=\x22diff-hunk\x22><div\x20class=\x22diff-hunk-header\x22>No\x20textual\x20diff\x20available</div></div>';return'\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22file-diff\x22\x20id=\x22file-'+_0x230d7e+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22file-diff-header\x22\x20data-diff-id=\x22'+_0x230d7e+'\x22\x20data-file-name=\x22'+Utils['escapeHtml'](_0x35e67e)+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22file-diff-title\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-status-badge\x20'+_0x54f4b1+'\x22>'+_0x30bafa+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-diff-name\x22>'+Utils['escapeHtml'](_0x35e67e)+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-diff-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22diff-add\x22>+'+_0x9f04bb+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22diff-del\x22>-'+_0x4c4784+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22file-diff-toggle-btn\x22\x20data-diff-id=\x22'+_0x230d7e+'\x22\x20data-collapsed=\x22'+_0x422196+'\x22\x20type=\x22button\x22\x20aria-label=\x22'+(_0x422196?'Expand':'Collapse')+'\x22></button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22file-diff-content\x20'+(_0x422196?'collapsed':'')+'\x22\x20id=\x22'+_0x230d7e+'\x22>'+_0x4bba10+'</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20';})['join']('');}function renderSplitRow(_0x49e1b7,_0x186a88,_0x464421){return'\x0a\x20\x20\x20\x20<div\x20class=\x22split-diff-row\x22>\x0a\x20\x20\x20\x20\x20\x20'+renderSplitCell(_0x49e1b7,_0x464421)+'\x0a\x20\x20\x20\x20\x20\x20'+renderSplitCell(_0x186a88,_0x464421)+'\x0a\x20\x20\x20\x20</div>\x0a\x20\x20';}function renderSplitCell(_0x358d4f,_0x437bbc){const _0x89d4ed='split-'+_0x358d4f['type'],_0x4cd97b=_0x358d4f['lineNum']===0x0?'':_0x358d4f['lineNum'];let _0x3056d0=' ';if(_0x358d4f['type']==='meta')_0x3056d0=Utils['escapeHtml'](_0x358d4f['content']);else _0x358d4f['type']!=='empty'&&(_0x3056d0=highlightDiffLine(_0x358d4f['content'],_0x437bbc));return'\x0a\x20\x20\x20\x20<div\x20class=\x22split-diff-cell\x20'+_0x89d4ed+'\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22split-line-num\x22>'+_0x4cd97b+'</span>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22split-line-content\x22>'+_0x3056d0+'</span>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20';}function bindDiffToggleHandlers(_0x380bc3){const _0x4b831e=elements['diffContainer']['querySelectorAll']('.file-diff-header');_0x4b831e['forEach'](_0x37acc1=>{if(_0x37acc1['dataset']['bound']==='true')return;_0x37acc1['dataset']['bound']='true',_0x37acc1['addEventListener']('click',_0x5c01d9=>{if(_0x5c01d9['target']['closest']('.file-diff-toggle-btn'))return;const _0x3cc337=_0x37acc1['dataset']['diffId'];toggleDiff(_0x3cc337,_0x37acc1['dataset']['fileName'],_0x380bc3);});});const _0x53c050=elements['diffContainer']['querySelectorAll']('.file-diff-toggle-btn');_0x53c050['forEach'](_0x4f7d75=>{if(_0x4f7d75['dataset']['bound']==='true')return;_0x4f7d75['dataset']['bound']='true',_0x4f7d75['addEventListener']('click',_0x470aa2=>{_0x470aa2['stopPropagation']();const _0x2ffc3b=elements['diffContainer']['querySelector']('.file-diff-header[data-diff-id=\x22'+_0x4f7d75['dataset']['diffId']+'\x22]'),_0x4c55f2=_0x2ffc3b?.['dataset']['fileName']||'';toggleDiff(_0x4f7d75['dataset']['diffId'],_0x4c55f2,_0x380bc3);});});}function toggleDiff(_0x35504f,_0x182db2,_0x5a7504){const _0x4b4285=document['getElementById'](_0x35504f),_0x514205=elements['diffContainer']['querySelector']('.file-diff-header[data-diff-id=\x22'+_0x35504f+'\x22]'),_0x5052be=_0x514205?.['querySelector']('.file-diff-toggle-btn');if(!_0x4b4285)return;const _0x10c5e5=_0x4b4285['classList']['toggle']('collapsed');_0x5052be&&(_0x5052be['dataset']['collapsed']=String(_0x10c5e5),_0x5052be['setAttribute']('aria-label',_0x10c5e5?'Expand':'Collapse'));const _0x8e6f08=getStorageKey(_0x5a7504,_0x182db2);localStorage['setItem'](_0x8e6f08,String(_0x10c5e5));}function setAllDiffCollapsed(_0x1bb047){if(!state['commitDetail']?.['commit']?.['hash'])return;const _0x1ff8dc='git-history-'+state['commitDetail']['commit']['hash'];if(state['diffRender']?.['files']?.['length']){const _0x347f07=buildCollapsedStateUpdates({'files':state['diffRender']['files'],'collapsed':_0x1bb047,'storageKeyPrefix':_0x1ff8dc,'getStorageKey':getStorageKey});_0x347f07['forEach'](({key:_0x41a87e,value:_0x4b34c6})=>{localStorage['setItem'](_0x41a87e,_0x4b34c6);});}const _0x38c68c=elements['diffContainer']['querySelectorAll']('.file-diff-content');_0x38c68c['forEach'](_0x137864=>{_0x137864['classList']['toggle']('collapsed',_0x1bb047);const _0x49486c=elements['diffContainer']['querySelector']('.file-diff-header[data-diff-id=\x22'+_0x137864['id']+'\x22]'),_0x47f814=_0x49486c?.['querySelector']('.file-diff-toggle-btn'),_0x15d22b=_0x49486c?.['dataset']['fileName']||'';_0x47f814&&(_0x47f814['dataset']['collapsed']=String(_0x1bb047),_0x47f814['setAttribute']('aria-label',_0x1bb047?'Expand':'Collapse')),_0x15d22b&&localStorage['setItem'](getStorageKey(_0x1ff8dc,_0x15d22b),String(_0x1bb047));});}function getStorageKey(_0x313f2f,_0x6f6d9b){return _0x313f2f+'-'+safeBase64(_0x6f6d9b);}function getCollapsedState(_0x4d4ade,_0x213fdf,_0x568287=![]){const _0x1873ce=localStorage['getItem'](getStorageKey(_0x4d4ade,_0x213fdf));if(_0x1873ce===null)return Boolean(_0x568287);return _0x1873ce==='true';}function safeBase64(_0x35c7af){try{return btoa(unescape(encodeURIComponent(_0x35c7af)));}catch(_0x4380f5){return btoa(_0x35c7af);}}function formatDate(_0xf91cff){if(!_0xf91cff)return'';const _0x4cc6e7=new Date(_0xf91cff);if(Number['isNaN'](_0x4cc6e7['getTime']()))return _0xf91cff;return _0x4cc6e7['toLocaleString']('en-US',{'month':'short','day':'numeric','year':'numeric','hour':'2-digit','minute':'2-digit'});}function renderLoadingSkeletons(_0x1fce41){return Array(_0x1fce41)['fill'](0x0)['map'](()=>'\x0a\x20\x20\x20\x20<li\x20class=\x22commit-item\x20commit-item-skeleton\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22skeleton\x20skeleton-message\x22></div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22skeleton-meta\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22skeleton\x20skeleton-avatar\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22skeleton\x20skeleton-text\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22skeleton\x20skeleton-text-short\x22></div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</li>\x0a\x20\x20')['join']('');}function toggleFileNav(_0x29eab4){if(elements['fileNavToggle']?.['disabled'])return;_0x29eab4['stopPropagation']();const _0xfb5b20=elements['fileNavSidebar']?.['classList']['toggle']('open');_0xfb5b20&&renderFileNavList();}function closeFileNav(){elements['fileNavSidebar']?.['classList']['remove']('open');}function toggleMaximize(){if(!elements['gitHistoryBody'])return;const _0x23e3b7=elements['gitHistoryBody']['classList']['toggle']('maximized'),_0x1c2b64=elements['maximizeBtn']?.['querySelector']('.maximize-icon'),_0x2badb=elements['maximizeBtn']?.['querySelector']('.restore-icon');_0x1c2b64&&_0x2badb&&(_0x1c2b64['hidden']=_0x23e3b7,_0x2badb['hidden']=!_0x23e3b7),elements['maximizeBtn']&&(elements['maximizeBtn']['title']=_0x23e3b7?'Restore\x20diff\x20panel\x20(Esc\x20or\x20m)':'Maximize\x20diff\x20panel\x20(m)'),localStorage['setItem']('git-history-maximized',String(_0x23e3b7));}function renderFileNavList(){if(!state['commitDetail']?.['files']||!elements['fileNavList'])return;const _0x5261a8=state['commitDetail']['files'];elements['fileNavList']['innerHTML']=_0x5261a8['map']((_0x2c4962,_0x2c8d68)=>{const _0x3bdd1b=_0x2c4962['newPath']||_0x2c4962['oldPath']||'unknown',_0x522b21=_0x3bdd1b['split']('/')['pop'](),{additions:_0x1a4716,deletions:_0x5a4756}=calculateDiffStats([_0x2c4962]),_0x2f5b69=getFileStatus(_0x2c4962,_0x1a4716,_0x5a4756),_0x18a5e4=getStatusIcon(_0x2f5b69);return'\x0a\x20\x20\x20\x20\x20\x20<li\x20class=\x22file-nav-item\x22\x20data-file-idx=\x22'+_0x2c8d68+'\x22\x20data-file-name=\x22'+Utils['escapeHtml'](_0x3bdd1b)+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-nav-icon\x20'+_0x2f5b69+'\x22>'+_0x18a5e4+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-nav-name\x22\x20title=\x22'+Utils['escapeHtml'](_0x3bdd1b)+'\x22>'+Utils['escapeHtml'](_0x522b21)+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22file-nav-stats\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x1a4716>0x0?'<span\x20class=\x22add\x22>+'+_0x1a4716+'</span>':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x5a4756>0x0?'<span\x20class=\x22del\x22>-'+_0x5a4756+'</span>':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20</li>\x0a\x20\x20\x20\x20';})['join'](''),elements['fileNavList']['querySelectorAll']('.file-nav-item')['forEach'](_0x38ad6d=>{_0x38ad6d['addEventListener']('click',()=>{const _0x2a747e=parseInt(_0x38ad6d['dataset']['fileIdx']||'0',0xa),_0x3516d9='git-history-'+state['commitDetail']['commit']['hash'],_0x4ff087='diff-'+_0x3516d9+'-'+_0x2a747e;ensureLazyDiffFileRendered(_0x2a747e);const _0x307c5b=document['getElementById'](_0x4ff087);if(_0x307c5b){if(_0x307c5b['classList']['contains']('collapsed')){const _0x452aaf=elements['diffContainer']['querySelector']('.file-diff-header[data-diff-id=\x22'+_0x4ff087+'\x22]'),_0x12f77e=_0x452aaf?.['dataset']['fileName']||'';toggleDiff(_0x4ff087,_0x12f77e,_0x3516d9);}const _0x494e5e=_0x307c5b['closest']('.file-diff');_0x494e5e&&(_0x494e5e['scrollIntoView']({'behavior':'smooth','block':'start'}),_0x494e5e['classList']['add']('highlighted'),setTimeout(()=>_0x494e5e['classList']['remove']('highlighted'),0x5dc));}closeFileNav();});});}function getFileStatus(_0x3f5f08,_0x55947d,_0x545979){if(_0x3f5f08['isDeleted'])return'deleted';if(_0x55947d>0x0&&_0x545979===0x0)return'added';return'modified';}function getStatusIcon(_0x58347a){switch(_0x58347a){case'added':return'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22><line\x20x1=\x2212\x22\x20y1=\x225\x22\x20x2=\x2212\x22\x20y2=\x2219\x22/><line\x20x1=\x225\x22\x20y1=\x2212\x22\x20x2=\x2219\x22\x20y2=\x2212\x22/></svg>';case'deleted':return'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22><line\x20x1=\x225\x22\x20y1=\x2212\x22\x20x2=\x2219\x22\x20y2=\x2212\x22/></svg>';default:return'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22><path\x20d=\x22M11\x204H4a2\x202\x200\x200\x200-2\x202v14a2\x202\x200\x200\x200\x202\x202h14a2\x202\x200\x200\x200\x202-2v-7\x22/><path\x20d=\x22M18.5\x202.5a2.121\x202.121\x200\x200\x201\x203\x203L12\x2015l-4\x201\x201-4\x209.5-9.5z\x22/></svg>';}}function detectCommitType(_0x1140b8){if(!_0x1140b8)return null;const _0x5a93a2=_0x1140b8['toLowerCase']();if(/^feat(\(|:|\s)/['test'](_0x5a93a2)||_0x5a93a2['includes']('add\x20')||_0x5a93a2['includes']('implement'))return'feat';if(/^fix(\(|:|\s)/['test'](_0x5a93a2)||_0x5a93a2['includes']('bug')||_0x5a93a2['includes']('patch'))return'fix';if(/^refactor(\(|:|\s)/['test'](_0x5a93a2)||_0x5a93a2['includes']('refactor')||_0x5a93a2['includes']('restructure'))return'refactor';if(/^docs?(\(|:|\s)/['test'](_0x5a93a2)||_0x5a93a2['includes']('readme')||_0x5a93a2['includes']('documentation'))return'docs';if(/^test(\(|:|\s)/['test'](_0x5a93a2)||_0x5a93a2['includes']('test'))return'test';if(/^chore(\(|:|\s)/['test'](_0x5a93a2)||_0x5a93a2['includes']('chore')||_0x5a93a2['includes']('update\x20dep'))return'chore';return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{API,Utils}from'./app.js';export function updateGitStatusIndicator(_0x3caf18,_0x5384e6){const {statusIcon:_0x15c3fb,statusText:_0x46997f,branchText:_0x4a1975,authBadge:_0x1bbe6e,container:_0x202d16,commitBtn:_0x122c07,discardBtn:_0x40f42e}=_0x3caf18;if(_0x5384e6['hasUncommittedChanges']){_0x15c3fb['textContent']='⚠️',_0x46997f['textContent']='Uncommitted\x20changes';_0x202d16&&(_0x202d16['style']['cursor']='pointer',_0x202d16['title']='Click\x20to\x20view\x20uncommitted\x20changes');if(_0x122c07)_0x122c07['disabled']=![];if(_0x40f42e)_0x40f42e['disabled']=![];}else{if(_0x5384e6['ahead']>0x0){_0x15c3fb['textContent']='📤',_0x46997f['textContent']=_0x5384e6['ahead']+'\x20ahead';_0x202d16&&(_0x202d16['style']['cursor']='default',_0x202d16['title']='Repository\x20git\x20status');if(_0x122c07)_0x122c07['disabled']=!![];if(_0x40f42e)_0x40f42e['disabled']=!![];}else{if(_0x5384e6['behind']>0x0){_0x15c3fb['textContent']='📥',_0x46997f['textContent']=_0x5384e6['behind']+'\x20behind';_0x202d16&&(_0x202d16['style']['cursor']='default',_0x202d16['title']='Repository\x20git\x20status');if(_0x122c07)_0x122c07['disabled']=!![];if(_0x40f42e)_0x40f42e['disabled']=!![];}else{_0x15c3fb['textContent']='✓',_0x46997f['textContent']='Synced';_0x202d16&&(_0x202d16['style']['cursor']='default',_0x202d16['title']='Repository\x20git\x20status');if(_0x122c07)_0x122c07['disabled']=!![];if(_0x40f42e)_0x40f42e['disabled']=!![];}}}_0x4a1975&&(_0x4a1975['textContent']=_0x5384e6['branch']||'');if(_0x1bbe6e){const _0x17a183=_0x5384e6['setupRepoAuth']?.['mode'];_0x1bbe6e['classList']['remove']('auth-provider','auth-local','auth-user');if(_0x17a183==='provider')_0x1bbe6e['textContent']='App\x20Auth',_0x1bbe6e['classList']['add']('auth-provider'),_0x1bbe6e['title']=_0x5384e6['setupRepoAuth']?.['provider']?'Setup\x20repository\x20auth:\x20Git\x20Provider\x20app\x20('+_0x5384e6['setupRepoAuth']['provider']+')':'Setup\x20repository\x20auth:\x20Git\x20Provider\x20app';else _0x17a183==='user'?(_0x1bbe6e['textContent']='User\x20Auth',_0x1bbe6e['classList']['add']('auth-user'),_0x1bbe6e['title']=_0x5384e6['setupRepoAuth']?.['provider']?'Setup\x20repository\x20auth:\x20User\x20OAuth\x20('+_0x5384e6['setupRepoAuth']['provider']+')':'Setup\x20repository\x20auth:\x20User\x20OAuth'):(_0x1bbe6e['textContent']='Local\x20Auth',_0x1bbe6e['classList']['add']('auth-local'),_0x1bbe6e['title']='Setup\x20repository\x20auth:\x20Local\x20host\x20git\x20credentials');_0x1bbe6e['hidden']=![];}}export function showGitStatusError(_0x52fa00){const {statusIcon:_0x1812de,statusText:_0x583184,authBadge:_0x2da5dc}=_0x52fa00;_0x1812de['textContent']='❌',_0x583184['textContent']='Error',_0x2da5dc&&(_0x2da5dc['hidden']=!![]);}export function getFileStatusSymbol(_0x3af6f1){if(_0x3af6f1['includes']('M'))return'📝';if(_0x3af6f1['includes']('A'))return'➕';if(_0x3af6f1['includes']('D'))return'➖';return'📄';}export function renderChangedFilesList(_0x132ee6,_0x1f7fe3,_0x5f2a60='No\x20changes',_0x150356=![],_0x5d3d5e=null){if(!_0x1f7fe3||_0x1f7fe3['length']===0x0){_0x132ee6['innerHTML']='<li\x20class=\x22text-muted\x22>'+Utils['escapeHtml'](_0x5f2a60)+'</li>';return;}const _0x587e42=_0x5d3d5e?'\x20changed-file-clickable':'';_0x132ee6['innerHTML']=_0x1f7fe3['map'](_0x299c90=>{const _0x13cc58=getFileStatusSymbol(_0x299c90['status']);let _0x5ea27b=_0x299c90['filename'];return _0x150356&&_0x299c90['filename']['endsWith']('/')&&(_0x5ea27b=_0x299c90['filename']+'\x20(new\x20directory\x20with\x20contents)'),'<li\x20class=\x22changed-file-item'+_0x587e42+'\x22\x20data-filename=\x22'+Utils['escapeHtml'](_0x299c90['filename'])+'\x22>'+_0x13cc58+'\x20'+Utils['escapeHtml'](_0x5ea27b)+'</li>';})['join'](''),_0x5d3d5e&&_0x132ee6['querySelectorAll']('.changed-file-clickable')['forEach'](_0x5c0cba=>{_0x5c0cba['addEventListener']('click',()=>{_0x5d3d5e(_0x5c0cba['dataset']['filename'],_0x5c0cba);});});}export function showUncommittedChangesModal(_0x1d0476,_0x10f194,_0x208565,_0x3cea3d=null){renderChangedFilesList(_0x10f194,_0x208565,'No\x20uncommitted\x20changes',!![],_0x3cea3d),_0x1d0476['hidden']=![];}export function showCommitModal(_0x3a7eec,_0x15a375){const {userNameEl:_0xfc85c3,userEmailEl:_0x18cae3,filesListEl:_0xe381cd,messageEl:_0x5f2c51,pushCheckboxEl:_0x49e704,errorEl:_0x4cf8c6,user:_0x5c24b4,changedFiles:_0x4675c2}=_0x15a375;if(_0x4cf8c6)_0x4cf8c6['hidden']=!![];_0x5c24b4&&_0xfc85c3&&(_0xfc85c3['textContent']=_0x5c24b4['name']||_0x5c24b4['username']);_0x5c24b4&&_0x18cae3&&(_0x18cae3['textContent']=_0x5c24b4['email']||'');renderChangedFilesList(_0xe381cd,_0x4675c2,'No\x20changes\x20to\x20commit',![],_0x15a375['onFileClick']||null);if(_0x5f2c51)_0x5f2c51['value']='';if(_0x49e704)_0x49e704['checked']=!![];_0x3a7eec['hidden']=![];if(_0x5f2c51)_0x5f2c51['focus']();}export function showDiscardModal(_0x50a4f8,_0x238be5,_0x31b8b8,_0xd85d16=null){renderChangedFilesList(_0x238be5,_0x31b8b8,'No\x20changes\x20to\x20discard',![],_0xd85d16),_0x50a4f8['hidden']=![];}export async function fetchGitStatus(){return await API['get']('/environments/git/status');}export async function fetchGitDiff(){return await API['get']('/environments/git/diff');}
|
|
@@ -380,7 +380,7 @@
|
|
|
380
380
|
</button>
|
|
381
381
|
<div class="dropdown-menu" id="options-menu" hidden>
|
|
382
382
|
<button type="button" class="dropdown-item options-menu-item" id="auto-pin-btn">
|
|
383
|
-
<
|
|
383
|
+
<svg class="option-icon pin-icon" width="16" height="16" viewBox="0 0 24 24" fill="var(--color-accent)" stroke="var(--color-accent)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg>
|
|
384
384
|
<span class="option-text">Auto-pin new tasks</span>
|
|
385
385
|
<span class="setting-badge" id="auto-pin-badge" hidden>✓</span>
|
|
386
386
|
</button>
|
|
@@ -704,7 +704,7 @@
|
|
|
704
704
|
Pin
|
|
705
705
|
</button>
|
|
706
706
|
<button type="button" class="btn-secondary btn-small" id="bulk-unpin-btn">
|
|
707
|
-
<
|
|
707
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="var(--color-accent)" stroke="var(--color-accent)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 4px;"><path d="M12 17v5"></path><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"></path></svg> Unpin
|
|
708
708
|
</button>
|
|
709
709
|
<button type="button" class="btn-danger btn-small" id="bulk-delete-btn">
|
|
710
710
|
Delete
|