From 7518cb9defc371b6f3ab1f7516cc23fec00a84f4 Mon Sep 17 00:00:00 2001 From: Brandon Hancock Date: Tue, 9 Jul 2024 15:40:39 -0400 Subject: [PATCH] The majority of tasks are working now. Need to fix converter class --- src/crewai/crew.py | 75 +- src/crewai/crews/crew_output.py | 51 +- src/crewai/task.py | 43 +- src/crewai/tasks/task_output.py | 46 +- tests/agent_test.py | 20 +- .../test_crew_kickoff_usage_metrics.yaml | 1431 ++++++++++++++++ ...test_kickoff_for_each_multiple_inputs.yaml | 1464 +++++++++++++++++ .../test_kickoff_for_each_single_input.yaml | 192 +++ tests/crew_test.py | 175 +- tests/task_test.py | 33 +- 10 files changed, 3332 insertions(+), 198 deletions(-) create mode 100644 tests/cassettes/test_crew_kickoff_usage_metrics.yaml create mode 100644 tests/cassettes/test_kickoff_for_each_multiple_inputs.yaml create mode 100644 tests/cassettes/test_kickoff_for_each_single_input.yaml diff --git a/src/crewai/crew.py b/src/crewai/crew.py index 5a991aed6..8f973f164 100644 --- a/src/crewai/crew.py +++ b/src/crewai/crew.py @@ -254,6 +254,27 @@ class Crew(BaseModel): return self + @model_validator(mode="after") + def validate_end_with_at_most_one_async_task(self): + """Validates that the crew ends with at most one asynchronous task.""" + final_async_task_count = 0 + + # Traverse tasks backward + for task in reversed(self.tasks): + if task.async_execution: + final_async_task_count += 1 + else: + break # Stop traversing as soon as a non-async task is encountered + + if final_async_task_count > 1: + raise PydanticCustomError( + "async_task_count", + "The crew must end with at most one asynchronous task.", + {}, + ) + + return self + def _setup_from_config(self): assert self.config is not None, "Config should not be None." @@ -347,8 +368,7 @@ class Crew(BaseModel): if self.process == Process.sequential: result = self._run_sequential_process() elif self.process == Process.hierarchical: - result, manager_metrics = self._run_hierarchical_process() # type: ignore # Incompatible types in assignment (expression has type "str | dict[str, Any]", variable has type "str") - metrics.append(manager_metrics) + result = self._run_hierarchical_process() # type: ignore # Incompatible types in assignment (expression has type "str | dict[str, Any]", variable has type "str") else: raise NotImplementedError( f"The process '{self.process}' is not implemented yet." @@ -502,11 +522,6 @@ class Crew(BaseModel): task_outputs.append(task_output) self._process_task_result(future_task, task_output) - final_string_output = aggregate_raw_outputs_from_task_outputs(task_outputs) - self._finish_execution(final_string_output) - - token_usage = self.calculate_usage_metrics() - # Important: There should only be one task output in the list # If there are more or 0, something went wrong. if len(task_outputs) != 1: @@ -516,10 +531,15 @@ class Crew(BaseModel): final_task_output = task_outputs[0] + final_string_output = final_task_output.raw + self._finish_execution(final_string_output) + + token_usage = self.calculate_usage_metrics() + return CrewOutput( - _raw=final_task_output.raw, - _pydantic=final_task_output.pydantic, - _json=final_task_output.json, + raw=final_task_output.raw, + pydantic=final_task_output.pydantic, + json_dict=final_task_output.json_dict, tasks_output=[task.output for task in self.tasks if task.output], token_usage=token_usage, ) @@ -530,7 +550,8 @@ class Crew(BaseModel): if self.output_log_file: self._file_handler.log(agent=role, task=output, status="completed") - def _run_hierarchical_process(self) -> Tuple[CrewOutput, Dict[str, Any]]: + # TODO: @joao, Breaking change. Changed return type. Usage metrics is included in crewoutput + def _run_hierarchical_process(self) -> CrewOutput: """Creates and assigns a manager agent to make sure the crew completes the tasks.""" i18n = I18N(prompt_file=self.prompt_file) if self.manager_agent is not None: @@ -564,7 +585,11 @@ class Crew(BaseModel): ) if task.async_execution: - context = aggregate_raw_outputs_from_task_outputs(task_outputs) + context = ( + aggregate_raw_outputs_from_tasks(task.context) + if task.context + else aggregate_raw_outputs_from_task_outputs(task_outputs) + ) future = task.execute_async( agent=manager, context=context, tools=manager.tools ) @@ -582,7 +607,11 @@ class Crew(BaseModel): # Clear the futures list after processing all async results futures.clear() - context = aggregate_raw_outputs_from_task_outputs(task_outputs) + context = ( + aggregate_raw_outputs_from_tasks(task.context) + if task.context + else aggregate_raw_outputs_from_task_outputs(task_outputs) + ) task_output = task.execute_sync( agent=manager, context=context, tools=manager.tools ) @@ -598,14 +627,26 @@ class Crew(BaseModel): task_outputs.append(task_output) self._process_task_result(future_task, task_output) - final_string_output = aggregate_raw_outputs_from_task_outputs(task_outputs) + # Important: There should only be one task output in the list + # If there are more or 0, something went wrong. + if len(task_outputs) != 1: + raise ValueError( + "Something went wrong. Kickoff should return only one task output." + ) + + final_task_output = task_outputs[0] + + final_string_output = final_task_output.raw self._finish_execution(final_string_output) token_usage = self.calculate_usage_metrics() - return ( - self._format_output(task_outputs, token_usage), - token_usage, + return CrewOutput( + raw=final_task_output.raw, + pydantic=final_task_output.pydantic, + json_dict=final_task_output.json_dict, + tasks_output=[task.output for task in self.tasks if task.output], + token_usage=token_usage, ) def copy(self): diff --git a/src/crewai/crews/crew_output.py b/src/crewai/crews/crew_output.py index c44a7501f..cb4cd6c79 100644 --- a/src/crewai/crews/crew_output.py +++ b/src/crewai/crews/crew_output.py @@ -1,6 +1,7 @@ +import json from typing import Any, Dict, Optional -from pydantic import BaseModel, Field, PrivateAttr +from pydantic import BaseModel, Field from crewai.tasks.output_format import OutputFormat from crewai.tasks.task_output import TaskOutput @@ -9,9 +10,13 @@ from crewai.tasks.task_output import TaskOutput class CrewOutput(BaseModel): """Class that represents the result of a crew.""" - _raw: str = PrivateAttr(default="") - _pydantic: Optional[BaseModel] = PrivateAttr(default=None) - _json: Optional[Dict[str, Any]] = PrivateAttr(default=None) + raw: str = Field(description="Raw output of crew", default="") + pydantic: Optional[BaseModel] = Field( + description="Pydantic output of Crew", default=None + ) + json_dict: Optional[Dict[str, Any]] = Field( + description="JSON dict output of Crew", default=None + ) tasks_output: list[TaskOutput] = Field( description="Output of each task", default=[] ) @@ -19,32 +24,30 @@ class CrewOutput(BaseModel): description="Processed token summary", default={} ) - @property - def raw(self) -> str: - return self._raw + # TODO: Joao - Adding this safety check breakes when people want to see + # The full output of a CrewOutput. + # @property + # def pydantic(self) -> Optional[BaseModel]: + # # Check if the final task output included a pydantic model + # if self.tasks_output[-1].output_format != OutputFormat.PYDANTIC: + # raise ValueError( + # "No pydantic model found in the final task. Please make sure to set the output_pydantic property in the final task in your crew." + # ) + + # return self._pydantic @property - def pydantic(self) -> Optional[BaseModel]: - # Check if the final task output included a pydantic model - if self.tasks_output[-1].output_format != OutputFormat.PYDANTIC: - raise ValueError( - "No pydantic model found in the final task. Please make sure to set the output_pydantic property in the final task in your crew." - ) - - return self._pydantic - - @property - def json(self) -> Optional[Dict[str, Any]]: + def json(self) -> Optional[str]: if self.tasks_output[-1].output_format != OutputFormat.JSON: raise ValueError( "No JSON output found in the final task. Please make sure to set the output_json property in the final task in your crew." ) - return self._json + return json.dumps(self.json_dict) - def to_output_dict(self) -> Dict[str, Any]: - if self.json: - return self.json + def to_dict(self) -> Dict[str, Any]: + if self.json_dict: + return self.json_dict if self.pydantic: return self.pydantic.model_dump() raise ValueError("No output to convert to dictionary") @@ -52,6 +55,6 @@ class CrewOutput(BaseModel): def __str__(self): if self.pydantic: return str(self.pydantic) - if self.json: - return str(self.json) + if self.json_dict: + return str(self.json_dict) return self.raw diff --git a/src/crewai/task.py b/src/crewai/task.py index 15dd61f9d..51192156b 100644 --- a/src/crewai/task.py +++ b/src/crewai/task.py @@ -1,3 +1,4 @@ +import json import os import re import threading @@ -99,6 +100,10 @@ class Task(BaseModel): description="Whether the task should have a human review the final answer of the agent", default=False, ) + converter_cls: Optional[Type[Converter]] = Field( + description="A converter class used to export structured output", + default=None, + ) _telemetry: Telemetry _execution_span: Span | None = None @@ -216,16 +221,13 @@ class Task(BaseModel): tools=tools, ) - if self.output_file: - self._save_output(result) - pydantic_output, json_output = self._export_output(result) task_output = TaskOutput( description=self.description, raw=result, pydantic=pydantic_output, - json=json_output, + json_dict=json_output, agent=agent.role, output_format=self._get_output_format(), ) @@ -238,6 +240,15 @@ class Task(BaseModel): self._telemetry.task_ended(self._execution_span, self) self._execution_span = None + if self.output_file: + content = ( + json_output + if json_output + else pydantic_output.model_dump_json() if pydantic_output else result + ) + print("CALLING SAVE FILE", content) + self._save_file(content) + return task_output def prompt(self) -> str: @@ -312,10 +323,19 @@ class Task(BaseModel): if self.output_pydantic or self.output_json: model_output = self._convert_to_model(result) + print("MODEL OUTPUT", model_output) pydantic_output = ( model_output if isinstance(model_output, BaseModel) else None ) - json_output = model_output if isinstance(model_output, dict) else None + print("PYDANTIC OUTPUT", pydantic_output) + if isinstance(model_output, str): + try: + json_output = json.loads(model_output) + except json.JSONDecodeError: + json_output = None + else: + json_output = model_output if isinstance(model_output, dict) else None + print("JSON OUTPUT", json_output) return pydantic_output, json_output @@ -327,13 +347,18 @@ class Task(BaseModel): try: return self._validate_model(result, model) except Exception: + print("EXCEPTION IN _convert_to_model") return self._handle_partial_json(result, model) def _validate_model( self, result: str, model: Type[BaseModel] ) -> Union[dict, BaseModel]: + print("VALIDATE MODEL - RESULT", result) + print("VALIDATE MODEL - MODEL", model) exported_result = model.model_validate_json(result) + print("EXPORTED RESULT", exported_result) if self.output_json: + print("HERE IN _validate_model", self.output_json) return exported_result.model_dump() return exported_result @@ -344,10 +369,12 @@ class Task(BaseModel): if match: try: exported_result = model.model_validate_json(match.group(0)) + print("EXPORTED RESULT in handle_partial", exported_result) if self.output_json: return exported_result.model_dump() return exported_result except Exception: + print("EXCEPTION IN _handle_partial_json") pass return self._convert_with_instructions(result, model) @@ -355,16 +382,21 @@ class Task(BaseModel): def _convert_with_instructions( self, result: str, model: Type[BaseModel] ) -> Union[dict, BaseModel, str]: + print("CONVERT WITH INSTRUCTIONS - RESULT", result) + print("CONVERT WITH INSTRUCTIONS - model", model) llm = self.agent.function_calling_llm or self.agent.llm instructions = self._get_conversion_instructions(model, llm) converter = Converter( llm=llm, text=result, model=model, instructions=instructions ) + print("CONVERTER", converter) exported_result = ( converter.to_pydantic() if self.output_pydantic else converter.to_json() ) + print("EXPORTED RESULT IN CONVERT WITH INSTRUCTIONS", exported_result) + if isinstance(exported_result, ConverterError): Printer().print( content=f"{exported_result.message} Using raw output instead.", @@ -402,6 +434,7 @@ class Task(BaseModel): return isinstance(llm, ChatOpenAI) and llm.openai_api_base is None def _save_file(self, result: Any) -> None: + print("SAVING FILE with content", result) directory = os.path.dirname(self.output_file) # type: ignore # Value of type variable "AnyOrLiteralStr" of "dirname" cannot be "str | None" if directory and not os.path.exists(directory): diff --git a/src/crewai/tasks/task_output.py b/src/crewai/tasks/task_output.py index 58a47e287..b56334180 100644 --- a/src/crewai/tasks/task_output.py +++ b/src/crewai/tasks/task_output.py @@ -1,3 +1,4 @@ +import json from typing import Any, Dict, Optional from pydantic import BaseModel, Field, model_validator @@ -11,12 +12,14 @@ class TaskOutput(BaseModel): description: str = Field(description="Description of the task") summary: Optional[str] = Field(description="Summary of the task", default=None) raw: str = Field( - description="Result of the task" + description="Raw output of the task", default="" ) # TODO: @joao: breaking change, by renaming raw_output to raw, but now consistent with CrewOutput pydantic: Optional[BaseModel] = Field( - description="Pydantic model output", default=None + description="Pydantic output of task", default=None + ) + json_dict: Optional[Dict[str, Any]] = Field( + description="JSON dictionary of task", default=None ) - json: Optional[Dict[str, Any]] = Field(description="JSON output", default=None) agent: str = Field(description="Agent that executed the task") output_format: OutputFormat = Field( description="Output format of the task", default=OutputFormat.RAW @@ -29,11 +32,40 @@ class TaskOutput(BaseModel): self.summary = f"{excerpt}..." return self + # TODO: Joao - Adding this safety check breakes when people want to see + # The full output of a TaskOutput or CrewOutput. + # @property + # def pydantic(self) -> Optional[BaseModel]: + # # Check if the final task output included a pydantic model + # if self.output_format != OutputFormat.PYDANTIC: + # raise ValueError( + # """ + # Invalid output format requested. + # If you would like to access the pydantic model, + # please make sure to set the output_pydantic property for the task. + # """ + # ) + + # return self._pydantic + + @property + def json(self) -> Optional[str]: + if self.output_format != OutputFormat.JSON: + raise ValueError( + """ + Invalid output format requested. + If you would like to access the JSON output, + please make sure to set the output_json property for the task + """ + ) + + return json.dumps(self.json_dict) + def to_dict(self) -> Dict[str, Any]: """Convert json_output and pydantic_output to a dictionary.""" output_dict = {} - if self.json: - output_dict.update(self.json) + if self.json_dict: + output_dict.update(self.json_dict) if self.pydantic: output_dict.update(self.pydantic.model_dump()) return output_dict @@ -41,6 +73,6 @@ class TaskOutput(BaseModel): def __str__(self) -> str: if self.pydantic: return str(self.pydantic) - if self.json: - return str(self.json) + if self.json_dict: + return str(self.json_dict) return self.raw diff --git a/tests/agent_test.py b/tests/agent_test.py index cb4a63bc9..d8e04c110 100644 --- a/tests/agent_test.py +++ b/tests/agent_test.py @@ -4,6 +4,10 @@ from unittest import mock from unittest.mock import patch import pytest +from langchain.tools import tool +from langchain_core.exceptions import OutputParserException +from langchain_openai import ChatOpenAI + from crewai import Agent, Crew, Task from crewai.agents.cache import CacheHandler from crewai.agents.executor import CrewAgentExecutor @@ -11,9 +15,6 @@ from crewai.agents.parser import CrewAgentParser from crewai.tools.tool_calling import InstructorToolCalling from crewai.tools.tool_usage import ToolUsage from crewai.utilities import RPMController -from langchain.tools import tool -from langchain_core.exceptions import OutputParserException -from langchain_openai import ChatOpenAI def test_agent_creation(): @@ -630,8 +631,9 @@ def test_agent_use_specific_tasks_output_as_context(capsys): crew = Crew(agents=[agent1, agent2], tasks=tasks) result = crew.kickoff() - assert "bye" not in result.raw_output().lower() - assert "hi" in result.raw_output().lower() or "hello" in result.raw_output().lower() + print("LOWER RESULT", result.raw) + assert "bye" not in result.raw.lower() + assert "hi" in result.raw.lower() or "hello" in result.raw.lower() @pytest.mark.vcr(filter_headers=["authorization"]) @@ -643,7 +645,7 @@ def test_agent_step_callback(): with patch.object(StepCallback, "callback") as callback: @tool - def learn_about_AI(topic) -> float: + def learn_about_AI(topic) -> str: """Useful for when you need to learn about AI to write an paragraph about it.""" return "AI is a very broad field." @@ -677,7 +679,7 @@ def test_agent_function_calling_llm(): with patch.object(llm.client, "create", wraps=llm.client.create) as private_mock: @tool - def learn_about_AI(topic) -> float: + def learn_about_AI(topic) -> str: """Useful for when you need to learn about AI to write an paragraph about it.""" return "AI is a very broad field." @@ -749,8 +751,8 @@ def test_tool_result_as_answer_is_the_final_answer_for_the_agent(): crew = Crew(agents=[agent1], tasks=tasks) result = crew.kickoff() - print("RESULT: ", result.raw_output()) - assert result.raw_output() == "Howdy!" + print("RESULT: ", result.raw) + assert result.raw == "Howdy!" @pytest.mark.vcr(filter_headers=["authorization"]) diff --git a/tests/cassettes/test_crew_kickoff_usage_metrics.yaml b/tests/cassettes/test_crew_kickoff_usage_metrics.yaml new file mode 100644 index 000000000..cb6791efb --- /dev/null +++ b/tests/cassettes/test_crew_kickoff_usage_metrics.yaml @@ -0,0 +1,1431 @@ +interactions: +- request: + body: '{"messages": [{"content": "You are dog Researcher. You have a lot of experience + with dog.\nYour personal goal is: Express hot takes on dog.To give my best complete + final answer to the task use the exact following format:\n\nThought: I now can + give a great answer\nFinal Answer: my best complete final answer to the task.\nYour + final answer must be the great and the most complete as possible, it must be + outcome described.\n\nI MUST use these formats, my job depends on it!\nCurrent + Task: Give me an analysis around dog.\n\nThis is the expect criteria for your + final answer: 1 bullet point about dog that''s under 15 words. \n you MUST return + the actual complete content as the final answer, not a summary.\n\nBegin! This + is VERY important to you, use the tools available and give your best Final Answer, + your job depends on it!\n\nThought:\n", "role": "user"}], "model": "gpt-4o", + "n": 1, "stop": ["\nObservation"], "stream": true, "temperature": 0.7}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '951' + content-type: + - application/json + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.35.10 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.35.10 + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.3 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: 'data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + I"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + now"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + can"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + give"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + a"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + great"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + Answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + Dogs"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + are"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + highly"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + social"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + animals"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + that"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + thrive"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + on"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + companionship"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + and"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + interaction"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jtxt3Hn2l7sOe3Mt9KyX6YjUur","object":"chat.completion.chunk","created":1720536081,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]} + + + data: [DONE] + + + ' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8a09130cba5b07d2-ATL + Connection: + - keep-alive + Content-Type: + - text/event-stream; charset=utf-8 + Date: + - Tue, 09 Jul 2024 14:41:21 GMT + Server: + - cloudflare + Set-Cookie: + - __cf_bm=Zk8vfeh9N8AtNmNUxJb8XStywbu_PhC.h7IXHPN3j5c-1720536081-1.0.1.1-eJVUro18.sJevMp5dgR9EUBSvIo1LKyetkSpkQqnVgx03tbtItYkEYcFoTHrTpLYPKS4KI58BTQu6b78AJU7mg; + path=/; expires=Tue, 09-Jul-24 15:11:21 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=gxSqqKMsb6Mlk7oJjpXBYSeOaIsM3PTrWI9w8PoQl6g-1720536081678-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '140' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '22000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '21999783' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_6e01d475f170c074ca549d5a2d3f112c + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"content": "You are cat Researcher. You have a lot of experience + with cat.\nYour personal goal is: Express hot takes on cat.To give my best complete + final answer to the task use the exact following format:\n\nThought: I now can + give a great answer\nFinal Answer: my best complete final answer to the task.\nYour + final answer must be the great and the most complete as possible, it must be + outcome described.\n\nI MUST use these formats, my job depends on it!\nCurrent + Task: Give me an analysis around cat.\n\nThis is the expect criteria for your + final answer: 1 bullet point about cat that''s under 15 words. \n you MUST return + the actual complete content as the final answer, not a summary.\n\nBegin! This + is VERY important to you, use the tools available and give your best Final Answer, + your job depends on it!\n\nThought:\n", "role": "user"}], "model": "gpt-4o", + "n": 1, "stop": ["\nObservation"], "stream": true, "temperature": 0.7}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '951' + content-type: + - application/json + cookie: + - __cf_bm=Zk8vfeh9N8AtNmNUxJb8XStywbu_PhC.h7IXHPN3j5c-1720536081-1.0.1.1-eJVUro18.sJevMp5dgR9EUBSvIo1LKyetkSpkQqnVgx03tbtItYkEYcFoTHrTpLYPKS4KI58BTQu6b78AJU7mg; + _cfuvid=gxSqqKMsb6Mlk7oJjpXBYSeOaIsM3PTrWI9w8PoQl6g-1720536081678-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.35.10 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.35.10 + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.3 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: 'data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"I"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + now"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + can"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + give"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + a"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + great"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + Answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + Cats"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + are"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + expert"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + hunters"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + with"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + finely"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"-t"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"uned"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + senses"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + and"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + graceful"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + agility"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6Jua10S1KtBNIMCBPTstNlOLsOD","object":"chat.completion.chunk","created":1720536082,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]} + + + data: [DONE] + + + ' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8a091311cf5507d2-ATL + Connection: + - keep-alive + Content-Type: + - text/event-stream; charset=utf-8 + Date: + - Tue, 09 Jul 2024 14:41:22 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '150' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '22000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '21999783' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_01e30e3bf2dd2d5dc7576e0f497ca261 + status: + code: 200 + message: OK +- request: + body: !!binary | + CvXkAgokCiIKDHNlcnZpY2UubmFtZRISChBjcmV3QUktdGVsZW1ldHJ5EsvkAgoSChBjcmV3YWku + dGVsZW1ldHJ5EoAKChAXNphfVyJ7Hty8Af3JhfrWEghI6P22q0WTIioMQ3JldyBDcmVhdGVkMAE5 + IL9iZnKS4BdBWP1kZnKS4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44ShoKDnB5dGhvbl92 + ZXJzaW9uEggKBjMuMTIuM0oxCgdjcmV3X2lkEiYKJDM2MzEwM2NkLTE0OTUtNGY2Zi05OWU1LTBm + YmQ4MjFjMzllYUocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRIC + EABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxIC + GAFK4gIKC2NyZXdfYWdlbnRzEtICCs8CW3siaWQiOiAiM2Y4ZWZjZGItYjgxYy00NTg3LThiOGQt + NGYxMmQ4ZjljMTk1IiwgInJvbGUiOiAidGVzdCByb2xlIiwgImdvYWwiOiAidGVzdCBnb2FsIiwg + ImJhY2tzdG9yeSI6ICJ0ZXN0IGJhY2tzdG9yeSIsICJ2ZXJib3NlPyI6IHRydWUsICJtYXhfaXRl + ciI6IDQsICJtYXhfcnBtIjogMTAsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51 + bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJj + bGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IHRydWUsICJ0 + b29sc19uYW1lcyI6IFtdfV1KjAMKCmNyZXdfdGFza3MS/QIK+gJbeyJpZCI6ICJhYjc4ZjE0Yy03 + MDE2LTRlZWYtOWRlNC0yZjY4YTE4NWQ2NTIiLCAiZGVzY3JpcHRpb24iOiAiVXNlIHRvb2wgbG9n + aWMgZm9yIGBnZXRfZmluYWxfYW5zd2VyYCBidXQgZm9uJ3QgZ2l2ZSB5b3UgZmluYWwgYW5zd2Vy + IHlldCwgaW5zdGVhZCBrZWVwIHVzaW5nIGl0IHVubGVzcyB5b3UncmUgdG9sZCB0byBnaXZlIHlv + dXIgZmluYWwgYW5zd2VyIiwgImV4cGVjdGVkX291dHB1dCI6ICJUaGUgZmluYWwgYW5zd2VyIiwg + ImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRf + cm9sZSI6ICJ0ZXN0IHJvbGUiLCAiY29udGV4dCI6IG51bGwsICJ0b29sc19uYW1lcyI6IFsiZ2V0 + X2ZpbmFsX2Fuc3dlciJdfV1KKAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02NC1hcm0tNjRi + aXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lzdGVtEggKBkRh + cndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lvbiAyMy41LjA6 + IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEyMS4zfjUvUkVM + RUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAASewoQBEHSpqzS8IR8J5SbAGzp + TRIIIMpPZ4hx6lAqDFRhc2sgQ3JlYXRlZDABOaAscGZykuAXQfhHcGZykuAXSjEKB3Rhc2tfaWQS + JgokYWI3OGYxNGMtNzAxNi00ZWVmLTlkZTQtMmY2OGExODVkNjUyegIYAYUBAAEAABKTAQoQstAu + XqY51mezeVtaWwOUQhIIX4LO3VhP2JYqClRvb2wgVXNhZ2UwATloiPVncpLgF0E4ivZncpLgF0oa + Cg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKHwoJdG9vbF9uYW1lEhIKEGdldF9maW5hbF9hbnN3 + ZXJKDgoIYXR0ZW1wdHMSAhgBegIYAYUBAAEAABKTAQoQ2lblffkV9PMLil5yyq9jkxIIrMg2uUcf + jusqClRvb2wgVXNhZ2UwATlQ03VpcpLgF0HIuXZpcpLgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYw + LjM1LjhKHwoJdG9vbF9uYW1lEhIKEGdldF9maW5hbF9hbnN3ZXJKDgoIYXR0ZW1wdHMSAhgBegIY + AYUBAAEAABKCDgoQANmYrCUYAFBsYQTtBZrdmBIIlBzJLOKQPjIqDENyZXcgQ3JlYXRlZDABOWCm + 9GtykuAXQaA292tykuAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVy + c2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBImCiQxNWNjMjcxYy1kYWY1LTQ2YTgtODk0My0wY2Vh + MTQ2MWMxYWRKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAA + ShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAkobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgC + SrkFCgtjcmV3X2FnZW50cxKpBQqmBVt7ImlkIjogImFhNTI0MGFkLTZiYWEtNDMzMS05ODgzLTAx + ZWQ0ZTRiODVmOSIsICJyb2xlIjogInRlc3Qgcm9sZSIsICJnb2FsIjogInRlc3QgZ29hbCIsICJi + YWNrc3RvcnkiOiAidGVzdCBiYWNrc3RvcnkiLCAidmVyYm9zZT8iOiB0cnVlLCAibWF4X2l0ZXIi + OiAyNSwgIm1heF9ycG0iOiAxMCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVs + bCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNs + YXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJ0 + b29sc19uYW1lcyI6IFtdfSwgeyJpZCI6ICIxYjA4YzVhMy1lNTMzLTQzMmUtOTVhZi0zMDA4YTgx + MzBhMGYiLCAicm9sZSI6ICJ0ZXN0IHJvbGUyIiwgImdvYWwiOiAidGVzdCBnb2FsMiIsICJiYWNr + c3RvcnkiOiAidGVzdCBiYWNrc3RvcnkyIiwgInZlcmJvc2U/IjogdHJ1ZSwgIm1heF9pdGVyIjog + MiwgIm1heF9ycG0iOiBudWxsLCAiaTE4biI6IG51bGwsICJsbG0iOiAie1wibmFtZVwiOiBudWxs + LCBcIm1vZGVsX25hbWVcIjogXCJncHQtNG9cIiwgXCJ0ZW1wZXJhdHVyZVwiOiAwLjcsIFwiY2xh + c3NcIjogXCJDaGF0T3BlbkFJXCJ9IiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgInRv + b2xzX25hbWVzIjogW119XUq3BAoKY3Jld190YXNrcxKoBAqlBFt7ImlkIjogImU2YmZkOThmLWQ3 + MGQtNGU1Mi04OGM2LWViODkyYjhkNTIyZCIsICJkZXNjcmlwdGlvbiI6ICJKdXN0IHNheSBoaS4i + LCAiZXhwZWN0ZWRfb3V0cHV0IjogIllvdXIgZ3JlZXRpbmcuIiwgImFzeW5jX2V4ZWN1dGlvbj8i + OiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJ0ZXN0IHJvbGUi + LCAiY29udGV4dCI6IG51bGwsICJ0b29sc19uYW1lcyI6IFtdfSwgeyJpZCI6ICJmNGVmMjI3Yy02 + NGNkLTQyMDItYTE2MC05MDc4YTE3ZDIyMzQiLCAiZGVzY3JpcHRpb24iOiAiTkVWRVIgZ2l2ZSBh + IEZpbmFsIEFuc3dlciwgaW5zdGVhZCBrZWVwIHVzaW5nIHRoZSBgZ2V0X2ZpbmFsX2Fuc3dlcmAg + dG9vbCBub24tc3RvcCIsICJleHBlY3RlZF9vdXRwdXQiOiAiVGhlIGZpbmFsIGFuc3dlciIsICJh + c3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3Jv + bGUiOiAidGVzdCByb2xlMiIsICJjb250ZXh0IjogbnVsbCwgInRvb2xzX25hbWVzIjogWyJnZXRf + ZmluYWxfYW5zd2VyIl19XUooCghwbGF0Zm9ybRIcChptYWNPUy0xNC41LWFybTY0LWFybS02NGJp + dEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjUuMEobCg9wbGF0Zm9ybV9zeXN0ZW0SCAoGRGFy + d2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApmRGFyd2luIEtlcm5lbCBWZXJzaW9uIDIzLjUuMDog + V2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAyNDsgcm9vdDp4bnUtMTAwNjMuMTIxLjN+NS9SRUxF + QVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgKegIYAYUBAAEAABJ7ChCXcwe8WuYWMPKh+wqKhJwy + Egh27VC/OUexESoMVGFzayBDcmVhdGVkMAE50CEObHKS4BdBQDkObHKS4BdKMQoHdGFza19pZBIm + CiRlNmJmZDk4Zi1kNzBkLTRlNTItODhjNi1lYjg5MmI4ZDUyMmR6AhgBhQEAAQAAEnsKEKX4KI/7 + toAnrjb5sK5IcvUSCG3BSmlTPMEdKgxUYXNrIENyZWF0ZWQwATmwrM9scpLgF0EgxM9scpLgF0ox + Cgd0YXNrX2lkEiYKJGY0ZWYyMjdjLTY0Y2QtNDIwMi1hMTYwLTkwNzhhMTdkMjIzNHoCGAGFAQAB + AAASkwEKEHV8PrN5ct1I8Vv+hNBEqM8SCJM7leEZiorxKgpUb29sIFVzYWdlMAE5II5PbnKS4BdB + iMpQbnKS4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44Sh8KCXRvb2xfbmFtZRISChBnZXRf + ZmluYWxfYW5zd2VySg4KCGF0dGVtcHRzEgIYAXoCGAGFAQABAAASkwEKEDTBzhPCgP2hzC93jQQY + r9cSCAkertBmABHaKgpUb29sIFVzYWdlMAE5iMaeb3KS4BdBGKmfb3KS4BdKGgoOY3Jld2FpX3Zl + cnNpb24SCAoGMC4zNS44Sh8KCXRvb2xfbmFtZRISChBnZXRfZmluYWxfYW5zd2VySg4KCGF0dGVt + cHRzEgIYAXoCGAGFAQABAAASlAkKEMF14tnJP/d7ffMhiHuw87wSCLNUbUdmjqv/KgxDcmV3IENy + ZWF0ZWQwATn4gyRxcpLgF0HAqiZxcpLgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoO + cHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokNjYwODU5NmUtOTg4ZC00OTNj + LTkxNzUtY2VlNGQzYTM4NDk3ShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdf + bWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2Zf + YWdlbnRzEgIYAUrlAgoLY3Jld19hZ2VudHMS1QIK0gJbeyJpZCI6ICI0ZDhkOTA2Yi04MTk2LTRm + NWItOTRkMS03ZWEyZWQyY2ZjMmUiLCAicm9sZSI6ICJ0ZXN0IHJvbGUiLCAiZ29hbCI6ICJ0ZXN0 + IGdvYWwiLCAiYmFja3N0b3J5IjogInRlc3QgYmFja3N0b3J5IiwgInZlcmJvc2U/IjogdHJ1ZSwg + Im1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntc + Im5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVc + IjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/ + IjogdHJ1ZSwgInRvb2xzX25hbWVzIjogW119XUqdAgoKY3Jld190YXNrcxKOAgqLAlt7ImlkIjog + IjdmMWFkNTY0LTY5ZDEtNDIzYy1iMjBhLTMwODRlZGJiZGViMSIsICJkZXNjcmlwdGlvbiI6ICJV + c2UgdGhlIGdldF9maW5hbF9hbnN3ZXIgdG9vbC4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIlRoZSBm + aW5hbCBhbnN3ZXIiLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/Ijog + ZmFsc2UsICJhZ2VudF9yb2xlIjogInRlc3Qgcm9sZSIsICJjb250ZXh0IjogbnVsbCwgInRvb2xz + X25hbWVzIjogWyJnZXRfZmluYWxfYW5zd2VyIl19XUooCghwbGF0Zm9ybRIcChptYWNPUy0xNC41 + LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjUuMEobCg9wbGF0Zm9y + bV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApmRGFyd2luIEtlcm5lbCBW + ZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAyNDsgcm9vdDp4bnUtMTAw + NjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgKegIYAYUBAAEAABJ7ChBv + MhSGYE0/KQ3yC6rm42x2EggY8bZLLej9fioMVGFzayBDcmVhdGVkMAE5aDU1cXKS4BdB8Eg1cXKS + 4BdKMQoHdGFza19pZBImCiQ3ZjFhZDU2NC02OWQxLTQyM2MtYjIwYS0zMDg0ZWRiYmRlYjF6AhgB + hQEAAQAAEtABChCRESt+xmTHV9OND6r8JNJGEggSBIZyxispAioQVG9vbCBVc2FnZSBFcnJvcjAB + ORgTKXJykuAXQfg7KnJykuAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEpmCgNsbG0SXwpd + eyJuYW1lIjogbnVsbCwgIm1vZGVsX25hbWUiOiAiZ3B0LTQtMDEyNS1wcmV2aWV3IiwgInRlbXBl + cmF0dXJlIjogMC43LCAiY2xhc3MiOiAiQ2hhdE9wZW5BSSJ9egIYAYUBAAEAABLQAQoQbN273+bQ + I5HzPrepRXIJxhIIO38NmNeDw5gqEFRvb2wgVXNhZ2UgRXJyb3IwATkojSpzcpLgF0GgcytzcpLg + F0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKZgoDbGxtEl8KXXsibmFtZSI6IG51bGwsICJt + b2RlbF9uYW1lIjogImdwdC00LTAxMjUtcHJldmlldyIsICJ0ZW1wZXJhdHVyZSI6IDAuNywgImNs + YXNzIjogIkNoYXRPcGVuQUkifXoCGAGFAQABAAAS0AEKEN2xTAtPnJd09h+teKJrIhgSCJSfPWca + /knVKhBUb29sIFVzYWdlIEVycm9yMAE5mElIdHKS4BdBQChJdHKS4BdKGgoOY3Jld2FpX3ZlcnNp + b24SCAoGMC4zNS44SmYKA2xsbRJfCl17Im5hbWUiOiBudWxsLCAibW9kZWxfbmFtZSI6ICJncHQt + NC0wMTI1LXByZXZpZXciLCAidGVtcGVyYXR1cmUiOiAwLjcsICJjbGFzcyI6ICJDaGF0T3BlbkFJ + In16AhgBhQEAAQAAEoIKChCBEue6UwfWQbcq4HaC8vvdEgizJ2g6XqrhzyoMQ3JldyBDcmVhdGVk + MAE5SJfKdnKS4BdBUGDMdnKS4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44ShoKDnB5dGhv + bl92ZXJzaW9uEggKBjMuMTIuM0oxCgdjcmV3X2lkEiYKJDRiOWJiYTg0LTBhMWQtNDkyYi1hMTQy + LTFmYTEzZDg5YWIxYkocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9y + eRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50 + cxICGAFK5AIKC2NyZXdfYWdlbnRzEtQCCtECW3siaWQiOiAiMTkxOGEzOTktYWFlYy00NWIyLWJh + MTMtNjQzZmRkMjQ5NWZkIiwgInJvbGUiOiAidGVzdCByb2xlIiwgImdvYWwiOiAidGVzdCBnb2Fs + IiwgImJhY2tzdG9yeSI6ICJ0ZXN0IGJhY2tzdG9yeSIsICJ2ZXJib3NlPyI6IHRydWUsICJtYXhf + aXRlciI6IDYsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVc + IjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43 + LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogdHJ1 + ZSwgInRvb2xzX25hbWVzIjogW119XUqMAwoKY3Jld190YXNrcxL9Agr6Alt7ImlkIjogIjJmZGI5 + MDQyLWQzZDItNGJjYS1iYjljLTJlNTI2NWE1MzE2NCIsICJkZXNjcmlwdGlvbiI6ICJVc2UgdG9v + bCBsb2dpYyBmb3IgYGdldF9maW5hbF9hbnN3ZXJgIGJ1dCBmb24ndCBnaXZlIHlvdSBmaW5hbCBh + bnN3ZXIgeWV0LCBpbnN0ZWFkIGtlZXAgdXNpbmcgaXQgdW5sZXNzIHlvdSdyZSB0b2xkIHRvIGdp + dmUgeW91ciBmaW5hbCBhbnN3ZXIiLCAiZXhwZWN0ZWRfb3V0cHV0IjogIlRoZSBmaW5hbCBhbnN3 + ZXIiLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJh + Z2VudF9yb2xlIjogInRlc3Qgcm9sZSIsICJjb250ZXh0IjogbnVsbCwgInRvb2xzX25hbWVzIjog + WyJnZXRfZmluYWxfYW5zd2VyIl19XUooCghwbGF0Zm9ybRIcChptYWNPUy0xNC41LWFybTY0LWFy + bS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjUuMEobCg9wbGF0Zm9ybV9zeXN0ZW0S + CAoGRGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApmRGFyd2luIEtlcm5lbCBWZXJzaW9uIDIz + LjUuMDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAyNDsgcm9vdDp4bnUtMTAwNjMuMTIxLjN+ + NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgKegIYAYUBAAEAABJ7ChDJXItJ22swi9vl + lUi1JenXEgijypag6yNmzioMVGFzayBDcmVhdGVkMAE5YDnZdnKS4BdB6EzZdnKS4BdKMQoHdGFz + a19pZBImCiQyZmRiOTA0Mi1kM2QyLTRiY2EtYmI5Yy0yZTUyNjVhNTMxNjR6AhgBhQEAAQAAEmgK + EGUyiLdRTD9D8S6w/gAzeMQSCBK7a1ugxn1AKhBUb29sIFVzYWdlIEVycm9yMAE5COwEeHKS4BdB + ELsFeHKS4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44egIYAYUBAAEAABKTAQoQpW6CqlJ0 + Lb4LzPRo1VnxKhIIwCJISWbmxQIqClRvb2wgVXNhZ2UwATkwt2B5cpLgF0E4hmF5cpLgF0oaCg5j + cmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKHwoJdG9vbF9uYW1lEhIKEGdldF9maW5hbF9hbnN3ZXJK + DgoIYXR0ZW1wdHMSAhgBegIYAYUBAAEAABKTAQoQCWcHqZCQzvViscAFkxX3PxIIffd0n/ju1Qcq + ClRvb2wgVXNhZ2UwATkg79x6cpLgF0Eovt16cpLgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1 + LjhKHwoJdG9vbF9uYW1lEhIKEGdldF9maW5hbF9hbnN3ZXJKDgoIYXR0ZW1wdHMSAhgBegIYAYUB + AAEAABKTAQoQcHFIIzjr4qnRLRYTVJysVRIIdz67GJ0lJX0qClRvb2wgVXNhZ2UwATkYekR8cpLg + F0FQQUV8cpLgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKHwoJdG9vbF9uYW1lEhIKEGdl + dF9maW5hbF9hbnN3ZXJKDgoIYXR0ZW1wdHMSAhgBegIYAYUBAAEAABK5DwoQVwvXnvvbisWORFzk + x8lKUhIIyIEnsNyEB9gqDENyZXcgQ3JlYXRlZDABOYAzNH9ykuAXQTgzNn9ykuAXShoKDmNyZXdh + aV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVyc2lvbhIICgYzLjEyLjNKMQoHY3Jld19p + ZBImCiQ2Yjg5OGQzYS03NThjLTQxMzUtOGFjMy02OGM5OTUyYWVjYmZKHAoMY3Jld19wcm9jZXNz + EgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tz + EgIYA0obChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgCSrwFCgtjcmV3X2FnZW50cxKsBQqpBVt7 + ImlkIjogImZmMzZjYTZkLTgzYTUtNDUxZC1iNTM1LWY3NWQ1MWQxNWU5ZiIsICJyb2xlIjogInRl + c3Qgcm9sZSIsICJnb2FsIjogInRlc3QgZ29hbCIsICJiYWNrc3RvcnkiOiAidGVzdCBiYWNrc3Rv + cnkiLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwg + ImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwi + Z3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwi + fSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogdHJ1ZSwgInRvb2xzX25hbWVzIjogW119LCB7Imlk + IjogImQzYzA2MDNhLTlhODAtNGUyYS05ZmI0LTUwZjA5NDhhMjUxNyIsICJyb2xlIjogInRlc3Qg + cm9sZTIiLCAiZ29hbCI6ICJ0ZXN0IGdvYWwyIiwgImJhY2tzdG9yeSI6ICJ0ZXN0IGJhY2tzdG9y + eTIiLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwg + ImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwi + Z3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwi + fSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogdHJ1ZSwgInRvb2xzX25hbWVzIjogW119XUrrBQoK + Y3Jld190YXNrcxLcBQrZBVt7ImlkIjogImNhNDllODgwLWRjYmYtNDMwMi04MDIzLTVlZWZlZTA3 + NTMyYyIsICJkZXNjcmlwdGlvbiI6ICJKdXN0IHNheSBoaS4iLCAiZXhwZWN0ZWRfb3V0cHV0Ijog + IllvdXIgZ3JlZXRpbmcuIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0 + PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJ0ZXN0IHJvbGUiLCAiY29udGV4dCI6IG51bGwsICJ0 + b29sc19uYW1lcyI6IFtdfSwgeyJpZCI6ICIxMzA5MmE4ZC0wYTFjLTQ2ZjQtOTQ5Zi03ZTgyMTNl + MTA0NjEiLCAiZGVzY3JpcHRpb24iOiAiSnVzdCBzYXkgYnllLiIsICJleHBlY3RlZF9vdXRwdXQi + OiAiWW91ciBmYXJld2VsbC4iLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5w + dXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogInRlc3Qgcm9sZSIsICJjb250ZXh0IjogbnVsbCwg + InRvb2xzX25hbWVzIjogW119LCB7ImlkIjogIjA0ZGYwMzNjLTMyODItNDAxNC1iMDYxLThlZGI1 + YjU0NjljYSIsICJkZXNjcmlwdGlvbiI6ICJBbnN3ZXIgYWNjb3JkaW5nbHkgdG8gdGhlIGNvbnRl + eHQgeW91IGdvdC4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIllvdXIgYW5zd2VyLiIsICJhc3luY19l + eGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAi + dGVzdCByb2xlMiIsICJjb250ZXh0IjogWyJKdXN0IHNheSBoaS4iXSwgInRvb2xzX25hbWVzIjog + W119XUooCghwbGF0Zm9ybRIcChptYWNPUy0xNC41LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9y + bV9yZWxlYXNlEggKBjIzLjUuMEobCg9wbGF0Zm9ybV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRm + b3JtX3ZlcnNpb24SaApmRGFyd2luIEtlcm5lbCBWZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAy + MDoxMjo1OCBQRFQgMjAyNDsgcm9vdDp4bnUtMTAwNjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2 + MDAwSgoKBGNwdXMSAhgKegIYAYUBAAEAABJ7ChBiJXmMFytznq5Xe3BL+A2TEgiSdLAgFPqSLCoM + VGFzayBDcmVhdGVkMAE52EBgf3KS4BdBSFhgf3KS4BdKMQoHdGFza19pZBImCiRjYTQ5ZTg4MC1k + Y2JmLTQzMDItODAyMy01ZWVmZWUwNzUzMmN6AhgBhQEAAQAAEmgKEIAiZ65m1J3OMZtFoBR2CF4S + CFCVGeIUACgiKhBUb29sIFVzYWdlIEVycm9yMAE5OCRxgHKS4BdBKPdxgHKS4BdKGgoOY3Jld2Fp + X3ZlcnNpb24SCAoGMC4zNS44egIYAYUBAAEAABKcAQoQ132GjNG8EXNtMB/nJLKI1RII9PfvHMSM + +B0qClRvb2wgVXNhZ2UwATkgJSGDcpLgF0Hg/yGDcpLgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYw + LjM1LjhKKAoJdG9vbF9uYW1lEhsKGURlbGVnYXRlIHdvcmsgdG8gY293b3JrZXJKDgoIYXR0ZW1w + dHMSAhgBegIYAYUBAAEAABJ7ChBEYLGutjk3NuuQCaeSDyaeEgiMu9lCXRmWuCoMVGFzayBDcmVh + dGVkMAE5CMDtg3KS4BdBSN/tg3KS4BdKMQoHdGFza19pZBImCiQxMzA5MmE4ZC0wYTFjLTQ2ZjQt + OTQ5Zi03ZTgyMTNlMTA0NjF6AhgBhQEAAQAAEnsKEAU5zw42VRRU0X/zwgrttm4SCOTXu7L59FZs + KgxUYXNrIENyZWF0ZWQwATkocgGFcpLgF0GYiQGFcpLgF0oxCgd0YXNrX2lkEiYKJDA0ZGYwMzNj + LTMyODItNDAxNC1iMDYxLThlZGI1YjU0NjljYXoCGAGFAQABAAASmwEKEBGI7zoR31m0zk8Xecas + wGgSCFVTH6tiSjdVKgpUb29sIFVzYWdlMAE5wKbqiHKS4BdBkKjriHKS4BdKGgoOY3Jld2FpX3Zl + cnNpb24SCAoGMC4zNS44SicKCXRvb2xfbmFtZRIaChhBc2sgcXVlc3Rpb24gdG8gY293b3JrZXJK + DgoIYXR0ZW1wdHMSAhgBegIYAYUBAAEAABLKCQoQsWTkBqa9Eb49wJHTP1ZsRRII823Dh4HL3sMq + DENyZXcgQ3JlYXRlZDABOaDTT5RykuAXQUisUZRykuAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAu + MzUuOEoaCg5weXRob25fdmVyc2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBImCiRiM2M0Y2ZiNC1l + ZDhjLTRjYTUtODE3Yi01OGY0NDdlYzg2NjBKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxK + EQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251 + bWJlcl9vZl9hZ2VudHMSAhgBSvYCCgtjcmV3X2FnZW50cxLmAgrjAlt7ImlkIjogIjFhYmY3NjM4 + LWMzMjMtNGYxNi04YTMxLTEzMmEzOWE5NTc0NyIsICJyb2xlIjogInRlc3Qgcm9sZSIsICJnb2Fs + IjogInRlc3QgZ29hbCIsICJiYWNrc3RvcnkiOiAidGVzdCBiYWNrc3RvcnkiLCAidmVyYm9zZT8i + OiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAi + bGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVt + cGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9u + X2VuYWJsZWQ/IjogdHJ1ZSwgInRvb2xzX25hbWVzIjogWyJsZWFybl9hYm91dF9haSJdfV1KwgIK + CmNyZXdfdGFza3MSswIKsAJbeyJpZCI6ICI4OTM1Zjg1YS04ZjhiLTRiZTItOWFmYi1hMTFlNTE4 + MTFmNGUiLCAiZGVzY3JpcHRpb24iOiAiV3JpdGUgYW5kIHRoZW4gcmV2aWV3IGFuIHNtYWxsIHBh + cmFncmFwaCBvbiBBSSB1bnRpbCBpdCdzIEFNQVpJTkciLCAiZXhwZWN0ZWRfb3V0cHV0IjogIlRo + ZSBmaW5hbCBwYXJhZ3JhcGguIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lu + cHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJ0ZXN0IHJvbGUiLCAiY29udGV4dCI6IG51bGws + ICJ0b29sc19uYW1lcyI6IFsibGVhcm5fYWJvdXRfYWkiXX1dSigKCHBsYXRmb3JtEhwKGm1hY09T + LTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsKD3Bs + YXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4gS2Vy + bmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290Onhu + dS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEAAQAA + EnsKEIoRrgiOBiKkHH7dLMO+x6QSCJDDDlKcdU6CKgxUYXNrIENyZWF0ZWQwATlYkVyUcpLgF0Hg + pFyUcpLgF0oxCgd0YXNrX2lkEiYKJDg5MzVmODVhLThmOGItNGJlMi05YWZiLWExMWU1MTgxMWY0 + ZXoCGAGFAQABAAASkQEKEEcXSYcjYD7YZGQoN//JsKMSCC9MtWhSLI9uKgpUb29sIFVzYWdlMAE5 + aHmflXKS4BdBsGeglXKS4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44Sh0KCXRvb2xfbmFt + ZRIQCg5sZWFybl9hYm91dF9BSUoOCghhdHRlbXB0cxICGAF6AhgBhQEAAQAAEpEBChDQHt+V5aGz + Q3GGA8J0PdwfEgh5WIoB4HvgGioKVG9vbCBVc2FnZTABOQDN/ZZykuAXQdij/pZykuAXShoKDmNy + ZXdhaV92ZXJzaW9uEggKBjAuMzUuOEodCgl0b29sX25hbWUSEAoObGVhcm5fYWJvdXRfQUlKDgoI + YXR0ZW1wdHMSAhgBegIYAYUBAAEAABJoChDccaNT79lmPUDgtqDwJ1hOEggo1u9Eyv7xQyoQVG9v + bCBVc2FnZSBFcnJvcjABObDiO5hykuAXQQCmPJhykuAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAu + MzUuOHoCGAGFAQABAAAS1gkKENGGM1K8DW8zV2Wqx2GJZNMSCOcWP1l8DkwaKgxDcmV3IENyZWF0 + ZWQwATkYSR6ccpLgF0FgMSCccpLgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0 + aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokMjU5NTkwMWQtMjhmZC00OGMzLWIw + ZDAtYzRmMzllOGEzM2Y3ShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVt + b3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdl + bnRzEgIYAUqCAwoLY3Jld19hZ2VudHMS8gIK7wJbeyJpZCI6ICIxMjgxZTJhNC05YWU4LTQ0Yzct + YWE0OS04YmVlMDY0YjE3MDMiLCAicm9sZSI6ICJ0ZXN0IHJvbGUiLCAiZ29hbCI6ICJ0ZXN0IGdv + YWwiLCAiYmFja3N0b3J5IjogInRlc3QgYmFja3N0b3J5IiwgInZlcmJvc2U/IjogZmFsc2UsICJt + YXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJu + YW1lXCI6IG51bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00LTAxMjUtcHJldmlld1wiLCBcInRl + bXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlv + bl9lbmFibGVkPyI6IHRydWUsICJ0b29sc19uYW1lcyI6IFsibGVhcm5fYWJvdXRfYWkiXX1dSsIC + CgpjcmV3X3Rhc2tzErMCCrACW3siaWQiOiAiMWUzMGE5ZWQtNmM4Yi00YzM5LWJjNjctOGU4YzE5 + MjQ1YTkyIiwgImRlc2NyaXB0aW9uIjogIldyaXRlIGFuZCB0aGVuIHJldmlldyBhbiBzbWFsbCBw + YXJhZ3JhcGggb24gQUkgdW50aWwgaXQncyBBTUFaSU5HIiwgImV4cGVjdGVkX291dHB1dCI6ICJU + aGUgZmluYWwgcGFyYWdyYXBoLiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9p + bnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAidGVzdCByb2xlIiwgImNvbnRleHQiOiBudWxs + LCAidG9vbHNfbmFtZXMiOiBbImxlYXJuX2Fib3V0X2FpIl19XUooCghwbGF0Zm9ybRIcChptYWNP + Uy0xNC41LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjUuMEobCg9w + bGF0Zm9ybV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApmRGFyd2luIEtl + cm5lbCBWZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAyNDsgcm9vdDp4 + bnUtMTAwNjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgKegIYAYUBAAEA + ABJ7ChBS6HVQsaSvujO1/GMdgr/zEggwPnWvS7EOmSoMVGFzayBDcmVhdGVkMAE5INAqnHKS4BdB + qOMqnHKS4BdKMQoHdGFza19pZBImCiQxZTMwYTllZC02YzhiLTRjMzktYmM2Ny04ZThjMTkyNDVh + OTJ6AhgBhQEAAQAAEtABChAjdDwRjyKlkXWRVvI9eH9WEgijowSfWZokZioQVG9vbCBVc2FnZSBF + cnJvcjABOchPnZ1ykuAXQdCbnp1ykuAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEpmCgNs + bG0SXwpdeyJuYW1lIjogbnVsbCwgIm1vZGVsX25hbWUiOiAiZ3B0LTMuNS10dXJiby0wMTI1Iiwg + InRlbXBlcmF0dXJlIjogMC43LCAiY2xhc3MiOiAiQ2hhdE9wZW5BSSJ9egIYAYUBAAEAABLQAQoQ + SIbdrmZiMVYJiBF8ULREvRIIsVBHCbmrMMwqEFRvb2wgVXNhZ2UgRXJyb3IwATmgWOOecpLgF0G4 + TuSecpLgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKZgoDbGxtEl8KXXsibmFtZSI6IG51 + bGwsICJtb2RlbF9uYW1lIjogImdwdC0zLjUtdHVyYm8tMDEyNSIsICJ0ZW1wZXJhdHVyZSI6IDAu + NywgImNsYXNzIjogIkNoYXRPcGVuQUkifXoCGAGFAQABAAAS+QEKENZK6KtCJCW5ka3WWOJvHGsS + COvEEPz6sfWaKgpUb29sIFVzYWdlMAE5CA1IoHKS4BdBwBJJoHKS4BdKGgoOY3Jld2FpX3ZlcnNp + b24SCAoGMC4zNS44Sh0KCXRvb2xfbmFtZRIQCg5sZWFybl9hYm91dF9BSUoOCghhdHRlbXB0cxIC + GAFKZgoDbGxtEl8KXXsibmFtZSI6IG51bGwsICJtb2RlbF9uYW1lIjogImdwdC0zLjUtdHVyYm8t + MDEyNSIsICJ0ZW1wZXJhdHVyZSI6IDAuNywgImNsYXNzIjogIkNoYXRPcGVuQUkifXoCGAGFAQAB + AAAS+QEKEIPgpICOPxJ8XphL87qVH7YSCKW5gYKMJRRgKgpUb29sIFVzYWdlMAE5iO2koXKS4BdB + WO+loXKS4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44Sh0KCXRvb2xfbmFtZRIQCg5sZWFy + bl9hYm91dF9BSUoOCghhdHRlbXB0cxICGAFKZgoDbGxtEl8KXXsibmFtZSI6IG51bGwsICJtb2Rl + bF9uYW1lIjogImdwdC0zLjUtdHVyYm8tMDEyNSIsICJ0ZW1wZXJhdHVyZSI6IDAuNywgImNsYXNz + IjogIkNoYXRPcGVuQUkifXoCGAGFAQABAAAS2AoKEEcaPhmwL05tbVnugrfkpjASCLReoJ72kjwR + KgxDcmV3IENyZWF0ZWQwATlQEUumcpLgF0Eo4kymcpLgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYw + LjM1LjhKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokOGY5ZDAxZDgt + MzIwOC00YWY1LTgzZDQtODVkMmM4NmI3MjM3ShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFs + ShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19u + dW1iZXJfb2ZfYWdlbnRzEgIYAUqaAwoLY3Jld19hZ2VudHMSigMKhwNbeyJpZCI6ICIyOWFiNWU3 + Yy01NzM4LTQ3OWItYTljNS1kODk0ODU5MDljZjkiLCAicm9sZSI6ICJEYXRhIFNjaWVudGlzdCIs + ICJnb2FsIjogIlByb2R1Y3QgYW1hemluZyByZXNwb3J0cyBvbiBBSSIsICJiYWNrc3RvcnkiOiAi + WW91IHdvcmsgd2l0aCBkYXRhIGFuZCBBSSIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIi + OiAyNSwgIm1heF9ycG0iOiBudWxsLCAiaTE4biI6IG51bGwsICJsbG0iOiAie1wibmFtZVwiOiBu + dWxsLCBcIm1vZGVsX25hbWVcIjogXCJncHQtNG9cIiwgXCJ0ZW1wZXJhdHVyZVwiOiAwLjcsIFwi + Y2xhc3NcIjogXCJDaGF0T3BlbkFJXCJ9IiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiB0cnVlLCAi + dG9vbHNfbmFtZXMiOiBbImdldCBncmVldGluZ3MiXX1dSqwDCgpjcmV3X3Rhc2tzEp0DCpoDW3si + aWQiOiAiMTEyZTE3OGYtOTFiMS00ZjEzLTg4MGMtNjU4M2Y1YjRmMjY1IiwgImRlc2NyaXB0aW9u + IjogIldyaXRlIGFuZCB0aGVuIHJldmlldyBhbiBzbWFsbCBwYXJhZ3JhcGggb24gQUkgdW50aWwg + aXQncyBBTUFaSU5HLiBCdXQgZmlyc3QgdXNlIHRoZSBgR2V0IEdyZWV0aW5nc2AgdG9vbCB0byBn + ZXQgYSBncmVldGluZy4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIlRoZSBmaW5hbCBwYXJhZ3JhcGgg + d2l0aCB0aGUgZnVsbCByZXZpZXcgb24gQUkgYW5kIG5vIGdyZWV0aW5nLiIsICJhc3luY19leGVj + dXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiRGF0 + YSBTY2llbnRpc3QiLCAiY29udGV4dCI6IG51bGwsICJ0b29sc19uYW1lcyI6IFsiZ2V0IGdyZWV0 + aW5ncyJdfV1KKAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQcGxh + dGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lzdGVtEggKBkRhcndpbkp8ChBw + bGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBNYXkg + IDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9BUk02 + NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAASewoQ9eVx3zvvR9gYFCdXk2YbkRII7lyw1O3P + VIEqDFRhc2sgQ3JlYXRlZDABOVDJVqZykuAXQdjcVqZykuAXSjEKB3Rhc2tfaWQSJgokMTEyZTE3 + OGYtOTFiMS00ZjEzLTg4MGMtNjU4M2Y1YjRmMjY1egIYAYUBAAEAABKQAQoQiUd1EZ3juWZYfIVi + G7dJ7RIIMTkncRxXZ/QqClRvb2wgVXNhZ2UwATnoA1GncpLgF0EY9lGncpLgF0oaCg5jcmV3YWlf + dmVyc2lvbhIICgYwLjM1LjhKHAoJdG9vbF9uYW1lEg8KDUdldCBHcmVldGluZ3NKDgoIYXR0ZW1w + dHMSAhgBegIYAYUBAAEAABLSCQoQKu509vGM2DW54c6BTs3kcxIIZfu7n4OY8agqDENyZXcgQ3Jl + YXRlZDABOcBiQa1ykuAXQdhSQ61ykuAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5w + eXRob25fdmVyc2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBImCiQwZTZiMDZjYS03OTYzLTQxY2Qt + YjhmOS03NGI0NGUzMWZlMWJKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19t + ZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251bWJlcl9vZl9h + Z2VudHMSAhgBSqADCgtjcmV3X2FnZW50cxKQAwqNA1t7ImlkIjogImZlNmMwNjcwLTViNmYtNDlm + MC1hZDU5LTdmZDk2ZmExZjI5OCIsICJyb2xlIjogIkZyaWVuZGx5IE5laWdoYm9yIiwgImdvYWwi + OiAiTWFrZSBldmVyeW9uZSBmZWVsIHdlbGNvbWUiLCAiYmFja3N0b3J5IjogIllvdSBhcmUgdGhl + IGZyaWVuZGx5IG5laWdoYm9yIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAi + bWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwi + bW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wi + OiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IHRydWUsICJ0b29sc19u + YW1lcyI6IFsiZGVjaWRlIGdyZWV0aW5ncyJdfV1KoAIKCmNyZXdfdGFza3MSkQIKjgJbeyJpZCI6 + ICJjYzlhMGUwZi1mOTEzLTRhNGQtYTE3Ni1kN2E5NTc3MmU4ZWUiLCAiZGVzY3JpcHRpb24iOiAi + U2F5IGFuIGFwcHJvcHJpYXRlIGdyZWV0aW5nLiIsICJleHBlY3RlZF9vdXRwdXQiOiAiVGhlIGdy + ZWV0aW5nLiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxz + ZSwgImFnZW50X3JvbGUiOiAiRnJpZW5kbHkgTmVpZ2hib3IiLCAiY29udGV4dCI6IG51bGwsICJ0 + b29sc19uYW1lcyI6IFsiZGVjaWRlIGdyZWV0aW5ncyJdfV1KKAoIcGxhdGZvcm0SHAoabWFjT1Mt + MTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxh + dGZvcm1fc3lzdGVtEggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJu + ZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51 + LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAAS + ewoQfISAHfm2xtSn7L+oZY0CMxIInBt0Qtm/WYkqDFRhc2sgQ3JlYXRlZDABOageTa1ykuAXQUgu + Ta1ykuAXSjEKB3Rhc2tfaWQSJgokY2M5YTBlMGYtZjkxMy00YTRkLWExNzYtZDdhOTU3NzJlOGVl + egIYAYUBAAEAABKTAQoQB4yF1oKK2MW8FsRh6W1sAhIIHbveYOAgSAoqClRvb2wgVXNhZ2UwATnA + txiucpLgF0FolhmucpLgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKHwoJdG9vbF9uYW1l + EhIKEERlY2lkZSBHcmVldGluZ3NKDgoIYXR0ZW1wdHMSAhgBegIYAYUBAAEAABK1BAoQ8YXBKVl2 + u4GMn5H/GqcNTBIIMA7JkMfJdzEqDENyZXcgQ3JlYXRlZDABOZCEZclykuAXQRC9ZslykuAXShoK + DmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVyc2lvbhIICgYzLjEyLjNKMQoH + Y3Jld19pZBImCiRmMTIyY2E0YS1jM2I5LTQ0YjItYWJhMy0yNDA2Mjg0ZGE2NzNKHAoMY3Jld19w + cm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29m + X3Rhc2tzEgIYAEobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgAShMKC2NyZXdfYWdlbnRzEgQK + AltdShIKCmNyZXdfdGFza3MSBAoCW11KKAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02NC1h + cm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lzdGVt + EggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lvbiAy + My41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEyMS4z + fjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAAStQQKEFEPDnN6dqCN + mpaevwfUB18SCELzf2NUmEfyKgxDcmV3IENyZWF0ZWQwATlAhW7JcpLgF0GAnm/JcpLgF0oaCg5j + cmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2Ny + ZXdfaWQSJgokMTIzODdhNzQtOTE1MC00MDZmLWIyYzgtZDdkMDZjMmY2OTlhShwKDGNyZXdfcHJv + Y2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90 + YXNrcxICGABKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAEoTCgtjcmV3X2FnZW50cxIECgJb + XUoSCgpjcmV3X3Rhc2tzEgQKAltdSigKCHBsYXRmb3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJt + LTY0Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRII + CgZEYXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMu + NS4wOiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290OnhudS0xMDA2My4xMjEuM341 + L1JFTEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEAAQAAErUEChDbX5uIfFjGv4wL + Xh/NvIbnEgi5t/k96Ttn1yoMQ3JldyBDcmVhdGVkMAE52MilynKS4BdBUCynynKS4BdKGgoOY3Jl + d2FpX3ZlcnNpb24SCAoGMC4zNS44ShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuM0oxCgdjcmV3 + X2lkEiYKJDE4MjcxMDlmLWFlMTYtNDQ1ZC05OGE2LWFjOTU2NTVlOGRlNEocCgxjcmV3X3Byb2Nl + c3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFz + a3MSAhgAShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGABKEwoLY3Jld19hZ2VudHMSBAoCW11K + EgoKY3Jld190YXNrcxIECgJbXUooCghwbGF0Zm9ybRIcChptYWNPUy0xNC41LWFybTY0LWFybS02 + NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjUuMEobCg9wbGF0Zm9ybV9zeXN0ZW0SCAoG + RGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApmRGFyd2luIEtlcm5lbCBWZXJzaW9uIDIzLjUu + MDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAyNDsgcm9vdDp4bnUtMTAwNjMuMTIxLjN+NS9S + RUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgKegIYAYUBAAEAABK1BAoQDvZ7LuXcV5mWXgga + QoSKaRIIYOHFoj7+RaEqDENyZXcgQ3JlYXRlZDABOQDUqcpykuAXQaiyqspykuAXShoKDmNyZXdh + aV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVyc2lvbhIICgYzLjEyLjNKMQoHY3Jld19p + ZBImCiQxNzYzNWJhNC00ZmYyLTRmYTUtYjI5Ni0yMTQxZDA5ZjA5ZTVKHAoMY3Jld19wcm9jZXNz + EgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tz + EgIYAEobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgAShMKC2NyZXdfYWdlbnRzEgQKAltdShIK + CmNyZXdfdGFza3MSBAoCW11KKAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02NC1hcm0tNjRi + aXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lzdGVtEggKBkRh + cndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lvbiAyMy41LjA6 + IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEyMS4zfjUvUkVM + RUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAAStQQKEAoypZpzfUWlB13zovXJ + N3oSCNEHdXbZt8ktKgxDcmV3IENyZWF0ZWQwATkwMa7KcpLgF0HAE6/KcpLgF0oaCg5jcmV3YWlf + dmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQS + JgokZjM3YjE1MmQtODliMy00YTcxLTgzYmQtM2RiZmY4NTllNDBkShwKDGNyZXdfcHJvY2VzcxIM + CgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxIC + GABKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAEoTCgtjcmV3X2FnZW50cxIECgJbXUoSCgpj + cmV3X3Rhc2tzEgQKAltdSigKCHBsYXRmb3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJtLTY0Yml0 + ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRIICgZEYXJ3 + aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMuNS4wOiBX + ZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290OnhudS0xMDA2My4xMjEuM341L1JFTEVB + U0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEAAQAAEowTChDVTtxjJEyC4GFqTiLjLVx2 + EgjNwRuOk9xMyCoMQ3JldyBDcmVhdGVkMAE58B//ynKS4BdB+OgAy3KS4BdKGgoOY3Jld2FpX3Zl + cnNpb24SCAoGMC4zNS44ShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuM0oxCgdjcmV3X2lkEiYK + JDg3YmJmOWE4LWIwN2YtNDdiYy05YmY3LTc4YzU4OGE3Nzk0Y0ocCgxjcmV3X3Byb2Nlc3MSDAoK + c2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgC + ShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAJK7wgKC2NyZXdfYWdlbnRzEt8ICtwIW3siaWQi + OiAiMjkyOTgwZmUtNTgzZi00ZWIyLWJiZmQtYWFjNzA5NDcxZTc5IiwgInJvbGUiOiAiUmVzZWFy + Y2hlciIsICJnb2FsIjogIk1ha2UgdGhlIGJlc3QgcmVzZWFyY2ggYW5kIGFuYWx5c2lzIG9uIGNv + bnRlbnQgYWJvdXQgQUkgYW5kIEFJIGFnZW50cyIsICJiYWNrc3RvcnkiOiAiWW91J3JlIGFuIGV4 + cGVydCByZXNlYXJjaGVyLCBzcGVjaWFsaXplZCBpbiB0ZWNobm9sb2d5LCBzb2Z0d2FyZSBlbmdp + bmVlcmluZywgQUkgYW5kIHN0YXJ0dXBzLiBZb3Ugd29yayBhcyBhIGZyZWVsYW5jZXIgYW5kIGlz + IG5vdyB3b3JraW5nIG9uIGRvaW5nIHJlc2VhcmNoIGFuZCBhbmFseXNpcyBmb3IgYSBuZXcgY3Vz + dG9tZXIuIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51 + bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwibW9kZWxfbmFtZVwi + OiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRPcGVu + QUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAidG9vbHNfbmFtZXMiOiBbXX0s + IHsiaWQiOiAiYWVhZWQxNDEtNzlkNy00NmViLWExNTItYTJkY2M0YzJmNDJkIiwgInJvbGUiOiAi + U2VuaW9yIFdyaXRlciIsICJnb2FsIjogIldyaXRlIHRoZSBiZXN0IGNvbnRlbnQgYWJvdXQgQUkg + YW5kIEFJIGFnZW50cy4iLCAiYmFja3N0b3J5IjogIllvdSdyZSBhIHNlbmlvciB3cml0ZXIsIHNw + ZWNpYWxpemVkIGluIHRlY2hub2xvZ3ksIHNvZnR3YXJlIGVuZ2luZWVyaW5nLCBBSSBhbmQgc3Rh + cnR1cHMuIFlvdSB3b3JrIGFzIGEgZnJlZWxhbmNlciBhbmQgYXJlIG5vdyB3b3JraW5nIG9uIHdy + aXRpbmcgY29udGVudCBmb3IgYSBuZXcgY3VzdG9tZXIuIiwgInZlcmJvc2U/IjogZmFsc2UsICJt + YXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJu + YW1lXCI6IG51bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6 + IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6 + IGZhbHNlLCAidG9vbHNfbmFtZXMiOiBbXX1dSosGCgpjcmV3X3Rhc2tzEvwFCvkFW3siaWQiOiAi + ZGU3Y2Y2ZjMtNDBhOC00M2JlLWIyZTktNjNjYzIyZWMzZjcxIiwgImRlc2NyaXB0aW9uIjogIkdp + dmUgbWUgYSBsaXN0IG9mIDUgaW50ZXJlc3RpbmcgaWRlYXMgdG8gZXhwbG9yZSBmb3IgbmEgYXJ0 + aWNsZSwgd2hhdCBtYWtlcyB0aGVtIHVuaXF1ZSBhbmQgaW50ZXJlc3RpbmcuIiwgImV4cGVjdGVk + X291dHB1dCI6ICJCdWxsZXQgcG9pbnQgbGlzdCBvZiA1IGltcG9ydGFudCBldmVudHMuIiwgImFz + eW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9s + ZSI6ICJSZXNlYXJjaGVyIiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsi + aWQiOiAiNmY0YWJiZjEtMTlhYy00NzI4LThjZGMtOGM5Yzk2NjQxMThmIiwgImRlc2NyaXB0aW9u + IjogIldyaXRlIGEgMSBhbWF6aW5nIHBhcmFncmFwaCBoaWdobGlnaHQgZm9yIGVhY2ggaWRlYSB0 + aGF0IHNob3djYXNlcyBob3cgZ29vZCBhbiBhcnRpY2xlIGFib3V0IHRoaXMgdG9waWMgY291bGQg + YmUuIFJldHVybiB0aGUgbGlzdCBvZiBpZGVhcyB3aXRoIHRoZWlyIHBhcmFncmFwaCBhbmQgeW91 + ciBub3Rlcy4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIkEgNCBwYXJhZ3JhcGggYXJ0aWNsZSBhYm91 + dCBBSS4iLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2Us + ICJhZ2VudF9yb2xlIjogIlNlbmlvciBXcml0ZXIiLCAiY29udGV4dCI6IG51bGwsICJ0b29sc19u + YW1lcyI6IFtdfV1KKAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQ + cGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lzdGVtEggKBkRhcndpbkp8 + ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBN + YXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9B + Uk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAASewoQUQse1do6tOK7lOFl3mGSZxIIKzrL + ooaXbZAqDFRhc2sgQ3JlYXRlZDABOVCYEstykuAXQdirEstykuAXSjEKB3Rhc2tfaWQSJgokZGU3 + Y2Y2ZjMtNDBhOC00M2JlLWIyZTktNjNjYzIyZWMzZjcxegIYAYUBAAEAABJ7ChC37oIPRPHewq0x + r/O7UvOLEgj21y6frKxQdSoMVGFzayBDcmVhdGVkMAE5aIRE0XKS4BdBwJ9E0XKS4BdKMQoHdGFz + a19pZBImCiQ2ZjRhYmJmMS0xOWFjLTQ3MjgtOGNkYy04YzljOTY2NDExOGZ6AhgBhQEAAQAAEosT + ChC28N6pbsTfSKXznAiZaWiDEgij+ZmHPv9thioMQ3JldyBDcmVhdGVkMAE5UK/D2nKS4BdBoOnF + 2nKS4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44ShoKDnB5dGhvbl92ZXJzaW9uEggKBjMu + MTIuM0oxCgdjcmV3X2lkEiYKJGQxN2ExZWVmLTZkMWUtNDVmNS1hYjBjLTQ5MTFjYjAxNjNhZEoc + CgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19u + dW1iZXJfb2ZfdGFza3MSAhgCShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAJK7wgKC2NyZXdf + YWdlbnRzEt8ICtwIW3siaWQiOiAiMjkyOTgwZmUtNTgzZi00ZWIyLWJiZmQtYWFjNzA5NDcxZTc5 + IiwgInJvbGUiOiAiUmVzZWFyY2hlciIsICJnb2FsIjogIk1ha2UgdGhlIGJlc3QgcmVzZWFyY2gg + YW5kIGFuYWx5c2lzIG9uIGNvbnRlbnQgYWJvdXQgQUkgYW5kIEFJIGFnZW50cyIsICJiYWNrc3Rv + cnkiOiAiWW91J3JlIGFuIGV4cGVydCByZXNlYXJjaGVyLCBzcGVjaWFsaXplZCBpbiB0ZWNobm9s + b2d5LCBzb2Z0d2FyZSBlbmdpbmVlcmluZywgQUkgYW5kIHN0YXJ0dXBzLiBZb3Ugd29yayBhcyBh + IGZyZWVsYW5jZXIgYW5kIGlzIG5vdyB3b3JraW5nIG9uIGRvaW5nIHJlc2VhcmNoIGFuZCBhbmFs + eXNpcyBmb3IgYSBuZXcgY3VzdG9tZXIuIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6 + IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51 + bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJj + bGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAi + dG9vbHNfbmFtZXMiOiBbXX0sIHsiaWQiOiAiYWVhZWQxNDEtNzlkNy00NmViLWExNTItYTJkY2M0 + YzJmNDJkIiwgInJvbGUiOiAiU2VuaW9yIFdyaXRlciIsICJnb2FsIjogIldyaXRlIHRoZSBiZXN0 + IGNvbnRlbnQgYWJvdXQgQUkgYW5kIEFJIGFnZW50cy4iLCAiYmFja3N0b3J5IjogIllvdSdyZSBh + IHNlbmlvciB3cml0ZXIsIHNwZWNpYWxpemVkIGluIHRlY2hub2xvZ3ksIHNvZnR3YXJlIGVuZ2lu + ZWVyaW5nLCBBSSBhbmQgc3RhcnR1cHMuIFlvdSB3b3JrIGFzIGEgZnJlZWxhbmNlciBhbmQgYXJl + IG5vdyB3b3JraW5nIG9uIHdyaXRpbmcgY29udGVudCBmb3IgYSBuZXcgY3VzdG9tZXIuIiwgInZl + cmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjog + bnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wi + LCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVs + ZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAidG9vbHNfbmFtZXMiOiBbXX1dSooGCgpjcmV3X3Rh + c2tzEvsFCvgFW3siaWQiOiAiYjU0Nzg2OWEtOTRhNy00YmFkLWE1NGQtZWRlNjlkZGVjYThmIiwg + ImRlc2NyaXB0aW9uIjogIkdpdmUgbWUgYSBsaXN0IG9mIDUgaW50ZXJlc3RpbmcgaWRlYXMgdG8g + ZXhwbG9yZSBmb3IgYW4gYXJ0aWNsZSwgd2hhdCBtYWtlcyB0aGVtIHVuaXF1ZSBhbmQgaW50ZXJl + c3RpbmcuIiwgImV4cGVjdGVkX291dHB1dCI6ICJCdWxsZXQgcG9pbnQgbGlzdCBvZiA1IGltcG9y + dGFudCBldmVudHMuIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6 + IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJSZXNlYXJjaGVyIiwgImNvbnRleHQiOiBudWxsLCAidG9v + bHNfbmFtZXMiOiBbXX0sIHsiaWQiOiAiYjY1MzVkMzUtY2ZmZi00OGNiLWJkMWQtOGQyMTRiNWU0 + MjFkIiwgImRlc2NyaXB0aW9uIjogIldyaXRlIGFuIGFtYXppbmcgcGFyYWdyYXBoIGhpZ2hsaWdo + dCBmb3IgZWFjaCBpZGVhIHRoYXQgc2hvd2Nhc2VzIGhvdyBnb29kIGFuIGFydGljbGUgYWJvdXQg + dGhpcyB0b3BpYyBjb3VsZCBiZS4gUmV0dXJuIHRoZSBsaXN0IG9mIGlkZWFzIHdpdGggdGhlaXIg + cGFyYWdyYXBoIGFuZCB5b3VyIG5vdGVzLiIsICJleHBlY3RlZF9vdXRwdXQiOiAiQSA0IHBhcmFn + cmFwaCBhcnRpY2xlIGFib3V0IEFJLiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1h + bl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiU2VuaW9yIFdyaXRlciIsICJjb250ZXh0 + IjogbnVsbCwgInRvb2xzX25hbWVzIjogW119XUooCghwbGF0Zm9ybRIcChptYWNPUy0xNC41LWFy + bTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjUuMEobCg9wbGF0Zm9ybV9z + eXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApmRGFyd2luIEtlcm5lbCBWZXJz + aW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAyNDsgcm9vdDp4bnUtMTAwNjMu + MTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgKegIYAYUBAAEAABKEEQoQozDa + 5aqutViBkYYXVNVEcxIIpaXyN+puSicqDENyZXcgQ3JlYXRlZDABORD+/ttykuAXQTC9AdxykuAX + ShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVyc2lvbhIICgYzLjEyLjNK + MQoHY3Jld19pZBImCiQ0N2QwYWJmOC1lZGE3LTRjZDQtYTQ3ZC0zZmZmOTRhYWNjOTFKHgoMY3Jl + d19wcm9jZXNzEg4KDGhpZXJhcmNoaWNhbEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19udW1i + ZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAJK7wgKC2NyZXdfYWdl + bnRzEt8ICtwIW3siaWQiOiAiMjkyOTgwZmUtNTgzZi00ZWIyLWJiZmQtYWFjNzA5NDcxZTc5Iiwg + InJvbGUiOiAiUmVzZWFyY2hlciIsICJnb2FsIjogIk1ha2UgdGhlIGJlc3QgcmVzZWFyY2ggYW5k + IGFuYWx5c2lzIG9uIGNvbnRlbnQgYWJvdXQgQUkgYW5kIEFJIGFnZW50cyIsICJiYWNrc3Rvcnki + OiAiWW91J3JlIGFuIGV4cGVydCByZXNlYXJjaGVyLCBzcGVjaWFsaXplZCBpbiB0ZWNobm9sb2d5 + LCBzb2Z0d2FyZSBlbmdpbmVlcmluZywgQUkgYW5kIHN0YXJ0dXBzLiBZb3Ugd29yayBhcyBhIGZy + ZWVsYW5jZXIgYW5kIGlzIG5vdyB3b3JraW5nIG9uIGRvaW5nIHJlc2VhcmNoIGFuZCBhbmFseXNp + cyBmb3IgYSBuZXcgY3VzdG9tZXIuIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1 + LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGws + IFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFz + c1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAidG9v + bHNfbmFtZXMiOiBbXX0sIHsiaWQiOiAiYWVhZWQxNDEtNzlkNy00NmViLWExNTItYTJkY2M0YzJm + NDJkIiwgInJvbGUiOiAiU2VuaW9yIFdyaXRlciIsICJnb2FsIjogIldyaXRlIHRoZSBiZXN0IGNv + bnRlbnQgYWJvdXQgQUkgYW5kIEFJIGFnZW50cy4iLCAiYmFja3N0b3J5IjogIllvdSdyZSBhIHNl + bmlvciB3cml0ZXIsIHNwZWNpYWxpemVkIGluIHRlY2hub2xvZ3ksIHNvZnR3YXJlIGVuZ2luZWVy + aW5nLCBBSSBhbmQgc3RhcnR1cHMuIFlvdSB3b3JrIGFzIGEgZnJlZWxhbmNlciBhbmQgYXJlIG5v + dyB3b3JraW5nIG9uIHdyaXRpbmcgY29udGVudCBmb3IgYSBuZXcgY3VzdG9tZXIuIiwgInZlcmJv + c2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVs + bCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBc + InRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdh + dGlvbl9lbmFibGVkPyI6IGZhbHNlLCAidG9vbHNfbmFtZXMiOiBbXX1dSoEECgpjcmV3X3Rhc2tz + EvIDCu8DW3siaWQiOiAiNTViNjlhNmYtMDU5Mi00Y2Q1LTkxZjEtNGQ4NGE5OTUyYzMyIiwgImRl + c2NyaXB0aW9uIjogIkNvbWUgdXAgd2l0aCBhIGxpc3Qgb2YgNSBpbnRlcmVzdGluZyBpZGVhcyB0 + byBleHBsb3JlIGZvciBhbiBhcnRpY2xlLCB0aGVuIHdyaXRlIG9uZSBhbWF6aW5nIHBhcmFncmFw + aCBoaWdobGlnaHQgZm9yIGVhY2ggaWRlYSB0aGF0IHNob3djYXNlcyBob3cgZ29vZCBhbiBhcnRp + Y2xlIGFib3V0IHRoaXMgdG9waWMgY291bGQgYmUuIFJldHVybiB0aGUgbGlzdCBvZiBpZGVhcyB3 + aXRoIHRoZWlyIHBhcmFncmFwaCBhbmQgeW91ciBub3Rlcy4iLCAiZXhwZWN0ZWRfb3V0cHV0Ijog + IjUgYnVsbGV0IHBvaW50cyB3aXRoIGEgcGFyYWdyYXBoIGZvciBlYWNoIGlkZWEuIiwgImFzeW5j + X2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6 + ICJOb25lIiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX1dSigKCHBsYXRmb3Jt + EhwKGm1hY09TLTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMu + NS4wShsKD3BsYXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZE + YXJ3aW4gS2VybmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0 + OyByb290OnhudS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6 + AhgBhQEAAQAAEpwBChCg35sHHPaYXtrnqsHxVxo9EgiNsFPkn2dFYyoKVG9vbCBVc2FnZTABOWhw + 8+VykuAXQfjP9OVykuAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEooCgl0b29sX25hbWUS + GwoZRGVsZWdhdGUgd29yayB0byBjb3dvcmtlckoOCghhdHRlbXB0cxICGAF6AhgBhQEAAQAAEpwB + ChDugP/7VfDuSkB8prdd6C6OEgig8sNi6/vzwioKVG9vbCBVc2FnZTABOQiV7PBykuAXQSAI7vBy + kuAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEooCgl0b29sX25hbWUSGwoZRGVsZWdhdGUg + d29yayB0byBjb3dvcmtlckoOCghhdHRlbXB0cxICGAF6AhgBhQEAAQAAEoQRChA5QW4PBt4Sc7bC + 6QmFBtUWEgjzaTdznL+cvioMQ3JldyBDcmVhdGVkMAE5yD5R+nKS4BdBuP9U+nKS4BdKGgoOY3Jl + d2FpX3ZlcnNpb24SCAoGMC4zNS44ShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuM0oxCgdjcmV3 + X2lkEiYKJDI5ZjViNzdjLWY1MTktNDVhNC1iMzU2LTIzN2YwZDNmYTliMkoeCgxjcmV3X3Byb2Nl + c3MSDgoMaGllcmFyY2hpY2FsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90 + YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAkrvCAoLY3Jld19hZ2VudHMS3wgK + 3AhbeyJpZCI6ICIyOTI5ODBmZS01ODNmLTRlYjItYmJmZC1hYWM3MDk0NzFlNzkiLCAicm9sZSI6 + ICJSZXNlYXJjaGVyIiwgImdvYWwiOiAiTWFrZSB0aGUgYmVzdCByZXNlYXJjaCBhbmQgYW5hbHlz + aXMgb24gY29udGVudCBhYm91dCBBSSBhbmQgQUkgYWdlbnRzIiwgImJhY2tzdG9yeSI6ICJZb3Un + cmUgYW4gZXhwZXJ0IHJlc2VhcmNoZXIsIHNwZWNpYWxpemVkIGluIHRlY2hub2xvZ3ksIHNvZnR3 + YXJlIGVuZ2luZWVyaW5nLCBBSSBhbmQgc3RhcnR1cHMuIFlvdSB3b3JrIGFzIGEgZnJlZWxhbmNl + ciBhbmQgaXMgbm93IHdvcmtpbmcgb24gZG9pbmcgcmVzZWFyY2ggYW5kIGFuYWx5c2lzIGZvciBh + IG5ldyBjdXN0b21lci4iLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhf + cnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2Rl + bF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwi + Q2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1l + cyI6IFtdfSwgeyJpZCI6ICJhZWFlZDE0MS03OWQ3LTQ2ZWItYTE1Mi1hMmRjYzRjMmY0MmQiLCAi + cm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgImdvYWwiOiAiV3JpdGUgdGhlIGJlc3QgY29udGVudCBh + Ym91dCBBSSBhbmQgQUkgYWdlbnRzLiIsICJiYWNrc3RvcnkiOiAiWW91J3JlIGEgc2VuaW9yIHdy + aXRlciwgc3BlY2lhbGl6ZWQgaW4gdGVjaG5vbG9neSwgc29mdHdhcmUgZW5naW5lZXJpbmcsIEFJ + IGFuZCBzdGFydHVwcy4gWW91IHdvcmsgYXMgYSBmcmVlbGFuY2VyIGFuZCBhcmUgbm93IHdvcmtp + bmcgb24gd3JpdGluZyBjb250ZW50IGZvciBhIG5ldyBjdXN0b21lci4iLCAidmVyYm9zZT8iOiBm + YWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxt + IjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVy + YXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2Vu + YWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1lcyI6IFtdfV1KgQQKCmNyZXdfdGFza3MS8gMK7wNb + eyJpZCI6ICJmMzRhZTM4Mi0xYzk5LTQ5NzktOTBhYi1hMDYyOWI4Yjg2YzciLCAiZGVzY3JpcHRp + b24iOiAiQ29tZSB1cCB3aXRoIGEgbGlzdCBvZiA1IGludGVyZXN0aW5nIGlkZWFzIHRvIGV4cGxv + cmUgZm9yIGFuIGFydGljbGUsIHRoZW4gd3JpdGUgb25lIGFtYXppbmcgcGFyYWdyYXBoIGhpZ2hs + aWdodCBmb3IgZWFjaCBpZGVhIHRoYXQgc2hvd2Nhc2VzIGhvdyBnb29kIGFuIGFydGljbGUgYWJv + dXQgdGhpcyB0b3BpYyBjb3VsZCBiZS4gUmV0dXJuIHRoZSBsaXN0IG9mIGlkZWFzIHdpdGggdGhl + aXIgcGFyYWdyYXBoIGFuZCB5b3VyIG5vdGVzLiIsICJleHBlY3RlZF9vdXRwdXQiOiAiNSBidWxs + ZXQgcG9pbnRzIHdpdGggYSBwYXJhZ3JhcGggZm9yIGVhY2ggaWRlYS4iLCAiYXN5bmNfZXhlY3V0 + aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIk5vbmUi + LCAiY29udGV4dCI6IG51bGwsICJ0b29sc19uYW1lcyI6IFtdfV1KKAoIcGxhdGZvcm0SHAoabWFj + T1MtMTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoP + cGxhdGZvcm1fc3lzdGVtEggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBL + ZXJuZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6 + eG51LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQAB + AAASoA8KEByRRtgL8r5QrfIvKncCVBASCOShjAF2PdZaKgxDcmV3IENyZWF0ZWQwATnQu7L6cpLg + F0EwoLT6cpLgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0aG9uX3ZlcnNpb24S + CAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokZTk3NjgxOWUtMTUxZS00ZjcxLTg1MDAtYzM1Y2Y4M2E5 + ZGJmShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRj + cmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAkrUCAoL + Y3Jld19hZ2VudHMSxAgKwQhbeyJpZCI6ICI4YjI0ZGRhNS1lNWUxLTQ4MGUtOGIyOC1hY2YzNDBm + OWNjMzgiLCAicm9sZSI6ICJDRU8iLCAiZ29hbCI6ICJNYWtlIHN1cmUgdGhlIHdyaXRlcnMgaW4g + eW91ciBjb21wYW55IHByb2R1Y2UgYW1hemluZyBjb250ZW50LiIsICJiYWNrc3RvcnkiOiAiWW91 + J3JlIGFuIGxvbmcgdGltZSBDRU8gb2YgYSBjb250ZW50IGNyZWF0aW9uIGFnZW5jeSB3aXRoIGEg + U2VuaW9yIFdyaXRlciBvbiB0aGUgdGVhbS4gWW91J3JlIG5vdyB3b3JraW5nIG9uIGEgbmV3IHBy + b2plY3QgYW5kIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSBjb250ZW50IHByb2R1Y2VkIGlzIGFtYXpp + bmcuIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGws + ICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwibW9kZWxfbmFtZVwiOiBc + ImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRPcGVuQUlc + In0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IHRydWUsICJ0b29sc19uYW1lcyI6IFtdfSwgeyJp + ZCI6ICJhZWFlZDE0MS03OWQ3LTQ2ZWItYTE1Mi1hMmRjYzRjMmY0MmQiLCAicm9sZSI6ICJTZW5p + b3IgV3JpdGVyIiwgImdvYWwiOiAiV3JpdGUgdGhlIGJlc3QgY29udGVudCBhYm91dCBBSSBhbmQg + QUkgYWdlbnRzLiIsICJiYWNrc3RvcnkiOiAiWW91J3JlIGEgc2VuaW9yIHdyaXRlciwgc3BlY2lh + bGl6ZWQgaW4gdGVjaG5vbG9neSwgc29mdHdhcmUgZW5naW5lZXJpbmcsIEFJIGFuZCBzdGFydHVw + cy4gWW91IHdvcmsgYXMgYSBmcmVlbGFuY2VyIGFuZCBhcmUgbm93IHdvcmtpbmcgb24gd3JpdGlu + ZyBjb250ZW50IGZvciBhIG5ldyBjdXN0b21lci4iLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9p + dGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVc + IjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43 + LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFs + c2UsICJ0b29sc19uYW1lcyI6IFtdfV1KugIKCmNyZXdfdGFza3MSqwIKqAJbeyJpZCI6ICI3YTBi + ZDRkNS01MjIwLTQ3YWYtOGY2MC0wODEyOGIwNTliMzkiLCAiZGVzY3JpcHRpb24iOiAiUHJvZHVj + ZSBhbmQgYW1hemluZyAxIHBhcmFncmFwaCBkcmFmdCBvZiBhbiBhcnRpY2xlIGFib3V0IEFJIEFn + ZW50cy4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIkEgNCBwYXJhZ3JhcGggYXJ0aWNsZSBhYm91dCBB + SS4iLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJh + Z2VudF9yb2xlIjogIkNFTyIsICJjb250ZXh0IjogbnVsbCwgInRvb2xzX25hbWVzIjogW119XUoo + CghwbGF0Zm9ybRIcChptYWNPUy0xNC41LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxl + YXNlEggKBjIzLjUuMEobCg9wbGF0Zm9ybV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3JtX3Zl + cnNpb24SaApmRGFyd2luIEtlcm5lbCBWZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDoxMjo1 + OCBQRFQgMjAyNDsgcm9vdDp4bnUtMTAwNjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoK + BGNwdXMSAhgKegIYAYUBAAEAABJ7ChDURIAqJEHk5qeatf17PlUlEggA+V2GW0dpzCoMVGFzayBD + cmVhdGVkMAE5yDfk+nKS4BdBOE/k+nKS4BdKMQoHdGFza19pZBImCiQ3YTBiZDRkNS01MjIwLTQ3 + YWYtOGY2MC0wODEyOGIwNTliMzl6AhgBhQEAAQAAEpwBChDSWdfLLD3EpbLUzUtWdGQsEggYIbqV + NtbgIioKVG9vbCBVc2FnZTABOWiclwFzkuAXQaDgmAFzkuAXShoKDmNyZXdhaV92ZXJzaW9uEggK + BjAuMzUuOEooCgl0b29sX25hbWUSGwoZRGVsZWdhdGUgd29yayB0byBjb3dvcmtlckoOCghhdHRl + bXB0cxICGAF6AhgBhQEAAQAAEqQRChC8LWcefn/TK/c6bddCvc0EEgjmruVOQWiMWyoMQ3JldyBD + cmVhdGVkMAE5IDd3BnOS4BdBSE55BnOS4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44ShoK + DnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuM0oxCgdjcmV3X2lkEiYKJGFhZDkyYWE0LThjZGEtNDkx + My1iODJkLWYxZDhlMjg1ZGQ1YkocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3 + X21lbW9yeRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgCShsKFWNyZXdfbnVtYmVyX29m + X2FnZW50cxICGAJK7wgKC2NyZXdfYWdlbnRzEt8ICtwIW3siaWQiOiAiMjkyOTgwZmUtNTgzZi00 + ZWIyLWJiZmQtYWFjNzA5NDcxZTc5IiwgInJvbGUiOiAiUmVzZWFyY2hlciIsICJnb2FsIjogIk1h + a2UgdGhlIGJlc3QgcmVzZWFyY2ggYW5kIGFuYWx5c2lzIG9uIGNvbnRlbnQgYWJvdXQgQUkgYW5k + IEFJIGFnZW50cyIsICJiYWNrc3RvcnkiOiAiWW91J3JlIGFuIGV4cGVydCByZXNlYXJjaGVyLCBz + cGVjaWFsaXplZCBpbiB0ZWNobm9sb2d5LCBzb2Z0d2FyZSBlbmdpbmVlcmluZywgQUkgYW5kIHN0 + YXJ0dXBzLiBZb3Ugd29yayBhcyBhIGZyZWVsYW5jZXIgYW5kIGlzIG5vdyB3b3JraW5nIG9uIGRv + aW5nIHJlc2VhcmNoIGFuZCBhbmFseXNpcyBmb3IgYSBuZXcgY3VzdG9tZXIuIiwgInZlcmJvc2U/ + IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwg + ImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRl + bXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlv + bl9lbmFibGVkPyI6IGZhbHNlLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsiaWQiOiAiYWVhZWQxNDEt + NzlkNy00NmViLWExNTItYTJkY2M0YzJmNDJkIiwgInJvbGUiOiAiU2VuaW9yIFdyaXRlciIsICJn + b2FsIjogIldyaXRlIHRoZSBiZXN0IGNvbnRlbnQgYWJvdXQgQUkgYW5kIEFJIGFnZW50cy4iLCAi + YmFja3N0b3J5IjogIllvdSdyZSBhIHNlbmlvciB3cml0ZXIsIHNwZWNpYWxpemVkIGluIHRlY2hu + b2xvZ3ksIHNvZnR3YXJlIGVuZ2luZWVyaW5nLCBBSSBhbmQgc3RhcnR1cHMuIFlvdSB3b3JrIGFz + IGEgZnJlZWxhbmNlciBhbmQgYXJlIG5vdyB3b3JraW5nIG9uIHdyaXRpbmcgY29udGVudCBmb3Ig + YSBuZXcgY3VzdG9tZXIuIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4 + X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwibW9k + ZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBc + IkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAidG9vbHNfbmFt + ZXMiOiBbXX1dSqMECgpjcmV3X3Rhc2tzEpQECpEEW3siaWQiOiAiZTNlOGZkYjItZDczYi00ODA2 + LWE0OTEtZDg1NmU5YzJlMjYwIiwgImRlc2NyaXB0aW9uIjogIlJlc2VhcmNoIEFJIGFkdmFuY2Vt + ZW50cy4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIkEgZnVsbCByZXBvcnQgb24gQUkgYWR2YW5jZW1l + bnRzLiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwg + ImFnZW50X3JvbGUiOiAiUmVzZWFyY2hlciIsICJjb250ZXh0IjogbnVsbCwgInRvb2xzX25hbWVz + IjogW119LCB7ImlkIjogIjQ1YmQwZmQ4LWNhNzUtNDA3ZS1hNDdjLTRjMzZjZTYxNjAxMCIsICJk + ZXNjcmlwdGlvbiI6ICJXcml0ZSBhYm91dCBBSSBpbiBoZWFsdGhjYXJlLiIsICJleHBlY3RlZF9v + dXRwdXQiOiAiQSA0IHBhcmFncmFwaCBhcnRpY2xlIGFib3V0IEFJLiIsICJhc3luY19leGVjdXRp + b24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiU2VuaW9y + IFdyaXRlciIsICJjb250ZXh0IjogbnVsbCwgInRvb2xzX25hbWVzIjogW119XUooCghwbGF0Zm9y + bRIcChptYWNPUy0xNC41LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIz + LjUuMEobCg9wbGF0Zm9ybV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApm + RGFyd2luIEtlcm5lbCBWZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAy + NDsgcm9vdDp4bnUtMTAwNjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgK + egIYAYUBAAEAABJ7ChAFttM7DoSPOwo35/LdzhPWEgggjE51MU+ErCoMVGFzayBDcmVhdGVkMAE5 + YNiLBnOS4BdB6OuLBnOS4BdKMQoHdGFza19pZBImCiRlM2U4ZmRiMi1kNzNiLTQ4MDYtYTQ5MS1k + ODU2ZTljMmUyNjB6AhgBhQEAAQAAEnsKEOCk8VWXK/1KNSV6s7YYxHoSCJDv/7p/tqShKgxUYXNr + IENyZWF0ZWQwATlIamgPc5LgF0GIiWgPc5LgF0oxCgd0YXNrX2lkEiYKJDQ1YmQwZmQ4LWNhNzUt + NDA3ZS1hNDdjLTRjMzZjZTYxNjAxMHoCGAGFAQABAAASewoQG+Q5JlP6/DXhogO6HRRD6RIIvPnG + zrg+MtwqDFRhc2sgQ3JlYXRlZDABOXiSNhZzkuAXQbixNhZzkuAXSjEKB3Rhc2tfaWQSJgokZTNl + OGZkYjItZDczYi00ODA2LWE0OTEtZDg1NmU5YzJlMjYwegIYAYUBAAEAABJ7ChAnWbghV38F4L6A + a67nzxKLEgiL1RToWzzGkCoMVGFzayBDcmVhdGVkMAE50LOIHXOS4BdBQMuIHXOS4BdKMQoHdGFz + a19pZBImCiQ0NWJkMGZkOC1jYTc1LTQwN2UtYTQ3Yy00YzM2Y2U2MTYwMTB6AhgBhQEAAQAAEv4K + ChArHz414ddxfhMTHzRLy6kfEgh6KuK60ukeeCoMQ3JldyBDcmVhdGVkMAE54EZTI3OS4BdBIFpV + I3OS4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44ShoKDnB5dGhvbl92ZXJzaW9uEggKBjMu + MTIuM0oxCgdjcmV3X2lkEiYKJDVmZTdkYTdmLTU4YmQtNGFiYi1iMDg5LTcyYTRkNDllNGI4Nkoc + CgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19u + dW1iZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAFK0wQKC2NyZXdf + YWdlbnRzEsMECsAEW3siaWQiOiAiMjkyOTgwZmUtNTgzZi00ZWIyLWJiZmQtYWFjNzA5NDcxZTc5 + IiwgInJvbGUiOiAiUmVzZWFyY2hlciIsICJnb2FsIjogIk1ha2UgdGhlIGJlc3QgcmVzZWFyY2gg + YW5kIGFuYWx5c2lzIG9uIGNvbnRlbnQgYWJvdXQgQUkgYW5kIEFJIGFnZW50cyIsICJiYWNrc3Rv + cnkiOiAiWW91J3JlIGFuIGV4cGVydCByZXNlYXJjaGVyLCBzcGVjaWFsaXplZCBpbiB0ZWNobm9s + b2d5LCBzb2Z0d2FyZSBlbmdpbmVlcmluZywgQUkgYW5kIHN0YXJ0dXBzLiBZb3Ugd29yayBhcyBh + IGZyZWVsYW5jZXIgYW5kIGlzIG5vdyB3b3JraW5nIG9uIGRvaW5nIHJlc2VhcmNoIGFuZCBhbmFs + eXNpcyBmb3IgYSBuZXcgY3VzdG9tZXIuIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6 + IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51 + bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJj + bGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAi + dG9vbHNfbmFtZXMiOiBbXX1dSpkCCgpjcmV3X3Rhc2tzEooCCocCW3siaWQiOiAiMzI2NzVjYzAt + OTBhNS00MDBlLWFhY2ItNmMyMmM3YWNmOTRhIiwgImRlc2NyaXB0aW9uIjogIldyaXRlIGFib3V0 + IEFJIGFkdmFuY2VtZW50cy4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIkEgNCBwYXJhZ3JhcGggYXJ0 + aWNsZSBhYm91dCBBSS4iLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/ + IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIlJlc2VhcmNoZXIiLCAiY29udGV4dCI6IG51bGwsICJ0 + b29sc19uYW1lcyI6IFtdfV1KKAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02NC1hcm0tNjRi + aXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lzdGVtEggKBkRh + cndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lvbiAyMy41LjA6 + IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEyMS4zfjUvUkVM + RUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAASewoQ7iAtyYN5UE9hTA0EWUFb + NxII8C+BVCheTgMqDFRhc2sgQ3JlYXRlZDABOQiZYCNzkuAXQZCsYCNzkuAXSjEKB3Rhc2tfaWQS + JgokMzI2NzVjYzAtOTBhNS00MDBlLWFhY2ItNmMyMmM3YWNmOTRhegIYAYUBAAEAABJ7ChDcT8lA + daoDtLPm4o5cOTfwEgiuXBH+DOKH9SoMVGFzayBDcmVhdGVkMAE54Ol8KXOS4BdBIAl9KXOS4BdK + MQoHdGFza19pZBImCiQzMjY3NWNjMC05MGE1LTQwMGUtYWFjYi02YzIyYzdhY2Y5NGF6AhgBhQEA + AQAAEtARChDyR4SXt6Ojw9vs92wokCvUEgjjCyHywtTd6yoMQ3JldyBDcmVhdGVkMAE5+KsmMnOS + 4BdBCEQpMnOS4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44ShoKDnB5dGhvbl92ZXJzaW9u + EggKBjMuMTIuM0oxCgdjcmV3X2lkEiYKJDUyOTI3YzQ3LWQwYWUtNGIxZS05ZGJkLTRlNTMwNmFj + NWExZEocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoU + Y3Jld19udW1iZXJfb2ZfdGFza3MSAhgCShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAJK+AgK + C2NyZXdfYWdlbnRzEugICuUIW3siaWQiOiAiOGIyNGRkYTUtZTVlMS00ODBlLThiMjgtYWNmMzQw + ZjljYzM4IiwgInJvbGUiOiAiQ0VPIiwgImdvYWwiOiAiTWFrZSBzdXJlIHRoZSB3cml0ZXJzIGlu + IHlvdXIgY29tcGFueSBwcm9kdWNlIGFtYXppbmcgY29udGVudC4iLCAiYmFja3N0b3J5IjogIllv + dSdyZSBhbiBsb25nIHRpbWUgQ0VPIG9mIGEgY29udGVudCBjcmVhdGlvbiBhZ2VuY3kgd2l0aCBh + IFNlbmlvciBXcml0ZXIgb24gdGhlIHRlYW0uIFlvdSdyZSBub3cgd29ya2luZyBvbiBhIG5ldyBw + cm9qZWN0IGFuZCB3YW50IHRvIG1ha2Ugc3VyZSB0aGUgY29udGVudCBwcm9kdWNlZCBpcyBhbWF6 + aW5nLiIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxs + LCAiaTE4biI6IG51bGwsICJsbG0iOiAie1wibmFtZVwiOiBudWxsLCBcIm1vZGVsX25hbWVcIjog + XCJncHQtNG9cIiwgXCJ0ZW1wZXJhdHVyZVwiOiAwLjcsIFwiY2xhc3NcIjogXCJDaGF0T3BlbkFJ + XCJ9IiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiB0cnVlLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsi + aWQiOiAiMjkyOTgwZmUtNTgzZi00ZWIyLWJiZmQtYWFjNzA5NDcxZTc5IiwgInJvbGUiOiAiUmVz + ZWFyY2hlciIsICJnb2FsIjogIk1ha2UgdGhlIGJlc3QgcmVzZWFyY2ggYW5kIGFuYWx5c2lzIG9u + IGNvbnRlbnQgYWJvdXQgQUkgYW5kIEFJIGFnZW50cyIsICJiYWNrc3RvcnkiOiAiWW91J3JlIGFu + IGV4cGVydCByZXNlYXJjaGVyLCBzcGVjaWFsaXplZCBpbiB0ZWNobm9sb2d5LCBzb2Z0d2FyZSBl + bmdpbmVlcmluZywgQUkgYW5kIHN0YXJ0dXBzLiBZb3Ugd29yayBhcyBhIGZyZWVsYW5jZXIgYW5k + IGlzIG5vdyB3b3JraW5nIG9uIGRvaW5nIHJlc2VhcmNoIGFuZCBhbmFseXNpcyBmb3IgYSBuZXcg + Y3VzdG9tZXIuIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6 + IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwibW9kZWxfbmFt + ZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRP + cGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAidG9vbHNfbmFtZXMiOiBb + XX1dSsYECgpjcmV3X3Rhc2tzErcECrQEW3siaWQiOiAiM2VmNDZjMDktMDA2Ny00MTBiLWIzM2Et + MGNlMzFiYjUxMWVlIiwgImRlc2NyaXB0aW9uIjogIldoYXQgaXMgMiB0aW1zIDY/IFJldHVybiBv + bmx5IHRoZSBudW1iZXIuIiwgImV4cGVjdGVkX291dHB1dCI6ICJ0aGUgcmVzdWx0IG9mIG11bHRp + cGxpY2F0aW9uIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZh + bHNlLCAiYWdlbnRfcm9sZSI6ICJDRU8iLCAiY29udGV4dCI6IG51bGwsICJ0b29sc19uYW1lcyI6 + IFsibXVsdGlwbGllciJdfSwgeyJpZCI6ICJhMGYwNjI2NS1hNGMxLTRjZjYtOTMzNy03MDJiOTNm + OGFmZTYiLCAiZGVzY3JpcHRpb24iOiAiV2hhdCBpcyAyIHRpbWVzIDY/IFJldHVybiBvbmx5IHRo + ZSBudW1iZXIuIiwgImV4cGVjdGVkX291dHB1dCI6ICJ0aGUgcmVzdWx0IG9mIG11bHRpcGxpY2F0 + aW9uIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAi + YWdlbnRfcm9sZSI6ICJSZXNlYXJjaGVyIiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMi + OiBbIm11bHRpcGxpZXIiXX1dSigKCHBsYXRmb3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJtLTY0 + Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRIICgZE + YXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMuNS4w + OiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290OnhudS0xMDA2My4xMjEuM341L1JF + TEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEAAQAAEnsKELAlNg3lighaCoTjdrzg + 1jsSCNFmQ1Xku/MaKgxUYXNrIENyZWF0ZWQwATkYvFoyc5LgF0GI01oyc5LgF0oxCgd0YXNrX2lk + EiYKJDNlZjQ2YzA5LTAwNjctNDEwYi1iMzNhLTBjZTMxYmI1MTFlZXoCGAGFAQABAAASjQEKENFM + EO5qYbMJEzZut6SOpWcSCCueabTmLabTKgpUb29sIFVzYWdlMAE58OrtM3OS4BdBkPTuM3OS4BdK + GgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44ShkKCXRvb2xfbmFtZRIMCgptdWx0aXBsaWVySg4K + CGF0dGVtcHRzEgIYAXoCGAGFAQABAAASewoQBEocDGH125TY5ZLnHKwM9BIIPDbeefTP8Z0qDFRh + c2sgQ3JlYXRlZDABORhlmzRzkuAXQYh8mzRzkuAXSjEKB3Rhc2tfaWQSJgokYTBmMDYyNjUtYTRj + MS00Y2Y2LTkzMzctNzAyYjkzZjhhZmU2egIYAYUBAAEAABKNAQoQpQ3QYaRHL28E75HobnSmOBII + aRGCVf3IviQqClRvb2wgVXNhZ2UwATkQyrU1c5LgF0GIsLY1c5LgF0oaCg5jcmV3YWlfdmVyc2lv + bhIICgYwLjM1LjhKGQoJdG9vbF9uYW1lEgwKCm11bHRpcGxpZXJKDgoIYXR0ZW1wdHMSAhgBegIY + AYUBAAEAABLNCQoQ3IhS/G+d767tOL36Ll08GBII7qJxFKQhkvoqDENyZXcgQ3JlYXRlZDABOZhk + VTdzkuAXQdAZWTdzkuAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVy + c2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBImCiRmYjNjMjcyMC0xYmQyLTQzYzUtYWM5Ni0xYWRk + MTE1MGZmNjhKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAA + ShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgB + SvECCgtjcmV3X2FnZW50cxLhAgreAlt7ImlkIjogIjM3NzI5ZDllLWVhYTMtNDg2OC05MTllLTY5 + N2VmYmRlODFhYiIsICJyb2xlIjogInRlc3Qgcm9sZSIsICJnb2FsIjogInRlc3QgZ29hbCIsICJi + YWNrc3RvcnkiOiAidGVzdCBiYWNrc3RvcnkiLCAidmVyYm9zZT8iOiB0cnVlLCAibWF4X2l0ZXIi + OiA1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51 + bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00LTAxMjUtcHJldmlld1wiLCBcInRlbXBlcmF0dXJl + XCI6IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVk + PyI6IGZhbHNlLCAidG9vbHNfbmFtZXMiOiBbXX1dSsoCCgpjcmV3X3Rhc2tzErsCCrgCW3siaWQi + OiAiNjdiMjQ1MjEtN2RmNy00YzgwLWIyNTYtN2NlNWQxMjUxZTY2IiwgImRlc2NyaXB0aW9uIjog + IkRvbid0IGdpdmUgYSBGaW5hbCBBbnN3ZXIsIGluc3RlYWQga2VlcCB1c2luZyB0aGUgYGdldF9m + aW5hbF9hbnN3ZXJgIHRvb2wuIiwgImV4cGVjdGVkX291dHB1dCI6ICJUaGUgZmluYWwgYW5zd2Vy + LiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFn + ZW50X3JvbGUiOiAidGVzdCByb2xlIiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBb + ImdldF9maW5hbF9hbnN3ZXIiXX1dSigKCHBsYXRmb3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJt + LTY0Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRII + CgZEYXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMu + NS4wOiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290OnhudS0xMDA2My4xMjEuM341 + L1JFTEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEAAQAAEnsKEOcDgCJo82FIpFDV + en8BQxUSCJdKINVWHcbLKgxUYXNrIENyZWF0ZWQwATlYSmk3c5LgF0HIYWk3c5LgF0oxCgd0YXNr + X2lkEiYKJDY3YjI0NTIxLTdkZjctNGM4MC1iMjU2LTdjZTVkMTI1MWU2NnoCGAGFAQABAAASaAoQ + sHt2L8KgPLX2mYYqhCOkzRIIRJEeXPXziAAqEFRvb2wgVXNhZ2UgRXJyb3IwATk4XTg5c5LgF0HY + Zjk5c5LgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1Ljh6AhgBhQEAAQAAEmgKEGBJtDblf5pQ + +nMlDt/c/UISCIVg6oAV5AUfKhBUb29sIFVzYWdlIEVycm9yMAE56MI/OnOS4BdBkKFAOnOS4BdK + GgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44egIYAYUBAAEAABLtCQoQ1rk5LJH4Uo2RzPUUiweX + wBIIw2NC05G77MUqDENyZXcgQ3JlYXRlZDABOVhh0z1zkuAXQYhN1T1zkuAXShoKDmNyZXdhaV92 + ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVyc2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBIm + CiRiMzlkOWFlNy1kNjlmLTQ0YjctYTZjMi1hZjhkY2ZlZDc3YWRKHAoMY3Jld19wcm9jZXNzEgwK + CnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIY + AUobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgBSp8DCgtjcmV3X2FnZW50cxKPAwqMA1t7Imlk + IjogImYyMjE4N2U2LTg5NjYtNGU4MS05MDY5LTI1OTIwZDE3NGI3OCIsICJyb2xlIjogInt0b3Bp + Y30gUmVzZWFyY2hlciIsICJnb2FsIjogIkV4cHJlc3MgaG90IHRha2VzIG9uIHt0b3BpY30uIiwg + ImJhY2tzdG9yeSI6ICJZb3UgaGF2ZSBhIGxvdCBvZiBleHBlcmllbmNlIHdpdGgge3RvcGljfS4i + LCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkx + OG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0 + LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIs + ICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogdHJ1ZSwgInRvb2xzX25hbWVzIjogW119XUq8AgoKY3Jl + d190YXNrcxKtAgqqAlt7ImlkIjogImJlZjQyN2MwLWQwYTUtNGRiNC1iOTIzLTQ5ZmM2ZDU2MDYz + YSIsICJkZXNjcmlwdGlvbiI6ICJHaXZlIG1lIGFuIGFuYWx5c2lzIGFyb3VuZCB7dG9waWN9LiIs + ICJleHBlY3RlZF9vdXRwdXQiOiAiMSBidWxsZXQgcG9pbnQgYWJvdXQge3RvcGljfSB0aGF0J3Mg + dW5kZXIgMTUgd29yZHMuIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0 + PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJ7dG9waWN9IFJlc2VhcmNoZXIiLCAiY29udGV4dCI6 + IG51bGwsICJ0b29sc19uYW1lcyI6IFtdfV1KKAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02 + NC1hcm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lz + dGVtEggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lv + biAyMy41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEy + MS4zfjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAAS7QkKEMkb0EYN + vdozRrrXvOZGdkUSCFN+djcHGXMwKgxDcmV3IENyZWF0ZWQwATn4Ue09c5LgF0E46O49c5LgF0oa + Cg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEK + B2NyZXdfaWQSJgokNjY3YmFmMjYtMGY1NS00NzFjLTgyOGEtN2I3YTE5MzIzNGY0ShwKDGNyZXdf + cHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9v + Zl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAUqfAwoLY3Jld19hZ2VudHMS + jwMKjANbeyJpZCI6ICI3NjRkODE3Yi1hZjMzLTRkMmItODQwZi05YTdhZDIzZjVhM2YiLCAicm9s + ZSI6ICJ7dG9waWN9IFJlc2VhcmNoZXIiLCAiZ29hbCI6ICJFeHByZXNzIGhvdCB0YWtlcyBvbiB7 + dG9waWN9LiIsICJiYWNrc3RvcnkiOiAiWW91IGhhdmUgYSBsb3Qgb2YgZXhwZXJpZW5jZSB3aXRo + IHt0b3BpY30uIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6 + IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwibW9kZWxfbmFt + ZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRP + cGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IHRydWUsICJ0b29sc19uYW1lcyI6IFtd + fV1KvAIKCmNyZXdfdGFza3MSrQIKqgJbeyJpZCI6ICIwOWQ1NjJkMC0wYTcyLTQ4ZGYtOThkYS1m + ZGI1NmFiNWNmZDQiLCAiZGVzY3JpcHRpb24iOiAiR2l2ZSBtZSBhbiBhbmFseXNpcyBhcm91bmQg + e3RvcGljfS4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIjEgYnVsbGV0IHBvaW50IGFib3V0IHt0b3Bp + Y30gdGhhdCdzIHVuZGVyIDE1IHdvcmRzLiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJo + dW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAie3RvcGljfSBSZXNlYXJjaGVyIiwg + ImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX1dSigKCHBsYXRmb3JtEhwKGm1hY09T + LTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsKD3Bs + YXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4gS2Vy + bmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290Onhu + dS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEAAQAA + EnsKEGqBCWsrl8HzaUjw9j2WCc8SCGDlIOfAripuKgxUYXNrIENyZWF0ZWQwATkof/k9c5LgF0Gw + kvk9c5LgF0oxCgd0YXNrX2lkEiYKJDA5ZDU2MmQwLTBhNzItNDhkZi05OGRhLWZkYjU2YWI1Y2Zk + NHoCGAGFAQABAAAS7QkKECI8sfOakWxxzdfh8cPRcnkSCOCU+tH9uYrMKgxDcmV3IENyZWF0ZWQw + ATmwkdBxc5LgF0FYXtRxc5LgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0aG9u + X3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokMjVmOTk3MmQtMTVhYS00OTU1LTkxZWEt + YTQ0YTM0NTZhMGQ1ShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5 + EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRz + EgIYAUqfAwoLY3Jld19hZ2VudHMSjwMKjANbeyJpZCI6ICJkYzQ4N2Y2Mi04YjE4LTQ4ODAtYTZm + YS1lMGE1MTNhYzA0Y2IiLCAicm9sZSI6ICJ7dG9waWN9IFJlc2VhcmNoZXIiLCAiZ29hbCI6ICJF + eHByZXNzIGhvdCB0YWtlcyBvbiB7dG9waWN9LiIsICJiYWNrc3RvcnkiOiAiWW91IGhhdmUgYSBs + b3Qgb2YgZXhwZXJpZW5jZSB3aXRoIHt0b3BpY30uIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhf + aXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1l + XCI6IG51bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAu + NywgXCJjbGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IHRy + dWUsICJ0b29sc19uYW1lcyI6IFtdfV1KvAIKCmNyZXdfdGFza3MSrQIKqgJbeyJpZCI6ICJhM2Uw + MjFhYS0xMTEyLTQ0NWYtOTcxNi1iNjM1MjFjN2I2OGMiLCAiZGVzY3JpcHRpb24iOiAiR2l2ZSBt + ZSBhbiBhbmFseXNpcyBhcm91bmQge3RvcGljfS4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIjEgYnVs + bGV0IHBvaW50IGFib3V0IHt0b3BpY30gdGhhdCdzIHVuZGVyIDE1IHdvcmRzLiIsICJhc3luY19l + eGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAi + e3RvcGljfSBSZXNlYXJjaGVyIiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX1d + SigKCHBsYXRmb3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBsYXRmb3JtX3Jl + bGVhc2USCAoGMjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQcGxhdGZvcm1f + dmVyc2lvbhJoCmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5ICAxIDIwOjEy + OjU4IFBEVCAyMDI0OyByb290OnhudS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJNNjRfVDYwMDBK + CgoEY3B1cxICGAp6AhgBhQEAAQAAEnsKEPZRBypWJexWXKR4XVlrckgSCGdykZ53lqhuKgxUYXNr + IENyZWF0ZWQwATnQYeVxc5LgF0H4hOVxc5LgF0oxCgd0YXNrX2lkEiYKJGEzZTAyMWFhLTExMTIt + NDQ1Zi05NzE2LWI2MzUyMWM3YjY4Y3oCGAGFAQABAAA= + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '45689' + Content-Type: + - application/x-protobuf + User-Agent: + - OTel-OTLP-Exporter-Python/1.25.0 + method: POST + uri: https://telemetry.crewai.com:4319/v1/traces + response: + body: + string: "\n\0" + headers: + Content-Length: + - '2' + Content-Type: + - application/x-protobuf + Date: + - Tue, 09 Jul 2024 14:41:23 GMT + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"content": "You are apple Researcher. You have a lot of + experience with apple.\nYour personal goal is: Express hot takes on apple.To + give my best complete final answer to the task use the exact following format:\n\nThought: + I now can give a great answer\nFinal Answer: my best complete final answer to + the task.\nYour final answer must be the great and the most complete as possible, + it must be outcome described.\n\nI MUST use these formats, my job depends on + it!\nCurrent Task: Give me an analysis around apple.\n\nThis is the expect criteria + for your final answer: 1 bullet point about apple that''s under 15 words. \n + you MUST return the actual complete content as the final answer, not a summary.\n\nBegin! + This is VERY important to you, use the tools available and give your best Final + Answer, your job depends on it!\n\nThought:\n", "role": "user"}], "model": "gpt-4o", + "n": 1, "stop": ["\nObservation"], "stream": true, "temperature": 0.7}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '961' + content-type: + - application/json + cookie: + - __cf_bm=Zk8vfeh9N8AtNmNUxJb8XStywbu_PhC.h7IXHPN3j5c-1720536081-1.0.1.1-eJVUro18.sJevMp5dgR9EUBSvIo1LKyetkSpkQqnVgx03tbtItYkEYcFoTHrTpLYPKS4KI58BTQu6b78AJU7mg; + _cfuvid=gxSqqKMsb6Mlk7oJjpXBYSeOaIsM3PTrWI9w8PoQl6g-1720536081678-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.35.10 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.35.10 + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.3 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: 'data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + I"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + now"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + can"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + give"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + a"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + great"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + Answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + Apple''s"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + ecosystem"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + seamlessly"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + integrates"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + hardware"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + software"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + and"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + services"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + for"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + an"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + unparalleled"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + user"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + experience"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j6JvbkMO8mpGyNYtJlS3amM2DBWu","object":"chat.completion.chunk","created":1720536083,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]} + + + data: [DONE] + + + ' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8a0913178bbd07d2-ATL + Connection: + - keep-alive + Content-Type: + - text/event-stream; charset=utf-8 + Date: + - Tue, 09 Jul 2024 14:41:23 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '110' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '22000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '21999781' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_77d45323b31a6cf22121091789579bc7 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_kickoff_for_each_multiple_inputs.yaml b/tests/cassettes/test_kickoff_for_each_multiple_inputs.yaml new file mode 100644 index 000000000..6f47ff428 --- /dev/null +++ b/tests/cassettes/test_kickoff_for_each_multiple_inputs.yaml @@ -0,0 +1,1464 @@ +interactions: +- request: + body: '{"messages": [{"content": "You are dog Researcher. You have a lot of experience + with dog.\nYour personal goal is: Express hot takes on dog.To give my best complete + final answer to the task use the exact following format:\n\nThought: I now can + give a great answer\nFinal Answer: my best complete final answer to the task.\nYour + final answer must be the great and the most complete as possible, it must be + outcome described.\n\nI MUST use these formats, my job depends on it!\nCurrent + Task: Give me an analysis around dog.\n\nThis is the expect criteria for your + final answer: 1 bullet point about dog that''s under 15 words. \n you MUST return + the actual complete content as the final answer, not a summary.\n\nBegin! This + is VERY important to you, use the tools available and give your best Final Answer, + your job depends on it!\n\nThought:\n", "role": "user"}], "model": "gpt-4o", + "n": 1, "stop": ["\nObservation"], "stream": true, "temperature": 0.7}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '951' + content-type: + - application/json + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.35.10 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.35.10 + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.3 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: 'data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + I"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + now"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + can"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + give"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + a"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + great"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + Answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + Dogs"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + are"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + incredibly"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + social"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + and"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + thrive"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + on"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + human"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + companionship"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + and"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + interaction"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75O28LyHCe7eLBvkMxzYbhlNkiV","object":"chat.completion.chunk","created":1720539026,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]} + + + data: [DONE] + + + ' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8a095af33c8653ec-ATL + Connection: + - keep-alive + Content-Type: + - text/event-stream; charset=utf-8 + Date: + - Tue, 09 Jul 2024 15:30:26 GMT + Server: + - cloudflare + Set-Cookie: + - __cf_bm=toUhZRd6vEdcHdBbyreL0QWCyPtBo2jeYECuNnqvlNU-1720539026-1.0.1.1-kR.lmT6su6_RoLofxhsfPA152PyhW_ZrV8er4rjZpRgkVZZhz4PFfnjcbXvfjmHcRBP5PeFBOmqwGGly5v.TJQ; + path=/; expires=Tue, 09-Jul-24 16:00:26 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=RWdzYCK2glR_iVTUCTf6Z_DHeBgBTn1iDUvjJB35tNI-1720539026949-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '291' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '22000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '21999783' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_44a9bd40152e36a643e19fcd3a09225e + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"content": "You are cat Researcher. You have a lot of experience + with cat.\nYour personal goal is: Express hot takes on cat.To give my best complete + final answer to the task use the exact following format:\n\nThought: I now can + give a great answer\nFinal Answer: my best complete final answer to the task.\nYour + final answer must be the great and the most complete as possible, it must be + outcome described.\n\nI MUST use these formats, my job depends on it!\nCurrent + Task: Give me an analysis around cat.\n\nThis is the expect criteria for your + final answer: 1 bullet point about cat that''s under 15 words. \n you MUST return + the actual complete content as the final answer, not a summary.\n\nBegin! This + is VERY important to you, use the tools available and give your best Final Answer, + your job depends on it!\n\nThought:\n", "role": "user"}], "model": "gpt-4o", + "n": 1, "stop": ["\nObservation"], "stream": true, "temperature": 0.7}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '951' + content-type: + - application/json + cookie: + - __cf_bm=toUhZRd6vEdcHdBbyreL0QWCyPtBo2jeYECuNnqvlNU-1720539026-1.0.1.1-kR.lmT6su6_RoLofxhsfPA152PyhW_ZrV8er4rjZpRgkVZZhz4PFfnjcbXvfjmHcRBP5PeFBOmqwGGly5v.TJQ; + _cfuvid=RWdzYCK2glR_iVTUCTf6Z_DHeBgBTn1iDUvjJB35tNI-1720539026949-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.35.10 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.35.10 + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.3 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: 'data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + I"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + now"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + can"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + give"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + a"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + great"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + Answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + Cats"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + are"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + highly"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + independent"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + but"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + form"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + strong"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + bonds"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + with"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + their"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":" + owners"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75P5KcwwgRpLZuakiwdV9LJ8Pea","object":"chat.completion.chunk","created":1720539027,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_d576307f90","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]} + + + data: [DONE] + + + ' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8a095af99cd253ec-ATL + Connection: + - keep-alive + Content-Type: + - text/event-stream; charset=utf-8 + Date: + - Tue, 09 Jul 2024 15:30:27 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '175' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '22000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '21999783' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_ee02c07bd241e0f89661469629c95be8 + status: + code: 200 + message: OK +- request: + body: !!binary | + Cuj4AgokCiIKDHNlcnZpY2UubmFtZRISChBjcmV3QUktdGVsZW1ldHJ5Er74AgoSChBjcmV3YWku + dGVsZW1ldHJ5ErUEChB7f74Fb0yvmpdwNug4Pgh+EgjuEDRuqgvdqSoMQ3JldyBDcmVhdGVkMAE5 + EMmUTSCV4BdBaG54TiCV4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44ShoKDnB5dGhvbl92 + ZXJzaW9uEggKBjMuMTIuM0oxCgdjcmV3X2lkEiYKJGU0MjA4NzU1LTI4OTEtNGVhYi05YTA5LTJk + OWRhMWU2MjA4NEocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRIC + EABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgAShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxIC + GABKEwoLY3Jld19hZ2VudHMSBAoCW11KEgoKY3Jld190YXNrcxIECgJbXUooCghwbGF0Zm9ybRIc + ChptYWNPUy0xNC41LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjUu + MEobCg9wbGF0Zm9ybV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApmRGFy + d2luIEtlcm5lbCBWZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAyNDsg + cm9vdDp4bnUtMTAwNjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgKegIY + AYUBAAEAABK1BAoQYgFWUkXfQEJmwVQ1BH+WThII9Mm5MMWS8dcqDENyZXcgQ3JlYXRlZDABOUhN + r04gleAXQbjPsk4gleAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVy + c2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBImCiRjNTE2MWVlNC1iZjAzLTRlMmUtYTdkOC01MTM1 + NGY1ZjE3MTZKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAA + ShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAEobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgA + ShMKC2NyZXdfYWdlbnRzEgQKAltdShIKCmNyZXdfdGFza3MSBAoCW11KKAoIcGxhdGZvcm0SHAoa + bWFjT1MtMTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBK + GwoPcGxhdGZvcm1fc3lzdGVtEggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndp + biBLZXJuZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJv + b3Q6eG51LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGF + AQABAAAStQQKEDMBMWIE7cGlaZrJQ14MfYkSCOZhk7CI1iNcKgxDcmV3IENyZWF0ZWQwATlAiw5Q + IJXgF0F4TBBQIJXgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0aG9uX3ZlcnNp + b24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokYjNlMjhiMjYtYmNmMy00ZmRiLTg0ZjctMjQ2YzFl + M2MyMzA0ShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoa + ChRjcmV3X251bWJlcl9vZl90YXNrcxICGABKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAEoT + CgtjcmV3X2FnZW50cxIECgJbXUoSCgpjcmV3X3Rhc2tzEgQKAltdSigKCHBsYXRmb3JtEhwKGm1h + Y09TLTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsK + D3BsYXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4g + S2VybmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290 + OnhudS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEA + AQAAErUEChCrfe+SxWY1/aSRi81i/644EgiJv8kUOfAS3CoMQ3JldyBDcmVhdGVkMAE5eDoTUCCV + 4BdBCB0UUCCV4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44ShoKDnB5dGhvbl92ZXJzaW9u + EggKBjMuMTIuM0oxCgdjcmV3X2lkEiYKJGYxYmE1NDI3LWUwMTYtNDc1ZS04NDNiLThmNTdkMzM3 + ZDNiOUocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoU + Y3Jld19udW1iZXJfb2ZfdGFza3MSAhgAShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGABKEwoL + Y3Jld19hZ2VudHMSBAoCW11KEgoKY3Jld190YXNrcxIECgJbXUooCghwbGF0Zm9ybRIcChptYWNP + Uy0xNC41LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjUuMEobCg9w + bGF0Zm9ybV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApmRGFyd2luIEtl + cm5lbCBWZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAyNDsgcm9vdDp4 + bnUtMTAwNjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgKegIYAYUBAAEA + ABK1BAoQBCYiJk6ruiDsaSORnifj2BII9A+IJipYBLUqDENyZXcgQ3JlYXRlZDABOchuFlAgleAX + QUBVF1AgleAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVyc2lvbhII + CgYzLjEyLjNKMQoHY3Jld19pZBImCiRjNDNmYzM1Yi1hYTY1LTRmMDAtODc1NC00ZTU2OGU3YmQ5 + ZjhKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNy + ZXdfbnVtYmVyX29mX3Rhc2tzEgIYAEobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgAShMKC2Ny + ZXdfYWdlbnRzEgQKAltdShIKCmNyZXdfdGFza3MSBAoCW11KKAoIcGxhdGZvcm0SHAoabWFjT1Mt + MTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxh + dGZvcm1fc3lzdGVtEggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJu + ZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51 + LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAAS + jBMKECm6GWV0AwKiGM9gwv+qibMSCL5QD2N3qoctKgxDcmV3IENyZWF0ZWQwATlAf41QIJXgF0HI + ho9QIJXgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0aG9uX3ZlcnNpb24SCAoG + My4xMi4zSjEKB2NyZXdfaWQSJgokNmY0ODc1ZDktNWEwZS00MGRhLTg0YzQtNDQxZmIyMzJhMjM0 + ShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3 + X251bWJlcl9vZl90YXNrcxICGAJKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAkrvCAoLY3Jl + d19hZ2VudHMS3wgK3AhbeyJpZCI6ICI4OThlNGE2Zi1hMzY1LTQzMzEtYjgzOS02YTdkNmIzNzY5 + ZmIiLCAicm9sZSI6ICJSZXNlYXJjaGVyIiwgImdvYWwiOiAiTWFrZSB0aGUgYmVzdCByZXNlYXJj + aCBhbmQgYW5hbHlzaXMgb24gY29udGVudCBhYm91dCBBSSBhbmQgQUkgYWdlbnRzIiwgImJhY2tz + dG9yeSI6ICJZb3UncmUgYW4gZXhwZXJ0IHJlc2VhcmNoZXIsIHNwZWNpYWxpemVkIGluIHRlY2hu + b2xvZ3ksIHNvZnR3YXJlIGVuZ2luZWVyaW5nLCBBSSBhbmQgc3RhcnR1cHMuIFlvdSB3b3JrIGFz + IGEgZnJlZWxhbmNlciBhbmQgaXMgbm93IHdvcmtpbmcgb24gZG9pbmcgcmVzZWFyY2ggYW5kIGFu + YWx5c2lzIGZvciBhIG5ldyBjdXN0b21lci4iLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVy + IjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjog + bnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBc + ImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2Us + ICJ0b29sc19uYW1lcyI6IFtdfSwgeyJpZCI6ICJkNzNjMGM4ZS1lMTFlLTQ2YjMtOTgwOS05ZTg1 + YWVmZDAxZGYiLCAicm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgImdvYWwiOiAiV3JpdGUgdGhlIGJl + c3QgY29udGVudCBhYm91dCBBSSBhbmQgQUkgYWdlbnRzLiIsICJiYWNrc3RvcnkiOiAiWW91J3Jl + IGEgc2VuaW9yIHdyaXRlciwgc3BlY2lhbGl6ZWQgaW4gdGVjaG5vbG9neSwgc29mdHdhcmUgZW5n + aW5lZXJpbmcsIEFJIGFuZCBzdGFydHVwcy4gWW91IHdvcmsgYXMgYSBmcmVlbGFuY2VyIGFuZCBh + cmUgbm93IHdvcmtpbmcgb24gd3JpdGluZyBjb250ZW50IGZvciBhIG5ldyBjdXN0b21lci4iLCAi + dmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4i + OiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRv + XCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJk + ZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1lcyI6IFtdfV1KiwYKCmNyZXdf + dGFza3MS/AUK+QVbeyJpZCI6ICJiYTNjNWUwOS01ZmYwLTQxMDYtOWQ4ZC0wNTVlZDViZDgzMWUi + LCAiZGVzY3JpcHRpb24iOiAiR2l2ZSBtZSBhIGxpc3Qgb2YgNSBpbnRlcmVzdGluZyBpZGVhcyB0 + byBleHBsb3JlIGZvciBuYSBhcnRpY2xlLCB3aGF0IG1ha2VzIHRoZW0gdW5pcXVlIGFuZCBpbnRl + cmVzdGluZy4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIkJ1bGxldCBwb2ludCBsaXN0IG9mIDUgaW1w + b3J0YW50IGV2ZW50cy4iLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/ + IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIlJlc2VhcmNoZXIiLCAiY29udGV4dCI6IG51bGwsICJ0 + b29sc19uYW1lcyI6IFtdfSwgeyJpZCI6ICI4YjNkMjU5OC01NTlkLTRmZTUtODA3MS04ZGNiNTMy + MjNjNTQiLCAiZGVzY3JpcHRpb24iOiAiV3JpdGUgYSAxIGFtYXppbmcgcGFyYWdyYXBoIGhpZ2hs + aWdodCBmb3IgZWFjaCBpZGVhIHRoYXQgc2hvd2Nhc2VzIGhvdyBnb29kIGFuIGFydGljbGUgYWJv + dXQgdGhpcyB0b3BpYyBjb3VsZCBiZS4gUmV0dXJuIHRoZSBsaXN0IG9mIGlkZWFzIHdpdGggdGhl + aXIgcGFyYWdyYXBoIGFuZCB5b3VyIG5vdGVzLiIsICJleHBlY3RlZF9vdXRwdXQiOiAiQSA0IHBh + cmFncmFwaCBhcnRpY2xlIGFib3V0IEFJLiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJo + dW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiU2VuaW9yIFdyaXRlciIsICJjb250 + ZXh0IjogbnVsbCwgInRvb2xzX25hbWVzIjogW119XUooCghwbGF0Zm9ybRIcChptYWNPUy0xNC41 + LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjUuMEobCg9wbGF0Zm9y + bV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApmRGFyd2luIEtlcm5lbCBW + ZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAyNDsgcm9vdDp4bnUtMTAw + NjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgKegIYAYUBAAEAABJ7ChBv + KYUFEVcJz8pumUuOk3L3EgiEPzoU2dZXJyoMVGFzayBDcmVhdGVkMAE5MCy+UCCV4BdBiEe+UCCV + 4BdKMQoHdGFza19pZBImCiRiYTNjNWUwOS01ZmYwLTQxMDYtOWQ4ZC0wNTVlZDViZDgzMWV6AhgB + hQEAAQAAEnsKEHEGo9+2bWs92/hk73REpG8SCOiMiFmYw3TrKgxUYXNrIENyZWF0ZWQwATnI9xlk + IJXgF0G4TRpkIJXgF0oxCgd0YXNrX2lkEiYKJDhiM2QyNTk4LTU1OWQtNGZlNS04MDcxLThkY2I1 + MzIyM2M1NHoCGAGFAQABAAASixMKECPRV1jzheuQkto96GQlOCcSCAZG6AbyFSEbKgxDcmV3IENy + ZWF0ZWQwATnQvg9tIJXgF0HwfRJtIJXgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoO + cHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokY2RlZWQzODMtYmRkNC00NDcz + LWExNDktODJhNjFlMWIxYzQ1ShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdf + bWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAJKGwoVY3Jld19udW1iZXJfb2Zf + YWdlbnRzEgIYAkrvCAoLY3Jld19hZ2VudHMS3wgK3AhbeyJpZCI6ICI4OThlNGE2Zi1hMzY1LTQz + MzEtYjgzOS02YTdkNmIzNzY5ZmIiLCAicm9sZSI6ICJSZXNlYXJjaGVyIiwgImdvYWwiOiAiTWFr + ZSB0aGUgYmVzdCByZXNlYXJjaCBhbmQgYW5hbHlzaXMgb24gY29udGVudCBhYm91dCBBSSBhbmQg + QUkgYWdlbnRzIiwgImJhY2tzdG9yeSI6ICJZb3UncmUgYW4gZXhwZXJ0IHJlc2VhcmNoZXIsIHNw + ZWNpYWxpemVkIGluIHRlY2hub2xvZ3ksIHNvZnR3YXJlIGVuZ2luZWVyaW5nLCBBSSBhbmQgc3Rh + cnR1cHMuIFlvdSB3b3JrIGFzIGEgZnJlZWxhbmNlciBhbmQgaXMgbm93IHdvcmtpbmcgb24gZG9p + bmcgcmVzZWFyY2ggYW5kIGFuYWx5c2lzIGZvciBhIG5ldyBjdXN0b21lci4iLCAidmVyYm9zZT8i + OiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAi + bGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVt + cGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9u + X2VuYWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1lcyI6IFtdfSwgeyJpZCI6ICJkNzNjMGM4ZS1l + MTFlLTQ2YjMtOTgwOS05ZTg1YWVmZDAxZGYiLCAicm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgImdv + YWwiOiAiV3JpdGUgdGhlIGJlc3QgY29udGVudCBhYm91dCBBSSBhbmQgQUkgYWdlbnRzLiIsICJi + YWNrc3RvcnkiOiAiWW91J3JlIGEgc2VuaW9yIHdyaXRlciwgc3BlY2lhbGl6ZWQgaW4gdGVjaG5v + bG9neSwgc29mdHdhcmUgZW5naW5lZXJpbmcsIEFJIGFuZCBzdGFydHVwcy4gWW91IHdvcmsgYXMg + YSBmcmVlbGFuY2VyIGFuZCBhcmUgbm93IHdvcmtpbmcgb24gd3JpdGluZyBjb250ZW50IGZvciBh + IG5ldyBjdXN0b21lci4iLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhf + cnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2Rl + bF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwi + Q2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1l + cyI6IFtdfV1KigYKCmNyZXdfdGFza3MS+wUK+AVbeyJpZCI6ICIxZTgyYzJlMC00YmExLTQ1NDkt + YmFkMy00MDRiMzRhNDVjODkiLCAiZGVzY3JpcHRpb24iOiAiR2l2ZSBtZSBhIGxpc3Qgb2YgNSBp + bnRlcmVzdGluZyBpZGVhcyB0byBleHBsb3JlIGZvciBhbiBhcnRpY2xlLCB3aGF0IG1ha2VzIHRo + ZW0gdW5pcXVlIGFuZCBpbnRlcmVzdGluZy4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIkJ1bGxldCBw + b2ludCBsaXN0IG9mIDUgaW1wb3J0YW50IGV2ZW50cy4iLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZh + bHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIlJlc2VhcmNoZXIiLCAi + Y29udGV4dCI6IG51bGwsICJ0b29sc19uYW1lcyI6IFtdfSwgeyJpZCI6ICIwYzEwNDI1OC1hNzUx + LTQ2ZDAtOWZmZi0wMGEwOTIyZjU2ZTEiLCAiZGVzY3JpcHRpb24iOiAiV3JpdGUgYW4gYW1hemlu + ZyBwYXJhZ3JhcGggaGlnaGxpZ2h0IGZvciBlYWNoIGlkZWEgdGhhdCBzaG93Y2FzZXMgaG93IGdv + b2QgYW4gYXJ0aWNsZSBhYm91dCB0aGlzIHRvcGljIGNvdWxkIGJlLiBSZXR1cm4gdGhlIGxpc3Qg + b2YgaWRlYXMgd2l0aCB0aGVpciBwYXJhZ3JhcGggYW5kIHlvdXIgbm90ZXMuIiwgImV4cGVjdGVk + X291dHB1dCI6ICJBIDQgcGFyYWdyYXBoIGFydGljbGUgYWJvdXQgQUkuIiwgImFzeW5jX2V4ZWN1 + dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJTZW5p + b3IgV3JpdGVyIiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX1dSigKCHBsYXRm + b3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoG + MjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJo + CmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAy + MDI0OyByb290OnhudS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxIC + GAp6AhgBhQEAAQAAEoQRChDUOSMr/tJBBCVW/uM5oOCoEghuvfdDCO8LnioMQ3JldyBDcmVhdGVk + MAE5MGArbiCV4BdB6F8tbiCV4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44ShoKDnB5dGhv + bl92ZXJzaW9uEggKBjMuMTIuM0oxCgdjcmV3X2lkEiYKJGYxOTE3YjBiLWU1YWYtNGNiNi1iYTA0 + LWQ2MGY1NjYyZDc1NEoeCgxjcmV3X3Byb2Nlc3MSDgoMaGllcmFyY2hpY2FsShEKC2NyZXdfbWVt + b3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdl + bnRzEgIYAkrvCAoLY3Jld19hZ2VudHMS3wgK3AhbeyJpZCI6ICI4OThlNGE2Zi1hMzY1LTQzMzEt + YjgzOS02YTdkNmIzNzY5ZmIiLCAicm9sZSI6ICJSZXNlYXJjaGVyIiwgImdvYWwiOiAiTWFrZSB0 + aGUgYmVzdCByZXNlYXJjaCBhbmQgYW5hbHlzaXMgb24gY29udGVudCBhYm91dCBBSSBhbmQgQUkg + YWdlbnRzIiwgImJhY2tzdG9yeSI6ICJZb3UncmUgYW4gZXhwZXJ0IHJlc2VhcmNoZXIsIHNwZWNp + YWxpemVkIGluIHRlY2hub2xvZ3ksIHNvZnR3YXJlIGVuZ2luZWVyaW5nLCBBSSBhbmQgc3RhcnR1 + cHMuIFlvdSB3b3JrIGFzIGEgZnJlZWxhbmNlciBhbmQgaXMgbm93IHdvcmtpbmcgb24gZG9pbmcg + cmVzZWFyY2ggYW5kIGFuYWx5c2lzIGZvciBhIG5ldyBjdXN0b21lci4iLCAidmVyYm9zZT8iOiBm + YWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxt + IjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVy + YXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2Vu + YWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1lcyI6IFtdfSwgeyJpZCI6ICJkNzNjMGM4ZS1lMTFl + LTQ2YjMtOTgwOS05ZTg1YWVmZDAxZGYiLCAicm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgImdvYWwi + OiAiV3JpdGUgdGhlIGJlc3QgY29udGVudCBhYm91dCBBSSBhbmQgQUkgYWdlbnRzLiIsICJiYWNr + c3RvcnkiOiAiWW91J3JlIGEgc2VuaW9yIHdyaXRlciwgc3BlY2lhbGl6ZWQgaW4gdGVjaG5vbG9n + eSwgc29mdHdhcmUgZW5naW5lZXJpbmcsIEFJIGFuZCBzdGFydHVwcy4gWW91IHdvcmsgYXMgYSBm + cmVlbGFuY2VyIGFuZCBhcmUgbm93IHdvcmtpbmcgb24gd3JpdGluZyBjb250ZW50IGZvciBhIG5l + dyBjdXN0b21lci4iLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBt + IjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9u + YW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hh + dE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1lcyI6 + IFtdfV1KgQQKCmNyZXdfdGFza3MS8gMK7wNbeyJpZCI6ICI3ZDFkZWQyZS0wOWIxLTQ4MWEtOTYz + ZS02Y2Q2ZWMxODEwOTEiLCAiZGVzY3JpcHRpb24iOiAiQ29tZSB1cCB3aXRoIGEgbGlzdCBvZiA1 + IGludGVyZXN0aW5nIGlkZWFzIHRvIGV4cGxvcmUgZm9yIGFuIGFydGljbGUsIHRoZW4gd3JpdGUg + b25lIGFtYXppbmcgcGFyYWdyYXBoIGhpZ2hsaWdodCBmb3IgZWFjaCBpZGVhIHRoYXQgc2hvd2Nh + c2VzIGhvdyBnb29kIGFuIGFydGljbGUgYWJvdXQgdGhpcyB0b3BpYyBjb3VsZCBiZS4gUmV0dXJu + IHRoZSBsaXN0IG9mIGlkZWFzIHdpdGggdGhlaXIgcGFyYWdyYXBoIGFuZCB5b3VyIG5vdGVzLiIs + ICJleHBlY3RlZF9vdXRwdXQiOiAiNSBidWxsZXQgcG9pbnRzIHdpdGggYSBwYXJhZ3JhcGggZm9y + IGVhY2ggaWRlYS4iLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/Ijog + ZmFsc2UsICJhZ2VudF9yb2xlIjogIk5vbmUiLCAiY29udGV4dCI6IG51bGwsICJ0b29sc19uYW1l + cyI6IFtdfV1KKAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQcGxh + dGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lzdGVtEggKBkRhcndpbkp8ChBw + bGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBNYXkg + IDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9BUk02 + NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAASnAEKEAcdS444ukua2mrjXsFnGSASCIITYRay + 2+zjKgpUb29sIFVzYWdlMAE5KOrWfCCV4BdBUAfYfCCV4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoG + MC4zNS44SigKCXRvb2xfbmFtZRIbChlEZWxlZ2F0ZSB3b3JrIHRvIGNvd29ya2VySg4KCGF0dGVt + cHRzEgIYAXoCGAGFAQABAAASnAEKECpLHML54ukAX2gn+iRp53ISCNfVC61Yfkf+KgpUb29sIFVz + YWdlMAE5OPmYhyCV4BdBUO+ZhyCV4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44SigKCXRv + b2xfbmFtZRIbChlEZWxlZ2F0ZSB3b3JrIHRvIGNvd29ya2VySg4KCGF0dGVtcHRzEgIYAXoCGAGF + AQABAAAShBEKEE0UNrtMzJLc1zfmoG7txq8SCKqFlQzHNhYJKgxDcmV3IENyZWF0ZWQwATmQGYOO + IJXgF0GY4oSOIJXgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0aG9uX3ZlcnNp + b24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokNDAyNjAwOWMtNWZjOC00M2I4LTg2ZjYtNTk5Yjhm + MDc4NTg3Sh4KDGNyZXdfcHJvY2VzcxIOCgxoaWVyYXJjaGljYWxKEQoLY3Jld19tZW1vcnkSAhAA + ShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgC + Su8ICgtjcmV3X2FnZW50cxLfCArcCFt7ImlkIjogIjg5OGU0YTZmLWEzNjUtNDMzMS1iODM5LTZh + N2Q2YjM3NjlmYiIsICJyb2xlIjogIlJlc2VhcmNoZXIiLCAiZ29hbCI6ICJNYWtlIHRoZSBiZXN0 + IHJlc2VhcmNoIGFuZCBhbmFseXNpcyBvbiBjb250ZW50IGFib3V0IEFJIGFuZCBBSSBhZ2VudHMi + LCAiYmFja3N0b3J5IjogIllvdSdyZSBhbiBleHBlcnQgcmVzZWFyY2hlciwgc3BlY2lhbGl6ZWQg + aW4gdGVjaG5vbG9neSwgc29mdHdhcmUgZW5naW5lZXJpbmcsIEFJIGFuZCBzdGFydHVwcy4gWW91 + IHdvcmsgYXMgYSBmcmVlbGFuY2VyIGFuZCBpcyBub3cgd29ya2luZyBvbiBkb2luZyByZXNlYXJj + aCBhbmQgYW5hbHlzaXMgZm9yIGEgbmV3IGN1c3RvbWVyLiIsICJ2ZXJib3NlPyI6IGZhbHNlLCAi + bWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxsLCAiaTE4biI6IG51bGwsICJsbG0iOiAie1wi + bmFtZVwiOiBudWxsLCBcIm1vZGVsX25hbWVcIjogXCJncHQtNG9cIiwgXCJ0ZW1wZXJhdHVyZVwi + OiAwLjcsIFwiY2xhc3NcIjogXCJDaGF0T3BlbkFJXCJ9IiwgImRlbGVnYXRpb25fZW5hYmxlZD8i + OiBmYWxzZSwgInRvb2xzX25hbWVzIjogW119LCB7ImlkIjogImQ3M2MwYzhlLWUxMWUtNDZiMy05 + ODA5LTllODVhZWZkMDFkZiIsICJyb2xlIjogIlNlbmlvciBXcml0ZXIiLCAiZ29hbCI6ICJXcml0 + ZSB0aGUgYmVzdCBjb250ZW50IGFib3V0IEFJIGFuZCBBSSBhZ2VudHMuIiwgImJhY2tzdG9yeSI6 + ICJZb3UncmUgYSBzZW5pb3Igd3JpdGVyLCBzcGVjaWFsaXplZCBpbiB0ZWNobm9sb2d5LCBzb2Z0 + d2FyZSBlbmdpbmVlcmluZywgQUkgYW5kIHN0YXJ0dXBzLiBZb3Ugd29yayBhcyBhIGZyZWVsYW5j + ZXIgYW5kIGFyZSBub3cgd29ya2luZyBvbiB3cml0aW5nIGNvbnRlbnQgZm9yIGEgbmV3IGN1c3Rv + bWVyLiIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxs + LCAiaTE4biI6IG51bGwsICJsbG0iOiAie1wibmFtZVwiOiBudWxsLCBcIm1vZGVsX25hbWVcIjog + XCJncHQtNG9cIiwgXCJ0ZW1wZXJhdHVyZVwiOiAwLjcsIFwiY2xhc3NcIjogXCJDaGF0T3BlbkFJ + XCJ9IiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgInRvb2xzX25hbWVzIjogW119XUqB + BAoKY3Jld190YXNrcxLyAwrvA1t7ImlkIjogIjI3MzQ4ZDM5LTIyZWYtNDFmNy05ODY4LTYxZjU3 + NjI2NjVlMyIsICJkZXNjcmlwdGlvbiI6ICJDb21lIHVwIHdpdGggYSBsaXN0IG9mIDUgaW50ZXJl + c3RpbmcgaWRlYXMgdG8gZXhwbG9yZSBmb3IgYW4gYXJ0aWNsZSwgdGhlbiB3cml0ZSBvbmUgYW1h + emluZyBwYXJhZ3JhcGggaGlnaGxpZ2h0IGZvciBlYWNoIGlkZWEgdGhhdCBzaG93Y2FzZXMgaG93 + IGdvb2QgYW4gYXJ0aWNsZSBhYm91dCB0aGlzIHRvcGljIGNvdWxkIGJlLiBSZXR1cm4gdGhlIGxp + c3Qgb2YgaWRlYXMgd2l0aCB0aGVpciBwYXJhZ3JhcGggYW5kIHlvdXIgbm90ZXMuIiwgImV4cGVj + dGVkX291dHB1dCI6ICI1IGJ1bGxldCBwb2ludHMgd2l0aCBhIHBhcmFncmFwaCBmb3IgZWFjaCBp + ZGVhLiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwg + ImFnZW50X3JvbGUiOiAiTm9uZSIsICJjb250ZXh0IjogbnVsbCwgInRvb2xzX25hbWVzIjogW119 + XUooCghwbGF0Zm9ybRIcChptYWNPUy0xNC41LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9y + ZWxlYXNlEggKBjIzLjUuMEobCg9wbGF0Zm9ybV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3Jt + X3ZlcnNpb24SaApmRGFyd2luIEtlcm5lbCBWZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDox + Mjo1OCBQRFQgMjAyNDsgcm9vdDp4bnUtMTAwNjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAw + SgoKBGNwdXMSAhgKegIYAYUBAAEAABKgDwoQvLT1r5R3c46MFcJVVxfK2xII2kJNbVaIuWEqDENy + ZXcgQ3JlYXRlZDABOVha1I4gleAXQcjo1Y4gleAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUu + OEoaCg5weXRob25fdmVyc2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBImCiQ5Zjg5MjdjNy1iNTg5 + LTQxYTAtYjZiNy1mMGVhZjI2ZWJiN2VKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoL + Y3Jld19tZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251bWJl + cl9vZl9hZ2VudHMSAhgCStQICgtjcmV3X2FnZW50cxLECArBCFt7ImlkIjogIjRhOWFiYWU1LTI1 + ZDEtNDU2Yi1hOGM3LTE5YzA2YzA1ZGVkNiIsICJyb2xlIjogIkNFTyIsICJnb2FsIjogIk1ha2Ug + c3VyZSB0aGUgd3JpdGVycyBpbiB5b3VyIGNvbXBhbnkgcHJvZHVjZSBhbWF6aW5nIGNvbnRlbnQu + IiwgImJhY2tzdG9yeSI6ICJZb3UncmUgYW4gbG9uZyB0aW1lIENFTyBvZiBhIGNvbnRlbnQgY3Jl + YXRpb24gYWdlbmN5IHdpdGggYSBTZW5pb3IgV3JpdGVyIG9uIHRoZSB0ZWFtLiBZb3UncmUgbm93 + IHdvcmtpbmcgb24gYSBuZXcgcHJvamVjdCBhbmQgd2FudCB0byBtYWtlIHN1cmUgdGhlIGNvbnRl + bnQgcHJvZHVjZWQgaXMgYW1hemluZy4iLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjog + MjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVs + bCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNs + YXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogdHJ1ZSwgInRv + b2xzX25hbWVzIjogW119LCB7ImlkIjogImQ3M2MwYzhlLWUxMWUtNDZiMy05ODA5LTllODVhZWZk + MDFkZiIsICJyb2xlIjogIlNlbmlvciBXcml0ZXIiLCAiZ29hbCI6ICJXcml0ZSB0aGUgYmVzdCBj + b250ZW50IGFib3V0IEFJIGFuZCBBSSBhZ2VudHMuIiwgImJhY2tzdG9yeSI6ICJZb3UncmUgYSBz + ZW5pb3Igd3JpdGVyLCBzcGVjaWFsaXplZCBpbiB0ZWNobm9sb2d5LCBzb2Z0d2FyZSBlbmdpbmVl + cmluZywgQUkgYW5kIHN0YXJ0dXBzLiBZb3Ugd29yayBhcyBhIGZyZWVsYW5jZXIgYW5kIGFyZSBu + b3cgd29ya2luZyBvbiB3cml0aW5nIGNvbnRlbnQgZm9yIGEgbmV3IGN1c3RvbWVyLiIsICJ2ZXJi + b3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxsLCAiaTE4biI6IG51 + bGwsICJsbG0iOiAie1wibmFtZVwiOiBudWxsLCBcIm1vZGVsX25hbWVcIjogXCJncHQtNG9cIiwg + XCJ0ZW1wZXJhdHVyZVwiOiAwLjcsIFwiY2xhc3NcIjogXCJDaGF0T3BlbkFJXCJ9IiwgImRlbGVn + YXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgInRvb2xzX25hbWVzIjogW119XUq6AgoKY3Jld190YXNr + cxKrAgqoAlt7ImlkIjogIjRkYzRkNGNmLTZlYzQtNGU5NC04YWEwLWQ2ZjMxMDY0YmQwMiIsICJk + ZXNjcmlwdGlvbiI6ICJQcm9kdWNlIGFuZCBhbWF6aW5nIDEgcGFyYWdyYXBoIGRyYWZ0IG9mIGFu + IGFydGljbGUgYWJvdXQgQUkgQWdlbnRzLiIsICJleHBlY3RlZF9vdXRwdXQiOiAiQSA0IHBhcmFn + cmFwaCBhcnRpY2xlIGFib3V0IEFJLiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1h + bl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiQ0VPIiwgImNvbnRleHQiOiBudWxsLCAi + dG9vbHNfbmFtZXMiOiBbXX1dSigKCHBsYXRmb3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJtLTY0 + Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRIICgZE + YXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMuNS4w + OiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290OnhudS0xMDA2My4xMjEuM341L1JF + TEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEAAQAAEnsKEJeejNeFY7rswHyX/8yU + Pj8SCHjcyLkVglTaKgxUYXNrIENyZWF0ZWQwATl4EQKPIJXgF0HoKAKPIJXgF0oxCgd0YXNrX2lk + EiYKJDRkYzRkNGNmLTZlYzQtNGU5NC04YWEwLWQ2ZjMxMDY0YmQwMnoCGAGFAQABAAASnAEKEEnt + kmO34Ic4wSWf5rh+lVoSCP1yfM5RjT4/KgpUb29sIFVzYWdlMAE5uKMzlSCV4BdBQLE0lSCV4BdK + GgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44SigKCXRvb2xfbmFtZRIbChlEZWxlZ2F0ZSB3b3Jr + IHRvIGNvd29ya2VySg4KCGF0dGVtcHRzEgIYAXoCGAGFAQABAAASpBEKEA9dq22Hk00eKHyU0Co3 + xP8SCAmB+UxnugotKgxDcmV3IENyZWF0ZWQwATkA1mSZIJXgF0HAqmaZIJXgF0oaCg5jcmV3YWlf + dmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQS + JgokN2RlZTJmODItMjk1Ny00MmFhLTgwOTgtODY5NTg2MTNmOWQwShwKDGNyZXdfcHJvY2VzcxIM + CgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxIC + GAJKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAkrvCAoLY3Jld19hZ2VudHMS3wgK3AhbeyJp + ZCI6ICI4OThlNGE2Zi1hMzY1LTQzMzEtYjgzOS02YTdkNmIzNzY5ZmIiLCAicm9sZSI6ICJSZXNl + YXJjaGVyIiwgImdvYWwiOiAiTWFrZSB0aGUgYmVzdCByZXNlYXJjaCBhbmQgYW5hbHlzaXMgb24g + Y29udGVudCBhYm91dCBBSSBhbmQgQUkgYWdlbnRzIiwgImJhY2tzdG9yeSI6ICJZb3UncmUgYW4g + ZXhwZXJ0IHJlc2VhcmNoZXIsIHNwZWNpYWxpemVkIGluIHRlY2hub2xvZ3ksIHNvZnR3YXJlIGVu + Z2luZWVyaW5nLCBBSSBhbmQgc3RhcnR1cHMuIFlvdSB3b3JrIGFzIGEgZnJlZWxhbmNlciBhbmQg + aXMgbm93IHdvcmtpbmcgb24gZG9pbmcgcmVzZWFyY2ggYW5kIGFuYWx5c2lzIGZvciBhIG5ldyBj + dXN0b21lci4iLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjog + bnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1l + XCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9w + ZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1lcyI6IFtd + fSwgeyJpZCI6ICJkNzNjMGM4ZS1lMTFlLTQ2YjMtOTgwOS05ZTg1YWVmZDAxZGYiLCAicm9sZSI6 + ICJTZW5pb3IgV3JpdGVyIiwgImdvYWwiOiAiV3JpdGUgdGhlIGJlc3QgY29udGVudCBhYm91dCBB + SSBhbmQgQUkgYWdlbnRzLiIsICJiYWNrc3RvcnkiOiAiWW91J3JlIGEgc2VuaW9yIHdyaXRlciwg + c3BlY2lhbGl6ZWQgaW4gdGVjaG5vbG9neSwgc29mdHdhcmUgZW5naW5lZXJpbmcsIEFJIGFuZCBz + dGFydHVwcy4gWW91IHdvcmsgYXMgYSBmcmVlbGFuY2VyIGFuZCBhcmUgbm93IHdvcmtpbmcgb24g + d3JpdGluZyBjb250ZW50IGZvciBhIG5ldyBjdXN0b21lci4iLCAidmVyYm9zZT8iOiBmYWxzZSwg + Im1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntc + Im5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVc + IjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/ + IjogZmFsc2UsICJ0b29sc19uYW1lcyI6IFtdfV1KowQKCmNyZXdfdGFza3MSlAQKkQRbeyJpZCI6 + ICIwYTQxZTAwYy1kMjY5LTRlMDktOTA1MC0wZWU2NDlmNzc2OGIiLCAiZGVzY3JpcHRpb24iOiAi + UmVzZWFyY2ggQUkgYWR2YW5jZW1lbnRzLiIsICJleHBlY3RlZF9vdXRwdXQiOiAiQSBmdWxsIHJl + cG9ydCBvbiBBSSBhZHZhbmNlbWVudHMuIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1 + bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJSZXNlYXJjaGVyIiwgImNvbnRleHQi + OiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsiaWQiOiAiMjc4N2NmMzUtMTMyYi00YjZkLWE5 + N2YtZDBiYzgxNmVhMmZhIiwgImRlc2NyaXB0aW9uIjogIldyaXRlIGFib3V0IEFJIGluIGhlYWx0 + aGNhcmUuIiwgImV4cGVjdGVkX291dHB1dCI6ICJBIDQgcGFyYWdyYXBoIGFydGljbGUgYWJvdXQg + QUkuIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAi + YWdlbnRfcm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFt + ZXMiOiBbXX1dSigKCHBsYXRmb3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBs + YXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQ + cGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5 + ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290OnhudS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJN + NjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEAAQAAEnsKENrcPWz+NjL98JRQaX8J71cSCHYgWsyO + nJG0KgxUYXNrIENyZWF0ZWQwATmQyXeZIJXgF0EY3XeZIJXgF0oxCgd0YXNrX2lkEiYKJDBhNDFl + MDBjLWQyNjktNGUwOS05MDUwLTBlZTY0OWY3NzY4YnoCGAGFAQABAAASewoQVAv+ZDxv4hyhaSRf + a540dRIIGTzlq78AofYqDFRhc2sgQ3JlYXRlZDABOaBJy6EgleAXQeBoy6EgleAXSjEKB3Rhc2tf + aWQSJgokMjc4N2NmMzUtMTMyYi00YjZkLWE5N2YtZDBiYzgxNmVhMmZhegIYAYUBAAEAABJ7ChCq + cQkliuOi2GO9Qz1mh3HvEgjJlMA0JQS4wioMVGFzayBDcmVhdGVkMAE58HP/pyCV4BdBSI//pyCV + 4BdKMQoHdGFza19pZBImCiQwYTQxZTAwYy1kMjY5LTRlMDktOTA1MC0wZWU2NDlmNzc2OGJ6AhgB + hQEAAQAAEnsKELwfzofMhwbywTzIkDFGZGASCOV5LFLPO34jKgxUYXNrIENyZWF0ZWQwATkwCz+v + IJXgF0GgIj+vIJXgF0oxCgd0YXNrX2lkEiYKJDI3ODdjZjM1LTEzMmItNGI2ZC1hOTdmLWQwYmM4 + MTZlYTJmYXoCGAGFAQABAAAS/goKEBf8Y9BtkYNqHSReCVFf1VQSCORP2BbvJoqLKgxDcmV3IENy + ZWF0ZWQwATmYnPm0IJXgF0EwTvu0IJXgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoO + cHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokM2FkMTdlMzktYmFjNC00OTMw + LWFhOTgtZTdhMTU1NWI5ZTRlShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdf + bWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2Zf + YWdlbnRzEgIYAUrTBAoLY3Jld19hZ2VudHMSwwQKwARbeyJpZCI6ICI4OThlNGE2Zi1hMzY1LTQz + MzEtYjgzOS02YTdkNmIzNzY5ZmIiLCAicm9sZSI6ICJSZXNlYXJjaGVyIiwgImdvYWwiOiAiTWFr + ZSB0aGUgYmVzdCByZXNlYXJjaCBhbmQgYW5hbHlzaXMgb24gY29udGVudCBhYm91dCBBSSBhbmQg + QUkgYWdlbnRzIiwgImJhY2tzdG9yeSI6ICJZb3UncmUgYW4gZXhwZXJ0IHJlc2VhcmNoZXIsIHNw + ZWNpYWxpemVkIGluIHRlY2hub2xvZ3ksIHNvZnR3YXJlIGVuZ2luZWVyaW5nLCBBSSBhbmQgc3Rh + cnR1cHMuIFlvdSB3b3JrIGFzIGEgZnJlZWxhbmNlciBhbmQgaXMgbm93IHdvcmtpbmcgb24gZG9p + bmcgcmVzZWFyY2ggYW5kIGFuYWx5c2lzIGZvciBhIG5ldyBjdXN0b21lci4iLCAidmVyYm9zZT8i + OiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAi + bGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVt + cGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9u + X2VuYWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1lcyI6IFtdfV1KmQIKCmNyZXdfdGFza3MSigIK + hwJbeyJpZCI6ICJjYjc0OGVlZS0yNTc2LTRkZjEtODczNy03NjBmOGJiYTEwMmIiLCAiZGVzY3Jp + cHRpb24iOiAiV3JpdGUgYWJvdXQgQUkgYWR2YW5jZW1lbnRzLiIsICJleHBlY3RlZF9vdXRwdXQi + OiAiQSA0IHBhcmFncmFwaCBhcnRpY2xlIGFib3V0IEFJLiIsICJhc3luY19leGVjdXRpb24/Ijog + ZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiUmVzZWFyY2hlciIs + ICJjb250ZXh0IjogbnVsbCwgInRvb2xzX25hbWVzIjogW119XUooCghwbGF0Zm9ybRIcChptYWNP + Uy0xNC41LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjUuMEobCg9w + bGF0Zm9ybV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApmRGFyd2luIEtl + cm5lbCBWZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAyNDsgcm9vdDp4 + bnUtMTAwNjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgKegIYAYUBAAEA + ABJ7ChA0HeKXmhOk4wACV0gLdOKhEgi7u64DmKqiQCoMVGFzayBDcmVhdGVkMAE5QDkFtSCV4BdB + yEwFtSCV4BdKMQoHdGFza19pZBImCiRjYjc0OGVlZS0yNTc2LTRkZjEtODczNy03NjBmOGJiYTEw + MmJ6AhgBhQEAAQAAEnsKEKxHvzV/tFDpMrgRQtMGFwoSCAaRxNmaMAttKgxUYXNrIENyZWF0ZWQw + ATlo0+K6IJXgF0Go8uK6IJXgF0oxCgd0YXNrX2lkEiYKJGNiNzQ4ZWVlLTI1NzYtNGRmMS04NzM3 + LTc2MGY4YmJhMTAyYnoCGAGFAQABAAAS0BEKECEthcR36gnaEhSu4zWOFTgSCMx0bQu7lzR/KgxD + cmV3IENyZWF0ZWQwATkg9d7BIJXgF0Gw0eDBIJXgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1 + LjhKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokNDg1NjM3NDgtYTc3 + OC00ZjVmLTkyZmEtN2M4ZDkwMjMzZTIyShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEK + C2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAJKGwoVY3Jld19udW1i + ZXJfb2ZfYWdlbnRzEgIYAkr4CAoLY3Jld19hZ2VudHMS6AgK5QhbeyJpZCI6ICI0YTlhYmFlNS0y + NWQxLTQ1NmItYThjNy0xOWMwNmMwNWRlZDYiLCAicm9sZSI6ICJDRU8iLCAiZ29hbCI6ICJNYWtl + IHN1cmUgdGhlIHdyaXRlcnMgaW4geW91ciBjb21wYW55IHByb2R1Y2UgYW1hemluZyBjb250ZW50 + LiIsICJiYWNrc3RvcnkiOiAiWW91J3JlIGFuIGxvbmcgdGltZSBDRU8gb2YgYSBjb250ZW50IGNy + ZWF0aW9uIGFnZW5jeSB3aXRoIGEgU2VuaW9yIFdyaXRlciBvbiB0aGUgdGVhbS4gWW91J3JlIG5v + dyB3b3JraW5nIG9uIGEgbmV3IHByb2plY3QgYW5kIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSBjb250 + ZW50IHByb2R1Y2VkIGlzIGFtYXppbmcuIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6 + IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51 + bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJj + bGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IHRydWUsICJ0 + b29sc19uYW1lcyI6IFtdfSwgeyJpZCI6ICI4OThlNGE2Zi1hMzY1LTQzMzEtYjgzOS02YTdkNmIz + NzY5ZmIiLCAicm9sZSI6ICJSZXNlYXJjaGVyIiwgImdvYWwiOiAiTWFrZSB0aGUgYmVzdCByZXNl + YXJjaCBhbmQgYW5hbHlzaXMgb24gY29udGVudCBhYm91dCBBSSBhbmQgQUkgYWdlbnRzIiwgImJh + Y2tzdG9yeSI6ICJZb3UncmUgYW4gZXhwZXJ0IHJlc2VhcmNoZXIsIHNwZWNpYWxpemVkIGluIHRl + Y2hub2xvZ3ksIHNvZnR3YXJlIGVuZ2luZWVyaW5nLCBBSSBhbmQgc3RhcnR1cHMuIFlvdSB3b3Jr + IGFzIGEgZnJlZWxhbmNlciBhbmQgaXMgbm93IHdvcmtpbmcgb24gZG9pbmcgcmVzZWFyY2ggYW5k + IGFuYWx5c2lzIGZvciBhIG5ldyBjdXN0b21lci4iLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9p + dGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVc + IjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43 + LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFs + c2UsICJ0b29sc19uYW1lcyI6IFtdfV1KxgQKCmNyZXdfdGFza3MStwQKtARbeyJpZCI6ICIzZWMx + MzEwOS01OWVhLTQ1ZjQtYWE3Zi00YTUzODUzZDdlNTYiLCAiZGVzY3JpcHRpb24iOiAiV2hhdCBp + cyAyIHRpbXMgNj8gUmV0dXJuIG9ubHkgdGhlIG51bWJlci4iLCAiZXhwZWN0ZWRfb3V0cHV0Ijog + InRoZSByZXN1bHQgb2YgbXVsdGlwbGljYXRpb24iLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNl + LCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIkNFTyIsICJjb250ZXh0Ijog + bnVsbCwgInRvb2xzX25hbWVzIjogWyJtdWx0aXBsaWVyIl19LCB7ImlkIjogImU4MzM4M2FlLTc4 + NTEtNDE1OC04YmY3LTMzYjNmODg1ZDEwNiIsICJkZXNjcmlwdGlvbiI6ICJXaGF0IGlzIDIgdGlt + ZXMgNj8gUmV0dXJuIG9ubHkgdGhlIG51bWJlci4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogInRoZSBy + ZXN1bHQgb2YgbXVsdGlwbGljYXRpb24iLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVt + YW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIlJlc2VhcmNoZXIiLCAiY29udGV4dCI6 + IG51bGwsICJ0b29sc19uYW1lcyI6IFsibXVsdGlwbGllciJdfV1KKAoIcGxhdGZvcm0SHAoabWFj + T1MtMTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoP + cGxhdGZvcm1fc3lzdGVtEggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBL + ZXJuZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6 + eG51LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQAB + AAASewoQHJZ+HBqz1YfM4XlAXw/AahIIbp19oui9Hz0qDFRhc2sgQ3JlYXRlZDABOXCkDMIgleAX + QeC7DMIgleAXSjEKB3Rhc2tfaWQSJgokM2VjMTMxMDktNTllYS00NWY0LWFhN2YtNGE1Mzg1M2Q3 + ZTU2egIYAYUBAAEAABKNAQoQf6kVLEe3tMGgATv5oWxQ/RII1I55hI4VVzgqClRvb2wgVXNhZ2Uw + ATkQTpTDIJXgF0EQSJXDIJXgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGQoJdG9vbF9u + YW1lEgwKCm11bHRpcGxpZXJKDgoIYXR0ZW1wdHMSAhgBegIYAYUBAAEAABJ7ChDbSguLDWbgso7v + hJXAHrBREgjgijTewaVXSCoMVGFzayBDcmVhdGVkMAE5wHA+xCCV4BdBMIg+xCCV4BdKMQoHdGFz + a19pZBImCiRlODMzODNhZS03ODUxLTQxNTgtOGJmNy0zM2IzZjg4NWQxMDZ6AhgBhQEAAQAAEo0B + ChCARy6aWeTGZ3/eoYvAu5rYEgjaqMCbGPYW8CoKVG9vbCBVc2FnZTABOZg0UcUgleAXQbj/UcUg + leAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoZCgl0b29sX25hbWUSDAoKbXVsdGlwbGll + ckoOCghhdHRlbXB0cxICGAF6AhgBhQEAAQAAEs0JChDasqzzz/zxjktPW+NuY/rbEgjknA7g+HCH + /CoMQ3JldyBDcmVhdGVkMAE5+O3lxiCV4BdB6LToxiCV4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoG + MC4zNS44ShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuM0oxCgdjcmV3X2lkEiYKJGIyMzEzY2M3 + LWNlMGEtNGE1Ny1hYzE1LWVlM2NiYTcyNmM0OUocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlh + bEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdf + bnVtYmVyX29mX2FnZW50cxICGAFK8QIKC2NyZXdfYWdlbnRzEuECCt4CW3siaWQiOiAiYWYxYTMx + ZDItOGU4MS00M2RjLWFhOWQtZjA1NzkyMzJkZGYzIiwgInJvbGUiOiAidGVzdCByb2xlIiwgImdv + YWwiOiAidGVzdCBnb2FsIiwgImJhY2tzdG9yeSI6ICJ0ZXN0IGJhY2tzdG9yeSIsICJ2ZXJib3Nl + PyI6IHRydWUsICJtYXhfaXRlciI6IDUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAi + bGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTQtMDEyNS1wcmV2 + aWV3XCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIs + ICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1lcyI6IFtdfV1KygIKCmNy + ZXdfdGFza3MSuwIKuAJbeyJpZCI6ICIwM2ExZDllMy0yMDIzLTRhMGEtODYzNy1iYzBiNWQyNTEw + MTciLCAiZGVzY3JpcHRpb24iOiAiRG9uJ3QgZ2l2ZSBhIEZpbmFsIEFuc3dlciwgaW5zdGVhZCBr + ZWVwIHVzaW5nIHRoZSBgZ2V0X2ZpbmFsX2Fuc3dlcmAgdG9vbC4iLCAiZXhwZWN0ZWRfb3V0cHV0 + IjogIlRoZSBmaW5hbCBhbnN3ZXIuIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFu + X2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJ0ZXN0IHJvbGUiLCAiY29udGV4dCI6IG51 + bGwsICJ0b29sc19uYW1lcyI6IFsiZ2V0X2ZpbmFsX2Fuc3dlciJdfV1KKAoIcGxhdGZvcm0SHAoa + bWFjT1MtMTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBK + GwoPcGxhdGZvcm1fc3lzdGVtEggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndp + biBLZXJuZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJv + b3Q6eG51LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGF + AQABAAASewoQH8UGSispB76GK9o8hA9mPxIIydS8eV5WVvAqDFRhc2sgQ3JlYXRlZDABOUjO9sYg + leAXQdDh9sYgleAXSjEKB3Rhc2tfaWQSJgokMDNhMWQ5ZTMtMjAyMy00YTBhLTg2MzctYmMwYjVk + MjUxMDE3egIYAYUBAAEAABJoChDFz66fPkqfIZdzsVRtHd6FEgi2GzEJEb1ZSCoQVG9vbCBVc2Fn + ZSBFcnJvcjABOcCIn8ggleAXQbBboMggleAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOHoC + GAGFAQABAAASaAoQ8xL7+ZqiriEQNVCEcsDwbxIIB1akXBJsuRgqEFRvb2wgVXNhZ2UgRXJyb3Iw + ATkw3I/JIJXgF0Gwl5DJIJXgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1Ljh6AhgBhQEAAQAA + Eu0JChCit1JXJbzqyG/XQySBHajNEgi0J0Q/19DMxyoMQ3JldyBDcmVhdGVkMAE56DItzSCV4BdB + GB8vzSCV4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4zNS44ShoKDnB5dGhvbl92ZXJzaW9uEggK + BjMuMTIuM0oxCgdjcmV3X2lkEiYKJDk4YmQ3MmE0LWI2M2YtNGY1Mi1hYTFhLTdmYWQ2YTUyYzhm + MUocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jl + d19udW1iZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAFKnwMKC2Ny + ZXdfYWdlbnRzEo8DCowDW3siaWQiOiAiMWMxNDk2ZjItYmVhZS00ZjA5LWI3NDMtNjE1NzRmMDM5 + ZjY0IiwgInJvbGUiOiAie3RvcGljfSBSZXNlYXJjaGVyIiwgImdvYWwiOiAiRXhwcmVzcyBob3Qg + dGFrZXMgb24ge3RvcGljfS4iLCAiYmFja3N0b3J5IjogIllvdSBoYXZlIGEgbG90IG9mIGV4cGVy + aWVuY2Ugd2l0aCB7dG9waWN9LiIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwg + Im1heF9ycG0iOiBudWxsLCAiaTE4biI6IG51bGwsICJsbG0iOiAie1wibmFtZVwiOiBudWxsLCBc + Im1vZGVsX25hbWVcIjogXCJncHQtNG9cIiwgXCJ0ZW1wZXJhdHVyZVwiOiAwLjcsIFwiY2xhc3Nc + IjogXCJDaGF0T3BlbkFJXCJ9IiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiB0cnVlLCAidG9vbHNf + bmFtZXMiOiBbXX1dSrwCCgpjcmV3X3Rhc2tzEq0CCqoCW3siaWQiOiAiZjM4MDE0YmYtNWY2ZS00 + NWQwLThlMDgtZGE3YTFmNTQ0ZGNlIiwgImRlc2NyaXB0aW9uIjogIkdpdmUgbWUgYW4gYW5hbHlz + aXMgYXJvdW5kIHt0b3BpY30uIiwgImV4cGVjdGVkX291dHB1dCI6ICIxIGJ1bGxldCBwb2ludCBh + Ym91dCB7dG9waWN9IHRoYXQncyB1bmRlciAxNSB3b3Jkcy4iLCAiYXN5bmNfZXhlY3V0aW9uPyI6 + IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogInt0b3BpY30gUmVz + ZWFyY2hlciIsICJjb250ZXh0IjogbnVsbCwgInRvb2xzX25hbWVzIjogW119XUooCghwbGF0Zm9y + bRIcChptYWNPUy0xNC41LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIz + LjUuMEobCg9wbGF0Zm9ybV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24SaApm + RGFyd2luIEtlcm5lbCBWZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQgMjAy + NDsgcm9vdDp4bnUtMTAwNjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgK + egIYAYUBAAEAABLtCQoQ8ZBcun38V3nBT85W9GDPvBII65S3E4JQosQqDENyZXcgQ3JlYXRlZDAB + OchsQM0gleAXQWChQc0gleAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25f + dmVyc2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBImCiQzZmYzYjlmMC1iYTlhLTQ3MTMtOTZlNy01 + MDBhMTQyNzUxNzRKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkS + AhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251bWJlcl9vZl9hZ2VudHMS + AhgBSp8DCgtjcmV3X2FnZW50cxKPAwqMA1t7ImlkIjogImYxMWMxYTEyLWZmZTAtNGQwNS1hN2Zj + LTU3MTM5NDY3YjA1YiIsICJyb2xlIjogInt0b3BpY30gUmVzZWFyY2hlciIsICJnb2FsIjogIkV4 + cHJlc3MgaG90IHRha2VzIG9uIHt0b3BpY30uIiwgImJhY2tzdG9yeSI6ICJZb3UgaGF2ZSBhIGxv + dCBvZiBleHBlcmllbmNlIHdpdGgge3RvcGljfS4iLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9p + dGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVc + IjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43 + LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogdHJ1 + ZSwgInRvb2xzX25hbWVzIjogW119XUq8AgoKY3Jld190YXNrcxKtAgqqAlt7ImlkIjogIjk4ZGM5 + Y2U0LTYxMjctNGI0ZC1hM2IyLTZlZTgxMTg3NDU0NiIsICJkZXNjcmlwdGlvbiI6ICJHaXZlIG1l + IGFuIGFuYWx5c2lzIGFyb3VuZCB7dG9waWN9LiIsICJleHBlY3RlZF9vdXRwdXQiOiAiMSBidWxs + ZXQgcG9pbnQgYWJvdXQge3RvcGljfSB0aGF0J3MgdW5kZXIgMTUgd29yZHMuIiwgImFzeW5jX2V4 + ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJ7 + dG9waWN9IFJlc2VhcmNoZXIiLCAiY29udGV4dCI6IG51bGwsICJ0b29sc19uYW1lcyI6IFtdfV1K + KAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVs + ZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lzdGVtEggKBkRhcndpbkp8ChBwbGF0Zm9ybV92 + ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBNYXkgIDEgMjA6MTI6 + NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9BUk02NF9UNjAwMEoK + CgRjcHVzEgIYCnoCGAGFAQABAAASewoQ/8B1lX0E6xLkOxeqhFSrJBIIKTJFU3oZi+sqDFRhc2sg + Q3JlYXRlZDABOcBbSs0gleAXQUhvSs0gleAXSjEKB3Rhc2tfaWQSJgokOThkYzljZTQtNjEyNy00 + YjRkLWEzYjItNmVlODExODc0NTQ2egIYAYUBAAEAABLtCQoQA8eOSptC42FHsLiCGqTwoxII0szG + bcYaQ7YqDENyZXcgQ3JlYXRlZDABOQi7R84gleAXQVAmSc4gleAXShoKDmNyZXdhaV92ZXJzaW9u + EggKBjAuMzUuOEoaCg5weXRob25fdmVyc2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBImCiQ4MWE2 + ODYyMi05NjU0LTQ1N2ItYjczNC01OTczOWJlZmUyY2JKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVl + bnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUobChVj + cmV3X251bWJlcl9vZl9hZ2VudHMSAhgBSp8DCgtjcmV3X2FnZW50cxKPAwqMA1t7ImlkIjogIjc0 + NWYxMDZjLTMyMTItNGU1MC1hOGNmLTc3YWIyYjIxODc5MyIsICJyb2xlIjogInt0b3BpY30gUmVz + ZWFyY2hlciIsICJnb2FsIjogIkV4cHJlc3MgaG90IHRha2VzIG9uIHt0b3BpY30uIiwgImJhY2tz + dG9yeSI6ICJZb3UgaGF2ZSBhIGxvdCBvZiBleHBlcmllbmNlIHdpdGgge3RvcGljfS4iLCAidmVy + Ym9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBu + dWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIs + IFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxl + Z2F0aW9uX2VuYWJsZWQ/IjogdHJ1ZSwgInRvb2xzX25hbWVzIjogW119XUq8AgoKY3Jld190YXNr + cxKtAgqqAlt7ImlkIjogImFkYmU4MzBhLWQwNGQtNGFiNC04N2RhLTRmNTcxOGI2NjY2OSIsICJk + ZXNjcmlwdGlvbiI6ICJHaXZlIG1lIGFuIGFuYWx5c2lzIGFyb3VuZCB7dG9waWN9LiIsICJleHBl + Y3RlZF9vdXRwdXQiOiAiMSBidWxsZXQgcG9pbnQgYWJvdXQge3RvcGljfSB0aGF0J3MgdW5kZXIg + MTUgd29yZHMuIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZh + bHNlLCAiYWdlbnRfcm9sZSI6ICJ7dG9waWN9IFJlc2VhcmNoZXIiLCAiY29udGV4dCI6IG51bGws + ICJ0b29sc19uYW1lcyI6IFtdfV1KKAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02NC1hcm0t + NjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lzdGVtEggK + BkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lvbiAyMy41 + LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEyMS4zfjUv + UkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAASewoQa+sG6SvXaRZgto6v + 3TEbchII592/zeZwFB0qDFRhc2sgQ3JlYXRlZDABORgjUs4gleAXQbgyUs4gleAXSjEKB3Rhc2tf + aWQSJgokYWRiZTgzMGEtZDA0ZC00YWI0LTg3ZGEtNGY1NzE4YjY2NjY5egIYAYUBAAEAABLtCQoQ + TuRAf6AVeIIwJ25wdFbG0hIIQvuqO9zbZeEqDENyZXcgQ3JlYXRlZDABOZAuMs8gleAXQYB+M88g + leAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVyc2lvbhIICgYzLjEy + LjNKMQoHY3Jld19pZBImCiRjMmJlYWRlYy01YjhmLTQ4ZTUtODE1MS04Y2EyY2ZhMTc2MGVKHAoM + Y3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdfbnVt + YmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgBSp8DCgtjcmV3X2Fn + ZW50cxKPAwqMA1t7ImlkIjogImYyYjRiZDlkLTc4MDktNDg0ZC05NjA2LTgzYTRlMWU4NWFiZSIs + ICJyb2xlIjogInt0b3BpY30gUmVzZWFyY2hlciIsICJnb2FsIjogIkV4cHJlc3MgaG90IHRha2Vz + IG9uIHt0b3BpY30uIiwgImJhY2tzdG9yeSI6ICJZb3UgaGF2ZSBhIGxvdCBvZiBleHBlcmllbmNl + IHdpdGgge3RvcGljfS4iLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhf + cnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2Rl + bF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwi + Q2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogdHJ1ZSwgInRvb2xzX25hbWVz + IjogW119XUq8AgoKY3Jld190YXNrcxKtAgqqAlt7ImlkIjogIjM0YTEwNTE0LWJjNWYtNDNhMi04 + ZjdmLWZhNTZiYjgwYjMzOSIsICJkZXNjcmlwdGlvbiI6ICJHaXZlIG1lIGFuIGFuYWx5c2lzIGFy + b3VuZCB7dG9waWN9LiIsICJleHBlY3RlZF9vdXRwdXQiOiAiMSBidWxsZXQgcG9pbnQgYWJvdXQg + e3RvcGljfSB0aGF0J3MgdW5kZXIgMTUgd29yZHMuIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxz + ZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJ7dG9waWN9IFJlc2VhcmNo + ZXIiLCAiY29udGV4dCI6IG51bGwsICJ0b29sc19uYW1lcyI6IFtdfV1KKAoIcGxhdGZvcm0SHAoa + bWFjT1MtMTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBK + GwoPcGxhdGZvcm1fc3lzdGVtEggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndp + biBLZXJuZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJv + b3Q6eG51LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGF + AQABAAASewoQJhBPcpvbk2zXVYQyN59KmRIIHO84WtFHdFMqDFRhc2sgQ3JlYXRlZDABOYDFPM8g + leAXQSDVPM8gleAXSjEKB3Rhc2tfaWQSJgokMzRhMTA1MTQtYmM1Zi00M2EyLThmN2YtZmE1NmJi + ODBiMzM5egIYAYUBAAEAABLuCAoQR2iL8qNRkKwv3TkHVR+LMBII8sA28RB2fEAqDENyZXcgQ3Jl + YXRlZDABOUh0ydAgleAXQRAey9AgleAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5w + eXRob25fdmVyc2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBImCiQwMjI4NTM2Yy01ZTUwLTRhMjMt + YWRmNi1hNTEyNDNkZTFhNjVKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19t + ZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251bWJlcl9vZl9h + Z2VudHMSAhgBSuYCCgtjcmV3X2FnZW50cxLWAgrTAlt7ImlkIjogImI1NzQ4YjdmLWE5MTctNDEx + Mi04YTUzLWJkYjc3ZWJjYWMyYyIsICJyb2xlIjogInRlc3Qgcm9sZSIsICJnb2FsIjogInRlc3Qg + Z29hbCIsICJiYWNrc3RvcnkiOiAidGVzdCBiYWNrc3RvcnkiLCAidmVyYm9zZT8iOiB0cnVlLCAi + bWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxsLCAiaTE4biI6IG51bGwsICJsbG0iOiAie1wi + bmFtZVwiOiBudWxsLCBcIm1vZGVsX25hbWVcIjogXCJncHQtNG9cIiwgXCJ0ZW1wZXJhdHVyZVwi + OiAwLjcsIFwiY2xhc3NcIjogXCJDaGF0T3BlbkFJXCJ9IiwgImRlbGVnYXRpb25fZW5hYmxlZD8i + OiBmYWxzZSwgInRvb2xzX25hbWVzIjogW119XUr2AQoKY3Jld190YXNrcxLnAQrkAVt7ImlkIjog + IjY0YTAzZmY3LTRlN2UtNDM4OS1iZGU4LTdlNDQ1MTg0NTVjOCIsICJkZXNjcmlwdGlvbiI6ICJq + dXN0IHNheSBoaSEiLCAiZXhwZWN0ZWRfb3V0cHV0IjogInlvdXIgZ3JlZXRpbmciLCAiYXN5bmNf + ZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjog + InRlc3Qgcm9sZSIsICJjb250ZXh0IjogbnVsbCwgInRvb2xzX25hbWVzIjogW119XUooCghwbGF0 + Zm9ybRIcChptYWNPUy0xNC41LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggK + BjIzLjUuMEobCg9wbGF0Zm9ybV9zeXN0ZW0SCAoGRGFyd2luSnwKEHBsYXRmb3JtX3ZlcnNpb24S + aApmRGFyd2luIEtlcm5lbCBWZXJzaW9uIDIzLjUuMDogV2VkIE1heSAgMSAyMDoxMjo1OCBQRFQg + MjAyNDsgcm9vdDp4bnUtMTAwNjMuMTIxLjN+NS9SRUxFQVNFX0FSTTY0X1Q2MDAwSgoKBGNwdXMS + AhgKegIYAYUBAAEAABK+FgoQpzJX+156DCopTbWohenlKhIIEmCbtmtJBCkqDENyZXcgQ3JlYXRl + ZDABOXBiOtEgleAXQaBOPNEgleAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRo + b25fdmVyc2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBImCiQ3NGIyN2I0Mi0xMWU1LTRmZTgtYjli + OC1jNWRjMWE3NTc2Y2RKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1v + cnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYA0obChVjcmV3X251bWJlcl9vZl9hZ2Vu + dHMSAhgCSu8ICgtjcmV3X2FnZW50cxLfCArcCFt7ImlkIjogIjg5OGU0YTZmLWEzNjUtNDMzMS1i + ODM5LTZhN2Q2YjM3NjlmYiIsICJyb2xlIjogIlJlc2VhcmNoZXIiLCAiZ29hbCI6ICJNYWtlIHRo + ZSBiZXN0IHJlc2VhcmNoIGFuZCBhbmFseXNpcyBvbiBjb250ZW50IGFib3V0IEFJIGFuZCBBSSBh + Z2VudHMiLCAiYmFja3N0b3J5IjogIllvdSdyZSBhbiBleHBlcnQgcmVzZWFyY2hlciwgc3BlY2lh + bGl6ZWQgaW4gdGVjaG5vbG9neSwgc29mdHdhcmUgZW5naW5lZXJpbmcsIEFJIGFuZCBzdGFydHVw + cy4gWW91IHdvcmsgYXMgYSBmcmVlbGFuY2VyIGFuZCBpcyBub3cgd29ya2luZyBvbiBkb2luZyBy + ZXNlYXJjaCBhbmQgYW5hbHlzaXMgZm9yIGEgbmV3IGN1c3RvbWVyLiIsICJ2ZXJib3NlPyI6IGZh + bHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxsLCAiaTE4biI6IG51bGwsICJsbG0i + OiAie1wibmFtZVwiOiBudWxsLCBcIm1vZGVsX25hbWVcIjogXCJncHQtNG9cIiwgXCJ0ZW1wZXJh + dHVyZVwiOiAwLjcsIFwiY2xhc3NcIjogXCJDaGF0T3BlbkFJXCJ9IiwgImRlbGVnYXRpb25fZW5h + YmxlZD8iOiBmYWxzZSwgInRvb2xzX25hbWVzIjogW119LCB7ImlkIjogImQ3M2MwYzhlLWUxMWUt + NDZiMy05ODA5LTllODVhZWZkMDFkZiIsICJyb2xlIjogIlNlbmlvciBXcml0ZXIiLCAiZ29hbCI6 + ICJXcml0ZSB0aGUgYmVzdCBjb250ZW50IGFib3V0IEFJIGFuZCBBSSBhZ2VudHMuIiwgImJhY2tz + dG9yeSI6ICJZb3UncmUgYSBzZW5pb3Igd3JpdGVyLCBzcGVjaWFsaXplZCBpbiB0ZWNobm9sb2d5 + LCBzb2Z0d2FyZSBlbmdpbmVlcmluZywgQUkgYW5kIHN0YXJ0dXBzLiBZb3Ugd29yayBhcyBhIGZy + ZWVsYW5jZXIgYW5kIGFyZSBub3cgd29ya2luZyBvbiB3cml0aW5nIGNvbnRlbnQgZm9yIGEgbmV3 + IGN1c3RvbWVyLiIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0i + OiBudWxsLCAiaTE4biI6IG51bGwsICJsbG0iOiAie1wibmFtZVwiOiBudWxsLCBcIm1vZGVsX25h + bWVcIjogXCJncHQtNG9cIiwgXCJ0ZW1wZXJhdHVyZVwiOiAwLjcsIFwiY2xhc3NcIjogXCJDaGF0 + T3BlbkFJXCJ9IiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgInRvb2xzX25hbWVzIjog + W119XUq9CQoKY3Jld190YXNrcxKuCQqrCVt7ImlkIjogImFkNDAyZjVkLTY1ZWEtNDc5ZC05Nzcw + LTY0OWM4ZmE2NzFhMyIsICJkZXNjcmlwdGlvbiI6ICJHaXZlIG1lIGEgbGlzdCBvZiA1IGludGVy + ZXN0aW5nIGlkZWFzIHRvIGV4cGxvcmUgZm9yIGFuIGFydGljbGUsIHdoYXQgbWFrZXMgdGhlbSB1 + bmlxdWUgYW5kIGludGVyZXN0aW5nLiIsICJleHBlY3RlZF9vdXRwdXQiOiAiQnVsbGV0IHBvaW50 + IGxpc3Qgb2YgNSBpbXBvcnRhbnQgZXZlbnRzLiIsICJhc3luY19leGVjdXRpb24/IjogdHJ1ZSwg + Imh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJSZXNlYXJjaGVyIiwgImNvbnRl + eHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsiaWQiOiAiMzFjMzJlZTgtNDE3OS00OWYx + LWIyMzItZGU4ZDZiZDI3NzcyIiwgImRlc2NyaXB0aW9uIjogIlJlc2VhcmNoIHRoZSBoaXN0b3J5 + IG9mIEFJIGFuZCBnaXZlIG1lIHRoZSA1IG1vc3QgaW1wb3J0YW50IGV2ZW50cyB0aGF0IHNoYXBl + ZCB0aGUgdGVjaG5vbG9neS4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIkJ1bGxldCBwb2ludCBsaXN0 + IG9mIDUgaW1wb3J0YW50IGV2ZW50cy4iLCAiYXN5bmNfZXhlY3V0aW9uPyI6IHRydWUsICJodW1h + bl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiUmVzZWFyY2hlciIsICJjb250ZXh0Ijog + bnVsbCwgInRvb2xzX25hbWVzIjogW119LCB7ImlkIjogIjQwMDI5OGYwLWUyOGQtNGMzMC1hYWE4 + LWVmYTY2Y2JjM2QyOSIsICJkZXNjcmlwdGlvbiI6ICJXcml0ZSBhbiBhcnRpY2xlIGFib3V0IHRo + ZSBoaXN0b3J5IG9mIEFJIGFuZCBpdHMgbW9zdCBpbXBvcnRhbnQgZXZlbnRzLiIsICJleHBlY3Rl + ZF9vdXRwdXQiOiAiQSA0IHBhcmFncmFwaCBhcnRpY2xlIGFib3V0IEFJLiIsICJhc3luY19leGVj + dXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiU2Vu + aW9yIFdyaXRlciIsICJjb250ZXh0IjogWyJHaXZlIG1lIGEgbGlzdCBvZiA1IGludGVyZXN0aW5n + IGlkZWFzIHRvIGV4cGxvcmUgZm9yIGFuIGFydGljbGUsIHdoYXQgbWFrZXMgdGhlbSB1bmlxdWUg + YW5kIGludGVyZXN0aW5nLiIsICJSZXNlYXJjaCB0aGUgaGlzdG9yeSBvZiBBSSBhbmQgZ2l2ZSBt + ZSB0aGUgNSBtb3N0IGltcG9ydGFudCBldmVudHMgdGhhdCBzaGFwZWQgdGhlIHRlY2hub2xvZ3ku + Il0sICJ0b29sc19uYW1lcyI6IFtdfV1KKAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02NC1h + cm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lzdGVt + EggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lvbiAy + My41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEyMS4z + fjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAASewoQV4/rxviZoB4R + j4P600sgJxII779OH8Wl6NMqDFRhc2sgQ3JlYXRlZDABOTBITtEgleAXQaBfTtEgleAXSjEKB3Rh + c2tfaWQSJgokYWQ0MDJmNWQtNjVlYS00NzlkLTk3NzAtNjQ5YzhmYTY3MWEzegIYAYUBAAEAABJ7 + ChAjOTvGEhlSDyc5gXaS3HlEEggLg29MGYb1DSoMVGFzayBDcmVhdGVkMAE5iFdQ0SCV4BdB4HJQ + 0SCV4BdKMQoHdGFza19pZBImCiQzMWMzMmVlOC00MTc5LTQ5ZjEtYjIzMi1kZThkNmJkMjc3NzJ6 + AhgBhQEAAQAAEnsKEN7uNHPX69jFA5X+Nx/DssQSCBbvsrzedtcEKgxUYXNrIENyZWF0ZWQwATlg + PNfdIJXgF0GgW9fdIJXgF0oxCgd0YXNrX2lkEiYKJDQwMDI5OGYwLWUyOGQtNGMzMC1hYWE4LWVm + YTY2Y2JjM2QyOXoCGAGFAQABAAAS7wsKEGifpzpWIDAwWwMw8mq6F1cSCGJfF4uQ0MidKgxDcmV3 + IENyZWF0ZWQwATnYofXmIJXgF0FofvfmIJXgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhK + GgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokMjZmZWMzYTktNTNhMy00 + MjQyLWEyOTUtNzQyYzM2YTQ4NWJlShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2Ny + ZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJf + b2ZfYWdlbnRzEgIYAUrTBAoLY3Jld19hZ2VudHMSwwQKwARbeyJpZCI6ICIzMzdhZTI4MS0wZGVk + LTQ5OGYtOTZkYi1lYTcwNWY1NTZhNTkiLCAicm9sZSI6ICJSZXNlYXJjaGVyIiwgImdvYWwiOiAi + TWFrZSB0aGUgYmVzdCByZXNlYXJjaCBhbmQgYW5hbHlzaXMgb24gY29udGVudCBhYm91dCBBSSBh + bmQgQUkgYWdlbnRzIiwgImJhY2tzdG9yeSI6ICJZb3UncmUgYW4gZXhwZXJ0IHJlc2VhcmNoZXIs + IHNwZWNpYWxpemVkIGluIHRlY2hub2xvZ3ksIHNvZnR3YXJlIGVuZ2luZWVyaW5nLCBBSSBhbmQg + c3RhcnR1cHMuIFlvdSB3b3JrIGFzIGEgZnJlZWxhbmNlciBhbmQgaXMgbm93IHdvcmtpbmcgb24g + ZG9pbmcgcmVzZWFyY2ggYW5kIGFuYWx5c2lzIGZvciBhIG5ldyBjdXN0b21lci4iLCAidmVyYm9z + ZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxs + LCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwi + dGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0 + aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1lcyI6IFtdfV1KigMKCmNyZXdfdGFza3MS + +wIK+AJbeyJpZCI6ICI3MTk4NDcxOS0wY2JkLTQzMGYtOGRlYi03NTRhMjhjM2Y5NTciLCAiZGVz + Y3JpcHRpb24iOiAiR2VuZXJhdGUgYSBsaXN0IG9mIDUgaW50ZXJlc3RpbmcgaWRlYXMgdG8gZXhw + bG9yZSBmb3IgYW4gYXJ0aWNsZSwgd2hlcmUgZWFjaCBidWxsZXRwb2ludCBpcyB1bmRlciAxNSB3 + b3Jkcy4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIkJ1bGxldCBwb2ludCBsaXN0IG9mIDUgaW1wb3J0 + YW50IGV2ZW50cy4gTm8gYWRkaXRpb25hbCBjb21tZW50YXJ5LiIsICJhc3luY19leGVjdXRpb24/ + IjogdHJ1ZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJSZXNlYXJjaGVy + IiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX1dSigKCHBsYXRmb3JtEhwKGm1h + Y09TLTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsK + D3BsYXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4g + S2VybmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290 + OnhudS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEA + AQAAEnsKECXr0dTOotiXgBx+XNDW+g4SCF27uVNE70vqKgxUYXNrIENyZWF0ZWQwATnQhAHnIJXg + F0FYmAHnIJXgF0oxCgd0YXNrX2lkEiYKJDcxOTg0NzE5LTBjYmQtNDMwZi04ZGViLTc1NGEyOGMz + Zjk1N3oCGAGFAQABAAAS7xEKEIw0w2KM9M7rgxFuB730H2gSCMSiqOZyKKVUKgxDcmV3IENyZWF0 + ZWQwATkQC03pIJXgF0EQ/07pIJXgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0 + aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokZjRmOWYzNjMtNGIxMC00ODMyLWEy + MWQtZTcyMGM0ODRmYzRlShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVt + b3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGANKGwoVY3Jld19udW1iZXJfb2ZfYWdl + bnRzEgIYAUrTBAoLY3Jld19hZ2VudHMSwwQKwARbeyJpZCI6ICJjNjkzNzIzOS02NWYzLTQ2MmMt + OTE3Zi00YmJjNmRiZDNiODUiLCAicm9sZSI6ICJSZXNlYXJjaGVyIiwgImdvYWwiOiAiTWFrZSB0 + aGUgYmVzdCByZXNlYXJjaCBhbmQgYW5hbHlzaXMgb24gY29udGVudCBhYm91dCBBSSBhbmQgQUkg + YWdlbnRzIiwgImJhY2tzdG9yeSI6ICJZb3UncmUgYW4gZXhwZXJ0IHJlc2VhcmNoZXIsIHNwZWNp + YWxpemVkIGluIHRlY2hub2xvZ3ksIHNvZnR3YXJlIGVuZ2luZWVyaW5nLCBBSSBhbmQgc3RhcnR1 + cHMuIFlvdSB3b3JrIGFzIGEgZnJlZWxhbmNlciBhbmQgaXMgbm93IHdvcmtpbmcgb24gZG9pbmcg + cmVzZWFyY2ggYW5kIGFuYWx5c2lzIGZvciBhIG5ldyBjdXN0b21lci4iLCAidmVyYm9zZT8iOiBm + YWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxt + IjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVy + YXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2Vu + YWJsZWQ/IjogZmFsc2UsICJ0b29sc19uYW1lcyI6IFtdfV1KigkKCmNyZXdfdGFza3MS+wgK+Ahb + eyJpZCI6ICIwZDA4Y2FlNy0yNjRiLTQ1NjktOWRhOC03MWMyODNhNDNkZWEiLCAiZGVzY3JpcHRp + b24iOiAiR2VuZXJhdGUgYSBsaXN0IG9mIDUgaW50ZXJlc3RpbmcgaWRlYXMgdG8gZXhwbG9yZSBm + b3IgYW4gYXJ0aWNsZSwgd2hlcmUgZWFjaCBidWxsZXRwb2ludCBpcyB1bmRlciAxNSB3b3Jkcy4i + LCAiZXhwZWN0ZWRfb3V0cHV0IjogIkJ1bGxldCBwb2ludCBsaXN0IG9mIDUgaW1wb3J0YW50IGV2 + ZW50cy4gTm8gYWRkaXRpb25hbCBjb21tZW50YXJ5LiIsICJhc3luY19leGVjdXRpb24/IjogdHJ1 + ZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJSZXNlYXJjaGVyIiwgImNv + bnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsiaWQiOiAiZjZiOGU2MGMtMDJjOC00 + NTU4LWJmNWEtOGQwYTRjZjIzYWQwIiwgImRlc2NyaXB0aW9uIjogIkdlbmVyYXRlIGEgbGlzdCBv + ZiA1IGludGVyZXN0aW5nIGlkZWFzIHRvIGV4cGxvcmUgZm9yIGFuIGFydGljbGUsIHdoZXJlIGVh + Y2ggYnVsbGV0cG9pbnQgaXMgdW5kZXIgMTUgd29yZHMuIiwgImV4cGVjdGVkX291dHB1dCI6ICJO + dW1iZXJlZCBsaXN0IG9mIDUgaW1wb3J0YW50IGV2ZW50cy4gTm8gYWRkaXRpb25hbCBjb21tZW50 + YXJ5LiIsICJhc3luY19leGVjdXRpb24/IjogdHJ1ZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAi + YWdlbnRfcm9sZSI6ICJSZXNlYXJjaGVyIiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMi + OiBbXX0sIHsiaWQiOiAiNTNiY2RmMTEtZmY1OS00ZDQ0LWE4ZWItMGNmMTA0N2RmYTFiIiwgImRl + c2NyaXB0aW9uIjogIkdlbmVyYXRlIGEgbGlzdCBvZiA1IGludGVyZXN0aW5nIGlkZWFzIHRvIGV4 + cGxvcmUgZm9yIGFuIGFydGljbGUsIHdoZXJlIGVhY2ggYnVsbGV0cG9pbnQgaXMgdW5kZXIgMTUg + d29yZHMuIiwgImV4cGVjdGVkX291dHB1dCI6ICJOdW1iZXJlZCBsaXN0IHVzaW5nIFtBKSwgQiks + IEMpXSBsaXN0IG9mIDUgaW1wb3J0YW50IGV2ZW50cy4gTm8gYWRkaXRpb25hbCBjb21tZW50YXJ5 + LiIsICJhc3luY19leGVjdXRpb24/IjogdHJ1ZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdl + bnRfcm9sZSI6ICJSZXNlYXJjaGVyIiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBb + XX1dSigKCHBsYXRmb3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBsYXRmb3Jt + X3JlbGVhc2USCAoGMjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQcGxhdGZv + cm1fdmVyc2lvbhJoCmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5ICAxIDIw + OjEyOjU4IFBEVCAyMDI0OyByb290OnhudS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJNNjRfVDYw + MDBKCgoEY3B1cxICGAp6AhgBhQEAAQAAEvQUChBrbRDa50aNYO0psUpmCmlLEggyUYUcb5NNryoM + Q3JldyBDcmVhdGVkMAE52HSs6SCV4BdBQC6u6SCV4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4z + NS44ShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuM0oxCgdjcmV3X2lkEiYKJDk2MDBhMWI2LWRi + MDctNDhhYS1iMzI2LWQyNTg0MTNhNTQzMEocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoR + CgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgDShsKFWNyZXdfbnVt + YmVyX29mX2FnZW50cxICGAJK7wgKC2NyZXdfYWdlbnRzEt8ICtwIW3siaWQiOiAiODk4ZTRhNmYt + YTM2NS00MzMxLWI4MzktNmE3ZDZiMzc2OWZiIiwgInJvbGUiOiAiUmVzZWFyY2hlciIsICJnb2Fs + IjogIk1ha2UgdGhlIGJlc3QgcmVzZWFyY2ggYW5kIGFuYWx5c2lzIG9uIGNvbnRlbnQgYWJvdXQg + QUkgYW5kIEFJIGFnZW50cyIsICJiYWNrc3RvcnkiOiAiWW91J3JlIGFuIGV4cGVydCByZXNlYXJj + aGVyLCBzcGVjaWFsaXplZCBpbiB0ZWNobm9sb2d5LCBzb2Z0d2FyZSBlbmdpbmVlcmluZywgQUkg + YW5kIHN0YXJ0dXBzLiBZb3Ugd29yayBhcyBhIGZyZWVsYW5jZXIgYW5kIGlzIG5vdyB3b3JraW5n + IG9uIGRvaW5nIHJlc2VhcmNoIGFuZCBhbmFseXNpcyBmb3IgYSBuZXcgY3VzdG9tZXIuIiwgInZl + cmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjog + bnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wi + LCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVs + ZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsiaWQiOiAiZDcz + YzBjOGUtZTExZS00NmIzLTk4MDktOWU4NWFlZmQwMWRmIiwgInJvbGUiOiAiU2VuaW9yIFdyaXRl + ciIsICJnb2FsIjogIldyaXRlIHRoZSBiZXN0IGNvbnRlbnQgYWJvdXQgQUkgYW5kIEFJIGFnZW50 + cy4iLCAiYmFja3N0b3J5IjogIllvdSdyZSBhIHNlbmlvciB3cml0ZXIsIHNwZWNpYWxpemVkIGlu + IHRlY2hub2xvZ3ksIHNvZnR3YXJlIGVuZ2luZWVyaW5nLCBBSSBhbmQgc3RhcnR1cHMuIFlvdSB3 + b3JrIGFzIGEgZnJlZWxhbmNlciBhbmQgYXJlIG5vdyB3b3JraW5nIG9uIHdyaXRpbmcgY29udGVu + dCBmb3IgYSBuZXcgY3VzdG9tZXIuIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1 + LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGws + IFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFz + c1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAidG9v + bHNfbmFtZXMiOiBbXX1dSvMHCgpjcmV3X3Rhc2tzEuQHCuEHW3siaWQiOiAiMTE3M2E1OGEtMjA1 + ZC00ZjZiLTg0ZDUtN2EwZWUzNzc4MDFmIiwgImRlc2NyaXB0aW9uIjogIkdpdmUgbWUgYSBsaXN0 + IG9mIDUgaW50ZXJlc3RpbmcgaWRlYXMgdG8gZXhwbG9yZSBmb3IgbmEgYXJ0aWNsZSwgd2hhdCBt + YWtlcyB0aGVtIHVuaXF1ZSBhbmQgaW50ZXJlc3RpbmcuIiwgImV4cGVjdGVkX291dHB1dCI6ICJC + dWxsZXQgcG9pbnQgbGlzdCBvZiA1IGltcG9ydGFudCBldmVudHMuIiwgImFzeW5jX2V4ZWN1dGlv + bj8iOiB0cnVlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIlJlc2VhcmNo + ZXIiLCAiY29udGV4dCI6IG51bGwsICJ0b29sc19uYW1lcyI6IFtdfSwgeyJpZCI6ICIxNDg1YTdj + ZC03Mzk4LTRmMDUtYWI5NS05N2YwZTY2ZDdmYTUiLCAiZGVzY3JpcHRpb24iOiAiUmVzZWFyY2gg + dGhlIGhpc3Rvcnkgb2YgQUkgYW5kIGdpdmUgbWUgdGhlIDUgbW9zdCBpbXBvcnRhbnQgZXZlbnRz + IHRoYXQgc2hhcGVkIHRoZSB0ZWNobm9sb2d5LiIsICJleHBlY3RlZF9vdXRwdXQiOiAiQnVsbGV0 + IHBvaW50IGxpc3Qgb2YgNSBpbXBvcnRhbnQgZXZlbnRzLiIsICJhc3luY19leGVjdXRpb24/Ijog + dHJ1ZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJSZXNlYXJjaGVyIiwg + ImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsiaWQiOiAiYzgxZDIyZTYtMzhl + MC00YjZlLWJiZTAtOWM0ODc2NmEzODA3IiwgImRlc2NyaXB0aW9uIjogIldyaXRlIGFuIGFydGlj + bGUgYWJvdXQgdGhlIGhpc3Rvcnkgb2YgQUkgYW5kIGl0cyBtb3N0IGltcG9ydGFudCBldmVudHMu + IiwgImV4cGVjdGVkX291dHB1dCI6ICJBIDQgcGFyYWdyYXBoIGFydGljbGUgYWJvdXQgQUkuIiwg + ImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRf + cm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBb + XX1dSigKCHBsYXRmb3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBsYXRmb3Jt + X3JlbGVhc2USCAoGMjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQcGxhdGZv + cm1fdmVyc2lvbhJoCmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5ICAxIDIw + OjEyOjU4IFBEVCAyMDI0OyByb290OnhudS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJNNjRfVDYw + MDBKCgoEY3B1cxICGAp6AhgBhQEAAQAAEu0JChDmLn6wsCIcR08KRiRWr19XEgjX/HbJ8EKlnioM + Q3JldyBDcmVhdGVkMAE58A146iCV4BdBQMt56iCV4BdKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC4z + NS44ShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuM0oxCgdjcmV3X2lkEiYKJGUyMzAzMTQ5LWI1 + NzUtNGQzMi04NjhhLWE4NmExYTQ3OTlhMEocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoR + CgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdfbnVt + YmVyX29mX2FnZW50cxICGAFKnwMKC2NyZXdfYWdlbnRzEo8DCowDW3siaWQiOiAiYWY1Yjc4MzEt + YWUyNi00NzAyLWFjZTYtOGZhZTM5N2E5MWUzIiwgInJvbGUiOiAie3RvcGljfSBSZXNlYXJjaGVy + IiwgImdvYWwiOiAiRXhwcmVzcyBob3QgdGFrZXMgb24ge3RvcGljfS4iLCAiYmFja3N0b3J5Ijog + IllvdSBoYXZlIGEgbG90IG9mIGV4cGVyaWVuY2Ugd2l0aCB7dG9waWN9LiIsICJ2ZXJib3NlPyI6 + IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxsLCAiaTE4biI6IG51bGwsICJs + bG0iOiAie1wibmFtZVwiOiBudWxsLCBcIm1vZGVsX25hbWVcIjogXCJncHQtNG9cIiwgXCJ0ZW1w + ZXJhdHVyZVwiOiAwLjcsIFwiY2xhc3NcIjogXCJDaGF0T3BlbkFJXCJ9IiwgImRlbGVnYXRpb25f + ZW5hYmxlZD8iOiB0cnVlLCAidG9vbHNfbmFtZXMiOiBbXX1dSrwCCgpjcmV3X3Rhc2tzEq0CCqoC + W3siaWQiOiAiYjc2ZmIwMzMtNGFhMy00YTdhLTg4ZjYtZmI5OTZhMzk2MTUzIiwgImRlc2NyaXB0 + aW9uIjogIkdpdmUgbWUgYW4gYW5hbHlzaXMgYXJvdW5kIHt0b3BpY30uIiwgImV4cGVjdGVkX291 + dHB1dCI6ICIxIGJ1bGxldCBwb2ludCBhYm91dCB7dG9waWN9IHRoYXQncyB1bmRlciAxNSB3b3Jk + cy4iLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJh + Z2VudF9yb2xlIjogInt0b3BpY30gUmVzZWFyY2hlciIsICJjb250ZXh0IjogbnVsbCwgInRvb2xz + X25hbWVzIjogW119XUooCghwbGF0Zm9ybRIcChptYWNPUy0xNC41LWFybTY0LWFybS02NGJpdEoc + ChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjUuMEobCg9wbGF0Zm9ybV9zeXN0ZW0SCAoGRGFyd2lu + SnwKEHBsYXRmb3JtX3ZlcnNpb24SaApmRGFyd2luIEtlcm5lbCBWZXJzaW9uIDIzLjUuMDogV2Vk + IE1heSAgMSAyMDoxMjo1OCBQRFQgMjAyNDsgcm9vdDp4bnUtMTAwNjMuMTIxLjN+NS9SRUxFQVNF + X0FSTTY0X1Q2MDAwSgoKBGNwdXMSAhgKegIYAYUBAAEAABLtCQoQFpY23ztdWCcdptkTcnTJBRII + YtM4GaoVMYMqDENyZXcgQ3JlYXRlZDABOfjtiuogleAXQeg9jOogleAXShoKDmNyZXdhaV92ZXJz + aW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVyc2lvbhIICgYzLjEyLjNKMQoHY3Jld19pZBImCiRm + ZjcyMjYwMi1hYzQ5LTRmMzctOWY4OC0yOGEzYjVjMTU0NzNKHAoMY3Jld19wcm9jZXNzEgwKCnNl + cXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUob + ChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgBSp8DCgtjcmV3X2FnZW50cxKPAwqMA1t7ImlkIjog + ImVmN2Y4NzUwLTA3MjAtNDFjMy1hNTI0LTlhYzhiYjQ5YWFjMCIsICJyb2xlIjogInt0b3BpY30g + UmVzZWFyY2hlciIsICJnb2FsIjogIkV4cHJlc3MgaG90IHRha2VzIG9uIHt0b3BpY30uIiwgImJh + Y2tzdG9yeSI6ICJZb3UgaGF2ZSBhIGxvdCBvZiBleHBlcmllbmNlIHdpdGgge3RvcGljfS4iLCAi + dmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImkxOG4i + OiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6IFwiZ3B0LTRv + XCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJk + ZWxlZ2F0aW9uX2VuYWJsZWQ/IjogdHJ1ZSwgInRvb2xzX25hbWVzIjogW119XUq8AgoKY3Jld190 + YXNrcxKtAgqqAlt7ImlkIjogIjIyMThiNGY0LTY5MzUtNDljOC1iM2JiLTE1OWFhZDBhOTk3MSIs + ICJkZXNjcmlwdGlvbiI6ICJHaXZlIG1lIGFuIGFuYWx5c2lzIGFyb3VuZCB7dG9waWN9LiIsICJl + eHBlY3RlZF9vdXRwdXQiOiAiMSBidWxsZXQgcG9pbnQgYWJvdXQge3RvcGljfSB0aGF0J3MgdW5k + ZXIgMTUgd29yZHMuIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6 + IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJ7dG9waWN9IFJlc2VhcmNoZXIiLCAiY29udGV4dCI6IG51 + bGwsICJ0b29sc19uYW1lcyI6IFtdfV1KKAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuNS1hcm02NC1h + cm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41LjBKGwoPcGxhdGZvcm1fc3lzdGVt + EggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRhcndpbiBLZXJuZWwgVmVyc2lvbiAy + My41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7IHJvb3Q6eG51LTEwMDYzLjEyMS4z + fjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoCGAGFAQABAAASewoQUFF5Bczv1nH/ + 0Bv0SxlmiRIIi6bd5jlgpyAqDFRhc2sgQ3JlYXRlZDABOcizleogleAXQWjDleogleAXSjEKB3Rh + c2tfaWQSJgokMjIxOGI0ZjQtNjkzNS00OWM4LWIzYmItMTU5YWFkMGE5OTcxegIYAYUBAAEAABLt + CQoQOgCtywHuqUog4PazIjRkohIIqgWmizrZN/0qDENyZXcgQ3JlYXRlZDABOfB8G+wgleAXQYBZ + HewgleAXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMzUuOEoaCg5weXRob25fdmVyc2lvbhIICgYz + LjEyLjNKMQoHY3Jld19pZBImCiQxNGU2ZmU2Ny0zNDVjLTRlYmQtOTdhYS1jZjliNmJmYmUyNDdK + HAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdf + bnVtYmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgBSp8DCgtjcmV3 + X2FnZW50cxKPAwqMA1t7ImlkIjogIjU2MjZmZThlLTQ5OTYtNGIxOS05NDQ2LWM5M2I0MWQ3NDEy + OSIsICJyb2xlIjogInt0b3BpY30gUmVzZWFyY2hlciIsICJnb2FsIjogIkV4cHJlc3MgaG90IHRh + a2VzIG9uIHt0b3BpY30uIiwgImJhY2tzdG9yeSI6ICJZb3UgaGF2ZSBhIGxvdCBvZiBleHBlcmll + bmNlIHdpdGgge3RvcGljfS4iLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJt + YXhfcnBtIjogbnVsbCwgImkxOG4iOiBudWxsLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJt + b2RlbF9uYW1lXCI6IFwiZ3B0LTRvXCIsIFwidGVtcGVyYXR1cmVcIjogMC43LCBcImNsYXNzXCI6 + IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogdHJ1ZSwgInRvb2xzX25h + bWVzIjogW119XUq8AgoKY3Jld190YXNrcxKtAgqqAlt7ImlkIjogImQwZmVlYjk4LWU5N2QtNGUz + Yi05NjgwLTM4YjZkNGUwMTlhZSIsICJkZXNjcmlwdGlvbiI6ICJHaXZlIG1lIGFuIGFuYWx5c2lz + IGFyb3VuZCB7dG9waWN9LiIsICJleHBlY3RlZF9vdXRwdXQiOiAiMSBidWxsZXQgcG9pbnQgYWJv + dXQge3RvcGljfSB0aGF0J3MgdW5kZXIgMTUgd29yZHMuIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBm + YWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJ7dG9waWN9IFJlc2Vh + cmNoZXIiLCAiY29udGV4dCI6IG51bGwsICJ0b29sc19uYW1lcyI6IFtdfV1KKAoIcGxhdGZvcm0S + HAoabWFjT1MtMTQuNS1hcm02NC1hcm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVsZWFzZRIICgYyMy41 + LjBKGwoPcGxhdGZvcm1fc3lzdGVtEggKBkRhcndpbkp8ChBwbGF0Zm9ybV92ZXJzaW9uEmgKZkRh + cndpbiBLZXJuZWwgVmVyc2lvbiAyMy41LjA6IFdlZCBNYXkgIDEgMjA6MTI6NTggUERUIDIwMjQ7 + IHJvb3Q6eG51LTEwMDYzLjEyMS4zfjUvUkVMRUFTRV9BUk02NF9UNjAwMEoKCgRjcHVzEgIYCnoC + GAGFAQABAAAS7QkKEI52oOCCZXRtv6DCt+Fm8MYSCLS5Gboz8I65KgxDcmV3IENyZWF0ZWQwATk4 + h0HsIJXgF0Eo10LsIJXgF0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0aG9uX3Zl + cnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokYmQwZGU2YzktZDczYi00YjA4LTgzM2MtZmYx + ODY5YWQ0MzlkShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQ + AEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIY + AUqfAwoLY3Jld19hZ2VudHMSjwMKjANbeyJpZCI6ICIyODYxYWVmYi0xYWFmLTQxMjAtYmJkMS04 + YmE2NzJiNTNhYjQiLCAicm9sZSI6ICJ7dG9waWN9IFJlc2VhcmNoZXIiLCAiZ29hbCI6ICJFeHBy + ZXNzIGhvdCB0YWtlcyBvbiB7dG9waWN9LiIsICJiYWNrc3RvcnkiOiAiWW91IGhhdmUgYSBsb3Qg + b2YgZXhwZXJpZW5jZSB3aXRoIHt0b3BpY30uIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRl + ciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6 + IG51bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywg + XCJjbGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IHRydWUs + ICJ0b29sc19uYW1lcyI6IFtdfV1KvAIKCmNyZXdfdGFza3MSrQIKqgJbeyJpZCI6ICI1ZTQyYjAx + MS1iMDAxLTQzMzQtODhlNC01NTg0MmE4MTM2NmMiLCAiZGVzY3JpcHRpb24iOiAiR2l2ZSBtZSBh + biBhbmFseXNpcyBhcm91bmQge3RvcGljfS4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIjEgYnVsbGV0 + IHBvaW50IGFib3V0IHt0b3BpY30gdGhhdCdzIHVuZGVyIDE1IHdvcmRzLiIsICJhc3luY19leGVj + dXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAie3Rv + cGljfSBSZXNlYXJjaGVyIiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX1dSigK + CHBsYXRmb3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBsYXRmb3JtX3JlbGVh + c2USCAoGMjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQcGxhdGZvcm1fdmVy + c2lvbhJoCmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5ICAxIDIwOjEyOjU4 + IFBEVCAyMDI0OyByb290OnhudS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJNNjRfVDYwMDBKCgoE + Y3B1cxICGAp6AhgBhQEAAQAAEnsKEHPPgQIefVTh31P2Ku6dklgSCCiKgvqD3EFbKgxUYXNrIENy + ZWF0ZWQwATno/kvsIJXgF0FwEkzsIJXgF0oxCgd0YXNrX2lkEiYKJDVlNDJiMDExLWIwMDEtNDMz + NC04OGU0LTU1ODQyYTgxMzY2Y3oCGAGFAQABAAAS7QkKEBAeFmW2owY8OsQr3K2dlAgSCIl4N2Fp + tV+gKgxDcmV3IENyZWF0ZWQwATmwzKMwIZXgF0HoBKcwIZXgF0oaCg5jcmV3YWlfdmVyc2lvbhII + CgYwLjM1LjhKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4zSjEKB2NyZXdfaWQSJgokMWJhMGNh + MWUtYzBkNi00ODMwLTlhMWQtYzY5YWM3ZDVlMjYzShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50 + aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jl + d19udW1iZXJfb2ZfYWdlbnRzEgIYAUqfAwoLY3Jld19hZ2VudHMSjwMKjANbeyJpZCI6ICIzOGM2 + N2QyYi0yZGMyLTRiNWQtYWQ5Mi05NzQxNGNjMmIyNWQiLCAicm9sZSI6ICJ7dG9waWN9IFJlc2Vh + cmNoZXIiLCAiZ29hbCI6ICJFeHByZXNzIGhvdCB0YWtlcyBvbiB7dG9waWN9LiIsICJiYWNrc3Rv + cnkiOiAiWW91IGhhdmUgYSBsb3Qgb2YgZXhwZXJpZW5jZSB3aXRoIHt0b3BpY30uIiwgInZlcmJv + c2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogbnVs + bCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00b1wiLCBc + InRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBcIkNoYXRPcGVuQUlcIn0iLCAiZGVsZWdh + dGlvbl9lbmFibGVkPyI6IHRydWUsICJ0b29sc19uYW1lcyI6IFtdfV1KvAIKCmNyZXdfdGFza3MS + rQIKqgJbeyJpZCI6ICIxYWE5MmZjNS1jOGQ2LTQ0NDAtYmMxNy0yNTNhMDhmNjg4ZmMiLCAiZGVz + Y3JpcHRpb24iOiAiR2l2ZSBtZSBhbiBhbmFseXNpcyBhcm91bmQge3RvcGljfS4iLCAiZXhwZWN0 + ZWRfb3V0cHV0IjogIjEgYnVsbGV0IHBvaW50IGFib3V0IHt0b3BpY30gdGhhdCdzIHVuZGVyIDE1 + IHdvcmRzLiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxz + ZSwgImFnZW50X3JvbGUiOiAie3RvcGljfSBSZXNlYXJjaGVyIiwgImNvbnRleHQiOiBudWxsLCAi + dG9vbHNfbmFtZXMiOiBbXX1dSigKCHBsYXRmb3JtEhwKGm1hY09TLTE0LjUtYXJtNjQtYXJtLTY0 + Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsKD3BsYXRmb3JtX3N5c3RlbRIICgZE + YXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4gS2VybmVsIFZlcnNpb24gMjMuNS4w + OiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290OnhudS0xMDA2My4xMjEuM341L1JF + TEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEAAQAAEnsKEAMTCqoRPgXAGdKEbnUa + ZuESCOMfmHJQPkwkKgxUYXNrIENyZWF0ZWQwATlIj7cwIZXgF0GIrrcwIZXgF0oxCgd0YXNrX2lk + EiYKJDFhYTkyZmM1LWM4ZDYtNDQ0MC1iYzE3LTI1M2EwOGY2ODhmY3oCGAGFAQABAAAS7QkKEN6t + qHwYA4cWM9QK9hVYKKISCK7tWq0iQuM1KgxDcmV3IENyZWF0ZWQwATlAXDVrIZXgF0EYpDhrIZXg + F0oaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjM1LjhKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi4z + SjEKB2NyZXdfaWQSJgokZWNiZGU0MDktZGRkZi00MWEyLTkyMDYtMTAzNGJmZTcxZDhlShwKDGNy + ZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJl + cl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAUqfAwoLY3Jld19hZ2Vu + dHMSjwMKjANbeyJpZCI6ICIxYjgwNWE3Yy1kNGEwLTQ5NzktYmZmYi1jZDkwNzJlNDAyMWUiLCAi + cm9sZSI6ICJ7dG9waWN9IFJlc2VhcmNoZXIiLCAiZ29hbCI6ICJFeHByZXNzIGhvdCB0YWtlcyBv + biB7dG9waWN9LiIsICJiYWNrc3RvcnkiOiAiWW91IGhhdmUgYSBsb3Qgb2YgZXhwZXJpZW5jZSB3 + aXRoIHt0b3BpY30uIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3Jw + bSI6IG51bGwsICJpMThuIjogbnVsbCwgImxsbSI6ICJ7XCJuYW1lXCI6IG51bGwsIFwibW9kZWxf + bmFtZVwiOiBcImdwdC00b1wiLCBcInRlbXBlcmF0dXJlXCI6IDAuNywgXCJjbGFzc1wiOiBcIkNo + YXRPcGVuQUlcIn0iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IHRydWUsICJ0b29sc19uYW1lcyI6 + IFtdfV1KvAIKCmNyZXdfdGFza3MSrQIKqgJbeyJpZCI6ICI2MTY5NDE2My03MzI0LTQyYjctYmI5 + OC1iNzk5ODU2OWVlYzgiLCAiZGVzY3JpcHRpb24iOiAiR2l2ZSBtZSBhbiBhbmFseXNpcyBhcm91 + bmQge3RvcGljfS4iLCAiZXhwZWN0ZWRfb3V0cHV0IjogIjEgYnVsbGV0IHBvaW50IGFib3V0IHt0 + b3BpY30gdGhhdCdzIHVuZGVyIDE1IHdvcmRzLiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2Us + ICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAie3RvcGljfSBSZXNlYXJjaGVy + IiwgImNvbnRleHQiOiBudWxsLCAidG9vbHNfbmFtZXMiOiBbXX1dSigKCHBsYXRmb3JtEhwKGm1h + Y09TLTE0LjUtYXJtNjQtYXJtLTY0Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuNS4wShsK + D3BsYXRmb3JtX3N5c3RlbRIICgZEYXJ3aW5KfAoQcGxhdGZvcm1fdmVyc2lvbhJoCmZEYXJ3aW4g + S2VybmVsIFZlcnNpb24gMjMuNS4wOiBXZWQgTWF5ICAxIDIwOjEyOjU4IFBEVCAyMDI0OyByb290 + OnhudS0xMDA2My4xMjEuM341L1JFTEVBU0VfQVJNNjRfVDYwMDBKCgoEY3B1cxICGAp6AhgBhQEA + AQAAEnsKEDUV4IgS/1JLDDTdKh+QacESCC3PEZwZUMY1KgxUYXNrIENyZWF0ZWQwATnYEktrIZXg + F0HoOUtrIZXgF0oxCgd0YXNrX2lkEiYKJDYxNjk0MTYzLTczMjQtNDJiNy1iYjk4LWI3OTk4NTY5 + ZWVjOHoCGAGFAQABAAA= + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '48236' + Content-Type: + - application/x-protobuf + User-Agent: + - OTel-OTLP-Exporter-Python/1.25.0 + method: POST + uri: https://telemetry.crewai.com:4319/v1/traces + response: + body: + string: "\n\0" + headers: + Content-Length: + - '2' + Content-Type: + - application/x-protobuf + Date: + - Tue, 09 Jul 2024 15:30:28 GMT + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"content": "You are apple Researcher. You have a lot of + experience with apple.\nYour personal goal is: Express hot takes on apple.To + give my best complete final answer to the task use the exact following format:\n\nThought: + I now can give a great answer\nFinal Answer: my best complete final answer to + the task.\nYour final answer must be the great and the most complete as possible, + it must be outcome described.\n\nI MUST use these formats, my job depends on + it!\nCurrent Task: Give me an analysis around apple.\n\nThis is the expect criteria + for your final answer: 1 bullet point about apple that''s under 15 words. \n + you MUST return the actual complete content as the final answer, not a summary.\n\nBegin! + This is VERY important to you, use the tools available and give your best Final + Answer, your job depends on it!\n\nThought:\n", "role": "user"}], "model": "gpt-4o", + "n": 1, "stop": ["\nObservation"], "stream": true, "temperature": 0.7}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '961' + content-type: + - application/json + cookie: + - __cf_bm=toUhZRd6vEdcHdBbyreL0QWCyPtBo2jeYECuNnqvlNU-1720539026-1.0.1.1-kR.lmT6su6_RoLofxhsfPA152PyhW_ZrV8er4rjZpRgkVZZhz4PFfnjcbXvfjmHcRBP5PeFBOmqwGGly5v.TJQ; + _cfuvid=RWdzYCK2glR_iVTUCTf6Z_DHeBgBTn1iDUvjJB35tNI-1720539026949-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.35.10 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.35.10 + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.3 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: 'data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"I"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + now"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + can"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + give"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + a"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + great"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":".\n"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + Answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + Apple''s"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + ecosystem"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + creates"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + unparalleled"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + user"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + integration"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + and"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + premium"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + experiences"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + unmatched"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + by"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + competitors"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j75QX0QkIZV2Zua86sGUz8Rjv731","object":"chat.completion.chunk","created":1720539028,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]} + + + data: [DONE] + + + ' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8a095affcc3d53ec-ATL + Connection: + - keep-alive + Content-Type: + - text/event-stream; charset=utf-8 + Date: + - Tue, 09 Jul 2024 15:30:28 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '97' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '22000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '21999781' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_025064933750641452581bd862ec47a8 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_kickoff_for_each_single_input.yaml b/tests/cassettes/test_kickoff_for_each_single_input.yaml new file mode 100644 index 000000000..1388fb986 --- /dev/null +++ b/tests/cassettes/test_kickoff_for_each_single_input.yaml @@ -0,0 +1,192 @@ +interactions: +- request: + body: '{"messages": [{"content": "You are dog Researcher. You have a lot of experience + with dog.\nYour personal goal is: Express hot takes on dog.To give my best complete + final answer to the task use the exact following format:\n\nThought: I now can + give a great answer\nFinal Answer: my best complete final answer to the task.\nYour + final answer must be the great and the most complete as possible, it must be + outcome described.\n\nI MUST use these formats, my job depends on it!\nCurrent + Task: Give me an analysis around dog.\n\nThis is the expect criteria for your + final answer: 1 bullet point about dog that''s under 15 words. \n you MUST return + the actual complete content as the final answer, not a summary.\n\nBegin! This + is VERY important to you, use the tools available and give your best Final Answer, + your job depends on it!\n\nThought:\n", "role": "user"}], "model": "gpt-4o", + "n": 1, "stop": ["\nObservation"], "stream": true, "temperature": 0.7}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '951' + content-type: + - application/json + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.35.10 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.35.10 + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.3 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: 'data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + I"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + now"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + can"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + give"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + a"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + great"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + Answer"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + Dogs"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + are"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + unparalleled"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + in"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + loyalty"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + and"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + companionship"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + to"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":" + humans"},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + + + data: {"id":"chatcmpl-9j74gJiY9YxFxbeZ5jmpPclWEeaiP","object":"chat.completion.chunk","created":1720538982,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]} + + + data: [DONE] + + + ' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8a0959de6b916783-ATL + Connection: + - keep-alive + Content-Type: + - text/event-stream; charset=utf-8 + Date: + - Tue, 09 Jul 2024 15:29:42 GMT + Server: + - cloudflare + Set-Cookie: + - __cf_bm=LA.xC.jE_aMjiSgGgU6kDsBPhb_akgqn_4Rx.jXYfnQ-1720538982-1.0.1.1-l5Q1BHprIz5Jxb4HWyYsMfbg6mEnP2H95Vxt89ez24pKOb__90s8LJBBqK52zmPNcPYSSUcaR0wRAaSVFoa4Fw; + path=/; expires=Tue, 09-Jul-24 15:59:42 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=zzJ51X.VwRkIq7VLCg9xPQGbXoUmAH6b.2g6sf6Y58Y-1720538982657-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '240' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '22000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '21999783' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_abdec68aded596628dfd5b999919447d + status: + code: 200 + message: OK +version: 1 diff --git a/tests/crew_test.py b/tests/crew_test.py index 8b5a4ec6d..829917d2d 100644 --- a/tests/crew_test.py +++ b/tests/crew_test.py @@ -144,10 +144,10 @@ def test_crew_creation(): expected_string_output = "1. **The Rise of AI in Healthcare**: The convergence of AI and healthcare is a promising frontier, offering unprecedented opportunities for disease diagnosis and patient outcome prediction. AI's potential to revolutionize healthcare lies in its capacity to synthesize vast amounts of data, generating precise and efficient results. This technological breakthrough, however, is not just about improving accuracy and efficiency; it's about saving lives. As we stand on the precipice of this transformative era, we must prepare for the complex challenges and ethical questions it poses, while embracing its ability to reshape healthcare as we know it.\n\n2. **Ethical Implications of AI**: As AI intertwines with our daily lives, it presents a complex web of ethical dilemmas. This fusion of technology, philosophy, and ethics is not merely academically intriguing but profoundly impacts the fabric of our society. The questions raised range from decision-making transparency to accountability, and from privacy to potential biases. As we navigate this ethical labyrinth, it is crucial to establish robust frameworks and regulations to ensure that AI serves humanity, and not the other way around.\n\n3. **AI and Data Privacy**: The rise of AI brings with it an insatiable appetite for data, spawning new debates around privacy rights. Balancing the potential benefits of AI with the right to privacy is a unique challenge that intersects technology, law, and human rights. In an increasingly digital world, where personal information forms the backbone of many services, we must grapple with these issues. It's time to redefine the concept of privacy and devise innovative solutions that ensure our digital footprints are not abused.\n\n4. **AI in Job Market**: The discourse around AI's impact on employment is a narrative of contrast, a tale of displacement and creation. On one hand, AI threatens to automate a multitude of jobs, on the other, it promises to create new roles that we cannot yet imagine. This intersection of technology, economics, and labor rights is a critical dialogue that will shape our future. As we stand at this crossroads, we must not only brace ourselves for the changes but also seize the opportunities that this technological wave brings.\n\n5. **Future of AI Agents**: The evolution of AI agents signifies a leap towards a future where AI is not just a tool, but a partner. These sophisticated AI agents, employed in customer service to personal assistants, are redefining our interactions with technology. As we gaze into the future of AI agents, we see a landscape of possibilities and challenges. This journey will be about harnessing the potential of AI agents while navigating the issues of trust, dependence, and ethical use." assert str(result) == expected_string_output - assert result.raw_output() == expected_string_output + assert result.raw == expected_string_output assert isinstance(result, CrewOutput) assert len(result.tasks_output) == len(tasks) - assert result.result() == [expected_string_output] + assert result.raw == expected_string_output @pytest.mark.vcr(filter_headers=["authorization"]) @@ -174,7 +174,7 @@ def test_sync_task_execution(): ) mock_task_output = TaskOutput( - description="Mock description", raw_output="mocked output", agent="mocked agent" + description="Mock description", raw="mocked output", agent="mocked agent" ) # Because we are mocking execute_sync, we never hit the underlying _execute_core @@ -210,7 +210,7 @@ def test_hierarchical_process(): result = crew.kickoff() assert ( - result.raw_output() + result.raw == "1. 'Demystifying AI: An in-depth exploration of Artificial Intelligence for the layperson' - In this piece, we will unravel the enigma of AI, simplifying its complexities into digestible information for the everyday individual. By using relatable examples and analogies, we will journey through the neural networks and machine learning algorithms that define AI, without the jargon and convoluted explanations that often accompany such topics.\n\n2. 'The Role of AI in Startups: A Game Changer?' - Startups today are harnessing the power of AI to revolutionize their businesses. This article will delve into how AI, as an innovative force, is shaping the startup ecosystem, transforming everything from customer service to product development. We'll explore real-life case studies of startups that have leveraged AI to accelerate their growth and disrupt their respective industries.\n\n3. 'AI and Ethics: Navigating the Complex Landscape' - AI brings with it not just technological advancements, but ethical dilemmas as well. This article will engage readers in a thought-provoking discussion on the ethical implications of AI, exploring issues like bias in algorithms, privacy concerns, job displacement, and the moral responsibility of AI developers. We will also discuss potential solutions and frameworks to address these challenges.\n\n4. 'Unveiling the AI Agents: The Future of Customer Service' - AI agents are poised to reshape the customer service landscape, offering businesses the ability to provide round-the-clock support and personalized experiences. In this article, we'll dive deep into the world of AI agents, examining how they work, their benefits and limitations, and how they're set to redefine customer interactions in the digital age.\n\n5. 'From Science Fiction to Reality: AI in Everyday Life' - AI, once a concept limited to the realm of sci-fi, has now permeated our daily lives. This article will highlight the ubiquitous presence of AI, from voice assistants and recommendation algorithms, to autonomous vehicles and smart homes. We'll explore how AI, in its various forms, is transforming our everyday experiences, making the future seem a lot closer than we imagined." ) @@ -248,7 +248,7 @@ def test_crew_with_delegating_agents(): result = crew.kickoff() assert ( - result.raw_output() + result.raw == "AI Agents, simply put, are intelligent systems that can perceive their environment and take actions to reach specific goals. Imagine them as digital assistants that can learn, adapt and make decisions. They operate in the realms of software or hardware, like a chatbot on a website or a self-driving car. The key to their intelligence is their ability to learn from their experiences, making them better at their tasks over time. In today's interconnected world, AI agents are transforming our lives. They enhance customer service experiences, streamline business processes, and even predict trends in data. Vehicles equipped with AI agents are making transportation safer. In healthcare, AI agents are helping to diagnose diseases, personalizing treatment plans, and monitoring patient health. As we embrace the digital era, these AI agents are not just important, they're becoming indispensable, shaping a future where technology works intuitively and intelligently to meet our needs." ) @@ -413,7 +413,7 @@ def test_api_calls_throttling(capsys): @pytest.mark.vcr(filter_headers=["authorization"]) -def test_crew_kickoff_for_each_full_ouput(): +def test_crew_kickoff_usage_metrics(): inputs = [ {"topic": "dog"}, {"topic": "cat"}, @@ -432,14 +432,11 @@ def test_crew_kickoff_for_each_full_ouput(): agent=agent, ) - crew = Crew(agents=[agent], tasks=[task], full_output=True) + crew = Crew(agents=[agent], tasks=[task]) results = crew.kickoff_for_each(inputs=inputs) assert len(results) == len(inputs) for result in results: - assert "usage_metrics" in result - assert isinstance(result["usage_metrics"], dict) - # Assert that all required keys are in usage_metrics and their values are not None for key in [ "total_tokens", @@ -447,8 +444,8 @@ def test_crew_kickoff_for_each_full_ouput(): "completion_tokens", "successful_requests", ]: - assert key in result["usage_metrics"] - assert result["usage_metrics"][key] > 0 + assert key in result.token_usage + assert result.token_usage[key] > 0 def test_agents_rpm_is_never_set_if_crew_max_RPM_is_not_set(): @@ -515,48 +512,11 @@ def test_sequential_async_task_execution_completion(): ) sequential_result = sequential_crew.kickoff() - assert sequential_result.raw_output().startswith( + assert sequential_result.raw.startswith( "**The Evolution of Artificial Intelligence: A Journey Through Milestones**" ) -@pytest.mark.vcr(filter_headers=["authorization"]) -def test_hierarchical_async_task_execution_completion(): - from langchain_openai import ChatOpenAI - - list_ideas = Task( - description="Give me a list of 5 interesting ideas to explore for na article, what makes them unique and interesting.", - expected_output="Bullet point list of 5 important events.", - agent=researcher, - async_execution=True, - ) - list_important_history = Task( - description="Research the history of AI and give me the 5 most important events that shaped the technology.", - expected_output="Bullet point list of 5 important events.", - agent=researcher, - async_execution=True, - ) - write_article = Task( - description="Write an article about the history of AI and its most important events.", - expected_output="A 4 paragraph article about AI.", - agent=writer, - context=[list_ideas, list_important_history], - ) - - hierarchical_crew = Crew( - agents=[researcher, writer], - process=Process.hierarchical, - tasks=[list_ideas, list_important_history, write_article], - manager_llm=ChatOpenAI(temperature=0, model="gpt-4"), - ) - - hierarchical_result = hierarchical_crew.kickoff() - - assert hierarchical_result.raw_output().startswith( - "The history of artificial intelligence (AI) is a fascinating journey" - ) - - @pytest.mark.vcr(filter_headers=["authorization"]) def test_single_task_with_async_execution(): @@ -581,8 +541,7 @@ def test_single_task_with_async_execution(): ) result = crew.kickoff() - print(result.raw_output()) - assert result.raw_output().startswith( + assert result.raw.startswith( "- The impact of AI agents on remote work productivity." ) @@ -615,17 +574,21 @@ def test_three_task_with_async_execution(): async_execution=True, ) - crew = Crew( - agents=[researcher_agent], - process=Process.sequential, - tasks=[bullet_list, numbered_list, letter_list], - ) + # Expected result is that we will get an error + # because a crew can end only end with one or less + # async tasks + with pytest.raises(pydantic_core._pydantic_core.ValidationError) as error: + Crew( + agents=[researcher_agent], + process=Process.sequential, + tasks=[bullet_list, numbered_list, letter_list], + ) - # Expected result is that we are going to concatenate the output from each async task. - # Because we add a buffer between each task, we should see a "----------" string - # after the first and second task in the final output. - result = crew.kickoff() - assert result.raw_output().count("\n\n----------\n\n") == 2 + assert error.value.errors()[0]["type"] == "async_task_count" + assert ( + "The crew must end with at most one asynchronous task." + in error.value.errors()[0]["msg"] + ) @pytest.mark.vcr(filter_headers=["authorization"]) @@ -649,7 +612,7 @@ async def test_crew_async_kickoff(): agent=agent, ) - crew = Crew(agents=[agent], tasks=[task], full_output=True) + crew = Crew(agents=[agent], tasks=[task]) results = await crew.kickoff_for_each_async(inputs=inputs) assert len(results) == len(inputs) @@ -662,8 +625,7 @@ async def test_crew_async_kickoff(): "successful_requests", ]: assert key in result.token_usage - # TODO: FIX THIS WHEN USAGE METRICS ARE RE-DONE - # assert result.token_usage[key] > 0 + assert result.token_usage[key] > 0 @pytest.mark.vcr(filter_headers=["authorization"]) @@ -696,7 +658,7 @@ def test_async_task_execution_call_count(): # Create a valid TaskOutput instance to mock the return value mock_task_output = TaskOutput( - description="Mock description", raw_output="mocked output", agent="mocked agent" + description="Mock description", raw="mocked output", agent="mocked agent" ) # Create a MagicMock Future instance @@ -723,10 +685,8 @@ def test_async_task_execution_call_count(): @pytest.mark.vcr(filter_headers=["authorization"]) def test_kickoff_for_each_single_input(): """Tests if kickoff_for_each works with a single input.""" - from unittest.mock import patch inputs = [{"topic": "dog"}] - expected_outputs = ["Dogs are loyal companions and popular pets."] agent = Agent( role="{topic} Researcher", @@ -740,15 +700,10 @@ def test_kickoff_for_each_single_input(): agent=agent, ) - with patch.object(Agent, "execute_task") as mock_execute_task: - mock_execute_task.side_effect = expected_outputs - crew = Crew(agents=[agent], tasks=[task]) - results = crew.kickoff_for_each(inputs=inputs) + crew = Crew(agents=[agent], tasks=[task]) + results = crew.kickoff_for_each(inputs=inputs) assert len(results) == 1 - print("RESULT:", results) - for result in results: - assert result == expected_outputs[0] @pytest.mark.vcr(filter_headers=["authorization"]) @@ -761,11 +716,6 @@ def test_kickoff_for_each_multiple_inputs(): {"topic": "cat"}, {"topic": "apple"}, ] - expected_outputs = [ - "Dogs are loyal companions and popular pets.", - "Cats are independent and low-maintenance pets.", - "Apples are a rich source of dietary fiber and vitamin C.", - ] agent = Agent( role="{topic} Researcher", @@ -779,14 +729,10 @@ def test_kickoff_for_each_multiple_inputs(): agent=agent, ) - with patch.object(Agent, "execute_task") as mock_execute_task: - mock_execute_task.side_effect = expected_outputs - crew = Crew(agents=[agent], tasks=[task]) - results = crew.kickoff_for_each(inputs=inputs) + crew = Crew(agents=[agent], tasks=[task]) + results = crew.kickoff_for_each(inputs=inputs) assert len(results) == len(inputs) - for i, res in enumerate(results): - assert res == expected_outputs[i] @pytest.mark.vcr(filter_headers=["authorization"]) @@ -1058,7 +1004,7 @@ def test_crew_function_calling_llm(): with patch.object(llm.client, "create", wraps=llm.client.create) as private_mock: @tool - def learn_about_AI(topic) -> float: + def learn_about_AI(topic) -> str: """Useful for when you need to learn about AI to write an paragraph about it.""" return "AI is a very broad field." @@ -1107,7 +1053,7 @@ def test_task_with_no_arguments(): crew = Crew(agents=[researcher], tasks=[task]) result = crew.kickoff() - assert result.raw_output() == "75" + assert result.raw == "75" def test_code_execution_flag_adds_code_tool_upon_kickoff(): @@ -1174,39 +1120,12 @@ def test_agents_do_not_get_delegation_tools_with_there_is_only_one_agent(): result = crew.kickoff() assert ( - result.raw_output() + result.raw == "Howdy! I hope this message finds you well and brings a smile to your face. Have a fantastic day!" ) assert len(agent.tools) == 0 -@pytest.mark.vcr(filter_headers=["authorization"]) -def test_agent_usage_metrics_are_captured_for_sequential_process(): - agent = Agent( - role="Researcher", - goal="Be super empathetic.", - backstory="You're love to sey howdy.", - allow_delegation=False, - ) - - task = Task(description="say howdy", expected_output="Howdy!", agent=agent) - - crew = Crew(agents=[agent], tasks=[task]) - - result = crew.kickoff() - assert result.raw_output() == "Howdy!" - - required_keys = [ - "total_tokens", - "prompt_tokens", - "completion_tokens", - "successful_requests", - ] - for key in required_keys: - assert key in crew.usage_metrics, f"Key '{key}' not found in usage_metrics" - assert crew.usage_metrics[key] > 0, f"Value for key '{key}' is zero" - - @pytest.mark.vcr(filter_headers=["authorization"]) def test_sequential_crew_creation_tasks_without_agents(): task = Task( @@ -1251,13 +1170,15 @@ def test_agent_usage_metrics_are_captured_for_hierarchical_process(): ) result = crew.kickoff() - assert result.raw_output() == '"Howdy!"' + assert result.raw == '"Howdy!"' + + print(crew.usage_metrics) assert crew.usage_metrics == { - "total_tokens": 1927, - "prompt_tokens": 1557, - "completion_tokens": 370, - "successful_requests": 4, + "total_tokens": 311, + "prompt_tokens": 224, + "completion_tokens": 87, + "successful_requests": 1, } @@ -1282,15 +1203,17 @@ def test_hierarchical_crew_creation_tasks_with_agents(): manager_llm=ChatOpenAI(model="gpt-4o"), ) crew.kickoff() + assert crew.manager_agent is not None assert crew.manager_agent.tools is not None + print("TOOL DESCRIPTION", crew.manager_agent.tools[0].description) assert crew.manager_agent.tools[0].description.startswith( - "Delegate a specific task to one of the following coworkers: [Senior Writer]" + "Delegate a specific task to one of the following coworkers: [Senior Writer, Researcher]" ) @pytest.mark.vcr(filter_headers=["authorization"]) -def test_hierarchical_crew_creation_tasks_without_async_execution(): +def test_hierarchical_crew_creation_tasks_with_async_execution(): from langchain_openai import ChatOpenAI task = Task( @@ -1485,7 +1408,7 @@ def test_tools_with_custom_caching(): from crewai_tools import tool @tool - def multiplcation_tool(first_number: int, second_number: int) -> str: + def multiplcation_tool(first_number: int, second_number: int) -> int: """Useful for when you need to multiply two numbers together.""" return first_number * second_number @@ -1547,7 +1470,7 @@ def test_tools_with_custom_caching(): input={"first_number": 2, "second_number": 6}, output=12, ) - assert result.raw_output() == "3" + assert result.raw == "3" @pytest.mark.vcr(filter_headers=["authorization"]) @@ -1646,7 +1569,7 @@ def test_manager_agent(): ) mock_task_output = TaskOutput( - description="Mock description", raw_output="mocked output", agent="mocked agent" + description="Mock description", raw="mocked output", agent="mocked agent" ) # Because we are mocking execute_sync, we never hit the underlying _execute_core diff --git a/tests/task_test.py b/tests/task_test.py index 9fd941b16..34da66776 100644 --- a/tests/task_test.py +++ b/tests/task_test.py @@ -4,12 +4,11 @@ import json from unittest.mock import MagicMock, patch import pytest -from pydantic import BaseModel -from pydantic_core import ValidationError - from crewai import Agent, Crew, Process, Task from crewai.tasks.task_output import TaskOutput from crewai.utilities.converter import Converter +from pydantic import BaseModel +from pydantic_core import ValidationError def test_task_tool_reflect_agent_tools(): @@ -109,6 +108,8 @@ def test_task_callback(): def test_task_callback_returns_task_ouput(): + from crewai.tasks.output_format import OutputFormat + researcher = Agent( role="Researcher", goal="Make the best research and analysis on content about AI and AI agents", @@ -132,6 +133,8 @@ def test_task_callback_returns_task_ouput(): task_completed.assert_called_once() callback_data = task_completed.call_args[0][0] + print("CALLBACK DATA", callback_data) + # Check if callback_data is TaskOutput object or JSON string if isinstance(callback_data, TaskOutput): callback_data = json.dumps(callback_data.model_dump()) @@ -140,11 +143,14 @@ def test_task_callback_returns_task_ouput(): output_dict = json.loads(callback_data) expected_output = { "description": task.description, - "exported_output": "exported_ok", - "raw_output": "exported_ok", + "raw": "exported_ok", + "pydantic": None, + "json_dict": None, "agent": researcher.role, "summary": "Give me a list of 5 interesting ideas to explore...", + "output_format": OutputFormat.RAW, } + print("OUTPUT DICT", output_dict) assert output_dict == expected_output @@ -220,7 +226,7 @@ def test_output_pydantic(): crew = Crew(agents=[scorer], tasks=[task]) result = crew.kickoff() - assert isinstance(result, ScoreOutput) + assert isinstance(result.pydantic, ScoreOutput) @pytest.mark.vcr(filter_headers=["authorization"]) @@ -244,7 +250,8 @@ def test_output_json(): crew = Crew(agents=[scorer], tasks=[task]) result = crew.kickoff() - assert '{\n "score": 4\n}' == result + print("RESULT JSON", result) + assert '{"score": 4}' == result.json @pytest.mark.vcr(filter_headers=["authorization"]) @@ -280,7 +287,11 @@ def test_output_pydantic_to_another_task(): crew = Crew(agents=[scorer], tasks=[task1, task2], verbose=2) result = crew.kickoff() - assert 5 == result.score + pydantic_result = result.pydantic + assert isinstance( + pydantic_result, ScoreOutput + ), "Expected pydantic result to be of type ScoreOutput" + assert 5 == pydantic_result.score @pytest.mark.vcr(filter_headers=["authorization"]) @@ -311,7 +322,7 @@ def test_output_json_to_another_task(): crew = Crew(agents=[scorer], tasks=[task1, task2]) result = crew.kickoff() - assert '{\n "score": 5\n}' == result + assert '{"score": 5}' == result.json @pytest.mark.vcr(filter_headers=["authorization"]) @@ -363,7 +374,9 @@ def test_save_task_json_output(): with patch.object(Task, "_save_file") as save_file: save_file.return_value = None crew.kickoff() - save_file.assert_called_once_with('{\n "score": 4\n}') + save_file.assert_called_once_with( + {"score": 4} + ) # TODO: @Joao, should this be a dict or a json string? @pytest.mark.vcr(filter_headers=["authorization"])