@cartanova/qgrid-cli 2.4.7 → 2.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (748) hide show
  1. package/README.ko.md +18 -11
  2. package/README.md +18 -11
  3. package/bundle/.env +0 -0
  4. package/bundle/dist/_virtual/{_@oxc-project_runtime@0.122.0/helpers → _@oxc-project_runtime@0.140.0/helpers/esm}/decorate.js +2 -2
  5. package/bundle/dist/_virtual/{_@oxc-project_runtime@0.122.0/helpers → _@oxc-project_runtime@0.140.0/helpers/esm}/decorateMetadata.js +2 -2
  6. package/bundle/dist/_virtual/_rolldown/runtime.js +2 -3
  7. package/bundle/dist/application/monit/log-buffer.js +3 -2
  8. package/bundle/dist/application/monit/monit.frame.js +5 -6
  9. package/bundle/dist/application/monit/monit.types.js +1 -2
  10. package/bundle/dist/application/qgrid/conv-routing.js +1 -2
  11. package/bundle/dist/application/qgrid/oauth.js +1 -2
  12. package/bundle/dist/application/qgrid/qgrid-image-generation.js +1 -2
  13. package/bundle/dist/application/qgrid/qgrid-response-format.js +1 -2
  14. package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +86 -43
  15. package/bundle/dist/application/qgrid/qgrid.dispatcher.js +12 -5
  16. package/bundle/dist/application/qgrid/qgrid.frame.js +87 -92
  17. package/bundle/dist/application/qgrid/qgrid.types.js +47 -10
  18. package/bundle/dist/application/qgrid/token-subscriber.js +3 -2
  19. package/bundle/dist/application/qgrid/token-trigger-setup.js +1 -2
  20. package/bundle/dist/application/qgrid/tool-emulation.js +1 -2
  21. package/bundle/dist/application/queries.generated.js +1 -2
  22. package/bundle/dist/application/request-log/request-log.model.js +143 -47
  23. package/bundle/dist/application/request-log/request-log.types.js +1 -2
  24. package/bundle/dist/application/request-log-step/request-log-step.model.js +3 -4
  25. package/bundle/dist/application/request-log-step/request-log-step.types.js +8 -2
  26. package/bundle/dist/application/sonamu.generated.js +41 -6
  27. package/bundle/dist/application/sonamu.generated.sso.js +25 -2
  28. package/bundle/dist/application/token/token.model.js +3 -4
  29. package/bundle/dist/application/token/token.types.js +1 -2
  30. package/bundle/dist/codex-protocol/AbsolutePathBuf.js +0 -1
  31. package/bundle/dist/codex-protocol/AgentPath.js +0 -1
  32. package/bundle/dist/codex-protocol/ApplyPatchApprovalParams.js +0 -1
  33. package/bundle/dist/codex-protocol/ApplyPatchApprovalResponse.js +0 -1
  34. package/bundle/dist/codex-protocol/AuthMode.js +0 -1
  35. package/bundle/dist/codex-protocol/ClientInfo.js +0 -1
  36. package/bundle/dist/codex-protocol/ClientNotification.js +0 -1
  37. package/bundle/dist/codex-protocol/ClientRequest.js +0 -1
  38. package/bundle/dist/codex-protocol/CollaborationMode.js +0 -1
  39. package/bundle/dist/codex-protocol/ContentItem.js +0 -1
  40. package/bundle/dist/codex-protocol/ConversationGitInfo.js +0 -1
  41. package/bundle/dist/codex-protocol/ConversationSummary.js +0 -1
  42. package/bundle/dist/codex-protocol/ExecCommandApprovalParams.js +0 -1
  43. package/bundle/dist/codex-protocol/ExecCommandApprovalResponse.js +0 -1
  44. package/bundle/dist/codex-protocol/ExecPolicyAmendment.js +0 -1
  45. package/bundle/dist/codex-protocol/FileChange.js +0 -1
  46. package/bundle/dist/codex-protocol/ForcedLoginMethod.js +0 -1
  47. package/bundle/dist/codex-protocol/FunctionCallOutputBody.js +0 -1
  48. package/bundle/dist/codex-protocol/FunctionCallOutputContentItem.js +0 -1
  49. package/bundle/dist/codex-protocol/FuzzyFileSearchMatchType.js +0 -1
  50. package/bundle/dist/codex-protocol/FuzzyFileSearchParams.js +0 -1
  51. package/bundle/dist/codex-protocol/FuzzyFileSearchResponse.js +0 -1
  52. package/bundle/dist/codex-protocol/FuzzyFileSearchResult.js +0 -1
  53. package/bundle/dist/codex-protocol/FuzzyFileSearchSessionCompletedNotification.js +0 -1
  54. package/bundle/dist/codex-protocol/FuzzyFileSearchSessionUpdatedNotification.js +0 -1
  55. package/bundle/dist/codex-protocol/GetAuthStatusParams.js +0 -1
  56. package/bundle/dist/codex-protocol/GetAuthStatusResponse.js +0 -1
  57. package/bundle/dist/codex-protocol/GetConversationSummaryParams.js +0 -1
  58. package/bundle/dist/codex-protocol/GetConversationSummaryResponse.js +0 -1
  59. package/bundle/dist/codex-protocol/GitDiffToRemoteParams.js +0 -1
  60. package/bundle/dist/codex-protocol/GitDiffToRemoteResponse.js +0 -1
  61. package/bundle/dist/codex-protocol/GitSha.js +0 -1
  62. package/bundle/dist/codex-protocol/ImageDetail.js +0 -1
  63. package/bundle/dist/codex-protocol/InitializeCapabilities.js +0 -1
  64. package/bundle/dist/codex-protocol/InitializeParams.js +0 -1
  65. package/bundle/dist/codex-protocol/InitializeResponse.js +0 -1
  66. package/bundle/dist/codex-protocol/InputModality.js +0 -1
  67. package/bundle/dist/codex-protocol/InternalSessionSource.js +0 -1
  68. package/bundle/dist/codex-protocol/LocalShellAction.js +0 -1
  69. package/bundle/dist/codex-protocol/LocalShellExecAction.js +0 -1
  70. package/bundle/dist/codex-protocol/LocalShellStatus.js +0 -1
  71. package/bundle/dist/codex-protocol/MessagePhase.js +0 -1
  72. package/bundle/dist/codex-protocol/ModeKind.js +0 -1
  73. package/bundle/dist/codex-protocol/NetworkPolicyAmendment.js +0 -1
  74. package/bundle/dist/codex-protocol/NetworkPolicyRuleAction.js +0 -1
  75. package/bundle/dist/codex-protocol/ParsedCommand.js +0 -1
  76. package/bundle/dist/codex-protocol/Personality.js +0 -1
  77. package/bundle/dist/codex-protocol/PlanType.js +0 -1
  78. package/bundle/dist/codex-protocol/RealtimeConversationVersion.js +0 -1
  79. package/bundle/dist/codex-protocol/RealtimeOutputModality.js +0 -1
  80. package/bundle/dist/codex-protocol/RealtimeVoice.js +0 -1
  81. package/bundle/dist/codex-protocol/RealtimeVoicesList.js +0 -1
  82. package/bundle/dist/codex-protocol/ReasoningEffort.js +0 -1
  83. package/bundle/dist/codex-protocol/ReasoningItemContent.js +0 -1
  84. package/bundle/dist/codex-protocol/ReasoningItemReasoningSummary.js +0 -1
  85. package/bundle/dist/codex-protocol/ReasoningSummary.js +0 -1
  86. package/bundle/dist/codex-protocol/RequestId.js +0 -1
  87. package/bundle/dist/codex-protocol/Resource.js +0 -1
  88. package/bundle/dist/codex-protocol/ResourceContent.js +0 -1
  89. package/bundle/dist/codex-protocol/ResourceTemplate.js +0 -1
  90. package/bundle/dist/codex-protocol/ResponseItem.js +0 -1
  91. package/bundle/dist/codex-protocol/ReviewDecision.js +0 -1
  92. package/bundle/dist/codex-protocol/ServerNotification.js +0 -1
  93. package/bundle/dist/codex-protocol/ServerRequest.js +0 -1
  94. package/bundle/dist/codex-protocol/SessionSource.js +0 -1
  95. package/bundle/dist/codex-protocol/Settings.js +0 -1
  96. package/bundle/dist/codex-protocol/SubAgentSource.js +0 -1
  97. package/bundle/dist/codex-protocol/ThreadId.js +0 -1
  98. package/bundle/dist/codex-protocol/ThreadMemoryMode.js +0 -1
  99. package/bundle/dist/codex-protocol/Tool.js +0 -1
  100. package/bundle/dist/codex-protocol/Verbosity.js +0 -1
  101. package/bundle/dist/codex-protocol/WebSearchAction.js +0 -1
  102. package/bundle/dist/codex-protocol/WebSearchContextSize.js +0 -1
  103. package/bundle/dist/codex-protocol/WebSearchLocation.js +0 -1
  104. package/bundle/dist/codex-protocol/WebSearchMode.js +0 -1
  105. package/bundle/dist/codex-protocol/WebSearchToolConfig.js +0 -1
  106. package/bundle/dist/codex-protocol/index.js +0 -1
  107. package/bundle/dist/codex-protocol/serde_json/JsonValue.js +0 -1
  108. package/bundle/dist/codex-protocol/v2/Account.js +0 -1
  109. package/bundle/dist/codex-protocol/v2/AccountLoginCompletedNotification.js +0 -1
  110. package/bundle/dist/codex-protocol/v2/AccountRateLimitsUpdatedNotification.js +0 -1
  111. package/bundle/dist/codex-protocol/v2/AccountUpdatedNotification.js +0 -1
  112. package/bundle/dist/codex-protocol/v2/ActivePermissionProfile.js +0 -1
  113. package/bundle/dist/codex-protocol/v2/ActivePermissionProfileModification.js +0 -1
  114. package/bundle/dist/codex-protocol/v2/AddCreditsNudgeCreditType.js +0 -1
  115. package/bundle/dist/codex-protocol/v2/AddCreditsNudgeEmailStatus.js +0 -1
  116. package/bundle/dist/codex-protocol/v2/AdditionalFileSystemPermissions.js +0 -1
  117. package/bundle/dist/codex-protocol/v2/AdditionalNetworkPermissions.js +0 -1
  118. package/bundle/dist/codex-protocol/v2/AdditionalPermissionProfile.js +0 -1
  119. package/bundle/dist/codex-protocol/v2/AgentMessageDeltaNotification.js +0 -1
  120. package/bundle/dist/codex-protocol/v2/AnalyticsConfig.js +0 -1
  121. package/bundle/dist/codex-protocol/v2/AppBranding.js +0 -1
  122. package/bundle/dist/codex-protocol/v2/AppInfo.js +0 -1
  123. package/bundle/dist/codex-protocol/v2/AppListUpdatedNotification.js +0 -1
  124. package/bundle/dist/codex-protocol/v2/AppMetadata.js +0 -1
  125. package/bundle/dist/codex-protocol/v2/AppReview.js +0 -1
  126. package/bundle/dist/codex-protocol/v2/AppScreenshot.js +0 -1
  127. package/bundle/dist/codex-protocol/v2/AppSummary.js +0 -1
  128. package/bundle/dist/codex-protocol/v2/AppToolApproval.js +0 -1
  129. package/bundle/dist/codex-protocol/v2/AppToolsConfig.js +0 -1
  130. package/bundle/dist/codex-protocol/v2/ApprovalsReviewer.js +0 -1
  131. package/bundle/dist/codex-protocol/v2/AppsConfig.js +0 -1
  132. package/bundle/dist/codex-protocol/v2/AppsDefaultConfig.js +0 -1
  133. package/bundle/dist/codex-protocol/v2/AppsListParams.js +0 -1
  134. package/bundle/dist/codex-protocol/v2/AppsListResponse.js +0 -1
  135. package/bundle/dist/codex-protocol/v2/AskForApproval.js +0 -1
  136. package/bundle/dist/codex-protocol/v2/AutoReviewDecisionSource.js +0 -1
  137. package/bundle/dist/codex-protocol/v2/ByteRange.js +0 -1
  138. package/bundle/dist/codex-protocol/v2/CancelLoginAccountParams.js +0 -1
  139. package/bundle/dist/codex-protocol/v2/CancelLoginAccountResponse.js +0 -1
  140. package/bundle/dist/codex-protocol/v2/CancelLoginAccountStatus.js +0 -1
  141. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshParams.js +0 -1
  142. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshReason.js +0 -1
  143. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshResponse.js +0 -1
  144. package/bundle/dist/codex-protocol/v2/CodexErrorInfo.js +0 -1
  145. package/bundle/dist/codex-protocol/v2/CollabAgentState.js +0 -1
  146. package/bundle/dist/codex-protocol/v2/CollabAgentStatus.js +0 -1
  147. package/bundle/dist/codex-protocol/v2/CollabAgentTool.js +0 -1
  148. package/bundle/dist/codex-protocol/v2/CollabAgentToolCallStatus.js +0 -1
  149. package/bundle/dist/codex-protocol/v2/CollaborationModeMask.js +0 -1
  150. package/bundle/dist/codex-protocol/v2/CommandAction.js +0 -1
  151. package/bundle/dist/codex-protocol/v2/CommandExecOutputDeltaNotification.js +0 -1
  152. package/bundle/dist/codex-protocol/v2/CommandExecOutputStream.js +0 -1
  153. package/bundle/dist/codex-protocol/v2/CommandExecParams.js +0 -1
  154. package/bundle/dist/codex-protocol/v2/CommandExecResizeParams.js +0 -1
  155. package/bundle/dist/codex-protocol/v2/CommandExecResizeResponse.js +0 -1
  156. package/bundle/dist/codex-protocol/v2/CommandExecResponse.js +0 -1
  157. package/bundle/dist/codex-protocol/v2/CommandExecTerminalSize.js +0 -1
  158. package/bundle/dist/codex-protocol/v2/CommandExecTerminateParams.js +0 -1
  159. package/bundle/dist/codex-protocol/v2/CommandExecTerminateResponse.js +0 -1
  160. package/bundle/dist/codex-protocol/v2/CommandExecWriteParams.js +0 -1
  161. package/bundle/dist/codex-protocol/v2/CommandExecWriteResponse.js +0 -1
  162. package/bundle/dist/codex-protocol/v2/CommandExecutionApprovalDecision.js +0 -1
  163. package/bundle/dist/codex-protocol/v2/CommandExecutionOutputDeltaNotification.js +0 -1
  164. package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalParams.js +0 -1
  165. package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalResponse.js +0 -1
  166. package/bundle/dist/codex-protocol/v2/CommandExecutionSource.js +0 -1
  167. package/bundle/dist/codex-protocol/v2/CommandExecutionStatus.js +0 -1
  168. package/bundle/dist/codex-protocol/v2/CommandMigration.js +0 -1
  169. package/bundle/dist/codex-protocol/v2/Config.js +0 -1
  170. package/bundle/dist/codex-protocol/v2/ConfigBatchWriteParams.js +0 -1
  171. package/bundle/dist/codex-protocol/v2/ConfigEdit.js +0 -1
  172. package/bundle/dist/codex-protocol/v2/ConfigLayer.js +0 -1
  173. package/bundle/dist/codex-protocol/v2/ConfigLayerMetadata.js +0 -1
  174. package/bundle/dist/codex-protocol/v2/ConfigLayerSource.js +0 -1
  175. package/bundle/dist/codex-protocol/v2/ConfigReadParams.js +0 -1
  176. package/bundle/dist/codex-protocol/v2/ConfigReadResponse.js +0 -1
  177. package/bundle/dist/codex-protocol/v2/ConfigRequirements.js +0 -1
  178. package/bundle/dist/codex-protocol/v2/ConfigRequirementsReadResponse.js +0 -1
  179. package/bundle/dist/codex-protocol/v2/ConfigValueWriteParams.js +0 -1
  180. package/bundle/dist/codex-protocol/v2/ConfigWarningNotification.js +0 -1
  181. package/bundle/dist/codex-protocol/v2/ConfigWriteResponse.js +0 -1
  182. package/bundle/dist/codex-protocol/v2/ConfiguredHookHandler.js +0 -1
  183. package/bundle/dist/codex-protocol/v2/ConfiguredHookMatcherGroup.js +0 -1
  184. package/bundle/dist/codex-protocol/v2/ContextCompactedNotification.js +0 -1
  185. package/bundle/dist/codex-protocol/v2/CreditsSnapshot.js +0 -1
  186. package/bundle/dist/codex-protocol/v2/DeprecationNoticeNotification.js +0 -1
  187. package/bundle/dist/codex-protocol/v2/DynamicToolCallOutputContentItem.js +0 -1
  188. package/bundle/dist/codex-protocol/v2/DynamicToolCallParams.js +0 -1
  189. package/bundle/dist/codex-protocol/v2/DynamicToolCallResponse.js +0 -1
  190. package/bundle/dist/codex-protocol/v2/DynamicToolCallStatus.js +0 -1
  191. package/bundle/dist/codex-protocol/v2/DynamicToolSpec.js +0 -1
  192. package/bundle/dist/codex-protocol/v2/ErrorNotification.js +0 -1
  193. package/bundle/dist/codex-protocol/v2/ExecPolicyAmendment.js +0 -1
  194. package/bundle/dist/codex-protocol/v2/ExperimentalFeature.js +0 -1
  195. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetParams.js +0 -1
  196. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetResponse.js +0 -1
  197. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListParams.js +0 -1
  198. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListResponse.js +0 -1
  199. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureStage.js +0 -1
  200. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectParams.js +0 -1
  201. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectResponse.js +0 -1
  202. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportCompletedNotification.js +0 -1
  203. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportParams.js +0 -1
  204. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportResponse.js +0 -1
  205. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItem.js +0 -1
  206. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItemType.js +0 -1
  207. package/bundle/dist/codex-protocol/v2/FeedbackUploadParams.js +0 -1
  208. package/bundle/dist/codex-protocol/v2/FeedbackUploadResponse.js +0 -1
  209. package/bundle/dist/codex-protocol/v2/FileChangeApprovalDecision.js +0 -1
  210. package/bundle/dist/codex-protocol/v2/FileChangeOutputDeltaNotification.js +0 -1
  211. package/bundle/dist/codex-protocol/v2/FileChangePatchUpdatedNotification.js +0 -1
  212. package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalParams.js +0 -1
  213. package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalResponse.js +0 -1
  214. package/bundle/dist/codex-protocol/v2/FileSystemAccessMode.js +0 -1
  215. package/bundle/dist/codex-protocol/v2/FileSystemPath.js +0 -1
  216. package/bundle/dist/codex-protocol/v2/FileSystemSandboxEntry.js +0 -1
  217. package/bundle/dist/codex-protocol/v2/FileSystemSpecialPath.js +0 -1
  218. package/bundle/dist/codex-protocol/v2/FileUpdateChange.js +0 -1
  219. package/bundle/dist/codex-protocol/v2/FsChangedNotification.js +0 -1
  220. package/bundle/dist/codex-protocol/v2/FsCopyParams.js +0 -1
  221. package/bundle/dist/codex-protocol/v2/FsCopyResponse.js +0 -1
  222. package/bundle/dist/codex-protocol/v2/FsCreateDirectoryParams.js +0 -1
  223. package/bundle/dist/codex-protocol/v2/FsCreateDirectoryResponse.js +0 -1
  224. package/bundle/dist/codex-protocol/v2/FsGetMetadataParams.js +0 -1
  225. package/bundle/dist/codex-protocol/v2/FsGetMetadataResponse.js +0 -1
  226. package/bundle/dist/codex-protocol/v2/FsReadDirectoryEntry.js +0 -1
  227. package/bundle/dist/codex-protocol/v2/FsReadDirectoryParams.js +0 -1
  228. package/bundle/dist/codex-protocol/v2/FsReadDirectoryResponse.js +0 -1
  229. package/bundle/dist/codex-protocol/v2/FsReadFileParams.js +0 -1
  230. package/bundle/dist/codex-protocol/v2/FsReadFileResponse.js +0 -1
  231. package/bundle/dist/codex-protocol/v2/FsRemoveParams.js +0 -1
  232. package/bundle/dist/codex-protocol/v2/FsRemoveResponse.js +0 -1
  233. package/bundle/dist/codex-protocol/v2/FsUnwatchParams.js +0 -1
  234. package/bundle/dist/codex-protocol/v2/FsUnwatchResponse.js +0 -1
  235. package/bundle/dist/codex-protocol/v2/FsWatchParams.js +0 -1
  236. package/bundle/dist/codex-protocol/v2/FsWatchResponse.js +0 -1
  237. package/bundle/dist/codex-protocol/v2/FsWriteFileParams.js +0 -1
  238. package/bundle/dist/codex-protocol/v2/FsWriteFileResponse.js +0 -1
  239. package/bundle/dist/codex-protocol/v2/GetAccountParams.js +0 -1
  240. package/bundle/dist/codex-protocol/v2/GetAccountRateLimitsResponse.js +0 -1
  241. package/bundle/dist/codex-protocol/v2/GetAccountResponse.js +0 -1
  242. package/bundle/dist/codex-protocol/v2/GitInfo.js +0 -1
  243. package/bundle/dist/codex-protocol/v2/GrantedPermissionProfile.js +0 -1
  244. package/bundle/dist/codex-protocol/v2/GuardianApprovalReview.js +0 -1
  245. package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewAction.js +0 -1
  246. package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewStatus.js +0 -1
  247. package/bundle/dist/codex-protocol/v2/GuardianCommandSource.js +0 -1
  248. package/bundle/dist/codex-protocol/v2/GuardianRiskLevel.js +0 -1
  249. package/bundle/dist/codex-protocol/v2/GuardianUserAuthorization.js +0 -1
  250. package/bundle/dist/codex-protocol/v2/GuardianWarningNotification.js +0 -1
  251. package/bundle/dist/codex-protocol/v2/HookCompletedNotification.js +0 -1
  252. package/bundle/dist/codex-protocol/v2/HookErrorInfo.js +0 -1
  253. package/bundle/dist/codex-protocol/v2/HookEventName.js +0 -1
  254. package/bundle/dist/codex-protocol/v2/HookExecutionMode.js +0 -1
  255. package/bundle/dist/codex-protocol/v2/HookHandlerType.js +0 -1
  256. package/bundle/dist/codex-protocol/v2/HookMetadata.js +0 -1
  257. package/bundle/dist/codex-protocol/v2/HookMigration.js +0 -1
  258. package/bundle/dist/codex-protocol/v2/HookOutputEntry.js +0 -1
  259. package/bundle/dist/codex-protocol/v2/HookOutputEntryKind.js +0 -1
  260. package/bundle/dist/codex-protocol/v2/HookPromptFragment.js +0 -1
  261. package/bundle/dist/codex-protocol/v2/HookRunStatus.js +0 -1
  262. package/bundle/dist/codex-protocol/v2/HookRunSummary.js +0 -1
  263. package/bundle/dist/codex-protocol/v2/HookScope.js +0 -1
  264. package/bundle/dist/codex-protocol/v2/HookSource.js +0 -1
  265. package/bundle/dist/codex-protocol/v2/HookStartedNotification.js +0 -1
  266. package/bundle/dist/codex-protocol/v2/HookTrustStatus.js +0 -1
  267. package/bundle/dist/codex-protocol/v2/HooksListEntry.js +0 -1
  268. package/bundle/dist/codex-protocol/v2/HooksListParams.js +0 -1
  269. package/bundle/dist/codex-protocol/v2/HooksListResponse.js +0 -1
  270. package/bundle/dist/codex-protocol/v2/ItemCompletedNotification.js +0 -1
  271. package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewCompletedNotification.js +0 -1
  272. package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewStartedNotification.js +0 -1
  273. package/bundle/dist/codex-protocol/v2/ItemStartedNotification.js +0 -1
  274. package/bundle/dist/codex-protocol/v2/ListMcpServerStatusParams.js +0 -1
  275. package/bundle/dist/codex-protocol/v2/ListMcpServerStatusResponse.js +0 -1
  276. package/bundle/dist/codex-protocol/v2/LoginAccountParams.js +0 -1
  277. package/bundle/dist/codex-protocol/v2/LoginAccountResponse.js +0 -1
  278. package/bundle/dist/codex-protocol/v2/LogoutAccountResponse.js +0 -1
  279. package/bundle/dist/codex-protocol/v2/ManagedHooksRequirements.js +0 -1
  280. package/bundle/dist/codex-protocol/v2/MarketplaceAddParams.js +0 -1
  281. package/bundle/dist/codex-protocol/v2/MarketplaceAddResponse.js +0 -1
  282. package/bundle/dist/codex-protocol/v2/MarketplaceInterface.js +0 -1
  283. package/bundle/dist/codex-protocol/v2/MarketplaceLoadErrorInfo.js +0 -1
  284. package/bundle/dist/codex-protocol/v2/MarketplaceRemoveParams.js +0 -1
  285. package/bundle/dist/codex-protocol/v2/MarketplaceRemoveResponse.js +0 -1
  286. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeErrorInfo.js +0 -1
  287. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeParams.js +0 -1
  288. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeResponse.js +0 -1
  289. package/bundle/dist/codex-protocol/v2/McpAuthStatus.js +0 -1
  290. package/bundle/dist/codex-protocol/v2/McpElicitationArrayType.js +0 -1
  291. package/bundle/dist/codex-protocol/v2/McpElicitationBooleanSchema.js +0 -1
  292. package/bundle/dist/codex-protocol/v2/McpElicitationBooleanType.js +0 -1
  293. package/bundle/dist/codex-protocol/v2/McpElicitationConstOption.js +0 -1
  294. package/bundle/dist/codex-protocol/v2/McpElicitationEnumSchema.js +0 -1
  295. package/bundle/dist/codex-protocol/v2/McpElicitationLegacyTitledEnumSchema.js +0 -1
  296. package/bundle/dist/codex-protocol/v2/McpElicitationMultiSelectEnumSchema.js +0 -1
  297. package/bundle/dist/codex-protocol/v2/McpElicitationNumberSchema.js +0 -1
  298. package/bundle/dist/codex-protocol/v2/McpElicitationNumberType.js +0 -1
  299. package/bundle/dist/codex-protocol/v2/McpElicitationObjectType.js +0 -1
  300. package/bundle/dist/codex-protocol/v2/McpElicitationPrimitiveSchema.js +0 -1
  301. package/bundle/dist/codex-protocol/v2/McpElicitationSchema.js +0 -1
  302. package/bundle/dist/codex-protocol/v2/McpElicitationSingleSelectEnumSchema.js +0 -1
  303. package/bundle/dist/codex-protocol/v2/McpElicitationStringFormat.js +0 -1
  304. package/bundle/dist/codex-protocol/v2/McpElicitationStringSchema.js +0 -1
  305. package/bundle/dist/codex-protocol/v2/McpElicitationStringType.js +0 -1
  306. package/bundle/dist/codex-protocol/v2/McpElicitationTitledEnumItems.js +0 -1
  307. package/bundle/dist/codex-protocol/v2/McpElicitationTitledMultiSelectEnumSchema.js +0 -1
  308. package/bundle/dist/codex-protocol/v2/McpElicitationTitledSingleSelectEnumSchema.js +0 -1
  309. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledEnumItems.js +0 -1
  310. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledMultiSelectEnumSchema.js +0 -1
  311. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledSingleSelectEnumSchema.js +0 -1
  312. package/bundle/dist/codex-protocol/v2/McpResourceReadParams.js +0 -1
  313. package/bundle/dist/codex-protocol/v2/McpResourceReadResponse.js +0 -1
  314. package/bundle/dist/codex-protocol/v2/McpServerElicitationAction.js +0 -1
  315. package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestParams.js +0 -1
  316. package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestResponse.js +0 -1
  317. package/bundle/dist/codex-protocol/v2/McpServerMigration.js +0 -1
  318. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginCompletedNotification.js +0 -1
  319. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginParams.js +0 -1
  320. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginResponse.js +0 -1
  321. package/bundle/dist/codex-protocol/v2/McpServerRefreshResponse.js +0 -1
  322. package/bundle/dist/codex-protocol/v2/McpServerStartupState.js +0 -1
  323. package/bundle/dist/codex-protocol/v2/McpServerStatus.js +0 -1
  324. package/bundle/dist/codex-protocol/v2/McpServerStatusDetail.js +0 -1
  325. package/bundle/dist/codex-protocol/v2/McpServerStatusUpdatedNotification.js +0 -1
  326. package/bundle/dist/codex-protocol/v2/McpServerToolCallParams.js +0 -1
  327. package/bundle/dist/codex-protocol/v2/McpServerToolCallResponse.js +0 -1
  328. package/bundle/dist/codex-protocol/v2/McpToolCallError.js +0 -1
  329. package/bundle/dist/codex-protocol/v2/McpToolCallProgressNotification.js +0 -1
  330. package/bundle/dist/codex-protocol/v2/McpToolCallResult.js +0 -1
  331. package/bundle/dist/codex-protocol/v2/McpToolCallStatus.js +0 -1
  332. package/bundle/dist/codex-protocol/v2/MemoryCitation.js +0 -1
  333. package/bundle/dist/codex-protocol/v2/MemoryCitationEntry.js +0 -1
  334. package/bundle/dist/codex-protocol/v2/MergeStrategy.js +0 -1
  335. package/bundle/dist/codex-protocol/v2/MigrationDetails.js +0 -1
  336. package/bundle/dist/codex-protocol/v2/Model.js +0 -1
  337. package/bundle/dist/codex-protocol/v2/ModelAvailabilityNux.js +0 -1
  338. package/bundle/dist/codex-protocol/v2/ModelListParams.js +0 -1
  339. package/bundle/dist/codex-protocol/v2/ModelListResponse.js +0 -1
  340. package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadParams.js +0 -1
  341. package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadResponse.js +0 -1
  342. package/bundle/dist/codex-protocol/v2/ModelRerouteReason.js +0 -1
  343. package/bundle/dist/codex-protocol/v2/ModelReroutedNotification.js +0 -1
  344. package/bundle/dist/codex-protocol/v2/ModelServiceTier.js +0 -1
  345. package/bundle/dist/codex-protocol/v2/ModelUpgradeInfo.js +0 -1
  346. package/bundle/dist/codex-protocol/v2/ModelVerification.js +0 -1
  347. package/bundle/dist/codex-protocol/v2/ModelVerificationNotification.js +0 -1
  348. package/bundle/dist/codex-protocol/v2/NetworkAccess.js +0 -1
  349. package/bundle/dist/codex-protocol/v2/NetworkApprovalContext.js +0 -1
  350. package/bundle/dist/codex-protocol/v2/NetworkApprovalProtocol.js +0 -1
  351. package/bundle/dist/codex-protocol/v2/NetworkDomainPermission.js +0 -1
  352. package/bundle/dist/codex-protocol/v2/NetworkPolicyAmendment.js +0 -1
  353. package/bundle/dist/codex-protocol/v2/NetworkPolicyRuleAction.js +0 -1
  354. package/bundle/dist/codex-protocol/v2/NetworkRequirements.js +0 -1
  355. package/bundle/dist/codex-protocol/v2/NetworkUnixSocketPermission.js +0 -1
  356. package/bundle/dist/codex-protocol/v2/NonSteerableTurnKind.js +0 -1
  357. package/bundle/dist/codex-protocol/v2/OverriddenMetadata.js +0 -1
  358. package/bundle/dist/codex-protocol/v2/PatchApplyStatus.js +0 -1
  359. package/bundle/dist/codex-protocol/v2/PatchChangeKind.js +0 -1
  360. package/bundle/dist/codex-protocol/v2/PermissionGrantScope.js +0 -1
  361. package/bundle/dist/codex-protocol/v2/PermissionProfile.js +0 -1
  362. package/bundle/dist/codex-protocol/v2/PermissionProfileFileSystemPermissions.js +0 -1
  363. package/bundle/dist/codex-protocol/v2/PermissionProfileModificationParams.js +0 -1
  364. package/bundle/dist/codex-protocol/v2/PermissionProfileNetworkPermissions.js +0 -1
  365. package/bundle/dist/codex-protocol/v2/PermissionProfileSelectionParams.js +0 -1
  366. package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalParams.js +0 -1
  367. package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalResponse.js +0 -1
  368. package/bundle/dist/codex-protocol/v2/PlanDeltaNotification.js +0 -1
  369. package/bundle/dist/codex-protocol/v2/PluginAuthPolicy.js +0 -1
  370. package/bundle/dist/codex-protocol/v2/PluginAvailability.js +0 -1
  371. package/bundle/dist/codex-protocol/v2/PluginDetail.js +0 -1
  372. package/bundle/dist/codex-protocol/v2/PluginHookSummary.js +0 -1
  373. package/bundle/dist/codex-protocol/v2/PluginInstallParams.js +0 -1
  374. package/bundle/dist/codex-protocol/v2/PluginInstallPolicy.js +0 -1
  375. package/bundle/dist/codex-protocol/v2/PluginInstallResponse.js +0 -1
  376. package/bundle/dist/codex-protocol/v2/PluginInterface.js +0 -1
  377. package/bundle/dist/codex-protocol/v2/PluginListMarketplaceKind.js +0 -1
  378. package/bundle/dist/codex-protocol/v2/PluginListParams.js +0 -1
  379. package/bundle/dist/codex-protocol/v2/PluginListResponse.js +0 -1
  380. package/bundle/dist/codex-protocol/v2/PluginMarketplaceEntry.js +0 -1
  381. package/bundle/dist/codex-protocol/v2/PluginReadParams.js +0 -1
  382. package/bundle/dist/codex-protocol/v2/PluginReadResponse.js +0 -1
  383. package/bundle/dist/codex-protocol/v2/PluginShareContext.js +0 -1
  384. package/bundle/dist/codex-protocol/v2/PluginShareDeleteParams.js +0 -1
  385. package/bundle/dist/codex-protocol/v2/PluginShareDeleteResponse.js +0 -1
  386. package/bundle/dist/codex-protocol/v2/PluginShareDiscoverability.js +0 -1
  387. package/bundle/dist/codex-protocol/v2/PluginShareListItem.js +0 -1
  388. package/bundle/dist/codex-protocol/v2/PluginShareListParams.js +0 -1
  389. package/bundle/dist/codex-protocol/v2/PluginShareListResponse.js +0 -1
  390. package/bundle/dist/codex-protocol/v2/PluginSharePrincipal.js +0 -1
  391. package/bundle/dist/codex-protocol/v2/PluginSharePrincipalType.js +0 -1
  392. package/bundle/dist/codex-protocol/v2/PluginShareSaveParams.js +0 -1
  393. package/bundle/dist/codex-protocol/v2/PluginShareSaveResponse.js +0 -1
  394. package/bundle/dist/codex-protocol/v2/PluginShareTarget.js +0 -1
  395. package/bundle/dist/codex-protocol/v2/PluginShareUpdateDiscoverability.js +0 -1
  396. package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsParams.js +0 -1
  397. package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsResponse.js +0 -1
  398. package/bundle/dist/codex-protocol/v2/PluginSkillReadParams.js +0 -1
  399. package/bundle/dist/codex-protocol/v2/PluginSkillReadResponse.js +0 -1
  400. package/bundle/dist/codex-protocol/v2/PluginSource.js +0 -1
  401. package/bundle/dist/codex-protocol/v2/PluginSummary.js +0 -1
  402. package/bundle/dist/codex-protocol/v2/PluginUninstallParams.js +0 -1
  403. package/bundle/dist/codex-protocol/v2/PluginUninstallResponse.js +0 -1
  404. package/bundle/dist/codex-protocol/v2/PluginsMigration.js +0 -1
  405. package/bundle/dist/codex-protocol/v2/ProcessExitedNotification.js +0 -1
  406. package/bundle/dist/codex-protocol/v2/ProcessOutputDeltaNotification.js +0 -1
  407. package/bundle/dist/codex-protocol/v2/ProcessOutputStream.js +0 -1
  408. package/bundle/dist/codex-protocol/v2/ProcessTerminalSize.js +0 -1
  409. package/bundle/dist/codex-protocol/v2/ProfileV2.js +0 -1
  410. package/bundle/dist/codex-protocol/v2/RateLimitReachedType.js +0 -1
  411. package/bundle/dist/codex-protocol/v2/RateLimitSnapshot.js +0 -1
  412. package/bundle/dist/codex-protocol/v2/RateLimitWindow.js +0 -1
  413. package/bundle/dist/codex-protocol/v2/RawResponseItemCompletedNotification.js +0 -1
  414. package/bundle/dist/codex-protocol/v2/ReasoningEffortOption.js +0 -1
  415. package/bundle/dist/codex-protocol/v2/ReasoningSummaryPartAddedNotification.js +0 -1
  416. package/bundle/dist/codex-protocol/v2/ReasoningSummaryTextDeltaNotification.js +0 -1
  417. package/bundle/dist/codex-protocol/v2/ReasoningTextDeltaNotification.js +0 -1
  418. package/bundle/dist/codex-protocol/v2/RemoteControlConnectionStatus.js +0 -1
  419. package/bundle/dist/codex-protocol/v2/RemoteControlStatusChangedNotification.js +0 -1
  420. package/bundle/dist/codex-protocol/v2/RequestPermissionProfile.js +0 -1
  421. package/bundle/dist/codex-protocol/v2/ResidencyRequirement.js +0 -1
  422. package/bundle/dist/codex-protocol/v2/ReviewDelivery.js +0 -1
  423. package/bundle/dist/codex-protocol/v2/ReviewStartParams.js +0 -1
  424. package/bundle/dist/codex-protocol/v2/ReviewStartResponse.js +0 -1
  425. package/bundle/dist/codex-protocol/v2/ReviewTarget.js +0 -1
  426. package/bundle/dist/codex-protocol/v2/SandboxMode.js +0 -1
  427. package/bundle/dist/codex-protocol/v2/SandboxPolicy.js +0 -1
  428. package/bundle/dist/codex-protocol/v2/SandboxWorkspaceWrite.js +0 -1
  429. package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailParams.js +0 -1
  430. package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailResponse.js +0 -1
  431. package/bundle/dist/codex-protocol/v2/ServerRequestResolvedNotification.js +0 -1
  432. package/bundle/dist/codex-protocol/v2/SessionMigration.js +0 -1
  433. package/bundle/dist/codex-protocol/v2/SessionSource.js +0 -1
  434. package/bundle/dist/codex-protocol/v2/SkillDependencies.js +0 -1
  435. package/bundle/dist/codex-protocol/v2/SkillErrorInfo.js +0 -1
  436. package/bundle/dist/codex-protocol/v2/SkillInterface.js +0 -1
  437. package/bundle/dist/codex-protocol/v2/SkillMetadata.js +0 -1
  438. package/bundle/dist/codex-protocol/v2/SkillScope.js +0 -1
  439. package/bundle/dist/codex-protocol/v2/SkillSummary.js +0 -1
  440. package/bundle/dist/codex-protocol/v2/SkillToolDependency.js +0 -1
  441. package/bundle/dist/codex-protocol/v2/SkillsChangedNotification.js +0 -1
  442. package/bundle/dist/codex-protocol/v2/SkillsConfigWriteParams.js +0 -1
  443. package/bundle/dist/codex-protocol/v2/SkillsConfigWriteResponse.js +0 -1
  444. package/bundle/dist/codex-protocol/v2/SkillsListEntry.js +0 -1
  445. package/bundle/dist/codex-protocol/v2/SkillsListParams.js +0 -1
  446. package/bundle/dist/codex-protocol/v2/SkillsListResponse.js +0 -1
  447. package/bundle/dist/codex-protocol/v2/SortDirection.js +0 -1
  448. package/bundle/dist/codex-protocol/v2/SubagentMigration.js +0 -1
  449. package/bundle/dist/codex-protocol/v2/TerminalInteractionNotification.js +0 -1
  450. package/bundle/dist/codex-protocol/v2/TextElement.js +0 -1
  451. package/bundle/dist/codex-protocol/v2/TextPosition.js +0 -1
  452. package/bundle/dist/codex-protocol/v2/TextRange.js +0 -1
  453. package/bundle/dist/codex-protocol/v2/Thread.js +0 -1
  454. package/bundle/dist/codex-protocol/v2/ThreadActiveFlag.js +0 -1
  455. package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionParams.js +0 -1
  456. package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionResponse.js +0 -1
  457. package/bundle/dist/codex-protocol/v2/ThreadArchiveParams.js +0 -1
  458. package/bundle/dist/codex-protocol/v2/ThreadArchiveResponse.js +0 -1
  459. package/bundle/dist/codex-protocol/v2/ThreadArchivedNotification.js +0 -1
  460. package/bundle/dist/codex-protocol/v2/ThreadClosedNotification.js +0 -1
  461. package/bundle/dist/codex-protocol/v2/ThreadCompactStartParams.js +0 -1
  462. package/bundle/dist/codex-protocol/v2/ThreadCompactStartResponse.js +0 -1
  463. package/bundle/dist/codex-protocol/v2/ThreadForkParams.js +0 -1
  464. package/bundle/dist/codex-protocol/v2/ThreadForkResponse.js +0 -1
  465. package/bundle/dist/codex-protocol/v2/ThreadGoal.js +0 -1
  466. package/bundle/dist/codex-protocol/v2/ThreadGoalClearedNotification.js +0 -1
  467. package/bundle/dist/codex-protocol/v2/ThreadGoalStatus.js +0 -1
  468. package/bundle/dist/codex-protocol/v2/ThreadGoalUpdatedNotification.js +0 -1
  469. package/bundle/dist/codex-protocol/v2/ThreadInjectItemsParams.js +0 -1
  470. package/bundle/dist/codex-protocol/v2/ThreadInjectItemsResponse.js +0 -1
  471. package/bundle/dist/codex-protocol/v2/ThreadItem.js +0 -1
  472. package/bundle/dist/codex-protocol/v2/ThreadListParams.js +0 -1
  473. package/bundle/dist/codex-protocol/v2/ThreadListResponse.js +0 -1
  474. package/bundle/dist/codex-protocol/v2/ThreadLoadedListParams.js +0 -1
  475. package/bundle/dist/codex-protocol/v2/ThreadLoadedListResponse.js +0 -1
  476. package/bundle/dist/codex-protocol/v2/ThreadMetadataGitInfoUpdateParams.js +0 -1
  477. package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateParams.js +0 -1
  478. package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateResponse.js +0 -1
  479. package/bundle/dist/codex-protocol/v2/ThreadNameUpdatedNotification.js +0 -1
  480. package/bundle/dist/codex-protocol/v2/ThreadReadParams.js +0 -1
  481. package/bundle/dist/codex-protocol/v2/ThreadReadResponse.js +0 -1
  482. package/bundle/dist/codex-protocol/v2/ThreadRealtimeAudioChunk.js +0 -1
  483. package/bundle/dist/codex-protocol/v2/ThreadRealtimeClosedNotification.js +0 -1
  484. package/bundle/dist/codex-protocol/v2/ThreadRealtimeErrorNotification.js +0 -1
  485. package/bundle/dist/codex-protocol/v2/ThreadRealtimeItemAddedNotification.js +0 -1
  486. package/bundle/dist/codex-protocol/v2/ThreadRealtimeOutputAudioDeltaNotification.js +0 -1
  487. package/bundle/dist/codex-protocol/v2/ThreadRealtimeSdpNotification.js +0 -1
  488. package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartTransport.js +0 -1
  489. package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartedNotification.js +0 -1
  490. package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDeltaNotification.js +0 -1
  491. package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDoneNotification.js +0 -1
  492. package/bundle/dist/codex-protocol/v2/ThreadResumeParams.js +0 -1
  493. package/bundle/dist/codex-protocol/v2/ThreadResumeResponse.js +0 -1
  494. package/bundle/dist/codex-protocol/v2/ThreadRollbackParams.js +0 -1
  495. package/bundle/dist/codex-protocol/v2/ThreadRollbackResponse.js +0 -1
  496. package/bundle/dist/codex-protocol/v2/ThreadSetNameParams.js +0 -1
  497. package/bundle/dist/codex-protocol/v2/ThreadSetNameResponse.js +0 -1
  498. package/bundle/dist/codex-protocol/v2/ThreadShellCommandParams.js +0 -1
  499. package/bundle/dist/codex-protocol/v2/ThreadShellCommandResponse.js +0 -1
  500. package/bundle/dist/codex-protocol/v2/ThreadSortKey.js +0 -1
  501. package/bundle/dist/codex-protocol/v2/ThreadSource.js +0 -1
  502. package/bundle/dist/codex-protocol/v2/ThreadSourceKind.js +0 -1
  503. package/bundle/dist/codex-protocol/v2/ThreadStartParams.js +0 -1
  504. package/bundle/dist/codex-protocol/v2/ThreadStartResponse.js +0 -1
  505. package/bundle/dist/codex-protocol/v2/ThreadStartSource.js +0 -1
  506. package/bundle/dist/codex-protocol/v2/ThreadStartedNotification.js +0 -1
  507. package/bundle/dist/codex-protocol/v2/ThreadStatus.js +0 -1
  508. package/bundle/dist/codex-protocol/v2/ThreadStatusChangedNotification.js +0 -1
  509. package/bundle/dist/codex-protocol/v2/ThreadTokenUsage.js +0 -1
  510. package/bundle/dist/codex-protocol/v2/ThreadTokenUsageUpdatedNotification.js +0 -1
  511. package/bundle/dist/codex-protocol/v2/ThreadUnarchiveParams.js +0 -1
  512. package/bundle/dist/codex-protocol/v2/ThreadUnarchiveResponse.js +0 -1
  513. package/bundle/dist/codex-protocol/v2/ThreadUnarchivedNotification.js +0 -1
  514. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeParams.js +0 -1
  515. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeResponse.js +0 -1
  516. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeStatus.js +0 -1
  517. package/bundle/dist/codex-protocol/v2/TokenUsageBreakdown.js +0 -1
  518. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputAnswer.js +0 -1
  519. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputOption.js +0 -1
  520. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputParams.js +0 -1
  521. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputQuestion.js +0 -1
  522. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputResponse.js +0 -1
  523. package/bundle/dist/codex-protocol/v2/ToolsV2.js +0 -1
  524. package/bundle/dist/codex-protocol/v2/Turn.js +0 -1
  525. package/bundle/dist/codex-protocol/v2/TurnCompletedNotification.js +0 -1
  526. package/bundle/dist/codex-protocol/v2/TurnDiffUpdatedNotification.js +0 -1
  527. package/bundle/dist/codex-protocol/v2/TurnEnvironmentParams.js +0 -1
  528. package/bundle/dist/codex-protocol/v2/TurnError.js +0 -1
  529. package/bundle/dist/codex-protocol/v2/TurnInterruptParams.js +0 -1
  530. package/bundle/dist/codex-protocol/v2/TurnInterruptResponse.js +0 -1
  531. package/bundle/dist/codex-protocol/v2/TurnItemsView.js +0 -1
  532. package/bundle/dist/codex-protocol/v2/TurnPlanStep.js +0 -1
  533. package/bundle/dist/codex-protocol/v2/TurnPlanStepStatus.js +0 -1
  534. package/bundle/dist/codex-protocol/v2/TurnPlanUpdatedNotification.js +0 -1
  535. package/bundle/dist/codex-protocol/v2/TurnStartParams.js +0 -1
  536. package/bundle/dist/codex-protocol/v2/TurnStartResponse.js +0 -1
  537. package/bundle/dist/codex-protocol/v2/TurnStartedNotification.js +0 -1
  538. package/bundle/dist/codex-protocol/v2/TurnStatus.js +0 -1
  539. package/bundle/dist/codex-protocol/v2/TurnSteerParams.js +0 -1
  540. package/bundle/dist/codex-protocol/v2/TurnSteerResponse.js +0 -1
  541. package/bundle/dist/codex-protocol/v2/UserInput.js +0 -1
  542. package/bundle/dist/codex-protocol/v2/WarningNotification.js +0 -1
  543. package/bundle/dist/codex-protocol/v2/WebSearchAction.js +0 -1
  544. package/bundle/dist/codex-protocol/v2/WindowsSandboxReadiness.js +0 -1
  545. package/bundle/dist/codex-protocol/v2/WindowsSandboxReadinessResponse.js +0 -1
  546. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupCompletedNotification.js +0 -1
  547. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupMode.js +0 -1
  548. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartParams.js +0 -1
  549. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartResponse.js +0 -1
  550. package/bundle/dist/codex-protocol/v2/WindowsWorldWritableWarningNotification.js +0 -1
  551. package/bundle/dist/codex-protocol/v2/WriteStatus.js +0 -1
  552. package/bundle/dist/i18n/en.js +1 -2
  553. package/bundle/dist/i18n/ko.js +1 -2
  554. package/bundle/dist/i18n/sd.generated.js +66 -21
  555. package/bundle/dist/index.js +1 -2
  556. package/bundle/dist/migrations/20260410171405_create__request_logs.js +1 -2
  557. package/bundle/dist/migrations/20260410171406_create__tokens.js +1 -2
  558. package/bundle/dist/migrations/20260411120624_alter_tokens_alter2.js +1 -2
  559. package/bundle/dist/migrations/20260415113716_alter_tokens_add_ord.js +1 -2
  560. package/bundle/dist/migrations/20260415134649_alter_request_logs_alter1.js +1 -2
  561. package/bundle/dist/migrations/20260421223627_alter_request_logs_add1_alter1.js +1 -2
  562. package/bundle/dist/migrations/20260423180818_alter_request_logs_add1_alter1.js +1 -2
  563. package/bundle/dist/migrations/20260423182017_alter_request_logs_add2_drop1_alter1.js +1 -2
  564. package/bundle/dist/migrations/20260423183613_alter_request_logs_add1_alter1.js +1 -2
  565. package/bundle/dist/migrations/20260518145411_alter_tokens_add2_drop4_alter1.js +1 -2
  566. package/bundle/dist/migrations/20260520112853_alter_request_logs_add3_alter1.js +1 -2
  567. package/bundle/dist/migrations/20260520124755_alter_request_logs_drop1_alter1.js +1 -2
  568. package/bundle/dist/migrations/20260520130420_create__request_log_steps.js +1 -2
  569. package/bundle/dist/migrations/20260520134908_alter_request_logs_add2_alter8.js +1 -2
  570. package/bundle/dist/migrations/20260520134909_alter_request_log_steps_add1_alter3.js +1 -2
  571. package/bundle/dist/migrations/20260520141449_alter_request_logs_add1_alter1.js +1 -2
  572. package/bundle/dist/migrations/20260521134025_alter_request_log_steps_alter1.js +1 -2
  573. package/bundle/dist/migrations/20260521134026_alter_request_log_steps_foreigns.js +1 -2
  574. package/bundle/dist/migrations/20260522181721_alter_request_log_steps_add2_alter1.js +1 -2
  575. package/bundle/dist/migrations/20260630223950_alter_tokens_add1_alter1.js +1 -2
  576. package/bundle/dist/migrations/20260701105327_alter_request_logs_add1_alter1.js +1 -2
  577. package/bundle/dist/migrations/20260701105328_alter_request_log_steps_add1_alter1.js +1 -2
  578. package/bundle/dist/migrations/20260705140614_alter_request_logs_add1_alter1.js +1 -2
  579. package/bundle/dist/migrations/20260706120000_alter_request_logs_add_image_cost.js +1 -2
  580. package/bundle/dist/migrations/20260710090000_alter_tokens_add_weight.js +1 -2
  581. package/bundle/dist/migrations/20260718180824_alter_request_logs_add5_alter1.js +19 -0
  582. package/bundle/dist/migrations/20260718180825_alter_request_log_steps_add7_alter1.js +21 -0
  583. package/bundle/dist/migrations/20260722174410_alter_request_logs_alter3.js +17 -0
  584. package/bundle/dist/migrations/20260722174411_alter_request_log_steps_alter3.js +17 -0
  585. package/bundle/dist/node_modules/.pnpm/@jridgewell_sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.js +255 -4
  586. package/bundle/dist/node_modules/.pnpm/@vitest_expect@4.1.10/node_modules/@vitest/expect/dist/index.js +1507 -0
  587. package/bundle/dist/node_modules/.pnpm/@vitest_pretty-format@4.1.10/node_modules/@vitest/pretty-format/dist/index.js +887 -0
  588. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js +2756 -0
  589. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/index.js +8 -0
  590. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/utils.js +8 -0
  591. package/bundle/dist/node_modules/.pnpm/@vitest_snapshot@4.1.10/node_modules/@vitest/snapshot/dist/index.js +922 -0
  592. package/bundle/dist/node_modules/.pnpm/@vitest_spy@4.1.10/node_modules/@vitest/spy/dist/index.js +386 -0
  593. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +121 -0
  594. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/constants.js +51 -0
  595. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/diff.js +1317 -0
  596. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/display.js +561 -0
  597. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/error.js +40 -0
  598. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/helpers.js +272 -0
  599. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/offset.js +27 -0
  600. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/serialize.js +77 -0
  601. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/source-map.js +381 -0
  602. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/timers.js +51 -0
  603. package/bundle/dist/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js +103 -3
  604. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.js +1 -1
  605. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.js +1 -1
  606. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.js +1 -1
  607. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.js +1 -1
  608. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.js +1 -1
  609. package/bundle/dist/node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.js +2 -3
  610. package/bundle/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/index.js +4 -4
  611. package/bundle/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.js +2 -2
  612. package/bundle/dist/node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.js +18 -7
  613. package/bundle/dist/node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.js +18 -3
  614. package/bundle/dist/node_modules/.pnpm/vite@8.0.3_@emnapi_core@1.11.2_@emnapi_runtime@1.11.2_@types_node@25.0.7_esbuild@0.27.4_2519c2e8d8013fcbc7b443879bc9da6d/node_modules/vite/dist/node/module-runner.js +1265 -0
  615. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js +6 -3
  616. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/benchmark.CX_oY03V.js +8 -8
  617. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/evaluatedModules.Dg1zASAC.js +5 -5
  618. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/index.Chj8NDwU.js +3 -3
  619. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c/node_modules/vitest/dist/chunks/index.DdgEv5B1.js +46 -0
  620. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js +66 -6
  621. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c/node_modules/vitest/dist/chunks/test.DNmyFkvJ.js +3044 -0
  622. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js +19 -4
  623. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c/node_modules/vitest/dist/index.js +28 -0
  624. package/bundle/dist/server-bootstrap.js +1 -2
  625. package/bundle/dist/sonamu.config.js +11 -27
  626. package/bundle/dist/startup-migrations.js +1 -2
  627. package/bundle/dist/testing/fixture.js +1 -2
  628. package/bundle/dist/testing/global.js +6 -7
  629. package/bundle/dist/testing/setup-mocks.js +3 -4
  630. package/bundle/dist/testing/test-database-name.js +5 -8
  631. package/bundle/dist/utils/providers/anthropic/anthropic-constants.js +11 -5
  632. package/bundle/dist/utils/providers/anthropic/anthropic-dispatcher.js +6 -4
  633. package/bundle/dist/utils/providers/anthropic/anthropic-quota.js +1 -2
  634. package/bundle/dist/utils/providers/anthropic/claude-session.js +12 -10
  635. package/bundle/dist/utils/providers/anthropic/stream-json-adapter.js +117 -8
  636. package/bundle/dist/utils/providers/common/credentials.js +1 -2
  637. package/bundle/dist/utils/providers/common/model-cost.js +46 -99
  638. package/bundle/dist/utils/providers/common/provider-dispatcher.js +0 -1
  639. package/bundle/dist/utils/providers/common/smooth-weighted-round-robin.js +1 -2
  640. package/bundle/dist/utils/providers/common/strictifier.js +2 -2
  641. package/bundle/dist/utils/providers/common/token-picker.js +1 -2
  642. package/bundle/dist/utils/providers/common/ttft.js +1 -2
  643. package/bundle/dist/utils/providers/openai/codex-rpc.js +4 -2
  644. package/bundle/dist/utils/providers/openai/codex-worker.js +2 -2
  645. package/bundle/dist/utils/providers/openai/openai-constants.js +1 -2
  646. package/bundle/dist/utils/providers/openai/openai-dispatcher.js +103 -40
  647. package/bundle/dist/utils/providers/openai/openai-quota.js +1 -2
  648. package/bundle/dist/utils/providers/openai/openai-refresh.js +1 -2
  649. package/bundle/dist/utils/subset-loaders.js +1 -2
  650. package/bundle/src/application/monit/monit.frame.test.ts +2 -2
  651. package/bundle/src/application/monit/monit.frame.ts +2 -2
  652. package/bundle/src/application/qgrid/qgrid-run-lifecycle.test.ts +305 -3
  653. package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +107 -53
  654. package/bundle/src/application/qgrid/qgrid.dispatcher.test.ts +81 -0
  655. package/bundle/src/application/qgrid/qgrid.dispatcher.ts +16 -9
  656. package/bundle/src/application/qgrid/qgrid.frame.test.ts +400 -96
  657. package/bundle/src/application/qgrid/qgrid.frame.ts +99 -118
  658. package/bundle/src/application/qgrid/qgrid.types.ts +71 -27
  659. package/bundle/src/application/qgrid/tool-emulation.test.ts +1 -0
  660. package/bundle/src/application/request-log/request-log.entity.json +43 -1
  661. package/bundle/src/application/request-log/request-log.model.test.ts +375 -13
  662. package/bundle/src/application/request-log/request-log.model.ts +283 -86
  663. package/bundle/src/application/request-log-step/request-log-step.entity.json +54 -0
  664. package/bundle/src/application/request-log-step/request-log-step.types.ts +7 -0
  665. package/bundle/src/application/sonamu.generated.http +28 -2
  666. package/bundle/src/application/sonamu.generated.sso.ts +24 -0
  667. package/bundle/src/application/sonamu.generated.ts +52 -4
  668. package/bundle/src/i18n/sd.generated.ts +95 -14
  669. package/bundle/src/migrations/20260718180824_alter_request_logs_add5_alter1.ts +25 -0
  670. package/bundle/src/migrations/20260718180825_alter_request_log_steps_add7_alter1.ts +29 -0
  671. package/bundle/src/migrations/20260722174410_alter_request_logs_alter3.ts +19 -0
  672. package/bundle/src/migrations/20260722174411_alter_request_log_steps_alter3.ts +19 -0
  673. package/bundle/src/sonamu.config.ts +5 -23
  674. package/bundle/src/testing/global.ts +5 -5
  675. package/bundle/src/testing/test-database-name.test.ts +5 -5
  676. package/bundle/src/testing/test-database-name.ts +9 -8
  677. package/bundle/src/utils/providers/anthropic/anthropic-constants.test.ts +19 -0
  678. package/bundle/src/utils/providers/anthropic/anthropic-constants.ts +15 -2
  679. package/bundle/src/utils/providers/anthropic/anthropic-dispatcher.ts +7 -2
  680. package/bundle/src/utils/providers/anthropic/claude-session.test.ts +43 -2
  681. package/bundle/src/utils/providers/anthropic/claude-session.ts +16 -4
  682. package/bundle/src/utils/providers/anthropic/stream-json-adapter.test.ts +131 -0
  683. package/bundle/src/utils/providers/anthropic/stream-json-adapter.ts +194 -11
  684. package/bundle/src/utils/providers/common/model-cost.test.ts +137 -2
  685. package/bundle/src/utils/providers/common/model-cost.ts +77 -99
  686. package/bundle/src/utils/providers/common/provider-dispatcher.ts +18 -0
  687. package/bundle/src/utils/providers/openai/openai-dispatcher.test.ts +440 -0
  688. package/bundle/src/utils/providers/openai/openai-dispatcher.ts +143 -45
  689. package/bundle/web-dist/client/assets/{index-CYnw2kNG.js → index-ioEghlNo.js} +3 -3
  690. package/bundle/web-dist/client/assets/logs-TGA3XE4C.js +1 -0
  691. package/bundle/web-dist/client/assets/{monit-DRuDGJj4.js → monit-DLynJGca.js} +1 -1
  692. package/bundle/web-dist/client/assets/{routes-CuyNd-ya.js → routes-DugjmKS_.js} +1 -1
  693. package/bundle/web-dist/client/assets/{sd.generated-D2Y9QeiN.js → sd.generated-DbBC73_z.js} +1 -1
  694. package/bundle/web-dist/client/assets/{services.generated-CmxXl220.js → services.generated-BWyAypSh.js} +1 -1
  695. package/bundle/web-dist/client/assets/show-DSswR7Cy.js +30 -0
  696. package/bundle/web-dist/client/assets/{tokens-DxFeKC8Q.js → tokens-C5djVO__.js} +1 -1
  697. package/bundle/web-dist/client/assets/{use-update-token-mutation-6J1T9U2-.js → use-update-token-mutation-DeDBiZiM.js} +1 -1
  698. package/bundle/web-dist/client/index.html +2 -2
  699. package/bundle/web-dist/server/assets/{lazyRouteComponent-BlfOh9S3.js → lazyRouteComponent-BCJr868T.js} +1 -1
  700. package/bundle/web-dist/server/assets/{logs-DYly4ipQ.js → logs-33YNafdW.js} +30 -6
  701. package/bundle/web-dist/server/assets/{monit-CYyY2S2f.js → monit--9mVsjNU.js} +2 -2
  702. package/bundle/web-dist/server/assets/{routes-Dqu3osXt.js → routes-BK3Xh1UB.js} +3 -3
  703. package/bundle/web-dist/server/assets/{sd.generated-CE6D5clm.js → sd.generated-C3gcvRcU.js} +13 -0
  704. package/bundle/web-dist/server/assets/{services.generated-DyZUzXiq.js → services.generated-B2_Auwvk.js} +1 -1
  705. package/bundle/web-dist/server/assets/{show-BDul8xLb.js → show-Dxxxe608.js} +57 -8
  706. package/bundle/web-dist/server/assets/{tokens-fzMW4G74.js → tokens-BWPVvdfi.js} +3 -3
  707. package/bundle/web-dist/server/assets/{use-update-token-mutation-BejUW5sw.js → use-update-token-mutation-CNBgTysy.js} +1 -1
  708. package/bundle/web-dist/server/entry-server.generated.js +23 -23
  709. package/dist/cli.d.ts +1 -0
  710. package/dist/cli.js +18 -12
  711. package/package.json +6 -6
  712. package/skills/qgrid/SKILL.md +8 -0
  713. package/skills/qgrid/references/ai-sdk-provider-contract.md +58 -4
  714. package/skills/qgrid/references/anthropic-claude-code-runtime.md +44 -5
  715. package/skills/qgrid/references/cli-env-and-server-boot.md +20 -8
  716. package/skills/qgrid/references/decision-rationale.md +6 -0
  717. package/skills/qgrid/references/docs-workflow.md +10 -0
  718. package/skills/qgrid/references/openai-codex-runtime.md +11 -3
  719. package/skills/qgrid/references/prompt-cache-and-usage.md +4 -1
  720. package/skills/qgrid/references/provider-runtime-differences.md +3 -3
  721. package/skills/qgrid/references/request-log-run-lifecycle.md +50 -28
  722. package/skills/qgrid/references/sonamu-api-web-flow.md +17 -0
  723. package/skills/qgrid/references/token-auth-quota-lifecycle.md +6 -0
  724. package/skills/qgrid/references/tool-calling-and-multiturn.md +8 -7
  725. package/skills/qgrid/references/verification-and-debugging.md +1 -1
  726. package/bundle/dist/node_modules/.pnpm/@vitest_expect@4.1.2/node_modules/@vitest/expect/dist/index.js +0 -1484
  727. package/bundle/dist/node_modules/.pnpm/@vitest_pretty-format@4.1.2/node_modules/@vitest/pretty-format/dist/index.js +0 -887
  728. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.2/node_modules/@vitest/runner/dist/chunk-artifact.js +0 -2746
  729. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.2/node_modules/@vitest/runner/dist/index.js +0 -8
  730. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.2/node_modules/@vitest/runner/dist/utils.js +0 -8
  731. package/bundle/dist/node_modules/.pnpm/@vitest_snapshot@4.1.2/node_modules/@vitest/snapshot/dist/index.js +0 -662
  732. package/bundle/dist/node_modules/.pnpm/@vitest_spy@4.1.2/node_modules/@vitest/spy/dist/index.js +0 -386
  733. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +0 -82
  734. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/constants.js +0 -48
  735. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/diff.js +0 -1307
  736. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/display.js +0 -558
  737. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/error.js +0 -33
  738. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/helpers.js +0 -226
  739. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/offset.js +0 -27
  740. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/serialize.js +0 -77
  741. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/source-map.js +0 -374
  742. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/timers.js +0 -37
  743. package/bundle/dist/node_modules/.pnpm/vite@8.0.3_@emnapi_core@1.9.2_@emnapi_runtime@1.9.2_@types_node@25.0.7_esbuild@0.27.4_jiti@2.6.1_sass@1.98.0_tsx@4.21.0/node_modules/vite/dist/node/module-runner.js +0 -426
  744. package/bundle/dist/node_modules/.pnpm/vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496/node_modules/vitest/dist/chunks/index.DOa3dzoN.js +0 -16
  745. package/bundle/dist/node_modules/.pnpm/vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496/node_modules/vitest/dist/chunks/test.p_J6dB8a.js +0 -2910
  746. package/bundle/dist/node_modules/.pnpm/vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496/node_modules/vitest/dist/index.js +0 -28
  747. package/bundle/web-dist/client/assets/logs-CnXIN-jp.js +0 -1
  748. package/bundle/web-dist/client/assets/show-EleAOzJv.js +0 -30
