@openai/agents-core 0.0.16 → 0.0.17

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 (126) hide show
  1. package/dist/agent.d.ts +1 -1
  2. package/dist/agent.js +29 -22
  3. package/dist/agent.js.map +1 -1
  4. package/dist/computer.js +2 -1
  5. package/dist/config.js +12 -6
  6. package/dist/config.js.map +1 -1
  7. package/dist/errors.js +21 -9
  8. package/dist/errors.js.map +1 -1
  9. package/dist/events.js +9 -3
  10. package/dist/events.js.map +1 -1
  11. package/dist/extensions/handoffFilters.js +9 -6
  12. package/dist/extensions/handoffFilters.js.map +1 -1
  13. package/dist/extensions/handoffPrompt.js +7 -3
  14. package/dist/extensions/handoffPrompt.js.map +1 -1
  15. package/dist/extensions/index.js +8 -2
  16. package/dist/extensions/index.js.map +1 -1
  17. package/dist/guardrail.js +6 -2
  18. package/dist/guardrail.js.map +1 -1
  19. package/dist/handoff.js +28 -18
  20. package/dist/handoff.js.map +1 -1
  21. package/dist/helpers/message.js +8 -3
  22. package/dist/helpers/message.js.map +1 -1
  23. package/dist/index.js +121 -25
  24. package/dist/index.js.map +1 -1
  25. package/dist/items.js +23 -11
  26. package/dist/items.js.map +1 -1
  27. package/dist/lifecycle.js +12 -6
  28. package/dist/lifecycle.js.map +1 -1
  29. package/dist/logger.js +15 -8
  30. package/dist/logger.js.map +1 -1
  31. package/dist/mcp.d.ts +1 -1
  32. package/dist/mcp.js +60 -45
  33. package/dist/mcp.js.map +1 -1
  34. package/dist/mcp.mjs +1 -1
  35. package/dist/mcp.mjs.map +1 -1
  36. package/dist/mcpUtil.js +4 -1
  37. package/dist/mcpUtil.js.map +1 -1
  38. package/dist/metadata.d.ts +0 -1
  39. package/dist/metadata.js +7 -5
  40. package/dist/metadata.js.map +1 -1
  41. package/dist/metadata.mjs +2 -3
  42. package/dist/metadata.mjs.map +1 -1
  43. package/dist/model.js +2 -1
  44. package/dist/providers.js +6 -2
  45. package/dist/providers.js.map +1 -1
  46. package/dist/result.js +22 -14
  47. package/dist/result.js.map +1 -1
  48. package/dist/run.js +106 -95
  49. package/dist/run.js.map +1 -1
  50. package/dist/runContext.js +13 -6
  51. package/dist/runContext.js.map +1 -1
  52. package/dist/runImplementation.d.ts +1 -1
  53. package/dist/runImplementation.js +106 -89
  54. package/dist/runImplementation.js.map +1 -1
  55. package/dist/runImplementation.mjs +1 -1
  56. package/dist/runImplementation.mjs.map +1 -1
  57. package/dist/runState.d.ts +7 -1
  58. package/dist/runState.js +204 -151
  59. package/dist/runState.js.map +1 -1
  60. package/dist/runState.mjs +10 -1
  61. package/dist/runState.mjs.map +1 -1
  62. package/dist/shims/interface.js +2 -1
  63. package/dist/shims/mcp-server/browser.js +10 -4
  64. package/dist/shims/mcp-server/browser.js.map +1 -1
  65. package/dist/shims/mcp-server/node.js +67 -25
  66. package/dist/shims/mcp-server/node.js.map +1 -1
  67. package/dist/shims/shims-browser.js +25 -13
  68. package/dist/shims/shims-browser.js.map +1 -1
  69. package/dist/shims/shims-node.js +72 -15
  70. package/dist/shims/shims-node.js.map +1 -1
  71. package/dist/shims/shims-node.mjs +11 -3
  72. package/dist/shims/shims-node.mjs.map +1 -1
  73. package/dist/shims/shims-workerd.js +77 -18
  74. package/dist/shims/shims-workerd.js.map +1 -1
  75. package/dist/shims/shims-workerd.mjs +11 -3
  76. package/dist/shims/shims-workerd.mjs.map +1 -1
  77. package/dist/shims/shims.js +17 -1
  78. package/dist/shims/shims.js.map +1 -1
  79. package/dist/tool.d.ts +1 -1
  80. package/dist/tool.js +37 -29
  81. package/dist/tool.js.map +1 -1
  82. package/dist/tracing/context.js +25 -14
  83. package/dist/tracing/context.js.map +1 -1
  84. package/dist/tracing/createSpans.js +52 -38
  85. package/dist/tracing/createSpans.js.map +1 -1
  86. package/dist/tracing/index.js +51 -15
  87. package/dist/tracing/index.js.map +1 -1
  88. package/dist/tracing/processor.js +31 -20
  89. package/dist/tracing/processor.js.map +1 -1
  90. package/dist/tracing/provider.js +53 -45
  91. package/dist/tracing/provider.js.map +1 -1
  92. package/dist/tracing/spans.js +18 -10
  93. package/dist/tracing/spans.js.map +1 -1
  94. package/dist/tracing/traces.js +11 -6
  95. package/dist/tracing/traces.js.map +1 -1
  96. package/dist/tracing/utils.js +16 -9
  97. package/dist/tracing/utils.js.map +1 -1
  98. package/dist/types/aliases.js +2 -1
  99. package/dist/types/helpers.d.ts +1 -1
  100. package/dist/types/helpers.js +2 -1
  101. package/dist/types/index.js +44 -5
  102. package/dist/types/index.js.map +1 -1
  103. package/dist/types/protocol.d.ts +1 -1
  104. package/dist/types/protocol.js +188 -185
  105. package/dist/types/protocol.js.map +1 -1
  106. package/dist/types/protocol.mjs +1 -1
  107. package/dist/types/protocol.mjs.map +1 -1
  108. package/dist/types/providerData.js +2 -1
  109. package/dist/usage.js +7 -3
  110. package/dist/usage.js.map +1 -1
  111. package/dist/utils/index.js +9 -3
  112. package/dist/utils/index.js.map +1 -1
  113. package/dist/utils/messages.js +6 -2
  114. package/dist/utils/messages.js.map +1 -1
  115. package/dist/utils/safeExecute.js +4 -1
  116. package/dist/utils/safeExecute.js.map +1 -1
  117. package/dist/utils/serialize.js +6 -2
  118. package/dist/utils/serialize.js.map +1 -1
  119. package/dist/utils/smartString.js +4 -1
  120. package/dist/utils/smartString.js.map +1 -1
  121. package/dist/utils/tools.js +16 -11
  122. package/dist/utils/tools.js.map +1 -1
  123. package/dist/utils/typeGuards.d.ts +1 -1
  124. package/dist/utils/typeGuards.js +6 -2
  125. package/dist/utils/typeGuards.js.map +1 -1
  126. package/package.json +22 -41
