@cartanova/qgrid-cli 2.1.0 → 2.2.0

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 (37) hide show
  1. package/bundle/dist/application/qgrid/conv-routing.js +68 -0
  2. package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +2 -2
  3. package/bundle/dist/application/qgrid/qgrid.dispatcher.js +16 -15
  4. package/bundle/dist/application/qgrid/qgrid.frame.js +17 -5
  5. package/bundle/dist/application/qgrid/qgrid.types.js +12 -3
  6. package/bundle/dist/application/qgrid/tool-emulation.js +11 -6
  7. package/bundle/dist/utils/providers/openai/codex-worker.js +140 -53
  8. package/bundle/dist/utils/providers/openai/openai-dispatcher.js +75 -21
  9. package/bundle/src/application/qgrid/conv-routing.ts +97 -0
  10. package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +2 -1
  11. package/bundle/src/application/qgrid/qgrid.dispatcher.ts +16 -5
  12. package/bundle/src/application/qgrid/qgrid.frame.ts +20 -5
  13. package/bundle/src/application/qgrid/qgrid.types.ts +14 -1
  14. package/bundle/src/application/qgrid/tool-emulation.ts +20 -5
  15. package/bundle/src/application/sonamu.generated.http +14 -2
  16. package/bundle/src/utils/providers/common/provider-dispatcher.ts +29 -2
  17. package/bundle/src/utils/providers/openai/codex-worker.test.ts +163 -0
  18. package/bundle/src/utils/providers/openai/codex-worker.ts +199 -39
  19. package/bundle/src/utils/providers/openai/openai-dispatcher.test.ts +59 -0
  20. package/bundle/src/utils/providers/openai/openai-dispatcher.ts +116 -27
  21. package/bundle/web-dist/client/assets/cost-CpjVoAqp.js +1 -0
  22. package/bundle/web-dist/client/assets/{index-ZV-tHpAg.js → index-DeThumA3.js} +2 -2
  23. package/bundle/web-dist/client/assets/logs-CtmOVH58.js +1 -0
  24. package/bundle/web-dist/client/assets/{routes-BMRwPj6F.js → routes-Cfoe9J0I.js} +1 -1
  25. package/bundle/web-dist/client/assets/show-C6OofoAL.js +30 -0
  26. package/bundle/web-dist/client/assets/{tokens-Cg1f0Ga2.js → tokens-BAZq8sTo.js} +1 -1
  27. package/bundle/web-dist/client/index.html +1 -1
  28. package/bundle/web-dist/server/assets/cost-DzjfVtUr.js +24 -0
  29. package/bundle/web-dist/server/assets/{logs-Xt934T5f.js → logs-CHM0fhfO.js} +2 -7
  30. package/bundle/web-dist/server/assets/{routes-B7QYbNIv.js → routes-C9xFMJ_r.js} +1 -1
  31. package/bundle/web-dist/server/assets/{show-Dxz6UJnD.js → show-BZWqH09U.js} +2 -4
  32. package/bundle/web-dist/server/entry-server.generated.js +3 -3
  33. package/package.json +1 -1
  34. package/bundle/web-dist/client/assets/cost-DE_8cLD-.js +0 -1
  35. package/bundle/web-dist/client/assets/logs-HJYkbqom.js +0 -1
  36. package/bundle/web-dist/client/assets/show-DI6iWDzV.js +0 -30
  37. package/bundle/web-dist/server/assets/cost-DdHTzQDR.js +0 -14
@@ -38,7 +38,16 @@ const QgridLogMode = z.enum([
38
38
  "run",
39
39
  "none"
40
40
  ]);