@@ -0,0 +1,386 @@
1
+ //#region ../../node_modules/.pnpm/@vitest+spy@4.1.10/node_modules/@vitest/spy/dist/index.js
2
+ function isMockFunction(fn) {
3
+ return typeof fn === "function" && "_isMockFunction" in fn && fn._isMockFunction === true;
4
+ }
5
+ const MOCK_RESTORE = /* @__PURE__ */ new Set();
6
+ const REGISTERED_MOCKS = /* @__PURE__ */ new Set();
7
+ const MOCK_CONFIGS = /* @__PURE__ */ new WeakMap();
8
+ function createMockInstance(options = {}) {
9
+ const { originalImplementation, restore, mockImplementation, resetToMockImplementation, resetToMockName } = options;
10
+ if (restore) MOCK_RESTORE.add(restore);
11
+ const config = getDefaultConfig(originalImplementation);
12
+ const state = getDefaultState();
13
+ const mock = createMock({
14
+ config,
15
+ state,
16
+ ...options
17
+ });
18
+ const mockLength = (mockImplementation || originalImplementation)?.length ?? 0;
19
+ Object.defineProperty(mock, "length", {
20
+ writable: true,
21
+ enumerable: false,
22
+ value: mockLength,
23
+ configurable: true
24
+ });
25
+ if (resetToMockName) config.mockName = mock.name || "vi.fn()";
26
+ MOCK_CONFIGS.set(mock, config);
27
+ REGISTERED_MOCKS.add(mock);
28
+ mock._isMockFunction = true;
29
+ mock.getMockImplementation = () => {
30
+ return config.onceMockImplementations[0] || config.mockImplementation;
31
+ };
32
+ Object.defineProperty(mock, "mock", {
33
+ configurable: false,
34
+ enumerable: true,
35
+ writable: false,
36
+ value: state
37
+ });
38
+ mock.mockImplementation = function mockImplementation(implementation) {
39
+ config.mockImplementation = implementation;
40
+ return mock;
41
+ };
42
+ mock.mockImplementationOnce = function mockImplementationOnce(implementation) {
43
+ config.onceMockImplementations.push(implementation);
44
+ return mock;
45
+ };
46
+ mock.withImplementation = function withImplementation(implementation, callback) {
47
+ const previousImplementation = config.mockImplementation;
48
+ const previousOnceImplementations = config.onceMockImplementations;
49
+ const reset = () => {
50
+ config.mockImplementation = previousImplementation;
51
+ config.onceMockImplementations = previousOnceImplementations;
52
+ };
53
+ config.mockImplementation = implementation;
54
+ config.onceMockImplementations = [];
55
+ const returnValue = callback();
56
+ if (typeof returnValue === "object" && typeof returnValue?.then === "function") return returnValue.then(() => {
57
+ reset();
58
+ return mock;
59
+ });
60
+ else reset();
61
+ return mock;
62
+ };
63
+ mock.mockReturnThis = function mockReturnThis() {
64
+ return mock.mockImplementation(function() {
65
+ return this;
66
+ });
67
+ };
68
+ mock.mockReturnValue = function mockReturnValue(value) {
69
+ return mock.mockImplementation(function() {
70
+ if (new.target) throwConstructorError("mockReturnValue");
71
+ return value;
72
+ });
73
+ };
74
+ mock.mockReturnValueOnce = function mockReturnValueOnce(value) {
75
+ return mock.mockImplementationOnce(function() {
76
+ if (new.target) throwConstructorError("mockReturnValueOnce");
77
+ return value;
78
+ });
79
+ };
80
+ mock.mockThrow = function mockThrow(value) {
81
+ return mock.mockImplementation(function() {
82
+ throw value;
83
+ });
84
+ };
85
+ mock.mockThrowOnce = function mockThrowOnce(value) {
86
+ return mock.mockImplementationOnce(function() {
87
+ throw value;
88
+ });
89
+ };
90
+ mock.mockResolvedValue = function mockResolvedValue(value) {
91
+ return mock.mockImplementation(function() {
92
+ if (new.target) throwConstructorError("mockResolvedValue");
93
+ return Promise.resolve(value);
94
+ });
95
+ };
96
+ mock.mockResolvedValueOnce = function mockResolvedValueOnce(value) {
97
+ return mock.mockImplementationOnce(function() {
98
+ if (new.target) throwConstructorError("mockResolvedValueOnce");
99
+ return Promise.resolve(value);
100
+ });
101
+ };
102
+ mock.mockRejectedValue = function mockRejectedValue(value) {
103
+ return mock.mockImplementation(function() {
104
+ if (new.target) throwConstructorError("mockRejectedValue");
105
+ return Promise.reject(value);
106
+ });
107
+ };
108
+ mock.mockRejectedValueOnce = function mockRejectedValueOnce(value) {
109
+ return mock.mockImplementationOnce(function() {
110
+ if (new.target) throwConstructorError("mockRejectedValueOnce");
111
+ return Promise.reject(value);
112
+ });
113
+ };
114
+ mock.mockClear = function mockClear() {
115
+ state.calls = [];
116
+ state.contexts = [];
117
+ state.instances = [];
118
+ state.invocationCallOrder = [];
119
+ state.results = [];
120
+ state.settledResults = [];
121
+ return mock;
122
+ };
123
+ mock.mockReset = function mockReset() {
124
+ mock.mockClear();
125
+ config.mockImplementation = resetToMockImplementation ? mockImplementation : void 0;
126
+ config.mockName = resetToMockName ? mock.name || "vi.fn()" : "vi.fn()";
127
+ config.onceMockImplementations = [];
128
+ return mock;
129
+ };
130
+ mock.mockRestore = function mockRestore() {
131
+ mock.mockReset();
132
+ return restore?.();
133
+ };
134
+ mock.mockName = function mockName(name) {
135
+ if (typeof name === "string") config.mockName = name;
136
+ return mock;
137
+ };
138
+ mock.getMockName = function getMockName() {
139
+ return config.mockName || "vi.fn()";
140
+ };
141
+ if (Symbol.dispose) mock[Symbol.dispose] = () => mock.mockRestore();
142
+ if (mockImplementation) mock.mockImplementation(mockImplementation);
143
+ return mock;
144
+ }
145
+ function fn(originalImplementation) {
146
+ if (originalImplementation != null && isMockFunction(originalImplementation)) return originalImplementation;
147
+ return createMockInstance({
148
+ mockImplementation: originalImplementation,
149
+ resetToMockImplementation: true
150
+ });
151
+ }
152
+ function spyOn(object, key, accessor) {
153
+ assert(object != null, "The vi.spyOn() function could not find an object to spy upon. The first argument must be defined.");
154
+ assert(typeof object === "object" || typeof object === "function", "Vitest cannot spy on a primitive value.");
155
+ const [originalDescriptorObject, originalDescriptor] = getDescriptor(object, key) || [];
156
+ assert(originalDescriptor || key in object, `The property "${String(key)}" is not defined on the ${typeof object}.`);
157
+ let accessType = accessor || "value";
158
+ let ssr = false;
159
+ if (accessType === "value" && originalDescriptor && originalDescriptor.value == null && originalDescriptor.get) {
160
+ accessType = "get";
161
+ ssr = true;
162
+ }
163
+ let original;
164
+ if (originalDescriptor) {
165
+ original = originalDescriptor[accessType];
166
+ if (original == null && accessType === "value") original = object[key];
167
+ } else if (accessType !== "value") original = () => object[key];
168
+ else original = object[key];
169
+ const originalImplementation = ssr && original ? original() : original;
170
+ const originalType = typeof originalImplementation;
171
+ assert(originalType === "function" || accessType !== "value" && original == null, `vi.spyOn() can only spy on a function. Received ${originalType}.`);
172
+ if (isMockFunction(originalImplementation)) return originalImplementation;
173
+ const reassign = (cb) => {
174
+ const { value, ...desc } = originalDescriptor || {
175
+ configurable: true,
176
+ writable: true
177
+ };
178
+ if (accessType !== "value") delete desc.writable;
179
+ desc[accessType] = cb;
180
+ Object.defineProperty(object, key, desc);
181
+ };
182
+ const restore = () => {
183
+ if (originalDescriptorObject !== object) Reflect.deleteProperty(object, key);
184
+ else if (originalDescriptor && !original) Object.defineProperty(object, key, originalDescriptor);
185
+ else reassign(original);
186
+ };
187
+ const mock = createMockInstance({
188
+ restore,
189
+ originalImplementation,
190
+ resetToMockName: true
191
+ });
192
+ try {
193
+ reassign(ssr ? () => mock : mock);
194
+ } catch (error) {
195
+ if (error instanceof TypeError && Symbol.toStringTag && object[Symbol.toStringTag] === "Module" && (error.message.includes("Cannot redefine property") || error.message.includes("Cannot replace module namespace") || error.message.includes("can't redefine non-configurable property"))) throw new TypeError(`Cannot spy on export "${String(key)}". Module namespace is not configurable in ESM. See: https://vitest.dev/guide/browser/#limitations`, { cause: error });
196
+ throw error;
197
+ }
198
+ return mock;
199
+ }
200
+ function getDescriptor(obj, method) {
201
+ const objDescriptor = Object.getOwnPropertyDescriptor(obj, method);
202
+ if (objDescriptor) return [obj, objDescriptor];
203
+ let currentProto = Object.getPrototypeOf(obj);
204
+ while (currentProto !== null) {
205
+ const descriptor = Object.getOwnPropertyDescriptor(currentProto, method);
206
+ if (descriptor) return [currentProto, descriptor];
207
+ currentProto = Object.getPrototypeOf(currentProto);
208
+ }
209
+ }
210
+ function assert(condition, message) {
211
+ if (!condition) throw new Error(message);
212
+ }
213
+ let invocationCallCounter = 1;
214
+ function createMock({ state, config, name: mockName, prototypeState, prototypeConfig, keepMembersImplementation, mockImplementation, prototypeMembers = [] }) {
215
+ const original = config.mockOriginal;
216
+ const pseudoOriginal = mockImplementation;
217
+ const name = mockName || original?.name || "Mock";
218
+ const namedObject = { [name]: (function(...args) {
219
+ registerCalls(args, state, prototypeState);
220
+ registerInvocationOrder(invocationCallCounter++, state, prototypeState);
221
+ const result = {
222
+ type: "incomplete",
223
+ value: void 0
224
+ };
225
+ const settledResult = {
226
+ type: "incomplete",
227
+ value: void 0
228
+ };
229
+ registerResult(result, state, prototypeState);
230
+ registerSettledResult(settledResult, state, prototypeState);
231
+ const context = new.target ? void 0 : this;
232
+ const [instanceIndex, instancePrototypeIndex] = registerInstance(context, state, prototypeState);
233
+ const [contextIndex, contextPrototypeIndex] = registerContext(context, state, prototypeState);
234
+ const implementation = config.onceMockImplementations.shift() || config.mockImplementation || prototypeConfig?.onceMockImplementations.shift() || prototypeConfig?.mockImplementation || original || function() {};
235
+ let returnValue;
236
+ let thrownValue;
237
+ let didThrow = false;
238
+ try {
239
+ if (new.target) {
240
+ returnValue = Reflect.construct(implementation, args, new.target);
241
+ for (const prop of prototypeMembers) {
242
+ const prototypeMock = returnValue[prop];
243
+ if (prototypeMock !== mock.prototype[prop]) continue;
244
+ const isMock = isMockFunction(prototypeMock);
245
+ const prototypeState = isMock ? prototypeMock.mock : void 0;
246
+ const prototypeConfig = isMock ? MOCK_CONFIGS.get(prototypeMock) : void 0;
247
+ returnValue[prop] = createMockInstance({
248
+ originalImplementation: keepMembersImplementation ? prototypeConfig?.mockOriginal : void 0,
249
+ prototypeState,
250
+ prototypeConfig,
251
+ keepMembersImplementation
252
+ });
253
+ }
254
+ } else returnValue = implementation.apply(this, args);
255
+ } catch (error) {
256
+ thrownValue = error;
257
+ didThrow = true;
258
+ if (error instanceof TypeError && error.message.includes("is not a constructor")) console.warn(`[vitest] The ${namedObject[name].getMockName()} mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.`);
259
+ throw error;
260
+ } finally {
261
+ if (didThrow) {
262
+ result.type = "throw";
263
+ result.value = thrownValue;
264
+ settledResult.type = "rejected";
265
+ settledResult.value = thrownValue;
266
+ } else {
267
+ result.type = "return";
268
+ result.value = returnValue;
269
+ if (new.target) {
270
+ state.contexts[contextIndex - 1] = returnValue;
271
+ state.instances[instanceIndex - 1] = returnValue;
272
+ if (contextPrototypeIndex != null && prototypeState) prototypeState.contexts[contextPrototypeIndex - 1] = returnValue;
273
+ if (instancePrototypeIndex != null && prototypeState) prototypeState.instances[instancePrototypeIndex - 1] = returnValue;
274
+ }
275
+ if (returnValue instanceof Promise) returnValue.then((settledValue) => {
276
+ settledResult.type = "fulfilled";
277
+ settledResult.value = settledValue;
278
+ }, (rejectedValue) => {
279
+ settledResult.type = "rejected";
280
+ settledResult.value = rejectedValue;
281
+ });
282
+ else {
283
+ settledResult.type = "fulfilled";
284
+ settledResult.value = returnValue;
285
+ }
286
+ }
287
+ }
288
+ return returnValue;
289
+ }) };
290
+ const mock = namedObject[name];
291
+ const copyPropertiesFrom = original || pseudoOriginal;
292
+ if (copyPropertiesFrom) copyOriginalStaticProperties(mock, copyPropertiesFrom);
293
+ return mock;
294
+ }
295
+ function registerCalls(args, state, prototypeState) {
296
+ state.calls.push(args);
297
+ prototypeState?.calls.push(args);
298
+ }
299
+ function registerInvocationOrder(order, state, prototypeState) {
300
+ state.invocationCallOrder.push(order);
301
+ prototypeState?.invocationCallOrder.push(order);
302
+ }
303
+ function registerResult(result, state, prototypeState) {
304
+ state.results.push(result);
305
+ prototypeState?.results.push(result);
306
+ }
307
+ function registerSettledResult(result, state, prototypeState) {
308
+ state.settledResults.push(result);
309
+ prototypeState?.settledResults.push(result);
310
+ }
311
+ function registerInstance(instance, state, prototypeState) {
312
+ return [state.instances.push(instance), prototypeState?.instances.push(instance)];
313
+ }
314
+ function registerContext(context, state, prototypeState) {
315
+ return [state.contexts.push(context), prototypeState?.contexts.push(context)];
316
+ }
317
+ function copyOriginalStaticProperties(mock, original) {
318
+ const { properties, descriptors } = getAllProperties(original);
319
+ for (const key of properties) {
320
+ const descriptor = descriptors[key];
321
+ if (getDescriptor(mock, key)) continue;
322
+ Object.defineProperty(mock, key, descriptor);
323
+ }
324
+ }
325
+ const ignoreProperties = /* @__PURE__ */ new Set([
326
+ "length",
327
+ "name",
328
+ "prototype",
329
+ Symbol.for("nodejs.util.promisify.custom")
330
+ ]);
331
+ function getAllProperties(original) {
332
+ const properties = /* @__PURE__ */ new Set();
333
+ const descriptors = {};
334
+ while (original && original !== Object.prototype && original !== Function.prototype) {
335
+ const ownProperties = [...Object.getOwnPropertyNames(original), ...Object.getOwnPropertySymbols(original)];
336
+ for (const prop of ownProperties) {
337
+ if (descriptors[prop] || ignoreProperties.has(prop)) continue;
338
+ properties.add(prop);
339
+ descriptors[prop] = Object.getOwnPropertyDescriptor(original, prop);
340
+ }
341
+ original = Object.getPrototypeOf(original);
342
+ }
343
+ return {
344
+ properties,
345
+ descriptors
346
+ };
347
+ }
348
+ function getDefaultConfig(original) {
349
+ return {
350
+ mockImplementation: void 0,
351
+ mockOriginal: original,
352
+ mockName: "vi.fn()",
353
+ onceMockImplementations: []
354
+ };
355
+ }
356
+ function getDefaultState() {
357
+ const state = {
358
+ calls: [],
359
+ contexts: [],
360
+ instances: [],
361
+ invocationCallOrder: [],
362
+ settledResults: [],
363
+ results: [],
364
+ get lastCall() {
365
+ return state.calls.at(-1);
366
+ }
367
+ };
368
+ return state;
369
+ }
370
+ function restoreAllMocks() {
371
+ for (const restore of MOCK_RESTORE) restore();
372
+ MOCK_RESTORE.clear();
373
+ }
374
+ function clearAllMocks() {
375
+ REGISTERED_MOCKS.forEach((mock) => mock.mockClear());
376
+ }
377
+ function resetAllMocks() {
378
+ REGISTERED_MOCKS.forEach((mock) => mock.mockReset());
379
+ }
380
+ function throwConstructorError(shorthand) {
381
+ throw new TypeError(`Cannot use \`${shorthand}\` when called with \`new\`. Use \`mockImplementation\` with a \`class\` keyword instead. See https://vitest.dev/api/mock#class-support for more information.`);
382
+ }
383
+ //#endregion
384
+ export { clearAllMocks, createMockInstance, fn, isMockFunction, resetAllMocks, restoreAllMocks, spyOn };
385
+
386
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2aXRlc3Qrc3B5QDQuMS4xMC9ub2RlX21vZHVsZXMvQHZpdGVzdC9zcHkvZGlzdC9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBpc01vY2tGdW5jdGlvbihmbikge1xuXHRyZXR1cm4gdHlwZW9mIGZuID09PSBcImZ1bmN0aW9uXCIgJiYgXCJfaXNNb2NrRnVuY3Rpb25cIiBpbiBmbiAmJiBmbi5faXNNb2NrRnVuY3Rpb24gPT09IHRydWU7XG59XG5jb25zdCBNT0NLX1JFU1RPUkUgPSBuZXcgU2V0KCk7XG4vLyBKZXN0IGtlZXBzIHRoZSBzdGF0ZSBpbiBhIHNlcGFyYXRlIFdlYWtNYXAgd2hpY2ggaXMgZ29vZCBmb3IgbWVtb3J5LFxuLy8gYnV0IGl0IG1ha2VzIHRoZSBzdGF0ZSBzbG93ZXIgdG8gYWNjZXNzIGFuZCByZXR1cm4gZGlmZmVyZW50IHZhbHVlc1xuLy8gaWYgeW91IHN0b3JlZCBpdCBiZWZvcmUgY2FsbGluZyBgbW9ja0NsZWFyYCB3aGVyZSBpdCB3aWxsIGJlIHJlY3JlYXRlZFxuY29uc3QgUkVHSVNURVJFRF9NT0NLUyA9IG5ldyBTZXQoKTtcbmNvbnN0IE1PQ0tfQ09ORklHUyA9IG5ldyBXZWFrTWFwKCk7XG5mdW5jdGlvbiBjcmVhdGVNb2NrSW5zdGFuY2Uob3B0aW9ucyA9IHt9KSB7XG5cdGNvbnN0IHsgb3JpZ2luYWxJbXBsZW1lbnRhdGlvbiwgcmVzdG9yZSwgbW9ja0ltcGxlbWVudGF0aW9uLCByZXNldFRvTW9ja0ltcGxlbWVudGF0aW9uLCByZXNldFRvTW9ja05hbWUgfSA9IG9wdGlvbnM7XG5cdGlmIChyZXN0b3JlKSB7XG5cdFx0TU9DS19SRVNUT1JFLmFkZChyZXN0b3JlKTtcblx0fVxuXHRjb25zdCBjb25maWcgPSBnZXREZWZhdWx0Q29uZmlnKG9yaWdpbmFsSW1wbGVtZW50YXRpb24pO1xuXHRjb25zdCBzdGF0ZSA9IGdldERlZmF1bHRTdGF0ZSgpO1xuXHRjb25zdCBtb2NrID0gY3JlYXRlTW9jayh7XG5cdFx0Y29uZmlnLFxuXHRcdHN0YXRlLFxuXHRcdC4uLm9wdGlvbnNcblx0fSk7XG5cdGNvbnN0IG1vY2tMZW5ndGggPSAobW9ja0ltcGxlbWVudGF0aW9uIHx8IG9yaWdpbmFsSW1wbGVtZW50YXRpb24pPy5sZW5ndGggPz8gMDtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vY2ssIFwibGVuZ3RoXCIsIHtcblx0XHR3cml0YWJsZTogdHJ1ZSxcblx0XHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0XHR2YWx1ZTogbW9ja0xlbmd0aCxcblx0XHRjb25maWd1cmFibGU6IHRydWVcblx0fSk7XG5cdC8vIGluaGVyaXQgdGhlIGRlZmF1bHQgbmFtZSBzbyBpdCBhcHBlYXJzIGluIHNuYXBzaG90cyBhbmQgbG9nc1xuXHQvLyB0aGlzIGlzIHVzZWQgYnkgYHZpLnNweU9uKClgIGZvciBiZXR0ZXIgZGVidWdnaW5nLlxuXHQvLyB3aGVuIGB2aS5mbigpYCBpcyBjYWxsZWQsIHdlIGp1c3QgdXNlIHRoZSBkZWZhdWx0IHN0cmluZ1xuXHRpZiAocmVzZXRUb01vY2tOYW1lKSB7XG5cdFx0Y29uZmlnLm1vY2tOYW1lID0gbW9jay5uYW1lIHx8IFwidmkuZm4oKVwiO1xuXHR9XG5cdE1PQ0tfQ09ORklHUy5zZXQobW9jaywgY29uZmlnKTtcblx0UkVHSVNURVJFRF9NT0NLUy5hZGQobW9jayk7XG5cdG1vY2suX2lzTW9ja0Z1bmN0aW9uID0gdHJ1ZTtcblx0bW9jay5nZXRNb2NrSW1wbGVtZW50YXRpb24gPSAoKSA9PiB7XG5cdFx0Ly8gSmVzdCBvbmx5IHJldHVybnMgYGNvbmZpZy5tb2NrSW1wbGVtZW50YXRpb25gIGhlcmUsXG5cdFx0Ly8gYnV0IHdlIHRoaW5rIGl0IG1ha2VzIHNlbnNlIHRvIHJldHVybiB3aGF0IHRoZSBuZXh0IGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkXG5cdFx0cmV0dXJuIGNvbmZpZy5vbmNlTW9ja0ltcGxlbWVudGF0aW9uc1swXSB8fCBjb25maWcubW9ja0ltcGxlbWVudGF0aW9uO1xuXHR9O1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9jaywgXCJtb2NrXCIsIHtcblx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuXHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0d3JpdGFibGU6IGZhbHNlLFxuXHRcdHZhbHVlOiBzdGF0ZVxuXHR9KTtcblx0bW9jay5tb2NrSW1wbGVtZW50YXRpb24gPSBmdW5jdGlvbiBtb2NrSW1wbGVtZW50YXRpb24oaW1wbGVtZW50YXRpb24pIHtcblx0XHRjb25maWcubW9ja0ltcGxlbWVudGF0aW9uID0gaW1wbGVtZW50YXRpb247XG5cdFx0cmV0dXJuIG1vY2s7XG5cdH07XG5cdG1vY2subW9ja0ltcGxlbWVudGF0aW9uT25jZSA9IGZ1bmN0aW9uIG1vY2tJbXBsZW1lbnRhdGlvbk9uY2UoaW1wbGVtZW50YXRpb24pIHtcblx0XHRjb25maWcub25jZU1vY2tJbXBsZW1lbnRhdGlvbnMucHVzaChpbXBsZW1lbnRhdGlvbik7XG5cdFx0cmV0dXJuIG1vY2s7XG5cdH07XG5cdG1vY2sud2l0aEltcGxlbWVudGF0aW9uID0gZnVuY3Rpb24gd2l0aEltcGxlbWVudGF0aW9uKGltcGxlbWVudGF0aW9uLCBjYWxsYmFjaykge1xuXHRcdGNvbnN0IHByZXZpb3VzSW1wbGVtZW50YXRpb24gPSBjb25maWcubW9ja0ltcGxlbWVudGF0aW9uO1xuXHRcdGNvbnN0IHByZXZpb3VzT25jZUltcGxlbWVudGF0aW9ucyA9IGNvbmZpZy5vbmNlTW9ja0ltcGxlbWVudGF0aW9ucztcblx0XHRjb25zdCByZXNldCA9ICgpID0+IHtcblx0XHRcdGNvbmZpZy5tb2NrSW1wbGVtZW50YXRpb24gPSBwcmV2aW91c0ltcGxlbWVudGF0aW9uO1xuXHRcdFx0Y29uZmlnLm9uY2VNb2NrSW1wbGVtZW50YXRpb25zID0gcHJldmlvdXNPbmNlSW1wbGVtZW50YXRpb25zO1xuXHRcdH07XG5cdFx0Y29uZmlnLm1vY2tJbXBsZW1lbnRhdGlvbiA9IGltcGxlbWVudGF0aW9uO1xuXHRcdGNvbmZpZy5vbmNlTW9ja0ltcGxlbWVudGF0aW9ucyA9IFtdO1xuXHRcdGNvbnN0IHJldHVyblZhbHVlID0gY2FsbGJhY2soKTtcblx0XHRpZiAodHlwZW9mIHJldHVyblZhbHVlID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiByZXR1cm5WYWx1ZT8udGhlbiA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHRyZXR1cm4gcmV0dXJuVmFsdWUudGhlbigoKSA9PiB7XG5cdFx0XHRcdHJlc2V0KCk7XG5cdFx0XHRcdHJldHVybiBtb2NrO1xuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJlc2V0KCk7XG5cdFx0fVxuXHRcdHJldHVybiBtb2NrO1xuXHR9O1xuXHRtb2NrLm1vY2tSZXR1cm5UaGlzID0gZnVuY3Rpb24gbW9ja1JldHVyblRoaXMoKSB7XG5cdFx0cmV0dXJuIG1vY2subW9ja0ltcGxlbWVudGF0aW9uKGZ1bmN0aW9uKCkge1xuXHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0fSk7XG5cdH07XG5cdG1vY2subW9ja1JldHVyblZhbHVlID0gZnVuY3Rpb24gbW9ja1JldHVyblZhbHVlKHZhbHVlKSB7XG5cdFx0cmV0dXJuIG1vY2subW9ja0ltcGxlbWVudGF0aW9uKGZ1bmN0aW9uKCkge1xuXHRcdFx0aWYgKG5ldy50YXJnZXQpIHtcblx0XHRcdFx0dGhyb3dDb25zdHJ1Y3RvckVycm9yKFwibW9ja1JldHVyblZhbHVlXCIpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHZhbHVlO1xuXHRcdH0pO1xuXHR9O1xuXHRtb2NrLm1vY2tSZXR1cm5WYWx1ZU9uY2UgPSBmdW5jdGlvbiBtb2NrUmV0dXJuVmFsdWVPbmNlKHZhbHVlKSB7XG5cdFx0cmV0dXJuIG1vY2subW9ja0ltcGxlbWVudGF0aW9uT25jZShmdW5jdGlvbigpIHtcblx0XHRcdGlmIChuZXcudGFyZ2V0KSB7XG5cdFx0XHRcdHRocm93Q29uc3RydWN0b3JFcnJvcihcIm1vY2tSZXR1cm5WYWx1ZU9uY2VcIik7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fSk7XG5cdH07XG5cdG1vY2subW9ja1Rocm93ID0gZnVuY3Rpb24gbW9ja1Rocm93KHZhbHVlKSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1hcnJvdy1jYWxsYmFja1xuXHRcdHJldHVybiBtb2NrLm1vY2tJbXBsZW1lbnRhdGlvbihmdW5jdGlvbigpIHtcblx0XHRcdHRocm93IHZhbHVlO1xuXHRcdH0pO1xuXHR9O1xuXHRtb2NrLm1vY2tUaHJvd09uY2UgPSBmdW5jdGlvbiBtb2NrVGhyb3dPbmNlKHZhbHVlKSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1hcnJvdy1jYWxsYmFja1xuXHRcdHJldHVybiBtb2NrLm1vY2tJbXBsZW1lbnRhdGlvbk9uY2UoZnVuY3Rpb24oKSB7XG5cdFx0XHR0aHJvdyB2YWx1ZTtcblx0XHR9KTtcblx0fTtcblx0bW9jay5tb2NrUmVzb2x2ZWRWYWx1ZSA9IGZ1bmN0aW9uIG1vY2tSZXNvbHZlZFZhbHVlKHZhbHVlKSB7XG5cdFx0cmV0dXJuIG1vY2subW9ja0ltcGxlbWVudGF0aW9uKGZ1bmN0aW9uKCkge1xuXHRcdFx0aWYgKG5ldy50YXJnZXQpIHtcblx0XHRcdFx0dGhyb3dDb25zdHJ1Y3RvckVycm9yKFwibW9ja1Jlc29sdmVkVmFsdWVcIik7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZhbHVlKTtcblx0XHR9KTtcblx0fTtcblx0bW9jay5tb2NrUmVzb2x2ZWRWYWx1ZU9uY2UgPSBmdW5jdGlvbiBtb2NrUmVzb2x2ZWRWYWx1ZU9uY2UodmFsdWUpIHtcblx0XHRyZXR1cm4gbW9jay5tb2NrSW1wbGVtZW50YXRpb25PbmNlKGZ1bmN0aW9uKCkge1xuXHRcdFx0aWYgKG5ldy50YXJnZXQpIHtcblx0XHRcdFx0dGhyb3dDb25zdHJ1Y3RvckVycm9yKFwibW9ja1Jlc29sdmVkVmFsdWVPbmNlXCIpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSh2YWx1ZSk7XG5cdFx0fSk7XG5cdH07XG5cdG1vY2subW9ja1JlamVjdGVkVmFsdWUgPSBmdW5jdGlvbiBtb2NrUmVqZWN0ZWRWYWx1ZSh2YWx1ZSkge1xuXHRcdHJldHVybiBtb2NrLm1vY2tJbXBsZW1lbnRhdGlvbihmdW5jdGlvbigpIHtcblx0XHRcdGlmIChuZXcudGFyZ2V0KSB7XG5cdFx0XHRcdHRocm93Q29uc3RydWN0b3JFcnJvcihcIm1vY2tSZWplY3RlZFZhbHVlXCIpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KHZhbHVlKTtcblx0XHR9KTtcblx0fTtcblx0bW9jay5tb2NrUmVqZWN0ZWRWYWx1ZU9uY2UgPSBmdW5jdGlvbiBtb2NrUmVqZWN0ZWRWYWx1ZU9uY2UodmFsdWUpIHtcblx0XHRyZXR1cm4gbW9jay5tb2NrSW1wbGVtZW50YXRpb25PbmNlKGZ1bmN0aW9uKCkge1xuXHRcdFx0aWYgKG5ldy50YXJnZXQpIHtcblx0XHRcdFx0dGhyb3dDb25zdHJ1Y3RvckVycm9yKFwibW9ja1JlamVjdGVkVmFsdWVPbmNlXCIpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KHZhbHVlKTtcblx0XHR9KTtcblx0fTtcblx0bW9jay5tb2NrQ2xlYXIgPSBmdW5jdGlvbiBtb2NrQ2xlYXIoKSB7XG5cdFx0c3RhdGUuY2FsbHMgPSBbXTtcblx0XHRzdGF0ZS5jb250ZXh0cyA9IFtdO1xuXHRcdHN0YXRlLmluc3RhbmNlcyA9IFtdO1xuXHRcdHN0YXRlLmludm9jYXRpb25DYWxsT3JkZXIgPSBbXTtcblx0XHRzdGF0ZS5yZXN1bHRzID0gW107XG5cdFx0c3RhdGUuc2V0dGxlZFJlc3VsdHMgPSBbXTtcblx0XHRyZXR1cm4gbW9jaztcblx0fTtcblx0bW9jay5tb2NrUmVzZXQgPSBmdW5jdGlvbiBtb2NrUmVzZXQoKSB7XG5cdFx0bW9jay5tb2NrQ2xlYXIoKTtcblx0XHRjb25maWcubW9ja0ltcGxlbWVudGF0aW9uID0gcmVzZXRUb01vY2tJbXBsZW1lbnRhdGlvbiA/IG1vY2tJbXBsZW1lbnRhdGlvbiA6IHVuZGVmaW5lZDtcblx0XHRjb25maWcubW9ja05hbWUgPSByZXNldFRvTW9ja05hbWUgPyBtb2NrLm5hbWUgfHwgXCJ2aS5mbigpXCIgOiBcInZpLmZuKClcIjtcblx0XHRjb25maWcub25jZU1vY2tJbXBsZW1lbnRhdGlvbnMgPSBbXTtcblx0XHRyZXR1cm4gbW9jaztcblx0fTtcblx0bW9jay5tb2NrUmVzdG9yZSA9IGZ1bmN0aW9uIG1vY2tSZXN0b3JlKCkge1xuXHRcdG1vY2subW9ja1Jlc2V0KCk7XG5cdFx0cmV0dXJuIHJlc3RvcmU/LigpO1xuXHR9O1xuXHRtb2NrLm1vY2tOYW1lID0gZnVuY3Rpb24gbW9ja05hbWUobmFtZSkge1xuXHRcdGlmICh0eXBlb2YgbmFtZSA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0Y29uZmlnLm1vY2tOYW1lID0gbmFtZTtcblx0XHR9XG5cdFx0cmV0dXJuIG1vY2s7XG5cdH07XG5cdG1vY2suZ2V0TW9ja05hbWUgPSBmdW5jdGlvbiBnZXRNb2NrTmFtZSgpIHtcblx0XHRyZXR1cm4gY29uZmlnLm1vY2tOYW1lIHx8IFwidmkuZm4oKVwiO1xuXHR9O1xuXHRpZiAoU3ltYm9sLmRpc3Bvc2UpIHtcblx0XHRtb2NrW1N5bWJvbC5kaXNwb3NlXSA9ICgpID0+IG1vY2subW9ja1Jlc3RvcmUoKTtcblx0fVxuXHRpZiAobW9ja0ltcGxlbWVudGF0aW9uKSB7XG5cdFx0bW9jay5tb2NrSW1wbGVtZW50YXRpb24obW9ja0ltcGxlbWVudGF0aW9uKTtcblx0fVxuXHRyZXR1cm4gbW9jaztcbn1cbmZ1bmN0aW9uIGZuKG9yaWdpbmFsSW1wbGVtZW50YXRpb24pIHtcblx0Ly8gaWYgdGhlIGZ1bmN0aW9uIGlzIGFscmVhZHkgYSBtb2NrLCBqdXN0IHJldHVybiB0aGUgc2FtZSBmdW5jdGlvbixcblx0Ly8gc2ltaWxhcmx5IHRvIGhvdyB2aS5zcHlPbigpIHdvcmtzXG5cdGlmIChvcmlnaW5hbEltcGxlbWVudGF0aW9uICE9IG51bGwgJiYgaXNNb2NrRnVuY3Rpb24ob3JpZ2luYWxJbXBsZW1lbnRhdGlvbikpIHtcblx0XHRyZXR1cm4gb3JpZ2luYWxJbXBsZW1lbnRhdGlvbjtcblx0fVxuXHRyZXR1cm4gY3JlYXRlTW9ja0luc3RhbmNlKHtcblx0XHRtb2NrSW1wbGVtZW50YXRpb246IG9yaWdpbmFsSW1wbGVtZW50YXRpb24sXG5cdFx0cmVzZXRUb01vY2tJbXBsZW1lbnRhdGlvbjogdHJ1ZVxuXHR9KTtcbn1cbmZ1bmN0aW9uIHNweU9uKG9iamVjdCwga2V5LCBhY2Nlc3Nvcikge1xuXHRhc3NlcnQob2JqZWN0ICE9IG51bGwsIFwiVGhlIHZpLnNweU9uKCkgZnVuY3Rpb24gY291bGQgbm90IGZpbmQgYW4gb2JqZWN0IHRvIHNweSB1cG9uLiBUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBkZWZpbmVkLlwiKTtcblx0YXNzZXJ0KHR5cGVvZiBvYmplY3QgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIG9iamVjdCA9PT0gXCJmdW5jdGlvblwiLCBcIlZpdGVzdCBjYW5ub3Qgc3B5IG9uIGEgcHJpbWl0aXZlIHZhbHVlLlwiKTtcblx0Y29uc3QgW29yaWdpbmFsRGVzY3JpcHRvck9iamVjdCwgb3JpZ2luYWxEZXNjcmlwdG9yXSA9IGdldERlc2NyaXB0b3Iob2JqZWN0LCBrZXkpIHx8IFtdO1xuXHRhc3NlcnQob3JpZ2luYWxEZXNjcmlwdG9yIHx8IGtleSBpbiBvYmplY3QsIGBUaGUgcHJvcGVydHkgXCIke1N0cmluZyhrZXkpfVwiIGlzIG5vdCBkZWZpbmVkIG9uIHRoZSAke3R5cGVvZiBvYmplY3R9LmApO1xuXHRsZXQgYWNjZXNzVHlwZSA9IGFjY2Vzc29yIHx8IFwidmFsdWVcIjtcblx0bGV0IHNzciA9IGZhbHNlO1xuXHQvLyB2aXRlIHNzciBzdXBwb3J0IC0gYWN0dWFsIGZ1bmN0aW9uIGlzIHN0b3JlZCBpbnNpZGUgYSBnZXR0ZXJcblx0aWYgKGFjY2Vzc1R5cGUgPT09IFwidmFsdWVcIiAmJiBvcmlnaW5hbERlc2NyaXB0b3IgJiYgb3JpZ2luYWxEZXNjcmlwdG9yLnZhbHVlID09IG51bGwgJiYgb3JpZ2luYWxEZXNjcmlwdG9yLmdldCkge1xuXHRcdGFjY2Vzc1R5cGUgPSBcImdldFwiO1xuXHRcdHNzciA9IHRydWU7XG5cdH1cblx0bGV0IG9yaWdpbmFsO1xuXHRpZiAob3JpZ2luYWxEZXNjcmlwdG9yKSB7XG5cdFx0b3JpZ2luYWwgPSBvcmlnaW5hbERlc2NyaXB0b3JbYWNjZXNzVHlwZV07XG5cdFx0Ly8gd2VpcmQgUHJveHkgZWRnZSBjYXNlIHdoZXJlIGRlc2NyaXB0b3IncyB2YWx1ZSBpcyB1bmRlZmluZWQsXG5cdFx0Ly8gYnV0IHRoZXJlJ3Mgc3RpbGwgYSB2YWx1ZSBvbiB0aGUgb2JqZWN0IHdoZW4gY2FsbGVkXG5cdFx0Ly8gaHR0cHM6Ly9naXRodWIuY29tL3ZpdGVzdC1kZXYvdml0ZXN0L2lzc3Vlcy85NDM5XG5cdFx0aWYgKG9yaWdpbmFsID09IG51bGwgJiYgYWNjZXNzVHlwZSA9PT0gXCJ2YWx1ZVwiKSB7XG5cdFx0XHRvcmlnaW5hbCA9IG9iamVjdFtrZXldO1xuXHRcdH1cblx0fSBlbHNlIGlmIChhY2Nlc3NUeXBlICE9PSBcInZhbHVlXCIpIHtcblx0XHRvcmlnaW5hbCA9ICgpID0+IG9iamVjdFtrZXldO1xuXHR9IGVsc2Uge1xuXHRcdG9yaWdpbmFsID0gb2JqZWN0W2tleV07XG5cdH1cblx0Y29uc3Qgb3JpZ2luYWxJbXBsZW1lbnRhdGlvbiA9IHNzciAmJiBvcmlnaW5hbCA/IG9yaWdpbmFsKCkgOiBvcmlnaW5hbDtcblx0Y29uc3Qgb3JpZ2luYWxUeXBlID0gdHlwZW9mIG9yaWdpbmFsSW1wbGVtZW50YXRpb247XG5cdGFzc2VydChcblx0XHQvLyBhbGxvdyBvbmx5IGZ1bmN0aW9uc1xuXHRcdG9yaWdpbmFsVHlwZSA9PT0gXCJmdW5jdGlvblwiIHx8IGFjY2Vzc1R5cGUgIT09IFwidmFsdWVcIiAmJiBvcmlnaW5hbCA9PSBudWxsLFxuXHRcdGB2aS5zcHlPbigpIGNhbiBvbmx5IHNweSBvbiBhIGZ1bmN0aW9uLiBSZWNlaXZlZCAke29yaWdpbmFsVHlwZX0uYFxuXHQpO1xuXHRpZiAoaXNNb2NrRnVuY3Rpb24ob3JpZ2luYWxJbXBsZW1lbnRhdGlvbikpIHtcblx0XHRyZXR1cm4gb3JpZ2luYWxJbXBsZW1lbnRhdGlvbjtcblx0fVxuXHRjb25zdCByZWFzc2lnbiA9IChjYikgPT4ge1xuXHRcdGNvbnN0IHsgdmFsdWUsIC4uLmRlc2MgfSA9IG9yaWdpbmFsRGVzY3JpcHRvciB8fCB7XG5cdFx0XHRjb25maWd1cmFibGU6IHRydWUsXG5cdFx0XHR3cml0YWJsZTogdHJ1ZVxuXHRcdH07XG5cdFx0aWYgKGFjY2Vzc1R5cGUgIT09IFwidmFsdWVcIikge1xuXHRcdFx0ZGVsZXRlIGRlc2Mud3JpdGFibGU7XG5cdFx0fVxuXHRcdGRlc2NbYWNjZXNzVHlwZV0gPSBjYjtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqZWN0LCBrZXksIGRlc2MpO1xuXHR9O1xuXHRjb25zdCByZXN0b3JlID0gKCkgPT4ge1xuXHRcdC8vIGlmIG1ldGhvZCBpcyBkZWZpbmVkIG9uIHRoZSBwcm90b3R5cGUsIHdlIGNhbiBqdXN0IHJlbW92ZSBpdCBmcm9tXG5cdFx0Ly8gdGhlIGN1cnJlbnQgb2JqZWN0IGluc3RlYWQgb2YgcmVkZWZpbmluZyBhIGNvcHkgb2YgaXRcblx0XHRpZiAob3JpZ2luYWxEZXNjcmlwdG9yT2JqZWN0ICE9PSBvYmplY3QpIHtcblx0XHRcdFJlZmxlY3QuZGVsZXRlUHJvcGVydHkob2JqZWN0LCBrZXkpO1xuXHRcdH0gZWxzZSBpZiAob3JpZ2luYWxEZXNjcmlwdG9yICYmICFvcmlnaW5hbCkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG9iamVjdCwga2V5LCBvcmlnaW5hbERlc2NyaXB0b3IpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZWFzc2lnbihvcmlnaW5hbCk7XG5cdFx0fVxuXHR9O1xuXHRjb25zdCBtb2NrID0gY3JlYXRlTW9ja0luc3RhbmNlKHtcblx0XHRyZXN0b3JlLFxuXHRcdG9yaWdpbmFsSW1wbGVtZW50YXRpb24sXG5cdFx0cmVzZXRUb01vY2tOYW1lOiB0cnVlXG5cdH0pO1xuXHR0cnkge1xuXHRcdHJlYXNzaWduKHNzciA/ICgpID0+IG1vY2sgOiBtb2NrKTtcblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRpZiAoZXJyb3IgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgU3ltYm9sLnRvU3RyaW5nVGFnICYmIG9iamVjdFtTeW1ib2wudG9TdHJpbmdUYWddID09PSBcIk1vZHVsZVwiICYmIChlcnJvci5tZXNzYWdlLmluY2x1ZGVzKFwiQ2Fubm90IHJlZGVmaW5lIHByb3BlcnR5XCIpIHx8IGVycm9yLm1lc3NhZ2UuaW5jbHVkZXMoXCJDYW5ub3QgcmVwbGFjZSBtb2R1bGUgbmFtZXNwYWNlXCIpIHx8IGVycm9yLm1lc3NhZ2UuaW5jbHVkZXMoXCJjYW4ndCByZWRlZmluZSBub24tY29uZmlndXJhYmxlIHByb3BlcnR5XCIpKSkge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihgQ2Fubm90IHNweSBvbiBleHBvcnQgXCIke1N0cmluZyhrZXkpfVwiLiBNb2R1bGUgbmFtZXNwYWNlIGlzIG5vdCBjb25maWd1cmFibGUgaW4gRVNNLiBTZWU6IGh0dHBzOi8vdml0ZXN0LmRldi9ndWlkZS9icm93c2VyLyNsaW1pdGF0aW9uc2AsIHsgY2F1c2U6IGVycm9yIH0pO1xuXHRcdH1cblx0XHR0aHJvdyBlcnJvcjtcblx0fVxuXHRyZXR1cm4gbW9jaztcbn1cbmZ1bmN0aW9uIGdldERlc2NyaXB0b3Iob2JqLCBtZXRob2QpIHtcblx0Y29uc3Qgb2JqRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBtZXRob2QpO1xuXHRpZiAob2JqRGVzY3JpcHRvcikge1xuXHRcdHJldHVybiBbb2JqLCBvYmpEZXNjcmlwdG9yXTtcblx0fVxuXHRsZXQgY3VycmVudFByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaik7XG5cdHdoaWxlIChjdXJyZW50UHJvdG8gIT09IG51bGwpIHtcblx0XHRjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjdXJyZW50UHJvdG8sIG1ldGhvZCk7XG5cdFx0aWYgKGRlc2NyaXB0b3IpIHtcblx0XHRcdHJldHVybiBbY3VycmVudFByb3RvLCBkZXNjcmlwdG9yXTtcblx0XHR9XG5cdFx0Y3VycmVudFByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGN1cnJlbnRQcm90byk7XG5cdH1cbn1cbmZ1bmN0aW9uIGFzc2VydChjb25kaXRpb24sIG1lc3NhZ2UpIHtcblx0aWYgKCFjb25kaXRpb24pIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG5cdH1cbn1cbmxldCBpbnZvY2F0aW9uQ2FsbENvdW50ZXIgPSAxO1xuZnVuY3Rpb24gY3JlYXRlTW9jayh7IHN0YXRlLCBjb25maWcsIG5hbWU6IG1vY2tOYW1lLCBwcm90b3R5cGVTdGF0ZSwgcHJvdG90eXBlQ29uZmlnLCBrZWVwTWVtYmVyc0ltcGxlbWVudGF0aW9uLCBtb2NrSW1wbGVtZW50YXRpb24sIHByb3RvdHlwZU1lbWJlcnMgPSBbXSB9KSB7XG5cdGNvbnN0IG9yaWdpbmFsID0gY29uZmlnLm1vY2tPcmlnaW5hbDtcblx0Y29uc3QgcHNldWRvT3JpZ2luYWwgPSBtb2NrSW1wbGVtZW50YXRpb247XG5cdGNvbnN0IG5hbWUgPSBtb2NrTmFtZSB8fCBvcmlnaW5hbD8ubmFtZSB8fCBcIk1vY2tcIjtcblx0Y29uc3QgbmFtZWRPYmplY3QgPSB7IFtuYW1lXTogKGZ1bmN0aW9uKC4uLmFyZ3MpIHtcblx0XHRyZWdpc3RlckNhbGxzKGFyZ3MsIHN0YXRlLCBwcm90b3R5cGVTdGF0ZSk7XG5cdFx0cmVnaXN0ZXJJbnZvY2F0aW9uT3JkZXIoaW52b2NhdGlvbkNhbGxDb3VudGVyKyssIHN0YXRlLCBwcm90b3R5cGVTdGF0ZSk7XG5cdFx0Y29uc3QgcmVzdWx0ID0ge1xuXHRcdFx0dHlwZTogXCJpbmNvbXBsZXRlXCIsXG5cdFx0XHR2YWx1ZTogdW5kZWZpbmVkXG5cdFx0fTtcblx0XHRjb25zdCBzZXR0bGVkUmVzdWx0ID0ge1xuXHRcdFx0dHlwZTogXCJpbmNvbXBsZXRlXCIsXG5cdFx0XHR2YWx1ZTogdW5kZWZpbmVkXG5cdFx0fTtcblx0XHRyZWdpc3RlclJlc3VsdChyZXN1bHQsIHN0YXRlLCBwcm90b3R5cGVTdGF0ZSk7XG5cdFx0cmVnaXN0ZXJTZXR0bGVkUmVzdWx0KHNldHRsZWRSZXN1bHQsIHN0YXRlLCBwcm90b3R5cGVTdGF0ZSk7XG5cdFx0Y29uc3QgY29udGV4dCA9IG5ldy50YXJnZXQgPyB1bmRlZmluZWQgOiB0aGlzO1xuXHRcdGNvbnN0IFtpbnN0YW5jZUluZGV4LCBpbnN0YW5jZVByb3RvdHlwZUluZGV4XSA9IHJlZ2lzdGVySW5zdGFuY2UoY29udGV4dCwgc3RhdGUsIHByb3RvdHlwZVN0YXRlKTtcblx0XHRjb25zdCBbY29udGV4dEluZGV4LCBjb250ZXh0UHJvdG90eXBlSW5kZXhdID0gcmVnaXN0ZXJDb250ZXh0KGNvbnRleHQsIHN0YXRlLCBwcm90b3R5cGVTdGF0ZSk7XG5cdFx0Y29uc3QgaW1wbGVtZW50YXRpb24gPSBjb25maWcub25jZU1vY2tJbXBsZW1lbnRhdGlvbnMuc2hpZnQoKSB8fCBjb25maWcubW9ja0ltcGxlbWVudGF0aW9uIHx8IHByb3RvdHlwZUNvbmZpZz8ub25jZU1vY2tJbXBsZW1lbnRhdGlvbnMuc2hpZnQoKSB8fCBwcm90b3R5cGVDb25maWc/Lm1vY2tJbXBsZW1lbnRhdGlvbiB8fCBvcmlnaW5hbCB8fCBmdW5jdGlvbigpIHt9O1xuXHRcdGxldCByZXR1cm5WYWx1ZTtcblx0XHRsZXQgdGhyb3duVmFsdWU7XG5cdFx0bGV0IGRpZFRocm93ID0gZmFsc2U7XG5cdFx0dHJ5IHtcblx0XHRcdGlmIChuZXcudGFyZ2V0KSB7XG5cdFx0XHRcdHJldHVyblZhbHVlID0gUmVmbGVjdC5jb25zdHJ1Y3QoaW1wbGVtZW50YXRpb24sIGFyZ3MsIG5ldy50YXJnZXQpO1xuXHRcdFx0XHQvLyBqZXN0IGNhbGxzIHRoaXMgYmVmb3JlIHRoZSBpbXBsZW1lbnRhdGlvbiwgYnV0IHdlIGhhdmUgdG8gcmVzb2x2ZSB0aGlzIF9hZnRlcl9cblx0XHRcdFx0Ly8gYmVjYXVzZSB3ZSBjYW5ub3QgZG8gaXQgYmVmb3JlIHRoZSBgUmVmbGVjdC5jb25zdHJ1Y3RgIGNhbGxlZCB0aGUgY3VzdG9tIGltcGxlbWVudGF0aW9uLlxuXHRcdFx0XHQvLyBmb3J0dW5hdGVseSwgdGhlIGNvbnN0cnVjdG9yIGlzIGFsd2F5cyBhbiBlbXB0eSBmdW5jdGlvbiBiZWNhdXNlIGBwcm90b3R5cGVNZXRob2RzYFxuXHRcdFx0XHQvLyBhcmUgb25seSB1c2VkIGJ5IHRoZSBhdXRvbW9ja2VyLCBzbyB0aGlzIGRvZXNuJ3QgbWF0dGVyXG5cdFx0XHRcdGZvciAoY29uc3QgcHJvcCBvZiBwcm90b3R5cGVNZW1iZXJzKSB7XG5cdFx0XHRcdFx0Y29uc3QgcHJvdG90eXBlTW9jayA9IHJldHVyblZhbHVlW3Byb3BdO1xuXHRcdFx0XHRcdC8vIHRoZSBtZXRob2Qgd2FzIG92ZXJyaWRkZW4gYmVjYXVzZSBvZiBpbmhlcml0YW5jZSwgaWdub3JlIGl0XG5cdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHRzL25vLXVzZS1iZWZvcmUtZGVmaW5lXG5cdFx0XHRcdFx0aWYgKHByb3RvdHlwZU1vY2sgIT09IG1vY2sucHJvdG90eXBlW3Byb3BdKSB7XG5cdFx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Y29uc3QgaXNNb2NrID0gaXNNb2NrRnVuY3Rpb24ocHJvdG90eXBlTW9jayk7XG5cdFx0XHRcdFx0Y29uc3QgcHJvdG90eXBlU3RhdGUgPSBpc01vY2sgPyBwcm90b3R5cGVNb2NrLm1vY2sgOiB1bmRlZmluZWQ7XG5cdFx0XHRcdFx0Y29uc3QgcHJvdG90eXBlQ29uZmlnID0gaXNNb2NrID8gTU9DS19DT05GSUdTLmdldChwcm90b3R5cGVNb2NrKSA6IHVuZGVmaW5lZDtcblx0XHRcdFx0XHRyZXR1cm5WYWx1ZVtwcm9wXSA9IGNyZWF0ZU1vY2tJbnN0YW5jZSh7XG5cdFx0XHRcdFx0XHRvcmlnaW5hbEltcGxlbWVudGF0aW9uOiBrZWVwTWVtYmVyc0ltcGxlbWVudGF0aW9uID8gcHJvdG90eXBlQ29uZmlnPy5tb2NrT3JpZ2luYWwgOiB1bmRlZmluZWQsXG5cdFx0XHRcdFx0XHRwcm90b3R5cGVTdGF0ZSxcblx0XHRcdFx0XHRcdHByb3RvdHlwZUNvbmZpZyxcblx0XHRcdFx0XHRcdGtlZXBNZW1iZXJzSW1wbGVtZW50YXRpb25cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuVmFsdWUgPSBpbXBsZW1lbnRhdGlvbi5hcHBseSh0aGlzLCBhcmdzKTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0dGhyb3duVmFsdWUgPSBlcnJvcjtcblx0XHRcdGRpZFRocm93ID0gdHJ1ZTtcblx0XHRcdGlmIChlcnJvciBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBlcnJvci5tZXNzYWdlLmluY2x1ZGVzKFwiaXMgbm90IGEgY29uc3RydWN0b3JcIikpIHtcblx0XHRcdFx0Y29uc29sZS53YXJuKGBbdml0ZXN0XSBUaGUgJHtuYW1lZE9iamVjdFtuYW1lXS5nZXRNb2NrTmFtZSgpfSBtb2NrIGRpZCBub3QgdXNlICdmdW5jdGlvbicgb3IgJ2NsYXNzJyBpbiBpdHMgaW1wbGVtZW50YXRpb24sIHNlZSBodHRwczovL3ZpdGVzdC5kZXYvYXBpL3ZpI3ZpLXNweW9uIGZvciBleGFtcGxlcy5gKTtcblx0XHRcdH1cblx0XHRcdHRocm93IGVycm9yO1xuXHRcdH0gZmluYWxseSB7XG5cdFx0XHRpZiAoZGlkVGhyb3cpIHtcblx0XHRcdFx0cmVzdWx0LnR5cGUgPSBcInRocm93XCI7XG5cdFx0XHRcdHJlc3VsdC52YWx1ZSA9IHRocm93blZhbHVlO1xuXHRcdFx0XHRzZXR0bGVkUmVzdWx0LnR5cGUgPSBcInJlamVjdGVkXCI7XG5cdFx0XHRcdHNldHRsZWRSZXN1bHQudmFsdWUgPSB0aHJvd25WYWx1ZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJlc3VsdC50eXBlID0gXCJyZXR1cm5cIjtcblx0XHRcdFx0cmVzdWx0LnZhbHVlID0gcmV0dXJuVmFsdWU7XG5cdFx0XHRcdGlmIChuZXcudGFyZ2V0KSB7XG5cdFx0XHRcdFx0c3RhdGUuY29udGV4dHNbY29udGV4dEluZGV4IC0gMV0gPSByZXR1cm5WYWx1ZTtcblx0XHRcdFx0XHRzdGF0ZS5pbnN0YW5jZXNbaW5zdGFuY2VJbmRleCAtIDFdID0gcmV0dXJuVmFsdWU7XG5cdFx0XHRcdFx0aWYgKGNvbnRleHRQcm90b3R5cGVJbmRleCAhPSBudWxsICYmIHByb3RvdHlwZVN0YXRlKSB7XG5cdFx0XHRcdFx0XHRwcm90b3R5cGVTdGF0ZS5jb250ZXh0c1tjb250ZXh0UHJvdG90eXBlSW5kZXggLSAxXSA9IHJldHVyblZhbHVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoaW5zdGFuY2VQcm90b3R5cGVJbmRleCAhPSBudWxsICYmIHByb3RvdHlwZVN0YXRlKSB7XG5cdFx0XHRcdFx0XHRwcm90b3R5cGVTdGF0ZS5pbnN0YW5jZXNbaW5zdGFuY2VQcm90b3R5cGVJbmRleCAtIDFdID0gcmV0dXJuVmFsdWU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChyZXR1cm5WYWx1ZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcblx0XHRcdFx0XHRyZXR1cm5WYWx1ZS50aGVuKChzZXR0bGVkVmFsdWUpID0+IHtcblx0XHRcdFx0XHRcdHNldHRsZWRSZXN1bHQudHlwZSA9IFwiZnVsZmlsbGVkXCI7XG5cdFx0XHRcdFx0XHRzZXR0bGVkUmVzdWx0LnZhbHVlID0gc2V0dGxlZFZhbHVlO1xuXHRcdFx0XHRcdH0sIChyZWplY3RlZFZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0XHRzZXR0bGVkUmVzdWx0LnR5cGUgPSBcInJlamVjdGVkXCI7XG5cdFx0XHRcdFx0XHRzZXR0bGVkUmVzdWx0LnZhbHVlID0gcmVqZWN0ZWRWYWx1ZTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzZXR0bGVkUmVzdWx0LnR5cGUgPSBcImZ1bGZpbGxlZFwiO1xuXHRcdFx0XHRcdHNldHRsZWRSZXN1bHQudmFsdWUgPSByZXR1cm5WYWx1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gcmV0dXJuVmFsdWU7XG5cdH0pIH07XG5cdGNvbnN0IG1vY2sgPSBuYW1lZE9iamVjdFtuYW1lXTtcblx0Y29uc3QgY29weVByb3BlcnRpZXNGcm9tID0gb3JpZ2luYWwgfHwgcHNldWRvT3JpZ2luYWw7XG5cdGlmIChjb3B5UHJvcGVydGllc0Zyb20pIHtcblx0XHRjb3B5T3JpZ2luYWxTdGF0aWNQcm9wZXJ0aWVzKG1vY2ssIGNvcHlQcm9wZXJ0aWVzRnJvbSk7XG5cdH1cblx0cmV0dXJuIG1vY2s7XG59XG5mdW5jdGlvbiByZWdpc3RlckNhbGxzKGFyZ3MsIHN0YXRlLCBwcm90b3R5cGVTdGF0ZSkge1xuXHRzdGF0ZS5jYWxscy5wdXNoKGFyZ3MpO1xuXHRwcm90b3R5cGVTdGF0ZT8uY2FsbHMucHVzaChhcmdzKTtcbn1cbmZ1bmN0aW9uIHJlZ2lzdGVySW52b2NhdGlvbk9yZGVyKG9yZGVyLCBzdGF0ZSwgcHJvdG90eXBlU3RhdGUpIHtcblx0c3RhdGUuaW52b2NhdGlvbkNhbGxPcmRlci5wdXNoKG9yZGVyKTtcblx0cHJvdG90eXBlU3RhdGU/Lmludm9jYXRpb25DYWxsT3JkZXIucHVzaChvcmRlcik7XG59XG5mdW5jdGlvbiByZWdpc3RlclJlc3VsdChyZXN1bHQsIHN0YXRlLCBwcm90b3R5cGVTdGF0ZSkge1xuXHRzdGF0ZS5yZXN1bHRzLnB1c2gocmVzdWx0KTtcblx0cHJvdG90eXBlU3RhdGU/LnJlc3VsdHMucHVzaChyZXN1bHQpO1xufVxuZnVuY3Rpb24gcmVnaXN0ZXJTZXR0bGVkUmVzdWx0KHJlc3VsdCwgc3RhdGUsIHByb3RvdHlwZVN0YXRlKSB7XG5cdHN0YXRlLnNldHRsZWRSZXN1bHRzLnB1c2gocmVzdWx0KTtcblx0cHJvdG90eXBlU3RhdGU/LnNldHRsZWRSZXN1bHRzLnB1c2gocmVzdWx0KTtcbn1cbmZ1bmN0aW9uIHJlZ2lzdGVySW5zdGFuY2UoaW5zdGFuY2UsIHN0YXRlLCBwcm90b3R5cGVTdGF0ZSkge1xuXHRjb25zdCBpbnN0YW5jZUluZGV4ID0gc3RhdGUuaW5zdGFuY2VzLnB1c2goaW5zdGFuY2UpO1xuXHRjb25zdCBpbnN0YW5jZVByb3RvdHlwZUluZGV4ID0gcHJvdG90eXBlU3RhdGU/Lmluc3RhbmNlcy5wdXNoKGluc3RhbmNlKTtcblx0cmV0dXJuIFtpbnN0YW5jZUluZGV4LCBpbnN0YW5jZVByb3RvdHlwZUluZGV4XTtcbn1cbmZ1bmN0aW9uIHJlZ2lzdGVyQ29udGV4dChjb250ZXh0LCBzdGF0ZSwgcHJvdG90eXBlU3RhdGUpIHtcblx0Y29uc3QgY29udGV4dEluZGV4ID0gc3RhdGUuY29udGV4dHMucHVzaChjb250ZXh0KTtcblx0Y29uc3QgY29udGV4dFByb3RvdHlwZUluZGV4ID0gcHJvdG90eXBlU3RhdGU/LmNvbnRleHRzLnB1c2goY29udGV4dCk7XG5cdHJldHVybiBbY29udGV4dEluZGV4LCBjb250ZXh0UHJvdG90eXBlSW5kZXhdO1xufVxuZnVuY3Rpb24gY29weU9yaWdpbmFsU3RhdGljUHJvcGVydGllcyhtb2NrLCBvcmlnaW5hbCkge1xuXHRjb25zdCB7IHByb3BlcnRpZXMsIGRlc2NyaXB0b3JzIH0gPSBnZXRBbGxQcm9wZXJ0aWVzKG9yaWdpbmFsKTtcblx0Zm9yIChjb25zdCBrZXkgb2YgcHJvcGVydGllcykge1xuXHRcdGNvbnN0IGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9yc1trZXldO1xuXHRcdGNvbnN0IG1vY2tEZXNjcmlwdG9yID0gZ2V0RGVzY3JpcHRvcihtb2NrLCBrZXkpO1xuXHRcdGlmIChtb2NrRGVzY3JpcHRvcikge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2NrLCBrZXksIGRlc2NyaXB0b3IpO1xuXHR9XG59XG5jb25zdCBpZ25vcmVQcm9wZXJ0aWVzID0gbmV3IFNldChbXG5cdFwibGVuZ3RoXCIsXG5cdFwibmFtZVwiLFxuXHRcInByb3RvdHlwZVwiLFxuXHRTeW1ib2wuZm9yKFwibm9kZWpzLnV0aWwucHJvbWlzaWZ5LmN1c3RvbVwiKVxuXSk7XG5mdW5jdGlvbiBnZXRBbGxQcm9wZXJ0aWVzKG9yaWdpbmFsKSB7XG5cdGNvbnN0IHByb3BlcnRpZXMgPSBuZXcgU2V0KCk7XG5cdGNvbnN0IGRlc2NyaXB0b3JzID0ge307XG5cdHdoaWxlIChvcmlnaW5hbCAmJiBvcmlnaW5hbCAhPT0gT2JqZWN0LnByb3RvdHlwZSAmJiBvcmlnaW5hbCAhPT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7XG5cdFx0Y29uc3Qgb3duUHJvcGVydGllcyA9IFsuLi5PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvcmlnaW5hbCksIC4uLk9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob3JpZ2luYWwpXTtcblx0XHRmb3IgKGNvbnN0IHByb3Agb2Ygb3duUHJvcGVydGllcykge1xuXHRcdFx0aWYgKGRlc2NyaXB0b3JzW3Byb3BdIHx8IGlnbm9yZVByb3BlcnRpZXMuaGFzKHByb3ApKSB7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXHRcdFx0cHJvcGVydGllcy5hZGQocHJvcCk7XG5cdFx0XHRkZXNjcmlwdG9yc1twcm9wXSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob3JpZ2luYWwsIHByb3ApO1xuXHRcdH1cblx0XHRvcmlnaW5hbCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvcmlnaW5hbCk7XG5cdH1cblx0cmV0dXJuIHtcblx0XHRwcm9wZXJ0aWVzLFxuXHRcdGRlc2NyaXB0b3JzXG5cdH07XG59XG5mdW5jdGlvbiBnZXREZWZhdWx0Q29uZmlnKG9yaWdpbmFsKSB7XG5cdHJldHVybiB7XG5cdFx0bW9ja0ltcGxlbWVudGF0aW9uOiB1bmRlZmluZWQsXG5cdFx0bW9ja09yaWdpbmFsOiBvcmlnaW5hbCxcblx0XHRtb2NrTmFtZTogXCJ2aS5mbigpXCIsXG5cdFx0b25jZU1vY2tJbXBsZW1lbnRhdGlvbnM6IFtdXG5cdH07XG59XG5mdW5jdGlvbiBnZXREZWZhdWx0U3RhdGUoKSB7XG5cdGNvbnN0IHN0YXRlID0ge1xuXHRcdGNhbGxzOiBbXSxcblx0XHRjb250ZXh0czogW10sXG5cdFx0aW5zdGFuY2VzOiBbXSxcblx0XHRpbnZvY2F0aW9uQ2FsbE9yZGVyOiBbXSxcblx0XHRzZXR0bGVkUmVzdWx0czogW10sXG5cdFx0cmVzdWx0czogW10sXG5cdFx0Z2V0IGxhc3RDYWxsKCkge1xuXHRcdFx0cmV0dXJuIHN0YXRlLmNhbGxzLmF0KC0xKTtcblx0XHR9XG5cdH07XG5cdHJldHVybiBzdGF0ZTtcbn1cbmZ1bmN0aW9uIHJlc3RvcmVBbGxNb2NrcygpIHtcblx0Zm9yIChjb25zdCByZXN0b3JlIG9mIE1PQ0tfUkVTVE9SRSkge1xuXHRcdHJlc3RvcmUoKTtcblx0fVxuXHRNT0NLX1JFU1RPUkUuY2xlYXIoKTtcbn1cbmZ1bmN0aW9uIGNsZWFyQWxsTW9ja3MoKSB7XG5cdFJFR0lTVEVSRURfTU9DS1MuZm9yRWFjaCgobW9jaykgPT4gbW9jay5tb2NrQ2xlYXIoKSk7XG59XG5mdW5jdGlvbiByZXNldEFsbE1vY2tzKCkge1xuXHRSRUdJU1RFUkVEX01PQ0tTLmZvckVhY2goKG1vY2spID0+IG1vY2subW9ja1Jlc2V0KCkpO1xufVxuZnVuY3Rpb24gdGhyb3dDb25zdHJ1Y3RvckVycm9yKHNob3J0aGFuZCkge1xuXHR0aHJvdyBuZXcgVHlwZUVycm9yKGBDYW5ub3QgdXNlIFxcYCR7c2hvcnRoYW5kfVxcYCB3aGVuIGNhbGxlZCB3aXRoIFxcYG5ld1xcYC4gVXNlIFxcYG1vY2tJbXBsZW1lbnRhdGlvblxcYCB3aXRoIGEgXFxgY2xhc3NcXGAga2V5d29yZCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly92aXRlc3QuZGV2L2FwaS9tb2NrI2NsYXNzLXN1cHBvcnQgZm9yIG1vcmUgaW5mb3JtYXRpb24uYCk7XG59XG5cbmV4cG9ydCB7IGNsZWFyQWxsTW9ja3MsIGNyZWF0ZU1vY2tJbnN0YW5jZSwgZm4sIGlzTW9ja0Z1bmN0aW9uLCByZXNldEFsbE1vY2tzLCByZXN0b3JlQWxsTW9ja3MsIHNweU9uIH07XG4iXSwieF9nb29nbGVfaWdub3JlTGlzdCI6WzBdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsZUFBZSxJQUFJO0NBQzNCLE9BQU8sT0FBTyxPQUFPLGNBQWMscUJBQXFCLE1BQU0sR0FBRyxvQkFBb0I7QUFDdEY7QUFDQSxNQUFNLCtCQUFlLElBQUksSUFBSTtBQUk3QixNQUFNLG1DQUFtQixJQUFJLElBQUk7QUFDakMsTUFBTSwrQkFBZSxJQUFJLFFBQVE7QUFDakMsU0FBUyxtQkFBbUIsVUFBVSxDQUFDLEdBQUc7Q0FDekMsTUFBTSxFQUFFLHdCQUF3QixTQUFTLG9CQUFvQiwyQkFBMkIsb0JBQW9CO0NBQzVHLElBQUksU0FDSCxhQUFhLElBQUksT0FBTztDQUV6QixNQUFNLFNBQVMsaUJBQWlCLHNCQUFzQjtDQUN0RCxNQUFNLFFBQVEsZ0JBQWdCO0NBQzlCLE1BQU0sT0FBTyxXQUFXO0VBQ3ZCO0VBQ0E7RUFDQSxHQUFHO0NBQ0osQ0FBQztDQUNELE1BQU0sY0FBYyxzQkFBc0IsdUJBQUEsRUFBeUIsVUFBVTtDQUM3RSxPQUFPLGVBQWUsTUFBTSxVQUFVO0VBQ3JDLFVBQVU7RUFDVixZQUFZO0VBQ1osT0FBTztFQUNQLGNBQWM7Q0FDZixDQUFDO0NBSUQsSUFBSSxpQkFDSCxPQUFPLFdBQVcsS0FBSyxRQUFRO0NBRWhDLGFBQWEsSUFBSSxNQUFNLE1BQU07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
@@ -0,0 +1,121 @@
1
+ //#region ../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js
2
+ const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
3
+ function normalizeWindowsPath(input = "") {
4
+ if (!input) return input;
5
+ return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase());
6
+ }
7
+ const _UNC_REGEX = /^[/\\]{2}/;
8
+ const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
9
+ const _DRIVE_LETTER_RE = /^[A-Za-z]:$/;
10
+ const normalize = function(path) {
11
+ if (path.length === 0) return ".";
12
+ path = normalizeWindowsPath(path);
13
+ const isUNCPath = path.match(_UNC_REGEX);
14
+ const isPathAbsolute = isAbsolute(path);
15
+ const trailingSeparator = path[path.length - 1] === "/";
16
+ path = normalizeString(path, !isPathAbsolute);
17
+ if (path.length === 0) {
18
+ if (isPathAbsolute) return "/";
19
+ return trailingSeparator ? "./" : ".";
20
+ }
21
+ if (trailingSeparator) path += "/";
22
+ if (_DRIVE_LETTER_RE.test(path)) path += "/";
23
+ if (isUNCPath) {
24
+ if (!isPathAbsolute) return `//./${path}`;
25
+ return `//${path}`;
26
+ }
27
+ return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path;
28
+ };
29
+ const join = function(...segments) {
30
+ let path = "";
31
+ for (const seg of segments) {
32
+ if (!seg) continue;
33
+ if (path.length > 0) {
34
+ const pathTrailing = path[path.length - 1] === "/";
35
+ const segLeading = seg[0] === "/";
36
+ if (pathTrailing && segLeading) path += seg.slice(1);
37
+ else path += pathTrailing || segLeading ? seg : `/${seg}`;
38
+ } else path += seg;
39
+ }
40
+ return normalize(path);
41
+ };
42
+ function cwd() {
43
+ if (typeof process !== "undefined" && typeof process.cwd === "function") return process.cwd().replace(/\\/g, "/");
44
+ return "/";
45
+ }
46
+ const resolve = function(...arguments_) {
47
+ arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));
48
+ let resolvedPath = "";
49
+ let resolvedAbsolute = false;
50
+ for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {
51
+ const path = index >= 0 ? arguments_[index] : cwd();
52
+ if (!path || path.length === 0) continue;
53
+ resolvedPath = `${path}/${resolvedPath}`;
54
+ resolvedAbsolute = isAbsolute(path);
55
+ }
56
+ resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);
57
+ if (resolvedAbsolute && !isAbsolute(resolvedPath)) return `/${resolvedPath}`;
58
+ return resolvedPath.length > 0 ? resolvedPath : ".";
59
+ };
60
+ function normalizeString(path, allowAboveRoot) {
61
+ let res = "";
62
+ let lastSegmentLength = 0;
63
+ let lastSlash = -1;
64
+ let dots = 0;
65
+ let char = null;
66
+ for (let index = 0; index <= path.length; ++index) {
67
+ if (index < path.length) char = path[index];
68
+ else if (char === "/") break;
69
+ else char = "/";
70
+ if (char === "/") {
71
+ if (lastSlash === index - 1 || dots === 1);
72
+ else if (dots === 2) {
73
+ if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") {
74
+ if (res.length > 2) {
75
+ const lastSlashIndex = res.lastIndexOf("/");
76
+ if (lastSlashIndex === -1) {
77
+ res = "";
78
+ lastSegmentLength = 0;
79
+ } else {
80
+ res = res.slice(0, lastSlashIndex);
81
+ lastSegmentLength = res.length - 1 - res.lastIndexOf("/");
82
+ }
83
+ lastSlash = index;
84
+ dots = 0;
85
+ continue;
86
+ } else if (res.length > 0) {
87
+ res = "";
88
+ lastSegmentLength = 0;
89
+ lastSlash = index;
90
+ dots = 0;
91
+ continue;
92
+ }
93
+ }
94
+ if (allowAboveRoot) {
95
+ res += res.length > 0 ? "/.." : "..";
96
+ lastSegmentLength = 2;
97
+ }
98
+ } else {
99
+ if (res.length > 0) res += `/${path.slice(lastSlash + 1, index)}`;
100
+ else res = path.slice(lastSlash + 1, index);
101
+ lastSegmentLength = index - lastSlash - 1;
102
+ }
103
+ lastSlash = index;
104
+ dots = 0;
105
+ } else if (char === "." && dots !== -1) ++dots;
106
+ else dots = -1;
107
+ }
108
+ return res;
109
+ }
110
+ const isAbsolute = function(p) {
111
+ return _IS_ABSOLUTE_RE.test(p);
112
+ };
113
+ const dirname = function(p) {
114
+ const segments = normalizeWindowsPath(p).replace(/\/$/, "").split("/").slice(0, -1);
115
+ if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) segments[0] += "/";
116
+ return segments.join("/") || (isAbsolute(p) ? "/" : ".");
117
+ };
118
+ //#endregion
119
+ export { dirname as d, join as j, resolve as r };
120
+
121
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmstcGF0aGUuTS1lVGh0TlouanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2aXRlc3QrdXRpbHNANC4xLjEwL25vZGVfbW9kdWxlcy9Adml0ZXN0L3V0aWxzL2Rpc3QvY2h1bmstcGF0aGUuTS1lVGh0TlouanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgX0RSSVZFX0xFVFRFUl9TVEFSVF9SRSA9IC9eW0EtWmEtel06XFwvLztcbmZ1bmN0aW9uIG5vcm1hbGl6ZVdpbmRvd3NQYXRoKGlucHV0ID0gXCJcIikge1xuICBpZiAoIWlucHV0KSB7XG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG4gIHJldHVybiBpbnB1dC5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKS5yZXBsYWNlKF9EUklWRV9MRVRURVJfU1RBUlRfUkUsIChyKSA9PiByLnRvVXBwZXJDYXNlKCkpO1xufVxuXG5jb25zdCBfVU5DX1JFR0VYID0gL15bL1xcXFxdezJ9LztcbmNvbnN0IF9JU19BQlNPTFVURV9SRSA9IC9eWy9cXFxcXSg/IVsvXFxcXF0pfF5bL1xcXFxdezJ9KD8hXFwuKXxeW0EtWmEtel06Wy9cXFxcXS87XG5jb25zdCBfRFJJVkVfTEVUVEVSX1JFID0gL15bQS1aYS16XTokLztcbmNvbnN0IG5vcm1hbGl6ZSA9IGZ1bmN0aW9uKHBhdGgpIHtcbiAgaWYgKHBhdGgubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFwiLlwiO1xuICB9XG4gIHBhdGggPSBub3JtYWxpemVXaW5kb3dzUGF0aChwYXRoKTtcbiAgY29uc3QgaXNVTkNQYXRoID0gcGF0aC5tYXRjaChfVU5DX1JFR0VYKTtcbiAgY29uc3QgaXNQYXRoQWJzb2x1dGUgPSBpc0Fic29sdXRlKHBhdGgpO1xuICBjb25zdCB0cmFpbGluZ1NlcGFyYXRvciA9IHBhdGhbcGF0aC5sZW5ndGggLSAxXSA9PT0gXCIvXCI7XG4gIHBhdGggPSBub3JtYWxpemVTdHJpbmcocGF0aCwgIWlzUGF0aEFic29sdXRlKTtcbiAgaWYgKHBhdGgubGVuZ3RoID09PSAwKSB7XG4gICAgaWYgKGlzUGF0aEFic29sdXRlKSB7XG4gICAgICByZXR1cm4gXCIvXCI7XG4gICAgfVxuICAgIHJldHVybiB0cmFpbGluZ1NlcGFyYXRvciA/IFwiLi9cIiA6IFwiLlwiO1xuICB9XG4gIGlmICh0cmFpbGluZ1NlcGFyYXRvcikge1xuICAgIHBhdGggKz0gXCIvXCI7XG4gIH1cbiAgaWYgKF9EUklWRV9MRVRURVJfUkUudGVzdChwYXRoKSkge1xuICAgIHBhdGggKz0gXCIvXCI7XG4gIH1cbiAgaWYgKGlzVU5DUGF0aCkge1xuICAgIGlmICghaXNQYXRoQWJzb2x1dGUpIHtcbiAgICAgIHJldHVybiBgLy8uLyR7cGF0aH1gO1xuICAgIH1cbiAgICByZXR1cm4gYC8vJHtwYXRofWA7XG4gIH1cbiAgcmV0dXJuIGlzUGF0aEFic29sdXRlICYmICFpc0Fic29sdXRlKHBhdGgpID8gYC8ke3BhdGh9YCA6IHBhdGg7XG59O1xuY29uc3Qgam9pbiA9IGZ1bmN0aW9uKC4uLnNlZ21lbnRzKSB7XG4gIGxldCBwYXRoID0gXCJcIjtcbiAgZm9yIChjb25zdCBzZWcgb2Ygc2VnbWVudHMpIHtcbiAgICBpZiAoIXNlZykge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHBhdGhUcmFpbGluZyA9IHBhdGhbcGF0aC5sZW5ndGggLSAxXSA9PT0gXCIvXCI7XG4gICAgICBjb25zdCBzZWdMZWFkaW5nID0gc2VnWzBdID09PSBcIi9cIjtcbiAgICAgIGNvbnN0IGJvdGggPSBwYXRoVHJhaWxpbmcgJiYgc2VnTGVhZGluZztcbiAgICAgIGlmIChib3RoKSB7XG4gICAgICAgIHBhdGggKz0gc2VnLnNsaWNlKDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGF0aCArPSBwYXRoVHJhaWxpbmcgfHwgc2VnTGVhZGluZyA/IHNlZyA6IGAvJHtzZWd9YDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcGF0aCArPSBzZWc7XG4gICAgfVxuICB9XG4gIHJldHVybiBub3JtYWxpemUocGF0aCk7XG59O1xuZnVuY3Rpb24gY3dkKCkge1xuICBpZiAodHlwZW9mIHByb2Nlc3MgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIHByb2Nlc3MuY3dkID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gcHJvY2Vzcy5jd2QoKS5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKTtcbiAgfVxuICByZXR1cm4gXCIvXCI7XG59XG5jb25zdCByZXNvbHZlID0gZnVuY3Rpb24oLi4uYXJndW1lbnRzXykge1xuICBhcmd1bWVudHNfID0gYXJndW1lbnRzXy5tYXAoKGFyZ3VtZW50KSA9PiBub3JtYWxpemVXaW5kb3dzUGF0aChhcmd1bWVudCkpO1xuICBsZXQgcmVzb2x2ZWRQYXRoID0gXCJcIjtcbiAgbGV0IHJlc29sdmVkQWJzb2x1dGUgPSBmYWxzZTtcbiAgZm9yIChsZXQgaW5kZXggPSBhcmd1bWVudHNfLmxlbmd0aCAtIDE7IGluZGV4ID49IC0xICYmICFyZXNvbHZlZEFic29sdXRlOyBpbmRleC0tKSB7XG4gICAgY29uc3QgcGF0aCA9IGluZGV4ID49IDAgPyBhcmd1bWVudHNfW2luZGV4XSA6IGN3ZCgpO1xuICAgIGlmICghcGF0aCB8fCBwYXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIHJlc29sdmVkUGF0aCA9IGAke3BhdGh9LyR7cmVzb2x2ZWRQYXRofWA7XG4gICAgcmVzb2x2ZWRBYnNvbHV0ZSA9IGlzQWJzb2x1dGUocGF0aCk7XG4gIH1cbiAgcmVzb2x2ZWRQYXRoID0gbm9ybWFsaXplU3RyaW5nKHJlc29sdmVkUGF0aCwgIXJlc29sdmVkQWJzb2x1dGUpO1xuICBpZiAocmVzb2x2ZWRBYnNvbHV0ZSAmJiAhaXNBYnNvbHV0ZShyZXNvbHZlZFBhdGgpKSB7XG4gICAgcmV0dXJuIGAvJHtyZXNvbHZlZFBhdGh9YDtcbiAgfVxuICByZXR1cm4gcmVzb2x2ZWRQYXRoLmxlbmd0aCA+IDAgPyByZXNvbHZlZFBhdGggOiBcIi5cIjtcbn07XG5mdW5jdGlvbiBub3JtYWxpemVTdHJpbmcocGF0aCwgYWxsb3dBYm92ZVJvb3QpIHtcbiAgbGV0IHJlcyA9IFwiXCI7XG4gIGxldCBsYXN0U2VnbWVudExlbmd0aCA9IDA7XG4gIGxldCBsYXN0U2xhc2ggPSAtMTtcbiAgbGV0IGRvdHMgPSAwO1xuICBsZXQgY2hhciA9IG51bGw7XG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPD0gcGF0aC5sZW5ndGg7ICsraW5kZXgpIHtcbiAgICBpZiAoaW5kZXggPCBwYXRoLmxlbmd0aCkge1xuICAgICAgY2hhciA9IHBhdGhbaW5kZXhdO1xuICAgIH0gZWxzZSBpZiAoY2hhciA9PT0gXCIvXCIpIHtcbiAgICAgIGJyZWFrO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGFyID0gXCIvXCI7XG4gICAgfVxuICAgIGlmIChjaGFyID09PSBcIi9cIikge1xuICAgICAgaWYgKGxhc3RTbGFzaCA9PT0gaW5kZXggLSAxIHx8IGRvdHMgPT09IDEpIDsgZWxzZSBpZiAoZG90cyA9PT0gMikge1xuICAgICAgICBpZiAocmVzLmxlbmd0aCA8IDIgfHwgbGFzdFNlZ21lbnRMZW5ndGggIT09IDIgfHwgcmVzW3Jlcy5sZW5ndGggLSAxXSAhPT0gXCIuXCIgfHwgcmVzW3Jlcy5sZW5ndGggLSAyXSAhPT0gXCIuXCIpIHtcbiAgICAgICAgICBpZiAocmVzLmxlbmd0aCA+IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RTbGFzaEluZGV4ID0gcmVzLmxhc3RJbmRleE9mKFwiL1wiKTtcbiAgICAgICAgICAgIGlmIChsYXN0U2xhc2hJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgcmVzID0gXCJcIjtcbiAgICAgICAgICAgICAgbGFzdFNlZ21lbnRMZW5ndGggPSAwO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzID0gcmVzLnNsaWNlKDAsIGxhc3RTbGFzaEluZGV4KTtcbiAgICAgICAgICAgICAgbGFzdFNlZ21lbnRMZW5ndGggPSByZXMubGVuZ3RoIC0gMSAtIHJlcy5sYXN0SW5kZXhPZihcIi9cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsYXN0U2xhc2ggPSBpbmRleDtcbiAgICAgICAgICAgIGRvdHMgPSAwO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfSBlbHNlIGlmIChyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmVzID0gXCJcIjtcbiAgICAgICAgICAgIGxhc3RTZWdtZW50TGVuZ3RoID0gMDtcbiAgICAgICAgICAgIGxhc3RTbGFzaCA9IGluZGV4O1xuICAgICAgICAgICAgZG90cyA9IDA7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFsbG93QWJvdmVSb290KSB7XG4gICAgICAgICAgcmVzICs9IHJlcy5sZW5ndGggPiAwID8gXCIvLi5cIiA6IFwiLi5cIjtcbiAgICAgICAgICBsYXN0U2VnbWVudExlbmd0aCA9IDI7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJlcyArPSBgLyR7cGF0aC5zbGljZShsYXN0U2xhc2ggKyAxLCBpbmRleCl9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXMgPSBwYXRoLnNsaWNlKGxhc3RTbGFzaCArIDEsIGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBsYXN0U2VnbWVudExlbmd0aCA9IGluZGV4IC0gbGFzdFNsYXNoIC0gMTtcbiAgICAgIH1cbiAgICAgIGxhc3RTbGFzaCA9IGluZGV4O1xuICAgICAgZG90cyA9IDA7XG4gICAgfSBlbHNlIGlmIChjaGFyID09PSBcIi5cIiAmJiBkb3RzICE9PSAtMSkge1xuICAgICAgKytkb3RzO1xuICAgIH0gZWxzZSB7XG4gICAgICBkb3RzID0gLTE7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXM7XG59XG5jb25zdCBpc0Fic29sdXRlID0gZnVuY3Rpb24ocCkge1xuICByZXR1cm4gX0lTX0FCU09MVVRFX1JFLnRlc3QocCk7XG59O1xuY29uc3QgZGlybmFtZSA9IGZ1bmN0aW9uKHApIHtcbiAgY29uc3Qgc2VnbWVudHMgPSBub3JtYWxpemVXaW5kb3dzUGF0aChwKS5yZXBsYWNlKC9cXC8kLywgXCJcIikuc3BsaXQoXCIvXCIpLnNsaWNlKDAsIC0xKTtcbiAgaWYgKHNlZ21lbnRzLmxlbmd0aCA9PT0gMSAmJiBfRFJJVkVfTEVUVEVSX1JFLnRlc3Qoc2VnbWVudHNbMF0pKSB7XG4gICAgc2VnbWVudHNbMF0gKz0gXCIvXCI7XG4gIH1cbiAgcmV0dXJuIHNlZ21lbnRzLmpvaW4oXCIvXCIpIHx8IChpc0Fic29sdXRlKHApID8gXCIvXCIgOiBcIi5cIik7XG59O1xuXG5leHBvcnQgeyBkaXJuYW1lIGFzIGQsIGpvaW4gYXMgaiwgcmVzb2x2ZSBhcyByIH07XG4iXSwieF9nb29nbGVfaWdub3JlTGlzdCI6WzBdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0seUJBQXlCO0FBQy9CLFNBQVMscUJBQXFCLFFBQVEsSUFBSTtDQUN4QyxJQUFJLENBQUMsT0FDSCxPQUFPO0NBRVQsT0FBTyxNQUFNLFFBQVEsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLHlCQUF5QixNQUFNLEVBQUUsWUFBWSxDQUFDO0FBQ3pGO0FBRUEsTUFBTSxhQUFhO0FBQ25CLE1BQU0sa0JBQWtCO0FBQ3hCLE1BQU0sbUJBQW1CO0FBQ3pCLE1BQU0sWUFBWSxTQUFTLE1BQU07Q0FDL0IsSUFBSSxLQUFLLFdBQVcsR0FDbEIsT0FBTztDQUVULE9BQU8scUJBQXFCLElBQUk7Q0FDaEMsTUFBTSxZQUFZLEtBQUssTUFBTSxVQUFVO0NBQ3ZDLE1BQU0saUJBQWlCLFdBQVcsSUFBSTtDQUN0QyxNQUFNLG9CQUFvQixLQUFLLEtBQUssU0FBUyxPQUFPO0NBQ3BELE9BQU8sZ0JBQWdCLE1BQU0sQ0FBQyxjQUFjO0NBQzVDLElBQUksS0FBSyxXQUFXLEdBQUc7RUFDckIsSUFBSSxnQkFDRixPQUFPO0VBRVQsT0FBTyxvQkFBb0IsT0FBTztDQUNwQztDQUNBLElBQUksbUJBQ0YsUUFBUTtDQUVWLElBQUksaUJBQWlCLEtBQUssSUFBSSxHQUM1QixRQUFRO0NBRVYsSUFBSSxXQUFXO0VBQ2IsSUFBSSxDQUFDLGdCQUNILE9BQU8sT0FBTztFQUVoQixPQUFPLEtBQUs7Q0FDZDtDQUNBLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxJQUFJLElBQUksSUFBSSxTQUFTO0FBQzVEO0FBQ0EsTUFBTSxPQUFPLFNBQVMsR0FBRyxVQUFVO0NBQ2pDLElBQUksT0FBTztDQUNYLEtBQUssTUFBTSxPQUFPLFVBQVU7RUFDMUIsSUFBSSxDQUFDLEtBQ0g7RUFFRixJQUFJLEtBQUssU0FBUyxHQUFHO0dBQ25CLE1BQU0sZUFBZSxLQUFLLEtBQUssU0FBUyxPQUFPO0dBQy9DLE1BQU0sYUFBYSxJQUFJLE9BQU87R0FFOUIsSUFEYSxnQkFBZ0IsWUFFM0IsUUFBUSxJQUFJLE1BQU0sQ0FBQztRQUVuQixRQUFRLGdCQUFnQixhQUFhLE1BQU0sSUFBSTtFQUVuRCxPQUNFLFFBQVE7Q0FFWjtDQUNBLE9BQU8sVUFBVSxJQUFJO0FBQ3ZCO0FBQ0EsU0FBUyxNQUFNO0NBQ2IsSUFBSSxPQUFPLFlBQVksZUFBZSxPQUFPLFFBQVEsUUFBUSxZQUMzRCxPQUFPLFFBQVEsSUFBSSxDQUFDLENBQUMsUUFBUSxPQUFPLEdBQUc7Q0FFekMsT0FBTztBQUNUO0FBQ0EsTUFBTSxVQUFVLFNBQVMsR0FBRyxZQUFZO0NBQ3RDLGFBQWEsV0FBVyxLQUFLLGFBQWEscUJBQXFCLFFBQVEsQ0FBQztDQUN4RSxJQUFJLGVBQWU7Q0FDbkIsSUFBSSxtQkFBbUI7Q0FDdkIsS0FBSyxJQUFJLFFBQVEsV0FBVyxTQUFTLEdBQUcsU0FBUyxNQUFNLENBQUMsa0JBQWtCLFNBQVM7RUFDakYsTUFBTSxPQUFPLFNBQVMsSUFBSSxXQUFXLFNBQVMsSUFBSTtFQUNsRCxJQUFJLENBQUMsUUFBUSxLQUFLLFdBQVcsR0FDM0I7RUFFRixlQUFlLEdBQUcsS0FBSyxHQUFHO0VBQzFCLG1CQUFtQixXQUFXLElBQUk7Q0FDcEM7Q0FDQSxlQUFlLGdCQUFnQixjQUFjLENBQUMsZ0JBQWdCO0NBQzlELElBQUksb0JBQW9CLENBQUMsV0FBVyxZQUFZLEdBQzlDLE9BQU8sSUFBSTtDQUViLE9BQU8sYUFBYSxTQUFTLElBQUksZUFBZTtBQUNsRDtBQUNBLFNBQVMsZ0JBQWdCLE1BQU0sZ0JBQWdCO0NBQzdDLElBQUksTUFBTTtDQUNWLElBQUksb0JBQW9CO0NBQ3hCLElBQUksWUFBWTtDQUNoQixJQUFJLE9BQU87Q0FDWCxJQUFJLE9BQU87Q0FDWCxLQUFLLElBQUksUUFBUSxHQUFHLFNBQVMsS0FBSyxRQUFRLEVBQUUsT0FBTztFQUNqRCxJQUFJLFFBQVEsS0FBSyxRQUNmLE9BQU8sS0FBSztPQUNQLElBQUksU0FBUyxLQUNsQjtPQUVBLE9BQU87RUFFVCxJQUFJLFNBQVMsS0FBSztHQUNoQixJQUFJLGNBQWMsUUFBUSxLQUFLLFNBQVM7UUFBVSxJQUFJLFNBQVMsR0FBRztJQUNoRSxJQUFJLElBQUksU0FBUyxLQUFLLHNCQUFzQixLQUFLLElBQUksSUFBSSxTQUFTLE9BQU8sT0FBTyxJQUFJLElBQUksU0FBUyxPQUFPLEtBQ3RHO1NBQUksSUFBSSxTQUFTLEdBQUc7TUFDbEIsTUFBTSxpQkFBaUIsSUFBSSxZQUFZLEdBQUc7TUFDMUMsSUFBSSxtQkFBbUIsSUFBSTtPQUN6QixNQUFNO09BQ04sb0JBQW9CO01BQ3RCLE9BQU87T0FDTCxNQUFNLElBQUksTUFBTSxHQUFHLGNBQWM7T0FDakMsb0JBQW9CLElBQUksU0FBUyxJQUFJLElBQUksWUFBWSxHQUFHO01BQzFEO01BQ0EsWUFBWTtNQUNaLE9BQU87TUFDUDtLQUNGLE9BQU8sSUFBSSxJQUFJLFNBQVMsR0FBRztNQUN6QixNQUFNO01BQ04sb0JBQW9CO01BQ3BCLFlBQVk7TUFDWixPQUFPO01BQ1A7S0FDRjs7SUFFRixJQUFJLGdCQUFnQjtLQUNsQixPQUFPLElBQUksU0FBUyxJQUFJLFFBQVE7S0FDaEMsb0JBQW9CO0lBQ3RCO0dBQ0YsT0FBTztJQUNMLElBQUksSUFBSSxTQUFTLEdBQ2YsT0FBTyxJQUFJLEtBQUssTUFBTSxZQUFZLEdBQUcsS0FBSztTQUUxQyxNQUFNLEtBQUssTUFBTSxZQUFZLEdBQUcsS0FBSztJQUV2QyxvQkFBb0IsUUFBUSxZQUFZO0dBQzFDO0dBQ0EsWUFBWTtHQUNaLE9BQU87RUFDVCxPQUFPLElBQUksU0FBUyxPQUFPLFNBQVMsSUFDbEMsRUFBRTtPQUVGLE9BQU87Q0FFWDtDQUNBLE9BQU87QUFDVDtBQUNBLE1BQU0sYUFBYSxTQUFTLEdBQUc7Q0FDN0IsT0FBTyxnQkFBZ0IsS0FBSyxDQUFDO0FBQy9CO0FBQ0EsTUFBTSxVQUFVLFNBQVMsR0FBRztDQUMxQixNQUFNLFdBQVcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFFBQVEsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxFQUFFO0NBQ2xGLElBQUksU0FBUyxXQUFXLEtBQUssaUJBQWlCLEtBQUssU0FBUyxFQUFFLEdBQzVELFNBQVMsTUFBTTtDQUVqQixPQUFPLFNBQVMsS0FBSyxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksTUFBTTtBQUN0RCJ9
@@ -0,0 +1,51 @@
1
+ //#region ../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/constants.js
2
+ const KNOWN_ASSET_TYPES = [
3
+ "apng",
4
+ "bmp",
5
+ "png",
6
+ "jpe?g",
7
+ "jfif",
8
+ "pjpeg",
9
+ "pjp",
10
+ "gif",
11
+ "svg",
12
+ "ico",
13
+ "webp",
14
+ "avif",
15
+ "mp4",
16
+ "webm",
17
+ "ogg",
18
+ "mp3",
19
+ "wav",
20
+ "flac",
21
+ "aac",
22
+ "woff2?",
23
+ "eot",
24
+ "ttf",
25
+ "otf",
26
+ "webmanifest",
27
+ "pdf",
28
+ "txt"
29
+ ];
30
+ const KNOWN_ASSET_RE = new RegExp(`\\.(${KNOWN_ASSET_TYPES.join("|")})$`);
31
+ const CSS_LANGS_RE = /\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/;
32
+ /**
33
+ * Prefix for resolved Ids that are not valid browser import specifiers
34
+ */
35
+ const VALID_ID_PREFIX = `/@id/`;
36
+ /**
37
+ * Plugins that use 'virtual modules' (e.g. for helper functions), prefix the
38
+ * module ID with `\0`, a convention from the rollup ecosystem.
39
+ * This prevents other plugins from trying to process the id (like node resolution),
40
+ * and core features like sourcemaps can use this info to differentiate between
41
+ * virtual modules and regular files.
42
+ * `\0` is not a permitted char in import URLs so we have to replace them during
43
+ * import analysis. The id will be decoded back before entering the plugins pipeline.
44
+ * These encoded virtual ids are also prefixed by the VALID_ID_PREFIX, so virtual
45
+ * modules in the browser end up encoded as `/@id/__x00__{id}`
46
+ */
47
+ const NULL_BYTE_PLACEHOLDER = `__x00__`;
48
+ //#endregion
49
+ export { CSS_LANGS_RE, KNOWN_ASSET_RE, KNOWN_ASSET_TYPES, NULL_BYTE_PLACEHOLDER, VALID_ID_PREFIX };
50
+
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9Adml0ZXN0K3V0aWxzQDQuMS4xMC9ub2RlX21vZHVsZXMvQHZpdGVzdC91dGlscy9kaXN0L2NvbnN0YW50cy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiB0aGlzIGlzIGFsbCBjb3B5IHBhc3RlZCBmcm9tIFZpdGUgLSBjYW4gdGhleSBleHBvc2UgYSBtb2R1bGUgdGhhdCBleHBvcnRzIG9ubHkgY29uc3RhbnRzP1xuY29uc3QgS05PV05fQVNTRVRfVFlQRVMgPSBbXG5cdFwiYXBuZ1wiLFxuXHRcImJtcFwiLFxuXHRcInBuZ1wiLFxuXHRcImpwZT9nXCIsXG5cdFwiamZpZlwiLFxuXHRcInBqcGVnXCIsXG5cdFwicGpwXCIsXG5cdFwiZ2lmXCIsXG5cdFwic3ZnXCIsXG5cdFwiaWNvXCIsXG5cdFwid2VicFwiLFxuXHRcImF2aWZcIixcblx0XCJtcDRcIixcblx0XCJ3ZWJtXCIsXG5cdFwib2dnXCIsXG5cdFwibXAzXCIsXG5cdFwid2F2XCIsXG5cdFwiZmxhY1wiLFxuXHRcImFhY1wiLFxuXHRcIndvZmYyP1wiLFxuXHRcImVvdFwiLFxuXHRcInR0ZlwiLFxuXHRcIm90ZlwiLFxuXHRcIndlYm1hbmlmZXN0XCIsXG5cdFwicGRmXCIsXG5cdFwidHh0XCJcbl07XG5jb25zdCBLTk9XTl9BU1NFVF9SRSA9IG5ldyBSZWdFeHAoYFxcXFwuKCR7S05PV05fQVNTRVRfVFlQRVMuam9pbihcInxcIil9KSRgKTtcbmNvbnN0IENTU19MQU5HU19SRSA9IC9cXC4oY3NzfGxlc3N8c2Fzc3xzY3NzfHN0eWx8c3R5bHVzfHBjc3N8cG9zdGNzc3xzc3MpKD86JHxcXD8pLztcbi8qKlxuKiBQcmVmaXggZm9yIHJlc29sdmVkIElkcyB0aGF0IGFyZSBub3QgdmFsaWQgYnJvd3NlciBpbXBvcnQgc3BlY2lmaWVyc1xuKi9cbmNvbnN0IFZBTElEX0lEX1BSRUZJWCA9IGAvQGlkL2A7XG4vKipcbiogUGx1Z2lucyB0aGF0IHVzZSAndmlydHVhbCBtb2R1bGVzJyAoZS5nLiBmb3IgaGVscGVyIGZ1bmN0aW9ucyksIHByZWZpeCB0aGVcbiogbW9kdWxlIElEIHdpdGggYFxcMGAsIGEgY29udmVudGlvbiBmcm9tIHRoZSByb2xsdXAgZWNvc3lzdGVtLlxuKiBUaGlzIHByZXZlbnRzIG90aGVyIHBsdWdpbnMgZnJvbSB0cnlpbmcgdG8gcHJvY2VzcyB0aGUgaWQgKGxpa2Ugbm9kZSByZXNvbHV0aW9uKSxcbiogYW5kIGNvcmUgZmVhdHVyZXMgbGlrZSBzb3VyY2VtYXBzIGNhbiB1c2UgdGhpcyBpbmZvIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlblxuKiB2aXJ0dWFsIG1vZHVsZXMgYW5kIHJlZ3VsYXIgZmlsZXMuXG4qIGBcXDBgIGlzIG5vdCBhIHBlcm1pdHRlZCBjaGFyIGluIGltcG9ydCBVUkxzIHNvIHdlIGhhdmUgdG8gcmVwbGFjZSB0aGVtIGR1cmluZ1xuKiBpbXBvcnQgYW5hbHlzaXMuIFRoZSBpZCB3aWxsIGJlIGRlY29kZWQgYmFjayBiZWZvcmUgZW50ZXJpbmcgdGhlIHBsdWdpbnMgcGlwZWxpbmUuXG4qIFRoZXNlIGVuY29kZWQgdmlydHVhbCBpZHMgYXJlIGFsc28gcHJlZml4ZWQgYnkgdGhlIFZBTElEX0lEX1BSRUZJWCwgc28gdmlydHVhbFxuKiBtb2R1bGVzIGluIHRoZSBicm93c2VyIGVuZCB1cCBlbmNvZGVkIGFzIGAvQGlkL19feDAwX197aWR9YFxuKi9cbmNvbnN0IE5VTExfQllURV9QTEFDRUhPTERFUiA9IGBfX3gwMF9fYDtcblxuZXhwb3J0IHsgQ1NTX0xBTkdTX1JFLCBLTk9XTl9BU1NFVF9SRSwgS05PV05fQVNTRVRfVFlQRVMsIE5VTExfQllURV9QTEFDRUhPTERFUiwgVkFMSURfSURfUFJFRklYIH07XG4iXSwieF9nb29nbGVfaWdub3JlTGlzdCI6WzBdLCJtYXBwaW5ncyI6IjtBQUNBLE1BQU0sb0JBQW9CO0NBQ3pCO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUFDRDtBQUNBLE1BQU0saUJBQWlCLElBQUksT0FBTyxPQUFPLGtCQUFrQixLQUFLLEdBQUcsRUFBRSxHQUFHO0FBQ3hFLE1BQU0sZUFBZTs7OztBQUlyQixNQUFNLGtCQUFrQjs7Ozs7Ozs7Ozs7O0FBWXhCLE1BQU0sd0JBQXdCIn0=