package/dist/run.js CHANGED
@@ -1,26 +1,36 @@
1
- import { Agent } from "./agent.js";
2
- import { defineInputGuardrail, defineOutputGuardrail, } from "./guardrail.js";
3
- import { getHandoff } from "./handoff.js";
4
- import { getDefaultModelProvider } from "./providers.js";
5
- import { RunContext } from "./runContext.js";
6
- import { RunResult, StreamedRunResult } from "./result.js";
7
- import { RunHooks } from "./lifecycle.js";
8
- import logger from "./logger.js";
9
- import { serializeTool, serializeHandoff } from "./utils/serialize.js";
10
- import { GuardrailExecutionError, InputGuardrailTripwireTriggered, MaxTurnsExceededError, ModelBehaviorError, OutputGuardrailTripwireTriggered, UserError, } from "./errors.js";
11
- import { addStepToRunResult, executeInterruptedToolsAndSideEffects, executeToolsAndSideEffects, maybeResetToolChoice, processModelResponse, } from "./runImplementation.js";
12
- import { getOrCreateTrace, resetCurrentSpan, setCurrentSpan, withNewSpanContext, withTrace, } from "./tracing/context.js";
13
- import { createAgentSpan, withGuardrailSpan } from "./tracing/index.js";
14
- import { Usage } from "./usage.js";
15
- import { RunAgentUpdatedStreamEvent, RunRawModelStreamEvent } from "./events.js";
16
- import { RunState } from "./runState.js";
17
- import { StreamEventResponseCompleted } from "./types/protocol.js";
18
- import { convertAgentOutputTypeToSerializable } from "./utils/tools.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Runner = void 0;
7
+ exports.getTracing = getTracing;
8
+ exports.getTurnInput = getTurnInput;
9
+ exports.selectModel = selectModel;
10
+ exports.run = run;
11
+ const agent_1 = require("./agent.js");
12
+ const guardrail_1 = require("./guardrail.js");
13
+ const handoff_1 = require("./handoff.js");
14
+ const providers_1 = require("./providers.js");
15
+ const runContext_1 = require("./runContext.js");
16
+ const result_1 = require("./result.js");
17
+ const lifecycle_1 = require("./lifecycle.js");
18
+ const logger_1 = __importDefault(require("./logger.js"));
19
+ const serialize_1 = require("./utils/serialize.js");
20
+ const errors_1 = require("./errors.js");
21
+ const runImplementation_1 = require("./runImplementation.js");
22
+ const context_1 = require("./tracing/context.js");
23
+ const tracing_1 = require("./tracing/index.js");
24
+ const usage_1 = require("./usage.js");
25
+ const events_1 = require("./events.js");
26
+ const runState_1 = require("./runState.js");
27
+ const protocol_1 = require("./types/protocol.js");
28
+ const tools_1 = require("./utils/tools.js");
19
29
  const DEFAULT_MAX_TURNS = 10;
20
30
  /**
21
31
  * @internal
22
32
  */