41
- const QgridRunContext = z.object({ requestLogId: z.number() });
41
+ const QgridThreadCoord = z.object({
42
+ workerId: z.number(),
43
+ threadId: z.string(),
44
+ epoch: z.number(),
45
+ systemHash: z.string()
46
+ });
47
+ const QgridRunContext = z.object({
48
+ requestLogId: z.number().optional(),
49
+ threadCoord: QgridThreadCoord.optional()
50
+ });
42
51
  const QgridToolResultInput = z.object({
43
52
  toolCallId: z.string(),
44
53
  toolName: z.string().optional(),
@@ -195,6 +204,6 @@ function maskToken(token) {
195
204
  return token.length > 4 ? `...${token.slice(-4)}` : token;
196
205
  }
197
206
  //#endregion
198
- export { AddTokenInput, AppendStepInput, CreateRunInput, Effort, FinishReason, FinishRunInput, HealthResponse, OAuthStartResult, ProcessError, QgridContent, QgridLogMode, QgridRunContext, QgridTool, QgridToolResultInput, QueryInput, QueryOutput, QuotaError, ReasoningSummary, RemoveTokenInput, ServiceTier, StreamEvents, SubscriberStatus, TimeoutError, TokenStats, UsageResponse, Verbosity, maskToken };
207
+ export { AddTokenInput, AppendStepInput, CreateRunInput, Effort, FinishReason, FinishRunInput, HealthResponse, OAuthStartResult, ProcessError, QgridContent, QgridLogMode, QgridRunContext, QgridThreadCoord, QgridTool, QgridToolResultInput, QueryInput, QueryOutput, QuotaError, ReasoningSummary, RemoveTokenInput, ServiceTier, StreamEvents, SubscriberStatus, TimeoutError, TokenStats, UsageResponse, Verbosity, maskToken };
199
208
 
200
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQudHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3FncmlkL3FncmlkLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbi8vIOKUgOKUgOKUgCBRdWVyeSDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IEVmZm9ydCA9IHouZW51bShbXCJsb3dcIiwgXCJtZWRpdW1cIiwgXCJoaWdoXCJdKTtcbmV4cG9ydCB0eXBlIEVmZm9ydCA9IHouaW5mZXI8dHlwZW9mIEVmZm9ydD47XG5cbmV4cG9ydCBjb25zdCBRZ3JpZFRvb2wgPSB6Lm9iamVjdCh7XG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGlucHV0U2NoZW1hOiB6LnVua25vd24oKSxcbn0pO1xuZXhwb3J0IHR5cGUgUWdyaWRUb29sID0gei5pbmZlcjx0eXBlb2YgUWdyaWRUb29sPjtcblxuZXhwb3J0IGNvbnN0IFFncmlkQ29udGVudCA9IHouZGlzY3JpbWluYXRlZFVuaW9uKFwidHlwZVwiLCBbXG4gIHoub2JqZWN0KHtcbiAgICB0eXBlOiB6LmxpdGVyYWwoXCJ0ZXh0XCIpLFxuICAgIHRleHQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICB6Lm9iamVjdCh7XG4gICAgdHlwZTogei5saXRlcmFsKFwidG9vbC1jYWxsXCIpLFxuICAgIHRvb2xDYWxsSWQ6IHouc3RyaW5nKCksXG4gICAgdG9vbE5hbWU6IHouc3RyaW5nKCksXG4gICAgaW5wdXQ6IHouc3RyaW5nKCksXG4gIH0pLFxuXSk7XG5leHBvcnQgdHlwZSBRZ3JpZENvbnRlbnQgPSB6LmluZmVyPHR5cGVvZiBRZ3JpZENvbnRlbnQ+O1xuXG5leHBvcnQgY29uc3QgRmluaXNoUmVhc29uID0gei5lbnVtKFtcInN0b3BcIiwgXCJ0b29sLWNhbGxzXCJdKTtcbmV4cG9ydCB0eXBlIEZpbmlzaFJlYXNvbiA9IHouaW5mZXI8dHlwZW9mIEZpbmlzaFJlYXNvbj47XG5cbmV4cG9ydCBjb25zdCBWZXJib3NpdHkgPSB6LmVudW0oW1wibG93XCIsIFwibWVkaXVtXCIsIFwiaGlnaFwiXSk7XG5leHBvcnQgdHlwZSBWZXJib3NpdHkgPSB6LmluZmVyPHR5cGVvZiBWZXJib3NpdHk+O1xuXG5leHBvcnQgY29uc3QgUmVhc29uaW5nU3VtbWFyeSA9IHouZW51bShbXCJhdXRvXCIsIFwiY29uY2lzZVwiLCBcImRldGFpbGVkXCIsIFwibm9uZVwiXSk7XG5leHBvcnQgdHlwZSBSZWFzb25pbmdTdW1tYXJ5ID0gei5pbmZlcjx0eXBlb2YgUmVhc29uaW5nU3VtbWFyeT47XG5cbmV4cG9ydCBjb25zdCBTZXJ2aWNlVGllciA9IHouZW51bShbXCJmYXN0XCIsIFwiZmxleFwiXSk7XG5leHBvcnQgdHlwZSBTZXJ2aWNlVGllciA9IHouaW5mZXI8dHlwZW9mIFNlcnZpY2VUaWVyPjtcblxuLy8g4pSA4pSA4pSAIFJ1biBMaWZlY3ljbGUgQ29udGV4dCAoU0RLIOKGlCBTZXJ2ZXIgY29udHJhY3QpIOKUgOKUgOKUgFxuXG5leHBvcnQgY29uc3QgUWdyaWRMb2dNb2RlID0gei5lbnVtKFtcImF1dG9cIiwgXCJydW5cIiwgXCJub25lXCJdKTtcbmV4cG9ydCB0eXBlIFFncmlkTG9nTW9kZSA9IHouaW5mZXI8dHlwZW9mIFFncmlkTG9nTW9kZT47XG5cbmV4cG9ydCBjb25zdCBRZ3JpZFJ1bkNvbnRleHQgPSB6Lm9iamVjdCh7XG4gIHJlcXVlc3RMb2dJZDogei5udW1iZXIoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUWdyaWRSdW5Db250ZXh0ID0gei5pbmZlcjx0eXBlb2YgUWdyaWRSdW5Db250ZXh0PjtcblxuZXhwb3J0IGNvbnN0IFFncmlkVG9vbFJlc3VsdElucHV0ID0gei5vYmplY3Qoe1xuICB0b29sQ2FsbElkOiB6LnN0cmluZygpLFxuICB0b29sTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBvdXRwdXQ6IHouc3RyaW5nKCksXG4gIGlzRXJyb3I6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIFFncmlkVG9vbFJlc3VsdElucHV0ID0gei5pbmZlcjx0eXBlb2YgUWdyaWRUb29sUmVzdWx0SW5wdXQ+O1xuXG5leHBvcnQgY29uc3QgUXVlcnlJbnB1dCA9IHoub2JqZWN0KHtcbiAgc3lzdGVtOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByb21wdDogei5zdHJpbmcoKSxcbiAgbW9kZWw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdGltZW91dDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBqc29uU2NoZW1hOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRvb2xzOiB6LmFycmF5KFFncmlkVG9vbCkub3B0aW9uYWwoKSxcbiAgZWZmb3J0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHZlcmJvc2l0eTogVmVyYm9zaXR5Lm9wdGlvbmFsKCksXG4gIHJlYXNvbmluZ1N1bW1hcnk6IFJlYXNvbmluZ1N1bW1hcnkub3B0aW9uYWwoKSxcbiAgc2VydmljZVRpZXI6IFNlcnZpY2VUaWVyLm9wdGlvbmFsKCksXG4gIGhpc3Rvcnk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcHJvamVjdE5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXNTdGVwOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBsb2dNb2RlOiBRZ3JpZExvZ01vZGUub3B0aW9uYWwoKSxcbiAgcnVuQ29udGV4dDogUWdyaWRSdW5Db250ZXh0Lm9wdGlvbmFsKCksXG4gIHRvb2xSZXN1bHRzOiB6LmFycmF5KFFncmlkVG9vbFJlc3VsdElucHV0KS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBRdWVyeUlucHV0ID0gei5pbmZlcjx0eXBlb2YgUXVlcnlJbnB1dD47XG5cbmV4cG9ydCBjb25zdCBRdWVyeU91dHB1dCA9IHoub2JqZWN0KHtcbiAgdGV4dDogei5zdHJpbmcoKSxcbiAgY29udGVudDogei5hcnJheShRZ3JpZENvbnRlbnQpLFxuICBmaW5pc2hSZWFzb246IEZpbmlzaFJlYXNvbixcbiAgdG9rZW5OYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1vZGVsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzYWdlOiB6Lm9iamVjdCh7XG4gICAgaW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgIG91dHB1dF90b2tlbnM6IHoubnVtYmVyKCksXG4gICAgY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgIGNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICB9KSxcbiAgZHVyYXRpb25Nczogei5udW1iZXIoKSxcbiAgY29zdFVzZDogei5udW1iZXIoKSxcbiAgcnVuQ29udGV4dDogUWdyaWRSdW5Db250ZXh0Lm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIFF1ZXJ5T3V0cHV0ID0gei5pbmZlcjx0eXBlb2YgUXVlcnlPdXRwdXQ+O1xuXG4vLyDilIDilIDilIAgU3RyZWFtIEV2ZW50cyDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IFN0cmVhbUV2ZW50cyA9IHoub2JqZWN0KHtcbiAgZGVsdGE6IHoub2JqZWN0KHsgdGV4dDogei5zdHJpbmcoKSB9KSxcbiAgdG9vbENhbGw6IHoub2JqZWN0KHtcbiAgICB0b29sQ2FsbElkOiB6LnN0cmluZygpLFxuICAgIHRvb2xOYW1lOiB6LnN0cmluZygpLFxuICAgIGlucHV0OiB6LnN0cmluZygpLFxuICB9KSxcbiAgZG9uZTogei5vYmplY3Qoe1xuICAgIHRleHQ6IHouc3RyaW5nKCksXG4gICAgbW9kZWw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB0b2tlbk5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBmaW5pc2hSZWFzb246IEZpbmlzaFJlYXNvbixcbiAgICB1c2FnZTogei5vYmplY3Qoe1xuICAgICAgaW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgICAgb3V0cHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgICAgIGNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgICAgIGNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgIH0pLFxuICAgIGR1cmF0aW9uTXM6IHoubnVtYmVyKCksXG4gICAgY29zdFVzZDogei5udW1iZXIoKSxcbiAgICBjb250ZW50OiB6LmFycmF5KFFncmlkQ29udGVudCksXG4gICAgcnVuQ29udGV4dDogUWdyaWRSdW5Db250ZXh0Lm9wdGlvbmFsKCksXG4gIH0pLFxuICBlcnJvcjogei5vYmplY3QoeyBtZXNzYWdlOiB6LnN0cmluZygpIH0pLFxufSk7XG5leHBvcnQgdHlwZSBTdHJlYW1FdmVudHMgPSB6LmluZmVyPHR5cGVvZiBTdHJlYW1FdmVudHM+O1xuXG4vLyDilIDilIDilIAgUnVuIExpZmVjeWNsZSDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVJ1bklucHV0ID0gei5vYmplY3Qoe1xuICB1c2VyUHJvbXB0OiB6LnN0cmluZygpLFxuICBzeXN0ZW1Qcm9tcHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbW9kZWxOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGVmZm9ydDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBwcm9qZWN0TmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBoaXN0b3J5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIENyZWF0ZVJ1bklucHV0ID0gei5pbmZlcjx0eXBlb2YgQ3JlYXRlUnVuSW5wdXQ+O1xuXG5leHBvcnQgY29uc3QgQXBwZW5kU3RlcElucHV0ID0gei5vYmplY3Qoe1xuICByZXF1ZXN0TG9nSWQ6IHoubnVtYmVyKCksXG4gIHN0ZXBJbmRleDogei5udW1iZXIoKSxcbiAgdHlwZTogei5lbnVtKFtcImdlbmVyYXRlXCIsIFwidG9vbF9jYWxsXCJdKSxcbiAgaW5wdXRUb2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgb3V0cHV0VG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGNhY2hlUmVhZFRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBjYWNoZUNyZWF0aW9uVG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGR1cmF0aW9uTXM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgZmluaXNoUmVhc29uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlYXNvbmluZ1RleHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcmVhc29uaW5nVG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRvb2xDYWxsSW5kZXg6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdG9vbENhbGxJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b29sTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b29sQXJnczogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b29sUmVzdWx0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRvb2xEdXJhdGlvbk1zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGVycm9yOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIEFwcGVuZFN0ZXBJbnB1dCA9IHouaW5mZXI8dHlwZW9mIEFwcGVuZFN0ZXBJbnB1dD47XG5cbmV4cG9ydCBjb25zdCBGaW5pc2hSdW5JbnB1dCA9IHoub2JqZWN0KHtcbiAgcmVxdWVzdExvZ0lkOiB6Lm51bWJlcigpLFxuICBzdGF0dXM6IHouZW51bShbXCJzdWNjZWVkZWRcIiwgXCJlcnJvclwiLCBcImFib3J0ZWRcIl0pLFxuICByZXNwb25zZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b2tlbk5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdG90YWxJbnB1dFRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0b3RhbE91dHB1dFRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0b3RhbENhY2hlUmVhZFRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0b3RhbENhY2hlQ3JlYXRpb25Ub2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdG90YWxEdXJhdGlvbk1zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGhpc3Rvcnk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZXJyb3JNZXNzYWdlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIEZpbmlzaFJ1bklucHV0ID0gei5pbmZlcjx0eXBlb2YgRmluaXNoUnVuSW5wdXQ+O1xuXG4vLyDilIDilIDilIAgVG9rZW4gTWFuYWdlbWVudCDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IEFkZFRva2VuSW5wdXQgPSB6Lm9iamVjdCh7XG4gIHRva2VuOiB6LnN0cmluZygpLFxuICBuYW1lOiB6LnN0cmluZygpLFxufSk7XG5leHBvcnQgdHlwZSBBZGRUb2tlbklucHV0ID0gei5pbmZlcjx0eXBlb2YgQWRkVG9rZW5JbnB1dD47XG5cbmV4cG9ydCBjb25zdCBSZW1vdmVUb2tlbklucHV0ID0gei5vYmplY3Qoe1xuICB0b2tlbjogei5zdHJpbmcoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmVtb3ZlVG9rZW5JbnB1dCA9IHouaW5mZXI8dHlwZW9mIFJlbW92ZVRva2VuSW5wdXQ+O1xuXG5leHBvcnQgY29uc3QgVG9rZW5TdGF0cyA9IHoub2JqZWN0KHtcbiAgdG9rZW46IHouc3RyaW5nKCksXG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIHByb3ZpZGVyOiB6LnN0cmluZygpLFxuICByZXF1ZXN0czogei5udW1iZXIoKSxcbn0pO1xuZXhwb3J0IHR5cGUgVG9rZW5TdGF0cyA9IHouaW5mZXI8dHlwZW9mIFRva2VuU3RhdHM+O1xuXG4vLyDilIDilIDilIAgT0F1dGgg4pSA4pSA4pSAXG5cbmV4cG9ydCBjb25zdCBPQXV0aFN0YXJ0UmVzdWx0ID0gei5vYmplY3Qoe1xuICBhdXRoVXJsOiB6LnN0cmluZygpLFxufSk7XG5leHBvcnQgdHlwZSBPQXV0aFN0YXJ0UmVzdWx0ID0gei5pbmZlcjx0eXBlb2YgT0F1dGhTdGFydFJlc3VsdD47XG5cbmNvbnN0IFJhdGVXaW5kb3cgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHV0aWxpemF0aW9uOiB6Lm51bWJlcigpLm51bGxhYmxlKCksXG4gICAgcmVzZXRzQXQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgfSlcbiAgLm51bGxhYmxlKCk7XG5cbmV4cG9ydCBjb25zdCBVc2FnZVJlc3BvbnNlID0gei5vYmplY3Qoe1xuICBlcnJvcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBwcm92aWRlcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaXZlSG91cjogUmF0ZVdpbmRvdy5vcHRpb25hbCgpLFxuICBzZXZlbkRheTogUmF0ZVdpbmRvdy5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBVc2FnZVJlc3BvbnNlID0gei5pbmZlcjx0eXBlb2YgVXNhZ2VSZXNwb25zZT47XG5cbi8vIOKUgOKUgOKUgCBIZWFsdGgg4pSA4pSA4pSAXG5cbmV4cG9ydCBjb25zdCBTdWJzY3JpYmVyU3RhdHVzID0gei5vYmplY3Qoe1xuICBjb25uZWN0ZWQ6IHouYm9vbGVhbigpLFxuICBjb25uZWN0ZWRBdDogei5kYXRlKCkubnVsbGFibGUoKSxcbiAgbGFzdFJlY29uY2lsZUF0OiB6LmRhdGUoKS5udWxsYWJsZSgpLFxuICBhdHRlbXB0OiB6Lm51bWJlcigpLFxufSk7XG5leHBvcnQgdHlwZSBTdWJzY3JpYmVyU3RhdHVzID0gei5pbmZlcjx0eXBlb2YgU3Vic2NyaWJlclN0YXR1cz47XG5cbmV4cG9ydCBjb25zdCBIZWFsdGhSZXNwb25zZSA9IHoub2JqZWN0KHtcbiAgc3RhdHVzOiB6LnN0cmluZygpLFxuICBhY3RpdmVUb2tlbnM6IHoubnVtYmVyKCksXG4gIHN1YnNjcmliZXI6IFN1YnNjcmliZXJTdGF0dXMubnVsbGFibGUoKSxcbn0pO1xuZXhwb3J0IHR5cGUgSGVhbHRoUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBIZWFsdGhSZXNwb25zZT47XG5cbi8vIOKUgOKUgOKUgCBFcnJvcnMg4pSA4pSA4pSAXG5cbmV4cG9ydCBjbGFzcyBRdW90YUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICByZWFkb25seSBjb2RlID0gXCJRVU9UQV9FWEhBVVNURURcIiBhcyBjb25zdDtcbn1cbmV4cG9ydCBjbGFzcyBUaW1lb3V0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IGNvZGUgPSBcIlRJTUVPVVRcIiBhcyBjb25zdDtcbn1cbmV4cG9ydCBjbGFzcyBQcm9jZXNzRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IGNvZGUgPSBcIlBST0NFU1NfRVJST1JcIiBhcyBjb25zdDtcbn1cblxuLy8g4pSA4pSA4pSAIFV0aWxzIOKUgOKUgOKUgFxuXG5leHBvcnQgZnVuY3Rpb24gbWFza1Rva2VuKHRva2VuOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdG9rZW4ubGVuZ3RoID4gNCA/IGAuLi4ke3Rva2VuLnNsaWNlKC00KX1gIDogdG9rZW47XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUlBLE1BQWEsU0FBUyxFQUFFLEtBQUs7Q0FBQztDQUFPO0NBQVU7Q0FBTyxDQUFDO0FBR3ZELE1BQWEsWUFBWSxFQUFFLE9BQU87Q0FDaEMsTUFBTSxFQUFFLFFBQVE7Q0FDaEIsYUFBYSxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQ2xDLGFBQWEsRUFBRSxTQUFTO0NBQ3pCLENBQUM7QUFHRixNQUFhLGVBQWUsRUFBRSxtQkFBbUIsUUFBUSxDQUN2RCxFQUFFLE9BQU87Q0FDUCxNQUFNLEVBQUUsUUFBUSxPQUFPO0NBQ3ZCLE1BQU0sRUFBRSxRQUFRO0NBQ2pCLENBQUMsRUFDRixFQUFFLE9BQU87Q0FDUCxN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
209
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQudHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3FncmlkL3FncmlkLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbi8vIOKUgOKUgOKUgCBRdWVyeSDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IEVmZm9ydCA9IHouZW51bShbXCJsb3dcIiwgXCJtZWRpdW1cIiwgXCJoaWdoXCJdKTtcbmV4cG9ydCB0eXBlIEVmZm9ydCA9IHouaW5mZXI8dHlwZW9mIEVmZm9ydD47XG5cbmV4cG9ydCBjb25zdCBRZ3JpZFRvb2wgPSB6Lm9iamVjdCh7XG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGlucHV0U2NoZW1hOiB6LnVua25vd24oKSxcbn0pO1xuZXhwb3J0IHR5cGUgUWdyaWRUb29sID0gei5pbmZlcjx0eXBlb2YgUWdyaWRUb29sPjtcblxuZXhwb3J0IGNvbnN0IFFncmlkQ29udGVudCA9IHouZGlzY3JpbWluYXRlZFVuaW9uKFwidHlwZVwiLCBbXG4gIHoub2JqZWN0KHtcbiAgICB0eXBlOiB6LmxpdGVyYWwoXCJ0ZXh0XCIpLFxuICAgIHRleHQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICB6Lm9iamVjdCh7XG4gICAgdHlwZTogei5saXRlcmFsKFwidG9vbC1jYWxsXCIpLFxuICAgIHRvb2xDYWxsSWQ6IHouc3RyaW5nKCksXG4gICAgdG9vbE5hbWU6IHouc3RyaW5nKCksXG4gICAgaW5wdXQ6IHouc3RyaW5nKCksXG4gIH0pLFxuXSk7XG5leHBvcnQgdHlwZSBRZ3JpZENvbnRlbnQgPSB6LmluZmVyPHR5cGVvZiBRZ3JpZENvbnRlbnQ+O1xuXG5leHBvcnQgY29uc3QgRmluaXNoUmVhc29uID0gei5lbnVtKFtcInN0b3BcIiwgXCJ0b29sLWNhbGxzXCJdKTtcbmV4cG9ydCB0eXBlIEZpbmlzaFJlYXNvbiA9IHouaW5mZXI8dHlwZW9mIEZpbmlzaFJlYXNvbj47XG5cbmV4cG9ydCBjb25zdCBWZXJib3NpdHkgPSB6LmVudW0oW1wibG93XCIsIFwibWVkaXVtXCIsIFwiaGlnaFwiXSk7XG5leHBvcnQgdHlwZSBWZXJib3NpdHkgPSB6LmluZmVyPHR5cGVvZiBWZXJib3NpdHk+O1xuXG5leHBvcnQgY29uc3QgUmVhc29uaW5nU3VtbWFyeSA9IHouZW51bShbXCJhdXRvXCIsIFwiY29uY2lzZVwiLCBcImRldGFpbGVkXCIsIFwibm9uZVwiXSk7XG5leHBvcnQgdHlwZSBSZWFzb25pbmdTdW1tYXJ5ID0gei5pbmZlcjx0eXBlb2YgUmVhc29uaW5nU3VtbWFyeT47XG5cbmV4cG9ydCBjb25zdCBTZXJ2aWNlVGllciA9IHouZW51bShbXCJmYXN0XCIsIFwiZmxleFwiXSk7XG5leHBvcnQgdHlwZSBTZXJ2aWNlVGllciA9IHouaW5mZXI8dHlwZW9mIFNlcnZpY2VUaWVyPjtcblxuLy8g4pSA4pSA4pSAIFJ1biBMaWZlY3ljbGUgQ29udGV4dCAoU0RLIOKGlCBTZXJ2ZXIgY29udHJhY3QpIOKUgOKUgOKUgFxuXG5leHBvcnQgY29uc3QgUWdyaWRMb2dNb2RlID0gei5lbnVtKFtcImF1dG9cIiwgXCJydW5cIiwgXCJub25lXCJdKTtcbmV4cG9ydCB0eXBlIFFncmlkTG9nTW9kZSA9IHouaW5mZXI8dHlwZW9mIFFncmlkTG9nTW9kZT47XG5cbi8vIGNvZGV4IHRocmVhZCDsooztkZwuIHRocmVhZCDsnqzsgqzsmqnsnLzroZwgY29udmVyc2F0aW9uX2lkKD1wcm9tcHRfY2FjaGVfa2V5KeulvCDqs6DsoJXtlbRcbi8vIE9wZW5BSSBwcm9tcHQgY2FjaGluZyDsnYQg7IK066as6riwIOychO2VnCDtlbjrk6QuIOyEnOuyhOqwgCDrsJzquIntlZjqs6Ag7YG065286rCAIOuLpOydjCDsmpTssq3sl5Ag6re464yA66GcIO2ajOyGoe2VnOuLpC5cbi8vIO2VuOuTpCDrr7jsoITshqEg7IucIOq4sOyhtCBcIuunpCB0dXJuIOyDiCB0aHJlYWQgKyBoaXN0b3J5IGluamVjdFwiIOuPmeyekeycvOuhnCDtj7TrsLEoUWdyaWRSdW5Db250ZXh0IOywuOyhsCkuXG5leHBvcnQgY29uc3QgUWdyaWRUaHJlYWRDb29yZCA9IHoub2JqZWN0KHtcbiAgd29ya2VySWQ6IHoubnVtYmVyKCksIC8vIOqzoOyglSDrnbzsmrDtjIUgKHRocmVhZCDripQgd29ya2VyIO2UhOuhnOyEuOyKpCDrqZTrqqjrpqzsl5Drp4wg7KG07J6sKVxuICB0aHJlYWRJZDogei5zdHJpbmcoKSwgLy8gY29kZXggY29udmVyc2F0aW9uX2lkID0gcHJvbXB0X2NhY2hlX2tleVxuICBlcG9jaDogei5udW1iZXIoKSwgLy8gd29ya2VyIHNwYXduIOy5tOyatO2EsC4gcmVzdGFydCDroZwgdGhyZWFkIOymneuwnCDqsJDsp4BcbiAgc3lzdGVtSGFzaDogei5zdHJpbmcoKSwgLy8gc3lzdGVtX3Byb21wdCDtlbTsi5wuIOuLpOuluCDrjIDtmZQg7Jik7KCR7IaNIOuwqeyngFxufSk7XG5leHBvcnQgdHlwZSBRZ3JpZFRocmVhZENvb3JkID0gei5pbmZlcjx0eXBlb2YgUWdyaWRUaHJlYWRDb29yZD47XG5cbmV4cG9ydCBjb25zdCBRZ3JpZFJ1bkNvbnRleHQgPSB6Lm9iamVjdCh7XG4gIC8vIHJ1biBsaWZlY3ljbGUobG9nTW9kZT1cInJ1blwiKSDsl5DshJzrp4wg67Cc6riJLiBhdXRvIOuqqOuTnCjsmIg6IElGKeuKlCB0aHJlYWRDb29yZCDrp4wg7JmV67O1LlxuICByZXF1ZXN0TG9nSWQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdGhyZWFkQ29vcmQ6IFFncmlkVGhyZWFkQ29vcmQub3B0aW9uYWwoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUWdyaWRSdW5Db250ZXh0ID0gei5pbmZlcjx0eXBlb2YgUWdyaWRSdW5Db250ZXh0PjtcblxuZXhwb3J0IGNvbnN0IFFncmlkVG9vbFJlc3VsdElucHV0ID0gei5vYmplY3Qoe1xuICB0b29sQ2FsbElkOiB6LnN0cmluZygpLFxuICB0b29sTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBvdXRwdXQ6IHouc3RyaW5nKCksXG4gIGlzRXJyb3I6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIFFncmlkVG9vbFJlc3VsdElucHV0ID0gei5pbmZlcjx0eXBlb2YgUWdyaWRUb29sUmVzdWx0SW5wdXQ+O1xuXG5leHBvcnQgY29uc3QgUXVlcnlJbnB1dCA9IHoub2JqZWN0KHtcbiAgc3lzdGVtOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByb21wdDogei5zdHJpbmcoKSxcbiAgbW9kZWw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdGltZW91dDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBqc29uU2NoZW1hOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRvb2xzOiB6LmFycmF5KFFncmlkVG9vbCkub3B0aW9uYWwoKSxcbiAgZWZmb3J0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHZlcmJvc2l0eTogVmVyYm9zaXR5Lm9wdGlvbmFsKCksXG4gIHJlYXNvbmluZ1N1bW1hcnk6IFJlYXNvbmluZ1N1bW1hcnkub3B0aW9uYWwoKSxcbiAgc2VydmljZVRpZXI6IFNlcnZpY2VUaWVyLm9wdGlvbmFsKCksXG4gIGhpc3Rvcnk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcHJvamVjdE5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXNTdGVwOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBsb2dNb2RlOiBRZ3JpZExvZ01vZGUub3B0aW9uYWwoKSxcbiAgcnVuQ29udGV4dDogUWdyaWRSdW5Db250ZXh0Lm9wdGlvbmFsKCksXG4gIHRvb2xSZXN1bHRzOiB6LmFycmF5KFFncmlkVG9vbFJlc3VsdElucHV0KS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBRdWVyeUlucHV0ID0gei5pbmZlcjx0eXBlb2YgUXVlcnlJbnB1dD47XG5cbmV4cG9ydCBjb25zdCBRdWVyeU91dHB1dCA9IHoub2JqZWN0KHtcbiAgdGV4dDogei5zdHJpbmcoKSxcbiAgY29udGVudDogei5hcnJheShRZ3JpZENvbnRlbnQpLFxuICBmaW5pc2hSZWFzb246IEZpbmlzaFJlYXNvbixcbiAgdG9rZW5OYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1vZGVsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzYWdlOiB6Lm9iamVjdCh7XG4gICAgaW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgIG91dHB1dF90b2tlbnM6IHoubnVtYmVyKCksXG4gICAgY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgIGNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICB9KSxcbiAgZHVyYXRpb25Nczogei5udW1iZXIoKSxcbiAgY29zdFVzZDogei5udW1iZXIoKSxcbiAgcnVuQ29udGV4dDogUWdyaWRSdW5Db250ZXh0Lm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIFF1ZXJ5T3V0cHV0ID0gei5pbmZlcjx0eXBlb2YgUXVlcnlPdXRwdXQ+O1xuXG4vLyDilIDilIDilIAgU3RyZWFtIEV2ZW50cyDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IFN0cmVhbUV2ZW50cyA9IHoub2JqZWN0KHtcbiAgZGVsdGE6IHoub2JqZWN0KHsgdGV4dDogei5zdHJpbmcoKSB9KSxcbiAgdG9vbENhbGw6IHoub2JqZWN0KHtcbiAgICB0b29sQ2FsbElkOiB6LnN0cmluZygpLFxuICAgIHRvb2xOYW1lOiB6LnN0cmluZygpLFxuICAgIGlucHV0OiB6LnN0cmluZygpLFxuICB9KSxcbiAgZG9uZTogei5vYmplY3Qoe1xuICAgIHRleHQ6IHouc3RyaW5nKCksXG4gICAgbW9kZWw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB0b2tlbk5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBmaW5pc2hSZWFzb246IEZpbmlzaFJlYXNvbixcbiAgICB1c2FnZTogei5vYmplY3Qoe1xuICAgICAgaW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgICAgb3V0cHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgICAgIGNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgICAgIGNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgIH0pLFxuICAgIGR1cmF0aW9uTXM6IHoubnVtYmVyKCksXG4gICAgY29zdFVzZDogei5udW1iZXIoKSxcbiAgICBjb250ZW50OiB6LmFycmF5KFFncmlkQ29udGVudCksXG4gICAgcnVuQ29udGV4dDogUWdyaWRSdW5Db250ZXh0Lm9wdGlvbmFsKCksXG4gIH0pLFxuICBlcnJvcjogei5vYmplY3QoeyBtZXNzYWdlOiB6LnN0cmluZygpIH0pLFxufSk7XG5leHBvcnQgdHlwZSBTdHJlYW1FdmVudHMgPSB6LmluZmVyPHR5cGVvZiBTdHJlYW1FdmVudHM+O1xuXG4vLyDilIDilIDilIAgUnVuIExpZmVjeWNsZSDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVJ1bklucHV0ID0gei5vYmplY3Qoe1xuICB1c2VyUHJvbXB0OiB6LnN0cmluZygpLFxuICBzeXN0ZW1Qcm9tcHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbW9kZWxOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGVmZm9ydDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBwcm9qZWN0TmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBoaXN0b3J5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIENyZWF0ZVJ1bklucHV0ID0gei5pbmZlcjx0eXBlb2YgQ3JlYXRlUnVuSW5wdXQ+O1xuXG5leHBvcnQgY29uc3QgQXBwZW5kU3RlcElucHV0ID0gei5vYmplY3Qoe1xuICByZXF1ZXN0TG9nSWQ6IHoubnVtYmVyKCksXG4gIHN0ZXBJbmRleDogei5udW1iZXIoKSxcbiAgdHlwZTogei5lbnVtKFtcImdlbmVyYXRlXCIsIFwidG9vbF9jYWxsXCJdKSxcbiAgaW5wdXRUb2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgb3V0cHV0VG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGNhY2hlUmVhZFRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBjYWNoZUNyZWF0aW9uVG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGR1cmF0aW9uTXM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgZmluaXNoUmVhc29uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlYXNvbmluZ1RleHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcmVhc29uaW5nVG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRvb2xDYWxsSW5kZXg6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdG9vbENhbGxJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b29sTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b29sQXJnczogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b29sUmVzdWx0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRvb2xEdXJhdGlvbk1zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGVycm9yOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIEFwcGVuZFN0ZXBJbnB1dCA9IHouaW5mZXI8dHlwZW9mIEFwcGVuZFN0ZXBJbnB1dD47XG5cbmV4cG9ydCBjb25zdCBGaW5pc2hSdW5JbnB1dCA9IHoub2JqZWN0KHtcbiAgcmVxdWVzdExvZ0lkOiB6Lm51bWJlcigpLFxuICBzdGF0dXM6IHouZW51bShbXCJzdWNjZWVkZWRcIiwgXCJlcnJvclwiLCBcImFib3J0ZWRcIl0pLFxuICByZXNwb25zZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b2tlbk5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdG90YWxJbnB1dFRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0b3RhbE91dHB1dFRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0b3RhbENhY2hlUmVhZFRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0b3RhbENhY2hlQ3JlYXRpb25Ub2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdG90YWxEdXJhdGlvbk1zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGhpc3Rvcnk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZXJyb3JNZXNzYWdlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIEZpbmlzaFJ1bklucHV0ID0gei5pbmZlcjx0eXBlb2YgRmluaXNoUnVuSW5wdXQ+O1xuXG4vLyDilIDilIDilIAgVG9rZW4gTWFuYWdlbWVudCDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IEFkZFRva2VuSW5wdXQgPSB6Lm9iamVjdCh7XG4gIHRva2VuOiB6LnN0cmluZygpLFxuICBuYW1lOiB6LnN0cmluZygpLFxufSk7XG5leHBvcnQgdHlwZSBBZGRUb2tlbklucHV0ID0gei5pbmZlcjx0eXBlb2YgQWRkVG9rZW5JbnB1dD47XG5cbmV4cG9ydCBjb25zdCBSZW1vdmVUb2tlbklucHV0ID0gei5vYmplY3Qoe1xuICB0b2tlbjogei5zdHJpbmcoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmVtb3ZlVG9rZW5JbnB1dCA9IHouaW5mZXI8dHlwZW9mIFJlbW92ZVRva2VuSW5wdXQ+O1xuXG5leHBvcnQgY29uc3QgVG9rZW5TdGF0cyA9IHoub2JqZWN0KHtcbiAgdG9rZW46IHouc3RyaW5nKCksXG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIHByb3ZpZGVyOiB6LnN0cmluZygpLFxuICByZXF1ZXN0czogei5udW1iZXIoKSxcbn0pO1xuZXhwb3J0IHR5cGUgVG9rZW5TdGF0cyA9IHouaW5mZXI8dHlwZW9mIFRva2VuU3RhdHM+O1xuXG4vLyDilIDilIDilIAgT0F1dGgg4pSA4pSA4pSAXG5cbmV4cG9ydCBjb25zdCBPQXV0aFN0YXJ0UmVzdWx0ID0gei5vYmplY3Qoe1xuICBhdXRoVXJsOiB6LnN0cmluZygpLFxufSk7XG5leHBvcnQgdHlwZSBPQXV0aFN0YXJ0UmVzdWx0ID0gei5pbmZlcjx0eXBlb2YgT0F1dGhTdGFydFJlc3VsdD47XG5cbmNvbnN0IFJhdGVXaW5kb3cgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHV0aWxpemF0aW9uOiB6Lm51bWJlcigpLm51bGxhYmxlKCksXG4gICAgcmVzZXRzQXQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgfSlcbiAgLm51bGxhYmxlKCk7XG5cbmV4cG9ydCBjb25zdCBVc2FnZVJlc3BvbnNlID0gei5vYmplY3Qoe1xuICBlcnJvcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBwcm92aWRlcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaXZlSG91cjogUmF0ZVdpbmRvdy5vcHRpb25hbCgpLFxuICBzZXZlbkRheTogUmF0ZVdpbmRvdy5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBVc2FnZVJlc3BvbnNlID0gei5pbmZlcjx0eXBlb2YgVXNhZ2VSZXNwb25zZT47XG5cbi8vIOKUgOKUgOKUgCBIZWFsdGgg4pSA4pSA4pSAXG5cbmV4cG9ydCBjb25zdCBTdWJzY3JpYmVyU3RhdHVzID0gei5vYmplY3Qoe1xuICBjb25uZWN0ZWQ6IHouYm9vbGVhbigpLFxuICBjb25uZWN0ZWRBdDogei5kYXRlKCkubnVsbGFibGUoKSxcbiAgbGFzdFJlY29uY2lsZUF0OiB6LmRhdGUoKS5udWxsYWJsZSgpLFxuICBhdHRlbXB0OiB6Lm51bWJlcigpLFxufSk7XG5leHBvcnQgdHlwZSBTdWJzY3JpYmVyU3RhdHVzID0gei5pbmZlcjx0eXBlb2YgU3Vic2NyaWJlclN0YXR1cz47XG5cbmV4cG9ydCBjb25zdCBIZWFsdGhSZXNwb25zZSA9IHoub2JqZWN0KHtcbiAgc3RhdHVzOiB6LnN0cmluZygpLFxuICBhY3RpdmVUb2tlbnM6IHoubnVtYmVyKCksXG4gIHN1YnNjcmliZXI6IFN1YnNjcmliZXJTdGF0dXMubnVsbGFibGUoKSxcbn0pO1xuZXhwb3J0IHR5cGUgSGVhbHRoUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBIZWFsdGhSZXNwb25zZT47XG5cbi8vIOKUgOKUgOKUgCBFcnJvcnMg4pSA4pSA4pSAXG5cbmV4cG9ydCBjbGFzcyBRdW90YUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICByZWFkb25seSBjb2RlID0gXCJRVU9UQV9FWEhBVVNURURcIiBhcyBjb25zdDtcbn1cbmV4cG9ydCBjbGFzcyBUaW1lb3V0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IGNvZGUgPSBcIlRJTUVPVVRcIiBhcyBjb25zdDtcbn1cbmV4cG9ydCBjbGFzcyBQcm9jZXNzRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IGNvZGUgPSBcIlBST0NFU1NfRVJST1JcIiBhcyBjb25zdDtcbn1cblxuLy8g4pSA4pSA4pSAIFV0aWxzIOKUgOKUgOKUgFxuXG5leHBvcnQgZnVuY3Rpb24gbWFza1Rva2VuKHRva2VuOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdG9rZW4ubGVuZ3RoID4gNCA/IGAuLi4ke3Rva2VuLnNsaWNlKC00KX1gIDogdG9rZW47XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUlBLE1BQWEsU0FBUyxFQUFFLEtBQUs7Q0FBQztDQUFPO0NBQVU7Q0FBTyxDQUFDO0FBR3ZELE1BQWEsWUFBWSxFQUFFLE9BQU87Q0FDaEMsTUFBTSxFQUFFLFFBQVE7Q0FDaEIsYUFBYSxFQUFFLFFBQVEsQ0FBQyxVQUFVO0NBQ2xDLGFBQWEsRUFBRSxTQUFTO0NBQ3pCLENBQUM7QUFHRixNQUFhLGVBQWUsRUFBRSxtQkFBbUIsUUFBUSxDQUN2RCxFQUFFLE9BQU87Q0FDUCxNQUFNLEVBQUUsUUFBUSxPQUFP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
@@ -43,7 +43,8 @@ function buildToolCallSchema(tools) {
43
43
  additionalProperties: false
44
44
  };
45
45
  }
46
- function applyToolCallEmulation(result, tools) {
46
+ function applyToolCallEmulation(result, tools, threadCoord) {
47
+ const runContext = threadCoord ? { threadCoord } : void 0;
47
48
  if (!tools?.length) {
48
49
  const content = [{
49
50
  type: "text",
@@ -52,7 +53,8 @@ function applyToolCallEmulation(result, tools) {
52
53
  return {
53
54
  ...result,
54
55
  content,
55
- finishReason: "stop"
56
+ finishReason: "stop",
57
+ runContext
56
58
  };
57
59
  }
58
60
  let parsed;
@@ -66,7 +68,8 @@ function applyToolCallEmulation(result, tools) {
66
68
  type: "text",
67
69
  text: result.text
68
70
  }],
69
- finishReason: "stop"
71
+ finishReason: "stop",
72
+ runContext
70
73
  };
71
74
  }
72
75
  if (parsed.action === "tool_call") {
@@ -82,7 +85,8 @@ function applyToolCallEmulation(result, tools) {
82
85
  return {
83
86
  ...result,
84
87
  content,
85
- finishReason: "tool-calls"
88
+ finishReason: "tool-calls",
89
+ runContext
86
90
  };
87
91
  }
88
92
  const text = parsed.answer ?? result.text;
@@ -93,10 +97,11 @@ function applyToolCallEmulation(result, tools) {
93
97
  type: "text",
94
98
  text
95
99
  }],
96
- finishReason: "stop"
100
+ finishReason: "stop",
101
+ runContext
97
102
  };
98
103
  }
99
104
  //#endregion
100
105
  export { applyToolCallEmulation, buildToolCallSchema };
101
106
 
102
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1lbXVsYXRpb24uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3FncmlkL3Rvb2wtZW11bGF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCJAbG9ndGFwZS9sb2d0YXBlXCI7XG5cbmltcG9ydCB7IHR5cGUgSnNvblZhbHVlIH0gZnJvbSBcIi4uLy4uL2NvZGV4LXByb3RvY29sL3NlcmRlX2pzb24vSnNvblZhbHVlXCI7XG5pbXBvcnQgeyB0eXBlIFFncmlkQ29udGVudCwgdHlwZSBRZ3JpZFRvb2wsIHR5cGUgUXVlcnlPdXRwdXQgfSBmcm9tIFwiLi9xZ3JpZC50eXBlc1wiO1xuXG5jb25zdCBsb2dnZXIgPSBnZXRMb2dnZXIoW1wicWdyaWRcIiwgXCJ0b29sLWVtdWxhdGlvblwiXSk7XG5cbnR5cGUgVG9vbENhbGxSZXNwb25zZSA9IHtcbiAgYWN0aW9uOiBcImFuc3dlclwiIHwgXCJ0b29sX2NhbGxcIjtcbiAgYW5zd2VyPzogc3RyaW5nIHwgbnVsbDtcbiAgdG9vbENhbGxzPzogQXJyYXk8eyB0b29sTmFtZTogc3RyaW5nOyBhcmdzOiBzdHJpbmcgfT4gfCBudWxsO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVG9vbENhbGxTY2hlbWEodG9vbHM6IFFncmlkVG9vbFtdKTogSnNvblZhbHVlIHtcbiAgY29uc3QgdG9vbERlc2NyaXB0aW9ucyA9IHRvb2xzXG4gICAgLm1hcCgodG9vbCkgPT4ge1xuICAgICAgY29uc3Qgc2NoZW1hID0gSlNPTi5zdHJpbmdpZnkodG9vbC5pbnB1dFNjaGVtYSk7XG4gICAgICByZXR1cm4gYC0gJHt0b29sLm5hbWV9OiAke3Rvb2wuZGVzY3JpcHRpb24gPz8gXCJcIn1cXG4gIGlucHV0U2NoZW1hOiAke3NjaGVtYX1gO1xuICAgIH0pXG4gICAgLmpvaW4oXCJcXG5cIik7XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIGFjdGlvbjogeyB0eXBlOiBcInN0cmluZ1wiLCBlbnVtOiBbXCJhbnN3ZXJcIiwgXCJ0b29sX2NhbGxcIl0gfSxcbiAgICAgIGFuc3dlcjogeyBhbnlPZjogW3sgdHlwZTogXCJzdHJpbmdcIiB9LCB7IHR5cGU6IFwibnVsbFwiIH1dIH0sXG4gICAgICB0b29sQ2FsbHM6IHtcbiAgICAgICAgYW55T2Y6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgdG9vbE5hbWU6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICBlbnVtOiB0b29scy5tYXAoKHRvb2wpID0+IHRvb2wubmFtZSksXG4gICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdG9vbERlc2NyaXB0aW9ucyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGFyZ3M6IHsgdHlwZTogXCJzdHJpbmdcIiwgZGVzY3JpcHRpb246IFwiVG9vbCBhcmd1bWVudHMgYXMgSlNPTiBzdHJpbmdcIiB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICByZXF1aXJlZDogW1widG9vbE5hbWVcIiwgXCJhcmdzXCJdLFxuICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgeyB0eXBlOiBcIm51bGxcIiB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlcXVpcmVkOiBbXCJhY3Rpb25cIiwgXCJhbnN3ZXJcIiwgXCJ0b29sQ2FsbHNcIl0sXG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlUb29sQ2FsbEVtdWxhdGlvbihcbiAgcmVzdWx0OiBPbWl0PFF1ZXJ5T3V0cHV0LCBcImNvbnRlbnRcIiB8IFwiZmluaXNoUmVhc29uXCI+LFxuICB0b29scz86IFFncmlkVG9vbFtdLFxuKTogUXVlcnlPdXRwdXQge1xuICBpZiAoIXRvb2xzPy5sZW5ndGgpIHtcbiAgICBjb25zdCBjb250ZW50OiBRZ3JpZENvbnRlbnRbXSA9IFt7IHR5cGU6IFwidGV4dFwiLCB0ZXh0OiByZXN1bHQudGV4dCB9XTtcbiAgICByZXR1cm4geyAuLi5yZXN1bHQsIGNvbnRlbnQsIGZpbmlzaFJlYXNvbjogXCJzdG9wXCIgfTtcbiAgfVxuXG4gIGxldCBwYXJzZWQ6IFRvb2xDYWxsUmVzcG9uc2U7XG4gIHRyeSB7XG4gICAgcGFyc2VkID0gSlNPTi5wYXJzZShyZXN1bHQudGV4dCkgYXMgVG9vbENhbGxSZXNwb25zZTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci53YXJuKGB0b29sLWNhbGwgZW11bGF0aW9uIHBhcnNlIGZhaWxlZCwgZmFsbGluZyBiYWNrIHRvIHRleHQ6ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCk7XG4gICAgcmV0dXJuIHsgLi4ucmVzdWx0LCBjb250ZW50OiBbeyB0eXBlOiBcInRleHRcIiwgdGV4dDogcmVzdWx0LnRleHQgfV0sIGZpbmlzaFJlYXNvbjogXCJzdG9wXCIgfTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuYWN0aW9uID09PSBcInRvb2xfY2FsbFwiKSB7XG4gICAgY29uc3QgdG9vbENhbGxzID0gcGFyc2VkLnRvb2xDYWxscyA/PyBbXTtcbiAgICBjb25zdCBjb250ZW50OiBRZ3JpZENvbnRlbnRbXSA9IHRvb2xDYWxscy5tYXAoKHRvb2xDYWxsKSA9PiB7XG4gICAgICBpZiAoIXRvb2xzLnNvbWUoKHRvb2wpID0+IHRvb2wubmFtZSA9PT0gdG9vbENhbGwudG9vbE5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdW5rbm93biBlbXVsYXRlZCB0b29sOiAke3Rvb2xDYWxsLnRvb2xOYW1lfWApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBcInRvb2wtY2FsbFwiLFxuICAgICAgICB0b29sQ2FsbElkOiBgY2FsbF8ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDEwKX1gLFxuICAgICAgICB0b29sTmFtZTogdG9vbENhbGwudG9vbE5hbWUsXG4gICAgICAgIGlucHV0OiB0b29sQ2FsbC5hcmdzLFxuICAgICAgfTtcbiAgICB9KTtcbiAgICByZXR1cm4geyAuLi5yZXN1bHQsIGNvbnRlbnQsIGZpbmlzaFJlYXNvbjogXCJ0b29sLWNhbGxzXCIgfTtcbiAgfVxuXG4gIGNvbnN0IHRleHQgPSBwYXJzZWQuYW5zd2VyID8/IHJlc3VsdC50ZXh0O1xuICByZXR1cm4ge1xuICAgIC4uLnJlc3VsdCxcbiAgICB0ZXh0LFxuICAgIGNvbnRlbnQ6IFt7IHR5cGU6IFwidGV4dFwiLCB0ZXh0IH1dLFxuICAgIGZpbmlzaFJlYXNvbjogXCJzdG9wXCIsXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUtBLE1BQU0sU0FBUyxVQUFVLENBQUMsU0FBUyxpQkFBaUIsQ0FBQztBQVFyRCxTQUFnQixvQkFBb0IsT0FBK0I7Q0FDakUsTUFBTSxtQkFBbUIsTUFDdEIsS0FBSyxTQUFTO0VBQ2IsTUFBTSxTQUFTLEtBQUssVUFBVSxLQUFLLFlBQVk7QUFDL0MsU0FBTyxLQUFLLEtBQUssS0FBSyxJQUFJLEtBQUssZUFBZSxHQUFHLG1CQUFtQjtHQUNwRSxDQUNELEtBQUssS0FBSztBQUViLFFBQU87RUFDTCxNQUFNO0VBQ04sWUFBWTtHQUNWLFFBQVE7SUFBRSxNQUFNO0lBQVUsTUFBTSxDQUFDLFVBQVUsWUFBWTtJQUFFO0dBQ3pELFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxNQUFNLFVBQVUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFDLEVBQUU7R0FDekQsV0FBVyxFQUNULE9BQU8sQ0FDTDtJQUNFLE1BQU07SUFDTixPQUFPO0tBQ0wsTUFBTTtLQUNOLFlBQVk7TUFDVixVQUFVO09BQ1IsTUFBTTtPQUNOLE1BQU0sTUFBTSxLQUFLLFNBQVMsS0FBSyxLQUFLO09BQ3BDLGFBQWE7T0FDZDtNQUNELE1BQU07T0FBRSxNQUFNO09BQVUsYUFBYTtPQUFpQztNQUN2RTtLQUNELFVBQVUsQ0FBQyxZQUFZLE9BQU87S0FDOUIsc0JBQXNCO0tBQ3ZCO0lBQ0YsRUFDRCxFQUFFLE1BQU0sUUFBUSxDQUNqQixFQUNGO0dBQ0Y7RUFDRCxVQUFVO0dBQUM7R0FBVTtHQUFVO0dBQVk7RUFDM0Msc0JBQXNCO0VBQ3ZCOztBQUdILFNBQWdCLHVCQUNkLFFBQ0EsT0FDYTtBQUNiLEtBQUksQ0FBQyxPQUFPLFFBQVE7RUFDbEIsTUFBTSxVQUEwQixDQUFDO0dBQUUsTUFBTTtHQUFRLE1BQU0sT0FBTztHQUFNLENBQUM7QUFDckUsU0FBTztHQUFFLEdBQUc7R0FBUTtHQUFTLGNBQWM7R0FBUTs7Q0FHckQsSUFBSTtBQUNKLEtBQUk7QUFDRixXQUFTLEtBQUssTUFBTSxPQUFPLEtBQUs7VUFDekIsR0FBRztBQUNWLFNBQU8sS0FBSywyREFBNEQsRUFBWSxVQUFVO0FBQzlGLFNBQU87R0FBRSxHQUFHO0dBQVEsU0FBUyxDQUFDO0lBQUUsTUFBTTtJQUFRLE1BQU0sT0FBTztJQUFNLENBQUM7R0FBRSxjQUFjO0dBQVE7O0FBRzVGLEtBQUksT0FBTyxXQUFXLGFBQWE7RUFFakMsTUFBTSxXQURZLE9BQU8sYUFBYSxFQUFFLEVBQ0UsS0FBSyxhQUFhO0FBQzFELE9BQUksQ0FBQyxNQUFNLE1BQU0sU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLENBQ3hELE9BQU0sSUFBSSxNQUFNLDBCQUEwQixTQUFTLFdBQVc7QUFHaEUsVUFBTztJQUNMLE1BQU07SUFDTixZQUFZLFFBQVEsS0FBSyxRQUFRLENBQUMsU0FBUyxHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDM0QsVUFBVSxTQUFTO0lBQ25CLE9BQU8sU0FBUztJQUNqQjtJQUNEO0FBQ0YsU0FBTztHQUFFLEdBQUc7R0FBUTtHQUFTLGNBQWM7R0FBYzs7Q0FHM0QsTUFBTSxPQUFPLE9BQU8sVUFBVSxPQUFPO0FBQ3JDLFFBQU87RUFDTCxHQUFHO0VBQ0g7RUFDQSxTQUFTLENBQUM7R0FBRSxNQUFNO0dBQVE7R0FBTSxDQUFDO0VBQ2pDLGNBQWM7RUFDZiJ9
107
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1lbXVsYXRpb24uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3FncmlkL3Rvb2wtZW11bGF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCJAbG9ndGFwZS9sb2d0YXBlXCI7XG5cbmltcG9ydCB7IHR5cGUgSnNvblZhbHVlIH0gZnJvbSBcIi4uLy4uL2NvZGV4LXByb3RvY29sL3NlcmRlX2pzb24vSnNvblZhbHVlXCI7XG5pbXBvcnQge1xuICB0eXBlIFFncmlkQ29udGVudCxcbiAgdHlwZSBRZ3JpZFRocmVhZENvb3JkLFxuICB0eXBlIFFncmlkVG9vbCxcbiAgdHlwZSBRdWVyeU91dHB1dCxcbn0gZnJvbSBcIi4vcWdyaWQudHlwZXNcIjtcblxuY29uc3QgbG9nZ2VyID0gZ2V0TG9nZ2VyKFtcInFncmlkXCIsIFwidG9vbC1lbXVsYXRpb25cIl0pO1xuXG50eXBlIFRvb2xDYWxsUmVzcG9uc2UgPSB7XG4gIGFjdGlvbjogXCJhbnN3ZXJcIiB8IFwidG9vbF9jYWxsXCI7XG4gIGFuc3dlcj86IHN0cmluZyB8IG51bGw7XG4gIHRvb2xDYWxscz86IEFycmF5PHsgdG9vbE5hbWU6IHN0cmluZzsgYXJnczogc3RyaW5nIH0+IHwgbnVsbDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFRvb2xDYWxsU2NoZW1hKHRvb2xzOiBRZ3JpZFRvb2xbXSk6IEpzb25WYWx1ZSB7XG4gIGNvbnN0IHRvb2xEZXNjcmlwdGlvbnMgPSB0b29sc1xuICAgIC5tYXAoKHRvb2wpID0+IHtcbiAgICAgIGNvbnN0IHNjaGVtYSA9IEpTT04uc3RyaW5naWZ5KHRvb2wuaW5wdXRTY2hlbWEpO1xuICAgICAgcmV0dXJuIGAtICR7dG9vbC5uYW1lfTogJHt0b29sLmRlc2NyaXB0aW9uID8/IFwiXCJ9XFxuICBpbnB1dFNjaGVtYTogJHtzY2hlbWF9YDtcbiAgICB9KVxuICAgIC5qb2luKFwiXFxuXCIpO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJvYmplY3RcIixcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBhY3Rpb246IHsgdHlwZTogXCJzdHJpbmdcIiwgZW51bTogW1wiYW5zd2VyXCIsIFwidG9vbF9jYWxsXCJdIH0sXG4gICAgICBhbnN3ZXI6IHsgYW55T2Y6IFt7IHR5cGU6IFwic3RyaW5nXCIgfSwgeyB0eXBlOiBcIm51bGxcIiB9XSB9LFxuICAgICAgdG9vbENhbGxzOiB7XG4gICAgICAgIGFueU9mOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgIHRvb2xOYW1lOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgZW51bTogdG9vbHMubWFwKCh0b29sKSA9PiB0b29sLm5hbWUpLFxuICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRvb2xEZXNjcmlwdGlvbnMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhcmdzOiB7IHR5cGU6IFwic3RyaW5nXCIsIGRlc2NyaXB0aW9uOiBcIlRvb2wgYXJndW1lbnRzIGFzIEpTT04gc3RyaW5nXCIgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IFtcInRvb2xOYW1lXCIsIFwiYXJnc1wiXSxcbiAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgdHlwZTogXCJudWxsXCIgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZXF1aXJlZDogW1wiYWN0aW9uXCIsIFwiYW5zd2VyXCIsIFwidG9vbENhbGxzXCJdLFxuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5VG9vbENhbGxFbXVsYXRpb24oXG4gIHJlc3VsdDogT21pdDxRdWVyeU91dHB1dCwgXCJjb250ZW50XCIgfCBcImZpbmlzaFJlYXNvblwiIHwgXCJydW5Db250ZXh0XCI+LFxuICB0b29scz86IFFncmlkVG9vbFtdLFxuICB0aHJlYWRDb29yZD86IFFncmlkVGhyZWFkQ29vcmQsXG4pOiBRdWVyeU91dHB1dCB7XG4gIC8vIHRocmVhZCDsnqzsgqzsmqkg7KKM7ZGc66W8IHJ1bkNvbnRleHQg66GcIOyLpOyWtCDsmKzrprDri6QgKGF1dG8g66qo65Oc64qUIHJlcXVlc3RMb2dJZCDsl4bsnbQgdGhyZWFkQ29vcmQg66eMKS5cbiAgY29uc3QgcnVuQ29udGV4dCA9IHRocmVhZENvb3JkID8geyB0aHJlYWRDb29yZCB9IDogdW5kZWZpbmVkO1xuXG4gIGlmICghdG9vbHM/Lmxlbmd0aCkge1xuICAgIGNvbnN0IGNvbnRlbnQ6IFFncmlkQ29udGVudFtdID0gW3sgdHlwZTogXCJ0ZXh0XCIsIHRleHQ6IHJlc3VsdC50ZXh0IH1dO1xuICAgIHJldHVybiB7IC4uLnJlc3VsdCwgY29udGVudCwgZmluaXNoUmVhc29uOiBcInN0b3BcIiwgcnVuQ29udGV4dCB9O1xuICB9XG5cbiAgbGV0IHBhcnNlZDogVG9vbENhbGxSZXNwb25zZTtcbiAgdHJ5IHtcbiAgICBwYXJzZWQgPSBKU09OLnBhcnNlKHJlc3VsdC50ZXh0KSBhcyBUb29sQ2FsbFJlc3BvbnNlO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLndhcm4oYHRvb2wtY2FsbCBlbXVsYXRpb24gcGFyc2UgZmFpbGVkLCBmYWxsaW5nIGJhY2sgdG8gdGV4dDogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucmVzdWx0LFxuICAgICAgY29udGVudDogW3sgdHlwZTogXCJ0ZXh0XCIsIHRleHQ6IHJlc3VsdC50ZXh0IH1dLFxuICAgICAgZmluaXNoUmVhc29uOiBcInN0b3BcIixcbiAgICAgIHJ1bkNvbnRleHQsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuYWN0aW9uID09PSBcInRvb2xfY2FsbFwiKSB7XG4gICAgY29uc3QgdG9vbENhbGxzID0gcGFyc2VkLnRvb2xDYWxscyA/PyBbXTtcbiAgICBjb25zdCBjb250ZW50OiBRZ3JpZENvbnRlbnRbXSA9IHRvb2xDYWxscy5tYXAoKHRvb2xDYWxsKSA9PiB7XG4gICAgICBpZiAoIXRvb2xzLnNvbWUoKHRvb2wpID0+IHRvb2wubmFtZSA9PT0gdG9vbENhbGwudG9vbE5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdW5rbm93biBlbXVsYXRlZCB0b29sOiAke3Rvb2xDYWxsLnRvb2xOYW1lfWApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBcInRvb2wtY2FsbFwiLFxuICAgICAgICB0b29sQ2FsbElkOiBgY2FsbF8ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDEwKX1gLFxuICAgICAgICB0b29sTmFtZTogdG9vbENhbGwudG9vbE5hbWUsXG4gICAgICAgIGlucHV0OiB0b29sQ2FsbC5hcmdzLFxuICAgICAgfTtcbiAgICB9KTtcbiAgICByZXR1cm4geyAuLi5yZXN1bHQsIGNvbnRlbnQsIGZpbmlzaFJlYXNvbjogXCJ0b29sLWNhbGxzXCIsIHJ1bkNvbnRleHQgfTtcbiAgfVxuXG4gIGNvbnN0IHRleHQgPSBwYXJzZWQuYW5zd2VyID8/IHJlc3VsdC50ZXh0O1xuICByZXR1cm4ge1xuICAgIC4uLnJlc3VsdCxcbiAgICB0ZXh0LFxuICAgIGNvbnRlbnQ6IFt7IHR5cGU6IFwidGV4dFwiLCB0ZXh0IH1dLFxuICAgIGZpbmlzaFJlYXNvbjogXCJzdG9wXCIsXG4gICAgcnVuQ29udGV4dCxcbiAgfTtcbn1cbiJdLCJtYXBwaW5n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