diff --git a/.gitattributes b/.gitattributes
index e72baacebdf986a724fd302643393706da3ba5c6..33404ca0be13fc468588adaea2340f8770c039c6 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -39,3 +39,6 @@ isaac_model_card_assets/perception-benchmarks.png filter=lfs diff=lfs merge=lfs
isaac_model_card_assets/scaling-law-contours.png filter=lfs diff=lfs merge=lfs -text
isaac_model_card_assets/training-data-plane.png filter=lfs diff=lfs merge=lfs -text
isaac_model_card_assets/yam-simulation-tasks.png filter=lfs diff=lfs merge=lfs -text
+tokenizer.json filter=lfs diff=lfs merge=lfs -text
+policy_normalization.json filter=lfs diff=lfs merge=lfs -text
+policy_inference_recipe.json filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..0bc845fcd3ce0721fbf8b6999a4ba8804c5d00b1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+# Local runtime caches.
+__pycache__/
+.ruff_cache/
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/README.md b/README.md
index e9a728f1211f15734bacdc9ea7e38b8c8fc695c4..53fc857be4e4fe466b6d9eca69aeb7194945e22b 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
---
language:
- en
+license: apache-2.0
tags:
- robotics
- vision-language-model
@@ -8,8 +9,6 @@ tags:
- embodied-ai
---
-
-
# Isaac 0.5 by Perceptron
Introducing Isaac 0.5, our open foundation model for robot learning.
@@ -18,13 +17,30 @@ Isaac 0.5 brings multimodal video understanding, embodied reasoning, spatial gro
To our knowledge, Isaac 0.5 is the first open model operating at the frontier of multimodal video understanding, embodied reasoning, and robot control.
-**[Read the paper](https://pub-d90b81cad7254a1aa6b148ac18153c0c.r2.dev/isaac-0.5.pdf) · [Download the weights (COMING SOON)](https://huggingface.co/PerceptronAI/Isaac-0.5) · [View the code](https://github.com/perceptron-ai-inc/isaac)**
+**[Read the paper](https://pub-d90b81cad7254a1aa6b148ac18153c0c.r2.dev/isaac-0.5.pdf) · [Download the weights](https://huggingface.co/PerceptronAI/Isaac-0.5) · [View the code](https://github.com/perceptron-ai-inc/isaac)**
+
+## Using this checkpoint
+
+This checkpoint is consumed through the [Perceptron Isaac repository](https://github.com/perceptron-ai-inc/isaac). Direct Transformers and stock LeRobot usage are not currently supported. It is compatible with [Perceptron Isaac commit `be6507b`](https://github.com/perceptron-ai-inc/isaac/commit/be6507b4aed7472f2029606c22684d4ebc9d73e6).
+
+```bash
+git clone https://github.com/perceptron-ai-inc/isaac.git
+cd isaac
+git checkout be6507b4aed7472f2029606c22684d4ebc9d73e6
+git submodule update --init --recursive
+git -C lerobot fetch origin main
+git -C lerobot checkout e12389c1f8f591ad05dced4e284d4e92e48c5df4
+cd lerobot
+uv sync --locked --extra perceptron_isaac
+```
+
+The pinned repository lockfile defines the supported runtime versions.
## Extending the frontier of open robot learning
Isaac 0.5 is trained on more than 35 robot systems, 100,000 hours of robot experience, one million hours of general video, and three trillion multimodal tokens. Video understanding, spatial grounding, task progress, future-percept prediction, and robot action are co-trained from the beginning on one shared backbone.
-Teams can fine-tune Isaac as a robot policy or use its visual outputs inside a planner, controller, or data engine. The release includes base and action checkpoints, action-training and inference code, LeRobot integration, a reference policy server, evaluation tools, and the manifests needed to reproduce the model's data and checkpoint interfaces.
+Teams can fine-tune Isaac as a robot policy or use its visual outputs inside a planner, controller, or data engine. This model repository provides checkpoint weights and portable runtime manifests. The companion [Perceptron Isaac repository](https://github.com/perceptron-ai-inc/isaac) provides action-training and inference code, LeRobot integration, a reference policy server, evaluation tools, and reproduction guides.
## What's new in Isaac 0.5
@@ -33,7 +49,7 @@ Teams can fine-tune Isaac as a robot policy or use its visual outputs inside a p
- **Unified perception, reasoning, and control:** One shared sparse backbone supports video understanding, pointing, tracking, task-state estimation, and robot action generation.
- **Continuous and discrete action interfaces:** Isaac supports continuous control through a dedicated Flow expert and diffusion transformer, plus discrete control through a 2,048-token FAST action vocabulary.
- **Real-time closed-loop control:** Isaac predicts the next action chunk while the current chunk is still executing, using the latest observation and previously issued commands.
-- **Open training and deployment stack:** The release includes model weights, training code, inference code, LeRobot integration, a reference policy server, evaluation code, and reproduction manifests.
+- **Open training and deployment stack:** This model repository publishes checkpoint weights and portable manifests; the companion [Perceptron Isaac repository](https://github.com/perceptron-ai-inc/isaac) provides training, inference, LeRobot integration, the reference policy server, and evaluation code.
## A scaling law for video and robot experience
@@ -101,23 +117,27 @@ We evaluate the same Isaac checkpoints across multimodal video understanding, sp
Isaac 0.5 can be fine-tuned on new demonstrations, used as a visual backbone inside a larger embodied system, or deployed as an action policy through LeRobot or our reference server.
-The release includes:
+This model repository provides:
-- base and action-capable weights;
+- checkpoint weights;
- continuous Flow and discrete FAST action configurations;
-- action training and fine-tuning code;
- text, pointing, tracking, and task-state output schemas;
+- checkpoint, data, and model-I/O manifests;
+- the technical report and model card.
+
+The companion [Perceptron Isaac repository](https://github.com/perceptron-ai-inc/isaac) provides:
+
+- action training, fine-tuning, and inference code;
- LeRobot integration and a reference policy server;
- evaluation code, task definitions, and rollout manifests;
-- checkpoint, data, and model-I/O manifests;
-- the technical report, model card, and reproduction guide.
+- reproduction and deployment guides.
## Resources
-- **Weights (COMING SOON):** [Hugging Face](https://huggingface.co/PerceptronAI/Isaac-0.5)
+- **Weights:** [Hugging Face](https://huggingface.co/PerceptronAI/Isaac-0.5)
- **Code:** [GitHub](https://github.com/perceptron-ai-inc/isaac)
- **Technical report:** [Read the paper](https://pub-d90b81cad7254a1aa6b148ac18153c0c.r2.dev/isaac-0.5.pdf)
-Open models are essential to robotics progress. We are releasing Isaac 0.5 with its weights, code, interfaces, benchmarks, and manifests so others can inspect, reproduce, and extend the work.
+Open models are essential to robotics progress. The weights and portable manifests are published here; code, interfaces, evaluation tools, and deployment guides are maintained in the companion [Perceptron Isaac repository](https://github.com/perceptron-ai-inc/isaac).
For help deploying Isaac on your infrastructure, contact [sales@perceptron.inc](mailto:sales@perceptron.inc).
diff --git a/chat_template.jinja b/chat_template.jinja
new file mode 100644
index 0000000000000000000000000000000000000000..a8755d827c0a7b614c246c4060dfd58ab352a8ff
--- /dev/null
+++ b/chat_template.jinja
@@ -0,0 +1,154 @@
+{%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if (preserve_thinking is defined and preserve_thinking is true) or (loop.index0 > ns.last_query_index) %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is defined %}
+ {%- for args_name, args_value in tool_call.arguments|items %}
+ {{- '\n' }}
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is false %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n' }}
+ {%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/config.json b/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..b209fd2c661c86fce83acc49851eb96d10f49a9d
--- /dev/null
+++ b/config.json
@@ -0,0 +1,313 @@
+{
+ "_name_or_path": "",
+ "action_expert": {
+ "action_dim": 64,
+ "action_horizon": 64,
+ "causal_attn": false,
+ "context_layer_norm": true,
+ "drop_action_dim_overflow": false,
+ "ffn_multiple_of": 256,
+ "hidden_dim": 768,
+ "k_batched_cross_attn": true,
+ "k_batched_cross_attn_backend": "flash_gqa",
+ "mask_padded_action_rows": true,
+ "mlp_ratio": 4.0,
+ "num_heads": 8,
+ "num_inference_steps": 10,
+ "num_layers": 36,
+ "qk_norm": true,
+ "qk_norm_eps": 1e-06,
+ "rope": true,
+ "rtc_delay_sampling": "poisson",
+ "rtc_max_delay_steps": 12,
+ "rtc_poisson_mean": 5.0,
+ "rtc_probability": 0.5,
+ "schema_version": 1,
+ "timestep_embed_dim": 256,
+ "timestep_sampling_alpha": 1.5,
+ "timestep_sampling_beta": 1.0,
+ "timestep_sampling_offset": 0.001,
+ "timestep_sampling_scale": 0.999,
+ "train_samples_per_chunk": 8,
+ "type": "dit"
+ },
+ "architectures": [
+ "Isaac05ForConditionalGeneration"
+ ],
+ "auto_map": {
+ "AutoConfig": "configuration_isaac05.Isaac05Config",
+ "AutoModelForCausalLM": "modeling_isaac05.Isaac05ForConditionalGeneration",
+ "AutoProcessor": "processing_isaac05.Isaac05Processor"
+ },
+ "chunk_size_feed_forward": 0,
+ "dtype": "bfloat16",
+ "id2label": {
+ "0": "LABEL_0",
+ "1": "LABEL_1"
+ },
+ "image_token_id": 248056,
+ "is_encoder_decoder": false,
+ "isaac05_artifact": {
+ "artifact_kind": "trained_policy",
+ "schema_version": 1,
+ "tensor_bytes": 142894027456,
+ "tensor_count": 1616
+ },
+ "isaac05_coord_tokens": {
+ "enabled": true,
+ "offset": 248320,
+ "size": 1001
+ },
+ "isaac05_fast_tokens": {
+ "enabled": true,
+ "offset": 249321,
+ "size": 2048,
+ "tokenizer": "physical-intelligence/fast"
+ },
+ "isaac05_moe": {
+ "logical_router_outputs": 512,
+ "num_null_experts": 256,
+ "num_real_experts": 256,
+ "physical_router_outputs": 257,
+ "route_norm": true,
+ "route_scale": 1.0,
+ "router_contract": [
+ 256,
+ 256
+ ],
+ "router_contract_version": 1,
+ "score_before_experts": false,
+ "score_func": "softmax",
+ "shared_null_router_row": true,
+ "top_k": 8,
+ "uses_expert_bias": false
+ },
+ "isaac05_test_only_reduced_geometry": false,
+ "isaac05_vla": {
+ "action_expert": {
+ "action_dim": 64,
+ "action_horizon": 64,
+ "causal_attn": false,
+ "context_layer_norm": true,
+ "drop_action_dim_overflow": false,
+ "ffn_multiple_of": 256,
+ "hidden_dim": 768,
+ "k_batched_cross_attn": true,
+ "k_batched_cross_attn_backend": "flash_gqa",
+ "mask_padded_action_rows": true,
+ "mlp_ratio": 4.0,
+ "num_heads": 8,
+ "num_inference_steps": 10,
+ "num_layers": 36,
+ "qk_norm": true,
+ "qk_norm_eps": 1e-06,
+ "rope": true,
+ "rtc_delay_sampling": "poisson",
+ "rtc_max_delay_steps": 12,
+ "rtc_poisson_mean": 5.0,
+ "rtc_probability": 0.5,
+ "schema_version": 1,
+ "timestep_embed_dim": 256,
+ "timestep_sampling_alpha": 1.5,
+ "timestep_sampling_beta": 1.0,
+ "timestep_sampling_offset": 0.001,
+ "timestep_sampling_scale": 0.999,
+ "train_samples_per_chunk": 8,
+ "type": "dit"
+ },
+ "mtp": {
+ "action_runtime": "exclude",
+ "physical_layers": 0,
+ "present": false,
+ "rollout_steps": 0
+ },
+ "rmsnorm_weight_convention": "zero_centered_1_plus_weight",
+ "schema_version": 1,
+ "state_dict_schema": "pr3154_v1",
+ "vector_encoder": {
+ "bias": false,
+ "hidden_dim": 2048,
+ "max_states": 128,
+ "output_dim": 2048,
+ "type": "linear_silu_linear"
+ }
+ },
+ "label2id": {
+ "LABEL_0": 0,
+ "LABEL_1": 1
+ },
+ "max_sequence_length": 262144,
+ "model_type": "isaac_0_5",
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "problem_type": null,
+ "return_dict": true,
+ "runtime_dtype": "bfloat16",
+ "storage_dtype": "float32",
+ "text_config": {
+ "_name_or_path": "",
+ "architectures": null,
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "attn_output_gate": true,
+ "bos_token_id": 248044,
+ "chunk_size_feed_forward": 0,
+ "dtype": "bfloat16",
+ "eos_token_id": 248044,
+ "full_attention_interval": 4,
+ "head_dim": 256,
+ "hidden_act": "silu",
+ "hidden_size": 2048,
+ "id2label": {
+ "0": "LABEL_0",
+ "1": "LABEL_1"
+ },
+ "initializer_range": 0.02,
+ "is_encoder_decoder": false,
+ "isaac05_moe": {
+ "logical_router_outputs": 512,
+ "num_null_experts": 256,
+ "num_real_experts": 256,
+ "physical_router_outputs": 257,
+ "route_norm": true,
+ "route_scale": 1.0,
+ "router_contract": [
+ 256,
+ 256
+ ],
+ "router_contract_version": 1,
+ "score_before_experts": false,
+ "score_func": "softmax",
+ "shared_null_router_row": true,
+ "top_k": 8,
+ "uses_expert_bias": false
+ },
+ "label2id": {
+ "LABEL_0": 0,
+ "LABEL_1": 1
+ },
+ "layer_types": [
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention"
+ ],
+ "linear_conv_kernel_dim": 4,
+ "linear_key_head_dim": 128,
+ "linear_num_key_heads": 16,
+ "linear_num_value_heads": 32,
+ "linear_value_head_dim": 128,
+ "mamba_ssm_dtype": "float32",
+ "max_position_embeddings": 262144,
+ "model_type": "qwen3_5_moe_text",
+ "moe_intermediate_size": 512,
+ "mtp_num_hidden_layers": 0,
+ "mtp_use_dedicated_embeddings": false,
+ "num_attention_heads": 16,
+ "num_experts": 256,
+ "num_experts_per_tok": 8,
+ "num_hidden_layers": 40,
+ "num_key_value_heads": 2,
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "output_router_logits": false,
+ "pad_token_id": null,
+ "partial_rotary_factor": 0.25,
+ "problem_type": null,
+ "return_dict": true,
+ "rms_norm_eps": 1e-06,
+ "rope_parameters": {
+ "mrope_interleaved": true,
+ "mrope_section": [
+ 11,
+ 11,
+ 10
+ ],
+ "partial_rotary_factor": 0.25,
+ "rope_theta": 10000000,
+ "rope_type": "default"
+ },
+ "router_aux_loss_coef": 0.001,
+ "shared_expert_intermediate_size": 512,
+ "tie_word_embeddings": false,
+ "use_cache": true,
+ "vocab_size": 256279
+ },
+ "tie_word_embeddings": false,
+ "transformers_version": "5.5.4",
+ "vector_max_states": 128,
+ "video_token_id": 248057,
+ "vision_config": {
+ "_name_or_path": "",
+ "architectures": null,
+ "chunk_size_feed_forward": 0,
+ "deepstack_visual_indexes": [],
+ "depth": 27,
+ "dtype": null,
+ "hidden_act": "gelu_pytorch_tanh",
+ "hidden_size": 1152,
+ "id2label": {
+ "0": "LABEL_0",
+ "1": "LABEL_1"
+ },
+ "in_channels": 3,
+ "initializer_range": 0.02,
+ "intermediate_size": 4304,
+ "is_encoder_decoder": false,
+ "label2id": {
+ "LABEL_0": 0,
+ "LABEL_1": 1
+ },
+ "model_type": "qwen3_5_moe",
+ "num_heads": 16,
+ "num_position_embeddings": 2304,
+ "out_hidden_size": 2048,
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "patch_size": 16,
+ "problem_type": null,
+ "return_dict": true,
+ "spatial_merge_size": 2,
+ "temporal_patch_size": 2
+ },
+ "vision_end_token_id": 248054,
+ "vision_rescale_factor": 0.00392156862745098,
+ "vision_start_token_id": 248053,
+ "vision_token": "<|image_pad|>"
+}
diff --git a/configuration_isaac05.py b/configuration_isaac05.py
new file mode 100644
index 0000000000000000000000000000000000000000..b2449ceeff39daaa64b54154a935bbcb1d33e5ea
--- /dev/null
+++ b/configuration_isaac05.py
@@ -0,0 +1,188 @@
+"""Transformers configuration for the portable Isaac-0.5 VLA repository."""
+
+from __future__ import annotations
+
+import copy
+from collections.abc import Mapping
+from typing import Any
+
+from transformers import Qwen3_5MoeConfig
+
+_ISAAC05_ARCHITECTURES = ["Isaac05ForConditionalGeneration"]
+_ISAAC05_AUTO_MAP = {
+ "AutoConfig": "configuration_isaac05.Isaac05Config",
+ "AutoModelForCausalLM": "modeling_isaac05.Isaac05ForConditionalGeneration",
+ "AutoProcessor": "processing_isaac05.Isaac05Processor",
+}
+_PRODUCTION_COORD_TOKENS = {"enabled": True, "offset": 248_320, "size": 1_001}
+_PRODUCTION_FAST_TOKENS = {
+ "enabled": True,
+ "tokenizer": "physical-intelligence/fast",
+ "offset": 249_321,
+ "size": 2_048,
+}
+_PRODUCTION_ARTIFACT = {
+ "schema_version": 1,
+ "artifact_kind": "trained_policy",
+ "tensor_count": 1_616,
+ "tensor_bytes": 142_894_027_456,
+}
+_PRODUCTION_VECTOR_ENCODER = {
+ "type": "linear_silu_linear",
+ "max_states": 128,
+ "hidden_dim": 2_048,
+ "output_dim": 2_048,
+ "bias": False,
+}
+_PRODUCTION_ACTION_EXPERT = {
+ "action_dim": 64,
+ "action_horizon": 64,
+ "num_layers": 36,
+ "hidden_dim": 768,
+ "num_heads": 8,
+ "mlp_ratio": 4.0,
+ "num_inference_steps": 10,
+ "timestep_sampling_alpha": 1.5,
+ "timestep_sampling_beta": 1.0,
+ "timestep_sampling_scale": 0.999,
+ "timestep_sampling_offset": 0.001,
+ "train_samples_per_chunk": 8,
+ "timestep_embed_dim": 256,
+ "rtc_max_delay_steps": 12,
+ "rtc_probability": 0.5,
+ "rtc_delay_sampling": "poisson",
+ "rtc_poisson_mean": 5.0,
+ "mask_padded_action_rows": True,
+ "drop_action_dim_overflow": False,
+ "ffn_multiple_of": 256,
+ "qk_norm": True,
+ "qk_norm_eps": 1e-6,
+ "rope": True,
+ "context_layer_norm": True,
+ "causal_attn": False,
+ "k_batched_cross_attn": True,
+ "k_batched_cross_attn_backend": "flash_gqa",
+ "schema_version": 1,
+ "type": "dit",
+}
+_PRODUCTION_MTP = {
+ "present": False,
+ "physical_layers": 0,
+ "rollout_steps": 0,
+ "action_runtime": "exclude",
+}
+
+
+def _copy_mapping(value: Mapping[str, Any] | None, *, name: str) -> dict[str, Any]:
+ if not isinstance(value, Mapping):
+ raise ValueError(f"Isaac05Config {name} must be a JSON object.")
+ return copy.deepcopy(dict(value))
+
+
+def _require_exact(value: Mapping[str, Any], expected: Mapping[str, Any], *, name: str) -> None:
+ if dict(value) != dict(expected):
+ raise ValueError(f"Isaac05Config {name} does not match the portable artifact contract.")
+
+
+def _reserved_token_range(value: Mapping[str, Any], *, name: str) -> range:
+ if value.get("enabled") is not True:
+ raise ValueError(f"Isaac05Config {name}.enabled must be true.")
+ offset = value.get("offset")
+ size = value.get("size")
+ if not isinstance(offset, int) or isinstance(offset, bool) or offset < 0:
+ raise ValueError(f"Isaac05Config {name}.offset must be a non-negative integer.")
+ if not isinstance(size, int) or isinstance(size, bool) or size <= 0:
+ raise ValueError(f"Isaac05Config {name}.size must be a positive integer.")
+ return range(offset, offset + size)
+
+
+class Isaac05Config(Qwen3_5MoeConfig):
+ """Portable Isaac-0.5 configuration for the published checkpoint."""
+
+ model_type = "isaac_0_5"
+ has_no_defaults_at_init = True
+
+ def __init__(
+ self,
+ *,
+ isaac05_artifact: Mapping[str, Any] | None = None,
+ isaac05_coord_tokens: Mapping[str, Any] | None = None,
+ isaac05_fast_tokens: Mapping[str, Any] | None = None,
+ isaac05_vla: Mapping[str, Any] | None = None,
+ storage_dtype: str = "float32",
+ runtime_dtype: str = "bfloat16",
+ max_sequence_length: int = 262_144,
+ vision_token: str = "<|image_pad|>",
+ vision_rescale_factor: float = 1 / 255,
+ isaac05_test_only_reduced_geometry: bool = False,
+ **kwargs: Any,
+ ) -> None:
+ architectures = kwargs.pop("architectures", _ISAAC05_ARCHITECTURES)
+ auto_map = kwargs.pop("auto_map", _ISAAC05_AUTO_MAP)
+ if architectures != _ISAAC05_ARCHITECTURES:
+ raise ValueError(f"Isaac05Config architectures must be {_ISAAC05_ARCHITECTURES!r}.")
+ if auto_map != _ISAAC05_AUTO_MAP:
+ raise ValueError("Isaac05Config auto_map does not match the portable repository API.")
+
+ artifact = _copy_mapping(isaac05_artifact, name="isaac05_artifact")
+ coord_tokens = _copy_mapping(isaac05_coord_tokens, name="isaac05_coord_tokens")
+ fast_tokens = _copy_mapping(isaac05_fast_tokens, name="isaac05_fast_tokens")
+ vla = _copy_mapping(isaac05_vla, name="isaac05_vla")
+
+ if storage_dtype != "float32":
+ raise ValueError("Isaac05Config storage_dtype must be 'float32'.")
+ if runtime_dtype != "bfloat16":
+ raise ValueError("Isaac05Config runtime_dtype must be 'bfloat16'.")
+ if max_sequence_length <= 0:
+ raise ValueError("Isaac05Config max_sequence_length must be positive.")
+ if not vision_token:
+ raise ValueError("Isaac05Config vision_token must not be empty.")
+ if vision_rescale_factor <= 0:
+ raise ValueError("Isaac05Config vision_rescale_factor must be positive.")
+ coord_range = _reserved_token_range(coord_tokens, name="isaac05_coord_tokens")
+ fast_range = _reserved_token_range(fast_tokens, name="isaac05_fast_tokens")
+ if coord_range.start < fast_range.stop and fast_range.start < coord_range.stop:
+ raise ValueError("Isaac05Config reserved token ranges overlap.")
+ if not isaac05_test_only_reduced_geometry:
+ _require_exact(artifact, _PRODUCTION_ARTIFACT, name="isaac05_artifact")
+ _require_exact(coord_tokens, _PRODUCTION_COORD_TOKENS, name="isaac05_coord_tokens")
+ _require_exact(fast_tokens, _PRODUCTION_FAST_TOKENS, name="isaac05_fast_tokens")
+ _require_exact(
+ _copy_mapping(vla.get("vector_encoder"), name="isaac05_vla.vector_encoder"),
+ _PRODUCTION_VECTOR_ENCODER,
+ name="isaac05_vla.vector_encoder",
+ )
+ _require_exact(
+ _copy_mapping(vla.get("action_expert"), name="isaac05_vla.action_expert"),
+ _PRODUCTION_ACTION_EXPERT,
+ name="isaac05_vla.action_expert",
+ )
+ _require_exact(
+ _copy_mapping(vla.get("mtp"), name="isaac05_vla.mtp"),
+ _PRODUCTION_MTP,
+ name="isaac05_vla.mtp",
+ )
+ if vla.get("schema_version") != 1:
+ raise ValueError("Isaac05Config isaac05_vla.schema_version must be 1.")
+ if vla.get("state_dict_schema") != "pr3154_v1":
+ raise ValueError("Isaac05Config isaac05_vla.state_dict_schema must be 'pr3154_v1'.")
+ if vla.get("rmsnorm_weight_convention") != "zero_centered_1_plus_weight":
+ raise ValueError(
+ "Isaac05Config isaac05_vla.rmsnorm_weight_convention must be 'zero_centered_1_plus_weight'."
+ )
+
+ super().__init__(architectures=architectures, auto_map=auto_map, **kwargs)
+ self.isaac05_artifact = artifact
+ self.isaac05_coord_tokens = coord_tokens
+ self.isaac05_fast_tokens = fast_tokens
+ self.isaac05_vla = vla
+ vector_encoder = _copy_mapping(vla.get("vector_encoder"), name="isaac05_vla.vector_encoder")
+ action_expert = _copy_mapping(vla.get("action_expert"), name="isaac05_vla.action_expert")
+ self.vector_max_states = int(vector_encoder["max_states"])
+ self.action_expert = action_expert
+ self.storage_dtype = storage_dtype
+ self.runtime_dtype = runtime_dtype
+ self.max_sequence_length = int(max_sequence_length)
+ self.vision_token = vision_token
+ self.vision_rescale_factor = float(vision_rescale_factor)
+ self.isaac05_test_only_reduced_geometry = bool(isaac05_test_only_reduced_geometry)
diff --git a/fast_processor_pinned/processing_action_tokenizer.py b/fast_processor_pinned/processing_action_tokenizer.py
new file mode 100644
index 0000000000000000000000000000000000000000..0819e6c2e5cf5c900a49c8705755b6bf0fb995ea
--- /dev/null
+++ b/fast_processor_pinned/processing_action_tokenizer.py
@@ -0,0 +1,158 @@
+import logging
+from typing import ClassVar
+
+import numpy as np
+from scipy.fft import dct
+from scipy.fft import idct
+from tokenizers import ByteLevelBPETokenizer
+from tokenizers.trainers import BpeTrainer
+from transformers import PreTrainedTokenizerFast
+from transformers.processing_utils import ProcessorMixin
+
+
+class UniversalActionProcessor(ProcessorMixin):
+ attributes: ClassVar[list[str]] = ["bpe_tokenizer"]
+ bpe_tokenizer_class: str = "AutoTokenizer"
+
+ def __init__(
+ self,
+ bpe_tokenizer: PreTrainedTokenizerFast,
+ scale: float = 10,
+ vocab_size: int = 1024,
+ min_token: int = 0,
+ *,
+ action_dim: int | None = None,
+ time_horizon: int | None = None,
+ ):
+ self.scale = scale
+ self.vocab_size = vocab_size
+ self.min_token = min_token
+
+ # Action horizon and dimension needed during decoding. These can be specified
+ # in three ways (in order of priority):
+ # 1. passed in as kwargs to decode()
+ # 2. in the constructor
+ # 3. cached from the last time decode() was called
+ self.time_horizon = time_horizon
+ self.action_dim = action_dim
+ self.called_time_horizon = time_horizon
+ self.called_action_dim = action_dim
+
+ super().__init__(bpe_tokenizer)
+
+ def __call__(self, action_chunk: np.array) -> np.array:
+ assert action_chunk.ndim <= 3, "Only 3 dimensions supported: [batch, timesteps, action_dim]"
+ if action_chunk.ndim == 2:
+ action_chunk = action_chunk[None, ...]
+
+ # Cache the time horizon and action dimension for decoding
+ self.called_time_horizon = action_chunk.shape[-2]
+ self.called_action_dim = action_chunk.shape[-1]
+
+ dct_coeff = dct(action_chunk, axis=1, norm="ortho")
+ dct_coeff = np.around(dct_coeff * self.scale)
+ tokens = []
+ for elem in dct_coeff:
+ token_str = "".join(map(chr, np.maximum(elem.flatten() - self.min_token, 0).astype(int)))
+ tokens.append(self.bpe_tokenizer(token_str)["input_ids"])
+ return tokens
+
+ def decode(
+ self,
+ tokens: list[list[int]],
+ *,
+ time_horizon: int | None = None,
+ action_dim: int | None = None,
+ ) -> np.array:
+ self.time_horizon = time_horizon or self.time_horizon or self.called_time_horizon
+ self.action_dim = action_dim or self.action_dim or self.called_action_dim
+
+ # Cache the time horizon and action dimension for the next call
+ self.called_time_horizon = self.time_horizon
+ self.called_action_dim = self.action_dim
+
+ assert (
+ self.time_horizon is not None and self.action_dim is not None
+ ), "Tokenizer not initialized, call encode() once or pass in time_horizon and action_dim."
+
+ decoded_actions = []
+ for token in tokens:
+ try:
+ decoded_tokens = self.bpe_tokenizer.decode(token)
+ decoded_dct_coeff = np.array(list(map(ord, decoded_tokens))) + self.min_token
+ decoded_dct_coeff = decoded_dct_coeff.reshape(-1, self.action_dim)
+ assert (
+ decoded_dct_coeff.shape
+ == (
+ self.time_horizon,
+ self.action_dim,
+ )
+ ), f"Decoded DCT coefficients have shape {decoded_dct_coeff.shape}, expected ({self.time_horizon}, {self.action_dim})"
+ except Exception as e:
+ print(f"Error decoding tokens: {e}")
+ print(f"Tokens: {token}")
+ decoded_dct_coeff = np.zeros((self.time_horizon, self.action_dim))
+ decoded_actions.append(idct(decoded_dct_coeff / self.scale, axis=0, norm="ortho"))
+ return np.stack(decoded_actions)
+
+ @classmethod
+ def fit(
+ cls,
+ action_data: list[np.array],
+ scale: float = 10,
+ vocab_size: int = 1024,
+ *,
+ time_horizon: int | None = None,
+ action_dim: int | None = None,
+ ) -> "UniversalActionProcessor":
+ # Run DCT over all inputs
+ dct_tokens = [dct(a, axis=0, norm="ortho").flatten() for a in action_data]
+
+ # Quantize and find min token
+ max_token = int(np.around(np.concatenate(dct_tokens) * scale).max())
+ min_token = int(np.around(np.concatenate(dct_tokens) * scale).min())
+ min_vocab_size = max_token - min_token
+
+ assert (
+ min_vocab_size <= vocab_size
+ ), f"Vocab size {vocab_size} is too small for the range of tokens {min_vocab_size}"
+ if min_vocab_size + 100 > vocab_size:
+ logging.warning(
+ f"Initial alphabet size {min_vocab_size} is almost as large as the vocab"
+ f"size {vocab_size}, consider increasing vocab size"
+ )
+
+ # Make token iterator for BPE training
+ def _token_iter():
+ for tokens in dct_tokens:
+ rounded_tokens = np.around(tokens * scale) - min_token
+ rounded_tokens = rounded_tokens.astype(int)
+ string = "".join(map(chr, rounded_tokens))
+ yield string
+
+ # Train BPE tokenizer
+ bpe = ByteLevelBPETokenizer()
+
+ # Set up the entire range of possible tokens as the initial alphabet
+ alphabet = [chr(i) for i in range(max_token - min_token + 1)]
+ trainer = BpeTrainer(
+ vocab_size=vocab_size,
+ min_frequency=2,
+ show_progress=True,
+ special_tokens=[],
+ initial_alphabet=alphabet,
+ max_token_length=10000,
+ )
+
+ # Train the inner tokenizer (don't use ByteLevelBPETokenizer.train_from_iterator()
+ # because it doesn't support custom alphabets)
+ bpe._tokenizer.train_from_iterator(_token_iter(), trainer=trainer)
+
+ return cls(
+ PreTrainedTokenizerFast(tokenizer_object=bpe, clean_up_tokenization_spaces=False),
+ scale=scale,
+ vocab_size=vocab_size,
+ min_token=min_token,
+ time_horizon=time_horizon,
+ action_dim=action_dim,
+ )
diff --git a/fast_processor_pinned/processor_config.json b/fast_processor_pinned/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..14a9432d9b92bff964ed9548480b60867253603c
--- /dev/null
+++ b/fast_processor_pinned/processor_config.json
@@ -0,0 +1,11 @@
+{
+ "action_dim": null,
+ "auto_map": {
+ "AutoProcessor": "processing_action_tokenizer.UniversalActionProcessor"
+ },
+ "min_token": -354,
+ "processor_class": "UniversalActionProcessor",
+ "scale": 10,
+ "time_horizon": null,
+ "vocab_size": 2048
+}
diff --git a/fast_processor_pinned/special_tokens_map.json b/fast_processor_pinned/special_tokens_map.json
new file mode 100644
index 0000000000000000000000000000000000000000..0967ef424bce6791893e9a57bb952f80fd536e93
--- /dev/null
+++ b/fast_processor_pinned/special_tokens_map.json
@@ -0,0 +1 @@
+{}
diff --git a/fast_processor_pinned/tokenizer.json b/fast_processor_pinned/tokenizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..864a23a188d4d216528b9f2bb2eb7ce73a0458bd
--- /dev/null
+++ b/fast_processor_pinned/tokenizer.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6507dd709287fd018882120c0071787f1f62bad9f180f1e8c5235bda1b71fa78
+size 686974
diff --git a/fast_processor_pinned/tokenizer_config.json b/fast_processor_pinned/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..4fc5c94fbffea35fc6138f8ff5883514a4ffa47f
--- /dev/null
+++ b/fast_processor_pinned/tokenizer_config.json
@@ -0,0 +1,10 @@
+{
+ "added_tokens_decoder": {},
+ "auto_map": {
+ "AutoProcessor": "processing_action_tokenizer.UniversalActionProcessor"
+ },
+ "clean_up_tokenization_spaces": true,
+ "model_max_length": 1000000000000000019884624838656,
+ "processor_class": "UniversalActionProcessor",
+ "tokenizer_class": "PreTrainedTokenizerFast"
+}
diff --git a/isaac_deployment_adapter.json b/isaac_deployment_adapter.json
new file mode 100644
index 0000000000000000000000000000000000000000..945d21391d42826e4408a4cd5976f384b75dbbce
--- /dev/null
+++ b/isaac_deployment_adapter.json
@@ -0,0 +1,47 @@
+{
+ "schema": "perceptron_isaac_deployment_adapter_v1",
+ "contract_sha256": {
+ "policy_state_contracts.json": "8f83eb9eff2defdef07a2e297b401de475668063e27c3eb5d80963ddb67f1a5e",
+ "policy_normalization.json": "f829a6f6f72be41196820a1591fb8e7047d9ab674f77a0bec1ba53713ac0c1dc",
+ "policy_inference_recipe.json": "85e5f52d50a3c89b6ff3adc594189bde3e1d345fbecc7bda082561308b3ee905"
+ },
+ "policy_state_dataset": "libero",
+ "normalization_scope": "libero_spatial",
+ "objective": "Flow",
+ "render_dataset_name": "libero",
+ "robot_type": "libero",
+ "control_mode": "ee",
+ "image_size": [
+ 256,
+ 256
+ ],
+ "camera_order": [
+ "image",
+ "wrist_image"
+ ],
+ "camera_views": [
+ "primary",
+ "wrist"
+ ],
+ "n_action_steps": 8,
+ "num_inference_steps": 10,
+ "num_flow_samples": 1,
+ "flow_seed_base": 20260826,
+ "clip_action_pose": true,
+ "gripper_binary_to_signed": false,
+ "num_settle_steps": 40,
+ "settle_gripper": -1.0,
+ "normalize_task_text": true,
+ "joint_signs": null,
+ "joint_offsets": null,
+ "normalization_profile_id": null,
+ "normalization_profile_scope": null,
+ "normalization_validation_status": null,
+ "adapter_validation_status": "reviewed_offline",
+ "provenance": {
+ "checkpoint": "PerceptronAI/Isaac-0.5",
+ "purpose": "LIBERO Spatial Flow reference deployment profile",
+ "profile_source": "LeRobot tested LIBERO deployment profile",
+ "selected_by": "user"
+ }
+}
diff --git a/isaac_stats.json b/isaac_stats.json
new file mode 100644
index 0000000000000000000000000000000000000000..b008553672c2f121c49f810e8855c99af2d3500e
--- /dev/null
+++ b/isaac_stats.json
@@ -0,0 +1,60 @@
+{
+ "action": {
+ "q01": [
+ -0.7454732060432434,
+ -0.6616071462631226,
+ -0.9375,
+ -0.1071428582072258,
+ -0.20678570866584778,
+ -0.1842857152223587,
+ -1.0
+ ],
+ "q99": [
+ 0.9375,
+ 0.8758928775787354,
+ 0.9321428537368774,
+ 0.1039285734295845,
+ 0.17678570747375488,
+ 0.14571428298950195,
+ 1.0
+ ]
+ },
+ "action_dim": 7,
+ "action_horizon": 50,
+ "action_normalization_eps": 1e-06,
+ "action_representation": "absolute",
+ "clip_normalized_actions": true,
+ "clip_normalized_max": 10.0,
+ "profile_id": null,
+ "profile_scope": null,
+ "proprio": {
+ "q01": [
+ -0.27276572585105896,
+ -0.237214133143425,
+ 0.916006326675415,
+ 2.779496669769287,
+ -1.3187512159347534,
+ -0.4198998212814331,
+ 0.001503719249740243,
+ -0.03989770635962486
+ ],
+ "q99": [
+ 0.1352936029434204,
+ 0.362916499376297,
+ 1.286232590675354,
+ 3.2829697132110596,
+ 0.9332759976387024,
+ 0.6325722336769104,
+ 0.03993396461009979,
+ -0.0016719202976673841
+ ]
+ },
+ "proprio_dim": 8,
+ "proprio_normalization_eps": 1e-06,
+ "relative_exclude_joints": [],
+ "schema": "flow_matching_stats_v1",
+ "state_action_schema": "gripper_7",
+ "stats_sha256": "b2676fdb56b148f49f21fb7633769a2d2e152a7c4cd63e05884232274748ead0",
+ "target_fps": 20.0,
+ "validation_status": null
+}
diff --git a/lerobot_policy/config.json b/lerobot_policy/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..15a75c0e89dfd2ba61688f05fd03ce58d1cf1c0e
--- /dev/null
+++ b/lerobot_policy/config.json
@@ -0,0 +1,123 @@
+{
+ "type": "perceptron_isaac",
+ "n_obs_steps": 3,
+ "input_features": {},
+ "output_features": {},
+ "device": "cuda",
+ "use_amp": false,
+ "use_peft": false,
+ "push_to_hub": true,
+ "repo_id": null,
+ "private": null,
+ "tags": null,
+ "license": null,
+ "pretrained_path": null,
+ "pretrained_revision": null,
+ "chunk_size": 50,
+ "n_action_steps": 8,
+ "action_dim": 7,
+ "max_action_dim": 64,
+ "max_action_horizon": 64,
+ "proprio_dim": 8,
+ "max_state_dim": 128,
+ "inference_backend": "native_mharmony",
+ "action_expert_type": "molmoact",
+ "num_inference_steps": 10,
+ "num_flow_samples": 1,
+ "flow_seed_base": 20260826,
+ "clip_normalized_max": 10.0,
+ "fast_clip_normalized_max": 1.0,
+ "clip_action_pose": true,
+ "num_settle_steps": 40,
+ "settle_gripper": -1.0,
+ "rtc_prefix_length": 0,
+ "image_size": [
+ 256,
+ 256
+ ],
+ "image_preprocessing": "stretch",
+ "camera_order": [
+ "image",
+ "wrist_image"
+ ],
+ "serving_camera_roles": null,
+ "allow_image_key_fallback": false,
+ "normalize_gripper": true,
+ "gripper_binary_to_signed": false,
+ "joint_signs": null,
+ "joint_offsets": null,
+ "training_action_frame_contract_version": 2,
+ "hf_model_path": "..",
+ "artifact_kind": "trained_policy",
+ "apply_offset_norm": false,
+ "config_toml_path": null,
+ "stats_path": null,
+ "per_suite_stats_dir": null,
+ "include_scene_description": false,
+ "vector_max_states": 128,
+ "normalize_task_text": true,
+ "action_conditioning": false,
+ "action_conditioning_role": "user",
+ "mistake_conditioning": false,
+ "render_processor_enabled": false,
+ "render_patch_size": 16,
+ "render_pixel_shuffle_scale": 2,
+ "render_temporal_patch_size": 2,
+ "render_max_num_patches": 576,
+ "render_min_num_patches": null,
+ "dataset_name": "libero",
+ "policy_state_dataset": "libero",
+ "robot_type": "libero",
+ "control_mode": "ee",
+ "target_fps": 20.0,
+ "action_feature_names": null,
+ "state_feature_names": null,
+ "strict_hardware_feature_contract": false,
+ "strict_environment_feature_contract": true,
+ "normalization_profile_id": null,
+ "normalization_profile_scope": null,
+ "normalization_validation_status": null,
+ "deployment_adapter_sha256": "da15a0d08fd70c5a10de150d341e2890e87325aa542e36929179c9f7527f16df",
+ "native_render_metadata_path": null,
+ "native_stats_path": "isaac_stats.json",
+ "suite_stats_path": null,
+ "suite_by_task_index_path": null,
+ "fast_processor_path": "../fast_processor_pinned",
+ "fast_processor_tree_sha256": "127eb029e5acb8242c7bc2c8efcea6c5dd6ffb565353b5c689b8c8ac55f33a8a",
+ "mharmony_version": "0.1.0",
+ "native_require_processor_stream": true,
+ "objective": "mixed",
+ "loss_plan": "text_ntp_fast_flow_action",
+ "train_expert_only": false,
+ "flow_matching_detach_vlm_activations": false,
+ "exclude_non_agent_roles": true,
+ "train_samples_per_chunk": 8,
+ "train_clip_normalized_actions": true,
+ "train_skip_outlier_threshold": 20.0,
+ "train_max_sequence_length": 4096,
+ "flow_rtc_max_delay_steps": 0,
+ "flow_rtc_delay_sampling": "uniform",
+ "flow_dual_timestep_ratio": 0.0,
+ "flow_mask_padded_action_rows": true,
+ "softmax_auxiliary_loss_scale": 0.0001,
+ "freeze_input_embeddings": true,
+ "dtype": "bfloat16",
+ "train_storage_fp32": true,
+ "normalization_mapping": {
+ "VISUAL": "IDENTITY",
+ "STATE": "IDENTITY",
+ "ACTION": "IDENTITY"
+ },
+ "optimizer_lr": 1e-05,
+ "optimizer_vit_lr": 5e-06,
+ "optimizer_action_expert_lr": 5e-05,
+ "optimizer_betas": [
+ 0.9,
+ 0.95
+ ],
+ "optimizer_eps": 1e-06,
+ "optimizer_weight_decay": 0.0,
+ "optimizer_grad_clip_norm": 1.0,
+ "optimizer_warmup_steps": 200,
+ "max_train_steps": 30000
+}
\ No newline at end of file
diff --git a/lerobot_policy/isaac_deployment_adapter.json b/lerobot_policy/isaac_deployment_adapter.json
new file mode 100644
index 0000000000000000000000000000000000000000..945d21391d42826e4408a4cd5976f384b75dbbce
--- /dev/null
+++ b/lerobot_policy/isaac_deployment_adapter.json
@@ -0,0 +1,47 @@
+{
+ "schema": "perceptron_isaac_deployment_adapter_v1",
+ "contract_sha256": {
+ "policy_state_contracts.json": "8f83eb9eff2defdef07a2e297b401de475668063e27c3eb5d80963ddb67f1a5e",
+ "policy_normalization.json": "f829a6f6f72be41196820a1591fb8e7047d9ab674f77a0bec1ba53713ac0c1dc",
+ "policy_inference_recipe.json": "85e5f52d50a3c89b6ff3adc594189bde3e1d345fbecc7bda082561308b3ee905"
+ },
+ "policy_state_dataset": "libero",
+ "normalization_scope": "libero_spatial",
+ "objective": "Flow",
+ "render_dataset_name": "libero",
+ "robot_type": "libero",
+ "control_mode": "ee",
+ "image_size": [
+ 256,
+ 256
+ ],
+ "camera_order": [
+ "image",
+ "wrist_image"
+ ],
+ "camera_views": [
+ "primary",
+ "wrist"
+ ],
+ "n_action_steps": 8,
+ "num_inference_steps": 10,
+ "num_flow_samples": 1,
+ "flow_seed_base": 20260826,
+ "clip_action_pose": true,
+ "gripper_binary_to_signed": false,
+ "num_settle_steps": 40,
+ "settle_gripper": -1.0,
+ "normalize_task_text": true,
+ "joint_signs": null,
+ "joint_offsets": null,
+ "normalization_profile_id": null,
+ "normalization_profile_scope": null,
+ "normalization_validation_status": null,
+ "adapter_validation_status": "reviewed_offline",
+ "provenance": {
+ "checkpoint": "PerceptronAI/Isaac-0.5",
+ "purpose": "LIBERO Spatial Flow reference deployment profile",
+ "profile_source": "LeRobot tested LIBERO deployment profile",
+ "selected_by": "user"
+ }
+}
diff --git a/lerobot_policy/isaac_stats.json b/lerobot_policy/isaac_stats.json
new file mode 100644
index 0000000000000000000000000000000000000000..b008553672c2f121c49f810e8855c99af2d3500e
--- /dev/null
+++ b/lerobot_policy/isaac_stats.json
@@ -0,0 +1,60 @@
+{
+ "action": {
+ "q01": [
+ -0.7454732060432434,
+ -0.6616071462631226,
+ -0.9375,
+ -0.1071428582072258,
+ -0.20678570866584778,
+ -0.1842857152223587,
+ -1.0
+ ],
+ "q99": [
+ 0.9375,
+ 0.8758928775787354,
+ 0.9321428537368774,
+ 0.1039285734295845,
+ 0.17678570747375488,
+ 0.14571428298950195,
+ 1.0
+ ]
+ },
+ "action_dim": 7,
+ "action_horizon": 50,
+ "action_normalization_eps": 1e-06,
+ "action_representation": "absolute",
+ "clip_normalized_actions": true,
+ "clip_normalized_max": 10.0,
+ "profile_id": null,
+ "profile_scope": null,
+ "proprio": {
+ "q01": [
+ -0.27276572585105896,
+ -0.237214133143425,
+ 0.916006326675415,
+ 2.779496669769287,
+ -1.3187512159347534,
+ -0.4198998212814331,
+ 0.001503719249740243,
+ -0.03989770635962486
+ ],
+ "q99": [
+ 0.1352936029434204,
+ 0.362916499376297,
+ 1.286232590675354,
+ 3.2829697132110596,
+ 0.9332759976387024,
+ 0.6325722336769104,
+ 0.03993396461009979,
+ -0.0016719202976673841
+ ]
+ },
+ "proprio_dim": 8,
+ "proprio_normalization_eps": 1e-06,
+ "relative_exclude_joints": [],
+ "schema": "flow_matching_stats_v1",
+ "state_action_schema": "gripper_7",
+ "stats_sha256": "b2676fdb56b148f49f21fb7633769a2d2e152a7c4cd63e05884232274748ead0",
+ "target_fps": 20.0,
+ "validation_status": null
+}
diff --git a/lerobot_policy/policy_postprocessor.json b/lerobot_policy/policy_postprocessor.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c8d9b65d3e43c9bba3faa36a989764b51aeaa12
--- /dev/null
+++ b/lerobot_policy/policy_postprocessor.json
@@ -0,0 +1,36 @@
+{
+ "name": "policy_postprocessor",
+ "steps": [
+ {
+ "registry_name": "perceptron_isaac_action_unnormalize",
+ "config": {
+ "enabled": true,
+ "stats_path": null,
+ "clip_normalized_max": 10.0,
+ "clip_action_pose": true,
+ "gripper_binary_to_signed": false,
+ "normalization_profile_id": null,
+ "normalization_profile_scope": null,
+ "normalization_validation_status": null,
+ "normalize_gripper": true,
+ "action_feature_names": null,
+ "state_feature_names": null
+ },
+ "state_file": "policy_postprocessor_step_0_perceptron_isaac_action_unnormalize.safetensors"
+ },
+ {
+ "registry_name": "perceptron_isaac_action_frame_transform",
+ "config": {
+ "joint_signs": null,
+ "joint_offsets": null
+ }
+ },
+ {
+ "registry_name": "device_processor",
+ "config": {
+ "device": "cpu",
+ "float_dtype": null
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/lerobot_policy/policy_postprocessor_step_0_perceptron_isaac_action_unnormalize.safetensors b/lerobot_policy/policy_postprocessor_step_0_perceptron_isaac_action_unnormalize.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..0feeb2b65bfb7a0854228005873d3ce4fd0c068a
--- /dev/null
+++ b/lerobot_policy/policy_postprocessor_step_0_perceptron_isaac_action_unnormalize.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:be4a256dbc65a14c295bbf9aa39ed28028b39b8a220e737a176912621b60c86c
+size 726
diff --git a/lerobot_policy/policy_preprocessor.json b/lerobot_policy/policy_preprocessor.json
new file mode 100644
index 0000000000000000000000000000000000000000..aa4af22161195af58549f9a8b22fa5eb47f9b282
--- /dev/null
+++ b/lerobot_policy/policy_preprocessor.json
@@ -0,0 +1,103 @@
+{
+ "name": "policy_preprocessor",
+ "steps": [
+ {
+ "registry_name": "rename_observations_processor",
+ "config": {
+ "rename_map": {
+ "observation.images.image2": "observation.images.wrist_image"
+ }
+ }
+ },
+ {
+ "registry_name": "to_batch_processor",
+ "config": {}
+ },
+ {
+ "registry_name": "perceptron_isaac_state_frame_transform",
+ "config": {
+ "joint_signs": null,
+ "joint_offsets": null
+ }
+ },
+ {
+ "registry_name": "perceptron_isaac_training_action_frame_transform",
+ "config": {
+ "joint_signs": null,
+ "joint_offsets": null
+ }
+ },
+ {
+ "registry_name": "perceptron_isaac_mharmony_pack",
+ "config": {
+ "enabled": true,
+ "inference_backend": "native_mharmony",
+ "config_toml_path": null,
+ "stats_path": null,
+ "camera_order": [
+ "image",
+ "wrist_image"
+ ],
+ "image_size": [
+ 256,
+ 256
+ ],
+ "image_preprocessing": "stretch",
+ "image_keys": [
+ "observation.images.image",
+ "observation.images.wrist_image"
+ ],
+ "allow_image_key_fallback": false,
+ "normalize_language": true,
+ "n_obs_steps": 3,
+ "chunk_size": 50,
+ "objective": "mixed",
+ "patch_size": 16,
+ "max_num_patches": 576,
+ "min_num_patches": null,
+ "pixel_shuffle_scale": 2,
+ "temporal_patch_size": 2,
+ "device": "cuda",
+ "dtype": "bfloat16",
+ "stream_key": "perceptron_isaac_stream",
+ "metadata_key": "perceptron_isaac_render_meta",
+ "target_fps": 20.0,
+ "normalization_profile_id": null,
+ "normalization_profile_scope": null,
+ "normalization_validation_status": null,
+ "suite_stats_path": null,
+ "suite_by_task_index_path": null,
+ "native_render_metadata_path": null,
+ "native_stats_path": null,
+ "fast_processor_path": "../fast_processor_pinned",
+ "fast_processor_tree_sha256": "127eb029e5acb8242c7bc2c8efcea6c5dd6ffb565353b5c689b8c8ac55f33a8a",
+ "mharmony_version": "0.1.0",
+ "action_dim": 7,
+ "proprio_dim": 8,
+ "vector_max_states": 128,
+ "dataset_name": "libero",
+ "robot_type": "libero",
+ "action_conditioning": false,
+ "action_conditioning_role": "user",
+ "mistake_conditioning": false,
+ "render_metadata": null,
+ "train_clip_normalized_actions": true,
+ "clip_normalized_max": 10.0,
+ "fast_clip_normalized_max": 1.0,
+ "train_skip_outlier_threshold": 20.0,
+ "train_max_sequence_length": 4096,
+ "normalize_gripper": true,
+ "action_feature_names": null,
+ "state_feature_names": null
+ },
+ "state_file": "policy_preprocessor_step_4_perceptron_isaac_mharmony_pack.safetensors"
+ },
+ {
+ "registry_name": "device_processor",
+ "config": {
+ "device": "cuda",
+ "float_dtype": null
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/lerobot_policy/policy_preprocessor_step_4_perceptron_isaac_mharmony_pack.safetensors b/lerobot_policy/policy_preprocessor_step_4_perceptron_isaac_mharmony_pack.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..0feeb2b65bfb7a0854228005873d3ce4fd0c068a
--- /dev/null
+++ b/lerobot_policy/policy_preprocessor_step_4_perceptron_isaac_mharmony_pack.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:be4a256dbc65a14c295bbf9aa39ed28028b39b8a220e737a176912621b60c86c
+size 726
diff --git a/model-00001-of-00042.safetensors b/model-00001-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..f2300e6841b5d6ed0962c1d3574afd810d1c1cb4
--- /dev/null
+++ b/model-00001-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:71548e066c99a1c63a5307e7d506824429a6b297788f8e1faf80391a6c696c6c
+size 4416265552
diff --git a/model-00002-of-00042.safetensors b/model-00002-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..5e9d3ff7a9ee0e3d87b950618d9a2b1b52da8d49
--- /dev/null
+++ b/model-00002-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:70b95d3b872486e3cc85b03e20d6efb30cc6d0f4510a9cf14b4d908f813bc731
+size 3308063024
diff --git a/model-00003-of-00042.safetensors b/model-00003-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..4ad29010cef4de1466a9271222308a8f2eec8d9c
--- /dev/null
+++ b/model-00003-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6db7db8779542ebf8392f2a26cb8aeada24b5691d09e6bafa058aaf5c9f2c514
+size 3370814568
diff --git a/model-00004-of-00042.safetensors b/model-00004-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..c39c70d43f3ba6c7cbb57d9ca9784ac95903a450
--- /dev/null
+++ b/model-00004-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:72a6cf2afdc5bb8bff40436da2c2882a9df3a6d86d6b694dc4df2c75ca6dc5b9
+size 3370814584
diff --git a/model-00005-of-00042.safetensors b/model-00005-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..cd7c71c717169dea42fcce190d784d3bbf2c8409
--- /dev/null
+++ b/model-00005-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d9bdda50a48758cb84e949abaa0d5100d5e304408d0ca9c9ac8bac420eca0105
+size 3235939552
diff --git a/model-00006-of-00042.safetensors b/model-00006-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..467e83a4a3468006c7842b1401023161066c0904
--- /dev/null
+++ b/model-00006-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e3ec16af11ecbd1b76b4afef37fa97129b6172892fb615eebc62ad90845bd5ac
+size 3479869320
diff --git a/model-00007-of-00042.safetensors b/model-00007-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..a6a6397f983f5d8a3327eb2675f5ad8a8b8685f6
--- /dev/null
+++ b/model-00007-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f6fdb07421e4b8ed3f02b9d0c80f23eb05db8f477f32a63ad59f943df8609a3d
+size 3370814592
diff --git a/model-00008-of-00042.safetensors b/model-00008-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..bd094cb73d98a6665027798856284873310621f1
--- /dev/null
+++ b/model-00008-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dc401c60fb6652be8305fb4f76cb8557bb1baf69f3e5e813afae0473d3651be1
+size 3370814592
diff --git a/model-00009-of-00042.safetensors b/model-00009-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..ab9ee58e982413fa0425cff9f67afc64c0d02da0
--- /dev/null
+++ b/model-00009-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4078a95d5c1167fb8235eae76d898b3876af2e3760460601a814c603685f1f73
+size 3235939552
diff --git a/model-00010-of-00042.safetensors b/model-00010-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..f15a5fbb530a3b5222ace68b86a560290c97fec2
--- /dev/null
+++ b/model-00010-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7e2e329b533cd98e6453ac5dc7b8359590a2a30ae5bab9ea314ad7eb9506fa1c
+size 3479869320
diff --git a/model-00011-of-00042.safetensors b/model-00011-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..af72ce4656fa2ad48dcefd89376e86d0cc136596
--- /dev/null
+++ b/model-00011-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0125ce1d57b0312de64a3921e901c6a46b6f712bbac365fcfd0a91a133da2240
+size 3370814592
diff --git a/model-00012-of-00042.safetensors b/model-00012-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..206d07a30574a510c5f75819369bf07dbb5e6fd3
--- /dev/null
+++ b/model-00012-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:674225ed2bfa7af034b36442659e5e29dc0ed3f7c7c892125857cc74c84d184a
+size 3370814592
diff --git a/model-00013-of-00042.safetensors b/model-00013-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..daf36f252ea9eb5f1dc80419c19d7788c5d11338
--- /dev/null
+++ b/model-00013-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:75702cda92f90725e206ef45a4b0ab5b2e97155e5b207d3c463de3a46838da15
+size 3235939552
diff --git a/model-00014-of-00042.safetensors b/model-00014-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..2b39088860558214f32ba3380c35bfcc09f85c32
--- /dev/null
+++ b/model-00014-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:be75df9f9b4386ee8bfe477a569612fa9dfb5fff52f68140045b526d5caffa97
+size 3479869304
diff --git a/model-00015-of-00042.safetensors b/model-00015-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..f2becf40ece4262bb287f6c3b05e2194c37894d3
--- /dev/null
+++ b/model-00015-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2407f893f730efea4bac097894f87b2f685db86b2db0dba2a74bf47dee0a4f3a
+size 3370814584
diff --git a/model-00016-of-00042.safetensors b/model-00016-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..4da5c9ab8584470cd74029ab5353cfd57eecb2ac
--- /dev/null
+++ b/model-00016-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2d98445ad557f0a3c360cab0c6d6ac9bbba8e39f4f6c7db7064ff41d967f83bd
+size 3370814592
diff --git a/model-00017-of-00042.safetensors b/model-00017-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..adb2a916b83d8a1e88b57be2ac67deb334703014
--- /dev/null
+++ b/model-00017-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fb18753df67ec7c857cbe38561c2a720d195011a7e0bc112da465b129a12daee
+size 3370814592
diff --git a/model-00018-of-00042.safetensors b/model-00018-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..d899eb96fdbda97973b91897079ec43e7412fab1
--- /dev/null
+++ b/model-00018-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:50329180cf5d0807eb144bf0a98f9cd9c4d88f3d8355cc46db662fbede0307ba
+size 3235939552
diff --git a/model-00019-of-00042.safetensors b/model-00019-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..1a7da3504a05617bb506fcabc837204d1eebd6e4
--- /dev/null
+++ b/model-00019-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:848a86b200296b0f3730c065461486596c0b93209a87967c5cefdac4bc375a5a
+size 3479869320
diff --git a/model-00020-of-00042.safetensors b/model-00020-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..ab90864b6e189a6db44ce573e95d604fc68924a2
--- /dev/null
+++ b/model-00020-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:669c3d350570c8581b30f0753184f65522966ea8bc3abb37e258e3b222af2bf7
+size 3370814592
diff --git a/model-00021-of-00042.safetensors b/model-00021-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..c2778d0edd052e5ec70871156ca9e6da1b9e46ec
--- /dev/null
+++ b/model-00021-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:06aced85fd27a61af9e83331a778b747ee2e33738ee31484f5f65dd531d9978f
+size 3370814592
diff --git a/model-00022-of-00042.safetensors b/model-00022-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..e895cf311ef8a3e17f24accfc2b3d0717a287bf5
--- /dev/null
+++ b/model-00022-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e8b3f39b64e04e624ed58d72cad1f59c754c5b3bb858a24b5252b5302657c561
+size 3235939552
diff --git a/model-00023-of-00042.safetensors b/model-00023-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..1a1e95b2cf6e62dd86dc9c5883d5b5b3f62a5a08
--- /dev/null
+++ b/model-00023-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1469fa1c66accef373c64371c6b1c35f487bf1d08f75d48781af02a434f8a489
+size 3479869320
diff --git a/model-00024-of-00042.safetensors b/model-00024-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..fbda54deeb78b89a015afac9f38adaacb457ba8c
--- /dev/null
+++ b/model-00024-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c09825c3dd19364ff70a91d30dd181b533d500a75067d59949dabb23f86c7781
+size 3370814592
diff --git a/model-00025-of-00042.safetensors b/model-00025-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..bace943596e8502404aa7e548daf023e5b68487c
--- /dev/null
+++ b/model-00025-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ba12b1f13f318163c13a1fe632a370626961e27ab01102dae6e4288426313409
+size 3235939552
diff --git a/model-00026-of-00042.safetensors b/model-00026-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..0d8cdb17de2e030851b5621df2772fd3aae1f673
--- /dev/null
+++ b/model-00026-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3dd5247014f129ebe23a849c381101794a119576723aa4eef098f9460cc07c63
+size 3479869304
diff --git a/model-00027-of-00042.safetensors b/model-00027-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..3c86438862ec7c34745dbcb8ca0ce8717a624815
--- /dev/null
+++ b/model-00027-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:78e42c7ffa62b84d4cee9d55da8f8c8c2350cd36c6dcc5bd65482053a8e38e02
+size 3235939552
diff --git a/model-00028-of-00042.safetensors b/model-00028-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..80e04ee3eba356520c3bc40ff6df266cc9ad78b6
--- /dev/null
+++ b/model-00028-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:827fff97afce3730dfb86b463cc0055c9b7b1147fe3e66151bc3d97b14c7cc96
+size 3479869320
diff --git a/model-00029-of-00042.safetensors b/model-00029-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..900c44a9e7b8e7bf5579333b2a18171c69ded5e1
--- /dev/null
+++ b/model-00029-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:14308b38442f97722d8b842c10066a84b7578a2040477c147aedd60b664dd30c
+size 3370814592
diff --git a/model-00030-of-00042.safetensors b/model-00030-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..fd726f7a6152e836f3fc350add82f58d5b9e3a90
--- /dev/null
+++ b/model-00030-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a92283c66b4ffce6c72e6ee4aaf75eae789417aa0821ae2b9c7bb2e6c7098b6c
+size 3370814592
diff --git a/model-00031-of-00042.safetensors b/model-00031-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..4c49e2f4075efcf3f46d1464c5a04ff97938065f
--- /dev/null
+++ b/model-00031-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6fe6c57fed871cd3eeddf0d71261089035dbdc7e7d6cde27965c111ad6418906
+size 3235939552
diff --git a/model-00032-of-00042.safetensors b/model-00032-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..928e6c434320889def5630a75df70386b31840e3
--- /dev/null
+++ b/model-00032-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c731ae05a59b28ef01e1170fa62e9a7ef32bf1c6a2a5318df059fe7b2e0c527a
+size 3479869320
diff --git a/model-00033-of-00042.safetensors b/model-00033-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..bb2548e2da91ab5a05f9bd7e3e15bf20a520d962
--- /dev/null
+++ b/model-00033-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a6c7b0ad526addb07821849d6e336c028915c38e22e18b2a4bf9872ab63ae480
+size 3370814592
diff --git a/model-00034-of-00042.safetensors b/model-00034-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..d521155c7adbcd7dee8029819bb7d5e5487a84fb
--- /dev/null
+++ b/model-00034-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c8ade280ef94da6d4946d7a19e2ef75c0e77c6f0d861e9af6b84b6a7955ad5f8
+size 3370814592
diff --git a/model-00035-of-00042.safetensors b/model-00035-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..43065e5f9c6ccc9dc29b15025679f7fc788fe563
--- /dev/null
+++ b/model-00035-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:08af6a2bd8a527aa37456434b2fcca52604a8f49ba08c83b4c0e33a31ee9ef82
+size 3235939552
diff --git a/model-00036-of-00042.safetensors b/model-00036-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..661da62ca697ac2408f89d627d8233555654f45f
--- /dev/null
+++ b/model-00036-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1a9117b85384a6ca98ce073e8d9e1a3206597a2c946468d1d000332da124b35c
+size 3479869304
diff --git a/model-00037-of-00042.safetensors b/model-00037-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..de666297ab34fd3700032ba515aab65684c403b6
--- /dev/null
+++ b/model-00037-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5206cccfc093dbda3440cf5396c6b680fbeb623239c9e08f02c4ec6e566cbad7
+size 3370814568
diff --git a/model-00038-of-00042.safetensors b/model-00038-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..cbf63291ee39bbe409f918f40bcd7cd17731a777
--- /dev/null
+++ b/model-00038-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a2b067d05b5b7de3b5442ec9e034b28326adf213b46b9ce06def800c4592e1e4
+size 3370814568
diff --git a/model-00039-of-00042.safetensors b/model-00039-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..19b5aca814399f3bb0023afbab0d3fb80e1911f6
--- /dev/null
+++ b/model-00039-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b737d158f26d98fa96c3211901279ac041fa6ba1cb7815e85f1b3eeb7413d0af
+size 3235939544
diff --git a/model-00040-of-00042.safetensors b/model-00040-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..2bb7b752380eb418f3b4ffe60bdd4c9f717cab57
--- /dev/null
+++ b/model-00040-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b3056372be7e76697c86029f5f21a115b0b6889d0c1be2d5dd5dc68e3effa308
+size 3479869296
diff --git a/model-00041-of-00042.safetensors b/model-00041-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..bed5e1a6327a0f0f417e3df85810c3f383e168fc
--- /dev/null
+++ b/model-00041-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9f62971166add1c4275785256d433135abc202e6b6a4e3adab66342903d2c00c
+size 3370814568
diff --git a/model-00042-of-00042.safetensors b/model-00042-of-00042.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..d3472b7669a50ba34648480bc22d84974f9328a7
--- /dev/null
+++ b/model-00042-of-00042.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9f8af627f6340efd9c9ba31fcad02190a5dff17c3e564149200474f5c8beefad
+size 3966345992
diff --git a/model.safetensors.index.json b/model.safetensors.index.json
new file mode 100644
index 0000000000000000000000000000000000000000..05d07b0830655bb6670fc27f2f90a829d8e8313c
--- /dev/null
+++ b/model.safetensors.index.json
@@ -0,0 +1,1623 @@
+{
+ "metadata": {
+ "total_size": 142894027456
+ },
+ "weight_map": {
+ "lm_head.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.action_embed.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.action_embed.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.0.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.1.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.10.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.11.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.12.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.13.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.14.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.15.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.16.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.17.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.18.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.19.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.2.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.20.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.21.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.22.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.23.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.24.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.25.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.26.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.27.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.28.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.29.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.3.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.30.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.31.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.32.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.33.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.34.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.35.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.4.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.5.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.6.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.7.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.8.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.cross_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.cross_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.cross_attn.q_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.cross_attn.q_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.mlp.down_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.mlp.down_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.mlp.gate_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.mlp.gate_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.mlp.up_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.mlp.up_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.self_attn.out_proj.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.self_attn.out_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.self_attn.qkv.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.blocks.9.self_attn.qkv.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.context_k_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.context_v_proj.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.final_layer.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.final_layer.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.final_layer.modulation.linear.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.final_layer.modulation.linear.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.time_embed.1.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.time_embed.1.weight": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.time_embed.3.bias": "model-00001-of-00042.safetensors",
+ "model.action_expert.action_expert.time_embed.3.weight": "model-00001-of-00042.safetensors",
+ "model.language_model.embed_tokens.weight": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.input_layernorm.weight": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.linear_attn.A_log": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.linear_attn.conv1d.weight": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.linear_attn.dt_bias": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.linear_attn.in_proj_a.weight": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.linear_attn.in_proj_b.weight": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.linear_attn.in_proj_qkv.weight": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.linear_attn.in_proj_z.weight": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.linear_attn.norm.weight": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.linear_attn.out_proj.weight": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.mlp.experts.down_proj": "model-00002-of-00042.safetensors",
+ "model.language_model.layers.0.mlp.experts.gate_up_proj": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.0.mlp.gate.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.0.mlp.shared_expert.down_proj.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.0.mlp.shared_expert.gate_proj.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.0.mlp.shared_expert.up_proj.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.0.mlp.shared_expert_gate.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.0.post_attention_layernorm.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.input_layernorm.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.linear_attn.A_log": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.linear_attn.conv1d.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.linear_attn.dt_bias": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.linear_attn.in_proj_a.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.linear_attn.in_proj_b.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.linear_attn.in_proj_qkv.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.linear_attn.in_proj_z.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.linear_attn.norm.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.linear_attn.out_proj.weight": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.mlp.experts.down_proj": "model-00003-of-00042.safetensors",
+ "model.language_model.layers.1.mlp.experts.gate_up_proj": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.1.mlp.gate.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.1.mlp.shared_expert.down_proj.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.1.mlp.shared_expert.gate_proj.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.1.mlp.shared_expert.up_proj.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.1.mlp.shared_expert_gate.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.1.post_attention_layernorm.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.input_layernorm.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.linear_attn.A_log": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.linear_attn.conv1d.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.linear_attn.dt_bias": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.linear_attn.in_proj_a.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.linear_attn.in_proj_b.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.linear_attn.in_proj_qkv.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.linear_attn.in_proj_z.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.linear_attn.norm.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.linear_attn.out_proj.weight": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.mlp.experts.down_proj": "model-00004-of-00042.safetensors",
+ "model.language_model.layers.10.mlp.experts.gate_up_proj": "model-00005-of-00042.safetensors",
+ "model.language_model.layers.10.mlp.gate.weight": "model-00005-of-00042.safetensors",
+ "model.language_model.layers.10.mlp.shared_expert.down_proj.weight": "model-00005-of-00042.safetensors",
+ "model.language_model.layers.10.mlp.shared_expert.gate_proj.weight": "model-00005-of-00042.safetensors",
+ "model.language_model.layers.10.mlp.shared_expert.up_proj.weight": "model-00005-of-00042.safetensors",
+ "model.language_model.layers.10.mlp.shared_expert_gate.weight": "model-00005-of-00042.safetensors",
+ "model.language_model.layers.10.post_attention_layernorm.weight": "model-00005-of-00042.safetensors",
+ "model.language_model.layers.11.input_layernorm.weight": "model-00005-of-00042.safetensors",
+ "model.language_model.layers.11.mlp.experts.down_proj": "model-00005-of-00042.safetensors",
+ "model.language_model.layers.11.mlp.experts.gate_up_proj": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.mlp.gate.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.mlp.shared_expert.down_proj.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.mlp.shared_expert.gate_proj.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.mlp.shared_expert.up_proj.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.mlp.shared_expert_gate.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.post_attention_layernorm.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.self_attn.k_norm.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.self_attn.k_proj.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.self_attn.o_proj.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.self_attn.q_norm.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.self_attn.q_proj.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.11.self_attn.v_proj.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.input_layernorm.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.linear_attn.A_log": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.linear_attn.conv1d.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.linear_attn.dt_bias": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.linear_attn.in_proj_a.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.linear_attn.in_proj_b.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.linear_attn.in_proj_qkv.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.linear_attn.in_proj_z.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.linear_attn.norm.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.linear_attn.out_proj.weight": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.mlp.experts.down_proj": "model-00006-of-00042.safetensors",
+ "model.language_model.layers.12.mlp.experts.gate_up_proj": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.12.mlp.gate.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.12.mlp.shared_expert.down_proj.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.12.mlp.shared_expert.gate_proj.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.12.mlp.shared_expert.up_proj.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.12.mlp.shared_expert_gate.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.12.post_attention_layernorm.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.input_layernorm.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.linear_attn.A_log": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.linear_attn.conv1d.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.linear_attn.dt_bias": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.linear_attn.in_proj_a.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.linear_attn.in_proj_b.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.linear_attn.in_proj_qkv.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.linear_attn.in_proj_z.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.linear_attn.norm.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.linear_attn.out_proj.weight": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.mlp.experts.down_proj": "model-00007-of-00042.safetensors",
+ "model.language_model.layers.13.mlp.experts.gate_up_proj": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.13.mlp.gate.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.13.mlp.shared_expert.down_proj.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.13.mlp.shared_expert.gate_proj.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.13.mlp.shared_expert.up_proj.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.13.mlp.shared_expert_gate.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.13.post_attention_layernorm.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.input_layernorm.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.linear_attn.A_log": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.linear_attn.conv1d.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.linear_attn.dt_bias": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.linear_attn.in_proj_a.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.linear_attn.in_proj_b.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.linear_attn.in_proj_qkv.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.linear_attn.in_proj_z.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.linear_attn.norm.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.linear_attn.out_proj.weight": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.mlp.experts.down_proj": "model-00008-of-00042.safetensors",
+ "model.language_model.layers.14.mlp.experts.gate_up_proj": "model-00009-of-00042.safetensors",
+ "model.language_model.layers.14.mlp.gate.weight": "model-00009-of-00042.safetensors",
+ "model.language_model.layers.14.mlp.shared_expert.down_proj.weight": "model-00009-of-00042.safetensors",
+ "model.language_model.layers.14.mlp.shared_expert.gate_proj.weight": "model-00009-of-00042.safetensors",
+ "model.language_model.layers.14.mlp.shared_expert.up_proj.weight": "model-00009-of-00042.safetensors",
+ "model.language_model.layers.14.mlp.shared_expert_gate.weight": "model-00009-of-00042.safetensors",
+ "model.language_model.layers.14.post_attention_layernorm.weight": "model-00009-of-00042.safetensors",
+ "model.language_model.layers.15.input_layernorm.weight": "model-00009-of-00042.safetensors",
+ "model.language_model.layers.15.mlp.experts.down_proj": "model-00009-of-00042.safetensors",
+ "model.language_model.layers.15.mlp.experts.gate_up_proj": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.mlp.gate.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.mlp.shared_expert.down_proj.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.mlp.shared_expert.gate_proj.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.mlp.shared_expert.up_proj.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.mlp.shared_expert_gate.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.post_attention_layernorm.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.self_attn.k_norm.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.self_attn.k_proj.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.self_attn.o_proj.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.self_attn.q_norm.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.self_attn.q_proj.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.15.self_attn.v_proj.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.input_layernorm.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.linear_attn.A_log": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.linear_attn.conv1d.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.linear_attn.dt_bias": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.linear_attn.in_proj_a.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.linear_attn.in_proj_b.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.linear_attn.in_proj_qkv.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.linear_attn.in_proj_z.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.linear_attn.norm.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.linear_attn.out_proj.weight": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.mlp.experts.down_proj": "model-00010-of-00042.safetensors",
+ "model.language_model.layers.16.mlp.experts.gate_up_proj": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.16.mlp.gate.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.16.mlp.shared_expert.down_proj.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.16.mlp.shared_expert.gate_proj.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.16.mlp.shared_expert.up_proj.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.16.mlp.shared_expert_gate.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.16.post_attention_layernorm.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.input_layernorm.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.linear_attn.A_log": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.linear_attn.conv1d.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.linear_attn.dt_bias": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.linear_attn.in_proj_a.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.linear_attn.in_proj_b.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.linear_attn.in_proj_qkv.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.linear_attn.in_proj_z.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.linear_attn.norm.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.linear_attn.out_proj.weight": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.mlp.experts.down_proj": "model-00011-of-00042.safetensors",
+ "model.language_model.layers.17.mlp.experts.gate_up_proj": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.17.mlp.gate.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.17.mlp.shared_expert.down_proj.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.17.mlp.shared_expert.gate_proj.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.17.mlp.shared_expert.up_proj.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.17.mlp.shared_expert_gate.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.17.post_attention_layernorm.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.input_layernorm.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.linear_attn.A_log": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.linear_attn.conv1d.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.linear_attn.dt_bias": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.linear_attn.in_proj_a.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.linear_attn.in_proj_b.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.linear_attn.in_proj_qkv.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.linear_attn.in_proj_z.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.linear_attn.norm.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.linear_attn.out_proj.weight": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.mlp.experts.down_proj": "model-00012-of-00042.safetensors",
+ "model.language_model.layers.18.mlp.experts.gate_up_proj": "model-00013-of-00042.safetensors",
+ "model.language_model.layers.18.mlp.gate.weight": "model-00013-of-00042.safetensors",
+ "model.language_model.layers.18.mlp.shared_expert.down_proj.weight": "model-00013-of-00042.safetensors",
+ "model.language_model.layers.18.mlp.shared_expert.gate_proj.weight": "model-00013-of-00042.safetensors",
+ "model.language_model.layers.18.mlp.shared_expert.up_proj.weight": "model-00013-of-00042.safetensors",
+ "model.language_model.layers.18.mlp.shared_expert_gate.weight": "model-00013-of-00042.safetensors",
+ "model.language_model.layers.18.post_attention_layernorm.weight": "model-00013-of-00042.safetensors",
+ "model.language_model.layers.19.input_layernorm.weight": "model-00013-of-00042.safetensors",
+ "model.language_model.layers.19.mlp.experts.down_proj": "model-00013-of-00042.safetensors",
+ "model.language_model.layers.19.mlp.experts.gate_up_proj": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.mlp.gate.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.mlp.shared_expert.down_proj.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.mlp.shared_expert.gate_proj.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.mlp.shared_expert.up_proj.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.mlp.shared_expert_gate.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.post_attention_layernorm.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.self_attn.k_norm.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.self_attn.k_proj.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.self_attn.o_proj.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.self_attn.q_norm.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.self_attn.q_proj.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.19.self_attn.v_proj.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.input_layernorm.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.linear_attn.A_log": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.linear_attn.conv1d.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.linear_attn.dt_bias": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.linear_attn.in_proj_a.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.linear_attn.in_proj_b.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.linear_attn.in_proj_qkv.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.linear_attn.in_proj_z.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.linear_attn.norm.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.linear_attn.out_proj.weight": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.mlp.experts.down_proj": "model-00014-of-00042.safetensors",
+ "model.language_model.layers.2.mlp.experts.gate_up_proj": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.2.mlp.gate.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.2.mlp.shared_expert.down_proj.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.2.mlp.shared_expert.gate_proj.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.2.mlp.shared_expert.up_proj.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.2.mlp.shared_expert_gate.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.2.post_attention_layernorm.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.input_layernorm.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.linear_attn.A_log": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.linear_attn.conv1d.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.linear_attn.dt_bias": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.linear_attn.in_proj_a.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.linear_attn.in_proj_b.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.linear_attn.in_proj_qkv.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.linear_attn.in_proj_z.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.linear_attn.norm.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.linear_attn.out_proj.weight": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.mlp.experts.down_proj": "model-00015-of-00042.safetensors",
+ "model.language_model.layers.20.mlp.experts.gate_up_proj": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.20.mlp.gate.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.20.mlp.shared_expert.down_proj.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.20.mlp.shared_expert.gate_proj.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.20.mlp.shared_expert.up_proj.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.20.mlp.shared_expert_gate.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.20.post_attention_layernorm.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.input_layernorm.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.linear_attn.A_log": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.linear_attn.conv1d.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.linear_attn.dt_bias": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.linear_attn.in_proj_a.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.linear_attn.in_proj_b.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.linear_attn.in_proj_qkv.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.linear_attn.in_proj_z.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.linear_attn.norm.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.linear_attn.out_proj.weight": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.mlp.experts.down_proj": "model-00016-of-00042.safetensors",
+ "model.language_model.layers.21.mlp.experts.gate_up_proj": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.21.mlp.gate.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.21.mlp.shared_expert.down_proj.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.21.mlp.shared_expert.gate_proj.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.21.mlp.shared_expert.up_proj.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.21.mlp.shared_expert_gate.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.21.post_attention_layernorm.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.input_layernorm.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.linear_attn.A_log": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.linear_attn.conv1d.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.linear_attn.dt_bias": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.linear_attn.in_proj_a.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.linear_attn.in_proj_b.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.linear_attn.in_proj_qkv.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.linear_attn.in_proj_z.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.linear_attn.norm.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.linear_attn.out_proj.weight": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.mlp.experts.down_proj": "model-00017-of-00042.safetensors",
+ "model.language_model.layers.22.mlp.experts.gate_up_proj": "model-00018-of-00042.safetensors",
+ "model.language_model.layers.22.mlp.gate.weight": "model-00018-of-00042.safetensors",
+ "model.language_model.layers.22.mlp.shared_expert.down_proj.weight": "model-00018-of-00042.safetensors",
+ "model.language_model.layers.22.mlp.shared_expert.gate_proj.weight": "model-00018-of-00042.safetensors",
+ "model.language_model.layers.22.mlp.shared_expert.up_proj.weight": "model-00018-of-00042.safetensors",
+ "model.language_model.layers.22.mlp.shared_expert_gate.weight": "model-00018-of-00042.safetensors",
+ "model.language_model.layers.22.post_attention_layernorm.weight": "model-00018-of-00042.safetensors",
+ "model.language_model.layers.23.input_layernorm.weight": "model-00018-of-00042.safetensors",
+ "model.language_model.layers.23.mlp.experts.down_proj": "model-00018-of-00042.safetensors",
+ "model.language_model.layers.23.mlp.experts.gate_up_proj": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.mlp.gate.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.mlp.shared_expert.down_proj.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.mlp.shared_expert.gate_proj.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.mlp.shared_expert.up_proj.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.mlp.shared_expert_gate.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.post_attention_layernorm.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.self_attn.k_norm.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.self_attn.k_proj.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.self_attn.o_proj.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.self_attn.q_norm.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.self_attn.q_proj.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.23.self_attn.v_proj.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.input_layernorm.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.linear_attn.A_log": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.linear_attn.conv1d.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.linear_attn.dt_bias": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.linear_attn.in_proj_a.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.linear_attn.in_proj_b.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.linear_attn.in_proj_qkv.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.linear_attn.in_proj_z.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.linear_attn.norm.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.linear_attn.out_proj.weight": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.mlp.experts.down_proj": "model-00019-of-00042.safetensors",
+ "model.language_model.layers.24.mlp.experts.gate_up_proj": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.24.mlp.gate.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.24.mlp.shared_expert.down_proj.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.24.mlp.shared_expert.gate_proj.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.24.mlp.shared_expert.up_proj.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.24.mlp.shared_expert_gate.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.24.post_attention_layernorm.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.input_layernorm.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.linear_attn.A_log": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.linear_attn.conv1d.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.linear_attn.dt_bias": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.linear_attn.in_proj_a.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.linear_attn.in_proj_b.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.linear_attn.in_proj_qkv.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.linear_attn.in_proj_z.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.linear_attn.norm.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.linear_attn.out_proj.weight": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.mlp.experts.down_proj": "model-00020-of-00042.safetensors",
+ "model.language_model.layers.25.mlp.experts.gate_up_proj": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.25.mlp.gate.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.25.mlp.shared_expert.down_proj.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.25.mlp.shared_expert.gate_proj.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.25.mlp.shared_expert.up_proj.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.25.mlp.shared_expert_gate.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.25.post_attention_layernorm.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.input_layernorm.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.linear_attn.A_log": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.linear_attn.conv1d.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.linear_attn.dt_bias": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.linear_attn.in_proj_a.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.linear_attn.in_proj_b.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.linear_attn.in_proj_qkv.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.linear_attn.in_proj_z.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.linear_attn.norm.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.linear_attn.out_proj.weight": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.mlp.experts.down_proj": "model-00021-of-00042.safetensors",
+ "model.language_model.layers.26.mlp.experts.gate_up_proj": "model-00022-of-00042.safetensors",
+ "model.language_model.layers.26.mlp.gate.weight": "model-00022-of-00042.safetensors",
+ "model.language_model.layers.26.mlp.shared_expert.down_proj.weight": "model-00022-of-00042.safetensors",
+ "model.language_model.layers.26.mlp.shared_expert.gate_proj.weight": "model-00022-of-00042.safetensors",
+ "model.language_model.layers.26.mlp.shared_expert.up_proj.weight": "model-00022-of-00042.safetensors",
+ "model.language_model.layers.26.mlp.shared_expert_gate.weight": "model-00022-of-00042.safetensors",
+ "model.language_model.layers.26.post_attention_layernorm.weight": "model-00022-of-00042.safetensors",
+ "model.language_model.layers.27.input_layernorm.weight": "model-00022-of-00042.safetensors",
+ "model.language_model.layers.27.mlp.experts.down_proj": "model-00022-of-00042.safetensors",
+ "model.language_model.layers.27.mlp.experts.gate_up_proj": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.mlp.gate.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.mlp.shared_expert.down_proj.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.mlp.shared_expert.gate_proj.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.mlp.shared_expert.up_proj.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.mlp.shared_expert_gate.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.post_attention_layernorm.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.self_attn.k_norm.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.self_attn.k_proj.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.self_attn.o_proj.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.self_attn.q_norm.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.self_attn.q_proj.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.27.self_attn.v_proj.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.input_layernorm.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.linear_attn.A_log": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.linear_attn.conv1d.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.linear_attn.dt_bias": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.linear_attn.in_proj_a.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.linear_attn.in_proj_b.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.linear_attn.in_proj_qkv.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.linear_attn.in_proj_z.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.linear_attn.norm.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.linear_attn.out_proj.weight": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.mlp.experts.down_proj": "model-00023-of-00042.safetensors",
+ "model.language_model.layers.28.mlp.experts.gate_up_proj": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.28.mlp.gate.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.28.mlp.shared_expert.down_proj.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.28.mlp.shared_expert.gate_proj.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.28.mlp.shared_expert.up_proj.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.28.mlp.shared_expert_gate.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.28.post_attention_layernorm.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.input_layernorm.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.linear_attn.A_log": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.linear_attn.conv1d.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.linear_attn.dt_bias": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.linear_attn.in_proj_a.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.linear_attn.in_proj_b.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.linear_attn.in_proj_qkv.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.linear_attn.in_proj_z.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.linear_attn.norm.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.linear_attn.out_proj.weight": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.mlp.experts.down_proj": "model-00024-of-00042.safetensors",
+ "model.language_model.layers.29.mlp.experts.gate_up_proj": "model-00025-of-00042.safetensors",
+ "model.language_model.layers.29.mlp.gate.weight": "model-00025-of-00042.safetensors",
+ "model.language_model.layers.29.mlp.shared_expert.down_proj.weight": "model-00025-of-00042.safetensors",
+ "model.language_model.layers.29.mlp.shared_expert.gate_proj.weight": "model-00025-of-00042.safetensors",
+ "model.language_model.layers.29.mlp.shared_expert.up_proj.weight": "model-00025-of-00042.safetensors",
+ "model.language_model.layers.29.mlp.shared_expert_gate.weight": "model-00025-of-00042.safetensors",
+ "model.language_model.layers.29.post_attention_layernorm.weight": "model-00025-of-00042.safetensors",
+ "model.language_model.layers.3.input_layernorm.weight": "model-00025-of-00042.safetensors",
+ "model.language_model.layers.3.mlp.experts.down_proj": "model-00025-of-00042.safetensors",
+ "model.language_model.layers.3.mlp.experts.gate_up_proj": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.mlp.gate.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.mlp.shared_expert.down_proj.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.mlp.shared_expert.gate_proj.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.mlp.shared_expert.up_proj.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.mlp.shared_expert_gate.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.post_attention_layernorm.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.self_attn.k_norm.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.self_attn.k_proj.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.self_attn.o_proj.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.self_attn.q_norm.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.self_attn.q_proj.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.3.self_attn.v_proj.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.input_layernorm.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.linear_attn.A_log": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.linear_attn.conv1d.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.linear_attn.dt_bias": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.linear_attn.in_proj_a.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.linear_attn.in_proj_b.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.linear_attn.in_proj_qkv.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.linear_attn.in_proj_z.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.linear_attn.norm.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.linear_attn.out_proj.weight": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.mlp.experts.down_proj": "model-00026-of-00042.safetensors",
+ "model.language_model.layers.30.mlp.experts.gate_up_proj": "model-00027-of-00042.safetensors",
+ "model.language_model.layers.30.mlp.gate.weight": "model-00027-of-00042.safetensors",
+ "model.language_model.layers.30.mlp.shared_expert.down_proj.weight": "model-00027-of-00042.safetensors",
+ "model.language_model.layers.30.mlp.shared_expert.gate_proj.weight": "model-00027-of-00042.safetensors",
+ "model.language_model.layers.30.mlp.shared_expert.up_proj.weight": "model-00027-of-00042.safetensors",
+ "model.language_model.layers.30.mlp.shared_expert_gate.weight": "model-00027-of-00042.safetensors",
+ "model.language_model.layers.30.post_attention_layernorm.weight": "model-00027-of-00042.safetensors",
+ "model.language_model.layers.31.input_layernorm.weight": "model-00027-of-00042.safetensors",
+ "model.language_model.layers.31.mlp.experts.down_proj": "model-00027-of-00042.safetensors",
+ "model.language_model.layers.31.mlp.experts.gate_up_proj": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.mlp.gate.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.mlp.shared_expert.down_proj.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.mlp.shared_expert.gate_proj.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.mlp.shared_expert.up_proj.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.mlp.shared_expert_gate.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.post_attention_layernorm.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.self_attn.k_norm.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.self_attn.k_proj.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.self_attn.o_proj.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.self_attn.q_norm.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.self_attn.q_proj.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.31.self_attn.v_proj.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.input_layernorm.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.linear_attn.A_log": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.linear_attn.conv1d.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.linear_attn.dt_bias": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.linear_attn.in_proj_a.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.linear_attn.in_proj_b.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.linear_attn.in_proj_qkv.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.linear_attn.in_proj_z.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.linear_attn.norm.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.linear_attn.out_proj.weight": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.mlp.experts.down_proj": "model-00028-of-00042.safetensors",
+ "model.language_model.layers.32.mlp.experts.gate_up_proj": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.32.mlp.gate.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.32.mlp.shared_expert.down_proj.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.32.mlp.shared_expert.gate_proj.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.32.mlp.shared_expert.up_proj.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.32.mlp.shared_expert_gate.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.32.post_attention_layernorm.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.input_layernorm.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.linear_attn.A_log": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.linear_attn.conv1d.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.linear_attn.dt_bias": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.linear_attn.in_proj_a.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.linear_attn.in_proj_b.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.linear_attn.in_proj_qkv.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.linear_attn.in_proj_z.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.linear_attn.norm.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.linear_attn.out_proj.weight": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.mlp.experts.down_proj": "model-00029-of-00042.safetensors",
+ "model.language_model.layers.33.mlp.experts.gate_up_proj": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.33.mlp.gate.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.33.mlp.shared_expert.down_proj.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.33.mlp.shared_expert.gate_proj.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.33.mlp.shared_expert.up_proj.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.33.mlp.shared_expert_gate.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.33.post_attention_layernorm.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.input_layernorm.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.linear_attn.A_log": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.linear_attn.conv1d.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.linear_attn.dt_bias": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.linear_attn.in_proj_a.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.linear_attn.in_proj_b.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.linear_attn.in_proj_qkv.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.linear_attn.in_proj_z.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.linear_attn.norm.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.linear_attn.out_proj.weight": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.mlp.experts.down_proj": "model-00030-of-00042.safetensors",
+ "model.language_model.layers.34.mlp.experts.gate_up_proj": "model-00031-of-00042.safetensors",
+ "model.language_model.layers.34.mlp.gate.weight": "model-00031-of-00042.safetensors",
+ "model.language_model.layers.34.mlp.shared_expert.down_proj.weight": "model-00031-of-00042.safetensors",
+ "model.language_model.layers.34.mlp.shared_expert.gate_proj.weight": "model-00031-of-00042.safetensors",
+ "model.language_model.layers.34.mlp.shared_expert.up_proj.weight": "model-00031-of-00042.safetensors",
+ "model.language_model.layers.34.mlp.shared_expert_gate.weight": "model-00031-of-00042.safetensors",
+ "model.language_model.layers.34.post_attention_layernorm.weight": "model-00031-of-00042.safetensors",
+ "model.language_model.layers.35.input_layernorm.weight": "model-00031-of-00042.safetensors",
+ "model.language_model.layers.35.mlp.experts.down_proj": "model-00031-of-00042.safetensors",
+ "model.language_model.layers.35.mlp.experts.gate_up_proj": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.mlp.gate.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.mlp.shared_expert.down_proj.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.mlp.shared_expert.gate_proj.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.mlp.shared_expert.up_proj.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.mlp.shared_expert_gate.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.post_attention_layernorm.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.self_attn.k_norm.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.self_attn.k_proj.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.self_attn.o_proj.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.self_attn.q_norm.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.self_attn.q_proj.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.35.self_attn.v_proj.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.input_layernorm.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.linear_attn.A_log": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.linear_attn.conv1d.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.linear_attn.dt_bias": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.linear_attn.in_proj_a.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.linear_attn.in_proj_b.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.linear_attn.in_proj_qkv.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.linear_attn.in_proj_z.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.linear_attn.norm.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.linear_attn.out_proj.weight": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.mlp.experts.down_proj": "model-00032-of-00042.safetensors",
+ "model.language_model.layers.36.mlp.experts.gate_up_proj": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.36.mlp.gate.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.36.mlp.shared_expert.down_proj.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.36.mlp.shared_expert.gate_proj.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.36.mlp.shared_expert.up_proj.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.36.mlp.shared_expert_gate.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.36.post_attention_layernorm.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.input_layernorm.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.linear_attn.A_log": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.linear_attn.conv1d.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.linear_attn.dt_bias": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.linear_attn.in_proj_a.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.linear_attn.in_proj_b.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.linear_attn.in_proj_qkv.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.linear_attn.in_proj_z.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.linear_attn.norm.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.linear_attn.out_proj.weight": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.mlp.experts.down_proj": "model-00033-of-00042.safetensors",
+ "model.language_model.layers.37.mlp.experts.gate_up_proj": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.37.mlp.gate.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.37.mlp.shared_expert.down_proj.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.37.mlp.shared_expert.gate_proj.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.37.mlp.shared_expert.up_proj.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.37.mlp.shared_expert_gate.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.37.post_attention_layernorm.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.input_layernorm.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.linear_attn.A_log": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.linear_attn.conv1d.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.linear_attn.dt_bias": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.linear_attn.in_proj_a.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.linear_attn.in_proj_b.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.linear_attn.in_proj_qkv.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.linear_attn.in_proj_z.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.linear_attn.norm.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.linear_attn.out_proj.weight": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.mlp.experts.down_proj": "model-00034-of-00042.safetensors",
+ "model.language_model.layers.38.mlp.experts.gate_up_proj": "model-00035-of-00042.safetensors",
+ "model.language_model.layers.38.mlp.gate.weight": "model-00035-of-00042.safetensors",
+ "model.language_model.layers.38.mlp.shared_expert.down_proj.weight": "model-00035-of-00042.safetensors",
+ "model.language_model.layers.38.mlp.shared_expert.gate_proj.weight": "model-00035-of-00042.safetensors",
+ "model.language_model.layers.38.mlp.shared_expert.up_proj.weight": "model-00035-of-00042.safetensors",
+ "model.language_model.layers.38.mlp.shared_expert_gate.weight": "model-00035-of-00042.safetensors",
+ "model.language_model.layers.38.post_attention_layernorm.weight": "model-00035-of-00042.safetensors",
+ "model.language_model.layers.39.input_layernorm.weight": "model-00035-of-00042.safetensors",
+ "model.language_model.layers.39.mlp.experts.down_proj": "model-00035-of-00042.safetensors",
+ "model.language_model.layers.39.mlp.experts.gate_up_proj": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.mlp.gate.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.mlp.shared_expert.down_proj.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.mlp.shared_expert.gate_proj.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.mlp.shared_expert.up_proj.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.mlp.shared_expert_gate.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.post_attention_layernorm.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.self_attn.k_norm.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.self_attn.k_proj.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.self_attn.o_proj.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.self_attn.q_norm.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.self_attn.q_proj.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.39.self_attn.v_proj.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.input_layernorm.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.linear_attn.A_log": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.linear_attn.conv1d.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.linear_attn.dt_bias": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.linear_attn.in_proj_a.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.linear_attn.in_proj_b.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.linear_attn.in_proj_qkv.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.linear_attn.in_proj_z.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.linear_attn.norm.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.linear_attn.out_proj.weight": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.mlp.experts.down_proj": "model-00036-of-00042.safetensors",
+ "model.language_model.layers.4.mlp.experts.gate_up_proj": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.4.mlp.gate.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.4.mlp.shared_expert.down_proj.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.4.mlp.shared_expert.gate_proj.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.4.mlp.shared_expert.up_proj.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.4.mlp.shared_expert_gate.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.4.post_attention_layernorm.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.input_layernorm.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.linear_attn.A_log": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.linear_attn.conv1d.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.linear_attn.dt_bias": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.linear_attn.in_proj_a.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.linear_attn.in_proj_b.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.linear_attn.in_proj_qkv.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.linear_attn.in_proj_z.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.linear_attn.norm.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.linear_attn.out_proj.weight": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.mlp.experts.down_proj": "model-00037-of-00042.safetensors",
+ "model.language_model.layers.5.mlp.experts.gate_up_proj": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.5.mlp.gate.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.5.mlp.shared_expert.down_proj.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.5.mlp.shared_expert.gate_proj.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.5.mlp.shared_expert.up_proj.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.5.mlp.shared_expert_gate.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.5.post_attention_layernorm.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.input_layernorm.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.linear_attn.A_log": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.linear_attn.conv1d.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.linear_attn.dt_bias": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.linear_attn.in_proj_a.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.linear_attn.in_proj_b.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.linear_attn.in_proj_qkv.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.linear_attn.in_proj_z.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.linear_attn.norm.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.linear_attn.out_proj.weight": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.mlp.experts.down_proj": "model-00038-of-00042.safetensors",
+ "model.language_model.layers.6.mlp.experts.gate_up_proj": "model-00039-of-00042.safetensors",
+ "model.language_model.layers.6.mlp.gate.weight": "model-00039-of-00042.safetensors",
+ "model.language_model.layers.6.mlp.shared_expert.down_proj.weight": "model-00039-of-00042.safetensors",
+ "model.language_model.layers.6.mlp.shared_expert.gate_proj.weight": "model-00039-of-00042.safetensors",
+ "model.language_model.layers.6.mlp.shared_expert.up_proj.weight": "model-00039-of-00042.safetensors",
+ "model.language_model.layers.6.mlp.shared_expert_gate.weight": "model-00039-of-00042.safetensors",
+ "model.language_model.layers.6.post_attention_layernorm.weight": "model-00039-of-00042.safetensors",
+ "model.language_model.layers.7.input_layernorm.weight": "model-00039-of-00042.safetensors",
+ "model.language_model.layers.7.mlp.experts.down_proj": "model-00039-of-00042.safetensors",
+ "model.language_model.layers.7.mlp.experts.gate_up_proj": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.mlp.gate.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.mlp.shared_expert.down_proj.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.mlp.shared_expert.gate_proj.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.mlp.shared_expert.up_proj.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.mlp.shared_expert_gate.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.post_attention_layernorm.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.self_attn.k_norm.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.self_attn.k_proj.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.self_attn.o_proj.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.self_attn.q_norm.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.self_attn.q_proj.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.7.self_attn.v_proj.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.input_layernorm.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.linear_attn.A_log": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.linear_attn.conv1d.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.linear_attn.dt_bias": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.linear_attn.in_proj_a.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.linear_attn.in_proj_b.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.linear_attn.in_proj_qkv.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.linear_attn.in_proj_z.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.linear_attn.norm.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.linear_attn.out_proj.weight": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.mlp.experts.down_proj": "model-00040-of-00042.safetensors",
+ "model.language_model.layers.8.mlp.experts.gate_up_proj": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.8.mlp.gate.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.8.mlp.shared_expert.down_proj.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.8.mlp.shared_expert.gate_proj.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.8.mlp.shared_expert.up_proj.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.8.mlp.shared_expert_gate.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.8.post_attention_layernorm.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.input_layernorm.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.linear_attn.A_log": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.linear_attn.conv1d.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.linear_attn.dt_bias": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.linear_attn.in_proj_a.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.linear_attn.in_proj_b.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.linear_attn.in_proj_qkv.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.linear_attn.in_proj_z.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.linear_attn.norm.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.linear_attn.out_proj.weight": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.mlp.experts.down_proj": "model-00041-of-00042.safetensors",
+ "model.language_model.layers.9.mlp.experts.gate_up_proj": "model-00042-of-00042.safetensors",
+ "model.language_model.layers.9.mlp.gate.weight": "model-00042-of-00042.safetensors",
+ "model.language_model.layers.9.mlp.shared_expert.down_proj.weight": "model-00042-of-00042.safetensors",
+ "model.language_model.layers.9.mlp.shared_expert.gate_proj.weight": "model-00042-of-00042.safetensors",
+ "model.language_model.layers.9.mlp.shared_expert.up_proj.weight": "model-00042-of-00042.safetensors",
+ "model.language_model.layers.9.mlp.shared_expert_gate.weight": "model-00042-of-00042.safetensors",
+ "model.language_model.layers.9.post_attention_layernorm.weight": "model-00042-of-00042.safetensors",
+ "model.language_model.norm.weight": "model-00042-of-00042.safetensors",
+ "model.vector_embedding.0.weight": "model-00042-of-00042.safetensors",
+ "model.vector_embedding.2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.0.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.1.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.10.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.11.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.12.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.13.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.14.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.15.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.16.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.17.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.18.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.19.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.2.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.20.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.21.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.22.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.23.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.24.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.25.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.26.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.3.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.4.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.5.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.6.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.7.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.8.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.attn.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.attn.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.attn.qkv.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.attn.qkv.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.mlp.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.mlp.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.mlp.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.mlp.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.norm1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.norm1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.norm2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.blocks.9.norm2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.merger.linear_fc1.bias": "model-00042-of-00042.safetensors",
+ "model.visual.merger.linear_fc1.weight": "model-00042-of-00042.safetensors",
+ "model.visual.merger.linear_fc2.bias": "model-00042-of-00042.safetensors",
+ "model.visual.merger.linear_fc2.weight": "model-00042-of-00042.safetensors",
+ "model.visual.merger.norm.bias": "model-00042-of-00042.safetensors",
+ "model.visual.merger.norm.weight": "model-00042-of-00042.safetensors",
+ "model.visual.patch_embed.proj.bias": "model-00042-of-00042.safetensors",
+ "model.visual.patch_embed.proj.weight": "model-00042-of-00042.safetensors",
+ "model.visual.pos_embed.weight": "model-00042-of-00042.safetensors"
+ }
+}
\ No newline at end of file
diff --git a/modeling_isaac05.py b/modeling_isaac05.py
new file mode 100644
index 0000000000000000000000000000000000000000..e7e5fc64b5f7d5969c951c68f9907cad83a3528a
--- /dev/null
+++ b/modeling_isaac05.py
@@ -0,0 +1,241 @@
+"""Transformers AutoModel entry point for portable Isaac-0.5."""
+
+from __future__ import annotations
+
+from typing import Any
+
+import torch
+import torch.nn.functional as F
+import transformers
+from transformers import GenerationMixin
+from transformers.cache_utils import Cache
+from transformers.modeling_outputs import CausalLMOutputWithPast
+from transformers.models.qwen3_5_moe.modeling_qwen3_5_moe import Qwen3_5MoeModel
+
+from .configuration_isaac05 import Isaac05Config
+from .modeling_isaac05_vla import Isaac05Qwen36VLAForActionGeneration
+from .modeling_qwen35_vla import DiTActionExpertHead as _DiTActionExpertHead
+from .modeling_qwen36_moe import Isaac05Qwen36Model as _Isaac05Qwen36Model
+from .rtc import ResolvedRTCActionPrefix as _ResolvedRTCActionPrefix
+from .tensor_stream import ALL_TYPES, TensorStream
+from .tensor_stream_mrope import (
+ compute_mrope_pos_tensor_common as _compute_mrope_pos_tensor_common,
+)
+from .tensor_stream_utils import compute_mrope_pos_tensor as _compute_mrope_pos_tensor
+
+# Transformers 5.5.4 copies only direct relative imports for local model paths.
+# Keep these anchors so local and Hub loading receive the same transitive runtime files.
+_REMOTE_CODE_DEPENDENCIES = (
+ _DiTActionExpertHead,
+ _Isaac05Qwen36Model,
+ _ResolvedRTCActionPrefix,
+ _compute_mrope_pos_tensor_common,
+ _compute_mrope_pos_tensor,
+)
+
+_QUALIFIED_TRANSFORMERS_VERSION = "5.5.4"
+_QUALIFIED_CUDA_VERSION = "12.8"
+_QUALIFIED_CUDA_CAPABILITY = (9, 0)
+
+
+def require_qualified_runtime(device: str | torch.device) -> None:
+ """Fail before allocation outside the artifact-qualified inference runtime."""
+ if transformers.__version__ != _QUALIFIED_TRANSFORMERS_VERSION:
+ raise RuntimeError(
+ f"Isaac-0.5 requires Transformers {_QUALIFIED_TRANSFORMERS_VERSION}, "
+ f"got {transformers.__version__}."
+ )
+ resolved_device = torch.device(device)
+ if resolved_device.type != "cuda":
+ return
+ if torch.version.cuda != _QUALIFIED_CUDA_VERSION:
+ installed_cuda = torch.version.cuda or "unavailable"
+ raise RuntimeError(
+ f"Isaac-0.5 CUDA inference requires CUDA {_QUALIFIED_CUDA_VERSION}, got {installed_cuda}."
+ )
+ capability = torch.cuda.get_device_capability(resolved_device)
+ if capability != _QUALIFIED_CUDA_CAPABILITY:
+ raise RuntimeError(
+ "Isaac-0.5 CUDA inference requires Hopper SM90, "
+ f"got compute capability {capability[0]}.{capability[1]}."
+ )
+ device_name = torch.cuda.get_device_name(resolved_device)
+ if not device_name.startswith("NVIDIA H100"):
+ raise RuntimeError(
+ f"Isaac-0.5 CUDA inference requires NVIDIA H100, got {device_name!r}."
+ )
+
+
+def _device_from_map(device_map: Any) -> str | torch.device:
+ if isinstance(device_map, dict):
+ devices = set(device_map.values())
+ if len(devices) != 1:
+ raise RuntimeError("Isaac-0.5 requires one model device.")
+ device_map = devices.pop()
+ if isinstance(device_map, int):
+ return f"cuda:{device_map}"
+ if device_map in {"auto", "balanced", "balanced_low_0", "sequential"}:
+ return "cuda" if torch.cuda.is_available() else "cpu"
+ return device_map or "cpu"
+
+
+def coerce_tensor_stream_modality_types(tensor_stream: TensorStream) -> TensorStream:
+ """Map foreign TensorStream enums onto this dynamic module namespace."""
+ modality_types = {
+ int(modality_type.value): modality_type for modality_type in ALL_TYPES
+ }
+ try:
+ for stream in tensor_stream.streams:
+ stream.priority = [
+ modality_types[int(item.value)] for item in stream.priority
+ ]
+ for event in stream.events:
+ event.type = modality_types[int(event.type.value)]
+ except (AttributeError, KeyError) as exc:
+ raise ValueError("TensorStream contains an unsupported modality type.") from exc
+ return tensor_stream
+
+
+class Isaac05ForConditionalGeneration(
+ Isaac05Qwen36VLAForActionGeneration, GenerationMixin
+):
+ """ISAAC05 Qwen3.6 null-MoE VLA with standard causal-LM and action APIs."""
+
+ config_class = Isaac05Config
+
+ @classmethod
+ def from_pretrained(
+ cls,
+ pretrained_model_name_or_path: Any,
+ *model_args: Any,
+ **kwargs: Any,
+ ) -> Isaac05ForConditionalGeneration:
+ require_qualified_runtime(_device_from_map(kwargs.get("device_map")))
+ return super().from_pretrained(
+ pretrained_model_name_or_path, *model_args, **kwargs
+ )
+
+ def sample_action(self, tensor_stream: TensorStream, **kwargs: Any) -> torch.Tensor:
+ return super().sample_action(
+ coerce_tensor_stream_modality_types(tensor_stream), **kwargs
+ )
+
+ def get_output_embeddings(self) -> torch.nn.Module:
+ return self.lm_head
+
+ def set_output_embeddings(self, value: torch.nn.Module) -> None:
+ self.lm_head = value
+
+ def forward(
+ self,
+ input_ids: torch.LongTensor | None = None,
+ attention_mask: torch.Tensor | None = None,
+ position_ids: torch.LongTensor | None = None,
+ past_key_values: Cache | None = None,
+ inputs_embeds: torch.FloatTensor | None = None,
+ labels: torch.LongTensor | None = None,
+ pixel_values: torch.Tensor | None = None,
+ pixel_values_videos: torch.FloatTensor | None = None,
+ image_grid_thw: torch.LongTensor | None = None,
+ video_grid_thw: torch.LongTensor | None = None,
+ mm_token_type_ids: torch.IntTensor | None = None,
+ tensor_stream: TensorStream | None = None,
+ logits_to_keep: int | torch.Tensor = 0,
+ use_cache: bool | None = None,
+ output_hidden_states: bool | None = None,
+ **kwargs: Any,
+ ) -> CausalLMOutputWithPast:
+ if tensor_stream is not None:
+ if any(
+ value is not None
+ for value in (
+ input_ids,
+ inputs_embeds,
+ pixel_values,
+ pixel_values_videos,
+ )
+ ):
+ raise ValueError(
+ "tensor_stream cannot be combined with token, embedding, image, or video inputs."
+ )
+ outputs = self.model(coerce_tensor_stream_modality_types(tensor_stream))
+ else:
+ outputs = Qwen3_5MoeModel.forward(
+ self.model,
+ input_ids=input_ids,
+ attention_mask=attention_mask,
+ position_ids=position_ids,
+ past_key_values=past_key_values,
+ inputs_embeds=inputs_embeds,
+ pixel_values=pixel_values,
+ pixel_values_videos=pixel_values_videos,
+ image_grid_thw=image_grid_thw,
+ video_grid_thw=video_grid_thw,
+ mm_token_type_ids=mm_token_type_ids,
+ use_cache=use_cache,
+ output_hidden_states=output_hidden_states,
+ **kwargs,
+ )
+
+ hidden_states = outputs[0].to(dtype=self.lm_head.weight.dtype)
+ slice_indices = (
+ slice(-logits_to_keep, None)
+ if isinstance(logits_to_keep, int)
+ else logits_to_keep
+ )
+ logits = self.lm_head(hidden_states[:, slice_indices, :])
+
+ loss = None
+ if labels is not None:
+ if labels.shape[-1] != logits.shape[-2]:
+ raise ValueError(
+ f"labels length {labels.shape[-1]} does not match logits length {logits.shape[-2]}."
+ )
+ shift_logits = logits[:, :-1].float().contiguous()
+ shift_labels = labels[:, 1:].contiguous()
+ loss = F.cross_entropy(
+ shift_logits.view(-1, shift_logits.shape[-1]),
+ shift_labels.view(-1),
+ ignore_index=-100,
+ )
+
+ return CausalLMOutputWithPast(
+ loss=loss,
+ logits=logits,
+ past_key_values=outputs.past_key_values,
+ hidden_states=outputs.hidden_states,
+ attentions=outputs.attentions,
+ )
+
+ def prepare_inputs_for_generation(
+ self,
+ input_ids: torch.LongTensor,
+ past_key_values: Cache | None = None,
+ attention_mask: torch.Tensor | None = None,
+ inputs_embeds: torch.FloatTensor | None = None,
+ position_ids: torch.LongTensor | None = None,
+ use_cache: bool = True,
+ pixel_values: torch.Tensor | None = None,
+ pixel_values_videos: torch.FloatTensor | None = None,
+ image_grid_thw: torch.LongTensor | None = None,
+ video_grid_thw: torch.LongTensor | None = None,
+ **kwargs: Any,
+ ) -> dict[str, Any]:
+ model_inputs = GenerationMixin.prepare_inputs_for_generation(
+ self,
+ input_ids,
+ past_key_values=past_key_values,
+ attention_mask=attention_mask,
+ inputs_embeds=inputs_embeds,
+ position_ids=position_ids,
+ use_cache=use_cache,
+ pixel_values=pixel_values,
+ pixel_values_videos=pixel_values_videos,
+ image_grid_thw=image_grid_thw,
+ video_grid_thw=video_grid_thw,
+ **kwargs,
+ )
+ if past_key_values is not None and use_cache:
+ model_inputs["pixel_values"] = None
+ model_inputs["pixel_values_videos"] = None
+ return model_inputs
diff --git a/modeling_isaac05_vla.py b/modeling_isaac05_vla.py
new file mode 100644
index 0000000000000000000000000000000000000000..b1ef5eab7ca77151312eb4d8b13b3351c5db533b
--- /dev/null
+++ b/modeling_isaac05_vla.py
@@ -0,0 +1,91 @@
+"""Config-driven ISAAC05 Qwen3.6 null-MoE composition for the existing ISAAC VLA shell."""
+
+from __future__ import annotations
+
+from typing import Any
+
+from torch import nn
+from transformers.models.qwen3_5_moe.modeling_qwen3_5_moe import Qwen3_5MoePreTrainedModel
+
+from .modeling_qwen35_vla import (
+ Qwen35VLAForActionGeneration,
+ Qwen35VLAModel,
+ build_action_expert_head,
+ build_vector_encoder,
+)
+from .modeling_qwen36_moe import (
+ Isaac05Qwen36Model,
+ Isaac05Qwen36MoeConfig,
+ reset_isaac05_qwen36_nonpersistent_buffers,
+)
+
+
+class Isaac05Qwen36VLAConfig(Isaac05Qwen36MoeConfig):
+ """ISAAC05 backbone config with the two already-reviewed PR #3154 attachments."""
+
+ def __init__(
+ self,
+ *,
+ vector_max_states: int,
+ action_expert: dict[str, Any],
+ **kwargs: Any,
+ ) -> None:
+ kwargs["tie_word_embeddings"] = False
+ super().__init__(**kwargs)
+ self.tie_word_embeddings = False
+ self.vector_max_states = int(vector_max_states)
+ self.action_expert = dict(action_expert)
+
+
+class Isaac05Qwen36VLAModel(Isaac05Qwen36Model):
+ """The existing VLA modality shell around the null-aware ISAAC05 backbone."""
+
+ config_class = Isaac05Qwen36VLAConfig
+
+ def __init__(self, config: Isaac05Qwen36VLAConfig) -> None:
+ super().__init__(config)
+ hidden = int(config.text_config.hidden_size)
+ self.vector_embedding = build_vector_encoder(config.vector_max_states, hidden)
+ self.action_expert = build_action_expert_head(config.action_expert, vlm_dim=hidden)
+
+ # These methods are the reviewed PR #3154 VLA shell. Assigning the method
+ # descriptors keeps one implementation of rendering, mRoPE, masking, and
+ # final-hidden semantics while changing only the backbone base class.
+ _embed_text = Qwen35VLAModel._embed_text
+ _embed_vector = Qwen35VLAModel._embed_vector
+ _embed_vision = Qwen35VLAModel._embed_vision
+ embed_stream = Qwen35VLAModel.embed_stream
+ forward = Qwen35VLAModel.forward
+
+
+class Isaac05Qwen36VLAForActionGeneration(Qwen3_5MoePreTrainedModel):
+ """ISAAC05 backbone plus the unchanged vector encoder, lm head, and MolmoAct2 DiT."""
+
+ config_class = Isaac05Qwen36VLAConfig
+ _no_split_modules = ["Isaac05Qwen36DecoderLayer", "Qwen3_5MoeVisionBlock", "ActionExpertBlock"]
+
+ def __init__(self, config: Isaac05Qwen36VLAConfig) -> None:
+ super().__init__(config)
+ self.model = Isaac05Qwen36VLAModel(config)
+ self.lm_head = nn.Linear(
+ config.text_config.hidden_size,
+ config.text_config.vocab_size,
+ bias=False,
+ )
+ self.post_init()
+
+ def tie_weights(self, *args: Any, **kwargs: Any) -> None:
+ super().tie_weights(*args, **kwargs)
+ reset_isaac05_qwen36_nonpersistent_buffers(self)
+
+ get_input_embeddings = Qwen35VLAForActionGeneration.get_input_embeddings
+ action_expert = Qwen35VLAForActionGeneration.action_expert
+ sample_action = Qwen35VLAForActionGeneration.sample_action
+ train_forward = Qwen35VLAForActionGeneration.train_forward
+
+
+__all__ = [
+ "Isaac05Qwen36VLAConfig",
+ "Isaac05Qwen36VLAForActionGeneration",
+ "Isaac05Qwen36VLAModel",
+]
diff --git a/modeling_qwen35_vla.py b/modeling_qwen35_vla.py
new file mode 100644
index 0000000000000000000000000000000000000000..a7903da15163750d39db54078ff0790d14237d69
--- /dev/null
+++ b/modeling_qwen35_vla.py
@@ -0,0 +1,1609 @@
+"""HuggingFace modeling def for the Isaac05 Qwen3.5-VL flow-matching VLA.
+
+This wraps the **native** transformers ``Qwen3_5Model`` (visual + language_model) by composition and
+adds the two VLA blocks that the base Qwen3.5-VL export drops:
+
+ * ``model.vector_embedding.*`` — proprio encoder ``Linear(128->2048) -> SiLU -> Linear(2048->2048)``
+ * ``model.action_expert.*`` — DiT flow-matching expert (clean-at-1), initialized from
+ the upstream MolmoAct2 weights and ported isaac05-free from
+ ``isaac05/public/huggingface/modular_isaac.py`` (which ported it from isaac05 ``DiTActionExpert``).
+
+It loads the output of ``isaac05/scripts/core/initializations/convert_isaac05_qwen35_to_hf.py`` whose keys
+are exactly: ``lm_head.weight``, ``model.language_model.*``, ``model.visual.*``,
+``model.vector_embedding.{0,2}.weight``, ``model.action_expert.action_expert.*``.
+
+``sample_action(tensor_stream)`` mirrors isaac05 ``PerceptronTransformer.sample_action``:
+run the VLM forward once over the rendered ``TensorStream``, take the post-final-norm last-layer
+activations with the next-token-prediction truncation ``[:, :-1]`` (so ``L_model = stream_len - 1``),
+mask out the action-marker positions so the expert conditions only on pre-action context
+(text + image + proprio), and integrate the flow expert (10-step Euler, clean-at-1) into a
+``[B, H, action_dim]`` chunk in normalized action space.
+
+isaac05 ``precompute_cos_sin_3d`` is built to match HF ``apply_interleaved_mrope``
+(``isaac05/core/models/rope.py``), so feeding isaac05 integer positions
+(``compute_mrope_pos_tensor`` -> ``[3, B, L]``) to the native decoder reproduces the training-time
+rotary phases.
+
+The TensorStream layout/mrope/mask utilities come from ``isaac05.core`` because the
+``InferenceStreamBuilder`` emits core-typed streams; reusing the exact isaac05 functions keeps the
+native decoder and vision tower as the only numerical variables vs the training-time path.
+"""
+
+from __future__ import annotations
+
+import math
+from collections import defaultdict
+from collections.abc import Sequence
+from dataclasses import dataclass
+from numbers import Real
+from typing import Any, Literal
+
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from transformers.modeling_outputs import BaseModelOutputWithPast
+from transformers.models.qwen3_5.configuration_qwen3_5 import Qwen3_5Config
+from transformers.models.qwen3_5.modeling_qwen3_5 import Qwen3_5Model, Qwen3_5PreTrainedModel, Qwen3_5RMSNorm
+
+from .tensor_stream import TensorStream, TextType, VisionType, group_streams
+from .tensor_stream_utils import (
+ build_action_context_mask,
+ compute_mrope_pos_tensor,
+ first_event_start_indices,
+ modality_mask,
+ reconstruct_tensor_stream_from_compact_dict,
+)
+from .rtc import (
+ DIT_ACTION_EXPERT_CONFIG_SCHEMA_VERSION,
+ DIT_ACTION_EXPERT_CONFIG_V1_FIELDS,
+ ActionExpertStepModulation,
+ integrate_rtc_euler,
+ materialize_rtc_action_prefix,
+ prepare_rtc_conditioning,
+ project_rtc_modulation,
+ resolve_rtc_action_prefix,
+)
+
+# The continuous-action marker type that delimits where the action chunk begins. Isaac05 sets
+# FLOW_ACTION_TEXT_TYPE = TextType.action_c (value 15); the expert never attends to action tokens.
+FLOW_ACTION_TEXT_TYPE = TextType.action_c
+
+
+def normalize_vector_tokens(vector_tokens: torch.Tensor, max_states: int | None) -> torch.Tensor:
+ """Normalize vector tokens without silently truncating policy state."""
+ if vector_tokens.dim() < 1:
+ raise ValueError("vector tokens must have at least one dimension")
+ if vector_tokens.dim() == 1:
+ vector_tokens = vector_tokens.unsqueeze(0)
+ elif vector_tokens.dim() > 2:
+ vector_tokens = vector_tokens.reshape(-1, vector_tokens.shape[-1])
+ if max_states is None:
+ return vector_tokens
+ if max_states < 1:
+ raise ValueError("max_states must be >= 1")
+ if vector_tokens.shape[-1] < max_states:
+ return F.pad(vector_tokens, (0, max_states - vector_tokens.shape[-1]))
+ if vector_tokens.shape[-1] > max_states:
+ raise ValueError(
+ f"vector width {vector_tokens.shape[-1]} exceeds the configured model budget "
+ f"vector_max_states={max_states}; silent truncation is not allowed."
+ )
+ return vector_tokens
+
+
+def expand_single_frame_patches_to_temporal_tubelets(
+ hidden_states: torch.Tensor,
+ *,
+ in_channels: int,
+ patch_size: int,
+ temporal_patch_size: int,
+) -> torch.Tensor:
+ """Expand ``[N, C*P*P]`` per-frame patch rows to Qwen-temporal ``[N, C*T*P*P]`` rows.
+
+ Vendored verbatim from ``isaac05/core/models/perceptron/vision/qwen35.py``. The isaac05
+ rendering emits per-frame ``C*P*P`` patches, but the native ``Qwen3_5VisionPatchEmbed`` expects
+ pre-tiled ``C*T*P*P`` rows (it does ``.view(-1, C, T, P, P)``). This tiles along the temporal axis
+ so the same packed patches feed the native Conv3d.
+ """
+ if hidden_states.ndim != 2:
+ raise ValueError(f"hidden_states must be rank-2 [N, D], got shape={tuple(hidden_states.shape)}")
+ patch_dim = int(in_channels * patch_size * patch_size)
+ if hidden_states.shape[-1] != patch_dim:
+ raise ValueError(
+ f"single-frame patch rows must have width C*P*P; expected {patch_dim}, got {hidden_states.shape[-1]}"
+ )
+ return (
+ hidden_states.view(-1, in_channels, 1, patch_size, patch_size)
+ .expand(-1, -1, temporal_patch_size, -1, -1)
+ .reshape(-1, in_channels * temporal_patch_size * patch_size * patch_size)
+ )
+
+
+def build_vector_encoder(vector_max_states: int, hidden: int) -> nn.Module:
+ """Proprio encoder mirroring isaac05 ``build_vector_encoder`` (2-Linear SiLU MLP, no bias).
+
+ Loads ``model.vector_embedding.0.weight`` ``[hidden, vector_max_states]`` and
+ ``model.vector_embedding.2.weight`` ``[hidden, hidden]``.
+ """
+ return nn.Sequential(
+ nn.Linear(vector_max_states, hidden, bias=False),
+ nn.SiLU(),
+ nn.Linear(hidden, hidden, bias=False),
+ )
+
+
+@torch.no_grad()
+def apply_qwen35_offset_norm_correction(language_model: nn.Module) -> int:
+ """Convert isaac05 (standard) RMSNorm weights to the native Qwen3.5 unit-offset convention.
+
+ Native ``Qwen3_5RMSNorm`` computes ``x_normed * (1 + weight)`` (weight init = 0), whereas isaac05
+ trains a standard ``Qwen2RMSNorm`` (``x_normed * weight``, weight ~ 1). ``convert_isaac05_qwen35_to_hf``
+ writes the isaac05 weights verbatim, so native would apply ``(1 + w)`` instead of ``w`` — a per-channel
+ direction change that compounds across layers into a garbage final state. Subtracting
+ 1.0 makes native compute ``(1 + (w - 1)) = w``. Only ``Qwen3_5RMSNorm`` modules are touched — the gated
+ ``Qwen3_5RMSNormGated`` (a different class, standard convention) and the vision LayerNorms are untouched.
+ Idempotency is the caller's responsibility (apply exactly once, right after loading raw isaac05 weights).
+ """
+ corrected = 0
+ for module in language_model.modules():
+ if isinstance(module, Qwen3_5RMSNorm):
+ module.weight.sub_(1.0)
+ corrected += 1
+ return corrected
+
+
+# === DiT action expert (vendored upstream implementation) ===
+@dataclass
+class DiTActionExpertConfig:
+ """Plain-dataclass mirror of MolmoAct2's action-expert config (defaults = config.json)."""
+
+ hidden_size: int = 768
+ num_layers: int = 36
+ num_heads: int = 8
+ max_action_dim: int = 32
+ max_action_horizon: int = 30
+ mlp_ratio: float = 4.0
+ ffn_multiple_of: int = 256
+ timestep_embed_dim: int = 256
+ attn_dropout: float = 0.0
+ dropout: float = 0.0
+ qk_norm: bool = True
+ qk_norm_eps: float = 1e-6
+ rope: bool = True
+ context_layer_norm: bool = True
+ causal_attn: bool = False
+
+
+@dataclass
+class DiTActionExpertArgs:
+ """Configuration for the sole Isaac05 continuous-action DiT expert.
+
+ Architecture defaults mirror the released MolmoAct2 ActionExpert. Isaac05 uses a
+ catalog-wide action width and can extend the horizon without changing checkpoint
+ parameter shapes. The objective is always MolmoAct2's clean-at-1 flow convention.
+ """
+
+ action_dim: int = 64
+ action_horizon: int = 30
+ num_layers: int = 36
+ hidden_dim: int = 768
+ num_heads: int = 8
+ mlp_ratio: float = 4.0
+ num_inference_steps: int = 10
+ timestep_sampling_alpha: float = 1.5
+ timestep_sampling_beta: float = 1.0
+ timestep_sampling_scale: float = 0.999
+ timestep_sampling_offset: float = 0.001
+ train_samples_per_chunk: int = 1
+ timestep_embed_dim: int = 256
+ rtc_max_delay_steps: int = 0
+ rtc_probability: float | None = None
+ rtc_delay_sampling: Literal["uniform", "exponential", "poisson"] = "uniform"
+ rtc_poisson_mean: float = 5.0
+ mask_padded_action_rows: bool = False
+ # action_dim=64 spans the catalog (max 54), so no chunk overflows. Keep the
+ # loud-fail safety net (no silent drops). The upstream pretrained 32 dims
+ # load into the first 32; dims 32..63 are fresh-init and learned during adaptation.
+ drop_action_dim_overflow: bool = False
+ ffn_multiple_of: int = 256
+ qk_norm: bool = True
+ qk_norm_eps: float = 1e-6
+ rope: bool = True
+ context_layer_norm: bool = True
+ causal_attn: bool = False
+ # WS4: batch the K flow samples in one pass by folding K into
+ # cross-attention QUERY heads (GQA), keeping the VLM context K/V at batch B (not K*B). Removes the
+ # serial per-sample loop. K=1 is unchanged either way. Default True (validated in the 4B VLA run).
+ k_batched_cross_attn: bool = True
+ # "flash_gqa" (default): FA3 GQA over FA3-varlen ("CrossVarLen") — context K/V stays flat with K (the memory
+ # win), the production path; bf16/fp16 only, so it transparently falls back to sdpa_gqa for fp32/CPU (see
+ # ActionExpertCrossAttention.forward). "sdpa_gqa": SDPA(enable_gqa) — mask-correct fp32/CPU reference that
+ # materializes K/V (memory grows with K). Both are proven equal to the serial loop (see the k-batched tests).
+ k_batched_cross_attn_backend: str = "flash_gqa"
+
+ def __post_init__(self) -> None:
+ integer_fields = (
+ ("action_dim", self.action_dim),
+ ("action_horizon", self.action_horizon),
+ ("num_layers", self.num_layers),
+ ("hidden_dim", self.hidden_dim),
+ ("num_heads", self.num_heads),
+ ("num_inference_steps", self.num_inference_steps),
+ ("train_samples_per_chunk", self.train_samples_per_chunk),
+ ("timestep_embed_dim", self.timestep_embed_dim),
+ ("rtc_max_delay_steps", self.rtc_max_delay_steps),
+ ("ffn_multiple_of", self.ffn_multiple_of),
+ )
+ for field_name, value in integer_fields:
+ if not isinstance(value, int) or isinstance(value, bool):
+ raise ValueError(f"{field_name} must be an int.")
+ boolean_fields = (
+ ("mask_padded_action_rows", self.mask_padded_action_rows),
+ ("drop_action_dim_overflow", self.drop_action_dim_overflow),
+ ("qk_norm", self.qk_norm),
+ ("rope", self.rope),
+ ("context_layer_norm", self.context_layer_norm),
+ ("causal_attn", self.causal_attn),
+ ("k_batched_cross_attn", self.k_batched_cross_attn),
+ )
+ for field_name, value in boolean_fields:
+ if not isinstance(value, bool):
+ raise ValueError(f"{field_name} must be a bool.")
+ numeric_fields = (
+ ("mlp_ratio", self.mlp_ratio),
+ ("qk_norm_eps", self.qk_norm_eps),
+ ("timestep_sampling_alpha", self.timestep_sampling_alpha),
+ ("timestep_sampling_beta", self.timestep_sampling_beta),
+ ("timestep_sampling_scale", self.timestep_sampling_scale),
+ ("timestep_sampling_offset", self.timestep_sampling_offset),
+ ("rtc_poisson_mean", self.rtc_poisson_mean),
+ )
+ for field_name, value in numeric_fields:
+ if not isinstance(value, Real) or isinstance(value, bool) or not math.isfinite(float(value)):
+ raise ValueError(f"{field_name} must be a finite number.")
+ if self.rtc_probability is not None and (
+ not isinstance(self.rtc_probability, Real)
+ or isinstance(self.rtc_probability, bool)
+ or not math.isfinite(float(self.rtc_probability))
+ ):
+ raise ValueError("rtc_probability must be None or a finite number in [0, 1].")
+ if self.hidden_dim < 1 or self.num_heads < 1 or self.timestep_embed_dim < 1:
+ raise ValueError("hidden_dim, num_heads, and timestep_embed_dim must be >= 1.")
+ if self.hidden_dim % self.num_heads != 0:
+ raise ValueError(f"hidden_dim ({self.hidden_dim}) must be divisible by num_heads ({self.num_heads}).")
+ if self.action_dim < 1 or self.action_horizon < 1:
+ raise ValueError("action_dim and action_horizon must be >= 1.")
+ if self.num_layers < 1 or self.num_inference_steps < 1:
+ raise ValueError("num_layers and num_inference_steps must be >= 1.")
+ if self.timestep_sampling_alpha <= 0 or self.timestep_sampling_beta <= 0:
+ raise ValueError("Beta distribution parameters must be positive.")
+ if self.mlp_ratio <= 0 or self.qk_norm_eps <= 0:
+ raise ValueError("mlp_ratio and qk_norm_eps must be positive.")
+ if self.timestep_sampling_scale <= 0 or self.timestep_sampling_offset < 0:
+ raise ValueError("timestep sampling scale must be positive and offset must be non-negative.")
+ if self.timestep_sampling_offset + self.timestep_sampling_scale > 1:
+ raise ValueError("timestep_sampling_offset + timestep_sampling_scale must be <= 1.")
+ if self.train_samples_per_chunk < 1:
+ raise ValueError("train_samples_per_chunk must be >= 1.")
+ if self.rtc_max_delay_steps < 0:
+ raise ValueError("rtc_max_delay_steps must be >= 0.")
+ if self.rtc_probability is not None and not 0.0 <= self.rtc_probability <= 1.0:
+ raise ValueError("rtc_probability must be None or in [0, 1].")
+ if self.rtc_max_delay_steps == 0 and self.rtc_probability not in (None, 0.0):
+ raise ValueError("rtc_probability > 0 requires rtc_max_delay_steps > 0.")
+ if self.rtc_delay_sampling not in ("uniform", "exponential", "poisson"):
+ raise ValueError("rtc_delay_sampling must be 'uniform', 'exponential', or 'poisson'.")
+ if not math.isfinite(self.rtc_poisson_mean) or self.rtc_poisson_mean <= 0:
+ raise ValueError("rtc_poisson_mean must be finite and > 0.")
+ if self.ffn_multiple_of < 1:
+ raise ValueError("ffn_multiple_of must be >= 1.")
+ if self.k_batched_cross_attn_backend not in ("flash_gqa", "sdpa_gqa"):
+ raise ValueError("k_batched_cross_attn_backend must be 'flash_gqa' or 'sdpa_gqa'.")
+
+ def to_action_expert_config(self) -> DiTActionExpertConfig:
+ return DiTActionExpertConfig(
+ hidden_size=self.hidden_dim,
+ num_layers=self.num_layers,
+ num_heads=self.num_heads,
+ max_action_dim=self.action_dim,
+ max_action_horizon=self.action_horizon,
+ mlp_ratio=self.mlp_ratio,
+ ffn_multiple_of=self.ffn_multiple_of,
+ timestep_embed_dim=self.timestep_embed_dim,
+ attn_dropout=0.0,
+ dropout=0.0,
+ qk_norm=self.qk_norm,
+ qk_norm_eps=self.qk_norm_eps,
+ rope=self.rope,
+ context_layer_norm=self.context_layer_norm,
+ causal_attn=self.causal_attn,
+ )
+
+
+def _broadcast_action_condition(condition: torch.Tensor, actions: torch.Tensor) -> torch.Tensor:
+ if condition.dim() == actions.dim() - 1:
+ return condition.unsqueeze(1)
+ if condition.dim() == actions.dim():
+ return condition
+ raise ValueError(
+ f"Action conditioning must be [B,D] or [B,H,D]; got {tuple(condition.shape)} "
+ f"for actions {tuple(actions.shape)}."
+ )
+
+
+def _modulate(x: torch.Tensor, shift: torch.Tensor, scale: torch.Tensor) -> torch.Tensor:
+ shift = _broadcast_action_condition(shift, x)
+ scale = _broadcast_action_condition(scale, x)
+ return x * (1 + scale) + shift
+
+
+def _round_up_multiple(value: int, multiple_of: int) -> int:
+ if multiple_of <= 0:
+ return value
+ return int(math.ceil(value / multiple_of) * multiple_of)
+
+
+def _init_linear(linear: nn.Linear, *, zero: bool = False, scale: float = 1.0) -> None:
+ if zero:
+ nn.init.zeros_(linear.weight)
+ else:
+ nn.init.xavier_uniform_(linear.weight)
+ if scale != 1.0:
+ with torch.no_grad():
+ linear.weight.mul_(scale)
+ if linear.bias is not None:
+ nn.init.zeros_(linear.bias)
+
+
+@dataclass(eq=False)
+class ActionExpertContext:
+ kv_contexts: Sequence[tuple[torch.Tensor, torch.Tensor]]
+ cross_mask: torch.Tensor | None
+ self_mask: torch.Tensor | None
+ valid_action: torch.Tensor | None
+ rope_cache: tuple[torch.Tensor, torch.Tensor] | None = None
+
+
+class ActionExpertRMSNorm(nn.Module):
+ def __init__(
+ self,
+ size: int,
+ *,
+ eps: float = 1e-6,
+ elementwise_affine: bool = False,
+ device=None,
+ ) -> None:
+ super().__init__()
+ self.size = size
+ self.eps = eps
+ if elementwise_affine:
+ self.weight = nn.Parameter(torch.ones(size, device=device))
+ else:
+ self.register_parameter("weight", None)
+
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
+ with torch.autocast(enabled=False, device_type=x.device.type):
+ dtype = x.dtype
+ x_float = x.to(torch.float32)
+ variance = x_float.pow(2).mean(dim=-1, keepdim=True)
+ out = x_float * torch.rsqrt(variance + self.eps)
+ out = out.to(dtype)
+ if self.weight is not None:
+ out = out * self.weight
+ return out
+
+ def reset_parameters(self) -> None:
+ if self.weight is not None:
+ nn.init.ones_(self.weight)
+
+
+class ActionExpertRotaryEmbedding(nn.Module):
+ def __init__(self, head_dim: int, base: float = 10000.0) -> None:
+ super().__init__()
+ if head_dim % 2 != 0:
+ raise ValueError("RoPE requires an even head_dim.")
+ self.head_dim = head_dim
+ self.base = base
+
+ def build_cache(
+ self,
+ *,
+ seq_len: int,
+ device: torch.device,
+ dtype: torch.dtype,
+ ) -> tuple[torch.Tensor, torch.Tensor]:
+ half_dim = self.head_dim // 2
+ inv_freq = 1.0 / (
+ self.base ** (torch.arange(0, half_dim, device=device, dtype=torch.float32) / max(half_dim, 1))
+ )
+ positions = torch.arange(seq_len, device=device, dtype=torch.float32)
+ freqs = torch.outer(positions, inv_freq)
+ cos = freqs.cos().to(dtype=dtype).view(1, 1, seq_len, half_dim)
+ sin = freqs.sin().to(dtype=dtype).view(1, 1, seq_len, half_dim)
+ return cos, sin
+
+ def forward(
+ self,
+ q: torch.Tensor,
+ k: torch.Tensor,
+ *,
+ rope_cache: tuple[torch.Tensor, torch.Tensor] | None = None,
+ ) -> tuple[torch.Tensor, torch.Tensor]:
+ if rope_cache is None:
+ rope_cache = self.build_cache(seq_len=q.shape[-2], device=q.device, dtype=q.dtype)
+ cos, sin = rope_cache
+ half_dim = self.head_dim // 2
+
+ def _apply(x: torch.Tensor) -> torch.Tensor:
+ x1, x2 = x[..., :half_dim], x[..., half_dim:]
+ return torch.cat([x1 * cos - x2 * sin, x1 * sin + x2 * cos], dim=-1)
+
+ return _apply(q), _apply(k)
+
+
+class ActionExpertSelfAttention(nn.Module):
+ def __init__(
+ self,
+ hidden_size: int,
+ num_heads: int,
+ *,
+ attn_dropout: float = 0.0,
+ proj_dropout: float = 0.0,
+ qk_norm: bool = True,
+ qk_norm_eps: float = 1e-6,
+ use_rope: bool = True,
+ ) -> None:
+ super().__init__()
+ if hidden_size % num_heads != 0:
+ raise ValueError("hidden_size must be divisible by num_heads")
+ self.hidden_size = hidden_size
+ self.num_heads = num_heads
+ self.head_dim = hidden_size // num_heads
+ self.attn_dropout = attn_dropout
+ self.q_norm = ActionExpertRMSNorm(self.head_dim, eps=qk_norm_eps) if qk_norm else None
+ self.k_norm = ActionExpertRMSNorm(self.head_dim, eps=qk_norm_eps) if qk_norm else None
+ self.rope = ActionExpertRotaryEmbedding(self.head_dim) if use_rope else None
+ self.qkv = nn.Linear(hidden_size, hidden_size * 3)
+ self.out_proj = nn.Linear(hidden_size, hidden_size)
+ self.out_drop = nn.Dropout(proj_dropout)
+
+ def _apply_qk_norm(self, q: torch.Tensor, k: torch.Tensor) -> tuple[torch.Tensor, torch.Tensor]:
+ if self.q_norm is None or self.k_norm is None:
+ return q, k
+ return self.q_norm(q), self.k_norm(k)
+
+ def _attention(
+ self,
+ q: torch.Tensor,
+ k: torch.Tensor,
+ v: torch.Tensor,
+ *,
+ attn_mask: torch.Tensor | None = None,
+ is_causal: bool = False,
+ ) -> torch.Tensor:
+ dropout_p = self.attn_dropout if self.training else 0.0
+ out = F.scaled_dot_product_attention(
+ q.transpose(1, 2),
+ k.transpose(1, 2),
+ v.transpose(1, 2),
+ attn_mask=attn_mask,
+ dropout_p=dropout_p,
+ is_causal=is_causal,
+ )
+ return out.transpose(1, 2).contiguous()
+
+ def forward(
+ self,
+ x: torch.Tensor,
+ *,
+ attn_mask: torch.Tensor | None = None,
+ is_causal: bool = False,
+ rope_cache: tuple[torch.Tensor, torch.Tensor] | None = None,
+ ) -> torch.Tensor:
+ bsz, seq_len, _ = x.shape
+ qkv = self.qkv(x).view(bsz, seq_len, 3, self.num_heads, self.head_dim)
+ q = qkv[:, :, 0].transpose(1, 2)
+ k = qkv[:, :, 1].transpose(1, 2)
+ v = qkv[:, :, 2].contiguous()
+ q, k = self._apply_qk_norm(q, k)
+ if self.rope is not None:
+ q, k = self.rope(q, k, rope_cache=rope_cache)
+ q = q.transpose(1, 2)
+ k = k.transpose(1, 2)
+ out = self._attention(q, k, v, attn_mask=attn_mask, is_causal=is_causal)
+ out = out.reshape(bsz, seq_len, self.hidden_size)
+ return self.out_drop(self.out_proj(out))
+
+
+class ActionExpertCrossAttention(nn.Module):
+ def __init__(
+ self,
+ hidden_size: int,
+ num_heads: int,
+ *,
+ attn_dropout: float = 0.0,
+ proj_dropout: float = 0.0,
+ qk_norm: bool = True,
+ qk_norm_eps: float = 1e-6,
+ ) -> None:
+ super().__init__()
+ if hidden_size % num_heads != 0:
+ raise ValueError("hidden_size must be divisible by num_heads")
+ self.hidden_size = hidden_size
+ self.num_heads = num_heads
+ self.head_dim = hidden_size // num_heads
+ self.attn_dropout = attn_dropout
+ self.q_norm = ActionExpertRMSNorm(self.head_dim, eps=qk_norm_eps) if qk_norm else None
+ self.k_norm = ActionExpertRMSNorm(self.head_dim, eps=qk_norm_eps) if qk_norm else None
+ self.q_proj = nn.Linear(hidden_size, hidden_size)
+ self.out_proj = nn.Linear(hidden_size, hidden_size)
+ self.out_drop = nn.Dropout(proj_dropout)
+
+ def _as_heads(self, x: torch.Tensor) -> torch.Tensor:
+ if x.dim() == 4:
+ if x.shape[2] == self.num_heads:
+ return x
+ if x.shape[1] == self.num_heads:
+ return x.transpose(1, 2).contiguous()
+ raise ValueError(f"Unexpected cross-attention KV shape {tuple(x.shape)}")
+ if x.dim() != 3:
+ raise ValueError(f"Expected 3D/4D cross-attention KV, got {tuple(x.shape)}")
+ bsz, seq_len, _ = x.shape
+ return x.view(bsz, seq_len, self.num_heads, self.head_dim)
+
+ def _attention(
+ self,
+ q: torch.Tensor,
+ k: torch.Tensor,
+ v: torch.Tensor,
+ *,
+ attn_mask: torch.Tensor | None = None,
+ ) -> torch.Tensor:
+ dropout_p = self.attn_dropout if self.training else 0.0
+ out = F.scaled_dot_product_attention(
+ q.transpose(1, 2),
+ k.transpose(1, 2),
+ v.transpose(1, 2),
+ attn_mask=attn_mask,
+ dropout_p=dropout_p,
+ is_causal=False,
+ )
+ return out.transpose(1, 2).contiguous()
+
+ def forward(
+ self,
+ x: torch.Tensor,
+ *,
+ kv_k: torch.Tensor,
+ kv_v: torch.Tensor,
+ attn_mask: torch.Tensor | None = None,
+ ) -> torch.Tensor:
+ bsz, tgt_len, _ = x.shape
+ q = self.q_proj(x).view(bsz, tgt_len, self.num_heads, self.head_dim)
+ k = self._as_heads(kv_k)
+ v = self._as_heads(kv_v)
+ q = q.transpose(1, 2)
+ k = k.transpose(1, 2)
+ if self.q_norm is not None:
+ q = self.q_norm(q)
+ q = q.transpose(1, 2)
+ k = k.transpose(1, 2)
+ out = self._attention(q, k, v, attn_mask=attn_mask)
+ out = out.reshape(bsz, tgt_len, self.hidden_size)
+ return self.out_drop(self.out_proj(out))
+
+
+class ActionExpertMLP(nn.Module):
+ def __init__(
+ self,
+ hidden_size: int,
+ *,
+ mlp_ratio: float,
+ multiple_of: int,
+ dropout: float = 0.0,
+ ) -> None:
+ super().__init__()
+ inner_dim = _round_up_multiple(int(hidden_size * mlp_ratio), multiple_of)
+ self.up_proj = nn.Linear(hidden_size, inner_dim)
+ self.gate_proj = nn.Linear(hidden_size, inner_dim)
+ self.down_proj = nn.Linear(inner_dim, hidden_size)
+ self.dropout = nn.Dropout(dropout)
+
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
+ x = F.silu(self.gate_proj(x)) * self.up_proj(x)
+ x = self.dropout(x)
+ x = self.down_proj(x)
+ return self.dropout(x)
+
+
+class ActionExpertModulation(nn.Module):
+ def __init__(self, hidden_size: int, num_chunks: int) -> None:
+ super().__init__()
+ self.act = nn.SiLU()
+ self.linear = nn.Linear(hidden_size, num_chunks * hidden_size)
+
+ def forward(self, conditioning: torch.Tensor) -> torch.Tensor:
+ return self.linear(self.act(conditioning))
+
+
+class ActionExpertBlock(nn.Module):
+ def __init__(
+ self,
+ hidden_size: int,
+ num_heads: int,
+ *,
+ mlp_ratio: float,
+ ffn_multiple_of: int,
+ attn_dropout: float = 0.0,
+ dropout: float = 0.0,
+ qk_norm: bool = True,
+ qk_norm_eps: float = 1e-6,
+ rope: bool = True,
+ ) -> None:
+ super().__init__()
+ self.self_norm = ActionExpertRMSNorm(hidden_size, eps=1e-6)
+ self.cross_norm = ActionExpertRMSNorm(hidden_size, eps=1e-6)
+ self.ff_norm = ActionExpertRMSNorm(hidden_size, eps=1e-6)
+ self.self_attn = ActionExpertSelfAttention(
+ hidden_size,
+ num_heads,
+ attn_dropout=attn_dropout,
+ proj_dropout=dropout,
+ qk_norm=qk_norm,
+ qk_norm_eps=qk_norm_eps,
+ use_rope=rope,
+ )
+ self.cross_attn = ActionExpertCrossAttention(
+ hidden_size,
+ num_heads,
+ attn_dropout=attn_dropout,
+ proj_dropout=dropout,
+ qk_norm=qk_norm,
+ qk_norm_eps=qk_norm_eps,
+ )
+ self.mlp = ActionExpertMLP(
+ hidden_size,
+ mlp_ratio=mlp_ratio,
+ multiple_of=ffn_multiple_of,
+ dropout=dropout,
+ )
+ self.modulation = ActionExpertModulation(hidden_size, 9)
+
+ def forward(
+ self,
+ x: torch.Tensor,
+ conditioning: torch.Tensor,
+ *,
+ cross_kv: tuple[torch.Tensor, torch.Tensor],
+ self_attn_mask: torch.Tensor | None = None,
+ attn_mask: torch.Tensor | None = None,
+ is_causal: bool = False,
+ modulation: tuple[torch.Tensor, ...] | None = None,
+ rope_cache: tuple[torch.Tensor, torch.Tensor] | None = None,
+ rtc_suffix_conditioning: torch.Tensor | None = None,
+ rtc_prefix_conditioning: torch.Tensor | None = None,
+ rtc_prefix_mask: torch.Tensor | None = None,
+ ) -> torch.Tensor:
+ if rtc_suffix_conditioning is not None:
+ assert rtc_prefix_conditioning is not None
+ assert rtc_prefix_mask is not None
+ if modulation is not None:
+ raise ValueError("precomputed modulation and RTC conditioning are mutually exclusive.")
+ modulation = project_rtc_modulation(
+ rtc_suffix_conditioning,
+ rtc_prefix_conditioning,
+ rtc_prefix_mask,
+ modulation=self.modulation,
+ chunks=9,
+ )
+ elif modulation is None:
+ modulation = self.modulation(conditioning).chunk(9, dim=-1)
+ (
+ shift_msa,
+ scale_msa,
+ gate_msa,
+ shift_mca,
+ scale_mca,
+ gate_mca,
+ shift_mlp,
+ scale_mlp,
+ gate_mlp,
+ ) = modulation
+ x = x + _broadcast_action_condition(gate_msa, x) * self.self_attn(
+ _modulate(self.self_norm(x), shift_msa, scale_msa),
+ attn_mask=self_attn_mask,
+ is_causal=is_causal,
+ rope_cache=rope_cache,
+ )
+ x = x + _broadcast_action_condition(gate_mca, x) * self.cross_attn(
+ _modulate(self.cross_norm(x), shift_mca, scale_mca),
+ kv_k=cross_kv[0],
+ kv_v=cross_kv[1],
+ attn_mask=attn_mask,
+ )
+ x = x + _broadcast_action_condition(gate_mlp, x) * self.mlp(_modulate(self.ff_norm(x), shift_mlp, scale_mlp))
+ return x
+
+
+class ActionExpertFinalLayer(nn.Module):
+ def __init__(self, hidden_size: int, output_dim: int) -> None:
+ super().__init__()
+ self.norm = ActionExpertRMSNorm(hidden_size, eps=1e-6)
+ self.modulation = ActionExpertModulation(hidden_size, 2)
+ self.linear = nn.Linear(hidden_size, output_dim)
+
+ def forward(
+ self,
+ x: torch.Tensor,
+ conditioning: torch.Tensor,
+ *,
+ modulation: tuple[torch.Tensor, torch.Tensor] | None = None,
+ rtc_suffix_conditioning: torch.Tensor | None = None,
+ rtc_prefix_conditioning: torch.Tensor | None = None,
+ rtc_prefix_mask: torch.Tensor | None = None,
+ ) -> torch.Tensor:
+ if rtc_suffix_conditioning is not None:
+ assert rtc_prefix_conditioning is not None
+ assert rtc_prefix_mask is not None
+ if modulation is not None:
+ raise ValueError("precomputed modulation and RTC conditioning are mutually exclusive.")
+ modulation = project_rtc_modulation(
+ rtc_suffix_conditioning,
+ rtc_prefix_conditioning,
+ rtc_prefix_mask,
+ modulation=self.modulation,
+ chunks=2,
+ )
+ elif modulation is None:
+ modulation = self.modulation(conditioning).chunk(2, dim=-1)
+ shift, scale = modulation
+ return self.linear(_modulate(self.norm(x), shift, scale))
+
+
+class SinusoidalTimeEmbedding(nn.Module):
+ def __init__(self, dim: int):
+ super().__init__()
+ self.dim = dim
+
+ def forward(self, timesteps: torch.Tensor) -> torch.Tensor:
+ timestep_shape = timesteps.shape
+ timesteps = timesteps.reshape(-1)
+ half_dim = self.dim // 2
+ freq = torch.exp(
+ torch.arange(half_dim, device=timesteps.device, dtype=timesteps.dtype)
+ * (-math.log(10000.0) / max(half_dim - 1, 1))
+ )
+ args = timesteps[:, None] * freq[None, :]
+ emb = torch.cat([torch.sin(args), torch.cos(args)], dim=-1)
+ if self.dim % 2 == 1:
+ emb = F.pad(emb, (0, 1))
+ return emb.reshape(*timestep_shape, self.dim)
+
+
+class ActionExpert(nn.Module):
+ """Vendored upstream DiT implementation for HF remote-code inference."""
+
+ def __init__(
+ self,
+ config: DiTActionExpertConfig,
+ *,
+ llm_dim: int,
+ llm_kv_dim: int,
+ llm_num_layers: int,
+ device=None,
+ ):
+ super().__init__()
+ if config.num_layers != llm_num_layers:
+ raise ValueError(
+ "DiT action expert supports only per-layer conditioning with one "
+ f"action block per LLM layer (action={config.num_layers}, llm={llm_num_layers})."
+ )
+ self.config = config
+ self.hidden_size = config.hidden_size
+ self.llm_dim = llm_dim
+ self.llm_kv_dim = llm_kv_dim
+ self.action_head_dim = config.hidden_size // config.num_heads
+
+ self.time_embed = nn.Sequential(
+ SinusoidalTimeEmbedding(config.timestep_embed_dim),
+ nn.Linear(config.timestep_embed_dim, config.hidden_size, device=device),
+ nn.SiLU(),
+ nn.Linear(config.hidden_size, config.hidden_size, device=device),
+ )
+ self.action_embed = nn.Linear(config.max_action_dim, config.hidden_size, device=device)
+ self.context_k_proj = nn.Linear(self.llm_kv_dim, config.hidden_size, bias=False, device=device)
+ self.context_v_proj = nn.Linear(self.llm_kv_dim, config.hidden_size, bias=False, device=device)
+ self.context_norm = (
+ ActionExpertRMSNorm(config.hidden_size, eps=1e-6) if config.context_layer_norm else nn.Identity()
+ )
+ self._modulation_cache_key: tuple[Any, ...] | None = None
+ self._modulation_cache_value: Sequence[ActionExpertStepModulation] | None = None
+ self.blocks = nn.ModuleList(
+ [
+ ActionExpertBlock(
+ config.hidden_size,
+ config.num_heads,
+ mlp_ratio=config.mlp_ratio,
+ ffn_multiple_of=config.ffn_multiple_of,
+ attn_dropout=config.attn_dropout,
+ dropout=config.dropout,
+ qk_norm=config.qk_norm,
+ qk_norm_eps=config.qk_norm_eps,
+ rope=config.rope,
+ )
+ for _ in range(config.num_layers)
+ ]
+ )
+ self.final_layer = ActionExpertFinalLayer(config.hidden_size, config.max_action_dim)
+ self.reset_parameters()
+
+ def reset_parameters(self) -> None:
+ for module in self.time_embed.modules():
+ if isinstance(module, nn.Linear):
+ _init_linear(module)
+ _init_linear(self.action_embed)
+ _init_linear(self.context_k_proj)
+ _init_linear(self.context_v_proj)
+ if isinstance(self.context_norm, ActionExpertRMSNorm):
+ self.context_norm.reset_parameters()
+ residual_scale = (2 * max(self.config.num_layers, 1)) ** -0.5
+ for block in self.blocks:
+ _init_linear(block.self_attn.qkv)
+ _init_linear(block.self_attn.out_proj, scale=residual_scale)
+ _init_linear(block.cross_attn.q_proj)
+ _init_linear(block.cross_attn.out_proj, scale=residual_scale)
+ _init_linear(block.mlp.up_proj)
+ _init_linear(block.mlp.gate_proj)
+ _init_linear(block.mlp.down_proj, scale=residual_scale)
+ _init_linear(block.modulation.linear, zero=True)
+ block.self_norm.reset_parameters()
+ block.cross_norm.reset_parameters()
+ block.ff_norm.reset_parameters()
+ if block.self_attn.q_norm is not None:
+ block.self_attn.q_norm.reset_parameters()
+ if block.self_attn.k_norm is not None:
+ block.self_attn.k_norm.reset_parameters()
+ if block.cross_attn.q_norm is not None:
+ block.cross_attn.q_norm.reset_parameters()
+ if block.cross_attn.k_norm is not None:
+ block.cross_attn.k_norm.reset_parameters()
+ self.final_layer.norm.reset_parameters()
+ _init_linear(self.final_layer.modulation.linear, zero=True)
+ _init_linear(self.final_layer.linear, zero=True)
+
+ def _reshape_hidden_to_heads(self, x: torch.Tensor) -> torch.Tensor:
+ return x.view(x.shape[0], x.shape[1], self.config.num_heads, self.action_head_dim)
+
+ def _time_conditioning(self, timesteps: torch.Tensor) -> torch.Tensor:
+ conditioning = self.time_embed[0](timesteps)
+ first_linear = self.time_embed[1]
+ if isinstance(first_linear, nn.Linear):
+ conditioning = conditioning.to(dtype=first_linear.weight.dtype)
+ for module in list(self.time_embed.children())[1:]:
+ conditioning = module(conditioning)
+ return conditioning
+
+ def prepare_rtc_conditioning(
+ self,
+ base_timesteps: torch.Tensor,
+ prefix_mask: torch.Tensor,
+ ) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]:
+ return prepare_rtc_conditioning(
+ base_timesteps,
+ prefix_mask,
+ time_conditioning=self._time_conditioning,
+ )
+
+ def _project_kv_tensor(self, x: torch.Tensor, proj: nn.Linear) -> torch.Tensor:
+ flat = self.context_norm(proj(x))
+ return self._reshape_hidden_to_heads(flat)
+
+ def _prepare_kv_context(
+ self,
+ encoder_kv_states: Sequence[tuple[torch.Tensor, torch.Tensor]],
+ ) -> Sequence[tuple[torch.Tensor, torch.Tensor]]:
+ if len(encoder_kv_states) != len(self.blocks):
+ raise ValueError(
+ f"Expected {len(self.blocks)} KV layers for per-layer conditioning, got {len(encoder_kv_states)}."
+ )
+ kv_contexts = []
+ for block, (k_in, v_in) in zip(self.blocks, encoder_kv_states, strict=False):
+ k_ctx = self._project_kv_tensor(k_in, self.context_k_proj)
+ v_ctx = self._project_kv_tensor(v_in, self.context_v_proj)
+ k_norm = block.cross_attn.k_norm
+ if k_norm is not None:
+ k_ctx = k_norm(k_ctx.transpose(1, 2)).transpose(1, 2)
+ kv_contexts.append((k_ctx, v_ctx))
+ return kv_contexts
+
+ @staticmethod
+ def _build_cross_attention_mask(
+ encoder_attention_mask: torch.Tensor | None,
+ batch_size: int,
+ dtype: torch.dtype,
+ ) -> torch.Tensor | None:
+ if encoder_attention_mask is None:
+ return None
+ mask = encoder_attention_mask[:, None, None, :].to(dtype=dtype)
+ return (1.0 - mask) * torch.finfo(dtype).min
+
+ def _build_self_attention_mask(
+ self,
+ action_attention_mask: torch.Tensor | None,
+ seq_len: int,
+ device: torch.device,
+ dtype: torch.dtype,
+ ) -> torch.Tensor | None:
+ mask = None
+ if action_attention_mask is not None:
+ valid = action_attention_mask.to(device=device, dtype=torch.bool)
+ key_mask = (~valid)[:, None, None, :].to(dtype=dtype)
+ mask = key_mask * torch.finfo(dtype).min
+ if self.config.causal_attn:
+ causal = torch.ones(seq_len, seq_len, device=device, dtype=torch.bool).triu(diagonal=1)
+ causal = causal.unsqueeze(0).unsqueeze(0).to(dtype=dtype) * torch.finfo(dtype).min
+ mask = causal if mask is None else mask + causal
+ return mask
+
+ def prepare_context(
+ self,
+ *,
+ encoder_kv_states: Sequence[tuple[torch.Tensor, torch.Tensor]],
+ encoder_attention_mask: torch.Tensor | None = None,
+ action_attention_mask: torch.Tensor | None = None,
+ state_embeddings: torch.Tensor | None = None,
+ batch_size: int,
+ seq_len: int,
+ device: torch.device,
+ dtype: torch.dtype,
+ ) -> ActionExpertContext:
+ if state_embeddings is not None:
+ raise ValueError(
+ "DiT action expert supports only discrete state tokens. Continuous state embeddings are not supported."
+ )
+ valid_action = None
+ if action_attention_mask is not None:
+ valid_action = action_attention_mask.to(device=device, dtype=dtype).unsqueeze(-1)
+ rope_cache = None
+ if len(self.blocks) > 0 and self.blocks[0].self_attn.rope is not None:
+ rope_cache = self.blocks[0].self_attn.rope.build_cache(
+ seq_len=seq_len,
+ device=device,
+ dtype=dtype,
+ )
+ kv_contexts = self._prepare_kv_context(encoder_kv_states)
+ cross_mask = self._build_cross_attention_mask(
+ encoder_attention_mask,
+ batch_size,
+ dtype,
+ )
+ self_mask = self._build_self_attention_mask(action_attention_mask, seq_len, device, dtype)
+ return ActionExpertContext(
+ kv_contexts=kv_contexts,
+ cross_mask=cross_mask,
+ self_mask=self_mask,
+ valid_action=valid_action,
+ rope_cache=rope_cache,
+ )
+
+ def prepare_modulation_cache(
+ self,
+ timesteps: Sequence[torch.Tensor],
+ ) -> Sequence[ActionExpertStepModulation]:
+ cache = []
+ for _idx, step_t in enumerate(timesteps):
+ conditioning = self._time_conditioning(step_t)
+ block_modulations = []
+ for block in self.blocks:
+ block_modulations.append(tuple(block.modulation(conditioning).chunk(9, dim=-1)))
+ final_modulation = tuple(self.final_layer.modulation(conditioning).chunk(2, dim=-1))
+ cache.append(
+ ActionExpertStepModulation(
+ conditioning=conditioning,
+ block_modulations=block_modulations,
+ final_modulation=final_modulation,
+ )
+ )
+ return cache
+
+ def get_or_prepare_modulation_cache(
+ self,
+ timesteps: Sequence[torch.Tensor],
+ *,
+ cache_key: tuple[Any, ...] | None = None,
+ ) -> Sequence[ActionExpertStepModulation]:
+ if self.training or cache_key is None:
+ return self.prepare_modulation_cache(timesteps)
+ if self._modulation_cache_key == cache_key and self._modulation_cache_value is not None:
+ return self._modulation_cache_value
+ cached = self.prepare_modulation_cache(timesteps)
+ self._modulation_cache_key = cache_key
+ self._modulation_cache_value = cached
+ return cached
+
+ def forward_with_context(
+ self,
+ actions: torch.Tensor,
+ timesteps: torch.Tensor,
+ *,
+ context: ActionExpertContext,
+ modulation: ActionExpertStepModulation | None = None,
+ rtc_conditioning: tuple[torch.Tensor, torch.Tensor, torch.Tensor] | None = None,
+ ) -> torch.Tensor:
+ bsz, seq_len, _ = actions.shape
+ if seq_len > self.config.max_action_horizon:
+ raise ValueError(
+ f"Action sequence length {seq_len} exceeds configured max_action_horizon={self.config.max_action_horizon}"
+ )
+ if rtc_conditioning is not None:
+ if modulation is not None:
+ raise ValueError("precomputed modulation and RTC conditioning are mutually exclusive.")
+ rtc_suffix_conditioning, rtc_prefix_conditioning, rtc_prefix_mask = rtc_conditioning
+ conditioning = rtc_suffix_conditioning
+ block_modulations = [None] * len(self.blocks)
+ final_modulation = None
+ elif modulation is None:
+ rtc_suffix_conditioning = rtc_prefix_conditioning = rtc_prefix_mask = None
+ conditioning = self._time_conditioning(timesteps)
+ block_modulations: Sequence[tuple[torch.Tensor, ...] | None] = [None] * len(self.blocks)
+ final_modulation = None
+ else:
+ rtc_suffix_conditioning = rtc_prefix_conditioning = rtc_prefix_mask = None
+ conditioning = modulation.conditioning
+ block_modulations = modulation.block_modulations
+ final_modulation = modulation.final_modulation
+ x = self.action_embed(actions)
+ if context.valid_action is not None:
+ x = x * context.valid_action
+ for _idx, (block, kv_context, block_modulation) in enumerate(
+ zip(self.blocks, context.kv_contexts, block_modulations, strict=False)
+ ):
+ x = block(
+ x,
+ conditioning,
+ cross_kv=kv_context,
+ self_attn_mask=context.self_mask,
+ attn_mask=context.cross_mask,
+ is_causal=self.config.causal_attn,
+ modulation=block_modulation,
+ rope_cache=context.rope_cache,
+ rtc_suffix_conditioning=rtc_suffix_conditioning,
+ rtc_prefix_conditioning=rtc_prefix_conditioning,
+ rtc_prefix_mask=rtc_prefix_mask,
+ )
+ if context.valid_action is not None:
+ x = x * context.valid_action
+ out = self.final_layer(
+ x,
+ conditioning,
+ modulation=final_modulation,
+ rtc_suffix_conditioning=rtc_suffix_conditioning,
+ rtc_prefix_conditioning=rtc_prefix_conditioning,
+ rtc_prefix_mask=rtc_prefix_mask,
+ )
+ if context.valid_action is not None:
+ out = out * context.valid_action
+ return out
+
+ def forward(
+ self,
+ actions: torch.Tensor,
+ timesteps: torch.Tensor,
+ *,
+ encoder_kv_states: Sequence[tuple[torch.Tensor, torch.Tensor]],
+ encoder_attention_mask: torch.Tensor | None = None,
+ action_attention_mask: torch.Tensor | None = None,
+ state_embeddings: torch.Tensor | None = None,
+ ) -> torch.Tensor:
+ bsz, seq_len, _ = actions.shape
+ context = self.prepare_context(
+ encoder_kv_states=encoder_kv_states,
+ encoder_attention_mask=encoder_attention_mask,
+ action_attention_mask=action_attention_mask,
+ state_embeddings=state_embeddings,
+ batch_size=bsz,
+ seq_len=seq_len,
+ device=actions.device,
+ dtype=actions.dtype,
+ )
+ return self.forward_with_context(actions, timesteps, context=context)
+
+
+# ---------------------------------------------------------------------------
+# DiT action-expert head. The vendored upstream ActionExpert (above) is driven from
+# the backbone's FINAL-layer activations as a single shared cross-attention
+# context (clean-at-1), ported from isaac05 DiTActionExpert. Geometry comes
+# from IsaacConfig.action_expert; weights nest as action_expert.action_expert.*
+# (mirrors isaac05 flow_matching_expert.action_expert.* -> pure converter prefix swap).
+# ---------------------------------------------------------------------------
+
+
+def _validate_action_expert_contract(action_expert_cfg: dict[str, Any]) -> DiTActionExpertArgs:
+ schema_version = action_expert_cfg.get("schema_version")
+ if schema_version != DIT_ACTION_EXPERT_CONFIG_SCHEMA_VERSION:
+ raise ValueError(
+ "action_expert metadata must carry "
+ f"schema_version={DIT_ACTION_EXPERT_CONFIG_SCHEMA_VERSION}; got {schema_version!r}. "
+ "Re-export the checkpoint with the current converter."
+ )
+ expert_type = action_expert_cfg.get("type")
+ if expert_type != "dit":
+ raise ValueError(f"only the 'dit' action expert is supported; got {expert_type!r}")
+ required = DIT_ACTION_EXPERT_CONFIG_V1_FIELDS
+ missing = [key for key in required if key not in action_expert_cfg]
+ if missing:
+ raise ValueError(f"action_expert metadata is missing required fields: {missing}.")
+ unexpected = sorted(set(action_expert_cfg) - set(required) - {"schema_version", "type"})
+ if unexpected:
+ raise ValueError(f"action_expert metadata has unexpected fields for schema v1: {unexpected}.")
+ values = {key: action_expert_cfg[key] for key in required}
+ try:
+ return DiTActionExpertArgs(**values)
+ except (TypeError, ValueError) as exc:
+ raise ValueError(f"invalid action_expert metadata: {exc}") from exc
+
+
+class DiTActionExpertHead(nn.Module):
+ """DiT ActionExpert wired to a single shared final-layer context.
+
+ Ported from isaac05 ``DiTActionExpert``: context_k/v_proj project vlm_dim->hidden
+ (the isaac05-wired projections ARE the trained weights), every other weight loads
+ verbatim. The flow convention is always clean-at-1 (feed ``1 - tau``).
+ """
+
+ def __init__(self, action_expert_cfg: dict, vlm_dim: int) -> None:
+ super().__init__()
+ c = dict(action_expert_cfg)
+ args = _validate_action_expert_contract(c)
+ self.vlm_dim = int(vlm_dim)
+ self.action_dim = args.action_dim
+ self.action_horizon = args.action_horizon
+ self.num_inference_steps = args.num_inference_steps
+ cfg = args.to_action_expert_config()
+ # llm_kv_dim=vlm_dim => context_k/v_proj are vlm_dim->hidden; one shared context fed
+ # to all blocks, so llm_num_layers is nominal (satisfies the one-block-per-layer assert).
+ self.action_expert = ActionExpert(cfg, llm_dim=vlm_dim, llm_kv_dim=vlm_dim, llm_num_layers=cfg.num_layers)
+ self.hidden_dim = args.hidden_dim
+ self.args = args
+
+ def _flow_time(self, tau):
+ # Isaac05 tau is the noise level (1=noise); the DiT uses clean-at-1, so feed 1-tau.
+ return 1.0 - tau
+
+ def _build_single_context(self, vlm_activations, vlm_mask, action_mask, *, seq_len, batch_size, device, dtype):
+ ae = self.action_expert
+ encoder_attention_mask = None if vlm_mask is None else vlm_mask.to(device=device, dtype=dtype)
+ action_attention_mask = None if action_mask is None else action_mask.to(device=device)
+ k_base = ae._project_kv_tensor(vlm_activations, ae.context_k_proj) # noqa: SLF001
+ v_ctx = ae._project_kv_tensor(vlm_activations, ae.context_v_proj) # noqa: SLF001
+ kv_contexts = []
+ for block in ae.blocks:
+ k_ctx = k_base
+ k_norm = block.cross_attn.k_norm
+ if k_norm is not None:
+ k_ctx = k_norm(k_ctx.transpose(1, 2)).transpose(1, 2)
+ kv_contexts.append((k_ctx, v_ctx))
+ cross_mask = ae._build_cross_attention_mask(encoder_attention_mask, batch_size, dtype) # noqa: SLF001
+ self_mask = ae._build_self_attention_mask(action_attention_mask, seq_len, device, dtype) # noqa: SLF001
+ valid_action = None
+ if action_attention_mask is not None:
+ valid_action = action_attention_mask.to(dtype=dtype).unsqueeze(-1)
+ rope_cache = None
+ if len(ae.blocks) > 0 and ae.blocks[0].self_attn.rope is not None:
+ rope_cache = ae.blocks[0].self_attn.rope.build_cache(seq_len=seq_len, device=device, dtype=dtype)
+ return ActionExpertContext(
+ kv_contexts=kv_contexts,
+ cross_mask=cross_mask,
+ self_mask=self_mask,
+ valid_action=valid_action,
+ rope_cache=rope_cache,
+ )
+
+ # -- training timestep sampling: isaac05 Beta(1.5,1.0) noise level (== MolmoAct2's t-dist) --
+ def sample_timesteps(self, batch_size: int, device: torch.device, dtype: torch.dtype) -> torch.Tensor:
+ a = self.args
+ beta = torch.distributions.Beta(
+ torch.tensor(a.timestep_sampling_alpha, device=device, dtype=torch.float32),
+ torch.tensor(a.timestep_sampling_beta, device=device, dtype=torch.float32),
+ ).sample((batch_size,))
+ tau = beta * a.timestep_sampling_scale + a.timestep_sampling_offset
+ return tau.to(device=device, dtype=dtype)
+
+ # -- horizon embedding unused (MolmoAct2 positions come from RoPE); zeros placeholder --
+ def horizon_embeddings(
+ self,
+ horizons: int | Sequence[int],
+ *,
+ h_max: int | None = None,
+ device: torch.device,
+ dtype: torch.dtype,
+ ) -> torch.Tensor:
+ real = [horizons] if isinstance(horizons, int) else list(horizons)
+ h = max(real) if h_max is None else h_max
+ return torch.zeros(len(real), h, self.hidden_dim, device=device, dtype=dtype)
+
+ def forward(
+ self,
+ vlm_activations: torch.Tensor,
+ vlm_mask: torch.Tensor | None,
+ x_tau: torch.Tensor,
+ tau: torch.Tensor,
+ horizon_emb: torch.Tensor | None = None,
+ action_mask: torch.Tensor | None = None,
+ ) -> torch.Tensor:
+ """Differentiable single-step velocity prediction (training). Mirrors isaac05
+ ``DiTActionExpert.forward``: build the shared final-layer context once, run the expert at the
+ clean-at-1 flow time. ``x_tau`` is ``[B,H,D]`` or ``[K,B,H,D]`` (K MC samples looped against the
+ shared context to bound memory). ``horizon_emb`` is ignored (positions come from RoPE)."""
+ del horizon_emb
+ if x_tau.dim() == 4:
+ sample_count, batch_size, horizon, _ = x_tau.shape
+ elif x_tau.dim() == 3:
+ sample_count, batch_size, horizon = 1, x_tau.shape[0], x_tau.shape[1]
+ else:
+ raise ValueError(f"x_tau must be [B,H,D] or [K,B,H,D]; got {tuple(x_tau.shape)}")
+ context = self._build_single_context(
+ vlm_activations,
+ vlm_mask,
+ action_mask,
+ seq_len=horizon,
+ batch_size=batch_size,
+ device=x_tau.device,
+ dtype=x_tau.dtype,
+ )
+ if x_tau.dim() == 3:
+ return self.action_expert.forward_with_context(x_tau, self._flow_time(tau), context=context)
+ outs = [
+ self.action_expert.forward_with_context(x_tau[k], self._flow_time(tau[k]), context=context)
+ for k in range(sample_count)
+ ]
+ return torch.stack(outs, dim=0)
+
+ @torch.no_grad()
+ def sample(
+ self,
+ vlm_activations: torch.Tensor,
+ vlm_mask: torch.Tensor | None = None,
+ num_steps: int | None = None,
+ num_action_steps: int | None = None,
+ action_dim: int | None = None,
+ action_prefix: torch.Tensor | None = None,
+ prefix_length: int | Sequence[int] | torch.Tensor | None = None,
+ num_flow_samples: int = 1,
+ allow_ood_rtc_prefix: bool = False,
+ ) -> torch.Tensor:
+ num_steps = self.num_inference_steps if num_steps is None else int(num_steps)
+ horizon = self.action_horizon if num_action_steps is None else int(num_action_steps)
+ if num_steps < 1:
+ raise ValueError(f"num_steps must be >= 1; got {num_steps}.")
+ if horizon < 1 or horizon > self.action_horizon:
+ raise ValueError(f"num_action_steps must be in [1, {self.action_horizon}]; got {horizon}.")
+ full_dim = self.action_dim
+ batch_size = vlm_activations.shape[0]
+ device = vlm_activations.device
+ model_dtype = vlm_activations.dtype
+ state_dtype = torch.float32
+
+ resolved_prefix = resolve_rtc_action_prefix(
+ action_prefix=action_prefix,
+ prefix_length=prefix_length,
+ action_dim=action_dim,
+ batch_size=batch_size,
+ action_horizon=horizon,
+ expert_action_dim=full_dim,
+ rtc_max_delay_steps=self.args.rtc_max_delay_steps,
+ rtc_probability=self.args.rtc_probability,
+ device=device,
+ allow_ood=bool(allow_ood_rtc_prefix),
+ )
+ out_dim = resolved_prefix.output_dim
+
+ context = self._build_single_context(
+ vlm_activations,
+ vlm_mask,
+ action_mask=None,
+ seq_len=horizon,
+ batch_size=batch_size,
+ device=device,
+ dtype=model_dtype,
+ )
+
+ dim_mask = None
+ if out_dim < full_dim:
+ dim_mask = torch.zeros(1, 1, full_dim, dtype=state_dtype, device=device)
+ dim_mask[:, :, :out_dim] = 1.0
+
+ prefix_tensor, prefix_mask = materialize_rtc_action_prefix(
+ resolved_prefix,
+ action_prefix,
+ batch_size=batch_size,
+ action_horizon=horizon,
+ expert_action_dim=full_dim,
+ device=device,
+ dtype=state_dtype,
+ dim_mask=dim_mask,
+ )
+
+ def velocity_fn(state: torch.Tensor, flow_time: float):
+ # Preserve the released checkpoint path exactly when RTC is not requested:
+ # scalar [B] timesteps and no per-action conditioning tensors.
+ t_tensor = torch.full((batch_size,), flow_time, dtype=model_dtype, device=device)
+ rtc_conditioning = None
+ if prefix_mask is not None:
+ rtc_conditioning = self.action_expert.prepare_rtc_conditioning(
+ t_tensor,
+ prefix_mask.squeeze(-1),
+ )
+ return self.action_expert.forward_with_context(
+ state.to(model_dtype),
+ t_tensor,
+ context=context,
+ rtc_conditioning=rtc_conditioning,
+ ).to(state_dtype)
+
+ def sample_once() -> torch.Tensor:
+ x = torch.randn(batch_size, horizon, full_dim, dtype=state_dtype, device=device)
+ return integrate_rtc_euler(
+ x,
+ num_steps=num_steps,
+ velocity_fn=velocity_fn,
+ prefix_tensor=prefix_tensor,
+ prefix_mask=prefix_mask,
+ dim_mask=dim_mask,
+ )
+
+ sample_count = max(1, int(num_flow_samples or 1))
+ if sample_count == 1:
+ return sample_once()
+ return torch.stack([sample_once() for _ in range(sample_count)], dim=0).mean(dim=0)
+
+
+# === Config ===
+
+
+def build_action_expert_head(action_expert_cfg: dict[str, Any] | None, vlm_dim: int) -> nn.Module | None:
+ """Build the checkpoint-native DiT action expert from serialized metadata."""
+ if action_expert_cfg is None:
+ return None
+ return DiTActionExpertHead(action_expert_cfg, vlm_dim=vlm_dim)
+
+
+class Qwen35VLAConfig(Qwen3_5Config):
+ """Native Qwen3.5-VL config extended with the two VLA blocks.
+
+ Adds ``vector_max_states`` (proprio input width, padded to this dim before the encoder) and
+ ``action_expert`` (the DiT flow-matching head config dict).
+ Everything else (text_config / vision_config / token ids) is inherited from ``Qwen3_5Config``.
+ """
+
+ model_type = "qwen3_5_vla"
+
+ def __init__(
+ self,
+ vector_max_states: int = 128,
+ action_expert: dict[str, Any] | None = None,
+ **kwargs: Any,
+ ) -> None:
+ super().__init__(**kwargs)
+ self.vector_max_states = vector_max_states
+ self.action_expert = action_expert
+
+
+# === Inner model: native Qwen3.5-VL + proprio encoder + action expert ===
+
+
+class Qwen35VLAModel(Qwen3_5Model):
+ """Native ``Qwen3_5Model`` (``visual`` + ``language_model``) plus ``vector_embedding`` + ``action_expert``.
+
+ State-dict keys reproduce the converted checkpoint exactly: ``visual.*``, ``language_model.*``,
+ ``vector_embedding.{0,2}.weight``, ``action_expert.action_expert.*`` (all under the outer ``model.`` prefix).
+ """
+
+ config_class = Qwen35VLAConfig
+
+ def __init__(self, config: Qwen35VLAConfig) -> None:
+ super().__init__(config)
+ hidden = config.text_config.hidden_size
+ self.vector_embedding = build_vector_encoder(config.vector_max_states, hidden)
+ self.action_expert = (
+ None if config.action_expert is None else DiTActionExpertHead(config.action_expert, vlm_dim=hidden)
+ )
+
+ # -- per-modality embedders --
+
+ def _embed_text(self, token_ids: torch.Tensor) -> torch.Tensor:
+ h = self.language_model.embed_tokens(token_ids)
+ # Text events are shaped (..., 1); squeeze the singleton index dim.
+ if h.dim() >= 2 and h.size(-2) == 1:
+ h = h[..., 0, :]
+ return h
+
+ def _embed_vector(self, vector_tokens: torch.Tensor) -> torch.Tensor:
+ vt = normalize_vector_tokens(vector_tokens, self.config.vector_max_states)
+ return self.vector_embedding(vt)
+
+ def _embed_vision(self, patches: torch.Tensor, grid_thw: torch.Tensor) -> torch.Tensor:
+ vcfg = self.config.vision_config
+ # The InferenceStreamBuilder already patchifies to temporal tubelets (C*T*P*P) when
+ # temporal_patch_size>1, so the stream payload is the native-expected width. Only tile if
+ # the renderer emitted per-frame (C*P*P) rows — mirrors isaac05 Qwen35MoeVisionPatchEmbed.
+ per_frame_dim = vcfg.in_channels * vcfg.patch_size * vcfg.patch_size
+ if patches.shape[-1] == per_frame_dim:
+ patches = expand_single_frame_patches_to_temporal_tubelets(
+ patches,
+ in_channels=vcfg.in_channels,
+ patch_size=vcfg.patch_size,
+ temporal_patch_size=vcfg.temporal_patch_size,
+ )
+ # Native Qwen3_5Model.get_image_features -> BaseModelOutputWithPooling; pooler_output is a
+ # per-image tuple of merged (out_hidden_size) embeds. Concatenate back to stream order.
+ feats = self.get_image_features(patches, image_grid_thw=grid_thw)
+ return torch.cat(list(feats.pooler_output), dim=0)
+
+ def embed_stream(self, tensor_stream: TensorStream) -> torch.Tensor:
+ """Embed each modality in place and compact -> ``[B, T, D]`` interleaved embeddings.
+
+ Mirrors isaac05 ``balanced_embed_stream`` / ``embed_and_interleave``: group events by
+ modality, embed each group with the matching encoder, write back, then ``compact()`` (events
+ are stored in sequence order, so the concat IS the interleave).
+ """
+ flat_stream = tensor_stream.flat_stream()
+ per_modality_stream = group_streams(flat_stream, group_fn=lambda ev: ev.type, schedule=False)
+ per_modality_compact = {k: v.compact() for k, v in per_modality_stream.items()}
+
+ # Per-event spatial grids for vision events: dims(virtual=False) == [T, H, W].
+ grids: dict[Any, list[list[int]]] = defaultdict(list)
+ for stream in tensor_stream.streams:
+ for event in stream:
+ grids[event.type].append(event.dims(virtual=False))
+
+ embedded: dict[Any, torch.Tensor] = {}
+ for stype, payload in per_modality_compact.items():
+ mod_name = stype.modality.__name__
+ if mod_name == "VisionType":
+ grid_thw = torch.tensor(grids[stype], dtype=torch.long, device=tensor_stream.device)
+ embedded[stype] = self._embed_vision(payload, grid_thw)
+ elif mod_name == "VectorType":
+ embedded[stype] = self._embed_vector(payload)
+ else:
+ embedded[stype] = self._embed_text(payload)
+
+ embedded_ts = reconstruct_tensor_stream_from_compact_dict(tensor_stream, embedded)
+ return embedded_ts.compact() # [B, T, D]
+
+ def forward(self, tensor_stream: TensorStream, **kwargs: Any) -> BaseModelOutputWithPast: # type: ignore[override]
+ """Run the VLM over the rendered stream and return post-final-norm activations.
+
+ Replicates isaac05 ``PerceptronTransformer.forward``: interleave -> MRoPE positions ->
+ next-token-prediction truncation ``[:, :-1]`` -> native hybrid decoder -> final norm.
+ ``last_hidden_state`` has length ``L_model = stream_len - 1`` (= isaac05 ``final_activations``).
+ """
+ inputs_embeds = self.embed_stream(tensor_stream) # [B, L, D]
+
+ # MRoPE positions with isaac05's "1-D rotation equivalence": only image tokens keep their
+ # (t, h, w) grid; every non-spatial token (text / proprio / action / timestamp) collapses to
+ # (t, t, t). Mirrors PerceptronTransformer.compute_position_embeddings. Skipping this is
+ # silently wrong: raw (t, h, w) on text tokens compounds into a garbage final state.
+ pos = compute_mrope_pos_tensor(tensor_stream) # [B, L, 3]
+ mod = modality_mask(tensor_stream) # [B, L]
+ not_spatial = ~((mod == VisionType.I.value) | (mod == VisionType.P.value))
+ pos = pos.clone()
+ pos[not_spatial] = pos[not_spatial][..., 0:1].expand(-1, pos.shape[-1])
+ position_ids = pos.permute(2, 0, 1).contiguous() # [3, B, L] (native mrope format)
+
+ # Next-token-prediction truncation, exactly as isaac05 model.forward (h, pos = h[:, :-1], pos[:, :-1]).
+ inputs_embeds = inputs_embeds[:, :-1]
+ position_ids = position_ids[:, :, :-1]
+
+ # Padding-aware key mask: 1 for real tokens, 0 for TextType.padding. The training collate
+ # right-pads variable-length per-sample streams to a common length; batch=1 inference has no
+ # padding so this is all-ones (identical to the prior behavior). Truncate `mod` to L_model to
+ # match the [:, :-1] NTP shift.
+ attention_mask = (mod != TextType.padding.value).to(torch.long)[:, :-1]
+ out = self.language_model(
+ inputs_embeds=inputs_embeds,
+ position_ids=position_ids,
+ attention_mask=attention_mask,
+ use_cache=False,
+ )
+ return BaseModelOutputWithPast(last_hidden_state=out.last_hidden_state)
+
+
+# === Top-level model: inner VLA model + lm_head + sample_action ===
+
+
+@dataclass
+class Isaac05TrainingOutput:
+ """Differentiable VLA surfaces consumed by an outer training adapter."""
+
+ final_activations: torch.Tensor
+ final_embedding: nn.Module
+ flow_matching_expert: nn.Module | None
+
+
+class Qwen35VLAForActionGeneration(Qwen3_5PreTrainedModel):
+ """Top-level VLA model: ``model`` (Qwen35VLAModel) + ``lm_head``; exposes ``sample_action``.
+
+ State-dict keys: ``model.*`` + ``lm_head.weight`` — exactly the converted checkpoint. ``lm_head`` is
+ kept for future scene-generation (the trained checkpoint is ``include_scene_description=true``); it is
+ unused by ``sample_action`` (which only needs the backbone activations).
+ """
+
+ config_class = Qwen35VLAConfig
+
+ def __init__(self, config: Qwen35VLAConfig) -> None:
+ super().__init__(config)
+ self.model = Qwen35VLAModel(config)
+ self.lm_head = nn.Linear(config.text_config.hidden_size, config.text_config.vocab_size, bias=False)
+ self.post_init()
+
+ def get_input_embeddings(self) -> nn.Module:
+ return self.model.language_model.embed_tokens
+
+ @property
+ def action_expert(self) -> nn.Module:
+ return self.model.action_expert
+
+ @torch.no_grad()
+ def sample_action(
+ self,
+ tensor_stream: TensorStream,
+ *,
+ num_steps: int | None = None,
+ action_dim: int | None = None,
+ num_action_steps: int | None = None,
+ action_prefix: torch.Tensor | None = None,
+ prefix_length: int | Sequence[int] | torch.Tensor | None = None,
+ num_flow_samples: int = 1,
+ allow_ood_rtc_prefix: bool = False,
+ ) -> torch.Tensor:
+ """Integrate the flow expert into a ``[B, num_action_steps or H, action_dim]`` chunk.
+
+ Numerically mirrors isaac05 ``PerceptronTransformer.sample_action``: one VLM forward over the
+ stream, take the post-norm final activations (already ``[:, :-1]``-truncated by ``forward``),
+ build the pre-action context mask (excludes action-marker positions), and run the expert's
+ clean-at-1 Euler ODE. Output is in normalized action space (caller unnormalizes).
+ """
+ expert = self.model.action_expert
+ if expert is None:
+ raise RuntimeError("sample_action requires config.action_expert to be set (this is a VLM-only checkpoint).")
+ output = self.model(tensor_stream)
+ final = output.last_hidden_state # [B, L_model, D]
+ bsz, l_model = final.shape[0], final.shape[1]
+ device = final.device
+
+ action_start = first_event_start_indices(tensor_stream, FLOW_ACTION_TEXT_TYPE, fallback_start=int(l_model))
+ vlm_mask, _ = build_action_context_mask(
+ tensor_stream,
+ action_batch_indices=list(range(bsz)),
+ action_start_indices=action_start,
+ l_model=l_model,
+ device=device,
+ )
+ actions = expert.sample(
+ vlm_activations=final,
+ vlm_mask=vlm_mask,
+ num_steps=num_steps,
+ num_action_steps=num_action_steps,
+ action_dim=action_dim,
+ action_prefix=action_prefix,
+ prefix_length=prefix_length,
+ num_flow_samples=num_flow_samples,
+ allow_ood_rtc_prefix=allow_ood_rtc_prefix,
+ )
+ if action_dim is not None and action_dim < expert.action_dim:
+ actions = actions[:, :, :action_dim].contiguous()
+ return actions
+
+ def train_forward(self, tensor_stream: TensorStream) -> Any:
+ """Differentiable training forward → a isaac05 ``ModelOutput`` for isaac05 ``MultimodalLoss``.
+
+ Runs the VLM backbone once (already ``[:, :-1]``-truncated + post-final-norm) and exposes the
+ activations, the ``lm_head`` (the NTP classifier), and the action expert (flow MSE), exactly the
+ three surfaces an outer CE+Flow loss adapter reads."""
+ out = self.model(tensor_stream)
+ return Isaac05TrainingOutput(
+ final_activations=out.last_hidden_state,
+ final_embedding=self.lm_head,
+ flow_matching_expert=self.model.action_expert,
+ )
diff --git a/modeling_qwen36_moe.py b/modeling_qwen36_moe.py
new file mode 100644
index 0000000000000000000000000000000000000000..2d232996e4df14c145ce823a34956f1c8ebe5d99
--- /dev/null
+++ b/modeling_qwen36_moe.py
@@ -0,0 +1,1203 @@
+"""Native Qwen3.6 null-MoE components for the ISAAC05 Fast backbone.
+
+Qwen3.6 uses the Hugging Face Qwen3.5-MoE weight ABI, but Isaac05 extends its
+router with logical null experts. A checkpoint stores one physical null row
+and expands it to many equal logical routes at runtime. Selected null routes
+skip expert compute; the remaining real routes are renormalized before the
+independently gated shared expert is added.
+
+The classes in this module deliberately reuse the Transformers attention,
+GatedDeltaNet, vision, cache, RMSNorm, rotary, and fused-expert layouts. The
+only new numerical path is null-aware routing and dispatch.
+"""
+
+from __future__ import annotations
+
+import math
+from collections.abc import Callable, Mapping
+from dataclasses import dataclass
+from typing import Any, Literal, NamedTuple
+
+import torch
+from torch import nn
+from torch.nn import functional
+from transformers.modeling_layers import GradientCheckpointingLayer
+from transformers.models.qwen3_5_moe import modeling_qwen3_5_moe as qwen35_modeling
+from transformers.models.qwen3_5_moe.configuration_qwen3_5_moe import (
+ Qwen3_5MoeConfig,
+ Qwen3_5MoeTextConfig,
+)
+from transformers.models.qwen3_5_moe.modeling_qwen3_5_moe import (
+ Qwen3_5MoeDecoderLayer,
+ Qwen3_5MoeExperts,
+ Qwen3_5MoeGatedDeltaNet,
+ Qwen3_5MoeMLP,
+ Qwen3_5MoeModel,
+ Qwen3_5MoePreTrainedModel,
+ Qwen3_5MoeRMSNorm,
+ Qwen3_5MoeTextModel,
+ Qwen3_5MoeVisionModel,
+)
+
+_ROUTER_CONTRACT_VERSION = 1
+DETERMINISTIC_ROUTE_REDUCTION = "stable_token_segment_sum_v1"
+ISAAC05_ROTARY_PRECISION = "checkpoint_bf16_inv_freq_fp32_phase_v1"
+
+
+class _ExplicitRepeatKvSdpaResult(NamedTuple):
+ output: torch.Tensor
+ repeated_key: torch.Tensor
+ repeated_value: torch.Tensor
+ raw_output: torch.Tensor
+
+
+def _isaac05_layout_repeat_kv(hidden_states: torch.Tensor, num_repetitions: int) -> torch.Tensor:
+ """Repeat KV heads in Isaac05' [batch, length, heads, dim] layout."""
+ batch, sequence_length, num_key_value_heads, head_dim = hidden_states.shape
+ if num_repetitions == 1:
+ return hidden_states
+ return (
+ hidden_states.unsqueeze(3)
+ .expand(batch, sequence_length, num_key_value_heads, num_repetitions, head_dim)
+ .reshape(batch, sequence_length, num_key_value_heads * num_repetitions, head_dim)
+ )
+
+
+def _sdpa_with_repeated_kv(
+ module: nn.Module,
+ query: torch.Tensor,
+ repeated_key: torch.Tensor,
+ repeated_value: torch.Tensor,
+ attention_mask: torch.Tensor | None,
+ *,
+ dropout: float,
+ scaling: float | None,
+ is_causal: bool | None = None,
+) -> _ExplicitRepeatKvSdpaResult:
+ causal = is_causal if is_causal is not None else bool(getattr(module, "is_causal", True))
+ causal = query.shape[2] > 1 and attention_mask is None and causal
+ if torch.jit.is_tracing() and isinstance(causal, torch.Tensor):
+ causal = bool(causal.item())
+ raw_output = functional.scaled_dot_product_attention(
+ query,
+ repeated_key,
+ repeated_value,
+ attn_mask=attention_mask,
+ dropout_p=dropout,
+ scale=scaling,
+ is_causal=causal,
+ )
+ return _ExplicitRepeatKvSdpaResult(
+ output=raw_output.transpose(1, 2).contiguous(),
+ repeated_key=repeated_key,
+ repeated_value=repeated_value,
+ raw_output=raw_output,
+ )
+
+
+def _explicit_repeat_kv_sdpa_components(
+ module: nn.Module,
+ query: torch.Tensor,
+ key: torch.Tensor,
+ value: torch.Tensor,
+ attention_mask: torch.Tensor | None,
+ *,
+ dropout: float = 0.0,
+ scaling: float | None = None,
+ is_causal: bool | None = None,
+) -> _ExplicitRepeatKvSdpaResult:
+ num_key_value_groups = getattr(module, "num_key_value_groups", None)
+ if not isinstance(num_key_value_groups, int) or num_key_value_groups <= 0:
+ raise ValueError("ISAAC05 SDPA requires a positive integer num_key_value_groups")
+ repeated_key = qwen35_modeling.repeat_kv(key, num_key_value_groups)
+ repeated_value = qwen35_modeling.repeat_kv(value, num_key_value_groups)
+ return _sdpa_with_repeated_kv(
+ module,
+ query,
+ repeated_key=repeated_key,
+ repeated_value=repeated_value,
+ attention_mask=attention_mask,
+ dropout=dropout,
+ scaling=scaling,
+ is_causal=is_causal,
+ )
+
+
+def explicit_repeat_kv_sdpa(
+ module: nn.Module,
+ query: torch.Tensor,
+ key: torch.Tensor,
+ value: torch.Tensor,
+ attention_mask: torch.Tensor | None,
+ *,
+ dropout: float = 0.0,
+ scaling: float | None = None,
+ is_causal: bool | None = None,
+) -> torch.Tensor:
+ """Run the qualified ISAAC05 SDPA path after materializing grouped KV heads."""
+ return _explicit_repeat_kv_sdpa_components(
+ module,
+ query,
+ key,
+ value,
+ attention_mask,
+ dropout=dropout,
+ scaling=scaling,
+ is_causal=is_causal,
+ ).output
+
+
+def deterministic_token_segment_sum(
+ base_output: torch.Tensor,
+ token_indices: torch.Tensor,
+ routed_output: torch.Tensor,
+) -> torch.Tensor:
+ """Add routed rows by token without repeated-index CUDA atomics."""
+ if token_indices.ndim != 1 or routed_output.ndim != 2 or base_output.ndim != 2:
+ raise ValueError("deterministic route reduction requires base [N,D], indices [R], and routes [R,D]")
+ if routed_output.shape != (token_indices.numel(), base_output.shape[1]):
+ raise ValueError("route rows and token indices must match the base output width")
+ if token_indices.numel() == 0:
+ return base_output.clone()
+ if token_indices.dtype != torch.long or token_indices.device != base_output.device:
+ raise ValueError("route token indices must be int64 on the base output device")
+ if routed_output.device != base_output.device or routed_output.dtype != base_output.dtype:
+ raise ValueError("route rows must match the base output device and dtype")
+
+ order = torch.argsort(token_indices, stable=True)
+ sorted_indices = token_indices[order]
+ sorted_routes = routed_output[order]
+ unique_indices, counts = torch.unique_consecutive(sorted_indices, return_counts=True)
+ reduced = torch.segment_reduce(sorted_routes, "sum", lengths=counts)
+ output = base_output.clone()
+ output[unique_indices] = output[unique_indices] + reduced
+ return output
+
+
+def _required_metadata_value(
+ metadata: Mapping[str, Any],
+ key: str,
+ expected_type: type | tuple[type, ...],
+) -> Any:
+ value = metadata.get(key)
+ if not isinstance(value, expected_type) or (isinstance(value, bool) and expected_type is not bool):
+ raise ValueError(f"isaac05_moe.{key} has invalid value {value!r}")
+ return value
+
+
+@dataclass(frozen=True, slots=True)
+class Isaac05NullMoeContract:
+ """Validated, artifact-owned null-routing geometry and behavior."""
+
+ num_real_experts: int
+ num_null_experts: int
+ top_k: int
+ route_scale: float
+
+ @property
+ def physical_router_outputs(self) -> int:
+ return self.num_real_experts + 1
+
+ @property
+ def logical_router_outputs(self) -> int:
+ return self.num_real_experts + self.num_null_experts
+
+ @classmethod
+ def from_metadata(cls, metadata: Mapping[str, Any]) -> Isaac05NullMoeContract:
+ """Parse the versioned Isaac05 metadata, rejecting unsupported variants."""
+
+ version = _required_metadata_value(metadata, "router_contract_version", int)
+ if version != _ROUTER_CONTRACT_VERSION:
+ raise ValueError(f"isaac05_moe.router_contract_version must be {_ROUTER_CONTRACT_VERSION}, got {version}")
+
+ num_real = _required_metadata_value(metadata, "num_real_experts", int)
+ num_null = _required_metadata_value(metadata, "num_null_experts", int)
+ top_k = _required_metadata_value(metadata, "top_k", int)
+ route_scale = float(_required_metadata_value(metadata, "route_scale", (int, float)))
+ if num_real <= 0 or num_null <= 0:
+ raise ValueError("isaac05_moe requires positive real and null expert counts")
+ if top_k <= 0 or top_k > num_real + num_null:
+ raise ValueError(f"isaac05_moe.top_k must be in [1, {num_real + num_null}], got {top_k}")
+ if not math.isfinite(route_scale) or route_scale <= 0:
+ raise ValueError(f"isaac05_moe.route_scale must be finite and positive, got {route_scale}")
+
+ contract = cls(
+ num_real_experts=num_real,
+ num_null_experts=num_null,
+ top_k=top_k,
+ route_scale=route_scale,
+ )
+ exact_values: dict[str, object] = {
+ "router_contract": [num_real, num_null],
+ "physical_router_outputs": contract.physical_router_outputs,
+ "logical_router_outputs": contract.logical_router_outputs,
+ "shared_null_router_row": True,
+ "score_func": "softmax",
+ "route_norm": True,
+ "score_before_experts": False,
+ "uses_expert_bias": False,
+ }
+ for key, expected in exact_values.items():
+ actual = metadata.get(key)
+ if actual != expected:
+ raise ValueError(f"isaac05_moe.{key} must be {expected!r}, got {actual!r}")
+ return contract
+
+ @classmethod
+ def from_text_config(cls, config: Qwen3_5MoeTextConfig) -> Isaac05NullMoeContract:
+ metadata = getattr(config, "isaac05_moe", None)
+ if not isinstance(metadata, Mapping):
+ raise ValueError("ISAAC05 Qwen3.6 text_config requires a isaac05_moe object")
+ contract = cls.from_metadata(metadata)
+ if config.num_experts != contract.num_real_experts:
+ raise ValueError(
+ "text_config.num_experts must match isaac05_moe.num_real_experts: "
+ f"{config.num_experts} != {contract.num_real_experts}"
+ )
+ if config.num_experts_per_tok != contract.top_k:
+ raise ValueError(
+ "text_config.num_experts_per_tok must match isaac05_moe.top_k: "
+ f"{config.num_experts_per_tok} != {contract.top_k}"
+ )
+ if config.shared_expert_intermediate_size != config.moe_intermediate_size:
+ raise ValueError(
+ "ISAAC05 Qwen3.6 requires exactly one shared expert: "
+ "shared_expert_intermediate_size must equal moe_intermediate_size"
+ )
+ return contract
+
+
+class Isaac05Qwen36MoeConfig(Qwen3_5MoeConfig):
+ """Qwen3.5-MoE ABI config that requires the complete ISAAC05 null contract."""
+
+ def __post_init__(self, **kwargs: Any) -> None:
+ super().__post_init__(**kwargs)
+ root_metadata = getattr(self, "isaac05_moe", None)
+ text_metadata = getattr(self.text_config, "isaac05_moe", None)
+ if not isinstance(root_metadata, Mapping) or not isinstance(text_metadata, Mapping):
+ raise ValueError("ISAAC05 Qwen3.6 config requires matching root and text_config isaac05_moe objects")
+ if dict(root_metadata) != dict(text_metadata):
+ raise ValueError("ISAAC05 Qwen3.6 root and text_config isaac05_moe objects must be identical")
+ Isaac05NullMoeContract.from_text_config(self.text_config)
+
+
+class Isaac05NullRoutingOutput(NamedTuple):
+ """Router values retained for numerical parity tests and compact dispatch."""
+
+ physical_logits: torch.Tensor
+ logical_probabilities: torch.Tensor
+ selected_experts: torch.Tensor
+ real_route_weights: torch.Tensor
+
+
+class Isaac05NullTopKRouter(nn.Linear):
+ """Compact physical projection with deterministic logical null routing.
+
+ Subclassing ``nn.Linear`` preserves the exported ``gate.weight`` state key.
+ ``_router_contract`` is nonpersistent because the Isaac05 exporter consumes
+ the DCP buffer and records it in ``config.json`` instead of the HF shards.
+ """
+
+ def __init__(self, config: Qwen3_5MoeTextConfig) -> None:
+ contract = Isaac05NullMoeContract.from_text_config(config)
+ super().__init__(
+ config.hidden_size,
+ contract.physical_router_outputs,
+ bias=False,
+ )
+ self.contract = contract
+ self.top_k = contract.top_k
+ self.num_experts = contract.num_real_experts
+ self.num_null_experts = contract.num_null_experts
+ self.num_logical_experts = contract.logical_router_outputs
+ self.register_buffer(
+ "_router_contract",
+ torch.tensor([self.num_experts, self.num_null_experts], dtype=torch.int64),
+ persistent=False,
+ )
+
+ def reset_nonpersistent_buffer(self) -> None:
+ self._router_contract = torch.tensor(
+ [self.num_experts, self.num_null_experts],
+ dtype=torch.int64,
+ device=self.weight.device,
+ )
+
+ def route(self, hidden_states: torch.Tensor) -> Isaac05NullRoutingOutput:
+ hidden_states = hidden_states.reshape(-1, self.in_features)
+ physical_logits = functional.linear(hidden_states, self.weight)
+ real_logits = physical_logits[:, : self.num_experts]
+ shared_null_logit = physical_logits[:, self.num_experts :]
+ logical_logits = torch.cat(
+ [real_logits, shared_null_logit.expand(-1, self.num_null_experts)],
+ dim=-1,
+ )
+
+ # Isaac05 performs scoring in fp32.
+ logical_probabilities = functional.softmax(logical_logits, dtype=torch.float32, dim=-1)
+ # The logical tensor already exists for the router ABI and auxiliary
+ # outputs. One stable sort is faster than two candidate sorts at the
+ # production 256-real/256-null geometry while retaining exact Isaac05
+ # tie behavior.
+ selected_experts = self._expanded_stable_topk(logical_probabilities)
+ selected_probabilities = logical_probabilities.gather(-1, selected_experts)
+
+ real_route_mask = selected_experts < self.num_experts
+ selected_real_probabilities = torch.where(
+ real_route_mask,
+ selected_probabilities,
+ torch.zeros_like(selected_probabilities),
+ )
+ real_mass = selected_real_probabilities.sum(dim=-1, keepdim=True)
+ # Avoid a hidden 0/0 branch in autograd. All-null tokens stay exactly zero.
+ safe_real_mass = torch.where(real_mass > 0, real_mass, torch.ones_like(real_mass))
+ real_route_weights = selected_real_probabilities / safe_real_mass
+ real_route_weights = real_route_weights * self.contract.route_scale
+
+ return Isaac05NullRoutingOutput(
+ physical_logits=physical_logits,
+ logical_probabilities=logical_probabilities,
+ selected_experts=selected_experts,
+ real_route_weights=real_route_weights,
+ )
+
+ def _expanded_stable_topk(self, logical_probabilities: torch.Tensor) -> torch.Tensor:
+ """Exact logical-slot selector used by the runtime and parity tests."""
+
+ return torch.argsort(
+ logical_probabilities,
+ dim=-1,
+ descending=True,
+ stable=True,
+ )[:, : self.top_k].contiguous()
+
+ def forward(self, hidden_states: torch.Tensor) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]:
+ """Return the same tuple shape as the stock Qwen3.5-MoE router."""
+
+ routing = self.route(hidden_states)
+ return routing.logical_probabilities, routing.real_route_weights, routing.selected_experts
+
+
+class Isaac05NullMoeBranches(NamedTuple):
+ """Separated routed/shared branches used by the parity ladder."""
+
+ output: torch.Tensor
+ routed_output: torch.Tensor
+ shared_expert_output: torch.Tensor
+ routing: Isaac05NullRoutingOutput
+
+
+class _CompactRealRoutes(NamedTuple):
+ token_indices: torch.Tensor
+ expert_indices: torch.Tensor
+ expert_scores: torch.Tensor
+ offsets: torch.Tensor
+
+
+class Isaac05NullDispatchTrace(NamedTuple):
+ """Exact route values at the two dispatch normalization boundaries."""
+
+ logical_probabilities: torch.Tensor
+ selected_experts: torch.Tensor
+ selected_route_weights: torch.Tensor
+ dispatch_token_indices: torch.Tensor
+ dispatch_expert_indices: torch.Tensor
+ dispatch_route_weights: torch.Tensor
+
+
+class Isaac05NullSparseMoeBlock(nn.Module):
+ """Qwen fused real experts with Isaac05 null-route dropping."""
+
+ def __init__(self, config: Qwen3_5MoeTextConfig) -> None:
+ super().__init__()
+ self.contract = Isaac05NullMoeContract.from_text_config(config)
+ self.gate = Isaac05NullTopKRouter(config)
+ self.experts = Qwen3_5MoeExperts(config)
+ self.shared_expert = Qwen3_5MoeMLP(
+ config,
+ intermediate_size=config.shared_expert_intermediate_size,
+ )
+ self.shared_expert_gate = nn.Linear(config.hidden_size, 1, bias=False)
+ route_reduction = getattr(config, "_isaac05_route_reduction", DETERMINISTIC_ROUTE_REDUCTION)
+ if route_reduction != DETERMINISTIC_ROUTE_REDUCTION:
+ raise ValueError(
+ f"Unsupported ISAAC05 route reduction {route_reduction!r}; expected {DETERMINISTIC_ROUTE_REDUCTION!r}."
+ )
+ # Grouped GEMMs remain unchanged; only repeated-token accumulation uses
+ # the stable segment reducer qualified by the Step-0 parity workflow.
+ self.deterministic_route_reduction = True
+ self.dispatch_trace_observer: Callable[[Isaac05NullDispatchTrace], None] | None = None
+
+ @property
+ def _is_production_geometry(self) -> bool:
+ return (
+ self.contract.num_real_experts == 256 and self.contract.num_null_experts == 256 and self.contract.top_k == 8
+ )
+
+ @staticmethod
+ def _grouped_mm_operator() -> Any | None:
+ if hasattr(functional, "grouped_mm"):
+ return functional.grouped_mm
+ return getattr(torch, "_grouped_mm", None)
+
+ def _supports_grouped_mm(self, hidden_states: torch.Tensor) -> bool:
+ if hidden_states.device.type != "cuda" or hidden_states.dtype is not torch.bfloat16:
+ return False
+ if (
+ self.experts.gate_up_proj.device != hidden_states.device
+ or self.experts.down_proj.device != hidden_states.device
+ ):
+ return False
+ if self.experts.gate_up_proj.dtype is not torch.bfloat16 or self.experts.down_proj.dtype is not torch.bfloat16:
+ return False
+ # CUDA grouped GEMM requires row strides aligned to 16 bytes for BF16.
+ if hidden_states.shape[-1] % 8 != 0 or self.experts.intermediate_dim % 8 != 0:
+ return False
+ if self._grouped_mm_operator() is None:
+ return False
+ major, _ = torch.cuda.get_device_capability(hidden_states.device)
+ return major >= 8
+
+ def dispatch_backend(self, hidden_states: torch.Tensor) -> Literal["grouped_mm", "eager"]:
+ """Select the qualified backend and fail closed for production CUDA."""
+
+ if self._supports_grouped_mm(hidden_states):
+ return "grouped_mm"
+ if self._is_production_geometry and hidden_states.device.type == "cuda":
+ raise RuntimeError(
+ "Production ISAAC05 null-MoE CUDA inference requires BF16 torch grouped_mm on SM80 or newer; "
+ f"got dtype={hidden_states.dtype}, capability={torch.cuda.get_device_capability(hidden_states.device)}"
+ )
+ return "eager"
+
+ def _compact_real_routes(
+ self,
+ hidden_states: torch.Tensor,
+ routing: Isaac05NullRoutingOutput,
+ ) -> _CompactRealRoutes:
+ num_tokens, top_k = routing.selected_experts.shape
+ token_indices = torch.arange(num_tokens, device=hidden_states.device).unsqueeze(1).expand(-1, top_k)
+ real_mask = routing.selected_experts < self.contract.num_real_experts
+ expert_indices = routing.selected_experts[real_mask]
+ token_indices = token_indices[real_mask]
+
+ # Reproduce Isaac05's two normalization stages and their operation
+ # order. The first normalizes all selected logical routes; after null
+ # routes are removed, the second renormalizes the real-route prefix.
+ selected_probabilities = routing.logical_probabilities.gather(-1, routing.selected_experts)
+ selected_scores = selected_probabilities / (selected_probabilities.sum(dim=-1, keepdim=True) + 1e-20)
+ selected_scores = selected_scores * self.contract.route_scale
+ expert_scores = selected_scores[real_mask]
+
+ order = torch.argsort(expert_indices, stable=True)
+ expert_indices = expert_indices[order]
+ token_indices = token_indices[order]
+ expert_scores = expert_scores[order]
+ counts = torch.bincount(expert_indices, minlength=self.contract.num_real_experts)
+ offsets = torch.cumsum(counts, dim=0, dtype=torch.int32)
+
+ unscaled_scores = expert_scores / self.contract.route_scale
+ if self.deterministic_route_reduction:
+ selected_unscaled_scores = selected_scores / self.contract.route_scale
+ real_mass = torch.where(
+ real_mask,
+ selected_unscaled_scores,
+ torch.zeros_like(selected_unscaled_scores),
+ ).sum(dim=-1)
+ else:
+ real_mass = unscaled_scores.new_zeros(num_tokens)
+ real_mass.index_add_(0, token_indices, unscaled_scores)
+ expert_scores = (unscaled_scores / real_mass.clamp_min(1e-6)[token_indices]) * self.contract.route_scale
+ routes = _CompactRealRoutes(token_indices, expert_indices, expert_scores, offsets)
+ if self.dispatch_trace_observer is not None:
+ self.dispatch_trace_observer(
+ Isaac05NullDispatchTrace(
+ logical_probabilities=routing.logical_probabilities,
+ selected_experts=routing.selected_experts,
+ selected_route_weights=selected_scores,
+ dispatch_token_indices=routes.token_indices,
+ dispatch_expert_indices=routes.expert_indices,
+ dispatch_route_weights=routes.expert_scores,
+ )
+ )
+ return routes
+
+ def _dispatch_real_experts_eager(
+ self,
+ hidden_states: torch.Tensor,
+ routes: _CompactRealRoutes,
+ shared_output: torch.Tensor,
+ ) -> tuple[torch.Tensor, torch.Tensor]:
+ routed_output = torch.zeros_like(hidden_states)
+ combined_output = shared_output.clone()
+ start = 0
+ deterministic_token_indices: list[torch.Tensor] = []
+ deterministic_outputs: list[torch.Tensor] = []
+ # One device-to-host transfer avoids one synchronization per active expert.
+ for expert_index, end in enumerate(routes.offsets.tolist()):
+ if start == end:
+ continue
+ token_indices = routes.token_indices[start:end]
+ current_state = hidden_states[token_indices]
+ gate, up = functional.linear(current_state, self.experts.gate_up_proj[expert_index]).chunk(2, dim=-1)
+ swiglu = self.experts.act_fn(gate) * up
+
+ # Match Isaac05 BF16 operation order: score after SwiGLU and before
+ # this expert's down projection.
+ expert_scores = routes.expert_scores[start:end]
+ weighted_swiglu = (swiglu.float() * expert_scores[:, None]).to(swiglu.dtype)
+ current_output = functional.linear(weighted_swiglu, self.experts.down_proj[expert_index])
+ current_output = current_output.to(routed_output.dtype)
+ if self.deterministic_route_reduction:
+ deterministic_token_indices.append(token_indices)
+ deterministic_outputs.append(current_output)
+ else:
+ routed_output.index_add_(0, token_indices, current_output)
+ # Isaac05 scatters route rows directly into the shared-expert base.
+ # Keeping that accumulation order avoids an extra BF16 rounding step.
+ combined_output.index_add_(0, token_indices, current_output)
+ start = end
+ if deterministic_outputs:
+ all_token_indices = torch.cat(deterministic_token_indices)
+ all_outputs = torch.cat(deterministic_outputs)
+ routed_output = deterministic_token_segment_sum(routed_output, all_token_indices, all_outputs)
+ combined_output = deterministic_token_segment_sum(combined_output, all_token_indices, all_outputs)
+ return routed_output, combined_output
+
+ def _dispatch_real_experts_grouped_mm(
+ self,
+ hidden_states: torch.Tensor,
+ routes: _CompactRealRoutes,
+ shared_output: torch.Tensor,
+ ) -> tuple[torch.Tensor, torch.Tensor]:
+ routed_output = torch.zeros_like(hidden_states)
+ combined_output = shared_output.clone()
+ if routes.token_indices.numel() == 0:
+ return routed_output, combined_output
+
+ grouped_mm = self._grouped_mm_operator()
+ if grouped_mm is None: # pragma: no cover - guarded by dispatch_backend
+ raise RuntimeError("torch grouped_mm disappeared after backend selection")
+ routed_input = hidden_states[routes.token_indices]
+ gate_up = grouped_mm(
+ routed_input,
+ self.experts.gate_up_proj.transpose(-2, -1),
+ offs=routes.offsets,
+ )
+ gate, up = gate_up.chunk(2, dim=-1)
+ swiglu = self.experts.act_fn(gate) * up
+ weighted_swiglu = (swiglu.float() * routes.expert_scores[:, None]).to(swiglu.dtype)
+ current_output = grouped_mm(
+ weighted_swiglu,
+ self.experts.down_proj.transpose(-2, -1),
+ offs=routes.offsets,
+ ).to(routed_output.dtype)
+ if self.deterministic_route_reduction:
+ routed_output = deterministic_token_segment_sum(routed_output, routes.token_indices, current_output)
+ combined_output = deterministic_token_segment_sum(combined_output, routes.token_indices, current_output)
+ else:
+ routed_output.index_add_(0, routes.token_indices, current_output)
+ combined_output.index_add_(0, routes.token_indices, current_output)
+ return routed_output, combined_output
+
+ def _dispatch_real_experts(
+ self,
+ hidden_states: torch.Tensor,
+ routing: Isaac05NullRoutingOutput,
+ shared_output: torch.Tensor,
+ ) -> tuple[torch.Tensor, torch.Tensor]:
+ routes = self._compact_real_routes(hidden_states, routing)
+ if self.dispatch_backend(hidden_states) == "grouped_mm":
+ return self._dispatch_real_experts_grouped_mm(hidden_states, routes, shared_output)
+ return self._dispatch_real_experts_eager(hidden_states, routes, shared_output)
+
+ def _shared_expert_output(self, hidden_states: torch.Tensor) -> torch.Tensor:
+ shared_output = self.shared_expert(hidden_states)
+ gate_input = hidden_states.to(self.shared_expert_gate.weight.dtype)
+ shared_gate = torch.sigmoid(self.shared_expert_gate(gate_input).float())
+ return shared_output * shared_gate.to(shared_output.dtype)
+
+ def forward_with_branches(self, hidden_states: torch.Tensor) -> Isaac05NullMoeBranches:
+ batch_size, sequence_length, hidden_dim = hidden_states.shape
+ flattened = hidden_states.reshape(-1, hidden_dim)
+ routing = self.gate.route(flattened)
+ shared_output = self._shared_expert_output(flattened)
+ routed_output, combined_output = self._dispatch_real_experts(flattened, routing, shared_output)
+ output = combined_output.reshape(batch_size, sequence_length, hidden_dim)
+ return Isaac05NullMoeBranches(
+ output=output,
+ routed_output=routed_output.reshape(batch_size, sequence_length, hidden_dim),
+ shared_expert_output=shared_output.reshape(batch_size, sequence_length, hidden_dim),
+ routing=routing,
+ )
+
+ def forward(self, hidden_states: torch.Tensor) -> torch.Tensor:
+ return self.forward_with_branches(hidden_states).output
+
+
+class _DeviceAwareRMSNormGated(qwen35_modeling.Qwen3_5MoeRMSNormGated):
+ """One state-compatible norm that dispatches by its input device."""
+
+ def __init__(self, hidden_size: int, *, eps: float, activation: str) -> None:
+ super().__init__(hidden_size, eps=eps)
+ self.eps = eps
+ self.activation = activation
+ self.register_parameter("bias", None)
+
+ def forward(self, hidden_states: torch.Tensor, gate: torch.Tensor | None = None) -> torch.Tensor:
+ if gate is None:
+ raise ValueError("ISAAC05 GatedDeltaNet normalization requires a gate tensor")
+ if hidden_states.device.type == "cuda" and qwen35_modeling.FusedRMSNormGated is not None:
+ # The FLA module's forward only depends on the attributes defined
+ # above. Calling it unbound keeps one norm.weight state key while
+ # retaining the exact stock CUDA kernel.
+ return qwen35_modeling.FusedRMSNormGated.forward(self, hidden_states, gate)
+ return super().forward(hidden_states, gate)
+
+
+class Isaac05Qwen36GatedDeltaNet(Qwen3_5MoeGatedDeltaNet):
+ """Stock GatedDeltaNet ABI with input-device-aware kernel dispatch.
+
+ Transformers selects optional FLA and causal-conv kernels at import and
+ construction time. When those packages are installed, the stock module
+ consequently creates a CUDA norm even inside a CPU or meta construction
+ context and later sends CPU tensors to CUDA-only functions. This subclass
+ retains the stock forward implementation and parameter names, but binds
+ thin dispatchers that select the same stock fast kernels only for CUDA
+ inputs and the same stock Torch fallbacks otherwise.
+ """
+
+ def __init__(self, config: Qwen3_5MoeTextConfig, layer_idx: int) -> None:
+ # Qwen3_5MoeGatedDeltaNet.__init__ explicitly places the optional fused
+ # norm on the current CUDA device, which breaks CPU and meta contexts.
+ nn.Module.__init__(self)
+ self.hidden_size = config.hidden_size
+ self.num_v_heads = config.linear_num_value_heads
+ self.num_k_heads = config.linear_num_key_heads
+ self.head_k_dim = config.linear_key_head_dim
+ self.head_v_dim = config.linear_value_head_dim
+ self.key_dim = self.head_k_dim * self.num_k_heads
+ self.value_dim = self.head_v_dim * self.num_v_heads
+
+ self.conv_kernel_size = config.linear_conv_kernel_dim
+ self.layer_idx = layer_idx
+ self.activation = config.hidden_act
+ self.act = qwen35_modeling.ACT2FN[config.hidden_act]
+ self.layer_norm_epsilon = config.rms_norm_eps
+ self.conv_dim = self.key_dim * 2 + self.value_dim
+ self.conv1d = nn.Conv1d(
+ in_channels=self.conv_dim,
+ out_channels=self.conv_dim,
+ bias=False,
+ kernel_size=self.conv_kernel_size,
+ groups=self.conv_dim,
+ padding=self.conv_kernel_size - 1,
+ )
+ self.dt_bias = nn.Parameter(torch.ones(self.num_v_heads))
+ self.A_log = nn.Parameter(torch.log(torch.empty(self.num_v_heads).uniform_(0, 16)))
+ self.norm = _DeviceAwareRMSNormGated(
+ self.head_v_dim,
+ eps=self.layer_norm_epsilon,
+ activation=self.activation,
+ )
+ self.out_proj = nn.Linear(self.value_dim, self.hidden_size, bias=False)
+
+ # The inherited stock forward calls these attributes. The wrappers do
+ # not alter arguments, cache updates, masks, or fast-kernel behavior.
+ self.causal_conv1d_fn = self._causal_conv1d
+ self.causal_conv1d_update = self._causal_conv1d_update
+ self.chunk_gated_delta_rule = self._chunk_gated_delta_rule
+ self.recurrent_gated_delta_rule = self._recurrent_gated_delta_rule
+
+ self.in_proj_qkv = nn.Linear(self.hidden_size, self.conv_dim, bias=False)
+ self.in_proj_z = nn.Linear(self.hidden_size, self.value_dim, bias=False)
+ self.in_proj_b = nn.Linear(self.hidden_size, self.num_v_heads, bias=False)
+ self.in_proj_a = nn.Linear(self.hidden_size, self.num_v_heads, bias=False)
+
+ def _causal_conv1d(
+ self,
+ *,
+ x: torch.Tensor,
+ weight: torch.Tensor,
+ bias: torch.Tensor | None,
+ activation: str,
+ seq_idx: torch.Tensor | None,
+ ) -> torch.Tensor:
+ if x.device.type == "cuda" and qwen35_modeling.causal_conv1d_fn is not None:
+ return qwen35_modeling.causal_conv1d_fn(
+ x=x,
+ weight=weight,
+ bias=bias,
+ activation=activation,
+ seq_idx=seq_idx,
+ )
+ output = functional.conv1d(
+ x,
+ weight.unsqueeze(1),
+ bias,
+ padding=self.conv_kernel_size - 1,
+ groups=self.conv_dim,
+ )
+ return functional.silu(output[:, :, : x.shape[-1]])
+
+ @staticmethod
+ def _causal_conv1d_update(
+ hidden_states: torch.Tensor,
+ conv_state: torch.Tensor,
+ weight: torch.Tensor,
+ bias: torch.Tensor | None = None,
+ activation: str | None = None,
+ ) -> torch.Tensor:
+ if hidden_states.device.type == "cuda" and qwen35_modeling.causal_conv1d_update is not None:
+ return qwen35_modeling.causal_conv1d_update(
+ hidden_states,
+ conv_state,
+ weight,
+ bias,
+ activation,
+ )
+ return qwen35_modeling.torch_causal_conv1d_update(
+ hidden_states,
+ conv_state,
+ weight,
+ bias,
+ activation,
+ )
+
+ @staticmethod
+ def _chunk_gated_delta_rule(
+ query: torch.Tensor,
+ key: torch.Tensor,
+ value: torch.Tensor,
+ **kwargs: Any,
+ ) -> tuple[torch.Tensor, torch.Tensor | None]:
+ if query.device.type == "cuda" and qwen35_modeling.chunk_gated_delta_rule is not None:
+ return qwen35_modeling.chunk_gated_delta_rule(query, key, value, **kwargs)
+ return qwen35_modeling.torch_chunk_gated_delta_rule(query, key, value, **kwargs)
+
+ @staticmethod
+ def _recurrent_gated_delta_rule(
+ query: torch.Tensor,
+ key: torch.Tensor,
+ value: torch.Tensor,
+ **kwargs: Any,
+ ) -> tuple[torch.Tensor, torch.Tensor | None]:
+ if query.device.type == "cuda" and qwen35_modeling.fused_recurrent_gated_delta_rule is not None:
+ return qwen35_modeling.fused_recurrent_gated_delta_rule(query, key, value, **kwargs)
+ return qwen35_modeling.torch_recurrent_gated_delta_rule(query, key, value, **kwargs)
+
+
+class Isaac05Qwen36AttentionTrace(NamedTuple):
+ """Non-mutating component boundaries for cross-runtime attention parity."""
+
+ query_projection: torch.Tensor
+ query_gate: torch.Tensor
+ query_norm: torch.Tensor
+ key_projection: torch.Tensor
+ key_norm: torch.Tensor
+ value_projection: torch.Tensor
+ rotary_query: torch.Tensor
+ rotary_key: torch.Tensor
+ sdpa_query: torch.Tensor
+ repeated_key: torch.Tensor
+ repeated_value: torch.Tensor
+ raw_sdpa_output: torch.Tensor
+ post_transpose_output: torch.Tensor
+ gated_output: torch.Tensor
+ token_mixer: torch.Tensor
+
+
+class Isaac05Qwen36Attention(qwen35_modeling.Qwen3_5MoeAttention):
+ """Qwen3.6 text attention using the Isaac05-qualified explicit-KV SDPA path."""
+
+ def __init__(self, config: Qwen3_5MoeTextConfig, layer_idx: int) -> None:
+ super().__init__(config, layer_idx)
+ self.trace_observer: Callable[[Isaac05Qwen36AttentionTrace], None] | None = None
+
+ def forward(
+ self,
+ hidden_states: torch.Tensor,
+ position_embeddings: tuple[torch.Tensor, torch.Tensor],
+ attention_mask: torch.Tensor | None,
+ past_key_values: Any | None = None,
+ **kwargs: Any,
+ ) -> tuple[torch.Tensor, None]:
+ del kwargs
+ input_shape = hidden_states.shape[:-1]
+ hidden_shape = (*input_shape, -1, self.head_dim)
+
+ query_states, gate = torch.chunk(
+ self.q_proj(hidden_states).view(*input_shape, -1, self.head_dim * 2),
+ 2,
+ dim=-1,
+ )
+ gate = gate.reshape(*input_shape, -1)
+
+ query_projection = query_states.view(hidden_shape)
+ key_projection = self.k_proj(hidden_states).view(hidden_shape)
+ value_projection = self.v_proj(hidden_states).view(hidden_shape)
+ query_norm = self.q_norm(query_projection)
+ key_norm = self.k_norm(key_projection)
+ cos, sin = position_embeddings
+ rotary_query, rotary_key = qwen35_modeling.apply_rotary_pos_emb(
+ query_norm,
+ key_norm,
+ cos,
+ sin,
+ unsqueeze_dim=2,
+ )
+ sdpa_query = rotary_query.transpose(1, 2)
+ if past_key_values is not None:
+ cached_key, cached_value = past_key_values.update(
+ rotary_key.transpose(1, 2),
+ value_projection.transpose(1, 2),
+ self.layer_idx,
+ )
+ repeated_key = qwen35_modeling.repeat_kv(cached_key, self.num_key_value_groups)
+ repeated_value = qwen35_modeling.repeat_kv(cached_value, self.num_key_value_groups)
+ else:
+ repeated_key = _isaac05_layout_repeat_kv(
+ rotary_key,
+ self.num_key_value_groups,
+ ).transpose(1, 2)
+ repeated_value = _isaac05_layout_repeat_kv(
+ value_projection,
+ self.num_key_value_groups,
+ ).transpose(1, 2)
+
+ sdpa = _sdpa_with_repeated_kv(
+ self,
+ sdpa_query,
+ repeated_key,
+ repeated_value,
+ attention_mask,
+ dropout=0.0 if not self.training else self.attention_dropout,
+ scaling=self.scaling,
+ )
+ post_transpose_output = sdpa.output
+ attention_output = post_transpose_output.reshape(*input_shape, -1).contiguous()
+ gated_output = attention_output * torch.sigmoid(gate)
+ token_mixer = self.o_proj(gated_output)
+ if self.trace_observer is not None:
+ self.trace_observer(
+ Isaac05Qwen36AttentionTrace(
+ query_projection=query_projection,
+ query_gate=gate,
+ query_norm=query_norm,
+ key_projection=key_projection,
+ key_norm=key_norm,
+ value_projection=value_projection,
+ rotary_query=rotary_query,
+ rotary_key=rotary_key,
+ sdpa_query=sdpa_query,
+ repeated_key=sdpa.repeated_key,
+ repeated_value=sdpa.repeated_value,
+ raw_sdpa_output=sdpa.raw_output,
+ post_transpose_output=post_transpose_output,
+ gated_output=gated_output,
+ token_mixer=token_mixer,
+ )
+ )
+ return token_mixer, None
+
+
+class Isaac05Qwen36TextRotaryEmbedding(nn.Module):
+ """Isaac05 mRoPE with model-dtype inverse-frequency quantization.
+
+ Isaac05 registers ``inv_freq`` on the backbone before casting the complete
+ model to its inference dtype. Its phase calculation then promotes that
+ already-quantized table back to FP32. Keeping this derived buffer
+ nonpersistent preserves the HF checkpoint tensor ABI, while the loader
+ places it using the same dtype as the checkpoint parameters.
+ """
+
+ precision_contract = ISAAC05_ROTARY_PRECISION
+
+ def __init__(self, config: Qwen3_5MoeTextConfig) -> None:
+ super().__init__()
+ rope_parameters = config.rope_parameters
+ if rope_parameters.get("rope_type") != "default":
+ raise ValueError("ISAAC05 Isaac05 rotary precision only supports default RoPE")
+ head_dim = getattr(config, "head_dim", None) or config.hidden_size // config.num_attention_heads
+ rotary_dim = int(head_dim * rope_parameters.get("partial_rotary_factor", 1.0))
+ if rotary_dim <= 0 or rotary_dim % 2 != 0:
+ raise ValueError(f"ISAAC05 rotary dimension must be positive and even, got {rotary_dim}")
+ self.rotary_dim = rotary_dim
+ self.theta = float(rope_parameters["rope_theta"])
+ inv_freq = self._build_inv_freq(device=None)
+ # The trained Isaac05 checkpoint owns this BF16 quantization regardless
+ # of an optional FP32 debug runtime requested by the caller.
+ self.register_buffer("inv_freq", inv_freq, persistent=False)
+ self.mrope_section = list(rope_parameters.get("mrope_section", [11, 11, 10]))
+ if sum(self.mrope_section) != rotary_dim // 2:
+ raise ValueError(
+ "ISAAC05 mrope_section must sum to half the rotary dimension: "
+ f"sum={sum(self.mrope_section)}, rotary_dim={rotary_dim}"
+ )
+
+ def _build_inv_freq(self, *, device: torch.device | None) -> torch.Tensor:
+ positions = torch.arange(0, self.rotary_dim, 2, dtype=torch.float32, device=device)
+ inv_freq = 1.0 / (self.theta ** (positions / self.rotary_dim))
+ return inv_freq.to(torch.bfloat16)
+
+ def reset_nonpersistent_buffer(self) -> None:
+ self.inv_freq = self._build_inv_freq(device=self.inv_freq.device)
+
+ @torch.no_grad()
+ def forward(
+ self,
+ hidden_states: torch.Tensor,
+ position_ids: torch.Tensor,
+ ) -> tuple[torch.Tensor, torch.Tensor]:
+ if position_ids.ndim == 2:
+ position_ids = position_ids[None, ...].expand(3, position_ids.shape[0], -1)
+ if position_ids.ndim != 3 or position_ids.shape[0] != 3:
+ raise ValueError(
+ f"ISAAC05 position_ids must have shape [3, batch, length], got {tuple(position_ids.shape)}"
+ )
+
+ # Match Isaac05 precompute_cos_sin_3d exactly: the model-dtype table is
+ # promoted to FP32 before phase construction, then trig results are cast
+ # back to the activation dtype before rotary multiplication.
+ inv_freq = self.inv_freq.to(device=position_ids.device, dtype=torch.float32)
+ phases = position_ids.float().unsqueeze(-1) * inv_freq.view(1, 1, 1, -1)
+ interleaved = phases[0].clone()
+ for axis, offset in enumerate((1, 2), start=1):
+ length = int(self.mrope_section[axis]) * 3
+ interleaved[..., slice(offset, length, 3)] = phases[axis, ..., slice(offset, length, 3)]
+ embedding = torch.cat((interleaved, interleaved), dim=-1)
+ return embedding.cos().to(hidden_states.dtype), embedding.sin().to(hidden_states.dtype)
+
+
+class Isaac05Qwen36VisionAttention(qwen35_modeling.Qwen3_5MoeVisionAttention):
+ """Packed vision attention using the same explicit-KV SDPA primitive."""
+
+ def forward(
+ self,
+ hidden_states: torch.Tensor,
+ cu_seqlens: torch.Tensor,
+ rotary_pos_emb: torch.Tensor | None = None,
+ position_embeddings: tuple[torch.Tensor, torch.Tensor] | None = None,
+ **kwargs: Any,
+ ) -> torch.Tensor:
+ del rotary_pos_emb, kwargs
+ if position_embeddings is None:
+ raise ValueError("ISAAC05 vision attention requires precomputed position embeddings")
+ sequence_length = hidden_states.shape[0]
+ query_states, key_states, value_states = (
+ self.qkv(hidden_states).reshape(sequence_length, 3, self.num_heads, -1).permute(1, 0, 2, 3).unbind(0)
+ )
+ cos, sin = position_embeddings
+ query_states, key_states = qwen35_modeling.apply_rotary_pos_emb_vision(
+ query_states,
+ key_states,
+ cos,
+ sin,
+ )
+ query_states = query_states.transpose(0, 1).unsqueeze(0)
+ key_states = key_states.transpose(0, 1).unsqueeze(0)
+ value_states = value_states.transpose(0, 1).unsqueeze(0)
+
+ lengths = (cu_seqlens[1:] - cu_seqlens[:-1]).tolist()
+ if not lengths or any(length <= 0 for length in lengths) or sum(lengths) != sequence_length:
+ raise ValueError("ISAAC05 vision cu_seqlens must describe positive chunks covering every token")
+ splits = [torch.split(tensor, lengths, dim=2) for tensor in (query_states, key_states, value_states)]
+ outputs = [
+ explicit_repeat_kv_sdpa(
+ self,
+ query,
+ key,
+ value,
+ None,
+ dropout=0.0 if not self.training else self.attention_dropout,
+ scaling=self.scaling,
+ is_causal=False,
+ )
+ for query, key, value in zip(*splits, strict=True)
+ ]
+ attention_output = torch.cat(outputs, dim=1)
+ return self.proj(attention_output.reshape(sequence_length, -1).contiguous())
+
+
+class Isaac05Qwen36VisionModel(Qwen3_5MoeVisionModel):
+ """Qwen3.5 vision stack with Isaac05-order positional interpolation."""
+
+ def fast_pos_embed_interpolate(self, grid_thw: torch.Tensor) -> torch.Tensor:
+ grid_thw_list = grid_thw.tolist()
+ grid_ts = [row[0] for row in grid_thw_list]
+ grid_hs = [row[1] for row in grid_thw_list]
+ grid_ws = [row[2] for row in grid_thw_list]
+ device = self.pos_embed.weight.device
+
+ idx_list = [[] for _ in range(4)]
+ weight_list = [[] for _ in range(4)]
+ for _t, height, width in grid_thw_list:
+ height_indices = torch.linspace(0, self.num_grid_per_side - 1, height)
+ width_indices = torch.linspace(0, self.num_grid_per_side - 1, width)
+ height_floor = height_indices.int()
+ width_floor = width_indices.int()
+ height_ceil = (height_floor + 1).clip(max=self.num_grid_per_side - 1)
+ width_ceil = (width_floor + 1).clip(max=self.num_grid_per_side - 1)
+ height_delta = height_indices - height_floor
+ width_delta = width_indices - width_floor
+ base_height = height_floor * self.num_grid_per_side
+ base_height_ceil = height_ceil * self.num_grid_per_side
+
+ indices = [
+ (base_height[None].T + width_floor[None]).flatten(),
+ (base_height[None].T + width_ceil[None]).flatten(),
+ (base_height_ceil[None].T + width_floor[None]).flatten(),
+ (base_height_ceil[None].T + width_ceil[None]).flatten(),
+ ]
+ weights = [
+ ((1 - height_delta)[None].T * (1 - width_delta)[None]).flatten(),
+ ((1 - height_delta)[None].T * width_delta[None]).flatten(),
+ (height_delta[None].T * (1 - width_delta)[None]).flatten(),
+ (height_delta[None].T * width_delta[None]).flatten(),
+ ]
+ for index in range(4):
+ idx_list[index].extend(indices[index].tolist())
+ weight_list[index].extend(weights[index].tolist())
+
+ index_tensor = torch.tensor(idx_list, dtype=torch.long, device=device)
+ weight_tensor = torch.tensor(
+ weight_list,
+ dtype=self.pos_embed.weight.dtype,
+ device=device,
+ )
+ interpolated = self.pos_embed(index_tensor).to(device) * weight_tensor[:, :, None]
+ # Isaac05 performs one BF16 reduction; chained additions round at three
+ # different boundaries and diverge at production image resolutions.
+ patch_pos_embeds = interpolated.sum(dim=0)
+ patch_pos_embeds = patch_pos_embeds.split(
+ [height * width for height, width in zip(grid_hs, grid_ws, strict=True)]
+ )
+
+ permuted = []
+ merge_size = self.config.spatial_merge_size
+ for pos_embed, frames, height, width in zip(
+ patch_pos_embeds,
+ grid_ts,
+ grid_hs,
+ grid_ws,
+ strict=True,
+ ):
+ pos_embed = pos_embed.repeat(frames, 1)
+ pos_embed = (
+ pos_embed.view(
+ frames,
+ height // merge_size,
+ merge_size,
+ width // merge_size,
+ merge_size,
+ -1,
+ )
+ .permute(0, 1, 3, 2, 4, 5)
+ .flatten(0, 4)
+ )
+ permuted.append(pos_embed)
+ return torch.cat(permuted)
+
+
+class Isaac05Qwen36DecoderLayer(Qwen3_5MoeDecoderLayer):
+ """Stock Qwen hybrid token mixer with the Isaac05 null-MoE block."""
+
+ def __init__(self, config: Qwen3_5MoeTextConfig, layer_idx: int) -> None:
+ # Avoid constructing and then discarding a stock sparse-MoE block.
+ GradientCheckpointingLayer.__init__(self)
+ Isaac05NullMoeContract.from_text_config(config)
+ self.hidden_size = config.hidden_size
+ self.layer_type = config.layer_types[layer_idx]
+ if self.layer_type == "linear_attention":
+ self.linear_attn = Isaac05Qwen36GatedDeltaNet(config, layer_idx)
+ elif self.layer_type == "full_attention":
+ self.self_attn = Isaac05Qwen36Attention(config, layer_idx)
+ else:
+ raise ValueError(f"Unsupported ISAAC05 layer type {self.layer_type!r} at index {layer_idx}")
+ self.mlp = Isaac05NullSparseMoeBlock(config)
+ self.input_layernorm = Qwen3_5MoeRMSNorm(config.hidden_size, eps=config.rms_norm_eps)
+ self.post_attention_layernorm = Qwen3_5MoeRMSNorm(config.hidden_size, eps=config.rms_norm_eps)
+
+
+class Isaac05Qwen36TextModel(Qwen3_5MoeTextModel):
+ """Qwen3.6 hybrid text stack constructed directly with null-aware layers."""
+
+ _no_split_modules = ["Isaac05Qwen36DecoderLayer"]
+
+ def __init__(self, config: Qwen3_5MoeTextConfig) -> None:
+ Qwen3_5MoePreTrainedModel.__init__(self, config)
+ Isaac05NullMoeContract.from_text_config(config)
+ full_attention_interval = getattr(config, "full_attention_interval", 4)
+ if isinstance(full_attention_interval, bool) or not isinstance(full_attention_interval, int):
+ raise ValueError("ISAAC05 Qwen3.6 full_attention_interval must be an integer")
+ if full_attention_interval <= 0:
+ raise ValueError("ISAAC05 Qwen3.6 full_attention_interval must be positive")
+ expected_layer_types = [
+ "full_attention" if (layer_index + 1) % full_attention_interval == 0 else "linear_attention"
+ for layer_index in range(config.num_hidden_layers)
+ ]
+ if config.layer_types != expected_layer_types:
+ raise ValueError(
+ f"ISAAC05 Qwen3.6 requires full attention every {full_attention_interval} layers "
+ "and linear attention elsewhere"
+ )
+ self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, config.pad_token_id)
+ self.layers = nn.ModuleList(
+ [Isaac05Qwen36DecoderLayer(config, layer_idx) for layer_idx in range(config.num_hidden_layers)]
+ )
+ self.norm = Qwen3_5MoeRMSNorm(config.hidden_size, eps=config.rms_norm_eps)
+ self.rotary_emb = Isaac05Qwen36TextRotaryEmbedding(config)
+ self.gradient_checkpointing = False
+ self.post_init()
+
+
+def reset_isaac05_qwen36_nonpersistent_buffers(model: nn.Module) -> None:
+ """Rebuild derived buffers after Transformers meta-device checkpoint loading."""
+ for module in model.modules():
+ if isinstance(module, Isaac05NullTopKRouter):
+ module.reset_nonpersistent_buffer()
+ elif isinstance(module, Isaac05Qwen36TextRotaryEmbedding):
+ module.reset_nonpersistent_buffer()
+ elif isinstance(module, qwen35_modeling.Qwen3_5MoeVisionRotaryEmbedding):
+ positions = torch.arange(0, module.dim, 2, dtype=torch.float32, device=module.inv_freq.device)
+ module.inv_freq = 1.0 / (module.theta ** (positions / module.dim))
+
+
+class Isaac05Qwen36Model(Qwen3_5MoeModel):
+ """Multimodal Qwen3.6 backbone exposing the existing Qwen VLA interface."""
+
+ _no_split_modules = ["Isaac05Qwen36DecoderLayer", "Qwen3_5MoeVisionBlock"]
+
+ def __init__(self, config: Isaac05Qwen36MoeConfig) -> None:
+ Qwen3_5MoePreTrainedModel.__init__(self, config)
+ Isaac05NullMoeContract.from_text_config(config.text_config)
+ self.visual = Isaac05Qwen36VisionModel._from_config(config.vision_config)
+ for block in self.visual.blocks:
+ block.attn = Isaac05Qwen36VisionAttention(config.vision_config)
+ self.language_model = Isaac05Qwen36TextModel._from_config(config.text_config)
+ self.rope_deltas = None
+ self.post_init()
+
+
+__all__ = [
+ "Isaac05NullMoeBranches",
+ "Isaac05NullMoeContract",
+ "Isaac05NullDispatchTrace",
+ "Isaac05NullRoutingOutput",
+ "Isaac05NullSparseMoeBlock",
+ "Isaac05NullTopKRouter",
+ "Isaac05Qwen36DecoderLayer",
+ "Isaac05Qwen36Attention",
+ "Isaac05Qwen36AttentionTrace",
+ "Isaac05Qwen36GatedDeltaNet",
+ "Isaac05Qwen36Model",
+ "Isaac05Qwen36TextModel",
+ "Isaac05Qwen36TextRotaryEmbedding",
+ "Isaac05Qwen36VisionAttention",
+ "Isaac05Qwen36VisionModel",
+ "Isaac05Qwen36MoeConfig",
+ "ISAAC05_ROTARY_PRECISION",
+ "deterministic_token_segment_sum",
+ "explicit_repeat_kv_sdpa",
+ "reset_isaac05_qwen36_nonpersistent_buffers",
+]
diff --git a/policy_inference_recipe.json b/policy_inference_recipe.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c881a507c42b4439d5b462c0eee2b80c8ae7a88
--- /dev/null
+++ b/policy_inference_recipe.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:85e5f52d50a3c89b6ff3adc594189bde3e1d345fbecc7bda082561308b3ee905
+size 32810275
diff --git a/policy_normalization.json b/policy_normalization.json
new file mode 100644
index 0000000000000000000000000000000000000000..78dc160feab650e23d6f1bf05be5e0dff2496a00
--- /dev/null
+++ b/policy_normalization.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f829a6f6f72be41196820a1591fb8e7047d9ab674f77a0bec1ba53713ac0c1dc
+size 11752281
diff --git a/policy_state_contracts.json b/policy_state_contracts.json
new file mode 100644
index 0000000000000000000000000000000000000000..a8f8f02aba740df25fd48f17605a6fa78047c63c
--- /dev/null
+++ b/policy_state_contracts.json
@@ -0,0 +1,18753 @@
+{
+ "datasets": {
+ "AIRBOT_MMK2_beauty_sponge_and_cake_to_place": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_beauty_sponge_and_cake_to_place",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_beauty_sponge_and_cake_to_place",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_bowl_storage_pepper": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_bowl_storage_pepper",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_bowl_storage_pepper",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_boxs_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_boxs_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_boxs_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_building_block_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_building_block_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_building_block_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_cake_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_cake_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_cake_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_chop_the_scallions": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_chop_the_scallions",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_chop_the_scallions",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_clean_the_desktop": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_clean_the_desktop",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_clean_the_desktop",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_clean_the_desktop_a": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_clean_the_desktop_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_clean_the_desktop_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_close_the_computer": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_close_the_computer",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_close_the_computer",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_cup_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_cup_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_cup_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_desktop_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_desktop_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_desktop_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_diamond_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_diamond_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_diamond_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_double-sided_tape_placement": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_double-sided_tape_placement",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_double-sided_tape_placement",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_egg_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_egg_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_egg_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_food_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_food_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_food_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_item_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_item_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_item_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_lemon_and_orange_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_lemon_and_orange_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_lemon_and_orange_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_medicine_bottle_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_medicine_bottle_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_medicine_bottle_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_mobile_calculator_box": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_mobile_calculator_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_mobile_calculator_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_mobile_car": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_mobile_car",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_mobile_car",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_mobile_phone_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_mobile_phone_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_mobile_phone_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_open_notebook": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_open_notebook",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_open_notebook",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_organize_and_place_books": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_organize_and_place_books",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_organize_and_place_books",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_organize_books": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_organize_books",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_organize_books",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_cookies_and_beer": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_cookies_and_beer",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_cookies_and_beer",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_basin": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_basin",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_basin",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_blue_and_purple_blocks": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_blue_and_purple_blocks",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_blue_and_purple_blocks",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_books": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_books",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_books",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_building_blocks": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_building_blocks",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_building_blocks",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_cake": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_cake",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_cake",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_glasses_case_and_gold_bars": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_glasses_case_and_gold_bars",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_glasses_case_and_gold_bars",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_network_cable_and_mouse_box": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_network_cable_and_mouse_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_network_cable_and_mouse_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_paper_drawer": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_paper_drawer",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_paper_drawer",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_piano_and_the_needle-nose_pliers": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_piano_and_the_needle-nose_pliers",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_piano_and_the_needle-nose_pliers",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_pliers_and_wallpaper_knife": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_pliers_and_wallpaper_knife",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_pliers_and_wallpaper_knife",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_shark_toys_and_gold_bars": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_shark_toys_and_gold_bars",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_shark_toys_and_gold_bars",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_small_bowl_of_canned_food": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_small_bowl_of_canned_food",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_small_bowl_of_canned_food",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_sponge_and_wet_wipes": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_sponge_and_wet_wipes",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_sponge_and_wet_wipes",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_umbrella_and_the_ruler": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_umbrella_and_the_ruler",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_umbrella_and_the_ruler",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_place_the_yellow_block": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_yellow_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_place_the_yellow_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_play_the_guitar": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_play_the_guitar",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_play_the_guitar",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_potato_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_potato_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_potato_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_pour_out_the_beauty_blender": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_pour_out_the_beauty_blender",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_pour_out_the_beauty_blender",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_pull_the_syringe_piston": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_pull_the_syringe_piston",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_pull_the_syringe_piston",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_pumpkin_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_pumpkin_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_pumpkin_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_push_building_blocks": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_push_building_blocks",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_push_building_blocks",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_push_piston": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_push_piston",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_push_piston",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_screw_the_bottle_cap": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_screw_the_bottle_cap",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_screw_the_bottle_cap",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_square_arrangement": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_square_arrangement",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_square_arrangement",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_stacking_blocks": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_stacking_blocks",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_stacking_blocks",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_storage_box_for_mouse_and_sponge": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_box_for_mouse_and_sponge",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_box_for_mouse_and_sponge",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_storage_computer_box": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_computer_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_computer_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_storage_for_building_blocks_and_beauty_sponges": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_for_building_blocks_and_beauty_sponges",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_for_building_blocks_and_beauty_sponges",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_storage_item": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_item",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_item",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_storage_remote_control_clip_box_water_bottle": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_remote_control_clip_box_water_bottle",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_remote_control_clip_box_water_bottle",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_storage_rubiks_cube_and_cup": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_rubiks_cube_and_cup",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_rubiks_cube_and_cup",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_storage_spoon": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_spoon",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_spoon",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_storage_tissue_and_milk_carton": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_tissue_and_milk_carton",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_tissue_and_milk_carton",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_storage_tissue_paper": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_tissue_paper",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_tissue_paper",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_storage_toy_cars_and_cookies": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_toy_cars_and_cookies",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_toy_cars_and_cookies",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_storage_wet_tissue_and_building_block": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_wet_tissue_and_building_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_storage_wet_tissue_and_building_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_store_beauty_blender_and_building_blocks": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_store_beauty_blender_and_building_blocks",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_store_beauty_blender_and_building_blocks",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_store_coffee_cups": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_store_coffee_cups",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_store_coffee_cups",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_store_peaches_and_pears": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_store_peaches_and_pears",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_store_peaches_and_pears",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_store_pomegranates_and_mangoes": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_store_pomegranates_and_mangoes",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_store_pomegranates_and_mangoes",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_store_wet_wipes_and_bowls": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_store_wet_wipes_and_bowls",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_store_wet_wipes_and_bowls",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_take_down_paper_cup": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_take_down_paper_cup",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_take_down_paper_cup",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_take_down_umbrella_and_mineral_water": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_take_down_umbrella_and_mineral_water",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_take_down_umbrella_and_mineral_water",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_take_the_book": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_take_the_book",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_take_the_book",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_the_cup_is_put_into_the_bucket": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_the_cup_is_put_into_the_bucket",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_the_cup_is_put_into_the_bucket",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AIRBOT_MMK2_toy_storage": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AIRBOT_MMK2_toy_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AIRBOT_MMK2_toy_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "AgiBot-g1_battery_storage_c": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_battery_storage_c",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_battery_storage_c",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_box_storage_a": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_box_storage_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_box_storage_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_box_storage_c": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_box_storage_c",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_box_storage_c",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_box_storage_e": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_box_storage_e",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_box_storage_e",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_box_storage_tool": {
+ "contract_hash": "f224eee5c68d27bc0a49f06be663f285fdd656ab19e074d10b5a4d28fc17040c",
+ "contract_version": 1,
+ "deployment_profile_hash": "33b05be8da1ae40c9afc6e425792634354473f246286f76f1d9a2f668ebf6312",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_box_storage_tool",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_box_storage_tool",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 17
+ },
+ "AgiBot-g1_mobile_accessory_storage_box_a": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_mobile_accessory_storage_box_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_mobile_accessory_storage_box_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_mobile_accessory_storage_box_c": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_mobile_accessory_storage_box_c",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_mobile_accessory_storage_box_c",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_mobile_accessory_storage_box_d": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_mobile_accessory_storage_box_d",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_mobile_accessory_storage_box_d",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_mobile_accessory_storage_box_e": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_mobile_accessory_storage_box_e",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_mobile_accessory_storage_box_e",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_mobile_accessory_storage_box_f": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_mobile_accessory_storage_box_f",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_mobile_accessory_storage_box_f",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_remove_the_accessory": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_remove_the_accessory",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_remove_the_accessory",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_right_capture_part": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_right_capture_part",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_right_capture_part",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_robotic_arm_picks_up_battery": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_robotic_arm_picks_up_battery",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_robotic_arm_picks_up_battery",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_robotic_arm_picks_up_parts": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_robotic_arm_picks_up_parts",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_robotic_arm_picks_up_parts",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "AgiBot-g1_tool_storage": {
+ "contract_hash": "7bcbd5c1f1cef972e1cc0217a3b0feaa97afd1140e24d1932a73c88e44d50709",
+ "contract_version": 1,
+ "deployment_profile_hash": "fbe7d2d7e9f2b9e22b2908468f4df5cf0eb49e56b463794bb1b5b6c0c1619efa",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "AgiBot-g1_tool_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "AgiBot-g1_tool_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 41
+ },
+ "Agilex_Cobot_Magic_Agilex_Cobot_Magic_move_object": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_Agilex_Cobot_Magic_move_object",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_Agilex_Cobot_Magic_move_object",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_classify_objects_eight": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_classify_objects_eight",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_classify_objects_eight",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_classify_objects_six": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_classify_objects_six",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_classify_objects_six",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_close_drawer_bottom": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_close_drawer_bottom",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_close_drawer_bottom",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_close_drawer_top": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_close_drawer_top",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_close_drawer_top",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_close_drawer_upper": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_close_drawer_upper",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_close_drawer_upper",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_connect_block": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_connect_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_connect_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_erase_board": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_erase_board_left": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board_left",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board_left",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_erase_board_left_side": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board_left_side",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board_left_side",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_erase_board_passing_left_to_right": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board_passing_left_to_right",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board_passing_left_to_right",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_erase_board_passing_right_to_left": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board_passing_right_to_left",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board_passing_right_to_left",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_erase_board_right": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board_right",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_erase_board_right",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_fold_jeans_shorts_children_s": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_jeans_shorts_children_s",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_jeans_shorts_children_s",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_fold_short_sleeve_black": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_short_sleeve_black",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_short_sleeve_black",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_fold_shorts_khaki": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_shorts_khaki",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_shorts_khaki",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_fold_towel": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_towel",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_towel",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_fold_towel_blue_tray": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_towel_blue_tray",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_towel_blue_tray",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_fold_towel_grey_tray": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_towel_grey_tray",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_towel_grey_tray",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_fold_towel_pink_tray": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_towel_pink_tray",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_towel_pink_tray",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_fold_towel_yellow_tray": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_towel_yellow_tray",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_fold_towel_yellow_tray",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_move_mouse": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_move_mouse_pen": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse_pen",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse_pen",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_move_mouse_pen_black_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse_pen_black_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse_pen_black_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_move_mouse_pen_green_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse_pen_green_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse_pen_green_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_move_mouse_pen_khaki_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse_pen_khaki_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse_pen_khaki_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_move_mouse_pen_red_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse_pen_red_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_mouse_pen_red_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_move_object_beige_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_object_beige_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_object_beige_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_move_object_black_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_object_black_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_object_black_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_move_object_green_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_object_green_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_object_green_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_move_object_red_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_object_red_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_object_red_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_move_pencil_sharpener": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_pencil_sharpener",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_move_pencil_sharpener",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_open_drawer_bottom": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_open_drawer_bottom",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_open_drawer_bottom",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_organize_test_tube": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_organize_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_organize_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_pass_object_left_to_right_black_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_left_to_right_black_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_left_to_right_black_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_pass_object_left_to_right_green_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_left_to_right_green_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_left_to_right_green_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_pass_object_left_to_right_khaki_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_left_to_right_khaki_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_left_to_right_khaki_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_pass_object_left_to_right_white_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_left_to_right_white_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_left_to_right_white_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_pass_object_right_to_left_black_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_right_to_left_black_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_right_to_left_black_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_pass_object_right_to_left_green_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_right_to_left_green_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_right_to_left_green_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_pass_object_right_to_left_khaki_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_right_to_left_khaki_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_right_to_left_khaki_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_pass_object_right_to_left_red_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_right_to_left_red_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_right_to_left_red_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_pass_object_right_to_left_white_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_right_to_left_white_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pass_object_right_to_left_white_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_pour_drink_bottle_cup": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pour_drink_bottle_cup",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_pour_drink_bottle_cup",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_bread_basket": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_bread_basket",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_bread_basket",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_fruit_bowl": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_fruit_bowl",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_fruit_bowl",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_lemon_mango": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_lemon_mango",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_lemon_mango",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_object": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_object",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_object",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_object_closest": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_object_closest",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_object_closest",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_object_closest_apple": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_object_closest_apple",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_object_closest_apple",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_object_left": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_object_left",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_object_left",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_object_red_tablecloth": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_object_red_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_object_red_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_orange_basket_left": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_orange_basket_left",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_orange_basket_left",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_orange_basket_right": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_orange_basket_right",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_orange_basket_right",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_orange_white_bag": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_orange_white_bag",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_orange_white_bag",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_peach_brown_bag": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_peach_brown_bag",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_peach_brown_bag",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_peach_left": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_peach_left",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_peach_left",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_peach_right": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_peach_right",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_peach_right",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Cobot_Magic_storage_peach_white_bag": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_peach_white_bag",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Cobot_Magic_storage_peach_white_bag",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Agilex_Split_Aloha_organize_desk_fail": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "faeb129e3c3b089598833c2ff88b328fd54795fcbb05c35015f5febedd79b164",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Agilex_Split_Aloha_organize_desk_fail",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Agilex_Split_Aloha_organize_desk_fail",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Airbot_MMK2_Airbot_MMK2_stack_bowl": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_stack_bowl",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_stack_bowl",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_Airbot_MMK2_storage_bell_pepper_bowl": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_bell_pepper_bowl",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_bell_pepper_bowl",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_Airbot_MMK2_storage_mango_pomegranate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_mango_pomegranate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_mango_pomegranate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_Airbot_MMK2_storage_potato_left": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_potato_left",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_potato_left",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_Airbot_MMK2_storage_potato_pumpkin": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_potato_pumpkin",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_potato_pumpkin",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_Airbot_MMK2_storage_pumpkin_left": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_pumpkin_left",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_pumpkin_left",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_Airbot_MMK2_storage_pumpkin_right": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_pumpkin_right",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_Airbot_MMK2_storage_pumpkin_right",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_click_pen": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_click_pen",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_click_pen",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_close_door_left": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_close_door_left",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_close_door_left",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_close_door_right": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_close_door_right",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_close_door_right",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_close_doors": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_close_doors",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_close_doors",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_close_drawer": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_close_drawer",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_close_drawer",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_close_lid": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_close_lid",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_close_lid",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_cover_lid": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_cover_lid",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_cover_lid",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_cut_scallion": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_cut_scallion",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_cut_scallion",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_dial_number": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_dial_number",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_dial_number",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_doodled_line": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_doodled_line",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_doodled_line",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_apple_orange_pomegranate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_apple_orange_pomegranate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_apple_orange_pomegranate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_block": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_block_both_hands": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_block_both_hands",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_block_both_hands",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_block_gold_bar_models": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_block_gold_bar_models",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_block_gold_bar_models",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_block_twice": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_block_twice",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_block_twice",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_block_wet_wipes": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_block_wet_wipes",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_block_wet_wipes",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_book_front": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_book_front",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_book_front",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_book_right_side": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_book_right_side",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_book_right_side",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_bottle_tape_measure": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_bottle_tape_measure",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_bottle_tape_measure",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_cake": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_cake",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_cake",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_cake_tape_measure": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_cake_tape_measure",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_cake_tape_measure",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_cup_paper_box": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_cup_paper_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_cup_paper_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_fake_food": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_fake_food",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_fake_food",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_medicine_bottle": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_medicine_bottle",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_medicine_bottle",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_pan": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_pan",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_pan",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_paper_box": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_paper_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_paper_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_phone_twice": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_phone_twice",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_phone_twice",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_sword_doll": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_sword_doll",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_sword_doll",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_tennis_racket_ball": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_tennis_racket_ball",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_tennis_racket_ball",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_tub": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_tub",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_tub",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_move_umbrella_tissues": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_move_umbrella_tissues",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_move_umbrella_tissues",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_open_door_left": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_open_door_left",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_open_door_left",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_open_door_right": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_open_door_right",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_open_door_right",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_open_laptop": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_open_laptop",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_open_laptop",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_open_lid": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_open_lid",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_open_lid",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_pass_paper_box": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_pass_paper_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_pass_paper_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_pick_up_and_place_tub": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_pick_up_and_place_tub",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_pick_up_and_place_tub",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_play_guitar": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_play_guitar",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_play_guitar",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_play_toy_piano": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_play_toy_piano",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_play_toy_piano",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_pour_BBs": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_pour_BBs",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_pour_BBs",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_prepare_tea": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_prepare_tea",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_prepare_tea",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_pull_plunger": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_pull_plunger",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_pull_plunger",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_pull_tissue": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_pull_tissue",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_pull_tissue",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_push_away_book": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_push_away_book",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_push_away_book",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_push_plunger": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_push_plunger",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_push_plunger",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_push_toy_car": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_push_toy_car",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_push_toy_car",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_remove_lid": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_remove_lid",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_remove_lid",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_remove_pen_cap": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_remove_pen_cap",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_remove_pen_cap",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_rotate_cube_face": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_rotate_cube_face",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_rotate_cube_face",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_slide_block": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_slide_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_slide_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_slide_block_onto_post": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_slide_block_onto_post",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_slide_block_onto_post",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_slide_tape_onto_can": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_slide_tape_onto_can",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_slide_tape_onto_can",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_stack_block": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_stack_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_stack_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_stack_cubic_block": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_stack_cubic_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_stack_cubic_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_stack_cup": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_stack_cup",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_stack_cup",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_and_take_cake_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_and_take_cake_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_and_take_cake_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_apple_orange": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_apple_orange",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_apple_orange",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_badminton": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_badminton",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_badminton",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_bell_pepper": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_bell_pepper",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_bell_pepper",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_block": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_block_BBs": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_block_BBs",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_block_BBs",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_block_both_hands": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_block_both_hands",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_block_both_hands",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_block_tape_measure": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_block_tape_measure",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_block_tape_measure",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_book": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_book",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_book",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_bottle_part": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_bottle_part",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_bottle_part",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_bowl": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_bowl",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_bowl",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_bowl_wet_wipes": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_bowl_wet_wipes",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_bowl_wet_wipes",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_braised_pork_belly_shrimp": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_braised_pork_belly_shrimp",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_braised_pork_belly_shrimp",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_cake_both_hands": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_both_hands",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_both_hands",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_cake_box": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_cake_cup": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_cup",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_cup",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_cake_ice_cream": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_ice_cream",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_ice_cream",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_cake_pan": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_pan",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_pan",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_cake_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cake_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_cookie_cup": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cookie_cup",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cookie_cup",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_cookie_toy_car": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cookie_toy_car",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cookie_toy_car",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_cup": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cup",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cup",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_cup_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cup_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cup_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_cup_rubik_s_cube": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cup_rubik_s_cube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_cup_rubik_s_cube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_diamond_ring": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_diamond_ring",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_diamond_ring",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_egg_bowl": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_egg_bowl",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_egg_bowl",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_egg_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_egg_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_egg_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_egg_white_box": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_egg_white_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_egg_white_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_egg_yellow_box": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_egg_yellow_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_egg_yellow_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_electronics_white_basket": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_electronics_white_basket",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_electronics_white_basket",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_electronics_yellow_baket": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_electronics_yellow_baket",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_electronics_yellow_baket",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_gold_bar_model_shark_doll": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_gold_bar_model_shark_doll",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_gold_bar_model_shark_doll",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_grape": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_grape",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_grape",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_hourglass": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_hourglass",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_hourglass",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_ice_cream": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_ice_cream",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_ice_cream",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_lemon_mango": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_lemon_mango",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_lemon_mango",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_milk_tissue": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_milk_tissue",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_milk_tissue",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_network_cable_paper_box": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_network_cable_paper_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_network_cable_paper_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_onion_sweet_potato": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_onion_sweet_potato",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_onion_sweet_potato",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_paper_box_sponge": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_paper_box_sponge",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_paper_box_sponge",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_peach_pear": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_peach_pear",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_peach_pear",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_penguin_doll_tiger_doll": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_penguin_doll_tiger_doll",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_penguin_doll_tiger_doll",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_pineapple": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_pineapple",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_pineapple",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_shark_doll": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_shark_doll",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_shark_doll",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_sponge_wet_wipes": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_sponge_wet_wipes",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_sponge_wet_wipes",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_stationery_xylophone": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_stationery_xylophone",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_stationery_xylophone",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_tape_measure_umbrella": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_tape_measure_umbrella",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_tape_measure_umbrella",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_tissues_tub": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_tissues_tub",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_tissues_tub",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_tomato_potato": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_tomato_potato",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_tomato_potato",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_tools": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_tools",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_tools",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storage_tumbler_umbrella": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storage_tumbler_umbrella",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storage_tumbler_umbrella",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_storge_cake_ice_cream": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_storge_cake_ice_cream",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_storge_cake_ice_cream",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_swap_apple_cake_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_swap_apple_cake_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_swap_apple_cake_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_swap_bbs_block_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_swap_bbs_block_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_swap_bbs_block_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_swap_bbs_cake_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_swap_bbs_cake_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_swap_bbs_cake_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_swap_bottle_wet_wipes_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_swap_bottle_wet_wipes_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_swap_bottle_wet_wipes_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_swap_bread_cake_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_swap_bread_cake_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_swap_bread_cake_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_swap_cake_pumpkin_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_swap_cake_pumpkin_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_swap_cake_pumpkin_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_swap_cake_sponge_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_swap_cake_sponge_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_swap_cake_sponge_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_swap_sponge_paper_box_plate": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_swap_sponge_paper_box_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_swap_sponge_paper_box_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_sweep_peaper": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_sweep_peaper",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_sweep_peaper",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_BBs_block": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_BBs_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_BBs_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_block": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_block_both_hands": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_block_both_hands",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_block_both_hands",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_book": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_book",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_book",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_bottle_umbrella": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_bottle_umbrella",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_bottle_umbrella",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_bowl_sponge": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_bowl_sponge",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_bowl_sponge",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_cake_both_hands": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_cake_both_hands",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_cake_both_hands",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_cup": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_cup",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_cup",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_dog_doll": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_dog_doll",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_dog_doll",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_drink": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_drink",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_drink",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_egg": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_egg",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_egg",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_electronics": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_electronics",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_electronics",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_part_both_hands": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_part_both_hands",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_part_both_hands",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_tissues": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_tissues",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_tissues",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_take_toy_car": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "b9b0fc571ee1ce13a5b55877ae4535be119b53a78ecc19196a99eda71101d738",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_take_toy_car",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_take_toy_car",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_turn_page": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_turn_page",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_turn_page",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_unplug": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_unplug",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_unplug",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Airbot_MMK2_unscrew_bottle_cap": {
+ "contract_hash": "8d1b4543d6dffe8050a72d00f1475d40d1addee73179af3e89513c24fe31cc9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "1bb3f0e0fd25a2686baaa991a733aab5b2ffdc05873f05111833eb485616c88b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Airbot_MMK2_unscrew_bottle_cap",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Airbot_MMK2_unscrew_bottle_cap",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 36
+ },
+ "Cobot_Magic_box_storage_chopsticks": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_box_storage_chopsticks",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_box_storage_chopsticks",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_cap_the_pen_a": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "84f833204b849988137847ba123c9d1ab48ccbdef90c567dbcdf79fbb845bc17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_cap_the_pen_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_cap_the_pen_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_catch_the_ball": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_catch_the_ball",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_catch_the_ball",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_classification_of_fruits_and_vegetables": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_classification_of_fruits_and_vegetables",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_classification_of_fruits_and_vegetables",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_classification_of_fruits_and_vegetables_a": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_classification_of_fruits_and_vegetables_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_classification_of_fruits_and_vegetables_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_classification_of_tableware": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_classification_of_tableware",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_classification_of_tableware",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_clean_blackboard": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_clean_blackboard",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_clean_blackboard",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_clean_up_the_tableware": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_clean_up_the_tableware",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_clean_up_the_tableware",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_clear_the_desktop": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "84f833204b849988137847ba123c9d1ab48ccbdef90c567dbcdf79fbb845bc17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_clear_the_desktop",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_clear_the_desktop",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_close_book": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "84f833204b849988137847ba123c9d1ab48ccbdef90c567dbcdf79fbb845bc17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_close_book",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_close_book",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_close_button": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_close_button",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_close_button",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_cube_reset": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_cube_reset",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_cube_reset",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_cut_banana": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_cut_banana",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_cut_banana",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_desktop_organization": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "abfda9fb7c902a8a45d18e2c7669bbe7c1305a2a7595fb137dbf69dd722899b2",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_desktop_organization",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_desktop_organization",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_drawer_storage_mineral_water": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_drawer_storage_mineral_water",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_drawer_storage_mineral_water",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_fold_the_towel": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "84f833204b849988137847ba123c9d1ab48ccbdef90c567dbcdf79fbb845bc17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_fold_the_towel",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_fold_the_towel",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_fold_towel_a": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "84f833204b849988137847ba123c9d1ab48ccbdef90c567dbcdf79fbb845bc17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_fold_towel_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_fold_towel_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_make_fruit_salad": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_make_fruit_salad",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_make_fruit_salad",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_mobile_cube": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_mobile_cube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_mobile_cube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_mobile_cube_blackboard": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_mobile_cube_blackboard",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_mobile_cube_blackboard",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_move_beverage": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_move_beverage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_move_beverage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_move_plate": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_move_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_move_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_move_the_ball": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_move_the_ball",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_move_the_ball",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_move_the_ball_and_the_cube_block": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_move_the_ball_and_the_cube_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_move_the_ball_and_the_cube_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_move_the_ball_interference": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_move_the_ball_interference",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_move_the_ball_interference",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_move_the_bread": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_move_the_bread",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_move_the_bread",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_move_the_cup": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_move_the_cup",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_move_the_cup",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_move_the_plate": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_move_the_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_move_the_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_move_the_small_ball": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_move_the_small_ball",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_move_the_small_ball",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_movethe_position_of_the_bluetooth": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_movethe_position_of_the_bluetooth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_movethe_position_of_the_bluetooth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_open_the_shoebox": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_open_the_shoebox",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_open_the_shoebox",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_place_square_pyramid": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_place_square_pyramid",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_place_square_pyramid",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_place_the_cube_block": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_place_the_cube_block",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_place_the_cube_block",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_place_the_test_tube": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "84f833204b849988137847ba123c9d1ab48ccbdef90c567dbcdf79fbb845bc17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_place_the_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_place_the_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_plate_storage_apple": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "84f833204b849988137847ba123c9d1ab48ccbdef90c567dbcdf79fbb845bc17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_plate_storage_apple",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_plate_storage_apple",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_plate_storage_bread": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_plate_storage_bread",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_plate_storage_bread",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_plate_storaje_baozi": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_plate_storaje_baozi",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_plate_storaje_baozi",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_pour_drink": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_pour_drink",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_pour_drink",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_pour_water_a": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_pour_water_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_pour_water_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_pour_water_bottle": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_pour_water_bottle",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_pour_water_bottle",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_prepare_breakfast": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_prepare_breakfast",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_prepare_breakfast",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_pull_zipper": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_pull_zipper",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_pull_zipper",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_pushing_magnet": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_pushing_magnet",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_pushing_magnet",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_put_in_the_pear": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_put_in_the_pear",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_put_in_the_pear",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_put_the_building_block_on_the_table": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_put_the_building_block_on_the_table",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_put_the_building_block_on_the_table",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_storage_plate": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "84f833204b849988137847ba123c9d1ab48ccbdef90c567dbcdf79fbb845bc17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_storage_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_storage_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_take_out_a_pen_from_the_pen_holder": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "84f833204b849988137847ba123c9d1ab48ccbdef90c567dbcdf79fbb845bc17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_take_out_a_pen_from_the_pen_holder",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_take_out_a_pen_from_the_pen_holder",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_take_out_the_bread": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_take_out_the_bread",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_take_out_the_bread",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_take_the_shoes_off_the_shelf": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_take_the_shoes_off_the_shelf",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_take_the_shoes_off_the_shelf",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_the_plate_holds_the_fruit": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_the_plate_holds_the_fruit",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_the_plate_holds_the_fruit",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_the_plate_holds_the_vegetables": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_the_plate_holds_the_vegetables",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_the_plate_holds_the_vegetables",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_turn_off_the_desk_lamp": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_turn_off_the_desk_lamp",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_turn_off_the_desk_lamp",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_turn_on_the_bulb": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "eaa467cbf7cdb23d80e70d85b4a0f5796e8a148ff8c41246a65e2ed954bbddbd",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_turn_on_the_bulb",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_turn_on_the_bulb",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_turn_on_the_desk_lamp": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_turn_on_the_desk_lamp",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_turn_on_the_desk_lamp",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_twist_bottle_cap": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_twist_bottle_cap",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_twist_bottle_cap",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Cobot_Magic_vase_storage_flower": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "a903b378bb003d629a46f04a223e6e5dcc435a2126312c823304e087e45e6c2e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_vase_storage_flower",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_vase_storage_flower",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Cobot_Magic_water_bottle_storage": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Cobot_Magic_water_bottle_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Cobot_Magic_water_bottle_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "G1_WBT_Brainco_Collect_Plates_Into_Dishwasher": {
+ "contract_hash": "8fec5da6e0533a896400d6bfc5b0004b22b787842c804b1788de3192caa505d3",
+ "contract_version": 1,
+ "deployment_profile_hash": "db4e4a1c7a5694474c666a4b2e45f07a6250e8de81f4302e19a15103992f3b5f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1_WBT_Brainco_Collect_Plates_Into_Dishwasher",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1_WBT_Brainco_Collect_Plates_Into_Dishwasher",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 60
+ },
+ "G1_WBT_Brainco_Make_The_Bed": {
+ "contract_hash": "8fec5da6e0533a896400d6bfc5b0004b22b787842c804b1788de3192caa505d3",
+ "contract_version": 1,
+ "deployment_profile_hash": "db4e4a1c7a5694474c666a4b2e45f07a6250e8de81f4302e19a15103992f3b5f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1_WBT_Brainco_Make_The_Bed",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1_WBT_Brainco_Make_The_Bed",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 60
+ },
+ "G1_WBT_Brainco_Pickup_Pillow": {
+ "contract_hash": "8fec5da6e0533a896400d6bfc5b0004b22b787842c804b1788de3192caa505d3",
+ "contract_version": 1,
+ "deployment_profile_hash": "db4e4a1c7a5694474c666a4b2e45f07a6250e8de81f4302e19a15103992f3b5f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1_WBT_Brainco_Pickup_Pillow",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1_WBT_Brainco_Pickup_Pillow",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 60
+ },
+ "G1_WBT_Inspire_Put_Clothes_Into_Basket": {
+ "contract_hash": "8fec5da6e0533a896400d6bfc5b0004b22b787842c804b1788de3192caa505d3",
+ "contract_version": 1,
+ "deployment_profile_hash": "db4e4a1c7a5694474c666a4b2e45f07a6250e8de81f4302e19a15103992f3b5f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1_WBT_Inspire_Put_Clothes_Into_Basket",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1_WBT_Inspire_Put_Clothes_Into_Basket",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 60
+ },
+ "G1_WBT_Inspire_Put_Clothes_into_Washing_Machine": {
+ "contract_hash": "8fec5da6e0533a896400d6bfc5b0004b22b787842c804b1788de3192caa505d3",
+ "contract_version": 1,
+ "deployment_profile_hash": "db4e4a1c7a5694474c666a4b2e45f07a6250e8de81f4302e19a15103992f3b5f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1_WBT_Inspire_Put_Clothes_into_Washing_Machine",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1_WBT_Inspire_Put_Clothes_into_Washing_Machine",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 60
+ },
+ "G1edu-u3_basket_storage_apple": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "e4c1d70c72fe813c872d2b52968971ad6cad58309b9c774fb10a6bd2a728af16",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_basket_storage_apple",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_basket_storage_apple",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_basket_storage_apple_b": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "7d6dff5a282dc51d0c148c53b0d6e9a0a52b1d88dd8d5eeca59c3f40ce3efb8f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_basket_storage_apple_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_basket_storage_apple_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_bowl_storage_grape_singletry": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "7d6dff5a282dc51d0c148c53b0d6e9a0a52b1d88dd8d5eeca59c3f40ce3efb8f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_bowl_storage_grape_singletry",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_bowl_storage_grape_singletry",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_food_storage": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "e4c1d70c72fe813c872d2b52968971ad6cad58309b9c774fb10a6bd2a728af16",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_food_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_food_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_little_tray_storage_apple_b": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_little_tray_storage_apple_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_little_tray_storage_apple_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_little_tray_storage_lemon_b": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_little_tray_storage_lemon_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_little_tray_storage_lemon_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_apple_a": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_apple_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_apple_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_apple_b": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_apple_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_apple_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_crumpled_paper_aa": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_crumpled_paper_aa",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_crumpled_paper_aa",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_cup_a": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_cup_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_cup_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_empty_bottle_ab": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_empty_bottle_ab",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_empty_bottle_ab",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_leftover_food_ac": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_leftover_food_ac",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_leftover_food_ac",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_metal_bowl_aa": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_metal_bowl_aa",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_metal_bowl_aa",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_metal_bowl_ab": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_metal_bowl_ab",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_metal_bowl_ab",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_plastic_bowl_ac": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_plastic_bowl_ac",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_plastic_bowl_ac",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_plastic_bowl_ad": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_plastic_bowl_ad",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_plastic_bowl_ad",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_up_the_bottled_water_a": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_bottled_water_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_bottled_water_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_up_the_bottled_water_as": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_bottled_water_as",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_bottled_water_as",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_up_the_bottled_water_b": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_bottled_water_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_bottled_water_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_up_the_bread_az": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_bread_az",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_bread_az",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_up_the_lemon_a": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_lemon_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_lemon_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_up_the_lemon_at": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_lemon_at",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_lemon_at",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_up_the_tissue_box_ao": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_tissue_box_ao",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_tissue_box_ao",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pick_up_the_toy_ai": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_toy_ai",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pick_up_the_toy_ai",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_place_apple_c": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_place_apple_c",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_place_apple_c",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_place_bottle_c": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_place_bottle_c",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_place_bottle_c",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_place_metal_bowl_ae": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_place_metal_bowl_ae",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_place_metal_bowl_ae",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_place_metal_bowl_af": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_place_metal_bowl_af",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_place_metal_bowl_af",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_place_plastic_bowl_ag": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_place_plastic_bowl_ag",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_place_plastic_bowl_ag",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_place_plastic_bowl_ah": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_place_plastic_bowl_ah",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_place_plastic_bowl_ah",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_plate_storage_doll": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "e4c1d70c72fe813c872d2b52968971ad6cad58309b9c774fb10a6bd2a728af16",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_plate_storage_doll",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_plate_storage_doll",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_plate_storage_rabbit_doll": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "c9fcf962e132748801f3636097d3058d8117be206fa5113774909c3b8d6360a1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_plate_storage_rabbit_doll",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_plate_storage_rabbit_doll",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pullBowl_storage_bread_a": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "7d6dff5a282dc51d0c148c53b0d6e9a0a52b1d88dd8d5eeca59c3f40ce3efb8f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pullBowl_storage_bread_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pullBowl_storage_bread_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pullBowl_storage_bread_b": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "7d6dff5a282dc51d0c148c53b0d6e9a0a52b1d88dd8d5eeca59c3f40ce3efb8f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pullBowl_storage_bread_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pullBowl_storage_bread_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pullBowl_storage_bread_unordered_C": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "7d6dff5a282dc51d0c148c53b0d6e9a0a52b1d88dd8d5eeca59c3f40ce3efb8f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pullBowl_storage_bread_unordered_C",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pullBowl_storage_bread_unordered_C",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pullBowl_storage_bread_unordered_a": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "7d6dff5a282dc51d0c148c53b0d6e9a0a52b1d88dd8d5eeca59c3f40ce3efb8f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pullBowl_storage_bread_unordered_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pullBowl_storage_bread_unordered_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_pullBowl_storage_bread_unordered_b": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "7d6dff5a282dc51d0c148c53b0d6e9a0a52b1d88dd8d5eeca59c3f40ce3efb8f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_pullBowl_storage_bread_unordered_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_pullBowl_storage_bread_unordered_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_put_the_bread_aw": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_put_the_bread_aw",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_put_the_bread_aw",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_put_the_cup_b": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_put_the_cup_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_put_the_cup_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_put_the_lemon_af": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_put_the_lemon_af",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_put_the_lemon_af",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_put_the_lemon_on_the_plate_ah": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_put_the_lemon_on_the_plate_ah",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_put_the_lemon_on_the_plate_ah",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_put_the_tissue_box_al": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_put_the_tissue_box_al",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_put_the_tissue_box_al",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_put_the_toy_ap": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_put_the_toy_ap",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_put_the_toy_ap",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_put_the_water_bottle_aq": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_put_the_water_bottle_aq",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_put_the_water_bottle_aq",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_put_the_water_bottle_on_the_table_d": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_put_the_water_bottle_on_the_table_d",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_put_the_water_bottle_on_the_table_d",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_stack_bowls": {
+ "contract_hash": "0c63a8d62e234b05373121d261b93c96f0953e490912cafd7ee2a96ed3779fa6",
+ "contract_version": 1,
+ "deployment_profile_hash": "e4c1d70c72fe813c872d2b52968971ad6cad58309b9c774fb10a6bd2a728af16",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_stack_bowls",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_stack_bowls",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "G1edu-u3_tray_storage_lemon_a": {
+ "contract_hash": "9d71103f537398b49c44f9a7bfb3b86b2143d8b3d447a69c7c13e37827c0f383",
+ "contract_version": 1,
+ "deployment_profile_hash": "90107951e52b807134dc1208e291320202d475294be4e7772e063a09c77cfbc4",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "G1edu-u3_tray_storage_lemon_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "G1edu-u3_tray_storage_lemon_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_arrange_baai_then_brain": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_arrange_baai_then_brain",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_arrange_baai_then_brain",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_fold_towel_twice": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_fold_towel_twice",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_fold_towel_twice",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_blue_yellow_large_test_tube": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_blue_yellow_large_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_blue_yellow_large_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_blue_yellow_right": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_blue_yellow_right",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_blue_yellow_right",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_color": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_color",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_color",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_blue_large_test_tube": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_blue_large_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_blue_large_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_blue_left_large_test_tube": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_blue_left_large_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_blue_left_large_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_blue_right": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_blue_right",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_blue_right",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_yellow_large_test_tube": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_yellow_large_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_yellow_large_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_yellow_left_large_test_tube": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_yellow_left_large_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_yellow_left_large_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_yellow_right": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_yellow_right",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_mix_red_yellow_right",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_move_mouse": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_move_mouse",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_move_mouse",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_liquid_mrable_bar_counter": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_liquid_mrable_bar_counter",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_liquid_mrable_bar_counter",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_powder_marble_bar_counter": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_powder_marble_bar_counter",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_powder_marble_bar_counter",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_solid": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_solid",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_solid",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_water": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_water",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_water",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_water_black_tablecloth": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_water_black_tablecloth",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_pour_water_black_tablecloth",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_toggle_drawer_red": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_toggle_drawer_red",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_toggle_drawer_red",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_Galaxea_R1_Lite_toggle_drawer_yellow": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_toggle_drawer_yellow",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_Galaxea_R1_Lite_toggle_drawer_yellow",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_change_baai_into_brain": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_change_baai_into_brain",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_change_baai_into_brain",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_classify_object_five": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_classify_object_five",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_classify_object_five",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_classify_object_four": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_classify_object_four",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_classify_object_four",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_classify_object_six": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_classify_object_six",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_classify_object_six",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_classify_object_three": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_classify_object_three",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_classify_object_three",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_mix_blue_yellow_left_large_test_tube": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_mix_blue_yellow_left_large_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_mix_blue_yellow_left_large_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_mix_blue_yellow_left_small_test_tube": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_mix_blue_yellow_left_small_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_mix_blue_yellow_left_small_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_mix_color_large_test_tube": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_mix_color_large_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_mix_color_large_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_mix_color_small_test_tube": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_mix_color_small_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_mix_color_small_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_pour_solid_marble_bar_counter": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_pour_solid_marble_bar_counter",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_pour_solid_marble_bar_counter",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_storage_object_blue_plate": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_blue_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_blue_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_storage_object_brown_basket": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_brown_basket",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_brown_basket",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_storage_object_brown_bowl": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_brown_bowl",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_brown_bowl",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_storage_object_brown_plate": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_brown_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_brown_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_storage_object_dish": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_dish",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_dish",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_storage_object_gray_plate": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_gray_plate",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_gray_plate",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_storage_object_pink_bowl": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_pink_bowl",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_pink_bowl",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_storage_object_white_box": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_white_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_white_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galaxea_R1_Lite_storage_object_yellow_basket": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "bcc11c7889810f3daba45fd12af9d27eafe434ef77bb7df5ffeb528c02c7f2a3",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_yellow_basket",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galaxea_R1_Lite_storage_object_yellow_basket",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "Galbot_g1_fold_clothe_b": {
+ "contract_hash": "f821188dd8755c86f331342a63e998c4d9993ac3913aca3660365a40a0757e5f",
+ "contract_version": 1,
+ "deployment_profile_hash": "d91839a84c736dc61fb3526a403485af3a97d3cf585f2f825fc565a10fa5b371",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galbot_g1_fold_clothe_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galbot_g1_fold_clothe_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 35
+ },
+ "Galbot_g1_steamer_storage_baozi_a": {
+ "contract_hash": "f821188dd8755c86f331342a63e998c4d9993ac3913aca3660365a40a0757e5f",
+ "contract_version": 1,
+ "deployment_profile_hash": "d91839a84c736dc61fb3526a403485af3a97d3cf585f2f825fc565a10fa5b371",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 35
+ },
+ "Galbot_g1_steamer_storage_baozi_b": {
+ "contract_hash": "f821188dd8755c86f331342a63e998c4d9993ac3913aca3660365a40a0757e5f",
+ "contract_version": 1,
+ "deployment_profile_hash": "d91839a84c736dc61fb3526a403485af3a97d3cf585f2f825fc565a10fa5b371",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 35
+ },
+ "Galbot_g1_steamer_storage_baozi_c": {
+ "contract_hash": "f821188dd8755c86f331342a63e998c4d9993ac3913aca3660365a40a0757e5f",
+ "contract_version": 1,
+ "deployment_profile_hash": "d91839a84c736dc61fb3526a403485af3a97d3cf585f2f825fc565a10fa5b371",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_c",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_c",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 35
+ },
+ "Galbot_g1_steamer_storage_baozi_d": {
+ "contract_hash": "f821188dd8755c86f331342a63e998c4d9993ac3913aca3660365a40a0757e5f",
+ "contract_version": 1,
+ "deployment_profile_hash": "d91839a84c736dc61fb3526a403485af3a97d3cf585f2f825fc565a10fa5b371",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_d",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_d",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 35
+ },
+ "Galbot_g1_steamer_storage_baozi_e": {
+ "contract_hash": "f821188dd8755c86f331342a63e998c4d9993ac3913aca3660365a40a0757e5f",
+ "contract_version": 1,
+ "deployment_profile_hash": "d91839a84c736dc61fb3526a403485af3a97d3cf585f2f825fc565a10fa5b371",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_e",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_e",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 35
+ },
+ "Galbot_g1_steamer_storage_baozi_f": {
+ "contract_hash": "f821188dd8755c86f331342a63e998c4d9993ac3913aca3660365a40a0757e5f",
+ "contract_version": 1,
+ "deployment_profile_hash": "d91839a84c736dc61fb3526a403485af3a97d3cf585f2f825fc565a10fa5b371",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_f",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_f",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 35
+ },
+ "Galbot_g1_steamer_storage_baozi_g": {
+ "contract_hash": "f821188dd8755c86f331342a63e998c4d9993ac3913aca3660365a40a0757e5f",
+ "contract_version": 1,
+ "deployment_profile_hash": "d91839a84c736dc61fb3526a403485af3a97d3cf585f2f825fc565a10fa5b371",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_g",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_g",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 35
+ },
+ "Galbot_g1_steamer_storage_baozi_h": {
+ "contract_hash": "f821188dd8755c86f331342a63e998c4d9993ac3913aca3660365a40a0757e5f",
+ "contract_version": 1,
+ "deployment_profile_hash": "d91839a84c736dc61fb3526a403485af3a97d3cf585f2f825fc565a10fa5b371",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_h",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_h",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 35
+ },
+ "Galbot_g1_steamer_storage_baozi_i": {
+ "contract_hash": "f821188dd8755c86f331342a63e998c4d9993ac3913aca3660365a40a0757e5f",
+ "contract_version": 1,
+ "deployment_profile_hash": "d91839a84c736dc61fb3526a403485af3a97d3cf585f2f825fc565a10fa5b371",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_i",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_i",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 35
+ },
+ "Galbot_g1_steamer_storage_baozi_j": {
+ "contract_hash": "f821188dd8755c86f331342a63e998c4d9993ac3913aca3660365a40a0757e5f",
+ "contract_version": 1,
+ "deployment_profile_hash": "d91839a84c736dc61fb3526a403485af3a97d3cf585f2f825fc565a10fa5b371",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_j",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Galbot_g1_steamer_storage_baozi_j",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 35
+ },
+ "R1_Lite_boil_water_in_a_kettle": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_boil_water_in_a_kettle",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_boil_water_in_a_kettle",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_build_blocks": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_build_blocks",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_build_blocks",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_catch_the_water": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_catch_the_water",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_catch_the_water",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_clean_the_floor": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_clean_the_floor",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_clean_the_floor",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_clean_the_sink": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_clean_the_sink",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_clean_the_sink",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_connect_the_router_cable": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_connect_the_router_cable",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_connect_the_router_cable",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_cook_a_meal": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_cook_a_meal",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_cook_a_meal",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_cover_the_pot_lid": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_cover_the_pot_lid",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_cover_the_pot_lid",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_dispose_of_leftover_food": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_dispose_of_leftover_food",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_dispose_of_leftover_food",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_drawer_storage_hair_dryer": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_drawer_storage_hair_dryer",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_drawer_storage_hair_dryer",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_garbage_disposal": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_garbage_disposal",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_garbage_disposal",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_make_a_landline_call": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_make_a_landline_call",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_make_a_landline_call",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_make_breakfast": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_make_breakfast",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_make_breakfast",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_make_tea": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_make_tea",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_make_tea",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_make_the_bed": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_make_the_bed",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_make_the_bed",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_move_the_position_of_the_apple": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_apple",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_apple",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_black_marker": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_black_marker",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_black_marker",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_brush": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_brush",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_brush",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_coffee_capsule": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_coffee_capsule",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_coffee_capsule",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_cookie": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_cookie",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_cookie",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_duck": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_duck",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_duck",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_glass": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_glass",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_glass",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_long_bread": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_long_bread",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_long_bread",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_milk": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_milk",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_milk",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_orange": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_orange",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_orange",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_peeler": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_peeler",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_peeler",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_pen": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_pen",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_pen",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_rubiks_cube": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_rubiks_cube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_rubiks_cube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_soda": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_soda",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_soda",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_spoon": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_spoon",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_spoon",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_move_the_position_of_the_triangle_bread": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_triangle_bread",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_move_the_position_of_the_triangle_bread",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_open_and_close_curtains": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_open_and_close_curtains",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_open_and_close_curtains",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_open_and_close_microwave_oven": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_open_and_close_microwave_oven",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_open_and_close_microwave_oven",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_open_and_close_nightstand_drawer": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_open_and_close_nightstand_drawer",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_open_and_close_nightstand_drawer",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_open_and_close_the_freezer_door": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_open_and_close_the_freezer_door",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_open_and_close_the_freezer_door",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_open_the_food_pan": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_open_the_food_pan",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_open_the_food_pan",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_opening_and_closing_aalcony_sliding_doors": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_opening_and_closing_aalcony_sliding_doors",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_opening_and_closing_aalcony_sliding_doors",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_peach_storage": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_peach_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_peach_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_pick_up_and_store_items": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_pick_up_and_store_items",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_pick_up_and_store_items",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_place_the_dress_shirt_on_the_hanger": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_place_the_dress_shirt_on_the_hanger",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_place_the_dress_shirt_on_the_hanger",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_plug_the_socket": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_plug_the_socket",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_plug_the_socket",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_pour_water": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_pour_water",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_pour_water",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_put_on_a_garbage_bag": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_put_on_a_garbage_bag",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_put_on_a_garbage_bag",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_put_slippers_into_floor_standing_shoe_cabinet": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_put_slippers_into_floor_standing_shoe_cabinet",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_put_slippers_into_floor_standing_shoe_cabinet",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_put_the_pillow_on_the_bed": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_put_the_pillow_on_the_bed",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_put_the_pillow_on_the_bed",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_put_the_shoes_into_the_shoe_box": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_put_the_shoes_into_the_shoe_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_put_the_shoes_into_the_shoe_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_put_the_tableware_into_the_cupboard": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_put_the_tableware_into_the_cupboard",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_put_the_tableware_into_the_cupboard",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_sliding_chair": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_sliding_chair",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_sliding_chair",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_stack_baskets": {
+ "contract_hash": "bd2de8ca7aac4c16edd03984d55561fdcbac694e74185fbfac913027ce4ad882",
+ "contract_version": 1,
+ "deployment_profile_hash": "90a58d57d51a74a48289ac288d08bf314d02418f158d08060a1ba8281eaca980",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_stack_baskets",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_stack_baskets",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "R1_Lite_storage_of_toiletries": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_storage_of_toiletries",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_storage_of_toiletries",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_switch_labels": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_switch_labels",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_switch_labels",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_switch_on_and_off_the_central_air_conditioning": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_switch_on_and_off_the_central_air_conditioning",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_switch_on_and_off_the_central_air_conditioning",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_tableware_arrangement": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_tableware_arrangement",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_tableware_arrangement",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_take_and_place_the_portable_power_bank": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_take_and_place_the_portable_power_bank",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_take_and_place_the_portable_power_bank",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_take_and_put_away_garden_stuff": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_take_and_put_away_garden_stuff",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_take_and_put_away_garden_stuff",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_take_and_put_away_items": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_take_and_put_away_items",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_take_and_put_away_items",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_take_and_put_the_bowl": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_take_and_put_the_bowl",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_take_and_put_the_bowl",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_take_or_store_plates": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_take_or_store_plates",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_take_or_store_plates",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_tea_service_table_setting": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_tea_service_table_setting",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_tea_service_table_setting",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_throw_out_the_trash": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_throw_out_the_trash",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_throw_out_the_trash",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_tidy_up_toiletries": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_tidy_up_toiletries",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_tidy_up_toiletries",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_wash_the_tableware": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_wash_the_tableware",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_wash_the_tableware",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_washing_board": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_washing_board",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_washing_board",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "R1_Lite_wipe_the_table": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "83b891f7edf965fffb76877f632799731a376a58d344b09050229a09a9799a53",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "R1_Lite_wipe_the_table",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "R1_Lite_wipe_the_table",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "RMC-AIDA-L_basket_storage_banana": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_basket_storage_banana",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_basket_storage_banana",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_basket_storage_egg_yolk_pastry": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_basket_storage_egg_yolk_pastry",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_basket_storage_egg_yolk_pastry",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_basket_storage_long_bread": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_basket_storage_long_bread",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_basket_storage_long_bread",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_basket_storage_orange": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_basket_storage_orange",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_basket_storage_orange",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_basket_storage_peach": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_basket_storage_peach",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_basket_storage_peach",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_box_up_down": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_box_up_down",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_box_up_down",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_clean_table": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_clean_table",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_clean_table",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_fold_shorts": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_fold_shorts",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_fold_shorts",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_fold_towel": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_fold_towel",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_fold_towel",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_food_packaging": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_food_packaging",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_food_packaging",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_food_storage": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_food_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_food_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_fruit_storage": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_fruit_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_fruit_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_get_water": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_get_water",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_get_water",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_glasses_storage": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_glasses_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_glasses_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_organise_the_document_bag": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_organise_the_document_bag",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_organise_the_document_bag",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_place_test_tube": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_place_test_tube",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_place_test_tube",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_place_the_fruits_repeatedly": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_place_the_fruits_repeatedly",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_place_the_fruits_repeatedly",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_place_towel": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_place_towel",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_place_towel",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_plate_storage": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_plate_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_plate_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_pour_coffee_beans": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_pour_coffee_beans",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_pour_coffee_beans",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_pour_rice": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_pour_rice",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_pour_rice",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_pour_tea": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_pour_tea",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_pour_tea",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_stack_baskets": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_stack_baskets",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_stack_baskets",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_stir_coffee": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_stir_coffee",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_stir_coffee",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "RMC-AIDA-L_storage_bin_storage": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "5d83507398a83f8076bc31ef4a46d52c9cd2eebfe9d12edcd814b722bcd44945",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "RMC-AIDA-L_storage_bin_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "RMC-AIDA-L_storage_bin_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "Realman_RMC_AIDA_L_arrange_flowers": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "40698d763e0ed6993a0f2c87df07915ac9cdbaa1ed88dc041fcdc51a8e2e38a9",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_arrange_flowers",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_arrange_flowers",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "Realman_RMC_AIDA_L_fold_towel": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "40698d763e0ed6993a0f2c87df07915ac9cdbaa1ed88dc041fcdc51a8e2e38a9",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_fold_towel",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_fold_towel",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "Realman_RMC_AIDA_L_hang_clothes": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "40698d763e0ed6993a0f2c87df07915ac9cdbaa1ed88dc041fcdc51a8e2e38a9",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_hang_clothes",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_hang_clothes",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "Realman_RMC_AIDA_L_storage_block_basket": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "40698d763e0ed6993a0f2c87df07915ac9cdbaa1ed88dc041fcdc51a8e2e38a9",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_storage_block_basket",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_storage_block_basket",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "Realman_RMC_AIDA_L_storage_peach_box": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "40698d763e0ed6993a0f2c87df07915ac9cdbaa1ed88dc041fcdc51a8e2e38a9",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_storage_peach_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_storage_peach_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "Realman_RMC_AIDA_L_storage_peach_drawer": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "40698d763e0ed6993a0f2c87df07915ac9cdbaa1ed88dc041fcdc51a8e2e38a9",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_storage_peach_drawer",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_storage_peach_drawer",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "Realman_RMC_AIDA_L_storage_towel_basket": {
+ "contract_hash": "2df0bfdd2e6d1a272c3bba3afadcdcc71852eee71ad0395d2fd8d434976c5931",
+ "contract_version": 1,
+ "deployment_profile_hash": "40698d763e0ed6993a0f2c87df07915ac9cdbaa1ed88dc041fcdc51a8e2e38a9",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_storage_towel_basket",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Realman_RMC_AIDA_L_storage_towel_basket",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "Split_aloha_basket_storage_banana": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_basket_storage_banana",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_basket_storage_banana",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_basket_storage_bread": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_basket_storage_bread",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_basket_storage_bread",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_basket_storage_egg_yolk_pastry": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_basket_storage_egg_yolk_pastry",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_basket_storage_egg_yolk_pastry",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_basket_storage_long_bread": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_basket_storage_long_bread",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_basket_storage_long_bread",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_basket_storage_orange": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_basket_storage_orange",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_basket_storage_orange",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_basket_storage_peach": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_basket_storage_peach",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_basket_storage_peach",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_fold_the_pants": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_fold_the_pants",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_fold_the_pants",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_plate_storage": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_plate_storage",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_plate_storage",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_pour_rice": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_pour_rice",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_pour_rice",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_pour_tea": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_pour_tea",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_pour_tea",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_scoop_coffee_beans": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_scoop_coffee_beans",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_scoop_coffee_beans",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_stack_baskets": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_stack_baskets",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_stack_baskets",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_stir_coffee": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_stir_coffee",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_stir_coffee",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_wipe_table": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_wipe_table",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_wipe_table",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_wipe_the_table": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_wipe_the_table",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_wipe_the_table",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Split_aloha_zip_up_the_document_bag": {
+ "contract_hash": "1b81dc6a7d0beb9c34eb9806d5781136f4e4085e7eec2c27e7a51906c3ca532d",
+ "contract_version": 1,
+ "deployment_profile_hash": "2224a56dfdc5607602469ce6cc7d68a2f71f032957d09875a4120684a0dd6b80",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Split_aloha_zip_up_the_document_bag",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Split_aloha_zip_up_the_document_bag",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 26
+ },
+ "Tianqin_A2_container_storage_graphics_card": {
+ "contract_hash": "f224eee5c68d27bc0a49f06be663f285fdd656ab19e074d10b5a4d28fc17040c",
+ "contract_version": 1,
+ "deployment_profile_hash": "33b05be8da1ae40c9afc6e425792634354473f246286f76f1d9a2f668ebf6312",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Tianqin_A2_container_storage_graphics_card",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Tianqin_A2_container_storage_graphics_card",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 17
+ },
+ "Tianqin_A2_place_the_paper_box": {
+ "contract_hash": "f224eee5c68d27bc0a49f06be663f285fdd656ab19e074d10b5a4d28fc17040c",
+ "contract_version": 1,
+ "deployment_profile_hash": "33b05be8da1ae40c9afc6e425792634354473f246286f76f1d9a2f668ebf6312",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "Tianqin_A2_place_the_paper_box",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "Tianqin_A2_place_the_paper_box",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 17
+ },
+ "alpha_bot_2_carry_the_clothes_basket": {
+ "contract_hash": "74518619a7474715cd751f9bcd9b562ea45518ada319e415290bb77a195736f2",
+ "contract_version": 1,
+ "deployment_profile_hash": "1307f6cc08c3975a2aa3295b4d20abbd5f967999e970935752427ffe99d81e17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "alpha_bot_2_carry_the_clothes_basket",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "alpha_bot_2_carry_the_clothes_basket",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "alpha_bot_2_item_reversal": {
+ "contract_hash": "74518619a7474715cd751f9bcd9b562ea45518ada319e415290bb77a195736f2",
+ "contract_version": 1,
+ "deployment_profile_hash": "1307f6cc08c3975a2aa3295b4d20abbd5f967999e970935752427ffe99d81e17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "alpha_bot_2_item_reversal",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "alpha_bot_2_item_reversal",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "alpha_bot_2_move_the_table": {
+ "contract_hash": "74518619a7474715cd751f9bcd9b562ea45518ada319e415290bb77a195736f2",
+ "contract_version": 1,
+ "deployment_profile_hash": "1307f6cc08c3975a2aa3295b4d20abbd5f967999e970935752427ffe99d81e17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "alpha_bot_2_move_the_table",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "alpha_bot_2_move_the_table",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "alpha_bot_2_operate_the_microwave_oven": {
+ "contract_hash": "74518619a7474715cd751f9bcd9b562ea45518ada319e415290bb77a195736f2",
+ "contract_version": 1,
+ "deployment_profile_hash": "1307f6cc08c3975a2aa3295b4d20abbd5f967999e970935752427ffe99d81e17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "alpha_bot_2_operate_the_microwave_oven",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "alpha_bot_2_operate_the_microwave_oven",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "alpha_bot_2_pass_the_sandbag": {
+ "contract_hash": "74518619a7474715cd751f9bcd9b562ea45518ada319e415290bb77a195736f2",
+ "contract_version": 1,
+ "deployment_profile_hash": "1307f6cc08c3975a2aa3295b4d20abbd5f967999e970935752427ffe99d81e17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "alpha_bot_2_pass_the_sandbag",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "alpha_bot_2_pass_the_sandbag",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "alpha_bot_2_press_the_button_a": {
+ "contract_hash": "74518619a7474715cd751f9bcd9b562ea45518ada319e415290bb77a195736f2",
+ "contract_version": 1,
+ "deployment_profile_hash": "1307f6cc08c3975a2aa3295b4d20abbd5f967999e970935752427ffe99d81e17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "alpha_bot_2_press_the_button_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "alpha_bot_2_press_the_button_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "alpha_bot_2_press_the_button_b": {
+ "contract_hash": "74518619a7474715cd751f9bcd9b562ea45518ada319e415290bb77a195736f2",
+ "contract_version": 1,
+ "deployment_profile_hash": "1307f6cc08c3975a2aa3295b4d20abbd5f967999e970935752427ffe99d81e17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "alpha_bot_2_press_the_button_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "alpha_bot_2_press_the_button_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "alpha_bot_2_recover_after_touching_an_obstacle": {
+ "contract_hash": "74518619a7474715cd751f9bcd9b562ea45518ada319e415290bb77a195736f2",
+ "contract_version": 1,
+ "deployment_profile_hash": "1307f6cc08c3975a2aa3295b4d20abbd5f967999e970935752427ffe99d81e17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "alpha_bot_2_recover_after_touching_an_obstacle",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "alpha_bot_2_recover_after_touching_an_obstacle",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "alpha_bot_2_stack_building_blocks": {
+ "contract_hash": "74518619a7474715cd751f9bcd9b562ea45518ada319e415290bb77a195736f2",
+ "contract_version": 1,
+ "deployment_profile_hash": "1307f6cc08c3975a2aa3295b4d20abbd5f967999e970935752427ffe99d81e17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "alpha_bot_2_stack_building_blocks",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "alpha_bot_2_stack_building_blocks",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "alpha_bot_2_sticker": {
+ "contract_hash": "74518619a7474715cd751f9bcd9b562ea45518ada319e415290bb77a195736f2",
+ "contract_version": 1,
+ "deployment_profile_hash": "1307f6cc08c3975a2aa3295b4d20abbd5f967999e970935752427ffe99d81e17",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "alpha_bot_2_sticker",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "alpha_bot_2_sticker",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "austin_buds_dataset_converted_externally_to_rlds": {
+ "contract_hash": "7fff7ce8cdbc9fd01bd3390b8e13ac1a8584442cf295428461271987432786bb",
+ "contract_version": 1,
+ "deployment_profile_hash": "9f1cc1fa8897fd08e445c2cda1035cc95771c871a039de4c9c38c785e471d45a",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "austin_buds_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "austin_buds_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 8
+ },
+ "austin_sailor_dataset_converted_externally_to_rlds": {
+ "contract_hash": "faece5ea29ac8ce39ca44c64ea1af090efef9ca7ac7658717f1c95c8f53dfbb0",
+ "contract_version": 1,
+ "deployment_profile_hash": "9f1cc1fa8897fd08e445c2cda1035cc95771c871a039de4c9c38c785e471d45a",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "austin_sailor_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "austin_sailor_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 8
+ },
+ "austin_sirius_dataset_converted_externally_to_rlds": {
+ "contract_hash": "faece5ea29ac8ce39ca44c64ea1af090efef9ca7ac7658717f1c95c8f53dfbb0",
+ "contract_version": 1,
+ "deployment_profile_hash": "9f1cc1fa8897fd08e445c2cda1035cc95771c871a039de4c9c38c785e471d45a",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "austin_sirius_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "austin_sirius_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 8
+ },
+ "bc_z": {
+ "contract_hash": "ff314969c503b4bff1888a6994a26c6dcd0b01a0b520f5f32488e6c9dfbab647",
+ "contract_version": 1,
+ "deployment_profile_hash": "e5ae2c02e6e29dbbf52a6300c7a6f537a6d865fdb390533431cb50d0bd4e0f40",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "bc_z",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "bc_z",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 7
+ },
+ "berkeley_autolab_ur5": {
+ "contract_hash": "558a84555727b047c82ba9fd6762f2d8ce04e1c473fdb4aed5382b42600a6084",
+ "contract_version": 1,
+ "deployment_profile_hash": "3f6a33889057b1d72a0bc6658d415bc33efa790e0f0887c40ea1ddbb7b4e3a29",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "berkeley_autolab_ur5",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "berkeley_autolab_ur5",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "berkeley_cable_routing": {
+ "contract_hash": "b8417f0629bb0da34987a438409ecba9c32d27bd6aeb542812829c5d3714d17c",
+ "contract_version": 1,
+ "deployment_profile_hash": "833e88fe39ab1b6c7bb3f102ccfeee829daba8b34800f43fb4b73ed3e7ed553c",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "berkeley_cable_routing",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "berkeley_cable_routing",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 7
+ },
+ "berkeley_mvp_converted_externally_to_rlds": {
+ "contract_hash": "13d9b93c7dda6fdc17ca94ae98740d9a30ea79de27d3d0faf84aeab2ba97aa32",
+ "contract_version": 1,
+ "deployment_profile_hash": "4ddec2e0cc46d028d2642049051f9589d168ba13d4c7ca7833d5b753a867238f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "berkeley_mvp_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "berkeley_mvp_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 15
+ },
+ "berkeley_rpt_converted_externally_to_rlds": {
+ "contract_hash": "21bd091a0129a6dd6b8ac3478ea293d1de59e952a986979f716d32734dc145c2",
+ "contract_version": 1,
+ "deployment_profile_hash": "cc872aab1ab236519b1c50f176cd34fa8dc16bf97b849351dcd581b6e3e28a2d",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "berkeley_rpt_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "berkeley_rpt_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 8
+ },
+ "bridge": {
+ "contract_hash": "b8417f0629bb0da34987a438409ecba9c32d27bd6aeb542812829c5d3714d17c",
+ "contract_version": 1,
+ "deployment_profile_hash": "e6fd0d2bc2969bdc29a1f6d5e55f243a6cf93873be5c94894f0729bcc222c99d",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "bridge",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "bridge",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 7
+ },
+ "bridge_v2": {
+ "contract_hash": "b8417f0629bb0da34987a438409ecba9c32d27bd6aeb542812829c5d3714d17c",
+ "contract_version": 1,
+ "deployment_profile_hash": "e6fd0d2bc2969bdc29a1f6d5e55f243a6cf93873be5c94894f0729bcc222c99d",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "bridge_v2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "bridge_v2",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 7
+ },
+ "cmu_franka_exploration_dataset_converted_externally_to_rlds": {
+ "contract_hash": "59704c11b4f9b612e75f68fac891e4dca743d52d7a946d6d64db287c7b620633",
+ "contract_version": 1,
+ "deployment_profile_hash": "a515a940883961ad86ffedb431714d95ca792f96b6f35cdb63aff27a774b5ef4",
+ "mode": "none",
+ "normalization_identities": [
+ {
+ "normalization_scope": "cmu_franka_exploration_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "cmu_franka_exploration_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 0
+ },
+ "columbia_cairlab_pusht_real": {
+ "contract_hash": "43caecfcb765a08fba31a3b3b31fb81e60e422c634a0d4458cdb83a7ca435c4d",
+ "contract_version": 1,
+ "deployment_profile_hash": "d10c8a485c131e1c875f692692c3f1f852c9829b3bc4d33152634806508d0c02",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "columbia_cairlab_pusht_real",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "columbia_cairlab_pusht_real",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 2
+ },
+ "dobbe": {
+ "contract_hash": "b8417f0629bb0da34987a438409ecba9c32d27bd6aeb542812829c5d3714d17c",
+ "contract_version": 1,
+ "deployment_profile_hash": "86226d8001121942c50e6d703fbd0d77be7f8acb51da634cadbbd0df198b8fca",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "dobbe",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "dobbe",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 7
+ },
+ "droid": {
+ "contract_hash": "048099f1553a3f333f9ce4bd6023dab02b7cfbcf8b29b37372f26589c5bafd72",
+ "contract_version": 1,
+ "deployment_profile_hash": "e790ccf5c0a3a11b84ec080d77efa1c581165c97c05cb44803216cc51e3c139c",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "droid_part_00_stats",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "droid_part_00_stats",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "droid_part_01_stats",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "droid_part_01_stats",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "droid_part_02_stats",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "droid_part_02_stats",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "droid_part_03_stats",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "droid_part_03_stats",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "droid_part_04_stats",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "droid_part_04_stats",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "droid_part_05_stats",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "droid_part_05_stats",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "droid_part_06_stats",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "droid_part_06_stats",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "droid_part_07_stats",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "droid_part_07_stats",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "fractal20220817_data": {
+ "contract_hash": "fbbc7b273f14485b0d0d3321f2b623ad832ffde0307df94e24ac8e8c35f94a11",
+ "contract_version": 1,
+ "deployment_profile_hash": "3277df36d5e69aead6c755ba65c3b32b793481a49d9a5f25ecfe4e763fa8728f",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "fractal20220817_data",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "fractal20220817_data",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 9
+ },
+ "furniture_bench_dataset_converted_externally_to_rlds": {
+ "contract_hash": "f6463d417743ae0ae5ea9bf93a1cb0fa29e1cbaa58f33f4ff12d2c87f997253d",
+ "contract_version": 1,
+ "deployment_profile_hash": "8ead59cabfa4b08f5e7a1c3b24d2cebca96d0f96d544ace13b07dbf146602a1d",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "furniture_bench_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "furniture_bench_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "high_quality_folding": {
+ "contract_hash": "223f44bdfdd7cbff3c8c73b534f27d61883a7dc3b4a0c08f434c78f7eb52b9c3",
+ "contract_version": 1,
+ "deployment_profile_hash": "ca0baf580d0db0c7bfacb6a8934b8266fec609d48afcdd6f085f008307119f47",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "high_quality_folding",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "high_quality_folding",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 16
+ },
+ "iamlab_cmu_pickup_insert_converted_externally_to_rlds": {
+ "contract_hash": "0f1d88d5080e442c37293e8ebefc4de8e7b2c0a1eb93f4e0a0028054b431d625",
+ "contract_version": 1,
+ "deployment_profile_hash": "8ead59cabfa4b08f5e7a1c3b24d2cebca96d0f96d544ace13b07dbf146602a1d",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "iamlab_cmu_pickup_insert_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "iamlab_cmu_pickup_insert_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 8
+ },
+ "jaco_play": {
+ "contract_hash": "dae4d51f85c0db3bceefcc2ac7f68d8a2431032456aadbc24dc7479598ffdc63",
+ "contract_version": 1,
+ "deployment_profile_hash": "75724ae43b3530f5427d82ea66b381be3fbedda094b6609c31e0257d8f2cf816",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "jaco_play",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "jaco_play",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 21
+ },
+ "kaist_nonprehensile_converted_externally_to_rlds": {
+ "contract_hash": "40b52bb31aac1d0514cd0a8caa58ed332ab061b8bbf0edfb31bd5b4c1d07ff27",
+ "contract_version": 1,
+ "deployment_profile_hash": "abe274c3352761713e3469068a98609bd96b2a325721ec0f1df89e7e925e1251",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "kaist_nonprehensile_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "kaist_nonprehensile_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 21
+ },
+ "language_table": {
+ "contract_hash": "da2ee881a873f90a82a61acb138bbc8ed353e6e211b72e90671d9f4d1e1509ce",
+ "contract_version": 1,
+ "deployment_profile_hash": "354f606e1c385450294a602a7b786deb6330f54aac2c214eea37858d340324eb",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "language_table_stats_v1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "language_table_stats_v1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "language_table_stats_v2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "language_table_stats_v2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "language_table_stats_v3",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "language_table_stats_v3",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 2
+ },
+ "leju_robot_box_storage_parcel_a": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_box_storage_parcel_b": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_box_storage_parcel_c": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_c",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_c",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_box_storage_parcel_d": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_d",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_d",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_box_storage_parcel_f": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_f",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_f",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_box_storage_parcel_g": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_g",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_g",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_box_storage_parcel_h": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_h",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_box_storage_parcel_h",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_a": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_aa": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_aa",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_aa",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_ab": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_ab",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_ab",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_ac": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_ac",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_ac",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_ad": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_ad",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_ad",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_ae": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_ae",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_ae",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_af": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_af",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_af",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_ag": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_ag",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_ag",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_ah": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_ah",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_ah",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_b": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_c": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_c",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_c",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_d": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_d",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_d",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_e": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_e",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_e",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_f": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_f",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_f",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_hotel_services_h": {
+ "contract_hash": "575e94bbfc9219b0e9df74efcc1a9f5b0e6d6a29f70a64c84507eb52f3c40775",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_h",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_h",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 54
+ },
+ "leju_robot_hotel_services_i": {
+ "contract_hash": "575e94bbfc9219b0e9df74efcc1a9f5b0e6d6a29f70a64c84507eb52f3c40775",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_hotel_services_i",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_hotel_services_i",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 54
+ },
+ "leju_robot_moving_parts_g": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_moving_parts_g",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_moving_parts_g",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_moving_parts_h": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_moving_parts_h",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_moving_parts_h",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_moving_parts_i": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_moving_parts_i",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_moving_parts_i",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_moving_parts_j": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_moving_parts_j",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_moving_parts_j",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_moving_parts_k": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_moving_parts_k",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_moving_parts_k",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_moving_parts_u": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_moving_parts_u",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_moving_parts_u",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_pass_the_cleaner_a": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_pass_the_cleaner_a",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_pass_the_cleaner_a",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_pass_the_cleaner_b": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_pass_the_cleaner_b",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_pass_the_cleaner_b",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_pass_the_cleaner_c": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_pass_the_cleaner_c",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_pass_the_cleaner_c",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "leju_robot_pass_the_cleaner_d": {
+ "contract_hash": "c4e1f6dfd1152744b14a99fcea458d7377dccc3c36ad91dafabcc49fe4931fb2",
+ "contract_version": 1,
+ "deployment_profile_hash": "d64bd1d12bdb149831af4d89cad48400337c3c57904479968158aba2a347c068",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "leju_robot_pass_the_cleaner_d",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "leju_robot_pass_the_cleaner_d",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 90
+ },
+ "libero": {
+ "contract_hash": "680a8b7b295469e7fdeec2b8aa620c9f68584488cecd9f207d9f4d60ef55fc23",
+ "contract_version": 1,
+ "deployment_profile_hash": "3c5d28e2ed7250d520446ce545c60fa111b8babf4a8ce92ab73bdb3dc8b27a79",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "libero_10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "libero_10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "libero_goal",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "libero_goal",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "libero_object",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "libero_object",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "libero_spatial",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "libero_spatial",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 8
+ },
+ "maniskill_dataset_converted_externally_to_rlds": {
+ "contract_hash": "842c91c82a80b57fc257e7a612546b9594b2e03d62724122c6fd0d753c126d9f",
+ "contract_version": 1,
+ "deployment_profile_hash": "9f1cc1fa8897fd08e445c2cda1035cc95771c871a039de4c9c38c785e471d45a",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "maniskill_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "maniskill_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 25
+ },
+ "molmoact2_bimanualyam": {
+ "contract_hash": "f8b5e092bfd8f6adf31bca7e541d5bfd94df97f45720b3a9658f16aa34835a96",
+ "contract_version": 1,
+ "deployment_profile_hash": "cee5e582cfbc1f919a51994eecf956969f7afd91720ceb086be02ebf4a174eeb",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "01122025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "01122025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "01122025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "01122025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-01-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-01-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-02-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-02-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-03-3",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-03-3",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02012026-tablebuss-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02122025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02122025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02122025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02122025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "02122025-box-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "02122025-box-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-plate-cleaning-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-plate-cleaning-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-plate-cleaning-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-plate-cleaning-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-plate-cleaning-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-plate-cleaning-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-plate-cleaning-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-plate-cleaning-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-plate-cleaning-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-plate-cleaning-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03012026-tablebuss-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03122025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03122025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03122025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03122025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "03122025-box-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "03122025-box-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-013",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-013",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04012026-plate-cleaning-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04122025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04122025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04122025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04122025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "04122025-box-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "04122025-box-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05012026-plate-cleaning-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05122025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05122025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05122025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05122025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05122025-box-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05122025-box-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "05122025-box-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "05122025-box-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06012026-plate-cleaning-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06122025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06122025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06122025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06122025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06122025-box-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06122025-box-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "06122025-box-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "06122025-box-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07012026-plate-cleaning-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07122025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07122025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "07122025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "07122025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-15",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-15",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-16",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-16",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-17",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08012026-plate-cleaning-17",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08122025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08122025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "08122025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "08122025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09012026-plate-cleaning-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09122025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09122025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09122025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09122025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09122025-box-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09122025-box-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "09122025-box-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "09122025-box-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "10122025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "10122025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "10122025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "10122025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "10122025-box-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "10122025-box-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "10122025-box-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "10122025-box-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "10122025-box-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "10122025-box-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "10122025-box-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "10122025-box-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-box-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-box-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-box-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-box-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-box-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-box-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-box-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-box-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-gro-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-gro-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-gro-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-gro-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-gro-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-gro-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-gro-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-gro-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-gro-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-gro-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "11122025-gro-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "11122025-gro-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12012026-block1-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12012026-block1-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12012026-block1-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12012026-block1-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12012026-block1-3",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12012026-block1-3",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12012026-block2-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12012026-block2-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12012026-block2-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12012026-block2-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12012026-block2-3",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12012026-block2-3",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12012026-block3-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12012026-block3-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12012026-block3-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12012026-block3-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12012026-block3-3",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12012026-block3-3",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12012026-scan-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12012026-scan-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-gro-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-gro-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-gro-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-gro-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-gro-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-gro-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-gro-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-gro-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-gro-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-gro-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-gro-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-gro-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-tool-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-tool-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-tool-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-tool-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-tool-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-tool-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-tool-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-tool-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-tool-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-tool-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-tool-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-tool-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-tool-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-tool-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-tool-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-tool-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-tool-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-tool-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "12122025-tool-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "12122025-tool-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-3",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-3",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-4",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-4",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-5",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-5",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-6",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-6",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-7",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-7",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-8",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-8",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13012026-scan-9",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13012026-scan-9",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-cut-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-cut-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-tool-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-tool-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-tool-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-tool-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-tool-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-tool-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-tool-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-tool-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-tool-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-tool-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-tool-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-tool-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-tool-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-tool-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-tool-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-tool-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-tool-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-tool-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "13122025-tool-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "13122025-tool-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-3",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-3",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-4",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-4",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-5",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-5",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-6",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-6",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-7",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-7",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-8",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-8",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14012026-scan-9",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14012026-scan-9",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-cut-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-cut-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-toy-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-toy-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-toy-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-toy-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-toy-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-toy-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-toy-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-toy-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-toy-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-toy-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-toy-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-toy-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-toy-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-toy-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-toy-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-toy-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-toy-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-toy-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-toy-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-toy-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "14122025-toy-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "14122025-toy-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-0",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-0",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-15",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-15",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-4",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-4",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-5",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-5",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15012026-scan-6",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15012026-scan-6",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-cup-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-cup-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toilet-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toilet-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toy-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toy-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toy-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toy-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toy-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toy-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toy-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toy-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toy-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toy-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toy-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toy-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "15122025-toy-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "15122025-toy-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16012026-scan-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16012026-scan-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-med-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-med-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "16122025-toilet-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "16122025-toilet-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17012026-scan-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17012026-scan-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-clo-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-clo-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "17122025-med-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "17122025-med-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-07-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-07-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-08-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-08-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-09-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-09-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-10-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-10-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-11-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-11-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-12-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-12-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18012026-block-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18012026-block-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "18122025-foldclo-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-07-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-07-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-07-3",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-07-3",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-08-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-08-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-08-3",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-08-3",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-09-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-09-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-09-3",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-09-3",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-10-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-10-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-11-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-11-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-12-2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-12-2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-block-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-block-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19012026-charging-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19012026-charging-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "19122025-foldclo-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20012026-charging-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20012026-charging-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "20122025-foldclo-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21012026-charging-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21012026-charging-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "21122025-foldclo-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-15",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-15",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22012026-scoop-16",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22012026-scoop-16",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "22122025-foldclo-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-scoop-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-scoop-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23012026-untangle-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23012026-untangle-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "23122025-foldclo-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24012026-untangle-15",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24012026-untangle-15",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24112025-yam-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24112025-yam-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "24122025-foldclo-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-15",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-15",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-16",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-16",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-17",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-17",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25012026-untangle-18",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25012026-untangle-18",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25112025-yam-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25112025-yam-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25112025-yam-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25112025-yam-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25112025-yam-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25112025-yam-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "25112025-yam-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "25112025-yam-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26012026-untangle-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26012026-untangle-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26112025-yam-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26112025-yam-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26112025-yam-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26112025-yam-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26112025-yam-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26112025-yam-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26112025-yam-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26112025-yam-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-foldclo-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-03-1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-03-1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "26122025-tablebuss-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-13",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27012026-untangle-14",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27012026-untangle-14",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27112025-yam-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27112025-yam-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27112025-yam-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27112025-yam-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27112025-yam-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27112025-yam-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27112025-yam-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27112025-yam-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "27122025-tablebuss-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28112025-block-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28112025-block-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28112025-yam-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28112025-yam-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28112025-yam-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28112025-yam-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "28122025-tablebuss-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29112025-block-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29112025-block-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29112025-block-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29112025-block-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29112025-block-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29112025-block-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29112025-block-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29112025-block-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "29122025-tablebuss-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30112025-box-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30112025-box-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30112025-box-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30112025-box-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30112025-box-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30112025-box-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "30122025-tablebuss-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-01",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-01",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-02",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-02",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-03",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-03",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-04",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-04",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-05",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-05",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-06",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-06",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-07",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-07",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-08",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-08",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-09",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-09",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-10",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-10",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-11",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-11",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-12",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-12",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-13",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "31122025-tablebuss-13",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "mt_opt": {
+ "contract_hash": "3856112e4af618dc5c3483c284431e124e202d5e4ba974aacbbeb648f65de734",
+ "contract_version": 1,
+ "deployment_profile_hash": "47bacdba288ac7282d15fd3ef5cfc9253562a5602b75ee4af2d5bb9b92f6e8fc",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "mt_opt_stats_v1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "mt_opt_stats_v1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "mt_opt_stats_v2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "mt_opt_stats_v2",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "mt_opt_stats_v3",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "mt_opt_stats_v3",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 8
+ },
+ "nitrogen_shuffled": {
+ "contract_hash": "59704c11b4f9b612e75f68fac891e4dca743d52d7a946d6d64db287c7b620633",
+ "contract_version": 1,
+ "deployment_profile_hash": "a11cbf438d4362c1d40e5f0a696591e16a6358bf2bdc978001b03b04d3cf7cf2",
+ "mode": "none",
+ "normalization_identities": [
+ {
+ "normalization_scope": "nitrogen_shuffled_fps30",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "nitrogen_shuffled_fps30",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "nitrogen_shuffled_fps60",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "nitrogen_shuffled_fps60",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 0
+ },
+ "nyu_door_opening_surprising_effectiveness": {
+ "contract_hash": "59704c11b4f9b612e75f68fac891e4dca743d52d7a946d6d64db287c7b620633",
+ "contract_version": 1,
+ "deployment_profile_hash": "a682f1c366a9a4c54fd999c365a8d658751524841371b6027dae695c1553c46b",
+ "mode": "none",
+ "normalization_identities": [
+ {
+ "normalization_scope": "nyu_door_opening_surprising_effectiveness",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "nyu_door_opening_surprising_effectiveness",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 0
+ },
+ "nyu_franka_play_dataset_converted_externally_to_rlds": {
+ "contract_hash": "64afb594ddb8a9a85202197b9f45a11bfa2f8ef61eda1e77f6a0d91e19c5416e",
+ "contract_version": 1,
+ "deployment_profile_hash": "77075f01ed2e9871cc861248a6000c64fd3dd1c7a40d24418780d013be89c94e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "nyu_franka_play_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "nyu_franka_play_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 13
+ },
+ "nyu_rot_dataset_converted_externally_to_rlds": {
+ "contract_hash": "b8417f0629bb0da34987a438409ecba9c32d27bd6aeb542812829c5d3714d17c",
+ "contract_version": 1,
+ "deployment_profile_hash": "d8389817022fafe6ef6e4c63b4347026f1c93577266e5f6c888ceb8562322a5d",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "nyu_rot_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "nyu_rot_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 7
+ },
+ "robo_net": {
+ "contract_hash": "3df59286ca480af3941c9b4e80f8b6e9f125998ba54ac605b7c9e17b3e109271",
+ "contract_version": 1,
+ "deployment_profile_hash": "e96a2a4146352e3b72539d4edd587f97469862c74be1265e5653303ac3581b88",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "robo_net_stats_v1",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "robo_net_stats_v1",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "robo_net_stats_v2",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "robo_net_stats_v2",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 5
+ },
+ "robocasa_gr1": {
+ "contract_hash": "12be4c5243026f3703a0afbe1415499f6c50a213acac98e38baf108295b0db0f",
+ "contract_version": 1,
+ "deployment_profile_hash": "8c64b270a94102374b39bf9e20d05e031a18191f0abbb6d031b753ae74b8a4fb",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "PnPBottleToCabinetClose",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PnPBottleToCabinetClose",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PnPCanToDrawerClose",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PnPCanToDrawerClose",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PnPCupToDrawerClose",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PnPCupToDrawerClose",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PnPMilkToMicrowaveClose",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PnPMilkToMicrowaveClose",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PnPPotatoToMicrowaveClose",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PnPPotatoToMicrowaveClose",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PnPWineToCabinetClose",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PnPWineToCabinetClose",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromCuttingboardToBasketSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromCuttingboardToBasketSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromCuttingboardToCardboardboxSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromCuttingboardToCardboardboxSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromCuttingboardToPanSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromCuttingboardToPanSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromCuttingboardToPotSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromCuttingboardToPotSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromCuttingboardToTieredbasketSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromCuttingboardToTieredbasketSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlacematToBasketSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlacematToBasketSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlacematToBowlSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlacematToBowlSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlacematToPlateSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlacematToPlateSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlacematToTieredshelfSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlacematToTieredshelfSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlateToBowlSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlateToBowlSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlateToCardboardboxSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlateToCardboardboxSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlateToPanSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlateToPanSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlateToPlateSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromPlateToPlateSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromTrayToCardboardboxSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromTrayToCardboardboxSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromTrayToPlateSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromTrayToPlateSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromTrayToPotSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromTrayToPotSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromTrayToTieredbasketSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromTrayToTieredbasketSplitA",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromTrayToTieredshelfSplitA",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "PosttrainPnPNovelFromTrayToTieredshelfSplitA",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 29
+ },
+ "roboturk": {
+ "contract_hash": "59704c11b4f9b612e75f68fac891e4dca743d52d7a946d6d64db287c7b620633",
+ "contract_version": 1,
+ "deployment_profile_hash": "edb0a16ba62968c7bee0eee17addbce1ae71c9b7bf536fb28f8e54f0c024c858",
+ "mode": "none",
+ "normalization_identities": [
+ {
+ "normalization_scope": "roboturk",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "roboturk",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 0
+ },
+ "stanford_hydra_dataset_converted_externally_to_rlds": {
+ "contract_hash": "9d599713d4bc9c56561ff5454e2efa1113164fa3f5297a1624165eeb7c95a93e",
+ "contract_version": 1,
+ "deployment_profile_hash": "9f1cc1fa8897fd08e445c2cda1035cc95771c871a039de4c9c38c785e471d45a",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "stanford_hydra_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "stanford_hydra_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 24
+ },
+ "stanford_kuka_multimodal_dataset_converted_externally_to_rlds": {
+ "contract_hash": "4d831d4ab71098cb777d3cd358cc18ccd2b250062666e066493dfaf29b9ff07e",
+ "contract_version": 1,
+ "deployment_profile_hash": "2ef353f7d69993d216c20b8177b55633c67b4b7a397deee84521a9e685961e6a",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "stanford_kuka_multimodal_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "stanford_kuka_multimodal_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 28
+ },
+ "stanford_mask_vit_converted_externally_to_rlds": {
+ "contract_hash": "90d8b3f4fb92595c8637c0d5dfc5f708ef0ffaddd3601b483af5ecd30e15cc92",
+ "contract_version": 1,
+ "deployment_profile_hash": "6c84687da2bcf3254519ce1dd98f3a05a5343024bb1255636d212c8b8173af9e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "stanford_mask_vit_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "stanford_mask_vit_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 21
+ },
+ "stanford_robocook_converted_externally_to_rlds": {
+ "contract_hash": "b8417f0629bb0da34987a438409ecba9c32d27bd6aeb542812829c5d3714d17c",
+ "contract_version": 1,
+ "deployment_profile_hash": "210c81d97c6929a3dd534c0ac5df90c5dfc84532a7f3da48e2f7f0bda8834015",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "stanford_robocook_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "stanford_robocook_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 7
+ },
+ "taco_play": {
+ "contract_hash": "558a84555727b047c82ba9fd6762f2d8ce04e1c473fdb4aed5382b42600a6084",
+ "contract_version": 1,
+ "deployment_profile_hash": "17d00838113150a57b92ec80badafff4b04b7e440fd291af9fddaf39bd759b4d",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "taco_play",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "taco_play",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "task_3400_313498_314085": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3400_313498_314085",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3400_313498_314085",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3400_314096_314575": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3400_314096_314575",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3400_314096_314575",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3400_314576_315886": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3400_314576_315886",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3400_314576_315886",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3400_315903_317024": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3400_315903_317024",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3400_315903_317024",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3400_317029_317933": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3400_317029_317933",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3400_317029_317933",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3400_346206_347749": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3400_346206_347749",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3400_346206_347749",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_352507_353983": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_352507_353983",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_352507_353983",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_353984_357369": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_353984_357369",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_353984_357369",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_357385_358520": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_357385_358520",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_357385_358520",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_358525_362596": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_358525_362596",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_358525_362596",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_363333_364278": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_363333_364278",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_363333_364278",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_364289_366221": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_364289_366221",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_364289_366221",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_366235_366995": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_366235_366995",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_366235_366995",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_366997_368165": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_366997_368165",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_366997_368165",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_368167_368944": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_368167_368944",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_368167_368944",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_368945_369053": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_368945_369053",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_368945_369053",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_369057_369226": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_369057_369226",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_369057_369226",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_369229_370144": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_369229_370144",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_369229_370144",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_370198_371077": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_370198_371077",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_370198_371077",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_371092_371850": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_371092_371850",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_371092_371850",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_371906_372880": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_371906_372880",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_371906_372880",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_372890_399007": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_372890_399007",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_372890_399007",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3401_399093_399454": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3401_399093_399454",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3401_399093_399454",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3402_373661_375235": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3402_373661_375235",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3402_373661_375235",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3402_375260_377477": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3402_375260_377477",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3402_375260_377477",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3402_377489_380881": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3402_377489_380881",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3402_377489_380881",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3402_380892_384933": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3402_380892_384933",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3402_380892_384933",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3402_384954_385428": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3402_384954_385428",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3402_384954_385428",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3404_305627_321730": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3404_305627_321730",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3404_305627_321730",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3404_321801_329470": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3404_321801_329470",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3404_321801_329470",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3404_374845_377721": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3404_374845_377721",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3404_374845_377721",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3404_377745_378588": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3404_377745_378588",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3404_377745_378588",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3404_389330_396655": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3404_389330_396655",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3404_389330_396655",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3405_389111_389369": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3405_389111_389369",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3405_389111_389369",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3477_250434_252697": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3477_250434_252697",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3477_250434_252697",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_304773_306558": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_304773_306558",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_304773_306558",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_306569_307774": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_306569_307774",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_306569_307774",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_307787_308785": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_307787_308785",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_307787_308785",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_308789_310351": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_308789_310351",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_308789_310351",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_312244_314720": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_312244_314720",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_312244_314720",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_314721_317680": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_314721_317680",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_314721_317680",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_317686_319845": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_317686_319845",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_317686_319845",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_319854_320987": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_319854_320987",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_319854_320987",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_321004_322875": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_321004_322875",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_321004_322875",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_322888_323129": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_322888_323129",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_322888_323129",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_323131_324270": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_323131_324270",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_323131_324270",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_324278_324936": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_324278_324936",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_324278_324936",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_324949_325550": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_324949_325550",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_324949_325550",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_325556_326880": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_325556_326880",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_325556_326880",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_327603_328738": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_327603_328738",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_327603_328738",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_328740_329556": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_328740_329556",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_328740_329556",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_329558_329877": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_329558_329877",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_329558_329877",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_329879_330176": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_329879_330176",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_329879_330176",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_330177_330503": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_330177_330503",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_330177_330503",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_330504_333131": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_330504_333131",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_330504_333131",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_333145_338811": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_333145_338811",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_333145_338811",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_338871_343681": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_338871_343681",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_338871_343681",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3641_343691_352441": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3641_343691_352441",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3641_343691_352441",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3705_312820_313211": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3705_312820_313211",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3705_312820_313211",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_325306_327364": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_325306_327364",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_325306_327364",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_327380_328715": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_327380_328715",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_327380_328715",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_328722_329585": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_328722_329585",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_328722_329585",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_329589_330129": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_329589_330129",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_329589_330129",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_330132_331330": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_330132_331330",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_330132_331330",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_331358_333284": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_331358_333284",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_331358_333284",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_333286_336077": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_333286_336077",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_333286_336077",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_336089_338299": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_336089_338299",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_336089_338299",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_338316_342675": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_338316_342675",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_338316_342675",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_342697_352057": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_342697_352057",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_342697_352057",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_352058_353519": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_352058_353519",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_352058_353519",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_353521_357589": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_353521_357589",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_353521_357589",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_357780_362729": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_357780_362729",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_357780_362729",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_362736_365107": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_362736_365107",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_362736_365107",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_365112_368927": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_365112_368927",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_365112_368927",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_368929_370517": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_368929_370517",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_368929_370517",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_370529_373068": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_370529_373068",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_370529_373068",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_373071_374770": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_373071_374770",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_373071_374770",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_374778_377296": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_374778_377296",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_374778_377296",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_377297_378412": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_377297_378412",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_377297_378412",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_378413_380089": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_378413_380089",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_378413_380089",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_380090_381352": {
+ "contract_hash": "588d73e407267a306811d3e9430f4886eae6f1990f6550797f4f656e7e024b08",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_380090_381352",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_380090_381352",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_381367_384922": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_381367_384922",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_381367_384922",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_3777_384931_386178": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_3777_384931_386178",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_3777_384931_386178",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_4053_368961_369296": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_4053_368961_369296",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_4053_368961_369296",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_4053_369297_371773": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_4053_369297_371773",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_4053_369297_371773",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "task_4053_371782_373846": {
+ "contract_hash": "4e3d03912d60961250fe6b3fa05f2c2bfec21f7a0b47697196a0bad9fb4e99fd",
+ "contract_version": 1,
+ "deployment_profile_hash": "24f2a32a40f1447cf616f30ed00baab01e20e515a48f64d07c38240501de2fc1",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "task_4053_371782_373846",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "task_4053_371782_373846",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 71
+ },
+ "toto": {
+ "contract_hash": "b8417f0629bb0da34987a438409ecba9c32d27bd6aeb542812829c5d3714d17c",
+ "contract_version": 1,
+ "deployment_profile_hash": "4df1861c7e2704be5fd8a2295be9d1d843cc7d6f2984dcec6ed1089ed248c06e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "toto",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "toto",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 7
+ },
+ "ucsd_kitchen_dataset_converted_externally_to_rlds": {
+ "contract_hash": "8169713d4744fbb518293523b09eaf01a60bafba2286eee260d1021856646190",
+ "contract_version": 1,
+ "deployment_profile_hash": "fea43058a9b0ed05a34475afa9c710ae2f8e136483fc36b5c1aa14ab85591fb2",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "ucsd_kitchen_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "ucsd_kitchen_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ },
+ "ucsd_pick_and_place_dataset_converted_externally_to_rlds": {
+ "contract_hash": "b8417f0629bb0da34987a438409ecba9c32d27bd6aeb542812829c5d3714d17c",
+ "contract_version": 1,
+ "deployment_profile_hash": "d7ceb8dad0767b041e7f47546f4eb2ac85d241144a969d4b58bf2feb8339a272",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "ucsd_pick_and_place_dataset_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "ucsd_pick_and_place_dataset_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 7
+ },
+ "usc_cloth_sim_converted_externally_to_rlds": {
+ "contract_hash": "59704c11b4f9b612e75f68fac891e4dca743d52d7a946d6d64db287c7b620633",
+ "contract_version": 1,
+ "deployment_profile_hash": "843814d9dc62d35a6f45a5de5ff65280e06998b84675d70c4bac8cecddc3a8bd",
+ "mode": "none",
+ "normalization_identities": [
+ {
+ "normalization_scope": "usc_cloth_sim_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "usc_cloth_sim_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 0
+ },
+ "utaustin_mutex": {
+ "contract_hash": "7fff7ce8cdbc9fd01bd3390b8e13ac1a8584442cf295428461271987432786bb",
+ "contract_version": 1,
+ "deployment_profile_hash": "346a3c089582881eeef2f0aaef8c4dfb77ccfd573e8ddf4d57d70ce83cd2c695",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "utaustin_mutex",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "utaustin_mutex",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 8
+ },
+ "utokyo_pr2_opening_fridge_converted_externally_to_rlds": {
+ "contract_hash": "b8417f0629bb0da34987a438409ecba9c32d27bd6aeb542812829c5d3714d17c",
+ "contract_version": 1,
+ "deployment_profile_hash": "ff8051c4413082c6e787427540131a60644642f6bbc48276a9c13d5839687c3e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "utokyo_pr2_opening_fridge_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "utokyo_pr2_opening_fridge_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 7
+ },
+ "utokyo_pr2_tabletop_manipulation_converted_externally_to_rlds": {
+ "contract_hash": "b8417f0629bb0da34987a438409ecba9c32d27bd6aeb542812829c5d3714d17c",
+ "contract_version": 1,
+ "deployment_profile_hash": "ff8051c4413082c6e787427540131a60644642f6bbc48276a9c13d5839687c3e",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "utokyo_pr2_tabletop_manipulation_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "utokyo_pr2_tabletop_manipulation_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 7
+ },
+ "utokyo_saytap_converted_externally_to_rlds": {
+ "contract_hash": "f05d9c3b348190a532477ad0e2067863155c07cc6aed37ec87e931b8f8848d05",
+ "contract_version": 1,
+ "deployment_profile_hash": "dda65400bbac04133e866074f2db29e9779c58011d4e319ed75346b0c2c70c51",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "utokyo_saytap_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "utokyo_saytap_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 68
+ },
+ "utokyo_xarm_bimanual_converted_externally_to_rlds": {
+ "contract_hash": "9edd6def9ed3cb4c1397cf7a3af07ba8cf7a36254517be455911ff78150b4e28",
+ "contract_version": 1,
+ "deployment_profile_hash": "15ba90a8f724ff66ff7f0cd519536f40711c6530855d170656c5b82d5697aea8",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "utokyo_xarm_bimanual_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "utokyo_xarm_bimanual_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 12
+ },
+ "utokyo_xarm_pick_and_place_converted_externally_to_rlds": {
+ "contract_hash": "845faa9f343fa104e080a14cd408c3db4f8132dde8abfb92957a9cfe4cc02285",
+ "contract_version": 1,
+ "deployment_profile_hash": "f450651d7c53d7c097beccc5e1023808e034afbd6cd27bd0c76759f65a38ec4b",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "utokyo_xarm_pick_and_place_converted_externally_to_rlds",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "utokyo_xarm_pick_and_place_converted_externally_to_rlds",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 20
+ },
+ "viola": {
+ "contract_hash": "6c8e6005e22bae778a04af35ebcb3ff4c705b6ae4a7bfacd849c1daca01ec282",
+ "contract_version": 1,
+ "deployment_profile_hash": "d10c8a485c131e1c875f692692c3f1f852c9829b3bc4d33152634806508d0c02",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "viola",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "viola",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 8
+ },
+ "xdof_abc_130k": {
+ "contract_hash": "8a906c49a4c4389cf82825146b2a881c5ea5f9b6073c9a356feda6b95cbc21c8",
+ "contract_version": 1,
+ "deployment_profile_hash": "517d06968e576d660289cb70ed5e4a9e43d29fa39793c76bdd115ed3f4a757ed",
+ "mode": "components",
+ "normalization_identities": [
+ {
+ "normalization_scope": "xdof_abc_130k_fps15",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "xdof_abc_130k_fps15",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "xdof_abc_130k_fps30",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "xdof_abc_130k_fps30",
+ "objective": "Flow"
+ },
+ {
+ "normalization_scope": "xdof_abc_130k_fps60",
+ "objective": "FAST"
+ },
+ {
+ "normalization_scope": "xdof_abc_130k_fps60",
+ "objective": "Flow"
+ }
+ ],
+ "target_dim": 14
+ }
+ },
+ "policy_state_contract_version": 1,
+ "robotics_config_sha256": "c757b7778ffd808bfb30a02ecb0b16f2845f71718839cc803a30ac08f2484656",
+ "schema_version": 5,
+ "training_dataset_expression_sha256": "06b7904f7b13799118008985e195413635f7dc2a5ca95832b48aebe949a26c77"
+}
diff --git a/policy_state_identity.safetensors b/policy_state_identity.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..5618367f039971db6e9d532d70e97788483f9599
--- /dev/null
+++ b/policy_state_identity.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:865c8093042fb77c279c877413fc07bd4409e57ef45cac41cf30d87d60e4129c
+size 260
diff --git a/processing_isaac05.py b/processing_isaac05.py
new file mode 100644
index 0000000000000000000000000000000000000000..6531ce6d4f2019e93a1df28e8507cbfc22d78a1a
--- /dev/null
+++ b/processing_isaac05.py
@@ -0,0 +1,122 @@
+"""Portable Isaac-0.5 processor built on checkpoint-native Qwen3-VL assets."""
+
+from __future__ import annotations
+
+import math
+from typing import Any
+
+import torch
+from transformers import BatchFeature, Qwen3VLProcessor
+
+from .tensor_stream import ALL_TYPES, Event, TensorStream, TextType, VectorType, VisionType, create_stream
+
+
+class Isaac05Processor(Qwen3VLProcessor):
+ """Produce native Qwen inputs plus PR #5 TensorStream inputs for Isaac-0.5."""
+
+ def __call__(
+ self,
+ images: Any | None = None,
+ text: str | list[str] | list[list[str]] | None = None,
+ videos: Any | None = None,
+ **kwargs: Any,
+ ) -> BatchFeature:
+ vectors = kwargs.pop("vectors", None)
+ features = super().__call__(images=images, text=text, videos=videos, **kwargs)
+ features["tensor_stream"] = self._build_tensor_stream(features, vectors=vectors)
+ return features
+
+ def _build_tensor_stream(
+ self,
+ features: BatchFeature,
+ *,
+ vectors: torch.Tensor | None,
+ ) -> TensorStream:
+ input_ids = features["input_ids"]
+ if not isinstance(input_ids, torch.Tensor):
+ input_ids = torch.as_tensor(input_ids, dtype=torch.long)
+ if input_ids.ndim != 2 or input_ids.shape[0] != 1:
+ raise ValueError("Isaac05Processor TensorStream output currently requires batch_size=1.")
+
+ token_ids = input_ids[0]
+ pixel_values = features.get("pixel_values")
+ image_grid_thw = features.get("image_grid_thw")
+ if pixel_values is not None and not isinstance(pixel_values, torch.Tensor):
+ pixel_values = torch.as_tensor(pixel_values)
+ if image_grid_thw is not None and not isinstance(image_grid_thw, torch.Tensor):
+ image_grid_thw = torch.as_tensor(image_grid_thw, dtype=torch.long)
+
+ events: list[Event] = []
+ token_start = 0
+ patch_start = 0
+ image_index = 0
+ image_token_id = int(self.tokenizer.convert_tokens_to_ids("<|image_pad|>"))
+ merge_size = int(self.image_processor.merge_size)
+
+ while token_start < token_ids.numel():
+ image_positions = torch.nonzero(token_ids[token_start:] == image_token_id, as_tuple=False)
+ if image_positions.numel() == 0:
+ self._append_text_event(events, token_ids[token_start:])
+ break
+
+ image_start = token_start + int(image_positions[0, 0])
+ self._append_text_event(events, token_ids[token_start:image_start])
+ if pixel_values is None or image_grid_thw is None or image_index >= image_grid_thw.shape[0]:
+ raise ValueError("Isaac05Processor image tokens require matching pixel_values and image_grid_thw.")
+
+ grid = image_grid_thw[image_index].to(dtype=torch.long)
+ temporal, height, width = (int(value) for value in grid.tolist())
+ real_patch_count = temporal * height * width
+ if height % merge_size or width % merge_size:
+ raise ValueError("Isaac05Processor image grid is not divisible by merge_size.")
+ virtual_dims = [temporal, height // merge_size, width // merge_size]
+ virtual_token_count = math.prod(virtual_dims)
+ image_end = image_start + virtual_token_count
+ if not torch.all(token_ids[image_start:image_end] == image_token_id):
+ raise ValueError("Isaac05Processor image-token run does not match image_grid_thw.")
+
+ events.append(
+ Event(
+ data=pixel_values[patch_start : patch_start + real_patch_count],
+ time=(float(image_index), float(image_index)),
+ type=VisionType.I,
+ dims_virtual=virtual_dims,
+ dims_real=[temporal, height, width],
+ idx_range=(0, virtual_token_count),
+ )
+ )
+ patch_start += real_patch_count
+ image_index += 1
+ token_start = image_end
+
+ if pixel_values is not None and patch_start != pixel_values.shape[0]:
+ raise ValueError("Isaac05Processor did not consume every image patch.")
+ if image_grid_thw is not None and image_index != image_grid_thw.shape[0]:
+ raise ValueError("Isaac05Processor did not consume every image grid.")
+
+ if vectors is not None:
+ vector_rows = vectors.reshape(-1, vectors.shape[-1]).to(dtype=torch.float32)
+ events.append(
+ Event(
+ data=vector_rows,
+ time=(float(len(events)), float(len(events))),
+ type=VectorType.vector,
+ dims_virtual=[vector_rows.shape[0]],
+ dims_real=[vector_rows.shape[0]],
+ idx_range=(0, vector_rows.shape[0]),
+ )
+ )
+
+ return TensorStream([create_stream(events, ALL_TYPES, schedule=False)])
+
+ @staticmethod
+ def _append_text_event(events: list[Event], token_ids: torch.Tensor) -> None:
+ if token_ids.numel() == 0:
+ return
+ events.append(
+ Event.from_text_tokens(
+ token_ids,
+ time=(float(len(events)), float(len(events))),
+ type=TextType.text,
+ )
+ )
diff --git a/processor_config.json b/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..2fd04a215da9ee8d6b2d1f712ab3be0c6eb8b7d7
--- /dev/null
+++ b/processor_config.json
@@ -0,0 +1,66 @@
+{
+ "auto_map": {
+ "AutoProcessor": "processing_isaac05.Isaac05Processor"
+ },
+ "image_processor": {
+ "data_format": "channels_first",
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessorFast",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Isaac05Processor",
+ "video_processor": {
+ "data_format": "channels_first",
+ "default_to_square": true,
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/rtc.py b/rtc.py
new file mode 100644
index 0000000000000000000000000000000000000000..078558469d6d680a0c2e57d0ee21db9649b15889
--- /dev/null
+++ b/rtc.py
@@ -0,0 +1,302 @@
+"""Import-light runtime contracts for real-time chunking (RTC)."""
+
+from __future__ import annotations
+
+from collections.abc import Callable, Sequence
+from dataclasses import dataclass
+
+import torch
+
+
+def rtc_is_enabled(*, max_delay_steps: int, probability: float | None) -> bool:
+ """Return whether training can produce a non-empty RTC prefix."""
+ return int(max_delay_steps) > 0 and probability != 0.0
+
+
+def effective_rtc_max_prefix_steps(
+ *,
+ max_delay_steps: int,
+ probability: float | None,
+ action_horizon: int,
+) -> int:
+ """Return the largest prefix length in the RTC training support."""
+ max_delay_steps = int(max_delay_steps)
+ action_horizon = int(action_horizon)
+ if max_delay_steps < 0:
+ raise ValueError(f"max_delay_steps must be >= 0; got {max_delay_steps}.")
+ if probability is not None and not 0.0 <= float(probability) <= 1.0:
+ raise ValueError(f"probability must be None or in [0, 1]; got {probability}.")
+ if action_horizon < 1:
+ raise ValueError(f"action_horizon must be >= 1; got {action_horizon}.")
+ if not rtc_is_enabled(max_delay_steps=max_delay_steps, probability=probability):
+ return 0
+ return min(max_delay_steps, action_horizon - 1)
+
+
+DIT_ACTION_EXPERT_CONFIG_SCHEMA_VERSION = 1
+DIT_ACTION_EXPERT_CONFIG_V1_FIELDS = (
+ "action_dim",
+ "action_horizon",
+ "num_layers",
+ "hidden_dim",
+ "num_heads",
+ "mlp_ratio",
+ "num_inference_steps",
+ "timestep_sampling_alpha",
+ "timestep_sampling_beta",
+ "timestep_sampling_scale",
+ "timestep_sampling_offset",
+ "train_samples_per_chunk",
+ "timestep_embed_dim",
+ "rtc_max_delay_steps",
+ "rtc_probability",
+ "rtc_delay_sampling",
+ "rtc_poisson_mean",
+ "mask_padded_action_rows",
+ "drop_action_dim_overflow",
+ "ffn_multiple_of",
+ "qk_norm",
+ "qk_norm_eps",
+ "rope",
+ "context_layer_norm",
+ "causal_attn",
+ "k_batched_cross_attn",
+ "k_batched_cross_attn_backend",
+)
+
+
+@dataclass(frozen=True, eq=False)
+class ResolvedRTCActionPrefix:
+ """Validated RTC prefix geometry shared by native and HF sampling."""
+
+ source_dim: int | None
+ output_dim: int
+ lengths: torch.Tensor | None
+ max_length: int
+
+
+@dataclass(eq=False)
+class ActionExpertStepModulation:
+ """Precomputed per-row AdaLN values for one action-expert step."""
+
+ conditioning: torch.Tensor
+ block_modulations: Sequence[tuple[torch.Tensor, ...]]
+ final_modulation: tuple[torch.Tensor, torch.Tensor]
+
+
+def prepare_rtc_conditioning(
+ base_timesteps: torch.Tensor,
+ prefix_mask: torch.Tensor,
+ *,
+ time_conditioning: Callable[[torch.Tensor], torch.Tensor],
+) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]:
+ """Build compact suffix/prefix conditioning for checkpointed DiT blocks.
+
+ RTC has a sampled suffix timestep per chunk and the fixed clean timestep 1
+ for prefix rows. Blocks project these two values inside their activation-
+ checkpointed forward, then select them per row.
+ """
+ if base_timesteps.dim() != 1:
+ raise ValueError(f"base_timesteps must have shape [B]; got {tuple(base_timesteps.shape)}.")
+ if prefix_mask.dim() != 2 or prefix_mask.shape[0] != base_timesteps.shape[0]:
+ raise ValueError(
+ f"prefix_mask must have shape [B,H] with B={base_timesteps.shape[0]}; got {tuple(prefix_mask.shape)}."
+ )
+ suffix_conditioning = time_conditioning(base_timesteps)
+ # The clean RTC prefix always uses flow time 1, independent of the chunk or
+ # flow draw. Compute it once; block projections broadcast this single row.
+ prefix_conditioning = time_conditioning(torch.ones(1, device=base_timesteps.device, dtype=base_timesteps.dtype))
+ row_mask = prefix_mask.to(device=base_timesteps.device, dtype=torch.bool).unsqueeze(-1)
+ return suffix_conditioning, prefix_conditioning, row_mask
+
+
+def project_rtc_modulation(
+ suffix_conditioning: torch.Tensor,
+ prefix_conditioning: torch.Tensor,
+ prefix_mask: torch.Tensor,
+ *,
+ modulation: Callable[[torch.Tensor], torch.Tensor],
+ chunks: int,
+) -> tuple[torch.Tensor, ...]:
+ """Project two compact RTC values and select the result per action row."""
+ suffix = modulation(suffix_conditioning)
+ prefix = modulation(prefix_conditioning)
+ selected = torch.where(prefix_mask, prefix.unsqueeze(1), suffix.unsqueeze(1))
+ return tuple(selected.chunk(chunks, dim=-1))
+
+
+def validate_rtc_prefix_capability(
+ *,
+ prefix_length: int,
+ max_delay_steps: int,
+ probability: float | None,
+ action_horizon: int,
+ allow_ood: bool = False,
+) -> int:
+ """Validate a requested prefix against the RTC training support."""
+ prefix_length = int(prefix_length)
+ effective_max = effective_rtc_max_prefix_steps(
+ max_delay_steps=max_delay_steps,
+ probability=probability,
+ action_horizon=action_horizon,
+ )
+ if prefix_length < 0:
+ raise ValueError(f"prefix_length must be >= 0; got {prefix_length}.")
+ if prefix_length > effective_max and not allow_ood:
+ raise ValueError(
+ f"prefix_length={prefix_length} exceeds the maximum supported RTC prefix {effective_max} "
+ f"(configured max_delay_steps={int(max_delay_steps)}, probability={probability}, "
+ f"action_horizon={int(action_horizon)}). Pass allow_ood_rtc_prefix=True only for an explicit "
+ "out-of-distribution research experiment."
+ )
+ return effective_max
+
+
+def resolve_rtc_action_prefix(
+ *,
+ action_prefix: torch.Tensor | None,
+ prefix_length: int | Sequence[int] | torch.Tensor | None,
+ action_dim: int | None,
+ batch_size: int,
+ action_horizon: int,
+ expert_action_dim: int,
+ rtc_max_delay_steps: int,
+ rtc_probability: float | None,
+ device: torch.device,
+ allow_ood: bool = False,
+) -> ResolvedRTCActionPrefix:
+ """Validate and normalize an RTC action-prefix request."""
+ action_horizon = int(action_horizon)
+ expert_action_dim = int(expert_action_dim)
+ output_dim = expert_action_dim if action_dim is None else int(action_dim)
+ if output_dim < 1 or output_dim > expert_action_dim:
+ raise ValueError(f"action_dim must be in [1, {expert_action_dim}]; got {output_dim}.")
+
+ if action_prefix is None:
+ if isinstance(prefix_length, torch.Tensor):
+ has_prefix_length = bool(prefix_length.detach().to(device="cpu").any().item())
+ elif prefix_length is None:
+ has_prefix_length = False
+ elif isinstance(prefix_length, int):
+ has_prefix_length = prefix_length != 0
+ else:
+ has_prefix_length = any(int(value) != 0 for value in prefix_length)
+ if has_prefix_length:
+ raise ValueError("action_prefix is required when prefix_length is non-zero.")
+ return ResolvedRTCActionPrefix(None, output_dim, None, 0)
+
+ if action_prefix.dim() != 3 or action_prefix.shape[0] != batch_size:
+ raise ValueError(
+ f"action_prefix must have shape [B, P, D] with B={batch_size}; got {tuple(action_prefix.shape)}."
+ )
+ source_dim = int(action_prefix.shape[2])
+ if source_dim < 1 or source_dim > expert_action_dim:
+ raise ValueError(f"action_prefix last dim must be in [1, {expert_action_dim}]; got {source_dim}.")
+
+ if prefix_length is None:
+ lengths = torch.full((batch_size,), action_prefix.shape[1], device=device, dtype=torch.long)
+ elif isinstance(prefix_length, torch.Tensor):
+ lengths = prefix_length.to(device=device, dtype=torch.long)
+ if lengths.dim() == 0:
+ lengths = lengths.expand(batch_size)
+ elif tuple(lengths.shape) != (batch_size,):
+ raise ValueError(f"prefix_length tensor must have shape [] or [{batch_size}]; got {tuple(lengths.shape)}.")
+ elif isinstance(prefix_length, int):
+ lengths = torch.full((batch_size,), prefix_length, device=device, dtype=torch.long)
+ else:
+ lengths = torch.as_tensor(list(prefix_length), device=device, dtype=torch.long)
+ if tuple(lengths.shape) != (batch_size,):
+ raise ValueError(f"prefix_length sequence must have length {batch_size}; got {tuple(lengths.shape)}.")
+
+ max_allowed = action_horizon - 1
+ # One host transfer for every check below: this runs per /predict and per chunk in the
+ # inference-MSE eval, so each extra `.item()` on a device tensor is a blocking sync.
+ lengths_cpu = lengths.detach().to("cpu")
+ if bool(((lengths_cpu < 0) | (lengths_cpu > max_allowed)).any().item()):
+ raise ValueError(
+ f"prefix_length values must be in [0, {max_allowed}] so RTC leaves at least one model-generated "
+ f"suffix row; got {lengths_cpu.tolist()}."
+ )
+ max_length = int(lengths_cpu.max().item()) if lengths_cpu.numel() else 0
+ validate_rtc_prefix_capability(
+ prefix_length=max_length,
+ max_delay_steps=rtc_max_delay_steps,
+ probability=rtc_probability,
+ action_horizon=action_horizon,
+ allow_ood=allow_ood,
+ )
+ if action_prefix.shape[1] < max_length:
+ raise ValueError(f"action_prefix has only {action_prefix.shape[1]} rows but max prefix_length={max_length}.")
+ if max_length > 0 and action_dim is None and source_dim != expert_action_dim:
+ raise ValueError(
+ "action_dim is required when action_prefix is narrower than the expert action width; "
+ f"got prefix dim {source_dim} and expert width {expert_action_dim}."
+ )
+ if max_length > 0 and source_dim not in (output_dim, expert_action_dim):
+ raise ValueError(
+ "action_prefix last dim must match action_dim or the expert action width; "
+ f"got prefix dim {source_dim}, action_dim {output_dim}, expert width {expert_action_dim}."
+ )
+ return ResolvedRTCActionPrefix(source_dim, output_dim, lengths, max_length)
+
+
+def materialize_rtc_action_prefix(
+ resolved: ResolvedRTCActionPrefix,
+ action_prefix: torch.Tensor | None,
+ *,
+ batch_size: int,
+ action_horizon: int,
+ expert_action_dim: int,
+ device: torch.device,
+ dtype: torch.dtype,
+ dim_mask: torch.Tensor | None,
+) -> tuple[torch.Tensor | None, torch.Tensor | None]:
+ """Materialize the fixed prefix values and their row mask."""
+ if action_prefix is None or resolved.max_length == 0:
+ return None, None
+ assert resolved.lengths is not None
+ assert resolved.source_dim is not None
+ prefix_tensor = torch.zeros(batch_size, action_horizon, expert_action_dim, dtype=dtype, device=device)
+ prefix_tensor[:, : resolved.max_length, : resolved.source_dim] = action_prefix[:, : resolved.max_length].to(
+ device=device,
+ dtype=dtype,
+ )
+ if dim_mask is not None:
+ prefix_tensor = prefix_tensor * dim_mask
+ prefix_mask = torch.arange(action_horizon, device=device).view(1, action_horizon, 1) < resolved.lengths.view(
+ batch_size,
+ 1,
+ 1,
+ )
+ return prefix_tensor, prefix_mask
+
+
+def integrate_rtc_euler(
+ initial_state: torch.Tensor,
+ *,
+ num_steps: int,
+ velocity_fn: Callable[[torch.Tensor, float], torch.Tensor],
+ prefix_tensor: torch.Tensor | None,
+ prefix_mask: torch.Tensor | None,
+ dim_mask: torch.Tensor | None,
+) -> torch.Tensor:
+ """Integrate a flow velocity while pinning an optional RTC prefix."""
+
+ def apply_masks(state: torch.Tensor) -> torch.Tensor:
+ if dim_mask is not None:
+ state = state * dim_mask
+ if prefix_mask is not None and prefix_tensor is not None:
+ state = torch.where(prefix_mask, prefix_tensor, state)
+ return state
+
+ state = apply_masks(initial_state)
+ dt = 1.0 / num_steps
+ for step in range(num_steps):
+ flow_time = step / num_steps
+ velocity = velocity_fn(state, flow_time)
+ if dim_mask is not None:
+ velocity = velocity * dim_mask
+ if prefix_mask is not None:
+ velocity = torch.where(prefix_mask, torch.zeros_like(velocity), velocity)
+ state = apply_masks(state + dt * velocity)
+ return state
diff --git a/tensor_stream.py b/tensor_stream.py
new file mode 100644
index 0000000000000000000000000000000000000000..370edb2851bbdd474a6408dea63265f1c11cd198
--- /dev/null
+++ b/tensor_stream.py
@@ -0,0 +1,945 @@
+# ruff: noqa
+from __future__ import annotations
+
+import heapq
+import math
+from collections import defaultdict
+from collections.abc import Callable, Hashable, Iterable
+from dataclasses import dataclass, field, fields, replace
+from enum import Enum
+from typing import (
+ Any,
+ TypeAlias,
+ TypeVar,
+)
+
+import torch
+from torch.profiler import record_function
+
+
+class ModalityType(Enum):
+ """
+ Base class for modality-type enumerations.
+ Each derived class (VisionType, AudioType, etc.) holds
+ an integer value that identifies a specific modality.
+
+ Example usage:
+ If you have an object `my_event` of class `Event`,
+ you might write:
+ if my_event.type == AudioType.waveform:
+ # process an audio waveform
+
+ The methods below implement ordering and hashing
+ based on the integer `.value` of each enum member.
+ """
+
+ @property
+ def modality(self):
+ # AudioType.spectrogram.modality = AudioType
+ # TODO: AudioType.modality = AudioType
+ return self.__class__
+
+ def __lt__(self, other):
+ if isinstance(other, ModalityType):
+ return self.value < other.value
+ raise NotImplementedError()
+
+ def __eq__(self, other):
+ if isinstance(other, ModalityType):
+ return self.value == other.value
+ raise NotImplementedError()
+
+ def __hash__(self):
+ return hash(self.value)
+
+
+# NOTE: modality types need to be unique
+class VisionType(ModalityType):
+ """
+ Enum for vision modalities such as video frames.
+ Typically used in video processing or image sequences.
+
+ Members:
+ I: An I-frame in a video (intra-coded, more complete data).
+ P: A P-frame in a video (predicted frame, partial data).
+ """
+
+ I = 0 # noqa: E741
+ P = 1
+
+
+class AudioType(ModalityType):
+ """
+ Enum for audio-related modalities.
+
+ Members:
+ waveform: Raw time-domain audio samples.
+ spectrogram: Frequency-domain representation of audio.
+ encodec: Some compressed audio representation (e.g. EnCodec).
+ """
+
+ waveform = 2
+ spectrogram = 3
+ encodec = 4
+
+
+class SyntheticType(ModalityType):
+ """
+ Enum for "synthetic" or derived modalities, such as
+ automatically generated annotations.
+
+ Members:
+ audio_transcript: Text transcript derived from audio.
+ caption: Caption derived from an image/video.
+ segmentation: (e.g.) semantic or instance segmentation map.
+ """
+
+ audio_transcript = 5
+ caption = 6
+ segmentation = 7
+
+
+class TextType(ModalityType):
+ """
+ Enum for text or text-like tokens (e.g. subtitles, timestamps, etc.).
+
+ Members:
+ text: Actual textual tokens.
+ timestamp: Special tokens representing time boundaries or intervals.
+ padding: Padding tokens, often used in NLP or other sequence tasks.
+ """
+
+ text = 8
+ timestamp = 9
+ padding = 10
+ eval = 11
+ control = 12
+ action = 14
+ action_c = 15
+
+
+FLOW_ACTION_TEXT_TYPE = TextType.action_c
+
+
+# NOTE: modality types need to be unique
+class VectorType(ModalityType):
+ """
+ Enum for vector-valued modalities (e.g. state vectors).
+ """
+
+ vector = 13
+
+
+# maps idx -> type (sorted by value to maintain ALL_TYPES[t.value] == t invariant)
+ALL_TYPES = sorted(
+ [
+ tp
+ for types in [
+ list(VisionType),
+ list(AudioType),
+ list(SyntheticType),
+ list(TextType),
+ list(VectorType),
+ ]
+ for tp in types
+ ],
+ key=lambda t: t.value,
+)
+assert all(ALL_TYPES[t.value] == t for t in ALL_TYPES), "ALL_TYPES must preserve enum value -> type lookup"
+
+# Pre-computed set for hot-path dtype dispatch in TensorStream.to().
+_TEXT_OR_SYNTHETIC_TYPES: frozenset[ModalityType] = frozenset((*TextType, *SyntheticType))
+
+
+def _prod_dims(dims: list[int]) -> int:
+ total = 1
+ for dim in dims:
+ total *= dim
+ return total
+
+
+_LONG_TOKEN_MODALITIES = frozenset({TextType, SyntheticType})
+_BULK_LONG_TRANSFER_MIN_TENSORS = 4
+
+
+# @dataclass
+@dataclass(slots=True)
+class Event:
+ """
+ Represents a single data occurrence (with a specific type, time interval, and data payload).
+
+ Attributes:
+ data (Any): The actual data payload (e.g. a torch.Tensor, a string, etc.).
+ type (ModalityType): The modality type of the data (e.g., VisionType.I).
+ time (Tuple[float, float]): (start_time, end_time) indicating when this Event occurs.
+ role (Optional[str]): The role associated with this event (e.g., "user", "agent", "system").
+ If None, the event is always included in loss calculation.
+
+ Example usage:
+ evt = Event(data=torch.randn(1, 16000), # e.g. 1-second audio waveform
+ type=AudioType.waveform,
+ time=(0.0, 1.0),
+ role="user")
+ """
+
+ # Descriptors
+ data: Any
+ time: tuple[float, float]
+ type: ModalityType
+ role: str | None = None
+
+ # Structure
+ dims_virtual: list[int] | None = None # virtual/processed dimensions (e.g., pixel-shuffled)
+ dims_real: list[int] | None = None # real/actual tensor dimensions
+ idx_range: tuple[int, int] | None = None
+
+ # Misc Tags (data source, shard idx, etc.)
+ tags: dict = field(default_factory=dict)
+
+ def dims(self, virtual: bool = True) -> list[int] | None:
+ """
+ Get the dimensions of this event.
+
+ Args:
+ virtual: If True (default), return virtual/processed dimensions (e.g., pixel-shuffled).
+ If False, return real/actual tensor dimensions.
+
+ Returns:
+ Dimensions list or None if not measured.
+ """
+ if virtual:
+ return self.dims_virtual
+ else:
+ return self.dims_real
+
+ @property
+ def is_measured(self):
+ return self.dims_virtual is not None
+
+ def slice_tokens(self, start: int | None = None, end: int | None = None):
+ """
+ Converts into a partial event where the only valid data is between start and end indices of the flattened data
+ """
+ assert self.is_measured
+ assert self.idx_range is not None
+ assert start is not None and end is not None
+ assert self.idx_range[0] <= start <= end <= self.idx_range[1]
+ dims = self.dims()
+ assert dims is not None
+ self.idx_range = (start or 0, end or _prod_dims(dims))
+
+ def num_tokens(self, partial=True, virtual=True) -> int:
+ if not virtual:
+ assert partial is False and isinstance(self.data, torch.Tensor)
+ dims = self.dims(virtual=False)
+ assert dims is not None
+ return _prod_dims(dims)
+ if partial:
+ assert self.idx_range is not None
+ return self.idx_range[1] - self.idx_range[0]
+ dims = self.dims()
+ assert dims is not None
+ return _prod_dims(dims)
+
+ def shallow_copy(self) -> Event:
+ return replace(
+ self,
+ dims_virtual=list(self.dims_virtual) if self.dims_virtual is not None else None,
+ dims_real=list(self.dims_real) if self.dims_real is not None else None,
+ tags=dict(self.tags),
+ )
+
+ @classmethod
+ def from_text_tokens(
+ cls,
+ tokens: torch.Tensor,
+ *,
+ time: tuple[float, float],
+ type: TextType = TextType.text,
+ role: str | None = None,
+ tags: dict | None = None,
+ ) -> Event:
+ """
+ Construct a text event from integer token ids.
+
+ Contract:
+ - tokens must be a torch.Tensor with an integer dtype.
+ - type must be a TextType variant.
+ - tokens must be 1D or 2D; 1D tensors are normalized to (n_tokens, 1).
+ """
+ if not isinstance(tokens, torch.Tensor):
+ raise TypeError("tokens must be a torch.Tensor")
+ if not isinstance(type, TextType):
+ raise ValueError("type must be a TextType")
+ if not isinstance(time, tuple) or len(time) != 2:
+ raise ValueError("time must be a tuple of (start, end)")
+
+ int_dtypes = {
+ torch.int8,
+ torch.int16,
+ torch.int32,
+ torch.int64,
+ torch.uint8,
+ }
+ for dtype_name in ("uint16", "uint32", "uint64"):
+ dtype = getattr(torch, dtype_name, None)
+ if dtype is not None:
+ int_dtypes.add(dtype)
+ if tokens.dtype not in int_dtypes:
+ raise ValueError("tokens must use an integer dtype")
+
+ if tokens.dim() == 1:
+ tokens = tokens.unsqueeze(1)
+ elif tokens.dim() == 2:
+ if tokens.shape[1] != 1:
+ raise ValueError("2D token tensors must have shape (n_tokens, 1)")
+ else:
+ raise ValueError("tokens must be 1D or 2D")
+
+ dims = list(tokens.shape)
+ idx_range = (0, math.prod(dims))
+ assert idx_range[0] <= idx_range[1]
+
+ if tags is None:
+ tags = {}
+ else:
+ tags = dict(tags)
+
+ return cls(
+ data=tokens,
+ time=time,
+ type=type,
+ role=role,
+ tags=tags,
+ dims_virtual=dims,
+ dims_real=dims,
+ idx_range=idx_range,
+ )
+
+ def __hash__(self) -> int:
+ """Hash Event based on structure, excluding data."""
+
+ def make_hashable(obj):
+ """Convert any object to hashable form."""
+ if obj is None:
+ return None
+ elif isinstance(obj, str | int | float | bool | tuple):
+ return obj
+ elif isinstance(obj, list):
+ return tuple(make_hashable(item) for item in obj) if obj else None
+ elif isinstance(obj, dict):
+ return tuple(sorted((k, make_hashable(v)) for k, v in obj.items())) if obj else None
+ elif hasattr(obj, "value"): # Enum types
+ return obj.value
+ else:
+ return str(obj) # Fallback for other types
+
+ hash_values = []
+ for fld in fields(self):
+ if fld.name == "data":
+ continue # Skip tensor data
+
+ value = getattr(self, fld.name)
+ hash_values.append(make_hashable(value))
+
+ return hash(tuple(hash_values))
+
+ def __eq__(self, other) -> bool:
+ """
+ Compares two Event objects for strict equality,
+ allowing for float tolerances in torch.Tensors (via torch.allclose).
+ """
+ if not isinstance(other, Event):
+ return False
+
+ for fld in fields(self):
+ self_value = getattr(self, fld.name)
+ other_value = getattr(other, fld.name)
+
+ if fld.name == "data":
+ # Special handling for tensor data with float tolerance
+ if isinstance(self_value, torch.Tensor) and isinstance(other_value, torch.Tensor):
+ if not torch.allclose(self_value, other_value):
+ return False
+ else:
+ if self_value != other_value:
+ return False
+ elif fld.name == "role":
+ # Special handling for role: both must be None or both must be set and equal
+ if (self_value is None) != (other_value is None):
+ return False
+ if self_value is not None and self_value != other_value:
+ return False
+ else:
+ # Standard equality for all other fields
+ if self_value != other_value:
+ return False
+
+ return True
+
+
+@dataclass
+class Stream:
+ """
+ Represents an ordered sequence of Event objects, each with
+ a specific ModalityType and a time range.
+
+ Attributes:
+ events (List[Event]): The list of Event objects in the stream.
+ priority (List[ModalityType]): A list of modality types that define
+ how we might want to reorder or prioritize events if scheduling is needed.
+
+ Example usage:
+ # Create two events of different types
+ evt1 = Event(torch.zeros((3, 224, 224)), VisionType.I, (0.0, 0.04))
+ evt2 = Event(torch.randn((16000,)), AudioType.waveform, (0.0, 1.0))
+
+ # Make a stream with a given priority
+ s = Stream(events=[evt1, evt2],
+ priority=[VisionType.I, AudioType.waveform])
+
+ print(s)
+ """
+
+ events: list[Event]
+ priority: list[ModalityType] # priority of stream ordering
+
+ def __len__(self):
+ """Returns the number of Event objects in this Stream."""
+ return len(self.events)
+
+ def __getitem__(self, key: int) -> Stream | Event:
+ return self.events[key]
+
+ def __iter__(self):
+ """
+ Yields each Event in the Stream, enabling iteration like:
+ for event in my_stream:
+ ...
+ """
+ yield from self.events
+
+ # --- after ------------------------------------------------------------
+ @record_function("Stream.map")
+ def map(
+ self,
+ func: Callable[[Event], dict[str, Any]],
+ *,
+ copy_unchanged: bool = False, # opt-in if you really need isolation
+ ) -> Stream:
+ """
+ Apply *func* to every event and return a new Stream.
+
+ *func* must return a **dict of fields that actually change**.
+ We create **one shallow copy** only when something changes;
+ unchanged events are reused directly, which is inexpensive and
+ keeps autograd graphs intact.
+ """
+ mapped: list[Event] = []
+ for ev in self.events:
+ delta = func(ev)
+ if not delta: # fast-path: nothing changes
+ mapped.append(ev if not copy_unchanged else ev.shallow_copy())
+ continue
+
+ new_ev = ev.shallow_copy() # ⚡ no tensor clone
+ for k, v in delta.items():
+ setattr(new_ev, k, v)
+ mapped.append(new_ev)
+
+ return create_stream(mapped, priority=self.priority, schedule=False)
+
+ @record_function("Stream.compact")
+ def compact(self) -> torch.Tensor:
+ assert all([(isinstance(ev.data, torch.Tensor) and ev.is_measured) for ev in self.events]), (
+ "Stream.compact only works for streams with events that have measured tensor data"
+ )
+ return torch.cat([ev.data for ev in self.events]).contiguous()
+
+ @record_function("Stream.map_compact")
+ def map_compact(self, event_tf: Callable[[Event], list[Any]]) -> torch.Tensor:
+ mapped_list = []
+ for event in self:
+ mapped_list.extend(event_tf(event))
+ tensor = torch.tensor(
+ mapped_list,
+ dtype=torch.long,
+ device=next(
+ (ev.data.device for ev in self.events if isinstance(ev.data, torch.Tensor)),
+ "cpu",
+ ),
+ ).contiguous()
+ return tensor
+
+ def flatten(self) -> Stream:
+ return self.map(lambda ev: {"data": ev.data.reshape(-1, ev.data.shape[-1])})
+
+ def shallow_copy(self) -> Stream:
+ events_copy = [ev.shallow_copy() for ev in self.events]
+ return create_stream(events=events_copy, priority=self.priority, schedule=False)
+
+ def __hash__(self) -> int:
+ """Hash Stream based on structure."""
+ return hash(
+ (
+ tuple(p.value for p in self.priority), # Convert enums to values
+ tuple(hash(event) for event in self.events), # Use Event.__hash__
+ )
+ )
+
+ def __eq__(self, other) -> bool:
+ """Compare Streams structurally."""
+ if not isinstance(other, Stream):
+ return False
+
+ return (
+ self.priority == other.priority
+ and len(self.events) == len(other.events)
+ and all(e1 == e2 for e1, e2 in zip(self.events, other.events, strict=False))
+ )
+
+
+# TODO: implement all types of cool indexing which can happen since TensorStream assuems Event.data = Tensor
+@dataclass
+class TensorStream:
+ streams: list[Stream]
+ _device: torch.device | None = None
+
+ def __post_init__(self):
+ for stream in self.streams:
+ for event in stream.events:
+ assert isinstance(event.data, torch.Tensor)
+ if self._device is None:
+ self._device = torch.device(event.data.device)
+
+ # TODO: implement non-strict compaction modes
+ @record_function("TensorStream.compact")
+ def compact(self, mode="strict") -> torch.Tensor:
+ compact_tensor_stream = torch.stack([stream.compact() for stream in self.streams]).contiguous()
+ return compact_tensor_stream
+
+ @record_function("TensorStream.map")
+ def map(self, event_tf: Callable[[Event], dict[str, Any]]) -> TensorStream:
+ mapped_streams = [stream.map(event_tf) for stream in self.streams]
+ return TensorStream(mapped_streams)
+
+ @record_function("TensorStream.map_compact")
+ def map_compact(self, event_tf: Callable[[Event], list[Any]]) -> torch.Tensor:
+ mapped_list = []
+ for stream in self.streams:
+ for event in stream:
+ mapped_list.extend(event_tf(event))
+ B, T = self.shape
+ tensor = torch.tensor(mapped_list, dtype=torch.long, device=self.device).reshape(B, T)
+ return tensor
+
+ def flat_stream(self) -> Stream:
+ if not self.streams:
+ return create_stream([], priority=[], schedule=False)
+ return create_stream(
+ [event for stream in self.streams for event in stream],
+ priority=self.streams[0].priority,
+ schedule=False,
+ )
+
+ @property
+ def device(self):
+ return self._device
+
+ def _bulk_move_long_token_events(
+ self,
+ *,
+ target_device: torch.device,
+ non_blocking: bool,
+ ) -> set[int]:
+ if target_device.type != "cuda":
+ return set()
+
+ long_token_events: list[Event] = []
+ total_numel = 0
+ for stream in self.streams:
+ for ev in stream:
+ if (
+ ev.type.modality in _LONG_TOKEN_MODALITIES
+ and isinstance(ev.data, torch.Tensor)
+ and ev.data.device.type == "cpu"
+ and ev.data.ndim == 1
+ and ev.data.is_contiguous()
+ ):
+ long_token_events.append(ev)
+ total_numel += ev.data.numel()
+
+ if len(long_token_events) < _BULK_LONG_TRANSFER_MIN_TENSORS or total_numel == 0:
+ return set()
+
+ # Many tiny token copies show up as TensorStream.to overhead in steady-state
+ # profiling. Flattening only the 1D long-token case keeps semantics unchanged
+ # while collapsing those H2D copies into one pinned transfer.
+ flat_cpu = torch.empty(total_numel, dtype=torch.long, pin_memory=True)
+ offset = 0
+ lengths: list[int] = []
+ original_shapes: list[torch.Size] = []
+ for ev in long_token_events:
+ length = ev.data.numel()
+ flat_cpu[offset : offset + length].copy_(ev.data.reshape(-1))
+ lengths.append(length)
+ original_shapes.append(ev.data.shape)
+ offset += length
+
+ flat_gpu = flat_cpu.to(device=target_device, non_blocking=non_blocking)
+
+ moved_event_ids: set[int] = set()
+ offset = 0
+ for ev, length, original_shape in zip(long_token_events, lengths, original_shapes, strict=False):
+ ev.data = flat_gpu.narrow(0, offset, length).view(original_shape)
+ moved_event_ids.add(id(ev))
+ offset += length
+
+ return moved_event_ids
+
+ @property
+ def shape(self):
+ seq_lens = [sum([ev.num_tokens() for ev in stream]) for stream in self.streams]
+ assert all([sl == seq_lens[0] for sl in seq_lens]), (
+ f"each stream must have same token count to have a shape: {seq_lens}"
+ )
+ return (len(seq_lens), seq_lens[0])
+
+ @record_function("TensorStream.to")
+ def to(
+ self,
+ device: torch.device | str,
+ dtype: torch.dtype | None = None,
+ non_blocking: bool = True,
+ ) -> TensorStream:
+ """
+ Move **all** `Event.data` tensors to *device*.
+
+ We send each tensor individually instead of the
+ flatten → unflatten round-trip:
+
+ * one async H2D copy per tensor (still overlapped when
+ `pin_memory=True` is set on the DataLoader),
+ * no extra host-side concat, no extra device allocation,
+ * `requires_grad` flags are preserved.
+
+ NOTE: textual & synthetic modalities are always cast
+ to `torch.long`; everything else keeps its original
+ dtype unless an explicit *dtype* argument is supplied.
+ """
+ target_device = torch.device(device)
+ bulk_moved_event_ids = self._bulk_move_long_token_events(
+ target_device=target_device,
+ non_blocking=non_blocking,
+ )
+
+ for stream in self.streams:
+ for ev in stream:
+ if id(ev) in bulk_moved_event_ids:
+ continue
+
+ # ------------------------------------------------------------------
+ # Decide the dtype for *this* event.
+ # ------------------------------------------------------------------
+ if ev.type.modality in _LONG_TOKEN_MODALITIES:
+ tgt_dtype = torch.long
+ else:
+ tgt_dtype = dtype or ev.data.dtype
+
+ # ------------------------------------------------------------------
+ # Perform the device / dtype move.
+ # ------------------------------------------------------------------
+ # We clone no tensor here; torch will reuse storage
+ # if `dtype` and `device` are unchanged.
+ moved = ev.data.to(
+ device=target_device,
+ dtype=tgt_dtype,
+ non_blocking=non_blocking,
+ )
+
+ if ev.data.requires_grad:
+ moved.requires_grad_(True)
+
+ ev.data = moved
+
+ # Remember where the whole TensorStream lives now.
+ self._device = target_device
+ return self
+
+ @record_function("TensorStream.pin_memory")
+ def pin_memory(self, non_blocking: bool = True) -> TensorStream:
+ """
+ Page-lock (aka *pin*) all **CPU** tensors contained in this
+ `TensorStream`. Pinned tensors make subsequent asynchronous
+ H2D copies (e.g. inside `TensorStream.to("cuda")`) faster and,
+ when used together with a `DataLoader(pin_memory=True)`,
+ enable overlap of host-to-device transfers with GPU execution.
+
+ The call is a no-op for tensors that are already on a CUDA /
+ MPS / other non-CPU device.
+
+ Parameters
+ ----------
+ non_blocking : bool, default = True
+ Forwarded to `Tensor.pin_memory()`; should almost always
+ stay *True* so later `to(device, non_blocking=True)` calls
+ can overlap.
+
+ Returns
+ -------
+ self : TensorStream
+ The same object (mutated in-place) to allow call chaining.
+ """
+ for stream in self.streams:
+ for ev in stream:
+ if ev.data.device.type == "cpu":
+ # `pin_memory()` clones only when needed
+ pinned = ev.data.pin_memory() # noqa: F841
+ # NB: pin_memory() preserves dtype/shape/grad/etc.
+ if not non_blocking:
+ # ensure the pinning work is done now
+ torch.cuda.current_stream().synchronize() # safe on CPU too
+ ev.data = pinned
+
+ # `_device` **stays** the same (still CPU) – no change needed
+ return self
+
+ def __hash__(self) -> int:
+ """Hash TensorStream based on structure."""
+ return hash(
+ (
+ tuple(hash(stream) for stream in self.streams), # Use Stream.__hash__
+ str(self._device) if self._device else None,
+ self.shape,
+ )
+ )
+
+ def __eq__(self, other) -> bool:
+ """Compare TensorStreams structurally."""
+ if not isinstance(other, TensorStream):
+ return False
+
+ return (
+ self._device == other._device
+ and self.shape == other.shape
+ and len(self.streams) == len(other.streams)
+ and all(s1 == s2 for s1, s2 in zip(self.streams, other.streams, strict=False))
+ )
+
+
+def collate_tensor_stream(
+ tensor_streams: list[TensorStream],
+) -> TensorStream:
+ return TensorStream([stream.shallow_copy() for ts in tensor_streams for stream in ts.streams])
+
+
+def _schedule_stream(stream: Stream) -> Stream:
+ """
+ Internal function that reorders (schedules) the events in a Stream
+ based on the stream's priority.
+
+ By default, this calls schedule_events(...) and reorders the events accordingly.
+ The new ordering is assigned in-place to stream.events.
+
+ Example usage (indirect):
+ new_stream = _schedule_stream(old_stream)
+ """
+ scheduled_inds = schedule_events(stream, priority=stream.priority)
+ stream.events = [stream.events[i] for i in scheduled_inds]
+ return stream
+
+
+def create_stream(events: list[Event], priority: list[ModalityType], schedule: bool = True) -> Stream:
+ """
+ Creates a new Stream with the given events and priority.
+ If 'schedule' is True, the events are reordered by calling _schedule_stream.
+
+ The events list is shallow-copied so that the returned Stream owns its
+ own events container. Without this, downstream code that appends to
+ `stream.events` would mutate the caller's list, leaking state across
+ independent operations.
+
+ Example usage:
+ evt1 = Event(torch.zeros(10), AudioType.waveform, (0.0, 1.0))
+ evt2 = Event(torch.ones(10), AudioType.waveform, (1.0, 2.0))
+ my_stream = create_stream(events=[evt1, evt2],
+ priority=[AudioType.waveform],
+ schedule=False)
+ print(my_stream)
+ """
+ stream = Stream(list(events), priority)
+ if schedule:
+ stream = _schedule_stream(stream)
+ return stream
+
+
+def merge_streams(streams: Iterable[Stream]) -> Stream:
+ """
+ Merges multiple Stream objects into one.
+ The priority of the merged stream is chosen from the longest priority list among the inputs.
+ Stream priorities must be consistent with the chosen priority.
+
+ All events are concatenated, and a new Stream is created (and scheduled).
+
+ Example usage:
+ merged = merge_streams([stream1, stream2])
+ """
+ chosen_priority = max([stream.priority for stream in streams], key=len)
+ assert all(
+ [str(stream.priority) in str([p for p in chosen_priority if p in stream.priority]) for stream in streams]
+ ), "One or more streams has a priority order that doesn't match the merged stream"
+ merged_event_list = [ev for stream in streams for ev in stream.events]
+ merged_stream = create_stream(merged_event_list, chosen_priority) # non-root stream creation
+ return merged_stream
+
+
+EventDescriptor: TypeAlias = Any
+GroupKeyT = TypeVar("GroupKeyT", bound=Hashable)
+
+
+# NOTE: actually not used now but thought it *might* be useful
+def get_stream_descriptor(
+ stream: Stream, measure_fn: Callable[[Event], EventDescriptor] = lambda ev: ev.type
+) -> set[Any]:
+ """
+ Create a set of descriptors for each Event in a Stream based on measure_fn.
+
+ measure_fn maps an Event to a descriptive key.
+ For example, if events have different data shapes, one might use:
+ measure_fn = lambda ev: ev.data.shape
+ i.e.
+ stream of VisionTypes with tensors of shapes [(1, 3, 3), (1, 3, 3), (1, 4, 4)]
+ get_stream_descriptor(stream, measure_fn=lambda t: t.shape) = {(1, 3, 3), (1, 4, 4)}
+ now we can pass this into group_streams which will split out vision sub-streams which can be bundled
+ Returns:
+ A set of descriptors representing the Events in the stream.
+
+ Example usage:
+ descriptor = get_stream_descriptor(my_stream, lambda ev: ev.type)
+ """
+ stream_descriptor = set()
+ for ev in stream.events:
+ ev_measurement = measure_fn(ev)
+ stream_descriptor.add(ev_measurement)
+ return stream_descriptor
+
+
+def group_streams(
+ stream: Stream,
+ group_fn: Callable[[Event], GroupKeyT],
+ schedule=True,
+) -> dict[GroupKeyT, Stream]:
+ """
+ Splits a single Stream into multiple sub-Streams, grouped by the output of group_fn(event).
+
+ For example, group_fn could be:
+ - lambda ev: ev.type
+ - lambda ev: ev.type.modality
+ - lambda ev: (ev.type.modality, ev.data.shape)
+
+ Returns:
+ A dictionary mapping each group key to a Stream of events belonging to that group.
+ If 'schedule' is True, each sub-Stream is scheduled via create_stream(..., schedule=True).
+
+ Example usage:
+ substreams = group_streams(my_stream, lambda ev: ev.type)
+ """
+ split_events: defaultdict[GroupKeyT, list[Event]] = defaultdict(list)
+ for event in stream:
+ split_events[group_fn(event)].append(event)
+ return {group: create_stream(events, stream.priority, schedule=schedule) for group, events in split_events.items()}
+
+
+# Define Category for clarity
+Category: TypeAlias = Any
+
+
+def schedule_events(stream: Stream, priority: list[Category]) -> list[int]:
+ """
+ Schedule events based on their start time and priority using a topological sort algorithm.
+
+ The priority list defines the ordering of categories.
+
+ This function:
+ 1. Pairs each event with its original index.
+ 2. Sorts events by start time.
+ 3. Builds a dependency graph based on overlapping events.
+ 4. Uses a heap to perform a deterministic topological sort with tie-breakers.
+
+ Raises:
+ ValueError: If a cycle is detected in the events (i.e., no valid ordering exists).
+
+ Returns:
+ List[int]: A list of original indices representing the scheduled order of events.
+ """
+ priority_index: dict[Category, int] = {category: idx for idx, category in enumerate(priority)}
+
+ # Pair each event metadata with its original index
+ events = []
+ for i, event in enumerate(stream.events):
+ events.append(
+ (
+ i,
+ event.time[0],
+ event.time[1],
+ event.type,
+ )
+ )
+
+ sorted_events = sorted(events, key=lambda e: e[1]) # sort by start time
+ num_events = len(sorted_events)
+
+ # Build dependency graph
+ graph = defaultdict(set)
+ indegree = {i: 0 for i in range(num_events)}
+
+ for i in range(num_events):
+ idx_i, start_i, end_i, category_i = sorted_events[i]
+ prio_i = priority_index[category_i]
+ for j in range(i + 1, num_events):
+ idx_j, start_j, end_j, category_j = sorted_events[j]
+ if start_j >= end_i:
+ break
+ if end_i > start_j and end_j > start_i:
+ prio_j = priority_index[category_j]
+ if prio_i < prio_j:
+ graph[i].add(j)
+ indegree[j] += 1
+ elif prio_i > prio_j:
+ graph[j].add(i)
+ indegree[i] += 1
+
+ # Use heap for deterministic tie-breakers: (start_time, priority, original_index)
+ heap = [
+ (
+ sorted_events[i][1],
+ priority_index[sorted_events[i][3]],
+ sorted_events[i][0],
+ i,
+ )
+ for i in range(num_events)
+ if indegree[i] == 0
+ ]
+ heapq.heapify(heap)
+ resolved_order = []
+
+ while heap:
+ _, _, _, u = heapq.heappop(heap)
+ resolved_order.append(u)
+ for v in graph[u]:
+ indegree[v] -= 1
+ if indegree[v] == 0:
+ heapq.heappush(
+ heap,
+ (
+ sorted_events[v][1],
+ priority_index[sorted_events[v][3]],
+ sorted_events[v][0],
+ v,
+ ),
+ )
+
+ if len(resolved_order) != num_events:
+ raise ValueError("Cycle detected in events, cannot resolve order")
+
+ return [sorted_events[i][0] for i in resolved_order]
diff --git a/tensor_stream_mrope.py b/tensor_stream_mrope.py
new file mode 100644
index 0000000000000000000000000000000000000000..f758ec6693b3b0a6f1805c85fdf349308063c48c
--- /dev/null
+++ b/tensor_stream_mrope.py
@@ -0,0 +1,50 @@
+import torch
+
+from .tensor_stream import TensorStream
+
+
+def compute_mrope_pos_tensor_common(ts: TensorStream, n_pos_dims: int = 3) -> torch.Tensor:
+ """
+ Create a (batch, T, n_pos_dims) position tensor in one sweep.
+ The first dim is the running "time" index, the rest are spatial (or 1-fillers).
+ """
+ if n_pos_dims < 1:
+ raise ValueError(f"n_pos_dims must be >= 1, got {n_pos_dims}")
+
+ bsz, seq_len = ts.shape
+ positions = torch.empty((bsz, seq_len, n_pos_dims), dtype=torch.long, device=ts.device)
+
+ for batch_idx, stream in enumerate(ts.streams): # one stream == one batch sample
+ cumulative_offset = 0
+ seq_offset = 0
+
+ for event in stream:
+ raw_dims = event.dims() or [1]
+ if len(raw_dims) > n_pos_dims:
+ raise ValueError(
+ f"event dims length ({len(raw_dims)}) exceeds n_pos_dims ({n_pos_dims}); "
+ "higher-rank MRoPE events are unsupported"
+ )
+ dims = raw_dims + [1] * (n_pos_dims - len(raw_dims))
+ if event.idx_range is None:
+ raise ValueError("TensorStream event is missing idx_range required for MRoPE positions.")
+ start, end = event.idx_range
+ token_count = end - start
+ if token_count == 0:
+ cumulative_offset += max(dims)
+ continue
+
+ token_indices = torch.arange(start, end, dtype=torch.long, device=ts.device)
+ coords = torch.empty((token_count, n_pos_dims), dtype=torch.long, device=ts.device)
+
+ stride = 1
+ for dim_idx in range(n_pos_dims - 1, -1, -1):
+ dim = dims[dim_idx]
+ coords[:, dim_idx] = cumulative_offset + (token_indices // stride) % dim
+ stride *= dim
+
+ positions[batch_idx, seq_offset : seq_offset + token_count] = coords
+ seq_offset += token_count
+ cumulative_offset += max(dims)
+
+ return positions
diff --git a/tensor_stream_utils.py b/tensor_stream_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..af2f2e6a527dbfdc78ef84dd75a23c7db1e2a908
--- /dev/null
+++ b/tensor_stream_utils.py
@@ -0,0 +1,231 @@
+"""TensorStream helpers copied from the restacked Isaac Phase-1 implementation."""
+
+from __future__ import annotations
+
+from collections.abc import Callable, Iterable
+
+import torch
+
+from .tensor_stream import (
+ FLOW_ACTION_TEXT_TYPE,
+ Event,
+ ModalityType,
+ Stream,
+ TensorStream,
+ TextType,
+ create_stream,
+)
+from .tensor_stream_mrope import compute_mrope_pos_tensor_common
+
+ACTION_CONTEXT_EXCLUDED_TYPES = frozenset({TextType.action, FLOW_ACTION_TEXT_TYPE})
+ACTION_CONTEXT_EXCLUDED_TYPE_VALUES = tuple(action_type.value for action_type in ACTION_CONTEXT_EXCLUDED_TYPES)
+ACTION_CONTEXT_PROVENANCE_KEYS = ("source_stream_name", "shard_id", "shard_sample_id")
+
+
+def _compute_event_mask_uncached(
+ tensor_stream: TensorStream,
+ tag_fn: Callable[[Event], int | None],
+ default: int = -1,
+) -> torch.Tensor:
+ batch_size, sequence_length = tensor_stream.shape
+ device = tensor_stream.device or torch.device("cpu")
+ mask = torch.full((batch_size, sequence_length), default, dtype=torch.long, device=device)
+
+ for batch_index, stream in enumerate(tensor_stream.streams):
+ sequence_offset = 0
+ for event in stream:
+ token_count = event.num_tokens()
+ if token_count == 0:
+ continue
+ label = tag_fn(event)
+ mask[batch_index, sequence_offset : sequence_offset + token_count] = default if label is None else label
+ sequence_offset += token_count
+ if sequence_offset != sequence_length:
+ raise ValueError(
+ f"TensorStream stream {batch_index} covered {sequence_offset} tokens "
+ f"while shape expects {sequence_length}."
+ )
+
+ return mask
+
+
+def compute_mrope_pos_tensor(tensor_stream: TensorStream, n_pos_dims: int = 3) -> torch.Tensor:
+ """Create ISAAC05 multidimensional rotary positions for a TensorStream."""
+ return compute_mrope_pos_tensor_common(tensor_stream, n_pos_dims=n_pos_dims)
+
+
+def modality_mask(tensor_stream: TensorStream) -> torch.Tensor:
+ """Return one modality ID per TensorStream token."""
+ return _compute_event_mask_uncached(tensor_stream, lambda event: event.type.value)
+
+
+def reconstruct_tensor_stream_from_compact_dict(
+ tensor_stream: TensorStream,
+ compact_dict: dict[ModalityType, torch.Tensor],
+) -> TensorStream:
+ """Restore per-event payloads from tensors compacted by modality."""
+ streams = []
+ for stream in tensor_stream.streams:
+ event_list = []
+ for event in stream:
+ if event.idx_range is None:
+ raise ValueError("TensorStream event is missing idx_range required for reconstruction.")
+ new_event = event.shallow_copy()
+ payload = compact_dict[event.type]
+ new_event.data = payload[event.idx_range[0] : event.idx_range[1]]
+ compact_dict[event.type] = payload[event.num_tokens(partial=False) :]
+ event_list.append(new_event)
+ streams.append(Stream(event_list, priority=stream.priority))
+ return TensorStream(streams)
+
+
+def first_event_start_indices(
+ tensor_stream: TensorStream,
+ event_type: ModalityType,
+ *,
+ fallback_start: int | None = None,
+) -> list[int]:
+ """Return first token offset for an event type in each packed stream."""
+ if fallback_start is None:
+ fallback_start = tensor_stream.shape[1]
+ starts: list[int] = []
+ for stream in tensor_stream.streams:
+ sequence_offset = 0
+ event_start = int(fallback_start)
+ for event in stream.events:
+ if int(event.type.value) == int(event_type.value):
+ event_start = sequence_offset
+ break
+ sequence_offset += event.num_tokens()
+ starts.append(event_start)
+ return starts
+
+
+def action_event_provenance_key(
+ event: Event,
+ provenance_keys: Iterable[str] = ACTION_CONTEXT_PROVENANCE_KEYS,
+) -> tuple[object, ...] | None:
+ """Return packed-document provenance used to isolate action context."""
+ tags = event.tags or {}
+ keys = tuple(provenance_keys)
+ if not any(key in tags for key in keys):
+ return None
+ return tuple(tags.get(key) for key in keys)
+
+
+def tensor_stream_token_view(tensor_stream: TensorStream) -> torch.Tensor:
+ """Return PR #5's `(batch, tokens)` integer view of event payloads."""
+
+ def to_token_view(event: Event) -> list[int]:
+ flat = event.data.sum(dim=-1).long().reshape(-1)
+ if event.idx_range is None:
+ return flat.tolist()
+ start, end = event.idx_range
+ return flat[start:end].tolist()
+
+ return tensor_stream.map_compact(to_token_view)
+
+
+def slice(tensor_stream: TensorStream, start: int, end: int) -> TensorStream:
+ """Return tokens in the half-open interval `[start, end)`."""
+ _, sequence_length = tensor_stream.shape
+ if not 0 <= start <= end <= sequence_length:
+ raise ValueError(f"slice [{start}, {end}) is out of bounds for sequence length {sequence_length}")
+
+ sliced_streams: list[Stream] = []
+ for stream in tensor_stream.streams:
+ current_index = 0
+ new_events: list[Event] = []
+ for event in stream:
+ event_length = event.num_tokens()
+ event_start, event_end = current_index, current_index + event_length
+ if event_end <= start:
+ current_index = event_end
+ continue
+ if event_start >= end:
+ break
+
+ keep_from = max(0, start - event_start)
+ keep_to = min(event_length, end - event_start)
+ part = event.shallow_copy()
+ if keep_from != 0 or keep_to != event_length:
+ if not event.is_measured or part.idx_range is None:
+ raise ValueError("TensorStream partial slice requires a measured event with idx_range.")
+ local_start = part.idx_range[0] + keep_from
+ local_end = part.idx_range[0] + keep_to
+ part.slice_tokens(local_start, local_end)
+ new_events.append(part)
+ current_index = event_end
+ sliced_streams.append(create_stream(new_events, stream.priority, schedule=False))
+ return TensorStream(sliced_streams)
+
+
+def build_action_context_mask(
+ tensor_stream: TensorStream,
+ *,
+ action_batch_indices: Iterable[int] | None = None,
+ action_start_indices: Iterable[int] | None = None,
+ action_provenance_keys: Iterable[tuple[object, ...] | None] | None = None,
+ l_model: int | None = None,
+ device: torch.device | None = None,
+) -> tuple[torch.Tensor, int]:
+ """Build PR #5 non-action prefix masks for each action query."""
+ if l_model is None:
+ l_model = tensor_stream.shape[1]
+ if device is None:
+ device = tensor_stream.device or torch.device("cpu")
+
+ def as_int_list(values: Iterable[int] | None, default: Iterable[int]) -> list[int]:
+ return list(default) if values is None else [int(value) for value in values]
+
+ batch_indices = as_int_list(action_batch_indices, range(len(tensor_stream.streams)))
+ action_starts = as_int_list(action_start_indices, [l_model] * len(batch_indices))
+ provenance_keys = (
+ list(action_provenance_keys) if action_provenance_keys is not None else [None] * len(batch_indices)
+ )
+ if not (len(batch_indices) == len(action_starts) == len(provenance_keys)):
+ raise ValueError(
+ "action_batch_indices, action_start_indices, and action_provenance_keys must have the same length"
+ )
+
+ if all(action_key is None for action_key in provenance_keys):
+ if not batch_indices:
+ return torch.zeros(0, l_model, dtype=torch.bool, device=device), 0
+ modality_ids = modality_mask(tensor_stream).to(device=device)
+ modality_width = min(l_model, modality_ids.shape[1])
+ batch_index_tensor = torch.as_tensor(batch_indices, device=device, dtype=torch.long)
+ action_start_tensor = torch.as_tensor(action_starts, device=device, dtype=torch.long)
+ position_index = torch.arange(l_model, device=device).unsqueeze(0)
+ prefix_mask = position_index < action_start_tensor.unsqueeze(1)
+ non_action_mask = torch.zeros(len(batch_indices), l_model, dtype=torch.bool, device=device)
+ action_mask = modality_ids.index_select(0, batch_index_tensor)[:, :modality_width]
+ excluded_mask = torch.zeros_like(action_mask, dtype=torch.bool)
+ for action_type_value in ACTION_CONTEXT_EXCLUDED_TYPE_VALUES:
+ excluded_mask |= action_mask == action_type_value
+ non_action_mask[:, :modality_width] = ~excluded_mask
+ return non_action_mask & prefix_mask, len(batch_indices)
+
+ context_mask = torch.zeros(len(batch_indices), l_model, dtype=torch.bool, device=device)
+ context_without_provenance = 0
+ for row_index, (batch_index, action_start, action_key) in enumerate(
+ zip(batch_indices, action_starts, provenance_keys, strict=True)
+ ):
+ if action_key is None:
+ context_without_provenance += 1
+ sequence_offset = 0
+ for event in tensor_stream.streams[batch_index].events:
+ event_start = sequence_offset
+ event_end = sequence_offset + event.num_tokens()
+ sequence_offset = event_end
+ if event_start >= action_start or event_start >= l_model:
+ break
+ if event.type in ACTION_CONTEXT_EXCLUDED_TYPES:
+ continue
+ if action_key is not None and action_event_provenance_key(event) != action_key:
+ continue
+ span_start = max(event_start, 0)
+ span_end = min(event_end, action_start, l_model)
+ if span_end > span_start:
+ context_mask[row_index, span_start:span_end] = True
+
+ return context_mask, context_without_provenance
diff --git a/tokenizer.json b/tokenizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..67741b04f23bfdb46501f748ce27865ec82eccfb
--- /dev/null
+++ b/tokenizer.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:87a7830d63fcf43bf241c3c5242e96e62dd3fdc29224ca26fed8ea333db72de4
+size 19989343
diff --git a/tokenizer_config.json b/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..907ae73e610dcf8b063f5cdd142e04f126301899
--- /dev/null
+++ b/tokenizer_config.json
@@ -0,0 +1,31 @@
+{
+ "add_prefix_space": false,
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "bos_token": null,
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "<|im_end|>",
+ "errors": "replace",
+ "image_token": "<|image_pad|>",
+ "is_local": false,
+ "model_max_length": 262144,
+ "model_specific_special_tokens": {
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "image_token": "<|image_pad|>",
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+ },
+ "pad_token": "<|endoftext|>",
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
+ "processor_class": "Qwen3VLProcessor",
+ "split_special_tokens": false,
+ "tokenizer_class": "Qwen2Tokenizer",
+ "unk_token": null,
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+}
\ No newline at end of file