23
- export function getTracing(tracingDisabled, traceIncludeSensitiveData) {
33
+ function getTracing(tracingDisabled, traceIncludeSensitiveData) {
24
34
  if (tracingDisabled) {
25
35
  return false;
26
36
  }
@@ -29,7 +39,7 @@ export function getTracing(tracingDisabled, traceIncludeSensitiveData) {
29
39
  }
30
40
  return 'enabled_without_data';
31
41
  }
32
- export function getTurnInput(originalInput, generatedItems) {
42
+ function getTurnInput(originalInput, generatedItems) {
33
43
  const rawItems = generatedItems
34
44
  .filter((item) => item.type !== 'tool_approval_item') // don't include approval items to avoid double function calls
35
45
  .map((item) => item.rawItem);
@@ -41,14 +51,14 @@ export function getTurnInput(originalInput, generatedItems) {
41
51
  /**
42
52
  * A Runner is responsible for running an agent workflow.
43
53
  */
44
- export class Runner extends RunHooks {
54
+ class Runner extends lifecycle_1.RunHooks {
45
55
  config;
46
56
  inputGuardrailDefs;
47
57
  outputGuardrailDefs;
48
58
  constructor(config = {}) {
49
59
  super();
50
60
  this.config = {
51
- modelProvider: config.modelProvider ?? getDefaultModelProvider(),
61
+ modelProvider: config.modelProvider ?? (0, providers_1.getDefaultModelProvider)(),
52
62
  model: config.model,
53
63
  modelSettings: config.modelSettings,
54
64
  handoffInputFilter: config.handoffInputFilter,
@@ -61,20 +71,20 @@ export class Runner extends RunHooks {
61
71
  groupId: config.groupId,
62
72
  traceMetadata: config.traceMetadata,
63
73
  };
64
- this.inputGuardrailDefs = (config.inputGuardrails ?? []).map(defineInputGuardrail);
65
- this.outputGuardrailDefs = (config.outputGuardrails ?? []).map(defineOutputGuardrail);
74
+ this.inputGuardrailDefs = (config.inputGuardrails ?? []).map(guardrail_1.defineInputGuardrail);
75
+ this.outputGuardrailDefs = (config.outputGuardrails ?? []).map(guardrail_1.defineOutputGuardrail);
66
76
  }
67
77
  /**
68
78
  * @internal
69
79
  */
70
80
  async #runIndividualNonStream(startingAgent, input, options) {
71
- return withNewSpanContext(async () => {
81
+ return (0, context_1.withNewSpanContext)(async () => {
72
82
  // if we have a saved state we use that one, otherwise we create a new one
73
- const state = input instanceof RunState
83
+ const state = input instanceof runState_1.RunState
74
84
  ? input
75
- : new RunState(options.context instanceof RunContext
85
+ : new runState_1.RunState(options.context instanceof runContext_1.RunContext
76
86
  ? options.context
77
- : new RunContext(options.context), input, startingAgent, options.maxTurns ?? DEFAULT_MAX_TURNS);
87
+ : new runContext_1.RunContext(options.context), input, startingAgent, options.maxTurns ?? DEFAULT_MAX_TURNS);
78
88
  try {
79
89
  while (true) {
80
90
  let model = selectModel(state._currentAgent.model, this.config.model);
@@ -86,18 +96,18 @@ export class Runner extends RunHooks {
86
96
  type: 'next_step_run_again',
87
97
  };
88
98
  if (state._currentStep.type === 'next_step_interruption') {
89
- logger.debug('Continuing from interruption');
99
+ logger_1.default.debug('Continuing from interruption');
90
100
  if (!state._lastTurnResponse || !state._lastProcessedResponse) {
91
- throw new UserError('No model response found in previous state', state);
101
+ throw new errors_1.UserError('No model response found in previous state', state);
92
102
  }
93
- const turnResult = await executeInterruptedToolsAndSideEffects(state._currentAgent, state._originalInput, state._generatedItems, state._lastTurnResponse, state._lastProcessedResponse, this, state);
103
+ const turnResult = await (0, runImplementation_1.executeInterruptedToolsAndSideEffects)(state._currentAgent, state._originalInput, state._generatedItems, state._lastTurnResponse, state._lastProcessedResponse, this, state);
94
104
  state._toolUseTracker.addToolUse(state._currentAgent, state._lastProcessedResponse.toolsUsed);
95
105
  state._originalInput = turnResult.originalInput;
96
106
  state._generatedItems = turnResult.generatedItems;
97
107
  state._currentStep = turnResult.nextStep;
98
108
  if (turnResult.nextStep.type === 'next_step_interruption') {
99
109
  // we are still in an interruption, so we need to avoid an infinite loop
100
- return new RunResult(state);
110
+ return new result_1.RunResult(state);
101
111
  }
102
112
  continue;
103
113
  }
@@ -106,11 +116,11 @@ export class Runner extends RunHooks {
106
116
  if (state._currentAgent.handoffs) {
107
117
  // While this array usually must not be undefined,
108
118
  // we've added this check to prevent unexpected runtime errors like https://github.com/openai/openai-agents-js/issues/138
109
- handoffs.push(...state._currentAgent.handoffs.map(getHandoff));
119
+ handoffs.push(...state._currentAgent.handoffs.map(handoff_1.getHandoff));
110
120
  }
111
121
  if (!state._currentAgentSpan) {
112
122
  const handoffNames = handoffs.map((h) => h.agentName);
113
- state._currentAgentSpan = createAgentSpan({
123
+ state._currentAgentSpan = (0, tracing_1.createAgentSpan)({
114
124
  data: {
115
125
  name: state._currentAgent.name,
116
126
  handoffs: handoffNames,
@@ -118,11 +128,11 @@ export class Runner extends RunHooks {
118
128
  },
119
129
  });
120
130
  state._currentAgentSpan.start();
121
- setCurrentSpan(state._currentAgentSpan);
131
+ (0, context_1.setCurrentSpan)(state._currentAgentSpan);
122
132
  }
123
133
  const tools = await state._currentAgent.getAllTools(state._context);
124
- const serializedTools = tools.map((t) => serializeTool(t));
125
- const serializedHandoffs = handoffs.map((h) => serializeHandoff(h));
134
+ const serializedTools = tools.map((t) => (0, serialize_1.serializeTool)(t));
135
+ const serializedHandoffs = handoffs.map((h) => (0, serialize_1.serializeHandoff)(h));
126
136
  if (state._currentAgentSpan) {
127
137
  state._currentAgentSpan.spanData.tools = tools.map((t) => t.name);
128
138
  }
@@ -132,9 +142,9 @@ export class Runner extends RunHooks {
132
142
  message: 'Max turns exceeded',
133
143
  data: { max_turns: state._maxTurns },
134
144
  });
135
- throw new MaxTurnsExceededError(`Max turns (${state._maxTurns}) exceeded`, state);
145
+ throw new errors_1.MaxTurnsExceededError(`Max turns (${state._maxTurns}) exceeded`, state);
136
146
  }
137
- logger.debug(`Running agent ${state._currentAgent.name} (turn ${state._currentTurn})`);
147
+ logger_1.default.debug(`Running agent ${state._currentAgent.name} (turn ${state._currentTurn})`);
138
148
  if (state._currentTurn === 1) {
139
149
  await this.#runInputGuardrails(state);
140
150
  }
@@ -147,7 +157,7 @@ export class Runner extends RunHooks {
147
157
  ...this.config.modelSettings,
148
158
  ...state._currentAgent.modelSettings,
149
159
  };
150
- modelSettings = maybeResetToolChoice(state._currentAgent, state._toolUseTracker, modelSettings);
160
+ modelSettings = (0, runImplementation_1.maybeResetToolChoice)(state._currentAgent, state._toolUseTracker, modelSettings);
151
161
  state._lastTurnResponse = await model.getResponse({
152
162
  systemInstructions: await state._currentAgent.getSystemPrompt(state._context),
153
163
  prompt: await state._currentAgent.getPrompt(state._context),
@@ -155,7 +165,7 @@ export class Runner extends RunHooks {
155
165
  previousResponseId: options.previousResponseId,
156
166
  modelSettings,
157
167
  tools: serializedTools,
158
- outputType: convertAgentOutputTypeToSerializable(state._currentAgent.outputType),
168
+ outputType: (0, tools_1.convertAgentOutputTypeToSerializable)(state._currentAgent.outputType),
159
169
  handoffs: serializedHandoffs,
160
170
  tracing: getTracing(this.config.tracingDisabled, this.config.traceIncludeSensitiveData),
161
171
  signal: options.signal,
@@ -163,9 +173,9 @@ export class Runner extends RunHooks {
163
173
  state._modelResponses.push(state._lastTurnResponse);
164
174
  state._context.usage.add(state._lastTurnResponse.usage);
165
175
  state._noActiveAgentRun = false;
166
- const processedResponse = processModelResponse(state._lastTurnResponse, state._currentAgent, tools, handoffs);
176
+ const processedResponse = (0, runImplementation_1.processModelResponse)(state._lastTurnResponse, state._currentAgent, tools, handoffs);
167
177
  state._lastProcessedResponse = processedResponse;
168
- const turnResult = await executeToolsAndSideEffects(state._currentAgent, state._originalInput, state._generatedItems, state._lastTurnResponse, state._lastProcessedResponse, this, state);
178
+ const turnResult = await (0, runImplementation_1.executeToolsAndSideEffects)(state._currentAgent, state._originalInput, state._generatedItems, state._lastTurnResponse, state._lastProcessedResponse, this, state);
169
179
  state._toolUseTracker.addToolUse(state._currentAgent, state._lastProcessedResponse.toolsUsed);
170
180
  state._originalInput = turnResult.originalInput;
171
181
  state._generatedItems = turnResult.generatedItems;
@@ -176,14 +186,14 @@ export class Runner extends RunHooks {
176
186
  await this.#runOutputGuardrails(state, state._currentStep.output);
177
187
  this.emit('agent_end', state._context, state._currentAgent, state._currentStep.output);
178
188
  state._currentAgent.emit('agent_end', state._context, state._currentStep.output);
179
- return new RunResult(state);
189
+ return new result_1.RunResult(state);
180
190
  }
181
191
  else if (state._currentStep &&
182
192
  state._currentStep.type === 'next_step_handoff') {
183
193
  state._currentAgent = state._currentStep.newAgent;
184
194
  if (state._currentAgentSpan) {
185
195
  state._currentAgentSpan.end();
186
- resetCurrentSpan();
196
+ (0, context_1.resetCurrentSpan)();
187
197
  state._currentAgentSpan = undefined;
188
198
  }
189
199
  state._noActiveAgentRun = true;
@@ -193,10 +203,10 @@ export class Runner extends RunHooks {
193
203
  else if (state._currentStep &&
194
204
  state._currentStep.type === 'next_step_interruption') {
195
205
  // interrupted. Don't run any guardrails
196
- return new RunResult(state);
206
+ return new result_1.RunResult(state);
197
207
  }
198
208
  else {
199
- logger.debug('Running next loop');
209
+ logger_1.default.debug('Running next loop');
200
210
  }
201
211
  }
202
212
  }
@@ -215,13 +225,13 @@ export class Runner extends RunHooks {
215
225
  // don't end the span if the run was interrupted
216
226
  state._currentAgentSpan.end();
217
227
  }
218
- resetCurrentSpan();
228
+ (0, context_1.resetCurrentSpan)();
219
229
  }
220
230
  }
221
231
  });
222
232
  }
223
233
  async #runInputGuardrails(state) {
224
- const guardrails = this.inputGuardrailDefs.concat(state._currentAgent.inputGuardrails.map(defineInputGuardrail));
234
+ const guardrails = this.inputGuardrailDefs.concat(state._currentAgent.inputGuardrails.map(guardrail_1.defineInputGuardrail));
225
235
  if (guardrails.length > 0) {
226
236
  const guardrailArgs = {
227
237
  agent: state._currentAgent,
@@ -230,7 +240,7 @@ export class Runner extends RunHooks {
230
240
  };
231
241
  try {
232
242
  const results = await Promise.all(guardrails.map(async (guardrail) => {
233
- return withGuardrailSpan(async (span) => {
243
+ return (0, tracing_1.withGuardrailSpan)(async (span) => {
234
244
  const result = await guardrail.run(guardrailArgs);
235
245
  span.spanData.triggered = result.output.tripwireTriggered;
236
246
  return result;
@@ -244,22 +254,22 @@ export class Runner extends RunHooks {
244
254
  data: { guardrail: result.guardrail.name },
245
255
  });
246
256
  }
247
- throw new InputGuardrailTripwireTriggered(`Input guardrail triggered: ${JSON.stringify(result.output.outputInfo)}`, result, state);
257
+ throw new errors_1.InputGuardrailTripwireTriggered(`Input guardrail triggered: ${JSON.stringify(result.output.outputInfo)}`, result, state);
248
258
  }
249
259
  }
250
260
  }
251
261
  catch (e) {
252
- if (e instanceof InputGuardrailTripwireTriggered) {
262
+ if (e instanceof errors_1.InputGuardrailTripwireTriggered) {
253
263
  throw e;
254
264
  }
255
265
  // roll back the current turn to enable reruns
256
266
  state._currentTurn--;
257
- throw new GuardrailExecutionError(`Input guardrail failed to complete: ${e}`, e, state);
267
+ throw new errors_1.GuardrailExecutionError(`Input guardrail failed to complete: ${e}`, e, state);
258
268
  }
259
269
  }
260
270
  }
261
271
  async #runOutputGuardrails(state, output) {
262
- const guardrails = this.outputGuardrailDefs.concat(state._currentAgent.outputGuardrails.map(defineOutputGuardrail));
272
+ const guardrails = this.outputGuardrailDefs.concat(state._currentAgent.outputGuardrails.map(guardrail_1.defineOutputGuardrail));
263
273
  if (guardrails.length > 0) {
264
274
  const agentOutput = state._currentAgent.processFinalOutput(output);
265
275
  const guardrailArgs = {
@@ -270,7 +280,7 @@ export class Runner extends RunHooks {
270
280
  };
271
281
  try {
272
282
  const results = await Promise.all(guardrails.map(async (guardrail) => {
273
- return withGuardrailSpan(async (span) => {
283
+ return (0, tracing_1.withGuardrailSpan)(async (span) => {
274
284
  const result = await guardrail.run(guardrailArgs);
275
285
  span.spanData.triggered = result.output.tripwireTriggered;
276
286
  return result;
@@ -284,15 +294,15 @@ export class Runner extends RunHooks {
284
294
  data: { guardrail: result.guardrail.name },
285
295
  });
286
296
  }
287
- throw new OutputGuardrailTripwireTriggered(`Output guardrail triggered: ${JSON.stringify(result.output.outputInfo)}`, result, state);
297
+ throw new errors_1.OutputGuardrailTripwireTriggered(`Output guardrail triggered: ${JSON.stringify(result.output.outputInfo)}`, result, state);
288
298
  }
289
299
  }
290
300
  }
291
301
  catch (e) {
292
- if (e instanceof OutputGuardrailTripwireTriggered) {
302
+ if (e instanceof errors_1.OutputGuardrailTripwireTriggered) {
293
303
  throw e;
294
304
  }
295
- throw new GuardrailExecutionError(`Output guardrail failed to complete: ${e}`, e, state);
305
+ throw new errors_1.GuardrailExecutionError(`Output guardrail failed to complete: ${e}`, e, state);
296
306
  }
297
307
  }
298
308
  }
@@ -303,21 +313,21 @@ export class Runner extends RunHooks {
303
313
  try {
304
314
  while (true) {
305
315
  const currentAgent = result.state._currentAgent;
306
- const handoffs = currentAgent.handoffs.map(getHandoff);
316
+ const handoffs = currentAgent.handoffs.map(handoff_1.getHandoff);
307
317
  const tools = await currentAgent.getAllTools(result.state._context);
308
- const serializedTools = tools.map((t) => serializeTool(t));
309
- const serializedHandoffs = handoffs.map((h) => serializeHandoff(h));
318
+ const serializedTools = tools.map((t) => (0, serialize_1.serializeTool)(t));
319
+ const serializedHandoffs = handoffs.map((h) => (0, serialize_1.serializeHandoff)(h));
310
320
  result.state._currentStep = result.state._currentStep ?? {
311
321
  type: 'next_step_run_again',
312
322
  };
313
323
  if (result.state._currentStep.type === 'next_step_interruption') {
314
- logger.debug('Continuing from interruption');
324
+ logger_1.default.debug('Continuing from interruption');
315
325
  if (!result.state._lastTurnResponse ||
316
326
  !result.state._lastProcessedResponse) {
317
- throw new UserError('No model response found in previous state', result.state);
327
+ throw new errors_1.UserError('No model response found in previous state', result.state);
318
328
  }
319
- const turnResult = await executeInterruptedToolsAndSideEffects(result.state._currentAgent, result.state._originalInput, result.state._generatedItems, result.state._lastTurnResponse, result.state._lastProcessedResponse, this, result.state);
320
- addStepToRunResult(result, turnResult);
329
+ const turnResult = await (0, runImplementation_1.executeInterruptedToolsAndSideEffects)(result.state._currentAgent, result.state._originalInput, result.state._generatedItems, result.state._lastTurnResponse, result.state._lastProcessedResponse, this, result.state);
330
+ (0, runImplementation_1.addStepToRunResult)(result, turnResult);
321
331
  result.state._toolUseTracker.addToolUse(result.state._currentAgent, result.state._lastProcessedResponse.toolsUsed);
322
332
  result.state._originalInput = turnResult.originalInput;
323
333
  result.state._generatedItems = turnResult.generatedItems;
@@ -331,7 +341,7 @@ export class Runner extends RunHooks {
331
341
  if (result.state._currentStep.type === 'next_step_run_again') {
332
342
  if (!result.state._currentAgentSpan) {
333
343
  const handoffNames = handoffs.map((h) => h.agentName);
334
- result.state._currentAgentSpan = createAgentSpan({
344
+ result.state._currentAgentSpan = (0, tracing_1.createAgentSpan)({
335
345
  data: {
336
346
  name: currentAgent.name,
337
347
  handoffs: handoffNames,
@@ -340,7 +350,7 @@ export class Runner extends RunHooks {
340
350
  },
341
351
  });
342
352
  result.state._currentAgentSpan.start();
343
- setCurrentSpan(result.state._currentAgentSpan);
353
+ (0, context_1.setCurrentSpan)(result.state._currentAgentSpan);
344
354
  }
345
355
  result.state._currentTurn++;
346
356
  if (result.state._currentTurn > result.state._maxTurns) {
@@ -348,9 +358,9 @@ export class Runner extends RunHooks {
348
358
  message: 'Max turns exceeded',
349
359
  data: { max_turns: result.state._maxTurns },
350
360
  });
351
- throw new MaxTurnsExceededError(`Max turns (${result.state._maxTurns}) exceeded`, result.state);
361
+ throw new errors_1.MaxTurnsExceededError(`Max turns (${result.state._maxTurns}) exceeded`, result.state);
352
362
  }
353
- logger.debug(`Running agent ${currentAgent.name} (turn ${result.state._currentTurn})`);
363
+ logger_1.default.debug(`Running agent ${currentAgent.name} (turn ${result.state._currentTurn})`);
354
364
  let model = selectModel(currentAgent.model, this.config.model);
355
365
  if (typeof model === 'string') {
356
366
  model = await this.config.modelProvider.getModel(model);
@@ -362,7 +372,7 @@ export class Runner extends RunHooks {
362
372
  ...this.config.modelSettings,
363
373
  ...currentAgent.modelSettings,
364
374
  };
365
- modelSettings = maybeResetToolChoice(currentAgent, result.state._toolUseTracker, modelSettings);
375
+ modelSettings = (0, runImplementation_1.maybeResetToolChoice)(currentAgent, result.state._toolUseTracker, modelSettings);
366
376
  const turnInput = getTurnInput(result.input, result.newItems);
367
377
  if (result.state._noActiveAgentRun) {
368
378
  currentAgent.emit('agent_start', result.state._context, currentAgent);
@@ -377,14 +387,14 @@ export class Runner extends RunHooks {
377
387
  modelSettings,
378
388
  tools: serializedTools,
379
389
  handoffs: serializedHandoffs,
380
- outputType: convertAgentOutputTypeToSerializable(currentAgent.outputType),
390
+ outputType: (0, tools_1.convertAgentOutputTypeToSerializable)(currentAgent.outputType),
381
391
  tracing: getTracing(this.config.tracingDisabled, this.config.traceIncludeSensitiveData),
382
392
  signal: options.signal,
383
393
  })) {
384
394
  if (event.type === 'response_done') {
385
- const parsed = StreamEventResponseCompleted.parse(event);
395
+ const parsed = protocol_1.StreamEventResponseCompleted.parse(event);
386
396
  finalResponse = {
387
- usage: new Usage(parsed.response.usage),
397
+ usage: new usage_1.Usage(parsed.response.usage),
388
398
  output: parsed.response.output,
389
399
  responseId: parsed.response.id,
390
400
  };
@@ -394,18 +404,18 @@ export class Runner extends RunHooks {
394
404
  // this loop to prevent internal false errors and unnecessary processing
395
405
  return;
396
406
  }
397
- result._addItem(new RunRawModelStreamEvent(event));
407
+ result._addItem(new events_1.RunRawModelStreamEvent(event));
398
408
  }
399
409
  result.state._noActiveAgentRun = false;
400
410
  if (!finalResponse) {
401
- throw new ModelBehaviorError('Model did not produce a final response!', result.state);
411
+ throw new errors_1.ModelBehaviorError('Model did not produce a final response!', result.state);
402
412
  }
403
413
  result.state._lastTurnResponse = finalResponse;
404
414
  result.state._modelResponses.push(result.state._lastTurnResponse);
405
- const processedResponse = processModelResponse(result.state._lastTurnResponse, currentAgent, tools, handoffs);
415
+ const processedResponse = (0, runImplementation_1.processModelResponse)(result.state._lastTurnResponse, currentAgent, tools, handoffs);
406
416
  result.state._lastProcessedResponse = processedResponse;
407
- const turnResult = await executeToolsAndSideEffects(currentAgent, result.state._originalInput, result.state._generatedItems, result.state._lastTurnResponse, result.state._lastProcessedResponse, this, result.state);
408
- addStepToRunResult(result, turnResult);
417
+ const turnResult = await (0, runImplementation_1.executeToolsAndSideEffects)(currentAgent, result.state._originalInput, result.state._generatedItems, result.state._lastTurnResponse, result.state._lastProcessedResponse, this, result.state);
418
+ (0, runImplementation_1.addStepToRunResult)(result, turnResult);
409
419
  result.state._toolUseTracker.addToolUse(currentAgent, processedResponse.toolsUsed);
410
420
  result.state._originalInput = turnResult.originalInput;
411
421
  result.state._generatedItems = turnResult.generatedItems;
@@ -424,10 +434,10 @@ export class Runner extends RunHooks {
424
434
  ?.newAgent;
425
435
  if (result.state._currentAgentSpan) {
426
436
  result.state._currentAgentSpan.end();
427
- resetCurrentSpan();
437
+ (0, context_1.resetCurrentSpan)();
428
438
  }
429
439
  result.state._currentAgentSpan = undefined;
430
- result._addItem(new RunAgentUpdatedStreamEvent(result.state._currentAgent));
440
+ result._addItem(new events_1.RunAgentUpdatedStreamEvent(result.state._currentAgent));
431
441
  result.state._noActiveAgentRun = true;
432
442
  // we've processed the handoff, so we need to run the loop again
433
443
  result.state._currentStep = {
@@ -435,7 +445,7 @@ export class Runner extends RunHooks {
435
445
  };
436
446
  }
437
447
  else {
438
- logger.debug('Running next loop');
448
+ logger_1.default.debug('Running next loop');
439
449
  }
440
450
  }
441
451
  }
@@ -453,7 +463,7 @@ export class Runner extends RunHooks {
453
463
  if (result.state._currentStep?.type !== 'next_step_interruption') {
454
464
  result.state._currentAgentSpan.end();
455
465
  }
456
- resetCurrentSpan();
466
+ (0, context_1.resetCurrentSpan)();
457
467
  }
458
468
  }
459
469
  }
@@ -462,15 +472,15 @@ export class Runner extends RunHooks {
462
472
  */
463
473
  async #runIndividualStream(agent, input, options) {
464
474
  options = options ?? {};
465
- return withNewSpanContext(async () => {
475
+ return (0, context_1.withNewSpanContext)(async () => {
466
476
  // Initialize or reuse existing state
467
- const state = input instanceof RunState
477
+ const state = input instanceof runState_1.RunState
468
478
  ? input
469
- : new RunState(options.context instanceof RunContext
479
+ : new runState_1.RunState(options.context instanceof runContext_1.RunContext
470
480
  ? options.context
471
- : new RunContext(options.context), input, agent, options.maxTurns ?? DEFAULT_MAX_TURNS);
481
+ : new runContext_1.RunContext(options.context), input, agent, options.maxTurns ?? DEFAULT_MAX_TURNS);
472
482
  // Initialize the streamed result with existing state
473
- const result = new StreamedRunResult({
483
+ const result = new result_1.StreamedRunResult({
474
484
  signal: options.signal,
475
485
  state,
476
486
  });
@@ -489,10 +499,10 @@ export class Runner extends RunHooks {
489
499
  stream: false,
490
500
  context: undefined,
491
501
  }) {
492
- if (input instanceof RunState && input._trace) {
493
- return withTrace(input._trace, async () => {
502
+ if (input instanceof runState_1.RunState && input._trace) {
503
+ return (0, context_1.withTrace)(input._trace, async () => {
494
504
  if (input._currentAgentSpan) {
495
- setCurrentSpan(input._currentAgentSpan);
505
+ (0, context_1.setCurrentSpan)(input._currentAgentSpan);
496
506
  }
497
507
  if (options?.stream) {
498
508
  return this.#runIndividualStream(agent, input, options);
@@ -502,7 +512,7 @@ export class Runner extends RunHooks {
502
512
  }
503
513
  });
504
514
  }
505
- return getOrCreateTrace(async () => {
515
+ return (0, context_1.getOrCreateTrace)(async () => {
506
516
  if (options?.stream) {
507
517
  return this.#runIndividualStream(agent, input, options);
508
518
  }
@@ -517,6 +527,7 @@ export class Runner extends RunHooks {
517
527
  });
518
528
  }
519
529
  }
530
+ exports.Runner = Runner;
520
531
  let _defaultRunner = undefined;
521
532
  function getDefaultRunner() {
522
533
  if (_defaultRunner) {
@@ -525,19 +536,19 @@ function getDefaultRunner() {
525
536
  _defaultRunner = new Runner();
526
537
  return _defaultRunner;
527
538
  }
528
- export function selectModel(agentModel, runConfigModel) {
539
+ function selectModel(agentModel, runConfigModel) {
529
540
  // When initializing an agent without model name, the model property is set to an empty string. So,
530
541
  // * agentModel === '' & runConfigModel exists, runConfigModel will be used
531
542
  // * agentModel is set, the agentModel will be used over runConfigModel
532
543
  if ((typeof agentModel === 'string' &&
533
- agentModel !== Agent.DEFAULT_MODEL_PLACEHOLDER) ||
544
+ agentModel !== agent_1.Agent.DEFAULT_MODEL_PLACEHOLDER) ||
534
545
  agentModel // any truthy value
535
546
  ) {
536
547
  return agentModel;
537
548
  }
538
- return runConfigModel ?? agentModel ?? Agent.DEFAULT_MODEL_PLACEHOLDER;
549
+ return runConfigModel ?? agentModel ?? agent_1.Agent.DEFAULT_MODEL_PLACEHOLDER;
539
550
  }
540
- export async function run(agent, input, options) {
551
+ async function run(agent, input, options) {
541
552
  const runner = getDefaultRunner();
542
553
  if (options?.stream) {
543
554
  return await runner.run(agent, input, options);
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":";;;;;;AAkKA,gCAaC;AAED,oCAaC;AAkyBD,kCAeC;AAYD,kBAWC;AAtgCD,sCAAiD;AACjD,8CASqB;AACrB,0CAAoE;AAQpE,8CAAsD;AACtD,gDAA0C;AAE1C,wCAAwD;AACxD,8CAAuC;AACvC,yDAA8B;AAC9B,oDAAoE;AACpE,wCAOkB;AAClB,8DAO6B;AAE7B,kDAM2B;AAC3B,gDAA+D;AAC/D,sCAAgC;AAChC,wCAA8E;AAC9E,4CAAsC;AACtC,kDAAgE;AAChE,4CAAqE;AAErE,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAsG7B;;GAEG;AACH,SAAgB,UAAU,CACxB,eAAwB,EACxB,yBAAkC;IAElC,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,yBAAyB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,SAAgB,YAAY,CAC1B,aAAwC,EACxC,cAAyB;IAEzB,MAAM,QAAQ,GAAG,cAAc;SAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,8DAA8D;SACnH,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE/B,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtC,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,CAAC,GAAG,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAa,MAAO,SAAQ,oBAAuC;IACjD,MAAM,CAAY;IACjB,kBAAkB,CAA6B;IAC/C,mBAAmB,CAGhC;IAEJ,YAAY,SAA6B,EAAE;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG;YACZ,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAA,mCAAuB,GAAE;YAChE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,KAAK;YAChD,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,IAAI,IAAI;YACnE,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,gBAAgB;YACrD,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAC1D,gCAAoB,CACrB,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAC5D,iCAAqB,CACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAK3B,aAAqB,EACrB,KAA6D,EAC7D,OAAsC;QAEtC,OAAO,IAAA,4BAAkB,EAAC,KAAK,IAAI,EAAE;YACnC,0EAA0E;YAC1E,MAAM,KAAK,GACT,KAAK,YAAY,mBAAQ;gBACvB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,mBAAQ,CACV,OAAO,CAAC,OAAO,YAAY,uBAAU;oBACnC,CAAC,CAAC,OAAO,CAAC,OAAO;oBACjB,CAAC,CAAC,IAAI,uBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EACnC,KAAK,EACL,aAAa,EACb,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CACtC,CAAC;YAER,IAAI,CAAC;gBACH,OAAO,IAAI,EAAE,CAAC;oBACZ,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAEtE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC1D,CAAC;oBAED,8DAA8D;oBAC9D,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI;wBACzC,IAAI,EAAE,qBAAqB;qBAC5B,CAAC;oBAEF,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;wBACzD,gBAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;wBAC7C,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;4BAC9D,MAAM,IAAI,kBAAS,CACjB,2CAA2C,EAC3C,KAAK,CACN,CAAC;wBACJ,CAAC;wBAED,MAAM,UAAU,GACd,MAAM,IAAA,yDAAqC,EACzC,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,sBAAoD,EAC1D,IAAI,EACJ,KAAK,CACN,CAAC;wBAEJ,KAAK,CAAC,eAAe,CAAC,UAAU,CAC9B,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,sBAAsB,CAAC,SAAS,CACvC,CAAC;wBAEF,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;wBAChD,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;wBAClD,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;wBAEzC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;4BAC1D,wEAAwE;4BACxE,OAAO,IAAI,kBAAS,CAAmB,KAAK,CAAC,CAAC;wBAChD,CAAC;wBAED,SAAS;oBACX,CAAC;oBAED,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;wBACtD,MAAM,QAAQ,GAAmB,EAAE,CAAC;wBACpC,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;4BACjC,kDAAkD;4BAClD,yHAAyH;4BACzH,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAU,CAAC,CAAC,CAAC;wBACjE,CAAC;wBAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC7B,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;4BACtD,KAAK,CAAC,iBAAiB,GAAG,IAAA,yBAAe,EAAC;gCACxC,IAAI,EAAE;oCACJ,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI;oCAC9B,QAAQ,EAAE,YAAY;oCACtB,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB;iCAClD;6BACF,CAAC,CAAC;4BACH,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;4BAChC,IAAA,wBAAc,EAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;wBAC1C,CAAC;wBAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACpE,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,yBAAa,EAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,4BAAgB,EAAC,CAAC,CAAC,CAAC,CAAC;wBACpE,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACpE,CAAC;wBAED,KAAK,CAAC,YAAY,EAAE,CAAC;wBAErB,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;4BACzC,KAAK,CAAC,iBAAiB,EAAE,QAAQ,CAAC;gCAChC,OAAO,EAAE,oBAAoB;gCAC7B,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;6BACrC,CAAC,CAAC;4BAEH,MAAM,IAAI,8BAAqB,CAC7B,cAAc,KAAK,CAAC,SAAS,YAAY,EACzC,KAAK,CACN,CAAC;wBACJ,CAAC;wBAED,gBAAM,CAAC,KAAK,CACV,iBAAiB,KAAK,CAAC,aAAa,CAAC,IAAI,UAAU,KAAK,CAAC,YAAY,GAAG,CACzE,CAAC;wBAEF,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;4BAC7B,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;wBACxC,CAAC;wBAED,MAAM,SAAS,GAAG,YAAY,CAC5B,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,eAAe,CACtB,CAAC;wBAEF,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,KAAK,CAAC,aAAa,CAAC,IAAI,CACtB,aAAa,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,CACpB,CAAC;4BACF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;wBAChE,CAAC;wBAED,IAAI,aAAa,GAAG;4BAClB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa;4BAC5B,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa;yBACrC,CAAC;wBACF,aAAa,GAAG,IAAA,wCAAoB,EAClC,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,eAAe,EACrB,aAAa,CACd,CAAC;wBACF,KAAK,CAAC,iBAAiB,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC;4BAChD,kBAAkB,EAAE,MAAM,KAAK,CAAC,aAAa,CAAC,eAAe,CAC3D,KAAK,CAAC,QAAQ,CACf;4BACD,MAAM,EAAE,MAAM,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;4BAC3D,KAAK,EAAE,SAAS;4BAChB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;4BAC9C,aAAa;4BACb,KAAK,EAAE,eAAe;4BACtB,UAAU,EAAE,IAAA,4CAAoC,EAC9C,KAAK,CAAC,aAAa,CAAC,UAAU,CAC/B;4BACD,QAAQ,EAAE,kBAAkB;4BAC5B,OAAO,EAAE,UAAU,CACjB,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,IAAI,CAAC,MAAM,CAAC,yBAAyB,CACtC;4BACD,MAAM,EAAE,OAAO,CAAC,MAAM;yBACvB,CAAC,CAAC;wBACH,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;wBACpD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;wBACxD,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;wBAEhC,MAAM,iBAAiB,GAAG,IAAA,wCAAoB,EAC5C,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,aAAa,EACnB,KAAK,EACL,QAAQ,CACT,CAAC;wBAEF,KAAK,CAAC,sBAAsB,GAAG,iBAAiB,CAAC;wBACjD,MAAM,UAAU,GAAG,MAAM,IAAA,8CAA0B,EACjD,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,sBAAsB,EAC5B,IAAI,EACJ,KAAK,CACN,CAAC;wBAEF,KAAK,CAAC,eAAe,CAAC,UAAU,CAC9B,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,sBAAsB,CAAC,SAAS,CACvC,CAAC;wBAEF,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;wBAChD,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;wBAClD,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;oBAC3C,CAAC;oBAED,IACE,KAAK,CAAC,YAAY;wBAClB,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EACpD,CAAC;wBACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;wBAClE,IAAI,CAAC,IAAI,CACP,WAAW,EACX,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,MAAM,CAC1B,CAAC;wBACF,KAAK,CAAC,aAAa,CAAC,IAAI,CACtB,WAAW,EACX,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,YAAY,CAAC,MAAM,CAC1B,CAAC;wBACF,OAAO,IAAI,kBAAS,CAAmB,KAAK,CAAC,CAAC;oBAChD,CAAC;yBAAM,IACL,KAAK,CAAC,YAAY;wBAClB,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,mBAAmB,EAC/C,CAAC;wBACD,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,QAAkB,CAAC;wBAC5D,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;4BAC9B,IAAA,0BAAgB,GAAE,CAAC;4BACnB,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;wBACtC,CAAC;wBACD,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBAE/B,gEAAgE;wBAChE,KAAK,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;oBACvD,CAAC;yBAAM,IACL,KAAK,CAAC,YAAY;wBAClB,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EACpD,CAAC;wBACD,wCAAwC;wBACxC,OAAO,IAAI,kBAAS,CAAmB,KAAK,CAAC,CAAC;oBAChD,CAAC;yBAAM,CAAC;wBACN,gBAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC;wBAC/B,OAAO,EAAE,oBAAoB;wBAC7B,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;oBAAS,CAAC;gBACT,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,IAAI,KAAK,CAAC,YAAY,EAAE,IAAI,KAAK,wBAAwB,EAAE,CAAC;wBAC1D,gDAAgD;wBAChD,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;oBAChC,CAAC;oBACD,IAAA,0BAAgB,GAAE,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAGvB,KAAiC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAC/C,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,gCAAoB,CAAC,CAC9D,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG;gBACpB,KAAK,EAAE,KAAK,CAAC,aAAa;gBAC1B,KAAK,EAAE,KAAK,CAAC,cAAc;gBAC3B,OAAO,EAAE,KAAK,CAAC,QAAQ;aACxB,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;oBACjC,OAAO,IAAA,2BAAiB,EACtB,KAAK,EAAE,IAAI,EAAE,EAAE;wBACb,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBAClD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;wBAC1D,OAAO,MAAM,CAAC;oBAChB,CAAC,EACD,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,EAClC,KAAK,CAAC,iBAAiB,CACxB,CAAC;gBACJ,CAAC,CAAC,CACH,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;wBACpC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gCAC/B,OAAO,EAAE,8BAA8B;gCACvC,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;6BAC3C,CAAC,CAAC;wBACL,CAAC;wBACD,MAAM,IAAI,wCAA+B,CACvC,8BAA8B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EACxE,MAAM,EACN,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,wCAA+B,EAAE,CAAC;oBACjD,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,8CAA8C;gBAC9C,KAAK,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM,IAAI,gCAAuB,CAC/B,uCAAuC,CAAC,EAAE,EAC1C,CAAU,EACV,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAIxB,KAAiC,EAAE,MAAc;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAChD,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,iCAAqB,CAAC,CAChE,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,aAAa,GAAkD;gBACnE,KAAK,EAAE,KAAK,CAAC,aAAa;gBAC1B,WAAW;gBACX,OAAO,EAAE,KAAK,CAAC,QAAQ;gBACvB,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,iBAAiB,EAAE;aACpD,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;oBACjC,OAAO,IAAA,2BAAiB,EACtB,KAAK,EAAE,IAAI,EAAE,EAAE;wBACb,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBAClD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;wBAC1D,OAAO,MAAM,CAAC;oBAChB,CAAC,EACD,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,EAClC,KAAK,CAAC,iBAAiB,CACxB,CAAC;gBACJ,CAAC,CAAC,CACH,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;wBACpC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BAC5B,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gCAC/B,OAAO,EAAE,8BAA8B;gCACvC,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;6BAC3C,CAAC,CAAC;wBACL,CAAC;wBACD,MAAM,IAAI,yCAAgC,CACxC,+BAA+B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EACzE,MAAM,EACN,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,yCAAgC,EAAE,CAAC;oBAClD,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,MAAM,IAAI,gCAAuB,CAC/B,wCAAwC,CAAC,EAAE,EAC3C,CAAU,EACV,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAIlB,MAA2C,EAC3C,OAAmC;QAEnC,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;gBAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAU,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,yBAAa,EAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,4BAAgB,EAAC,CAAC,CAAC,CAAC,CAAC;gBAEpE,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI;oBACvD,IAAI,EAAE,qBAAqB;iBAC5B,CAAC;gBAEF,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;oBAChE,gBAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;oBAC7C,IACE,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB;wBAC/B,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EACpC,CAAC;wBACD,MAAM,IAAI,kBAAS,CACjB,2CAA2C,EAC3C,MAAM,CAAC,KAAK,CACb,CAAC;oBACJ,CAAC;oBAED,MAAM,UAAU,GACd,MAAM,IAAA,yDAAqC,EACzC,MAAM,CAAC,KAAK,CAAC,aAAa,EAC1B,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B,MAAM,CAAC,KAAK,CAAC,eAAe,EAC5B,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAC9B,MAAM,CAAC,KAAK,CAAC,sBAAoD,EACjE,IAAI,EACJ,MAAM,CAAC,KAAK,CACb,CAAC;oBAEJ,IAAA,sCAAkB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBAEvC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CACrC,MAAM,CAAC,KAAK,CAAC,aAAa,EAC1B,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAC9C,CAAC;oBAEF,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;oBACvD,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;oBACzD,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;oBAChD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;wBAC1D,wEAAwE;wBACxE,OAAO;oBACT,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;wBACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wBACtD,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAA,yBAAe,EAAC;4BAC/C,IAAI,EAAE;gCACJ,IAAI,EAAE,YAAY,CAAC,IAAI;gCACvB,QAAQ,EAAE,YAAY;gCACtB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gCAC/B,WAAW,EAAE,YAAY,CAAC,gBAAgB;6BAC3C;yBACF,CAAC,CAAC;wBACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;wBACvC,IAAA,wBAAc,EAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACjD,CAAC;oBAED,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;oBAE5B,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBACvD,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,QAAQ,CAAC;4BACvC,OAAO,EAAE,oBAAoB;4BAC7B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;yBAC5C,CAAC,CAAC;wBACH,MAAM,IAAI,8BAAqB,CAC7B,cAAc,MAAM,CAAC,KAAK,CAAC,SAAS,YAAY,EAChD,MAAM,CAAC,KAAK,CACb,CAAC;oBACJ,CAAC;oBAED,gBAAM,CAAC,KAAK,CACV,iBAAiB,YAAY,CAAC,IAAI,UAAU,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CACzE,CAAC;oBAEF,IAAI,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAE/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC1D,CAAC;oBAED,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBACpC,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC/C,CAAC;oBAED,IAAI,aAAa,GAAG;wBAClB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa;wBAC5B,GAAG,YAAY,CAAC,aAAa;qBAC9B,CAAC;oBACF,aAAa,GAAG,IAAA,wCAAoB,EAClC,YAAY,EACZ,MAAM,CAAC,KAAK,CAAC,eAAe,EAC5B,aAAa,CACd,CAAC;oBAEF,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAE9D,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;wBACnC,YAAY,CAAC,IAAI,CACf,aAAa,EACb,MAAM,CAAC,KAAK,CAAC,QAAQ,EACrB,YAAY,CACb,CAAC;wBACF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBAChE,CAAC;oBAED,IAAI,aAAa,GAA8B,SAAS,CAAC;oBAEzD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,mBAAmB,CAAC;wBAClD,kBAAkB,EAAE,MAAM,YAAY,CAAC,eAAe,CACpD,MAAM,CAAC,KAAK,CAAC,QAAQ,CACtB;wBACD,MAAM,EAAE,MAAM,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAC3D,KAAK,EAAE,SAAS;wBAChB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;wBAC9C,aAAa;wBACb,KAAK,EAAE,eAAe;wBACtB,QAAQ,EAAE,kBAAkB;wBAC5B,UAAU,EAAE,IAAA,4CAAoC,EAC9C,YAAY,CAAC,UAAU,CACxB;wBACD,OAAO,EAAE,UAAU,CACjB,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,IAAI,CAAC,MAAM,CAAC,yBAAyB,CACtC;wBACD,MAAM,EAAE,OAAO,CAAC,MAAM;qBACvB,CAAC,EAAE,CAAC;wBACH,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;4BACnC,MAAM,MAAM,GAAG,uCAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACzD,aAAa,GAAG;gCACd,KAAK,EAAE,IAAI,aAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gCACvC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;gCAC9B,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;6BAC/B,CAAC;wBACJ,CAAC;wBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BACrB,4EAA4E;4BAC5E,wEAAwE;4BACxE,OAAO;wBACT,CAAC;wBACD,MAAM,CAAC,QAAQ,CAAC,IAAI,+BAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrD,CAAC;oBAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAEvC,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,IAAI,2BAAkB,CAC1B,yCAAyC,EACzC,MAAM,CAAC,KAAK,CACb,CAAC;oBACJ,CAAC;oBAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,aAAa,CAAC;oBAC/C,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBAElE,MAAM,iBAAiB,GAAG,IAAA,wCAAoB,EAC5C,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAC9B,YAAY,EACZ,KAAK,EACL,QAAQ,CACT,CAAC;oBAEF,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,iBAAiB,CAAC;oBACxD,MAAM,UAAU,GAAG,MAAM,IAAA,8CAA0B,EACjD,YAAY,EACZ,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B,MAAM,CAAC,KAAK,CAAC,eAAe,EAC5B,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAC9B,MAAM,CAAC,KAAK,CAAC,sBAAsB,EACnC,IAAI,EACJ,MAAM,CAAC,KAAK,CACb,CAAC;oBAEF,IAAA,sCAAkB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBAEvC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CACrC,YAAY,EACZ,iBAAiB,CAAC,SAAS,CAC5B,CAAC;oBAEF,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;oBACvD,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;oBACzD,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;gBAClD,CAAC;gBAED,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;oBAChE,MAAM,IAAI,CAAC,oBAAoB,CAC7B,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CACjC,CAAC;oBACF,OAAO;gBACT,CAAC;qBAAM,IACL,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,wBAAwB,EAC3D,CAAC;oBACD,uDAAuD;oBACvD,OAAO;gBACT,CAAC;qBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBAClE,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY;wBACpD,EAAE,QAAkB,CAAC;oBACvB,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;wBACnC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;wBACrC,IAAA,0BAAgB,GAAE,CAAC;oBACrB,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;oBAC3C,MAAM,CAAC,QAAQ,CACb,IAAI,mCAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAC3D,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAEtC,gEAAgE;oBAChE,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG;wBAC1B,IAAI,EAAE,qBAAqB;qBAC5B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,gBAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBACnC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC;oBACtC,OAAO,EAAE,oBAAoB;oBAC7B,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;iBAC/B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBACnC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,KAAK,wBAAwB,EAAE,CAAC;oBACjE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;gBACvC,CAAC;gBACD,IAAA,0BAAgB,GAAE,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAIxB,KAAa,EACb,KAA6D,EAC7D,OAAoC;QAEpC,OAAO,GAAG,OAAO,IAAK,EAAiC,CAAC;QACxD,OAAO,IAAA,4BAAkB,EAAC,KAAK,IAAI,EAAE;YACnC,qCAAqC;YACrC,MAAM,KAAK,GACT,KAAK,YAAY,mBAAQ;gBACvB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,mBAAQ,CACV,OAAO,CAAC,OAAO,YAAY,uBAAU;oBACnC,CAAC,CAAC,OAAO,CAAC,OAAO;oBACjB,CAAC,CAAC,IAAI,uBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EACnC,KAAkC,EAClC,KAAK,EACL,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CACtC,CAAC;YAER,qDAAqD;YACrD,MAAM,MAAM,GAAG,IAAI,0BAAiB,CAAmB;gBACrD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK;aACN,CAAC,CAAC;YAEH,iBAAiB;YACjB,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC;YAEtD,4CAA4C;YAC5C,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACvC,GAAG,EAAE;gBACH,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC,CACF,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAqCD,GAAG,CACD,KAAa,EACb,KAA6D,EAC7D,UAA0C;QACxC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,SAAS;KACe;QAInC,IAAI,KAAK,YAAY,mBAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9C,OAAO,IAAA,mBAAS,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBACxC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,IAAA,wBAAc,EAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC1C,CAAC;gBAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;oBACpB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAA,0BAAgB,EACrB,KAAK,IAAI,EAAE;YACT,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,EACD;YACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SACpC,CACF,CAAC;IACJ,CAAC;CACF;AAlxBD,wBAkxBC;AAED,IAAI,cAAc,GAAuB,SAAS,CAAC;AACnD,SAAS,gBAAgB;IACvB,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,cAAc,GAAG,IAAI,MAAM,EAAE,CAAC;IAC9B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAgB,WAAW,CACzB,UAA0B,EAC1B,cAA0C;IAE1C,mGAAmG;IACnG,2EAA2E;IAC3E,uEAAuE;IACvE,IACE,CAAC,OAAO,UAAU,KAAK,QAAQ;QAC7B,UAAU,KAAK,aAAK,CAAC,yBAAyB,CAAC;QACjD,UAAU,CAAC,mBAAmB;MAC9B,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,cAAc,IAAI,UAAU,IAAI,aAAK,CAAC,yBAAyB,CAAC;AACzE,CAAC;AAYM,KAAK,UAAU,GAAG,CACvB,KAAa,EACb,KAA6D,EAC7D,OAAoE;IAEpE,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}